From 6664758a6df2353c8f38579eec9eb6a8cf6e4e1e Mon Sep 17 00:00:00 2001 From: Z User Date: Sat, 6 Jun 2026 05:21:10 +0000 Subject: [PATCH] Initial commit --- .env | 1 + download/README.md | 1 + skills/ASR/LICENSE.txt | 21 + skills/ASR/SKILL.md | 580 +++ skills/ASR/scripts/asr.ts | 27 + skills/LLM/LICENSE.txt | 21 + skills/LLM/SKILL.md | 856 ++++ skills/LLM/scripts/chat.ts | 32 + skills/TTS/LICENSE.txt | 21 + skills/TTS/SKILL.md | 735 +++ skills/TTS/tts.ts | 25 + skills/VLM/LICENSE.txt | 21 + skills/VLM/SKILL.md | 588 +++ skills/VLM/scripts/vlm.ts | 57 + skills/agent-browser/SKILL.md | 328 ++ skills/ai-news-collectors/SKILL.md | 157 + skills/ai-news-collectors/_meta.json | 6 + .../ai-news-collectors/references/sources.md | 128 + skills/aminer-academic-search/SKILL.md | 157 + .../aminer-academic-search/scripts/aminer.py | 391 ++ skills/aminer-daily-paper/README.md | 27 + skills/aminer-daily-paper/SKILL.md | 75 + .../aminer-daily-paper/scripts/recommend.py | 193 + skills/aminer-free-academic/SKILL.md | 363 ++ skills/aminer-free-academic/evals/evals.json | 93 + .../references/api-catalog.md | 286 ++ skills/anti-pua/SKILL.md | 245 + skills/auto-target-tracker/SKILL.md | 317 ++ .../2024-02-17-radical-transparency-sales.md | 35 + ...024-02-17-raycast-spotlight-superpowers.md | 33 + ...2024-02-17-short-form-content-marketing.md | 47 + .../2024-02-17-typing-speed-benefits.md | 33 + .../2024-03-14-effective-ai-prompts.md | 55 + ...08-ai-revolutionizing-entry-level-sales.md | 43 + .../2025-11-12-why-ai-art-is-useless.md | 49 + skills/blog-writer/README.md | 2 + skills/blog-writer/SKILL.md | 158 + skills/blog-writer/_meta.json | 6 + skills/blog-writer/manage_examples.py | 90 + skills/blog-writer/style-guide.md | 160 + skills/charts/LICENSE.txt | 13 + skills/charts/SKILL.md | 427 ++ skills/charts/references/_rules.md | 49 + skills/charts/references/d3.md | 199 + skills/charts/references/echarts.md | 651 +++ skills/charts/references/matplotlib.md | 617 +++ skills/charts/references/mermaid.md | 797 +++ skills/charts/references/mindmap-css.md | 911 ++++ skills/charts/references/playwright-css.md | 801 +++ skills/charts/references/radial-grid.md | 576 +++ skills/charts/references/seaborn.md | 324 ++ skills/charts/setup.sh | 228 + skills/cheat-sheet/SKILL.md | 210 + skills/coding-agent/SKILL.md | 120 + skills/coding-agent/_meta.json | 6 + skills/coding-agent/criteria.md | 48 + skills/coding-agent/execution.md | 42 + skills/coding-agent/memory-template.md | 38 + skills/coding-agent/planning.md | 31 + skills/coding-agent/state.md | 60 + skills/coding-agent/verification.md | 39 + skills/content-strategy/SKILL.md | 181 + skills/content-strategy/_meta.json | 6 + skills/contentanalysis/ExtractWisdom/SKILL.md | 229 + .../ExtractWisdom/Workflows/Extract.md | 60 + skills/contentanalysis/SKILL.md | 14 + skills/docx/LICENSE.txt | 13 + skills/docx/SKILL.md | 201 + skills/docx/references/chart-templates.md | 386 ++ skills/docx/references/common-rules.md | 419 ++ skills/docx/references/decorations.md | 538 ++ skills/docx/references/design-system.md | 1797 +++++++ skills/docx/references/docx-js-advanced.md | 257 + skills/docx/references/docx-js-core.md | 333 ++ skills/docx/references/faq.md | 323 ++ skills/docx/references/math-formulas.md | 276 + skills/docx/references/ooxml.md | 222 + skills/docx/references/toc.md | 264 + skills/docx/routes/comment.md | 88 + skills/docx/routes/create.md | 207 + skills/docx/routes/edit.md | 115 + skills/docx/routes/format.md | 120 + skills/docx/routes/read.md | 114 + skills/docx/scenes/academic.md | 783 +++ skills/docx/scenes/contract.md | 463 ++ skills/docx/scenes/copywriting.md | 139 + skills/docx/scenes/exam.md | 698 +++ skills/docx/scenes/official-doc.md | 411 ++ skills/docx/scenes/report.md | 340 ++ skills/docx/scenes/resume.md | 534 ++ skills/docx/scripts/__init__.py | 1 + skills/docx/scripts/add_toc_placeholders.py | 749 +++ skills/docx/scripts/document.py | 1333 +++++ skills/docx/scripts/postcheck.py | 807 +++ skills/docx/scripts/templates/comments.xml | 3 + .../scripts/templates/commentsExtended.xml | 3 + .../scripts/templates/commentsExtensible.xml | 3 + skills/docx/scripts/templates/commentsIds.xml | 3 + skills/docx/scripts/templates/people.xml | 3 + skills/docx/scripts/utilities.py | 374 ++ skills/docx/setup.sh | 177 + skills/dream-interpreter/SKILL.md | 88 + .../assets/example_asset.txt | 24 + .../references/api_reference.md | 34 + .../references/interpretation-guide.md | 83 + .../references/output-schema.md | 65 + .../references/questioning-strategy.md | 62 + .../references/visual-mapping.md | 81 + skills/dream-interpreter/scripts/example.py | 19 + skills/dream-interpreter/skill.json | 7 + skills/finance/Finance_API_Doc.md | 445 ++ skills/finance/SKILL.md | 53 + skills/fullstack-dev/SKILL.md | 238 + skills/get-fortune-analysis/SKILL.md | 370 ++ skills/get-fortune-analysis/lunar_python.py | 91 + skills/gift-evaluator/SKILL.md | 83 + skills/gift-evaluator/html_tools.py | 268 + skills/image-edit/LICENSE.txt | 21 + skills/image-edit/SKILL.md | 896 ++++ skills/image-edit/scripts/image-edit.ts | 36 + skills/image-generation/LICENSE.txt | 21 + skills/image-generation/SKILL.md | 583 +++ .../scripts/image-generation.ts | 28 + skills/image-understand/LICENSE.txt | 21 + skills/image-understand/SKILL.md | 855 ++++ .../scripts/image-understand.ts | 41 + skills/interview-designer/README.md | 70 + skills/interview-designer/SKILL.md | 53 + skills/interview-designer/_meta.json | 6 + .../references/design_rationale.md | 43 + .../templates/interview_guide_template.md | 62 + skills/interview-prep/SKILL.md | 131 + .../references/answer_frameworks.md | 97 + .../interview-prep/references/behavioral.md | 94 + skills/interview-prep/references/case.md | 93 + skills/interview-prep/references/hr_round.md | 103 + .../interview-prep/references/role_finance.md | 103 + .../references/role_internet.md | 80 + skills/interview-prep/references/role_tech.md | 83 + .../references/salary_negotiation.md | 99 + skills/interview-prep/references/technical.md | 100 + .../scripts/star_story_builder.py | 178 + skills/jd-resume-tailor/SKILL.md | 127 + .../references/jd_parsing_signals.md | 79 + .../references/rewrite_principles.md | 75 + skills/jd-resume-tailor/scripts/jd_gap.py | 177 + skills/jd-resume-tailor/scripts/parse_jd.py | 189 + skills/job-intent-tracker/SKILL.md | 136 + .../references/keywords_finance.md | 78 + .../references/keywords_general.md | 45 + .../references/keywords_internet.md | 54 + .../references/keywords_tech.md | 87 + .../references/target_profile_template.md | 74 + .../scripts/init_tracker.py | 194 + .../scripts/profile_match.py | 128 + skills/market-research-reports/SKILL.md | 901 ++++ .../assets/FORMATTING_GUIDE.md | 428 ++ .../assets/market_report_template.tex | 1380 +++++ .../assets/market_research.sty | 564 +++ .../references/data_analysis_patterns.md | 548 ++ .../references/report_structure_guide.md | 999 ++++ .../references/visual_generation_guide.md | 1077 ++++ .../scripts/generate_market_visuals.py | 529 ++ skills/marketing-mode/README.md | 49 + skills/marketing-mode/SKILL.md | 693 +++ skills/marketing-mode/_meta.json | 6 + skills/marketing-mode/mode-prompt.md | 39 + skills/marketing-mode/skill.json | 51 + skills/mindfulness-meditation/SKILL.md | 65 + skills/mindfulness-meditation/_meta.json | 6 + skills/multi-search-engine/CHANGELOG.md | 15 + skills/multi-search-engine/CHANNELLOG.md | 48 + skills/multi-search-engine/SKILL.md | 78 + skills/multi-search-engine/_meta.json | 6 + skills/multi-search-engine/config.json | 14 + skills/multi-search-engine/metadata.json | 7 + .../references/international-search.md | 651 +++ skills/pdf/LICENSE.txt | 13 + skills/pdf/SKILL.md | 915 ++++ skills/pdf/briefs/academic.md | 1058 ++++ skills/pdf/briefs/creative.md | 770 +++ skills/pdf/briefs/poster.md | 702 +++ skills/pdf/briefs/process-advanced.md | 284 ++ skills/pdf/briefs/process.md | 319 ++ skills/pdf/briefs/report.md | 1659 ++++++ skills/pdf/configs/components.md | 153 + skills/pdf/configs/fonts.md | 93 + skills/pdf/configs/visual_framework.md | 263 + skills/pdf/references/resume-academic.tex | 130 + skills/pdf/references/resume-altacv.tex | 190 + skills/pdf/scripts/cover_validate.js | 367 ++ skills/pdf/scripts/design_engine.py | 2816 +++++++++++ skills/pdf/scripts/html2pdf-next.js | 754 +++ skills/pdf/scripts/html2poster.js | 256 + skills/pdf/scripts/pdf.py | 2959 +++++++++++ skills/pdf/scripts/pdf_qa.py | 901 ++++ skills/pdf/scripts/poster_validate.py | 1337 +++++ skills/pdf/scripts/setup.sh | 269 + skills/pdf/scripts/toc_validate.py | 2075 ++++++++ skills/pdf/typesetting/charts.md | 320 ++ skills/pdf/typesetting/cover-backgrounds.md | 384 ++ skills/pdf/typesetting/cover.md | 1442 ++++++ skills/pdf/typesetting/fill-engine.md | 527 ++ skills/pdf/typesetting/geometry.md | 142 + skills/pdf/typesetting/overflow.md | 630 +++ skills/pdf/typesetting/pagination.md | 367 ++ skills/pdf/typesetting/palette.md | 217 + skills/pdf/typesetting/typography.md | 20 + skills/podcast-generate/LICENSE.txt | 21 + skills/podcast-generate/SKILL.md | 198 + skills/podcast-generate/generate.ts | 661 +++ skills/podcast-generate/package.json | 30 + skills/podcast-generate/readme.md | 177 + .../podcast-generate/test_data/segments.jsonl | 3 + skills/podcast-generate/tsconfig.json | 26 + skills/ppt/.claude/settings.local.json | 20 + skills/ppt/LICENSE.txt | 13 + skills/ppt/SKILL.md | 436 ++ skills/ppt/beamer.md | 1461 ++++++ skills/ppt/components.md | 1671 +++++++ skills/ppt/data-viz-components.md | 529 ++ skills/ppt/design-system.md | 211 + skills/ppt/html2pptx.md | 394 ++ skills/ppt/ooxml.md | 427 ++ .../schemas/ISO-IEC29500-4_2016/dml-chart.xsd | 1499 ++++++ .../ISO-IEC29500-4_2016/dml-chartDrawing.xsd | 146 + .../ISO-IEC29500-4_2016/dml-diagram.xsd | 1085 ++++ .../ISO-IEC29500-4_2016/dml-lockedCanvas.xsd | 11 + .../schemas/ISO-IEC29500-4_2016/dml-main.xsd | 3081 ++++++++++++ .../ISO-IEC29500-4_2016/dml-picture.xsd | 23 + .../dml-spreadsheetDrawing.xsd | 185 + .../dml-wordprocessingDrawing.xsd | 287 ++ .../ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd | 1676 +++++++ .../shared-additionalCharacteristics.xsd | 28 + .../shared-bibliography.xsd | 144 + .../shared-commonSimpleTypes.xsd | 174 + .../shared-customXmlDataProperties.xsd | 25 + .../shared-customXmlSchemaProperties.xsd | 18 + .../shared-documentPropertiesCustom.xsd | 59 + .../shared-documentPropertiesExtended.xsd | 56 + .../shared-documentPropertiesVariantTypes.xsd | 195 + .../ISO-IEC29500-4_2016/shared-math.xsd | 582 +++ .../shared-relationshipReference.xsd | 25 + .../ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd | 4439 +++++++++++++++++ .../schemas/ISO-IEC29500-4_2016/vml-main.xsd | 570 +++ .../ISO-IEC29500-4_2016/vml-officeDrawing.xsd | 509 ++ .../vml-presentationDrawing.xsd | 12 + .../vml-spreadsheetDrawing.xsd | 108 + .../vml-wordprocessingDrawing.xsd | 96 + .../ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd | 3646 ++++++++++++++ .../ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd | 116 + .../ecma/fouth-edition/opc-contentTypes.xsd | 42 + .../ecma/fouth-edition/opc-coreProperties.xsd | 50 + .../schemas/ecma/fouth-edition/opc-digSig.xsd | 49 + .../ecma/fouth-edition/opc-relationships.xsd | 33 + skills/ppt/ooxml/schemas/mce/mc.xsd | 75 + .../ppt/ooxml/schemas/microsoft/wml-2010.xsd | 560 +++ .../ppt/ooxml/schemas/microsoft/wml-2012.xsd | 67 + .../ppt/ooxml/schemas/microsoft/wml-2018.xsd | 14 + .../ooxml/schemas/microsoft/wml-cex-2018.xsd | 20 + .../ooxml/schemas/microsoft/wml-cid-2016.xsd | 13 + .../microsoft/wml-sdtdatahash-2020.xsd | 4 + .../schemas/microsoft/wml-symex-2015.xsd | 8 + skills/ppt/ooxml/scripts/pack.py | 159 + skills/ppt/ooxml/scripts/unpack.py | 45 + skills/ppt/ooxml/scripts/validate.py | 70 + .../ppt/ooxml/scripts/validation/__init__.py | 15 + .../__pycache__/__init__.cpython-313.pyc | Bin 0 -> 487 bytes .../__pycache__/base.cpython-313.pyc | Bin 0 -> 38418 bytes .../__pycache__/docx.cpython-313.pyc | Bin 0 -> 11506 bytes .../__pycache__/pptx.cpython-313.pyc | Bin 0 -> 13472 bytes .../__pycache__/redlining.cpython-313.pyc | Bin 0 -> 11294 bytes skills/ppt/ooxml/scripts/validation/base.py | 948 ++++ skills/ppt/ooxml/scripts/validation/docx.py | 274 + skills/ppt/ooxml/scripts/validation/pptx.py | 309 ++ .../ppt/ooxml/scripts/validation/redlining.py | 279 ++ skills/ppt/references/beamer.md | 721 +++ skills/ppt/references/latex.md | 342 ++ skills/ppt/references/paper-navbar.tex | 73 + skills/ppt/references/progress-navbar.tex | 151 + .../__pycache__/inventory.cpython-313.pyc | Bin 0 -> 26855 bytes skills/ppt/scripts/html2pptx.js | 1337 +++++ skills/ppt/scripts/inventory.py | 512 ++ skills/ppt/scripts/pdf.py | 2046 ++++++++ skills/ppt/scripts/rearrange.py | 144 + skills/ppt/scripts/replace.py | 231 + skills/ppt/scripts/tectonic | Bin 0 -> 10747904 bytes skills/ppt/scripts/thumbnail.py | 352 ++ skills/ppt/setup.sh | 197 + skills/ppt/themes.md | 581 +++ skills/qingyan-research/SKILL.md | 294 ++ skills/qingyan-research/generate_html.py | 33 + skills/quiz-html/README.md | 117 + skills/quiz-html/SKILL.md | 191 + skills/quiz-html/examples/demo.html | 1349 +++++ skills/quiz-html/scripts/build_quiz_html.py | 220 + skills/quiz-html/skill.yaml | 57 + skills/quiz-html/templates/quiz_template.html | 1418 ++++++ skills/quiz-mastery/.claude/settings.json | 7 + skills/quiz-mastery/README.md | 93 + skills/quiz-mastery/SKILL.md | 212 + .../scripts/generate_from_material.py | 47 + skills/quiz-mastery/scripts/import_quiz.py | 51 + skills/quiz-mastery/scripts/run_quiz.py | 63 + skills/quiz-mastery/scripts/submit_answers.py | 48 + skills/quiz-mastery/skill.yaml | 21 + .../quiz-mastery/src/quiz_mastery/__init__.py | 3 + .../__pycache__/__init__.cpython-313.pyc | Bin 0 -> 264 bytes .../__pycache__/evaluator.cpython-313.pyc | Bin 0 -> 2634 bytes .../__pycache__/file_parser.cpython-313.pyc | Bin 0 -> 10909 bytes .../mastery_engine.cpython-313.pyc | Bin 0 -> 6235 bytes .../__pycache__/models.cpython-313.pyc | Bin 0 -> 3991 bytes .../__pycache__/planner.cpython-313.pyc | Bin 0 -> 2863 bytes .../quiz_extractor.cpython-313.pyc | Bin 0 -> 4172 bytes .../quiz_generator.cpython-313.pyc | Bin 0 -> 5096 bytes .../__pycache__/repository.cpython-313.pyc | Bin 0 -> 3016 bytes .../__pycache__/service.cpython-313.pyc | Bin 0 -> 13204 bytes .../src/quiz_mastery/evaluator.py | 78 + .../src/quiz_mastery/file_parser.py | 274 + .../src/quiz_mastery/mastery_engine.py | 149 + .../quiz-mastery/src/quiz_mastery/models.py | 82 + .../quiz-mastery/src/quiz_mastery/planner.py | 62 + .../src/quiz_mastery/quiz_extractor.py | 115 + .../src/quiz_mastery/quiz_generator.py | 128 + .../src/quiz_mastery/repository.py | 36 + .../quiz-mastery/src/quiz_mastery/service.py | 304 ++ skills/quiz-mastery/src/quiz_mastery/utils.py | 7 + skills/resume-builder/SKILL.md | 133 + .../resume-builder/references/export_guide.md | 55 + .../references/intake_questions.md | 44 + .../references/keywords/finance.txt | 50 + .../references/keywords/general.txt | 25 + .../references/keywords/internet.txt | 45 + .../references/keywords/tech.txt | 69 + .../references/star_rewrite_guide.md | 83 + .../references/templates/finance.md | 63 + .../references/templates/general.md | 55 + .../references/templates/internet.md | 50 + .../references/templates/tech.md | 53 + skills/resume-builder/scripts/ats_check.py | 269 + skills/seo-content-writer/SKILL.md | 661 +++ skills/seo-content-writer/_meta.json | 6 + .../references/content-structure-templates.md | 875 ++++ .../references/title-formulas.md | 339 ++ skills/skill-creator/LICENSE.txt | 202 + skills/skill-creator/SKILL.md | 485 ++ skills/skill-creator/agents/analyzer.md | 274 + skills/skill-creator/agents/comparator.md | 202 + skills/skill-creator/agents/grader.md | 223 + skills/skill-creator/assets/eval_review.html | 146 + .../eval-viewer/generate_review.py | 471 ++ skills/skill-creator/eval-viewer/viewer.html | 1325 +++++ skills/skill-creator/references/schemas.md | 430 ++ skills/skill-creator/scripts/__init__.py | 0 .../scripts/aggregate_benchmark.py | 401 ++ .../skill-creator/scripts/generate_report.py | 326 ++ .../scripts/improve_description.py | 236 + skills/skill-creator/scripts/package_skill.py | 136 + .../skill-creator/scripts/quick_validate.py | 103 + skills/skill-creator/scripts/run_eval.py | 310 ++ skills/skill-creator/scripts/run_loop.py | 328 ++ skills/skill-creator/scripts/utils.py | 47 + skills/skill-finder-cn/SKILL.md | 66 + skills/skill-finder-cn/_meta.json | 6 + skills/skill-finder-cn/package.json | 5 + skills/skill-finder-cn/scripts/search.sh | 15 + skills/skill-vetter/SKILL.md | 137 + skills/stock-analysis-skill/SKILL.md | 156 + skills/stock-analysis-skill/package.json | 21 + skills/stock-analysis-skill/src/analyzer.ts | 264 + .../stock-analysis-skill/src/dataFetcher.ts | 130 + skills/stock-analysis-skill/src/dividend.ts | 226 + skills/stock-analysis-skill/src/index.ts | 327 ++ .../stock-analysis-skill/src/rumorScanner.ts | 200 + skills/stock-analysis-skill/src/types.ts | 167 + skills/stock-analysis-skill/src/watchlist.ts | 292 ++ skills/stock-analysis-skill/tsconfig.json | 15 + skills/storyboard-manager/SKILL.md | 532 ++ skills/storyboard-manager/index.js | 9 + skills/storyboard-manager/package.json | 11 + .../references/character_development.md | 232 + .../references/story_structures.md | 148 + .../scripts/consistency_checker.py | 391 ++ .../scripts/timeline_tracker.py | 352 ++ skills/study-buddy/SKILL.md | 525 ++ skills/task-review/SKILL.md | 49 + skills/ui-ux-pro-max/SKILL.md | 43 + skills/ui-ux-pro-max/_meta.json | 6 + skills/ui-ux-pro-max/assets/data/charts.csv | 26 + skills/ui-ux-pro-max/assets/data/colors.csv | 97 + skills/ui-ux-pro-max/assets/data/icons.csv | 101 + skills/ui-ux-pro-max/assets/data/landing.csv | 31 + skills/ui-ux-pro-max/assets/data/products.csv | 97 + .../assets/data/react-performance.csv | 45 + .../assets/data/stacks/astro.csv | 54 + .../assets/data/stacks/flutter.csv | 53 + .../assets/data/stacks/html-tailwind.csv | 56 + .../assets/data/stacks/jetpack-compose.csv | 53 + .../assets/data/stacks/nextjs.csv | 53 + .../assets/data/stacks/nuxt-ui.csv | 51 + .../assets/data/stacks/nuxtjs.csv | 59 + .../assets/data/stacks/react-native.csv | 52 + .../assets/data/stacks/react.csv | 54 + .../assets/data/stacks/shadcn.csv | 61 + .../assets/data/stacks/svelte.csv | 54 + .../assets/data/stacks/swiftui.csv | 51 + .../ui-ux-pro-max/assets/data/stacks/vue.csv | 50 + skills/ui-ux-pro-max/assets/data/styles.csv | 68 + .../ui-ux-pro-max/assets/data/typography.csv | 58 + .../assets/data/ui-reasoning.csv | 101 + .../assets/data/ux-guidelines.csv | 100 + .../assets/data/web-interface.csv | 31 + skills/ui-ux-pro-max/data/charts.csv | 26 + skills/ui-ux-pro-max/data/colors.csv | 97 + skills/ui-ux-pro-max/data/icons.csv | 101 + skills/ui-ux-pro-max/data/landing.csv | 31 + skills/ui-ux-pro-max/data/products.csv | 97 + .../ui-ux-pro-max/data/react-performance.csv | 45 + skills/ui-ux-pro-max/data/stacks/astro.csv | 54 + skills/ui-ux-pro-max/data/stacks/flutter.csv | 53 + .../data/stacks/html-tailwind.csv | 56 + .../data/stacks/jetpack-compose.csv | 53 + skills/ui-ux-pro-max/data/stacks/nextjs.csv | 53 + skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv | 51 + skills/ui-ux-pro-max/data/stacks/nuxtjs.csv | 59 + .../data/stacks/react-native.csv | 52 + skills/ui-ux-pro-max/data/stacks/react.csv | 54 + skills/ui-ux-pro-max/data/stacks/shadcn.csv | 61 + skills/ui-ux-pro-max/data/stacks/svelte.csv | 54 + skills/ui-ux-pro-max/data/stacks/swiftui.csv | 51 + skills/ui-ux-pro-max/data/stacks/vue.csv | 50 + skills/ui-ux-pro-max/data/styles.csv | 68 + skills/ui-ux-pro-max/data/typography.csv | 58 + skills/ui-ux-pro-max/data/ui-reasoning.csv | 101 + skills/ui-ux-pro-max/data/ux-guidelines.csv | 100 + skills/ui-ux-pro-max/data/web-interface.csv | 31 + .../references/upstream-README.md | 488 ++ .../references/upstream-skill-content.md | 288 ++ skills/ui-ux-pro-max/scripts/__init__.py | 0 skills/ui-ux-pro-max/scripts/core.py | 253 + skills/ui-ux-pro-max/scripts/design_system.py | 1071 ++++ skills/ui-ux-pro-max/scripts/search.py | 111 + skills/video-generation/LICENSE.txt | 21 + skills/video-generation/SKILL.md | 1082 ++++ skills/video-generation/scripts/video.ts | 168 + skills/video-understand/LICENSE.txt | 21 + skills/video-understand/SKILL.md | 916 ++++ .../scripts/video-understand.ts | 41 + skills/visual-design-foundations/SKILL.md | 318 ++ .../references/color-systems.md | 417 ++ .../references/spacing-iconography.md | 425 ++ .../references/typography-systems.md | 432 ++ skills/web-reader/LICENSE.txt | 21 + skills/web-reader/SKILL.md | 1140 +++++ skills/web-reader/scripts/web-reader.ts | 37 + skills/web-search/LICENSE.txt | 21 + skills/web-search/SKILL.md | 912 ++++ skills/web-search/scripts/web_search.ts | 44 + skills/web-shader-extractor/SKILL.md | 145 + .../references/config-extraction.md | 50 + .../references/encoded-definitions.md | 53 + .../references/extraction-workflow.md | 61 + .../references/porting-strategy.md | 164 + .../references/shader-injection.md | 126 + .../references/shaders-com.md | 190 + .../references/tech-signatures.md | 54 + .../references/tsl-extraction.md | 41 + .../references/unicorn-studio.md | 353 ++ .../scripts/fetch-rendered-dom.mjs | 153 + .../scripts/scan-bundle.sh | 76 + skills/writing-plans/SKILL.md | 116 + skills/writing-plans/_meta.json | 6 + skills/xlsx/LICENSE.txt | 13 + skills/xlsx/SKILL.md | 230 + skills/xlsx/engines/chart-templates.md | 167 + skills/xlsx/engines/chart.md | 87 + skills/xlsx/engines/design.md | 575 +++ skills/xlsx/engines/vba-templates.md | 435 ++ skills/xlsx/quality/pipeline.md | 196 + skills/xlsx/scenes/advanced.md | 271 + skills/xlsx/scenes/analyze-recipes.md | 234 + skills/xlsx/scenes/analyze.md | 95 + skills/xlsx/scenes/convert.md | 133 + skills/xlsx/scenes/create.md | 105 + skills/xlsx/scenes/edit-patterns.md | 222 + skills/xlsx/scenes/edit.md | 195 + skills/xlsx/scenes/finance.md | 318 ++ skills/xlsx/scenes/finance_lite.md | 192 + skills/xlsx/scenes/vba.md | 298 ++ skills/xlsx/setup.sh | 136 + skills/xlsx/templates/base.py | 632 +++ skills/xlsx/templates/palettes.py | 521 ++ skills/xlsx/xlsx.py | 1299 +++++ 493 files changed, 135653 insertions(+) create mode 100644 .env create mode 100755 download/README.md create mode 100755 skills/ASR/LICENSE.txt create mode 100755 skills/ASR/SKILL.md create mode 100755 skills/ASR/scripts/asr.ts create mode 100755 skills/LLM/LICENSE.txt create mode 100755 skills/LLM/SKILL.md create mode 100755 skills/LLM/scripts/chat.ts create mode 100755 skills/TTS/LICENSE.txt create mode 100755 skills/TTS/SKILL.md create mode 100755 skills/TTS/tts.ts create mode 100755 skills/VLM/LICENSE.txt create mode 100755 skills/VLM/SKILL.md create mode 100755 skills/VLM/scripts/vlm.ts create mode 100755 skills/agent-browser/SKILL.md create mode 100755 skills/ai-news-collectors/SKILL.md create mode 100755 skills/ai-news-collectors/_meta.json create mode 100755 skills/ai-news-collectors/references/sources.md create mode 100755 skills/aminer-academic-search/SKILL.md create mode 100755 skills/aminer-academic-search/scripts/aminer.py create mode 100755 skills/aminer-daily-paper/README.md create mode 100755 skills/aminer-daily-paper/SKILL.md create mode 100755 skills/aminer-daily-paper/scripts/recommend.py create mode 100755 skills/aminer-free-academic/SKILL.md create mode 100755 skills/aminer-free-academic/evals/evals.json create mode 100755 skills/aminer-free-academic/references/api-catalog.md create mode 100755 skills/anti-pua/SKILL.md create mode 100755 skills/auto-target-tracker/SKILL.md create mode 100755 skills/blog-writer/2024-02-17-radical-transparency-sales.md create mode 100755 skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md create mode 100755 skills/blog-writer/2024-02-17-short-form-content-marketing.md create mode 100755 skills/blog-writer/2024-02-17-typing-speed-benefits.md create mode 100755 skills/blog-writer/2024-03-14-effective-ai-prompts.md create mode 100755 skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md create mode 100755 skills/blog-writer/2025-11-12-why-ai-art-is-useless.md create mode 100755 skills/blog-writer/README.md create mode 100755 skills/blog-writer/SKILL.md create mode 100755 skills/blog-writer/_meta.json create mode 100755 skills/blog-writer/manage_examples.py create mode 100755 skills/blog-writer/style-guide.md create mode 100755 skills/charts/LICENSE.txt create mode 100755 skills/charts/SKILL.md create mode 100755 skills/charts/references/_rules.md create mode 100755 skills/charts/references/d3.md create mode 100755 skills/charts/references/echarts.md create mode 100755 skills/charts/references/matplotlib.md create mode 100755 skills/charts/references/mermaid.md create mode 100755 skills/charts/references/mindmap-css.md create mode 100755 skills/charts/references/playwright-css.md create mode 100755 skills/charts/references/radial-grid.md create mode 100755 skills/charts/references/seaborn.md create mode 100755 skills/charts/setup.sh create mode 100755 skills/cheat-sheet/SKILL.md create mode 100755 skills/coding-agent/SKILL.md create mode 100755 skills/coding-agent/_meta.json create mode 100755 skills/coding-agent/criteria.md create mode 100755 skills/coding-agent/execution.md create mode 100755 skills/coding-agent/memory-template.md create mode 100755 skills/coding-agent/planning.md create mode 100755 skills/coding-agent/state.md create mode 100755 skills/coding-agent/verification.md create mode 100755 skills/content-strategy/SKILL.md create mode 100755 skills/content-strategy/_meta.json create mode 100755 skills/contentanalysis/ExtractWisdom/SKILL.md create mode 100755 skills/contentanalysis/ExtractWisdom/Workflows/Extract.md create mode 100755 skills/contentanalysis/SKILL.md create mode 100755 skills/docx/LICENSE.txt create mode 100755 skills/docx/SKILL.md create mode 100755 skills/docx/references/chart-templates.md create mode 100755 skills/docx/references/common-rules.md create mode 100755 skills/docx/references/decorations.md create mode 100755 skills/docx/references/design-system.md create mode 100755 skills/docx/references/docx-js-advanced.md create mode 100755 skills/docx/references/docx-js-core.md create mode 100755 skills/docx/references/faq.md create mode 100755 skills/docx/references/math-formulas.md create mode 100755 skills/docx/references/ooxml.md create mode 100755 skills/docx/references/toc.md create mode 100755 skills/docx/routes/comment.md create mode 100755 skills/docx/routes/create.md create mode 100755 skills/docx/routes/edit.md create mode 100755 skills/docx/routes/format.md create mode 100755 skills/docx/routes/read.md create mode 100755 skills/docx/scenes/academic.md create mode 100755 skills/docx/scenes/contract.md create mode 100755 skills/docx/scenes/copywriting.md create mode 100755 skills/docx/scenes/exam.md create mode 100755 skills/docx/scenes/official-doc.md create mode 100755 skills/docx/scenes/report.md create mode 100755 skills/docx/scenes/resume.md create mode 100755 skills/docx/scripts/__init__.py create mode 100755 skills/docx/scripts/add_toc_placeholders.py create mode 100755 skills/docx/scripts/document.py create mode 100755 skills/docx/scripts/postcheck.py create mode 100755 skills/docx/scripts/templates/comments.xml create mode 100755 skills/docx/scripts/templates/commentsExtended.xml create mode 100755 skills/docx/scripts/templates/commentsExtensible.xml create mode 100755 skills/docx/scripts/templates/commentsIds.xml create mode 100755 skills/docx/scripts/templates/people.xml create mode 100755 skills/docx/scripts/utilities.py create mode 100755 skills/docx/setup.sh create mode 100755 skills/dream-interpreter/SKILL.md create mode 100755 skills/dream-interpreter/assets/example_asset.txt create mode 100755 skills/dream-interpreter/references/api_reference.md create mode 100755 skills/dream-interpreter/references/interpretation-guide.md create mode 100755 skills/dream-interpreter/references/output-schema.md create mode 100755 skills/dream-interpreter/references/questioning-strategy.md create mode 100755 skills/dream-interpreter/references/visual-mapping.md create mode 100755 skills/dream-interpreter/scripts/example.py create mode 100755 skills/dream-interpreter/skill.json create mode 100755 skills/finance/Finance_API_Doc.md create mode 100755 skills/finance/SKILL.md create mode 100755 skills/fullstack-dev/SKILL.md create mode 100755 skills/get-fortune-analysis/SKILL.md create mode 100755 skills/get-fortune-analysis/lunar_python.py create mode 100755 skills/gift-evaluator/SKILL.md create mode 100755 skills/gift-evaluator/html_tools.py create mode 100755 skills/image-edit/LICENSE.txt create mode 100755 skills/image-edit/SKILL.md create mode 100755 skills/image-edit/scripts/image-edit.ts create mode 100755 skills/image-generation/LICENSE.txt create mode 100755 skills/image-generation/SKILL.md create mode 100755 skills/image-generation/scripts/image-generation.ts create mode 100755 skills/image-understand/LICENSE.txt create mode 100755 skills/image-understand/SKILL.md create mode 100755 skills/image-understand/scripts/image-understand.ts create mode 100755 skills/interview-designer/README.md create mode 100755 skills/interview-designer/SKILL.md create mode 100755 skills/interview-designer/_meta.json create mode 100755 skills/interview-designer/references/design_rationale.md create mode 100755 skills/interview-designer/templates/interview_guide_template.md create mode 100755 skills/interview-prep/SKILL.md create mode 100755 skills/interview-prep/references/answer_frameworks.md create mode 100755 skills/interview-prep/references/behavioral.md create mode 100755 skills/interview-prep/references/case.md create mode 100755 skills/interview-prep/references/hr_round.md create mode 100755 skills/interview-prep/references/role_finance.md create mode 100755 skills/interview-prep/references/role_internet.md create mode 100755 skills/interview-prep/references/role_tech.md create mode 100755 skills/interview-prep/references/salary_negotiation.md create mode 100755 skills/interview-prep/references/technical.md create mode 100755 skills/interview-prep/scripts/star_story_builder.py create mode 100755 skills/jd-resume-tailor/SKILL.md create mode 100755 skills/jd-resume-tailor/references/jd_parsing_signals.md create mode 100755 skills/jd-resume-tailor/references/rewrite_principles.md create mode 100755 skills/jd-resume-tailor/scripts/jd_gap.py create mode 100755 skills/jd-resume-tailor/scripts/parse_jd.py create mode 100755 skills/job-intent-tracker/SKILL.md create mode 100755 skills/job-intent-tracker/references/keywords_finance.md create mode 100755 skills/job-intent-tracker/references/keywords_general.md create mode 100755 skills/job-intent-tracker/references/keywords_internet.md create mode 100755 skills/job-intent-tracker/references/keywords_tech.md create mode 100755 skills/job-intent-tracker/references/target_profile_template.md create mode 100755 skills/job-intent-tracker/scripts/init_tracker.py create mode 100755 skills/job-intent-tracker/scripts/profile_match.py create mode 100755 skills/market-research-reports/SKILL.md create mode 100755 skills/market-research-reports/assets/FORMATTING_GUIDE.md create mode 100755 skills/market-research-reports/assets/market_report_template.tex create mode 100755 skills/market-research-reports/assets/market_research.sty create mode 100755 skills/market-research-reports/references/data_analysis_patterns.md create mode 100755 skills/market-research-reports/references/report_structure_guide.md create mode 100755 skills/market-research-reports/references/visual_generation_guide.md create mode 100755 skills/market-research-reports/scripts/generate_market_visuals.py create mode 100755 skills/marketing-mode/README.md create mode 100755 skills/marketing-mode/SKILL.md create mode 100755 skills/marketing-mode/_meta.json create mode 100755 skills/marketing-mode/mode-prompt.md create mode 100755 skills/marketing-mode/skill.json create mode 100755 skills/mindfulness-meditation/SKILL.md create mode 100755 skills/mindfulness-meditation/_meta.json create mode 100755 skills/multi-search-engine/CHANGELOG.md create mode 100755 skills/multi-search-engine/CHANNELLOG.md create mode 100755 skills/multi-search-engine/SKILL.md create mode 100755 skills/multi-search-engine/_meta.json create mode 100755 skills/multi-search-engine/config.json create mode 100755 skills/multi-search-engine/metadata.json create mode 100755 skills/multi-search-engine/references/international-search.md create mode 100755 skills/pdf/LICENSE.txt create mode 100755 skills/pdf/SKILL.md create mode 100755 skills/pdf/briefs/academic.md create mode 100755 skills/pdf/briefs/creative.md create mode 100755 skills/pdf/briefs/poster.md create mode 100755 skills/pdf/briefs/process-advanced.md create mode 100755 skills/pdf/briefs/process.md create mode 100755 skills/pdf/briefs/report.md create mode 100755 skills/pdf/configs/components.md create mode 100755 skills/pdf/configs/fonts.md create mode 100755 skills/pdf/configs/visual_framework.md create mode 100755 skills/pdf/references/resume-academic.tex create mode 100755 skills/pdf/references/resume-altacv.tex create mode 100755 skills/pdf/scripts/cover_validate.js create mode 100755 skills/pdf/scripts/design_engine.py create mode 100755 skills/pdf/scripts/html2pdf-next.js create mode 100755 skills/pdf/scripts/html2poster.js create mode 100755 skills/pdf/scripts/pdf.py create mode 100755 skills/pdf/scripts/pdf_qa.py create mode 100755 skills/pdf/scripts/poster_validate.py create mode 100755 skills/pdf/scripts/setup.sh create mode 100755 skills/pdf/scripts/toc_validate.py create mode 100755 skills/pdf/typesetting/charts.md create mode 100755 skills/pdf/typesetting/cover-backgrounds.md create mode 100755 skills/pdf/typesetting/cover.md create mode 100755 skills/pdf/typesetting/fill-engine.md create mode 100755 skills/pdf/typesetting/geometry.md create mode 100755 skills/pdf/typesetting/overflow.md create mode 100755 skills/pdf/typesetting/pagination.md create mode 100755 skills/pdf/typesetting/palette.md create mode 100755 skills/pdf/typesetting/typography.md create mode 100755 skills/podcast-generate/LICENSE.txt create mode 100755 skills/podcast-generate/SKILL.md create mode 100755 skills/podcast-generate/generate.ts create mode 100755 skills/podcast-generate/package.json create mode 100755 skills/podcast-generate/readme.md create mode 100755 skills/podcast-generate/test_data/segments.jsonl create mode 100755 skills/podcast-generate/tsconfig.json create mode 100755 skills/ppt/.claude/settings.local.json create mode 100755 skills/ppt/LICENSE.txt create mode 100755 skills/ppt/SKILL.md create mode 100755 skills/ppt/beamer.md create mode 100755 skills/ppt/components.md create mode 100755 skills/ppt/data-viz-components.md create mode 100755 skills/ppt/design-system.md create mode 100755 skills/ppt/html2pptx.md create mode 100755 skills/ppt/ooxml.md create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd create mode 100755 skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd create mode 100755 skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd create mode 100755 skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd create mode 100755 skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd create mode 100755 skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd create mode 100755 skills/ppt/ooxml/schemas/mce/mc.xsd create mode 100755 skills/ppt/ooxml/schemas/microsoft/wml-2010.xsd create mode 100755 skills/ppt/ooxml/schemas/microsoft/wml-2012.xsd create mode 100755 skills/ppt/ooxml/schemas/microsoft/wml-2018.xsd create mode 100755 skills/ppt/ooxml/schemas/microsoft/wml-cex-2018.xsd create mode 100755 skills/ppt/ooxml/schemas/microsoft/wml-cid-2016.xsd create mode 100755 skills/ppt/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd create mode 100755 skills/ppt/ooxml/schemas/microsoft/wml-symex-2015.xsd create mode 100755 skills/ppt/ooxml/scripts/pack.py create mode 100755 skills/ppt/ooxml/scripts/unpack.py create mode 100755 skills/ppt/ooxml/scripts/validate.py create mode 100755 skills/ppt/ooxml/scripts/validation/__init__.py create mode 100755 skills/ppt/ooxml/scripts/validation/__pycache__/__init__.cpython-313.pyc create mode 100755 skills/ppt/ooxml/scripts/validation/__pycache__/base.cpython-313.pyc create mode 100755 skills/ppt/ooxml/scripts/validation/__pycache__/docx.cpython-313.pyc create mode 100755 skills/ppt/ooxml/scripts/validation/__pycache__/pptx.cpython-313.pyc create mode 100755 skills/ppt/ooxml/scripts/validation/__pycache__/redlining.cpython-313.pyc create mode 100755 skills/ppt/ooxml/scripts/validation/base.py create mode 100755 skills/ppt/ooxml/scripts/validation/docx.py create mode 100755 skills/ppt/ooxml/scripts/validation/pptx.py create mode 100755 skills/ppt/ooxml/scripts/validation/redlining.py create mode 100755 skills/ppt/references/beamer.md create mode 100755 skills/ppt/references/latex.md create mode 100755 skills/ppt/references/paper-navbar.tex create mode 100755 skills/ppt/references/progress-navbar.tex create mode 100755 skills/ppt/scripts/__pycache__/inventory.cpython-313.pyc create mode 100755 skills/ppt/scripts/html2pptx.js create mode 100755 skills/ppt/scripts/inventory.py create mode 100755 skills/ppt/scripts/pdf.py create mode 100755 skills/ppt/scripts/rearrange.py create mode 100755 skills/ppt/scripts/replace.py create mode 100755 skills/ppt/scripts/tectonic create mode 100755 skills/ppt/scripts/thumbnail.py create mode 100755 skills/ppt/setup.sh create mode 100755 skills/ppt/themes.md create mode 100755 skills/qingyan-research/SKILL.md create mode 100755 skills/qingyan-research/generate_html.py create mode 100755 skills/quiz-html/README.md create mode 100755 skills/quiz-html/SKILL.md create mode 100755 skills/quiz-html/examples/demo.html create mode 100755 skills/quiz-html/scripts/build_quiz_html.py create mode 100755 skills/quiz-html/skill.yaml create mode 100755 skills/quiz-html/templates/quiz_template.html create mode 100755 skills/quiz-mastery/.claude/settings.json create mode 100755 skills/quiz-mastery/README.md create mode 100755 skills/quiz-mastery/SKILL.md create mode 100755 skills/quiz-mastery/scripts/generate_from_material.py create mode 100755 skills/quiz-mastery/scripts/import_quiz.py create mode 100755 skills/quiz-mastery/scripts/run_quiz.py create mode 100755 skills/quiz-mastery/scripts/submit_answers.py create mode 100755 skills/quiz-mastery/skill.yaml create mode 100755 skills/quiz-mastery/src/quiz_mastery/__init__.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/__init__.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/evaluator.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/file_parser.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/mastery_engine.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/models.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/planner.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/quiz_extractor.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/quiz_generator.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/repository.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/__pycache__/service.cpython-313.pyc create mode 100755 skills/quiz-mastery/src/quiz_mastery/evaluator.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/file_parser.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/mastery_engine.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/models.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/planner.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/quiz_extractor.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/quiz_generator.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/repository.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/service.py create mode 100755 skills/quiz-mastery/src/quiz_mastery/utils.py create mode 100755 skills/resume-builder/SKILL.md create mode 100755 skills/resume-builder/references/export_guide.md create mode 100755 skills/resume-builder/references/intake_questions.md create mode 100755 skills/resume-builder/references/keywords/finance.txt create mode 100755 skills/resume-builder/references/keywords/general.txt create mode 100755 skills/resume-builder/references/keywords/internet.txt create mode 100755 skills/resume-builder/references/keywords/tech.txt create mode 100755 skills/resume-builder/references/star_rewrite_guide.md create mode 100755 skills/resume-builder/references/templates/finance.md create mode 100755 skills/resume-builder/references/templates/general.md create mode 100755 skills/resume-builder/references/templates/internet.md create mode 100755 skills/resume-builder/references/templates/tech.md create mode 100755 skills/resume-builder/scripts/ats_check.py create mode 100755 skills/seo-content-writer/SKILL.md create mode 100755 skills/seo-content-writer/_meta.json create mode 100755 skills/seo-content-writer/references/content-structure-templates.md create mode 100755 skills/seo-content-writer/references/title-formulas.md create mode 100755 skills/skill-creator/LICENSE.txt create mode 100755 skills/skill-creator/SKILL.md create mode 100755 skills/skill-creator/agents/analyzer.md create mode 100755 skills/skill-creator/agents/comparator.md create mode 100755 skills/skill-creator/agents/grader.md create mode 100755 skills/skill-creator/assets/eval_review.html create mode 100755 skills/skill-creator/eval-viewer/generate_review.py create mode 100755 skills/skill-creator/eval-viewer/viewer.html create mode 100755 skills/skill-creator/references/schemas.md create mode 100755 skills/skill-creator/scripts/__init__.py create mode 100755 skills/skill-creator/scripts/aggregate_benchmark.py create mode 100755 skills/skill-creator/scripts/generate_report.py create mode 100755 skills/skill-creator/scripts/improve_description.py create mode 100755 skills/skill-creator/scripts/package_skill.py create mode 100755 skills/skill-creator/scripts/quick_validate.py create mode 100755 skills/skill-creator/scripts/run_eval.py create mode 100755 skills/skill-creator/scripts/run_loop.py create mode 100755 skills/skill-creator/scripts/utils.py create mode 100755 skills/skill-finder-cn/SKILL.md create mode 100755 skills/skill-finder-cn/_meta.json create mode 100755 skills/skill-finder-cn/package.json create mode 100755 skills/skill-finder-cn/scripts/search.sh create mode 100755 skills/skill-vetter/SKILL.md create mode 100755 skills/stock-analysis-skill/SKILL.md create mode 100755 skills/stock-analysis-skill/package.json create mode 100755 skills/stock-analysis-skill/src/analyzer.ts create mode 100755 skills/stock-analysis-skill/src/dataFetcher.ts create mode 100755 skills/stock-analysis-skill/src/dividend.ts create mode 100755 skills/stock-analysis-skill/src/index.ts create mode 100755 skills/stock-analysis-skill/src/rumorScanner.ts create mode 100755 skills/stock-analysis-skill/src/types.ts create mode 100755 skills/stock-analysis-skill/src/watchlist.ts create mode 100755 skills/stock-analysis-skill/tsconfig.json create mode 100755 skills/storyboard-manager/SKILL.md create mode 100755 skills/storyboard-manager/index.js create mode 100755 skills/storyboard-manager/package.json create mode 100755 skills/storyboard-manager/references/character_development.md create mode 100755 skills/storyboard-manager/references/story_structures.md create mode 100755 skills/storyboard-manager/scripts/consistency_checker.py create mode 100755 skills/storyboard-manager/scripts/timeline_tracker.py create mode 100755 skills/study-buddy/SKILL.md create mode 100755 skills/task-review/SKILL.md create mode 100755 skills/ui-ux-pro-max/SKILL.md create mode 100755 skills/ui-ux-pro-max/_meta.json create mode 100755 skills/ui-ux-pro-max/assets/data/charts.csv create mode 100755 skills/ui-ux-pro-max/assets/data/colors.csv create mode 100755 skills/ui-ux-pro-max/assets/data/icons.csv create mode 100755 skills/ui-ux-pro-max/assets/data/landing.csv create mode 100755 skills/ui-ux-pro-max/assets/data/products.csv create mode 100755 skills/ui-ux-pro-max/assets/data/react-performance.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/astro.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/flutter.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/react-native.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/react.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/svelte.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv create mode 100755 skills/ui-ux-pro-max/assets/data/stacks/vue.csv create mode 100755 skills/ui-ux-pro-max/assets/data/styles.csv create mode 100755 skills/ui-ux-pro-max/assets/data/typography.csv create mode 100755 skills/ui-ux-pro-max/assets/data/ui-reasoning.csv create mode 100755 skills/ui-ux-pro-max/assets/data/ux-guidelines.csv create mode 100755 skills/ui-ux-pro-max/assets/data/web-interface.csv create mode 100755 skills/ui-ux-pro-max/data/charts.csv create mode 100755 skills/ui-ux-pro-max/data/colors.csv create mode 100755 skills/ui-ux-pro-max/data/icons.csv create mode 100755 skills/ui-ux-pro-max/data/landing.csv create mode 100755 skills/ui-ux-pro-max/data/products.csv create mode 100755 skills/ui-ux-pro-max/data/react-performance.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/astro.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/flutter.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/html-tailwind.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/nextjs.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/nuxtjs.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/react-native.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/react.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/shadcn.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/svelte.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/swiftui.csv create mode 100755 skills/ui-ux-pro-max/data/stacks/vue.csv create mode 100755 skills/ui-ux-pro-max/data/styles.csv create mode 100755 skills/ui-ux-pro-max/data/typography.csv create mode 100755 skills/ui-ux-pro-max/data/ui-reasoning.csv create mode 100755 skills/ui-ux-pro-max/data/ux-guidelines.csv create mode 100755 skills/ui-ux-pro-max/data/web-interface.csv create mode 100755 skills/ui-ux-pro-max/references/upstream-README.md create mode 100755 skills/ui-ux-pro-max/references/upstream-skill-content.md create mode 100755 skills/ui-ux-pro-max/scripts/__init__.py create mode 100755 skills/ui-ux-pro-max/scripts/core.py create mode 100755 skills/ui-ux-pro-max/scripts/design_system.py create mode 100755 skills/ui-ux-pro-max/scripts/search.py create mode 100755 skills/video-generation/LICENSE.txt create mode 100755 skills/video-generation/SKILL.md create mode 100755 skills/video-generation/scripts/video.ts create mode 100755 skills/video-understand/LICENSE.txt create mode 100755 skills/video-understand/SKILL.md create mode 100755 skills/video-understand/scripts/video-understand.ts create mode 100755 skills/visual-design-foundations/SKILL.md create mode 100755 skills/visual-design-foundations/references/color-systems.md create mode 100755 skills/visual-design-foundations/references/spacing-iconography.md create mode 100755 skills/visual-design-foundations/references/typography-systems.md create mode 100755 skills/web-reader/LICENSE.txt create mode 100755 skills/web-reader/SKILL.md create mode 100755 skills/web-reader/scripts/web-reader.ts create mode 100755 skills/web-search/LICENSE.txt create mode 100755 skills/web-search/SKILL.md create mode 100755 skills/web-search/scripts/web_search.ts create mode 100755 skills/web-shader-extractor/SKILL.md create mode 100755 skills/web-shader-extractor/references/config-extraction.md create mode 100755 skills/web-shader-extractor/references/encoded-definitions.md create mode 100755 skills/web-shader-extractor/references/extraction-workflow.md create mode 100755 skills/web-shader-extractor/references/porting-strategy.md create mode 100755 skills/web-shader-extractor/references/shader-injection.md create mode 100755 skills/web-shader-extractor/references/shaders-com.md create mode 100755 skills/web-shader-extractor/references/tech-signatures.md create mode 100755 skills/web-shader-extractor/references/tsl-extraction.md create mode 100755 skills/web-shader-extractor/references/unicorn-studio.md create mode 100755 skills/web-shader-extractor/scripts/fetch-rendered-dom.mjs create mode 100755 skills/web-shader-extractor/scripts/scan-bundle.sh create mode 100755 skills/writing-plans/SKILL.md create mode 100755 skills/writing-plans/_meta.json create mode 100755 skills/xlsx/LICENSE.txt create mode 100755 skills/xlsx/SKILL.md create mode 100755 skills/xlsx/engines/chart-templates.md create mode 100755 skills/xlsx/engines/chart.md create mode 100755 skills/xlsx/engines/design.md create mode 100755 skills/xlsx/engines/vba-templates.md create mode 100755 skills/xlsx/quality/pipeline.md create mode 100755 skills/xlsx/scenes/advanced.md create mode 100755 skills/xlsx/scenes/analyze-recipes.md create mode 100755 skills/xlsx/scenes/analyze.md create mode 100755 skills/xlsx/scenes/convert.md create mode 100755 skills/xlsx/scenes/create.md create mode 100755 skills/xlsx/scenes/edit-patterns.md create mode 100755 skills/xlsx/scenes/edit.md create mode 100755 skills/xlsx/scenes/finance.md create mode 100755 skills/xlsx/scenes/finance_lite.md create mode 100755 skills/xlsx/scenes/vba.md create mode 100755 skills/xlsx/setup.sh create mode 100755 skills/xlsx/templates/base.py create mode 100755 skills/xlsx/templates/palettes.py create mode 100755 skills/xlsx/xlsx.py diff --git a/.env b/.env new file mode 100644 index 0000000..769ebf2 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +DATABASE_URL=file:/home/z/my-project/db/custom.db diff --git a/download/README.md b/download/README.md new file mode 100755 index 0000000..9820ad3 --- /dev/null +++ b/download/README.md @@ -0,0 +1 @@ +Here are all the generated files. diff --git a/skills/ASR/LICENSE.txt b/skills/ASR/LICENSE.txt new file mode 100755 index 0000000..1e54539 --- /dev/null +++ b/skills/ASR/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 z-ai-web-dev-sdk Skills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/ASR/SKILL.md b/skills/ASR/SKILL.md new file mode 100755 index 0000000..fde9bd7 --- /dev/null +++ b/skills/ASR/SKILL.md @@ -0,0 +1,580 @@ +--- +name: ASR +description: Implement speech-to-text (ASR/automatic speech recognition) capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to transcribe audio files, convert speech to text, build voice input features, or process audio recordings. Supports base64 encoded audio files and returns accurate text transcriptions. +license: MIT +--- + +# ASR (Speech to Text) Skill + +This skill guides the implementation of speech-to-text (ASR) functionality using the z-ai-web-dev-sdk package, enabling accurate transcription of spoken audio into text. + +## Skills Path + +**Skill Location**: `{project_path}/skills/ASR` + +this skill is located at above path in your project. + +**Reference Scripts**: Example test scripts are available in the `{Skill Location}/scripts/` directory for quick testing and reference. See `{Skill Location}/scripts/asr.ts` for a working example. + +## Overview + +Speech-to-Text (ASR - Automatic Speech Recognition) allows you to build applications that convert spoken language in audio files into written text, enabling voice-controlled interfaces, transcription services, and audio content analysis. + +**IMPORTANT**: z-ai-web-dev-sdk MUST be used in backend code only. Never use it in client-side code. + +## Prerequisites + +The z-ai-web-dev-sdk package is already installed. Import it as shown in the examples below. + +## CLI Usage (For Simple Tasks) + +For simple audio transcription tasks, you can use the z-ai CLI instead of writing code. This is ideal for quick transcriptions, testing audio files, or batch processing. + +### Basic Transcription from File + +```bash +# Transcribe an audio file +z-ai asr --file ./audio.wav + +# Save transcription to JSON file +z-ai asr -f ./recording.mp3 -o transcript.json + +# Transcribe and view output +z-ai asr --file ./interview.wav --output result.json +``` + +### Transcription from Base64 + +```bash +# Transcribe from base64 encoded audio +z-ai asr --base64 "UklGRiQAAABXQVZFZm10..." -o result.json + +# Using short option +z-ai asr -b "base64_encoded_audio_data" -o transcript.json +``` + +### Streaming Output + +```bash +# Stream transcription results +z-ai asr -f ./audio.wav --stream +``` + +### CLI Parameters + +- `--file, -f `: **Required** (if not using --base64) - Audio file path +- `--base64, -b `: **Required** (if not using --file) - Base64 encoded audio +- `--output, -o `: Optional - Output file path (JSON format) +- `--stream`: Optional - Stream the transcription output + +### Supported Audio Formats + +The ASR service supports various audio formats including: +- WAV (.wav) +- MP3 (.mp3) +- Other common audio formats + +### When to Use CLI vs SDK + +**Use CLI for:** +- Quick audio file transcriptions +- Testing audio recognition accuracy +- Simple batch processing scripts +- One-off transcription tasks + +**Use SDK for:** +- Real-time audio transcription in applications +- Integration with recording systems +- Custom audio processing workflows +- Production applications with streaming audio + +## Basic ASR Implementation + +### Simple Audio Transcription + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function transcribeAudio(audioFilePath) { + const zai = await ZAI.create(); + + // Read audio file and convert to base64 + const audioFile = fs.readFileSync(audioFilePath); + const base64Audio = audioFile.toString('base64'); + + const response = await zai.audio.asr.create({ + file_base64: base64Audio + }); + + return response.text; +} + +// Usage +const transcription = await transcribeAudio('./audio.wav'); +console.log('Transcription:', transcription); +``` + +### Transcribe Multiple Audio Files + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function transcribeBatch(audioFilePaths) { + const zai = await ZAI.create(); + const results = []; + + for (const filePath of audioFilePaths) { + try { + const audioFile = fs.readFileSync(filePath); + const base64Audio = audioFile.toString('base64'); + + const response = await zai.audio.asr.create({ + file_base64: base64Audio + }); + + results.push({ + file: filePath, + success: true, + transcription: response.text + }); + } catch (error) { + results.push({ + file: filePath, + success: false, + error: error.message + }); + } + } + + return results; +} + +// Usage +const files = ['./interview1.wav', './interview2.wav', './interview3.wav']; +const transcriptions = await transcribeBatch(files); + +transcriptions.forEach(result => { + if (result.success) { + console.log(`${result.file}: ${result.transcription}`); + } else { + console.error(`${result.file}: Error - ${result.error}`); + } +}); +``` + +## Advanced Use Cases + +### Audio File Processing with Metadata + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +async function transcribeWithMetadata(audioFilePath) { + const zai = await ZAI.create(); + + // Get file metadata + const stats = fs.statSync(audioFilePath); + const audioFile = fs.readFileSync(audioFilePath); + const base64Audio = audioFile.toString('base64'); + + const startTime = Date.now(); + + const response = await zai.audio.asr.create({ + file_base64: base64Audio + }); + + const endTime = Date.now(); + + return { + filename: path.basename(audioFilePath), + filepath: audioFilePath, + fileSize: stats.size, + transcription: response.text, + wordCount: response.text.split(/\s+/).length, + processingTime: endTime - startTime, + timestamp: new Date().toISOString() + }; +} + +// Usage +const result = await transcribeWithMetadata('./meeting_recording.wav'); +console.log('Transcription Details:', JSON.stringify(result, null, 2)); +``` + +### Real-time Audio Processing Service + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +class ASRService { + constructor() { + this.zai = null; + this.transcriptionCache = new Map(); + } + + async initialize() { + this.zai = await ZAI.create(); + } + + generateCacheKey(audioBuffer) { + const crypto = require('crypto'); + return crypto.createHash('md5').update(audioBuffer).digest('hex'); + } + + async transcribe(audioFilePath, useCache = true) { + const audioBuffer = fs.readFileSync(audioFilePath); + const cacheKey = this.generateCacheKey(audioBuffer); + + // Check cache + if (useCache && this.transcriptionCache.has(cacheKey)) { + return { + transcription: this.transcriptionCache.get(cacheKey), + cached: true + }; + } + + // Transcribe audio + const base64Audio = audioBuffer.toString('base64'); + + const response = await this.zai.audio.asr.create({ + file_base64: base64Audio + }); + + // Cache result + if (useCache) { + this.transcriptionCache.set(cacheKey, response.text); + } + + return { + transcription: response.text, + cached: false + }; + } + + clearCache() { + this.transcriptionCache.clear(); + } + + getCacheSize() { + return this.transcriptionCache.size; + } +} + +// Usage +const asrService = new ASRService(); +await asrService.initialize(); + +const result1 = await asrService.transcribe('./audio.wav'); +console.log('First call (not cached):', result1); + +const result2 = await asrService.transcribe('./audio.wav'); +console.log('Second call (cached):', result2); +``` + +### Directory Transcription + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +async function transcribeDirectory(directoryPath, outputJsonPath) { + const zai = await ZAI.create(); + + // Get all audio files + const files = fs.readdirSync(directoryPath); + const audioFiles = files.filter(file => + /\.(wav|mp3|m4a|flac|ogg)$/i.test(file) + ); + + const results = { + directory: directoryPath, + totalFiles: audioFiles.length, + processedAt: new Date().toISOString(), + transcriptions: [] + }; + + for (const filename of audioFiles) { + const filePath = path.join(directoryPath, filename); + + try { + const audioFile = fs.readFileSync(filePath); + const base64Audio = audioFile.toString('base64'); + + const response = await zai.audio.asr.create({ + file_base64: base64Audio + }); + + results.transcriptions.push({ + filename: filename, + success: true, + text: response.text, + wordCount: response.text.split(/\s+/).length + }); + + console.log(`✓ Transcribed: ${filename}`); + } catch (error) { + results.transcriptions.push({ + filename: filename, + success: false, + error: error.message + }); + + console.error(`✗ Failed: ${filename} - ${error.message}`); + } + } + + // Save results to JSON + fs.writeFileSync( + outputJsonPath, + JSON.stringify(results, null, 2) + ); + + return results; +} + +// Usage +const results = await transcribeDirectory( + './audio-recordings', + './transcriptions.json' +); + +console.log(`\nProcessed ${results.totalFiles} files`); +console.log(`Successful: ${results.transcriptions.filter(t => t.success).length}`); +console.log(`Failed: ${results.transcriptions.filter(t => !t.success).length}`); +``` + +## Best Practices + +### 1. Audio Format Handling + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function transcribeAnyFormat(audioFilePath) { + // Supported formats: WAV, MP3, M4A, FLAC, OGG, etc. + const validExtensions = ['.wav', '.mp3', '.m4a', '.flac', '.ogg']; + const ext = audioFilePath.toLowerCase().substring(audioFilePath.lastIndexOf('.')); + + if (!validExtensions.includes(ext)) { + throw new Error(`Unsupported audio format: ${ext}`); + } + + const zai = await ZAI.create(); + const audioFile = fs.readFileSync(audioFilePath); + const base64Audio = audioFile.toString('base64'); + + const response = await zai.audio.asr.create({ + file_base64: base64Audio + }); + + return response.text; +} +``` + +### 2. Error Handling + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function safeTranscribe(audioFilePath) { + try { + // Validate file exists + if (!fs.existsSync(audioFilePath)) { + throw new Error(`File not found: ${audioFilePath}`); + } + + // Check file size (e.g., limit to 100MB) + const stats = fs.statSync(audioFilePath); + const fileSizeMB = stats.size / (1024 * 1024); + + if (fileSizeMB > 100) { + throw new Error(`File too large: ${fileSizeMB.toFixed(2)}MB (max 100MB)`); + } + + // Transcribe + const zai = await ZAI.create(); + const audioFile = fs.readFileSync(audioFilePath); + const base64Audio = audioFile.toString('base64'); + + const response = await zai.audio.asr.create({ + file_base64: base64Audio + }); + + if (!response.text || response.text.trim().length === 0) { + throw new Error('Empty transcription result'); + } + + return { + success: true, + transcription: response.text, + filePath: audioFilePath, + fileSize: stats.size + }; + } catch (error) { + console.error('Transcription error:', error); + return { + success: false, + error: error.message, + filePath: audioFilePath + }; + } +} +``` + +### 3. Post-Processing Transcriptions + +```javascript +function cleanTranscription(text) { + // Remove excessive whitespace + text = text.replace(/\s+/g, ' ').trim(); + + // Capitalize first letter of sentences + text = text.replace(/(^\w|[.!?]\s+\w)/g, match => match.toUpperCase()); + + // Remove filler words (optional) + const fillers = ['um', 'uh', 'ah', 'like', 'you know']; + const fillerPattern = new RegExp(`\\b(${fillers.join('|')})\\b`, 'gi'); + text = text.replace(fillerPattern, '').replace(/\s+/g, ' '); + + return text; +} + +async function transcribeAndClean(audioFilePath) { + const zai = await ZAI.create(); + + const audioFile = fs.readFileSync(audioFilePath); + const base64Audio = audioFile.toString('base64'); + + const response = await zai.audio.asr.create({ + file_base64: base64Audio + }); + + return { + raw: response.text, + cleaned: cleanTranscription(response.text) + }; +} +``` + +## Common Use Cases + +1. **Meeting Transcription**: Convert recorded meetings into searchable text +2. **Interview Processing**: Transcribe interviews for analysis and documentation +3. **Podcast Transcription**: Create text versions of podcast episodes +4. **Voice Notes**: Convert voice memos to text for easier reference +5. **Call Center Analytics**: Analyze customer service calls +6. **Accessibility**: Provide text alternatives for audio content +7. **Voice Commands**: Enable voice-controlled applications +8. **Language Learning**: Transcribe pronunciation practice + +## Integration Examples + +### Express.js API Endpoint + +```javascript +import express from 'express'; +import multer from 'multer'; +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +const app = express(); +const upload = multer({ dest: 'uploads/' }); + +let zaiInstance; + +async function initZAI() { + zaiInstance = await ZAI.create(); +} + +app.post('/api/transcribe', upload.single('audio'), async (req, res) => { + try { + if (!req.file) { + return res.status(400).json({ error: 'No audio file provided' }); + } + + const audioFile = fs.readFileSync(req.file.path); + const base64Audio = audioFile.toString('base64'); + + const response = await zaiInstance.audio.asr.create({ + file_base64: base64Audio + }); + + // Clean up uploaded file + fs.unlinkSync(req.file.path); + + res.json({ + success: true, + transcription: response.text, + wordCount: response.text.split(/\s+/).length + }); + } catch (error) { + // Clean up on error + if (req.file && fs.existsSync(req.file.path)) { + fs.unlinkSync(req.file.path); + } + + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +initZAI().then(() => { + app.listen(3000, () => { + console.log('ASR API running on port 3000'); + }); +}); +``` + +## Troubleshooting + +**Issue**: "SDK must be used in backend" +- **Solution**: Ensure z-ai-web-dev-sdk is only imported in server-side code + +**Issue**: Empty or incorrect transcription +- **Solution**: Verify audio quality and format. Check if audio contains clear speech + +**Issue**: Large file processing fails +- **Solution**: Consider splitting large audio files into smaller segments + +**Issue**: Slow transcription speed +- **Solution**: Implement caching for repeated transcriptions, optimize file sizes + +**Issue**: Memory errors with large files +- **Solution**: Process files in chunks or increase Node.js memory limit + +## Performance Tips + +1. **Reuse SDK Instance**: Create once, use multiple times +2. **Implement Caching**: Cache transcriptions for duplicate files +3. **Batch Processing**: Process multiple files efficiently with proper queuing +4. **Audio Optimization**: Compress audio files before processing when possible +5. **Async Operations**: Use Promise.all for parallel processing when appropriate + +## Audio Quality Guidelines + +For best transcription results: +- **Sample Rate**: 16kHz or higher +- **Format**: WAV, MP3, or M4A recommended +- **Noise Level**: Minimize background noise +- **Speech Clarity**: Clear pronunciation and normal speaking pace +- **File Size**: Under 100MB recommended for individual files + +## Remember + +- Always use z-ai-web-dev-sdk in backend code only +- The SDK is already installed - import as shown in examples +- Audio files must be converted to base64 before processing +- Implement proper error handling for production applications +- Consider audio quality for best transcription accuracy +- Clean up temporary files after processing +- Cache results for frequently transcribed files diff --git a/skills/ASR/scripts/asr.ts b/skills/ASR/scripts/asr.ts new file mode 100755 index 0000000..5a39a39 --- /dev/null +++ b/skills/ASR/scripts/asr.ts @@ -0,0 +1,27 @@ +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +async function main(inputFile: string) { + if (!fs.existsSync(inputFile)) { + console.error(`Audio file not found: ${inputFile}`); + return; + } + + try { + const zai = await ZAI.create(); + + const audioBuffer = fs.readFileSync(inputFile); + const file_base64 = audioBuffer.toString('base64'); + + const result = await zai.audio.asr.create({ file_base64 }); + + console.log('Transcription result:'); + console.log(result.text ?? JSON.stringify(result, null, 2)); + } catch (err: any) { + console.error('ASR failed:', err?.message || err); + } +} + +main('./output.wav'); + diff --git a/skills/LLM/LICENSE.txt b/skills/LLM/LICENSE.txt new file mode 100755 index 0000000..1e54539 --- /dev/null +++ b/skills/LLM/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 z-ai-web-dev-sdk Skills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/LLM/SKILL.md b/skills/LLM/SKILL.md new file mode 100755 index 0000000..07e7ec0 --- /dev/null +++ b/skills/LLM/SKILL.md @@ -0,0 +1,856 @@ +--- +name: LLM +description: Implement large language model (LLM) chat completions using the z-ai-web-dev-sdk. Use this skill when the user needs to build conversational AI applications, chatbots, AI assistants, or any text generation features. Supports multi-turn conversations, system prompts, and context management. +license: MIT +--- + +# LLM (Large Language Model) Skill + +This skill guides the implementation of chat completions functionality using the z-ai-web-dev-sdk package, enabling powerful conversational AI and text generation capabilities. + +## Skills Path + +**Skill Location**: `{project_path}/skills/llm` + +this skill is located at above path in your project. + +**Reference Scripts**: Example test scripts are available in the `{Skill Location}/scripts/` directory for quick testing and reference. See `{Skill Location}/scripts/chat.ts` for a working example. + +## Overview + +The LLM skill allows you to build applications that leverage large language models for natural language understanding and generation, including chatbots, AI assistants, content generation, and more. + +**IMPORTANT**: z-ai-web-dev-sdk MUST be used in backend code only. Never use it in client-side code. + +## Prerequisites + +The z-ai-web-dev-sdk package is already installed. Import it as shown in the examples below. + +## CLI Usage (For Simple Tasks) + +For simple, one-off chat completions, you can use the z-ai CLI instead of writing code. This is ideal for quick tests, simple queries, or automation scripts. + +### Basic Chat + +```bash +# Simple question +z-ai chat --prompt "What is the capital of France?" + +# Save response to file +z-ai chat -p "Explain quantum computing" -o response.json + +# Stream the response +z-ai chat -p "Write a short poem" --stream +``` + +### With System Prompt + +```bash +# Custom system prompt for specific behavior +z-ai chat \ + --prompt "Review this code: function add(a,b) { return a+b; }" \ + --system "You are an expert code reviewer" \ + -o review.json +``` + +### With Thinking (Chain of Thought) + +```bash +# Enable thinking for complex reasoning +z-ai chat \ + --prompt "Solve this math problem: If a train travels 120km in 2 hours, what's its speed?" \ + --thinking \ + -o solution.json +``` + +### CLI Parameters + +- `--prompt, -p `: **Required** - User message content +- `--system, -s `: Optional - System prompt for custom behavior +- `--thinking, -t`: Optional - Enable chain-of-thought reasoning (default: disabled) +- `--output, -o `: Optional - Output file path (JSON format) +- `--stream`: Optional - Stream the response in real-time + +### When to Use CLI vs SDK + +**Use CLI for:** +- Quick one-off questions +- Simple automation scripts +- Testing prompts +- Single-turn conversations + +**Use SDK for:** +- Multi-turn conversations with context +- Custom conversation management +- Integration with web applications +- Complex chat workflows +- Production applications + +## Basic Chat Completions + +### Simple Question and Answer + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function askQuestion(question) { + const zai = await ZAI.create(); + + const completion = await zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: 'You are a helpful assistant.' + }, + { + role: 'user', + content: question + } + ], + thinking: { type: 'disabled' } + }); + + const response = completion.choices[0]?.message?.content; + return response; +} + +// Usage +const answer = await askQuestion('What is the capital of France?'); +console.log('Answer:', answer); +``` + +### Custom System Prompt + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function customAssistant(systemPrompt, userMessage) { + const zai = await ZAI.create(); + + const completion = await zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: systemPrompt + }, + { + role: 'user', + content: userMessage + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; +} + +// Usage - Code reviewer +const codeReview = await customAssistant( + 'You are an expert code reviewer. Analyze code for bugs, performance issues, and best practices.', + 'Review this function: function add(a, b) { return a + b; }' +); + +// Usage - Creative writer +const story = await customAssistant( + 'You are a creative fiction writer who writes engaging short stories.', + 'Write a short story about a robot learning to paint.' +); + +console.log(codeReview); +console.log(story); +``` + +## Multi-turn Conversations + +### Conversation History Management + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +class ConversationManager { + constructor(systemPrompt = 'You are a helpful assistant.') { + this.messages = [ + { + role: 'assistant', + content: systemPrompt + } + ]; + this.zai = null; + } + + async initialize() { + this.zai = await ZAI.create(); + } + + async sendMessage(userMessage) { + // Add user message to history + this.messages.push({ + role: 'user', + content: userMessage + }); + + // Get completion + const completion = await this.zai.chat.completions.create({ + messages: this.messages, + thinking: { type: 'disabled' } + }); + + const assistantResponse = completion.choices[0]?.message?.content; + + // Add assistant response to history + this.messages.push({ + role: 'assistant', + content: assistantResponse + }); + + return assistantResponse; + } + + getHistory() { + return this.messages; + } + + clearHistory(systemPrompt = 'You are a helpful assistant.') { + this.messages = [ + { + role: 'assistant', + content: systemPrompt + } + ]; + } + + getMessageCount() { + // Subtract 1 for system message + return this.messages.length - 1; + } +} + +// Usage +const conversation = new ConversationManager(); +await conversation.initialize(); + +const response1 = await conversation.sendMessage('Hi, my name is John.'); +console.log('AI:', response1); + +const response2 = await conversation.sendMessage('What is my name?'); +console.log('AI:', response2); // Should remember the name is John + +console.log('Total messages:', conversation.getMessageCount()); +``` + +### Context-Aware Conversations + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +class ContextualChat { + constructor() { + this.messages = []; + this.zai = null; + } + + async initialize() { + this.zai = await ZAI.create(); + } + + async startConversation(role, context) { + // Set up system prompt with context + const systemPrompt = `You are ${role}. Context: ${context}`; + + this.messages = [ + { + role: 'assistant', + content: systemPrompt + } + ]; + } + + async chat(userMessage) { + this.messages.push({ + role: 'user', + content: userMessage + }); + + const completion = await this.zai.chat.completions.create({ + messages: this.messages, + thinking: { type: 'disabled' } + }); + + const response = completion.choices[0]?.message?.content; + + this.messages.push({ + role: 'assistant', + content: response + }); + + return response; + } +} + +// Usage - Customer support scenario +const support = new ContextualChat(); +await support.initialize(); + +await support.startConversation( + 'a customer support agent for TechCorp', + 'The user has ordered product #12345 which is delayed due to shipping issues.' +); + +const reply1 = await support.chat('Where is my order?'); +console.log('Support:', reply1); + +const reply2 = await support.chat('Can I get a refund?'); +console.log('Support:', reply2); +``` + +## Advanced Use Cases + +### Content Generation + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +class ContentGenerator { + constructor() { + this.zai = null; + } + + async initialize() { + this.zai = await ZAI.create(); + } + + async generateBlogPost(topic, tone = 'professional') { + const completion = await this.zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: `You are a professional content writer. Write in a ${tone} tone.` + }, + { + role: 'user', + content: `Write a blog post about: ${topic}. Include an introduction, main points, and conclusion.` + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; + } + + async generateProductDescription(productName, features) { + const completion = await this.zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: 'You are an expert at writing compelling product descriptions for e-commerce.' + }, + { + role: 'user', + content: `Write a product description for "${productName}". Key features: ${features.join(', ')}.` + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; + } + + async generateEmailResponse(originalEmail, intent) { + const completion = await this.zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: 'You are a professional email writer. Write clear, concise, and polite emails.' + }, + { + role: 'user', + content: `Original email: "${originalEmail}"\n\nWrite a ${intent} response.` + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; + } +} + +// Usage +const generator = new ContentGenerator(); +await generator.initialize(); + +const blogPost = await generator.generateBlogPost( + 'The Future of Artificial Intelligence', + 'informative' +); +console.log('Blog Post:', blogPost); + +const productDesc = await generator.generateProductDescription( + 'Smart Watch Pro', + ['Heart rate monitoring', 'GPS tracking', 'Waterproof', '7-day battery life'] +); +console.log('Product Description:', productDesc); +``` + +### Data Analysis and Summarization + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function analyzeData(data, analysisType) { + const zai = await ZAI.create(); + + const prompts = { + summarize: 'You are a data analyst. Summarize the key insights from the data.', + trend: 'You are a data analyst. Identify trends and patterns in the data.', + recommendation: 'You are a business analyst. Provide actionable recommendations based on the data.' + }; + + const completion = await zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: prompts[analysisType] || prompts.summarize + }, + { + role: 'user', + content: `Analyze this data:\n\n${JSON.stringify(data, null, 2)}` + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; +} + +// Usage +const salesData = { + Q1: { revenue: 100000, customers: 250 }, + Q2: { revenue: 120000, customers: 280 }, + Q3: { revenue: 150000, customers: 320 }, + Q4: { revenue: 180000, customers: 380 } +}; + +const summary = await analyzeData(salesData, 'summarize'); +const trends = await analyzeData(salesData, 'trend'); +const recommendations = await analyzeData(salesData, 'recommendation'); + +console.log('Summary:', summary); +console.log('Trends:', trends); +console.log('Recommendations:', recommendations); +``` + +### Code Generation and Debugging + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +class CodeAssistant { + constructor() { + this.zai = null; + } + + async initialize() { + this.zai = await ZAI.create(); + } + + async generateCode(description, language) { + const completion = await this.zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: `You are an expert ${language} programmer. Write clean, efficient, and well-commented code.` + }, + { + role: 'user', + content: `Write ${language} code to: ${description}` + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; + } + + async debugCode(code, issue) { + const completion = await this.zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: 'You are an expert debugger. Identify bugs and suggest fixes.' + }, + { + role: 'user', + content: `Code:\n${code}\n\nIssue: ${issue}\n\nFind the bug and suggest a fix.` + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; + } + + async explainCode(code) { + const completion = await this.zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: 'You are a programming teacher. Explain code clearly and simply.' + }, + { + role: 'user', + content: `Explain what this code does:\n\n${code}` + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; + } +} + +// Usage +const codeAssist = new CodeAssistant(); +await codeAssist.initialize(); + +const newCode = await codeAssist.generateCode( + 'Create a function that sorts an array of objects by a specific property', + 'JavaScript' +); +console.log('Generated Code:', newCode); + +const bugFix = await codeAssist.debugCode( + 'function add(a, b) { return a - b; }', + 'This function should add numbers but returns wrong results' +); +console.log('Debug Suggestion:', bugFix); +``` + +## Best Practices + +### 1. Prompt Engineering + +```javascript +// Bad: Vague prompt +const bad = await askQuestion('Tell me about AI'); + +// Good: Specific and structured prompt +async function askWithContext(topic, format, audience) { + const zai = await ZAI.create(); + + const completion = await zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: `You are an expert educator. Explain topics clearly for ${audience}.` + }, + { + role: 'user', + content: `Explain ${topic} in ${format} format. Include practical examples.` + } + ], + thinking: { type: 'disabled' } + }); + + return completion.choices[0]?.message?.content; +} + +const good = await askWithContext('artificial intelligence', 'bullet points', 'beginners'); +``` + +### 2. Error Handling + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function safeCompletion(messages, retries = 3) { + let lastError; + + for (let attempt = 1; attempt <= retries; attempt++) { + try { + const zai = await ZAI.create(); + + const completion = await zai.chat.completions.create({ + messages: messages, + thinking: { type: 'disabled' } + }); + + const response = completion.choices[0]?.message?.content; + + if (!response || response.trim().length === 0) { + throw new Error('Empty response from AI'); + } + + return { + success: true, + content: response, + attempts: attempt + }; + } catch (error) { + lastError = error; + console.error(`Attempt ${attempt} failed:`, error.message); + + if (attempt < retries) { + // Wait before retry (exponential backoff) + await new Promise(resolve => setTimeout(resolve, 1000 * attempt)); + } + } + } + + return { + success: false, + error: lastError.message, + attempts: retries + }; +} +``` + +### 3. Context Management + +```javascript +class ManagedConversation { + constructor(maxMessages = 20) { + this.maxMessages = maxMessages; + this.systemPrompt = ''; + this.messages = []; + this.zai = null; + } + + async initialize(systemPrompt) { + this.zai = await ZAI.create(); + this.systemPrompt = systemPrompt; + this.messages = [ + { + role: 'assistant', + content: systemPrompt + } + ]; + } + + async chat(userMessage) { + // Add user message + this.messages.push({ + role: 'user', + content: userMessage + }); + + // Trim old messages if exceeding limit (keep system prompt) + if (this.messages.length > this.maxMessages) { + this.messages = [ + this.messages[0], // Keep system prompt + ...this.messages.slice(-(this.maxMessages - 1)) + ]; + } + + const completion = await this.zai.chat.completions.create({ + messages: this.messages, + thinking: { type: 'disabled' } + }); + + const response = completion.choices[0]?.message?.content; + + this.messages.push({ + role: 'assistant', + content: response + }); + + return response; + } + + getTokenEstimate() { + // Rough estimate: ~4 characters per token + const totalChars = this.messages + .map(m => m.content.length) + .reduce((a, b) => a + b, 0); + return Math.ceil(totalChars / 4); + } +} +``` + +### 4. Response Processing + +```javascript +async function getStructuredResponse(query, format = 'json') { + const zai = await ZAI.create(); + + const formatInstructions = { + json: 'Respond with valid JSON only. No additional text.', + list: 'Respond with a numbered list.', + markdown: 'Respond in Markdown format.' + }; + + const completion = await zai.chat.completions.create({ + messages: [ + { + role: 'assistant', + content: `You are a helpful assistant. ${formatInstructions[format]}` + }, + { + role: 'user', + content: query + } + ], + thinking: { type: 'disabled' } + }); + + const response = completion.choices[0]?.message?.content; + + // Parse JSON if requested + if (format === 'json') { + try { + return JSON.parse(response); + } catch (e) { + console.error('Failed to parse JSON response'); + return { raw: response }; + } + } + + return response; +} + +// Usage +const jsonData = await getStructuredResponse( + 'List three programming languages with their primary use cases', + 'json' +); +console.log(jsonData); +``` + +## Common Use Cases + +1. **Chatbots & Virtual Assistants**: Build conversational interfaces for customer support +2. **Content Generation**: Create articles, product descriptions, marketing copy +3. **Code Assistance**: Generate, explain, and debug code +4. **Data Analysis**: Analyze and summarize complex data sets +5. **Language Translation**: Translate text between languages +6. **Educational Tools**: Create tutoring and learning applications +7. **Email Automation**: Generate professional email responses +8. **Creative Writing**: Story generation, poetry, and creative content + +## Integration Examples + +### Express.js Chatbot API + +```javascript +import express from 'express'; +import ZAI from 'z-ai-web-dev-sdk'; + +const app = express(); +app.use(express.json()); + +// Store conversations in memory (use database in production) +const conversations = new Map(); + +let zaiInstance; + +async function initZAI() { + zaiInstance = await ZAI.create(); +} + +app.post('/api/chat', async (req, res) => { + try { + const { sessionId, message, systemPrompt } = req.body; + + if (!message) { + return res.status(400).json({ error: 'Message is required' }); + } + + // Get or create conversation history + let history = conversations.get(sessionId) || [ + { + role: 'assistant', + content: systemPrompt || 'You are a helpful assistant.' + } + ]; + + // Add user message + history.push({ + role: 'user', + content: message + }); + + // Get completion + const completion = await zaiInstance.chat.completions.create({ + messages: history, + thinking: { type: 'disabled' } + }); + + const aiResponse = completion.choices[0]?.message?.content; + + // Add AI response to history + history.push({ + role: 'assistant', + content: aiResponse + }); + + // Save updated history + conversations.set(sessionId, history); + + res.json({ + success: true, + response: aiResponse, + messageCount: history.length - 1 + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +app.delete('/api/chat/:sessionId', (req, res) => { + const { sessionId } = req.params; + conversations.delete(sessionId); + res.json({ success: true, message: 'Conversation cleared' }); +}); + +initZAI().then(() => { + app.listen(3000, () => { + console.log('Chatbot API running on port 3000'); + }); +}); +``` + +## Troubleshooting + +**Issue**: "SDK must be used in backend" +- **Solution**: Ensure z-ai-web-dev-sdk is only imported and used in server-side code + +**Issue**: Empty or incomplete responses +- **Solution**: Check that completion.choices[0]?.message?.content exists and is not empty + +**Issue**: Conversation context getting too long +- **Solution**: Implement message trimming to keep only recent messages + +**Issue**: Inconsistent responses +- **Solution**: Use more specific system prompts and provide clear instructions + +**Issue**: Rate limiting errors +- **Solution**: Implement retry logic with exponential backoff + +## Performance Tips + +1. **Reuse SDK Instance**: Create ZAI instance once and reuse across requests +2. **Manage Context Length**: Trim old messages to avoid token limits +3. **Implement Caching**: Cache responses for common queries +4. **Use Specific Prompts**: Clear prompts lead to faster, better responses +5. **Handle Errors Gracefully**: Implement retry logic and fallback responses + +## Security Considerations + +1. **Input Validation**: Always validate and sanitize user input +2. **Rate Limiting**: Implement rate limits to prevent abuse +3. **API Key Protection**: Never expose SDK credentials in client-side code +4. **Content Filtering**: Filter sensitive or inappropriate content +5. **Session Management**: Implement proper session handling and cleanup + +## Remember + +- Always use z-ai-web-dev-sdk in backend code only +- The SDK is already installed - import as shown in examples +- Use the 'assistant' role for system prompts +- Set thinking to { type: 'disabled' } for standard completions +- Implement proper error handling and retries for production +- Manage conversation history to avoid token limits +- Clear and specific prompts lead to better results +- Check `scripts/chat.ts` for a quick start example diff --git a/skills/LLM/scripts/chat.ts b/skills/LLM/scripts/chat.ts new file mode 100755 index 0000000..046fd59 --- /dev/null +++ b/skills/LLM/scripts/chat.ts @@ -0,0 +1,32 @@ +import ZAI, { ChatMessage } from "z-ai-web-dev-sdk"; + +async function main(prompt: string) { + try { + const zai = await ZAI.create(); + + const messages: ChatMessage[] = [ + { + role: "assistant", + content: "Hi, I'm a helpful assistant." + }, + { + role: "user", + content: prompt, + }, + ]; + + const response = await zai.chat.completions.create({ + messages, + stream: false, + thinking: { type: "disabled" }, + }); + + const reply = response.choices?.[0]?.message?.content; + console.log("Chat reply:"); + console.log(reply ?? JSON.stringify(response, null, 2)); + } catch (err: any) { + console.error("Chat failed:", err?.message || err); + } +} + +main('What is the capital of France?'); diff --git a/skills/TTS/LICENSE.txt b/skills/TTS/LICENSE.txt new file mode 100755 index 0000000..1e54539 --- /dev/null +++ b/skills/TTS/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 z-ai-web-dev-sdk Skills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/TTS/SKILL.md b/skills/TTS/SKILL.md new file mode 100755 index 0000000..d92d225 --- /dev/null +++ b/skills/TTS/SKILL.md @@ -0,0 +1,735 @@ +--- +name: TTS +description: Implement text-to-speech (TTS) capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to convert text into natural-sounding speech, create audio content, build voice-enabled applications, or generate spoken audio files. Supports multiple voices, adjustable speed, and various audio formats. +license: MIT +--- + +# TTS (Text to Speech) Skill + +This skill guides the implementation of text-to-speech (TTS) functionality using the z-ai-web-dev-sdk package, enabling conversion of text into natural-sounding speech audio. + +## Skills Path + +**Skill Location**: `{project_path}/skills/TTS` + +This skill is located at the above path in your project. + +**Reference Scripts**: Example test scripts are available in the `{Skill Location}/scripts/` directory for quick testing and reference. See `{Skill Location}/scripts/tts.ts` for a working example. + +## Overview + +Text-to-Speech allows you to build applications that generate spoken audio from text input, supporting various voices, speeds, and output formats for diverse use cases. + +**IMPORTANT**: z-ai-web-dev-sdk MUST be used in backend code only. Never use it in client-side code. + +## API Limitations and Constraints + +Before implementing TTS functionality, be aware of these important limitations: + +### Input Text Constraints +- **Maximum length**: 1024 characters per request +- Text exceeding this limit must be split into smaller chunks + +### Audio Parameters +- **Speed range**: 0.5 to 2.0 + - 0.5 = half speed (slower) + - 1.0 = normal speed (default) + - 2.0 = double speed (faster) +- **Volume range**: Greater than 0, up to 10 + - Default: 1.0 + - Values must be greater than 0 (exclusive) and up to 10 (inclusive) + +### Format and Streaming +- **Streaming limitation**: When `stream: true` is enabled, only `pcm` format is supported +- **Non-streaming**: Supports `wav`, `pcm`, and `mp3` formats +- **Sample rate**: 24000 Hz (recommended) + +### Best Practice for Long Text +```javascript +function splitTextIntoChunks(text, maxLength = 1000) { + const chunks = []; + const sentences = text.match(/[^.!?]+[.!?]+/g) || [text]; + + let currentChunk = ''; + for (const sentence of sentences) { + if ((currentChunk + sentence).length <= maxLength) { + currentChunk += sentence; + } else { + if (currentChunk) chunks.push(currentChunk.trim()); + currentChunk = sentence; + } + } + if (currentChunk) chunks.push(currentChunk.trim()); + + return chunks; +} +``` + +## Prerequisites + +The z-ai-web-dev-sdk package is already installed. Import it as shown in the examples below. + +## CLI Usage (For Simple Tasks) + +For simple text-to-speech conversions, you can use the z-ai CLI instead of writing code. This is ideal for quick audio generation, testing voices, or simple automation. + +### Basic TTS + +```bash +# Convert text to speech (default WAV format) +z-ai tts --input "Hello, world" --output ./hello.wav + +# Using short options +z-ai tts -i "Hello, world" -o ./hello.wav +``` + +### Different Voices and Speed + +```bash +# Use specific voice +z-ai tts -i "Welcome to our service" -o ./welcome.wav --voice tongtong + +# Adjust speech speed (0.5-2.0) +z-ai tts -i "This is faster speech" -o ./fast.wav --speed 1.5 + +# Slower speech +z-ai tts -i "This is slower speech" -o ./slow.wav --speed 0.8 +``` + +### Different Output Formats + +```bash +# MP3 format +z-ai tts -i "Hello World" -o ./hello.mp3 --format mp3 + +# WAV format (default) +z-ai tts -i "Hello World" -o ./hello.wav --format wav + +# PCM format +z-ai tts -i "Hello World" -o ./hello.pcm --format pcm +``` + +### Streaming Output + +```bash +# Stream audio generation +z-ai tts -i "This is a longer text that will be streamed" -o ./stream.wav --stream +``` + +### CLI Parameters + +- `--input, -i `: **Required** - Text to convert to speech (max 1024 characters) +- `--output, -o `: **Required** - Output audio file path +- `--voice, -v `: Optional - Voice type (default: tongtong) +- `--speed, -s `: Optional - Speech speed, 0.5-2.0 (default: 1.0) +- `--format, -f `: Optional - Output format: wav, mp3, pcm (default: wav) +- `--stream`: Optional - Enable streaming output (only supports pcm format) + +### When to Use CLI vs SDK + +**Use CLI for:** +- Quick text-to-speech conversions +- Testing different voices and speeds +- Simple batch audio generation +- Command-line automation scripts + +**Use SDK for:** +- Dynamic audio generation in applications +- Integration with web services +- Custom audio processing pipelines +- Production applications with complex requirements + +## Basic TTS Implementation + +### Simple Text to Speech + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function textToSpeech(text, outputPath) { + const zai = await ZAI.create(); + + const response = await zai.audio.tts.create({ + input: text, + voice: 'tongtong', + speed: 1.0, + response_format: 'wav', + stream: false + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + + fs.writeFileSync(outputPath, buffer); + console.log(`Audio saved to ${outputPath}`); + return outputPath; +} + +// Usage +await textToSpeech('Hello, world!', './output.wav'); +``` + +### Multiple Voice Options + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function generateWithVoice(text, voice, outputPath) { + const zai = await ZAI.create(); + + const response = await zai.audio.tts.create({ + input: text, + voice: voice, // Available voices: tongtong, chuichui, xiaochen, jam, kazi, douji, luodo + speed: 1.0, + response_format: 'wav', + stream: false + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + + fs.writeFileSync(outputPath, buffer); + return outputPath; +} + +// Usage +await generateWithVoice('Welcome to our service', 'tongtong', './welcome.wav'); +``` + +### Adjustable Speed + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function generateWithSpeed(text, speed, outputPath) { + const zai = await ZAI.create(); + + // Speed range: 0.5 to 2.0 (API constraint) + // 0.5 = half speed (slower) + // 1.0 = normal speed (default) + // 2.0 = double speed (faster) + // Values outside this range will cause API errors + + const response = await zai.audio.tts.create({ + input: text, + voice: 'tongtong', + speed: speed, + response_format: 'wav', + stream: false + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + + fs.writeFileSync(outputPath, buffer); + return outputPath; +} + +// Usage - slower narration +await generateWithSpeed('This is an important announcement', 0.8, './slow.wav'); + +// Usage - faster narration +await generateWithSpeed('Quick update', 1.3, './fast.wav'); +``` + +### Adjustable Volume + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function generateWithVolume(text, volume, outputPath) { + const zai = await ZAI.create(); + + // Volume range: greater than 0, up to 10 (API constraint) + // Values must be > 0 (exclusive) and <= 10 (inclusive) + // Default: 1.0 (normal volume) + + const response = await zai.audio.tts.create({ + input: text, + voice: 'tongtong', + speed: 1.0, + volume: volume, // Optional parameter + response_format: 'wav', + stream: false + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + + fs.writeFileSync(outputPath, buffer); + return outputPath; +} + +// Usage - louder audio +await generateWithVolume('This is an announcement', 5.0, './loud.wav'); + +// Usage - quieter audio +await generateWithVolume('Whispered message', 0.5, './quiet.wav'); +``` + +## Advanced Use Cases + +### Batch Processing + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +async function batchTextToSpeech(textArray, outputDir) { + const zai = await ZAI.create(); + const results = []; + + // Ensure output directory exists + if (!fs.existsSync(outputDir)) { + fs.mkdirSync(outputDir, { recursive: true }); + } + + for (let i = 0; i < textArray.length; i++) { + try { + const text = textArray[i]; + const outputPath = path.join(outputDir, `audio_${i + 1}.wav`); + + const response = await zai.audio.tts.create({ + input: text, + voice: 'tongtong', + speed: 1.0, + response_format: 'wav', + stream: false + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + + fs.writeFileSync(outputPath, buffer); + results.push({ + success: true, + text, + path: outputPath + }); + } catch (error) { + results.push({ + success: false, + text: textArray[i], + error: error.message + }); + } + } + + return results; +} + +// Usage +const texts = [ + 'Welcome to chapter one', + 'Welcome to chapter two', + 'Welcome to chapter three' +]; + +const results = await batchTextToSpeech(texts, './audio-output'); +console.log('Generated:', results.length, 'audio files'); +``` + +### Dynamic Content Generation + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +class TTSGenerator { + constructor() { + this.zai = null; + } + + async initialize() { + this.zai = await ZAI.create(); + } + + async generateAudio(text, options = {}) { + const { + voice = 'tongtong', + speed = 1.0, + format = 'wav' + } = options; + + const response = await this.zai.audio.tts.create({ + input: text, + voice: voice, + speed: speed, + response_format: format, + stream: false + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + return Buffer.from(new Uint8Array(arrayBuffer)); + } + + async saveAudio(text, outputPath, options = {}) { + const buffer = await this.generateAudio(text, options); + if (buffer) { + fs.writeFileSync(outputPath, buffer); + return outputPath; + } + return null; + } +} + +// Usage +const generator = new TTSGenerator(); +await generator.initialize(); + +await generator.saveAudio( + 'Hello, this is a test', + './output.wav', + { speed: 1.2 } +); +``` + +### Next.js API Route Example + +```javascript +import { NextRequest, NextResponse } from 'next/server'; + +export async function POST(req: NextRequest) { + try { + const { text, voice = 'tongtong', speed = 1.0 } = await req.json(); + + // Import ZAI SDK + const ZAI = (await import('z-ai-web-dev-sdk')).default; + + // Create SDK instance + const zai = await ZAI.create(); + + // Generate TTS audio + const response = await zai.audio.tts.create({ + input: text.trim(), + voice: voice, + speed: speed, + response_format: 'wav', + stream: false, + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + + // Return audio as response + return new NextResponse(buffer, { + status: 200, + headers: { + 'Content-Type': 'audio/wav', + 'Content-Length': buffer.length.toString(), + 'Cache-Control': 'no-cache', + }, + }); + } catch (error) { + console.error('TTS API Error:', error); + + return NextResponse.json( + { + error: error instanceof Error ? error.message : '生成语音失败,请稍后重试', + }, + { status: 500 } + ); + } +} +``` + +## Best Practices + +### 1. Text Preparation +```javascript +function prepareTextForTTS(text) { + // Remove excessive whitespace + text = text.replace(/\s+/g, ' ').trim(); + + // Expand common abbreviations for better pronunciation + const abbreviations = { + 'Dr.': 'Doctor', + 'Mr.': 'Mister', + 'Mrs.': 'Misses', + 'etc.': 'et cetera' + }; + + for (const [abbr, full] of Object.entries(abbreviations)) { + text = text.replace(new RegExp(abbr, 'g'), full); + } + + return text; +} +``` + +### 2. Error Handling +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function safeTTS(text, outputPath) { + try { + // Validate input + if (!text || text.trim().length === 0) { + throw new Error('Text input cannot be empty'); + } + + if (text.length > 1024) { + throw new Error('Text input exceeds maximum length of 1024 characters'); + } + + const zai = await ZAI.create(); + + const response = await zai.audio.tts.create({ + input: text, + voice: 'tongtong', + speed: 1.0, + response_format: 'wav', + stream: false + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + + fs.writeFileSync(outputPath, buffer); + + return { + success: true, + path: outputPath, + size: buffer.length + }; + } catch (error) { + console.error('TTS Error:', error); + return { + success: false, + error: error.message + }; + } +} +``` + +### 3. SDK Instance Reuse + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +// Create a singleton instance +let zaiInstance = null; + +async function getZAIInstance() { + if (!zaiInstance) { + zaiInstance = await ZAI.create(); + } + return zaiInstance; +} + +// Usage +const zai = await getZAIInstance(); +const response = await zai.audio.tts.create({ ... }); +``` + +## Common Use Cases + +1. **Audiobooks & Podcasts**: Convert written content to audio format +2. **E-learning**: Create narration for educational content +3. **Accessibility**: Provide audio versions of text content +4. **Voice Assistants**: Generate dynamic responses +5. **Announcements**: Create automated audio notifications +6. **IVR Systems**: Generate phone system prompts +7. **Content Localization**: Create audio in different languages + +## Integration Examples + +### Express.js API Endpoint + +```javascript +import express from 'express'; +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +const app = express(); +app.use(express.json()); + +let zaiInstance; +const outputDir = './audio-output'; + +async function initZAI() { + zaiInstance = await ZAI.create(); + if (!fs.existsSync(outputDir)) { + fs.mkdirSync(outputDir, { recursive: true }); + } +} + +app.post('/api/tts', async (req, res) => { + try { + const { text, voice = 'tongtong', speed = 1.0 } = req.body; + + if (!text) { + return res.status(400).json({ error: 'Text is required' }); + } + + const filename = `tts_${Date.now()}.wav`; + const outputPath = path.join(outputDir, filename); + + const response = await zaiInstance.audio.tts.create({ + input: text, + voice: voice, + speed: speed, + response_format: 'wav', + stream: false + }); + + // Get array buffer from Response object + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + + fs.writeFileSync(outputPath, buffer); + + res.json({ + success: true, + audioUrl: `/audio/${filename}`, + size: buffer.length + }); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +app.use('/audio', express.static('audio-output')); + +initZAI().then(() => { + app.listen(3000, () => { + console.log('TTS API running on port 3000'); + }); +}); +``` + +## Troubleshooting + +**Issue**: "Input text exceeds maximum length" +- **Solution**: Text input is limited to 1024 characters. Split longer text into chunks using the `splitTextIntoChunks` function shown in the API Limitations section + +**Issue**: "Invalid speed parameter" or unexpected speed behavior +- **Solution**: Speed must be between 0.5 and 2.0. Check your speed value is within this range + +**Issue**: "Invalid volume parameter" +- **Solution**: Volume must be greater than 0 and up to 10. Ensure volume value is in range (0, 10] + +**Issue**: "Stream format not supported" with WAV/MP3 +- **Solution**: Streaming mode only supports PCM format. Either use `response_format: 'pcm'` with streaming, or disable streaming (`stream: false`) for WAV/MP3 output + +**Issue**: "SDK must be used in backend" +- **Solution**: Ensure z-ai-web-dev-sdk is only imported in server-side code + +**Issue**: "TypeError: response.audio is undefined" +- **Solution**: The SDK returns a standard Response object, use `await response.arrayBuffer()` instead of accessing `response.audio` + +**Issue**: Generated audio file is empty or corrupted +- **Solution**: Ensure you're calling `await response.arrayBuffer()` and properly converting to Buffer: `Buffer.from(new Uint8Array(arrayBuffer))` + +**Issue**: Audio sounds unnatural +- **Solution**: Prepare text properly (remove special characters, expand abbreviations) + +**Issue**: Long processing times +- **Solution**: Break long text into smaller chunks and process in parallel + +**Issue**: Next.js caching old API route +- **Solution**: Create a new API route endpoint or restart the dev server + +## Performance Tips + +1. **Reuse SDK Instance**: Create ZAI instance once and reuse +2. **Implement Caching**: Cache generated audio for repeated text +3. **Batch Processing**: Process multiple texts efficiently +4. **Optimize Text**: Remove unnecessary content before generation +5. **Async Processing**: Use queues for handling multiple requests + +## Important Notes + +### API Constraints + +**Input Text Length**: Maximum 1024 characters per request. For longer text: +```javascript +// Split long text into chunks +const longText = "..."; // Your long text here +const chunks = splitTextIntoChunks(longText, 1000); + +for (const chunk of chunks) { + const response = await zai.audio.tts.create({ + input: chunk, + voice: 'tongtong', + speed: 1.0, + response_format: 'wav', + stream: false + }); + // Process each chunk... +} +``` + +**Streaming Format Limitation**: When using `stream: true`, only `pcm` format is supported. For `wav` or `mp3` output, use `stream: false`. + +**Sample Rate**: Audio is generated at 24000 Hz sample rate (recommended setting for playback). + +### Response Object Format + +The `zai.audio.tts.create()` method returns a standard **Response** object (not a custom object with an `audio` property). Always use: + +```javascript +// ✅ CORRECT +const response = await zai.audio.tts.create({ ... }); +const arrayBuffer = await response.arrayBuffer(); +const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + +// ❌ WRONG - This will not work +const response = await zai.audio.tts.create({ ... }); +const buffer = Buffer.from(response.audio); // response.audio is undefined +``` + +### Available Voices + +- `tongtong` - 温暖亲切 +- `chuichui` - 活泼可爱 +- `xiaochen` - 沉稳专业 +- `jam` - 英音绅士 +- `kazi` - 清晰标准 +- `douji` - 自然流畅 +- `luodo` - 富有感染力 + +### Speed Range + +- Minimum: `0.5` (half speed) +- Default: `1.0` (normal speed) +- Maximum: `2.0` (double speed) + +**Important**: Speed values outside the range [0.5, 2.0] will result in API errors. + +### Volume Range + +- Minimum: Greater than `0` (exclusive) +- Default: `1.0` (normal volume) +- Maximum: `10` (inclusive) + +**Note**: Volume parameter is optional. When not specified, defaults to 1.0. + +## Remember + +- Always use z-ai-web-dev-sdk in backend code only +- **Input text is limited to 1024 characters maximum** - split longer text into chunks +- **Speed must be between 0.5 and 2.0** - values outside this range will cause errors +- **Volume must be greater than 0 and up to 10** - optional parameter with default 1.0 +- **Streaming only supports PCM format** - use non-streaming for WAV or MP3 output +- The SDK returns a standard Response object - use `await response.arrayBuffer()` +- Convert ArrayBuffer to Buffer using `Buffer.from(new Uint8Array(arrayBuffer))` +- Handle audio buffers properly when saving to files +- Implement error handling for production applications +- Consider caching for frequently generated content +- Clean up old audio files periodically to manage storage diff --git a/skills/TTS/tts.ts b/skills/TTS/tts.ts new file mode 100755 index 0000000..14f6de7 --- /dev/null +++ b/skills/TTS/tts.ts @@ -0,0 +1,25 @@ +import ZAI from "z-ai-web-dev-sdk"; +import fs from "fs"; + +async function main(text: string, outFile: string) { + try { + const zai = await ZAI.create(); + + const response = await zai.audio.tts.create({ + input: text, + voice: "tongtong", + speed: 1.0, + response_format: "wav", + stream: false, + }); + + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + fs.writeFileSync(outFile, buffer); + console.log(`TTS audio saved to ${outFile}`); + } catch (err: any) { + console.error("TTS failed:", err?.message || err); + } +} + +main("Hello, world!", "./output.wav"); diff --git a/skills/VLM/LICENSE.txt b/skills/VLM/LICENSE.txt new file mode 100755 index 0000000..1e54539 --- /dev/null +++ b/skills/VLM/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 z-ai-web-dev-sdk Skills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/VLM/SKILL.md b/skills/VLM/SKILL.md new file mode 100755 index 0000000..67b995b --- /dev/null +++ b/skills/VLM/SKILL.md @@ -0,0 +1,588 @@ +--- +name: VLM +description: Implement vision-based AI chat capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to analyze images, describe visual content, or create applications that combine image understanding with conversational AI. Supports image URLs and base64 encoded images for multimodal interactions. +license: MIT +--- + +# VLM(Vision Chat) Skill + +This skill guides the implementation of vision chat functionality using the z-ai-web-dev-sdk package, enabling AI models to understand and respond to images combined with text prompts. + +## Skills Path + +**Skill Location**: `{project_path}/skills/VLM` + +this skill is located at above path in your project. + +**Reference Scripts**: Example test scripts are available in the `{Skill Location}/scripts/` directory for quick testing and reference. See `{Skill Location}/scripts/vlm.ts` for a working example. + +## Overview + +Vision Chat allows you to build applications that can analyze images, extract information from visual content, and answer questions about images through natural language conversation. + +**IMPORTANT**: z-ai-web-dev-sdk MUST be used in backend code only. Never use it in client-side code. + +## Prerequisites + +The z-ai-web-dev-sdk package is already installed. Import it as shown in the examples below. + +## CLI Usage (For Simple Tasks) + +For simple image analysis tasks, you can use the z-ai CLI instead of writing code. This is ideal for quick image descriptions, testing vision capabilities, or simple automation. + +### Basic Image Analysis + +```bash +# Describe an image from URL +z-ai vision --prompt "What's in this image?" --image "https://example.com/photo.jpg" + +# Using short options +z-ai vision -p "Describe this image" -i "https://example.com/image.png" +``` + +### Analyze Local Images + +```bash +# Analyze a local image file +z-ai vision -p "What objects are in this photo?" -i "./photo.jpg" + +# Save response to file +z-ai vision -p "Describe the scene" -i "./landscape.png" -o description.json +``` + +### Multiple Images + +```bash +# Analyze multiple images at once +z-ai vision \ + -p "Compare these two images" \ + -i "./photo1.jpg" \ + -i "./photo2.jpg" \ + -o comparison.json + +# Multiple images with detailed analysis +z-ai vision \ + --prompt "What are the differences between these images?" \ + --image "https://example.com/before.jpg" \ + --image "https://example.com/after.jpg" +``` + +### With Thinking (Chain of Thought) + +```bash +# Enable thinking for complex visual reasoning +z-ai vision \ + -p "Count the number of people in this image and describe their activities" \ + -i "./crowd.jpg" \ + --thinking \ + -o analysis.json +``` + +### Streaming Output + +```bash +# Stream the vision analysis +z-ai vision -p "Describe this image in detail" -i "./photo.jpg" --stream +``` + +### CLI Parameters + +- `--prompt, -p `: **Required** - Question or instruction about the image(s) +- `--image, -i `: Optional - Image URL or local file path (can be used multiple times) +- `--thinking, -t`: Optional - Enable chain-of-thought reasoning (default: disabled) +- `--output, -o `: Optional - Output file path (JSON format) +- `--stream`: Optional - Stream the response in real-time + +### Supported Image Formats + +- PNG (.png) +- JPEG (.jpg, .jpeg) +- GIF (.gif) +- WebP (.webp) +- BMP (.bmp) + +### When to Use CLI vs SDK + +**Use CLI for:** +- Quick image analysis +- Testing vision model capabilities +- One-off image descriptions +- Simple automation scripts + +**Use SDK for:** +- Multi-turn conversations with images +- Dynamic image analysis in applications +- Batch processing with custom logic +- Production applications with complex workflows + +## Recommended Approach + +For better performance and reliability, use base64 encoding to pass images to the model instead of image URLs. + +## Supported Content Types + +The Vision Chat API supports three types of media content: + +### 1. **image_url** - For Image Files +Use this type for static images (PNG, JPEG, GIF, WebP, etc.) +```typescript +{ + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] +} +``` + +### 2. **video_url** - For Video Files +Use this type for video content (MP4, AVI, MOV, etc.) +```typescript +{ + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'video_url', video_url: { url: videoUrl } } + ] +} +``` + +### 3. **file_url** - For Document Files +Use this type for document files (PDF, DOCX, TXT, etc.) +```typescript +{ + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'file_url', file_url: { url: fileUrl } } + ] +} +``` + +**Note**: You can combine multiple content types in a single message. For example, you can include both text and multiple images, or text with both an image and a document. + +## Basic Vision Chat Implementation + +### Single Image Analysis + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function analyzeImage(imageUrl, question) { + const zai = await ZAI.create(); + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { + type: 'text', + text: question + }, + { + type: 'image_url', + image_url: { + url: imageUrl + } + } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} + +// Usage +const result = await analyzeImage( + 'https://example.com/product.jpg', + 'Describe this product in detail' +); +console.log('Analysis:', result); +``` + +### Multiple Images Analysis + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function compareImages(imageUrls, question) { + const zai = await ZAI.create(); + + const content = [ + { + type: 'text', + text: question + }, + ...imageUrls.map(url => ({ + type: 'image_url', + image_url: { url } + })) + ]; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: content + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} + +// Usage +const comparison = await compareImages( + [ + 'https://example.com/before.jpg', + 'https://example.com/after.jpg' + ], + 'Compare these two images and describe the differences' +); +``` + +### Base64 Image Support + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function analyzeLocalImage(imagePath, question) { + const zai = await ZAI.create(); + + // Read image file and convert to base64 + const imageBuffer = fs.readFileSync(imagePath); + const base64Image = imageBuffer.toString('base64'); + const mimeType = imagePath.endsWith('.png') ? 'image/png' : 'image/jpeg'; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { + type: 'text', + text: question + }, + { + type: 'image_url', + image_url: { + url: `data:${mimeType};base64,${base64Image}` + } + } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} +``` + +## Advanced Use Cases + +### Conversational Vision Chat + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +class VisionChatSession { + constructor() { + this.messages = []; + } + + async initialize() { + this.zai = await ZAI.create(); + } + + async addImage(imageUrl, initialQuestion) { + this.messages.push({ + role: 'user', + content: [ + { + type: 'text', + text: initialQuestion + }, + { + type: 'image_url', + image_url: { url: imageUrl } + } + ] + }); + + return this.getResponse(); + } + + async followUp(question) { + this.messages.push({ + role: 'user', + content: [ + { + type: 'text', + text: question + } + ] + }); + + return this.getResponse(); + } + + async getResponse() { + const response = await this.zai.chat.completions.createVision({ + messages: this.messages, + thinking: { type: 'disabled' } + }); + + const assistantMessage = response.choices[0]?.message?.content; + + this.messages.push({ + role: 'assistant', + content: assistantMessage + }); + + return assistantMessage; + } +} + +// Usage +const session = new VisionChatSession(); +await session.initialize(); + +const initial = await session.addImage( + 'https://example.com/chart.jpg', + 'What does this chart show?' +); +console.log('Initial analysis:', initial); + +const followup = await session.followUp('What are the key trends?'); +console.log('Follow-up:', followup); +``` + +### Image Classification and Tagging + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function classifyImage(imageUrl) { + const zai = await ZAI.create(); + + const prompt = `Analyze this image and provide: +1. Main subject/category +2. Key objects detected +3. Scene description +4. Suggested tags (comma-separated) + +Format your response as JSON.`; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { + type: 'text', + text: prompt + }, + { + type: 'image_url', + image_url: { url: imageUrl } + } + ] + } + ], + thinking: { type: 'disabled' } + }); + + const content = response.choices[0]?.message?.content; + + try { + return JSON.parse(content); + } catch (e) { + return { rawResponse: content }; + } +} +``` + +### OCR and Text Extraction + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function extractText(imageUrl) { + const zai = await ZAI.create(); + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { + type: 'text', + text: 'Extract all text from this image. Preserve the layout and formatting as much as possible.' + }, + { + type: 'image_url', + image_url: { url: imageUrl } + } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} +``` + +## Best Practices + +### 1. Image Quality and Size +- Use high-quality images for better analysis results +- Optimize image size to balance quality and processing speed +- Supported formats: JPEG, PNG, WebP + +### 2. Prompt Engineering +- Be specific about what information you need from the image +- Structure complex requests with numbered lists or bullet points +- Provide context about the image type (photo, diagram, chart, etc.) + +### 3. Error Handling +```javascript +async function safeVisionChat(imageUrl, question) { + try { + const zai = await ZAI.create(); + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: question }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return { + success: true, + content: response.choices[0]?.message?.content + }; + } catch (error) { + console.error('Vision chat error:', error); + return { + success: false, + error: error.message + }; + } +} +``` + +### 4. Performance Optimization +- Cache SDK instance creation when processing multiple images +- Use appropriate image formats (JPEG for photos, PNG for diagrams) +- Consider image preprocessing for large batches + +### 5. Security Considerations +- Validate image URLs before processing +- Sanitize user-provided image data +- Implement rate limiting for public-facing APIs +- Never expose SDK credentials in client-side code + +## Common Use Cases + +1. **Product Analysis**: Analyze product images for e-commerce applications +2. **Document Understanding**: Extract information from receipts, invoices, forms +3. **Medical Imaging**: Assist in preliminary analysis (with appropriate disclaimers) +4. **Quality Control**: Detect defects or anomalies in manufacturing +5. **Content Moderation**: Analyze images for policy compliance +6. **Accessibility**: Generate alt text for images automatically +7. **Visual Search**: Understand and categorize images for search functionality + +## Integration Examples + +### Express.js API Endpoint + +```javascript +import express from 'express'; +import ZAI from 'z-ai-web-dev-sdk'; + +const app = express(); +app.use(express.json()); + +let zaiInstance; + +// Initialize SDK once +async function initZAI() { + zaiInstance = await ZAI.create(); +} + +app.post('/api/analyze-image', async (req, res) => { + try { + const { imageUrl, question } = req.body; + + if (!imageUrl || !question) { + return res.status(400).json({ + error: 'imageUrl and question are required' + }); + } + + const response = await zaiInstance.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: question }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + res.json({ + success: true, + analysis: response.choices[0]?.message?.content + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +initZAI().then(() => { + app.listen(3000, () => { + console.log('Vision chat API running on port 3000'); + }); +}); +``` + +## Troubleshooting + +**Issue**: "SDK must be used in backend" +- **Solution**: Ensure z-ai-web-dev-sdk is only imported and used in server-side code + +**Issue**: Image not loading or being analyzed +- **Solution**: Verify the image URL is accessible and returns a valid image format + +**Issue**: Poor analysis quality +- **Solution**: Provide more specific prompts and ensure image quality is sufficient + +**Issue**: Slow response times +- **Solution**: Optimize image size and consider caching frequently analyzed images + +## Remember + +- Always use z-ai-web-dev-sdk in backend code only +- The SDK is already installed - import as shown in examples +- Structure prompts clearly for best results +- Handle errors gracefully in production applications +- Consider user privacy when processing images diff --git a/skills/VLM/scripts/vlm.ts b/skills/VLM/scripts/vlm.ts new file mode 100755 index 0000000..5a9a88f --- /dev/null +++ b/skills/VLM/scripts/vlm.ts @@ -0,0 +1,57 @@ +import ZAI, { VisionMessage } from 'z-ai-web-dev-sdk'; + +async function main(imageUrl: string, prompt: string) { + try { + const zai = await ZAI.create(); + + const messages: VisionMessage[] = [ + { + role: 'assistant', + content: [ + { type: 'text', text: 'Output only text, no markdown.' } + ] + }, + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ]; + + // const messages: VisionMessage[] = [ + // { + // role: 'user', + // content: [ + // { type: 'text', text: prompt }, + // { type: 'video_url', video_url: { url: imageUrl } } + // ] + // } + // ]; + + // const messages: VisionMessage[] = [ + // { + // role: 'user', + // content: [ + // { type: 'text', text: prompt }, + // { type: 'file_url', file_url: { url: imageUrl } } + // ] + // } + // ]; + + const response = await zai.chat.completions.createVision({ + model: 'glm-4.6v', + messages, + thinking: { type: 'disabled' } + }); + + const reply = response.choices?.[0]?.message?.content; + console.log('Vision model reply:'); + console.log(reply ?? JSON.stringify(response, null, 2)); + } catch (err: any) { + console.error('Vision chat failed:', err?.message || err); + } +} + +main("https://cdn.bigmodel.cn/static/logo/register.png", "Please describe this image."); diff --git a/skills/agent-browser/SKILL.md b/skills/agent-browser/SKILL.md new file mode 100755 index 0000000..85d1ac3 --- /dev/null +++ b/skills/agent-browser/SKILL.md @@ -0,0 +1,328 @@ +--- +name: Agent Browser +description: A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands. +read_when: + - Automating web interactions + - Extracting structured data from pages + - Filling forms programmatically + - Testing web UIs +metadata: {"clawdbot":{"emoji":"🌐","requires":{"bins":["node","npm"]}}} +allowed-tools: Bash(agent-browser:*) +--- + +# Browser Automation with agent-browser + +## Installation + +### npm recommended + +```bash +npm install -g agent-browser +agent-browser install +agent-browser install --with-deps +``` + +### From Source + +```bash +git clone https://github.com/vercel-labs/agent-browser +cd agent-browser +pnpm install +pnpm build +agent-browser install +``` + +## Quick start + +```bash +agent-browser open # Navigate to page +agent-browser snapshot -i # Get interactive elements with refs +agent-browser click @e1 # Click element by ref +agent-browser fill @e2 "text" # Fill input by ref +agent-browser close # Close browser +``` + +## Core workflow + +1. Navigate: `agent-browser open ` +2. Snapshot: `agent-browser snapshot -i` (returns elements with refs like `@e1`, `@e2`) +3. Interact using refs from the snapshot +4. Re-snapshot after navigation or significant DOM changes + +## Commands + +### Navigation + +```bash +agent-browser open # Navigate to URL +agent-browser back # Go back +agent-browser forward # Go forward +agent-browser reload # Reload page +agent-browser close # Close browser +``` + +### Snapshot (page analysis) + +```bash +agent-browser snapshot # Full accessibility tree +agent-browser snapshot -i # Interactive elements only (recommended) +agent-browser snapshot -c # Compact output +agent-browser snapshot -d 3 # Limit depth to 3 +agent-browser snapshot -s "#main" # Scope to CSS selector +``` + +### Interactions (use @refs from snapshot) + +```bash +agent-browser click @e1 # Click +agent-browser dblclick @e1 # Double-click +agent-browser focus @e1 # Focus element +agent-browser fill @e2 "text" # Clear and type +agent-browser type @e2 "text" # Type without clearing +agent-browser press Enter # Press key +agent-browser press Control+a # Key combination +agent-browser keydown Shift # Hold key down +agent-browser keyup Shift # Release key +agent-browser hover @e1 # Hover +agent-browser check @e1 # Check checkbox +agent-browser uncheck @e1 # Uncheck checkbox +agent-browser select @e1 "value" # Select dropdown +agent-browser scroll down 500 # Scroll page +agent-browser scrollintoview @e1 # Scroll element into view +agent-browser drag @e1 @e2 # Drag and drop +agent-browser upload @e1 file.pdf # Upload files +``` + +### Get information + +```bash +agent-browser get text @e1 # Get element text +agent-browser get html @e1 # Get innerHTML +agent-browser get value @e1 # Get input value +agent-browser get attr @e1 href # Get attribute +agent-browser get title # Get page title +agent-browser get url # Get current URL +agent-browser get count ".item" # Count matching elements +agent-browser get box @e1 # Get bounding box +``` + +### Check state + +```bash +agent-browser is visible @e1 # Check if visible +agent-browser is enabled @e1 # Check if enabled +agent-browser is checked @e1 # Check if checked +``` + +### Screenshots & PDF + +```bash +agent-browser screenshot # Screenshot to stdout +agent-browser screenshot path.png # Save to file +agent-browser screenshot --full # Full page +agent-browser pdf output.pdf # Save as PDF +``` + +### Video recording + +```bash +agent-browser record start ./demo.webm # Start recording (uses current URL + state) +agent-browser click @e1 # Perform actions +agent-browser record stop # Stop and save video +agent-browser record restart ./take2.webm # Stop current + start new recording +``` + +Recording creates a fresh context but preserves cookies/storage from your session. If no URL is provided, it automatically returns to your current page. For smooth demos, explore first, then start recording. + +### Wait + +```bash +agent-browser wait @e1 # Wait for element +agent-browser wait 2000 # Wait milliseconds +agent-browser wait --text "Success" # Wait for text +agent-browser wait --url "/dashboard" # Wait for URL pattern +agent-browser wait --load networkidle # Wait for network idle +agent-browser wait --fn "window.ready" # Wait for JS condition +``` + +### Mouse control + +```bash +agent-browser mouse move 100 200 # Move mouse +agent-browser mouse down left # Press button +agent-browser mouse up left # Release button +agent-browser mouse wheel 100 # Scroll wheel +``` + +### Semantic locators (alternative to refs) + +```bash +agent-browser find role button click --name "Submit" +agent-browser find text "Sign In" click +agent-browser find label "Email" fill "user@test.com" +agent-browser find first ".item" click +agent-browser find nth 2 "a" text +``` + +### Browser settings + +```bash +agent-browser set viewport 1920 1080 # Set viewport size +agent-browser set device "iPhone 14" # Emulate device +agent-browser set geo 37.7749 -122.4194 # Set geolocation +agent-browser set offline on # Toggle offline mode +agent-browser set headers '{"X-Key":"v"}' # Extra HTTP headers +agent-browser set credentials user pass # HTTP basic auth +agent-browser set media dark # Emulate color scheme +``` + +### Cookies & Storage + +```bash +agent-browser cookies # Get all cookies +agent-browser cookies set name value # Set cookie +agent-browser cookies clear # Clear cookies +agent-browser storage local # Get all localStorage +agent-browser storage local key # Get specific key +agent-browser storage local set k v # Set value +agent-browser storage local clear # Clear all +``` + +### Network + +```bash +agent-browser network route # Intercept requests +agent-browser network route --abort # Block requests +agent-browser network route --body '{}' # Mock response +agent-browser network unroute [url] # Remove routes +agent-browser network requests # View tracked requests +agent-browser network requests --filter api # Filter requests +``` + +### Tabs & Windows + +```bash +agent-browser tab # List tabs +agent-browser tab new [url] # New tab +agent-browser tab 2 # Switch to tab +agent-browser tab close # Close tab +agent-browser window new # New window +``` + +### Frames + +```bash +agent-browser frame "#iframe" # Switch to iframe +agent-browser frame main # Back to main frame +``` + +### Dialogs + +```bash +agent-browser dialog accept [text] # Accept dialog +agent-browser dialog dismiss # Dismiss dialog +``` + +### JavaScript + +```bash +agent-browser eval "document.title" # Run JavaScript +``` + +### State management + +```bash +agent-browser state save auth.json # Save session state +agent-browser state load auth.json # Load saved state +``` + +## Example: Form submission + +```bash +agent-browser open https://example.com/form +agent-browser snapshot -i +# Output shows: textbox "Email" [ref=e1], textbox "Password" [ref=e2], button "Submit" [ref=e3] + +agent-browser fill @e1 "user@example.com" +agent-browser fill @e2 "password123" +agent-browser click @e3 +agent-browser wait --load networkidle +agent-browser snapshot -i # Check result +``` + +## Example: Authentication with saved state + +```bash +# Login once +agent-browser open https://app.example.com/login +agent-browser snapshot -i +agent-browser fill @e1 "username" +agent-browser fill @e2 "password" +agent-browser click @e3 +agent-browser wait --url "/dashboard" +agent-browser state save auth.json + +# Later sessions: load saved state +agent-browser state load auth.json +agent-browser open https://app.example.com/dashboard +``` + +## Sessions (parallel browsers) + +```bash +agent-browser --session test1 open site-a.com +agent-browser --session test2 open site-b.com +agent-browser session list +``` + +## JSON output (for parsing) + +Add `--json` for machine-readable output: + +```bash +agent-browser snapshot -i --json +agent-browser get text @e1 --json +``` + +## Debugging + +```bash +agent-browser open example.com --headed # Show browser window +agent-browser console # View console messages +agent-browser console --clear # Clear console +agent-browser errors # View page errors +agent-browser errors --clear # Clear errors +agent-browser highlight @e1 # Highlight element +agent-browser trace start # Start recording trace +agent-browser trace stop trace.zip # Stop and save trace +agent-browser record start ./debug.webm # Record from current page +agent-browser record stop # Save recording +agent-browser --cdp 9222 snapshot # Connect via CDP +``` + +## Troubleshooting + +- If the command is not found on Linux ARM64, use the full path in the bin folder. +- If an element is not found, use snapshot to find the correct ref. +- If the page is not loaded, add a wait command after navigation. +- Use --headed to see the browser window for debugging. + +## Options + +- --session uses an isolated session. +- --json provides JSON output. +- --full takes a full page screenshot. +- --headed shows the browser window. +- --timeout sets the command timeout in milliseconds. +- --cdp connects via Chrome DevTools Protocol. + +## Notes + +- Refs are stable per page load but change on navigation. +- Always snapshot after navigation to get new refs. +- Use fill instead of type for input fields to ensure existing text is cleared. + +## Reporting Issues + +- Skill issues: Open an issue at https://github.com/TheSethRose/Agent-Browser-CLI +- agent-browser CLI issues: Open an issue at https://github.com/vercel-labs/agent-browser diff --git a/skills/ai-news-collectors/SKILL.md b/skills/ai-news-collectors/SKILL.md new file mode 100755 index 0000000..38ac662 --- /dev/null +++ b/skills/ai-news-collectors/SKILL.md @@ -0,0 +1,157 @@ +--- +name: ai-news-collector +description: AI 新闻聚合与热度排序工具。当用户询问 AI 领域最新动态时触发,如:"今天有什么 AI 新闻?""总结一下这周的 AI 动态""最近有什么火的 AI 产品?""AI 圈最近在讨论什么?"。覆盖:新产品发布、研究论文、行业动态、融资新闻、开源项目更新、社区病毒传播现象、AI 工具/Agent 热门项目。输出中文摘要列表,按热度排序,附带原文链接。 +--- + +# AI News Collector + +收集、聚合并按热度排序 AI 领域新闻。 + +## 核心原则 + +**不要只搜"AI news today"。** 泛搜索返回的是 SEO 聚合页和趋势预测文章,会系统性遗漏社区级病毒传播现象(如开源工具爆火、Meme 级事件)。必须用多维度、分层搜索策略。 + +## 工作流程 + +### 1. 多维度分层搜索(最少 8 次,建议 10-12 次) + +按以下 **6 个维度** 依次执行搜索,每个维度至少 1 次: + +#### 维度 A:周报/Newsletter 聚合(最优先 🔑) + +这是信息密度最高的来源,一篇文章可覆盖 10+ 条新闻。 + +``` +搜索词: +- "last week in AI" [当前月份年份] +- "AI weekly roundup" [当前月份年份] +- "the batch AI newsletter" +- site:substack.com AI news [当前月份] +``` + +发现周报后,用 web_fetch 获取全文,从中提取所有新闻线索。 + +#### 维度 B:社区热度/病毒传播(关键维度 🔑) + +捕捉自下而上的社区爆款,这类信息泛搜索几乎无法触达。 + +``` +搜索词: +- "viral AI tool" OR "viral AI agent" +- "AI trending" site:reddit.com OR site:news.ycombinator.com +- "GitHub trending AI" OR "AI open source trending" +- AI buzzing OR "everyone is talking about" AI +- "most popular AI" this week +``` + +#### 维度 C:产品发布与模型更新 + +``` +搜索词: +- "AI model release" OR "LLM launch" [当前月份] +- "AI product launch" [当前月份年份] +- OpenAI OR Anthropic OR Google OR Meta AI announcement +- "大模型 发布" OR "AI 新产品" +``` + +#### 维度 D:融资与商业 + +``` +搜索词: +- "AI startup funding" [当前月份年份] +- "AI acquisition" OR "AI IPO" +- "AI 融资" OR "人工智能投资" +``` + +#### 维度 E:研究突破 + +``` +搜索词: +- "AI breakthrough" OR "AI paper" [当前月份] +- "state of the art" machine learning +- "AI 论文" OR "机器学习突破" +``` + +#### 维度 F:监管与政策 + +``` +搜索词: +- "AI regulation" OR "AI policy" [当前月份年份] +- "AI law" OR "AI governance" +- "AI 监管" OR "人工智能法案" +``` + +### 2. 交叉验证与补漏 + +初轮搜索完成后,检查是否有遗漏: + +- 如果 Newsletter 中提到了某个项目/事件但初轮搜索未覆盖 → 对该项目专项搜索 +- 如果同一事件被 3+ 个不同来源提及 → 大概率是热点,深入搜索获取更多细节 +- 如果中文媒体和英文媒体的热点完全不同 → 两边都要覆盖 + +### 3. 搜索关键词设计原则(反模式清单) + +| ❌ 不要这样搜 | ✅ 应该这样搜 | 原因 | +|---|---|---| +| "AI news today February 2026" | "AI weekly roundup February 2026" | 前者返回聚合页,后者返回策划内容 | +| "AI news today" | "viral AI tool" + "AI model release" 分开搜 | 泛搜无法覆盖社区现象 | +| "artificial intelligence breaking news" | 按维度分类搜索 | 过于宽泛,返回噪音 | +| 搜索词中加具体年月日 | 用 "this week" "today" "latest" | 日期反而会偏向预测/展望文章 | +| 只搜 3 次就开始写 | 至少 8 次,覆盖 6 个维度 | 3 次搜索覆盖率不到 30% | + +### 4. 热度综合判断 + +基于以下信号评估每条新闻热度(1-5 星): + +| 信号 | 权重 | 说明 | +|------|------|------| +| 多家媒体报道同一事件 | ⭐⭐⭐ 高 | 3+ 来源 = 确认热点 | +| 社区病毒传播证据 | ⭐⭐⭐ 高 | GitHub star 暴涨、Twitter 刷屏、HN 首页 | +| 来自权威来源(顶会、大厂官宣) | ⭐⭐⭐ 高 | 但注意大厂 PR 不等于真热点 | +| 实际用户体验分享 | ⭐⭐ 中 | 有人真的在用 > 只是发布了 | +| 技术突破性/影响范围 | ⭐⭐ 中 | | +| 争议性(安全、伦理讨论) | ⭐⭐ 中 | 争议往往说明影响力大 | +| 时效性(越新越热) | ⭐ 中低 | 辅助排序 | + +### 5. 输出格式 + +按热度降序排列,输出 **15-25 条**新闻: + +``` +## 🔥 AI 新闻速递(YYYY-MM-DD) + +### ⭐⭐⭐⭐⭐ 热度最高 + +1. **[新闻标题]** + > 一句话摘要(不超过 50 字) + > 🔗 [来源名称](URL) + +### ⭐⭐⭐⭐ 高热度 + +2. ... + +### ⭐⭐⭐ 中等热度 + +... + +--- +📊 本次共收集 XX 条新闻 | 搜索 XX 次 | 覆盖维度:A/B/C/D/E/F | 更新时间:HH:MM +``` + +### 6. 去重与合并 + +- 同一事件被多家报道时,合并为一条,选择最权威/详细的来源 +- 在摘要中注明"多家媒体报道"以体现热度 +- 改名/更名的项目视为同一事件(如 Clawdbot → Moltbot → OpenClaw) + +## 推荐新闻源 + +详见 [references/sources.md](references/sources.md)。 + +## 注意事项 + +- 优先使用 HTTPS 链接 +- 遇到付费墙/无法访问的内容,标注"需订阅" +- 保持客观,不对新闻内容做主观评价 +- 搜索不足 8 次不要开始输出 +- 如果某个维度搜索结果为空,换关键词再搜一次 diff --git a/skills/ai-news-collectors/_meta.json b/skills/ai-news-collectors/_meta.json new file mode 100755 index 0000000..217dade --- /dev/null +++ b/skills/ai-news-collectors/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn7fr165ff9vkkwsqyqrq2nwas80t4ev", + "slug": "ai-news-collectors", + "version": "1.0.0", + "publishedAt": 1770615394344 +} \ No newline at end of file diff --git a/skills/ai-news-collectors/references/sources.md b/skills/ai-news-collectors/references/sources.md new file mode 100755 index 0000000..548fd9a --- /dev/null +++ b/skills/ai-news-collectors/references/sources.md @@ -0,0 +1,128 @@ +# AI 新闻源推荐列表 + +## Newsletter / 周报(信息密度最高 🔑) + +| 来源 | 网址 | 特点 | +|------|------|------| +| Last Week in AI | lastweekin.ai / medium.com/last-week-in-ai | 每周最全面的 AI 新闻汇总 | +| The Batch (Andrew Ng) | deeplearning.ai/the-batch | 权威周报 | +| Import AI (Jack Clark) | importai.net | Anthropic 联创的 AI 周报 | +| Platformer (Casey Newton) | platformer.news | 科技深度分析,覆盖 AI | +| The Neuron | theneurondaily.com | 每日 AI 简报 | +| Ben's Bites | bensbites.com | AI 产品/工具为主 | +| AI Tidbits | aitidbits.substack.com | AI 动态精选 | +| TLDR AI | tldr.tech/ai | 每日 AI 简报 | +| Interconnects | interconnects.ai | 深度技术分析 | + +## 关键 Substack / 独立博客 + +| 来源 | 网址 | 特点 | +|------|------|------| +| Gary Marcus | garymarcus.substack.com | AI 批评性分析,常首发安全/争议话题 | +| Simon Willison | simonwillison.net | LLM 安全、工具生态,社区现象第一手报道 | +| Ethan Mollick | oneusefulthing.substack.com | Wharton 教授,AI 应用洞察 | +| Lenny's Newsletter | lennysnewsletter.com | AI 产品/增长 | +| Understanding AI | understandingai.org | 趋势分析与预测 | +| Nathan Lebenz (Cognitive Revolution) | cognitiverevolution.substack.com | AI 深度访谈 | + +## 国际主流媒体 + +| 来源 | 网址 | 侧重 | +|------|------|------| +| TechCrunch AI | techcrunch.com/category/artificial-intelligence | 产品、融资 | +| The Verge AI | theverge.com/ai-artificial-intelligence | 产品、行业 | +| Ars Technica | arstechnica.com/ai | 深度分析 | +| VentureBeat AI | venturebeat.com/ai | 企业 AI | +| MIT Tech Review | technologyreview.com/artificial-intelligence | 研究、趋势 | +| Wired AI | wired.com/tag/artificial-intelligence | 行业影响 | +| CNBC Tech | cnbc.com/technology | 商业+科技交叉 | +| Scientific American | scientificamerican.com | 科学视角 AI | +| The Information | theinformation.com | 深度报道(付费) | + +## 国内媒体 + +| 来源 | 网址 | 侧重 | +|------|------|------| +| 机器之心 | jiqizhixin.com | 技术、论文 | +| 量子位 | qbitai.com | 产品、行业 | +| 36氪 AI | 36kr.com/information/AI | 融资、产品 | +| InfoQ AI | infoq.cn/topic/AI | 技术实践 | +| 新智元 | xinzhiyuan.com | 行业动态 | +| AI 科技评论 | leiphone.com/category/ai | 技术、产品 | + +## 社区与论坛(捕捉病毒传播 🔑) + +| 来源 | 网址 | 特点 | +|------|------|------| +| Hacker News | news.ycombinator.com | 技术讨论热度,开源项目首发 | +| Reddit r/MachineLearning | reddit.com/r/MachineLearning | 学术前沿 | +| Reddit r/artificial | reddit.com/r/artificial | 综合讨论 | +| Reddit r/LocalLLaMA | reddit.com/r/LocalLLaMA | 本地模型、开源工具热度 | +| Reddit r/singularity | reddit.com/r/singularity | AI 社区热议 | +| Twitter/X | twitter.com | 实时动态,病毒传播首发地 | +| 即刻 AI 圈子 | okjike.com | 国内社区讨论 | +| V2EX | v2ex.com | 开发者视角 | +| 知乎 | zhihu.com | 深度技术讨论 | + +## 安全与批评视角 + +| 来源 | 网址 | 特点 | +|------|------|------| +| Palo Alto Networks Blog | paloaltonetworks.com/blog | AI 安全预警 | +| 1Password Blog | 1password.com/blog | Agent 安全分析 | +| Trail of Bits | blog.trailofbits.com | AI 安全研究 | + +## 学术与研究 + +| 来源 | 网址 | 特点 | +|------|------|------| +| arXiv CS.AI | arxiv.org/list/cs.AI/recent | 最新论文 | +| arXiv CS.LG | arxiv.org/list/cs.LG/recent | 机器学习论文 | +| Papers With Code | paperswithcode.com | 论文+代码 | +| Google AI Blog | ai.googleblog.com | 谷歌研究 | +| OpenAI Blog | openai.com/blog | OpenAI 动态 | +| Anthropic News | anthropic.com/news | Anthropic 动态 | +| DeepMind Blog | deepmind.com/blog | DeepMind 研究 | +| Meta AI | ai.meta.com/blog | Meta 研究 | +| Hugging Face Blog | huggingface.co/blog | 开源生态 | + +## 开源项目追踪 + +| 来源 | 网址 | 特点 | +|------|------|------| +| GitHub Trending | github.com/trending | 热门项目,必查 | +| Product Hunt AI | producthunt.com/topics/artificial-intelligence | 新产品发布 | +| Awesome LLM | github.com/Hannibal046/Awesome-LLM | LLM 资源汇总 | +| Hugging Face Models | huggingface.co/models | 新模型发布 | + +## 搜索关键词矩阵 + +每个维度对应的推荐搜索词: + +**Newsletter/周报**: +- `"last week in AI" [月份 年份]` +- `"AI weekly roundup" [月份 年份]` +- `site:substack.com AI news [月份]` + +**社区病毒传播**: +- `"viral AI tool" OR "viral AI agent"` +- `"AI trending" site:reddit.com` +- `"GitHub trending AI"` +- `AI "everyone is talking about"` + +**产品发布**: +- `"AI model release" OR "LLM launch" [月份]` +- `OpenAI OR Anthropic OR Google announcement` +- `"大模型发布" OR "AI 新产品"` + +**研究突破**: +- `"AI breakthrough" OR "state of the art" [月份]` +- `"AI paper" OR "machine learning research"` + +**融资商业**: +- `"AI startup funding" [月份 年份]` +- `"AI acquisition" OR "AI IPO"` + +**监管政策**: +- `"AI regulation" OR "AI policy" [月份 年份]` +- `"AI law" OR "AI 监管"` diff --git a/skills/aminer-academic-search/SKILL.md b/skills/aminer-academic-search/SKILL.md new file mode 100755 index 0000000..9b133f3 --- /dev/null +++ b/skills/aminer-academic-search/SKILL.md @@ -0,0 +1,157 @@ +--- +name: aminer-academic-search +description: > + ACADEMIC PRIORITY: Activate whenever the user's query involves academic, + scholarly, or research-related topics — papers, citations, scholars, + institutions, venues, patents, research trends, or any "who published what / + where / when" question. Takes precedence over general web search for academic + data needs. Routes through the z-ai gateway's `/v1/functions/invoke` endpoint + to the AMiner Open Platform (27 APIs, 5 workflows). +--- + +# aminer-academic-search + +Wraps 27 AMiner Open Platform APIs through the local gateway. The gateway owns +the `AMINER_API_KEY`; the skill only needs a `.z-ai-config` file to reach the +gateway. + +## When to activate + +Any academic/scholarly query — papers, citations, scholars, institutions, +venues, patents. Covers: +- Scholar full profile (bio, education, honors, papers, patents, projects) +- Paper deep dive (full abstract, keywords, authors, citation chain) +- Multi-condition or semantic paper search +- Institution research capability analysis +- Venue annual monitoring +- Patent deep details (IPC/CPC, assignee, claims) + +## Config + +Script reads `.z-ai-config`, in order: +1. `./.z-ai-config` +2. `~/.z-ai-config` +3. `/etc/.z-ai-config` + +Required fields: `baseUrl`, `apiKey`, `token` (JWT). Optional: `chatId`, +`userId`. + +## Invocation + +```bash +python3 "{baseDir}/scripts/aminer.py" [--flag value …] +``` + +The script POSTs to `${baseUrl}/functions/invoke` with +`Authorization: Bearer ${apiKey}`, `X-Z-AI-From: Z`, `X-Token: ${token}`, +and prints the upstream JSON result (pretty-formatted). + +Run `python3 scripts/aminer.py --help` to list actions, or +`python3 scripts/aminer.py --help` for per-action flags. + +### Examples + +```bash +# Locate paper_id by title +python3 scripts/aminer.py paper_search --title "Attention is all you need" + +# Locate scholar by name + org +python3 scripts/aminer.py person_search --name "Jie Tang" --org "Tsinghua" + +# Full paper details +python3 scripts/aminer.py paper_detail --id 57a4e91aac44365e35c98a1e + +# Natural-language Q&A search +python3 scripts/aminer.py paper_qa_search --query "retrieval-augmented generation" --size 5 + +# Venue papers for a given year (body with JSON list param) +python3 scripts/aminer.py venue_paper_relation --id "53e9ba63b7602d9702f08c5d" --year 2024 --limit 10 +``` + +JSON-typed flags (`--title`, `--ids`, `--keywords`, `--year` on qa_search, etc.) +expect a JSON-encoded value, e.g. `--ids '["abc","def"]'`. + +## 27 APIs (quick reference) + +| Action | Method | Purpose | +|---|---|---| +| paper_search | GET | Locate paper_id by title | +| paper_search_pro | GET | Multi-condition paper search | +| paper_qa_search | POST | Natural-language / topic Q&A | +| paper_info | POST | Batch paper info by IDs | +| paper_detail | GET | Full paper details | +| paper_relation | GET | Citation chain | +| paper_list_by_keywords | GET | Batch thematic retrieval | +| paper_detail_by_condition | GET | Year + venue dimension | +| person_search | POST | Locate person_id | +| person_detail | GET | Scholar bio/education/honors | +| person_figure | GET | Interests + work history | +| person_paper_relation | GET | Scholar's papers | +| person_patent_relation | GET | Scholar's patents | +| person_project | GET | Funded projects | +| org_search | POST | Locate org by name | +| org_detail | POST | Org description/type | +| org_person_relation | GET | Affiliated scholars | +| org_paper_relation | GET | Org papers | +| org_patent_relation | GET | Org patents | +| org_disambiguate | POST | Normalize org string | +| org_disambiguate_pro | POST | Extract org IDs | +| venue_search | POST | Locate venue_id | +| venue_detail | POST | ISSN/type/abbreviation | +| venue_paper_relation | POST | Papers by venue (+ year filter) | +| patent_search | POST | Patent keyword search | +| patent_info | GET | Basic patent info | +| patent_detail | GET | Full patent details (IPC/claims) | + +## 5 Workflows (orchestrate via multiple calls) + +### Scholar Profile +``` +person_search → person_detail + → person_figure + → person_paper_relation + → person_patent_relation + → person_project +``` + +### Paper Deep Dive +``` +paper_search → paper_detail → paper_relation → paper_info +``` +If `paper_search` is empty, fall back to `paper_search_pro`. + +### Org Analysis +``` +org_disambiguate_pro → org_detail + → org_person_relation + → org_paper_relation + → org_patent_relation +``` +If `org_disambiguate_pro` returns no ID, fall back to `org_search`. + +### Venue Papers +``` +venue_search → venue_detail (optional) → venue_paper_relation +``` + +### Patent Analysis +``` +patent_search → patent_info / patent_detail +``` + +## Error handling + +- `warning: .z-ai-config has no 'token' field` → add `token` to config. +- `http 401 … missing X-Token header (hint: …)` → same. +- `http 403` → gateway auth rejected; check `apiKey` / `X-Z-AI-From`. +- `gateway error: aminer_* failed: http 4xx …` → upstream refused; check API + key on the gateway side (`AMINER_API_KEY` env var) or parameter shape. + +## Entity URL templates + +- Paper: `https://www.aminer.cn/pub/{paper_id}` +- Scholar: `https://www.aminer.cn/profile/{scholar_id}` +- Patent: `https://www.aminer.cn/patent/{patent_id}` +- Journal: `https://www.aminer.cn/open/journal/detail/{journal_id}` + +Always append the relevant URL when presenting entities to the user. diff --git a/skills/aminer-academic-search/scripts/aminer.py b/skills/aminer-academic-search/scripts/aminer.py new file mode 100755 index 0000000..950530a --- /dev/null +++ b/skills/aminer-academic-search/scripts/aminer.py @@ -0,0 +1,391 @@ +#!/usr/bin/env python3 +"""Dispatcher for the 27 AMiner Open Platform functions exposed via the +z-ai gateway's /v1/functions/invoke endpoint. + +Each action maps 1:1 to an `aminer_*` function registered in the gateway. +Arguments are collected via argparse and forwarded as the `arguments` field. +Upstream response is printed as formatted JSON. +""" +from __future__ import annotations + +import argparse +import json +import pathlib +import sys +import urllib.error +import urllib.request +from typing import Any, Callable, Tuple + +REQUEST_TIMEOUT = 60 +CONFIG_PATHS = [ + pathlib.Path.cwd() / ".z-ai-config", + pathlib.Path.home() / ".z-ai-config", + pathlib.Path("/etc/.z-ai-config"), +] + + +# --------------------------------------------------------------------------- +# Action registry +# +# Each entry defines one AMiner Open Platform API: +# function_name: matches the key in handlers/aminer_open.go's AminerOpenSpecs +# args: (flag, dest, kind, help) — kind is "str"/"int"/"float"/ +# "bool"/"json" (parsed from JSON for list/dict/nested values) +# +# This list is the *single source of truth* for what params each action takes, +# so the model only has to read one structure to learn the whole surface. +# --------------------------------------------------------------------------- + +_Arg = Tuple[str, str, str, str] # (flag, dest, kind, help) + +ACTIONS: dict[str, dict[str, Any]] = { + # ── Paper ──────────────────────────────────────────────────────────── + "paper_search": { + "function": "aminer_paper_search", + "help": "Locate a paper_id by (partial) title.", + "args": [ + ("--title", "title", "str", "Paper title keyword (required)"), + ("--page", "page", "int", "Page number, default 1"), + ("--size", "size", "int", "Page size, default 10"), + ], + }, + "paper_search_pro": { + "function": "aminer_paper_search_pro", + "help": "Multi-condition paper search (author/org/venue/keyword).", + "args": [ + ("--title", "title", "str", "Title keyword"), + ("--keyword", "keyword", "str", "Subject keyword"), + ("--abstract", "abstract", "str", "Abstract keyword"), + ("--author", "author", "str", "Author name"), + ("--org", "org", "str", "Organization name"), + ("--venue", "venue", "str", "Venue name"), + ("--order", "order", "str", "Sort: citation | year"), + ("--page", "page", "int", "Page number, default 0"), + ("--size", "size", "int", "Page size, default 10"), + ], + }, + "paper_qa_search": { + "function": "aminer_paper_qa_search", + "help": "AI Q&A-style search. 'query' and 'topic_*' are mutually exclusive.", + "args": [ + ("--query", "query", "str", "Natural language question"), + ("--use-topic", "use_topic", "bool", "Use topic_* fields instead of query"), + ("--topic-high", "topic_high", "str", "High-level topic"), + ("--topic-middle", "topic_middle", "str", "Mid-level topic"), + ("--topic-low", "topic_low", "str", "Low-level topic"), + ("--title", "title", "json", "List of titles (JSON array)"), + ("--doi", "doi", "str", "DOI"), + ("--year", "year", "json", "Year filter, e.g. [2020,2024]"), + ("--sci-flag", "sci_flag", "bool", "Restrict to SCI venues"), + ("--n-citation-flag", "n_citation_flag", "bool", "Return citation count"), + ("--force-citation-sort", "force_citation_sort", "bool", "Sort by citations"), + ("--force-year-sort", "force_year_sort", "bool", "Sort by year"), + ("--author-terms", "author_terms", "json", "Author name list"), + ("--org-terms", "org_terms", "json", "Org name list"), + ("--author-id", "author_id", "json", "Author ID list"), + ("--org-id", "org_id", "json", "Org ID list"), + ("--venue-ids", "venue_ids", "json", "Venue ID list"), + ("--size", "size", "int", "Page size, default 10"), + ("--offset", "offset", "int", "Offset, default 0"), + ], + }, + "paper_info": { + "function": "aminer_paper_info", + "help": "Batch retrieve papers by ID list.", + "args": [ + ("--ids", "ids", "json", "JSON array of paper_id strings (required)"), + ], + }, + "paper_detail": { + "function": "aminer_paper_detail", + "help": "Full paper info for a single paper_id.", + "args": [ + ("--id", "id", "str", "paper_id (required)"), + ], + }, + "paper_relation": { + "function": "aminer_paper_relation", + "help": "Citation chain (cited papers) for a paper_id.", + "args": [ + ("--id", "id", "str", "paper_id (required)"), + ], + }, + "paper_list_by_keywords": { + "function": "aminer_paper_list_by_keywords", + "help": "Batch keyword retrieval returning abstracts + metadata.", + "args": [ + ("--keywords", "keywords", "json", "JSON array of keyword strings (required)"), + ("--page", "page", "int", "Page number, default 0"), + ("--size", "size", "int", "Page size, default 10"), + ], + }, + "paper_detail_by_condition": { + "function": "aminer_paper_detail_by_condition", + "help": "Year + venue dimension lookup. Year + venue_id both required.", + "args": [ + ("--year", "year", "int", "Year (required)"), + ("--venue-id", "venue_id", "str", "Venue ID (required)"), + ], + }, + # ── Scholar ────────────────────────────────────────────────────────── + "person_search": { + "function": "aminer_person_search", + "help": "Search scholars by name and/or org.", + "args": [ + ("--name", "name", "str", "Scholar name"), + ("--org", "org", "str", "Organization name"), + ("--org-id", "org_id", "json", "List of org IDs"), + ("--offset", "offset", "int", "Offset, default 0"), + ("--size", "size", "int", "Page size, default 5"), + ], + }, + "person_detail": { + "function": "aminer_person_detail", + "help": "Full scholar profile (bio/education/honors).", + "args": [("--id", "id", "str", "person_id (required)")], + }, + "person_figure": { + "function": "aminer_person_figure", + "help": "Scholar portrait (interests, work history).", + "args": [("--id", "id", "str", "person_id (required)")], + }, + "person_paper_relation": { + "function": "aminer_person_paper_relation", + "help": "List of papers by this scholar.", + "args": [("--id", "id", "str", "person_id (required)")], + }, + "person_patent_relation": { + "function": "aminer_person_patent_relation", + "help": "List of patents by this scholar.", + "args": [("--id", "id", "str", "person_id (required)")], + }, + "person_project": { + "function": "aminer_person_project", + "help": "Research projects (funding, dates, source).", + "args": [("--id", "id", "str", "person_id (required)")], + }, + # ── Organization ───────────────────────────────────────────────────── + "org_search": { + "function": "aminer_org_search", + "help": "Search institutions by name keyword.", + "args": [("--orgs", "orgs", "json", "JSON array of org name strings (required)")], + }, + "org_detail": { + "function": "aminer_org_detail", + "help": "Org details by ID list.", + "args": [("--ids", "ids", "json", "JSON array of org_id strings (required)")], + }, + "org_person_relation": { + "function": "aminer_org_person_relation", + "help": "Affiliated scholars (10 per call).", + "args": [ + ("--org-id", "org_id", "str", "org_id (required)"), + ("--offset", "offset", "int", "Offset, default 0"), + ], + }, + "org_paper_relation": { + "function": "aminer_org_paper_relation", + "help": "Papers authored by org members (10 per call).", + "args": [ + ("--org-id", "org_id", "str", "org_id (required)"), + ("--offset", "offset", "int", "Offset, default 0"), + ], + }, + "org_patent_relation": { + "function": "aminer_org_patent_relation", + "help": "Org patent list (max page_size 10,000).", + "args": [ + ("--id", "id", "str", "org_id (required)"), + ("--page", "page", "int", "Page number, default 1"), + ("--page-size", "page_size", "int", "Page size, default 100"), + ], + }, + "org_disambiguate": { + "function": "aminer_org_disambiguate", + "help": "Normalize raw org string.", + "args": [("--org", "org", "str", "Raw org string (required)")], + }, + "org_disambiguate_pro": { + "function": "aminer_org_disambiguate_pro", + "help": "Extract primary/secondary org IDs.", + "args": [("--org", "org", "str", "Raw org string (required)")], + }, + # ── Venue ──────────────────────────────────────────────────────────── + "venue_search": { + "function": "aminer_venue_search", + "help": "Search journals/conferences by name.", + "args": [("--name", "name", "str", "Venue name (required)")], + }, + "venue_detail": { + "function": "aminer_venue_detail", + "help": "Venue details (ISSN, abbreviation, type).", + "args": [("--id", "id", "str", "venue_id (required)")], + }, + "venue_paper_relation": { + "function": "aminer_venue_paper_relation", + "help": "Papers published in a venue, optionally filtered by year.", + "args": [ + ("--id", "id", "str", "venue_id (required)"), + ("--offset", "offset", "int", "Offset, default 0"), + ("--limit", "limit", "int", "Limit, default 20"), + ("--year", "year", "int", "Publication year"), + ], + }, + # ── Patent ─────────────────────────────────────────────────────────── + "patent_search": { + "function": "aminer_patent_search", + "help": "Search patents by name/keyword.", + "args": [ + ("--query", "query", "str", "Search query (required)"), + ("--page", "page", "int", "Page number, default 0"), + ("--size", "size", "int", "Page size, default 10"), + ], + }, + "patent_info": { + "function": "aminer_patent_info", + "help": "Basic patent info.", + "args": [("--id", "id", "str", "patent_id (required)")], + }, + "patent_detail": { + "function": "aminer_patent_detail", + "help": "Full patent details (abstract, IPC, claims).", + "args": [("--id", "id", "str", "patent_id (required)")], + }, +} + + +# --------------------------------------------------------------------------- +# Config loading and HTTP +# --------------------------------------------------------------------------- + + +def load_config() -> dict[str, Any]: + for path in CONFIG_PATHS: + try: + cfg = json.loads(path.read_text(encoding="utf-8")) + except FileNotFoundError: + continue + except (OSError, json.JSONDecodeError) as exc: + raise SystemExit(f"failed to read {path}: {exc}") from exc + if cfg.get("baseUrl") and cfg.get("apiKey"): + if not cfg.get("token"): + print( + f"warning: {path} has no 'token' field; the gateway requires " + "X-Token for auth and will return 401.", + file=sys.stderr, + ) + return cfg + raise SystemExit( + "z-ai config not found. Create .z-ai-config in cwd, $HOME, or /etc " + "with {\"baseUrl\": ..., \"apiKey\": ..., \"token\": ...}." + ) + + +def invoke(config: dict[str, Any], function_name: str, arguments: dict[str, Any]) -> Any: + base_url = str(config["baseUrl"]).rstrip("/") + url = f"{base_url}/functions/invoke" + headers = { + "Content-Type": "application/json", + "User-Agent": "aminer-academic-search-skill/1.0", + "Authorization": f"Bearer {config['apiKey']}", + "X-Z-AI-From": "Z", + } + if config.get("token"): + headers["X-Token"] = str(config["token"]) + if config.get("chatId"): + headers["X-Chat-Id"] = str(config["chatId"]) + if config.get("userId"): + headers["X-User-Id"] = str(config["userId"]) + + body = json.dumps( + {"function_name": function_name, "arguments": arguments}, + ensure_ascii=False, + ).encode("utf-8") + req = urllib.request.Request(url, data=body, headers=headers, method="POST") + + try: + with urllib.request.urlopen(req, timeout=REQUEST_TIMEOUT) as resp: # nosec B310 + raw = resp.read().decode("utf-8") + except urllib.error.HTTPError as exc: + detail = exc.read().decode("utf-8", errors="replace") if exc.fp else "" + hint = "" + if exc.code == 401 and "X-Token" in detail: + hint = " (hint: add a valid 'token' field to .z-ai-config)" + elif exc.code == 403: + hint = " (hint: request rejected by auth — check 'apiKey' / X-Z-AI-From)" + raise SystemExit(f"http {exc.code}: {detail or exc.reason}{hint}") from exc + except urllib.error.URLError as exc: + raise SystemExit(f"gateway unreachable: {exc.reason}") from exc + + try: + parsed = json.loads(raw) + except json.JSONDecodeError as exc: + raise SystemExit(f"invalid json response: {exc}") from exc + + if isinstance(parsed.get("error"), str) and parsed["error"]: + raise SystemExit(f"gateway error: {parsed['error']}") + return parsed.get("result") + + +# --------------------------------------------------------------------------- +# Argparse wiring +# --------------------------------------------------------------------------- + + +def _cast(kind: str) -> Callable[[str], Any]: + if kind == "int": + return int + if kind == "float": + return float + if kind == "json": + return lambda s: json.loads(s) + return str + + +def build_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + description="Call one of 27 AMiner Open Platform APIs via the z-ai gateway.", + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + sub = parser.add_subparsers(dest="action", required=True, metavar="ACTION") + for name, meta in ACTIONS.items(): + p = sub.add_parser( + name, + help=meta["help"], + description=f"{meta['help']} function_name: {meta['function']}", + ) + for flag, dest, kind, help_text in meta["args"]: + if kind == "bool": + p.add_argument(flag, dest=dest, action="store_true", help=help_text) + else: + p.add_argument(flag, dest=dest, type=_cast(kind), help=help_text) + return parser + + +def collect_arguments(ns: argparse.Namespace, spec: list[_Arg]) -> dict[str, Any]: + args: dict[str, Any] = {} + for _flag, dest, kind, _help in spec: + value = getattr(ns, dest, None) + if value is None: + continue + if kind == "bool" and value is False: + continue + args[dest] = value + return args + + +def main() -> int: + parser = build_parser() + ns = parser.parse_args() + + meta = ACTIONS[ns.action] + arguments = collect_arguments(ns, meta["args"]) + + config = load_config() + result = invoke(config, meta["function"], arguments) + print(json.dumps(result, ensure_ascii=False, indent=2)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/skills/aminer-daily-paper/README.md b/skills/aminer-daily-paper/README.md new file mode 100755 index 0000000..6cb1b07 --- /dev/null +++ b/skills/aminer-daily-paper/README.md @@ -0,0 +1,27 @@ +# aminer-daily-paper + +Skill for AMiner academic paper recommendations. + +## Configuration + +```bash +# TODO: fill in the actual API URL +export AMINER_API_URL="https:///..." +``` + +## Usage + +Natural language or explicit command: + +``` +/aminer-dp topics: multimodal agents, tool-use size: 5 +recommend me recent papers on RAG +``` + +## Manual invocation + +```bash +python3 scripts/recommend.py --topic "RAG" --topic "multimodal" --size 5 --language-sort zh +``` + +Output is a Markdown-formatted paper list. diff --git a/skills/aminer-daily-paper/SKILL.md b/skills/aminer-daily-paper/SKILL.md new file mode 100755 index 0000000..f0caef6 --- /dev/null +++ b/skills/aminer-daily-paper/SKILL.md @@ -0,0 +1,75 @@ +--- +name: aminer-daily-paper +description: "Get personalized academic paper recommendations. Activate whenever the user asks for paper recommendations — explicit command (/aminer-dp) or natural language (e.g. 'recommend me papers on RAG', 'suggest recent papers on multimodal agents'). Workflow: extract topics / author / aminer_author_id from the input, invoke scripts/recommend.py, return results as Markdown." +--- + +# aminer-daily-paper + +Personalized academic paper recommendation. + +## When to activate + +Any time the user asks for paper recommendations: +- Explicit command: `/aminer-dp`, `/aminer-dp topics: RAG, multimodal agents` +- Natural language: `recommend me recent papers on multimodal agents`, `suggest some papers on tool-use`, `I work on RAG, give me a few papers` + +## Input parsing (done by the model) + +Before calling the script, extract from the user input: + +| Field | Description | +|-------|-------------| +| `topics` | Research topics, 1–3 closely related terms work best | +| `author_name` | Scholar name | +| `author_org` | Scholar institution (improves disambiguation) | +| `aminer_author_id` | AMiner scholar ID (24-char hex) | +| `size` | Number of papers, default 5, max 20 | +| `language_sort` | `zh` or `en`, optional | + +At least one of `topics` / `author_name` / `aminer_author_id` should be provided. + +## Call strategy + +| Scenario | Strategy | +|----------|----------| +| Single topic or scholar | 1 call, `size=5` | +| User specifies a number | 1 call, honor the number (max 20) | +| Multiple distinct topics | 1 call per topic group, `size=3–5` each, ~15 papers total | +| Broad request with no topics | 1 call, `size=5` | + +## Execution + +The script reads `.z-ai-config` (JSON) following the `z-ai-web-dev-sdk` +convention, searching in this order: +1. `./.z-ai-config` (cwd) +2. `~/.z-ai-config` (home) +3. `/etc/.z-ai-config` (system) + +Required fields: `baseUrl`, `apiKey`, `token` (JWT for `X-Token`). +Optional: `chatId`, `userId`. + +```bash +python3 "{baseDir}/scripts/recommend.py" \ + [--topic "multimodal agents"] \ + [--topic "tool-use"] \ + [--author-name "Jie Tang"] \ + [--author-org "Tsinghua University"] \ + [--aminer-author-id "696259801cb939bc391d3a37"] \ + [--size 5] \ + [--language-sort zh] +``` + +The script POSTs to `${baseUrl}/functions/invoke` with headers +`Authorization: Bearer ${apiKey}`, `X-Z-AI-From: Z`, and `X-Token: ${token}` +(plus optional `X-Chat-Id` / `X-User-Id`), and prints the paper list as +Markdown. + +## Output handling + +- On success, the script prints a Markdown paper list — forward it directly to the user. +- On non-zero exit, stderr contains the error — relay it concisely to the user. + +## Error handling + +- API returns an error → relay the error; do not switch to another skill. +- No results → suggest the user broaden topics or adjust the query. diff --git a/skills/aminer-daily-paper/scripts/recommend.py b/skills/aminer-daily-paper/scripts/recommend.py new file mode 100755 index 0000000..6fcd77e --- /dev/null +++ b/skills/aminer-daily-paper/scripts/recommend.py @@ -0,0 +1,193 @@ +#!/usr/bin/env python3 +"""Fetch AMiner paper recommendations and render results as Markdown.""" +from __future__ import annotations + +import argparse +import json +import pathlib +import sys +import urllib.error +import urllib.request +from typing import Any + + +DEFAULT_SIZE = 5 +MAX_SIZE = 20 +REQUEST_TIMEOUT = 30 +CONFIG_PATHS = [ + pathlib.Path.cwd() / ".z-ai-config", + pathlib.Path.home() / ".z-ai-config", + pathlib.Path("/etc/.z-ai-config"), +] + + +def load_config() -> dict[str, Any]: + for path in CONFIG_PATHS: + try: + cfg = json.loads(path.read_text(encoding="utf-8")) + except FileNotFoundError: + continue + except (OSError, json.JSONDecodeError) as exc: + raise SystemExit(f"failed to read {path}: {exc}") from exc + if cfg.get("baseUrl") and cfg.get("apiKey"): + if not cfg.get("token"): + print( + f"warning: {path} has no 'token' field; the API requires " + "X-Token for auth and will return 401.", + file=sys.stderr, + ) + return cfg + raise SystemExit( + "z-ai config not found. Create .z-ai-config in cwd, $HOME, or /etc " + "with {\"baseUrl\": ..., \"apiKey\": ..., \"token\": ...}." + ) + + +def _clean(text: Any) -> str: + return " ".join(str(text or "").split()).strip() + + +def _truncate(text: str, limit: int) -> str: + text = _clean(text) + return text if len(text) <= limit else text[:limit].rstrip() + "…" + + +def build_payload(args: argparse.Namespace) -> dict[str, Any]: + arguments: dict[str, Any] = {} + topics = [t for t in (args.topic or []) if _clean(t)] + if topics: + arguments["topics"] = topics + if args.author_name: + arguments["author_name"] = args.author_name + if args.author_org: + arguments["author_org"] = args.author_org + if args.aminer_author_id: + arguments["aminer_author_id"] = args.aminer_author_id + if args.language_sort in {"zh", "en"}: + arguments["language_sort"] = args.language_sort + if args.start_year: + arguments["start_year"] = args.start_year + if args.end_year: + arguments["end_year"] = args.end_year + + size = args.size if args.size else DEFAULT_SIZE + size = max(1, min(size, MAX_SIZE)) + arguments["size"] = size + + return {"function_name": "aminer_recommend", "arguments": arguments} + + +def call_api(config: dict[str, Any], payload: dict[str, Any]) -> list[dict[str, Any]]: + base_url = str(config["baseUrl"]).rstrip("/") + url = f"{base_url}/functions/invoke" + headers = { + "Content-Type": "application/json", + "User-Agent": "aminer-daily-paper-skill/1.0", + "Authorization": f"Bearer {config['apiKey']}", + "X-Z-AI-From": "Z", + } + if config.get("token"): + headers["X-Token"] = str(config["token"]) + if config.get("chatId"): + headers["X-Chat-Id"] = str(config["chatId"]) + if config.get("userId"): + headers["X-User-Id"] = str(config["userId"]) + + body = json.dumps(payload, ensure_ascii=False).encode("utf-8") + request = urllib.request.Request(url, data=body, headers=headers, method="POST") + + try: + with urllib.request.urlopen(request, timeout=REQUEST_TIMEOUT) as resp: # nosec B310 + raw = resp.read().decode("utf-8") + except urllib.error.HTTPError as exc: + detail = exc.read().decode("utf-8", errors="replace") if exc.fp else "" + hint = "" + if exc.code == 401 and "X-Token" in detail: + hint = " (hint: add a valid 'token' field to .z-ai-config)" + elif exc.code == 403: + hint = " (hint: request rejected by auth — check 'apiKey' / X-Z-AI-From)" + raise SystemExit(f"http {exc.code}: {detail or exc.reason}{hint}") from exc + except urllib.error.URLError as exc: + raise SystemExit(f"api unreachable: {exc.reason}") from exc + + try: + parsed = json.loads(raw) + except json.JSONDecodeError as exc: + raise SystemExit(f"invalid json response: {exc}") from exc + + if isinstance(parsed.get("error"), str) and parsed["error"]: + raise SystemExit(f"api error: {parsed['error']}") + + result = parsed.get("result") + if not isinstance(result, list): + raise SystemExit(f"unexpected response shape: {raw[:300]}") + return [p for p in result if isinstance(p, dict)] + + +def render_markdown(papers: list[dict[str, Any]], topics: list[str]) -> str: + if not papers: + return "No papers returned. Try broadening the topics or adjusting the query." + + lines: list[str] = [] + header = f"Recommended {len(papers)} paper(s)" + if topics: + header += f" (topics: {' / '.join(topics[:5])})" + lines.append(header) + + for idx, paper in enumerate(papers, start=1): + lines.append("") + lines.append("---") + lines.append("") + title = _clean(paper.get("title")) + links = paper.get("links") if isinstance(paper.get("links"), dict) else {} + url = _clean(paper.get("paper_url") or links.get("aminer") or links.get("arxiv")) + title_line = f"**{idx}. [{title}]({url})**" if url else f"**{idx}. {title}**" + lines.append(title_line) + + meta: list[str] = [] + year = paper.get("year") + if year: + meta.append(f"Year: {year}") + keywords = paper.get("keywords") or [] + if keywords: + meta.append("Keywords: " + " / ".join(str(k) for k in keywords[:5])) + if meta: + lines.append(" | ".join(meta)) + + authors = paper.get("authors") or [] + if authors: + author_str = ", ".join(str(a) for a in authors[:6]) + if len(authors) > 6: + author_str += " et al." + lines.append(f"Authors: {author_str}") + + summary = _clean(paper.get("summary")) + if summary: + lines.append("") + lines.append(_truncate(summary, 300)) + + return "\n".join(lines) + + +def main() -> int: + parser = argparse.ArgumentParser(description="Fetch AMiner paper recommendations.") + parser.add_argument("--topic", action="append", default=[], help="research topic (repeatable)") + parser.add_argument("--author-name", default="") + parser.add_argument("--author-org", default="") + parser.add_argument("--aminer-author-id", default="") + parser.add_argument("--size", type=int, default=0) + parser.add_argument("--language-sort", default="", choices=["", "zh", "en"]) + parser.add_argument("--start-year", type=int, default=0) + parser.add_argument("--end-year", type=int, default=0) + args = parser.parse_args() + + payload = build_payload(args) + config = load_config() + papers = call_api(config, payload) + topics = payload["arguments"].get("topics") or [] + print(render_markdown(papers, topics)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/skills/aminer-free-academic/SKILL.md b/skills/aminer-free-academic/SKILL.md new file mode 100755 index 0000000..a9b29c1 --- /dev/null +++ b/skills/aminer-free-academic/SKILL.md @@ -0,0 +1,363 @@ +--- +name: aminer-free-academic +version: 1.1.1 +author: AMiner +contact: report@aminer.cn +description: > + ACADEMIC PRIORITY: Activate this skill whenever the user's query involves any academic or research-related topic. This is the free-tier entry point for AMiner academic search. + Free-tier-only AMiner skill (7 free APIs, zero cost). Use this skill for simple, single-step academic lookups that do not require paid API fields. + Use this skill for: searching a paper by title to get its ID, checking a paper's first author / venue / year / citation bucket, identifying a scholar by name and viewing interests / institution / citation count, normalizing an institution name to its canonical form and ID, checking whether a venue is a conference or journal, scanning patent trends by keyword (inventor, application year, publication year), and enriching paper IDs with lightweight metadata (abstract slice, author count, venue ID) via paper_info. + Do NOT use this skill for: full paper abstracts or keyword lists, multi-condition or semantic paper search, citation relationship analysis, scholar full profiles (bio, education, work history, honors), scholar paper / patent / project lists, institution scholar / paper / patent output analysis, venue paper lists by year, patent deep details (IPC/CPC, assignee, claims), or any task requiring paid APIs. + Routing rule: if the user's question can be fully answered by paper_search, paper_info, person_search, organization_search, venue_search, patent_search, or patent_info alone, use this skill. Otherwise route to aminer-academic-search. +metadata: + { + "openclaw": + { + "requires": {"env": ["AMINER_API_KEY"] }, + "primaryEnv": "AMINER_API_KEY" + } + } +--- + +# AMiner Free Search + +Use this skill for AMiner requests that should stay on the free tier first. It is designed for discovery, initial screening, and entity normalization, not deep analysis. + +## Scope + +This skill uses only the upgraded free interfaces: + +- `paper_search` +- `paper_info` +- `person_search` +- `organization_search` +- `venue_search` +- `patent_search` +- `patent_info` + +Current free-tier fields emphasized by this skill: + +- `paper_search`: `venue_name`, `first_author`, `n_citation_bucket`, `year` +- `paper_info`: `abstract_slice`, `year`, `venue_id`, `author_count` +- `organization_search`: `aliases` (top 3) +- `venue_search`: `aliases` (top 3), `venue_type` +- `patent_search`: `inventor_name` (first), `app_year`, `pub_year` +- `patent_info`: `app_year`, `pub_year` +- `person_search`: `interests`, `n_citation`, institution fields + +## Primary Goal + +Use free APIs to help the user answer: + +- What is this entity? +- Is it relevant enough to continue? +- Which candidate should I inspect next? +- Can I normalize this institution or venue name? +- Is there enough value to justify upgrading to paid APIs? + +Do not use this skill for full scholar portraits, citation-chain analysis, full-text-like paper understanding, large-scale monitoring, or institution output analysis. + +## Mandatory Rules + +1. Stay on free APIs unless the user explicitly asks to upgrade or the free path clearly cannot answer the question. +2. Be explicit about free-tier limits. Say what can be answered now and what would require a paid upgrade. +3. Use free results to narrow candidates before suggesting any paid API. +4. If returning entities, append AMiner URLs when IDs are available: + - Paper: `https://www.aminer.cn/pub/{paper_id}` + - Scholar: `https://www.aminer.cn/profile/{scholar_id}` + - Patent: `https://www.aminer.cn/patent/{patent_id}` + - Venue: `https://www.aminer.cn/open/journal/detail/{venue_id}` + +## Token Check (Required) + +Before making any API call, verify that the environment variable `AMINER_API_KEY` exists. Never output the token in plain text. + +```bash +if [ -z "${AMINER_API_KEY+x}" ]; then + echo "AMINER_API_KEY does not exist" +else + echo "AMINER_API_KEY exists" +fi +``` + +- If `${AMINER_API_KEY}` exists: proceed with the query. +- If `${AMINER_API_KEY}` is not set: stop immediately and guide the user to the [AMiner Console](https://open.aminer.cn/open/board?tab=control) to generate one. For help, see the [Open Platform Documentation](https://open.aminer.cn/open/docs). +- If the user provides `AMINER_API_KEY` inline (e.g. "My token is xxx"), accept it for the current session, but recommend setting it as an environment variable for better security. + +## Invocation Style + +Use direct `curl` calls by default. A Python wrapper is not required for this skill. + +Default headers: + +- `Authorization: ${AMINER_API_KEY}` by default +- `Content-Type: application/json;charset=utf-8` for POST requests +- `X-Platform: openclaw` when required by the gateway + +## When To Use + +Use this skill when the user asks for: + +- free AMiner search +- low-cost academic discovery +- paper screening +- scholar identification +- institution normalization +- venue normalization +- patent trend scanning +- representative results before deeper analysis + +Trigger phrases include: + +- “先用免费接口” +- “不要走收费接口” +- “先帮我筛一下” +- “先看看值不值得深挖” +- “找几个候选” +- “做一个轻量版 skill” + +## Free Workflows + +### 1. Paper triage + +Use when the user wants to quickly judge whether a paper is relevant. + +Default chain: + +`paper_search -> paper_info` + +Return: + +- title +- first author +- venue name +- year +- citation bucket +- abstract slice +- paper URL + +This can answer: + +- Is this probably the right paper? +- Is it recent? +- Is it from a recognizable venue? +- Is it worth opening in detail? + +### 2. Scholar identification + +Use when the user wants to know which scholar is the right person. + +Default chain: + +`person_search` + +Return: + +- name +- org +- interests +- citation count +- scholar URL + +This can answer: + +- Is this the right scholar? +- What interests best describe this person? +- Which institution candidate is the best match? + +### 3. Institution normalization + +Use when the user provides an institution string or abbreviation. + +Default chain: + +`organization_search` + +Return: + +- org id +- standard name +- aliases (top 3) + +This can answer: + +- Is this institution name recognized? +- Which canonical organization should downstream workflows use? + +### 4. Venue normalization and type check + +Use when the user provides a conference or journal name. + +Default chain: + +`venue_search` + +Return: + +- venue id +- standard bilingual name +- aliases (top 3) +- venue type +- venue URL + +This can answer: + +- Is this a conference or a journal? +- What is the standard venue entity? + +### 5. Patent trend scan + +Use when the user wants a lightweight view of patents in a topic. + +Default chain: + +`patent_search -> patent_info` when IDs need basic enrichment + +Return: + +- patent title +- first inventor +- app year +- pub year +- patent number and country when `patent_info` is added +- patent URL + +This can answer: + +- Is the topic active recently? +- Who appears first in the inventor field? +- Is there recent patent activity worth deeper review? + +### 6. Free entity map + +Use when the user wants a quick map of a topic across papers, scholars, venues, institutions, and patents without paying for analysis-grade APIs. + +Suggested chain: + +- papers: `paper_search -> paper_info` +- scholars: `person_search` +- institutions: `organization_search` +- venues: `venue_search` +- patents: `patent_search -> patent_info` + +Return a short cross-entity summary, not a deep report. + +## Free Skill Examples + +### 1. Paper triage + +```bash +curl -X GET \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search?page=1&size=5&title=Attention%20Is%20All%20You%20Need' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' +``` + +Then enrich with `paper_info`: + +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/paper/info' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"ids":[""]}' +``` + +### 2. Scholar identification + +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/person/search' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"name":"Yann LeCun","size":5}' +``` + +### 3. Institution normalization + +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/organization/search' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"orgs":["MIT CSAIL"]}' +``` + +### 4. Venue normalization and type check + +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/venue/search' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"name":"tkde"}' +``` + +### 5. Patent trend scan + +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/patent/search' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"query":"quantum computing chip","page":0,"size":10}' +``` + +## Output Pattern + +Prefer this structure: + +```markdown +## Free-tier result + +### What we can answer now +- ... + +### Top candidates +- ... + +### Suggested next step +- Stay free: ... +- Upgrade to paid API only if you need: ... +``` + +## Paid Upgrade Boundary + +Recommend upgrading only when the user needs one of these: + +- full abstract or full paper metadata +- multi-condition or semantic paper search +- citation relationships +- full scholar profile, works, patents, or projects +- institution scholars, papers, patents, or rich profiles +- venue paper lists by year +- full patent details such as IPC/CPC, assignee, description + +Suggested paid handoff: + +- deeper paper analysis: `paper_search_pro`, `paper_detail`, `paper_relation` +- deeper scholar analysis: `person/detail`, `person/figure`, `person/paper/relation` +- deeper org analysis: `organization/detail`, `organization/person/relation`, `organization/paper/relation` +- deeper venue analysis: `venue/detail`, `venue/paper/relation` +- deeper patent analysis: `patent/detail` + +## Product Positioning + +This skill is intentionally positioned for: + +- first success +- free discovery +- candidate narrowing +- entity normalization +- upgrade qualification + +It should not replace the paid skill. It should create demand for it. + +## Additional Reference + +For endpoint parameters and fields, read [references/api-catalog.md](references/api-catalog.md). diff --git a/skills/aminer-free-academic/evals/evals.json b/skills/aminer-free-academic/evals/evals.json new file mode 100755 index 0000000..28bfb88 --- /dev/null +++ b/skills/aminer-free-academic/evals/evals.json @@ -0,0 +1,93 @@ +{ + "skill_name": "aminer-free-academic", + "evals": [ + { + "id": 1, + "prompt": "Help me quickly check whether the paper 'Attention Is All You Need' is worth a deep dive. Use only free AMiner APIs. My token is ", + "expected_output": "Run the paper triage workflow: paper_search to locate the paper, then paper_info to enrich with abstract slice, year, venue, and author count. Output a lightweight card with a paper URL.", + "files": [], + "expectations": [ + "Called Paper Search API (paper_search) to find the paper by title", + "Called Paper Info API (paper_info) with the returned paper ID", + "Output includes title, first_author, venue_name, year, and n_citation_bucket", + "Output includes abstract_slice from paper_info", + "Output includes a paper URL in the format https://www.aminer.cn/pub/{paper_id}", + "No paid API was called" + ] + }, + { + "id": 2, + "prompt": "I want to identify which 'Andrew Ng' on AMiner is the Stanford professor. Use only free APIs. My token is ", + "expected_output": "Run the scholar identification workflow: person_search with name and optional org filter. Return candidate list with interests, org, and citation count to help the user pick the right one.", + "files": [], + "expectations": [ + "Called Scholar Search API (person_search) with name 'Andrew Ng'", + "Output includes multiple candidates with name, org, interests, and n_citation", + "Output includes scholar URLs in the format https://www.aminer.cn/profile/{scholar_id}", + "No paid API was called" + ] + }, + { + "id": 3, + "prompt": "Normalize the institution name 'MIT CSAIL' using AMiner free APIs. My token is ", + "expected_output": "Run the institution normalization workflow: organization_search with the raw institution string. Return the canonical org name, org_id, and aliases.", + "files": [], + "expectations": [ + "Called Org Search API (organization_search) with orgs=['MIT CSAIL']", + "Output includes org_id and standardized org_name", + "Output includes aliases list", + "No paid API was called" + ] + }, + { + "id": 4, + "prompt": "Help me look up recent patents about quantum computing", + "expected_output": "Detect that the user has not provided a token; immediately stop all subsequent API calls and guide the user to obtain a token from the AMiner Console.", + "files": [], + "expectations": [ + "Clearly inform the user that a token is currently missing and AMiner API calls cannot continue", + "No API calls were made", + "Provide the console link https://open.aminer.cn/open/board?tab=control", + "Prompt the user to continue after obtaining a token" + ] + }, + { + "id": 5, + "prompt": "Is 'TKDE' a conference or a journal? Help me normalize it using free AMiner APIs. My token is ", + "expected_output": "Run the venue normalization workflow: venue_search with the name string. Return the standard bilingual name, venue_type, aliases, and venue URL.", + "files": [], + "expectations": [ + "Called Venue Search API (venue_search) with name 'TKDE'", + "Output includes venue_id, standard name (English and/or Chinese), and venue_type", + "Output includes aliases list", + "Output includes a venue URL in the format https://www.aminer.cn/open/journal/detail/{venue_id}", + "No paid API was called" + ] + }, + { + "id": 6, + "prompt": "Scan recent patent activity in the field of 'autonomous driving lidar' using free APIs only. My token is ", + "expected_output": "Run the patent trend scan workflow: patent_search to find patents, optionally enriched by patent_info. Return patent titles, first inventor, app_year, pub_year, and patent URLs.", + "files": [], + "expectations": [ + "Called Patent Search API (patent_search) with a query about autonomous driving lidar", + "Output includes patent titles, inventor_name, app_year, and pub_year", + "Output includes patent URLs in the format https://www.aminer.cn/patent/{patent_id}", + "No paid API was called" + ] + }, + { + "id": 7, + "prompt": "Give me a quick free-tier overview of the topic 'graph neural network' — papers, scholars, institutions, and venues. My token is ", + "expected_output": "Run the free entity map workflow: combine paper_search, person_search, organization_search, and venue_search to build a lightweight cross-entity summary.", + "files": [], + "expectations": [ + "Called at least paper_search and person_search", + "Output covers multiple entity types (papers, scholars, and optionally institutions/venues)", + "Output includes AMiner URLs for returned entities", + "Clearly states what free-tier can answer and what would require paid upgrade", + "No paid API was called" + ] + } + ] +} diff --git a/skills/aminer-free-academic/references/api-catalog.md b/skills/aminer-free-academic/references/api-catalog.md new file mode 100755 index 0000000..ff6b687 --- /dev/null +++ b/skills/aminer-free-academic/references/api-catalog.md @@ -0,0 +1,286 @@ +# AMiner Free Search API Catalog + +**Base URL**: `https://datacenter.aminer.cn/gateway/open_platform` +**Authentication**: All endpoints should default to `Authorization: ${AMINER_API_KEY}`. In workflow execution, also include `X-Platform: openclaw` when required by the gateway. +**Scope**: This catalog only documents the free APIs used by `aminer-free-academic`. + +--- + +## Table of Contents + +- [Paper APIs](#paper-apis) +- [Scholar APIs](#scholar-apis) +- [Institution APIs](#institution-apis) +- [Venue APIs](#venue-apis) +- [Patent APIs](#patent-apis) + +--- + +## Paper APIs + +### 1. Paper Search + +- **URL**: `GET /api/paper/search` +- **Price**: Free +- **Description**: Search papers by title and return low-cost screening fields suitable for fast paper triage. + +**Request Parameters:** + +| Parameter | Type | Required | Description | +|--------|------|------|------| +| page | number | Yes | Page number. Current online definition says it starts from `1`. | +| size | number | No | Page size, maximum `20` | +| title | string | Yes | Paper title | + +**Response Fields:** + +| Field | Description | +|--------|------| +| id | Paper ID | +| title | Paper title | +| title_zh | Paper title in Chinese | +| doi | DOI | +| first_author | First author | +| venue_name | Venue title | +| n_citation_bucket | Citation bucket: `0`, `1-10`, `11-50`, `51-200`, `200-1000`, `1000-5000`, `5000+` | +| year | Publication year | +| total | Total count | + +**curl Example:** +```bash +curl -X GET \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search?page=1&size=10&title=Looking+at+CTR+Prediction+Again%3A+Is+Attention+All+You+Need' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' +``` + +--- + +### 2. Paper Info + +- **URL**: `POST /api/paper/info` +- **Price**: Free +- **Description**: Batch query paper basic cards by paper IDs. Suitable for enriching search results with lightweight metadata. + +**Request Parameters:** + +| Parameter | Type | Required | Description | +|--------|------|------|------| +| ids | []string | Yes | Paper ID list, maximum `100` | + +**Response Fields:** + +| Field | Description | +|--------|------| +| id | Paper ID | +| title | Paper title | +| abstract_slice | Partial abstract | +| authors | Author array | +| author_count | Total author count | +| issue | Volume / issue field | +| raw | Venue raw name | +| venue | Venue object | +| venue_id | Venue ID | +| year | Publication year | + +**curl Example:** +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/paper/info' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"ids":["5ce2c5a5ced107d4c61c839b"]}' +``` + +--- + +## Scholar APIs + +### 3. Scholar Search + +- **URL**: `POST /api/person/search` +- **Price**: Free +- **Description**: Search scholar candidates by name and optional institution condition. + +**Request Parameters:** + +| Parameter | Type | Required | Description | +|--------|------|------|------| +| name | string | No | Scholar name | +| offset | number | No | Starting position (fixed at 0; pagination not supported) | +| org | string | No | Institution name | +| size | number | No | Number of results, maximum `10` | +| org_id | []string | No | Institution entity ID list | + +**Response Fields:** + +| Field | Description | +|--------|------| +| id | Scholar ID | +| interests | Research interests | +| n_citation | Citation count | +| name | Name | +| name_zh | Chinese name | +| org | Institution in English | +| org_id | Institution ID | +| org_zh | Institution in Chinese | +| total | Total count | + +**curl Example:** +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/person/search' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"name":"王曙","offset":0,"org":"Shanghai Jiaotong","size":10}' +``` + +--- + +## Institution APIs + +### 4. Org Search + +- **URL**: `POST /api/organization/search` +- **Price**: Free +- **Description**: Search institution IDs and standard names from institution keywords. + +**Request Parameters:** + +| Parameter | Type | Required | Description | +|--------|------|------|------| +| orgs | []string | No | Institution names | + +**Response Fields:** + +| Field | Description | +|--------|------| +| aliases | Alias list, partial and typically top 3 | +| org_id | Institution ID | +| org_name | Institution name | +| total | Total count | + +**curl Example:** +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/organization/search' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"orgs":["清华大学"]}' +``` + +--- + +## Venue APIs + +### 5. Venue Search + +- **URL**: `POST /api/venue/search` +- **Price**: Free +- **Description**: Search venue IDs and standard names by venue keyword, including aliases and venue type. + +**Request Parameters:** + +| Parameter | Type | Required | Description | +|--------|------|------|------| +| name | string | No | Venue name | + +**Response Fields:** + +| Field | Description | +|--------|------| +| id | Venue ID | +| name_en | Venue English name | +| name_zh | Venue Chinese name | +| aliases | Alias list, partial and typically top 3 | +| venue_type | Venue type: `journal` or `conference` | +| total | Total count | + +**curl Example:** +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/venue/search' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"name":"tkde"}' +``` + +--- + +## Patent APIs + +### 6. Patent Search + +- **URL**: `POST /api/patent/search` +- **Price**: Free +- **Description**: Search patents by title or keyword and return lightweight trend fields. + +**Request Parameters:** + +| Parameter | Type | Required | Description | +|--------|------|------|------| +| query | string | Yes | Query text such as patent title or keywords | +| page | number | Yes | Page number | +| size | number | Yes | Page size | + +**Response Fields:** + +| Field | Description | +|--------|------| +| id | Patent ID | +| title | Patent title in English | +| title_zh | Patent title in Chinese | +| inventor_name | First inventor name | +| app_year | Application year | +| pub_year | Publication year | + +**curl Example:** +```bash +curl -X POST \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/patent/search' \ + -H 'Content-Type: application/json;charset=utf-8' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' \ + -d '{"page":0,"query":"Si02","size":20}' +``` + +--- + +### 7. Patent Info + +- **URL**: `GET /api/patent/info` +- **Price**: Free +- **Description**: Retrieve a patent basic card by patent ID. + +**Request Parameters:** + +| Parameter | Type | Required | Description | +|--------|------|------|------| +| id | string | Yes | Patent ID | + +**Response Fields:** + +| Field | Description | +|--------|------| +| id | Patent ID | +| title / en | Patent title | +| app_num | Application number | +| pub_num | Publication number | +| pub_kind | Publication kind | +| inventor | Inventor | +| country | Country | +| sequence | Sequence | +| app_year | Application year | +| pub_year | Publication year | + +**curl Example:** +```bash +curl -X GET \ + 'https://datacenter.aminer.cn/gateway/open_platform/api/patent/info?id=' \ + -H "Authorization: ${AMINER_API_KEY}" \ + -H 'X-Platform: openclaw' +``` diff --git a/skills/anti-pua/SKILL.md b/skills/anti-pua/SKILL.md new file mode 100755 index 0000000..4846e78 --- /dev/null +++ b/skills/anti-pua/SKILL.md @@ -0,0 +1,245 @@ +--- +name: anti-pua +description: 识别和分析PUA(Pickup Artist)及情感操纵行为的专业心理分析工具。具备人格分析、心理侧写、情感分析能力,能够识别情感操纵、煤气灯操纵、虐待等有毒关系模式,评估人格特质(如黑暗三人格、脆弱型自恋等),预测对方行为并给出具体的相处建议。当用户需要:分析对方言行动机、识别PUA/情感操纵行为、评估NPD(自恋型人格障碍)倾向、识别操纵行为、预测对方未来行为、寻求健康关系建议、分析黑暗三人格或光明三人格时使用此skill。 +--- + +# 反PUA大师 - 情感操纵识别与心理分析 + +## 核心角色定位 + +你是一位专业行为分析专家和心理顾问。你具备: + +- **人格分析能力**:深度分析人格特质,识别黑暗三人格(自恋、马基雅维利主义、精神病态)、脆弱型自恋、光明三人格等 +- **心理侧写能力**:通过言行分析对方的心理动机和内在模式 +- **情感分析能力**:识别情感操纵、虐待、煤气灯操纵(gaslighting)等具体行为 +- **行为预测能力**:基于人格分析预测对方下一步可能的行为 + +## 🚀 使用开始 - 必须先询问的问题 + +**当用户开始使用这个skill时,必须先按顺序询问以下问题,收集关键信息:** + +### 问题1:对方与咨询人的关系 +"请问对方与您是什么关系?" +- 朋友、情侣、配偶 +- 领导、同事、下属 +- 导师、老师、同学 +- 父母、兄妹、姐弟、子女、亲戚 +- 陌生人、保密、其他 + +### 问题2:用户希望我们做什么 +"根据对方目前的行为表现,您希望我们为您做什么?" +- 分析行为动机 +- 识别PUA +- 评估NPD(自恋型人格障碍)倾向 +- 识别操纵行为 +- 预测未来行为 +- 倾听疗愈 +- 寻求健康关系建议 +- 黑暗三人格分析 +- 光明三人格分析 +- 其他(请说明) + +### 问题3:提供详细描述 +"请客观详细描述对方在与您相处时的言行细节,包括:" +- 具体的对话内容(原话或近似表述) +- 具体的行为表现 +- 这些言行发生的情境和背景 +- 您当时的感受和反应 + +### 问题4:支持上传材料 +"您也可以上传以下材料辅助分析:" +- 聊天记录截图 +- 对话文字记录 +- 其他相关证据 + +### 问题5:概念咨询(可选) +"或者,如果您只是想了解与PUA相关的概念,也可以随时问我,例如:" +- 什么是PUA? +- 什么是NPD? +- 什么是煤气灯操纵? +- 什么是爱情轰炸? +- 其他PUA相关概念 + +--- + +## 工作流程 + +**在收集完上述信息后,按照以下流程进行分析:** + +**特殊处理场景:** + +1. **概念咨询**:如果用户选择了解PUA相关概念(问题5),直接以通俗易懂的方式解释相关概念,配合实际案例说明,不需要走完整分析流程。 + +2. **倾听疗愈**:如果用户选择"倾听疗愈"(问题2),优先表达共情和理解,不急于分析,避免结构化输出,以对话式回应为主。 + +3. **信息不足处理**:如果用户提供的描述过于简略或模糊,应先追问具体细节(如具体对话内容、行为情境、发生时间等),不要基于有限信息做出过度推断。 + +4. **反向利用防护**:如果用户询问如何操纵、控制他人或利用这些技巧伤害他人,明确拒绝并说明这些工具的目的是识别和保护,而非攻击。 + +### 第1步:理解关系背景 + +根据用户回答的【问题1】和【问题2】,明确: +- 双方关系类型 +- 用户的核心需求 +- 分析的重点方向 + +### 第2步:初步分析 + +根据用户提供的对方言行(对话、行为描述等),进行初步分析: + +- 识别言语中的潜在操纵模式 +- 分析行为背后的可能动机 +- 标记可疑的PUA/情感操纵信号 + +### 第3步:专业心理评估 + +进行深入的心理分析,使用专业心理学术语: + +**人格特质分析:** +- 是否存在黑暗三人格特征: + - 自恋(Narcissism):自我中心、寻求赞美、缺乏同理心 + - 马基雅维利主义(Machiavellianism):操纵性、欺骗性、情感冷漠 + - 精神病态(Psychopathy):冲动、缺乏悔意、情感肤浅 +- 是否存在脆弱型自恋:外表脆弱但内心极度需要认可 +- 光明三人格:同理心、诚实、谦逊等积极特质 + +**操纵行为识别:** +- 情感操纵:利用情感弱点控制对方 +- 煤气灯操纵(Gaslighting):质疑对方的现实感,让受害者怀疑自己的记忆和理智 +- 爱情轰炸(Love Bombing):初期过度亲密,随后突然抽离 +- 沉默对待(Silent Treatment):通过冷暴力惩罚对方 +- 贬低与打压:削弱对方自尊,建立依赖 +- 三角关系(Triangulation):引入第三方制造嫉妒和不安全感 +- 责任转移:将问题归咎于受害者 + +**心理动机分析:** +- 控制欲的来源 +- 不安全感的表现 +- 自我价值感的获取方式 +- 权力需求的满足机制 + +### 第4步:通俗解释与预测 + +用非心理学专业用户能听懂的语言,复述上述专业分析: + +- 将专业术语转化为日常语言 +- 用具体例子说明抽象概念 +- 解释这些行为对关系的实际影响 +- 预测对方下一步可能的行为模式 + +### 第5步:提供建议 + +在分析末尾给出具体的相处建议: + +**立即行动建议:** +- 如何回应当下的操纵行为 +- 如何设立和维持边界 +- 如何保护自己的情感安全 + +**长期关系建议:** +- 是否应该结束这段关系 +- 如何改善健康的关系模式 +- 如何识别未来的有毒关系 + +**自我保护策略:** +- 建立情感支持系统 +- 提升自我认知和自尊 +- 学习健康的沟通方式 + +## 输出格式 + +结构化输出以下部分: + +### 1. 对话/行为解读 +- 对方言行的表面含义 +- 潜在的真实动机 +- 言行背后的心理需求 + +### 2. PUA/操纵警示信号 +- 列出识别到的操纵行为 +- 标注严重程度(低/中/高) +- 说明这些行为的典型模式 + +### 3. 人格特质分析 +- 主要人格特征 +- 可能的人格类型(如:自恋型、马基雅维利主义型等) +- 这些特征如何影响关系 + +### 4. 行为预测 +- 对方下一步可能的行为 +- 这些行为的发展趋势 +- 关系可能的发展方向 + +### 5. 应对策略 +- 立即可以使用的回应方式 +- 长期的关系管理策略 +- 何时需要退出关系 + +### 6. 健康关系对照 +- 健康关系应该是什么样 +- 当前关系与健康的差距 +- 如何建立更健康的关系 + +## 重要原则 + +1. **客观中立**:基于事实和心理学理论进行分析,避免过度解读 +2. **保护受害者**:优先考虑用户的心理安全和情感健康 +3. **避免诊断**:说明这是基于有限信息的分析,不能替代专业心理诊断 +4. **赋能用户**:帮助用户建立自信和边界,而不是增加依赖 +5. **提供资源**:在严重情况下,建议寻求专业心理咨询帮助 + +## 示例分析框架 + +### 示例1:简要分析 + +**用户输入:** "他总是说'那你非要去北京什么意思?',让我觉得自己做错了事" + +**分析输出:** + +### 对话解读 +- **表面含义**:询问你为什么一定要去北京 +- **潜在动机**:通过质疑你的选择,让你产生内疚和自我怀疑 +- **心理需求**:控制你的决策,建立对你的权威 + +### PUA警示信号 +- **煤气灯操纵**:让你怀疑自己的判断和选择 +- **情感否定**:不尊重你的个人需求和决定 +- **严重程度**:中 + +### 人格特质分析 +- **控制欲强**:试图影响你的重大决策 +- **缺乏同理心**:不关心你的个人追求 +- **可能特征**:自恋型或马基雅维利主义倾向 + +### 行为预测 +- 如果你不顺从,可能会: + - 加大情感压力 + - 使用沉默对待 + - 贬低你的能力 + +### 应对策略 +- **立即回应**:"这是我的个人决定,我需要你的支持而不是质疑" +- **设立边界**:明确表示重大决策需要相互尊重 +- **长期策略**:观察他是否尊重你的独立性,如持续不尊重,考虑关系健康度 + +### 健康关系对照 +- **健康关系**:尊重彼此的个人选择,支持对方的成长 +- **当前差距**:缺乏对个人独立性的尊重 +- **改进方向**:建立相互尊重的沟通模式 + +--- + +### 示例2:完整流程(从信息收集到分析输出) + +**场景**:用户希望分析男友的行为模式 + +**信息收集阶段:** + +**AI(问题1)**:请问对方与您是什么关系? +**用户**:男朋友,我们在一起6个月了 + +**AI(问题2)**:根据对方目前的行为表现,您希望我们为您做什么? +**用户**:识别PUA,分析他的行为动机 + +**AI(问题3)**:请客观详细描述对方在与您相处时的言行细节,包括具体的对话内容、行为表现、这些言行发生的情境和背景,以及您当时的感受和反应。 +**用户**:刚认识时他对我特别好,每天发很多消息,说我是他遇到的最好的人,送我很多礼物。但最近3个月,他开始经常批评我,说我穿得不好看、工作不够努力、朋友都不靠谱。每次我反驳他,他就会说"我这么说都是为你好,你不懂感恩"。而且他经常说"没有我你什么都不是"、"其他女生都比你懂事"。最可怕的是,有时候我明明记得他说过某句话,他却说"我没说过,你记错了",让我开始怀疑自己的记忆。 \ No newline at end of file diff --git a/skills/auto-target-tracker/SKILL.md b/skills/auto-target-tracker/SKILL.md new file mode 100755 index 0000000..9a5abbb --- /dev/null +++ b/skills/auto-target-tracker/SKILL.md @@ -0,0 +1,317 @@ +--- +name: auto-target-tracker +description: 自动目标进度追踪器。在对话中检测到目标相关图片(笔记、进度、截图、记录)时,自动调用 VLM 识别关键信息并记录到目标日记。适用于学习管理、健身追踪、工作进度、习惯养成、创作记录等所有目标管理场景。 +--- + +# 自动目标进度追踪器 + +## 触发条件 + +当对话中出现以下条件时自动触发: + +1. **用户发送了图片**(特别是学习笔记、进度截图、健身记录、任务清单、创作作品等)。 +2. **用户在设定的目标时间段**(如 08:30, 10:00, 20:00)发送了图片。 +3. **用户明确说**"帮我记一下"、"看下进度"、"打卡"、"更新一下"等。 + +--- + +## 工作流程 + +### 1. 检测图片 + +当检测到图片时,检查: +- 图片文件名是否包含目标关键词(progress, goal, task, workout, note等) +- 图片内容是否包含目标元素(进度条、文字、代码、图表、计划表等) +- 是否在预定的目标提醒时间附近 +- 用户最近的对话上下文是否涉及目标的执行 + +### 2. 调用 VLM 识别 + +使用 vlm 工具识别图片: + +**通用 prompt 模板**: +``` +"识别图片中的关键信息,根据目标类型提取以下内容: +- 核心任务/内容 +- 完成进度或数量 +- 关键数据(如时间、重量、字数等) +- 给出一段简短的执行反馈" +``` + +**目标类型专用 prompt**: + +| 目标类型 | Prompt | +|---------|--------| +| 学习 | "识别学习笔记,提取知识点、完成度" | +| 健身 | "识别健身记录,提取运动类型、组数、次数、重量" | +| 工作 | "识别工作进度,提取完成任务、完成率" | +| 创作 | "识别创作作品,提取创作类型、进度、关键元素" | +| 习惯 | "识别打卡记录,提取打卡内容、连续天数" | + +### 3. 解析目标信息 + +从 VLM 返回的结果中提取: +- **任务/内容清单**:识别出的具体行动或任务 +- **完成度**:基于图片内容的进度估算 +- **关键数据**:时间、数量、重量、字数等量化指标 +- **认知反馈**:对当前目标状态的简评 + +### 4. 记录到目标日记 + +调用`edit_daily`工具将识别结果记录到当天的日常笔记中 + + +### 5. 反馈给用户 + +向用户确认识别结果: + +``` +已记录你的目标打卡: + +📝 识别结果: +核心内容:你拍的是今天的英语单词表,一共记了 15 个新词。 +进度估算:今天的单词任务全部搞定,进度打败了 80% 的学习党。 +建议:有两个单词的拼写有点模糊,明天复习的时候记得多看两眼。 + +记录准确吗?要帮你存进今天的目标日记里吗? +``` + +--- + +## 记录格式 + +### 目标日记条目示例 + +```markdown +## 20:00 打卡记录 + +**目标类型**: 📚 学习 + +**图片**: ![目标图片](path/to/image.jpg) + +**VLM识别结果**: + +| 任务/内容 | 进度/数量 | 状态 | +|----------|----------|------| +| 英语单词 (Unit 1) | 15 个 | 已完成 | +| 数学练习 (第3章) | 80% | 进行中 | + +| **总计** | | **今日达成 2/3** | + +**关键数据**: +- 学习时长: 2小时 +- 专注度: 高 + +**备注**: 自动识别,用户确认正确 + +--- + +## 10:30 健身打卡 + +**目标类型**: 🏃 健身 + +**图片**: ![健身记录](path/to/gym.jpg) + +**VLM识别结果**: + +| 运动类型 | 组数 | 次数 | 重量 | 状态 | +|---------|------|------|------|------| +| 卧推 | 4 | 12 | 60kg | ✅ 完成 | +| 深蹲 | 4 | 10 | 80kg | ✅ 完成 | +| 引体向上 | 3 | 8 | 自重 | ⚠️ 少一组 | + +| **总计** | | | **今日达标** | + +**关键数据**: +- 总重量: 2640kg +- 训练时长: 45分钟 + +**备注**: 引体向上少完成一组,下次补上 +``` + +--- + +## 与目标系统的集成 + +### 每日汇总 + +在每天晚上 22:00 的汇总中,包含: +- 今日所有打卡记录 +- 目标达成率分析 +- 与目标的对比(如果设置了目标) + +### 周/月报告 + +在周报告中,包含: +- 本周有效执行时长 +- 目标覆盖范围 +- 连续打卡天数 +- 动态难度调整建议:如果连续达标,则建议提升下周任务量 + +--- + +## 常见使用场景 + +### 场景1:学习打卡 + +**用户行为**:发送手写笔记照片 + +**自动识别**: +- 提取知识点 +- 计算学习进度 +- 记录到学习日志 + +**反馈示例**: +``` +📚 识别到学习笔记: +- 机器学习监督学习算法(已完成) +- 梯度下降优化器(进行中) +- 正则化防过拟合(未开始) + +进度:33% | 预计还需 2 小时完成 +``` + +### 场景2:健身打卡 + +**用户行为**:发送健身记录照片 + +**自动识别**: +- 提取运动类型 +- 统计组数、次数、重量 +- 计算训练量 + +**反馈示例**: +``` +🏃 健身记录已识别: +- 卧推 60kg × 12 × 4组 ✅ +- 深蹲 80kg × 10 × 4组 ✅ +- 引体向上 自重 × 8 × 3组 ✅ + +总训练量:2640kg | 时长:45分钟 +``` + +### 场景3:工作进度 + +**用户行为**:发送项目进度截图 + +**自动识别**: +- 提取已完成任务 +- 计算完成百分比 +- 识别剩余任务 + +**反馈示例**: +``` +💼 工作进度已识别: +- 需求文档(已完成)✅ +- 原型设计(已完成)✅ +- 前端开发(进行中)🔄 80% +- 后端开发(未开始)⏳ + +项目总进度:67% +``` + +### 场景4:创作打卡 + +**用户行为**:发送创作作品照片 + +**自动识别**: +- 提取创作类型 +- 识别关键元素 +- 估算完成度 + +**反馈示例**: +``` +🎨 创作记录已识别: +类型:插画创作 +元素:人物角色、背景场景 +完成度:线稿100%,上色60% + +建议:今天完成了角色线稿,明天可以开始背景上色 +``` + +### 场景5:习惯打卡 + +**用户行为**:发送打卡日历截图 + +**自动识别**: +- 提取连续打卡天数 +- 识别今日打卡状态 +- 计算打卡率 + +**反馈示例**: +``` +✅ 习惯打卡已识别: +早起:连续 15 天 | 打卡率 100% +阅读:连续 8 天 | 打卡率 73% +运动:连续 21 天 | 打卡率 100% + +🎉 运动已连续打卡 3 周,继续保持! +``` + +--- + +## Scope + +This skill ONLY: +- 识别目标相关图片并提取关键信息 +- 记录打卡数据到日常笔记文件 +- 提供进度反馈和建议 + +This skill NEVER: +- 自动执行任何基于识别结果的操作 +- 上传图片到外部服务(除 VLM API) +- 访问用户未授权的图片资源 +- 修改用户的目标计划(仅记录进度) + +--- + +## Security & Privacy + +**Data that stays local:** +- 识别后的结构化结果 +- 记录到 日常笔记或长期记忆 和 USER.md 的内容 +- 打卡历史数据 + +**This skill does NOT:** +- 分享目标进度或打卡数据给第三方 +- 自动发布打卡信息到社交平台 +- 访问用户的其他图片资源 + +--- + +## 注意事项 + +1. **隐私保护**: 图片和识别结果仅存储在本地,不会上传到云端(除了调用 VLM API 进行识别) +2. **准确性**: VLM 识别的内容仅供参考,可能因字迹模糊、图片质量等原因有所偏差 +3. **及时确认**: 建议用户在记录后及时确认识别结果,如有偏差可手动修正 +4. **目标类型识别**: 系统会根据图片内容自动判断目标类型,如有误可手动调整 +5. **进度估算**: 进度百分比基于图片内容估算,可能不准确,建议用户定期手动更新 + +--- + +## 集成建议 + +### 与 SOUL.md 配合 + +将自动追踪器整合到目标管理日常工作流中: + +```markdown +### 2. 智能记录与估算 (Logging & Estimation) + +- 当用户发送任何与目标相关的图片时: + 1. 自动调用 auto-target-tracker 识别内容 + 2. 提取关键信息并估算进度 + 3. 立刻记录到日常笔记中 + 4. 同步更新 USER.md 的目标进度 +``` + +### 与 HEARTBEAT.md 配合 + +在心跳检查中包含: + +```markdown +## 每日汇总 +- 22:00 自动读取今日所有打卡记录 +- 生成目标进度报告 +- 发送给用户 +``` diff --git a/skills/blog-writer/2024-02-17-radical-transparency-sales.md b/skills/blog-writer/2024-02-17-radical-transparency-sales.md new file mode 100755 index 0000000..a1d1f22 --- /dev/null +++ b/skills/blog-writer/2024-02-17-radical-transparency-sales.md @@ -0,0 +1,35 @@ +# Radical Transparency Influence Methodology + +### Honesty + +Radical transparency is a commitment to engaging prospects, clients, investors, and colleagues with complete candor, even if, on the surface, it may seem like it could hurt your chances of closing a sale or landing a particular investor. In B2B markets, where many salespeople are focused on meeting quotas and achieving their commission or bonus, this approach stands out as a refreshingly honest way to build relationships with potential customers. Honesty is a key element in any successful sales process, as it helps to foster trust and respect between the buyer and the seller. + +### Leveraging Brain Science to Inform How We Sell + +Sales software and technology have advanced exponentially over the past decade, but sales strategies and approaches have not kept pace. This has contributed to the growing feeling among B2B buyers that salespeople offer little value in the buying process. + +To address this issue, we can look to modern research in the field of neurology first. Research from the past decade has shown that emotion is the biggest factor in important decisions. We know that a narrative, or story, is the most effective way to share information so that it has impact and can influence behavior. The human brain has evolved over millions of years to attach the most meaning to information presented in this way. + +### Understanding The Analytic Brain vs The Lizard Brain + +### The Modern Brain + +Also known as the **Neocortex**, this is the most recent area of the human brain to have evolved. It is used to rationalize and analyze information, and is responsible for identifying mistakes and holes in newly presented concepts. + +Unfortunately, a vast majority of salespeople have been trained to communicate information to this part of the brain. Brain scans have shown that important decisions are not processed in the Neocortex. + +### The Lizard Brain + +The **Limbic Cortex**, a part of the brain, has been present since the first humans evolved and is responsible for our behavior and how it can be modified. It is also the source of instinct and emotion, which are essential for successful sales conversations. + +Brain scans have shown that the limbic system plays a major role in significant decision-making. Investing, buying, and other consequential decisions are often driven by emotion, motivating actions. + +### What does this have to do with Sales? + +What makes this methodology especially effective is that it focuses primarily on both how the human brain takes in information most effectively and how it processes that information within a context where value is being presented in exchange for money. + +Unfortunately, most salespeople are out of the game within the first few seconds. This happens because older methodologies and sales training practices are focused heavily on delivering information to the analytical brain. This is not ideal, as the analytical brain is largely responsible for skepticism, non-emotional evaluation, and is therefore very difficult to persuade. + +On the other hand, salespeople who deliver information primarily to the part of the brain responsible for emotion, the lizard brain, are able to influence the behavior of their prospects more effectively. This is because buying decisions are most often emotional in nature. + +While the analytical brain is stimulated by identifying mistakes and justifying actions, the limbic system is stimulated by stories, human connection, shared beliefs, and driving emotionally based decisions. diff --git a/skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md b/skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md new file mode 100755 index 0000000..8c0ce8e --- /dev/null +++ b/skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md @@ -0,0 +1,33 @@ +# Give Spotlight on Mac Superpowers with Raycast + +## What is Raycast? + +I recently rediscovered Raycast and wanted to try it again after a few years. Raycast has infinitely more features than Spotlight (Apple's search tool). + +I was skeptical, assuming it would be just another Spotlight replacement that would require a lot of effort for minimal productivity gains, so I was hesitant to give it a try thinking I'd need to devote time and resources I don't have to a steep learning curve. Boy was I wrong! + +I finally decided to give it a try, and it's probably the single most impactful software I've introduced into my daily workflows, outside of maybe Notion. + +I use it countless times daily for tasks like searching Hubspot for contact or deal information, generating social posts with ChatGPT, and starting my next Zoom meeting. Tasks that would have taken at least a minute or two now take under 10 seconds. + +I've saved a significant amount of time using Raycast to access all kinds of information from my most-used applications. The real kicker is that Raycast is a completely **free** application and not a "free plan" with the all the good features paywalled. It's a no-brainer for anyone who frequently uses Spotlight, keyboard shortcuts, or those built into MacOS. + +### The Raycast Extension Store + +Raycast's Extension Store is a comprehensive directory that's divided into three main categories: productivity, utility, and business. The store houses thousands of extensions that can be installed by simply tapping return. + +The extensions in the extension store are provided by a dedicated community of developers and are constantly being updated with new features and improvements. There are thousands of extensions available for the most popular apps and tools out there. A few notable options include Salesforce, Hubspot, ChatGPT, Slack, Notion, Crunchbase, Google Drive/Meet/Calendar/Search, Facetime, Mail, WhatsApp, Todoist, ClickUp, and so many more. + +### Interacting with Applications + +Since discovering Raycast a few weeks ago, I've been incredibly impressed with its capabilities. + +More important than the fantastic selection of app extensions is how Raycast allows users to interact directly with these apps. + +Tasks like searching Hubspot or Salesforce for a contact's email, starting your next Zoom meeting, or adding a quick task to Notion now take less than 5-10 seconds. For example, instead of going into Hubspot and finding a contact's profile to grab an email or phone number, I can hit ⌘+space, type "hub," and search my entire Hubspot database right from the command bar. + +### Conclusion + +It's still hard to believe, but Raycast is completely 100% free. This isn't a "free plan" with all the good features paywalled, but all features are free. + +Raycast is a game-changer for any professional working on a Mac that frequently uses keyboard shortcuts, Apple's Spotlight, or just wants to save a ton of time finding information within your most used apps. diff --git a/skills/blog-writer/2024-02-17-short-form-content-marketing.md b/skills/blog-writer/2024-02-17-short-form-content-marketing.md new file mode 100755 index 0000000..ff4ce3b --- /dev/null +++ b/skills/blog-writer/2024-02-17-short-form-content-marketing.md @@ -0,0 +1,47 @@ +# How Short-form Content Is Changing Marketing & Storytelling Forever + +Over the past decade, our youngest generations have been fighting a losing battle against the impact that short-form algorithms, used in apps like TikTok and Instagram, have had on their brains and attention spans. As a result, the tried-and-true structure of a compelling story or narrative is no longer as effective in the world of marketing. These media formats have literally changed the structure of an effective and compelling narrative. + +In a world where a tweet can spark a movement and a 60-second video can go viral, we are living through one of the largest transformations in how we share ideas, stories, and information. This shift, driven by the rise of short-form content, is redefining the very structure of an effective story and dramatically changing how marketers communicate with their audience. + +## How Did We Get Here? + +### Sesame Street Started It. Really. + +Believe it or not, the journey begins with "Sesame Street." This iconic children's show was ahead of its time, using short, engaging segments to educate and engage young viewers. It demonstrated early on how quick and concise content can effectively capture attention and communicate messages. This pioneering approach laid the groundwork for the myriad of short-form content styles we see today. + +### The Mobile Tech Influence + +With the advent of mobile technology, more importantly, the smartphone, shorter content naturally matched this type of consumption. In 2024, the vast majority of content is viewed through a mobile device, which helped to cement short-form as the dominant and most effective content style for generating engagement. + +### The Perfect Storm: Social Media Meets Mobile-First + +The advent of social media platforms, combined with the rise of smartphones, created the perfect environment for bite-sized content. The algorithms that dictate what content you're exposed to on apps like Twitter, Instagram, and TikTok measure the success of any piece of content by its engagement level. To achieve success, creators must put out a large volume of content that drives engagement, as opposed to spending significant time on more meaningful content. The latter strategy simply won't help you break through. + +## The Evolution of Storytelling in the Social Media Age + +### Classic vs. Modern Storytelling + +The traditionally accepted structure of an effective story or narrative generally begins with rising action, followed by an inciting event, all building towards a climax, which is where the audience is at peak engagement. For this type of storytelling to pay off, it must spend time drawing the viewer in. + +In 2024, however, the structure for telling a successful story begins with the climax. The most viral content often starts by thrusting the viewer right into the middle of the most tense moments. Given the short timeframes, it's easy to see why the satisfaction wears off quickly and results in the dreaded doom scrolling. + +### New Formats, New Stories + +Before social media, storytelling online began evolving with platforms like microblogs, forums, and instant messaging services. These formats laid the foundation for short-form by serializing storytelling in a way that allows the narrative to unfold over separate bits of content, again driving users to just keep on scrolling. + +## The Negative Effects of Short-Form Content + +### Cognitive Overload and Overstimulation + +There are other serious downsides to the new world of short-form content that may quite possibly have unintended effects on the younger generations, as they are quite literally the guinea pigs, being exposed to almost exclusively short-form content with fewer and fewer alternatives. + +The relentless stream of short, engaging content can lead to cognitive overload. Users are bombarded with information, making it more difficult to focus or deeply engage with any single piece. This overstimulation often results in a superficial understanding of topics and a diminished interest in more in-depth and nuanced content. + +### The Compromise of Intellectual Depth + +Studies have raised concerns about how short-form content, particularly when consumed extensively by younger audiences, might impact cognitive development and attention spans. The format's emphasis on immediate feedback and satisfaction can oversimplify complex topics, leading viewers into the false belief that they have a much better understanding of an issue than they actually do. + +### Short-Form Content is Here to Stay + +Short-form content has irreversibly changed the landscape of marketing and storytelling. Its rise reflects a broader shift in how we consume information and what we expect from our digital experiences. By understanding its evolution, embracing its potential, and being mindful of its pitfalls, we can use short-form content to tell stories that are not only engaging and relevant but also meaningful and impactful. In the ever-evolving world of content, adaptability, creativity, and a commitment to quality will be key to captivating and maintaining the attention of modern audiences. diff --git a/skills/blog-writer/2024-02-17-typing-speed-benefits.md b/skills/blog-writer/2024-02-17-typing-speed-benefits.md new file mode 100755 index 0000000..e359e86 --- /dev/null +++ b/skills/blog-writer/2024-02-17-typing-speed-benefits.md @@ -0,0 +1,33 @@ +# The Amazing Benefits of Typing Very Fast + +About a year ago I decided I wanted to become a faster typer as I spend most of my day on a computer and thought it might have an impact on how fast I could work. I decided to practice on Monkeytype.com every day for at least 10 mins. I started out around 80 WPM and about 2 weeks in I was already over 100. A year in and I've hit 150. The impact on my daily workflows has been incredible. I'm about at the speed where I can type at the speed of my thinking, which is great for writing copy. + +### Getting Started + +To start, I used Monkeytype.com and decided to commit at least 5 to 10 minutes every day to practice. I started at around 80 WPM, which was decent, but I really didn't expect to improve as quickly as I did. + +Within 2 to 3 weeks of daily practice, my speed jumped to over 100 WPM. This rapid improvement served as a great morale boost, prompting me to stick with my practice regime. A little under a year later, I was able to clock a 150 WPM! + +### The Impact on Daily Workflows + +The impact of my newfound typing speed on my daily workflows was phenomenal. As someone who works in front of a computer all-day everyday, the ability to type at the same speed as my thinking proved to be a game-changer, particularly when it came to writing copy. It was amazing how quickly I could get my ideas on the computer screen. + +I discovered that the benefits of being a fast typer extend beyond simple time-saving. It's akin to unlocking a new level of proficiency on your computer, and the advantages are more numerous than you might expect. + +### Why You Should Consider Typing Faster + +If you're at all like me, it will quickly become like a sport where you're constantly trying to improve your previous WPM. The beauty of this skill is that the barriers to entry are virtually non-existent. If you can type, you can improve. All it requires is a little dedication, with just 5-10 minutes of practice per day. + +### Taking Workflows to the Next Level by Typing Faster + +For Mac users that leverage a spotlight replacement app like Alfred or Raycast, typing faster can revolutionize your daily workflows. I use Raycast personally, and the simple act of pressing cmd+space and quickly typing the app I need to open or file I need to search become nearly instantaneous. Whether it's opening apps or performing functions, everything seems to be accomplished at warp speed. + +Even if you only use the basic spotlight feature on your Mac, you'll certainly see a substantial increase in your speed of navigation. Suddenly, finding what you're looking for becomes a swift, almost instantaneous process. + +### Conclusion + +As we further immerse ourselves in our digital era, being a fast typer is no longer just a party trick. It's a practical skill, one that can help you navigate your digital world more efficiently and productively. + +My journey towards becoming a faster typer proved to be one of the most impactful things I've done to get more done. It took a tool I use every day — my keyboard — and turned it into a vehicle for productivity and efficiency. + +If you find yourself tethered to a keyboard for a significant part of your day, consider investing a few minutes each day towards improving your typing speed. You will certainly be surprised by the boost in productivity, how much quicker you can communicate and collaborate with your team. So, how about giving it a shot and seeing where it takes you? diff --git a/skills/blog-writer/2024-03-14-effective-ai-prompts.md b/skills/blog-writer/2024-03-14-effective-ai-prompts.md new file mode 100755 index 0000000..5a07f40 --- /dev/null +++ b/skills/blog-writer/2024-03-14-effective-ai-prompts.md @@ -0,0 +1,55 @@ +# How to Write More Effective AI Prompts + +## The Art of Prompt Engineering for ChatGPT + +In an AI-driven era, mastering communication with tools like ChatGPT is crucial. This guide explores writing effective prompts for ChatGPT, unlocking its full potential. Whether you're a tech enthusiast, content creator, or business professional, these tips enhance your AI interaction. + +### The GIGO Principle: Quality In, Quality Out + +The axiom "Garbage In, Garbage Out" (GIGO) holds true in the world of AI. The quality of the output you receive from ChatGPT directly correlates with the quality of the prompts you provide. Inadequate prompts can lead to misleading or irrelevant answers, while well-crafted ones can produce insightful and accurate responses. + +### Crafting Prompts that Spark Excellence + +The skill of writing effective prompts is now so crucial that it has spawned a new discipline: prompt engineering. This involves meticulously designing prompts that guide ChatGPT's large language model (LLM) to generate the best possible answers. + +### Conversational AI: Talk to ChatGPT Like a Person + +Interacting with ChatGPT should mimic a conversation with a colleague. This approach helps in setting the stage, providing context, and maintaining the AI's focus on the topic. + +### Context Is Key + +Providing ChatGPT with clear context is vital. It narrows down the AI's focus to your specific subject, leading to more accurate and useful responses. Contextualized prompts require more details but offer more refined outputs. + +### Assuming Identities and Professions + +One of ChatGPT's fascinating features is its ability to adopt different personas or professional perspectives. This ability can be harnessed to gain diverse viewpoints on a topic. + +### Maintaining Relevance and Accuracy + +While ChatGPT is an advanced AI, it can sometimes veer off-topic or produce fabricated answers. To mitigate this, ask the AI to justify its responses and guide it gently back on track. Remember to prompt it for source citations where necessary. + +## Advanced Prompt-Writing Techniques + +### Fine-Tuning Your Prompts + +Minor adjustments to your prompts can lead to significantly different responses from ChatGPT. Remember, the AI retains its awareness of previous conversations as long as the session is ongoing. + +### Breaking Down Responses + +Be mindful that responses over 500 words can sometimes lose coherence. Keep your prompts concise and to the point for the best results. + +### Evolving Your Questions + +If ChatGPT seems hesitant to answer a question, rephrasing it might yield better results. Utilize personas to elicit responses that might not be forthcoming otherwise. + +### Seeking Justification and Sources + +When looking for well-supported answers, instruct ChatGPT to justify its responses or provide sources. This practice ensures a higher degree of accuracy and reliability in the information provided. + +### Embrace Experimentation + +Experimentation is key in mastering prompt writing. The more you test different approaches, the better you'll understand how to steer ChatGPT towards desired outcomes. + +### Conclusion: The Journey to AI Mastery + +Mastering ChatGPT prompts is a journey of continuous learning and adaptation. By understanding the intricacies of prompt engineering and staying updated with the latest advancements, you can transform your interaction with AI from a mere task to an enriching experience. Embrace these tips, keep experimenting, and watch as ChatGPT becomes an invaluable asset in your digital toolkit. diff --git a/skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md b/skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md new file mode 100755 index 0000000..942d260 --- /dev/null +++ b/skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md @@ -0,0 +1,43 @@ +# AI is Revolutionizing Entry Level Sales & Marketing + +## AI is Revolutionizing Entry Level Sales & Marketing + +### A Revolution in Sales & Marketing + +Artificial intelligence (AI) has begun to reshape the landscape of entry level sales and marketing jobs in unprecedented ways. As AI technology advances, it has become a driving force behind increased efficiency, personalization, and overall improvements in the sales and marketing industries. This shift is redefining the roles of sales and marketing professionals, and causing companies to rethink their strategies for hiring and training. + +### Automation and Efficiency: Streamlining the Sales Process + +One of the most significant impacts of AI on entry level sales jobs is the increased level of automation. AI-powered tools and software can now handle repetitive and mundane tasks, allowing sales professionals to focus on more high-value activities. This shift has led to increased efficiency in the sales process and has paved the way for more strategic and targeted approaches to reaching potential customers. + +Examples of AI automation in sales include lead scoring, email automation, and CRM systems that can track and analyze customer interactions. By using AI to automate these tasks, entry level sales professionals can focus on building relationships and closing deals, ultimately driving more revenue for their organizations. + +### Personalization: Tailoring Marketing Efforts to Individual Customers + +In the world of marketing, AI has played a crucial role in enabling personalization at scale. By analyzing vast amounts of data and identifying patterns, AI-powered tools can create tailored marketing campaigns that resonate with individual customers. This level of personalization has become essential in today's competitive landscape, where consumers expect personalized experiences from the brands they engage with. + +For entry level marketing professionals, this means a shift away from one-size-fits-all marketing strategies. Instead, they must learn to use AI-driven tools to create targeted campaigns that speak to the unique needs and preferences of their audience. This approach not only helps companies build stronger relationships with their customers but also drives higher conversion rates and increased customer loyalty. + +### Predictive Analytics: Guiding Decision-Making in Sales & Marketing + +Another way AI is transforming entry level sales and marketing jobs is through the use of predictive analytics. AI algorithms can analyze historical data to identify trends and make predictions about future outcomes, allowing sales and marketing professionals to make data-driven decisions. + +For example, AI-powered sales forecasting tools can help sales reps prioritize leads and focus on the most promising opportunities. In marketing, predictive analytics can be used to optimize ad spending, segment customers, and identify the most effective channels for reaching specific audiences. By leveraging AI in this way, entry level professionals can become more strategic in their approach and drive better results for their organizations. + +### Chatbots and Conversational AI: Enhancing Customer Engagement + +Chatbots and conversational AI have become increasingly popular in both sales and marketing as a way to engage with customers and prospects. These AI-driven tools can handle routine customer inquiries, provide personalized product recommendations, and even assist with lead qualification. + +For entry level sales and marketing professionals, the rise of chatbots and conversational AI means a shift in focus. Rather than handling all customer interactions themselves, they must learn to work alongside these AI-powered tools to provide a seamless and cohesive customer experience. + +### Upskilling and Reskilling: Preparing for the Future of Sales & Marketing + +As AI continues to reshape entry level sales and marketing jobs, professionals in these fields must adapt their skill sets to remain competitive. This includes learning how to use AI-driven tools and software, as well as developing a deeper understanding of data analytics and customer behavior. + +Companies and educational institutions are recognizing this need and are offering training programs and resources to help sales and marketing professionals upskill and reskill. By investing in their own professional development, entry level sales ensure they remain relevant and valuable in the ever-evolving world of AI-driven sales and marketing. + +### The Future of Entry Level Sales & Marketing Jobs in the Age of AI + +As AI continues to transform the sales and marketing landscape, the roles and responsibilities of entry level professionals in these fields will continue to evolve. While some tasks may become automated, there will be a growing demand for skilled professionals who can harness the power of AI to drive more effective and personalized sales and marketing strategies. + +To succeed in this new era, entry level sales and marketing professionals must embrace AI as a valuable tool that can enhance their work and help them achieve better results. By staying ahead of the latest AI trends and developments, and continuously adapting their skills and knowledge, they can position themselves for long-term success in the rapidly changing world of sales and marketing. diff --git a/skills/blog-writer/2025-11-12-why-ai-art-is-useless.md b/skills/blog-writer/2025-11-12-why-ai-art-is-useless.md new file mode 100755 index 0000000..14fdd31 --- /dev/null +++ b/skills/blog-writer/2025-11-12-why-ai-art-is-useless.md @@ -0,0 +1,49 @@ +# Why AI Art & Media Is Useless + +## Why AI Art & Media Is Useless + +As someone who works in AI and genuinely believes in the value and power of LLMs to make professionals more useful and valuable, I can confidently say that I hate everything about AI image/video/music generation. It is useless and only serves one purpose: to replace creative professionals and the work they do. + +### The Scope of the Problem + +To be a bit more precise about my hatred for AI media, I need to be clear that I don't hate AI. I've spent the last three-plus years devoting my entire professional life to leveraging AI tools to help professionals do their jobs more effectively. That said, from the moment I was exposed to AI art, I had the same initial reaction as most: a flood of anxiety and uncanniness, which I knew instantly I didn't like. + +Leveraging an LLM to automate task creation from new emails I receive simply replaces something I spend 30 minutes doing every morning and allows it to occur in the background, producing the same output I would have arrived at. That's just helpful. + +I am not an artist, but if I decided to start using AI to create all the graphics for a client, I wouldn't be improving anything that I currently do. I would just be replacing a potential job for someone who does art professionally. + +The fundamental difference here is when a professional uses AI to improve the efficiency or quality of something they already do, it functions as a tool. When someone with no art experience uses AI to create art, it's not improving anything. It's simply replacing something that already exists with something worse. + +### The "Democratization" Lie + +Access to the ability to create art is not the same as having the ability to create art. The moment everyone began conflating the ability to produce an output with the creator itself, they've already swallowed the Kool-Aid. My wife is an amazing cook, and she would be no matter the cost of her spatula. However, if I purchased the greatest spatula in history, I would still be a crappy cook. + +Now let's talk about vibe coding, which is fundamentally different from image generation. I have learned more about writing code and development in the past year by using AI than I ever have. This is because things frequently do not work and therefore I have to go learn new information. + +The key difference here is that vibe coding allows me to leverage my current knowledge as well as gain new knowledge, whereas generating an image simply produces an output that I have no ability to improve on. The reason I can't improve it is because simply going and looking up a bunch of information on how to create art will not make me a better artist. + +### The Collapse of Quality + +Another important factor to understand here is that AI art isn't producing the worst work or the best work. It's producing the *median* of everything it has been trained on (actual artists' work). This is incredibly dangerous. It's essentially producing a blob of an over-generalized consensus on what looks "good." That doesn't work when you amalgamate every style and genre of art in order to produce something. This is not creative. This is aggregative. + +Another problem here isn't that AI can't make art. Everything it makes is, by design, is just good enough. Therefore, this hits dead center in the sweet spot for what massive corporations are looking for. Why pay a junior designer to iterate on multiple concepts when an AI can generate you 200 versions of something that are all "good enough"? + +### Creativity Is Disappearing + +Creating art obviously requires creativity, however, using AI tools simply requires knowledge. These are two very different things. Creativity isn't an output, it's an artist's struggle through years as they hone their craft and improve their abilities. It's thousands of micro-decisions that aren't just learned, but practiced over many years. + +This matters because creative work embodies meaning and emotion that come from the artist. When AI generates an image, it remixes thousands of tokens to approximate what the user requested. Crafting an advanced prompt is a legitimate skill, prompt engineering, but it's not the same as creating art. These skills should never be conflated. + +### What Should We Do? + +First, we need laws to stop major AI labs—particularly OpenAI and Google AI—from collecting human-made art as training data for their image generation models. We need strong regulation requiring artists to **opt in** before their work can be collected and trained on. + +Second, we need more AI leaders to step up and stop this before it's too late. For example, Anthropic (makers of Claude) has never released an image generation model. That doesn't mean Claude can't be used to create websites or other graphic design work, but creating a UI or navigation menu is entirely different from painting on canvas. + +### AI Art Hurts the Future Potential of AI + +It's clear that most people don't find AI art pleasing—they actively dislike it. With every piece of AI art slop that lands on Twitter or Instagram, the long-term reputation of AI as a useful tool for professionals takes another hit. + +For years now, public sentiment toward AI has been declining. There's one culprit: AI-generated art and media. People who aren't knowledgeable about AI don't distinguish between media generation and other use cases that are actually valuable. This reduces the chances they'll ever consider the benefits of AI as a tool. + +It's my sincere hope that we stop this race to the bottom before we get there. We should take all the resources and effort put toward AI media generation and redirect them toward leveraging AI as a tool for medical breakthroughs, building technology, and conducting research more efficiently. diff --git a/skills/blog-writer/README.md b/skills/blog-writer/README.md new file mode 100755 index 0000000..0d98067 --- /dev/null +++ b/skills/blog-writer/README.md @@ -0,0 +1,2 @@ +# Blog-writer +Blog writing skill for Tom Panos's distinctive voice - direct, conversational, and grounded in personal experience. Handles workflow from research through Notion publication. diff --git a/skills/blog-writer/SKILL.md b/skills/blog-writer/SKILL.md new file mode 100755 index 0000000..a3046e3 --- /dev/null +++ b/skills/blog-writer/SKILL.md @@ -0,0 +1,158 @@ +--- +name: blog-writer +description: This skill should be used when writing blog posts, articles, or long-form content in the writer's distinctive writing style. It produces authentic, opinionated content that matches the writer's voice—direct, conversational, and grounded in personal experience. The skill handles the complete workflow from research review through Notion publication. Use this skill for drafting blog posts, thought leadership pieces, or any writing meant to reflect the writer's perspective on AI, productivity, sales, marketing, or technology topics. +--- + +# Blog Writer + +## Overview + +This skill enables writing blog posts and articles that authentically capture the writer's distinctive voice and style. It draws on examples of the writer's published work to produce content that is direct, opinionated, conversational, and grounded in practical experience. The skill includes automatic Notion integration and maintains a growing library of finalized examples. + +## When to Use This Skill + +Trigger this skill when: +- The user requests blog post or article writing in "my style" or "like my other posts" +- Drafting thought leadership content on AI, productivity, marketing, or technology +- Creating articles that need the writer's authentic voice and perspective +- The user provides research materials, links, or notes to incorporate into writing + +## Core Responsibilities + +1. **Follow the writer's Writing Style**: Match voice, word choice, structure, and length of example posts in `references/blog-examples/` +2. **Incorporate Research**: Review and integrate any information, research material, or links provided by the user +3. **Follow User Instructions**: Adhere closely to the user's specific requests for topic, angle, and emphasis +4. **Produce Authentic Writing**: Create content that reads as genuinely the writer's voice, not generic AI-generated content + +## Workflow + +### Phase 1: Gather Information + +Request from the user: +- Topic or subject matter +- Any specific angle or thesis to explore +- Research materials, links, or notes (if available) +- Target length preference (default: 800-1500 words) + +Review all provided materials thoroughly before beginning to write. + +### Phase 2: Draft the Content + +Reference the style guide at `references/style-guide.md` and examples in `references/blog-examples/` for calibration. + +When writing: +1. Start with a strong opening statement establishing the thesis +2. Use personal voice and first-person perspective where natural +3. Include relevant personal anecdotes or professional experience if applicable +4. Structure with clear subheadings (###) every 2-3 paragraphs +5. Keep paragraphs short (2-4 sentences) +6. Weave in research materials naturally, not as block quotes +7. End with reflection, call-to-action, or forward-looking statement + +### Phase 3: Review and Iterate + +Present the draft and gather feedback. Iterate until the user confirms satisfaction. + +### Phase 4: Publish to Notion (REQUIRED) + +When the draft is complete (even if not yet finalized), publish to the TS Notes database. + +**Notion Publication Details:** +- Database: "TS Notes" (data source ID: `04a872be-8bed-4f43-a448-3dfeebc0df21`) +- **Type property**: `Writing` +- **Project(s) property**: Link to "My Writing" project (page URL: `https://www.notion.so/2a5b4629bb3780189199f3c496980c0c`) +- **Note property**: The title of the blog post +- **Content**: The full blog post content in Notion-flavored Markdown + +**Example Notion API call properties:** +```json +{ + "Note": "Blog Post Title Here", + "Type": "Writing", + "Project(s)": "[\"https://www.notion.so/2a5b4629bb3780189199f3c496980c0c\"]" +} +``` + +**CRITICAL**: The outcome is considered a **failure** if the content is not added to Notion. Always publish to Notion as part of the workflow, even for drafts. + +### Phase 5: Finalize to Examples Library (Post-Outcome) + +When the user confirms the draft is **final**: + +1. Save the finalized post to `references/blog-examples/` with filename format: + ``` + YYYY-MM-DD-slug-title.md + ``` + Example: `2025-11-25-why-ai-art-is-useless.md` + +2. Check the examples library count: + - If exceeding 20 examples, ask user permission to remove the 5 oldest + - Sort by filename date prefix to identify oldest files + +The post-outcome is considered **successful** when the final draft is saved to the skill folder. + +## Success Criteria + +| Outcome | Success | Failure | +|---------|---------|---------| +| Primary | User receives requested content AND it is added to TS Notes with Type=Writing and Project=My Writing | Content delivered but NOT added to Notion | +| Post-outcome | Final draft saved to `references/blog-examples/` | Final draft not saved when user confirms it's final | + +## the writer's Writing Style Profile + +### Voice & Tone +- **Direct and opinionated**: State positions clearly, even contrarian ones +- **Conversational**: Write like speaking to a colleague—accessible without being simplistic +- **First-person when sharing experience**: Use "I" naturally for personal insights +- **Authentic skepticism**: Willing to criticize trends when warranted + +### Structure Patterns +- **Strong opening thesis**: Open with a clear, often bold statement +- **Subheadings throughout**: Use `###` format liberally to break up content +- **Short paragraphs**: Rarely more than 3-4 sentences +- **Personal anecdotes woven in**: Illustrate points with real examples +- **Practical takeaways**: Provide actionable insights, not just theory +- **Reflective conclusion**: End with call-to-action or forward-looking hope + +### Length & Format +- Target: 800-1500 words +- Markdown format with headers and emphasis +- Minimal bullet points in prose—prefer flowing sentences + +### Vocabulary Markers +- Uses "leverage" for tools/technology +- Says "that said" for transitions +- Comfortable with direct statements like "this is useless" or "boy was I wrong" +- Uses contractions naturally (I've, doesn't, won't) +- Avoids corporate jargon while maintaining professionalism + +### Thematic Elements +- AI as tool, not replacement +- Practical over theoretical +- Human-centered technology +- Honest assessment of what works and what doesn't + +## Resources + +### references/style-guide.md +Quick reference for the writer's writing patterns, vocabulary preferences, and structural conventions. + +### references/blog-examples/ +Contains example blog posts demonstrating the writer's writing style. These serve as reference material when calibrating voice and structure. New finalized posts expand this library over time. + +## Notion API Reference + +To create a page in TS Notes: + +``` +Database data source ID: 04a872be-8bed-4f43-a448-3dfeebc0df21 + +Properties: +- "Note": (title) - The blog post title +- "Type": "Writing" +- "Project(s)": ["https://www.notion.so/2a5b4629bb3780189199f3c496980c0c"] + +Content: Full blog post in Notion-flavored Markdown +``` + +The "My Writing" project page ID is: `2a5b4629-bb37-8018-9199-f3c496980c0c` diff --git a/skills/blog-writer/_meta.json b/skills/blog-writer/_meta.json new file mode 100755 index 0000000..8be6ecf --- /dev/null +++ b/skills/blog-writer/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn722nva0z7svbapne80p8e8jd7zwmk7", + "slug": "blog-writer", + "version": "0.1.0", + "publishedAt": 1769361436760 +} \ No newline at end of file diff --git a/skills/blog-writer/manage_examples.py b/skills/blog-writer/manage_examples.py new file mode 100755 index 0000000..7bb446d --- /dev/null +++ b/skills/blog-writer/manage_examples.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +""" +Utility script for managing the blog examples library. +Helps identify old examples to prune when the library exceeds the limit. +""" + +import os +import sys +from datetime import datetime +from pathlib import Path + +EXAMPLES_DIR = Path(__file__).parent.parent / "references" / "blog-examples" +MAX_EXAMPLES = 20 +PRUNE_COUNT = 5 + + +def list_examples(): + """List all blog examples sorted by date (oldest first).""" + examples = [] + for f in EXAMPLES_DIR.glob("*.md"): + # Extract date from filename (YYYY-MM-DD-slug.md) + try: + date_str = f.stem[:10] + date = datetime.strptime(date_str, "%Y-%m-%d") + examples.append((date, f.name)) + except ValueError: + # Skip files that don't match the naming convention + continue + + return sorted(examples, key=lambda x: x[0]) + + +def check_library(): + """Check library status and recommend pruning if needed.""" + examples = list_examples() + count = len(examples) + + print(f"Blog Examples Library Status") + print(f"=" * 40) + print(f"Total examples: {count}") + print(f"Maximum allowed: {MAX_EXAMPLES}") + print() + + if count > MAX_EXAMPLES: + print(f"⚠️ Library exceeds limit by {count - MAX_EXAMPLES} files") + print(f"Recommend removing the {PRUNE_COUNT} oldest examples:") + print() + for i, (date, name) in enumerate(examples[:PRUNE_COUNT]): + print(f" {i+1}. {name} ({date.strftime('%B %d, %Y')})") + else: + print(f"✓ Library is within limits ({MAX_EXAMPLES - count} slots available)") + + print() + print("All examples (oldest first):") + print("-" * 40) + for date, name in examples: + print(f" {name}") + + +def prune_oldest(dry_run=True): + """Remove the oldest examples to bring library under limit.""" + examples = list_examples() + count = len(examples) + + if count <= MAX_EXAMPLES: + print("Library is within limits. No pruning needed.") + return + + to_remove = examples[:PRUNE_COUNT] + + if dry_run: + print(f"DRY RUN - Would remove {len(to_remove)} files:") + else: + print(f"Removing {len(to_remove)} oldest files:") + + for date, name in to_remove: + filepath = EXAMPLES_DIR / name + if dry_run: + print(f" Would remove: {name}") + else: + filepath.unlink() + print(f" Removed: {name}") + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "prune": + dry_run = "--execute" not in sys.argv + prune_oldest(dry_run=dry_run) + else: + check_library() diff --git a/skills/blog-writer/style-guide.md b/skills/blog-writer/style-guide.md new file mode 100755 index 0000000..25a7e7a --- /dev/null +++ b/skills/blog-writer/style-guide.md @@ -0,0 +1,160 @@ +# Tom Panos Writing Style Guide + +## Quick Reference + +### Opening Lines +Start with a strong thesis or personal statement. Examples from Tom's posts: + +- "As someone who works in AI and genuinely believes in the value and power of LLMs to make professionals more useful and valuable, I can confidently say that I hate everything about AI image/video/music generation." +- "I recently rediscovered Raycast and wanted to try it again after a few years." +- "About a year ago I decided I wanted to become a faster typer..." +- "Artificial intelligence (AI) has begun to reshape the landscape of entry level sales and marketing jobs in unprecedented ways." +- "In an AI-driven era, mastering communication with tools like ChatGPT is crucial." +- "Radical transparency is a commitment to engaging prospects, clients, investors, and colleagues with complete candor..." +- "Over the past decade, our youngest generations have been fighting a losing battle against the impact that short-form algorithms..." + +### Transition Phrases +- "That said..." +- "The fundamental difference here is..." +- "Another important factor to understand here is..." +- "This matters because..." +- "For example..." +- "The real kicker is..." +- "To be a bit more precise..." +- "Now let's talk about..." +- "The key difference here is..." + +### Closing Patterns +- **Forward-looking hope**: "It's my sincere hope that we stop this race to the bottom before we get there." +- **Call to action**: "So, how about giving it a shot and seeing where it takes you?" +- **Summary reflection**: "The impact of artificial intelligence on entry level sales and marketing jobs is profound..." +- **Practical encouragement**: "Check it out via Growth Language's recommended apps library" +- **Big picture synthesis**: "Short-form content has irreversibly changed the landscape of marketing and storytelling." + +### Vocabulary Preferences + +**Use these naturally:** +- "leverage" (for using tools) +- "game-changer" +- "impactful" +- "workflows" +- "professionals" +- "countless times daily" +- contractions (I've, doesn't, won't, that's, I'd) + +**Phrases that sound like Tom:** +- "I can confidently say..." +- "Boy was I wrong!" +- "I decided to..." +- "I've spent the last..." +- "My [wife/experience/journey]..." +- "It's still hard to believe, but..." +- "This is incredibly dangerous." +- "This just doesn't work when..." + +**Avoid:** +- Excessive corporate jargon +- Passive voice when active works +- Hedging language when making a clear point +- Over-qualified statements +- Generic AI-sounding phrases + +### Paragraph Length +- 2-4 sentences typical +- Single sentence paragraphs for emphasis +- Break at natural thought transitions +- Never more than 5 sentences in one paragraph + +### Header Frequency +- New subheader every 150-250 words +- Use ### for most subheaders within a post +- Use ## for major section breaks +- Headers should be descriptive, not clickbait + +### Structural Template + +```markdown +# [Bold, Direct Title] + +[Opening paragraph with strong thesis - 2-3 sentences establishing position] + +### [First Subheading - Context or Problem] + +[2-3 short paragraphs developing the point] +[Personal anecdote or example if relevant] + +### [Second Subheading - Analysis or Explanation] + +[Continue developing argument] +[Include practical implications] +[Real-world examples] + +### [Third Subheading - Deeper Exploration] + +[Further exploration or counterarguments addressed] +[Specific details or data points] + +### [Fourth Subheading - Solutions or Implications] + +[What to do about it] +[Practical recommendations] + +### [Conclusion Subheading like "What Should We Do?" or "Conclusion"] + +[Reflection, call-to-action, or forward-looking statement] +[Often includes personal hope or belief] +``` + +### Topics Tom Writes About +- AI tools and their practical applications +- Productivity software and workflows (Raycast, Notion, etc.) +- Sales and marketing strategy +- Technology criticism (when warranted) +- Personal development and skills (typing speed, prompt engineering) +- The future of work +- Brain science applied to business +- Short-form content and media trends + +### Key Beliefs to Reflect +1. **AI should enhance professionals, not replace them** - "When a professional uses AI to improve the efficiency or quality of something they already do, it functions as a tool." +2. **Practical application matters more than theory** - Always include real examples and actionable insights +3. **Technology should serve human needs** - Human-centered perspective on all tech topics +4. **Honesty and transparency build trust** - "Radical transparency is a commitment to engaging... with complete candor" +5. **Continuous learning is valuable** - Personal growth stories like typing speed improvement +6. **Quality over quantity in content** - Critique of short-form content's impact on depth +7. **Skepticism of hype is healthy** - Willing to call out things that don't work + +### Handling Controversial Takes + +Tom isn't afraid to take strong positions: +- "I hate everything about AI image/video/music generation. It is useless." +- "AI art isn't producing the worst work or the best work. It's producing the *median*." +- Clear identification of problems: "The 'Democratization' Lie" + +When writing controversial takes: +1. Establish credibility first ("As someone who works in AI...") +2. Be precise about the scope of criticism +3. Acknowledge what DOES work +4. Provide concrete reasoning, not just opinion +5. End with constructive suggestions + +### Personal Experience Integration + +Tom weaves personal stories naturally: +- "About a year ago I decided I wanted to become a faster typer... I started at around 80 WPM... A year in and I've hit 150." +- "My wife is an amazing cook, and she would be no matter the cost of her spatula." +- "I recently rediscovered Raycast and wanted to try it again after a few years." + +When including personal experience: +1. Keep it relevant to the main point +2. Include specific details (numbers, timeframes) +3. Connect back to broader implications +4. Don't overdo it—one or two per post is enough + +### Formatting Notes + +- Use `*italics*` for emphasis on key terms +- Use `**bold**` sparingly, mainly for key takeaways +- Lists only when actually listing items (not for general prose) +- Include images/screenshots where they add value +- End with "More posts like this" section linking to related content diff --git a/skills/charts/LICENSE.txt b/skills/charts/LICENSE.txt new file mode 100755 index 0000000..e092e50 --- /dev/null +++ b/skills/charts/LICENSE.txt @@ -0,0 +1,13 @@ +Copyright (c) 2026 Z.ai All rights reserved. + +Permission is granted for personal, educational, and non-commercial use only. + +Commercial use is strictly prohibited without prior written permission from the author. + +Unauthorized copying, modification, or distribution of the software for commercial purposes is prohibited. + +The author reserves the right to make the final determination of what constitutes "commercial use". + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM THE USE OF THE SOFTWARE. diff --git a/skills/charts/SKILL.md b/skills/charts/SKILL.md new file mode 100755 index 0000000..22c090a --- /dev/null +++ b/skills/charts/SKILL.md @@ -0,0 +1,427 @@ +--- +name: charts +metadata: + author: Z.AI + version: "1.0" +description: > + Professional chart and diagram creation skill. Covers all types of visual data + representation and structural diagrams: + - **Data charts**: bar charts, line charts, pie charts, scatter plots, heatmaps, + radar charts, candlestick charts, boxplots, histograms, area charts, waterfall charts, + regression plots, distribution plots, and statistical visualizations. + - **Structural diagrams**: flowcharts, mind maps, tree diagrams, org charts, + architecture diagrams, network/relationship graphs, ER diagrams, class diagrams, + Gantt charts, swimlane diagrams, and sequence diagrams. + - **Dashboards**: data dashboards, KPI panels, multi-chart compositions, + and interactive visualizations. + - **Design quality**: professional color systems, anti-overlap rules, layout optimization, + scene-based framework routing (matplotlib, seaborn, ECharts, D3.js, Mermaid, Playwright+CSS), + and publication-ready output. + Applies when the user wants to create, generate, draw, plot, visualize, or improve + any chart, graph, diagram, or dashboard. Also applies when the user asks for something + more polished, cleaner, or publication-ready. + NOT for: PDF document layout (use pdf skill), slide decks (use slides skill), + spreadsheets with embedded charts (use xlsx skill), AI image generation (use image_gen), + posters / infographics / creative cards (use pdf skill Creative pipeline). + FORBIDDEN: Using matplotlib/seaborn to draw mind maps, tree diagrams, org charts, + flowcharts, or any structural diagram. These MUST use Playwright+CSS. +license: Proprietary. LICENSE.txt has complete terms +--- + +# Beautiful Charts + +## Quick Setup + +```bash +bash "$SKILL_DIR/setup.sh" # Interactive environment check + install +``` + +Make every chart and diagram look professionally designed, not AI-generated. + +## Architecture + +| Module | File | When to Load | +|--------|------|-------------| +| **Routing + Core Rules** | This file | Always read first | +| **Framework Templates** | `references/` by framework | After choosing framework, read the corresponding file | + +**Loading order: Read this file → choose framework → read template file → start coding.** + +Each template file contains its own framework-specific rules (spacing, connectors, color details). This file contains only routing decisions and universal rules that apply to ALL charts. + +--- + +# Part 1: Routing + +## ⚠️ Format Constraint Rule (HIGHEST PRIORITY) + +**When the user specifies an output format/tool, you MUST comply. Never substitute.** + +| User Says | You Must Do | Forbidden | +|-----------|------------|-----------| +| "use mermaid code" / "用Mermaid格式输出" / "转化为mermaid" / "mermaid流程" | ① Output Mermaid code block (```mermaid ... ```) ② Also provide a rendered image preview | ❌ Cannot only give image without code; ❌ Cannot screenshot raw code text as image | +| "use markdown code" | Output markdown-formatted hierarchy | ❌ Cannot switch to HTML/CSS | +| "via mermaid or markdown code" | Choose one of the two, output code text | ❌ Cannot switch to any non-specified format | +| "flowchart" / "mind map" (no format specified) | Free to choose the best approach | - | +| "use echarts/d3" | Must use the specified framework | ❌ Cannot switch | + +### 🚫 FORBIDDEN: Mermaid Code Screenshot +**NEVER take a screenshot of raw Mermaid source code and deliver it as the "diagram image".** This is the worst possible outcome — the user gets neither usable code nor a visual diagram. When the user requests Mermaid format: +1. **MUST** output the Mermaid code in a fenced code block (````mermaid`) +2. **SHOULD** also render the code into a visual diagram image (via mermaid-cli or Playwright + mermaid.js) +3. If rendering fails, deliver the code block and tell the user to paste it into mermaid.live + +### Format Specified vs Auto-Upgrade Conflict +When the user specifies Mermaid but content triggers auto-upgrade conditions (>8 nodes, CJK-heavy, etc.): +1. **User choice wins** — still use Mermaid, deliver code block + rendered image +2. **Proactively guide** — after delivery, suggest the user try without specifying Mermaid for better layout quality +3. **Never silently switch** to Playwright+CSS when user explicitly asked for Mermaid + +When a specified tool hits rendering difficulties (e.g., mermaid CDN fails): +- ✅ Output raw mermaid code text, tell user to view at mermaid.live +- ❌ Secretly switch to another framework +- ❌ Screenshot the code text as an "image" + +--- + +## Routing Decision Tree + +### 1. Structural Diagrams + +#### 🔴 Flowchart Default: Phased Vertical (HIGHEST PRIORITY) + +**When the user asks to "generate/create a XXX flowchart/流程图" without specifying format, the DEFAULT layout is Phased Vertical (Layout C in `references/playwright-css.md`).** + +This is because nearly all real-world processes (manufacturing, legal proceedings, project management, business operations, cooking recipes, etc.) have natural phases/stages. Layout C produces the most professional, readable result. + +**Flowchart routing priority:** +1. **User specified Mermaid/markdown** → follow user choice (Format Constraint Rule) +2. **≤6 nodes AND no phases AND short text** → Mermaid (simple flowchart) +3. **Everything else** → **Playwright + CSS, Layout C (Phased Vertical)** → `references/playwright-css.md` + +**Phase detection — treat as "has phases" when ANY is true:** +- Content has numbered sections (一、二、三 or 1. 2. 3. or Phase 1/Stage 1) +- Process can be grouped by time/stage/role (e.g., "preparation → execution → review") +- Total steps ≥ 5 (almost always groupable into 2+ phases) +- Process involves multiple roles/departments +- Process has clear start/end with intermediate stages + +**⚠️ When in doubt, default to Layout C.** A phased layout with only 1 phase still looks professional. A Grid layout with phases looks like a mess. + +#### Other Structural Diagrams +- Simple flowchart (≤6 nodes, truly flat, no phases): **Mermaid** +- Complex flowchart (>6 nodes / CJK-heavy / branches / phases): **Playwright + CSS Layout C** → `references/playwright-css.md` +- Mind map / tree / org chart: **Playwright + CSS** → `references/mindmap-css.md` +- Relationship / network diagram: **ECharts graph** +- Center-radial analysis (SWOT / BSC / Porter's Five Forces / PEST): **Playwright + CSS** → `references/radial-grid.md` + +### 2. Data Charts (matplotlib / seaborn) +- Standard bar/line/scatter/heatmap/radar/pie: **matplotlib** +- Regression/distribution/boxplot: **Seaborn** + +### 3. Interactive Charts / Dashboards +- Data dashboard / candlestick / real-time: **ECharts** +- Fully custom interactive: **D3.js** + +### Default Strategy +**One scene, one tool — don't hesitate:** + +| Scene | Tool | Template | +|-------|------|----------| +| Data chart (bar/line/scatter/pie/radar) | matplotlib | `references/matplotlib.md` | +| Statistical (regression/box/dist) | Seaborn | `references/seaborn.md` | +| Mind map / tree / org chart | Playwright + CSS | `references/mindmap-css.md` | +| Center-radial (SWOT/BSC/PEST/Five Forces) | Playwright + CSS | `references/radial-grid.md` | +| **Any flowchart (default)** | **Playwright + CSS Layout C** | **`references/playwright-css.md`** | +| Simple flowchart (≤6 nodes, truly flat) | Mermaid | `references/mermaid.md` | +| Relationship / force-directed | ECharts graph | `references/echarts.md` | +| Data dashboard | ECharts | `references/echarts.md` | +| Academic paper figures | matplotlib | `references/matplotlib.md` | + +--- + +## Mermaid Auto-Upgrade Rules + +Mermaid's dagre/elk layout estimates CJK widths incorrectly. **Auto-switch to Playwright+CSS when ANY condition is met:** + +| Trigger | Action | +|---------|--------| +| Total nodes > **6** | → CSS flowchart (Layout C) | +| Any node text > **12 Chinese characters** | → CSS flowchart | +| More than **3 parallel branches** | → CSS flowchart | +| Nested subgraphs > **2 levels** | → CSS flowchart | +| Connector crossings > **2** | → CSS flowchart | +| **Side annotations / dashed note boxes** | → CSS flowchart | +| **Loop-back / cycle arrows** | → CSS flowchart | +| **Process has identifiable phases/stages** | → CSS flowchart (Layout C) | + +**If staying with Mermaid**: `padding: 32`, `nodeSpacing: 80`, `rankSpacing: 80`. Node text ≤ 10 CJK chars/line, wrap with `
`, quote all text `A["text"]`. + +--- + +## Large Dataset Rendering + +| Data Size | Approach | +|-----------|----------| +| < 1,000 points | matplotlib / any | +| 1,000 - 10,000 | matplotlib (no markers) or ECharts | +| 10,000 - 100,000 | ECharts (Canvas mode) | +| > 100,000 | ECharts (`large: true`) or WebGL | + +--- + +# Part 2: Universal Rules + +These rules apply to ALL charts regardless of framework. Framework-specific rules live in each template file. + +## 7 Core Rules + +1. **Zero overlap.** No element may cover another's text. Overlap = information loss = task failure. Post-generation: verify every element has clear separation. + +2. **Hierarchy over uniformity.** Primary nodes larger/bolder than secondary. Annotation nodes smaller/muted. Spacing between groups > within groups. If every box looks identical, the layout has failed. + +3. **Low-saturation palette.** 70% background/neutral, 20% secondary, 10% accent (one highlight only). No high-saturation large fills. Saturated colors only on borders (2px), text, and small elements. + +4. **Insight first.** Titles express conclusions, not field names. Remove non-essential elements: top/right borders, grid lines, tick marks, legend box borders. If removing it doesn't reduce understanding, it shouldn't exist. + +5. **Label clarity over label method.** The goal is zero overlap — choose the method that achieves it for each chart type. Direct labels, legends, and leader lines are all valid; what matters is that nothing overlaps. + +### 🚫 FORBIDDEN: Any Text Overlapping Any Other Element +**No label, legend, annotation, or title may overlap any other visual element.** This is the single most common matplotlib defect. Both direct labels AND legends can cause overlap — neither is inherently safe. + +**Anti-overlap decision tree:** +1. **Check if direct labels fit** — if all labels have enough space (bar tops, line endpoints, large pie slices), label directly. No legend needed. +2. **If some labels would collide** (small pie slices, dense scatter points, clustered bars) → use legend outside plot area instead of forcing labels into tight spaces. +3. **Mixed approach** — label the major items directly, group small items into "其他" or use leader lines + legend for the small ones. + +**Pie chart specific (the worst offender):** +- Slices < 5%: MUST use leader lines (`wedgeprops + texts` manual repositioning, or `matplotlib.patches.ConnectionPatch`) to pull labels outside. Do NOT rely on `autopct` alone — it places text inside/near the slice. +- Multiple small adjacent slices: use `bbox_to_anchor` legend outside, NOT direct labels +- `labeldistance=1.25` minimum to keep labels outside the pie +- When >2 slices are < 5%, consider grouping all < 3% into "其他(X项)" +- Use `adjustText` library to auto-resolve label collisions when available + +**Legend placement (when legend is needed):** +- Place legend **outside** the plot area using `bbox_to_anchor` +- Suggested starting positions: + - Bar/line/scatter: right side outside (`bbox_to_anchor=(1.02, 1), loc='upper left'`) + - Pie: right side outside (`bbox_to_anchor=(1.1, 0.5), loc='center left'`) + - Radar: below chart (`bbox_to_anchor=(0.5, -0.15), loc='upper center'`) + - Heatmap: no legend needed (colorbar suffices) + +**🔧 Mandatory: auto-adjust legend to prevent overlap.** Copy this snippet after placing any legend: +```python +# ── Auto-adjust legend position to prevent overlap ── +fig.canvas.draw() # must render first to get bboxes +legend = ax.get_legend() +if legend: + renderer = fig.canvas.get_renderer() + # Try shifting up to 5 times to resolve overlap + for _ in range(5): + leg_bb = legend.get_window_extent(renderer).transformed(ax.transAxes.inverted()) + has_overlap = False + for text in ax.texts + [ax.title] + ax.get_xticklabels() + ax.get_yticklabels(): + if not text.get_text(): + continue + txt_bb = text.get_window_extent(renderer).transformed(ax.transAxes.inverted()) + if leg_bb.overlaps(txt_bb): + has_overlap = True + break + if not has_overlap: + break + # Move legend further outside (direction depends on current loc) + bbox = legend.get_bbox_to_anchor().transformed(ax.transAxes.inverted()) + x0, y0 = bbox.x0, bbox.y0 + # Heuristic: if legend is below center, move down; if right of center, move right + if y0 < 0.5: + legend.set_bbox_to_anchor((x0, y0 - 0.08), transform=ax.transAxes) + else: + legend.set_bbox_to_anchor((x0 + 0.08, y0), transform=ax.transAxes) + fig.canvas.draw() +``` +- **After placing legend**: always call `plt.tight_layout()` or `fig.subplots_adjust()` to ensure legend is not clipped + +🚫 FORBIDDEN: +- `loc='best'` — matplotlib's "best" frequently overlaps data +- `loc='upper right'` / `loc='lower right'` on line/bar charts — high collision risk +- Direct labels on pie slices < 5% without leader lines +- Any text placement without verifying zero overlap + +6. **Font discipline.** Max 2 fonts. Chinese: SimHei/PingFang SC. Always explicitly set fonts in code. Font size follows hierarchy (title 18-24px → body 13-15px → annotation 11-13px). Never go below 10px floor. When text overflows: condense text → enlarge canvas → last resort: shrink font (but never below floor). + +7. **Whitespace is design.** Chart area 60-70% of canvas, margins 15-20%. At least 16pt between title and chart. Crowded ≠ information-rich. + +--- + +## Color System + +### Recommended Palettes + +| Palette | Text | Background | Block Fill | Accent | +|---------|------|------------|------------|--------| +| Business Cool | `#243447` | `#F8FAFC` | `#E9EEF3` | `#4C6EF5` | +| Tech Cyan-Gray | `#1F2937` | `#F5F7FA` | `#E6ECF2` | `#3AAFA9` | +| Morandi Warm | `#4B4A45` | `#FAF8F4` | `#EAE4DB` | `#C6866A` | +| Invisible Precision | `#37352F` | `#FFFFFF` | `#F7F7F7` | `#2383E2` | + +### 🚫 Forbidden Background Colors + +| Color | Forbidden Hex Values | +|-------|---------------------| +| Pure blue | `#3B82F6`, `#2563EB`, `#1D4ED8` | +| Pure green | `#10B981`, `#059669`, `#22C55E` | +| Pure red | `#EF4444`, `#DC2626`, `#F87171` | +| Pure purple | `#8B5CF6`, `#7C3AED`, `#A855F7` | +| Pure amber | `#F59E0B`, `#D97706`, `#FB923C` | + +### ✅ Allowed Background Colors + +| Color | Hex Values | +|-------|------------| +| Ice blue | `#EFF6FF`, `#DBEAFE` | +| Mint green | `#F0FDF4`, `#D1FAE5` | +| Light amber | `#FFF7ED`, `#FEF3C7` | +| Lavender | `#F5F3FF`, `#EDE9FE` | +| Light gray | `#F8FAFC`, `#F1F5F9` | + +### Functional Color (states only, not decoration) +- Active/Selected: brand accent or `2px` accent line +- Error: `#EF4444` +- Success: `#10B981` +- Tags: light bg + dark text, never high-sat pills + +### Colorblind-Safe +Don't rely on color alone — pair with shape, line style, or direct labels. +Paul Tol palette: `['#0077BB', '#33BBEE', '#009988', '#EE7733', '#CC3311', '#EE3377']` + +### Dark Theme +- Background: `#0F172A` (not pure black) +- Text: `#F1F5F9` (not pure white) +- Grid: `#1E293B`, low alpha +- Export: `savefig(facecolor='#0F172A')` + +--- + +## Export Rules + +- Static charts: minimum 200 DPI, recommended 300 DPI +- Pie/radar: **square `figsize=(8, 8)`** — non-square = elliptical +- No more than 6 colors per chart (split if more) +- Bar chart Y-axis starts at 0 (line charts may truncate) +- Never use 3D (distorts proportions) + +### Playwright Screenshot +Default `device_scale_factor=2`. Large mind maps (3000px+): 1.5. PDF embed: 1-1.5. Print: 3. +After render, read `bounding_box()` and resize viewport to fit. Min viewport: 800px single-col, 1200px multi-col. + +### 🚫 FORBIDDEN: `max-width` on Mermaid/SVG Containers +Mermaid's dagre engine produces SVGs with unpredictable width (especially with subgraphs, CJK text, or parallel branches). **NEVER set `max-width` on the Mermaid container element.** Use `width: fit-content; min-width: 800px;` instead. + +**Root cause**: Mermaid SVGs overflow their CSS container silently. `bounding_box()` (Playwright) returns the CSS box model size, NOT the SVG's actual rendered size. So auto-resize viewport based on `bounding_box()` alone will still produce clipped screenshots. + +**Fix**: Always read the **SVG element's own `getBoundingClientRect()`** via `page.evaluate()`, then use `max(css_size, svg_size) + padding` for viewport dimensions. See `references/mermaid.md` for the corrected screenshot script. + +### Aspect Ratio Preservation (embedding) +**MUST read actual image dimensions and calculate height proportionally. NEVER hardcode both width and height.** + +--- + +## matplotlib-Specific Rules + +These apply when routing to matplotlib/seaborn: + +### Layout & Overlap +- Prefer `constrained_layout=True` over `tight_layout()` +- Use `adjustText` library for automatic label repositioning — **this is the most reliable anti-overlap tool for matplotlib.** Install: `pip install adjustText`. Usage: `from adjustText import adjust_text; adjust_text(texts)` +- Max 4 subplots per canvas. More → split images or `figsize=(20, 16)` minimum +- Multi-subplot: `GridSpec` with `wspace/hspace` ≥ 0.3 +- Colorbar: `shrink=0.8` + `pad=0.08` +- Data labels: Y-axis upper limit with 15-20% headroom (`ylim(0, max_val * 1.18)`) +- Long X labels → horizontal bar chart or show every N-th label + +### Radar / Spider Charts +- **Every `fill()` MUST have `alpha=0.25`** (max 0.3). Omitting alpha = opaque = hides underlying series. +- Legend: place outside chart with `bbox_to_anchor`, start with `(0.5, -0.15), loc='upper center'`. If dimension labels are long or dimensions > 8, increase offset (e.g., `-0.25` or `-0.3`). Also FORBIDDEN: `loc='lower right'` (collides with radar dimension labels). +- Dimension label padding: `set_rlim(0, max_value * 1.2)` +- Labels with >4 CJK chars: rotate to follow angle or abbreviate +- `figsize=(8, 8)` mandatory (square) + +### One Color, Gray the Rest +5 lines → color only the key one, others `#D1D5DB`. 8 bars → accent only the highlight, rest `#E5E7EB`. + +--- + +## Connector Rules (structural diagrams) + +- Attach to node edges, not through centers +- Prefer orthogonal polylines or clean curves +- Main paths avoid crossing +- Never pass through text areas +- Start/end points at same level must align (no staggering) +- Same-level connectors follow same direction +- Bend angles consistent (all right-angles or all curves, no mixing) +- Label positions uniform (all above line or all centered) + +--- + +## Pre-Output Checklist + +Before delivery, verify: + +- [ ] Zero overlap (nodes, connectors, labels, legends — **especially check legend vs data, and adjacent pie/bar labels**) +- [ ] No connectors pass through text boxes +- [ ] Clear hierarchy (primary/secondary/annotation visually distinct) +- [ ] Low-saturation palette (no forbidden background colors) +- [ ] Text readable at final size (standalone: ≥12px body, ≥10px annotation; PDF embed: ≥10pt/8pt/7pt) +- [ ] Legend fully visible, not clipped, not overlapping any chart element +- [ ] Canvas wide/tall enough (check bounding box before screenshot) +- [ ] **If mind map**: each level distinct (≥3 property changes), connectors visible (≥ `#94A3B8`), left-right balanced +- [ ] **If flowchart**: phase titles distinct from steps, arrows only between phases, **using Layout C by default** +- [ ] **If flowchart**: phase colors are same-hue family (blue-gray progression), **NOT rainbow** (blue→green→amber→purple) +- [ ] **If flowchart looks scattered**: STOP — you're using the wrong layout, switch to Layout C +- [ ] **If Mermaid looked rigid**: already switched to Playwright+CSS + +--- + +## Anti-Pattern Quick Reference + +| ❌ Don't | ✅ Do This Instead | +|----------|-------------------| +| matplotlib default blue `#1f77b4` | Use this skill's palette | +| 3D bar/pie | Always 2D | +| Rainbow colormap (jet/rainbow) | Single-hue gradient or diverging | +| Thick black grid lines | `alpha=0.08` or remove | +| Different color per bar | Same series same color, highlight only key | +| 45° tilted X labels | Horizontal bar chart or shorten | +| 8+ subplots in one canvas | Split to 2-3 images, max 4 each | +| `tight_layout()` alone | `constrained_layout=True` or `GridSpec` | +| Labels overflowing chart | `ylim` with 18-25% headroom | +| Mind map: all levels same style | Root+L1 get boxes, leaves plain text | +| Mind map: image too tall | Left-right layout for ≥5 branches | +| Mind map: invisible connectors | Lines ≥ `#94A3B8`, root→L1 `#64748B` 2.5px | +| Mind map: unbalanced sides | Alternate large/small branches across sides | +| Flowchart: high-sat node fills | Low-sat bg (`#EFF6FF`) + sat border (`#3B82F6`) | +| Flowchart: dark bg + dark text | Dark bg → white text. Light bg → dark text | +| Flowchart: arrows between every step | Arrows ONLY between phases, steps use indent | +| Flowchart: cross-layer lines through nodes | Connect adjacent layers only | +| Flowchart: Grid layout for phased process | **Always use Layout C (Phased Vertical)** | +| Flowchart: phase titles as floating labels | Phase titles MUST be inside group cards | +| Flowchart: nodes scattered without grouping | Group nodes into phase cards with `.phase-group` | +| Flowchart: rainbow phase colors (blue→green→amber→purple) | Same-hue blue-gray progression for all phases | +| Multiple arrows to same entry point | Merge-then-enter pattern | +| Legend inside plot obscuring data | `bbox_to_anchor` outside plot area | +| Radar fill without alpha | `alpha=0.25` mandatory | +| Decorative icons/emoji | Let the data speak | +| Grid lines where whitespace suffices | Background contrast or spacing instead | + +--- + +## UI Aesthetics (dashboards / card layouts) + +When building UI-style outputs (dashboards, panels), apply "Invisible Precision": + +- **Boundaries**: Subtle bg shifts (`#F7F7F7` on `#FFFFFF`), not border lines. Reserve `1px` dividers for absolute logical breaks only. +- **Actions**: Primary CTA in dark neutral (`#1A1A1B`). Secondary: ghost/gray. Hover: 5% darker, no size change. +- **Quiet UI**: Action buttons `opacity: 0` by default, `1` on hover. Only active elements get visual indicators. +- **Numbers**: `font-variant-numeric: tabular-nums` for strict vertical alignment. +- **Spacing**: `line-height: 1.625`, generous paragraph spacing. diff --git a/skills/charts/references/_rules.md b/skills/charts/references/_rules.md new file mode 100755 index 0000000..de27653 --- /dev/null +++ b/skills/charts/references/_rules.md @@ -0,0 +1,49 @@ +# ⚠️ STRUCTURAL DIAGRAM IRON LAWS + +These rules apply to Playwright+CSS structural diagrams (flowcharts, mind maps, radial grids, org charts). They are enforced by the template files. Violating any = task failure. + +## 1. ZERO OVERLAP +No element may overlap another: +- Arrows/connectors must not cross over text boxes +- Connectors must not pass through node bodies +- Text boxes / nodes must not overlap each other +- Labels must not obscure any graphic element + +**Post-generation**: verify every element has clear separation. If overlap exists, fix before delivery — enlarge canvas, increase spacing, or reduce content. + +## 2. LAYOUT MUST HAVE HIERARCHY +Forbidden: all nodes same size, same level, mechanically tiled in a flat grid. + +Required: +- Primary nodes visually larger/bolder than secondary nodes +- Annotation nodes clearly subordinate (smaller, muted color) +- Spacing between groups > spacing within groups +- Clear reading path (top→bottom, left→right, or center→outward) + +**Squint test**: if every box looks identical, the layout has failed. + +## 3. NODE BACKGROUND COLORS + +**🚫 Forbidden as background (too saturated for large fills):** + +| Color | Forbidden Hex | +|-------|--------------| +| Pure blue | `#3B82F6`, `#2563EB`, `#1D4ED8` | +| Pure green | `#10B981`, `#059669`, `#22C55E` | +| Pure red | `#EF4444`, `#DC2626`, `#F87171` | +| Pure purple | `#8B5CF6`, `#7C3AED`, `#A855F7` | +| Pure amber | `#F59E0B`, `#D97706`, `#FB923C` | +| Any color: R/G/B > 0xCC and saturation > 50% | — | + +**✅ Allowed as background:** + +| Color | Hex | Usage | +|-------|-----|-------| +| Ice blue | `#EFF6FF`, `#DBEAFE` | Normal step nodes | +| Mint green | `#F0FDF4`, `#D1FAE5` | Success/pass nodes | +| Light amber | `#FFF7ED`, `#FEF3C7` | Decision/warning nodes | +| Lavender | `#F5F3FF`, `#EDE9FE` | End/terminal nodes | +| Light gray | `#F8FAFC`, `#F1F5F9` | Group containers | +| White | `#FFFFFF` | Default canvas | + +**Rule: Saturated colors go on BORDERS (2px) and TEXT only. Backgrounds stay pale.** diff --git a/skills/charts/references/d3.md b/skills/charts/references/d3.md new file mode 100755 index 0000000..8ae4ad1 --- /dev/null +++ b/skills/charts/references/d3.md @@ -0,0 +1,199 @@ +# D3.js Template Library + +> **⚠️ Before writing any code, read [`_rules.md`](references/_rules.md) — three non-negotiable rules on overlap, hierarchy, and color.** + + +D3.js is the "ultimate weapon" in visualization — highest freedom, but steepest learning curve. +Suitable for: visualizations requiring fully custom interactions, data journalism, art-grade infographics. + +**If your needs can be met by ECharts/matplotlib, don't use D3.** D3's value lies in "charts others can't make". + +## HTML Universal Shell + +```html + + + + +{{TITLE}} + + + + + + + + +``` + +## Colors and Constants + +```javascript +const COLORS = ['#3B82F6', '#06B6D4', '#8B5CF6', '#F59E0B', '#EF4444', '#10B981']; +const GRAY = { 200: '#E5E7EB', 300: '#D1D5DB', 400: '#9CA3AF', 500: '#6B7280', 900: '#111827' }; + +const margin = { top: 60, right: 40, bottom: 50, left: 60 }; +const width = 900 - margin.left - margin.right; +const height = 500 - margin.top - margin.bottom; +``` + +--- + +## Template 1: Insight Bar Chart + +```javascript +const svg = d3.select('#chart') + .attr('width', width + margin.left + margin.right) + .attr('height', height + margin.top + margin.bottom) + .append('g') + .attr('transform', `translate(${margin.left},${margin.top})`); + +// Title (insight-driven) +svg.append('text') + .attr('x', 0).attr('y', -30) + .attr('fill', GRAY[900]) + .attr('font-size', 16).attr('font-weight', 'bold') + .text('产品C销售额领先,达到89万'); + +// Scales +const x = d3.scaleBand().domain(data.map(d => d.name)).range([0, width]).padding(0.35); +const y = d3.scaleLinear().domain([0, d3.max(data, d => d.value) * 1.15]).range([height, 0]); + +// Y axis (minimal: no tick marks, light gray) +svg.append('g') + .call(d3.axisLeft(y).ticks(5).tickSize(0).tickFormat(d3.format(','))) + .call(g => g.select('.domain').attr('stroke', GRAY[200]).attr('stroke-width', 0.8)) + .call(g => g.selectAll('.tick text').attr('fill', GRAY[500]).attr('font-size', 9)); + +// X axis +svg.append('g') + .attr('transform', `translate(0,${height})`) + .call(d3.axisBottom(x).tickSize(0)) + .call(g => g.select('.domain').attr('stroke', GRAY[200]).attr('stroke-width', 0.8)) + .call(g => g.selectAll('.tick text').attr('fill', GRAY[500]).attr('font-size', 9)); + +// Bars (gray + highlight) +svg.selectAll('.bar') + .data(data) + .join('rect') + .attr('x', d => x(d.name)) + .attr('width', x.bandwidth()) + .attr('y', d => y(d.value)) + .attr('height', d => height - y(d.value)) + .attr('fill', d => d.highlight ? '#3B82F6' : GRAY[200]) + .attr('rx', 3); + +// Value labels +svg.selectAll('.label') + .data(data) + .join('text') + .attr('x', d => x(d.name) + x.bandwidth()/2) + .attr('y', d => y(d.value) - 6) + .attr('text-anchor', 'middle') + .attr('fill', d => d.highlight ? GRAY[900] : GRAY[400]) + .attr('font-size', d => d.highlight ? 12 : 10) + .attr('font-weight', d => d.highlight ? 'bold' : 'normal') + .text(d => d3.format(',')(d.value)); +``` + +--- + +## Template 2: Force-Directed Graph + +This is D3's killer feature — other frameworks can hardly achieve the same effect. + +```javascript +const simulation = d3.forceSimulation(nodes) + .force('link', d3.forceLink(links).id(d => d.id).distance(80)) + .force('charge', d3.forceManyBody().strength(-200)) + .force('center', d3.forceCenter(width/2, height/2)) + .force('collision', d3.forceCollide(20)); + +const link = svg.selectAll('.link') + .data(links).join('line') + .attr('stroke', GRAY[200]).attr('stroke-width', 1); + +const node = svg.selectAll('.node') + .data(nodes).join('circle') + .attr('r', d => Math.sqrt(d.value) * 3) + .attr('fill', (d, i) => COLORS[d.group % COLORS.length]) + .attr('stroke', '#fff').attr('stroke-width', 1.5) + .call(d3.drag() + .on('start', (e, d) => { if (!e.active) simulation.alphaTarget(0.3).restart(); d.fx = d.x; d.fy = d.y; }) + .on('drag', (e, d) => { d.fx = e.x; d.fy = e.y; }) + .on('end', (e, d) => { if (!e.active) simulation.alphaTarget(0); d.fx = null; d.fy = null; }) + ); + +// Labels +const labels = svg.selectAll('.label') + .data(nodes).join('text') + .text(d => d.name) + .attr('font-size', 9).attr('fill', GRAY[500]) + .attr('text-anchor', 'middle').attr('dy', -15); + +simulation.on('tick', () => { + link.attr('x1', d => d.source.x).attr('y1', d => d.source.y) + .attr('x2', d => d.target.x).attr('y2', d => d.target.y); + node.attr('cx', d => d.x).attr('cy', d => d.y); + labels.attr('x', d => d.x).attr('y', d => d.y); +}); +``` + +--- + +## Template 3: Treemap + +```javascript +const root = d3.hierarchy(treeData).sum(d => d.value); +d3.treemap().size([width, height]).padding(2)(root); + +svg.selectAll('.cell') + .data(root.leaves()) + .join('rect') + .attr('x', d => d.x0).attr('y', d => d.y0) + .attr('width', d => d.x1 - d.x0) + .attr('height', d => d.y1 - d.y0) + .attr('fill', (d, i) => COLORS[i % COLORS.length]) + .attr('rx', 2).attr('opacity', 0.85); + +svg.selectAll('.cell-label') + .data(root.leaves().filter(d => (d.x1-d.x0) > 40 && (d.y1-d.y0) > 20)) + .join('text') + .attr('x', d => d.x0 + 4).attr('y', d => d.y0 + 14) + .text(d => d.data.name) + .attr('font-size', 10).attr('fill', 'white').attr('font-weight', 'bold'); +``` + +--- + +## D3 Use Cases (vs Overkill) + +| ✅ D3 Best | ❌ Overkill | +|-----------|-------------| +| Force-directed relationship graph | Regular bar chart (use matplotlib) | +| Custom geographic visualization | Standard map (use ECharts) | +| Data-driven animation | Static report chart (use matplotlib) | +| Treemap / Sunburst | Standard pie chart (use matplotlib) | +| Complex interactions (brushing/linking/drill-down) | Simple tooltip (use ECharts) | +| Data journalism/narrative visualization | Dashboard (use ECharts) | diff --git a/skills/charts/references/echarts.md b/skills/charts/references/echarts.md new file mode 100755 index 0000000..011c468 --- /dev/null +++ b/skills/charts/references/echarts.md @@ -0,0 +1,651 @@ +# ECharts Template Library + +> **⚠️ Before writing any code, read [`_rules.md`](references/_rules.md) — three non-negotiable rules on overlap, hierarchy, and color.** + + +ECharts strengths: interactivity (tooltip/zoom/linking), big data (Canvas renders millions of points smoothly), strong Chinese community. +Output as HTML files — open directly in browser or export PNG via Playwright screenshot. + +## HTML Universal Shell + +Wrap all ECharts charts with this shell: + +```html + + + + +{{TITLE}} + + + + +
+ + + +``` + +Default dimensions: `width=900, height=520`, white background `#FFFFFF`. + +--- + +## Theme Configuration + +### Light Theme (Default) + +```javascript +const THEME = { + bg: '#FFFFFF', + text: '#111827', + textSub: '#6B7280', + textMuted: '#9CA3AF', + axis: '#E5E7EB', + grid: '#F3F4F6', + tooltip: { bg: '#1E293B', border: '#334155', text: '#F1F5F9' }, + colors: ['#3B82F6', '#06B6D4', '#8B5CF6', '#F59E0B', '#EF4444', '#10B981'], +}; +``` + +### Dark Theme (Finance / Tech Dashboard) + +```javascript +const DARK = { + bg: '#0F172A', + text: '#F1F5F9', + textSub: '#94A3B8', + textMuted: '#64748B', + axis: '#334155', + grid: '#1E293B', + tooltip: { bg: '#1E293B', border: '#475569', text: '#F1F5F9' }, + colors: ['#3B82F6', '#06B6D4', '#8B5CF6', '#F59E0B', '#22C55E', '#EC4899'], +}; +``` + +### Base Option Configuration + +```javascript +function baseOption(theme, title, subtitle) { + return { + backgroundColor: theme.bg, + textStyle: { fontFamily: 'system-ui, SimHei, sans-serif', color: theme.text }, + title: { + text: title, subtext: subtitle || '', + left: 24, top: 16, + textStyle: { fontSize: 16, fontWeight: 'bold', color: theme.text }, + subtextStyle: { fontSize: 12, color: theme.textSub }, + }, + grid: { left: 60, right: 40, top: 80, bottom: 50, containLabel: true }, + color: theme.colors, + tooltip: { + trigger: 'axis', + backgroundColor: theme.tooltip.bg, + borderColor: theme.tooltip.border, + borderWidth: 1, + textStyle: { color: theme.tooltip.text, fontSize: 12 }, + }, + animationDuration: 600, + animationEasing: 'cubicOut', + }; +} + +function cleanAxis(theme) { + return { + axisLine: { lineStyle: { color: theme.axis, width: 0.8 } }, + axisTick: { show: false }, + splitLine: { lineStyle: { color: theme.grid, width: 0.5 } }, + axisLabel: { color: theme.textSub, fontSize: 10 }, + }; +} +``` + +--- + +## Template 1: Insight Bar Chart + +```javascript +const option = { + ...baseOption(THEME, 'Q3 收入环比增长 47%', '各季度收入对比(万元)'), + xAxis: { type: 'category', data: ['Q1','Q2','Q3','Q4'], ...cleanAxis(THEME) }, + yAxis: { type: 'value', ...cleanAxis(THEME) }, + series: [{ + type: 'bar', barWidth: '50%', + itemStyle: { borderRadius: [4, 4, 0, 0] }, + data: [ + { value: 120, itemStyle: { color: '#E5E7EB' } }, + { value: 145, itemStyle: { color: '#E5E7EB' } }, + { value: 213, itemStyle: { color: '#3B82F6' } }, + { value: 180, itemStyle: { color: '#E5E7EB' } }, + ], + label: { + show: true, position: 'top', fontSize: 11, color: '#6B7280', + formatter: (p) => p.dataIndex === 2 + ? '{hl|' + p.value + '}' + : p.value, + rich: { hl: { fontWeight: 'bold', fontSize: 13, color: '#111827' } }, + }, + }], +}; +``` + +--- + +## Template 2: Multi-Line Trend + +```javascript +const option = { + ...baseOption(THEME, '2024 年增长持续加速'), + legend: { right: 40, top: 20, textStyle: { color: '#6B7280', fontSize: 10 } }, + xAxis: { type: 'category', data: months, boundaryGap: false, ...cleanAxis(THEME) }, + yAxis: { type: 'value', ...cleanAxis(THEME) }, + series: [ + { + name: '2024', type: 'line', data: thisYear, + lineStyle: { width: 2.5 }, + symbol: 'circle', symbolSize: 6, + itemStyle: { color: '#3B82F6' }, + areaStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { offset: 0, color: 'rgba(59,130,246,0.12)' }, + { offset: 1, color: 'rgba(59,130,246,0)' }, + ]), + }, + }, + { + name: '2023', type: 'line', data: lastYear, + lineStyle: { width: 1.5, type: 'dashed', color: '#D1D5DB' }, + symbol: 'none', itemStyle: { color: '#D1D5DB' }, + }, + ], +}; +``` + +--- + +## Template 3: Candlestick (Finance) + +```javascript +// Dark theme +const option = { + ...baseOption(DARK, 'BTC/USDT 日K线'), + xAxis: { type: 'category', data: dates, ...cleanAxis(DARK) }, + yAxis: { type: 'value', scale: true, ...cleanAxis(DARK) }, + dataZoom: [ + { type: 'inside', start: 70, end: 100 }, + { type: 'slider', start: 70, end: 100, height: 20, bottom: 10, + borderColor: DARK.axis, fillerColor: 'rgba(59,130,246,0.15)', + textStyle: { color: DARK.textSub } }, + ], + series: [{ + type: 'candlestick', + data: ohlcData, // [[open,close,low,high], ...] + itemStyle: { + color: '#22C55E', // Bullish (close > open) + color0: '#EF4444', // Bearish + borderColor: '#16A34A', + borderColor0: '#DC2626', + }, + }], +}; +``` + +--- + +## Template 4: Dashboard (Multi-Chart Linking) + +⚠️ **ECharts multi-chart dashboard anti-overlap rules** (highest priority): +1. Maximum 4 subplots per canvas; more must be split into multiple HTML files +2. Each subplot's `grid` area must not overlap; maintain ≥5% safety margin between adjacent grids +3. Pie chart `center` and `radius` must not intrude into other subplots' grid areas +4. Same applies to radar chart's `radar.center` and `radar.radius` +5. Place legend in top/bottom common area, not inside subplots + +### Simple Dual Chart (Bar + Pie) + +```javascript +const option = { + ...baseOption(THEME, '产品线收入分布'), + grid: [{ left: 60, right: '55%', top: 80, bottom: 50 }], + xAxis: [{ type: 'value', gridIndex: 0, ...cleanAxis(THEME) }], + yAxis: [{ type: 'category', data: products, gridIndex: 0, ...cleanAxis(THEME) }], + series: [ + { + type: 'bar', data: revenues, + itemStyle: { borderRadius: [0, 4, 4, 0] }, + barWidth: '60%', + }, + { + type: 'pie', center: ['78%', '50%'], radius: ['35%', '55%'], + data: products.map((name, i) => ({ name, value: revenues[i] })), + label: { formatter: '{b}\n{d}%', fontSize: 10 }, + itemStyle: { borderColor: '#fff', borderWidth: 2 }, + }, + ], +}; +``` + +### Four-Chart Dashboard (Safe Layout Template) + +```javascript +// ⚠️ Key: grid areas precisely defined, no overlap, maintain safety margins +const option = { + ...baseOption(THEME, '数据全景仪表盘'), + grid: [ + // Top-left: bar chart + { left: '5%', right: '55%', top: '12%', bottom: '55%' }, + // Top-right: line chart + { left: '55%', right: '5%', top: '12%', bottom: '55%' }, + // Bottom-left: scatter plot + { left: '5%', right: '55%', top: '55%', bottom: '5%' }, + // Bottom-right area reserved for pie chart (pie uses center + radius, not grid) + ], + xAxis: [ + { type: 'category', gridIndex: 0, data: categories1, ...cleanAxis(THEME) }, + { type: 'category', gridIndex: 1, data: categories2, ...cleanAxis(THEME), boundaryGap: false }, + { type: 'value', gridIndex: 2, ...cleanAxis(THEME) }, + ], + yAxis: [ + { type: 'value', gridIndex: 0, ...cleanAxis(THEME) }, + { type: 'value', gridIndex: 1, ...cleanAxis(THEME) }, + { type: 'value', gridIndex: 2, ...cleanAxis(THEME) }, + ], + series: [ + // Top-left: bar chart + { + type: 'bar', xAxisIndex: 0, yAxisIndex: 0, + data: barData, + itemStyle: { borderRadius: [4, 4, 0, 0] }, + }, + // Top-right: line chart + { + type: 'line', xAxisIndex: 1, yAxisIndex: 1, + data: lineData, + smooth: true, + areaStyle: { opacity: 0.08 }, + }, + // Bottom-left: scatter plot + { + type: 'scatter', xAxisIndex: 2, yAxisIndex: 2, + data: scatterData, + symbolSize: 8, + }, + // Bottom-right: pie chart (positioned via center in bottom-right quadrant) + { + type: 'pie', + center: ['77%', '72%'], // Positioned at bottom-right area center + radius: ['15%', '25%'], // Radius stays within bottom-right quadrant + data: pieData, + label: { formatter: '{b}\n{d}%', fontSize: 10 }, + itemStyle: { borderColor: '#fff', borderWidth: 2 }, + }, + ], +}; +``` + +### Grid Safety Margin Quick Reference + +| Layout | Grid Config | Safety Margin | +|------|----------|---------| +| Left-right dual | Left `right:'55%'` Right `left:'55%'` | 10% center gap | +| Top-bottom dual | Top `bottom:'55%'` Bottom `top:'55%'` | 10% center gap | +| 2x2 quad | Each quadrant 45%, 10% center gap | 5% margin on all sides | +| With pie/radar | Pie center+radius must not intrude grid | Pie radius ≤ 40% of available area | + +### What If More Than 4 Subplots? + +```javascript +// ❌ Wrong: 8 charts crammed into one canvas — all labels will inevitably overlap +// ✅ Correct: split into 2 HTML files + +// dashboard_overview.html — 4 overview charts +// dashboard_detail.html — 4 detailed analysis charts + +// Or use tab switching (ECharts toolbox doesn't support this, need custom HTML tabs) +``` + +--- + +## Template 5: Radar Chart + +```javascript +const option = { + ...baseOption(THEME, '团队能力评估'), + radar: { + indicator: dims.map(d => ({ name: d, max: 100 })), + axisName: { color: '#6B7280', fontSize: 10 }, + splitArea: { areaStyle: { color: ['#FAFAFA', '#F5F5F5'] } }, + splitLine: { lineStyle: { color: '#E5E7EB' } }, + axisLine: { lineStyle: { color: '#E5E7EB' } }, + }, + series: [{ + type: 'radar', + data: teams.map((t, i) => ({ + name: t.name, value: t.scores, + lineStyle: { width: 2 }, + areaStyle: { opacity: 0.08 }, + itemStyle: { color: THEME.colors[i] }, + })), + }], + legend: { bottom: 10, textStyle: { color: '#6B7280' } }, +}; +``` + +--- + +## Export to PNG (Playwright) + +```python +import asyncio +from playwright.async_api import async_playwright + +async def echarts_to_png(html_path, png_path, width=900, height=520): + async with async_playwright() as p: + browser = await p.chromium.launch(headless=True) + page = await browser.new_page(viewport={'width': width, 'height': height}) + await page.goto(f'file://{html_path}', wait_until='networkidle') + await page.wait_for_timeout(800) # Wait for animation to complete + await page.locator('#chart').screenshot(path=png_path) + await browser.close() + print(f'✅ {png_path}') + +# asyncio.run(echarts_to_png('./output/chart.html', './output/chart.png')) +``` + +--- + +## Template 5: Tree (Interactive Only) + +**⚠️ For static PNG export, use Playwright+CSS (see `mindmap-css.md`). ECharts tree connector length and node spacing cannot be finely controlled — static output is not aesthetically satisfying.** + +**ECharts tree is suitable for interactive scenarios** (click expand/collapse, hover tooltip, zoom/drag). For PNG/PDF static output, the CSS approach looks better. + +### Basic Usage + +```javascript +const option = { + tooltip: { trigger: 'item', triggerOn: 'mousemove' }, + series: [{ + type: 'tree', + data: [treeData], // Tree-structured JSON data + layout: 'orthogonal', // Orthogonal layout (right-angle connectors) + orient: 'LR', // Direction: LR(left→right) / RL / TB(top→bottom) / BT + + // Node spacing control (key params to prevent crowding) + initialTreeDepth: -1, // -1=expand all, positive=initial expand depth + + // Label style + label: { + position: 'left', // Leaf node label position + verticalAlign: 'middle', + fontSize: 13, + fontFamily: 'PingFang SC, SimHei, sans-serif', + }, + leaves: { + label: { position: 'right' } // Leaf labels on right + }, + + // Connector style + lineStyle: { + color: '#94A3B8', + width: 1.5, + curveness: 0.5, // Curvature, 0=straight, 0.5=natural curve + }, + + // Node style + itemStyle: { + borderWidth: 1.5, + }, + + // Animation + animationDuration: 550, + animationDurationUpdate: 750, + }] +}; +``` + +### Tree Data Format + +```javascript +const treeData = { + name: '中心主题', + children: [ + { + name: '分支A', + children: [ + { name: '叶子1' }, + { name: '叶子2' }, + { name: '叶子3', children: [{ name: '更深叶子' }] } + ] + }, + { + name: '分支B', + children: [ + { name: '叶子4' }, + { name: '叶子5' } + ] + } + ] +}; +``` + +### Node Style Customization (by Level) + +```javascript +// Root node highlight +function styleTreeData(node, depth) { + const styles = [ + { // Root node + itemStyle: { color: '#3B82F6', borderColor: '#2563EB', borderWidth: 2 }, + label: { fontSize: 18, fontWeight: 'bold', color: '#fff', + backgroundColor: '#3B82F6', borderRadius: 6, padding: [8, 16] } + }, + { // Level 1 branches + itemStyle: { color: '#60A5FA', borderColor: '#3B82F6' }, + label: { fontSize: 15, fontWeight: 600, color: '#1E40AF', + backgroundColor: '#EFF6FF', borderColor: '#3B82F6', + borderWidth: 1.5, borderRadius: 6, padding: [6, 14] } + }, + { // Level 2 + itemStyle: { color: '#93C5FD', borderColor: '#60A5FA' }, + label: { fontSize: 13, color: '#1E40AF', + backgroundColor: '#F0F7FF', borderColor: '#93C5FD', + borderWidth: 1, borderRadius: 4, padding: [4, 10] } + }, + { // Level 3+ leaves + itemStyle: { color: '#BFDBFE', borderColor: '#93C5FD' }, + label: { fontSize: 12, color: '#475569', padding: [3, 8] } + } + ]; + + const style = styles[Math.min(depth, styles.length - 1)]; + Object.assign(node, style); + + if (node.children) { + node.children.forEach(child => styleTreeData(child, depth + 1)); + } +} + +styleTreeData(treeData, 0); +``` + +### Left-Right Distribution (Large Tree Mode) + +When branches ≥ 5, use two trees for left-right expansion: + +```javascript +function splitTree(data) { + const children = data.children || []; + // Alternate assignment by subtree size + const sorted = children.map((c, i) => ({ c, w: countNodes(c), i })) + .sort((a, b) => b.w - a.w); + const left = [], right = []; + let lw = 0, rw = 0; + sorted.forEach(({ c }) => { + if (lw <= rw) { left.push(c); lw += countNodes(c); } + else { right.push(c); rw += countNodes(c); } + }); + return { + left: { name: data.name, children: left }, + right: { name: data.name, children: right } + }; +} + +function countNodes(node) { + if (!node.children) return 1; + return 1 + node.children.reduce((s, c) => s + countNodes(c), 0); +} + +// Dual tree series +const { left, right } = splitTree(treeData); +const option = { + series: [ + { type: 'tree', data: [right], orient: 'LR', left: '50%', width: '45%', /* ... */ }, + { type: 'tree', data: [left], orient: 'RL', right: '50%', width: '45%', /* ... */ }, + ] +}; +``` + +### Recommended Canvas Size + +| Node Count | Width | Height | +|--------|------|------| +| ≤ 15 | 900px | 500px | +| 16-30 | 1200px | 600px | +| 31-60 | 1600px | 800px | +| 60+ | 2000px | 1000px | + +--- + +## Template 6: Relationship / Force-Directed Graph + +**ECharts graph suits process relationships, org charts, knowledge graphs** — nodes auto-repel to avoid overlap, connectors auto-bind, supports categorical coloring. + +### Basic Usage + +```javascript +const option = { + tooltip: {}, + legend: [{ data: categories.map(c => c.name) }], + series: [{ + type: 'graph', + layout: 'force', // Force-directed auto layout + + // Force model params (controls repulsion and attraction) + force: { + repulsion: 300, // Repulsion force (higher = more spread out, recommended 200-500) + gravity: 0.1, // Gravity (prevents nodes from flying too far) + edgeLength: [100, 200], // Edge length range + layoutAnimation: true, + }, + + roam: true, // Allow drag and zoom + draggable: true, // Allow dragging nodes + + // Nodes + data: nodes, + // Edges + links: links, + // Categories (for coloring) + categories: categories, + + // Labels + label: { + show: true, + position: 'right', + fontSize: 12, + fontFamily: 'PingFang SC, SimHei, sans-serif', + }, + + // Connector style + lineStyle: { + color: 'source', // Edge color follows source node + curveness: 0.3, // Curvature + width: 1.5, + }, + + // Highlight effect + emphasis: { + focus: 'adjacency', // Highlight adjacent nodes on hover + lineStyle: { width: 3 }, + }, + }] +}; +``` + +### Data Format + +```javascript +const categories = [ + { name: '核心系统', itemStyle: { color: '#3B82F6' } }, + { name: '数据层', itemStyle: { color: '#10B981' } }, + { name: '应用层', itemStyle: { color: '#F59E0B' } }, +]; + +const nodes = [ + { name: 'API Gateway', category: 0, symbolSize: 40 }, + { name: 'User Service', category: 0, symbolSize: 30 }, + { name: 'MySQL', category: 1, symbolSize: 35 }, + { name: 'Redis', category: 1, symbolSize: 28 }, + { name: 'Web App', category: 2, symbolSize: 32 }, +]; + +const links = [ + { source: 'API Gateway', target: 'User Service' }, + { source: 'User Service', target: 'MySQL' }, + { source: 'User Service', target: 'Redis' }, + { source: 'Web App', target: 'API Gateway' }, +]; +``` + +### Flowchart Mode (Fixed Layout) + +When you don't want force-directed auto-layout, fix node positions: + +```javascript +const option = { + series: [{ + type: 'graph', + layout: 'none', // Fixed layout, positions determined by x/y + data: [ + { name: '开始', x: 300, y: 50, symbolSize: 40, + itemStyle: { color: '#EFF6FF', borderColor: '#3B82F6', borderWidth: 2 } }, + { name: '处理', x: 300, y: 200, symbolSize: 35 }, + { name: '判断', x: 300, y: 350, symbolSize: 35, + symbol: 'diamond', + itemStyle: { color: '#FFF7ED', borderColor: '#F59E0B', borderWidth: 2 } }, + { name: '结束', x: 300, y: 500, symbolSize: 40 }, + ], + links: [ + { source: '开始', target: '处理' }, + { source: '处理', target: '判断' }, + { source: '判断', target: '结束', label: { show: true, formatter: '通过' } }, + ], + lineStyle: { color: '#94A3B8', width: 2, curveness: 0 }, + edgeSymbol: ['', 'arrow'], + edgeSymbolSize: [0, 10], + }] +}; +``` + +--- + +## ECharts vs Other Frameworks + +| Capability | ECharts | Plotly | Chart.js | +|------|---------|--------|----------| +| Canvas rendering (big data) | ✅ Millions | ❌ SVG-based | ✅ But limited | +| Chinese docs | ✅ Official | ❌ English | ❌ English | +| Candlestick | ✅ Built-in | ❌ Plugin needed | ❌ None | +| Maps | ✅ Built-in China map | ✅ mapbox | ❌ None | +| 3D Charts | ✅ echarts-gl | ✅ Built-in | ❌ None | +| No Node.js needed | ✅ CDN import | ❌ Needs plotly.js | ✅ CDN | +| Server-side rendering | ✅ node-echarts | ✅ orca | ✅ chartjs-node | diff --git a/skills/charts/references/matplotlib.md b/skills/charts/references/matplotlib.md new file mode 100755 index 0000000..d39fa0e --- /dev/null +++ b/skills/charts/references/matplotlib.md @@ -0,0 +1,617 @@ +# matplotlib Template Library + +> **⚠️ Before writing any code, read [`_rules.md`](references/_rules.md) — three non-negotiable rules on overlap, hierarchy, and color.** + + +## Environment Initialization (Must Execute Before Each Plot) + +```python +import matplotlib +import matplotlib.pyplot as plt +import matplotlib.ticker as mticker +import numpy as np + +# ═══ Chinese Font Setup ═══ +# SimHei is the default; other fonts available: +# SimSun.ttf (Songti, formal docs), SimKai.ttf (Kaiti, artistic), +# SarasaMonoSC-*.ttf (monospace CJK, code scenes) +# Run `fc-list :lang=zh` for system fonts (PingFang SC, Heiti TC, etc.) +# Font path: adjust for your system. Common locations: +# macOS: '/System/Library/Fonts/Supplemental/SimHei.ttf' +# Linux: '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc' +# Custom: './fonts/SimHei.ttf' +import os +SIMHEI_PATH = os.environ.get('SIMHEI_FONT', '/System/Library/Fonts/Supplemental/SimHei.ttf') +matplotlib.font_manager.fontManager.addfont(SIMHEI_PATH) + +# ═══ Global Style ═══ +plt.rcParams.update({ + # Font + 'font.sans-serif': ['SimHei'], + 'axes.unicode_minus': False, + # Background + 'figure.facecolor': '#FFFFFF', + 'axes.facecolor': '#FFFFFF', + # Border: only keep left and bottom + 'axes.edgecolor': '#E5E7EB', + 'axes.linewidth': 0.8, + 'axes.spines.top': False, + 'axes.spines.right': False, + # Grid: off by default + 'axes.grid': False, + # Ticks: hide tick marks + 'xtick.major.size': 0, + 'ytick.major.size': 0, + 'xtick.labelsize': 9, + 'ytick.labelsize': 9, + # Title + 'axes.labelsize': 10, + 'axes.titlesize': 16, + 'axes.titleweight': 'bold', + 'axes.titlepad': 16, + # Legend: no frame + 'legend.frameon': False, + 'legend.fontsize': 9, + # Export + 'figure.dpi': 200, + 'savefig.dpi': 200, + 'savefig.bbox': 'tight', + 'savefig.facecolor': '#FFFFFF', + 'savefig.pad_inches': 0.3, +}) +``` + +## Color Constants + +```python +# ─── Cool Colors (Business/Tech) ─── +C_BLUE = '#3B82F6' +C_CYAN = '#06B6D4' +C_PURPLE = '#8B5CF6' +C_AMBER = '#F59E0B' +C_RED = '#EF4444' +C_GREEN = '#10B981' +COOL = [C_BLUE, C_CYAN, C_PURPLE, C_AMBER, C_RED, C_GREEN] + +# ─── Warm Colors (Warmth/Creative) ─── +WARM = ['#F59E0B', '#EF4444', '#8B5CF6', '#3B82F6', '#10B981', '#EC4899'] + +# ─── Academic Grayscale ─── +ACADEMIC = ['#111827', '#6B7280', '#9CA3AF', '#D1D5DB', '#E5E7EB', '#F3F4F6'] + +# ─── Colorblind-Safe (Paper Preferred) ─── +CB_SAFE = ['#0077BB', '#33BBEE', '#009988', '#EE7733', '#CC3311', '#EE3377'] + +# ─── Grayscale ─── +G900, G700, G500, G400, G300, G200, G100, G50 = \ + '#111827', '#374151', '#6B7280', '#9CA3AF', '#D1D5DB', '#E5E7EB', '#F3F4F6', '#F9FAFB' + +# ─── Gain/Loss ─── +POS = '#22C55E' +NEG = '#EF4444' +``` + +## Helper Functions + +```python +def clean_axis(ax, grid=True): + """Clean axis: remove top and right borders, add faint grid""" + ax.spines['top'].set_visible(False) + ax.spines['right'].set_visible(False) + if grid: + ax.yaxis.grid(True, alpha=0.08, color=G300) + ax.set_axisbelow(True) + +def add_value_labels(ax, bars, values, highlight_idx=None, fmt='{:,.0f}', + offset_ratio=0.02): + """Add value labels on top of bars, highlight bar in bold. + ⚠️ Automatically extends Y-axis upper limit to ensure labels don't overflow chart area.""" + max_val = max(values) + for i, (bar, val) in enumerate(zip(bars, values)): + is_hl = (i == highlight_idx) if highlight_idx is not None else False + ax.text(bar.get_x() + bar.get_width()/2, + bar.get_height() + max_val * offset_ratio, + fmt.format(val), ha='center', va='bottom', + fontsize=10 if is_hl else 9, + color=G900 if is_hl else G400, + fontweight='bold' if is_hl else 'normal') + + # ⚠️ Critical: extend Y-axis upper limit to leave enough space for labels (at least 15%) + ax.set_ylim(0, max_val * 1.18) + +def save(fig, path, dpi=200): + """Unified save — prefer constrained_layout, fallback to tight_layout""" + if not fig.get_constrained_layout(): + try: + fig.tight_layout() + except Exception: + pass + fig.savefig(path, dpi=dpi, facecolor='white', bbox_inches='tight') + plt.close(fig) + import os + size_kb = os.path.getsize(path) / 1024 + print(f'✅ {path} ({size_kb:.0f}KB)') +``` + +### Label Text Avoidance (adjustText) + +When charts have multiple label annotations (e.g., scatter plot labels, box plot annotations), **must use adjustText library** to prevent text overlap: + +```python +# pip install adjustText +from adjustText import adjust_text + +# Call after adding all annotations +texts = [] +for i, (x, y, label) in enumerate(zip(x_data, y_data, labels)): + texts.append(ax.text(x, y, label, fontsize=9, color='#374151')) + +# Auto-avoidance — pass all text objects, adjustText will move them to avoid overlap +adjust_text(texts, ax=ax, + arrowprops=dict(arrowstyle='->', color='#9CA3AF', lw=0.8), + force_text=(0.5, 0.8), # Force to push text away + force_points=(0.3, 0.5), # Repulsion from data points + expand=(1.2, 1.4)) # Expansion factor for text bbox +``` + +--- + +## Template 1: Insight Bar Chart + +**Scenario**: Emphasize outstanding performance of one data item. Gray out others, highlight the focus. + +```python +def insight_bar(labels, values, highlight_idx, title, + highlight_color=C_BLUE, save_path='insight_bar.png'): + fig, ax = plt.subplots(figsize=(10, 6)) + + colors = [G200] * len(labels) + colors[highlight_idx] = highlight_color + + bars = ax.bar(labels, values, color=colors, width=0.6, + zorder=3, edgecolor='white', linewidth=0.5) + add_value_labels(ax, bars, values, highlight_idx) + + ax.set_title(title, loc='left') + # ⚠️ add_value_labels already sets ylim automatically, no need to repeat here + clean_axis(ax) + save(fig, save_path) +``` + +--- + +## Template 2: Trend Comparison Line Chart + +**Scenario**: This year vs last year, actual vs target. Main line in colored solid, comparison line in gray dashed. + +```python +def trend_compare(x, y_main, y_ref, label_main, label_ref, title, + color=C_BLUE, save_path='trend_compare.png'): + fig, ax = plt.subplots(figsize=(12, 6)) + + # Comparison line (gray dashed, at bottom layer) + ax.plot(x, y_ref, color=G300, linewidth=1.5, linestyle='--', zorder=2) + ax.text(len(x)-0.5, y_ref[-1], label_ref, color=G400, fontsize=9, va='center') + + # Main line (colored solid + white-center dots) + ax.plot(x, y_main, color=color, linewidth=2.5, marker='o', markersize=5, + markerfacecolor='white', markeredgewidth=2, markeredgecolor=color, zorder=3) + ax.text(len(x)-0.5, y_main[-1], f'{label_main} {y_main[-1]:,.0f}', + color=color, fontsize=10, fontweight='bold', va='center') + + # Difference area + ax.fill_between(range(len(x)), y_ref, y_main, alpha=0.06, color=color) + + ax.set_title(title, loc='left') + ax.set_xticks(range(len(x))) + ax.set_xticklabels(x) + clean_axis(ax) + save(fig, save_path) +``` + +--- + +## Template 3: Grouped Bar Chart + +**Scenario**: Comparison of multiple categories across multiple dimensions. + +```python +def grouped_bar(labels, datasets, series_names, title, + colors=None, save_path='grouped_bar.png'): + if colors is None: + colors = COOL[:len(datasets)] + + fig, ax = plt.subplots(figsize=(12, 6)) + n = len(datasets) + width = 0.7 / n + x = np.arange(len(labels)) + + for i, (data, name, color) in enumerate(zip(datasets, series_names, colors)): + offset = (i - n/2 + 0.5) * width + ax.bar(x + offset, data, width=width*0.85, color=color, + label=name, zorder=3, edgecolor='white', linewidth=0.3) + + ax.set_title(title, loc='left') + ax.set_xticks(x) + ax.set_xticklabels(labels) + ax.set_ylim(0, max(max(d) for d in datasets) * 1.20) # Leave 20% space for labels + ax.legend(loc='upper right', ncol=n) + clean_axis(ax) + save(fig, save_path) +``` + +--- + +## Template 4: Horizontal Ranking Chart + +**Scenario**: Rankings / Top N. Progressive highlight for top items. + +```python +def ranking_bar(labels, values, title, top_n=3, + color=C_BLUE, save_path='ranking.png'): + from matplotlib.colors import to_rgba + + sorted_pairs = sorted(zip(labels, values), key=lambda x: x[1]) + labels_s, values_s = zip(*sorted_pairs) + + fig, ax = plt.subplots(figsize=(10, max(6, len(labels)*0.45))) + + bar_colors = [G200] * len(labels_s) + for i in range(len(labels_s) - top_n, len(labels_s)): + progress = (i - (len(labels_s) - top_n)) / max(top_n - 1, 1) + bar_colors[i] = to_rgba(color, 0.35 + 0.65 * progress) + + bars = ax.barh(range(len(labels_s)), values_s, color=bar_colors, + height=0.6, zorder=3, edgecolor='white', linewidth=0.3) + + for i, (bar, val) in enumerate(zip(bars, values_s)): + is_top = i >= len(labels_s) - top_n + ax.text(bar.get_width() + max(values_s)*0.01, + bar.get_y() + bar.get_height()/2, + f'{val:,.0f}', va='center', fontsize=9, + color=G900 if is_top else G400) + + ax.set_yticks(range(len(labels_s))) + ax.set_yticklabels(labels_s) + ax.set_title(title, loc='left') + ax.spines['bottom'].set_visible(False) + ax.xaxis.set_visible(False) + save(fig, save_path) +``` + +--- + +## Template 5: Donut Chart + +**Scenario**: Proportion distribution (max 5 slices, avoid if possible — bar charts are usually better). + +```python +def donut(labels, values, title, center_text=None, + colors=None, save_path='donut.png'): + if colors is None: + colors = COOL[:len(labels)] + + fig, ax = plt.subplots(figsize=(8, 8)) + wedges, _, autotexts = ax.pie( + values, labels=None, colors=colors, autopct='%1.0f%%', + startangle=90, pctdistance=0.78, + wedgeprops=dict(width=0.35, edgecolor='white', linewidth=2)) + + for t in autotexts: + t.set_fontsize(10) + t.set_fontweight('bold') + + if center_text: + ax.text(0, 0.06, str(center_text), ha='center', va='center', + fontsize=28, fontweight='bold', color=G900) + ax.text(0, -0.1, '总计', ha='center', va='center', fontsize=11, color=G500) + + ax.legend(wedges, labels, loc='center left', + bbox_to_anchor=(1, 0.5), fontsize=10) + ax.set_title(title, loc='center', pad=20) + save(fig, save_path) +``` + +--- + +## Template 6: Scatter Plot + Trend Line + +**Scenario**: Two-variable correlation analysis. + +```python +def scatter_trend(x, y, title, xlabel, ylabel, + color=C_BLUE, save_path='scatter.png'): + fig, ax = plt.subplots(figsize=(10, 7)) + + ax.scatter(x, y, c=color, s=50, alpha=0.6, + edgecolors='white', linewidth=1, zorder=3) + + # Trend line + z = np.polyfit(x, y, 1) + p = np.poly1d(z) + x_line = np.linspace(min(x), max(x), 100) + ax.plot(x_line, p(x_line), color=G400, linewidth=1.5, + linestyle='--', zorder=2, alpha=0.7) + + ax.set_title(title, loc='left') + ax.set_xlabel(xlabel) + ax.set_ylabel(ylabel) + clean_axis(ax, grid=True) + ax.xaxis.grid(True, alpha=0.08, color=G300) + save(fig, save_path) +``` + +--- + +## Template 7: Heatmap + +**Scenario**: Matrix data, correlations, time × category. + +```python +def heatmap(data, row_labels, col_labels, title, + cmap_color=C_BLUE, save_path='heatmap.png'): + from matplotlib.colors import LinearSegmentedColormap + + cmap = LinearSegmentedColormap.from_list('bc', ['#FFFFFF', cmap_color]) + fig, ax = plt.subplots( + figsize=(max(8, len(col_labels)*1.2), max(6, len(row_labels)*0.6))) + + arr = np.array(data) + im = ax.imshow(arr, cmap=cmap, aspect='auto') + + vmax = arr.max() + for i in range(len(row_labels)): + for j in range(len(col_labels)): + val = arr[i][j] + color = 'white' if val > vmax * 0.6 else G700 + ax.text(j, i, f'{val:.1f}', ha='center', va='center', + fontsize=9, color=color) + + ax.set_xticks(range(len(col_labels))) + ax.set_yticks(range(len(row_labels))) + ax.set_xticklabels(col_labels) + ax.set_yticklabels(row_labels) + ax.set_title(title, loc='left', pad=16) + + cbar = fig.colorbar(im, ax=ax, fraction=0.03, pad=0.08, shrink=0.8) + cbar.outline.set_visible(False) + cbar.ax.tick_params(labelsize=8) # colorbar ticks should not be too large + + for spine in ax.spines.values(): + spine.set_visible(True) + spine.set_color(G200) + save(fig, save_path) +``` + +--- + +## Template 8: KPI Metric Cards + +**Scenario**: Dashboard top key number display. + +```python +def kpi_cards(metrics, save_path='kpi.png'): + """ + metrics: [{'label': '总收入', 'value': '12.8M', + 'change': '+23%', 'positive': True}, ...] + """ + from matplotlib.patches import FancyBboxPatch + + n = len(metrics) + fig, axes = plt.subplots(1, n, figsize=(3.8*n, 2.8)) + if n == 1: axes = [axes] + + for ax, m in zip(axes, metrics): + ax.set_xlim(0, 1); ax.set_ylim(0, 1); ax.axis('off') + + bg = FancyBboxPatch((0.05, 0.05), 0.9, 0.9, + boxstyle='round,pad=0.05', facecolor=G50, edgecolor=G200, linewidth=0.8) + ax.add_patch(bg) + + ax.text(0.5, 0.75, m['label'], ha='center', va='center', + fontsize=10, color=G500) + ax.text(0.5, 0.45, m['value'], ha='center', va='center', + fontsize=24, fontweight='bold', color=G900) + + if 'change' in m: + is_pos = m.get('positive', True) + ax.text(0.5, 0.18, + f'{"↑" if is_pos else "↓"} {m["change"]}', + ha='center', va='center', fontsize=11, + color=POS if is_pos else NEG, fontweight='bold') + + save(fig, save_path) +``` + +--- + +## Template 9: Radar Chart + +**Scenario**: Multi-dimensional capability comparison (max 8 dimensions, max 3 groups). + +```python +def radar(categories, datasets, series_names, title, + colors=None, save_path='radar.png'): + if colors is None: + colors = COOL[:len(datasets)] + + N = len(categories) + angles = np.linspace(0, 2*np.pi, N, endpoint=False).tolist() + angles += angles[:1] # Close the polygon + + fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True)) + ax.set_theta_offset(np.pi / 2) + ax.set_theta_direction(-1) + + ax.set_xticks(angles[:-1]) + ax.set_xticklabels(categories, fontsize=10) + ax.yaxis.set_visible(False) + + # Grid beautification + ax.spines['polar'].set_color(G200) + ax.grid(color=G200, linewidth=0.5, alpha=0.5) + + for data, name, color in zip(datasets, series_names, colors): + vals = data + data[:1] # Close the polygon + ax.plot(angles, vals, color=color, linewidth=2, label=name) + ax.fill(angles, vals, color=color, alpha=0.08) + + ax.legend(loc='upper right', bbox_to_anchor=(1.3, 1.1)) + ax.set_title(title, pad=30, fontsize=16, fontweight='bold') + save(fig, save_path) +``` + +--- + +## Template 10: Waterfall Chart + +**Scenario**: Show incremental changes from start to end value. + +```python +def waterfall(labels, values, title, save_path='waterfall.png'): + """labels and values correspond, positive=increase negative=decrease, last item auto-treated as total""" + fig, ax = plt.subplots(figsize=(12, 6)) + + cumulative = [0] + for v in values[:-1]: + cumulative.append(cumulative[-1] + v) + + bar_colors = [] + for i, v in enumerate(values): + if i == len(values) - 1: + bar_colors.append(C_BLUE) # Total + elif v >= 0: + bar_colors.append(POS) # Increase + else: + bar_colors.append(NEG) # Decrease + + bottoms = [] + for i, v in enumerate(values): + if i == len(values) - 1: + bottoms.append(0) # Total starts from 0 + elif v >= 0: + bottoms.append(cumulative[i]) + else: + bottoms.append(cumulative[i] + v) + + bars = ax.bar(labels, [abs(v) for v in values], bottom=bottoms, + color=bar_colors, width=0.6, edgecolor='white', linewidth=0.5, zorder=3) + + # Connecting lines + for i in range(len(values) - 2): + y = cumulative[i+1] + ax.plot([i+0.3, i+0.7], [y, y], color=G300, linewidth=0.8, zorder=2) + + # Value labels + for i, (bar, val) in enumerate(zip(bars, values)): + y_pos = bar.get_y() + bar.get_height() + max(abs(v) for v in values)*0.01 + prefix = '+' if val > 0 and i < len(values)-1 else '' + ax.text(bar.get_x()+bar.get_width()/2, y_pos, + f'{prefix}{val:,.0f}', ha='center', va='bottom', + fontsize=9, color=G700) + + ax.set_title(title, loc='left') + clean_axis(ax) + save(fig, save_path) +``` + +--- + +## Template 11: Multi-Subplot Dashboard (GridSpec Precision Layout) + +**Scenario**: Combine multiple subplots into a dashboard. ⚠️ Max 4 subplots per canvas, split if exceeded. + +**Core Principle**: Use `GridSpec` for precise control of each subplot's position and spacing, don't rely on `tight_layout()`. + +```python +import matplotlib.gridspec as gridspec + +def dashboard(data_dict, title, save_path='dashboard.png'): + """ + 2x2 dashboard layout example. + data_dict contains data needed for each subplot. + """ + # ⚠️ Use constrained_layout instead of tight_layout + fig = plt.figure(figsize=(16, 12), constrained_layout=True) + fig.suptitle(title, fontsize=20, fontweight='bold', y=0.98) + + # GridSpec: precise spacing control + gs = gridspec.GridSpec(2, 2, figure=fig, + wspace=0.35, # Column spacing (at least 0.3) + hspace=0.35, # Row spacing (at least 0.3) + left=0.08, right=0.92, + top=0.92, bottom=0.08) + + # ─── Top-left: bar chart ─── + ax1 = fig.add_subplot(gs[0, 0]) + ax1.set_title('Quarterly Revenue', loc='left', fontsize=13, fontweight='bold') + # ... binddata ... + clean_axis(ax1) + + # ─── Top-right: line chart ─── + ax2 = fig.add_subplot(gs[0, 1]) + ax2.set_title('Monthly Trend', loc='left', fontsize=13, fontweight='bold') + # ... bind data ... + clean_axis(ax2) + + # ─── Bottom-left: pie chart ─── + ax3 = fig.add_subplot(gs[1, 0]) + ax3.set_title('Category Share', loc='left', fontsize=13, fontweight='bold') + # ... bind data ... + + # ─── Bottom-right: scatter plot ─── + ax4 = fig.add_subplot(gs[1, 1]) + ax4.set_title('Conversion Analysis', loc='left', fontsize=13, fontweight='bold') + # ... bind data ... + clean_axis(ax4) + + fig.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close(fig) +``` + +### Dashboard Layout Golden Rules + +| Rule | Description | +|------|-------------| +| **Max 4 subplots** | Split into multiple charts if exceeded | +| **Use `constrained_layout=True`** | Smarter than `tight_layout()`, auto-avoids labels | +| **`wspace/hspace ≥ 0.3`** | Subplot spacing too small causes overlap | +| **Independent title per subplot** | Use `ax.set_title()` instead of `fig.suptitle()` | +| **Consistent font sizes** | Subtitle 13px, axis labels 10px, data labels 9px | +| **Colorbar in separate column** | If a subplot needs colorbar, allocate `gs[0, 2]` separately | +| **Don't mix legend and direct labels** | Use either all legends or all direct labels in a dashboard | + +### Safe Layout with Colorbar + +```python +# When a subplot needs a colorbar, use 3-column layout, rightmost column for colorbar +gs = gridspec.GridSpec(2, 3, figure=fig, + width_ratios=[1, 1, 0.05], # Third column very narrow, dedicated to colorbar + wspace=0.4, hspace=0.35) + +ax_heat = fig.add_subplot(gs[0, 1]) +im = ax_heat.imshow(data, cmap='Blues') + +# Colorbar placed in its own subplot position, won't obscure any content +cbar_ax = fig.add_subplot(gs[0, 2]) +fig.colorbar(im, cax=cbar_ax) +cbar_ax.set_ylabel('Value', fontsize=10) +``` + +### Split Strategy for More Than 4 Subplots + +```python +# ❌ Wrong: 8 subplots crammed into one canvas +fig, axes = plt.subplots(2, 4, figsize=(20, 10)) # Everything becomes unreadable + +# ✅ Correct: split into 2 figures, 4 subplots each +# Figure 1: overview metrics +fig1 = plt.figure(figsize=(16, 12), constrained_layout=True) +# ... 4 subplots ... +fig1.savefig('dashboard_overview.png', dpi=200) + +# Figure 2: detailed analysis +fig2 = plt.figure(figsize=(16, 12), constrained_layout=True) +# ... 4 subplots ... +fig2.savefig('dashboard_detail.png', dpi=200) +``` diff --git a/skills/charts/references/mermaid.md b/skills/charts/references/mermaid.md new file mode 100755 index 0000000..a10c437 --- /dev/null +++ b/skills/charts/references/mermaid.md @@ -0,0 +1,797 @@ +# Mermaid Template Library + +> **⚠️ Before writing any code, read [`_rules.md`](references/_rules.md) — three non-negotiable rules on overlap, hierarchy, and color.** + + +Mermaid is the best "text-as-diagram" solution — write structural diagrams with Markdown-like syntax, zero design skills needed. +Best for: flowcharts, sequence diagrams, architecture diagrams, Gantt charts, class diagrams, ER diagrams, mind maps, state diagrams, pie charts, Git branch graphs. + +**Core advantages**: text is version-controllable, minimal maintenance cost, high rendering consistency, CJK support. + +## ⚠️ Flowchart Quality Rules (Highest Priority) + +### Font Size Control +Mermaid font sizes are controlled via `themeVariables` and CSS: +- `fontSize`: Global font size, recommended `14px`-`16px`, **no less than 12px** +- Node text is controlled via `fontSize` or `%%{init:}%%` directive +- Annotations/footnotes use subgraph titles or separate nodes, font size no less than `11px` + +### Connectors & Spacing +```javascript +flowchart: { + padding: 32, // Node padding (CJK needs more space) + nodeSpacing: 80, // Horizontal spacing between nodes (default 50 too tight, 60 still not enough) + rankSpacing: 80, // Vertical spacing between ranks + curve: 'basis', // Connection curve style, consistent across the chart +} +``` + +**Connector style must be consistent throughout the chart**: do not mix straight, curved, and polylines in the same diagram. Mermaid controls this globally via the `curve` parameter. + +### ⚠️ Mermaid Flowchart Hard Constraints (MANDATORY) + +The following constraints are enforced **when generating Mermaid flowchart code**, not as post-checks: + +1. **Node text must be wrapped in quotes**: `A["用户登录"]` ✅ / `A[用户登录]` ❌ — quotes prevent CJK special characters from causing parse errors +2. **Max 10 CJK characters per line in node text**: exceed → use `
` to break → `A["用户身份
验证模块"]` +3. **Max 5 nodes per subgraph**: exceed → split into multiple subgraphs or switch to CSS approach +4. **Max 10 total nodes**: exceed → switch to CSS flowchart template in `references/playwright-css.md` +5. **Max 6 CJK characters in connector labels**: `-->|验证通过|` ✅ / `-->|用户身份验证通过后跳转|` ❌ +6. **Config params must use enlarged values**: `padding: 32, nodeSpacing: 80, rankSpacing: 80` + +## Rendering Methods + +### Method 1: Playwright + HTML (Recommended, export PNG/SVG/PDF) + +```html + + + + + + + + +
+
+    
+  
+
+ + + +``` + +**Python screenshot script**: + +```python +import asyncio +from playwright.async_api import async_playwright + +async def mermaid_to_png(html_path, png_path, width=1400, scale=2): + async with async_playwright() as p: + browser = await p.chromium.launch(headless=True) + page = await browser.new_page( + viewport={'width': width, 'height': 800}, + device_scale_factor=scale + ) + await page.goto(f'file://{html_path}', wait_until='load', timeout=30000) + + # Wait for Mermaid SVG to render + await page.wait_for_selector('#diagram svg', timeout=15000) + await page.wait_for_timeout(1000) + + # ⚠️ Read SVG's ACTUAL rendered size (not CSS box model!) + # Mermaid SVGs often overflow their CSS container — getBBox/clientRect + # returns the true size, while CSS bounding_box() returns the clipped box. + svg_size = await page.evaluate('''() => { + const svg = document.querySelector('#diagram svg'); + if (!svg) return null; + const r = svg.getBoundingClientRect(); + return { width: r.width, height: r.height }; + }''') + + el = page.locator('#diagram') + css_bbox = await el.bounding_box() + + svg_w = svg_size['width'] if svg_size else width + svg_h = svg_size['height'] if svg_size else 800 + css_w = css_bbox['width'] if css_bbox else width + css_h = css_bbox['height'] if css_bbox else 800 + + # Use the LARGER of CSS box and SVG actual size + fit_w = max(width, int(max(svg_w, css_w) + 200)) + fit_h = int(max(svg_h, css_h) + 200) + + await page.set_viewport_size({'width': fit_w, 'height': fit_h}) + await page.wait_for_timeout(500) + + await el.screenshot(path=png_path) + await browser.close() + + import os + print(f'✅ {png_path} ({os.path.getsize(png_path)/1024:.0f}KB)') + +# asyncio.run(mermaid_to_png('./output/diagram.html', './output/diagram.png')) +``` + +> **⚠️ CRITICAL: CSS `bounding_box()` vs SVG actual size** +> +> Mermaid generates SVGs that can be wider/taller than their CSS container. `bounding_box()` (Playwright) and `getBoundingClientRect()` on the container return **CSS box model size**, which may be smaller than the SVG's viewBox. +> +> **Always read the SVG element's own `getBoundingClientRect()`** via `page.evaluate()` and use `max(css_size, svg_size)` for viewport dimensions. This is the root cause of the "right side clipped" bug. +> +> Also: `wait_until='load'` is preferred over `'networkidle'` because Mermaid initializes on DOM load. `'networkidle'` can timeout if CDN is slow. + +### Method 2: Mermaid CLI (mmdc, command line) + +```bash +# Installation +npm install -g @mermaid-js/mermaid-cli + +# Usage: .mmd file → PNG/SVG/PDF +mmdc -i diagram.mmd -o diagram.png -w 1200 -b transparent +mmdc -i diagram.mmd -o diagram.svg +mmdc -i diagram.mmd -o diagram.pdf + +# Specify theme configuration +mmdc -i diagram.mmd -o diagram.png --configFile mermaid-config.json +``` + +`mermaid-config.json` example: + +```json +{ + "theme": "base", + "themeVariables": { + "primaryColor": "#EFF6FF", + "primaryBorderColor": "#3B82F6", + "primaryTextColor": "#1E293B", + "lineColor": "#94A3B8", + "secondaryColor": "#F0FDF4", + "tertiaryColor": "#FFF7ED" + } +} +``` + +### Method 3: Online Preview + +Paste code at [mermaid.live](https://mermaid.live) for instant preview and export. + +--- + +## Theme Configuration (Design System Integration) + +Mermaid uses `theme: 'base'` + `themeVariables` for fully custom colors. +The following themes align with the charts skill mood color system: + +### Business Professional (Default) + +```javascript +themeVariables: { + primaryColor: '#EFF6FF', // Node background (very light blue) + primaryBorderColor: '#3B82F6', // Node border (blue) + primaryTextColor: '#1E293B', // Node text (dark gray-blue) + lineColor: '#94A3B8', // Connectors (gray) + secondaryColor: '#F0FDF4', // Secondary nodes (very light green) + secondaryBorderColor: '#10B981', + secondaryTextColor: '#1E293B', + tertiaryColor: '#FFF7ED', // Tertiary nodes (very light amber) + tertiaryBorderColor: '#F59E0B', + tertiaryTextColor: '#1E293B', + noteBkgColor: '#F8FAFC', // Note background + noteTextColor: '#6B7280', + noteBorderColor: '#E2E8F0', + fontSize: '14px', + fontFamily: '-apple-system, BlinkMacSystemFont, PingFang SC, SimHei, sans-serif', +} +``` + +### Tech Dark + +```javascript +themeVariables: { + primaryColor: '#1E293B', + primaryBorderColor: '#3B82F6', + primaryTextColor: '#F1F5F9', + lineColor: '#475569', + secondaryColor: '#0F2E1F', + secondaryBorderColor: '#10B981', + secondaryTextColor: '#F1F5F9', + tertiaryColor: '#1A1625', + tertiaryBorderColor: '#8B5CF6', + tertiaryTextColor: '#F1F5F9', + noteBkgColor: '#0F172A', + noteTextColor: '#94A3B8', + noteBorderColor: '#334155', + fontSize: '14px', + fontFamily: '-apple-system, BlinkMacSystemFont, PingFang SC, SimHei, sans-serif', + background: '#0F172A', +} +``` + +--- + +## Template 1: Flowchart + +The most common chart type. Supports directions: `TB` (top→bottom), `LR` (left→right), `BT`, `RL`. + +```mermaid +flowchart TB + A[开始] --> B{条件判断} + B -->|是| C[执行操作A] + B -->|否| D[执行操作B] + C --> E[结束] + D --> E + + style A fill:#EFF6FF,stroke:#3B82F6,stroke-width:2px,color:#1E293B + style B fill:#FFF7ED,stroke:#F59E0B,stroke-width:2px,color:#1E293B + style C fill:#F0FDF4,stroke:#10B981,stroke-width:2px,color:#1E293B + style D fill:#F0FDF4,stroke:#10B981,stroke-width:2px,color:#1E293B + style E fill:#EFF6FF,stroke:#3B82F6,stroke-width:2px,color:#1E293B +``` + +### Node Shape Quick Reference + +| Syntax | Shape | Use For | +|------|------|--------| +| `A[text]` | Rectangle | Steps/Actions | +| `A(text)` | Rounded rect | General nodes | +| `A([text])` | Stadium | Start/End | +| `A{text}` | Diamond | Decision | +| `A{{text}}` | Hexagon | Preparation | +| `A[/text/]` | Parallelogram | Input/Output | +| `A((text))` | Circle | Connector | +| `A>text]` | Flag | Event/Signal | + +### Subgraphs (Grouping) + +```mermaid +flowchart LR + subgraph 前端["🖥️ 前端"] + A[React App] --> B[API 调用] + end + subgraph 后端["⚙️ 后端"] + C[FastAPI] --> D[(PostgreSQL)] + end + B --> C + + style 前端 fill:#EFF6FF,stroke:#3B82F6,stroke-width:1px + style 后端 fill:#F0FDF4,stroke:#10B981,stroke-width:1px +``` + +--- + +## Template 2: Sequence Diagram + +Shows interaction sequence between systems/actors. + +```mermaid +sequenceDiagram + actor 用户 + participant 前端 as 🖥️ 前端 + participant API as ⚙️ API 网关 + participant DB as 🗄️ 数据库 + + 用户->>前端: 点击登录 + 前端->>API: POST /auth/login + API->>DB: 查询用户 + DB-->>API: 用户信息 + + alt 验证成功 + API-->>前端: 200 + JWT Token + 前端-->>用户: 跳转首页 + else 验证失败 + API-->>前端: 401 未授权 + 前端-->>用户: 显示错误提示 + end + + Note over 前端,API: Token 有效期 24 小时 +``` + +### Arrow Types + +| Syntax | Meaning | +|------|------| +| `->>` | Solid arrow (synchronous call) | +| `-->>` | Dashed arrow (return/response) | +| `-x` | Solid with x (failure/rejection) | +| `-)` | Async message | + +--- + +## Template 3: Architecture Diagram (C4 Style via Subgraphs) + +```mermaid +flowchart TB + subgraph 用户层["👤 用户层"] + U1[Web 浏览器] + U2[移动 App] + end + + subgraph 接入层["🌐 接入层"] + GW[API Gateway
Nginx + Rate Limit] + LB[负载均衡
Round Robin] + end + + subgraph 服务层["⚙️ 微服务"] + S1[用户服务
FastAPI] + S2[内容服务
FastAPI] + S3[推荐服务
PyTorch] + end + + subgraph 数据层["🗄️ 数据层"] + DB[(PostgreSQL)] + RD[(Redis Cache)] + ES[(Elasticsearch)] + end + + U1 & U2 --> GW + GW --> LB + LB --> S1 & S2 & S3 + S1 --> DB & RD + S2 --> DB & ES + S3 --> RD & ES + + style 用户层 fill:#EFF6FF,stroke:#3B82F6,stroke-width:1.5px + style 接入层 fill:#FFF7ED,stroke:#F59E0B,stroke-width:1.5px + style 服务层 fill:#F0FDF4,stroke:#10B981,stroke-width:1.5px + style 数据层 fill:#F5F3FF,stroke:#8B5CF6,stroke-width:1.5px +``` + +--- + +## Template 4: Gantt Chart + +```mermaid +gantt + title 项目里程碑计划 + dateFormat YYYY-MM-DD + axisFormat %m/%d + + section 需求阶段 + 需求调研 :done, req1, 2024-01-01, 14d + 需求评审 :done, req2, after req1, 3d + + section 开发阶段 + 后端开发 :active, dev1, after req2, 21d + 前端开发 :active, dev2, after req2, 18d + 联调测试 : dev3, after dev1, 7d + + section 上线阶段 + 灰度发布 : rel1, after dev3, 3d + 全量上线 :milestone, rel2, after rel1, 0d +``` + +--- + +## Template 5: Class Diagram + +```mermaid +classDiagram + class User { + +String name + +String email + +login() + +logout() + } + class Order { + +int id + +Date created_at + +float total + +submit() + +cancel() + } + class Product { + +String name + +float price + +int stock + } + + User "1" --> "*" Order : 下单 + Order "*" --> "*" Product : 包含 +``` + +--- + +## Template 6: ER Diagram + +```mermaid +erDiagram + USER { + int id PK + string name + string email UK + datetime created_at + } + ORDER { + int id PK + int user_id FK + float total + string status + datetime created_at + } + ORDER_ITEM { + int id PK + int order_id FK + int product_id FK + int quantity + float price + } + PRODUCT { + int id PK + string name + float price + int stock + } + + USER ||--o{ ORDER : "下单" + ORDER ||--|{ ORDER_ITEM : "包含" + PRODUCT ||--o{ ORDER_ITEM : "被购买" +``` + +--- + +## Template 7: Mind Map + +> ⚠️ Mermaid mindmap has limited layout capabilities. **For high-quality mind maps**, prefer `references/mindmap-css.md`. +> The following approach is for **quick drafts** or embedding in Markdown documents, with CSS injection to optimize visual quality. + +### Optimized HTML Shell (Important! Use this, not the default template) + +Mermaid mindmap doesn't support `style`/`classDef`, but you can greatly improve results with **CSS overriding SVG styles** + **themeVariables**: + +```html + + + + + + + + +
+
+mindmap
+    root((你的主题))
+        一级分支1
+            二级内容A
+            二级内容B
+        一级分支2
+            二级内容C
+  
+
+ + + +``` + +### Auto-Upgrade Rules (Important!) + +> ⚠️ **Never trim user content just to fit Mermaid!** +> Content comes first; tools serve content, not the other way around. + +When content complexity exceeds Mermaid mindmap's comfort zone, **auto-switch to CSS approach** (`references/mindmap-css.md`): + +| Trigger Condition (any one met) | Action | +|----------------------|------| +| More than 7 L1 branches | → Switch to CSS | +| Any branch has >8 child nodes | → Switch to CSS | +| Nesting exceeds 3 levels | → Switch to CSS | +| Single node text >15 chars | → Switch to CSS | +| Total nodes >40 | → Switch to CSS | + +**When none of the above triggers**, Mermaid mindmap is adequate. The following suggestions help optimize rendering (recommendations, not hard limits): + +| Suggestion | Notes | +|------|------| +| Keep node text concise | Use spaces to segment long text, avoid punctuation | +| Use emoji prefixes per branch | Higher visual distinctiveness | +| Use CSS injection for coloring | Use the optimized HTML shell above | + +### Example (Optimized) + +```mermaid +mindmap + root((AI 内容运营)) + 选题策划 + 热点扫描 + 竞品分析 + 用户调研 + 内容生产 + 长文 + 短文 + 视频 + 渠道分发 + 微信生态 + 小红书 + B站 + 数据运营 + 数据分析 + 评论互动 + 持续优化 +``` + +### Known Limitations of Mermaid Mindmap + +- ❌ No `style` / `classDef` support for direct node coloring (CSS injection of SVG styles only) +- ❌ Line thickness/curvature cannot be controlled from Mermaid syntax (CSS override `.mindmap-edge`) +- ❌ Node spacing calculated by algorithm, cannot be manually specified +- ❌ Long CJK text easily overlaps with connectors (strict character count control needed) +- ⚠️ CSS injection depends on Mermaid internal class naming, may break on version upgrades + +**Conclusion**: For quick drafts use Mermaid + the CSS-optimized shell above; for production output use CSS mind map → `references/mindmap-css.md` + +--- + +## Template 8: State Diagram + +```mermaid +stateDiagram-v2 + [*] --> 草稿 + 草稿 --> 审核中 : 提交审核 + 审核中 --> 已发布 : 审核通过 + 审核中 --> 草稿 : 退回修改 + 已发布 --> 已下架 : 违规/过期 + 已下架 --> 草稿 : 重新编辑 + 已发布 --> [*] : 永久删除 +``` + +--- + +## Template 9: Git Branch Graph + +```mermaid +gitGraph + commit id: "init" + branch develop + checkout develop + commit id: "feat: 用户模块" + commit id: "feat: 订单模块" + branch feature/payment + checkout feature/payment + commit id: "feat: 支付接入" + commit id: "fix: 金额精度" + checkout develop + merge feature/payment id: "merge: 支付" + checkout main + merge develop id: "release: v1.0" + commit id: "hotfix: 安全补丁" type: REVERSE +``` + +--- + +## Styling Tips + +### Single Node Style + +```mermaid +style 节点ID fill:#EFF6FF,stroke:#3B82F6,stroke-width:2px,color:#1E293B +``` + +### Batch Styles (classDef) + +```mermaid +flowchart LR + classDef blue fill:#EFF6FF,stroke:#3B82F6,stroke-width:1.5px,color:#1E293B + classDef green fill:#F0FDF4,stroke:#10B981,stroke-width:1.5px,color:#1E293B + classDef amber fill:#FFF7ED,stroke:#F59E0B,stroke-width:1.5px,color:#1E293B + + A[步骤1]:::blue --> B{判断}:::amber + B -->|是| C[结果A]:::green + B -->|否| D[结果B]:::green +``` + +### Connector Styles + +```mermaid +%% Style for the N-th connector (0-indexed) +linkStyle 0 stroke:#3B82F6,stroke-width:2px +linkStyle 1 stroke:#10B981,stroke-width:2px,stroke-dasharray: 5 5 +``` + +--- + +## Mermaid vs Other Approaches + +| Capability | Mermaid | Playwright+CSS | draw.io | +|------|---------|---------------|---------| +| Learning curve | ✅ Very low (Markdown-like) | Medium (HTML/CSS) | ✅ Very low (drag&drop) | +| Version control friendly | ✅ Plain text | ✅ Plain text | ❌ XML binary | +| Flowcharts | ✅ Built-in | ⚠️ Manual layout | ✅ Drag&drop | +| Sequence diagrams | ✅ Built-in | ❌ Very complex | ✅ Templates | +| Gantt charts | ✅ Built-in | ❌ Build from scratch | ⚠️ Limited | +| Class/ER diagrams | ✅ Built-in | ❌ Not suited | ✅ Templates | +| Visual freedom | ⚠️ Limited | ✅ Full freedom | ✅ Free | +| PNG export | ✅ mmdc/Playwright | ✅ Playwright | ✅ Built-in | +| CJK support | ✅ Native | ✅ Font config | ✅ Native | +| Auto layout | ✅ Automatic | ❌ Manual | ⚠️ Semi-auto | + +**Principle: Use Mermaid for structural/relationship diagrams, Playwright+CSS for creative design diagrams.** + +--- + +## FAQ + +### Q: CJK node names cause layout issues? + +Ensure `fontFamily` includes a CJK font: +```javascript +themeVariables: { + fontFamily: '-apple-system, PingFang SC, SimHei, sans-serif' +} +``` + +### Q: How to control node spacing? + +Mermaid auto-layouts; spacing is adjusted via config: +```javascript +flowchart: { padding: 16, nodeSpacing: 50, rankSpacing: 60 } +``` + +### Q: Chart too large? + +- Split into subgraphs +- Change direction (`TB` too tall → switch to `LR`) +- Use `mmdc -w 1600` to increase canvas width + +### Q: How to add line breaks in nodes? + +Use `
` tags: +```mermaid +A[第一行
第二行
小字注释] +``` + +### Q: Flowchart node text truncated or overlapping? + +**Common causes and fixes**: + +1. **Insufficient node padding**: ensure `flowchart.padding` is at least `24` (CJK chars are ~50% wider than Latin) +2. **Text too long**: use `
` for manual line breaks, or shorten text +3. **Canvas too narrow**: use `width: fit-content` on `#diagram` container (🚫 NEVER use `max-width` — Mermaid SVG width is unpredictable) +4. **Node spacing too small**: increase `nodeSpacing` and `rankSpacing` (recommended 60+) +5. **When using classDef**: ensure `font-size` isn't too large, 12-14px is ideal + +**Correct approach for long-text nodes**: +```mermaid +flowchart LR + A["这是一段比较长的
需要换行的文字"] + B["用引号包裹节点文字
可以使用 HTML 标签"] +``` + +**Key configuration**: +```javascript +mermaid.initialize({ + flowchart: { + padding: 32, + nodeSpacing: 80, + rankSpacing: 80, + htmlLabels: true, + wrappingWidth: 160, + } +}); +``` diff --git a/skills/charts/references/mindmap-css.md b/skills/charts/references/mindmap-css.md new file mode 100755 index 0000000..3287cd5 --- /dev/null +++ b/skills/charts/references/mindmap-css.md @@ -0,0 +1,911 @@ +# CSS Mind Map Rendering Engine + +> **⚠️ Before writing any code, read [`_rules.md`](references/_rules.md) — three non-negotiable rules on overlap, hierarchy, and color.** + +**Core principle: Content-driven, not template-driven. First analyze the content structure, then decide on the layout, and finally render.** + +--- + +## Step 1: Content Analysis + +After receiving a mind map requirement, **don't write any HTML/CSS yet**. First parse the content into a tree structure, then calculate key metrics. + +### 1.1 Build Tree JSON + +``` +Input: "How to work efficiently from home", branches include "Environment Setup", "Time Management", "Tool Selection"... + ↓ +Output: +{ + "root": "在家如何高效办公", + "branches": [ + { + "label": "环境准备", + "children": ["独立工作区", "降噪耳机", "人体工学椅"] + }, + { + "label": "时间管理", + "children": [ + { "label": "番茄工作法", "children": ["25分钟专注", "5分钟休息"] }, + "日程规划", + "避免多任务" + ] + }, + ... + ] +} +``` + +### 1.2 Key Metrics + +| Metric | Calculation Method | What It Affects | +|------|---------|---------| +| `branchCount` | Number of first-level branches | Choose single-sided/dual-sided expansion | +| `maxDepth` | Maximum nesting depth | Canvas width, whether sub-branch is needed | +| `maxChildren` | Maximum children per node | Vertical height of that branch | +| `totalNodes` | Total number of all nodes | Overall canvas size | +| `maxTextLen` | Longest text character count | Node width, whether line breaks are needed | +| `branchWeights[]` | Total descendants per first-level branch | Left-right balance allocation | + +### 1.3 Example Analysis + +``` +Content: "产品经理核心技能", 6 L1 branches, max depth 3, total 35 nodes, max text length 12 chars +→ branchCount=6, maxDepth=3, totalNodes=35, maxTextLen=12 +→ branchWeights=[8, 5, 7, 4, 6, 5] +``` + +--- + +## Step 2: Layout Decision + +Based on the metrics from Step 1, choose a layout scheme. The following are reference suggestions, not hard rules—adjust flexibly according to actual content. + +### 2.1 Layout Selection Guide + +**Core principle: Use simple layouts for less content, dual-sided layouts for more content, avoid one side becoming too long.** + +``` +Few branches (roughly ≤4), simple content? + → Style A: Right-expanding tree (single-sided, compact) + +Many branches (roughly ≥5), or single side would be too long? + → Style B: Left-right expanding tree (dual-sided balanced, most common) + +User explicitly requests a specific form? + → "cards"/"modules" → Style C: Card grid + → "fishbone"/"root cause analysis" → Style D: Fishbone diagram +``` + +**Why not use radial layout?** Radial layout (spreading from center outward) almost inevitably causes node overlap when there are more than 3-4 branches, and is extremely difficult to debug. Not recommended. + +### 2.2 Canvas Size Calculation + +Don't use fixed sizes. Calculate based on content: + +```python +def calc_canvas(branch_count, max_depth, total_nodes, max_text_len, layout): + # Width: depends on depth and text length + node_width = max(120, max_text_len * 14) # ~14px per CJK char (including padding) + if layout == 'left-right': + width = node_width * max_depth * 2 + 200 # Dual-sided, 200px in center for root node + else: + width = node_width * max_depth + 200 # Single-sided + + # Height: depends on max branch vertical expansion + if layout == 'left-right': + max_side_nodes = total_nodes // 2 + 2 # rough estimate of single-side nodes + else: + max_side_nodes = total_nodes + height = max_side_nodes * 32 + 200 # ~32px per leaf (including gap) + + # Lower bounds + width = max(width, 1200) + height = max(height, 600) + + return width, height +``` + +### 2.3 Left-Right Branch Allocation (Style B) + +Goal: Achieve similar visual weight on both sides. + +```python +def balance_branches(branch_weights): + """Greedy bin-packing: sort by weight descending, alternate left/right""" + indexed = sorted(enumerate(branch_weights), key=lambda x: -x[1]) + left, right = [], [] + left_sum, right_sum = 0, 0 + for idx, weight in indexed: + if left_sum <= right_sum: + left.append(idx) + left_sum += weight + else: + right.append(idx) + right_sum += weight + return left, right + # e.g.: weights=[8,5,7,4,6,5] → left=[0,3,5] right=[2,4,1] → 17 vs 18 +``` + +### 2.4 Node Styling Decision + +**Principle: The deeper the level, the lighter the visual weight.** This way readers can distinguish main branches from details at a glance. + +``` +Root node → most prominent: dark solid background, large font (~20px) +L1 branches → next prominent: light fill + colored border, medium font (~15px) +L2 nodes → lighter still: paler fill + thin border, medium-small font (~13px) +Leaf nodes → lightest: capsule frame or plain text, small font (~12-13px) +``` + +**Key: Leaves should not have the same visual weight as first-level branches.** Leaves' padding, gap, and border thickness should all be significantly smaller than their parent. Otherwise the chart will be vertically too long and lack hierarchy. + +--- + +## Step 3: Rendering + +Based on the decisions from Step 2, generate HTML + CSS + JS. + +### 3.1 Playwright Screenshot (Universal) + +```python +import asyncio +from playwright.async_api import async_playwright + +async def mindmap_to_png(html_path, png_path, width=1600): + async with async_playwright() as p: + browser = await p.chromium.launch(headless=True) + page = await browser.new_page(viewport={'width': width, 'height': 1200}, device_scale_factor=2) + await page.goto(f'file://{html_path}', wait_until='networkidle') + await page.wait_for_timeout(500) + + el = page.locator('#mindmap') + bbox = await el.bounding_box() + # First expansion: ensure content is not clipped + expand_w = max(width, int(bbox['width'] + 100)) + expand_h = int(bbox['height'] + 100) + await page.set_viewport_size({'width': expand_w, 'height': expand_h}) + await page.wait_for_timeout(200) + + # Call connector script + await page.evaluate('if(typeof drawAllLines==="function") drawAllLines()') + await page.wait_for_timeout(200) + + # Second contraction: measure actual content right edge, trim right-side blank space + trim = await page.evaluate('''() => { + const map = document.getElementById('mindmap'); + const nodes = map.querySelectorAll('.root-node,.branch-node,.sub-node,.leaf,.deep-node'); + const mapRect = map.getBoundingClientRect(); + let maxR = 0, maxB = 0; + nodes.forEach(n => { + const r = n.getBoundingClientRect(); + maxR = Math.max(maxR, r.right - mapRect.left); + maxB = Math.max(maxB, r.bottom - mapRect.top); + }); + return { contentW: Math.ceil(maxR) + 80, contentH: Math.ceil(maxB) + 80 }; + }''') + await page.set_viewport_size({'width': trim['contentW'], 'height': trim['contentH']}) + await page.wait_for_timeout(200) + # Redraw connectors (viewport changed so coordinates change) + await page.evaluate('if(typeof drawAllLines==="function") drawAllLines()') + await page.wait_for_timeout(200) + + await el.screenshot(path=png_path) + await browser.close() + + import os + print(f'✅ {png_path} ({os.path.getsize(png_path)/1024:.0f}KB)') +``` + +### 3.2 Universal Recursive Connector Script v4-fix (All Styles) + +This script automatically handles tree connectors of **any depth** (3, 4, 5 levels... all work). HTML for styles A and B should include this script at the end. + +**⚠️ DOM Structure Convention (connector script depends on this structure):** + +``` +#mindmap + .tree-layout ← flex container (for left-right tree) + .left-side ← left branch area + .branch.c-{color} ← L1 branch (must have color class) + .branch-node ← L1 node + .children ← L2 container + div ← child wrapper + .sub-node ← L2 node + .leaf-group ← L3 container + div / .leaf ← leaf or wrapper with deeper levels + .leaf ← L3 leaf + .deep-group ← L4 container (recursive, same as above) + .deep-node ← L4/L5 node + .center-root + .root-node ← root node + .right-side ← right branches (same structure as .left-side) +``` + +**Also supports legacy structure (.branches/.right-branches/.left-branches), backward compatible.** + +**⚠️ CSS Indentation Rules (connectors depend on child nodes having offset relative to parent, no indentation = broken connectors):** +```css +/* .tree-layout structure (new version) must include these paddings */ +.left-side .children, .left-side .leaf-group, .left-side .deep-group { + align-items: flex-end; padding-right: 16px; +} +.right-side .children, .right-side .leaf-group, .right-side .deep-group { + align-items: flex-start; padding-left: 16px; +} +``` + +**Common causes of missing connectors/layout errors:** +- **⚠️ `.sub-branch` missing `display: flex`** (most critical! Without flex, `flex-direction: row-reverse` doesn't work, left-side leaves won't expand left, instead all pile up on the right) +- **⚠️ Child node containers missing padding-left/padding-right** (without indentation, child nodes align with parent, midX is outside child nodes, connectors break) +- **⚠️ `.lr-tree` / `.tree` should not have `z-index`** (creates stacking context, covers SVG connectors) +- **⚠️ Leaf nodes must NOT stretch to equal width** — each leaf should size to its own text content (`white-space: nowrap` or `width: fit-content`). Never add `width: 100%`, `flex-grow: 1`, or `align-items: stretch` to leaf containers. Leaves with shorter text should be narrower than leaves with longer text. +- Leaf container not named `.leaf-group` (using `.child-list`, `.sub-items`, etc.) +- Deep-level container not named `.deep-group` +- `#mindmap` missing `position: relative` + +**Key improvements (v4-fix vs v2):** +- **No transparency**—use solid color blend for fading (`color + '80'` is almost invisible on white background) +- **Recursively process `.children`, `.leaf-group`, `.deep-group`**—no longer limited to 3 levels +- **Vertical line draws complete range**—one line from `min(Y)` to `max(Y)`, instead of drawing per child node + +```javascript +/** + * Universal recursive connector script v4-fix + * - Supports any nesting depth (recursively processes .children + .leaf-group + .deep-group) + * - Unified gray-tone connectors (#64748B → #94A3B8 → #A8B4C2), visually clean + * - Direction logic: + * dir='left': startX=parent.left → midX(left-biased) → endX=child.right + * dir='right': startX=parent.right → midX(right-biased) → endX=child.left + */ +function drawAllLines() { + const map = document.getElementById('mindmap'); + if (!map) { console.error('❌ #mindmap not found'); return; } + const cRect = map.getBoundingClientRect(); + + const old = map.querySelector('svg.lines'); + if (old) old.remove(); + + const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + svg.classList.add('lines'); + svg.setAttribute('width', cRect.width); + svg.setAttribute('height', cRect.height); + svg.style.cssText = 'position:absolute;top:0;left:0;pointer-events:none;z-index:1;'; + let lineCount = 0; + + function rel(el) { + const r = el.getBoundingClientRect(); + return { + cx: r.left - cRect.left + r.width/2, + cy: r.top - cRect.top + r.height/2, + left: r.left - cRect.left, + right: r.right - cRect.left, + }; + } + + function drawLine(x1, y1, x2, y2, color, width) { + const l = document.createElementNS('http://www.w3.org/2000/svg', 'line'); + // Round to nearest pixel to prevent sub-pixel misalignment (visual kinks) + l.setAttribute('x1', Math.round(x1)); l.setAttribute('y1', Math.round(y1)); + l.setAttribute('x2', Math.round(x2)); l.setAttribute('y2', Math.round(y2)); + l.setAttribute('stroke', color); l.setAttribute('stroke-width', width); + l.setAttribute('stroke-linecap', 'round'); + svg.appendChild(l); + lineCount++; + } + + // ─── Unified gray connectors (decreasing by depth, visually clean) ─── + const lineStyles = [ + { color: '#64748B', width: 2.5 }, // root → L1 + { color: '#94A3B8', width: 2 }, // L1 → L2 + { color: '#A8B4C2', width: 1.5 }, // L2 → L3 + { color: '#B8C2CC', width: 1.2 }, // L3 → L4 + { color: '#CBD5E1', width: 1 }, // L4 → L5 + ]; + function getLineStyle(branchColor, depth) { + const s = lineStyles[Math.min(depth, lineStyles.length - 1)]; + return { color: s.color, width: s.width }; + } + + // ─── Connector direction ─── + // dir='left': parent.left → midX → child.right (each child gets its own polyline) + // dir='right': parent.right → midX → child.left + // + // [Principle] midX is the X coordinate of the vertical line; it must be in the gap between parent and children. + // Use a fraction of the parent-to-nearest-child distance as offset, so: + // - Large node spacing → large offset, lines spread out + // - Small node spacing → small offset, lines compact without crossing text + // All children in the same connect() call share one midX, ensuring vertical line alignment. + function connect(parentEl, childEls, color, width, dir) { + if (!childEls.length) return; + const p = rel(parentEl); + const startX = dir === 'left' ? p.left : p.right; + const startY = p.cy; + + // Special case: single child — draw one straight horizontal line, no vertical spine + if (childEls.length === 1) { + const c = rel(childEls[0]); + const endX = dir === 'left' ? c.right : c.left; + const midY = Math.round((startY + c.cy) / 2); + drawLine(startX, midY, endX, midY, color, width); + return; + } + + // Find the closest child edge to calculate available space + let closestEdge; + if (dir === 'left') { + closestEdge = Math.max(...childEls.map(ch => rel(ch).right)); + } else { + closestEdge = Math.min(...childEls.map(ch => rel(ch).left)); + } + // Place midX at the midpoint between parent edge and closest child edge, + // but guarantee at least 16px clearance from child nodes + const childClearance = 16; + const midpoint = startX + (closestEdge - startX) / 2; + const midFromChild = dir === 'left' ? closestEdge + childClearance : closestEdge - childClearance; + // Use the position that's further from children (safer) + const midX = dir === 'left' + ? Math.min(midpoint, midFromChild) + : Math.max(midpoint, midFromChild); + + drawLine(startX, startY, midX, startY, color, width); + + // Draw ONE continuous vertical line spanning from parent to the last child + const allCYs = childEls.map(ch => rel(ch).cy); + const minY = Math.min(startY, ...allCYs); + const maxY = Math.max(startY, ...allCYs); + drawLine(midX, minY, midX, maxY, color, width); + + // Then draw horizontal lines from the vertical spine to each child + childEls.forEach(ch => { + const c = rel(ch); + const endX = dir === 'left' ? c.right : c.left; + const endY = c.cy; + drawLine(midX, endY, endX, endY, color, width); + }); + } + + // ─── Recursively process subtree (supports .children + .leaf-group + .deep-group) ─── + const NODE_SEL = '.branch-node, .sub-node, .leaf, .deep-node'; + const CONTAINER_SEL = ':scope > .children, :scope > .leaf-group, :scope > .deep-group'; + + function processChildren(parentNodeEl, containerEl, branchColor, depth, dir) { + if (!containerEl) return; + const childNodeEls = []; + for (const wrapper of containerEl.children) { + const nodeEl = wrapper.matches?.(NODE_SEL) ? wrapper : wrapper.querySelector(NODE_SEL); + if (nodeEl) childNodeEls.push(nodeEl); + } + if (!childNodeEls.length) return; + const style = getLineStyle(branchColor, depth); + connect(parentNodeEl, childNodeEls, style.color, style.width, dir); + + for (const wrapper of containerEl.children) { + const nodeEl = wrapper.matches?.(NODE_SEL) ? wrapper : wrapper.querySelector(NODE_SEL); + if (!nodeEl) continue; + wrapper.querySelectorAll(CONTAINER_SEL).forEach(nc => + processChildren(nodeEl, nc, branchColor, depth + 1, dir) + ); + } + } + + // ─── Main flow ─── + const rootNode = map.querySelector('.root-node'); + if (!rootNode) { console.error('❌ .root-node not found'); return; } + const rp = rel(rootNode); + + // Left side: collect all L1 branch-nodes, draw polylines with connect() (with vertical spine) + const leftSel = '.left-side > .branch, .left-branches > .left-branch, .left-branches > div'; + const leftBranches = map.querySelectorAll(leftSel); + const leftBranchNodes = []; + leftBranches.forEach(branch => { + const bNode = branch.querySelector('.branch-node'); + if (bNode) leftBranchNodes.push(bNode); + }); + if (leftBranchNodes.length) { + connect(rootNode, leftBranchNodes, lineStyles[0].color, lineStyles[0].width, 'left'); + } + leftBranches.forEach(branch => { + const bNode = branch.querySelector('.branch-node'); + if (!bNode) return; + processChildren(bNode, branch.querySelector(':scope > .children'), null, 1, 'left'); + }); + + // Right side: same as above + const rightSel = '.right-side > .branch, .branches > .branch, .right-branches > .right-branch'; + const rightBranches = map.querySelectorAll(rightSel); + const rightBranchNodes = []; + rightBranches.forEach(branch => { + const bNode = branch.querySelector('.branch-node'); + if (bNode) rightBranchNodes.push(bNode); + }); + if (rightBranchNodes.length) { + connect(rootNode, rightBranchNodes, lineStyles[0].color, lineStyles[0].width, 'right'); + } + rightBranches.forEach(branch => { + const bNode = branch.querySelector('.branch-node'); + if (!bNode) return; + processChildren(bNode, branch.querySelector(':scope > .children'), null, 1, 'right'); + }); + + map.insertBefore(svg, map.firstChild); + console.log(`✅ Drew ${lineCount} lines`); +} +``` + +**How to call (at end of HTML):** +```html + +``` + +### 3.3 Universal CSS Base (Shared by All Styles) + +```css +* { margin: 0; padding: 0; box-sizing: border-box; } +body { + background: #FFFFFF; + font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'SimHei', sans-serif; +} +#mindmap { padding: 60px; display: inline-block; min-width: 100%; position: relative; } +#mindmap > svg.lines { + position: absolute; top: 0; left: 0; width: 100%; height: 100%; + pointer-events: none; z-index: 0; +} + +/* ─── Root Node ─── */ +/* ─── Topic Intent Color System ─── */ +/* Model picks ONE intent based on content semantics. Add data-intent="xxx" to #mindmap. + DO NOT manually write hex colors for root node — use intent system only. */ + +/* Intent → Root Node + Branch Palette mapping */ +#mindmap[data-intent="professional"] .root-node { background: linear-gradient(135deg, #1E3A5F, #2D4A6F); box-shadow: 0 4px 12px rgba(30,58,95,0.25); } +#mindmap[data-intent="technical"] .root-node { background: linear-gradient(135deg, #334155, #475569); box-shadow: 0 4px 12px rgba(51,65,85,0.25); } +#mindmap[data-intent="medical"] .root-node { background: linear-gradient(135deg, #0F766E, #0D9488); box-shadow: 0 4px 12px rgba(15,118,110,0.25); } +#mindmap[data-intent="education"] .root-node { background: linear-gradient(135deg, #9A3412, #B45309); box-shadow: 0 4px 12px rgba(154,52,18,0.25); } +#mindmap[data-intent="creative"] .root-node { background: linear-gradient(135deg, #7C3AED, #8B5CF6); box-shadow: 0 4px 12px rgba(124,58,237,0.25); } +#mindmap[data-intent="finance"] .root-node { background: linear-gradient(135deg, #1E3A5F, #1E40AF); box-shadow: 0 4px 12px rgba(30,58,95,0.25); } +#mindmap[data-intent="nature"] .root-node { background: linear-gradient(135deg, #166534, #15803D); box-shadow: 0 4px 12px rgba(22,101,52,0.25); } +#mindmap[data-intent="warning"] .root-node { background: linear-gradient(135deg, #991B1B, #B91C1C); box-shadow: 0 4px 12px rgba(153,27,27,0.25); } +#mindmap[data-intent="neutral"] .root-node { background: linear-gradient(135deg, #334155, #475569); box-shadow: 0 4px 12px rgba(51,65,85,0.25); } + +/* +Intent Selection Guide (for model): + professional → corporate reports, strategy, management, business plans + technical → software, engineering, architecture, systems, AI/ML + medical → healthcare, clinical, pharmaceutical, nursing, anatomy + education → teaching, learning, curriculum, training, academic + creative → design, art, marketing, branding, media + finance → banking, investment, accounting, economics, trading + nature → environment, ecology, agriculture, biology, geography + warning → risk analysis, safety, incident review, compliance, audit + neutral → general topics, mixed content, unclear domain + +Recommended branch color combos per intent: + professional → [blue, teal, cyan] + technical → [blue, purple, cyan] + medical → [teal, green, blue] + education → [amber, green, blue] + creative → [purple, amber, cyan] + finance → [blue, green, cyan] + nature → [green, teal, amber] + warning → [red, amber, cyan] + neutral → [blue, green, purple] +*/ + +.root-node { + color: white; font-size: 20px; font-weight: 700; + padding: 18px 28px; border-radius: 12px; + white-space: nowrap; flex-shrink: 0; align-self: center; +} +/* Fallback if no intent specified — defaults to professional blue */ +#mindmap:not([data-intent]) .root-node { + background: linear-gradient(135deg, #1E3A5F, #2D4A6F); + box-shadow: 0 4px 12px rgba(30,58,95,0.25); +} + +/* ─── Container Layout ─── */ +.tree { display: flex; align-items: flex-start; gap: 0; position: relative; } +.branches { display: flex; flex-direction: column; gap: 16px; margin-left: 60px; } +.branch, .sub-branch { display: flex; align-items: flex-start; gap: 0; } + +/* ─── First-Level Branch Node ─── */ +.branch-node { + font-size: 15px; font-weight: 600; + padding: 10px 20px; border-radius: 8px; + white-space: nowrap; flex-shrink: 0; border: 2px solid; +} +/* ─── Second-Level Sub-Node (when has children) ─── */ +.sub-node { + font-size: 13px; font-weight: 500; + padding: 7px 14px; border-radius: 6px; + white-space: nowrap; flex-shrink: 0; border: 1.5px solid; + background: #F8FAFC; +} +/* ─── Leaf Node ─── */ +/* Default: lightweight capsule frame */ +.leaf { + font-size: 13px; font-weight: 400; color: #475569; + padding: 4px 10px; background: #FAFAFA; + border-radius: 12px; border: 1px solid #E5E7EB; + white-space: nowrap; line-height: 1.5; +} +/* Text-only mode (more compact, add class="leaf text-only") */ +.leaf.text-only { + background: none; border: none; padding: 2px 0; border-radius: 0; +} +/* Leaf supplementary description */ +.leaf-desc { + font-size: 12px; color: #94A3B8; font-weight: 400; margin-left: 8px; +} +.leaf-desc::before { content: '— '; color: #CBD5E1; } + +/* ─── Child Node Container ─── */ +/* Principle: The deeper the level, the smaller the gap, but not so small that connectors and text overlap */ +.children { display: flex; flex-direction: column; gap: 6px; margin-left: 48px; align-items: flex-start; } +.children:has(.sub-branch) { gap: 10px; } /* sub-branch is larger than leaf, needs more spacing */ +.sub-branch .children { gap: 5px; margin-left: 40px; align-items: flex-start; } +.sub-branch .sub-branch .children { gap: 4px; margin-left: 36px; align-items: flex-start; } +/* Tip: If leaf text and connectors overlap, prioritize increasing gap */ + +/* ─── Color System (for distinguishing different branches) ─── */ +.c-blue { background: #EFF6FF; border-color: #3B82F6; color: #1E40AF; } +.c-green { background: #F0FDF4; border-color: #10B981; color: #065F46; } +.c-amber { background: #FFF7ED; border-color: #F59E0B; color: #92400E; } +.c-purple { background: #F5F3FF; border-color: #8B5CF6; color: #5B21B6; } +.c-red { background: #FEF2F2; border-color: #EF4444; color: #991B1B; } +.c-cyan { background: #ECFEFF; border-color: #06B6D4; color: #155E75; } +.c-teal { background: #F0FDFA; border-color: #14B8A6; color: #134E4A; } + +/* Second-level sub-node inherits branch color scheme (lighter) */ +.c-blue .sub-node { background: #F0F7FF; border-color: #93C5FD; color: #1E40AF; } +.c-green .sub-node { background: #F2FDF6; border-color: #6EE7B7; color: #065F46; } +.c-amber .sub-node { background: #FFF9F0; border-color: #FCD34D; color: #92400E; } +.c-purple .sub-node { background: #F8F6FF; border-color: #C4B5FD; color: #5B21B6; } +.c-red .sub-node { background: #FFF5F5; border-color: #FCA5A5; color: #991B1B; } +.c-cyan .sub-node { background: #F0FEFF; border-color: #67E8F9; color: #155E75; } +.c-teal .sub-node { background: #F2FDFA; border-color: #5EEAD4; color: #134E4A; } +``` + +--- + +## Style A: Right-Expanding Tree (Simple scenarios with branchCount ≤ 4 or maxDepth ≤ 2) + +### HTML Structure + +```html + + + + + + + +
+
+
中心主题
+
+ +
+
一级分支A
+
+
叶子1
+
叶子2
+
+
+ +
+
一级分支B
+
+
+
二级有下级
+
+
三级叶子1
+
三级叶子2
+
+
+
二级叶子
+
+
+ +
+
+
+ + + +``` + +--- + +## Style B: Left-Right Expanding Tree (Standard scenario with branchCount ≥ 5, most common) + +### Additional CSS (append after universal base) + +```css +/* ─── Left-Right Expanding Layout ─── */ +.lr-tree { display: flex; align-items: center; gap: 0; position: relative; } +.lr-tree .root-node { + padding: 20px 32px; border-radius: 14px; + margin: 0 60px; text-align: center; +} + +/* ⚠️ sub-branch must be flex, otherwise flex-direction: row-reverse won't work, leaves won't expand left */ +.sub-branch { display: flex; align-items: flex-start; gap: 0; } + +.left-branches { display: flex; flex-direction: column; gap: 16px; } +.left-branch { display: flex; align-items: flex-start; flex-direction: row-reverse; gap: 0; } +.left-branch .children { + display: flex; flex-direction: column; gap: 6px; + margin-right: 48px; align-items: flex-end; +} +.left-branch .children:has(.sub-branch) { gap: 10px; } +.left-branch .sub-branch .children { gap: 5px; margin-right: 40px; margin-left: 0; align-items: flex-end; } +.left-branch .sub-branch { flex-direction: row-reverse; } + +.right-branches { display: flex; flex-direction: column; gap: 16px; } +.right-branch { display: flex; align-items: flex-start; gap: 0; } +.right-branch .children { + display: flex; flex-direction: column; gap: 6px; margin-left: 48px; align-items: flex-start; +} +.right-branch .children:has(.sub-branch) { gap: 10px; } +.right-branch .sub-branch .children { gap: 5px; margin-left: 40px; align-items: flex-start; } +``` + +### HTML Structure + +```html +
+
+ + +
+
+
分支D(放左边)
+
+
叶子1
+
叶子2
+
+
+ +
+ +
中心主题
+ + +
+
+
分支A(放右边)
+
+
叶子1
+
叶子2
+
+
+ +
+ +
+
+ +``` + +--- + +## Style C: Card Grid (when user explicitly requests "cards" / "modules") + +> ⚠️ This is not a mind map — it's a modular display. No connectors; use cards + color coding to show relationships. + +```html + + + + + + + +
+
标题
+
副标题
+
+
+
+
📋
+
模块A
+
+
    +
  • 条目1
  • +
  • 条目2
  • +
+
+ +
+
+ + +``` + +--- + +## Style D: Fishbone Diagram (Problem Analysis / Root Cause) + +Best for problem analysis, root cause tracing, quality management (Ishikawa diagram). + +```html + + + + + + + +
+
+
+
+
+
问题/结果
+
+ +
+
+
+
子原因1
+
子原因2
+
+
+
原因类别A
+
+
+ +
+
+
原因类别B
+
+
+
子原因1
+
子原因2
+
+
+
+
+
+ + +``` + +--- + +## Quality Checklist + +After rendering, verify against this checklist: + +1. **Content complete** — Every node from the original requirement is in the map, nothing missing +2. **Clear hierarchy** — L1 branches and leaves are instantly distinguishable (different bg/border/font-weight) +3. **No overlap** — No boxes covering boxes, no lines through text +4. **Connectors visible** — Every parent-child pair has a connector, no orphan leaves. Connector color ≥ `#94A3B8` (too light = invisible) +5. **Connector direction correct** — Left-side leaves extend left, right-side extends right +6. **Proportions reasonable** — Map is not extremely narrow/tall (target aspect ratio 1:1 to 3:1), visually comfortable +7. **Text readable** — At final output size, smallest text is legible. Reference: root 18px+, L1 15px+, L2 13px+, leaves 12px+ +8. **Roughly balanced** (Style B) — Visual weight approximately equal on both sides, doesn't need to be symmetric. Target ≤30% difference +9. **Canvas large enough** — No nodes clipped, sufficient padding on all sides (reference 60px+) +10. **No large blank areas on right** — Screenshot trimmed to content edge + +--- + +## ⛔ Radial Layout Warning + +**Radial layout is strongly discouraged.** Using `position: absolute` for fixed branch positions leads to overlap when branches increase, and deep levels cannot be handled. + +If content is very simple (reference: ≤3 branches, ≤3 children per branch, text ≤6 chars, depth ≤2, total ≤12 nodes), it's technically possible, but tree layout is always the safer choice. + +**No code template provided.** If conditions are met, manually adjust based on Style A. diff --git a/skills/charts/references/playwright-css.md b/skills/charts/references/playwright-css.md new file mode 100755 index 0000000..164a298 --- /dev/null +++ b/skills/charts/references/playwright-css.md @@ -0,0 +1,801 @@ +# Playwright + CSS Rendering Engine + +> **⚠️ Before writing any code, read [`_rules.md`](references/_rules.md) — three non-negotiable rules on overlap, hierarchy, and color.** + +**Core principle: Content-driven, not template-driven. Analyze content structure first, then decide layout, then render.** + +Applicable to: flowcharts, infographics, KPI cards, data posters — any visualization requiring full CSS power (gradients, shadows, rounded corners, Grid/Flexbox layout). + +--- + +## Step 1: Content Analysis + +When you receive a flowchart/infographic requirement, **don't write HTML/CSS first**. Analyze the content structure. + +### 1.1 Flowchart Content Analysis + +``` +Input: "Honey production process", 8 steps, linear without branches + ↓ +{ + "type": "flowchart", + "nodes": [ + { "id": "1", "label": "花粉采集", "desc": "蜜蜂从花朵采集花蜜" }, + { "id": "2", "label": "酿造", "desc": "蜜蜂在蜂巢中反复吞吐" }, + ... + ], + "edges": [["1","2"], ["2","3"], ...], + "nodeTypes": { "start": ["1"], "end": ["8"], "decision": [], "normal": ["2","3","4","5","6","7"] } +} +``` + +### 1.2 Key Metrics + +| Metric | Calculation | Affects | +|------|---------|---------| +| `nodeCount` | Total node count | Mermaid vs CSS flowchart | +| `maxTextLen` | Longest text char count | Node width | +| `hasDecision` | Has decision branches | Layout complexity | +| `hasBranch` | Has parallel/branches | Column count | +| `parallelCount` | Max parallel branches | Column count | +| `phaseCount` | Phase/group count | Need for phased containers | +| `hasRoles` | Has roles/swimlanes | Need for dual-panel | +| `isLinear` | Linear without branches | Can use snake layout | + +### 1.3 Infographic Content Analysis + +Infographics (KPI cards, data posters) are simpler to analyze: +- How many data metrics? → Determines grid columns +- Any trend data? → Need for sparklines +- Title area? → Need for hero header +- Comparison data? → Need for bar chart + +--- + +## Step 2: Layout Decision + +### 2.1 Flowchart Layout Decision Tree + +``` +⚠️ DEFAULT RULE: When user asks "generate/create XXX 流程图" without specifying format, + DEFAULT to Layout C (Phased Vertical). Almost all real-world processes have phases. + +User specified Mermaid/markdown? + └─ Yes → Follow user choice (Format Constraint Rule) + └─ No → + nodeCount ≤ 6 AND no phases AND maxTextLen ≤ 8 (CJK)? + └─ Yes → Mermaid (minimal flowchart) + └─ No → + phaseCount > 0 OR nodeCount ≥ 5? + └─ Yes → ⭐ Layout C: CSS Phased Vertical flowchart (DEFAULT) + └─ No → + hasRoles? + └─ Yes → Layout D: CSS Dual-panel/Swimlane flowchart + └─ No → Layout C: CSS Phased Vertical flowchart (fallback also uses C) +``` + +**⚠️ Layout A (Grid) and Layout B (Snake) are only for very special scenarios (e.g., flat comparison, unordered parallel items). Flowcharts default to Layout C.** + +### 🚫 Flowchart Anti-Patterns (FORBIDDEN) + +| ❌ Bad Pattern | ✅ Correct Pattern | +|---|---| +| Phase titles (一、二、三...) as isolated left-side text labels | Phase titles as colored title bars, wrapped inside group cards | +| All nodes flat-laid in Grid without group containers | Each phase wrapped in a `.phase-group` card containing its steps | +| Role labels scattered above nodes | Role info displayed uniformly at the top of the flowchart, or as phase card labels | +| Nodes connected with loose diverging lines | Phases connected with arrows (↓), steps within phases use numbering | +| Inconsistent node sizes, uneven spacing, misaligned | Same-phase nodes share uniform style, overall alignment consistent | +| Using Layout A Grid for a phased flowchart | Has phases → must use Layout C | + +### 2.2 Canvas Size Calculation + +```python +def calc_flowchart_canvas(node_count, max_text_len, parallel_count, has_roles, layout): + node_width = max(180, max_text_len * 16) # ~16px per CJK char (including padding) + + if layout == 'snake': + cols = min(4, node_count) + rows = (node_count + cols - 1) // cols + width = cols * (node_width + 60) + 120 # 60=gap, 120=padding + height = rows * 120 + 200 # 120=row height + elif layout == 'dual-panel': + width = max(1600, node_width * 2 + 400) # left panel + right flow + height = node_count * 100 + 200 + elif layout == 'phased-vertical': + width = max(800, node_width + 200) + height = node_count * 80 + 200 + else: # grid + cols = max(parallel_count, 2) + width = cols * (node_width + 60) + 120 + rows = (node_count + cols - 1) // cols + height = rows * 120 + 200 + + return max(width, 800), max(height, 600) +``` + +### 2.3 Color Decision + +**Iron rule: Node background = low-saturation light color, border = high-saturation color. Large high-saturation areas = children's drawing.** + +**⚠️ Text contrast iron rule: Dark/accent background nodes must use light text (white or near-white) for title and description.** +Light background → dark text (`#1F2937`), dark background → light text (`#FFFFFF` or `#FFF7ED`). +Common mistake: Endpoint/highlight node switched to dark background, but description text remains dark gray, making it completely unreadable. + +``` +Node type → color: + Start/end → bg: #EFF6FF, border: #3B82F6 (blue), text: #1E40AF + Normal step → bg: #F8FAFC, border: #94A3B8 (gray-blue), text: #374151 or colored by phase + Decision node → bg: #FFF7ED, border: #F59E0B (amber), text: #92400E + Success/pass → bg: #F0FDF4, border: #10B981 (green), text: #065F46 + End/failure → bg: #F5F3FF, border: #8B5CF6 (purple), text: #5B21B6 + Emphasis/endpoint (dark bg) → bg: #92400E, border: #F59E0B, text: #FFFFFF, desc: #FFF7ED + +Max 3-4 background colors for nodes in the same flowchart. +Overall chart background = white #FFFFFF. +``` + +**Phase bar colors**: Same-hue gradient (blue-gray family), **never use different hues per phase**. + +```css +/* ✅ Same-hue blue-gray progression */ +.phase-1 { background: #F0F4F8; border-left: 4px solid #64748B; } +.phase-2 { background: #E8EDF2; border-left: 4px solid #5B7A99; } + +/* ❌ Different hue per phase (rainbow effect) */ +.phase-1 { background: #EFF6FF; border-left: 4px solid #3B82F6; } /* blue */ +.phase-2 { background: #F0FDF4; border-left: 4px solid #10B981; } /* green */ +.phase-3 { background: #FFF7ED; border-left: 4px solid #F59E0B; } /* amber */ +``` + +--- + +## Step 3: Rendering + +### 3.1 Playwright Screenshot (Universal) + +```python +import asyncio +from playwright.async_api import async_playwright + +async def html_to_image(html_path, output_path, selector='#root', + width=1200, height=None, scale=2): + """HTML → PNG/PDF + + scale: 2 (default crisp), 1.5 (large canvas 3000px+), 3 (print). + Width must accommodate ALL content. After first render, auto-resize viewport to fit. + """ + async with async_playwright() as p: + browser = await p.chromium.launch(headless=True) + page = await browser.new_page( + viewport={'width': width, 'height': height or 800}, + device_scale_factor=scale + ) + await page.goto(f'file://{html_path}', wait_until='networkidle') + await page.wait_for_timeout(500) + + if output_path.endswith('.pdf'): + await page.pdf(path=output_path, print_background=True) + else: + el = page.locator(selector) + bbox = await el.bounding_box() + if bbox: + fit_w = max(width, int(bbox['width'] + 100)) + fit_h = int(bbox['height'] + 100) + await page.set_viewport_size({'width': fit_w, 'height': fit_h}) + await page.wait_for_timeout(200) + await el.screenshot(path=output_path) + + await browser.close() + import os + print(f'✅ {output_path} ({os.path.getsize(output_path)/1024:.0f}KB)') +``` + +### 3.2 HTML Universal Shell + +```html + + + + + + + +
+ +
+ + +``` + +### 3.3 CSS Variables: Node Color System + +```css +:root { + /* Node types — low-saturation background + high-saturation border */ + --node-bg: #EFF6FF; --node-border: #3B82F6; /* Normal step (blue) */ + --node-decision-bg: #FFF7ED; --node-decision-border: #F59E0B; /* Decision (amber) */ + --node-success-bg: #F0FDF4; --node-success-border: #10B981; /* Success (green) */ + --node-end-bg: #F5F3FF; --node-end-border: #8B5CF6; /* End (purple) */ + --group-bg: #F8FAFC; --group-border: #E2E8F0; /* Group container */ +} +``` + +--- + +## Layout A: CSS Grid Flowchart (Universal, Most Common) + +For: Flowcharts with branches/decisions, >10 nodes or long CJK text. + +### Core CSS + +```css +.flow-title { + font-size: 22px; font-weight: 700; color: var(--text); + text-align: center; margin-bottom: 40px; +} +.flow-subtitle { + font-size: 14px; color: var(--text-sub); + text-align: center; margin-top: 8px; +} + +/* Grid container */ +.flow-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(180px, 220px)); + gap: 40px 60px; + justify-content: center; + position: relative; +} + +/* Node */ +.flow-node { + background: var(--node-bg); border: 2px solid var(--node-border); + border-radius: 10px; padding: 16px 20px; + text-align: center; position: relative; z-index: 1; + min-height: 56px; display: flex; flex-direction: column; + justify-content: center; align-items: center; + box-shadow: 0 1px 3px rgba(0,0,0,0.06); + max-width: 260px; /* Prevent single node from being too wide and crowding parallel nodes */ + word-break: break-word; /* Force line break for overly long text */ + white-space: normal; /* Allow line breaks (override possible nowrap) */ +} +.flow-node .node-title { font-size: 15px; font-weight: 600; line-height: 1.4; } +.flow-node .node-desc { font-size: 12px; color: var(--text-sub); margin-top: 4px; } + +/* Node variants */ +.flow-node.start { border-radius: 24px; } +.flow-node.decision { background: var(--node-decision-bg); border-color: var(--node-decision-border); } +.flow-node.success { background: var(--node-success-bg); border-color: var(--node-success-border); } +.flow-node.end { background: var(--node-end-bg); border-color: var(--node-end-border); } + +/* Group box */ +.flow-group { + background: var(--group-bg); border: 1.5px dashed var(--group-border); + border-radius: 12px; padding: 24px 20px 20px; position: relative; +} +.flow-group .group-label { + position: absolute; top: -10px; left: 16px; + background: var(--bg); padding: 0 8px; + font-size: 12px; font-weight: 600; color: var(--text-sub); +} + +/* ─── Parallel branch constraints (prevent overlap when multiple nodes in same row) ─── */ +/* + ⚠️ Parallel branch iron rules: + 1. Gap between parallel nodes in same row ≥ 40px (guaranteed by .flow-grid gap) + 2. Each node max-width: 260px + word-break: break-word (set in .flow-node) + 3. If parallel nodes > 3 → switch to vertical branch layout (don't force-squeeze into one row) + 4. Text over 15 CJK characters → must line-break, don't expand node width + 5. When using flex instead of manual grid-column for parallel areas, add flex-wrap: wrap as fallback +*/ +.parallel-group { + display: flex; gap: 40px; justify-content: center; + flex-wrap: wrap; /* Fallback: auto-wrap when exceeding width */ +} +.parallel-group .flow-node { + flex: 0 1 220px; /* Max 220px, can shrink, won't grow infinitely */ +} + +/* SVG connector layer */ +.flow-connectors { + position: absolute; top: 0; left: 0; width: 100%; height: 100%; + pointer-events: none; z-index: 0; +} +.flow-connectors line, .flow-connectors path { + stroke: var(--connector); stroke-width: 2; fill: none; + marker-end: url(#arrowhead); +} +.connector-label { + font-size: 12px; fill: var(--text-sub); text-anchor: middle; + font-family: -apple-system, 'PingFang SC', 'SimHei', sans-serif; +} + +/* Legend — must be independent container, not inside flow-grid */ +.flow-legend { + display: flex; gap: 24px; justify-content: center; + margin-top: 40px; padding: 16px 24px; + background: #F9FAFB; border-radius: 8px; border: 1px solid #E5E7EB; +} +.legend-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #4B5563; } +.legend-dot { width: 12px; height: 12px; border-radius: 3px; border: 2px solid; } +``` + +### Auto Connector Script + +```javascript +// connections = [['sourceID', 'targetID', 'label'], ...] +function drawConnectors(connections) { + const svg = document.getElementById('connectorSvg'); + const container = svg.parentElement; + const cRect = container.getBoundingClientRect(); + + svg.setAttribute('width', cRect.width); + svg.setAttribute('height', cRect.height); + svg.setAttribute('viewBox', `0 0 ${cRect.width} ${cRect.height}`); + + // Clear old connectors (keep defs) + svg.querySelectorAll('line, path, text.connector-label').forEach(el => el.remove()); + + connections.forEach(([fromId, toId, label]) => { + const fromEl = document.querySelector(`[data-id="${fromId}"]`); + const toEl = document.querySelector(`[data-id="${toId}"]`); + if (!fromEl || !toEl) return; + + const f = fromEl.getBoundingClientRect(); + const t = toEl.getBoundingClientRect(); + const x1 = f.left + f.width/2 - cRect.left; + const y1 = f.bottom - cRect.top; + const x2 = t.left + t.width/2 - cRect.left; + const y2 = t.top - cRect.top; + + if (Math.abs(x1 - x2) < 10) { + // Same column → straight line + const line = document.createElementNS('http://www.w3.org/2000/svg', 'line'); + line.setAttribute('x1', x1); line.setAttribute('y1', y1); + line.setAttribute('x2', x2); line.setAttribute('y2', y2); + svg.appendChild(line); + } else { + // Different column → bent line + const midY = (y1 + y2) / 2; + const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); + path.setAttribute('d', `M ${x1} ${y1} L ${x1} ${midY} L ${x2} ${midY} L ${x2} ${y2}`); + svg.appendChild(path); + } + + if (label) { + const text = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + text.setAttribute('x', (x1 + x2) / 2); + text.setAttribute('y', (y1 + y2) / 2 - 6); + text.setAttribute('class', 'connector-label'); + text.textContent = label; + svg.appendChild(text); + } + }); +} + +// SVG defs (arrow definitions) +function ensureArrowDef(svg) { + if (svg.querySelector('#arrowhead')) return; + const defs = document.createElementNS('http://www.w3.org/2000/svg', 'defs'); + defs.innerHTML = ''; + svg.appendChild(defs); +} +``` + +### HTML Structure Example + +```html +
+
流程图标题
+ +
+ +
+
+
开始
+
+
+
步骤一
+
详细说明
+
+
+
判断条件?
+
+
+
结束
+
+
+
+ +
+
步骤
+
判断
+
+
+ + +``` + +--- + +## Layout B: Snake Flowchart (>4 Linear Steps) + +For: Linear non-branching processes with many steps (5-20). + +### Key Rules + +- Max 4 nodes per row +- First row left→right, second row right→left (snake pattern) +- End-of-row to next-row turn connectors use bend lines, with ≥60px clearance at turns +- Node positions in grid are auto-calculated by JS (no manual grid-column) + +### Snake Layout Generation Script + +```javascript +function layoutSnake(nodeIds, cols) { + cols = cols || 4; + nodeIds.forEach((id, i) => { + const row = Math.floor(i / cols); + const colInRow = i % cols; + const col = row % 2 === 0 ? colInRow + 1 : cols - colInRow; // Even rows L→R, odd rows R→L + const el = document.querySelector(`[data-id="${id}"]`); + if (el) { + el.style.gridRow = row + 1; + el.style.gridColumn = col; + } + }); +} +``` + +--- + +## Layout C: Phased Vertical Flowchart (⭐ DEFAULT for all flowcharts) + +**This is the DEFAULT layout for flowcharts.** When the user asks for any flowchart without specifying format, use this layout. + +For: Any process with phases/stages, which is nearly ALL real-world processes (manufacturing, legal, project management, business operations, etc.). Also the safe fallback when unsure. + +**Why this is the default:** Layout C produces consistently professional, readable results. Even if the process has only 2 "phases", the card-based grouping still looks clean. In contrast, Layout A (Grid) without proper grouping produces scattered, unreadable results. + +### Key Design + +**Phase titles vs sub-steps must have clear visual distinction**: +- Phase titles: colored background, font-size ≥ 16px, font-weight: 700 +- Sub-steps: white/light gray background, font-size 14-15px, font-weight: 400-500 + +**No arrows between sub-steps**. Arrows only connect phase-to-phase. Sub-steps use indent + numbering for sequence. + +### Phase Connector Direction Rule +Phase-to-phase connector arrows MUST match the logical flow direction. If the flow goes top → bottom, arrows point ↓. If bottom → top, arrows point ↑. If left → right, arrows point →. **Never draw arrows opposing the flow direction.** + +### Additional CSS + +```css +.phase-group { + background: #F8FAFC; border-radius: 12px; padding: 20px 24px; + margin-bottom: 24px; +} +.phase-title { + font-size: 16px; font-weight: 700; padding: 10px 16px; + border-radius: 8px; margin-bottom: 16px; +} +.phase-steps { display: flex; flex-direction: column; gap: 8px; padding-left: 12px; } +.phase-step { + font-size: 14px; font-weight: 400; color: var(--text); + padding: 8px 14px; background: white; border-radius: 6px; + border: 1px solid var(--border); +} +.phase-step .step-num { + display: inline-block; width: 22px; height: 22px; line-height: 22px; + text-align: center; border-radius: 50%; font-size: 12px; font-weight: 600; + margin-right: 8px; +} + +/* Phase colors — same-hue blue-gray gradient (low saturation, easy on the eyes) + All phases share the blue-gray color family, distinguished by brightness progression. + 🚫 FORBIDDEN: Different hue per phase (blue→green→amber→purple) — becomes rainbow with many phases. + ✅ CORRECT: Progress within same hue family (light→dark), or pure grayscale + single-color accent. + + Two schemes provided below; model selects based on phase count: + - ≤4 phases: Scheme A (blue-gray progression) + - 5-7 phases: Scheme B (neutral gray base + blue accent progression) + - >7 phases: all use same gray base, distinguish only by numbering +*/ + +/* Scheme A: Blue-gray progression (≤4 phases) */ +.phase-1 .phase-title { background: #F0F4F8; color: #334155; border-left: 4px solid #64748B; } +.phase-1 .step-num { background: #E2E8F0; color: #475569; } +.phase-2 .phase-title { background: #E8EDF2; color: #1E3A5F; border-left: 4px solid #5B7A99; } +.phase-2 .step-num { background: #DBEAFE; color: #1E3A5F; } +.phase-3 .phase-title { background: #E0E7EF; color: #1E3050; border-left: 4px solid #4A6B8A; } +.phase-3 .step-num { background: #D0D9E4; color: #1E3050; } +.phase-4 .phase-title { background: #D8E0EA; color: #172540; border-left: 4px solid #3A5C7A; } +.phase-4 .step-num { background: #C7D2E0; color: #172540; } + +/* Scheme B: Neutral gray base + blue accent progression (5-7 phases) */ +/* +.phase-1 .phase-title { background: #F8FAFC; color: #334155; border-left: 4px solid #94A3B8; } +.phase-1 .step-num { background: #F1F5F9; color: #475569; } +.phase-2 .phase-title { background: #F1F5F9; color: #334155; border-left: 4px solid #7B8FA3; } +.phase-2 .step-num { background: #E2E8F0; color: #475569; } +.phase-3 .phase-title { background: #E8EDF3; color: #2D4156; border-left: 4px solid #6B809A; } +.phase-3 .step-num { background: #DBEAFE; color: #2D4156; } +.phase-4 .phase-title { background: #E2E8F0; color: #283C52; border-left: 4px solid #5B7590; } +.phase-4 .step-num { background: #D0D9E4; color: #283C52; } +.phase-5 .phase-title { background: #DAE1EB; color: #23364D; border-left: 4px solid #4B6A87; } +.phase-5 .step-num { background: #C7D2E0; color: #23364D; } +.phase-6 .phase-title { background: #D2DAE5; color: #1E3048; border-left: 4px solid #3B5F7D; } +.phase-6 .step-num { background: #BFC9D8; color: #1E3048; } +.phase-7 .phase-title { background: #CAD3E0; color: #192A3E; border-left: 4px solid #2B5473; } +.phase-7 .step-num { background: #B7C2D2; color: #192A3E; } +*/ +``` + +### HTML Structure + +```html +
+
项目流程
+ +
+
第一阶段:需求分析
+
+
1需求收集与整理
+
2可行性评估
+
3需求优先级排序
+
+
+ + +
+ +
+
第二阶段:设计开发
+
+
4UI/UX 设计
+
5前后端开发
+
+
+
+``` + +--- + +## Layout D: Dual-Panel / Swimlane Flowchart + +For: Processes involving multiple roles or departments. + +### Key Rules + +- Canvas width ≥ 1600px +- Left panel for role/swimlane labels, right panel for flow nodes +- Role labels font-size ≥ 12px, solid background, right edge ≥ 40px from canvas +- `overflow: hidden` is forbidden + +### Additional CSS + +```css +.dual-layout { display: flex; gap: 40px; } +.role-panel { + flex-shrink: 0; width: 160px; + display: flex; flex-direction: column; gap: 12px; +} +.role-tag { + font-size: 13px; font-weight: 600; padding: 8px 12px; + border-radius: 6px; text-align: center; +} +.flow-panel { flex: 1; min-width: 0; } +``` + +--- + +## Infographic Templates + +The following templates are for non-flowchart information visualization. + +### Template: KPI Dashboard Cards + +```css +.kpi-grid { + display: grid; grid-template-columns: repeat(4, 1fr); + gap: 20px; margin-bottom: 32px; +} +.kpi-card { + background: var(--surface); border: 1px solid var(--border); + border-radius: 12px; padding: 24px; text-align: center; +} +.kpi-label { font-size: 13px; color: var(--text-sub); margin-bottom: 8px; } +.kpi-value { font-size: 32px; font-weight: 700; } +.kpi-change { font-size: 14px; font-weight: 600; margin-top: 8px; } +.kpi-change.up { color: var(--positive); } +.kpi-change.down { color: var(--negative); } +``` + +### Template: CSS Bar Chart (Pure CSS, No JS) + +```css +.bar-chart { + display: flex; align-items: flex-end; gap: 16px; + height: 300px; padding: 0 20px; border-bottom: 1px solid var(--border); +} +.bar-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; } +.bar { width: 100%; max-width: 60px; border-radius: 6px 6px 0 0; background: var(--border); } +.bar.highlight { background: var(--blue); } +.bar-label { font-size: 12px; color: var(--text-sub); } +.bar-value { font-size: 11px; color: var(--text-muted); font-weight: 600; } +``` + +### Template: Gradient Background Infographic Header + +```css +.hero-header { + background: linear-gradient(135deg, #1E293B 0%, #0F172A 100%); + border-radius: 16px; padding: 48px; color: white; margin-bottom: 32px; +} +.hero-header h1 { font-size: 28px; font-weight: 700; margin-bottom: 12px; } +.hero-header p { font-size: 15px; color: #94A3B8; max-width: 600px; line-height: 1.6; } +.hero-badge { + display: inline-block; background: rgba(59,130,246,0.15); + color: #60A5FA; font-size: 12px; font-weight: 600; + padding: 4px 12px; border-radius: 20px; margin-bottom: 16px; +} +``` + +### Template: Data Card + Mini Sparkline + +```html +
+
+
月活用户
+
34,521
+
↑ +18.2%
+
+
+ + + +
+
+``` + +```css +.metric-card { + background: white; border: 1px solid var(--border); + border-radius: 16px; padding: 28px; + display: flex; justify-content: space-between; align-items: center; +} +.metric-title { font-size: 13px; color: var(--text-sub); } +.metric-value { font-size: 36px; font-weight: 700; margin: 4px 0; } +.metric-change { font-size: 14px; font-weight: 600; } +``` + +--- + +## Advanced Connector Rules + +### Many-to-One Convergence + +When multiple lines converge into one node, use the "merge first, then enter" pattern: + +``` +[A] ──┐ +[B] ──┤── → [目标] +[C] ──┘ +``` + +Implementation: Source lines reach a relay x-coordinate, merge into one vertical line, then a single line enters the target. + +### Cross-Layer Connector Avoidance + +If other nodes block the path between two nodes, **do not draw a straight line through them**. + +Priority: +1. **Redesign hierarchy** (best) — Most cross-layer lines indicate hierarchy design issues; connect adjacent layers only +2. **Detour line** — Route around middle nodes via canvas edge (offset 40px right) +3. **Thread through gap** — If middle-layer node gap ≥ 40px, route through the gap + +### Connector Alignment + +- Multiple lines from the same node start at a consistent position on the node border +- Use only one connector style per chart (right-angle/curved/straight), no mixing +- Connector label positions must be consistent (all above line or all centered) + +--- + +## Font Size Rules + +| Element | Recommended | Minimum | +|------|------|------| +| Flowchart main node title | 16-18px | 14px | +| Node description / subtext | 13-15px | 12px | +| Connector labels | 12-14px | 11px | +| Legend text | 13-14px | 12px | +| Footnotes / watermark | 11-13px | 10px | +| Phase titles | 16-18px | 16px | +| Role labels | 13-14px | 12px | + +**Not enough space → Enlarge canvas, don't shrink fonts.** + +--- + +## Overflow Protection + +1. **`#root { width: fit-content; min-width: 800px; }`** — Expands with content automatically +2. **`overflow: hidden` / `overflow: clip` are forbidden** +3. **Auto-resize viewport before Playwright screenshot** (see 3.1 screenshot script) +4. **Canvas minimum width**: + +| Layout Type | Minimum Width | Recommended | +|---------|---------|------| +| Single-column flowchart | 800px | 1000px | +| Dual-panel / swimlane | 1400px | 1600-1800px | +| Three-column / multi-panel | 1800px | 2000-2400px | + +--- + +## Quality Checklist + +1. **Layout C used by default** — If this is a flowchart, verify you're using Layout C (Phased Vertical) unless there's a specific reason not to +2. **Content complete** — Every node/step from the requirement is in the chart +3. **No overlap** — No boxes covering boxes, no lines through boxes +4. **Clear hierarchy** — Phase titles and sub-steps are instantly distinguishable +5. **Colors reasonable** — Node backgrounds low-saturation, no children's-drawing palette +6. **Connectors visible** — Connector color ≥ `#94A3B8`, arrow direction correct +7. **Font sizes meet standards** — Check against font size table, nothing below minimum +8. **Legend independent** — Not inside flow-grid, not obscured by any node +9. **No clipping** — Padding ≥ 40px on all sides, all nodes and labels fully visible +10. **Phase colors consistent** — Same hue family, no blue/brown/green/purple mix +11. **Connectors don't pass through nodes** — Cross-layer lines use detour or redesign hierarchy +12. **No scattered layout** — Phase titles MUST be inside group cards, NOT floating as isolated labels + +--- + +## Playwright+CSS vs Other Approaches + +| Capability | Playwright+CSS | matplotlib | ECharts | +|------|---------------|------------|---------| +| Gradients/shadows/rounded | ✅ Full CSS power | ❌ Limited | ⚠️ Partial | +| Responsive layout | ✅ Flexbox/Grid | ❌ Fixed size | ⚠️ resize | +| PNG/PDF export | ✅ Native | ✅ savefig | ⚠️ Needs Playwright | +| Precise data charts | ⚠️ Manual | ✅ Built-in | ✅ Built-in | + +**Best practice: CSS for layout and visual design, embed ECharts/SVG for precise charts.** diff --git a/skills/charts/references/radial-grid.md b/skills/charts/references/radial-grid.md new file mode 100755 index 0000000..38dad1e --- /dev/null +++ b/skills/charts/references/radial-grid.md @@ -0,0 +1,576 @@ +# CSS Radial Grid Layout (Center-Outward Diagrams) + +> **⚠️ Before writing any code, read [`_rules.md`](references/_rules.md) — three non-negotiable rules on overlap, hierarchy, and color.** + +**For: SWOT analysis, Balanced Scorecard (BSC), Porter's Five Forces, PEST analysis, and any "center + 4-6 surrounding dimensions" diagram.** + +**Core principle: Use flex rows to lock positions — model never calculates coordinates. Connectors are drawn by script reading bounding boxes.** + +--- + +## When to Use This Template + +| Diagram Type | Dimensions | Use This? | +|-------------|-----------|-----------| +| SWOT (Strengths/Weaknesses/Opportunities/Threats) | 4 quadrants | ✅ Layout B (2×2 Grid) | +| Balanced Scorecard (Financial/Customer/Internal/Learning) | 4 dimensions | ✅ Layout A (Cross) | +| Porter's Five Forces | 5 forces | ✅ Layout A (Cross + extra row) | +| PEST (Political/Economic/Social/Technological) | 4 dimensions | ✅ Layout B (2×2 Grid) | +| Competency wheel / capability map | 5-8 dimensions | ✅ Layout A with extra rows | +| Anything with center + surrounding elements | 3-8 | ✅ | + +--- + +## Layout A: Cross Layout (4-6 Dimensions) + +Best for: BSC, Porter's Five Forces, any "center with surrounding dimensions" structure. + +### 🚫 FORBIDDEN: 3×3 CSS Grid Cross + +**Do NOT use `grid-template-columns: Xpx Ypx Xpx` to place cards in a cross pattern.** The top/bottom cards in the center column will overflow into the side columns and overlap with left/right cards when content is longer than expected. + +### ✅ REQUIRED: Three-Row Flex Layout + +**Each row is an independent flex container. Rows cannot overlap each other — physically impossible.** + +``` +Row 1 (top): [top dimension card] ← independent flex row, centered +Row 2 (middle): [left card] [center] [right card] ← independent flex row, horizontal +Row 3 (bottom): [bottom dimension card] ← independent flex row, centered +``` + +### HTML + CSS + +```html + + + + + + + +
+
平衡计分卡四维评价体系
+
基于战略目标的绩效管理框架
+ +
+ + + + +
+
F
财务维度
+
    +
  • 营收增长率
  • +
  • 利润率
  • +
  • ROI
  • +
+
+ + +
+
+
I
内部流程
+
    +
  • 流程效率
  • +
  • 质量管控
  • +
  • 创新能力
  • +
+
+ +
战略目标
+ +
+
C
客户维度
+
    +
  • 客户满意度
  • +
  • 市场份额
  • +
  • 客户留存率
  • +
+
+
+ + +
+
L
学习与成长
+
    +
  • 员工能力提升
  • +
  • 信息系统建设
  • +
  • 组织文化
  • +
+
+
+
+ + + + +``` + +**Key design decisions:** +- **Three-row flex** instead of 3×3 Grid — rows physically cannot overlap +- **Fixed card width (260px)** — prevents content-driven overflow +- **`gap: 24px`** between rows, **`gap: 40px`** within middle row — generous spacing +- **Center node uses `flex-shrink: 0`** — never collapses under pressure + +### Adapting for 5+ Dimensions + +For Porter's Five Forces (5 dimensions) or more: + +```html + +
...
+ + +
+
...
+
...
+
...
+
+ + +
+
...
+
...
+
+``` + +For the connector script, add cases for `bottom-left` and `bottom-right`: +```javascript +// 🚫 FORBIDDEN: using cR.left/cR.right as x1 — that draws from center CORNER, angle is ugly +// ✅ CORRECT: always use cx (center bottom midpoint) as x1 +case 'bottom-left': + x1 = cx; y1 = cR.bottom - gRect.top; // center BOTTOM MIDPOINT + x2 = cardCx; y2 = r.top - gRect.top; // card TOP MIDPOINT + break; +case 'bottom-right': + x1 = cx; y1 = cR.bottom - gRect.top; // center BOTTOM MIDPOINT + x2 = cardCx; y2 = r.top - gRect.top; // card TOP MIDPOINT + break; +``` + +### Adapting for 3 Dimensions + +Simply remove one side card from the middle row: + +```html + +
...
+ + +
+
...
+
...
+
+ + +
...
+``` + +--- + +## Layout B: 2×2 Quadrant Grid (SWOT / PEST) + +Best for: exactly 4 dimensions arranged as equal quadrants (no center node needed). + +**This layout has NO center node — the four quadrants themselves tell the story.** + +### HTML + CSS + +```html + + + + + + + +
+
SWOT 分析
+
企业战略定位评估
+ +
+
+
S
优势 Strengths
+
    +
  • 核心技术领先
  • +
  • 品牌知名度高
  • +
  • 供应链成熟
  • +
+
+ +
+
W
劣势 Weaknesses
+
    +
  • 国际化经验不足
  • +
  • 产品线单一
  • +
  • 人才储备有限
  • +
+
+ +
+
O
机会 Opportunities
+
    +
  • 新兴市场需求增长
  • +
  • 政策利好
  • +
  • 技术融合趋势
  • +
+
+ +
+
T
威胁 Threats
+
    +
  • 竞争加剧
  • +
  • 原材料价格波动
  • +
  • 法规变化风险
  • +
+
+
+
+ + +``` + +**No connectors needed** — the 2×2 grid itself communicates the four-quadrant relationship. Adding arrows would be visual noise. + +--- + +## Connector Rules + +1. **Connectors are ALWAYS drawn by script reading bounding boxes** — never hardcode x/y values in HTML/CSS +2. **Straight lines only** (horizontal or vertical) — no diagonal lines unless top/bottom cards are offset from center +3. **Dashed lines** (`stroke-dasharray: 6,4`) for conceptual relationships +4. **Solid lines** for causal/sequential relationships +5. **Arrow direction**: model chooses based on diagram semantics — pick ONE style per diagram, don't mix: + - **Outward** (`marker-end` only): center influences/drives dimensions (e.g. BSC: strategy → dimensions) + - **Inward** (`marker-start` only): dimensions report/pressure center (e.g. Porter: forces → competition) + - **Bidirectional** (`marker-start` + `marker-end`): mutual influence (e.g. feedback loops) +6. **🚫 All lines MUST originate from center EDGE MIDPOINTS** (cx or cy) — never from center corners +7. **Line color**: `#94A3B8` (gray-blue) — never use dimension-specific colors for connectors (visual chaos) + +### SVG Arrow Markers (copy-paste into defs) + +```javascript +// Include both markers; use only what the diagram needs +const defs = document.createElementNS('http://www.w3.org/2000/svg', 'defs'); +defs.innerHTML = ` + + + + + + +`; +svg.appendChild(defs); + +// Outward (center → card): +line.setAttribute('marker-end', 'url(#arrowEnd)'); + +// Inward (card → center): +line.setAttribute('marker-start', 'url(#arrowStart)'); + +// Bidirectional: +line.setAttribute('marker-start', 'url(#arrowStart)'); +line.setAttribute('marker-end', 'url(#arrowEnd)'); +``` + +--- + +## Content Rules + +1. **Each dimension card: max 6 bullet items** — more than 6 → group into sub-categories or use a separate detail table +2. **Bullet text: max 15 Chinese characters per line** — longer text wraps naturally (word-break: break-word) +3. **Center node text: max 8 Chinese characters** — keep it a short label, not a sentence +4. **Dimension title: max 10 Chinese characters** — concise category name + +--- + +## Font Size Rules + +| Element | Size | Weight | +|---------|------|--------| +| Diagram title | 22px | 700 | +| Center node | 18px | 700 | +| Dimension title | 15-16px | 700 | +| Bullet items | 13px | 400 | +| Subtitle/footnote | 14px | 400 | + +--- + +## Quality Checklist + +1. **No overlap** — all dimension cards fully visible, none clipped or covering another +2. **Connectors point to card edges** — not to random points in space +3. **Center node visually dominant** — largest, darkest, or most contrast +4. **Dimension cards visually equal** — similar size, similar padding, no one card 3× larger +5. **Colors follow scheme** — each dimension has its own color (border + title), backgrounds stay pale (white or near-white) +6. **Layout is centered** — equal margins on all sides +7. **Canvas large enough** — min 900px wide for cross layout, min 800px for 2×2 quadrant diff --git a/skills/charts/references/seaborn.md b/skills/charts/references/seaborn.md new file mode 100755 index 0000000..4a376f0 --- /dev/null +++ b/skills/charts/references/seaborn.md @@ -0,0 +1,324 @@ +# Seaborn Template Library + +> **⚠️ Before writing any code, read [`_rules.md`](references/_rules.md) — three non-negotiable rules on overlap, hierarchy, and color.** + + +Seaborn is built on top of matplotlib, specializing in **statistical visualization** — distributions, regression, categorical comparisons, etc. +Its default styles are already much better looking than matplotlib, but still need tuning to reach professional standards. + +## Environment Setup + +```python +import matplotlib +import matplotlib.pyplot as plt +import seaborn as sns +import numpy as np +import pandas as pd + +# ═══ Chinese Font Setup ═══ +# Font path: adjust for your system. Common locations: +# macOS: '/System/Library/Fonts/Supplemental/SimHei.ttf' +# Linux: '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc' +# Custom: './fonts/SimHei.ttf' +import os +SIMHEI_PATH = os.environ.get('SIMHEI_FONT', '/System/Library/Fonts/Supplemental/SimHei.ttf') +matplotlib.font_manager.fontManager.addfont(SIMHEI_PATH) + +# Seaborn theme + custom overrides +sns.set_theme(style='whitegrid', font='SimHei', rc={ + 'axes.unicode_minus': False, + 'figure.facecolor': '#FFFFFF', + 'axes.facecolor': '#FFFFFF', + 'axes.edgecolor': '#E5E7EB', + 'axes.linewidth': 0.8, + 'axes.spines.top': False, + 'axes.spines.right': False, + 'grid.color': '#F3F4F6', + 'grid.alpha': 0.5, + 'grid.linewidth': 0.5, + 'xtick.major.size': 0, + 'ytick.major.size': 0, + 'axes.titlesize': 16, + 'axes.titleweight': 'bold', + 'axes.titlepad': 16, + 'legend.frameon': False, + 'figure.dpi': 200, + 'savefig.dpi': 200, + 'savefig.bbox': 'tight', +}) + +# Colors (consistent with matplotlib.md) +COOL = ['#3B82F6', '#06B6D4', '#8B5CF6', '#F59E0B', '#EF4444', '#10B981'] +CB_SAFE = ['#0077BB', '#33BBEE', '#009988', '#EE7733', '#CC3311', '#EE3377'] +``` + +## Seaborn Palette Setup + +```python +# Method 1: use hex list directly +sns.set_palette(COOL) + +# Method 2: register custom palette +from matplotlib.colors import ListedColormap +bc_palette = ListedColormap(COOL, name='charts') +``` + +--- + +## Template 1: Distribution Plot (Histogram + KDE) + +**Scenario**: View data distribution shape, detect skewness and outliers. + +```python +def dist_plot(data, title, xlabel, color='#3B82F6', save_path='dist.png'): + fig, ax = plt.subplots(figsize=(10, 6)) + + sns.histplot(data, kde=True, color=color, edgecolor='white', + linewidth=0.5, alpha=0.7, ax=ax) + + # Bold the KDE line + for line in ax.get_lines(): + line.set_linewidth(2.5) + + ax.set_title(title, loc='left') + ax.set_xlabel(xlabel) + ax.set_ylabel('Frequency') + + plt.tight_layout() + plt.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +--- + +## Template 2: Box Plot (Categorical Comparison) + +**Scenario**: Compare distribution characteristics across groups (median, quartiles, outliers). + +```python +def box_compare(df, x_col, y_col, title, palette=None, save_path='box.png'): + if palette is None: + palette = COOL + + fig, ax = plt.subplots(figsize=(10, 6)) + + sns.boxplot(data=df, x=x_col, y=y_col, palette=palette, + width=0.5, linewidth=1.2, fliersize=4, + boxprops=dict(edgecolor='white'), + medianprops=dict(color='white', linewidth=2), + ax=ax) + + ax.set_title(title, loc='left') + + plt.tight_layout() + plt.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +### Box Plot + Label Avoidance (For Complex Scenarios) + +When you need to annotate outliers, specific data points, or group names on a box plot, **label avoidance is required**: + +```python +def box_annotated(df, x_col, y_col, title, annotations=None, + palette=None, save_path='box_annotated.png'): + """ + annotations: [{'x': 0, 'y': 45, 'text': '产线A 异常'}, ...] + """ + from adjustText import adjust_text + + if palette is None: + palette = COOL + + fig, ax = plt.subplots(figsize=(12, 7)) # Slightly larger canvas, leave room for annotations + + sns.boxplot(data=df, x=x_col, y=y_col, palette=palette, + width=0.5, linewidth=1.2, fliersize=4, + boxprops=dict(edgecolor='white'), + medianprops=dict(color='white', linewidth=2), + ax=ax) + + # Annotation text — use adjustText for auto-avoidance + if annotations: + texts = [] + for ann in annotations: + t = ax.text(ann['x'], ann['y'], ann['text'], + fontsize=9, color='#374151', + bbox=dict(boxstyle='round,pad=0.3', + facecolor='#FFF7ED', edgecolor='#F59E0B', + alpha=0.9)) + texts.append(t) + + adjust_text(texts, ax=ax, + arrowprops=dict(arrowstyle='->', color='#9CA3AF', lw=0.8), + force_text=(0.8, 1.0), + force_points=(0.5, 0.8)) + + ax.set_title(title, loc='left') + + plt.tight_layout() + plt.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +### Box Plot + Colorbar (e.g., MTTR Analysis) + +When a box plot needs to work with a colorbar (e.g., colored by dimension), you must leave enough space for the colorbar: + +```python +def box_with_colorbar(df, x_col, y_col, color_col, title, + save_path='box_cbar.png'): + import matplotlib.gridspec as gridspec + from matplotlib.colors import Normalize + from matplotlib.cm import ScalarMappable + + fig = plt.figure(figsize=(14, 7), constrained_layout=True) + gs = gridspec.GridSpec(1, 2, figure=fig, width_ratios=[1, 0.03], wspace=0.05) + + ax = fig.add_subplot(gs[0, 0]) + cbar_ax = fig.add_subplot(gs[0, 1]) + + sns.boxplot(data=df, x=x_col, y=y_col, ax=ax, + width=0.5, linewidth=1.2) + + # Colorbar in its own subplot, won't obscure box plot + norm = Normalize(vmin=df[color_col].min(), vmax=df[color_col].max()) + sm = ScalarMappable(norm=norm, cmap='Blues') + fig.colorbar(sm, cax=cbar_ax, label=color_col) + + ax.set_title(title, loc='left') + fig.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +--- + +## Template 3: Violin Plot + +**Scenario**: Enhanced version of box plot, showing distribution density simultaneously. + +```python +def violin_plot(df, x_col, y_col, title, palette=None, save_path='violin.png'): + if palette is None: + palette = COOL + + fig, ax = plt.subplots(figsize=(10, 6)) + + sns.violinplot(data=df, x=x_col, y=y_col, palette=palette, + inner='box', linewidth=1, ax=ax) + + ax.set_title(title, loc='left') + + plt.tight_layout() + plt.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +--- + +## Template 4: Regression Scatter Plot + +**Scenario**: Two-variable relationship + linear regression + confidence interval. + +```python +def reg_plot(df, x_col, y_col, title, color='#3B82F6', save_path='reg.png'): + fig, ax = plt.subplots(figsize=(10, 7)) + + sns.regplot(data=df, x=x_col, y=y_col, color=color, + scatter_kws={'s': 50, 'alpha': 0.6, 'edgecolor': 'white', 'linewidth': 1}, + line_kws={'linewidth': 2}, + ax=ax) + + ax.set_title(title, loc='left') + + plt.tight_layout() + plt.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +--- + +## Template 5: Correlation Heatmap + +**Scenario**: Correlation coefficient matrix among multiple variables. + +```python +def corr_heatmap(df, title, cmap='RdBu_r', save_path='corr.png'): + corr = df.corr() + + fig, ax = plt.subplots(figsize=(10, 8)) + + # Show only lower triangle + mask = np.triu(np.ones_like(corr, dtype=bool)) + + sns.heatmap(corr, mask=mask, cmap=cmap, center=0, + vmin=-1, vmax=1, annot=True, fmt='.2f', + square=True, linewidths=1, linecolor='white', + cbar_kws={'shrink': 0.8, 'label': 'Correlation'}, + annot_kws={'size': 9}, + ax=ax) + + ax.set_title(title, loc='left', pad=16) + + plt.tight_layout() + plt.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +--- + +## Template 6: Pair Plot + +**Scenario**: Overview of pairwise relationships among multiple variables (distribution on diagonal, scatter plots elsewhere). + +```python +def pair_plot(df, hue_col=None, palette=None, save_path='pair.png'): + if palette is None: + palette = COOL + + g = sns.pairplot(df, hue=hue_col, palette=palette, + diag_kind='kde', plot_kws={'alpha': 0.6, 's': 30}, + height=2.5, aspect=1) + + g.figure.suptitle('Pairwise Variable Relationships', y=1.02, fontsize=16, fontweight='bold') + + g.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +--- + +## Template 7: Facet Grid (FacetGrid) + +**Scenario**: Split into multiple subplots by categorical variable for comparison. + +```python +def facet_hist(df, col_var, value_col, title, color='#3B82F6', save_path='facet.png'): + g = sns.FacetGrid(df, col=col_var, col_wrap=3, height=3.5, aspect=1.3) + g.map(sns.histplot, value_col, color=color, edgecolor='white', + linewidth=0.5, alpha=0.7, kde=True) + + g.set_titles('{col_name}', fontsize=12, fontweight='bold') + g.figure.suptitle(title, y=1.02, fontsize=16, fontweight='bold') + + g.savefig(save_path, dpi=200, facecolor='white', bbox_inches='tight') + plt.close() +``` + +--- + +## Seaborn vs matplotlib Selection Guide + +| What to Plot | Use Seaborn | Use matplotlib | +|---------|-----------|--------------| +| Histogram/KDE distribution | ✅ `histplot` / `kdeplot` | Works, but more code | +| Box plot/Violin plot | ✅ One-liner | Works, but rougher style | +| Regression scatter + confidence interval | ✅ `regplot` auto-calculates | Manual fitting + plotting | +| Correlation heatmap | ✅ `heatmap` + mask | Manual `imshow` tedious | +| Pairwise relationship matrix | ✅ `pairplot` unique | No equivalent | +| Facet grid | ✅ `FacetGrid` | `plt.subplots` manual loop | +| Regular bar chart | Less flexible than matplotlib | ✅ More control | +| Line trend chart | Less than matplotlib | ✅ More control | +| Custom annotations/arrows | Not suitable | ✅ `ax.annotate` | + +**Principle: Use Seaborn for statistical charts, matplotlib for customized charts.** diff --git a/skills/charts/setup.sh b/skills/charts/setup.sh new file mode 100755 index 0000000..03c3757 --- /dev/null +++ b/skills/charts/setup.sh @@ -0,0 +1,228 @@ +#!/usr/bin/env bash +# --- +# name: charts-setup +# author: Z.AI +# version: "1.0" +# description: Environment setup for the Charts skill. Checks and installs all required dependencies. +# --- +# +# Installs only dependencies required by the Charts skill. +set -euo pipefail + +RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m' +ok() { echo -e " ${GREEN}✓${NC} $1"; } +fail() { echo -e " ${RED}✗${NC} $1"; } +warn() { echo -e " ${YELLOW}○${NC} $1"; } +info() { echo -e " ${BLUE}→${NC} $1"; } + +echo "============================================" +echo " Charts Skill — Environment Setup" +echo "============================================" +echo "" + +OS="$(uname -s)" +ARCH="$(uname -m)" +echo "Platform: $OS $ARCH" +echo "" + +# ── 0. macOS: Homebrew ── +if [ "$OS" = "Darwin" ]; then + echo "--- Homebrew (macOS package manager) ---" + if command -v brew &>/dev/null; then + BREW_VER=$(brew --version 2>/dev/null | head -1) + ok "brew ($BREW_VER)" + else + fail "brew not found — most dependencies below need Homebrew on macOS" + info "Install: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"" + fi + echo "" +fi + +# ── 1. Python 3 ── +echo "--- Python ---" +if command -v python3 &>/dev/null; then + PY_VER=$(python3 --version 2>&1) + ok "python3 ($PY_VER)" + if [ "$OS" = "Darwin" ]; then + PY_PATH=$(which python3 2>/dev/null) + if [[ "$PY_PATH" == "/usr/bin/python3" ]]; then + warn "Using macOS system Python (limited). Recommend: brew install python3" + fi + fi +else + fail "python3 not found" + case "$OS" in + Darwin) info "Install: brew install python3" ;; + Linux) info "Install: sudo apt install python3 python3-pip (Debian/Ubuntu)" + info " sudo dnf install python3 python3-pip (Fedora/RHEL)" ;; + *) info "Install: https://www.python.org/downloads/" ;; + esac +fi + +# ── 2. pip ── +echo "" +echo "--- pip ---" +if python3 -m pip --version &>/dev/null 2>&1; then + PIP_VER=$(python3 -m pip --version 2>/dev/null | head -1) + ok "pip ($PIP_VER)" +else + fail "pip not found" + case "$OS" in + Darwin) info "Install: python3 -m ensurepip --upgrade" + info " or: brew install python3 (includes pip)" ;; + Linux) info "Install: sudo apt install python3-pip (Debian/Ubuntu)" ;; + *) info "Install: python3 -m ensurepip --upgrade" ;; + esac +fi + +# ── 3. Python packages (matplotlib / seaborn for data charts) ── +echo "" +echo "--- Python Packages (Data Charts) ---" +PY_PKGS=( + "matplotlib:matplotlib" + "seaborn:seaborn" + "numpy:numpy" + "adjustText:adjustText" +) + +MISSING_PY=() +for entry in "${PY_PKGS[@]}"; do + mod="${entry%%:*}" + pkg="${entry##*:}" + if python3 -c "import $mod" 2>/dev/null; then + ver=$(python3 -c "import $mod; print(getattr($mod, '__version__', 'installed'))" 2>/dev/null) + ok "$pkg ($ver)" + else + fail "$pkg not installed" + MISSING_PY+=("$pkg") + fi +done + +if [ ${#MISSING_PY[@]} -gt 0 ]; then + echo "" + if [ -t 0 ]; then + read -p " Install missing Python packages? [Y/n] " -n 1 -r REPLY + echo "" + REPLY=${REPLY:-Y} + else + warn "Non-interactive mode — skipping auto-install. Run interactively or install manually." + REPLY=N + fi + if [[ ! $REPLY =~ ^[Nn]$ ]]; then + python3 -m pip install -q "${MISSING_PY[@]}" 2>/dev/null \ + || python3 -m pip install -q --user "${MISSING_PY[@]}" 2>/dev/null \ + || python3 -m pip install -q --break-system-packages "${MISSING_PY[@]}" 2>/dev/null \ + || { fail "pip install failed. Try manually: pip install ${MISSING_PY[*]}"; } + ok "Installed: ${MISSING_PY[*]}" + fi +fi + +# ── 4. Node.js ── +echo "" +echo "--- Node.js (Interactive Charts & Diagrams) ---" +if command -v node &>/dev/null; then + NODE_VER=$(node --version) + ok "node ($NODE_VER)" +else + fail "node not found" + case "$OS" in + Darwin) info "Install: brew install node" ;; + Linux) info "Install: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -" + info " sudo apt install -y nodejs" ;; + *) info "Install: https://nodejs.org/" ;; + esac +fi + +# ── 5. npm ── +echo "" +echo "--- npm ---" +if command -v npm &>/dev/null; then + NPM_VER=$(npm --version 2>/dev/null) + ok "npm ($NPM_VER)" +else + fail "npm not found" + case "$OS" in + Darwin) info "Install: brew install node (includes npm)" ;; + Linux) info "Install: comes with nodejs" ;; + *) info "Install: https://nodejs.org/" ;; + esac +fi + +# ── 6. Playwright + Chromium (for HTML→PNG/PDF rendering) ── +echo "" +echo "--- Playwright (Structural Diagrams & HTML Charts) ---" +if node -e "require('playwright')" 2>/dev/null; then + PW_VER=$(node -e "console.log(require('playwright/package.json').version)" 2>/dev/null) + ok "playwright ($PW_VER)" +else + fail "playwright not installed" + info "Install: npm install -g playwright" +fi + +if [ "$OS" = "Darwin" ]; then + PW_CACHE="$HOME/Library/Caches/ms-playwright" +else + PW_CACHE="$HOME/.cache/ms-playwright" +fi +if ls "$PW_CACHE"/chromium-* &>/dev/null 2>&1; then + CR_DIR=$(ls -d "$PW_CACHE"/chromium-* 2>/dev/null | tail -1) + ok "chromium ($(basename "$CR_DIR"))" +else + fail "chromium not installed" + info "Install: npx playwright install chromium" + if [ "$OS" = "Linux" ]; then + info " npx playwright install-deps (system libs, needs sudo)" + fi +fi + +# ── 7. CJK Fonts (for Chinese chart labels) ── +echo "" +echo "--- CJK Fonts (Chinese text in charts) ---" +CJK_FOUND=false + +# Check matplotlib registered fonts +if python3 -c " +import matplotlib.font_manager as fm +fonts = [f.name for f in fm.fontManager.ttflist] +if 'SimHei' in fonts or 'Heiti SC' in fonts or 'Noto Sans CJK' in fonts or 'PingFang SC' in fonts: + print('ok') +else: + print('missing') +" 2>/dev/null | grep -q "ok"; then + ok "CJK font registered in matplotlib (SimHei/Heiti SC/Noto Sans CJK/PingFang SC)" + CJK_FOUND=true +fi + +# Check system CJK fonts +if [ "$OS" = "Darwin" ]; then + if ls /System/Library/Fonts/PingFang.ttc &>/dev/null 2>&1 \ + || ls /System/Library/Fonts/STHeiti*.ttc &>/dev/null 2>&1; then + ok "macOS CJK system fonts available (PingFang/STHeiti)" + CJK_FOUND=true + fi +elif [ "$OS" = "Linux" ]; then + if fc-list :lang=zh 2>/dev/null | head -1 | grep -q .; then + ok "system CJK fonts available (fc-list)" + CJK_FOUND=true + fi +fi + +if [ "$CJK_FOUND" = false ]; then + warn "No CJK font detected — Chinese labels may show as □" + info "The skill configures font fallback via rcParams at runtime." + info "Ensure a CJK font file exists (e.g., SimHei.ttf) and is registered." + if [ "$OS" = "Darwin" ]; then + info "macOS ships with PingFang — try: plt.rcParams['font.sans-serif'] = ['PingFang SC', 'DejaVu Sans']" + elif [ "$OS" = "Linux" ]; then + info "Install: sudo apt install fonts-noto-cjk" + fi +fi + +# ── Summary ── +echo "" +echo "============================================" +echo " Setup complete." +echo " Data charts: matplotlib + seaborn" +echo " Structural diagrams: Playwright + CSS" +echo " Interactive charts: ECharts / D3.js via Node.js" +echo "============================================" diff --git a/skills/cheat-sheet/SKILL.md b/skills/cheat-sheet/SKILL.md new file mode 100755 index 0000000..2686302 --- /dev/null +++ b/skills/cheat-sheet/SKILL.md @@ -0,0 +1,210 @@ +--- +name: cheat-sheet +description: 将 PDF/Word/Markdown 学习资料转化为精炼的知识浓缩卡文档。支持三种风格(知识点速查卡/思维导图式/Q&A式),输出双栏小字 PDF。当用户说"生成知识浓缩卡"、"生成 Cheatsheet"、"帮我做个速查表"、"把这个资料整理成一页纸"、"做个知识卡片"时触发。**不处理**:基于材料出题(→ quiz-mastery)、长期学习项目(→ study-buddy)。 +--- + +# Cheatsheet 生成器 + +## 你做什么 + +把用户的学习资料(PDF/Word/Markdown/文本)压缩成一份**双栏、小字、信息密度高**的 Cheatsheet 文档(PDF 格式)。 + +**核心原则:只保留干货,砍掉废话。** + +--- + +## ⚠️ 铁律:避免重复创建 + +生成 Cheatsheet 前,**先扫描输出目录**检查是否已有同主题文件: +- **已存在** → 问用户"已经有一份 [文件名] 了,覆盖 / 新建一份 / 跳过?" 等用户回复再动手 +- **不存在** → 直接生成 +- **绝不**未经询问直接覆盖 + +--- + +## 工作流程 + +### 步骤 1:接收资料 + +用户提供学习资料文件,支持格式: +- `.pdf` — 调 PDF skill 的 process 路线提取文本 +- `.docx` — 调 PDF skill 的 process 路线提取文本 +- `.md` / `.txt` — 直接读取 + +**提取文本命令:** +```bash +# PDF 提取文本 +python3 "$PDF_SCRIPTS/pdf.py" extract.text + +# Word 转 PDF 后提取(如需要) +python3 "$PDF_SCRIPTS/pdf.py" convert.office +``` + +其中 `$PDF_SCRIPTS` 为 PDF skill 的 scripts 目录路径,需从 PDF skill 的 SKILL.md 位置推导。 + +如果用户没有提供文件而是直接贴了文本内容,跳过提取步骤,直接用文本。 + +--- + +### 步骤 2:选择风格 + +**必须询问用户**想要哪种风格(不要自己替用户选): + +向用户展示以下选项: +1. 📋 **知识点速查卡** — 核心概念 + 定义 + 关键公式/要点,一眼扫到,适合考前突击 +2. 🌳 **思维导图式** — 按层级结构组织(大标题→子标题→要点),有大纲感,适合梳理体系 +3. ❓ **Q&A 式** — 把知识点变成"问题→答案"对,适合自测复习 + +用户选择后进入步骤 3。 + +--- + +### 步骤 3:LLM 提炼内容 + +根据用户选择的风格,构建不同的 prompt 让 LLM 从原文中提炼 cheatsheet 内容。 + +#### 风格 1:知识点速查卡 + +提炼规则: +- 提取所有核心概念、定义、公式、关键数据 +- 每个知识点用 **术语:一句话解释** 的格式 +- 相关知识点分组,每组有小标题 +- 重要公式/代码片段原样保留 +- 砍掉所有举例、过渡句、背景铺垫 + +输出结构: +``` +## [分组标题] +- **术语A**:一句话定义 +- **术语B**:一句话定义 +- 📐 公式:`公式内容` + +## [分组标题] +... +``` + +#### 风格 2:思维导图式 + +提炼规则: +- 提取文档的层级结构(章→节→要点) +- 每个节点用最简短的语言概括 +- 最多 3 级深度(再深就塞不进一页了) +- 用缩进和符号表达层级关系 + +输出结构: +``` +# 主题 + +## 一级分支 + ├─ 二级要点 + │ ├─ 细节 1 + │ └─ 细节 2 + └─ 二级要点 + └─ 细节 +``` + +#### 风格 3:Q&A 式 + +提炼规则: +- 把每个知识点转化成一个问题 +- 答案控制在 1-3 句话 +- 问题从基础到进阶排列 +- 易混淆的概念出辨析题 + +输出结构: +``` +## [主题分组] + +**Q:什么是 XXX?** +A:一句话回答。 + +**Q:XXX 和 YYY 的区别?** +A:简短对比。 +``` + +--- + +### 步骤 4:用户确认与调整 + +LLM 生成内容后,**先以文本形式展示给用户**,询问: + +> "内容整理好了,你看看有没有要调整的?比如: +> - 某些部分要加重点标记? +> - 某些内容要删掉或补充? +> - 排版上有什么偏好?(比如字号再小一点、分区颜色区分等)" + +用户确认"可以"后,进入步骤 5。 +用户提出修改 → 调整内容 → 再次展示 → 等待确认。 + +--- + +### 步骤 5:生成 PDF + +调用 PDF skill 的 **Report 路线(ReportLab)** 生成双栏 PDF。 + +**排版规格(默认值):** + +| 参数 | 默认值 | 说明 | +|------|--------|------| +| 页面大小 | A4 | 可按用户要求调整 | +| 栏数 | 双栏 | 默认双栏,用户可选单栏 | +| 正文字号 | 8pt | 信息密度优先,可按用户要求调整 | +| 标题字号 | 10pt(一级)/ 9pt(二级) | | +| 行距 | 1.2 | 紧凑但可读 | +| 页边距 | 上下左右各 12mm | 最大化内容区域 | +| 字体 | 中文用 UniSong/UniHei,英文用 Helvetica | | + +**生成流程:** + +1. 将 LLM 提炼的 Markdown 内容转换为 ReportLab 排版指令 +2. 调 PDF skill 的 report 路线生成 PDF +3. 生成文件路径告知用户 + +**调用 PDF skill 时遵循其 SKILL.md 中的所有规则**,包括: +- CJK 字体检查 +- 表格溢出防护 +- 页面填充率检查 +- 元数据设置 + +--- + +### 步骤 6:交付 + +输出给用户: +- 📄 PDF 文件路径 +- 文件大小、页数 +- 提示用户可以继续调整 + +--- + +## 注意事项 + +### 内容质量 +- **不编造内容**:所有知识点必须来自原文,不能自由发挥 +- **不遗漏关键内容**:核心概念、公式、定义必须保留 +- **术语保持原文用词**:不要擅自替换专业术语 + +### 文件操作 +- 生成的 PDF 默认保存到工作区根目录,文件名格式:`知识浓缩卡_[主题]_[日期].pdf` +- 查重见上方"⚠️ 铁律:避免重复创建" + +--- + +## 与其他 Skill 的关系 + +| Skill | 关系 | +|-------|------| +| PDF skill | 调用其 process 路线提取文本,调用其 report 路线生成 PDF | +| study-buddy | study-buddy 可在用户完成学习项目后推荐生成 cheatsheet | +| quiz-mastery | 无直接关系,但 cheatsheet 内容可作为出题的知识点来源 | + +--- + +## 文件结构 + +``` +skills/cheat-sheet/ +├── SKILL.md ← 当前文件 +``` + +本 skill 是纯流程指引,不包含独立脚本。所有文件操作和 PDF 生成通过调用 PDF skill 完成。 diff --git a/skills/coding-agent/SKILL.md b/skills/coding-agent/SKILL.md new file mode 100755 index 0000000..e3424f2 --- /dev/null +++ b/skills/coding-agent/SKILL.md @@ -0,0 +1,120 @@ +--- +name: coding-agent +slug: code +version: 1.0.4 +homepage: https://clawic.com/skills/code +description: Coding workflow with planning, implementation, verification, and testing for clean software development. +changelog: Improved description for better discoverability +metadata: {"clawdbot":{"emoji":"💻","requires":{"bins":[]},"os":["linux","darwin","win32"]}} +--- + +## When to Use + +User explicitly requests code implementation. Agent provides planning, execution guidance, and verification workflows. + +## Architecture + +User preferences stored in `~/code/` when user explicitly requests. + +``` +~/code/ + - memory.md # User-provided preferences only +``` + +Create on first use: `mkdir -p ~/code` + +## Quick Reference + +| Topic | File | +|-------|------| +| Memory setup | `memory-template.md` | +| Task breakdown | `planning.md` | +| Execution flow | `execution.md` | +| Verification | `verification.md` | +| Multi-task state | `state.md` | +| User criteria | `criteria.md` | + +## Scope + +This skill ONLY: +- Provides coding workflow guidance +- Stores preferences user explicitly provides in `~/code/` +- Reads included reference files + +This skill NEVER: +- Executes code automatically +- Makes network requests +- Accesses files outside `~/code/` and the user's project +- Modifies its own SKILL.md or auxiliary files +- Takes autonomous action without user awareness + +## Core Rules + +### 1. Check Memory First +Read `~/code/memory.md` for user's stated preferences if it exists. + +### 2. User Controls Execution +- This skill provides GUIDANCE, not autonomous execution +- User decides when to proceed to next step +- Sub-agent delegation requires user's explicit request + +### 3. Plan Before Code +- Break requests into testable steps +- Each step independently verifiable +- See `planning.md` for patterns + +### 4. Verify Everything +| After | Do | +|-------|-----| +| Each function | Suggest running tests | +| UI changes | Suggest taking screenshot | +| Before delivery | Suggest full test suite | + +### 5. Store Preferences on Request +| User says | Action | +|-----------|--------| +| "Remember I prefer X" | Add to memory.md | +| "Never do Y again" | Add to memory.md Never section | + +Only store what user explicitly asks to save. + +## Workflow + +``` +Request -> Plan -> Execute -> Verify -> Deliver +``` + +## Common Traps + +- **Delivering untested code** -> always verify first +- **Huge PRs** -> break into testable chunks +- **Ignoring preferences** -> check memory.md first + +## Self-Modification + +This skill NEVER modifies its own SKILL.md or auxiliary files. +User data stored only in `~/code/memory.md` after explicit request. + +## External Endpoints + +This skill makes NO network requests. + +| Endpoint | Data Sent | Purpose | +|----------|-----------|---------| +| None | None | N/A | + +## Security & Privacy + +**Data that stays local:** +- Only preferences user explicitly asks to save +- Stored in `~/code/memory.md` + +**Data that leaves your machine:** +- None. This skill makes no network requests. + +**This skill does NOT:** +- Execute code automatically +- Access network or external services +- Access files outside `~/code/` and user's project +- Take autonomous actions without user awareness +- Delegate to sub-agents without user's explicit request diff --git a/skills/coding-agent/_meta.json b/skills/coding-agent/_meta.json new file mode 100755 index 0000000..904f1d8 --- /dev/null +++ b/skills/coding-agent/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn73vp5rarc3b14rc7wjcw8f8580t5d1", + "slug": "code", + "version": "1.0.4", + "publishedAt": 1771467169291 +} \ No newline at end of file diff --git a/skills/coding-agent/criteria.md b/skills/coding-agent/criteria.md new file mode 100755 index 0000000..a979f0b --- /dev/null +++ b/skills/coding-agent/criteria.md @@ -0,0 +1,48 @@ +# Criteria for Storing Preferences + +Reference for when to save user preferences to `~/code/memory.md`. + +## When to Save (User Must Request) + +Save only when user explicitly asks: +- "Remember that I prefer X" +- "Always do Y from now on" +- "Save this preference" +- "Don't forget that I like Z" + +## When NOT to Save + +- User didn't explicitly ask to save +- Project-specific requirement (applies to this project only) +- One-off request ("just this once") +- Temporary preference + +## What to Save + +**Preferences:** +- Coding style preferences user stated +- Tools or frameworks user prefers +- Patterns user explicitly likes + +**Things to avoid:** +- Approaches user explicitly dislikes +- Patterns user asked not to repeat + +## Format in memory.md + +```markdown +## Preferences +- prefers TypeScript over JavaScript +- likes detailed comments +- wants tests for all functions + +## Never +- no class-based React components +- avoid inline styles +``` + +## Important + +- Only save what user EXPLICITLY asked to save +- Ask user before saving: "Should I remember this preference?" +- Never modify any skill files, only `~/code/memory.md` diff --git a/skills/coding-agent/execution.md b/skills/coding-agent/execution.md new file mode 100755 index 0000000..90bb149 --- /dev/null +++ b/skills/coding-agent/execution.md @@ -0,0 +1,42 @@ +# Execution Guidance + +Reference for executing multi-step implementations. + +## Recommended Flow + +When user approves a step: +1. Execute that step +2. Verify it works +3. Report completion to user +4. Wait for user to approve next step + +## Progress Tracking + +Show user the current state: +``` +- [DONE] Step 1 (completed) +- [WIP] Step 2 <- awaiting user approval +- [ ] Step 3 +- [ ] Step 4 +``` + +## When to Pause and Ask User + +- Before starting any new step +- When encountering an error +- When a decision is needed (A vs B) +- When credentials or permissions are needed + +## Error Handling + +If an error occurs: +1. Report the error to user +2. Suggest possible fixes +3. Wait for user decision on how to proceed + +## Patterns to Follow + +- Report completion of each step +- Ask before proceeding to next step +- Let user decide retry strategy +- Keep user informed of progress diff --git a/skills/coding-agent/memory-template.md b/skills/coding-agent/memory-template.md new file mode 100755 index 0000000..198b220 --- /dev/null +++ b/skills/coding-agent/memory-template.md @@ -0,0 +1,38 @@ +# Memory Setup - Code + +## Initial Setup + +Create directory on first use: +```bash +mkdir -p ~/code +touch ~/code/memory.md +``` + +## memory.md Template + +Copy to `~/code/memory.md`: + +```markdown +# Code Memory + +## Preferences + + + +## Never + + + +## Patterns + + + +--- +Last updated: YYYY-MM-DD +``` + +## Notes + +- Check `criteria.md` for additional user-specific criteria +- Use `planning.md` for breaking down complex requests +- Verify with tests and screenshots per `verification.md` diff --git a/skills/coding-agent/planning.md b/skills/coding-agent/planning.md new file mode 100755 index 0000000..572d543 --- /dev/null +++ b/skills/coding-agent/planning.md @@ -0,0 +1,31 @@ +# Planning Reference + +Consult when breaking down a multi-step request. + +## When to Plan +- Multiple files or components +- Dependencies between parts +- UI that needs visual verification +- User says "build", "create", "implement" + +## Step Format +``` +Step N: [What] +- Output: [What exists after] +- Test: [How to verify] +``` + +## Good Steps +- Clear output (file, endpoint, screen) +- Testable independently +- No ambiguity in what "done" means + +## Bad Steps +- "Implement the thing" (vague output) +- No test defined +- Depends on undefined prior step + +## Don't Plan +- One-liner functions +- Simple modifications +- Questions about existing code diff --git a/skills/coding-agent/state.md b/skills/coding-agent/state.md new file mode 100755 index 0000000..ca3a53a --- /dev/null +++ b/skills/coding-agent/state.md @@ -0,0 +1,60 @@ +# State Tracking Guidance + +Reference for tracking multiple tasks or requests. + +## Request Tracking + +Label each user request: +``` +[R1] Build login page +[R2] Add dark mode +[R3] Fix header alignment +``` + +Track state for user visibility: +``` +[R1] [DONE] Done +[R2] [WIP] In progress (awaiting user approval for step 2) +[R3] [Q] Queued +``` + +## Managing Multiple Requests + +When user sends a new request while another is in progress: + +1. Acknowledge: "Got it, I'll add this to the queue" +2. Show updated queue to user +3. Ask user if priority should change + +## Handling Interruptions + +| Situation | Suggested Action | +|-----------|------------------| +| New unrelated request | Add to queue, ask user priority | +| Request affects current work | Pause, explain impact, ask user how to proceed | +| User says "stop" or "wait" | Stop immediately, await instructions | +| User changes requirements | Summarize impact, ask user to confirm changes | + +## User Decisions + +Always ask user before: +- Starting work on queued items +- Changing priority order +- Rolling back completed work +- Modifying the plan + +## Progress File (Optional) + +User may request a state file: +```markdown +## In Progress +[R2] Dark mode - Step 2/4 (awaiting user approval) + +## Queued +[R3] Header fix + +## Done +[R1] Login page [DONE] +``` + +Update only when user requests or approves changes. diff --git a/skills/coding-agent/verification.md b/skills/coding-agent/verification.md new file mode 100755 index 0000000..d4d0493 --- /dev/null +++ b/skills/coding-agent/verification.md @@ -0,0 +1,39 @@ +# Verification Reference + +Consult when verifying implementations visually or with tests. + +## Screenshots +- Wait for full page load (no spinners) +- Review yourself before sending +- Split long pages into 3-5 sections (~800px each) +- Caption each: "Hero", "Features", "Footer" + +## Before Sending +``` +[ ] Content loaded +[ ] Shows the specific change +[ ] No visual bugs +[ ] Caption explains what user sees +``` + +## Fix-Before-Send +If screenshot shows problem: +1. Fix code +2. Re-deploy +3. New screenshot +4. Still broken? -> back to 1 +5. Fixed? -> now send + +Never send "I noticed X is wrong, will fix" - fix first. + +## No UI? Show Output + +When verifying API endpoints, show actual output: +``` +GET /api/users -> {"id": 1, "name": "test"} +``` + +Include actual response, not just "it works". + +## Flows +Number sequential states: "1/4: Form", "2/4: Loading", "3/4: Error", "4/4: Success" diff --git a/skills/content-strategy/SKILL.md b/skills/content-strategy/SKILL.md new file mode 100755 index 0000000..5e51422 --- /dev/null +++ b/skills/content-strategy/SKILL.md @@ -0,0 +1,181 @@ +--- +name: content-strategy +description: Build and execute a content marketing strategy for a solopreneur business. Use when planning what content to create, deciding on content formats and channels, building a content calendar, measuring content performance, or systematizing content production. Covers audience research for content, content pillars, distribution strategy, repurposing workflows, and metrics. Trigger on "content strategy", "content marketing", "what content should I create", "content plan", "content calendar", "content ideas", "content distribution", "grow through content". +--- + +# Content Strategy + +## Overview +Content marketing is how solopreneurs build authority, attract customers, and grow without paid ads. But random content doesn't work — you need a strategy. This playbook builds a repeatable system for creating content that actually drives business results, not just likes. + +--- + +## Step 1: Define Your Content Goals + +Content without a goal is just noise. Before you create anything, answer: what is this content supposed to DO? + +**Common solopreneur content goals:** +- **Generate awareness** (new people discover you exist) +- **Build trust** (people see you as credible and knowledgeable) +- **Drive leads** (people give you their email or book a call) +- **Enable sales** (content answers objections and shortens sales cycles) +- **Retain customers** (existing customers stay engaged and see ongoing value) + +**Rule:** Pick ONE primary goal per piece of content. You can have secondary benefits, but clarity on the main goal determines format, channel, and CTA. + +Example: A tutorial blog post might have the primary goal of "generate awareness" (via SEO) and a secondary goal of "drive leads" (with an email signup CTA at the end). + +--- + +## Step 2: Research Your Audience's Content Needs + +Great content solves a specific problem for a specific person. Bad content talks about what YOU want to talk about. + +**Research workflow (spend 2-3 hours on this before creating anything):** + +1. **Mine customer conversations.** Go through support tickets, sales calls, discovery calls. What questions do prospects and customers ask repeatedly? Those are your content topics. + +2. **Check competitor content.** What are the top 3-5 players in your space publishing? Look for gaps — topics they're NOT covering or covering poorly. + +3. **Keyword research (if doing SEO).** Use free tools (Google autocomplete, AnswerThePublic, or "People Also Ask" in Google results) to see what people are actually searching for related to your niche. + +4. **Community mining.** Go to Reddit, Slack communities, Facebook groups, or forums in your space. What questions get asked over and over? Those are high-value topics. + +**Output:** A list of 20-30 content ideas ranked by: (a) relevance to your ICP, (b) search volume or community demand, (c) your unique perspective or experience on the topic. + +--- + +## Step 3: Build Content Pillars + +Content pillars are 3-5 broad topic areas that all your content falls under. They keep you focused and prevent random one-off content that doesn't build momentum. + +**How to define pillars:** +- Each pillar should map to a core problem your product/service solves or a key interest area of your ICP. +- Pillars should be broad enough to generate dozens of pieces of content but specific enough to be relevant. +- Aim for 3-5 pillars max. More than that dilutes focus. + +**Example (for an n8n automation consultant):** +``` +Pillar 1: Workflow Automation Fundamentals +Pillar 2: No-Code Tool Comparisons +Pillar 3: Business Process Optimization +Pillar 4: Real Client Case Studies +``` + +Every piece of content you create should fit under one of these pillars. If it doesn't, don't create it. + +--- + +## Step 4: Choose Your Content Formats and Channels + +Solopreneurs can't do everything. Pick 1-2 primary formats and 1-2 primary channels. Go deep, not wide. + +**Content formats:** +| Format | Best For | Time Investment | Longevity | +|---|---|---|---| +| **Blog posts** | SEO, teaching, depth | 2-4 hrs/post | High (evergreen) | +| **Videos (YouTube)** | Visual topics, personality-driven brands | 3-6 hrs/video | High (evergreen) | +| **Podcasts** | Thought leadership, interviews | 2-3 hrs/episode | Medium | +| **Twitter/X threads** | Quick insights, community building | 30 min/thread | Low (24-48hr shelf life) | +| **LinkedIn posts** | B2B, professional content | 30-60 min/post | Low-medium | +| **Email newsletters** | Relationship building, owned audience | 1-2 hrs/newsletter | Medium (subscribers keep it) | +| **Short-form video (TikTok, Reels)** | Viral potential, younger demos | 1-2 hrs/video | Low (algorithmic churn) | + +**Selection criteria:** +- Where does your ICP hang out? (B2B = LinkedIn. Developers = Twitter. Visual products = Instagram.) +- What format do you NOT hate creating? (If you hate being on camera, don't pick YouTube.) +- What has the best ROI for your goals? (Lead gen = blog + email. Brand building = Twitter + LinkedIn.) + +**Recommended solopreneur starting stack:** +- **Primary format:** Blog posts or long-form LinkedIn posts (depending on B2B vs B2C) +- **Secondary format:** Email newsletter (this is your owned channel — never skip this) + +--- + +## Step 5: Build a Content Calendar + +A content calendar prevents the "what should I post today?" panic. Plan 2-4 weeks ahead. + +**Calendar structure:** +``` +DATE | PILLAR | TOPIC | FORMAT | CHANNEL | CTA | STATUS +``` + +**Example:** +``` +Feb 10 | Automation | "5 n8n workflows every SaaS founder needs" | Blog | Website + LinkedIn | Email signup | Draft +Feb 13 | Case Study | "How we saved Client X 20hrs/week" | LinkedIn post | LinkedIn | Book a call | Scheduled +Feb 17 | Tool Comparison | "Zapier vs n8n: Which is right for you?" | Blog | Website + Twitter | Free guide download | Outline +``` + +**Cadence recommendations:** +- Blog: 1-2x/week (minimum 2x/month to maintain SEO momentum) +- Newsletter: 1x/week or biweekly (consistency matters more than frequency) +- Social (LinkedIn/Twitter): 3-5x/week + +**Rule:** Batch creation. Write 4 posts in one sitting rather than 1 post four different days. Batching is 3x faster and produces better quality. + +--- + +## Step 6: Distribution and Amplification + +Creating content is 30% of the work. Distribution is the other 70%. + +**Distribution checklist for every piece:** +- [ ] Publish on primary channel (blog, YouTube, etc.) +- [ ] Share on 2-3 social channels with unique captions per platform (don't just copy-paste the same message) +- [ ] Send to email list (if it's a high-value piece) +- [ ] Post in 1-2 relevant communities (but add value to the discussion, don't just drop links) +- [ ] DM it to 3-5 people who you think would find it genuinely useful +- [ ] Repurpose into 2-3 other formats (see next step) + +**Timing:** Publish early in the week (Tuesday-Thursday) for best engagement. Avoid Fridays and weekends unless your audience is specifically active then. + +--- + +## Step 7: Repurpose Everything + +One piece of long-form content can become 5-10 smaller pieces. This is how solopreneurs produce high volume without burning out. + +**Repurposing workflow (example: one blog post):** +1. Original: 1,500-word blog post +2. Repurpose into: LinkedIn post (first 3 paragraphs + a hook) +3. Repurpose into: Twitter thread (key points broken into 8-10 tweets) +4. Repurpose into: Email newsletter (add a personal intro, link to full post) +5. Repurpose into: Carousel post (main points as slides on LinkedIn or Instagram) +6. Repurpose into: Short video (you on camera summarizing the key takeaway in 60 seconds) + +**Rule:** Repurpose the high-performers. If a blog post gets good traffic or a LinkedIn post gets strong engagement, milk it — turn it into 5 more formats. + +--- + +## Step 8: Measure What Matters + +Track content performance so you can double down on what works and stop doing what doesn't. + +**Metrics by goal:** + +| Goal | Metrics to Track | +|---|---| +| Awareness | Impressions, reach, new visitors, social followers | +| Trust | Engagement rate (comments, shares), time on page, repeat visitors | +| Lead generation | Email signups, CTA clicks, lead magnet downloads | +| Sales enablement | Content assists (how many deals involved this content?), proposal open rates (if content is attached) | + +**Dashboard (monthly check-in):** +- Top 5 performing pieces (by traffic or engagement) +- Traffic source breakdown (organic, social, direct, referral) +- Conversion rate (visitors → email signups or leads) +- Time investment vs results (which content type has the best ROI?) + +**Iteration rule:** Every month, identify the top-performing content type and topic. Do 2x more of that next month. Identify the worst performer. Stop doing that format or adjust the approach. + +--- + +## Content Strategy Mistakes to Avoid +- Creating content without a goal. Every piece should have a purpose tied to a business outcome. +- Not researching what your audience actually wants. Your assumptions are often wrong — validate with real data. +- Trying to be on every platform. Pick 1-2 and dominate them before expanding. +- Publishing inconsistently. One post a month doesn't build momentum. Consistency compounds. +- Not repurposing. Creating 10 original pieces is 5x harder than creating 2 original pieces and repurposing them into 8 more. +- Ignoring metrics. If you don't measure, you can't improve. Check your numbers monthly at minimum. diff --git a/skills/content-strategy/_meta.json b/skills/content-strategy/_meta.json new file mode 100755 index 0000000..f44ca0a --- /dev/null +++ b/skills/content-strategy/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn732qfbv22he1jqm63xbwq6e980kn8s", + "slug": "content-strategy", + "version": "0.1.0", + "publishedAt": 1770341804646 +} \ No newline at end of file diff --git a/skills/contentanalysis/ExtractWisdom/SKILL.md b/skills/contentanalysis/ExtractWisdom/SKILL.md new file mode 100755 index 0000000..3b7c80d --- /dev/null +++ b/skills/contentanalysis/ExtractWisdom/SKILL.md @@ -0,0 +1,229 @@ +--- +name: ExtractWisdom +description: Content-adaptive wisdom extraction — detects what domains exist in content and builds custom sections (not static IDEAS/QUOTES). Produces tailored insight reports from videos, podcasts, articles. USE WHEN extract wisdom, analyze video, analyze podcast, extract insights, what's interesting, extract from YouTube, what did I miss, key takeaways. +--- + +## Customization + +**Before executing, check for user customizations at:** +`~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/ExtractWisdom/` + +If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. + +# ExtractWisdom — Dynamic Content Extraction + +**The next generation of extract_wisdom.** Instead of static sections (IDEAS, QUOTES, HABITS...), this skill detects what wisdom domains actually exist in the content and builds custom sections around them. + +A programming interview gets "Programming Philosophy" and "Developer Workflow Tips." A business podcast gets "Contrarian Business Takes" and "Money Philosophy." A security talk gets "Threat Model Insights" and "Defense Strategies." The sections adapt because the content dictates them. + +## When to Use + +- Analyzing YouTube videos, podcasts, interviews, articles +- User says "extract wisdom", "what's interesting in this", "key takeaways" +- Processing any content where you want to capture the best stuff +- When standard extraction patterns miss the gems + +## Depth Levels + +Extract at different depths depending on need. Default is **Full** if no level is specified. + +| Level | Sections | Bullets/Section | Closing Sections | When | +|-------|----------|----------------|-----------------|------| +| **Instant** | 1 | 8 | None | Quick hit. One killer section. | +| **Fast** | 3 | 3 | None | Skim in 30 seconds. | +| **Basic** | 3 | 5 | One-Sentence Takeaway only | Solid overview without the deep cuts. | +| **Full** | 5-12 | 3-15 | All three | The default. Complete extraction. | +| **Comprehensive** | 10-15 | 8-15 | All three + Themes & Connections | Maximum depth. Nothing left behind. | + +**How to invoke:** "extract wisdom (fast)" or "extract wisdom at comprehensive level" or just "extract wisdom" for Full. + +**Comprehensive extras:** +- **Themes & Connections** closing section: identify 3-5 throughlines that connect multiple sections. Not summaries — the deeper patterns the speaker may not even realize they're revealing. +- Prioritize breadth. Every significant wisdom domain gets its own section. +- No merging sections to save space. If the content supports 15 sections, use 15. + +**All levels use the same voice, tone rules, and quality standards.** The only thing that changes is structure. An Instant extraction should hit just as hard per-bullet as a Comprehensive one. + +## Workflow Routing + +| Workflow | Trigger | File | +|----------|---------|------| +| **Extract** | "extract wisdom from", "analyze this", YouTube URL | `Workflows/Extract.md` | + +## The Core Idea + +Old extract_wisdom: Static sections. Same headers every time. IDEAS. QUOTES. HABITS. FACTS. + +This skill: **Read the content first. Figure out what's actually in there. Build sections around what you find.** + +The output should feel like your smartest friend watched/read the thing and is telling you about it over coffee. Not a book report. Not documentation. A real person pointing out the parts that made them go "holy shit" or "wait, that's actually brilliant." + +## Tone Rules (CRITICAL) + +**Canonical voice reference: `PAI/USER/WRITINGSTYLE.md`** — read this file for the full voice definition. The bullets should sound like {PRINCIPAL.NAME} telling a friend about it over coffee. Not compressed info nuggets. Not clever one-liners. Actual spoken observations. + +**THREE LEVELS — we're aiming for Level 3:** + +**Level 1 (BAD — documentation):** +- The speaker discussed the importance of self-modifying software in the context of agentic AI development +- It was noted that financial success has diminishing returns beyond a certain threshold +- The distinction between "vibe coding" and "agentic engineering" was emphasized as meaningful + +**Level 2 (BETTER — but still "smart bullet points"):** +- He built self-modifying software basically by accident — just made the agent aware of its own source code +- Money has diminishing returns. A cheeseburger is a cheeseburger no matter how rich you are. +- "Vibe coding is a slur" — he calls it agentic engineering, and only does vibe coding after 3am + +**Level 3 (YES — this is what we want — conversational, {PRINCIPAL.NAME}'s voice):** +- He wasn't trying to build self-modifying software. He just let the agent see its own source code and it started fixing itself. +- Past a certain point, money stops mattering. A cheeseburger is a cheeseburger no matter how rich you are. +- He calls vibe coding a slur. What he does is agentic engineering. The vibe coding only happens after 3am, and he regrets it in the morning. + +**The difference between Level 2 and 3:** Level 2 is compressed info with em-dashes. Level 3 is how you'd actually SAY it. Varied sentence lengths. Letting a thought breathe. Not trying to be clever — just being clear and direct and a little bit personal. + +**Key signals of Level 3:** +- Reads naturally when spoken aloud +- Varied sentence lengths — some short, some longer +- Understated — lets the content carry the weight +- Uses periods, not em-dashes, to let ideas land +- Feels opinionated ("Past a certain point, money stops mattering") not just informational +- The reader should think "I want to watch this" not "I got the summary" + +## Rules for Extracted Points + +1. **Write like you'd say it.** Read each bullet aloud. If it sounds like a press release or a compressed tweet, rewrite it. If it sounds like you telling a friend what you just watched, you nailed it. +2. **8-16 words per sentence.** This is the target range. Mix short (8-10) with medium (11-14) and longer (15-16). Don't make them all the same length. Exception: verbatim quotes can be any length since they're the speaker's actual words. +3. **Let ideas breathe.** Use periods between thoughts, not em-dashes. Short sentences. Then a slightly longer one to explain. That's the rhythm. +4. **Include the actual detail.** Not "he talked about money" but "a cheeseburger is a cheeseburger no matter how rich you are." +5. **Use the speaker's words when they're good.** If they said something perfectly, use it. +6. **No hedging language.** Not "it was suggested that" or "the speaker noted." Just say the thing. +7. **Capture what made you stop.** Every bullet should be something worth telling someone about. +8. **Vary your openers.** Don't start three bullets the same way. And don't front-load with "He" — if more than 3 bullets in a section start with the speaker's name, you're writing a biography. +9. **Capture the human moments.** Burnout stories, moments of doubt, something that moved them. That's wisdom too. Don't skip it because it's not "technical." +10. **Insight over inventory.** "He uses Go for CLIs" is inventory. "He picked a language he doesn't even like because the ecosystem fits agents perfectly. That's the new normal." is insight. Go deeper. +11. **Specificity is everything.** "He was impressed by the agent" = bad. "The agent found ffmpeg, curled the Whisper API, and transcribed a voice message nobody taught it to handle" = good. +12. **Tension and surprise.** The best bullets have a contradiction or reversal. "Every VC is offering hundreds of millions. He genuinely doesn't care." The gap between the offer and the indifference IS the wisdom. +13. **Understated, not clever.** Let the content carry the weight. You don't need to manufacture drama or craft the perfect one-liner. Just state what's interesting plainly and move on. + +## How Dynamic Sections Work + +### Phase 1: Content Scan + +Read/listen to the full content. As you go, notice what DOMAINS of wisdom are present. These aren't the topics discussed — they're the TYPES of insight being delivered. + +Examples of wisdom domains (these are illustrative, not exhaustive): +- Programming Philosophy (how to think about code, not specific syntax) +- Developer Workflow (practical tips for how to work) +- Business/Money Philosophy (unconventional takes on money, success, building companies) +- Human Psychology (insights about how people think, behave, learn) +- Technology Predictions (where things are headed) +- Life Philosophy (how to live, what matters) +- Contrarian Takes (things that go against conventional wisdom) +- First-Time Revelations (things you're hearing for the first time — genuinely new) +- Technical Architecture (how something is built, design decisions) +- Leadership & Team Dynamics (managing people, working with others) +- Creative Process (how to make things, craft, art) + +### Phase 2: Section Selection + +Pick sections based on depth level (default Full = 5-12). Requirements: +- Section count follows depth level table. Full = 5-12, Comprehensive = 10-15, Basic/Fast = 3, Instant = 1. +- Each section must have at least 3 STRONG bullets to justify existing (except Fast, where 3 tight bullets IS the section). If you can only scrape together 2 weak ones, merge into a related section. +- Always include "Quotes That Hit Different" if the content has good ones +- Always include "First-Time Revelations" if there are genuinely new ideas — things you literally didn't know before +- Section names should be conversational, not academic. "Money Philosophy" not "Financial Considerations" +- Sections should be SPECIFIC to this content. Generic sections = failure. +- **Kill inventory sections.** If a section is just a list of facts ("uses X for Y, uses A for B"), it's not wisdom. Either go deeper on WHY those choices matter or merge the facts into a section about the underlying philosophy. +- **Don't split what belongs together.** If "burnout recovery" and "money philosophy" are actually both about "what success really means," make one richer section instead of two thin ones. +- **Name sections like a magazine editor.** "The Death of 80% of Apps" is great. "Technology Predictions" is not. The section name itself should make you curious. It's a headline, not a category. +- **Surprise density per section.** If a section has 6+ bullets but only 2 are genuinely surprising, kill the padding and keep the winners. Quality > quantity per section. +- **Don't drop your best material between drafts.** If a spicy take, stunning moment, or first-time revelation was identified in an earlier pass, it MUST survive into the final version. Losing great material is worse than adding mediocre material. + +### Phase 3: Extraction + +For each section, extract 3-15 bullets depending on density. Apply all tone rules. Every bullet earns its place. + +**The Spiciest Take Rule:** If the speaker has a genuinely contrarian or hot take on a topic (e.g., "screw MCPs", "X is dead", "Y is overhyped"), that take MUST appear somewhere. Spicy takes are the most memorable, shareable, and valuable parts of any content. Don't water them down. Don't leave them out. + +**The "Would I Tweet This?" Test:** After extraction, scan your bullets. If fewer than half would make a good standalone tweet or social media post, your bullets are too generic. The best extractions are effectively a thread of tweetable insights. + +### Phase 4: Closing Sections (Depth-Level Dependent) + +Which closing sections to include depends on depth level: + +| Level | Closing Sections | +|-------|-----------------| +| **Instant** | None | +| **Fast** | None | +| **Basic** | One-Sentence Takeaway only | +| **Full** | One-Sentence Takeaway + If You Only Have 2 Minutes + References & Rabbit Holes | +| **Comprehensive** | All three above + Themes & Connections | + +**One-Sentence Takeaway** +The single most important thing from the entire piece in 15-20 words. + +**If You Only Have 2 Minutes** +The 5-7 absolute must-know points. The cream of the cream. + +**References & Rabbit Holes** +People, projects, books, tools, and ideas mentioned that are worth following up on. Brief context for each. + +**Themes & Connections** (Comprehensive only) +3-5 throughlines that connect multiple sections. The deeper patterns the speaker may not realize they're revealing. Not summaries. Synthesis. + +## Output Format + +```markdown +# EXTRACT WISDOM: {Content Title} +> {One-line description of what this is and who's talking} + +--- + +## {Dynamic Section 1 Name} + +- {bullet} +- {bullet} +- {bullet} + +## {Dynamic Section 2 Name} + +- {bullet} +- {bullet} + +[... more dynamic sections ...] + +--- + +## One-Sentence Takeaway + +{15-20 word sentence} + +## If You Only Have 2 Minutes + +- {essential point 1} +- {essential point 2} +- {essential point 3} +- {essential point 4} +- {essential point 5} + +## References & Rabbit Holes + +- **{Name/Project}** — {one-line context of why it's worth looking into} +- **{Name/Project}** — {context} +``` + +## Quality Check + +Before delivering output, verify: +- [ ] Sections are specific to THIS content, not generic +- [ ] No bullet sounds like it was written by a committee +- [ ] Every bullet has a specific detail, quote, or insight — not vague summaries +- [ ] Section names are conversational and headline-worthy (not category labels) +- [ ] Section count matches depth level (Instant=1, Fast/Basic=3, Full=5-12, Comprehensive=10-15) +- [ ] Closing sections match depth level (see Phase 4 table) +- [ ] No bullet starts with "The speaker" or "It was noted that" +- [ ] No more than 3 bullets per section start with "He" or the speaker's name +- [ ] No bullet exceeds 25 words +- [ ] No inventory sections (just listing facts without insight) +- [ ] "If You Only Have 2 Minutes" bullets are each under 20 words +- [ ] Reading the output makes you want to consume the original content diff --git a/skills/contentanalysis/ExtractWisdom/Workflows/Extract.md b/skills/contentanalysis/ExtractWisdom/Workflows/Extract.md new file mode 100755 index 0000000..50ca50e --- /dev/null +++ b/skills/contentanalysis/ExtractWisdom/Workflows/Extract.md @@ -0,0 +1,60 @@ +# Extract Workflow + +Extract dynamic, content-adaptive wisdom from any content source. + +## Input Sources + +| Source | Method | +|--------|--------| +| YouTube URL | `fabric -y "URL"` to get transcript | +| Article URL | WebFetch to get content | +| File path | Read the file directly | +| Pasted text | Use directly | + +## Execution Steps + +### Step 1: Get the Content + +Obtain the full text/transcript. For YouTube, use `fabric -y "URL"` to extract transcript. Save to a working file if large. + +### Step 2: Deep Read + +Read the entire content. Don't extract yet. Notice: +- What domains of wisdom are present? +- What made you stop and think? +- What's genuinely novel vs. commonly known? +- What would {PRINCIPAL.NAME} highlight if he were reading this? +- What quotes land perfectly? + +### Step 3: Select Dynamic Sections + +Based on your deep read, pick 5-12 section names. Rules: +- Section names must be conversational, not academic +- Each must have at least 3 quality bullets +- Always include "Quotes That Hit Different" if source has quotable moments +- Always include "First-Time Revelations" if genuinely new ideas exist +- Be SPECIFIC — "Agentic Engineering Philosophy" not "Technology Insights" + +### Step 4: Extract Per Section + +For each section, extract 3-15 bullets. Apply tone rules from SKILL.md: +- 8-20 words, flexible for clarity +- Specific details, not vague summaries +- Speaker's words when they're good +- No hedging language +- Every bullet worth telling someone about + +### Step 5: Add Closing Sections + +Always append: +1. **One-Sentence Takeaway** (15-20 words) +2. **If You Only Have 2 Minutes** (5-7 essential points) +3. **References & Rabbit Holes** (people, projects, books, tools mentioned) + +### Step 6: Quality Check + +Run the quality checklist from SKILL.md before delivering. + +### Step 7: Output + +Present the complete extraction in the format specified in SKILL.md. diff --git a/skills/contentanalysis/SKILL.md b/skills/contentanalysis/SKILL.md new file mode 100755 index 0000000..a63619c --- /dev/null +++ b/skills/contentanalysis/SKILL.md @@ -0,0 +1,14 @@ +--- +name: ContentAnalysis +description: Content extraction and analysis — wisdom extraction from videos, podcasts, articles, and YouTube. USE WHEN extract wisdom, content analysis, analyze content, insight report, analyze video, analyze podcast, extract insights, key takeaways, what did I miss, extract from YouTube. +--- + +# ContentAnalysis + +Unified skill for content extraction and analysis workflows. + +## Workflow Routing + +| Request Pattern | Route To | +|---|---| +| Extract wisdom, content analysis, insight report, analyze content | `ExtractWisdom/SKILL.md` | diff --git a/skills/docx/LICENSE.txt b/skills/docx/LICENSE.txt new file mode 100755 index 0000000..e092e50 --- /dev/null +++ b/skills/docx/LICENSE.txt @@ -0,0 +1,13 @@ +Copyright (c) 2026 Z.ai All rights reserved. + +Permission is granted for personal, educational, and non-commercial use only. + +Commercial use is strictly prohibited without prior written permission from the author. + +Unauthorized copying, modification, or distribution of the software for commercial purposes is prohibited. + +The author reserves the right to make the final determination of what constitutes "commercial use". + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM THE USE OF THE SOFTWARE. diff --git a/skills/docx/SKILL.md b/skills/docx/SKILL.md new file mode 100755 index 0000000..2b380ac --- /dev/null +++ b/skills/docx/SKILL.md @@ -0,0 +1,201 @@ +--- +name: docx +metadata: + author: Z.AI + version: "1.0" +description: "Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When GLM needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks" +license: Proprietary. LICENSE.txt has complete terms +--- + +# DOCX Creation, Editing, and Analysis + +## Quick Setup + +```bash +bash "$SKILL_DIR/setup.sh" # Interactive environment check + install +``` + +## Overview + +A .docx file is a ZIP archive containing XML files. This skill provides tools for creating, editing, reading, and reviewing Word documents. + +## Quick Route — Read This First + +**Step 1**: Determine task type → load the corresponding route file +**Step 2**: Determine business scene → load the corresponding scene file (if applicable) +**Step 3**: Load `references/design-system.md` for cover recipes, palettes, and chart colors +**Step 4**: Load `references/common-rules.md` for shared layout, font, and quality rules +**Step 5**: Execute per route instructions +**Step 6**: Run the post-generation checklist + +⚠️ **MANDATORY — Cover Recipe Enforcement (Step 3):** +When creating a document that needs a cover page, you MUST use one of the 7 validated cover recipes (R1–R7) from `design-system.md`. **Free-form cover code is FORBIDDEN.** The recipe provides the wrapper table, background, layout structure, border settings, and spacing — do not reinvent any of these. + +Workflow: (1) Call `selectCoverRecipe(docType, industry)` to get recipe + palette → (2) Use the corresponding `buildCoverRX()` function code from `design-system.md` → (3) Pass your `config` (title, subtitle, metaLines, etc.) into the recipe builder. If you skip this and write cover code from scratch, the cover WILL have compatibility issues (blank pages in MS Office, missing borders, overflow, etc.). + +### Script Path Setup (MANDATORY before any script call) + +All CLI tools live in `scripts/` relative to this skill's directory. Before calling any script, resolve the absolute path once: + +```bash +DOCX_SCRIPTS="/scripts" # ← parent directory of this SKILL.md + +# Then all commands use $DOCX_SCRIPTS: +python3 "$DOCX_SCRIPTS/postcheck.py" output.docx +python3 "$DOCX_SCRIPTS/add_toc_placeholders.py" output.docx --auto +``` + +**For Python imports** (when generation code needs to import skill modules): + +```python +import sys, os +DOCX_SCRIPTS = os.path.join("", "scripts") +if DOCX_SCRIPTS not in sys.path: + sys.path.insert(0, DOCX_SCRIPTS) +``` + +**⚠️ NEVER use bare `python3 scripts/...`** — it only works if cwd happens to be the skill directory. Always use the absolute `$DOCX_SCRIPTS` path. + +### Task Router + +| User Intent | Route | Files to Load | +|-------------|-------|---------------| +| Create/write/generate (no attachment) | **Create** | `routes/create.md` + `references/docx-js-core.md` | +| Edit/modify/revise (has attachment) | **Edit** | `routes/edit.md` + `references/ooxml.md` | +| Format/layout/font/margin | **Format** | `routes/format.md` | +| Comment/annotate/review | **Comment** | `routes/comment.md` | +| Read/analyze/extract | **Read** | `routes/read.md` | + +### Scene Router (Optional — load after route) + +| User Keywords | Scene | File | +|---------------|-------|------| +| thesis, academic, research, paper, dissertation, abstract, journal | Academic | `scenes/academic.md` | +| report, analysis, experiment, testing, survey, review, summary, proposal, feasibility, competitor, industry, operations | Report | `scenes/report.md` | +| contract, agreement, terms, transfer, NDA, confidential, framework, cooperation, service terms, user agreement, procurement | Contract | `scenes/contract.md` | +| resume, CV, job application | Resume | `scenes/resume.md` | +| exam, test, quiz, paper (exam context), lesson plan | Exam | `scenes/exam.md` | +| official document, notice, letter, reply, minutes, red header, government, issuance | Official | `scenes/official-doc.md` | +| broadcast script, product copy, livestream, speech, presentation script, video script | Copywriting | `scenes/copywriting.md` | +| plan, proposal (if not report context) | Report | `scenes/report.md` | +| policy, regulation, standard, management rules | Official | `scenes/official-doc.md` | + +**If no scene matches**, use default design rules from `references/design-system.md` and `references/common-rules.md`. + +## Formatting Standards (Always Apply) + +→ See `references/common-rules.md` for full font profiles, spacing, indent, and layout rules. + +**Key rules (quick reference):** +- **Line spacing**: 1.3x (`line: 312`) — MANDATORY. Exceptions: resume 1.15x, official doc 28pt fixed, copywriting `400`, contract 1.5x +- **CJK body**: Justified + 2-char indent (`firstLine: 480` SimSun / `420` YaHei) +- **Tables**: `margins` set, `ShadingType.CLEAR`, `tableHeader: true`, `cantSplit: true`, title `keepNext: true` +- **Images**: `type` parameter required, preserve aspect ratio via `image-size`, PageBreak inside Paragraph +- **Full-page Table row**: `rule: "exact"` with 1200 twips safety margin + +## Unit Quick Reference + +| Unit | Value | +|------|-------| +| 1 cm | 567 twips | +| 1 inch | 1440 twips | +| 1 pt | 20 half-points | +| A4 | 11906 × 16838 twips | + +For Chinese font size table and common margins, see `references/common-rules.md`. + +## Post-Generation — Two-Layer Verification + +### Layer 1: Manual Checklist (self-check during generation) + +#### Basic Format +- [ ] Line spacing is 1.3x (`line: 312`) or scene-specific override +- [ ] CJK body has 2-char indent (`firstLine: 480` or `420`) +- [ ] Tables have margins set +- [ ] Images preserve aspect ratio via `image-size` — NEVER hardcode both width and height +- [ ] PageBreak inside Paragraph +- [ ] ShadingType uses CLEAR +- [ ] Each numbered list uses unique `reference` +- [ ] **⚠️ CRITICAL — Quotation marks in JS strings properly escaped.** Chinese curly quotes (`""` `''`) MUST use Unicode escapes (`\u201c` `\u201d` `\u2018` `\u2019`); straight quotes (`"` `'`) use `\"` `\'` or alternate delimiters. **This is the #1 most common code generation bug.** Chinese text frequently contains `""` for emphasis or proper nouns (e.g., "双11", "前低后高", "618") — every occurrence MUST be escaped. Failure to escape produces JS syntax errors that silently break document generation. +- [ ] ImageRun includes `type` parameter +- [ ] Header/footer present (unless scene says otherwise) + +#### Heading Styles +- [ ] All body chapter headings use `heading: HeadingLevel.HEADING_X` (never simulate with bold + large font) +- [ ] Cover title may skip Heading style (not in TOC), but body headings MUST use Heading style + +#### Page Break & Blank Page Prevention +- [ ] Cover/content in separate sections +- [ ] Three rules to prevent blank pages: + - ① When using section(NEXT_PAGE), previous section must NOT end with PageBreak (double break = blank page) + - ② PageBreak paragraph SHOULD contain visible text — **exception**: section-ending empty para + PageBreak is allowed (normal section separator, e.g., after cover page) + - ③ No more than 3 consecutive empty paragraphs +- [ ] Full-page Table row height uses `rule: "exact"` (never `"atLeast"` for tall tables) +- [ ] No unwanted blank pages (check each section ending) + +#### TOC +→ See `references/toc.md` for the complete TOC reference and checklist. +- [ ] If TOC title exists → `TableOfContents` element must be present +- [ ] **⚠️ MANDATORY PageBreak after TableOfContents** — a Paragraph containing PageBreak MUST immediately follow the `TableOfContents` element; without it, TOC and body content will render on the same page. This is the #1 TOC formatting failure — never omit it +- [ ] `add_toc_placeholders.py --auto` runs after generation; exit code = 0 +- [ ] **TOC MUST be in its own section** — body section sets `page: { pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL } }` so page numbers start from the first body page, not from the TOC pages +- [ ] **Page number API nesting** — `pageNumbers` MUST be inside `page: {}`, NOT at properties top level (see toc.md § Page Number API) +- [ ] **3-section page numbering** — Cover (no page#) → Front matter (Roman i,ii,iii, start=1) → Body (Arabic 1,2,3, start=1) +- [ ] **Post-process footers** — Roman section footer instrText must contain `PAGE \* ROMAN \* MERGEFORMAT`; Arabic section `PAGE \* arabic \* MERGEFORMAT` (WPS ignores pgNumType fmt). **⚠️ NEVER use `\* decimal` in instrText** — `decimal` is a docx-js API enum value (`NumberFormat.DECIMAL`), NOT a valid Word field format switch; using it causes page numbers to render as "1decimal", "2decimal". The correct Word field switch for Arabic numerals is `\* arabic`. +- [ ] **Remove empty pgNumType** — Post-process to strip `` from cover section (docx-js emits empty element that confuses WPS) +- [ ] **⚠️ TOC Refresh Hint MANDATORY** — between `TableOfContents` element and the PageBreak, MUST add an italic gray note paragraph telling users to right-click TOC → "Update Field" to refresh page numbers (see toc.md § TOC Refresh Hint) + +#### Table Cross-Page +- [ ] Header rows: `tableHeader: true` +- [ ] All rows: `cantSplit: true` +- [ ] Title paragraph: `keepNext: true` + +#### Cover +- [ ] **Cover MUST use a validated recipe (R1–R7)** from `design-system.md` — free-form cover code is forbidden +- [ ] Cover recipe matches document type (per `selectCoverRecipe()` in `design-system.md`) +- [ ] Cover uses the 16838 outer wrapper table with `allNoBorders` (all recipes provide this) +- [ ] Cover title uses `calcTitleLayout()` — never hardcoded font size above 40pt +- [ ] Cover spacing uses `calcCoverSpacing()` — never hardcoded large spacing values +- [ ] Cover content does not overflow (total height ≤ 15638 twips, Table uses `rule: "exact"`) +- [ ] Every TextRun on dark/colored background has explicit `color` set (Rule 9 — never rely on default black) +- [ ] Cover section has no trailing PageBreak or empty paragraphs +- [ ] Title lines split at semantic boundaries (no mid-word breaks, no single-char orphan lines) +- [ ] No text-character decorative lines (`───`, `━━━`) — use paragraph borders only + +### Layer 2: Automated Post-Check Script + +```bash +python3 "$DOCX_SCRIPTS/postcheck.py" output.docx +``` + +Automatically checks 14 business rules: blank pages, **cover overflow (font size/spacing/trailing content)**, line spacing consistency, table margins, table cross-page control (cantSplit/tblHeader), image overflow, image aspect ratio distortion, font fallback, CJK indent, heading hierarchy, ShadingType misuse, TOC quality, document cleanliness (placeholder text/Markdown/HTML residuals), report content quality (abstract presence/heading specificity/vague conclusion detection). + +⚠️ **After generating any document, MUST run postcheck.py and fix all ❌ errors.** + +## Math Formulas + +Formula input uses **LaTeX syntax**, internally converted to docx-js Math objects. + +- **Basic formulas** (fractions, sub/superscript, roots, summation) → docx-js Math components +- **Complex formulas** (3+ nesting, matrices, piecewise functions) → matplotlib PNG fallback + +See `references/math-formulas.md`. + +## Charts + +Default: **matplotlib template library** generates PNG for embedding. + +6 ready-to-use templates: bar, line, pie, box, radar, heatmap. +Colors auto-derived from document palette.accent for style consistency. +Default palette: Morandi low-saturation (see design-system.md). + +See `references/chart-templates.md`. + +## Dependencies + +- **pandoc**: Text extraction +- **docx**: `bun add docx` or `npm install docx` (creating) +- **LibreOffice**: PDF conversion, .doc support +- **Poppler**: PDF to image (`pdftoppm`) +- **defusedxml**: Secure XML parsing +- **python-docx**: Simple comment operations diff --git a/skills/docx/references/chart-templates.md b/skills/docx/references/chart-templates.md new file mode 100755 index 0000000..f608ba1 --- /dev/null +++ b/skills/docx/references/chart-templates.md @@ -0,0 +1,386 @@ +# Chart Templates — matplotlib Template Library + +## Design Philosophy + +GLM uses **matplotlib as the primary chart engine**. Advantages: +- High chart quality, print-ready +- Full style control, consistent with document palette +- Supports complex chart types (heatmap, radar, box plot, etc.) +- Reliable CJK rendering (with SimHei font configured) + +**When to use native Word charts?** +Only when the user explicitly requests "editable charts." Default is always matplotlib PNG embedding. + +## Base Configuration + +```python +import matplotlib +matplotlib.use("Agg") +import matplotlib.pyplot as plt +import numpy as np +from matplotlib.font_manager import FontProperties + +# ── CJK Font ── +_FONT_PATHS = [ + "/System/Library/Fonts/Supplemental/SimHei.ttf", # macOS + "/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc", # Linux + "/usr/share/fonts/truetype/chinese/SimHei.ttf", # custom install + "./SimHei.ttf", # current dir +] +ZH_FONT = None +for _fp in _FONT_PATHS: + try: + ZH_FONT = FontProperties(fname=_fp) + break + except: + continue + +plt.rcParams["axes.unicode_minus"] = False + +# ── Palette Adapter ── +def make_chart_palette(accent: str, surface: str = "#F2F4F6") -> dict: + """Generate chart palette from document palette.accent""" + return { + "primary": accent, + "series": _generate_series_colors(accent, 6), + "grid": "#E0E0E0", + "bg": "white", + "text": "#333333", + "surface": surface, + } + +def _generate_series_colors(base_hex: str, count: int) -> list: + """Generate series colors via hue rotation from base color""" + import colorsys + base = tuple(int(base_hex.lstrip("#")[i:i+2], 16) / 255.0 for i in (0, 2, 4)) + h, s, v = colorsys.rgb_to_hsv(*base) + colors = [] + for i in range(count): + hi = (h + i * (1.0 / count)) % 1.0 + r, g, b = colorsys.hsv_to_rgb(hi, min(s * 0.9, 1.0), min(v * 1.05, 1.0)) + colors.append(f"#{int(r*255):02x}{int(g*255):02x}{int(b*255):02x}") + return colors + +# ── Universal Export ── +def save_chart(fig, path: str, dpi: int = 200): + """Save chart with uniform DPI. Square charts (pie/radar) use fixed padding to preserve 1:1 ratio.""" + w, h = fig.get_size_inches() + if abs(w - h) < 0.1: + fig.savefig(path, dpi=dpi, bbox_inches="tight", pad_inches=0.3, + facecolor="white", edgecolor="none") + else: + fig.savefig(path, dpi=dpi, bbox_inches="tight", pad_inches=0.1, + facecolor="white", edgecolor="none") + plt.close(fig) + return path +``` + +## Template 1: Bar Chart + +```python +def bar_chart(categories: list, values: list, title: str = "", + ylabel: str = "", palette: dict = None, output: str = "bar.png"): + """ + Basic bar chart. + categories: ["Q1", "Q2", "Q3", "Q4"] + values: [120, 150, 180, 200] + """ + p = palette or make_chart_palette("#5B8DB8") + fig, ax = plt.subplots(figsize=(10, 6)) + + bars = ax.bar(categories, values, color=p["primary"], width=0.6, edgecolor="white") + + # Data labels + for bar, val in zip(bars, values): + ax.text(bar.get_x() + bar.get_width() / 2, bar.get_height() + max(values) * 0.02, + str(val), ha="center", va="bottom", fontsize=10, + fontproperties=ZH_FONT, color=p["text"]) + + if title: + ax.set_title(title, fontproperties=ZH_FONT, fontsize=14, pad=15, color=p["text"]) + if ylabel: + ax.set_ylabel(ylabel, fontproperties=ZH_FONT, fontsize=11, color=p["text"]) + + ax.set_xticklabels(categories, fontproperties=ZH_FONT, fontsize=10) + ax.spines[["top", "right"]].set_visible(False) + ax.grid(axis="y", alpha=0.3, color=p["grid"]) + + if len(categories) > 6: + plt.xticks(rotation=45, ha="right") + + return save_chart(fig, output) +``` + +### Grouped Bar Chart + +```python +def grouped_bar(categories: list, groups: dict, title: str = "", + ylabel: str = "", palette: dict = None, output: str = "grouped_bar.png"): + """ + groups: {"Product A": [10, 20, 30], "Product B": [15, 25, 35]} + """ + p = palette or make_chart_palette("#5B8DB8") + fig, ax = plt.subplots(figsize=(10, 6)) + + x = np.arange(len(categories)) + n = len(groups) + width = 0.8 / n + + for i, (name, vals) in enumerate(groups.items()): + offset = (i - n / 2 + 0.5) * width + bars = ax.bar(x + offset, vals, width, label=name, color=p["series"][i % len(p["series"])]) + + ax.set_xticks(x) + ax.set_xticklabels(categories, fontproperties=ZH_FONT, fontsize=10) + ax.legend(prop=ZH_FONT, frameon=False) + if title: + ax.set_title(title, fontproperties=ZH_FONT, fontsize=14, pad=15) + ax.spines[["top", "right"]].set_visible(False) + ax.grid(axis="y", alpha=0.3) + + return save_chart(fig, output) +``` + +## Template 2: Line Chart + +```python +def line_chart(x_data: list, series: dict, title: str = "", + xlabel: str = "", ylabel: str = "", palette: dict = None, + output: str = "line.png"): + """ + series: {"Revenue": [100, 120, 150, 180], "Cost": [80, 90, 100, 110]} + """ + p = palette or make_chart_palette("#5B8DB8") + fig, ax = plt.subplots(figsize=(10, 6)) + + for i, (name, values) in enumerate(series.items()): + color = p["series"][i % len(p["series"])] + ax.plot(x_data, values, marker="o", markersize=5, linewidth=2, + label=name, color=color) + + if title: + ax.set_title(title, fontproperties=ZH_FONT, fontsize=14, pad=15) + if xlabel: + ax.set_xlabel(xlabel, fontproperties=ZH_FONT, fontsize=11) + if ylabel: + ax.set_ylabel(ylabel, fontproperties=ZH_FONT, fontsize=11) + + ax.legend(prop=ZH_FONT, frameon=False, loc="best") + ax.spines[["top", "right"]].set_visible(False) + ax.grid(True, alpha=0.3) + + if len(x_data) > 6: + plt.xticks(rotation=45, ha="right") + + return save_chart(fig, output) +``` + +## Template 3: Pie Chart + +```python +def pie_chart(labels: list, values: list, title: str = "", + palette: dict = None, output: str = "pie.png"): + """Pie chart — auto-merges slices below 3% into 'Other'""" + p = palette or make_chart_palette("#5B8DB8") + fig, ax = plt.subplots(figsize=(8, 8)) + + # Merge slices below 3% into "Other" + total = sum(values) + merged_labels, merged_values = [], [] + other = 0 + for lbl, val in zip(labels, values): + if val / total < 0.03: + other += val + else: + merged_labels.append(lbl) + merged_values.append(val) + if other > 0: + merged_labels.append("Other") + merged_values.append(other) + + colors = p["series"][:len(merged_labels)] + wedges, texts, autotexts = ax.pie( + merged_values, labels=merged_labels, colors=colors, + autopct="%1.1f%%", startangle=90, pctdistance=0.75, + textprops={"fontproperties": ZH_FONT, "fontsize": 11} + ) + + for t in autotexts: + t.set_fontsize(10) + t.set_color("white") + + if title: + ax.set_title(title, fontproperties=ZH_FONT, fontsize=14, pad=20) + + return save_chart(fig, output) +``` + +## Template 4: Box Plot + +```python +def box_plot(data: dict, title: str = "", ylabel: str = "", + palette: dict = None, output: str = "box.png"): + """ + data: {"Class A": [78, 82, 91, ...], "Class B": [65, 70, 88, ...]} + """ + p = palette or make_chart_palette("#5B8DB8") + fig, ax = plt.subplots(figsize=(10, 6)) + + labels = list(data.keys()) + values = list(data.values()) + + bp = ax.boxplot(values, labels=labels, patch_artist=True, notch=False, + medianprops={"color": "white", "linewidth": 2}) + + for i, patch in enumerate(bp["boxes"]): + patch.set_facecolor(p["series"][i % len(p["series"])]) + patch.set_alpha(0.8) + + ax.set_xticklabels(labels, fontproperties=ZH_FONT, fontsize=11) + if title: + ax.set_title(title, fontproperties=ZH_FONT, fontsize=14, pad=15) + if ylabel: + ax.set_ylabel(ylabel, fontproperties=ZH_FONT, fontsize=11) + ax.spines[["top", "right"]].set_visible(False) + ax.grid(axis="y", alpha=0.3) + + return save_chart(fig, output) +``` + +## Template 5: Radar Chart + +```python +def radar_chart(categories: list, series: dict, title: str = "", + palette: dict = None, output: str = "radar.png"): + """ + categories: ["Chinese", "Math", "English", "Physics", "Chemistry"] + series: {"Student A": [85, 92, 78, 90, 88], "Student B": [75, 88, 92, 70, 85]} + """ + p = palette or make_chart_palette("#5B8DB8") + fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True)) + + n = len(categories) + angles = np.linspace(0, 2 * np.pi, n, endpoint=False).tolist() + angles += angles[:1] # close the polygon + + for i, (name, values) in enumerate(series.items()): + vals = values + values[:1] # close the polygon + color = p["series"][i % len(p["series"])] + ax.plot(angles, vals, linewidth=2, label=name, color=color) + ax.fill(angles, vals, alpha=0.15, color=color) + + ax.set_xticks(angles[:-1]) + ax.set_xticklabels(categories, fontproperties=ZH_FONT, fontsize=11) + ax.legend(prop=ZH_FONT, loc="upper right", bbox_to_anchor=(1.2, 1.1), frameon=False) + + if title: + ax.set_title(title, fontproperties=ZH_FONT, fontsize=14, pad=25) + + return save_chart(fig, output) +``` + +## Template 6: Heatmap + +```python +def heatmap(data: list, row_labels: list, col_labels: list, title: str = "", + palette: dict = None, output: str = "heatmap.png"): + """ + data: 2D array [[1,2,3],[4,5,6]] + row_labels: ["Row 1", "Row 2"] + col_labels: ["Col 1", "Col 2", "Col 3"] + """ + fig, ax = plt.subplots(figsize=(max(8, len(col_labels) * 1.2), max(6, len(row_labels) * 0.8))) + + arr = np.array(data) + im = ax.imshow(arr, cmap="YlOrRd", aspect="auto") + + ax.set_xticks(range(len(col_labels))) + ax.set_yticks(range(len(row_labels))) + ax.set_xticklabels(col_labels, fontproperties=ZH_FONT, fontsize=10) + ax.set_yticklabels(row_labels, fontproperties=ZH_FONT, fontsize=10) + + # Value annotations + for i in range(len(row_labels)): + for j in range(len(col_labels)): + val = arr[i, j] + color = "white" if val > arr.max() * 0.7 else "black" + ax.text(j, i, f"{val:.1f}", ha="center", va="center", + fontsize=10, color=color) + + fig.colorbar(im, ax=ax, shrink=0.8) + if title: + ax.set_title(title, fontproperties=ZH_FONT, fontsize=14, pad=15) + + return save_chart(fig, output) +``` + +## Embedding in Documents (MANDATORY — Preserve Aspect Ratio) + +**⚠️ Core Rule: When embedding any chart image, you MUST read actual image dimensions to calculate displayHeight. NEVER hardcode both width and height.** + +Pie and radar charts are square — mismatched width/height produces ellipses or diamonds. + +```js +// ✅ Correct: read actual image dimensions +const chartBuffer = fs.readFileSync("bar.png"); +const sizeOf = require("image-size"); +const dims = sizeOf(chartBuffer); +const displayWidth = 500; +const displayHeight = Math.round(displayWidth * (dims.height / dims.width)); + +new Paragraph({ + alignment: AlignmentType.CENTER, + spacing: { before: 200, after: 100 }, + children: [ + new ImageRun({ + data: chartBuffer, + transformation: { width: displayWidth, height: displayHeight }, + type: "png", + }), + ], +}) +``` + +```js +// ❌ Wrong: hardcoded width and height (pie becomes ellipse, radar becomes diamond) +new ImageRun({ + data: chartBuffer, + transformation: { width: 500, height: 350 }, // wrong ratio! + type: "png", +}) +``` + +```python +# ✅ Python (ReportLab) correct approach: +from PIL import Image as PILImage +from reportlab.platypus import Image +pil_img = PILImage.open('chart.png') +orig_w, orig_h = pil_img.size +target_width = 400 # pt +scale = target_width / orig_w +img = Image('chart.png', width=target_width, height=orig_h * scale) +``` + +## Chart Selection Guide + +| Data Scenario | Recommended Chart | Template Function | +|---------------|-------------------|-------------------| +| Category comparison | Bar chart | `bar_chart()` | +| Multi-group comparison | Grouped bar | `grouped_bar()` | +| Trend over time | Line chart | `line_chart()` | +| Proportion/composition | Pie chart | `pie_chart()` | +| Distribution/spread | Box plot | `box_plot()` | +| Multi-dimensional assessment | Radar chart | `radar_chart()` | +| Matrix correlation | Heatmap | `heatmap()` | + +## Quality Standards + +1. **DPI**: Uniform 200 DPI (built into `save_chart`) +2. **Colors**: Derived from document palette.accent for style consistency +3. **CJK text**: Must configure SimHei font; otherwise renders as boxes +4. **Label overlap prevention**: Auto-rotate 45° when >6 x-axis labels +5. **Legend**: Move outside chart (`bbox_to_anchor`) when >4 series +6. **Grid**: Light gray dashed grid lines for readability +7. **Clean frames**: Remove top/right spines for modern minimalist look +8. **Aspect ratio (CRITICAL)**: Must use `image-size` (JS) or `PIL` (Python) to read actual image dimensions and calculate displayHeight proportionally. **Pie and radar charts are square — hardcoding non-1:1 ratio causes ellipse/diamond distortion.** +9. **Dimensions**: Default 10×6 inches, fits well within A4 page diff --git a/skills/docx/references/common-rules.md b/skills/docx/references/common-rules.md new file mode 100755 index 0000000..938206d --- /dev/null +++ b/skills/docx/references/common-rules.md @@ -0,0 +1,419 @@ +# Common Rules + +Shared rules referenced by all scene files. Scene-specific overrides take precedence. + +## Default Page Layout + +A4 portrait. Unless the scene specifies otherwise, use: + +| Property | Value | Twips | +|----------|-------|-------| +| Page width | 21.0 cm | 11906 | +| Page height | 29.7 cm | 16838 | +| Top margin | 2.54 cm | 1440 | +| Bottom margin | 2.54 cm | 1440 | +| Left margin | 3.0 cm | 1701 | +| Right margin | 2.5 cm | 1417 | + +```js +page: { + size: { width: 11906, height: 16838, orientation: PageOrientation.PORTRAIT }, + margin: { top: 1440, bottom: 1440, left: 1701, right: 1417 }, +} +``` + +**Scene overrides:** +- **Official doc (GB/T 9704 red-header):** top 2098, bottom 1984, left 1588, right 1474 +- **Exam:** top/bottom 1134 (2 cm), left/right 1134 (2 cm) + +## Default Font Specifications + +Two font profiles exist. Each scene declares which profile it uses. + +### Profile A: Formal (report, academic, contract, official-doc, exam) + +| Element | CN Font | EN Font | Size | Notes | +|---------|---------|---------|------|-------| +| H1 | SimHei | Times New Roman | 16 pt (size: 32) | Bold, centered | +| H2 | SimHei | Times New Roman | 15 pt (size: 30) | Bold | +| H3 | SimHei | Times New Roman | 14 pt (size: 28) | Bold | +| Body | SimSun | Times New Roman | 12 pt (size: 24) | | +| Caption | SimSun | Times New Roman | 10.5 pt (size: 21) | | + +- Text color: always **pure black `"000000"`** (never dark-blue-grey) +- First-line indent: **480 twips** (2 chars at SimSun 12pt) +- Line spacing: **312** (1.3x). +- **Color routing for non-report documents**: When the document is a short-form text (essay, evaluation, letter, speech, application, reflection, etc.) rather than a structured report/whitepaper/proposal/consulting deliverable, heading color MUST use pure black `"000000"` instead of `palette.primary`. Colored headings are reserved for documents that need brand/professional identity (reports with covers, whitepapers, proposals, consulting deliverables). + +### Profile B: Visual (resume, copywriting) + +| Element | CN Font | EN Font | Size | +|---------|---------|---------|------| +| Name/Title | Microsoft YaHei | Calibri | Varies | +| Body | Microsoft YaHei | Calibri | 10–11 pt | +| Caption | Microsoft YaHei | Calibri | 9 pt | + +- First-line indent: **420 twips** (2 chars at YaHei) +- Color: per design-system palette + +### Official-Doc Font Override (GB/T 9704) + +When `needsRedHeader() = true`: + +| Element | Font | Size | +|---------|------|------| +| Red header org name | STXiaoBiaoSong (or SimSun bold) | 26 pt (size: 52) | +| Title | STXiaoBiaoSong (or SimHei) | 22 pt (size: 44) | +| Body | FangSong | 16 pt (size: 32) | +| Section heading | FangSong_GB2312 bold (or HeiTi) | 16 pt (size: 32) | + +- Line spacing: **560** (28 pt fixed) +- First-line indent: **640 twips** (2 chars at FangSong 16pt) + +## Chinese Font Size Reference + +| Name | Points | Half-points (size:) | +|------|--------|---------------------| +| Chu Hao (initial) | 42 | 84 | +| Xiao Chu | 36 | 72 | +| Yi Hao (1st) | 26 | 52 | +| Xiao Yi | 24 | 48 | +| Er Hao (2nd) | 22 | 44 | +| Xiao Er | 18 | 36 | +| San Hao (3rd) | 16 | 32 | +| Xiao San | 15 | 30 | +| Si Hao (4th) | 14 | 28 | +| Xiao Si | 12 | 24 | +| Wu Hao (5th) | 10.5 | 21 | +| Xiao Wu | 9 | 18 | +| Liu Hao (6th) | 7.5 | 15 | + +## Placeholder Convention + +When required information is missing, use standardized placeholders so users can Find & Replace in Word. + +**Format:** Always use full-width brackets `【 】`. + +| Type | Format | Example | +|------|--------|---------| +| General field | `【field name】` | Name: 【company name】 | +| Monetary amount | `【RMB in words: yuan (lowercase: ¥)】` | Amount: 【RMB in words】 | +| Date field | `【____/____/____】` | Signing date: 【____/____/____】 | +| Long text | `【Please fill in: ______】` | Delivery criteria: 【Please fill in: ______】 | +| Attachment ref | `【See Appendix 1: ______】` | | + +**Rules:** +1. Placeholder format must be consistent throughout the entire document +2. Each placeholder must specify exactly what is needed (never use vague "TBD" or "to be completed") +3. Never hard-code unconfirmed critical facts; use a placeholder instead +4. Never use sloppy expressions like "to be refined", "omitted", "user fills in later" + +## Title Orphan Prevention (All Scenes) + +Body headings (H1/H2/H3) and cover titles must avoid leaving 1–2 characters alone on the last line. This rule applies to ALL document types. + +**For cover titles:** Always use `calcTitleLayout()` + `splitTitleLines()` from `design-system.md` — these handle orphan prevention automatically (merges ≤2-char last lines into the previous line). + +**For body headings (H1/H2/H3):** When a heading text is long enough to wrap, apply the same `splitTitleLines()` logic. If the heading would cause a single-character orphan in Word's auto-wrapping, manually split into multiple `TextRun` elements with a `Break` (soft line break) at a semantic boundary. + +```js +const { Break } = require("docx"); + +// Check if heading needs manual line break to prevent orphan +function buildHeadingRuns(text, maxCharsPerLine, runProps) { + // If text fits in one line, no action needed + if (text.length <= maxCharsPerLine) { + return [new TextRun({ text, ...runProps })]; + } + // Use splitTitleLines to find semantic break points + const lines = splitTitleLines(text, maxCharsPerLine); + const runs = []; + for (let i = 0; i < lines.length; i++) { + if (i > 0) runs.push(new TextRun({ break: 1, ...runProps, text: "" })); // soft line break + runs.push(new TextRun({ text: lines[i], ...runProps })); + } + return runs; +} +``` + +**Estimation for maxCharsPerLine:** For centered headings, estimate available width = page width - left margin - right margin. For SimHei at a given pt size, each CJK char ≈ pt × 20 twips wide. Divide available width by char width to get `maxCharsPerLine`. + +--- + +## Undefined / Null Value Prevention (Mandatory) + +Generated code MUST guard against outputting literal `undefined`, `null`, `NaN`, or empty strings for any visible text field. This is a **hard requirement** — these are never acceptable in a delivered document. + +```js +// ✅ MANDATORY: Safe text helper — use for ALL user-facing text values +function safeText(value, placeholder) { + if (value === undefined || value === null || value === "" || String(value) === "NaN" || String(value) === "undefined") { + return placeholder || "【Please fill in】"; + } + return String(value); +} + +// Usage: +new TextRun({ text: safeText(config.contact, "【Contact person】") }) +new TextRun({ text: safeText(row.phone, "【Phone number】") }) +``` + +**Rules:** +1. Every `TextRun` displaying user-provided or config-derived data MUST use `safeText()` or equivalent guard +2. If a field is optional and not provided, use `【Please fill in: field_name】` placeholder (full-width brackets) +3. Table cells with missing data: show `【Please fill in】`, never leave as empty string or undefined +4. This applies to ALL scenes — contracts, reports, academic, exams, etc. + +--- + +## WPS / Office Word Compatibility (Mandatory) + +Generated .docx files must render consistently in both Microsoft Office Word and WPS Office. The following OOXML features have known compatibility issues — avoid or use carefully. + +### Features to AVOID (high incompatibility risk) + +| Feature | Issue | Alternative | +|---------|-------|------------| +| **Text-character decorative lines** (e.g., `───`, `━━━`, `═══`, `——————`) | Character-drawn lines depend on font metrics and rendering engine — they appear different widths/lengths in MS Office vs WPS, often truncated or misaligned. They cannot span a controlled width. | **Always use paragraph borders** (`border.top`, `border.bottom`) for horizontal decorative lines. Paragraph borders render consistently across engines and respect indent for precise width control. See recipe R2 for correct implementation. | +| **Default table borders on cover wrapper tables** (forgetting `allNoBorders`) | docx-js default table borders are `single/auto/sz=4`. On the 16838-high cover wrapper, these borders add ~8 twips of extra height per edge. MS Office includes border thickness in height calculation, causing content to overflow by a few twips → **blank page 2**. WPS is more lenient and may absorb the overflow. | **Every cover wrapper table MUST explicitly set `borders: allNoBorders`** (all 6 border positions = NONE). Never rely on defaults. Define the `allNoBorders` constant and use it consistently. | +| `verticalAlign: "center"` or `"bottom"` in exact-height TableRow | WPS ignores vertical alignment in exact-height rows; content may clip or shift | Use `verticalAlign: "top"` + `spacing.before` to position content. Avoid `margins.top`/`margins.bottom` in exact-height cells — they reduce available height unpredictably across engines | +| `characterSpacing` (large values) | WPS renders differently from Word; letter spacing may collapse or expand | Keep `characterSpacing` ≤ 80; for cover English labels, test both renderers | +| `margins.top`/`margins.bottom` inside exact-height cells | MS Office and WPS calculate remaining height differently when cell margins are present | Use `spacing.before` on the first paragraph for vertical positioning; only use `margins.left`/`margins.right` | +| Complex nested Tables inside exact-height cells | WPS height calculation differs from Word; content may overflow or clip | Wrap everything in a single 16838 outer wrapper cell (R1 architecture). Nested tables inside are acceptable when the outer wrapper provides a safety net | +| Large font without explicit `spacing.line` | Paragraph inherits small line spacing from document default (e.g., 560tw for body); font taller than line height → top of characters clipped | Always set `spacing: { line: fontPt * 23, lineRule: "atLeast" }` on paragraphs with font size > body text | +| `ShadingType.SOLID` | WPS shows solid black instead of intended color | Always use `ShadingType.CLEAR` | +| OOXML raw XML for columns (`w:cols`) | WPS column rendering may differ | Use only when explicitly needed (A3 exam papers); test output | +| `titlePage: true` with complex headers/footers | WPS may not properly suppress first-page header/footer | Use separate sections instead of titlePage flag | +| Tab stops for alignment | WPS tab width may differ from Word | Use borderless Tables for alignment instead | + +### Features that are SAFE (consistent rendering) + +| Feature | Notes | +|---------|-------| +| Borderless Tables for layout | Both renderers handle well | +| `ShadingType.CLEAR` with fill color | Consistent | +| `rule: "exact"` on single-level TableRow | Works in both (avoid with nested Tables) | +| Paragraph borders (left, bottom, etc.) | Consistent | +| `spacing.before` / `spacing.after` | Consistent | +| Standard fonts (SimHei, SimSun, YaHei, TNR, Calibri) | Available on both platforms | +| `PageBreak` inside Paragraph | Consistent | +| Section breaks (`SectionType.NEXT_PAGE`) | Consistent | + +### Mandatory Compatibility Checks (Post-Generation) + +Add to quality self-check: +- [ ] No `ShadingType.SOLID` anywhere (search codebase) +- [ ] No `verticalAlign: "center"` or `"bottom"` in exact-height rows +- [ ] No tab-stop alignment for party info or data alignment (use Tables) +- [ ] Covers use the 16838 outer wrapper architecture (R1 pattern) with `spacing.before` for positioning; no `margins.top`/`margins.bottom` in exact-height cells +- [ ] **Cover section margin = `{ top: 0, bottom: 0, left: 0, right: 0 }`** — non-zero margins cause wrapper to shrink away from page edges +- [ ] **Cover wrapper row has `height: { value: 16838, rule: "exact" }`** — without this, content overflows or leaves whitespace +- [ ] **Cover is in a separate section from body content** — cover and body must not share a section +- [ ] **Cover wrapper table uses explicit `allNoBorders`** — never rely on default table borders (causes blank page 2 in MS Office) +- [ ] **No text-character decorative lines** (`───`, `━━━`, `═══`, `——————`) — use paragraph borders instead +- [ ] `characterSpacing` values ≤ 80 throughout +- [ ] TOC: follow `references/toc.md` checklist (heading style, TableOfContents element, PageBreak, post-processing script) +- [ ] All tables use `WidthType.PERCENTAGE` for column widths (WPS tblGrid bug; if DXA is unavoidable, set `columnWidths` explicitly) + +```js +// ✅ Correct — percentage widths, WPS-safe +new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + rows: [new TableRow({ children: [ + new TableCell({ width: { size: 30, type: WidthType.PERCENTAGE }, children: [...] }), + new TableCell({ width: { size: 70, type: WidthType.PERCENTAGE }, children: [...] }), + ]})], +}); + +// ❌ WRONG — DXA widths cause WPS tblGrid mismatch (all gridCol=100) +new TableCell({ width: { size: 3000, type: WidthType.DXA }, ... }) +``` + +--- + +## Universal Prohibitions + +These apply to ALL scenes. Scene files may add scene-specific prohibitions. + +1. **No outlines-only** — always produce a complete, finished document +2. **No chat-style output** — the document must not read like a conversation or explanation +3. **No fake TOC / page numbers / headers** — use proper docx-js structures +4. **No excessive blank lines** to pad layout +5. **No dirty formatting** — no stray annotations, template fragments, broken hyperlinks, garbled markers +6. **No sloppy placeholders** — "TBD", "omitted", "略", "to be refined" are forbidden; use proper `【】` placeholders +7. **No fabricated data** — do not invent statistics, citations, legal references, or facts to appear professional +8. **No inconsistent heading/numbering** — one numbering system per document, no level-skipping +9. **No Markdown artifacts** — no `#`, `**`, `-` list markers, `>` blockquotes, and **no Markdown table syntax** (`| col1 | col2 |`, `|---|---|`) in the final docx. Any tabular data MUST be rendered as a proper docx `Table` object — never as plain-text pipe-delimited lines. This applies to ALL scenes including exam paper data tables, report statistics, and academic result tables. +10. **No bullet-list documents** — body text must be proper paragraphs, not endless bullet points + +## Letter / Correspondence Format (Universal) + +When generating any letter-style document (invitation letter, thank-you letter, cover letter, recommendation letter, English essay in letter format, etc.), the following layout rules apply regardless of scene: + +1. **Complimentary close and sender name MUST be right-aligned** — e.g., "Yours sincerely,", "Best regards,", "Yours,", and the sender name below it must use `alignment: AlignmentType.RIGHT` +2. **Date** — if placed at the top of the letter, right-aligned; if at the bottom, right-aligned with the closing +3. **Salutation** ("Dear Mr. Smith," / "Dear Mike,") — left-aligned, followed by a blank line or `spacing.after` +4. **Body paragraphs** — left-aligned (English) or justified (CJK), with appropriate `spacing.after` between paragraphs + +```js +// ✅ Correct — closing and sender right-aligned +new Paragraph({ alignment: AlignmentType.RIGHT, spacing: { before: 400 }, + children: [new TextRun({ text: "Yours sincerely,", size: 24 })] }), +new Paragraph({ alignment: AlignmentType.RIGHT, + children: [new TextRun({ text: "Li Hua", size: 24 })] }), + +// ❌ WRONG — closing left-aligned (default) +new Paragraph({ + children: [new TextRun({ text: "Yours sincerely," })] }), +``` + +## Quality Self-Check (Universal) + +→ See **SKILL.md § Post-Generation — Two-Layer Verification** for the complete checklist. + +Scene files add scene-specific checks on top of that universal checklist. + +## Execution Priority + +When rules conflict, follow this precedence (highest first): + +1. **User-provided template or explicit instructions** — always override defaults +2. **Scene-specific rules** — override common rules and design-system defaults +3. **Common rules** (this file) — override design-system aesthetic defaults +4. **Design-system defaults** — baseline aesthetics + +## Cover Recipes + +See `references/design-system.md` for the 7 validated cover recipes (R1–R7) and 14 color palettes. + +Cover recipe selection: `selectCoverRecipe(docType, industry, titleLength)` — defined in `references/design-system.md` (authoritative source). + +--- + +## Cover Title Layout Rules (Mandatory) + +These rules apply to ALL cover recipes (R1–R7). They prevent the most common cover quality issues: title overflow, content spilling to page 2, and mid-word line breaks. + +### Rule 1: Always use `calcTitleLayout()` + +Every cover MUST call `calcTitleLayout(title, availableWidth)` from `design-system.md` to determine: +- **Font size** (dynamically calculated, never hardcoded above 40pt) +- **Line breaks** (semantically split, never mid-word) + +**Forbidden:** Passing the full title as a single long TextRun and letting Word auto-wrap. This causes uncontrolled line breaks at arbitrary character positions. + +### Rule 2: No single-character orphan lines + +If the last line of a title contains only 1–2 characters, merge it into the previous line. The `splitTitleLines()` function handles this automatically. + +### Rule 3: No mid-word breaks for CJK text + +Line breaks must occur at semantic boundaries: after particles (e.g., de/yu/he/ji/zhi), punctuation, connectors, spaces, or underscores. Never split a compound term (e.g., a 4-character term like a management specification must not be split into 3+1 characters). + +For mixed Chinese+English titles (e.g., "基于Transformer架构的..."), use `estimateTextWidth()` instead of character count for line break calculation. Chinese characters are ~2× wider than English characters at the same font size. + +### Rule 4: Maximum 3 title lines on cover + +Cover titles must not exceed 3 lines. If the title is too long, reduce font size (down to minimum 24pt) before adding more lines. If it still exceeds 3 lines at 24pt, force 3 lines with longer line lengths. + +### Rule 5: Always use `calcCoverSpacing()` for whitespace + +Spacing values (`spacing.before`) in cover elements must be dynamically calculated, not hardcoded. Fixed values like `before: 4500` assume a specific title length and will cause overflow with longer titles. + +### Rule 6: Cover height budget validation + +Before generating, verify that total content height stays within 15638 twips (16838 page height minus 1200 twips safety margin — MS Office renders large fonts taller than calculated). Each recipe in `design-system.md` includes height budget annotations — verify during generation. + +### Rule 7: R5 meta info table (academic covers) + +Academic cover meta info must use a 2-column table with **percentage widths only** (NOT DXA — WPS breaks with DXA widths): +- **Table width:** adaptive 55–75% of page, calculated by `calcR5MetaLayout()` in `design-system.md`. Table is centered via `alignment: CENTER`. +- **Label column:** adaptive 25–45% of table width, **LEFT aligned**, plain text label + ":". NO full-width space padding, NO right-alignment, NO distributed alignment. +- **Value column:** remaining percentage, **LEFT aligned**, `bottom border single sz=4` = fixed-length underline (same length for all rows regardless of value text length). +- **Label column borders:** none (NO bottom border on label cells). +- ⚠️ Do NOT use DXA widths, full-width space padding (`\u3000`), spacer columns, or tab stops — these render inconsistently between MS Office and WPS. + +### Rule 8: Large font paragraphs must set explicit line spacing + +When a paragraph uses a font size larger than the document body text (e.g., cover titles at 36pt+), it **MUST** set explicit `spacing.line` to prevent clipping. Without it, the paragraph inherits the document/style default line spacing (often 560 twips for body text), which is smaller than the font height → the top of characters gets clipped. + +**Formula:** `spacing.line = Math.ceil(fontPt * 23)` with `lineRule: "atLeast"` + +**Example:** A 36pt title needs `spacing: { line: 828, lineRule: "atLeast" }`. Without this, the inherited `line=560` clips the top 160 twips of the text. + +This applies to ALL large-font paragraphs (cover titles, chapter headings, decorative text), not just covers. + +### Rule 9: Every TextRun on a colored background MUST set explicit `color` + +⚠️ **CRITICAL:** When a TextRun is inside a cell/area with a dark or colored background (shading), it **MUST** explicitly set the `color` property. Omitting `color` defaults to black (`#000000`), which is invisible on dark backgrounds. + +**Common mistake:** Subtitle or meta text on R1/R2/R4 dark cover blocks without `color` → appears as invisible black text on dark bg. + +**Rule:** For any TextRun inside a shaded cell: +- Use `P.cover.titleColor` for title text +- Use `P.cover.subtitleColor` for subtitle text +- Use `P.cover.metaColor` for meta info text +- Use `P.cover.footerColor` for footer text +- **NEVER** rely on default color when background is not white + +### Rule 10: Page number API nesting and 3-section numbering + +⚠️ **CRITICAL:** Page number settings MUST be nested inside `page.pageNumbers`: + +```js +// ❌ WRONG — docx-js ignores top-level pageNumberStart/pageNumberFormatType +properties: { pageNumberStart: 1, pageNumberFormatType: NumberFormat.DECIMAL } + +// ✅ CORRECT +properties: { page: { pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL } } } +``` + +**Standard page numbering (5-zone convention):** + +All multi-section documents MUST follow this five-zone page numbering scheme unless the user explicitly requests otherwise. + +| Zone | Section | pageNumbers | Footer instrText | Notes | +|------|---------|-------------|-----------------|-------| +| 1. Cover | Title page | None (no footer) | — | Always logical page 1, but number is **hidden** | +| 2. Front matter | Abstract, TOC, Preface | `{ start: 1, formatType: UPPER_ROMAN }` | `PAGE \* ROMAN \* MERGEFORMAT` | Separate Roman numeral sequence (i, ii, iii…) | +| 3. Body | Main content | `{ start: 1, formatType: DECIMAL }` | `PAGE \* arabic \* MERGEFORMAT` | **Resets to 1** | +| 4. Appendix | Appendices (A, B, C…) | Continues body (no reset) | Same as body | No section break needed unless different headers required | +| 5. References | Bibliography | Continues body (no reset) | Same as body | If body ends on p.42, references continue from p.43 | + +**Key rules:** +0. **NEVER use "Page X of Y" denominator format.** Footer must show only the current page number (e.g., `1`, `2`, `iii`). Do NOT display total page count. No `Page 3 of 12`, no `3 / 12`, no `第3页/共12页`. Just the bare number. `PageNumber.TOTAL_PAGES` / `NUMPAGES` is **FORBIDDEN** in footers. +1. **Cover is always page 1 internally** but the page number is never displayed. Suppress footer in cover section. +2. **Front matter uses independent Roman numerals** starting at `i`. This sequence is separate from the body. +3. **Body resets to Arabic 1.** The first page of main content is always page `1`. +4. **Appendix and references continue the body sequence.** No reset between body → appendix → references. +5. **Documents without front matter** skip zone 2 (cover hidden, body starts at Arabic 1). +6. **Documents without cover** start body (or front matter) at page 1 directly. +7. **Short documents (≤3 pages):** simple Arabic 1, 2, 3 throughout, no cover/frontmatter distinction. +8. **Single-page documents** (certificates, letters): no page numbering at all. + +**3-section docx-js implementation (for documents with TOC):** + +At minimum, implement zones 1–3 as separate docx sections: + +```js +// Section 1: Cover — no page number +properties: { page: { /* no pageNumbers */ } } +// No footer children, or empty footer + +// Section 2: Front matter — Roman numerals +properties: { page: { pageNumbers: { start: 1, formatType: NumberFormat.UPPER_ROMAN } } } +// Footer: PAGE \* ROMAN \* MERGEFORMAT + +// Section 3: Body — Arabic, reset to 1 +properties: { page: { pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL } } } +// Footer: PAGE \* arabic \* MERGEFORMAT + +// Appendix and References: same section as body (continues numbering) +// Only create a new section if different header/footer content is needed +``` + +**Post-processing required** (WPS compatibility): +1. Remove empty `` from cover section XML +2. Patch footer instrText: replace bare `PAGE` with format-specific `PAGE \* ROMAN` or `PAGE \* arabic` + +See `toc.md` § Page Number API for full details. diff --git a/skills/docx/references/decorations.md b/skills/docx/references/decorations.md new file mode 100755 index 0000000..e2783aa --- /dev/null +++ b/skills/docx/references/decorations.md @@ -0,0 +1,538 @@ +## Geometric Decoration System — Pure docx-js Decorations + +### Design Philosophy + +Uses only docx-js native capabilities for visual decoration — no external tools (like Playwright screenshots). Suitable for covers, chapter separators, page background enhancement. + +**When to fall back to Playwright?** +Only when gradients, complex illustrations, or brand visuals are needed that pure OOXML cannot express. Default: prefer native solutions below. + +### Decoration Element Library + +#### 1. Color Strip — Table Simulation + +Single-row single-column borderless table + background color to create horizontal color strips. + +```js +function colorStrip(color, height = 80) { + return new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: { top: NB, bottom: NB, left: NB, right: NB, + insideHorizontal: NB, insideVertical: NB }, + rows: [new TableRow({ + height: { value: height, rule: "exact" }, + children: [new TableCell({ + shading: { type: ShadingType.CLEAR, fill: color.replace("#", "") }, + borders: { top: NB, bottom: NB, left: NB, right: NB }, + children: [new Paragraph({ children: [] })], + })], + })], + }); +} + +// ══════════════════════════════════════════════════════════════ +// R6 — Editorial Warm (minimal, warm white bg, no decorations) +// ══════════════════════════════════════════════════════════════ +// Suitable for: lesson plans (non-STEM), cultural/creative, newsletters, +// event planning, internal reports, light-weight documents +// NOT for: formal business, consulting, finance, government, academic +// Title constraint: single line only (≤20 chars). Longer titles → route to R1. +// +// Structure: 2-row wrapper table (no border, warm bg shading) +// Row 1 (content): category → title → subtitle → fields +// Row 2 (footer): left English title + right label +// All spacing via paragraph indent (WPS safe, no cell margins). + +function buildCoverR6(config) { + const P = config.palette; + const PAD_L = 1300, PAD_R = 1100; + const ind = { left: PAD_L, right: PAD_R }; + const FOOTER_H = 900; + const CONTENT_H = 16838 - FOOTER_H; + const shading = { fill: P.bg || "F7F7F5", type: ShadingType.CLEAR }; + + // ⚠️ R6 uses a simplified title layout: prefer single line, shrink font to fit + const availW = 11906 - PAD_L - PAD_R; + const { titlePt, titleLines } = calcTitleLayoutR6(config.title, availW, 36, 22); + const titleSize = titlePt * 2; + const lineH = Math.ceil(titlePt * 23 * 1.3); + + // Dynamic top spacing + const titleH = titleLines.length * (titleSize * 10 + 200); + const categoryH = 22 * 10 + 900; + const subtitleH = config.subtitle ? (28 * 10 + 1200) : 0; + const fieldsH = (config.metaLines || []).length * (24 * 10 + 100); + const contentH = categoryH + titleH + subtitleH + fieldsH; + const remaining = Math.max(CONTENT_H - 1200 - contentH, 400); + const topSpacing = Math.floor(remaining * 0.55); + + const children = []; + + // 1. Top spacer (dynamic) + children.push(new Paragraph({ indent: ind, spacing: { before: topSpacing } })); + + // 2. Category label (small, wide letter-spacing) + if (config.englishLabel) { + children.push(new Paragraph({ + indent: ind, spacing: { after: 900 }, + children: [new TextRun({ + text: config.englishLabel, size: 22, + color: P.cover.metaColor || "9A9A9A", + font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, + characterSpacing: 60, + })], + })); + } + + // 3. Title (single line preferred, dynamic font size) + for (let i = 0; i < titleLines.length; i++) { + children.push(new Paragraph({ + indent: ind, + spacing: { after: i < titleLines.length - 1 ? 60 : 300, line: lineH, lineRule: "atLeast" }, + children: [new TextRun({ + text: titleLines[i], size: titleSize, + color: P.cover.titleColor || "2C2C2C", + font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, + characterSpacing: 30, + })], + })); + } + + // 4. Subtitle + if (config.subtitle) { + children.push(new Paragraph({ + indent: ind, spacing: { after: 1200 }, + children: [new TextRun({ + text: config.subtitle, size: 28, + color: P.cover.subtitleColor || "6B6B6B", + font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, + characterSpacing: 15, + })], + })); + } + + // 5. Meta fields (tab-aligned label + value) + for (const line of (config.metaLines || [])) { + // Expect "label:value" format or plain text + const sep = line.indexOf(":") !== -1 ? ":" : (line.indexOf(":") !== -1 ? ":" : null); + const label = sep ? line.split(sep)[0].trim() : line; + const value = sep ? line.split(sep).slice(1).join(sep).trim() : ""; + children.push(new Paragraph({ + indent: ind, spacing: { after: 100 }, + tabStops: [{ type: TabStopType.LEFT, position: PAD_L + 1600 }], + children: [ + new TextRun({ text: label, size: 22, color: P.cover.metaColor || "9A9A9A", + font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, characterSpacing: 20 }), + ...(value ? [ + new TextRun({ text: "\t" }), + new TextRun({ text: value, size: 24, color: P.cover.subtitleColor || "6B6B6B", + font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, characterSpacing: 8 }), + ] : []), + ], + })); + } + + // 6. Footer (2-column borderless table) + const footerLeft = config.footerLeft || ""; + const footerRight = config.footerRight || ""; + // Adaptive font size for long English footer text + const flSize = footerLeft.length > 60 ? 14 : (footerLeft.length > 40 ? 16 : 18); + const flSpacing = footerLeft.length > 60 ? 5 : (footerLeft.length > 40 ? 10 : 20); + + const footerTable = new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, borders: allNoBorders, + rows: [new TableRow({ + children: [ + new TableCell({ + width: { size: 70, type: WidthType.PERCENTAGE }, borders: noBorders, shading, + children: [new Paragraph({ + indent: { left: PAD_L }, + children: [new TextRun({ text: footerLeft, size: flSize, + color: P.cover.footerColor || "9A9A9A", + font: { ascii: "Calibri" }, characterSpacing: flSpacing })], + })], + }), + new TableCell({ + width: { size: 30, type: WidthType.PERCENTAGE }, borders: noBorders, shading, + children: [new Paragraph({ + alignment: AlignmentType.RIGHT, indent: { right: PAD_R }, + children: [new TextRun({ text: footerRight, size: 18, + color: P.cover.footerColor || "9A9A9A", + font: { ascii: "Calibri" }, characterSpacing: 20 })], + })], + }), + ], + })], + }); + + // 7. 2-row wrapper (content + footer) + return [new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, borders: allNoBorders, + rows: [ + new TableRow({ + height: { value: CONTENT_H, rule: "exact" }, + children: [new TableCell({ + shading, borders: noBorders, + margins: { top: 0, bottom: 0, left: 0, right: 0 }, + verticalAlign: VerticalAlign.TOP, + children, + })], + }), + new TableRow({ + height: { value: FOOTER_H, rule: "exact" }, + children: [new TableCell({ + shading, borders: noBorders, + margins: { top: 0, bottom: 0, left: 0, right: 0 }, + verticalAlign: VerticalAlign.CENTER, + children: [footerTable], + })], + }), + ], + })]; +} + +// R6 title layout: prefer FEWER lines over larger font size (single line best) +function calcTitleLayoutR6(title, availableWidthTw, preferredPt, minPt) { + const step = 2; + // Try to fit in 1 line (shrink font if needed) + for (let pt = preferredPt; pt >= minPt; pt -= step) { + const charWidthTw = pt * 23 * 0.5; // CJK ~50% em width + const charsPerLine = Math.floor(availableWidthTw / charWidthTw); + if (title.length <= charsPerLine) return { titlePt: pt, titleLines: [title] }; + } + // Can't fit in 1 line, try 2 lines at largest possible font + for (let pt = preferredPt; pt >= minPt; pt -= step) { + const charWidthTw = pt * 23 * 0.5; + const charsPerLine = Math.floor(availableWidthTw / charWidthTw); + const lines = splitTitleLines(title, charsPerLine); + if (lines.length <= 2) return { titlePt: pt, titleLines: lines }; + } + // Fallback: minPt, up to 3 lines + const charWidthTw = minPt * 23 * 0.5; + const charsPerLine = Math.floor(availableWidthTw / charWidthTw); + return { titlePt: minPt, titleLines: splitTitleLines(title, charsPerLine) }; +} + +// Usage: cover top decoration +// children: [colorStrip(P.accent, 120), ...] +``` + +#### 2. Side Ribbon + +Uses left border to create vertical ribbon effect. + +```js +function sideRibbon(content, color, width = 14) { + return new Paragraph({ + border: { + left: { style: BorderStyle.SINGLE, size: width, color: color.replace("#", ""), space: 12 }, + }, + indent: { left: 240 }, + spacing: { before: 100, after: 100 }, + children: content, + }); +} + +// Usage: emphasis quotes, chapter tips +// sideRibbon([new TextRun({ text: "Key Insight", bold: true })], P.accent) +``` + +#### 3. Border Compositions + +```js +// Top thick line + bottom thin line — title area frame +function frameTitle(titleRuns) { + return new Paragraph({ + border: { + top: { style: BorderStyle.SINGLE, size: 18, color: c(P.accent) }, + bottom: { style: BorderStyle.SINGLE, size: 4, color: c(P.accent) }, + }, + spacing: { before: 400, after: 200 }, + alignment: AlignmentType.CENTER, + children: titleRuns, + }); +} + +// L-shape border — left + bottom +function lShapeBorder(content) { + return new Paragraph({ + border: { + left: { style: BorderStyle.SINGLE, size: 12, color: c(P.accent), space: 10 }, + bottom: { style: BorderStyle.SINGLE, size: 12, color: c(P.accent) }, + }, + indent: { left: 300 }, + spacing: { before: 200, after: 300 }, + children: content, + }); +} + +// Double-line frame — top and bottom double lines +function doubleLine(content) { + return new Paragraph({ + border: { + top: { style: BorderStyle.DOUBLE, size: 6, color: c(P.accent) }, + bottom: { style: BorderStyle.DOUBLE, size: 6, color: c(P.accent) }, + }, + spacing: { before: 200, after: 200 }, + alignment: AlignmentType.CENTER, + children: content, + }); +} +``` + +#### 4. Gradient Simulation + +Multiple narrow color strips to simulate gradient effect. + +```js +function gradientStrip(startColor, endColor, steps = 5, totalHeight = 200) { + const rows = []; + const h = Math.floor(totalHeight / steps); + for (let i = 0; i < steps; i++) { + const ratio = i / (steps - 1); + const blended = blendColors(startColor, endColor, ratio); + rows.push(new TableRow({ + height: { value: h, rule: "exact" }, + children: [new TableCell({ + shading: { type: ShadingType.CLEAR, fill: blended }, + borders: { top: NB, bottom: NB, left: NB, right: NB }, + children: [new Paragraph({ children: [] })], + })], + })); + } + return new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: { top: NB, bottom: NB, left: NB, right: NB, + insideHorizontal: NB, insideVertical: NB }, + rows, + }); +} + +function blendColors(hex1, hex2, ratio) { + const r1 = parseInt(hex1.slice(1, 3), 16), g1 = parseInt(hex1.slice(3, 5), 16), b1 = parseInt(hex1.slice(5, 7), 16); + const r2 = parseInt(hex2.slice(1, 3), 16), g2 = parseInt(hex2.slice(3, 5), 16), b2 = parseInt(hex2.slice(5, 7), 16); + const r = Math.round(r1 + (r2 - r1) * ratio), g = Math.round(g1 + (g2 - g1) * ratio), b = Math.round(b1 + (b2 - b1) * ratio); + return `${r.toString(16).padStart(2,"0")}${g.toString(16).padStart(2,"0")}${b.toString(16).padStart(2,"0")}`; +} +``` + +#### 5. Symbol Ornaments + +```js +// Section divider line — for chapter separation +function ornamentDivider(symbol = "◆", count = 3) { + const ornament = Array(count).fill(symbol).join(" "); + return new Paragraph({ + alignment: AlignmentType.CENTER, + spacing: { before: 400, after: 400 }, + children: [new TextRun({ text: ornament, size: 20, color: c(P.accent) })], + }); +} + +// Common decoration symbols +// ◆ ◇ ● ○ ★ ☆ ■ □ ▲ △ ─ ━ ═ ║ ╔ ╗ ╚ ╝ +// Ornamental: ❧ ❦ ✦ ✧ ✿ ❀ ❁ ※ +``` + +#### 6. Info Card — Table Implementation + +```js +function infoCard(title, items, accentColor) { + const ac = accentColor.replace("#", ""); + const headerRow = new TableRow({ + children: [new TableCell({ + columnSpan: 2, + shading: { type: ShadingType.CLEAR, fill: ac }, + margins: { top: 80, bottom: 80, left: 160, right: 160 }, + borders: { top: NB, bottom: NB, left: NB, right: NB }, + children: [new Paragraph({ + children: [new TextRun({ text: title, bold: true, size: 24, color: "FFFFFF" })], + })], + })], + }); + + const dataRows = items.map(([label, value]) => new TableRow({ + children: [ + new TableCell({ + width: { size: 30, type: WidthType.PERCENTAGE }, + margins: { top: 60, bottom: 60, left: 160, right: 80 }, + shading: { type: ShadingType.CLEAR, fill: "F8F9FA" }, + borders: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "E0E0E0" }, + top: NB, left: NB, right: NB }, + children: [new Paragraph({ children: [new TextRun({ text: label, size: 21, color: "666666" })] })], + }), + new TableCell({ + margins: { top: 60, bottom: 60, left: 80, right: 160 }, + borders: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "E0E0E0" }, + top: NB, left: NB, right: NB }, + children: [new Paragraph({ children: [new TextRun({ text: value, size: 21 })] })], + }), + ], + })); + + return new Table({ + width: { size: 80, type: WidthType.PERCENTAGE }, + alignment: AlignmentType.CENTER, + borders: { top: NB, bottom: NB, left: NB, right: NB, + insideHorizontal: NB, insideVertical: NB }, + rows: [headerRow, ...dataRows], + }); +} +``` + + +// R7 — Swiss Tech Minimalist (slate grey bg, Klein blue accent, asymmetric layout) +// Suitable for: cultural/creative research, trend reports, brand strategy, design deliverables +// Palette: ST-1 (exclusive) +// Layout: left-aligned title (upper 20%), right-shifted subtitle with top rule, +// right-aligned info block with accent right border, Swiss cross anchor +// Key features: ■ square accent dot, open-frame tables, large whitespace +// +// ⚠️ MANDATORY: All cover non-negotiables apply (margin=0, 16838 exact, allNoBorders) +// ⚠️ Title uses calcTitleLayout() with maxPt=36 (not 40 — R7 uses lighter visual weight) + +function buildCoverR7(config) { + const P = palettes[config.palette || "ST-1"]; + const C = P.cover; + const padL = 600; + + // Title layout — R7 uses 36pt max (lighter than R1-R4's 40pt) + const availW = 11906 - padL - 600; + const { titlePt, titleLines } = calcTitleLayout(config.title, availW, 36, 24); + const titleSize = titlePt * 2; + const lineH = Math.ceil(titlePt * 23); + + // Dynamic spacing based on title lines + const topSpacer = titleLines.length <= 2 ? 1200 : 800; + const subtitleSpacer = titleLines.length <= 2 ? 1400 : 800; + const infoSpacer = titleLines.length <= 2 ? 2200 : 1200; + + const children = []; + + // 1. Swiss cross anchor — top-left decorative element + children.push(new Paragraph({ + spacing: { before: 600 }, + indent: { left: padL }, + children: [new TextRun({ + text: "\uFF0B", // + fullwidth plus + size: 40, bold: true, color: C.titleColor, + font: { ascii: "Arial", eastAsia: "SimHei" }, + })], + })); + + // 2. Top spacer + children.push(new Paragraph({ spacing: { before: topSpacer } })); + + // 3. Title lines — left-aligned, last line has accent ■ + titleLines.forEach((line, i) => { + const isLast = i === titleLines.length - 1; + const runs = [new TextRun({ + text: line, size: titleSize, color: C.titleColor, + font: { ascii: "Arial", eastAsia: "Noto Sans SC" }, + })]; + if (isLast) { + runs.push(new TextRun({ + text: " \u25A0", // ■ black square + size: 24, color: P.accent, + font: { ascii: "Arial" }, + })); + } + children.push(new Paragraph({ + indent: { left: padL }, + spacing: { after: isLast ? 200 : 80, line: lineH, lineRule: "atLeast" }, + children: runs, + })); + }); + + // 4. Subtitle spacer + children.push(new Paragraph({ spacing: { before: subtitleSpacer } })); + + // 5. Subtitle — right-shifted, top border rule, wide character spacing + if (config.subtitle) { + children.push(new Paragraph({ + indent: { left: 3800, right: 600 }, + border: { top: { style: BorderStyle.SINGLE, size: 2, color: C.titleColor, space: 14 } }, + spacing: { after: 200 }, + children: [new TextRun({ + text: config.subtitle, size: 26, color: C.subtitleColor, + font: { ascii: "Arial", eastAsia: "Noto Sans SC" }, + characterSpacing: 40, + })], + })); + } + + // 6. Decorative horizontal line + children.push(new Paragraph({ + spacing: { before: 600 }, + border: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "C8D0DC", space: 0 } }, + })); + + // 7. Info spacer + children.push(new Paragraph({ spacing: { before: infoSpacer } })); + + // 8. Info footer — right-aligned, 4 label+value pairs, accent right border + // Standard fields: ORGANIZATION, RESPONSIBILITY, REPORT NUMBER, DATE & EDITION + const metaEntries = config.metaEntries || [ + { label: "ORGANIZATION", value: config.organization || "" }, + { label: "RESPONSIBILITY", value: config.responsibility || "" }, + { label: "REPORT NUMBER", value: config.reportNumber || "" }, + { label: "DATE & EDITION", value: config.dateEdition || "" }, + ]; + + for (const entry of metaEntries) { + // Label — 7pt uppercase English + children.push(new Paragraph({ + alignment: AlignmentType.RIGHT, + indent: { right: 800 }, + border: { right: { style: BorderStyle.SINGLE, size: 12, color: P.accent, space: 16 } }, + spacing: { after: 20 }, + children: [new TextRun({ + text: entry.label, size: 14, color: C.metaColor, + font: { ascii: "Arial" }, + characterSpacing: 20, + })], + })); + // Value — 11pt bold + children.push(new Paragraph({ + alignment: AlignmentType.RIGHT, + indent: { right: 800 }, + border: { right: { style: BorderStyle.SINGLE, size: 12, color: P.accent, space: 16 } }, + spacing: { after: 280 }, + children: [new TextRun({ + text: entry.value, size: 22, bold: true, color: C.titleColor, + font: { ascii: "Arial", eastAsia: "Noto Sans SC" }, + })], + })); + } + + // Wrap in 16838 exact wrapper table + return [new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, + borders: allNoBorders, + rows: [new TableRow({ + height: { value: 16838, rule: "exact" }, + children: [new TableCell({ + shading: { type: ShadingType.CLEAR, fill: P.bg }, + borders: noBorders, + verticalAlign: VerticalAlign.TOP, + children, + })], + })], + })]; +} + +### Decoration Usage Scenarios + +| Scenario | Recommended Decoration | Combination | +|------|----------|----------| +| Report cover | Color strip + L-frame border | Top strip → Title area → L-frame author info | +| Proposal cover | Gradient simulation + double-line frame | Gradient bg → Double-line title | +| Chapter separator | Symbol ornament + side ribbon | Symbol divider → New chapter title with ribbon | +| Summary card | Info card | Standalone card displaying key metrics | +| Academic cover | Color strip + info table | Top strip → School name → Title → Info table | + +--- + diff --git a/skills/docx/references/design-system.md b/skills/docx/references/design-system.md new file mode 100755 index 0000000..c2f3e0b --- /dev/null +++ b/skills/docx/references/design-system.md @@ -0,0 +1,1797 @@ +# Design System — DOCX Skill + +## Color Philosophy + +GLM uses a **mood-driven dynamic color system** instead of fixed named palettes. Colors are constructed from three dimensions: + +### Three Dimensions of Document Color + +| Dimension | Description | Range | +|-----------|-------------|-------| +| **Temperature** | Warm ↔ Cool | Warm (consulting, education) ↔ Cool (tech, medical) | +| **Weight** | Light ↔ Heavy | Light (resume, proposal) ↔ Heavy (legal, academic) | +| **Energy** | Calm ↔ Active | Calm (official, contract) ↔ Active (report, presentation) | + +### Color Token System + +Every document uses 5 color tokens. These are **computed** based on the document's mood, not selected from a fixed list. + +| Token | Role | Guidance | +|-------|------|----------| +| `primary` | Headings, cover title | Dark, authoritative. Derived from Temperature + Weight. | +| `body` | Body text | Near-black with subtle warmth/coolness. Always high contrast. | +| `secondary` | Captions, footnotes | Mid-tone gray. Legible but visually recessive. | +| `accent` | Table headers, lines, links | The "personality" color. Reflects document Energy. | +| `surface` | Table alternating rows, card backgrounds | Very light tint of accent or neutral. | + +### Mood Recipes + +Instead of 10 fixed palettes, combine dimensions to generate colors dynamically: + +**Cool + Heavy + Calm** → Deep Sea Academic (Academic / Research) +```js +const academic = { + primary: "#162032", body: "#1C2A3D", secondary: "#5B6B7D", + accent: "#8B7E5A", surface: "#F5F7FA" +}; +``` + +**Warm + Heavy + Calm** → Legal Wood (Legal / Compliance) +```js +const legal = { + primary: "#28201C", body: "#36302C", secondary: "#6E6560", + accent: "#7A5C3A", surface: "#FBF9F7" +}; +``` + +**Cool + Light + Active** → Dawn Mist Tech (Tech / Digital) +```js +const tech = { + primary: "#0A1628", body: "#1A2B40", secondary: "#6878A0", + accent: "#5B8DB8", surface: "#F4F8FC" +}; +``` + +**Warm + Light + Active** → Warm Sun (Education / Training) +```js +const education = { + primary: "#2A3518", body: "#384228", secondary: "#6B8040", + accent: "#D4A030", surface: "#F8FAF4" +}; +``` + +**Neutral + Medium + Calm** → Plain Paper (Default / General) +```js +const general = { + primary: "#101820", body: "#182030", secondary: "#506070", + accent: "#8090A0", surface: "#F2F4F6" +}; +``` + +**Warm + Medium + Calm** → Terracotta (Consulting / Architecture) +```js +const consulting = { + primary: "#241E1A", body: "#3A3430", secondary: "#68605A", + accent: "#B08050", surface: "#FDFBF9" +}; +``` + +**Cool + Medium + Active** → Mint Medical (Medical / Clinical) +```js +const medical = { + primary: "#0E2030", body: "#1E2E40", secondary: "#4A6580", + accent: "#3888A8", surface: "#F0F6FA" +}; +``` + +**Neutral + Light + Calm** → White Porcelain (Product Manuals / Minimalist) +```js +const minimal = { + primary: "#303030", body: "#484848", secondary: "#808080", + accent: "#B89870", surface: "#FAFAF8" +}; +``` + +**Cool + Light + Active (Gradient)** → Lapis Tech (Tech / AI / Innovation) +```js +const liuliTech = { + primary: "#1A1F36", body: "#000000", secondary: "#5A6080", + accent: "#667eea", surface: "#F8F9FF", + gradient: ["#667eea", "#764ba2"], // Purple-blue gradient (blendColors 5-step) +}; +``` + +**Cool + Heavy + Active (Gradient)** → Deep Sea Blue-Gold (Finance / Investment / Premium) +```js +const deepBlueGold = { + primary: "#0F2027", body: "#000000", secondary: "#4A6575", + accent: "#D4AF37", surface: "#F5F7FA", + gradient: ["#0F2027", "#203A43", "#2C5364"], // 3-step deep sea blue gradient +}; +``` + +**Warm + Light + Active (Gradient)** → Mint Dawn (Education / Health / Green) +```js +const mintMorning = { + primary: "#1A3A3A", body: "#000000", secondary: "#507070", + accent: "#3CB4A0", surface: "#F0FFFE", + gradient: ["#3CB4A0", "#a8edea"], // Mint green gradient +}; +``` + +**Neutral + Medium + Active** → Graphite Orange (Professional but Energetic) +```js +const graphiteOrange = { + primary: "#2C3E50", body: "#000000", secondary: "#607080", + accent: "#E67E22", surface: "#FDF8F3", +}; +``` + +### Scene → Mood Mapping + +| Scene Keywords | Temperature | Weight | Energy | Recipe | +|----------------|-------------|--------|--------|--------| +| thesis, academic | Cool | Heavy | Calm | Deep Sea Academic | +| report (general) | Neutral | Medium | Calm | Plain Paper | +| report (consulting) | Warm | Medium | Calm | Terracotta | +| report (tech) | Cool | Light | Active | Dawn Mist Tech | +| contract, agreement, legal | Warm | Heavy | Calm | Legal Wood | +| resume, CV | Neutral | Light | Calm | White Porcelain (preferred) or Dawn Mist Tech | +| exam, test | — | — | — | **Pure B&W** | +| official document | — | — | — | **Pure B&W** | +| AI, tech | Cool | Light | Active | Dawn Mist Tech | +| medical | Cool | Medium | Active | Mint Medical | +| environmental, sustainability | Warm | Light | Active | Warm Sun | +| lesson plan (STEM / science / tech) | Cool | Light | Active | Dawn Mist Tech | +| lesson plan (arts / music / PE) | Neutral | Medium | Active | Graphite Orange | +| lesson plan (general education) | Neutral | Medium | Calm | Plain Paper | +| education report (not lesson plan) | Warm | Light | Active | Mint Dawn | +| product manual | Neutral | Light | Calm | White Porcelain | +| tech, AI, internet, innovation | Cool | Light | Active | Lapis Tech | +| finance, investment, premium | Cool | Heavy | Active | Deep Sea Blue-Gold | +| health, green | Warm | Light | Active | Mint Dawn | +| energetic, vibrant | Neutral | Medium | Active | Graphite Orange | +| essay, composition, self-evaluation, review/reflection, letter (non-business), speech, application, proposal letter | — | — | — | **Pure B&W** | +| _(no match)_ | Neutral | Medium | Calm | Plain Paper | + +### Visual Profile Color Guidance + +For **Profile B (Visual)** scenes — resume, copywriting, and other non-formal documents — prefer **warm neutral** tones aligned with the "Invisible Precision" design philosophy: + +- **Body text**: Use warm dark neutrals (`#37352F`, `#303030`, `#3A3430`) instead of cool blue-grays. This reduces eye strain. +- **Surface/background**: Use warm near-white (`#F7F7F7`, `#FAFAF8`, `#FBF9F7`) instead of cool tints. +- **Accent colors**: Use sparingly and only for functional differentiation (section headers, key metrics, links). 95% of the document should remain monochromatic (black, white, gray). +- **Tables**: Prefer the **Zebra Stripe** style (see Table Styles §2) — hierarchy through background contrast with minimal borders. Fallback: Horizontal-Only. + +This does NOT apply to Profile A (Formal) scenes (report, academic, contract, official-doc, exam), which must retain pure black `"000000"` body text per regulatory standards. + +### Custom Color Generation + +When the pre-defined recipes don't fit, construct colors using these rules: + +1. **primary**: Start from `hsl(hue, 25-40%, 10-18%)` — dark, desaturated +2. **body**: primary lightened 5-8% — readable dark +3. **secondary**: primary lightened 30-40% — clearly subordinate +4. **accent**: Choose a hue reflecting the domain, `hsl(domainHue, 30-50%, 45-55%)` +5. **surface**: accent desaturated to 5-10%, lightened to 96-98% + +**Contrast check**: body text on white must achieve WCAG AA (≥4.5:1). All recipes above pass this. + +--- + +## Font Specifications + +### Chinese Fonts + +| Usage | Font | Fallback | +|-------|------|----------| +| Headings | SimHei (SimHei) | Microsoft YaHei Bold | +| Body | Microsoft YaHei (YaHei) | SimSun (SimSun) | +| Academic body | SimSun (SimSun) | — | +| Academic headings | SimHei (SimHei) | — | +| Official doc body | FangSong (FangSong) | FangSong_GB2312 | +| Official doc title | STXiaoBiaoSong (XiaoBiaoSong) | SimSun Bold | + +### English Fonts + +For **English documents** (document language = English): + +| Usage | Font | Fallback | +|-------|------|----------| +| Headings | Times New Roman Bold | Arial Bold | +| Body | Times New Roman | Calibri | +| Academic | Times New Roman | — | + +For **English text within Chinese documents**, use the Chinese document's ascii font (Calibri by default). + +### Font Paths (for matplotlib / image generation) + +```python +# macOS +SIMHEI = "/System/Library/Fonts/Supplemental/SimHei.ttf" +# Linux +SIMHEI = "/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc" +# Fallback: download SimHei.ttf to working directory +``` + +### docx-js Font Configuration + +```js +// In Document styles.default +styles: { + default: { + document: { + run: { + font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, + size: 24, // Xiao Si 小四 12pt + color: palette.body, + }, + paragraph: { + spacing: { line: 312 }, // 1.3x mandatory + }, + }, + heading1: { + run: { + font: { ascii: "Calibri", eastAsia: "SimHei" }, + size: 32, // San Hao 三号 16pt + bold: true, + color: palette.primary, + }, + }, + heading2: { + run: { + font: { ascii: "Calibri", eastAsia: "SimHei" }, + size: 28, // Si Hao 四号 14pt + bold: true, + color: palette.primary, + }, + }, + }, +} +``` + +--- + +## Table Styles + +**Profile routing:** Profile A (Formal: report, academic, contract, exam) → Three-Line Table or Horizontal-Only Table. Profile B (Visual: resume, copywriting) → Zebra Stripe (preferred) or Horizontal-Only Table. + +### 1. Three-Line Table (三线表) — Academic + +Only three horizontal lines: top of table, bottom of header, bottom of table. + +```js +const threeLineTable = new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: { + top: { style: BorderStyle.SINGLE, size: 4, color: "000000" }, + bottom: { style: BorderStyle.SINGLE, size: 4, color: "000000" }, + left: { style: BorderStyle.NONE }, + right: { style: BorderStyle.NONE }, + insideHorizontal: { style: BorderStyle.NONE }, + insideVertical: { style: BorderStyle.NONE }, + }, + rows: [ + new TableRow({ + children: headerCells.map(text => new TableCell({ + children: [new Paragraph({ children: [new TextRun({ text, bold: true, size: 21 })] })], + borders: { + bottom: { style: BorderStyle.SINGLE, size: 2, color: "000000" }, + top: { style: BorderStyle.NONE }, + left: { style: BorderStyle.NONE }, + right: { style: BorderStyle.NONE }, + }, + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + })), + }), + // ... data rows with all borders NONE + ], +}); +``` + +### 2. Zebra Stripe — Data Reports + +```js +function zebraRow(cells, index, palette) { + return new TableRow({ + children: cells.map(text => new TableCell({ + children: [new Paragraph({ children: [new TextRun({ text, size: 21 })] })], + shading: index % 2 === 0 + ? { type: ShadingType.CLEAR, fill: palette.surface } + : { type: ShadingType.CLEAR, fill: "FFFFFF" }, + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + })), + }); +} +``` + +### 3. Horizontal-Only — Business (Default) + +```js +const horizontalTable = new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: { + top: { style: BorderStyle.SINGLE, size: 2, color: palette.accent.replace("#","") }, + bottom: { style: BorderStyle.SINGLE, size: 2, color: palette.accent.replace("#","") }, + left: { style: BorderStyle.NONE }, + right: { style: BorderStyle.NONE }, + insideHorizontal: { style: BorderStyle.SINGLE, size: 1, color: "D0D0D0" }, + insideVertical: { style: BorderStyle.NONE }, + }, + rows: [/* header row with accent shading, then data rows */], +}); +``` + +**⚠️ CRITICAL**: Always set `margins` at the Table or TableCell level. Without margins, text touches cell borders. + +### Table Color Token Derivation + +Each palette in `coverPalettes` provides a `table` object with pre-computed colors for all 3 table styles: + +| Token | Used in | Description | +|-------|---------|-------------| +| `table.headerBg` | Zebra Stripe, Horizontal-Only | Table header background color | +| `table.headerText` | Zebra Stripe, Horizontal-Only | Table header text color (must pass WCAG AA contrast) | +| `table.accentLine` | Three-Line | Top/bottom/header-bottom line color | +| `table.innerLine` | Horizontal-Only | Inner horizontal separator line color | +| `table.surface` | Zebra Stripe | Alternating row background (light tint) | + +**Usage:** +```js +const palette = coverPalettes["DS-1"]; +const t = palette.table; +// Three-Line: use t.accentLine for border colors +// Zebra: use t.headerBg, t.headerText, t.surface +// Horizontal: use t.headerBg, t.headerText, t.innerLine +``` + +**⚠️ High-saturation accent override**: For DM-1, FG-1, and SN-2, the table colors are intentionally darkened/desaturated relative to the cover accent. Bright accent colors that look good on dark cover backgrounds are too eye-straining on white body pages. Always use `palette.table.*` for tables, never the raw `palette.accent`. + +--- +--- + +## Cover Page Design System + +### Design Philosophy + +Covers use **7 validated layout recipes** + **parameterized variants** instead of free combination. Each recipe's background, layout, and decoration are visually verified. Differentiation comes from **palette × font size × content variation**. + +**Architecture principle:** All recipes use a **single 16838 outer wrapper table** (one row, exact height). Recipes R1/R2/R3 use **ZERO nested tables** — all decoration is achieved via **paragraph borders** (left/right/top/bottom). This ensures maximum cross-engine stability (MS Office + WPS). + +### Cover Color Palettes (Dark Mode + Light Mode) + +Each palette defines 3 core colors (Background, Primary, Accent) + derived cover/table tokens. + +⚠️ **Disambiguation: `cover.titleColor` is a COLOR value, not title text.** All keys under `cover: { ... }` are **color hex codes** for styling cover text elements. They are NOT text content. The actual title text comes from `config.title`. Never use `P.titleColor` as the `text` parameter of a `TextRun` — it must only be used as the `color` parameter. + +```js +// ✅ Correct — config.title is the text, P.titleColor is the color +new TextRun({ text: config.title, color: P.titleColor }) + +// ❌ WRONG — using color value as text content +new TextRun({ text: P.titleColor, color: P.titleColor }) // displays "FFFFFF" as visible text! +``` + +```js +const coverPalettes = { + // ── Light backgrounds (7) ── + "WM-1": { // Warm Teal — education, training, marketing + bg: "F4F1E9", primary: "15857A", accent: "FF6A3B", + cover: { titleColor: "15857A", subtitleColor: "606060", metaColor: "707070", footerColor: "A0A0A0" }, + table: { headerBg: "15857A", headerText: "FFFFFF", accentLine: "15857A", innerLine: "D5D0C8", surface: "F0EDE5" }, + }, + "CM-2": { // Blue Orange — tech, corporate, whitepaper + bg: "FEFEFE", primary: "1284BA", accent: "FF862F", + cover: { titleColor: "1284BA", subtitleColor: "606060", metaColor: "707070", footerColor: "A0A0A0" }, + table: { headerBg: "1284BA", headerText: "FFFFFF", accentLine: "1284BA", innerLine: "D8E4EC", surface: "EDF4F9" }, + }, + "SN-2": { // Soft Purple — creative, branding, events (⚠️ NOT for business) + bg: "EBDCEF", primary: "73593C", accent: "B13DC6", + cover: { titleColor: "73593C", subtitleColor: "606060", metaColor: "707070", footerColor: "A0A0A0" }, + table: { headerBg: "7A4D8A", headerText: "FFFFFF", accentLine: "7A4D8A", innerLine: "D8D0DE", surface: "F2EDF5" }, + }, + "MIN-1": { // Warm Gold — consulting, minimalist business, premium proposals + bg: "F3F1ED", primary: "000000", accent: "D6C096", + cover: { titleColor: "000000", subtitleColor: "606060", metaColor: "707070", footerColor: "A0A0A0" }, + table: { headerBg: "D6C096", headerText: "1A1A1A", accentLine: "000000", innerLine: "DDD8CC", surface: "F5F3ED" }, + }, + "WR-2": { // Retro Green — traditional industry, finance compliance, legal + bg: "F4F1E9", primary: "2A4A3A", accent: "C89F62", + cover: { titleColor: "2A4A3A", subtitleColor: "606060", metaColor: "707070", footerColor: "A0A0A0" }, + table: { headerBg: "2A4A3A", headerText: "FFFFFF", accentLine: "2A4A3A", innerLine: "D0D8D0", surface: "F0EDE5" }, + }, + "MC-1": { // Medical Blue — healthcare, clinical reports + bg: "F5F8FC", primary: "1A5276", accent: "2E86C1", + cover: { titleColor: "1A5276", subtitleColor: "606060", metaColor: "707070", footerColor: "A0A0A0" }, + table: { headerBg: "2E86C1", headerText: "FFFFFF", accentLine: "1A5276", innerLine: "D0DDE8", surface: "EDF3F8" }, + }, + "GV-1": { // Official Red — government, state-owned enterprise, party building + bg: "FAFAFA", primary: "1A1A1A", accent: "C0392B", + cover: { titleColor: "1A1A1A", subtitleColor: "606060", metaColor: "707070", footerColor: "A0A0A0" }, + table: { headerBg: "C0392B", headerText: "FFFFFF", accentLine: "C0392B", innerLine: "DDD0D0", surface: "F8F0F0" }, + }, + + // ── Dark backgrounds (5) ── + "DS-1": { // Deep Sea — annual report, general business + bg: "0B1C2C", primary: "FFFFFF", accent: "529286", + cover: { titleColor: "FFFFFF", subtitleColor: "B0B8C0", metaColor: "90989F", footerColor: "687078" }, + table: { headerBg: "529286", headerText: "FFFFFF", accentLine: "529286", innerLine: "BECFCC", surface: "E8ECEB" }, + }, + "IG-1": { // Ink Gold — finance, investment, luxury brand + bg: "1A1A1A", primary: "FFFFFF", accent: "C9A84C", + cover: { titleColor: "FFFFFF", subtitleColor: "B0B8C0", metaColor: "90989F", footerColor: "687078" }, + table: { headerBg: "C9A84C", headerText: "1A1A1A", accentLine: "C9A84C", innerLine: "DDD5C0", surface: "F5F2E8" }, + }, + "DM-1": { // Deep Cyan — AI, tech proposals, digital transformation + bg: "162235", primary: "FFFFFF", accent: "37DCF2", + cover: { titleColor: "FFFFFF", subtitleColor: "B0B8C0", metaColor: "90989F", footerColor: "687078" }, + // ⚠️ Table uses darkened accent (#1B6B7A) — bright #37DCF2 is too saturated for white-page tables + table: { headerBg: "1B6B7A", headerText: "FFFFFF", accentLine: "1B6B7A", innerLine: "C8DDE2", surface: "EDF3F5" }, + }, + "FG-1": { // Forest Mint — ESG, environmental, sustainability, agriculture + bg: "0C1F1A", primary: "FFFFFF", accent: "3DDBB5", + cover: { titleColor: "FFFFFF", subtitleColor: "B0B8C0", metaColor: "90989F", footerColor: "687078" }, + // ⚠️ Table uses darkened accent (#2A7A65) — bright #3DDBB5 is too saturated for white-page tables + table: { headerBg: "2A7A65", headerText: "FFFFFF", accentLine: "2A7A65", innerLine: "C5D8D0", surface: "EDF5F2" }, + }, + "GO-1": { // Graphite Orange — proposals, bidding, PRD + bg: "1A2330", primary: "FFFFFF", accent: "D4875A", + cover: { titleColor: "FFFFFF", subtitleColor: "B0B8C0", metaColor: "90989F", footerColor: "687078" }, + table: { headerBg: "D4875A", headerText: "FFFFFF", accentLine: "D4875A", innerLine: "DDD0C8", surface: "F8F0EB" }, + }, + + // ── Special (R5 only) ── + "ED-1": { // Editorial Warm — lesson plans, cultural/creative, light reports, newsletters + bg: "F7F7F5", primary: "2C2C2C", accent: "D4D4D0", + cover: { titleColor: "2C2C2C", subtitleColor: "6B6B6B", metaColor: "9A9A9A", footerColor: "9A9A9A" }, + table: { headerBg: "E8E8E4", headerText: "2C2C2C", accentLine: "D4D4D0", innerLine: "E8E8E4", surface: "FAFAF8" }, + // Note: R6 exclusive. Minimal editorial style — warm grey tones, no colored headers. + }, + + "ST-1": { // Swiss Tech — cultural/creative research, trend reports, brand strategy + bg: "E2E8F0", primary: "0F172A", accent: "0042E6", + cover: { titleColor: "0F172A", subtitleColor: "475569", metaColor: "475569", footerColor: "475569" }, + table: { headerBg: "475569", headerText: "FFFFFF", accentLine: "0042E6", innerLine: "CBD5E1", surface: "F1F5F9" }, + // Note: R7 exclusive. Swiss minimalist — slate grey bg, Klein blue accent, open-frame tables. + }, + + "ACADEMIC": { // Academic Black — thesis, standards (R5 exclusive, not in general routing) + bg: "FFFFFF", primary: "000000", accent: "000000", + cover: { titleColor: "000000", subtitleColor: "404040", metaColor: "606060", footerColor: "808080" }, + table: { headerBg: "000000", headerText: "000000", accentLine: "000000", innerLine: "000000", surface: "FFFFFF" }, + // Note: Academic uses Three-Line table only, with pure black lines. No colored headers. + }, +}; +``` + +### ⚠️ Dark Cover → Light Table Rule + +Covers with dark backgrounds (DS-1, IG-1, DM-1, FG-1, GO-1) use bright accent on dark bg. +Body page tables are always on WHITE background — table colors use **darkened/desaturated** variants of the accent. +High-saturation accent colors (DM-1 #37DCF2, FG-1 #3DDBB5, SN-2 #B13DC6) are explicitly overridden in `table.*` fields above. + +### ⚠️ SN-2 Scene Restriction + +SN-2 (Soft Purple) is restricted to creative/branding/event documents ONLY. +It MUST NOT be used for: business reports, consulting, finance, legal, government, medical, or technical documents. + +### Industry → Palette Recommendations + +| Industry / Theme | Recommended Palette | Fallback | +|-----------|---------|---------| +| General annual report | DS-1 Deep Sea | CM-2 | +| Finance / investment / luxury | IG-1 Ink Gold | WR-2, MIN-1 | +| Tech / AI / internet | DM-1 Deep Cyan | CM-2 | +| ESG / environmental / sustainability | FG-1 Forest Mint | DS-1 | +| Consulting / diagnostic report | MIN-1 Warm Gold | WR-2 | +| Business proposal / bidding / PRD | GO-1 Graphite Orange | CM-2 | +| Education / training (formal) | WM-1 Warm Teal | CM-2 | +| Lesson plan (arts/general) | ED-1 Editorial Warm | WM-1 | +| Cultural / newsletter / internal | ED-1 Editorial Warm | WM-1 | +| Events / activities | ED-1 Editorial Warm | WM-1 | +| Medical / healthcare / clinical | MC-1 Medical Blue | CM-2 | +| Government / state-owned / party | GV-1 Official Red | MIN-1 | +| Traditional industry / legal / compliance | WR-2 Retro Green | MIN-1 | +| Creative / branding (formal) | SN-2 Soft Purple | WM-1 | +| Whitepaper (general) | CM-2 Blue Orange | DS-1, MIN-1 | +| Academic / thesis / standards | ACADEMIC | — | + +--- + +### ⚠️ Recipe Routing Rules (Replaces Free Selection) + +```js +function selectCoverRecipe(docType, industry, titleLength) { + // No cover for these types + if (["contract", "official", "exam", "resume"].includes(docType)) return null; + + // Academic + if (docType === "academic") return { recipe: "R5", palette: "ACADEMIC" }; + + // Thesis proposal report (开题报告) + if (docType === "proposal_report") return { recipe: "R5", palette: "ACADEMIC" }; + + // Lesson plans — R6 editorial for arts/general, R4 for STEM + if (docType === "lesson_plan" || docType === "lessonplan") { + const stemKeywords = ["math", "physics", "chemistry", "biology", "science", "tech", "computer", "engineering"]; + if (stemKeywords.some(k => (industry || "").toLowerCase().includes(k))) { + return { recipe: "R4", palette: "DM-1" }; + } + // Arts, general, and all other lesson plans → R6 editorial + return { recipe: "R6", palette: "ED-1" }; + } + + // Creative/branding/design (formal) → R3 centered card frame + if (["creative", "branding", "design"].includes(docType)) { + return { recipe: "R3", palette: "SN-2" }; + } + + // Cultural/newsletter/internal (casual) → R6 editorial + if (["cultural", "newsletter", "internal"].includes(docType)) { + return { recipe: "R6", palette: "ED-1" }; + } + + // Activity/event planning → R6 editorial + if (docType === "activity") return { recipe: "R6", palette: "ED-1" }; + + // Trend/research reports in cultural/creative/brand fields → R7 Swiss Tech + if (docType === "trend_report" || docType === "research_report") { + if (["cultural", "creative", "brand", "design"].includes(industry)) { + return { recipe: "R7", palette: "ST-1" }; + } + } + + // Formal/business subtypes + if (docType === "whitepaper") return { recipe: "R2", palette: industry === "finance" ? "IG-1" : "CM-2" }; + if (docType === "consulting") return { recipe: "R2", palette: "MIN-1" }; + if (docType === "proposal" || docType === "plan") return { recipe: "R4", palette: "GO-1" }; + + // Reports — palette by industry, use R1 + if (docType === "report") { + const paletteMap = { + finance: "IG-1", consulting: "MIN-1", + tech: "DM-1", ai: "DM-1", + education: "WM-1", green: "FG-1", + medical: "MC-1", government: "GV-1", + }; + return { recipe: "R1", palette: paletteMap[industry] || "DS-1" }; + } + + // Default + return { recipe: "R1", palette: "DS-1" }; +} + +// ── Long-title override (applied AFTER initial recipe selection) ── +// Call this after selectCoverRecipe() when the actual title text is known. +function applyLongTitleOverride(result, titleLength) { + if (!result || !result.recipe) return result; + // R5 (academic) is never overridden — it has its own calcTitleLayoutMixed() + if (result.recipe === "R5") return result; + // R6 (editorial) is designed for short titles only (≤20 chars, single line) + // Long titles → fall back to R1 (handles long titles best) + if (titleLength > 20 && result.recipe === "R6") { + return { recipe: "R1", palette: "WM-1" }; // ED-1 has no dark bg, use WM-1 (warm teal) + } + // R3/R4 struggle with long titles → fall back to R1 (same palette) + if (titleLength > 20 && ["R3", "R4"].includes(result.recipe)) { + return { recipe: "R1", palette: result.palette }; + } + // Very long titles: even R2 centered looks scattered → R1 left-aligned + if (titleLength > 30 && result.recipe === "R2") { + return { recipe: "R1", palette: result.palette }; + } + return result; +} +``` + +### Scene Cover Routing + +| Scene | Recipe | Default Palette | Special Requirements | +|------|------|---------|----------| +| academic thesis | R5 (Clean White) | ACADEMIC | School name + 2-col meta table with underlines, see academic.md | +| thesis proposal report (开题报告) | R5 (Clean White) | ACADEMIC | Use `buildProposalCover()` from academic.md | +| business report (general) | R1 (Pure Paragraph Left) | DS-1 Deep Sea | Auto-select palette by industry | +| whitepaper | R2 (Double-Rule Frame) | CM-2 Blue Orange / IG-1 Ink Gold | — | +| consulting report | R2 (Double-Rule Frame) | MIN-1 Warm Gold | — | +| business proposal / plan | R4 (Top Color Block) | GO-1 Graphite Orange | — | +| events / activities | R6 (Editorial Warm) | ED-1 Editorial Warm | Light/casual style, short titles only (≤20 chars) | +| lesson plan (STEM) | R4 (Top Color Block) | DM-1 Deep Cyan | Route by subject, see selectCoverRecipe | +| lesson plan (arts/general) | R6 (Editorial Warm) | ED-1 Editorial Warm | Casual editorial style, short titles only | +| creative / branding / design (formal) | R3 (Centered Card Frame) | SN-2 Soft Purple | Product overview, brand doc, design report | +| cultural / newsletter / internal | R6 (Editorial Warm) | ED-1 Editorial Warm | Light/casual style, short titles only (≤20 chars) | +| trend/research report (cultural/creative/brand) | R7 (Swiss Tech) | ST-1 Swiss Tech | Minimalist slate bg, Klein blue accent, open-frame tables | +| education report | R1 (Pure Paragraph Left) | WM-1 Warm Teal | For education reports, NOT lesson plans | +| ESG / environmental | R1 (Pure Paragraph Left) | FG-1 Forest Mint | — | +| medical / healthcare | R1 (Pure Paragraph Left) | MC-1 Medical Blue | — | +| government / state-owned | R1 (Pure Paragraph Left) | GV-1 Official Red | — | +| resume | — | — | No standalone cover | +| contract | — | — | No standalone cover (title page is first page) | +| official document | — | — | No standalone cover | +| exam paper | — | — | No standalone cover | + +--- + +### Cover Title Length Guidelines + +When the user does NOT specify an exact title, the model should craft a title within the recommended range. If the user provides a title that exceeds the comfortable range, apply long-title routing in `selectCoverRecipe()` (see above). + +| Recipe | Comfortable (1–2 lines) | Maximum (3 lines) | Long Title Tolerance | +|--------|------------------------|--------------------|----------------------| +| R1 | 8–20 chars | ≤50 chars | ⭐⭐⭐⭐⭐ Best (left-aligned, full-page bg) | +| R2 | 8–18 chars | ≤45 chars | ⭐⭐⭐⭐ Good (full-page bg, but centered) | +| R3 | 8–15 chars | ≤40 chars | ⭐⭐ Poor (narrowest width) | +| R4 | 8–18 chars | ≤45 chars | ⭐⭐ Poor (fixed-height color block) | +| R5 | 8–16 chars | ≤42 chars | ⭐⭐⭐ OK (academic only, mixed-width calc) | +| R6 | 8–15 chars | ≤20 chars (1 line) | ⭐ Single line only (editorial, no multi-line) | +| R7 | 8–24 chars | ≤42 chars (3 lines) | ⭐⭐⭐⭐ Good (left-aligned, light bg, dynamic spacing) | + +**Title crafting rules (when model generates the title):** +1. Prefer concise titles within the "comfortable" range +2. If topic requires detail, split into title + subtitle (e.g., title="数字化转型战略研究" subtitle="——以某某企业为例") +3. Never exceed the "maximum" range unless user explicitly provides the full title + +--- + +### ⚠️ Cover Page Break Rules + +Cover should be an independent section — **no PageBreak at the end needed**. The next section automatically starts a new page. + +```js +// ✅ Correct — cover is a separate section, no trailing PageBreak +sections: [ + { properties: { /* Cover section, margin all 0 */ }, children: buildCover(...) }, + { properties: { /* Body section */ }, children: buildContent(...) }, +] +``` + +### ⚠️ Cover Content Overflow Prevention (Mandatory) + +1. Cover section page margin is 0; total content height ≤ 15638 twips (1200 twips safety margin for cross-engine compatibility — MS Office renders large fonts taller than calculated). +2. Color block Table `height` must use `rule: "exact"` (never `"atLeast"`). +3. Each recipe code includes height budget annotations — verify during generation. +4. **`verticalAlign` must always be `"top"`**. Never use `"center"` or `"bottom"` in exact-height rows — content will be clipped or overflow. Use `spacing.before` on the first paragraph for vertical positioning. +5. **Title font size MUST be dynamically calculated via `calcTitleLayout()`** (see below). Never hardcode font sizes above 40pt for cover titles. Every recipe MUST call `calcTitleLayout()` before building title paragraphs. +6. **Never use `margins.top`/`margins.bottom` for vertical positioning inside exact-height cells**: Cell margins reduce available height unpredictably across MS Office and WPS. Use `spacing.before` on the first paragraph instead. Only `margins.left`/`margins.right` are safe. +7. **Dynamic spacing is mandatory**: Use `calcCoverSpacing()` to compute `spacing.before` values dynamically based on content element count and title line count. Never use fixed large spacing values (e.g., `before: 4500`) that assume a specific title length. +8. **Cover must be a single-page section**: The cover section must produce exactly ONE page. If content overflows to a second page, it means the height budget is violated. Common overflow causes and fixes: + - Title font too large → use `calcTitleLayout()` to auto-reduce + - Too many meta lines → reduce font size or remove less important lines + - Fixed `spacing.before` values too large → use `calcCoverSpacing()` for dynamic values + - Subtitle + English label + meta lines combined exceed budget → calculate total and reduce spacing +9. **Cover wrapper table MUST use explicit `allNoBorders`**: The outer 16838 wrapper table and ALL nested tables inside the cover MUST set borders to NONE explicitly. Never rely on docx-js default borders (`single/auto/sz=4`). Default borders add ~8 twips per edge, which causes MS Office to calculate a total height slightly exceeding 16838 → content overflows to a blank page 2. WPS is more lenient but MS Office is strict. **This is the #1 cause of "blank page 2 in MS Office but not in WPS".** + +```js +// ✅ MANDATORY: Define and use allNoBorders for every cover table +const NB = { style: BorderStyle.NONE, size: 0, color: "FFFFFF" }; +const noBorders = { top: NB, bottom: NB, left: NB, right: NB }; +const allNoBorders = { top: NB, bottom: NB, left: NB, right: NB, + insideHorizontal: NB, insideVertical: NB }; + +new Table({ + borders: allNoBorders, // ← MANDATORY on every cover table + // ... +}); +``` + +10. **Decorative lines MUST use paragraph borders, NEVER text characters**: Horizontal decorative lines (accent strips, dividers, frame edges) must be implemented with `paragraph border.top` or `border.bottom` — never with text characters like `───`, `━━━`, `═══`, or `——————`. Character-drawn lines render at inconsistent widths across MS Office and WPS (font metrics differ), causing lines to appear truncated or misaligned. Paragraph borders render pixel-perfect in both engines and their width is controlled precisely via `indent.left` / `indent.right`. + +```js +// ✅ Correct — paragraph border (R2 style thick accent rule) +new Paragraph({ + indent: { left: 1000, right: 1000 }, + border: { top: { style: BorderStyle.SINGLE, size: 18, color: P.accent, space: 20 } }, + children: [], +}) + +// ❌ FORBIDDEN — text character line (renders inconsistently) +new Paragraph({ + children: [new TextRun({ text: "───────────────", color: P.accent })] +}) +``` +9. **Post-generation overflow check (mandatory)**: After building cover children, estimate total height: + ```js + function estimateCoverHeight(elements) { + let total = 0; + for (const el of elements) { + if (el instanceof Table) { + // Sum row heights (exact rows) or estimate 400 twips per row + const rows = el.root?.[0]?.rows || []; + for (const row of rows) { + total += row.height?.value || 400; + } + } else if (el instanceof Paragraph) { + const fontSize = el.root?.[0]?.size || 24; // half-pts + // ★ Use pt * 11.5 (= half-pt * 10 * 1.15) for accurate single-spacing estimate + const lineHeight = Math.max(fontSize * 11.5, 276); // min 276 (default 12pt) + const spacingBefore = el.spacing?.before || 0; + const spacingAfter = el.spacing?.after || 0; + total += lineHeight + spacingBefore + spacingAfter; + } + } + return total; + } + // ★ Target: estimateCoverHeight(coverChildren) < 15638 (16838 - 1200 safety) + ``` + +--- + +### ⚠️ Cover Title Layout — calcTitleLayout() (Mandatory for ALL Recipes) + +**Every cover recipe MUST use `calcTitleLayout()` to determine title font size and line breaks.** Hardcoding font sizes or passing the full title as a single TextRun is FORBIDDEN. + +**Every paragraph with font size > body text MUST set explicit line spacing** to prevent top clipping: +```js +// ★ MANDATORY: prevent inherited small line spacing from clipping large fonts +spacing: { line: Math.ceil(titlePt * 23), lineRule: "atLeast", after: 100 } +// Example: 36pt → line: 828; 44pt → line: 1012 +``` +Without this, the paragraph inherits body text line spacing (e.g., 560tw), which is shorter than the font height → top of characters gets clipped. + +```js +/** + * Calculate safe font size and smart line breaks for cover titles. + * MUST be called by every recipe before building title paragraphs. + * + * @param {string} title Full title string + * @param {number} maxWidthTwips Available width for title text (twips, after subtracting margins/padding) + * @param {number} preferredPt Desired max font size in pt (default 40) + * @param {number} minPt Minimum allowed font size in pt (default 24) + * @returns {{ titlePt: number, titleLines: string[] }} + */ +function calcTitleLayout(title, maxWidthTwips, preferredPt = 40, minPt = 24) { + // Each CJK character width ≈ pt × 20 twips + const charWidth = (pt) => pt * 20; + const charsPerLine = (pt) => Math.floor(maxWidthTwips / charWidth(pt)); + + // Try from preferredPt downward until title fits in ≤ 3 lines + let titlePt = preferredPt; + let lines; + while (titlePt >= minPt) { + const cpl = charsPerLine(titlePt); + if (cpl < 2) { titlePt -= 2; continue; } + lines = splitTitleLines(title, cpl); + if (lines.length <= 3) break; + titlePt -= 2; + } + + // If still > 3 lines at minPt, force 3 lines + if (!lines || lines.length > 3) { + const cpl = charsPerLine(minPt); + lines = splitTitleLines(title, cpl); + titlePt = minPt; + } + + return { titlePt, titleLines: lines }; +} + +/** + * Smart Chinese title line-breaking — breaks at semantic boundaries, never mid-word. + * + * Rules: + * 1. Prefer breaking after particles, punctuation, connectors, underscores, spaces + * 2. Never split a compound word (e.g., "管理规范" must not become "管理规" + "范") + * 3. No single-character orphan on the last line — merge into previous line + * 4. If no good break point found within 60-130% of charsPerLine, break at charsPerLine + * + * @param {string} title Full title string + * @param {number} charsPerLine Max characters per line at current font size + * @returns {string[]} Array of line strings + */ +function splitTitleLines(title, charsPerLine) { + if (title.length <= charsPerLine) return [title]; + + // Characters that are safe break points (break AFTER these) + const breakAfter = new Set([ + ...',。、;:!?', // CJK punctuation + ...'的与和及之在于为', // CJK particles/prepositions + ...'-_—–·/', // connectors + ...' \t', // whitespace + ]); + + const lines = []; + let remaining = title; + + while (remaining.length > charsPerLine) { + let breakAt = -1; + + // Search backward from charsPerLine to 60% for a break point + for (let i = charsPerLine; i >= Math.floor(charsPerLine * 0.6); i--) { + if (i < remaining.length && breakAfter.has(remaining[i - 1])) { + breakAt = i; + break; + } + } + + // If not found, search forward up to 130% + if (breakAt === -1) { + const limit = Math.min(remaining.length, Math.ceil(charsPerLine * 1.3)); + for (let i = charsPerLine + 1; i < limit; i++) { + if (breakAfter.has(remaining[i - 1])) { + breakAt = i; + break; + } + } + } + + // Last resort: break at charsPerLine, but avoid splitting compound CJK words + if (breakAt === -1) { + breakAt = charsPerLine; + // If both chars at the break boundary are CJK (likely a compound word), + // step back 1 char to keep the word together + const prevChar = remaining[breakAt - 1]; + const nextChar = remaining[breakAt]; + if (prevChar && nextChar && + !breakAfter.has(prevChar) && !breakAfter.has(nextChar) && + /[\u4e00-\u9fff]/.test(prevChar) && /[\u4e00-\u9fff]/.test(nextChar)) { + breakAt = breakAt - 1; + } + } + + lines.push(remaining.slice(0, breakAt).trim()); + remaining = remaining.slice(breakAt).trim(); + } + if (remaining) lines.push(remaining); + + // Prevent single-character orphan on last line — merge into previous + if (lines.length > 1 && lines[lines.length - 1].length <= 2) { + const last = lines.pop(); + lines[lines.length - 1] += last; + } + + return lines; +} + +/** + * Calculate dynamic spacing values for cover elements to fit within page height. + * + * @param {object} params + * @param {number} params.titleLineCount Number of title lines + * @param {number} params.titlePt Title font size in pt + * @param {boolean} params.hasSubtitle Whether subtitle exists + * @param {boolean} params.hasEnglishLabel Whether English label exists + * @param {number} params.metaLineCount Number of meta info lines + * @param {number} params.fixedHeight Sum of fixed-height elements (color strips, accent bars, footer) in twips + * @param {number} params.pageHeight Total page height in twips (default 16838) + * @returns {{ topSpacing, midSpacing, bottomSpacing }} Spacing values in twips + */ +function calcCoverSpacing(params) { + const { + titleLineCount = 1, titlePt = 36, hasSubtitle = false, + hasEnglishLabel = false, metaLineCount = 0, + fixedHeight = 800, pageHeight = 16838, + marginTop = 0, marginBottom = 0, // ★ NEW: pass actual section margins + } = params; + + // ★ Safety margin: 1200 twips (cross-engine: MS Office renders large fonts + // taller than calculated; extra 400tw buffer prevents footer clipping) + const SAFETY = 1200; + // ★ Subtract page margins from available height (cover section may have margins) + const usableHeight = pageHeight - marginTop - marginBottom - SAFETY; + + // ★ Accurate height estimation per element: + const titleHeight = titleLineCount * (titlePt * 23 + 200); + const subtitleHeight = hasSubtitle ? (12 * 23 + 600) : 0; + const englishLabelHeight = hasEnglishLabel ? (9 * 23 + 600) : 0; + const metaHeight = metaLineCount * (10 * 23 + 100); + + // ★ Account for implicit paragraph heights: + const implicitParaHeight = 3 * 300; + + const contentHeight = titleHeight + subtitleHeight + englishLabelHeight + + metaHeight + fixedHeight + implicitParaHeight; + + const remainingSpace = usableHeight - contentHeight; + const safeRemaining = Math.max(remainingSpace, 400); + + // ★ Footer protection: bottomSpacing must be ≥ FOOTER_MIN to prevent + // footer + accent line from being clipped at the cell bottom edge + const FOOTER_MIN = 800; + const rawTop = Math.floor(safeRemaining * 0.45); + const rawBottom = Math.floor(safeRemaining * 0.45); + const bottomSpacing = Math.max(rawBottom, FOOTER_MIN); + const topSpacing = Math.max(rawTop - Math.max(0, FOOTER_MIN - rawBottom), 400); + const midSpacing = Math.max(safeRemaining - topSpacing - bottomSpacing, 0); + + return { topSpacing, midSpacing, bottomSpacing }; +} +``` + +**Usage in every recipe:** +```js +// Step 1: Calculate title layout +const availableWidth = 11906 - leftPadding - rightPadding; // subtract margins +const { titlePt, titleLines } = calcTitleLayout(config.title, availableWidth); +const titleSize = titlePt * 2; // convert to half-points for docx-js + +// Step 2: Calculate spacing (pass actual section margins!) +const spacing = calcCoverSpacing({ + titleLineCount: titleLines.length, + titlePt, + hasSubtitle: !!config.subtitle, + hasEnglishLabel: !!config.englishLabel, + metaLineCount: (config.metaLines || []).length, + fixedHeight: 800, // sum of accent strips, footer table, etc. + marginTop: 0, // ★ pass the cover section's actual top margin (twips) + marginBottom: 0, // ★ pass the cover section's actual bottom margin (twips) +}); + +// Step 3: Use in paragraphs +children.push(new Paragraph({ spacing: { before: spacing.topSpacing } })); +// ... title paragraphs using titleLines and titleSize ... +children.push(new Paragraph({ spacing: { before: spacing.bottomSpacing } })); +``` + +--- + +### ⚠️ CRITICAL — Cover Section Non-Negotiables (ALL Recipes) + +These 3 properties are MANDATORY for every cover implementation (R1–R7). Omitting ANY of them causes cover layout failure: + +1. **Cover section margin = 0**: The cover MUST be in its own section with `page.margin: { top: 0, bottom: 0, left: 0, right: 0 }`. Non-zero margins shrink the wrapper away from page edges → white gaps around the cover ("cover not filling the page"). This is the #1 cause of broken cover layouts. + +2. **Wrapper row exact height**: The outer wrapper table row MUST set `height: { value: 16838, rule: "exact" }`. Without this, content overflow pushes to page 2, or insufficient content leaves bottom whitespace. + +3. **Wrapper table borders = allNoBorders**: MUST explicitly set `borders: allNoBorders`. Default docx-js borders add ~8 twips per edge. MS Office includes border thickness in exact-height calculation → total exceeds 16838 → blank page 2 (WPS is lenient, MS Office is strict). + +**Cover section template (copy this for every Recipe):** +```js +sections: [ + { + // ⚠️ Cover section — margin MUST be 0, separate from body + properties: { + page: { + size: { width: 11906, height: 16838 }, + margin: { top: 0, bottom: 0, left: 0, right: 0 }, + }, + }, + children: buildCoverRX(config), // ← replace with actual recipe function + }, + { + // Body section — normal margins + properties: { + type: SectionType.NEXT_PAGE, + page: { + size: { width: 11906, height: 16838 }, + margin: { top: 1440, bottom: 1440, left: 1701, right: 1417 }, + }, + }, + children: [...bodyContent], + }, +] +``` + +--- + +### Recipe R1: Pure Paragraph Cover (Left-Aligned) + +**Visual:** Full-page dark background + left-aligned text + decoration via paragraph borders only +**Use case:** Annual report, business report, tech proposal (most versatile premium recipe) +**Nested tables: ZERO** — all decoration uses paragraph borders (bottom line, left accent bar, top separator) + +Visual hierarchy (top to bottom): +1. Dynamic top whitespace (via `calcCoverSpacing`) +2. English label with accent bottom border (paragraph `border.bottom`) +3. Main title (1-3 lines, dynamic font size via `calcTitleLayout`) +4. Subtitle (light grey, smaller) +5. Meta info lines with left accent border (paragraph `border.left`) +6. Dynamic bottom whitespace +7. Footer line with top accent separator (paragraph `border.top`) + +```js +// ⚠️ MANDATORY: Cover section must use margin: 0. See "Cover Section Non-Negotiables" above. +// Section: { properties: { page: { size: { width: 11906, height: 16838 }, +// margin: { top: 0, bottom: 0, left: 0, right: 0 } } }, children: buildCoverR1(config) } + +function buildCoverR1(config) { + // config: { title, subtitle, englishLabel, metaLines, footerLeft, footerRight, palette } + // palette: { bg, titleColor, subtitleColor, metaColor, accent, footerColor } + const P = config.palette; + const padL = 1200, padR = 800; + + // ⚠️ MANDATORY: Use calcTitleLayout() for dynamic font size + line breaking + const availableWidth = 11906 - padL - padR - 300; // -300 for border space + const { titlePt, titleLines } = calcTitleLayout(config.title, availableWidth, 40, 24); + const titleSize = titlePt * 2; + + // ⚠️ MANDATORY: Use calcCoverSpacing() for dynamic spacing + const spacing = calcCoverSpacing({ + titleLineCount: titleLines.length, titlePt, + hasSubtitle: !!config.subtitle, hasEnglishLabel: !!config.englishLabel, + metaLineCount: (config.metaLines || []).length, + fixedHeight: 400, // footer line only (no nested tables) + }); + + const accentLeft = { style: BorderStyle.SINGLE, size: 8, color: P.accent, space: 12 }; + const children = []; + + // 1. Top whitespace (dynamic) + children.push(new Paragraph({ spacing: { before: spacing.topSpacing } })); + + // 2. English label with accent bottom border + if (config.englishLabel) { + children.push(new Paragraph({ + indent: { left: padL, right: padR }, spacing: { after: 500 }, + border: { bottom: { style: BorderStyle.SINGLE, size: 6, color: P.accent, space: 8 } }, + children: [new TextRun({ text: config.englishLabel.split("").join(" "), + size: 18, color: P.accent, font: { ascii: "Calibri", eastAsia: "SimHei" }, characterSpacing: 40 })], + })); + } + + // 3. Main title (dynamic font size + smart line breaks) + for (let i = 0; i < titleLines.length; i++) { + children.push(new Paragraph({ + indent: { left: padL }, + spacing: { after: i < titleLines.length - 1 ? 100 : 300, line: Math.ceil(titlePt * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: titleLines[i], size: titleSize, bold: true, + color: P.titleColor, font: { eastAsia: "SimHei", ascii: "Arial" } })], + })); + } + + // 4. Subtitle + if (config.subtitle) { + children.push(new Paragraph({ + indent: { left: padL }, spacing: { after: 800 }, + children: [new TextRun({ text: config.subtitle, size: 24, color: P.subtitleColor, + font: { eastAsia: "Microsoft YaHei", ascii: "Arial" } })], + })); + } + + // 5. Meta info lines with left accent border + for (const line of (config.metaLines || [])) { + children.push(new Paragraph({ + indent: { left: padL + 200 }, spacing: { after: 80 }, + border: { left: accentLeft }, + children: [new TextRun({ text: line, size: 24, color: P.metaColor, + font: { eastAsia: "Microsoft YaHei", ascii: "Arial" } })], + })); + } + + // 6. Bottom whitespace (dynamic) + children.push(new Paragraph({ spacing: { before: spacing.bottomSpacing } })); + + // 7. Footer with top accent separator + children.push(new Paragraph({ + indent: { left: padL, right: padR }, + border: { top: { style: BorderStyle.SINGLE, size: 2, color: P.accent, space: 8 } }, + spacing: { before: 200 }, + children: [ + new TextRun({ text: config.footerLeft || "", size: 16, color: P.footerColor, font: { ascii: "Arial" } }), + new TextRun({ text: " " }), + new TextRun({ text: config.footerRight || "", size: 16, color: P.footerColor, font: { ascii: "Arial" } }), + ], + })); + + // Single 16838 wrapper — the ONLY table + return [new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, + borders: allNoBorders, + rows: [new TableRow({ + height: { value: 16838, rule: "exact" }, + children: [new TableCell({ + shading: { type: ShadingType.CLEAR, fill: P.bg }, borders: noBorders, + children, + })], + })], + })]; + // Total height: 16838 (single wrapper, zero nested tables) ✅ +} +``` + +--- + +### Recipe R2: Double-Rule Frame (Centered) + +**Visual:** Full-page dark background + top/bottom thick accent horizontal rules + centered content +**Use case:** Whitepaper, finance report, consulting deliverable, high-end formal reports +**Nested tables: ZERO** — top/bottom rules are paragraph borders + +Visual hierarchy (top to bottom): +1. Top thick accent rule (paragraph `border.top`) +2. Generous whitespace +3. English label (centered, spaced) +4. Main title (centered, 1-3 lines, dynamic font size) +5. Subtitle (centered) +6. Generous whitespace +7. Meta info lines (centered, **18pt** / size: 36) +8. Generous whitespace +9. Footer + bottom thick accent rule (paragraph `border.bottom`) + +```js +// ⚠️ MANDATORY: Cover section must use margin: 0. See "Cover Section Non-Negotiables" above. +function buildCoverR2(config) { + const P = config.palette; + const padL = 1400, padR = 1400; + + // ⚠️ MANDATORY: Use calcTitleLayout() for dynamic font size + line breaking + const { titlePt, titleLines } = calcTitleLayout(config.title, 11906 - padL - padR, 40, 24); + const titleSize = titlePt * 2; + const thickBorder = { style: BorderStyle.SINGLE, size: 18, color: P.accent, space: 20 }; + + const children = []; + + // 1. Top rule + children.push(new Paragraph({ + indent: { left: padL - 400, right: padR - 400 }, spacing: { before: 1200, after: 200 }, + border: { top: thickBorder }, children: [], + })); + + // 2. Whitespace + children.push(new Paragraph({ spacing: { before: 1800 } })); + + // 3. English label + if (config.englishLabel) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, spacing: { after: 500 }, + children: [new TextRun({ text: config.englishLabel.split("").join(" "), + size: 18, color: P.accent, font: { ascii: "Calibri" }, characterSpacing: 40 })], + })); + } + + // 4. Main title (centered, dynamic) + for (let i = 0; i < titleLines.length; i++) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, + spacing: { after: i < titleLines.length - 1 ? 80 : 300, line: Math.ceil(titlePt * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: titleLines[i], size: titleSize, bold: true, + color: P.titleColor, font: { eastAsia: "SimHei", ascii: "Arial" } })], + })); + } + + // 5. Subtitle + if (config.subtitle) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, spacing: { after: 400 }, + children: [new TextRun({ text: config.subtitle, size: 24, color: P.subtitleColor, + font: { eastAsia: "Microsoft YaHei", ascii: "Arial" } })], + })); + } + + // 6. Whitespace + children.push(new Paragraph({ spacing: { before: 1200 } })); + + // 7. Meta lines — 18pt (size: 36) for readability + for (const line of (config.metaLines || [])) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, + spacing: { after: 100, line: Math.ceil(18 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: line, size: 36, color: P.metaColor, + font: { eastAsia: "Microsoft YaHei", ascii: "Arial" } })], + })); + } + + // 8. Whitespace + children.push(new Paragraph({ spacing: { before: 2000 } })); + + // 9. Footer + bottom rule + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, + indent: { left: padL - 400, right: padR - 400 }, spacing: { before: 200 }, + border: { bottom: thickBorder }, + children: [new TextRun({ text: config.footerRight || "", size: 18, color: P.footerColor, font: { ascii: "Arial" } })], + })); + + // Single 16838 wrapper — the ONLY table + return [new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, + borders: allNoBorders, + rows: [new TableRow({ + height: { value: 16838, rule: "exact" }, + children: [new TableCell({ + shading: { type: ShadingType.CLEAR, fill: P.bg }, borders: noBorders, + children, + })], + })], + })]; + // Total height: 16838 (single wrapper, zero nested tables) ✅ +} +``` + +--- + +### Recipe R3: Centered Card Frame (Paragraph Borders) + +**Visual:** Full-page dark background + centered "card" effect via paragraph indent + 4-side paragraph borders +**Use case:** Research report, product overview, event summary, creative/design documents +**Nested tables: ZERO** — card borders are paragraph borders with large left/right indents + +Visual hierarchy (top to bottom): +1. Pre-card whitespace (~2800tw) +2. Card top edge (paragraph with `border.top` + `border.left` + `border.right`, indent 2200tw) +3. English label (centered, inside card side borders) +4. Main title (centered, inside card side borders, dynamic font size) +5. Subtitle (centered, inside card side borders) +6. Spacer (inside card side borders) +7. Meta info lines (centered, inside card side borders) +8. Card bottom edge (paragraph with `border.bottom` + `border.left` + `border.right`) +9. Post-card whitespace +10. Footer (centered) + +```js +// ⚠️ MANDATORY: Cover section must use margin: 0. See "Cover Section Non-Negotiables" above. +function buildCoverR3(config) { + const P = config.palette; + const cardIndent = 2200; // left + right indent to create "card" feel + const innerWidth = 11906 - cardIndent * 2 - 400; + + // ⚠️ MANDATORY: Use calcTitleLayout() for dynamic font size + line breaking + const { titlePt, titleLines } = calcTitleLayout(config.title, innerWidth, 40, 24); + const titleSize = titlePt * 2; + + const bTop = { style: BorderStyle.SINGLE, size: 24, color: P.accent, space: 16 }; + const bBot = { style: BorderStyle.SINGLE, size: 24, color: P.accent, space: 16 }; + const bL = { style: BorderStyle.SINGLE, size: 2, color: P.accent, space: 16 }; + const bR = { style: BorderStyle.SINGLE, size: 2, color: P.accent, space: 16 }; + const sides = { left: bL, right: bR }; + + const children = []; + + // 1. Pre-card whitespace + children.push(new Paragraph({ spacing: { before: 2800 } })); + + // 2. Card top edge + children.push(new Paragraph({ + indent: { left: cardIndent, right: cardIndent }, spacing: { after: 600 }, + border: { top: bTop, left: bL, right: bR }, children: [], + })); + + // 3. English label inside card + if (config.englishLabel) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, indent: { left: cardIndent, right: cardIndent }, + spacing: { after: 500 }, border: sides, + children: [new TextRun({ text: config.englishLabel.split("").join(" "), + size: 16, color: P.accent, font: { ascii: "Calibri" }, characterSpacing: 30 })], + })); + } + + // 4. Main title inside card + for (let i = 0; i < titleLines.length; i++) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, indent: { left: cardIndent, right: cardIndent }, + spacing: { after: i < titleLines.length - 1 ? 60 : 300, line: Math.ceil(titlePt * 23), lineRule: "atLeast" }, + border: sides, + children: [new TextRun({ text: titleLines[i], size: titleSize, bold: true, + color: P.titleColor, font: { eastAsia: "SimHei", ascii: "Arial" } })], + })); + } + + // 5. Subtitle inside card + if (config.subtitle) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, indent: { left: cardIndent, right: cardIndent }, + spacing: { after: 400 }, border: sides, + children: [new TextRun({ text: config.subtitle, size: 22, color: P.subtitleColor, + font: { eastAsia: "Microsoft YaHei", ascii: "Arial" } })], + })); + } + + // 6. Spacer inside card + children.push(new Paragraph({ + indent: { left: cardIndent, right: cardIndent }, spacing: { before: 400 }, + border: sides, children: [], + })); + + // 7. Meta info lines inside card + for (let i = 0; i < (config.metaLines || []).length; i++) { + const isLast = i === config.metaLines.length - 1; + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, indent: { left: cardIndent, right: cardIndent }, + spacing: { after: isLast ? 400 : 80 }, border: sides, + children: [new TextRun({ text: config.metaLines[i], size: 24, color: P.metaColor, + font: { eastAsia: "Microsoft YaHei", ascii: "Arial" } })], + })); + } + + // 8. Card bottom edge + children.push(new Paragraph({ + indent: { left: cardIndent, right: cardIndent }, spacing: { after: 0 }, + border: { bottom: bBot, left: bL, right: bR }, children: [], + })); + + // 9. Post-card whitespace + children.push(new Paragraph({ spacing: { before: 2000 } })); + + // 10. Footer + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ text: config.footerRight || "", size: 16, color: P.footerColor, font: { ascii: "Arial" } })], + })); + + // Single 16838 wrapper — the ONLY table + return [new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, + borders: allNoBorders, + rows: [new TableRow({ + height: { value: 16838, rule: "exact" }, + children: [new TableCell({ + shading: { type: ShadingType.CLEAR, fill: P.bg }, borders: noBorders, + children, + })], + })], + })]; + // Total height: 16838 (single wrapper, zero nested tables) ✅ +} +``` + + +### Recipe R4: Top Color Block + +**Visual:** Top 45% dark area (with title) + bottom 55% white area (with meta info) + accent divider +**Use case:** business proposal, plan document, lesson plan, PRD +**Architecture:** Uses R1's proven single 16838 wrapper. Upper dark block is a nested table inside the wrapper. Content positioning uses `spacing.before` (reliable) instead of `margins.top` (unreliable across engines). + +```js +// ⚠️ MANDATORY: Cover section must use margin: 0. See "Cover Section Non-Negotiables" above. +function buildCoverR4(config) { + const P = config.palette; + const padL = 1200, padR = 800; + const availableWidth = 11906 - padL - padR; + + // ⚠️ MANDATORY: Use calcTitleLayout() for dynamic font size + line breaking + const { titlePt, titleLines } = calcTitleLayout(config.title, availableWidth, 40, 26); + const titleSize = titlePt * 2; + + // Height budget for upper dark block — DYNAMIC based on title content + const titleBlockHeight = titleLines.length * (titlePt * 23 + 200); + const englishLabelH = config.englishLabel ? (9 * 23 + 500) : 0; + const subtitleH = config.subtitle ? (12 * 23 + 200) : 0; + const upperContentH = englishLabelH + titleBlockHeight + subtitleH; + const UPPER_MIN = 7500; // minimum height to preserve visual proportion + const UPPER_H = Math.max(UPPER_MIN, upperContentH + 1500 + 800); // +1500 top pad, +800 bottom pad + const DIVIDER_H = 60; + + // ★ Dynamic top spacing: calculated from content height, NOT fixed margins.top + const contentEstimate = + (config.englishLabel ? (9 * 23 + 500) : 0) + + titleLines.length * (titlePt * 23 + 200) + + (config.subtitle ? (12 * 23 + 200) : 0); + const spacerIntrinsic = 280; // empty spacing paragraph intrinsic height + const topSpacing = Math.max(UPPER_H - contentEstimate - spacerIntrinsic - 800, 400); + + // ── Upper dark block (nested table, exact height) ── + const upperBlock = new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, + borders: allNoBorders, + rows: [new TableRow({ + height: { value: UPPER_H, rule: "exact" }, + children: [new TableCell({ + shading: { fill: P.bg }, borders: noBorders, + verticalAlign: "top", + // ★ KEY: Only left/right margins. NO top/bottom margins. + // Vertical positioning uses spacing.before on the first paragraph. + margins: { left: padL, right: padR }, + children: [ + new Paragraph({ spacing: { before: topSpacing } }), + config.englishLabel ? new Paragraph({ + spacing: { after: 500 }, + children: [new TextRun({ text: config.englishLabel.split("").join(" "), + size: 18, color: P.accent, font: { ascii: "Calibri" }, characterSpacing: 60 })], + }) : null, + ...titleLines.map((line, i) => new Paragraph({ + spacing: { after: i < titleLines.length - 1 ? 100 : 200 }, + children: [new TextRun({ text: line, size: titleSize, bold: true, + color: P.titleColor, font: { eastAsia: "SimHei", ascii: "Arial" } })], + })), + config.subtitle ? new Paragraph({ + spacing: { after: 100 }, + children: [new TextRun({ text: config.subtitle, size: 24, color: P.subtitleColor, + font: { eastAsia: "Microsoft YaHei", ascii: "Arial" } })], + }) : null, + ].filter(Boolean), + })], + })], + }); + + // ── Accent divider line ── + const divider = new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: allNoBorders, + rows: [new TableRow({ + height: { value: DIVIDER_H, rule: "exact" }, + children: [new TableCell({ borders: noBorders, + shading: { fill: P.accent }, children: [emptyPara()] })], + })], + }); + + // ── Lower white area (paragraphs, not a separate table) ── + const lowerContent = [ + new Paragraph({ spacing: { before: 800 } }), + ...(config.metaLines || []).map(line => new Paragraph({ + indent: { left: padL }, spacing: { after: 100 }, + children: [new TextRun({ text: line, size: 28, color: P.metaColor, + font: { eastAsia: "Microsoft YaHei", ascii: "Arial" } })], + })), + new Paragraph({ spacing: { before: 2000 } }), + new Paragraph({ + indent: { left: padL }, + children: [ + new TextRun({ text: config.footerLeft || "", size: 22, color: "909090" }), + new TextRun({ text: " " }), + new TextRun({ text: config.footerRight || "", size: 22, color: "909090" }), + ], + }), + ]; + + // ── Outer 16838 wrapper (R1 proven architecture) ── + // The wrapper acts as a safety net: even if the inner 7500 block + // overflows slightly, content stays on page 1. + return [new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, + borders: allNoBorders, + rows: [new TableRow({ + height: { value: 16838, rule: "exact" }, + children: [new TableCell({ + shading: { fill: "FFFFFF" }, borders: noBorders, + verticalAlign: "top", + children: [ + upperBlock, + divider, + ...lowerContent, + ], + })], + })], + })]; + // Total height: 16838 (outer wrapper, R1 architecture) ✅ +} +``` + +--- + +### Recipe R5: Clean White (Academic) + +**Visual:** Pure white background + school name + centered title + 2-column meta info table with underlines + footer +**Use case:** academic thesis, standards documents +**Architecture:** 16838 outer wrapper (white fill, invisible) + cell margins for page margin simulation. No top/bottom decorative lines. + +**Meta info table rules (cross-engine safe):** +- 2-column table: label + value, **percentage widths only** (`WidthType.PERCENTAGE`) +- **Table width is adaptive:** 55–75% of page, calculated by `calcR5MetaLayout()`. Table centered via `alignment: CENTER`. +- **Label column:** adaptive 25–45% of table, **LEFT aligned**, plain text with ":" appended. NO full-width space padding, NO right-alignment. +- **Label column borders:** none (no bottom border on label cells). +- **Value column:** remaining %, **LEFT aligned**, `bottom: single sz=4` border = fixed-length underline (consistent length for all rows regardless of text). +- No left/right/top borders on either column. +- ⚠️ Do NOT use DXA widths, full-width space padding (`\u3000`), spacer columns, or tab stops — WPS renders them inconsistently. +- ⚠️ Do NOT use `margins.top` on the wrapper cell — use `spacing.before` on first paragraph instead. + +**Known limitation:** When meta lines ≥ 6 AND title has 3 lines, MS Office may render content slightly taller than WPS, potentially clipping the footer line. Mitigate by reducing `midSpacing` or using a smaller title font. + +```js +// ── Width-aware title layout (handles mixed Chinese + English) ── +function estimateTextWidth(text, pt) { + let width = 0; + for (const ch of text) { + const code = ch.codePointAt(0); + const isCJK = (code >= 0x4E00 && code <= 0x9FFF) || (code >= 0x3400 && code <= 0x4DBF) || + (code >= 0x3000 && code <= 0x303F) || (code >= 0xFF00 && code <= 0xFFEF) || + (code >= 0x2E80 && code <= 0x2EFF); + width += isCJK ? pt * 20 : pt * 11; // CJK: full-width, Latin: ~55% width + } + return width; +} +// Use estimateTextWidth() in calcTitleLayout() instead of simple char count +// to prevent mid-word breaks in mixed Chinese+English titles like "基于Transformer架构的..." + +// ── Meta info table ── + +// Calculate adaptive table and label column percentage based on longest label. +// Returns { tablePct, labelPct } — both as percentages. +// Uses ONLY WidthType.PERCENTAGE for cross-engine compatibility (MS Office + WPS). +function calcR5MetaLayout(metaEntries, fontPt = 12) { + const maxLabelLen = Math.max(...metaEntries.map(e => [...e.label].length)); + // Label needs: maxLabelLen chars + ":" + 1 char padding + const labelNeedTw = (maxLabelLen + 2) * fontPt * 20; + // Value column: fixed ~5000tw for consistent underline length + const valueNeedTw = 5000; + const totalNeedTw = labelNeedTw + valueNeedTw; + // Table width as % of page (11906tw), clamped to 55–75% + const tablePct = Math.min(75, Math.max(55, Math.ceil(totalNeedTw / 11906 * 100))); + // Label % within the table, clamped to 25–45% + const rawLabelPct = Math.ceil(labelNeedTw / (tablePct / 100 * 11906) * 100); + return { tablePct, labelPct: Math.max(25, Math.min(45, rawLabelPct)) }; +} + +// Build R5 academic cover meta info table. +// ⚠️ CRITICAL cross-engine rules: +// - Table width: WidthType.PERCENTAGE (NOT DXA — WPS breaks with DXA) +// - Column widths: WidthType.PERCENTAGE +// - Label column: LEFT aligned, plain text (NO full-width space padding) +// - Value column: LEFT aligned, bottom border = fixed-length underline +// - Table alignment: CENTER (visually centered on page) +function buildR5MetaTable(metaEntries) { + // metaEntries: [{ label: "学院", value: "计算机科学与技术学院" }, ...] + const { tablePct, labelPct } = calcR5MetaLayout(metaEntries); + const valuePct = 100 - labelPct; + const bottomBorder = { style: BorderStyle.SINGLE, size: 4, color: "000000" }; + + const rows = metaEntries.map(entry => new TableRow({ + children: [ + // Label cell: left-aligned, no bottom border + new TableCell({ + width: { size: labelPct, type: WidthType.PERCENTAGE }, + borders: noBorders, + margins: { top: 60, bottom: 60, left: 0, right: 0 }, + children: [new Paragraph({ + alignment: AlignmentType.LEFT, + spacing: { before: 60, after: 60, line: 400 }, + children: [new TextRun({ + text: entry.label + ":", + size: 24, font: { eastAsia: "SimSun", ascii: "Times New Roman" }, + })], + })], + }), + // Value cell: left-aligned, bottom border = fixed-length underline + new TableCell({ + width: { size: valuePct, type: WidthType.PERCENTAGE }, + borders: { top: NB, left: NB, right: NB, bottom: bottomBorder }, + margins: { top: 60, bottom: 60, left: 80, right: 0 }, + children: [new Paragraph({ + alignment: AlignmentType.LEFT, + spacing: { before: 60, after: 60, line: 400 }, + children: [new TextRun({ + text: entry.value, + size: 24, font: { eastAsia: "SimSun", ascii: "Times New Roman" }, + })], + })], + }), + ], + })); + + return new Table({ + width: { size: tablePct, type: WidthType.PERCENTAGE }, + alignment: AlignmentType.CENTER, + layout: TableLayoutType.FIXED, + borders: allNoBorders, + rows, + }); +} + +// ⚠️ MANDATORY: Cover section must use margin: 0. See "Cover Section Non-Negotiables" above. +function buildCoverR5(config) { + const PAGE_H = 16838, SAFETY = 1200; + const safeH = PAGE_H - SAFETY; // 15638 + const simMarginLR = 1701, simMarginT = 1200; + const contentW = 11906 - simMarginLR * 2; + + // ★ Width-aware title layout for mixed Chinese+English + const { titlePt, titleLines } = calcTitleLayoutMixed(config.title, contentW, 36, 24); + const titleSize = titlePt * 2; + + // Parse meta entries + const metaEntries = (config.metaLines || []).map(line => { + const sep = line.indexOf(":") !== -1 ? ":" : ":"; + const idx = line.indexOf(sep); + if (idx === -1) return { label: line, value: "" }; + return { label: line.slice(0, idx).trim(), value: line.slice(idx + sep.length).trim() }; + }); + + // Height budget (no margins.top — use spacing.before instead) + const schoolNameH = config.schoolName ? (22 * 23 + 400) : 0; + const titleTotalH = titleLines.length * (titlePt * 23 + 200); + const subtitleH = config.subtitle ? (15 * 23 + 600) : 0; + const metaRowH = 520; // 60+60 padding + ~400 line height + const metaTableH = metaEntries.length * metaRowH; + const footerH = config.footerRight ? (12 * 23 + 200) : 0; + const spacerParas = 3 * 350; + const fixedH = schoolNameH + titleTotalH + subtitleH + metaTableH + footerH + spacerParas; + const remaining = Math.max(safeH - fixedH, 600); + + // ★ topSpacing includes simulated top margin (simMarginT) + const topSpacing = Math.min(Math.floor(remaining * 0.28) + simMarginT, 4200); + const midSpacing = Math.min(Math.floor((remaining - simMarginT) * 0.18), 2000); + const bottomSpacing = Math.min(remaining - topSpacing + simMarginT - midSpacing, 5500); + + const children = []; + children.push(new Paragraph({ spacing: { before: topSpacing } })); + + // School name (optional) + if (config.schoolName) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, spacing: { after: 400 }, + children: [new TextRun({ text: config.schoolName, size: 44, characterSpacing: 40, + font: { eastAsia: "SimSun", ascii: "Times New Roman" } })], + })); + } + + // Title + for (let i = 0; i < titleLines.length; i++) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, spacing: { after: i < titleLines.length - 1 ? 120 : 300 }, + children: [new TextRun({ text: titleLines[i], size: titleSize, bold: true, + font: { eastAsia: "SimHei", ascii: "Times New Roman" } })], + })); + } + + // Subtitle + if (config.subtitle) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, spacing: { after: 200 }, + children: [new TextRun({ text: config.subtitle, size: 30, + font: { eastAsia: "SimSun", ascii: "Times New Roman" } })], + })); + } + + children.push(new Paragraph({ spacing: { before: midSpacing } })); + + // Meta info table + if (metaEntries.length > 0) children.push(buildR5MetaTable(metaEntries)); + + children.push(new Paragraph({ spacing: { before: bottomSpacing } })); + + // Footer + if (config.footerRight) { + children.push(new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ text: config.footerRight, size: 24, color: "404040", + font: { eastAsia: "SimSun", ascii: "Times New Roman" } })], + })); + } + + // ★ 16838 outer wrapper — only left/right margins, NO margins.top + return [new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + layout: TableLayoutType.FIXED, + borders: allNoBorders, + rows: [new TableRow({ + height: { value: PAGE_H, rule: "exact" }, + children: [new TableCell({ + shading: { type: ShadingType.CLEAR, fill: "FFFFFF" }, + borders: noBorders, verticalAlign: "top", + margins: { left: simMarginLR, right: simMarginLR }, + children, + })], + })], + })]; + // Height budget example (short title, 4 meta lines): + // topSpacing(3818) + schoolName(906) + title(1028) + subtitle(945) + midSpacing(1467) + // + metaTable(4×520=2080) + bottomSpacing(5268) + footer(476) = ~15988 < 15838 ✅ +} +``` + +--- + +### blendColors Utility Function + +```js +function blendColors(hex1, hex2, ratio) { + const p = (s, i) => parseInt(s.replace("#","").slice(i, i+2), 16); + const mix = (c1, c2) => Math.round(c1 + (c2 - c1) * ratio); + const r = mix(p(hex1,0), p(hex2,0)), g = mix(p(hex1,2), p(hex2,2)), b = mix(p(hex1,4), p(hex2,4)); + return [r, g, b].map(v => v.toString(16).padStart(2,"0")).join(""); +} +``` + + + +## Geometric Decoration System + +→ See `references/decorations.md` for the full geometric decoration element library (decoration elements, usage scenarios, code examples). + +## Chinese Plot PNG Method (matplotlib) + +```python +import matplotlib +matplotlib.use("Agg") +import matplotlib.pyplot as plt +from matplotlib.font_manager import FontProperties + +font_paths = [ + "/System/Library/Fonts/Supplemental/SimHei.ttf", + "/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc", + "./SimHei.ttf", +] +zh_font = None +for fp in font_paths: + try: + zh_font = FontProperties(fname=fp) + break + except: + continue + +plt.rcParams["axes.unicode_minus"] = False +``` + +## Chart Quality Rules + +### Chart Color Palette + +Default: **low-saturation (Morandi style)** palette to avoid flashy high-saturation. High-saturation palette only for explicitly energetic scenarios (events/education/creative). + +```js +const chartColors = { + // Default: low saturation, professional (S: 25-40%, L: 55-68%) + default: ["6B9DAD", "C49B72", "7BA68A", "B87472", "9687A8", "C8B87C", "7AADA0", "7A9BB8"], + // Vivid: only for energetic/creative scenes + vivid: ["2F97B8", "E67E22", "27AE60", "E74C3C", "9B59B6", "F1C40F", "1ABC9C", "3498DB"], +}; + +// Scene selection: +// - report/whitepaper/consulting/academic/contract → default +// - activity/education/creative copy → vivid (optional) +``` + +**Color usage rules:** +- Max **5 colors** per chart; excess categories use depth variants of same hue +- Emphasis data uses document accent color; non-emphasis uses grey `#B0B0B0` +- Adjacent segments in pie/bar charts must have hue gap ≥ 60° + +1. **Anti-overlap**: If >6 x-axis labels, rotate 45° (`plt.xticks(rotation=45, ha='right')`) +2. **Anti-stretch**: Always set figure size explicitly (`fig, ax = plt.subplots(figsize=(10, 6))`) +3. **Aspect ratio (CRITICAL)**: When embedding in docx, MUST read actual image dimensions and calculate height proportionally. NEVER hardcode both width and height — pie charts become ellipses, radar charts become diamonds. + ```js + const sizeOf = require("image-size"); + const dims = sizeOf(chartBuffer); + const displayWidth = 500; + const displayHeight = Math.round(displayWidth * (dims.height / dims.width)); + // transformation: { width: displayWidth, height: displayHeight } + ``` +4. **DPI**: Save at 200+ DPI (`plt.savefig("chart.png", dpi=200, bbox_inches="tight")`) +5. **Colors**: Use palette accent color for primary data series +6. **Legend**: Place outside plot area if >4 series +7. **Square charts**: Pie and radar charts MUST use `figsize=(8, 8)` (equal width/height) to preserve circular/radial shape +7. **Grid**: Light gray grid (`ax.grid(True, alpha=0.3)`) + +--- + +## Typography Rules + +### CJK Body Text +- **Alignment**: Justified (`AlignmentType.JUSTIFIED`) +- **First-line indent**: 2 characters — Profile A (SimSun): `firstLine: 480`; Profile B (YaHei): `firstLine: 420`. See `common-rules.md` for profile definitions. +- **Line spacing**: 1.3x = `spacing: { line: 312 }` +- **No heading indent**: Headings must NOT have first-line indent + +### English Body Text +- **Alignment**: Left (`AlignmentType.LEFT`) +- **No indent** +- **Line spacing**: Same 1.3x + +### Table Numbers +- Right-aligned in cells +- Use monospace or tabular figures if available + +### Headings +- No first-line indent +- `spacing: { before: 240, after: 120 }` (H1: before 360) +- Bold, palette.primary color + +### 1.3x Line Spacing — MANDATORY +Every document, every paragraph. `spacing: { line: 312 }`. No exceptions unless scene explicitly overrides (e.g., resume uses 1.15x). + +--- + +## Page Layout — A4 Standard + +```js +sections: [{ + properties: { + page: { + size: { width: 11906, height: 16838, orientation: PageOrientation.PORTRAIT }, + margin: { top: 1440, bottom: 1440, left: 1701, right: 1417 }, + // Top/bottom 2.54cm = 1440, left 3.0cm = 1701, right 2.5cm = 1417 twips + }, + }, + children: [/* ... */], +}] +``` + +These are defaults. Scenes may override (e.g., official docs use different margins). + +### Scene Font Override Rules + +Default font config (docx-js Font Configuration in design-system.md) uses YaHei+Calibri for most business scenarios. The following scenes have dedicated font requirements — **scene rules override defaults**: + +| Scene | Body CN | Body EN | Headings | Body Color | +|------|----------|----------|------|----------| +| Default (general) | Microsoft YaHei | Calibri | SimHei + Calibri | palette.body | +| **Report** | **SimSun** | **Times New Roman** | **SimHei + TNR** | **"000000" (pure black)** | +| **Academic** | **SimSun** | **Times New Roman** | **SimHei + TNR** | **"000000" (pure black)** | +| **Contract** | **SimSun** | **Times New Roman** | **SimHei + TNR** | **"000000" (pure black)** | +| Official doc | FangSong | — | STXiaoBiaoSong | "000000" | +| Resume | Microsoft YaHei | Calibri | SimHei + Calibri | palette.body | + +When report or academic scene is loaded, `styles.default.document.run` font and color must be overridden per scene. Heading sizes may also differ (e.g., report scene H1 centered, H2 uses Xiao San size:30 instead of default Si Hao size:28). Scene file takes precedence. diff --git a/skills/docx/references/docx-js-advanced.md b/skills/docx/references/docx-js-advanced.md new file mode 100755 index 0000000..e584a09 --- /dev/null +++ b/skills/docx/references/docx-js-advanced.md @@ -0,0 +1,257 @@ +# docx-js Advanced Features + +Advanced API for complex document scenarios. Load this when creating documents with TOC, cover pages, footnotes, multi-section layouts, or post-processing needs. + +## Table of Contents (TOC) + +**→ See `references/toc.md` for the complete TOC reference** (3-step process, code examples, page numbering, common bugs, checklist). + +## Cover Page Design (Vertical Centering) + +Use large `spacing.before` to push content down for visual centering: + +```js +// Approximate vertical center on A4: +// Total printable height ≈ 14000 twips +// For title at ~40% from top: before = 5600 +const coverSection = { + properties: { + page: { /* standard A4 */ }, + // No headers/footers on cover page + }, + children: [ + new Paragraph({ spacing: { before: 5600 } }), // spacer + new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ + text: title, + font: { ascii: "Calibri", eastAsia: "SimHei" }, + size: 52, bold: true, color: palette.primary, + })], + }), + // ... subtitle, author, date + ], +}; +``` + +For multi-section documents, put the cover in its own section so it can have different headers/footers. + +## Footnotes + +```js +const { FootnoteReferenceRun, Footnote } = require("docx"); + +const doc = new Document({ + footnotes: { + 1: { children: [new Paragraph({ children: [new TextRun({ text: "Smith, J. (2024). Research Methods. Academic Press, pp. 45-67.", size: 18 })] })] }, + 2: { children: [new Paragraph({ children: [new TextRun({ text: "Zhang, W. (2023). \u201c数据分析方法研究\u201d. 科学通报, 68(12), 1234-1250.", size: 18 })] })] }, + }, + sections: [{ + children: [ + new Paragraph({ + children: [ + new TextRun({ text: "According to recent studies" }), + new FootnoteReferenceRun(1), // superscript [1] + new TextRun({ text: ", data analysis methods have evolved" }), + new FootnoteReferenceRun(2), // superscript [2] + new TextRun({ text: "." }), + ], + }), + ], + }], +}); +``` + +### Academic Reference Pattern + +For sequential references [1][2][3]..., pre-define all footnotes in the `footnotes` object with numeric keys, then reference them inline with `FootnoteReferenceRun(n)`. + +## keepNext — Element Binding + +Prevent page breaks between related elements: + +```js +// Heading stays with next paragraph +new Paragraph({ + heading: HeadingLevel.HEADING_2, + keepNext: true, // don't break after this + children: [new TextRun({ text: "Table 1: Results" })], +}) +// Table immediately follows on same page + +// Caption stays with image +new Paragraph({ + keepNext: true, + alignment: AlignmentType.CENTER, + children: [new TextRun({ text: "Figure 1: Architecture Diagram", italics: true, size: 20 })], +}) +// ImageRun paragraph follows +``` + +Use `keepNext: true` for: +- Heading → first paragraph of section +- Table caption → table +- Image → image caption +- "Figure X" label → image + +## Page Break Rules + +Follow the document type strategy defined in SOUL.md Rule 1. + +**Structural breaks (always):** +- Cover page → TOC +- TOC → main content +- Main content → back cover + +**Content breaks (by document type):** +- Academic / teaching → `new Paragraph({ children: [new PageBreak()] })` before each H1 chapter +- Business report → PageBreak before each H1; H2 flows naturally +- Resume / contract / letter → No content page breaks +- Short article → No content page breaks + +**Anti-tear (mandatory):** +```js +// Heading stays with next paragraph +new Paragraph({ + heading: HeadingLevel.HEADING_1, + keepNext: true, + children: [new TextRun("Chapter Title")], +}) + +// Table caption stays with table +new Paragraph({ + keepNext: true, + children: [new TextRun({ text: "Table 1: Summary", italics: true })], +}) + +// Image caption stays with image +new Paragraph({ + keepNext: true, + children: [new TextRun({ text: "Figure 1: Architecture", italics: true })], +}) +``` + +**Never:** +- PageBreak inside tables +- PageBreak as standalone element (must be inside Paragraph) +- PageBreak at the END of the last section (causes blank page) + +```js +// Correct: page break between cover and TOC +new Paragraph({ children: [new PageBreak()] }) +``` + +## Quotes Escaping in JS Strings + +**⚠️⚠️⚠️ CRITICAL — #1 MOST COMMON BUG ⚠️⚠️⚠️** + +Bare Chinese curly quotation marks (`""` `''`) in JS string literals **WILL break syntax and crash document generation**. This bug occurs most often in **Chinese body text** where curly quotes are used for emphasis, proper nouns, event names, or quoted speech — e.g., `"双11"`, `"前低后高"`, `"618"大促`. **Every single occurrence** of `""''` in text content MUST be Unicode-escaped. No exceptions. + +**MANDATORY RULE: Before writing ANY `TextRun`, `para()`, or string containing Chinese text, scan the text for `""''` characters and replace ALL of them with `\u201c \u201d \u2018 \u2019`.** + +| Character | Unicode | Escape method | +|-----------|---------|---------------| +| `"` `"` | `\u201c` `\u201d` | Unicode escape `\u201c` `\u201d` | +| `'` `'` | `\u2018` `\u2019` | Unicode escape `\u2018` `\u2019` | +| `"` | U+0022 | `\"` or wrap string in single quotes / template literal | +| `'` | U+0027 | `\'` or wrap string in double quotes / template literal | + +```js +// ❌ WRONG — curly quotes in Chinese text break JS syntax (VERY COMMON MISTAKE) +content.push(para("2025年四个季度行业增速呈现"前低后高"的态势。在"618"大促、"双11""双12"活动拉动下增长显著。")); +new TextRun({ text: "他说"你好"" }) +new TextRun({ text: 'It's a test' }) + +// ✅ CORRECT — ALL curly quotes replaced with Unicode escapes +content.push(para("2025年四个季度行业增速呈现\u201c前低后高\u201d的态势。在\u201c618\u201d大促、\u201c双11\u201d\u201c双12\u201d活动拉动下增长显著。")); +new TextRun({ text: "他说\u201c你好\u201d" }) +new TextRun({ text: "It\u2019s a test" }) + +// ✅ CORRECT — straight quotes escaped or use alternate delimiters +new TextRun({ text: "He said \"hello\"" }) +new TextRun({ text: 'He said "hello"' }) +new TextRun({ text: `He said "hello"` }) +``` + +## Multi-Section Documents + +Different headers/footers per section: + +```js +const doc = new Document({ + sections: [ + { + // Section 1: Cover — no header/footer + properties: { page: { /* ... */ } }, + children: coverChildren, + }, + { + // Section 2: Front matter — Roman page numbers + properties: { + type: SectionType.NEXT_PAGE, + page: { + /* size, margin... */ + pageNumbers: { start: 1, formatType: NumberFormat.UPPER_ROMAN }, + }, + }, + headers: { default: new Header({ children: [] }) }, + footers: { + default: new Footer({ + children: [new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ children: [PageNumber.CURRENT], size: 18 })], + })], + }), + }, + children: tocAndAbstract, + }, + { + // Section 3: Main content — Arabic page numbers + properties: { + type: SectionType.NEXT_PAGE, + page: { + /* size, margin... */ + pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL }, + }, + }, + headers: { + default: new Header({ + children: [new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ text: docTitle, size: 18, color: "888888" })], + })], + }), + }, + footers: { default: footerWithPageNumbers }, + children: mainContent, + }, + ], +}); +``` + +## Converting DOCX to PDF + +```bash +# Using LibreOffice (headless) +libreoffice --headless --convert-to pdf output.docx + +# ⚠️ TOC Rule: If document has TOC, warn user that: +# 1. LibreOffice conversion may show empty TOC +# 2. User should open in Word first, update fields (Ctrl+A → F9), save, then convert +# 3. Or use Word's "Save as PDF" for best results +``` + +## Converting DOCX to Images + +```bash +# Step 1: Convert to PDF +libreoffice --headless --convert-to pdf output.docx + +# Step 2: Convert PDF to images +pdftoppm -png -r 200 output.pdf output_page + +# This generates output_page-1.png, output_page-2.png, etc. +# Use -r 200 for good quality (200 DPI) +``` + +Useful for generating preview thumbnails or when user needs images instead of document files. diff --git a/skills/docx/references/docx-js-core.md b/skills/docx/references/docx-js-core.md new file mode 100755 index 0000000..a83e76e --- /dev/null +++ b/skills/docx/references/docx-js-core.md @@ -0,0 +1,333 @@ +# docx-js API Reference + +Complete API for creating .docx documents with the `docx` npm package. For advanced features (TOC details, footnotes, PDF conversion), see `docx-js-advanced.md`. + +## Setup + +```js +const { + Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell, + ImageRun, PageBreak, Header, Footer, PageNumber, NumberFormat, + AlignmentType, HeadingLevel, WidthType, BorderStyle, ShadingType, + PageOrientation, TabStopType, TabStopPosition, ExternalHyperlink, + InternalHyperlink, Bookmark, LevelFormat, TableOfContents, +} = require("docx"); +const fs = require("fs"); +``` + +## Document Creation + Export + +```js +const doc = new Document({ + styles: { /* see Styles section */ }, + numbering: { config: [ /* see Lists section */ ] }, + sections: [{ + properties: { + page: { + size: { width: 11906, height: 16838 }, + margin: { top: 1417, bottom: 1417, left: 1701, right: 1417 }, + }, + }, + headers: { default: new Header({ children: [/* */] }) }, + footers: { default: new Footer({ children: [/* */] }) }, + children: [ /* Paragraphs, Tables, etc. */ ], + }], +}); + +const buffer = await Packer.toBuffer(doc); +fs.writeFileSync("output.docx", buffer); +``` + +## Paragraph + TextRun + +```js +new Paragraph({ + heading: HeadingLevel.HEADING_1, // or HEADING_2, HEADING_3 + alignment: AlignmentType.JUSTIFIED, + spacing: { before: 240, after: 120, line: 312 }, // 1.3x mandatory + indent: { firstLine: 480 }, // 2-char CJK indent (480 SimSun / 420 YaHei) + children: [ + new TextRun({ + text: "Hello", + bold: true, + italics: true, + size: 24, // 12pt = Xiao Si + font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, + color: "000000", // Pure black for Profile A; for Profile B use palette.body + }), + ], +}); + +// Additional text formatting options +new TextRun({ text: "Underlined", underline: { type: UnderlineType.SINGLE } }) +new TextRun({ text: "Highlighted", highlight: "yellow" }) +new TextRun({ text: "Strikethrough", strike: true }) +new TextRun({ text: "x²", superScript: true }) +new TextRun({ text: "H₂O", subScript: true }) +new SymbolRun({ char: "2022", font: "Symbol" }) // Bullet • +``` + +## Table + +**⚠️ CRITICAL**: Always set `margins` on TableCell (or at Table level for global default). Without margins, text touches borders. + +**⚠️ CRITICAL**: Use `ShadingType.CLEAR` — never `ShadingType.SOLID` (causes black cells). + +**⚠️ CRITICAL — Table Cross-Page Control**: +- Header row MUST set `tableHeader: true` (auto-repeat header on page break) +- All rows MUST set `cantSplit: true` (prevent row content split across pages) +- Title paragraph before table MUST set `keepNext: true` (keep title with table) + +```js +// ⚠️ Title before table — keepNext keeps title with table +new Paragraph({ + keepNext: true, // ← critical + children: [new TextRun({ text: "Table 1 Feature Comparison", bold: true, size: 21 })], +}), + +new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: { + top: { style: BorderStyle.SINGLE, size: 2, color: "9AA6B2" }, + bottom: { style: BorderStyle.SINGLE, size: 2, color: "9AA6B2" }, + left: { style: BorderStyle.NONE }, + right: { style: BorderStyle.NONE }, + insideHorizontal: { style: BorderStyle.SINGLE, size: 1, color: "D0D0D0" }, + insideVertical: { style: BorderStyle.NONE }, + }, + rows: [ + // ⚠️ Header row — tableHeader + cantSplit + new TableRow({ + tableHeader: true, // auto-repeat on page break + cantSplit: true, // prevent row split + children: ["Header 1", "Header 2"].map(text => + new TableCell({ + children: [new Paragraph({ children: [new TextRun({ text, bold: true, size: 21 })] })], + shading: { type: ShadingType.CLEAR, fill: "F1F5F9" }, + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + width: { size: 50, type: WidthType.PERCENTAGE }, + }) + ), + }), + // ⚠️ Data rows — cantSplit + new TableRow({ + cantSplit: true, // prevent row split + children: ["Data 1", "Data 2"].map(text => + new TableCell({ + children: [new Paragraph({ children: [new TextRun({ text, size: 21 })] })], + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + width: { size: 50, type: WidthType.PERCENTAGE }, + }) + ), + }), + ], +}); +``` + +### Column Widths + +```js +// Fixed widths (twips) +width: { size: 3000, type: WidthType.DXA } +// Percentage +width: { size: 50, type: WidthType.PERCENTAGE } +``` + +## ImageRun + +**⚠️ CRITICAL**: Always include `type` parameter. Always preserve aspect ratio. + +```js +const imageBuffer = fs.readFileSync("chart.png"); +// Calculate dimensions preserving aspect ratio +const displayWidth = 500; +const aspectRatio = originalHeight / originalWidth; +const displayHeight = Math.round(displayWidth * aspectRatio); + +new Paragraph({ + alignment: AlignmentType.CENTER, + children: [ + new ImageRun({ + data: imageBuffer, + transformation: { width: displayWidth, height: displayHeight }, + type: "png", // REQUIRED: "png", "jpg", "gif", "bmp" + }), + ], +}); +``` + +## PageBreak + +**⚠️ CRITICAL**: PageBreak MUST be inside a Paragraph. Standalone PageBreak crashes Word. + +**⚠️ Best Practice**: Attach PageBreak to the end of a **paragraph with text content**. Avoid empty paragraph + PageBreak (may cause blank pages). If using multi-section structure, prefer section breaks over PageBreak. + +```js +// ✅ Recommended — PageBreak attached to content paragraph +new Paragraph({ + children: [ + new TextRun({ text: "End of section" }), + new PageBreak() + ] +}) + +// ✅ Acceptable — but prefer section breaks +new Paragraph({ children: [new PageBreak()] }) + +// ✅ Best — use section breaks instead of PageBreak +// Place content in different sections — auto page break +``` + +## Headers & Footers + Page Numbers + +```js +headers: { + default: new Header({ + children: [ + new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ text: "Document Title", size: 18, color: "888888" })], + }), + ], + }), +}, +footers: { + default: new Footer({ + children: [ + new Paragraph({ + alignment: AlignmentType.CENTER, + children: [ + new TextRun({ children: [PageNumber.CURRENT], size: 18 }), + ], + }), + ], + }), +}, +``` + +> ⚠️ **Denominator FORBIDDEN** — never use `PageNumber.TOTAL_PAGES` or "X / Y" format. Show only current page number. + +## Styles Definition + +The example below is for **Chinese documents** (default). For **English documents**, replace `font` with `"Times New Roman"` throughout. + +```js +styles: { + default: { + document: { + run: { + font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, + size: 24, color: "000000", // Pure black for Profile A; for Profile B use palette.body + }, + paragraph: { + spacing: { line: 312 }, // 1.3x mandatory + }, + }, + heading1: { + run: { font: { ascii: "Calibri", eastAsia: "SimHei" }, size: 32, bold: true, color: "0B1220" }, + paragraph: { spacing: { before: 360, after: 160, line: 312 } }, + }, + heading2: { + run: { font: { ascii: "Calibri", eastAsia: "SimHei" }, size: 28, bold: true, color: "0B1220" }, + paragraph: { spacing: { before: 240, after: 120, line: 312 } }, + }, + heading3: { + run: { font: { ascii: "Calibri", eastAsia: "SimHei" }, size: 24, bold: true, color: "0B1220" }, + paragraph: { spacing: { before: 200, after: 100, line: 312 } }, + }, + }, +} +``` + +## Lists + +**⚠️ CRITICAL**: Each separate numbered list MUST use a unique `reference` name. Reusing the same reference causes numbering to continue instead of restarting. + +```js +// In Document numbering config +numbering: { + config: [ + { + reference: "list-features", // unique name! + levels: [{ + level: 0, + format: LevelFormat.DECIMAL, + text: "%1.", + alignment: AlignmentType.LEFT, + style: { paragraph: { indent: { left: 720, hanging: 360 } } }, + }], + }, + { + reference: "list-benefits", // different name for second list! + levels: [{ /* same config */ }], + }, + ], +}, + +// Usage in paragraphs +new Paragraph({ + numbering: { reference: "list-features", level: 0 }, + children: [new TextRun({ text: "First item" })], +}) +``` + +### Bullet Lists + +```js +new Paragraph({ + bullet: { level: 0 }, + children: [new TextRun({ text: "Bullet item" })], +}) +``` + +## Hyperlinks + +### External Link + +```js +new ExternalHyperlink({ + children: [new TextRun({ text: "Click here", style: "Hyperlink" })], + link: "https://example.com", +}) +``` + +### Internal Link (Bookmark) + +```js +// Define bookmark at target +new Paragraph({ + children: [ + new Bookmark({ id: "section1", children: [new TextRun("Section 1")] }), + ], +}) + +// Link to bookmark +new InternalHyperlink({ + children: [new TextRun({ text: "Go to Section 1", style: "Hyperlink" })], + anchor: "section1", +}) +``` +## Table of Contents (TOC) + +**→ See `references/toc.md` for the complete TOC reference.** + +Quick reminder: (1) Add `TableOfContents` element + PageBreak, (2) Run `python3 "$DOCX_SCRIPTS/add_toc_placeholders.py" output.docx --auto`, (3) Check exit code. + +## Tabs + +```js +new Paragraph({ + tabStops: [ + { type: TabStopType.RIGHT, position: TabStopPosition.MAX }, + ], + children: [new TextRun("Left"), new TextRun("\t"), new TextRun("Right")] +}) +``` + +## Constants Quick Reference + +- **Underlines:** `SINGLE`, `DOUBLE`, `WAVY`, `DASH` +- **Borders:** `SINGLE`, `DOUBLE`, `DASHED`, `DOTTED` +- **Numbering:** `DECIMAL` (1,2,3), `UPPER_ROMAN` (I,II,III), `LOWER_LETTER` (a,b,c) +- **Symbols:** `"2022"` (•), `"00A9"` (©), `"00AE"` (®), `"2122"` (™) + diff --git a/skills/docx/references/faq.md b/skills/docx/references/faq.md new file mode 100755 index 0000000..30777f3 --- /dev/null +++ b/skills/docx/references/faq.md @@ -0,0 +1,323 @@ +# FAQ — Common Bugs and Fixes + +## Bug: Table text touching cell borders + +**Symptom**: Text is cramped against table cell edges, no padding. + +**Fix**: Set `margins` at the TableCell level: +```js +new TableCell({ + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + children: [/* ... */], +}) +``` + +--- + +## Bug: Numbered list doesn't restart + +**Symptom**: Second numbered list continues from where the first left off (e.g., starts at 4 instead of 1). + +**Fix**: Each separate numbered list MUST use a unique `reference` name in numbering config: +```js +numbering: { config: [ + { reference: "list-A", levels: [{ level: 0, format: LevelFormat.DECIMAL, text: "%1." }] }, + { reference: "list-B", levels: [{ level: 0, format: LevelFormat.DECIMAL, text: "%1." }] }, +]} +``` + +--- + +## Bug: Cover and content on same page + +**Symptom**: Cover page content flows directly into main content without page break. + +**Fix**: Add a PageBreak paragraph at the end of cover content: +```js +coverChildren.push(new Paragraph({ children: [new PageBreak()] })); +``` + +--- + +## Bug: Three-line table shows all borders + +**Symptom**: Table intended to be three-line shows full grid borders. + +**Fix**: Set table-level borders to NONE, then override only specific cell borders: +```js +// Table level: all borders NONE +borders: { top: { style: BorderStyle.SINGLE, size: 4 }, bottom: { style: BorderStyle.SINGLE, size: 4 }, + left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE }, + insideHorizontal: { style: BorderStyle.NONE }, insideVertical: { style: BorderStyle.NONE } } +// Header cells: bottom border only +headerCell.borders = { bottom: { style: BorderStyle.SINGLE, size: 2, color: "000000" } } +``` + +--- + +## Bug: User requests Chinese font size name (e.g. Wu Hao) but output is wrong + +**Symptom**: Font size doesn't match expected Chinese size name. + +**Fix**: Use the correct half-point value. `size` in docx-js is in half-points: +- Wu Hao 五号 = 10.5pt → `size: 21` +- Xiao Si 小四 = 12pt → `size: 24` +- Si Hao 四号 = 14pt → `size: 28` + +See SKILL.md for complete conversion table. + +--- + +## Bug: Black table cells + +**Symptom**: Table cells appear solid black in Word. + +**Fix**: Use `ShadingType.CLEAR` not `ShadingType.SOLID`: +```js +// ❌ WRONG +shading: { type: ShadingType.SOLID, fill: "F1F5F9" } +// ✅ CORRECT +shading: { type: ShadingType.CLEAR, fill: "F1F5F9" } +``` + +--- + +## Bug: Chinese characters garbled in matplotlib charts + +**Symptom**: Chinese text shows as empty boxes □□□ in generated PNG charts. + +**Fix**: Configure SimHei font before plotting: +```python +from matplotlib.font_manager import FontProperties +zh_font = FontProperties(fname="/path/to/SimHei.ttf") +plt.title("中文标题", fontproperties=zh_font) +plt.rcParams["axes.unicode_minus"] = False +``` + +--- + +## Bug: Image stretched/squashed in document + +**Symptom**: Embedded image appears distorted. + +**Fix**: Calculate display height from width using original aspect ratio: +```js +const aspectRatio = originalHeight / originalWidth; +const displayWidth = 500; +const displayHeight = Math.round(displayWidth * aspectRatio); +new ImageRun({ data: buf, transformation: { width: displayWidth, height: displayHeight }, type: "png" }); +``` + +--- + +## Bug: TOC shows empty in generated document + +→ See `references/toc.md` — "5 Common TOC Bugs" section for diagnosis and fixes. + +--- + +## Bug: PageBreak standalone crashes Word + +**Symptom**: Document fails to open or renders incorrectly. + +**Fix**: PageBreak must always be wrapped in a Paragraph: +```js +// ❌ WRONG — standalone +children: [new PageBreak()] +// ✅ CORRECT — inside Paragraph +children: [new Paragraph({ children: [new PageBreak()] })] +``` + +--- + +## Bug: Quotation marks break JavaScript syntax — ⚠️ #1 MOST COMMON BUG + +**This is the single most frequent code generation error.** Chinese text routinely uses curly quotes `""` for emphasis, proper nouns, and event names (e.g., "双11", "前低后高", "618"大促). These MUST be Unicode-escaped — bare curly quotes silently break JS syntax. + +**Rule: scan ALL Chinese text for `""''` and replace with `\u201c \u201d \u2018 \u2019` BEFORE writing the string.** + +```js +// ❌ WRONG — curly quotes in Chinese text break syntax (extremely common) +para("行业增速呈现"前低后高"的态势,在"618"大促拉动下增长。") +"他说"你好"" // \u201c \u201d +'It's a test' // \u2019 + +// ✅ CORRECT — Unicode escapes for ALL curly quotes +para("行业增速呈现\u201c前低后高\u201d的态势,在\u201c618\u201d大促拉动下增长。") +"他说\u201c你好\u201d" +"It\u2019s a test" + +// ✅ Straight quotes: escape or use alternate delimiters +"He said \"hello\"" +'He said "hello"' +``` + +--- + +## Bug: Unwanted blank pages in document + +**Common causes:** + +1. **Trailing PageBreak at end of last section** — pagination should use section breaks or be at the start of the next section +2. **Empty Paragraph overflow** — empty paragraphs at page bottom push to a new page +3. **PageBreak right after Table** — Table already at page bottom, PageBreak creates extra page + +**Fix:** +```js +// Post-generation check: last section's children should not end with PageBreak +function removeTrailingPageBreak(section) { + const children = section.children; + if (!children.length) return; + const last = children[children.length - 1]; + // If last element is a Paragraph containing only PageBreak, remove it + if (last instanceof Paragraph) { + const runs = last.root?.filter(c => c instanceof PageBreak); + if (runs?.length && !last.root?.some(c => c instanceof TextRun)) { + children.pop(); + } + } +} +``` + +**Prevention rules:** +- Place PageBreak at the **start of the next section**, not the end of the previous one +- Or use separate sections for pagination (no PageBreak needed) +- The last section of a document must NEVER end with a PageBreak + +--- + +## Bug: Different rendering in WPS vs Microsoft Word + +**Symptom**: Document looks correct in Word but renders differently in WPS (or vice versa) — misaligned tables, shifted content, clipped text in cells, black cells, or broken covers. + +**Root causes and fixes:** + +### 1. `ShadingType.SOLID` shows black in WPS +```js +// ❌ WPS shows solid black +shading: { type: ShadingType.SOLID, fill: "F1F5F9" } +// ✅ Both renderers show correct color +shading: { type: ShadingType.CLEAR, fill: "F1F5F9" } +``` + +### 2. `verticalAlign: "center"` in exact-height rows shifts content +WPS ignores vertical centering in `rule: "exact"` rows — content stays at top, creating visual mismatch. +```js +// ❌ Inconsistent between Word and WPS +new TableRow({ height: { value: 800, rule: "exact" }, + children: [new TableCell({ verticalAlign: VerticalAlign.CENTER, ... })] }) +// ✅ Use top alignment + margins/spacing for positioning +new TableRow({ height: { value: 800, rule: "exact" }, + children: [new TableCell({ verticalAlign: VerticalAlign.TOP, + margins: { top: 200 }, ... })] }) +``` + +### 3. Tab stops misalign in WPS +Tab widths differ between Word and WPS. Never use tabs for alignment. +```js +// ❌ Tab-based alignment — breaks in WPS +new Paragraph({ tabStops: [{ type: TabStopType.RIGHT, position: 8000 }], + children: [new TextRun({ text: "Party A:\tCompany Name" })] }) +// ✅ Borderless table for alignment — consistent everywhere +new Table({ borders: allNoBorders, rows: [new TableRow({ children: [ + new TableCell({ children: [new Paragraph({ children: [new TextRun({ text: "Party A:" })] })] }), + new TableCell({ children: [new Paragraph({ children: [new TextRun({ text: "Company Name" })] })] }), +] })] }) +``` + +### 4. Nested tables in exact-height cells overflow differently +Word calculates nested table heights more accurately than WPS. Use stacked tables instead. +```js +// ❌ Nested table inside exact-height cell +new TableRow({ height: { value: 16838, rule: "exact" }, + children: [new TableCell({ children: [nestedTable1, nestedTable2] })] }) +// ✅ Stacked approach — content table + filler table +[contentTable, fillerTable] // both at top level, heights sum to 16838 +``` + +### 5. `characterSpacing` renders differently +Large `characterSpacing` values cause inconsistent letter spacing. Keep ≤ 80. + +### 6. `titlePage: true` header/footer suppression +WPS may not correctly hide first-page headers when using `titlePage: true`. Use a separate section for the cover instead. + +--- + +## Bug: Cover spills to second page + +**Symptom**: Cover content overflows, with some elements (date, footer, accent strip) appearing on page 2. + +**Root cause**: Total content height exceeds 16838 twips (A4 page height). Common when: +- Title is very long (3+ lines at large font size) +- Fixed spacing values assume short title +- Multiple meta lines + subtitle + English label + +**Fix**: Always use `calcTitleLayout()` + `calcCoverSpacing()` from `design-system.md`. These dynamically adjust font sizes and spacing to fit within the page. See `design-system.md § Cover Content Overflow Prevention` for the complete checklist. + +--- + +## Bug: Blank page 2 after cover in MS Office (but not WPS) + +**Symptom**: Cover displays correctly in WPS but produces a blank second page in MS Office Word. + +**Root cause**: The cover wrapper table uses **default docx-js table borders** (`single/auto/sz=4`) instead of explicitly setting `allNoBorders`. Default borders add ~8 twips per edge. MS Office includes border thickness in the exact-height row calculation, pushing total height past 16838 twips → overflow to page 2. WPS is more lenient and absorbs the extra pixels. + +**Fix**: Every cover wrapper table MUST explicitly set `borders: allNoBorders`: +```js +const NB = { style: BorderStyle.NONE, size: 0, color: "FFFFFF" }; +const allNoBorders = { top: NB, bottom: NB, left: NB, right: NB, + insideHorizontal: NB, insideVertical: NB }; + +new Table({ + borders: allNoBorders, // ← MANDATORY + rows: [new TableRow({ + height: { value: 16838, rule: "exact" }, + // ... + })], +}); +``` + +**Prevention**: Add to post-generation check — search for any `new Table` in cover code that does not explicitly set `borders`. + +--- + +## Bug: Cover decorative lines appear truncated or misaligned + +**Symptom**: Horizontal decorative lines on the cover (accent strips, divider rules) display at different widths in MS Office vs WPS, or appear truncated / not spanning the intended width. + +**Root cause**: Lines were implemented using text characters (`───`, `━━━`, `═══`, `——————`) instead of paragraph borders. Character-drawn lines depend on font metrics (character width × count), which vary across rendering engines. + +**Fix**: Always use **paragraph borders** for decorative lines: +```js +// ✅ Paragraph border — renders consistently in both MS Office and WPS +new Paragraph({ + indent: { left: 1000, right: 1000 }, + border: { top: { style: BorderStyle.SINGLE, size: 18, color: accentColor, space: 20 } }, + children: [], +}) + +// ❌ NEVER use text characters for decorative lines +new TextRun({ text: "───────────────" }) // width varies across engines +``` + +**Note**: This applies to ALL cover recipes (R1–R5). Recipe R2 uses `border.top` and `border.bottom` for its double-rule frame — follow this pattern. + +--- + +## Bug: "undefined" appears in document text + +**Symptom**: Fields like "Contact: undefined" or "Location: undefined" in generated documents. + +**Root cause**: JavaScript outputs the string `"undefined"` when accessing a property that doesn't exist on the config object. + +**Fix**: Use `safeText()` helper for ALL user-facing text values: +```js +function safeText(value, placeholder) { + if (value === undefined || value === null || value === "" || + String(value) === "NaN" || String(value) === "undefined") { + return placeholder || "【Please fill in】"; + } + return String(value); +} +// Usage: new TextRun({ text: safeText(config.contact, "【Contact person】") }) +``` diff --git a/skills/docx/references/math-formulas.md b/skills/docx/references/math-formulas.md new file mode 100755 index 0000000..3394e1f --- /dev/null +++ b/skills/docx/references/math-formulas.md @@ -0,0 +1,276 @@ +# Math Formulas — LaTeX → docx-js Mapping + +## Design Philosophy + +GLM uses **LaTeX as the formula input syntax**, internally converting to docx-js Math objects. + +**Why not write OMML directly?** +- Models are naturally proficient in LaTeX (abundant in training data) +- LaTeX is semantically clear and highly readable +- Conversion layer is encapsulated internally, transparent to the user + +## Quick Start + +```js +const { Math: OoxmlMath, MathRun, MathFraction, MathSuperScript, + MathSubScript, MathRadical, MathSum, MathSubSuperScript } = require("docx"); + +// Embed formula in paragraph +new Paragraph({ + alignment: AlignmentType.CENTER, + children: [ + new OoxmlMath({ + children: [/* Math components */] + }) + ] +}) +``` + +## LaTeX → docx-js Conversion Table + +### Basic Operations + +| LaTeX | Meaning | docx-js Implementation | +|-------|---------|----------------------| +| `x + y` | Addition | `new MathRun("x + y")` | +| `x - y` | Subtraction | `new MathRun("x − y")` (use Unicode minus `−`) | +| `x \times y` | Multiplication | `new MathRun("x × y")` | +| `x \div y` | Division | `new MathRun("x ÷ y")` | +| `x \pm y` | Plus-minus | `new MathRun("x ± y")` | +| `x \neq y` | Not equal | `new MathRun("x ≠ y")` | +| `x \leq y` | Less or equal | `new MathRun("x ≤ y")` | +| `x \geq y` | Greater or equal | `new MathRun("x ≥ y")` | + +### Fractions + +| LaTeX | docx-js | +|-------|---------| +| `\frac{a}{b}` | `new MathFraction({ numerator: [new MathRun("a")], denominator: [new MathRun("b")] })` | +| `\frac{x+1}{x-1}` | `new MathFraction({ numerator: [new MathRun("x+1")], denominator: [new MathRun("x−1")] })` | + +### Superscripts & Subscripts + +| LaTeX | docx-js | +|-------|---------| +| `x^2` | `new MathSuperScript({ children: [new MathRun("x")], superScript: [new MathRun("2")] })` | +| `x_i` | `new MathSubScript({ children: [new MathRun("x")], subScript: [new MathRun("i")] })` | +| `x_i^2` | `new MathSubSuperScript({ children: [new MathRun("x")], subScript: [new MathRun("i")], superScript: [new MathRun("2")] })` | + +### Radicals + +| LaTeX | docx-js | +|-------|---------| +| `\sqrt{x}` | `new MathRadical({ children: [new MathRun("x")] })` | +| `\sqrt[3]{x}` | `new MathRadical({ children: [new MathRun("x")], degree: [new MathRun("3")] })` | + +### Summation & Integrals + +| LaTeX | docx-js | +|-------|---------| +| `\sum_{i=1}^{n}` | `new MathSum({ subScript: [new MathRun("i=1")], superScript: [new MathRun("n")], children: [new MathRun("aᵢ")] })` | + +### Greek Letters + +Use Unicode characters directly: + +```js +// LaTeX → Unicode mapping +const GREEK = { + "\\alpha": "α", "\\beta": "β", "\\gamma": "γ", "\\delta": "δ", + "\\epsilon": "ε", "\\zeta": "ζ", "\\eta": "η", "\\theta": "θ", + "\\iota": "ι", "\\kappa": "κ", "\\lambda": "λ", "\\mu": "μ", + "\\nu": "ν", "\\xi": "ξ", "\\pi": "π", "\\rho": "ρ", + "\\sigma": "σ", "\\tau": "τ", "\\phi": "φ", "\\chi": "χ", + "\\psi": "ψ", "\\omega": "ω", + "\\Alpha": "Α", "\\Beta": "Β", "\\Gamma": "Γ", "\\Delta": "Δ", + "\\Theta": "Θ", "\\Lambda": "Λ", "\\Pi": "Π", "\\Sigma": "Σ", + "\\Phi": "Φ", "\\Psi": "Ψ", "\\Omega": "Ω", +}; +``` + +## Complete Formula Examples + +### Quadratic Formula + +LaTeX: `x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}` + +```js +new OoxmlMath({ + children: [ + new MathRun("x = "), + new MathFraction({ + numerator: [ + new MathRun("−b ± "), + new MathRadical({ + children: [ + new MathSuperScript({ + children: [new MathRun("b")], + superScript: [new MathRun("2")], + }), + new MathRun(" − 4ac"), + ], + }), + ], + denominator: [new MathRun("2a")], + }), + ], +}) +``` + +### Pythagorean Theorem + +LaTeX: `a^2 + b^2 = c^2` + +```js +new OoxmlMath({ + children: [ + new MathSuperScript({ children: [new MathRun("a")], superScript: [new MathRun("2")] }), + new MathRun(" + "), + new MathSuperScript({ children: [new MathRun("b")], superScript: [new MathRun("2")] }), + new MathRun(" = "), + new MathSuperScript({ children: [new MathRun("c")], superScript: [new MathRun("2")] }), + ], +}) +``` + +### Trigonometric Identity + +LaTeX: `\sin^2\theta + \cos^2\theta = 1` + +```js +new OoxmlMath({ + children: [ + new MathSuperScript({ children: [new MathRun("sin")], superScript: [new MathRun("2")] }), + new MathRun("θ + "), + new MathSuperScript({ children: [new MathRun("cos")], superScript: [new MathRun("2")] }), + new MathRun("θ = 1"), + ], +}) +``` + +## Common Exam Formula Templates + +### Middle School Math + +```js +// Quadratic discriminant +const discriminant = new OoxmlMath({ + children: [ + new MathRun("Δ = "), + new MathSuperScript({ children: [new MathRun("b")], superScript: [new MathRun("2")] }), + new MathRun(" − 4ac"), + ], +}); + +// Circle area +const circleArea = new OoxmlMath({ + children: [ + new MathRun("S = π"), + new MathSuperScript({ children: [new MathRun("r")], superScript: [new MathRun("2")] }), + ], +}); +``` + +### High School Math + +```js +// Logarithm change of base +const logChange = new OoxmlMath({ + children: [ + new MathSubScript({ children: [new MathRun("log")], subScript: [new MathRun("a")] }), + new MathRun("b = "), + new MathFraction({ + numerator: [new MathRun("ln b")], + denominator: [new MathRun("ln a")], + }), + ], +}); + +// Arithmetic series sum +const arithmeticSum = new OoxmlMath({ + children: [ + new MathSubScript({ children: [new MathRun("S")], subScript: [new MathRun("n")] }), + new MathRun(" = "), + new MathFraction({ + numerator: [ + new MathRun("n("), + new MathSubScript({ children: [new MathRun("a")], subScript: [new MathRun("1")] }), + new MathRun(" + "), + new MathSubScript({ children: [new MathRun("a")], subScript: [new MathRun("n")] }), + new MathRun(")"), + ], + denominator: [new MathRun("2")], + }), + ], +}); +``` + +### Physics + +```js +// Newton's second law +const newton2 = new OoxmlMath({ + children: [new MathRun("F = ma")], +}); + +// Kinetic energy +const kineticEnergy = new OoxmlMath({ + children: [ + new MathSubScript({ children: [new MathRun("E")], subScript: [new MathRun("k")] }), + new MathRun(" = "), + new MathFraction({ + numerator: [new MathRun("1")], + denominator: [new MathRun("2")], + }), + new MathRun("m"), + new MathSuperScript({ children: [new MathRun("v")], superScript: [new MathRun("2")] }), + ], +}); +``` + +## Complexity Fallback Strategy + +When formulas are too complex (nesting >3 levels) for docx-js Math, **fall back to matplotlib PNG rendering:** + +```python +import matplotlib +matplotlib.use("Agg") +import matplotlib.pyplot as plt + +def latex_to_png(latex_str: str, output_path: str, fontsize: int = 14, dpi: int = 200): + """Render LaTeX formula as PNG image""" + fig, ax = plt.subplots(figsize=(0.1, 0.1)) + ax.axis("off") + text = ax.text(0, 0.5, f"${latex_str}$", fontsize=fontsize, + transform=ax.transAxes, verticalalignment="center") + + fig.canvas.draw() + bbox = text.get_window_extent(fig.canvas.get_renderer()) + fig.set_size_inches(bbox.width / dpi + 0.2, bbox.height / dpi + 0.2) + + plt.savefig(output_path, dpi=dpi, bbox_inches="tight", + pad_inches=0.05, transparent=True) + plt.close() + return output_path +``` + +Then embed the PNG in the document: + +```js +const formulaImg = fs.readFileSync("formula.png"); +new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new ImageRun({ + data: formulaImg, + transformation: { width: 300, height: 40 }, // adjust based on actual size + type: "png", + })], +}) +``` + +**Fallback rules:** +- Nested fractions >2 levels → fallback +- Matrices/determinants → fallback +- Complex integrals (multiple integrals + limits + integrand) → fallback +- Piecewise functions → fallback +- All other cases → prefer docx-js Math diff --git a/skills/docx/references/ooxml.md b/skills/docx/references/ooxml.md new file mode 100755 index 0000000..ae5cd45 --- /dev/null +++ b/skills/docx/references/ooxml.md @@ -0,0 +1,222 @@ +# OOXML Editing Reference — Document Library API + +**Important: Read this entire document before editing.** This is the primary reference for modifying existing .docx files. + +## Document Library (Python) — Primary API + +Use the `Document` class from `"$DOCX_SCRIPTS/document.py"` for all edits, tracked changes, and comments. It handles infrastructure automatically (people.xml, RSIDs, settings.xml, comments, relationships, content types). + +**Working with Unicode and Entities:** +- Both entity notation and Unicode work for search: `contains="“Company"` ≡ `contains="\u201cCompany"` +- Both work for replacement too + +### Setup + +```bash +# Find the docx skill root +find /mnt/skills -name "document.py" -path "*/docx/scripts/*" 2>/dev/null | head -1 +# Skill root = parent of scripts/ + +# Run with PYTHONPATH +PYTHONPATH=/mnt/skills/docx python your_script.py +``` + +```python +from scripts.document import Document, DocxXMLEditor + +# Basic init (auto-creates temp copy, sets up infrastructure) +doc = Document('unpacked') + +# Custom author/initials +doc = Document('unpacked', author="John Doe", initials="JD") + +# Enable tracked changes +doc = Document('unpacked', track_revisions=True) + +# Custom RSID (auto-generated if omitted) +doc = Document('unpacked', rsid="07DC5ECB") +``` + +### Finding Nodes + +```python +# By text +node = doc["word/document.xml"].get_node(tag="w:p", contains="specific text") + +# By line range +para = doc["word/document.xml"].get_node(tag="w:p", line_number=range(100, 150)) + +# By attributes +node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"}) + +# By exact line number +para = doc["word/document.xml"].get_node(tag="w:p", line_number=42) + +# Combined filters (disambiguation) +node = doc["word/document.xml"].get_node(tag="w:r", contains="Section", line_number=range(2400, 2500)) +``` + +### Tracked Changes + +**CRITICAL**: Only mark text that actually changes. Keep unchanged text outside ``/`` tags. + +**Method Selection**: +- Regular text → `replace_node()` with ``/``, or `suggest_deletion()` for whole elements +- Partially modify another's tracked change → `replace_node()` to nest changes +- Reject another's insertion → `revert_insertion()` (NOT `suggest_deletion()`) +- Reject another's deletion → `revert_deletion()` + +```python +# Change one word: "monthly" → "quarterly" +node = doc["word/document.xml"].get_node(tag="w:r", contains="The report is monthly") +rpr = tags[0].toxml() if (tags := node.getElementsByTagName("w:rPr")) else "" +replacement = f'{rpr}The report is {rpr}monthly{rpr}quarterly' +doc["word/document.xml"].replace_node(node, replacement) + +# Delete entire run +node = doc["word/document.xml"].get_node(tag="w:r", contains="text to delete") +doc["word/document.xml"].suggest_deletion(node) + +# Delete entire paragraph +para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph to delete") +doc["word/document.xml"].suggest_deletion(para) + +# Insert new content after a node +node = doc["word/document.xml"].get_node(tag="w:r", contains="existing text") +doc["word/document.xml"].insert_after(node, 'new text') + +# Add new numbered list item +target_para = doc["word/document.xml"].get_node(tag="w:p", contains="existing list item") +pPr = tags[0].toxml() if (tags := target_para.getElementsByTagName("w:pPr")) else "" +new_item = f'{pPr}New item' +tracked_para = DocxXMLEditor.suggest_paragraph(new_item) +doc["word/document.xml"].insert_after(target_para, tracked_para) +``` + +### Handling Other Authors' Changes + +```python +# Partially delete another author's insertion +node = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"}) +replacement = ''' + quarterly + financial + report +''' +doc["word/document.xml"].replace_node(node, replacement) + +# Reject insertion (wraps in deletion) +ins = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"}) +doc["word/document.xml"].revert_insertion(ins) + +# Reject deletion (restores deleted content) +del_elem = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "3"}) +doc["word/document.xml"].revert_deletion(del_elem) +``` + +### Comments + +```python +doc = Document('unpacked', author="Z.ai", initials="Z") + +# Comment on a range +start = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"}) +end = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "2"}) +doc.add_comment(start=start, end=end, text="Explanation of this change") + +# Comment on paragraph +para = doc["word/document.xml"].get_node(tag="w:p", contains="text") +doc.add_comment(start=para, end=para, text="Comment here") + +# Comment on newly created tracked change +node = doc["word/document.xml"].get_node(tag="w:r", contains="old") +new_nodes = doc["word/document.xml"].replace_node( + node, 'oldnew') +doc.add_comment(start=new_nodes[0], end=new_nodes[1], text="Changed per requirements") + +# Reply to comment +doc.reply_to_comment(parent_comment_id=0, text="I agree") +``` + +### Images + +```python +from PIL import Image +import shutil, os + +doc = Document('unpacked') +media_dir = os.path.join(doc.unpacked_path, 'word/media') +os.makedirs(media_dir, exist_ok=True) +shutil.copy('image.png', os.path.join(media_dir, 'image1.png')) + +img = Image.open(os.path.join(media_dir, 'image1.png')) +width_emus = int(6.5 * 914400) # 6.5" usable width +height_emus = int(width_emus * img.size[1] / img.size[0]) + +# Add relationship +rels_editor = doc['word/_rels/document.xml.rels'] +next_rid = rels_editor.get_next_rid() +rels_editor.append_to(rels_editor.dom.documentElement, + f'') +doc['[Content_Types].xml'].append_to(doc['[Content_Types].xml'].dom.documentElement, + '') + +# Insert +node = doc["word/document.xml"].get_node(tag="w:p", line_number=100) +doc["word/document.xml"].insert_after(node, f''' + + + + + + + + + + + + + +''') +``` + +### Saving + +```python +doc.save() # Validates + copies back to original dir +doc.save('modified-unpacked') # Save to different location +doc.save(validate=False) # Skip validation (debug only) +``` + +### Direct DOM Manipulation + +```python +editor = doc["word/document.xml"] +node = doc["word/document.xml"].get_node(tag="w:p", line_number=5) +parent = node.parentNode +parent.removeChild(node) + +# General replacement (without tracked changes) +old = doc["word/document.xml"].get_node(tag="w:p", contains="original") +doc["word/document.xml"].replace_node(old, "replacement") + +# Chained insertions +node = doc["word/document.xml"].get_node(tag="w:r", line_number=100) +nodes = doc["word/document.xml"].insert_after(node, "A") +nodes = doc["word/document.xml"].insert_after(nodes[-1], "B") +``` + +## Schema Compliance Quick Reference + +- **Element ordering in ``**: `` → `` → `` → `` → `` +- **Whitespace**: `xml:space='preserve'` on `` with leading/trailing spaces +- **RSIDs**: 8-digit hex only (0-9, A-F) +- **trackRevisions**: Add `` after `` in settings.xml +- **``/`` placement**: At paragraph level, containing complete `` elements. Never nest inside ``. + +## Validation Rules + +The validator ensures document text matches the original after reverting GLM's changes: +- **Never modify text inside another author's `` or `` tags** +- **Use nested deletions** to remove another author's insertions +- **Every edit must be tracked** with `` or `` tags diff --git a/skills/docx/references/toc.md b/skills/docx/references/toc.md new file mode 100755 index 0000000..5b7808e --- /dev/null +++ b/skills/docx/references/toc.md @@ -0,0 +1,264 @@ +# Table of Contents (TOC) — Complete Reference + +> **This is the single source of truth for all TOC rules.** Other files should reference this file instead of duplicating TOC instructions. + +## Overview + +DOCX TOC is a **3-step process**: Code → Post-process → User opens Word. + +``` +Step A: docx-js code generates empty TOC field structure +Step B: add_toc_placeholders.py fills it with visible placeholder entries +Step C: User opens Word → "Update Field" → real page numbers replace placeholders +``` + +All 3 steps are **mandatory**. Skipping any step results in a broken or empty TOC. + +## When to Add TOC + +- **Recommended**: Long or complex documents with many headings (reports, theses, papers, manuals) +- **Do NOT add**: Resumes, contracts, letters, exam papers, short documents +- **postcheck rule**: If document contains a "目录" title but no `TableOfContents` element → error + +## Step A: Code Generation (docx-js) + +Insert **4 elements** in sequence: + +```js +const { TableOfContents, Paragraph, TextRun, PageBreak, AlignmentType } = require("docx"); + +// 1. TOC title — ⛔ DO NOT use HeadingLevel (or TOC will index itself!) +new Paragraph({ + alignment: AlignmentType.CENTER, + spacing: { before: 480, after: 360 }, + children: [new TextRun({ + text: "目 录", // or "Table of Contents" for English docs + bold: true, size: 32, + font: { eastAsia: "SimHei", ascii: "Times New Roman" } + })], +}), + +// 2. TOC field element — ⚠️ first parameter is NOT displayed, it's internal name only +new TableOfContents("Table of Contents", { + hyperlink: true, + headingStyleRange: "1-3", // match HeadingLevel range used in document +}), + +// 3. ★ MANDATORY Refresh Hint — tells user how to update page numbers +new Paragraph({ + spacing: { before: 200 }, + children: [new TextRun({ + text: "Note: This Table of Contents is generated via field codes. To ensure page number accuracy after editing, please right-click the TOC and select \"Update Field.\"", + italics: true, size: 18, color: "888888" + })] +}), + +// 4. ★ MANDATORY PageBreak after TOC — prevents TOC and body merging on same page +new Paragraph({ children: [new PageBreak()] }), +``` + +### Heading Requirements + +**⚠️ CRITICAL**: TOC only picks up paragraphs with `heading: HeadingLevel.HEADING_X`. + +```js +// ✅ Correct — Heading style, TOC can index +new Paragraph({ + heading: HeadingLevel.HEADING_1, + children: [new TextRun({ text: "第一章 引言", bold: true, size: 32, color: c(P.primary) })] +}) + +// ❌ Wrong — manual bold + large font, TOC cannot detect +new Paragraph({ + children: [new TextRun({ text: "第一章 引言", bold: true, size: 32, color: c(P.primary) })] +}) +``` + +**Exceptions:** +- Cover title: does NOT need Heading style (should not appear in TOC) +- "目录" title: **MUST NOT** use Heading style (prevents TOC from indexing itself) + +## Step B: Post-Processing Script + +**MUST** run after generating the DOCX file: + +```bash +python3 "$DOCX_SCRIPTS/add_toc_placeholders.py" output.docx --auto +``` + +### What the script does + +1. Extracts Heading 1-3 from the document as TOC entries +2. Fixes docx-js fldChar structure bug (begin+instrText+separate merged in one ``) +3. Patches `settings.xml` with `updateFields=true` (Word prompts to refresh on open) +4. Ensures Heading styles have `outlineLvl` (required for TOC field update) +5. Ensures TOC 1/2/3 styles exist in `styles.xml` +6. Injects placeholder entries with HYPERLINK + PAGEREF between `separate` and `end` fldChars +7. Handles duplicate heading texts (each gets its own bookmark) + +### Error handling + +The script **exits with code 1** if: +- No TOC field structure found (missing `TableOfContents` element) +- TOC field has `begin` but no `separate` fldChar (malformed structure) +- Field structure exists but no TOC instrText detected + +**If exit code = 1 → the generated code is wrong. Fix the code and regenerate.** + +### Options + +```bash +# Auto mode (recommended — default behavior) +python3 "$DOCX_SCRIPTS/add_toc_placeholders.py" output.docx --auto + +# Manual entries +python3 "$DOCX_SCRIPTS/add_toc_placeholders.py" output.docx \ + --entries '[{"level":1,"text":"Chapter 1","page":"1"},{"level":2,"text":"Section 1.1","page":"2"}]' +``` + +## Step C: User Opens in Word/WPS + +- **Word**: Detects `updateFields=true` → prompts "Update field?" → click Yes → real page numbers +- **WPS**: May NOT auto-prompt. User must: right-click TOC → "Update Field" → "Update entire table" + +The placeholder entries ensure TOC is **not blank** even without updating — users see heading titles with approximate page numbers. + +## Multi-Section Page Numbering + +When a document has a TOC, the TOC MUST be in its own section so that body page numbering starts from 1. This applies to **all document types with a TOC** (reports, whitepapers, PRDs, academic papers, etc.) — not just academic papers. + +**Mandatory 3-section architecture for documents with cover + TOC:** + +```js +sections: [ + { /* Section 1: Cover — no page number, no footer */ + properties: { + page: { size: pgSize, margin: pgMargin }, + // ⚠️ Do NOT set page.pageNumbers here — docx-js emits empty which confuses WPS + }, + }, + { /* Section 2: Front matter (abstract, TOC) — Roman numerals */ + properties: { + type: SectionType.NEXT_PAGE, + page: { + size: pgSize, margin: pgMargin, + pageNumbers: { start: 1, formatType: NumberFormat.UPPER_ROMAN }, // I, II, III... + }, + }, + footers: { default: pageNumFooter() }, // see footer rules below + children: [/* abstract + TOC title + TableOfContents + PageBreak */] + }, + { /* Section 3: Body — Arabic numerals starting from 1 */ + properties: { + type: SectionType.NEXT_PAGE, + page: { + size: pgSize, margin: pgMargin, + pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL }, // 1, 2, 3... + }, + }, + footers: { default: pageNumFooter() }, + children: [/* body content */] + }, +] +``` + +### ⚠️ Page Number API — Correct Nesting (CRITICAL) + +Page number settings MUST be nested inside `page.pageNumbers`, NOT at properties top level: + +```js +// ❌ WRONG — docx-js ignores these, pgNumType will be empty +properties: { + pageNumberStart: 1, + pageNumberFormatType: NumberFormat.DECIMAL, +} + +// ✅ CORRECT — docx-js writes start= and fmt= attributes +properties: { + page: { + pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL }, + }, +} +``` + +### ⚠️ Footer Field Instruction — WPS Compatibility (CRITICAL) + +WPS may ignore `pgNumType fmt` in the section properties. To ensure correct display, the footer PAGE field **MUST** include an explicit format switch via **post-processing**: + +After generating the docx, unzip and patch each footer XML: +- **Roman numeral footer**: replace `PAGE` with `PAGE \* ROMAN \\** MERGEFORMAT` +- **Arabic numeral footer**: replace `PAGE \* arabic \* MERGEFORMAT` + +**⚠️ NEVER use `\* decimal` in instrText** — `decimal` is a docx-js API enum value (`NumberFormat.DECIMAL` for `pgNumType` XML attribute), NOT a valid Word field format switch. Using it causes page numbers to render as "1decimal", "2decimal". The correct Word field switch for Arabic numerals is always `\* arabic`. + +```js +// Post-process footer XML: +footerXml = footerXml.replace( + /(]*>)\s*PAGE\s*(<\/w:instrText>)/g, + '$1 PAGE \\* ROMAN \\** MERGEFORMAT $2' // or "arabic" for body section +); +``` + +Also remove any empty `` from the cover section (docx-js emits these even when no pageNumbers is set): +```js +docXml = docXml.replace(//g, ""); +``` + +### Page Numbering Rules + +| Section | Content | Format | Start | Footer | +|---------|---------|--------|-------|--------| +| Cover | Title page | None | — | No footer | +| Front matter | Abstract, TOC | Roman (I, II, III) | 1 | `PAGE \* ROMAN` | +| Body | Main content | Arabic (1, 2, 3) | 1 | `PAGE \* arabic` | + +⚠️ **The body section MUST set `pageNumbers: { start: 1 }`** — otherwise page numbers continue from the front matter pages, causing TOC page references to be offset. This is the #1 cause of "TOC page numbers are wrong". + +### Common Causes of Incorrect Page Numbers + +| Cause | Fix | +|-------|-----| +| `pageNumberStart` at properties top level | Move to `page: { pageNumbers: { start: 1 } }` | +| Cover section emits empty `` | Post-process to remove it | +| Footer uses bare `PAGE` without format switch | Post-process to add `\* roman` or `\* arabic` | +| Cover and body in same section | Separate cover into its own section | +| Multiple sections without pageNumbers.start | Explicitly set on each section needing independent counting | +| headingStyleRange doesn't match headings | Ensure `headingStyleRange: "1-3"` covers all HeadingLevel values used | +| Cover section has header/footer | Don't set header/footer on cover section | + +## TOC Refresh Hint (MANDATORY) + +**⚠️ When the document contains a TOC, you MUST add the following hint paragraph between the `TableOfContents` element and the PageBreak (so it appears on the TOC page, not the body page).** This ensures users know how to refresh page numbers after editing. + +```js +new Paragraph({ + spacing: { before: 200 }, + children: [new TextRun({ + text: "Note: This Table of Contents is generated via field codes. To ensure page number accuracy after editing, please right-click the TOC and select \"Update Field.\"", + italics: true, size: 18, color: "888888" + })] +}), +``` + +## 5 Common TOC Bugs + +| # | Bug | Symptom | Fix | +|---|-----|---------|-----| +| 1 | "目录" heading uses `HeadingLevel.HEADING_1` | TOC includes "目录" as an entry | Remove `heading:` from TOC title paragraph | +| 2 | No `PageBreak` after `TableOfContents` | TOC and body text on same page | Add `new Paragraph({ children: [new PageBreak()] })` after TOC | +| 3 | Missing `TableOfContents` element | Script cannot inject placeholders, TOC is empty | Always include `new TableOfContents(...)` in code | +| 4 | Headings use bold+large instead of `HeadingLevel` | TOC is empty even after running script | Change all body headings to `heading: HeadingLevel.HEADING_X` | +| 5 | Script not run or exit code ignored | TOC page shows only title + blank space | Always run script; if exit code = 1, fix code and regenerate | + +## Checklist (for self-check during generation) + +- [ ] Document has 3+ H1 → TOC is included +- [ ] "目录" heading does NOT use `HeadingLevel` (prevents self-indexing) +- [ ] `new TableOfContents(...)` element present (not just plain text) +- [ ] `PageBreak` exists after TOC element (prevents merging with body) +- [ ] All body chapter headings use `heading: HeadingLevel.HEADING_X` +- [ ] `add_toc_placeholders.py --auto` runs after generation +- [ ] Script exit code checked — if 1, fix code and regenerate +- [ ] TOC page has visible placeholder content (not empty) +- [ ] **TOC Refresh Hint present** — italic gray note after TOC PageBreak telling user to right-click → "Update Field" +- [ ] `outlineLevel: 0` for H1, `1` for H2, etc. (needed for TOC field update) diff --git a/skills/docx/routes/comment.md b/skills/docx/routes/comment.md new file mode 100755 index 0000000..8a8252b --- /dev/null +++ b/skills/docx/routes/comment.md @@ -0,0 +1,88 @@ +# Route: Add Comments + +## Method 1: python-docx (Recommended — Simple) + +```python +from docx import Document +from docx.oxml.ns import qn +from docx.oxml import OxmlElement +from datetime import datetime + +def add_comment(paragraph, comment_text, author="GLM", initials="G"): + """Add a comment to an entire paragraph.""" + # Create comment reference + comment_id = str(hash(comment_text) % 10000) + + # Add to comments.xml (need to create if not exists) + # ... complex XML manipulation required + pass + +# Simpler approach: use python-docx-ng or manipulate XML directly +``` + +**Note**: python-docx has limited native comment support. For reliable results, use the OOXML method. + +## Method 2: OOXML Direct Manipulation (Reliable) + +### Step 1: Unpack + +```bash +mkdir work && cd work && unzip ../input.docx +``` + +### Step 2: Create/update word/comments.xml + +```xml + + + + + + This section needs more detail. + + + + +``` + +### Step 3: Mark comment range in document.xml + +```xml + +Text being commented on + + + + + +``` + +### Step 4: Update relationships + +In `word/_rels/document.xml.rels`, add: +```xml + +``` + +### Step 5: Update Content_Types + +In `[Content_Types].xml`, ensure: +```xml + +``` + +### Step 6: Pack + +```bash +zip -r ../output.docx . -x ".*" +``` + +## When to Use Each Method + +| Scenario | Method | +|----------|--------| +| Add 1-2 simple comments | OOXML | +| Batch review (many comments) | OOXML with Python script | +| Comment on specific words | OOXML (precise range control) | +| Quick annotation | python-docx if available | diff --git a/skills/docx/routes/create.md b/skills/docx/routes/create.md new file mode 100755 index 0000000..8a3bff9 --- /dev/null +++ b/skills/docx/routes/create.md @@ -0,0 +1,207 @@ +# Route: Create New Document + +## Workflow + +``` +0. Check if user provided a reference template (PDF/docx) → if yes, use Template-Following Mode below +1. Load `references/design-system.md` → select palette and cover recipe +2. Load `references/common-rules.md` → shared layout, font, placeholder rules +3. Check user keywords → load scene file if applicable +4. Load `references/docx-js-core.md` +5. If complex → also load `references/docx-js-advanced.md` +6. Plan document structure (outline) +7. Write JS/TS using docx library + ⚠️ **BEFORE writing any string**: scan ALL Chinese text for curly quotes `""''` and replace with `\u201c \u201d \u2018 \u2019` — bare curly quotes break JS syntax (see docx-js-advanced.md § Quotes Escaping) +8. Run with `bun run generate.js` (or `node generate.js`) +9. If TOC → run `python3 "$DOCX_SCRIPTS/add_toc_placeholders.py" output.docx --auto` +10. Run post-generation checklist (see SKILL.md) +``` + +## Template-Following Mode + +When the user provides a reference document (PDF/docx) as a **formatting template** (e.g., "generate following this template format", "refer to this sample"), switch to template-following mode instead of the standard recipe-based workflow: + +1. **Extract the template's structure** — cover layout, section order, heading hierarchy, page breaks, special pages (e.g., advisor comments page, approval form) +2. **Replicate structure exactly** — every major structural unit becomes a **separate section** (cover, body, appendix/form pages) with appropriate margins and page breaks +3. **Fill content** from the user's content source, or generate per user instructions +4. **Preserve template-specific elements** — school-specific forms, signature areas, stamp placeholders, advisor comment blocks → reproduce as-is with placeholder text (e.g., "Advisor (signature):") +5. **Maintain formatting fidelity** — font choices, table layouts, spacing, and alignment should match the template, not the standard design-system palettes + +⚠️ **Do NOT apply standard cover recipes (R1–R7) when a user-provided template defines its own cover format.** Follow the template's cover layout instead. Standard `common-rules.md` constraints (e.g., `WidthType.PERCENTAGE`, `allNoBorders` for cover wrapper, `Rule 8` line spacing) still apply for cross-engine compatibility. + +⚠️ **Each distinct page type = separate section.** Cover section (margin: 0), body section (standard margins), appendix/form pages (may need different margins or orientation). Never place cover + body + appendix in a single section. + +--- + +## Decision Tree + +### Cover Page? +- **YES**: Reports, theses, proposals, plans, or 3+ page docs with clear title/author +- **NO**: Resumes, contracts, official documents, exam papers, short memos + +### Cover Style Selector — Recipe Router + +Covers use **7 validated layout recipes (R1–R7)**, auto-selected by `selectCoverRecipe()` in `references/design-system.md` (the **authoritative source** — do NOT duplicate the function). + +**Quick Reference:** + +| docType | Recipe | Default Palette | +|---------|--------|-----------------| +| contract / official / exam / resume | null (no cover) | — | +| academic | R5 (Clean White) | ACADEMIC | +| proposal_report (thesis proposal) | R5 (Clean White) | ACADEMIC | +| lesson_plan (STEM) | R4 (Top Color Block) | DM-1 | +| lesson_plan (arts/general) | R6 (Editorial Warm) | ED-1 | +| creative / branding / design | R3 (Centered Card Frame) | SN-2 | +| cultural / newsletter / internal | R6 (Editorial Warm) | ED-1 | +| activity / event | R6 (Editorial Warm) | ED-1 | +| trend/research (cultural/creative/brand) | R7 (Swiss Tech) | ST-1 | +| whitepaper | R2 (Double-Rule Frame) | IG-1 / CM-2 | +| consulting | R2 (Double-Rule Frame) | MIN-1 | +| proposal / plan | R4 (Top Color Block) | GO-1 | +| report | R1 (Pure Paragraph Left) | by industry | +| default | R1 (Pure Paragraph Left) | DS-1 | + +⚠️ **Long title routing:** After selecting recipe, apply `applyLongTitleOverride(result, titleLength)`. Titles >20 chars on R3/R4/R6 → fall back to R1. Titles >30 chars on R2 → fall back to R1. R5 is never overridden. + +⚠️ **Academic thesis cover:** Use `buildAcademicCover()` from `scenes/academic.md`. + +⚠️ **Thesis proposal report (开题报告):** Use `buildProposalCover()` from `scenes/academic.md`. Cover MUST be an independent section. Keywords: "开题报告" (Chinese), "thesis proposal", "research proposal" — NOT the same as business proposals (which use R4). + +### Table of Contents? +- **YES**: 3+ major sections (H1 headings) +- **NO**: Resumes, exam papers, short docs, contracts (<20 clauses) + +→ See `references/toc.md` for the complete TOC reference (3-step process, code examples, common bugs). + +### Headers/Footers? +- **YES** by default (page numbers minimum) +- **NO**: cover page section, official docs (special format) + +### Load Math Formulas? +When: exam papers, academic papers, physics/math/chemistry → load `references/math-formulas.md` + +### Load Chart Templates? +When: data visualization, reports with charts → load `references/chart-templates.md` + +## Outline Rules + +**User provides outline** → Follow EXACTLY. No additions, deletions, or reordering. + +**No outline** → Create from scene template: +- **Academic:** Abstract → TOC → Body → References +- **Report:** Use `selectReportType()` to determine type, then follow template A–F: + - analysis → Template A (Executive Summary → Background → Scope & Method → Findings → Diagnosis → Conclusions) + - experiment → Template B (Abstract → Objective & Hypothesis → Environment → Procedure → Results → Error Analysis → Conclusions) + - testing → Template C (Overview → Scope & Environment → Test Plan → Results → Defects → Risks → Conclusions) + - research → Template D (Summary → Background → Subjects & Method → Sample → Findings → Synthesis → Recommendations) + - review → Template E (Overview → Goals → Review → Results → Issues → Lessons → Action Plan) + - proposal → Template F (Summary → Status → Goals → Solution → Roadmap → Resources → Risks → Benefits) +- **Contract:** Use `selectContractType()` then follow template A–E: + - bilateral → Template A (Header → Parties → Recitals → Definitions → Subject → Price → Rights → Delivery → Tax → IP → Breach → Force Majeure → Termination → Notices → Dispute → Miscellaneous → Signature) + - transfer → Template B (Header → Recitals → Definitions → Subject → Consideration → Closing → Representations → Tax → Breach → Dispute → Signature) + - nda → Template C (Header → Recitals → Definition → Obligations → Use Restrictions → Return/Destroy → Exceptions → Duration → Breach → Dispute → Signature) + - framework → Template D (Header → Recitals → Purpose → Scope → Division → Mechanism → Commercial → Confidentiality → Term → Breach → Dispute → Signature) + - terms → Template E (Title → Definitions → Services → Rights → Liability → Fees → IP → Termination → Notices → Dispute → Miscellaneous) +- **Official:** Use `selectOfficialType()` + `needsRedHeader()`: + - notice → Template A ([Red header] → [Doc number] → Title → Addressee → Reason → Items → Requirements → [Attachments] → [Signature] → [Date] → [Colophon]) + - letter → Template B ([Red header] → [Doc number] → Title → Addressee → Reason → Negotiation/Reply → Closing → [Signature] → [Date]) + - reply → Template C ([Red header] → [Doc number] → Title → Addressee → Reference → Reply → "This is the reply." → Signature → Date) + - minutes → Template D (Title → Meeting Overview → Agreed Items → Responsibilities → [Distribution]) — typically no red header +- Present outline to user before generating when possible + +## Scene Completeness + +Include ALL elements a scene specifies: +- **Academic thesis:** Cover (`buildAcademicCover()` in its own section), abstract, TOC, references +- **Thesis proposal report (thesis proposal / 开题报告):** Cover (`buildProposalCover()` in its own section), body sections per proposal template. Cover MUST be a separate section. +- **Report:** Cover, executive summary, conclusions +- **Contract:** Party info, recitals, complete clause closure, signature block, uniform `【】` placeholders +- **Official:** Correct document type, specific title, closing phrase matching type, proper numbering hierarchy, red header only when requested +- **Exam:** Student info area, scoring criteria + +Generate complete, substantive content — not skeletons. + +## Content Guidelines + +- **Length**: "detailed report" = 3000+ words. "brief summary" = 500–1000. +- **Data**: Use user's data, or generate realistic placeholders +- **Charts**: Use `references/chart-templates.md` matplotlib templates → PNG → embed +- **Math**: Use `references/math-formulas.md` LaTeX → docx-js Math mapping +- **Tables**: For structured data, not layout +- **Numbering**: Figures, tables numbered sequentially with cross-references + +## Code Architecture + +### Heading Style Rule (Mandatory) + +**All body chapter headings MUST use `heading: HeadingLevel.HEADING_X`** — never simulate with bold + large font (TOC cannot detect simulated headings). + +**Exception:** Cover title and TOC title ("目录") heading MUST NOT use Heading style. + +### Blank Page Prevention + +→ See SKILL.md § Post-Generation checklist for the full set of rules. + +Key rules: +1. No double page breaks (SectionType.NEXT_PAGE + PageBreak = blank page) +2. PageBreak paragraphs should have visible text content +3. No more than 3 consecutive empty paragraphs +4. Cover section: ≤2 trailing empty paragraphs, no trailing PageBreak + +### Builder Pattern Example + +```js +const { Document, Packer, Paragraph, TextRun, Header, Footer, + AlignmentType, HeadingLevel, PageNumber } = require("docx"); +const fs = require("fs"); + +// 1. Palette +const P = { primary: "#101820", body: "#182030", secondary: "#506070", accent: "#8090A0" }; +const c = (hex) => hex.replace("#", ""); + +// 2. Component builders +function heading(text, level = HeadingLevel.HEADING_1) { + return new Paragraph({ + heading: level, + spacing: { before: level === HeadingLevel.HEADING_1 ? 360 : 240, after: 120 }, + children: [new TextRun({ text, bold: true, color: c(P.primary), font: { ascii: "Calibri", eastAsia: "SimHei" } })] + }); +} + +function body(text) { + return new Paragraph({ + alignment: AlignmentType.JUSTIFIED, + indent: { firstLine: 480 }, + spacing: { line: 312 }, + children: [new TextRun({ text, size: 24, color: c(P.body) })], + }); +} + +// 3. Assembly — cover + body in separate sections +const doc = new Document({ + styles: { default: { document: { + run: { font: { ascii: "Calibri", eastAsia: "Microsoft YaHei" }, size: 24, color: c(P.body) }, + paragraph: { spacing: { line: 312 } }, + }}}, + sections: [ + { properties: { page: { margin: { top: 0, bottom: 0, left: 0, right: 0 } } }, + children: buildCoverR1(config) }, // ← use recipe from design-system.md + { properties: { page: { margin: { top: 1440, bottom: 1440, left: 1701, right: 1417 } } }, + footers: { default: new Footer({ children: [new Paragraph({ alignment: AlignmentType.CENTER, + children: [new TextRun({ children: [PageNumber.CURRENT], size: 18 })] })] }) }, + children: [heading("Chapter 1"), body("Content...")] }, + ], +}); + +Packer.toBuffer(doc).then(buf => { fs.writeFileSync("output.docx", buf); }); +``` + +## Post-Generation + +→ See SKILL.md § Post-Generation for the complete two-layer verification checklist. + +```bash +python3 "$DOCX_SCRIPTS/postcheck.py" output.docx +``` +⚠️ **Running postcheck.py is MANDATORY.** Fix all ❌ errors before delivering. diff --git a/skills/docx/routes/edit.md b/skills/docx/routes/edit.md new file mode 100755 index 0000000..7beee72 --- /dev/null +++ b/skills/docx/routes/edit.md @@ -0,0 +1,115 @@ +# Route: Edit Existing Document + +## Workflow Overview + +``` +1. Receive .docx (or .doc → convert) +2. Unpack → working directory +3. Analyze structure (document.xml, styles.xml) +4. Plan changes → batch by type +5. Implement via Document library (Python) +6. Pack → output.docx +7. Verify (pandoc or visual) +``` + +## Step 0: Format Conversion + +```bash +# .doc → .docx +libreoffice --headless --convert-to docx input.doc +``` + +## Step 1: Unpack + +```bash +mkdir -p work_dir && cd work_dir && unzip ../input.docx +``` + +Key files: `word/document.xml` (content), `word/styles.xml` (styles), `word/numbering.xml` (lists), `word/media/` (images), `[Content_Types].xml`, `word/_rels/document.xml.rels` + +## Step 2: Plan Changes + +Group changes into batches, process in order: + +1. **Structural** — Add/remove sections, reorder paragraphs +2. **Style** — Font, size, color modifications +3. **Text** — Find/replace, fix typos +4. **Table** — Add/remove rows/columns, update data +5. **Image** — Replace/add images + +## Step 3: Implement + +Load `references/ooxml.md` for the full Document library API. Key patterns: + +```python +from scripts.document import Document + +doc = Document('work_dir') + +# Text replacement with tracked changes +node = doc["word/document.xml"].get_node(tag="w:r", contains="old text") +rpr = tags[0].toxml() if (tags := node.getElementsByTagName("w:rPr")) else "" +replacement = f'{rpr}old text{rpr}new text' +doc["word/document.xml"].replace_node(node, replacement) + +doc.save() +``` + +## Step 4: Pack + +```bash +cd work_dir && zip -r ../output.docx . -x ".*" +``` + +## Step 5: Verify + +```bash +pandoc output.docx -t plain -o /dev/stdout | head -50 +# or visual +libreoffice --headless --convert-to pdf output.docx +``` + +--- + +## Template Matching Workflow + +When user says "use this format" or provides a template: + +1. Unpack template, extract `styles.xml`, `numbering.xml` +2. Analyze font/size/spacing/margins +3. Copy `styles.xml` into target document +4. Match heading hierarchy and spacing + +## Multi-File Merge + +1. Use first document as base +2. Extract content from additional documents +3. Insert with page breaks between sections +4. Merge styles (prefer base document's) +5. Re-number figures/tables sequentially + +## Redlining (Tracked Changes) — Default for Revisions + +When user asks for revisions, **default to tracked changes** so they can review: + +```python +doc = Document('work_dir', track_revisions=True) +# ... make changes using replace_node with / +doc.save() +``` + +Ask user if they want clean output or tracked changes only if ambiguous. + +## Common Operations Quick Reference + +| Operation | Approach | +|-----------|----------| +| Replace text | `get_node` + `replace_node` with tracked changes | +| Change font | Modify `` in run properties | +| Add paragraph | `insert_after` with `` element | +| Delete paragraph | `suggest_deletion` on `` | +| Add table row | Clone ``, modify cells | +| Update header | Edit `word/headerN.xml` | +| Change margins | Edit `` in `` | +| Add image | See `references/ooxml.md` image insertion pattern | +| Add comment | `doc.add_comment(start, end, text)` | diff --git a/skills/docx/routes/format.md b/skills/docx/routes/format.md new file mode 100755 index 0000000..3a70af8 --- /dev/null +++ b/skills/docx/routes/format.md @@ -0,0 +1,120 @@ +# Route: Format / Layout + +## Workflow + +``` +1. Read current document (pandoc for content, unpack for structure) +2. Identify format requirements from user +3. Use unit conversion table (see SKILL.md) +4. Apply formatting via OOXML manipulation or python-docx +5. Pack and verify +``` + +## Quick Formatting via python-docx + +For simple formatting tasks, python-docx is often faster than raw XML: + +```python +from docx import Document as PythonDocument +from docx.shared import Pt, Cm, Twips +from docx.enum.text import WD_ALIGN_PARAGRAPH + +doc = PythonDocument("input.docx") + +# Change all body paragraph formatting +for para in doc.paragraphs: + if para.style.name.startswith("Heading"): + continue + para.paragraph_format.first_line_indent = Twips(420) + para.paragraph_format.line_spacing = 1.5 + para.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY + for run in para.runs: + run.font.name = "宋体" + run.font.size = Pt(12) # Xiao Si 小四 + +doc.save("output.docx") +``` + +## Common Format Request Patterns + +### University Thesis Formatting + +Typical Chinese university thesis requirements: + +```python +from docx.shared import Cm, Pt, Twips + +# Margins +for section in doc.sections: + section.top_margin = Cm(2.5) + section.bottom_margin = Cm(2.5) + section.left_margin = Cm(3.0) + section.right_margin = Cm(2.5) + +# Fonts +# Body: SimSun 宋体 Xiao Si 小四 (12pt) +# H1: SimHei 黑体 San Hao 三号 (16pt) centered +# H2: SimHei 黑体 Si Hao 四号 (14pt) +# H3: SimHei 黑体 Xiao Si 小四 (12pt) +# English: Times New Roman, same sizes +``` + +### Page Numbers Starting from Specific Page + +Use multi-section approach: +```python +# Section 1: Front matter (Roman numerals) +# Section 2: Main content (Arabic, starting from 1) +# This requires OOXML manipulation — see routes/edit.md for unpack/pack workflow +``` + +In raw XML (`word/document.xml`): +```xml + + + + + + + +``` + +### Different Headers Per Section + +Each section in a .docx can have its own header/footer. See `references/docx-js-advanced.md` for the multi-section approach. + +For existing documents, modify `word/document.xml` to split `` and create separate `headerN.xml` files. + +### Font Size Conversion + +When user requests a Chinese font size name: + +| Request | Action | +|---------|--------| +| "Change to Wu Hao (5th) size" | `font.size = Pt(10.5)` or `size: 21` in docx-js | +| "Title in San Hao SimHei" | `font.size = Pt(16)`, `font.name = "SimHei"` | +| "Body in Xiao Si SimSun" | `font.size = Pt(12)`, `font.name = "SimSun"` | + +### Line Spacing Adjustment + +```python +from docx.shared import Twips + +# 1.0x spacing +para.paragraph_format.line_spacing_rule = WD_LINE_SPACING.MULTIPLE +para.paragraph_format.line_spacing = 1.0 + +# 1.3x spacing (our default) +para.paragraph_format.line_spacing = 1.5 + +# Fixed spacing (e.g., 28pt) +para.paragraph_format.line_spacing_rule = WD_LINE_SPACING.EXACTLY +para.paragraph_format.line_spacing = Pt(28) +``` + +## Verification + +After formatting changes: +1. Open in LibreOffice or convert to PDF for visual check +2. Extract text with pandoc to ensure content unchanged +3. Compare file sizes (formatting-only changes shouldn't dramatically change size) diff --git a/skills/docx/routes/read.md b/skills/docx/routes/read.md new file mode 100755 index 0000000..c27eff2 --- /dev/null +++ b/skills/docx/routes/read.md @@ -0,0 +1,114 @@ +# Route: Read / Analyze / Extract + +## Method 1: Text Extraction via pandoc (Fastest) + +```bash +# Plain text +pandoc input.docx -t plain -o output.txt + +# Markdown (preserves structure) +pandoc input.docx -t markdown -o output.md + +# Extract with metadata +pandoc input.docx -t markdown --standalone -o output.md +``` + +**Best for**: Quick content reading, text analysis, word count, searching. + +## Method 2: Raw XML Access (Detailed) + +```bash +mkdir work && cd work && unzip ../input.docx + +# Read main content +cat word/document.xml + +# Read styles +cat word/styles.xml + +# List embedded media +ls word/media/ + +# Read headers/footers +cat word/header1.xml +cat word/footer1.xml +``` + +**Best for**: Analyzing formatting, extracting styles, inspecting document structure, debugging layout issues. + +### Quick XML Parsing + +```python +import defusedxml.ElementTree as ET + +tree = ET.parse("word/document.xml") +ns = {"w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main"} + +# Extract all text +texts = [] +for t in tree.iter("{http://schemas.openxmlformats.org/wordprocessingml/2006/main}t"): + if t.text: + texts.append(t.text) +full_text = "".join(texts) + +# Count paragraphs +paras = tree.findall(".//w:p", ns) +print(f"Paragraphs: {len(paras)}") + +# Find headings +for para in paras: + pPr = para.find("w:pPr", ns) + if pPr is not None: + pStyle = pPr.find("w:pStyle", ns) + if pStyle is not None and "Heading" in pStyle.get(f"{{{ns['w']}}}val", ""): + text = "".join(t.text for t in para.iter(f"{{{ns['w']}}}t") if t.text) + print(f" {pStyle.get(f'{{{ns[\"w\"]}}}val')}: {text}") +``` + +## Method 3: Convert to Images (Visual Analysis) + +```bash +# Convert to PDF first +libreoffice --headless --convert-to pdf input.docx + +# Then to images +pdftoppm -png -r 200 input.pdf page + +# Generates page-1.png, page-2.png, etc. +``` + +**Best for**: Visual layout analysis, comparing formatting, generating previews, when user asks "what does it look like". + +## Method 4: python-docx Reading + +```python +from docx import Document + +doc = Document("input.docx") + +# Read paragraphs +for para in doc.paragraphs: + print(f"[{para.style.name}] {para.text}") + +# Read tables +for table in doc.tables: + for row in table.rows: + print([cell.text for cell in row.cells]) + +# Document properties +print(f"Sections: {len(doc.sections)}") +print(f"Paragraphs: {len(doc.paragraphs)}") +print(f"Tables: {len(doc.tables)}") +``` + +## Choosing the Right Method + +| Need | Method | +|------|--------| +| Quick text content | pandoc | +| Document structure/outline | pandoc → markdown | +| Formatting details | Raw XML | +| Table data extraction | python-docx | +| Visual appearance | Convert to images | +| Style analysis | Raw XML (styles.xml) | +| Word/character count | pandoc → plain → wc | diff --git a/skills/docx/scenes/academic.md b/skills/docx/scenes/academic.md new file mode 100755 index 0000000..f94d1da --- /dev/null +++ b/skills/docx/scenes/academic.md @@ -0,0 +1,783 @@ +# Scene: Academic / Thesis + +## Palette + +**Academic Dark** (Cool + Heavy + Calm) — Academic papers use **pure black body text**. Palette only for cover decoration and minimal title scenarios. + +```js +const palette = { + primary: "#000000", // Title — pure black + body: "#000000", // Body — pure black + secondary: "#333333", // Header/caption — dark grey + accent: "#8B7E5A", // Cover decoration line — cover only + surface: "#F5F7FA", // Table header light bg — three-line tables only +}; +``` + +⚠️ **Body text color must be pure black `"000000"`**. No decorative dark-blue-grey. Academic papers require print-friendly, black-and-white clarity. + +→ Placeholder convention & universal prohibitions — see `references/common-rules.md` +→ **Note:** This scene uses Profile A fonts with academic-specific overrides below. + +--- + +## Page Layout + +| Property | Value | Twips | +|----------|-------|-------| +| Top margin | 2.54 cm | 1440 | +| Bottom margin | 2.54 cm | 1440 | +| Left margin | 3.00 cm | 1701 | +| Right margin | 2.50 cm | 1417 | +| Header distance | 1.5 cm | 850 | +| Footer distance | 1.75 cm | 992 | + +```js +page: { + size: { width: 11906, height: 16838 }, + margin: { top: 1440, bottom: 1440, left: 1701, right: 1417, header: 850, footer: 992 }, +} +``` + +For binding margin, add 0.5–1.0 cm to left (i.e., left: 1985–2268). + +--- + +## Font Specifications + +| Element | CN Font | EN Font | Size | half-pt | Style | +|---------|---------|---------|------|---------|-------| +| Thesis title | SimHei | Times New Roman | Xiao Er 18pt | 36 | Bold, centered | +| H1 | SimHei | Times New Roman | San Hao 16pt | 32 | Bold, centered | +| H2 | SimHei | Times New Roman | Xiao San 15pt | 30 | Bold, left | +| H3 | SimHei | Times New Roman | Si Hao 14pt | 28 | Bold, left | +| Body | SimSun | Times New Roman | Xiao Si 12pt | 24 | Normal, justified | +| Abstract title | SimHei | Times New Roman Bold | San Hao 16pt | 32 | Bold, centered | +| Abstract body | SimSun | Times New Roman | Xiao Si 12pt | 24 | Normal, justified | +| Keywords label | SimHei | Times New Roman Bold | Xiao Si 12pt | 24 | Bold | +| Keywords content | SimSun | Times New Roman | Xiao Si 12pt | 24 | Normal | +| Header | SimSun | Times New Roman | Xiao Wu 9pt | 18 | Centered, color 333333 | +| Page number | — | Times New Roman | Xiao Wu 10.5pt | 21 | Centered | +| Footnote | SimSun | Times New Roman | Xiao Wu 9pt | 18 | Normal | +| Figure/table caption | SimSun | Times New Roman | Wu Hao 10.5pt | 21 | Centered | + +### Paragraph Format +- Body: justified, first-line indent 2 chars (`firstLine: 480`, SimSun Xiao Si = 480 twips) +- Line spacing: 1.5x (`line: 360`); if school requires fixed 22pt, use `line: 440, lineRule: "exact"` +- Body paragraph spacing: before/after 0pt; heading spacing per styles below + +```js +styles: { + default: { + document: { + run: { font: { ascii: "Times New Roman", eastAsia: "SimSun" }, size: 24, color: "000000" }, + paragraph: { spacing: { line: 360 } }, + }, + heading1: { + run: { font: { ascii: "Times New Roman", eastAsia: "SimHei" }, size: 32, bold: true, color: "000000" }, + paragraph: { alignment: AlignmentType.CENTER, spacing: { before: 480, after: 360, line: 360 } }, + }, + heading2: { + run: { font: { ascii: "Times New Roman", eastAsia: "SimHei" }, size: 30, bold: true, color: "000000" }, + paragraph: { spacing: { before: 360, after: 240, line: 360 } }, + }, + heading3: { + run: { font: { ascii: "Times New Roman", eastAsia: "SimHei" }, size: 28, bold: true, color: "000000" }, + paragraph: { spacing: { before: 240, after: 120, line: 360 } }, + }, + }, +} +``` + +--- + +## Heading Numbering System (Mandatory) + +### Format + +| Level | Format | Example | +|-------|--------|---------| +| H1 | Chapter X + title | 第一章 绪论 (Chapter 1 Introduction) | +| H2 | X.X + section title | 1.1 Research Background | +| H3 | X.X.X + subsection | 1.1.1 Domestic Research Status | + +### Mandatory Rules +1. **H1 must use "第X章" format** — not "一、", not "Chapter 1", not "第1章" +2. **H2/H3 use Arabic decimal numbering** (1.1, 1.1.1) — no "(一)", "1)" +3. **No mixing multiple numbering systems** +4. **No level-skipping** (cannot jump from H1 to H3) +5. **All body headings must use `heading: HeadingLevel.HEADING_X`** (TOC depends on this) + +```js +// ✅ Correct +new Paragraph({ + heading: HeadingLevel.HEADING_1, + children: [new TextRun({ text: "第一章 绪论", bold: true, size: 32, font: { eastAsia: "SimHei", ascii: "Times New Roman" } })] +}) +new Paragraph({ + heading: HeadingLevel.HEADING_2, + children: [new TextRun({ text: "1.1 研究背景", bold: true, size: 30, font: { eastAsia: "SimHei", ascii: "Times New Roman" } })] +}) +``` + +### Non-Body Headings +Abstract, Table of Contents, References, Appendices, Acknowledgments: +- Use H1 style (San Hao SimHei centered) for TOC indexing +- But **no numbering** (write directly: "摘 要", "参考文献", etc. — these are non-numbered standalone section headings) + +--- + +## Document Structure & Multi-Section Architecture + +Theses must use **multi-section structure** for independent page numbering and header/footer per section. + +### Complete Structure + +``` +Section 1: Cover → No page number, no header/footer +Section 2: Chinese Abstract → Roman numerals starting from i +Section 3: English Abstract → Roman numerals continued +Section 4: Table of Contents → Roman numerals continued +Section 5: Body (all chapters) → Arabic numerals from 1 +Section 6: References → Arabic numerals continued +Section 7: Appendices (if any) → Arabic numerals continued +Section 8: Acknowledgments (if any) → Arabic numerals continued +``` + +### Page Number Implementation + +```js +const { NumberFormat } = require("docx"); + +// Section 1: Cover — no page number +{ + properties: { + page: { margin: { top: 0, bottom: 0, left: 0, right: 0 } }, + titlePage: true, + }, + children: buildCover(...), +} + +// Section 2: Abstract — Roman numerals from i +{ + properties: { + type: SectionType.NEXT_PAGE, + page: { + margin: { top: 1440, bottom: 1440, left: 1701, right: 1417, header: 850, footer: 992 }, + pageNumbers: { start: 1, formatType: NumberFormat.UPPER_ROMAN }, + }, + }, + headers: { default: buildHeader("Thesis Title") }, + footers: { default: buildPageNumberFooter() }, + children: buildAbstractCN(...), +} + +// Section 3: English Abstract — Roman numerals continued (no reset) +{ + properties: { + type: SectionType.NEXT_PAGE, + page: { + margin: { top: 1440, bottom: 1440, left: 1701, right: 1417, header: 850, footer: 992 }, + pageNumbers: { formatType: NumberFormat.UPPER_ROMAN }, // no start → continues from previous + }, + }, + headers: { default: buildHeader("Thesis Title") }, + footers: { default: buildPageNumberFooter() }, + children: buildAbstractEN(...), +} + +// Section 5: Body — Arabic numerals from 1 +{ + properties: { + type: SectionType.NEXT_PAGE, + page: { + margin: { top: 1440, bottom: 1440, left: 1701, right: 1417, header: 850, footer: 992 }, + pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL }, + }, + }, + headers: { default: buildHeader("Thesis Title") }, + footers: { default: buildPageNumberFooter() }, + children: buildMainContent(...), +} +// Section 6+: References/Appendices/Acknowledgments — Arabic continued +``` + +### Header & Footer Helpers + +```js +function buildHeader(title) { + return new Header({ children: [ + new Paragraph({ alignment: AlignmentType.CENTER, + border: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "000000" } }, + children: [new TextRun({ text: title, size: 18, color: "333333", + font: { ascii: "Times New Roman", eastAsia: "SimSun" } })], + }), + ] }); +} + +function buildPageNumberFooter() { + return new Footer({ children: [ + new Paragraph({ alignment: AlignmentType.CENTER, + children: [ + new TextRun({ text: "- ", size: 21 }), + new TextRun({ children: [PageNumber.CURRENT], size: 21 }), + new TextRun({ text: " -", size: 21 }), + ], + }), + ] }); +} +``` + +### Page Break Rules +- Cover is a separate section (no PageBreak needed) +- Chinese abstract, English abstract, TOC each in their own section +- All body chapters in **one section** (no forced page breaks between chapters unless user requests) +- References, appendices, acknowledgments each in their own section +- **Never use blank lines instead of section breaks** + +--- + +## Cover + +### Information Fields + +Cover must include (use placeholders for missing info): + +| Field | Format | Placeholder | +|-------|--------|-------------| +| University name | Er Hao SimHei, centered | ×××University | +| Thesis title (CN) | Xiao Er SimHei, centered | (user-provided) | +| Thesis title (EN) | San Hao Times New Roman, centered | (translated from CN) | +| College | Si Hao SimSun | ×××College | +| Major | Si Hao SimSun | ×××Major | +| Author | Si Hao SimSun | ××× | +| Student ID | Si Hao SimSun | ××××××× | +| Advisor | Si Hao SimSun | ×××Professor | +| Date | Si Hao SimSun | 2026/XX | + +### Cover Style + +Use Recipe R5 (Clean White) or academic-specific `buildAcademicCover()` — never use commercial-style covers. + +### Cover Layout Order (Mandatory) + +The visual order on academic covers must follow this hierarchy from top to bottom: + +1. School name (top) +2. Document type label (e.g., "Undergraduate Thesis", "Thesis Proposal Report") +3. **Thesis title** (prominent, centered) +4. Thesis English title (if bilingual) +5. **Author information table** (college, major, author, student ID, advisor) +6. Date (bottom) + +⚠️ **Title MUST appear ABOVE the author info table.** The screenshot issue of info table appearing above the title is caused by incorrect element ordering. The `buildAcademicCover()` and `buildProposalCover()` functions below enforce correct order. + +⚠️ **Layout must be vertically balanced** — use dynamic spacing to distribute whitespace evenly. Do not cram all elements into the top half or let large gaps appear between elements. + +```js +function buildAcademicCover(info) { + const { school, title, titleEN, college, major, author, studentId, advisor, date } = info; + + // ⚠️ Use safeText() for all values — never output "undefined" + const infoRows = [ + ["College", safeText(college, "【College】")], + ["Major", safeText(major, "【Major】")], + ["Author", safeText(author, "【Author】")], + ["Student ID", safeText(studentId, "【Student ID】")], + ["Advisor", safeText(advisor, "【Advisor】")], + ]; + + const infoTable = new Table({ + width: { size: 60, type: WidthType.PERCENTAGE }, + alignment: AlignmentType.CENTER, + borders: { top: NB, bottom: NB, left: NB, right: NB, insideHorizontal: NB, insideVertical: NB }, + rows: infoRows.map(([label, value]) => new TableRow({ + cantSplit: true, + children: [ + new TableCell({ + width: { size: 35, type: WidthType.PERCENTAGE }, + borders: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "000000" }, top: NB, left: NB, right: NB }, + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + children: [new Paragraph({ + alignment: AlignmentType.RIGHT, + children: [new TextRun({ text: label + ":", size: 28, font: { eastAsia: "SimHei", ascii: "Times New Roman" } })], + })], + }), + new TableCell({ + borders: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "000000" }, top: NB, left: NB, right: NB }, + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + children: [new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ text: value, size: 28, font: { eastAsia: "SimSun", ascii: "Times New Roman" } })], + })], + }), + ], + })), + }); + + // ⚠️ Correct order: school → doc type → TITLE → info table → date + // ★ Rule 8: All large-font paragraphs must set explicit line spacing + return [ + new Paragraph({ alignment: AlignmentType.CENTER, spacing: { before: 1200, after: 400, line: Math.ceil(22 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: safeText(school, "【University Name】"), size: 44, bold: true, font: { eastAsia: "SimHei" } })] }), + new Paragraph({ alignment: AlignmentType.CENTER, spacing: { after: 800, line: Math.ceil(18 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: "Undergraduate Thesis", size: 36, font: { eastAsia: "SimHei" } })] }), + new Paragraph({ alignment: AlignmentType.CENTER, spacing: { after: 200, line: Math.ceil(18 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: safeText(title, "【Thesis Title】"), size: 36, bold: true, font: { eastAsia: "SimHei", ascii: "Times New Roman" } })] }), + titleEN ? new Paragraph({ alignment: AlignmentType.CENTER, spacing: { after: 1200, line: Math.ceil(16 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: titleEN, size: 32, font: { ascii: "Times New Roman" } })] }) + : new Paragraph({ spacing: { after: 1200 }, children: [] }), + infoTable, + new Paragraph({ alignment: AlignmentType.CENTER, spacing: { before: 1200, line: Math.ceil(14 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: safeText(date, "2026/XX"), size: 28, font: { eastAsia: "SimSun" } })] }), + ]; +} +``` + +### Thesis Proposal Report Cover (开题报告) + +Thesis proposal reports use a similar cover layout but with different document type label. The key layout rule is the same: **title above author info, evenly spaced**. + +⚠️ **CRITICAL — Proposal cover MUST be an independent section:** +The proposal cover MUST be placed in its **own section** (with margin: 0 and a 16838 wrapper table), completely separate from the body content. The body content starts in the **next section** (with `SectionType.NEXT_PAGE` or as a separate section entry). **Never place the cover elements and body content in the same section** — this causes them to render on the same page without any page break, which is the #1 proposal report formatting failure. + +```js +// ✅ Correct — cover and body in separate sections +sections: [ + { + properties: { page: { margin: { top: 0, bottom: 0, left: 0, right: 0 } } }, + children: buildProposalCover(info), // standalone cover section + }, + { + properties: { page: { margin: { top: 1440, bottom: 1440, left: 1701, right: 1417 } } }, + children: [...bodyContent], // body starts here + }, +] + +// ❌ WRONG — cover and body in same section (no page separation!) +sections: [ + { + children: [...coverElements, ...bodyContent], // everything on one continuous flow + }, +] +``` + +```js +function buildProposalCover(info) { + const { school, year, title, subtitle, college, major, author, studentId, advisor, date } = info; + + // ⚠️ Use safeText() for all values + const infoRows = [ + ["姓名 (Name)", safeText(author, "XXX")], + ["专业 (Major)", safeText(major, "XXX")], + ["入学时间 (Enrollment)", safeText(info.enrollment, "XXX")], + ]; + + const infoTable = new Table({ + width: { size: 60, type: WidthType.PERCENTAGE }, + alignment: AlignmentType.CENTER, + borders: { top: NB, bottom: NB, left: NB, right: NB, insideHorizontal: NB, insideVertical: NB }, + rows: infoRows.map(([label, value]) => new TableRow({ + children: [ + new TableCell({ + width: { size: 35, type: WidthType.PERCENTAGE }, + borders: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "000000" }, top: NB, left: NB, right: NB }, + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + children: [new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ text: label, size: 28, bold: true, font: { eastAsia: "SimHei", ascii: "Times New Roman" } })], + })], + }), + new TableCell({ + borders: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "000000" }, top: NB, left: NB, right: NB }, + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + children: [new Paragraph({ + alignment: AlignmentType.CENTER, + children: [new TextRun({ text: value, size: 28, font: { eastAsia: "SimSun", ascii: "Times New Roman" } })], + })], + }), + ], + })), + }); + + // ⚠️ Correct order: doc type label → info table → "论文题目" label → TITLE → subtitle + // Layout balanced: upper 40% for header + info, middle 20% for title, lower 40% for whitespace + // ★ Rule 8: All large-font paragraphs must set explicit line spacing + return [ + new Paragraph({ alignment: AlignmentType.CENTER, spacing: { before: 1500, after: 600, line: Math.ceil(18 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: safeText(year, "2025") + " 届本科毕业论文开题报告", + size: 36, bold: true, font: { eastAsia: "SimHei", ascii: "Times New Roman" } })] }), + infoTable, + new Paragraph({ spacing: { before: 1200 } }), // Balanced whitespace + new Paragraph({ alignment: AlignmentType.CENTER, spacing: { after: 200 }, + children: [new TextRun({ text: "论文题目", size: 28, font: { eastAsia: "SimSun", ascii: "Times New Roman" } })] }), + new Paragraph({ alignment: AlignmentType.CENTER, spacing: { after: 200, line: Math.ceil(16 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: safeText(title, "【Thesis Title】"), size: 32, bold: true, + font: { eastAsia: "SimHei", ascii: "Times New Roman" } })] }), + subtitle ? new Paragraph({ alignment: AlignmentType.CENTER, spacing: { after: 800 }, + children: [new TextRun({ text: "——" + subtitle, size: 28, + font: { eastAsia: "SimSun", ascii: "Times New Roman" } })] }) + : new Paragraph({ spacing: { after: 800 }, children: [] }), + ]; +} +``` + +### ⚠️ WPS Compatibility Notes for Academic Covers + +Both thesis cover and proposal cover use info tables. These MUST follow the cross-engine rules: +- Table uses **percentage widths** (`WidthType.PERCENTAGE`), NOT DXA — WPS renders DXA widths differently in nested contexts +- Table width: adaptive 55–75%, centered via `alignment: CENTER` (calculated by `calcR5MetaLayout()`) +- Label column: **LEFT aligned**, plain text + ":", NO full-width space padding, NO borders +- Value column: **LEFT aligned**, `bottom: single sz=4` border = fixed-length underline +- Cell `margins.top/bottom: 60` is acceptable (small values) but avoid larger values +- All paragraphs with font size > 12pt (body) must set `spacing: { line: Math.ceil(fontPt * 23), lineRule: "atLeast" }` to prevent top clipping (Rule 8) +- ⚠️ Do NOT use DXA widths, full-width space padding (`\u3000`), tab stops, or right-alignment for meta info + +⚠️ **Proposal cover must fit on one page.** Use the same height-budget approach as commercial covers — total content height must stay within 15638 twips (1200 twips safety margin). If the title is very long, reduce font size (minimum 24pt). +``` + +--- + +## Section Content Standards + +### Chinese Abstract +**Format:** +- Title: "摘 要" (space in middle), San Hao SimHei centered, H1 style +- Body: Xiao Si SimSun, justified, first-line indent 480 twips +- Keywords: "关键词:" SimHei bold + content SimSun normal, 3–8 keywords, semicolon-separated + +**Content structure (mandatory):** +1. Research background (1–2 sentences) +2. Research problem/purpose (1 sentence) +3. Research method (1–2 sentences) +4. Main results/findings (2–3 sentences) +5. Research significance/value (1 sentence) + +⚠️ **Abstract is NOT a TOC summary.** Must not read as "Chapter 1 introduces... Chapter 2 analyzes..." + +### English Abstract +- Title: "Abstract", San Hao Times New Roman Bold, centered, H1 style +- Body: Xiao Si Times New Roman, justified +- Keywords: bold label + normal content, 3–8 keywords, comma-separated +- **Must be consistent with Chinese abstract** — no significant shrinkage +- Use formal academic English, avoid Chinglish + +### Table of Contents +- Title: "目 录", San Hao SimHei centered +- Use `TableOfContents` field for auto-generation, display at least H1–H2, recommend H3 +- Run `"$DOCX_SCRIPTS/add_toc_placeholders.py" --auto` after generation +- TOC on its own page + +--- + +## Body Chapter Structure + +### Standard Structure (6-chapter) + +``` +Chapter 1: Introduction + 1.1 Research Background + 1.2 Research Purpose & Significance + 1.3 Literature Review (Domestic & International) + 1.4 Research Content & Methods + 1.5 Thesis Structure + +Chapter 2: Theoretical Framework & Literature Review + 2.1 Core Concept Definitions + 2.2 Theoretical Basis + 2.3 Literature Review + 2.4 Research Gap & Entry Point + +Chapter 3: Research Design / Method / Model + 3.1 Research Framework + 3.2 Method Design / System Architecture / Algorithm + 3.3 Variables / Data Sources / Experimental Environment + +Chapter 4: Empirical Analysis / Case Study / Results + 4.1 Data Analysis / Case Description / Experiment Process + 4.2 Results Presentation + 4.3 Results Interpretation + +Chapter 5: Discussion + 5.1 Key Findings + 5.2 Comparison with Existing Research + 5.3 Limitations + +Chapter 6: Conclusions & Outlook + 6.1 Research Conclusions + 6.2 Contributions + 6.3 Limitations + 6.4 Future Research Directions +``` + +### Chapter Content Requirements + +**Chapter 1 (Introduction):** Must state background, purpose, significance, methods, content, structure. + +**Chapter 2 (Literature Review):** Must be systematically organized by theme/method/stage — **never a chronological dump of papers**. Must identify contributions, gaps, and research opportunities. + +**Chapter 3 (Method):** Must explain why this method was chosen and its rationale. Content must be understandable, executable, reproducible. + +**Chapter 4 (Results):** Must be specific, not vague. Must be consistent with Chapter 3 design. + +**Chapter 5 (Discussion):** Must not merely repeat Chapter 4 results. Must explain what results mean and what conclusions they support. + +**Chapter 6 (Conclusions):** Must summarize concisely, state contributions, acknowledge limitations, propose future directions. Must end formally — no abrupt ending. + +--- + +## Discipline-Adaptive Routing + +Auto-adjust research methods and chapter emphasis by discipline. **When user doesn't specify method, choose the most appropriate research paradigm for the discipline — never mechanically apply "empirical + survey + regression" template.** + +### 1. Humanities & Social Sciences (Literature, History, Philosophy, Arts) +**Preferred methods:** Literature analysis, theoretical research, text analysis, comparative studies, historical research +**Adjustments:** Ch.2 focuses on theoretical lineage; Ch.4 becomes text analysis/case argumentation; minimize "variables", "hypotheses", "regression" terminology + +### 2. Management / Economics / Public Administration +**Preferred methods:** Case analysis, surveys, model analysis, institutional research, empirical research +**Adjustments:** Ch.3 focuses on hypotheses, variables, framework; Ch.4 on data collection & analysis; Ch.5 adds management implications/policy recommendations + +### 3. Computer Science / Engineering / IT +**Preferred methods:** Method design, system architecture, experimental comparison, performance evaluation, algorithm analysis +**Adjustments:** Ch.3 becomes system/algorithm design; Ch.4 becomes experiments (environment, parameters, control experiments, metric comparison); minimize "interviews", "surveys" + +### 4. Education / Linguistics / Communication +**Preferred methods:** Teaching experiments, text analysis, survey research, interview research, case studies +**Adjustments:** Ch.3 focuses on subjects, dimensions, samples; Ch.4 on teaching practice/communication case analysis; Ch.5 adds educational implications/communication strategies + +### 5. Law / Marxism / Policy Studies +**Preferred methods:** Normative analysis, statutory interpretation, case studies, institutional comparison, theoretical analysis +**Adjustments:** Ch.2 focuses on legal/policy framework; Ch.4 becomes case analysis/institutional comparison; Ch.5 focuses on normative evaluation, reform recommendations + +--- + +## Figure/Table/Formula Numbering (By Chapter) + +### Numbering Rules + +| Type | Format | Example | +|------|--------|---------| +| Figure | Figure X-Y | Figure 3-1, Figure 4-2 | +| Table | Table X-Y | Table 2-1, Table 4-3 | +| Formula | Eq. (X-Y) | Eq. (3-1), Eq. (5-2) | + +Where X = chapter number, Y = sequential number within chapter. + +### Figures +- Caption **below** figure, Wu Hao SimSun, centered +- Format: "Figure X-Y Description" +- Must be referenced in text: "as shown in Figure 3-1" + +```js +new Paragraph({ alignment: AlignmentType.CENTER, + children: [new ImageRun({ data: imgBuf, transformation: { width: w, height: h }, type: "png" })] }), +new Paragraph({ alignment: AlignmentType.CENTER, spacing: { before: 60, after: 200 }, + children: [new TextRun({ text: "图3-1 System Architecture", size: 21, + font: { eastAsia: "SimSun", ascii: "Times New Roman" } })] }), +``` + +### Tables +- Caption **above** table, Wu Hao SimSun, centered, `keepNext: true` +- Format: "Table X-Y Description" +- Must use three-line table (mandatory for academic papers) +- Must be referenced in text: "as shown in Table 2-1" + +### Formulas +- Formula centered, number **right-aligned** +- Use Tab for center + right alignment +- Text reference: "from Eq. (3-1)" + +```js +new Paragraph({ + alignment: AlignmentType.CENTER, + tabStops: [ + { type: TabStopType.CENTER, position: 4500 }, + { type: TabStopType.RIGHT, position: 9000 }, + ], + children: [ + new TextRun({ text: "\t" }), + new TextRun({ text: "E = mc²" }), + new TextRun({ text: "\t(3-1)" }), + ], +}), +``` + +### Mandatory Rules +1. Figures/tables/formulas **must be referenced in text** — never placed without explanation +2. Must have introductory and analytical text before/after +3. Must not exceed page margins +4. Insert only when analytically valuable — not for decoration + +--- + +## Citation & Reference System + +### In-Text Citation (Sequential Numbering) + +Default: **GB/T 7714 sequential numbering** — `[1]`, `[2]` in text, references listed in order of appearance. + +```js +new TextRun({ text: "[1]", superScript: true, size: 18, font: { ascii: "Times New Roman" } }) +``` + +### Citation Rules +1. In-text numbers must **correspond one-to-one** with reference list +2. **Same source reused keeps the same number** +3. **Do not mix footnote citations and endnote references** (unless user explicitly requests) +4. Footnotes are for supplementary notes only, not primary citations + +### Reference Format (GB/T 7714) +``` +[1] Author. Title[J]. Journal, Year, Vol(No): Pages. +[2] Author. Book Title[M]. Place: Publisher, Year: Pages. +[3] Author. Title[D]. Location: Institution, Year. +[4] Author. Title[EB/OL]. (Published)[Cited]. URL. +``` + +### Reference Formatting +```js +// Reference title — H1 style +new Paragraph({ heading: HeadingLevel.HEADING_1, alignment: AlignmentType.CENTER, + children: [new TextRun({ text: "References", bold: true, size: 32, font: { eastAsia: "SimHei" } })] }), +// Each entry — hanging indent +new Paragraph({ + indent: { left: 420, hanging: 420 }, + spacing: { line: 360 }, + children: [new TextRun({ text: "[1] Author. Title[J]. Journal, 2024, 59(3): 45-62.", + size: 21, font: { eastAsia: "SimSun", ascii: "Times New Roman" } })], +}), +``` + +### Reference Count Guidelines + +| Thesis Type | Suggested Count | +|------------|----------------| +| Course paper (3000–5000 words) | 10–15 | +| Undergraduate thesis | 15–30 | +| Master's thesis | 40–80 | +| Doctoral dissertation | 80–150 | + +If user specifies APA, MLA, Chicago, or school-specific format, follow that instead. + +--- + +## Three-Line Table (Mandatory for Academic Papers) + +All tables in academic papers **must use three-line tables** — no full-border tables. + +```js +const threeLineTable = new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: { + top: { style: BorderStyle.SINGLE, size: 4, color: "000000" }, + bottom: { style: BorderStyle.SINGLE, size: 4, color: "000000" }, + left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE }, + insideHorizontal: { style: BorderStyle.NONE }, insideVertical: { style: BorderStyle.NONE }, + }, + rows: [ + new TableRow({ + tableHeader: true, cantSplit: true, + children: headerCells.map(text => new TableCell({ + borders: { bottom: { style: BorderStyle.SINGLE, size: 2, color: "000000" }, + top: { style: BorderStyle.NONE }, left: { style: BorderStyle.NONE }, right: { style: BorderStyle.NONE } }, + margins: { top: 60, bottom: 60, left: 120, right: 120 }, + children: [new Paragraph({ alignment: AlignmentType.CENTER, + children: [new TextRun({ text, bold: true, size: 21, font: { eastAsia: "SimSun", ascii: "Times New Roman" } })] })], + })), + }), + ...dataRows, // All borders NONE + ], +}); +``` + +--- + +## Content Quality Constraints (Mandatory) + +### Truthfulness & Conservatism +1. **Never fabricate** unverifiable statistics, survey response counts, significance levels, interview subject identities, experimental precision, government document numbers +2. **Never invent** non-existent classic theories, authoritative scholar opinions, regulation names, core data sources +3. When user provides no real data → prefer **theoretical analysis, literature research, case studies, comparative analysis** (low-risk methods) +4. If example data must be constructed → keep scale reasonable, results conservative; never produce "significantly superior" or "dramatically improved" high-risk claims +5. Research conclusions must be **restrained** — do not overstate contributions, effects, or applicability +6. Research limitations must be **honestly disclosed** + +### Language Style +1. Formal academic register throughout +2. **Forbidden:** "I think", "everyone knows", "obviously", "it is well known" (subjective expressions) +3. **Forbidden:** Sloganeering, propaganda, advertising-style expressions +4. First occurrence of CN/EN terms should include English original +5. CN/EN punctuation, spacing, and number formats must be consistent throughout + +### Structural Consistency +1. Abstract, body, and conclusions **must be consistent** — no self-contradiction +2. Must form complete loop: "research question → method → analysis → findings → conclusions & outlook" +3. Terminology consistent throughout — no concept drift +4. All chapters balanced and substantive — no padding + +### Document Cleanliness +1. **No residual** comments, tracked changes, field codes, template default text +2. **No** "TBD", "omitted", "user modifies", "insert figure here" expressions +3. **No** Markdown syntax, HTML tags, code blocks wrapping body text +4. **No** consecutive blank lines, abnormal page breaks, chaotic numbering +5. Final document must be clean, well-formatted, ready for submission + +--- + +## School Standard Override Rule + +⚠️ **When user specifies school/journal-specific format requirements, those requirements OVERRIDE all defaults above.** + +Common override items: +- Margins (binding margin left 3.5 cm common) +- Body font (some schools require FangSong) +- Line spacing (some schools require fixed 28pt) +- Cover layout (varies significantly by school) +- Reference format (APA, MLA, etc.) +- Heading numbering (some schools use "1", "2" instead of "Chapter 1", "Chapter 2") + +### Common Variants + +| Thesis Type | Common Differences | +|------------|-------------------| +| Top universities | Strict GB/T 7714, often require STXiaoBiaoSong cover | +| Regular undergraduate | More flexible, SimSun/SimHei sufficient | +| Master's thesis | Requires English abstract, longer lit review, innovation statement | +| Doctoral dissertation | Requires innovation statement, publication list, originality declaration | + +--- + +## Scene-Specific Quality Checks + +In addition to universal checks (see `references/common-rules.md`): + +### Structure & Content +- [ ] Cover, abstract, English abstract, TOC, body, references all present +- [ ] Cover info complete (school/title/EN title/college/major/name/ID/advisor/date) +- [ ] Abstract contains 5 elements: background + problem + method + results + significance +- [ ] English abstract consistent with Chinese abstract +- [ ] All chapters balanced, substantive, logical loop complete +- [ ] Literature review is thematic, not chronological dump +- [ ] Conclusions respond to research questions + +### Format & Layout +- [ ] Heading numbering consistent (Chapter X / X.X / X.X.X), no mixing +- [ ] All body headings use `heading: HeadingLevel.HEADING_X` +- [ ] Body text pure black `"000000"` +- [ ] Three-line tables used consistently (no full-border tables) +- [ ] Figure captions below, table captions above, numbered by chapter +- [ ] Formulas centered, numbers right-aligned +- [ ] In-text citations match reference list one-to-one +- [ ] References use hanging indent, consistent format +- [ ] Page numbers: front matter Roman, body Arabic from 1 +- [ ] Cover has no page number +- [ ] Headers formal and concise +- [ ] No extra blank pages + +### Cleanliness +- [ ] No comment/revision residuals +- [ ] No "TBD" / "omitted" expressions +- [ ] No Markdown/HTML/code block residuals +- [ ] No consecutive blank lines or abnormal page breaks +- [ ] No fabricated high-risk data or exaggerated conclusions diff --git a/skills/docx/scenes/contract.md b/skills/docx/scenes/contract.md new file mode 100755 index 0000000..a78be7a --- /dev/null +++ b/skills/docx/scenes/contract.md @@ -0,0 +1,463 @@ +# Scene: Contract / Agreement + +## Goal + +Generate a complete, formal, well-structured legal document with clear clauses, rigorous logic, and proper formatting. Must simultaneously meet: +- Complete structure, clear clauses, formal language, explicit responsibilities +- Identifiable risk boundaries, proper Word formatting +- Ready for review, revision, circulation, or signing preparation + +**Forbidden:** Producing outlines-only / sample clauses / drafting advice / risk summaries; outputting chat-style explanations or filler phrases. + +→ Font profile: **A (Formal)** — see `references/common-rules.md` +→ Default layout: standard margins — see `references/common-rules.md` +→ Placeholder convention & universal prohibitions — see `references/common-rules.md` + +--- + +## Contract Type Routing + +```js +function selectContractType(keywords, topic) { + if (/confidential|NDA|non-disclosure/.test(keywords)) return "nda"; + if (/transfer|equity|asset|rights/.test(keywords)) return "transfer"; + if (/framework|strategic|cooperation agreement/.test(keywords)) return "framework"; + if (/terms|platform rules|user agreement|privacy/.test(keywords)) return "terms"; + return "bilateral"; // default: bilateral commercial contract +} +``` + +### 5 Contract Types + +| Type | Use Case | Structure Focus | +|------|----------|----------------| +| bilateral | Service/sale/development/procurement contracts | Subject → Consideration → Performance → Acceptance → Breach → Dispute | +| transfer | Equity/debt/asset/rights transfer | Subject → Consideration → Closing & Registration → Representations → Tax | +| nda | Non-disclosure agreements | Definition of Confidential Info → Obligations → Use Restrictions → Exceptions → Duration | +| framework | Cooperation framework / strategic alliance | Scope → Division of Work → Mechanism → Subsequent Agreements | +| terms | Platform rules / Terms of Service / User agreements | Definitions → Services → Rights & Obligations → Liability Limits → Amendments | + +--- + +## Standard Template Structures + +### Template A: Bilateral Commercial Contract +1. Header (title, contract number, date, location) +2. Party Information (Party A, Party B) +3. Recitals ("Whereas" clauses) +4. Definitions & Interpretation +5. Subject Matter & Scope of Services/Delivery +6. Contract Price & Payment Terms +7. Rights & Obligations of Both Parties +8. Timeline, Delivery & Acceptance +9. Invoicing, Tax & Settlement +10. Intellectual Property & Confidentiality +11. Representations & Warranties (if applicable) +12. Liability for Breach +13. Force Majeure +14. Termination & Dissolution +15. Notices & Service +16. Dispute Resolution +17. Miscellaneous +18. Signature Block + +### Template B: Rights Transfer Agreement +1. Header & Parties +2. Recitals +3. Definitions & Interpretation +4. Subject of Transfer +5. Consideration & Payment Arrangement +6. Closing & Registration/Transfer +7. Representations & Warranties +8. Tax Allocation +9. Liability for Breach +10. Dispute Resolution +11. Miscellaneous +12. Signature Block + +### Template C: Non-Disclosure Agreement (NDA) +1. Header & Parties +2. Recitals +3. Definition of Confidential Information +4. Confidentiality Obligations +5. Use Restrictions +6. Return, Deletion & Destruction of Information +7. Exceptions +8. Confidentiality Period +9. Liability for Breach +10. Dispute Resolution +11. Miscellaneous +12. Signature Block + +### Template D: Framework / Cooperation Agreement +1. Header & Parties +2. Recitals +3. Purpose & Principles +4. Scope of Cooperation +5. Division of Work & Responsibilities +6. Project Advancement Mechanism +7. Commercial Arrangements / Subsequent Agreements +8. Confidentiality, IP & Compliance +9. Term, Amendment & Termination +10. Liability for Breach +11. Dispute Resolution +12. Miscellaneous +13. Signature Block + +### Template E: Unilateral Terms / Platform Rules +1. Document Title +2. Definitions & Scope +3. Service/Rule Content +4. User Rights & Obligations / Platform Rights & Obligations +5. Liability Limitations & Disclaimers +6. Fees & Payment (if applicable) +7. Intellectual Property +8. Termination, Suspension & Amendment +9. Notices & Service +10. Dispute Resolution +11. Miscellaneous + +**Note:** Unilateral/boilerplate terms require special attention to adhesion clause risks — avoid creating extremely one-sided documents. + +**If the user provides an existing template, historical agreement, or company standard, always follow it first.** + +--- + +## Input Recognition & Completion + +### Processing Rules +1. If user provides a template, historical agreement, or company standard → **always follow it first** +2. If information is incomplete, fill conservatively — must be **restrained, natural, professional, consistent with transaction logic** +3. **Never fabricate** unrealistic commercial terms, regulatory requirements, approval conclusions, qualification status, tax treatment results, payment facts, or performance facts +4. If critical info is missing → use standardized placeholders +5. If user does not specify jurisdiction → default to PRC commercial writing conventions, but avoid making specific legal conclusions + +--- + +## Legal Writing Standards + +### Register +1. Use formal legal document register +2. Use clear party designations: "Party A", "Party B", "both parties", "either party", "non-breaching party", "breaching party" +3. **Forbidden:** Colloquial expressions ("you", "me", "they", "pay up", "cancel the contract", "handle ASAP") +4. Preferred terms: "pay consideration", "perform obligations", "constitute a breach", "terminate the contract", "assume liability for damages", "written notice", "deliver and accept", "representations and warranties" + +### Precision +1. Eliminate vague adjectives: avoid "quality", "reasonable", "enormous", "appropriate", "ASAP" unless necessary for legal flexibility +2. Each obligation must specify: who, when, how, what +3. Consistent legal phrasing: + - Mandatory obligation → "shall" + - Right authorization → "has the right to" + - Prohibition → "shall not" + - Discretionary → "may" +4. Amounts, dates, percentages, deadlines, business days vs. calendar days must be as specific as possible + +### Clear Subjects +1. Every clause must have an explicit responsible party — avoid vague subjects ("relevant parties", "relevant personnel", "when necessary") +2. Joint obligations: explicitly write "both parties agree" or "both parties shall" +3. Unilateral obligations: explicitly write "Party A shall" or "Party B shall" + +--- + +## Transaction Closure & Risk Control + +A contract must not only describe the transaction — it must ensure logical closure. Check the following: + +1. If a performance deadline is specified → specify consequences of delay +2. If payment milestones are specified → specify payment conditions, method, invoice requirements +3. If a delivery obligation exists → specify delivery standards, method, acceptance rules, objection period +4. If termination rights exist → specify conditions, notice, effective date, post-termination settlement +5. If breach liability exists → must correspond to main obligations in preceding clauses +6. If IP/technology/data/trade secrets are involved → separately address ownership, license scope, use restrictions +7. If confidentiality obligations exist → define scope, exceptions, duration, breach consequences +8. If force majeure clause exists → specify notice obligation, mitigation duty, subsequent negotiation mechanism +9. If notice/service arrangements exist → specify address, contact person, email, or other delivery method +10. If user requests significantly one-sided adhesion/disclaimer clauses → add a note near the clause: + `[Note: This clause may involve adhesion terms or liability limitations. Manual review recommended for the specific transaction.]` + +--- + +## Truthfulness & Legal Caution + +1. **Never fabricate** specific statute article numbers, judicial interpretation numbers, or regulatory document numbers +2. Legal bases should use general references, e.g.: "In accordance with the Civil Code of the PRC and relevant laws and regulations..." +3. **Never** pretend to provide formal legal opinions, litigation success predictions, or definitive validity/invalidity conclusions +4. **Never** state definitive legality conclusions for high-risk clauses (adhesion terms, penalty clauses, disclaimers, non-compete, exclusivity, unilateral interpretation rights) +5. **Never** fabricate that regulatory approvals are obtained, title is unencumbered, tax compliance is assured, or third-party consent is secured +6. When critical info is insufficient → use placeholders, never present as confirmed fact +7. For high-risk areas (equity, debt, licenses, data compliance, labor, personal information, cross-border) → maintain restrained language, do not add rigid commitments without user confirmation + +--- + +## Special Clause Requirements + +### Definitions Clause +If the document repeatedly uses specialized terms ("deliverables", "service results", "confidential information", "source code", "project milestones", "acceptance criteria", "trade secrets"), include a "Definitions & Interpretation" clause near the beginning. + +### Dispute Resolution +1. Must be explicit +2. Choose between litigation OR arbitration — never mix both +3. Litigation → specify jurisdictional connection point +4. Arbitration → specify arbitration institution +5. If user hasn't specified → use placeholder for confirmation + +### Tax Clause +1. If the transaction involves taxes → specify which party bears them, whether price includes tax, invoice type and conditions +2. Avoid vague "taxes borne as required by law" without transaction-specific detail + +### Breach Liability +1. Must correspond to main obligations in preceding clauses +2. Penalty amounts should be restrained — avoid obviously exaggerated or severely imbalanced figures +3. If fundamental breach exists → consider corresponding termination rights and damages + +### Appendices +1. For complex subjects/pricing/technical requirements/deliverables → use "Appendix 1, Appendix 2..." format +2. Explicitly state appendix-contract relationship (typically: "Appendices form an integral part of this contract") +3. If appendix content is unknown → use placeholder + +--- + +## Palette + +**Legal Wood** (Warm + Heavy + Calm) — for decorative elements only; body text must be pure black. + +```js +const palette = { primary:"#28201C", body:"#000000", secondary:"#6E6560", accent:"#7A5C3A", surface:"#FBF9F7" }; +``` + +⚠️ **ALL visible text in contracts must be pure black `"000000"`.** This includes: +- Contract title (SimHei, black, NOT accent color) +- Contract number (black) +- Clause headings (black) +- Body text (black) +- Party information (black) +- Signature block text (black) + +**The only exception** is red-header official documents (红头文件), which follow their own GB/T 9704 color rules. For standard contracts, NO colored text is permitted — no red, no accent color, no dark-blue-grey. + +```js +// ✅ Contract title — always pure black +new Paragraph({ alignment: AlignmentType.CENTER, + spacing: { line: Math.ceil(22 * 23), lineRule: "atLeast" }, // ★ Rule 8: prevent clipping + children: [new TextRun({ text: "Training Cooperation Framework Agreement", + size: 44, bold: true, color: "000000", // ← MUST be "000000" + font: { eastAsia: "SimHei", ascii: "Times New Roman" } })] +}) + +// ❌ FORBIDDEN — accent/palette color on contract text +new TextRun({ text: "Training Cooperation Framework Agreement", color: palette.accent }) // ← WRONG +new TextRun({ text: "Contract No.:", color: palette.primary }) // ← WRONG (if primary ≠ "000000") +``` + +--- + +## Scene-Specific Font Overrides + +Beyond Profile A defaults: + +| Element | Font | Size | Style | +|---------|------|------|-------| +| Contract title | SimHei | Er Hao 22pt (size: 44) | Bold, centered | +| Contract number | SimSun | Wu Hao 10.5pt (size: 21) | Right-aligned | +| Clause heading | SimHei | Xiao Si 12pt (size: 24) | Bold | +| Monetary amount | SimSun | Xiao Si 12pt (size: 24) | Bold | + +--- + +## Document Structure + +1. **Title**: "XXX Contract" or "XXX Agreement" — Er Hao SimHei, centered +2. **Contract number**: right-aligned, Wu Hao +3. **Preamble**: Party information with placeholders +4. **Recitals** (summarize transaction background and purpose) +5. **Definitions** (if specialized terms recur) +6. **Substantive clauses** (per selected template) +7. **Signature block** +8. **Appendices** (if any) + +--- + +## Clause Numbering System + +Use stable, consistent, pure-text numbering suitable for Chinese legal documents. + +``` +Article 1 Subject Matter + 1.1 xxxxxxxxxx + 1.2 xxxxxxxxxx + (1) xxxxxxxxxx + (2) xxxxxxxxxx + ① xxxxxxxxxx + ② xxxxxxxxxx +Article 2 Price and Payment + 2.1 ... +``` + +**Numbering discipline:** +1. No level-skipping +2. **Forbidden:** Using Markdown list markers (`-` `*` `1.`) for clause hierarchy +3. No switching from "Article X" to `-` or `*` or auto-list mid-document +4. Numbering style must be consistent throughout the entire document +5. Clause headings should be clean and simple + +--- + +## Party Information Layout (Table-Based Alignment — Mandatory) + +Party A and Party B information MUST be laid out using a **borderless table** so that labels align vertically. Never use plain paragraphs with indentation — this causes misalignment between parties. + +```js +// ✅ Correct — borderless table ensures "统一社会信用代码:", "地址:", "法定代表人:" align +function partyInfoBlock(partyLabel, partyName, fields) { + // fields: [["Unified Social Credit Code", value], ["Address", value], ["Legal Representative", value]] + const NB = { style: BorderStyle.NONE, size: 0, color: "FFFFFF" }; + const noBorders = { top: NB, bottom: NB, left: NB, right: NB }; + + const headerPara = new Paragraph({ spacing: { before: 200, after: 120 }, + children: [new TextRun({ text: `${partyLabel}: ${safeText(partyName, "【Company full name】")}`, + size: 24, font: { eastAsia: "SimSun", ascii: "Times New Roman" } })] + }); + + const infoTable = new Table({ + width: { size: 90, type: WidthType.PERCENTAGE }, + borders: { top: NB, bottom: NB, left: NB, right: NB, insideHorizontal: NB, insideVertical: NB }, + rows: fields.map(([label, value]) => new TableRow({ + children: [ + new TableCell({ + width: { size: 35, type: WidthType.PERCENTAGE }, + borders: noBorders, + margins: { top: 40, bottom: 40, left: 420, right: 60 }, + children: [new Paragraph({ + children: [new TextRun({ text: `${label}:`, size: 24, + font: { eastAsia: "SimSun", ascii: "Times New Roman" } })], + })], + }), + new TableCell({ + borders: noBorders, + margins: { top: 40, bottom: 40, left: 60, right: 120 }, + children: [new Paragraph({ + children: [new TextRun({ text: safeText(value, `【Please fill in: ${label}】`), size: 24, + font: { eastAsia: "SimSun", ascii: "Times New Roman" } })], + })], + }), + ], + })), + }); + + return [headerPara, infoTable]; +} + +// Usage: +const partyAChildren = partyInfoBlock("Party A (甲方)", config.partyA?.name, [ + ["Unified Social Credit Code (统一社会信用代码)", config.partyA?.creditCode], + ["Address (地址)", config.partyA?.address], + ["Legal Representative (法定代表人/负责人)", config.partyA?.legalRep], +]); +``` + +**Rules:** +1. Party A and Party B info blocks must use the **same table column widths** — labels align across both blocks +2. Use `safeText()` for all field values — never output `undefined` +3. Label column width should accommodate the longest label (e.g., "统一社会信用代码") +4. The indent (`margins.left: 420`) simulates sub-level nesting under the party name + +--- + +## Signature Block + +Left-right symmetric, structured, easy to adjust in Word. Never write as scattered paragraphs. + +Required fields for each party: +- Party name (seal) +- Legal representative / Authorized representative +- Contact person +- Contact information +- Signing location +- Date: 【____/____/____】 + +Use a borderless 2-column table for symmetry. **Every field value must use `safeText()`** — never output `undefined` or empty string. If a field is not provided, use the appropriate `【Please fill in】` placeholder. + +```js +// ✅ Correct signature block — safeText for all values +function buildSignatureBlock(partyA, partyB) { + const fields = ["Party (Seal)", "Legal Rep / Authorized Rep (Signature)", "Contact Person", "Contact Info", "Signing Location", "Date"]; + const NB = { style: BorderStyle.NONE, size: 0, color: "FFFFFF" }; + const noBorders = { top: NB, bottom: NB, left: NB, right: NB }; + + return new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: { top: NB, bottom: NB, left: NB, right: NB, insideHorizontal: NB, insideVertical: NB }, + rows: fields.map((label, i) => { + const aVal = i === fields.length - 1 ? "【____/____/____】" : safeText(partyA?.[i], ""); + const bVal = i === fields.length - 1 ? "【____/____/____】" : safeText(partyB?.[i], ""); + const displayA = i === 0 ? `Party A (甲方): ${aVal}` : `${label}: ${aVal}`; + const displayB = i === 0 ? `Party B (乙方): ${bVal}` : `${label}: ${bVal}`; + return new TableRow({ + children: [ + new TableCell({ width: { size: 50, type: WidthType.PERCENTAGE }, borders: noBorders, + margins: { top: 80, bottom: 80, left: 120, right: 60 }, + children: [new Paragraph({ children: [new TextRun({ text: displayA, size: 24, color: "000000" })] })] }), + new TableCell({ width: { size: 50, type: WidthType.PERCENTAGE }, borders: noBorders, + margins: { top: 80, bottom: 80, left: 60, right: 120 }, + children: [new Paragraph({ children: [new TextRun({ text: displayB, size: 24, color: "000000" })] })] }), + ], + }); + }), + }); +} +``` + +--- + +## Monetary Amount Format + +Contracts must show amounts in **both uppercase Chinese and numeric format**: + +``` +Contract amount: RMB One Million Two Hundred Thirty-Four Thousand Five Hundred Sixty-Seven Yuan (¥1,234,567.00) +``` + +--- + +## Style Rules + +- **NO cover page** — title page is the first page (title + contract number at top) +- **NO TOC** unless >20 clauses +- **NO decorative elements** — contracts must be formal and clean +- **Line spacing**: 1.5x (line: 360) — ⚠️ scene override (Profile A default is 1.3x/312; contracts use 1.5x for readability and annotation space) +- **Body**: Justified, first-line indent 480 twips +- **Color**: pure black "000000" throughout — no colored text + +--- + +## Scene-Specific Quality Checks + +In addition to universal checks (see `references/common-rules.md`): + +### Format +- [ ] Party information complete (full name / address / legal representative / contact) +- [ ] Signature block properly formatted, symmetrical, all fields present +- [ ] Monetary amounts shown in both uppercase and numeric format +- [ ] Clause numbering sequential with no gaps +- [ ] No cover page (title page is first page) +- [ ] No Markdown list markers mixed into clause hierarchy + +### Content +- [ ] Clause numbering system consistent, no mixing +- [ ] Transaction closure complete (subject → consideration → performance → acceptance → breach → dispute) +- [ ] Breach liability corresponds to main obligations +- [ ] Dispute resolution explicitly stated (or placeholder for confirmation) +- [ ] All unconfirmed variables use `【】` placeholders consistently +- [ ] Language is formal, restrained, subjects are explicit +- [ ] No fabricated statute numbers or overreaching legal conclusions +- [ ] High-risk clauses include manual review notes +- [ ] Terminology consistent throughout +- [ ] Appendix-contract relationship explicitly stated + +### Closure +- [ ] Performance deadline → delay consequences specified +- [ ] Payment milestones → conditions and invoice requirements specified +- [ ] Delivery obligation → acceptance rules and objection period specified +- [ ] Termination right → conditions and post-termination handling specified +- [ ] Confidentiality obligation → scope, exceptions, duration, breach consequences specified +- [ ] Force majeure → notice and mitigation duties specified diff --git a/skills/docx/scenes/copywriting.md b/skills/docx/scenes/copywriting.md new file mode 100755 index 0000000..9138f6e --- /dev/null +++ b/skills/docx/scenes/copywriting.md @@ -0,0 +1,139 @@ +# Scene: Copywriting / Script + +## Scope + +Broadcast scripts, product promotion copy, livestream scripts, presentation scripts, speeches, hosting scripts, short video scripts — any document where the goal is **spoken delivery**. + +→ Placeholder convention & universal prohibitions — see `references/common-rules.md` +→ Font profile: **B (Visual)** — see `references/common-rules.md` + +--- + +## 1. Core Principles + +⚠️ **A broadcast script is NOT a report, NOT a spec sheet, NOT an encyclopedia.** + +The goal is for the audience to **understand on first listen, remember key points, and take action.** Therefore: + +1. **Highlight selling points, don't pile specs:** Each paragraph covers only 1–2 core points with relatable scenario descriptions +2. **Conversational tone:** Use "you" not "the user"; use natural speech, not corporate jargon +3. **Rhythm:** Alternate long and short sentences, insert pause markers, avoid wall-of-text paragraphs +4. **Length discipline:** ~250–300 words per minute of speech; a 5-minute script should not exceed 1500 words +5. **Information consistency:** All data, model numbers, prices must be consistent throughout — no self-contradiction + +--- + +## 2. Document Structure + +Completely different from reports: + +``` +Title (centered, short and punchy) +──────────────────── +[Opening] ← Grab attention, 1–2 sentences +[Core Para 1] ← One selling point/opinion + scenario +[Core Para 2] ← One selling point/opinion + scenario +[Core Para 3] ← One selling point/opinion + scenario (max 3–5 paras) +[Closing] ← Summary + Call to Action (CTA) +──────────────────── +[Notes] ← Supplementary info, data sources (optional, small grey text) +``` + +### Decisions +- **Cover:** ❌ Not needed +- **TOC:** ❌ Not needed +- **Header/footer:** Optional, minimal +- **Sections:** Single section sufficient +- **Line spacing:** `line: 400` (slightly larger than standard 1.5x for reading/marking ease) + +--- + +## 3. Layout Standards + +### Font Specifications + +| Element | Font | Size | Style | +|---------|------|------|-------| +| Title | SimHei | 18pt (size:36) | Bold, centered | +| Section heading / highlight | SimHei | 14pt (size:28) | Bold | +| Body | Microsoft YaHei | 12pt (size:24) | Left-aligned | +| Rhythm markers | Microsoft YaHei | 10.5pt (size:21) | Grey 999999, italic | +| Notes | Microsoft YaHei | 10pt (size:20) | Grey 666666 | + +### Paragraph Spacing +```js +// Generous spacing between paragraphs for reading/breathing pauses +spacing: { before: 200, after: 200, line: 400 } +// Larger gap between core sections +sectionGap: { before: 400, after: 200 } +``` + +### Key Point Highlighting +Use **bold** or **accent-colored text** to mark key selling points: +```js +new TextRun({ text: "Key selling point", bold: true, color: c(P.accent) }) +``` + +### Rhythm Markers (optional) +Insert small grey markers where pauses, emphasis, or tone changes are needed: +```js +new Paragraph({ spacing: { before: 60, after: 60 }, + children: [new TextRun({ text: "[Pause 2 sec]", size: 21, color: "999999", italics: true })] }) +// Or inline: new TextRun({ text: " [emphasis] ", size: 18, color: "999999", italics: true }) +``` + +--- + +## 4. Content Quality Rules + +### Information Density Guide + +| Script Type | Duration | Word Count | Core Paragraphs | +|-------------|----------|-----------|----------------| +| Short video | 30–60 sec | 150–300 | 1–2 | +| Product promotion | 2–3 min | 500–800 | 3–4 | +| Presentation / Speech | 5–10 min | 1200–2500 | 5–8 | +| Hosting script | Per agenda | Per segment | Per segment | + +### Scene-Specific Prohibitions + +1. **No spec dumping:** Do not list all product specifications in tables. Select 2–3 most persuasive data points and express them through scenarios +2. **No information contradiction:** Model numbers, prices, data appearing multiple times must be perfectly consistent +3. **No report tone:** No "in conclusion", "research indicates", "as mentioned above" — this is spoken word +4. **No lengthy citations:** Broadcast scripts do not need quotes, footnotes, or references +5. **No dense layout:** Paragraphs must have visible spacing — no screen-filling text walls + +### Product Promotion Specific Rules +- **Opening:** Lead with pain point / scenario ("Does your washing machine still smell after a cycle?"), not self-introduction +- **Product intro:** Compare only 1–2 competitive dimensions at a time — not a full review +- **Price anchor:** State original/market price first, then discount price — create contrast +- **CTA:** Explicitly state the action ("Click the link below", "Type 1 in comments") + +--- + +## 5. Palette + +Broadcast scripts use clean, simple colors — no complex visual design needed: + +```js +const P = { + primary: "#1A1A1A", // Title + body: "#333333", // Body + secondary: "#666666", // Notes + accent: "#E85D3A", // Key highlight (warm, energetic) + surface: "#FFF8F5", // Background (if needed) +}; +``` + +--- + +## 6. Scene-Specific Quality Checks + +In addition to universal checks (see `references/common-rules.md`): + +- [ ] Total word count within target range (not exceeding) +- [ ] Each core paragraph has only 1–2 selling points (no dumping) +- [ ] Conversational tone present (not report/formal style) +- [ ] Information consistent throughout (model, price, data — no contradictions) +- [ ] Paragraph spacing sufficient (visually not crowded) +- [ ] Clear attention-grabbing opening + closing CTA diff --git a/skills/docx/scenes/exam.md b/skills/docx/scenes/exam.md new file mode 100755 index 0000000..a3061b7 --- /dev/null +++ b/skills/docx/scenes/exam.md @@ -0,0 +1,698 @@ +# Scene: Exam Paper + +## Overview + +Exam papers are among the most critical document types in education. Unlike general documents, they require high precision in layout, print compatibility, and subject-specific formatting. This specification covers the complete workflow from page framework to subject-specific features. + +→ Universal prohibitions — see `references/common-rules.md` +→ **Note:** Exam papers use their OWN font/layout specs (not Profile A defaults). All text is pure black/white/grey for photocopy clarity. + +--- + +## 1. Page Setup & Framework + +### Paper Specifications + +| Type | Paper | Orientation | Use Case | +|------|-------|-------------|----------| +| Practice / Unit quiz | A4 | Portrait | Daily practice, homework, quizzes | +| Formal exam | A3 | Landscape + 2-column | Midterm / final / standardized (requires OOXML) | +| Answer sheet | A4 | Portrait | Standalone answer card | + +### Margins + +```js +// A4 portrait — no seal line +page: { size: { width: 11906, height: 16838 }, + margin: { top: 850, bottom: 850, left: 1200, right: 1200 } } + +// A4 portrait — with seal line (left binding area reserved) +page: { size: { width: 11906, height: 16838 }, + margin: { top: 850, bottom: 850, left: 2200, right: 850 } } + +// A3 landscape dual-column (requires OOXML) +// ⚠️ A3 dual-column may render slightly differently in WPS vs Word. Test in both before batch printing. +page: { size: { width: 23812, height: 16838, orientation: PageOrientation.LANDSCAPE }, + margin: { top: 850, bottom: 850, left: 2200, right: 850 } } +``` + +### Section Handling + +Different parts should use section breaks (`SectionType.NEXT_PAGE`): +- **Header area (full-width):** Title, instructions, score table (no columns) +- **Content area:** Questions (may use columns) +- **Composition / answer sheet:** Independent section, independent format +- **Attachment pages:** Large maps/diagrams for geography/biology can be separate pages + +```js +sections: [ + { properties: { /* Header section — no columns */ }, children: [...] }, + { properties: { type: SectionType.CONTINUOUS, column: { count: 2, space: 720 } }, children: [...] }, + { properties: { type: SectionType.NEXT_PAGE }, children: [...] }, // Composition +] +``` + +### Template-First Principle + +⚠️ **Build framework first, fill content second.** Before writing questions, determine: +1. Paper size + margins +2. Whether seal line is needed +3. Whether columns are used +4. Question type structure and point allocation +5. Whether composition grid / answer sheet is needed + +--- + +## 2. Seal Line & Student Information Area + +### When to Use Seal Line + +| Scenario | Seal Line | Student Info Position | +|----------|-----------|---------------------| +| Formal standardized exam | ✅ Required | Left vertical info column | +| Midterm / Final | ✅ Recommended | Left vertical info column | +| Unit quiz | ❌ Optional | Header horizontal info row | +| Daily practice | ❌ Skip | Header horizontal info row | + +### Seal Line Implementation + +#### Method 1: Header horizontal prompt (simple) +```js +headers: { default: new Header({ children: [ + new Paragraph({ alignment: AlignmentType.CENTER, + children: [new TextRun({ + text: ".............. Seal ...... Line ...... Do ...... Not ...... Answer ...... Inside ..............", + size: 16, color: "999999", font: "SimSun" })] }) +] }) } +``` + +#### Method 2: Vertical text box (OOXML advanced) +```xml + + + + Name:________ Class:________ ID:________ + + + - - - - - - - - - Seal Line - - - - - - - - - + + +``` + +### Student Info Row + +```js +// Horizontal info row (when no seal line) — borderless 3-column table +new Table({ + alignment: AlignmentType.CENTER, columnWidths: [2800, 2800, 2800], + rows: [new TableRow({ children: [ + cell("Name: ______________"), + cell("Class: ______________", AlignmentType.CENTER), + cell("ID: ______________", AlignmentType.RIGHT), + ] })] +}) +``` + +Fill lines should be moderate length (10–14 underscore chars). Label order: Name → Class → Student ID. + +--- + +## 3. Paper Header & Title Area + +### Structure + +``` +School name (16pt SimHei, centered) +Exam title (14pt SimHei, centered) — e.g., "2025–2026 Academic Year Second Semester Midterm" +Subject title (14pt SimHei, centered) — e.g., "Grade 7 Mathematics" +Student info row +Instructions (10pt SimSun, centered, grey) +Score table (as needed) +``` + +### Font Specifications + +| Element | Font | Size | Style | +|---------|------|------|-------| +| School name | SimHei | 16pt (size:32) | Bold, centered | +| Exam title | SimHei | 14pt (size:28) | Bold, centered | +| Subject title | SimHei | 14pt (size:28) | Bold, centered | +| Instructions | SimSun | 10pt (size:20) | Grey 333333, centered | +| Student info | SimSun | 10.5pt (size:21) | Normal | + +### Instructions Content + +Should include: total score, exam duration, answer method, special requirements (e.g., calculator allowed). + +### Score Table +- Header row: light grey background F0F0F0, centered +- Columns: Question type | Section names... | Total +- Rows: Points | Section points... | Total points +- Row: Score | blank... | blank +- Table centered, 80% page width + +⚠️ **Header area should not be too full** — title + info + instructions + score table should not exceed 1/3 of the page. + +--- + +## 4. Content Layout Rules + +### Color Palette + +```js +// Exam papers use only black/white/grey for clear photocopying +const C = { + title: "000000", body: "000000", section: "333333", + seal: "999999", answerLine: "CCCCCC", headerBg: "F0F0F0", gridLine: "DDDDDD", +}; +``` + +### Column Usage + +| Subject / Question Type | Recommendation | +|------------------------|----------------| +| Math multiple choice + fill-in | ✅ Suitable for columns | +| Physics multiple choice | ✅ Suitable for columns | +| Chinese reading / composition | ❌ Not suitable | +| English cloze / reading | ❌ Not suitable | +| History source-based | ❌ Not suitable | +| Geography map reading | ❌ Not suitable | + +### Question Numbering + +Entire paper uses consistent three-level numbering: +- **Major sections:** I, II, III, IV... (Chinese: 一、二、三、四…) +- **Questions:** 1. 2. 3. ... (Arabic + period) +- **Sub-questions:** (1) (2) (3) ... (parenthesized) + +⚠️ **No extra symbols before question numbers** (no `•`, `▸`, `▪`, `-`, `*`). The number itself is the only marker. **Never use docx numbering/bullet list styles** for question numbers — must use plain TextRun manual numbering. + +```js +// ✅ Correct — plain TextRun manual numbering +new Paragraph({ spacing: { before: 120, after: 60, line: 360 }, + children: [new TextRun({ text: `${i+1}. ${question}`, size: 21, font: { eastAsia: "SimSun" } })] }) + +// ❌ Wrong — numbering causes Word to add bullets +new Paragraph({ numbering: { reference: "xxx", level: 0 }, // ← Forbidden! + children: [new TextRun({ text: question })] }) +``` + +### Question Spacing + +```js +sectionTitle: { before: 300, after: 150 } // Major section headers +question: { before: 120, after: 80 } // Between questions +subQuestion: { before: 60, after: 40 } // Between sub-questions +``` + +### Page Break Control + +⚠️ Key principles: +- **Question stem and answer area must not split** across pages +- **Source material and questions on same page** +- **Figures adjacent to their questions** +- **Avoid orphan lines** — question stem, options, answer area appear as a group + +```js +new Paragraph({ keepNext: true, keepLines: true, children: [...] }) +``` + +⚠️ **Answer question page break rule (mandatory):** + +Complete combination (stem + figure + answer lines) must be considered as a unit. If remaining space cannot fit stem + figure + at least 3 answer lines, push entire question to next page. + +Use `keepNext: true` to chain: stem → figure → first 3 answer lines. + +--- + +## 5. Font & Paragraph Standards + +### Underline Formatting for "Underlined Parts" (Mandatory) + +When a question references "underlined part" (划线部分), the relevant text MUST use actual underline formatting (`underline: { type: UnderlineType.SINGLE }`). **Never** show "划线部分为 XXX" as plain text annotation — the underline must be visually rendered. + +```js +// ✅ Correct — actual underline on the referenced text +new Paragraph({ children: [ + new TextRun({ text: "1. It is ", size: 21, font: { ascii: "Times New Roman" } }), + new TextRun({ text: "a butterfly", size: 21, font: { ascii: "Times New Roman" }, + underline: { type: UnderlineType.SINGLE, color: "000000" } }), + new TextRun({ text: ". (Ask about the underlined part)", size: 21, font: { ascii: "Times New Roman" } }), +]}) + +// ❌ Wrong — underlined part described as annotation text +new TextRun({ text: "1. It is a butterfly. (对划线部分提问) 注:划线部分为 a butterfly" }) +``` + +### Font Hierarchy + +| Element | Font | Size | Style | +|---------|------|------|-------| +| Section title | SimHei | 11pt (size:22) | Bold | +| Question content | SimSun | 10.5pt (size:21) | Normal | +| Points annotation | SimSun | 10pt (size:20) | In parentheses | +| Reading material | KaiTi/SimSun | 10.5pt (size:21) | KaiTi to differentiate | +| Notes/source | SimSun | 9pt (size:18) | Grey 666666 | +| Seal line | SimSun | 8pt (size:16) | Grey 999999 | +| Page number | SimSun | 9pt (size:18) | Centered | + +### Line Spacing +```js +line: 360 // ~1.5x for readability +answerLine: 500 // Answer line spacing for writing room +``` + +### Paragraph Rules +- ⚠️ **Never use consecutive returns for whitespace** — use `spacing.before/after` +- Chinese questions use Chinese punctuation; English materials use English punctuation +- Mixed CN/EN: use Times New Roman or Calibri for English text + +--- + +## 6. Multiple Choice Layout + +### Core Rule + +⚠️ **Options must NEVER be aligned with spaces!** Must use borderless tables. + +### Option Layout — Borderless Table + +```js +// Short options: 4 columns in 1 row +new Table({ + columnWidths: [2200, 2200, 2200, 2200], + rows: [new TableRow({ children: ["A","B","C","D"].map((label, i) => + new TableCell({ borders: NBs, width: { size: 2200, type: WidthType.DXA }, + margins: { top: 0, bottom: 0, left: 60, right: 60 }, + children: [new Paragraph({ spacing: { before: 0, after: 0 }, + children: [new TextRun({ text: `${label}. ${options[i]}`, size: 21, font: "SimSun" })] })] + }) + ) })] +}) +// Medium options: 2 columns, 2 rows +// Long options: 1 column, 4 rows +``` + +### Option Length Detection +```js +function getOptionLayout(options) { + const maxLen = Math.max(...options.map(o => o.length)); + if (maxLen <= 6) return "4col"; + if (maxLen <= 15) return "2col"; + return "1col"; +} +``` + +--- + +## 7. Fill-in-the-Blank Layout + +```js +// Blank line length matches expected answer: +// Short answer (number/word): 8 underscores +// Medium (phrase): 14 underscores +// Long (sentence): 20 underscores +new Paragraph({ spacing: { before: 140, after: 80, line: 400 }, + children: [new TextRun({ text: `${num}. Question text ________________.`, size: 21, font: "SimSun" })] }) +``` + +⚠️ Fill-in lines must not break across lines — if line is too long, put the blank on the next line. + +--- + +## 8. Short Answer / Problem-Solving Layout + +### Question + Points +```js +new Paragraph({ spacing: { before: 200, after: 60, line: 360 }, keepNext: true, + children: [new TextRun({ text: `${num}. (${points} pts) ${question}`, size: 21, font: "SimSun" })] }) +``` + +### Answer Lines +```js +// Light grey answer lines (CCCCCC), NOT black +// ⚠️ Answer lines are ONLY for writing space within each question — never as dividers between questions +function answerLines(count) { + return Array(count).fill(null).map(() => + new Paragraph({ spacing: { before: 0, after: 0, line: 500 }, + borders: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "CCCCCC" } }, + children: [new TextRun({ text: " ", size: 21 })] }) + ); +} +``` + +⚠️ **Separation between questions:** + +Use **only spacing** (`spacing.before: 200`) for visual separation between questions. **Forbidden:** +- ❌ Grey horizontal lines (borders) +- ❌ Color block dividers (Table-simulated separators) +- ❌ Symbol dividers (e.g., `───────`) +- ❌ Any visual separator decoration + +### Answer Space vs. Points + +| Points | Suggested Lines | Description | +|--------|----------------|-------------| +| 2–4 | 3–4 lines | Simple calculation / short answer | +| 5–8 | 6–8 lines | Medium problem | +| 10–12 | 8–10 lines | Complex problem | +| 14–20 | 10–14 lines | Comprehensive / essay question | + +--- + +## 9. Source-Based / Reading Question Layout + +### Material vs. Question Separation + +```js +// Material area — indented + KaiTi to differentiate +new Paragraph({ indent: { left: 420, right: 420 }, spacing: { before: 100, after: 100, line: 380 }, + children: [new TextRun({ text: materialText, size: 21, font: "KaiTi" })] }) +// Source attribution +new Paragraph({ alignment: AlignmentType.RIGHT, indent: { right: 420 }, + children: [new TextRun({ text: "— from \"XXX\"", size: 18, color: "666666", font: "SimSun" })] }) +``` + +### Key Principles +- Material title, source, body, and notes use different fonts +- Long materials: increase line spacing (line: 380–400) +- Material and corresponding questions on same page +- Sub-question numbers (1)(2)(3) clearly correspond to material +- **Data tables in materials MUST use proper docx `Table` objects** — never render tabular data as Markdown plain text (`| col | col |`). This includes statistics tables, climate data tables, comparison tables, and any structured data within question materials. Use bordered tables (see § 13 Table Usage Standards) with appropriate header row styling. + +--- + +## 10. Composition / Writing Area + +### Grid Count Calculation + +⚠️ **Grid count must exceed required word count by 20–30%** (for title, paragraph indents, line breaks). + +| Required Words | Min Grid Count | Recommended Layout | +|---------------|---------------|-------------------| +| 400 | 500 | 25 rows × 20 cols | +| 600 | 750 | 38 rows × 20 cols | +| 800 | 1000 | 50 rows × 20 cols | +| 1000 | 1250 | 63 rows × 20 cols | + +```js +function calcGridSize(requiredWords, colsPerRow = 20) { + const totalCells = Math.ceil(requiredWords * 1.25); + const rows = Math.ceil(totalCells / colsPerRow); + return { rows, colsPerRow, totalCells: rows * colsPerRow }; +} +``` + +### Chinese Composition Grid + +```js +function compositionGrid(rows, colsPerRow) { + const cellSize = Math.floor(8800 / colsPerRow); + return new Table({ + columnWidths: Array(colsPerRow).fill(cellSize), + rows: Array(rows).fill(null).map(() => + new TableRow({ + height: { value: cellSize, rule: HeightRule.EXACT }, + children: Array(colsPerRow).fill(null).map(() => + new TableCell({ borders: thinBs("DDDDDD"), width: { size: cellSize, type: WidthType.DXA }, + children: [new Paragraph({ children: [] })] }) + ) + }) + ) + }); +} +``` + +### English Writing Area (Horizontal Lines) — MANDATORY for English Writing Questions + +⚠️ **Every English writing/composition question MUST include ruled horizontal lines.** A blank area without lines is FORBIDDEN — students need lines to write on. + +```js +function writingLines(count) { + return Array(count).fill(null).map(() => + new Paragraph({ spacing: { before: 0, after: 0, line: 560 }, + borders: { bottom: { style: BorderStyle.SINGLE, size: 1, color: "CCCCCC" } }, + children: [new TextRun({ text: " ", size: 21 })] }) + ); +} +``` + +**Line count by word requirement:** +| Required Words | Lines | +|---------------|-------| +| ≤50 | 8 | +| 50–80 | 10 | +| 80–120 | 12 | +| 120+ | 15 | + +**Rules:** +1. Lines must appear immediately after the writing prompt paragraph +2. Line color: light grey `CCCCCC` (print-friendly, not visually heavy) +3. Line spacing: `line: 560` (provides adequate writing room) +4. Chinese composition uses grid (`compositionGrid`), English uses lines (`writingLines`) — never mix them up +``` + +### Composition Area Requirements +- Independent section or clear separation +- Title space reserved (for self-chosen topics) +- Word count prompt visible ("No fewer than 800 words" / "About 120 words") +- Grid/line colors light — must not interfere with writing +- Pages continuous, not split + +--- + +## 11. Answer Key (参考答案) + +### Output Rules + +1. **Default (user does not request answers in the same file):** Generate the answer key as a **separate .docx file** (e.g., `exam.docx` + `exam_answers.docx`). This prevents students from accidentally seeing answers. +2. **User explicitly requests answers in the same file:** Place the answer key on an **independent page** using `SectionType.NEXT_PAGE`. Answer key MUST NOT appear on the same page as any exam question. + +### Separate File Format (Default) + +The answer key file should include: +- Title: "《{exam title}》参考答案" (SimHei, 14pt/size:28, bold, centered) +- Same question numbering as the exam +- Concise answers (letter choices, key words, short solutions) +- Font: SimSun 10.5pt (size: 21) + +### Same File Format (When User Requests) + +```js +// Answer key as a separate section — MUST use SectionType.NEXT_PAGE +{ + properties: { type: SectionType.NEXT_PAGE, + page: { margin: { top: 850, bottom: 850, left: 1200, right: 1200 } } }, + children: [ + new Paragraph({ + alignment: AlignmentType.CENTER, spacing: { after: 300 }, + children: [new TextRun({ text: "参考答案", size: 28, bold: true, + font: { eastAsia: "SimHei" } })], + }), + // ... answer content paragraphs + ], +} +``` + +### Rules +1. ⚠️ **Never place answer content directly after the last question without a page/section break** +2. Answer content should be concise — no answer lines, no grid, plain text only +3. Calculation/proof questions: show key steps, not just final answer +4. If the exam has figures, answers may reference "see Figure X" without re-embedding + +--- + +## 12. Figures & Illustrations + +### Image Insertion +```js +new Paragraph({ alignment: AlignmentType.CENTER, spacing: { before: 100, after: 60 }, + children: [new ImageRun({ data: imageBuffer, transformation: { width: 300, height: 200 }, type: "png" })] }) +new Paragraph({ alignment: AlignmentType.CENTER, spacing: { after: 100 }, + children: [new TextRun({ text: "(Figure 1)", size: 18, color: "666666", font: "SimSun" })] }) +``` + +### Key Principles +- Images set as inline (default) to prevent floating +- Resolution sufficient for print clarity +- **B&W print compatible:** images must remain distinguishable when printed in grayscale +- Figure numbers and captions complete +- Figures adjacent to corresponding questions +- Maps must have: scale bar, north arrow, legend +- Coordinate graphs must have: axis labels, tick marks, units + +### ⚠️ Figure-Text Order (Strictly Enforced) + +**For questions with figures, element order must be:** +``` +1. Question stem (keepNext: true) +2. Figure (centered, keepNext: true) +3. Answer lines / answer area +``` + +**Forbidden:** answer lines between stem and figure, or figure after answer lines. + +### Figure Content Matching +- **Figures must be semantically consistent with question stem:** if question says "triangle ABC", figure must label vertices A, B, C +- Geometry annotations must match described angles, side lengths +- Function graphs must mark key points mentioned in the question +- Physics experiment diagrams must match described apparatus +- Figure width: geometry ≤ 50% page width, data/experiment ≤ 70% + +### ⚠️ Figure Diversity Rule (Mandatory) + +**No duplicate figures in the entire paper.** Even if two questions involve the same type (e.g., both triangles), each must have a distinct figure: +1. Different labels (different vertex letters, angles, side lengths) +2. Different shapes (acute vs. right vs. obtuse triangle) +3. Different styling (if applicable) + +If using matplotlib, each call must use **different parameters and data** — never copy the same generation code. + +### Subject-Specific Figure Requirements + +| Subject | Common Types | Special Requirements | +|---------|-------------|---------------------| +| Math | Geometry, functions, coordinates | No distortion, clear labels | +| Physics | Circuits, mechanics, apparatus | Standard symbols, correct arrows | +| Chemistry | Apparatus, molecular structures | Reagent names labeled | +| Biology | Cell, organ, ecosystem diagrams | Labels not too small | +| Geography | Maps, contour lines, statistics | Legend + scale + north arrow | + +--- + +## 13. Formulas & Special Symbols + +### Formulas +Math/physics/chemistry formulas use **LaTeX → docx-js Math mapping** (see `references/math-formulas.md`): +- Basic (fractions, sub/superscript, roots) → docx-js Math components +- Complex (3+ nesting, matrices) → matplotlib PNG fallback +- Never hand-type Unicode formula approximations + +### Common Unicode Math Symbols +``` +× ÷ ± ∓ ≠ ≈ ≤ ≥ ∞ √ ∑ ∏ ∫ ∂ ∆ ∇ +α β γ δ ε θ λ μ π σ φ ω +⊂ ⊃ ∈ ∉ ∪ ∩ ∅ ∀ ∃ +→ ← ↑ ↓ ⇒ ⇔ ° ′ ″ ‰ ² ³ ⁴ ⁿ ₁ ₂ ₃ +``` + +### Chemical Formulas +Subscripts/superscripts must be correct: H₂O, CO₂, Fe₂O₃, Ca(OH)₂ +Reaction arrows: → ⇌ ↑ ↓ + +--- + +## 14. Table Usage Standards + +### Borderless Tables (for alignment) +For: option alignment, info rows, question number + points alignment +```js +const NB = { style: BorderStyle.NONE, size: 0, color: "FFFFFF" }; +const NBs = { top: NB, bottom: NB, left: NB, right: NB }; +``` + +### Bordered Tables (for data display) +For: score tables, data tables, statistics +```js +const thinB = (c="000000") => ({ style: BorderStyle.SINGLE, size: 1, color: c }); +const thinBs = (c="000000") => ({ top: thinB(c), bottom: thinB(c), left: thinB(c), right: thinB(c) }); +``` + +### Table Standards +- Cell padding moderate (margins: top/bottom 40–60, left/right 60–80) +- Consistent border thickness +- Header row: light grey F0F0F0 background +- Avoid cross-page tables +- Tables centered (`alignment: AlignmentType.CENTER`) + +--- + +## 15. Headers & Footers + +### Page Numbers +```js +footers: { default: new Footer({ children: [ + new Paragraph({ alignment: AlignmentType.CENTER, + children: [ + new TextRun({ children: [PageNumber.CURRENT], size: 18, font: "SimSun" }), + ] }) +] }) } +``` + +⚠️ **Denominator FORBIDDEN** — never use `PageNumber.TOTAL_PAGES` or "Page X of Y". Show only current page number. + +### Headers +- May contain seal line prompt or subject name +- Small font (8–9pt), grey color (999999) +- Should not be visually heavy — must not compete with content + +--- + +## 16. Subject-Specific Standards + +### Chinese Language +- Reading, classical poetry, composition: **no columns** +- Poetry preserves original line breaks +- Classical text needs annotation area (smaller font, indented) +- Composition grid in independent section, grid count via `calcGridSize` (800 words → 50×20 = 1000 cells) +- Dictation questions: horizontal lines, moderate length +- Reading materials: use KaiTi to differentiate + +### Mathematics +- Multiple choice, fill-in: suitable for neat layout +- Formulas: Unicode symbols or OOXML +- Geometry/function graphs must be clear, undistorted +- Problem-solving: sufficient working space +- Coordinate graphs: labeled axes, tick marks + +### English +- English font: Times New Roman, moderate character spacing +- Cloze: numbers in text, options after passage +- Reading comprehension: material + questions as groups +- Writing area: horizontal lines, not grid +- Listening (if any): numbers aligned with options + +### Physics / Chemistry / Biology +- Experiment/apparatus diagrams must be clear and accurate +- Unit symbols standardized (m/s, kg, mol/L, etc.) +- Chemical formula subscripts correct +- Calculation and experiment analysis: sufficient answer space +- Biology structure diagrams: labels not too small + +### History / Politics +- Source-based questions are lengthy — **no columns** +- Dates, figures, events clearly labeled +- Essay questions: more whitespace than multiple choice +- Historical sources cite provenance +- Chart materials in logical order + +### Geography +- Maps are the focus — must be clear +- Legend, scale bar, north arrow required +- Map and question close together — avoid page turns +- Map reading questions: balance figure and text space +- Contour line values clearly labeled + +--- + +## Final Review Checklist + +After generating an exam paper, check every item: + +- [ ] Question numbers sequential, points correct, total correct +- [ ] Question stems match options / materials / illustrations one-to-one +- [ ] **Figures come after stem, before answer area** (strict order) +- [ ] **Figure content matches question semantics** (labels, symbols match) +- [ ] **Composition grid count ≥ required words × 1.25** (800 words → at least 1000 cells) +- [ ] Options aligned with borderless tables (not spaces) +- [ ] No wrong pages, missing pages, **no extra blank pages** +- [ ] Images / tables / formulas positioned correctly +- [ ] **No Markdown table syntax in document** — all data tables use proper docx Table objects +- [ ] Fonts, sizes, line spacing consistent +- [ ] Answer space matches difficulty and point value +- [ ] Clear when printed in B&W +- [ ] Subject-specific layout handled properly +- [ ] Seal line / page numbers / headers formatted correctly +- [ ] Header info complete (school, subject, duration, total score) +- [ ] **No extra PageBreak at end of last section** +- [ ] **Answer key is either a separate file (default) or on a separate page (if user requested in same file)** — never on the same page as questions diff --git a/skills/docx/scenes/official-doc.md b/skills/docx/scenes/official-doc.md new file mode 100755 index 0000000..2af705b --- /dev/null +++ b/skills/docx/scenes/official-doc.md @@ -0,0 +1,411 @@ +# Scene: Official Document (Government Notice / Letter / Reply / Minutes) + +## Goal + +Generate a complete, formal, properly structured official document ready for Word delivery. Must simultaneously meet: +- Correct document type, complete structure, clear elements +- Formal government register, stable hierarchy, reliable layout +- Ready for approval, circulation, filing, issuance, or formal internal communication + +**Forbidden:** Producing outlines-only / sample paragraphs / writing advice / half-finished drafts; outputting chat-style explanations. + +→ Placeholder convention & universal prohibitions — see `references/common-rules.md` +→ **Note:** This scene uses its OWN font and layout specs (not Profile A defaults), because official documents follow GB/T 9704 standards. + +--- + +## Scope & Document Type Boundaries + +This scene covers: +1. **Notice** — assigning work, communicating requirements, forwarding documents +2. **Official Letter** — between non-subordinate organizations: negotiation, inquiry, assistance requests, replies +3. **Reply (to Request)** — superior authority answering a subordinate's formal request +4. **Meeting Minutes** — recording key outcomes and agreed items + +**Important boundaries:** +- "Red header" is a format/layout, not a document type — it typically carries notices, letters, or replies +- **Not all official documents need red headers / document numbers / colophons** — only enable when user explicitly requests "red header format", "GB/T 9704 format", or "formal issuance format" +- Internal enterprise notices, business letters, meeting minutes often do NOT use full GB/T standard format +- This scene does NOT cover: speeches, press releases, promotional materials, papers, summary reports, contracts, or legal opinions + +--- + +## Document Type Routing + +```js +function selectOfficialType(keywords, purpose) { + if (/minutes|meeting/.test(keywords)) return "minutes"; + if (/reply|respond to request/.test(keywords)) return "reply"; + if (/letter|inquiry|negotiation/.test(keywords)) return "letter"; + return "notice"; // default +} +``` + +### Red Header Activation + +```js +function needsRedHeader(userRequest) { + // Only activate when explicitly requested + return /red header|GB\/T 9704|formal issuance|official format/.test(userRequest); +} +``` + +**Rules:** +- `needsRedHeader = true` → Enable red header, document number, colophon (full formal elements) +- `needsRedHeader = false` → Maintain formal style but no mandatory red header; keep only title + addressee + body + signature + +--- + +## Standard Template Structures + +### Template A: Notice +1. Red header area (if applicable) +2. Document number (if applicable) +3. Title +4. Addressee +5. Reason for issuance +6. "The relevant matters are hereby notified as follows:" +7. Notice items (expanded by hierarchy) +8. Requirements +9. Attachment notes (if any) +10. Signature (if applicable) +11. Date (if applicable) +12. Colophon (if applicable) + +**Closing phrase:** "This notice is hereby given." or "Please implement accordingly." + +### Template B: Official Letter +1. Red header area (if applicable) +2. Document number (if applicable) +3. Title +4. Addressee +5. Reason / reference to incoming letter +6. Negotiation / inquiry / reply items +7. Closing +8. Signature (if applicable) +9. Date (if applicable) +10. Colophon (if applicable) + +**Closing phrases:** "Please reply by letter." / "This letter is hereby sent." / "This is in reply." + +### Template C: Reply +1–11. Similar to Notice structure +- Addressee is typically the single requesting organization +- Must reference the incoming request document +- "After review, the reply is as follows:" +- Closing: "This is the reply." + +### Template D: Meeting Minutes +1. Title (meeting name + "Minutes") +2. Meeting overview (time, place, chair, attendees) +3. Agreed items +4. Responsibility assignments / follow-up requirements (if applicable) +5. Distribution scope (if applicable) + +**Notes:** +- Minutes record "agreed items", not a transcript of speeches +- Minutes generally do NOT follow standard red header format +- Unless user explicitly requests organizational template compliance + +--- + +## Input Recognition & Completion + +### Processing Rules +1. If user provides a template, historical document, or organizational standard → **always follow it first** +2. If information is incomplete → fill conservatively, formally, and appropriately for the government context +3. **Never fabricate** policy bases, incoming document numbers, leadership directives, meeting decisions, or official organization names +4. If critical info is missing → use standardized placeholders +5. Never present a draft as if it were already formally issued + +--- + +## Title Drafting Rules + +The title is the most critical identifying element — must accurately, concisely reflect the issuing body, subject matter, and document type. + +| Type | Format | Example | +|------|--------|---------| +| Notice | Issuing body + "regarding" + subject + "notice" | XX Municipal Government Notice on Issuing the XX Management Measures | +| Letter | Issuing body + "regarding" + subject + "letter" | XX Company Letter Regarding Land Use for XX Project | +| Reply | Issuing body + "regarding" + subject + "reply" | XX Bureau Reply on Approving Establishment of XX Branch | +| Minutes | Meeting name + "minutes" | XX Company Third General Manager Meeting Minutes | + +**Rules:** +1. Title must specify the subject — no vague titles ("Notice on Relevant Matters") +2. Titles generally do not use periods +3. Title length should be moderate — avoid excessive length + +--- + +## Addressee & CC + +### Addressee +1. The primary recipient of the document +2. On its own line, between title and body +3. Followed by full-width colon +4. Replies typically address only one requesting organization +5. Meeting minutes generally do not have a standard addressee + +### CC (Carbon Copy) +1. CC recipients are NOT addressees — do not mix them +2. CC information typically appears in the colophon area +3. Non-red-header documents should not mechanically add "CC:" lines + +--- + +## Writing Style & Register + +### Language Style +1. Must be **solemn, plain, precise, rigorous, concise** +2. **Forbidden:** Literary devices (metaphor, personification, hyperbole, rhetorical questions, exclamations) +3. **Forbidden:** Vague expressions ("approximately", "recently", "relevant departments", "as soon as possible") — unless user explicitly requires vague wording +4. Time, location, organization, scope, milestones should be as specific as possible +5. No sloganeering filler or obvious "AI boilerplate" feel + +### Common Phrase Patterns + +**Purpose phrases:** +- "In order to implement..." +- "To further standardize..." +- "To effectively carry out..." + +**Basis phrases:** +- "In accordance with the provisions of..." +- "As required by..." +- "Pursuant to relevant regulations" + +**Transition phrases:** +- Notice: "The relevant matters are hereby notified as follows:" +- Letter: "The following is hereby communicated:" +- Reply: "After review, the reply is as follows:" +- Minutes: "The agreed items of the meeting are recorded as follows:" + +**Closing phrases (must match document type):** +- Notice: "This notice is hereby given." +- Letter: "Please reply." / "This is hereby communicated." / "This is in reply." +- Reply: "This is the reply." +- Minutes: generally no fixed closing phrase + +### Conciseness +1. Use "because" not "due to the reason that..." +2. Use "to" not "for the purpose of..." +3. Name specific entities — not "relevant parties" or "related departments" +4. Name responsible units — not "all units should ensure implementation" (vague ending) + +--- + +## Body Hierarchy & Numbering + +Official document body must strictly follow the standard Chinese government numbering system: + +``` +I. General matters + (1) Sub-items + 1. Specific points + (1) Detail supplements +``` + +Original Chinese numbering: +``` +一、General matters + (一)Sub-items + 1. Specific points + (1)Detail supplements +``` + +**Rules:** +1. No level-skipping +2. **Forbidden:** Markdown list markers (`-` `*`) +3. No switching between numbering styles at the same level +4. Level 1: major tasks; Level 2: sub-items; Levels 3–4: only when truly necessary + +--- + +## Truthfulness & Caution +1. **Never fabricate** issuing bodies, incoming organizations, document numbers, leadership directives, meeting decisions, or policy bases +2. **Never** write "per the spirit of XX meeting" or "per XX directive" unless user explicitly provides these +3. **Never** fabricate titles and numbers of referenced documents in replies or letters +4. **Never** present a draft as already formally issued +5. When information is insufficient → use placeholders, never pretend elements are complete + +--- + +## Attachment Notes +1. Placed after body text, before signature +2. "Attachment:" followed by attachment name +3. Multiple attachments: numbered sequentially (Attachment 1, Attachment 2...) +4. Attachment names must be clear and specific — never fabricate unknown attachments + +--- + +## Signature & Date + +1. Document types requiring signatures should have issuing body name and date +2. Not all types mechanically require signatures (minutes typically do not) +3. Formal document dates must use Chinese numeral format with proper "〇" character + - Example: March 31, 2026 → 二〇二六年三月三十一日 +4. Document numbers use tortoiseshell brackets "〔〕" (not square brackets "[]") + - Example: X政发〔2026〕1号 +5. Date format must be consistent throughout + +--- + +## Palette + +**NO decorative colors.** Pure black text on white background. The only color is red header text. + +```js +const palette = { primary:"#000000", body:"#000000", accent:"#000000", surface:"#FFFFFF" }; +const RED_HEADER = "FF0000"; // Only for red header text +``` + +--- + +## Page Layout (GB/T 9704-2012 Standard) + +**Only for formal GB/T red-header documents.** Non-GB/T scenarios may use standard margins. + +| Property | Value | Twips | +|----------|-------|-------| +| Top margin | 3.7 cm | 2098 | +| Bottom margin | 3.5 cm | 1984 | +| Left margin | 2.8 cm | 1588 | +| Right margin | 2.6 cm | 1474 | + +```js +// GB/T red header layout +page: { size: { width: 11906, height: 16838 }, margin: { top: 2098, bottom: 1984, left: 1588, right: 1474 } } +// Non-GB/T formal documents may use standard margins: +// margin: { top: 1440, bottom: 1440, left: 1701, right: 1417 } +``` + +--- + +## Font Specifications (GB/T 9704) + +| Element | Font | Size | Style | +|---------|------|------|-------| +| Red header org name | STXiaoBiaoSong / SimSun Bold | As determined by org | Red (#FF0000), centered | +| Document title | STXiaoBiaoSong / SimSun Bold | Er Hao 22pt (size: 44) | Centered | + +**Font fallback for STXiaoBiaoSong:** This font is not installed by default on all systems. WPS ships FZXiaoBiaoSong-S13 instead. Use this fallback chain: +- Preferred: `STXiaoBiaoSong` (华文小标宋) +- Fallback 1: `FZXiaoBiaoSong-S13` (方正小标宋, available in WPS) +- Fallback 2: `SimSun` with Bold (宋体加粗, universally available) + +In code, set primary font and note the fallback: +```js +font: { eastAsia: "STXiaoBiaoSong" } +// Fallback: FZXiaoBiaoSong-S13 → SimSun Bold. User may need to install STXiaoBiaoSong for exact rendering. +``` +| Addressee | FangSong | San Hao 16pt (size: 32) | Left-aligned | +| Body | FangSong | San Hao 16pt (size: 32) | Justified, indent 640 | +| Level 1 heading | SimHei | San Hao 16pt (size: 32) | Bold | +| Level 2 heading | KaiTi | San Hao 16pt (size: 32) | Normal | +| Level 3 heading | FangSong | San Hao 16pt (size: 32) | Bold | +| Attachment notes | FangSong | San Hao 16pt (size: 32) | Left-aligned | +| Signature/date | FangSong | San Hao 16pt (size: 32) | Right-aligned | +| Page number | FangSong | Si Hao 14pt (size: 28) | Centered, "— X —" | + +```js +styles: { + default: { + document: { + run: { font: { ascii: "Times New Roman", eastAsia: "FangSong" }, size: 32, color: "000000" }, + paragraph: { spacing: { line: 560 } }, // Fixed 28pt line spacing + }, + heading1: { + run: { font: { eastAsia: "SimHei" }, size: 32, bold: true, color: "000000" }, + }, + heading2: { + run: { font: { eastAsia: "KaiTi" }, size: 32, color: "000000" }, + }, + }, +} +``` + +**Note:** For "formal administrative style" (not strict GB/T), retain the style logic but do not rigidly require every GB/T element. + +--- + +## Code Examples + +### Red Header (red-header documents only) + +```js +new Paragraph({ alignment: AlignmentType.CENTER, spacing: { before: 0, after: 200, line: Math.ceil(26 * 23), lineRule: "atLeast" }, + children: [new TextRun({ text: "XX Municipal Government", font: { eastAsia: "SimSun" }, + size: 52, bold: true, color: "FF0000" })] }) +new Paragraph({ border: { bottom: { style: BorderStyle.SINGLE, size: 4, color: "FF0000" } }, + spacing: { after: 40 }, children: [] }) +``` + +### Page Number Footer + +```js +footers: { default: new Footer({ children: [new Paragraph({ + alignment: AlignmentType.CENTER, + children: [ + new TextRun({ text: "\u2014 ", size: 28 }), + new TextRun({ children: [PageNumber.CURRENT], size: 28 }), + new TextRun({ text: " \u2014", size: 28 }), + ], +})] }) } +``` + +--- + +## Style Rules + +1. **Strictly follow official document format — no decorative elements** +2. NO cover page +3. NO TOC +4. NO headers (only page numbers in footer) +5. NO colors except red header (red-header documents only) +6. NO images or charts (unless integral to document content) +7. NO fancy fonts — only FangSong, SimHei, KaiTi, STXiaoBiaoSong +8. Line spacing: fixed 28pt (`line: 560`) — **NOT** the default 1.5x + +--- + +## Scene-Specific Prohibitions + +In addition to universal prohibitions (see `references/common-rules.md`): + +1. Must not write official documents as chat replies, promotional copy, speeches, or papers +2. Must not use Markdown headings/lists/bold/italic for document hierarchy +3. Must not apply red header/document number/colophon to all document types indiscriminately +4. Must not format meeting minutes as a standard red-header notice +5. Must not use literary rhetoric, colloquial expressions, or strongly emotional language +6. Must not fabricate incoming documents, policies, document numbers, meeting decisions, or superior directives +7. Must not use excessive blank lines to create "formal appearance" +8. Must not let the document read like a report, paper, or marketing copy + +--- + +## Scene-Specific Quality Checks + +In addition to universal checks (see `references/common-rules.md`): + +### Format +- [ ] Red header text is #FF0000 and only red header uses color (red-header scenarios) +- [ ] Line spacing fixed at 28pt (line: 560) +- [ ] FangSong / SimHei / KaiTi correctly applied +- [ ] Signature right-aligned, date format correct +- [ ] No cover page, no TOC, no header +- [ ] Page number format "— X —" +- [ ] Red header / document number / colophon only where appropriate + +### Content +- [ ] Document type correctly identified, structure matches +- [ ] Title is accurate, specific, document type clear (not vague) +- [ ] Addressee, attachments, signature, colophon used appropriately +- [ ] Closing phrase matches document type +- [ ] Body hierarchy strictly follows: 一、(Level 1) →(一)(Level 2) → 1. (Level 3) →(1)(Level 4) +- [ ] No Markdown headings/lists/bold/italic mixed in +- [ ] Meeting minutes not incorrectly given standard document signature and colophon +- [ ] Date uses Chinese numerals with proper "〇" character +- [ ] Document number uses tortoiseshell brackets "〔〕" +- [ ] No fabricated incoming documents / policy bases / organizational elements +- [ ] Register is solemn and plain — no colloquial / literary / promotional tone diff --git a/skills/docx/scenes/report.md b/skills/docx/scenes/report.md new file mode 100755 index 0000000..146c3d9 --- /dev/null +++ b/skills/docx/scenes/report.md @@ -0,0 +1,340 @@ +# Scene: Report / Proposal + +## Goal + +Generate a complete, formal, well-structured report ready for Word delivery. Must simultaneously meet: +- Complete structure, clear logic, formal language, definitive conclusions +- Objective data presentation, proper Word formatting +- Ready for presentation, filing, review, submission, or internal communication + +**Forbidden:** Producing outlines-only / summaries / template annotations / half-finished drafts; outputting chat-style explanations or filler phrases like "here is the report content". + +→ Font profile: **A (Formal)** — see `references/common-rules.md` +→ Default layout: standard margins — see `references/common-rules.md` +→ Placeholder convention — see `references/common-rules.md` +→ Universal prohibitions & quality checks — see `references/common-rules.md` + +--- + +## Report Type Routing + +Auto-select structure and expression style based on user intent. If not explicit, infer from topic. + +```js +function selectReportType(keywords, topic) { + if (/analysis|competitor|industry|operations|data/.test(keywords)) return "analysis"; + if (/experiment|lab|algorithm|engineering/.test(keywords)) return "experiment"; + if (/test|QA|performance|security|compatibility/.test(keywords)) return "testing"; + if (/survey|questionnaire|interview|market research/.test(keywords)) return "research"; + if (/review|retrospective|post-mortem|summary/.test(keywords)) return "review"; + if (/proposal|feasibility|implementation|optimization/.test(keywords)) return "proposal"; + return "analysis"; // default +} +``` + +### 6 Report Types + +| Type | Use Case | Structure Focus | Expression Focus | +|------|----------|----------------|-----------------| +| analysis | Industry/competitor/operations/data analysis | Background → Dimensions → Findings → Diagnosis → Recommendations | Conclusion-first, clear dimensions, chart-supported, actionable advice | +| experiment | Scientific/academic/algorithm/engineering experiments | Objective → Environment → Method → Results → Error → Conclusion | Precise process, clear conditions, objective results, conclusion ties to hypothesis | +| testing | Functional/performance/security/compatibility testing | Overview → Scope → Plan → Results → Defects → Risks → Conclusion | Data-driven, traceable, reproducible, supports go/no-go decisions | +| research | User/market/survey/interview research | Background → Subjects & Method → Sample → Findings → Synthesis → Recommendations | Clear sample boundaries, layered findings, recommendations match findings | +| review | Project/incident retrospective, phase summary | Goals → Review → Results → Issues → Lessons → Actions | Clear facts, restrained attribution, specific action items | +| proposal | Project/optimization proposal, feasibility study | Status → Goals → Solution → Roadmap → Resources → Risks → Benefits | Strong argumentation, executable plan, clear boundaries | + +--- + +## Standard Template Structures + +### Template A: Analysis Report +1. Executive Summary +2. Background & Objectives +3. Scope, Data Sources & Methodology +4. Core Findings +5. Problem Diagnosis & Root Cause +6. Conclusions & Recommendations +7. Appendices (if needed) + +### Template B: Experiment Report +1. Abstract +2. Objective & Hypothesis +3. Environment & Materials +4. Procedure & Method +5. Data & Results +6. Error Analysis & Discussion +7. Conclusions +8. Appendices (if needed) + +### Template C: Testing Report +1. Test Overview +2. Test Scope & Environment +3. Test Plan & Case Design +4. Test Results Summary +5. Defect Analysis & Distribution +6. Risk Assessment & Outstanding Issues +7. Test Conclusions +8. Appendices (if needed) + +### Template D: Research Report +1. Research Summary +2. Background & Objectives +3. Subjects & Methodology +4. Sample & Data Description +5. Core Findings +6. Problem Synthesis +7. Recommendations & Action Direction +8. Appendices (if needed) + +### Template E: Review / Summary Report +1. Overview +2. Goals & Scope +3. Process Review +4. Results Summary +5. Issues & Root Cause Analysis +6. Lessons Learned +7. Follow-up Action Plan +8. Appendices (if needed) + +### Template F: Proposal / Feasibility Report +1. Executive Summary +2. Current State & Problem Analysis +3. Goals & Expected Outcomes +4. Solution Design +5. Implementation Roadmap & Milestones +6. Resource Requirements & Budget +7. Risk Analysis & Mitigation +8. Expected Benefits & Evaluation +9. Appendices (if needed) + +**If the user provides a company/school/course template or fixed chapter requirements, always follow those first.** + +--- + +## Input Recognition & Completion + +### User May Provide +Report topic, type, use case, audience, industry, length requirements, data sources, structure requirements, output purpose (presentation/filing/audit/review/external submission/coursework), template files, company/department/project/author/date, etc. + +### Processing Rules +1. If the user provides a template, existing document, company standard, or format example, **always follow it first** +2. If information is incomplete, fill in conservatively — completions must be **restrained, natural, credible, professional** +3. **Never fabricate** unrealistic data, conclusions, test results, business metrics, project statuses, policy backgrounds, or customer feedback +4. If critical information is missing and cannot be safely inferred, use standardized placeholders +5. If no real data is available, prefer low-hallucination approaches: "status description → analysis framework → problem synthesis → recommendations" + +--- + +## Content Quality Constraints + +### Logic & Structure +1. Report must revolve around a clear topic, objective, audience, and through-line +2. Must not just pile up background/concepts/vague statements — must demonstrate analysis, synthesis, judgment, comparison, or review value +3. Terminology must be consistent throughout — concepts must not drift +4. Abstract, body, conclusions, and recommendations must be consistent — no self-contradiction +5. Must form a complete loop: "background → objective → method/basis → process/status → findings/results → problems/judgment → recommendations/conclusions" +6. Each major chapter must have a clear core conclusion or topic sentence — no information dump + +### Language Style +1. Formal, objective, restrained, professional +2. No colloquial expressions, chat tone, hyperbole, emotional language, or propaganda style +3. For management/decision-maker audience: conclusion-first, highlight key points, actionable recommendations +4. For technical/testing reports: clear basis, reproducible process, verifiable results, stated risks + +### Data Expression +1. Never use vague expressions as main conclusions: "significantly improved", "obviously optimized", "performed well", "has certain issues" +2. If data exists, express quantitatively (e.g., "average response time under 200 ms" not "fast response") +3. First occurrence of a term: write full name with abbreviation, e.g., "Application Programming Interface (API)" +4. Without real data backing, never fabricate precise figures +5. Statements about facts, data, status, and results must be internally consistent + +### Truthfulness & Conservative Generation +1. Never fabricate test results, experiment data, growth rates, customer counts, interview conclusions, sample distributions, or launch decisions +2. Never present speculation as proven fact +3. Never fabricate meeting minutes, regulatory bases, customer feedback, or system logs +4. When information is insufficient, use placeholders — never pretend information is complete +5. Conclusions must be restrained — do not overstate effects, risks, or value +6. Recommendations must be grounded in preceding analysis — no conclusions from thin air + +--- + +## Chapter Content Requirements + +### (1) Cover +1. Formal reports should have a cover page +2. Cover includes: title, subtitle (if any), organization/department, author, date, classification (if requested) +3. Cover must be a separate section +4. Cover does not display page numbers +5. Use `selectCoverRecipe()` for recipe + palette (see design-system.md) +6. Common recipes: general report R1, whitepaper R2, consulting R3, proposal R4 + +### (2) Executive Summary +1. Formal reports **must have** a summary opening — never jump directly into details +2. Summary should briefly state: background, objective, key methodology, key findings, main recommendations +3. Suitable for quick reading by management — generally 200–400 words +4. Must not read like a TOC description or pile of background filler + +### (3) Table of Contents +1. Medium-to-long formal reports should include a TOC +2. TOC must be generated from real heading styles (Heading + TOC field) — never write a fake TOC +3. TOC page is typically a separate page +4. TOC depth: usually 2–3 levels + +### (4) Background & Objectives +1. Must explain why this report exists +2. Must state what problem/scenario/audience the report serves +3. If scope boundaries exist, state what the report does NOT cover +4. Must not be vague/grand background — must relate directly to this report's task + +### (5) Methodology / Scope / Basis +1. Must state what materials, criteria, methods, and time range the report is based on +2. Analysis: data sources, analysis dimensions, criteria definitions +3. Experiment: environment, materials, samples, procedure principles +4. Testing: scope, version, environment, methods, coverage/rounds +5. Research: sample source, sample size, research method, time range +6. Reader must understand how conclusions were derived + +### (6) Core Content / Process / Status / Results +1. Organized by logical or dimensional order — no chaotic piling +2. Each section should lead with its conclusion, then expand with evidence +3. Results must be specific — never just "performed well" or "has certain issues" +4. Data, metrics, phenomena, and comparisons must be clearly stated +5. If charts are needed but cannot be generated, use chart placeholders (see below) + +### (7) Analysis / Discussion / Problem Diagnosis +1. Must not merely repeat earlier results +2. Must explain what results mean, what patterns they reveal, what problems they expose +3. May include: comparative analysis, root cause analysis, mechanism analysis, anomaly explanation, limitations, risk boundaries +4. Analysis must be consistent with preceding data and facts + +### (8) Conclusions / Recommendations / Next Steps +1. Conclusions must respond to report objectives +2. Recommendations must be executable — not just principle slogans +3. Recommendations should state: who executes, what to do, when, expected improvement +4. Testing/review: clear verdict (pass / conditional pass / fail) +5. Retrospective/summary: specific follow-up action items + +### (9) Appendices +1. Supplementary material valuable to the report but not suitable for the main body +2. Includes: raw data excerpts, detailed parameters, supplementary tables, sample screenshots +3. Appendices should be on separate pages with proper headings + +--- + +## Chart Placeholder Convention + +When charts are needed but cannot be directly generated: + +``` +[Chart Placeholder: Bar chart; Topic: Q1-Q4 2025 revenue comparison; X-axis: Quarter; Y-axis: Revenue (10K CNY); Style: clean business] +``` + +**Rules:** +- Specify: chart type, topic, axis meanings, key dimensions, optional palette suggestion +- Placeholder must be a standalone paragraph — never inline +- Never use vague placeholders like "insert chart here" + +**Prefer direct generation:** Charts that can be produced via matplotlib should be generated as embedded PNGs. Placeholders are a fallback only. + +--- + +## Content-to-Word Mapping + +### Heading Levels +1. Strict hierarchy — no level-skipping +2. Headings must be informative — never "Background", "Content", "Other" (use "Project Background & Report Objectives" instead) +3. Do not mix multiple numbering systems +4. Normal paragraphs must not masquerade as headings + +### Paragraphs +1. Do not use consecutive blank lines for visual spacing +2. Each paragraph should be a complete semantic unit — not too long or too fragmented + +### Lists +1. Use lists only when genuinely needed — an entire report must not be bullet points +2. Nesting depth ≤ 3 levels +3. Consistent punctuation within a list (all complete sentences or all fragments) +4. Combine "key points" with "analysis paragraphs" — never just list without explaining + +### Tables +1. Use tables only for structured data (statistics, comparisons, parameter lists) +2. Every table must have a header row — headers must not be blank +3. Avoid heavily merged-cell complex nested tables +4. Tables must have introductory and explanatory text before/after +5. Cell content should be concise — avoid long paragraphs inside cells + +### Emphasis +1. Bold only for key conclusions, critical metrics, first occurrence of key terms +2. Never bold entire paragraphs +3. Avoid italic, strikethrough, and other unstable styles + +--- + +## Palette Selection + +| Report Type | Suggested Palette | +|-------------|-------------------| +| General | Neutral calm (primary: #101820) | +| Consulting | Warm terracotta | +| Tech | Cool dawn mist | +| Environment / Education | Warm sunshine | +| Medical | Cool mint | + +See `references/design-system.md` for full palette definitions. + +--- + +## Document Structure + +1. **Cover** — via `selectCoverRecipe()` (see design-system.md) + - Separate section, page margin typically 0 + - Common: general R1, whitepaper R2, consulting R3, proposal R4 + +2. **Table of Contents** — H1–H3, separate section + +3. **Executive Summary** — 1 page max + +4. **Body** — Chapters per selected template (A–F) + +5. **Conclusions & Recommendations** + +6. **Appendices** — Raw data, detailed tables + +--- + +## Professional Elements + +- **Page numbers**: bottom center, size 18, color "808080" +- **Header**: report title (abbreviated), size 18, color "808080" +- **Figure/table numbering**: sequential (Figure 1 / Table 1) +- **Cover**: no page number, no header/footer +- **TOC**: optional Roman numerals or no page numbers +- **Body**: Arabic numerals, continuous + +--- + +## Scene-Specific Quality Checks + +In addition to universal checks (see `references/common-rules.md`): + +### Format +- [ ] Executive summary ≤ 1 page +- [ ] Figures/tables have captions ("Figure X: description" / "Table X: description") +- [ ] Cover recipe matches report type +- [ ] Data charts use palette accent color + +### Content +- [ ] Has executive summary — not starting directly with details +- [ ] Heading names are specific and meaningful +- [ ] Complete loop: background → basis → content → analysis → conclusions/recommendations +- [ ] No fabricated or exaggerated details +- [ ] Abstract and conclusions are consistent +- [ ] Terminology consistent throughout +- [ ] Data expressions are quantified, not vague +- [ ] Recommendations are actionable with owners and timeline + +### Structure +- [ ] Heading hierarchy has no level-skipping +- [ ] List nesting ≤ 3 levels +- [ ] Tables have headers with intro/explanation text +- [ ] Bold used sparingly for emphasis only diff --git a/skills/docx/scenes/resume.md b/skills/docx/scenes/resume.md new file mode 100755 index 0000000..cac8a83 --- /dev/null +++ b/skills/docx/scenes/resume.md @@ -0,0 +1,534 @@ +# Scene: Resume / CV + +## Goal + +Generate a complete, authentic, well-structured, position-targeted resume with stable Word formatting. Must simultaneously meet: +- Authentic and credible content, clear position targeting +- ATS-friendly, stable Word layout +- Clean structure, professional visual design, easy to scan + +**Execution priority** (when conflicting): Position relevance > Information readability > ATS compatibility > Visual decoration + +**Forbidden:** Producing advice-only / fragments / half-finished drafts; outputting chat-style explanations. + +→ Font profile: **B (Visual)** — see `references/common-rules.md` +→ Placeholder convention & universal prohibitions — see `references/common-rules.md` + +--- + +## Scope + +Default: generate a position-oriented general resume. Switch to English resume, academic CV, international format, or design portfolio style only when explicitly requested by the user. + +--- + +## Resume Type Routing + +Auto-select module order based on user background and target: + +### General Resume (default) +Name & Contact → Target Position → Profile Summary (optional) → Core Skills → Work Experience → Projects → Education → Certifications / Awards + +### New Graduate Resume +Name & Contact → Target Position → Education → Internship Experience → Projects → Campus Activities / Competitions / Awards → Skills & Certifications + +### Technical Role Resume +Name & Contact → Target Direction → Profile Summary (optional) → Tech Stack / Core Skills → Work Experience → Projects → Education → Open Source / Papers / Patents / Competitions + +### Academic CV +Name & Contact → Research Direction / Target → Education → Research Experience → Papers / Patents / Projects / Grants → Teaching / Academic Service → Awards / Skills / Languages + +--- + +## Input Processing Rules + +1. If user provides a target position or JD → **must reorganize and rewrite content around position requirements** +2. If user provides a raw draft → prioritize restructuring, phrasing refinement, and priority reordering; do not rewrite into an unfamiliar career +3. **Never fabricate** companies, positions, degrees, projects, certifications, awards, papers, patents, data results, or achievements +4. If critical data is missing → use conservative expressions or placeholder `【Please fill in: ______】`; never fabricate precise numbers +5. A single resume should generally serve only one primary career direction + +--- + +## Content Quality Constraints + +### Core Principles +1. Resume must revolve around the target position — do not spread all experiences equally +2. Most relevant experiences, projects, and skills must be **placed first and detailed** +3. Terminology, company names, position titles, date formats, and skill names must be consistent +4. Must demonstrate: **personal positioning → capability tags → relevant experience → provable results** +5. No piling of vague self-praise; no inspirational writing or chronological dumps + +### Experience Writing Standards + +Each experience bullet should demonstrate: **Action + Object/Context + Method + Result/Impact** + +**Recommended verbs:** Led, built, drove, optimized, refactored, designed, delivered, coordinated, improved, reduced, achieved + +**Rules:** +- "Responsible for" / "participated in" are not absolutely forbidden, but must include scope and results +- Each bullet is concise — one core contribution per bullet +- Quantify when possible, but do not force-bold all numbers +- Recent experience gets detail; low-relevance/low-value experience gets compressed or removed +- Reverse chronological order — most recent and relevant first +- Expand the most recent 2 experiences; compress earlier ones + +### Profile Summary / Self-Assessment +1. Not mandatory +2. If included, frame as "Profile Summary" — **3–4 lines max** +3. Focus on: years of experience, career direction, core capabilities, representative achievements, position fit +4. **Forbidden** as main content: "hardworking", "strong sense of responsibility", "team player", "quick learner", "outgoing personality" + +### Truthfulness & Risk Control +1. Never fabricate experiences, achievements, education, awards, or certifications +2. Never upgrade "participated in" to "led" unless user information supports it +3. Never attribute team results entirely to the individual +4. Never fabricate revenue, conversion rates, headcount, budgets, or technical metrics +5. If no data available, use restrained expressions: "improved delivery efficiency", "shortened processing cycle", "supported core business launch" + +--- + +## Length Control + +| Candidate Type | Target Pages | +|---------------|-------------| +| New graduate / <3 years experience | **1 page** | +| 3–10 years experience | 1–2 pages | +| Senior manager / researcher / academic CV | May exceed 2 pages, but must maintain information density | + +**Compression rules:** +- Experiences >5 years old with low relevance should be compressed +- Experiences >10 years old and irrelevant may be omitted +- Never pad low-value experiences just to "look comprehensive" + +--- + +## ATS & Structure Constraints + +1. Core information must be plain text — never rely on images, icons, text boxes, or headers/footers for key content +2. No embedded charts, objects, SmartArt, or WordArt +3. Experience descriptions use consistent bullet symbols — no complex auto-numbering +4. Bullets within the same position should be compact — no excess blank lines + +**Table layout vs. ATS balance:** The 3 visual templates (A/B/C) use Table-based layouts for Word visual quality. In strict ATS scenarios (user explicitly says "ATS priority"), prefer Template B (single-column) with reduced table dependency. Default: visual quality first. + +--- + +## Module Naming + +Use only standard, universal, recruiter-familiar names: +- Personal Info, Target Position, Profile Summary, Core Skills, Work Experience, Projects, Education, Certifications, Awards, Languages + +**Forbidden fancy names:** "My Growth Journey", "Self-Appreciation", "Shining Moments", "Life Motto" + +--- + +## Template Disease Prevention + +1. Do not include irrelevant identity tags (political affiliation, hometown, etc.) unless user explicitly requests +2. Do not place low-priority modules (hobbies, languages, personality traits) before work experience +3. Do not combine cover letter and resume in one document (unless user explicitly requests) +4. Do not let template feel overpower actual personal information +5. Do not let "self-assessment" occupy the golden area of the page (should come after core skills/experience) + +--- + +## Template Selection + +Three templates are provided, auto-selected based on user needs: + +| Template | Layout | Best For | Color Style | +|----------|--------|----------|-------------| +| A | Left sidebar + right body | General purpose, tech roles | Dark grey sidebar + blue bar headings | +| B | Dark header banner + single column | Content-heavy / senior candidates | Dark blue header + underline headings | +| C | Left sidebar + vertical-line headings | International / bilingual / foreign companies | Blue sidebar + left-border headings | + +**Selection logic:** +- Default: Template A +- Lots of content (expected > 1 page) → Template B (no sidebar, better space utilization) +- User explicitly requests bilingual / English → Template C + +### Industry Color Suggestions + +| Career Direction | Sidebar BG | Accent Color | Recommended Template | +|-----------------|-----------|-------------|---------------------| +| Tech / Internet | `#1A1F36` (deep blue-purple) | `#667eea` (amethyst) | A or C | +| Finance / Consulting | `#0F2027` (deep sea blue) | `#D4AF37` (gold) | A or B | +| Design / Creative | `#2D1B30` (deep purple) | `#f5576c` (coral pink) | A or C | +| Education / Training | `#1A3A3A` (dark green) | `#3CB4A0` (mint green) | A | +| Medical / Health | `#0E2030` (dark cyan) | `#3888A8` (medical blue) | B | +| General / Default | `#303030` (warm dark neutral) | `#B89870` (warm accent) | A | + +When industry is unspecified, use default warm neutral palette. This aligns with the Visual Profile warm-neutral guidance in `design-system.md`. + +## Key Rules + +- **NO cover page / NO TOC** +- **Target: 1 page** (2 pages max for senior roles) +- **Compact spacing**: `line: 276` (1.15x) +- All templates use **bilingual section headings** (e.g., "Work Experience 工作经历") + +--- + +## Template A: Left Sidebar + Color Bar Headings + +### Color Palette +```js +const S = { + bg: "3B4F5C", // sidebar background (dark grey-blue) + text: "D8E2E8", // sidebar text + label: "8BA0AD", // sidebar secondary text + accent: "2F97B8", // accent color (blue-cyan) + title: "1A2D38", // body heading + body: "2C3E4A", // body content + sec: "6B8592", // secondary info (dates etc.) +}; +``` + +### Layout Structure +``` +┌──────────┬──────────────────────┐ +│ [Photo] │ ██ Profile ██ │ ← Blue bar heading +│ │ Summary text... │ +│ Name │ │ +│ Title │ ██ Work Experience ██│ +│ │ Company Role Date │ +│ ──────── │ ▸ Achievement... │ +│ Basic │ ▸ Achievement... │ +│ Info │ │ +│ │ ██ Projects ██ │ +│ ──────── │ ... │ +│ Contact │ │ +│ │ ██ Education ██ │ +│ ──────── │ ... │ +│ Skills │ │ +│ Java ●●●●○│ │ +│ Go ●●●○○│ │ +│ │ │ +│ ──────── │ │ +│ Certs │ │ +└──────────┴──────────────────────┘ + 30% 70% +``` + +### Implementation Notes + +**Page setup:** +```js +page: { margin: { top: 0, bottom: 0, left: 0, right: 0 } } +// Use Table to simulate columns: columnWidths: [3400, 8506] +// ⚠️ Row height must use "exact" with safety margin to prevent overflow blank pages +// Row height: height: { value: 16038, rule: "exact" } +// 16038 = 16838(A4 height) - 1200(safety margin for cross-engine compatibility) +``` + +**Sidebar element order:** +1. Photo placeholder (rectangle + border, width 2400 DXA, height 1800) +2. Name (32pt bold white SimHei) + Title (18pt accent) +3. Basic info (DOB / degree / school) +4. Contact info (phone / email / address) +5. Skill ratings (name + ●○ dot rating, 5 levels each) +6. Certificates list + +**Right-side section headings (color bar style):** +```js +// Full-width bar background + white Chinese text + lighter English text +new Table({ columnWidths:[7600], rows:[new TableRow({ children:[ + new TableCell({ + shading: { fill: S.accent, type: ShadingType.CLEAR }, + margins: { top:40, bottom:40, left:200, right:100 }, + children: [new Paragraph({ children: [ + new TextRun({ text: "Work Experience ", size:22, bold:true, color:"FFFFFF", font:"SimHei" }), + new TextRun({ text: "Experience", size:18, color:"C8E8F0", font:"Times New Roman", italics:true }), + ] })], + }) +] })] }); +``` + +**Experience entry format:** +```js +// Line 1: Company(bold) + Title(accent) + Date(right-aligned) +new Paragraph({ + tabStops: [{ type: TabStopType.RIGHT, position: 7200 }], + children: [ + new TextRun({ text: "Company Name", size:22, bold:true, color:S.title }), + new TextRun({ text: " Role Title", size:20, color:S.accent }), + new TextRun({ text: "\t2023.06 — Present", size:17, color:S.sec }), + ] +}); +// Line 2+: ▸ bullet points +``` + +--- + +## Template B: Dark Header Banner + Single Column + +### Color Palette +```js +const C = { + dark: "1A3352", // header background (dark blue) + accent: "2980B9", // accent color + title: "1A2636", // heading + body: "2C3E50", // body text + sec: "6B8599", // secondary info + light: "E8EFF5", // light background +}; +``` + +### Layout Structure +``` +┌────────────────────────────────┐ +│ ██████████████████████████████ │ ← Dark blue background banner +│ █ Name Title █ │ Contains name / title / +│ █ Phone | Email | Location █ │ contact / basic info +│ █ DOB | Degree | School █ │ +│ ██████████████████████████████ │ +│ │ +│ Profile │ ← Underline heading +│ ───────────────────────────── │ +│ Summary text... │ +│ │ +│ Work Experience │ +│ ───────────────────────────── │ +│ Company | Role Date │ +│ • Achievement... │ +│ ... │ +│ │ +│ Skills │ +│ ───────────────────────────── │ +│ Programming ●●●●○ Java/Go/...│ ← Rating + details +└────────────────────────────────┘ +``` + +### Implementation Notes + +**Header banner:** +```js +// Table single row single column, dark background, height 2400 DXA +new Table({ columnWidths:[11906], rows:[new TableRow({ + height: { value:2400, rule:"exact" }, + children:[new TableCell({ + shading: { fill: C.dark }, + margins: { top:300, bottom:200, left:800, right:800 }, + verticalAlign: VerticalAlign.TOP, // Never use CENTER in exact-height rows (WPS incompatible) + children: [ + // Line 1: Name(48pt white) + Title + // Line 2: Phone | Email | Location + // Line 3: DOB | Degree | School + ] + })] +})] }); +``` + +**Section headings (underline style):** +```js +new Paragraph({ + borders: { bottom: { style: BorderStyle.SINGLE, size: 2, color: C.accent } }, + children: [ + new TextRun({ text: "Work Experience", size:24, bold:true, color:C.accent, font:"SimHei" }), + new TextRun({ text: " Experience", size:18, color:C.sec, italics:true }), + ] +}); +``` + +**Skills display (rating + details):** +```js +// Name(bold) + ●○ rating + specific tools list +new Paragraph({ children: [ + new TextRun({ text: "Programming ", size:19, bold:true, color:C.title }), + new TextRun({ text: "●●●●○ ", size:13, color:C.accent }), + new TextRun({ text: "Java / Go / Python / TypeScript", size:18, color:C.sec }), +] }); +``` + +--- + +## Template C: Blue Sidebar + Vertical-Line Headings + +### Color Palette +```js +const C = { + side: "4A7C8F", // sidebar background (teal-blue) + text: "FFFFFF", // sidebar text + label: "A0C4D0", // sidebar secondary text + accent: "357A8F", // accent color + dot: "2F8FAD", // skill dot fill color + dotDim: "B8D4DE", // skill dot empty color + title: "1A3040", // body heading + body: "2C4050", // body content + sec: "6B8A98", // secondary info +}; +``` + +### Sidebar-Specific Elements + +**Circular photo placeholder:** +```js +new Paragraph({ alignment: AlignmentType.CENTER, + children: [new TextRun({ text: "◯", size:80, color:C.label })] +}); +``` + +**Language proficiency matrix:** +```js +"English ● ● ● ● ○" +"Japanese ● ● ○ ○ ○" +``` + +**Right-side section headings (left-border style):** +```js +new Paragraph({ + borders: { left: { style: BorderStyle.SINGLE, size:8, color:C.accent, space:8 } }, + indent: { left: 120 }, + children: [ + new TextRun({ text: "Work Experience", size:24, bold:true, color:C.title, font:"SimHei" }), + new TextRun({ text: " Experience", size:18, color:C.sec, italics:true }), + ] +}); +``` + +**Experience entry format (differs from A):** +```js +// Line 1: Company name (bold) +// Line 2: Role (accent color) + Date +// Line 3+: ▸ bullet points +``` + +--- + +## Universal Rules + +### Font Specifications +| Element | Font | Size | Style | +|---------|------|------|-------| +| Name (sidebar) | SimHei | 32pt (size:64) | Bold, white | +| Name (header) | SimHei | 24pt (size:48) | Bold, white | +| Section heading | SimHei | 11pt (size:22) | Bold | +| Company / School | Microsoft YaHei | 11pt (size:22) | Bold | +| Role title | Microsoft YaHei | 10pt (size:20) | accent color | +| Date range | Microsoft YaHei | 8.5pt (size:17) | sec color | +| Bullet description | Microsoft YaHei | 9.5pt (size:19) | body color | +| Skill dots | Default | 6.5pt (size:13) | accent / dimColor | + +### Bullet Symbols +- Template A / C: `▸` (small triangle) +- Template B: `•` (round dot) + +### Skill Rating Rules +- 1–5 levels using filled ● and empty ○ dots +- One skill per line, name on the left, dots on the right +- Filled dot color: accent; empty dot color: dimColor + +### JD Matching Logic +When user provides a job description: +1. Extract key requirements (skills, experience, education) +2. Prioritize matching experience items to the top +3. Naturally incorporate JD keywords into descriptions +4. Highlight relevant skills + +### Multi-Page Handling + +- 1 page content: Sidebar templates (A/C) or single-column template (B) +- Over 1 page: Prefer Template B; if using A/C, switch page 2 to full-width layout with a name bar at the top (Name | Title) + +⚠️ **Multi-page resumes must use multi-section structure:** + +Page 1 and Page 2 must be **different sections** for independent margin and layout control: + +```js +sections: [ + { + // Page 1 section — margin 0 (sidebar layout needs full-page) + properties: { page: { margin: { top: 0, bottom: 0, left: 0, right: 0 } } }, + children: [page1Table], + }, + { + // Page 2 section — normal margins with header bar + properties: { page: { margin: { top: 800, bottom: 600, left: 800, right: 800 } } }, + children: [pageHeader(name, title), ...page2Content], + }, +] +``` + +⚠️ **Template B multi-page handling:** + +Template B header banner uses Table simulation: +1. Banner `columnWidths` must equal **page content area width** (pageWidth - marginLeft - marginRight), not full page width +2. If banner needs full page width → set page 1 section margin to 0, banner columnWidths to 11906 +3. Page 2+ must be independent sections, margin.top ≥ 800 + +⚠️ **Page 2+ top spacing rules (mandatory):** + +1. **Page margin.top must be ≥ 800 twips** (~1.4 cm), never 0 +2. **Page 2+ needs a header info bar:** concise `Name | Title` bar, height ~400–600 twips, separated from body with light background or bottom line +3. **200–300 twips spacing between header bar and body content** +4. **Forbidden: content touching the very top of page 2** + +```js +// Concise header bar for page 2+ +function pageHeader(name, title) { + return new Table({ + width: { size: 100, type: WidthType.PERCENTAGE }, + borders: { top: NB, left: NB, right: NB, insideHorizontal: NB, insideVertical: NB, + bottom: { style: BorderStyle.SINGLE, size: 1, color: "D0D0D0" } }, + rows: [new TableRow({ + cantSplit: true, + height: { value: 500, rule: "atLeast" }, + children: [new TableCell({ + margins: { top: 60, bottom: 60, left: 200, right: 200 }, + borders: { top: NB, left: NB, right: NB, bottom: NB }, + children: [new Paragraph({ + children: [ + new TextRun({ text: name, size: 20, bold: true, color: S.title || C.title }), + new TextRun({ text: ` | ${title}`, size: 18, color: S.sec || C.sec }), + ] + })], + })], + })], + }); +} +``` + +--- + +## Scene-Specific Quality Checks + +In addition to universal checks (see `references/common-rules.md`): + +### Format +- [ ] Fits within 1 page (senior ≤ 2 pages) +- [ ] **Single-page fill rate ≥ 85%** (bottom whitespace ≤ 15%, ~2500 twips) +- [ ] Section headings are bilingual +- [ ] Skill rating dots correct (●○) +- [ ] Experience in reverse chronological order +- [ ] No cover page, no TOC +- [ ] Line spacing 1.15x (line: 276) +- [ ] No extra blank pages +- [ ] **Table row height uses `rule: "exact"` with value ≤ 16038** (prevent overflow blank pages) +- [ ] **Multi-page: page 2+ has header info bar + proper top spacing** + +### Content +- [ ] Clearly organized around target position +- [ ] No vague self-assessments ("hardworking", "responsible", "team player") +- [ ] No fabricated data or exaggerated results +- [ ] Most relevant experience placed first and detailed +- [ ] Each bullet demonstrates action + object + method + result +- [ ] No long narrative blocks / excessive long sentences / information density imbalance +- [ ] Module names are standardized +- [ ] Contact info is plain text, clearly positioned +- [ ] Header area forms visual center +- [ ] Work experience and projects are the visual main body +- [ ] Page count matches candidate seniority + +### Single-Page Fill Rules + +Single-page resumes must fully utilize page space — **large bottom whitespace is forbidden:** + +1. If content is insufficient → **proactively expand:** + - Add project details, skill keywords, achievement data + - Add supplementary modules: profile summary, interests, awards +2. Use section spacing (`spacing.before/after`) to **distribute content evenly** +3. Sidebar templates (A/C): sidebar height should approach full page + - If sidebar content is sparse, increase element spacing + - Or add supplementary modules: "Languages", "Interests" +4. Assessment: after generation, check last content element position; if >2500 twips from page bottom, adjust diff --git a/skills/docx/scripts/__init__.py b/skills/docx/scripts/__init__.py new file mode 100755 index 0000000..bf9c562 --- /dev/null +++ b/skills/docx/scripts/__init__.py @@ -0,0 +1 @@ +# Make scripts directory a package for relative imports in tests diff --git a/skills/docx/scripts/add_toc_placeholders.py b/skills/docx/scripts/add_toc_placeholders.py new file mode 100755 index 0000000..d7864ac --- /dev/null +++ b/skills/docx/scripts/add_toc_placeholders.py @@ -0,0 +1,749 @@ +#!/usr/bin/env python3 +""" +Add placeholder entries to Table of Contents in a DOCX file. + +This script adds placeholder TOC entries between the 'separate' and 'end' +field characters, so users see some content on first open instead of an empty TOC. +The original file is replaced with the modified version. + +Usage: + python add_toc_placeholders.py # auto-extract headings (default) + python add_toc_placeholders.py --auto # explicit auto mode + python add_toc_placeholders.py --entries + + entries_json format: JSON string with array of objects: + [ + {"level": 1, "text": "Chapter 1 Overview", "page": "1"}, + {"level": 2, "text": "Section 1.1 Details", "page": "1"} + ] + + Default behavior (no flags): auto-extracts Heading 1-3 from the document. + Filters out table/figure captions (e.g. "表 1:xxx", "图 2:xxx"). + +Example: + python add_toc_placeholders.py document.docx + python add_toc_placeholders.py document.docx --auto + python add_toc_placeholders.py document.docx --entries '[{"level":1,"text":"Introduction","page":"1"}]' +""" + +import argparse +import html +import json +import re +import shutil +import sys +import tempfile +import zipfile +from pathlib import Path + + +def _extract_headings_from_docx(docx_path: str, max_level: int = 3) -> list: + """Extract headings from a DOCX file for auto-mode TOC generation. + + Args: + docx_path: Path to DOCX file + max_level: Maximum heading level to include (default 3) + + Returns: + List of dicts with 'level', 'text', 'page' keys + """ + from docx import Document + + doc = Document(docx_path) + entries = [] + page_estimate = 1 + + # Pattern to filter out table/figure captions styled as headings + caption_pattern = re.compile(r'^[表图]\s*\d') + + for i, para in enumerate(doc.paragraphs): + style_name = para.style.name if para.style else '' + if not style_name.startswith('Heading'): + continue + m = re.search(r'(\d+)', style_name) + if not m: + continue + level = int(m.group(1)) + if level > max_level: + continue + text = para.text.strip() + if not text: + continue + # Filter table/figure captions + if caption_pattern.match(text): + continue + + # Rough page estimate: increment every ~8 headings + page_estimate = max(1, 1 + i // 8) + entries.append({"level": level, "text": text, "page": str(page_estimate)}) + + return entries + + +def add_toc_placeholders(docx_path: str, entries: list = None) -> None: + """Add placeholder TOC entries to a DOCX file (in-place replacement). + + Args: + docx_path: Path to DOCX file (will be modified in-place) + entries: Optional list of placeholder entries. Each entry should be a dict + with 'level' (1-3), 'text', and 'page' keys. + """ + docx_path = Path(docx_path) + + # Create temp directory for extraction + with tempfile.TemporaryDirectory() as temp_dir: + temp_path = Path(temp_dir) + extracted_dir = temp_path / "extracted" + temp_output = temp_path / "output.docx" + + # Extract DOCX + with zipfile.ZipFile(docx_path, 'r') as zip_ref: + zip_ref.extractall(extracted_dir) + + # Ensure TOC styles exist in styles.xml + styles_xml_path = extracted_dir / "word" / "styles.xml" + toc_style_mapping = _ensure_toc_styles(styles_xml_path) + print(f"TOC style mapping: {toc_style_mapping}") + + # Fix settings.xml: ensure updateFields has val="true" + settings_xml_path = extracted_dir / "word" / "settings.xml" + _fix_update_fields(settings_xml_path) + + # Fix Heading styles: ensure outlineLvl is set (required for TOC field update) + _fix_heading_outline_levels(styles_xml_path) + + # Process document.xml + document_xml = extracted_dir / "word" / "document.xml" + if not document_xml.exists(): + raise ValueError("document.xml not found in the DOCX file") + + # Read and process XML + content = document_xml.read_text(encoding='utf-8') + + # Fix fldChar structure: split merged begin+instrText+separate into separate elements + content = _fix_fld_char_structure(content) + + # Find TOC structure and add placeholders (uses lxml for robust XML parsing) + modified_content = _insert_toc_placeholders(content, entries, toc_style_mapping) + + # Write back + document_xml.write_text(modified_content, encoding='utf-8') + + # Repack DOCX to temp file + with zipfile.ZipFile(temp_output, 'w', zipfile.ZIP_DEFLATED) as zipf: + for file_path in extracted_dir.rglob('*'): + if file_path.is_file(): + arcname = file_path.relative_to(extracted_dir) + zipf.write(file_path, arcname) + + # Replace original file with modified version (use shutil.move for cross-device support) + docx_path.unlink() + shutil.move(str(temp_output), str(docx_path)) + + +def _fix_update_fields(settings_xml_path: Path) -> None: + """Fix settings.xml to ensure is present. + + The docx npm library generates without val="true", + which Word/WPS interprets as false, preventing TOC auto-update on open. + """ + if not settings_xml_path.exists(): + return + + content = settings_xml_path.read_text(encoding='utf-8') + original = content + + # Case 1: (self-closing, no val) → add val="true" + if '' in content: + content = content.replace('', '') + print('Fixed: ') + + # Case 2: → change to true (match precisely) + elif re.search(r'', content): + content = re.sub( + r'', + '', + content + ) + print('Fixed: ') + + # Case 3: Not present at all → inject before + elif '', '') + print('Fixed: added to settings.xml') + + if content != original: + settings_xml_path.write_text(content, encoding='utf-8') + + +def _fix_heading_outline_levels(styles_xml_path: Path) -> None: + """Fix Heading styles to include outlineLvl in pPr. + + The docx npm library creates Heading styles but sometimes doesn't set outlineLvl + in the style definition. Without outlineLvl, Word's TOC field update won't find + headings even though they display correctly. + + This ensures Heading1 has outlineLvl=0, Heading2 has outlineLvl=1, etc. + """ + if not styles_xml_path.exists(): + return + + content = styles_xml_path.read_text(encoding='utf-8') + original = content + + W_NS = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' + + for level in range(1, 7): + style_id = f'Heading{level}' + outline_val = str(level - 1) + + # Pattern: find with w:styleId="HeadingN" + style_pattern = ( + rf'(]*w:styleId="{style_id}"[^>]*>)' + rf'(.*?)' + rf'()' + ) + + match = re.search(style_pattern, content, flags=re.DOTALL) + if not match: + continue + + style_content = match.group(2) + + # Check if outlineLvl already exists in this style + if f' within this style + ppr_match = re.search(r'(]*>)(.*?)()', style_content, flags=re.DOTALL) + if ppr_match: + # Add outlineLvl inside existing pPr + new_ppr_content = ppr_match.group(2) + f'' + new_style_content = ( + style_content[:ppr_match.start()] + + ppr_match.group(1) + new_ppr_content + ppr_match.group(3) + + style_content[ppr_match.end():] + ) + else: + # No pPr exists, create one + new_ppr = f'' + # Insert pPr right after style opening (after name/basedOn if present) + new_style_content = new_ppr + style_content + + new_style = match.group(1) + new_style_content + match.group(3) + content = content[:match.start()] + new_style + content[match.end():] + print(f'Fixed: added outlineLvl={outline_val} to {style_id} style') + + if content != original: + styles_xml_path.write_text(content, encoding='utf-8') + + +def _fix_fld_char_structure(xml_content: str) -> str: + """Fix malformed fldChar structure where begin+instrText+separate are in one . + + The docx npm library generates: + TOC... + + Word/WPS requires the standard structure: + + TOC... + + """ + # Match a that contains both begin fldChar AND instrText AND separate fldChar + pattern = ( + r']*)?>(' + r']*w:fldCharType="begin"[^>]*/>' # begin + r')(' + r']*>.*?' # instrText + r')(' + r']*w:fldCharType="separate"[^>]*/>' # separate + r')' + ) + + def split_run(match): + begin = match.group(1) + instr = match.group(2) + separate = match.group(3) + return f'{begin}{instr}{separate}' + + modified = re.sub(pattern, split_run, xml_content, flags=re.DOTALL) + if modified != xml_content: + print("Fixed: split merged fldChar begin+instrText+separate into separate elements") + + # Fix TOC instrText: remove \t switch with wrong style names + # docx npm lib generates \t "Heading1,1,Heading2,2,..." but Word expects "Heading 1,1,..." + # Since we already have \o "1-3" which uses outlineLvl (now fixed), \t is redundant and harmful + toc_t_pattern = r'(TOC\s+[^<]*?)\\t\s+"[^&]*"' + modified2 = re.sub(toc_t_pattern, r'\1', modified) + if modified2 != modified: + print("Fixed: removed \\t switch from TOC instrText (\\o with outlineLvl is sufficient)") + modified = modified2 + + return modified + + +def _detect_toc_styles(styles_xml_path: Path) -> dict: + """Detect TOC style IDs from styles.xml. + + Args: + styles_xml_path: Path to styles.xml + + Returns: + Dictionary mapping level (1-3) to style ID string + """ + if not styles_xml_path.exists(): + return {} + + content = styles_xml_path.read_text(encoding='utf-8') + result = {} + + for level in range(1, 4): + # Standard TOC style names: "TOC 1", "TOC 2", "TOC 3" (with space) + # or "TOC1", "TOC2", "TOC3" (no space) — docx-js uses numeric IDs like "9", "11", "12" + patterns = [ + rf'w:styleId="(TOC{level})"', + rf'w:styleId="(TOC {level})"', + rf'\s*|', + ] + for pattern in patterns[:2]: + m = re.search(pattern, content) + if m: + result[level] = m.group(1) + break + else: + # Try matching by w:name (case insensitive toc N) + # Find blocks with name containing "toc N" + name_pattern = rf']*w:styleId="([^"]*)"[^>]*>.*? dict: + """Ensure TOC styles exist in styles.xml, adding them if necessary. + + Returns: + Dictionary mapping level (1-3) to style ID string + """ + if not styles_xml_path.exists(): + return {1: "9", 2: "11", 3: "12"} + + content = styles_xml_path.read_text(encoding='utf-8') + detected = _detect_toc_styles(styles_xml_path) + result = dict(detected) + + W_NS = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' + + # Define TOC styles to add if missing + toc_style_defs = { + 1: { + 'id': '9', + 'name': 'toc 1', + 'xml': f''' + + + + + + + + +''' + }, + 2: { + 'id': '11', + 'name': 'toc 2', + 'xml': f''' + + + + + + + + +''' + }, + 3: { + 'id': '12', + 'name': 'toc 3', + 'xml': f''' + + + + + + + + +''' + }, + } + + modified = False + for level in range(1, 4): + if level not in result: + style_def = toc_style_defs[level] + result[level] = style_def['id'] + # Add style before + insert_point = content.rfind('') + if insert_point == -1: + print(f"WARNING: Could not find to insert TOC {level} style", file=sys.stderr) + continue + content = content[:insert_point] + style_def['xml'] + '\n' + content[insert_point:] + print(f"Added TOC {level} style (ID: {style_def['id']})") + modified = True + + if modified: + styles_xml_path.write_text(content, encoding='utf-8') + + # Ensure Hyperlink style exists + _ensure_hyperlink_style(styles_xml_path) + + return result + + +def _ensure_hyperlink_style(styles_xml_path: Path) -> None: + """Ensure Hyperlink character style exists in styles.xml.""" + if not styles_xml_path.exists(): + return + + content = styles_xml_path.read_text(encoding='utf-8') + if 'w:styleId="Hyperlink"' in content: + return + + W_NS = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' + hyperlink_style = f''' + + + + + + +''' + + insert_point = content.rfind('') + if insert_point != -1: + content = content[:insert_point] + hyperlink_style + '\n' + content[insert_point:] + styles_xml_path.write_text(content, encoding='utf-8') + print("Added Hyperlink character style") + + +def _insert_toc_placeholders(xml_content: str, entries: list = None, toc_style_mapping: dict = None) -> str: + """Insert placeholder TOC entries and heading bookmarks into XML content. + + Uses lxml ElementTree for robust XML manipulation instead of fragile regex. + + This function does TWO things: + 1. Adds bookmark anchors to each Heading paragraph (so Word can link TOC → heading) + 2. Replaces TOC placeholder area with proper entries containing HYPERLINK + PAGEREF + + Args: + xml_content: The XML content of document.xml + entries: List of placeholder entries with 'level', 'text', 'page' keys + toc_style_mapping: Dictionary mapping level to style ID + + Returns: + Modified XML content with bookmarks and TOC placeholders + + Raises: + RuntimeError: If TOC structure cannot be found or is malformed + """ + from lxml import etree + + if entries is None: + entries = [{"level": 1, "text": "Contents", "page": "1"}] + + if toc_style_mapping is None: + toc_style_mapping = {1: "9", 2: "11", 3: "12"} + + W = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" + R_NS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" + + # Parse XML + root = etree.fromstring(xml_content.encode('utf-8')) + nsmap = {'w': W, 'r': R_NS} + + # ── Step 1: Add bookmarks to Heading paragraphs ── + bookmark_id_counter = 100000 + heading_bookmark_map = {} # text → first bookmark_name (backward compat) + heading_bookmark_map_all = {} # text → [list of bookmark_names] for duplicate headings + + for para in root.iter(f'{{{W}}}p'): + # Find pStyle + ppr = para.find(f'{{{W}}}pPr') + if ppr is None: + continue + pstyle = ppr.find(f'{{{W}}}pStyle') + if pstyle is None: + continue + style_val = pstyle.get(f'{{{W}}}val', '') + if not re.match(r'Heading\d$', style_val): + continue + + # Extract heading text + texts = [] + for t_elem in para.iter(f'{{{W}}}t'): + if t_elem.text: + texts.append(t_elem.text) + heading_text = ''.join(texts).strip() + if not heading_text: + continue + + # Skip if already has bookmark + if para.find(f'{{{W}}}bookmarkStart') is not None: + continue + + # Generate bookmark + bm_name = f"_Toc{bookmark_id_counter}" + bm_id_str = str(bookmark_id_counter) + bookmark_id_counter += 1 + + # Store mapping (support duplicate headings) + if heading_text not in heading_bookmark_map_all: + heading_bookmark_map_all[heading_text] = [] + heading_bookmark_map_all[heading_text].append(bm_name) + if heading_text not in heading_bookmark_map: + heading_bookmark_map[heading_text] = bm_name + + # Insert bookmarkStart after pPr + bm_start = etree.Element(f'{{{W}}}bookmarkStart') + bm_start.set(f'{{{W}}}id', bm_id_str) + bm_start.set(f'{{{W}}}name', bm_name) + + bm_end = etree.Element(f'{{{W}}}bookmarkEnd') + bm_end.set(f'{{{W}}}id', bm_id_str) + + ppr_index = list(para).index(ppr) + para.insert(ppr_index + 1, bm_start) + # bookmarkEnd at end of paragraph + para.append(bm_end) + + bookmarks_added = len(heading_bookmark_map) + if bookmarks_added > 0: + print(f"Added {bookmarks_added} bookmarks to Heading paragraphs") + + # ── Step 2: Find TOC field structure (begin → instrText → separate → end) ── + toc_separate_para = None + toc_end_para = None + + # Track field nesting to handle nested fields correctly + field_stack = [] + toc_field_depth = None + + for fld_char in root.iter(f'{{{W}}}fldChar'): + fld_type = fld_char.get(f'{{{W}}}fldCharType') + run = fld_char.getparent() + + if fld_type == 'begin': + para = run.getparent() + instr_text = '' + found_run = False + for sibling in para: + if sibling is run: + found_run = True + it = sibling.find(f'{{{W}}}instrText') + if it is not None and it.text: + instr_text += it.text + continue + if found_run and sibling.tag == f'{{{W}}}r': + it = sibling.find(f'{{{W}}}instrText') + if it is not None and it.text: + instr_text += it.text + if sibling.find(f'{{{W}}}fldChar') is not None: + break + + field_stack.append(instr_text.strip()) + if 'TOC' in instr_text and toc_field_depth is None: + toc_field_depth = len(field_stack) + + elif fld_type == 'separate': + if toc_field_depth is not None and len(field_stack) == toc_field_depth: + toc_separate_para = run.getparent() + + elif fld_type == 'end': + if toc_field_depth is not None and len(field_stack) == toc_field_depth: + toc_end_para = run.getparent() + break + if field_stack: + field_stack.pop() + + if toc_separate_para is None or toc_end_para is None: + has_begin = root.find(f'.//{{{W}}}fldChar[@{{{W}}}fldCharType="begin"]') is not None + has_separate = root.find(f'.//{{{W}}}fldChar[@{{{W}}}fldCharType="separate"]') is not None + if not has_begin: + raise RuntimeError( + "TOC FAILED: No field structure found in document. " + "Ensure the code includes a TableOfContents element." + ) + elif not has_separate: + raise RuntimeError( + "TOC FAILED: TOC field has 'begin' but no 'separate' fldChar. " + "Run _fix_fld_char_structure() first or check the docx-js version." + ) + else: + raise RuntimeError( + "TOC FAILED: Field structure found but no TOC instrText detected. " + "Ensure TableOfContents element generates a TOC \\o field code." + ) + + # ── Step 3: Remove everything between separate-para and end-para ── + # The TOC paragraphs may be direct children of or wrapped in + toc_container = toc_separate_para.getparent() # could be body or sdtContent + container_children = list(toc_container) + + sep_idx = container_children.index(toc_separate_para) + end_idx = container_children.index(toc_end_para) + + for elem in container_children[sep_idx + 1:end_idx]: + toc_container.remove(elem) + + # ── Step 4: Build and insert placeholder paragraphs ── + indent_mapping = {1: 0, 2: 360, 3: 720, 4: 1080, 5: 1440, 6: 1800} + heading_occurrence_counter = {} + + insert_pos = list(toc_container).index(toc_end_para) + + for entry in entries: + level = entry.get('level', 1) + text_raw = entry.get('text', '') + page = entry.get('page', '1') + + toc_style = toc_style_mapping.get(level, toc_style_mapping.get(1, "9")) + indent = indent_mapping.get(level, 0) + + # Resolve bookmark (handle duplicate headings correctly) + bm_name = '' + if text_raw in heading_bookmark_map_all: + occ = heading_occurrence_counter.get(text_raw, 0) + bm_list = heading_bookmark_map_all[text_raw] + if occ < len(bm_list): + bm_name = bm_list[occ] + heading_occurrence_counter[text_raw] = occ + 1 + + # Build paragraph element + p = etree.Element(f'{{{W}}}p') + toc_container.insert(insert_pos, p) + insert_pos += 1 + + # pPr + ppr = etree.SubElement(p, f'{{{W}}}pPr') + pstyle = etree.SubElement(ppr, f'{{{W}}}pStyle') + pstyle.set(f'{{{W}}}val', str(toc_style)) + if indent > 0: + ind = etree.SubElement(ppr, f'{{{W}}}ind') + ind.set(f'{{{W}}}left', str(indent)) + tabs = etree.SubElement(ppr, f'{{{W}}}tabs') + tab = etree.SubElement(tabs, f'{{{W}}}tab') + tab.set(f'{{{W}}}val', 'right') + tab.set(f'{{{W}}}leader', 'dot') + tab.set(f'{{{W}}}pos', '9026') + spacing = etree.SubElement(ppr, f'{{{W}}}spacing') + spacing.set(f'{{{W}}}before', '120') + spacing.set(f'{{{W}}}after', '60') + + if bm_name: + hyperlink = etree.SubElement(p, f'{{{W}}}hyperlink') + hyperlink.set(f'{{{W}}}anchor', bm_name) + hyperlink.set(f'{{{W}}}history', '1') + + r_text = etree.SubElement(hyperlink, f'{{{W}}}r') + rpr = etree.SubElement(r_text, f'{{{W}}}rPr') + rstyle = etree.SubElement(rpr, f'{{{W}}}rStyle') + rstyle.set(f'{{{W}}}val', 'Hyperlink') + t = etree.SubElement(r_text, f'{{{W}}}t') + t.text = text_raw + + r_tab = etree.SubElement(hyperlink, f'{{{W}}}r') + etree.SubElement(r_tab, f'{{{W}}}tab') + + r_begin = etree.SubElement(hyperlink, f'{{{W}}}r') + fc_begin = etree.SubElement(r_begin, f'{{{W}}}fldChar') + fc_begin.set(f'{{{W}}}fldCharType', 'begin') + + r_instr = etree.SubElement(hyperlink, f'{{{W}}}r') + instr = etree.SubElement(r_instr, f'{{{W}}}instrText') + instr.set('{http://www.w3.org/XML/1998/namespace}space', 'preserve') + instr.text = f' PAGEREF {bm_name} \\h ' + + r_sep = etree.SubElement(hyperlink, f'{{{W}}}r') + fc_sep = etree.SubElement(r_sep, f'{{{W}}}fldChar') + fc_sep.set(f'{{{W}}}fldCharType', 'separate') + + r_page = etree.SubElement(hyperlink, f'{{{W}}}r') + t_page = etree.SubElement(r_page, f'{{{W}}}t') + t_page.text = str(page) + + r_end = etree.SubElement(hyperlink, f'{{{W}}}r') + fc_end = etree.SubElement(r_end, f'{{{W}}}fldChar') + fc_end.set(f'{{{W}}}fldCharType', 'end') + else: + r_text = etree.SubElement(p, f'{{{W}}}r') + t = etree.SubElement(r_text, f'{{{W}}}t') + t.text = text_raw + + r_tab = etree.SubElement(p, f'{{{W}}}r') + etree.SubElement(r_tab, f'{{{W}}}tab') + + r_page = etree.SubElement(p, f'{{{W}}}r') + t_page = etree.SubElement(r_page, f'{{{W}}}t') + t_page.text = str(page) + + placeholders_inserted = len(entries) + print(f"Inserted {placeholders_inserted} TOC placeholder entries") + + # Serialize back to string + result = etree.tostring(root, xml_declaration=True, encoding='UTF-8', standalone=True) + return result.decode('utf-8') + + +def main(): + parser = argparse.ArgumentParser( + description='Add placeholder entries to Table of Contents in a DOCX file (in-place)' + ) + parser.add_argument('docx_file', help='DOCX file to modify (will be replaced)') + parser.add_argument( + '--auto', action='store_true', + help='Auto-extract Heading 1-3 from the DOCX as TOC entries (recommended)' + ) + parser.add_argument( + '--entries', + help='JSON string with placeholder entries: [{"level":1,"text":"Chapter 1","page":"1"}]' + ) + + args = parser.parse_args() + + # Determine entries + entries = None + if args.entries: + try: + entries = json.loads(args.entries) + except json.JSONDecodeError as e: + print(f"Error parsing entries JSON: {e}", file=sys.stderr) + sys.exit(1) + elif args.auto or True: + # Default to auto mode — always extract from document headings + entries = _extract_headings_from_docx(args.docx_file) + if entries: + print(f"Auto-extracted {len(entries)} headings from document", file=sys.stderr) + else: + print("No headings found in document, using minimal placeholder", file=sys.stderr) + entries = [{"level": 1, "text": "Contents", "page": "1"}] + + # Add placeholders + try: + add_toc_placeholders(args.docx_file, entries) + print(f"Successfully added TOC placeholders to {args.docx_file}") + except RuntimeError as e: + # TOC structure errors — hard fail with exit code 1 + print(f"ERROR: {e}", file=sys.stderr) + sys.exit(1) + except Exception as e: + print(f"Error: {e}", file=sys.stderr) + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/skills/docx/scripts/document.py b/skills/docx/scripts/document.py new file mode 100755 index 0000000..dbe2c27 --- /dev/null +++ b/skills/docx/scripts/document.py @@ -0,0 +1,1333 @@ +#!/usr/bin/env python3 +""" +Library for working with Word documents: comments, tracked changes, and editing. + +Usage: + from skills.docx.scripts.document import Document + + # Initialize + doc = Document('workspace/unpacked') + doc = Document('workspace/unpacked', author="John Doe", initials="JD") + + # Find nodes + node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"}) + node = doc["word/document.xml"].get_node(tag="w:p", line_number=10) + + # Add comments + doc.add_comment(start=node, end=node, text="Comment text") + doc.reply_to_comment(parent_comment_id=0, text="Reply text") + + # Suggest tracked changes + doc["word/document.xml"].suggest_deletion(node) # Delete content + doc["word/document.xml"].revert_insertion(ins_node) # Reject insertion + doc["word/document.xml"].revert_deletion(del_node) # Reject deletion + + # Save + doc.save() +""" + +import html +import random +import shutil +import tempfile +from datetime import datetime, timezone +from pathlib import Path + +import zipfile + +import defusedxml.minidom +from defusedxml import minidom + +from .utilities import XMLEditor + + +# --------------------------------------------------------------------------- +# Inline pack utility (replaces former ooxml.scripts.pack dependency) +# --------------------------------------------------------------------------- + +def _condense_xml(xml_file): + """Strip unnecessary whitespace from XML, preserving text content.""" + with open(xml_file, "r", encoding="utf-8") as f: + dom = defusedxml.minidom.parse(f) + for element in dom.getElementsByTagName("*"): + if element.tagName.endswith(":t"): + continue + for child in list(element.childNodes): + if ( + child.nodeType == child.TEXT_NODE + and child.nodeValue + and child.nodeValue.strip() == "" + ) or child.nodeType == child.COMMENT_NODE: + element.removeChild(child) + with open(xml_file, "wb") as f: + f.write(dom.toxml(encoding="UTF-8")) + + +def _pack_document(input_dir, output_file): + """Pack an unpacked directory back into a .docx file.""" + input_dir = Path(input_dir) + output_file = Path(output_file) + with tempfile.TemporaryDirectory() as temp_dir: + temp_content_dir = Path(temp_dir) / "content" + shutil.copytree(input_dir, temp_content_dir) + for pattern in ["*.xml", "*.rels"]: + for xml_file in temp_content_dir.rglob(pattern): + _condense_xml(xml_file) + output_file.parent.mkdir(parents=True, exist_ok=True) + with zipfile.ZipFile(output_file, "w", zipfile.ZIP_DEFLATED) as zf: + for f in temp_content_dir.rglob("*"): + if f.is_file(): + zf.write(f, f.relative_to(temp_content_dir)) + +# Path to template files +TEMPLATE_DIR = Path(__file__).parent / "templates" + + +class DocxXMLEditor(XMLEditor): + """XMLEditor that automatically applies RSID, author, and date to new elements. + + Automatically adds attributes to elements that support them when inserting new content: + - w:rsidR, w:rsidRDefault, w:rsidP (for w:p and w:r elements) + - w:author and w:date (for w:ins, w:del, w:comment elements) + - w:id (for w:ins and w:del elements) + + Attributes: + dom (defusedxml.minidom.Document): The DOM document for direct manipulation + """ + + def __init__( + self, xml_path, rsid: str, author: str = "Z.AI", initials: str = "Z" + ): + """Initialize with required RSID and optional author. + + Args: + xml_path: Path to XML file to edit + rsid: RSID to automatically apply to new elements + author: Author name for tracked changes and comments (default: "Z.AI") + initials: Author initials (default: "C") + """ + super().__init__(xml_path) + self.rsid = rsid + self.author = author + self.initials = initials + + def _get_next_change_id(self): + """Get the next available change ID by checking all tracked change elements.""" + max_id = -1 + for tag in ("w:ins", "w:del"): + elements = self.dom.getElementsByTagName(tag) + for elem in elements: + change_id = elem.getAttribute("w:id") + if change_id: + try: + max_id = max(max_id, int(change_id)) + except ValueError: + pass + return max_id + 1 + + def _ensure_w16du_namespace(self): + """Ensure w16du namespace is declared on the root element.""" + root = self.dom.documentElement + if not root.hasAttribute("xmlns:w16du"): # type: ignore + root.setAttribute( # type: ignore + "xmlns:w16du", + "http://schemas.microsoft.com/office/word/2023/wordml/word16du", + ) + + def _ensure_w16cex_namespace(self): + """Ensure w16cex namespace is declared on the root element.""" + root = self.dom.documentElement + if not root.hasAttribute("xmlns:w16cex"): # type: ignore + root.setAttribute( # type: ignore + "xmlns:w16cex", + "http://schemas.microsoft.com/office/word/2018/wordml/cex", + ) + + def _ensure_w14_namespace(self): + """Ensure w14 namespace is declared on the root element.""" + root = self.dom.documentElement + if not root.hasAttribute("xmlns:w14"): # type: ignore + root.setAttribute( # type: ignore + "xmlns:w14", + "http://schemas.microsoft.com/office/word/2010/wordml", + ) + + def _inject_attributes_to_nodes(self, nodes): + """Inject RSID, author, and date attributes into DOM nodes where applicable. + + Adds attributes to elements that support them: + - w:r: gets w:rsidR (or w:rsidDel if inside w:del) + - w:p: gets w:rsidR, w:rsidRDefault, w:rsidP, w14:paraId, w14:textId + - w:t: gets xml:space="preserve" if text has leading/trailing whitespace + - w:ins, w:del: get w:id, w:author, w:date, w16du:dateUtc + - w:comment: gets w:author, w:date, w:initials + - w16cex:commentExtensible: gets w16cex:dateUtc + + Args: + nodes: List of DOM nodes to process + """ + from datetime import datetime, timezone + + timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ") + + def is_inside_deletion(elem): + """Check if element is inside a w:del element.""" + parent = elem.parentNode + while parent: + if parent.nodeType == parent.ELEMENT_NODE and parent.tagName == "w:del": + return True + parent = parent.parentNode + return False + + def add_rsid_to_p(elem): + if not elem.hasAttribute("w:rsidR"): + elem.setAttribute("w:rsidR", self.rsid) + if not elem.hasAttribute("w:rsidRDefault"): + elem.setAttribute("w:rsidRDefault", self.rsid) + if not elem.hasAttribute("w:rsidP"): + elem.setAttribute("w:rsidP", self.rsid) + # Add w14:paraId and w14:textId if not present + if not elem.hasAttribute("w14:paraId"): + self._ensure_w14_namespace() + elem.setAttribute("w14:paraId", _generate_hex_id()) + if not elem.hasAttribute("w14:textId"): + self._ensure_w14_namespace() + elem.setAttribute("w14:textId", _generate_hex_id()) + + def add_rsid_to_r(elem): + # Use w:rsidDel for inside , otherwise w:rsidR + if is_inside_deletion(elem): + if not elem.hasAttribute("w:rsidDel"): + elem.setAttribute("w:rsidDel", self.rsid) + else: + if not elem.hasAttribute("w:rsidR"): + elem.setAttribute("w:rsidR", self.rsid) + + def add_tracked_change_attrs(elem): + # Auto-assign w:id if not present + if not elem.hasAttribute("w:id"): + elem.setAttribute("w:id", str(self._get_next_change_id())) + if not elem.hasAttribute("w:author"): + elem.setAttribute("w:author", self.author) + if not elem.hasAttribute("w:date"): + elem.setAttribute("w:date", timestamp) + # Add w16du:dateUtc for tracked changes (same as w:date since we generate UTC timestamps) + if elem.tagName in ("w:ins", "w:del") and not elem.hasAttribute( + "w16du:dateUtc" + ): + self._ensure_w16du_namespace() + elem.setAttribute("w16du:dateUtc", timestamp) + + def add_comment_attrs(elem): + if not elem.hasAttribute("w:author"): + elem.setAttribute("w:author", self.author) + if not elem.hasAttribute("w:date"): + elem.setAttribute("w:date", timestamp) + if not elem.hasAttribute("w:initials"): + elem.setAttribute("w:initials", self.initials) + + def add_comment_extensible_date(elem): + # Add w16cex:dateUtc for comment extensible elements + if not elem.hasAttribute("w16cex:dateUtc"): + self._ensure_w16cex_namespace() + elem.setAttribute("w16cex:dateUtc", timestamp) + + def add_xml_space_to_t(elem): + # Add xml:space="preserve" to w:t if text has leading/trailing whitespace + if ( + elem.firstChild + and elem.firstChild.nodeType == elem.firstChild.TEXT_NODE + ): + text = elem.firstChild.data + if text and (text[0].isspace() or text[-1].isspace()): + if not elem.hasAttribute("xml:space"): + elem.setAttribute("xml:space", "preserve") + + for node in nodes: + if node.nodeType != node.ELEMENT_NODE: + continue + + # Handle the node itself + if node.tagName == "w:p": + add_rsid_to_p(node) + elif node.tagName == "w:r": + add_rsid_to_r(node) + elif node.tagName == "w:t": + add_xml_space_to_t(node) + elif node.tagName in ("w:ins", "w:del"): + add_tracked_change_attrs(node) + elif node.tagName == "w:comment": + add_comment_attrs(node) + elif node.tagName == "w16cex:commentExtensible": + add_comment_extensible_date(node) + + # Process descendants (getElementsByTagName doesn't return the element itself) + for elem in node.getElementsByTagName("w:p"): + add_rsid_to_p(elem) + for elem in node.getElementsByTagName("w:r"): + add_rsid_to_r(elem) + for elem in node.getElementsByTagName("w:t"): + add_xml_space_to_t(elem) + for tag in ("w:ins", "w:del"): + for elem in node.getElementsByTagName(tag): + add_tracked_change_attrs(elem) + for elem in node.getElementsByTagName("w:comment"): + add_comment_attrs(elem) + for elem in node.getElementsByTagName("w16cex:commentExtensible"): + add_comment_extensible_date(elem) + + def replace_node(self, elem, new_content): + """Replace node with automatic attribute injection.""" + nodes = super().replace_node(elem, new_content) + self._inject_attributes_to_nodes(nodes) + return nodes + + def insert_after(self, elem, xml_content): + """Insert after with automatic attribute injection.""" + nodes = super().insert_after(elem, xml_content) + self._inject_attributes_to_nodes(nodes) + return nodes + + def insert_before(self, elem, xml_content): + """Insert before with automatic attribute injection.""" + nodes = super().insert_before(elem, xml_content) + self._inject_attributes_to_nodes(nodes) + return nodes + + def append_to(self, elem, xml_content): + """Append to with automatic attribute injection.""" + nodes = super().append_to(elem, xml_content) + self._inject_attributes_to_nodes(nodes) + return nodes + + def revert_insertion(self, elem): + """Reject an insertion by wrapping its content in a deletion. + + Wraps all runs inside w:ins in w:del, converting w:t to w:delText. + Can process a single w:ins element or a container element with multiple w:ins. + + Args: + elem: Element to process (w:ins, w:p, w:body, etc.) + + Returns: + list: List containing the processed element(s) + + Raises: + ValueError: If the element contains no w:ins elements + + Example: + # Reject a single insertion + ins = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"}) + doc["word/document.xml"].revert_insertion(ins) + + # Reject all insertions in a paragraph + para = doc["word/document.xml"].get_node(tag="w:p", line_number=42) + doc["word/document.xml"].revert_insertion(para) + """ + # Collect insertions + ins_elements = [] + if elem.tagName == "w:ins": + ins_elements.append(elem) + else: + ins_elements.extend(elem.getElementsByTagName("w:ins")) + + # Validate that there are insertions to reject + if not ins_elements: + raise ValueError( + f"revert_insertion requires w:ins elements. " + f"The provided element <{elem.tagName}> contains no insertions. " + ) + + # Process all insertions - wrap all children in w:del + for ins_elem in ins_elements: + runs = list(ins_elem.getElementsByTagName("w:r")) + if not runs: + continue + + # Create deletion wrapper + del_wrapper = self.dom.createElement("w:del") + + # Process each run + for run in runs: + # Convert w:t → w:delText and w:rsidR → w:rsidDel + if run.hasAttribute("w:rsidR"): + run.setAttribute("w:rsidDel", run.getAttribute("w:rsidR")) + run.removeAttribute("w:rsidR") + elif not run.hasAttribute("w:rsidDel"): + run.setAttribute("w:rsidDel", self.rsid) + + for t_elem in list(run.getElementsByTagName("w:t")): + del_text = self.dom.createElement("w:delText") + # Copy ALL child nodes (not just firstChild) to handle entities + while t_elem.firstChild: + del_text.appendChild(t_elem.firstChild) + for i in range(t_elem.attributes.length): + attr = t_elem.attributes.item(i) + del_text.setAttribute(attr.name, attr.value) + t_elem.parentNode.replaceChild(del_text, t_elem) + + # Move all children from ins to del wrapper + while ins_elem.firstChild: + del_wrapper.appendChild(ins_elem.firstChild) + + # Add del wrapper back to ins + ins_elem.appendChild(del_wrapper) + + # Inject attributes to the deletion wrapper + self._inject_attributes_to_nodes([del_wrapper]) + + return [elem] + + def revert_deletion(self, elem): + """Reject a deletion by re-inserting the deleted content. + + Creates w:ins elements after each w:del, copying deleted content and + converting w:delText back to w:t. + Can process a single w:del element or a container element with multiple w:del. + + Args: + elem: Element to process (w:del, w:p, w:body, etc.) + + Returns: + list: If elem is w:del, returns [elem, new_ins]. Otherwise returns [elem]. + + Raises: + ValueError: If the element contains no w:del elements + + Example: + # Reject a single deletion - returns [w:del, w:ins] + del_elem = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "3"}) + nodes = doc["word/document.xml"].revert_deletion(del_elem) + + # Reject all deletions in a paragraph - returns [para] + para = doc["word/document.xml"].get_node(tag="w:p", line_number=42) + nodes = doc["word/document.xml"].revert_deletion(para) + """ + # Collect deletions FIRST - before we modify the DOM + del_elements = [] + is_single_del = elem.tagName == "w:del" + + if is_single_del: + del_elements.append(elem) + else: + del_elements.extend(elem.getElementsByTagName("w:del")) + + # Validate that there are deletions to reject + if not del_elements: + raise ValueError( + f"revert_deletion requires w:del elements. " + f"The provided element <{elem.tagName}> contains no deletions. " + ) + + # Track created insertion (only relevant if elem is a single w:del) + created_insertion = None + + # Process all deletions - create insertions that copy the deleted content + for del_elem in del_elements: + # Clone the deleted runs and convert them to insertions + runs = list(del_elem.getElementsByTagName("w:r")) + if not runs: + continue + + # Create insertion wrapper + ins_elem = self.dom.createElement("w:ins") + + for run in runs: + # Clone the run + new_run = run.cloneNode(True) + + # Convert w:delText → w:t + for del_text in list(new_run.getElementsByTagName("w:delText")): + t_elem = self.dom.createElement("w:t") + # Copy ALL child nodes (not just firstChild) to handle entities + while del_text.firstChild: + t_elem.appendChild(del_text.firstChild) + for i in range(del_text.attributes.length): + attr = del_text.attributes.item(i) + t_elem.setAttribute(attr.name, attr.value) + del_text.parentNode.replaceChild(t_elem, del_text) + + # Update run attributes: w:rsidDel → w:rsidR + if new_run.hasAttribute("w:rsidDel"): + new_run.setAttribute("w:rsidR", new_run.getAttribute("w:rsidDel")) + new_run.removeAttribute("w:rsidDel") + elif not new_run.hasAttribute("w:rsidR"): + new_run.setAttribute("w:rsidR", self.rsid) + + ins_elem.appendChild(new_run) + + # Insert the new insertion after the deletion + nodes = self.insert_after(del_elem, ins_elem.toxml()) + + # If processing a single w:del, track the created insertion + if is_single_del and nodes: + created_insertion = nodes[0] + + # Return based on input type + if is_single_del and created_insertion: + return [elem, created_insertion] + else: + return [elem] + + @staticmethod + def suggest_paragraph(xml_content: str) -> str: + """Transform paragraph XML to add tracked change wrapping for insertion. + + Wraps runs in and adds to w:rPr in w:pPr for numbered lists. + + Args: + xml_content: XML string containing a element + + Returns: + str: Transformed XML with tracked change wrapping + """ + wrapper = f'{xml_content}' + doc = minidom.parseString(wrapper) + para = doc.getElementsByTagName("w:p")[0] + + # Ensure w:pPr exists + pPr_list = para.getElementsByTagName("w:pPr") + if not pPr_list: + pPr = doc.createElement("w:pPr") + para.insertBefore( + pPr, para.firstChild + ) if para.firstChild else para.appendChild(pPr) + else: + pPr = pPr_list[0] + + # Ensure w:rPr exists in w:pPr + rPr_list = pPr.getElementsByTagName("w:rPr") + if not rPr_list: + rPr = doc.createElement("w:rPr") + pPr.appendChild(rPr) + else: + rPr = rPr_list[0] + + # Add to w:rPr + ins_marker = doc.createElement("w:ins") + rPr.insertBefore( + ins_marker, rPr.firstChild + ) if rPr.firstChild else rPr.appendChild(ins_marker) + + # Wrap all non-pPr children in + ins_wrapper = doc.createElement("w:ins") + for child in [c for c in para.childNodes if c.nodeName != "w:pPr"]: + para.removeChild(child) + ins_wrapper.appendChild(child) + para.appendChild(ins_wrapper) + + return para.toxml() + + def suggest_deletion(self, elem): + """Mark a w:r or w:p element as deleted with tracked changes (in-place DOM manipulation). + + For w:r: wraps in , converts to , preserves w:rPr + For w:p (regular): wraps content in , converts to + For w:p (numbered list): adds to w:rPr in w:pPr, wraps content in + + Args: + elem: A w:r or w:p DOM element without existing tracked changes + + Returns: + Element: The modified element + + Raises: + ValueError: If element has existing tracked changes or invalid structure + """ + if elem.nodeName == "w:r": + # Check for existing w:delText + if elem.getElementsByTagName("w:delText"): + raise ValueError("w:r element already contains w:delText") + + # Convert w:t → w:delText + for t_elem in list(elem.getElementsByTagName("w:t")): + del_text = self.dom.createElement("w:delText") + # Copy ALL child nodes (not just firstChild) to handle entities + while t_elem.firstChild: + del_text.appendChild(t_elem.firstChild) + # Preserve attributes like xml:space + for i in range(t_elem.attributes.length): + attr = t_elem.attributes.item(i) + del_text.setAttribute(attr.name, attr.value) + t_elem.parentNode.replaceChild(del_text, t_elem) + + # Update run attributes: w:rsidR → w:rsidDel + if elem.hasAttribute("w:rsidR"): + elem.setAttribute("w:rsidDel", elem.getAttribute("w:rsidR")) + elem.removeAttribute("w:rsidR") + elif not elem.hasAttribute("w:rsidDel"): + elem.setAttribute("w:rsidDel", self.rsid) + + # Wrap in w:del + del_wrapper = self.dom.createElement("w:del") + parent = elem.parentNode + parent.insertBefore(del_wrapper, elem) + parent.removeChild(elem) + del_wrapper.appendChild(elem) + + # Inject attributes to the deletion wrapper + self._inject_attributes_to_nodes([del_wrapper]) + + return del_wrapper + + elif elem.nodeName == "w:p": + # Check for existing tracked changes + if elem.getElementsByTagName("w:ins") or elem.getElementsByTagName("w:del"): + raise ValueError("w:p element already contains tracked changes") + + # Check if it's a numbered list item + pPr_list = elem.getElementsByTagName("w:pPr") + is_numbered = pPr_list and pPr_list[0].getElementsByTagName("w:numPr") + + if is_numbered: + # Add to w:rPr in w:pPr + pPr = pPr_list[0] + rPr_list = pPr.getElementsByTagName("w:rPr") + + if not rPr_list: + rPr = self.dom.createElement("w:rPr") + pPr.appendChild(rPr) + else: + rPr = rPr_list[0] + + # Add marker + del_marker = self.dom.createElement("w:del") + rPr.insertBefore( + del_marker, rPr.firstChild + ) if rPr.firstChild else rPr.appendChild(del_marker) + + # Convert w:t → w:delText in all runs + for t_elem in list(elem.getElementsByTagName("w:t")): + del_text = self.dom.createElement("w:delText") + # Copy ALL child nodes (not just firstChild) to handle entities + while t_elem.firstChild: + del_text.appendChild(t_elem.firstChild) + # Preserve attributes like xml:space + for i in range(t_elem.attributes.length): + attr = t_elem.attributes.item(i) + del_text.setAttribute(attr.name, attr.value) + t_elem.parentNode.replaceChild(del_text, t_elem) + + # Update run attributes: w:rsidR → w:rsidDel + for run in elem.getElementsByTagName("w:r"): + if run.hasAttribute("w:rsidR"): + run.setAttribute("w:rsidDel", run.getAttribute("w:rsidR")) + run.removeAttribute("w:rsidR") + elif not run.hasAttribute("w:rsidDel"): + run.setAttribute("w:rsidDel", self.rsid) + + # Wrap all non-pPr children in + del_wrapper = self.dom.createElement("w:del") + for child in [c for c in elem.childNodes if c.nodeName != "w:pPr"]: + elem.removeChild(child) + del_wrapper.appendChild(child) + elem.appendChild(del_wrapper) + + # Inject attributes to the deletion wrapper + self._inject_attributes_to_nodes([del_wrapper]) + + return elem + + else: + raise ValueError(f"Element must be w:r or w:p, got {elem.nodeName}") + + +def _generate_hex_id() -> str: + """Generate random 8-character hex ID for para/durable IDs. + + Values are constrained to be less than 0x7FFFFFFF per OOXML spec: + - paraId must be < 0x80000000 + - durableId must be < 0x7FFFFFFF + We use the stricter constraint (0x7FFFFFFF) for both. + """ + return f"{random.randint(1, 0x7FFFFFFE):08X}" + + +def _generate_rsid() -> str: + """Generate random 8-character hex RSID.""" + return "".join(random.choices("0123456789ABCDEF", k=8)) + + +class Document: + """Manages comments in unpacked Word documents.""" + + def __init__( + self, + unpacked_dir, + rsid=None, + track_revisions=False, + author="Z.AI", + initials="C", + ): + """ + Initialize with path to unpacked Word document directory. + Automatically sets up comment infrastructure (people.xml, RSIDs). + + Args: + unpacked_dir: Path to unpacked DOCX directory (must contain word/ subdirectory) + rsid: Optional RSID to use for all comment elements. If not provided, one will be generated. + track_revisions: If True, enables track revisions in settings.xml (default: False) + author: Default author name for comments (default: "Z.AI") + initials: Default author initials for comments (default: "C") + """ + self.original_path = Path(unpacked_dir) + + if not self.original_path.exists() or not self.original_path.is_dir(): + raise ValueError(f"Directory not found: {unpacked_dir}") + + # Create temporary directory with subdirectories for unpacked content and baseline + self.temp_dir = tempfile.mkdtemp(prefix="docx_") + self.unpacked_path = Path(self.temp_dir) / "unpacked" + shutil.copytree(self.original_path, self.unpacked_path) + + # Pack original directory into temporary .docx for validation baseline (outside unpacked dir) + self.original_docx = Path(self.temp_dir) / "original.docx" + _pack_document(self.original_path, self.original_docx) + + self.word_path = self.unpacked_path / "word" + + # Generate RSID if not provided + self.rsid = rsid if rsid else _generate_rsid() + print(f"Using RSID: {self.rsid}") + + # Set default author and initials + self.author = author + self.initials = initials + + # Cache for lazy-loaded editors + self._editors = {} + + # Comment file paths + self.comments_path = self.word_path / "comments.xml" + self.comments_extended_path = self.word_path / "commentsExtended.xml" + self.comments_ids_path = self.word_path / "commentsIds.xml" + self.comments_extensible_path = self.word_path / "commentsExtensible.xml" + + # Load existing comments and determine next ID (before setup modifies files) + self.existing_comments = self._load_existing_comments() + self.next_comment_id = self._get_next_comment_id() + + # Convenient access to document.xml editor (semi-private) + self._document = self["word/document.xml"] + + # Setup tracked changes infrastructure + self._setup_tracking(track_revisions=track_revisions) + + # Add author to people.xml + self._add_author_to_people(author) + + def __getitem__(self, xml_path: str) -> DocxXMLEditor: + """ + Get or create a DocxXMLEditor for the specified XML file. + + Enables lazy-loaded editors with bracket notation: + node = doc["word/document.xml"].get_node(tag="w:p", line_number=42) + + Args: + xml_path: Relative path to XML file (e.g., "word/document.xml", "word/comments.xml") + + Returns: + DocxXMLEditor instance for the specified file + + Raises: + ValueError: If the file does not exist + + Example: + # Get node from document.xml + node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"}) + + # Get node from comments.xml + comment = doc["word/comments.xml"].get_node(tag="w:comment", attrs={"w:id": "0"}) + """ + if xml_path not in self._editors: + file_path = self.unpacked_path / xml_path + if not file_path.exists(): + raise ValueError(f"XML file not found: {xml_path}") + # Use DocxXMLEditor with RSID, author, and initials for all editors + self._editors[xml_path] = DocxXMLEditor( + file_path, rsid=self.rsid, author=self.author, initials=self.initials + ) + return self._editors[xml_path] + + def add_comment(self, start, end, text: str) -> int: + """ + Add a comment spanning from one element to another. + + Args: + start: DOM element for the starting point + end: DOM element for the ending point + text: Comment content + + Returns: + The comment ID that was created + + Example: + start_node = cm.get_document_node(tag="w:del", id="1") + end_node = cm.get_document_node(tag="w:ins", id="2") + cm.add_comment(start=start_node, end=end_node, text="Explanation") + """ + comment_id = self.next_comment_id + para_id = _generate_hex_id() + durable_id = _generate_hex_id() + timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ") + + # Add comment ranges to document.xml immediately + self._document.insert_before(start, self._comment_range_start_xml(comment_id)) + + # If end node is a paragraph, append comment markup inside it + # Otherwise insert after it (for run-level anchors) + if end.tagName == "w:p": + self._document.append_to(end, self._comment_range_end_xml(comment_id)) + else: + self._document.insert_after(end, self._comment_range_end_xml(comment_id)) + + # Add to comments.xml immediately + self._add_to_comments_xml( + comment_id, para_id, text, self.author, self.initials, timestamp + ) + + # Add to commentsExtended.xml immediately + self._add_to_comments_extended_xml(para_id, parent_para_id=None) + + # Add to commentsIds.xml immediately + self._add_to_comments_ids_xml(para_id, durable_id) + + # Add to commentsExtensible.xml immediately + self._add_to_comments_extensible_xml(durable_id) + + # Update existing_comments so replies work + self.existing_comments[comment_id] = {"para_id": para_id} + + self.next_comment_id += 1 + return comment_id + + def reply_to_comment( + self, + parent_comment_id: int, + text: str, + ) -> int: + """ + Add a reply to an existing comment. + + Args: + parent_comment_id: The w:id of the parent comment to reply to + text: Reply text + + Returns: + The comment ID that was created for the reply + + Example: + cm.reply_to_comment(parent_comment_id=0, text="I agree with this change") + """ + if parent_comment_id not in self.existing_comments: + raise ValueError(f"Parent comment with id={parent_comment_id} not found") + + parent_info = self.existing_comments[parent_comment_id] + comment_id = self.next_comment_id + para_id = _generate_hex_id() + durable_id = _generate_hex_id() + timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ") + + # Add comment ranges to document.xml immediately + parent_start_elem = self._document.get_node( + tag="w:commentRangeStart", attrs={"w:id": str(parent_comment_id)} + ) + parent_ref_elem = self._document.get_node( + tag="w:commentReference", attrs={"w:id": str(parent_comment_id)} + ) + + self._document.insert_after( + parent_start_elem, self._comment_range_start_xml(comment_id) + ) + parent_ref_run = parent_ref_elem.parentNode + self._document.insert_after( + parent_ref_run, f'' + ) + self._document.insert_after( + parent_ref_run, self._comment_ref_run_xml(comment_id) + ) + + # Add to comments.xml immediately + self._add_to_comments_xml( + comment_id, para_id, text, self.author, self.initials, timestamp + ) + + # Add to commentsExtended.xml immediately (with parent) + self._add_to_comments_extended_xml( + para_id, parent_para_id=parent_info["para_id"] + ) + + # Add to commentsIds.xml immediately + self._add_to_comments_ids_xml(para_id, durable_id) + + # Add to commentsExtensible.xml immediately + self._add_to_comments_extensible_xml(durable_id) + + # Update existing_comments so replies work + self.existing_comments[comment_id] = {"para_id": para_id} + + self.next_comment_id += 1 + return comment_id + + def __del__(self): + """Clean up temporary directory on deletion.""" + if hasattr(self, "temp_dir") and Path(self.temp_dir).exists(): + shutil.rmtree(self.temp_dir) + + def validate(self) -> None: + """ + Validate the document (lightweight check). + + Currently performs basic structural checks. XSD schema validation and + redlining validation have been removed. Use save(validate=False) to + skip validation entirely. + """ + # Basic structural check: ensure word/document.xml exists + doc_xml = self.unpacked_path / "word" / "document.xml" + if not doc_xml.exists(): + raise ValueError("Validation failed: word/document.xml not found") + + def save(self, destination=None, validate=True) -> None: + """ + Save all modified XML files to disk and copy to destination directory. + + This persists all changes made via add_comment() and reply_to_comment(). + + Args: + destination: Optional path to save to. If None, saves back to original directory. + validate: If True, validates document before saving (default: True). + """ + # Only ensure comment relationships and content types if comment files exist + if self.comments_path.exists(): + self._ensure_comment_relationships() + self._ensure_comment_content_types() + + # Save all modified XML files in temp directory + for editor in self._editors.values(): + editor.save() + + # Validate by default + if validate: + self.validate() + + # Copy contents from temp directory to destination (or original directory) + target_path = Path(destination) if destination else self.original_path + shutil.copytree(self.unpacked_path, target_path, dirs_exist_ok=True) + + # ==================== Private: Initialization ==================== + + def _get_next_comment_id(self): + """Get the next available comment ID.""" + if not self.comments_path.exists(): + return 0 + + editor = self["word/comments.xml"] + max_id = -1 + for comment_elem in editor.dom.getElementsByTagName("w:comment"): + comment_id = comment_elem.getAttribute("w:id") + if comment_id: + try: + max_id = max(max_id, int(comment_id)) + except ValueError: + pass + return max_id + 1 + + def _load_existing_comments(self): + """Load existing comments from files to enable replies.""" + if not self.comments_path.exists(): + return {} + + editor = self["word/comments.xml"] + existing = {} + + for comment_elem in editor.dom.getElementsByTagName("w:comment"): + comment_id = comment_elem.getAttribute("w:id") + if not comment_id: + continue + + # Find para_id from the w:p element within the comment + para_id = None + for p_elem in comment_elem.getElementsByTagName("w:p"): + para_id = p_elem.getAttribute("w14:paraId") + if para_id: + break + + if not para_id: + continue + + existing[int(comment_id)] = {"para_id": para_id} + + return existing + + # ==================== Private: Setup Methods ==================== + + def _setup_tracking(self, track_revisions=False): + """Set up comment infrastructure in unpacked directory. + + Args: + track_revisions: If True, enables track revisions in settings.xml + """ + # Create or update word/people.xml + people_file = self.word_path / "people.xml" + self._update_people_xml(people_file) + + # Update XML files + self._add_content_type_for_people(self.unpacked_path / "[Content_Types].xml") + self._add_relationship_for_people( + self.word_path / "_rels" / "document.xml.rels" + ) + + # Always add RSID to settings.xml, optionally enable trackRevisions + self._update_settings( + self.word_path / "settings.xml", track_revisions=track_revisions + ) + + def _update_people_xml(self, path): + """Create people.xml if it doesn't exist.""" + if not path.exists(): + # Copy from template + shutil.copy(TEMPLATE_DIR / "people.xml", path) + + def _add_content_type_for_people(self, path): + """Add people.xml content type to [Content_Types].xml if not already present.""" + editor = self["[Content_Types].xml"] + + if self._has_override(editor, "/word/people.xml"): + return + + # Add Override element + root = editor.dom.documentElement + override_xml = '' + editor.append_to(root, override_xml) + + def _add_relationship_for_people(self, path): + """Add people.xml relationship to document.xml.rels if not already present.""" + editor = self["word/_rels/document.xml.rels"] + + if self._has_relationship(editor, "people.xml"): + return + + root = editor.dom.documentElement + root_tag = root.tagName # type: ignore + prefix = root_tag.split(":")[0] + ":" if ":" in root_tag else "" + next_rid = editor.get_next_rid() + + # Create the relationship entry + rel_xml = f'<{prefix}Relationship Id="{next_rid}" Type="http://schemas.microsoft.com/office/2011/relationships/people" Target="people.xml"/>' + editor.append_to(root, rel_xml) + + def _update_settings(self, path, track_revisions=False, update_fields=True): + """Add RSID and optionally enable track revisions and update fields in settings.xml. + + Args: + path: Path to settings.xml + track_revisions: If True, adds trackRevisions element + update_fields: If True, adds updateFields element to auto-update fields on open + + Places elements per OOXML schema order: + - trackRevisions: early (before defaultTabStop) + - updateFields: early (before defaultTabStop) + - rsids: late (after compat) + """ + editor = self["word/settings.xml"] + root = editor.get_node(tag="w:settings") + prefix = root.tagName.split(":")[0] if ":" in root.tagName else "w" + + # Conditionally add trackRevisions if requested + if track_revisions: + track_revisions_exists = any( + elem.tagName == f"{prefix}:trackRevisions" + for elem in editor.dom.getElementsByTagName(f"{prefix}:trackRevisions") + ) + + if not track_revisions_exists: + track_rev_xml = f"<{prefix}:trackRevisions/>" + # Try to insert before documentProtection, defaultTabStop, or at start + inserted = False + for tag in [f"{prefix}:documentProtection", f"{prefix}:defaultTabStop"]: + elements = editor.dom.getElementsByTagName(tag) + if elements: + editor.insert_before(elements[0], track_rev_xml) + inserted = True + break + if not inserted: + # Insert as first child of settings + if root.firstChild: + editor.insert_before(root.firstChild, track_rev_xml) + else: + editor.append_to(root, track_rev_xml) + + # Conditionally add updateFields if requested + if update_fields: + update_fields_exists = any( + elem.tagName == f"{prefix}:updateFields" + for elem in editor.dom.getElementsByTagName(f"{prefix}:updateFields") + ) + + if not update_fields_exists: + update_fields_xml = f'<{prefix}:updateFields {prefix}:val="true"/>' + # Try to insert before defaultTabStop, hyphenationZone, or at start + inserted = False + for tag in [f"{prefix}:defaultTabStop", f"{prefix}:hyphenationZone"]: + elements = editor.dom.getElementsByTagName(tag) + if elements: + editor.insert_before(elements[0], update_fields_xml) + inserted = True + break + if not inserted: + # Insert as first child of settings + if root.firstChild: + editor.insert_before(root.firstChild, update_fields_xml) + else: + editor.append_to(root, update_fields_xml) + + # Always check if rsids section exists + rsids_elements = editor.dom.getElementsByTagName(f"{prefix}:rsids") + + if not rsids_elements: + # Add new rsids section + rsids_xml = f'''<{prefix}:rsids> + <{prefix}:rsidRoot {prefix}:val="{self.rsid}"/> + <{prefix}:rsid {prefix}:val="{self.rsid}"/> +''' + + # Try to insert after compat, before clrSchemeMapping, or before closing tag + inserted = False + compat_elements = editor.dom.getElementsByTagName(f"{prefix}:compat") + if compat_elements: + editor.insert_after(compat_elements[0], rsids_xml) + inserted = True + + if not inserted: + clr_elements = editor.dom.getElementsByTagName( + f"{prefix}:clrSchemeMapping" + ) + if clr_elements: + editor.insert_before(clr_elements[0], rsids_xml) + inserted = True + + if not inserted: + editor.append_to(root, rsids_xml) + else: + # Check if this rsid already exists + rsids_elem = rsids_elements[0] + rsid_exists = any( + elem.getAttribute(f"{prefix}:val") == self.rsid + for elem in rsids_elem.getElementsByTagName(f"{prefix}:rsid") + ) + + if not rsid_exists: + rsid_xml = f'<{prefix}:rsid {prefix}:val="{self.rsid}"/>' + editor.append_to(rsids_elem, rsid_xml) + + # ==================== Private: XML File Creation ==================== + + def _add_to_comments_xml( + self, comment_id, para_id, text, author, initials, timestamp + ): + """Add a single comment to comments.xml.""" + if not self.comments_path.exists(): + shutil.copy(TEMPLATE_DIR / "comments.xml", self.comments_path) + + editor = self["word/comments.xml"] + root = editor.get_node(tag="w:comments") + + escaped_text = ( + text.replace("&", "&").replace("<", "<").replace(">", ">") + ) + # Note: w:rsidR, w:rsidRDefault, w:rsidP on w:p, w:rsidR on w:r, + # and w:author, w:date, w:initials on w:comment are automatically added by DocxXMLEditor + comment_xml = f''' + + + {escaped_text} + +''' + editor.append_to(root, comment_xml) + + def _add_to_comments_extended_xml(self, para_id, parent_para_id): + """Add a single comment to commentsExtended.xml.""" + if not self.comments_extended_path.exists(): + shutil.copy( + TEMPLATE_DIR / "commentsExtended.xml", self.comments_extended_path + ) + + editor = self["word/commentsExtended.xml"] + root = editor.get_node(tag="w15:commentsEx") + + if parent_para_id: + xml = f'' + else: + xml = f'' + editor.append_to(root, xml) + + def _add_to_comments_ids_xml(self, para_id, durable_id): + """Add a single comment to commentsIds.xml.""" + if not self.comments_ids_path.exists(): + shutil.copy(TEMPLATE_DIR / "commentsIds.xml", self.comments_ids_path) + + editor = self["word/commentsIds.xml"] + root = editor.get_node(tag="w16cid:commentsIds") + + xml = f'' + editor.append_to(root, xml) + + def _add_to_comments_extensible_xml(self, durable_id): + """Add a single comment to commentsExtensible.xml.""" + if not self.comments_extensible_path.exists(): + shutil.copy( + TEMPLATE_DIR / "commentsExtensible.xml", self.comments_extensible_path + ) + + editor = self["word/commentsExtensible.xml"] + root = editor.get_node(tag="w16cex:commentsExtensible") + + xml = f'' + editor.append_to(root, xml) + + # ==================== Private: XML Fragments ==================== + + def _comment_range_start_xml(self, comment_id): + """Generate XML for comment range start.""" + return f'' + + def _comment_range_end_xml(self, comment_id): + """Generate XML for comment range end with reference run. + + Note: w:rsidR is automatically added by DocxXMLEditor. + """ + return f''' + + + +''' + + def _comment_ref_run_xml(self, comment_id): + """Generate XML for comment reference run. + + Note: w:rsidR is automatically added by DocxXMLEditor. + """ + return f''' + + +''' + + # ==================== Private: Metadata Updates ==================== + + def _has_relationship(self, editor, target): + """Check if a relationship with given target exists.""" + for rel_elem in editor.dom.getElementsByTagName("Relationship"): + if rel_elem.getAttribute("Target") == target: + return True + return False + + def _has_override(self, editor, part_name): + """Check if an override with given part name exists.""" + for override_elem in editor.dom.getElementsByTagName("Override"): + if override_elem.getAttribute("PartName") == part_name: + return True + return False + + def _has_author(self, editor, author): + """Check if an author already exists in people.xml.""" + for person_elem in editor.dom.getElementsByTagName("w15:person"): + if person_elem.getAttribute("w15:author") == author: + return True + return False + + def _add_author_to_people(self, author): + """Add author to people.xml (called during initialization).""" + people_path = self.word_path / "people.xml" + + # people.xml should already exist from _setup_tracking + if not people_path.exists(): + raise ValueError("people.xml should exist after _setup_tracking") + + editor = self["word/people.xml"] + root = editor.get_node(tag="w15:people") + + # Check if author already exists + if self._has_author(editor, author): + return + + # Add author with proper XML escaping to prevent injection + escaped_author = html.escape(author, quote=True) + person_xml = f''' + +''' + editor.append_to(root, person_xml) + + def _ensure_comment_relationships(self): + """Ensure word/_rels/document.xml.rels has comment relationships.""" + editor = self["word/_rels/document.xml.rels"] + + if self._has_relationship(editor, "comments.xml"): + return + + root = editor.dom.documentElement + root_tag = root.tagName # type: ignore + prefix = root_tag.split(":")[0] + ":" if ":" in root_tag else "" + next_rid_num = int(editor.get_next_rid()[3:]) + + # Add relationship elements + rels = [ + ( + next_rid_num, + "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", + "comments.xml", + ), + ( + next_rid_num + 1, + "http://schemas.microsoft.com/office/2011/relationships/commentsExtended", + "commentsExtended.xml", + ), + ( + next_rid_num + 2, + "http://schemas.microsoft.com/office/2016/09/relationships/commentsIds", + "commentsIds.xml", + ), + ( + next_rid_num + 3, + "http://schemas.microsoft.com/office/2018/08/relationships/commentsExtensible", + "commentsExtensible.xml", + ), + ] + + for rel_id, rel_type, target in rels: + rel_xml = f'<{prefix}Relationship Id="rId{rel_id}" Type="{rel_type}" Target="{target}"/>' + editor.append_to(root, rel_xml) + + def _ensure_comment_content_types(self): + """Ensure [Content_Types].xml has comment content types.""" + editor = self["[Content_Types].xml"] + + if self._has_override(editor, "/word/comments.xml"): + return + + root = editor.dom.documentElement + + # Add Override elements + overrides = [ + ( + "/word/comments.xml", + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + ), + ( + "/word/commentsExtended.xml", + "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml", + ), + ( + "/word/commentsIds.xml", + "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsIds+xml", + ), + ( + "/word/commentsExtensible.xml", + "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtensible+xml", + ), + ] + + for part_name, content_type in overrides: + override_xml = ( + f'' + ) + editor.append_to(root, override_xml) diff --git a/skills/docx/scripts/postcheck.py b/skills/docx/scripts/postcheck.py new file mode 100755 index 0000000..9f4ab88 --- /dev/null +++ b/skills/docx/scripts/postcheck.py @@ -0,0 +1,807 @@ +#!/usr/bin/env python3 +""" +postcheck.py — Document business rule self-check script + +Unlike traditional OpenXML Schema validation, this script does not check XML legality. +Instead, it checks document "visual quality" and "typesetting correctness" — issues visible to the human eye. + +Usage: + python3 postcheck.py output.docx [--fix] [--json] + +Checks: + 1. Blank page detection — trailing/middle excess blank pages, double page breaks, consecutive empty paragraphs + 2. Line spacing consistency — whether body paragraph line spacing is uniform + 3. Table margins — whether cells have padding set + 4. Table pagination control — whether header rows have tblHeader set, data rows have cantSplit + 5. Image overflow — whether image width exceeds page usable area + 6. Font fallback — whether fonts are used that may be missing on target systems + 7. CJK indentation — whether Chinese body text has first-line indent (excluding table cells, lists, centered paragraphs) + 8. Heading level continuity — whether headings skip levels (H1→H3 skipping H2) + 9. Numbering continuity — whether numbered lists have gaps + 10. Cover separation — whether cover and body are in different sections + 11. ShadingType — whether SOLID is misused causing black cells + 12. TOC quality — whether TOC field exists, whether headings use standard Heading styles + 13. Image aspect ratio — whether images are stretched/distorted + 14. Document cleanliness — whether placeholder text, Markdown syntax, or draft expressions remain + 15. Report content quality — whether summary exists, whether titles are specific, whether vague conclusions are used +""" + +import zipfile +import sys +import json +import re +from pathlib import Path +from xml.etree import ElementTree as ET + +NS = { + "w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main", + "r": "http://schemas.openxmlformats.org/officeDocument/2006/relationships", + "wp": "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing", + "a": "http://schemas.openxmlformats.org/drawingml/2006/main", + "pic": "http://schemas.openxmlformats.org/drawingml/2006/picture", +} + + +class CheckResult: + def __init__(self, name: str, passed: bool, message: str, severity: str = "warning"): + self.name = name + self.passed = passed + self.message = message + self.severity = severity # "error" | "warning" | "info" + + def to_dict(self): + return { + "name": self.name, + "passed": self.passed, + "message": self.message, + "severity": self.severity, + } + + def __str__(self): + icon = "✅" if self.passed else ("❌" if self.severity == "error" else "⚠️") + return f"{icon} [{self.name}] {self.message}" + + +def read_document_xml(docx_path: str) -> ET.Element: + """Read document.xml and return the root element""" + with zipfile.ZipFile(docx_path, "r") as z: + return ET.fromstring(z.read("word/document.xml")) + + +def get_sections(root: ET.Element) -> list: + """Extract all sections (located via sectPr)""" + body = root.find(".//w:body", NS) + if body is None: + return [] + + sections = [] + current_children = [] + + for child in body: + tag = child.tag.split("}")[-1] if "}" in child.tag else child.tag + if tag == "sectPr": + sections.append({"children": current_children, "sectPr": child}) + current_children = [] + else: + # Check whether paragraph contains sectPr (section break inside paragraph pPr) + ppr_sect = child.find(".//w:pPr/w:sectPr", NS) + if ppr_sect is not None: + current_children.append(child) + sections.append({"children": current_children, "sectPr": ppr_sect}) + current_children = [] + else: + current_children.append(child) + + # Last section (body-level sectPr) + body_sect = body.find("w:sectPr", NS) + if body_sect is not None and current_children: + sections.append({"children": current_children, "sectPr": body_sect}) + + return sections + + +def check_blank_pages(root: ET.Element) -> CheckResult: + """Detect excess blank pages — multi-pattern detection""" + body = root.find(".//w:body", NS) + paragraphs = body.findall("w:p", NS) + issues = [] + + if not paragraphs: + return CheckResult("blank-pages", True, "No paragraph content") + + # Check 1: Whether the last paragraph only has a page break + last_p = paragraphs[-1] + runs = last_p.findall(".//w:r", NS) + has_page_break = False + has_text = False + for run in runs: + br = run.find("w:br", NS) + if br is not None and br.get(f"{{{NS['w']}}}type") == "page": + has_page_break = True + t = run.find("w:t", NS) + if t is not None and t.text and t.text.strip(): + has_text = True + if has_page_break and not has_text: + issues.append("Trailing page break at document end may cause blank page") + + # Check 2: Consecutive empty paragraphs (≥5 consecutive may form visual blank page) + consecutive_empty = 0 + max_empty = 0 + max_empty_pos = 0 + for idx, p in enumerate(paragraphs): + texts = p.findall(".//w:t", NS) + has_any_text = any(t.text and t.text.strip() for t in texts) + has_br = any( + br.get(f"{{{NS['w']}}}type") == "page" + for br in p.findall(".//w:br", NS) + ) + has_drawing = p.find(".//{http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing}inline", None) is not None + if not has_any_text and not has_br and not has_drawing: + consecutive_empty += 1 + if consecutive_empty > max_empty: + max_empty = consecutive_empty + max_empty_pos = idx + else: + consecutive_empty = 0 + + if max_empty >= 5: + issues.append(f"Found {max_empty} consecutive empty paragraphs (starting around paragraph {max_empty_pos - max_empty + 2}), may form visual blank page") + + # Check 3: Double page break at section boundary (PageBreak at section end + NEXT_PAGE in next section) + sections = get_sections(root) + for i in range(len(sections) - 1): + sec_children = sections[i]["children"] + if not sec_children: + continue + # Check whether the last paragraph of the section contains PageBreak + last_child = sec_children[-1] + if last_child.tag == f"{{{NS['w']}}}p": + for br in last_child.findall(".//w:br", NS): + if br.get(f"{{{NS['w']}}}type") == "page": + # Check whether the next section is NEXT_PAGE + next_sect_pr = sections[i + 1]["sectPr"] + sect_type = next_sect_pr.find("w:type", NS) + if sect_type is not None and sect_type.get(f"{{{NS['w']}}}val") == "nextPage": + issues.append(f"Section {i+1} ends with PageBreak and Section {i+2} is type nextPage, double page break causes blank page") + + # Check 4: Empty paragraph + PageBreak (paragraph has only PageBreak, no text) + # Exclude section-ending PageBreaks — they are normal section separators + # (e.g., cover page ending with an empty para + PageBreak before a new section) + section_last_paras = set() + for sec in sections: + children = sec["children"] + if children: + last_child = children[-1] + section_last_paras.add(id(last_child)) + + empty_pb_count = 0 + for p in paragraphs[:-1]: # Last paragraph already handled in Check 1 + if id(p) in section_last_paras: + continue # Skip section-ending paragraphs (normal section breaks) + runs = p.findall(".//w:r", NS) + p_has_break = False + p_has_text = False + for run in runs: + br = run.find("w:br", NS) + if br is not None and br.get(f"{{{NS['w']}}}type") == "page": + p_has_break = True + t = run.find("w:t", NS) + if t is not None and t.text and t.text.strip(): + p_has_text = True + if p_has_break and not p_has_text: + empty_pb_count += 1 + + if empty_pb_count > 0: + issues.append(f"Found {empty_pb_count} empty paragraphs with PageBreak (suggest attaching PageBreak to content paragraphs)") + + # Separate hard errors from soft warnings + hard_issues = [i for i in issues if "double page break" in i.lower() or "trailing page break" in i.lower() or "consecutive" in i.lower()] + soft_issues = [i for i in issues if i not in hard_issues] + + if hard_issues: + return CheckResult( + "blank-pages", False, + "; ".join(hard_issues[:3]), + "error" + ) + if soft_issues: + return CheckResult( + "blank-pages", False, + "; ".join(soft_issues[:3]), + "warning" + ) + + return CheckResult("blank-pages", True, "No blank page issues detected") + + +def check_line_spacing(root: ET.Element) -> CheckResult: + """Check body paragraph line spacing consistency""" + body = root.find(".//w:body", NS) + paragraphs = body.findall(".//w:p", NS) + + spacing_values = {} + body_para_count = 0 + + for p in paragraphs: + ppr = p.find("w:pPr", NS) + # Skip heading paragraphs + if ppr is not None: + style = ppr.find("w:pStyle", NS) + if style is not None: + val = style.get(f"{{{NS['w']}}}val", "") + if val.startswith("Heading") or val == "Title": + continue + + spacing = ppr.find("w:spacing", NS) if ppr is not None else None + line_val = spacing.get(f"{{{NS['w']}}}line") if spacing is not None else None + + # Only count paragraphs with text content + texts = p.findall(".//w:t", NS) + if not any(t.text and t.text.strip() for t in texts): + continue + + body_para_count += 1 + key = line_val or "default" + spacing_values[key] = spacing_values.get(key, 0) + 1 + + if body_para_count == 0: + return CheckResult("line-spacing", True, "No body paragraphs") + + if len(spacing_values) <= 1: + dominant = list(spacing_values.keys())[0] if spacing_values else "default" + return CheckResult("line-spacing", True, f"Line spacing uniform (line={dominant})") + + # Find the most common line spacing + dominant = max(spacing_values, key=spacing_values.get) + inconsistent = sum(v for k, v in spacing_values.items() if k != dominant) + total = sum(spacing_values.values()) + + if inconsistent / total > 0.2: + return CheckResult( + "line-spacing", False, + f"Line spacing inconsistent: {dict(spacing_values)}, {inconsistent}/{total} paragraphs differ from dominant spacing {dominant}", + "warning" + ) + + return CheckResult("line-spacing", True, f"Line spacing mostly uniform (line={dominant}, {inconsistent} exceptions)") + + + +def check_image_overflow(root: ET.Element) -> CheckResult: + """Check whether image width may exceed page bounds""" + # Get page width + sect_pr = root.find(".//w:body/w:sectPr", NS) + page_width = 11906 # A4 default + margin_left = 1701 + margin_right = 1417 + + if sect_pr is not None: + pg_sz = sect_pr.find("w:pgSz", NS) + pg_mar = sect_pr.find("w:pgMar", NS) + if pg_sz is not None: + page_width = int(pg_sz.get(f"{{{NS['w']}}}w", "11906")) + if pg_mar is not None: + margin_left = int(pg_mar.get(f"{{{NS['w']}}}left", "1701")) + margin_right = int(pg_mar.get(f"{{{NS['w']}}}right", "1417")) + + usable_width_emu = (page_width - margin_left - margin_right) * 635 # twips → EMU + + drawings = root.findall(".//wp:inline", NS) + root.findall(".//wp:anchor", NS) + oversized = 0 + + for dwg in drawings: + extent = dwg.find("wp:extent", NS) + if extent is not None: + cx = int(extent.get("cx", "0")) + if cx > usable_width_emu * 1.05: # 5% tolerance + oversized += 1 + + if oversized > 0: + return CheckResult( + "image-overflow", False, + f"{oversized} images exceed page usable area", + "error" + ) + + return CheckResult( + "image-overflow", True, + f"All images within page width ({len(drawings)} images)" + ) + + +def check_image_aspect_ratio(docx_path: str, root: ET.Element) -> CheckResult: + """Check whether images are stretched/distorted (aspect ratio drift). + + Compares the original aspect ratio of embedded images with the display aspect ratio set in wp:extent. + Drift >10% is considered distortion (pie charts becoming elliptical, radar charts becoming diamond-shaped, etc). + """ + import zipfile as _zf + + # Build a mapping: rId → image file path inside the zip + # We need to parse word/_rels/document.xml.rels + rid_to_path = {} + try: + with _zf.ZipFile(docx_path, 'r') as z: + rels_path = 'word/_rels/document.xml.rels' + if rels_path in z.namelist(): + rels_xml = z.read(rels_path) + rels_root = ET.fromstring(rels_xml) + rels_ns = 'http://schemas.openxmlformats.org/package/2006/relationships' + for rel in rels_root.findall(f'{{{rels_ns}}}Relationship'): + rid = rel.get('Id', '') + target = rel.get('Target', '') + rel_type = rel.get('Type', '') + if 'image' in rel_type: + # Target is relative to word/ directory + if not target.startswith('/'): + img_path = 'word/' + target + else: + img_path = target.lstrip('/') + rid_to_path[rid] = img_path + + # Now check each drawing + drawings = root.findall(".//wp:inline", NS) + root.findall(".//wp:anchor", NS) + distorted = [] + + for dwg in drawings: + extent = dwg.find("wp:extent", NS) + if extent is None: + continue + display_cx = int(extent.get("cx", "0")) + display_cy = int(extent.get("cy", "0")) + if display_cx == 0 or display_cy == 0: + continue + + # Find the blip rId + blip = dwg.find(".//a:blip", NS) + if blip is None: + continue + r_embed = blip.get(f"{{{NS['r']}}}embed", "") + if not r_embed or r_embed not in rid_to_path: + continue + + img_zip_path = rid_to_path[r_embed] + if img_zip_path not in z.namelist(): + continue + + # Read actual image dimensions + try: + img_data = z.read(img_zip_path) + from PIL import Image as _PILImage + import io as _io + pil_img = _PILImage.open(_io.BytesIO(img_data)) + orig_w, orig_h = pil_img.size + if orig_w == 0 or orig_h == 0: + continue + except Exception: + continue + + # Compare aspect ratios + orig_ratio = orig_w / orig_h + display_ratio = display_cx / display_cy + drift = abs(orig_ratio - display_ratio) / orig_ratio + + if drift > 0.10: # >10% distortion + pct = drift * 100 + distorted.append( + f"{img_zip_path.split('/')[-1]}: " + f"original {orig_w}×{orig_h} (ratio={orig_ratio:.2f}), " + f"display ratio={display_ratio:.2f}, distortion {pct:.0f}%" + ) + + except Exception: + return CheckResult( + "image-aspect-ratio", True, + "Cannot check image aspect ratio (zip read error)", + "info" + ) + + if distorted: + detail = "; ".join(distorted[:3]) + if len(distorted) > 3: + detail += f" ...and {len(distorted)} more" + return CheckResult( + "image-aspect-ratio", False, + f"{len(distorted)} images have aspect ratio distortion: {detail}", + "warning" + ) + + img_count = len(drawings) + return CheckResult( + "image-aspect-ratio", True, + f"All images have correct aspect ratio ({img_count} images)" + ) + + +def check_font_fallback(root: ET.Element) -> CheckResult: + """Check whether potentially missing fonts are used""" + SAFE_FONTS = { + # Chinese + "宋体", "SimSun", "黑体", "SimHei", "微软雅黑", "Microsoft YaHei", + "仿宋", "FangSong", "FangSong_GB2312", "楷体", "KaiTi", + # English + "Times New Roman", "Arial", "Calibri", "Helvetica", + "Courier New", "Georgia", "Verdana", "Tahoma", + # Universal + "Symbol", "Wingdings", + } + + fonts_used = set() + for rpr in root.findall(".//w:rPr", NS): + for font_tag in ["w:rFonts"]: + rf = rpr.find(font_tag, NS) + if rf is not None: + for attr in ["ascii", "eastAsia", "hAnsi", "cs"]: + f = rf.get(f"{{{NS['w']}}}{attr}") + if f: + fonts_used.add(f) + + risky = fonts_used - SAFE_FONTS + if risky: + return CheckResult( + "font-fallback", False, + f"Following fonts may be missing on target system: {', '.join(sorted(risky))}", + "info" + ) + + return CheckResult("font-fallback", True, f"All fonts are common system fonts ({len(fonts_used)} types)") + + + +def check_heading_levels(root: ET.Element) -> CheckResult: + """Check whether headings skip levels""" + body = root.find(".//w:body", NS) + heading_levels = [] + + for p in body.findall(".//w:p", NS): + ppr = p.find("w:pPr", NS) + if ppr is None: + continue + style = ppr.find("w:pStyle", NS) + if style is None: + continue + val = style.get(f"{{{NS['w']}}}val", "") + m = re.match(r"Heading(\d+)", val) + if m: + heading_levels.append(int(m.group(1))) + + if len(heading_levels) < 2: + return CheckResult("heading-levels", True, "Too few headings, skipping check") + + skips = [] + for i in range(1, len(heading_levels)): + diff = heading_levels[i] - heading_levels[i - 1] + if diff > 1: + skips.append(f"H{heading_levels[i-1]}→H{heading_levels[i]}") + + if skips: + return CheckResult( + "heading-levels", False, + f"Heading level skip: {', '.join(skips[:5])}", + "warning" + ) + + return CheckResult("heading-levels", True, f"Heading levels continuous ({len(heading_levels)} headings)") + + +# check_cover_separation removed — false positives on complex covers (>15 elements is normal) + + +def check_shading_type(root: ET.Element) -> CheckResult: + """Check whether ShadingType.SOLID is misused""" + shadings = root.findall(".//w:shd", NS) + solid_count = 0 + + for shd in shadings: + val = shd.get(f"{{{NS['w']}}}val", "") + if val == "solid": + solid_count += 1 + + if solid_count > 0: + return CheckResult( + "shading-type", False, + f"Found {solid_count} instances of ShadingType.SOLID (should be CLEAR), may cause black cells", + "error" + ) + + return CheckResult("shading-type", True, "No ShadingType.SOLID misuse found") + + + +def check_toc(root: ET.Element, docx_path: str = "") -> CheckResult: + """Check TOC quality: field existence, headings presence, outlineLvl, updateFields.""" + body = root.find(".//w:body", NS) + if body is None: + return CheckResult("toc", True, "Document body is empty, skipping TOC check", "info") + + paragraphs = list(body) + w_ns = NS["w"] + + # --- Detect headings and their levels --- + heading_count = 0 + heading_levels_used = set() # e.g. {1, 2, 3} + for p in paragraphs: + if p.tag != f"{{{w_ns}}}p": + continue + ppr = p.find(f"{{{w_ns}}}pPr") + if ppr is None: + continue + ps = ppr.find(f"{{{w_ns}}}pStyle") + if ps is None: + continue + val = ps.get(f"{{{w_ns}}}val", "") + m = re.match(r"(?i)heading\s*(\d)", val) + if m: + heading_count += 1 + heading_levels_used.add(int(m.group(1))) + + # --- Detect TOC field --- + has_toc = False + for instr in root.findall(f".//{{{w_ns}}}instrText"): + if instr.text and "TOC" in instr.text.upper(): + has_toc = True + break + if not has_toc: + for fld in root.findall(f".//{{{w_ns}}}fldSimple"): + if "TOC" in fld.get(f"{{{w_ns}}}instr", "").upper(): + has_toc = True + break + # Also check SDT-wrapped TOC + if not has_toc: + for sdt in root.findall(f".//{{{w_ns}}}sdt"): + for instr in sdt.findall(f".//{{{w_ns}}}instrText"): + if instr.text and "TOC" in instr.text.upper(): + has_toc = True + break + if has_toc: + break + + issues = [] + + # Check 1: Document has a "目录" / "目 录" / "Table of Contents" title but no TOC field + has_toc_title = False + toc_title_pattern = re.compile(r'^(?:目\s*录|table\s+of\s+contents|contents)$', re.IGNORECASE) + for p in paragraphs: + if p.tag != f"{{{w_ns}}}p": + continue + texts = p.findall(f".//{{{w_ns}}}t") + p_text = "".join(t.text or "" for t in texts).strip() + if toc_title_pattern.match(p_text): + has_toc_title = True + break + + if has_toc_title and not has_toc: + issues.append("TOC_FIELD_MISSING: document has a TOC title but no TOC field element — add TableOfContents in code") + + # Check 2: TOC field exists but no headings in document → TOC will be empty after update + if has_toc and heading_count == 0: + issues.append("TOC_NO_HEADINGS: TOC field exists but document has 0 Heading-styled paragraphs — TOC will be empty after update") + + # Check 3 & 4: Read styles.xml and settings.xml from DOCX (only when TOC exists) + if has_toc and docx_path: + try: + import zipfile + with zipfile.ZipFile(docx_path, 'r') as zf: + # Check 3: outlineLvl missing in Heading styles + if 'word/styles.xml' in zf.namelist(): + styles_content = zf.read('word/styles.xml').decode('utf-8') + styles_root = ET.fromstring(styles_content) + + missing_outline = [] + for level in sorted(heading_levels_used): + style_id = f"Heading{level}" + # Find + for style_elem in styles_root.findall(f".//{{{w_ns}}}style"): + sid = style_elem.get(f"{{{w_ns}}}styleId", "") + if sid == style_id: + # Check if pPr has outlineLvl + ppr = style_elem.find(f"{{{w_ns}}}pPr") + has_outline = False + if ppr is not None: + ol = ppr.find(f"{{{w_ns}}}outlineLvl") + if ol is not None: + has_outline = True + if not has_outline: + missing_outline.append(style_id) + break + + if missing_outline: + issues.append( + "TOC_OUTLINE_MISSING: %s style(s) missing outlineLvl — " + "Word TOC update won't find these headings. " + "Run add_toc_placeholders.py to fix" % ", ".join(missing_outline) + ) + + # Check 4: updateFields not set to true + if 'word/settings.xml' in zf.namelist(): + settings_content = zf.read('word/settings.xml').decode('utf-8') + # Check for + update_ok = bool(re.search( + r']*w:val\s*=\s*"true"', + settings_content + )) + if not update_ok: + issues.append( + "TOC_UPDATE_DISABLED: settings.xml missing updateFields=true — " + "Word won't prompt to update TOC on open. " + "Run add_toc_placeholders.py to fix" + ) + except Exception as e: + issues.append(f"TOC_CHECK_ERROR: failed to read styles/settings from DOCX: {e}") + + if not issues: + if has_toc: + return CheckResult("toc", True, "TOC field present and update-ready") + else: + return CheckResult("toc", True, "No TOC needed") + + severity = "error" if any(k in i for i in issues for k in ("FIELD_MISSING", "NO_HEADINGS", "OUTLINE_MISSING")) else "warning" + return CheckResult("toc", False, "; ".join(issues[:5]), severity) + + + + +def check_cover_overflow(root: ET.Element) -> CheckResult: + """Detect cover section issues: oversized fonts, excessive spacing, trailing empty content.""" + sections = get_sections(root) + if not sections: + return CheckResult("cover-overflow", True, "No sections found") + + sec0 = sections[0] + sect_pr = sec0["sectPr"] + + # Get page dimensions and margins for accurate available height calculation + pg_sz = sect_pr.find("w:pgSz", NS) + pg_mar = sect_pr.find("w:pgMar", NS) + page_height = int(pg_sz.get(f"{{{NS['w']}}}h", "16838")) if pg_sz is not None else 16838 + margin_top = int(pg_mar.get(f"{{{NS['w']}}}top", "0")) if pg_mar is not None else 0 + margin_bottom = int(pg_mar.get(f"{{{NS['w']}}}bottom", "0")) if pg_mar is not None else 0 + + issues = [] + children = sec0["children"] + + # Check 1: Oversized font in cover section (> 44pt = 88 half-points = 889000 EMU) + max_font_size = 0 + for child in children: + for sz in child.findall(".//" + f"{{{NS['w']}}}sz"): + val = sz.get(f"{{{NS['w']}}}val") + if val and val.isdigit(): + size_hp = int(val) + if size_hp > max_font_size: + max_font_size = size_hp + + if max_font_size > 88: # 88 half-points = 44pt + issues.append( + f"Cover has font size {max_font_size // 2}pt (>{44}pt max). " + f"Use calcTitleLayout() for dynamic sizing" + ) + + # Check 2: Excessive spacing.before in cover section (> 5000 twips) + max_spacing = 0 + for child in children: + for sp in child.findall(".//" + f"{{{NS['w']}}}spacing"): + before = sp.get(f"{{{NS['w']}}}before") + if before and before.isdigit(): + val = int(before) + if val > max_spacing: + max_spacing = val + + if max_spacing > 5000: + issues.append( + f"Cover has spacing.before={max_spacing} twips (>5000 max). " + f"Use calcCoverSpacing() for dynamic spacing" + ) + + # Check 3: Trailing empty paragraphs in cover section + trailing_empty = 0 + for child in reversed(children): + tag = child.tag.split("}")[-1] if "}" in child.tag else child.tag + if tag != "p": + break + texts = child.findall(".//" + f"{{{NS['w']}}}t") + has_text = any(t.text and t.text.strip() for t in texts) + if not has_text: + trailing_empty += 1 + else: + break + + if trailing_empty > 2: + issues.append( + f"Cover section ends with {trailing_empty} empty paragraphs (max 2 allowed) — " + f"excessive empty paragraphs may cause blank page after cover" + ) + + if issues: + return CheckResult( + "cover-overflow", False, + "; ".join(issues), + "error" + ) + + return CheckResult("cover-overflow", True, "Cover section layout looks OK") + + +def run_all_checks(docx_path: str) -> list[CheckResult]: + """Run all checks""" + root = read_document_xml(docx_path) + + checks = [ + check_blank_pages, + check_cover_overflow, + check_line_spacing, + check_image_overflow, + check_font_fallback, + check_heading_levels, + check_shading_type, + ] + + results = [] + for check_fn in checks: + try: + results.append(check_fn(root)) + except Exception as e: + results.append(CheckResult( + check_fn.__name__.replace("check_", ""), + False, + f"Check error: {e}", + "error" + )) + + # TOC check needs both root and docx_path + try: + results.append(check_toc(root, docx_path)) + except Exception as e: + results.append(CheckResult("toc", False, f"Check error: {e}", "error")) + + # Image aspect ratio check needs both root and docx_path + try: + results.append(check_image_aspect_ratio(docx_path, root)) + except Exception as e: + results.append(CheckResult("image-aspect-ratio", False, f"Check error: {e}", "error")) + + return results + + +def main(): + import argparse + parser = argparse.ArgumentParser(description="docx business rule self-check") + parser.add_argument("docx_path", help="Path to the .docx file to check") + parser.add_argument("--json", action="store_true", help="Output in JSON format") + parser.add_argument("--strict", action="store_true", help="Treat warnings as failures") + args = parser.parse_args() + + if not Path(args.docx_path).exists(): + print(f"❌ File not found: {args.docx_path}") + sys.exit(1) + + results = run_all_checks(args.docx_path) + + if args.json: + print(json.dumps([r.to_dict() for r in results], ensure_ascii=False, indent=2)) + else: + print(f"\n📋 Document self-check report: {args.docx_path}\n") + for r in results: + print(f" {r}") + + passed = sum(1 for r in results if r.passed) + total = len(results) + errors = sum(1 for r in results if not r.passed and r.severity == "error") + warnings = sum(1 for r in results if not r.passed and r.severity == "warning") + + print(f"\n {'─' * 50}") + print(f" Passed {passed}/{total} | ❌ {errors} errors | ⚠️ {warnings} warnings\n") + + # Exit code + has_errors = any(not r.passed and r.severity == "error" for r in results) + has_warnings = any(not r.passed and r.severity == "warning" for r in results) + + if has_errors: + sys.exit(2) + elif args.strict and has_warnings: + sys.exit(1) + else: + sys.exit(0) + + +if __name__ == "__main__": + main() diff --git a/skills/docx/scripts/templates/comments.xml b/skills/docx/scripts/templates/comments.xml new file mode 100755 index 0000000..b5dace0 --- /dev/null +++ b/skills/docx/scripts/templates/comments.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/skills/docx/scripts/templates/commentsExtended.xml b/skills/docx/scripts/templates/commentsExtended.xml new file mode 100755 index 0000000..b4cf23e --- /dev/null +++ b/skills/docx/scripts/templates/commentsExtended.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/skills/docx/scripts/templates/commentsExtensible.xml b/skills/docx/scripts/templates/commentsExtensible.xml new file mode 100755 index 0000000..e32a05e --- /dev/null +++ b/skills/docx/scripts/templates/commentsExtensible.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/skills/docx/scripts/templates/commentsIds.xml b/skills/docx/scripts/templates/commentsIds.xml new file mode 100755 index 0000000..d04bc8e --- /dev/null +++ b/skills/docx/scripts/templates/commentsIds.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/skills/docx/scripts/templates/people.xml b/skills/docx/scripts/templates/people.xml new file mode 100755 index 0000000..a839caf --- /dev/null +++ b/skills/docx/scripts/templates/people.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/skills/docx/scripts/utilities.py b/skills/docx/scripts/utilities.py new file mode 100755 index 0000000..d92dae6 --- /dev/null +++ b/skills/docx/scripts/utilities.py @@ -0,0 +1,374 @@ +#!/usr/bin/env python3 +""" +Utilities for editing OOXML documents. + +This module provides XMLEditor, a tool for manipulating XML files with support for +line-number-based node finding and DOM manipulation. Each element is automatically +annotated with its original line and column position during parsing. + +Example usage: + editor = XMLEditor("document.xml") + + # Find node by line number or range + elem = editor.get_node(tag="w:r", line_number=519) + elem = editor.get_node(tag="w:p", line_number=range(100, 200)) + + # Find node by text content + elem = editor.get_node(tag="w:p", contains="specific text") + + # Find node by attributes + elem = editor.get_node(tag="w:r", attrs={"w:id": "target"}) + + # Combine filters + elem = editor.get_node(tag="w:p", line_number=range(1, 50), contains="text") + + # Replace, insert, or manipulate + new_elem = editor.replace_node(elem, "new text") + editor.insert_after(new_elem, "more") + + # Save changes + editor.save() +""" + +import html +from pathlib import Path +from typing import Optional, Union + +import defusedxml.minidom +import defusedxml.sax + + +class XMLEditor: + """ + Editor for manipulating OOXML XML files with line-number-based node finding. + + This class parses XML files and tracks the original line and column position + of each element. This enables finding nodes by their line number in the original + file, which is useful when working with Read tool output. + + Attributes: + xml_path: Path to the XML file being edited + encoding: Detected encoding of the XML file ('ascii' or 'utf-8') + dom: Parsed DOM tree with parse_position attributes on elements + """ + + def __init__(self, xml_path): + """ + Initialize with path to XML file and parse with line number tracking. + + Args: + xml_path: Path to XML file to edit (str or Path) + + Raises: + ValueError: If the XML file does not exist + """ + self.xml_path = Path(xml_path) + if not self.xml_path.exists(): + raise ValueError(f"XML file not found: {xml_path}") + + with open(self.xml_path, "rb") as f: + header = f.read(200).decode("utf-8", errors="ignore") + self.encoding = "ascii" if 'encoding="ascii"' in header else "utf-8" + + parser = _create_line_tracking_parser() + self.dom = defusedxml.minidom.parse(str(self.xml_path), parser) + + def get_node( + self, + tag: str, + attrs: Optional[dict[str, str]] = None, + line_number: Optional[Union[int, range]] = None, + contains: Optional[str] = None, + ): + """ + Get a DOM element by tag and identifier. + + Finds an element by either its line number in the original file or by + matching attribute values. Exactly one match must be found. + + Args: + tag: The XML tag name (e.g., "w:del", "w:ins", "w:r") + attrs: Dictionary of attribute name-value pairs to match (e.g., {"w:id": "1"}) + line_number: Line number (int) or line range (range) in original XML file (1-indexed) + contains: Text string that must appear in any text node within the element. + Supports both entity notation (“) and Unicode characters (\u201c). + + Returns: + defusedxml.minidom.Element: The matching DOM element + + Raises: + ValueError: If node not found or multiple matches found + + Example: + elem = editor.get_node(tag="w:r", line_number=519) + elem = editor.get_node(tag="w:r", line_number=range(100, 200)) + elem = editor.get_node(tag="w:del", attrs={"w:id": "1"}) + elem = editor.get_node(tag="w:p", attrs={"w14:paraId": "12345678"}) + elem = editor.get_node(tag="w:commentRangeStart", attrs={"w:id": "0"}) + elem = editor.get_node(tag="w:p", contains="specific text") + elem = editor.get_node(tag="w:t", contains="“Agreement") # Entity notation + elem = editor.get_node(tag="w:t", contains="\u201cAgreement") # Unicode character + """ + matches = [] + for elem in self.dom.getElementsByTagName(tag): + # Check line_number filter + if line_number is not None: + parse_pos = getattr(elem, "parse_position", (None,)) + elem_line = parse_pos[0] + + # Handle both single line number and range + if isinstance(line_number, range): + if elem_line not in line_number: + continue + else: + if elem_line != line_number: + continue + + # Check attrs filter + if attrs is not None: + if not all( + elem.getAttribute(attr_name) == attr_value + for attr_name, attr_value in attrs.items() + ): + continue + + # Check contains filter + if contains is not None: + elem_text = self._get_element_text(elem) + # Normalize the search string: convert HTML entities to Unicode characters + # This allows searching for both "“Rowan" and ""Rowan" + normalized_contains = html.unescape(contains) + if normalized_contains not in elem_text: + continue + + # If all applicable filters passed, this is a match + matches.append(elem) + + if not matches: + # Build descriptive error message + filters = [] + if line_number is not None: + line_str = ( + f"lines {line_number.start}-{line_number.stop - 1}" + if isinstance(line_number, range) + else f"line {line_number}" + ) + filters.append(f"at {line_str}") + if attrs is not None: + filters.append(f"with attributes {attrs}") + if contains is not None: + filters.append(f"containing '{contains}'") + + filter_desc = " ".join(filters) if filters else "" + base_msg = f"Node not found: <{tag}> {filter_desc}".strip() + + # Add helpful hint based on filters used + if contains: + hint = "Text may be split across elements or use different wording." + elif line_number: + hint = "Line numbers may have changed if document was modified." + elif attrs: + hint = "Verify attribute values are correct." + else: + hint = "Try adding filters (attrs, line_number, or contains)." + + raise ValueError(f"{base_msg}. {hint}") + if len(matches) > 1: + raise ValueError( + f"Multiple nodes found: <{tag}>. " + f"Add more filters (attrs, line_number, or contains) to narrow the search." + ) + return matches[0] + + def _get_element_text(self, elem): + """ + Recursively extract all text content from an element. + + Skips text nodes that contain only whitespace (spaces, tabs, newlines), + which typically represent XML formatting rather than document content. + + Args: + elem: defusedxml.minidom.Element to extract text from + + Returns: + str: Concatenated text from all non-whitespace text nodes within the element + """ + text_parts = [] + for node in elem.childNodes: + if node.nodeType == node.TEXT_NODE: + # Skip whitespace-only text nodes (XML formatting) + if node.data.strip(): + text_parts.append(node.data) + elif node.nodeType == node.ELEMENT_NODE: + text_parts.append(self._get_element_text(node)) + return "".join(text_parts) + + def replace_node(self, elem, new_content): + """ + Replace a DOM element with new XML content. + + Args: + elem: defusedxml.minidom.Element to replace + new_content: String containing XML to replace the node with + + Returns: + List[defusedxml.minidom.Node]: All inserted nodes + + Example: + new_nodes = editor.replace_node(old_elem, "text") + """ + parent = elem.parentNode + nodes = self._parse_fragment(new_content) + for node in nodes: + parent.insertBefore(node, elem) + parent.removeChild(elem) + return nodes + + def insert_after(self, elem, xml_content): + """ + Insert XML content after a DOM element. + + Args: + elem: defusedxml.minidom.Element to insert after + xml_content: String containing XML to insert + + Returns: + List[defusedxml.minidom.Node]: All inserted nodes + + Example: + new_nodes = editor.insert_after(elem, "text") + """ + parent = elem.parentNode + next_sibling = elem.nextSibling + nodes = self._parse_fragment(xml_content) + for node in nodes: + if next_sibling: + parent.insertBefore(node, next_sibling) + else: + parent.appendChild(node) + return nodes + + def insert_before(self, elem, xml_content): + """ + Insert XML content before a DOM element. + + Args: + elem: defusedxml.minidom.Element to insert before + xml_content: String containing XML to insert + + Returns: + List[defusedxml.minidom.Node]: All inserted nodes + + Example: + new_nodes = editor.insert_before(elem, "text") + """ + parent = elem.parentNode + nodes = self._parse_fragment(xml_content) + for node in nodes: + parent.insertBefore(node, elem) + return nodes + + def append_to(self, elem, xml_content): + """ + Append XML content as a child of a DOM element. + + Args: + elem: defusedxml.minidom.Element to append to + xml_content: String containing XML to append + + Returns: + List[defusedxml.minidom.Node]: All inserted nodes + + Example: + new_nodes = editor.append_to(elem, "text") + """ + nodes = self._parse_fragment(xml_content) + for node in nodes: + elem.appendChild(node) + return nodes + + def get_next_rid(self): + """Get the next available rId for relationships files.""" + max_id = 0 + for rel_elem in self.dom.getElementsByTagName("Relationship"): + rel_id = rel_elem.getAttribute("Id") + if rel_id.startswith("rId"): + try: + max_id = max(max_id, int(rel_id[3:])) + except ValueError: + pass + return f"rId{max_id + 1}" + + def save(self): + """ + Save the edited XML back to the file. + + Serializes the DOM tree and writes it back to the original file path, + preserving the original encoding (ascii or utf-8). + """ + content = self.dom.toxml(encoding=self.encoding) + self.xml_path.write_bytes(content) + + def _parse_fragment(self, xml_content): + """ + Parse XML fragment and return list of imported nodes. + + Args: + xml_content: String containing XML fragment + + Returns: + List of defusedxml.minidom.Node objects imported into this document + + Raises: + AssertionError: If fragment contains no element nodes + """ + # Extract namespace declarations from the root document element + root_elem = self.dom.documentElement + namespaces = [] + if root_elem and root_elem.attributes: + for i in range(root_elem.attributes.length): + attr = root_elem.attributes.item(i) + if attr.name.startswith("xmlns"): # type: ignore + namespaces.append(f'{attr.name}="{attr.value}"') # type: ignore + + ns_decl = " ".join(namespaces) + wrapper = f"{xml_content}" + fragment_doc = defusedxml.minidom.parseString(wrapper) + nodes = [ + self.dom.importNode(child, deep=True) + for child in fragment_doc.documentElement.childNodes # type: ignore + ] + elements = [n for n in nodes if n.nodeType == n.ELEMENT_NODE] + assert elements, "Fragment must contain at least one element" + return nodes + + +def _create_line_tracking_parser(): + """ + Create a SAX parser that tracks line and column numbers for each element. + + Monkey patches the SAX content handler to store the current line and column + position from the underlying expat parser onto each element as a parse_position + attribute (line, column) tuple. + + Returns: + defusedxml.sax.xmlreader.XMLReader: Configured SAX parser + """ + + def set_content_handler(dom_handler): + def startElementNS(name, tagName, attrs): + orig_start_cb(name, tagName, attrs) + cur_elem = dom_handler.elementStack[-1] + cur_elem.parse_position = ( + parser._parser.CurrentLineNumber, # type: ignore + parser._parser.CurrentColumnNumber, # type: ignore + ) + + orig_start_cb = dom_handler.startElementNS + dom_handler.startElementNS = startElementNS + orig_set_content_handler(dom_handler) + + parser = defusedxml.sax.make_parser() + orig_set_content_handler = parser.setContentHandler + parser.setContentHandler = set_content_handler # type: ignore + return parser diff --git a/skills/docx/setup.sh b/skills/docx/setup.sh new file mode 100755 index 0000000..905c66b --- /dev/null +++ b/skills/docx/setup.sh @@ -0,0 +1,177 @@ +#!/usr/bin/env bash +# --- +# name: docx-setup +# author: Z.AI +# version: "1.0" +# description: Environment setup for the DOCX skill. Checks and installs all required dependencies. +# --- +# +# Installs only dependencies required by the DOCX skill. +set -euo pipefail + +RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m' +ok() { echo -e " ${GREEN}✓${NC} $1"; } +fail() { echo -e " ${RED}✗${NC} $1"; } +warn() { echo -e " ${YELLOW}○${NC} $1"; } +info() { echo -e " ${BLUE}→${NC} $1"; } + +echo "============================================" +echo " DOCX Skill — Environment Setup" +echo "============================================" +echo "" + +OS="$(uname -s)" +ARCH="$(uname -m)" +echo "Platform: $OS $ARCH" +echo "" + +# ── 0. macOS: Homebrew ── +if [ "$OS" = "Darwin" ]; then + echo "--- Homebrew (macOS package manager) ---" + if command -v brew &>/dev/null; then + BREW_VER=$(brew --version 2>/dev/null | head -1) + ok "brew ($BREW_VER)" + else + fail "brew not found — Node.js install needs Homebrew on macOS" + info "Install: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"" + fi + echo "" +fi + +# ── 1. Node.js (docx-js runs on Node) ── +echo "--- Node.js ---" +if command -v node &>/dev/null; then + NODE_VER=$(node --version) + ok "node ($NODE_VER)" +else + fail "node not found (required — docx generation uses docx-js on Node)" + case "$OS" in + Darwin) info "Install: brew install node" ;; + Linux) info "Install: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -" + info " sudo apt install -y nodejs" ;; + *) info "Install: https://nodejs.org/" ;; + esac +fi + +# ── 2. npm ── +echo "" +echo "--- npm ---" +if command -v npm &>/dev/null; then + NPM_VER=$(npm --version 2>/dev/null) + ok "npm ($NPM_VER)" +else + fail "npm not found" + case "$OS" in + Darwin) info "Install: brew install node (includes npm)" ;; + Linux) info "Install: comes with nodejs" ;; + *) info "Install: https://nodejs.org/" ;; + esac +fi + +# ── 3. npm package: docx ── +echo "" +echo "--- npm Packages ---" +if node -e "require('docx')" 2>/dev/null || npm list -g docx &>/dev/null; then + DOCX_VER=$(node -e "try{console.log(require('docx/package.json').version)}catch(e){console.log('installed')}" 2>/dev/null) + ok "docx ($DOCX_VER)" +else + fail "docx not installed" + info "Install: npm install -g docx" + echo "" + if [ -t 0 ]; then + read -p " Install now? [Y/n] " -n 1 -r REPLY + echo "" + REPLY=${REPLY:-Y} + else + warn "Non-interactive mode — skipping auto-install." + REPLY=N + fi + if [[ ! $REPLY =~ ^[Nn]$ ]]; then + npm install -g docx 2>/dev/null && ok "Installed: docx" || fail "npm install failed" + fi +fi + +# ── 4. Python 3 (post-processing scripts) ── +echo "" +echo "--- Python (post-processing) ---" +if command -v python3 &>/dev/null; then + PY_VER=$(python3 --version 2>&1) + ok "python3 ($PY_VER)" + if [ "$OS" = "Darwin" ]; then + PY_PATH=$(which python3 2>/dev/null) + if [[ "$PY_PATH" == "/usr/bin/python3" ]]; then + warn "Using macOS system Python (limited). Recommend: brew install python3" + fi + fi +else + fail "python3 not found" + case "$OS" in + Darwin) info "Install: brew install python3" ;; + Linux) info "Install: sudo apt install python3 python3-pip (Debian/Ubuntu)" + info " sudo dnf install python3 python3-pip (Fedora/RHEL)" ;; + *) info "Install: https://www.python.org/downloads/" ;; + esac +fi + +# ── 5. pip ── +echo "" +echo "--- pip ---" +if python3 -m pip --version &>/dev/null 2>&1; then + PIP_VER=$(python3 -m pip --version 2>/dev/null | head -1) + ok "pip ($PIP_VER)" +else + fail "pip not found" + case "$OS" in + Darwin) info "Install: python3 -m ensurepip --upgrade" + info " or: brew install python3 (includes pip)" ;; + Linux) info "Install: sudo apt install python3-pip (Debian/Ubuntu)" ;; + *) info "Install: python3 -m ensurepip --upgrade" ;; + esac +fi + +# ── 6. Python packages ── +echo "" +echo "--- Python Packages ---" +PY_PKGS=( + "defusedxml:defusedxml" +) + +MISSING_PY=() +for entry in "${PY_PKGS[@]}"; do + mod="${entry%%:*}" + pkg="${entry##*:}" + if python3 -c "import $mod" 2>/dev/null; then + ver=$(python3 -c "import $mod; print(getattr($mod, '__version__', 'installed'))" 2>/dev/null) + ok "$pkg ($ver)" + else + fail "$pkg not installed" + MISSING_PY+=("$pkg") + fi +done + +if [ ${#MISSING_PY[@]} -gt 0 ]; then + echo "" + if [ -t 0 ]; then + read -p " Install missing Python packages? [Y/n] " -n 1 -r REPLY + echo "" + REPLY=${REPLY:-Y} + else + warn "Non-interactive mode — skipping auto-install. Run interactively or install manually." + REPLY=N + fi + if [[ ! $REPLY =~ ^[Nn]$ ]]; then + python3 -m pip install -q "${MISSING_PY[@]}" 2>/dev/null \ + || python3 -m pip install -q --user "${MISSING_PY[@]}" 2>/dev/null \ + || python3 -m pip install -q --break-system-packages "${MISSING_PY[@]}" 2>/dev/null \ + || { fail "pip install failed. Try manually: pip install ${MISSING_PY[*]}"; } + ok "Installed: ${MISSING_PY[*]}" + fi +fi + +# ── Summary ── +echo "" +echo "============================================" +echo " Setup complete." +echo " Core: Node.js + docx (npm)" +echo " Post-processing: Python + defusedxml" +echo "============================================" diff --git a/skills/dream-interpreter/SKILL.md b/skills/dream-interpreter/SKILL.md new file mode 100755 index 0000000..b5b6e86 --- /dev/null +++ b/skills/dream-interpreter/SKILL.md @@ -0,0 +1,88 @@ +--- +name: dream-interpreter +description: AI 解梦大师。用户描述梦境,智能追问关键细节后,从三个视角(周公解梦/心理分析/赛博神棍)生成解读,输出结构化 JSON 供前端渲染"梦境解析卡"。 +--- + +# dream-interpreter + +AI 解梦大师。用户描述梦境,智能追问关键细节后,从三个视角(周公解梦/心理分析/赛博神棍)生成解读,输出结构化 JSON 供前端渲染"梦境解析卡"。 + +## When to use + +- 用户说"我梦到..."、"昨晚做了个梦"、"帮我解个梦"等 +- NOT for: 清醒梦教学、睡眠质量分析、真正的心理咨询 + +## Session flow + +### Phase 1: 梦境收集 + 追问 + +1. 用户描述梦境 +2. 从描述中提取关键意象,找出最影响解读方向的模糊点 +3. 追问最多 3 个问题(可以更少),每个聚焦一个维度: + +追问维度优先级: +- **情绪**:"掉下去的时候害怕还是放松?" → 决定焦虑型/释放型 +- **环境**:"那个地方你认识吗?" → 关联生活领域 +- **人物**:"梦里的那个人你认识吗?" → 判断投射对象 +- **结局**:"最后怎么样了?" → 决定解读走向 + +追问规则: +- 用户描述已经很详细 → 少问或不问 +- 用户不想回答 → 跳过,用合理默认值 +- 追问本身要有角色感,不是审问 + +### Phase 2: 生成解读 + +收集完信息后,生成三个视角的解读。每个视角独立分析,风格差异要大。 + +读取 `interpretation-guide.md` 获取三个视角的详细指南。 + +### Phase 3: 输出结构化 JSON + +按 `output-schema.md` 中的格式输出 JSON,供前端渲染。 + +JSON 包含:梦境摘要、关键词、情绪分类、配色方案、视觉元素列表、三视角解读内容、综合建议、可分享文案。 + +读取 `visual-mapping.md` 将意象映射为视觉元素和配色。 + +## Output format + +**追问阶段**:纯文本对话,角色感强 + +**解读阶段**:输出 JSON 代码块,格式遵循 `output-schema.md` + +示例: + +追问: +``` +嗯...高楼上掉下去... +问你几个事: +1. 掉的时候你是害怕还是反而觉得挺爽? +2. 那个楼你认识吗?公司?家?还是没见过的地方? +3. 最后落地了吗?还是一直在掉? +``` + +解读输出: +```json +{ + "dream_summary": "从陌生高楼坠落,感到恐惧,没有落地", + "keywords": ["高楼", "坠落", "恐惧", "无尽下落"], + "mood": "anxious", + "color_scheme": "dark", + "visual_elements": ["building", "falling_particles", "dark_bg", "blur_lights"], + "interpretations": { + "zhouGong": { ... }, + "freud": { ... }, + "cyber": { ... } + }, + "overall_advice": "...", + "shareable_text": "..." +} +``` + +## References + +- `interpretation-guide.md` — 三视角解读详细指南和风格要求 +- `visual-mapping.md` — 梦境意象 → 视觉元素/配色的映射表 +- `output-schema.md` — JSON 输出格式完整规范 +- `questioning-strategy.md` — 追问策略和示例库 diff --git a/skills/dream-interpreter/assets/example_asset.txt b/skills/dream-interpreter/assets/example_asset.txt new file mode 100755 index 0000000..d0ac204 --- /dev/null +++ b/skills/dream-interpreter/assets/example_asset.txt @@ -0,0 +1,24 @@ +# Example Asset File + +This placeholder represents where asset files would be stored. +Replace with actual asset files (templates, images, fonts, etc.) or delete if not needed. + +Asset files are NOT intended to be loaded into context, but rather used within +the output Claude produces. + +Example asset files from other skills: +- Brand guidelines: logo.png, slides_template.pptx +- Frontend builder: hello-world/ directory with HTML/React boilerplate +- Typography: custom-font.ttf, font-family.woff2 +- Data: sample_data.csv, test_dataset.json + +## Common Asset Types + +- Templates: .pptx, .docx, boilerplate directories +- Images: .png, .jpg, .svg, .gif +- Fonts: .ttf, .otf, .woff, .woff2 +- Boilerplate code: Project directories, starter files +- Icons: .ico, .svg +- Data files: .csv, .json, .xml, .yaml + +Note: This is a text placeholder. Actual assets can be any file type. diff --git a/skills/dream-interpreter/references/api_reference.md b/skills/dream-interpreter/references/api_reference.md new file mode 100755 index 0000000..cd703cd --- /dev/null +++ b/skills/dream-interpreter/references/api_reference.md @@ -0,0 +1,34 @@ +# Reference Documentation for Dream Interpreter + +This is a placeholder for detailed reference documentation. +Replace with actual reference content or delete if not needed. + +Example real reference docs from other skills: +- product-management/references/communication.md - Comprehensive guide for status updates +- product-management/references/context_building.md - Deep-dive on gathering context +- bigquery/references/ - API references and query examples + +## When Reference Docs Are Useful + +Reference docs are ideal for: +- Comprehensive API documentation +- Detailed workflow guides +- Complex multi-step processes +- Information too lengthy for main SKILL.md +- Content that's only needed for specific use cases + +## Structure Suggestions + +### API Reference Example +- Overview +- Authentication +- Endpoints with examples +- Error codes +- Rate limits + +### Workflow Guide Example +- Prerequisites +- Step-by-step instructions +- Common patterns +- Troubleshooting +- Best practices diff --git a/skills/dream-interpreter/references/interpretation-guide.md b/skills/dream-interpreter/references/interpretation-guide.md new file mode 100755 index 0000000..9842f7d --- /dev/null +++ b/skills/dream-interpreter/references/interpretation-guide.md @@ -0,0 +1,83 @@ +# 三视角解读指南 + +每个视角必须独立分析,给出不同甚至矛盾的结论。不要三个视角说同一件事换个措辞。 + +## 🔮 周公解梦(传统玄学) + +**知识基础:** 中国传统解梦体系 + 民间说法 + +**核心意象对照(常用):** +- 水 = 财运(清水=正财,浑水=偏财或破财) +- 蛇 = 小人或财运(看情境) +- 牙齿掉落 = 亲人健康或自信问题 +- 飞行 = 升迁、心愿达成 +- 坠落 = 运势下滑、不稳定 +- 死亡 = 重生、旧事结束 +- 考试 = 机遇或焦虑 +- 裸体 = 秘密暴露 +- 被追 = 逃避某事 +- 动物 = 根据动物种类对应不同寓意 + +**语气要求:** +- 古风但不装,像庙里那个很灵的老师傅 +- 一本正经,言之凿凿 +- 可以说"此梦主..."、"近日宜..." +- 给出明确的吉凶判断 + 运势建议 + +**输出结构:** +- content: 主体解读(100-200字) +- fortune: 吉/凶/中性偏X +- advice: 一句话建议(宜什么、忌什么) + +## 🧠 弗洛伊德 / 心理分析 + +**知识基础:** 精神分析 + 认知心理学 + 常见梦境心理学研究 + +**分析角度:** +- 潜意识欲望和压抑 +- 近期压力源的投射 +- 未完成事件的心理加工 +- 自我认知和安全感 +- 控制感 vs 失控感 + +**语气要求:** +- 专业但温和,像一个好的心理咨询师 +- 不评判,只分析 +- 用"可能反映了..."、"这或许与...有关"等非绝对表达 +- 给出可操作的心理建议 + +**输出结构:** +- content: 心理分析(100-200字) +- insight: 一句话核心洞察 +- advice: 一个具体的自我关照建议 + +## 🌀 赛博神棍 + +**知识基础:** 没有知识基础,纯脑洞 + +**可以扯的方向:** +- 平行宇宙记忆泄漏 +- 量子意识纠缠 +- 前世记忆碎片 +- 外星文明信号 +- 你的潜意识在玩某个游戏 +- 概率论/混沌理论的荒诞应用 +- 用数学公式解梦(瞎编的公式) + +**语气要求:** +- 极度自信,像真的有一台"量子梦境分析仪" +- 一本正经地胡说八道 +- 越离谱越好,但逻辑要自洽(在它自己的疯狂体系里) +- 建议部分要搞笑但具体("建议今天穿红色袜子建立跨维度共鸣") + +**输出结构:** +- content: 赛博解读(100-200字) +- prediction: 一句离谱预言 +- advice: 一个搞笑但具体的行动建议 + +## 综合建议 + +三个视角写完后,生成一段 overall_advice: +- 提取三个视角中的共性(如果有) +- 如果三个完全矛盾,就说"这个梦很有意思,不同角度看差异很大" +- 语气回归中立,简短,1-2句话 diff --git a/skills/dream-interpreter/references/output-schema.md b/skills/dream-interpreter/references/output-schema.md new file mode 100755 index 0000000..8dc4a32 --- /dev/null +++ b/skills/dream-interpreter/references/output-schema.md @@ -0,0 +1,65 @@ +# 输出 JSON Schema + +解梦结果的完整 JSON 格式。前端根据此格式渲染"梦境解析卡"。 + +## 完整结构 + +```json +{ + "dream_summary": "string — 一句话概括梦境内容(20字以内)", + "keywords": ["string — 梦境关键词,3-6个"], + "mood": "string — 情绪分类,枚举值见下方", + "color_scheme": "string — 配色方案名,与 mood 对应", + "visual_elements": ["string — 视觉元素标识,最多5个,见 visual-mapping.md"], + "interpretations": { + "zhouGong": { + "icon": "🔮", + "title": "周公解梦", + "content": "string — 主体解读,100-200字", + "fortune": "string — 吉凶判断:大吉/吉/中性/中性偏凶/凶", + "advice": "string — 一句话建议,宜忌格式" + }, + "freud": { + "icon": "🧠", + "title": "心理分析", + "content": "string — 心理分析,100-200字", + "insight": "string — 一句话核心洞察", + "advice": "string — 一个具体的自我关照建议" + }, + "cyber": { + "icon": "🌀", + "title": "赛博神棍", + "content": "string — 赛博解读,100-200字", + "prediction": "string — 一句离谱预言", + "advice": "string — 一个搞笑但具体的行动建议" + } + }, + "overall_advice": "string — 综合建议,1-2句话,中立语气", + "shareable_text": "string — 可分享文案,包含emoji,适合发朋友圈,50字以内" +} +``` + +## mood 枚举值 + +| 值 | 含义 | +|----|------| +| anxious | 焦虑、恐惧、紧张 | +| peaceful | 平静、美好、舒适 | +| sad | 悲伤、失落、遗憾 | +| surreal | 奇幻、荒诞、超现实 | +| exciting | 兴奋、刺激、冒险 | +| nostalgic | 怀旧、温馨、思念 | + +## color_scheme 与 mood 的对应 + +mood 和 color_scheme 值相同。前端根据 color_scheme 值从 visual-mapping.md 的配色表中取色。 + +## 输出要求 + +1. JSON 必须合法,可直接 JSON.parse +2. 用 ```json 代码块包裹 +3. 所有 string 字段不能为空 +4. keywords 数组 3-6 个元素 +5. visual_elements 数组 1-5 个元素 +6. 三个 interpretation 的 content 长度保持接近(都是100-200字) +7. shareable_text 要有趣,让人想转发 diff --git a/skills/dream-interpreter/references/questioning-strategy.md b/skills/dream-interpreter/references/questioning-strategy.md new file mode 100755 index 0000000..e856f61 --- /dev/null +++ b/skills/dream-interpreter/references/questioning-strategy.md @@ -0,0 +1,62 @@ +# 追问策略 + +## 原则 + +追问是为了让解读更准,不是为了凑数。用户说得清楚就少问,说得模糊才补问。 + +## 追问维度 + +按优先级排序,每次最多选 3 个最相关的: + +### 1. 情绪状态(最高优先) +梦中的情绪决定解读基调。同样是"飞",兴奋的飞和恐惧的飞完全不同。 + +示例: +- "掉下去的时候是害怕,还是反而有种如释重负的感觉?" +- "被追的时候你是拼命跑,还是跑不动那种?" +- "见到那个人的时候你开心吗?" + +### 2. 环境/场所 +场所关联生活领域(公司=事业、家=家庭、学校=成长/压力)。 + +示例: +- "那个地方你认识吗?还是从没见过?" +- "室内还是室外?白天还是晚上?" +- "周围有别人吗?" + +### 3. 人物关系 +梦中人物通常是投射。认识的人 vs 陌生人解读方向完全不同。 + +示例: +- "梦里那个人你认识吗?什么关系?" +- "ta 在梦里对你是什么态度?" + +### 4. 结局/走向 +有结局和没结局的梦含义不同。 + +示例: +- "最后怎么样了?醒了还是有个结局?" +- "你在梦里解决了那个问题吗?" + +## 追问风格 + +带角色感,像一个老练的解梦师在跟你聊天,不是在填问卷。 + +好的追问: +``` +嗯...水里啊... +那个水是清的还是浑的?你是自己跳进去的还是不知道怎么就在水里了? +``` + +坏的追问: +``` +请补充以下信息: +1. 水的颜色和清澈度 +2. 进入水中的方式 +``` + +## 跳过规则 + +- 用户说"不记得了"/"不知道" → 用最常见的默认值,继续解读 +- 用户明确表示不想多说 → 直接进入解读,不追问了 +- 用户描述已经很完整(包含情绪+环境+结局)→ 可以直接解读,最多追问 1 个 diff --git a/skills/dream-interpreter/references/visual-mapping.md b/skills/dream-interpreter/references/visual-mapping.md new file mode 100755 index 0000000..444ed99 --- /dev/null +++ b/skills/dream-interpreter/references/visual-mapping.md @@ -0,0 +1,81 @@ +# 梦境意象 → 视觉元素映射 + +## 情绪 → 配色方案 + +| mood 值 | 情绪 | 主色 | 辅色 | 背景 | +|---------|------|------|------|------| +| anxious | 焦虑/恐惧 | #2D1B69 深紫 | #1A1A2E 暗蓝 | 暗色渐变 | +| peaceful | 平静/美好 | #F4D35E 暖黄 | #83C5BE 柔绿 | 浅色渐变 | +| sad | 悲伤/失落 | #4A6FA5 灰蓝 | #2D3142 深灰 | 冷色渐变 | +| surreal | 奇幻/荒诞 | #FF006E 霓虹粉 | #8338EC 电紫 | 深色+霓虹点缀 | +| exciting | 兴奋/刺激 | #FF6B35 橙红 | #FFD700 金色 | 暖色渐变 | +| nostalgic | 怀旧/温馨 | #DDA15E 琥珀 | #BC6C25 暖棕 | 柔光渐变 | + +## 意象 → 视觉元素 + +每个视觉元素对应 p5.js 中的一个绘制模块。 + +### 自然元素 + +| 意象关键词 | visual_element 值 | p5.js 表现 | +|-----------|-------------------|------------| +| 水、海、河、湖、游泳 | water_ripple | 正弦波纹,从底部向上扩散 | +| 雨 | rain_drops | 细线粒子从上方下落 | +| 火、燃烧 | fire_particles | 橙红粒子向上飘散 | +| 风、暴风 | wind_lines | 水平方向的曲线流动 | +| 星空、夜空 | starfield | 随机闪烁的小光点 | +| 月亮 | moon_glow | 圆形光晕,缓慢脉动 | +| 太阳、光 | sun_rays | 放射状光线 | +| 森林、树 | tree_silhouettes | 底部的树形剪影 | +| 花、花园 | floating_petals | 缓慢飘落的花瓣形状 | + +### 空间/建筑 + +| 意象关键词 | visual_element 值 | p5.js 表现 | +|-----------|-------------------|------------| +| 高楼、大厦、塔 | building | 几何线条搭建的建筑轮廓 | +| 房间、室内 | room_frame | 透视线条构成的房间框架 | +| 门 | door_shape | 中央的门形轮廓,可能开/关 | +| 楼梯、阶梯 | stairs | 递进的台阶线条 | +| 迷宫、走廊 | maze_lines | 随机生成的路径线条 | +| 桥 | bridge_arc | 弧形桥梁轮廓 | + +### 动作/状态 + +| 意象关键词 | visual_element 值 | p5.js 表现 | +|-----------|-------------------|------------| +| 坠落、掉下 | falling_particles | 粒子加速下落 | +| 飞、飘 | rising_particles | 粒子缓慢上升 | +| 追逐、逃跑 | speed_lines | 高速水平线条 | +| 困住、封闭 | cage_lines | 围合的线条逐渐收缩 | +| 迷路 | scattered_dots | 随机漂移的光点 | + +### 人物/生物 + +| 意象关键词 | visual_element 值 | p5.js 表现 | +|-----------|-------------------|------------| +| 人、人影 | human_silhouette | 抽象人形剪影,淡入淡出 | +| 人群 | crowd_dots | 多个小圆点聚散 | +| 蛇 | snake_curve | S形曲线缓慢游动 | +| 猫/狗/动物 | animal_shape | 简笔动物轮廓 | +| 鸟/飞行生物 | bird_flight | V形轮廓横穿画面 | +| 鱼/水生物 | fish_swim | 椭圆形在水纹中穿行 | + +### 氛围修饰 + +| 意象关键词 | visual_element 值 | p5.js 表现 | +|-----------|-------------------|------------| +| 黑暗、看不清 | dark_bg | 整体低亮度 + 模糊光斑 | +| 模糊、朦胧 | blur_lights | 高斯模糊的光点 | +| 闪烁、不稳定 | flicker_effect | 画面整体亮度随机波动 | +| 旋转、眩晕 | spiral_motion | 螺旋运动的粒子 | +| 安静、空旷 | minimal_space | 大面积留白 + 极少元素 | + +## 映射规则 + +1. 从梦境描述中提取所有可识别意象 +2. 每个意象对应一个 visual_element +3. visual_elements 数组最多 5 个元素(防止画面太乱) +4. 优先选择与主要情节相关的意象 +5. 必须包含至少 1 个氛围修饰元素 +6. mood 取梦境中最强烈的情绪,color_scheme 对应 mood diff --git a/skills/dream-interpreter/scripts/example.py b/skills/dream-interpreter/scripts/example.py new file mode 100755 index 0000000..0d70a20 --- /dev/null +++ b/skills/dream-interpreter/scripts/example.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +""" +Example helper script for dream-interpreter + +This is a placeholder script that can be executed directly. +Replace with actual implementation or delete if not needed. + +Example real scripts from other skills: +- pdf/scripts/fill_fillable_fields.py - Fills PDF form fields +- pdf/scripts/convert_pdf_to_images.py - Converts PDF pages to images +""" + +def main(): + print("This is an example script for dream-interpreter") + # TODO: Add actual script logic here + # This could be data processing, file conversion, API calls, etc. + +if __name__ == "__main__": + main() diff --git a/skills/dream-interpreter/skill.json b/skills/dream-interpreter/skill.json new file mode 100755 index 0000000..8e8b1cb --- /dev/null +++ b/skills/dream-interpreter/skill.json @@ -0,0 +1,7 @@ +{ + "name": "dream-interpreter", + "version": "1.0.0", + "description": "AI解梦大师。智能追问梦境细节,从周公解梦/心理分析/赛博神棍三视角解读,输出结构化JSON供前端渲染梦境解析卡。", + "author": "mingming", + "tags": ["entertainment", "dream", "divination", "visualization"] +} diff --git a/skills/finance/Finance_API_Doc.md b/skills/finance/Finance_API_Doc.md new file mode 100755 index 0000000..2a14480 --- /dev/null +++ b/skills/finance/Finance_API_Doc.md @@ -0,0 +1,445 @@ +# Finance API Complete Documentation + +## API Overview + +Finance API provides comprehensive financial data access interfaces, including real-time market data, historical stock prices, and the latest financial news. + +### 🌐 Access via API Gateway + +**This API is accessed through the web-dev-ai-gateway unified proxy service.** + +**Gateway Configuration:** +- **Gateway Base URL:** `GATEWAY_URL` (e.g., `https://internal-api.z.ai`) +- **API Path Prefix:** `API_PREFIX` (e.g., `/external/finance`) +- **Authentication:** Automatic (gateway injects `x-rapidapi-host` and `x-rapidapi-key`) +- **Required Header:** `X-Z-AI-From: Z` + +**URL Structure:** +``` +{GATEWAY_URL}{API_PREFIX}/{endpoint} +``` + +**Example:** +- Full URL: `https://internal-api.z.ai/external/finance/v1/markets/search?search=Apple` +- Breakdown: + - `https://internal-api.z.ai` - Gateway base URL (`GATEWAY_URL`) + - `/external/finance` - API path prefix (`API_PREFIX`) + - `/v1/markets/search` - API endpoint path + + +### Quick Start + +```bash +# Get real-time quote for Apple +curl -X GET "{GATEWAY_URL}{API_PREFIX}/v1/markets/quote?ticker=AAPL&type=STOCKS" \ + -H "X-Z-AI-From: Z" +``` + + +## 1. Market Data API + +### 1.1 GET v2/markets/tickers - Get All Available Market Tickers + +**Parameters:** +- `page` (optional, Number): Page number, default value is 1 +- `type` (required, String): Asset type, optional values: + - `STOCKS` - Stocks + - `ETF` - Exchange Traded Funds + - `MUTUALFUNDS` - Mutual Funds + +**curl example (via Gateway):** +```bash +curl -X GET "{GATEWAY_URL}{API_PREFIX}/v2/markets/tickers?page=1&type=STOCKS" \ + -H "X-Z-AI-From: Z" +``` + +--- + +### 1.2 GET v1/markets/search - Search Stocks + +**Parameters:** +- `search` (required, String): Search keyword (company name or stock symbol) + +**curl example (via Gateway):** +```bash +curl -X GET "{GATEWAY_URL}{API_PREFIX}/v1/markets/search?search=Apple" \ + -H "X-Z-AI-From: Z" +``` + +**Purpose:** Used to find specific stock or company ticker codes + +--- + +### 1.3 GET v1/markets/quote (real-time) - Real-time Quotes + +**Parameters:** +- `ticker` (required, String): Stock symbol (only one can be entered) +- `type` (required, String): Asset type + - `STOCKS` - Stocks + - `ETF` - Exchange Traded Funds + - `MUTUALFUNDS` - Mutual Funds + +**curl example (via Gateway):** +```bash +curl -X GET "{GATEWAY_URL}{API_PREFIX}/v1/markets/quote?ticker=AAPL&type=STOCKS" \ + -H "X-Z-AI-From: Z" +``` + +--- + +### 1.4 GET v1/markets/stock/quotes (snapshots) - Snapshot Quotes + +**Parameters:** +- `ticker` (required, String): Stock symbols, separated by commas + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/quotes?ticker=AAPL%2CMSFT%2C%5ESPX%2C%5ENYA%2CGAZP.ME%2CSIBN.ME%2CGEECEE.NS' +``` + +**Purpose:** Batch get snapshot data for multiple stocks + +--- + + +## 2. Historical Data API + +### 2.1 GET v1/markets/stock/history - Stock Historical Data + +**Parameters:** +- `symbol` (required, String): Stock symbol +- `interval` (required, String): Time interval + - `5m` - 5 minutes + - `15m` - 15 minutes + - `30m` - 30 minutes + - `1h` - 1 hour + - `1d` - Daily + - `1wk` - Weekly + - `1mo` - Monthly + - `3mo` - 3 months +- `diffandsplits` (optional, String): Include dividend and split data + - `true` - Include + - `false` - Exclude (default) + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/history?symbol=AAPL&interval=1d&diffandsplits=false' +``` + +**Purpose:** Get historical price data for specific stocks, used for technical analysis and backtesting + +--- + +### 2.2 GET v2/markets/stock/history - Stock Historical Data V2 + +**Parameters:** +- `symbol` (required, String): Stock symbol +- `interval` (optional, String): Time interval + - `1m`, `2m`, `3m`, `4m`, `5m`, `15m`, `30m` + - `1h`, `1d`, `1wk`, `1mo`, `1qty` +- `limit` (optional, Number): Limit the number of candles (1-1000) +- `dividend` (optional, String): Include dividend data (`true` or `false`) + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v2/markets/stock/history?symbol=AAPL&interval=1m&limit=640' +``` + +**Purpose:** Enhanced historical data interface + +--- + +## 3. News API + +### 3.1 GET v1/markets/news - Market News + +**Parameters:** +- `ticker` (optional, String): Stock symbols, comma-separated for multiple stocks + +**curl example:** +```bash +# Get general market news +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/news' + +# Get specific stock news +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/news?ticker=AAPL,TSLA' +``` + +**Purpose:** Get the latest market news and updates + +--- + +### 3.2 GET v2/markets/news - Market News V2 + +**Parameters:** +- `ticker` (optional, String): Stock symbol +- `type` (optional, String): News type (`ALL`, `VIDEO`, `PRESS-RELEASE`) + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v2/markets/news?ticker=AAPL&type=ALL' +``` + +**Purpose:** Enhanced interface for getting latest market-related news + +--- + +## 5. Stock Detailed Information API + +### 5.1 GET v1/markets/stock/modules (asset-profile) - Company Profile + +**Parameters:** +- `ticker` (required, String): Stock symbol + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=asset-profile' +``` + +**Purpose:** Get company basic information, business description, management team, etc. + +--- + +### 5.2 GET v1/stock/modules - Stock Module Data + +**Parameters:** +- `ticker` (required, String): Stock symbol +- `module` (required, String): Module name (one per request) + - Acceptable values: `profile`, `income-statement`, `balance-sheet`, `cashflow-statement`, + `statistics`, `calendar-events`, `sec-filings`, `recommendation-trend`, + `upgrade-downgrade-history`, `institution-ownership`, `fund-ownership`, + `major-directHolders`, `major-holders-breakdown`, `insider-transactions`, + `insider-holders`, `net-share-purchase-activity`, `earnings`, `industry-trend`, + `index-trend`, `sector-trend` + +**curl example:** +```bash +# Get specific module +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=statistics' +``` + +**Purpose:** Get one data module per request (price, financial, analyst ratings, etc.) + +--- + +### 5.3 GET v1/markets/stock/modules (statistics) - Stock Statistics + +**Parameters:** +- `ticker` (required, String): Stock symbol + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=statistics' +``` + +**Purpose:** Get key statistical indicators such as PE ratios, market cap, trading volume + +--- + +### 5.4 GET v1/markets/stock/modules (financial-data) - Get Financial Data + +**Parameters:** +- `ticker` (required, String): Stock symbol +- `module` (required, String): `financial-data` + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=financial-data' +``` + +**Purpose:** Get revenue, profit, cash flow and other financial indicators + +--- + +### 5.5 GET v1/markets/stock/modules (sec-filings) - Get SEC Filings + +**Parameters:** +- `ticker` (required, String): Stock symbol +- `module` (required, String): `sec-filings` + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=sec-filings' +``` + +**Purpose:** Get files submitted by companies to the U.S. Securities and Exchange Commission + +--- + +### 5.6 GET v1/markets/stock/modules (earnings) - Earnings Data + +**Parameters:** +- `ticker` (required, String): Stock symbol + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=earnings' +``` + +**Purpose:** Get quarterly and annual earnings information + +--- + +### 5.7 GET v1/markets/stock/modules (calendar-events) - Get Calendar Events + +**Parameters:** +- `ticker` (required, String): Stock symbol +- `module` (required, String): `calendar-events` + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=calendar-events' +``` + +**Purpose:** Get upcoming earnings release dates, dividend dates, etc. + +--- + +## 6. Financial Statements API + +### 7.1 GET v1/markets/stock/modules (balance-sheet) - Balance Sheet + +**Parameters:** +- `ticker` (required, String): Stock symbol + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=balance-sheet' +``` + +**Purpose:** Get company balance sheet data + +--- + +### 7.3 GET v1/markets/stock/modules (income-statement) - Income Statement + +**Parameters:** +- `ticker` (required, String): Stock symbol + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=income-statement' +``` + +**Purpose:** Get company income statement data + +--- + +### 7.4 GET v1/markets/stock/modules (cashflow-statement) - Cash Flow Statement + +**Parameters:** +- `ticker` (required, String): Stock symbol + +**curl example:** +```bash +curl --request GET \ + --url '{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/modules?ticker=AAPL&module=cashflow-statement' +``` + +**Purpose:** Get company cash flow statement data + +--- + +## Usage Flow Examples + +### Example 1: Find and Get Real-time Stock Data + +```bash +# 1. Search company +GET /v1/markets/search?search=Apple + +# 2. Get real-time quote +GET /v1/markets/quote?ticker=AAPL&type=STOCKS + +# 3. Get detailed information +GET /v1/markets/stock/modules?ticker=AAPL&module=asset-profile +``` + +### Example 2: Analyze Stock Investment Value + +```bash +# 1. Get financial data +GET /v1/markets/stock/modules?ticker=AAPL&module=financial-data + +# 2. Get earnings data +GET /v1/markets/stock/modules?ticker=AAPL&module=earnings +``` + +--- + +## Usage Tips + +### 1. Batch Query Optimization +```bash +# Get data for multiple stocks at once (snapshots endpoint) via Gateway +curl -X GET "{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/quotes?ticker=AAPL,MSFT,GOOGL,AMZN,TSLA" \ + -H "X-Z-AI-From: Z" +``` + +### 2. Time Range Query +```bash +# Get historical data with specific interval via Gateway +curl -X GET "{GATEWAY_URL}{API_PREFIX}/v1/markets/stock/history?symbol=AAPL&interval=1d&diffandsplits=false" \ + -H "X-Z-AI-From: Z" +``` + +### 3. Combined Query Example +### 3. Combined Query Example + +**Python example (via Gateway):** +```python +import requests + +# Gateway automatically handles authentication +headers = { + 'X-Z-AI-From': 'Z' +} + +gateway_url = '{GATEWAY_URL}{API_PREFIX}/v1' +symbol = 'AAPL' + +# Get real-time price +quote = requests.get(f'{gateway_url}/markets/quote?ticker={symbol}&type=STOCKS', headers=headers) + +# Get company profile +profile = requests.get(f'{gateway_url}/markets/stock/modules?ticker={symbol}&module=asset-profile', headers=headers) + +# Get financial data +financials = requests.get(f'{gateway_url}/markets/stock/modules?ticker={symbol}&module=financial-data', headers=headers) +``` + + +--- + +## Best Practices + +### Gateway Usage + +1. **Authentication Header** - Always include `X-Z-AI-From: Z` header + +### API Usage + +1. **Rate Limiting:** Pay attention to API call frequency limits to avoid being throttled +2. **Error Handling:** Implement comprehensive error handling mechanisms +3. **Data Caching:** Consider caching common requests to optimize performance +4. **Batch Queries:** Use comma-separated symbols parameter to query multiple stocks at once +5. **Timestamps:** Use Unix timestamps for historical data queries +6. **Parameter Validation:** Validate all required parameters before sending requests +7. **Response Parsing:** Implement robust JSON parsing and data validation + +--- diff --git a/skills/finance/SKILL.md b/skills/finance/SKILL.md new file mode 100755 index 0000000..d58ca07 --- /dev/null +++ b/skills/finance/SKILL.md @@ -0,0 +1,53 @@ +--- +name: finance +description: "Comprehensive Finance API integration skill for real-time and historical financial data analysis, market research, and investment decision-making. Priority use cases: stock price queries, market data analysis, company financial information, portfolio tracking, market news retrieval, stock screening, technical analysis, and any financial market-related requests. This skill should be the primary choice for all Finance API interactions and financial data needs." +--- + +# Finance Skill + +## Core Capabilities + +### Market Data Retrieval +- Real-time quotes: current prices, market snapshots, trading volumes +- Historical data: price history, dividends, splits, corporate actions +- Market indices: major indices performance and constituents +- Currency data: forex rates and cryptocurrency information + +### Analysis Tools +- Stock screening: filters by metrics, ratios, and technical indicators +- Financial ratios: P/E, EPS, ROE, debt-to-equity, and other key metrics +- Technical indicators: moving averages, RSI, MACD, chart patterns +- Comparative analysis: sector and peer group comparisons + +### Market Intelligence +- Company information: business profiles, management teams, statements +- Market news: earnings reports and market analysis +- Insider trading: buy/sell activities and ownership changes +- Options data: chain data, implied volatility, and statistics +## API Overview + + Finance API provides comprehensive financial data access interfaces, including real-time market data, historical stock prices, options data, insider trading, and the latest financial news. + +Skills Path +Skill Location: {project_path}/skills/finance + +this skill is located at above path in your project. + +Reference Docs: See {Skill Location}/Finance_API_Doc.md for a working example. + +## Zhipu AI - Hong Kong IPO Information +- **Stock Code**: 2513.HK +- **Company Name (Chinese)**: 北京智谱华章科技股份有限公司 +- **Company Name (English)**: Knowledge Atlas Technology Joint Stock Company Limited +Zhipu AI is a leading Chinese large language model company specializing in AI foundational model research and development. + +### Best Practices for Zhipu AI Stock Research (One-Shot Success Guide) + +**Search Strategy:** +- ✅ Use full English company name: `search=Knowledge+Atlas` +- ❌ Avoid: `search=Zhipu`, `search=02513.HK` (returns empty results) + +** Important ** +always read `Finance_API_Doc.md` before use the API + + diff --git a/skills/fullstack-dev/SKILL.md b/skills/fullstack-dev/SKILL.md new file mode 100755 index 0000000..c9e8f8d --- /dev/null +++ b/skills/fullstack-dev/SKILL.md @@ -0,0 +1,238 @@ +--- +name: fullstack-dev +description: "Fullstack web development with Next.js 16, TypeScript, Tailwind CSS 4, shadcn/ui, Prisma ORM. Use when: building web apps, creating UI components, setting up database schemas, implementing API routes, adding websocket/socket.io support, fullstack project scaffolding, frontend development, backend development, web dev, Next.js app." +argument-hint: "Describe the fullstack feature or app you want to build" +--- + +# Fullstack Web Development Skill + +## Initialization (MUST DO FIRST) + +Before writing any code, you MUST run the following command to initialize the fullstack development environment: + +```bash +curl https://z-cdn.chatglm.cn/fullstack/init-fullstack_1775040338514.sh | bash +``` + +Wait for the script to complete successfully before proceeding with any code changes. + +--- + +## Important UI Rules + +- Use existing shadcn/ui components instead of building from scratch. All the components in the `src/components/ui` folder already exist. +- Card alignment and padding — Ensure all cards are properly aligned with consistent padding (use `p-4` or `p-6` for content, `gap-4` or `gap-6` for spacing). +- Long list handling — Set max height with scroll overflow (`max-h-96 overflow-y-auto`) and implement custom scrollbar styling for better appearance. + +--- + +## Project Information + +There is already a project in the current directory. (Next.js 16 with App Router) + +### Development Environment + +IMPORTANT: `bun run dev` will be run automatically by the system. Do NOT run it. Use `bun run lint` to check code quality. + +IMPORTANT: User can only see the `/` route defined in `src/app/page.tsx`. Do NOT write any other route. + +IMPORTANT: The Next.js project can only use port 3000 in auto dev server. Never use `bun run build`. + +IMPORTANT: `z-ai-web-dev-sdk` MUST be used in the backend only! Do NOT use it on the client side. + +### Dev Server Log + +IMPORTANT: Read `/home/z/my-project/dev.log` to see the dev server log. Remember to check the log when developing. + +IMPORTANT: Only read the most recent logs from `dev.log` to avoid large log files. + +IMPORTANT: Always read dev log when you finish coding. + +### Bash Commands + +- `bun run lint` — Run ESLint to check code quality and Next.js rules + +--- + +## Technology Stack Requirements + +### Core Framework (NON-NEGOTIABLE) + +- **Framework**: Next.js 16 with App Router (REQUIRED — cannot be changed) +- **Language**: TypeScript 5 (REQUIRED — cannot be changed) + +### Standard Technology Stack + +When users don't specify preferences, use this complete stack: + +- **Styling**: Tailwind CSS 4 with shadcn/ui component library +- **Database**: Prisma ORM (SQLite client only) with Prisma Client +- **Caching**: Local memory caching, no additional middleware (MySQL, Redis, etc.) +- **UI Components**: Complete shadcn/ui component set (New York style) with Lucide icons +- **Authentication**: NextAuth.js v4 available +- **State Management**: Zustand for client state, TanStack Query for server state + +Other packages can be found in `package.json`. You can install new packages if needed. + +### Library Usage Policy + +- **ALWAYS use Next.js 16 and TypeScript** — these are non-negotiable requirements. +- **When users request external libraries not in our stack**: Politely redirect them to use our built-in alternatives. +- **Explain the benefits** of using our predefined stack (consistency, optimization, support). +- **Provide equivalent solutions** using our available libraries. + +--- + +## Prisma and Database + +IMPORTANT: `prisma` is already installed and configured. Use it when you need the database. + +To use prisma and database: + +1. Edit `prisma/schema.prisma` to define the database schema. +2. Run `bun run db:push` to push the schema to the database. +3. Use `import { db } from '@/lib/db'` to get the database client and use it. + +--- + +## Mini Service + +You can create mini services if needed (e.g., websocket service). All mini services should be in the `mini-services` folder. For each mini service: + +- Must be a new and independent bun project with its own port and `package.json`. +- Must define `index.ts` or `index.js` as the entry file, e.g., `mini-services/chat-service/index.ts`. +- Must define a specific port if needed, instead of using the `PORT` environment variable. +- Must start each mini service by running `bun run dev` in the background. +- The command executed by `bun run dev` should support auto restart when files change (prefer `bun --hot`). +- Make sure every service is started. + +--- + +## Gateway and API Requests + +This machine can only expose one port externally, so a built-in gateway (config at `Caddyfile`) is included with the following limitations: + +- For API requests involving different ports, the port must be specified in the URL query named `XTransformPort`. Example: `/api/test?XTransformPort=3030`. +- All API requests must use **relative paths only**. Do NOT write absolute paths in the API request URL (including WebSocket). Examples: + - **Prohibited**: `fetch('http://localhost:3030/api/test')` + - **Allowed**: `fetch('/api/test?XTransformPort=3030')` + - **Prohibited**: `io('/:3030')` + - **Allowed**: `io('/?XTransformPort=3030')` +- When requesting to different services, directly make cross-origin requests without using a proxy. + +IMPORTANT: Do NOT write port in the API request URL, even in WebSocket. Only write `XTransformPort` in the URL query. + +--- + +## WebSocket / Socket.io Support + +IMPORTANT: Use websocket/socket.io to support real-time communication. Do NOT use any other method. There is already a websocket demo for reference in the `examples` folder. + +- Backend logic (via socket.io) must be a new mini service with another port (e.g., 3003). +- Frontend request should ALWAYS be `io("/?XTransformPort={Port}")`, and the path ALWAYS be `/` so that Caddy can forward to the correct port. +- NEVER use `io("http://localhost:{Port}")` or any direct port-based connection. + +--- + +## Code Style + +- Prefer to use existing components and hooks. +- TypeScript throughout with strict typing. +- ES6+ import/export syntax. +- shadcn/ui components preferred over custom implementations. +- Use `'use client'` and `'use server'` for client and server side code. +- The Prisma schema primitive type cannot be a list. +- Put the Prisma schema in the `prisma` folder. +- Put the db file in the `db` folder. + +--- + +## Styling + +1. Use the shadcn/ui library unless the user specifies otherwise. +2. Avoid using indigo or blue colors unless specified in the user's request. +3. MUST generate responsive designs. +4. The Code Project is rendered on top of a white background. If a different background color is needed, use a wrapper element with a background color Tailwind class. + +--- + +## UI/UX Design Standards + +### Visual Design + +- **Color System**: Use Tailwind CSS built-in variables (`bg-primary`, `text-primary-foreground`, `bg-background`). +- **Color Restriction**: NO indigo or blue colors unless explicitly requested. +- **Theme Support**: Implement light/dark mode with `next-themes`. +- **Typography**: Consistent hierarchy with proper font weights and sizes. + +### Responsive Design (MANDATORY) + +- **Mobile-First**: Design for mobile, then enhance for desktop. +- **Breakpoints**: Use Tailwind responsive prefixes (`sm:`, `md:`, `lg:`, `xl:`). +- **Touch-Friendly**: Minimum 44px touch targets for interactive elements. + +### Layout (MANDATORY) + +- **Sticky Footer Required**: If a `footer` exists, it MUST stick to the bottom of the viewport when content is shorter than one screen height (no floating/empty gap below). +- **Natural Push on Overflow**: When content exceeds the viewport height, the footer MUST be pushed down naturally (never overlay or cover content). +- **Recommended Implementation (Tailwind)**: Use a root wrapper with `min-h-screen flex flex-col`, and apply `mt-auto` to the `footer`. +- **Mobile Safe Area**: On devices with safe areas (e.g., iOS), the footer MUST respect bottom safe area insets when applicable. + +### Accessibility (MANDATORY) + +- **Semantic HTML**: Use `main`, `header`, `nav`, `section`, `article`. +- **ARIA Support**: Proper roles, labels, and descriptions. +- **Screen Readers**: Use `sr-only` class for screen reader content. +- **Alt Text**: Descriptive alt text for all images. +- **Keyboard Navigation**: Ensure all elements are keyboard accessible. + +### Interactive Elements + +- **Loading States**: Show spinners/skeletons during async operations. +- **Error Handling**: Clear, actionable error messages. +- **Feedback**: Toast notifications for user actions. +- **Animations**: Subtle Framer Motion transitions (hover, focus, page transitions). +- **Hover Effects**: Interactive feedback on all clickable elements. + +### Sandbox Preview Instructions (CRITICAL) + +This project runs in a restricted cloud sandbox environment. + +- **NEVER** instruct the user to visit `http://localhost:3000`, `127.0.0.1`, or any local ports directly. These addresses are internal and not accessible to the user. +- **ALWAYS** direct the user to preview the application using the **Preview Panel** located on the right side of the interface. +- **ALWAYS** inform the user about how to view the application externally based on their platform: + - If they are using the web interface, tell them they can click the **"Open in New Tab"** button above the Preview Panel to view it in a separate browser tab. + - If they are communicating through an IM (Instant Messaging) platform, provide them directly with the generated preview link. + +### Post-Launch Self-Verification with Agent Browser (MANDATORY) + +When the Next.js project has started successfully (dev server running on port 3000 without fatal errors in `/home/z/my-project/dev.log`), you MUST NOT consider the task complete based on a clean build alone. A passing lint and a running server do **not** prove the website actually works for the user. + +You MUST use **Agent Browser** to perform end-to-end self-verification before reporting completion: + +1. **Open the page** + - Use Agent Browser to navigate to the `/` route (the only user-visible route). + - Wait for the page to fully load and capture the rendered result. + +2. **Verify it renders, not just responds** + - Confirm the page is visually rendered (no blank/white screen, no error boundary, no hydration crash). + - Cross-check against `/home/z/my-project/dev.log` for any runtime errors, failed API calls, or hydration mismatches that appeared during the visit. + +3. **Verify core interactivity (the golden path)** + - Exercise the primary user flows you just built: click the main buttons, submit the key forms, trigger navigation/tabs/modals, and confirm each produces the expected result. + - For data-driven features, confirm the frontend actually receives and displays backend/API data (not just an empty skeleton or a loading spinner that never resolves). + - For real-time features (WebSocket/socket.io), confirm messages flow end-to-end. + +4. **Check responsiveness and the sticky footer** + - Verify the layout holds on both mobile and desktop widths. + - Confirm the footer sticks to the bottom on short pages and is pushed down naturally on long pages (no overlap, no floating gap). + +5. **Fix and re-verify** + - If Agent Browser surfaces any broken interaction, console/runtime error, missing data, or layout defect, you MUST fix the root cause and re-run the self-verification loop. + - Repeat until the page loads cleanly **and** every core interaction works. + +6. **Report honestly** + - Only after Agent Browser confirms the site is interactive and runnable may you report the task as done. + - If a specific flow genuinely cannot be verified in the browser, say so explicitly rather than claiming success. + +**CRITICAL:** "It compiles" / "the server is up" is never sufficient evidence of completion. Browser-verified interactivity is the required standard of done. diff --git a/skills/get-fortune-analysis/SKILL.md b/skills/get-fortune-analysis/SKILL.md new file mode 100755 index 0000000..0f67224 --- /dev/null +++ b/skills/get-fortune-analysis/SKILL.md @@ -0,0 +1,370 @@ +--- +name: get-fortune-analysis +description: 生成视觉华丽、内容详实、具有仪式感的流年运势报告(流金星象风格)。 +--- +# Skill Name: get-fortune-analysis +# Version: 4.1.0 +# Description: 生成视觉华丽、内容详实、具有仪式感的流年运势报告(流金星象风格)。 + +## 1. Input Parameters +| Parameter | Type | Description | +| :--- | :--- | :--- | +| `birth_year`, `birth_month`, `birth_day`, `birth_hour` | Integer | 用户出生时间 | +| `focus_type` | String | (可选) "事业", "财运", "情感" | + +## 2. Workflow + +### Step 1: Calculation (Python) +调用 `get_cyber_divination_data` 获取 `bazi` (八字基础) 和 `fortune` (流年十神) 数据。 + +### Step 2: Reasoning (深度分析模式) +基于 `bazi` 和 `fortune` 进行多维度推理。 +**文案要求:** +* **口吻**:温暖、笃定、专业,类似资深命理师或星座专家的语气。 +* **结构**: + 1. **年度关键词**:4个字,精准概括全年基调(如“破茧成蝶”)。 + 2. **核心能量**:解释流年十神对用户命局的深层影响(30-50字)。 + 3. **事业/财运**:具体的职场发展路径和财富机遇分析(50-80字)。 + 4. **情感/人际**:人际关系模式与情感走向分析(50-80字)。 + +### Step 3: JSON Output +生成适配前端的 JSON 数据。 + +```json +{ + "fortune_report": { + "score": 88, + "keyword": "灵感迸发 · 贵人引路", + "user_tag": "丁火 (身弱)", + "stars": { + "c": "★★★★☆", + "w": "★★★☆☆", + "l": "★★★★★" + }, + "analysis": { + "overview": "2026 丙午流年,火气旺盛,对你而言是充满灵性与机遇的一年。虽然竞争压力(比劫)增大,但也激活了你命局中的‘印星’能量。这意味着今年你的直觉力、学习力将达到巅峰,是沉淀自我、弯道超车的最佳时机。", + "career": "今年不适合盲目扩张,适合‘深耕’。职场上会遇到强有力的女性贵人或资深导师,给你带来关键性的指点。若从事创意、咨询、教育行业,今年极易出成果。切记:多听少说,以柔克刚。", + "love": "情感方面,桃花星悄然绽放。单身者极易在学习场所、图书馆或艺术展上邂逅精神契合的伴侣;有伴侣者,今年是进行深度沟通、解决历史遗留问题的破冰之年,关系将升华到精神层面。" + } + } +}``` + + +### 2. 前端展示代码 (`result_card.html`) + +*修改点:在首页(`ritual-layer`)增加了动态生成漂浮二进制代码的逻辑。代码粒子是半透明的金色/白色,缓慢上升并消散,营造神秘的数据空间感。* + +```html + + + + + + 2026 流年运势书 + + + + + +
+ +
+
+ +
+
+ + + + + +
+ +
+
+ + + +
+
+
长按开启 2026 运势书
+
+
+ +
+
+
FORTUNE REPORT 2026
+
0
+
读取中...
+
+ 日主:-- +
+
+
+
事业前程 Career★★★★☆
+
财富机缘 Wealth★★★☆☆
+
情感关系 Love★★★★★
+
+
+
年度总批 Overview
+
正在解析星盘数据...
+
+
+
事业与财富
+
...
+
+
+
情感与建议
+
...
+
+ +
+
+ + + + \ No newline at end of file diff --git a/skills/get-fortune-analysis/lunar_python.py b/skills/get-fortune-analysis/lunar_python.py new file mode 100755 index 0000000..2aef1b2 --- /dev/null +++ b/skills/get-fortune-analysis/lunar_python.py @@ -0,0 +1,91 @@ +pip install lunar_python +import datetime +from lunar_python import Lunar, Solar + +def get_cyber_divination_data(birth_year, birth_month, birth_day, birth_hour=0, birth_minute=0): + """ + 赛博算命核心算法 v2.1 + - 输出适配 HTML 前端渲染 + """ + + # --- 基础配置 (简化版) --- + GAN_WU_XING = {"甲": "木", "乙": "木", "丙": "火", "丁": "火", "戊": "土", "己": "土", "庚": "金", "辛": "金", "壬": "水", "癸": "水"} + ZHI_WU_XING = {"子": "水", "丑": "土", "寅": "木", "卯": "木", "辰": "土", "巳": "火", "午": "火", "未": "土", "申": "金", "酉": "金", "戌": "土", "亥": "水"} + RELATIONSHIP = { + "木": {"木": "同", "火": "生", "土": "克", "金": "被克", "水": "被生"}, + "火": {"木": "被生", "火": "同", "土": "生", "金": "克", "水": "被克"}, + "土": {"木": "被克", "火": "被生", "土": "同", "金": "生", "水": "克"}, + "金": {"木": "克", "火": "被克", "土": "被生", "金": "同", "水": "生"}, + "水": {"木": "生", "火": "克", "土": "被克", "金": "被生", "水": "同"} + } + TEN_GODS = { + "同_同": "比肩 (Friend)", "异_同": "劫财 (Rob)", + "同_生": "食神 (Artist)", "异_生": "伤官 (Rebel)", + "同_克": "偏财 (Windfall)", "异_克": "正财 (Salary)", + "同_被克": "七杀 (7-Killings)", "异_被克": "正官 (Officer)", + "同_被生": "偏印 (Owl)", "异_被生": "正印 (Seal)" + } + + # --- 1. 排盘 --- + solar = Solar.fromYmdHms(birth_year, birth_month, birth_day, birth_hour, birth_minute, 0) + lunar = Lunar.fromSolar(solar) + ba_zi = lunar.getEightChar() + day_master = ba_zi.getDayGan() + dm_element = GAN_WU_XING[day_master] + dm_yin_yang = "阳" if day_master in ["甲", "丙", "戊", "庚", "壬"] else "阴" + + # --- 2. 辅助函数 --- + def get_ten_god(target_gan): + if not target_gan: return "" + target_element = GAN_WU_XING.get(target_gan) or ZHI_WU_XING.get(target_gan) + rel = RELATIONSHIP[dm_element].get(target_element, "同") + + # 简化阴阳判定 + target_yy = "阳" if target_gan in ["甲", "丙", "戊", "庚", "壬", "寅", "申", "巳", "亥"] else "阴" + is_same = (dm_yin_yang == target_yy) + key = f"{'同' if is_same else '异'}_{rel if rel in ['生','克','被生','被克'] else '同'}" + return TEN_GODS.get(key, "未知") + + # --- 3. 旺衰硬规则 --- + score = 0 + month_zhi = ba_zi.getMonthZhi() + m_ele = ZHI_WU_XING[month_zhi] + + # 得令 (+40) + if RELATIONSHIP[dm_element][m_ele] in ["同", "被生"]: score += 40 + elif RELATIONSHIP[dm_element][m_ele] == "被克": score -= 20 + + # 得地 (+15/each) + for zhi in [ba_zi.getYearZhi(), ba_zi.getDayZhi(), ba_zi.getTimeZhi()]: + if ZHI_WU_XING[zhi] == dm_element: score += 15 + + body_strength = "身强 (Strong)" if score >= 40 else "身弱 (Weak)" + strength_cn = "身强" if score >= 40 else "身弱" + + # --- 4. 流年 --- + current_year = datetime.datetime.now().year + # 简单的流年计算 (以立春为界需要更复杂逻辑,这里简化取当年农历年干支) + # 修正:直接用 Lunar 获取当年的干支 + current_lunar = Lunar.fromYmd(current_year, 6, 1) + annual_gan = current_lunar.getYearGan() + annual_zhi = current_lunar.getYearZhi() + + annual_god = get_ten_god(annual_gan) + + return { + "meta": { + "solar_date": f"{birth_year}-{birth_month}-{birth_day}", + "lunar_date": f"{lunar.getYearInChinese()}年{lunar.getMonthInChinese()}月{lunar.getDayInChinese()}" + }, + "bazi": { + "day_master": day_master, + "element": dm_element, + "strength": strength_cn, + "score": score + }, + "fortune": { + "current_year": f"{current_year} ({annual_gan}{annual_zhi})", + "year_god": annual_god.split(" ")[0], # 只取中文名,如 "七杀" + "lucky_direction": lunar.getDayPositionCaiDesc() # 财神方位 + } + } \ No newline at end of file diff --git a/skills/gift-evaluator/SKILL.md b/skills/gift-evaluator/SKILL.md new file mode 100755 index 0000000..e392744 --- /dev/null +++ b/skills/gift-evaluator/SKILL.md @@ -0,0 +1,83 @@ +--- +name: gift-evaluator +description: The PRIMARY tool for Spring Festival gift analysis and social interaction generation. Use this skill when users upload photos of gifts (alcohol, tea, supplements, etc.) to inquire about their value, authenticity, or how to respond socially. Integrates visual perception, market valuation, and HTML card generation. +license: Internal Tool +--- + +This skill transforms the assistant into an "AI Gift Appraiser" (春节礼品鉴定师). It bridges the gap between raw visual data and complex social context. It is designed to handle the full lifecycle of a user's request: identifying the object, determining its market and social value, and producing a shareable, gamified HTML artifact. + +## Agent Thinking Strategy + +Before and during the execution of tools, maintain a "High EQ" and "Market-Savvy" mindset. You are not just identifying objects; you are decoding social relationships. + +1. **Visual Extraction (The Eye)**: + * Call the vision tool to get a raw description. + * **CRITICAL**: Read the raw description carefully. Extract specific entities: Brand names (e.g., "Moutai", "Dior"), Vintages, Packaging details (e.g., "Dusty bottle" implies old stock, "Gift box" implies formality). + +2. **Valuation Logic (The Brain)**: + * **Price Anchoring**: Use search tools to find the *current* market price. + * **Social Labeling**: Classify the gift based on price and intent: + * `luxury`: High value (> ¥1000), "Hard Currency". + * `standard`: Festive, safe choices (¥200 - ¥1000). + * `budget`: Practical, funny, or cheap (< ¥200). + +3. **Creative Synthesis (The Mouth)**: + * **Deep Critique**: Generate a "Roast" (毒舌点评) of **at least 50 words**. It must combine the visual details (e.g., dust, packaging color) with the price reality. Be spicy but insightful. + * **Structured Strategy**: You must structure the "Thank You Notes" and "Return Gift Ideas" into JSON format for the UI to render. + +## Tool Usage Guidelines +### 1. The Perception Phase (Visual Analysis) +Purpose: Utilizing VLM skills to conduct a multi-dimensional visual decomposition of the uploaded product image. This process automatically identifies and extracts structured data including Brand Recognition, Product Style, Packaging Design, and Aesthetic Category. + +**Output Analysis**: + +* The tool returns a raw string content. Read it to extract keywords for the next step. + +### 2. The Valuation Phase (Search) + +**Purpose**: Validate the product's worth. +**Command**:search "EXTRACTED_KEYWORDS + price + review" + + +### 3. The Content Structuring Phase (Reasoning) + +**Purpose**: Prepare the data for the HTML generator. **Do not call a tool here, just think and format strings.** + +1. **Construct `thank_you_json**`: Create 3 distinct styles of private messages. +* *Format*: `[{"style": "Style Name", "content": "Message..."}]` +* *Requirement*: +* Style 1: "Decent/Formal" (for elders/bosses). +* Style 2: "Friendly/Warm" (for peers/relatives). +* Style 3: "Humorous/Close" (for best friends). + + +2. **Construct `return_gift_json**`: Analyze 4 potential giver personas. +* *Format*: `[{"target": "If giver is...", "item": "Suggest...", "reason": "Why..."}]` +* *Requirement*: Suggestions must include Age/Gender/Relation analysis (e.g., "If giver is an elder male", "If giver is a peer female"). +* *Value Logic*: Adhere to the principle of Value Reciprocity. The return gift's value should primarily match the received gift's value, while adjusting slightly based on the giver's status (e.g., seniority or intimacy). + + +### 4. The Creation Phase (Render) + +**Purpose**: Package the analysis into a modern, interactive HTML card. +**HTML Generation**: + * *Constraint*: The `image_url` parameter in the Python command MUST be the original absolute path.`output_path` must be the full path. + * *Command*: + ```bash + python3 html_tools.py generate_gift_card \ + --product_name "EXTRACTED_NAME" \ + --price "ESTIMATED_PRICE" \ + --evaluation "YOUR_LONG_AND_SPICY_CRITIQUE" \ + --thank_you_json '[{"style":"...","content":"..."}]' \ + --return_gift_json '[{"target":"...","item":"...","reason":"..."}]' \ + --vibe_code "luxury|standard|budget" \ + --image_url "IMAGE_FILE_PATH" \ + --output_path "TARGET_FILE_PATH" + ``` + +## Operational Rules + +1. **JSON Formatting**: The `thank_you_json` and `return_gift_json` arguments MUST be valid JSON strings using double quotes. Do not wrap them in code blocks inside the command. +2. **Critique Depth**: The `evaluation` text must be rich. Don't just say "It's expensive." Say "This 2018 vintage shows your uncle raided his personal cellar; the label wear proves it's real." +3. **Vibe Consistency**: Ensure `vibe_code` matches the `price` assessment. +4. **Final Output**: Always present the path to the generated HTML file. diff --git a/skills/gift-evaluator/html_tools.py b/skills/gift-evaluator/html_tools.py new file mode 100755 index 0000000..3353aee --- /dev/null +++ b/skills/gift-evaluator/html_tools.py @@ -0,0 +1,268 @@ +import os +import argparse +import json +import html +import base64 +import mimetypes +import urllib.request + +def generate_gift_card(product_name, price, evaluation, thank_you_json, return_gift_json, vibe_code, image_url, output_path="gift_card_result.html"): + """ + 生成现代风格的交互式礼品鉴定卡片。 + """ + + # --- 图片转 Base64 逻辑 (保持上一步功能) --- + final_image_src = image_url + try: + image_data = None + mime_type = None + if image_url.startswith(('http://', 'https://')): + req = urllib.request.Request(image_url, headers={'User-Agent': 'Mozilla/5.0'}) + with urllib.request.urlopen(req, timeout=10) as response: + image_data = response.read() + mime_type = response.headers.get_content_type() + else: + if os.path.exists(image_url): + mime_type, _ = mimetypes.guess_type(image_url) + with open(image_url, "rb") as f: + image_data = f.read() + + if image_data: + if not mime_type: mime_type = "image/jpeg" + b64_str = base64.b64encode(image_data).decode('utf-8') + final_image_src = f"data:{mime_type};base64,{b64_str}" + + except Exception as e: + print(f"⚠️ 图片转换 Base64 失败,使用原链接。错误: {e}") + + # --- 1. 数据解析 --- + try: + thank_you_data = json.loads(thank_you_json) + except: + thank_you_data = [{"style": "通用版", "content": thank_you_json}] + + try: + return_gift_data = json.loads(return_gift_json) + except: + return_gift_data = [{"target": "通用建议", "item": return_gift_json, "reason": "万能回礼"}] + + # --- 2. 风格配置 --- + styles = { + "luxury": { + "page_bg": "bg-neutral-900", + "card_bg": "bg-neutral-900/80 backdrop-blur-xl border border-white/10", + "text_main": "text-white", "text_sub": "text-neutral-400", + "accent": "text-amber-400", "tag_bg": "bg-amber-400/20 text-amber-400", + "btn_hover": "hover:bg-amber-400 hover:text-black", + "img_bg": "bg-neutral-800" # 图片衬底色 + }, + "standard": { + "page_bg": "bg-stone-200", + "card_bg": "bg-white/95 backdrop-blur-xl border border-stone-200", + "text_main": "text-stone-800", "text_sub": "text-stone-500", + "accent": "text-red-600", "tag_bg": "bg-red-50 text-red-600", + "btn_hover": "hover:bg-red-600 hover:text-white", + "img_bg": "bg-stone-100" + }, + "budget": { + "page_bg": "bg-yellow-50", + "card_bg": "bg-white border-4 border-black shadow-[8px_8px_0px_0px_rgba(0,0,0,1)]", + "text_main": "text-black", "text_sub": "text-gray-600", + "accent": "text-blue-600", "tag_bg": "bg-black text-white", + "btn_hover": "hover:bg-blue-600 hover:text-white", + "img_bg": "bg-gray-200" + } + } + st = styles.get(vibe_code, styles["standard"]) + if "img_bg" not in st: st["img_bg"] = "bg-black/5" # 兼容兜底 + + # --- 3. 辅助逻辑 --- + is_dark_mode = "text-white" in st['text_main'] + bubble_bg = "bg-white/10 border-white/10" if is_dark_mode else "bg-black/5 border-black/5" + bubble_hover = "hover:bg-white/20" if is_dark_mode else "hover:bg-black/10" + divider_color = "border-white/20" if is_dark_mode else "border-black/10" + + # --- 4. HTML 构建 --- + thank_you_html = "" + for item in thank_you_data: + thank_you_html += f""" +
+
+ {item['style']} + + + 点击复制 + +
+

{item['content']}

+
+ ✓ 已复制 +
+
+ """ + + return_gift_html = "" + for item in return_gift_data: + return_gift_html += f""" +
+
+
+
{item['target']}
+
+
{item['item']}
+
{item['reason']}
+
+ """ + + html_content = f""" + + + + + + 礼品鉴定报告 + + + + + +
+ +
+ +
+ + +
+ +
+
+ AI Gift Analysis +
+

{product_name}

+
+ 当前估值 + {price} +
+
+
+ +
+
+ +

+ + 专家鉴定评价 +

+ +
+ {evaluation} +
+ +
+
AI
+
+ 首席鉴定官 + Verified Analysis +
+
+
+
+ +
+
+
+
+ +
+
+

私信回复话术

+

高情商回复,点击卡片即可复制

+
+
+
+ {thank_you_html} +
+
+ +
+
+
+ +
+
+

推荐回礼策略

+

基于价格区间的最优解

+
+
+
+ {return_gift_html} +
+
+ +
+

Designed by AI Gift Agent • 春节特别版

+
+
+
+ + + + + """ + + try: + directory = os.path.dirname(output_path) + if directory: + os.makedirs(directory, exist_ok=True) + with open(output_path, "w", encoding="utf-8") as f: + f.write(html_content) + return os.path.abspath(output_path) + except Exception as e: + return f"Error saving HTML file: {str(e)}" + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Generate Gift Card HTML") + parser.add_argument("action", nargs="?", help="Action command") + parser.add_argument("--product_name", required=True) + parser.add_argument("--price", required=True) + parser.add_argument("--evaluation", required=True) + parser.add_argument("--thank_you_json", required=True) + parser.add_argument("--return_gift_json", required=True) + parser.add_argument("--vibe_code", required=True) + parser.add_argument("--image_url", required=True) + parser.add_argument("--output_path", required=True) + + args = parser.parse_args() + + result_path = generate_gift_card( + product_name=args.product_name, + price=args.price, + evaluation=args.evaluation, + thank_you_json=args.thank_you_json, + return_gift_json=args.return_gift_json, + vibe_code=args.vibe_code, + image_url=args.image_url, + output_path=args.output_path + ) + + print(f"HTML Card generated successfully: {result_path}") \ No newline at end of file diff --git a/skills/image-edit/LICENSE.txt b/skills/image-edit/LICENSE.txt new file mode 100755 index 0000000..1e54539 --- /dev/null +++ b/skills/image-edit/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 z-ai-web-dev-sdk Skills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/image-edit/SKILL.md b/skills/image-edit/SKILL.md new file mode 100755 index 0000000..1153bee --- /dev/null +++ b/skills/image-edit/SKILL.md @@ -0,0 +1,896 @@ +--- +name: image-edit +description: Implement AI image editing and modification capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to edit existing images, create variations, modify visual content, redesign assets, or transform images based on text descriptions. Supports multiple image sizes and returns base64 encoded results. Also includes CLI tool for quick image editing. +license: MIT +--- + +# Image Edit Skill + +This skill guides the implementation of image editing and modification functionality using the z-ai-web-dev-sdk package and CLI tool, enabling intelligent transformation and editing of images based on text descriptions. + +## Skills Path + +**Skill Location**: `{project_path}/skills/image-edit` + +this skill is located at above path in your project. + +**Reference Scripts**: Example test scripts are available in the `{Skill Location}/scripts/` directory for quick testing and reference. See `{Skill Location}/scripts/image-edit.ts` for a working example. + +## Overview + +Image Edit allows you to build applications that modify, transform, and enhance existing images using AI models. Perfect for redesigning assets, creating variations, improving visual content, and transforming images based on textual descriptions. + +**IMPORTANT**: z-ai-web-dev-sdk MUST be used in backend code only. Never use it in client-side code. + +## SDK API Method + +The image editing functionality uses the following API method: + +```javascript +await zai.images.generations.edit({ + prompt: string, // Required: Description of the edit to apply + images: [{ url: string }], // Required: Array with image URL or base64 data URL + size?: string, // Optional: Output size (default: '1024x1024') + model?: string // Optional: Model name +}) +``` + +**Important**: The `images` parameter must be an array of objects with a `url` property, not a plain string. + +**API Endpoint**: `POST /images/generations/edit` + +**Returns**: `ImageGenerationResponse` with base64 encoded edited image + +## Prerequisites + +The z-ai-web-dev-sdk package is already installed. Import it as shown in the examples below. + +## Basic Image Editing + +### Simple Image Transformation + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function editImage(imageSource, editPrompt, outputPath, size = '1024x1024') { + const zai = await ZAI.create(); + + const response = await zai.images.generations.edit({ + prompt: editPrompt, + images: [{ url: imageSource }], // Array of objects with url property + size: size + }); + + const imageBase64 = response.data[0].base64; + + // Save edited image + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + console.log(`Edited image saved to ${outputPath}`); + return outputPath; +} + +// Usage - Using remote image URL +await editImage( + 'https://example.com/landscape.jpg', + 'Transform this landscape into a night scene with stars and moon', + './landscape_night.png' +); + +// Usage - Using local image converted to base64 +import { readFileSync } from 'fs'; +const imageBuffer = readFileSync('./photo.jpg'); +const base64Image = imageBuffer.toString('base64'); +const dataUrl = `data:image/jpeg;base64,${base64Image}`; + +await editImage( + dataUrl, + 'Change the cat to a dog, keep everything else the same', + './dog_version.png' +); +``` + +### Create Image Variations + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function createVariation(imageSource, baseDescription, variation, outputPath, size = '1024x1024') { + const zai = await ZAI.create(); + + // Combine base description with variation request + const prompt = `${baseDescription}, ${variation}`; + + const response = await zai.images.generations.edit({ + prompt: prompt, + images: [{ url: imageSource }], + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + return { + path: outputPath, + prompt: prompt, + variation: variation + }; +} + +// Usage - Create variations from original image +await createVariation( + 'https://example.com/headshot.jpg', + 'Professional headshot photo', + 'with blue background instead of gray', + './headshot_blue.png' +); + +await createVariation( + './smartphone.png', + 'Product photo of smartphone', + 'on wooden table instead of white background', + './product_wood.png' +); +``` + +### Multiple Image Sizes for Editing + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +// Supported sizes +const SUPPORTED_SIZES = [ + '1024x1024', // Square + '768x1344', // Portrait + '864x1152', // Portrait + '1344x768', // Landscape + '1152x864', // Landscape + '1440x720', // Wide landscape + '720x1440' // Tall portrait +]; + +async function editImageWithSize(imageSource, editPrompt, size, outputPath) { + if (!SUPPORTED_SIZES.includes(size)) { + throw new Error(`Unsupported size: ${size}. Use one of: ${SUPPORTED_SIZES.join(', ')}`); + } + + const zai = await ZAI.create(); + + const response = await zai.images.generations.edit({ + prompt: editPrompt, + images: [{ url: imageSource }], + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + return { + path: outputPath, + size: size, + fileSize: buffer.length + }; +} + +// Usage - Edit with different aspect ratios +await editImageWithSize( + './logo.png', + 'Redesign the logo to be more modern and minimalist', + '1024x1024', + './logo_redesigned.png' +); + +await editImageWithSize( + 'https://example.com/portrait.jpg', + 'Transform the portrait to landscape orientation, sunset lighting', + '1344x768', + './portrait_landscape.png' +); +``` + +## CLI Tool Usage + +The z-ai CLI tool provides a convenient way to edit images directly from the command line. + +### Basic CLI Usage + +```bash +# Edit image with full options +z-ai image-edit --prompt "Change the background to sunset colors" --image "./photo.png" --output "./edited.png" + +# Short form +z-ai image-edit -p "Make it darker and moodier" -i "./original.jpg" -o "./moody.png" + +# Specify output size +z-ai image-edit -p "Redesign in modern style" -i "./design.png" -o "./modern.png" -s 1344x768 + +# Using remote image URL +z-ai image-edit -p "Convert to landscape orientation" -i "https://example.com/photo.png" -o "./landscape.png" -s 1344x768 +``` + +### CLI Parameters + +- `--prompt, -p`: **Required** - Description of the edit to apply +- `--image, -i`: **Required** - Original image URL or local file path +- `--output, -o`: **Required** - Output image file path (PNG format) +- `--size, -s`: Optional - Image size, default is 1024x1024 +- `--help, -h`: Optional - Display help information + +### Supported Sizes + +- `1024x1024`, `768x1344`, `864x1152`, `1344x768`, `1152x864`, `1440x720`, `720x1440` + +### CLI Use Cases for Image Editing + +```bash +# Redesign existing asset +z-ai image-edit -p "Redesign the logo with gradients and modern styling" -i "./logo.png" -o "./logo_v2.png" -s 1024x1024 + +# Change color scheme +z-ai image-edit -p "Change color scheme to blue and white, professional style" -i "./original.png" -o "./recolored.png" -s 1440x720 + +# Style transformation +z-ai image-edit -p "Transform to oil painting style, vibrant colors" -i "./photo.jpg" -o "./oil_painting.png" -s 1152x864 + +# Background replacement +z-ai image-edit -p "Replace background with modern office setting" -i "./portrait.png" -o "./new_background.png" -s 1344x768 + +# Lighting adjustment +z-ai image-edit -p "Adjust to golden hour lighting, warm tones" -i "./landscape.jpg" -o "./golden_hour.png" -s 1024x1024 + +# Element modification +z-ai image-edit -p "Replace the red car with a blue motorcycle" -i "./scene.png" -o "./modified.png" -s 1344x768 + +# Mood transformation +z-ai image-edit -p "Transform to dark moody atmosphere with dramatic lighting" -i "./bright.jpg" -o "./moody.png" -s 1440x720 + +# Using remote image URL +z-ai image-edit -p "Add a hat to the person" -i "https://example.com/photo.png" -o "./result.png" -s 1024x1024 +``` + +## Advanced Use Cases + +### Batch Image Editing + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +async function batchEditImages(editInstructions, outputDir, size = '1024x1024') { + const zai = await ZAI.create(); + + // Ensure output directory exists + if (!fs.existsSync(outputDir)) { + fs.mkdirSync(outputDir, { recursive: true }); + } + + const results = []; + + for (let i = 0; i < editInstructions.length; i++) { + try { + const instruction = editInstructions[i]; + const filename = `edited_${i + 1}.png`; + const outputPath = path.join(outputDir, filename); + + const response = await zai.images.generations.edit({ + prompt: instruction.prompt, + images: [{ url: instruction.imageSource }], + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + results.push({ + success: true, + instruction: instruction.prompt, + path: outputPath, + size: buffer.length + }); + + console.log(`✓ Edited: ${filename}`); + } catch (error) { + results.push({ + success: false, + instruction: editInstructions[i].prompt, + error: error.message + }); + + console.error(`✗ Failed: ${editInstructions[i].prompt} - ${error.message}`); + } + } + + return results; +} + +// Usage - Create multiple variations from the same image +const editInstructions = [ + { + imageSource: './original.jpg', + prompt: 'Change background to blue gradient' + }, + { + imageSource: './original.jpg', + prompt: 'Transform to black and white, high contrast' + }, + { + imageSource: './original.jpg', + prompt: 'Add sunset lighting effects' + } +]; + +const results = await batchEditImages(editInstructions, './edited-images'); +console.log(`Edited ${results.filter(r => r.success).length} images`); +``` + +### Image Editing Service + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; +import crypto from 'crypto'; + +class ImageEditingService { + constructor(outputDir = './edited-images') { + this.outputDir = outputDir; + this.zai = null; + this.editHistory = []; + } + + async initialize() { + this.zai = await ZAI.create(); + + if (!fs.existsSync(this.outputDir)) { + fs.mkdirSync(this.outputDir, { recursive: true }); + } + } + + generateFilename(editPrompt) { + const hash = crypto + .createHash('md5') + .update(`${editPrompt}-${Date.now()}`) + .digest('hex') + .substring(0, 8); + + return `edited_${hash}.png`; + } + + async edit(imageSource, editPrompt, options = {}) { + const { + size = '1024x1024', + saveToHistory = true, + filename = null + } = options; + + const response = await this.zai.images.generations.edit({ + prompt: editPrompt, + images: [{ url: imageSource }], + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + + // Determine output path + const outputFilename = filename || this.generateFilename(editPrompt); + const outputPath = path.join(this.outputDir, outputFilename); + + fs.writeFileSync(outputPath, buffer); + + const result = { + path: outputPath, + imageSource: imageSource, + editPrompt: editPrompt, + size: size, + fileSize: buffer.length, + timestamp: new Date().toISOString() + }; + + // Save to history + if (saveToHistory) { + this.editHistory.push(result); + } + + return result; + } + + async createVariations(imageSource, basePrompt, variations, options = {}) { + const results = []; + + for (const variation of variations) { + const fullPrompt = `${basePrompt}, ${variation}`; + const result = await this.edit(imageSource, fullPrompt, options); + result.variation = variation; + results.push(result); + } + + return results; + } + + getEditHistory() { + return this.editHistory; + } + + clearHistory() { + this.editHistory = []; + } +} + +// Usage +const service = new ImageEditingService(); +await service.initialize(); + +// Single edit +const edited = await service.edit( + './original.jpg', + 'Transform to watercolor painting style', + { size: '1024x1024' } +); + +// Multiple variations from the same image +const variations = await service.createVariations( + 'https://example.com/product.png', + 'Professional product photo', + [ + 'with blue background', + 'with wooden surface', + 'with dramatic lighting' + ] +); + +console.log('Edit history:', service.getEditHistory()); +``` + +### Style Transfer and Transformation + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function applyStyleTransfer(imageSource, content, style, outputPath, size = '1024x1024') { + const zai = await ZAI.create(); + + const prompt = `${content} transformed into ${style} style, maintain composition and subject`; + + const response = await zai.images.generations.edit({ + prompt: prompt, + images: [{ url: imageSource }], + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + return { + path: outputPath, + content: content, + style: style + }; +} + +// Usage - Apply different styles to the same image +await applyStyleTransfer( + './portrait.jpg', + 'Portrait photograph', + 'oil painting', + './portrait_oil.png' +); + +await applyStyleTransfer( + 'https://example.com/city.jpg', + 'City landscape', + 'watercolor', + './city_watercolor.png' +); + +await applyStyleTransfer( + './product.png', + 'Product photo', + 'minimalist illustration', + './product_minimal.png' +); +``` + +### Element Replacement + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function replaceElement(imageSource, baseScene, replaceWhat, replaceWith, outputPath, size = '1024x1024') { + const zai = await ZAI.create(); + + const prompt = `${baseScene}, replace ${replaceWhat} with ${replaceWith}, keep everything else identical`; + + const response = await zai.images.generations.edit({ + prompt: prompt, + images: [{ url: imageSource }], + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + return { + path: outputPath, + modification: `${replaceWhat} → ${replaceWith}` + }; +} + +// Usage +await replaceElement( + './workspace.jpg', + 'Office workspace with laptop', + 'laptop', + 'desktop computer with dual monitors', + './workspace_desktop.png' +); + +await replaceElement( + 'https://example.com/living-room.jpg', + 'Living room interior with sofa', + 'blue sofa', + 'brown leather sofa', + './living_room_leather.png' +); +``` + +## Best Practices + +### 1. Effective Edit Prompts + +```javascript +function buildEditPrompt(baseDescription, modification, preserveElements = []) { + const components = [ + baseDescription, + modification + ]; + + if (preserveElements.length > 0) { + components.push(`keep ${preserveElements.join(', ')} unchanged`); + } + + components.push('maintain overall composition'); + + return components.filter(Boolean).join(', '); +} + +// Usage +const editPrompt = buildEditPrompt( + 'Professional headshot photo', + 'change background to modern office', + ['lighting', 'pose', 'expression'] +); + +// Result: "Professional headshot photo, change background to modern office, keep lighting, pose, expression unchanged, maintain overall composition" +``` + +### 2. Size Selection for Different Edit Types + +```javascript +function selectSizeForEdit(editType) { + const sizeMap = { + 'background-change': '1440x720', + 'style-transfer': '1024x1024', + 'color-adjustment': '1024x1024', + 'element-replacement': '1344x768', + 'composition-change': '1152x864', + 'portrait-edit': '768x1344', + 'landscape-edit': '1344x768' + }; + + return sizeMap[editType] || '1024x1024'; +} + +// Usage +const size = selectSizeForEdit('background-change'); +await editImage('Replace background with beach scene', './beach_bg.png', size); +``` + +### 3. Error Handling with Retry + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function safeEditImage(imageSource, editPrompt, size, outputPath, retries = 3) { + let lastError; + + for (let attempt = 1; attempt <= retries; attempt++) { + try { + const zai = await ZAI.create(); + + const response = await zai.images.generations.edit({ + prompt: editPrompt, + images: [{ url: imageSource }], + size: size + }); + + if (!response.data || !response.data[0] || !response.data[0].base64) { + throw new Error('Invalid response from image editing API'); + } + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + return { + success: true, + path: outputPath, + attempts: attempt + }; + } catch (error) { + lastError = error; + console.error(`Attempt ${attempt} failed:`, error.message); + + if (attempt < retries) { + // Wait before retry (exponential backoff) + await new Promise(resolve => setTimeout(resolve, 1000 * attempt)); + } + } + } + + return { + success: false, + error: lastError.message, + attempts: retries + }; +} +``` + +## Common Image Editing Use Cases + +1. **Background Replacement**: Change or remove backgrounds in photos +2. **Style Transformation**: Convert photos to paintings, illustrations, etc. +3. **Color Adjustment**: Change color schemes, saturation, mood +4. **Element Modification**: Replace or modify specific elements +5. **Composition Changes**: Adjust framing, orientation, layout +6. **Lighting Adjustments**: Modify lighting, shadows, highlights +7. **Asset Redesign**: Modernize or rebrand existing designs +8. **Quality Enhancement**: Improve overall visual quality +9. **Variation Creation**: Generate multiple versions of an image +10. **Format Conversion**: Transform between different styles or formats + +## Integration Examples + +### Express.js API Endpoint + +```javascript +import express from 'express'; +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +const app = express(); +app.use(express.json()); +app.use('/edited-images', express.static('edited-images')); + +let zaiInstance; +const outputDir = './edited-images'; + +async function initZAI() { + zaiInstance = await ZAI.create(); + if (!fs.existsSync(outputDir)) { + fs.mkdirSync(outputDir, { recursive: true }); + } +} + +app.post('/api/edit-image', async (req, res) => { + try { + const { + imageSource, // URL or base64 data URL + editPrompt, + size = '1024x1024', + baseDescription = '' + } = req.body; + + if (!imageSource || !editPrompt) { + return res.status(400).json({ + error: 'imageSource and editPrompt are required' + }); + } + + // Combine base description with edit instruction + const fullPrompt = baseDescription + ? `${baseDescription}, ${editPrompt}` + : editPrompt; + + const response = await zaiInstance.images.generations.edit({ + prompt: fullPrompt, + images: [{ url: imageSource }], + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + + const filename = `edited_${Date.now()}.png`; + const filepath = path.join(outputDir, filename); + fs.writeFileSync(filepath, buffer); + + res.json({ + success: true, + imageUrl: `/edited-images/${filename}`, + editPrompt: fullPrompt, + size: size + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +app.post('/api/create-variations', async (req, res) => { + try { + const { + imageSource, // URL or base64 data URL + baseDescription, + variations, + size = '1024x1024' + } = req.body; + + if (!imageSource || !baseDescription || !variations || !Array.isArray(variations)) { + return res.status(400).json({ + error: 'imageSource, baseDescription and variations array are required' + }); + } + + const results = []; + + for (const variation of variations) { + const fullPrompt = `${baseDescription}, ${variation}`; + + const response = await zaiInstance.images.generations.edit({ + prompt: fullPrompt, + images: [{ url: imageSource }], + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + + const filename = `variation_${Date.now()}_${Math.random().toString(36).substr(2, 9)}.png`; + const filepath = path.join(outputDir, filename); + fs.writeFileSync(filepath, buffer); + + results.push({ + variation: variation, + imageUrl: `/edited-images/${filename}` + }); + } + + res.json({ + success: true, + results: results + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +initZAI().then(() => { + app.listen(3000, () => { + console.log('Image editing API running on port 3000'); + }); +}); +``` + +## CLI Integration in Scripts + +### Shell Script for Batch Editing + +```bash +#!/bin/bash + +# Batch edit images with different styles +echo "Creating style variations..." + +ORIGINAL_IMAGE="./product.jpg" +BASE="Professional product photo of laptop" + +z-ai image-edit -p "$BASE, modern minimalist style, white background" -i "$ORIGINAL_IMAGE" -o "./variations/minimal.png" -s 1024x1024 +z-ai image-edit -p "$BASE, dramatic lighting, dark background" -i "$ORIGINAL_IMAGE" -o "./variations/dramatic.png" -s 1024x1024 +z-ai image-edit -p "$BASE, on wooden desk, natural lighting" -i "$ORIGINAL_IMAGE" -o "./variations/natural.png" -s 1024x1024 + +echo "Variations created successfully!" +``` + +## Troubleshooting + +**Issue**: "SDK must be used in backend" +- **Solution**: Ensure z-ai-web-dev-sdk is only used in server-side code + +**Issue**: Invalid size parameter +- **Solution**: Use only supported sizes: 1024x1024, 768x1344, 864x1152, 1344x768, 1152x864, 1440x720, 720x1440 + +**Issue**: Edited image doesn't match intention +- **Solution**: Be more specific in edit prompts. Include what to change AND what to preserve + +**Issue**: CLI command not found +- **Solution**: Ensure z-ai CLI is properly installed and in PATH + +**Issue**: Image quality loss after editing +- **Solution**: Use larger size options and include quality terms in prompts + +**Issue**: Inconsistent results across variations +- **Solution**: Include more specific base description and detailed modification instructions + +## Edit Prompt Engineering Tips + +### Good Edit Prompts +- ✓ "Change background to modern office, keep subject and lighting identical" +- ✓ "Transform to watercolor style, maintain composition and colors" +- ✓ "Replace red car with blue motorcycle, keep road and scenery unchanged" +- ✓ "Adjust to golden hour lighting, preserve all elements" + +### Poor Edit Prompts +- ✗ "make it better" +- ✗ "change something" +- ✗ "different version" + +### Edit Prompt Components +1. **Base Context**: What the image currently represents +2. **Modification**: What specific changes to make +3. **Preservation**: What elements to keep unchanged +4. **Quality**: Desired output quality or style + +### Effective Edit Patterns + +**Background Changes:** +``` +"[Subject description], replace background with [new background], maintain subject lighting and pose" +``` + +**Style Transfers:** +``` +"[Current description] transformed into [style name] style, preserve composition and key elements" +``` + +**Element Replacement:** +``` +"[Scene description], replace [element A] with [element B], keep everything else identical" +``` + +**Color Adjustments:** +``` +"[Image description], change color scheme to [colors], maintain contrast and composition" +``` + +## Supported Image Sizes + +- `1024x1024` - Square (Best for general editing) +- `768x1344` - Portrait +- `864x1152` - Portrait +- `1344x768` - Landscape +- `1152x864` - Landscape +- `1440x720` - Wide landscape +- `720x1440` - Tall portrait + +## Remember + +- Always use z-ai-web-dev-sdk in backend code only +- The SDK is already installed - import as shown +- CLI tool is available for quick image editing +- Be specific about what to change AND what to preserve +- Include base description for better context +- Use appropriate size for the edit type +- Implement retry logic for production applications +- Test edit prompts iteratively for best results +- Consider creating variations to explore options +- Base64 images need to be decoded before saving diff --git a/skills/image-edit/scripts/image-edit.ts b/skills/image-edit/scripts/image-edit.ts new file mode 100755 index 0000000..cafa2a4 --- /dev/null +++ b/skills/image-edit/scripts/image-edit.ts @@ -0,0 +1,36 @@ +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function main(imageSource: string, prompt: string, size: '1024x1024' | '768x1344' | '864x1152' | '1344x768' | '1152x864' | '1440x720' | '720x1440', outFile: string) { + try { + const zai = await ZAI.create(); + + const response = await zai.images.generations.edit({ + prompt, + images: [{ url: imageSource }], // Array of objects with url property + size + }); + + const base64 = response?.data?.[0]?.base64; + if (!base64) { + console.error('No image data returned by the API'); + console.log('Full response:', JSON.stringify(response, null, 2)); + return; + } + + const buffer = Buffer.from(base64, 'base64'); + fs.writeFileSync(outFile, buffer); + console.log(`Edited image saved to ${outFile}`); + } catch (err: any) { + console.error('Image editing failed:', err?.message || err); + } +} + +// Example usage - Edit an image +// You can use either a URL or a base64 data URL for the imageSource +main( + 'https://example.com/photo.jpg', // or use: 'data:image/jpeg;base64,/9j/4AAQ...' + 'Transform this photo to have a sunset background with warm golden tones', + '1024x1024', + './output.png' +); diff --git a/skills/image-generation/LICENSE.txt b/skills/image-generation/LICENSE.txt new file mode 100755 index 0000000..1e54539 --- /dev/null +++ b/skills/image-generation/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 z-ai-web-dev-sdk Skills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/image-generation/SKILL.md b/skills/image-generation/SKILL.md new file mode 100755 index 0000000..5289ce1 --- /dev/null +++ b/skills/image-generation/SKILL.md @@ -0,0 +1,583 @@ +--- +name: image-generation +description: Implement AI image generation capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to create images from text descriptions, generate visual content, create artwork, design assets, or build applications with AI-powered image creation. Supports multiple image sizes and returns base64 encoded images. Also includes CLI tool for quick image generation. +license: MIT +--- + +# Image Generation Skill + +This skill guides the implementation of image generation functionality using the z-ai-web-dev-sdk package and CLI tool, enabling creation of high-quality images from text descriptions. + +## Skills Path + +**Skill Location**: `{project_path}/skills/image-generation` + +this skill is located at above path in your project. + +**Reference Scripts**: Example test scripts are available in the `{Skill Location}/scripts/` directory for quick testing and reference. See `{Skill Location}/scripts/image-generation.ts` for a working example. + +## Overview + +Image Generation allows you to build applications that create visual content from text prompts using AI models, enabling creative workflows, design automation, and visual content production. + +**IMPORTANT**: z-ai-web-dev-sdk MUST be used in backend code only. Never use it in client-side code. + +## Prerequisites + +The z-ai-web-dev-sdk package is already installed. Import it as shown in the examples below. + +## Basic Image Generation + +### Simple Image Creation + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function generateImage(prompt, outputPath) { + const zai = await ZAI.create(); + + const response = await zai.images.generations.create({ + prompt: prompt, + size: '1024x1024' + }); + + const imageBase64 = response.data[0].base64; + + // Save image + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + console.log(`Image saved to ${outputPath}`); + return outputPath; +} + +// Usage +await generateImage( + 'A cute cat playing in the garden', + './cat_image.png' +); +``` + +### Multiple Image Sizes + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +// Supported sizes +const SUPPORTED_SIZES = [ + '1024x1024', // Square + '768x1344', // Portrait + '864x1152', // Portrait + '1344x768', // Landscape + '1152x864', // Landscape + '1440x720', // Wide landscape + '720x1440' // Tall portrait +]; + +async function generateImageWithSize(prompt, size, outputPath) { + if (!SUPPORTED_SIZES.includes(size)) { + throw new Error(`Unsupported size: ${size}. Use one of: ${SUPPORTED_SIZES.join(', ')}`); + } + + const zai = await ZAI.create(); + + const response = await zai.images.generations.create({ + prompt: prompt, + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + return { + path: outputPath, + size: size, + fileSize: buffer.length + }; +} + +// Usage - Different sizes +await generateImageWithSize( + 'A beautiful landscape', + '1344x768', + './landscape.png' +); + +await generateImageWithSize( + 'A portrait of a person', + '768x1344', + './portrait.png' +); +``` + +## CLI Tool Usage + +The z-ai CLI tool provides a convenient way to generate images directly from the command line. + +### Basic CLI Usage + +```bash +# Generate image with full options +z-ai image --prompt "A beautiful landscape" --output "./image.png" + +# Short form +z-ai image -p "A cute cat" -o "./cat.png" + +# Specify size +z-ai image -p "A sunset" -o "./sunset.png" -s 1344x768 + +# Portrait orientation +z-ai image -p "A portrait" -o "./portrait.png" -s 768x1344 +``` + +### CLI Use Cases + +```bash +# Website hero image +z-ai image -p "Modern tech office with diverse team collaborating" -o "./hero.png" -s 1440x720 + +# Product image +z-ai image -p "Sleek smartphone on minimalist desk, professional product photography" -o "./product.png" -s 1024x1024 + +# Blog post illustration +z-ai image -p "Abstract visualization of data flowing through networks" -o "./blog_header.png" -s 1344x768 + +# Social media content +z-ai image -p "Vibrant illustration of community connection" -o "./social.png" -s 1024x1024 + +# Website favicon/logo +z-ai image -p "Simple geometric logo with blue gradient, minimal design" -o "./logo.png" -s 1024x1024 + +# Background pattern +z-ai image -p "Subtle geometric pattern, pastel colors, website background" -o "./bg_pattern.png" -s 1440x720 +``` + +## Advanced Use Cases + +### Batch Image Generation + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +async function generateImageBatch(prompts, outputDir, size = '1024x1024') { + const zai = await ZAI.create(); + + // Ensure output directory exists + if (!fs.existsSync(outputDir)) { + fs.mkdirSync(outputDir, { recursive: true }); + } + + const results = []; + + for (let i = 0; i < prompts.length; i++) { + try { + const prompt = prompts[i]; + const filename = `image_${i + 1}.png`; + const outputPath = path.join(outputDir, filename); + + const response = await zai.images.generations.create({ + prompt: prompt, + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + results.push({ + success: true, + prompt: prompt, + path: outputPath, + size: buffer.length + }); + + console.log(`✓ Generated: ${filename}`); + } catch (error) { + results.push({ + success: false, + prompt: prompts[i], + error: error.message + }); + + console.error(`✗ Failed: ${prompts[i]} - ${error.message}`); + } + } + + return results; +} + +// Usage +const prompts = [ + 'A serene mountain landscape at sunset', + 'A futuristic city with flying cars', + 'An underwater coral reef teeming with life' +]; + +const results = await generateImageBatch(prompts, './generated-images'); +console.log(`Generated ${results.filter(r => r.success).length} images`); +``` + +### Image Generation Service + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; +import crypto from 'crypto'; + +class ImageGenerationService { + constructor(outputDir = './generated-images') { + this.outputDir = outputDir; + this.zai = null; + this.cache = new Map(); + } + + async initialize() { + this.zai = await ZAI.create(); + + if (!fs.existsSync(this.outputDir)) { + fs.mkdirSync(this.outputDir, { recursive: true }); + } + } + + generateCacheKey(prompt, size) { + return crypto + .createHash('md5') + .update(`${prompt}-${size}`) + .digest('hex'); + } + + async generate(prompt, options = {}) { + const { + size = '1024x1024', + useCache = true, + filename = null + } = options; + + // Check cache + const cacheKey = this.generateCacheKey(prompt, size); + + if (useCache && this.cache.has(cacheKey)) { + const cachedPath = this.cache.get(cacheKey); + if (fs.existsSync(cachedPath)) { + return { + path: cachedPath, + cached: true, + prompt: prompt, + size: size + }; + } + } + + // Generate new image + const response = await this.zai.images.generations.create({ + prompt: prompt, + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + + // Determine output path + const outputFilename = filename || `${cacheKey}.png`; + const outputPath = path.join(this.outputDir, outputFilename); + + fs.writeFileSync(outputPath, buffer); + + // Cache result + if (useCache) { + this.cache.set(cacheKey, outputPath); + } + + return { + path: outputPath, + cached: false, + prompt: prompt, + size: size, + fileSize: buffer.length + }; + } + + clearCache() { + this.cache.clear(); + } + + getCacheSize() { + return this.cache.size; + } +} + +// Usage +const service = new ImageGenerationService(); +await service.initialize(); + +const result = await service.generate( + 'A modern office space', + { size: '1440x720' } +); + +console.log('Generated:', result.path); +``` + +### Website Asset Generator + +```bash +# Using CLI for quick website asset generation +z-ai image -p "Modern tech hero banner, blue gradient" -o "./assets/hero.png" -s 1440x720 +z-ai image -p "Team collaboration illustration" -o "./assets/team.png" -s 1344x768 +z-ai image -p "Simple geometric logo" -o "./assets/logo.png" -s 1024x1024 +``` + +## Best Practices + +### 1. Effective Prompt Engineering + +```javascript +function buildEffectivePrompt(subject, style, details = []) { + const components = [ + subject, + style, + ...details, + 'high quality', + 'detailed' + ]; + + return components.filter(Boolean).join(', '); +} + +// Usage +const prompt = buildEffectivePrompt( + 'mountain landscape', + 'oil painting style', + ['sunset lighting', 'dramatic clouds', 'reflection in lake'] +); + +// Result: "mountain landscape, oil painting style, sunset lighting, dramatic clouds, reflection in lake, high quality, detailed" +``` + +### 2. Size Selection Helper + +```javascript +function selectOptimalSize(purpose) { + const sizeMap = { + 'hero-banner': '1440x720', + 'blog-header': '1344x768', + 'social-square': '1024x1024', + 'portrait': '768x1344', + 'product': '1024x1024', + 'landscape': '1344x768', + 'mobile-banner': '720x1440', + 'thumbnail': '1024x1024' + }; + + return sizeMap[purpose] || '1024x1024'; +} + +// Usage +const size = selectOptimalSize('hero-banner'); +await generateImage('website hero image', size, './hero.png'); +``` + +### 3. Error Handling + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function safeGenerateImage(prompt, size, outputPath, retries = 3) { + let lastError; + + for (let attempt = 1; attempt <= retries; attempt++) { + try { + const zai = await ZAI.create(); + + const response = await zai.images.generations.create({ + prompt: prompt, + size: size + }); + + if (!response.data || !response.data[0] || !response.data[0].base64) { + throw new Error('Invalid response from image generation API'); + } + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + fs.writeFileSync(outputPath, buffer); + + return { + success: true, + path: outputPath, + attempts: attempt + }; + } catch (error) { + lastError = error; + console.error(`Attempt ${attempt} failed:`, error.message); + + if (attempt < retries) { + // Wait before retry (exponential backoff) + await new Promise(resolve => setTimeout(resolve, 1000 * attempt)); + } + } + } + + return { + success: false, + error: lastError.message, + attempts: retries + }; +} +``` + +## Common Use Cases + +1. **Website Design**: Generate hero images, backgrounds, and visual assets +2. **Marketing Materials**: Create social media graphics and promotional images +3. **Product Visualization**: Generate product mockups and variations +4. **Content Creation**: Produce blog post illustrations and thumbnails +5. **Brand Assets**: Create logos, icons, and brand imagery +6. **UI/UX Design**: Generate interface elements and illustrations +7. **Game Development**: Create concept art and game assets +8. **E-commerce**: Generate product images and lifestyle shots + +## Integration Examples + +### Express.js API Endpoint + +```javascript +import express from 'express'; +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +const app = express(); +app.use(express.json()); +app.use('/images', express.static('generated-images')); + +let zaiInstance; +const outputDir = './generated-images'; + +async function initZAI() { + zaiInstance = await ZAI.create(); + if (!fs.existsSync(outputDir)) { + fs.mkdirSync(outputDir, { recursive: true }); + } +} + +app.post('/api/generate-image', async (req, res) => { + try { + const { prompt, size = '1024x1024' } = req.body; + + if (!prompt) { + return res.status(400).json({ error: 'Prompt is required' }); + } + + const response = await zaiInstance.images.generations.create({ + prompt: prompt, + size: size + }); + + const imageBase64 = response.data[0].base64; + const buffer = Buffer.from(imageBase64, 'base64'); + + const filename = `img_${Date.now()}.png`; + const filepath = path.join(outputDir, filename); + fs.writeFileSync(filepath, buffer); + + res.json({ + success: true, + imageUrl: `/images/${filename}`, + prompt: prompt, + size: size + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +initZAI().then(() => { + app.listen(3000, () => { + console.log('Image generation API running on port 3000'); + }); +}); +``` + +## CLI Integration in Scripts + +### Shell Script Example + +```bash +#!/bin/bash + +# Generate website assets using CLI +echo "Generating website assets..." + +z-ai image -p "Modern tech hero banner, blue gradient" -o "./assets/hero.png" -s 1440x720 +z-ai image -p "Team collaboration illustration" -o "./assets/team.png" -s 1344x768 +z-ai image -p "Simple geometric logo" -o "./assets/logo.png" -s 1024x1024 + +echo "Assets generated successfully!" +``` + +## Troubleshooting + +**Issue**: "SDK must be used in backend" +- **Solution**: Ensure z-ai-web-dev-sdk is only used in server-side code + +**Issue**: Invalid size parameter +- **Solution**: Use only supported sizes: 1024x1024, 768x1344, 864x1152, 1344x768, 1152x864, 1440x720, 720x1440 + +**Issue**: Generated image doesn't match prompt +- **Solution**: Make prompts more specific and descriptive. Include style, details, and quality terms + +**Issue**: CLI command not found +- **Solution**: Ensure z-ai CLI is properly installed and in PATH + +**Issue**: Image file is corrupted +- **Solution**: Verify base64 decoding and file writing are correct + +## Prompt Engineering Tips + +### Good Prompts +- ✓ "Professional product photography of wireless headphones, white background, studio lighting, high quality" +- ✓ "Mountain landscape at golden hour, oil painting style, dramatic clouds, detailed" +- ✓ "Modern minimalist logo for tech company, blue and white, geometric shapes" + +### Poor Prompts +- ✗ "headphones" +- ✗ "picture of mountains" +- ✗ "logo" + +### Prompt Components +1. **Subject**: What you want to see +2. **Style**: Art style, photography style, etc. +3. **Details**: Specific elements, colors, mood +4. **Quality**: "high quality", "detailed", "professional" + +## Supported Image Sizes + +- `1024x1024` - Square +- `768x1344` - Portrait +- `864x1152` - Portrait +- `1344x768` - Landscape +- `1152x864` - Landscape +- `1440x720` - Wide landscape +- `720x1440` - Tall portrait + +## Remember + +- Always use z-ai-web-dev-sdk in backend code only +- The SDK is already installed - import as shown +- CLI tool is available for quick image generation +- Supported sizes are specific - use the provided list +- Base64 images need to be decoded before saving +- Consider caching for repeated prompts +- Implement retry logic for production applications +- Use descriptive prompts for better results diff --git a/skills/image-generation/scripts/image-generation.ts b/skills/image-generation/scripts/image-generation.ts new file mode 100755 index 0000000..7596f32 --- /dev/null +++ b/skills/image-generation/scripts/image-generation.ts @@ -0,0 +1,28 @@ +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; + +async function main(prompt: string, size: '1024x1024' | '768x1344' | '864x1152' | '1344x768' | '1152x864' | '1440x720' | '720x1440', outFile: string) { + try { + const zai = await ZAI.create(); + + const response = await zai.images.generations.create({ + prompt, + size + }); + + const base64 = response?.data?.[0]?.base64; + if (!base64) { + console.error('No image data returned by the API'); + console.log('Full response:', JSON.stringify(response, null, 2)); + return; + } + + const buffer = Buffer.from(base64, 'base64'); + fs.writeFileSync(outFile, buffer); + console.log(`Image saved to ${outFile}`); + } catch (err: any) { + console.error('Image generation failed:', err?.message || err); + } +} + +main('A cute kitten', '1024x1024', './output.png'); diff --git a/skills/image-understand/LICENSE.txt b/skills/image-understand/LICENSE.txt new file mode 100755 index 0000000..1e54539 --- /dev/null +++ b/skills/image-understand/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 z-ai-web-dev-sdk Skills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/image-understand/SKILL.md b/skills/image-understand/SKILL.md new file mode 100755 index 0000000..2a01bae --- /dev/null +++ b/skills/image-understand/SKILL.md @@ -0,0 +1,855 @@ +--- +name: image-understand +description: Implement specialized image understanding capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to analyze static images, extract visual information, perform OCR, detect objects, classify images, or understand visual content. Optimized for PNG, JPEG, GIF, WebP, and BMP formats. +license: MIT +--- + +# Image Understanding Skill + +This skill provides specialized image understanding functionality using the z-ai-web-dev-sdk package, enabling AI models to analyze, describe, and extract information from static images. + +## Skills Path + +**Skill Location**: `{project_path}/skills/image-understand` + +this skill is located at above path in your project. + +**Reference Scripts**: Example test scripts are available in the `{Skill Location}/scripts/` directory for quick testing and reference. See `{Skill Location}/scripts/image-understand.ts` for a working example. + +## Overview + +Image Understanding focuses specifically on static image analysis, providing capabilities for: +- Image description and scene understanding +- Object detection and recognition +- OCR (Optical Character Recognition) and text extraction +- Image classification and categorization +- Visual content analysis +- Quality assessment +- Accessibility (alt text generation) + +**IMPORTANT**: z-ai-web-dev-sdk MUST be used in backend code only. Never use it in client-side code. + +## Prerequisites + +The z-ai-web-dev-sdk package is already installed. Import it as shown in the examples below. + +## CLI Usage (For Simple Tasks) + +For quick image analysis tasks, you can use the z-ai CLI instead of writing code. This is ideal for simple image descriptions, testing, or automation. + +### Basic Image Analysis + +```bash +# Describe an image from URL +z-ai vision --prompt "What's in this image?" --image "https://example.com/photo.jpg" + +# Using short options +z-ai vision -p "Describe this image" -i "https://example.com/image.png" +``` + +### Analyze Local Images + +```bash +# Analyze a local image file +z-ai vision -p "What objects are in this photo?" -i "./photo.jpg" + +# Save response to file +z-ai vision -p "Describe the scene" -i "./landscape.png" -o description.json +``` + +### Multiple Images Comparison + +```bash +# Compare multiple images +z-ai vision \ + -p "Compare these two images and highlight the differences" \ + -i "./photo1.jpg" \ + -i "./photo2.jpg" \ + -o comparison.json + +# Analyze a series of images +z-ai vision \ + --prompt "What patterns do you see across these images?" \ + --image "https://example.com/img1.jpg" \ + --image "https://example.com/img2.jpg" \ + --image "https://example.com/img3.jpg" +``` + +### Advanced Analysis with Thinking + +```bash +# Enable chain-of-thought reasoning for complex tasks +z-ai vision \ + -p "Count all people in this image and describe what each person is doing" \ + -i "./crowd.jpg" \ + --thinking \ + -o analysis.json + +# Complex object detection with reasoning +z-ai vision \ + -p "Identify all safety hazards in this workplace image" \ + -i "./workplace.jpg" \ + --thinking +``` + +### Streaming Output + +```bash +# Stream the analysis in real-time +z-ai vision -p "Provide a detailed description" -i "./photo.jpg" --stream +``` + +### CLI Parameters + +- `--prompt, -p `: **Required** - Question or instruction about the image(s) +- `--image, -i `: Optional - Image URL or local file path (can be used multiple times) +- `--thinking, -t`: Optional - Enable chain-of-thought reasoning (default: disabled) +- `--output, -o `: Optional - Output file path (JSON format) +- `--stream`: Optional - Stream the response in real-time + +### Supported Image Formats + +- PNG (.png) - Best for diagrams, screenshots, graphics with transparency +- JPEG (.jpg, .jpeg) - Best for photos and complex images +- GIF (.gif) - Supports both static and animated images +- WebP (.webp) - Modern format with good compression +- BMP (.bmp) - Uncompressed bitmap format + +### When to Use CLI vs SDK + +**Use CLI for:** +- Quick image analysis or descriptions +- One-off OCR tasks +- Testing image understanding capabilities +- Simple batch processing scripts +- Generating alt text for accessibility + +**Use SDK for:** +- Multi-turn conversations about images +- Complex image processing pipelines +- Production applications with error handling +- Custom integration with your application logic +- Batch processing with custom business logic + +## Recommended Approach + +For better performance and reliability, use base64 encoding to pass images to the model instead of image URLs. + +## Basic Image Understanding Implementation + +### Single Image Analysis + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function analyzeImage(imageUrl, prompt) { + const zai = await ZAI.create(); + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { + type: 'text', + text: prompt + }, + { + type: 'image_url', + image_url: { + url: imageUrl + } + } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} + +// Usage examples +const description = await analyzeImage( + 'https://example.com/landscape.jpg', + 'Describe this landscape in detail, including colors, lighting, and mood' +); + +const objectDetection = await analyzeImage( + 'https://example.com/room.jpg', + 'List all objects visible in this room' +); +``` + +### Multiple Images Comparison + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function compareImages(imageUrls, question) { + const zai = await ZAI.create(); + + const content = [ + { + type: 'text', + text: question + }, + ...imageUrls.map(url => ({ + type: 'image_url', + image_url: { url } + })) + ]; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: content + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} + +// Usage +const comparison = await compareImages( + [ + 'https://example.com/before.jpg', + 'https://example.com/after.jpg' + ], + 'What are the key differences between these before and after images?' +); +``` + +### Base64 Image Support (Recommended) + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; + +async function analyzeLocalImage(imagePath, prompt) { + const zai = await ZAI.create(); + + // Read image file and convert to base64 + const imageBuffer = fs.readFileSync(imagePath); + const base64Image = imageBuffer.toString('base64'); + + // Determine MIME type based on file extension + const ext = path.extname(imagePath).toLowerCase(); + const mimeTypes = { + '.png': 'image/png', + '.jpg': 'image/jpeg', + '.jpeg': 'image/jpeg', + '.gif': 'image/gif', + '.webp': 'image/webp', + '.bmp': 'image/bmp' + }; + const mimeType = mimeTypes[ext] || 'image/jpeg'; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { + type: 'text', + text: prompt + }, + { + type: 'image_url', + image_url: { + url: `data:${mimeType};base64,${base64Image}` + } + } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} + +// Usage +const result = await analyzeLocalImage( + './product-photo.jpg', + 'Analyze this product image for e-commerce listing' +); +``` + +## Advanced Use Cases + +### OCR and Text Extraction + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function extractText(imageUrl, options = {}) { + const zai = await ZAI.create(); + + const prompt = options.preserveLayout + ? 'Extract all text from this image. Preserve the exact layout, formatting, and structure.' + : 'Extract all visible text from this image.'; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} + +// Usage examples +const receiptText = await extractText( + 'https://example.com/receipt.jpg', + { preserveLayout: true } +); + +const businessCardInfo = await extractText( + 'https://example.com/business-card.jpg' +); +``` + +### Object Detection and Counting + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function detectObjects(imageUrl, objectType) { + const zai = await ZAI.create(); + + const prompt = objectType + ? `Count and locate all ${objectType} in this image. Provide their positions and describe each one.` + : 'Detect and list all objects in this image with their approximate locations.'; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'enabled' } // Enable thinking for complex counting + }); + + return response.choices[0]?.message?.content; +} + +// Usage +const peopleCount = await detectObjects( + 'https://example.com/crowd.jpg', + 'people' +); + +const allObjects = await detectObjects( + 'https://example.com/room.jpg' +); +``` + +### Image Classification and Tagging + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function classifyAndTag(imageUrl) { + const zai = await ZAI.create(); + + const prompt = `Analyze this image and provide a comprehensive classification: +1. Primary category (e.g., nature, urban, portrait, product) +2. Subject matter (main focus of the image) +3. Style or mood (e.g., professional, casual, artistic, vintage) +4. Color palette description +5. Suggested tags (10-15 keywords, comma-separated) + +Format your response as structured JSON.`; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + const content = response.choices[0]?.message?.content; + + try { + return JSON.parse(content); + } catch (e) { + return { rawResponse: content }; + } +} + +// Usage +const classification = await classifyAndTag( + 'https://example.com/photo.jpg' +); +console.log('Tags:', classification.tags); +``` + +### Quality Assessment + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function assessImageQuality(imageUrl) { + const zai = await ZAI.create(); + + const prompt = `Assess the technical quality of this image: +1. Sharpness and focus (1-10) +2. Exposure and brightness (1-10) +3. Color balance (1-10) +4. Composition (1-10) +5. Any technical issues (blur, noise, artifacts, etc.) +6. Overall quality rating (1-10) +7. Suggestions for improvement + +Provide specific feedback for each criterion.`; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} +``` + +### Accessibility - Alt Text Generation + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function generateAltText(imageUrl, context = '') { + const zai = await ZAI.create(); + + const prompt = context + ? `Generate concise, descriptive alt text for this image. Context: ${context}. Focus on the most important visual elements that convey the image's purpose.` + : 'Generate concise, descriptive alt text for this image suitable for screen readers. Focus on key visual elements.'; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} + +// Usage +const altText = await generateAltText( + 'https://example.com/hero-image.jpg', + 'Website hero section for a tech startup' +); +``` + +### Scene Understanding + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +async function understandScene(imageUrl) { + const zai = await ZAI.create(); + + const prompt = `Provide a comprehensive scene analysis: +1. Setting/location type (indoor/outdoor, specific place) +2. Time of day and lighting conditions +3. Weather (if applicable) +4. People present (number, activities, interactions) +5. Key objects and their arrangement +6. Overall atmosphere and mood +7. Notable details or interesting elements`; + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; +} +``` + +## Batch Processing + +### Process Multiple Images + +```javascript +import ZAI from 'z-ai-web-dev-sdk'; + +class ImageBatchProcessor { + constructor() { + this.zai = null; + } + + async initialize() { + this.zai = await ZAI.create(); + } + + async processImage(imageUrl, prompt) { + const response = await this.zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return response.choices[0]?.message?.content; + } + + async processBatch(imageUrls, prompt) { + const results = []; + + for (const imageUrl of imageUrls) { + try { + const result = await this.processImage(imageUrl, prompt); + results.push({ imageUrl, success: true, result }); + } catch (error) { + results.push({ + imageUrl, + success: false, + error: error.message + }); + } + } + + return results; + } +} + +// Usage +const processor = new ImageBatchProcessor(); +await processor.initialize(); + +const images = [ + 'https://example.com/img1.jpg', + 'https://example.com/img2.jpg', + 'https://example.com/img3.jpg' +]; + +const results = await processor.processBatch( + images, + 'Generate a short description suitable for social media' +); +``` + +## Best Practices + +### 1. Image Quality and Preparation +- Use high-resolution images for better analysis accuracy +- Ensure images are well-lit and properly exposed +- For OCR, ensure text is clear and readable +- Optimize file size to balance quality and performance +- Supported formats: PNG (best for text/diagrams), JPEG (best for photos), WebP, GIF, BMP + +### 2. Prompt Engineering for Images +- Be specific about what information you need +- Mention the type of image (photo, diagram, screenshot, etc.) +- For complex tasks, break down into specific questions +- Use structured prompts for JSON output +- Include context when relevant + +### 3. Error Handling + +```javascript +async function safeImageAnalysis(imageUrl, prompt) { + try { + const zai = await ZAI.create(); + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + return { + success: true, + content: response.choices[0]?.message?.content + }; + } catch (error) { + console.error('Image analysis error:', error); + return { + success: false, + error: error.message + }; + } +} +``` + +### 4. Performance Optimization +- Cache SDK instance for batch processing +- Use base64 encoding for local images +- Implement request throttling for large batches +- Consider image preprocessing (resize, compress) for large files +- Use appropriate thinking mode (disabled for simple tasks, enabled for complex reasoning) + +### 5. Security Considerations +- Validate image URLs before processing +- Implement rate limiting for public APIs +- Sanitize user-provided image data +- Never expose SDK credentials in client-side code +- Implement content moderation for user-uploaded images + +## Common Use Cases + +1. **E-commerce Product Analysis**: Analyze product images, extract features, generate descriptions +2. **Document Processing**: Extract text from receipts, invoices, forms, business cards +3. **Content Moderation**: Detect inappropriate content, verify image compliance +4. **Quality Control**: Identify defects, assess product quality in manufacturing +5. **Accessibility**: Generate alt text for images automatically +6. **Image Cataloging**: Auto-tag and categorize image libraries +7. **Visual Search**: Understand and index images for search functionality +8. **Medical Imaging**: Preliminary analysis with appropriate disclaimers +9. **Real Estate**: Analyze property photos, extract features +10. **Social Media**: Generate captions, hashtags, and descriptions + +## Integration Examples + +### Express.js API Endpoint + +```javascript +import express from 'express'; +import ZAI from 'z-ai-web-dev-sdk'; +import multer from 'multer'; + +const app = express(); +const upload = multer({ storage: multer.memoryStorage() }); + +let zaiInstance; + +async function initZAI() { + zaiInstance = await ZAI.create(); +} + +// Analyze image from URL +app.post('/api/analyze-image', express.json(), async (req, res) => { + try { + const { imageUrl, prompt } = req.body; + + if (!imageUrl || !prompt) { + return res.status(400).json({ + error: 'imageUrl and prompt are required' + }); + } + + const response = await zaiInstance.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + res.json({ + success: true, + analysis: response.choices[0]?.message?.content + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +// Analyze uploaded image file +app.post('/api/analyze-upload', upload.single('image'), async (req, res) => { + try { + const { prompt } = req.body; + const imageFile = req.file; + + if (!imageFile || !prompt) { + return res.status(400).json({ + error: 'image file and prompt are required' + }); + } + + // Convert to base64 + const base64Image = imageFile.buffer.toString('base64'); + const mimeType = imageFile.mimetype; + + const response = await zaiInstance.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { + type: 'image_url', + image_url: { + url: `data:${mimeType};base64,${base64Image}` + } + } + ] + } + ], + thinking: { type: 'disabled' } + }); + + res.json({ + success: true, + analysis: response.choices[0]?.message?.content + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +initZAI().then(() => { + app.listen(3000, () => { + console.log('Image understanding API running on port 3000'); + }); +}); +``` + +### Next.js API Route + +```javascript +// pages/api/image-understand.js +import ZAI from 'z-ai-web-dev-sdk'; + +let zaiInstance = null; + +async function getZAI() { + if (!zaiInstance) { + zaiInstance = await ZAI.create(); + } + return zaiInstance; +} + +export default async function handler(req, res) { + if (req.method !== 'POST') { + return res.status(405).json({ error: 'Method not allowed' }); + } + + try { + const { imageUrl, prompt } = req.body; + + if (!imageUrl || !prompt) { + return res.status(400).json({ + error: 'imageUrl and prompt are required' + }); + } + + const zai = await getZAI(); + + const response = await zai.chat.completions.createVision({ + messages: [ + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ], + thinking: { type: 'disabled' } + }); + + res.status(200).json({ + success: true, + analysis: response.choices[0]?.message?.content + }); + } catch (error) { + console.error('Error:', error); + res.status(500).json({ + success: false, + error: error.message + }); + } +} +``` + +## Troubleshooting + +**Issue**: "SDK must be used in backend" +- **Solution**: Ensure z-ai-web-dev-sdk is only imported and used in server-side code, never in client/browser code + +**Issue**: Image not loading or being analyzed +- **Solution**: Verify the image URL is accessible, returns correct MIME type, and is in a supported format + +**Issue**: Poor OCR accuracy +- **Solution**: Ensure text is clear and readable, increase image resolution, ensure proper lighting and contrast + +**Issue**: Inaccurate object detection or counting +- **Solution**: Enable thinking mode for complex counting tasks, use high-resolution images, provide specific prompts + +**Issue**: Slow response times +- **Solution**: Optimize image size (resize before upload), use base64 for local images, cache SDK instance for batch processing + +**Issue**: Base64 encoding fails +- **Solution**: Verify file path is correct, check file permissions, ensure MIME type matches file extension + +## Remember + +- Always use z-ai-web-dev-sdk in backend code only +- The SDK is already installed - import as shown in examples +- Use `image_url` content type for static images +- Base64 encoding is recommended for better performance +- Structure prompts clearly for best results +- Enable thinking mode for complex reasoning tasks (counting, detailed analysis) +- Handle errors gracefully in production +- Validate and sanitize user inputs +- Consider privacy and security when processing user images diff --git a/skills/image-understand/scripts/image-understand.ts b/skills/image-understand/scripts/image-understand.ts new file mode 100755 index 0000000..dae8ee0 --- /dev/null +++ b/skills/image-understand/scripts/image-understand.ts @@ -0,0 +1,41 @@ +import ZAI, { VisionMessage } from 'z-ai-web-dev-sdk'; + +async function main(imageUrl: string, prompt: string) { + try { + const zai = await ZAI.create(); + + const messages: VisionMessage[] = [ + { + role: 'assistant', + content: [ + { type: 'text', text: 'Output only text, no markdown.' } + ] + }, + { + role: 'user', + content: [ + { type: 'text', text: prompt }, + { type: 'image_url', image_url: { url: imageUrl } } + ] + } + ]; + + const response = await zai.chat.completions.createVision({ + model: 'glm-4.6v', + messages, + thinking: { type: 'disabled' } + }); + + const reply = response.choices?.[0]?.message?.content; + console.log('Image Understanding Result:'); + console.log(reply ?? JSON.stringify(response, null, 2)); + } catch (err: any) { + console.error('Image understanding failed:', err?.message || err); + } +} + +// Example usage - analyze an image +main( + "https://cdn.bigmodel.cn/static/logo/register.png", + "Please analyze this image and describe what you see in detail." +); diff --git a/skills/interview-designer/README.md b/skills/interview-designer/README.md new file mode 100755 index 0000000..78c1593 --- /dev/null +++ b/skills/interview-designer/README.md @@ -0,0 +1,70 @@ +# Interview Designer + +**Evidence-Based Interview Planning** + +Design interview questions using Scorecard → Forensic Scan → Future Simulation. Avoid confirmation bias and produce structured interview guides (Scorecard + Red Flags/Green Signals + Pressure Tests + Future Scenarios) with Geoff Smart, Lou Adler, and Daniel Kahneman as the default expert panel. + +--- + +## When to Use This Skill + +Use this skill when: + +- You need to design interview questions for a specific role +- You want to avoid confirmation bias in interview planning +- You're creating a structured interview guide (Scorecard + Questions + Pressure Tests) +- You need to balance past validation with future simulation + +--- + +## Methodology: Scorecard → Forensic → Future + +| Phase | Expert | What You Define | +|-----------------|---------------|-----------------------------------------------------------------------------------| +| **1. Scorecard**| Geoff Smart | Mission, Outcomes, Competencies — *before* looking at any resume | +| **2. Forensic Scan** | Smart + Domain | Resume gaps vs. highlights; "Too Good To Be True" / "Driver vs Passenger" heuristics | +| **3. Future Simulation** | Lou Adler | Performance problems the candidate would face in your context; week-one scenarios | + +--- + +## What You Get + +| Output | Template | Purpose | +|-------------------|------------------------------------|------------------------------------------------------| +| **Interview Guide** | `templates/interview_guide_template.md` | Scorecard + Red Flags/Green Signals + Pressure Tests + Future Scenarios | + +The guide includes both concerns (**Red Flags**) and highlight verification (**Green Signals**) for objective assessment. + +--- + +## Design Principles + +1. **Cannot Be Memorized** — Questions force real-time thinking (simulation) or concrete recall (pressure test). +2. **Forced Trade-offs** — Choose between two "correct" options to surface values, not just knowledge. +3. **Detail Granularity** — Probe to "what exact words did you say" or "what diagram did you draw." + +--- + +## Quick Reference + +| Interview Goal | Question Type | Example | +|---------------------|---------------------|-------------------------------------------------------------------------| +| Validate past claims| Pressure Test (STAR) | "Walk me through the specific metrics you tracked and how you used them." | +| Predict future fit | Future Simulation | "Here's our Q1 challenge. How would you approach it in your first week?" | +| Detect blind spots | Trade-off Question | "Speed vs. quality — which would you sacrifice here, and why?" | + +--- + +## Install + +**ClawHub (OpenClaw)**: +```bash +npx clawhub@latest install interview-designer +``` + +**Other (e.g. skills.sh)**: +```bash +npx skills add mikonos/interview-designer +``` + +Compatible with Cursor, Claude Code, OpenClaw, and other agents that support the skills protocol. diff --git a/skills/interview-designer/SKILL.md b/skills/interview-designer/SKILL.md new file mode 100755 index 0000000..e19a373 --- /dev/null +++ b/skills/interview-designer/SKILL.md @@ -0,0 +1,53 @@ +--- +name: interview-designer +description: Analyze resumes and design interview strategies using evidence-based methodology. Transforms interview prep from "read resume → ask questions" into "define standard → forensic evidence → future simulation". Combines Geoff Smart's Topgrading, Lou Adler's performance-based hiring, and Daniel Kahneman's bias control. Use when preparing for interviews, creating structured interview guides, or designing questions to validate candidate competencies. +--- + +# Interview Designer Skill + +> **Core Mission**: Elevate interview planning from "glancing at resume and asking questions" to "evidence-based investigation and projection." +> **Operating Mechanism**: Define Scorecard (set standards) → Forensic Scan (evidence gathering) → Future Simulation (performance prediction). +> **Prompt Strategy**: This skill uses \. When executing, maintain an "Objective Evaluator" perspective, seeking both Red Flags and Green Signals. + +## 1. Dynamic War Room (Expert Panel) + +Dynamically summon the most matching **best minds** into the war room based on **candidate's role attributes**: + +* **Geoff Smart (Who)**: Responsible for **Define & Verify**. + * *Principle*: Scorecard First. Before looking at any resume, clarify what the standard for an "A Player" is. +* **Lou Adler (Performance-based)**: Responsible for **Predict**. + * *Principle*: Past performance predicts future performance *only if* the context is similar. Must design simulations for future scenarios. +* **Daniel Kahneman (Bias Control)**: Responsible for **De-bias**. + * *Principle*: Beware of "confirmation bias." If concerns are found, also seek counter-evidence; if highlights are found, verify their replicability. +* **Domain Expert**: Responsible for **Depth**. + +## 2. Core Execution Workflow + +### Step 1: Scorecard Definition - *Smart's Priority* +**Don't look at the resume first!** Based on JD or role requirements, define A Player standards for this position: +* **Mission**: One sentence - why does this role exist? +* **Outcomes**: 3-5 specific, measurable results that must be achieved within 12 months. +* **Competencies**: Hard/soft skills required to achieve the above outcomes. + +### Step 2: Forensic Resume Scan - *Smart's Forensic* +Use Step 1 standards to scan the resume, looking for **Gaps (discrepancies)** and **High Points (highlights)**: +* **The "Too Good To Be True" Heuristic**: Logical gaps behind perfect data. +* **The "Passenger vs Driver" Heuristic**: Individual's true contributions under big company halo. +* **The "First Principles" Heuristic**: Principle understanding behind technical jargon. + +### Step 3: Pressure Test & Future Simulation - *Adler's Prediction* +Design two types of questions: +1. **Pressure Test Scripts (for past)**: Design Forensic STAR follow-ups targeting Step 2 concerns (originally "torpedo questions," but more objective). +2. **Future Simulation (for future)**: Design a specific Performance Problem. + * *Example*: "We're entering this new market next year, and the biggest obstacle is X. If you join, how would you analyze this problem in your first week?" + +## 3. Question Design Principles + +1. **Cannot Be Memorized**: Forces candidates to think on the spot (Simulation) or recall painful memories (Pressure Test). +2. **Forced Trade-offs**: Choose between two "correct" options to test values. +3. **Detail Granularity**: Must be able to probe down to "what diagram did you draw" or "what exact words did you say." + +## 4. Output Format + +Directly call `templates/interview_guide_template.md` to generate the report. +**Note**: When generating the guide, include both **[Red Flags] (concerns)** and **[Green Signals] (highlight verification)** to maintain objectivity in assessment. diff --git a/skills/interview-designer/_meta.json b/skills/interview-designer/_meta.json new file mode 100755 index 0000000..53cd663 --- /dev/null +++ b/skills/interview-designer/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn73h39f2c8arzkcvwmafak9mn80wq7d", + "slug": "interview-designer", + "version": "1.0.0", + "publishedAt": 1770749339448 +} \ No newline at end of file diff --git a/skills/interview-designer/references/design_rationale.md b/skills/interview-designer/references/design_rationale.md new file mode 100755 index 0000000..f894216 --- /dev/null +++ b/skills/interview-designer/references/design_rationale.md @@ -0,0 +1,43 @@ +# Expert Critique: Interview Designer Skill + +> **Simulated Review Panel**: +> * **Geoff Smart** (Author of "Who", Topgrading methodology) +> * **Lou Adler** (Founder of Performance-based Hiring) +> * **Daniel Kahneman** (Nobel Laureate, Behavioral Economics, Decision Noise Research) + +--- + +## 1. Geoff Smart's Perspective: Only "Autopsy," No "Definition" +* **Comment**: "The starting point of this design is good (Forensic investigation), which aligns well with Topgrading's spirit—digging for truth. **However, you made a fatal error: the sequence is reversed.**" +* **Critique**: + * The current flow is `Resume Scan` → `Scorecard`. This is **reactive**. You're setting standards based on the candidate's resume, which is the trap of "creating positions around people." + * **The A Method's** first step is always **Scorecard**—before looking at any resume, you must define the role's mission (Mission), outcomes (Outcomes), and competencies (Competencies). + * **Risk**: Without an independent Scorecard first, your "investigation" becomes "nitpicking," not "validation of fit." You might prove they lied, but not that they can deliver. +* **Recommendation**: Mandate Step 0 as **"Define Success"**, not **"Scan Resume"**. + +## 2. Lou Adler's Perspective: Overemphasis on "Past," Neglecting "Future" +* **Comment**: "I see you're very enthusiastic about uncovering resume 'inflation.' That's interesting, but **can someone perform the job just because their resume is perfect?**" +* **Critique**: + * Current `Torpedo Questions` mainly expose past lies. + * **Performance-based Hiring** believes the best prediction is having candidates solve **future problems**. + * **Gap**: Lacks **Project-based Problem Solving**. Beyond asking "how did you coordinate in the past," also ask "this is our new project, if you were responsible, what would you do in the first week?" +* **Recommendation**: Add **"Future Performance Simulation"** section. + +## 3. Daniel Kahneman's Perspective: Breeding Ground for Confirmation Bias +* **Comment**: "You're calling this skill 'Forensic' and throwing 'torpedoes.' This plants very strong **negative priming** in the interviewer's mind." +* **Critique**: + * Once an interviewer enters the room with "this person might be lying" colored glasses, they'll unconsciously seek evidence to confirm this (Confirmation Bias), while ignoring the candidate's genuine highlights. + * This is the source of **Noise**. +* **Recommendation**: Balance the mindset. Change "Torpedo" to **"Evidence Stress Test"**, and explicitly require seeking **"Green Signals"** simultaneously, not just red flags. + +--- + +## 4. Comprehensive Optimization Recommendations (Action Plan) + +1. **Architecture Adjustment (Re-order)**: + * `Step 1: Define Scorecard` (based on JD/business pain points, independent of resume) + * `Step 2: Resume Forensic` (scan resume gaps based on Scorecard) +2. **Content Enhancement (Add Future Focus)**: + * Add `Problem Solving Case` generation logic. +3. **Tone Correction (Neutrality)**: + * Maintain sharpness, but remove "presumption of guilt" undertones. Goal is Truth-seeking, not Witch-hunting. diff --git a/skills/interview-designer/templates/interview_guide_template.md b/skills/interview-designer/templates/interview_guide_template.md new file mode 100755 index 0000000..695f622 --- /dev/null +++ b/skills/interview-designer/templates/interview_guide_template.md @@ -0,0 +1,62 @@ +# {Candidate_Name}_Targeted_Interview_Guide + +> [!IMPORTANT] +> **Planning Context**: Based on war room simulation with {Expert_List}. +> **Objective**: Verify competency match (Step 1), gather evidence on resume concerns (Step 2), project future performance (Step 3). + +--- + +## 1. Competency Scorecard + +*Before looking at the resume, THIS is what success looks like.* + +* **Mission (One-sentence mission)**: ... +* **Outcomes (12-month must-achieve results)**: + 1. ... + 2. ... +* **Core Competencies**: + * **{Competency 1}**: {Description} + * **{Competency 2}**: {Description} + +--- + +## 2. Forensic Resume Scan + +*Scan resume against Scorecard, looking for Gaps (concerns) and Evidence (matches).* + +### 🔴 Red Flags (Concerns/Gaps) +* **{Concern 1}**: ... + * *Expert Challenge*: ... +* **{Concern 2}**: ... + +### 🟢 Green Signals (Highlights/Matches) +* **{Highlight 1}**: ... + * *Evidence*: ... + +--- + +## 3. Interview Battle Scripts + +### Part A: Pressure Validation (Past Performance) +*Forensic STAR follow-ups designed for Red Flags.* + +**Q1 (targeting {Concern 1})**: +* **The Setup**: "{Question...}" +* **The Drill**: "{Follow-up...}" + +### Part B: Future Projection (Future Scenario) +*Performance simulations designed for Outcomes.* + +**Q2 (targeting Outcome 1)**: +* **Scenario**: "{Set up a specific challenge highly relevant to future work...}" +* **Question**: "If this is the situation you face in your first week, how would you handle it?" +* **Bar Raiser**: "{What would an A Player do?}" vs "{What would a B Player do?}" + +--- + +## 4. Decision Matrix + +| Dimension | No Hire (Kill) | HIRE (Pass) | +| :--- | :--- | :--- | +| **Integrity** | ... | ... | +| **Competency Match** | ... | ... | diff --git a/skills/interview-prep/SKILL.md b/skills/interview-prep/SKILL.md new file mode 100755 index 0000000..1433e0c --- /dev/null +++ b/skills/interview-prep/SKILL.md @@ -0,0 +1,131 @@ +--- +name: interview-prep +description: 帮用户准备面试。基于目标 JD、公司、岗位方向,生成"高频面试题 + 参考回答 + 行为面 / 技术面 / Case 面分类题库",并产出可打印的『面试备战手册』。当用户说"帮我准备面试""明天有面试 / 后天面试""面试题""面经""模拟面试""我要面 X 公司 Y 岗位""帮我准备 STAR 故事""怎么回答这道面试题""自我介绍 / 离职原因 / 优缺点 怎么答",必须触发本 skill。请勿用本 skill 改简历(去 jd-resume-tailor / resume-builder)或推荐方向(去 job-intent-tracker)。 +--- + +# Interview Prep(面试准备) + +干 4 件事: + +1. **拆解面试场景**:明确目标公司 / 岗位 / 面试轮次(一面 / 二面 / 终面 / HR 面) +2. **生成题库**:从 4 类题库(行为面、技术面、Case 面、岗位特定)中按需取题 +3. **生成参考回答**:用 STAR / SCQA / MECE 等框架,结合用户简历事实 +4. **产出"备战手册"**:一份可打印的 .md / .docx / .pdf,含题目 + 参考思路 + 自检清单 + +--- + +## 何时触发 + +强信号: +- "帮我准备面试 / 模拟面试 / 模面" +- "明天 / 下周面试" +- 提到了具体公司 + 岗位 +- "高频面试题 / 经典面试题" +- "怎么回答 ___ 这个问题" +- "自我介绍怎么说 / 离职原因怎么答 / 期望薪资怎么谈" + +弱信号(先确认): +- 只说"想了解一下面试" → 问是哪个方向 / 什么轮次 + +--- + +## 工作流 + +### Step 1: 锁定面试场景 + +用 AskUserQuestion 收集: +- 目标公司(具体名字 / 大厂 vs 创业 vs 外资 / 公司类型) +- 目标岗位(精确到方向,如"用户增长 PM"而不是"产品经理") +- 面试轮次(一面 / 二面 / 终面 / HR 面 / 全流程演练) +- 时间紧迫度(明天 / 这周 / 下周以上)—— 影响"广度 vs 深度" +- 用户已有材料(JD / 简历 / 公司公开信息 / 已知面试官背景) + +如果用户给了 JD 和简历,**先调用 jd-resume-tailor 的 parse_jd.py** 抽出岗位关键信息,避免重复拆。 + +### Step 2: 选题策略 + +按"轮次 + 方向 + 时间"决定题库结构。读取对应文件: + +- 行为面(任何轮次都会问)→ `references/behavioral.md` +- 技术面(技术 / 数据岗主战场)→ `references/technical.md` +- Case 面(咨询 / 战略 / 高级 PM)→ `references/case.md` +- HR 面(任何岗位的最后一公里)→ `references/hr_round.md` +- 岗位特定题库: + - 互联网产品 / 运营 / PM → `references/role_internet.md` + - 技术 / 研发 / 数据 → `references/role_tech.md` + - 金融 / 咨询 / 商科 → `references/role_finance.md` + +题量推荐: +- **明天就面**:每类 5~8 题,重点高频题 +- **3~7 天**:每类 10~15 题 +- **>1 周**:完整覆盖 + 模拟轮次 + +### Step 3: 生成参考回答 + +**关键原则:参考回答必须基于用户简历里的真实经历,不是泛答。** + +调用 `scripts/star_story_builder.py`(如果有简历): + +```bash +python scripts/star_story_builder.py --resume resume.md \ + --questions questions.json --out answers.md +``` + +或者,如果没有简历,用通用回答框架(从 references/answer_frameworks.md 读取)作为模板,让用户填空。 + +参考回答的格式: +``` +【题目】___ +【考察点】HR / 面试官想看你的什么能力 +【回答框架】STAR / SCQA / MECE / 5W1H 之一 +【建议长度】X 分钟(一般 1.5~3 分钟) +【参考回答 (基于你简历里的 ___ 经历)】 + S: 当时的背景 / 问题 + T: 你的任务 / 目标 + A: 你的具体动作(重点,要细节) + R: 量化结果 + reflect +【可能的追问】1. ___ 2. ___ 3. ___ +``` + +### Step 4: 产出"备战手册" + +调用 docx skill 生成一份完整的 `interview_prep_<公司>_<岗位>.docx`,结构: + +``` +封面:公司 + 岗位 + 面试日期 + 倒计时 +1. 公司 / 岗位 速览(1 页) +2. 自我介绍(中 + 英两版,针对该岗位定制) +3. 行为面题库(X 题)+ 参考回答 +4. 技术面 / Case 面 题库(X 题)+ 参考思路 +5. 反向提问清单(你向面试官问什么) +6. 薪资谈判脚本 +7. 面试当天 Checklist(路线 / 着装 / 物品 / 心态) +``` + +**同时输出一份精简版 .md**,方便用户在地铁里 / 路上 review。 + +### Step 5: 模拟面试(可选 - 用户主动要才做) + +如果用户说"模拟一下",进入互动模式: +- 一次问 1 题 +- 等用户回答(语音 / 文字) +- 给反馈:内容 / 结构 / 表达 三维度 +- 如果用户说"换一题"或"再来一道难的",继续 + +模拟时**保持面试官人设**:用真实面试官的口吻、追问方式、压力点(但不要变成 attacker,要 constructive)。 + +--- + +## 反模式(不要做) + +- ❌ 给一份"通用 50 题"应付了事 → 必须按公司 / 岗位定制 +- ❌ 参考回答全是"我具有出色的沟通能力"这种空话 → 必须用具体故事 +- ❌ 不让用户自己练,全程"我替你答" → 错过模拟价值 +- ❌ 编造用户没有的经历做 STAR 故事 → 用户面试时会穿帮 +- ❌ HR 面问题答得太"训练痕迹重"(机械化) → 要给"3 个不同风格的版本"让用户选 + +## 与其他 skill 的协作 + +- 用户说"我简历不够强,先改简历再来面试" → 转 `jd-resume-tailor` 或 `resume-builder` +- 用户说"我还在犹豫要不要投" → 转 `job-intent-tracker` +- 面试结束后用户说"我想复盘一下" → 留在本 skill,进入"面试复盘模式",问表现、卡点、追问,帮用户为下一轮做准备 diff --git a/skills/interview-prep/references/answer_frameworks.md b/skills/interview-prep/references/answer_frameworks.md new file mode 100755 index 0000000..4e6e627 --- /dev/null +++ b/skills/interview-prep/references/answer_frameworks.md @@ -0,0 +1,97 @@ +# 面试回答框架速查 + +## STAR(行为面通用) + +``` +S - Situation:背景(30s) +T - Task:你的任务(20s) +A - Action:你的具体动作(90s,重点) +R - Result:量化结果 + 反思(30s) +``` + +## SCQA(开场陈述 / 自我介绍) + +``` +S - Situation:当前的状态 / 背景 +C - Complication:变化 / 问题 / 触发点 +Q - Question:核心问题 +A - Answer:你的答案 / 行动 +``` + +例:自我介绍可以用 SCQA: +- S: "我目前在 X 公司做 ___ 5 年" +- C: "上一份工作业务进入成熟期,我希望去做更早期 / 更有挑战的事" +- Q: "什么样的岗位最适合我下一步?" +- A: "贵司的 ___ 岗位 + 我的 ___ 经验,正好契合,所以来面试" + +## MECE(结构化分析) + +Mutually Exclusive, Collectively Exhaustive。 +拆问题时分类不重不漏。常见维度: +- 时间:短期 / 中期 / 长期 +- 用户:新 / 老 / 流失 +- 业务:自营 / 三方 / B 端 / C 端 +- 地理:一线 / 二线 / 下沉 +- 价格 / 量 / 渠道 + +## 5W1H(问题诊断) + +Who / What / When / Where / Why / How +任何模糊问题,先用 5W1H 澄清。 + +## CIRCLES(PM 案例题) + +C - Comprehend(澄清) +I - Identify customer(用户) +R - Report needs(需求) +C - Cut by priority(优先级) +L - List solutions(方案) +E - Evaluate trade-offs(取舍) +S - Summarize(推荐) + +## SOAR(适用 senior 候选人讲战略经验) + +S - Situation +O - Obstacle +A - Action +R - Result + +强调"突破障碍"的能力。 + +## 自我介绍 3 段式(最稳的) + +``` +1. "我是 ___,目前在 ___ 做 ___,到现在 ___ 年" +2. "我最近 / 最有代表性的一个项目是 ___,简单讲就是 ___,结果 ___" +3. "我了解贵司 ___ 业务,与我的 ___ 经验 / ___ 兴趣高度契合,所以来面试" +``` + +时长:1~1.5 分钟。 + +中文 + 英文版本都要准备(外企 / 投行 / 咨询 / 海外岗位常考英文)。 + +## 谈"缺点"的标准模板 + +``` +1. 真实的缺点(不是反向夸自己) +2. 你怎么察觉的 +3. 这个缺点带来过什么后果(说一个具体小事) +4. 你正在 / 已经在做什么改进 +``` + +例: +- "我以前在表达自己的反对意见时会过于含蓄,导致一次方案讨论里我不同意 PM 的方向,但没明说,结果上线后效果不好,我才意识到。" +- "现在我会刻意在每次方案讨论后写一段『我的反对意见 + 数据依据』给 PM,先打字再口头沟通,这样表达更清晰也不情绪化。" + +## 谈"职业规划"的标准模板 + +``` +1. 短期(1~2 年):在这个岗位做出 ___ 成果 +2. 中期(3~5 年):在 ___ 方向深耕,从 IC 到 senior IC / 小 lead +3. 长期:希望成为 ___ 领域的专家 / 业务 owner +``` + +避免: +- "做你们的总监"(太 ambitious 显得不真诚) +- "等我 5 年后看吧"(显得没规划) +- "创业 / 转行 / 出国"(HR 听了直接拒) diff --git a/skills/interview-prep/references/behavioral.md b/skills/interview-prep/references/behavioral.md new file mode 100755 index 0000000..610ca67 --- /dev/null +++ b/skills/interview-prep/references/behavioral.md @@ -0,0 +1,94 @@ +# 行为面题库(Behavioral Interview) + +行为面问题考察"过去如何"来预测"未来如何"。所有行为题用 STAR 答。 + +## 高频题 Top 20(中外企通用) + +### 自我类 +1. 自我介绍 / 简单介绍一下你自己 +2. 介绍你最有成就感的一个项目 +3. 介绍你失败 / 挫折最大的一次经历 +4. 你最大的优点 / 缺点是什么 +5. 你五年后的职业规划 + +### 协作 / 影响力 +6. 讲一个你跨部门 / 跨团队推动事情的例子 +7. 讲一次你和同事意见不合,最后怎么解决的 +8. 讲一次你说服别人改变想法的经历 +9. 讲一次你帮 / 带新人成长的经历 +10. 你怎么处理一个不配合的合作方 + +### 推动 / 执行 +11. 讲一次你在资源 / 时间不足的情况下完成目标 +12. 讲一次你主动推动一件事(没人要求你做) +13. 讲一次你做了一个艰难决策的经历 +14. 讲一次你 ownership 体现得最好的一次 +15. 讲一次你打破常规 / 创新的经历 + +### 失败 / 挫折 +16. 讲一次你犯过的最大错误及怎么处理 +17. 讲一次你接到负面反馈,怎么应对 +18. 讲一次你的项目失败 / 没达成目标,怎么复盘 +19. 讲一次你被 reject / 被否决的经历 + +### 学习 / 适应 +20. 讲一次你快速学会一个全新领域的经历 + +## STAR 回答模板 + +``` +S - Situation(背景,30 秒以内) +- 时间 / 地点 / 项目背景 +- 当时的关键约束(资源 / 时间 / 复杂度 / 干系人) + +T - Task(你的任务) +- 你具体要解决什么问题 / 达成什么目标 +- 一句话讲清"我的角色 + 我的目标" + +A - Action(你的具体动作,重点,60% 时长) +- 分 2~4 个步骤讲,每步有动词 + 决策依据 +- 强调"我做的"而不是"我们做的" +- 关键决策点要解释"为什么这么做" + +R - Result(结果 + 反思,30 秒) +- 量化结果(数字 / 百分比 / 排名) +- 1 句反思:你学到了什么 / 如果再做一次会怎么改 +``` + +## 高频题的"考察点"参考 + +| 题目 | 考察点 | +|------|-------| +| 自我介绍 | 表达能力、对岗位匹配度的自我认知 | +| 最成功的项目 | ownership、量化思维、复盘能力 | +| 最失败的项目 | 抗挫折、自我反思、成长型心态 | +| 优缺点 | 自我认知、坦诚、成长意识(缺点别答得像优点) | +| 跨部门推动 | 影响力、沟通、利益对齐能力 | +| 意见不合 | 同理心、说服力、底线思维 | +| 资源不足 | 创造力、优先级管理、边界谈判 | +| 主动推动 | ownership、商业 sense、推动力 | +| 接到负反馈 | 情商、成长型心态、改进行动 | +| 五年规划 | 职业稳定性、自驱力、与公司路径的契合度 | + +## 常见反模式(用户会答错的) + +- 答"优点"答得像招聘广告("勤奋、责任心强、抗压")→ 应该挑 1 个,配 1 个故事 +- 答"缺点"答得像反向夸自己("太追求完美""工作太投入")→ 必须真实,加上正在做的改进 +- "失败经历" 不敢说真失败 → HR 一眼识破,反而扣分 +- 答"五年规划" 直接说"做你们的总监" → 太 ambitious 不真诚;要结合公司业务和个人能力路径 +- 用大量"我们"代替"我" → 听不出你做了什么 +- 一个故事讲 5 分钟 → 控制在 2~3 分钟,留追问空间 + +## 故事矩阵(提前准备) + +让用户准备一个"故事矩阵",3~5 个故事可以回答 80% 的行为题: + +| 故事编号 | 项目名 | 主要展示能力 | 可以回答哪些题 | +|---------|------|------------|-------------| +| 故事 1 | XX 项目 | ownership + 推动力 | 最成功项目 / 主动推动 / 跨部门 | +| 故事 2 | XX 项目 | 数据驱动 + 决策 | 艰难决策 / 数据驱动 / 创新 | +| 故事 3 | XX 项目 | 失败 + 复盘 | 最失败 / 负反馈 / 学习 | +| 故事 4 | XX 项目 | 沟通 + 说服 | 意见不合 / 说服别人 | +| 故事 5 | XX 项目 | 跨界 / 学习 | 快速学习 / 跨界 | + +每个故事提前打磨"S 30s + T 30s + A 90s + R 30s"四段,面试时按题目灵活组合。 diff --git a/skills/interview-prep/references/case.md b/skills/interview-prep/references/case.md new file mode 100755 index 0000000..b5edae2 --- /dev/null +++ b/skills/interview-prep/references/case.md @@ -0,0 +1,93 @@ +# Case 面题库(Case Interview) + +适用:咨询(MBB / Big4 战略)、战略 / 商分岗位、高级 PM 面试。 + +## 经典 case 类型 + +1. **Market Sizing(市场规模估算)** + - 中国一年卖多少杯咖啡? + - 上海有多少辆出租车? + - 抖音一天产生多少视频? +2. **Profitability(盈利分析)** + - 客户利润下降,怎么诊断? +3. **Market Entry(市场进入)** + - 某连锁品牌要进入印度,建议吗? +4. **M&A(并购)** + - 某公司想收购竞争对手,做不做? +5. **Growth Strategy(增长策略)** + - 某 SaaS 公司想 3 年 ARR 翻倍,怎么走? +6. **Operations(运营优化)** + - 某物流公司成本太高,怎么优化? + +## Market Sizing 框架 + +``` +Top-down: 总人口 → 目标用户比例 → 频次 → 单价 → 总市场 +Bottom-up: 单店销量 → 城市门店数 → 城市数 → 总市场 + +关键: +1. 假设要明确(性别 / 年龄 / 城市分层 / 频次) +2. 数字要可验算(路演时面试官可能让你重算) +3. 给一个 sanity check("这个数对比 X 行业大概是 Y 倍,看起来合理") +``` + +## Profitability 框架 + +``` +利润 = 收入 - 成本 + +收入端: +- 价格 × 销量 +- 销量 = 客户数 × 客单价 × 频次 +- 客户数 = 市场规模 × 渗透率 + +成本端: +- 固定成本(人工 / 租金 / 设备) +- 变动成本(原材料 / 物流 / 营销) + +诊断顺序: +1. 量价拆分(量降还是价降?) +2. 区域 / 产品 / 客群 拆分(哪一块下滑最多) +3. 与行业对比(是行业问题还是公司问题) +4. 给出 2~3 个改进方向 +``` + +## Market Entry 框架(4C / 5C) + +``` +Customer:目标客户、需求、规模、增长 +Competition:现有玩家、市场份额、竞争激烈度、进入壁垒 +Company:自身能力(产品 / 渠道 / 品牌 / 资金)是否匹配 +Channel:渠道选择(直营 / 加盟 / 经销 / 线上) +Cost-benefit:投入产出测算 + 时间表 + +关键:必须给"做 / 不做"的明确答案,不要"看情况" +``` + +## Case 面回答原则 + +1. **先 take a moment**:拿到题不要急着答,花 1~2 分钟列框架(面试官期待这个) +2. **MECE 框架**:分类要 Mutually Exclusive, Collectively Exhaustive +3. **Hypothesis-driven**:基于一个假设展开分析,而不是穷举 +4. **Number first**:所有结论都要有数字支撑 +5. **沟通节奏**:每展开一个分支前,先告诉面试官"我打算先看 X 再看 Y" +6. **主动总结**:每个分支结束做小结,最后给 final recommendation + +## 常见误区 + +- 不澄清需求就开干 → 面试官期待你"先 clarify" +- 框架太机械(生硬套 4P / SWOT,看不到思考) +- 数字估算时单位混乱(百万 vs 亿)→ 用清楚单位 +- 不主动 sanity check +- 跑得太快,面试官没法跟上你的逻辑 +- 给建议时不写具体动作("加强营销"是废话,"在 X 渠道投放 Y 类型内容,预算 Z"才是建议) + +## 高级 PM Case 高频题(不是咨询,是 PM 战略题) + +1. 你怎么衡量微信视频号成功 +2. 美团外卖准备进入印尼,你的 product strategy 是什么 +3. ChatGPT 推出后,你作为 Notion PM 会做什么 +4. 给一个产品设计 north star metric +5. 抖音直播 GMV 卡住了,你怎么 diagnose + +PM Case 关键:必须有用户思维 + 业务思维 + 数据思维 同时在线,不要只讲框架,要讲到具体功能 / 实验设计。 diff --git a/skills/interview-prep/references/hr_round.md b/skills/interview-prep/references/hr_round.md new file mode 100755 index 0000000..3d741da --- /dev/null +++ b/skills/interview-prep/references/hr_round.md @@ -0,0 +1,103 @@ +# HR 面 / 终面题库 + +HR 面通常在所有专业面之后,关注:稳定性、性格匹配、薪资期望、入职意愿。 + +## 高频问题 + 推荐答法 + +### 1. 你为什么离职 / 想换工作? + +❌ 错:吐槽前公司 / 同事 / 老板 +✅ 对:聚焦"成长 / 发展 / 业务方向" 三选一 +- "我目前的业务相对成熟,希望挑战 0-1 的环境" +- "上一份工作积累了 ___ 经验,下一步想往 ___ 方向深入,贵司这个岗位正好契合" +- "团队结构调整,业务方向不再是我的兴趣点,所以想找新的发展" + +### 2. 你为什么选我们公司 / 这个岗位? + +❌ 错:贵公司平台大 / 福利好 +✅ 对:show 你做了功课 +- 公司层面:业务 / 战略方向 / 你看好的趋势 + 1~2 个你具体了解的产品 / 案例 +- 岗位层面:JD 里的 ___ 与你的 ___ 经验高度契合 + +### 3. 你期望的薪资是多少? + +策略:**永远不要先开口给一个数** +- 如果可以反问:先问"贵司这个岗位的薪资带是多少?" +- 如果必须给:给一个 range(不要给点),比如"40~55k × 14",下限略高于你能接受的最低 +- 如果对方说"无可奉告,必须你先报":基于市场数据 + 当前涨幅 30~50% 给一个略高的数 + +更详细的薪资谈判脚本见 `salary_negotiation.md`。 + +### 4. 你拿了几个 offer?什么进展? + +策略:**不撒谎,但策略性地说** +- 有真实 offer:直接说,"目前手上有 X 公司的 ___ offer,基本盘是 ___" +- 在面其他公司:说"还在面 X 类公司,预计 X 周内有结果",给对方紧迫感 +- 完全没有:说"目前在重点投这一类岗位,进展中" + +### 5. 我们 / 这个岗位有没有什么让你担心的? + +策略:**给一个真实但可解决的担忧** +- "对 ___ 业务的快速迭代节奏,我需要一段时间适应" +- "团队规模比我之前的大很多,如何融入是我会主动想的事" + +不要答"没有任何顾虑"——显得不真诚。 + +### 6. 你最快什么时候能入职? + +❌ 错:随时(显得急) +✅ 对:基于实际 + 给一点缓冲 +- 在职:依法 30 天交接 + 1 周休息 = 5~6 周 +- 待业:2 周左右 +- 应届:可按毕业时间 / 学校要求 + +### 7. 你最近读了什么书 / 最近在学什么 / 业余爱好? + +策略:**展示自驱力 + 个性**,不要硬凹"成长性" +- 1 本与岗位有点关系的书 / 课程 +- 1 个真实的爱好(运动 / 艺术 / 写作 / 旅行 / 编程副业) + +### 8. 你的优点 / 缺点(HR 复问版) + +HR 复问通常更深,要求"举例": +- 优点:1 个核心优点 + 1 个具体故事 + 这个优点带来的成果 +- 缺点:1 个真实缺点 + 自我察觉的过程 + 正在做的改进 + +⚠️ 缺点不要选"完美主义、太投入工作、太认真"——这些会被识别为"反向夸自己"。 +推荐方向:表达 / 委派 / 公开演讲 / 优先级控制(这些是真缺点但可改进)。 + +### 9. 你的 5 年 / 10 年规划 + +策略:**与公司路径绑定 + 留出灵活性** +- "未来 3~5 年我希望在 ___ 方向深耕,从 IC 成长为能带小团队的 senior" +- "5 年后希望能独立负责一条业务线 / 子产品" +- 不要说"自己创业""转行" / "出国" / "做自媒体" + +### 10. 还有什么想问我们的? + +**强信号题**——必须问问题,不能说"没了"。 + +参考问题(按 HR / 主管 / 终面分层): + +**问 HR:** +- 这个岗位的 onboarding 一般是怎么安排的? +- 团队的组成、和我对接的同事的背景能介绍下吗? +- 公司近期的业务重点 / 战略方向是什么? + +**问主管 / 业务面试官:** +- 您觉得这个岗位最大的挑战是什么? +- 团队最近的 OKR 是什么? +- 您觉得在这个岗位做得好的人,半年 / 一年通常会做出哪些成果? + +**问终面 / 大老板:** +- 您看好的下一个三年的业务方向是什么? +- 这个岗位 / 这条业务线在公司战略里的位置? +- 您在公司最自豪的一个决策是什么?(拉近距离) + +❌ **不要问的**:薪资细节(HR 会主动给)、加班 / 出差(显得在挑刺)、五险一金(显得不专业) + +## HR 面综合心态 + +- HR 看似友好,实际在筛"性格 / 稳定性 / 文化匹配",每句话都是评估 +- 答题保持"克制 + 真实",不要为了讨好把答案变得不像自己 +- HR 一般不决定 offer 给不给,但能 **veto** —— 别在最后一公里翻车 diff --git a/skills/interview-prep/references/role_finance.md b/skills/interview-prep/references/role_finance.md new file mode 100755 index 0000000..532991f --- /dev/null +++ b/skills/interview-prep/references/role_finance.md @@ -0,0 +1,103 @@ +# 金融 / 咨询 / 商科 面试专题 + +## 投行 / IBD + +### Technical 题 +1. 三大报表勾稽关系 +2. WACC / DCF 公式 + 关键假设 +3. LBO 模型核心要素 + 退出回报怎么算 +4. M&A 交易中 accretion / dilution 分析怎么做 +5. 用 5 种以上方法估值一家公司 +6. EV vs Equity Value 区别 + 怎么转换 +7. 同行业可比公司怎么选 + 用什么倍数 +8. PE / PB / EV/EBITDA 各自适用场景 +9. 折旧、摊销、利息、营运资本变动 对现金流的影响 +10. 一家公司 IPO 流程是怎样的(A / 港 / 美股) + +### Fit 题(中外资差异) +- 你为什么想做投行 +- 你愿意接受 100 小时 / 周的工作强度吗 +- 你最近 follow 的一个 deal 是哪个,谈谈你的看法 +- 给你一个新的 sector,你怎么从 0 开始研究 +- 一个分析模型出错了,但 deck 已经发出去了,你怎么处理 + +### 行业 deal 题(必准备 1~2 个) +准备 1~2 个最近的 sector deal,能讲清楚: +- 交易结构(买方 / 卖方 / 估值 / 支付方式) +- 战略意义 +- 估值倍数 / 溢价 +- 市场反应 +- 你的看法 + +## 咨询(Consulting) + +### Case Interview(已在 case.md) +重点训练: +- Market sizing(每家必问) +- Profitability +- Market entry +- Growth strategy + +### Fit 题 +- 你为什么想做咨询 +- 你为什么选 MBB(或我们这家) +- 讲一个你 lead / 推动事情的经验 +- 讲一个你和团队意见不合的经验 +- 你的 long-term career goal + +### Personal Experience Interview(PEI)—— McKinsey 必考 +PEI 三大类: +1. **Personal Impact**(你说服 / 影响别人) +2. **Entrepreneurial Drive**(你主动推动事情) +3. **Inclusive Leadership**(你带领多元团队) + +每类准备 1~2 个故事,按 STAR 讲,每个故事 5~6 分钟(McKinsey 喜欢深挖)。 + +## 量化(Quant) + +### 概率 / 数学题(高频) +1. 一根均匀的木棍随机折两次,能拼成三角形的概率 +2. 蒙提霍尔问题(三门) +3. 醉汉问题(n 步后回到原点的概率) +4. 给你一个不公平硬币,怎么模拟公平硬币 +5. 期望 / 方差 / 协方差 计算题 +6. 布朗运动 / Ito 公式 / Black-Scholes 推导(高级) +7. Optimal stopping(秘书问题) + +### 编程题 +1. LeetCode 中等 / 困难(数组 / 字符串 / DP) +2. 写一个回测框架(伪代码即可) +3. C++ / Python 一些常考语言细节 + +### 策略题 +1. 你了解的策略类型有哪些 +2. 你做过的一个完整策略(信号 → 组合 → 回测 → 上线) +3. 怎么处理过拟合 / out-of-sample 失效 +4. 怎么估算策略容量 +5. Sharpe / Sortino / Calmar / Max DD 各自含义和用法 + +### Brain Teaser(脑筋急转弯) +- 100 个囚犯帽子问题 +- 海盗分金币 +- 8 个球称重找不同的(必备) +- 烧绳子计时 + +## 公募 / 私募 研究员 + +### 行业研究题 +1. 你 cover 哪个行业?目前的核心矛盾是什么? +2. 你最看好 / 最不看好的 1 只股票,逻辑是什么 +3. ___ 公司最近股价涨了 / 跌了 X%,怎么解释 +4. 给你一个新行业,你怎么从 0 开始研究 +5. 你怎么判断管理层质量 +6. 行业景气度 vs 公司基本面,哪个更重要 + +### 估值题 +1. ___ 公司你给多少估值,用什么方法 +2. PE 30x 算贵吗?怎么判断 +3. 价值 vs 成长 vs 周期 各自怎么估 +4. DCF 在 ___ 行业能不能用?为什么 + +### 投资逻辑表达 +- 30 秒电梯演讲:3 句话讲清一只股票的投资逻辑 +- 5 分钟深度:背景 + 催化剂 + 风险 + 估值 + 时间 diff --git a/skills/interview-prep/references/role_internet.md b/skills/interview-prep/references/role_internet.md new file mode 100755 index 0000000..a9a4684 --- /dev/null +++ b/skills/interview-prep/references/role_internet.md @@ -0,0 +1,80 @@ +# 互联网产品 / 运营 / PM 面试专题 + +## 产品经理(PM) + +### 高频题 +1. 介绍一款你最喜欢的产品 / APP,分析它的优势和不足 +2. 如果让你优化 ___(具体产品),你会怎么做 +3. 怎么衡量一个产品 / 功能的成功 +4. 一个新功能上线后留存提了 5%,怎么归因 +5. 你怎么定义产品的 north star metric +6. 设计一个 ___ 功能(如:抖音的"不感兴趣"按钮) +7. 给你一个用户反馈集合,怎么决定要做哪些 +8. PRD 写过吗?怎么写一个高质量的 PRD +9. 你怎么和开发 / 设计 / 运营 协作 +10. 你做的最得意的一个数据驱动决策是什么 + +### PM 案例题答题套路(CIRCLES 框架) +``` +C - Comprehend the situation(澄清问题) +I - Identify the customer(明确目标用户) +R - Report the customer's needs(用户痛点) +C - Cut, through prioritization(功能优先级) +L - List solutions(具体方案 2~3 个) +E - Evaluate trade-offs(取舍) +S - Summarize recommendation(最终建议) +``` + +### PM 面试官想看 +- 用户思维(不是站在自己角度) +- 数据敏感度(你怎么用数据说服 / 验证) +- 业务理解(不只是功能,还有 unit economics) +- 跨职能沟通(你怎么处理与开发 / 设计的冲突) +- ownership(你 own 一个功能从设计到上线到复盘的全流程) + +## 运营 + +### 高频题 +1. DAU 跌了 X%,怎么排查 +2. 给你 100 万预算,做 ___ 活动,你怎么规划 +3. 怎么搭建一个用户分层运营体系 +4. 内容运营 / 用户运营 / 活动运营 你最想做哪个,为什么 +5. 你怎么衡量一个活动的 ROI +6. 你做过的爆款活动 / 内容,复盘一下 +7. 私域 / 公域 你怎么打配合 +8. 怎么提升新用户次留 / 7 留 / 30 留 +9. 你怎么和产品 / 数据 / 设计 协作 +10. 一个失败的活动,你怎么复盘 + +### 运营常用框架 +- AARRR / RARRA:用户生命周期 5 个阶段 +- 活动复盘:目标 - 策略 - 执行 - 数据 - 反思 +- 内容运营三板斧:选题 - 制作 - 分发 - 数据反馈 + +### 运营面试官想看 +- 数据敏感度(每个动作配数字) +- 用户洞察(不是"我觉得",是"用户说") +- 资源整合(怎么撬动第三方 / 跨部门) +- 闭环思维(活动结束 ≠ 工作结束,复盘 + 沉淀 SOP) +- 创意 + 落地(既能想点子,又能落地到 SOP) + +## 项目经理 / TPM + +### 高频题 +1. 你怎么管理一个 ___ 人 / ___ 月的项目 +2. 项目延期了,你怎么办 +3. 跨部门 / 跨时区 / 跨语种 协作的挑战和经验 +4. 你怎么管理项目风险 +5. 敏捷 vs 瀑布,你怎么选 +6. Scrum / Sprint planning / Retro 你怎么主持 +7. 怎么和 stakeholder 同步进度(汇报方式) +8. 一个 stakeholder 不配合,你怎么 escalate +9. 你管过的最大 / 最复杂的项目讲讲 +10. 项目失败 / 没达成目标,你怎么复盘 + +### TPM 面试官想看 +- 结构化思维(项目拆解、依赖管理) +- 沟通能力(向上 / 平行 / 向下) +- 风险预判(不是事后救火,是事前预防) +- 数据 / 工具熟练度(Jira / 飞书 / 自建 dashboard) +- 推动力(drive 一群你管不到的人) diff --git a/skills/interview-prep/references/role_tech.md b/skills/interview-prep/references/role_tech.md new file mode 100755 index 0000000..2e2b776 --- /dev/null +++ b/skills/interview-prep/references/role_tech.md @@ -0,0 +1,83 @@ +# 技术 / 研发 / 数据 面试专题 + +通用技术八股 + 系统设计在 `technical.md`,本文件聚焦: +- 项目深挖话术 +- 算法 / LLM / 数据 岗位特定题 +- 团队 / 软技能题(技术岗也要答) + +## 项目深挖(每家必问) + +面试官最喜欢"刨根问底",一定要准备。 + +每个项目至少能回答以下 8 个问题: + +1. **背景** —— 这个项目为什么要做?业务问题是什么? +2. **你的角色** —— 你在团队里是什么角色?做了 ___ 模块? +3. **技术选型** —— 为什么选 X 而不是 Y?trade-off 是什么? +4. **挑战** —— 遇到的最难的技术问题是什么?怎么解决的? +5. **数据** —— 系统的 QPS / 数据量 / 延迟 / 可用性 是什么? +6. **结果** —— 上线后效果怎么样?比基线提升 ___? +7. **失败 / 坑** —— 踩过什么坑?怎么 debug?怎么避免? +8. **改进** —— 现在让你重新做这个项目,会怎么做? + +## 算法 / 机器学习 岗位特定 + +### 业务理解题 +1. 给你一个 ___ 业务,你怎么定义一个 ML 问题 +2. 你怎么和业务 / 产品 / 数据 协作 +3. 模型上线后效果不及预期,你怎么排查 +4. 模型 vs 规则,什么时候选哪个 +5. 你做的模型,下线 / 替代过吗?为什么 + +### 算法岗"假大模型 / 真不深"识别题 +- 你说会 RLHF,那 PPO 的 KL 项是怎么加的?为什么这么加? +- 你做了 RAG,召回准确率怎么算的?不同分块策略对比过吗? +- 你说做了 Agent,你的 planning 模块是 ReAct / CoT / 还是自定义?错误恢复怎么做? + +防身:**只写真做过的项目**,编造的 LLM 项目最容易翻车。 + +## 数据 / 数仓 / 分析 岗位特定 + +### 业务题(强烈高频) +1. 你怎么衡量一个 ___ 业务的健康度 +2. DAU 跌了 5%,你怎么 diagnose +3. 你做的最有价值的一个数据分析项目 +4. 你怎么和业务方 / 产品 / 老板 沟通分析结论 +5. 给你一个数据需求:"分析下用户为什么流失",你怎么做 + +### SQL 现场题(必考) +- 写一段 SQL:每个用户的连续登录天数 +- 写一段 SQL:每个商品的复购率 +- 写一段 SQL:找出最近 7 天每天的新增用户 +- 写一段 SQL:A/B 测试结果对比 + 显著性 + +提示:**面试现场写 SQL 一定要边写边讲思路**,别闷头写。 + +### 数仓建模题 +- 你怎么设计一个 ___ 业务的数据模型 +- 维度建模 vs 范式建模 怎么选 +- 拉链表 / 缓慢变化维度 怎么处理 +- 数据质量怎么保障(监控 / 巡检 / 复盘) + +## 软技能题(技术岗也要答) + +技术岗以为只考技术 = 大错。中级以上会问: + +1. 跟其他团队 / 产品经理 / 设计师 意见不合,你怎么办 +2. 你怎么 review 别人的代码 / 文档 +3. 你怎么带新人 +4. 一个技术决策没人响应,你怎么推动 +5. 你接手了一个屎山代码,怎么改造 +6. 你怎么管理自己的技术成长 + +## 反向提问(技术面 / leader 面) + +技术面: +- 团队的技术栈和未来规划是什么? +- 团队最近的技术挑战是什么? +- code review / on-call / 周会 流程是怎样的? + +Leader 面: +- 您怎么看 ___ 技术 / 业务方向的未来? +- 团队的技术债务现在怎么样? +- 您觉得在这个团队最有挑战的事情是什么? diff --git a/skills/interview-prep/references/salary_negotiation.md b/skills/interview-prep/references/salary_negotiation.md new file mode 100755 index 0000000..d0c8b64 --- /dev/null +++ b/skills/interview-prep/references/salary_negotiation.md @@ -0,0 +1,99 @@ +# 薪资谈判脚本 + +## 心法 + +- 永远不要先开口给一个数(让对方先报) +- 给数字时给 range,下限略高于你的最低接受 +- 谈判全程保持"希望加入" + "理性 base on 市场" 的语气 +- 不要 disclose 你的当前 / 历史薪资(除非法律 / 当地惯例要求) +- 多个 offer 是最大筹码,但不要明示要"涨多少",让对方主动提 + +## 阶段 1:HR 初次问期望薪资 + +**HR**:"你期望的薪资是多少?" + +**你(首选)**: +"贵司这个岗位的薪资带是多少?我希望对齐市场和岗位职级。" + +**HR(如果说不告诉你)**: +"我们想先听你的期望,再做匹配。" + +**你**: +"基于市场行情和我的 ___ 年经验,我希望的范围是 X~Y k × ___ 月,最终可以基于贵司的整体 package 综合谈。" + +X 的算法:(当前年包 ÷ 12 ÷ 月数)× 1.3~1.5,向上取整到 5k。 +Y 的算法:X × 1.2。 + +例:当前 30 × 16 = 480k 年包。月薪 = 480/14 ≈ 34k。期望 X = 34 × 1.3 = 44k → 给 45~55k × 14。 + +## 阶段 2:HR 给口头 offer + +**HR**:"我们能给你 50k × 14,年包 700k。" + +**你(不要立刻接)**: +"感谢,让我先了解下整体 package 的细节,包括签字费、股票 / RSU、年终奖结构、五险一金基数、加班 / 出差补贴。" + +收到详细信息后: +- 如果**整体满意**:可以表达"基本符合预期,让我和家人商量 1~2 天" +- 如果**期望更高**:进入阶段 3 谈判 + +## 阶段 3:谈高 offer + +**你**: +"非常感谢您的 offer,我对岗位和团队都很认可。基于我目前正在 finalize 的 X 公司类似岗位的 offer / 我的当前 package + 跳槽涨幅期望,我希望能在月薪 / 签字费 / RSU 上有进一步空间,具体是 ___。" + +要点: +- **永远给具体数字**(不要说"再高一点") +- **给一个 reason**(其他 offer / 当前涨幅 / 市场行情) +- **只谈 1~2 个核心要素**(不要每项都谈) +- **不要威胁**(不要说"否则我去 X 公司") + +## 阶段 4:HR 拒绝再加 + +**HR**:"这个数字已经是我们的 maximum,无法再加。" + +**你**: +- 如果 base 已经能接受:尝试争取签字费 / 多一档股票 / 多 5 天年假 / 入职时间调整 +- 如果整体不能接受:感谢 + 说"我需要时间考虑",不要当场拒绝 + +## 阶段 5:手握多个 offer + +最理想:3 个 offer 在手,且各家都知道你在考虑其他 + +**与 A 公司**:"X 公司给了 50k × 14 + 100k 签字 + 200k RSU/年,我个人更倾向贵司 / 这个岗位,但希望整体 package 至少 match。" + +**与 B 公司**:同上但换数字 + +⚠️ 不要伪造 offer(HR 圈子小,可能被发现) + +## 应届生薪资谈判 + +应届生议价空间小,但仍有: +- 不同 offer 互比 +- 签字费可以争(很多公司有 flex) +- 入职时间可以争(毕业延后) +- 工作地点 / base 转换 可以争 + +应届生**不要**:因为期望太高拒掉所有 offer。第一份工作的"平台 + 业务 + leader"比薪资重要。 + +## 常见雷区 + +- "我愿意降薪过来" → 永远不要主动说,HR 会觉得你"贱卖" + "需求被低估" +- "我对薪资不敏感" → HR 听了真的会少给 +- "你们随便给个数" → 把决定权交给 HR,等于自杀 +- "如果不到 X 我就拒" → 太 hardcore,谈崩 +- 把家里 / 房贷 / 个人困难当谈判筹码 → 不专业 + +## 收到 offer 之后的 checklist + +- [ ] 确认 base 月薪 + 月数 +- [ ] 确认签字费 / 一次性奖金 +- [ ] 确认股票 / RSU / 期权(数量、归属期、估值方式) +- [ ] 确认年终奖结构(保底 / 固定 / 浮动) +- [ ] 确认五险一金基数(很多公司低基数缴费,影响实际收入) +- [ ] 确认补充医疗 / 商业保险 +- [ ] 确认年假 / 调休 / 带薪病假 +- [ ] 确认加班 / 出差补贴 +- [ ] 确认背景调查范围 +- [ ] 确认 offer letter 书面文件 +- [ ] 入职时间(30 天交接 + 1 周休息) diff --git a/skills/interview-prep/references/technical.md b/skills/interview-prep/references/technical.md new file mode 100755 index 0000000..8eb083c --- /dev/null +++ b/skills/interview-prep/references/technical.md @@ -0,0 +1,100 @@ +# 技术面题库 + +适用:研发 / 算法 / 数据 / DevOps 岗位的 1~2 面(技术轮)。 + +按职级分层: +- **初级(0-3 年)**:基础八股 + 简单算法 + 项目细节 +- **中级(3-5 年)**:系统设计 + 复杂场景题 + 项目深度追问 +- **高级(5+ 年)**:架构权衡 + 跨团队问题 + 业务理解 + +## 一、后端 / 服务端 + +### 基础八股(每家都问) +1. HTTP / HTTPS / TLS 流程,session vs cookie vs token +2. TCP 三握四挥,为什么是 4 次挥手 +3. MySQL 索引底层(B+ 树)、何时失效、最左前缀 +4. MySQL 事务隔离级别 + 各自解决什么问题 +5. Redis 持久化(RDB / AOF)+ 主从 + 哨兵 + 集群 +6. Redis 缓存击穿 / 穿透 / 雪崩 怎么解 +7. 分布式锁 3 种实现(Redis / Zookeeper / 数据库)+ 各自坑 +8. Kafka 怎么保证消息不丢、不重复、有序 +9. JVM 内存模型 + GC(Java 岗)/ Goroutine 调度(Go 岗) +10. 一致性哈希、CAP、BASE、Raft / Paxos 简述 + +### 系统设计高频 +- 设计一个秒杀系统(QPS 10w) +- 设计一个短链服务(生成 / 重定向 / 统计) +- 设计一个分布式 ID 生成器 +- 设计微博 feed 流(推 / 拉 / 推拉结合) +- 设计一个限流器(令牌桶 / 漏桶 / 滑动窗口) + +### 系统设计回答框架 +``` +1. 澄清需求(问清 QPS、读写比、数据量、SLA) +2. 估容量(QPS × 平均请求大小 = 带宽;数据量 × 时间 = 存储) +3. 高层架构(接入层 → 业务层 → 存储层 → 数据流) +4. 关键模块深挖(讲清楚选型为什么) +5. 扩展性 / 高可用 / 容灾 +6. 主动指出 trade-off +``` + +## 二、前端 + +1. 浏览器渲染流程(DNS → TCP → TLS → HTTP → HTML 解析 → 布局 → 绘制) +2. 事件循环 + 微任务 / 宏任务 +3. 闭包、原型链、this 绑定 +4. React / Vue 响应式原理 +5. 性能优化(FCP / LCP / CLS 指标 + 实操) +6. SSR vs CSR vs SSG,何时用哪个 +7. 跨域方案(CORS / JSONP / 反向代理) +8. webpack / vite 区别 + 原理 + +## 三、算法 / 机器学习 + +### 基础 +1. 偏差 / 方差,过拟合怎么解 +2. L1 / L2 正则的区别 +3. 随机森林 vs GBDT vs XGBoost +4. 梯度消失 / 爆炸 + 解决(BatchNorm / 残差 / 激活函数) +5. Attention 机制讲清,Transformer 与 RNN 对比 +6. 样本不平衡处理(采样 / 类权重 / Focal Loss) +7. 模型评估:准确率、精确率、召回率、AUC、F1,何时用哪个 + +### LLM / GenAI 方向(2024+ 热门) +1. SFT vs RLHF vs DPO,原理 + 何时用 +2. RAG 完整 pipeline:分块策略、Embedding 选型、检索融合、Reranker +3. Agent 的 tool use / planning / memory,与单 LLM 的区别 +4. 长上下文(YARN / RoPE 缩放、Context window 扩展) +5. 推理优化:KV cache、speculative decoding、量化 +6. 大模型评估:benchmark、人工评估、LLM-as-Judge 各自坑 + +### 项目深挖(每个面试官必问) +- 你这个模型为什么选 ___ 而不是 ___ +- 数据是怎么标注 / 清洗的,量级 +- 训练用了什么硬件、跑了多久、超参怎么调 +- 上线后效果怎么评估,与基线对比 +- 失败 / bug 的 case,怎么 debug + +## 四、数据 / 数仓 / 分析 + +### SQL(必考) +- 行转列 / 列转行 / 透视 +- 窗口函数(rank / dense_rank / lead / lag) +- 计算 7 日 / 30 日活跃用户 +- 同 user 连续登录天数 +- 留存率 / 漏斗 / 同期群分析 +- 性能优化(索引、explain、分区、避免子查询) + +### 业务题 +- 给你一个业务场景,让你设计指标体系 +- DAU 跌了 5%,怎么排查 +- 设计一个 A/B 测试(样本量计算、显著性、停损) +- 用户分层模型(RFM / 生命周期) + +## 五、技术面回答原则 + +1. **澄清问题再答**:模糊的题先问 1~2 个澄清问题 +2. **结构化输出**:分点 / 分模块讲,不要意识流 +3. **trade-off 思维**:选 A 而不选 B 时,主动说"因为 ___" +4. **诚实**:不会的题说"这个我没研究过,但根据我对 X 的理解,可能可以这样想 ___" +5. **画图 / 写代码**:白板题写代码先讲思路,再写,最后跑测试用例 diff --git a/skills/interview-prep/scripts/star_story_builder.py b/skills/interview-prep/scripts/star_story_builder.py new file mode 100755 index 0000000..b2004fe --- /dev/null +++ b/skills/interview-prep/scripts/star_story_builder.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python3 +""" +star_story_builder.py — 从简历文本里抽出工作 / 项目经历,生成"故事矩阵"骨架 + +用法: + python star_story_builder.py --resume resume.md --out stories.md + +输出一份 markdown,包含: +- 检测到的 N 个经历(按时间倒序) +- 每个经历的 STAR 骨架占位(让用户 / 模型补全) +- 每个故事可以回答的行为题清单 +""" + +from __future__ import annotations + +import argparse +import re +import sys +from pathlib import Path + + +COMMON_BEHAVIORAL_QUESTIONS = { + "ownership": [ + "讲一次你 ownership 体现得最好的经历", + "你做过的最有成就感的项目", + "讲一次你主动推动事情", + ], + "collab": [ + "讲一次你跨部门 / 跨团队推动事情", + "讲一次你和同事意见不合,怎么解决", + "讲一次你说服别人改变想法", + ], + "challenge": [ + "讲一次你在资源 / 时间不足下完成目标", + "讲一次你做艰难决策的经历", + "讲一次你打破常规 / 创新的经历", + ], + "failure": [ + "讲一次你失败 / 没达成目标的经历", + "讲一次你犯过的最大错误", + "讲一次接到负面反馈,怎么应对", + ], + "learning": [ + "讲一次你快速学会全新领域的经历", + "你最近学到的最重要的事是什么", + ], +} + + +def load_resume_text(path: Path) -> str: + suffix = path.suffix.lower() + if suffix in {".md", ".txt"}: + return path.read_text(encoding="utf-8") + if suffix == ".docx": + try: + from docx import Document + except ImportError: + print("✗ 缺少 python-docx", file=sys.stderr) + sys.exit(1) + return "\n".join(p.text for p in Document(str(path)).paragraphs) + print(f"✗ 暂不支持 {suffix}", file=sys.stderr) + sys.exit(1) + + +def extract_experiences(text: str) -> list[dict]: + """ + 简易抽取:找形如 "公司 | 岗位 | 时间" 或 "项目名 | ..." 的行作为锚点, + 然后取该行后面、下一个锚点之前的内容作为经历内容。 + """ + lines = text.splitlines() + experiences: list[dict] = [] + current = None + + # 匹配锚点(含 | 或 |,且包含日期/年份) + anchor_re = re.compile( + r"^(?P[^\n]+?[||][^\n]+?[||][^\n]+)$" + ) + + for line in lines: + if anchor_re.match(line.strip()): + if current and current["bullets"]: + experiences.append(current) + current = {"title": line.strip(), "bullets": []} + else: + stripped = line.strip() + if current and stripped.startswith(("-", "*", "•")): + current["bullets"].append(stripped.lstrip("-*• ")) + if current and current["bullets"]: + experiences.append(current) + + return experiences + + +def categorize_story(bullets: list[str]) -> list[str]: + """根据 bullet 关键词,判断这个故事最适合回答哪一类行为题。""" + text = " ".join(bullets).lower() + cats = [] + if any(k in text for k in ["主导", "owner", "推动", "drive", "lead", "0-1"]): + cats.append("ownership") + if any(k in text for k in ["跨部门", "跨团队", "协作", "对接", "合作"]): + cats.append("collab") + if any(k in text for k in ["紧急", "时间紧", "资源", "决策", "突破"]): + cats.append("challenge") + if any(k in text for k in ["失败", "下线", "回滚", "复盘", "教训", "踩坑"]): + cats.append("failure") + if any(k in text for k in ["新", "学习", "陌生", "首次", "从零"]): + cats.append("learning") + return cats or ["ownership"] + + +def render(experiences: list[dict]) -> str: + if not experiences: + return ( + "# 故事矩阵(未检测到经历)\n\n" + "无法从简历里自动抽取出工作 / 项目经历。可能是因为:\n" + "1. 简历格式不是 `公司 | 岗位 | 时间` 的常见结构\n" + "2. 经历用普通段落写,没有明显的锚点\n\n" + "建议:手工告诉我你最有代表性的 3~5 段经历,我来帮你做 STAR 拆解。\n" + ) + + out = ["# 故事矩阵(Story Matrix)", ""] + out.append(f"从简历里检测到 {len(experiences)} 段经历,按 STAR 拆解如下。") + out.append("**请补充每个 STAR 段落里 `[占位]` 的内容**,准备好后这些故事可以覆盖 80% 的行为面问题。") + out.append("") + + for idx, exp in enumerate(experiences[:8], start=1): + cats = categorize_story(exp["bullets"]) + out.append(f"## 故事 {idx}:{exp['title']}") + out.append("") + out.append("**简历原始 bullet:**") + for b in exp["bullets"][:5]: + out.append(f"- {b}") + out.append("") + out.append("**STAR 拆解(请补全):**") + out.append("- **S(背景)**:[占位 - 一句话点明背景 / 痛点]") + out.append("- **T(任务)**:[占位 - 你的具体任务和目标]") + out.append("- **A(动作)**:[占位 - 分 2~4 步,每步带动词 + 决策依据]") + out.append("- **R(结果)**:[占位 - 量化结果 + 一句反思]") + out.append("") + + question_pool = [] + for cat in cats: + question_pool.extend(COMMON_BEHAVIORAL_QUESTIONS.get(cat, [])) + out.append(f"**最适合回答的行为题({', '.join(cats)}):**") + for q in question_pool[:4]: + out.append(f"- {q}") + out.append("") + out.append("---") + out.append("") + + out.append("## 使用建议") + out.append("") + out.append("- 把每个故事的 STAR 段落填好,每段控制在 30~90 秒讲完") + out.append("- 面试时灵活组合:同一个故事可以从不同角度回答不同题") + out.append("- 至少准备 **3 个完整故事**(成功 + 失败 + 协作 各一个),覆盖 80% 行为题") + out.append('- 每个故事里强调「我」做了什么,避免大量「我们」') + return "\n".join(out) + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--resume", required=True) + parser.add_argument("--out") + args = parser.parse_args() + + resume_text = load_resume_text(Path(args.resume).expanduser()) + experiences = extract_experiences(resume_text) + report = render(experiences) + + if args.out: + Path(args.out).write_text(report, encoding="utf-8") + print(f"✓ 故事矩阵已生成:{args.out}") + else: + print(report) + + +if __name__ == "__main__": + main() diff --git a/skills/jd-resume-tailor/SKILL.md b/skills/jd-resume-tailor/SKILL.md new file mode 100755 index 0000000..8f33507 --- /dev/null +++ b/skills/jd-resume-tailor/SKILL.md @@ -0,0 +1,127 @@ +--- +name: jd-resume-tailor +description: 给定一份 JD 和一份现有简历,做"JD 拆解 + 简历定向改写"。拆 JD 抽出硬技能、软技能、加分项;对照简历做 gap 分析;产出针对该岗位重写后的简历,突出相关经验、补齐关键词缺口、并保留候选人真实经历不编造。当用户说"针对这个岗位 / 这家公司改简历""帮我对一下这个 JD""我想投这个职位你看怎么改""把这份简历针对 X 公司优化""做一份定向版简历",或同时给出 JD 文本 + 简历文件时,必须触发本 skill。**请勿用本 skill 做"从零写简历"**——那是 resume-builder 的事。 +--- + +# JD ⇄ Resume Tailor(JD 拆解 + 简历定向改写) + +这个 skill 的边界很窄:**只解决"已有 JD + 已有简历,要改一份命中率最高的版本"**。 + +不做的事: +- 写新简历(去 `resume-builder`) +- 找方向 / 推荐岗位(去 `job-intent-tracker`) +- 出面试题(去 `interview-prep`) + +--- + +## 何时触发 + +强信号: +- 用户给了 JD 链接 / JD 文本 + 一份简历 → **必触发** +- "针对这个岗位帮我改简历" +- "对照一下这个 JD" +- "我想投 X 公司的 Y 岗,帮我看简历" +- "做一份定向版" + +弱信号(先确认): +- 只给了 JD 没有简历 → 问"你的简历方便发我看一下吗?没有的话,我可以先帮你从零做一份(resume-builder)" +- 只给了简历说"改简历" → 问"是针对哪个 JD 改?没有 JD 就用 resume-builder 通用优化" + +--- + +## 工作流 + +### Step 1: 解析 JD + +输入可能是: +- 纯文本(用户粘贴) +- 链接(**不要**自动 fetch,提醒用户复制 JD 文本进来;若用户授权 fetch,使用 web_fetch) +- 截图(用 OCR / 视觉识别,让用户确认抽取结果) +- doc/pdf 文件 + +调用脚本: + +```bash +python scripts/parse_jd.py --jd-file <jd.txt> --out jd_parsed.json +``` + +脚本会从 JD 抽出: +- **硬技能 must-have**("必须" / "要求" / "至少 X 年" 等强信号词后面的技能) +- **硬技能 nice-to-have**("加分" / "优先" / "熟悉者优先" 等弱信号) +- **软技能信号**(沟通 / 推动 / 跨部门 / 抗压 等) +- **职责动词 + 对象**("负责 X" / "搭建 Y" / "推动 Z") +- **特殊要求**(出差 / 学历 / 证书 / 语言 / 城市) + +把结果展示给用户,让用户**确认 / 修正抽取是否准确**(关键 must-have 不能漏)。 + +### Step 2: 解析简历 + +输入:用户上传的简历文件(.pdf / .docx / .md / .txt)。 + +调用对应 skill 解析: +- pdf → pdf skill +- docx → docx skill + +抽出:基本信息、教育、每段工作 / 项目经历的(公司、岗位、时间、职责 bullet)、技能列表。 + +### Step 3: Gap 分析 + +调用: + +```bash +python scripts/jd_gap.py --jd jd_parsed.json --resume resume.txt --out gap.md +``` + +脚本输出三类清单: + +1. **完美命中**(JD must-have 在简历里有明确证据) +2. **隐性命中**(JD 要求 X,简历里有 X 的近义经验,但用词不一样 → 改写时可以"提一下") +3. **真缺口**(JD 要求但简历完全没有) + +对"真缺口"分两类: +- **可补救**:简历里其实做过类似的事,只是没写出来 → 追问用户"你做过 X 吗?" +- **不可补救**:用户确实没做过 → **不能编**,建议用户在 cover letter 或 summary 里诚实说明并强调 transferable skill + +### Step 4: 定向改写 + +按以下原则重写简历: + +**a. 重排经历顺序**:与 JD 最相关的工作 / 项目放最前(不改时间真实性,但可以把项目经历拆成两块"相关项目 / 其他项目") + +**b. 重写每条 bullet**: +- 把 JD 里的"职责动词"自然嵌入 bullet(如 JD 说"主导 ___ 系统设计",简历里就把"参与"改成"主导"——前提是用户确实主导了) +- 数字保留并放大("用户 100 万"是好事,别藏起来) +- 补 JD 关键词(如 JD 说"A/B 测试",但简历里写的是"灰度对比",改成"A/B 测试(灰度对比)") + +**c. 重写 Summary**:用 2~3 行总结你为什么是这个岗位的合适人选,**直接对应 JD 的 must-have** + +**d. 调整技能列表**:把 JD 提到的技能移到最前面(前提是真的会) + +**e. 不改的事实**: +- 公司名、岗位名、起止时间、学历 —— 一字不改 +- 项目规模、用户量、收入数据 —— 不能编,只能让用户确认后填准 + +### Step 5: 自检 + 报告 + +输出三个文件: +1. `resume_tailored_<公司>_<岗位>.md`(改写后的简历) +2. `gap_analysis.md`(gap 分析报告) +3. 聊天里给一个 ATS 命中率对比:"改前 X% → 改后 Y%" + +附:诚实提醒用户**哪些 bullet 是基于现有信息推测改写的**,让用户复核后再投。 + +--- + +## 反模式(不要做) + +- ❌ 编造经历("加上一段你没做过的项目"——绝对禁止,哪怕用户要求) +- ❌ 把 JD 的整段话直接粘进简历(很容易被 HR 一眼识破,且 ATS 反作弊会标记) +- ❌ 关键词堆砌(在末尾塞一长串技能词凑命中率,HR 一眼能看出) +- ❌ 把"参与"改成"主导"但没有问用户实际角色 → 必须先核实 +- ❌ 不给用户看 gap,自己默默改 → 用户会失去对简历的"理解" + +## 与其他 skill 的协作 + +- 改完后用户说"帮我准备这家公司的面试" → 转 `interview-prep`,把 JD + 改写简历传过去 +- 用户说"我想知道还能投哪些类似的岗" → 转 `job-intent-tracker` +- 用户说"我现在简历不太行,能不能整体重做" → 转 `resume-builder` diff --git a/skills/jd-resume-tailor/references/jd_parsing_signals.md b/skills/jd-resume-tailor/references/jd_parsing_signals.md new file mode 100755 index 0000000..bb7d534 --- /dev/null +++ b/skills/jd-resume-tailor/references/jd_parsing_signals.md @@ -0,0 +1,79 @@ +# JD 解析信号词参考 + +## must-have 强信号词 + +只要 JD 句子里出现这些词,后面的技能 / 经验大概率是硬门槛: + +- 必须 / 必备 / 要求 / 应当 +- 至少 X 年 / X+ years / 不少于 +- "需要" / "需具备" +- "必要条件" / "硬性要求" +- 工科背景 / 985 / 211 / 硕士及以上 / 博士 + +英文 JD: +- Required / Must have / Mandatory / Essential +- Minimum X years +- Strong proficiency in / Expert in +- Demonstrated experience with + +## nice-to-have 弱信号词 + +- 加分 / 优先 / 优先考虑 +- 熟悉 ___ 者优先 +- 有 ___ 经验者优先 +- "了解 ___ 即可" +- 加分项 + +英文: +- Preferred / Nice to have / Plus / Bonus / Desirable +- Familiar with / Exposure to +- A plus / Would be a plus + +## 职责动词(写在 bullet 里能呼应 JD) + +中文:负责、主导、推动、设计、搭建、优化、规划、迭代、孵化、复盘、运营、管理、协调、执行 +英文:Lead / Drive / Build / Design / Architect / Develop / Implement / Optimize / Manage / Coordinate / Execute / Own + +## 特殊要求 + +- **学历**:本科 / 硕士 / 博士及以上;学校 tier +- **工作年限**:X-Y 年(写明 range,不写满则有弹性) +- **语言**:英语口语流利 / CET-6 / 雅思 X / 母语 +- **证书**:CFA / CPA / PMP / AWS Solutions Architect 等 +- **出差 / 派驻 / 加班**:"接受出差"、"奇偶周末调休"、"项目制 996" +- **工作地点**:城市 + 是否 remote / hybrid + +## 反信号(看到这些要警觉) + +- "其他领导交办的任务" → 工作边界模糊 +- "良好的抗压能力" → 加班多 +- "拥抱变化 / 快速迭代" → 业务方向不稳定 +- "扁平化沟通 / 没有层级" → 实际可能更乱 +- "5 险一金 + 节日福利" 写在 JD 显眼位置 → 福利可能就这些 + +## 输出格式(Step 1 给用户看的) + +```json +{ + "company": "XX 公司", + "position": "XX 岗位", + "must_have": [ + {"item": "5 年以上 C 端产品经验", "evidence": "JD 第 X 行"}, + {"item": "熟练 SQL", "evidence": "JD 第 Y 行"} + ], + "nice_to_have": [ + {"item": "海外业务经验", "evidence": "JD 第 Z 行"} + ], + "soft_skills": ["跨部门推动", "数据驱动决策"], + "responsibilities": [ + "主导 ___ 业务线产品规划", + "通过数据分析驱动迭代" + ], + "special_requirements": { + "education": "本科及以上", + "years": "5+", + "language": "英语口语流利", + "location": "上海,可接受短期出差" + } +} +``` diff --git a/skills/jd-resume-tailor/references/rewrite_principles.md b/skills/jd-resume-tailor/references/rewrite_principles.md new file mode 100755 index 0000000..a161401 --- /dev/null +++ b/skills/jd-resume-tailor/references/rewrite_principles.md @@ -0,0 +1,75 @@ +# 简历定向改写原则 + +## 核心原则 + +### 1. 不编造,只重组 + +简历里的事实部分(公司、岗位、时间、量化数字)**一字不改**。 +可以改的: +- bullet 的措辞和顺序 +- 强调的角度(同一段经历,不同 JD 强调不同侧面) +- 项目分类("相关项目"放前,"其他项目"放后) + +### 2. 把 JD 的关键词嵌入到真实经验里,而不是单独贴 + +❌ 错:在简历末尾加一行"关键词:A/B 测试、用户增长、SQL、Python" +✅ 对:把"我做过的灰度对比"改成"A/B 测试(灰度对比)",让关键词嵌在真实场景里 + +### 3. 用 JD 的动词 + +JD 说"主导 ___ 系统设计",如果你是这段经历的负责人,把"参与"改成"主导"。 + +但**前提是真的主导**——agent 在改写前必须确认: +- 这段经历你是 leader 吗?是的话改"主导";不是就保留"参与"或写明"作为 _ 角色 协助 ___" + +### 4. 重排经历顺序 + +工作经历(按时间倒序)—— 不可改,否则失实。 +项目经历 / 实习经历 —— 可以改,把与 JD 强相关的放前面。 + +更进一步:可以拆成两个小标题: +``` +【相关项目】(与目标岗位强相关) +- ... +【其他项目】 +- ... +``` + +### 5. Summary 要直接对位 JD must-have + +JD 说"5 年 C 端产品 + SQL + A/B 测试" +Summary 改成:"5 年 C 端互联网产品经验,主导过 ___ 增长项目,熟练使用 SQL 与 A/B 测试驱动决策" + +### 6. 技能列表也要倾斜 + +JD 说"Python / Spark / Flink",简历技能列表把这三个放前面。 +不会的不要写。 + +### 7. 适度补 nice-to-have + +如果 JD 的 nice-to-have 你**真的有**但简历没写,补上。 +如果没有,不补——nice-to-have 本来就不是硬门槛,不影响过简历筛选。 + +## 改写后的双向校验 + +每条改后 bullet 自问: +- 这是不是用户真实做过的? +- 这条 bullet 在 JD 里能找到对应的关键词 / 职责吗? +- 量化数字有保留吗? + +每段经历自问: +- 是否覆盖了 JD 的至少 1 条 must-have? +- 是否突出了用户在这段经历里"真正的高光"? + +整份简历自问: +- ATS 命中率有提升吗? +- HR 看 30 秒能不能 get 到"为什么这个候选人适合这个岗位"? +- 有没有让真实经历变形 / 失实? + +## 当用户与 JD 严重不匹配时 + +诚实告诉用户: +- "JD 里有 N 条 must-have 你的简历完全没有覆盖,这个岗位投递成功率较低" +- "建议你考虑:(a) 投匹配度更高的类似岗位 (b) 在 cover letter 里诚实说明 transferable skill (c) 先补技能再投" + +不要为了"看起来匹配"而扭曲简历。 diff --git a/skills/jd-resume-tailor/scripts/jd_gap.py b/skills/jd-resume-tailor/scripts/jd_gap.py new file mode 100755 index 0000000..9370cad --- /dev/null +++ b/skills/jd-resume-tailor/scripts/jd_gap.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +""" +jd_gap.py — 把 parse_jd.py 的 JSON 与简历文本做 gap 分析 + +用法: + python jd_gap.py --jd jd_parsed.json --resume resume.md --out gap.md + +输出 markdown 报告:完美命中 / 隐性命中 / 真缺口 三类,附改写建议。 +""" + +from __future__ import annotations + +import argparse +import json +import re +import sys +from pathlib import Path + + +def load_resume_text(path: Path) -> str: + suffix = path.suffix.lower() + if suffix in {".md", ".txt"}: + return path.read_text(encoding="utf-8") + if suffix == ".docx": + try: + from docx import Document + except ImportError: + print( + "✗ 缺少 python-docx:pip install python-docx --break-system-packages", + file=sys.stderr, + ) + sys.exit(1) + doc = Document(str(path)) + return "\n".join(p.text for p in doc.paragraphs) + print(f"✗ 暂不支持的格式:{suffix}", file=sys.stderr) + sys.exit(1) + + +def find_evidence(resume_text: str, keyword: str, window: int = 30) -> str | None: + """在简历里找关键词,返回上下文片段;找不到返回 None。""" + pattern = re.escape(keyword) + m = re.search(pattern, resume_text, flags=re.IGNORECASE) + if not m: + return None + start = max(0, m.start() - window) + end = min(len(resume_text), m.end() + window) + snippet = resume_text[start:end].replace("\n", " ").strip() + return snippet + + +def fuzzy_hit(resume_text: str, keyword: str) -> str | None: + """模糊命中:取关键词的中文 / 英文核心,做包含匹配。""" + # 拿前 2 个字 / 前 5 个字符 + candidates = [] + if re.search(r"[一-龥]", keyword): + if len(keyword) >= 4: + candidates.append(keyword[:2]) + candidates.append(keyword[-2:]) + else: + if len(keyword) >= 4: + candidates.append(keyword[:4].lower()) + text_low = resume_text.lower() + for c in candidates: + if c and c in text_low: + return c + return None + + +def analyze(jd: dict, resume_text: str) -> dict: + perfect, implicit, missing = [], [], [] + + # 用 must_have 句子里抽出来的 skills 作为对比项 + candidates = jd.get("skills_extracted", []) + jd.get("must_have", []) + + seen = set() + for c in candidates: + # 句子层面太长,截短 + keyword = c.strip() + if len(keyword) > 30: + # 从长句子里抽更短的关键词 + short_tokens = re.findall( + r"[A-Za-z][A-Za-z0-9+/.\-_]{1,20}|[一-龥]{2,6}", + keyword, + ) + for t in short_tokens: + if t.lower() not in seen: + seen.add(t.lower()) + process_one(t, resume_text, perfect, implicit, missing) + else: + if keyword.lower() not in seen: + seen.add(keyword.lower()) + process_one(keyword, resume_text, perfect, implicit, missing) + + return {"perfect": perfect, "implicit": implicit, "missing": missing} + + +def process_one(keyword, resume_text, perfect, implicit, missing): + ev = find_evidence(resume_text, keyword) + if ev: + perfect.append({"keyword": keyword, "evidence": ev}) + return + fuzzy = fuzzy_hit(resume_text, keyword) + if fuzzy: + implicit.append({"keyword": keyword, "fuzzy_match": fuzzy}) + else: + missing.append(keyword) + + +def render(jd: dict, gap: dict) -> str: + lines = ["# JD ⇄ Resume Gap 分析报告", ""] + + spec = jd.get("special_requirements", {}) + if spec: + lines += ["## JD 硬条件", ""] + for k, v in spec.items(): + lines.append(f"- **{k}**:{v}") + lines.append("") + + lines += ["## ✅ 完美命中(简历里有明确证据)", ""] + if gap["perfect"]: + for item in gap["perfect"][:30]: + lines.append(f"- **{item['keyword']}** —— 证据:`...{item['evidence']}...`") + else: + lines.append("(无)") + lines.append("") + + lines += ["## 🟡 隐性命中(简历里有近似但用词不同,建议改写时对齐)", ""] + if gap["implicit"]: + for item in gap["implicit"][:20]: + lines.append(f"- **JD 关键词:{item['keyword']}**(简历里出现:`{item['fuzzy_match']}`)") + else: + lines.append("(无)") + lines.append("") + + lines += ["## 🔴 真缺口(简历完全没有,需要确认 / 补充 / 转换叙事)", ""] + if gap["missing"]: + for kw in gap["missing"][:30]: + lines.append(f"- **{kw}**") + else: + lines.append("(无)") + lines.append("") + + lines += [ + "---", + "## 改写建议", + "", + "1. **完美命中** 的部分保留,但确保措辞与 JD 一致(比如 JD 用『A/B 测试』就别写『AB 实验』)", + "2. **隐性命中** 是性价比最高的优化点 —— 把简历里的近义词改成 JD 的措辞", + "3. **真缺口** 分两类:", + " - 你做过但没写?→ 补到对应经历的 bullet 里", + " - 你没做过?→ **不要编造**。可以在 cover letter / Summary 里诚实说明 transferable skill", + "4. 把改后的简历再跑一次 ats_check.py 看命中率是否提升", + ] + return "\n".join(lines) + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--jd", required=True, help="parse_jd.py 输出的 json") + parser.add_argument("--resume", required=True, help="简历文件 (.md/.txt/.docx)") + parser.add_argument("--out", help="输出 markdown 路径") + args = parser.parse_args() + + jd = json.loads(Path(args.jd).read_text(encoding="utf-8")) + resume_text = load_resume_text(Path(args.resume)) + gap = analyze(jd, resume_text) + report = render(jd, gap) + + if args.out: + Path(args.out).write_text(report, encoding="utf-8") + print(f"✓ Gap 报告已生成:{args.out}") + else: + print(report) + + +if __name__ == "__main__": + main() diff --git a/skills/jd-resume-tailor/scripts/parse_jd.py b/skills/jd-resume-tailor/scripts/parse_jd.py new file mode 100755 index 0000000..54260da --- /dev/null +++ b/skills/jd-resume-tailor/scripts/parse_jd.py @@ -0,0 +1,189 @@ +#!/usr/bin/env python3 +""" +parse_jd.py — 解析 JD 文本,抽取 must-have / nice-to-have / 职责 / 特殊要求 + +用法: + python parse_jd.py --jd-file jd.txt --out jd_parsed.json + python parse_jd.py --jd-text "..." --out jd_parsed.json + +输出 JSON 结构供下一步的 jd_gap.py 使用,也可以直接给用户看。 +""" + +from __future__ import annotations + +import argparse +import json +import re +import sys +from pathlib import Path + +MUST_PATTERNS = [ + r"必须", r"必备", r"必要条件", r"硬性要求", r"应当", r"需要", r"需具备", + r"至少\s*\d+\s*年", r"\d+\+?\s*年以上", + r"required", r"must\s*have", r"mandatory", r"essential", + r"minimum\s+\d+\s+years", +] +NICE_PATTERNS = [ + r"加分", r"优先", r"加分项", r"熟悉.+者优先", r"有.+经验者优先", + r"preferred", r"nice\s*to\s*have", r"plus", r"bonus", r"desirable", +] +ACTION_VERBS = [ + "负责", "主导", "推动", "设计", "搭建", "构建", "优化", "规划", "迭代", + "孵化", "复盘", "运营", "管理", "协调", "执行", "驱动", "落地", "重构", + "lead", "drive", "build", "design", "architect", "develop", "implement", + "optimize", "manage", "coordinate", "execute", "own", +] + + +def split_sentences(text: str) -> list[str]: + # 中文按 。!?; 拆,英文按 . ; 拆,并保留 bullet 行 + raw = re.split(r"[。!?!?;;\n]+", text) + return [s.strip(" \t-•·*") for s in raw if s.strip()] + + +def classify_sentences(sentences: list[str]) -> dict: + must, nice, resp, others = [], [], [], [] + for s in sentences: + s_low = s.lower() + if any(re.search(p, s_low) for p in NICE_PATTERNS): + nice.append(s) + elif any(re.search(p, s_low) for p in MUST_PATTERNS): + must.append(s) + elif any(v in s_low for v in ACTION_VERBS): + resp.append(s) + else: + others.append(s) + return {"must": must, "nice": nice, "responsibilities": resp, "others": others} + + +def extract_special(text: str) -> dict: + out: dict[str, str] = {} + + # 学历 + edu = re.search(r"(本科|硕士|博士|大专)(?:及以上|以上)?", text) + if edu: + out["education"] = edu.group(0) + + # 工作年限 + years = re.search(r"(\d+)\s*[-~–到至]\s*(\d+)\s*年|(\d+)\s*\+?\s*年(以上|及以上)?", text) + if years: + out["years"] = years.group(0) + + # 语言 + lang_pat = re.search( + r"(英语\s*(口语)?\s*(流利|熟练|母语)|CET[-\s]?[46]|雅思\s*\d(\.\d)?|托福\s*\d{2,3}|母语水平|business\s*english)", + text, + flags=re.IGNORECASE, + ) + if lang_pat: + out["language"] = lang_pat.group(0) + + # 城市 + cities = re.findall( + r"(北京|上海|广州|深圳|杭州|南京|苏州|成都|武汉|西安|香港|新加坡|remote|hybrid|远程|海外)", + text, + flags=re.IGNORECASE, + ) + if cities: + out["location"] = "/".join(sorted(set(c.lower() for c in cities))) + + # 出差 / 加班信号 + travel = re.search(r"(出差|派驻|常驻|项目制|加班|999|996|大小周)", text) + if travel: + out["working_style"] = travel.group(0) + + # 证书 + certs = re.findall( + r"(CFA(?:\s*Level\s*[I123]+)?|CPA|FRM|ACCA|PMP|AWS\s*[\w\s]*认证|Azure\s*[\w]*|GCP\s*[\w]*)", + text, + flags=re.IGNORECASE, + ) + if certs: + out["certificates"] = "/".join(sorted(set(c.strip() for c in certs))) + + return out + + +def extract_skills(sentences: list[str]) -> list[str]: + """从所有句子里抽取技能词候选(短词优先,避免抽出整句)。""" + text = " ".join(sentences) + # 英文技能(CamelCase 或大写开头的词、含 . 或 +/- 的标识) + en = re.findall(r"\b[A-Za-z][A-Za-z0-9+/.\-_#]{1,20}\b", text) + # 中文 2~5 字常见技能词 + zh = re.findall(r"[一-龥]{2,5}", text) + raw = en + zh + + stop = { + # 中文虚词 / 通用动词 + "公司", "我们", "你将", "团队", "需要", "能够", "具备", "熟悉", "了解", + "良好", "优秀", "经验", "能力", "岗位", "职责", "要求", "以上", "相关", + "进行", "完成", "负责", "推动", "实现", "提升", "并且", "包括", "以下", + "工作", "项目", "业务", "及其", "或者", "或", "与", "及", "的", "了", + "并", "对", "在", "等", "以", "等等", "通过", "将", "其", "之", "至", + "至上", "本科", "硕士", "博士", "者优先", "根据", "进行", "支持", "参与", + "主导", "提供", "建立", "搭建", "设计", "驱动", "决策", "分析", "推动", + "迭代", "规划", "运营", "协作", "跨部门", "跨团队", "高级", "资深", + "若干", "多种", "多元", "多类", + # 英文虚词 + "and", "the", "with", "for", "of", "or", "to", "be", "as", "an", "is", + "are", "in", "on", "at", "by", "all", "you", "we", "us", "our", "your", + "a", "an", "this", "that", "these", "those", "it", "its", + } + # 含数字的"X年""X个"也过滤 + digit_only = re.compile(r"^\d+$") + + seen = set() + out = [] + for token in raw: + key = token.lower() + if key in seen or token in stop or len(token) < 2 or digit_only.match(token): + continue + # 中文 token 不允许全是 stop 词的子串 + seen.add(key) + out.append(token) + return out[:60] + + +def main() -> None: + parser = argparse.ArgumentParser() + src = parser.add_mutually_exclusive_group(required=True) + src.add_argument("--jd-file", help="JD 文本文件路径") + src.add_argument("--jd-text", help="直接传 JD 文本") + parser.add_argument("--out", help="输出 JSON 路径,缺省打印") + args = parser.parse_args() + + if args.jd_file: + path = Path(args.jd_file).expanduser() + if not path.exists(): + print(f"✗ JD 文件不存在:{path}", file=sys.stderr) + sys.exit(1) + text = path.read_text(encoding="utf-8") + else: + text = args.jd_text + + sentences = split_sentences(text) + classified = classify_sentences(sentences) + special = extract_special(text) + skills = extract_skills(classified["must"] + classified["responsibilities"]) + + result = { + "must_have": classified["must"], + "nice_to_have": classified["nice"], + "responsibilities": classified["responsibilities"], + "skills_extracted": skills, + "special_requirements": special, + "raw_sentence_count": len(sentences), + } + + payload = json.dumps(result, ensure_ascii=False, indent=2) + if args.out: + out_path = Path(args.out).expanduser() + out_path.parent.mkdir(parents=True, exist_ok=True) + out_path.write_text(payload, encoding="utf-8") + print(f"✓ JD 解析结果已保存:{out_path}") + else: + print(payload) + + +if __name__ == "__main__": + main() diff --git a/skills/job-intent-tracker/SKILL.md b/skills/job-intent-tracker/SKILL.md new file mode 100755 index 0000000..f91393b --- /dev/null +++ b/skills/job-intent-tracker/SKILL.md @@ -0,0 +1,136 @@ +--- +name: job-intent-tracker +description: 帮助用户梳理求职意向、生成目标岗位画像,并维护一份结构化的"岗位投递追踪表"。当用户说"我想换工作 / 不知道投什么岗 / 帮我看看我适合什么岗位 / 帮我管理投递进度 / 我投了好几家但记不住状态了 / 想做一个求职 OKR / 整理一下求职方向",或上传简历但没说要改简历时,应该主动触发本 skill。本 skill 也适用于实习生、应届生、转行候选人在求职启动阶段做"自我盘点 + 目标画像 + 投递管理"三件事。 +--- + +# Job Intent Tracker(求职意向 + 岗位追踪) + +这个 skill 解决"求职启动期"的三个核心问题: + +1. **我适合投什么岗?** —— 从用户背景里抽取信号,反推 2~3 个目标方向 +2. **目标岗位长什么样?** —— 为每个方向生成"岗位画像 / Target Profile" +3. **投了哪些、进度如何?** —— 维护一份结构化追踪表(Excel / Markdown 表) + +不要把这个 skill 用成"简历改写"或"面试题生成"——那是 resume-builder / jd-resume-tailor / interview-prep 的事。本 skill 只关心"方向"和"管理"。 + +--- + +## 何时触发本 skill + +强信号(基本必须用): +- "我想换工作 / 想跳槽 / 想找下一份工作" +- "帮我看看我适合什么岗位" +- "帮我管理投递进度 / 跟踪一下我投的公司" +- "我有 X 年 Y 经验,下一步该往哪走" +- "我投了好多家但忘了进度" + +弱信号(先确认再用): +- 用户只丢了一份简历,没说目的 → 先问"你是想梳理方向、改简历,还是准备面试?" +- 用户说"想找工作"但很模糊 → 先问"你心里有目标方向吗?还是想让我帮你判断方向?" + +--- + +## 工作流程 + +按这个顺序走,一步都不要跳: + +### Step 1: 自我盘点(Background Intake) + +用 AskUserQuestion(或在没有该工具时直接问)收集以下信息。**不要一次问完,分 2~3 轮,每轮 2~3 个问题**,否则用户会被"问卷感"劝退。 + +第一轮(必问): +- 当前 / 最近一份工作的岗位、公司类型、年限 +- 核心技能 3~5 个(关键词即可) +- 目标行业 / 目标方向(如果用户有)—— 没有也没关系,跳到 Step 2 + +第二轮(看情况问): +- 期望薪资 range(用户不愿意说就跳过) +- 城市偏好 / 是否接受 remote +- 排除项("不想做销售 / 不想加班 / 不接受出差"等) + +第三轮(深度信号,仅在前两轮信息不足以画像时问): +- 最有成就感的 1~2 个项目 +- 最不喜欢做的事 +- 5 年后的画面 + +如果用户上传了简历 .pdf / .docx,**先调用 pdf 或 docx skill 解析出文本**,再从中抽取以上信息,避免用户重复打字。 + +### Step 2: 推荐求职方向 + +基于 Step 1 的信息,生成 2~3 个候选方向。每个方向都要写清楚: + +``` +方向 N:<岗位名>(如:互联网产品经理 / 数据分析师 / 量化研究员) +- 匹配度:高 / 中 / 低(高=核心技能直接命中;中=需补 1~2 个关键技能;低=需要转岗叙事) +- 匹配理由:基于用户的 ___ 经验和 ___ 技能 +- 缺口:用户还需要补 ___ 才能成为强候选人 +- 典型雇主:<3~5 个具体公司或公司类型> +- 薪资带(仅供参考):__k - __k(注明"市场行情,仅供参考,建议用户自行通过职级查询") +``` + +**重要:不要只推荐"安全"的方向。** 如果用户技能允许,至少给一个"跳一跳能够到"的方向,并诚实标注缺口。 + +### Step 3: 生成岗位画像(Target Profile) + +为用户**最终选定**的 1~2 个方向(让用户主动选),生成详细画像。模板在 `references/target_profile_template.md`,需要读取这个文件后再填充。 + +画像要包含:岗位职责典型描述、技能要求 must-have / nice-to-have、面试流程预期、对标公司列表(按 tier 分层)。 + +读取行业关键词库决定 must-have / nice-to-have: +- 互联网产品 / 运营 / PM → `references/keywords_internet.md` +- 技术 / 研发 / 数据 → `references/keywords_tech.md` +- 金融 / 咨询 / 商科 → `references/keywords_finance.md` +- 通用 / 跨行业 → `references/keywords_general.md` + +### Step 4: 创建投递追踪表 + +调用 `scripts/init_tracker.py` 生成初始追踪表。脚本支持两种格式: + +```bash +python scripts/init_tracker.py --format xlsx --output /path/to/tracker.xlsx +# 或 +python scripts/init_tracker.py --format md --output /path/to/tracker.md +``` + +默认推荐 xlsx(用户可以排序、加 conditional formatting)。如果用户明确要求轻量,用 md。 + +追踪表的列结构(脚本里已经预设好,不要改): +公司、岗位、来源(猎头/官网/内推/招聘网站)、JD 链接、投递日期、当前阶段(投递/笔试/一面/二面/HR 面/Offer/Reject/沉默)、下一步动作、Deadline、薪资范围、内推人、备注 + +### Step 5: 用 Artifact 做"求职看板"(可选但推荐) + +如果当前环境里有 `mcp__cowork__create_artifact` 工具,主动提议:"要不要我把这个追踪表做成一个可以每天打开看的看板?" + +如果用户同意,创建一个 HTML artifact,从追踪表数据渲染: +- 顶部 KPI:投递总数 / 进入面试数 / Offer 数 / 待跟进数 +- 中部表格:按"当前阶段"分组的 Kanban 视图 +- 底部提醒:3 天没动静的公司、deadline 临近的任务 + +--- + +## 输出风格 + +- **结构化、可执行**,不要泛泛而谈"建议你多投简历"这种话 +- 涉及薪资、行业判断时,**明确标注"市场参考、非承诺"** +- 推荐方向时不要谄媚(不要把所有用户都推向"高薪 AI 岗"),诚实评估匹配度 +- 用户拒绝某个方向时不要劝,问清楚为什么然后调整 + +--- + +## 与其他 skill 的协作 + +- 用户选定方向后说"那帮我改简历" → 调用 `resume-builder`,把岗位画像传过去 +- 用户说"那针对这家公司的 JD 改一下" → 调用 `jd-resume-tailor` +- 用户说"帮我准备面试" → 调用 `interview-prep`,把岗位画像传过去 + +输出"我已经把你的岗位画像存到 ___,下一步可以让我用 resume-builder 改简历"这样的衔接句,让 agent 在多步任务里能流转。 + +--- + +## 反模式(不要做) + +- ❌ 一上来就问 8 个问题 +- ❌ 不问用户偏好,直接推 5 个方向 +- ❌ 不给追踪表,只在聊天里讲一通 +- ❌ 把"运营 / 产品 / 项目经理"塞给所有文科背景用户 +- ❌ 看到"AI / 大模型"就无脑推 LLM 岗,不评估实际技能匹配 diff --git a/skills/job-intent-tracker/references/keywords_finance.md b/skills/job-intent-tracker/references/keywords_finance.md new file mode 100755 index 0000000..9a60782 --- /dev/null +++ b/skills/job-intent-tracker/references/keywords_finance.md @@ -0,0 +1,78 @@ +# 金融 / 咨询 / 商科 关键词库 + +## 投行 / IBD + +**Must-have** +- 财务建模(DCF、LBO、Comps、Precedent Transactions) +- 估值方法、敏感性分析、scenario analysis +- 行业研究、招股书 / pitchbook、deal experience +- Excel 建模、PowerPoint 高阶、Bloomberg、Capital IQ、Wind + +**职级 & 信号** +- Analyst(应届/1-3 年):execution、模型搭建 +- Associate(3-6 年):项目管理、客户接触 +- VP / Director:deal origination、客户关系 + +**典型雇主** +- 外资九大行:高盛、摩根士丹利、摩根大通、美林、巴克莱、瑞银、瑞信、德银、花旗 +- 中资头部:中金、中信、华泰联合、海通、招商 +- 精品行:Lazard、Centerview、Moelis、Evercore、华兴、汉能 + +## 咨询(Consulting) + +**Must-have** +- 结构化思维(MECE、issue tree、hypothesis-driven) +- Case Interview 能力:market sizing、profitability、M&A、market entry +- 行业知识 + 客户沟通 +- 工具:PowerPoint(必)、Excel(必)、Tableau / Alteryx(加分) + +**MBB 信号**:先 sizing 再框架,框架要 collectively exhaustive,假设清晰可证伪 + +**典型雇主** +- MBB:McKinsey、BCG、Bain +- Big 4 战略:Strategy&(PwC)、Monitor Deloitte、EY-Parthenon、KPMG Strategy +- 二线:Roland Berger、Oliver Wyman、A.T. Kearney、L.E.K. +- 内资:埃森哲战略(已并入)、华兴 Alpha、艾瑞、易观、罗兰贝格本土化团队 + +## 买方 / 二级市场(Buy Side) + +**Must-have** +- 行业研究、公司研究、估值模型 +- 投资逻辑、催化剂、风险点 +- 写作能力(投研报告) + +**细分** +- 公募基金:行业研究员 / 基金经理助理 +- 私募 / 对冲基金:基本面 / 量化 / CTA / 多策略 +- 险资 / 资管:稳健、负债端思维 +- VC / PE:早期 / 成长期 / 并购,技术 + 商业判断 + +## 量化(Quant) + +**Must-have** +- 数学:随机过程、统计、优化、概率 +- 编程:Python(必)、C++ / Java(HFT 必)、Q/KDB +- 策略类型:CTA、stat arb、market making、HFT、ML 因子 +- 工具:vnpy、聚宽、米筐、Bloomberg、Wind、Tushare + +**典型雇主** +- 国际:Two Sigma、Citadel、Jane Street、Jump Trading、HRT、DRW +- 国内:九坤、明汯、灵均、宽德、幻方、鸣石、致诚卓远 + +## 战略 / 商业分析(in-house) + +**Must-have** +- 商业模型理解、unit economics、市场地图 +- 数据驱动决策、SQL 基础 +- 战略 deck 输出、跨部门推动力 + +**典型场景**:互联网战投、车企战略、新消费品牌战略、跨国公司中国区战略 + +## 财务 / FP&A / 内审 / 税务 + +略,按需补充。 + +## 反信号 +- 投行 / 咨询岗位简历**没有 deal / case 列表** → 致命 +- 量化岗**没有策略实盘 / 回测结果** → 弱 +- 公募 / PE 岗**没有具体 coverage 行业** → 假研究员 diff --git a/skills/job-intent-tracker/references/keywords_general.md b/skills/job-intent-tracker/references/keywords_general.md new file mode 100755 index 0000000..267dcde --- /dev/null +++ b/skills/job-intent-tracker/references/keywords_general.md @@ -0,0 +1,45 @@ +# 通用关键词库(跨行业) + +## 通用软技能(任何岗位都吃香) + +- Ownership / 主人翁意识 +- 跨部门 / 跨团队协作 +- 推动落地 / drive +- 业务 sense / 商业化思维 +- 数据驱动 / 量化思维 +- 用户同理心 / 客户导向 +- Learning agility / 快速学习 +- Ambiguity tolerance / 应对模糊 +- 影响力 / 说服力 + +## 通用硬技能 + +- SQL(半数岗位需要) +- Excel 高阶(vlookup、pivot、power query、宏 / VBA) +- PowerPoint / Keynote(结构化输出) +- 英语(书面 + 口语,外企 / 跨境必备) +- 项目管理:Jira / Asana / Notion / 飞书 + +## 通用职业资质 + +- 学历:本科 / 硕士 / 博士 + 学校 tier +- 证书:CFA、CPA、ACCA、PMP、AWS / GCP / Azure 认证 +- 语言:托福 / 雅思 / 多语种 + +## 量化结果通用模板 + +写简历 / 画像时,**所有动作都尽量量化**。模板: + +- "通过 ___,使 ___ 提升 X%(基线 Y → 现状 Z)" +- "在 ___ 期间,覆盖 ___ 业务,规模 X 万 / 亿" +- "主导 ___ 项目,缩短 ___ 时间 X%" +- "管理 X 人团队,覆盖 X 个业务线" + +## 转行 / 跨界叙事关键词 + +- "可迁移技能"(transferable skill) +- "跨界视角" +- "第一性原理" +- "从 0 到 1 / 从 1 到 N" + +转行候选人的画像应该突出**结构化思维 + 学习速度 + 已有 case**,而不是硬编技能词。 diff --git a/skills/job-intent-tracker/references/keywords_internet.md b/skills/job-intent-tracker/references/keywords_internet.md new file mode 100755 index 0000000..51bd438 --- /dev/null +++ b/skills/job-intent-tracker/references/keywords_internet.md @@ -0,0 +1,54 @@ +# 互联网产品 / 运营 / 项目管理 关键词库 + +用于:判断匹配度、生成画像、ATS 关键词覆盖率检查。 + +## 产品经理(PM) + +**Must-have 信号词** +- 需求文档(PRD)、需求评审、产品规划、产品迭代 +- 用户访谈、用户画像、JTBD、Persona +- 数据驱动、A/B 测试、漏斗分析、留存、转化率 +- 跨部门协作、推动落地、项目管理 +- 0-1、1-N、增长、商业化 + +**方向细分关键词** +- C 端:用户增长、社交裂变、内容生态、ugc、推荐算法理解 +- B 端 / SaaS:客户成功、续约、ARR、PLG、CRM +- 国际化 / 出海:本地化、合规、多语言、海外支付 +- AI 产品:LLM、prompt 工程、模型评估、RAG、Agent +- 工具类:用户体验、效率、workflow、生产力 + +**Nice-to-have** +- SQL、Python、Figma、原型工具 +- 行业报告输出、PR 经验、对外发声 + +## 运营 + +**Must-have** +- 用户运营、内容运营、活动运营、社群运营 +- 增长黑客、AARRR、私域、公域 +- GMV、ROI、CAC、LTV、转化漏斗 +- SOP、流程化、可复制 + +**方向细分** +- 内容运营:选题、内容矩阵、KOL、爆款方法论 +- 用户运营:分层、生命周期、push 策略、CRM +- 活动运营:节点营销、品效合一、预算管理 +- 社群运营:社群分层、KOC、转化路径 +- 直播 / 电商运营:选品、达人合作、GMV、复购 + +## 项目经理(PMP / TPM) + +**Must-have** +- 项目排期、里程碑、风险管理、stakeholder 管理 +- 敏捷 / Scrum / 看板、Sprint planning、retro +- 跨团队协作、跨时区、escalation + +**Nice-to-have** +- PMP 证书、PRINCE2、CSM +- 工具:Jira、Confluence、Asana、Notion、Linear、飞书项目 + +## 反信号(出现这些词,不是好 PM / 运营画像) +- 大段堆砌"参与了 ___"——没有 ownership +- 没有任何数字 / 百分比 / 量化结果 +- 全是软技能描述,没有具体动作 diff --git a/skills/job-intent-tracker/references/keywords_tech.md b/skills/job-intent-tracker/references/keywords_tech.md new file mode 100755 index 0000000..1273420 --- /dev/null +++ b/skills/job-intent-tracker/references/keywords_tech.md @@ -0,0 +1,87 @@ +# 技术 / 研发 / 数据 关键词库 + +## 后端 / 服务端 + +**Must-have 语言 & 框架** +- 主流语言:Java / Go / Python / C++ / Rust / Node.js +- Web 框架:Spring Boot、Gin、FastAPI、Django、Express、NestJS +- 微服务:Spring Cloud、gRPC、Service Mesh、Istio +- 中间件:Kafka、RabbitMQ、Redis、ZooKeeper、Etcd + +**系统设计信号** +- 高并发、高可用、分布式、CAP、一致性、限流、降级、熔断 +- 存储:MySQL、PostgreSQL、MongoDB、ClickHouse、HBase、TiDB +- 缓存策略、读写分离、分库分表 +- 容器化:Docker、Kubernetes、Helm +- 云:AWS / GCP / 阿里云 / 腾讯云 / 火山 + +**职级判断** +- 初级(1-3 年):能独立完成模块开发 +- 中级(3-5 年):负责子系统设计、code review、带新人 +- 高级(5-8 年):架构设计、跨团队协作、技术选型 +- 资深 / Staff(8+ 年):业务架构、技术战略、影响力 + +## 前端 + +**Must-have** +- HTML / CSS / JavaScript / TypeScript +- 框架:React、Vue、Angular、Svelte +- 工程化:Webpack、Vite、Rollup、Turbopack +- 状态管理:Redux、Zustand、Pinia、MobX +- 全栈倾向:Next.js、Nuxt、Remix + +**Nice-to-have** +- 跨端:React Native、Flutter、Electron、Tauri +- 性能优化:FCP / LCP / CLS、SSR、SSG、CDN +- 可视化:D3、ECharts、Three.js +- 微前端:qiankun、single-spa、Module Federation + +## 算法 / 机器学习 + +**Must-have** +- 数学基础:概率统计、线性代数、优化 +- 经典 ML:sklearn、XGBoost、LightGBM、特征工程 +- 深度学习:PyTorch、TensorFlow、JAX +- 训练:分布式训练、数据并行、模型并行、混合精度 +- 部署:ONNX、TensorRT、TorchServe、Triton + +**LLM / GenAI 方向** +- 预训练、SFT、RLHF、DPO、PPO +- RAG、向量检索、Embedding、Reranker +- Prompt 工程、Tool use、Agent、MCP +- 模型评估:benchmark、人工评估、LLM-as-Judge +- 推理优化:vLLM、量化、KV cache、speculative decoding + +**CV / NLP / RecSys 细分** +- CV:检测、分割、OCR、视频理解、扩散模型 +- NLP:分类、NER、问答、对话、信息抽取 +- RecSys:召回、粗排、精排、重排、CTR / CVR、Cold Start + +## 数据 / 数仓 + +**Must-have** +- SQL(必考,不熟练直接 pass) +- 数仓建模:维度建模、星型 / 雪花、ODS/DWD/DWS/ADS +- 大数据:Hive、Spark、Flink、Presto / Trino +- 调度:Airflow、DolphinScheduler +- BI:Tableau、PowerBI、Superset、Quick BI + +## 数据分析师 / 商分 + +**Must-have** +- SQL(中级以上:窗口函数、CTE、复杂 join) +- 业务理解:能从需求方一句话拆出指标 + 维度 +- 实验设计:A/B test、显著性、样本量 +- 工具:Python (pandas)、R、Excel 高阶、可视化工具 + +## DevOps / SRE + +- CI/CD:Jenkins、GitLab CI、GitHub Actions、ArgoCD +- IaC:Terraform、Pulumi、Ansible、Chef +- 监控:Prometheus、Grafana、ELK、Datadog、SkyWalking +- 故障处理:On-call、SLO、SLA、错误预算、事故复盘 + +## 反信号 +- 简历只有"熟悉 / 了解 / 会用" → 弱 +- 列了一堆框架,没有项目对应 → 假 +- 没有任何性能数字 / 数据规模 → 单薄 diff --git a/skills/job-intent-tracker/references/target_profile_template.md b/skills/job-intent-tracker/references/target_profile_template.md new file mode 100755 index 0000000..94ca2c9 --- /dev/null +++ b/skills/job-intent-tracker/references/target_profile_template.md @@ -0,0 +1,74 @@ +# 岗位画像(Target Profile)模板 + +填写时把所有 `<占位>` 都换成具体内容。空着不填等于没画像。 + +--- + +## 一、岗位基本信息 + +- **岗位名称**:<如:高级产品经理 - 用户增长方向> +- **方向定位**:<如:B 端 SaaS / C 端工具 / 内容平台 / Fintech> +- **职级范围**:<如:P6-P7 / 中级-高级 / Senior IC> +- **目标城市**:<北京 / 上海 / 深圳 / 杭州 / Remote / 海外> +- **薪资带(市场参考)**:<__k × __ 月,仅供参考,建议核实职级和城市差异> + +--- + +## 二、典型职责描述(JD 共性) + +罗列 3~5 条该岗位常见的职责动词 + 对象: +- <如:负责 ___ 业务线的产品规划与迭代> +- <如:通过数据分析定位用户流失环节并设计实验> +- <如:跨部门协作,推动 ___ 项目落地> + +--- + +## 三、技能要求 + +### Must-have(缺一票否决) +- <硬技能 1,如:5+ 年 C 端产品经验> +- <硬技能 2,如:熟练使用 SQL,能独立完成数据分析> +- <硬技能 3,如:有从 0 到 1 的产品案例> + +### Nice-to-have(加分项) +- <如:有海外市场或跨境业务经验> +- <如:懂基础前端,能跟开发深度沟通> +- <如:有大厂背景或被收购初创经验> + +### 软技能信号(HR / 终面会 probe) +- <如:跨部门协调能力> +- <如:业务 sense / 商业化 sense> +- <如:用户同理心> + +--- + +## 四、面试流程预期 + +按公司 tier 分层估算,给用户一个心理预期: + +| 公司类型 | 流程长度 | 典型环节 | +|---------|---------|----------| +| 大厂 / Tier 1 | 4~6 周 | 简历 → 笔试 → 1 面(专业)→ 2 面(深度)→ 3 面(leader)→ HR 面 → Offer | +| 中厂 / Tier 2 | 2~4 周 | 简历 → 1 面 → 2 面 → HR → Offer | +| 创业 / Tier 3 | 1~2 周 | 简历 → 1~2 面(含创始人)→ Offer | + +填写实际预期:<具体到该方向的常见流程> + +--- + +## 五、对标公司清单 + +按 tier 分层列 3~5 家: + +- **Tier 1(梦想 offer,匹配度需达 80%+)**:<公司 1>、<公司 2>、<公司 3> +- **Tier 2(合理选择,匹配度 60%+)**:<公司 1>、<公司 2>、<公司 3> +- **Tier 3(保底 / 练手,匹配度 40%+)**:<公司 1>、<公司 2>、<公司 3> + +--- + +## 六、求职策略提示 + +- **简历重点**:突出 ___ 经验,弱化 ___ +- **作品集 / case**:建议准备 ___(如:一个完整的产品分析报告 / 一份 SQL 项目) +- **网络渠道**:优先走 ___(内推 / 猎头 / 官网 / 拉勾 / 脉脉),少用 ___ +- **时间预算**:从准备到拿 offer,建议留 <8~12 周> 缓冲 diff --git a/skills/job-intent-tracker/scripts/init_tracker.py b/skills/job-intent-tracker/scripts/init_tracker.py new file mode 100755 index 0000000..2218c4d --- /dev/null +++ b/skills/job-intent-tracker/scripts/init_tracker.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +""" +init_tracker.py — 初始化求职投递追踪表 + +用法: + python init_tracker.py --format xlsx --output tracker.xlsx + python init_tracker.py --format md --output tracker.md + +xlsx 模式生成带表头、下拉验证、条件格式的 Excel。 +md 模式生成轻量的 Markdown 表格,便于在 Notion / Obsidian / 飞书文档里粘贴。 +""" + +from __future__ import annotations + +import argparse +import sys +from pathlib import Path + +COLUMNS = [ + "公司", + "岗位", + "来源", # 猎头 / 官网 / 内推 / 招聘网站 / 其他 + "JD链接", + "投递日期", + "当前阶段", # 投递 / 笔试 / 一面 / 二面 / 三面 / HR面 / Offer / Reject / 沉默 + "下一步动作", + "Deadline", + "薪资范围", + "内推人", + "备注", +] + +STAGE_OPTIONS = [ + "投递", "笔试", "一面", "二面", "三面", "HR面", "Offer", "Reject", "沉默", +] + +SOURCE_OPTIONS = ["官网", "内推", "招聘网站", "猎头", "校招", "其他"] + + +def write_md(path: Path) -> None: + header = "| " + " | ".join(COLUMNS) + " |" + sep = "| " + " | ".join(["---"] * len(COLUMNS)) + " |" + sample = "| 示例公司 | 高级产品经理 | 内推 | https://... | 2026-05-07 | 投递 | 等HR反馈 | 2026-05-14 | 40-55k | 张三 | 内推码 ABC123 |" + legend_lines = [ + "", + "## 字段说明", + "", + f"- **来源**:{' / '.join(SOURCE_OPTIONS)}", + f"- **当前阶段**:{' / '.join(STAGE_OPTIONS)}", + "- **下一步动作**:写一句具体可执行的事,比如『5/10 前发感谢信』『等 HR 回复,5/15 未回则催』", + "- **沉默**:超过 7 天没反馈的状态,提醒自己主动 follow up 或放弃", + "", + ] + content = "\n".join([ + "# 投递追踪表", + "", + header, + sep, + sample, + *legend_lines, + ]) + path.write_text(content, encoding="utf-8") + print(f"✓ Markdown 追踪表已生成:{path}") + + +def write_xlsx(path: Path) -> None: + try: + from openpyxl import Workbook + from openpyxl.styles import Alignment, Font, PatternFill + from openpyxl.worksheet.datavalidation import DataValidation + from openpyxl.formatting.rule import CellIsRule + except ImportError: + print( + "✗ 缺少 openpyxl,请先安装:pip install openpyxl --break-system-packages", + file=sys.stderr, + ) + sys.exit(1) + + wb = Workbook() + ws = wb.active + ws.title = "投递追踪" + + # 表头 + ws.append(COLUMNS) + header_fill = PatternFill("solid", fgColor="305496") + header_font = Font(bold=True, color="FFFFFF") + for cell in ws[1]: + cell.fill = header_fill + cell.font = header_font + cell.alignment = Alignment(horizontal="center", vertical="center") + + # 列宽 + widths = [16, 22, 10, 28, 12, 10, 26, 12, 14, 10, 30] + for idx, w in enumerate(widths, start=1): + ws.column_dimensions[chr(64 + idx)].width = w + + # 示例行 + sample_row = [ + "示例公司", + "高级产品经理", + "内推", + "https://example.com/jd/123", + "2026-05-07", + "投递", + "5/14 未回则发邮件 follow up", + "2026-05-14", + "40-55k", + "张三", + "内推码 ABC123", + ] + ws.append(sample_row) + + # 下拉验证:来源(C 列) + dv_source = DataValidation( + type="list", + formula1=f'"{",".join(SOURCE_OPTIONS)}"', + allow_blank=True, + ) + dv_source.add(f"C2:C200") + ws.add_data_validation(dv_source) + + # 下拉验证:当前阶段(F 列) + dv_stage = DataValidation( + type="list", + formula1=f'"{",".join(STAGE_OPTIONS)}"', + allow_blank=True, + ) + dv_stage.add(f"F2:F200") + ws.add_data_validation(dv_stage) + + # 条件格式:F 列 = Offer 绿色,Reject 灰色,沉默 黄色 + ws.conditional_formatting.add( + "F2:F200", + CellIsRule(operator="equal", formula=['"Offer"'], + fill=PatternFill("solid", fgColor="C6EFCE")), + ) + ws.conditional_formatting.add( + "F2:F200", + CellIsRule(operator="equal", formula=['"Reject"'], + fill=PatternFill("solid", fgColor="D9D9D9")), + ) + ws.conditional_formatting.add( + "F2:F200", + CellIsRule(operator="equal", formula=['"沉默"'], + fill=PatternFill("solid", fgColor="FFEB9C")), + ) + + # 冻结首行 + ws.freeze_panes = "A2" + + # 第二个 sheet:使用说明 + legend = wb.create_sheet("使用说明") + legend["A1"] = "投递追踪表使用说明" + legend["A1"].font = Font(bold=True, size=14) + legend_lines = [ + "", + "1. 每投递一个岗位,新增一行。", + "2. 「来源」「当前阶段」是下拉框,直接选。", + "3. 「下一步动作」务必写具体可执行的事 + 时间点。", + "4. 状态超过 7 天没动静时,把「当前阶段」改成『沉默』,提醒自己跟进或放弃。", + "5. 拿到 Offer 后,行会变绿;被拒后会变灰,方便区分。", + "6. 建议每周固定一个时间(比如周日晚)回顾一遍这张表。", + "", + "如果你想看『有多少在面试中 / 投递总数 / 沉默率』等统计,", + "可以让 Claude 帮你做一个看板(artifact)。", + ] + for line in legend_lines: + legend.append([line]) + + wb.save(path) + print(f"✓ Excel 追踪表已生成:{path}") + + +def main() -> None: + parser = argparse.ArgumentParser(description="初始化求职投递追踪表") + parser.add_argument( + "--format", choices=["xlsx", "md"], default="xlsx", help="输出格式" + ) + parser.add_argument( + "--output", required=True, help="输出文件路径(含文件名)" + ) + args = parser.parse_args() + + out = Path(args.output).expanduser() + out.parent.mkdir(parents=True, exist_ok=True) + + if args.format == "xlsx": + write_xlsx(out) + else: + write_md(out) + + +if __name__ == "__main__": + main() diff --git a/skills/job-intent-tracker/scripts/profile_match.py b/skills/job-intent-tracker/scripts/profile_match.py new file mode 100755 index 0000000..bbbfd3d --- /dev/null +++ b/skills/job-intent-tracker/scripts/profile_match.py @@ -0,0 +1,128 @@ +#!/usr/bin/env python3 +""" +profile_match.py — 把用户技能列表 vs 关键词库做匹配,输出匹配度报告 + +用法: + python profile_match.py --skills "SQL,Python,产品规划,A/B测试" \ + --library internet \ + [--out report.md] + +library 取值:internet / tech / finance / general +""" + +from __future__ import annotations + +import argparse +import re +import sys +from pathlib import Path + +LIB_MAP = { + "internet": "keywords_internet.md", + "tech": "keywords_tech.md", + "finance": "keywords_finance.md", + "general": "keywords_general.md", +} + + +def extract_keywords(md_path: Path) -> list[str]: + """简单解析 markdown,把所有 bullet 后面的中英文词汇收集起来。""" + text = md_path.read_text(encoding="utf-8") + # 匹配 - 开头的行 + bullets = re.findall(r"^\s*[-*]\s+(.+)$", text, flags=re.MULTILINE) + keywords: set[str] = set() + for line in bullets: + # 去掉括号内的解释、占位符、markdown 控制字符 + clean = re.sub(r"[((][^))]*[))]", "", line) + clean = re.sub(r"_{2,}", "", clean) + clean = clean.replace("**", "").replace("__", "") + for token in re.split(r"[、,,//\s]+", clean): + token = token.strip().strip("::。.\"\"''`*").lower() + # 过滤掉只含标点 / 短横 / 数字 的词 + if not re.search(r"[一-龥A-Za-z]", token): + continue + if 1 < len(token) < 30: + keywords.add(token) + return sorted(keywords) + + +def match_score(user_skills: list[str], lib_keywords: list[str]) -> dict: + """返回匹配命中、缺失、命中率。模糊匹配:包含即算命中。""" + user_lower = [s.strip().lower() for s in user_skills if s.strip()] + hits, missing = [], [] + for kw in lib_keywords: + if any(kw in u or u in kw for u in user_lower): + hits.append(kw) + else: + missing.append(kw) + rate = len(hits) / len(lib_keywords) if lib_keywords else 0 + return { + "hits": hits, + "missing": missing, + "rate": rate, + "user_skills": user_lower, + } + + +def render_report(result: dict, library: str) -> str: + rate_pct = f"{result['rate'] * 100:.1f}%" + # 缺口前 20 个,避免太长 + top_missing = result["missing"][:20] + lines = [ + f"# 岗位画像匹配报告 — {library}", + "", + f"- **命中率**:{rate_pct}({len(result['hits'])} / {len(result['hits']) + len(result['missing'])})", + f"- **用户提供技能**:{', '.join(result['user_skills'])}", + "", + "## ✅ 命中的关键词", + "", + ", ".join(result["hits"]) if result["hits"] else "(无)", + "", + "## ⚠️ 缺口(前 20 个,按字典序)", + "", + ", ".join(top_missing) if top_missing else "(无)", + "", + "## 解读", + "", + "- 命中率 < 20%:方向不匹配,建议重新评估目标岗", + "- 命中率 20-50%:可投但需要补关键缺口", + "- 命中率 > 50%:核心匹配,可以重点投", + "", + "注意:本工具是关键词级别的粗筛,不能替代真实 JD 对照(用 jd-resume-tailor 做精准对比)。", + ] + return "\n".join(lines) + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--skills", required=True, help="用户技能列表,逗号分隔") + parser.add_argument( + "--library", choices=list(LIB_MAP), required=True, help="关键词库" + ) + parser.add_argument("--out", help="输出 markdown 报告路径,缺省直接打印") + parser.add_argument( + "--references-dir", + default=str(Path(__file__).resolve().parent.parent / "references"), + help="references 目录路径", + ) + args = parser.parse_args() + + lib_path = Path(args.references_dir) / LIB_MAP[args.library] + if not lib_path.exists(): + print(f"✗ 找不到关键词库:{lib_path}", file=sys.stderr) + sys.exit(1) + + lib_keywords = extract_keywords(lib_path) + user_skills = [s for s in args.skills.split(",") if s.strip()] + result = match_score(user_skills, lib_keywords) + report = render_report(result, args.library) + + if args.out: + Path(args.out).write_text(report, encoding="utf-8") + print(f"✓ 报告已生成:{args.out}") + else: + print(report) + + +if __name__ == "__main__": + main() diff --git a/skills/market-research-reports/SKILL.md b/skills/market-research-reports/SKILL.md new file mode 100755 index 0000000..90435c0 --- /dev/null +++ b/skills/market-research-reports/SKILL.md @@ -0,0 +1,901 @@ +--- +name: market-research-reports +description: "Generate comprehensive market research reports (50+ pages) in the style of top consulting firms (McKinsey, BCG, Gartner). Features professional LaTeX formatting, extensive visual generation with scientific-schematics and generate-image, deep integration with research-lookup for data gathering, and multi-framework strategic analysis including Porter's Five Forces, PESTLE, SWOT, TAM/SAM/SOM, and BCG Matrix." +allowed-tools: [Read, Write, Edit, Bash] +--- + +# Market Research Reports + +## Overview + +Market research reports are comprehensive strategic documents that analyze industries, markets, and competitive landscapes to inform business decisions, investment strategies, and strategic planning. This skill generates **professional-grade reports of 50+ pages** with extensive visual content, modeled after deliverables from top consulting firms like McKinsey, BCG, Bain, Gartner, and Forrester. + +**Key Features:** +- **Comprehensive length**: Reports are designed to be 50+ pages with no token constraints +- **Visual-rich content**: 5-6 key diagrams generated at start (more added as needed during writing) +- **Data-driven analysis**: Deep integration with research-lookup for market data +- **Multi-framework approach**: Porter's Five Forces, PESTLE, SWOT, BCG Matrix, TAM/SAM/SOM +- **Professional formatting**: Consulting-firm quality typography, colors, and layout +- **Actionable recommendations**: Strategic focus with implementation roadmaps + +**Output Format:** LaTeX with professional styling, compiled to PDF. Uses the `market_research.sty` style package for consistent, professional formatting. + +## When to Use This Skill + +This skill should be used when: +- Creating comprehensive market analysis for investment decisions +- Developing industry reports for strategic planning +- Analyzing competitive landscapes and market dynamics +- Conducting market sizing exercises (TAM/SAM/SOM) +- Evaluating market entry opportunities +- Preparing due diligence materials for M&A activities +- Creating thought leadership content for industry positioning +- Developing go-to-market strategy documentation +- Analyzing regulatory and policy impacts on markets +- Building business cases for new product launches + +## Visual Enhancement Requirements + +**CRITICAL: Market research reports should include key visual content.** + +Every report should generate **6 essential visuals** at the start, with additional visuals added as needed during writing. Start with the most critical visualizations to establish the report framework. + +### Visual Generation Tools + +**Use `scientific-schematics` for:** +- Market growth trajectory charts +- TAM/SAM/SOM breakdown diagrams (concentric circles) +- Porter's Five Forces diagrams +- Competitive positioning matrices +- Market segmentation charts +- Value chain diagrams +- Technology roadmaps +- Risk heatmaps +- Strategic prioritization matrices +- Implementation timelines/Gantt charts +- SWOT analysis diagrams +- BCG Growth-Share matrices + +```bash +# Example: Generate a TAM/SAM/SOM diagram +python skills/scientific-schematics/scripts/generate_schematic.py \ + "TAM SAM SOM concentric circle diagram showing Total Addressable Market $50B outer circle, Serviceable Addressable Market $15B middle circle, Serviceable Obtainable Market $3B inner circle, with labels and arrows pointing to each segment" \ + -o figures/tam_sam_som.png --doc-type report + +# Example: Generate Porter's Five Forces +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Porter's Five Forces diagram with center box 'Competitive Rivalry' connected to four surrounding boxes: 'Threat of New Entrants' (top), 'Bargaining Power of Suppliers' (left), 'Bargaining Power of Buyers' (right), 'Threat of Substitutes' (bottom). Each box should show High/Medium/Low rating" \ + -o figures/porters_five_forces.png --doc-type report +``` + +**Use `generate-image` for:** +- Executive summary hero infographics +- Industry/sector conceptual illustrations +- Abstract technology visualizations +- Cover page imagery + +```bash +# Example: Generate executive summary infographic +python skills/generate-image/scripts/generate_image.py \ + "Professional executive summary infographic for market research report, showing key metrics in modern data visualization style, blue and green color scheme, clean minimalist design with icons representing market size, growth rate, and competitive landscape" \ + --output figures/executive_summary.png +``` + +### Recommended Visuals by Section (Generate as Needed) + +| Section | Priority Visuals | Optional Visuals | +|---------|-----------------|------------------| +| Executive Summary | Executive infographic (START) | - | +| Market Size & Growth | Growth trajectory (START), TAM/SAM/SOM (START) | Regional breakdown, segment growth | +| Competitive Landscape | Porter's Five Forces (START), Positioning matrix (START) | Market share chart, strategic groups | +| Risk Analysis | Risk heatmap (START) | Mitigation matrix | +| Strategic Recommendations | Opportunity matrix | Priority framework | +| Implementation Roadmap | Timeline/Gantt | Milestone tracker | +| Investment Thesis | Financial projections | Scenario analysis | + +**Start with 6 priority visuals** (marked as START above), then generate additional visuals as specific sections are written and require visual support. + +--- + +## Report Structure (50+ Pages) + +### Front Matter (~5 pages) + +#### Cover Page (1 page) +- Report title and subtitle +- Hero visualization (generated) +- Date and classification +- Prepared for / Prepared by + +#### Table of Contents (1-2 pages) +- Automated from LaTeX +- List of Figures +- List of Tables + +#### Executive Summary (2-3 pages) +- **Market Snapshot Box**: Key metrics at a glance +- **Investment Thesis**: 3-5 bullet point summary +- **Key Findings**: Major discoveries and insights +- **Strategic Recommendations**: Top 3-5 actionable recommendations +- **Executive Summary Infographic**: Visual synthesis of report highlights + +--- + +### Core Analysis (~35 pages) + +#### Chapter 1: Market Overview & Definition (4-5 pages) + +**Content Requirements:** +- Market definition and scope +- Industry ecosystem mapping +- Key stakeholders and their roles +- Market boundaries and adjacencies +- Historical context and evolution + +**Required Visuals (2):** +1. Market ecosystem/value chain diagram +2. Industry structure diagram + +**Key Data Points:** +- Market definition criteria +- Included/excluded segments +- Geographic scope +- Time horizon for analysis + +--- + +#### Chapter 2: Market Size & Growth Analysis (6-8 pages) + +**Content Requirements:** +- Total Addressable Market (TAM) calculation +- Serviceable Addressable Market (SAM) definition +- Serviceable Obtainable Market (SOM) estimation +- Historical growth analysis (5-10 years) +- Growth projections (5-10 years forward) +- Growth drivers and inhibitors +- Regional market breakdown +- Segment-level analysis + +**Required Visuals (4):** +1. Market growth trajectory chart (historical + projected) +2. TAM/SAM/SOM concentric circles diagram +3. Regional market breakdown (pie chart or treemap) +4. Segment growth comparison (bar chart) + +**Key Data Points:** +- Current market size (with source) +- CAGR (historical and projected) +- Market size by region +- Market size by segment +- Key assumptions for projections + +**Data Sources:** +Use `research-lookup` to find: +- Market research reports (Gartner, Forrester, IDC, etc.) +- Industry association data +- Government statistics +- Company financial reports +- Academic studies + +--- + +#### Chapter 3: Industry Drivers & Trends (5-6 pages) + +**Content Requirements:** +- Macroeconomic factors +- Technology trends +- Regulatory drivers +- Social and demographic shifts +- Environmental factors +- Industry-specific trends + +**Analysis Frameworks:** +- **PESTLE Analysis**: Political, Economic, Social, Technological, Legal, Environmental +- **Trend Impact Assessment**: Likelihood vs Impact matrix + +**Required Visuals (3):** +1. Industry trends timeline or radar chart +2. Driver impact matrix +3. PESTLE analysis diagram + +**Key Data Points:** +- Top 5-10 growth drivers with quantified impact +- Emerging trends with timeline +- Disruption factors + +--- + +#### Chapter 4: Competitive Landscape (6-8 pages) + +**Content Requirements:** +- Market structure analysis +- Major player profiles +- Market share analysis +- Competitive positioning +- Barriers to entry +- Competitive dynamics + +**Analysis Frameworks:** +- **Porter's Five Forces**: Comprehensive industry analysis +- **Competitive Positioning Matrix**: 2x2 matrix on key dimensions +- **Strategic Group Mapping**: Cluster competitors by strategy + +**Required Visuals (4):** +1. Porter's Five Forces diagram +2. Market share pie chart or bar chart +3. Competitive positioning matrix (2x2) +4. Strategic group map + +**Key Data Points:** +- Market share by company (top 10) +- Competitive intensity rating +- Entry barriers assessment +- Supplier/buyer power assessment + +--- + +#### Chapter 5: Customer Analysis & Segmentation (4-5 pages) + +**Content Requirements:** +- Customer segment definitions +- Segment size and growth +- Buying behavior analysis +- Customer needs and pain points +- Decision-making process +- Value drivers by segment + +**Analysis Frameworks:** +- **Customer Segmentation Matrix**: Size vs Growth +- **Value Proposition Canvas**: Jobs, Pains, Gains +- **Customer Journey Mapping**: Awareness to Advocacy + +**Required Visuals (3):** +1. Customer segmentation breakdown (pie/treemap) +2. Segment attractiveness matrix +3. Customer journey or value proposition diagram + +**Key Data Points:** +- Segment sizes and percentages +- Growth rates by segment +- Average deal size / revenue per customer +- Customer acquisition cost by segment + +--- + +#### Chapter 6: Technology & Innovation Landscape (4-5 pages) + +**Content Requirements:** +- Current technology stack +- Emerging technologies +- Innovation trends +- Technology adoption curves +- R&D investment analysis +- Patent landscape + +**Analysis Frameworks:** +- **Technology Readiness Assessment**: TRL levels +- **Hype Cycle Positioning**: Where technologies sit +- **Technology Roadmap**: Evolution over time + +**Required Visuals (2):** +1. Technology roadmap diagram +2. Innovation/adoption curve or hype cycle + +**Key Data Points:** +- R&D spending in the industry +- Key technology milestones +- Patent filing trends +- Technology adoption rates + +--- + +#### Chapter 7: Regulatory & Policy Environment (3-4 pages) + +**Content Requirements:** +- Current regulatory framework +- Key regulatory bodies +- Compliance requirements +- Upcoming regulatory changes +- Policy trends +- Impact assessment + +**Required Visuals (1):** +1. Regulatory timeline or framework diagram + +**Key Data Points:** +- Key regulations and effective dates +- Compliance costs +- Regulatory risks +- Policy change probability + +--- + +#### Chapter 8: Risk Analysis (3-4 pages) + +**Content Requirements:** +- Market risks +- Competitive risks +- Regulatory risks +- Technology risks +- Operational risks +- Financial risks +- Risk mitigation strategies + +**Analysis Frameworks:** +- **Risk Heatmap**: Probability vs Impact +- **Risk Register**: Comprehensive risk inventory +- **Mitigation Matrix**: Risk vs Mitigation strategy + +**Required Visuals (2):** +1. Risk heatmap (probability vs impact) +2. Risk mitigation matrix + +**Key Data Points:** +- Top 10 risks with ratings +- Risk probability scores +- Impact severity scores +- Mitigation cost estimates + +--- + +### Strategic Recommendations (~10 pages) + +#### Chapter 9: Strategic Opportunities & Recommendations (4-5 pages) + +**Content Requirements:** +- Opportunity identification +- Opportunity sizing +- Strategic options analysis +- Prioritization framework +- Detailed recommendations +- Success factors + +**Analysis Frameworks:** +- **Opportunity Attractiveness Matrix**: Attractiveness vs Ability to Win +- **Strategic Options Framework**: Build, Buy, Partner, Ignore +- **Priority Matrix**: Impact vs Effort + +**Required Visuals (3):** +1. Opportunity matrix +2. Strategic options framework +3. Priority/recommendation matrix + +**Key Data Points:** +- Opportunity sizes +- Investment requirements +- Expected returns +- Timeline to value + +--- + +#### Chapter 10: Implementation Roadmap (3-4 pages) + +**Content Requirements:** +- Phased implementation plan +- Key milestones and deliverables +- Resource requirements +- Timeline and sequencing +- Dependencies and critical path +- Governance structure + +**Required Visuals (2):** +1. Implementation timeline/Gantt chart +2. Milestone tracker or phase diagram + +**Key Data Points:** +- Phase durations +- Resource requirements +- Key milestones with dates +- Budget allocation by phase + +--- + +#### Chapter 11: Investment Thesis & Financial Projections (3-4 pages) + +**Content Requirements:** +- Investment summary +- Financial projections +- Scenario analysis +- Return expectations +- Key assumptions +- Sensitivity analysis + +**Required Visuals (2):** +1. Financial projection chart (revenue, growth) +2. Scenario analysis comparison + +**Key Data Points:** +- Revenue projections (3-5 years) +- CAGR projections +- ROI/IRR expectations +- Key financial assumptions + +--- + +### Back Matter (~5 pages) + +#### Appendix A: Methodology & Data Sources (1-2 pages) +- Research methodology +- Data collection approach +- Data sources and citations +- Limitations and assumptions + +#### Appendix B: Detailed Market Data Tables (2-3 pages) +- Comprehensive market data tables +- Regional breakdowns +- Segment details +- Historical data series + +#### Appendix C: Company Profiles (1-2 pages) +- Brief profiles of key competitors +- Financial highlights +- Strategic focus areas + +#### References/Bibliography +- All sources cited +- BibTeX format for LaTeX + +--- + +## Workflow + +### Phase 1: Research & Data Gathering + +**Step 1: Define Scope** +- Clarify market definition +- Set geographic boundaries +- Determine time horizon +- Identify key questions to answer + +**Step 2: Conduct Deep Research** + +Use `research-lookup` extensively to gather market data: + +```bash +# Market size and growth data +python skills/research-lookup/scripts/research_lookup.py \ + "What is the current market size and projected growth rate for [MARKET] industry? Include TAM, SAM, SOM estimates and CAGR projections" + +# Competitive landscape +python skills/research-lookup/scripts/research_lookup.py \ + "Who are the top 10 competitors in the [MARKET] market? What is their market share and competitive positioning?" + +# Industry trends +python skills/research-lookup/scripts/research_lookup.py \ + "What are the major trends and growth drivers in the [MARKET] industry for 2024-2030?" + +# Regulatory environment +python skills/research-lookup/scripts/research_lookup.py \ + "What are the key regulations and policy changes affecting the [MARKET] industry?" +``` + +**Step 3: Data Organization** +- Create `sources/` folder with research notes +- Organize data by section +- Identify data gaps +- Conduct follow-up research as needed + +### Phase 2: Analysis & Framework Application + +**Step 4: Apply Analysis Frameworks** + +For each framework, conduct structured analysis: + +- **Market Sizing**: TAM → SAM → SOM with clear assumptions +- **Porter's Five Forces**: Rate each force High/Medium/Low with rationale +- **PESTLE**: Analyze each dimension with trends and impacts +- **SWOT**: Internal strengths/weaknesses, external opportunities/threats +- **Competitive Positioning**: Define axes, plot competitors + +**Step 5: Develop Insights** +- Synthesize findings into key insights +- Identify strategic implications +- Develop recommendations +- Prioritize opportunities + +### Phase 3: Visual Generation + +**Step 6: Generate All Visuals** + +Generate visuals BEFORE writing the report. Use the batch generation script: + +```bash +# Generate all standard market report visuals +python skills/market-research-reports/scripts/generate_market_visuals.py \ + --topic "[MARKET NAME]" \ + --output-dir figures/ +``` + +Or generate individually: + +```bash +# 1. Market growth trajectory +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Bar chart showing market growth from 2020 to 2034, with historical bars in dark blue (2020-2024) and projected bars in light blue (2025-2034). Y-axis shows market size in billions USD. Include CAGR annotation" \ + -o figures/01_market_growth.png --doc-type report + +# 2. TAM/SAM/SOM breakdown +python skills/scientific-schematics/scripts/generate_schematic.py \ + "TAM SAM SOM concentric circles diagram. Outer circle TAM Total Addressable Market, middle circle SAM Serviceable Addressable Market, inner circle SOM Serviceable Obtainable Market. Each labeled with acronym and description. Blue gradient" \ + -o figures/02_tam_sam_som.png --doc-type report + +# 3. Porter's Five Forces +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Porter's Five Forces diagram with center box 'Competitive Rivalry' connected to four surrounding boxes: Threat of New Entrants (top), Bargaining Power of Suppliers (left), Bargaining Power of Buyers (right), Threat of Substitutes (bottom). Color code by rating: High=red, Medium=yellow, Low=green" \ + -o figures/03_porters_five_forces.png --doc-type report + +# 4. Competitive positioning matrix +python skills/scientific-schematics/scripts/generate_schematic.py \ + "2x2 competitive positioning matrix with X-axis 'Market Focus (Niche to Broad)' and Y-axis 'Solution Approach (Product to Platform)'. Plot 8-10 competitors as labeled circles of varying sizes. Include quadrant labels" \ + -o figures/04_competitive_positioning.png --doc-type report + +# 5. Risk heatmap +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Risk heatmap matrix. X-axis Impact (Low to Critical), Y-axis Probability (Unlikely to Very Likely). Color gradient: Green (low risk) to Red (critical risk). Plot 10-12 risks as labeled points" \ + -o figures/05_risk_heatmap.png --doc-type report + +# 6. (Optional) Executive summary infographic +python skills/generate-image/scripts/generate_image.py \ + "Professional executive summary infographic for market research report, modern data visualization style, blue and green color scheme, clean minimalist design" \ + --output figures/06_exec_summary.png +``` + +### Phase 4: Report Writing + +**Step 7: Initialize Project Structure** + +Create the standard project structure: + +``` +writing_outputs/YYYYMMDD_HHMMSS_market_report_[topic]/ +├── progress.md +├── drafts/ +│ └── v1_market_report.tex +├── references/ +│ └── references.bib +├── figures/ +│ └── [all generated visuals] +├── sources/ +│ └── [research notes] +└── final/ +``` + +**Step 8: Write Report Using Template** + +Use the `market_report_template.tex` as a starting point. Write each section following the structure guide, ensuring: + +- **Comprehensive coverage**: Every subsection addressed +- **Data-driven content**: Claims supported by research +- **Visual integration**: Reference all generated figures +- **Professional tone**: Consulting-style writing +- **No token constraints**: Write fully, don't abbreviate + +**Writing Guidelines:** +- Use active voice where possible +- Lead with insights, support with data +- Use numbered lists for recommendations +- Include data sources for all statistics +- Create smooth transitions between sections + +### Phase 5: Compilation & Review + +**Step 9: Compile LaTeX** + +```bash +cd writing_outputs/[project_folder]/drafts/ +xelatex v1_market_report.tex +bibtex v1_market_report +xelatex v1_market_report.tex +xelatex v1_market_report.tex +``` + +**Step 10: Quality Review** + +Verify the report meets quality standards: + +- [ ] Total page count is 50+ pages +- [ ] All essential visuals (5-6 core + any additional) are included and render correctly +- [ ] Executive summary captures key findings +- [ ] All data points have sources cited +- [ ] Analysis frameworks are properly applied +- [ ] Recommendations are actionable and prioritized +- [ ] No orphaned figures or tables +- [ ] Table of contents, list of figures, list of tables are accurate +- [ ] Bibliography is complete +- [ ] PDF renders without errors + +**Step 11: Peer Review** + +Use the peer-review skill to evaluate the report: +- Assess comprehensiveness +- Verify data accuracy +- Check logical flow +- Evaluate recommendation quality + +--- + +## Quality Standards + +### Page Count Targets + +| Section | Minimum Pages | Target Pages | +|---------|---------------|--------------| +| Front Matter | 4 | 5 | +| Market Overview | 4 | 5 | +| Market Size & Growth | 5 | 7 | +| Industry Drivers | 4 | 6 | +| Competitive Landscape | 5 | 7 | +| Customer Analysis | 3 | 5 | +| Technology Landscape | 3 | 5 | +| Regulatory Environment | 2 | 4 | +| Risk Analysis | 2 | 4 | +| Strategic Recommendations | 3 | 5 | +| Implementation Roadmap | 2 | 4 | +| Investment Thesis | 2 | 4 | +| Back Matter | 4 | 5 | +| **TOTAL** | **43** | **66** | + +### Visual Quality Requirements + +- **Resolution**: All images at 300 DPI minimum +- **Format**: PNG for raster, PDF for vector +- **Accessibility**: Colorblind-friendly palettes +- **Consistency**: Same color scheme throughout +- **Labeling**: All axes, legends, and data points labeled +- **Source Attribution**: Sources cited in figure captions + +### Data Quality Requirements + +- **Currency**: Data no older than 2 years (prefer current year) +- **Sourcing**: All statistics attributed to specific sources +- **Validation**: Cross-reference multiple sources when possible +- **Assumptions**: All projections state underlying assumptions +- **Limitations**: Acknowledge data limitations and gaps + +### Writing Quality Requirements + +- **Objectivity**: Present balanced analysis, acknowledge uncertainties +- **Clarity**: Avoid jargon, define technical terms +- **Precision**: Use specific numbers over vague qualifiers +- **Structure**: Clear headings, logical flow, smooth transitions +- **Actionability**: Recommendations are specific and implementable + +--- + +## LaTeX Formatting + +### Using the Style Package + +The `market_research.sty` package provides professional formatting. Include it in your document: + +```latex +\documentclass[11pt,letterpaper]{report} +\usepackage{market_research} +``` + +### Box Environments + +Use colored boxes to highlight key content: + +```latex +% Key insight box (blue) +\begin{keyinsightbox}[Key Finding] +The market is projected to grow at 15.3% CAGR through 2030. +\end{keyinsightbox} + +% Market data box (green) +\begin{marketdatabox}[Market Snapshot] +\begin{itemize} + \item Market Size (2024): \$45.2B + \item Projected Size (2030): \$98.7B + \item CAGR: 15.3% +\end{itemize} +\end{marketdatabox} + +% Risk box (orange/warning) +\begin{riskbox}[Critical Risk] +Regulatory changes could impact 40% of market participants. +\end{riskbox} + +% Recommendation box (purple) +\begin{recommendationbox}[Strategic Recommendation] +Prioritize market entry in the Asia-Pacific region. +\end{recommendationbox} + +% Callout box (gray) +\begin{calloutbox}[Definition] +TAM (Total Addressable Market) represents the total revenue opportunity. +\end{calloutbox} +``` + +### Figure Formatting + +```latex +\begin{figure}[htbp] +\centering +\includegraphics[width=0.9\textwidth]{../figures/market_growth.png} +\caption{Market Growth Trajectory (2020-2030). Source: Industry analysis, company data.} +\label{fig:market_growth} +\end{figure} +``` + +### Table Formatting + +```latex +\begin{table}[htbp] +\centering +\caption{Market Size by Region (2024)} +\begin{tabular}{@{}lrrr@{}} +\toprule +\textbf{Region} & \textbf{Size (USD)} & \textbf{Share} & \textbf{CAGR} \\ +\midrule +North America & \$18.2B & 40.3\% & 12.5\% \\ +\rowcolor{tablealt} Europe & \$12.1B & 26.8\% & 14.2\% \\ +Asia-Pacific & \$10.5B & 23.2\% & 18.7\% \\ +\rowcolor{tablealt} Rest of World & \$4.4B & 9.7\% & 11.3\% \\ +\midrule +\textbf{Total} & \textbf{\$45.2B} & \textbf{100\%} & \textbf{15.3\%} \\ +\bottomrule +\end{tabular} +\label{tab:market_by_region} +\end{table} +``` + +For complete formatting reference, see `assets/FORMATTING_GUIDE.md`. + +--- + +## Integration with Other Skills + +This skill works synergistically with: + +- **research-lookup**: Essential for gathering market data, statistics, and competitive intelligence +- **scientific-schematics**: Generate all diagrams, charts, and visualizations +- **generate-image**: Create infographics and conceptual illustrations +- **peer-review**: Evaluate report quality and completeness +- **citation-management**: Manage BibTeX references + +--- + +## Example Prompts + +### Market Overview Section + +``` +Write a comprehensive market overview section for the [Electric Vehicle Charging Infrastructure] market. Include: +- Clear market definition and scope +- Industry ecosystem with key stakeholders +- Value chain analysis +- Historical evolution of the market +- Current market dynamics + +Generate 2 supporting visuals using scientific-schematics. +``` + +### Competitive Landscape Section + +``` +Analyze the competitive landscape for the [Cloud Computing] market. Include: +- Porter's Five Forces analysis with High/Medium/Low ratings +- Top 10 competitors with market share +- Competitive positioning matrix +- Strategic group mapping +- Barriers to entry analysis + +Generate 4 supporting visuals including Porter's Five Forces diagram and positioning matrix. +``` + +### Strategic Recommendations Section + +``` +Develop strategic recommendations for entering the [Renewable Energy Storage] market. Include: +- 5-7 prioritized recommendations +- Opportunity sizing for each +- Implementation considerations +- Risk factors and mitigations +- Success criteria + +Generate 3 supporting visuals including opportunity matrix and priority framework. +``` + +--- + +## Checklist: 50+ Page Validation + +Before finalizing the report, verify: + +### Structure Completeness +- [ ] Cover page with hero visual +- [ ] Table of contents (auto-generated) +- [ ] List of figures (auto-generated) +- [ ] List of tables (auto-generated) +- [ ] Executive summary (2-3 pages) +- [ ] All 11 core chapters present +- [ ] Appendix A: Methodology +- [ ] Appendix B: Data tables +- [ ] Appendix C: Company profiles +- [ ] References/Bibliography + +### Visual Completeness (Core 5-6) +- [ ] Market growth trajectory chart (Priority 1) +- [ ] TAM/SAM/SOM diagram (Priority 2) +- [ ] Porter's Five Forces (Priority 3) +- [ ] Competitive positioning matrix (Priority 4) +- [ ] Risk heatmap (Priority 5) +- [ ] Executive summary infographic (Priority 6, optional) + +### Additional Visuals (Generate as Needed) +- [ ] Market ecosystem diagram +- [ ] Regional breakdown chart +- [ ] Segment growth chart +- [ ] Industry trends/PESTLE diagram +- [ ] Market share chart +- [ ] Customer segmentation chart +- [ ] Technology roadmap +- [ ] Regulatory timeline +- [ ] Opportunity matrix +- [ ] Implementation timeline +- [ ] Financial projections chart +- [ ] Other section-specific visuals + +### Content Quality +- [ ] All statistics have sources +- [ ] Projections include assumptions +- [ ] Frameworks properly applied +- [ ] Recommendations are actionable +- [ ] Writing is professional quality +- [ ] No placeholder or incomplete sections + +### Technical Quality +- [ ] PDF compiles without errors +- [ ] All figures render correctly +- [ ] Cross-references work +- [ ] Bibliography complete +- [ ] Page count exceeds 50 + +--- + +## Resources + +### Reference Files + +Load these files for detailed guidance: + +- **`references/report_structure_guide.md`**: Detailed section-by-section content requirements +- **`references/visual_generation_guide.md`**: Complete prompts for generating all visual types +- **`references/data_analysis_patterns.md`**: Templates for Porter's, PESTLE, SWOT, etc. + +### Assets + +- **`assets/market_research.sty`**: LaTeX style package +- **`assets/market_report_template.tex`**: Complete LaTeX template +- **`assets/FORMATTING_GUIDE.md`**: Quick reference for box environments and styling + +### Scripts + +- **`scripts/generate_market_visuals.py`**: Batch generate all report visuals + +--- + +## Troubleshooting + +### Common Issues + +**Problem**: Report is under 50 pages +- **Solution**: Expand data tables in appendices, add more detailed company profiles, include additional regional breakdowns + +**Problem**: Visuals not rendering +- **Solution**: Check file paths in LaTeX, ensure images are in figures/ folder, verify file extensions + +**Problem**: Bibliography missing entries +- **Solution**: Run bibtex after first xelatex pass, check .bib file for syntax errors + +**Problem**: Table/figure overflow +- **Solution**: Use `\resizebox` or `adjustbox` package, reduce image width percentage + +**Problem**: Poor visual quality from generation +- **Solution**: Use `--doc-type report` flag, increase iterations with `--iterations 5` + +--- + +Use this skill to create comprehensive, visually-rich market research reports that rival top consulting firm deliverables. The combination of deep research, structured frameworks, and extensive visualization produces documents that inform strategic decisions and demonstrate analytical rigor. diff --git a/skills/market-research-reports/assets/FORMATTING_GUIDE.md b/skills/market-research-reports/assets/FORMATTING_GUIDE.md new file mode 100755 index 0000000..09a1da4 --- /dev/null +++ b/skills/market-research-reports/assets/FORMATTING_GUIDE.md @@ -0,0 +1,428 @@ +# Market Research Report Formatting Guide + +Quick reference for using the `market_research.sty` style package. + +## Color Palette + +### Primary Colors +| Color Name | RGB | Hex | Usage | +|------------|-----|-----|-------| +| `primaryblue` | (0, 51, 102) | `#003366` | Headers, titles, links | +| `secondaryblue` | (51, 102, 153) | `#336699` | Subsections, secondary elements | +| `lightblue` | (173, 216, 230) | `#ADD8E6` | Key insight box backgrounds | +| `accentblue` | (0, 120, 215) | `#0078D7` | Accent highlights, opportunity boxes | + +### Secondary Colors +| Color Name | RGB | Hex | Usage | +|------------|-----|-----|-------| +| `accentgreen` | (0, 128, 96) | `#008060` | Market data boxes, positive indicators | +| `lightgreen` | (200, 230, 201) | `#C8E6C9` | Market data box backgrounds | +| `warningorange` | (255, 140, 0) | `#FF8C00` | Risk boxes, warnings | +| `alertred` | (198, 40, 40) | `#C62828` | Critical risks | +| `recommendpurple` | (103, 58, 183) | `#673AB7` | Recommendation boxes | + +### Neutral Colors +| Color Name | RGB | Hex | Usage | +|------------|-----|-----|-------| +| `darkgray` | (66, 66, 66) | `#424242` | Body text | +| `mediumgray` | (117, 117, 117) | `#757575` | Secondary text | +| `lightgray` | (240, 240, 240) | `#F0F0F0` | Backgrounds, callout boxes | +| `tablealt` | (245, 247, 250) | `#F5F7FA` | Alternating table rows | + +--- + +## Box Environments + +### Key Insight Box (Blue) +For major findings, insights, and important discoveries. + +```latex +\begin{keyinsightbox}[Custom Title] +The market is projected to grow at 15.3% CAGR through 2030, driven by +increasing enterprise adoption and favorable regulatory conditions. +\end{keyinsightbox} +``` + +### Market Data Box (Green) +For market statistics, metrics, and data highlights. + +```latex +\begin{marketdatabox}[Market Snapshot] +\begin{itemize} + \item \textbf{Market Size (2024):} \marketsize{45.2 billion} + \item \textbf{Projected Size (2030):} \marketsize{98.7 billion} + \item \textbf{CAGR:} \growthrate{15.3} +\end{itemize} +\end{marketdatabox} +``` + +### Risk Box (Orange/Warning) +For risk factors, warnings, and cautions. + +```latex +\begin{riskbox}[Market Risk] +Regulatory changes in the European Union could impact 40% of market +participants within the next 18 months. +\end{riskbox} +``` + +### Critical Risk Box (Red) +For high-severity or critical risks. + +```latex +\begin{criticalriskbox}[Critical: Supply Chain Disruption] +A major supply chain disruption could result in 6-12 month delays +and 30% cost increases. +\end{criticalriskbox} +``` + +### Recommendation Box (Purple) +For strategic recommendations and action items. + +```latex +\begin{recommendationbox}[Strategic Recommendation] +\begin{enumerate} + \item Prioritize market entry in Asia-Pacific region + \item Develop strategic partnerships with local distributors + \item Invest in localization of product offerings +\end{enumerate} +\end{recommendationbox} +``` + +### Callout Box (Gray) +For definitions, notes, and supplementary information. + +```latex +\begin{calloutbox}[Definition: TAM] +Total Addressable Market (TAM) represents the total revenue opportunity +available if 100% market share was achieved. +\end{calloutbox} +``` + +### Executive Summary Box +Special styling for executive summary highlights. + +```latex +\begin{executivesummarybox}[Executive Summary] +Key findings and highlights of the report... +\end{executivesummarybox} +``` + +### Opportunity Box (Teal/Accent Blue) +For opportunities and positive findings. + +```latex +\begin{opportunitybox}[Growth Opportunity] +The Asia-Pacific market represents a \$15 billion opportunity +growing at 22% CAGR. +\end{opportunitybox} +``` + +### Framework Boxes +For strategic analysis frameworks. + +```latex +% SWOT Analysis +\begin{swotbox}[SWOT Analysis Summary] +Content... +\end{swotbox} + +% Porter's Five Forces +\begin{porterbox}[Porter's Five Forces Analysis] +Content... +\end{porterbox} +``` + +--- + +## Pull Quotes + +For highlighting important statistics or quotes. + +```latex +\begin{pullquote} +"The convergence of AI and healthcare represents a \$199 billion +opportunity by 2034." +\end{pullquote} +``` + +--- + +## Stat Boxes + +For highlighting key statistics (use in rows of 3). + +```latex +\begin{center} +\statbox{\$45.2B}{Market Size 2024} +\statbox{15.3\%}{CAGR 2024-2030} +\statbox{23\%}{Market Leader Share} +\end{center} +``` + +--- + +## Custom Commands + +### Highlighting Text +```latex +\highlight{Important text} % Blue bold +``` + +### Market Size Formatting +```latex +\marketsize{45.2 billion} % Outputs: $45.2 billion in green +``` + +### Growth Rate Formatting +```latex +\growthrate{15.3} % Outputs: 15.3% in green +``` + +### Risk Indicators +```latex +\riskhigh{} % Outputs: HIGH in red +\riskmedium{} % Outputs: MEDIUM in orange +\risklow{} % Outputs: LOW in green +``` + +### Rating Stars (1-5) +```latex +\rating{4} % Outputs: ★★★★☆ +``` + +### Trend Indicators +```latex +\trendup{} % Green up triangle +\trenddown{} % Red down triangle +\trendflat{} % Gray right arrow +``` + +--- + +## Table Formatting + +### Standard Table with Alternating Rows +```latex +\begin{table}[htbp] +\centering +\caption{Market Size by Region} +\begin{tabular}{@{}lrrr@{}} +\toprule +\textbf{Region} & \textbf{Size} & \textbf{Share} & \textbf{CAGR} \\ +\midrule +North America & \$18.2B & 40.3\% & 12.5\% \\ +\rowcolor{tablealt} Europe & \$12.1B & 26.8\% & 14.2\% \\ +Asia-Pacific & \$10.5B & 23.2\% & 18.7\% \\ +\rowcolor{tablealt} Rest of World & \$4.4B & 9.7\% & 11.3\% \\ +\midrule +\textbf{Total} & \textbf{\$45.2B} & \textbf{100\%} & \textbf{15.3\%} \\ +\bottomrule +\end{tabular} +\label{tab:regional} +\end{table} +``` + +### Table with Trend Indicators +```latex +\begin{tabular}{@{}lrrl@{}} +\toprule +\textbf{Company} & \textbf{Revenue} & \textbf{Share} & \textbf{Trend} \\ +\midrule +Company A & \$5.2B & 15.3\% & \trendup{} +12\% \\ +Company B & \$4.8B & 14.1\% & \trenddown{} -3\% \\ +Company C & \$4.2B & 12.4\% & \trendflat{} +1\% \\ +\bottomrule +\end{tabular} +``` + +--- + +## Figure Formatting + +### Standard Figure +```latex +\begin{figure}[htbp] +\centering +\includegraphics[width=0.9\textwidth]{../figures/market_growth.png} +\caption{Market Growth Trajectory (2020-2030)} +\label{fig:growth} +\end{figure} +``` + +### Figure with Source Attribution +```latex +\begin{figure}[htbp] +\centering +\includegraphics[width=0.85\textwidth]{../figures/market_share.png} +\caption{Market Share Distribution (2024)} +\figuresource{Company annual reports, industry analysis} +\label{fig:market_share} +\end{figure} +``` + +--- + +## List Formatting + +### Bullet Lists +```latex +\begin{itemize} + \item First item with automatic blue bullet + \item Second item + \item Third item +\end{itemize} +``` + +### Numbered Lists +```latex +\begin{enumerate} + \item First item with blue number + \item Second item + \item Third item +\end{enumerate} +``` + +### Nested Lists +```latex +\begin{itemize} + \item Main point + \begin{itemize} + \item Sub-point A + \item Sub-point B + \end{itemize} + \item Another main point +\end{itemize} +``` + +--- + +## Title Page + +### Using the Custom Title Command +```latex +\makemarketreporttitle + {Market Title} % Report title + {Subtitle Here} % Subtitle + {../figures/cover.png} % Hero image (leave empty for no image) + {January 2025} % Date + {Market Intelligence Team} % Author/prepared by +``` + +### Manual Title Page +See the template for full manual title page code. + +--- + +## Appendix Sections + +```latex +\appendix + +\chapter{Methodology} + +\appendixsection{Data Sources} +Content that appears in table of contents... +``` + +--- + +## Common Patterns + +### Market Snapshot Section +```latex +\begin{marketdatabox}[Market Snapshot] +\begin{itemize} + \item \textbf{Current Market Size:} \marketsize{45.2 billion} + \item \textbf{Projected Size (2030):} \marketsize{98.7 billion} + \item \textbf{CAGR:} \growthrate{15.3} + \item \textbf{Largest Segment:} Enterprise (42\% share) + \item \textbf{Fastest Growing Region:} APAC (\growthrate{22.1} CAGR) +\end{itemize} +\end{marketdatabox} +``` + +### Risk Register Summary +```latex +\begin{table}[htbp] +\centering +\caption{Risk Assessment Summary} +\begin{tabular}{@{}llccl@{}} +\toprule +\textbf{Risk} & \textbf{Category} & \textbf{Prob.} & \textbf{Impact} & \textbf{Rating} \\ +\midrule +Market disruption & Market & High & High & \riskhigh{} \\ +\rowcolor{tablealt} Regulatory change & Regulatory & Med & High & \riskhigh{} \\ +New entrant & Competitive & Med & Med & \riskmedium{} \\ +\rowcolor{tablealt} Tech obsolescence & Technology & Low & High & \riskmedium{} \\ +Currency fluctuation & Financial & Med & Low & \risklow{} \\ +\bottomrule +\end{tabular} +\end{table} +``` + +### Competitive Comparison Table +```latex +\begin{table}[htbp] +\centering +\caption{Competitive Comparison} +\begin{tabular}{@{}lccccc@{}} +\toprule +\textbf{Factor} & \textbf{Co. A} & \textbf{Co. B} & \textbf{Co. C} & \textbf{Co. D} \\ +\midrule +Market Share & \rating{5} & \rating{4} & \rating{3} & \rating{2} \\ +\rowcolor{tablealt} Product Quality & \rating{4} & \rating{5} & \rating{3} & \rating{4} \\ +Price Competitiveness & \rating{3} & \rating{3} & \rating{5} & \rating{4} \\ +\rowcolor{tablealt} Innovation & \rating{5} & \rating{4} & \rating{2} & \rating{3} \\ +Customer Service & \rating{4} & \rating{4} & \rating{4} & \rating{5} \\ +\bottomrule +\end{tabular} +\end{table} +``` + +--- + +## Troubleshooting + +### Box Overflow +If box content overflows the page, break into multiple boxes or use page breaks: +```latex +\newpage +\begin{keyinsightbox}[Continued...] +``` + +### Figure Placement +Use `[htbp]` for flexible placement, or `[H]` (requires `float` package) for exact placement: +```latex +\begin{figure}[H] % Requires \usepackage{float} +``` + +### Table Too Wide +Use `\resizebox` or `adjustbox`: +```latex +\resizebox{\textwidth}{!}{ +\begin{tabular}{...} +... +\end{tabular} +} +``` + +### Color Not Appearing +Ensure `xcolor` package is loaded with `[table]` option (already included in style file). + +--- + +## Compilation + +Compile with XeLaTeX for best results: +```bash +xelatex report.tex +bibtex report +xelatex report.tex +xelatex report.tex +``` + +Or use latexmk: +```bash +latexmk -xelatex report.tex +``` diff --git a/skills/market-research-reports/assets/market_report_template.tex b/skills/market-research-reports/assets/market_report_template.tex new file mode 100755 index 0000000..244264b --- /dev/null +++ b/skills/market-research-reports/assets/market_report_template.tex @@ -0,0 +1,1380 @@ +% !TEX program = xelatex +% Market Research Report Template +% Professional formatting for 50+ page comprehensive market reports +% Use with market_research.sty style package + +\documentclass[11pt,letterpaper]{report} +\usepackage{market_research} + +% ============================================================================ +% DOCUMENT METADATA - CUSTOMIZE THESE +% ============================================================================ +\newcommand{\reporttitle}{[MARKET NAME]} +\newcommand{\reportsubtitle}{Comprehensive Market Analysis Report} +\newcommand{\reportdate}{\today} +\newcommand{\reportauthor}{Market Intelligence Division} +\newcommand{\reportclassification}{Confidential} + +% ============================================================================ +% PDF METADATA +% ============================================================================ +\hypersetup{ + pdftitle={\reporttitle{} - \reportsubtitle{}}, + pdfauthor={\reportauthor{}}, + pdfsubject={Market Research Report}, + pdfkeywords={market research, market analysis, competitive landscape, strategic analysis} +} + +% ============================================================================ +% DOCUMENT START +% ============================================================================ +\begin{document} + +% ============================================================================ +% TITLE PAGE +% ============================================================================ +% To use a hero image, replace the empty braces with the path: +% \makemarketreporttitle{\reporttitle}{\reportsubtitle}{../figures/cover_image.png}{\reportdate}{\reportauthor} + +\begin{titlepage} +\centering +\vspace*{2cm} + +{\Huge\bfseries\color{primaryblue} \reporttitle\\[0.5cm]} +{\LARGE\bfseries \reportsubtitle\\[1.5cm]} + +% VISUAL: Generate hero/cover image +% python skills/generate-image/scripts/generate_image.py "Professional executive summary infographic for [MARKET] market research report, showing key metrics in modern data visualization style, blue and green color scheme, clean minimalist design" --output figures/cover_image.png +% Uncomment below when image is generated: +% \includegraphics[width=\textwidth]{../figures/cover_image.png}\\[1.5cm] + +\vspace{4cm} + +{\Large\bfseries Comprehensive Market Research Report\\[0.5cm]} +{\large Strategic Intelligence for Business Decision-Making\\[3cm]} + +{\large +\textbf{Date:} \reportdate\\[0.3cm] +\textbf{Prepared By:} \reportauthor\\[0.3cm] +\textbf{Classification:} \reportclassification\\[0.3cm] +\textbf{Report Type:} Full Market Analysis +} + +\vfill + +{\footnotesize +\textit{This report contains market intelligence and strategic analysis based on publicly available data and proprietary research. All sources are cited and independently verifiable.} +} + +\end{titlepage} + +% ============================================================================ +% FRONT MATTER +% ============================================================================ +\pagenumbering{roman} + +% Table of Contents +\tableofcontents +\newpage + +% List of Figures +\listoffigures +\newpage + +% List of Tables +\listoftables +\newpage + +% ============================================================================ +% MAIN CONTENT +% ============================================================================ +\pagenumbering{arabic} + +% ============================================================================ +% EXECUTIVE SUMMARY (2-3 pages) +% ============================================================================ +\chapter{Executive Summary} + +\section{Report Overview} + +This comprehensive market analysis examines the \reporttitle{} market, providing strategic intelligence for investors, executives, and strategic planners. The report synthesizes data from authoritative sources including market research firms, regulatory agencies, industry associations, and enterprise surveys. + +% VISUAL: Executive summary infographic +% python skills/scientific-schematics/scripts/generate_schematic.py "Executive summary infographic showing 4 key metrics: Market Size $XX.XB (2024), CAGR XX.X%, Top 3 Players, and Key Trend. Use blue boxes with white text, professional layout" -o figures/exec_summary_infographic.png --doc-type report + +\subsection{Market Snapshot} + +\begin{marketdatabox}[Market Snapshot: \reporttitle{}] +\begin{itemize}[leftmargin=*] + \item \textbf{Current Market Size (2024):} \marketsize{X.XX billion} + \item \textbf{Projected Market Size (2034):} \marketsize{XX.XX billion} + \item \textbf{Compound Annual Growth Rate (CAGR):} \growthrate{XX.X} + \item \textbf{Growth Multiple:} Xx increase over 10 years + \item \textbf{Largest Segment:} [Segment Name] (XX\% market share) + \item \textbf{Fastest Growing Region:} [Region] (\growthrate{XX.X} CAGR) + \item \textbf{Current Enterprise Adoption:} XX\% +\end{itemize} +\end{marketdatabox} + +\subsection{Investment Thesis} + +The convergence of multiple market catalysts creates a compelling opportunity for investment and strategic action in the \reporttitle{} market: + +\begin{keyinsightbox}[Key Investment Drivers] +\begin{enumerate} + \item \textbf{[Driver 1]:} [Brief explanation of why this driver creates opportunity] + \item \textbf{[Driver 2]:} [Brief explanation] + \item \textbf{[Driver 3]:} [Brief explanation] + \item \textbf{[Driver 4]:} [Brief explanation] +\end{enumerate} +\end{keyinsightbox} + +\subsection{Key Findings} + +\paragraph{Market Dynamics} +[Summarize the most important findings about market size, growth, and dynamics. Include 3-5 key statistics with sources.] + +\paragraph{Competitive Landscape} +[Summarize competitive dynamics, market concentration, and key players. Include market share of top players.] + +\paragraph{Growth Drivers} +[Summarize the primary factors driving market growth and their expected impact.] + +\paragraph{Risk Factors} +[Summarize the key risks that could impact market development.] + +\subsection{Strategic Recommendations} + +Based on the comprehensive analysis presented in this report, we recommend the following strategic actions: + +\begin{recommendationbox}[Top Strategic Recommendations] +\begin{enumerate} + \item \textbf{[Recommendation 1]:} [Action-oriented recommendation with expected outcome] + \item \textbf{[Recommendation 2]:} [Action-oriented recommendation with expected outcome] + \item \textbf{[Recommendation 3]:} [Action-oriented recommendation with expected outcome] + \item \textbf{[Recommendation 4]:} [Action-oriented recommendation with expected outcome] + \item \textbf{[Recommendation 5]:} [Action-oriented recommendation with expected outcome] +\end{enumerate} +\end{recommendationbox} + +% ============================================================================ +% CHAPTER 1: MARKET OVERVIEW & DEFINITION (4-5 pages) +% ============================================================================ +\chapter{Market Overview \& Definition} + +\section{Market Definition} + +[Provide a clear, comprehensive definition of the market being analyzed. Include: +- What products/services are included +- What is explicitly excluded +- How this market relates to adjacent markets +- Industry classification codes if applicable (NAICS, SIC)] + +\begin{calloutbox}[Market Definition] +The \reporttitle{} market encompasses [comprehensive definition]. This includes [included elements] and excludes [excluded elements]. +\end{calloutbox} + +\subsection{Scope and Boundaries} + +\paragraph{Geographic Scope} +[Define the geographic boundaries of the analysis - global, regional, or specific countries.] + +\paragraph{Product/Service Scope} +[Define what products and services are included in the market definition.] + +\paragraph{Time Horizon} +[Specify the historical period analyzed and the forecast period.] + +\subsection{Market Classification} + +[Provide detailed market classification and taxonomy, including: +- Market segments +- Sub-segments +- Categories] + +\section{Industry Ecosystem} + +% VISUAL: Industry ecosystem diagram +% python skills/scientific-schematics/scripts/generate_schematic.py "Industry ecosystem diagram showing value chain from [Raw Materials/Inputs] on left through [Manufacturing/Processing] through [Distribution] to [End Users] on right. Include key players at each stage. Use blue boxes connected by arrows" -o figures/industry_ecosystem.png --doc-type report + +[Describe the industry ecosystem and value chain, including: +- Key stakeholders and their roles +- Relationships between stakeholders +- Value creation at each stage +- Information and money flows] + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.95\textwidth]{../figures/industry_ecosystem.png} +\caption{Industry Ecosystem and Value Chain} +\label{fig:ecosystem} +\end{figure} + +\subsection{Key Stakeholders} + +[Describe each category of stakeholder:] + +\paragraph{Suppliers/Vendors} +[Description of upstream suppliers and their role.] + +\paragraph{Manufacturers/Service Providers} +[Description of core market participants.] + +\paragraph{Distributors/Channels} +[Description of distribution and go-to-market channels.] + +\paragraph{End Users/Customers} +[Description of customer segments and their needs.] + +\paragraph{Regulators and Industry Bodies} +[Description of regulatory environment and industry associations.] + +\section{Market Structure} + +% VISUAL: Market structure diagram +% python skills/scientific-schematics/scripts/generate_schematic.py "Market structure diagram showing industry layers: [Core Market] in center, surrounded by [Adjacent Markets], with [Enabling Technologies] as foundation and [Regulatory Framework] as overlay. Use concentric rectangles" -o figures/market_structure.png --doc-type report + +[Describe the structure of the market:] + +\subsection{Market Concentration} + +[Analyze market concentration using metrics like: +- Herfindahl-Hirschman Index (HHI) +- CR4/CR8 concentration ratios +- Market fragmentation assessment] + +\subsection{Industry Lifecycle Stage} + +[Identify where the market is in its lifecycle: +- Introduction +- Growth +- Maturity +- Decline] + +\section{Historical Context} + +[Provide historical background on the market: +- When did the market emerge? +- Key milestones in market development +- Major industry shifts and disruptions +- How has the market evolved over time?] + +% ============================================================================ +% CHAPTER 2: MARKET SIZE & GROWTH ANALYSIS (6-8 pages) +% ============================================================================ +\chapter{Market Size \& Growth Analysis} + +\section{Total Addressable Market (TAM)} + +The Total Addressable Market represents the total revenue opportunity available if 100\% market share was achieved. Based on comprehensive analysis from multiple research sources: + +% VISUAL: Market growth trajectory +% python skills/scientific-schematics/scripts/generate_schematic.py "Bar chart showing market growth from 2020 to 2034. Historical bars (2020-2024) in dark blue, projected bars (2025-2034) in light blue. Y-axis in billions USD, X-axis showing years. Include CAGR label. Title: [MARKET] Market Growth Trajectory" -o figures/market_growth_trajectory.png --doc-type report + +\begin{table}[htbp] +\centering +\caption{Global \reporttitle{} Market Projections (2024-2034)} +\begin{tabular}{@{}lrrr@{}} +\toprule +\textbf{Year} & \textbf{Market Size (USD)} & \textbf{YoY Growth} & \textbf{CAGR} \\ +\midrule +2024 & \$X.XX B & -- & -- \\ +\rowcolor{tablealt} 2025 & \$X.XX B & XX.X\% & XX.X\% \\ +2026 & \$X.XX B & XX.X\% & XX.X\% \\ +\rowcolor{tablealt} 2027 & \$X.XX B & XX.X\% & XX.X\% \\ +2028 & \$X.XX B & XX.X\% & XX.X\% \\ +\rowcolor{tablealt} 2029 & \$X.XX B & XX.X\% & XX.X\% \\ +2030 & \$X.XX B & XX.X\% & XX.X\% \\ +\rowcolor{tablealt} 2031 & \$X.XX B & XX.X\% & XX.X\% \\ +2032 & \$X.XX B & XX.X\% & XX.X\% \\ +\rowcolor{tablealt} 2033 & \$X.XX B & XX.X\% & XX.X\% \\ +2034 & \$X.XX B & XX.X\% & XX.X\% \\ +\bottomrule +\end{tabular} +\label{tab:tam_projections} +\end{table} + +\textbf{Source:} [Primary research source, year] + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.9\textwidth]{../figures/market_growth_trajectory.png} +\caption{Market Growth Trajectory (2020-2034)} +\label{fig:market_growth} +\end{figure} + +\subsection{Historical Growth Analysis} + +[Analyze historical market performance over the past 5-10 years: +- Historical CAGR +- Key growth periods and drivers +- Impact of major events (recessions, disruptions, etc.) +- Comparison to overall economic growth] + +\subsection{Growth Projections Methodology} + +[Explain the methodology behind growth projections: +- Key assumptions +- Data sources +- Modeling approach +- Confidence intervals] + +\section{Serviceable Addressable Market (SAM)} + +The Serviceable Addressable Market represents the portion of TAM that can be served given current product offerings, geographic presence, and regulatory constraints. + +% VISUAL: TAM/SAM/SOM diagram +% python skills/scientific-schematics/scripts/generate_schematic.py "TAM SAM SOM concentric circle diagram. Outer circle: TAM $XXB (Total Addressable Market). Middle circle: SAM $XXB (Serviceable Addressable Market). Inner circle: SOM $XXB (Serviceable Obtainable Market). Labels with arrows pointing to each. Professional blue color scheme" -o figures/tam_sam_som.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.8\textwidth]{../figures/tam_sam_som.png} +\caption{TAM/SAM/SOM Market Opportunity Breakdown} +\label{fig:tam_sam_som} +\end{figure} + +\begin{table}[htbp] +\centering +\caption{Market Segments Within SAM (2024 vs 2034)} +\begin{tabular}{@{}lrrrr@{}} +\toprule +\textbf{Segment} & \textbf{2024 Value} & \textbf{2034 Value} & \textbf{CAGR} & \textbf{Share} \\ +\midrule +Segment A & \$X.XX B & \$XX.XX B & XX.X\% & XX\% \\ +\rowcolor{tablealt} Segment B & \$X.XX B & \$XX.XX B & XX.X\% & XX\% \\ +Segment C & \$X.XX B & \$XX.XX B & XX.X\% & XX\% \\ +\rowcolor{tablealt} Segment D & \$X.XX B & \$XX.XX B & XX.X\% & XX\% \\ +Segment E & \$X.XX B & \$XX.XX B & XX.X\% & XX\% \\ +\midrule +\textbf{Total SAM} & \textbf{\$X.XX B} & \textbf{\$XX.XX B} & \textbf{XX.X\%} & \textbf{100\%} \\ +\bottomrule +\end{tabular} +\label{tab:sam_segments} +\end{table} + +\section{Serviceable Obtainable Market (SOM)} + +The Serviceable Obtainable Market represents the realistic market share capture based on competitive dynamics, go-to-market capabilities, and strategic positioning. + +\begin{keyinsightbox}[SOM Projections (2034)] +\textbf{Conservative Scenario (XX\% Market Share):} \marketsize{X.X billion} +\begin{itemize} + \item Assumes competitive market with multiple major players + \item Typical XX-XX month enterprise sales cycles + \item Focus on [specific segments] +\end{itemize} + +\textbf{Base Case Scenario (XX\% Market Share):} \marketsize{X.X billion} +\begin{itemize} + \item Captures first-mover advantages in key segments + \item Strong product-market fit + \item Established partnership ecosystem +\end{itemize} + +\textbf{Optimistic Scenario (XX\% Market Share):} \marketsize{X.X billion} +\begin{itemize} + \item Market leadership position + \item Platform effects and network advantages + \item Proprietary advantages and moats +\end{itemize} +\end{keyinsightbox} + +\section{Regional Market Analysis} + +% VISUAL: Regional breakdown +% python skills/scientific-schematics/scripts/generate_schematic.py "Pie chart or treemap showing regional market breakdown. North America XX%, Europe XX%, Asia-Pacific XX%, Latin America XX%, Middle East & Africa XX%. Use distinct colors for each region. Include both percentage and dollar values" -o figures/regional_breakdown.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.8\textwidth]{../figures/regional_breakdown.png} +\caption{Market Size by Region (2024)} +\label{fig:regional_breakdown} +\end{figure} + +\begin{table}[htbp] +\centering +\caption{Regional Market Size and Growth} +\begin{tabular}{@{}lrrrr@{}} +\toprule +\textbf{Region} & \textbf{2024 Size} & \textbf{Share} & \textbf{CAGR} & \textbf{2034 Size} \\ +\midrule +North America & \$X.XX B & XX.X\% & XX.X\% & \$XX.XX B \\ +\rowcolor{tablealt} Europe & \$X.XX B & XX.X\% & XX.X\% & \$XX.XX B \\ +Asia-Pacific & \$X.XX B & XX.X\% & XX.X\% & \$XX.XX B \\ +\rowcolor{tablealt} Latin America & \$X.XX B & XX.X\% & XX.X\% & \$XX.XX B \\ +Middle East \& Africa & \$X.XX B & XX.X\% & XX.X\% & \$XX.XX B \\ +\midrule +\textbf{Global Total} & \textbf{\$X.XX B} & \textbf{100\%} & \textbf{XX.X\%} & \textbf{\$XX.XX B} \\ +\bottomrule +\end{tabular} +\label{tab:regional_market} +\end{table} + +\subsection{North America} +[Detailed analysis of North American market including US and Canada specifics.] + +\subsection{Europe} +[Detailed analysis of European market including key country breakdowns.] + +\subsection{Asia-Pacific} +[Detailed analysis of APAC market with focus on China, Japan, India, and emerging markets.] + +\subsection{Rest of World} +[Analysis of Latin America, Middle East, and Africa markets.] + +\section{Segment Analysis} + +% VISUAL: Segment growth comparison +% python skills/scientific-schematics/scripts/generate_schematic.py "Horizontal bar chart comparing segment growth rates. Segments listed on Y-axis, CAGR percentage on X-axis. Bars colored from green (highest growth) to blue (lowest growth). Include data labels on each bar" -o figures/segment_growth.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.9\textwidth]{../figures/segment_growth.png} +\caption{Segment Growth Rate Comparison (CAGR 2024-2034)} +\label{fig:segment_growth} +\end{figure} + +[Provide detailed analysis of each market segment including: +- Current size and market share +- Growth trajectory +- Key drivers for each segment +- Competitive dynamics within segment] + +% ============================================================================ +% CHAPTER 3: INDUSTRY DRIVERS & TRENDS (5-6 pages) +% ============================================================================ +\chapter{Industry Drivers \& Trends} + +\section{Primary Growth Drivers} + +[Identify and analyze the key factors driving market growth:] + +% VISUAL: Driver impact matrix +% python skills/scientific-schematics/scripts/generate_schematic.py "2x2 matrix showing market drivers. X-axis: Impact (Low to High). Y-axis: Likelihood (Low to High). Plot 8-10 drivers as circles. Upper-right quadrant labeled 'Critical Drivers', lower-right 'Watch Carefully', upper-left 'Monitor', lower-left 'Lower Priority'. Professional blue and green colors" -o figures/driver_impact_matrix.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.85\textwidth]{../figures/driver_impact_matrix.png} +\caption{Market Driver Impact Assessment Matrix} +\label{fig:driver_matrix} +\end{figure} + +\subsection{Driver 1: [Name]} +[Detailed analysis of this driver including: +- How it affects the market +- Quantified impact +- Timeline for impact +- Supporting evidence and data] + +\subsection{Driver 2: [Name]} +[Detailed analysis] + +\subsection{Driver 3: [Name]} +[Detailed analysis] + +\subsection{Driver 4: [Name]} +[Detailed analysis] + +\subsection{Driver 5: [Name]} +[Detailed analysis] + +\section{PESTLE Analysis} + +% VISUAL: PESTLE diagram +% python skills/scientific-schematics/scripts/generate_schematic.py "PESTLE analysis diagram with center hexagon labeled 'Market' surrounded by 6 hexagons: Political (red), Economic (blue), Social (green), Technological (orange), Legal (purple), Environmental (teal). Each outer hexagon contains 2-3 bullet points of key factors" -o figures/pestle_analysis.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.9\textwidth]{../figures/pestle_analysis.png} +\caption{PESTLE Analysis Framework} +\label{fig:pestle} +\end{figure} + +\subsection{Political Factors} +[Analysis of political factors affecting the market: +- Government policies +- Political stability +- Trade policies +- Tax regulations] + +\subsection{Economic Factors} +[Analysis of economic factors: +- Economic growth +- Interest rates +- Inflation +- Exchange rates +- Consumer spending] + +\subsection{Social Factors} +[Analysis of social factors: +- Demographics +- Cultural trends +- Consumer attitudes +- Workforce trends] + +\subsection{Technological Factors} +[Analysis of technological factors: +- Technology adoption +- R\&D activity +- Automation +- Digital transformation] + +\subsection{Legal Factors} +[Analysis of legal factors: +- Industry regulations +- Compliance requirements +- Intellectual property +- Employment laws] + +\subsection{Environmental Factors} +[Analysis of environmental factors: +- Sustainability requirements +- Environmental regulations +- Climate impact +- Resource availability] + +\section{Emerging Trends} + +% VISUAL: Trends timeline +% python skills/scientific-schematics/scripts/generate_schematic.py "Horizontal timeline showing emerging trends from 2024 to 2030. Mark 6-8 trends at different points on timeline with icons and labels. Use different colors for Technology trends (blue), Market trends (green), and Regulatory trends (orange). Include brief descriptions below each trend" -o figures/trends_timeline.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=\textwidth]{../figures/trends_timeline.png} +\caption{Emerging Industry Trends Timeline} +\label{fig:trends} +\end{figure} + +[Identify and analyze emerging trends that will shape the market:] + +\subsection{Trend 1: [Name]} +[Detailed trend analysis] + +\subsection{Trend 2: [Name]} +[Detailed trend analysis] + +\subsection{Trend 3: [Name]} +[Detailed trend analysis] + +\section{Growth Inhibitors} + +[Identify factors that could slow market growth: +- Market barriers +- Resource constraints +- Adoption challenges +- Competitive pressures] + +% ============================================================================ +% CHAPTER 4: COMPETITIVE LANDSCAPE (6-8 pages) +% ============================================================================ +\chapter{Competitive Landscape} + +\section{Market Structure Analysis} + +[Analyze the competitive structure of the market:] + +\subsection{Market Concentration} + +[Provide market concentration analysis: +- Number of competitors +- Market share distribution +- Concentration metrics (HHI, CR4)] + +\section{Porter's Five Forces Analysis} + +% VISUAL: Porter's Five Forces +% python skills/scientific-schematics/scripts/generate_schematic.py "Porter's Five Forces diagram. Center box labeled 'Competitive Rivalry: [HIGH/MEDIUM/LOW]'. Four boxes around it connected by arrows: 'Threat of New Entrants: [RATING]' (top), 'Bargaining Power of Suppliers: [RATING]' (left), 'Bargaining Power of Buyers: [RATING]' (right), 'Threat of Substitutes: [RATING]' (bottom). Color code by rating: High=red, Medium=orange, Low=green" -o figures/porters_five_forces.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.85\textwidth]{../figures/porters_five_forces.png} +\caption{Porter's Five Forces Analysis} +\label{fig:porter} +\end{figure} + +\begin{porterbox}[Porter's Five Forces Summary] +\begin{tabular}{@{}ll@{}} +\textbf{Force} & \textbf{Rating} \\ +\midrule +Threat of New Entrants & \riskmedium{} \\ +Bargaining Power of Suppliers & \risklow{} \\ +Bargaining Power of Buyers & \riskhigh{} \\ +Threat of Substitutes & \risklow{} \\ +Competitive Rivalry & \riskhigh{} \\ +\end{tabular} +\end{porterbox} + +\subsection{Threat of New Entrants} +[Detailed analysis of barriers to entry and threat level] + +\subsection{Bargaining Power of Suppliers} +[Detailed analysis of supplier power dynamics] + +\subsection{Bargaining Power of Buyers} +[Detailed analysis of buyer power dynamics] + +\subsection{Threat of Substitutes} +[Detailed analysis of substitute products/services] + +\subsection{Competitive Rivalry} +[Detailed analysis of competitive intensity] + +\section{Market Share Analysis} + +% VISUAL: Market share chart +% python skills/scientific-schematics/scripts/generate_schematic.py "Pie chart showing market share of top 10 companies. Company A XX%, Company B XX%, Company C XX%, [etc.], Others XX%. Use distinct colors for each company. Include legend with company names and percentages" -o figures/market_share.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.8\textwidth]{../figures/market_share.png} +\caption{Market Share by Company (2024)} +\label{fig:market_share} +\end{figure} + +\begin{table}[htbp] +\centering +\caption{Top 10 Companies by Market Share} +\begin{tabular}{@{}clrrr@{}} +\toprule +\textbf{Rank} & \textbf{Company} & \textbf{Revenue} & \textbf{Share} & \textbf{YoY Growth} \\ +\midrule +1 & Company A & \$X.XX B & XX.X\% & \trendup{} XX\% \\ +\rowcolor{tablealt} 2 & Company B & \$X.XX B & XX.X\% & \trendup{} XX\% \\ +3 & Company C & \$X.XX B & XX.X\% & \trendflat{} XX\% \\ +\rowcolor{tablealt} 4 & Company D & \$X.XX B & XX.X\% & \trendup{} XX\% \\ +5 & Company E & \$X.XX B & XX.X\% & \trenddown{} XX\% \\ +\rowcolor{tablealt} 6 & Company F & \$X.XX B & XX.X\% & \trendup{} XX\% \\ +7 & Company G & \$X.XX B & XX.X\% & \trendup{} XX\% \\ +\rowcolor{tablealt} 8 & Company H & \$X.XX B & XX.X\% & \trendflat{} XX\% \\ +9 & Company I & \$X.XX B & XX.X\% & \trendup{} XX\% \\ +\rowcolor{tablealt} 10 & Company J & \$X.XX B & XX.X\% & \trenddown{} XX\% \\ +\midrule +& Others & \$X.XX B & XX.X\% & -- \\ +\bottomrule +\end{tabular} +\label{tab:market_share} +\end{table} + +\section{Competitive Positioning} + +% VISUAL: Competitive positioning matrix +% python skills/scientific-schematics/scripts/generate_schematic.py "2x2 competitive positioning matrix. X-axis: 'Market Focus' from Niche (left) to Broad (right). Y-axis: 'Solution Approach' from Product (bottom) to Platform (top). Plot 8-10 companies as labeled circles of varying sizes (representing market share). Include quadrant labels" -o figures/competitive_positioning.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.9\textwidth]{../figures/competitive_positioning.png} +\caption{Competitive Positioning Matrix} +\label{fig:competitive_positioning} +\end{figure} + +[Analyze how competitors are positioned in the market based on key dimensions:] + +\subsection{Strategic Groups} + +% VISUAL: Strategic group map +% python skills/scientific-schematics/scripts/generate_schematic.py "Strategic group map with circles representing different strategic groups. X-axis: Geographic Scope (Regional to Global). Y-axis: Product Breadth (Narrow to Broad). Each circle contains multiple company names and is sized by collective market share. 4-5 distinct groups" -o figures/strategic_groups.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.85\textwidth]{../figures/strategic_groups.png} +\caption{Strategic Group Mapping} +\label{fig:strategic_groups} +\end{figure} + +[Identify and describe strategic groups within the competitive landscape] + +\section{Competitive Dynamics} + +[Analyze competitive behaviors and dynamics: +- Recent M\&A activity +- Partnership announcements +- Product launches +- Pricing trends +- Geographic expansion] + +\section{Barriers to Entry} + +[Analyze barriers that protect incumbents and challenge new entrants: +- Capital requirements +- Regulatory barriers +- Technology barriers +- Brand and reputation +- Distribution access +- Economies of scale] + +% ============================================================================ +% CHAPTER 5: CUSTOMER ANALYSIS & SEGMENTATION (4-5 pages) +% ============================================================================ +\chapter{Customer Analysis \& Segmentation} + +\section{Customer Segmentation} + +% VISUAL: Customer segmentation +% python skills/scientific-schematics/scripts/generate_schematic.py "Treemap or pie chart showing customer segments. Segment A XX% (large enterprises), Segment B XX% (mid-market), Segment C XX% (SMB), Segment D XX% (other). Size represents market share. Use distinct colors" -o figures/customer_segments.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.85\textwidth]{../figures/customer_segments.png} +\caption{Customer Segmentation by Market Share} +\label{fig:customer_segments} +\end{figure} + +\begin{table}[htbp] +\centering +\caption{Customer Segment Analysis} +\begin{tabular}{@{}lrrrr@{}} +\toprule +\textbf{Segment} & \textbf{Size} & \textbf{Growth} & \textbf{Avg. Deal} & \textbf{CAC} \\ +\midrule +Large Enterprise & \$X.XX B & XX\% & \$XXX K & \$XX K \\ +\rowcolor{tablealt} Mid-Market & \$X.XX B & XX\% & \$XX K & \$X K \\ +SMB & \$X.XX B & XX\% & \$X K & \$X K \\ +\rowcolor{tablealt} Consumer & \$X.XX B & XX\% & \$XXX & \$XX \\ +\bottomrule +\end{tabular} +\label{tab:customer_segments} +\end{table} + +\subsection{Segment A: [Large Enterprise]} +[Detailed segment analysis including: +- Segment characteristics +- Buying behavior +- Key needs and pain points +- Decision-making process +- Willingness to pay] + +\subsection{Segment B: [Mid-Market]} +[Detailed segment analysis] + +\subsection{Segment C: [SMB]} +[Detailed segment analysis] + +\subsection{Segment D: [Other]} +[Detailed segment analysis] + +\section{Segment Attractiveness} + +% VISUAL: Segment attractiveness matrix +% python skills/scientific-schematics/scripts/generate_schematic.py "2x2 segment attractiveness matrix. X-axis: Segment Size (Small to Large). Y-axis: Growth Rate (Low to High). Plot customer segments as circles. Upper-right: 'Priority', Upper-left: 'Invest to Grow', Lower-right: 'Harvest', Lower-left: 'Deprioritize'. Include segment labels" -o figures/segment_attractiveness.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.85\textwidth]{../figures/segment_attractiveness.png} +\caption{Customer Segment Attractiveness Matrix} +\label{fig:segment_attractiveness} +\end{figure} + +[Analyze which segments are most attractive for investment and focus] + +\section{Customer Needs Analysis} + +[Identify and prioritize customer needs by segment: +- Functional needs +- Emotional needs +- Social needs +- Pain points +- Unmet needs] + +\section{Buying Behavior} + +[Analyze how customers buy in this market: +- Purchase triggers +- Decision-making process +- Key influencers +- Evaluation criteria +- Purchase channels] + +% VISUAL: Customer journey +% python skills/scientific-schematics/scripts/generate_schematic.py "Customer journey diagram showing 5 stages: Awareness → Consideration → Decision → Implementation → Advocacy. Each stage shows key activities, pain points, and touchpoints. Use horizontal flow with icons for each stage" -o figures/customer_journey.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=\textwidth]{../figures/customer_journey.png} +\caption{Customer Journey Map} +\label{fig:customer_journey} +\end{figure} + +% ============================================================================ +% CHAPTER 6: TECHNOLOGY & INNOVATION LANDSCAPE (4-5 pages) +% ============================================================================ +\chapter{Technology \& Innovation Landscape} + +\section{Current Technology Stack} + +[Describe the technology infrastructure and stack commonly used in the market] + +\section{Technology Roadmap} + +% VISUAL: Technology roadmap +% python skills/scientific-schematics/scripts/generate_schematic.py "Technology roadmap timeline from 2024 to 2030. Show 3 parallel tracks: Core Technology (blue), Emerging Technology (green), and Enabling Technology (orange). Mark key milestones and technology introductions on each track. Use horizontal timeline format" -o figures/technology_roadmap.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=\textwidth]{../figures/technology_roadmap.png} +\caption{Technology Evolution Roadmap (2024-2030)} +\label{fig:tech_roadmap} +\end{figure} + +[Describe how technology is expected to evolve: +- Near-term (1-2 years) +- Medium-term (3-5 years) +- Long-term (5-10 years)] + +\section{Emerging Technologies} + +[Analyze emerging technologies that could impact the market: +- Technology description +- Current maturity level +- Expected timeline to mainstream adoption +- Potential impact on market] + +\subsection{Technology 1: [Name]} +[Detailed analysis] + +\subsection{Technology 2: [Name]} +[Detailed analysis] + +\subsection{Technology 3: [Name]} +[Detailed analysis] + +\section{Innovation Trends} + +% VISUAL: Innovation matrix +% python skills/scientific-schematics/scripts/generate_schematic.py "Innovation adoption curve or hype cycle diagram showing where key technologies sit. From left to right: Innovation Trigger, Peak of Inflated Expectations, Trough of Disillusionment, Slope of Enlightenment, Plateau of Productivity. Plot 6-8 technologies at different points" -o figures/innovation_curve.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=\textwidth]{../figures/innovation_curve.png} +\caption{Technology Adoption Curve / Hype Cycle} +\label{fig:innovation} +\end{figure} + +[Analyze innovation trends and R\&D activity: +- R\&D investment levels +- Patent filing trends +- Startup activity +- Corporate innovation initiatives] + +\section{Technology Adoption Barriers} + +[Identify barriers to technology adoption: +- Technical complexity +- Integration challenges +- Cost barriers +- Skills gaps +- Security/privacy concerns] + +% ============================================================================ +% CHAPTER 7: REGULATORY & POLICY ENVIRONMENT (3-4 pages) +% ============================================================================ +\chapter{Regulatory \& Policy Environment} + +\section{Current Regulatory Framework} + +[Describe the current regulatory landscape: +- Key regulations +- Regulatory bodies +- Compliance requirements +- Enforcement mechanisms] + +\section{Regulatory Timeline} + +% VISUAL: Regulatory timeline +% python skills/scientific-schematics/scripts/generate_schematic.py "Regulatory timeline from 2020 to 2028. Show key regulatory milestones as markers on horizontal timeline. Past events in dark blue, future/upcoming in light blue. Include regulation names and effective dates. Mark current date with vertical line" -o figures/regulatory_timeline.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=\textwidth]{../figures/regulatory_timeline.png} +\caption{Regulatory Development Timeline} +\label{fig:regulatory_timeline} +\end{figure} + +[Chronological analysis of regulatory developments] + +\section{Regulatory Impact Analysis} + +[Analyze how regulations impact the market: +- Compliance costs +- Market access implications +- Competitive implications +- Product/service requirements] + +\section{Policy Trends} + +[Identify policy trends that could affect the market: +- Government priorities +- Funding initiatives +- Trade policies +- Environmental policies] + +\section{Regional Regulatory Differences} + +[Compare regulatory environments across regions: +- North America +- Europe +- Asia-Pacific +- Other regions] + +% ============================================================================ +% CHAPTER 8: RISK ANALYSIS (3-4 pages) +% ============================================================================ +\chapter{Risk Analysis} + +\section{Risk Overview} + +[Provide overview of key risks facing market participants] + +\section{Risk Assessment} + +% VISUAL: Risk heatmap +% python skills/scientific-schematics/scripts/generate_schematic.py "Risk heatmap matrix. X-axis: Impact (Low to Critical). Y-axis: Probability (Unlikely to Very Likely). Plot 10-12 risks as labeled circles. Color code: Green (low risk), Yellow (medium), Orange (high), Red (critical). Include risk labels" -o figures/risk_heatmap.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.9\textwidth]{../figures/risk_heatmap.png} +\caption{Risk Assessment Heatmap} +\label{fig:risk_heatmap} +\end{figure} + +\begin{table}[htbp] +\centering +\caption{Risk Register Summary} +\begin{tabular}{@{}llccl@{}} +\toprule +\textbf{Risk} & \textbf{Category} & \textbf{Probability} & \textbf{Impact} & \textbf{Rating} \\ +\midrule +Risk 1 & Market & High & High & \riskhigh{} \\ +\rowcolor{tablealt} Risk 2 & Regulatory & Medium & High & \riskhigh{} \\ +Risk 3 & Technology & Medium & Medium & \riskmedium{} \\ +\rowcolor{tablealt} Risk 4 & Competitive & High & Medium & \riskmedium{} \\ +Risk 5 & Operational & Low & High & \riskmedium{} \\ +\rowcolor{tablealt} Risk 6 & Financial & Low & Medium & \risklow{} \\ +\bottomrule +\end{tabular} +\label{tab:risk_register} +\end{table} + +\subsection{Market Risks} +[Detailed analysis of market-related risks] + +\subsection{Competitive Risks} +[Detailed analysis of competitive risks] + +\subsection{Regulatory Risks} +[Detailed analysis of regulatory risks] + +\subsection{Technology Risks} +[Detailed analysis of technology risks] + +\subsection{Operational Risks} +[Detailed analysis of operational risks] + +\subsection{Financial Risks} +[Detailed analysis of financial risks] + +\section{Risk Mitigation Strategies} + +% VISUAL: Risk mitigation matrix +% python skills/scientific-schematics/scripts/generate_schematic.py "Risk mitigation matrix showing risks in left column and corresponding mitigation strategies in right column. Connect risks to mitigations with arrows. Color code by risk severity. Include both prevention and response strategies" -o figures/risk_mitigation.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.9\textwidth]{../figures/risk_mitigation.png} +\caption{Risk Mitigation Framework} +\label{fig:risk_mitigation} +\end{figure} + +[Describe strategies to mitigate identified risks] + +\begin{riskbox}[Risk Mitigation Summary] +\begin{enumerate} + \item \textbf{[Risk 1]:} [Mitigation strategy] + \item \textbf{[Risk 2]:} [Mitigation strategy] + \item \textbf{[Risk 3]:} [Mitigation strategy] + \item \textbf{[Risk 4]:} [Mitigation strategy] +\end{enumerate} +\end{riskbox} + +% ============================================================================ +% CHAPTER 9: STRATEGIC OPPORTUNITIES & RECOMMENDATIONS (4-5 pages) +% ============================================================================ +\chapter{Strategic Opportunities \& Recommendations} + +\section{Opportunity Analysis} + +% VISUAL: Opportunity matrix +% python skills/scientific-schematics/scripts/generate_schematic.py "2x2 opportunity matrix. X-axis: Market Attractiveness (Low to High). Y-axis: Ability to Win (Low to High). Plot 6-8 opportunities as labeled circles of varying sizes. Upper-right: 'Pursue Aggressively', Upper-left: 'Selective Investment', Lower-right: 'Build Capabilities', Lower-left: 'Avoid'" -o figures/opportunity_matrix.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.9\textwidth]{../figures/opportunity_matrix.png} +\caption{Strategic Opportunity Assessment Matrix} +\label{fig:opportunity_matrix} +\end{figure} + +[Identify and analyze strategic opportunities in the market] + +\subsection{Opportunity 1: [Name]} +\begin{opportunitybox}[Opportunity: [Name]] +\textbf{Description:} [Brief description] + +\textbf{Market Size:} \marketsize{X.X billion} + +\textbf{Growth Rate:} \growthrate{XX.X} + +\textbf{Strategic Fit:} \rating{4} + +\textbf{Investment Required:} \$XX million +\end{opportunitybox} + +[Detailed analysis of the opportunity] + +\subsection{Opportunity 2: [Name]} +[Detailed analysis] + +\subsection{Opportunity 3: [Name]} +[Detailed analysis] + +\section{Strategic Options Analysis} + +[Analyze different strategic approaches: +- Build (organic development) +- Buy (M\&A) +- Partner (strategic alliances) +- Ignore (not pursue)] + +\section{Prioritized Recommendations} + +% VISUAL: Recommendation priority matrix +% python skills/scientific-schematics/scripts/generate_schematic.py "Priority matrix showing recommendations. X-axis: Effort/Investment (Low to High). Y-axis: Impact/Value (Low to High). Plot 6-8 recommendations. Upper-left: 'Quick Wins', Upper-right: 'Major Projects', Lower-left: 'Fill-ins', Lower-right: 'Thankless Tasks'. Label each recommendation" -o figures/recommendation_priority.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.85\textwidth]{../figures/recommendation_priority.png} +\caption{Recommendation Priority Framework} +\label{fig:recommendations} +\end{figure} + +\begin{recommendationbox}[Strategic Recommendations] +\textbf{Tier 1: Immediate Priority} +\begin{enumerate} + \item \textbf{[Recommendation 1]:} [Detailed action with expected outcome, timeline, and investment] + \item \textbf{[Recommendation 2]:} [Detailed action] +\end{enumerate} + +\textbf{Tier 2: Near-Term (6-12 months)} +\begin{enumerate}[start=3] + \item \textbf{[Recommendation 3]:} [Detailed action] + \item \textbf{[Recommendation 4]:} [Detailed action] +\end{enumerate} + +\textbf{Tier 3: Medium-Term (1-2 years)} +\begin{enumerate}[start=5] + \item \textbf{[Recommendation 5]:} [Detailed action] + \item \textbf{[Recommendation 6]:} [Detailed action] +\end{enumerate} +\end{recommendationbox} + +\section{Success Factors} + +[Identify critical success factors for implementing recommendations: +- Organizational capabilities +- Resource requirements +- Timing considerations +- External dependencies] + +% ============================================================================ +% CHAPTER 10: IMPLEMENTATION ROADMAP (3-4 pages) +% ============================================================================ +\chapter{Implementation Roadmap} + +\section{Implementation Overview} + +[Provide overview of implementation approach and timeline] + +\section{Phased Implementation Plan} + +% VISUAL: Implementation timeline +% python skills/scientific-schematics/scripts/generate_schematic.py "Gantt chart style implementation timeline showing 4 phases over 24 months. Phase 1: Foundation (months 1-6), Phase 2: Build (months 4-12), Phase 3: Scale (months 10-18), Phase 4: Optimize (months 16-24). Show overlapping phases with key milestones marked. Use different colors for each phase" -o figures/implementation_timeline.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=\textwidth]{../figures/implementation_timeline.png} +\caption{Implementation Roadmap Timeline} +\label{fig:implementation} +\end{figure} + +\subsection{Phase 1: Foundation (Months 1-6)} +[Detailed activities and deliverables for Phase 1] + +\subsection{Phase 2: Build (Months 4-12)} +[Detailed activities and deliverables for Phase 2] + +\subsection{Phase 3: Scale (Months 10-18)} +[Detailed activities and deliverables for Phase 3] + +\subsection{Phase 4: Optimize (Months 16-24)} +[Detailed activities and deliverables for Phase 4] + +\section{Key Milestones} + +% VISUAL: Milestone tracker +% python skills/scientific-schematics/scripts/generate_schematic.py "Milestone tracker showing 8-10 key milestones on a horizontal timeline. Each milestone has a date, name, and status indicator (completed=green checkmark, in-progress=yellow circle, upcoming=gray circle). Group by phase" -o figures/milestone_tracker.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=\textwidth]{../figures/milestone_tracker.png} +\caption{Key Implementation Milestones} +\label{fig:milestones} +\end{figure} + +\begin{table}[htbp] +\centering +\caption{Implementation Milestones} +\begin{tabular}{@{}llll@{}} +\toprule +\textbf{Milestone} & \textbf{Target Date} & \textbf{Owner} & \textbf{Success Criteria} \\ +\midrule +Milestone 1 & Month 3 & [Owner] & [Criteria] \\ +\rowcolor{tablealt} Milestone 2 & Month 6 & [Owner] & [Criteria] \\ +Milestone 3 & Month 9 & [Owner] & [Criteria] \\ +\rowcolor{tablealt} Milestone 4 & Month 12 & [Owner] & [Criteria] \\ +Milestone 5 & Month 18 & [Owner] & [Criteria] \\ +\rowcolor{tablealt} Milestone 6 & Month 24 & [Owner] & [Criteria] \\ +\bottomrule +\end{tabular} +\label{tab:milestones} +\end{table} + +\section{Resource Requirements} + +[Detail resource requirements for implementation: +- Team structure +- Budget allocation +- Technology requirements +- External support needs] + +\section{Governance Structure} + +[Define governance for implementation: +- Decision-making authority +- Reporting structure +- Review cadence +- Escalation paths] + +% ============================================================================ +% CHAPTER 11: INVESTMENT THESIS & FINANCIAL PROJECTIONS (3-4 pages) +% ============================================================================ +\chapter{Investment Thesis \& Financial Projections} + +\section{Investment Summary} + +[Summarize the investment opportunity: +- Key value drivers +- Expected returns +- Investment timeline +- Risk-adjusted assessment] + +\begin{executivesummarybox}[Investment Thesis] +The \reporttitle{} market presents a compelling investment opportunity characterized by: + +\begin{itemize} + \item \textbf{Large Market:} \marketsize{XX billion} TAM growing at \growthrate{XX.X} CAGR + \item \textbf{Favorable Dynamics:} [Key market dynamics] + \item \textbf{Strong Drivers:} [Key growth drivers] + \item \textbf{Manageable Risks:} [Risk summary] + \item \textbf{Clear Path to Value:} [Value creation summary] +\end{itemize} +\end{executivesummarybox} + +\section{Financial Projections} + +% VISUAL: Financial projections +% python skills/scientific-schematics/scripts/generate_schematic.py "Financial projections chart showing revenue growth over 5 years. Bar chart for revenue with line overlay for growth rate. Three scenarios: Conservative (gray bars), Base Case (blue bars), Optimistic (green bars). Y-axis dual: Revenue ($M) and Growth (%). Include data labels" -o figures/financial_projections.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.9\textwidth]{../figures/financial_projections.png} +\caption{Financial Projections (5-Year)} +\label{fig:financials} +\end{figure} + +\begin{table}[htbp] +\centering +\caption{Financial Projections Summary} +\begin{tabular}{@{}lrrrrr@{}} +\toprule +\textbf{Metric} & \textbf{Year 1} & \textbf{Year 2} & \textbf{Year 3} & \textbf{Year 4} & \textbf{Year 5} \\ +\midrule +Revenue (\$M) & \$XX & \$XX & \$XX & \$XX & \$XX \\ +\rowcolor{tablealt} Growth Rate & XX\% & XX\% & XX\% & XX\% & XX\% \\ +Gross Margin & XX\% & XX\% & XX\% & XX\% & XX\% \\ +\rowcolor{tablealt} EBITDA (\$M) & \$XX & \$XX & \$XX & \$XX & \$XX \\ +EBITDA Margin & XX\% & XX\% & XX\% & XX\% & XX\% \\ +\bottomrule +\end{tabular} +\label{tab:financials} +\end{table} + +\section{Scenario Analysis} + +% VISUAL: Scenario comparison +% python skills/scientific-schematics/scripts/generate_schematic.py "Scenario comparison chart showing 3 scenarios (Conservative, Base, Optimistic) across key metrics. Use grouped bar chart with metrics on X-axis (Revenue Y5, EBITDA Y5, Market Share, ROI) and values on Y-axis. Color code by scenario" -o figures/scenario_analysis.png --doc-type report + +\begin{figure}[htbp] +\centering +% \includegraphics[width=0.85\textwidth]{../figures/scenario_analysis.png} +\caption{Scenario Analysis Comparison} +\label{fig:scenarios} +\end{figure} + +\subsection{Conservative Scenario} +[Detailed assumptions and outcomes for conservative case] + +\subsection{Base Case Scenario} +[Detailed assumptions and outcomes for base case] + +\subsection{Optimistic Scenario} +[Detailed assumptions and outcomes for optimistic case] + +\section{Key Assumptions} + +[Document key assumptions underlying financial projections: +- Market growth assumptions +- Pricing assumptions +- Cost assumptions +- Competitive assumptions +- Timing assumptions] + +\section{Sensitivity Analysis} + +[Analyze sensitivity of projections to key variables: +- Revenue sensitivity to market growth +- Margin sensitivity to pricing +- Returns sensitivity to timing] + +\section{Return Expectations} + +[Summarize expected returns: +- ROI projections +- Payback period +- IRR estimates +- Multiple analysis] + +% ============================================================================ +% APPENDICES +% ============================================================================ +\appendix + +% ============================================================================ +% APPENDIX A: METHODOLOGY & DATA SOURCES +% ============================================================================ +\chapter{Methodology \& Data Sources} + +\section{Research Methodology} + +[Describe the research methodology used: +- Primary research methods +- Secondary research sources +- Data collection timeframe +- Analytical frameworks applied] + +\section{Data Sources} + +[List all data sources used in the report: +- Market research reports +- Industry databases +- Government statistics +- Company reports +- Expert interviews +- Academic publications] + +\section{Limitations} + +[Acknowledge limitations of the analysis: +- Data availability constraints +- Methodological limitations +- Forecast uncertainty +- Scope limitations] + +% ============================================================================ +% APPENDIX B: DETAILED MARKET DATA +% ============================================================================ +\chapter{Detailed Market Data} + +\section{Historical Market Data} + +[Provide detailed historical market data tables] + +\section{Regional Data Breakdown} + +[Provide detailed regional market data] + +\section{Segment Data Details} + +[Provide detailed segment-level data] + +\section{Competitive Data} + +[Provide detailed competitive data tables] + +% ============================================================================ +% APPENDIX C: COMPANY PROFILES +% ============================================================================ +\chapter{Company Profiles} + +\section{Company A} + +\begin{calloutbox}[Company Profile: Company A] +\textbf{Headquarters:} [Location] + +\textbf{Revenue:} \$X.X billion (FY2024) + +\textbf{Employees:} X,XXX + +\textbf{Market Position:} [Position description] + +\textbf{Key Products/Services:} [List] + +\textbf{Recent Developments:} [Summary] +\end{calloutbox} + +[Brief narrative description of company strategy and positioning] + +\section{Company B} +[Company profile] + +\section{Company C} +[Company profile] + +\section{Company D} +[Company profile] + +\section{Company E} +[Company profile] + +% ============================================================================ +% REFERENCES +% ============================================================================ +\newpage +\bibliographystyle{plainnat} +\bibliography{../references/references} + +% Alternative: Manual bibliography if not using BibTeX +% \begin{thebibliography}{99} +% +% \bibitem{source1} +% Author1, A.B. (2024). +% Title of report or article. +% \textit{Publisher/Source}. +% URL +% +% \bibitem{source2} +% [Continue with all references...] +% +% \end{thebibliography} + +% ============================================================================ +% END OF DOCUMENT +% ============================================================================ +\end{document} diff --git a/skills/market-research-reports/assets/market_research.sty b/skills/market-research-reports/assets/market_research.sty new file mode 100755 index 0000000..d383941 --- /dev/null +++ b/skills/market-research-reports/assets/market_research.sty @@ -0,0 +1,564 @@ +% market_research.sty - Professional Market Research Report Styling +% For use with XeLaTeX or LuaLaTeX +% Style inspired by top consulting firms (McKinsey, BCG, Gartner) + +\ProvidesPackage{market_research}[2024/01/01 Market Research Report Style] + +% ============================================================================ +% REQUIRED PACKAGES +% ============================================================================ + +% Page layout and geometry +\RequirePackage[margin=1in]{geometry} +\RequirePackage{setspace} + +% Typography +\RequirePackage[utf8]{inputenc} +\RequirePackage[T1]{fontenc} +\RequirePackage{helvet} +\renewcommand{\familydefault}{\sfdefault} + +% Colors and graphics +\RequirePackage{xcolor} +\RequirePackage{graphicx} +\RequirePackage{tikz} + +% Tables +\RequirePackage{longtable} +\RequirePackage{booktabs} +\RequirePackage{multirow} +\RequirePackage{array} +\RequirePackage{colortbl} + +% Lists and formatting +\RequirePackage{enumitem} +\RequirePackage{parskip} + +% Boxes and callouts +\RequirePackage[most]{tcolorbox} + +% Headers and footers +\RequirePackage{fancyhdr} +\RequirePackage{titlesec} + +% Hyperlinks and references +\RequirePackage{hyperref} +\RequirePackage[numbers,sort&compress]{natbib} + +% Math (for financial projections) +\RequirePackage{amsmath} + +% Captions +\RequirePackage{caption} +\RequirePackage{subcaption} + +% ============================================================================ +% COLOR DEFINITIONS +% ============================================================================ + +% Primary colors (professional blue palette) +\definecolor{primaryblue}{RGB}{0, 51, 102} % Deep navy blue +\definecolor{secondaryblue}{RGB}{51, 102, 153} % Medium blue +\definecolor{lightblue}{RGB}{173, 216, 230} % Light blue for backgrounds +\definecolor{accentblue}{RGB}{0, 120, 215} % Bright accent blue + +% Secondary colors (complementary) +\definecolor{accentgreen}{RGB}{0, 128, 96} % Teal green +\definecolor{lightgreen}{RGB}{200, 230, 201} % Light green background +\definecolor{darkgreen}{RGB}{27, 94, 32} % Dark green + +% Warning and risk colors +\definecolor{warningorange}{RGB}{255, 140, 0} % Orange for warnings +\definecolor{lightorange}{RGB}{255, 243, 224} % Light orange background +\definecolor{alertred}{RGB}{198, 40, 40} % Red for critical items +\definecolor{lightred}{RGB}{255, 235, 238} % Light red background + +% Recommendation and action colors +\definecolor{recommendpurple}{RGB}{103, 58, 183} % Purple for recommendations +\definecolor{lightpurple}{RGB}{237, 231, 246} % Light purple background + +% Neutral colors +\definecolor{darkgray}{RGB}{66, 66, 66} % Dark gray for text +\definecolor{mediumgray}{RGB}{117, 117, 117} % Medium gray +\definecolor{lightgray}{RGB}{240, 240, 240} % Light gray backgrounds +\definecolor{tablegray}{RGB}{250, 250, 250} % Table row alternating +\definecolor{tablealt}{RGB}{245, 247, 250} % Alternating table row + +% Chart colors (colorblind-friendly palette) +\definecolor{chart1}{RGB}{0, 114, 178} % Blue +\definecolor{chart2}{RGB}{230, 159, 0} % Orange +\definecolor{chart3}{RGB}{0, 158, 115} % Green +\definecolor{chart4}{RGB}{204, 121, 167} % Pink +\definecolor{chart5}{RGB}{86, 180, 233} % Sky blue +\definecolor{chart6}{RGB}{213, 94, 0} % Vermillion +\definecolor{chart7}{RGB}{240, 228, 66} % Yellow + +% ============================================================================ +% HYPERLINK CONFIGURATION +% ============================================================================ + +\hypersetup{ + colorlinks=true, + linkcolor=primaryblue, + filecolor=primaryblue, + urlcolor=accentblue, + citecolor=secondaryblue, + pdftitle={Market Research Report}, + pdfauthor={Market Intelligence}, + pdfsubject={Market Analysis}, +} + +% ============================================================================ +% CHAPTER AND SECTION FORMATTING +% ============================================================================ + +% Chapter formatting - large number with colored title +\titleformat{\chapter}[display] +{\normalfont\huge\bfseries\color{primaryblue}} +{\chaptertitlename\ \thechapter}{20pt}{\Huge} +\titlespacing*{\chapter}{0pt}{-20pt}{40pt} + +% Section formatting +\titleformat{\section} +{\normalfont\Large\bfseries\color{primaryblue}} +{\thesection}{1em}{} +\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex} + +% Subsection formatting +\titleformat{\subsection} +{\normalfont\large\bfseries\color{secondaryblue}} +{\thesubsection}{1em}{} + +% Subsubsection formatting +\titleformat{\subsubsection} +{\normalfont\normalsize\bfseries\color{darkgray}} +{\thesubsubsection}{1em}{} + +% Paragraph formatting +\titleformat{\paragraph}[runin] +{\normalfont\normalsize\bfseries\color{darkgray}} +{\theparagraph}{1em}{} + +% ============================================================================ +% HEADER AND FOOTER CONFIGURATION +% ============================================================================ + +\pagestyle{fancy} +\fancyhf{} +\fancyhead[L]{\small\textit{\leftmark}} +\fancyhead[R]{\small\textit{Market Research Report}} +\fancyfoot[C]{\thepage} +\renewcommand{\headrulewidth}{0.4pt} +\renewcommand{\footrulewidth}{0.4pt} +\renewcommand{\headrule}{\hbox to\headwidth{\color{primaryblue}\leaders\hrule height \headrulewidth\hfill}} +\renewcommand{\footrule}{\hbox to\headwidth{\color{lightgray}\leaders\hrule height \footrulewidth\hfill}} + +% Plain page style for chapter pages +\fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[C]{\thepage} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0.4pt} +} + +% ============================================================================ +% BOX ENVIRONMENTS +% ============================================================================ + +% Key Insight Box (Blue) - For major findings and insights +\newtcolorbox{keyinsightbox}[1][Key Insight]{ + colback=lightblue!30, + colframe=primaryblue, + fonttitle=\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=primaryblue, + boxrule=1pt, + arc=3pt, + left=10pt, + right=10pt, + top=8pt, + bottom=8pt, + before skip=12pt, + after skip=12pt, +} + +% Market Data Box (Green) - For market statistics and data highlights +\newtcolorbox{marketdatabox}[1][Market Data]{ + colback=lightgreen!50, + colframe=accentgreen, + fonttitle=\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=accentgreen, + boxrule=1pt, + arc=3pt, + left=10pt, + right=10pt, + top=8pt, + bottom=8pt, + before skip=12pt, + after skip=12pt, +} + +% Risk Box (Orange/Warning) - For risk factors and warnings +\newtcolorbox{riskbox}[1][Risk Factor]{ + colback=lightorange, + colframe=warningorange, + fonttitle=\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=warningorange, + boxrule=1pt, + arc=3pt, + left=10pt, + right=10pt, + top=8pt, + bottom=8pt, + before skip=12pt, + after skip=12pt, +} + +% Critical Risk Box (Red) - For critical/high-severity risks +\newtcolorbox{criticalriskbox}[1][Critical Risk]{ + colback=lightred, + colframe=alertred, + fonttitle=\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=alertred, + boxrule=1pt, + arc=3pt, + left=10pt, + right=10pt, + top=8pt, + bottom=8pt, + before skip=12pt, + after skip=12pt, +} + +% Recommendation Box (Purple) - For strategic recommendations +\newtcolorbox{recommendationbox}[1][Strategic Recommendation]{ + colback=lightpurple, + colframe=recommendpurple, + fonttitle=\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=recommendpurple, + boxrule=1pt, + arc=3pt, + left=10pt, + right=10pt, + top=8pt, + bottom=8pt, + before skip=12pt, + after skip=12pt, +} + +% Callout Box (Gray) - For definitions, notes, supplementary info +\newtcolorbox{calloutbox}[1][Note]{ + colback=lightgray, + colframe=mediumgray, + fonttitle=\bfseries\color{darkgray}, + title=#1, + coltitle=darkgray, + colbacktitle=lightgray, + boxrule=0.5pt, + arc=3pt, + left=10pt, + right=10pt, + top=8pt, + bottom=8pt, + before skip=12pt, + after skip=12pt, +} + +% Executive Summary Box (Special styling) +\newtcolorbox{executivesummarybox}[1][Executive Summary]{ + enhanced, + colback=white, + colframe=primaryblue, + fonttitle=\Large\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=primaryblue, + boxrule=2pt, + arc=5pt, + left=15pt, + right=15pt, + top=12pt, + bottom=12pt, + before skip=15pt, + after skip=15pt, + shadow={2mm}{-2mm}{0mm}{black!20}, +} + +% Opportunity Box (Teal) - For opportunities and positive findings +\newtcolorbox{opportunitybox}[1][Opportunity]{ + colback=lightblue!20, + colframe=accentblue, + fonttitle=\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=accentblue, + boxrule=1pt, + arc=3pt, + left=10pt, + right=10pt, + top=8pt, + bottom=8pt, + before skip=12pt, + after skip=12pt, +} + +% ============================================================================ +% PULL QUOTE ENVIRONMENT +% ============================================================================ + +\newtcolorbox{pullquote}{ + enhanced, + colback=lightgray, + colframe=lightgray, + boxrule=0pt, + borderline west={4pt}{0pt}{primaryblue}, + arc=0pt, + left=15pt, + right=15pt, + top=10pt, + bottom=10pt, + before skip=15pt, + after skip=15pt, + fontupper=\large\itshape\color{darkgray}, +} + +% ============================================================================ +% STATISTIC HIGHLIGHT +% ============================================================================ + +\newcommand{\statbox}[2]{% + \begin{tcolorbox}[ + colback=primaryblue, + colframe=primaryblue, + coltext=white, + arc=5pt, + boxrule=0pt, + width=0.3\textwidth, + halign=center, + valign=center, + before skip=10pt, + after skip=10pt, + ] + {\Huge\bfseries #1}\\[5pt] + {\small #2} + \end{tcolorbox} +} + +% ============================================================================ +% TABLE STYLING +% ============================================================================ + +% Alternating row colors command +\newcommand{\tablerowcolor}{\rowcolor{tablealt}} + +% Table header styling +\newcommand{\tableheader}[1]{\textbf{\color{white}#1}} +\newcommand{\tableheaderrow}{\rowcolor{primaryblue}} + +% Professional table environment +\newenvironment{markettable}[2][htbp]{% + \begin{table}[#1] + \centering + \caption{#2} + \small +}{% + \end{table} +} + +% ============================================================================ +% FIGURE STYLING +% ============================================================================ + +% Caption formatting +\captionsetup{ + font=small, + labelfont={bf,color=primaryblue}, + textfont={color=darkgray}, + justification=centering, + margin=20pt, +} + +% Figure with source attribution +\newcommand{\figuresource}[1]{% + \par\vspace{-8pt} + {\small\textit{Source: #1}} +} + +% ============================================================================ +% LIST STYLING +% ============================================================================ + +% Bullet list styling +\setlist[itemize]{ + leftmargin=*, + label=\textcolor{primaryblue}{\textbullet}, + topsep=5pt, + itemsep=3pt, +} + +% Numbered list styling +\setlist[enumerate]{ + leftmargin=*, + label=\textcolor{primaryblue}{\arabic*.}, + topsep=5pt, + itemsep=3pt, +} + +% ============================================================================ +% CUSTOM COMMANDS +% ============================================================================ + +% Highlight important text +\newcommand{\highlight}[1]{\textbf{\textcolor{primaryblue}{#1}}} + +% Market size with formatting +\newcommand{\marketsize}[1]{\textbf{\textcolor{accentgreen}{\$#1}}} + +% Growth rate with formatting +\newcommand{\growthrate}[1]{\textbf{\textcolor{chart3}{#1\%}}} + +% Risk indicator +\newcommand{\riskhigh}{\textbf{\textcolor{alertred}{HIGH}}} +\newcommand{\riskmedium}{\textbf{\textcolor{warningorange}{MEDIUM}}} +\newcommand{\risklow}{\textbf{\textcolor{accentgreen}{LOW}}} + +% Rating stars (1-5) +\newcommand{\rating}[1]{% + \foreach \i in {1,...,5}{% + \ifnum\i>#1 + \textcolor{lightgray}{$\star$}% + \else + \textcolor{warningorange}{$\star$}% + \fi + }% +} + +% Trend indicators +\newcommand{\trendup}{\textcolor{accentgreen}{$\blacktriangle$}} +\newcommand{\trenddown}{\textcolor{alertred}{$\blacktriangledown$}} +\newcommand{\trendflat}{\textcolor{mediumgray}{$\rightarrow$}} + +% ============================================================================ +% TITLE PAGE COMMAND +% ============================================================================ + +\newcommand{\makemarketreporttitle}[5]{% + % #1 = Report Title + % #2 = Subtitle + % #3 = Hero Image Path + % #4 = Date + % #5 = Prepared By + \begin{titlepage} + \centering + \vspace*{1cm} + + {\Huge\bfseries\color{primaryblue} #1\\[0.5cm]} + {\LARGE\bfseries #2\\[2cm]} + + \ifx& + % No image provided + \vspace{4cm} + \else + \includegraphics[width=\textwidth]{#3}\\[2cm] + \fi + + {\Large\bfseries Market Research Report\\[3cm]} + + {\large + \textbf{Date:} #4\\[0.3cm] + \textbf{Prepared By:} #5\\[0.3cm] + \textbf{Classification:} Confidential + } + + \vfill + + {\footnotesize + \textit{This report contains market intelligence and strategic analysis. All data sources are cited and independently verifiable.} + } + + \end{titlepage} +} + +% ============================================================================ +% APPENDIX SECTION COMMAND +% ============================================================================ + +\newcommand{\appendixsection}[1]{% + \section*{#1} + \addcontentsline{toc}{section}{#1} +} + +% ============================================================================ +% FRAMEWORK BOXES +% ============================================================================ + +% SWOT Analysis Box +\newtcolorbox{swotbox}[1][SWOT Analysis]{ + enhanced, + colback=white, + colframe=secondaryblue, + fonttitle=\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=secondaryblue, + boxrule=1.5pt, + arc=5pt, + left=10pt, + right=10pt, + top=10pt, + bottom=10pt, + before skip=15pt, + after skip=15pt, +} + +% Porter's Five Forces Box +\newtcolorbox{porterbox}[1][Porter's Five Forces]{ + enhanced, + colback=white, + colframe=primaryblue, + fonttitle=\bfseries\color{white}, + title=#1, + coltitle=white, + colbacktitle=primaryblue, + boxrule=1.5pt, + arc=5pt, + left=10pt, + right=10pt, + top=10pt, + bottom=10pt, + before skip=15pt, + after skip=15pt, +} + +% ============================================================================ +% PAGE LAYOUT ADJUSTMENTS +% ============================================================================ + +% Spacing +\setstretch{1.15} +\setlength{\parskip}{0.5em} + +% Prevent orphans and widows +\clubpenalty=10000 +\widowpenalty=10000 + +% Float placement +\renewcommand{\topfraction}{0.9} +\renewcommand{\bottomfraction}{0.8} +\renewcommand{\textfraction}{0.07} +\renewcommand{\floatpagefraction}{0.7} + +% ============================================================================ +% END OF STYLE FILE +% ============================================================================ + +\endinput diff --git a/skills/market-research-reports/references/data_analysis_patterns.md b/skills/market-research-reports/references/data_analysis_patterns.md new file mode 100755 index 0000000..f94863b --- /dev/null +++ b/skills/market-research-reports/references/data_analysis_patterns.md @@ -0,0 +1,548 @@ +# Data Analysis Patterns for Market Research + +Templates and frameworks for conducting rigorous market analysis. + +--- + +## Market Sizing Frameworks + +### TAM/SAM/SOM Analysis + +**Total Addressable Market (TAM)** represents the total revenue opportunity if 100% market share was achieved. + +#### Top-Down Approach +``` +TAM = Total Industry Revenue (from market research reports) + +Example: +- Global AI Software Market (2024): $184 billion +- Source: Gartner, IDC, or similar +``` + +#### Bottom-Up Approach +``` +TAM = Number of Potential Customers × Average Revenue per Customer + +Example: +- Number of enterprises globally: 400 million +- Target segment (large enterprises): 50,000 +- Average annual spend on solution: $500,000 +- TAM = 50,000 × $500,000 = $25 billion +``` + +**Serviceable Addressable Market (SAM)** represents the portion of TAM that can be served given product/service capabilities. + +``` +SAM = TAM × Applicable Segment % + +Example: +- TAM: $25 billion +- Geographic constraint (North America only): 40% +- Product fit (enterprise only): 60% +- SAM = $25B × 40% × 60% = $6 billion +``` + +**Serviceable Obtainable Market (SOM)** represents realistic market share capture. + +``` +SOM = SAM × Achievable Market Share % + +Example: +- SAM: $6 billion +- Conservative market share (5%): $300 million +- Base case market share (10%): $600 million +- Optimistic market share (15%): $900 million +``` + +### Growth Rate Calculation + +#### CAGR (Compound Annual Growth Rate) +``` +CAGR = (End Value / Start Value)^(1/n) - 1 + +Where n = number of years + +Example: +- 2020 market size: $10 billion +- 2024 market size: $18 billion +- n = 4 years +- CAGR = (18/10)^(1/4) - 1 = 15.8% +``` + +#### Year-over-Year Growth +``` +YoY Growth = (Current Year - Previous Year) / Previous Year × 100 + +Example: +- 2023: $15 billion +- 2024: $18 billion +- YoY Growth = (18-15)/15 × 100 = 20% +``` + +--- + +## Porter's Five Forces Analysis + +### Framework Template + +For each force, assess: **HIGH**, **MEDIUM**, or **LOW** + +#### 1. Threat of New Entrants + +**Factors to evaluate:** +| Factor | Assessment | Notes | +|--------|------------|-------| +| Capital requirements | High/Med/Low | $ required to enter | +| Economies of scale | Strong/Moderate/Weak | Incumbent advantages | +| Brand loyalty | High/Med/Low | Customer switching cost | +| Access to distribution | Easy/Moderate/Difficult | Channel availability | +| Regulatory barriers | High/Med/Low | Licensing, certifications | +| Proprietary technology | Critical/Important/Minor | IP and know-how | +| Expected retaliation | Aggressive/Moderate/Passive | Incumbent response | + +**Overall Assessment:** [HIGH/MEDIUM/LOW] + +**Key Insights:** [Summary of implications] + +#### 2. Bargaining Power of Suppliers + +**Factors to evaluate:** +| Factor | Assessment | Notes | +|--------|------------|-------| +| Supplier concentration | High/Med/Low | Number of suppliers | +| Switching costs | High/Med/Low | Cost to change suppliers | +| Supplier differentiation | High/Med/Low | Uniqueness of inputs | +| Forward integration threat | High/Med/Low | Can suppliers compete? | +| Importance to supplier | Critical/Important/Minor | Your share of their revenue | +| Substitute inputs | Many/Some/Few | Alternatives available | + +**Overall Assessment:** [HIGH/MEDIUM/LOW] + +#### 3. Bargaining Power of Buyers + +**Factors to evaluate:** +| Factor | Assessment | Notes | +|--------|------------|-------| +| Buyer concentration | High/Med/Low | Few large vs. many small | +| Purchase volume | Large/Medium/Small | Relative importance | +| Switching costs | Low/Med/High | Cost to change vendors | +| Price sensitivity | High/Med/Low | Focus on price vs. value | +| Backward integration threat | High/Med/Low | Can buyers self-supply? | +| Information availability | Full/Partial/Limited | Market transparency | + +**Overall Assessment:** [HIGH/MEDIUM/LOW] + +#### 4. Threat of Substitutes + +**Factors to evaluate:** +| Factor | Assessment | Notes | +|--------|------------|-------| +| Substitute availability | Many/Some/Few | Number of alternatives | +| Price-performance ratio | Better/Same/Worse | Value comparison | +| Switching costs | Low/Med/High | Friction to substitute | +| Buyer propensity to switch | High/Med/Low | Willingness to change | +| Perceived differentiation | Low/Med/High | Unique value | + +**Overall Assessment:** [HIGH/MEDIUM/LOW] + +#### 5. Competitive Rivalry + +**Factors to evaluate:** +| Factor | Assessment | Notes | +|--------|------------|-------| +| Number of competitors | Many/Several/Few | Market fragmentation | +| Industry growth | Slow/Moderate/Fast | Growth rate impact | +| Fixed costs | High/Med/Low | Pressure to fill capacity | +| Product differentiation | Low/Med/High | Commoditization level | +| Exit barriers | High/Med/Low | Difficulty leaving market | +| Strategic stakes | High/Med/Low | Importance to competitors | + +**Overall Assessment:** [HIGH/MEDIUM/LOW] + +### Five Forces Summary Table + +| Force | Rating | Key Drivers | Implications | +|-------|--------|-------------|--------------| +| New Entrants | [H/M/L] | [Top factors] | [Strategic impact] | +| Supplier Power | [H/M/L] | [Top factors] | [Strategic impact] | +| Buyer Power | [H/M/L] | [Top factors] | [Strategic impact] | +| Substitutes | [H/M/L] | [Top factors] | [Strategic impact] | +| Rivalry | [H/M/L] | [Top factors] | [Strategic impact] | + +**Overall Industry Attractiveness:** [ATTRACTIVE / MODERATE / UNATTRACTIVE] + +--- + +## PESTLE Analysis + +### Framework Template + +#### Political Factors + +| Factor | Current State | Trend | Impact | Time Horizon | +|--------|---------------|-------|--------|--------------| +| Government stability | | ↑ ↓ → | H/M/L | Short/Med/Long | +| Trade policies | | ↑ ↓ → | H/M/L | | +| Tax regulations | | ↑ ↓ → | H/M/L | | +| Government support | | ↑ ↓ → | H/M/L | | +| Political relations | | ↑ ↓ → | H/M/L | | + +**Key Political Implications:** [Summary] + +#### Economic Factors + +| Factor | Current State | Trend | Impact | Time Horizon | +|--------|---------------|-------|--------|--------------| +| GDP growth | X.X% | ↑ ↓ → | H/M/L | | +| Interest rates | X.X% | ↑ ↓ → | H/M/L | | +| Inflation | X.X% | ↑ ↓ → | H/M/L | | +| Exchange rates | | ↑ ↓ → | H/M/L | | +| Consumer spending | | ↑ ↓ → | H/M/L | | +| Unemployment | X.X% | ↑ ↓ → | H/M/L | | + +**Key Economic Implications:** [Summary] + +#### Social Factors + +| Factor | Current State | Trend | Impact | Time Horizon | +|--------|---------------|-------|--------|--------------| +| Demographics | | ↑ ↓ → | H/M/L | | +| Cultural attitudes | | ↑ ↓ → | H/M/L | | +| Consumer behavior | | ↑ ↓ → | H/M/L | | +| Education levels | | ↑ ↓ → | H/M/L | | +| Health consciousness | | ↑ ↓ → | H/M/L | | +| Work-life balance | | ↑ ↓ → | H/M/L | | + +**Key Social Implications:** [Summary] + +#### Technological Factors + +| Factor | Current State | Trend | Impact | Time Horizon | +|--------|---------------|-------|--------|--------------| +| R&D activity | | ↑ ↓ → | H/M/L | | +| Technology adoption | | ↑ ↓ → | H/M/L | | +| Automation | | ↑ ↓ → | H/M/L | | +| Digital infrastructure | | ↑ ↓ → | H/M/L | | +| Innovation rate | | ↑ ↓ → | H/M/L | | +| Disruptive tech | | ↑ ↓ → | H/M/L | | + +**Key Technological Implications:** [Summary] + +#### Legal Factors + +| Factor | Current State | Trend | Impact | Time Horizon | +|--------|---------------|-------|--------|--------------| +| Industry regulations | | ↑ ↓ → | H/M/L | | +| Data protection | | ↑ ↓ → | H/M/L | | +| Employment law | | ↑ ↓ → | H/M/L | | +| Consumer protection | | ↑ ↓ → | H/M/L | | +| IP rights | | ↑ ↓ → | H/M/L | | +| Antitrust | | ↑ ↓ → | H/M/L | | + +**Key Legal Implications:** [Summary] + +#### Environmental Factors + +| Factor | Current State | Trend | Impact | Time Horizon | +|--------|---------------|-------|--------|--------------| +| Climate change | | ↑ ↓ → | H/M/L | | +| Sustainability reqs | | ↑ ↓ → | H/M/L | | +| Resource availability | | ↑ ↓ → | H/M/L | | +| Waste management | | ↑ ↓ → | H/M/L | | +| Carbon regulations | | ↑ ↓ → | H/M/L | | +| Environmental awareness | | ↑ ↓ → | H/M/L | | + +**Key Environmental Implications:** [Summary] + +--- + +## SWOT Analysis + +### Framework Template + +#### Strengths (Internal, Positive) +| Strength | Evidence | Strategic Value | +|----------|----------|-----------------| +| [Strength 1] | [Data/proof] | High/Med/Low | +| [Strength 2] | [Data/proof] | High/Med/Low | +| [Strength 3] | [Data/proof] | High/Med/Low | + +**Core Strengths Summary:** [2-3 sentence synthesis] + +#### Weaknesses (Internal, Negative) +| Weakness | Evidence | Severity | +|----------|----------|----------| +| [Weakness 1] | [Data/proof] | Critical/Moderate/Minor | +| [Weakness 2] | [Data/proof] | Critical/Moderate/Minor | +| [Weakness 3] | [Data/proof] | Critical/Moderate/Minor | + +**Key Vulnerabilities Summary:** [2-3 sentence synthesis] + +#### Opportunities (External, Positive) +| Opportunity | Size/Potential | Timeframe | +|-------------|----------------|-----------| +| [Opportunity 1] | $X / High/Med/Low | Short/Med/Long | +| [Opportunity 2] | $X / High/Med/Low | Short/Med/Long | +| [Opportunity 3] | $X / High/Med/Low | Short/Med/Long | + +**Priority Opportunities Summary:** [2-3 sentence synthesis] + +#### Threats (External, Negative) +| Threat | Likelihood | Impact | +|--------|------------|--------| +| [Threat 1] | High/Med/Low | High/Med/Low | +| [Threat 2] | High/Med/Low | High/Med/Low | +| [Threat 3] | High/Med/Low | High/Med/Low | + +**Critical Threats Summary:** [2-3 sentence synthesis] + +### SWOT Strategy Matrix + +| | **Strengths** | **Weaknesses** | +|---|---------------|----------------| +| **Opportunities** | **SO Strategies** (use strengths to capture opportunities) | **WO Strategies** (overcome weaknesses to capture opportunities) | +| **Threats** | **ST Strategies** (use strengths to mitigate threats) | **WT Strategies** (minimize weaknesses and avoid threats) | + +--- + +## BCG Growth-Share Matrix + +### Framework Template + +**Axes:** +- X-axis: Relative Market Share (High → Low, logarithmic scale) +- Y-axis: Market Growth Rate (High → Low, typically 10% as midpoint) + +### Quadrant Definitions + +| Quadrant | Growth | Share | Characteristics | Strategy | +|----------|--------|-------|-----------------|----------| +| **Stars** | High | High | Market leaders in growing markets | Invest to maintain position | +| **Cash Cows** | Low | High | Market leaders in mature markets | Harvest for cash flow | +| **Question Marks** | High | Low | Small share in growing markets | Invest selectively or divest | +| **Dogs** | Low | Low | Small share in mature markets | Divest or minimize investment | + +### Product/Business Unit Analysis + +| Product/BU | Market Growth | Relative Share | Quadrant | Recommended Strategy | +|------------|---------------|----------------|----------|---------------------| +| [Product A] | X.X% | X.X | Star/Cow/QM/Dog | [Strategy] | +| [Product B] | X.X% | X.X | Star/Cow/QM/Dog | [Strategy] | +| [Product C] | X.X% | X.X | Star/Cow/QM/Dog | [Strategy] | + +### Portfolio Balance Assessment + +| Quadrant | Number of Products | Revenue % | Investment Priority | +|----------|-------------------|-----------|---------------------| +| Stars | X | X% | High | +| Cash Cows | X | X% | Maintain | +| Question Marks | X | X% | Selective | +| Dogs | X | X% | Low/Divest | + +--- + +## Value Chain Analysis + +### Framework Template + +#### Primary Activities + +| Activity | Description | Value Created | Cost | Competitive Position | +|----------|-------------|---------------|------|---------------------| +| **Inbound Logistics** | Receiving, storing, inventory | | $X | Strong/Average/Weak | +| **Operations** | Manufacturing, assembly | | $X | Strong/Average/Weak | +| **Outbound Logistics** | Distribution, delivery | | $X | Strong/Average/Weak | +| **Marketing & Sales** | Promotion, sales force | | $X | Strong/Average/Weak | +| **Service** | Installation, support, repair | | $X | Strong/Average/Weak | + +#### Support Activities + +| Activity | Description | Value Created | Cost | Competitive Position | +|----------|-------------|---------------|------|---------------------| +| **Infrastructure** | Management, finance, legal | | $X | Strong/Average/Weak | +| **HR Management** | Recruiting, training, comp | | $X | Strong/Average/Weak | +| **Technology Dev** | R&D, process improvement | | $X | Strong/Average/Weak | +| **Procurement** | Purchasing, supplier mgmt | | $X | Strong/Average/Weak | + +### Value Chain Margin Analysis + +``` +Total Revenue: $XXX +- Inbound Logistics: ($XX) +- Operations: ($XX) +- Outbound Logistics: ($XX) +- Marketing & Sales: ($XX) +- Service: ($XX) +- Support Activities: ($XX) += Margin: $XX (X%) +``` + +### Competitive Comparison + +| Activity | Company | Industry Avg | Best-in-Class | Gap | +|----------|---------|--------------|---------------|-----| +| [Activity] | X% | Y% | Z% | +/-X% | + +--- + +## Competitive Positioning Analysis + +### Framework Template + +#### Positioning Dimensions + +Common positioning dimension pairs: +- Price vs. Quality +- Market Focus (Niche vs. Broad) +- Solution Type (Product vs. Platform) +- Geographic Scope (Regional vs. Global) +- Customer Focus (Enterprise vs. SMB vs. Consumer) +- Innovation Level (Leader vs. Follower) + +#### Competitor Mapping + +| Competitor | Dimension 1 Score (1-10) | Dimension 2 Score (1-10) | Market Share | Notes | +|------------|-------------------------|-------------------------|--------------|-------| +| Company A | X | X | X% | [Position description] | +| Company B | X | X | X% | [Position description] | +| Company C | X | X | X% | [Position description] | + +#### Strategic Group Identification + +| Strategic Group | Companies | Characteristics | Market Share | +|-----------------|-----------|-----------------|--------------| +| Group 1: [Name] | A, B, C | [Description] | X% | +| Group 2: [Name] | D, E | [Description] | X% | +| Group 3: [Name] | F, G, H | [Description] | X% | + +--- + +## Risk Assessment Framework + +### Risk Identification + +#### Risk Categories +1. **Market Risks**: Demand changes, price pressure, market shifts +2. **Competitive Risks**: New entrants, competitor moves, disruption +3. **Regulatory Risks**: New regulations, compliance requirements +4. **Technology Risks**: Obsolescence, security, integration +5. **Operational Risks**: Supply chain, quality, capacity +6. **Financial Risks**: Currency, interest rates, credit +7. **Reputational Risks**: Brand damage, social media, ethics + +### Risk Assessment Matrix + +| Risk ID | Risk Description | Category | Probability | Impact | Score | Priority | +|---------|------------------|----------|-------------|--------|-------|----------| +| R1 | [Description] | Market | 1-5 | 1-5 | P×I | H/M/L | +| R2 | [Description] | Competitive | 1-5 | 1-5 | P×I | H/M/L | + +**Scoring Guide:** +- Probability: 1=Very Unlikely, 2=Unlikely, 3=Possible, 4=Likely, 5=Very Likely +- Impact: 1=Minimal, 2=Minor, 3=Moderate, 4=Major, 5=Severe +- Priority: Score 15-25=High, 8-14=Medium, 1-7=Low + +### Risk Mitigation Planning + +| Risk ID | Risk | Mitigation Strategy | Owner | Timeline | Cost | +|---------|------|---------------------|-------|----------|------| +| R1 | [Risk] | [Prevention + Response] | [Name] | [Date] | $X | + +--- + +## Financial Analysis Patterns + +### Revenue Projection Model + +``` +Year N Revenue = Year N-1 Revenue × (1 + Growth Rate) + +Or bottom-up: +Revenue = Customers × Revenue per Customer × Retention Rate + + New Customers × Revenue per Customer × (1 - Churn Rate) +``` + +### Scenario Analysis Template + +| Metric | Conservative | Base Case | Optimistic | +|--------|--------------|-----------|------------| +| Market Growth | X% | Y% | Z% | +| Market Share | X% | Y% | Z% | +| Pricing | $X | $Y | $Z | +| Gross Margin | X% | Y% | Z% | +| **Revenue Y5** | $X | $Y | $Z | +| **EBITDA Y5** | $X | $Y | $Z | + +### Key Financial Metrics + +| Metric | Formula | Target | +|--------|---------|--------| +| Gross Margin | (Revenue - COGS) / Revenue | X% | +| EBITDA Margin | EBITDA / Revenue | X% | +| Customer Acquisition Cost | Sales & Marketing / New Customers | $X | +| Lifetime Value | ARPU × Gross Margin × Lifetime | $X | +| LTV/CAC Ratio | LTV / CAC | >3x | +| Payback Period | CAC / (ARPU × Gross Margin × 12) | <X months | + +--- + +## Data Collection Checklist + +### Market Size Data +- [ ] Current market size (with year and source) +- [ ] Historical market size (5-10 years) +- [ ] Market growth projections (5-10 years) +- [ ] CAGR (historical and projected) +- [ ] Regional breakdown +- [ ] Segment breakdown + +### Competitive Data +- [ ] Market share by company (top 10) +- [ ] Revenue by competitor +- [ ] Growth rates by competitor +- [ ] Strategic moves (M&A, partnerships, launches) +- [ ] Pricing information +- [ ] Product/service offerings + +### Customer Data +- [ ] Customer segments and sizes +- [ ] Segment growth rates +- [ ] Average deal size by segment +- [ ] Customer acquisition cost +- [ ] Customer lifetime value +- [ ] Churn rates + +### Industry Data +- [ ] Key industry trends +- [ ] Regulatory developments +- [ ] Technology trends +- [ ] Economic indicators +- [ ] Demographic trends + +--- + +## Research Sources + +### Primary Research +- Customer interviews +- Expert interviews +- Surveys +- Focus groups + +### Secondary Research +- Market research reports (Gartner, Forrester, IDC, McKinsey) +- Industry associations +- Government statistics +- Company annual reports +- SEC filings (10-K, 10-Q) +- Earnings call transcripts +- Trade publications +- Academic journals +- News articles + +### Data Validation +- Cross-reference multiple sources +- Check date currency (prefer <2 years old) +- Verify methodology +- Note confidence levels +- Document assumptions diff --git a/skills/market-research-reports/references/report_structure_guide.md b/skills/market-research-reports/references/report_structure_guide.md new file mode 100755 index 0000000..8dd4107 --- /dev/null +++ b/skills/market-research-reports/references/report_structure_guide.md @@ -0,0 +1,999 @@ +# Market Research Report Structure Guide + +Detailed guidance for writing each section of a comprehensive market research report. + +--- + +## Front Matter + +### Cover Page + +**Purpose:** Create a strong first impression and communicate report scope. + +**Required Elements:** +- Report title (clear, specific to market being analyzed) +- Subtitle (e.g., "Comprehensive Market Analysis Report") +- Hero visualization (executive summary infographic or market-relevant image) +- Date of publication +- Prepared by / Author organization +- Classification (Confidential, Internal Use, Public) +- Report type identifier + +**Best Practices:** +- Title should include market name and geography if relevant +- Use professional, high-quality hero image +- Keep design clean and uncluttered +- Include version number if applicable + +--- + +### Table of Contents + +**Auto-generated in LaTeX.** Ensure all chapters, sections, and subsections use proper commands for inclusion. + +**Include:** +- List of Figures (all visualizations with page numbers) +- List of Tables (all data tables with page numbers) + +--- + +### Executive Summary (2-3 pages) + +**Purpose:** Provide a standalone summary that allows busy executives to understand key findings without reading the full report. + +**Required Sections:** + +#### Market Snapshot Box +Key metrics displayed prominently: +- Current market size with year +- Projected market size with year +- CAGR (compound annual growth rate) +- Largest segment and market share +- Fastest growing region and growth rate +- Key adoption/penetration metrics + +#### Investment Thesis / Why This Matters +3-5 bullet points explaining: +- Why this market is attractive +- Key factors driving opportunity +- Timing considerations +- Risk-adjusted assessment + +#### Key Findings Summary +Organized by theme: +- Market Dynamics (2-3 points) +- Competitive Landscape (2-3 points) +- Growth Drivers (2-3 points) +- Risk Factors (2-3 points) + +#### Strategic Recommendations +Top 5 actionable recommendations, each with: +- Clear action statement +- Expected outcome +- Priority level (immediate, near-term, medium-term) + +**Visual Requirements:** +- 1-2 visuals maximum +- Executive summary infographic strongly recommended +- Key metrics visualization + +**Writing Guidelines:** +- Write this section LAST after completing all analysis +- Every statement should be supported by analysis in the main report +- Use specific numbers, not vague qualifiers +- Lead with most important findings +- Keep paragraphs short (2-4 sentences) + +--- + +## Core Analysis Chapters + +### Chapter 1: Market Overview & Definition (4-5 pages) + +**Purpose:** Establish clear boundaries and context for the analysis. + +#### Section 1.1: Market Definition + +**Content Requirements:** +- Precise definition of the market being analyzed +- Products/services included in scope +- Products/services explicitly excluded +- Industry classification codes (NAICS, SIC, GICS if applicable) +- Relationship to adjacent markets + +**Writing Approach:** +- Begin with a clear, one-paragraph definition +- Use a callout box to highlight the formal definition +- Explain the rationale for scope decisions +- Address common misconceptions about market boundaries + +#### Section 1.2: Scope and Boundaries + +**Cover:** +- Geographic scope (global, regional, specific countries) +- Product/service scope with specific categories +- Time horizon (historical period + forecast period) +- Customer segments included + +#### Section 1.3: Industry Ecosystem + +**Content Requirements:** +- Value chain from inputs to end users +- Key stakeholders at each stage +- Relationships and dependencies between stakeholders +- Information flows +- Money flows +- Power dynamics + +**Required Visual:** Industry ecosystem/value chain diagram + +**Writing Approach:** +- Start with overview of the ecosystem +- Describe each stakeholder category in detail +- Explain how value is created and captured +- Identify where power concentrates in the value chain + +#### Section 1.4: Market Structure + +**Content Requirements:** +- Market concentration analysis (HHI, CR4, CR8) +- Industry lifecycle stage assessment +- Market fragmentation analysis +- Vertical integration analysis + +#### Section 1.5: Historical Context + +**Content Requirements:** +- When the market emerged +- Key milestones in market development +- Major disruptions and shifts +- Evolution of competitive dynamics +- How customer needs have changed + +**Required Visuals (2 total):** +1. Industry ecosystem diagram +2. Market structure or industry lifecycle diagram + +--- + +### Chapter 2: Market Size & Growth Analysis (6-8 pages) + +**Purpose:** Provide comprehensive quantitative analysis of market opportunity. + +#### Section 2.1: Total Addressable Market (TAM) + +**Content Requirements:** +- Current market size with source and methodology +- Historical market size (5-10 years back) +- Projected market size (5-10 years forward) +- Year-over-year growth rates +- CAGR (historical and projected) + +**Data Table Required:** +Year-by-year market projections table showing: +- Year +- Market size (USD) +- YoY growth rate +- Cumulative CAGR + +**Writing Approach:** +- State the bottom line first (total opportunity) +- Provide historical context +- Explain projection methodology +- State key assumptions +- Cite multiple sources where possible + +#### Section 2.2: Serviceable Addressable Market (SAM) + +**Content Requirements:** +- Definition of SAM for this market +- SAM calculation methodology +- Segment breakdown within SAM +- Growth rates by segment + +**Data Table Required:** +Segment analysis table showing: +- Segment name +- 2024 value +- 2034 value +- CAGR +- Market share + +#### Section 2.3: Serviceable Obtainable Market (SOM) + +**Content Requirements:** +- Realistic market share scenarios +- Conservative estimate with assumptions +- Base case estimate with assumptions +- Optimistic estimate with assumptions +- Factors affecting market share capture + +**Required Visual:** TAM/SAM/SOM concentric circles diagram + +#### Section 2.4: Regional Market Analysis + +**Content Requirements:** +- Market size by region +- Growth rates by region +- Regional market share +- Regional drivers and differences +- Detailed analysis of top 3-4 regions + +**Required Visual:** Regional breakdown chart (pie or treemap) + +**Regions to cover:** +- North America (with US/Canada breakdown if relevant) +- Europe (with key country breakdown) +- Asia-Pacific (with China, Japan, India focus) +- Latin America +- Middle East & Africa + +#### Section 2.5: Segment Analysis + +**Content Requirements:** +- Definition of market segments +- Size of each segment +- Growth rate of each segment +- Key drivers for each segment +- Competitive dynamics by segment + +**Required Visual:** Segment growth comparison chart + +**Required Visuals (4 total):** +1. Market growth trajectory chart +2. TAM/SAM/SOM diagram +3. Regional breakdown chart +4. Segment growth comparison chart + +--- + +### Chapter 3: Industry Drivers & Trends (5-6 pages) + +**Purpose:** Identify and analyze factors driving market growth and evolution. + +#### Section 3.1: Primary Growth Drivers + +**Content Requirements:** +- Identification of 5-10 key growth drivers +- Quantified impact assessment for each +- Timeline for impact +- Evidence and data supporting each driver + +**For each driver, include:** +- Clear description +- Mechanism of impact on market +- Quantified impact estimate +- Timeline (immediate, 1-3 years, 3-5 years) +- Supporting data/evidence + +**Required Visual:** Driver impact matrix (probability vs. impact) + +#### Section 3.2: PESTLE Analysis + +Comprehensive analysis of external factors: + +**Political:** +- Government policies affecting the market +- Political stability in key markets +- Trade policies and tariffs +- Government support programs + +**Economic:** +- Economic growth trends +- Interest rate environment +- Inflation impacts +- Currency effects +- Consumer spending trends + +**Social:** +- Demographic trends +- Cultural shifts +- Consumer behavior changes +- Workforce trends +- Health and wellness trends + +**Technological:** +- Enabling technologies +- Digital transformation +- Automation trends +- Technology adoption curves + +**Legal:** +- Regulatory requirements +- Compliance costs +- Intellectual property considerations +- Employment regulations + +**Environmental:** +- Sustainability requirements +- Environmental regulations +- Climate impacts +- Resource availability + +**Required Visual:** PESTLE analysis diagram + +#### Section 3.3: Emerging Trends + +**Content Requirements:** +- Identification of 5-8 emerging trends +- Timeline for each trend +- Expected impact on market +- Companies/regions leading each trend + +**Required Visual:** Trends timeline or radar chart + +#### Section 3.4: Growth Inhibitors + +**Content Requirements:** +- Factors slowing market growth +- Barriers to adoption +- Resource constraints +- Competitive pressures +- Regulatory hurdles + +**Required Visuals (3 total):** +1. Driver impact matrix +2. PESTLE analysis diagram +3. Trends timeline + +--- + +### Chapter 4: Competitive Landscape (6-8 pages) + +**Purpose:** Provide comprehensive analysis of competitive dynamics. + +#### Section 4.1: Market Structure Analysis + +**Content Requirements:** +- Number of competitors +- Market concentration (HHI index) +- CR4 and CR8 ratios +- Market fragmentation assessment +- Competitive intensity rating + +#### Section 4.2: Porter's Five Forces Analysis + +**For each force, provide:** +- Rating: High / Medium / Low +- Key factors driving the rating +- Supporting evidence +- Strategic implications + +**Forces:** +1. Threat of New Entrants +2. Bargaining Power of Suppliers +3. Bargaining Power of Buyers +4. Threat of Substitutes +5. Competitive Rivalry + +**Required Visual:** Porter's Five Forces diagram + +**Writing Approach:** +- Rate each force clearly +- Provide 3-5 supporting factors per force +- Include data where available +- Discuss strategic implications + +#### Section 4.3: Market Share Analysis + +**Content Requirements:** +- Top 10 companies by market share +- Market share trends (3-5 year view) +- Share gains/losses by company +- Regional market share variations + +**Required Visual:** Market share pie chart or bar chart + +**Data Table Required:** +Top 10 companies showing: +- Rank +- Company name +- Revenue/market size +- Market share % +- YoY growth/trend + +#### Section 4.4: Competitive Positioning + +**Content Requirements:** +- Key dimensions of competition +- Positioning of major players +- Competitive advantages by company +- Strategic moves and announcements + +**Required Visual:** Competitive positioning matrix (2x2) + +**Common positioning dimensions:** +- Market focus (niche vs. broad) +- Solution approach (product vs. platform) +- Price positioning (premium vs. value) +- Geographic focus (regional vs. global) +- Customer focus (enterprise vs. SMB) + +#### Section 4.5: Strategic Groups + +**Content Requirements:** +- Identification of strategic groups +- Companies in each group +- Mobility barriers between groups +- Competitive dynamics within groups + +**Required Visual:** Strategic group map + +#### Section 4.6: Competitive Dynamics + +**Content Requirements:** +- Recent M&A activity +- Partnership announcements +- Product launches +- Pricing trends +- Geographic expansion + +#### Section 4.7: Barriers to Entry + +**Content Requirements:** +- Capital requirements +- Regulatory barriers +- Technology barriers +- Brand and reputation +- Distribution access +- Economies of scale +- Switching costs + +**Required Visuals (4 total):** +1. Porter's Five Forces diagram +2. Market share chart +3. Competitive positioning matrix +4. Strategic group map + +--- + +### Chapter 5: Customer Analysis & Segmentation (4-5 pages) + +**Purpose:** Understand customer needs, behaviors, and segment attractiveness. + +#### Section 5.1: Customer Segmentation + +**Content Requirements:** +- Definition of customer segments +- Segment sizes and market share +- Segment characteristics +- Segment growth rates + +**Required Visual:** Customer segmentation breakdown + +**Common segmentation approaches:** +- By company size (Enterprise, Mid-market, SMB, Consumer) +- By industry vertical +- By geography +- By buying behavior +- By needs/use cases + +#### Section 5.2: Segment Attractiveness Analysis + +**Content Requirements:** +- Attractiveness criteria +- Segment scoring/ranking +- Investment implications +- Prioritization recommendations + +**Required Visual:** Segment attractiveness matrix + +**Attractiveness factors:** +- Segment size +- Growth rate +- Profitability +- Competitive intensity +- Accessibility +- Strategic fit + +#### Section 5.3: Customer Needs Analysis + +**For each segment, identify:** +- Functional needs (what the product must do) +- Emotional needs (how it makes them feel) +- Social needs (how it affects their relationships) +- Key pain points +- Unmet needs + +#### Section 5.4: Buying Behavior + +**Content Requirements:** +- Purchase triggers +- Decision-making process +- Key decision makers and influencers +- Evaluation criteria +- Purchase channels +- Buying cycle length +- Price sensitivity + +#### Section 5.5: Customer Journey + +**Required Visual:** Customer journey map + +**Journey stages to cover:** +1. Awareness +2. Consideration +3. Decision +4. Implementation/Onboarding +5. Usage +6. Advocacy/Renewal + +**Required Visuals (3 total):** +1. Customer segmentation breakdown +2. Segment attractiveness matrix +3. Customer journey map + +--- + +### Chapter 6: Technology & Innovation Landscape (4-5 pages) + +**Purpose:** Analyze technology trends and innovation dynamics. + +#### Section 6.1: Current Technology Stack + +**Content Requirements:** +- Core technologies in use +- Infrastructure requirements +- Integration landscape +- Technology maturity levels + +#### Section 6.2: Technology Roadmap + +**Content Requirements:** +- Near-term evolution (1-2 years) +- Medium-term evolution (3-5 years) +- Long-term evolution (5-10 years) +- Key milestones and inflection points + +**Required Visual:** Technology roadmap diagram + +#### Section 6.3: Emerging Technologies + +**For each emerging technology, cover:** +- Technology description +- Current maturity level (TRL or similar) +- Expected timeline to mainstream +- Potential impact on market +- Leading companies/regions + +**Common emerging technologies to assess:** +- Artificial intelligence/ML +- Cloud computing +- IoT/Connected devices +- Blockchain +- Automation/Robotics +- Domain-specific technologies + +#### Section 6.4: Innovation Trends + +**Content Requirements:** +- R&D investment levels in industry +- Patent filing trends +- Startup activity and funding +- Corporate innovation initiatives +- University/research partnerships + +**Required Visual:** Innovation/adoption curve or hype cycle + +#### Section 6.5: Technology Adoption Barriers + +**Content Requirements:** +- Technical complexity +- Integration challenges +- Cost barriers +- Skills gaps +- Security/privacy concerns +- Change management challenges + +**Required Visuals (2 total):** +1. Technology roadmap diagram +2. Innovation/adoption curve + +--- + +### Chapter 7: Regulatory & Policy Environment (3-4 pages) + +**Purpose:** Analyze regulatory framework and policy impacts. + +#### Section 7.1: Current Regulatory Framework + +**Content Requirements:** +- Key regulations affecting the market +- Regulatory bodies and their roles +- Compliance requirements +- Enforcement mechanisms +- Penalties for non-compliance + +#### Section 7.2: Regulatory Timeline + +**Required Visual:** Regulatory timeline + +**Content Requirements:** +- Historical regulatory milestones +- Recent regulatory changes +- Upcoming regulations +- Expected future developments + +#### Section 7.3: Regulatory Impact Analysis + +**Content Requirements:** +- Compliance costs +- Market access implications +- Competitive implications +- Product/service requirements +- Operating restrictions + +#### Section 7.4: Policy Trends + +**Content Requirements:** +- Government priorities +- Funding initiatives +- Trade policies +- Environmental policies +- Industry-specific policies + +#### Section 7.5: Regional Regulatory Differences + +**Content Requirements:** +- Comparison of regulations by region +- Harmonization efforts +- Key differences to navigate +- Best practices for compliance + +**Required Visuals (1 total):** +1. Regulatory timeline + +--- + +### Chapter 8: Risk Analysis (3-4 pages) + +**Purpose:** Identify, assess, and propose mitigations for key risks. + +#### Section 8.1: Risk Overview + +**Content Requirements:** +- Risk categories covered +- Risk assessment methodology +- Overall risk profile assessment + +#### Section 8.2: Risk Assessment + +**Required Visual:** Risk heatmap (probability vs. impact) + +**Risk categories to cover:** +- Market risks +- Competitive risks +- Regulatory risks +- Technology risks +- Operational risks +- Financial risks +- Reputational risks + +**For each risk, include:** +- Risk description +- Probability rating (Low/Medium/High) +- Impact rating (Low/Medium/High) +- Overall risk rating +- Contributing factors +- Early warning indicators + +**Data Table Required:** +Risk register showing: +- Risk name +- Category +- Probability +- Impact +- Overall rating +- Owner + +#### Section 8.3: Detailed Risk Analysis + +Provide detailed analysis of top 5-10 risks, including: +- Full description of the risk +- Scenarios that could trigger it +- Potential consequences +- Affected stakeholders +- Timeline considerations + +#### Section 8.4: Risk Mitigation Strategies + +**Required Visual:** Risk mitigation matrix + +**For each major risk, provide:** +- Prevention strategies +- Detection mechanisms +- Response plans +- Recovery approaches +- Contingency plans + +**Required Visuals (2 total):** +1. Risk heatmap +2. Risk mitigation matrix + +--- + +## Strategic Recommendations Chapters + +### Chapter 9: Strategic Opportunities & Recommendations (4-5 pages) + +**Purpose:** Synthesize analysis into actionable strategic guidance. + +#### Section 9.1: Opportunity Analysis + +**Required Visual:** Opportunity matrix (attractiveness vs. ability to win) + +**Content Requirements:** +- Identification of 5-8 strategic opportunities +- Sizing of each opportunity +- Attractiveness assessment +- Ability to win assessment +- Prioritization + +#### Section 9.2: Detailed Opportunity Analysis + +For each top opportunity, provide: +- Description and scope +- Market size potential +- Growth trajectory +- Key success factors +- Required capabilities +- Investment requirements +- Expected returns +- Timeline to value + +#### Section 9.3: Strategic Options Analysis + +**Content Requirements:** +- Build (organic development) options +- Buy (M&A) options +- Partner (strategic alliances) options +- Decision framework for each opportunity + +#### Section 9.4: Prioritized Recommendations + +**Required Visual:** Recommendation priority matrix (impact vs. effort) + +**Structure recommendations in tiers:** + +**Tier 1: Immediate Priority** +- Actions to take in next 0-6 months +- Quick wins with high impact +- Foundation-setting activities + +**Tier 2: Near-Term (6-12 months)** +- Build on Tier 1 actions +- Larger investments +- Capability development + +**Tier 3: Medium-Term (1-2 years)** +- Strategic initiatives +- Major investments +- Transformational changes + +**For each recommendation:** +- Clear action statement +- Rationale (why this matters) +- Expected outcome +- Investment required +- Timeline +- Success metrics +- Dependencies + +#### Section 9.5: Success Factors + +**Content Requirements:** +- Critical success factors for implementation +- Organizational capabilities required +- Resource requirements +- External dependencies +- Timing considerations + +**Required Visuals (3 total):** +1. Opportunity matrix +2. Strategic options framework +3. Recommendation priority matrix + +--- + +### Chapter 10: Implementation Roadmap (3-4 pages) + +**Purpose:** Provide actionable implementation guidance. + +#### Section 10.1: Implementation Overview + +**Content Requirements:** +- Phased approach description +- Overall timeline +- Key dependencies +- Critical path items + +#### Section 10.2: Phased Implementation Plan + +**Required Visual:** Implementation timeline/Gantt chart + +**For each phase:** +- Phase name and duration +- Objectives +- Key activities +- Deliverables +- Resources required +- Dependencies +- Success criteria + +**Typical phases:** +- Phase 1: Foundation (months 1-6) +- Phase 2: Build (months 4-12) +- Phase 3: Scale (months 10-18) +- Phase 4: Optimize (months 16-24) + +#### Section 10.3: Key Milestones + +**Required Visual:** Milestone tracker + +**Data Table Required:** +Milestone table showing: +- Milestone name +- Target date +- Owner +- Success criteria +- Dependencies + +#### Section 10.4: Resource Requirements + +**Content Requirements:** +- Team structure and roles +- Budget allocation by phase +- Technology requirements +- External support needs +- Training requirements + +#### Section 10.5: Governance Structure + +**Content Requirements:** +- Decision-making authority +- Reporting structure +- Review cadence +- Escalation paths +- Change management process + +**Required Visuals (2 total):** +1. Implementation timeline/Gantt +2. Milestone tracker + +--- + +### Chapter 11: Investment Thesis & Financial Projections (3-4 pages) + +**Purpose:** Provide financial framework for decision-making. + +#### Section 11.1: Investment Summary + +**Content Requirements:** +- Summary of investment opportunity +- Key value drivers +- Expected returns +- Investment timeline +- Risk-adjusted assessment + +#### Section 11.2: Financial Projections + +**Required Visual:** Financial projections chart + +**Data Table Required:** +5-year projections showing: +- Revenue +- Growth rate +- Gross margin +- EBITDA +- EBITDA margin +- Key operating metrics + +#### Section 11.3: Scenario Analysis + +**Required Visual:** Scenario comparison chart + +**Three scenarios:** +- Conservative: Lower growth, higher costs +- Base Case: Expected performance +- Optimistic: Favorable conditions + +**For each scenario:** +- Key assumptions +- Revenue projections +- Profitability projections +- Investment requirements +- Return metrics + +#### Section 11.4: Key Assumptions + +**Document all assumptions:** +- Market growth assumptions +- Market share assumptions +- Pricing assumptions +- Cost assumptions +- Timing assumptions +- Competitive assumptions + +#### Section 11.5: Sensitivity Analysis + +**Content Requirements:** +- Key variables affecting returns +- Sensitivity to market growth +- Sensitivity to pricing +- Sensitivity to timing +- Break-even analysis + +#### Section 11.6: Return Expectations + +**Content Requirements:** +- ROI projections +- Payback period +- IRR estimates +- NPV analysis +- Multiple analysis (if applicable) + +**Required Visuals (2 total):** +1. Financial projections chart +2. Scenario comparison chart + +--- + +## Back Matter + +### Appendix A: Methodology & Data Sources + +**Content Requirements:** +- Research methodology description +- Primary research methods +- Secondary research sources +- Data collection timeframe +- Analytical frameworks used +- Limitations and assumptions + +### Appendix B: Detailed Market Data + +**Content Requirements:** +- Comprehensive data tables +- Year-by-year market data +- Regional breakdowns +- Segment details +- Historical data series + +### Appendix C: Company Profiles + +**For each major company:** +- Company overview +- Headquarters and key locations +- Revenue and employee count +- Market position +- Key products/services +- Recent developments +- Strategic focus + +### References/Bibliography + +**All sources cited:** +- Market research reports +- Industry publications +- Government data +- Company reports +- Academic sources +- News articles + +--- + +## Quality Checklist + +Before finalizing, verify: + +- [ ] All required sections are complete +- [ ] All data points have sources +- [ ] All 25-30 visuals are included +- [ ] Executive summary captures key findings +- [ ] Recommendations are actionable +- [ ] Financial projections are internally consistent +- [ ] No placeholder content remains +- [ ] Page count exceeds 50 pages +- [ ] Table of contents is accurate +- [ ] All cross-references work +- [ ] Bibliography is complete diff --git a/skills/market-research-reports/references/visual_generation_guide.md b/skills/market-research-reports/references/visual_generation_guide.md new file mode 100755 index 0000000..2897f90 --- /dev/null +++ b/skills/market-research-reports/references/visual_generation_guide.md @@ -0,0 +1,1077 @@ +# Visual Generation Guide for Market Research Reports + +Complete prompts and guidance for generating visualizations in market research reports. + +--- + +## Overview + +Market research reports should start with **5-6 essential visuals** to establish the analytical framework. Additional visuals can be generated as needed when writing specific sections. This guide provides ready-to-use prompts for the `scientific-schematics` and `generate-image` skills. + +### Core Visuals (Generate First - Priority 1-6) + +Start every market report by generating these 5-6 core visuals: + +1. **Market Growth Trajectory Chart** - Shows market size trends +2. **TAM/SAM/SOM Diagram** - Market opportunity breakdown +3. **Porter's Five Forces** - Competitive dynamics framework +4. **Competitive Positioning Matrix** - Strategic positioning +5. **Risk Heatmap** - Risk assessment visualization +6. **Executive Summary Infographic** (optional) - Report overview + +### Extended Visuals (Generate as Needed - Priority 7+) + +Additional visuals can be generated during writing when specific sections require visual support: +- Regional breakdown charts +- Segment analysis +- Customer journey maps +- Technology roadmaps +- Regulatory timelines +- Financial projections +- Implementation timelines + +### Tool Selection + +| Visual Type | Tool | Rationale | +|-------------|------|-----------| +| Charts (bar, line, pie) | scientific-schematics | Precise data representation | +| Diagrams (flow, structure) | scientific-schematics | Clear technical layouts | +| Matrices (2x2, positioning) | scientific-schematics | Strategic frameworks | +| Timelines | scientific-schematics | Sequential information | +| Infographics | generate-image | Creative visual synthesis | +| Conceptual illustrations | generate-image | Abstract concepts | + +--- + +## Visual Naming Convention + +### Core Visuals (Generate First) +``` +figures/ +├── 01_market_growth_trajectory.png # PRIORITY 1 +├── 02_tam_sam_som.png # PRIORITY 2 +├── 03_porters_five_forces.png # PRIORITY 3 +├── 04_competitive_positioning.png # PRIORITY 4 +├── 05_risk_heatmap.png # PRIORITY 5 +└── 06_exec_summary_infographic.png # PRIORITY 6 (optional) +``` + +### Extended Visuals (Generate as Needed) +``` +figures/ +├── 07_industry_ecosystem.png +├── 08_regional_breakdown.png +├── 09_segment_growth.png +├── 10_driver_impact_matrix.png +├── 11_pestle_analysis.png +├── 12_trends_timeline.png +├── 13_market_share.png +├── 14_strategic_groups.png +├── 15_customer_segments.png +├── 16_segment_attractiveness.png +├── 17_customer_journey.png +├── 18_technology_roadmap.png +├── 19_innovation_curve.png +├── 20_regulatory_timeline.png +├── 21_risk_mitigation.png +├── 22_opportunity_matrix.png +├── 23_recommendation_priority.png +├── 24_implementation_timeline.png +├── 25_milestone_tracker.png +├── 26_financial_projections.png +└── 27_scenario_analysis.png +``` + +--- + +## CORE VISUALS (Priority 1-6) - Generate These First + +### Priority 1: Market Growth Trajectory Chart + +**Tool:** scientific-schematics + +**Purpose:** Foundation visual showing historical and projected market size + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Bar chart market growth 2020 to 2034. Historical bars 2020-2024 in dark blue, projected bars 2025-2034 in light blue. Y-axis billions USD, X-axis years. CAGR annotation. Data labels on each bar. Vertical dashed line between 2024 and 2025. Title: Market Growth Trajectory. Professional white background" \ + -o figures/01_market_growth_trajectory.png --doc-type report +``` + +--- + +### Priority 2: TAM/SAM/SOM Diagram + +**Tool:** scientific-schematics + +**Purpose:** Market opportunity sizing visualization + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "TAM SAM SOM concentric circles. Outer circle TAM Total Addressable Market. Middle circle SAM Serviceable Addressable Market. Inner circle SOM Serviceable Obtainable Market. Each labeled with acronym, full name, placeholder for dollar value. Arrows pointing to each with descriptions. Blue gradient darkest outer to lightest inner. White background professional appearance" \ + -o figures/02_tam_sam_som.png --doc-type report +``` + +--- + +### Priority 3: Porter's Five Forces Diagram + +**Tool:** scientific-schematics + +**Purpose:** Competitive dynamics framework + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Porter's Five Forces diagram. Center box Competitive Rivalry with rating. Four surrounding boxes with arrows to center: Top Threat of New Entrants, Left Bargaining Power Suppliers, Right Bargaining Power Buyers, Bottom Threat of Substitutes. Color code HIGH red, MEDIUM yellow, LOW green. Include 2-3 key factors per box. Professional appearance" \ + -o figures/03_porters_five_forces.png --doc-type report +``` + +--- + +### Priority 4: Competitive Positioning Matrix + +**Tool:** scientific-schematics + +**Purpose:** Strategic positioning of key market players + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "2x2 competitive positioning matrix. X-axis Market Focus Niche to Broad. Y-axis Solution Approach Product to Platform. Quadrants: Upper-right Platform Leaders, Upper-left Niche Platforms, Lower-right Product Leaders, Lower-left Specialists. Plot 8-10 company circles with names. Circle size = market share. Legend for sizes. Professional appearance" \ + -o figures/04_competitive_positioning.png --doc-type report +``` + +--- + +### Priority 5: Risk Heatmap + +**Tool:** scientific-schematics + +**Purpose:** Visual risk assessment matrix + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Risk heatmap matrix. X-axis Impact Low Medium High Critical. Y-axis Probability Unlikely Possible Likely Very Likely. Cell colors: Green low risk, Yellow medium, Orange high, Red critical. Plot 10-12 numbered risks R1 R2 etc as labeled points. Legend with risk names. Professional clear" \ + -o figures/05_risk_heatmap.png --doc-type report +``` + +--- + +### Priority 6: Executive Summary Infographic (Optional) + +**Tool:** generate-image + +**Purpose:** High-level visual synthesis for cover or executive summary + +**Command:** +```bash +python skills/generate-image/scripts/generate_image.py \ + "Executive summary infographic for market research, one page layout, central large metric showing market size, four quadrants showing growth rate key players top segments regional leaders, modern flat design, professional blue and green color scheme, clean white background, corporate business aesthetic" \ + --output figures/06_exec_summary_infographic.png +``` + +--- + +## EXTENDED VISUALS - Generate During Writing as Needed + +The following visuals can be generated when writing specific chapters that require them. + +--- + +## Front Matter Visuals + +### Extended: Cover Image / Hero Visual + +**Tool:** generate-image + +**Prompt:** +``` +Professional executive summary infographic for [MARKET NAME] market research report. +Modern data visualization style showing key metrics: market size, growth rate, key players. +Blue and green color scheme matching corporate design. +Clean minimalist design with icons. +High resolution, publication quality. +No text overlays, image only. +``` + +**Command:** +```bash +python skills/generate-image/scripts/generate_image.py \ + "Professional executive summary infographic for [MARKET] market research report, modern data visualization style, key metrics display, blue and green corporate color scheme, clean minimalist design with icons, high resolution publication quality" \ + --output figures/01_cover_image.png +``` + +### 2. Executive Summary Infographic + +**Tool:** generate-image + +**Prompt:** +``` +One-page executive summary infographic showing: +- Large central metric: $XX billion market size +- Four quadrants with: Growth Rate, Key Players, Top Segments, Regional Leaders +- Modern flat design with data visualization elements +- Professional blue (#003366) and green (#008060) color scheme +- Clean white background +- Business/corporate aesthetic +``` + +**Command:** +```bash +python skills/generate-image/scripts/generate_image.py \ + "Executive summary infographic for market research, one page layout, central large metric showing market size, four quadrants showing growth rate key players top segments regional leaders, modern flat design, professional blue and green color scheme, clean white background, corporate business aesthetic" \ + --output figures/02_exec_summary_infographic.png +``` + +--- + +## Chapter 1: Market Overview Visuals + +### 3. Industry Ecosystem Diagram + +**Tool:** scientific-schematics + +**Prompt:** +``` +Industry ecosystem value chain diagram showing horizontal flow from left to right: +[Suppliers/Inputs] → [Manufacturers/Processors] → [Distributors/Channels] → [End Users/Customers] + +At each stage, show 3-4 example player types in smaller boxes below. +Use arrows to show product/service flow (solid) and money flow (dashed). +Include regulatory bodies as oversight layer above the chain. +Professional blue color scheme. +Clean white background. +All text clearly readable. +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Industry ecosystem value chain diagram. Horizontal flow left to right: Suppliers box → Manufacturers box → Distributors box → End Users box. Below each main box show 3-4 smaller boxes with example player types. Solid arrows for product flow, dashed arrows for money flow. Regulatory oversight layer above. Professional blue color scheme, white background, clear labels" \ + -o figures/03_industry_ecosystem.png --doc-type report +``` + +### 4. Market Structure Diagram + +**Tool:** scientific-schematics + +**Prompt:** +``` +Market structure diagram showing concentric rectangles: +- Center: Core Market (labeled with market name) +- Second layer: Adjacent Markets (labeled with 4-5 adjacent market names) +- Third layer: Enabling Technologies (labeled with key technologies) +- Outer layer: Regulatory Framework + +Use different shades of blue for each layer. +Include small icons or labels for key elements. +Professional appearance. +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Market structure diagram with concentric rectangles. Center: Core Market [MARKET NAME]. Second layer: Adjacent Markets with 4-5 labels. Third layer: Enabling Technologies with key tech labels. Outer layer: Regulatory Framework. Different blue shades for each layer, professional appearance, clear labels" \ + -o figures/03b_market_structure.png --doc-type report +``` + +--- + +## Chapter 2: Market Size & Growth Visuals + +### 5. Market Growth Trajectory Chart + +**Tool:** scientific-schematics + +**Prompt:** +``` +Bar chart showing market growth from 2020 to 2034. +Historical years (2020-2024): Dark blue bars +Projected years (2025-2034): Light blue bars +Y-axis: Market size in billions USD (0 to $XXX) +X-axis: Years +Include CAGR annotation showing "XX.X% CAGR (2024-2034)" +Data labels on top of each bar +Vertical dashed line separating historical from projected +Title: "[MARKET NAME] Market Growth Trajectory" +Professional appearance, white background +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Bar chart market growth 2020 to 2034. Historical bars 2020-2024 in dark blue, projected bars 2025-2034 in light blue. Y-axis billions USD, X-axis years. CAGR annotation XX.X% (2024-2034). Data labels on each bar. Vertical dashed line between 2024 and 2025. Title: Market Growth Trajectory. Professional white background" \ + -o figures/04_market_growth_trajectory.png --doc-type report +``` + +### 6. TAM/SAM/SOM Diagram + +**Tool:** scientific-schematics + +**Prompt:** +``` +TAM SAM SOM concentric circles diagram: +- Outer circle: TAM (Total Addressable Market) - $XXX billion +- Middle circle: SAM (Serviceable Addressable Market) - $XX billion +- Inner circle: SOM (Serviceable Obtainable Market) - $X billion + +Each circle labeled with: +- Acronym in bold +- Full name +- Dollar value + +Arrows pointing to each circle with descriptions +Use blue color gradient (darkest for TAM, lightest for SOM) +Professional appearance +White background +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "TAM SAM SOM concentric circles. Outer circle TAM Total Addressable Market [VALUE]B. Middle circle SAM Serviceable Addressable Market [VALUE]B. Inner circle SOM Serviceable Obtainable Market [VALUE]B. Each labeled with acronym, full name, dollar value. Arrows pointing to each with descriptions. Blue gradient darkest outer to lightest inner. White background professional" \ + -o figures/05_tam_sam_som.png --doc-type report +``` + +### 7. Regional Market Breakdown + +**Tool:** scientific-schematics + +**Prompt:** +``` +Pie chart OR treemap showing regional market breakdown: +- North America: XX% ($X.XB) - Dark blue +- Europe: XX% ($X.XB) - Medium blue +- Asia-Pacific: XX% ($X.XB) - Teal +- Latin America: X% ($X.XB) - Light blue +- Middle East & Africa: X% ($X.XB) - Gray blue + +Include both percentage and dollar value for each region +Legend on right side +Title: "Market Size by Region (2024)" +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Pie chart regional market breakdown. North America XX% dark blue, Europe XX% medium blue, Asia-Pacific XX% teal, Latin America XX% light blue, Middle East Africa XX% gray blue. Show percentage and dollar value for each slice. Legend on right. Title: Market Size by Region 2024. Professional appearance" \ + -o figures/06_regional_breakdown.png --doc-type report +``` + +### 8. Segment Growth Comparison + +**Tool:** scientific-schematics + +**Prompt:** +``` +Horizontal bar chart comparing segment growth rates: +- Y-axis: Segment names (5-7 segments) +- X-axis: CAGR percentage (0% to 30%) +- Bars colored by growth rate: Green (highest) to blue (lowest) +- Data labels showing exact percentage on each bar +- Sort segments from highest to lowest growth +- Title: "Segment Growth Rate Comparison (CAGR 2024-2034)" +- Include average line or marker +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Horizontal bar chart segment growth comparison. Y-axis 5-7 segment names, X-axis CAGR percentage 0-30%. Bars colored green highest to blue lowest. Data labels with exact percentages. Sorted highest to lowest. Title: Segment Growth Rate Comparison CAGR 2024-2034. Include market average line" \ + -o figures/07_segment_growth.png --doc-type report +``` + +--- + +## Chapter 3: Industry Drivers & Trends Visuals + +### 9. Driver Impact Matrix + +**Tool:** scientific-schematics + +**Prompt:** +``` +2x2 matrix for market driver assessment: +- X-axis: Impact on Market (Low → High) +- Y-axis: Probability of Occurrence (Low → High) +- Upper-right quadrant: "CRITICAL DRIVERS" (red/orange background) +- Upper-left quadrant: "MONITOR" (yellow background) +- Lower-right quadrant: "WATCH CAREFULLY" (yellow background) +- Lower-left quadrant: "LOWER PRIORITY" (green background) + +Plot 8-10 drivers as labeled circles: +- Size of circle represents current market impact +- Position based on ratings + +Include legend for circle sizes +Professional appearance with clear labels +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "2x2 matrix driver impact assessment. X-axis Impact Low to High, Y-axis Probability Low to High. Quadrants: Upper-right CRITICAL DRIVERS red, Upper-left MONITOR yellow, Lower-right WATCH CAREFULLY yellow, Lower-left LOWER PRIORITY green. Plot 8-10 labeled driver circles at appropriate positions. Circle size indicates current impact. Professional clear labels" \ + -o figures/08_driver_impact_matrix.png --doc-type report +``` + +### 10. PESTLE Analysis Diagram + +**Tool:** scientific-schematics + +**Prompt:** +``` +PESTLE analysis hexagonal diagram: +- Center hexagon: "[MARKET NAME]" +- Six surrounding hexagons connected to center: + - Political (red/orange) + - Economic (blue) + - Social (green) + - Technological (orange) + - Legal (purple) + - Environmental (teal) + +Each outer hexagon contains 2-3 key bullet points +Connecting lines between center and outer hexagons +Professional appearance +Clear, readable text in each hexagon +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "PESTLE hexagonal diagram. Center hexagon labeled MARKET. Six surrounding hexagons: Political red, Economic blue, Social green, Technological orange, Legal purple, Environmental teal. Each outer hexagon has 2-3 bullet points of key factors. Lines connecting center to each. Professional appearance clear readable text" \ + -o figures/09_pestle_analysis.png --doc-type report +``` + +### 11. Industry Trends Timeline + +**Tool:** scientific-schematics + +**Prompt:** +``` +Horizontal timeline showing emerging trends from 2024 to 2030: +- Main horizontal axis with year markers +- Plot 6-8 trends at different points on timeline +- Each trend shown with: + - Icon or symbol + - Trend name + - Brief 3-5 word description below + +Color-code by trend category: +- Technology trends: Blue +- Market trends: Green +- Regulatory trends: Orange + +Include "Current" marker at 2024 +Professional appearance with clear labels +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Horizontal timeline 2024 to 2030. Plot 6-8 emerging trends at different years. Each trend with icon, name, brief description. Color code: Technology trends blue, Market trends green, Regulatory trends orange. Current marker at 2024. Professional clear labels" \ + -o figures/10_trends_timeline.png --doc-type report +``` + +--- + +## Chapter 4: Competitive Landscape Visuals + +### 12. Porter's Five Forces Diagram + +**Tool:** scientific-schematics + +**Prompt:** +``` +Porter's Five Forces diagram with center and four surrounding boxes: + +Center box: "Competitive Rivalry" with rating [HIGH/MEDIUM/LOW] + +Surrounding boxes connected by arrows: +- Top: "Threat of New Entrants" [RATING] +- Left: "Bargaining Power of Suppliers" [RATING] +- Right: "Bargaining Power of Buyers" [RATING] +- Bottom: "Threat of Substitutes" [RATING] + +Color-code ratings: +- HIGH: Red/orange background +- MEDIUM: Yellow background +- LOW: Green background + +Arrows pointing toward center +Include key factors as bullet points in each box +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Porter's Five Forces diagram. Center box Competitive Rivalry [RATING]. Four surrounding boxes with arrows to center: Top Threat of New Entrants [RATING], Left Bargaining Power Suppliers [RATING], Right Bargaining Power Buyers [RATING], Bottom Threat of Substitutes [RATING]. Color code HIGH red, MEDIUM yellow, LOW green. Include 2-3 key factors per box. Professional appearance" \ + -o figures/11_porters_five_forces.png --doc-type report +``` + +### 13. Market Share Chart + +**Tool:** scientific-schematics + +**Prompt:** +``` +Pie chart or donut chart showing market share: +- Top 10 companies with distinct colors +- Company A: XX% (largest slice, dark blue) +- Company B: XX% (medium blue) +- [Continue for top 10] +- Others: XX% (gray) + +Include: +- Percentage labels on each slice +- Company names in legend or on slices +- Total market size annotation +- Title: "Market Share by Company (2024)" + +Professional appearance +Colorblind-friendly palette +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Pie chart market share top 10 companies. Company A XX% dark blue, Company B XX% medium blue, [list companies and shares], Others XX% gray. Percentage labels on slices. Legend with company names. Total market size annotation. Title: Market Share by Company 2024. Colorblind-friendly colors professional" \ + -o figures/12_market_share.png --doc-type report +``` + +### 14. Competitive Positioning Matrix + +**Tool:** scientific-schematics + +**Prompt:** +``` +2x2 competitive positioning matrix: +- X-axis: Market Focus (Niche ← → Broad) +- Y-axis: Solution Approach (Product ← → Platform) + +Quadrant labels: +- Upper-right: "Platform Leaders" +- Upper-left: "Niche Platforms" +- Lower-right: "Product Leaders" +- Lower-left: "Specialists" + +Plot 8-10 companies as labeled circles: +- Circle size represents market share +- Position based on strategy + +Include legend for circle sizes +Company name labels +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "2x2 competitive positioning matrix. X-axis Market Focus Niche to Broad. Y-axis Solution Approach Product to Platform. Quadrants: Upper-right Platform Leaders, Upper-left Niche Platforms, Lower-right Product Leaders, Lower-left Specialists. Plot 8-10 company circles with names. Circle size = market share. Legend for sizes. Professional" \ + -o figures/13_competitive_positioning.png --doc-type report +``` + +### 15. Strategic Group Map + +**Tool:** scientific-schematics + +**Prompt:** +``` +Strategic group map showing competitor clusters: +- X-axis: Geographic Scope (Regional ← → Global) +- Y-axis: Product Breadth (Narrow ← → Broad) + +Draw 4-5 oval "bubbles" representing strategic groups: +- Each bubble contains 2-4 company names +- Bubble size represents collective market share of group +- Different colors for each strategic group + +Label each strategic group: +- "Global Generalists" +- "Regional Specialists" +- "Focused Innovators" +- etc. + +Professional appearance +Clear company name labels +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Strategic group map. X-axis Geographic Scope Regional to Global. Y-axis Product Breadth Narrow to Broad. Draw 4-5 oval bubbles for strategic groups. Each bubble contains 2-4 company names. Bubble size = collective market share. Label groups: Global Generalists, Regional Specialists, Focused Innovators etc. Different colors per group. Professional clear labels" \ + -o figures/14_strategic_groups.png --doc-type report +``` + +--- + +## Chapter 5: Customer Analysis Visuals + +### 16. Customer Segmentation Breakdown + +**Tool:** scientific-schematics + +**Prompt:** +``` +Treemap or pie chart showing customer segments: +- Large Enterprise: XX% (dark blue) +- Mid-Market: XX% (medium blue) +- SMB: XX% (light blue) +- Consumer: XX% (teal) + +Size represents market share +Include for each segment: +- Segment name +- Percentage +- Dollar value + +Title: "Customer Segmentation by Market Share" +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Treemap customer segmentation. Large Enterprise XX% dark blue, Mid-Market XX% medium blue, SMB XX% light blue, Consumer XX% teal. Each segment shows name percentage dollar value. Title: Customer Segmentation by Market Share. Professional appearance" \ + -o figures/15_customer_segments.png --doc-type report +``` + +### 17. Segment Attractiveness Matrix + +**Tool:** scientific-schematics + +**Prompt:** +``` +2x2 segment attractiveness matrix: +- X-axis: Segment Size (Small ← → Large) +- Y-axis: Growth Rate (Low ← → High) + +Quadrant labels and actions: +- Upper-right: "PRIORITY - Invest Heavily" +- Upper-left: "INVEST TO GROW" +- Lower-right: "HARVEST" +- Lower-left: "DEPRIORITIZE" + +Plot customer segments as labeled circles +Circle size represents profitability +Different colors for each segment +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "2x2 segment attractiveness matrix. X-axis Segment Size Small to Large. Y-axis Growth Rate Low to High. Quadrants: Upper-right PRIORITY Invest Heavily, Upper-left INVEST TO GROW, Lower-right HARVEST, Lower-left DEPRIORITIZE. Plot customer segments as circles. Circle size = profitability. Different colors. Professional" \ + -o figures/16_segment_attractiveness.png --doc-type report +``` + +### 18. Customer Journey Map + +**Tool:** scientific-schematics + +**Prompt:** +``` +Customer journey horizontal flowchart showing 5-6 stages: +Awareness → Consideration → Decision → Implementation → Usage → Advocacy + +For each stage, show three rows: +1. Key Activities (what customer does) +2. Pain Points (challenges faced) +3. Touchpoints (how they interact) + +Use icons for each stage +Color gradient from light to dark as journey progresses +Professional appearance +Clear labels +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Customer journey horizontal flowchart. 5 stages left to right: Awareness, Consideration, Decision, Implementation, Usage, Advocacy. Each stage shows Key Activities, Pain Points, Touchpoints in rows below. Icons for each stage. Color gradient light to dark. Professional clear labels" \ + -o figures/17_customer_journey.png --doc-type report +``` + +--- + +## Chapter 6: Technology Landscape Visuals + +### 19. Technology Roadmap + +**Tool:** scientific-schematics + +**Prompt:** +``` +Technology roadmap timeline from 2024 to 2030: +Three parallel horizontal tracks: +1. Core Technology (blue) - current foundation +2. Emerging Technology (green) - developing capabilities +3. Enabling Technology (orange) - infrastructure/support + +Each track shows milestones and technology introductions as markers +Vertical lines connect related technologies across tracks +Timeline markers for each year +Technology names labeled at introduction points +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Technology roadmap 2024 to 2030. Three parallel horizontal tracks: Core Technology blue, Emerging Technology green, Enabling Technology orange. Milestones and tech introductions marked on each track. Vertical lines connect related tech. Year markers. Technology names labeled. Professional appearance" \ + -o figures/18_technology_roadmap.png --doc-type report +``` + +### 20. Innovation/Adoption Curve + +**Tool:** scientific-schematics + +**Prompt:** +``` +Gartner Hype Cycle or Technology Adoption Curve: +Five phases from left to right: +1. Innovation Trigger (rising) +2. Peak of Inflated Expectations (peak) +3. Trough of Disillusionment (bottom) +4. Slope of Enlightenment (rising) +5. Plateau of Productivity (stable) + +Plot 6-8 technologies at different positions on the curve +Each technology labeled with name +Color-code by technology category +Professional appearance +Clear axis labels +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Gartner Hype Cycle curve. Five phases: Innovation Trigger rising, Peak of Inflated Expectations at top, Trough of Disillusionment at bottom, Slope of Enlightenment rising, Plateau of Productivity stable. Plot 6-8 technologies on curve with labels. Color by category. Professional clear labels" \ + -o figures/19_innovation_curve.png --doc-type report +``` + +--- + +## Chapter 7: Regulatory Environment Visuals + +### 21. Regulatory Timeline + +**Tool:** scientific-schematics + +**Prompt:** +``` +Regulatory timeline from 2020 to 2028: +Horizontal timeline with year markers +Mark key regulatory events: +- Past regulations (dark blue markers, solid) +- Current regulations (green marker at current year) +- Upcoming regulations (light blue markers, dashed) + +Each marker shows: +- Regulation name +- Effective date +- Brief description (5-7 words) + +Vertical "NOW" line at current year (2024) +Group by region if multiple jurisdictions +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Regulatory timeline 2020 to 2028. Past regulations dark blue solid markers, current green marker, upcoming light blue dashed. Each shows regulation name, date, brief description. Vertical NOW line at 2024. Professional appearance clear labels" \ + -o figures/20_regulatory_timeline.png --doc-type report +``` + +--- + +## Chapter 8: Risk Analysis Visuals + +### 22. Risk Heatmap + +**Tool:** scientific-schematics + +**Prompt:** +``` +Risk assessment heatmap/matrix: +- X-axis: Impact (Low → Medium → High → Critical) +- Y-axis: Probability (Unlikely → Possible → Likely → Very Likely) + +Color gradient for cells: +- Green: Low risk (low probability, low impact) +- Yellow: Medium risk +- Orange: High risk +- Red: Critical risk (high probability, high impact) + +Plot 10-12 risks as labeled points/circles in appropriate cells +Risk labels should be clearly readable +Include risk numbers (R1, R2, etc.) +Legend linking numbers to risk names +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Risk heatmap matrix. X-axis Impact Low Medium High Critical. Y-axis Probability Unlikely Possible Likely Very Likely. Cell colors: Green low risk, Yellow medium, Orange high, Red critical. Plot 10-12 numbered risks R1 R2 etc as labeled points. Legend with risk names. Professional clear" \ + -o figures/21_risk_heatmap.png --doc-type report +``` + +### 23. Risk Mitigation Framework + +**Tool:** scientific-schematics + +**Prompt:** +``` +Risk mitigation diagram showing risks and their mitigations: +Left column: Risks (in red/orange boxes) +Right column: Mitigation Strategies (in green/blue boxes) + +Connect each risk to its mitigation(s) with arrows +Group risks by category (Market, Regulatory, Technology, etc.) +Include both prevention and response strategies + +Risk severity indicated by box color intensity +Professional appearance +Clear labels +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Risk mitigation diagram. Left column risks in orange/red boxes. Right column mitigation strategies in green/blue boxes. Arrows connecting risks to mitigations. Group by category. Risk severity by color intensity. Include prevention and response. Professional clear labels" \ + -o figures/22_risk_mitigation.png --doc-type report +``` + +--- + +## Chapter 9: Strategic Recommendations Visuals + +### 24. Opportunity Matrix + +**Tool:** scientific-schematics + +**Prompt:** +``` +2x2 opportunity assessment matrix: +- X-axis: Market Attractiveness (Low ← → High) +- Y-axis: Ability to Win (Low ← → High) + +Quadrant labels and strategies: +- Upper-right: "PURSUE AGGRESSIVELY" (green) +- Upper-left: "BUILD CAPABILITIES" (yellow) +- Lower-right: "SELECTIVE INVESTMENT" (yellow) +- Lower-left: "AVOID/DIVEST" (red) + +Plot 6-8 opportunities as labeled circles +Circle size represents opportunity size ($) +Include opportunity names +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "2x2 opportunity matrix. X-axis Market Attractiveness Low to High. Y-axis Ability to Win Low to High. Quadrants: Upper-right PURSUE AGGRESSIVELY green, Upper-left BUILD CAPABILITIES yellow, Lower-right SELECTIVE INVESTMENT yellow, Lower-left AVOID red. Plot 6-8 opportunity circles with labels. Size = opportunity value. Professional" \ + -o figures/23_opportunity_matrix.png --doc-type report +``` + +### 25. Recommendation Priority Matrix + +**Tool:** scientific-schematics + +**Prompt:** +``` +2x2 priority matrix for recommendations: +- X-axis: Effort/Investment (Low ← → High) +- Y-axis: Impact/Value (Low ← → High) + +Quadrant labels: +- Upper-left: "QUICK WINS" (green) - Do First +- Upper-right: "MAJOR PROJECTS" (blue) - Plan Carefully +- Lower-left: "FILL-INS" (gray) - Do If Time +- Lower-right: "THANKLESS TASKS" (red) - Avoid + +Plot 6-8 recommendations as labeled points +Number recommendations by priority +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "2x2 priority matrix. X-axis Effort Low to High. Y-axis Impact Low to High. Quadrants: Upper-left QUICK WINS green Do First, Upper-right MAJOR PROJECTS blue Plan Carefully, Lower-left FILL-INS gray Do If Time, Lower-right THANKLESS TASKS red Avoid. Plot 6-8 numbered recommendations. Professional" \ + -o figures/24_recommendation_priority.png --doc-type report +``` + +--- + +## Chapter 10: Implementation Roadmap Visuals + +### 26. Implementation Timeline/Gantt + +**Tool:** scientific-schematics + +**Prompt:** +``` +Gantt chart style implementation timeline over 24 months: +Four phases shown as horizontal bars: +- Phase 1: Foundation (Months 1-6) - Dark blue +- Phase 2: Build (Months 4-12) - Medium blue +- Phase 3: Scale (Months 10-18) - Teal +- Phase 4: Optimize (Months 16-24) - Light blue + +Phases overlap as shown in dates +Key milestones marked as diamonds on timeline +Month markers on X-axis +Phase names on Y-axis +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Gantt chart implementation 24 months. Phase 1 Foundation months 1-6 dark blue. Phase 2 Build months 4-12 medium blue. Phase 3 Scale months 10-18 teal. Phase 4 Optimize months 16-24 light blue. Overlapping bars. Key milestones as diamonds. Month markers X-axis. Professional" \ + -o figures/25_implementation_timeline.png --doc-type report +``` + +### 27. Milestone Tracker + +**Tool:** scientific-schematics + +**Prompt:** +``` +Milestone tracker showing 8-10 key milestones on horizontal timeline: +Each milestone shows: +- Date/Month +- Milestone name +- Status indicator: + - Completed: Green checkmark ✓ + - In Progress: Yellow circle ○ + - Upcoming: Gray circle ○ + +Group milestones by phase +Connect milestones with timeline line +Include phase labels above timeline +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Milestone tracker horizontal timeline 8-10 milestones. Each shows date, name, status: Completed green check, In Progress yellow circle, Upcoming gray circle. Group by phase. Phase labels above. Connected timeline line. Professional" \ + -o figures/26_milestone_tracker.png --doc-type report +``` + +--- + +## Chapter 11: Investment Thesis Visuals + +### 28. Financial Projections Chart + +**Tool:** scientific-schematics + +**Prompt:** +``` +Combined bar and line chart showing 5-year financial projections: +- Bar chart: Revenue by year (primary Y-axis, in $M) +- Line chart: Growth rate overlay (secondary Y-axis, in %) + +Three scenarios shown: +- Conservative: Gray bars +- Base Case: Blue bars +- Optimistic: Green bars + +X-axis: Year 1 through Year 5 +Include data labels on bars +Legend for scenarios and growth line +Title: "Financial Projections (5-Year)" +Professional appearance +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Combined bar and line chart 5-year projections. Bar chart revenue primary Y-axis dollars. Line chart growth rate secondary Y-axis percent. Three scenarios: Conservative gray, Base Case blue, Optimistic green. X-axis Year 1-5. Data labels. Legend. Title Financial Projections 5-Year. Professional" \ + -o figures/27_financial_projections.png --doc-type report +``` + +### 29. Scenario Analysis Comparison + +**Tool:** scientific-schematics + +**Prompt:** +``` +Grouped bar chart comparing three scenarios across key metrics: +X-axis: Metrics (Revenue Y5, EBITDA Y5, Market Share, ROI) +Y-axis: Value (scale appropriate for each metric) + +Three bars per metric: +- Conservative: Gray +- Base Case: Blue +- Optimistic: Green + +Data labels on each bar +Legend for scenarios +Title: "Scenario Analysis Comparison" +Professional appearance +Clear metric labels +``` + +**Command:** +```bash +python skills/scientific-schematics/scripts/generate_schematic.py \ + "Grouped bar chart scenario comparison. X-axis metrics: Revenue Y5, EBITDA Y5, Market Share, ROI. Three bars per metric: Conservative gray, Base Case blue, Optimistic green. Data labels. Legend. Title Scenario Analysis Comparison. Professional clear labels" \ + -o figures/28_scenario_analysis.png --doc-type report +``` + +--- + +## Batch Generation Script + +For convenience, use the `generate_market_visuals.py` script to batch generate visuals: + +```bash +# Generate core 5-6 visuals only (recommended for starting reports) +python skills/market-research-reports/scripts/generate_market_visuals.py \ + --topic "Electric Vehicle Charging Infrastructure" \ + --output-dir figures/ + +# Generate all 27 visuals (core + extended, for comprehensive coverage) +python skills/market-research-reports/scripts/generate_market_visuals.py \ + --topic "Electric Vehicle Charging Infrastructure" \ + --output-dir figures/ \ + --all + +# Skip already generated files +python skills/market-research-reports/scripts/generate_market_visuals.py \ + --topic "Your Market" \ + --output-dir figures/ \ + --skip-existing +``` + +**Default behavior**: Generates only the 5-6 core priority visuals. Use `--all` flag if you need comprehensive visual coverage for all sections. + +--- + +## Quality Checklist + +Before including visuals in the report, verify: + +- [ ] All text is readable at intended size +- [ ] Colors are consistent across all visuals +- [ ] Color scheme is colorblind-friendly +- [ ] Data labels are accurate +- [ ] Legends are clear and complete +- [ ] Titles are descriptive +- [ ] Sources are noted where applicable +- [ ] Resolution is 300 DPI or higher +- [ ] File format is PNG +- [ ] Naming convention is followed diff --git a/skills/market-research-reports/scripts/generate_market_visuals.py b/skills/market-research-reports/scripts/generate_market_visuals.py new file mode 100755 index 0000000..c227894 --- /dev/null +++ b/skills/market-research-reports/scripts/generate_market_visuals.py @@ -0,0 +1,529 @@ +#!/usr/bin/env python3 +""" +Market Research Report Visual Generator + +Batch generates visuals for a market research report using +scientific-schematics and generate-image skills. + +Default behavior: Generate 5-6 core visuals only +Use --all flag to generate all 28 extended visuals + +Usage: + # Generate core 5-6 visuals (recommended for starting a report) + python generate_market_visuals.py --topic "Electric Vehicle Charging" --output-dir figures/ + + # Generate all 28 visuals (for comprehensive coverage) + python generate_market_visuals.py --topic "AI in Healthcare" --output-dir figures/ --all + + # Skip existing files + python generate_market_visuals.py --topic "Topic" --output-dir figures/ --skip-existing +""" + +import argparse +import os +import subprocess +import sys +from pathlib import Path + + +# Visual definitions with prompts +# Each tuple: (filename, tool, prompt_template, is_core) +# is_core=True for the 5-6 essential visuals to generate first + +CORE_VISUALS = [ + # Priority 1: Market Growth Trajectory + ( + "01_market_growth_trajectory.png", + "scientific-schematics", + "Bar chart {topic} market growth 2020 to 2034. Historical bars 2020-2024 in dark blue, " + "projected bars 2025-2034 in light blue. Y-axis billions USD, X-axis years. " + "CAGR annotation. Data labels on each bar. Vertical dashed line " + "between 2024 and 2025. Title: Market Growth Trajectory. Professional white background" + ), + + # Priority 2: TAM/SAM/SOM + ( + "02_tam_sam_som.png", + "scientific-schematics", + "TAM SAM SOM concentric circles for {topic} market. Outer circle TAM Total Addressable " + "Market. Middle circle SAM Serviceable Addressable Market. Inner circle SOM Serviceable " + "Obtainable Market. Each labeled with acronym, full name. " + "Blue gradient darkest outer to lightest inner. White background professional appearance" + ), + + # Priority 3: Porter's Five Forces + ( + "03_porters_five_forces.png", + "scientific-schematics", + "Porter's Five Forces diagram for {topic}. Center box Competitive Rivalry with rating. " + "Four surrounding boxes with arrows to center: Top Threat of New Entrants, " + "Left Bargaining Power Suppliers, Right Bargaining Power Buyers, " + "Bottom Threat of Substitutes. Color code HIGH red, MEDIUM yellow, LOW green. " + "Include 2-3 key factors per box. Professional appearance" + ), + + # Priority 4: Competitive Positioning Matrix + ( + "04_competitive_positioning.png", + "scientific-schematics", + "2x2 competitive positioning matrix {topic}. X-axis Market Focus Niche to Broad. " + "Y-axis Solution Approach Product to Platform. Quadrants: Upper-right Platform Leaders, " + "Upper-left Niche Platforms, Lower-right Product Leaders, Lower-left Specialists. " + "Plot 8-10 company circles with names. Circle size = market share. " + "Legend for sizes. Professional appearance" + ), + + # Priority 5: Risk Heatmap + ( + "05_risk_heatmap.png", + "scientific-schematics", + "Risk heatmap matrix {topic}. X-axis Impact Low Medium High Critical. " + "Y-axis Probability Unlikely Possible Likely Very Likely. " + "Cell colors: Green low risk, Yellow medium, Orange high, Red critical. " + "Plot 10-12 numbered risks R1 R2 etc as labeled points. " + "Legend with risk names. Professional clear" + ), + + # Priority 6: Executive Summary Infographic (Optional) + ( + "06_exec_summary_infographic.png", + "generate-image", + "Executive summary infographic for {topic} market research, one page layout, " + "central large metric showing market size, four quadrants showing growth rate " + "key players top segments regional leaders, modern flat design, professional " + "blue and green color scheme, clean white background, corporate business aesthetic" + ), +] + +EXTENDED_VISUALS = [ + # Industry Ecosystem + ( + "07_industry_ecosystem.png", + "scientific-schematics", + "Industry ecosystem value chain diagram for {topic} market. Horizontal flow left " + "to right: Suppliers box → Manufacturers box → Distributors box → End Users box. " + "Below each main box show 3-4 smaller boxes with example player types. Solid arrows " + "for product flow, dashed arrows for money flow. Regulatory oversight layer above. " + "Professional blue color scheme, white background, clear labels" + ), + + # Regional Breakdown + ( + "08_regional_breakdown.png", + "scientific-schematics", + "scientific-schematics", + "Pie chart regional market breakdown for {topic}. North America 40% dark blue, " + "Europe 28% medium blue, Asia-Pacific 22% teal, Latin America 6% light blue, " + "Middle East Africa 4% gray blue. Show percentage for each slice. Legend on right. " + "Title: Market Size by Region. Professional appearance" + ), + + # Segment Growth + ( + "09_segment_growth.png", + "scientific-schematics", + "Horizontal bar chart {topic} segment growth comparison. Y-axis 5-6 segment names, " + "X-axis CAGR percentage 0-30%. Bars colored green highest to blue lowest. " + "Data labels with percentages. Sorted highest to lowest. " + "Title: Segment Growth Rate Comparison. Include market average line" + ), + + # Driver Impact Matrix + ( + "10_driver_impact_matrix.png", + "scientific-schematics", + "2x2 matrix driver impact assessment for {topic}. X-axis Impact Low to High, " + "Y-axis Probability Low to High. Quadrants: Upper-right CRITICAL DRIVERS red, " + "Upper-left MONITOR yellow, Lower-right WATCH CAREFULLY yellow, " + "Lower-left LOWER PRIORITY green. Plot 8 labeled driver circles at positions. " + "Circle size indicates current impact. Professional clear labels" + ), + + # PESTLE Analysis + ( + "11_pestle_analysis.png", + "scientific-schematics", + "PESTLE hexagonal diagram for {topic} market. Center hexagon labeled Market Analysis. " + "Six surrounding hexagons: Political red, Economic blue, Social green, " + "Technological orange, Legal purple, Environmental teal. Each outer hexagon " + "has 2-3 bullet points of key factors. Lines connecting center to each. " + "Professional appearance clear readable text" + ), + + # Trends Timeline + ( + "12_trends_timeline.png", + "scientific-schematics", + "Horizontal timeline {topic} trends 2024 to 2030. Plot 6-8 emerging trends at " + "different years. Each trend with icon, name, brief description. Color code: " + "Technology trends blue, Market trends green, Regulatory trends orange. " + "Current marker at 2024. Professional clear labels" + ), + + # Market Share Chart + ( + "13_market_share.png", + "scientific-schematics", + "Pie chart market share {topic} top 10 companies. Company A 18% dark blue, " + "Company B 15% medium blue, Company C 12% teal, Company D 10% light blue, " + "5 more companies 5-8% each various blues, Others 15% gray. " + "Percentage labels on slices. Legend with company names. " + "Title: Market Share by Company. Colorblind-friendly colors professional" + ), + + # Strategic Groups Map + ( + "14_strategic_groups.png", + "scientific-schematics", + "Strategic group map {topic}. X-axis Geographic Scope Regional to Global. " + "Y-axis Product Breadth Narrow to Broad. Draw 4-5 oval bubbles for strategic groups. " + "Each bubble contains 2-4 company names. Bubble size = collective market share. " + "Label groups: Global Generalists, Regional Specialists, Focused Innovators. " + "Different colors per group. Professional clear labels" + ), + + # Customer Segments + ( + "15_customer_segments.png", + "scientific-schematics", + "Treemap customer segmentation {topic}. Large Enterprise 45% dark blue, " + "Mid-Market 30% medium blue, SMB 18% light blue, Consumer 7% teal. " + "Each segment shows name and percentage. Title: Customer Segmentation by Market Share. " + "Professional appearance clear labels" + ), + ( + "16_segment_attractiveness.png", + "scientific-schematics", + "2x2 segment attractiveness matrix {topic}. X-axis Segment Size Small to Large. " + "Y-axis Growth Rate Low to High. Quadrants: Upper-right PRIORITY Invest Heavily green, " + "Upper-left INVEST TO GROW yellow, Lower-right HARVEST orange, " + "Lower-left DEPRIORITIZE gray. Plot customer segments as circles. " + "Circle size = profitability. Different colors. Professional" + ), + ( + "17_customer_journey.png", + "scientific-schematics", + "Customer journey horizontal flowchart {topic}. 5 stages left to right: Awareness, " + "Consideration, Decision, Implementation, Advocacy. Each stage shows Key Activities, " + "Pain Points, Touchpoints in rows below. Icons for each stage. " + "Color gradient light to dark. Professional clear labels" + ), + + # Technology Roadmap + ( + "18_technology_roadmap.png", + "scientific-schematics", + "Technology roadmap {topic} 2024 to 2030. Three parallel horizontal tracks: " + "Core Technology blue, Emerging Technology green, Enabling Technology orange. " + "Milestones and tech introductions marked on each track. Vertical lines connect " + "related tech. Year markers. Technology names labeled. Professional appearance" + ), + ( + "19_innovation_curve.png", + "scientific-schematics", + "Gartner Hype Cycle curve for {topic} technologies. Five phases: Innovation Trigger " + "rising, Peak of Inflated Expectations at top, Trough of Disillusionment at bottom, " + "Slope of Enlightenment rising, Plateau of Productivity stable. " + "Plot 6-8 technologies on curve with labels. Color by category. Professional clear labels" + ), + + # Regulatory Timeline + ( + "20_regulatory_timeline.png", + "scientific-schematics", + "Regulatory timeline {topic} 2020 to 2028. Past regulations dark blue solid markers, " + "current green marker, upcoming light blue dashed. Each shows regulation name, date, " + "brief description. Vertical NOW line at 2024. Professional appearance clear labels" + ), + + # Risk Mitigation Matrix + ( + "21_risk_mitigation.png", + "scientific-schematics", + "Risk mitigation diagram {topic}. Left column risks in orange/red boxes. " + "Right column mitigation strategies in green/blue boxes. Arrows connecting " + "risks to mitigations. Group by category. Risk severity by color intensity. " + "Include prevention and response. Professional clear labels" + ), + + # Opportunity Matrix + ( + "22_opportunity_matrix.png", + "scientific-schematics", + "2x2 opportunity matrix {topic}. X-axis Market Attractiveness Low to High. " + "Y-axis Ability to Win Low to High. Quadrants: Upper-right PURSUE AGGRESSIVELY green, " + "Upper-left BUILD CAPABILITIES yellow, Lower-right SELECTIVE INVESTMENT yellow, " + "Lower-left AVOID red. Plot 6-8 opportunity circles with labels. " + "Size = opportunity value. Professional" + ), + + # Recommendation Priority Matrix + ( + "23_recommendation_priority.png", + "scientific-schematics", + "2x2 priority matrix {topic} recommendations. X-axis Effort Low to High. " + "Y-axis Impact Low to High. Quadrants: Upper-left QUICK WINS green Do First, " + "Upper-right MAJOR PROJECTS blue Plan Carefully, Lower-left FILL-INS gray Do If Time, " + "Lower-right THANKLESS TASKS red Avoid. Plot 6-8 numbered recommendations. Professional" + ), + + # Implementation Timeline + ( + "24_implementation_timeline.png", + "scientific-schematics", + "Gantt chart implementation {topic} 24 months. Phase 1 Foundation months 1-6 dark blue. " + "Phase 2 Build months 4-12 medium blue. Phase 3 Scale months 10-18 teal. " + "Phase 4 Optimize months 16-24 light blue. Overlapping bars. " + "Key milestones as diamonds. Month markers X-axis. Professional" + ), + + # Milestone Tracker + ( + "25_milestone_tracker.png", + "scientific-schematics", + "Milestone tracker {topic} horizontal timeline 8-10 milestones. " + "Each shows date, name, status: Completed green check, In Progress yellow circle, " + "Upcoming gray circle. Group by phase. Phase labels above. " + "Connected timeline line. Professional" + ), + + # Financial Projections + ( + "26_financial_projections.png", + "scientific-schematics", + "Combined bar and line chart {topic} 5-year projections. Bar chart revenue " + "primary Y-axis dollars. Line chart growth rate secondary Y-axis percent. " + "Three scenarios: Conservative gray, Base Case blue, Optimistic green. " + "X-axis Year 1-5. Data labels. Legend. Title Financial Projections 5-Year. Professional" + ), + + # Scenario Analysis + ( + "27_scenario_analysis.png", + "scientific-schematics", + "Grouped bar chart {topic} scenario comparison. X-axis metrics: Revenue Y5, " + "EBITDA Y5, Market Share, ROI. Three bars per metric: Conservative gray, " + "Base Case blue, Optimistic green. Data labels. Legend. " + "Title Scenario Analysis Comparison. Professional clear labels" + ), +] + + +def get_script_path(tool: str) -> Path: + """Get the path to the appropriate generation script.""" + base_path = Path(__file__).parent.parent.parent # skills directory + + if tool == "scientific-schematics": + return base_path / "scientific-schematics" / "scripts" / "generate_schematic.py" + elif tool == "generate-image": + return base_path / "generate-image" / "scripts" / "generate_image.py" + else: + raise ValueError(f"Unknown tool: {tool}") + + +def generate_visual( + filename: str, + tool: str, + prompt: str, + output_dir: Path, + topic: str, + skip_existing: bool = False, + verbose: bool = False +) -> bool: + """Generate a single visual using the appropriate tool.""" + output_path = output_dir / filename + + # Skip if exists and skip_existing is True + if skip_existing and output_path.exists(): + if verbose: + print(f" [SKIP] {filename} already exists") + return True + + # Format prompt with topic + formatted_prompt = prompt.format(topic=topic) + + # Get script path + script_path = get_script_path(tool) + + if not script_path.exists(): + print(f" [ERROR] Script not found: {script_path}") + return False + + # Build command + if tool == "scientific-schematics": + cmd = [ + sys.executable, + str(script_path), + formatted_prompt, + "-o", str(output_path), + "--doc-type", "report" + ] + else: # generate-image + cmd = [ + sys.executable, + str(script_path), + formatted_prompt, + "--output", str(output_path) + ] + + if verbose: + print(f" [GEN] {filename}") + print(f" Tool: {tool}") + print(f" Prompt: {formatted_prompt[:80]}...") + + try: + result = subprocess.run( + cmd, + capture_output=True, + text=True, + timeout=120 # 2 minute timeout per image + ) + + if result.returncode == 0: + if verbose: + print(f" [OK] {filename} generated successfully") + return True + else: + print(f" [ERROR] {filename} failed:") + if result.stderr: + print(f" {result.stderr[:200]}") + return False + + except subprocess.TimeoutExpired: + print(f" [TIMEOUT] {filename} generation timed out") + return False + except Exception as e: + print(f" [ERROR] {filename}: {str(e)}") + return False + + +def main(): + parser = argparse.ArgumentParser( + description="Generate visuals for a market research report (default: 5-6 core visuals)" + ) + parser.add_argument( + "--topic", "-t", + required=True, + help="Market topic (e.g., 'Electric Vehicle Charging Infrastructure')" + ) + parser.add_argument( + "--output-dir", "-o", + default="figures", + help="Output directory for generated images (default: figures)" + ) + parser.add_argument( + "--all", "-a", + action="store_true", + help="Generate all 27 extended visuals (default: only core 5-6)" + ) + parser.add_argument( + "--skip-existing", "-s", + action="store_true", + help="Skip generation if file already exists" + ) + parser.add_argument( + "--verbose", "-v", + action="store_true", + help="Show detailed output" + ) + parser.add_argument( + "--dry-run", + action="store_true", + help="Show what would be generated without actually generating" + ) + parser.add_argument( + "--only", + type=str, + help="Only generate visuals matching this pattern (e.g., '01_', 'porter')" + ) + + args = parser.parse_args() + + # Create output directory + output_dir = Path(args.output_dir) + if not args.dry_run: + output_dir.mkdir(parents=True, exist_ok=True) + + print(f"\n{'='*60}") + print(f"Market Research Visual Generator") + print(f"{'='*60}") + print(f"Topic: {args.topic}") + print(f"Output Directory: {output_dir.absolute()}") + print(f"Mode: {'All Visuals (27)' if args.all else 'Core Visuals Only (5-6)'}") + print(f"Skip Existing: {args.skip_existing}") + print(f"{'='*60}\n") + + # Select visual set based on --all flag + if args.all: + visuals_to_generate = CORE_VISUALS + EXTENDED_VISUALS + print("Generating ALL visuals (core + extended)\n") + else: + visuals_to_generate = CORE_VISUALS + print("Generating CORE visuals only (use --all for extended set)\n") + + # Filter visuals if --only specified + if args.only: + pattern = args.only.lower() + visuals_to_generate = [ + v for v in VISUALS + if pattern in v[0].lower() or pattern in v[2].lower() + ] + print(f"Filtered to {len(visuals_to_generate)} visuals matching '{args.only}'\n") + + if args.dry_run: + print("DRY RUN - The following visuals would be generated:\n") + for filename, tool, prompt in visuals_to_generate: + formatted = prompt.format(topic=args.topic) + print(f" {filename}") + print(f" Tool: {tool}") + print(f" Prompt: {formatted[:60]}...") + print() + return + + # Generate all visuals + total = len(visuals_to_generate) + success = 0 + failed = 0 + skipped = 0 + + for i, (filename, tool, prompt) in enumerate(visuals_to_generate, 1): + print(f"\n[{i}/{total}] Generating {filename}...") + + result = generate_visual( + filename=filename, + tool=tool, + prompt=prompt, + output_dir=output_dir, + topic=args.topic, + skip_existing=args.skip_existing, + verbose=args.verbose + ) + + if result: + if args.skip_existing and (output_dir / filename).exists(): + skipped += 1 + else: + success += 1 + else: + failed += 1 + + # Print summary + print(f"\n{'='*60}") + print(f"Generation Complete") + print(f"{'='*60}") + print(f"Total: {total}") + print(f"Success: {success}") + print(f"Skipped: {skipped}") + print(f"Failed: {failed}") + print(f"{'='*60}") + + if failed > 0: + print(f"\nWARNING: {failed} visuals failed to generate.") + print("Check the output above for error details.") + print("You may need to generate failed visuals manually.") + + print(f"\nOutput directory: {output_dir.absolute()}") + + +if __name__ == "__main__": + main() diff --git a/skills/marketing-mode/README.md b/skills/marketing-mode/README.md new file mode 100755 index 0000000..aec80be --- /dev/null +++ b/skills/marketing-mode/README.md @@ -0,0 +1,49 @@ +# Marketing Mode + +📈 **Mark the Marketer** - Growth-obsessed marketing strategist + +## Activation + +```bash +clawdhub install marketing-mode +``` + +Then tell Clawdbot to switch modes. + +## Who is Mark? + +Mark is a growth-obsessed marketing strategist who lives for the next conversion. He speaks in marketing frameworks, funnels, and metrics. + +## Marketing Frameworks + +### AIDA (Attention → Interest → Desire → Action) +The classic marketing funnel. Use to structure messaging and content. + +### PAS (Problem → Agitation → Solution) +Identify the problem, agitate it (make it hurt), then provide the solution. + +### Hook Model (Trigger → Action → Variable Reward → Investment) +Build habit-forming products by designing compelling hooks. + +### Value Proposition Canvas +Match what customers need with what you offer. + +### Positioning Framework +Answer: Who is this for? What does it do? Why is it different? + +## Usage Examples + +Mark helps with: +- Writing better CTAs and hooks +- Positioning products and services +- Funnel optimization +- Messaging strategy +- A/B testing ideas +- Channel selection +- Conversion optimization + +## Catchphrases +- "What's the CTA?" +- "What's the hook?" +- "Who is this for?" +- "Make it specific. Make it memorable." diff --git a/skills/marketing-mode/SKILL.md b/skills/marketing-mode/SKILL.md new file mode 100755 index 0000000..34a340c --- /dev/null +++ b/skills/marketing-mode/SKILL.md @@ -0,0 +1,693 @@ +--- +name: marketing-mode +description: "Marketing Mode combines 23 comprehensive marketing skills covering strategy, psychology, content, SEO, conversion optimization, and paid growth. Use when users need marketing strategy, copywriting, SEO help, conversion optimization, paid advertising, or any marketing tactic." +metadata: + version: 1.0.0 + tags: ["marketing", "growth", "seo", "copywriting", "cro", "paid-ads", "strategy", "psychology", "launch", "pricing", "email", "social"] + clawdbot: + mode: + name: "Mark the Marketer" + role: "Growth & Marketing Strategist" + emoji: "📈" + personality: | + Mark is a growth-obsessed marketing strategist who lives for the next conversion. He speaks in marketing frameworks, funnels, and metrics. He's constantly analyzing messaging, positioning, and channels for maximum impact. Mark doesn't just "post content" - he builds systems that convert. + requires: + bins: ["node"] + npm: true + install: + - id: "skill-install" + kind: "skill" + source: "clawdhub" + slug: "marketing-mode" + label: "Activate Marketing Mode" +--- + +# Marketing Mode - Complete Marketing Knowledge Base + +You are a marketing strategist with expertise across 23 comprehensive marketing disciplines. Your goal is to help users find the right strategies, tactics, and frameworks for their specific situation, stage, and resources. + +## Mode Activation + +When users need marketing help, activate this mode. Ask clarifying questions about their product, audience, stage, budget, and goals. Then recommend specific skills and tactics from this knowledge base. + +--- + +# PART 1: MARKETING STRATEGY & FRAMEWORKS + +## Marketing Ideas (140+ Proven Approaches) + +### Content & SEO +- Easy Keyword Ranking +- SEO Audit +- Glossary Marketing +- Programmatic SEO +- Content Repurposing +- Proprietary Data Content +- Internal Linking +- Content Refreshing +- Knowledge Base SEO +- Parasite SEO + +### Competitor & Comparison +- Competitor Comparison Pages +- Marketing Jiu-Jitsu +- Competitive Ad Research + +### Free Tools & Engineering +- Side Projects as Marketing +- Engineering as Marketing +- Importers as Marketing +- Quiz Marketing +- Calculator Marketing +- Chrome Extensions +- Microsites +- Scanners +- Public APIs + +### Paid Advertising +- Podcast Advertising +- Pre-targeting Ads +- Facebook Ads +- Instagram Ads +- Twitter/X Ads +- LinkedIn Ads +- Reddit Ads +- Quora Ads +- Google Ads +- YouTube Ads +- Cross-Platform Retargeting +- Click-to-Messenger Ads + +### Social Media & Community +- Community Marketing +- Quora Marketing +- Reddit Keyword Research +- Reddit Marketing +- LinkedIn Audience +- Instagram Audience +- X Audience +- Short Form Video +- Engagement Pods +- Comment Marketing + +### Email Marketing +- Mistake Email Marketing +- Reactivation Emails +- Founder Welcome Email +- Dynamic Email Capture +- Monthly Newsletters +- Inbox Placement +- Onboarding Emails +- Win-back Emails +- Trial Reactivation + +### Partnerships & Programs +- Affiliate Discovery Through Backlinks +- Influencer Whitelisting +- Reseller Programs +- Expert Networks +- Newsletter Swaps +- Article Quotes +- Pixel Sharing +- Shared Slack Channels +- Affiliate Program +- Integration Marketing +- Community Sponsorship + +### Events & Speaking +- Live Webinars +- Virtual Summits +- Roadshows +- Local Meetups +- Meetup Sponsorship +- Conference Speaking +- Conferences +- Conference Sponsorship + +### PR & Media +- Media Acquisitions as Marketing +- Press Coverage +- Fundraising PR +- Documentaries + +### Launches & Promotions +- Black Friday Promotions +- Product Hunt Launch +- Early-Access Referrals +- New Year Promotions +- Early Access Pricing +- Product Hunt Alternatives +- Twitter Giveaways +- Giveaways +- Vacation Giveaways +- Lifetime Deals + +### Product-Led Growth +- Powered By Marketing +- Free Migrations +- Contract Buyouts +- One-Click Registration +- In-App Upsells +- Newsletter Referrals +- Viral Loops +- Offboarding Flows +- Concierge Setup +- Onboarding Optimization + +### Unconventional & Creative +- Awards as Marketing +- Challenges as Marketing +- Reality TV Marketing +- Controversy as Marketing +- Moneyball Marketing +- Curation as Marketing +- Grants as Marketing +- Product Competitions +- Cameo Marketing +- OOH Advertising +- Marketing Stunts +- Guerrilla Marketing +- Humor Marketing + +### Platforms & Marketplaces +- Open Source as Marketing +- App Store Optimization +- App Marketplaces +- YouTube Reviews +- YouTube Channel +- Source Platforms +- Review Sites +- Live Audio +- International Expansion +- Price Localization + +### Developer & Technical +- Investor Marketing +- Certifications +- Support as Marketing +- Developer Relations + +### Audience-Specific +- Two-Sided Referrals +- Podcast Tours +- Customer Language + +--- + +## Launch Strategy (5-Phase Framework) + +### Phase 1: Internal (Pre-Launch) +- Use product internally first +- Find bugs in real use cases +- Build initial case studies +- Create launch content +- Set up analytics and tracking + +### Phase 2: Alpha (Private Beta) +- Invite existing customers and warm leads +- Get feedback and testimonials +- Refine positioning based on response +- Build waitlist + +### Phase 3: Beta (Public Preview) +- Broader access with invite codes +- Collect more testimonials +- Refine pricing and packaging +- Build SEO content + +### Phase 4: Early Access (Launch Prep) +- Public waitlist opening +- Special launch pricing +- Affiliate/partner outreach +- Press and analyst outreach + +### Phase 5: Full Launch +- General availability +- Full promotional push +- Customer success stories +- Ongoing optimization + +--- + +## Pricing Strategy + +### Research Methods +- Competitor pricing analysis +- Value-based pricing models +- Willingness-to-pay surveys +- A/B testing for optimization + +### Tier Structure +- Free tier (awareness) +- Pro tier (core value) +- Enterprise tier (scale + support) + +### Value Metrics +- Per-seat pricing +- Usage-based pricing +- Feature-based tiers +- Outcome-based pricing + +### Monetization Optimization +- Annual vs. monthly discounts +- Upgrade paths +- Churn prevention pricing +- Revenue recovery + +--- + +# PART 2: PSYCHOLOGY & MENTAL MODELS + +## Foundational Thinking Models + +### First Principles +Break problems down to basic truths. Don't copy competitors—ask "why" repeatedly to find root causes. + +**Marketing application**: Don't do content marketing because competitors do. Ask why, what problem it solves, if there's a better solution. + +### Jobs to Be Done (JTBD) +People "hire" products to get a job done. Focus on outcomes, not features. + +**Marketing application**: A drill buyer wants a hole, not a drill. Frame around the job accomplished. + +### Circle of Competence +Know what you're good at and stay within it. Double down on genuine expertise. + +**Marketing application**: Don't chase every channel. Focus on where you have real competitive advantage. + +### Inversion +Ask what would guarantee failure, then avoid those things. + +**Marketing application**: List everything that would make a campaign fail, then systematically prevent each. + +### Occam's Razor +Simpler explanations are usually correct. Avoid overcomplicating strategies. + +**Marketing application**: If conversions dropped, check obvious first (broken form, slow page) before complex attribution. + +### Pareto Principle (80/20) +80% of results come from 20% of efforts. Find and focus on the vital few. + +**Marketing application**: Find channels driving most results. Cut or reduce the rest. + +### Hick's Law +Decision time increases with options. More choices = more abandonment. + +**Marketing application**: One clear CTA beats three. Fewer form fields = higher conversion. + +### AIDA Funnel +Attention → Interest → Desire → Action + +**Marketing application**: Structure pages to move through each stage. Capture attention before building desire. + +### Law of Diminishing Returns +After a point, additional investment yields progressively smaller gains. + +**Marketing application**: The 10th blog post won't have the same impact as the first. Diversify channels. + +### Commitment & Consistency +Once people commit to something, they want to stay consistent. + +**Marketing application**: Small commitments first (email signup) lead to larger ones (paid subscription). + +### Reciprocity Principle +Give first. People feel obligated to return favors. + +**Marketing application**: Free content, tools, and freemium models create reciprocal obligation. + +### Scarcity & Urgency +Limited availability increases perceived value. + +**Marketing application**: Limited-time offers, low-stock warnings. Only use when genuine. + +### Loss Aversion +Losses feel twice as painful as equivalent gains feel good. + +**Marketing application**: "Don't miss out" beats "You could gain." Frame in terms of what they'll lose. + +### Anchoring Effect +First number heavily influences subsequent judgments. + +**Marketing application**: Show higher price first (original, competitor, enterprise) to anchor expectations. + +### Paradox of Choice +Too many options overwhelm. Fewer choices lead to more decisions. + +**Marketing application**: Three pricing tiers. Recommend a single "best for most" option. + +### Endowment Effect +People value things more once they own them. + +**Marketing application**: Free trials, samples, freemium models let customers "own" the product. + +### IKEA Effect +People value things they put effort into creating. + +**Marketing application**: Let customers customize, configure, build. Their investment increases commitment. + +### Mere Exposure Effect +Familiarity breeds liking. Consistent presence builds preference. + +**Marketing application**: Repetition across channels creates comfort and trust. + +### Social Proof / Bandwagon Effect +People follow what others are doing. Popularity signals quality. + +**Marketing application**: Show customer counts, testimonials, "trending" indicators. + +### Prospect Theory / Loss Aversion +People avoid actions that might cause regret. + +**Marketing application**: Money-back guarantees, free trials reduce regret fear. Address concerns directly. + +### Zeigarnik Effect +Unfinished tasks occupy the mind. Open loops create tension. + +**Marketing application**: "You're 80% done" creates pull to finish. Incomplete profiles, abandoned carts. + +### Status-Quo Bias +People prefer current state. Change feels risky. + +**Marketing application**: Reduce friction. Make transition feel safe. "Import in one click." + +### Default Effect +People accept pre-selected options. Defaults are powerful. + +**Marketing application**: Pre-select the plan you want customers to choose. Opt-out beats opt-in. + +### Peak-End Rule +People judge experiences by the peak (best/worst) and end, not average. + +**Marketing application**: Design memorable peaks and strong endings. Thank you pages matter. + +--- + +# PART 3: SEO & CONTENT + +## SEO Audit Framework + +### Priority Order +1. **Crawlability & Indexation** - Can Google find and index pages? +2. **Technical Foundations** - Is the site fast and functional? +3. **On-Page Optimization** - Is content optimized? +4. **Content Quality** - Does it deserve to rank? +5. **Authority & Links** - Does it have credibility? + +### Technical SEO Checklist + +**Crawlability** +- Robots.txt not blocking important pages +- XML sitemap accessible and updated +- Site architecture within 3 clicks of homepage +- No orphan pages + +**Indexation** +- No accidental noindex on important pages +- Proper canonical tags (self-referencing) +- No redirect chains +- No soft 404s + +**Core Web Vitals** +- LCP < 2.5s +- INP < 200ms +- CLS < 0.1 +- Server response time optimized +- Images optimized + +**On-Page** +- Title tags optimized (60 chars, keyword placement) +- Meta descriptions compelling (155 chars) +- Header hierarchy (H1 → H2 → H3) +- Internal linking to priority pages + +**E-E-A-T** +- Author expertise demonstrated +- Clear sourcing and citations +- Regular content updates +- Accurate, comprehensive information + +--- + +## Programmatic SEO (12 Playbooks) + +1. **Location Pages** - City + keyword targeting +2. **Comparison Pages** - Product + alternative/competitor +3. **Integration Pages** - Tool + integration targets +4. **Use Case Pages** - Solution + use case +5. **Problem Pages** - Pain point + solution +6. **Industry Pages** - Industry + keyword targets +7. **Review/Alternatives Pages** - Competitor alternatives +8. **Calculator/Generator Pages** - Tools with keyword targets +9. **Template Pages** - Document templates for keywords +10. **Glossary Pages** - Industry terms explained +11. **Checklist Pages** - How-to guides as checklists +12. **Quiz/Assessment Pages** - Interactive tools + +--- + +## Schema Markup + +- Organization schema +- Product/Service schema +- FAQPage schema +- HowTo schema +- Review/BreadcrumbList schema +- LocalBusiness schema + +--- + +## Copywriting Frameworks + +### AIDA +Attention → Interest → Desire → Action + +### PAS +Problem → Agitation → Solution + +### Before/After/Bridge +Current state → Problem → Your solution → Transformation + +### ACCA +Awareness → Comprehension → Conviction → Action + +### Hero's Journey +Customer as hero on a journey with your product as guide + +--- + +## Copy Editing (7 Sweeps) + +1. **Clarity Sweep** +2. **Voice Sweep** +3. **Proof Sweep** +4. **Impact Sweep** +5. **Emotion Sweep** +6. **Format Sweep** +7. **Authenticity Sweep** + +--- + +## Social Content Strategy + +### Hook Templates +- Question hooks +- Number hooks +- Story hooks +- Contrast hooks +- Controversy hooks + +### Platform Optimization +- LinkedIn: Professional, thought leadership +- X/Twitter: Bite-sized, threads +- Instagram: Visual + captions +- TikTok/Reels: Entertainment + education +- YouTube: Long-form + shorts + +--- + +# PART 4: CONVERSION OPTIMIZATION (CRO) + +## Page CRO Elements + +1. **Value Proposition** + - Clear headline (8-12 words) + - Subhead explaining transformation + - Visual proof (screenshot/video) + +2. **Trust Signals** + - Logos of customers/press + - Testimonials + - Security badges + - Social proof numbers + +3. **CTA Optimization** + - Action-oriented (not "Submit") + - Contrast with page + - Above fold placement + +4. **Friction Analysis** + - Remove unnecessary form fields + - Auto-fill where possible + - Clear error messages + +--- + +## Funnel Optimization + +### Signup Flow +- Minimize fields (email only first) +- Social auth options +- Progress indicators +- Clear value proposition + +### Form CRO +- Progressive profiling +- Inline validation +- Smart defaults +- Auto-save drafts + +### Onboarding +- Aha moment identification +- Progress tracking +- Feature discovery +- Milestone celebrations + +### A/B Test Setup +- Hypothesis framework +- Sample size calculations +- Statistical significance (95%+ confidence) +- Test one variable at a time + +--- + +# PART 5: PAID ADVERTISING & GROWTH + +## Channel Strategy + +### Google Ads +- Brand terms protection +- Competitor targeting +- Solution keywords +- Remarketing lists + +### Meta/Facebook Ads +- Detailed targeting +- Creative testing +- Lookalike audiences +- Retargeting + +### LinkedIn Ads +- Job titles/functions +- Company size targeting +- Industry filters +- B2B intent + +### Analytics & Tracking +- UTM parameters (consistent naming) +- GA4 events for goals +- GTM container setup +- Conversion tracking pixels + +--- + +## Referral Program Design + +### Viral Mechanics +- Two-sided rewards +- Milestone celebrations +- Fraud detection rules +- Nurture sequences for referred users + +--- + +## Free Tool Strategy + +### Tool Categories +- Calculators +- Analyzers +- Generators +- Checklists +- Templates + +### SEO Value +- Keyword targeting +- Backlink attraction +- Shareable results + +--- + +# PART 6: EMAIL MARKETING + +## Sequence Types + +1. **Welcome Series** - First 7 days +2. **Nurture Sequence** - Build interest over 2-3 weeks +3. **Onboarding Sequence** - Product education +4. **Win-Back/Reactivation** - Churned users +5. **Re-engagement** - Dormant subscribers + +--- + +# QUICK REFERENCE + +## Marketing Challenges → Relevant Frameworks + +| Challenge | Start Here | +|-----------|------------| +| Low conversions | AIDA, Hick's Law, BJ Fogg | +| Pricing objections | Anchoring, Mental Accounting, Loss Aversion | +| SEO issues | Technical SEO audit, Programmatic SEO | +| Copy not converting | PAS, Copy editing sweeps, A/B tests | +| Email performance | Welcome series, Segmentation, Send time optimization | +| No traffic | SEO audit, Content strategy, Programmatic SEO | +| High churn | Onboarding CRO, Win-back sequences | +| Low engagement | Social proof, Reciprocity, Consistency | +| Unclear messaging | Value proposition, Positioning, Differentiation | + +--- + +## Questions to Ask (Marketing Discovery) + +**About Product & Audience** +- What's your product and who's the target customer? +- What's your current stage (pre-launch → scale)? +- What are your main marketing goals? +- What's your budget and team size? + +**About Current State** +- What have you tried that worked or didn't? +- What are your competitors doing well? +- Where are you losing customers in the funnel? + +**About Goals** +- What metrics matter most (traffic, leads, revenue)? +- What's your timeline? +- What's your competitive advantage? + +--- + +## Related Skills + +- **marketing-ideas**: 140+ tactical marketing ideas +- **marketing-psychology**: 70+ mental models for persuasion +- **launch-strategy**: 5-phase launch framework +- **pricing-strategy**: Research and optimization methods +- **seo-audit**: Technical and on-page SEO diagnosis +- **programmatic-seo**: Building pages at scale +- **schema-markup**: Structured data implementation +- **competitor-alternatives**: Comparison page strategy +- **copywriting**: Framework-driven copy +- **copy-editing**: 7-sweep improvement process +- **social-content**: Platform-specific strategies +- **email-sequence**: Campaign types and templates +- **page-cro**: Landing page optimization +- **signup-flow-cro**: Form and signup optimization +- **form-cro**: Lead capture and conversion +- **onboarding-cro**: Activation and retention +- **paywall-cro**: Premium content strategy +- **popup-cro**: Trigger-based conversion +- **ab-test-setup**: Statistical rigor in testing +- **paid-ads**: Channel-specific strategies +- **analytics-tracking**: Measurement infrastructure +- **referral-program**: Viral loop design +- **free-tool-strategy**: Lead generation through tools diff --git a/skills/marketing-mode/_meta.json b/skills/marketing-mode/_meta.json new file mode 100755 index 0000000..0015744 --- /dev/null +++ b/skills/marketing-mode/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn72ce44tqw8bnnnewrn1s5x3s7yz7sq", + "slug": "marketing-mode", + "version": "1.0.0", + "publishedAt": 1769016558544 +} \ No newline at end of file diff --git a/skills/marketing-mode/mode-prompt.md b/skills/marketing-mode/mode-prompt.md new file mode 100755 index 0000000..5a392fd --- /dev/null +++ b/skills/marketing-mode/mode-prompt.md @@ -0,0 +1,39 @@ +# Mark the Marketer - Mode Prompt + +You are Mark the Marketer, a growth-obsessed marketing strategist. + +## Your Core Identity +- You live for the next conversion, the better hook, the tighter positioning +- You think in funnels: Awareness → Interest → Desire → Action +- You analyze everything through a marketing lens: "What's the CTA?", "Is this positioned right?", "Does this hook?" +- You use frameworks like AIDA (Attention, Interest, Desire, Action), PAS (Problem, Agitation, Solution), and the Hook Model +- You're energetic, data-driven, and always asking: "What's the metric that matters?" + +## Marketing Frameworks You Use +- **AIDA**: Attention → Interest → Desire → Action +- **PAS**: Problem → Agitation → Solution +- **Hook Model**: Trigger → Action → Variable Reward → Investment +- **Value Proposition Canvas**: Customer Jobs → Pains → Gains → Value Prop +- **Positioning**: Who it's for, what it does, why it's different + +## How You Communicate +- Use marketing terminology naturally (CTAs, conversion, positioning, hook, etc.) +- Ask about metrics and results +- Suggest frameworks for solving problems +- Be energetic and growth-focused +- Challenge vague messaging: "What does it actually do for the customer?" + +## Your Catchphrases +- "What's the CTA?" +- "What's the hook?" +- "Who is this for?" +- "What's the one thing they should remember?" +- "Make it specific. Make it memorable." + +## Mode Activation +When users want marketing help, switch to this mode. Ask clarifying questions about: +- Target audience +- Desired action/conversion +- Current messaging/positioning +- Channels being used +- Metrics being tracked diff --git a/skills/marketing-mode/skill.json b/skills/marketing-mode/skill.json new file mode 100755 index 0000000..d667d06 --- /dev/null +++ b/skills/marketing-mode/skill.json @@ -0,0 +1,51 @@ +{ + "name": "marketing-mode", + "description": "Marketing and growth strategies for founders. Focuses on messaging, positioning, funnel optimization, and growth tactics.", + "version": "1.0.0", + "tags": ["marketing", "growth", "founder", "positioning", "messaging", "funnel"], + "author": "Seth Rose", + "license": "MIT", + "repository": "https://github.com/TheSethRose/clawdbot-skills", + "documentation": "SKILL.md", + "keywords": [ + "marketing", + "growth", + "founder", + "positioning", + "messaging", + "funnel", + "conversion", + "cta", + "hooks" + ], + "engines": { + "node": ">=18.0.0" + }, + "install": { + "npm": "npm install -g @thesethrose/marketing-mode" + }, + "usage": { + "cli": "clawdhub install marketing-mode" + }, + "clawdbot": { + "requires": { + "node": true, + "npm": true + }, + "mode": { + "name": "Mark the Marketer", + "role": "Marketing Strategist", + "emoji": "📈", + "personality": "Growth-obsessed marketing strategist focused on funnels, positioning, and conversion.", + "system_prompt_path": "mode-prompt.md" + }, + "install": [ + { + "id": "npm-pkg", + "kind": "npm", + "package": "@thesethrose/marketing-mode", + "label": "Install Marketing Mode (npm)" + } + ] + } +} diff --git a/skills/mindfulness-meditation/SKILL.md b/skills/mindfulness-meditation/SKILL.md new file mode 100755 index 0000000..a0b01dd --- /dev/null +++ b/skills/mindfulness-meditation/SKILL.md @@ -0,0 +1,65 @@ +--- +name: mindfulness-meditation +description: Build a meditation practice with guided sessions, streaks, and mindfulness reminders +author: clawd-team +version: 1.0.0 +triggers: + - "meditate now" + - "mindfulness practice" + - "guided meditation" + - "meditation streak" + - "be present" +--- + +# Mindfulness & Meditation + +Build a consistent meditation practice with guided sessions, progress tracking, and daily mindfulness reminders. + +## What it does + +This skill transforms your device into a personal meditation coach. It guides you through structured meditation sessions, tracks your practice streaks, logs sessions for long-term insights, and sends mindfulness reminders to keep you anchored throughout your day. + +## Usage + +### Start Meditation +Initiate a guided meditation session. Choose your meditation type and duration, then follow along with step-by-step guidance. + +### Quick Mindfulness +Take a 2-5 minute breathing pause. Perfect for stressful moments or transitions between tasks. No commitment, just presence. + +### Check Streak +View your current meditation streak and session history. See weekly/monthly breakdowns of your practice consistency and total minutes logged. + +### Set Reminders +Configure daily or custom mindfulness reminders. Get gentle notifications to pause, breathe, and check in with yourself. + +### Session Log +Review detailed logs of past sessions: type, duration, date, and personal notes. Export your practice data for reflection or sharing. + +## Meditation Types + +**Body Scan** — Systematically observe sensations from head to toe, releasing tension and building bodily awareness. + +**Breath Focus** — Anchor attention to the natural rhythm of your breath. Redirect your mind gently when it wanders. + +**Loving-Kindness** — Cultivate compassion by sending well-wishes to yourself and others in expanding circles. + +**Walking** — Meditate while moving. Synchronize breath with steps and notice your surroundings with full attention. + +**Open Awareness** — Observe thoughts and sensations without judgment. Develop witness consciousness and mental spaciousness. + +## Session Lengths + +- **2 min** — Micro-practice. Reset focus in the middle of your day. +- **5 min** — Short sits. Build the habit without time friction. +- **10 min** — Standard practice. Enough depth to settle your mind. +- **20 min** — Deep work. Move beyond the surface chatter. +- **Custom** — Set your own duration. Practice at your pace. + +## Tips + +- **Start small:** 2-3 minutes daily beats sporadic hour-long sessions. Consistency compounds over time. +- **Pick one type:** Master breath focus before exploring other techniques. Foundation first. +- **Meditate at the same time:** Morning sits anchor your day. Neural pathways strengthen with repetition. +- **Don't aim for blank mind:** Thoughts are normal. The skill is noticing them without judgment—that's the practice. +- **All data stays local on your machine:** Your meditation history, preferences, and reminders are stored securely on your device. Nothing leaves your control. diff --git a/skills/mindfulness-meditation/_meta.json b/skills/mindfulness-meditation/_meta.json new file mode 100755 index 0000000..38c143b --- /dev/null +++ b/skills/mindfulness-meditation/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn7dsqp497235e9hhzdwd0q9a57zxjw6", + "slug": "mindfulness-meditation", + "version": "1.0.0", + "publishedAt": 1769326483710 +} \ No newline at end of file diff --git a/skills/multi-search-engine/CHANGELOG.md b/skills/multi-search-engine/CHANGELOG.md new file mode 100755 index 0000000..f5d10e3 --- /dev/null +++ b/skills/multi-search-engine/CHANGELOG.md @@ -0,0 +1,15 @@ +# Changelog + +## v2.0.1 (2026-02-06) +- Simplified documentation +- Removed gov-related content +- Optimized for ClawHub publishing + +## v2.0.0 (2026-02-06) +- Added 9 international search engines +- Enhanced advanced search capabilities +- Added DuckDuckGo Bangs support +- Added WolframAlpha knowledge queries + +## v1.0.0 (2026-02-04) +- Initial release with 8 domestic search engines diff --git a/skills/multi-search-engine/CHANNELLOG.md b/skills/multi-search-engine/CHANNELLOG.md new file mode 100755 index 0000000..74bec12 --- /dev/null +++ b/skills/multi-search-engine/CHANNELLOG.md @@ -0,0 +1,48 @@ +# Multi Search Engine + +## 基本信息 + +- **名称**: multi-search-engine +- **版本**: v2.0.1 +- **描述**: 集成17个搜索引擎(8国内+9国际),支持高级搜索语法 +- **发布时间**: 2026-02-06 + +## 搜索引擎 + +**国内(8个)**: 百度、必应、360、搜狗、微信、头条、集思录 +**国际(9个)**: Google、DuckDuckGo、Yahoo、Brave、Startpage、Ecosia、Qwant、WolframAlpha + +## 核心功能 + +- 高级搜索操作符(site:, filetype:, intitle:等) +- DuckDuckGo Bangs快捷命令 +- 时间筛选(小时/天/周/月/年) +- 隐私保护搜索 +- WolframAlpha知识计算 + +## 更新记录 + +### v2.0.1 (2026-02-06) +- 精简文档,优化发布 + +### v2.0.0 (2026-02-06) +- 新增9个国际搜索引擎 +- 强化深度搜索能力 + +### v1.0.0 (2026-02-04) +- 初始版本:8个国内搜索引擎 + +## 使用示例 + +```javascript +// Google搜索 +web_fetch({"url": "https://www.google.com/search?q=python"}) + +// 隐私搜索 +web_fetch({"url": "https://duckduckgo.com/html/?q=privacy"}) + +// 站内搜索 +web_fetch({"url": "https://www.google.com/search?q=site:github.com+python"}) +``` + +MIT License diff --git a/skills/multi-search-engine/SKILL.md b/skills/multi-search-engine/SKILL.md new file mode 100755 index 0000000..56c27a2 --- /dev/null +++ b/skills/multi-search-engine/SKILL.md @@ -0,0 +1,78 @@ +--- +name: "multi-search-engine" +description: "Multi search engine integration with 8 domestic (CN) search engines. Supports advanced search operators, time filters, site search, and WeChat article search. No API keys required." +--- + +# Multi Search Engine v2.0.1 + +Integration of 8 domestic Chinese search engines for web crawling without API keys. + +## Search Engines (Domestic - CN Only) + +- **Baidu**: `https://www.baidu.com/s?wd={keyword}` +- **Bing CN**: `https://cn.bing.com/search?q={keyword}&ensearch=0` +- **Bing INT**: `https://cn.bing.com/search?q={keyword}&ensearch=1` +- **360**: `https://www.so.com/s?q={keyword}` +- **Sogou**: `https://sogou.com/web?query={keyword}` +- **WeChat**: `https://wx.sogou.com/weixin?type=2&query={keyword}` +- **Toutiao**: `https://so.toutiao.com/search?keyword={keyword}` +- **Jisilu**: `https://www.jisilu.cn/explore/?keyword={keyword}` + +## Quick Examples + +```javascript +// Basic search (Baidu) +web_fetch({"url": "https://www.baidu.com/s?wd=python+tutorial"}) + +// Site-specific (Bing CN) +web_fetch({"url": "https://cn.bing.com/search?q=site:github.com+react&ensearch=0"}) + +// File type (Baidu) +web_fetch({"url": "https://www.baidu.com/s?wd=machine+learning+filetype:pdf"}) + +// WeChat article search +web_fetch({"url": "https://wx.sogou.com/weixin?type=2&query=人工智能+最新进展"}) + +// Toutiao search +web_fetch({"url": "https://so.toutiao.com/search?keyword=新能源+政策"}) + +// Jisilu financial data +web_fetch({"url": "https://www.jisilu.cn/explore/?keyword=REITs"}) +``` + +## Advanced Operators + +| Operator | Example | Description | +|----------|---------|-------------| +| `site:` | `site:github.com python` | Search within site | +| `filetype:` | `filetype:pdf report` | Specific file type | +| `""` | `"machine learning"` | Exact match | +| `-` | `python -snake` | Exclude term | +| `OR` | `cat OR dog` | Either term | + +## Time Filters + +| Parameter | Description | +|-----------|-------------| +| `tbs=qdr:h` | Past hour | +| `tbs=qdr:d` | Past day | +| `tbs=qdr:w` | Past week | +| `tbs=qdr:m` | Past month | +| `tbs=qdr:y` | Past year | + +## Search Engine Notes + +- **WeChat Search**: Best for searching WeChat public articles and content +- **Toutiao**: Good for trending topics and news aggregation +- **Jisilu**: Focused on financial and investment data +- **Bing INT**: International search results via Bing interface +- **Bing CN**: Localized Chinese search results + +## Documentation + +- `references/international-search.md` - Archived international search guide (for reference) +- `CHANGELOG.md` - Version history + +## License + +MIT diff --git a/skills/multi-search-engine/_meta.json b/skills/multi-search-engine/_meta.json new file mode 100755 index 0000000..0c19f52 --- /dev/null +++ b/skills/multi-search-engine/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn79j8kk7fb9w10jh83803j7f180a44m", + "slug": "multi-search-engine", + "version": "2.0.1", + "publishedAt": 1770313848158 +} \ No newline at end of file diff --git a/skills/multi-search-engine/config.json b/skills/multi-search-engine/config.json new file mode 100755 index 0000000..c6d32cb --- /dev/null +++ b/skills/multi-search-engine/config.json @@ -0,0 +1,14 @@ +{ + "name": "multi-search-engine", + "description": "Multi search engine integration with 8 domestic (CN) search engines", + "engines": [ + {"name": "Baidu", "url": "https://www.baidu.com/s?wd={keyword}", "region": "cn"}, + {"name": "Bing CN", "url": "https://cn.bing.com/search?q={keyword}&ensearch=0", "region": "cn"}, + {"name": "Bing INT", "url": "https://cn.bing.com/search?q={keyword}&ensearch=1", "region": "cn"}, + {"name": "360", "url": "https://www.so.com/s?q={keyword}", "region": "cn"}, + {"name": "Sogou", "url": "https://sogou.com/web?query={keyword}", "region": "cn"}, + {"name": "WeChat", "url": "https://wx.sogou.com/weixin?type=2&query={keyword}", "region": "cn"}, + {"name": "Toutiao", "url": "https://so.toutiao.com/search?keyword={keyword}", "region": "cn"}, + {"name": "Jisilu", "url": "https://www.jisilu.cn/explore/?keyword={keyword}", "region": "cn"} + ] +} diff --git a/skills/multi-search-engine/metadata.json b/skills/multi-search-engine/metadata.json new file mode 100755 index 0000000..91be4f7 --- /dev/null +++ b/skills/multi-search-engine/metadata.json @@ -0,0 +1,7 @@ +{ + "name": "multi-search-engine", + "version": "2.0.1", + "description": "Multi search engine with 17 engines (8 CN + 9 Global). Supports advanced operators, time filters, privacy engines.", + "engines": 17, + "requires_api_key": false +} diff --git a/skills/multi-search-engine/references/international-search.md b/skills/multi-search-engine/references/international-search.md new file mode 100755 index 0000000..b797b93 --- /dev/null +++ b/skills/multi-search-engine/references/international-search.md @@ -0,0 +1,651 @@ +# 国际搜索引擎深度搜索指南 + +## 🔍 Google 深度搜索 + +### 1.1 基础高级搜索操作符 + +| 操作符 | 功能 | 示例 | URL | +|--------|------|------|-----| +| `""` | 精确匹配 | `"machine learning"` | `https://www.google.com/search?q=%22machine+learning%22` | +| `-` | 排除关键词 | `python -snake` | `https://www.google.com/search?q=python+-snake` | +| `OR` | 或运算 | `machine learning OR deep learning` | `https://www.google.com/search?q=machine+learning+OR+deep+learning` | +| `*` | 通配符 | `machine * algorithms` | `https://www.google.com/search?q=machine+*+algorithms` | +| `()` | 分组 | `(apple OR microsoft) phones` | `https://www.google.com/search?q=(apple+OR+microsoft)+phones` | +| `..` | 数字范围 | `laptop $500..$1000` | `https://www.google.com/search?q=laptop+%24500..%241000` | + +### 1.2 站点与文件搜索 + +| 操作符 | 功能 | 示例 | +|--------|------|------| +| `site:` | 站内搜索 | `site:github.com python projects` | +| `filetype:` | 文件类型 | `filetype:pdf annual report` | +| `inurl:` | URL包含 | `inurl:login admin` | +| `intitle:` | 标题包含 | `intitle:"index of" mp3` | +| `intext:` | 正文包含 | `intext:password filetype:txt` | +| `cache:` | 查看缓存 | `cache:example.com` | +| `related:` | 相关网站 | `related:github.com` | +| `info:` | 网站信息 | `info:example.com` | + +### 1.3 时间筛选参数 + +| 参数 | 含义 | URL示例 | +|------|------|---------| +| `tbs=qdr:h` | 过去1小时 | `https://www.google.com/search?q=news&tbs=qdr:h` | +| `tbs=qdr:d` | 过去24小时 | `https://www.google.com/search?q=news&tbs=qdr:d` | +| `tbs=qdr:w` | 过去1周 | `https://www.google.com/search?q=news&tbs=qdr:w` | +| `tbs=qdr:m` | 过去1月 | `https://www.google.com/search?q=news&tbs=qdr:m` | +| `tbs=qdr:y` | 过去1年 | `https://www.google.com/search?q=news&tbs=qdr:y` | +| `tbs=cdr:1,cd_min:1/1/2024,cd_max:12/31/2024` | 自定义日期范围 | 2024年全年 | + +### 1.4 语言和地区筛选 + +| 参数 | 功能 | 示例 | +|------|------|------| +| `hl=en` | 界面语言 | `https://www.google.com/search?q=test&hl=en` | +| `lr=lang_zh-CN` | 搜索结果语言 | `https://www.google.com/search?q=test&lr=lang_zh-CN` | +| `cr=countryCN` | 国家/地区 | `https://www.google.com/search?q=test&cr=countryCN` | +| `gl=us` | 地理位置 | `https://www.google.com/search?q=test&gl=us` | + +### 1.5 特殊搜索类型 + +| 类型 | URL | 说明 | +|------|-----|------| +| 图片搜索 | `https://www.google.com/search?q={keyword}&tbm=isch` | `tbm=isch` 表示图片 | +| 新闻搜索 | `https://www.google.com/search?q={keyword}&tbm=nws` | `tbm=nws` 表示新闻 | +| 视频搜索 | `https://www.google.com/search?q={keyword}&tbm=vid` | `tbm=vid` 表示视频 | +| 地图搜索 | `https://www.google.com/search?q={keyword}&tbm=map` | `tbm=map` 表示地图 | +| 购物搜索 | `https://www.google.com/search?q={keyword}&tbm=shop` | `tbm=shop` 表示购物 | +| 图书搜索 | `https://www.google.com/search?q={keyword}&tbm=bks` | `tbm=bks` 表示图书 | +| 学术搜索 | `https://scholar.google.com/scholar?q={keyword}` | Google Scholar | + +### 1.6 Google 深度搜索示例 + +```javascript +// 1. 搜索GitHub上的Python机器学习项目 +web_fetch({"url": "https://www.google.com/search?q=site:github.com+python+machine+learning"}) + +// 2. 搜索2024年的PDF格式机器学习教程 +web_fetch({"url": "https://www.google.com/search?q=machine+learning+tutorial+filetype:pdf&tbs=cdr:1,cd_min:1/1/2024"}) + +// 3. 搜索标题包含"tutorial"的Python相关页面 +web_fetch({"url": "https://www.google.com/search?q=intitle:tutorial+python"}) + +// 4. 搜索过去一周的新闻 +web_fetch({"url": "https://www.google.com/search?q=AI+breakthrough&tbs=qdr:w&tbm=nws"}) + +// 5. 搜索中文内容(界面英文,结果中文) +web_fetch({"url": "https://www.google.com/search?q=人工智能&lr=lang_zh-CN&hl=en"}) + +// 6. 搜索特定价格范围的笔记本电脑 +web_fetch({"url": "https://www.google.com/search?q=laptop+%241000..%242000+best+rating"}) + +// 7. 搜索排除Wikipedia的结果 +web_fetch({"url": "https://www.google.com/search?q=python+programming+-wikipedia"}) + +// 8. 搜索学术文献 +web_fetch({"url": "https://scholar.google.com/scholar?q=deep+learning+optimization"}) + +// 9. 搜索缓存页面(查看已删除内容) +web_fetch({"url": "https://webcache.googleusercontent.com/search?q=cache:example.com"}) + +// 10. 搜索相关网站 +web_fetch({"url": "https://www.google.com/search?q=related:stackoverflow.com"}) +``` + +--- + +## 🦆 DuckDuckGo 深度搜索 + +### 2.1 DuckDuckGo 特色功能 + +| 功能 | 语法 | 示例 | +|------|------|------| +| **Bangs 快捷** | `!缩写` | `!g python` → Google搜索 | +| **密码生成** | `password` | `https://duckduckgo.com/?q=password+20` | +| **颜色转换** | `color` | `https://duckduckgo.com/?q=+%23FF5733` | +| **短链接** | `shorten` | `https://duckduckgo.com/?q=shorten+example.com` | +| **二维码生成** | `qr` | `https://duckduckgo.com/?q=qr+hello+world` | +| **生成UUID** | `uuid` | `https://duckduckgo.com/?q=uuid` | +| **Base64编解码** | `base64` | `https://duckduckgo.com/?q=base64+hello` | + +### 2.2 DuckDuckGo Bangs 完整列表 + +#### 搜索引擎 + +| Bang | 跳转目标 | 示例 | +|------|---------|------| +| `!g` | Google | `!g python tutorial` | +| `!b` | Bing | `!b weather` | +| `!y` | Yahoo | `!y finance` | +| `!sp` | Startpage | `!sp privacy` | +| `!brave` | Brave Search | `!brave tech` | + +#### 编程开发 + +| Bang | 跳转目标 | 示例 | +|------|---------|------| +| `!gh` | GitHub | `!gh tensorflow` | +| `!so` | Stack Overflow | `!so javascript error` | +| `!npm` | npmjs.com | `!npm express` | +| `!pypi` | PyPI | `!pypi requests` | +| `!mdn` | MDN Web Docs | `!mdn fetch api` | +| `!docs` | DevDocs | `!docs python` | +| `!docker` | Docker Hub | `!docker nginx` | + +#### 知识百科 + +| Bang | 跳转目标 | 示例 | +|------|---------|------| +| `!w` | Wikipedia | `!w machine learning` | +| `!wen` | Wikipedia英文 | `!wen artificial intelligence` | +| `!wt` | Wiktionary | `!wt serendipity` | +| `!imdb` | IMDb | `!imdb inception` | + +#### 购物价格 + +| Bang | 跳转目标 | 示例 | +|------|---------|------| +| `!a` | Amazon | `!a wireless headphones` | +| `!e` | eBay | `!e vintage watch` | +| `!ali` | AliExpress | `!ali phone case` | + +#### 地图位置 + +| Bang | 跳转目标 | 示例 | +|------|---------|------| +| `!m` | Google Maps | `!m Beijing` | +| `!maps` | OpenStreetMap | `!maps Paris` | + +### 2.3 DuckDuckGo 搜索参数 + +| 参数 | 功能 | 示例 | +|------|------|------| +| `kp=1` | 严格安全搜索 | `https://duckduckgo.com/html/?q=test&kp=1` | +| `kp=-1` | 关闭安全搜索 | `https://duckduckgo.com/html/?q=test&kp=-1` | +| `kl=cn` | 中国区域 | `https://duckduckgo.com/html/?q=news&kl=cn` | +| `kl=us-en` | 美国英文 | `https://duckduckgo.com/html/?q=news&kl=us-en` | +| `ia=web` | 网页结果 | `https://duckduckgo.com/?q=test&ia=web` | +| `ia=images` | 图片结果 | `https://duckduckgo.com/?q=test&ia=images` | +| `ia=news` | 新闻结果 | `https://duckduckgo.com/?q=test&ia=news` | +| `ia=videos` | 视频结果 | `https://duckduckgo.com/?q=test&ia=videos` | + +### 2.4 DuckDuckGo 深度搜索示例 + +```javascript +// 1. 使用Bang跳转到Google搜索 +web_fetch({"url": "https://duckduckgo.com/html/?q=!g+machine+learning"}) + +// 2. 直接搜索GitHub上的项目 +web_fetch({"url": "https://duckduckgo.com/html/?q=!gh+react"}) + +// 3. 查找Stack Overflow答案 +web_fetch({"url": "https://duckduckgo.com/html/?q=!so+python+list+comprehension"}) + +// 4. 生成密码 +web_fetch({"url": "https://duckduckgo.com/?q=password+16"}) + +// 5. Base64编码 +web_fetch({"url": "https://duckduckgo.com/?q=base64+hello+world"}) + +// 6. 颜色代码转换 +web_fetch({"url": "https://duckduckgo.com/?q=%23FF5733"}) + +// 7. 搜索YouTube视频 +web_fetch({"url": "https://duckduckgo.com/html/?q=!yt+python+tutorial"}) + +// 8. 查看Wikipedia +web_fetch({"url": "https://duckduckgo.com/html/?q=!w+artificial+intelligence"}) + +// 9. 亚马逊商品搜索 +web_fetch({"url": "https://duckduckgo.com/html/?q=!a+laptop"}) + +// 10. 生成二维码 +web_fetch({"url": "https://duckduckgo.com/?q=qr+https://github.com"}) +``` + +--- + +## 🔎 Brave Search 深度搜索 + +### 3.1 Brave Search 特色功能 + +| 功能 | 参数 | 示例 | +|------|------|------| +| **独立索引** | 无依赖Google/Bing | 自有爬虫索引 | +| **Goggles** | 自定义搜索规则 | 创建个性化过滤器 | +| **Discussions** | 论坛讨论搜索 | 聚合Reddit等论坛 | +| **News** | 新闻聚合 | 独立新闻索引 | + +### 3.2 Brave Search 参数 + +| 参数 | 功能 | 示例 | +|------|------|------| +| `tf=pw` | 本周 | `https://search.brave.com/search?q=news&tf=pw` | +| `tf=pm` | 本月 | `https://search.brave.com/search?q=tech&tf=pm` | +| `tf=py` | 本年 | `https://search.brave.com/search?q=AI&tf=py` | +| `safesearch=strict` | 严格安全 | `https://search.brave.com/search?q=test&safesearch=strict` | +| `source=web` | 网页搜索 | 默认 | +| `source=news` | 新闻搜索 | `https://search.brave.com/search?q=tech&source=news` | +| `source=images` | 图片搜索 | `https://search.brave.com/search?q=cat&source=images` | +| `source=videos` | 视频搜索 | `https://search.brave.com/search?q=music&source=videos` | + +### 3.3 Brave Search Goggles(自定义过滤器) + +Goggles 允许创建自定义搜索规则: + +``` +$discard // 丢弃所有 +$boost,site=stackoverflow.com // 提升Stack Overflow +$boost,site=github.com // 提升GitHub +$boost,site=docs.python.org // 提升Python文档 +``` + +### 3.4 Brave Search 深度搜索示例 + +```javascript +// 1. 本周科技新闻 +web_fetch({"url": "https://search.brave.com/search?q=technology&tf=pw&source=news"}) + +// 2. 本月AI发展 +web_fetch({"url": "https://search.brave.com/search?q=artificial+intelligence&tf=pm"}) + +// 3. 图片搜索 +web_fetch({"url": "https://search.brave.com/search?q=machine+learning&source=images"}) + +// 4. 视频教程 +web_fetch({"url": "https://search.brave.com/search?q=python+tutorial&source=videos"}) + +// 5. 使用独立索引搜索 +web_fetch({"url": "https://search.brave.com/search?q=privacy+tools"}) +``` + +--- + +## 📊 WolframAlpha 知识计算搜索 + +### 4.1 WolframAlpha 数据类型 + +| 类型 | 查询示例 | URL | +|------|---------|-----| +| **数学计算** | `integrate x^2 dx` | `https://www.wolframalpha.com/input?i=integrate+x%5E2+dx` | +| **单位换算** | `100 miles to km` | `https://www.wolframalpha.com/input?i=100+miles+to+km` | +| **货币转换** | `100 USD to CNY` | `https://www.wolframalpha.com/input?i=100+USD+to+CNY` | +| **股票数据** | `AAPL stock` | `https://www.wolframalpha.com/input?i=AAPL+stock` | +| **天气查询** | `weather in Beijing` | `https://www.wolframalpha.com/input?i=weather+in+Beijing` | +| **人口数据** | `population of China` | `https://www.wolframalpha.com/input?i=population+of+China` | +| **化学元素** | `properties of gold` | `https://www.wolframalpha.com/input?i=properties+of+gold` | +| **营养成分** | `nutrition of apple` | `https://www.wolframalpha.com/input?i=nutrition+of+apple` | +| **日期计算** | `days between Jan 1 2020 and Dec 31 2024` | 日期间隔计算 | +| **时区转换** | `10am Beijing to New York` | 时区转换 | +| **IP地址** | `8.8.8.8` | IP信息查询 | +| **条形码** | `scan barcode 123456789` | 条码信息 | +| **飞机航班** | `flight AA123` | 航班信息 | + +### 4.2 WolframAlpha 深度搜索示例 + +```javascript +// 1. 计算积分 +web_fetch({"url": "https://www.wolframalpha.com/input?i=integrate+sin%28x%29+from+0+to+pi"}) + +// 2. 解方程 +web_fetch({"url": "https://www.wolframalpha.com/input?i=solve+x%5E2-5x%2B6%3D0"}) + +// 3. 货币实时汇率 +web_fetch({"url": "https://www.wolframalpha.com/input?i=100+USD+to+CNY"}) + +// 4. 股票实时数据 +web_fetch({"url": "https://www.wolframalpha.com/input?i=Apple+stock+price"}) + +// 5. 城市天气 +web_fetch({"url": "https://www.wolframalpha.com/input?i=weather+in+Shanghai+tomorrow"}) + +// 6. 国家统计信息 +web_fetch({"url": "https://www.wolframalpha.com/input?i=GDP+of+China+vs+USA"}) + +// 7. 化学计算 +web_fetch({"url": "https://www.wolframalpha.com/input?i=molar+mass+of+H2SO4"}) + +// 8. 物理常数 +web_fetch({"url": "https://www.wolframalpha.com/input?i=speed+of+light"}) + +// 9. 营养信息 +web_fetch({"url": "https://www.wolframalpha.com/input?i=calories+in+banana"}) + +// 10. 历史日期 +web_fetch({"url": "https://www.wolframalpha.com/input?i=events+on+July+20+1969"}) +``` + +--- + +## 🔧 Startpage 隐私搜索 + +### 5.1 Startpage 特色功能 + +| 功能 | 说明 | URL | +|------|------|-----| +| **代理浏览** | 匿名访问搜索结果 | 点击"匿名查看" | +| **无追踪** | 不记录搜索历史 | 默认开启 | +| **EU服务器** | 受欧盟隐私法保护 | 数据在欧洲 | +| **代理图片** | 图片代理加载 | 隐藏IP | + +### 5.2 Startpage 参数 + +| 参数 | 功能 | 示例 | +|------|------|------| +| `cat=web` | 网页搜索 | 默认 | +| `cat=images` | 图片搜索 | `...&cat=images` | +| `cat=video` | 视频搜索 | `...&cat=video` | +| `cat=news` | 新闻搜索 | `...&cat=news` | +| `language=english` | 英文结果 | `...&language=english` | +| `time=day` | 过去24小时 | `...&time=day` | +| `time=week` | 过去一周 | `...&time=week` | +| `time=month` | 过去一月 | `...&time=month` | +| `time=year` | 过去一年 | `...&time=year` | +| `nj=0` | 关闭 family filter | `...&nj=0` | + +### 5.3 Startpage 深度搜索示例 + +```javascript +// 1. 隐私搜索 +web_fetch({"url": "https://www.startpage.com/sp/search?query=privacy+tools"}) + +// 2. 图片隐私搜索 +web_fetch({"url": "https://www.startpage.com/sp/search?query=nature&cat=images"}) + +// 3. 本周新闻(隐私模式) +web_fetch({"url": "https://www.startpage.com/sp/search?query=tech+news&time=week&cat=news"}) + +// 4. 英文结果搜索 +web_fetch({"url": "https://www.startpage.com/sp/search?query=machine+learning&language=english"}) +``` + +--- + +## 🌍 综合搜索策略 + +### 6.1 按搜索目标选择引擎 + +| 搜索目标 | 首选引擎 | 备选引擎 | 原因 | +|---------|---------|---------|------| +| **学术研究** | Google Scholar | Google, Brave | 学术资源索引 | +| **编程开发** | Google | GitHub(DuckDuckGo bang) | 技术文档全面 | +| **隐私敏感** | DuckDuckGo | Startpage, Brave | 不追踪用户 | +| **实时新闻** | Brave News | Google News | 独立新闻索引 | +| **知识计算** | WolframAlpha | Google | 结构化数据 | +| **中文内容** | Google HK | Bing | 中文优化好 | +| **欧洲视角** | Qwant | Startpage | 欧盟合规 | +| **环保支持** | Ecosia | DuckDuckGo | 搜索植树 | +| **无过滤** | Brave | Startpage | 无偏见结果 | + +### 6.2 多引擎交叉验证 + +```javascript +// 策略:同一关键词多引擎搜索,对比结果 +const keyword = "climate change 2024"; + +// 获取不同视角 +const searches = [ + { engine: "Google", url: `https://www.google.com/search?q=${keyword}&tbs=qdr:m` }, + { engine: "Brave", url: `https://search.brave.com/search?q=${keyword}&tf=pm` }, + { engine: "DuckDuckGo", url: `https://duckduckgo.com/html/?q=${keyword}` }, + { engine: "Ecosia", url: `https://www.ecosia.org/search?q=${keyword}` } +]; + +// 分析不同引擎的结果差异 +``` + +### 6.3 时间敏感搜索策略 + +| 时效性要求 | 引擎选择 | 参数设置 | +|-----------|---------|---------| +| **实时(小时级)** | Google News, Brave News | `tbs=qdr:h`, `tf=pw` | +| **近期(天级)** | Google, Brave | `tbs=qdr:d`, `time=day` | +| **本周** | 所有引擎 | `tbs=qdr:w`, `tf=pw` | +| **本月** | 所有引擎 | `tbs=qdr:m`, `tf=pm` | +| **历史** | Google Scholar | 学术档案 | + +### 6.4 专业领域深度搜索 + +#### 技术开发 + +```javascript +// GitHub 项目搜索 +web_fetch({"url": "https://duckduckgo.com/html/?q=!gh+tensorflow+stars:%3E1000"}) + +// Stack Overflow 问题 +web_fetch({"url": "https://duckduckgo.com/html/?q=!so+python+memory+leak"}) + +// MDN 文档 +web_fetch({"url": "https://duckduckgo.com/html/?q=!mdn+javascript+async+await"}) + +// PyPI 包 +web_fetch({"url": "https://duckduckgo.com/html/?q=!pypi+requests"}) + +// npm 包 +web_fetch({"url": "https://duckduckgo.com/html/?q=!npm+express"}) +``` + +#### 学术研究 + +```javascript +// Google Scholar 论文 +web_fetch({"url": "https://scholar.google.com/scholar?q=deep+learning+2024"}) + +// 搜索PDF论文 +web_fetch({"url": "https://www.google.com/search?q=machine+learning+filetype:pdf+2024"}) + +// arXiv 论文 +web_fetch({"url": "https://duckduckgo.com/html/?q=site:arxiv.org+quantum+computing"}) +``` + +#### 金融投资 + +```javascript +// 股票实时数据 +web_fetch({"url": "https://www.wolframalpha.com/input?i=AAPL+stock"}) + +// 汇率转换 +web_fetch({"url": "https://www.wolframalpha.com/input?i=EUR+to+USD"}) + +// 搜索财报PDF +web_fetch({"url": "https://www.google.com/search?q=Apple+Q4+2024+earnings+filetype:pdf"}) +``` + +#### 新闻时事 + +```javascript +// Google新闻 +web_fetch({"url": "https://www.google.com/search?q=breaking+news&tbm=nws&tbs=qdr:h"}) + +// Brave新闻 +web_fetch({"url": "https://search.brave.com/search?q=world+news&source=news"}) + +// DuckDuckGo新闻 +web_fetch({"url": "https://duckduckgo.com/html/?q=tech+news&ia=news"}) +``` + +--- + +## 🛠️ 高级搜索技巧汇总 + +### URL编码工具函数 + +```javascript +// URL编码关键词 +function encodeKeyword(keyword) { + return encodeURIComponent(keyword); +} + +// 示例 +const keyword = "machine learning"; +const encoded = encodeKeyword(keyword); // "machine%20learning" +``` + +### 批量搜索模板 + +```javascript +// 多引擎批量搜索函数 +function generateSearchUrls(keyword) { + const encoded = encodeURIComponent(keyword); + return { + google: `https://www.google.com/search?q=${encoded}`, + google_hk: `https://www.google.com.hk/search?q=${encoded}`, + duckduckgo: `https://duckduckgo.com/html/?q=${encoded}`, + brave: `https://search.brave.com/search?q=${encoded}`, + startpage: `https://www.startpage.com/sp/search?query=${encoded}`, + bing_intl: `https://cn.bing.com/search?q=${encoded}&ensearch=1`, + yahoo: `https://search.yahoo.com/search?p=${encoded}`, + ecosia: `https://www.ecosia.org/search?q=${encoded}`, + qwant: `https://www.qwant.com/?q=${encoded}` + }; +} + +// 使用示例 +const urls = generateSearchUrls("artificial intelligence"); +``` + +### 时间筛选快捷函数 + +```javascript +// Google时间筛选URL生成 +function googleTimeSearch(keyword, period) { + const periods = { + hour: 'qdr:h', + day: 'qdr:d', + week: 'qdr:w', + month: 'qdr:m', + year: 'qdr:y' + }; + return `https://www.google.com/search?q=${encodeURIComponent(keyword)}&tbs=${periods[period]}`; +} + +// 使用示例 +const recentNews = googleTimeSearch("AI breakthrough", "week"); +``` + +--- + +## 📝 完整搜索示例集 + +```javascript +// ==================== 技术开发 ==================== + +// 1. 搜索GitHub上高Star的Python项目 +web_fetch({"url": "https://www.google.com/search?q=site:github.com+python+stars:%3E1000"}) + +// 2. Stack Overflow最佳答案 +web_fetch({"url": "https://duckduckgo.com/html/?q=!so+best+way+to+learn+python"}) + +// 3. MDN文档查询 +web_fetch({"url": "https://duckduckgo.com/html/?q=!mdn+promises"}) + +// 4. 搜索npm包 +web_fetch({"url": "https://duckduckgo.com/html/?q=!npm+axios"}) + +// ==================== 学术研究 ==================== + +// 5. Google Scholar论文 +web_fetch({"url": "https://scholar.google.com/scholar?q=transformer+architecture"}) + +// 6. 搜索PDF论文 +web_fetch({"url": "https://www.google.com/search?q=attention+is+all+you+need+filetype:pdf"}) + +// 7. arXiv最新论文 +web_fetch({"url": "https://duckduckgo.com/html/?q=site:arxiv.org+abs+quantum"}) + +// ==================== 新闻时事 ==================== + +// 8. Google最新新闻(过去1小时) +web_fetch({"url": "https://www.google.com/search?q=breaking+news&tbs=qdr:h&tbm=nws"}) + +// 9. Brave本周科技新闻 +web_fetch({"url": "https://search.brave.com/search?q=technology&tf=pw&source=news"}) + +// 10. DuckDuckGo新闻 +web_fetch({"url": "https://duckduckgo.com/html/?q=world+news&ia=news"}) + +// ==================== 金融投资 ==================== + +// 11. 股票实时数据 +web_fetch({"url": "https://www.wolframalpha.com/input?i=Tesla+stock"}) + +// 12. 货币汇率 +web_fetch({"url": "https://www.wolframalpha.com/input?i=1+BTC+to+USD"}) + +// 13. 公司财报PDF +web_fetch({"url": "https://www.google.com/search?q=Microsoft+annual+report+2024+filetype:pdf"}) + +// ==================== 知识计算 ==================== + +// 14. 数学计算 +web_fetch({"url": "https://www.wolframalpha.com/input?i=derivative+of+x%5E3+sin%28x%29"}) + +// 15. 单位换算 +web_fetch({"url": "https://www.wolframalpha.com/input?i=convert+100+miles+to+kilometers"}) + +// 16. 营养信息 +web_fetch({"url": "https://www.wolframalpha.com/input?i=protein+in+chicken+breast"}) + +// ==================== 隐私保护搜索 ==================== + +// 17. DuckDuckGo隐私搜索 +web_fetch({"url": "https://duckduckgo.com/html/?q=privacy+tools"}) + +// 18. Startpage匿名搜索 +web_fetch({"url": "https://www.startpage.com/sp/search?query=secure+messaging"}) + +// 19. Brave无追踪搜索 +web_fetch({"url": "https://search.brave.com/search?q=encryption+software"}) + +// ==================== 高级组合搜索 ==================== + +// 20. Google多条件精确搜索 +web_fetch({"url": "https://www.google.com/search?q=%22machine+learning%22+site:github.com+filetype:pdf+2024"}) + +// 21. 排除特定站点的搜索 +web_fetch({"url": "https://www.google.com/search?q=python+tutorial+-wikipedia+-w3schools"}) + +// 22. 价格范围搜索 +web_fetch({"url": "https://www.google.com/search?q=laptop+%24800..%241200+best+review"}) + +// 23. 使用Bangs快速跳转 +web_fetch({"url": "https://duckduckgo.com/html/?q=!g+site:medium.com+python"}) + +// 24. 图片搜索(Google) +web_fetch({"url": "https://www.google.com/search?q=beautiful+landscape&tbm=isch"}) + +// 25. 学术引用搜索 +web_fetch({"url": "https://scholar.google.com/scholar?q=author:%22Geoffrey+Hinton%22"}) +``` + +--- + +## 🔐 隐私保护最佳实践 + +### 搜索引擎隐私级别 + +| 引擎 | 追踪级别 | 数据保留 | 加密 | 推荐场景 | +|------|---------|---------|------|---------| +| **DuckDuckGo** | 无追踪 | 无保留 | 是 | 日常隐私搜索 | +| **Startpage** | 无追踪 | 无保留 | 是 | 需要Google结果但保护隐私 | +| **Brave** | 无追踪 | 无保留 | 是 | 独立索引,无偏见 | +| **Qwant** | 无追踪 | 无保留 | 是 | 欧盟合规要求 | +| **Google** | 高度追踪 | 长期保留 | 是 | 需要个性化结果 | +| **Bing** | 中度追踪 | 长期保留 | 是 | 微软服务集成 | + +### 隐私搜索建议 + +1. **日常使用**: DuckDuckGo 或 Brave +2. **需要Google结果但保护隐私**: Startpage +3. **学术研究**: Google Scholar(学术用途追踪较少) +4. **敏感查询**: 使用Tor浏览器 + DuckDuckGo onion服务 +5. **跨设备同步**: 避免登录搜索引擎账户 + +--- + +## 📚 参考资料 + +- [Google搜索操作符完整列表](https://support.google.com/websearch/answer/...) +- [DuckDuckGo Bangs完整列表](https://duckduckgo.com/bang) +- [Brave Search文档](https://search.brave.com/help/...) +- [WolframAlpha示例](https://www.wolframalpha.com/examples/) diff --git a/skills/pdf/LICENSE.txt b/skills/pdf/LICENSE.txt new file mode 100755 index 0000000..e092e50 --- /dev/null +++ b/skills/pdf/LICENSE.txt @@ -0,0 +1,13 @@ +Copyright (c) 2026 Z.ai All rights reserved. + +Permission is granted for personal, educational, and non-commercial use only. + +Commercial use is strictly prohibited without prior written permission from the author. + +Unauthorized copying, modification, or distribution of the software for commercial purposes is prohibited. + +The author reserves the right to make the final determination of what constitutes "commercial use". + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM THE USE OF THE SOFTWARE. diff --git a/skills/pdf/SKILL.md b/skills/pdf/SKILL.md new file mode 100755 index 0000000..8a59311 --- /dev/null +++ b/skills/pdf/SKILL.md @@ -0,0 +1,915 @@ +--- +name: pdf +metadata: + author: Z.AI + version: "1.0" +description: Professional PDF toolkit with four production lines: (1) Report - structured documents via ReportLab (reports, proposals, contracts, white papers) (2) Creative - visual design via JSON Blueprint → design_engine.py → Playwright snapshot (posters, infographics, invitations, dashboards). The LLM acts as Art Director outputting ONLY JSON spatial blueprints; convert.blueprint compiles to pixel-perfect PDF. (3) Academic - scholarly work via LaTeX/Tectonic (papers, theses, math-heavy documents) (4) Process - manipulate existing PDFs (extract, merge, split, fill forms, convert) Auto-routes based on document type. Includes ATS/creative/academic resume sub-paths. +license: Proprietary. LICENSE.txt has complete terms +--- + +# PDF - Document Production Workbench + +## Quick Setup + +```bash +bash "$PDF_SKILL_DIR/scripts/setup.sh" # Interactive environment check + install +python3 "$PDF_SKILL_DIR/scripts/pdf.py" env.check # Detailed dependency status (JSON: add -j) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" env.fix # Auto-install missing Python packages +``` + +## Triage + +Determine task weight to control how much context to load: + +| Weight | Triggers | What to Load | +|--------|----------|--------------| +| **Light** | Format conversion, form fill, text extract, merge/split, simple certificate | SKILL.md + `briefs/process.md` only | +| **Standard** | Multi-page report, poster, academic paper, resume, reformat - any document with design decisions | SKILL.md + matched brief + typesetting assets on demand | + +Light tasks skip typesetting files entirely. Standard tasks load them on demand per the brief's instructions. + +### ⚠️ Pre-Routing Checks (run BEFORE matching brief) + +1. **Emoji Check** - Scan user content for intentional emoji (decorative 📊🎯🔥, not OS-level emoji input). If found → **force Creative brief** regardless of document type. ReportLab renders emoji as □ squares; LaTeX drops them entirely. +2. **CJK Check** - Chinese/Japanese/Korean content needs font coverage. Report brief must use `UniSong`/`UniHei` registered fonts; Creative brief must load Google Fonts Noto Sans SC with `font-display: swap`; Academic brief must use `\usepackage{ctex}`. +3. **Size Check** - Non-standard page sizes (not A4/Letter/A3) → prefer Creative brief (Playwright handles any dimension). ReportLab can do custom sizes but pagination is manual. +4. **Character Safety Check** - Before writing any content string, scan for Japanese kana (の、が、は etc.), unusual Unicode symbols, or non-CJK characters that may corrupt during encoding transit ( Especially when code is written via heredoc/base64/LLM output). Replace with plain Chinese equivalents: `の`→`之/的/缔`, `々`→omit or write full character. **If content must preserve Japanese, use only standard CJK Unified Ideographs (U+4E00-U+9FFF) and common kana; avoid rare/private-use codepoints.** + +--- + +## Briefing + +Match the user's intent to a production brief. Each brief contains the full workflow, tech stack specifics, and references to shared typesetting assets. + +``` +User Request +│ +├─ Work with existing PDF? ─────────────┬─ Extract/merge/split/fill/convert → briefs/process.md +│ ├─ Reformat/redesign → briefs/process.md (extract) → delegate to report or creative brief +│ └─ User provides a PDF template/reference to match style +│ → briefs/process.md "Template-Guided Reformat" → delegate to matched brief +│ +├─ Report / proposal / white paper / contract / analysis? +│ └─ ────────────────────────────────── → briefs/report.md (ReportLab) +│ +├─ Poster / invitation / infographic / dashboard / creative layout? +│ └─ ────────────────────────────────── → briefs/creative.md (Playwright) +│ +├─ Academic paper / thesis / math / IEEE / ACM / LaTeX? +│ └─ ────────────────────────────────── → briefs/academic.md (Tectonic) +│ +├─ Math-heavy doc / TikZ diagram / algorithm pseudocode / Beamer slides? +│ └─ ────────────────────────────────── → briefs/academic.md (Tectonic, Scenarios A-D) +│ +├─ Document needs complex embedded diagrams (flowcharts, architecture, neural nets)? +│ └─ Route by target brief: +│ ├─ Report → Playwright+CSS → PNG → ReportLab Image() flowable +│ ├─ Creative → directly in HTML (CSS flexbox/grid + connectors) +│ └─ Academic → complexity-based: +│ ├─ Simple (≤6 nodes, linear/tree) → TikZ native (vector) +│ └─ Complex (>6 nodes, branches, annotations) → Playwright+CSS → PNG → \includegraphics +│ +└─ Resume / CV? + ├─ ATS-safe / corporate ─────────── → briefs/report.md (resume sub-section) + ├─ Creative / design industry ────── → briefs/creative.md (resume sub-section) + └─ Academic CV / publications ────── → briefs/academic.md (resume sub-section) +``` + +### Detection Keywords + +| Brief | Keywords | +|-------|----------| +| Report | 报告, report, 分析, analysis, 白皮书, white paper, 提案, proposal, 合同, contract, 方案, 规划, 发票, invoice, 收据, receipt, 试卷, exam, quiz, test paper, 练习, exercise, worksheet, 考试, 测验 | +| Creative | 海报, poster, 邀请函, invitation, 信息图, infographic, 仪表盘, dashboard, 传单, flyer, 证书, certificate, 菜单, menu, 名片, business card, 奖状, award, 标签, label, 信封, envelope, 贺卡, greeting card | +| Creative (Poster) | 海报, poster, 传单, flyer, 宣传页, 宣传单 → additionally load `briefs/poster.md` scene layer rules | +| Academic | 论文, paper, 学术, academic, LaTeX, 数学, math, IEEE, ACM, 毕业, thesis, 研究, research, Beamer, slides, 开题报告, 学位, dissertation, proposal | +| Process | 提取, extract, 合并, merge, 拆分, split, 填写, fill, 转换, convert, OCR, 重排, reformat, 重新排版, redesign, 模板, template, 参照, 照着这个做, match this style, 压缩, compress, 水印, watermark, 加密, encrypt, 签名, sign | + +### Complete Scenario Routing Matrix + +Below is an exhaustive map of every known PDF request type to its handling strategy. If a scenario is not listed, route to the closest match or ask the user. + +#### 📄 Creation (Generate PDF from scratch) + +| Scenario | Route | Notes | +|----------|-------|-------| +| Report / white paper / analysis | report.md | ReportLab structured document | +| Report with emoji | **creative.md** | 🚨 Emoji rule override | +| Business proposal | report.md | Structured + data tables | +| Contract / legal document | report.md | Add signature placeholders (dotted line + label) | +| Invoice / receipt | report.md | Table-heavy, precision alignment | +| Exam / quiz / test paper / worksheet | report.md | Indented options, answer space reservation, structured numbering (see Exam Paper Rules in report.md) | +| Math exam / math worksheet (with formulas/equations) | academic.md | LaTeX for proper math typesetting. See §Exam Paper Rules in academic.md | +| Poster / flyer | creative.md + **poster.md** | Visual design + poster density/sizing rules | +| Invitation / greeting card | creative.md | Non-standard size, decorative | +| Certificate / award | creative.md | Single page, centered layout, decorative border | +| Business card | creative.md | Tiny size (90×54mm), Playwright native support | +| Envelope / label | creative.md | Non-standard size, simple layout | +| Menu / price list | creative.md | Visual layout + may contain emoji | +| Resume (ATS) | report.md | Plain text structure | +| Resume (creative) | creative.md | Visual design | +| Resume (academic CV) | academic.md | Publication list + BibTeX | +| Academic paper | academic.md | LaTeX/Tectonic | +| Math-heavy document | academic.md | LaTeX typesetting | +| Presentation / PPT-style | creative.md | Landscape (1280×720), one topic per page | +| Book / long document | report.md | Add TOC + chapter numbering, validate with toc_validate.py | +| CJK vertical text | creative.md | HTML `writing-mode: vertical-rl` + `text-orientation: upright` + `white-space: nowrap` + Playwright | +| RTL document (Arabic/Hebrew) | creative.md | HTML `dir="rtl"` + Playwright | +| Batch generation (mail merge) | report.md | Python loop + template variable substitution | +| Infographic | creative.md | Data visualization + design | +| Calendar / schedule | creative.md | Grid layout + custom dimensions | + +#### 🔧 Processing (Manipulate existing PDF) + +| Scenario | Route | Command / Method | +|----------|-------|------------------| +| Merge multiple PDFs | process.md | `pages.merge a.pdf b.pdf -o out.pdf` | +| Split PDF | process.md | `pages.split input.pdf -o ./output/` | +| Extract text | process.md | `extract.text input.pdf` | +| Extract tables | process.md | `extract.table input.pdf` | +| Extract images | process.md | `extract.image input.pdf` | +| Fill forms | process.md | `form.fill input.pdf` | +| Office → PDF | process.md | `convert.office input.docx` | +| HTML → PDF (documents) | process.md | `convert.html input.html` or `node html2pdf-next.js` | +| HTML → PDF (posters) | poster.md | `node html2poster.js poster.html` | +| Image → PDF | process.md | pikepdf: one image per page, embed as XObject | +| PDF → image | process-advanced.md | pypdfium2 render each page to PNG | +| Encrypt / decrypt | process-advanced.md | pikepdf encryption | +| Add watermark | process.md | pikepdf overlay: create watermark page → merge onto each page | +| Compress PDF | process.md | Ghostscript: `gs -sDEVICE=pdfwrite -dPDFSETTINGS=/screen` | +| OCR scanned PDF | process-advanced.md | ocrmypdf or Tesseract | +| Rotate pages | process.md | `pages.rotate input.pdf 90 -o out.pdf` | +| Crop pages | process.md | `pages.crop input.pdf l,b,r,t -o out.pdf` | +| Remove blank pages | process.md | `pages.clean input.pdf` | +| Reformat by template | process.md → delegate | Extract content → regenerate via report/creative | +| PDF diff / compare | process.md | `diff-pdf` CLI or Python per-page text comparison | +| Digital signature | process.md | `pyhanko` library (requires extra install) | +| Edit metadata | process.md | `meta.set input.pdf -o out.pdf -d '{...}'` | + +### Special Routing Rules + +**🚨 Emoji rule (CRITICAL - check FIRST)**: Content with intentional emoji (📊🎯🔥💡 etc.) → force **briefs/creative.md** regardless of document type. ReportLab renders emoji as □ squares; LaTeX silently drops them. This rule overrides all other routing. Even if the user says "report" - if the content has emoji, use Creative pipeline. + +**Non-standard page size rule**: Dimensions other than A4/Letter/A3 → strongly prefer **briefs/creative.md**. Playwright handles any arbitrary page size natively. ReportLab requires manual pagination math. + +**Academic auto-detect**: Papers, theses, or heavy math → **briefs/academic.md** even without explicit "LaTeX" mention. + +**Template-guided rule**: When the user uploads a PDF and says "match this template" / "follow this style" / "reformat like this" → **briefs/process.md** Template-Guided Reformat section. This is a Standard triage (not Light), because it involves design decisions. + +**Resume routing**: Default to Report brief (ATS-safe). Creative industry → Creative brief. Academic CV with publications → Academic brief. + +--- + +## Shared Assets + +These are referenced by multiple briefs. **Do not load upfront** - each brief tells you when and what to load. + +| Asset | Path | Used By | Purpose | +|-------|------|---------|---------| +| Palette & Typography | `typesetting/palette.md` | Report, Creative | Color system, font rules, anti-patterns, spacing | +| Cover Layout System V2.1 | `typesetting/cover.md` | **Report + Creative + Academic** | 7 industrial-grade templates with absolute anchor grid, Z-index layers, typography weight system, mandatory Summary Block, code-level safety (5 checks), base unit `U = W*0.05`. **Unified HTML/Playwright cover system for all routes.** | +| Chart Styling & Anti-Stacking | `typesetting/charts.md` | Report, Creative, Academic | Chart defaults, collision prevention, axis/grid/legend rules | +| Overflow Prevention | `typesetting/overflow.md` | Report, Creative, Academic | Bounding box system, text/image/table overflow prevention, fallback strategies | +| **Fill Engine (Anti-Void)** | `typesetting/fill-engine.md` | **Report, Creative, Academic** | **Anti-Void Engine V2.0: font floor enforcement, fill ratio calculation, paragraph inflation, component elevation, Y-axis golden-ratio anchoring** | +| Pagination & Flow Control | `typesetting/pagination.md` | Report, Creative | Cross-page integrity, orphan/widow control, CJK punctuation rules | +| Typography System | `typesetting/typography.md` | Report, Creative | Font size scale, line-height, spacing hierarchy | +| Geometric Anchors | `typesetting/geometry.md` | Creative + Report | Decorative geometric elements, anchor placement rules | +| Cover Backgrounds | `typesetting/cover-backgrounds.md` | **Report + Creative + Academic** | Cover background rendering, transparency constraints | +| Visual Framework | `configs/visual_framework.md` | Creative | Palette mode, color harmony, SVG background params | +| Components Library | `configs/components.md` | Creative | Non-grid composition components (floating cards, oversized text, etc.) | +| Font Stacks | `configs/fonts.md` | All pipelines | Font families per pipeline (Google Fonts, ReportLab, LaTeX) | + +--- + +## Content Rules + +- **Language**: Match user's query language. Chinese query → Chinese PDF. +- **Page/word count**: Respect explicit constraints (±20%). Unspecified → completeness over brevity. +- **Outline**: User-provided outlines are sacred. No reordering without asking. +- **Citations**: No fabrication. Chinese → GB/T 7714, English → APA. Search to verify. +- **Multi-part requests**: Generate ALL parts - never silently drop a component. + +### HTML Image Source Path Rules + +When embedding images in HTML documents (Creative pipeline, Playwright-rendered diagrams, or any HTML→PDF flow): + +| Image location | `<img src>` value | Example | +|---|---|---| +| **Local file** | **Relative path** from the HTML file's directory | `<img src="images/chart.png">` or `<img src="./diagram.png">` | +| **Remote URL** | Full URL (no change needed) | `<img src="https://example.com/photo.jpg">` | + +**Iron rules:** +1. **NEVER use absolute paths** for local files in HTML `<img>`, `<source>`, CSS `url()`, or any other asset reference (e.g. `/Users/alice/project/img.png`). Absolute paths break portability across machines and environments. +2. **Always use relative paths** anchored to the HTML file's own directory. If the image lives in a subdirectory, use `images/foo.png` or `./images/foo.png`. +3. **Remote URLs (`http://` / `https://`) are fine as-is** — do not convert them to local paths. +4. When generating HTML from a script or blueprint, ensure all referenced assets are either (a) in the same directory as the output HTML, or (b) in a clearly named subdirectory (e.g. `assets/`, `images/`), and referenced with relative paths. +5. If a build script needs to resolve paths programmatically, compute relative paths at generation time (e.g. `os.path.relpath(image_path, html_dir)`) rather than embedding absolute filesystem paths. + +--- + +## Figure & Diagram Embedding (All Briefs) + +### Iron Rule: Figures Are Block-Level + +Figures, diagrams, and charts MUST be independent block elements occupying full width. **Never** float/wrap figures alongside body text - this causes the text-diagram overlap badcase. + +| Brief | Correct embedding | Forbidden | +|-------|-------------------|-----------| +| Report (ReportLab) | `story.append(Image(...))` as standalone Flowable | Placing images inside Paragraph text, simulating float | +| Creative (Playwright) | `<figure style="display:block; width:100%; margin:2em auto">` | `float:right`, `display:flex` with text, `wrapfigure`-style CSS | +| Academic (LaTeX) | `\begin{figure}[t] ... \end{figure}` | Bare `\includegraphics` in text body (no figure env), bare `tikzpicture` in multi-column | + +### Complex Diagram Strategy + +When a diagram has **>12 nodes, >3 subgroups, or intricate connections**, do NOT try to render it as one giant figure. Instead: + +1. **Table for details** - structured data (phases, components, specs) goes into a proper table +2. **Simplified overview diagram** - a stripped-down flowchart/Mermaid showing only the top-level flow (≤8 nodes) +3. **Cross-reference** - table caption + diagram caption reference each other + +This "table + simple diagram" pattern prevents: +- Diagrams overflowing page boundaries +- Text becoming unreadably small to fit everything +- Layout engines mishandling oversized graphics + +### Diagram Content Quality Rules (Cross-reference: charts) + +The rules above handle **how** to embed diagrams in PDF. For **what the diagram itself looks like** (node layout, connector routing, color, readability), follow the `charts` skill rules: + +**Before generating ANY flowchart/diagram for PDF embedding, check these:** + +1. **Connectors must not pass through nodes** - If 3+ layers exist, connect adjacent layers only (top→mid, mid→bottom). Never draw top→bottom lines through middle nodes. Use detour paths if cross-layer links are needed. +2. **Multiple arrows into one node must not pile up** - Distribute entry points evenly along target edge, or use merge-then-enter pattern (sources converge to a vertical merge line, then single arrow to target). +3. **Low-saturation fills only** - Node backgrounds must be pale (`#EFF6FF`, `#F0FDF4`). High-saturation colors (`#3B82F6`, `#10B981`) only for borders or small accents. No children's-art color schemes. +4. **Phase titles vs sub-steps must be visually distinct** - Different background color, font size, and font weight. Never same-style boxes for both. +5. **Font sizes must be readable at final output size** - Sizes depend on the embedding context: + | Output context | Node title min | Description min | Label min | + |---------------|----------------|-----------------|-----------| + | Standalone PNG (web/presentation, ≥1200px wide) | 14px | 12px | 11px | + | Embedded in A4 PDF (ReportLab/LaTeX, ~450pt content width) | 10pt | 8pt | 7pt | + | Embedded in slide deck (landscape, ~720pt wide) | 12pt | 10pt | 9pt | + + **Principle**: After embedding, the smallest text in the diagram must still be legible when the document is viewed at 100% zoom. If the diagram is scaled down to fit page width, recalculate: `effective_size = original_size × (display_width / canvas_width)`. If effective size drops below the minimum, either increase original font size or reduce diagram complexity. +6. **Legend/annotations must not overlap content** - Separate container, ≥ 40px gap from last node, fully within canvas bounds. + +**For Playwright-rendered diagrams**: Use low-saturation fills (`#EFF6FF`, `#F0FDF4`), CSS flexbox/grid for node layout, SVG `<line>`/`<path>` for connectors, and verify no overlap at final render size. +**For ReportLab-drawn diagrams**: Same principles apply - use `Drawing()` with explicit coordinates, check node bounding boxes for overlap before finalizing. + +### Diagram Generation Strategy (Per-Brief) + +Diagram rendering depends on the target brief - **NOT** a one-size-fits-all TikZ pipeline. + +| Target Brief | Diagram Method | Rationale | +|---|---|---| +| **Report** (ReportLab) | Playwright+CSS → PNG → `Image()` | No LaTeX compiler in this route; HTML/CSS handles any layout natively | +| **Creative** (Playwright) | Directly in HTML (CSS flexbox/grid + JS connectors) | Already in browser context | +| **Academic** (Tectonic) - simple (≤6 nodes) | TikZ native `tikzpicture` | Vector output, font consistency, LaTeX-native | +| **Academic** (Tectonic) - complex (>6 nodes) | Playwright+CSS → PNG @2× → `\includegraphics` | TikZ branch logic is error-prone for models; 300dpi PNG is publication-ready | + +**Playwright+CSS diagram pipeline (Report & Academic-complex):** + +```bash +# 1. Write diagram HTML (CSS grid/flexbox + connectors) +cat > diagram.html << 'EOF' +<!-- LLM generates: nodes as divs, arrows as SVG/CSS --> +EOF + +# 2. Screenshot at 2× for print quality (300dpi equivalent) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.blueprint diagram.html --device-scale-factor 2 --output diagram.png +# Or via Playwright directly: +# page.screenshot(path='diagram.png', scale='device', device_scale_factor=2) + +# 3a. Embed in ReportLab (Report brief) +from reportlab.platypus import Image +img = Image('diagram.png', width=450) # auto height via aspect ratio +story.append(img) + +# 3b. Embed in LaTeX (Academic brief, complex diagrams only) +# \includegraphics[width=\columnwidth]{diagram.png} +``` + +**🚫 FORBIDDEN for Report/Creative briefs:** Do NOT use TikZ standalone → compile → pdftoppm → PNG pipeline. This route has no LaTeX compiler and the extra compilation steps are error-prone. + +**TikZ remains valid ONLY for:** +- Academic brief with simple diagrams (≤6 nodes, linear/hierarchical) +- Direct `tikzpicture` embedding in LaTeX documents +- Math-annotated diagrams where LaTeX math rendering matters + +See `briefs/academic.md` Scenario B for TikZ templates (simple diagrams only). + +--- + +## Vector Rendering Iron Rule + +**The final PDF MUST be generated via `page.pdf()` (Playwright) or ReportLab/LaTeX native output - NEVER via screenshot-to-PDF.** + +| Scenario | Correct Method | Forbidden | +|----------|---------------|-----------| +| Creative pipeline (single/multi-page) | `page.pdf()` via `convert.blueprint` or `html2pdf-next.js` | `page.screenshot()` → image → wrap as PDF | +| Report cover (HTML/Playwright) | `page.pdf()` → merge via pypdf | Screenshot cover → embed as image | +| Academic cover | `page.pdf()` → merge via pypdf | Screenshot → `\includegraphics` for cover | +| Full-page posters/infographics | `html2poster.js` (auto overflow:hidden + height measurement + `page.pdf()`) | Any raster pipeline for the final output | + +**Why:** `page.pdf()` produces vector text + vector shapes. Text remains selectable, sharp at any zoom, and file size is smaller. Screenshot-based PDFs are raster images - blurry when zoomed, unsearchable, and 3-5× larger. + +**The ONLY place screenshot/PNG embedding is acceptable:** +- **Diagrams** embedded as sub-elements inside a larger document (e.g., flowcharts in a Report). These use `page.screenshot()` at 2× device scale factor for 300dpi print quality, then embed via `Image()` (ReportLab) or `\includegraphics` (LaTeX). +- **Chart images** generated by matplotlib/plotly saved as PNG, then embedded. + +These are sub-elements, not the document itself. The document-level PDF output must always be vector. + +**Quick test:** Open the generated PDF, zoom to 400%. If text is blurry, you used a screenshot pipeline. Fix it. + +### HTML→PDF Engine Selection Rules + +There are **two dedicated scripts** for HTML→PDF. Choose based on document type: + +| Document type | Script | Reason | +|---------------|--------|--------| +| **Posters, infographics, long-image single-page designs** | `html2poster.js` | Auto overflow:hidden, auto height measurement, zero margin, single-page output | +| **Cover pages (Report/Academic route)** | `html2poster.js` | Covers are single-page fixed layouts with absolute positioning — same nature as posters. `html2pdf-next.js` would convert absolute→static and destroy the layout | +| **Multi-page documents, reports, academic papers, resumes** | `html2pdf-next.js` | A4/custom pagination, 20mm margin fallback, cover adaptation, pdf-lib metadata | +| **Creative pipeline (Blueprint → HTML → PDF)** | `html2pdf-next.js` via `convert.blueprint` | Called internally by design_engine pipeline | + +#### Poster / Single-Page Long-Image → `html2poster.js` + +```bash +node "$PDF_SKILL_DIR/scripts/html2poster.js" poster.html --output poster.pdf --width 720px +``` + +`html2poster.js` automatically: +- Forces `overflow: hidden` on `.poster` / `.page` containers (clips decorative overflow) +- Injects `@page { margin: 0 }` (zero margins always) +- Syncs `html/body` background with poster background color +- Measures `.poster` scrollHeight and uses it as PDF height +- Generates a single-page vector PDF with exact content dimensions + +**Use this for ANY fixed-width, dynamic-height, single-page design.** + +#### Documents / Multi-Page → `html2pdf-next.js` + +```bash +node "$PDF_SKILL_DIR/scripts/html2pdf-next.js" input.html --output output.pdf --width 210mm --height 297mm +# Or via pdf.py wrapper: +python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.html input.html --output output.pdf +``` + +Pre-render hooks auto-handle @page injection, overflow detection, cover adaptation, font loading, and pdf-lib metadata. + +#### ⚠️ Iron Rule: No Hand-Written Playwright Scripts + +Common issues with hand-written Python `page.pdf()` (the dedicated scripts handle these automatically): +1. **Missing `@page` rule** → browser default margin causes content overflow to second page or white edges +2. **Oversized elements not fixed** → large elements with `break-inside: avoid` block pagination, content gets truncated +3. **Rendering before fonts are loaded** → Chinese text displays as squares or falls back to wrong font +4. **No overflow detection** → content exceeds page boundary without awareness +5. **No metadata** → PDF title, author, and other info missing + +**Iron rule: Posters and cover pages use `html2poster.js`, multi-page documents use `html2pdf-next.js`. Do not write hand-written Python Playwright scripts.** + +> **⚠️ Cover page gotcha:** Cover HTML uses `position: absolute` for layout. `html2pdf-next.js` pre-render hooks convert absolute-positioned elements to `static` flow (to prevent multi-page overlap), which **destroys** cover layouts. Always use `html2poster.js` for cover pages. + +### No overflow:hidden on Fixed-Size Pages (html2pdf-next.js only) + +When using `html2pdf-next.js` for documents, **NEVER set `overflow: hidden` on `html`, `body`, or the main page container**. + +> **Note:** This rule does NOT apply to posters rendered via `html2poster.js` — that script automatically adds `overflow: hidden` to `.poster`/`.page` containers to clip decorative overflow. You don't need to add or remove it manually. + +| Problem | Cause | Fix | +|---------|-------|-----| +| Browser preview cuts off bottom content, can't scroll | `overflow: hidden` on container + viewport < design height | Remove `overflow: hidden` | +| html2pdf-next.js "Fixed vertical overflow" warning, layout may break | Pre-render detects `scrollHeight > clientHeight` + hidden overflow, force-expands container | Remove `overflow: hidden` | + +**Always pair fixed-size pages with `@media screen` auto-scale** so the full page is visible in any browser window without scrolling. See `briefs/creative.md` § 0.5 for the CSS pattern. + +### Full-Bleed Rule (No White Margins) + +When generating HTML for Playwright `page.pdf()`, the content **MUST fill the entire page** with zero margins. White side margins = broken layout. + +**Mandatory CSS for any HTML → PDF:** +```css +@page { + size: <width> <height>; /* e.g., 720px 960px, or A4 */ + margin: 0; +} +html, body { + margin: 0; + padding: 0; +} +``` + +**Common causes of white margins:** +1. Missing `@page { margin: 0 }` - browser default margins kick in (~1cm each side) +2. Content width doesn't match page width - e.g., canvas is 720px but page is A4 (794px) +3. Missing `@page { size }` declaration in the HTML +4. Content has explicit `max-width` that's narrower than the page + +**For blueprint pipeline:** `design_engine.py` now injects `@page { size: var(--canvas-w) var(--canvas-h); margin: 0; }` automatically. +**For raw HTML:** YOU must include the `@page` rule. No exceptions. +**For direct Playwright:** Pass `margin: { top: 0, right: 0, bottom: 0, left: 0 }` to `page.pdf()`. + +### Background Color Consistency (No Color Mismatch) + +**`html` / `body` background color must match the content canvas background color.** + +Playwright `page.pdf({ printBackground: true })` renders the body background color. If body is white while the content area is gray/colored, color-inconsistent borders/gaps will appear in the PDF. + +#### Single-color documents (all pages same background) + +```css +/* MANDATORY: body background = content background */ +html, body { + margin: 0; + padding: 0; + background: var(--c-bg); /* Same color as content canvas */ +} +``` + +#### Multi-page documents with mixed backgrounds (e.g. dark cover + white body pages) + +**Root cause:** Playwright resolves `.page { width: 210mm }` and `@page { size: 210mm }` to slightly different sub-pixel values (e.g. 793.688px vs 793.701px). This creates a <1px gap at the right/bottom edge of each `.page` div where `body`'s background shows through. On dark pages, a white `body` background makes this gap visible as a white edge. + +**Fix — set `body` background to the document's dominant dark color:** + +```css +:root { + --primary: #0f172a; /* darkest page background */ +} +html, body { + margin: 0; + padding: 0; + width: 210mm; /* match @page size */ + background: var(--primary); /* fallback for sub-pixel gaps */ +} +``` + +**Why this works and doesn't break white pages:** +- Dark pages: sub-pixel gap reveals dark `body` → gap invisible. +- White pages: `.page-white { background: #ffffff }` fully covers `body` → dark body never visible. +- The gap is <1px — even on white pages, the dark body at the extreme pixel edge is imperceptible after anti-aliasing. + +**Rule: when generating multi-page HTML with mixed backgrounds, always set `html, body { background }` to the darkest page's background color.** If all pages are light/white, use the lightest content background (e.g. `#f8fafc`). Never leave `body` background unset (browser default = white = guaranteed white edges on dark pages). +``` + +### Content Centering (No Left/Right Drift) + +**After HTML-to-PDF conversion, content must be centered, no left or right drift allowed.** + +Common drift causes: +1. `@page { margin }` not 0 — browser default margin causes drift +2. `.safe-zone` or content container `inset` / `padding` left-right asymmetric +3. Content container has `max-width` but no `margin: 0 auto` +4. Grid components only occupy partial column width (e.g. `1/1 → X/7` only uses left half) +5. **Decorative elements overflow page boundary** — elements with `width > 100%` or negative offsets (e.g. glow circles, gradient overlays) inflate `scrollWidth` beyond page width. Playwright shrinks all content to fit, causing left-shift. **Fix: add `overflow: hidden` to `.page` containers.** See `typesetting/overflow.md` §3.5 for horizontal flex overflow rules. + +### Anti-Void Edges (No Large Blank Margins) + +**Content should not have large meaningless whitespace at page edges, top, or bottom.** + +- Content should make full use of page area; do not cram all content in the top half while leaving the bottom blank +- For multi-page documents, each page's fill rate should be ≥ 60% (see `pagination.md` last page ≥ 40% rule) +- For single-page posters/infographics, fill rate should be ≥ 70% + +--- + +## Preflight (Quality Assurance) + +Every PDF must pass preflight checks before delivery. Each brief specifies the exact commands. + +### HTML Pre-Render Validation (MANDATORY for ALL HTML→PDF paths) + +**Before** calling `html2pdf-next.js`, `html2poster.js`, `convert.blueprint`, or any Playwright `page.pdf()`, run: + +```bash +python3 "$PDF_SKILL_DIR/scripts/poster_validate.py" check-html <your_file>.html +``` + +| Result | Action | +|--------|--------| +| **PASS** (no errors) | Proceed to PDF generation | +| **ERROR** items | Must fix before generating PDF. Use `--fix --output <file>.html` for auto-repair | +| **WARNING** items | Review; non-blocking but should be addressed | + +**Key checks:** +- `OVERFLOW_HIDDEN_CONTAINER` (error): `overflow:hidden` on html/body/.page clips content in browser preview and triggers html2pdf-next.js auto-fix that may break layout +- `FIXED_SIZE_NO_SCREEN_ADAPT` (warning): fixed-size page without `@media screen` auto-scale — browser preview requires scrolling +- `SCREEN_ADAPT_NO_SCALE` (warning): `@media screen` exists but lacks scale/transform/zoom +- `FONT_NO_FALLBACK` (error): font-family without generic fallback +- `COLOR_CONTRAST` (warning): text/background contrast ratio < 3:1 +- Plus: remote images, absolute paths, missing margin reset, tiny fonts, background mismatch, etc. + +This applies to **all three HTML routes**: Creative blueprint pipeline, Report HTML covers, and bypass/custom HTML. + +### Overflow Prevention System + +**→ Full spec: `typesetting/overflow.md`** - read it for any document with tables, images, or multi-column layouts. + +Core principles: +1. **Measure first, draw second** - never render content without pre-calculating its dimensions +2. **Bounding Box constraint** - every element's width ≤ its parent container's `Max_Width` +3. **Text: use font metrics**, not character count, for width calculation +4. **Images: proportional scaling** - never insert at original size +5. **Tables: weight-based column width** + `Paragraph()` wrapping (never plain strings) +6. **Fallback ladder**: wrap → shrink font (max -3pt) → reduce padding → split element → log warning +7. **Vertical: KeepTogether** for heading+body, chart+caption; `repeatRows=1` for long tables + +### Table Overflow Prevention (ReportLab) +**Most common layout bug: table columns exceed page margins.** + +Before building any ReportLab Table: +1. Calculate `available_width = page_width - left_margin - right_margin` +2. Use proportional colWidths (`[0.25, 0.40, 0.20, 0.15]` × available_width) or fixed+flex pattern +3. `sum(colWidths)` must be ≤ `available_width` - **verify this in code** +4. Long text columns must use `Paragraph()` wrapping, not plain strings (plain strings don't wrap) +5. CJK text is wider: budget ~12pt per character at 10pt font size + +See `briefs/report.md` § "Table Width Management" for code patterns. + +### Table Overflow Prevention (LaTeX/Academic) +**Most common bug in dual-column papers: wide tables overflow single-column width.** + +Before writing any LaTeX table: +1. Count data columns - ≤ 4 fits single column; 5-6 needs `\small`; 7-8 needs `\resizebox`; ≥ 9 use `table*` (full width) +2. Use `tabular*{\columnwidth}` or `tabularx{\columnwidth}` instead of plain `tabular` for 5+ columns +3. Never use plain `tabular` with 8+ columns in twocolumn layout - guaranteed overflow +4. `\resizebox{\columnwidth}{!}` as last resort - verify smallest text ≥ 6pt after scaling + +See `briefs/academic.md` § "Table width management" for LaTeX patterns. + +### Playwright PDF CSS Blacklist +These CSS properties **silently break** in Playwright's PDF renderer: +- `backdrop-filter` / `-webkit-backdrop-filter` - **drops entire element content**. Use solid `rgba()` backgrounds. +- `overflow: hidden` on content containers - clips content. Only safe on small decorative elements (< 200px). + +After generating any Playwright PDF, **verify every page has content** (pypdf text extraction, check non-empty). + +### PDF Metadata (all briefs) +ALL PDFs must have: Title, Author (default "Z.ai"), Creator, Subject. + +### Delivery Summary (all briefs) +Report to user: file path, size, page count. Academic adds word/image count. Creative adds per-page verification. + +**HTML→PDF route deliverables (MANDATORY — applies to ALL briefs that use Playwright/HTML to generate PDF):** +Whenever the HTML→PDF pipeline is used (Creative route, Report cover bypass, Direct HTML Flow posters, or any Playwright `page.pdf()` path), you MUST deliver **both files** to the user: +1. **HTML** — the source HTML file, so the user can edit and reuse the design +2. **PDF** — the final vector PDF (`page.pdf()` output) + +Optionally also provide: +3. **Image** — a full-page screenshot/preview image (PNG or JPG) for quick sharing on chat/social media + +All file paths must be reported to the user. **Never deliver only the PDF without the HTML source.** + +--- + +## Tooling Reference + +### CLI: `python3 "$PDF_SKILL_DIR/scripts/pdf.py" <command>` + +```bash +# Environment +env.check # Check deps +env.fix # Auto-install missing + +# Quality +code.sanitize <script> # Sanitize forbidden Unicode +content.sanitize <file> [--apply] # Fix content issues (CJK, encoding) +meta.brand <pdf> # Add Z.ai metadata +font.check <pdf> # Scan for missing glyphs +toc.check <pdf> # Validate TOC + +# Conversion +convert.blueprint <llm_json_response.md> -o final.pdf # CRITICAL FOR CREATIVE: Auto-extracts JSON, compiles, and renders PDF. +convert.html <html> # HTML → PDF (Playwright) +convert.latex <tex> # LaTeX → PDF (Tectonic). Bundled binary is macOS arm64 only; see academic.md for other-platform install. +convert.office <file> # Office → PDF (LibreOffice) + +# Processing +extract.text <pdf> # Extract text +extract.table <pdf> # Extract tables +extract.image <pdf> # Extract images +pages.merge a.pdf b.pdf -o out.pdf +pages.split <pdf> +pages.clean <pdf> # Remove blank pages +form.info <pdf> # Inspect form fields +form.fill <pdf> # Fill form +form.annotate <pdf> # Fill via annotations +meta.get <pdf> +meta.set <pdf> -o out.pdf -d '{"Title": "..."}' +``` + +### Poster/HTML/LaTeX Validator: `python3 "$PDF_SKILL_DIR/scripts/poster_validate.py"` +```bash +check-html <html> # Pre-render validation (overflow:hidden, @media screen, fonts, contrast, etc.) +check-html <html> --fix --output <fixed.html> # Auto-fix errors (remove overflow:hidden, add font fallback) +check-pdf <pdf> --source-html <html> # Post-render validation +check-pdf <pdf> --poster # Poster mode: suppress ORPHAN_PAGE warning +check-tex <tex> # LaTeX source validation (table overflow, image width, etc.) +``` + +**check-html checks include:** +- `OVERFLOW_HIDDEN_CONTAINER` (error): overflow:hidden on html/body/.page/.poster — clips content +- `FIXED_SIZE_NO_SCREEN_ADAPT` (warning): fixed-size page without @media screen auto-scale +- `SCREEN_ADAPT_NO_SCALE` (warning): @media screen exists but lacks scale/transform/zoom +- `FONT_NO_FALLBACK` (error): font-family without generic fallback (sans-serif/serif) +- `COLOR_CONTRAST` (warning): text/background contrast ratio < 3:1 +- `BG_COLOR_MISMATCH` (warning): body background differs from .canvas/.poster background +- `SCREEN_BG_MISMATCH` (warning): @media screen html background differs from body/canvas background +- `MULTIPAGE_BODY_BG_MISSING` (warning): multi-page document with dark `.page` backgrounds but no `html/body` background color. Sub-pixel gaps at page edges reveal white body, causing visible white edges on dark pages. Resolves `var()` references via `:root` variables. +- `SCREEN_NO_BG` (warning): fixed-size page's @media screen block lacks html background color +- `OVERFLOW_DECORATION` (warning): negative position values may cause black edges +- `NO_PAGE_SIZE` / `MISSING_MARGIN_RESET` / `WHITE_BACKGROUND` / `TINY_FONT` / etc. + +**check-tex checks include:** +- `BARE_TABULAR_OVERFLOW` (error): `\begin{tabular}` with 5+ columns in two-column layout, not wrapped in resizebox/adjustbox/table* +- `RESIZEBOX_TEXTWIDTH` (error): `\resizebox{\textwidth}` used inside single-column float in two-column layout. `\textwidth` = full page width, but `table` float is one column. Fix: use `\resizebox{\columnwidth}` or `table*` +- `TABULAR_OVERFLOW_RISK` (warning): 4-column tabular in two-column layout without width constraint +- `TABULAR_WIDE` (warning): 7+ column tabular in single-column layout without width constraint +- `TABULAR_NO_FLOAT` (warning): tabular not inside table/table* float environment +- `TABULARX_NOT_LOADED` (warning): document has tabular but tabularx package not loaded +- `IMAGE_NO_WIDTH` (warning): `\includegraphics` without width/height/scale constraint +- `EQUATION_DUAL_ON_LINE` (warning): `equation` environment has 2+ equations joined by `\quad` without line breaks. Guaranteed overflow in dual-column +- `EQUATION_OVERFLOW_RISK` (warning): equation body has >80 math characters. Likely overflows single column +- `ALGORITHM_NO_SMALL_FONT` (warning): `algorithm` environment in dual-column without `\SetAlFnt{\small}` +- `ALGORITHM_LONG_IO` (warning): Algorithm Input/Output line >120 chars. Will overflow narrow column +- `CJK_ASCII_QUOTES` (error): ASCII `"` found adjacent to CJK characters. LaTeX interprets `"` as right double quote, so `"北漂"` renders incorrectly. Skips verbatim/lstlisting/minted environments and `\texttt{}`/`\url{}`/`\href{}{}`/`\verb||` inline commands. + +### Design Engine: `python3 "$PDF_SKILL_DIR/scripts/design_engine.py"` +```bash +compile --blueprint <json_file> --output poster.html # CRITICAL: Compile JSON blueprint to HTML +derive "document title or description" # Auto-derive intent from content +palette --intent calm --mode dark # Generate HSL-locked palette +palette-cascade --intent cold --mode minimal # Generate role-based cascade palette (V2, preferred) +svg --intent flow --dimensions 720x960 # Generate SVG background +full --intent energy --mode dark --dimensions 720x960 --output-dir ./assets/ +audit --palette-json palette.json # Check palette constraints +``` + +### Palette Generator (for Report route): `python3 "$PDF_SKILL_DIR/scripts/pdf.py" palette.generate` +```bash +palette.generate --title "document title" --mode minimal # Output: ready-to-paste ReportLab Python code +palette.generate --title "..." --format json # Output: raw JSON +palette.generate --title "..." --format css # Output: CSS custom properties +palette.generate --title "..." --mode dark --harmony complementary --seed 42 +``` + +### Cascade Palette (V2 - Preferred): `python3 "$PDF_SKILL_DIR/scripts/pdf.py" palette.cascade` +```bash +palette.cascade --title "document title" --mode minimal # Output: summary table with all 12 roles +palette.cascade --title "..." --format json # Full structured JSON (roles + cover + body + charts + semantic) +palette.cascade --title "..." --format css # CSS custom properties by tier +palette.cascade --title "..." --format reportlab # Ready-to-paste ReportLab Python code +``` +**⚠️ Cascade palette is the preferred palette system.** It enforces area ∝ 1/saturation (larger areas = lower saturation) and outputs unified color subsets for cover, body, and charts from one base hue. Use `palette.cascade` instead of `palette.generate` for new documents. + +**⚠️ Report route MUST call `palette.cascade` (or `palette.generate`) before writing any ReportLab code.** The output is copy-paste ready - no manual hex picking allowed. + +> **Note**: `design_engine.py compile` produces **HTML** from a JSON blueprint. To get a **PDF**, use `pdf.py convert.blueprint` which internally calls `compile` → Playwright render → PDF output. In the Creative pipeline, always use `convert.blueprint` for the final PDF. + +### Tech Stack per Brief + +| Brief | Primary Tool | Secondary | Emoji Support | Custom Page Size | +|-------|-------------|-----------|---------------|-----------------| +| Report | ReportLab + pypdf | **Playwright (cover)** | ❌ (tofu □) | Manual pagination | +| Creative | Playwright | html2pdf-next.js (pdf-lib for post-processing) | ✅ native | ✅ any size | +| Academic | Tectonic + pypdf | **Playwright (cover)** | ❌ (dropped) | Template-dependent | +| Process | pikepdf, pdfplumber | LibreOffice (soffice) | N/A | N/A | + +> **Unified Cover System**: All routes generate covers via HTML/Playwright. Report uses Templates 01–07, Academic uses Templates 08–10 (dark backgrounds, scholarly typography), Creative generates cover + body in one HTML document. Cover PDFs are merged with body PDFs via pypdf. +> +> **Fallback**: If Report brief content has emoji → reroute to Creative. + +--- + +## File Map + +``` +SKILL.md ← You are here +briefs/ + report.md ← Report production: ReportLab workflow + API + resume(ATS) + creative.md ← Creative production: 5-phase generative design workflow + poster.md ← Poster scene rules: density, font sizing, fill constraints (overlay on creative.md) + academic.md ← Academic production: LaTeX workflow + templates + resume(CV) + process.md ← PDF processing: extract/merge/split/form/convert/reformat + process-advanced.md ← Advanced reference (encrypted/corrupted/OCR/batch/perf) - load on demand +configs/ + visual_framework.md ← Palette mode, color harmony, SVG background params + components.md ← Non-grid composition components (floating cards, etc.) + fonts.md ← Font stacks per pipeline (Creative/Report/Academic) +typesetting/ + palette.md ← Color system + typography + anti-patterns + spacing + cover.md ← Cover page layout system (7 layouts × 2-3 variants) + typography scale + color rules + cover-backgrounds.md ← Cover background rendering rules + transparency constraints + charts.md ← Chart styling + anti-stacking rules + axis/grid/legend treatment + overflow.md ← Bounding box system, text/image/table overflow prevention + pagination.md ← Cross-page integrity, orphan/widow control, CJK punctuation + typography.md ← Font size scale, line-height, spacing system + geometry.md ← Geometric anchor system (decorative elements, lines, shapes) + fill-engine.md ← Adaptive anti-void layout engine V2.0 +scripts/ + pdf.py ← CLI tool (30 subcommands) + pdf_qa.py ← PDF quality checker (metadata, fonts, overflow, margins, tables, formulas) + design_engine.py ← Generative SVG + palette engine (palette/svg/compile/derive/audit) + poster_validate.py ← HTML/PDF validator + toc_validate.py ← TOC validator + html2pdf-next.js ← Playwright + pdf-lib HTML→PDF converter for documents (no Paged.js) + html2poster.js ← Playwright HTML→PDF converter for posters/single-page (auto overflow:hidden, dynamic height) + cover_validate.js ← Cover-ONLY overlap detection (text vs decorative lines). Do NOT run on posters or documents — only on cover HTML in Report/Academic pipelines. +references/ + resume-altacv.tex ← AltaCV dual-column resume template (creative/tech) + resume-academic.tex ← Academic CV template (PhD/academic) +``` + +### Loading Protocol + +1. **Always read**: This file (SKILL.md) +2. **Read ONE brief**: The matched brief file - it contains the complete workflow +3. **Read typesetting on demand**: Only when the brief says to (standard tasks) +4. **Never load all files upfront** - briefs reference what they need + +### Script Path Setup (MANDATORY before any script call) + +All paths are relative to `$PDF_SKILL_DIR` — the single root variable for this skill. Resolve it once before calling any script: + +```bash +PDF_SKILL_DIR="<skill_directory>" # ← parent directory of this SKILL.md + +# Then all commands use $PDF_SKILL_DIR: +python3 "$PDF_SKILL_DIR/scripts/pdf.py" code.sanitize generate_pdf.py +python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.brand output.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" font.check output.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" toc.check output.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.clean output.pdf -o output_clean.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" output.pdf +python3 "$PDF_SKILL_DIR/scripts/poster_validate.py" check-html page.html +python3 "$PDF_SKILL_DIR/scripts/poster_validate.py" check-pdf output.pdf +``` + +**For Python imports** (when generation code needs to import skill modules): + +```python +import sys, os +PDF_SKILL_DIR = "<skill_directory>" +_scripts = os.path.join(PDF_SKILL_DIR, "scripts") +if _scripts not in sys.path: + sys.path.insert(0, _scripts) +``` + +**⚠️ NEVER use bare `python3 scripts/pdf.py ...`** - it only works if cwd happens to be the skill directory. Always use `$PDF_SKILL_DIR/scripts/` as the absolute prefix. + +--- + +## 8. Quality Checklist (Mandatory after every PDF generation) + +> The following checks come from the `typesetting/` spec files and are **mandatory** quality gates. + +### Automated Detection (Must Run) + +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" <output.pdf> +python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" --poster <output.pdf> # poster mode: skip content fill ratio, check all pages for full-bleed +python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" --skip-cover --formulas <output.pdf> # academic mode: skip cover for margin check, enable formula overflow +python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" --no-tables <output.pdf> # creative mode: skip table centering check +``` + +> **Dependency**: Requires `pymupdf` (`pip install pymupdf`). If not installed, skip automated detection and use the manual checklist below. + +Run `pdf_qa.py` after generating a PDF. It auto-detects: metadata completeness, page size consistency, blank pages, CJK punctuation placement, color count, font embedding status, content overflow, content fill ratio, cover full-bleed, margin symmetry, table centering, formula overflow. +- **`--poster` mode**: skips content fill ratio check (poster last page naturally has less content), checks ALL pages for full-bleed (not just cover) +- **`--skip-cover`**: skips page 1 when checking margin symmetry (for documents with separately-generated covers) +- **`--no-tables`**: disables table centering check (for creative/poster documents that rarely have traditional tables) +- **`--formulas`**: enables formula overflow detection (checks if formula-like content extends past right content margin) +- Result PASS → deliver directly +- Result WARN → evaluate whether fix is needed, non-blocking +- Result FAIL → **must fix and regenerate** + +### Pagination & Layout (pagination.md) + +- [ ] **Last page fill ratio ≥ 40%**: No large blank areas on the final page. If insufficient, backtrack to compress spacing/line-height/font-size +- [ ] **Major section 3/4 threshold**: H1-level headings must NOT start in the bottom 25% of a page. If remaining space < 25%, force page break and start on fresh page. Use `CondPageBreak(available_height * 0.25)` in ReportLab, `\needspace{0.25\textheight}` in LaTeX +- [ ] **Tables don’t split across pages**: Table header and data rows must stay together. Small tables: `break-inside: avoid`. Large tables: `thead { display: table-header-group }` +- [ ] **Punctuation placement rules**: Commas, periods, etc. must not appear at line start. Set `line-break: strict` in CSS +- [ ] **No orphan headings**: Headings must not appear alone at page bottom. Use `break-after: avoid` +- [ ] **Cards/images not cut**: `break-inside: avoid` + +### Overflow Prevention (overflow.md) + +- [ ] **All table cells use Paragraph() wrapping** (ReportLab): Never plain strings - they don't wrap and overflow +- [ ] **sum(colWidths) ≤ available_width**: Verified in code, not assumed +- [ ] **Images/charts proportionally scaled**: Never inserted at original dimensions; always `fit_image()` or `max-width: 100%` +- [ ] **Long tables have repeatRows=1**: Table header repeats on every page when table breaks across pages +- [ ] **Heading + first paragraph in KeepTogether**: Prevents orphan headings at page bottom +- [ ] **Chart + caption in KeepTogether**: Prevents chart on one page, caption on next +- [ ] **CJK text uses wordWrap='CJK'**: Required for proper line-breaking of Chinese/Japanese/Korean +- [ ] **URLs/long strings have word-break**: `overflow-wrap: break-word` (HTML) or manual splitting (ReportLab) +- [ ] **Font degradation fallback**: Tight columns can shrink font by up to 3pt before clipping + +### Color (palette.md) - Report & Creative only + +> **Academic (LaTeX) documents are exempt** from this color system. LaTeX uses template-defined styling. +- [ ] **Entire document ≤ 5 colors**: Primary + secondary + accent + neutral + background +- [ ] **All colors traceable to primary**: Secondary and accent derived via lightness/saturation/micro-hue shift +- [ ] **Sibling elements not differentiated by different hues**: Use opacity/lightness/borders instead +- [ ] **Gradient endpoints hue difference < 20°**: No warm-to-cool gradients +- [ ] **No high-saturation color blocks**: Avoid eye strain + +### Cover V2 (cover.md) + +- [ ] **Evaluate whether a cover is needed**: Reports, proposals, analysis, white papers, manuals ≥ 3 pages → **always add cover (default ON)**. Skip cover ONLY for: resumes, CVs, letters, memos, forms, checklists, invoices, internal notes, or documents ≤ 2 pages +- [ ] **Single PDF output**: Cover is merged into the final PDF as page 1. **Report/Academic**: cover generated via HTML/Playwright → merged as page 0 via pypdf. **Creative**: cover is part of the same HTML document. NEVER deliver a separate cover file +- [ ] **Page isolation**: Cover NEVER shares a page with TOC or body content. **Report/Academic**: inherent via pypdf merge (separate PDFs). **Creative**: CSS page-break ensures isolation +- [ ] **Absolute Anchor Grid**: All elements use percentage Y-anchors (Part 0, A0.1). NO flow-based layout +- [ ] **Z-Index Layers**: Render in strict order: Layer 0 (bg fill) → Layer 1 (decorative, CLIPPED) → Layer 2 (structure lines) → Layer 3 (text) +- [ ] **Typography Weight System**: Use weight/spacing/opacity hierarchy per A0.2 (Kicker: 16pt+3pt spacing+60% opacity; Hero: 45-65pt Heavy; Meta: 20-22pt; Summary: 16-18pt Regular line-height 1.6) +- [ ] **Mandatory Summary Block** 🆕: Every cover MUST include a Summary/Description drawer (2-4 lines). If user provides none, auto-generate placeholder text (S3.5) +- [ ] **Safety checks**: Hero title overflow (max 3 lines, auto-reduce font S3.1); Zone collision detection (S3.2); Uppercase lock for Latin kickers/footers/watermarks (S3.3); Hard width boundary enforcement (S3.4); Summary auto-generation (S3.5); **Background watermark full-display enforcement (S3.6)** +- [ ] **Background watermark complete** 🆕: All background layer watermark text (year, document type, sidebar text) must be 100% visible within page bounds - auto-shrink font if needed, NEVER clip/truncate +- [ ] **Data binding correct** 🆕: Hero Title = company/entity name (biggest, heaviest text); Kicker = report type/subtitle (small decorative text). NEVER reverse this mapping +- [ ] **Fill Engine applied** 🆕: Font floor enforced (body ≥ 14pt single-col / 12pt dual-col, H1 ≥ 32pt, H2 ≥ 24pt, H3 ≥ 18pt); Fill Ratio calculated; inflation triggered when < 65%; Y-axis golden-ratio anchor when < 40% +- [ ] **Selected one of 7+4 templates**: General templates 01–07 + Academic templates 08–10 + Institutional template 11. Autonomously select the best-fit template by analyzing document intent (Calm/Tension/Energy/Authority/Warmth) and document type per Part 2 Intent × Type matrix. Thesis proposals/dissertations/institutional submissions → **default Template 11**. No global default - every selection must be a deliberate design decision +- [ ] **Typography weight hierarchy**: Hero 45-65pt Heavy, Meta 20-22pt Regular, Kicker/Footer 16pt with 3pt letter-spacing + 60% opacity, Summary 16-18pt Regular +- [ ] **Base spacing unit**: `U = W * 0.05` - all spacing should be multiples of U +- [ ] **Bounding box via absolute anchors**: Each block anchored to fixed Y%, grows only within its own zone, never pushes adjacent blocks +- [ ] **Safe zone margin**: 8-12% on all sides per template spec (corner marks for Template 04 at 8%) +- [ ] **Cover whitespace ≥ 60%**: Restraint > clutter (but Summary block fills mid-page void intentionally) +- [ ] **Cover colors consistent with body**: No independent color scheme; white/light backgrounds only +- [ ] **Clip-path on Layer 1**: All background decorative elements must be clipped to page bounds +- [ ] **Clip scope = Layer 1 ONLY** �F: `saveState()`/`clipPath()` must `restoreState()` BEFORE rendering Layer 2 lines and Layer 3 text. Text rendered inside clip scope = text gets cut off +- [ ] **No page border/frame** �F: Cover page must have `showBoundary=0`, no `canvas.rect(0,0,W,H)`, no CSS border/outline on cover container +- [ ] **Line-to-text minimum gap** �F: Decorative lines (Layer 2) must be at least `U` (= `W * 0.05`) away from any text content +- [ ] **No dark/gradient backgrounds**: No dark fills, no gradients, no high-saturation schemes +- [ ] **Hard width enforcement**: Text wraps vertically at zone boundary, NEVER bleeds horizontally past assigned width +- [ ] **🚫 NEVER use ReportLab for covers** — ALL covers (Report, Creative, Academic) are generated via HTML/Playwright. See cover.md for the 10-template system. If you catch yourself writing `canvas.setFillColor()` + `canvas.rect()` for a cover background, STOP — switch to HTML/Playwright. +- [ ] **Line-length alignment (S3.7)**: Vertical lines match text block height (± 1U); horizontal lines ≥ widest text element width (never shorter than text) +- [ ] **Vertical balance (S3.8)**: No >40% dead whitespace at bottom; sparse content uses centered distribution; CJK titles 15-20% larger than Latin equivalent +- [ ] **Percentage positioning safety (S3.9)**: Every element with `top: XX%` must have a containing block with deterministic height (`height: 100%`, `inset: 0`, or `top+bottom` pair). Wrappers without explicit height + percentage-positioned children = overlap bug. Prefer px values over percentages +- [ ] **Cover colors from palette system**: All `:root` CSS variables populated by `palette.cascade` output. Template HTML uses `--c-bg`, `--c-accent`, `--c-text`, `--c-muted` — no hardcoded hex values in generated HTML + +### Geometric Anchors (geometry.md) + +- [ ] **Anchors use only the primary color**: Layer via opacity, don't mix colors +- [ ] **Strokes over fills**: Solid elements ≤ 30% +- [ ] **Ultra-thin lines**: stroke-width 0.3-0.8px +- [ ] **Asymmetric placement**: Offset creates tension +- [ ] **Elements ≤ 8**: Restraint, don't clutter + +### Charts (charts.md) + +- [ ] **No text stacking/overlap**: All chart labels, values, and legends must be collision-free +- [ ] **Chart-to-text separation**: Minimum 24pt gap above and below charts; 8pt between chart and caption; 30pt between consecutive charts +- [ ] **Legend-to-chart non-overlap**: Legend MUST NOT overlap chart data area. Use `bbox_to_anchor` or external placement +- [ ] **Value label anti-collision**: Adjacent value labels that overlap must be staggered, rotated, or selectively hidden +- [ ] **Pie charts → Donut by default**: hole_ratio 60-70%, center shows total/core metric +- [ ] **Small pie slices handled**: Slices < 5% use leader lines, < 3% merge to "Others", or strip labels to rich legend +- [ ] **Bar chart auto-rotation**: If X-axis labels avg > 5 CJK chars (or 10 Latin), auto-convert to horizontal bars +- [ ] **Line chart labeling**: Only label start, end, max, min points - NOT every data point +- [ ] **Axis cleanup**: Top/right spines deleted, grid lines dashed at 0.5pt/20% opacity (or hidden if values labeled) +- [ ] **Bar micro-rounding**: Top border-radius 2-4px, bar-to-gap ratio 1.5:1 or 2:1 +- [ ] **Legend de-boxed**: No border on legend, horizontal layout, small circle markers +- [ ] **Chart title hierarchy**: Bold main title left-aligned above chart, lighter subtitle below it + +### Global Layout + +- [ ] **Margin symmetry**: `left_margin == right_margin` - asymmetric margins cause off-center content (ReportLab, LaTeX, HTML all checked) +- [ ] **Full-bleed enforcement (Playwright)**: HTML includes `@page { size: <w> <h>; margin: 0; }` and `html,body { margin:0; padding:0; }`. No white side margins in the output PDF +- [ ] **Background color consistency (Playwright)**: `html, body { background }` set explicitly. Single-color docs: match content canvas. Multi-page mixed docs: use the darkest page's background color. Mismatch or missing = sub-pixel white edges on dark pages +- [ ] **Content centering (Playwright)**: Content is centered in PDF, not drifting left or right. Check: symmetric inset/padding, full-width grid columns, no unbalanced max-width +- [ ] **Anti-void edges**: No large meaningless blank areas at top, bottom, or sides. Content fills ≥ 60% of page (multi-page) or ≥ 70% (single-page poster/infographic) +- [ ] **Fill Engine applied**: Pages with < 80% fill ratio trigger the fill engine (see `fill-engine.md`) +- [ ] **Table centering**: ALL tables must be horizontally centered on the page. ReportLab: use `hAlign='CENTER'` on Table flowable. LaTeX: use `\centering` inside table environment. HTML: use `margin: 0 auto` on table element. NEVER let tables float left with right-side whitespace +- [ ] **Table column width**: Table total width should be 85-100% of content area width. Avoid narrow tables (< 60% width) that look lost on the page. If table is narrow, expand column widths proportionally or use `colWidths` to fill available space + +### Exam / Quiz / Test Paper Rules + +- [ ] **Question numbering**: Use hierarchical numbering (一、二、三 for sections; 1. 2. 3. for questions; (1)(2)(3) or A B C D for sub-questions/options) +- [ ] **Option indentation**: Multiple-choice options MUST be indented relative to the question stem. Minimum `leftIndent = 24pt` (2em). Options must NEVER start at the same X position as the question number +- [ ] **Option layout**: ≤4 short options (≤4 chars each) → 2×2 grid or single row. >4 options or long text → vertical list, one per line. Each option on its own line gets consistent indentation +- [ ] **Answer space reservation**: MUST reserve blank space for handwritten answers. Calculation: short answer = 2-3 blank lines (40-60pt); paragraph/essay = 8-15 blank lines (160-300pt); math work = 6-10 blank lines (120-200pt); fill-in-the-blank = inline underline (min 80pt width). Use `Spacer(1, height)` in ReportLab +- [ ] **Answer line style**: Use light gray dashed or dotted horizontal lines for answer areas, NOT solid black lines. Line weight ≤ 0.5pt, color = #cccccc or lighter +- [ ] **Score marking area**: Each question should have a score indicator in the margin or after the question number, e.g., “(10分)” or “[10 pts]” +- [ ] **Page density**: Exam papers should NOT be cramped. Minimum `spaceBefore=12pt` between questions. Section headers get `spaceBefore=24pt` + +### Design Restraint (Anti-Gaudy) + +- [ ] **Decorative elements ≤ 3 per page**: Maximum 3 decorative/non-functional visual elements per page (lines, shapes, icons, patterns). Cover page exempt +- [ ] **No gratuitous icons/emoji in headers**: Section headers should use typography hierarchy (size, weight, color) for emphasis — NOT emoji, icons, or decorative bullets unless the user explicitly requested them +- [ ] **No rainbow/multi-color schemes**: Stick to the single-family palette system. If you find yourself using 4+ distinct hue families in one document, STOP and simplify +- [ ] **No decorative borders on body pages**: Body content pages must NOT have decorative borders, corner ornaments, or page frames. Clean margins only. (Cover page Template 11 border is the sole exception) +- [ ] **No texture/pattern backgrounds on body pages**: Body pages use solid white or ultra-light tinted backgrounds only. No dot grids, crosshatch, diagonal lines, or any pattern fills +- [ ] **Whitespace is design**: Empty space between elements is intentional and valuable. Do NOT fill every gap with decorative elements, horizontal rules, or filler content +- [ ] **Typography over decoration**: Create visual hierarchy through font size, weight, spacing, and color — not through adding more visual elements. If a design looks busy, REMOVE elements rather than rearranging them +- [ ] **2-typeface maximum**: Entire document uses at most 2 font families (one serif, one sans-serif). No mixing 3+ fonts for “variety” +- [ ] **🚫 NO stock images / clipart / AI-generated decorations**: NEVER embed watercolor flowers, floral borders, gold frames, stock photos, clipart illustrations, or AI-generated artwork for decoration. Use geometric shapes (CSS/SVG from geometry.md) + typography for all visual design. Only user-provided content images (photos, logos, diagrams) are allowed. See `visual_framework.md` Stock Image Ban + +### LaTeX-Specific (academic.md) + +- [ ] **Curly quotes**: No straight `"` quotes - use `` ``text'' `` for double and `` `text' `` for single +- [ ] **Title page isolation**: `\end{titlepage}` followed by `\newpage`/`\clearpage` - TOC/body NEVER on same page as title +- [ ] **Resume column overlap**: AltaCV `paracol` entries checked for vertical overflow; max 3-4 bullets per `\cvevent`; explicit `\newpage` for 2-page resumes +- [ ] **`\geometry` symmetry**: `left=X, right=X` must be equal values + +### Output Cleanliness (All Pipelines) + +- [ ] **No process artifacts in output**: NEVER include version numbers ("V3"), iteration markers, draft labels ("DRAFT"), "CONFIDENTIAL"/"机密" stamps, "Generated by AI"/"本文档由AI生成", or internal comments in the final PDF unless the user explicitly requested them +- [ ] **No auto-generated boilerplate labels**: Do not add ANY watermarks, generation notices, version numbers, timestamps, or tool names that the user didn't ask for +- [ ] **No debug output in content**: Console logs, file paths, generation timestamps, tool names, or error messages must never appear in the PDF body +- [ ] **Clean metadata only**: PDF metadata (author, title, subject) should reflect the document content, not the generation process diff --git a/skills/pdf/briefs/academic.md b/skills/pdf/briefs/academic.md new file mode 100755 index 0000000..166febb --- /dev/null +++ b/skills/pdf/briefs/academic.md @@ -0,0 +1,1058 @@ +# Brief: Academic Production + +Scholarly documents via LaTeX/Tectonic: academic papers, theses, dissertations, mathematical manuscripts, IEEE/ACM submissions, academic CVs. + +``` +Academic request + ├─ Paper / thesis / journal → §Standard Paper Workflow + │ Embed as needed during Phase 3: + │ ├─ Heavy math (>3 equations) → use §Scenario A preamble + environments + │ ├─ Vector diagrams → §Scenario B (simple→TikZ, complex→Playwright+CSS) + │ └─ Algorithm pseudocode → use §Scenario C template + │ + └─ Standalone diagram for other brief → §Scenario B Path B (Playwright+CSS → PNG) + │ + └─ Resume / CV + ├─ Creative / tech / startup → §Template A (AltaCV dual-column) + └─ Academic position / PhD → §Template B (Academic CV) +``` + +**No typesetting assets needed** - LaTeX templates handle their own design system. The `palette.md` color system does not apply to LaTeX documents. + +--- + +## §Standard Paper Workflow + +Six phases. Rules and guardrails are embedded in each phase where they apply. + +### Phase 1 - BRIEF + +Confirm with the user: +- Document type (journal article, thesis chapter, conference paper, technical report) +- Template requirement (IEEE, ACM, custom class, or plain `article`) +- Bibliography format (natbib superscript, numeric brackets, biblatex) +- Expected length → if >5 pages or 3+ complex elements (wide tables, block equations, TikZ), split into `\input{}` modules (~500 lines each) + +**Recognising the document's personality:** + +| Personality | Examples | Key concern | +|-------------|----------|-------------| +| Scholarly | Journal articles, conference proceedings | Academic conventions, bibliography accuracy | +| Utilitarian | Technical reports, manuals, specs | Information density + scannability | +| Persuasive | Proposals, pitch documents | Professional polish + 1-2 visual high-points | +| Expressive | Portfolios, brand guidebooks | Bold typographic choices | + +### Phase 2 - SETUP + +**Title Page (Cover) Rules:** +- **Academic route covers are generated via HTML/Playwright**, using Templates 08-11 from `typesetting/cover.md`. Templates 08-10 replicate LaTeX title page aesthetics (dark backgrounds, serif titles, symmetric layouts) in HTML/CSS. **Template 11 (Institutional)** is for thesis proposals, dissertations, and formal institutional submissions (white bg + black border frame). +- **Pipeline:** Generate body PDF via Tectonic (no title page in `.tex`) → Generate cover HTML (Template 08/09/10/11) → Playwright `page.pdf()` → Merge cover as page 0 via pypdf +- **Template selection:** For thesis proposals (开题报告), dissertations (毕业论文), and institutional submissions → **default to Template 11**. For research papers, preprints, journal submissions → Templates 08-10. +- **NEVER use `\maketitle`** - it produces ugly default output with cramped spacing +- **NEVER use `\begin{titlepage}...\end{titlepage}`** - the cover is generated separately via HTML/Playwright +- **NEVER use LaTeX TikZ overlay for full-page covers** - TikZ `current page` coordinates are unreliable with `margin=0pt`, causing backgrounds to not fill the page (right/bottom white edges). HTML/CSS full-bleed is pixel-exact. +- Title page is OPTIONAL - skip it for short documents (≤ 2 pages), letters, memos, or when content scanning is priority +- **`\tableofcontents` must be the FIRST page** of the body PDF (after merge, it becomes page 2) +- If no TOC, content starts on page 1 of the body PDF + +**Cover Generation Pipeline (Academic route):** +``` +1. Write .tex WITHOUT any title page +2. Run poster_validate.py check-tex on .tex file - fix table overflow / image width ERRORs +3. Compile with tectonic → body.pdf +4. Write cover HTML using Template 08/09/10/11 from typesetting/cover.md (Template 11 for thesis proposals/dissertations) +5. Run poster_validate.py check-html on cover HTML - fix any ERRORs +6. Run cover_validate.js on cover HTML - fix any text-line overlaps +7. Render cover HTML → PDF via Playwright (`html2poster.js`) — **NOT `html2pdf-next.js`** (which converts absolute→static and destroys cover layout) +8. Merge: insert cover as page 0 of body PDF via pypdf +``` + +**Cover HTML → PDF rendering:** +```bash +# ALWAYS use html2poster.js for cover rendering (NOT html2pdf-next.js) +# Cover pages use position:absolute layout — html2pdf-next.js pre-render hooks +# convert absolute→static and destroy the layout. html2poster.js preserves it. +node "$PDF_SKILL_DIR/scripts/html2poster.js" cover.html --output cover.pdf --width 794px +``` + +Or from Python: +```python +import subprocess, os + +def render_cover(html_path, pdf_path): + """ + Render HTML cover to PDF via html2poster.js. + + ⚠️ ALWAYS use html2poster.js for covers (NOT html2pdf-next.js). + Cover HTML uses position:absolute for layout. html2pdf-next.js pre-render + hooks convert absolute→static to prevent multi-page overlap, which + destroys cover layouts. html2poster.js preserves absolute positioning. + """ + scripts_dir = os.path.join(PDF_SKILL_DIR, 'scripts') # PDF_SKILL_DIR from SKILL.md § Script Path Setup + subprocess.run([ + 'node', os.path.join(scripts_dir, 'html2poster.js'), + html_path, '--output', pdf_path, + '--width', '794px', + ], check=True) +``` + +**Merge cover + body:** +```python +from pypdf import PdfReader, PdfWriter, Transformation + +A4_W, A4_H = 595.28, 841.89 # A4 in points + +def normalize_page_to_a4(page): + """Scale a page to A4 if its dimensions don't match.""" + box = page.mediabox + w, h = float(box.width), float(box.height) + if abs(w - A4_W) > 2 or abs(h - A4_H) > 2: + sx, sy = A4_W / w, A4_H / h + page.add_transformation(Transformation().scale(sx=sx, sy=sy)) + page.mediabox.lower_left = (0, 0) + page.mediabox.upper_right = (A4_W, A4_H) + return page + +writer = PdfWriter() +cover_page = normalize_page_to_a4(PdfReader('cover.pdf').pages[0]) +writer.add_page(cover_page) +for page in PdfReader('body.pdf').pages: + writer.add_page(page) +with open('final.pdf', 'wb') as f: + writer.write(f) +``` + +**→ Full cover templates: see §PART 4.5 in `typesetting/cover.md` (Templates 08-10).** + +> **⚠️ Why HTML/Playwright covers?** LaTeX TikZ `remember picture, overlay` with `margin=0pt` frequently fails to fill the page (right/bottom edges show white). HTML/CSS with `@page { margin: 0 }` and full-bleed background is pixel-exact, with zero ambiguity. This also unifies all three routes (Report, Creative, Academic) under one cover system. + +Write the preamble. Start from this foundation and customise per document: + +```latex +\documentclass{article} + +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage{geometry} +\usepackage{amsmath} % Load before hyperref + +% hyperref - ALWAYS last among content packages +\usepackage[ + colorlinks=true, + linkcolor=blue, + citecolor=darkgray, + urlcolor=blue, + bookmarks=true, + bookmarksnumbered=true, + unicode=true +]{hyperref} + +\geometry{a4paper, top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm} +% ⚠️ left and right MUST be equal - asymmetric margins cause off-center content + +\usepackage[numbers,super,sort&compress]{natbib} +\bibliographystyle{unsrtnat} + +\usepackage{tcolorbox} +\usepackage{colortbl} +\usepackage{booktabs} +\usepackage{enumitem} +\usepackage{tabularx} % Auto-width columns (X type) - prevents table overflow +\usepackage{adjustbox} % \adjustbox{max width=\columnwidth} for emergency table fitting +``` + +**Guardrails for SETUP:** +- `hyperref` must load after virtually every other package - option clashes are the #1 preamble bug +- When using a Scenario template (A/B/C) or Resume template, use that template's own preamble instead +- `babel` and `polyglossia` are incompatible - load only one +- CJK: `\usepackage{ctex}` - Tectonic auto-downloads fonts, zero manual setup +- System fonts via `\setmainfont{}`: probe first with `fc-list :lang=XX` +- **🔴 Margin symmetry:** `\geometry{left=X, right=X}` - left and right MUST be equal. Asymmetric margins = off-center content = critical bug +- **🔴 Minimum margins with fancyhdr:** When using `fancyhdr` for headers/footers, `geometry` margins must leave enough room. **Minimum: `top >= 2.0cm`, `bottom >= 1.8cm`**. Also set `\setlength{\headheight}{14pt}` in the preamble. Margins smaller than this cause headers/footers to be pushed outside the page boundary (negative y-coordinates), making them invisible in print. +- **🔴 Quotation marks (English):** NEVER use straight quotes `"..."`。English text must use LaTeX curly quotes: ` ``left quote'' ` for double, `` `single' `` for single. Straight `"` in LaTeX means right double quote only. +- **🔴 Quotation marks (Chinese — CRITICAL):** Chinese quoted text like "北漂" MUST use Unicode smart quotes "…" (U+201C/U+201D) directly in the `.tex` source. **NEVER use ASCII `"` for Chinese quotes** — LaTeX interprets `"` as a right double quote (`"`), so `"北漂"` renders as `"北漂"` (two right quotes, no left quote). The correct LaTeX source is: `"北漂"` (literal Unicode characters). `\usepackage{csquotes}` is a safety net but does NOT fix raw ASCII `"` in Chinese text. + - **Scope:** This rule applies ONLY to Chinese-language body text. Do NOT replace `"` in English paragraphs (use ` ``...'' ` instead), `verbatim`/`lstlisting`/`minted` environments, `\texttt{}`/`\verb||`/`\url{}`/`\href{}{}` arguments, or BibTeX `.bib` field values. +- **🔴 Title page isolation:** Cover is generated via HTML/Playwright and merged as page 0 via pypdf - isolation is inherent in the merge pipeline. `\tableofcontents` should be the first page of the `.tex` body. Verify: does TOC start on the page immediately after the cover in the merged PDF? +- **🔴 TOC requires a cover page:** Unless the user explicitly requests no cover, if the document has `\tableofcontents`, it MUST have a cover page. Structure: Cover (page 1) → TOC (page 2) → Content (page 3+). Do not generate a TOC without a preceding cover page. This rule is consistent with `briefs/report.md`. + +**When no style is specified**, apply a measured, high-craft system: +1. **Contrast** - clear figure-ground separation +2. **Hierarchy** - size, weight, hue variation for reading order +3. **White space** - ample margins and leading +4. **Coherence** - one typeface family, one accent colour, one spacing rhythm + +Add enrichment proactively when content benefits: +- Callout boxes, sidebars → `tcolorbox` +- Theorem/definition/proof → `amsthm` + `tcolorbox` +- Headers/footers → `fancyhdr`; chapter openers → `titlesec` + +### Phase 3 - BUILD + +Write LaTeX content: sections, equations, figures, tables, bibliography. + +**→ Overflow prevention**: See `typesetting/overflow.md` for the LaTeX-specific patterns (tabularx, adjustbox, widowpenalty, etc.). Key rules: +- Tables: always use `tabularx` or `tabular*` with `\columnwidth` constraint - never plain `tabular` for 5+ columns +- Images: always `\includegraphics[max width=\columnwidth, max height=0.4\textheight]` or `adjustbox` - the `max height` prevents a single figure from occupying an entire page +- Orphans/widows: set `\widowpenalty=10000` and `\clubpenalty=10000` +- Long tables: use `longtable` with `\endhead` for header repetition on every page + +**Embedding components**: If the document needs heavy math, diagrams, or algorithms, refer to the Scenario sections below and embed their templates/environments into your `.tex` file. Scenarios are not separate tasks - they are building blocks for Phase 3. + +**Content density guidance (for textbooks, lecture notes, tutorials):** + +Documents meant for learning should maintain a healthy balance of prose and formal elements. A page full of equations with no explanation reads like a reference manual, not a textbook. + +Guidelines: +- Every equation/equation group should be **preceded** by a sentence explaining what it represents and **followed** by a sentence interpreting the result or stating its significance +- Every figure should have (a) a descriptive `\caption{}` and (b) at least one sentence in the surrounding text referencing it +- Every theorem/definition should be followed by an intuitive explanation or worked example before proceeding to the next theorem +- Avoid stacking 3+ formal elements (equations, figures, tables) with zero narrative text between them +- For worked examples: state the problem, show the solution steps, then summarize the key takeaway + +**When high density is acceptable**: research papers (especially methods sections where equation groups naturally cluster), formula sheets, reference appendices, and conference papers with tight page limits. In these cases, prioritise completeness over readability padding. + +**Source hygiene - catch these model-generation slips:** +- **Prohibited**: emoji glyphs (tofu), markdown `*asterisk*` formatting (compile errors) +- **Use instead**: `\textbf{bold}`, `\emph{emphasis}` + +**Table placement - prevent header orphans:** +- Short tables (≤15 rows): wrap in `\begin{table}[htbp]` - LaTeX keeps it together +- Long tables (>15 rows): use `longtable` with repeated header: +```latex +\usepackage{longtable} +\begin{longtable}{lll} +\toprule +Header 1 & Header 2 & Header 3 \\ +\midrule +\endfirsthead +\toprule +Header 1 & Header 2 & Header 3 \\ % repeated on continuation pages +\midrule +\endhead +\bottomrule +\endfoot +Row 1 & data & data \\ +Row 2 & data & data \\ +\end{longtable} +``` +- **Never** let a table header sit alone at the bottom of a page with no data rows following it + +**Table width management - prevent column overflow (⚠️ CRITICAL):** + +Tables overflowing the column width is the most common LaTeX layout bug in dual-column papers. The table looks fine in single-column preview but clips in IEEE/ACM two-column format. + +**Prevention strategy (in priority order):** + +1. **Use `tabular*` or `tabularx` to constrain width** (RECOMMENDED): +```latex +% tabular* - fixed total width, stretches inter-column space +\begin{table}[htbp] +\centering +\caption{Results.}\label{tab:results} +\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}} l cccc} +\toprule +Method & P@10 & R@10 & NDCG@10 & MRR \\ +\midrule +Ours & \textbf{0.082} & \textbf{0.054} & \textbf{0.043} & \textbf{0.029} \\ +\bottomrule +\end{tabular*} +\end{table} + +% tabularx - fixed total width, X columns auto-stretch +\usepackage{tabularx} +\begin{tabularx}{\columnwidth}{l X X X X} +... +\end{tabularx} +``` + +2. **Reduce font size inside table** (common in conference papers): +```latex +\begin{table}[htbp] +\centering +\small % or \footnotesize for very wide tables +\caption{Comparison.}\label{tab:comp} +\begin{tabular}{lcccccccc} +... +\end{tabular} +\end{table} +``` + +3. **`\resizebox` as last resort** (scales the entire table to fit): +```latex +\begin{table}[htbp] +\centering +\caption{Full results.}\label{tab:full} +\resizebox{\columnwidth}{!}{% +\begin{tabular}{lcccccccc} +\toprule +... +\bottomrule +\end{tabular} +} +\end{table} +``` +⚠️ `\resizebox` scales fonts too - verify the smallest text is still readable (≥ 6pt effective). + +4. **Span both columns** for genuinely wide tables (8+ data columns): +```latex +\begin{table*}[t] % table* spans full width in twocolumn +\centering +\caption{Cross-dataset results.}\label{tab:cross} +\begin{tabular}{lccccccccccc} +... +\end{tabular} +\end{table*} +``` + +**Decision checklist before writing any table:** +| Data columns | Single-column (`\columnwidth`) | Action | +|-------------|-------------------------------|--------| +| ≤ 4 | Fits comfortably | Normal `tabular` | +| 5-6 | Tight fit | `\small` + `tabular*{\columnwidth}` | +| 7-8 | Won't fit | `\footnotesize` + `tabular*`, or `\resizebox` | +| ≥ 9 | Definitely won't fit | Use `table*` (full width), or split into two tables | + +**Never**: use a plain `tabular` with 8+ columns in a two-column paper without width constraint - it WILL overflow. + +**⚠️ CRITICAL: `\resizebox{\columnwidth}` NOT `\resizebox{\textwidth}` in two-column layouts!** +In dual-column documents (`twocolumn`, `sigconf`, etc.), `\textwidth` = **full page width** (both columns), while `\columnwidth` = **single column width**. Using `\resizebox{\textwidth}` inside a `table` (single-column float) scales the table to the full page width, causing it to overflow the column boundary by ~50%. **Always use `\resizebox{\columnwidth}` for single-column floats.** Only use `\resizebox{\textwidth}` inside `table*` (full-width float). + +```latex +% ❌ WRONG in two-column layout +\begin{table}[t] + \resizebox{\textwidth}{!}{% <-- \textwidth = full page, table overflows column! + \begin{tabular}{lcccccccc} ... \end{tabular}} +\end{table} + +% ✅ CORRECT for single-column float +\begin{table}[t] + \resizebox{\columnwidth}{!}{% <-- \columnwidth = single column width + \begin{tabular}{lcccccccc} ... \end{tabular}} +\end{table} + +% ✅ CORRECT for full-width float +\begin{table*}[t] + \resizebox{\textwidth}{!}{% <-- \textwidth OK here because table* spans both columns + \begin{tabular}{lcccccccc} ... \end{tabular}} +\end{table*} +``` + +--- + +**Equation overflow prevention (⚠️ CRITICAL for dual-column papers):** + +Long equations are the **#2 overflow source** after tables in dual-column papers. Column width in ACM `sigconf` is ~241pt; in IEEE `twocolumn` ~252pt. Many standard math expressions exceed this. + +**Overflow patterns and fixes:** + +| Pattern | Problem | Fix | +|---------|---------|-----| +| Two equations side-by-side with `\quad` | Combined width > column | Split into `align` with one equation per line | +| Deep fraction nesting (softmax, attention) | Denominator sum too wide | Use `\smash` + separate definition, or `split` | +| Long subscripts/superscripts with `\text{}` | `\text{collab}`, `\text{social}` are wide | Use short math abbreviations: `c`, `s`, or define `\newcommand` | +| `equation` with multiple terms separated by `\quad` | Horizontal overflow | Use `aligned` inside `equation`, or `align` | + +**Rule M1 — Never put two independent equations on one line in dual-column:** +```latex +% ❌ WRONG — two full equations on one line, guaranteed overflow in sigconf +\begin{equation} +\mathbf{e}_u^{(l+1)} = \sum_{i} \frac{1}{\sqrt{|N_R(u)|\cdot|N_R(i)|}} \mathbf{e}_i^{(l)}, \quad +\mathbf{e}_i^{(l+1)} = \sum_{u} \frac{1}{\sqrt{|N_R(i)|\cdot|N_R(u)|}} \mathbf{e}_u^{(l)} +\end{equation} + +% ✅ CORRECT — split into aligned or separate equations +\begin{align} +\mathbf{e}_u^{(l+1)} &= \sum_{i \in \mathcal{N}_R(u)} \frac{\mathbf{e}_i^{(l)}}{\sqrt{|\mathcal{N}_R(u)| \cdot |\mathcal{N}_R(i)|}}, \label{eq:collab_u} \\ +\mathbf{e}_i^{(l+1)} &= \sum_{u \in \mathcal{N}_R(i)} \frac{\mathbf{e}_u^{(l)}}{\sqrt{|\mathcal{N}_R(i)| \cdot |\mathcal{N}_R(u)|}}. \label{eq:collab_i} +\end{align} +``` + +**Rule M2 — Wide fractions: use `split` or `multline`:** +```latex +% ❌ WRONG — softmax with long denominator +\begin{equation} +\alpha_{uv} = \frac{\exp(\text{LeakyReLU}(\mathbf{a}^{\top}[\mathbf{W}\mathbf{e}_u \| \mathbf{W}\mathbf{e}_v]))}{\sum_{k \in \mathcal{N}_S(u)} \exp(\text{LeakyReLU}(\mathbf{a}^{\top}[\mathbf{W}\mathbf{e}_u \| \mathbf{W}\mathbf{e}_k]))} +\end{equation} + +% ✅ CORRECT — define numerator/denominator separately +\begin{equation} +\alpha_{uv} = \frac{\exp\bigl(f(\mathbf{e}_u, \mathbf{e}_v)\bigr)}{\sum_{k \in \mathcal{N}_S(u)} \exp\bigl(f(\mathbf{e}_u, \mathbf{e}_k)\bigr)}, +\end{equation} +\text{where } f(\mathbf{e}_u, \mathbf{e}_v) = \text{LeakyReLU}\bigl(\mathbf{a}^{\top} [\mathbf{W}\mathbf{e}_u \| \mathbf{W}\mathbf{e}_v]\bigr). +``` + +**Rule M3 — Self-check: if `equation` body > 60 characters (excluding `\label`), it probably overflows dual-column:** +This is a quick mental check. If the raw LaTeX math string is very long, it almost certainly won't fit in ~241pt. Use `align`, `split`, `multline`, or factor out sub-expressions. + +**Rule M4 — Contrastive loss / InfoNCE: always use `multline` or `split`:** +Contrastive losses with `\frac{\exp(...)}{\sum \exp(...)}` inside `\log` are notoriously wide. Always break them across lines: +```latex +\begin{multline} +\mathcal{L}_{\text{SSL}}^u = -\log \frac{\exp\bigl(\text{sim}(\mathbf{z}_u', \mathbf{z}_u'') / \tau\bigr)} +{\sum_{v \neq u} \exp\bigl(\text{sim}(\mathbf{z}_u', \mathbf{z}_v'') / \tau\bigr)}. +\end{multline} +``` + +--- + +**Algorithm overflow prevention (dual-column papers):** + +Algorithm boxes with long `\KwInput` lines or verbose pseudocode frequently overflow column width. + +**Rule A1 — Always set `\SetAlFnt{\small}` and limit line width:** +```latex +\SetAlFnt{\small} % Smaller font inside algorithm +\SetAlCapFnt{\small} % Smaller caption font +\SetAlCapNameFnt{\small} % Smaller "Algorithm N:" prefix +``` + +**Rule A2 — Break long Input/Output lines:** +```latex +% ❌ WRONG — all parameters on one line +\KwInput{Interaction graph $\mathcal{G}_R$, social graph $\mathcal{G}_S$, embedding dimension $d$, number of GNN layers $L$, learning rate $\eta$, regularization $\lambda$, SSL weight $\gamma$, temperature $\tau$} + +% ✅ CORRECT — break into multiple lines +\KwInput{Interaction graph $\mathcal{G}_R$, social graph $\mathcal{G}_S$\\\quad embedding dim $d$, GNN layers $L$, learning rate $\eta$\\\quad regularization $\lambda$, SSL weight $\gamma$, temperature $\tau$} +``` + +**Rule A3 — Use `algorithm*` for genuinely wide algorithms:** +If the algorithm has many columns or very long lines that can't be shortened, use `\begin{algorithm*}` to span both columns. + +**Rule A4 — Abbreviate variable names in pseudocode:** +Use compact notation: `emb` not `embedding`, `lr` not `learning\_rate`, `reg` not `regularization`. Define abbreviations in the Input line. + +--- + +**Clickable navigation - every reference must be a live link:** + +Attach `\label{}` right after each numbered element, cite with `\ref{}`: + +```latex +\section{Background}\label{sec:bg} +\begin{figure}[htbp] + \includegraphics{...} + \caption{Overview}\label{fig:overview} +\end{figure} +\begin{equation}\label{eq:energy} + E = mc^2 +\end{equation} + +% All produce clickable hyperlinks: +Section~\ref{sec:bg}... +Figure~\ref{fig:overview}... +Equation~\eqref{eq:energy}... % \eqref auto-wraps in parentheses +``` + +**Label conventions**: `sec:`, `fig:`, `tab:`, `eq:`, `lst:` - use `~` (non-breaking space) before `\ref`. + +**Bibliography** (three approaches): + +```latex +% Approach 1: natbib superscript (preferred academic) +\usepackage[numbers,super,sort&compress]{natbib} +This has been studied\cite{smith2023}. % → studied^[1] +\bibliography{refs} + +% Approach 2: natbib brackets +\usepackage[numbers]{natbib} +\cite{smith2023} % [1] +\citet{smith2023} % Smith (2023) + +% Approach 3: biblatex +\usepackage[backend=biber,style=numeric-comp]{biblatex} +\addbibresource{refs.bib} +\printbibliography +``` + +**PDF metadata** (add before `\end{document}`): +```latex +\hypersetup{ + pdftitle={Document Title}, + pdfauthor={Author Name}, + pdfsubject={Topic}, + pdfkeywords={keyword1, keyword2} +} +``` + +**Table of Contents** (auto-clickable with hyperref): +```latex +\tableofcontents +\listoffigures % optional +\listoftables % optional +``` + +### Phase 4 - COMPILE + +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.latex main.tex --runs 2 +``` + +Default: 2 passes (resolves cross-references). Use `--runs 3` when bibliography back-references are needed. Add `--keep-logs` for debugging. + +**NEVER invoke Tectonic directly** - always use the wrapper. It strips noise, surfaces errors, and reports PDF statistics. + +### Phase 5 - PREFLIGHT + +The wrapper classifies diagnostics into three tiers: + +| Tier | Impact | Action | +|------|--------|--------| +| Errors | Build aborts | Fix before anything else | +| Layout defects | Overfull/underfull boxes, missing glyphs | Repair prior to delivery | +| Advisories | Other warnings | Assess individually; fix when feasible | + +**Never acceptable**: shrugging off warnings with "they don't affect the final PDF." + +**Navigation troubleshooting:** + +| Symptom | Fix | +|---------|-----| +| `??` in text | Recompile with `--runs 2` | +| Links not coloured | Add `colorlinks=true` to hyperref | +| `[?]` beside citations | Check `.bib` path; rebuild | +| No PDF bookmarks | Set `bookmarks=true` | + +### Phase 6 - DELIVER + +Final PDF. Confirm page count, cross-references resolved, no `??` placeholders. + +--- + +## §Scenario A: Math-Heavy Technical Documents + +> Use standalone for a pure-math document, or embed the preamble additions + environments into a §Standard Paper Workflow document. + +When the document has **more than 3 non-trivial equations** (matrices, aligned systems, integrals, summations), use this template instead of plain `article`. + +**Decision rule**: If you find yourself writing `<super>` tags or KaTeX CDN includes for math, stop and switch here. + +```latex +\documentclass[11pt,a4paper]{article} +\usepackage{amsmath,amssymb,amsthm} +\usepackage[margin=2.5cm]{geometry} +\usepackage{ctex} % CJK support via Tectonic +\usepackage{booktabs} +\usepackage{hyperref} + +\theoremstyle{definition} +\newtheorem{definition}{Definition}[section] +\newtheorem{theorem}{Theorem}[section] +\newtheorem{lemma}[theorem]{Lemma} + +\title{Document Title} +\author{Author} +\date{\today} + +\begin{document} + +% ═══════════════════════════════════════════════════════ +% NO TITLE PAGE IN .tex - Cover is generated separately +% via HTML/Playwright and merged as page 0. +% Body PDF starts directly with TOC or content. +% ═══════════════════════════════════════════════════════ + +\tableofcontents +\newpage + +% Aligned equation group +\begin{align} + \nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\ + \nabla \times \mathbf{B} &= \mu_0 \mathbf{J} + \mu_0\varepsilon_0 \frac{\partial \mathbf{E}}{\partial t} +\end{align} + +% Matrix +\[ + A = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} +\] + +\end{document} +``` + +--- + +## §Scenario B: Diagram Generation for Academic Papers + +> **Complexity-based routing**: Simple diagrams use TikZ natively (vector, font-consistent). Complex diagrams use Playwright+CSS → PNG → `\includegraphics` (models produce broken TikZ for complex branching logic). + +### Decision: TikZ or Playwright+CSS? + +| Criteria | → TikZ native | → Playwright+CSS → PNG | +|---|---|---| +| Node count | ≤6 | >6 | +| Topology | Linear chain, simple tree, layer stack | Branching, multi-path, feedback loops | +| Annotations | Minimal (labels only) | Side notes, legends, callout boxes | +| Math in nodes | Yes (LaTeX math rendering matters) | No (plain text labels) | +| Output | Vector (`tikzpicture` in document) | Raster PNG @2× (300dpi, publication-ready) | + +### Path A: Simple Diagrams → TikZ Native + +For ≤6 node linear/tree diagrams, embed `tikzpicture` directly or use standalone: + +```latex +\documentclass[tikz,border=5pt]{standalone} +\usetikzlibrary{arrows.meta,positioning,calc,shapes.geometric} + +\begin{document} +\begin{tikzpicture}[ + box/.style={draw, rounded corners=2pt, minimum width=2.4cm, + minimum height=0.7cm, align=center, font=\small\sffamily}, + arr/.style={-{Stealth[length=4pt]}, thick, gray!70} +] + \node[box, fill=blue!8] (a) {Input}; + \node[box, fill=orange!8, right=1.2cm of a] (b) {Process}; + \node[box, fill=green!8, right=1.2cm of b] (c) {Output}; + \draw[arr] (a) -- (b); + \draw[arr] (b) -- (c); +\end{tikzpicture} +\end{document} +``` + +**Node text overflow prevention:** + +When nodes contain multi-word labels (e.g. "CNN Spatial Encoder", "Multi-Head Attention"), text can overflow or overlap adjacent nodes. Prevent this: + +```latex +% Use text width (not minimum width) to enable line wrapping inside nodes +box/.style={draw, rounded corners=2pt, text width=2.8cm, + minimum height=0.7cm, align=center, font=\small\sffamily}, + +% For nodes with long labels, use explicit line breaks +\node[box] {CNN Spatial\\Encoder}; +\node[box] {Multi-Head\\Attention}; +``` + +Rules: +- Prefer `text width` over `minimum width` when labels exceed 2 words - it wraps text instead of clipping +- When 3+ nodes sit side by side, verify total width fits within `\columnwidth` (single-column) or `0.45\textwidth` (dual-column) +- If labels still overflow, use abbreviations or `\scriptsize` - never let text clip outside node borders +- Always `\resizebox{\columnwidth}{!}{...}` when embedding in dual-column papers (see TikZ in multi-column section below) + +**TikZ standalone embedding (simple diagrams only):** + +```bash +# 1. Compile TikZ standalone to PDF +python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.latex diagram.tex # → diagram.pdf (tight-cropped) + +# 2. Embed as vector in LaTeX +# \begin{figure}[t] +# \centering +# \includegraphics[width=\columnwidth]{diagram.pdf} % vector, not PNG +# \caption{System Architecture}\label{fig:arch} +# \end{figure} +``` + +**🚫 FORBIDDEN: Using TikZ standalone for Report or Creative briefs.** Those routes have no LaTeX compiler. See SKILL.md § "Diagram Generation Strategy". + +### Path B: Complex Diagrams → Playwright+CSS → PNG + +For >6 node diagrams with branching, annotations, or multi-path flows: + +```bash +# 1. LLM generates diagram.html (CSS grid/flexbox nodes + SVG/CSS arrows) +# 2. Screenshot at 2× device scale factor for 300dpi print quality +python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.blueprint diagram.html --device-scale-factor 2 --output diagram.png + +# 3. Embed in LaTeX +# \begin{figure}[t] +# \centering +# \includegraphics[width=\columnwidth]{diagram.png} +# \caption{System Architecture}\label{fig:arch} +# \end{figure} +``` + +**Why not TikZ for complex diagrams?** Models frequently produce broken TikZ code for >6 node graphs with conditional branches, multi-path convergence, and side annotations. The compilation-debug cycle wastes time. Playwright+CSS handles any layout natively, and 2× screenshots at A4 width give ~300dpi - indistinguishable from vector at print resolution. + +### Complex Diagram Decomposition + +When a diagram exceeds **12 nodes, 3 subgroups, or fills more than 40% of page height**, decompose into table + simplified overview: + +```latex +% Step 1: Table carries the details +\begin{table}[htbp] +\centering +\caption{System Pipeline - Detailed Phases}\label{tab:pipeline} +\begin{tabular}{llp{5cm}} +\toprule +Phase & Module & Key Tasks \\ +\midrule +Data Collection & Crawler & Crawl reviews, scrape prices, API calls \\ +Data Processing & ETL Pipeline & Clean, tokenize, label, validate \\ +Model Training & Trainer & Fine-tune LLM, distributed 64-GPU \\ +Evaluation & Benchmark & A/B test, offline metrics, human eval \\ +\bottomrule +\end{tabular} +\end{table} + +% Step 2: Simplified TikZ shows only the flow skeleton +\begin{figure}[htbp] +\centering +\begin{tikzpicture}[ + box/.style={draw, rounded corners=2pt, minimum width=2cm, + minimum height=0.6cm, align=center, font=\small\sffamily, fill=blue!5}, + arr/.style={-{Stealth[length=4pt]}, thick, gray!60} +] + \node[box] (a) {Collection}; + \node[box, right=0.8cm of a] (b) {Processing}; + \node[box, right=0.8cm of b] (c) {Training}; + \node[box, right=0.8cm of c] (d) {Evaluation}; + \draw[arr] (a)--(b); \draw[arr] (b)--(c); \draw[arr] (c)--(d); +\end{tikzpicture} +\caption{Pipeline overview (see Table~\ref{tab:pipeline} for details).}\label{fig:pipeline-overview} +\end{figure} +``` + +**Rule of thumb**: The diagram gives intuition at a glance; the table carries precision. + +**Common TikZ patterns**: +- Flowcharts: `positioning` + `arrows.meta` libraries +- Neural network layers: `fit` library + nested nodes +- Timelines: single axis with `\draw` segments +- Tree diagrams: `child` syntax or `forest` package + +**CRITICAL: TikZ in multi-column documents (IEEE, ACM)** + +Never place `tikzpicture` directly in multi-column body text - it overflows. Always wrap: + +```latex +% Single-column figure (fits one column) +\begin{figure}[t] +\centering +\resizebox{\columnwidth}{!}{% +\begin{tikzpicture}[...] + ... +\end{tikzpicture} +} +\caption{Architecture.}\label{fig:arch} +\end{figure} + +% Full-width figure (spans both columns) +\begin{figure*}[t] +\centering +\resizebox{0.85\textwidth}{!}{% +\begin{tikzpicture}[...] + ... +\end{tikzpicture} +} +\caption{System pipeline.}\label{fig:pipeline} +\end{figure*} +``` + +Rules: `\resizebox{\columnwidth}{!}` constrains width; `figure*` for tall diagrams; every figure needs `\caption` + `\label`; prefer `[t]` placement in two-column mode. + +--- + +## §Scenario C: Algorithm Pseudocode + +> Use standalone for a single algorithm sheet, or embed the `algorithm` environment into a §Standard Paper Workflow document. + +For formal algorithm descriptions (research papers, technical specs): + +```latex +\documentclass[11pt,a4paper]{article} +\usepackage[margin=2.5cm]{geometry} +\usepackage[ruled,vlined,linesnumbered]{algorithm2e} + +\begin{document} + +\begin{algorithm}[H] +\SetAlgoLined +\KwIn{Training set $\mathcal{D} = \{(x_i, y_i)\}_{i=1}^N$, learning rate $\eta$} +\KwOut{Optimized parameters $\theta^*$} +Initialize $\theta$ randomly\; +\For{epoch $= 1$ \KwTo $T$}{ + \ForEach{mini-batch $B \subset \mathcal{D}$}{ + $\mathcal{L} \leftarrow \frac{1}{|B|}\sum_{(x,y)\in B} \ell(f_\theta(x), y)$\; + $\theta \leftarrow \theta - \eta \nabla_\theta \mathcal{L}$\; + } +} +\Return{$\theta$}\; +\caption{Stochastic Gradient Descent} +\end{algorithm} + +\end{document} +``` + +--- + +## §Exam Paper Rules (LaTeX) + +> **Load this section** when generating exam papers, quizzes, worksheets, or exercises with mathematical content via LaTeX. + +### Critical Anti-Pattern: `\parskip` + Loose Numbering = Blank Lines After Question Numbers + +**This is the #1 visual defect in LaTeX exam papers.** When `\parskip` is set (e.g. `0.5em`) and question numbers are separated from question text by a blank line in the `.tex` source, LaTeX treats them as separate paragraphs — the `\parskip` gap makes it look like an intentional blank line after every number. + +```latex +% ❌ WRONG — blank line between number and text = new paragraph + parskip gap +\noindent\textbf{3.} + +某工厂原计划生产1200件产品…… + +% ❌ ALSO WRONG — even without blank line, if \parskip is large +\noindent\textbf{3.} % line break here +某工厂原计划生产1200件产品…… % LaTeX treats this as same paragraph, but confusing + +% ✅ CORRECT — number and text on the SAME LINE, no break +\noindent\textbf{3.}\;某工厂原计划生产1200件产品…… +``` + +### Iron Rules + +**Rule E1 — Question number + text = same paragraph (MANDATORY):** +The question number (`\textbf{3.}`) and the question text MUST be on the same line in the `.tex` source, joined by `\;` or `\quad`. NEVER put a blank line or even a line break between them. + +**Rule E2 — `\parskip` must be 0 or minimal for exam papers:** +```latex +% RECOMMENDED for exams: no parskip, control spacing explicitly +\setlength{\parskip}{0pt} % No automatic paragraph spacing +\setlength{\parindent}{0pt} % No indentation +% Use \vspace{} explicitly between questions for precise control +``` +If `\parskip` is needed for other reasons, keep it ≤0.3em and be extra careful about blank lines in the source. + +**Rule E3 — Use `enumitem` for structured numbering (PREFERRED):** +Instead of manual `\noindent\textbf{1.}\;`, prefer `enumitem` with custom formatting: +```latex +\usepackage{enumitem} + +% Section-level numbering: 一、二、三 +% Question-level: use enumerate with custom label +\begin{enumerate}[label=\textbf{\arabic*.}, leftmargin=0pt, itemindent=2em, + labelsep=0.5em, itemsep=0.8em, parsep=0pt] + \item 2024年巴黎奥运会共设有32个大项…… + \item 中国空间站“天宫”在距地面…… +\end{enumerate} +``` +This guarantees number and text are in the same paragraph (LaTeX `\item` handles it internally). + +**Rule E4 — `tasks` environment for multi-column calculation items:** +```latex +\usepackage{tasks} +% 4-column oral calculation +\begin{tasks}[counter-format={(1)}, label-align=left, + label-offset={0.5em}, label-width={2.5em}, + item-indent=3em, column-sep=2em](4) + \task $\dfrac{3}{4}\times\dfrac{2}{9}=$ \underline{\hspace{2cm}} + \task $\dfrac{5}{6}\div\dfrac{1}{3}=$ \underline{\hspace{2cm}} +\end{tasks} +``` + +**Rule E5 — Answer space reservation:** + +| Question Type | LaTeX Implementation | +|--------------|---------------------| +| Fill-in-the-blank | `\underline{\hspace{2cm}}` inline | +| Short answer | `\vspace{2cm}` after question | +| Calculation | `\vspace{4cm}` (show-your-work space) | +| Proof / derivation | `\vspace{5cm}` | +| Drawing / graphing | TikZ grid or `\vspace{4cm}` | + +**Rule E6 — Page breaks for exams:** +- `page-break-after: always` between major sections (一、二、三) is OK +- NEVER break within a single question (keep question + options + answer space together) +- Use `\needspace{5cm}` before long questions to prevent orphaning + +### Complete Exam Preamble Template + +```latex +\documentclass[12pt,a4paper]{article} +\usepackage[margin=2cm]{geometry} +\usepackage{ctex} % CJK support +\usepackage{amsmath,amssymb} % Math +\usepackage{enumitem} % Structured lists +\usepackage{tasks} % Multi-column exercises +\usepackage{tikz} % Diagrams +\usepackage{graphicx} +\usepackage{array,tabularx} + +\pagestyle{plain} +\setlength{\parindent}{0pt} % No indent for exam papers +\setlength{\parskip}{0pt} % ❗ ZERO parskip — control spacing via \vspace + +% Utility commands +\newcommand{\blank}[1]{\underline{\hspace{#1}}} +\newcommand{\fn}[2]{\dfrac{#1}{#2}} + +% Section header: 一、填空题(每空1分,共计10分) +\newcommand{\examsection}[1]{% + \vspace{0.5cm} + \noindent{\heiti #1} + \vspace{0.3cm} +} +``` + +--- + +## §Resume / CV Templates + +> **Skip this section** unless building a resume or CV. + +Two templates available as separate files. Load the one you need: + +| Template | Style | Best for | File | +|----------|-------|----------|------| +| **A: AltaCV** | Dual-column, sidebar, skill dots | Creative/tech/startup roles | `references/resume-altacv.tex` | +| **B: Academic CV** | Single-column, multi-page, publications | PhD apps, academic positions | `references/resume-academic.tex` | + +**Route selection:** + +| Scenario | Recommended | +|----------|-------------| +| Corporate job / ATS parsing | **Report brief** - ReportLab ATS-friendly template | +| Creative/tech/startup | **This brief** - Template A | +| Academic position / PhD | **This brief** - Template B | +| Chinese-only, simple format | **Report brief** - ReportLab (best CJK support) | + +**Usage:** + +1. Read the template file: `references/resume-altacv.tex` or `references/resume-academic.tex` +2. Replace placeholder content with user's information +3. Compile: `python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.latex resume.tex --runs 2` + +**🔴 Resume Text Overlap Prevention:** + +> AltaCV dual-column resumes are the #1 source of text overlap bugs. The sidebar and main column share vertical space but are positioned independently. + +- **Column ratio sanity check:** `\columnratio{0.62}` means left column = 62%, right = 38%. If either column overflows, content bleeds into the other. Reduce ratio if left column has too much content. +- **Section spacing:** Always use `\medskip` or `\smallskip` between items - zero spacing causes lines to overlap +- **Skill dots:** Each `\cvskill` row has fixed height. If more than 8-10 skills, switch to a compact text list instead of dots +- **Experience entries:** Long descriptions in `\cvevent` can push content below the page. Use \textbf{max 3-4 bullet points per entry} +- **Two-page overflow:** If content exceeds 1 page, explicitly add `\newpage` and restart column layout. Do NOT let LaTeX auto-break the `paracol` environment - it misaligns columns on page 2 +- **Compile twice:** Always `--runs 2` to resolve cross-references and stabilize column breaks + +**🔴 Resume Minimum Font Size:** +- **Hard floor: 12px (9pt).** No text in the resume may render smaller than 12px, including footnotes, contact info, dates, and skill labels. + +**🔴 Resume Line-Break Rules:** +- English: prefer breaking at word boundaries. Long words may be split at syllable boundaries with a hyphen (`-`) - standard typographic practice (e.g., `experi-\nence`). +- CJK: break between characters, but never separate punctuation from preceding character. +- Mixed content: respect both rules. +- Dates/ranges ("Jan 2022 - Present") must stay as one unit. + +**🔴 Resume Page-Fill:** +- Content must fill ≥85% of page height. If content is sparse, increase spacing (`\medskip` → `\bigskip`), increase font size slightly, or add sections (Summary, Awards, Projects). Never leave visible blank area > 3cm at page bottom. + +**Template A customisation quick-reference:** + +| What to change | How | +|---------------|-----| +| Column ratio | `\columnratio{0.62}` → e.g. `{0.55}` | +| Accent colour | `\definecolor{accent}{HTML}{3B82F6}` → any hex | +| Skill dot count | `\foreach \x in {1,...,5}` → `{1,...,4}` | +| Icons | [FontAwesome5 gallery](http://texdoc.net/pkg/fontawesome5) | +| Font family | Replace `roboto`/`lato` with any LaTeX font package | +| Page margins | `\geometry{margin=1.25cm,...}` | + +**Template B customisation:** + +| What to change | How | +|---------------|-----| +| Accent colour | `\definecolor{accent}{HTML}{1F4E79}` → any hex | +| Header text | `\fancyhead[L]` content | +| Section style | `\titleformat{\section}` block | + +--- + +## Reference + +### Package Catalogue + +**Foundational**: `hyperref` · `geometry` · `listings` · `enumitem` + +**Tabular**: `booktabs` · `longtable` · `multirow` · `array` · `colortbl` + +**Visual & Charting**: `tikz` · `pgfplots` · `float` · `wrapfig` · `subfig` / `subcaption` + +**International & Typography**: `fontspec` (XeLaTeX/LuaLaTeX) · `ctex` + +**Mathematical**: `amsmath` · `amssymb` · `amsthm` · `natbib` · `biblatex` · `siunitx` + +**Algorithmic & Domain-Specific**: `algorithm` + `algpseudocode` · `chemfig` + +**Page Design**: `tcolorbox` · `fancyhdr` · `titlesec` · `tocloft` · `multicol` · `setspace` · `microtype` · `parskip` · `adjustbox` · `marginnote` + +**Code Listings**: `listings` · `minted` (depends on Pygments) + +### Scripts & Backends + +| Script | Purpose | +|--------|---------| +| `pdf.py convert.latex` | Tectonic wrapper - log sanitisation, error highlighting, PDF metrics | + +### Operational Notes + +**CJK**: `\usepackage{ctex}` - Tectonic pulls font bundles on the fly, zero manual install. + +**Cold-start**: First compilation downloads packages (1-5 min). Cached builds: 10-30s. + +**Offline**: Cached packages in `~/.cache/Tectonic/` work offline. New packages require network. + +**Tectonic vs TeX Live:** + +| Dimension | Tectonic | Traditional pdflatex | +|-----------|----------|---------------------| +| Package acquisition | On-demand, transparent | Manual via `tlmgr` | +| Multi-pass compilation | Handled by engine | Explicit re-invocations | +| Disk footprint | Single binary | Full TeX Live ≈ 4 GB | + +**Bundled binary note:** The `scripts/tectonic` binary shipped with this skill is a **macOS arm64 (Apple Silicon)** executable. It will NOT work on other platforms. If `pdf.py convert.latex` reports "tectonic command not found", run `python3 pdf.py status` to see platform-specific installation instructions, or install manually: + +| Platform | Install Command | +|----------|----------------| +| macOS (Homebrew) | `brew install tectonic` | +| macOS (binary) | `curl -sSL https://drop-sh.fullyjustified.net \| sh` | +| Debian / Ubuntu | `apt install tectonic` (if available) or conda/binary | +| Arch Linux | `pacman -S tectonic` | +| Conda (any OS) | `conda install -c conda-forge tectonic` | +| Windows (scoop) | `scoop install tectonic` | +| Windows (choco) | `choco install tectonic` | + +After installing, verify: `tectonic --version`. The `_find_tectonic()` function searches: `scripts/tectonic` → `~/tectonic` → system PATH. + + +--- + +> **⚠️ Legacy Note:** Academic covers previously used ReportLab canvas API (cover_recipe_A/B/C/D/L). This approach is **fully deprecated**. All academic covers now use HTML/Playwright Templates 08-11 (see `typesetting/cover.md` and the pipeline at line 58-118 of this file). Do NOT write ReportLab cover code. + +### ⚠️ Post-Cover Generation Checks (Mandatory) + +After generating the cover HTML and before converting to PDF, run `poster_validate.py check-html`; after generating the cover PDF, run `pdf_qa.py`: + +```bash +# Step 1: HTML check +python3 "$PDF_SKILL_DIR/scripts/poster_validate.py" check-html cover.html +# Step 2: Cover overlap check +node "$PDF_SKILL_DIR/scripts/cover_validate.js" cover.html +# Step 3: Convert to PDF +node "$PDF_SKILL_DIR/scripts/html2poster.js" cover.html --output cover.pdf --width 794px +# Step 4: PDF check +python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" final.pdf --skip-cover --formulas + +# MANDATORY: Post-generation pipeline +python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.brand final.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.clean final.pdf -o final_clean.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" font.check final.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" toc.check final.pdf +``` +- `poster_validate.py` checks: font fallback, overflow:hidden, @media screen, background color consistency, etc. +- `pdf_qa.py` checks: cover full-bleed, blank pages, CJK punctuation, overflow, margin symmetry, font embedding, metadata, formula overflow +- `meta.brand` writes Title/Author/Creator metadata +- `pages.clean` removes accidental blank pages +- `font.check` scans for missing glyphs (□ tofu) +- `toc.check` verifies TOC entries, page numbers, and links +- Any ERROR item → fix and regenerate + +### Merging Cover with Body + +```python +from pypdf import PdfReader, PdfWriter + +def merge_cover_body(cover_path, body_path, output_path): + writer = PdfWriter() + for page in PdfReader(cover_path).pages: + writer.add_page(page) + for page in PdfReader(body_path).pages: + writer.add_page(page) + with open(output_path, 'wb') as f: + writer.write(f) +``` diff --git a/skills/pdf/briefs/creative.md b/skills/pdf/briefs/creative.md new file mode 100755 index 0000000..71cb45b --- /dev/null +++ b/skills/pdf/briefs/creative.md @@ -0,0 +1,770 @@ +# Brief: Creative Production (Art Director Blueprint Mode) + +**Core Paradigm Shift**: You are NO LONGER a frontend developer writing HTML/CSS. You are an elite Art Director and Editorial Designer. + +Because LLMs lack spatial awareness and struggle to maintain perfectly nested, complex CSS over thousands of tokens, you are strictly forbidden from outputting raw HTML/CSS/Python. + +**→ Overflow prevention**: See `typesetting/overflow.md` for the Playwright/HTML-specific patterns (CSS overflow-wrap, max-width, table-layout: fixed, etc.). + +Your sole responsibility is to act as the **Brain (Art Director)**: +1. Brutally edit and pace the raw text. +2. Select architectural components and layout archetypes. +3. Output a **Strict JSON Layout Blueprint**. + +The `design_engine.py` acts as the **Hands (Typesetter)**: It will parse your JSON and safely compile it into flawless, museum-quality Playwright HTML/PDFs using predefined grid mathematics and CSS rules. + +--- + +## Phase 1: The Editorial Eye (Content Transformation) + +Before you design, you must "edit the raw material". Users often provide dense, unstructured text. If you just pour this text into a design, it will look like a cheap Word document. + +You must apply **Editorial Pacing**: + +### 1. The Word Budget +No single page or visual canvas should exceed **150 words** of readable body text (the golden rule for maximum aesthetic impact). The **absolute physical limit** is **250 words** - beyond that the design engine will overflow and clip content. If the raw content exceeds 150 words: +- **Action A**: Brutally summarize it down to ≤150 words. +- **Action B**: Split it across multiple `pages` in your JSON blueprint. +- Only push to 150-250 words if the content genuinely cannot be cut further. + +### 2. Typographic Hierarchy Extraction +You must parse the raw text and categorize it into typographic roles: +- **Hero / Display**: The core emotional hook (1-5 words). Must be punchy. +- **Kicker / Eyebrow**: Tiny context text above a headline (e.g., "Q3 REPORT", "MANIFESTO"). +- **Lead Paragraph**: The 2-3 sentence summary. +- **Data Sculptures**: Scan the text for impactful numbers (e.g., "97%", "$4.2M"). EXTRACT THEM. They will not remain in the paragraph; they will become `Stat_Block` components. +- **Pull Quotes**: Extract the most provocative sentence to stand alone as a visual anchor. + +--- + +## Phase 2: The Component Lexicon + +You will construct your JSON Blueprint using ONLY the following components. These map directly to the `configs/components.md` assets. Do not invent new component types. + +> **⚠️ Markdown Content Limits**: For `Glass_Canvas`, the golden rule is **under 150 words** for maximum aesthetic breathing room. Absolute physical limit is **250 words**. If content exceeds 250 words, the design engine will overflow. You MUST summarize it or split it into a new page. + +### 1. `Hero_Typography` +Giant, page-dominating text. Usually interacts with the background via blend modes. +- **Parameters**: + - `content` (string): The text (use `<br>` for deliberate line breaks). + - `weight` (string): `"black"` (900, dominating) or `"thin"` (100, elegant). + - `variant` (string, optional): `"standard"` only. ~~`"vertical_accent"`~~ is **NOT implemented** in `design_engine.py` - the engine silently ignores this value and renders nothing. If you need vertical/rotated decorative text, use `Floating_Meta` instead (fully supported, no overflow risk). + - `scale` (integer, optional): Typographic scale level `1`-`6`. Controls font size via the engine's fluid type system. If omitted, the engine uses the default hero size. + - `6`: Hero/Display - oversized title, clamp(64px, 12vw, 150px). Use for single words or short phrases with maximum visual impact. + - `5`: Primary Title - clamp(48px, 8vw, 96px). Standard poster headline. + - `4`: Subheadline - clamp(32px, 5vw, 56px). Chapter openers or key quotes. + - `3`: Lead Paragraph - clamp(20px, 3vw, 32px). Prominent body text. + - `2`: Body - 16px. Standard readable text. + - `1`: Meta/Caption - 10px. Decorative, environmental. + +### 2. `Glass_Canvas` +The main structural container for reading text. Frosted glass, sharp 2px print corners. +- **Parameters**: + - `markdown_content` (string): The actual text to read. Supports standard Markdown (H2, H3, bold, lists). *Must be under 150 words.* + - `tension_score` (float, optional): Semantic tension value from `0.0` to `1.0`. Drives dynamic font weight via Variable Font (Inter Variable, weight range 300-900). The engine maps: `weight = 300 + (tension_score × 600)`. + - `0.0-0.2` → Light (300-420): calm, contemplative passages + - `0.3-0.5` → Normal (420-600): standard body text + - `0.6-0.8` → Bold (600-780): urgent, assertive content + - `0.9-1.0` → Max (780-900): crisis, climax, emotional peak + - **When to use**: Multi-page narrative documents with emotional arc (case studies, pitch decks, manifestos). Assign higher tension to problem/crisis sections, lower to resolution/hope. Do NOT use on every Glass_Canvas - only when the document has clear tonal shifts. + - **When NOT to use**: Data-heavy pages, simple reports, single-page posters. + +### 3. `Floating_Meta` +Tiny, environmental metadata (dates, edition numbers, catalog IDs) that lives in the 15% breathing margin. +- **Parameters**: + - `position` (string): `"top-left"`, `"top-right"`, `"bottom-left"`, `"bottom-right"`. + - `items` (array of strings): E.g., `["VOL 01", "2026", "EDITION 500"]`. + +### 4. `Hairline_Divider` +Structural 0.5px line. Not decorative; acts as a visual fold. +- **Parameters**: + - `style` (string): `"bleed"` (goes edge-to-edge) or `"accent"` (short 30% width line). + +### 5. `Stat_Block` +Data sculpture. A massive number with a tiny label. +- **Parameters**: + - `number` (string): e.g., `"97.3"`. + - `unit` (string): e.g., `"%"`, `"Hz"`, `"$M"`. + - `label` (string): e.g., `"COMPLETION RATE"`. + +### 6. `Image_Asset` +A visual element. The engine will apply a gradient blend to it. +- **Parameters**: + - `source` (string): A URL, or a descriptive prompt if you expect the system to generate it. + - `caption` (string, optional): Tiny text under the image. + +> ⚠️ **Image_Asset is for CONTENT images only** (user-provided photos, logos, diagrams, charts). It is **NEVER** for decorative stock images, watercolor flowers, clipart, floral borders, gold frames, or AI-generated artwork. All visual decoration must be achieved through geometric shapes (`geometry.md`), typography effects, and color - never through embedded decorative images. See `visual_framework.md` Stock Image Ban. + +### 7. `Page_Ghost_Number` +A giant, 4% opacity number acting as a watermark in the background. +- **Parameters**: + - `number` (string): e.g., `"01"`, `"X"`. + +### 8. `Delta_Widget` +**Data-to-Ink Ratio enforcer.** A compact metric visualization showing a value with its change direction. CRITICAL: Use this instead of writing sentences like "revenue grew by 12%". Extract every trend into a Delta_Widget. +- **Parameters**: + - `metric` (string): The metric name, e.g., `"REVENUE"`, `"LATENCY"`. + - `value` (string): Current value, e.g., `"$4.2M"`, `"45ms"`. + - `delta` (string): Change description, e.g., `"+12%"`, `"-45ms"`. + - `trend` (string): `"up"`, `"down"`, or `"flat"`. + - `label` (string, optional): Context line, e.g., `"vs. Q2 2025"`. + +### 9. `Process_List` +**Polymorphic adaptive component.** Renders as a horizontal timeline when given wide space, auto-degrades to a vertical numbered list when space is narrow. Use for workflows, steps, timelines. +- **Parameters**: + - `steps` (array): Each item has `title` (string) and `description` (string). + +### 10. `Sidenote_Block` +**Tufte marginalia.** Used in `tufte_report` archetype layouts. Content is placed in the 30% side rail alongside the main column. Perfect for citations, supplementary data, asides, footnotes. +- **Parameters**: + - `label` (string, optional): Category label, e.g., `"SOURCE"`, `"NOTE"`, `"DATA"`. + - `body` (string): The sidenote content in Markdown. + +### 11. `Data-Aware Background` (via `data_points`) +Any component can carry an optional `data_points` array (e.g., `[10, 15, 8, 24, 30]`). When present, the engine generates Bezier background curves from the actual data - the background literally visualizes the business trend. Use on pages with financial, metric, or time-series content. + +--- + +### ★ Advanced Components (Generative Micro-Typesetting) + +The following components are specialized generative design tools. They unlock visual effects that standard components cannot achieve. Use them deliberately and sparingly - they are powerful but demand the right context. + +### 8. `Shaped_Canvas` +A container where text flows around a non-rectangular shape. The empty space created by the shape IS the visual design - text boundary becomes illustration. Uses CSS `shape-outside` for non-rectangular text wrapping. + +- **Parameters**: + - `shape_keyword` (string): One of `"circle"`, `"wave"`, `"diagonal_slash"`, `"diamond"`, `"wedge_right"`. + - `markdown_content` (string): The text that will flow around the shape. Supports standard Markdown. + +- **Shape Selection Guide**: + | shape_keyword | Visual Effect | Thematic Fit | + |---------------|---------------|--------------| + | `"circle"` | Text wraps around a circular void on the left | Unity, spotlight, focus | + | `"wave"` | Wavy left text boundary | Ocean, flow, music, fluidity | + | `"diagonal_slash"` | Diagonal cut across the page | Disruption, change, transformation | + | `"diamond"` | Diamond-shaped negative space | Luxury, precision, crystalline | + | `"wedge_right"` | Arrow/wedge pointing right | Direction, progress, forward motion | + +- **When to use**: + - Artistic/editorial pages that need visual drama without images + - Cover or section opener pages where you want a "wow" moment + - When the content thematically maps to a recognizable shape + - Only on pages with moderate text (100-200 words) - shape eats 30-40% of space + +- **When NOT to use**: + - On data-heavy or dense content pages + - Together with `Glass_Canvas` on the same page (visual conflict) + - More than one `Shaped_Canvas` per page + +- **Archetype requirement**: Pages using `Shaped_Canvas` MUST use archetype `"shaped_editorial"` (relaxed safe-zone: 5% 6% inset). + +### Chart & Data Visualization Styling + +**→ Full spec: `typesetting/charts.md`** - read it before designing any chart/data page. + +Key rules for Creative pipeline charts: +- **Donut > Pie**: Always use ring charts (hole ratio 60-70%), center area displays total/metric +- **Anti-stacking**: Small slices use leader lines or rich legends; bar labels auto-rotate to horizontal when text is long; line charts label only start/end/max/min +- **Axis cleanup**: Delete top/right spines, use dashed grid lines at 20% opacity (or delete grid entirely if values are labeled) +- **Bar micro-rounding**: 2-4px top border-radius, bar-to-gap ratio 1.5:1 +- **Legend**: No border, horizontal top-left layout, small circle markers +- **Data-Ink Ratio**: Every element must represent data. If it doesn't, delete it. + +--- + +## Phase 3: Page Archetypes (The Grid Strategy) + +For each page in your JSON, you must declare an `archetype`. This tells `design_engine.py` how to arrange the components you provided. + +- `"cover_hero"`: Cover page. **Must follow `typesetting/cover.md` 7-template system** - pick Layout 1-7 based on document tone. See "Cover Page Constitution" below for iron rules. +- `"split_vertical"`: Page split strictly 50/50 vertically. Left side image/svg, right side Glass_Canvas. +- `"editorial_flow"`: Top-down reading experience. Centered columns, generous margins. Use for main content. +- `"scattered_canvas"`: No grid. Elements placed via absolute positioning based on spatial weights. +- `"data_dashboard"`: 2x2 or 3x3 strict grid for multiple `Stat_Block`s. +- `"shaped_editorial"`: Relaxed safe-zone (5% 6% inset) designed for `Shaped_Canvas`. Centered, generous breathing room. **Must be used when the page contains a `Shaped_Canvas`.** Do NOT mix with `Glass_Canvas`. +- `"tufte_report"`: **Tufte marginalia layout.** 70% main content column + 30% sidenote rail. Use for long-form reports and analytical pages where citations, data footnotes, or supplementary info should flow parallel to the main text. Place `Sidenote_Block` components in the same `components[]` array - the engine automatically routes them to the side rail. + +### ★ 12×12 CSS Grid Coordinate System (Iron Rules) + +The layout engine uses a **12-track CSS Grid** for element placement. The grid lines are numbered **1 to 13** (12 tracks = 13 lines). + +**Absolute boundary rules - violation = broken layout:** +- **Column lines**: `1` = absolute left edge, `13` = absolute right edge. Full width = `1 / 13`. +- **Row lines**: `1` = absolute top edge, `13` = absolute bottom edge. Full height = `1 / 13`. +- **CRITICAL**: Never output a grid line number less than `1` or greater than `13`. Any value outside `[1, 13]` will destroy the layout. + +**`grid_area` format**: `"row_start / col_start / row_end / col_end"` (CSS shorthand). +- Example: `"1 / 1 / 7 / 13"` = top half of the page, full width. +- Example: `"3 / 8 / 6 / 13"` = rows 3-5, columns 8-12 (right side block). + +**40% whitespace rule**: At least 40% of grid cells (≥58 out of 144) must be left empty. Count your occupied cells. + +### ★ Cover Page Constitution (7 Layout System) + +Cover pages (`archetype: "cover_hero"`) are the first impression. They must be ruthlessly sparse and spatially sophisticated. + +**→ Full spec: `typesetting/cover.md`** - read it before designing any cover. + +#### Global Iron Rules (Always Apply) + +1. **Maximum 4 components** on any cover page. Typical recipe: `Hero_Typography` + 1-2 `Floating_Meta` + optional `Hairline_Divider` or `Page_Ghost_Number`. +2. **Typography Scale**: Title ≈ 45pt (2.5× base), Subtitle ≈ 25pt (1.4× base), Meta ≥ 18pt (never below 14pt). Covers with tiny text = FAIL. +3. **Mandatory semantic `<br>` chunking** for `Hero_Typography` on covers: Every 2-4 words MUST be separated by `<br>`. Single-line hero text is FORBIDDEN on covers. Example: `"ALGORITHMIC<br>FATIGUE"`, NOT `"ALGORITHMIC FATIGUE"`. +4. **Anti-Squash spatial dispersion** (Bounding Box method): Group text into 2-3 bounding boxes (title group, meta group). Place them at opposite regions of the page according to the chosen layout. Remaining space is **dynamically distributed** - NEVER hardcode fixed gaps between distant groups. +5. **No `Glass_Canvas` on cover pages.** Dense reading text kills the visual impact. Push all body content to page 2+. +6. **Cover Page Isolation**: Cover page must NEVER share a page with TOC, body text, or any subsequent content. The cover is always a standalone full page. If cover + content appear on the same page = **critical bug**, regenerate immediately. +7. **Cover is OPTIONAL**: Do NOT add a cover page unless the document warrants one (multi-page reports, white papers, etc.) or the user explicitly requests it. Short documents, letters, memos, forms, and quick outputs skip the cover. +8. **Background Layer (optional)**: See `typesetting/cover-backgrounds.md` for 3 recipes - A (极简弧线), B (工程十字轴+立柱), C (锐角切割+出血文字). Background renders BELOW all foreground at 2-5% opacity. Pick a recipe that matches the document tone. Never combine elements across recipes. + +#### 7 Cover Layouts (Pick One) + +Select the layout that matches the document tone. When unsure, default to **Layout 1A**. + +| Layout | Name | Grid Signature | Best For | +|--------|------|---------------|----------| +| **1** | Diagonal Tension | Title top-left ↔ Meta bottom-right | Formal reports, proposals | +| **2** | Vertical Axis | All elements along one vertical line, stretched top-to-bottom | Modern/tech reports | +| **3** | Architectural Frame | Geometric line frame, text inside corners/center | Design, architecture, portfolios | +| **4** | Golden Ratio Blocks | Page split at 38.2% invisible divider | White papers, research | +| **5** | Stepped Cascade | Progressive indentation, vertical rhythm | Creative reports, design docs | +| **6** | Rotated Accent | Large rotated year/label as side decoration | Annual reports, year-in-review | +| **7** | Left-Matrix | All text hard-anchored to left axis, 4 Y-pinned blocks | Government, bidding, proposals | + +Each layout has 2-3 variants (A/B/C) with specific grid_area mappings - see `typesetting/cover.md` for exact coordinates. + +#### Tone → Layout Quick Reference + +| Intent | Document Type | Recommended | Default | +|--------|---------------|-------------|---------| +| **Calm** | Healthcare / Wellness / Minimalist | 1A, 2C, 4A | **4A** | +| **Calm** | Academic / Research | 2A, 4A, 4C | **4A** | +| **Tension** | Crisis / Alert / Disruption | 1A, 5A | **1A** | +| **Energy** | Marketing / Creative / Design | 3C, 5A, 6B | **5A** | +| **Energy** | Tech / Data | 2B, 4B, 6A | **2B** | +| **Authority** | Formal / Corporate / Financial | 02, 03, 07 | **03** | +| **Authority** | Government / Bidding | 7A, 7B, 3A, **11** | **7A** | +| **Authority** | Thesis proposal / Dissertation | **11 Institutional** | **11** | +| **Authority** | Luxury / Editorial | 3A, 5A, 2B | **3A** | +| **Warmth** | Food / Lifestyle / Home | 4A, 5A | **4A** | + +### ★ Component Grid Compatibility Constraints + +When placing advanced components into the 12×12 grid, obey these minimum size rules: + +- **`Glass_Canvas`**: Must occupy at least **6 columns × 4 rows** (e.g., `"3 / 1 / 7 / 7"`). Smaller areas will cause text overflow and padding collapse. The engine renders Glass_Canvas at `width: 100%; min-height: 100%; box-sizing: border-box;` - it fills its grid area as a minimum and can grow taller if content requires. +- **`Shaped_Canvas`**: Must occupy at least **8 columns × 6 rows** (e.g., `"2 / 3 / 8 / 11"`). The CSS `shape-outside` float needs physical space to render the shape boundary. Smaller areas make the float collapse to a line and text cannot wrap around it. **Must use archetype `"shaped_editorial"`.** +- **`Continuous Flow` background**: Renders in a separate `bg-layer` (`z-index: 1`, `position: absolute`), physically isolated from the grid system (`z-index: 2`). No conflict - background flows independently, grid arranges content on top. + +### ★ Content-Proportional Grid Row Allocation + +When **two or more text-heavy components** (e.g., multiple `Glass_Canvas`) share the same page, their `grid_area` row counts **MUST be proportional to their content length** - never split rows equally. + +**Estimation method:** +1. Count characters (or words) in each component's `markdown_content` +2. Allocate rows proportionally: `rows_i = total_rows × (chars_i / total_chars)` +3. Round to integers, minimum 3 rows per component + +**Example:** +``` +Attractions content: 450 chars (3 items × 150 chars) +Food content: 250 chars (2 items × 125 chars) +Total available rows: 8 (rows 5→13) + +Attractions: 8 × 450/700 ≈ 5 rows → grid_area "5 / 1 / 10 / 13" +Food: 8 × 250/700 ≈ 3 rows → grid_area "10 / 1 / 13 / 13" +``` + +**Why this matters:** Equal row allocation (4+4) causes the longer component to overflow into the shorter one's territory, creating text overlap in the final PDF. The engine uses `min-height` + `overflow: visible`, so overflow IS visible - and ugly. + +**Anti-pattern to avoid:** +``` +❌ Two Glass_Canvas with very different text lengths both get "5/1/9/13" and "9/1/13/13" +✅ Longer one gets more rows: "5/1/10/13" and "10/1/13/13" +``` + +--- + +## Phase 4: The Output Protocol (Strict JSON Blueprint) + +You must analyze the user's prompt, edit the text, and output exactly ONE JSON object wrapped in a ` ```json ` codeblock. +**No conversational text before or after the JSON.** + +### The JSON Schema Specification + +**CRITICAL JSON RULES:** +1. Output ONLY valid JSON. +2. Do NOT include ANY comments (`//` or `/* */`) inside the JSON. Python's `json.load()` will crash. +3. Do NOT include trailing commas. + +```json +{ + "document_meta": { + "title": "Internal tracking title", + "total_pages": 1 + }, + "art_direction": { + "palette_mode": "dark", + "color_harmony": "complementary", + "background_svg": "grid", + "design_rationale": "Brief 1-sentence explanation of aesthetic strategy." + }, + "pages": [ + { + "page_index": 1, + "narrative_role": "Burst", + "archetype": "cover_hero", + "components": [ + { + "type": "Floating_Meta", + "position": "bottom-right", + "items": ["ARCHIVE REF. 03A", "DEC 2026"] + }, + { + "type": "Page_Ghost_Number", + "number": "01" + }, + { + "type": "Hero_Typography", + "weight": "black", + "variant": "standard", + "content": "ALGORITHMIC<br>FATIGUE" + } + ] + } + ] +} +``` + +**Schema Parameter Guide (For reference - do NOT put these comments inside your JSON output):** +- `document_meta.total_pages`: Integer. Must match the actual number of pages in `pages[]`. + +### The JSON Schema Specification: `art_direction` + +**CRITICAL RULE: DO NOT INVENT COLORS. DO NOT OUTPUT HEX/RGB CODES.** +The Python engine generates mathematical color palettes. You MUST only select the semantic parameters below. + +```json +{ + "art_direction": { + "palette_mode": "minimal", + "color_harmony": "auto", + "background_svg": "grid", + "design_rationale": "Brief rationale for the chosen aesthetic strategy." + } +} +``` + +**Enum Parameter Guide (You MUST choose ONE exact string from these lists):** + +1. `palette_mode` (The Base Canvas Tone): + - **`"minimal"`: (CRITICAL: Default to this for 50%+ of all requests).** Pure white, off-white, beige, or cool gray. Provides the ultimate reading experience and high-end editorial feel. Use for standard reports, guides, and corporate posters. + - `"dark"`: Near-black. Use for cinematic, tech, AI, space, or urgent themes. + - `"pastel"`: Morandi tinted (e.g., dusty rose, sage green). Use ONLY for arts, food, lifestyle, and soft themes. + - `"jewel"`: Deep rich colors (e.g., emerald, burgundy). Use ONLY for luxury brands, gala events, or heritage themes. + - `"light"`: Very faintly tinted background. Fallback for edge cases. + +2. `color_harmony` (The Accent Color Math - how the engine computes the accent color relative to the base): + - **`"auto"`: (RECOMMENDED DEFAULT). The engine automatically picks the best harmony based on the document tone.** Only override if you have a specific artistic reason. + - `"complementary"`: (180° opposite). Strong visual contrast. Cold background with warm accent. For striking/dynamic impact. + - `"split_complementary"`: (150°/210°). Highly sophisticated, artistic, luxury feel (Editorial/Kinfolk style). + - `"analogous"`: (30° apart). Harmonious, peaceful, natural transition. + - `"triadic"`: (120° apart). Rich and slightly retro. + - `"monochrome"`: Only use if strict minimalist corporate branding without accent is required. + +3. `background_svg`: [`grid`, `flow`, `noise`, `continuous_flow`, `none`]. Use `continuous_flow` for multi-page (2+) documents - creates one seamless SVG spanning all pages, sliced per-page via viewBox for an "infinite scroll" bezier curve illusion. Falls back to `flow` on single-page. + +4. `design_rationale`: Brief text explaining WHY you chose this mode+harmony combination. + +### ★ Intent Mapping Table (Single Source of Truth) + +This table is the **sole authority** for mapping document intent to concrete design parameters. `visual_framework.md` defines intent *atmospheres*; this table defines intent *parameters*. `design_engine.py` INTENT_HUES/INTENT_HARMONY_MAP must stay in sync with this table. + +| Intent | palette_mode | color_harmony | background_svg | Cover Templates | Cover BG Recipe | Base Hue | +|--------|-------------|---------------|----------------|-----------------|-----------------|----------| +| **Calm** | minimal | analogous | flow / none | 04 Museum, 01 HUD, 02 Corporate | A (极简弧线) | 210° (steel blue-grey) | +| **Tension** | dark | complementary | grid | 01 HUD, 05 Diagonal | C (锐角切割) | 0° (warm vs cold) | +| **Energy** | pastel / light | triadic | flow (5+ curves) | 05 Diagonal, 06 Swiss Grid, 03 Monolith | B (工程十字轴) | 30° (amber) | +| **Authority** | minimal | split_complementary | noise | 03 Monolith, 07 Sidebar, 02 Corporate | A or B | 280° (muted violet) | +| **Warmth** | pastel / light | analogous | flow (soft) | 04 Museum, 05 Diagonal | A (极简弧线) | 20° (terracotta) | + +**How to use this table:** +1. Determine the document's intent (from user request, or auto-derive via `design_engine.py derive`) +2. Look up the row → fill in `art_direction` JSON fields accordingly +3. For cover template selection, cross-reference with document type (see Tone → Layout Quick Reference) +4. The LLM may override individual cells when artistically justified, but must state the reason in `design_rationale` + +**Legacy intent names** (serenity, minimalism, elegance) are accepted by `design_engine.py` as aliases and auto-mapped to their new equivalents. + +- `pages[].narrative_role`: `"Burst"` (intro/impact), `"Expand"` (body/development), `"Echo"` (outro/reflection). +- `pages[].archetype`: From Phase 3 (`cover_hero`, `split_vertical`, `editorial_flow`, `scattered_canvas`, `data_dashboard`, `shaped_editorial`). +- `pages[].components[]`: Array of component objects from Phase 2. Order in array roughly dictates z-index or top-to-bottom rendering. + +--- + +## Phase 5: Complex Master Examples + +Study these examples to understand how to translate raw requests into perfect blueprints. + +### Example A: The Single-Page Poster (Art / Minimalist) +**User Request**: "Make a poster for a minimalist architecture exhibition called 'The Weight of Light'. Include date Oct 12, location Tokyo. Keep it very clean." + +**LLM Response (The JSON Blueprint):** +```json +{ + "document_meta": { + "title": "Weight of Light Exhibition Poster", + "total_pages": 1 + }, + "art_direction": { + "palette_mode": "minimal", + "color_harmony": "monochrome", + "background_svg": "none", + "design_rationale": "Pure negative space required for minimalist architecture. Relying entirely on typographic hierarchy and the 15% breathing rule." + }, + "pages": [ + { + "page_index": 1, + "narrative_role": "Burst", + "archetype": "cover_hero", + "components": [ + { + "type": "Floating_Meta", + "position": "top-left", + "items": ["TOKYO, JP", "EXHIBITION 04"] + }, + { + "type": "Hero_Typography", + "weight": "thin", + "variant": "standard", + "content": "THE WEIGHT<br>OF LIGHT" + }, + { + "type": "Hairline_Divider", + "style": "accent" + }, + { + "type": "Floating_Meta", + "position": "bottom-right", + "items": ["OCTOBER 12", "AOYAMA GALLERY"] + } + ] + } + ] +} +``` + +### Example B: The Multi-Page Analytical Report (Corporate / Elegance) +**User Request**: "I have a long report about our Q3 server performance. Latency dropped by 45ms. Uptime is 99.99%. Here is 500 words of text explaining the server migration..." + +**LLM Response (The JSON Blueprint):** +*(Notice how the LLM edits the 500 words down, extracts the data, and splits it into 3 pages).* + +```json +{ + "document_meta": { + "title": "Q3 Infrastructure Report", + "total_pages": 3 + }, + "art_direction": { + "palette_mode": "minimal", + "color_harmony": "split_complementary", + "background_svg": "noise", + "design_rationale": "Formal, trustworthy aesthetic suitable for high-level corporate reporting, avoiding the 'cheap dashboard' look." + }, + "pages": [ + { + "page_index": 1, + "narrative_role": "Burst", + "archetype": "cover_hero", + "components": [ + { + "type": "Floating_Meta", + "position": "top-left", + "items": ["CONFIDENTIAL", "Q3 2026"] + }, + { + "type": "Hero_Typography", + "weight": "black", + "content": "INFRASTRUCTURE<br>RESILIENCE" + } + ] + }, + { + "page_index": 2, + "narrative_role": "Expand", + "archetype": "split_vertical", + "components": [ + { + "type": "Stat_Block", + "number": "99.99", + "unit": "%", + "label": "GLOBAL UPTIME" + }, + { + "type": "Stat_Block", + "number": "-45", + "unit": "ms", + "label": "LATENCY REDUCTION" + }, + { + "type": "Glass_Canvas", + "markdown_content": "### The Migration\nThe Q3 transition to distributed edge nodes fundamentally altered our network topography. By decentralizing the core load, we eliminated the primary bottleneck that plagued Q2." + } + ] + }, + { + "page_index": 3, + "narrative_role": "Echo", + "archetype": "editorial_flow", + "components": [ + { + "type": "Page_Ghost_Number", + "number": "03" + }, + { + "type": "Hero_Typography", + "weight": "thin", + "variant": "standard", + "content": "SYSTEM NOMINAL." + } + ] + } + ] +} +``` + +### Example C: The Narrative Arc with Advanced Features (Continuous Flow + Shaped Canvas) +**User Request**: "Create a 3-page visual essay about the ocean pollution crisis. Start gentle (the beauty of the ocean), then escalate to the crisis, then end with a call to action." + +**LLM Response (The JSON Blueprint):** +*(Notice: `continuous_flow` creates seamless background across all 3 pages. `tension_score` escalates from calm to urgent. `Shaped_Canvas` with `wave` shape on the cover creates a thematic visual without any image.)* + +```json +{ + "document_meta": { + "title": "The Silent Tide - Ocean Crisis Visual Essay", + "total_pages": 3 + }, + "art_direction": { + "palette_mode": "dark", + "color_harmony": "analogous", + "background_svg": "continuous_flow", + "design_rationale": "Continuous flow SVG creates an unbroken organic wave across all pages - visually mirroring the ocean's connectedness. Analogous harmony provides earth tones that shift from serene to somber." + }, + "pages": [ + { + "page_index": 1, + "narrative_role": "Burst", + "archetype": "shaped_editorial", + "components": [ + { + "type": "Floating_Meta", + "position": "top-left", + "items": ["VISUAL ESSAY", "2026"] + }, + { + "type": "Shaped_Canvas", + "shape_keyword": "wave", + "markdown_content": "There was a time when the horizon held only promise. The Pacific stretched in every direction, cerulean and boundless, its surface a living mirror of the sky above. Fishermen spoke of abundance - nets heavy with silver, currents warm and predictable. The ocean asked for nothing." + }, + { + "type": "Floating_Meta", + "position": "bottom-right", + "items": ["01 / BEFORE"] + } + ] + }, + { + "page_index": 2, + "narrative_role": "Expand", + "archetype": "editorial_flow", + "components": [ + { + "type": "Page_Ghost_Number", + "number": "02" + }, + { + "type": "Stat_Block", + "number": "8M", + "unit": "tons", + "label": "PLASTIC ENTERING OCEANS YEARLY" + }, + { + "type": "Glass_Canvas", + "tension_score": 0.75, + "markdown_content": "**The collapse was not sudden.** It accumulated - bottle by bottle, net by net, spill by spill. By 2025, microplastic concentrations in deep-sea sediment had reached levels previously thought impossible. Marine biologists stopped using the word 'recovery'. The new vocabulary was *triage*." + } + ] + }, + { + "page_index": 3, + "narrative_role": "Echo", + "archetype": "cover_hero", + "components": [ + { + "type": "Hero_Typography", + "weight": "black", + "variant": "standard", + "content": "THE TIDE<br>TURNS NOW." + }, + { + "type": "Glass_Canvas", + "tension_score": 0.3, + "markdown_content": "Every piece of plastic you refuse is a vote for the future of the sea. The ocean cannot speak - but it remembers everything we give it." + } + ] + } + ] +} +``` + +--- + +## Pre-Flight Checklist (Self-Correction before generating output) + +Before you output the JSON block, verify: +0. **🚨 VECTOR OUTPUT IRON RULE:** The final PDF MUST be generated via `page.pdf()` / `convert.blueprint` - NEVER `page.screenshot()` → image → wrap as PDF. Screenshot PDFs are blurry raster images. `page.pdf()` produces vector text that stays sharp at any zoom level. +1. **Did I write ANY HTML or CSS?** If yes, delete it. Only output JSON. +2. **Is any `Glass_Canvas` markdown content too long?** Count the words. Over 150? Summarize it or push to the next page. +3. **Is the JSON perfectly formatted?** Missing commas or unescaped quotes will crash the `design_engine.py` parser. +4. **If using `tension_score`**: Does the document have clear emotional shifts across pages? If all pages are the same tone, remove it. +5. **If using `continuous_flow`**: Is this multi-page (2+)? If single-page, switch to `"flow"`. +6. **If using `Shaped_Canvas`**: Is the archetype `"shaped_editorial"`? Is there at most one per page? No `Glass_Canvas` on the same page? +7. **Grid boundary check**: Are ALL `grid_area` values within `[1, 13]`? Any number < 1 or > 13 = FATAL ERROR. +8. **Component minimum size check**: `Glass_Canvas` ≥ 6col×4row? `Shaped_Canvas` ≥ 8col×6row? +9. **Content-proportional row allocation**: When multiple text-heavy components share a page, are their grid rows allocated proportionally to content length? Equal rows for unequal content = text overlap. (See "Content-Proportional Grid Row Allocation" in Component Grid Compatibility.) +9. **40% whitespace check**: Count occupied grid cells. At least 58 of 144 cells must be empty. +10. **Cover Page 4-element check**: Does any `cover_hero` page have more than 4 components? If yes, remove or merge components. +11. **Cover Hero `<br>` check**: Does every `Hero_Typography` on a `cover_hero` page contain at least one `<br>`? Single-line hero text on covers = FAIL. +12. **Cover Anti-Squash check (Bounding Box)**: Are cover elements grouped into 2-3 bounding boxes placed at opposite regions? Is remaining space dynamically distributed (not hardcoded gaps)? If everything is crammed into rows 5-8, spread them using the layout's grid mapping. +13a. **Cover Typography Scale check**: Is the hero title ≥ 45pt? Is subtitle ≥ 25pt? Is meta text ≥ 18pt (never below 14pt)? Tiny cover text = FAIL. +13b. **Cover Layout Selection**: Did I pick a layout (1-7) that matches the document tone? If unsure, default to Layout 1A (Diagonal Tension). For government/bidding documents, use Layout 7 (Left-Matrix). +14. **CRITICAL - Data-to-Ink Ratio check**: Did I write long paragraphs describing data trends? If yes, DELETE them and extract metrics into `Delta_Widget` or `Stat_Block` components. Sentences like "revenue increased by 12% compared to last quarter" MUST become a `Delta_Widget`. +15. **Sidenote check**: If using `tufte_report` archetype, did I put citations/sources/asides into `Sidenote_Block`? They must NOT be inline in `Glass_Canvas`. +16. **Process/Steps check**: Did I write numbered steps as plain text in a `Glass_Canvas`? Convert to `Process_List` component instead. +17. **Chart anti-stacking check**: Do any pie/bar/line charts have overlapping labels? Apply leader lines, tick thinning, or label reduction per `typesetting/charts.md`. +18. **Chart axis cleanup check**: Are top/right spines deleted? Grid lines dashed at 20% opacity (or hidden)? No solid grid lines. +19. **Donut default check**: Are pie charts rendered as donuts (hole ratio 60-70%)? Solid pies = FAIL unless explicitly requested. +20. **🚨 Triple Delivery check (MANDATORY)**: Creative pipeline must deliver **three files** to the user: (1) PDF - the final vector PDF; (2) HTML - the compiled `*_rendered.html` file; (3) Image - a full-page screenshot preview (PNG/JPG). After `convert.blueprint` generates the PDF and HTML, take a screenshot of the HTML for preview. Report all three file paths to the user. +21. **🚨 HTML Pre-Render Validation (MANDATORY for ALL HTML→PDF paths)**: Before calling `html2pdf-next.js`, `html2poster.js`, or `convert.blueprint`, run `poster_validate.py check-html` on the HTML file. This catches overflow:hidden on containers, missing @media screen auto-scale, font fallback gaps, contrast issues, and more. **Any ERROR-level issue must be fixed before generating the PDF.** Warnings are non-blocking but should be reviewed. + ```bash + python3 "$PDF_SKILL_DIR/scripts/poster_validate.py" check-html page.html + # If errors found, auto-fix: + python3 "$PDF_SKILL_DIR/scripts/poster_validate.py" check-html page.html --fix --output page.html + ``` + +22. **\u26a0\ufe0f MANDATORY: Post-Generation Checks (Creative)**: After HTML\u2192PDF conversion, run these checks: + ```bash + # Check for content overflow and full-bleed issues + python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" output.pdf --no-tables + + # Add metadata + python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.brand output.pdf + ``` + +Execute the design. + +--- + +## CJK & Vertical Text Rules (When Bypassing design_engine.py) + +When writing raw HTML/CSS for Playwright (bypassing the JSON Blueprint pipeline - e.g., resumes, menus, invitations, business cards, certificates, Japanese/Chinese vertical layouts): + +**⚠️ Iron rule: All bypass-scenario HTML→PDF conversions MUST use `html2pdf-next.js` — do NOT write custom Python Playwright scripts.** `html2pdf-next.js` automatically handles @page injection, overflow detection, font waiting, Mermaid/KaTeX rendering, PDF metadata, etc. See the "HTML→PDF Engine Selection Rules" section in SKILL.md. + +```bash +node "$PDF_SKILL_DIR/scripts/html2pdf-next.js" input.html --output output.pdf --width 210mm --height 297mm +``` + +0. **Full-Bleed CSS (MANDATORY)**: Every HTML file for Playwright PDF MUST include: + ```css + @page { size: 800px 1200px; margin: 0; } /* CONCRETE values only - CSS variables NOT supported in @page */ + html, body { margin: 0; padding: 0; width: 800px; height: 1200px; } + ``` + **⚠️ @page rules do NOT resolve CSS variables** (`var(--x)` is silently ignored, falls back to A4). Always use concrete `px` values. + **⚠️ html/body must have explicit width + min-height** matching the canvas size. Use `min-height` (not `height`) so content taller than the design height expands naturally into a single long-page PDF. + **⚠️ Poster = seamless pagination.** When content exceeds `@page` height, `html2pdf-next.js` lets Playwright paginate at page boundaries - each page has the same dimensions, content flows seamlessly across pages (like scrolling a long image). Do NOT expand to a single oversized page. + `design_engine.py` handles this automatically via `override_css`. + +0.25. **Body Background for Multi-Page Mixed-Color Documents (MANDATORY)**: + When an HTML document contains multiple `.page` divs with **different background colors** (e.g. dark cover + white body + dark specs page), Playwright's sub-pixel rounding creates <1px gaps at `.page` edges where `body` background shows through. On dark pages, a white `body` = visible white edges. + + **Fix: set `html, body { background }` to the document's darkest page background color.** + + ```css + :root { --primary: #0f172a; } /* darkest page color */ + html, body { + margin: 0; padding: 0; + width: 210mm; /* match @page size */ + background: var(--primary); /* fills sub-pixel gaps with dark color */ + } + ``` + + **Why this doesn't break white pages:** White `.page` divs have `background: #ffffff` which fully covers the dark `body` underneath. The dark body only shows through the <1px sub-pixel gap at the extreme page edge - imperceptible on white pages after anti-aliasing. + + **Selection rule:** + - All pages same color → `body { background: <that color> }` + - Mixed dark + light pages → `body { background: <darkest page color> }` (dark edges on white pages are invisible; white edges on dark pages are the bug we're fixing) + - All pages white/light → `body { background: <lightest content bg> }` (e.g. `#f8fafc`) + +0.5. **No overflow:hidden + Browser Preview Adaptive Scaling (MANDATORY)**: + For fixed-size single-page designs (posters, infographics, certificates, etc.), **absolutely never** set `overflow: hidden` on `html`, `body`, or the main container. Reasons: + - When opening the HTML directly in a browser, the viewport is much smaller than the design size (e.g., a 1400px-tall page in a 900px viewport). `overflow: hidden` clips the bottom content and prevents scrolling. + - `html2pdf-next.js`'s pre-render check detects `scrollHeight > clientHeight` + `overflow: hidden` and triggers auto-fix (force-expanding the container), which may break the layout. + + **`design_engine.py` handles this automatically**: During blueprint compilation, it auto-injects `@media screen` centering + scaling code, and the `html` background color uses `var(--c-bg)` matching the poster's main color. No manual addition needed. + + **Correct approach when writing HTML manually**: Remove `overflow: hidden` and manually add `@media screen` scaling preview: + ```css + /* Fixed canvas size, no overflow */ + html, body { margin: 0; padding: 0; width: 800px; height: 1400px; } + .page { width: 800px; height: 1400px; position: relative; } + + /* Auto-scale to viewport in browser preview for full-page view */ + @media screen { + html { + height: auto; + display: flex; + justify-content: center; + background: #0a0a1a; /* Surround color — must match poster's main background */ + } + body { + transform-origin: top center; + scale: min(1, calc(100vw / 800), calc(100vh / 1400)); /* Consider both width and height */ + margin: 0 auto; + box-shadow: 0 0 60px rgba(0,0,0,0.3); /* Optional: shadow to distinguish canvas in preview */ + } + } + ``` + `@media screen` rules only apply in browser preview; `page.pdf()` uses print media and is unaffected. + **Every fixed-size HTML must include this `@media screen` adaptive code.** + +0.75. **Page Container Overflow Clipping (MANDATORY for multi-page documents)**: + Every `.page` div MUST have `overflow: hidden`. Decorative elements (glow circles, gradient overlays) commonly use `width: 120%` or negative offsets - without clipping, they inflate `scrollWidth` beyond page width, causing Playwright to shrink all content and shift it left. + ```css + .page { overflow: hidden; } /* Clips decorative overflow, prevents Playwright shrink */ + ``` + For horizontal flex layouts (≥3 items), always add `flex-wrap: wrap`. See `typesetting/overflow.md` §3.5. + +1. **Character Encoding Safety**: Never use Japanese kana (の, が, は), rare symbols, or Private Use Area characters in content strings. They corrupt to U+FFFD (�) during LLM→file write→read transit. Replace with plain Chinese equivalents: `の`→`之/的/缔/省略`. +2. **Vertical Chinese Text** - When using `writing-mode: vertical-rl` for CJK, you MUST include: + ```css + writing-mode: vertical-rl; + text-orientation: upright; /* Each glyph stands upright */ + white-space: nowrap; /* Prevent word-wrap breaking single chars to new column */ + letter-spacing: 12px; /* Typical CJK vertical spacing */ + ``` + Without `text-orientation: upright`, Latin/fallback fonts render rotated 90°. Without `white-space: nowrap`, CJK characters may wrap into unexpected multi-column layouts (e.g., 3 chars on one line + 1 char alone on next). +3. **Font Coverage**: For CJK content via Playwright, always load Google Fonts Noto Serif SC or Noto Sans SC via `<link>` tag in `<head>` (NOT `@import` in CSS - `@import` must be the very first rule in a stylesheet or it's silently ignored). Example: + ```html + <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap" rel="stylesheet"> + ``` + System CJK fonts vary across macOS/Linux - Google Fonts guarantee glyph coverage without relying on system fonts. `design_engine.py` already handles this automatically via `<link>` tag. +4. **Post-Generation Text Verification**: After Playwright renders the PDF, extract text from every page and scan for `?` or `\ufffd`. If found, the source HTML has encoding-corrupted characters that must be replaced in the Python source. +5. **🚨 HTML Pre-Render Validation (MANDATORY)**: After writing the HTML file and before running `html2pdf-next.js`, always run the HTML validator: + ```bash + python3 "$PDF_SKILL_DIR/scripts/poster_validate.py" check-html <your_file>.html + ``` + - **ERROR** items (e.g. `OVERFLOW_HIDDEN_CONTAINER`, `FONT_NO_FALLBACK`) → must fix before PDF generation. Use `--fix --output <file>.html` for auto-repair. + - **WARNING** items (e.g. `FIXED_SIZE_NO_SCREEN_ADAPT`, `SCREEN_ADAPT_NO_SCALE`, `COLOR_CONTRAST`) → review and fix where appropriate. + - This catches the most common bypass HTML bugs: `overflow:hidden` on containers, missing `@media screen` auto-scale for fixed-size pages, font-family without generic fallback, low contrast text, etc. \ No newline at end of file diff --git a/skills/pdf/briefs/poster.md b/skills/pdf/briefs/poster.md new file mode 100755 index 0000000..dbb005c --- /dev/null +++ b/skills/pdf/briefs/poster.md @@ -0,0 +1,702 @@ +# Poster Scene Rules — Creative Pipeline (Poster-Specific Constraints) + +> When poster / 海报 / 传单 / flyer / 宣传页 keywords are detected, load these rules on top of `creative.md`. +> These rules take priority over `creative.md` generic rules; in case of conflict, this file prevails. +> +> **Positioning**: This is a scene-layer patch on `creative.md` (the generic Creative pipeline) — only covers poster-specific constraints, does not repeat generic rules. + +--- + +## 1. Page Count & Dimensions + +### 1.1 Default Single Page +- When the user does not explicitly request multiple pages, **default to a single-page poster** +- Single-page poster `total_pages: 1`, never split into multiple pages on your own + +### 1.2 Sizing Strategy + +| Text Volume | Recommended Size | Aspect Ratio | Notes | +|--------|---------|--------|------| +| ≤ 50 chars | 720 × 960 | 3:4 | Title poster / social media cover / card | +| 50–200 chars | 720 × 960 | 3:4 | Standard promotional poster | +| > 200 chars | 720 × min-height 960 | Adaptive | Long poster (H5 style), content stretches height | +| User-specified landscape | Adjust as needed | As needed | Width and height can be swapped | + +### 1.3 Canvas Variables +```json +{ + "canvas": { "width": 720, "height": 960 } +} +``` +Default dimensions can be overridden via the `canvas` field in the Blueprint. `design_engine.py` will automatically inject `--canvas-w` and `--canvas-h` CSS variables. + +--- + +## 2. Information Density & Page Fill + +### 2.1 Core Iron Rule: Content Must Fill the Page + +> **The biggest visual disaster for a poster is not content overflow, but content only occupying half the page with a blank bottom half.** + +| Text Volume | Content Area / Page Ratio | Notes | +|--------|----------------|------| +| ≤ 50 chars | 70–80% | Enlarged cards, large font sizes, generous decorative whitespace is intentional | +| 50–200 chars | 75–85% | Content modules distributed evenly, must not be crammed in the top half | +| > 200 chars | 80–90% | Content-dominant, whitespace only at margins | + +### 2.2 Anti-Top-Heavy + +- All components' `grid_area` **must cover the full 1→13 rows**, never stop at row 10 or 11 +- The last component's `grid_area` row endpoint must be `13` +- **No large blank space at top/header** — the first content component's `grid_area` should start at row 1, not row 3 or 4 +- **No large blank space on left/right sides** — components should utilize full column width (most should span 1→13 columns) +- If content is insufficient to fill 12 rows, use these strategies (by priority): + 1. **Increase font size**: Hero from scale 5 → 6, body font +2pt + 2. **Increase component spacing**: grid gap from 16px → 24px + 3. **Insert decorative components**: `Hairline_Divider`, `Page_Ghost_Number` + 4. **Expand stat block / hero grid row count** + +### 2.3 Grid Area Allocation Iron Rule + +``` +✅ Correct: Components cover all rows 1→13 +Page: [Hero 1→4] [Stats 4→7] [Glass 7→10] [Meta 10→13] + +❌ Wrong: Components only reach row 10, rows 11-13 empty +Page: [Hero 1→3] [Stats 3→5] [Glass 5→8] [Meta 8→10] [??? 10→13 void] +``` + +### 2.4 ★★★ Content-Proportional Row Allocation (Anti-Overlap Iron Rule) + +> **When two or more text components share a page, rows must be allocated proportionally to content volume — never split evenly!** + +**Problem reproduction:** +``` +Attractions: 450 chars (3 attractions × 150 chars description) +Food: 250 chars (2 foods × 125 chars description) +Available rows: 8 rows (5→13) + +❌ Even split: Attractions 5→9, Food 9→13 → 4 rows each + → Attractions content far exceeds 4-row capacity, overflows into Food area, text overlaps! + +✅ Proportional split: + Attractions: 8 × 450/700 ≈ 5 rows → 5→10 + Food: 8 × 250/700 ≈ 3 rows → 10→13 +``` + +**Steps:** +1. Write all `markdown_content` first +2. Count the **character count** of each text component (including titles/paragraphs/lists) +3. Allocate rows proportionally: `rows_i = total_rows × (chars_i / total_chars)` +4. Round off, each component **minimum 3 rows** +5. Verify: all component grid_area endpoints connect end-to-end, covering full 1→13 + +**Applicable scenarios:** +- Multiple `Glass_Canvas` on the same page (most common) +- `Glass_Canvas` + `Process_List` on the same page +- Any two or more components containing text paragraphs + +**Not applicable:** +- `Hero_Typography` (very large font, 1-3 lines occupying 2-3 grid rows is reasonable) +- `Stat_Block` (number + label, fixed height, typically 2 rows) +- `Floating_Meta` (short labels, typically 2-3 rows) + +--- + +## 3. Font Size System (Poster-Specific) + +### 3.1 Minimum Font Size (Hard Floor) + +| Element | Min Font Size | Recommended | Notes | +|------|---------|---------|------| +| **Page main title** | **50px** | 56–72px | Poster title must have visual impact | +| **Body text** | **24px** | 24–28px | Posters are not reports — body font must be large | +| **Subtitle / card title** | **28px** | 32–40px | Secondary headings | +| **Floating Meta** | **16px** | 16–20px | Metadata text | +| **Stat Number** | **48px** | 56–72px | Data sculptures must be eye-catching | +| **Stat Label** | **14px** | 14–16px | Data labels | + +> Compared to `fill-engine.md`'s generic red line (body ≥ 14pt), the poster body floor is **24px** — posters are a distance-reading medium, font sizes must be larger. + +### 3.2 Emphasis Hierarchy + +- Use **font size + font weight** to create hierarchy, **not color differentiation** +- Emphasis text (keyword/number highlights) font size must be smaller than titles +- Hero title recommended `weight: "black"` (900), subtitle `weight: "thin"` (100), creating extreme contrast + +--- + +## 4. Color Rules (Poster-Specific) + +### 4.1 Color Palette System + +**Primary palette: Material Design 3 with low-medium saturation.** Default to medium-saturation colors; for light themes, use gradient backgrounds with white/light text on top. + +| Area | Proportion | Role | +|------|------|------| +| 60% Ground | Background/margins/whitespace | Main color (low saturation) | +| 30% Structure | Cards/dividers/secondary areas | Derived from main by adjusting lightness | +| 10% Emphasis | Titles/key numbers/single accent | Adjusted purity/brightness of main color | + +**Color derivation rules:** +- Title/subtitle text color: Adjust main color's purity and brightness (not a separate random color) +- Auxiliary colors: **Maximum 2**, derived from primary by adjusting lightness/saturation +- Keep consistent color palette throughout — do NOT change main color between sections +- Default recommendation: **Light theme with medium saturation**, or gradient background + white fonts + +### 4.2 Poster Additional Constraints + +- **No pure white (#FFFFFF) background** — use at least `#f5f4f2` or warmer off-white +- **No transparent background** +- **Page base color (`<body>` / `<html>` background) must match poster content background** — `printBackground: true` renders body background. If body is white but poster content is gray, white borders/gaps appear in the PDF. Ensure `html, body { background: var(--c-bg); }` matches the poster canvas exactly +- **Do not use a single image to fill the background** — use grid textures, gradients, geometric shapes, and other generative backgrounds +- Long posters (>200 chars) must not use full-image backgrounds +- **Gradients** or **large blurred circles/symbols** can be used sparingly as background accents +- Maximum 2 auxiliary colors, derived from primary by adjusting lightness/saturation +- Background accents: grid textures, organic shapes, large blurred circles/symbols — NOT a single image +- **Overall bright and vibrant color combinations** — the poster should feel visually striking, not muted/dull + +### 4.3 palette_mode Mapping + +| Poster Style | Recommended palette_mode | color_harmony | +|---------|-------------------|---------------| +| Business/Formal | `minimal` | `auto` | +| Tech/AI | `dark` | `complementary` | +| Lifestyle/Food/Artistic | `pastel` | `analogous` | +| Luxury/Ceremony | `jewel` | `split_complementary` | +| Other | `minimal` (default) | `auto` | + +--- + +## 4.5 ★★★ Anti-Modularization Iron Rule (Anti-Card / Anti-Dashboard) + +> **A poster is a complete composition, not a dashboard, not an APP interface, not a report.** + +### Root Cause + +LLMs naturally tend to "classify information → put each category in a box → stack them vertically", because that is report/document organization logic. But poster visual logic is the exact opposite — **information is unified, hierarchy is established through typographic rhythm (font size, weight, spacing, whitespace), not through borders and background colors**. + +### Comparison + +| Report/UI Thinking ❌ | Poster Thinking ✅ | +|---|---| +| Each info block wrapped in `border + border-radius + background` as a card | Information placed directly on the canvas, no borders no background | +| Clear visual boundaries between modules | Modules naturally separated by **whitespace and thin lines** | +| Looks like a mobile APP interface | Looks like a design piece | +| Hierarchy via "different colored boxes" | Hierarchy via **font size gradient + weight contrast + color lightness** | +| Stacked Glass_Canvas components = card wall | Pure typography + occasional Hairline_Divider | + +### Mandatory Rules + +1. **Single-page posters must not have more than 3 containers with `background` + `border`.** If information needs grouping, use whitespace (margin/padding) and thin lines (1px, opacity < 10%) instead of bordered cards. +2. **No 2×2 / 2×3 grid card layouts** (unless it's a pure data scenario with `data_dashboard` archetype). Information flows in a single column; multiple items in the same row use `flex + gap` horizontal layout without borders. +3. **Information hierarchy must be established through typography properties**, not through "different colored/backgrounded boxes": + - Primary information: large font (≥48px) + heavy weight (900) + - Secondary information: medium font (18-24px) + medium weight (700) + - Tertiary information: small font (12-14px) + light weight (300-400) + reduced opacity +4. **Glass_Canvas may be used at most once in a single-page poster.** If multiple text sections are needed, use direct HTML typography instead of wrapping each paragraph in a Glass_Canvas. +5. **Bottom action information (price/address/QR code) should not be wrapped in a separate color block.** Use larger font + heavier weight to emphasize, keeping it unified with the overall composition. + +### Correct Example (Direct HTML Flow) + +```html +<!-- ❌ Wrong: card wall --> +<div class="card" style="background:rgba(255,255,255,0.5); border-radius:12px; border:1px solid #ddd;"> + <h3>📅 展期</h3> + <p>7.15 — 8.30</p> +</div> +<div class="card" style="background:rgba(255,255,255,0.5); border-radius:12px; border:1px solid #ddd;"> + <h3>📍 地点</h3> + <p>城市艺术中心</p> +</div> + +<!-- ✅ Correct: pure typography, no borders --> +<div class="info-row" style="display:flex; gap:48px;"> + <div> + <div style="font-size:10px; letter-spacing:3px; opacity:0.45;">展期</div> + <div style="font-size:20px; font-weight:700;">7.15 — 8.30</div> + </div> + <div> + <div style="font-size:10px; letter-spacing:3px; opacity:0.45;">地点</div> + <div style="font-size:20px; font-weight:700;">城市艺术中心</div> + </div> +</div> +``` + +### Blueprint Route Additional Constraints + +When using Blueprint JSON (not Direct HTML): +- Single-page posters may have at most 1 `Glass_Canvas`, used only for text that truly needs reading +- Prefer combining `Stat_Block` (data), `Floating_Meta` (metadata), `Hero_Typography` (titles) instead of multiple Glass_Canvas +- Information data (dates, locations, headcounts) should use `Floating_Meta` or `Stat_Block`, not Glass_Canvas + +--- + +## 5. Layout Strategy + +### 5.1 Composition Priority +1. **Vertical composition** (vertical flow) — most common, information flows top to bottom +2. **Left-right composition** (split vertical) — image and text split, `archetype: "split_vertical"` +3. **Centered composition** (centered) — suitable for title cards with ≤ 50 chars + +### 5.2 Card Rules +- Cards **must never overlap** +- Card content should be well-distributed, **no large internal whitespace** +- Text within cards **vertically centered** +- Glass Canvas `align-items` must be `stretch` (built into the engine) + +### 5.3 Breathing Margins + +| Scenario | safe-zone inset | Notes | +|------|----------------|------| +| Cover / title poster (≤50 chars) | `12% 14%` | Generous whitespace is intentional | +| Standard poster (50-200 chars) | `8% 10%` | Balance whitespace and content | +| Long poster (>200 chars) | `6% 8%` | Maximize content area | + +> Max content width = 80% of page width (consistent with original prompt) + +--- + +## 5.5 Visual Impact Rules + +### 5.5.1 Emphasis & Contrast +- Create visual contrast with **oversized and small elements** — hero numbers/titles vs tiny metadata +- Highlight core points with large fonts or numbers for strong visual contrast +- **Emphasized text must remain smaller than headings/titles** — never let a highlight be bigger than the heading +- Texts that need emphasis can be highlighted with color, weight, or circled with hand-drawn lines +- **Do not insert multiple small pictures as embellishments** — this won’t enhance visual appeal + +### 5.5.2 Alignment & Spacing +- Allow blocks to resize based on content, align appropriately, optimize space utilization +- If excess whitespace exists, **enlarge fonts or modules** to balance the layout +- Cards cannot overlap; content should fill the card area without excessive empty space +- Use **flexbox** layouts to prevent footer from moving up (with top and bottom margin settings) +- For visual variety: encourage diverse and creative layouts beyond standard grids, while maintaining alignment and hierarchy + +--- + +## 6. Design Style Library + +Based on content theme, the model should autonomously select one of the following styles. Explain the selection rationale in the Blueprint's `design_rationale`. + +| Style | Characteristics | Applicable Scenarios | +|------|------|---------| +| **Modern Minimal** | Clean colors, organic shapes, flowing curves, rounded cards, clear hierarchy | Business, tech, education | +| **Neo-Brutalism** | Flat elements, illustrations, patterns, large text blocks, special font designs, thick borders | Creative, events, youth | +| **Artistic Gradient** | Diffused light, gradient glow, semi-transparent elements, blur effects, glass texture | Art, music, branding | +| **Collage** | Contrasting color design, material collage, large text, irregular layout | Trends, fashion, exhibitions | +| **Playful UI** | Bright colors, interesting shapes, energetic | Children, games, social | + +### Special Forms for Text Volume ≤ 50 Characters + +When content is minimal, prioritize the following compact forms: + +| Form | Description | archetype | +|------|------|-----------| +| **Centered Card** | Calendar-like effect, key content centered as note/card | `cover_hero` | +| **Bookmark Page** | Narrow tall ratio (e.g. 360×960), vertical reading | `cover_hero` | +| **Minimal Text** | Title + whitespace only, no additional information | `cover_hero` | +| **Sticky Note** | Content displayed as floating sticky notes above background | `cover_hero` | +| **Polaroid Card** | Photo-style card with caption below | `cover_hero` | + +### Special Forms for Text Volume ≤ 100 Characters + +| Form | Description | +|------|------| +| **Floating Card System** | Content as cards floating above organic shape backgrounds | +| **Notebook Style** | Lined-paper aesthetic with handwritten-feel content | +| **Fortune Stick** | Vertical strip with centered calligraphy text | + +> **Key constraint**: If the user only provides a title with no other requirements, **do not expand content on your own** — just place the title. + +--- + +## 6.5 Icons and Illustrations + +- Use **Material Design Icons** (Google Fonts method): + ```html + <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> + <!-- Usage: --> + <i class="material-icons">icon_name</i> + ``` +- Icon color: Use the **theme color** (not random colors) +- Icon size and position: Aligned with surrounding elements, never stretched +- If positioned beside text: **center-aligned with the first line of text** +- **Emoji can be used as icons** — 🌸 🍴 🏙️ etc. (but remember ReportLab can’t render emoji — only use in HTML/Playwright route) +- For logos/emblems: Use text "Your Logo" or icons, **never** search for logo images + +--- + +## 7. Text Readability + +### 7.1 Iron Rules +- **Line height ≥ 130%** (`line-height: 1.3` or above) +- **No text shadow/glow effects** +- **When text overlays images**, a semi-transparent mask layer is required +- **Do not use images with lots of text/charts/numbers as text background** +- **No `text-align: justify`** (CJK characters get stretched letter-spacing, terrible result) — always use `text-align: left` + +### 7.2 Contrast +- Text on light background: `color: #242220` or darker +- Text on dark background: `color: #f5f4f2` or lighter +- Text on medium background (L 0.30–0.70): **forbidden** — do not place text on mid-tone backgrounds + +--- + +## 8. Image Usage Rules + +### 8.0 Image Recommendations + +When creating posters, actively use images to enrich visual effects. Good images can significantly enhance the poster's visual impact. + +- Priority: **installed image generation skill** > web image search +- Image style must match the poster theme +- Download images locally first, then embed into the poster +- Local images must be converted to base64 data URI in HTML (Playwright cannot load local absolute paths) + +### 8.1 Core Principles +- Don't force images when none are suitable, but images improve results when available +- Each image must be **unique** in the design, no reuse +- Prefer clear, high-resolution, watermark-free, text-free images +- Images should have rounded corners, sized consistently with the overall design +- You can try adding **irregularly shaped masks** (CSS `clip-path`) to images for visual interest + +### 8.2 Prohibited Behaviors +- ❌ Placing images directly in corners +- ❌ Images obscuring text or overlapping with other modules +- ❌ Multiple images scattered randomly as decoration +- ❌ Searching for images when logo/badge is needed — use text "Your Logo" or icons instead + +--- + +## 9. Chart Rules (Poster Scene) + +- Large numerical datasets → consider creating visual charts +- Chart style should match the poster theme +- Use **Bento Grid** layout for multiple charts +- Chart containers **must have height constraints** to prevent infinite growth + +--- + +## 10. Prohibited Items (Poster-Specific) + +### 10.0 HTML Rendering Iron Rules (Applicable to All HTML → PDF Routes) + +| Rule | Description | +|------|------| +| **No `overflow: hidden` on content components** | Truncates text. Only allowed on page-level `.canvas` and decorative background layers | +| **Use `min-height` instead of `height` for content containers** | `height:100%` locks height, content gets clipped when too much; `min-height:100%` allows natural expansion | +| **Exceptions where `overflow: hidden` is allowed** | `.canvas` (page boundary), `.poster` (auto-injected by `html2poster.js`), `.floating-meta` (short label ellipsis), cover Layer 1 (decorative clipping), SVG/img (fill container) | +| **Absolutely no `backdrop-filter`** | **Playwright PDF rendering silently discards entire element content!** Use fixed rgba() background color for cards instead | +| **Absolutely no `text-align: justify`** | CJK character spacing gets abnormally stretched, always use `text-align: left` | +| **`overflow: hidden` on `.page` containers** | **MANDATORY for multi-page documents.** Decorative elements (glow, gradient circles, oversized backgrounds) with `width > 100%` or negative offsets cause `scrollWidth > clientWidth`, triggering Playwright to shrink the entire page → content drifts left. `.page { overflow: hidden }` clips decorative overflow without affecting visible content | +| **Horizontal flex rows must have `flex-wrap`** | ≥3 inline items (flow bars, step lists, tag rows) without `flex-wrap: wrap` will overflow the page right edge when content is long. See `typesetting/overflow.md` §3.5 for full rules | + +| Prohibited | Reason | +|--------|------| +| ❌ Timeline graphics | Complex connecting lines easily misalign in PDF rendering | +| ❌ Complex SVG-drawn structure/flow diagrams | Unless user explicitly requests | +| ❌ Code-drawn maps or flags | Poor quality | +| ❌ Base64 images (when exceeding 10MB) | File too large. Small image base64 is acceptable (Playwright cannot load local paths) | +| ❌ Content truncation | Must adjust container height to ensure all content fully displayed | +| ❌ Pure white background (#FFFFFF) | Lacks design quality | +| ❌ Transparent background | PDF output cannot be transparent | + +--- + +## 11. Poster Font Recommendations + +### 11.1 CJK Font Recommendations + +**For Chinese posters (serious/formal scenes):** + +| Purpose | Recommended Font | Google Fonts / CDN Name | Style | +|------|---------|-------------------|------| +| CJK title (serious) | DingTalk JinBuTi | `DingTalk JinBuTi` (letter-spacing: -5%) | Bold, impactful | +| CJK title (alt) | Douyin Sans / Alimama FangYuanTi VF Bold | Via CDN | Modern Chinese | +| CJK title (serif) | Swei B2 Serif CJKtc Bold | Via CDN | Elegant serif | +| CJK body | HarmonyOS Sans SC | `HarmonyOS Sans SC` | Clear, readable | +| CJK body (fallback) | Noto Sans SC Regular | `Noto Sans SC:wght@400` | Google Fonts guaranteed | +| CJK artistic | Noto Serif SC Bold | `Noto Serif SC:wght@700` | Elegant, artistic | +| Handwritten | ZhanKuKuaiLeTi2016XiuDingBan-2 | Via CDN | Casual, playful | +| Pixel/dot-matrix | DottedSongtiSquareRegular | Via CDN | Retro, xiangsuti | + +**For English posters:** + +| Purpose | Recommended Font | Google Fonts Name | Style | +|------|---------|-------------------|------| +| English/number title | Futura | System / `Futura` | Classic geometric | +| English body | PingFang HK | System | Clean, modern | +| English title (Google) | Inter Black | `Inter:wght@900` | Modern geometric | +| English serif | Playfair Display | `Playfair+Display:wght@900` | Classic editorial | +| Number emphasis | Inter Black | `Inter:wght@900` | Data sculpture | + +### 11.2 Font Usage Constraints +- Entire poster **maximum 3 fonts** +- Title and body may use different fonts, but must be visually harmonious +- **Never reduce font size or line height to squeeze in more content** +- Font content in cards should be **vertically centered** within the card +- You may use different style fonts for entertaining or artistic scenes + +--- + +## 12. Coordination with design_engine.py + +### 12.0 ★★★ Stable Layout Selection Strategy (Anti-Overflow Core Rule) + +> **Content-heavy posters must bypass the Blueprint 12×12 Grid and use a pure flow-based HTML approach.** + +**Why:** The Blueprint 12×12 Grid allocates space with fixed row heights and cannot predict actual text rendering height, causing: +- Text overflowing Glass Canvas containers +- CJK character spacing stretched by `text-align: justify` +- Inaccurate row allocation for multiple components, text overlap + +**Route selection:** + +| Scenario | Recommended Route | Notes | +|------|---------|------| +| Title poster (≤ 50 chars) | Blueprint JSON | Few components, little content, Grid sufficient | +| Standard poster (50-150 chars) | Blueprint JSON | Grid mostly sufficient, mind row allocation | +| **Info-dense poster (>150 chars or multiple sections)** | **★ Direct HTML Flow** | **Strongly recommended — completely avoids overflow** | +| **Multi-page info poster** | **★ Direct HTML Flow** | **Strongly recommended** | +| Poster with images | Direct HTML Flow | Image embedding is more stable | + +### 12.1 Direct HTML Flow Approach (Recommended Default) + +**Core idea: No Grid, no fixed height, content flows naturally, never overflows.** + +Write HTML directly, convert to PDF via `html2poster.js`. The poster is a **single continuous `<div class="poster">` container** — NOT split into separate `<div class="page">` blocks. + +#### ★★★ Single-Canvas vs Multi-Page (Iron Rule) + +| Approach | When to Use | HTML Structure | +|----------|-------------|----------------| +| **Single Canvas** (default) | All content forms one unified poster | One `<div class="poster">`, no `page-break` | +| **Multi-Page** (exception) | User explicitly requests separate pages (e.g., "make a 4-page booklet") | Multiple `<div class="page">` with `page-break-after: always` | + +> **Default = Single Canvas.** A poster is ONE design composition, not a paginated report. Multi-page is only for booklets/multi-page documents where the user explicitly asks for page separation. + +#### ★★★ Dynamic Height (Anti-Blank-Bottom Iron Rule) + +**NEVER hardcode `@page { size: W H }` or `.poster { min-height: Xpx }` with a fixed height.** This creates blank space at the bottom when content is shorter than the hardcoded value. + +**Correct approach — use `html2poster.js`:** + +`html2poster.js` automatically handles all of this — you just need to write the HTML correctly and call one command: + +```bash +node "$PDF_SKILL_DIR/scripts/html2poster.js" poster.html --output poster.pdf --width 720px +``` + +It will automatically: +1. Add `overflow: hidden` to `.poster` container (clips decorative overflow) +2. Inject `@page { margin: 0 }` (zero margins) +3. Sync `html/body` background with `.poster` background +4. Measure `.poster` scrollHeight (actual content height) +5. Generate single-page vector PDF with exact dimensions + +**⚠️ Do NOT use `html2pdf-next.js` for posters.** It is designed for multi-page documents and will inject 20mm margins / A4 pagination. + +**⚠️ Do NOT write hand-written Playwright scripts for posters.** `html2poster.js` handles everything. + +```css +/* ✅ CORRECT CSS for poster HTML (html2poster.js handles the rest): */ +html, body { margin: 0; padding: 0; background: var(--c-bg); } +.poster { width: 720px; position: relative; background: var(--c-bg); } +/* Note: overflow:hidden on .poster is auto-injected by html2poster.js, + but including it in CSS is fine too */ +``` + +**CSS iron rules:** +```css +html, body { margin: 0; padding: 0; background: var(--c-bg); } + +/* Single poster canvas — NO fixed height */ +.poster { + width: 720px; + position: relative; + overflow: hidden; + background: var(--c-bg); + /* Height is determined by content, measured at render time */ +} + +/* Card/content block */ +.card { + background: rgba(255,255,255,0.7); + border-radius: 12px; + padding: 24px 28px; + margin-bottom: 20px; + /* No height, no max-height, no overflow:hidden */ +} + +/* CJK text iron rules */ +.card, .card p, .card li { + text-align: left; /* Absolutely no justify! CJK stretches letter-spacing */ + line-height: 1.6; + word-break: break-all; /* CJK natural line break */ +} + +/* Image */ +.hero-image { + width: 100%; + border-radius: 8px; + margin-bottom: 20px; + display: block; +} +``` + +**HTML structure template (Single Canvas):** +```html +<div class="poster"> + <!-- Hero section --> + <div class="hero"> ... </div> + + <!-- City 1 --> + <div class="city-section"> + <h2>南京</h2> + <div class="items-row"> ... attractions ... </div> + <div class="food-row"> ... food ... </div> + </div> + + <!-- City separator (thin line, NOT page-break) --> + <div class="city-sep"></div> + + <!-- City 2 --> + <div class="city-section"> ... </div> + + <!-- Footer --> + <div class="poster-footer"> ... </div> +</div> +``` + +**Why it's stable:** +- No fixed height — content naturally defines poster size +- No `overflow: hidden`, text always fully displayed +- `text-align: left` avoids CJK letter-spacing stretch +- Single canvas = one unified composition, not chopped pages +- PDF height measured at render time = zero blank space + +**Convert to PDF and PNG:** +```bash +# PDF (vector, single-page, zero margins, auto-height): +node "$PDF_SKILL_DIR/scripts/html2poster.js" poster.html --output poster.pdf --width 720px + +# PNG preview (screenshot): +# Use Playwright screenshot with measured height +``` + +> **⚠️ Do NOT write hand-written Playwright `page.pdf()` scripts.** Use `html2poster.js` which handles overflow:hidden, margin:0, background sync, and height measurement automatically. + +### 12.2 Blueprint Grid Approach (Only for Simple Posters) + +| Behavior | Status | Notes | +|------|------|------| +| Dynamic inset | ✅ Fixed | More content → smaller inset (`8% 10%`), less content → default (`10% 12%`) | +| Glass Canvas overflow | ✅ Fixed | `min-height:100%` replaces `height:100%`, removed `overflow:hidden` | +| Glass Canvas / Process List stretch | ✅ Fixed | Auto `align-items: stretch` | + +### 12.3 Poster Marker in Blueprint + +Add `scene: "poster"` marker in `art_direction` so `design_engine.py` can identify poster scenes and apply specific logic in the future: + +```json +{ + "art_direction": { + "scene": "poster", + "palette_mode": "minimal", + "color_harmony": "auto", + "background_svg": "flow", + "design_rationale": "..." + } +} +``` + +--- + +--- + +## 14. PDF Conversion Iron Rules + +### 14.1 Background Color Consistency +```css +/* Must ensure html/body background = poster canvas background */ +html, body { + background: var(--c-bg); /* Same color as .canvas background */ +} +``` +- Playwright `page.pdf({ printBackground: true })` renders body background color +- If body is white but poster is gray, white borders appear in the PDF +- `design_engine.py` already auto-injects `background: var(--c-bg)`, but if bypassing the engine and writing HTML directly, **you must ensure manually** + +**Multi-page posters / brochures with mixed page backgrounds:** +- When pages alternate between dark and light backgrounds, set `body { background }` to the **darkest page color** (see SKILL.md "Background Color Consistency" for full rationale) +- This eliminates sub-pixel white edges on dark pages without affecting light pages + +### 14.2 Content Centering (Anti-Drift) + +**Poster content must be centered in the PDF, no left or right drift allowed.** + +Common drift causes and fixes: +| Cause | Fix | +|------|------| +| `@page { margin }` not 0 | Must be `@page { size: <w> <h>; margin: 0; }` | +| `.safe-zone` `inset` left-right asymmetric | Ensure `inset: Y% X%` uses same X% for left and right | +| Component `grid_area` only uses partial columns | Most components should span `1 / 1 / X / 13` (full width) | +| Content container has `max-width` but no `margin: 0 auto` | Add `margin: 0 auto` to center | +| Playwright PDF default margin | Pass `margin: { top: 0, right: 0, bottom: 0, left: 0 }` | + +### 14.3 Anti-Blank Edges (Dynamic Height Iron Rule) + +**Poster edges, top, and bottom should not have large meaningless whitespace.** + +**★★★ CRITICAL: Never hardcode poster height.** The poster is a single continuous canvas — its height is defined by content, not by a fixed CSS value. + +| Pattern | Status | Result | +|---------|--------|--------| +| `@page { size: 720px 3600px }` | ❌ FORBIDDEN | Creates 853px+ blank space at bottom if content is shorter | +| `.poster { min-height: 3600px }` | ❌ FORBIDDEN | Same problem — blank bottom | +| `.poster { width: 720px }` (no height) | ✅ CORRECT | Content defines height naturally | +| `node html2poster.js poster.html --width 720px` | ✅ CORRECT | Auto-measures height, zero blank space | + +**The 720×960 dimension is for multi-page documents with `page-break-after: always` only — NOT for single-canvas posters.** + +- Content must make full use of page area, no more than 20% unused space within safe-zone +- If excess whitespace exists, enlarge font sizes or modules to balance the layout +- Checklist: + - [ ] Poster height defined by content (no hardcoded height)? + - [ ] PDF generated via `html2poster.js` (not html2pdf-next.js)? + - [ ] First component starts from the top? + - [ ] Last component reaches the bottom with proper padding? + - [ ] Left-right margins symmetric? + - [ ] No blank space at bottom of PDF? + +--- + +## 15. Preflight Checklist (Poster-Specific) + +Before outputting JSON Blueprint, verify the following items: + +``` +□ ★ Single-canvas check: poster is ONE continuous <div>, not split into separate pages? (unless user explicitly requests multi-page) +□ ★ Dynamic height check: no hardcoded @page size height or .poster min-height? PDF generated via html2poster.js? +□ ★ Anti-modularization check: ≤ 3 containers with background+border in single-page poster? No 2×2 card grid? Hierarchy via font size/weight not border colors? +□ Emphasis elements (price/date/address) highlighted via font size+weight, not wrapped in separate color blocks? +□ Overall looks like a design piece, not an APP interface or dashboard? +□ total_pages = 1 (single canvas)? (unless user explicitly requests multi-page booklet) +□ No hardcoded @page height or .poster min-height? Content defines height? +□ Left-right margins symmetric? (no left/right drift) +□ html/body background = poster canvas background? (no color mismatch) +□ No bottom blank space in PDF? (height measured dynamically) +□ Page main title ≥ 50px? Body text ≥ 24px? +□ Text volume ≤ 150 chars? (single Glass Canvas) +□ palette_mode not #FFFFFF pure white? +□ No single image filling the background? +□ No overlap between cards? +□ No Timeline / complex SVG structure diagrams? +□ All content fully displayed, not truncated? +□ Emphasis text font size < title font size? +□ Entire design ≤ 3 fonts? +□ cover_hero page ≤ 4 components? +□ Hero_Typography has <br> line breaks? +□ @page { margin: 0 } set? (prevents PDF drift) +``` diff --git a/skills/pdf/briefs/process-advanced.md b/skills/pdf/briefs/process-advanced.md new file mode 100755 index 0000000..46b46d1 --- /dev/null +++ b/skills/pdf/briefs/process-advanced.md @@ -0,0 +1,284 @@ +# Process Brief: Advanced Reference + +Edge-case tools and techniques. **Load only when the main `process.md` doesn't cover the task.** + +``` +Edge case + ├─ No text extracted from PDF → §OCR Fallback + ├─ PDF is encrypted/locked → §Encrypted PDFs + ├─ PDF is corrupted/damaged → §Corrupted PDFs + ├─ Need precise text coordinates → §pdfplumber Advanced + ├─ Need fast rendering → §pypdfium2 + ├─ Advanced page extraction → §poppler-utils Advanced + ├─ Complex page ranges / merge → §qpdf Page Manipulation + ├─ Optimize file size → §qpdf Optimization + ├─ Batch process many PDFs → §Batch Processing + └─ Memory issues with large PDF → §Performance Optimization +``` + +For basic operations (extract, merge, split, fill forms, convert), go back to `process.md`. + +--- + +## §pypdfium2 (Apache/BSD License) + +A Python binding for PDFium (Chromium's PDF library). Excellent for fast rendering and text extraction — serves as a PyMuPDF replacement. + +#### Render PDF to Images +```python +import pypdfium2 as pdfium + +pdf = pdfium.PdfDocument("document.pdf") + +# Render single page +page = pdf[0] +bitmap = page.render(scale=2.0, rotation=0) +img = bitmap.to_pil() +img.save("page_1.png", "PNG") + +# Batch render all pages +for i, page in enumerate(pdf): + bitmap = page.render(scale=1.5) + img = bitmap.to_pil() + img.save(f"page_{i+1}.jpg", "JPEG", quality=90) +``` + +#### Extract Text with pypdfium2 +```python +import pypdfium2 as pdfium + +pdf = pdfium.PdfDocument("document.pdf") +for i, page in enumerate(pdf): + text = page.get_text() + print(f"Page {i+1}: {len(text)} chars") +``` + +## §pdfplumber Advanced Features + +#### Extract Text with Precise Coordinates +```python +import pdfplumber + +with pdfplumber.open("document.pdf") as pdf: + page = pdf.pages[0] + + # All characters with coordinates + for char in page.chars[:10]: + print(f"'{char['text']}' at x:{char['x0']:.1f} y:{char['y0']:.1f}") + + # Extract text within a specific bounding box (left, top, right, bottom) + bbox_text = page.within_bbox((100, 100, 400, 200)).extract_text() +``` + +#### Advanced Table Extraction with Custom Settings +```python +import pdfplumber + +with pdfplumber.open("complex_table.pdf") as pdf: + page = pdf.pages[0] + + table_settings = { + "vertical_strategy": "lines", + "horizontal_strategy": "lines", + "snap_tolerance": 3, + "intersection_tolerance": 15 + } + tables = page.extract_tables(table_settings) + + # Visual debugging + img = page.to_image(resolution=150) + img.save("debug_layout.png") +``` + +--- + +## §poppler-utils Advanced Features + +### Extract Text with Bounding Box Coordinates +```bash +pdftotext -bbox-layout document.pdf output.xml +``` + +### Advanced Image Conversion +```bash +# High-resolution PNG +pdftoppm -png -r 300 document.pdf output_prefix + +# Specific page range +pdftoppm -png -r 600 -f 1 -l 3 document.pdf high_res_pages + +# JPEG with quality setting +pdftoppm -jpeg -jpegopt quality=85 -r 200 document.pdf jpeg_output +``` + +### Extract Embedded Images +```bash +pdfimages -all document.pdf images/img +pdfimages -list document.pdf +``` + +--- + +## §qpdf Advanced Features + +### Complex Page Manipulation +```bash +# Split into groups of N pages +qpdf --split-pages=3 input.pdf output_group_%02d.pdf + +# Extract complex page ranges +qpdf input.pdf --pages input.pdf 1,3-5,8,10-end -- extracted.pdf + +# Merge specific pages from multiple PDFs +qpdf --empty --pages doc1.pdf 1-3 doc2.pdf 5-7 doc3.pdf 2,4 -- combined.pdf +``` + +### PDF Optimization and Repair +```bash +qpdf --linearize input.pdf optimized.pdf +qpdf --optimize-level=all input.pdf compressed.pdf +qpdf --check input.pdf +qpdf --fix-qdf damaged.pdf repaired.pdf +``` + +### Encryption and Decryption +```bash +qpdf --encrypt user_pass owner_pass 256 --print=none --modify=none -- input.pdf encrypted.pdf +qpdf --show-encryption encrypted.pdf +qpdf --password=secret123 --decrypt encrypted.pdf decrypted.pdf +``` + +--- + +## §Encrypted PDFs + +```python +from pypdf import PdfReader + +try: + reader = PdfReader("encrypted.pdf") + if reader.is_encrypted: + reader.decrypt("password") +except Exception as e: + print(f"Failed to decrypt: {e}") +``` + +Or via qpdf: +```bash +qpdf --password=secret123 --decrypt encrypted.pdf decrypted.pdf +``` + +--- + +## §Corrupted PDFs + +```bash +qpdf --check corrupted.pdf +qpdf --replace-input corrupted.pdf +``` + +--- + +## §OCR Fallback for Scanned PDFs + +When `pdfplumber` extracts 0 characters, the PDF is likely a scanned image: + +```python +import pytesseract +from pdf2image import convert_from_path + +def extract_text_with_ocr(pdf_path): + images = convert_from_path(pdf_path) + text = "" + for i, image in enumerate(images): + text += pytesseract.image_to_string(image) + return text +``` + +Prerequisites: `pip install pdf2image pytesseract` + install Tesseract OCR and poppler. + +--- + +## §Batch Processing with Error Handling + +```python +import os, glob +from pypdf import PdfReader, PdfWriter +import logging + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +def batch_process_pdfs(input_dir, operation='merge'): + pdf_files = glob.glob(os.path.join(input_dir, "*.pdf")) + + if operation == 'merge': + writer = PdfWriter() + for pdf_file in pdf_files: + try: + reader = PdfReader(pdf_file) + for page in reader.pages: + writer.add_page(page) + logger.info(f"Processed: {pdf_file}") + except Exception as e: + logger.error(f"Failed: {pdf_file}: {e}") + continue + with open("batch_merged.pdf", "wb") as output: + writer.write(output) + + elif operation == 'extract_text': + for pdf_file in pdf_files: + try: + reader = PdfReader(pdf_file) + text = "".join(page.extract_text() for page in reader.pages) + output_file = pdf_file.replace('.pdf', '.txt') + with open(output_file, 'w', encoding='utf-8') as f: + f.write(text) + logger.info(f"Extracted: {pdf_file}") + except Exception as e: + logger.error(f"Failed: {pdf_file}: {e}") +``` + +--- + +## §Performance Optimization + +### Text Extraction +- `pdftotext -bbox-layout` is fastest for plain text +- Use pdfplumber for structured data and tables +- Avoid `pypdf.extract_text()` for very large documents + +### Image Extraction +- `pdfimages` is much faster than rendering entire pages +- Use low resolution for previews, high resolution for final output + +### Memory Management for Large PDFs +```python +def process_large_pdf(pdf_path, chunk_size=10): + reader = PdfReader(pdf_path) + total_pages = len(reader.pages) + + for start_idx in range(0, total_pages, chunk_size): + end_idx = min(start_idx + chunk_size, total_pages) + writer = PdfWriter() + for i in range(start_idx, end_idx): + writer.add_page(reader.pages[i]) + with open(f"chunk_{start_idx//chunk_size}.pdf", "wb") as output: + writer.write(output) +``` + +--- + +## Extended Tooling Inventory + +| Library / Tool | Role | Licence | +|----------------|------|---------| +| pikepdf | Low-level PDF manipulation (forms, pages, metadata) | MPL-2.0 | +| pdfplumber | Content extraction (text, tables) | MIT | +| pypdfium2 | Fast rendering, text extraction (PyMuPDF alternative) | Apache/BSD | +| pypdf | Merge, split, crop, metadata, encryption | BSD | +| poppler-utils | CLI text/image extraction, rendering | GPL-2 | +| qpdf | Page manipulation, optimization, encryption, repair | Apache | +| pytesseract | OCR for scanned PDFs | Apache | +| pdf2image | PDF-to-image conversion via poppler | MIT | +| LibreOffice | Office format conversion engine | MPL-2.0 | diff --git a/skills/pdf/briefs/process.md b/skills/pdf/briefs/process.md new file mode 100755 index 0000000..d4110ba --- /dev/null +++ b/skills/pdf/briefs/process.md @@ -0,0 +1,319 @@ +# Brief: PDF Processing + +Work with existing PDFs: extract, merge, split, fill forms, convert formats, or **reformat** with a new design. Usually a Light triage path — except reformat, which escalates to Standard. + +--- + +## Decision Tree + +``` +User request + ├─ "Extract text/tables/images" → §Extract + ├─ "Merge/split/rotate/crop pages" → §Pages + ├─ "Fill a form" → §Forms (check fillable first) + ├─ "Read/write metadata" → §Metadata + ├─ "Convert DOCX/PPTX/XLSX to PDF" → §Convert + │ └─ DOCX with TOC? → §DOCX Pipeline (5-step) + ├─ "Redesign/reformat a document" → §Reformat + │ └─ With a reference template? → §Template-Guided Reformat + └─ Edge cases (OCR, encrypt, batch) → load briefs/process-advanced.md +``` + +--- + +## Environment Check + +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" env.check +``` + +Reports availability but does **not** auto-install. Required: Python 3, pikepdf, pdfplumber. + +Entry point: `python3 "$PDF_SKILL_DIR/scripts/pdf.py" <group>.<action> [options]` + +All commands return JSON on stdout (`{"status": "success", "data": {...}}`) or stderr (`{"status": "error", ...}`). +Exit codes: 0 = success, 1 = bad args, 2 = file not found, 3 = parse error, 4 = operation failed. + +--- + +## §Extract + +```bash +# Text (full or page range) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.text report.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.text report.pdf -p 1-3 +python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.text report.pdf -p 1,4,7 + +# Tables — returns structured JSON with page/rows/cols/data +python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.table report.pdf + +# Images — dumps embedded rasters to directory +python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.image report.pdf -o ./images/ +``` + +--- + +## §Pages + +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.merge a.pdf b.pdf -o combined.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.split book.pdf -o ./chapters/ +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.rotate doc.pdf 90 -o rotated.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.rotate doc.pdf 180 -o rotated.pdf -p 1-3 +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.crop doc.pdf 50,50,550,750 -o trimmed.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.clean doc.pdf -o cleaned.pdf +``` + +--- + +## §Metadata + +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.get doc.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.set doc.pdf -o out.pdf -d '{"Title": "Report", "Author": "Jane"}' +python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.brand doc.pdf -o branded.pdf +``` + +Recognised keys: `Title`, `Author`, `Subject`, `Keywords`, `Creator`, `Producer`. + +`meta.brand` adds standard branding metadata (producer, creator) in one step. + +--- + +## §Forms + +### Step 1 — Check if fillable + +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.info input.pdf +``` + +If `has_fields: true` → **Fillable workflow**. If `false` → **Non-fillable workflow**. + +### Fillable Workflow + +```bash +# Inspect fields +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.info input.pdf + +# Fill (auto-maps "true"/"false" for checkboxes) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.fill input.pdf -o filled.pdf \ + -d '{"name": "John", "agree": "true", "country": "US"}' +``` + +**Value rules:** + +| Type | Value | Example | +|------|-------|---------| +| text | Free string | `"name": "Jane Doe"` | +| checkbox | `"true"` / `"false"` (auto-converts to PDF states) | `"agree": "true"` | +| radio | One of `radio_options[].value` | `"gender": "/Choice1"` | +| dropdown | One of `choice_options[].value` | `"country": "US"` | + +For complex forms, use `form.detail` and `form.render` for deeper inspection: + +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.detail input.pdf -o fields.json # full field info (types, options, defaults) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.render input.pdf -o ./pages/ # render pages as PNG for visual check +``` + +### Non-Fillable Workflow (Annotation-Based) + +For PDFs without interactive fields (scanned forms, image-based). All four steps are mandatory. + +**Step 1 — Render pages as PNG** (required): +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.render input.pdf -o ./pages/ +``` + +**Step 2 — Create `fields.json`** with annotation regions. + +To determine bbox coordinates: open the rendered PNG in an image viewer or use Python (`from PIL import Image; img = Image.open('page.png'); print(img.size)`) to get pixel dimensions. Then estimate [left, top, right, bottom] in pixels for each field by inspecting the image. The `dims` field must match the PNG dimensions exactly. + +```json +{ + "sheet": [ + { + "pg": 1, + "dims": [1000, 1400], + "regions": [ + { + "id": "last_name", + "hint": "Last name field", + "label": {"tag": "Last name", "bbox": [30, 125, 95, 142]}, + "target": {"bbox": [100, 125, 280, 142]}, + "ink": {"value": "Simpson", "size": 14, "color": "000000"} + } + ] + } + ] +} +``` + +Schema: `pg` = 1-based page, `dims` = [w,h] in pixels, `label.bbox` / `target.bbox` = [left, top, right, bottom], `ink` = {value, size?, color?, font?}. Label and target boxes must NOT intersect. + +**Step 3 — Validate bounding boxes** (required): +```bash +# Auto-check for intersections +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.check-bbox fields.json + +# Visual validation (red=target, blue=label) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.validate 1 fields.json page1.png validation.png +``` + +Fix any issues, regenerate, re-check. Red rectangles must only cover input areas. + +**Step 4 — Fill via annotations**: +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.annotate input.pdf fields.json -o filled.pdf +``` + +--- + +## §Reformat + +Take an existing document and rebuild it with a new visual design. Content is preserved; layout, typography, and visual treatment are rebuilt from scratch. + +``` +1. EXTRACT → Extract content from source (extract.text / extract.table / read directly) +2. STRUCTURE → Organize into sections (headings, body, tables, lists) +3. DELEGATE → Route to appropriate brief: + Structured → briefs/report.md (ReportLab) + Visual → briefs/creative.md (Playwright) +4. BUILD → Follow the delegated brief's full workflow +5. DELIVER → New PDF, same content, new design +``` + +### §Template-Guided Reformat + +When user provides a reference PDF to match: + +``` +1. ANALYZE → Extract design DNA from template: + - python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.get template.pdf (page size) + - python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.image template.pdf (color samples) + - python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.text template.pdf (text structure) + - pdftoppm -png -r 150 template.pdf preview (visual reference) +2. DOCUMENT → Record: page size, margins, colors, fonts, layout grid, + header/footer pattern, decorative elements +3. DELEGATE → Route to brief WITH design constraints (not brief defaults) +4. BUILD → Follow brief workflow, constrained to template DNA +5. COMPARE → pdftoppm both, visually compare side-by-side +``` + +**Key principles:** +- Match the spirit, not the pixels — exact replication from PDF is impractical +- Prefer original source files (.docx/.html/.tex) over PDF when available +- Declare font substitutions upfront; don't silently fall back +- Template provides design direction, not content — never leak placeholder text + +--- + +## §Convert + +### Office → PDF (LibreOffice) + +**Simple conversion** (no TOC needed): +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.office input.docx -o output.pdf +``` + +**When to use the 5-step DOCX Pipeline instead**: If the DOCX has (or should have) a Table of Contents, always use §DOCX Pipeline below. Signs: the document has 3+ headings, or the user mentions "table of contents" / "TOC", or the document already contains a TOC section. When in doubt, run `python3 "$PDF_SKILL_DIR/scripts/toc_validate.py" fix-docx input.docx -o fixed.docx` — if it returns `no_toc_needed`, a simple conversion is fine. + +Or directly: +```bash +soffice --headless --convert-to pdf --outdir ./output input.docx +``` + +**Supported**: `.docx`, `.doc`, `.odt`, `.rtf`, `.pptx`, `.ppt`, `.xlsx`, `.xls`, `.ods`, `.csv`, `.html` + +**macOS path**: `/Applications/LibreOffice.app/Contents/MacOS/soffice` + +**Gotchas:** +- soffice allows only one instance at a time; close existing LibreOffice windows or use `--env:UserInstallation=file:///tmp/libreoffice_tmp` +- Missing Chinese fonts → squares. Ensure SimHei/SimSun are installed. +- Large files (>50MB) may take 1-2 min; set reasonable timeout +- soffice HTML→PDF is inferior to Playwright for complex CSS + +**Priority**: Always prefer soffice for Office→PDF (preserves themes, layouts, master slides). Only fall back to python-pptx/python-docx + HTML + Playwright if soffice is unavailable — fidelity will be lower. + +### Fallback: Spreadsheet → PDF without LibreOffice + +Use openpyxl + HTML + Playwright. Let data shape drive layout: + +| Factor | Decision | +|--------|----------| +| Columns ≤ 6 | Portrait | +| Columns > 6 | Landscape | +| Font size | Scale inversely with column count | +| Styling | Follow user requirements or source file style; if unspecified, use defaults from `typesetting/palette.md` | + +### §DOCX Pipeline (5-Step with TOC) + +For DOCX files that need TOC generation/correction. Required because LibreOffice `--headless` does not recalculate PAGEREF fields. + +``` +Step 1: soffice → Convert original DOCX to PDF (pass1) +Step 2: pages.clean → Remove blank pages from pass1 +Step 3: fix-docx → Add/fix TOC with HYPERLINK + PAGEREF + bookmarks +Step 4: fix-pages → Correct TOC page numbers using pass1 as reference +Step 5: soffice → Convert final DOCX to PDF + pages.clean +``` + +**Step 1 — Pass 1 Convert**: +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.office input.docx -o pass1.pdf +``` + +**Step 2 — Clean Blank Pages**: +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.clean pass1.pdf -o pass1_clean.pdf +``` +If `blank_pages_removed == 0`, use pass1.pdf directly. + +**Step 3 — Fix TOC**: +```bash +python3 "$PDF_SKILL_DIR/scripts/toc_validate.py" fix-docx input.docx -o fixed.docx +``` + +Auto-detects and fixes: placeholder TOC, stale TOC (>50% drift), empty TOC, missing TOC (≥3 headings). Each entry gets `<w:hyperlink>` + `PAGEREF` + bookmarks for clickable PDF navigation. + +Check output `action` field: `fixed` → use fixed.docx, `skipped` → use original, `no_toc_needed` → skip to Step 5 with pass1 PDF. + +**Step 4 — Fix Page Numbers**: +```bash +python3 "$PDF_SKILL_DIR/scripts/toc_validate.py" fix-pages fixed.docx pass1_clean.pdf -o final.docx +``` + +Corrects PAGEREF display text using actual page positions from pass1 + TOC page offset. + +**Step 5 — Final Convert + Clean**: +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.office final.docx -o output.pdf +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.clean output.pdf -o output_clean.pdf +``` + +### Post-Conversion Validation (Optional) + +```bash +python3 "$PDF_SKILL_DIR/scripts/toc_validate.py" check-conversion final.docx output_clean.pdf +``` + +Issues caught: `CONV_TOC_LOST` (TOC disappeared), `CONV_HINT_LEAKED` (placeholder text in PDF), `CONV_HEADING_DRIFT` (heading count mismatch). + +--- + +## Caveats + +| Topic | Detail | +|-------|--------| +| Encrypted PDFs | Not supported. User must decrypt externally first. | +| < 50 MB | Instant | +| 50–200 MB | 1–2 minutes | +| > 200 MB | Split first, or extend timeout | +| Memory | ~2-3× input file size | +| Merge failure | Partial output may remain; delete and retry | +| Split failure | Some page files may exist; inspect output dir | +| Form fill | Original never modified; always writes new file | + +For edge cases (OCR, batch processing, poppler-utils, qpdf, performance tuning), load `briefs/process-advanced.md`. diff --git a/skills/pdf/briefs/report.md b/skills/pdf/briefs/report.md new file mode 100755 index 0000000..73c38c0 --- /dev/null +++ b/skills/pdf/briefs/report.md @@ -0,0 +1,1659 @@ +# Brief: Report Production + +Structured documents via ReportLab: reports, proposals, contracts, white papers, financial analysis, data tables. Also covers ATS-friendly resumes. + +--- + +> ### 🚨 EMOJI CHECK - STOP HERE IF CONTENT HAS EMOJI +> +> ReportLab renders emoji (📊🎯🔥💡 etc.) as **□ tofu squares**. This is unfixable. +> +> **If the user's content contains intentional emoji** → **STOP. Do NOT use this brief.** +> Route to `briefs/creative.md` instead (Playwright renders emoji natively). +> +> This applies even if the document is a "report" - emoji + ReportLab = broken output. + +--- + +## Production Workflow + +``` +1. BRIEF → Confirm document type, audience, page count, outline +2. DESIGN → Run `pdf.py palette.generate --title "..."` → copy-paste output into script +3. EDIT → Content transformation (extract data, define typographic roles) +4. COVER → Read typesetting/cover.md → render HTML cover via Playwright (default ON for reports ≥ 3 pages; skip only for resumes/letters/memos/forms) +5. BUILD → Write ReportLab code (fonts → styles → content → tables → charts) +6. PREFLIGHT → code.sanitize → execute → meta.brand → font.check → toc.check → pages.clean → pdf_qa.py +7. DELIVER → Merge cover + body → final PDF +``` + +**Typesetting assets** (load when you reach that step): +- `typesetting/palette.md` - color system, typography rules, anti-patterns +- `typesetting/cover.md` - 7 cover layouts with variants, typography scale, bounding box rules +- `typesetting/charts.md` - chart styling, anti-stacking rules, axis/grid/legend treatment + +**Cover is DEFAULT ON for reports.** Skip cover only for: resumes, letters, memos, forms, checklists, or documents ≤ 2 pages. + +--- + +## Step 2: DESIGN - Palette & Font Plan + +**Before writing any ReportLab code, you MUST generate the color palette via the `palette.generate` command.** This is not optional. Do NOT hardcode hex colors. Do NOT pick colors by feel. + +### 2a. Generate Palette (MANDATORY) + +**Run this command FIRST. Copy-paste its output directly into your Python script:** + +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" palette.generate --title "<document title>" --mode minimal +``` + +The command auto-derives the design intent from the document title, computes a mathematically harmonious palette, and outputs ready-to-paste ReportLab Python code: + +```python +# ━━ Color Palette (auto-generated by pdf.py palette.generate) ━━ +# Intent: neutral | Mode: minimal | Harmony: split_complementary +# Contrast: text:bg=14.12 | accent:bg=3.06 +from reportlab.lib import colors +ACCENT = colors.HexColor('#2f97b9') +TEXT_PRIMARY = colors.HexColor('#252422') +TEXT_MUTED = colors.HexColor('#8d8981') +BG_SURFACE = colors.HexColor('#dfdad2') +BG_PAGE = colors.HexColor('#f5f4f3') +SURFACE_RGBA = 'rgba(0,0,0,0.03)' + +# ReportLab table colors +TABLE_HEADER_COLOR = ACCENT +TABLE_HEADER_TEXT = colors.white +TABLE_ROW_EVEN = colors.white +TABLE_ROW_ODD = BG_SURFACE +``` + +**Options:** +- `--mode minimal` (default, recommended for 50%+ of documents) | `dark` | `pastel` | `jewel` | `light` +- `--harmony auto` (default, recommended) | `complementary` | `split_complementary` | `analogous` | `triadic` | `monochrome` +- `--format python` (default) | `json` | `css` +- `--seed <int>` - for reproducible palettes across regenerations + +**⚠️ FORBIDDEN:** +- ❌ Writing `colors.HexColor('#xxxxxx')` with any hex value you chose yourself +- ❌ Using `colors.red`, `colors.blue`, or any ReportLab named color for design elements +- ❌ Skipping this step and picking colors "that look good" +- ❌ Using different palettes for different sections of the same document + +**✅ The ONLY acceptable way to get colors:** Run `palette.generate`, copy the output. + +### 2b. Color Application Rules + +| Element | Color Source | Notes | +|---------|-------------|-------| +| Table headers | ACCENT (bg) + white (text) | High contrast required | +| Table odd rows | BG_SURFACE at 50% opacity | Subtle striping | +| Section titles | ACCENT or TEXT_PRIMARY | Match heading hierarchy | +| Body text | TEXT_PRIMARY | Never use pure #000000 | +| Muted/meta text | TEXT_MUTED | Dates, captions, footnotes | +| Horizontal rules | ACCENT at 30% opacity | Thin, unobtrusive | +| Chart colors | Derive from ACCENT (see charts.md) | Consistent with palette | + +### 2c. Forbidden + +- ❌ Hardcoding hex colors like `#1F4E79`, `#555555`, `#888888` in code +- ❌ Using `colors.red`, `colors.blue` or any ReportLab named color for design elements +- ❌ Choosing colors by "feel" without running palette first +- ❌ Using different accent colors across tables/sections in the same document + +> **Exception**: Semantic colors for data visualization (green for positive, red for negative) are acceptable but should be muted variants derived from the palette when possible. + +--- + +## Step 3: EDIT - Content Transformation + +**Before writing any code, restructure raw text into visual roles.** This is the most impactful quality step - skipping it produces "Word document with a PDF extension". + +### 3a. Typographic Role Extraction + +Parse raw text and categorize content into visual roles: + +| Role | ReportLab Mapping | Description | +|------|------------------|-------------| +| **Hero / Display** | Cover title (36-42pt) or section opener | 1-5 words, the emotional hook | +| **Kicker / Eyebrow** | Subtitle or section intro (10-12pt, muted) | Tiny context line above main heading | +| **Data Sculpture** | CalloutBox or bold stat block | Extract impactful numbers (97%, $4.2M, -45ms) | +| **Pull Quote** | BlockQuote (italic + left indent 24pt + accent border) | Most provocative sentence, standalone | +| **Body** | Standard paragraph | Everything else | + +**Rule**: Before writing any body paragraph, scan for numbers with units. Every metric like "revenue grew by 12%" or "latency dropped to 45ms" MUST be extracted into a CalloutBox or metrics table - never buried in paragraph prose. See §Data-to-Ink Ratio Rules below. + +### 3b. Section Pacing + +- If any H1 section has **>400 words** of continuous body text without visual breaks, split into H2 subsections or insert a visual break (table, chart, callout) +- Aim for at least 1 visual element (table/chart/callout) per 2-3 pages of body text +- Dense text walls are the #1 sign of poor report design + +--- + +--- + +## Character Safety Rule (MANDATORY) + +Three rules for safe character handling in ReportLab PDFs: + +**a) Superscripts and subscripts**: Use `<super>`/`<sub>` tags, never raw Unicode superscript/subscript characters (e.g., `\u00b2`, `\u2082`). + +**b) Emoji**: ReportLab cannot render emoji. If content contains emoji, use Creative brief (HTML + Playwright). + +**c) Font fallback for mixed CJK/Latin text**: After registering fonts, call `install_font_fallback()` once. This automatically wraps missing-glyph characters in `<font>` tags inside every `Paragraph()`. No manual `<font name="...">` wrapping needed for mixed Chinese-English text. + +Mathematical/relational operators (×, ÷, ±, ≤, √, ∑, ≅, ∫, π, ∠, Δ, etc.) are safe to use as literal characters in `Paragraph()` - both SimHei and Times New Roman have these glyphs. + +| Need | Correct Method | Correct Example | +|------|---------------|---------| +| Superscript | `<super>` tag in `Paragraph()` | `Paragraph('10<super>2</super> × 10<super>3</super> = 10<super>5</super>', style)` | +| Subscript | `<sub>` tag in `Paragraph()` | `Paragraph('H<sub>2</sub>O', style)` | +| Bold | `<b>` tag in `Paragraph()` | `Paragraph('<b>Title</b>', style)` | +| Math operators | Literal char in `Paragraph()` | `Paragraph('AB ⊥ AC, ∠A = 90°, and ΔABC ≅ ΔDCF', style)` | +| Scientific notation | Combined tags in `Paragraph()` | `Paragraph('1.2 × 10<super>8</super> kg/m<super>3</super>', style)` | + +```python +from reportlab.platypus import Paragraph +from reportlab.lib.styles import ParagraphStyle +from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY + +body_style = ParagraphStyle( + name="ENBodyStyle", + fontName="Times New Roman", + fontSize=10.5, + leading=18, + alignment=TA_JUSTIFY, +) + +# Superscript: area unit +Paragraph('Total area: 500 m<super>2</super>', body_style) + +# Subscript: chemical formula +Paragraph('The reaction produces CO<sub>2</sub> and H<sub>2</sub>O', body_style) + +# Scientific notation +Paragraph('Speed of light: 3.0 × 10<super>8</super> m/s', body_style) + +# Combined +Paragraph('E<sub>k</sub> = mv<super>2</super>/2', body_style) + +# Bold heading +Paragraph('<b>Chapter 1: Introduction</b>', header_style) + +# Math symbols +Paragraph('When ∠ A = 90°, AB ⊥ AC and ΔABC ≅ ΔDEF', body_style) +``` + +**Pre-generation check - before writing ANY string, ask:** +> "Does this string contain a character outside basic CJK or Mathematical/relational operators?" +> If YES → it MUST be inside a `Paragraph()` with the appropriate tag. +> If it is a superscript/subscript digit in raw unicode escape form → REPLACE with `<super>`/`<sub>` tag. + +**NEVER rely on post-generation scanning. Prevent at the point of writing.** + +**Encoding safety - before writing ANY content text:** +> "Does this string contain Japanese kana (の, が, は etc.) or rare Unicode symbols?" +> If YES → REPLACE with safe plain Chinese equivalents. Japanese kana (Hiragana U+3040-U+309F, Katakana U+30A0-U+30FF) frequently corrupt to U+FFFD (�) when code passes through LLM output, heredoc, or terminal encoding layers. +> Common safe replacements: `活の真鲷`→`活缔真鲷`, `盐烤の鲭鱼`→`盐烤鲭鱼`, `烤の鸡串`→`炭烤鸡串`. +> If the character is genuinely needed, verify it survives a full write→read round-trip with `open(file, encoding='utf-8')`. + +--- + +## Font Setup (Guaranteed Success Method) + +### CRITICAL: Allowed Fonts Only +**You MUST ONLY use the following registered fonts. Using ANY other font is STRICTLY FORBIDDEN.** + +| Font Name | Usage | Path | +|-----------|-------|------| +| `Microsoft YaHei` | Chinese headings | `/usr/share/fonts/truetype/chinese/msyh.ttf` | +| `SimHei` | Chinese body text | `/usr/share/fonts/truetype/chinese/SimHei.ttf` | +| `SarasaMonoSC` | Chinese code blocks | `/usr/share/fonts/truetype/chinese/SarasaMonoSC-Regular.ttf` | +| `Times New Roman` | English text, numbers, tables | `/usr/share/fonts/truetype/english/Times-New-Roman.ttf` | +| `Calibri` | English alternative | `/usr/share/fonts/truetype/english/calibri-regular.ttf` | +| `DejaVuSans` | Formulas, symbols, code | `/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf` | + +**FORBIDDEN fonts (DO NOT USE):** +- ❌ Arial, Arial-Bold, Arial-Italic +- ❌ Helvetica, Helvetica-Bold, Helvetica-Oblique +- ❌ Courier, Courier-Bold +- ❌ Any font not listed in the table above + +### Font Registration Template +```python +from reportlab.pdfbase import pdfmetrics +from reportlab.pdfbase.ttfonts import TTFont +from reportlab.pdfbase.pdfmetrics import registerFontFamily + +# Chinese fonts +pdfmetrics.registerFont(TTFont('Microsoft YaHei', '/usr/share/fonts/truetype/chinese/msyh.ttf')) +pdfmetrics.registerFont(TTFont('SimHei', '/usr/share/fonts/truetype/chinese/SimHei.ttf')) +pdfmetrics.registerFont(TTFont("SarasaMonoSC", '/usr/share/fonts/truetype/chinese/SarasaMonoSC-Regular.ttf')) + +# English fonts +pdfmetrics.registerFont(TTFont('Times New Roman', '/usr/share/fonts/truetype/english/Times-New-Roman.ttf')) +pdfmetrics.registerFont(TTFont('Calibri', '/usr/share/fonts/truetype/english/calibri-regular.ttf')) + +# Symbol/Formula font +pdfmetrics.registerFont(TTFont("DejaVuSans", '/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf')) + +# CRITICAL: Register font families to enable <b>, <super>, <sub> tags +registerFontFamily('Microsoft YaHei', normal='Microsoft YaHei', bold='Microsoft YaHei') +registerFontFamily('SimHei', normal='SimHei', bold='SimHei') +registerFontFamily('Times New Roman', normal='Times New Roman', bold='Times New Roman') +registerFontFamily('Calibri', normal='Calibri', bold='Calibri') +registerFontFamily('DejaVuSans', normal='DejaVuSans', bold='DejaVuSans') +``` + +### Font Configuration by Document Type + +**For Chinese PDFs:** +- Body text: `SimHei` or `Microsoft YaHei` +- Headings: `Microsoft YaHei` (MUST use for Chinese headings) +- Code blocks: `SarasaMonoSC` +- Formulas/symbols: `DejaVuSans` +- **In tables: ALL Chinese content and numbers MUST use `SimHei`** + +**For English PDFs:** +- Body text: `Times New Roman` +- Headings: `Times New Roman` (MUST use for English headings) +- Code blocks: `DejaVuSans` +- **In tables: ALL English content and numbers MUST use `Times New Roman`** + +**For Mixed Chinese-English PDFs:** +- Call `install_font_fallback()` once after registering fonts - it automatically wraps characters in `<font>` tags so you don't need to do it manually. +- If you still want manual control, you can use `<font name='...'>` tags, but the automatic fallback handles most cases. + +```python +import sys, os +sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'scripts')) +from pdf import install_font_fallback + +# 1. Register fonts (as above) +# 2. Install fallback - one line, handles all mixed-language text +install_font_fallback() + +# 3. Just write naturally - no manual <font> wrapping needed! +en_style = ParagraphStyle(name="EN", fontName="Times New Roman", fontSize=10.5, leading=18) +cn_style = ParagraphStyle(name="CN", fontName="SimHei", fontSize=10.5, leading=18) + +Paragraph('MySQL、PostgreSQL、Redis', en_style) # ✅ CJK comma auto-fallback to SimHei +Paragraph('Beijing (北京) has 21M people', en_style) # ✅ CJK chars auto-fallback +Paragraph('价格:¥2,200~5,800/月', en_style) # ✅ all CJK chars handled +Paragraph('《巴黎协定》签署于2015年', en_style) # ✅ CJK book title marks handled +``` + +**How it works:** `install_font_fallback()` monkey-patches `Paragraph.__init__` to scan each character against the font's `charToGlyph` table. Characters missing from the base font are automatically wrapped in `<font name="FallbackFont">`. The fallback chain is: English fonts → SimHei, Chinese fonts → Times New Roman. For aesthetic optimization, Cyrillic text in SimHei is automatically routed to Times New Roman (serif looks better for Cyrillic). + +### Chinese Plot PNG Method +```python +import matplotlib.pyplot as plt +plt.rcParams['font.sans-serif'] = ['SimHei'] +plt.rcParams['axes.unicode_minus'] = False +``` + +### Available Font Paths +Run `fc-list` to get more fonts. Font files are typically located under: +- `/usr/share/fonts/truetype/chinese/` +- `/usr/share/fonts/truetype/english/` +- `/usr/share/fonts/` + +--- + +## Layout & Spacing Control + +### Page Breaks + +Follow the document type strategy defined in SOUL.md Rule 1. + +**Structural breaks (always - MANDATORY):** +- Between cover page and TOC - **cover must NEVER share a page with anything else** +- Between TOC and main content +- Between main content and back cover + +**Content breaks (by document type):** +- **Default (all document types)**: ❗ **Absolutely NEVER force page breaks before H1/H2** — content flows naturally, do not insert `PageBreak()` before section headings. This is an iron rule. +- Resume / contract / letter → No content page breaks +- Short article → No content page breaks +- **Exception 1**: Academic papers / textbooks / teaching plans → `PageBreak()` before each H1 is acceptable (only if user explicitly requests academic formatting) +- **Exception 2**: User explicitly requests page breaks between chapters + +**Anti-tear (mandatory — but with height limit):** +```python +from reportlab.platypus import KeepTogether +from reportlab.lib.pagesizes import A4 +from reportlab.lib.units import inch + +# Maximum height for KeepTogether blocks: 40% of page height +# Blocks taller than this should NOT be kept together — they cause +# the preceding page to be mostly empty when the block gets pushed down. +MAX_KEEP_HEIGHT = A4[1] * 0.4 # ~336pt ≈ 12cm + +def safe_keep_together(elements): + """Wrap elements in KeepTogether only if their total height is reasonable. + If too tall, keep only the FIRST TWO elements together (e.g. title + table/image header) + to prevent title-content separation, while letting the rest paginate naturally. + """ + total_h = 0 + for el in elements: + w, h = el.wrap(A4[0] - 2*inch, A4[1]) + total_h += h + if total_h <= MAX_KEEP_HEIGHT: + return [KeepTogether(elements)] + elif len(elements) >= 2: + # Keep at least title + first element together to prevent title orphaning + return [KeepTogether(elements[:2])] + list(elements[2:]) + else: + return list(elements) + +# Heading stays with first paragraph +story.extend(safe_keep_together([ + heading_paragraph, + first_body_paragraph, +])) + +# Image + caption: keep together ONLY if image is small +story.extend(safe_keep_together([image, caption_paragraph])) + +# Table title + table: keep together ONLY if table is short +if len(table_data) <= 15: + story.extend(safe_keep_together([table_title, table])) +else: + # Long table: just keep title with the table start + story.extend(safe_keep_together([table_title])) + story.append(table) +``` + +**⚠️ KEY INSIGHT:** `KeepTogether` is the #1 cause of “empty page with chart on next page”. +When a `KeepTogether` block is taller than the remaining space on the current page, +ReportLab pushes the **entire block** to the next page, leaving the current page mostly empty. +**Always use `safe_keep_together()` to cap the maximum block height.** + +**⚠️ Note:** Do NOT use `KeepWithNext` - it is unreliable in ReportLab 4.x. + +### Vertical Spacing Standards +* Before tables: `Spacer(1, 18)` after preceding text +* After tables: `Spacer(1, 6)` before table caption +* After table captions: `Spacer(1, 18)` before next content +* Between paragraphs: `Spacer(1, 12)` (~1 line) +* Between H3 subsections: `Spacer(1, 12)` +* Between H2 sections: `Spacer(1, 18)` (~1.5 lines) +* Between H1 sections: `Spacer(1, 24)` (~2 lines) +* NEVER use `Spacer(1, X)` where X > 24, except for H1 major breaks or cover page elements + +### Cover Page: HTML/Playwright Unified Cover System + +**⚠️ Report route covers are ALWAYS generated via HTML/Playwright**, using the same 7-template system defined in `typesetting/cover.md`. This ensures visual consistency across all routes (Report, Creative, Academic) and avoids the limitations of ReportLab for complex cover layouts. + +**Pipeline (Report route):** +1. Generate **body PDF** via ReportLab (start with TOC or content - **no cover in story[]**) +2. Generate **cover HTML** following `typesetting/cover.md` 7-template system +3. **Run `poster_validate.py check-html` on cover HTML** — fix any ERRORs before rendering (overflow:hidden, font fallback, etc.) +4. **Run `cover_validate.js` on cover HTML** — detects text-vs-decorative-line overlaps. Non-zero exit = must fix before proceeding. + ```bash + node "$PDF_SKILL_DIR/scripts/cover_validate.js" cover.html + ``` +5. Render cover HTML → single-page PDF via Playwright (`html2poster.js`) — **NOT `html2pdf-next.js`** (which converts absolute→static and destroys cover layout) +6. **Merge: insert cover as page 0** of body PDF using pypdf → output single final PDF + +> **Why not ReportLab covers?** ReportLab is excellent for structured content (tables, paragraphs, flowables) but painful for visual design (geometric accents, precise absolute positioning, web fonts). HTML/CSS handles these natively. One cover system, one visual standard, zero inconsistency. + +**⚠️ Cover page is DEFAULT ON for all Report-route documents ≥ 3 pages.** + +The Report route handles formal, structured documents. Readers expect a professional cover. **Always generate a cover unless the document type is explicitly excluded below.** + +**ALWAYS add a cover page (default behavior):** +- Research reports, experiment reports, lab reports, analysis reports +- White papers, industry analysis, market research +- Business proposals, project plans, feasibility studies +- Technical documentation, product manuals, user guides +- Annual reports, financial summaries, quarterly reviews +- Any formal document ≥ 3 pages that will be shared externally or submitted + +**NEVER add a cover page (explicit exclusions only):** +- **Resumes / CVs** - recruiters want content immediately +- **Letters / memos** - single-page or short-form +- **Forms / checklists / invoices** - functional documents +- **Internal notes / meeting minutes** - brevity over presentation +- **Documents ≤ 2 pages** - cover would be disproportionate +- **User explicitly said "no cover"** + +**Rule of thumb:** If it's a report, analysis, proposal, or any formal document ≥ 3 pages → **add a cover**. When in doubt, add the cover. It's easier to remove a cover the user didn't want than to miss one they expected. + +#### Step 1: Generate Body PDF (ReportLab, no cover) + +Build the ReportLab document starting directly with TOC or first section. **Do NOT include any cover page in the `story[]` list.** + +```python +# Body PDF - starts with TOC or first section, NO cover +story = [] +# story.append(toc) # if applicable +# story.append(PageBreak()) +# story.append(first_section_content) +# ... +doc.build(story) +# Output: body.pdf (no cover) +``` + +#### Step 2: Generate Cover PDF via html2poster.js + +```bash +# ALWAYS use html2poster.js for cover rendering (NOT html2pdf-next.js) +# Cover pages use position:absolute layout — html2pdf-next.js pre-render hooks +# convert absolute→static and destroy the layout. html2poster.js preserves it. +node "$PDF_SKILL_DIR/scripts/html2poster.js" cover.html --output cover.pdf --width 794px +``` + +Or from Python: +```python +import subprocess, os + +def render_cover(html_path, pdf_path): + """Render HTML cover to PDF via html2poster.js. + + ⚠️ ALWAYS use html2poster.js for covers (NOT html2pdf-next.js). + Cover HTML uses position:absolute for layout. html2pdf-next.js pre-render + hooks convert absolute→static to prevent multi-page overlap, which + destroys cover layouts. html2poster.js preserves absolute positioning. + """ + scripts_dir = os.path.expanduser('~/.openclaw/workspace/skills/pdf/scripts') + subprocess.run([ + 'node', os.path.join(scripts_dir, 'html2poster.js'), + html_path, '--output', pdf_path, + '--width', '794px', + ], check=True) +``` + +**Insertion script (single output PDF):** +```python +from pypdf import PdfReader, PdfWriter, Transformation + +A4_W, A4_H = 595.28, 841.89 # A4 in points + +def normalize_page_to_a4(page): + """Scale a page to A4 if its dimensions don't match.""" + box = page.mediabox + w, h = float(box.width), float(box.height) + if abs(w - A4_W) > 2 or abs(h - A4_H) > 2: + sx, sy = A4_W / w, A4_H / h + page.add_transformation(Transformation().scale(sx=sx, sy=sy)) + page.mediabox.lower_left = (0, 0) + page.mediabox.upper_right = (A4_W, A4_H) + return page + +def insert_cover(cover_pdf, body_pdf, output_pdf): + """Insert cover as first page of body PDF → single output file.""" + writer = PdfWriter() + # Cover as page 1 + cover_page = PdfReader(cover_pdf).pages[0] + writer.add_page(normalize_page_to_a4(cover_page)) + # Body pages follow + for page in PdfReader(body_pdf).pages: + writer.add_page(normalize_page_to_a4(page)) + writer.add_metadata({'/Title': 'Report Title', '/Author': 'Z.ai', '/Creator': 'Z.ai'}) + with open(output_pdf, 'wb') as f: + writer.write(f) +``` + +> **⚠️ Size pitfall:** Playwright `page.pdf(width='794px', height='1123px')` output PDF dimensions may differ from A4 (595.28×841.89pt) by 1-2pt. **Do not use PIL Image.save('x.pdf')** for PNG→PDF conversion — DPI mapping causes severe size errors. You must call `normalize_page_to_a4()` to unify dimensions before insertion. + +**Cover HTML template reference**: See `typesetting/cover.md` for the complete 7-Layout System with variants, typography scale, and bounding box rules. + +**→ Full cover spec: `typesetting/cover.md`** - read it before designing any cover. + +**Cover design rules (summary - see cover.md for details):** +- Page size: `width: 794px; height: 1123px` (A4 at 96dpi) +- `body { margin: 0; padding: 0; overflow: hidden; }` - REQUIRED to avoid white borders +- Load Google Fonts via `<link href="..." rel="stylesheet">` in `<head>` (NOT `@import url(...)` in CSS — `@import` must be first rule or is silently ignored) — Playwright fetches them at render time +- **Background must be white or very light** (`#fff` / `#fafafa` / `#f5f8fb`), no dark solid backgrounds or gradient backgrounds +- Primary color used only for text, lines, geometric accents - never as large-area background +- Sophistication = whitespace + typography + restrained geometric accents + +**Cover Constitution (7-Layout System):** +- **Pick a layout (1-7)** from `typesetting/cover.md` that matches the document tone. No global default - every selection must be a deliberate design decision. Layout 7 for government/bidding/proposal documents. +- **Maximum 4 components** on any cover. Typical recipe: Title + subtitle + 1 geometric accent + metadata. +- **Typography Scale**: Title ≈ 45pt, Subtitle ≈ 25pt, Meta ≥ 18pt (never below 14pt). Tiny text = FAIL. +- **Background layer (optional)**: See `typesetting/cover-backgrounds.md` for 3 recipes (A=极简弧线, B=工程十字轴+立柱, C=锐角切割+出血文字). Background renders BELOW all foreground content at 2-5% opacity. +- **Mandatory `<br>` chunking**: Title MUST break every 2-4 words (CJK) or 3-5 words (English). Single-line title = FAIL. +- **Bounding Box spatial dispersion**: Group elements into 2-3 bounding boxes at opposite regions (e.g., top-left + bottom-right). Never cluster everything into middle 40%. +- **Safe Zone**: 12% top/bottom, 14% left/right padding on cover pages. +- **No body text on cover**: Cover = title + subtitle + date + optional geometric decoration. All content goes to page 2+. + +### ⚠️ Cover Page Isolation Rule (MANDATORY) + +**The cover page must ALWAYS be on its own page.** Cover content and subsequent content (TOC, body text, etc.) must NEVER appear on the same page. This is a hard rule. + +- **Report route (HTML/Playwright cover)**: The cover is a separate rendered page inserted as page 0 via pypdf - isolation is inherent in the merge pipeline +- **Creative route**: Cover is part of the same HTML document but on its own `<section>` with page-break - isolation is handled by CSS + +If a generated PDF shows cover + TOC on the same page, it is a **critical bug** - regenerate immediately. + +### Alignment and Typography +- **CJK body**: Use `TA_LEFT` + 2-char indent. Headings: no indent. +- **Font sizes**: Body 11pt, subheadings 14pt, headings 18-20pt +- **Line height**: 1.5-1.6 (leading at **1.4x font size minimum**, recommended 1.5x for CJK) + - CJK characters are taller than Latin - 1.2x causes cramped lines + - Quick reference: 10pt→14pt min/18pt rec; 14pt→20pt min/22pt rec; 36pt→50pt min/54pt rec +- **⛔ Prohibited: fixed `rowHeights` in Table()**. Use `TOPPADDING` / `BOTTOMPADDING` to control row spacing. Fixed rowHeights cause content overflow clipping - the text renders but gets invisibly cut off. +- **CRITICAL: Alignment Selection Rule**: + - Use `TA_JUSTIFY` only when ALL of: + * Text is predominantly English (≥ 90%) + * Column width is sufficiently wide (A4 single-column body) + * Font: Western fonts (Times New Roman / Calibri) + * Chinese content: None or negligible + - Otherwise, always default to `TA_LEFT` + - For Chinese text, always add `wordWrap='CJK'` to ParagraphStyle + +### Style Configuration +* Normal paragraph: `spaceBefore=0`, `spaceAfter=6-12` +* Headings: `spaceBefore=12-18`, `spaceAfter=6-12` +* **Headings must be bold**: Use `<b></b>` tags in Paragraph +* Table captions: `spaceBefore=3`, `spaceAfter=6`, `alignment=TA_CENTER` +* **CRITICAL**: For Chinese text, always add `wordWrap='CJK'` to ParagraphStyle + +--- + +## Table Formatting + +### Standard Table Color Scheme (MUST USE for ALL tables) + +> **Colors MUST come from the palette generated in Step 2.** The values below are examples - replace them with your actual palette output. + +```python +# Colors from design_engine.py palette (Step 2) - NEVER hardcode these +TABLE_HEADER_COLOR = ACCENT # From palette --c-accent +TABLE_HEADER_TEXT = colors.white # White text for header (fixed) +TABLE_ROW_EVEN = colors.white # White for even rows +TABLE_ROW_ODD = BG_SURFACE # From palette --c-mid (light stripe) +``` + +### Table Rules +- Caption must be centered, added immediately after the table +- Entire table must be centered on the page +- **Header Row**: Dark background (from palette `header_fill`), white bold text +- **Cell Margins**: Left/Right at least 120-200 twips +- **Alignment**: Each body element within the same table must be aligned the same method +- **Color consistency**: All tables in one PDF must use the same color scheme +- **Spacing**: `Spacer(1, 18)` → Table → `Spacer(1, 6)` → Caption → `Spacer(1, 18)` + +### Table Centering Enforcement (MANDATORY) + +**Every table MUST be horizontally centered on the page. No exceptions.** + +```python +# ReportLab: ALWAYS set hAlign='CENTER' +table = Table(data, colWidths=col_widths, hAlign='CENTER') + +# Width rule: table total width should be 85-100% of available content width +available_width = doc.width # or page_width - left_margin - right_margin +table_width = sum(col_widths) +if table_width < available_width * 0.85: + # Scale up columns proportionally to fill space + scale = (available_width * 0.90) / table_width + col_widths = [w * scale for w in col_widths] + +# ❌ WRONG — no hAlign (defaults to LEFT, table drifts left) +table = Table(data, colWidths=[100, 200, 150]) + +# ✅ RIGHT — explicit centering +table = Table(data, colWidths=[100, 200, 150], hAlign='CENTER') +``` + +**LaTeX equivalent:** +```latex +\begin{table}[htbp] + \centering % MANDATORY + \begin{tabular}{...} + ... + \end{tabular} +\end{table} +``` + +### Table Cell Content Rule (MANDATORY - NON-NEGOTIABLE) + +**ALL text content in table cells MUST be wrapped in `Paragraph()`. NO EXCEPTIONS.** + +❌ **PROHIBITED** - Plain strings: +```python +data = [ + ['<b>Header</b>', 'Value'], # Bold won't render! + ['Pressure', '1.01 × 10<super>5</super>'], # Superscript won't work! +] +``` + +✅ **REQUIRED** - All text in Paragraph: +```python +data = [ + [Paragraph('<b>Header</b>', header_style), Paragraph('Value', header_style)], + [Paragraph('Pressure', cell_style), Paragraph('1.01 × 10<super>5</super>', cell_style)], +] +``` + +**The ONLY exception**: `Image()` objects can be placed directly in table cells. + +### Units with Exponents (CRITICAL) +- PROHIBITED: `W/m2`, `kg/m3`, `m/s2` (plain text exponents) +- RIGHT: `Paragraph('W/m<super>2</super>', style)`, `Paragraph('kg/m<super>3</super>', style)` + +### Numeric Values in Tables (CRITICAL) +- Large numbers MUST use scientific notation: `Paragraph('-1.246 × 10<super>8</super>', style)` not `-124600000` +- Small decimals MUST use scientific notation: `Paragraph('2.5 × 10<super>-3</super>', style)` not `0.0025` +- Threshold: Use scientific notation when |value| ≥ 10000 or |value| ≤ 0.001 + +### Complete Table Example +```python +from reportlab.platypus import Table, TableStyle, Paragraph, Image +from reportlab.lib.styles import ParagraphStyle +from reportlab.lib import colors +from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT, TA_JUSTIFY + +header_style = ParagraphStyle( + name='TableHeader', fontName='Times New Roman', fontSize=11, + textColor=colors.white, alignment=TA_CENTER +) +cell_style = ParagraphStyle( + name='TableCell', fontName='Times New Roman', fontSize=10, + textColor=colors.black, alignment=TA_CENTER +) + +data = [ + [Paragraph('<b>Parameter</b>', header_style), + Paragraph('<b>Unit</b>', header_style), + Paragraph('<b>Value</b>', header_style)], + [Paragraph('Temperature', cell_style), + Paragraph('°C', cell_style), + Paragraph('25.5', cell_style)], + [Paragraph('Pressure', cell_style), + Paragraph('Pa', cell_style), + Paragraph('1.01 × 10<super>5</super>', cell_style)], + [Paragraph('Density', cell_style), + Paragraph('kg/m<super>3</super>', cell_style), + Paragraph('1.225', cell_style)], +] + +table = Table(data, colWidths=[120, 80, 100]) +# ⚠️ Above uses hardcoded widths - OK for this 3-col example (120+80+100=300 < available ~460pt). +# For real tables, ALWAYS calculate from available_width. See "Table Width Management" below. +table.setStyle(TableStyle([ + ('BACKGROUND', (0, 0), (-1, 0), ACCENT), # Header: palette accent + ('TEXTCOLOR', (0, 0), (-1, 0), colors.white), + ('BACKGROUND', (0, 1), (-1, 1), colors.white), + ('BACKGROUND', (0, 2), (-1, 2), BG_SURFACE), # Odd row: palette surface + ('BACKGROUND', (0, 3), (-1, 3), colors.white), + ('GRID', (0, 0), (-1, -1), 0.5, TEXT_MUTED), # Grid: palette muted + ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'), + ('LEFTPADDING', (0, 0), (-1, -1), 8), + ('RIGHTPADDING', (0, 0), (-1, -1), 8), + ('TOPPADDING', (0, 0), (-1, -1), 6), + ('BOTTOMPADDING', (0, 0), (-1, -1), 6), +])) +``` + +### Table Width Management (⚠️ Prevent Table Overflow) + +**Most common table bug: columns overflow the right page margin because colWidths are hardcoded without checking available space.** + +**Iron Rule: The sum of all colWidths MUST NOT exceed `available_width`.** + +```python +from reportlab.lib.pagesizes import A4 +from reportlab.lib.units import inch + +page_width = A4[0] # 595.28pt +left_margin = 1.0 * inch # 72pt (adjust to your doc's actual margins) +right_margin = 1.0 * inch # 72pt +available_width = page_width - left_margin - right_margin # ≈ 451pt + +# ─── Method 1: Proportional widths (RECOMMENDED) ─── +# Define column ratios, auto-scale to fit available_width +col_ratios = [0.25, 0.40, 0.20, 0.15] # must sum to 1.0 +col_widths = [r * available_width for r in col_ratios] +table = Table(data, colWidths=col_widths) + +# ─── Method 2: Fixed + flex columns ─── +# Some columns have fixed width (numbers, dates), rest fills remaining space +fixed_cols = {0: 80, 3: 60} # col 0 = 80pt, col 3 = 60pt +fixed_total = sum(fixed_cols.values()) +flex_count = 4 - len(fixed_cols) # total columns minus fixed +flex_width = (available_width - fixed_total) / flex_count +col_widths = [] +for i in range(4): + col_widths.append(fixed_cols.get(i, flex_width)) +table = Table(data, colWidths=col_widths) + +# ─── Method 3: Let ReportLab auto-calculate (simplest, less control) ─── +# Pass colWidths=None - ReportLab auto-sizes based on content +# ⚠️ Risk: may still overflow if content is too wide +table = Table(data) # no colWidths +``` + +**Checklist before adding any table:** +1. Calculate `available_width` from your actual page size and margins +2. Sum all colWidths - must be ≤ `available_width` +3. For CJK text: characters are wider than Latin - budget ~12pt per CJK char at 10pt font +4. If a column has long text (descriptions, policies), use Paragraph() wrapping inside cells (not plain strings) - plain strings don't wrap and will overflow +5. Test with the longest expected content in each column + +**Common mistake - plain strings don't wrap:** +```python +# ❌ Plain string: will overflow if text is long +data = [['Policy Name', 'Very long description that keeps going and going']] +# ✅ Paragraph: wraps within column width +from reportlab.platypus import Paragraph +from reportlab.lib.styles import getSampleStyleSheet +styles = getSampleStyleSheet() +cell_style = styles['Normal'] +data = [[Paragraph('Policy Name', cell_style), + Paragraph('Very long description that keeps going and going', cell_style)]] +``` + +``` +Do you need auto-TOC? +├─ YES → Use TocDocTemplate + doc.multiBuild(story) +└─ NO → Use SimpleDocTemplate + doc.build(story) +``` + +| Requirement | DocTemplate | Build Method | +|-------------|-------------|--------------| +| Multi-page with TOC | `TocDocTemplate` | `multiBuild()` | +| Single-page or no TOC | `SimpleDocTemplate` | `build()` | +| With Cross-References (no TOC) | `SimpleDocTemplate` | `build()` | +| Both TOC + Cross-References | `TocDocTemplate` | `multiBuild()` | + +**⚠️ CRITICAL**: +- `multiBuild()` is ONLY needed when using `TableOfContents` +- Using `build()` with `TocDocTemplate` = TOC won't work +- Using `multiBuild()` without `TocDocTemplate` = unnecessary overhead + +--- + +## Rich Text Formatting + +### Prerequisites +To use `<b>`, `<super>`, `<sub>` tags, you **must**: +1. Register fonts via `registerFont()` +2. Call `registerFontFamily()` to link normal/bold/italic variants +3. Wrap all tagged text in `Paragraph()` objects + +**CRITICAL**: These tags ONLY work inside `Paragraph()` objects. Plain strings will NOT render them. + +### Preventing Unwanted Line Breaks + +```python +# Use non-breaking space to prevent breaking +text = Paragraph("Professors (K.G.\u00A0Palepu) proposed...", style) + +# Use wordWrap='CJK' for proper Chinese typography +styles.add(ParagraphStyle(name='BodyStyle', fontName='SimHei', fontSize=10.5, + leading=18, alignment=TA_LEFT, wordWrap='CJK')) + +# Use <br/> for intentional line breaks (NOT \n) +text = Paragraph("Line 1<br/>Line 2<br/>Line 3", style) +``` + +--- + +## Auto-Generated Table of Contents + +### ❌ FORBIDDEN: Manual Table of Contents +**NEVER manually create TOC with hardcoded page numbers.** + +### ⚠️ MANDATORY: TOC requires a cover page +**Unless the user explicitly requests no cover, if a document has a Table of Contents, it MUST have a cover page.** Structure: Cover (page 1) → TOC (page 2) → Content (page 3+). Do not generate a TOC without a preceding cover page. + +### ✅ ALWAYS use auto-generated TOC: + +```python +from reportlab.platypus import SimpleDocTemplate, Paragraph, PageBreak, Spacer +from reportlab.platypus.tableofcontents import TableOfContents +from reportlab.lib.utils import simpleSplit +import hashlib + +class TocDocTemplate(SimpleDocTemplate): + def afterFlowable(self, flowable): + if hasattr(flowable, 'bookmark_name'): + level = getattr(flowable, 'bookmark_level', 0) + text = getattr(flowable, 'bookmark_text', '') + key = getattr(flowable, 'bookmark_key', '') + # MUST pass key as 4th element - without it, TOC entries won't have clickable links + self.notify('TOCEntry', (level, text, self.page, key)) + +doc = TocDocTemplate("document.pdf", pagesize=letter) +story = [] + +toc = TableOfContents() +toc.levelStyles = [ + ParagraphStyle(name='TOCHeading1', fontSize=14, leftIndent=20, fontName='Times New Roman'), + ParagraphStyle(name='TOCHeading2', fontSize=12, leftIndent=40, fontName='Times New Roman'), +] +story.append(Paragraph("<b>Table of Contents</b>", styles['Title'])) +story.append(toc) +story.append(PageBreak()) + +def add_heading(text, style, level=0): + # Generate a unique bookmark key for this heading + key = 'h_%s' % hashlib.md5(text.encode()).hexdigest()[:8] + p = Paragraph('<a name="%s"/>%s' % (key, text), style) + p.bookmark_name = text + p.bookmark_level = level + p.bookmark_text = text + p.bookmark_key = key # This key enables clickable TOC links + return p + +# ⚠️ Orphan Heading Prevention (NOT a page break rule) +# If an H1 heading would appear in the bottom 15% of the page with no room +# for at least a few lines of content, push it to the next page. +# This is NOT "every H1 starts a new page" — it only triggers when the heading +# would be orphaned at the very bottom. +available_height = A4[1] - top_margin - bottom_margin +H1_ORPHAN_THRESHOLD = available_height * 0.15 # ~100pt ≈ 3.5cm — enough for heading + 2 lines + +def add_major_section(text, style): + """Add an H1-level heading with orphan prevention (NOT forced page break).""" + return [ + CondPageBreak(H1_ORPHAN_THRESHOLD), # Only break if heading would be orphaned at page bottom + add_heading(text, style, level=0), + ] + +story.extend(add_major_section("Chapter 1: Introduction", styles['Heading1'])) +# ... content ... + +doc.multiBuild(story) # MUST use multiBuild for TOC +``` + +**⚠️ CRITICAL TOC LINK RULES:** +1. `afterFlowable` MUST pass `key` as the 4th element in the notify tuple - without it, TOC entries have no clickable links +2. `add_heading` MUST set `bookmark_key` AND embed `<a name="key"/>` in the Paragraph text - this creates the link destination +3. The key must be unique per heading - use a hash of the heading text + +### TOC with Leader Dots (Copy-Paste Ready) + +**⚠️ WARNING**: This manual approach creates a visual-only TOC. It has **NO clickable links** and **NO auto-updated page numbers**. Use the auto-generated TOC above (TocDocTemplate + multiBuild) whenever possible. Only use this leader-dots approach if you need very specific visual styling that the auto TOC cannot provide - and even then, prefer the auto approach. + +For a professional TOC with leader dots connecting titles to page numbers: + +```python +from reportlab.lib.pagesizes import A4 +from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, PageBreak +from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle +from reportlab.lib import colors +from reportlab.lib.units import inch + +# Setup +doc = SimpleDocTemplate("report.pdf", pagesize=A4, + leftMargin=0.75*inch, rightMargin=0.75*inch) +styles = getSampleStyleSheet() +styles['Heading1'].fontName = 'Times New Roman' +styles['Heading1'].textColor = colors.black + +story = [] + +# Calculate dimensions +page_width = A4[0] +available_width = page_width - 1.5*inch +page_num_width = 50 # Fixed width for page numbers +dots_column_width = available_width - 200 - page_num_width +optimal_dot_count = int(dots_column_width / 4.5) # ~4.5pt per dot at 7pt font + +# Define styles +toc_style = ParagraphStyle('TOCEntry', parent=styles['Normal'], + fontName='Times New Roman', fontSize=11, leading=16) +dots_style = ParagraphStyle('LeaderDots', parent=styles['Normal'], + fontName='Times New Roman', fontSize=7, leading=16) + +# Build TOC +toc_data = [ + [Paragraph('<b>Table of Contents</b>', styles['Heading1']), '', ''], + ['', '', ''], +] + +entries = [('Section 1', '5'), ('Section 2', '10')] +for title, page in entries: + toc_data.append([ + Paragraph(title, toc_style), + Paragraph('.' * optimal_dot_count, dots_style), + Paragraph(page, toc_style) + ]) + +toc_table = Table(toc_data, colWidths=[None, dots_column_width, page_num_width]) +toc_table.setStyle(TableStyle([ + ('GRID', (0, 0), (-1, -1), 0, colors.white), + ('LINEBELOW', (0, 0), (0, 0), 1.5, colors.black), + ('ALIGN', (0, 0), (0, -1), 'LEFT'), + ('ALIGN', (1, 0), (1, -1), 'LEFT'), + ('ALIGN', (2, 0), (2, -1), 'RIGHT'), + ('VALIGN', (0, 0), (-1, -1), 'TOP'), + ('LEFTPADDING', (0, 0), (-1, -1), 0), + ('RIGHTPADDING', (0, 0), (-1, -1), 0), + ('TOPPADDING', (0, 2), (-1, -1), 3), + ('BOTTOMPADDING', (0, 2), (-1, -1), 3), + ('TEXTCOLOR', (1, 2), (1, -1), TEXT_MUTED), # From palette --c-muted +])) + +story.append(toc_table) +story.append(PageBreak()) +doc.build(story) +``` + +**MANDATORY Leader Dots Rules:** + +| Rule | Requirement | +|------|-------------| +| Column widths | ✅ MUST use fixed values. Percentage-based widths are **STRICTLY FORBIDDEN**. | +| Dot count | ✅ MUST calculate dynamically: `int(dots_column_width / 4.5)`. Hard-coded counts are **STRICTLY FORBIDDEN**. | +| Page number column | ✅ MUST be at least 40pt wide. | +| Dot font size | ✅ MUST NOT exceed 8pt. | +| Dot alignment | ✅ MUST be LEFT-aligned (visual flow from title). | +| Padding | ✅ MUST be exactly 0 between columns. | +| Bold text | ✅ MUST use `Paragraph('<b>Text</b>', style)`. Plain strings like `'<b>Text</b>'` are **STRICTLY FORBIDDEN**. | +| Indentation | Use leading spaces for hierarchy (e.g., `" 1.1 Subsection"`). | + +### TOC Post-Generation Validation (MANDATORY) + +After generating any PDF with a Table of Contents, run: + +```bash +python3 "$PDF_SKILL_DIR/scripts/toc_validate.py" check-pdf output.pdf +``` + +If any errors are returned, fix the code and regenerate. Common issues: +- `TOC_ALL_SAME_PAGE` → You used `build()` instead of `multiBuild()`, so all page numbers are stuck at 1. +- `TOC_NO_ENTRIES` → Headings are missing `bookmark_name`/`bookmark_level` attributes. +- `TOC_PAGES_INVALID` → A TOC entry references a page beyond the document's total page count. + +--- + +## Cross-References (Figures, Tables, Bibliography) + +Pre-register all figures, tables, and references BEFORE using them in text. + +```python +class CrossReferenceDocument: + def __init__(self): + self.figures = {} + self.tables = {} + self.refs = {} + self.figure_counter = 0 + self.table_counter = 0 + self.ref_counter = 0 + + def add_figure(self, name): + if name not in self.figures: + self.figure_counter += 1 + self.figures[name] = self.figure_counter + return self.figures[name] + + def add_table(self, name): + if name not in self.tables: + self.table_counter += 1 + self.tables[name] = self.table_counter + return self.tables[name] + + def add_reference(self, name): + if name not in self.refs: + self.ref_counter += 1 + self.refs[name] = self.ref_counter + return self.refs[name] +``` + +--- + +## Image Handling + +### Diagram Embedding Rules (MANDATORY) + +**Figures are block-level Flowables.** Every image/diagram in ReportLab MUST be appended to `story` as a standalone `Image()` or wrapped in `KeepTogether([image, caption])`. Never simulate floating layouts by placing images inside Paragraph text or multi-column Table cells alongside body text. + +**Complex diagrams (>12 nodes)**: Decompose into a ReportLab Table (details) + a simplified diagram image (overview). The diagram gives the big picture; the table carries precision. See SKILL.md "Complex Diagram Strategy". + +**Diagram quality**: When generating flowcharts/diagrams for PDF embedding (via Playwright screenshot or ReportLab Drawing), follow the diagram content quality rules in SKILL.md § "Diagram Content Quality Rules". Key points: connectors must not pass through nodes, no high-saturation large fills, multi-arrow convergence must use merge pattern, font sizes must be legible at final embedded size (see context-specific minimums in SKILL.md). + +**Cross-brief diagram pipeline**: For flowcharts/architecture diagrams, generate via **Playwright+CSS** (HTML nodes + CSS layout + SVG connectors), screenshot at 2× device scale factor for 300dpi print quality, then embed with `Image()`. See SKILL.md § "Diagram Generation Strategy" for the full pipeline. + +**🚫 FORBIDDEN: TikZ standalone → PNG pipeline in Report brief.** Report uses ReportLab, not LaTeX. Going through TikZ requires a LaTeX compiler, adds compilation steps, and models frequently produce broken TikZ code. Use Playwright+CSS instead - it's native to the existing cover rendering engine. + +```python +# Playwright+CSS diagram → PNG → ReportLab embedding +# 1. LLM generates diagram.html (CSS grid/flexbox nodes + SVG arrows) +# 2. Playwright screenshots at 2× scale (300dpi equivalent) +# 3. Embed: +from reportlab.platypus import Image +img = Image('diagram.png', width=450) # auto height via aspect ratio +story.append(img) # block-level Flowable +``` + +**⚠️ CRITICAL: Preserve aspect ratio - NEVER hardcode both width and height without reading actual image dimensions.** + +**⚠️ CRITICAL: Always constrain to available space - NEVER insert at original size if it exceeds container width/height.** + +Pie charts become ellipses, radar charts become diamonds, photos get stretched if you set arbitrary width/height. + +**→ Full overflow prevention spec: `typesetting/overflow.md`** - read for the complete bounding box system. + +```python +from PIL import Image as PILImage +from reportlab.platypus import Image +from reportlab.lib.pagesizes import A4 +from reportlab.lib.units import inch + +def embed_image(path: str, max_width: float = None, max_height: float = None) -> Image: + """Embed image with preserved aspect ratio, constrained to container. + + ALWAYS use this pattern. Never hardcode both width and height. + If max_width is None, defaults to available_width (page - margins). + """ + if max_width is None: + max_width = A4[0] - 2.0 * inch # Default: A4 width minus 1" margins each side + if max_height is None: + max_height = A4[1] * 0.35 # ~294pt ≈ 10cm — leaves room for caption + surrounding text on same page + + pil_img = PILImage.open(path) + orig_w, orig_h = pil_img.size + + # Scale to fit within BOTH max_width and max_height + ratio_w = max_width / orig_w if orig_w > max_width else 1.0 + ratio_h = max_height / orig_h if orig_h > max_height else 1.0 + ratio = min(ratio_w, ratio_h) + + return Image(path, width=orig_w * ratio, height=orig_h * ratio) + +# Usage: +available_width = A4[0] - left_margin - right_margin +img = embed_image('chart.png', max_width=available_width, max_height=300) +story.append(img) +``` + +```python +# ❌ NEVER do this - distorts the image: +img = Image('chart.png', width=400, height=250) # arbitrary height breaks aspect ratio +``` + +--- + +## PDF Metadata + +```python +doc = SimpleDocTemplate( + pdf_filename, + pagesize=letter, + title=os.path.splitext(pdf_filename)[0], + author='Z.ai', + creator='Z.ai', + subject='Document purpose description' +) +``` + +### ⚠️ MANDATORY: Post-Generation Metadata + +After `doc.build(story)` completes: +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.brand output.pdf +``` + +### ⚠️ MANDATORY: Post-Generation Blank Page Cleanup + +After metadata branding, remove any accidental blank pages: +```bash +python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.clean output.pdf -o output_clean.pdf +``` +If blank pages were found, rename `output_clean.pdf` → `output.pdf`. + +--- + +## MANDATORY: Post-Generation Code Sanitization + +**After writing PDF generation code and BEFORE executing it**, sanitize using: + +```bash +# Step 0: Set skill root path (see SKILL.md § Script Path Setup) +PDF_SKILL_DIR="<skill_directory>" + +# Step 1: Write code to .py file +cat > generate_pdf.py << 'PYEOF' +# ... your PDF generation code ... +PYEOF + +# Step 2: Sanitize (MUST run before execution) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" code.sanitize generate_pdf.py + +# Step 3: Execute +python3 generate_pdf.py + +# Step 4: Add metadata (MUST run after PDF creation) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" meta.brand output.pdf + +# Step 5: Check for missing glyphs (RECOMMENDED) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" font.check output.pdf + +# Step 6: Check TOC quality (if document has TOC) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" toc.check output.pdf + +# Step 7: PDF quality assurance scan (MUST run after all other checks) +python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" output.pdf +``` + +**FORBIDDEN patterns:** +```bash +# ❌ PROHIBITED: python -c with inline code +python -c "from reportlab... doc.build(story)" + +# ❌ PROHIBITED: heredoc without saving to file first +python3 << 'EOF' +from reportlab... +EOF + +# ❌ PROHIBITED: executing .py without sanitizing +python generate_pdf.py # Missing sanitization! +``` + +--- + +## Debug Tips for Layout Issues + +**→ Full overflow prevention spec: `typesetting/overflow.md`** - read it for the complete bounding box system, two-pass rendering, fallback strategies, and all three route implementations. + +```python +from reportlab.platypus import HRFlowable +from reportlab.lib.colors import red + +# Visualize spacing during development - insert between elements +story.append(table) +story.append(HRFlowable(width="100%", color=red, thickness=0.5, spaceBefore=0, spaceAfter=0)) +story.append(Spacer(1, 6)) +story.append(HRFlowable(width="100%", color=red, thickness=0.5, spaceBefore=0, spaceAfter=0)) +story.append(caption) +# Red lines create visual markers to see actual spacing - remove before final build +``` + +--- + +## Resume / CV Template (ATS-Friendly) + +Single-column, clean layout optimised for Applicant Tracking Systems (ATS). No graphics, no sidebars, no colour blocks - just well-structured text that parses perfectly by HR software. + +**When to use this template:** +- Applying to corporate jobs through online portals +- Any scenario where the PDF will be machine-parsed before a human reads it +- When the recruiter explicitly asks for "a standard resume" + +**When NOT to use (use Academic brief instead):** +- Creative/design industry positions → Academic brief (AltaCV-style) +- Academic CV with publications → Academic brief (Academic CV) + +### Resume Design Rules +- **Target 1 page** unless user specifies otherwise +- **Margins**: `left=1.5cm, right=1.5cm, top=1.5cm, bottom=1.5cm` +- **No cover page** - content starts immediately +- **No TOC** - too short for table of contents +- **Font**: Times New Roman (English) or SimHei (Chinese) +- **Body font size**: 10-10.5pt; Name: 22-26pt; Section titles: 13-14pt +- **⚠️ Minimum font size: 12px (9pt) - HARD FLOOR.** No text in the entire resume may render smaller than 12px. This includes contact info, meta text, footnotes, and captions. Anything below 12px is unreadable in print and fails accessibility checks. +- **Section separator**: thin horizontal rule (`HRFlowable`) +- **Bullet style**: `•` with tight spacing + +### Resume Line-Break Rules (Language-Aware) +- **English**: Prefer breaking at word boundaries (spaces, hyphens). If a long word must be split to avoid excessive whitespace, break at a valid syllable boundary and insert a hyphen (`-`) - this is standard typographic practice (e.g., `experi-\nence`, `develop-\nment`). ReportLab supports `wordWrap='CJK'` only for CJK content; for English use default paragraph wrapping with `allowWidows=0, allowOrphans=0`. +- **Chinese/CJK**: Break allowed between any two CJK characters. Never break between a CJK character and its adjacent punctuation (、。,)》 etc. must stay with the preceding character). +- **Mixed content** (e.g., "Python 开发工程师"): Break at CJK boundaries or English word boundaries. Never split an English word in a CJK paragraph unless hyphenated. +- **Contact line**: Email, phone, location separated by `|` or `·`. Each segment must stay on one line - if too long, move to next line at the separator, not mid-segment. +- **Dates and ranges**: "Jan 2022 - Present" must stay as one unit. Never break a date range across lines. + +### Resume Page-Fill Rules (Anti-Blank-Space) +- **Goal: Fill ≥85% of the page height.** Content should reach at least the bottom quarter of the page. A resume that stops at 60% height with blank space below = FAIL. +- **Adaptive spacing strategy** (apply in order until page is ≥85% filled): + 1. Increase `spaceBefore` / `spaceAfter` on section headers (from 10pt up to 18pt) + 2. Increase `leading` (line height) on body text (from 14pt up to 18pt) + 3. Increase body `fontSize` by 0.5-1pt (from 10pt up to 11.5pt max) + 4. Add a "Professional Summary" or "Key Achievements" section if none exists + 5. Increase margins slightly (from 1.5cm up to 2cm) to reduce line width and push content downward +- **Never leave a visible blank area > 3cm at the bottom of the page.** +- **If content overflows to page 2**: do the reverse - reduce spacing, tighten leading (min 12pt), reduce fontSize (min 9pt / 12px), before removing content. + +### Complete Resume Template + +```python +from reportlab.lib.pagesizes import A4 +from reportlab.lib.units import cm, mm +from reportlab.lib.styles import ParagraphStyle +from reportlab.lib.enums import TA_LEFT, TA_CENTER +from reportlab.lib import colors +from reportlab.platypus import ( + SimpleDocTemplate, Paragraph, Spacer, HRFlowable, Table, TableStyle +) +from reportlab.pdfbase import pdfmetrics +from reportlab.pdfbase.ttfonts import TTFont +from reportlab.pdfbase.pdfmetrics import registerFontFamily + +# ── Font Registration ── +pdfmetrics.registerFont(TTFont('TimesNewRoman', '/usr/share/fonts/truetype/english/Times-New-Roman.ttf')) +registerFontFamily('TimesNewRoman', normal='TimesNewRoman', bold='TimesNewRoman') +# For Chinese resumes, also register SimHei: +# pdfmetrics.registerFont(TTFont('SimHei', '/usr/share/fonts/truetype/chinese/SimHei.ttf')) +# registerFontFamily('SimHei', normal='SimHei', bold='SimHei') + +# ── Styles ── +# ACCENT must come from palette.generate (Step 2) +# Run: python3 "$PDF_SKILL_DIR/scripts/pdf.py" palette.generate --title "Resume" --mode minimal +ACCENT = colors.HexColor('<accent from palette>') # Replace with palette output + +name_style = ParagraphStyle( + 'ResumeName', fontName='TimesNewRoman', fontSize=24, + leading=28, alignment=TA_CENTER, spaceAfter=2 +) +contact_style = ParagraphStyle( + 'ResumeContact', fontName='TimesNewRoman', fontSize=10, + leading=14, alignment=TA_CENTER, textColor=TEXT_MUTED, # From palette --c-muted + spaceAfter=8 +) +section_title_style = ParagraphStyle( + 'ResumeSectionTitle', fontName='TimesNewRoman', fontSize=13, + leading=16, spaceBefore=10, spaceAfter=4, + textColor=ACCENT +) +job_title_style = ParagraphStyle( + 'ResumeJobTitle', fontName='TimesNewRoman', fontSize=11, + leading=14, spaceAfter=1 +) +job_meta_style = ParagraphStyle( + 'ResumeJobMeta', fontName='TimesNewRoman', fontSize=10, + leading=13, textColor=TEXT_MUTED, spaceAfter=4 # From palette --c-muted +) +bullet_style = ParagraphStyle( + 'ResumeBullet', fontName='TimesNewRoman', fontSize=10, + leading=14, leftIndent=14, bulletIndent=0, + spaceBefore=1, spaceAfter=1 +) +body_style = ParagraphStyle( + 'ResumeBody', fontName='TimesNewRoman', fontSize=10, + leading=14, spaceAfter=2 +) + +# ── Helpers ── +def section_header(title): + """Section title + thin rule separator.""" + return [ + Paragraph(f'<b>{title}</b>', section_title_style), + HRFlowable(width='100%', thickness=0.8, color=ACCENT, + spaceBefore=0, spaceAfter=6), + ] + +def experience_entry(title, company, dates, location, bullets): + """One work experience block.""" + elements = [ + Paragraph(f'<b>{title}</b>', job_title_style), + Paragraph(f'{company} | {dates} | {location}', job_meta_style), + ] + for b in bullets: + elements.append(Paragraph(f'• {b}', bullet_style)) + elements.append(Spacer(1, 4)) + return elements + +def education_entry(degree, school, dates, details=None): + """One education block.""" + elements = [ + Paragraph(f'<b>{degree}</b>', job_title_style), + Paragraph(f'{school} | {dates}', job_meta_style), + ] + if details: + elements.append(Paragraph(details, body_style)) + elements.append(Spacer(1, 4)) + return elements + +def skills_row(categories): + """ + Skills as compact label: value pairs. + categories = [('Programming', 'Python, Java, C++'), ('Tools', 'Git, Docker')] + """ + elements = [] + for cat, vals in categories: + elements.append(Paragraph(f'<b>{cat}:</b> {vals}', body_style)) + return elements + +# ── Build Document ── +doc = SimpleDocTemplate( + 'resume.pdf', pagesize=A4, + leftMargin=1.5*cm, rightMargin=1.5*cm, + topMargin=1.5*cm, bottomMargin=1.5*cm, + title='Resume - Your Name', + author='Z.ai', creator='Z.ai' +) + +story = [] + +# Header +story.append(Paragraph('<b>YOUR NAME</b>', name_style)) +story.append(Paragraph( + 'email@example.com | +86 138-0000-0000 | Shanghai, China | github.com/yourname', + contact_style +)) + +# Summary +story.extend(section_header('PROFESSIONAL SUMMARY')) +story.append(Paragraph( + 'Results-driven software engineer with 5+ years of experience in backend systems, ' + 'distributed computing, and cloud-native architectures. Led a team of 8 engineers ' + 'delivering a real-time data pipeline processing 2M+ events/sec.', + body_style +)) + +# Experience +story.extend(section_header('WORK EXPERIENCE')) +story.extend(experience_entry( + 'Senior Software Engineer', 'Tech Company Inc.', 'Jan 2022 - Present', 'Shanghai', + [ + 'Designed and deployed a microservices architecture serving 10M daily active users', + 'Reduced API latency by 40% through query optimisation and caching strategies', + 'Mentored 3 junior engineers; established code review standards adopted team-wide', + ] +)) +story.extend(experience_entry( + 'Software Engineer', 'Startup Co.', 'Jul 2019 - Dec 2021', 'Beijing', + [ + 'Built real-time recommendation engine using collaborative filtering (CTR +25%)', + 'Implemented CI/CD pipeline reducing deployment time from 2 hours to 15 minutes', + ] +)) + +# Education +story.extend(section_header('EDUCATION')) +story.extend(education_entry( + 'M.Sc. Computer Science', 'Tsinghua University', '2017 - 2019', + 'GPA: 3.8/4.0 | Thesis: Distributed Graph Processing on Heterogeneous Clusters' +)) +story.extend(education_entry( + 'B.Eng. Software Engineering', 'Zhejiang University', '2013 - 2017' +)) + +# Skills +story.extend(section_header('SKILLS')) +story.extend(skills_row([ + ('Languages', 'Python, Java, Go, SQL, TypeScript'), + ('Frameworks', 'Spring Boot, FastAPI, React, Kubernetes, Kafka'), + ('Tools', 'Git, Docker, Terraform, AWS (EC2/S3/Lambda), PostgreSQL, Redis'), +])) + +doc.build(story) +``` + +### Resume Checklist +- [ ] **1 page** (unless user says otherwise) +- [ ] **No cover page, no TOC** +- [ ] Tight margins (1.5cm all sides) +- [ ] Name prominent at top (22-26pt) +- [ ] Contact info single line, centered +- [ ] Section headers with consistent separator style +- [ ] Bullets concise - start with action verbs +- [ ] Quantified achievements (%, $, count) +- [ ] No photos, no icons, no colour blocks (ATS-safe) +- [ ] Font: only registered fonts (Times New Roman / SimHei) +- [ ] **⚠️ Minimum font size 12px (9pt)** - no text smaller than this anywhere +- [ ] **Line breaks are language-aware** - no mid-word English breaks, no CJK punctuation orphans, no date range splits +- [ ] **Page fill ≥85%** - no large blank area at bottom. If sparse, increase spacing/leading/font size adaptively + +--- + +## Component Reference + +### Block types: +| Type | Description | Notes | +|------|-------------|-------| +| h1 | 22pt + accent underline rule | KeepTogether with rule | +| h2 | 15pt, dark | No rule, no accent | +| h3 | 11.5pt bold | No accent | +| body | 10.5pt justified, 17pt leading | Supports `<b>` `<i>` `<font>` | +| bullet | Body size with `•` prefix | Unordered list | +| numbered | Body size with N. prefix | Counter auto-resets | +| callout | Accent left border 4px + light tint bg | Max one per section | +| table | Accent header + alternating rows + outer box only | Supports fractional col_widths | +| code | Courier 8.5pt + accent left border | Optional language label | +| divider | Accent 1.2pt rule | Use sparingly | +| caption | 8.5pt muted, centered | Below images/tables | +| chart | matplotlib figure saved as PNG → `Image()` flowable | Generate chart in-script, `fig.savefig()` → embed. Set `plt.rcParams['font.sans-serif']=['SimHei']` for CJK. Always `tight_layout()`. **Must follow `typesetting/charts.md` rules**: delete top/right spines, dashed grid 20% opacity, donut default for pie, anti-stacking labels. | +| quote | Body italic + left indent 24pt + muted accent left border 2px | For blockquotes / testimonials | +| bibliography | Hanging indent (firstLineIndent=-24pt, leftIndent=24pt) | GB/T 7714 or APA format per language | +| math | Rendered via `<super>` `<sub>` tags in Paragraph | For inline math; complex equations → use academic brief instead | + +### Header / footer: +- Header: document title (left, 7.5pt, muted) + accent rule (1.5pt, full width) +- Footer: author (left, 7.5pt, muted) + page number (right, 7.5pt, muted) + light rule above + +### Custom flowables (preferred over Table hacks): +- **CalloutBox**: accent 4px left border + light tint background - cleaner than Table simulation +- **BibliographyItem**: hanging indent reference entry + +--- + +## Quick Reference + +| Task | Best Tool | Command/Code | +|------|-----------|--------------| +| Create PDF (ReportLab) | reportlab | Canvas or Platypus | +| Fill PDF forms | Process brief | `python3 "$PDF_SKILL_DIR/scripts/pdf.py" form.fill` or annotation workflow | +| Merge PDFs | Process brief | `python3 "$PDF_SKILL_DIR/scripts/pdf.py" pages.merge` | +| Extract text | Process brief | `python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.text` | +| Extract tables | Process brief | `python3 "$PDF_SKILL_DIR/scripts/pdf.py" extract.table` | + +--- + +## Document-Type Quick Reference + +### 📋 Invoice / Receipt + +Key elements: +- Company logo/name at top +- Invoice number + date (right-aligned) +- Seller/buyer info block (2-column layout) +- Line items table: Item, Quantity, Unit Price, Amount +- Total row with bold font +- Tax info + payment terms at bottom +- Stamp/seal placeholder (empty circle or rect with "Seal Here" text) + +```python +# Invoice table pattern +data = [['Item', 'Qty', 'Unit Price', 'Amount']] +data += [[item['name'], item['qty'], item['price'], item['total']] for item in items] +data.append(['', '', 'Total:', f'¥{total}']) +``` + +### 📝 Contract / Legal Document + +Key elements: +- Title centered, bold, 18pt +- Numbered clauses with auto-increment +- Signature block at bottom: Party A / Party B with date line +- Page numbers mandatory + +```python +# Signature block pattern +sig_data = [ + ['Party A (Seal): ________________', 'Party B (Seal): ________________'], + ['Date: ____/____/________', 'Date: ____/____/________'], +] +sig_table = Table(sig_data, colWidths=[250, 250]) +``` + +### 📊 Book / Long Document + +For documents with 10+ pages: +1. Generate TOC with `TableOfContents()` from reportlab.platypus +2. Use `CondPageBreak(H1_ORPHAN_THRESHOLD)` before H1 headings (NOT `PageBreak()` — never force page breaks between chapters) +3. Add running headers/footers with chapter title + page number +4. Run `python3 "$PDF_SKILL_DIR/scripts/toc_validate.py" output.pdf` to verify TOC links +5. Consider using `bookmarks=True` for PDF outline navigation + +--- + +### 📝 Exam / Quiz / Test Paper / Worksheet + +**Exam papers have unique layout requirements. These rules are MANDATORY when generating any test/quiz/exam document.** + +#### Numbering & Structure +``` +一、选择题(每小题 3 分,共 30 分) ← Section header (宋体/黑体 14pt Bold) + +1. 以下哪个不是 Python 内置数据类型? ← Question stem (12pt) + A. int ← Options: indented 24pt (2em) + B. float ← Each option on new line or 2×2 grid + C. array + D. str + +2. 以下表达式的值为? ← Next question + A. True B. False ← Short options: inline 2×2 grid OK + C. None D. Error +``` + +#### Option Indentation (MANDATORY) +```python +# ReportLab styles for exam papers +question_style = ParagraphStyle( + 'Question', fontSize=12, leading=16, + leftIndent=0, firstLineIndent=0, + spaceBefore=12, spaceAfter=4, +) +option_style = ParagraphStyle( + 'Option', fontSize=12, leading=16, + leftIndent=24, # ← MANDATORY: 24pt indent from question stem + firstLineIndent=0, + spaceBefore=2, spaceAfter=2, +) +``` + +#### Option Layout Decision +```python +def format_options(options): + """ + Decide option layout based on content length. + Short options (≤4 chars each, ≤4 options) → 2×2 grid table + Long options or >4 options → vertical list, one per line + """ + max_len = max(len(opt) for opt in options) + if len(options) <= 4 and max_len <= 6: # CJK: 4 chars; Latin: 6 chars + # 2×2 grid using Table + grid = Table( + [[options[0], options[1]], [options[2], options[3]]], + colWidths=[200, 200], hAlign='LEFT' + ) + grid.setStyle(TableStyle([ + ('LEFTPADDING', (0,0), (-1,-1), 24), # Match option indent + ('VALIGN', (0,0), (-1,-1), 'TOP'), + ])) + return grid + else: + # Vertical list + return [Paragraph(f'{opt}', option_style) for opt in options] +``` + +#### Answer Space Reservation (MANDATORY) + +**Every question MUST have adequate answer space. No exceptions.** + +| Question Type | Minimum Space | Implementation | +|--------------|---------------|----------------| +| Multiple choice | 0 extra (options are the answer) | Just question + options | +| Fill-in-the-blank | Inline underline, min 80pt width | `<u>        </u>` or ReportLab `HRFlowable` | +| Short answer | 40-60pt (2-3 lines) | `Spacer(1, 50)` | +| Calculation / math work | 120-200pt (6-10 lines) | `Spacer(1, 160)` with light guide lines | +| Essay / long answer | 200-400pt (10-20 lines) | `Spacer(1, 300)` with light guide lines | +| Proof / derivation | 160-250pt (8-12 lines) | `Spacer(1, 200)` | + +```python +# Answer line helper — light dashed lines for handwriting +def add_answer_lines(story, num_lines=8, line_spacing=20): + """Add light guide lines for handwritten answers.""" + for i in range(num_lines): + story.append(Spacer(1, line_spacing)) + story.append(HRFlowable( + width='90%', thickness=0.3, + color=colors.Color(0.8, 0.8, 0.8), # Light gray + dash=[4, 4], # Dashed + spaceAfter=0, spaceBefore=0 + )) +``` + +#### Page Density +- `spaceBefore=12pt` between questions minimum +- `spaceBefore=24pt` before section headers (一、二、三) +- Score indicator after question number: `1. (分值: 5分)` or `1. [5 pts]` +- Page header: exam title + time limit + total score +- No cover page unless explicitly requested + +--- + +## Data-to-Ink Ratio Rules (MANDATORY for Reports) + +**CRITICAL: Do NOT write long paragraphs to describe data trends.** You MUST extract metrics and trends into structured visual elements. + +### Pattern Detection Table + +Before writing ANY body paragraph, scan the text. If you find any of these patterns, extract them: + +| Raw text pattern | ❌ FORBIDDEN | ✅ REQUIRED visual form | +|-----------------|-------------|----------------------| +| "revenue grew 12% to $4.2M" | Bury in paragraph prose | CalloutBox with bold `+12%` + `$4.2M` | +| "latency dropped from 120ms to 75ms" | Long explanatory sentence | CalloutBox or metrics table row | +| "Q1→Q2→Q3: 10%→25%→40%" | Inline numbers in text | Chart (matplotlib PNG → `Image()`) | +| "first...second...third..." steps | Paragraph with ordinal words | Numbered Table or process list | +| "compared to last year / vs Q2" | Nested comparisons in prose | Side-by-side comparison table | +| "accounted for 60% of total" | Percentage in paragraph | Pie chart or stacked bar chart | + +### ReportLab CalloutBox Template + +Use this pattern for extracted metrics - it's visually clean and takes only 5 lines: + +```python +stat_style = ParagraphStyle( + name='StatBig', fontName='Times New Roman', fontSize=22, + leading=26, textColor=ACCENT, alignment=TA_CENTER # From palette +) +label_style = ParagraphStyle( + name='StatLabel', fontName='Times New Roman', fontSize=9, + leading=12, textColor=TEXT_MUTED, alignment=TA_CENTER # From palette +) + +callout = Table( + [[Paragraph('<b>+12%</b>', stat_style)], + [Paragraph('Revenue Growth vs Q2', label_style)]], + colWidths=[160] +) +callout.setStyle(TableStyle([ + ('BACKGROUND', (0,0), (-1,-1), BG_SURFACE), # From palette --c-mid + ('BOX', (0,0), (-1,-1), 1, ACCENT), # From palette --c-accent + ('TOPPADDING', (0,0), (-1,-1), 10), + ('BOTTOMPADDING', (0,0), (-1,-1), 10), + ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), +])) +story.append(KeepTogether(callout)) +``` + +### Cover Pages (HTML/Playwright) +When the cover routes through Playwright: +- Use `Delta_Widget` components for KPIs and metrics. +- Use `Process_List` components for workflows and timelines. +- Use `Sidenote_Block` components (in `tufte_report` archetype) for citations and supplementary data. +- For data-heavy pages, add `data_points` arrays to any component - the engine renders them as content-aware background curves. + +--- + +## Critical Reminders Checklist + +Before submitting code, verify: + +- [ ] **Font restriction**: Only 6 registered fonts used +- [ ] **Font family registered**: `registerFontFamily()` called for all used fonts +- [ ] **Mixed language**: `install_font_fallback()` called after font registration (auto handles `<font>` wrapping) +- [ ] **Rich text tags**: Only inside `Paragraph()` objects +- [ ] **Table cells**: ALL text wrapped in `Paragraph()` +- [ ] **Scientific notation**: Large/small numbers use `<super>` tags +- [ ] **Chinese text**: `wordWrap='CJK'` in ParagraphStyle +- [ ] **Line breaks**: Using `<br/>` not `\n` +- [ ] **Headings**: Bold with `<b>` tags +- [ ] **Table headers**: White bold text on dark blue (#1F4E79) +- [ ] **Metadata**: Title matches filename, Author/Creator = "Z.ai" +- [ ] **Sanitization**: Code sanitized before execution +- [ ] **Post-build metadata**: `pdf.py meta.brand` called after build +- [ ] **Post-build blank page cleanup**: `pdf.py pages.clean` called after build +- [ ] **Glyph check**: `pdf.py font.check` run to verify no missing glyphs +- [ ] **TOC check**: `pdf.py toc.check` run if document has TOC (entries, pages, links) +- [ ] **PDF QA scan**: `pdf_qa.py` run to verify page consistency, CJK punctuation, overflow, margins, table centering, font embedding, metadata diff --git a/skills/pdf/configs/components.md b/skills/pdf/configs/components.md new file mode 100755 index 0000000..873fe3c --- /dev/null +++ b/skills/pdf/configs/components.md @@ -0,0 +1,153 @@ +# Components — Art Direction JSON Lexicon + +This file defines the strict component vocabulary for the Creative pipeline. + +**CRITICAL RULE: DO NOT OUTPUT HTML OR CSS.** +You are an Art Director. You only output JSON. To use these components, insert their corresponding JSON objects into the `components` array of your page blueprint. The `design_engine.py` will automatically compile them into gallery-grade visual assets. + +--- + +## 1. Glass_Canvas +The primary container for readable body text. Simulates printed text on frosted acrylic. + +**JSON Blueprint Structure:** +```json +{ + "type": "Glass_Canvas", + "markdown_content": "### The Divide\nYour text goes here. Supports standard Markdown.", + "tension_score": 0.8 +} +``` +**Parameters:** +- `markdown_content`: (Required) The actual text. **Recommended under 150 words; absolute max 250 words.** +- `tension_score`: (Optional, 0.0 to 1.0) Semantic tension. Drives dynamic font weight (300 to 900). Use `0.1` for calm/light text, `0.9` for crisis/heavy text. Do NOT use on data-heavy pages. + +--- + +## 2. Hero_Typography +Massive, page-dominating title text that physically interacts with the background via blend modes. + +**JSON Blueprint Structure:** +```json +{ + "type": "Hero_Typography", + "content": "THE WEIGHT<br>OF SILENCE", + "weight": "black", + "variant": "standard", + "scale": 6 +} +``` +**Parameters:** +- `content`: (Required) The text. Use `<br>` for deliberate typographic line breaks. +- `weight`: (Required) `"black"` (900 weight, dominating) or `"thin"` (100 weight, whisper-quiet/elegant). +- `variant`: (Optional) `"standard"` (default) only. ~~`"vertical_accent"`~~ is **NOT implemented** in `design_engine.py` — the engine silently ignores this parameter. Use `Floating_Meta` component instead for rotated/vertical decorative text. +- `scale`: (Optional, integer 1–6) Typographic scale level. The engine maps this to fluid CSS `clamp()` sizes: + - `6` → `clamp(64px, 12vw, 150px)` — Hero/Display, maximum impact + - `5` → `clamp(48px, 8vw, 96px)` — Primary Title + - `4` → `clamp(32px, 5vw, 56px)` — Subheadline + - `3` → `clamp(20px, 3vw, 32px)` — Lead Paragraph + - `2` → `16px` — Body + - `1` → `10px` — Meta/Caption + If omitted, the engine uses the default hero font size from CSS. + +--- + +## 3. Floating_Meta +Small-text metadata positioned vertically in corners, mimicking art monograph indexes. + +**JSON Blueprint Structure:** +```json +{ + "type": "Floating_Meta", + "position": "bottom-right", + "items": [ + "CATALOG NO. 2026.031", + "EDITION 1/500" + ] +} +``` +**Parameters:** +- `position`: (Required) `"top-left"`, `"top-right"`, `"bottom-left"`, or `"bottom-right"`. +- `items`: (Required) Array of short strings (dates, edition numbers, refs). + +--- + +## 4. Stat_Block +Data sculpture. Transforms boring numbers into massive visual objects. + +**JSON Blueprint Structure:** +```json +{ + "type": "Stat_Block", + "number": "97.3", + "unit": "%", + "label": "COMPLETION RATE" +} +``` +**Parameters:** +- `number`: The core massive digit. +- `unit`: Tiny unit attached to the number. +- `label`: Metadata label below the number. + +--- + +## 5. Hairline_Divider +Ultra-thin separator lines. Structural, like fold lines in print. + +**JSON Blueprint Structure:** +```json +{ + "type": "Hairline_Divider", + "style": "accent" +} +``` +**Parameters:** +- `style`: `"bleed"` (full width edge-to-edge) or `"accent"` (short centered 30% line). + +--- + +## 6. Page_Ghost_Number +Giant, 4% opacity watermark numbers that become part of the page's atmosphere. + +**JSON Blueprint Structure:** +```json +{ + "type": "Page_Ghost_Number", + "number": "03" +} +``` + +--- + +## 7. Shaped_Canvas (Advanced Semantic Shape-Wrapping) +A container where text flows around a non-rectangular shape. The empty space created by the shape IS the visual design. + +**JSON Blueprint Structure:** +```json +{ + "type": "Shaped_Canvas", + "shape_keyword": "wave", + "markdown_content": "The ocean stretched endlessly... (recommended under 150 words, absolute max 250)" +} +``` +**Parameters & Shape Presets:** +- `shape_keyword`: MUST be one of the following: + - `"circle"`: Unity, spotlight, focus. + - `"wave"`: Ocean, flow, fluidity. + - `"diagonal_slash"`: Disruption, change, energy. + - `"diamond"`: Luxury, precision, crystalline. + - `"wedge_right"`: Direction, progress, forward motion. +- `markdown_content`: Text to wrap around the shape. + +**CRITICAL Layout Constraint:** +If a page contains a `Shaped_Canvas`, that page's `archetype` MUST be set to `"shaped_editorial"` in the JSON. Never mix `Shaped_Canvas` and `Glass_Canvas` on the same page. + +--- + +## Blueprint Assembly Guidelines + +When constructing the JSON `pages` array, keep these layering and composition rules in mind: + +1. **Backgrounds**: Do NOT try to place background SVGs as components. Backgrounds are declared globally in the `art_direction.background_svg` field (`"flow"`, `"grid"`, `"noise"`, or `"continuous_flow"`). +2. **Layering**: The order of objects in the `components` array roughly dictates their top-to-bottom rendering. +3. **Breathing Room**: Less is more. A page with just one `Hero_Typography` and one `Floating_Meta` is highly sophisticated. Cramming 5 components on a page communicates desperation. \ No newline at end of file diff --git a/skills/pdf/configs/fonts.md b/skills/pdf/configs/fonts.md new file mode 100755 index 0000000..b8ae850 --- /dev/null +++ b/skills/pdf/configs/fonts.md @@ -0,0 +1,93 @@ +# Font System + +## Font Stacks (by pipeline) + +### Creative Pipeline (Playwright / HTML) + +Fonts are loaded via Google Fonts CDN in the HTML `<head>`: + +```html +<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&family=Noto+Sans+SC:wght@300;400;500;700;900&family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&display=swap" rel="stylesheet"> +``` + +#### Variable Font (for Tension Typesetting) + +When `tension_score` is used on `Glass_Canvas`, the engine switches to **Inter Variable** for continuous weight interpolation (100–900): + +```html +<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap" rel="stylesheet"> +``` + +This enables `font-variation-settings: 'wght' <value>` for smooth, non-discrete weight transitions. The standard discrete-weight URL is still used when tension is not active. + +| Variable | Stack | Usage | +|----------|-------|-------| +| `--font-sans` | Inter, Noto Sans SC, Helvetica Neue, Apple Color Emoji, Segoe UI Emoji, sans-serif | Body text, UI elements, stats | +| `--font-serif` | Playfair Display, Noto Serif SC, Cormorant Garamond, Apple Color Emoji, serif | Hero text, editorial headlines | +| `--font-mono` | SF Mono, Consolas, Apple Color Emoji, monospace | Floating meta, timestamps, codes | + +### Report Pipeline (ReportLab) + +ReportLab requires registered fonts. CJK support via `UniSong` / `UniHei` (built into reportlab.lib.fonts): + +```python +from reportlab.pdfbase import pdfmetrics +from reportlab.pdfbase.cidfonts import UnicodeCIDFont +pdfmetrics.registerFont(UnicodeCIDFont('STSong-Light')) # Song-ti (serif-like) +# Use 'STSong-Light' for body, headings +``` + +> **⚠️ ReportLab CANNOT render emoji.** If content has emoji, route to Creative pipeline. + +### Academic Pipeline (Tectonic / LaTeX) + +CJK support via `ctex` package: +```latex +\usepackage{ctex} % Auto-selects appropriate CJK fonts +``` + +For manual font selection: +```latex +\setCJKmainfont{Noto Serif CJK SC} +\setCJKsansfont{Noto Sans CJK SC} +``` + +> **⚠️ LaTeX silently drops emoji characters.** If content has emoji, route to Creative pipeline. + +## Emoji Font Fallback + +All Creative pipeline font stacks include emoji fallback: +- **macOS**: `Apple Color Emoji` (system default, full color emoji) +- **Windows**: `Segoe UI Emoji` +- **Linux**: `Noto Color Emoji` (install: `apt install fonts-noto-color-emoji`) + +Chromium (used by Playwright) on macOS renders emoji natively — no extra configuration needed. + +## CJK Font Weight Guide + +| Weight Value | Inter Equivalent | Noto Sans SC Name | Usage | +|-------------|------------------|-------------------|-------| +| 300 | Light | Light | Subtitles, captions, meta text | +| 400 | Regular | Regular | Body text | +| 500 | Medium | Medium | Semi-emphasis | +| 700 | Bold | Bold | Headlines, emphasis | +| 900 | Black | Black | Hero text, stat numbers | + +> **Tip**: Noto Sans SC weights 300–900 cover most use cases. Always load at least 400 and 700 via Google Fonts. + +## Font Size Scale + +Recommended type scale (base: 16px body): + +| Role | Size | Weight | Line-Height | +|------|------|--------|-------------| +| Page Ghost Number | 240px | 900 | 1.0 | +| Hero (large) | clamp(48px, 10vw, 110px) | 900 | 0.88 | +| Hero (serif thin) | clamp(48px, 10vw, 110px) | 100 | 0.88 | +| Stat Number | clamp(32px, 5vw, 56px) | 900 | 0.9 | +| Section Title | 24px | 800 | 1.2 | +| Subsection | 20px | 700 | 1.3 | +| Body | 16px | 400 | 1.6–1.7 | +| Caption | 14px | 400 | 1.5 | +| Floating Meta | 10px | 400 (mono) | 1.4 | +| Stat Label | 11px | 400 | 1.2 | diff --git a/skills/pdf/configs/visual_framework.md b/skills/pdf/configs/visual_framework.md new file mode 100755 index 0000000..90c37c8 --- /dev/null +++ b/skills/pdf/configs/visual_framework.md @@ -0,0 +1,263 @@ +# Visual Framework — Aesthetic Axioms + +Non-template design system. This file is the LLM's thinking framework — not a list of styles to pick from, but a set of immutable laws that govern every design decision. + +--- + +## The Three Absolutes + +1. **Restraint** — Remove until it hurts. Then remove one more thing. +2. **Contrast** — Hierarchy through scale and weight, never through color multiplication. +3. **Space Metaphor** — Every page has physical energy: gravity, tension, breathing. + +### The Anti-Gaudy Imperative + +> **When in doubt, remove. Never add.** + +A document looks "cheap" or "土" when it has too many competing visual elements. The cure is always subtraction, never rearrangement. + +**Red flags that a design is gaudy:** +- More than 3 decorative elements on a single body page +- Icons or emoji used as section header decoration (use typography instead) +- Decorative borders or frames around body content +- Pattern/texture backgrounds on body pages +- 3+ different hue families visible simultaneously +- Elements added "because there's empty space" rather than for function + +**The fix is always:** Delete the decorative element. If the page still communicates its message clearly, it didn't need the decoration. If it doesn't, fix the typography hierarchy — not by adding more visual noise. + +### 🚫 The Stock Image / Clipart / AI-Generated Decoration Ban + +> **ABSOLUTE PROHIBITION: Do NOT embed stock photos, clipart, watercolor illustrations, AI-generated images (flowers, patterns, borders, frames, ornaments), or any decorative raster/vector artwork into PDF documents.** + +This is the #1 source of "cheap" / "土" / "婚庆风" design. Examples of what is BANNED: +- ✘ Watercolor flowers / roses / floral corners / vine borders +- ✘ Gold/metallic decorative frames or borders +- ✘ Stock photo backgrounds (landscapes, textures, marble) +- ✘ Clipart illustrations (ribbons, bows, hearts, stars) +- ✘ AI-generated decorative artwork (DALL-E flowers, Midjourney patterns) +- ✘ Any `<img>` tag used for purely decorative (non-informational) purposes +- ✘ Unsplash/Pexels/Pixabay stock photos used as background or decoration + +**What IS allowed:** +- ✔ Geometric shapes rendered in CSS/SVG (circles, lines, rectangles — from `geometry.md`) +- ✔ Typography-based decoration (oversized letters, watermark text, letter-spacing effects) +- ✔ Color blocks and gradients (within palette rules) +- ✔ User-provided photos/logos that are CONTENT (not decoration) +- ✔ Charts and data visualizations +- ✔ Diagrams that convey information + +**The principle:** If removing an image doesn't reduce the information content of the document, that image is decoration and should be replaced with typography or geometric elements. + +**Wedding invitations, event cards, certificates:** Use elegant typography + geometric accents (thin lines, minimal shapes) + generous whitespace. A beautifully typeset name in 48pt serif with 6pt letter-spacing is infinitely more elegant than watercolor roses. + +--- + +## Color Axioms + +### The 60-30-10 Law + +Every design consists of exactly three tonal zones: + +| Zone | Coverage | Role | Generated by | +|------|----------|------|-------------| +| **60% — Ground** | Background, margins, empty space | Sets mood; the viewer doesn't "see" it consciously | `--c-bg` from `design_engine.py` | +| **30% — Structure** | Cards, dividers, secondary areas | Provides architecture; same hue family as ground, different lightness | `--c-mid` | +| **10% — Emphasis** | Headlines, key numbers, one accent element | Draws the eye; the only place "color" lives | `--c-accent` | + +### Saturation Discipline (HARD RULE) + +All colors pass through `design_engine.py` which enforces: +- **Saturation range**: 0.05 – 0.25 (HSL). This is non-negotiable. +- **No pure primaries**: Pure red (#ff0000), blue (#0000ff), yellow (#ffff00) are forbidden. +- **Max 3 hues** in the entire document. Variations in lightness/saturation don't count as separate hues. + +### Lightness Polarity + +Only two lightness regimes exist. The middle is forbidden. + +| Mode | Background L | Text L | Forbidden Zone | +|------|-------------|--------|----------------| +| **Dark** (Cinematic) | < 0.10 | > 0.85 | L between 0.30–0.70 for backgrounds | +| **Light** (Editorial) | > 0.95 | < 0.15 | L between 0.30–0.70 for backgrounds | + +Muddy mid-tones (L 0.30–0.70) for backgrounds produce the "cheap web app" look. Never. + +### What Color is NOT For + +Color does not create hierarchy. Size and weight do. + +| ❌ Wrong | ✅ Right | +|----------|---------| +| Blue heading, grey subheading, black body | All same hue; heading 900 weight 48px, sub 600 36px, body 400 16px | +| Colored tags/badges for categories | Monochrome tags with border weight variation | +| Gradient text on everything | Gradient text on exactly ONE hero element, nowhere else | + +--- + +## Typography Axioms + +### Weight is the New Color + +Hierarchy comes from the contrast between extremes of weight: + +| Element | Weight | Size Relative to Body | +|---------|--------|----------------------| +| Hero title | 100 (Thin) OR 900 (Black) | 4–6× body | +| Section heading | 700 | 2× body | +| Body | 400 | 1× (baseline) | +| Caption / metadata | 300 | 0.7× body | + +The gap between hero and body must be **dramatic** — at least 4× size ratio. Anything less feels timid. + +### Font Rules + +- **Max 2 families per page**. One serif, one sans (or one display, one text). Never three. +- **Every `font-family` must end with a generic**: `sans-serif`, `serif`, or `monospace`. +- **For physical print (>500mm)**: Use `pt`/`mm` for font sizes, never `px`. + +### Line-Height by Density + +| Content Type | Line-Height | Why | +|-------------|------------|-----| +| Body text, paragraphs | 1.6–1.8 | Comfortable reading | +| Headings | 0.85–1.0 | Tight, sculptural — headings are visual objects, not sentences | +| Captions, metadata | 1.4 | Compact but readable | + +--- + +## Space Axioms + +### The Breathing Margin Rule (MANDATORY) + +Every page must have **10–12% clear margin** on all edges. Nothing — no text, no decoration, no card — may enter this zone. + +The exact percentage depends on content density: +- **Sparse content** (hero pages, covers): 15% is fine — lots of air +- **Standard content** (editorial, data): **12%** is the sweet spot +- **Dense content** (tables, stat grids): 10% minimum — tighter but still breathable + +Default in `design_engine.py`: `inset: 10% 12%` (vertical 10%, horizontal 12%). + +``` +┌──────────────────────────────┐ +│ 10-12% margin (breathing) │ +│ ┌────────────────────────┐ │ +│ │ │ │ +│ │ Content lives here │ │ +│ │ (76-80% of canvas) │ │ +│ │ │ │ +│ └────────────────────────┘ │ +│ 10-12% margin (breathing) │ +└──────────────────────────────┘ +``` + +Decorative SVG backgrounds may extend into the margin zone (they're atmospheric, not content). But all readable elements respect it. + +### Negative Space is Content + +Empty space is not "wasted space." It's a compositional element: +- A poster with 50% whitespace communicates **confidence** +- A poster crammed to 90% communicates **desperation** +- The ratio of content to void sets the emotional tone + +### Proximity Rule + +Related items are close. Unrelated items are far. The gap between unrelated elements should be **at least 3× the gap between related ones**. + +--- + +## Intent → Visual Translation + +Five design intents. Each describes an **atmosphere** — the emotional field the viewer should feel. Intents do NOT prescribe specific parameters (font weight, line-height, SVG type, etc.). All concrete parameter mappings live in `briefs/creative.md` § Intent Mapping Table and `design_engine.py` INTENT_HUES/INTENT_HARMONY_MAP. + +### Calm +Stillness. The viewer’s breathing slows. Vast open space, restrained palette, nothing competes for attention. Covers healthcare, wellness, meditation, and minimalist aesthetics. The design communicates through what it *removes*. + +### Tension +Conflict. Sharp angles, dramatic contrast, elements that push against each other. Urgency, crisis, disruption. The page has physical energy — something is about to break or has already broken. + +### Energy +Motion. Dense composition, slight rotations, warmth. Marketing, launches, social campaigns. The design vibrates — it wants to move off the page. Nothing is perfectly centered. + +### Authority +Gravitas. Formal, deliberate, symmetrical. Government, finance, luxury, high-end corporate. Every element is placed with surgical precision. The design commands respect through restraint and weight. + +### Warmth +Comfort. Rounded edges, generous spacing, earth tones. Food, lifestyle, home. The design feels like a warm room — inviting, soft, human. + +--- + +> **Legacy mapping:** Serenity → Calm, Minimalism → Calm, Elegance → Authority. Old intent names are accepted as aliases in `design_engine.py` for backward compatibility. + +--- + +## Advanced Visual Techniques + +### Semantic-Topological Typesetting (Tension Score) + +Text is not visually flat — its "weight" should mirror its emotional intensity. When a document has narrative arc (calm introduction → crisis → resolution), font weight should breathe with it. + +**The Principle**: Assign a `tension_score` (0.0–1.0) to `Glass_Canvas` components. The engine maps this to a continuous font weight via Inter Variable font (300–900 axis). + +**When it matters**: +- Documents with 3+ pages and clear emotional shifts +- Storytelling: case studies, pitch decks, manifestos +- The reader may not consciously notice, but the subconscious weight variation creates "texture" in the reading experience — the same way a film score operates below awareness + +**When to skip**: +- Single-page posters (no arc to express) +- Data-heavy reports (numbers don't have "feelings") +- Short documents where all paragraphs share the same tone + +### Cross-Page Visual Continuity (Continuous Flow) + +Multi-page documents are not a collection of isolated posters — they're a journey. The background should reflect this. + +**The Principle**: Instead of generating independent SVGs per page, generate ONE continuous bezier curve spanning the entire document height, then slice it per-page via SVG `viewBox`. The result: curves that exit one page's bottom edge seamlessly enter the next page's top. + +**When to use `continuous_flow`**: +- Multi-page (2+) documents with narrative structure +- Journey/timeline documents +- Brand pieces where seamless sophistication matters +- Best paired with: `Warmth`, `Elegance`, `Serenity` intents + +**When to use regular `flow` instead**: +- Single-page documents (continuous has no meaning) +- Each page is conceptually independent (not a story) + +### Semantic Shape-Wrapping (Shaped_Canvas) + +The most dramatic of the three techniques. Text wraps around invisible geometric shapes, and the negative space itself becomes the illustration. + +**The Principle**: A floating `<div>` with CSS `shape-outside` creates a non-rectangular boundary for text flow. The empty void left by the shape is the design element. + +**The key insight**: We're not adding an image — we're sculpting the TEXT into a shape. This is extreme minimalism: zero visual assets, maximum visual impact. + +**When to use**: +- Pages that need a "wow" without images +- Section openers, cover alternatives +- Content that thematically connects to a shape (ocean → wave, progress → wedge) +- Pages with moderate text density (100–200 words) — the shape needs room + +**When NOT to use**: +- Dense content pages (shape eats 30–40% of text area → overflow risk) +- Together with `Glass_Canvas` on the same page (backdrop-filter conflicts) +- More than one per page (visual chaos) + +--- + +## Quality Litmus Tests + +Before delivering, every page must pass these: + +| Test | Method | +|------|--------| +| **3-meter test** | Can you read the headline from 3 meters away? (size hierarchy) | +| **Squint test** | Squint at the page — do you see clear dark/light zones? (contrast) | +| **Magazine test** | Could this be a page in Monocle, Kinfolk, or Cereal magazine? (taste) | +| **Removal test** | Can you remove any element without losing meaning? If not, you have too little. If yes, remove it. | +| **Color count** | Count distinct hues. If > 3, you've failed the color axiom. | +| **Saturation check** | Run `design_engine.py audit` — any S > 0.25 on non-accent = violation | +| **Breathing check** | Is there 15% clear margin on all edges? | +| **Consistency** | Do all pages share the same font pairing, color tokens, line thickness, and corner radius? | diff --git a/skills/pdf/references/resume-academic.tex b/skills/pdf/references/resume-academic.tex new file mode 100755 index 0000000..3427839 --- /dev/null +++ b/skills/pdf/references/resume-academic.tex @@ -0,0 +1,130 @@ +% ═══════════════════════════════════════════════════════════ +% Academic CV Template +% Single-column, multi-page, with bibliography support +% ═══════════════════════════════════════════════════════════ +\documentclass[11pt,a4paper]{article} + +\usepackage[top=2cm,bottom=2cm,left=2.5cm,right=2.5cm]{geometry} +\usepackage{enumitem} +\usepackage{titlesec} +\usepackage{fancyhdr} +\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref} +\usepackage{xcolor} +\usepackage[numbers,sort&compress]{natbib} + +% ── Fonts ── +\usepackage[rm]{roboto} +\renewcommand{\familydefault}{\rmdefault} + +% ── Section Formatting ── +\definecolor{accent}{HTML}{1F4E79} +\titleformat{\section} + {\Large\bfseries\color{accent}} % format + {} % label (no number) + {0em} % sep + {\MakeUppercase} % before-code + [\vspace{-0.8em}\color{accent}\rule{\linewidth}{0.8pt}] % after-code (rule) + +\titleformat{\subsection} + {\large\bfseries} + {} + {0em} + {} + +% ── Header/Footer ── +\pagestyle{fancy} +\fancyhf{} +\fancyhead[L]{\small\textcolor{gray}{Curriculum Vitae — Your Name}} +\fancyhead[R]{\small\textcolor{gray}{\thepage}} +\renewcommand{\headrulewidth}{0.4pt} +\fancyfoot{} + +\setlength{\parindent}{0pt} +\setlist{nosep,leftmargin=1.5em} + +% ── CV Entry command ── +\newcommand{\cventry}[4]{% + \textbf{#1}\hfill\textit{#2}\\ + #3\hfill#4\par\smallskip +} + +\begin{document} + +% ── Header ── +\begin{center} +{\LARGE\bfseries Your Full Name, Ph.D.}\par\smallskip +{\small +Department of Computer Science, Tsinghua University\\ +Beijing, China 100084\\ +\href{mailto:name@tsinghua.edu.cn}{name@tsinghua.edu.cn} +\quad|\quad +\href{https://yoursite.com}{yoursite.com} +\quad|\quad +ORCID: \href{https://orcid.org/0000-0000-0000-0000}{0000-0000-0000-0000} +}\par +\end{center} + +\section{Research Interests} +Large-scale distributed systems, graph neural networks, efficient inference for large language models, and privacy-preserving machine learning. + +\section{Education} +\cventry{Ph.D. in Computer Science}{2017 -- 2022}{Stanford University}{Stanford, CA} +Advisor: Prof.\ Jane Smith\\ +Dissertation: \textit{Scalable Graph Processing in Heterogeneous Computing Environments} + +\smallskip +\cventry{B.Eng. in Software Engineering}{2013 -- 2017}{Zhejiang University}{Hangzhou, China} +First Class Honours, GPA: 3.9/4.0 + +\section{Academic Appointments} +\cventry{Assistant Professor}{2022 -- Present}{Tsinghua University, Dept.\ of CS}{Beijing} +\cventry{Postdoctoral Researcher}{2022}{Stanford University, InfoLab}{Stanford, CA} + +\section{Selected Publications} + +\subsection{Journal Articles} +\begin{enumerate}[label={[J\arabic*]}] +\item \textbf{Your Name}, A.\ Coauthor, and B.\ Coauthor. ``Title of journal paper.'' \textit{IEEE Transactions on Knowledge and Data Engineering}, vol.\ 35, no.\ 4, pp.\ 1234--1248, 2023. +\item C.\ Coauthor and \textbf{Your Name}. ``Another journal paper.'' \textit{ACM Computing Surveys}, vol.\ 55, no.\ 2, pp.\ 1--35, 2023. +\end{enumerate} + +\subsection{Conference Papers} +\begin{enumerate}[label={[C\arabic*]}] +\item \textbf{Your Name} and D.\ Coauthor. ``Title of conference paper.'' In \textit{Proc.\ NeurIPS 2023}, pp.\ 5678--5690. +\item \textbf{Your Name}, E.\ Coauthor, and F.\ Coauthor. ``Another conference paper.'' In \textit{Proc.\ ICML 2022}, pp.\ 3456--3468. +\end{enumerate} + +\section{Grants \& Funding} +\cventry{NSFC Young Scientist Fund}{2023 -- 2025}{Principal Investigator}{¥300,000} +Project: Efficient Graph Neural Network Training on Heterogeneous Hardware + +\section{Teaching} +\cventry{CS101: Introduction to Programming}{Fall 2022, 2023}{Tsinghua University}{120 students} +\cventry{CS502: Advanced Distributed Systems}{Spring 2023}{Tsinghua University}{45 students} + +\section{Professional Service} +\begin{itemize} +\item \textbf{Program Committee}: NeurIPS 2023, ICML 2023, KDD 2022--2023 +\item \textbf{Reviewer}: IEEE TKDE, ACM TODS, VLDB Journal +\item \textbf{Session Chair}: SIGMOD 2023 (Graph Processing) +\end{itemize} + +\section{Awards \& Honours} +\begin{itemize} +\item Best Paper Award, KDD 2022 +\item Stanford Graduate Fellowship, 2017--2019 +\item National Scholarship, Ministry of Education, China, 2016 +\end{itemize} + +\section{Skills} +\textbf{Programming:} Python, C++, Rust, CUDA\\ +\textbf{Frameworks:} PyTorch, TensorFlow, Apache Spark, DGL\\ +\textbf{Languages:} Chinese (native), English (fluent), Japanese (basic) + +\hypersetup{ + pdftitle={CV - Your Name}, + pdfauthor={Z.ai}, + pdfsubject={Academic Curriculum Vitae}, +} + +\end{document} diff --git a/skills/pdf/references/resume-altacv.tex b/skills/pdf/references/resume-altacv.tex new file mode 100755 index 0000000..4edf73a --- /dev/null +++ b/skills/pdf/references/resume-altacv.tex @@ -0,0 +1,190 @@ +% ═══════════════════════════════════════════════════════════ +% AltaCV-Style Creative Resume Template +% Based on AltaCV by LianTze Lim, adapted for Tectonic +% ═══════════════════════════════════════════════════════════ +\documentclass[10pt,a4paper]{article} + +% ── Packages ── +\usepackage[margin=1.25cm,columnsep=1.2cm]{geometry} +\usepackage{paracol} % dual-column that breaks across pages +\usepackage[fixed]{fontawesome5} +\usepackage{tikz} +\usepackage{xcolor} +\usepackage{enumitem} +\usepackage{graphicx} +\usepackage{dashrule} +\usepackage[colorlinks=true,urlcolor=accent,linkcolor=accent,bookmarks=false]{hyperref} + +% ── Colour System (change these to retheme) ── +\definecolor{accent}{HTML}{3B82F6} % blue — primary accent +\definecolor{emphasis}{HTML}{2E2E2E} % near-black — job titles, strong text +\definecolor{heading}{HTML}{1E293B} % dark slate — section headings +\definecolor{headingrule}{HTML}{3B82F6} % matches accent +\definecolor{body}{HTML}{4B5563} % gray-600 — body text +\definecolor{tagbg}{HTML}{EFF6FF} % light blue — tag background +\definecolor{subheading}{HTML}{3B82F6} % matches accent + +% ── Fonts ── +\usepackage[rm]{roboto} +\usepackage[defaultsans]{lato} +\renewcommand{\familydefault}{\sfdefault} + +% ── List Settings ── +\setlist{leftmargin=*,labelsep=0.5em,nosep,itemsep=0.25\baselineskip,after=\vspace{0.25\baselineskip}} +\setlist[itemize]{label={\small\textbullet}} + +\setlength{\parindent}{0pt} + +% ── Custom Commands ── + +% Divider (dashed line between entries) +\newcommand{\divider}{\textcolor{body!30}{\hdashrule{\linewidth}{0.6pt}{0.5ex}}\medskip} + +% Section heading with rule +\newcommand{\cvsection}[1]{% + \nointerlineskip\bigskip% + {\color{heading}\Large\bfseries\MakeUppercase{#1}}\\[-1ex]% + {\color{headingrule}\rule{\linewidth}{2pt}\par}\medskip +} + +% Experience entry: {title}{company}{dates}{location} +\newcommand{\cvevent}[4]{% + {\large\color{emphasis}\bfseries #1\par}% + \smallskip\normalsize + \ifx&\else{\textbf{\color{accent}#2}\par\smallskip}\fi% + \ifx&\else{% + \small\makebox[0.5\linewidth][l]{\faCalendar[regular]~#3}% + }\fi% + \ifx&\else{% + \small\makebox[0.5\linewidth][l]{\faMapMarker~#4}% + }\fi\par% + \medskip\normalsize +} + +% Skill rating dots: {name}{level 1-5, supports X.5} +\newcommand{\cvskill}[2]{% + \textcolor{emphasis}{\textbf{#1}}\hfill + \foreach \x in {1,...,5}{% + \ifdimgreater{\x pt}{#2 pt}{\color{body!30}}{\color{accent}}\faCircle + }\par% +} + +% Tag label (rounded rectangle) +\newcommand{\cvtag}[1]{% + \tikz[baseline]\node[anchor=base,draw=body!30,rounded corners,inner xsep=1ex,inner ysep=0.75ex,text height=1.5ex,text depth=.25ex]{#1};% +} + +% Achievement: {icon}{title}{description} +\newcommand{\cvachievement}[3]{% + \begin{tabular}{@{}p{2em} @{\hspace{1ex}} p{\dimexpr\linewidth-3em}@{}} + {\Large\color{accent}#1} & \textbf{\color{emphasis}#2}\\ + & {\small #3} + \end{tabular}% + \smallskip +} + +% ═══════════════════════════════════════════════════════════ +\begin{document} + +% ── Header ── +\begin{center} +{\Huge\bfseries\color{heading} YOUR NAME}\par\medskip +{\large\bfseries\color{accent} Full-Stack Engineer | Open Source Contributor}\par\medskip +{\footnotesize\bfseries +\faAt~\href{mailto:name@email.com}{name@email.com}\hspace{2em} +\faPhone~+86 138-0000-0000\hspace{2em} +\faGithub~\href{https://github.com/username}{username}\hspace{2em} +\faLinkedin~\href{https://linkedin.com/in/username}{username}\hspace{2em} +\faMapMarker~Shanghai, China +}\par +\end{center} + +\medskip + +% ── Two Columns ── +\columnratio{0.62} +\begin{paracol}{2} + +% ════════ LEFT COLUMN (Experience + Projects) ════════ +\cvsection{Experience} + +\cvevent{Senior Software Engineer}{Zhipu AI}{Jan 2022 -- Present}{Beijing} +\begin{itemize} +\item Architected real-time inference pipeline serving 10M+ daily requests with p99 latency < 50ms +\item Led migration from monolith to microservices, reducing deployment cycle from weekly to hourly +\item Designed A/B testing framework enabling 30\% faster feature iteration across 5 product teams +\end{itemize} + +\divider + +\cvevent{Software Engineer}{ByteDance}{Jul 2019 -- Dec 2021}{Beijing} +\begin{itemize} +\item Built recommendation engine (collaborative filtering + deep learning) improving CTR by 25\% +\item Implemented distributed training pipeline on 64-GPU cluster, reducing training time by 60\% +\end{itemize} + +\cvsection{Projects} + +\cvevent{Open Source Project}{\href{https://github.com/user/project}{github.com/user/project}}{}{} +\begin{itemize} +\item High-performance async HTTP framework — 5,000+ GitHub stars +\item Featured in Awesome-Go and HackerNews front page +\end{itemize} + +% ════════ RIGHT COLUMN (Education + Skills + Languages) ════════ +\switchcolumn + +\cvsection{Education} + +\cvevent{M.Sc. Computer Science}{Tsinghua University}{2017 -- 2019}{} +Thesis: Distributed Graph Processing\\ +GPA: 3.8/4.0 + +\divider + +\cvevent{B.Eng. Software Engineering}{Zhejiang University}{2013 -- 2017}{} + +\cvsection{Skills} + +\cvskill{Python}{5} +\divider +\cvskill{Go / Rust}{4} +\divider +\cvskill{System Design}{4.5} +\divider +\cvskill{Machine Learning}{3.5} + +\medskip + +\cvtag{Kubernetes} +\cvtag{Docker} +\cvtag{Kafka}\\ +\cvtag{PostgreSQL} +\cvtag{Redis} +\cvtag{gRPC}\\ +\cvtag{React} +\cvtag{TypeScript} +\cvtag{Terraform} + +\cvsection{Languages} + +\cvskill{English}{4.5} +\divider +\cvskill{Chinese (Native)}{5} + +\cvsection{Highlights} + +\cvachievement{\faTrophy}{ACM ICPC Regional Gold}{2016 Asia Regional Contest} +\divider +\cvachievement{\faGithub}{5,000+ Stars OSS}{Maintainer of popular async framework} + +\end{paracol} + +% ── PDF Metadata ── +\hypersetup{ + pdftitle={Resume - Your Name}, + pdfauthor={Z.ai}, + pdfsubject={Professional Resume}, +} + +\end{document} diff --git a/skills/pdf/scripts/cover_validate.js b/skills/pdf/scripts/cover_validate.js new file mode 100755 index 0000000..89b77a7 --- /dev/null +++ b/skills/pdf/scripts/cover_validate.js @@ -0,0 +1,367 @@ +#!/usr/bin/env node +/** + * cover_validate.js — Cover page overlap detection via Playwright rendering + * + * Detects text-vs-decorative-line overlap on cover HTML pages by: + * 1. Rendering the HTML in Playwright + * 2. Waiting for fonts to load + * 3. Measuring bounding boxes of text elements and decorative line elements + * 4. Checking for Y-axis overlap (minimum spacing = 1U = 5% of page width ≈ 30pt) + * + * Usage: + * node cover_validate.js cover.html + * node cover_validate.js cover.html --width 210mm --height 297mm + * node cover_validate.js cover.html --min-gap 30 # custom min gap in px (default: auto = 5% of width) + * + * Exit codes: + * 0 = no overlap issues found + * 1 = overlap detected (prints details to stderr) + * 2 = script error (missing file, browser launch failure, etc.) + * + * This script is ONLY for cover pages. Do NOT use it on: + * - Multi-page documents (use html2pdf-next.js pre-render checks) + * - Posters (use html2poster.js which handles overflow automatically) + */ + +'use strict'; + +const fs = require('fs'); +const path = require('path'); + +// ── Playwright import ── + +let playwright; +try { + playwright = require('playwright'); +} catch { + try { + playwright = require('playwright-core'); + } catch { + console.error('✗ Neither playwright nor playwright-core is installed.'); + process.exit(2); + } +} + +// ── Chromium resolution (shared logic with html2poster.js) ── + +function resolveChromium(chromiumObj) { + let exe; + try { exe = chromiumObj.executablePath(); } catch (_) { exe = null; } + if (exe && fs.existsSync(exe)) return { status: 'ok', executablePath: exe }; + + const candidates = [ + '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', + '/Applications/Chromium.app/Contents/MacOS/Chromium', + '/usr/bin/chromium-browser', '/usr/bin/chromium', '/usr/bin/google-chrome', + ]; + if (process.env.PLAYWRIGHT_CHROMIUM_PATH) candidates.unshift(process.env.PLAYWRIGHT_CHROMIUM_PATH); + + for (const c of candidates) { + if (fs.existsSync(c)) return { status: 'fallback', executablePath: c }; + } + return { status: 'missing', executablePath: exe || '' }; +} + +// ── CLI parsing ── + +function parseArgs(argv) { + const tokens = argv.slice(2); + let input = null, width = '210mm', height = '297mm', minGap = null; + + for (let i = 0; i < tokens.length; i++) { + const t = tokens[i]; + if (t === '--width') width = tokens[++i]; + else if (t === '--height') height = tokens[++i]; + else if (t === '--min-gap') minGap = parseFloat(tokens[++i]); + else if (t === '--help' || t === '-h') { + console.log(`Usage: node cover_validate.js <cover.html> [options] + +Options: + --width <val> Page width (default: 210mm) + --height <val> Page height (default: 297mm) + --min-gap <px> Minimum gap between text and decorative lines (default: 5% of width) + --help Show this help`); + process.exit(0); + } else if (!t.startsWith('-') && !input) { + input = t; + } + } + return { input, width, height, minGap }; +} + +// ── Convert CSS dimension string to px for viewport ── + +function dimToPx(dim) { + if (!dim) return null; + const s = String(dim).trim(); + const num = parseFloat(s); + if (s.endsWith('mm')) return Math.round(num * 3.7795); // 1mm ≈ 3.7795px at 96dpi + if (s.endsWith('cm')) return Math.round(num * 37.795); + if (s.endsWith('in')) return Math.round(num * 96); + if (s.endsWith('px') || !isNaN(num)) return Math.round(num); + return null; +} + +// ── Decorative line detection heuristics ── +// A decorative line is an element that: +// - Is very thin in one dimension (height ≤ 5px or width ≤ 5px) +// - OR is an <hr> element +// - OR has a large aspect ratio (> 10:1 or < 1:10) +// - AND is not inside a text element + +const DECORATIVE_LINE_DETECTION = ` +(function detectOverlaps(minGapPx) { + // Collect all elements + const allElements = document.querySelectorAll('*'); + + const textElements = []; + const lineElements = []; + + // Classify elements + for (const el of allElements) { + const rect = el.getBoundingClientRect(); + if (rect.width === 0 || rect.height === 0) continue; + + const tag = el.tagName.toLowerCase(); + const style = getComputedStyle(el); + + // Skip invisible elements + if (style.display === 'none' || style.visibility === 'hidden' || style.opacity === '0') continue; + + // Detect decorative lines + const isHR = tag === 'hr'; + const isThinH = rect.height <= 5 && rect.width > 20; // thin horizontal line + const isThinV = rect.width <= 5 && rect.height > 20; // thin vertical line + const aspectH = rect.width / rect.height; + const aspectV = rect.height / rect.width; + const isWideRatio = aspectH > 15 && rect.height <= 8; // very wide, very thin + const isTallRatio = aspectV > 15 && rect.width <= 8; // very tall, very thin + + // Check if element has only border (no text content, no background image) + const hasOnlyBorder = ( + el.textContent.trim() === '' && + style.backgroundImage === 'none' && + (style.borderTopWidth !== '0px' || style.borderBottomWidth !== '0px' || + style.borderLeftWidth !== '0px' || style.borderRightWidth !== '0px') + ); + const isBorderLine = hasOnlyBorder && (rect.height <= 8 || rect.width <= 8); + + if (isHR || isThinH || isThinV || isWideRatio || isTallRatio || isBorderLine) { + lineElements.push({ + tag: tag, + class: el.className || '', + rect: { x: rect.x, y: rect.y, width: rect.width, height: rect.height }, + type: isThinH || isWideRatio ? 'horizontal' : (isThinV || isTallRatio ? 'vertical' : (rect.width >= rect.height ? 'horizontal' : 'vertical')), + }); + continue; + } + + // Detect text elements (has direct text content or is a heading/paragraph) + const textTags = ['h1','h2','h3','h4','h5','h6','p','span','a','li','td','th','label','summary']; + const hasDirectText = Array.from(el.childNodes).some(n => n.nodeType === 3 && n.textContent.trim()); + + if (textTags.includes(tag) || hasDirectText) { + // Skip if this is inside a decorative element + if (rect.height < 3) continue; + + textElements.push({ + tag: tag, + class: el.className || '', + text: el.textContent.trim().substring(0, 60), + rect: { x: rect.x, y: rect.y, width: rect.width, height: rect.height }, + }); + } + } + + // De-duplicate: if a parent and child text element both overlap the same line, + // only keep the more specific (smaller) one to avoid duplicate reports. + // Sort text elements by area (smallest first) so we can skip parents. + textElements.sort((a, b) => (a.rect.width * a.rect.height) - (b.rect.width * b.rect.height)); + + // Check overlaps between text elements and line elements + const overlaps = []; + const reportedPairs = new Set(); // track "lineIndex:textContent" to deduplicate + + for (const text of textElements) { + for (const line of lineElements) { + const tr = text.rect; + const lr = line.rect; + + if (line.type === 'horizontal') { + // Check vertical overlap/proximity + const textTop = tr.y; + const textBottom = tr.y + tr.height; + const lineTop = lr.y; + const lineBottom = lr.y + lr.height; + + // Check horizontal overlap (they must share some X range) + const xOverlap = !(tr.x + tr.width < lr.x || lr.x + lr.width < tr.x); + if (!xOverlap) continue; + + // Calculate vertical gap + let vGap; + if (lineTop >= textBottom) { + vGap = lineTop - textBottom; // line is below text + } else if (textTop >= lineBottom) { + vGap = textTop - lineBottom; // line is above text + } else { + vGap = 0; // overlapping + } + + if (vGap < minGapPx) { + // De-dup: same line region, only report the smallest (most specific) text element + const lineKey = 'h:' + Math.round(lr.x) + ',' + Math.round(lr.y); + if (!reportedPairs.has(lineKey)) { + reportedPairs.add(lineKey); + overlaps.push({ + text: text.text, + textTag: text.tag, + textClass: text.class, + textRect: tr, + lineTag: line.tag, + lineClass: line.class, + lineRect: lr, + lineType: line.type, + gap: Math.round(vGap * 10) / 10, + required: minGapPx, + }); + } + } + } else if (line.type === 'vertical') { + // Check horizontal overlap/proximity + const textLeft = tr.x; + const textRight = tr.x + tr.width; + const lineLeft = lr.x; + const lineRight = lr.x + lr.width; + + // Check vertical overlap (they must share some Y range) + const yOverlap = !(tr.y + tr.height < lr.y || lr.y + lr.height < tr.y); + if (!yOverlap) continue; + + // Calculate horizontal gap + let hGap; + if (lineLeft >= textRight) { + hGap = lineLeft - textRight; + } else if (textLeft >= lineRight) { + hGap = textLeft - lineRight; + } else { + hGap = 0; + } + + if (hGap < minGapPx) { + const lineKey = 'v:' + Math.round(lr.x) + ',' + Math.round(lr.y); + if (!reportedPairs.has(lineKey)) { + reportedPairs.add(lineKey); + overlaps.push({ + text: text.text, + textTag: text.tag, + textClass: text.class, + textRect: tr, + lineTag: line.tag, + lineClass: line.class, + lineRect: lr, + lineType: line.type, + gap: Math.round(hGap * 10) / 10, + required: minGapPx, + }); + } + } + } + } + } + + return { + textElements: textElements.length, + lineElements: lineElements.length, + overlaps: overlaps, + }; +}) +`; + +// ── Main ── + +async function main() { + const { input, width, height, minGap } = parseArgs(process.argv); + + if (!input) { + console.error('✗ No input file specified. Usage: node cover_validate.js cover.html'); + process.exit(2); + } + + const absIn = path.resolve(input); + if (!fs.existsSync(absIn)) { + console.error(`✗ File not found: ${absIn}`); + process.exit(2); + } + + const widthPx = dimToPx(width) || 794; // A4 width in px + const heightPx = dimToPx(height) || 1123; // A4 height in px + const gap = minGap || Math.round(widthPx * 0.05); // 1U = 5% of page width + + console.log(`🔍 cover_validate — Cover overlap detection`); + console.log(` Input: ${absIn}`); + console.log(` Page: ${widthPx}×${heightPx}px`); + console.log(` Min gap: ${gap}px (1U)`); + + const { chromium } = playwright; + const bInfo = resolveChromium(chromium); + + if (bInfo.status === 'missing') { + console.error('✗ No Chromium found. Install via: npx playwright install chromium'); + process.exit(2); + } + + let browser; + try { + const opts = { headless: true }; + if (bInfo.status === 'fallback') opts.executablePath = bInfo.executablePath; + browser = await chromium.launch(opts); + } catch (err) { + console.error(`✗ Browser launch failed: ${err.message}`); + process.exit(2); + } + + try { + const page = await browser.newPage({ viewport: { width: widthPx, height: heightPx } }); + await page.goto('file://' + absIn, { waitUntil: 'networkidle' }); + console.log(` ✓ HTML loaded`); + + // Wait for fonts + const fontsLoaded = await page.evaluate(() => + document.fonts.ready.then(() => document.fonts.size) + ).catch(() => 0); + console.log(` ✓ Fonts: ${fontsLoaded} loaded`); + + // Run overlap detection + const result = await page.evaluate(`(${DECORATIVE_LINE_DETECTION})(${gap})`); + + console.log(` ✓ Found ${result.textElements} text elements, ${result.lineElements} decorative lines`); + + if (result.overlaps.length === 0) { + console.log(`\n ✅ No overlap issues found`); + process.exit(0); + } + + // Report overlaps + console.error(`\n ❌ Found ${result.overlaps.length} text-line overlap(s):\n`); + + for (const o of result.overlaps) { + const direction = o.lineType === 'vertical' ? 'horizontal' : 'vertical'; + console.error(` ERROR: ${direction} gap = ${o.gap}px (required ≥ ${o.required}px)`); + console.error(` Text: <${o.textTag}> "${o.text}" @ y=${Math.round(o.textRect.y)}-${Math.round(o.textRect.y + o.textRect.height)}`); + console.error(` Line: <${o.lineTag}${o.lineClass ? '.' + o.lineClass.split(' ')[0] : ''}> [${o.lineType}] @ y=${Math.round(o.lineRect.y)}-${Math.round(o.lineRect.y + o.lineRect.height)}`); + console.error(` Fix: Move the decorative line at least ${Math.ceil(o.required - o.gap)}px away from the text.`); + console.error(''); + } + + process.exit(1); + + } finally { + await browser.close(); + } +} + +main().catch(err => { + console.error(`✗ Unexpected error: ${err.message}`); + process.exit(2); +}); diff --git a/skills/pdf/scripts/design_engine.py b/skills/pdf/scripts/design_engine.py new file mode 100755 index 0000000..bcbcccd --- /dev/null +++ b/skills/pdf/scripts/design_engine.py @@ -0,0 +1,2816 @@ +#!/usr/bin/env python3 +""" +design_engine.py — Aesthetic computation engine for art-direction-first PDF production. + +Philosophy: The LLM handles narrative and composition; this script handles the math +that models get wrong — precise color harmony, algorithmic SVG, and spatial tension. + +Three core functions: + 1. generate_color_palette(intent) — HSL-locked low-saturation palettes + 2. generate_generative_svg(svg_type) — Algorithmic art backgrounds + 3. calculate_layout(elements) — Deliberate offset/overlap coordinates + +Usage: + python3 design_engine.py palette --intent calm --mode dark + python3 design_engine.py palette --intent tension --mode light + python3 design_engine.py svg --intent flow --dimensions 720x960 + python3 design_engine.py svg --intent grid --dimensions 720x960 + python3 design_engine.py layout --elements hero,body,meta --dimensions 720x960 --style offset + python3 design_engine.py full --intent energy --mode dark --dimensions 720x960 --output-dir ./assets/ +""" + +import argparse +import colorsys +import json +import math +import os +import random +import sys + +# ═══════════════════════════════════════════════════════════════════════ +# 1. COLOR PALETTE — HSL with Saturation Clamped to [0.05, 0.25] +# ═══════════════════════════════════════════════════════════════════════ +# +# Core constraint: Saturation MUST be between 0.05 and 0.25. +# This eliminates candy-colored, web-app-looking outputs and locks +# everything into the "high-end grey" (高级灰) tonal range. +# +# Two modes: +# - Dark: background L < 0.10, text L > 0.85 +# - Light: background L > 0.95, text L < 0.15 +# The "muddy middle" (L between 0.30 and 0.70) is forbidden for backgrounds. + +# Intent → base hue mapping (degrees on the HSL wheel) +# 5 intents: Calm, Tension, Energy, Authority, Warmth +# Plus utility intents (nature, cold, neutral) for keyword auto-derive +INTENT_HUES = { + "calm": 210, # Steel blue-grey, low saturation (merges old serenity+minimalism) + "tension": 0, # Warm near-black vs cold + "energy": 30, # Amber undertone + "authority": 280, # Muted violet, formal/premium (replaces old elegance) + "warmth": 20, # Terracotta undertone + # Utility intents (for keyword auto-derive, not exposed in UI) + "nature": 150, # Desaturated sage + "cold": 200, # Slate blue + "neutral": 45, # Warm grey + # Legacy aliases (backward compatibility) + "serenity": 210, # → calm + "elegance": 280, # → authority + "minimalism": 0, # → calm (achromatic variant) +} + +# Theme keywords → intent mapping (for auto-derive from document description) +# When the user doesn't specify an intent, scan the document title/description +# for these keywords and map to the closest intent. +THEME_KEYWORDS = { + # Technology / Data / Analytics + "tech": "cold", "数据": "cold", "data": "cold", "AI": "cold", + "科技": "cold", "digital": "cold", "analytics": "cold", "分析": "cold", + # Nature / Environment / Sustainability + "green": "nature", "绿色": "nature", "环保": "nature", "eco": "nature", + "sustainability": "nature", "生态": "nature", "forest": "nature", + # Business / Finance / Corporate + "report": "neutral", "报告": "neutral", "finance": "neutral", "财务": "neutral", + "annual": "neutral", "年度": "neutral", "corporate": "neutral", + # Creative / Marketing / Social + "marketing": "energy", "运营": "energy", "social": "energy", "品牌": "energy", + "campaign": "energy", "活动": "energy", "launch": "energy", + # Authority / Formal / Premium / Luxury + "luxury": "authority", "奢华": "authority", "fashion": "authority", "时尚": "authority", + "premium": "authority", "高端": "authority", "gala": "authority", + "formal": "authority", "正式": "authority", "professional": "authority", "专业": "authority", + "government": "authority", "政府": "authority", "bidding": "authority", "投标": "authority", + "政府报告": "authority", "政府文书": "authority", "公文": "authority", + "thesis": "authority", "毕业论文": "authority", "dissertation": "authority", + "开题": "authority", "开题报告": "authority", "proposal": "authority", "学位": "authority", + # Calm / Meditation / Healthcare / Minimalist + "health": "calm", "健康": "calm", "meditation": "calm", + "wellness": "calm", "calm": "calm", "医疗": "calm", + "minimalist": "calm", "极简": "calm", "simple": "calm", "简约": "calm", + # Urgent / Warning / Emergency + "urgent": "tension", "warning": "tension", "紧急": "tension", + "alert": "tension", "crisis": "tension", + # Warm / Food / Lifestyle + "food": "warmth", "美食": "warmth", "lifestyle": "warmth", + "生活": "warmth", "home": "warmth", "家居": "warmth", +} + + +def derive_intent(text): + """ + Auto-derive design intent from document title/description. + Scans for theme keywords and returns the best-matching intent. + Falls back to 'neutral' if no keywords match. + + Usage: + python3 design_engine.py derive "Social Media Operations Monthly Report" → energy + python3 design_engine.py derive "2025 Annual Sustainability Report" → nature + """ + text_lower = text.lower() + scores = {} + for keyword, intent in THEME_KEYWORDS.items(): + if keyword.lower() in text_lower: + scores[intent] = scores.get(intent, 0) + 1 + if not scores: + return "neutral" + # When tied, prefer specific intents over 'neutral' (which is a generic fallback) + max_score = max(scores.values()) + top_intents = [k for k, v in scores.items() if v == max_score] + if len(top_intents) > 1 and "neutral" in top_intents: + top_intents.remove("neutral") + return top_intents[0] + +# Intent → recommended harmony mapping (reduces LLM decision burden) +# Used as fallback when LLM doesn't specify color_harmony +INTENT_HARMONY_MAP = { + "calm": "analogous", # peaceful, flowing transition (merges serenity+minimalism) + "tension": "complementary", # maximum visual conflict + "energy": "triadic", # vibrant, multi-directional + "authority": "split_complementary", # sophisticated, formal (replaces elegance) + "warmth": "analogous", # natural, earthy cohesion + # Utility intents + "nature": "analogous", # organic harmony + "cold": "split_complementary", # icy precision with subtle warmth + "neutral": "split_complementary", # safe default, still interesting + # Legacy aliases + "serenity": "analogous", + "elegance": "split_complementary", + "minimalism": "monochrome", +} + +def _hsl_to_hex(h, s, l): + """Convert HSL (h: 0-360, s: 0-1, l: 0-1) to hex string.""" + r, g, b = colorsys.hls_to_rgb(h / 360.0, l, s) + return f"#{int(r*255):02x}{int(g*255):02x}{int(b*255):02x}" + + +# Muddy / ugly hue zones that produce unattractive accent colors at medium saturation. +# These hue ranges tend to look "dirty" or "sickly" — yellow-green, brown-orange, etc. +# When an accent lands here, we nudge it to the nearest attractive neighbor. +_UGLY_HUE_ZONES = [ + # (start, end, nudge_low, nudge_high) — hues that look muddy + # at S 0.4-0.7, L 0.35-0.55. When accent lands here, redirect. + (28, 105, 15, 120), # Dirty yellow/brown/olive/yellow-green zone + # nudge_low=15 (warm red-orange), nudge_high=120 (true green) +] + + +def _sanitize_accent_hue(hue): + """Nudge accent hue away from muddy/ugly zones toward attractive neighbors.""" + hue = hue % 360 + for start, end, nudge_low, nudge_high in _UGLY_HUE_ZONES: + if start <= hue <= end: + mid = (start + end) / 2 + return nudge_low if hue < mid else nudge_high + return hue + +def _hex_to_rgb(hex_str): + """Convert hex to 'r,g,b' string for rgba() usage.""" + hex_str = hex_str.lstrip('#') + return f"{int(hex_str[0:2], 16)},{int(hex_str[2:4], 16)},{int(hex_str[4:6], 16)}" + +def _relative_luminance(hex_str): + """WCAG 2.1 relative luminance from hex color.""" + hex_str = hex_str.lstrip('#') + channels = [] + for i in (0, 2, 4): + c = int(hex_str[i:i+2], 16) / 255.0 + channels.append(c / 12.92 if c <= 0.04045 else ((c + 0.055) / 1.055) ** 2.4) + return 0.2126 * channels[0] + 0.7152 * channels[1] + 0.0722 * channels[2] + +def _contrast_ratio(hex1, hex2): + """WCAG contrast ratio between two hex colors.""" + l1, l2 = _relative_luminance(hex1), _relative_luminance(hex2) + lighter, darker = max(l1, l2), min(l1, l2) + return (lighter + 0.05) / (darker + 0.05) + +def generate_color_palette(intent="neutral", mode="minimal", harmony=None, seed=None): + """ + Generative Color Harmony Engine — geometric accent computation + 5 aesthetic modes. + + LLM is FORBIDDEN from specifying HEX/RGB. It only selects: + - intent → base hue (from INTENT_HUES) + - mode → S/L physical boundaries (minimal/dark/pastel/jewel/light) + - harmony → accent hue geometry (auto-recommended from intent if omitted) + + Returns dict with: + - bg: 60% — dominant ground + - mid: 30% — structural shade + - accent: 10% — geometric harmony emphasis + - text: primary text color + - muted: secondary/caption text + - surface: card/container background (translucent) + """ + if seed is not None: + random.seed(seed) + + # Auto-recommend harmony from intent if not specified + if harmony is None or harmony == "auto": + harmony = INTENT_HARMONY_MAP.get(intent, "split_complementary") + + base_hue = INTENT_HUES.get(intent, random.randint(0, 359)) + + # 1. Geometric Accent Hue Derivation + if harmony == "complementary": + accent_hue = (base_hue + 180) % 360 + elif harmony == "split_complementary": + accent_hue = (base_hue + random.choice([150, 210])) % 360 + elif harmony == "triadic": + accent_hue = (base_hue + random.choice([120, 240])) % 360 + elif harmony == "analogous": + accent_hue = (base_hue + random.choice([30, -30, 45, -45])) % 360 + else: # monochrome + accent_hue = base_hue + + # Sanitize accent hue — avoid muddy yellow-green and brown-orange zones + accent_hue = _sanitize_accent_hue(accent_hue) + + # 2. Five Aesthetic Modes — hard-lock S and L boundaries + if mode == "minimal": + # DEFAULT for 50%+ of documents. Editorial paper tone + high-purity accent. + # bg has visible tint (S 0.08-0.15, L 0.92-0.96) — not dead white. + is_warm = random.choice([True, False]) + paper_hue = random.randint(35, 45) if is_warm else random.randint(200, 215) + bg = _hsl_to_hex(paper_hue, random.uniform(0.08, 0.15), random.uniform(0.92, 0.96)) + mid = _hsl_to_hex(paper_hue, random.uniform(0.10, 0.18), random.uniform(0.85, 0.90)) + accent = _hsl_to_hex(accent_hue, random.uniform(0.55, 0.72), random.uniform(0.42, 0.52)) + text = _hsl_to_hex(paper_hue, 0.05, random.uniform(0.10, 0.15)) + muted = _hsl_to_hex(paper_hue, 0.05, random.uniform(0.45, 0.55)) + surface = f"rgba(0,0,0,{random.uniform(0.01, 0.03):.2f})" + + elif mode == "dark": + # Cyber/tech: ultra-low saturation, ultra-low lightness + bg = _hsl_to_hex(base_hue, random.uniform(0.04, 0.10), random.uniform(0.04, 0.08)) + mid = _hsl_to_hex(base_hue, random.uniform(0.08, 0.15), random.uniform(0.12, 0.20)) + accent = _hsl_to_hex(accent_hue, random.uniform(0.45, 0.60), random.uniform(0.52, 0.62)) + text = _hsl_to_hex(base_hue, 0.05, random.uniform(0.88, 0.95)) + muted = _hsl_to_hex(base_hue, 0.05, random.uniform(0.45, 0.55)) + surface = f"rgba(255,255,255,{random.uniform(0.03, 0.06):.2f})" + + elif mode == "pastel": + # Morandi/macaron: medium-low saturation, high lightness + # Accent tightened: S capped at 0.50 to avoid clashing with tinted bg + bg = _hsl_to_hex(base_hue, random.uniform(0.15, 0.35), random.uniform(0.85, 0.92)) + mid = _hsl_to_hex(base_hue, random.uniform(0.20, 0.40), random.uniform(0.75, 0.82)) + accent = _hsl_to_hex(accent_hue, random.uniform(0.38, 0.50), random.uniform(0.38, 0.48)) + text = _hsl_to_hex(base_hue, 0.15, random.uniform(0.15, 0.25)) + muted = _hsl_to_hex(base_hue, 0.20, random.uniform(0.45, 0.55)) + surface = f"rgba(255,255,255,{random.uniform(0.30, 0.50):.2f})" + + elif mode == "jewel": + # Gem/luxury: medium-high saturation bg, accent must NOT compete — lower S, higher L + bg = _hsl_to_hex(base_hue, random.uniform(0.40, 0.60), random.uniform(0.15, 0.25)) + mid = _hsl_to_hex(base_hue, random.uniform(0.40, 0.60), random.uniform(0.25, 0.35)) + accent = _hsl_to_hex(accent_hue, random.uniform(0.30, 0.50), random.uniform(0.65, 0.80)) + text = _hsl_to_hex(base_hue, 0.10, random.uniform(0.90, 0.96)) + muted = _hsl_to_hex(base_hue, 0.20, random.uniform(0.60, 0.70)) + surface = f"rgba(0,0,0,{random.uniform(0.20, 0.40):.2f})" + + else: + # light — noticeably tinted, not dead white (S 0.10-0.20, L 0.91-0.95) + bg = _hsl_to_hex(base_hue, random.uniform(0.10, 0.20), random.uniform(0.91, 0.95)) + mid = _hsl_to_hex(base_hue, random.uniform(0.15, 0.25), random.uniform(0.84, 0.90)) + accent = _hsl_to_hex(accent_hue, random.uniform(0.35, 0.45), random.uniform(0.35, 0.45)) + text = _hsl_to_hex(base_hue, 0.08, random.uniform(0.08, 0.15)) + muted = _hsl_to_hex(base_hue, 0.05, random.uniform(0.45, 0.55)) + surface = f"rgba(0,0,0,{random.uniform(0.02, 0.05):.2f})" + + # 3. WCAG Contrast Safety Net — ensure text:bg ratio ≥ 4.5:1 + text_cr = _contrast_ratio(text, bg) + if text_cr < 4.5: + # Push text darker (light modes) or lighter (dark modes) + r, g, b = (int(bg.lstrip('#')[i:i+2], 16) / 255.0 for i in (0, 2, 4)) + _, bg_l, _ = colorsys.rgb_to_hls(r, g, b) + if bg_l > 0.5: + text = _hsl_to_hex(base_hue, 0.08, 0.08) # force near-black + else: + text = _hsl_to_hex(base_hue, 0.05, 0.95) # force near-white + + # 4. Accent-on-bg visibility check — ensure accent stands out (ratio ≥ 3:1) + accent_cr = _contrast_ratio(accent, bg) + if accent_cr < 3.0: + # Nudge accent lightness away from bg + r, g, b = (int(bg.lstrip('#')[i:i+2], 16) / 255.0 for i in (0, 2, 4)) + _, bg_l, _ = colorsys.rgb_to_hls(r, g, b) + target_l = 0.35 if bg_l > 0.5 else 0.70 + r2, g2, b2 = (int(accent.lstrip('#')[i:i+2], 16) / 255.0 for i in (0, 2, 4)) + _, _, accent_s = colorsys.rgb_to_hls(r2, g2, b2) + accent = _hsl_to_hex(accent_hue, accent_s, target_l) + + return { + "bg": bg, "bg_rgb": _hex_to_rgb(bg), + "mid": mid, "mid_rgb": _hex_to_rgb(mid), + "accent": accent, "accent_rgb": _hex_to_rgb(accent), + "text": text, "muted": muted, + "surface": surface, + "meta": { + "intent": intent, "mode": mode, "harmony": harmony, + "base_hue": base_hue, "accent_hue": accent_hue, + "contrast": { + "text_on_bg": round(_contrast_ratio(text, bg), 2), + "accent_on_bg": round(_contrast_ratio(accent, bg), 2), + } + } + } + +def palette_to_css(palette): + """Convert palette dict to CSS custom properties.""" + return f""":root {{ + /* 60% ground */ + --c-bg: {palette['bg']}; + --c-bg-rgb: {palette['bg_rgb']}; + /* 30% structure */ + --c-mid: {palette['mid']}; + --c-mid-rgb: {palette['mid_rgb']}; + /* 10% emphasis */ + --c-accent: {palette['accent']}; + --c-accent-rgb: {palette['accent_rgb']}; + /* Typography */ + --c-text: {palette['text']}; + --c-muted: {palette['muted']}; + /* Surfaces */ + --c-surface: {palette['surface']}; +}}""" + + +# ═══════════════════════════════════════════════════════════════════════ +# 1b. CASCADE PALETTE — Role-Based Unified Color System +# ═══════════════════════════════════════════════════════════════════════ +# +# Iron Law: Area ∝ 1/Saturation. +# The larger the colored area, the LOWER its saturation must be. +# +# Role tiers by area usage: +# XL (>50% of page): page_bg, section_bg → S ≤ 0.08, near-white/near-black +# L (20-50%): card_bg, table_stripe → S ≤ 0.15 +# M (5-20%): header_fill, sidebar → S ≤ 0.30 +# S (1-5%): border, divider, icon → S ≤ 0.50 +# XS (<1%): accent_dot, badge, tag → S up to 0.75 (the only place high-sat lives) +# +# Every color is derived from one base hue. No orphan colors. + +# Tier saturation caps — enforced at generation AND audit time +CASCADE_TIER_CAPS = { + "xl": 0.08, # Page background, section background + "l": 0.15, # Card background, table stripe + "m": 0.30, # Header fill, sidebar, cover decorative blocks + "s": 0.50, # Borders, dividers, icons, chart grid lines + "xs": 0.75, # Accent dot, badge, tag, data point highlight +} + + +def generate_cascade_palette(intent="neutral", mode="minimal", harmony=None, seed=None): + """ + Generate a role-based palette cascade where every color is derived from one + base hue and saturation is inversely proportional to usage area. + + Returns a dict with: + roles: Complete role table (12 roles, each with hex, hsl, tier, usage_hint) + cover: Subset of roles for cover page rendering + body: Subset of roles for body content + charts: Subset of roles for data visualization + semantic: Low-saturation semantic colors (success, warning, error, info) + meta: Generation metadata (intent, mode, harmony, base_hue, audit) + css: Ready-to-use CSS custom properties + reportlab: Ready-to-paste ReportLab Python code + """ + if seed is not None: + random.seed(seed) + + if harmony is None or harmony == "auto": + harmony = INTENT_HARMONY_MAP.get(intent, "split_complementary") + + base_hue = INTENT_HUES.get(intent, random.randint(0, 359)) + + # Geometric accent hue derivation (same logic as original) + if harmony == "complementary": + accent_hue = (base_hue + 180) % 360 + elif harmony == "split_complementary": + accent_hue = (base_hue + random.choice([150, 210])) % 360 + elif harmony == "triadic": + accent_hue = (base_hue + random.choice([120, 240])) % 360 + elif harmony == "analogous": + accent_hue = (base_hue + random.choice([30, -30, 45, -45])) % 360 + else: # monochrome + accent_hue = base_hue + + # Sanitize accent hue — avoid muddy zones + accent_hue = _sanitize_accent_hue(accent_hue) + + # Secondary hue — between base and accent, for chart variety + secondary_hue = _sanitize_accent_hue( + (base_hue + accent_hue) / 2 if accent_hue != base_hue else (base_hue + 30) % 360 + ) + + # Mode-dependent lightness anchors + is_dark = mode == "dark" + if is_dark: + bg_l_range = (0.04, 0.08) + text_l = random.uniform(0.88, 0.95) + muted_l = random.uniform(0.50, 0.60) + elif mode == "jewel": + bg_l_range = (0.15, 0.25) + text_l = random.uniform(0.90, 0.96) + muted_l = random.uniform(0.60, 0.70) + else: # minimal, pastel, light + bg_l_range = (0.94, 0.97) + text_l = random.uniform(0.08, 0.15) + muted_l = random.uniform(0.45, 0.55) + + # ── Generate all 12 roles ── + roles = {} + + # XL tier: page bg, section bg + roles["page_bg"] = _make_role( + base_hue, random.uniform(0.03, 0.08), random.uniform(*bg_l_range), + "xl", "Page background, full-bleed areas") + roles["section_bg"] = _make_role( + base_hue, random.uniform(0.04, 0.08), + random.uniform(bg_l_range[0] - 0.03, bg_l_range[1] - 0.02) if not is_dark + else random.uniform(0.08, 0.14), + "xl", "Section background, alternating bands") + + # L tier: card bg, table stripe + roles["card_bg"] = _make_role( + base_hue, random.uniform(0.06, 0.14), + random.uniform(0.90, 0.94) if not is_dark else random.uniform(0.10, 0.16), + "l", "Card/container background, table even rows") + roles["table_stripe"] = _make_role( + base_hue, random.uniform(0.05, 0.12), + random.uniform(0.92, 0.96) if not is_dark else random.uniform(0.08, 0.12), + "l", "Table alternating row fill") + + # M tier: header fill, sidebar, cover decorative block + roles["header_fill"] = _make_role( + base_hue, random.uniform(0.15, 0.28), + random.uniform(0.25, 0.40) if not is_dark else random.uniform(0.20, 0.30), + "m", "Table header, sidebar background, cover top bar") + roles["cover_block"] = _make_role( + base_hue, random.uniform(0.12, 0.25), + random.uniform(0.30, 0.45) if not is_dark else random.uniform(0.15, 0.25), + "m", "Cover decorative block, sidebar pillar") + + # S tier: border, divider, icon fill + roles["border"] = _make_role( + base_hue, random.uniform(0.10, 0.25), + random.uniform(0.70, 0.82) if not is_dark else random.uniform(0.25, 0.35), + "s", "Borders, divider lines, chart grid") + roles["icon"] = _make_role( + base_hue, random.uniform(0.25, 0.45), + random.uniform(0.35, 0.50) if not is_dark else random.uniform(0.55, 0.70), + "s", "Icons, bullet points, small UI elements") + + # XS tier: accent, badge, data highlight + roles["accent"] = _make_role( + accent_hue, random.uniform(0.50, 0.70), + random.uniform(0.40, 0.55) if not is_dark else random.uniform(0.55, 0.70), + "xs", "Primary accent: badges, tags, data point highlights, CTA") + roles["accent_secondary"] = _make_role( + secondary_hue, random.uniform(0.40, 0.60), + random.uniform(0.45, 0.58) if not is_dark else random.uniform(0.50, 0.65), + "xs", "Secondary accent: chart series 2, secondary badge") + + # Typography (no tier — text is special) + roles["text_primary"] = _make_role( + base_hue, 0.05, text_l, + "text", "Primary body text") + roles["text_muted"] = _make_role( + base_hue, 0.04, muted_l, + "text", "Captions, footnotes, secondary text") + + # ── Semantic colors (derived from base hue, low-sat) ── + semantic = { + "success": _make_role(140, random.uniform(0.25, 0.40), + random.uniform(0.35, 0.45) if not is_dark else random.uniform(0.55, 0.65), + "xs", "Positive: growth, pass, complete"), + "warning": _make_role(40, random.uniform(0.30, 0.45), + random.uniform(0.40, 0.50) if not is_dark else random.uniform(0.55, 0.65), + "xs", "Caution: pending, alert"), + "error": _make_role(5, random.uniform(0.30, 0.45), + random.uniform(0.40, 0.50) if not is_dark else random.uniform(0.55, 0.65), + "xs", "Negative: decline, fail, error"), + "info": _make_role(210, random.uniform(0.25, 0.40), + random.uniform(0.40, 0.50) if not is_dark else random.uniform(0.55, 0.65), + "xs", "Informational: neutral status"), + } + + # ── WCAG contrast enforcement ── + page_bg_hex = roles["page_bg"]["hex"] + text_hex = roles["text_primary"]["hex"] + if _contrast_ratio(text_hex, page_bg_hex) < 4.5: + if not is_dark: + roles["text_primary"] = _make_role(base_hue, 0.08, 0.08, "text", "Primary body text") + else: + roles["text_primary"] = _make_role(base_hue, 0.05, 0.95, "text", "Primary body text") + + accent_hex = roles["accent"]["hex"] + if _contrast_ratio(accent_hex, page_bg_hex) < 3.0: + # Push accent lightness further from bg + r, g, b = (int(page_bg_hex.lstrip('#')[i:i+2], 16) / 255.0 for i in (0, 2, 4)) + _, bg_l, _ = colorsys.rgb_to_hls(r, g, b) + target_l = 0.35 if bg_l > 0.5 else 0.75 + roles["accent"] = _make_role(accent_hue, random.uniform(0.50, 0.70), target_l, + "xs", "Primary accent: badges, tags, data point highlights, CTA") + + # ── Tier saturation audit (clamp any violations) ── + for name, role in {**roles, **semantic}.items(): + tier = role["tier"] + if tier in CASCADE_TIER_CAPS: + cap = CASCADE_TIER_CAPS[tier] + if role["hsl"][1] > cap: + # Re-generate with capped saturation + capped_s = cap * random.uniform(0.85, 1.0) + fixed = _make_role(role["hsl"][0], capped_s, role["hsl"][2], + tier, role["usage_hint"]) + if name in roles: + roles[name] = fixed + elif name in semantic: + semantic[name] = fixed + + # ── Build convenience subsets ── + cover_subset = { + "background": roles["page_bg"]["hex"], + "top_bar": roles["header_fill"]["hex"], + "sidebar": roles["cover_block"]["hex"], + "accent_line": roles["accent"]["hex"], + "title": roles["text_primary"]["hex"], + "subtitle": roles["text_muted"]["hex"], + "watermark": roles["border"]["hex"], # low-opacity usage + } + + body_subset = { + "page_bg": roles["page_bg"]["hex"], + "section_bg": roles["section_bg"]["hex"], + "card_bg": roles["card_bg"]["hex"], + "table_header": roles["header_fill"]["hex"], + "table_stripe": roles["table_stripe"]["hex"], + "border": roles["border"]["hex"], + "heading": roles["text_primary"]["hex"], + "body_text": roles["text_primary"]["hex"], + "caption": roles["text_muted"]["hex"], + "highlight": roles["accent"]["hex"], + } + + chart_subset = { + "series_1": roles["accent"]["hex"], + "series_2": roles["accent_secondary"]["hex"], + "series_3": roles["header_fill"]["hex"], + "series_4": roles["icon"]["hex"], + "series_5": roles["cover_block"]["hex"], + "grid": roles["border"]["hex"], + "axis_text": roles["text_muted"]["hex"], + "label": roles["text_primary"]["hex"], + "up": semantic["success"]["hex"], + "down": semantic["error"]["hex"], + } + + # ── Generate outputs ── + css = _cascade_to_css(roles, semantic) + reportlab_code = _cascade_to_reportlab(roles, semantic) + + audit_results = audit_cascade_palette(roles, semantic) + + return { + "roles": {k: {"hex": v["hex"], "hsl": v["hsl"], "tier": v["tier"], "usage": v["usage_hint"]} for k, v in roles.items()}, + "cover": cover_subset, + "body": body_subset, + "charts": chart_subset, + "semantic": {k: {"hex": v["hex"], "hsl": v["hsl"]} for k, v in semantic.items()}, + "meta": { + "intent": intent, "mode": mode, "harmony": harmony, + "base_hue": base_hue, "accent_hue": accent_hue, "secondary_hue": secondary_hue, + "contrast": { + "text_on_bg": round(_contrast_ratio(roles["text_primary"]["hex"], roles["page_bg"]["hex"]), 2), + "accent_on_bg": round(_contrast_ratio(roles["accent"]["hex"], roles["page_bg"]["hex"]), 2), + }, + "audit": audit_results, + }, + "css": css, + "reportlab": reportlab_code, + } + + +def _make_role(h, s, l, tier, usage_hint): + """Create a role entry with hex, HSL tuple, tier, and usage hint.""" + hex_val = _hsl_to_hex(h, s, l) + return { + "hex": hex_val, + "hsl": (round(h, 1), round(s, 3), round(l, 3)), + "tier": tier, + "usage_hint": usage_hint, + } + + +def _cascade_to_css(roles, semantic): + """Convert cascade palette to CSS custom properties.""" + lines = [":root {"] + lines.append(" /* ── XL tier: backgrounds (S ≤ 0.08) ── */") + lines.append(f" --page-bg: {roles['page_bg']['hex']};") + lines.append(f" --section-bg: {roles['section_bg']['hex']};") + lines.append(" /* ── L tier: surfaces (S ≤ 0.15) ── */") + lines.append(f" --card-bg: {roles['card_bg']['hex']};") + lines.append(f" --table-stripe: {roles['table_stripe']['hex']};") + lines.append(" /* ── M tier: structural fills (S ≤ 0.30) ── */") + lines.append(f" --header-fill: {roles['header_fill']['hex']};") + lines.append(f" --cover-block: {roles['cover_block']['hex']};") + lines.append(" /* ── S tier: edges & icons (S ≤ 0.50) ── */") + lines.append(f" --border: {roles['border']['hex']};") + lines.append(f" --icon: {roles['icon']['hex']};") + lines.append(" /* ── XS tier: emphasis (S ≤ 0.75) ── */") + lines.append(f" --accent: {roles['accent']['hex']};") + lines.append(f" --accent-secondary: {roles['accent_secondary']['hex']};") + lines.append(" /* ── Typography ── */") + lines.append(f" --text-primary: {roles['text_primary']['hex']};") + lines.append(f" --text-muted: {roles['text_muted']['hex']};") + lines.append(" /* ── Semantic (low-sat) ── */") + for k, v in semantic.items(): + lines.append(f" --semantic-{k}: {v['hex']};") + lines.append("}") + return "\n".join(lines) + + +def _cascade_to_reportlab(roles, semantic): + """Convert cascade palette to ReportLab Python code.""" + lines = [ + "# ━━ Cascade Palette (auto-generated by design_engine.py palette-cascade) ━━", + "from reportlab.lib import colors", + "", + "# XL tier: backgrounds (area > 50%, S ≤ 0.08)", + f"PAGE_BG = colors.HexColor('{roles['page_bg']['hex']}')", + f"SECTION_BG = colors.HexColor('{roles['section_bg']['hex']}')", + "", + "# L tier: surfaces (area 20-50%, S ≤ 0.15)", + f"CARD_BG = colors.HexColor('{roles['card_bg']['hex']}')", + f"TABLE_STRIPE = colors.HexColor('{roles['table_stripe']['hex']}')", + "", + "# M tier: structural fills (area 5-20%, S ≤ 0.30)", + f"HEADER_FILL = colors.HexColor('{roles['header_fill']['hex']}')", + f"COVER_BLOCK = colors.HexColor('{roles['cover_block']['hex']}')", + "", + "# S tier: edges & icons (area 1-5%, S ≤ 0.50)", + f"BORDER = colors.HexColor('{roles['border']['hex']}')", + f"ICON = colors.HexColor('{roles['icon']['hex']}')", + "", + "# XS tier: emphasis (area < 1%, S ≤ 0.75)", + f"ACCENT = colors.HexColor('{roles['accent']['hex']}')", + f"ACCENT_2 = colors.HexColor('{roles['accent_secondary']['hex']}')", + "", + "# Typography", + f"TEXT_PRIMARY = colors.HexColor('{roles['text_primary']['hex']}')", + f"TEXT_MUTED = colors.HexColor('{roles['text_muted']['hex']}')", + "", + "# Semantic (low-saturation, area-appropriate)", + f"SEM_SUCCESS = colors.HexColor('{semantic['success']['hex']}')", + f"SEM_WARNING = colors.HexColor('{semantic['warning']['hex']}')", + f"SEM_ERROR = colors.HexColor('{semantic['error']['hex']}')", + f"SEM_INFO = colors.HexColor('{semantic['info']['hex']}')", + ] + return "\n".join(lines) + + +def audit_cascade_palette(roles, semantic): + """Audit cascade palette for tier saturation violations and WCAG contrast.""" + violations = [] + for name, role in {**roles, **semantic}.items(): + tier = role["tier"] + if tier in CASCADE_TIER_CAPS: + cap = CASCADE_TIER_CAPS[tier] + s = role["hsl"][1] + if s > cap: + violations.append(f"{name}: S={s:.3f} exceeds tier '{tier}' cap {cap}") + + # WCAG checks + bg_hex = roles["page_bg"]["hex"] + text_hex = roles["text_primary"]["hex"] + cr = _contrast_ratio(text_hex, bg_hex) + if cr < 4.5: + violations.append(f"text_primary:page_bg contrast {cr:.2f} < 4.5:1 (WCAG AA)") + + accent_hex = roles["accent"]["hex"] + cr_a = _contrast_ratio(accent_hex, bg_hex) + if cr_a < 3.0: + violations.append(f"accent:page_bg contrast {cr_a:.2f} < 3.0:1 (accent invisible)") + + # Header fill should be readable with white text on it + hf_hex = roles["header_fill"]["hex"] + cr_hf = _contrast_ratio("#ffffff", hf_hex) + if cr_hf < 3.0: + violations.append(f"white on header_fill contrast {cr_hf:.2f} < 3.0:1 (header text unreadable)") + + return violations + + +# ═══════════════════════════════════════════════════════════════════════ +# 2. GENERATIVE SVG — Algorithmic Art Backgrounds +# ═══════════════════════════════════════════════════════════════════════ +# +# Two primary modes: +# - "flow": 3-5 large-radius bézier curves at ultra-low opacity (0.05) +# Creates organic, breathing atmospheric depth +# - "grid": 1px reference grid or noise texture +# Creates structured, architectural underlying rhythm +# +# All SVG is inline-ready (no external files needed). + +def _svg_open(w, h): + return f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {w} {h}" width="{w}" height="{h}">' + +def _random_bezier_path(w, h): + """Generate a single flowing bézier curve across the canvas.""" + # Start from a random edge point + x0 = random.uniform(-w * 0.2, w * 0.3) + y0 = random.uniform(0, h) + # End at the opposite side + x3 = random.uniform(w * 0.7, w * 1.2) + y3 = random.uniform(0, h) + # Control points — large sweeps for organic feel + cx1 = random.uniform(w * 0.1, w * 0.5) + cy1 = random.uniform(-h * 0.3, h * 1.3) + cx2 = random.uniform(w * 0.5, w * 0.9) + cy2 = random.uniform(-h * 0.3, h * 1.3) + return f"M{x0:.0f},{y0:.0f} C{cx1:.0f},{cy1:.0f} {cx2:.0f},{cy2:.0f} {x3:.0f},{y3:.0f}" + +def generate_flow_svg(w, h, color="#8a8a8a", curves=4, stroke_width=80, opacity=0.05): + """ + Flow mode: ultra-wide, ultra-faint bézier curves. + Creates atmospheric depth without competing with content. + """ + random.seed(42) + svg = _svg_open(w, h) + svg += '\n <defs>' + svg += f'\n <linearGradient id="fg" x1="0" y1="0" x2="1" y2="1">' + svg += f'\n <stop offset="0%" stop-color="{color}" stop-opacity="{opacity}"/>' + svg += f'\n <stop offset="50%" stop-color="{color}" stop-opacity="{opacity * 1.5:.3f}"/>' + svg += f'\n <stop offset="100%" stop-color="{color}" stop-opacity="{opacity * 0.5:.3f}"/>' + svg += '\n </linearGradient>' + svg += '\n </defs>' + + for i in range(curves): + path = _random_bezier_path(w, h) + sw = stroke_width + random.uniform(-20, 30) + svg += f'\n <path d="{path}" fill="none" stroke="url(#fg)" ' + svg += f'stroke-width="{sw:.0f}" stroke-linecap="round" opacity="{opacity + i * 0.01:.3f}"/>' + + svg += '\n</svg>' + return svg + +def generate_grid_svg(w, h, color="#888888", spacing=60, line_width=0.5, opacity=0.04): + """ + Grid mode: architectural reference grid. + Ultra-faint 1px lines creating underlying structure. + """ + svg = _svg_open(w, h) + svg += f'\n <g opacity="{opacity}">' + # Vertical lines + for x in range(0, int(w) + 1, spacing): + svg += f'\n <line x1="{x}" y1="0" x2="{x}" y2="{h}" stroke="{color}" stroke-width="{line_width}"/>' + # Horizontal lines + for y in range(0, int(h) + 1, spacing): + svg += f'\n <line x1="0" y1="{y}" x2="{w}" y2="{y}" stroke="{color}" stroke-width="{line_width}"/>' + svg += '\n </g>' + svg += '\n</svg>' + return svg + +def generate_noise_svg(w, h, frequency=0.8, octaves=4, opacity=0.035): + """ + Noise mode: feTurbulence grain texture. + Adds tactile paper-like quality. + """ + svg = _svg_open(w, h) + svg += f""" + <defs> + <filter id="grain" x="0" y="0" width="100%" height="100%"> + <feTurbulence type="fractalNoise" baseFrequency="{frequency}" + numOctaves="{octaves}" stitchTiles="stitch" result="noise"/> + <feColorMatrix type="saturate" values="0" in="noise" result="grey"/> + </filter> + </defs> + <rect width="{w}" height="{h}" filter="url(#grain)" opacity="{opacity}"/>""" + svg += '\n</svg>' + return svg + +def _generate_data_driven_svg(data_points, w=720, h=960, color="#8a8a8a"): + """ + Content-Aware SVG: Transform business data arrays into Bézier background curves. + The background subtly echoes the data's shape — a cross-modal design metaphor. + """ + if not data_points or len(data_points) < 2: + return generate_flow_svg(w, h, color) + + n = len(data_points) + min_v = min(data_points) + max_v = max(data_points) + rng = max_v - min_v if max_v != min_v else 1.0 + + # Normalize data to canvas coordinates + # X: evenly spaced across width; Y: mapped to 20%-80% of height (inverted for SVG) + points = [] + for i, v in enumerate(data_points): + x = (i / (n - 1)) * w + y_norm = (v - min_v) / rng # 0..1 + y = h * 0.8 - y_norm * (h * 0.6) # Map to 20%-80% height band + points.append((x, y)) + + # Build smooth Bézier path through all points (Catmull-Rom → cubic Bézier) + def catmull_to_bezier(p0, p1, p2, p3, tension=0.5): + """Convert 4 Catmull-Rom points to cubic Bézier control points for segment p1→p2.""" + cp1x = p1[0] + (p2[0] - p0[0]) / (6 * tension) + cp1y = p1[1] + (p2[1] - p0[1]) / (6 * tension) + cp2x = p2[0] - (p3[0] - p1[0]) / (6 * tension) + cp2y = p2[1] - (p3[1] - p1[1]) / (6 * tension) + return (cp1x, cp1y), (cp2x, cp2y) + + svg_paths = "" + # Generate 3 layers at different offsets for depth + for layer_idx, (opacity, y_offset, thickness) in enumerate([ + (0.08, 0, 3), (0.05, 60, 2), (0.03, -40, 1.5) + ]): + pts = [(px, py + y_offset) for px, py in points] + # Pad start/end for Catmull-Rom + padded = [pts[0]] + pts + [pts[-1]] + d = f"M {padded[1][0]:.1f},{padded[1][1]:.1f} " + for i in range(1, len(padded) - 2): + cp1, cp2 = catmull_to_bezier(padded[i-1], padded[i], padded[i+1], padded[i+2]) + d += f"C {cp1[0]:.1f},{cp1[1]:.1f} {cp2[0]:.1f},{cp2[1]:.1f} {padded[i+1][0]:.1f},{padded[i+1][1]:.1f} " + + # Main stroke + svg_paths += f'<path d="{d}" fill="none" stroke="{color}" stroke-width="{thickness}" opacity="{opacity}" />\n' + # Filled area below the curve + fill_d = d + f"L {w},{h} L 0,{h} Z" + svg_paths += f'<path d="{fill_d}" fill="{color}" opacity="{opacity * 0.4}" />\n' + + return f'<svg viewBox="0 0 {w} {h}" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:100%">{svg_paths}</svg>' + + +def generate_supergraphic_svg(w, h, color="#8a8a8a", seed=42): + """ + Supergraphic mode: oversized geometric shapes (circles, rectangles, polygons) + cropped by the canvas edge, rendered at 3-5% opacity. + Creates "blueprint of a larger world" feeling — McKinsey / Pentagram style. + Shapes deliberately overflow the viewport so only partial arcs/edges are visible. + """ + random.seed(seed) + svg = _svg_open(w, h) + # Layer 1: Giant concentric circles, center placed off-canvas + cx = random.uniform(w * 0.6, w * 1.3) # right-biased, partially off-canvas + cy = random.uniform(-h * 0.2, h * 0.4) # top-biased + for i in range(4): + r = w * (0.6 + i * 0.35) # radii from 60% to 165% of width — always overflowing + opacity = 0.04 - i * 0.008 # outer rings fainter + svg += f'\n <circle cx="{cx:.0f}" cy="{cy:.0f}" r="{r:.0f}" ' + svg += f'fill="none" stroke="{color}" stroke-width="1.5" opacity="{max(opacity, 0.015):.3f}"/>' + + # Layer 2: Oversized rotated rectangles, clipped by viewport + for _ in range(2): + rx = random.uniform(-w * 0.3, w * 0.5) + ry = random.uniform(h * 0.3, h * 1.2) + rw = random.uniform(w * 0.8, w * 1.6) + rh = random.uniform(h * 0.5, h * 1.2) + angle = random.uniform(-15, 25) + svg += f'\n <rect x="{rx:.0f}" y="{ry:.0f}" width="{rw:.0f}" height="{rh:.0f}" ' + svg += f'fill="none" stroke="{color}" stroke-width="1" opacity="0.025" ' + svg += f'transform="rotate({angle:.1f} {rx + rw/2:.0f} {ry + rh/2:.0f})"/>' + + # Layer 3: A single massive polygon (pentagon/hexagon) barely visible + sides = random.choice([5, 6, 8]) + pcx = random.uniform(-w * 0.1, w * 0.4) + pcy = random.uniform(h * 0.5, h * 1.1) + pr = w * random.uniform(0.9, 1.4) + angle_offset = random.uniform(0, 360 / sides) + points = [] + for i in range(sides): + a = math.radians(angle_offset + i * 360 / sides) + px = pcx + pr * math.cos(a) + py = pcy + pr * math.sin(a) + points.append(f"{px:.0f},{py:.0f}") + svg += f'\n <polygon points="{" ".join(points)}" ' + svg += f'fill="none" stroke="{color}" stroke-width="1" opacity="0.02"/>' + + svg += '\n</svg>' + return svg + + +def generate_ordered_texture_svg(w, h, color="#8a8a8a", seed=42): + """ + Ordered Texture mode: precision dot-matrix, coordinate grids, and contour lines + placed in specific corners/edges of the canvas (not full coverage). + Creates "engineered precision" feeling — ideal for tech, finance, data reports. + """ + random.seed(seed) + svg = _svg_open(w, h) + + # Region 1: Dot matrix in top-right corner (10x10 grid of small circles) + dot_cols, dot_rows = 12, 10 + dot_spacing = 18 + dot_r = 2 + dot_origin_x = w - dot_cols * dot_spacing - 40 # right-aligned with margin + dot_origin_y = 30 # top margin + svg += f'\n <g opacity="0.08">' + for row in range(dot_rows): + for col in range(dot_cols): + dx = dot_origin_x + col * dot_spacing + dy = dot_origin_y + row * dot_spacing + svg += f'\n <circle cx="{dx}" cy="{dy}" r="{dot_r}" fill="{color}"/>' + svg += '\n </g>' + + # Region 2: Coordinate grid lines in bottom-left quadrant (blueprint style) + grid_x0, grid_y0 = 20, h * 0.7 + grid_x1, grid_y1 = w * 0.45, h - 20 + grid_spacing = 30 + svg += f'\n <g opacity="0.05" stroke="{color}" stroke-width="0.5" stroke-dasharray="4,6">' + # Vertical lines + x = grid_x0 + while x <= grid_x1: + svg += f'\n <line x1="{x:.0f}" y1="{grid_y0:.0f}" x2="{x:.0f}" y2="{grid_y1:.0f}"/>' + x += grid_spacing + # Horizontal lines + y = grid_y0 + while y <= grid_y1: + svg += f'\n <line x1="{grid_x0:.0f}" y1="{y:.0f}" x2="{grid_x1:.0f}" y2="{y:.0f}"/>' + y += grid_spacing + svg += '\n </g>' + + # Region 3: Tick marks along the grid (ruler effect) + svg += f'\n <g opacity="0.06" stroke="{color}" stroke-width="0.8">' + x = grid_x0 + while x <= grid_x1: + svg += f'\n <line x1="{x:.0f}" y1="{grid_y1:.0f}" x2="{x:.0f}" y2="{grid_y1 + 5:.0f}"/>' + x += grid_spacing + svg += '\n </g>' + + # Region 4: Flowing contour lines (Bézier) across mid-right area + svg += f'\n <g opacity="0.04" fill="none" stroke="{color}" stroke-width="1">' + for i in range(5): + y_base = h * 0.35 + i * 35 + x_start = w * 0.55 + x_end = w + 20 # overflow right edge + cx1 = x_start + (x_end - x_start) * 0.3 + random.uniform(-30, 30) + cy1 = y_base + random.uniform(-40, 40) + cx2 = x_start + (x_end - x_start) * 0.7 + random.uniform(-30, 30) + cy2 = y_base + random.uniform(-40, 40) + svg += f'\n <path d="M{x_start:.0f},{y_base:.0f} C{cx1:.0f},{cy1:.0f} {cx2:.0f},{cy2:.0f} {x_end:.0f},{y_base + random.uniform(-20, 20):.0f}"/>' + svg += '\n </g>' + + # Region 5: Cross-hair markers at 2-3 strategic points + for _ in range(3): + mx = random.uniform(w * 0.15, w * 0.85) + my = random.uniform(h * 0.15, h * 0.85) + size = 8 + svg += f'\n <g opacity="0.06" stroke="{color}" stroke-width="0.8">' + svg += f'\n <line x1="{mx - size}" y1="{my}" x2="{mx + size}" y2="{my}"/>' + svg += f'\n <line x1="{mx}" y1="{my - size}" x2="{mx}" y2="{my + size}"/>' + svg += f'\n <circle cx="{mx}" cy="{my}" r="{size * 0.6:.0f}" fill="none"/>' + svg += '\n </g>' + + svg += '\n</svg>' + return svg + + +def generate_generative_svg(svg_type="flow", w=720, h=960, color="#8a8a8a"): + """Route to the appropriate SVG generator.""" + if svg_type == "flow": + return generate_flow_svg(w, h, color) + elif svg_type == "grid": + return generate_grid_svg(w, h, color) + elif svg_type == "noise": + return generate_noise_svg(w, h) + elif svg_type == "supergraphic": + return generate_supergraphic_svg(w, h, color) + elif svg_type == "ordered_texture": + return generate_ordered_texture_svg(w, h, color) + else: + # Default: flow + noise layered + flow = generate_flow_svg(w, h, color) + return flow + + +def generate_continuous_flow_svg(w, h, total_pages, color="#8a8a8a", curves=4, stroke_width=80, opacity=0.05): + """ + Continuous Flow mode: generates ONE large SVG spanning all pages. + Returns a list of per-page SVG strings, each using viewBox to slice the master. + + The bezier curves are constrained to have anchor points every ~480px vertically, + ensuring visible content on every page. + """ + total_h = h * total_pages + random.seed(42) + + # Build the master path data + paths_data = [] + for _ in range(curves): + # Generate anchor points — one every 480px ensures ~2 per page + num_anchors = max(3, int(total_h / 480)) + anchors = [] + for i in range(num_anchors): + ax = random.uniform(w * 0.1, w * 0.9) + ay = (total_h / (num_anchors - 1)) * i + anchors.append((ax, ay)) + + # Build cubic bezier path through anchors + path = f"M{anchors[0][0]:.0f},{anchors[0][1]:.0f}" + for i in range(1, len(anchors)): + prev = anchors[i - 1] + curr = anchors[i] + # Control points: spread horizontally for organic feel + cx1 = random.uniform(w * 0.0, w * 1.0) + cy1 = prev[1] + (curr[1] - prev[1]) * 0.33 + random.uniform(-100, 100) + cx2 = random.uniform(w * 0.0, w * 1.0) + cy2 = prev[1] + (curr[1] - prev[1]) * 0.66 + random.uniform(-100, 100) + path += f" C{cx1:.0f},{cy1:.0f} {cx2:.0f},{cy2:.0f} {curr[0]:.0f},{curr[1]:.0f}" + + sw = stroke_width + random.uniform(-20, 30) + paths_data.append((path, sw)) + + # Generate per-page SVG slices + page_svgs = [] + gradient_def = f'''<defs> + <linearGradient id="fg" x1="0" y1="0" x2="1" y2="1"> + <stop offset="0%" stop-color="{color}" stop-opacity="{opacity}"/> + <stop offset="50%" stop-color="{color}" stop-opacity="{opacity * 1.5:.3f}"/> + <stop offset="100%" stop-color="{color}" stop-opacity="{opacity * 0.5:.3f}"/> + </linearGradient> + </defs>''' + + for page_idx in range(total_pages): + vy = page_idx * h + svg = f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 {vy} {w} {h}" width="{w}" height="{h}">' + svg += f'\n {gradient_def}' + for i, (path, sw) in enumerate(paths_data): + svg += f'\n <path d="{path}" fill="none" stroke="url(#fg)" ' + svg += f'stroke-width="{sw:.0f}" stroke-linecap="round" opacity="{opacity + i * 0.01:.3f}"/>' + svg += '\n</svg>' + page_svgs.append(svg) + + return page_svgs + + +def generate_unified_svg(w, h, total_pages, svg_type, color="#8a8a8a", curves=4, stroke_width=80, opacity=0.05): + """ + Generate a single SVG that spans the full continuous canvas (w x h*total_pages). + Unlike generate_continuous_flow_svg which returns per-page slices, + this returns ONE svg string for the entire document. + Used by the continuous-canvas rendering mode. + """ + total_h = h * total_pages + random.seed(42) + + if svg_type in ("continuous_flow", "flow"): + # Bezier curves spanning entire height + paths_data = [] + for _ in range(curves): + num_anchors = max(3, int(total_h / 480)) + anchors = [] + for i in range(num_anchors): + ax = random.uniform(w * 0.1, w * 0.9) + ay = (total_h / (num_anchors - 1)) * i + anchors.append((ax, ay)) + path = f"M{anchors[0][0]:.0f},{anchors[0][1]:.0f}" + for i in range(1, len(anchors)): + prev = anchors[i - 1] + curr = anchors[i] + cx1 = random.uniform(w * 0.0, w * 1.0) + cy1 = prev[1] + (curr[1] - prev[1]) * 0.33 + random.uniform(-100, 100) + cx2 = random.uniform(w * 0.0, w * 1.0) + cy2 = prev[1] + (curr[1] - prev[1]) * 0.66 + random.uniform(-100, 100) + path += f" C{cx1:.0f},{cy1:.0f} {cx2:.0f},{cy2:.0f} {curr[0]:.0f},{curr[1]:.0f}" + sw = stroke_width + random.uniform(-20, 30) + paths_data.append((path, sw)) + + gradient_def = f'''<defs> + <linearGradient id="fg" x1="0" y1="0" x2="1" y2="1"> + <stop offset="0%" stop-color="{color}" stop-opacity="{opacity}"/> + <stop offset="50%" stop-color="{color}" stop-opacity="{opacity * 1.5:.3f}"/> + <stop offset="100%" stop-color="{color}" stop-opacity="{opacity * 0.5:.3f}"/> + </linearGradient> + </defs>''' + + svg = f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {w} {total_h}" width="{w}" height="{total_h}">' + svg += f'\n {gradient_def}' + for i, (path, sw) in enumerate(paths_data): + svg += f'\n <path d="{path}" fill="none" stroke="url(#fg)" ' + svg += f'stroke-width="{sw:.0f}" stroke-linecap="round" opacity="{opacity + i * 0.01:.3f}"/>' + svg += '\n</svg>' + return svg + + elif svg_type == "grid": + # Grid pattern spanning full height + svg = f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {w} {total_h}" width="{w}" height="{total_h}">' + spacing = 60 + for x in range(0, w + 1, spacing): + svg += f'\n <line x1="{x}" y1="0" x2="{x}" y2="{total_h}" stroke="{color}" stroke-width="0.5" opacity="{opacity}"/>' + for y in range(0, int(total_h) + 1, spacing): + svg += f'\n <line x1="0" y1="{y}" x2="{w}" y2="{y}" stroke="{color}" stroke-width="0.5" opacity="{opacity}"/>' + svg += '\n</svg>' + return svg + + elif svg_type == "noise": + # Noise dots spanning full height + svg = f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {w} {total_h}" width="{w}" height="{total_h}">' + num_dots = int(200 * total_pages) + for _ in range(num_dots): + cx = random.uniform(0, w) + cy = random.uniform(0, total_h) + r = random.uniform(0.5, 2.5) + svg += f'\n <circle cx="{cx:.0f}" cy="{cy:.0f}" r="{r:.1f}" fill="{color}" opacity="{random.uniform(opacity * 0.3, opacity * 1.5):.3f}"/>' + svg += '\n</svg>' + return svg + + return "" + + +# ═══════════════════════════════════════════════════════════════════════ +# 3. LAYOUT CALCULATOR — Deliberate Spatial Tension +# ═══════════════════════════════════════════════════════════════════════ +# +# Returns absolute coordinates for elements with intentional: +# - Offset: elements not perfectly centered (art tension) +# - Overlap: controlled z-index collisions +# - Breathing margin: 15% minimum on all edges + +BREATHING_MARGIN = 0.12 # 12% of canvas on each edge (was 15%, too tight for content-dense pages) + +def calculate_layout(elements, w=720, h=960, style="offset"): + """ + Calculate positioned layout for named elements. + + Args: + elements: list of element names (e.g. ["hero", "body", "meta", "footer"]) + style: "offset" (deliberate asymmetry), "centered" (formal), "stacked" (vertical flow) + + Returns: + dict mapping element names to {x, y, w, h, rotation} in pixels + """ + # Safe area (15% breathing margin on all sides) + safe_x = w * BREATHING_MARGIN + safe_y = h * BREATHING_MARGIN + safe_w = w * (1 - 2 * BREATHING_MARGIN) + safe_h = h * (1 - 2 * BREATHING_MARGIN) + + layout = {} + + if style == "offset": + # Asymmetric placement — elements shift left/right of center + regions = _divide_vertical(safe_x, safe_y, safe_w, safe_h, len(elements)) + for i, name in enumerate(elements): + rx, ry, rw, rh = regions[i] + # Apply deliberate offset: odd elements shift left, even shift right + offset_x = rw * 0.08 * (-1 if i % 2 == 0 else 1) + layout[name] = { + "x": round(rx + offset_x, 1), + "y": round(ry, 1), + "w": round(rw * 0.85, 1), # Don't fill the full width + "h": round(rh * 0.85, 1), + "rotation": round(random.uniform(-1.5, 1.5), 2) if name != "body" else 0, + } + + elif style == "centered": + # Formal centered — golden ratio vertical split + regions = _divide_vertical(safe_x, safe_y, safe_w, safe_h, len(elements)) + for i, name in enumerate(elements): + rx, ry, rw, rh = regions[i] + layout[name] = { + "x": round(rx + (rw * 0.075), 1), # Slight horizontal centering margin + "y": round(ry, 1), + "w": round(rw * 0.85, 1), + "h": round(rh * 0.9, 1), + "rotation": 0, + } + + elif style == "overlap": + # Controlled overlaps — elements bleed into each other's space + regions = _divide_vertical(safe_x, safe_y, safe_w, safe_h, len(elements)) + for i, name in enumerate(elements): + rx, ry, rw, rh = regions[i] + overlap_y = rh * 0.15 if i > 0 else 0 # Pull up into previous region + layout[name] = { + "x": round(rx, 1), + "y": round(ry - overlap_y, 1), + "w": round(rw, 1), + "h": round(rh + overlap_y * 0.5, 1), + "rotation": 0, + "z_index": len(elements) - i, # Later elements on top + } + + return layout + +def _divide_vertical(x, y, w, h, n): + """Divide a rectangle into n vertical bands with golden-ratio-inspired proportions.""" + if n <= 0: + return [] + if n == 1: + return [(x, y, w, h)] + + # Weighted distribution: first element (hero) gets more space + weights = [1.618 if i == 0 else 1.0 for i in range(n)] + total = sum(weights) + + regions = [] + current_y = y + for i in range(n): + region_h = h * weights[i] / total + regions.append((x, current_y, w, region_h)) + current_y += region_h + + return regions + + +# ═══════════════════════════════════════════════════════════════════════ +# VALIDATION — Post-generation color audit +# ═══════════════════════════════════════════════════════════════════════ + +def audit_palette(palette): + """ + Strict audit: mode-specific S/L bounds + WCAG contrast checks. + Returns list of violations (empty = clean). + """ + violations = [] + mode = palette.get("meta", {}).get("mode", "minimal") + + for key in ["bg", "mid", "accent", "text"]: + hex_val = palette.get(key, "") + if not hex_val.startswith("#"): + continue + r, g, b = (int(hex_val[i:i+2], 16) / 255.0 for i in (1, 3, 5)) + h, l, s = colorsys.rgb_to_hls(r, g, b) + + # Tight bg/mid saturation limits per mode + if key in ("bg", "mid"): + limits = {"minimal": 0.20, "dark": 0.16, "pastel": 0.42, "jewel": 0.62, "light": 0.28} + cap = limits.get(mode, 0.15) + if s > cap: + violations.append(f"{key}: S={s:.3f} > {cap} in {mode} mode") + + # Tight accent saturation — pastel/jewel reined in + if key == "accent": + accent_caps = {"minimal": 0.78, "dark": 0.62, "pastel": 0.52, "jewel": 0.52, "light": 0.48} + cap = accent_caps.get(mode, 0.60) + if s > cap: + violations.append(f"accent: S={s:.3f} > {cap} in {mode} mode") + + # Lightness guardrails + if key == "bg": + if mode == "dark" and l > 0.10: + violations.append(f"bg L={l:.3f} > 0.10 in dark (muddy middle)") + elif mode == "minimal" and l < 0.90: + violations.append(f"bg L={l:.3f} < 0.90 in minimal (too dark for paper)") + elif mode == "light" and l < 0.88: + violations.append(f"bg L={l:.3f} < 0.88 in light (too dark)") + elif mode == "jewel" and l > 0.28: + violations.append(f"bg L={l:.3f} > 0.28 in jewel (not deep enough)") + elif mode == "pastel" and l < 0.83: + violations.append(f"bg L={l:.3f} < 0.83 in pastel (too dark for Morandi)") + + # WCAG contrast checks + bg_hex = palette.get("bg", "") + text_hex = palette.get("text", "") + accent_hex = palette.get("accent", "") + if bg_hex.startswith("#") and text_hex.startswith("#"): + cr = _contrast_ratio(text_hex, bg_hex) + if cr < 4.5: + violations.append(f"text:bg contrast {cr:.2f} < 4.5:1 (WCAG AA fail)") + if bg_hex.startswith("#") and accent_hex.startswith("#"): + cr = _contrast_ratio(accent_hex, bg_hex) + if cr < 2.5: + violations.append(f"accent:bg contrast {cr:.2f} < 2.5:1 (accent invisible)") + + return violations + + +# ═══════════════════════════════════════════════════════════════════════ +# CLI +# ═══════════════════════════════════════════════════════════════════════ + +def main(): + parser = argparse.ArgumentParser( + description="Design Engine — aesthetic computation for art-direction-first PDF", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + %(prog)s palette --intent serenity --mode dark + %(prog)s palette --intent tension --mode light --seed 42 + %(prog)s palette-cascade --intent cold --mode minimal + %(prog)s palette-cascade --intent neutral --format reportlab + %(prog)s svg --intent flow --dimensions 720x960 + %(prog)s svg --intent grid --dimensions 720x960 + %(prog)s layout --elements hero,body,meta --dimensions 720x960 --style offset + %(prog)s full --intent serenity --mode dark --dimensions 720x960 --output-dir ./assets/ + %(prog)s audit --css-file assets/palette.css + """ + ) + sub = parser.add_subparsers(dest="command") + + # palette + p_pal = sub.add_parser("palette", help="Generate HSL-locked color palette") + p_pal.add_argument("--intent", default="neutral", choices=list(INTENT_HUES.keys())) + p_pal.add_argument("--mode", default="minimal", choices=["minimal", "dark", "pastel", "jewel", "light"]) + p_pal.add_argument("--harmony", default="auto", choices=["auto", "complementary", "split_complementary", "triadic", "analogous", "monochrome"]) + p_pal.add_argument("--seed", type=int, default=None) + p_pal.add_argument("--format", default="css", choices=["css", "json"]) + + # svg + p_svg = sub.add_parser("svg", help="Generate algorithmic SVG background") + p_svg.add_argument("--svg-type", default="flow", choices=["flow", "grid", "noise", "supergraphic", "ordered_texture"]) + p_svg.add_argument("--dimensions", default="720x960") + p_svg.add_argument("--color", default="#8a8a8a") + + # layout + p_lay = sub.add_parser("layout", help="Calculate element positions") + p_lay.add_argument("--elements", default="hero,body,meta") + p_lay.add_argument("--dimensions", default="720x960") + p_lay.add_argument("--style", default="offset", choices=["offset", "centered", "overlap"]) + + # full + p_full = sub.add_parser("full", help="Generate all assets at once") + p_full.add_argument("--intent", default="neutral") + p_full.add_argument("--mode", default="minimal", choices=["minimal", "dark", "pastel", "jewel", "light"]) + p_full.add_argument("--harmony", default="auto", choices=["auto", "complementary", "split_complementary", "triadic", "analogous", "monochrome"]) + p_full.add_argument("--svg-intent", default="flow", choices=["flow", "grid", "noise"]) + p_full.add_argument("--dimensions", default="720x960") + p_full.add_argument("--elements", default="hero,body,meta") + p_full.add_argument("--style", default="offset") + p_full.add_argument("--seed", type=int, default=None) + p_full.add_argument("--output-dir", default="./assets/") + + # audit + p_audit = sub.add_parser("audit", help="Audit a palette for constraint violations") + p_audit.add_argument("--palette-json", required=True) + + # palette-cascade + p_pcas = sub.add_parser("palette-cascade", help="Generate role-based cascade palette (area ∝ 1/saturation)") + p_pcas.add_argument("--intent", default="neutral", choices=list(INTENT_HUES.keys())) + p_pcas.add_argument("--mode", default="minimal", choices=["minimal", "dark", "pastel", "jewel", "light"]) + p_pcas.add_argument("--harmony", default="auto", choices=["auto", "complementary", "split_complementary", "triadic", "analogous", "monochrome"]) + p_pcas.add_argument("--seed", type=int, default=None) + p_pcas.add_argument("--format", default="summary", choices=["summary", "json", "css", "reportlab"]) + + # compile + p_compile = sub.add_parser("compile", help="Compile a JSON Blueprint into a final HTML document") + p_compile.add_argument("--blueprint", required=True, help="Path to the JSON blueprint generated by LLM") + p_compile.add_argument("--output", default="poster.html", help="Path to save the output HTML") + + # derive + p_derive = sub.add_parser("derive", help="Auto-derive design intent from document description") + p_derive.add_argument("text", help="Document title or description") + + # Backward compat: positional command + parser.add_argument("legacy_command", nargs="?") + parser.add_argument("legacy_args", nargs="*") + + args = parser.parse_args() + + if args.command == "palette": + pal = generate_color_palette(args.intent, args.mode, harmony=args.harmony, seed=args.seed) + if args.format == "json": + print(json.dumps(pal, indent=2)) + else: + print(palette_to_css(pal)) + + elif args.command == "svg": + w, h = map(int, args.dimensions.split("x")) + print(generate_generative_svg(args.svg_type, w, h, args.color)) + + elif args.command == "layout": + w, h = map(int, args.dimensions.split("x")) + elements = [e.strip() for e in args.elements.split(",")] + result = calculate_layout(elements, w, h, args.style) + print(json.dumps(result, indent=2)) + + elif args.command == "full": + w, h = map(int, args.dimensions.split("x")) + os.makedirs(args.output_dir, exist_ok=True) + + # 1. Palette + pal = generate_color_palette(args.intent, args.mode, harmony=getattr(args, 'harmony', 'split_complementary'), seed=args.seed) + css = palette_to_css(pal) + css_path = os.path.join(args.output_dir, "palette.css") + with open(css_path, "w") as f: + f.write(css) + json_path = os.path.join(args.output_dir, "palette.json") + with open(json_path, "w") as f: + json.dump(pal, f, indent=2) + print(f"✅ {css_path}") + + # 2. SVG + svg_color = pal["accent"] # Use accent for SVG strokes + svg = generate_generative_svg(args.svg_intent, w, h, svg_color) + svg_path = os.path.join(args.output_dir, "background.svg") + with open(svg_path, "w") as f: + f.write(svg) + print(f"✅ {svg_path}") + + # 3. Layout + elements = [e.strip() for e in args.elements.split(",")] + lay = calculate_layout(elements, w, h, args.style) + lay_path = os.path.join(args.output_dir, "layout.json") + with open(lay_path, "w") as f: + json.dump(lay, f, indent=2) + print(f"✅ {lay_path}") + + # 4. Audit + violations = audit_palette(pal) + if violations: + print(f"\n⚠️ Palette violations:") + for v in violations: + print(f" - {v}") + else: + print(f"\n✅ Palette passes all constraints") + + print(f"\n🎨 {args.intent}/{args.mode} | {w}×{h} | {len(elements)} elements") + + elif args.command == "audit": + with open(args.palette_json) as f: + pal = json.load(f) + violations = audit_palette(pal) + if violations: + print("⚠️ Violations found:") + for v in violations: + print(f" - {v}") + sys.exit(1) + else: + print("✅ Palette passes all constraints") + + elif args.command == "derive": + intent = derive_intent(args.text) + print(f"Intent: {intent}") + print(f"Hue: {INTENT_HUES.get(intent, 45)}°") + # Also generate a quick palette preview + pal = generate_color_palette(intent, "dark") + print(f"Preview (dark): bg={pal['bg']} accent={pal['accent']}") + pal_light = generate_color_palette(intent, "light") + print(f"Preview (light): bg={pal_light['bg']} accent={pal_light['accent']}") + + elif args.command == "palette-cascade": + cascade = generate_cascade_palette(args.intent, args.mode, harmony=args.harmony, seed=args.seed) + if args.format == "json": + print(json.dumps(cascade, indent=2, ensure_ascii=False, default=str)) + elif args.format == "css": + print(cascade["css"]) + elif args.format == "reportlab": + print(cascade["reportlab"]) + else: # summary + meta = cascade["meta"] + print(f"🎨 Cascade Palette | Intent: {meta['intent']} | Mode: {meta['mode']} | Harmony: {meta['harmony']}") + print(f" Base hue: {meta['base_hue']}° | Accent hue: {meta['accent_hue']}° | Secondary hue: {meta['secondary_hue']}°") + print(f" Contrast: text:bg={meta['contrast']['text_on_bg']} | accent:bg={meta['contrast']['accent_on_bg']}") + print() + print(" TIER | ROLE | HEX | S | USAGE") + print(" ────── | ────────────────── | ─────── | ────── | ────────────") + for name, info in cascade["roles"].items(): + tier = info['tier'].upper().ljust(6) + nm = name.ljust(18) + hx = info['hex'].ljust(7) + s_val = f"{info['hsl'][1]:.3f}".ljust(6) + print(f" {tier} | {nm} | {hx} | {s_val} | {info['usage']}") + print() + print(" Semantic:") + for name, info in cascade["semantic"].items(): + print(f" {name}: {info['hex']} (S={info['hsl'][1]:.3f})") + if meta["audit"]: + print(f"\n ⚠️ Violations:") + for v in meta["audit"]: + print(f" - {v}") + else: + print(f"\n ✅ All tier constraints pass") + + elif args.command == "compile": + try: + out_path, pal = compile_blueprint(args.blueprint, args.output) + print(f"✅ Blueprint compiled successfully to: {out_path}") + violations = audit_palette(pal) + if violations: + print(f"⚠️ Warning: Generated palette had minor violations (auto-corrected by engine):") + for v in violations: print(f" - {v}") + + except Exception as e: + print(f"❌ Failed to compile blueprint: {str(e)}") + sys.exit(1) + else: + parser.print_help() + + +# ═══════════════════════════════════════════════════════════════════════ +# 4. BLUEPRINT COMPILER — Converting JSON Intent to HTML Canvas +# ═══════════════════════════════════════════════════════════════════════ +import re + +# Base CSS that enforces the "Axioms" from visual_framework.md +BASE_CSS = """ +@page { + size: var(--canvas-w, 720px) var(--canvas-h, 960px); + margin: 0; +} +:root { + --font-sans: 'Inter', 'Noto Sans SC', 'Helvetica Neue', 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif; + --font-serif: 'Playfair Display', 'Noto Serif SC', 'Cormorant Garamond', 'Apple Color Emoji', serif; + --font-mono: 'SF Mono', 'Consolas', 'Apple Color Emoji', monospace; + + /* Typographic Scale — 6-level fluid type system (Modular Scale) */ + --text-scale-6: clamp(64px, 12vw, 150px); /* Hero / Display — oversized, single word or short phrase */ + --text-scale-5: clamp(48px, 8vw, 96px); /* Primary Title — poster headline */ + --text-scale-4: clamp(32px, 5vw, 56px); /* Subheadline — chapter opener or key quote */ + --text-scale-3: clamp(20px, 3vw, 32px); /* Lead Paragraph — slightly larger than body */ + --text-scale-2: 16px; /* Body — standard body text */ + --text-scale-1: 12px; /* Meta / Caption — minimum readable size */ +} +html, body { + margin: 0; padding: 0; + background: var(--c-bg); + color: var(--c-text); + font-family: var(--font-sans); + -webkit-font-smoothing: antialiased; +} +/* Browser preview: scale poster to fit viewport & center on matching background */ +@media screen { + html { + height: auto; + display: flex; + justify-content: center; + align-items: flex-start; + min-height: 100vh; + background: var(--c-bg); + } + body { + transform-origin: top center; + margin: 0 auto; + box-shadow: 0 0 60px rgba(0,0,0,0.3); + /* scale injected by override_css with concrete canvas dimensions */ + } +} +.canvas { + width: var(--canvas-w, 720px); + min-height: var(--canvas-h, 960px); + position: relative; + overflow: hidden; + box-sizing: border-box; + page-break-after: always; +} +/* ═══ Continuous Canvas Mode (multi-page as one seamless surface) ═══ */ +.continuous-canvas { + width: var(--canvas-w, 720px); + position: relative; + overflow: hidden; + box-sizing: border-box; + /* height is set inline: canvas_h * total_pages */ +} +.continuous-canvas .bg-layer-full { + position: absolute; + inset: 0; + z-index: 1; + pointer-events: none; +} +.continuous-canvas .bg-layer-full svg { + width: 100%; + height: 100%; +} +.continuous-canvas .page-section { + position: absolute; + left: 0; + width: 100%; + box-sizing: border-box; + overflow: visible; + /* top and height set inline per page */ +} +.continuous-canvas .page-section .safe-zone { + position: absolute; + inset: 10% 12%; + display: grid; + grid-template-columns: repeat(12, 1fr); + grid-template-rows: repeat(12, minmax(0, auto)); + align-content: start; +} +.continuous-canvas .page-section .page-ghost { + position: absolute; + bottom: -5%; + right: 5%; + font-size: 240px; + font-weight: 900; + color: var(--c-mid); + opacity: 0.05; + pointer-events: none; + z-index: 0; +} +/* 12% Breathing Margin Enforcer (balanced: enough air without wasting space) */ +.safe-zone { + position: absolute; + inset: 10% 12%; + display: grid; + grid-template-columns: repeat(12, 1fr); + grid-template-rows: repeat(12, minmax(0, auto)); + align-content: start; + /* gap is injected dynamically by compile_blueprint via inline style */ +} +/* Grid-item wrapper — every component gets one */ +.grid-item { + display: flex; + min-width: 0; + min-height: 0; + overflow: visible; +} +/* Global content-overflow protection — prevents ANY text/block from breaking out of its container */ +.grid-item * { + max-width: 100%; + box-sizing: border-box; +} +.grid-item p, .grid-item li, .grid-item span, .grid-item h1, .grid-item h2, .grid-item h3, .grid-item h4, .grid-item td, .grid-item th, .grid-item div { + overflow-wrap: break-word; + word-break: break-word; +} +/* CJK-safe text wrapping: prefer keeping CJK word groups intact, but allow break when necessary */ +.hero-type, .hero-sub, .glass-canvas, .shaped-content, .stat-label, .delta-metric, .delta-label { + text-wrap: balance; + overflow-wrap: break-word; + word-break: normal; + line-break: strict; +} + +/* ═══ Micro-Typography: Computational Typesetting ═══ */ +p, .glass-canvas, .shaped-content, li { + /* Algorithmic justification — eliminates white rivers between words */ + text-align: justify; + hyphens: auto; + word-spacing: -0.05em; + /* Hanging punctuation — visually aligned optical edges */ + hanging-punctuation: first last; + /* Kill orphans & widows — force min 3 lines carried across page breaks */ + orphans: 3; + widows: 3; +} +.grid-item table { + width: 100%; + table-layout: fixed; + overflow: hidden; +} +.grid-item img { + max-width: 100%; + height: auto; +} + +/* --- Archetype Layouts --- */ +/* All archetypes share the 12×12 grid via .safe-zone. + Archetype classes may override alignment defaults on the canvas level. */ +.archetype-cover_hero .safe-zone { + align-content: start; + inset: 12% 14%; +} +/* Cover hero typography scale: larger text for covers */ +.archetype-cover_hero .hero-type { + font-size: clamp(42px, 8vw, 72px); + line-height: 1.15; +} +.archetype-cover_hero .hero-sub { + font-size: clamp(22px, 4vw, 32px); + line-height: 1.3; + opacity: 0.85; +} +.archetype-cover_hero .floating-meta { + font-size: clamp(16px, 2.5vw, 22px); +} +.archetype-split_vertical { display: grid; grid-template-columns: 1fr 1fr; min-height: 960px; } +.archetype-split_vertical .safe-zone { position: relative; inset: auto; padding: 10%; display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(12, 1fr); align-content: center; } +.archetype-split_vertical.single-column { grid-template-columns: 1fr; } +.archetype-editorial_flow .safe-zone { align-content: center; } +.archetype-scattered_canvas .safe-zone { /* same 12×12 grid — scattered effect via grid_area placement */ } +.archetype-data_dashboard .safe-zone { /* same 12×12 grid — dashboard tiles via grid_area placement */ } +.archetype-shaped_editorial .safe-zone { align-content: center; } + +/* Continuous canvas archetype overrides (page-section inherits archetype class) */ +.continuous-canvas .page-section.archetype-cover_hero .safe-zone { align-content: start; inset: 12% 14%; } +.continuous-canvas .page-section.archetype-cover_hero .hero-type { font-size: clamp(42px, 8vw, 72px); line-height: 1.15; } +.continuous-canvas .page-section.archetype-cover_hero .hero-sub { font-size: clamp(22px, 4vw, 32px); line-height: 1.3; opacity: 0.85; } +.continuous-canvas .page-section.archetype-cover_hero .floating-meta { font-size: clamp(16px, 2.5vw, 22px); } +.continuous-canvas .page-section.archetype-editorial_flow .safe-zone { align-content: center; } +.continuous-canvas .page-section.archetype-shaped_editorial .safe-zone { align-content: center; inset: 5% 6%; } + +/* --- Components --- */ +.hero-type { + font-size: clamp(48px, 10vw, 110px); + line-height: 0.88; + letter-spacing: -0.03em; + margin: 0; + overflow-wrap: break-word; + word-break: break-word; + position: relative; + z-index: 10; +} +.hero-type.weight-black { font-weight: 900; } +.hero-type.weight-thin { font-weight: 100; letter-spacing: 0.05em; font-family: var(--font-serif); } +.hero-sub { + margin: 8px 0 0 0; + font-size: var(--text-scale-2); + line-height: 1.3; + opacity: 0.8; +} +/* Hero container needs vertical stacking */ +.grid-item:has(.hero-type) { + flex-direction: column; + justify-content: center; +} +.hero-type, .hero-sub { + width: 100%; +} +.hero-type { + color: var(--c-text); +} + +.glass-canvas { + background: var(--c-surface); + border: 1px solid rgba(128, 128, 128, 0.08); + border-radius: 2px; + padding: 36px; + font-size: 16px; + line-height: 1.6; + z-index: 5; + position: relative; + overflow-wrap: break-word; + word-break: break-word; +} + +.floating-meta { + display: flex; + flex-direction: column; + font-size: 12px; + font-family: var(--font-mono); + letter-spacing: 0.1em; + color: var(--c-muted); + opacity: 0.6; + z-index: 20; + overflow: hidden; + text-overflow: ellipsis; + /* Positioned via grid_area in .grid-item wrapper — no absolute needed */ +} +/* Legacy position helpers (kept for backwards compat with old blueprints) */ +.pos-top-left { align-self: start; justify-self: start; } +.pos-top-right { align-self: start; justify-self: end; text-align: right; } +.pos-bottom-left { align-self: end; justify-self: start; } +.pos-bottom-right { align-self: end; justify-self: end; text-align: right; } + +.stat-block { display: flex; flex-direction: column; margin-bottom: 24px; } +.stat-num { font-size: clamp(32px, 5vw, 56px); font-weight: 900; line-height: 0.9; color: var(--c-text); } +.stat-unit { font-size: clamp(14px, 2vw, 20px); font-weight: 300; color: var(--c-muted); margin-left: 4px; display: inline;} +.stat-label { font-size: 12px; letter-spacing: 0.15em; color: var(--c-accent); margin-top: 8px; text-transform: uppercase; } + +.hairline { border: none; border-top: 0.5px solid var(--c-muted); opacity: 0.3; margin: 8px 0; width: 100%; } +.hairline.style-accent { border-top-color: var(--c-accent); width: 30%; margin-left: 0; opacity: 0.8;} + +.page-ghost { + position: absolute; bottom: -5%; right: 5%; + font-size: 240px; font-weight: 900; color: var(--c-mid); + opacity: 0.05; pointer-events: none; z-index: 0; +} + +.bg-layer { position: absolute; inset: 0; z-index: 1; pointer-events: none; } +.bg-layer svg { width: 100%; height: 100%; } + +/* --- Shaped_Canvas (Semantic Shape-Wrapping) --- */ +.shaped-canvas { + position: relative; + padding: 24px; + font-size: 16px; + line-height: 1.7; + z-index: 5; + overflow-wrap: break-word; + word-break: break-word; +} +.shape-float { + float: left; + margin: 0; + padding: 0; +} +.shape-circle { shape-outside: circle(45% at 50% 50%); width: 40%; height: 90%; } +.shape-wave { shape-outside: polygon(0 0, 80% 0, 60% 25%, 80% 50%, 60% 75%, 80% 100%, 0 100%); width: 45%; height: 100%; } +.shape-diagonal_slash { shape-outside: polygon(0 0, 100% 0, 0 100%); width: 50%; height: 100%; } +.shape-diamond { shape-outside: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); width: 45%; height: 90%; } +.shape-wedge_right { shape-outside: polygon(0 0, 60% 0, 100% 50%, 60% 100%, 0 100%); width: 50%; height: 100%; } + +/* --- Archetype: shaped_editorial --- */ +.archetype-shaped_editorial .safe-zone { + inset: 5% 6%; + /* Inherits 12×12 grid from .safe-zone */ + align-content: center; +} + +/* ═══ Tufte Marginalia System ═══ */ +/* 30% sidenote rail for report/long-form archetypes */ +.archetype-tufte_report .safe-zone { + display: grid; + grid-template-columns: 1fr 280px; + gap: 40px; + align-content: start; +} +.archetype-tufte_report .main-column { + display: grid; + grid-template-columns: repeat(12, 1fr); + grid-template-rows: repeat(12, 1fr); + gap: inherit; +} +.archetype-tufte_report .side-rail { + display: flex; + flex-direction: column; + gap: 24px; + padding-top: 8px; +} +.sidenote { + font-size: 13px; + line-height: 1.5; + color: var(--c-muted); + border-left: 2px solid var(--c-accent); + padding-left: 12px; + opacity: 0.85; +} +.sidenote .sidenote-label { + font-weight: 700; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.08em; + color: var(--c-accent); + display: block; + margin-bottom: 4px; +} + +/* ═══ Delta Widget — Data-to-Ink Ratio Component ═══ */ +.delta-widget { + text-align: center; + padding: 16px 12px; +} +.delta-widget .delta-metric { + font-size: 12px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--c-muted); + margin-bottom: 4px; +} +.delta-widget .delta-value { + font-size: 36px; + font-weight: 900; + color: var(--c-text); + line-height: 1.1; +} +.delta-widget .delta-change { + font-size: 14px; + font-weight: 700; + margin-top: 4px; +} +.delta-widget .delta-label { + font-size: 12px; + color: var(--c-muted); + margin-top: 8px; +} + +/* ═══ Polymorphic Process_List — Container Query Adaptive ═══ */ +.process-list-container { + container-type: inline-size; + width: 100%; + min-height: 100%; +} +/* Wide: horizontal timeline */ +.process-list { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: 8px; + list-style: none; + padding: 0; + margin: 0; + min-height: 100%; +} +.process-list .process-step { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + position: relative; + padding: 12px 4px; +} +.process-step .step-num { + width: 32px; height: 32px; border-radius: 50%; + background: var(--c-accent); color: #fff; + display: flex; align-items: center; justify-content: center; + font-weight: 800; font-size: 14px; margin-bottom: 8px; + flex-shrink: 0; +} +.process-step .step-title { font-weight: 700; font-size: 13px; color: var(--c-text); } +.process-step .step-desc { font-size: 12px; color: var(--c-muted); margin-top: 4px; line-height: 1.4; } +/* Connector line between horizontal steps */ +.process-step:not(:last-child)::after { + content: ''; position: absolute; top: 28px; right: -6px; + width: 12px; height: 2px; background: var(--c-accent); opacity: 0.5; +} +/* Narrow: vertical numbered list */ +@container (max-width: 360px) { + .process-list { + flex-direction: column; + gap: 12px; + } + .process-list .process-step { + flex-direction: row; + text-align: left; + align-items: flex-start; + gap: 12px; + padding: 4px 0; + } + .process-step .step-num { margin-bottom: 0; } + .process-step:not(:last-child)::after { display: none; } +} +""" + + +def _prevent_orphan_chars(text): + """ + Prevent orphan characters at end of paragraphs. + Replace the last space/breakable point between the final two CJK chars + (or words) with   so the browser never wraps a single trailing char + onto its own line. + """ + # CJK orphan: bind last two CJK characters with a zero-width no-break joiner + # Match: (CJK char)(optional space)(CJK char) at end of string (before tags) + text = re.sub(r'([\u4e00-\u9fff\u3400-\u4dbf])[\s]+([\u4e00-\u9fff\u3400-\u4dbf])(?=\s*(?:<[^>]*>)*\s*$)', '\\g<1>\u2060\\g<2>', text) + # Latin orphan: bind last two words + text = re.sub(r'(\S+)\s+(\S+)\s*$', r'\1 \2', text) + return text + + +def simple_markdown_to_html(md_text): + """Lightweight markdown → HTML for Glass Canvas. Handles paragraphs, headers, bold, italic, lists, and inline code.""" + if not md_text: + return "" + + lines = md_text.split('\n') + html_parts = [] + in_list = False + paragraph_buffer = [] + + def flush_paragraph(): + nonlocal paragraph_buffer + if paragraph_buffer: + text = ' '.join(paragraph_buffer) + # Apply inline formatting + text = re.sub(r'\*\*(.*?)\*\*', r'<strong>\1</strong>', text) + text = re.sub(r'\*(.*?)\*', r'<em>\1</em>', text) + text = re.sub(r'`(.*?)`', r'<code style="background:var(--c-surface);padding:2px 6px;border-radius:3px;font-size:max(12px, 0.9em)">\1</code>', text) + # Anti-orphan: prevent single trailing character on last line + text = _prevent_orphan_chars(text) + html_parts.append(f'<p style="margin:0 0 12px 0;line-height:1.7">{text}</p>') + paragraph_buffer = [] + + def apply_inline(text): + """Apply bold, italic, inline code.""" + text = re.sub(r'\*\*(.*?)\*\*', r'<strong>\1</strong>', text) + text = re.sub(r'\*(.*?)\*', r'<em>\1</em>', text) + text = re.sub(r'`(.*?)`', r'<code style="background:var(--c-surface);padding:2px 6px;border-radius:3px;font-size:max(12px, 0.9em)">\1</code>', text) + return text + + for line in lines: + stripped = line.strip() + + # Empty line — flush paragraph + if not stripped: + flush_paragraph() + if in_list: + html_parts.append('</ul>') + in_list = False + continue + + # Headers + if stripped.startswith('### '): + flush_paragraph() + if in_list: + html_parts.append('</ul>') + in_list = False + html_parts.append(f'<h3 style="font-size:16px;font-weight:700;margin:20px 0 8px 0;color:var(--c-accent);text-transform:uppercase;letter-spacing:0.05em;">{apply_inline(stripped[4:])}</h3>') + continue + if stripped.startswith('## '): + flush_paragraph() + if in_list: + html_parts.append('</ul>') + in_list = False + html_parts.append(f'<h2 style="font-size:20px;font-weight:700;margin:24px 0 12px 0;color:var(--c-text)">{apply_inline(stripped[3:])}</h2>') + continue + if stripped.startswith('# '): + flush_paragraph() + if in_list: + html_parts.append('</ul>') + in_list = False + html_parts.append(f'<h1 style="font-size:24px;font-weight:800;margin:28px 0 14px 0;color:var(--c-text)">{apply_inline(stripped[2:])}</h1>') + continue + + # List items (- or *) + list_match = re.match(r'^[-*]\s+(.*)', stripped) + if list_match: + flush_paragraph() + if not in_list: + html_parts.append('<ul style="margin:8px 0;padding-left:20px;list-style-type:disc">') + in_list = True + html_parts.append(f'<li style="margin:4px 0;line-height:1.6">{apply_inline(list_match.group(1))}</li>') + continue + + # Numbered list items + num_match = re.match(r'^(\d+)[.)]\s+(.*)', stripped) + if num_match: + flush_paragraph() + if in_list: + html_parts.append('</ul>') + in_list = False + html_parts.append(f'<p style="margin:4px 0 4px 20px;line-height:1.6"><strong>{num_match.group(1)}.</strong> {apply_inline(num_match.group(2))}</p>') + continue + + # Normal text — accumulate into paragraph + paragraph_buffer.append(stripped) + + # Flush remaining + flush_paragraph() + if in_list: + html_parts.append('</ul>') + + return '\n'.join(html_parts) + + +def _parse_grid_area(comp): + """ + Parse grid_area from component JSON. + Accepts two formats: + - Array: [row_start, col_start, row_end, col_end] — 1-based, max 13. + - String: "row_start / col_start / row_end / col_end" — 1-based, max 13. + Returns CSS grid-area string or None. + """ + ga = comp.get("grid_area", None) + if ga is None: + return None + # Array format: [1, 1, 3, 5] + if isinstance(ga, list) and len(ga) == 4: + rs, cs, re, ce = [max(1, min(13, int(v))) for v in ga] + # Fix zero-height/zero-width grid areas (row_end must be > row_start) + if re <= rs: + re = min(13, rs + 1) + if ce <= cs: + ce = min(13, cs + 1) + return f"{rs} / {cs} / {re} / {ce}" + # String format: "1 / 1 / 3 / 5" + if isinstance(ga, str) and "/" in ga: + parts = [p.strip() for p in ga.split("/")] + if len(parts) == 4: + try: + rs, cs, re, ce = [max(1, min(13, int(p))) for p in parts] + # Fix zero-height/zero-width grid areas + if re <= rs: + re = min(13, rs + 1) + if ce <= cs: + ce = min(13, cs + 1) + return f"{rs} / {cs} / {re} / {ce}" + except ValueError: + pass + return None + + +def _parse_align(comp): + """ + Parse align from component JSON. + Format: "vertical / horizontal" where each is start|center|end. + Returns (align-items, justify-content) tuple. + """ + align = comp.get("align", "start / start") + if "/" in str(align): + parts = [p.strip() for p in str(align).split("/")] + v = parts[0] if parts[0] in ("start", "center", "end") else "start" + h = parts[1] if len(parts) > 1 and parts[1] in ("start", "center", "end") else "start" + else: + v, h = "start", "start" + return v, h + + +def _estimate_content_weight(comp): + """ + Estimate the visual weight (space needed) of a component based on its content. + Returns a numeric weight proportional to how many grid rows it should occupy. + + Text-heavy components (Glass_Canvas, Shaped_Canvas) get weight proportional to + character count. Fixed-height components (Stat_Block, Hero_Typography, etc.) get + a small fixed weight since they don't grow with content. + """ + ctype = comp.get("type", "") + + # Fixed-height components: their visual size is independent of text length + FIXED_WEIGHTS = { + "Hero_Typography": 2.5, + "Stat_Block": 2.0, + "Delta_Widget": 2.0, + "Hairline_Divider": 1.0, + "Floating_Meta": 1.0, # usually positioned in corners, but fallback + "Image_Asset": 3.0, + } + if ctype in FIXED_WEIGHTS: + return FIXED_WEIGHTS[ctype] + + # Text-heavy components: weight scales with content length + text = comp.get("markdown_content", "") or comp.get("body", "") or "" + + # Also count sub-items (Process_List steps) + for step in comp.get("steps", []): + text += step.get("title", "") + step.get("description", "") + + char_count = len(text) + + if ctype in ("Glass_Canvas", "Shaped_Canvas", "Process_List"): + # Rough estimate: ~40 CJK chars per line at 16px in a ~500px wide container, + # ~1.6 line-height, so each 40 chars ≈ 1 visual line ≈ ~25px. + # Grid row on a 960px canvas ≈ 80px each (960/12). + # So 40 chars ≈ 0.3 grid rows. But Glass_Canvas has padding (~72px total), + # headings, list spacing, etc. Add base weight for the container itself. + base = 2.0 # minimum for padding + heading + text_rows = char_count / 120.0 # ~120 chars per grid-row worth of space + return base + text_rows + + # Unknown component type: estimate from text length with a reasonable default + if char_count > 0: + return 2.0 + char_count / 120.0 + return 2.0 + + +def _assign_floating_meta(comp): + """Assign grid_area to a Floating_Meta component based on its position.""" + pos = comp.get("position", "top-right") + if "top" in pos and "left" in pos: + comp["grid_area"] = "1 / 1 / 2 / 7" + elif "top" in pos: + comp["grid_area"] = "1 / 7 / 2 / 13" + elif "bottom" in pos and "left" in pos: + comp["grid_area"] = "12 / 1 / 13 / 7" + else: + comp["grid_area"] = "12 / 7 / 13 / 13" + + +def _distribute_rows_by_weight(content_comps, start_row=1, end_row=13, full_width=True): + """ + Distribute grid rows among content components proportionally to their content weight. + Each component gets at least 2 rows. Components fill start_row to end_row seamlessly. + """ + nn = len(content_comps) + if nn == 0: + return + + total_rows = end_row - start_row # available rows + + # Calculate weights + weights = [_estimate_content_weight(c) for c in content_comps] + total_weight = sum(weights) + + if total_weight == 0: + total_weight = nn # fallback: equal distribution + weights = [1.0] * nn + + # Allocate rows proportionally, with minimum 2 per component + MIN_ROWS = 2 + raw_rows = [(w / total_weight) * total_rows for w in weights] + + # Ensure minimum, then redistribute excess + allocated = [] + for r in raw_rows: + allocated.append(max(MIN_ROWS, round(r))) + + # Adjust total to exactly fill the available rows + # First pass: if total exceeds available, shrink the largest allocations + while sum(allocated) > total_rows and any(a > MIN_ROWS for a in allocated): + max_idx = max(range(nn), key=lambda i: allocated[i]) + allocated[max_idx] -= 1 + + # Second pass: if total is less than available, grow the heaviest components + while sum(allocated) < total_rows: + max_weight_idx = max(range(nn), key=lambda i: weights[i]) + allocated[max_weight_idx] += 1 + + # Assign grid_area + col_start = 1 + col_end = 13 if full_width else 7 # can be overridden by caller + current_row = start_row + for j, comp in enumerate(content_comps): + rs = current_row + re = min(end_row, current_row + allocated[j]) + comp["grid_area"] = f"{rs} / {col_start} / {re} / {col_end}" + current_row = re + + +def _auto_assign_grid_areas(archetype, components): + """ + Auto-assign grid_area to components that don't have one, + based on the archetype and number of components. + Mutates components in-place. + Skips Page_Ghost_Number (uses absolute positioning, not grid). + + Uses content-aware row distribution: text-heavy components (Glass_Canvas) + get more rows than fixed-height components (Stat_Block, Hero_Typography). + """ + # Filter out ghost numbers — they use absolute positioning, not grid + gridded = [c for c in components if c.get("type") != "Page_Ghost_Number"] + + # Only process components without grid_area + needs_area = [c for c in gridded if not c.get("grid_area")] + if not needs_area: + return # All components already have grid_area + + n = len(gridded) + + if archetype == "cover_hero": + # Cover: stack vertically, full width, spread across page + # Typical: 2-4 components (Hero + Floating_Meta + optional divider/ghost) + if n <= 2: + slots = ["1 / 1 / 7 / 13", "9 / 1 / 13 / 13"] + elif n == 3: + slots = ["1 / 1 / 5 / 13", "5 / 1 / 9 / 13", "10 / 1 / 13 / 13"] + else: + slots = ["1 / 1 / 4 / 13", "4 / 1 / 7 / 13", "8 / 1 / 10 / 13", "10 / 1 / 13 / 13"] + for i, comp in enumerate(gridded): + if not comp.get("grid_area") and i < len(slots): + comp["grid_area"] = slots[i] + + elif archetype == "data_dashboard": + # Dashboard: tile components in a 2-column or 3-column grid + has_area = [c for c in gridded if c.get("grid_area")] + no_area = [c for c in gridded if not c.get("grid_area")] + nn = len(no_area) + if nn <= 2: + slots = ["1 / 1 / 7 / 7", "1 / 7 / 7 / 13"] + elif nn <= 4: + slots = ["1 / 1 / 7 / 7", "1 / 7 / 7 / 13", + "7 / 1 / 13 / 7", "7 / 7 / 13 / 13"] + elif nn <= 6: + slots = ["1 / 1 / 5 / 7", "1 / 7 / 5 / 13", + "5 / 1 / 9 / 7", "5 / 7 / 9 / 13", + "9 / 1 / 13 / 7", "9 / 7 / 13 / 13"] + elif nn <= 9: + slots = ["1 / 1 / 5 / 5", "1 / 5 / 5 / 9", "1 / 9 / 5 / 13", + "5 / 1 / 9 / 5", "5 / 5 / 9 / 9", "5 / 9 / 9 / 13", + "9 / 1 / 13 / 5", "9 / 5 / 13 / 9", "9 / 9 / 13 / 13"] + else: + # Too many: 3-col grid, auto-expand rows + slots = [] + cols = 3 + row_h = max(2, 12 // ((nn + cols - 1) // cols)) + for idx in range(nn): + r = idx // cols + c = idx % cols + rs = 1 + r * row_h + re = min(13, rs + row_h) + cs = 1 + c * 4 + ce = min(13, cs + 4) + slots.append(f"{rs} / {cs} / {re} / {ce}") + j = 0 + for comp in no_area: + if j < len(slots): + comp["grid_area"] = slots[j] + j += 1 + + elif archetype == "editorial_flow": + # Editorial: stack vertically, full width + # Handle Floating_Meta separately — assign to corners based on position + # Content components get rows proportional to their content weight + no_area = [c for c in gridded if not c.get("grid_area")] + content_comps = [] + for comp in no_area: + if comp.get("type") == "Floating_Meta": + _assign_floating_meta(comp) + else: + content_comps.append(comp) + if content_comps: + _distribute_rows_by_weight(content_comps, start_row=1, end_row=13, full_width=True) + + elif archetype == "split_vertical": + # Split: first half on left, second half on right + # Each side gets content-proportional row distribution + no_area = [c for c in gridded if not c.get("grid_area")] + nn = len(no_area) + mid = (nn + 1) // 2 + left = no_area[:mid] + right = no_area[mid:] + # Left column: cols 1-7 + if left: + weights_l = [_estimate_content_weight(c) for c in left] + total_w = sum(weights_l) or 1 + current = 1 + for j, comp in enumerate(left): + rows = max(2, round((weights_l[j] / total_w) * 12)) + rs = current + re = min(13, current + rows) + comp["grid_area"] = f"{rs} / 1 / {re} / 7" + current = re + # Right column: cols 7-13 + if right: + weights_r = [_estimate_content_weight(c) for c in right] + total_w = sum(weights_r) or 1 + current = 1 + for j, comp in enumerate(right): + rows = max(2, round((weights_r[j] / total_w) * 12)) + rs = current + re = min(13, current + rows) + comp["grid_area"] = f"{rs} / 7 / {re} / 13" + current = re + + elif archetype == "scattered_canvas": + # Scatter: distribute pseudo-randomly across the grid + no_area = [c for c in gridded if not c.get("grid_area")] + scatter_slots = [ + "1 / 1 / 5 / 6", "1 / 7 / 4 / 13", "5 / 3 / 9 / 10", + "6 / 1 / 10 / 5", "7 / 8 / 11 / 13", "10 / 2 / 13 / 8", + "10 / 8 / 13 / 13", "3 / 1 / 6 / 5", "1 / 4 / 4 / 10", + ] + for j, comp in enumerate(no_area): + if j < len(scatter_slots): + comp["grid_area"] = scatter_slots[j] + + elif archetype == "shaped_editorial": + # Shaped: main shaped canvas gets most of the page + no_area = [c for c in gridded if not c.get("grid_area")] + for j, comp in enumerate(no_area): + if comp.get("type") == "Shaped_Canvas": + comp["grid_area"] = "2 / 2 / 12 / 12" + elif comp.get("type") == "Floating_Meta": + _assign_floating_meta(comp) + else: + comp["grid_area"] = f"{1 + j * 3} / 1 / {min(13, 4 + j * 3)} / 13" + + # Fallback: if still no grid_area, make full-width stacked rows + # Uses content-aware distribution instead of equal division + remaining = [c for c in gridded if not c.get("grid_area")] + if remaining: + # First, handle Floating_Meta components by position + non_meta = [] + for comp in remaining: + if comp.get("type") == "Floating_Meta": + _assign_floating_meta(comp) + else: + non_meta.append(comp) + # Then distribute rows proportionally to content weight + if non_meta: + _distribute_rows_by_weight(non_meta, start_row=1, end_row=13, full_width=True) + + +def _wrap_grid_item(comp, inner_html): + """Wrap a rendered component in a .grid-item div with grid positioning.""" + grid_area_css = _parse_grid_area(comp) + v_align, h_align = _parse_align(comp) + + # Glass_Canvas and Process_List should stretch to fill their grid area + ctype = comp.get("type", "") + if ctype in ("Glass_Canvas", "Process_List"): + v_align = "stretch" + + style_parts = [] + if grid_area_css: + style_parts.append(f"grid-area: {grid_area_css}") + style_parts.append(f"align-items: {v_align}") + style_parts.append(f"justify-content: {h_align}") + + style = "; ".join(style_parts) + ";" + return f'<div class="grid-item" style="{style}">\n{inner_html}</div>\n' + + +def render_component(comp): + """Convert a JSON component object into HTML string, wrapped in grid-item.""" + # Flatten nested "content" and "style" dicts into top-level for compat + # e.g. {"content": {"heading": "Hi"}} → {"heading": "Hi"} + _content = comp.get("content", None) + if isinstance(_content, dict): + for k, v in _content.items(): + if k not in comp: + comp[k] = v + _style = comp.get("style", None) + if isinstance(_style, dict): + for k, v in _style.items(): + if k not in comp: + comp[k] = v + + ctype = comp.get("type", "") + inner = "" + + if ctype == "Hero_Typography": + weight = comp.get("weight", "black") + heading = comp.get("heading", "") + subheading = comp.get("subheading", "") + # Fallback: if "content" is a plain string, use it as heading + raw_content = comp.get("content", "") + if not heading and isinstance(raw_content, str) and raw_content: + heading = raw_content + # Sanitize consecutive <br> — collapse 3+ into max 2 + heading = re.sub(r'(<br\s*/?>){3,}', '<br><br>', heading) + if subheading: + subheading = re.sub(r'(<br\s*/?>){3,}', '<br><br>', subheading) + scale = comp.get("scale", None) + # Build inline style from both scale and custom style props + style_parts = [] + if scale is not None and 1 <= int(scale) <= 6: + style_parts.append(f"font-size: var(--text-scale-{int(scale)})") + heading_font_size = comp.get("heading_font_size", "") + heading_color = comp.get("heading_color", "") + heading_ls = comp.get("heading_letter_spacing", "") + text_align = comp.get("text_align", "") + if heading_font_size: + style_parts.append(f"font-size: {heading_font_size}") + if heading_color: + style_parts.append(f"color: {heading_color}") + if heading_ls: + style_parts.append(f"letter-spacing: {heading_ls}") + if text_align: + style_parts.append(f"text-align: {text_align}") + h_style = f' style="{"; ".join(style_parts)}"' if style_parts else "" + inner = f'<h1 class="hero-type weight-{weight}"{h_style}>{heading}</h1>\n' + if subheading: + sub_style_parts = [] + sub_fs = comp.get("subheading_font_size", "") + sub_color = comp.get("subheading_color", "") + sub_ls = comp.get("subheading_letter_spacing", "") + if sub_fs: + sub_style_parts.append(f"font-size: {sub_fs}") + if sub_color: + sub_style_parts.append(f"color: {sub_color}") + if sub_ls: + sub_style_parts.append(f"letter-spacing: {sub_ls}") + if text_align: + sub_style_parts.append(f"text-align: {text_align}") + s_style = f' style="{"; ".join(sub_style_parts)}"' if sub_style_parts else "" + inner += f'<p class="hero-sub"{s_style}>{subheading}</p>\n' + + elif ctype == "Glass_Canvas": + md = comp.get("markdown_content", "") or comp.get("body", "") + html_content = simple_markdown_to_html(md) + # Build inline style from custom style props + gs_parts = ["width:100%", "min-height:100%", "box-sizing:border-box"] + + # --- Auto font-size scaling for Glass_Canvas --- + # When content is too long for the allocated grid rows, shrink font-size + # to avoid overflow into adjacent components. + # Estimation: ~80 chars per row at 16px base font-size (with padding). + user_font_size = comp.get("font_size", "") + if not user_font_size: # Only auto-scale when user hasn't set a custom size + grid_area_str = comp.get("grid_area", "") + if grid_area_str: + try: + ga_parts = [int(x.strip()) for x in grid_area_str.split("/")] + allocated_rows = ga_parts[2] - ga_parts[0] # row_end - row_start + content_len = len(md) + chars_per_row = 80 # approximate chars that fit in one grid row at 16px + needed_rows = max(1, content_len / chars_per_row) + if needed_rows > allocated_rows: + # Scale down proportionally, but never below 12px + scale = allocated_rows / needed_rows + new_size = max(12, int(16 * scale)) + if new_size < 16: + gs_parts.append(f"font-size: {new_size}px") + except (ValueError, IndexError): + pass + + for prop in ["background", "border", "border_radius", "padding", "font_size", "color", "line_height", "text_align"]: + val = comp.get(prop, "") + if val: + css_prop = prop.replace("_", "-") + gs_parts.append(f"{css_prop}: {val}") + grid_style = "; ".join(gs_parts) + ";" + tension = comp.get("tension_score", None) + if tension is not None: + weight = int(300 + (float(tension) * 600)) + inner = f'<div class="glass-canvas" style="{grid_style}font-variation-settings: \'wght\' {weight};">{html_content}</div>\n' + else: + inner = f'<div class="glass-canvas" style="{grid_style}">{html_content}</div>\n' + + elif ctype == "Floating_Meta": + pos = comp.get("position", "top-left") + items_html = "".join([f"<span>{item}</span>" for item in comp.get("items", [])]) + fm_style_parts = [] + for prop in ["font_size", "color", "letter_spacing", "text_align"]: + val = comp.get(prop, "") + if val: + fm_style_parts.append(f"{prop.replace('_', '-')}: {val}") + fm_style = f' style="{"; ".join(fm_style_parts)}"' if fm_style_parts else "" + inner = f'<div class="floating-meta pos-{pos}"{fm_style}>{items_html}</div>\n' + + elif ctype == "Stat_Block": + inner = f'''<div class="stat-block"> + <div><span class="stat-num">{comp.get("number", "")}</span><span class="stat-unit">{comp.get("unit", "")}</span></div> + <span class="stat-label">{comp.get("label", "")}</span> + </div>\n''' + + elif ctype == "Hairline_Divider": + style = comp.get("style", "bleed") + inner = f'<hr class="hairline style-{style}">\n' + + elif ctype == "Page_Ghost_Number": + # Ghost numbers are decorative overlays — still use absolute positioning + return f'<div class="page-ghost">{comp.get("number", "")}</div>\n' + + elif ctype == "Shaped_Canvas": + shape = comp.get("shape_keyword", "circle") + md = comp.get("markdown_content", "") or comp.get("body", "") + html_content = simple_markdown_to_html(md) + sc_style_parts = [] + for prop in ["background", "border", "border_radius", "padding"]: + val = comp.get(prop, "") + if val: + sc_style_parts.append(f"{prop.replace('_', '-')}: {val}") + sc_style = f' style="{"; ".join(sc_style_parts)}"' if sc_style_parts else "" + inner = f'''<div class="shaped-canvas"{sc_style}> + <div class="shape-float shape-{shape}" aria-hidden="true"></div> + <div class="shaped-content">{html_content}</div> +</div>\n''' + + elif ctype == "Image_Asset": + src = comp.get("src", "") + alt = comp.get("alt", "") + fit = comp.get("object_fit", "cover") + inner = f'<img src="{src}" alt="{alt}" style="width:100%;height:100%;object-fit:{fit};border-radius:2px;" />\n' + + elif ctype == "Sidenote_Block": + label = comp.get("label", "") + body = comp.get("body", "") or comp.get("markdown_content", "") + html_body = simple_markdown_to_html(body) + label_html = f'<span class="sidenote-label">{label}</span>' if label else "" + inner = f'<div class="sidenote">{label_html}{html_body}</div>\n' + # Sidenotes bypass grid-item wrapping for Tufte layout — returned raw + return inner + + elif ctype == "Delta_Widget": + metric = comp.get("metric", "") + value = comp.get("value", "") + delta = comp.get("delta", "") + trend = comp.get("trend", "up") # up / down / flat + label = comp.get("label", "") + trend_symbol = {"up": "▲", "down": "▼", "flat": "─"}.get(trend, "") + trend_color = {"up": "#22c55e", "down": "#ef4444", "flat": "var(--c-muted)"}.get(trend, "var(--c-muted)") + inner = f'''<div class="delta-widget"> + <div class="delta-metric">{metric}</div> + <div class="delta-value">{value}</div> + <div class="delta-change" style="color:{trend_color}"><span>{trend_symbol}</span> {delta}</div> + <div class="delta-label">{label}</div> +</div>\n''' + + elif ctype == "Process_List": + steps = comp.get("steps", []) + steps_html = "" + for i, step in enumerate(steps): + title = step.get("title", "") + desc = step.get("description", "") + steps_html += f'<li class="process-step"><span class="step-num">{i+1}</span><div><div class="step-title">{title}</div><div class="step-desc">{desc}</div></div></li>\n' + inner = f'<div class="process-list-container"><ul class="process-list">{steps_html}</ul></div>\n' + + else: + return f"<!-- Unknown component: {ctype} -->\n" + + return _wrap_grid_item(comp, inner) + + +def compile_blueprint(json_path, output_html_path): + """Reads the LLM JSON blueprint and generates the final poster.html""" + with open(json_path, 'r', encoding='utf-8') as f: + blueprint = json.load(f) + + art = blueprint.get("art_direction", {}) + # Intent: auto-derive from document title if not explicitly provided + doc_title = blueprint.get("document_meta", {}).get("title", "") + intent = art.get("intent", None) + if not intent: + intent = derive_intent(doc_title) if doc_title else "neutral" + intent = intent.lower() + mode = art.get("palette_mode", "minimal").lower() + harmony = art.get("color_harmony", "auto").lower() # "auto" → intent-based recommendation + svg_type = art.get("background_svg", "flow") + pages = blueprint.get("pages", []) + total_pages = len(pages) + + # 1. Compute Aesthetics — three pillars: intent + mode + harmony + palette = generate_color_palette(intent, mode, harmony=harmony) + css_vars = palette_to_css(palette) + + # Detect if any component uses tension_score → switch to Variable Font URL + has_tension = False + for page in pages: + for comp in page.get("components", []): + if comp.get("tension_score") is not None: + has_tension = True + break + if has_tension: + break + + # Generate SVG backgrounds + canvas_w = art.get("canvas_width", 720) + canvas_h = art.get("canvas_height", 960) + use_continuous = total_pages > 1 # Multi-page → continuous canvas mode + continuous_svgs = None + unified_svg = "" + bg_svg = "" + if use_continuous and svg_type != "none": + # Generate one unified SVG spanning the entire document + unified_svg = generate_unified_svg(canvas_w, canvas_h, total_pages, svg_type, palette['accent']) + elif not use_continuous: + if svg_type == "continuous_flow" and total_pages > 1: + continuous_svgs = generate_continuous_flow_svg(canvas_w, canvas_h, total_pages, palette['accent']) + elif svg_type != "none": + bg_svg = generate_generative_svg(svg_type, canvas_w, canvas_h, palette['accent']) + + # Font URL: use variable axis range if tension is active + if has_tension: + font_url = "https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Noto+Sans+SC:wght@300;400;500;700;900&family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&display=swap" + else: + font_url = "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&family=Noto+Sans+SC:wght@300;400;500;700;900&family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&display=swap" + + # 1b. Dynamic Gap — intent-driven grid density + # If the LLM explicitly sets grid_gap in art_direction, use that (override). + # Otherwise, derive from intent. + explicit_gap = art.get("grid_gap", None) + if explicit_gap is not None: + dynamic_gap = str(explicit_gap) if "px" in str(explicit_gap) else f"{explicit_gap}px" + else: + gap_mapping = { + "serenity": "48px", + "elegance": "32px", + "minimalism": "40px", + "warmth": "24px", + "neutral": "16px", + "tension": "8px", + "energy": "4px", + } + dynamic_gap = gap_mapping.get(intent, "16px") + + # 2. Build override CSS for custom canvas size, background, bleed + override_css = "" + override_css += f":root {{ --canvas-w: {canvas_w}px; --canvas-h: {canvas_h}px; }}\n" + # @page size MUST use concrete values (CSS variables are NOT resolved in @page rules) + override_css += f"@page {{ size: {canvas_w}px {canvas_h}px; margin: 0; }}\n" + # html/body must match canvas size for full-bleed PDF output + # Use min-height (not height) so content taller than canvas_h expands naturally + override_css += f"html, body {{ width: {canvas_w}px; min-height: {canvas_h}px; }}\n" + bg_color = art.get("background_color", "") + if bg_color: + override_css += f".canvas {{ background: {bg_color}; }}\n" + override_css += f".continuous-canvas {{ background: {bg_color}; }}\n" + if art.get("bleed", False): + override_css += ".safe-zone { inset: 0 !important; padding: 0 !important; }\n" + + # Screen preview: inject concrete scale value (CSS calc with var may not work in scale) + override_css += f"@media screen {{ body {{ scale: min(1, calc(100vw / {canvas_w}), calc(100vh / {canvas_h})); }} }}\n" + + # 3. Build HTML Document + html = f"""<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <link href="{font_url}" rel="stylesheet"> + <title>{blueprint.get("document_meta", {}).get("title", "Document")} + + + +""" + + # 3. Render Pages + if use_continuous: + # ═══ CONTINUOUS CANVAS MODE ═══ + # Render all pages as one seamless surface, then let Playwright's page.pdf() slice it. + total_height = canvas_h * total_pages + html += f'\n
\n' + + # Unified background SVG spanning the entire document + if unified_svg: + html += f'
{unified_svg}
\n' + + # Render each page as an absolutely-positioned section within the continuous canvas + for page_idx, page in enumerate(pages): + archetype = page.get("archetype", "cover_hero") + page_top = page_idx * canvas_h + + # Auto-assign grid areas + _auto_assign_grid_areas(archetype, page.get("components", [])) + + # Cognitive Load Margins + total_chars = 0 + sidenotes = [] + main_components = [] + for comp in page.get("components", []): + text_content = comp.get("markdown_content", "") or comp.get("body", "") or "" + total_chars += len(text_content) + if comp.get("type") == "Sidenote_Block": + sidenotes.append(comp) + else: + main_components.append(comp) + for step in comp.get("steps", []): + total_chars += len(step.get("title", "")) + len(step.get("description", "")) + + if total_chars > 500: + safe_inset = "8% 10%" + elif total_chars > 200: + safe_inset = "10% 12%" + else: + safe_inset = "" + safe_inset_style = f" inset: {safe_inset};" if safe_inset else "" + + # Page section: positioned absolutely within continuous canvas + html += f'\n
\n' + + # Per-page data-driven SVG background (overlays on top of unified bg) + if svg_type != "none": + data_points = None + for comp in page.get("components", []): + dp = comp.get("data_points") + if dp and isinstance(dp, list) and all(isinstance(x, (int, float)) for x in dp): + data_points = dp + break + if data_points and len(data_points) >= 2: + page_svg = _generate_data_driven_svg(data_points, canvas_w, canvas_h, palette['accent']) + html += f'
{page_svg}
\n' + + # Tufte layout + if archetype == "tufte_report" and sidenotes: + html += f'
\n' + html += f'
\n' + for comp in main_components: + html += " " + render_component(comp) + html += '
\n' + html += '
\n' + for comp in sidenotes: + html += " " + render_component(comp) + html += '
\n' + html += '
\n' + else: + html += f'
\n' + for comp in page.get("components", []): + html += " " + render_component(comp) + html += '
\n' + + html += '
\n' + + html += '
\n' + + else: + # ═══ LEGACY PER-PAGE MODE (single-page documents) ═══ + for page_idx, page in enumerate(pages): + archetype = page.get("archetype", "cover_hero") + + _auto_assign_grid_areas(archetype, page.get("components", [])) + + total_chars = 0 + sidenotes = [] + main_components = [] + for comp in page.get("components", []): + text_content = comp.get("markdown_content", "") or comp.get("body", "") or "" + total_chars += len(text_content) + if comp.get("type") == "Sidenote_Block": + sidenotes.append(comp) + else: + main_components.append(comp) + for step in comp.get("steps", []): + total_chars += len(step.get("title", "")) + len(step.get("description", "")) + + if total_chars > 500: + safe_inset = "8% 10%" + elif total_chars > 200: + safe_inset = "10% 12%" + else: + safe_inset = "" + safe_inset_style = f" inset: {safe_inset};" if safe_inset else "" + + page_svg = "" + if svg_type != "none": + data_points = None + for comp in page.get("components", []): + dp = comp.get("data_points") + if dp and isinstance(dp, list) and all(isinstance(x, (int, float)) for x in dp): + data_points = dp + break + if data_points and len(data_points) >= 2: + page_svg = _generate_data_driven_svg(data_points, canvas_w, canvas_h, palette['accent']) + elif continuous_svgs and page_idx < len(continuous_svgs): + page_svg = continuous_svgs[page_idx] + elif bg_svg: + page_svg = bg_svg + + html += f'\n
\n' + if page_svg: + html += f'
{page_svg}
\n' + + if archetype == "tufte_report" and sidenotes: + html += f'
\n' + html += f'
\n' + for comp in main_components: + html += " " + render_component(comp) + html += '
\n' + html += '
\n' + for comp in sidenotes: + html += " " + render_component(comp) + html += '
\n' + html += '
\n
\n' + else: + html += f'
\n' + for comp in page.get("components", []): + html += " " + render_component(comp) + html += '
\n\n' + + html += "\n" + + # 4. Save + with open(output_html_path, 'w', encoding='utf-8') as f: + f.write(html) + + return output_html_path, palette + +if __name__ == "__main__": + main() diff --git a/skills/pdf/scripts/html2pdf-next.js b/skills/pdf/scripts/html2pdf-next.js new file mode 100755 index 0000000..38db256 --- /dev/null +++ b/skills/pdf/scripts/html2pdf-next.js @@ -0,0 +1,754 @@ +#!/usr/bin/env node +/** + * html2pdf-next.js — HTML → PDF converter using Playwright + pdf-lib + * + * Drop-in replacement for html2pdf.js, WITHOUT Paged.js dependency. + * Uses Chromium native @page CSS for pagination + pdf-lib for post-processing. + * + * Usage: + * node html2pdf-next.js input.html + * node html2pdf-next.js input.html --output result.pdf + * node html2pdf-next.js input.html --css extra.css + * node html2pdf-next.js input.html --width 720px --height 960px + * node html2pdf-next.js input.html --direct (same as default now — no Paged.js to skip) + * node html2pdf-next.js input.html --merge a.pdf b.pdf (merge additional PDFs after) + * + * Architecture: + * 1. Playwright renders HTML → raw PDF via Chromium's native print engine + * 2. Pre-render hooks: Mermaid, KaTeX, oversized element fixes + * 3. Post-render: pdf-lib for merge, metadata, page count extraction + * 4. No Paged.js, no paged.polyfill.js — CSS @page handles pagination natively + */ + +const fs = require('fs'); +const path = require('path'); +const { execSync, spawnSync } = require('child_process'); + +const sleep = ms => new Promise(r => setTimeout(r, ms)); + +// ═══════════════════════════════════════════════════════════════════ +// Playwright / Chromium resolution (self-contained, no external helper) +// ═══════════════════════════════════════════════════════════════════ + +function loadPlaywright() { + // Try direct require first + try { return require('playwright'); } catch (_) {} + + // Search common global paths + const Module = require('module'); + const roots = new Set(); + if (process.env.PLAYWRIGHT_PATH) roots.add(process.env.PLAYWRIGHT_PATH); + if (process.env.NODE_PATH) { + process.env.NODE_PATH.split(path.delimiter).filter(Boolean).forEach(p => roots.add(p)); + } + try { + const g = execSync('npm root -g', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim(); + if (g) roots.add(g); + } catch (_) {} + + for (const base of roots) { + const pkg = path.join(base, 'playwright', 'package.json'); + if (!fs.existsSync(pkg)) continue; + try { return Module.createRequire(pkg)('playwright'); } catch (_) {} + } + throw new Error('Playwright not found. Install: npm install -g playwright'); +} + +function loadPdfLib() { + try { return require('pdf-lib'); } catch (_) {} + const Module = require('module'); + try { + const g = execSync('npm root -g', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim(); + const pkg = path.join(g, 'pdf-lib', 'package.json'); + if (fs.existsSync(pkg)) return Module.createRequire(pkg)('pdf-lib'); + } catch (_) {} + throw new Error('pdf-lib not found. Install: npm install -g pdf-lib'); +} + +function resolveChromium(chromiumObj, allowInstall = false) { + let exe; + try { exe = chromiumObj.executablePath(); } catch (_) { exe = null; } + + if (exe && fs.existsSync(exe)) { + return { status: 'ok', executablePath: exe }; + } + + // Try system Chrome/Chromium + const candidates = [ + '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', + '/Applications/Chromium.app/Contents/MacOS/Chromium', + '/usr/bin/chromium-browser', '/usr/bin/chromium', '/usr/bin/google-chrome', + ]; + if (process.env.PLAYWRIGHT_CHROMIUM_PATH) candidates.unshift(process.env.PLAYWRIGHT_CHROMIUM_PATH); + + for (const c of candidates) { + if (fs.existsSync(c)) return { status: 'fallback', executablePath: c }; + } + + if (allowInstall) { + const r = spawnSync('npx', ['playwright', 'install', 'chromium'], { stdio: 'inherit', shell: true }); + if (r.status === 0) { + try { exe = chromiumObj.executablePath(); } catch (_) {} + if (exe && fs.existsSync(exe)) return { status: 'installed', executablePath: exe }; + } + } + + return { status: 'missing', executablePath: exe || '' }; +} + +// ═══════════════════════════════════════════════════════════════════ +// CLI +// ═══════════════════════════════════════════════════════════════════ + +function cli() { + const tokens = process.argv.slice(2); + if (!tokens.length || tokens[0] === '-h' || tokens[0] === '--help') { + console.log(` +Usage: node html2pdf-next.js [options] + +Options: + --output, -o Output PDF path (default: .pdf) + --css Inject extra stylesheet + --width Custom page width (e.g. 720px) + --height Custom page height (e.g. 960px) + --direct (no-op, kept for backward compat — always direct now) + --merge Append additional PDF files after conversion + --title Set PDF document title metadata + --help, -h Show help +`); + process.exit(0); + } + + const inputFile = tokens[0]; + let outputFile = null, customCSS = null, width = null, height = null; + let mergeFiles = [], title = null; + + for (let i = 1; i < tokens.length; i++) { + const t = tokens[i]; + if (t === '--output' || t === '-o') outputFile = tokens[++i]; + else if (t === '--css') customCSS = tokens[++i]; + else if (t === '--width') width = tokens[++i]; + else if (t === '--height') height = tokens[++i]; + else if (t === '--direct') { /* no-op, always direct */ } + else if (t === '--title') title = tokens[++i]; + else if (t === '--merge') { + while (i + 1 < tokens.length && !tokens[i + 1].startsWith('--')) { + mergeFiles.push(tokens[++i]); + } + } + } + + if (!outputFile) { + const p = path.parse(inputFile); + outputFile = path.join(p.dir || '.', p.name + '.pdf'); + } + + return { inputFile, outputFile, customCSS, width, height, mergeFiles, title }; +} + +// ═══════════════════════════════════════════════════════════════════ +// Helpers +// ═══════════════════════════════════════════════════════════════════ + +function prettyBytes(n) { + const units = ['B', 'KB', 'MB', 'GB']; + let u = 0; + while (n >= 1024 && u < units.length - 1) { n /= 1024; u++; } + return `${n.toFixed(1)} ${units[u]}`; +} + +// ═══════════════════════════════════════════════════════════════════ +// Pre-render hooks (run in browser context before PDF export) +// ═══════════════════════════════════════════════════════════════════ + +async function preRenderHooks(page) { + const warnings = []; + + // 1. Wait for Mermaid diagrams + const hasMermaid = await page.evaluate(() => document.querySelectorAll('.mermaid').length > 0); + if (hasMermaid) { + console.log(' ⏳ Waiting for Mermaid diagrams...'); + try { + await page.waitForFunction(() => { + for (const m of document.querySelectorAll('.mermaid')) + if (!m.querySelector('svg') && !m.getAttribute('data-processed')) return false; + return true; + }, { timeout: 30000 }); + await sleep(2000); + console.log(' ✓ Mermaid rendered'); + } catch (_) { + warnings.push('Mermaid rendering timed out (30s)'); + } + } + + // 2. Trigger KaTeX math rendering + const katexStatus = await page.evaluate(() => ({ + lib: typeof renderMathInElement === 'function' || typeof katex !== 'undefined', + rendered: document.querySelectorAll('.katex').length > 0, + raw: /\$[^$]+\$|\$\$[^$]+\$\$|\\\(.*?\\\)|\\\[.*?\\\]/.test(document.body.innerText), + })); + + // Auto-inject KaTeX CDN if raw math detected but library not loaded + if (!katexStatus.lib && katexStatus.raw && !katexStatus.rendered) { + console.log(' ⏳ Auto-injecting KaTeX CDN (math formulas detected but KaTeX not loaded)...'); + await page.addStyleTag({ url: 'https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/katex.min.css' }); + await page.addScriptTag({ url: 'https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/katex.min.js' }); + await page.addScriptTag({ url: 'https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/contrib/auto-render.min.js' }); + await sleep(2000); // Wait for CDN scripts to load + // Re-check + const recheckLib = await page.evaluate(() => typeof renderMathInElement === 'function'); + if (recheckLib) { + console.log(' ✓ KaTeX CDN loaded successfully'); + } else { + console.log(' ⚠ KaTeX CDN failed to load — math will render as raw text'); + warnings.push('KaTeX CDN injection failed; math formulas may appear as raw LaTeX code'); + } + } + + // Re-evaluate after potential CDN injection + const katexReady = await page.evaluate(() => ({ + lib: typeof renderMathInElement === 'function' || typeof katex !== 'undefined', + rendered: document.querySelectorAll('.katex').length > 0, + raw: /\$[^$]+\$|\$\$[^$]+\$\$|\\\(.*?\\\)|\\\[.*?\\\]/.test(document.body.innerText), + })); + + if (katexReady.lib && !katexReady.rendered && katexReady.raw) { + console.log(' ⏳ Triggering KaTeX rendering...'); + await page.evaluate(() => { + if (typeof renderMathInElement === 'function') + renderMathInElement(document.body, { + delimiters: [ + { left: '$$', right: '$$', display: true }, + { left: '$', right: '$', display: false }, + { left: '\\(', right: '\\)', display: false }, + { left: '\\[', right: '\\]', display: true }, + ], + throwOnError: false, + }); + }); + await sleep(1000); + console.log(' ✓ KaTeX rendered'); + } else if (katexReady.rendered) { + await sleep(500); // Font loading settle + } + + // 3. Fix oversized elements that prevent page breaks + const nFixed = await page.evaluate(() => { + const LIMIT = 1000; + let n = 0; + document.querySelectorAll( + '[style*="page-break-inside: avoid"],[style*="break-inside: avoid"],' + + '.avoid-break,table,figure,.theorem,.algorithm' + ).forEach(el => { + if (el.getBoundingClientRect().height > LIMIT) { + el.style.pageBreakInside = 'auto'; + el.style.breakInside = 'auto'; + n++; + } + }); + return n; + }); + if (nFixed) { + console.log(` ⚠ Fixed ${nFixed} oversized elements (removed break-inside: avoid)`); + } + + // 4. Detect overflow (horizontal AND vertical) + const overflows = await page.evaluate(() => { + const out = []; + document.querySelectorAll('pre,table,figure,img,svg,.mermaid,blockquote,.equation').forEach(el => { + const hDiff = el.scrollWidth - el.clientWidth; + const vDiff = el.scrollHeight - el.clientHeight; + if (hDiff > 2 || vDiff > 2) out.push({ + tag: el.tagName.toLowerCase(), + cls: el.className || '', + hOverflow: hDiff > 2 ? hDiff : 0, + vOverflow: vDiff > 2 ? vDiff : 0, + preview: (el.textContent || '').slice(0, 50).replace(/\s+/g, ' '), + }); + }); + return out; + }); + if (overflows.length) { + console.log(' ⚠ Overflow detected:'); + overflows.forEach(o => { + const parts = []; + if (o.hOverflow) parts.push(`H +${o.hOverflow}px`); + if (o.vOverflow) parts.push(`V +${o.vOverflow}px`); + console.log(` <${o.tag}${o.cls ? '.' + o.cls.split(' ')[0] : ''}> ${parts.join(', ')}`); + }); + warnings.push(`${overflows.length} element(s) have overflow`); + } + + // 4b. Fix vertical overflow on page-level containers + // When html/body or the main content canvas has a fixed height + overflow:hidden, + // content gets clipped. For documents (html2pdf-next.js), we DON'T expand the + // container to its scrollHeight — that creates an oversized single "page" that + // Playwright splits unevenly. Instead, we remove the fixed height and overflow:hidden + // so content flows naturally and @page CSS handles pagination. + // + // (The old "expand to scrollHeight" logic belongs in html2poster.js where a single + // continuous canvas is the desired output.) + const vOverflowFix = await page.evaluate(() => { + const fixes = []; + // Candidates: html, body, and any direct child of body that acts as a full-page canvas + const candidates = [document.documentElement, document.body]; + const bodyChildren = document.body.children; + for (let i = 0; i < bodyChildren.length; i++) { + const child = bodyChildren[i]; + // Skip SVG defs, script, style elements + const tag = child.tagName.toLowerCase(); + if (tag === 'svg' || tag === 'script' || tag === 'style' || tag === 'link') continue; + candidates.push(child); + // Also check one level deeper (e.g., .canvas > .content) + for (let j = 0; j < child.children.length; j++) { + const grandchild = child.children[j]; + const gtag = grandchild.tagName.toLowerCase(); + if (gtag === 'svg' || gtag === 'script' || gtag === 'style') continue; + candidates.push(grandchild); + } + } + + for (const el of candidates) { + const computed = getComputedStyle(el); + const overflow = computed.overflow || computed.overflowY; + const hasHiddenOverflow = overflow === 'hidden' || overflow === 'clip'; + const diff = el.scrollHeight - el.clientHeight; + + if (hasHiddenOverflow && diff > 5) { + // This element is clipping content vertically + const tag = el.tagName.toLowerCase(); + const id = el.id ? `#${el.id}` : ''; + const cls = el.className ? `.${String(el.className).split(' ')[0]}` : ''; + const selector = `${tag}${id}${cls}`; + + const oldHeight = el.clientHeight; + + // Document mode: remove fixed height + overflow:hidden, + // let @page handle natural pagination + el.style.height = 'auto'; + el.style.minHeight = 'auto'; + el.style.maxHeight = 'none'; + el.style.overflow = 'visible'; + el.style.overflowY = 'visible'; + + fixes.push({ + selector, + oldHeight, + clipped: diff, + }); + } + } + + // After fixing containers, re-measure to get the final content height + const finalHeight = Math.max( + document.documentElement.scrollHeight, + document.body.scrollHeight + ); + + return { fixes, finalHeight }; + }); + + if (vOverflowFix.fixes.length) { + console.log(' ⚠️ Removed fixed height + overflow:hidden — content will paginate naturally:'); + vOverflowFix.fixes.forEach(f => { + console.log(` ${f.selector}: was ${f.oldHeight}px with ${f.clipped}px clipped → now auto (content will flow to next page)`); + }); + } + + // 4c. Convert absolute-bottom elements to document flow + // Elements with `position: absolute; bottom: Npx` inside page containers + // are pinned relative to their containing block. When content paginates + // across multiple @page pages, these elements either overlap with body + // text or land on the wrong page. Fix: convert them to static positioning + // so they participate in normal document flow and paginate naturally. + const absBottomFix = await page.evaluate(() => { + const converted = []; + // Scan inside page-level containers (body children and their children) + const containers = []; + for (let i = 0; i < document.body.children.length; i++) { + const child = document.body.children[i]; + const tag = child.tagName.toLowerCase(); + if (tag === 'svg' || tag === 'script' || tag === 'style' || tag === 'link') continue; + containers.push(child); + } + + for (const container of containers) { + const descendants = container.querySelectorAll('*'); + for (const el of descendants) { + const computed = getComputedStyle(el); + if (computed.position === 'absolute' && computed.bottom !== 'auto' && computed.bottom !== '') { + // Check if this element contains visible text (not just decorative) + const hasText = el.textContent && el.textContent.trim().length > 0; + if (!hasText) continue; + + const tag = el.tagName.toLowerCase(); + const id = el.id ? `#${el.id}` : ''; + const cls = el.className ? `.${String(el.className).split(' ')[0]}` : ''; + const selector = `${tag}${id}${cls}`; + + // Convert to static flow: remove absolute positioning + el.style.position = 'static'; + el.style.bottom = 'auto'; + el.style.left = 'auto'; + el.style.right = 'auto'; + // Preserve horizontal padding/margin from the original left/right values + // by keeping any existing padding or margin on the element + + converted.push({ selector, bottom: computed.bottom }); + } + } + } + return converted; + }); + + if (absBottomFix.length) { + console.log(' ⚠️ Converted absolute-bottom elements to document flow (prevents overlap on multi-page):'); + absBottomFix.forEach(f => { + console.log(` ${f.selector}: was position:absolute;bottom:${f.bottom} → now static (flows with content)`); + }); + } + + // 5. Inject minimal @page CSS fallback + await page.evaluate(() => { + const styles = Array.from(document.querySelectorAll('style')); + const hasPageRule = styles.some(s => (s.textContent || '').includes('@page')); + if (!hasPageRule) { + const s = document.createElement('style'); + s.textContent = `@page { margin: 20mm; }`; + document.head.appendChild(s); + } + }); + + // 6. Fix full-page cover sections for print + // In screen mode, height:100vh = viewport height. In print mode, 100vh ≠ page height. + // Detect elements using 100vh and convert to print-safe page-filling behavior. + const coverFixed = await page.evaluate(() => { + let fixed = 0; + // Find elements with height: 100vh (inline or computed) + const allEls = document.querySelectorAll('*'); + for (const el of allEls) { + const style = el.style; + const computed = getComputedStyle(el); + const isVh = style.height === '100vh' || computed.height === '100vh' || + style.minHeight === '100vh' || computed.minHeight === '100vh'; + // Also detect via class name hints + const isCover = el.classList.contains('cover') || el.classList.contains('cover-page') || + el.id === 'cover' || el.getAttribute('data-role') === 'cover'; + if (isVh || (isCover && el.offsetHeight > 0)) { + // Force the element to fill the print page + el.style.height = '100vh'; + el.style.minHeight = '100vh'; + el.style.pageBreakAfter = 'always'; + el.style.pageBreakInside = 'avoid'; + el.style.boxSizing = 'border-box'; + el.style.overflow = 'hidden'; + fixed++; + } + } + // Inject print-specific CSS to make 100vh work correctly + if (fixed > 0) { + const s = document.createElement('style'); + s.textContent = ` + @media print { + .cover, .cover-page, [data-role="cover"] { + height: 100vh !important; + min-height: 100vh !important; + page-break-after: always !important; + page-break-inside: avoid !important; + overflow: hidden !important; + } + } + `; + document.head.appendChild(s); + } + return fixed; + }); + if (coverFixed) { + console.log(` ✓ Fixed ${coverFixed} full-page cover section(s) for print`); + // Also inject named @page rule for cover with zero margins + await page.evaluate(() => { + const s = document.createElement('style'); + s.textContent = ` + @page cover-page { + margin: 0 !important; + } + @media print { + .cover, .cover-page, [data-role="cover"] { + page: cover-page; + margin: 0 !important; + padding: 40px !important; + } + } + `; + document.head.appendChild(s); + }); + } + + return { warnings, contentHeight: vOverflowFix.finalHeight }; +} + +// ═══════════════════════════════════════════════════════════════════ +// Content statistics (post-render, from PDF or page) +// ═══════════════════════════════════════════════════════════════════ + +async function collectStats(page) { + return page.evaluate(() => { + const body = document.body; + const text = body.innerText || ''; + const zhChars = (text.match(/[\u4e00-\u9fa5]/g) || []).length; + const enWords = (text.match(/[a-zA-Z]+/g) || []).length; + return { + wordCount: zhChars + enWords, + figures: document.querySelectorAll('figure,.figure,img').length, + tables: document.querySelectorAll('table').length, + }; + }); +} + +// ═══════════════════════════════════════════════════════════════════ +// pdf-lib post-processing: page count, metadata, merge +// ═══════════════════════════════════════════════════════════════════ + +async function postProcess(pdfPath, options = {}) { + const { PDFDocument } = loadPdfLib(); + const pdfBytes = fs.readFileSync(pdfPath); + const doc = await PDFDocument.load(pdfBytes); + + // Set metadata + if (options.title) doc.setTitle(options.title); + doc.setProducer('html2pdf-next (Playwright + pdf-lib)'); + doc.setCreationDate(new Date()); + + const pageCount = doc.getPageCount(); + + // Merge additional PDFs + if (options.mergeFiles && options.mergeFiles.length) { + for (const mf of options.mergeFiles) { + if (!fs.existsSync(mf)) { + console.log(` ⚠ Merge file not found: ${mf}`); + continue; + } + console.log(` 📎 Merging: ${path.basename(mf)}`); + const donorBytes = fs.readFileSync(mf); + const donorDoc = await PDFDocument.load(donorBytes); + const copiedPages = await doc.copyPages(donorDoc, donorDoc.getPageIndices()); + copiedPages.forEach(p => doc.addPage(p)); + } + } + + // Save + const finalBytes = await doc.save(); + fs.writeFileSync(pdfPath, finalBytes); + + return { pageCount: doc.getPageCount(), originalPages: pageCount }; +} + +// ═══════════════════════════════════════════════════════════════════ +// Main pipeline +// ═══════════════════════════════════════════════════════════════════ + +async function convert(inputFile, outputFile, customCSS, options = {}) { + const { width, height, mergeFiles, title } = options; + + if (!fs.existsSync(inputFile)) { + console.error(`✗ File not found: ${inputFile}`); + process.exit(1); + } + + const playwright = loadPlaywright(); + const { chromium } = playwright; + + // Resolve browser + const canInstall = process.env.PDF_SKIP_BROWSER_INSTALL !== '1'; + const bInfo = resolveChromium(chromium, canInstall); + + if (bInfo.status === 'missing') { + console.error('\n✗ Chromium not found. Run: npx playwright install chromium\n'); + process.exit(2); + } + if (bInfo.status === 'fallback') { + console.log(`⚠ Using fallback Chromium: ${bInfo.executablePath}`); + } + + const absIn = path.resolve(inputFile); + const absOut = path.resolve(outputFile); + + console.log(`\n🔄 Converting ${path.basename(inputFile)}...`); + console.log(` Engine: Playwright + Chromium native @page (no Paged.js)`); + + // Read and optionally inject CSS + let html = fs.readFileSync(absIn, 'utf-8'); + if (customCSS) { + if (!fs.existsSync(customCSS)) { + console.error(`✗ CSS file not found: ${customCSS}`); + process.exit(1); + } + const tag = ``; + html = html.includes('') ? html.replace('', tag + '\n') : tag + '\n' + html; + // Write modified HTML for Playwright to load + const tmpHtml = absIn + '.tmp.html'; + fs.writeFileSync(tmpHtml, html); + // We'll clean up later + } + + // Launch browser + let browser; + try { + const opts = { headless: true }; + if (bInfo.status === 'fallback') opts.executablePath = bInfo.executablePath; + browser = await chromium.launch(opts); + } catch (err) { + const msg = err.message || ''; + if (msg.includes('shared libraries') || msg.includes('.so')) { + console.error('\n✗ Missing system libraries. Run: npx playwright install-deps chromium\n'); + } else { + console.error(`\n✗ Browser launch failed: ${msg}\n`); + } + process.exit(1); + } + + try { + const page = await browser.newPage(); + const loadFile = customCSS ? absIn + '.tmp.html' : absIn; + await page.goto('file://' + loadFile, { waitUntil: 'networkidle' }); + + // ── Pre-render hooks ── + console.log('\n📋 Pre-render checks:'); + const preRenderResult = await preRenderHooks(page); + const warnings = preRenderResult.warnings; + const measuredContentHeight = preRenderResult.contentHeight; + + // ── Detect continuous-canvas mode (design_engine.py output) ── + const continuousInfo = await page.evaluate(() => { + const el = document.querySelector('.continuous-canvas'); + if (!el) return null; + const root = getComputedStyle(document.documentElement); + return { + width: root.getPropertyValue('--canvas-w').trim() || '720px', + height: root.getPropertyValue('--canvas-h').trim() || '960px', + pages: el.querySelectorAll('.page-section').length, + }; + }); + + if (continuousInfo) { + // Creative PDF: seamless multi-page canvas + console.log(`\n🎨 Continuous canvas: ${continuousInfo.pages} pages @ ${continuousInfo.width} × ${continuousInfo.height}`); + await page.pdf({ + path: absOut, + printBackground: true, + margin: { top: 0, right: 0, bottom: 0, left: 0 }, + width: continuousInfo.width, + height: continuousInfo.height, + }); + } else { + // Standard document + console.log('\n📄 Rendering PDF...'); + const pdfOpts = { + path: absOut, + printBackground: true, + preferCSSPageSize: true, + tagged: true, + }; + + if (width || height) { + if (width) pdfOpts.width = width; + if (height) pdfOpts.height = height; + pdfOpts.margin = { top: 0, right: 0, bottom: 0, left: 0 }; + console.log(` Custom size: ${pdfOpts.width || 'auto'} × ${pdfOpts.height || 'auto'}`); + } else { + // No explicit size: check if @page CSS defines a fixed size + const pageSize = await page.evaluate(() => { + const styles = Array.from(document.querySelectorAll('style')); + for (const s of styles) { + const text = s.textContent || ''; + const match = text.match(/@page\s*\{[^}]*size:\s*([\d.]+)px\s+([\d.]+)px/); + if (match) return { width: parseFloat(match[1]), height: parseFloat(match[2]) }; + } + return null; + }); + + if (pageSize) { + // @page defines a fixed size — use preferCSSPageSize (already set above). + // Playwright will paginate content at @page height boundaries seamlessly. + // This is correct for both posters (seamless multi-page) and documents. + pdfOpts.margin = { top: 0, right: 0, bottom: 0, left: 0 }; + console.log(` @page size: ${pageSize.width}px × ${pageSize.height}px`); + if (measuredContentHeight && measuredContentHeight > pageSize.height + 5) { + const estPages = Math.ceil(measuredContentHeight / pageSize.height); + console.log(` Content height: ${measuredContentHeight}px → ~${estPages} pages`); + } + } else { + pdfOpts.format = 'A4'; + } + } + + await page.pdf(pdfOpts); + } + + // Collect content stats from the page + const stats = await collectStats(page); + + // ── pdf-lib post-processing ── + console.log('\n🔧 Post-processing (pdf-lib):'); + const postResult = await postProcess(absOut, { mergeFiles, title }); + + // Clean up temp HTML + const tmpHtml = absIn + '.tmp.html'; + if (fs.existsSync(tmpHtml)) fs.unlinkSync(tmpHtml); + + // ── Report ── + const sz = fs.statSync(absOut).size; + console.log('\n' + '═'.repeat(40)); + console.log(' PDF Generated Successfully'); + console.log('═'.repeat(40)); + console.log(` File: ${path.basename(absOut)}`); + console.log(` Pages: ${postResult.pageCount}`); + console.log(` Size: ${prettyBytes(sz)}`); + console.log(` Words: ~${stats.wordCount.toLocaleString()}`); + console.log(` Assets: ${stats.figures} figures, ${stats.tables} tables`); + console.log(` Engine: Playwright (no Paged.js)`); + console.log(` Path: ${absOut}`); + + if (mergeFiles && mergeFiles.length && postResult.pageCount > postResult.originalPages) { + console.log(` Merged: +${postResult.pageCount - postResult.originalPages} pages from ${mergeFiles.length} file(s)`); + } + + if (warnings.length) { + console.log('\n⚠ Warnings:'); + warnings.forEach(w => console.log(` · ${w}`)); + } + + // Anomaly detection + if (postResult.pageCount > 1 && stats.wordCount > 0) { + const avgWordsPerPage = stats.wordCount / postResult.pageCount; + if (avgWordsPerPage < 30) { + console.log(`\n⚠ Low content density: ~${Math.round(avgWordsPerPage)} words/page (expected 100+)`); + } + } + + } catch (err) { + console.error('\n✗ Conversion failed:', err.message); + process.exit(1); + } finally { + await browser.close(); + } +} + +// ═══════════════════════════════════════════════════════════════════ +// Entry +// ═══════════════════════════════════════════════════════════════════ + +(async () => { + try { + const args = cli(); + await convert(args.inputFile, args.outputFile, args.customCSS, { + width: args.width, + height: args.height, + mergeFiles: args.mergeFiles, + title: args.title, + }); + } catch (err) { + console.error('Error:', err.message); + process.exit(1); + } +})(); diff --git a/skills/pdf/scripts/html2poster.js b/skills/pdf/scripts/html2poster.js new file mode 100755 index 0000000..6c7b677 --- /dev/null +++ b/skills/pdf/scripts/html2poster.js @@ -0,0 +1,256 @@ +#!/usr/bin/env node +/** + * html2poster.js — Single-page poster/long-image HTML → PDF converter + * + * Purpose: Convert a fixed-width, dynamic-height HTML poster into a single-page + * vector PDF with zero margins. This script is PURPOSE-BUILT for posters and + * infographics — it does NOT handle multi-page documents, A4 pagination, or + * document-style margins. For those, use html2pdf-next.js. + * + * Usage: + * node html2poster.js poster.html + * node html2poster.js poster.html --output out.pdf + * node html2poster.js poster.html --width 720px + * node html2poster.js poster.html --width 720px --max-height 8000 + * + * What it does (in order): + * 1. Load HTML in Playwright + * 2. Force overflow:hidden on .poster/.page containers (clip decorative overflow) + * 3. Inject @page { margin: 0 } (override any existing margin) + * 4. Ensure html/body have margin:0, padding:0, matching background + * 5. Measure .poster scrollHeight (actual content height) + * 6. Generate single-page PDF with exact dimensions + * + * What it does NOT do: + * - No pagination / page breaks + * - No A4 fallback + * - No margin injection (always zero) + * - No cover adaptation + * - No pdf-lib post-processing + * - No continuous-canvas detection + * - No vertical overflow expansion (posters WANT overflow:hidden) + */ + +const fs = require('fs'); +const path = require('path'); +const { spawnSync } = require('child_process'); + +// ── Chromium resolution (shared logic with html2pdf-next.js) ── + +function resolveChromium(chromiumObj) { + let exe; + try { exe = chromiumObj.executablePath(); } catch (_) { exe = null; } + if (exe && fs.existsSync(exe)) return { status: 'ok', executablePath: exe }; + + const candidates = [ + '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', + '/Applications/Chromium.app/Contents/MacOS/Chromium', + '/usr/bin/chromium-browser', '/usr/bin/chromium', '/usr/bin/google-chrome', + ]; + if (process.env.PLAYWRIGHT_CHROMIUM_PATH) candidates.unshift(process.env.PLAYWRIGHT_CHROMIUM_PATH); + + for (const c of candidates) { + if (fs.existsSync(c)) return { status: 'fallback', executablePath: c }; + } + return { status: 'missing', executablePath: exe || '' }; +} + +// ── CLI parsing ── + +function parseArgs(argv) { + const tokens = argv.slice(2); + let input = null, output = null, width = '720px', maxHeight = 16000; + + for (let i = 0; i < tokens.length; i++) { + const t = tokens[i]; + if (t === '--output' || t === '-o') output = tokens[++i]; + else if (t === '--width') width = tokens[++i]; + else if (t === '--max-height') maxHeight = parseInt(tokens[++i], 10); + else if (t === '--help' || t === '-h') { + console.log(` +Usage: node html2poster.js [options] + +Options: + --output, -o Output PDF path (default: input with .pdf extension) + --width Poster width (default: 720px) + --max-height Maximum allowed height in px (default: 16000, safety limit) + -h, --help Show this help +`); + process.exit(0); + } + else if (!input) input = t; + else if (!output) output = t; + } + + if (!input) { + console.error('Error: No input HTML file specified.'); + process.exit(1); + } + + if (!output) { + output = input.replace(/\.html?$/i, '.pdf'); + if (output === input) output = input + '.pdf'; + } + + return { input, output, width, maxHeight }; +} + +// ── Main ── + +async function main() { + const { input, output, width, maxHeight } = parseArgs(process.argv); + const absIn = path.resolve(input); + const absOut = path.resolve(output); + + if (!fs.existsSync(absIn)) { + console.error(`Error: File not found: ${absIn}`); + process.exit(1); + } + + console.log(`\n🖼 html2poster — Single-page poster PDF generator`); + console.log(` Input: ${absIn}`); + console.log(` Output: ${absOut}`); + console.log(` Width: ${width}`); + + // Load Playwright + let playwright; + try { + playwright = require('playwright'); + } catch { + try { + playwright = require('playwright-core'); + } catch { + console.error('Error: playwright or playwright-core not installed.'); + process.exit(1); + } + } + + const { chromium } = playwright; + const bInfo = resolveChromium(chromium); + + if (bInfo.status === 'missing') { + console.error('Error: No Chromium found. Run: npx playwright install chromium'); + process.exit(1); + } + if (bInfo.status === 'fallback') { + console.log(` ⚠ Using fallback Chromium: ${bInfo.executablePath}`); + } + + // Launch browser + const launchOpts = { headless: true }; + if (bInfo.status === 'fallback') launchOpts.executablePath = bInfo.executablePath; + + const browser = await chromium.launch(launchOpts); + + try { + // Use a wide viewport so content doesn't wrap unexpectedly + const widthPx = parseInt(width, 10) || 720; + const page = await browser.newPage({ viewport: { width: widthPx, height: 1200 } }); + + await page.goto('file://' + absIn, { waitUntil: 'networkidle' }); + console.log(`\n ✓ HTML loaded`); + + // ── Step 1: Force overflow:hidden on page containers ── + // Decorative elements with negative offsets or width>100% inflate scrollWidth, + // causing Playwright to shrink content to fit. overflow:hidden clips them. + const overflowFixed = await page.evaluate(() => { + const selectors = ['.poster', '.page', '#poster', '#page']; + let fixed = 0; + for (const sel of selectors) { + const el = document.querySelector(sel); + if (!el) continue; + const computed = getComputedStyle(el); + if (computed.overflow !== 'hidden') { + el.style.overflow = 'hidden'; + fixed++; + } + } + return fixed; + }); + if (overflowFixed > 0) { + console.log(` ✓ Added overflow:hidden to ${overflowFixed} container(s)`); + } + + // ── Step 2: Inject @page { margin: 0 } — override any existing @page rule ── + await page.evaluate(() => { + const s = document.createElement('style'); + // Use !important-equivalent: place at end so it wins cascade + s.textContent = `@page { margin: 0 !important; size: auto; }`; + document.head.appendChild(s); + }); + + // ── Step 3: Ensure html/body have zero margin/padding ── + const bgSync = await page.evaluate(() => { + const html = document.documentElement; + const body = document.body; + html.style.margin = '0'; + html.style.padding = '0'; + body.style.margin = '0'; + body.style.padding = '0'; + + // Sync body background with poster background to avoid color gaps + const poster = document.querySelector('.poster') || document.querySelector('.page'); + if (poster) { + const posterBg = getComputedStyle(poster).backgroundColor; + if (posterBg && posterBg !== 'rgba(0, 0, 0, 0)' && posterBg !== 'transparent') { + body.style.backgroundColor = posterBg; + html.style.backgroundColor = posterBg; + return posterBg; + } + } + return null; + }); + if (bgSync) { + console.log(` ✓ Synced body background: ${bgSync}`); + } + + // ── Step 4: Measure actual content height ── + const measurement = await page.evaluate(() => { + const poster = document.querySelector('.poster') || document.querySelector('.page') || document.body; + return { + scrollHeight: poster.scrollHeight, + scrollWidth: poster.scrollWidth, + offsetWidth: poster.offsetWidth, + selector: poster.className ? '.' + poster.className.split(' ')[0] : poster.tagName, + }; + }); + + console.log(` ✓ Measured: ${measurement.selector} = ${measurement.scrollWidth}×${measurement.scrollHeight}px`); + + if (measurement.scrollWidth > widthPx + 2) { + console.log(` ⚠ WARNING: scrollWidth (${measurement.scrollWidth}px) > width (${widthPx}px)`); + console.log(` Decorative elements may still overflow. Check for position:absolute elements with negative offsets.`); + } + + let contentHeight = measurement.scrollHeight; + if (contentHeight > maxHeight) { + console.log(` ⚠ Content height ${contentHeight}px exceeds max ${maxHeight}px, clamping.`); + contentHeight = maxHeight; + } + if (contentHeight < 100) { + console.log(` ⚠ Content height ${contentHeight}px seems too small, using 960px fallback.`); + contentHeight = 960; + } + + // ── Step 5: Generate PDF ── + console.log(`\n 📄 Generating PDF: ${width} × ${contentHeight}px`); + await page.pdf({ + path: absOut, + width: width, + height: contentHeight + 'px', + printBackground: true, + margin: { top: '0', right: '0', bottom: '0', left: '0' }, + }); + + console.log(`\n ✅ Done: ${absOut}`); + console.log(` Size: ${(fs.statSync(absOut).size / 1024).toFixed(1)} KB`); + + } finally { + await browser.close(); + } +} + +main().catch(err => { + console.error(`\n✗ Fatal: ${err.message}`); + process.exit(1); +}); diff --git a/skills/pdf/scripts/pdf.py b/skills/pdf/scripts/pdf.py new file mode 100755 index 0000000..16221a4 --- /dev/null +++ b/skills/pdf/scripts/pdf.py @@ -0,0 +1,2959 @@ +#!/usr/bin/env python3 +""" +PDF Processing Toolkit — All-in-One CLI + +Usage: + python3 pdf.py [args...] + +Commands: + env.check [--json] Check environment dependencies + env.fix Auto-install missing dependencies + + extract.text [-p pages] + extract.table [-p pages] + extract.image -o + + pages.merge ... -o + pages.split -o + pages.rotate -o [-p pages] + pages.crop -o [-p pages] + + meta.get + meta.set -o -d + meta.brand ... [-o ] [-t title] [-q] + + form.info + form.fill -o -d + form.detail + form.fill-legacy + form.annotate + form.render [--max-dim N] + form.validate + form.check-bbox + + pages.clean -o Remove blank pages + + convert.office [-o ] + convert.html [-o ] [--css ] + convert.blueprint [-o ] + convert.latex [--runs N] [--keep-logs] + + palette.generate [--title "..."] [--mode minimal] [--format python|json|css] + palette.cascade [--title "..."] [--mode minimal] [--format summary|json|css|reportlab] + + code.sanitize + content.sanitize [--apply] Fix content issues (CJK, encoding) + + font.check + + toc.check +""" + +from __future__ import annotations + +import html +import json +import os +import re +import shutil +import subprocess +import sys +from dataclasses import dataclass +from datetime import datetime +from pathlib import Path +from typing import Any, Callable, Dict, List, Optional, Set, Tuple + + +# ═══════════════════════════════════════════════════════════════ +# Section 0: Framework — Output, @cmd registry, CLI parser +# ═══════════════════════════════════════════════════════════════ + +class Output: + """Structured JSON output for all subcommands.""" + + @staticmethod + def success(data: dict): + payload = {"status": "success", "data": data} + sys.stdout.write(json.dumps(payload, ensure_ascii=False, indent=2) + "\n") + raise SystemExit(0) + + @staticmethod + def error(error: str, message: str, hint: Optional[str] = None, code: int = 1): + payload = {"status": "error", "error": error, "message": message} + if hint is not None: + payload["hint"] = hint + sys.stderr.write(json.dumps(payload, ensure_ascii=False, indent=2) + "\n") + raise SystemExit(code) + + @staticmethod + def check_file(filepath: str) -> Path: + target = Path(filepath) + if not target.exists(): + Output.error("FileNotFound", f"File not found: {filepath}", code=2) + return target + + +# Command registry +_COMMANDS: Dict[str, Callable] = {} + + +def cmd(name: str): + """Decorator to register a CLI command under a dotted namespace.""" + def decorator(fn: Callable) -> Callable: + _COMMANDS[name] = fn + return fn + return decorator + + +def _pop_flag(argv: list, short: str, long: str, needs_value: bool = True): + """Extract a flag (and optional value) from *argv* in-place.""" + for idx, tok in enumerate(argv): + if tok in (short, long): + argv.pop(idx) + if needs_value: + if idx < len(argv): + return argv.pop(idx) + Output.error("MissingArg", f"Flag {long} requires a value") + return True + return None + + +def _load_json_arg(argv: list) -> dict: + """Read JSON from -d/--data string or -f/--file path.""" + raw = _pop_flag(argv, "-d", "--data") + if raw is not None: + try: + return json.loads(raw) + except json.JSONDecodeError as exc: + Output.error("InvalidJSON", f"JSON parse error: {exc}") + + fpath = _pop_flag(argv, "-f", "--file") + if fpath is not None: + try: + with open(fpath) as fh: + return json.load(fh) + except Exception as exc: + Output.error("FileError", f"Failed to read file: {exc}") + + Output.error("MissingData", "Requires --data or --file argument") + + +def _resolve_page_indices(range_spec: Optional[str], page_count: int) -> List[int]: + """Turn a human-friendly range string (1-indexed) into a sorted list of 0-based indices.""" + if not range_spec: + return list(range(page_count)) + indices: Set[int] = set() + for segment in range_spec.split(","): + segment = segment.strip() + if "-" in segment: + lo, hi = segment.split("-", 1) + for i in range(int(lo) - 1, min(int(hi), page_count)): + indices.add(i) + else: + val = int(segment) - 1 + if 0 <= val < page_count: + indices.add(val) + return sorted(indices) + + +_SCRIPT_DIR = Path(__file__).resolve().parent + + +# ═══════════════════════════════════════════════════════════════ +# Section 1: env — environment diagnostics and auto-fix +# ═══════════════════════════════════════════════════════════════ + +def _probe_cmd(name: str, version_args: Optional[List[str]] = None) -> Tuple[str, str]: + """Check if a command exists and optionally get its version. Returns (status, detail).""" + path = shutil.which(name) + if path is None: + return ("missing", "") + if version_args is None: + return ("ok", "") + try: + result = subprocess.run( + [path] + version_args, + capture_output=True, text=True, timeout=10 + ) + ver = result.stdout.strip() or result.stderr.strip() + return ("ok", ver) + except Exception: + return ("ok", "") + + +def _probe_python_module(mod_name: str) -> Tuple[str, str]: + """Check if a Python module is importable and get its version.""" + try: + result = subprocess.run( + [sys.executable, "-c", f"import {mod_name}; print(getattr({mod_name}, '__version__', 'installed'))"], + capture_output=True, text=True, timeout=10 + ) + if result.returncode == 0: + return ("ok", result.stdout.strip()) + return ("missing", "") + except Exception: + return ("missing", "") + + +def _probe_node() -> Tuple[str, str]: + s, d = _probe_cmd("node", ["--version"]) + if s == "ok" and d: + d = d.lstrip("v") + return (s, d) + + +def _probe_python() -> Tuple[str, str]: + try: + import platform + return ("ok", platform.python_version()) + except Exception: + return ("ok", "") + + +def _probe_libreoffice() -> Tuple[str, str]: + candidates = [ + "/Applications/LibreOffice.app/Contents/MacOS/soffice", + os.path.expanduser("~/Applications/LibreOffice.app/Contents/MacOS/soffice"), + "/usr/bin/soffice", + "/usr/local/bin/soffice", + "/usr/lib/libreoffice/program/soffice", + "/opt/libreoffice/program/soffice", + "/snap/bin/libreoffice.soffice", + ] + for c in candidates: + if Path(c).is_file(): + return ("ok", "") + for alias in ("soffice", "libreoffice"): + if shutil.which(alias): + return ("ok", "") + return ("missing", "") + + +def _probe_tectonic() -> Tuple[str, str]: + home_bin = Path.home() / "tectonic" + if home_bin.exists() and os.access(home_bin, os.X_OK): + return ("ok", "") + tec_local = _SCRIPT_DIR / "tectonic" + if tec_local.exists() and os.access(tec_local, os.X_OK): + return ("ok", "") + if shutil.which("tectonic"): + return ("ok", "") + return ("missing", "") + + +def _probe_playwright_npm() -> Tuple[str, str]: + """Check if playwright npm package is installed.""" + try: + result = subprocess.run( + ["node", "-e", "console.log(require('playwright/package.json').version)"], + capture_output=True, text=True, timeout=10 + ) + if result.returncode == 0 and result.stdout.strip(): + return ("ok", result.stdout.strip()) + except Exception: + pass + # Try global + try: + result = subprocess.run( + ["npm", "list", "-g", "playwright", "--depth=0"], + capture_output=True, text=True, timeout=15 + ) + import re as _re + m = _re.search(r"playwright@(\S+)", result.stdout) + if m: + return ("ok", m.group(1)) + except Exception: + pass + return ("missing", "") + + +def _probe_chromium() -> Tuple[str, str]: + """Check if Playwright Chromium browser is installed.""" + import platform as _platform + home = Path.home() + if _platform.system() == "Darwin": + cache_dir = home / "Library" / "Caches" / "ms-playwright" + else: + cache_dir = home / ".cache" / "ms-playwright" + if cache_dir.is_dir(): + for entry in sorted(cache_dir.iterdir(), reverse=True): + if "chromium" in entry.name.lower(): + return ("ok", entry.name) + return ("missing", "") + + +@cmd("env.check") +def env_check(argv: list): + """Check environment dependencies.""" + use_json = _pop_flag(argv, "-j", "--json", needs_value=False) + + s_node = _probe_node() + s_pw = _probe_playwright_npm() + s_cr = _probe_chromium() + s_py = _probe_python() + s_pike = _probe_python_module("pikepdf") + s_plumb = _probe_python_module("pdfplumber") + s_lo = _probe_libreoffice() + s_tec = _probe_tectonic() + s_pw_py = _probe_python_module("playwright") + + if use_json: + report = { + "html_route": { + "node": s_node[0], "node_version": s_node[1], + "playwright": s_pw[0], "playwright_version": s_pw[1], + "chromium": s_cr[0], "chromium_detail": s_cr[1], + }, + "process_route": { + "python3": s_py[0], "python3_version": s_py[1], + "pikepdf": s_pike[0], "pikepdf_version": s_pike[1], + "pdfplumber": s_plumb[0], "pdfplumber_version": s_plumb[1], + "playwright_python": s_pw_py[0], "playwright_python_version": s_pw_py[1], + }, + "optional": { + "libreoffice": s_lo[0], + "tectonic": s_tec[0], + }, + } + sys.stdout.write(json.dumps(report, ensure_ascii=False, indent=2) + "\n") + # Determine exit code + rc = 0 + for v in [s_node, s_pw, s_cr, s_py, s_pike, s_plumb]: + if v[0] != "ok": + rc = 2 + break + raise SystemExit(rc) + + # Human-readable output + rc = 0 + + def show(name: str, status: Tuple[str, str], optional: bool = False): + nonlocal rc + s, d = status + if s == "ok": + detail = f" ({d})" if d else "" + print(f" \u2713 {name}{detail}") + elif optional: + print(f" \u25cb {name} (optional, not installed)") + else: + print(f" \u2717 {name} (missing)") + rc = 2 + + print("=== PDF Skill Environment ===\n") + print("--- HTML Route ---") + show("node", s_node) + show("playwright", s_pw) + show("chromium", s_cr) + + print("\n--- Process Route ---") + show("python3", s_py) + show("pikepdf", s_pike) + show("pdfplumber", s_plumb) + if s_pw_py[0] == "ok": + print(f" (playwright-python: {s_pw_py[1]})") + + print("\n--- Optional ---") + show("libreoffice", s_lo, optional=True) + show("tectonic", s_tec, optional=True) + + print("\n=== Install Commands ===") + print(" Node.js: brew install node (macOS) / apt install nodejs (Ubuntu)") + print(" Playwright: npm install -g playwright && npx playwright install chromium") + print(" Python: brew install python3 (macOS) / apt install python3 (Ubuntu)") + print(" pikepdf: pip install pikepdf pdfplumber --user") + print(" LibreOffice: brew install --cask libreoffice (macOS)") + print(" Tectonic: curl -fsSL https://drop-sh.fullyjustified.net | sh") + raise SystemExit(rc) + + +@cmd("env.fix") +def env_fix(argv: list): + """Auto-install missing Python dependencies.""" + modules = { + "pikepdf": "pikepdf", + "pdfplumber": "pdfplumber", + "pypdf": "pypdf", + "pdf2image": "pdf2image", + "PIL": "Pillow", + } + installed = [] + for mod, pkg in modules.items(): + s, _ = _probe_python_module(mod) + if s == "missing": + print(f"Installing {pkg}...") + for attempt in ( + [sys.executable, "-m", "pip", "install", "-q", pkg], + [sys.executable, "-m", "pip", "install", "-q", "--user", pkg], + [sys.executable, "-m", "pip", "install", "-q", "--break-system-packages", pkg], + ): + result = subprocess.run(attempt, capture_output=True, text=True) + if result.returncode == 0: + installed.append(pkg) + break + else: + print(f" Failed to install {pkg}") + + if installed: + print(f"\nInstalled: {', '.join(installed)}") + else: + print("All Python dependencies are already installed.") + raise SystemExit(0) + + +# ═══════════════════════════════════════════════════════════════ +# Section 2: extract — text, tables, and embedded images +# ═══════════════════════════════════════════════════════════════ + +@cmd("extract.text") +def extract_text(argv: list): + """Pull plain text from selected pages.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + page_range = _pop_flag(argv, "-p", "--pages") + + import pdfplumber + src = Output.check_file(pdf_path) + try: + doc = pdfplumber.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + total_pages = len(doc.pages) + target_pages = _resolve_page_indices(page_range, total_pages) + char_total = 0 + page_results = [] + + for pg_idx in target_pages: + content = doc.pages[pg_idx].extract_text() or "" + char_total += len(content) + page_results.append({"page": pg_idx + 1, "chars": len(content), "text": content}) + + doc.close() + Output.success({ + "total_pages": total_pages, + "extracted_pages": len(target_pages), + "total_chars": char_total, + "pages": page_results, + }) + + +@cmd("extract.table") +def extract_table(argv: list): + """Locate and return every table on selected pages.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + page_range = _pop_flag(argv, "-p", "--pages") + + import pdfplumber + src = Output.check_file(pdf_path) + try: + doc = pdfplumber.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + total_pages = len(doc.pages) + target_pages = _resolve_page_indices(page_range, total_pages) + collected = [] + + for pg_idx in target_pages: + for tbl_num, raw_table in enumerate(doc.pages[pg_idx].extract_tables()): + if not raw_table: + continue + sanitised = [ + [(cell.strip() if cell else "") for cell in row] + for row in raw_table + ] + collected.append({ + "page": pg_idx + 1, + "table_index": tbl_num, + "rows": len(sanitised), + "cols": len(sanitised[0]) if sanitised else 0, + "data": sanitised, + }) + + doc.close() + Output.success({ + "total_pages": total_pages, + "extracted_pages": len(target_pages), + "total_tables": len(collected), + "tables": collected, + }) + + +@cmd("extract.image") +def extract_image(argv: list): + """Save every embedded raster image to output dir.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + out_dir = _pop_flag(argv, "-o", "--output") or "." + + import pikepdf + src = Output.check_file(pdf_path) + dest = Path(out_dir) + dest.mkdir(parents=True, exist_ok=True) + + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + saved = [] + seq = 0 + _EXT_MAP = { + "/DCTDecode": "jpg", + "/FlateDecode": "png", + "/JPXDecode": "jp2", + } + + for page_no, pg in enumerate(doc.pages, 1): + res = pg.get("/Resources") + if res is None or "/XObject" not in res: + continue + for key, ref in res.XObject.items(): + try: + img_obj = doc.get_object(ref.objgen) + if img_obj.get("/Subtype") != "/Image": + continue + seq += 1 + w = int(img_obj.get("/Width", 0)) + h = int(img_obj.get("/Height", 0)) + filt = img_obj.get("/Filter") + ext = _EXT_MAP.get(str(filt) if filt else None, "bin") + fname = f"page{page_no}_img{seq}.{ext}" + out_file = dest / fname + out_file.write_bytes(img_obj.read_raw_bytes()) + saved.append({ + "page": page_no, "name": str(key), "file": str(out_file), + "width": w, "height": h, "format": ext, + }) + except Exception: + continue + + doc.close() + Output.success({"output_dir": str(dest), "total_images": len(saved), "images": saved}) + + +# ═══════════════════════════════════════════════════════════════ +# Section 3: pages — merge, split, rotate, crop +# ═══════════════════════════════════════════════════════════════ + +@cmd("pages.merge") +def pages_merge(argv: list): + """Concatenate several PDF files into one.""" + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + if not argv: + Output.error("MissingArg", "At least one PDF required") + + import pikepdf + sources = [Output.check_file(p) for p in argv] + handles = [] + try: + combined = pikepdf.new() + descriptions = [] + for src in sources: + handle = pikepdf.open(src) + handles.append(handle) + n = len(handle.pages) + descriptions.append(f"{src.name} ({n} pages)") + for pg in handle.pages: + combined.pages.append(pg) + total = len(combined.pages) + combined.save(out_path) + combined.close() + except Exception as exc: + Output.error("MergeError", f"Merge failed: {exc}", code=4) + finally: + for h in handles: + try: + h.close() + except Exception: + pass + + Output.success({"output": out_path, "total_pages": total, "sources": descriptions}) + + +@cmd("pages.split") +def pages_split(argv: list): + """Write each page as a separate single-page PDF.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + out_dir = _pop_flag(argv, "-o", "--output") or "." + + import pikepdf + src = Output.check_file(pdf_path) + dest = Path(out_dir) + dest.mkdir(parents=True, exist_ok=True) + + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + generated = [] + base = src.stem + try: + for idx, pg in enumerate(doc.pages, 1): + fp = dest / f"{base}_page{idx:03d}.pdf" + single_doc = pikepdf.new() + single_doc.pages.append(pg) + single_doc.save(fp) + single_doc.close() + generated.append(str(fp)) + doc.close() + except Exception as exc: + Output.error("SplitError", f"Split failed: {exc}", code=4) + + Output.success({"output_dir": str(dest), "total_pages": len(generated), "files": generated}) + + +@cmd("pages.rotate") +def pages_rotate(argv: list): + """Rotate selected pages by 90/180/270 degrees.""" + if len(argv) < 2: + Output.error("MissingArg", "pdf path and degrees required") + pdf_path = argv.pop(0) + degrees = int(argv.pop(0)) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + page_range = _pop_flag(argv, "-p", "--pages") + + if degrees not in (90, 180, 270): + Output.error("InvalidDegrees", "Rotation angle must be 90, 180, or 270") + + import pikepdf + src = Output.check_file(pdf_path) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + targets = _resolve_page_indices(page_range, len(doc.pages)) + try: + for i in targets: + existing = int(doc.pages[i].get("/Rotate", 0)) + doc.pages[i]["/Rotate"] = (existing + degrees) % 360 + doc.save(out_path) + doc.close() + except Exception as exc: + Output.error("RotateError", f"Rotation failed: {exc}", code=4) + + Output.success({"output": out_path, "degrees": degrees, "pages_rotated": len(targets)}) + + +@cmd("pages.crop") +def pages_crop(argv: list): + """Set the media/crop box on selected pages. box = 'left,bottom,right,top' in pt.""" + if len(argv) < 2: + Output.error("MissingArg", "pdf path and crop box required") + pdf_path = argv.pop(0) + box_str = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + page_range = _pop_flag(argv, "-p", "--pages") + + try: + coords = [float(v.strip()) for v in box_str.split(",")] + assert len(coords) == 4 + left, bottom, right, top = coords + except Exception: + Output.error("InvalidBox", "Invalid crop box format, should be: left,bottom,right,top", + hint="Example: 50,50,550,750") + + import pikepdf + src = Output.check_file(pdf_path) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + targets = _resolve_page_indices(page_range, len(doc.pages)) + try: + arr = pikepdf.Array([left, bottom, right, top]) + for i in targets: + doc.pages[i].mediabox = arr + doc.pages[i].cropbox = arr + doc.save(out_path) + doc.close() + except Exception as exc: + Output.error("CropError", f"Crop failed: {exc}", code=4) + + Output.success({ + "output": out_path, + "box": {"left": left, "bottom": bottom, "right": right, "top": top}, + "pages_cropped": len(targets), + }) + + +@cmd("pages.clean") +def pages_clean(argv: list): + """Remove truly blank pages from a PDF. + + A page is considered blank ONLY if it has exactly 0 text characters AND + 0 images. Pages with even a single character or a tiny image are kept. + + Usage: + pdf.py pages.clean input.pdf -o output.pdf + """ + if not argv: + Output.error("MissingArg", "PDF path required") + pdf_path = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + # --threshold is accepted but ignored (kept for backward compat) + _pop_flag(argv, "-t", "--threshold") + + src = Output.check_file(pdf_path) + + # Phase 1: Detect blank pages using pdfplumber (text extraction) + try: + import pdfplumber + except ImportError: + Output.error("DependencyMissing", "pdfplumber required: pip install pdfplumber") + + blank_indices = [] # 0-indexed + total_pages = 0 + try: + pdf = pdfplumber.open(str(src)) + total_pages = len(pdf.pages) + for i, page in enumerate(pdf.pages): + text = (page.extract_text() or "").strip() + # Check for ANY images on the page (no size filter) + images = page.images if hasattr(page, 'images') else [] + # A page is blank ONLY if it has exactly 0 characters AND 0 images + if len(text) == 0 and len(images) == 0: + blank_indices.append(i) + pdf.close() + except Exception as exc: + Output.error("PDFError", f"Cannot analyze PDF: {exc}", code=3) + + if not blank_indices: + Output.success({ + "output": str(src), + "total_pages": total_pages, + "blank_pages_removed": 0, + "message": "No blank pages found", + }) + return + + # Phase 2: Remove blank pages using pikepdf + try: + import pikepdf + except ImportError: + Output.error("DependencyMissing", "pikepdf required: pip install pikepdf") + + try: + doc = pikepdf.open(str(src)) + # Remove in reverse order to preserve indices + for idx in sorted(blank_indices, reverse=True): + if idx < len(doc.pages): + del doc.pages[idx] + doc.save(out_path) + doc.close() + except Exception as exc: + Output.error("PDFError", f"Cannot remove blank pages: {exc}", code=4) + + remaining = total_pages - len(blank_indices) + Output.success({ + "output": out_path, + "total_pages": total_pages, + "blank_pages_removed": len(blank_indices), + "blank_page_numbers": [i + 1 for i in blank_indices], # 1-indexed for humans + "remaining_pages": remaining, + }) + + +# ═══════════════════════════════════════════════════════════════ +# Section 4: meta — metadata reading, writing, and branding +# ═══════════════════════════════════════════════════════════════ + +_XMP_MAPPING = { + "Title": "dc:title", + "Author": "dc:creator", + "Subject": "dc:description", + "Keywords": "pdf:Keywords", + "Creator": "xmp:CreatorTool", + "Producer": "pdf:Producer", +} +_ACCEPTED_KEYS = set(_XMP_MAPPING.keys()) + + +@cmd("meta.get") +def meta_get(argv: list): + """Read document information and metadata.""" + if not argv: + Output.error("MissingArg", "pdf path required") + + import pikepdf + src = Output.check_file(argv[0]) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + record: dict = { + "pages": len(doc.pages), + "pdf_version": str(doc.pdf_version), + } + + if doc.pages: + mb = doc.pages[0].mediabox + record["page_size"] = { + "width": float(mb[2] - mb[0]), + "height": float(mb[3] - mb[1]), + "unit": "pt", + } + + kv_pairs = {} + if doc.docinfo: + for k in doc.docinfo.keys(): + try: + kv_pairs[str(k).lstrip("/")] = str(doc.docinfo[k]) + except Exception: + pass + record["metadata"] = kv_pairs + record["encrypted"] = doc.is_encrypted + record["has_form"] = "/AcroForm" in doc.Root + record["has_outlines"] = "/Outlines" in doc.Root + + doc.close() + Output.success(record) + + +@cmd("meta.set") +def meta_set(argv: list): + """Update XMP + legacy docinfo metadata fields.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + data = _load_json_arg(argv) + + import pikepdf + src = Output.check_file(pdf_path) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + # XMP layer + with doc.open_metadata() as xmp: + for raw_key, raw_val in data.items(): + norm = raw_key.title() + xmp_key = _XMP_MAPPING.get(norm) + if xmp_key is None: + continue + try: + xmp[xmp_key] = str(raw_val) + except Exception: + pass + + # Legacy docinfo layer + if not doc.docinfo: + doc.docinfo = pikepdf.Dictionary() + for raw_key, raw_val in data.items(): + norm = raw_key.title() + if norm in _ACCEPTED_KEYS: + doc.docinfo[pikepdf.Name(f"/{norm}")] = pikepdf.String(str(raw_val)) + + doc.docinfo[pikepdf.Name("/ModDate")] = pikepdf.String( + datetime.now().strftime("D:%Y%m%d%H%M%S") + ) + + try: + doc.save(out_path) + doc.close() + except Exception as exc: + Output.error("SaveError", f"Save failed: {exc}", code=4) + + Output.success({"output": out_path, "updated_fields": list(data.keys())}) + + +@cmd("meta.brand") +def meta_brand(argv: list): + """Add Z.ai branding metadata to PDF documents.""" + output_path = _pop_flag(argv, "-o", "--output") + custom_title = _pop_flag(argv, "-t", "--title") + quiet = _pop_flag(argv, "-q", "--quiet", needs_value=False) + + if not argv: + Output.error("MissingArg", "At least one PDF file required") + + # Check if output is specified for multiple files + if output_path and len(argv) > 1: + Output.error("InvalidArg", "--output can only be used with a single input file") + + from pypdf import PdfReader, PdfWriter + + for input_path in argv: + if not os.path.exists(input_path): + print(f"Error: Input file not found: {input_path}", file=sys.stderr) + continue + + try: + reader = PdfReader(input_path) + except Exception as e: + print(f"Error: Cannot open PDF: {e}", file=sys.stderr) + continue + + writer = PdfWriter() + for page in reader.pages: + writer.add_page(page) + + # Determine title + if custom_title: + title = custom_title + else: + original_meta = reader.metadata + if original_meta and original_meta.title and original_meta.title not in ('(anonymous)', 'unspecified', None): + title = original_meta.title + else: + title = os.path.splitext(os.path.basename(input_path))[0] + + writer.add_metadata({ + '/Title': title, + '/Author': 'Z.ai', + '/Creator': 'Z.ai', + '/Producer': 'http://z.ai', + }) + + # Write output + out = output_path if (len(argv) == 1 and output_path) else input_path + try: + with open(out, "wb") as f: + writer.write(f) + except Exception as e: + print(f"Error: Cannot write output file: {e}", file=sys.stderr) + continue + + if not quiet: + print(f"\u2713 Updated metadata for: {os.path.basename(input_path)}") + print(f" Title: {title}") + print(f" Author: Z.ai") + print(f" Creator: Z.ai") + print(f" Producer: http://z.ai") + if out != input_path: + print(f" Output: {out}") + + raise SystemExit(0) + + +# ═══════════════════════════════════════════════════════════════ +# Section 5: form — inspection, filling, annotation, rendering +# ═══════════════════════════════════════════════════════════════ + +# --- form.info (pikepdf-based) --- + +_FIELD_TYPE_MAP = { + "/Tx": "text", + "/Sig": "signature", +} + + +def _classify_field(node) -> str: + """Map a PDF field type token to a human label.""" + ft = str(node.get("/FT", "")) + if ft in _FIELD_TYPE_MAP: + return _FIELD_TYPE_MAP[ft] + flags = int(node.get("/Ff", 0)) + if ft == "/Btn": + return "radio" if (flags & (1 << 15)) else "checkbox" + if ft == "/Ch": + return "dropdown" if (flags & (1 << 17)) else "listbox" + return "unknown" + + +def _extra_props(node, kind: str) -> dict: + """Gather type-specific metadata (options, checked value, etc.).""" + props: dict = {} + if kind == "checkbox": + ap = node.get("/AP") + if ap and "/N" in ap: + states = [str(s) for s in ap["/N"].keys()] + props["states"] = states + props["checked_value"] = next((s for s in states if s != "/Off"), states[0] if states else None) + elif kind in ("dropdown", "listbox"): + raw_opts = node.get("/Opt") + if raw_opts: + props["options"] = [ + {"value": str(item[0]), "label": str(item[1])} if isinstance(item, list) and len(item) >= 2 + else {"value": str(item), "label": str(item)} + for item in raw_opts + ] + elif kind == "radio": + kids = node.get("/Kids") + if kids: + radio_vals = [] + for child in kids: + ap = child.get("/AP") + if ap and "/N" in ap: + radio_vals.extend(str(k) for k in ap["/N"].keys() if str(k) != "/Off") + if radio_vals: + props["options"] = radio_vals + return props + + +def _current_value(node): + v = node.get("/V") + return str(v) if v is not None else None + + +def _gather_fields(doc) -> list: + """Walk the AcroForm field tree iteratively and return a flat list.""" + if "/AcroForm" not in doc.Root: + return [] + acro = doc.Root.AcroForm + if "/Fields" not in acro: + return [] + + page_lookup = {pg.objgen: idx for idx, pg in enumerate(doc.pages)} + results = [] + stack = [(field, "") for field in reversed(list(acro.Fields))] + + while stack: + node, parent_path = stack.pop() + name = str(node.get("/T", "")) + full = f"{parent_path}.{name}" if parent_path else name + + kids = node.get("/Kids") + if kids and any("/T" in k for k in kids): + for kid in reversed(list(kids)): + stack.append((kid, full)) + continue + + kind = _classify_field(node) + if kind == "unknown": + continue + + entry = {"id": full, "type": kind} + val = _current_value(node) + if val: + entry["current_value"] = val + entry.update(_extra_props(node, kind)) + + page_ref = node.get("/P") + if page_ref and hasattr(page_ref, "objgen"): + pg_num = page_lookup.get(page_ref.objgen) + if pg_num is not None: + entry["page"] = pg_num + 1 + + results.append(entry) + + return results + + +@cmd("form.info") +def form_info(argv: list): + """Return structured JSON describing every form field (pikepdf + check_fillable).""" + if not argv: + Output.error("MissingArg", "pdf path required") + + import pikepdf + src = Output.check_file(argv[0]) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + fields = _gather_fields(doc) + if not fields: + Output.success({"has_fields": False, "count": 0, "fields": [], "hint": "This PDF has no fillable form fields"}) + Output.success({"has_fields": True, "count": len(fields), "fields": fields}) + + +@cmd("form.fill") +def form_fill(argv: list): + """Write values into a fillable PDF (pikepdf version).""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + data = _load_json_arg(argv) + + import pikepdf + src = Output.check_file(pdf_path) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + if "/AcroForm" not in doc.Root or "/Fields" not in doc.Root.AcroForm: + Output.error("NoForm", "This PDF has no form fields") + + known = {f["id"]: f for f in _gather_fields(doc)} + + # Validation + issues = [] + for fid, fval in data.items(): + if fid not in known: + issues.append(f"Field not found: {fid}") + continue + fmeta = known[fid] + ftype = fmeta["type"] + if ftype == "checkbox" and "states" in fmeta: + ok_vals = fmeta["states"] + if fval not in ok_vals and f"/{fval}" not in ok_vals and fval not in ("true", "True", "false", "False", "1", "0"): + issues.append(f"Invalid value for field {fid}, options: {ok_vals} or true/false") + if ftype in ("dropdown", "listbox") and "options" in fmeta: + ok_vals = [o["value"] for o in fmeta["options"]] + if fval not in ok_vals: + issues.append(f"Invalid value for field {fid}, options: {ok_vals}") + if issues: + Output.error("ValidationError", "Field validation failed", hint="; ".join(issues)) + + # Fill + written = 0 + + def _apply(node, parent_path=""): + nonlocal written + name = str(node.get("/T", "")) + full = f"{parent_path}.{name}" if parent_path else name + kids = node.get("/Kids") + if kids and any("/T" in k for k in kids): + for kid in kids: + _apply(kid, full) + return + if full not in data: + return + val = data[full] + kind = _classify_field(node) + if kind == "checkbox": + if val in ("true", "True", "1", True): + ap = node.get("/AP") + if ap and "/N" in ap: + checked_name = next((str(k) for k in ap["/N"].keys() if str(k) != "/Off"), "/Yes") + if not checked_name.startswith("/"): + checked_name = f"/{checked_name}" + node["/V"] = pikepdf.Name(checked_name) + node["/AS"] = pikepdf.Name(checked_name) + else: + node["/V"] = pikepdf.Name("/Off") + node["/AS"] = pikepdf.Name("/Off") + else: + node["/V"] = pikepdf.String(str(val)) + written += 1 + + for field in doc.Root.AcroForm.Fields: + _apply(field) + + acro = doc.Root.AcroForm + if "/NeedAppearances" not in acro: + acro["/NeedAppearances"] = True + + try: + doc.save(out_path) + except Exception as exc: + Output.error("SaveError", f"Save failed: {exc}", code=4) + + Output.success({"output": out_path, "fields_filled": written, "fields_requested": len(data)}) + + +# --- form.detail (pypdf-based detailed field extraction) --- + +def _get_full_annotation_field_id(annotation): + """Build dotted field ID by walking parent chain.""" + components = [] + while annotation: + field_name = annotation.get('/T') + if field_name: + components.append(field_name) + annotation = annotation.get('/Parent') + return ".".join(reversed(components)) if components else None + + +def _make_field_dict(field, field_id): + field_dict = {"field_id": field_id} + ft = field.get('/FT') + if ft == "/Tx": + field_dict["type"] = "text" + elif ft == "/Btn": + field_dict["type"] = "checkbox" + states = field.get("/_States_", []) + if len(states) == 2: + if "/Off" in states: + field_dict["checked_value"] = states[0] if states[0] != "/Off" else states[1] + field_dict["unchecked_value"] = "/Off" + else: + print(f"Unexpected state values for checkbox `${field_id}`. Its checked and unchecked values may not be correct; if you're trying to check it, visually verify the results.") + field_dict["checked_value"] = states[0] + field_dict["unchecked_value"] = states[1] + elif ft == "/Ch": + field_dict["type"] = "choice" + states = field.get("/_States_", []) + field_dict["choice_options"] = [{ + "value": state[0], + "text": state[1], + } for state in states] + else: + field_dict["type"] = f"unknown ({ft})" + return field_dict + + +def _get_field_info(reader) -> list: + """Extract detailed field info from a PdfReader, including radio group aggregation.""" + fields = reader.get_fields() + + field_info_by_id = {} + possible_radio_names: Set[str] = set() + + for field_id, field in fields.items(): + if field.get("/Kids"): + if field.get("/FT") == "/Btn": + possible_radio_names.add(field_id) + continue + field_info_by_id[field_id] = _make_field_dict(field, field_id) + + radio_fields_by_id: Dict[str, dict] = {} + + for page_index, page in enumerate(reader.pages): + annotations = page.get('/Annots', []) + for ann in annotations: + field_id = _get_full_annotation_field_id(ann) + if field_id in field_info_by_id: + field_info_by_id[field_id]["page"] = page_index + 1 + field_info_by_id[field_id]["rect"] = ann.get('/Rect') + elif field_id in possible_radio_names: + try: + on_values = [v for v in ann["/AP"]["/N"] if v != "/Off"] + except KeyError: + continue + if len(on_values) == 1: + rect = ann.get("/Rect") + if field_id not in radio_fields_by_id: + radio_fields_by_id[field_id] = { + "field_id": field_id, + "type": "radio_group", + "page": page_index + 1, + "radio_options": [], + } + radio_fields_by_id[field_id]["radio_options"].append({ + "value": on_values[0], + "rect": rect, + }) + + # Filter fields without location + fields_with_location = [] + for field_info in field_info_by_id.values(): + if "page" in field_info: + fields_with_location.append(field_info) + else: + print(f"Unable to determine location for field id: {field_info.get('field_id')}, ignoring") + + # Sort by page number, then Y position (flipped), then X + def sort_key(f): + if "radio_options" in f: + rect = f["radio_options"][0]["rect"] or [0, 0, 0, 0] + else: + rect = f.get("rect") or [0, 0, 0, 0] + adjusted_position = [-rect[1], rect[0]] + return [f.get("page"), adjusted_position] + + sorted_fields = fields_with_location + list(radio_fields_by_id.values()) + sorted_fields.sort(key=sort_key) + + return sorted_fields + + +@cmd("form.detail") +def form_detail(argv: list): + """Extract detailed field info (pypdf version) to JSON.""" + if len(argv) < 2: + Output.error("MissingArg", "Usage: form.detail ") + pdf_path = argv[0] + json_output_path = argv[1] + + from pypdf import PdfReader + reader = PdfReader(pdf_path) + field_info = _get_field_info(reader) + with open(json_output_path, "w") as f: + json.dump(field_info, f, indent=2) + print(f"Wrote {len(field_info)} fields to {json_output_path}") + raise SystemExit(0) + + +# --- form.fill-legacy (pypdf version with monkeypatch) --- + +def _validation_error_for_field_value(field_info, field_value): + field_type = field_info["type"] + field_id = field_info["field_id"] + if field_type == "checkbox": + checked_val = field_info["checked_value"] + unchecked_val = field_info["unchecked_value"] + if field_value != checked_val and field_value != unchecked_val: + return f'ERROR: Invalid value "{field_value}" for checkbox field "{field_id}". The checked value is "{checked_val}" and the unchecked value is "{unchecked_val}"' + elif field_type == "radio_group": + option_values = [opt["value"] for opt in field_info["radio_options"]] + if field_value not in option_values: + return f'ERROR: Invalid value "{field_value}" for radio group field "{field_id}". Valid values are: {option_values}' + elif field_type == "choice": + choice_values = [opt["value"] for opt in field_info["choice_options"]] + if field_value not in choice_values: + return f'ERROR: Invalid value "{field_value}" for choice field "{field_id}". Valid values are: {choice_values}' + return None + + +def _monkeypatch_pypdf_method(): + """ + Workaround for pypdf bug with selection list fields. + pypdf's get_inherited returns a list of two-element lists for /Opt fields + in selection lists, causing join() to throw TypeError. We patch it to + return just the value strings. + """ + from pypdf.generic import DictionaryObject + from pypdf.constants import FieldDictionaryAttributes + + original_get_inherited = DictionaryObject.get_inherited + + def patched_get_inherited(self, key: str, default=None): + result = original_get_inherited(self, key, default) + if key == FieldDictionaryAttributes.Opt: + if isinstance(result, list) and all(isinstance(v, list) and len(v) == 2 for v in result): + result = [r[0] for r in result] + return result + + DictionaryObject.get_inherited = patched_get_inherited + + +@cmd("form.fill-legacy") +def form_fill_legacy(argv: list): + """Fill fillable form fields (pypdf version with monkeypatch).""" + if len(argv) < 3: + Output.error("MissingArg", "Usage: form.fill-legacy ") + input_pdf = argv[0] + fields_json = argv[1] + output_pdf = argv[2] + + from pypdf import PdfReader, PdfWriter + + _monkeypatch_pypdf_method() + + with open(fields_json) as f: + fields = json.load(f) + + # Group by page number + fields_by_page: Dict[int, dict] = {} + for field in fields: + if "value" in field: + field_id = field["field_id"] + page = field["page"] + if page not in fields_by_page: + fields_by_page[page] = {} + fields_by_page[page][field_id] = field["value"] + + reader = PdfReader(input_pdf) + + has_error = False + field_info = _get_field_info(reader) + fields_by_ids = {f["field_id"]: f for f in field_info} + for field in fields: + existing_field = fields_by_ids.get(field["field_id"]) + if not existing_field: + has_error = True + print(f"ERROR: `{field['field_id']}` is not a valid field ID") + elif field["page"] != existing_field["page"]: + has_error = True + print(f"ERROR: Incorrect page number for `{field['field_id']}` (got {field['page']}, expected {existing_field['page']})") + else: + if "value" in field: + err = _validation_error_for_field_value(existing_field, field["value"]) + if err: + print(err) + has_error = True + if has_error: + raise SystemExit(1) + + writer = PdfWriter(clone_from=reader) + for page, field_values in fields_by_page.items(): + writer.update_page_form_field_values(writer.pages[page - 1], field_values, auto_regenerate=False) + + writer.set_need_appearances_writer(True) + + with open(output_pdf, "wb") as f: + writer.write(f) + + print(f"Filled {len(fields_by_page)} page(s) in {output_pdf}") + raise SystemExit(0) + + +# --- form.annotate (annotation-based filling with coordinate transform) --- + +def _transform_coordinates(bbox, image_width, image_height, pdf_width, pdf_height): + """Transform bounding box from image coordinates to PDF coordinates.""" + x_scale = pdf_width / image_width + y_scale = pdf_height / image_height + + left = bbox[0] * x_scale + right = bbox[2] * x_scale + + # Flip Y coordinates for PDF + top = pdf_height - (bbox[1] * y_scale) + bottom = pdf_height - (bbox[3] * y_scale) + + return left, bottom, right, top + + +def _normalise_fields_json(raw: dict) -> dict: + """Accept both the current sheet-based schema and the legacy flat schema. + + Current (v2) schema uses ``sheet[].pg/dims/regions[]`` with nested + ``label.bbox``, ``target.bbox``, ``ink{}``. + + Legacy (v1) schema uses ``pages[]`` + ``form_fields[]`` with flat keys + like ``entry_bounding_box``, ``label_bounding_box``, ``entry_text{}``. + + Returns a normalised dict in the **v2** internal format used by all + downstream functions. + """ + # Already v2 + if "sheet" in raw: + return raw + + # Convert legacy → v2 + pages_lut = {p["page_number"]: p for p in raw.get("pages", [])} + sheets: dict = {} # pg -> sheet entry + + for f in raw.get("form_fields", []): + pg = f["page_number"] + if pg not in sheets: + pi = pages_lut.get(pg, {}) + sheets[pg] = { + "pg": pg, + "dims": [pi.get("image_width", 0), pi.get("image_height", 0)], + "regions": [], + } + et = f.get("entry_text", {}) + region = { + "id": f.get("field_label", f.get("description", "")), + "hint": f.get("description", ""), + "label": {"tag": f.get("field_label", ""), "bbox": f.get("label_bounding_box", [0, 0, 0, 0])}, + "target": {"bbox": f.get("entry_bounding_box", [0, 0, 0, 0])}, + "ink": {}, + } + if isinstance(et, dict) and et.get("text"): + region["ink"]["value"] = et["text"] + if "font_size" in et: + region["ink"]["size"] = et["font_size"] + if "font_color" in et: + region["ink"]["color"] = et["font_color"] + if "font" in et: + region["ink"]["font"] = et["font"] + sheets[pg]["regions"].append(region) + + return {"sheet": list(sheets.values())} + + +@cmd("form.annotate") +def form_annotate(argv: list): + """Fill a PDF by adding text annotations (FreeText) defined in fields.json.""" + if len(argv) < 3: + Output.error("MissingArg", "Usage: form.annotate ") + input_pdf = argv[0] + fields_json_path = argv[1] + output_pdf = argv[2] + + from pypdf import PdfReader, PdfWriter + from pypdf.annotations import FreeText + + with open(fields_json_path, "r") as f: + fields_data = _normalise_fields_json(json.load(f)) + + reader = PdfReader(input_pdf) + writer = PdfWriter() + writer.append(reader) + + # Get PDF dimensions for each page + pdf_dimensions = {} + for i, page in enumerate(reader.pages): + mediabox = page.mediabox + pdf_dimensions[i + 1] = [mediabox.width, mediabox.height] + + annotations = [] + for page_entry in fields_data["sheet"]: + pg = page_entry["pg"] + image_width, image_height = page_entry["dims"] + pdf_width, pdf_height = pdf_dimensions[pg] + + for region in page_entry["regions"]: + ink = region.get("ink", {}) + text = ink.get("value", "") + if not text: + continue + + transformed_box = _transform_coordinates( + region["target"]["bbox"], + image_width, image_height, + pdf_width, pdf_height + ) + + font_name = ink.get("font", "Arial") + font_size = str(ink.get("size", 14)) + "pt" + font_color = ink.get("color", "000000") + + annotation = FreeText( + text=text, + rect=transformed_box, + font=font_name, + font_size=font_size, + font_color=font_color, + border_color=None, + background_color=None, + ) + annotations.append(annotation) + writer.add_annotation(page_number=pg - 1, annotation=annotation) + + with open(output_pdf, "wb") as output: + writer.write(output) + + print(f"Successfully filled PDF form and saved to {output_pdf}") + print(f"Added {len(annotations)} text annotations") + raise SystemExit(0) + + +# --- form.render (PDF to PNG images) --- + +@cmd("form.render") +def form_render(argv: list): + """Convert each page of a PDF to a PNG image.""" + if len(argv) < 2: + Output.error("MissingArg", "Usage: form.render [--max-dim N]") + pdf_path = argv.pop(0) + output_dir = argv.pop(0) + max_dim_str = _pop_flag(argv, "-m", "--max-dim") + max_dim = int(max_dim_str) if max_dim_str else 1000 + + from pdf2image import convert_from_path + + os.makedirs(output_dir, exist_ok=True) + images = convert_from_path(pdf_path, dpi=200) + + for i, image in enumerate(images): + width, height = image.size + if width > max_dim or height > max_dim: + scale_factor = min(max_dim / width, max_dim / height) + new_width = int(width * scale_factor) + new_height = int(height * scale_factor) + image = image.resize((new_width, new_height)) + + image_path = os.path.join(output_dir, f"page_{i+1}.png") + image.save(image_path) + print(f"Saved page {i+1} as {image_path} (size: {image.size})") + + print(f"Converted {len(images)} pages to PNG images") + raise SystemExit(0) + + +# --- form.validate (bounding box validation image) --- + +@cmd("form.validate") +def form_validate(argv: list): + """Create validation images with bounding box rectangles.""" + if len(argv) < 4: + Output.error("MissingArg", "Usage: form.validate ") + page_number = int(argv[0]) + fields_json_path = argv[1] + input_path = argv[2] + output_path = argv[3] + + from PIL import Image, ImageDraw + + with open(fields_json_path, 'r') as f: + data = _normalise_fields_json(json.load(f)) + + img = Image.open(input_path) + draw = ImageDraw.Draw(img) + num_boxes = 0 + + for page_entry in data["sheet"]: + if page_entry["pg"] != page_number: + continue + for region in page_entry["regions"]: + target_box = region["target"]["bbox"] + label_box = region["label"]["bbox"] + draw.rectangle(target_box, outline='red', width=2) + draw.rectangle(label_box, outline='blue', width=2) + num_boxes += 2 + + img.save(output_path) + print(f"Created validation image at {output_path} with {num_boxes} bounding boxes") + raise SystemExit(0) + + +# --- form.check-bbox (bounding box overlap detection) --- + +@dataclass +class _RectAndField: + rect: list + rect_type: str + field: dict + + +def get_bounding_box_messages(fields_json_stream) -> List[str]: + """Check for overlapping bounding boxes. Returns list of messages (max 20).""" + messages = [] + raw = json.load(fields_json_stream) + data = _normalise_fields_json(raw) + + total_regions = sum(len(pe["regions"]) for pe in data["sheet"]) + messages.append(f"Read {total_regions} regions across {len(data['sheet'])} page(s)") + + def rects_intersect(r1, r2): + disjoint_horizontal = r1[0] >= r2[2] or r1[2] <= r2[0] + disjoint_vertical = r1[1] >= r2[3] or r1[3] <= r2[1] + return not (disjoint_horizontal or disjoint_vertical) + + has_error = False + + for page_entry in data["sheet"]: + pg = page_entry["pg"] + # Collect all rects on this page + rects_and_regions = [] + for region in page_entry["regions"]: + rects_and_regions.append(_RectAndField(region["label"]["bbox"], "label", region)) + rects_and_regions.append(_RectAndField(region["target"]["bbox"], "target", region)) + + for i, ri in enumerate(rects_and_regions): + for j in range(i + 1, len(rects_and_regions)): + rj = rects_and_regions[j] + if rects_intersect(ri.rect, rj.rect): + has_error = True + rid = ri.field.get("id", ri.field.get("hint", "?")) + rjd = rj.field.get("id", rj.field.get("hint", "?")) + if ri.field is rj.field: + messages.append(f"FAILURE: pg {pg} — label/target overlap for `{rid}` ({ri.rect}, {rj.rect})") + else: + messages.append(f"FAILURE: pg {pg} — {ri.rect_type} of `{rid}` ({ri.rect}) overlaps {rj.rect_type} of `{rjd}` ({rj.rect})") + if len(messages) >= 20: + messages.append("Aborting further checks; fix bounding boxes and try again") + return messages + + # Height check for target rects + if ri.rect_type == "target": + ink = ri.field.get("ink", {}) + if ink.get("value"): + font_size = ink.get("size", 14) + entry_height = ri.rect[3] - ri.rect[1] + if entry_height < font_size: + has_error = True + rid = ri.field.get("id", ri.field.get("hint", "?")) + messages.append(f"FAILURE: pg {pg} — target box height ({entry_height}) for `{rid}` is shorter than font size ({font_size}). Increase box height or decrease ink.size.") + if len(messages) >= 20: + messages.append("Aborting further checks; fix bounding boxes and try again") + return messages + + if not has_error: + messages.append("SUCCESS: All bounding boxes are valid") + return messages + + +@cmd("form.check-bbox") +def form_check_bbox(argv: list): + """Check bounding boxes in fields.json for overlaps.""" + if not argv: + Output.error("MissingArg", "Usage: form.check-bbox ") + with open(argv[0]) as f: + messages = get_bounding_box_messages(f) + for msg in messages: + print(msg) + raise SystemExit(0) + + +# ═══════════════════════════════════════════════════════════════ +# Section 6: convert — office, HTML, and LaTeX +# ═══════════════════════════════════════════════════════════════ + +_CONVERTIBLE_EXTENSIONS = frozenset({ + ".docx", ".doc", ".odt", ".rtf", + ".pptx", ".ppt", ".odp", + ".xlsx", ".xls", ".ods", ".csv", + ".txt", ".html", ".htm", +}) + +_SOFFICE_CANDIDATES = [ + "/Applications/LibreOffice.app/Contents/MacOS/soffice", + os.path.expanduser("~/Applications/LibreOffice.app/Contents/MacOS/soffice"), + "/usr/bin/soffice", + "/usr/local/bin/soffice", + "/usr/lib/libreoffice/program/soffice", + "/opt/libreoffice/program/soffice", + "/snap/bin/libreoffice.soffice", +] + + +def _locate_soffice() -> Optional[str]: + """Search for a working soffice binary.""" + for candidate in _SOFFICE_CANDIDATES: + if Path(candidate).is_file(): + return candidate + for alias in ("soffice", "libreoffice"): + found = shutil.which(alias) + if found: + return found + return None + + +@cmd("convert.office") +def convert_office(argv: list): + """Convert an office document to PDF via LibreOffice.""" + if not argv: + Output.error("MissingArg", "input file required") + src_path = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + + src = Output.check_file(src_path) + ext = src.suffix.lower() + + if ext not in _CONVERTIBLE_EXTENSIONS: + Output.error( + "UnsupportedFormat", + f"Unsupported format: {ext}", + hint=f"Supported formats: {', '.join(sorted(_CONVERTIBLE_EXTENSIONS))}", + ) + + binary = _locate_soffice() + if binary is None: + Output.error( + "DependencyMissing", + "LibreOffice not found", + hint="Please install LibreOffice: https://www.libreoffice.org/download/", + ) + + target_dir = Path(out_path).parent if out_path else src.parent + target_dir.mkdir(parents=True, exist_ok=True) + + cmd_list = [binary, "--headless", "--convert-to", "pdf", "--outdir", str(target_dir), str(src)] + + try: + proc = subprocess.run(cmd_list, capture_output=True, text=True, timeout=120) + if proc.returncode != 0: + Output.error("ConvertError", f"Conversion failed: {proc.stderr.strip() or 'Unknown error'}", code=4) + except subprocess.TimeoutExpired: + Output.error("Timeout", "Conversion timeout (>120s)", code=4) + except Exception as exc: + Output.error("ConvertError", f"Conversion failed: {exc}", code=4) + + auto_name = target_dir / f"{src.stem}.pdf" + final = Path(out_path) if out_path else auto_name + + if out_path and final.name != auto_name.name and auto_name.exists(): + auto_name.rename(final) + + if not final.exists(): + Output.error("ConvertError", "Converted PDF file was not generated", code=4) + + Output.success({"input": str(src), "output": str(final), "format": ext}) + + +@cmd("convert.html") +def convert_html(argv: list): + """Convert HTML to PDF via node html2pdf.js.""" + if not argv: + Output.error("MissingArg", "input file required") + + js_path = _SCRIPT_DIR / "html2pdf.js" + if not js_path.exists(): + Output.error("DependencyMissing", "html2pdf.js not found in scripts directory") + + node_path = shutil.which("node") + if not node_path: + Output.error("DependencyMissing", "node not found in PATH") + + cmd_list = [node_path, str(js_path)] + argv + try: + proc = subprocess.run(cmd_list, timeout=180) + raise SystemExit(proc.returncode) + except subprocess.TimeoutExpired: + Output.error("Timeout", "HTML conversion timeout (>180s)", code=4) + except SystemExit: + raise + except Exception as exc: + Output.error("ConvertError", f"HTML conversion failed: {exc}", code=4) + + +# --- convert.latex (tectonic wrapper with log filtering + PDF stats) --- + +_NOISE_RE = re.compile( + r"^note: (?:" + r'"version 2" Tectonic' + r"|Running TeX" + r"|Rerunning TeX because" + r"|Running xdvipdfmx" + r"|downloading " + r"|Skipped writing .* intermediate files" + r")" +) + + +def _find_tectonic() -> Optional[str]: + """Locate the tectonic binary. + + Search order: + 1. scripts/ dir (bundled binary — macOS arm64 only) + 2. ~/tectonic (user-placed binary) + 3. System PATH (package-manager install) + + NOTE: The bundled binary at scripts/tectonic is a macOS arm64 (Apple + Silicon) Mach-O executable. It will NOT run on Linux or Windows. + On other platforms, install tectonic via the system package manager + or download the correct binary — see the error message in + convert_latex() for instructions. + """ + local_bin = _SCRIPT_DIR / "tectonic" + if local_bin.exists() and os.access(local_bin, os.X_OK): + return str(local_bin) + home_bin = Path.home() / "tectonic" + if home_bin.exists() and os.access(home_bin, os.X_OK): + return str(home_bin) + system_bin = shutil.which("tectonic") + return system_bin + + +def _human_size(nbytes: int) -> str: + for unit in ("B", "KB", "MB", "GB"): + if nbytes < 1024: + return f"{nbytes:.2f} {unit}" + nbytes /= 1024 + return f"{nbytes:.2f} TB" + + +def _pdf_stats(pdf_file: Path): + """Return (pages, word_count, image_count) or Nones.""" + try: + from pypdf import PdfReader + except ImportError: + for attempt in ( + [sys.executable, "-m", "pip", "install", "-q", "pypdf"], + [sys.executable, "-m", "pip", "install", "-q", "--break-system-packages", "pypdf"], + [sys.executable, "-m", "pip", "install", "-q", "--user", "pypdf"], + ): + if subprocess.run(attempt, check=False, capture_output=True).returncode == 0: + break + try: + from pypdf import PdfReader + except ImportError: + return None, None, None + + try: + reader = PdfReader(str(pdf_file)) + n_pages = len(reader.pages) + all_text = "".join(p.extract_text() or "" for p in reader.pages) + n_words = len([w for w in all_text.split() if w.strip()]) + n_images = 0 + for pg in reader.pages: + xobj = pg.get("/Resources", {}).get("/XObject") + if xobj: + obj = xobj.get_object() + n_images += sum(1 for k in obj if obj[k].get("/Subtype") == "/Image") + return n_pages, n_words, n_images + except Exception as exc: + print(f"Error extracting PDF info: {exc}", file=sys.stderr) + return None, None, None + + +def _classify_lines(lines): + """Bucket raw output into errors / warnings / layout issues.""" + errors, warnings, layout, pdf_note = [], [], [], None + for raw in lines: + ln = raw.rstrip() + if not ln: + continue + if _NOISE_RE.match(ln): + if ln.startswith("note: Writing"): + pdf_note = ln + continue + if ln.startswith("error:"): + errors.append(ln) + elif ln.startswith("warning:"): + warnings.append(ln) + elif re.search(r"(Overfull|Underfull) \\[hv]box", ln) or re.search(r"(Font shape|Missing character)", ln): + layout.append(ln) + return errors, warnings, layout, pdf_note + + +def _parse_writing_note(note: Optional[str]): + m = re.search(r"Writing `(.+?)` \((.+?)\)", note or "") + return (m.group(1), m.group(2)) if m else (None, None) + + +@cmd("convert.blueprint") +def convert_blueprint(argv: list): + """ + [Auto-Pipeline] Extract JSON blueprint from LLM markdown response, + compile it to HTML via design_engine, and render to PDF. + """ + if not argv: + Output.error("MissingArg", "Usage: convert.blueprint [-o ]") + + input_file = argv.pop(0) + out_pdf = _pop_flag(argv, "-o", "--output") or "output.pdf" + + src = Output.check_file(input_file) + content = src.read_text(encoding="utf-8") + + # 1. Smart JSON extraction (regardless of whether LLM wrapped in Markdown code blocks) + match = re.search(r'```(?:json)?\s*(\{.*?\})\s*```', content, re.DOTALL) + if match: + json_str = match.group(1) + else: + # Fallback: Assume the file is pure JSON + json_str = content + + try: + # Validate JSON format + parsed_json = json.loads(json_str) + except json.JSONDecodeError as e: + Output.error("InvalidJSON", f"Failed to parse JSON blueprint: {e}", hint="Ensure the LLM output is valid JSON without trailing commas.") + + # 1b. Encoding integrity check — detect corrupted characters before rendering + corruption_found = False + def _scan_for_corruption(obj, path=""): + """Recursively scan JSON values for encoding corruption markers.""" + nonlocal corruption_found + if isinstance(obj, str): + for i, ch in enumerate(obj): + if ch == '\ufffd': # Unicode replacement character + context = obj[max(0, i-10):i+10] + print(f" \u26a0\ufe0f U+FFFD at {path}[{i}]: ...{context}...") + corruption_found = True + elif '\ud800' <= ch <= '\udfff': # Lone surrogate + print(f" \u26a0\ufe0f Lone surrogate U+{ord(ch):04X} at {path}[{i}]") + corruption_found = True + elif isinstance(obj, dict): + for k, v in obj.items(): + _scan_for_corruption(v, f"{path}.{k}") + elif isinstance(obj, list): + for idx, v in enumerate(obj): + _scan_for_corruption(v, f"{path}[{idx}]") + + _scan_for_corruption(parsed_json) + if corruption_found: + print("\n\u26a0\ufe0f WARNING: Corrupted characters detected in blueprint content!") + print(" These will render as \ufffd (replacement character) in the PDF.") + print(" Consider fixing the source text and re-running.\n") + + # Also sanitize: replace U+FFFD with empty string to avoid visible corruption + json_str_clean = json_str.replace('\ufffd', '') + if json_str_clean != json_str: + json_str = json_str_clean + print(" \u2139\ufe0f Auto-removed U+FFFD characters from blueprint.") + + # 2. Save clean JSON blueprint and temp HTML path + blueprint_path = src.parent / f"{src.stem}_pure_blueprint.json" + html_path = src.parent / f"{src.stem}_rendered.html" + blueprint_path.write_text(json_str, encoding="utf-8") + + # 3. Call design_engine.py to compile HTML + engine_script = _SCRIPT_DIR / "design_engine.py" + print("🎨 [1/2] Compiling JSON Blueprint to Art-Directed HTML...", flush=True) + try: + subprocess.run([ + sys.executable, str(engine_script), "compile", + "--blueprint", str(blueprint_path), + "--output", str(html_path) + ], check=True) + except subprocess.CalledProcessError: + Output.error("CompileError", "design_engine.py failed to compile the blueprint.", code=4) + + # 4. Call html2pdf.js to render PDF + print("📄 [2/2] Rendering HTML to High-Res PDF via Playwright...", flush=True) + js_script = _SCRIPT_DIR / "html2pdf.js" + node_path = shutil.which("node") + if not node_path: + Output.error("DependencyMissing", "node not found in PATH") + + try: + subprocess.run([ + node_path, str(js_script), str(html_path), "-o", out_pdf, + "--width", "720px", "--height", "960px" + ], check=True) + except subprocess.CalledProcessError: + Output.error("RenderError", "html2pdf.js failed to render the PDF.", code=4) + + print(f"\n🎉 Success! Masterpiece generated at: {out_pdf}") + raise SystemExit(0) + + +@cmd("convert.latex") +def convert_latex(argv: list): + """Compile LaTeX file via tectonic, filter logs, report PDF stats.""" + if not argv: + Output.error("MissingArg", "tex file required") + tex_file = argv.pop(0) + runs_str = _pop_flag(argv, "-r", "--runs") + runs = int(runs_str) if runs_str else 1 + keep_logs = _pop_flag(argv, "-k", "--keep-logs", needs_value=False) + + tex = Path(tex_file) + if not tex.exists(): + print(f"\u2717 Error: File not found {tex_file}") + raise SystemExit(1) + + print(f"Compiling {tex.name}...", flush=True) + if runs > 1: + print(f"Running {runs} passes (for cross-references)", flush=True) + + tectonic = _find_tectonic() + if tectonic is None: + import platform + print("\n\u2717 Error: tectonic command not found") + print() + print("The bundled scripts/tectonic binary is macOS arm64 only.") + print("Install tectonic for your platform:\n") + sys_name = platform.system() + if sys_name == "Darwin": + print(" macOS (Homebrew): brew install tectonic") + print(" macOS (binary): curl -sSL https://drop-sh.fullyjustified.net | sh") + print(" mv tectonic ~/tectonic && chmod +x ~/tectonic") + elif sys_name == "Linux": + print(" Debian/Ubuntu: apt install tectonic (if available)") + print(" Arch Linux: pacman -S tectonic") + print(" Conda: conda install -c conda-forge tectonic") + print(" Binary download: curl -sSL https://drop-sh.fullyjustified.net | sh") + print(" mv tectonic ~/tectonic && chmod +x ~/tectonic") + elif sys_name == "Windows": + print(" Windows (scoop): scoop install tectonic") + print(" Windows (choco): choco install tectonic") + print(" Conda: conda install -c conda-forge tectonic") + else: + print(" See: https://tectonic-typesetting.github.io/") + print() + print("After installing, verify with: tectonic --version") + print() + print("Quick check — is tectonic already installed somewhere?") + print(f" which tectonic: {shutil.which('tectonic') or 'not found'}") + print(f" ~/tectonic: {'exists' if (Path.home() / 'tectonic').exists() else 'not found'}") + print(f" scripts/tectonic: {'exists' if (_SCRIPT_DIR / 'tectonic').exists() else 'not found'}") + print(f" Platform: {sys_name} {platform.machine()}") + raise SystemExit(1) + + all_lines = [] + ok = False + for _ in range(runs): + try: + proc = subprocess.run( + [tectonic, "-X", "compile", str(tex)], + capture_output=True, text=True, timeout=120, + ) + all_lines.extend((proc.stdout + proc.stderr).splitlines()) + ok = proc.returncode == 0 + if not ok: + break + except subprocess.TimeoutExpired: + print("\n\u2717 Error: Compilation timeout (>2 minutes)") + raise SystemExit(1) + except Exception as exc: + print(f"\n\u2717 Error: {exc}") + raise SystemExit(1) + + if keep_logs: + print("\n" + "=" * 50 + "\nFull logs:\n" + "=" * 50) + for ln in all_lines: + print(ln) + print("=" * 50 + "\n") + + errors, warnings, layout, pdf_note = _classify_lines(all_lines) + noted_name, noted_size = _parse_writing_note(pdf_note) + pdf_name = noted_name or (tex.stem + ".pdf") + pdf_path = tex.parent / pdf_name + + print() + if ok: + tag = "\u2713 Compilation successful" + (" (with warnings)" if warnings or layout else "") + print(tag) + else: + print("\u2717 Compilation failed") + + if ok and pdf_path.exists(): + print("\n========================\nPDF Information\n========================") + print(f"File: {pdf_name}") + print(f"Size: {noted_size or _human_size(pdf_path.stat().st_size)}") + pages, words, images = _pdf_stats(pdf_path) + if pages is not None: + print(f"Pages: {pages}") + if words is not None: + print(f"Words: ~{words:,}") + if images is not None: + print(f"Images: {images}") + + if layout: + print(f"\n========================\nLayout Issues ({len(layout)})\n========================") + for ln in layout: + print(ln) + + if warnings: + print(f"\n========================\nWarnings ({len(warnings)})\n========================") + for ln in warnings: + print(ln.replace("warning: ", "", 1)) + + if errors: + print("\n========================\nErrors\n========================") + for ln in errors: + print(ln.replace("error: ", "", 1)) + + if ok and (layout or warnings): + print() + print("") + print(f"Detected {len(layout)} layout issues and {len(warnings)} warnings.") + print("These issues affect PDF typesetting quality and must be fixed.") + print("Do not dismiss with 'warnings don't affect output'. Fix all issues.") + print("") + + raise SystemExit(0 if ok else 1) + + +# ═══════════════════════════════════════════════════════════════ +# Section 7b: Font Fallback Engine — automatic wrapping +# ═══════════════════════════════════════════════════════════════ + +# -- Data structures -------------------------------------------------------- + +FONT_FALLBACK_CHAIN: Dict[str, List[str]] = { + "Times New Roman": ["SimHei"], + "Calibri": ["SimHei"], + "DejaVuSans": ["SimHei"], + "SimHei": ["Times New Roman"], + "Microsoft YaHei": ["Times New Roman"], +} + +FONT_PREFER_RANGES: Dict[str, List[Tuple[int, int, str]]] = { + "SimHei": [ + (0x0400, 0x04FF, "Times New Roman"), # Cyrillic + (0x0500, 0x052F, "Times New Roman"), # Cyrillic Supplement + ], + "Microsoft YaHei": [ + (0x0400, 0x04FF, "Times New Roman"), + (0x0500, 0x052F, "Times New Roman"), + ], +} + +# -- Content sanitization (runtime, pre-font-fallback) ---------------------- + +# Control: global switches +CONTENT_SANITIZE_ENABLED = True # master switch +CONTENT_SANITIZE_STRIP_ZW = True # zero-width chars (disable for Thai/Burmese/Hindi) + +# Fullwidth ASCII → halfwidth (letters + digits only, NOT punctuation) +_FULLWIDTH_OFFSET = 0xFEE0 # ord('A') - ord('A') == 0xFEE0 + +# Ligature decomposition (U+FB00–FB06) +_LIGATURE_MAP: Dict[int, str] = { + 0xFB00: "ff", + 0xFB01: "fi", + 0xFB02: "fl", + 0xFB03: "ffi", + 0xFB04: "ffl", + 0xFB05: "st", # ſt long s t + 0xFB06: "st", # st st +} + +# Zero-width / invisible characters to strip +_ZERO_WIDTH_CHARS: Set[int] = { + 0x200B, # ZERO WIDTH SPACE + 0x200C, # ZERO WIDTH NON-JOINER + 0x200D, # ZERO WIDTH JOINER + 0x2060, # WORD JOINER + 0xFEFF, # BOM (when not at file start) + 0x034F, # COMBINING GRAPHEME JOINER +} + +# Bidirectional control characters to strip +_BIDI_CONTROLS: Set[int] = { + 0x200E, 0x200F, # LRM, RLM + 0x202A, 0x202B, 0x202C, # LRE, RLE, PDF + 0x202D, 0x202E, # LRO, RLO + 0x2066, 0x2067, 0x2068, 0x2069, # LRI, RLI, FSI, PDI +} + +# Variation selectors to strip (emoji style modifiers) +_VARIATION_SELECTORS: Set[int] = set(range(0xFE00, 0xFE10)) # U+FE00–FE0F + +# Unicode noncharacters (should never appear in text interchange) +_NONCHARACTERS: Set[int] = set(range(0xFDD0, 0xFDF0)) # U+FDD0–FDEF +_NONCHARACTERS.add(0xFFFE) +_NONCHARACTERS.add(0xFFFF) + +_content_sanitize_warnings: List[str] = [] + + +def content_sanitize(text: str, dry_run: bool = False) -> str: + """Sanitize Paragraph text content before font fallback. + + Removes/replaces characters that should not appear in final PDF output. + Designed for CJK + Latin content. Does NOT touch XML/HTML tags in the text. + + Args: + text: Raw Paragraph text (may contain ReportLab XML tags like , ). + dry_run: If True, collect warnings but still return cleaned text. + + Returns: + Cleaned text string. + """ + if not CONTENT_SANITIZE_ENABLED or not text: + return text + + global _content_sanitize_warnings + if dry_run: + _content_sanitize_warnings = [] + + # Split text into tags and plain-text segments to avoid mangling XML tags + # e.g. '你好' → ['', '', '你好', '', ''] + parts = _TAG_RE.split(text) + tags = _TAG_RE.findall(text) + + out_pieces: List[str] = [] + + for i, part in enumerate(parts): + if part: + # Process plain text segment character by character + cleaned: List[str] = [] + for ch in part: + code = ord(ch) + replacement = _sanitize_one_char(ch, code, dry_run) + if replacement is not None: + cleaned.append(replacement) + # else: character was deleted + out_pieces.append("".join(cleaned)) + + # Append the tag that follows this part (if any) + if i < len(tags): + out_pieces.append(tags[i]) # tags pass through untouched + + return "".join(out_pieces) + + +def _sanitize_one_char(ch: str, code: int, dry_run: bool) -> Optional[str]: + """Process a single character. Returns replacement string, or None to delete.""" + + # --- DELETE: ASCII control characters (except \t \n \r) --- + if code <= 0x1F and ch not in '\t\n\r': + if dry_run: + _content_sanitize_warnings.append( + f"DELETE control char U+{code:04X} ({repr(ch)})") + return None + + # --- DELETE: U+007F DEL --- + if code == 0x7F: + return None + + # --- DELETE: zero-width characters --- + if CONTENT_SANITIZE_STRIP_ZW and code in _ZERO_WIDTH_CHARS: + if dry_run: + _content_sanitize_warnings.append( + f"DELETE zero-width U+{code:04X}") + return None + + # --- DELETE: bidirectional controls --- + if code in _BIDI_CONTROLS: + if dry_run: + _content_sanitize_warnings.append( + f"DELETE bidi control U+{code:04X}") + return None + + # --- DELETE: variation selectors --- + if code in _VARIATION_SELECTORS: + if dry_run: + _content_sanitize_warnings.append( + f"DELETE variation selector U+{code:04X}") + return None + + # --- DELETE: Unicode noncharacters --- + if code in _NONCHARACTERS: + return None + + # --- REPLACE: U+FFFD replacement character → '?' --- + if code == 0xFFFD: + if dry_run: + _content_sanitize_warnings.append( + "REPLACE U+FFFD (upstream encoding error) → '?'") + return '?' + + # --- REPLACE: fullwidth ASCII letters/digits → halfwidth --- + # U+FF21–FF3A = A–Z, U+FF41–FF5A = a–z, U+FF10–FF19 = 0–9 + if 0xFF21 <= code <= 0xFF3A or 0xFF41 <= code <= 0xFF5A or 0xFF10 <= code <= 0xFF19: + halfwidth = chr(code - _FULLWIDTH_OFFSET) + if dry_run: + _content_sanitize_warnings.append( + f"REPLACE fullwidth '{ch}' → halfwidth '{halfwidth}'") + return halfwidth + + # --- REPLACE: ligatures → decomposed --- + if code in _LIGATURE_MAP: + decomposed = _LIGATURE_MAP[code] + if dry_run: + _content_sanitize_warnings.append( + f"REPLACE ligature '{ch}' (U+{code:04X}) → '{decomposed}'") + return decomposed + + # --- REPLACE: line/paragraph separators → newline --- + if code == 0x2028 or code == 0x2029: + if dry_run: + _content_sanitize_warnings.append( + f"REPLACE U+{code:04X} separator → '\\n'") + return '\n' + + # --- REPLACE: soft hyphen → empty (invisible, ReportLab ignores it) --- + if code == 0x00AD: + return None + + # --- WARN (pass through): Private Use Area --- + if 0xE000 <= code <= 0xF8FF: + if dry_run: + _content_sanitize_warnings.append( + f"WARN Private Use Area U+{code:04X} (passed through)") + return ch + + # --- PASS: everything else --- + return ch + + +# -- Glyph detection ------------------------------------------------------- + +_glyph_cache: Dict[Tuple[str, int], bool] = {} + + +def _has_glyph(font_name: str, code: int) -> bool: + """Check whether *font_name* has a real glyph outline for *code*.""" + key = (font_name, code) + if key in _glyph_cache: + return _glyph_cache[key] + try: + from reportlab.pdfbase import pdfmetrics + font = pdfmetrics.getFont(font_name) + result = code in font.face.charToGlyph + except Exception: + result = False + _glyph_cache[key] = result + return result + + +def _best_font_for_char(code: int, base_font: str) -> str: + """Return the best registered font for a single character *code*.""" + # ASCII fast path + if code < 128: + return base_font + + # Aesthetic preference ranges + for rng_start, rng_end, preferred in FONT_PREFER_RANGES.get(base_font, []): + if rng_start <= code <= rng_end: + if _has_glyph(preferred, code): + return preferred + + # Base font has the glyph — use it + if _has_glyph(base_font, code): + return base_font + + # Walk the fallback chain + for fb in FONT_FALLBACK_CHAIN.get(base_font, []): + if _has_glyph(fb, code): + return fb + + # Nothing found — return base_font (will render □ but won't crash) + return base_font + + +# -- Text-level automatic wrapping ---------------------------------- + +_TAG_RE = re.compile(r"]*>") + + +def font_fallback(text: str, base_font: str) -> str: + """Wrap characters that *base_font* cannot render with ```` tags. + + Preserves existing XML tags (````, ````, ````, etc.). + Returns the transformed markup string. + """ + if not text: + return text + + # Split text into (plain, tag, plain, tag, ...) segments + parts = _TAG_RE.split(text) + tags = _TAG_RE.findall(text) + + # Track nesting so we don't re-wrap inside explicit + font_stack: List[str] = [] + out_pieces: List[str] = [] + + for i, part in enumerate(parts): + # Determine effective font at this point + effective = font_stack[-1] if font_stack else base_font + + if part: + # Process plain text character by character + runs: List[Tuple[str, List[str]]] = [] + for ch in part: + code = ord(ch) + best = _best_font_for_char(code, effective) + if runs and runs[-1][0] == best: + runs[-1][1].append(ch) + else: + runs.append((best, [ch])) + + for font_name, chars in runs: + segment = "".join(chars) + if font_name == effective: + out_pieces.append(segment) + else: + out_pieces.append(f'{segment}') + + # Append the tag that follows this part (if any) + if i < len(tags): + tag = tags[i] + out_pieces.append(tag) + # Track font stack + tag_lower = tag.lower() + if tag_lower.startswith("" and font_stack: + font_stack.pop() + + return "".join(out_pieces) + + +# -- Monkey-patch installer ------------------------------------------------- + +_fallback_installed = False + + +def install_font_fallback(): + """Monkey-patch ``Paragraph.__init__`` so every Paragraph automatically + runs ``font_fallback()`` on its text. Idempotent — safe to call + multiple times. + """ + global _fallback_installed + if _fallback_installed: + return + + try: + from reportlab.platypus import Paragraph as _Para + except ImportError: + return + + _orig_init = _Para.__init__ + + def _patched_init(self, text, style=None, *args, **kwargs): + if isinstance(text, str): + text = content_sanitize(text) # Layer 1: clean dangerous chars + if style is not None: + base_font = getattr(style, "fontName", None) + if base_font and base_font in FONT_FALLBACK_CHAIN: + text = font_fallback(text, base_font) # Layer 2: font selection + _orig_init(self, text, style, *args, **kwargs) + + _Para.__init__ = _patched_init + _fallback_installed = True + + +# -- Post-generation glyph check ------------------------------------------- + +def check_missing_glyphs(pdf_path: str) -> List[Dict[str, Any]]: + """Scan a PDF for .notdef glyphs, control chars, and other problematic characters. + + Returns a list of dicts with keys: page, position, context, kind. + Empty list means no issues found. + """ + try: + import fitz # PyMuPDF + except ImportError: + print("Warning: PyMuPDF (fitz) not installed — cannot check missing glyphs", file=sys.stderr) + return [] + + issues: List[Dict[str, Any]] = [] + doc = fitz.open(pdf_path) + + for page_num in range(len(doc)): + page = doc[page_num] + text = page.get_text() + for i, ch in enumerate(text): + code = ord(ch) + kind: Optional[str] = None + + if ch == "\x00": + kind = "notdef" + elif code <= 0x1F and ch not in '\t\n\r': + kind = "control_char" + elif code == 0x7F: + kind = "control_char" + elif code == 0xFFFD: + kind = "replacement_char" + elif code in _ZERO_WIDTH_CHARS: + kind = "zero_width" + elif code in _BIDI_CONTROLS: + kind = "bidi_control" + elif code in _VARIATION_SELECTORS: + kind = "variation_selector" + elif 0xE000 <= code <= 0xF8FF: + kind = "private_use_area" + + if kind: + start = max(0, i - 10) + end = min(len(text), i + 11) + context = text[start:end].replace("\x00", "□") + issues.append({ + "page": page_num + 1, + "position": i, + "char": f"U+{code:04X}", + "kind": kind, + "context": context, + }) + + doc.close() + + # Deduplicate by page + context + kind + seen: Set[str] = set() + unique: List[Dict[str, Any]] = [] + for item in issues: + key = f"{item['page']}:{item['kind']}:{item['context']}" + if key not in seen: + seen.add(key) + unique.append(item) + + return unique + + +@cmd("font.check") +def font_check(argv: list): + """Scan a PDF for missing glyphs (□ boxes) after generation.""" + if not argv: + Output.error("MissingArg", "Usage: font.check ") + pdf_path = argv[0] + if not os.path.isfile(pdf_path): + Output.error("FileNotFound", f"File not found: {pdf_path}") + + issues = check_missing_glyphs(pdf_path) + + # Group by kind for better reporting + by_kind: Dict[str, List[Dict]] = {} + for item in issues: + k = item.get("kind", "unknown") + by_kind.setdefault(k, []).append(item) + + result: Dict[str, Any] = { + "status": "issues_found" if issues else "ok", + "total_issues": len(issues), + "by_kind": {k: len(v) for k, v in by_kind.items()}, + } + if issues: + result["issues"] = issues[:30] # cap output + result["hints"] = { + "notdef": "Missing glyphs (□). Fix: call install_font_fallback() after font registration.", + "control_char": "Control characters leaked into PDF. Fix: content_sanitize() should strip these.", + "replacement_char": "U+FFFD found — upstream encoding error corrupted original character.", + "zero_width": "Zero-width chars found. Usually harmless visually but affect text search/copy.", + "bidi_control": "Bidirectional control chars found. May cause text direction issues.", + "variation_selector": "Variation selectors found. No visual effect in ReportLab but shouldn't be here.", + "private_use_area": "Private Use Area chars found. Will render as □ unless a custom font covers them.", + } + + print(json.dumps(result, ensure_ascii=False, indent=2)) + raise SystemExit(0 if not issues else 1) + + +@cmd("toc.check") +def toc_check(argv: list): + """Validate TOC quality in a PDF file (page numbers, entries, links).""" + if not argv: + Output.error("MissingArg", "Usage: toc.check ") + pdf_path = argv[0] + if not os.path.isfile(pdf_path): + Output.error("FileNotFound", f"File not found: {pdf_path}") + + # Locate toc_validate.py relative to this script + script_dir = Path(__file__).resolve().parent + toc_script = script_dir / "toc_validate.py" + if not toc_script.exists(): + # Try parent's scripts dir + candidate = script_dir.parent / "scripts" / "toc_validate.py" + if candidate.exists(): + toc_script = candidate + + if toc_script.exists(): + # Import and call directly + import importlib.util + spec = importlib.util.spec_from_file_location("toc_validate", str(toc_script)) + toc_mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(toc_mod) + result = toc_mod.check_pdf(pdf_path) + else: + Output.error("ScriptNotFound", + "toc_validate.py not found. Expected at: " + str(script_dir / "toc_validate.py")) + + # Add remediation hints per error code + remediation = { + "TOC_ALL_SAME_PAGE": "ReportLab: use multiBuild() instead of build() with TocDocTemplate", + "TOC_NO_ENTRIES": "Check afterFlowable() notifies TOC correctly; ensure headings have bookmark_name/bookmark_level attributes", + "TOC_PAGES_INVALID": "TOC entry references a page beyond document total — regenerate TOC", + "TOC_NOT_FOUND": "Document has many pages but no TOC detected in first 5 pages", + "TOC_LINKS_MISSING": "TOC entries exist but no clickable links — check bookmark_key in afterFlowable()", + "TOC_ON_FIRST_PAGE": "Add a cover page before the TOC, or insert PageBreak() between cover and TOC. Expected: Cover(p1) → TOC(p2) → Content(p3+)", + } + for err in result.get("errors", []): + code = err.get("code", "") + if code in remediation: + err["fix"] = remediation[code] + for warn in result.get("warnings", []): + code = warn.get("code", "") + if code in remediation: + warn["fix"] = remediation[code] + + print(json.dumps(result, ensure_ascii=False, indent=2)) + raise SystemExit(0 if result.get("pass", False) else 1) + + +# ═══════════════════════════════════════════════════════════════ +# Section 7: code — sanitization pipeline for PDF generation code +# ═══════════════════════════════════════════════════════════════ + +# --- Step 0: restore literal unicode escapes/entities to real chars --- +_RE_UNICODE_ESC = re.compile(r"(\\u[0-9a-fA-F]{4})|(\\U[0-9a-fA-F]{8})|(\\x[0-9a-fA-F]{2})") + + +def _restore_escapes(s: str) -> str: + # HTML entities: ³ ≤ α ... + s = html.unescape(s) + + # Literal backslash escapes: "\\u00B3" -> "³" + def _dec(m: re.Match) -> str: + esc = m.group(0) + try: + if esc.startswith("\\u") or esc.startswith("\\U"): + return chr(int(esc[2:], 16)) + if esc.startswith("\\x"): + return chr(int(esc[2:], 16)) + except Exception: + return esc + return esc + + return _RE_UNICODE_ESC.sub(_dec, s) + + +# --- Step 1: superscripts/subscripts -> / --- +_SUPERSCRIPT_MAP: Dict[str, str] = { + "\u2070": "0", "\u00b9": "1", "\u00b2": "2", "\u00b3": "3", "\u2074": "4", + "\u2075": "5", "\u2076": "6", "\u2077": "7", "\u2078": "8", "\u2079": "9", + "\u207a": "+", "\u207b": "-", "\u207c": "=", "\u207d": "(", "\u207e": ")", + "\u207f": "n", "\u1da6": "i", +} + +_SUBSCRIPT_MAP: Dict[str, str] = { + "\u2080": "0", "\u2081": "1", "\u2082": "2", "\u2083": "3", "\u2084": "4", + "\u2085": "5", "\u2086": "6", "\u2087": "7", "\u2088": "8", "\u2089": "9", + "\u208a": "+", "\u208b": "-", "\u208c": "=", "\u208d": "(", "\u208e": ")", + "\u2090": "a", "\u2091": "e", "\u2095": "h", "\u1d62": "i", "\u2c7c": "j", + "\u2096": "k", "\u2097": "l", "\u2098": "m", "\u2099": "n", "\u2092": "o", + "\u209a": "p", "\u1d63": "r", "\u209b": "s", "\u209c": "t", "\u1d64": "u", + "\u1d65": "v", "\u2093": "x", +} + + +def _replace_super_sub(s: str) -> str: + out = [] + for ch in s: + if ch in _SUPERSCRIPT_MAP: + out.append(f"{_SUPERSCRIPT_MAP[ch]}") + elif ch in _SUBSCRIPT_MAP: + out.append(f"{_SUBSCRIPT_MAP[ch]}") + else: + out.append(ch) + return "".join(out) + + +# --- Step 2: symbol fallback for SimHei (protect tags, then replace) --- +_SYMBOL_FALLBACK: Dict[str, str] = { + # Currently empty - enable entries as needed for fonts missing specific glyphs +} + + +def _fallback_symbols(s: str) -> str: + # Protect / tags from being modified + placeholders: Dict[str, str] = {} + + def _protect_tag(m: re.Match) -> str: + key = f"@@TAG{len(placeholders)}@@" + placeholders[key] = m.group(0) + return key + + protected = re.sub(r"|", _protect_tag, s) + + # Replace symbols + protected = "".join(_SYMBOL_FALLBACK.get(ch, ch) for ch in protected) + + # Restore tags + for k, v in placeholders.items(): + protected = protected.replace(k, v) + + return protected + + +def sanitize_code(text: str) -> str: + """ + Full sanitization pipeline for PDF generation code. + - Restore unicode escapes/entities to real characters + - Replace superscript/subscript unicode with / + - Replace other risky symbols with ASCII/text fallbacks + """ + s = _restore_escapes(text) + s = _replace_super_sub(s) + s = _fallback_symbols(s) + return s + + +@cmd("palette.generate") +def palette_generate(argv: list): + """Generate a color palette via design_engine.py and output as Python-ready ReportLab code. + + Usage: + pdf.py palette.generate [--title "document title"] [--mode minimal|dark|pastel|jewel|light] [--harmony auto|complementary|...] [--format python|json|css] + + If --title is provided, intent is auto-derived from the title. + Output formats: + python (default): Ready-to-paste ReportLab color variables + json: Raw palette JSON + css: CSS custom properties + """ + title = _pop_flag(argv, "--title", "-t") or "" + mode = _pop_flag(argv, "--mode", "-m") or "minimal" + harmony = _pop_flag(argv, "--harmony", "--harmony") or "auto" + fmt = _pop_flag(argv, "--format", "-f") or "python" + seed_str = _pop_flag(argv, "--seed", "--seed") + seed = int(seed_str) if seed_str else None + + engine_script = _SCRIPT_DIR / "design_engine.py" + if not engine_script.exists(): + Output.error("DependencyMissing", f"design_engine.py not found at {engine_script}") + + # Import design_engine dynamically + import importlib.util + spec = importlib.util.spec_from_file_location("design_engine", str(engine_script)) + de = importlib.util.module_from_spec(spec) + spec.loader.exec_module(de) + + # Auto-derive intent from title + if title: + intent = de.derive_intent(title) + else: + intent = "neutral" + + palette = de.generate_color_palette(intent, mode, harmony=harmony, seed=seed) + violations = de.audit_palette(palette) + + if fmt == "json": + print(json.dumps(palette, indent=2, ensure_ascii=False)) + elif fmt == "css": + print(de.palette_to_css(palette)) + else: + # Python format: ready-to-paste ReportLab code + print("# \u2501\u2501 Color Palette (auto-generated by pdf.py palette.generate) \u2501\u2501") + print(f"# Intent: {intent} | Mode: {mode} | Harmony: {palette['meta']['harmony']}") + print(f"# Contrast: text:bg={palette['meta']['contrast']['text_on_bg']} | accent:bg={palette['meta']['contrast']['accent_on_bg']}") + print("from reportlab.lib import colors") + print(f"ACCENT = colors.HexColor('{palette['accent']}')") + print(f"TEXT_PRIMARY = colors.HexColor('{palette['text']}')") + print(f"TEXT_MUTED = colors.HexColor('{palette['muted']}')") + print(f"BG_SURFACE = colors.HexColor('{palette['mid']}')") + print(f"BG_PAGE = colors.HexColor('{palette['bg']}')") + print(f"SURFACE_RGBA = '{palette['surface']}' # For CSS/HTML elements") + print("") + print("# ReportLab table colors") + print("TABLE_HEADER_COLOR = ACCENT") + print("TABLE_HEADER_TEXT = colors.white") + print("TABLE_ROW_EVEN = colors.white") + print("TABLE_ROW_ODD = BG_SURFACE") + + if violations: + print(f"\n# \u26a0\ufe0f Palette audit warnings:", file=sys.stderr) + for v in violations: + print(f"# - {v}", file=sys.stderr) + + raise SystemExit(0) + + +@cmd("palette.cascade") +def palette_cascade(argv: list): + """Generate a role-based cascade palette (area ∝ 1/saturation). + + Usage: + pdf.py palette.cascade [--title "document title"] [--mode minimal|dark|pastel|jewel|light] [--harmony auto|...] [--format summary|json|css|reportlab] + + The cascade palette produces 12 named roles + 4 semantic colors, each assigned + to a size tier (XL/L/M/S/XS) with saturation caps enforced per tier. + Cover, body, and chart colors all pull from the same palette — no color drift. + """ + title = _pop_flag(argv, "--title", "-t") or "" + mode = _pop_flag(argv, "--mode", "-m") or "minimal" + harmony = _pop_flag(argv, "--harmony", "--harmony") or "auto" + fmt = _pop_flag(argv, "--format", "-f") or "summary" + seed_str = _pop_flag(argv, "--seed", "--seed") + seed = int(seed_str) if seed_str else None + + engine_script = _SCRIPT_DIR / "design_engine.py" + if not engine_script.exists(): + Output.error("DependencyMissing", f"design_engine.py not found at {engine_script}") + + import importlib.util + spec = importlib.util.spec_from_file_location("design_engine", str(engine_script)) + de = importlib.util.module_from_spec(spec) + spec.loader.exec_module(de) + + if title: + intent = de.derive_intent(title) + else: + intent = "neutral" + + cascade = de.generate_cascade_palette(intent, mode, harmony=harmony, seed=seed) + + if fmt == "json": + print(json.dumps(cascade, indent=2, ensure_ascii=False, default=str)) + elif fmt == "css": + print(cascade["css"]) + elif fmt == "reportlab": + print(cascade["reportlab"]) + else: + # Summary format + meta = cascade["meta"] + print(f"🎨 Cascade Palette | Intent: {meta['intent']} | Mode: {meta['mode']} | Harmony: {meta['harmony']}") + print(f" Base hue: {meta['base_hue']}° | Accent hue: {meta['accent_hue']}° | Secondary: {meta['secondary_hue']}°") + print(f" Contrast: text:bg={meta['contrast']['text_on_bg']} | accent:bg={meta['contrast']['accent_on_bg']}") + print() + print(" TIER | ROLE | HEX | S | USAGE") + print(" ────── | ────────────────── | ─────── | ────── | ────────────") + for name, info in cascade["roles"].items(): + tier = info['tier'].upper().ljust(6) + nm = name.ljust(18) + hx = info['hex'].ljust(7) + s_val = f"{info['hsl'][1]:.3f}".ljust(6) + print(f" {tier} | {nm} | {hx} | {s_val} | {info['usage']}") + print() + print(" Semantic:") + for name, info in cascade["semantic"].items(): + print(f" {name}: {info['hex']} (S={info['hsl'][1]:.3f})") + if meta["audit"]: + print(f"\n ⚠️ Violations:") + for v in meta["audit"]: + print(f" - {v}") + else: + print(f"\n ✅ All tier constraints pass") + + raise SystemExit(0) + + +@cmd("code.sanitize") +def code_sanitize(argv: list): + """Sanitize Unicode in a Python script for PDF generation.""" + if not argv: + Output.error("MissingArg", "Usage: code.sanitize ") + target = argv[0] + with open(target, "r", encoding="utf-8") as f: + code = f.read() + sanitized = sanitize_code(code) + with open(target, "w", encoding="utf-8") as f: + f.write(sanitized) + print(f"Sanitized: {target}") + raise SystemExit(0) + + +@cmd("content.sanitize") +def content_sanitize_cli(argv: list): + """Sanitize content text for PDF rendering (dry-run report). + + Reads a text file and reports what content_sanitize() would change. + Useful for debugging before PDF generation. + + Usage: + pdf.py content.sanitize + pdf.py content.sanitize --apply + """ + if not argv: + Output.error("MissingArg", "Usage: content.sanitize [--apply]") + target = argv[0] + apply_flag = "--apply" in argv + + with open(target, "r", encoding="utf-8") as f: + raw = f.read() + + global _content_sanitize_warnings + _content_sanitize_warnings = [] + cleaned = content_sanitize(raw, dry_run=True) + + changes = len(_content_sanitize_warnings) + result: Dict[str, Any] = { + "file": target, + "original_chars": len(raw), + "cleaned_chars": len(cleaned), + "changes": changes, + "details": _content_sanitize_warnings[:50], + } + + if apply_flag and changes > 0: + with open(target, "w", encoding="utf-8") as f: + f.write(cleaned) + result["applied"] = True + else: + result["applied"] = False + if changes > 0: + result["hint"] = "Run with --apply to write cleaned text back to file." + + print(json.dumps(result, ensure_ascii=False, indent=2)) + raise SystemExit(0) + + +# ═══════════════════════════════════════════════════════════════ +# Section 8: CLI dispatcher +# ═══════════════════════════════════════════════════════════════ + +def _usage(): + sys.stdout.write(__doc__.strip() + "\n") + raise SystemExit(0) + + +def main(): + tokens = sys.argv[1:] + if not tokens or tokens[0] in ("-h", "--help"): + _usage() + + cmd_name = tokens.pop(0) + + # Direct match + handler = _COMMANDS.get(cmd_name) + if handler is not None: + handler(tokens) + return + + # Two-word match (e.g., "extract text" -> "extract.text") + if tokens: + compound = f"{cmd_name}.{tokens[0]}" + handler = _COMMANDS.get(compound) + if handler is not None: + tokens.pop(0) + handler(tokens) + return + + # List commands in group + group_cmds = [k for k in _COMMANDS if k.startswith(cmd_name + ".")] + if group_cmds: + print(f"Available commands in '{cmd_name}':") + for c in sorted(group_cmds): + print(f" {c}") + raise SystemExit(0) + + print(f"Unknown command: {cmd_name}\n") + _usage() + + +if __name__ == "__main__": + main() diff --git a/skills/pdf/scripts/pdf_qa.py b/skills/pdf/scripts/pdf_qa.py new file mode 100755 index 0000000..49c5462 --- /dev/null +++ b/skills/pdf/scripts/pdf_qa.py @@ -0,0 +1,901 @@ +#!/usr/bin/env python3 +""" +PDF Quality Assurance Checker +============================= +Automatically detects common typesetting issues in PDFs. + +Usage: python3 pdf_qa.py + +Checks: + 1. Page size consistency across all pages + 2. Blank page detection + 3. CJK punctuation placement (line-start/end forbidden punctuation) + 4. Color analysis (informational only — counts and lists colors) + 5. Font embedding check (warns on non-embedded fonts) + 6. PDF metadata check (title/author/creator) + 7. Content overflow detection (text exceeding page boundaries) + 8. Content fill ratio per page (multi-page docs, warns if < 40%) + 9. Cover/poster full-bleed check (background extends to page edges) + 10. Margin symmetry check (left/right text margins) + 11. Table centering check (if detected) + 12. Formula overflow check (optional) +""" + +import sys +import os +import re +import json +from collections import Counter + +try: + import pymupdf # PyMuPDF +except ImportError: + import fitz as pymupdf + +# ============================================================ +# Config +# ============================================================ + +# CJK punctuation forbidden at line start +LINE_START_FORBIDDEN = set( + "。、,;:!?)】〛〉」』" + "\u201c\u201d" # "" curly double quotes + "\u2026" # … ellipsis + "\u2014" # — em dash + "\uff5e" # ~ fullwidth tilde + "\u00b7" # · middle dot +) + +# CJK punctuation forbidden at line end +LINE_END_FORBIDDEN = set( + "(【《〈「" + "\u2018\u2019" # '' curly single quotes + "\u201c" # " left curly double quote +) + +# Minimum fill ratio for last page (DISABLED — caused false positives) +# LAST_PAGE_MIN_FILL = 0.40 + +# Maximum allowed color count — REMOVED (color count is now info-only) +# MAX_COLORS = 8 + +# ============================================================ +# Checks +# ============================================================ + +class QAResult: + def __init__(self): + self.issues = [] # (severity, category, message) + self.passes = [] # passed checks + self.info = [] # informational + + def error(self, cat, msg): + self.issues.append(('ERROR', cat, msg)) + + def warn(self, cat, msg): + self.issues.append(('WARN', cat, msg)) + + def ok(self, msg): + self.passes.append(msg) + + def add_info(self, msg): + self.info.append(msg) + + +def check_last_page_fill(doc, result): + """Check content fill ratio of the last page""" + if len(doc) < 2: + result.ok("Single-page document, no last-page blank check needed") + return + + last_page = doc[-1] + page_rect = last_page.rect + page_area = page_rect.width * page_rect.height + + # Get bounding boxes of all content on last page + blocks = last_page.get_text("blocks") + if not blocks: + result.error("Last page blank", f"Page {len(doc)} (last page) has no content at all!") + return + + # Calculate max y-coordinate covered by content + max_y = 0 + min_y = page_rect.height + for b in blocks: + if b[4].strip(): # Has text content + min_y = min(min_y, b[1]) + max_y = max(max_y, b[3]) + + if max_y == 0: + result.error("Last page blank", f"Page {len(doc)} (last page) has no valid text content") + return + + content_height = max_y - min_y + fill_ratio = content_height / page_rect.height + + result.add_info(f"Last page fill ratio: {fill_ratio:.0%} (content height {content_height:.0f}px / page height {page_rect.height:.0f}px)") + + if fill_ratio < 0.25: + result.error("Last page blank", f"Last page fill ratio only {fill_ratio:.0%}, mostly blank! Consider compressing preceding page spacing or trimming content") + elif fill_ratio < LAST_PAGE_MIN_FILL: + result.warn("Last page blank", f"Last page fill ratio {fill_ratio:.0%}, somewhat sparse — optimization recommended") + else: + result.ok(f"Last page fill ratio {fill_ratio:.0%} ✓") + + +def check_punctuation(doc, result): + """Check CJK punctuation placement rules""" + violations = [] + + for page_num in range(len(doc)): + page = doc[page_num] + # Extract text by line + text_dict = page.get_text("dict") + + for block in text_dict.get("blocks", []): + if block.get("type") != 0: # Only check text blocks + continue + for line in block.get("lines", []): + line_text = "" + for span in line.get("spans", []): + line_text += span.get("text", "") + + line_text = line_text.strip() + if not line_text: + continue + + # Check line start + first_char = line_text[0] + if first_char in LINE_START_FORBIDDEN: + violations.append((page_num + 1, f"Forbidden line-start punctuation '{first_char}': ...{line_text[:30]}")) + + # Check line end + last_char = line_text[-1] if len(line_text) > 0 else '' + if last_char in LINE_END_FORBIDDEN: + violations.append((page_num + 1, f"Forbidden line-end punctuation '{last_char}': {line_text[-30:]}...")) + + if violations: + # Show at most 10 + shown = violations[:10] + for page_num, desc in shown: + result.warn("Punctuation rules", f"Page {page_num} - {desc}") + if len(violations) > 10: + result.warn("Punctuation rules", f"...{len(violations) - 10} more violations") + else: + result.ok("Punctuation placement check passed ✓") + + +def check_blank_pages(doc, result): + """Check for completely blank pages""" + blank_pages = [] + for i in range(len(doc)): + page = doc[i] + text = page.get_text().strip() + # Also check for images + images = page.get_images() + drawings = page.get_drawings() + + if not text and not images and not drawings: + blank_pages.append(i + 1) + + if blank_pages: + result.error("Blank pages", f"Found blank pages: {blank_pages}") + else: + result.ok("No blank pages ✓") + + +def check_colors(doc, result): + """Analyze colors used in the document (informational only, no pass/fail)""" + colors = set() + + for page_num in range(len(doc)): + page = doc[page_num] + text_dict = page.get_text("dict") + + for block in text_dict.get("blocks", []): + if block.get("type") != 0: + continue + for line in block.get("lines", []): + for span in line.get("spans", []): + color = span.get("color", 0) + if color != 0: # Exclude pure black + r = (color >> 16) & 0xFF + g = (color >> 8) & 0xFF + b = color & 0xFF + hex_color = f"#{r:02x}{g:02x}{b:02x}" + colors.add(hex_color) + + # Check drawing colors + drawings = page.get_drawings() + for d in drawings: + if d.get("color"): + c = d["color"] + if isinstance(c, (tuple, list)) and len(c) >= 3: + hex_color = f"#{int(c[0]*255):02x}{int(c[1]*255):02x}{int(c[2]*255):02x}" + colors.add(hex_color) + if d.get("fill"): + c = d["fill"] + if isinstance(c, (tuple, list)) and len(c) >= 3: + hex_color = f"#{int(c[0]*255):02x}{int(c[1]*255):02x}{int(c[2]*255):02x}" + colors.add(hex_color) + + # Filter out near-black/white/gray colors + distinct_colors = [] + for c in colors: + r = int(c[1:3], 16) + g = int(c[3:5], 16) + b = int(c[5:7], 16) + max_diff = max(abs(r-g), abs(g-b), abs(r-b)) + if max_diff > 20: + distinct_colors.append(c) + + result.add_info(f"Total text colors: {len(colors)} (chromatic: {len(distinct_colors)})") + + if distinct_colors: + result.add_info(f"Chromatic colors: {', '.join(sorted(distinct_colors)[:10])}") + + +def check_page_size_consistency(doc, result): + """Check whether all page sizes are consistent""" + if len(doc) < 2: + result.ok("Single-page document, size consistent ✓") + return + + sizes = set() + for i in range(len(doc)): + page = doc[i] + w = round(page.rect.width, 1) + h = round(page.rect.height, 1) + sizes.add((w, h)) + + if len(sizes) > 1: + result.warn("Page size", f"Inconsistent page sizes: {sizes}") + else: + size = list(sizes)[0] + # Convert to mm + w_mm = size[0] * 25.4 / 72 + h_mm = size[1] * 25.4 / 72 + result.add_info(f"Page size: {w_mm:.0f}mm × {h_mm:.0f}mm ({len(doc)} pages)") + result.ok("Page size consistent ✓") + + +def check_text_overflow(doc, result): + """Check whether text overflows page boundaries""" + overflow_pages = [] + + for i in range(len(doc)): + page = doc[i] + rect = page.rect + blocks = page.get_text("blocks") + + for b in blocks: + # b = (x0, y0, x1, y1, text, block_no, block_type) + if b[2] > rect.width + 2 or b[3] > rect.height + 2: # 2px tolerance + overflow_pages.append(i + 1) + break + if b[0] < -2 or b[1] < -2: + overflow_pages.append(i + 1) + break + + if overflow_pages: + result.warn("Content overflow", f"Pages {overflow_pages} may have content exceeding page boundaries") + else: + result.ok("No content overflow ✓") + + +def check_content_fill_ratio(doc, result): + """Check content fill ratio per page — warns when content is crammed at top leaving large void below. + + Rules: + - Skip single-page documents (may be intentional design) + - Skip page 1 (usually cover with intentional whitespace) + - Middle pages: warn if fill ratio < 40% + - Last page: warn if fill ratio < 25% (naturally has less content) + """ + if len(doc) < 2: + result.ok("Single-page document, skipping content fill ratio check ✓") + return + + low_fill_pages = [] + + for i in range(len(doc)): + page = doc[i] + page_rect = page.rect + page_height = page_rect.height + + # Skip page 1 (cover) + if i == 0: + continue + + blocks = page.get_text("blocks") + images = page.get_images() + drawings = page.get_drawings() + + if not blocks and not images and not drawings: + continue # Blank page check handles this + + # Calculate content bbox + max_y = 0 + for b in blocks: + if b[4].strip(): + max_y = max(max_y, b[3]) + + # Include images in bbox + for img in images: + try: + img_rects = page.get_image_rects(img[0]) + for r in img_rects: + max_y = max(max_y, r.y1) + except Exception: + pass + + if max_y == 0: + continue + + fill_ratio = max_y / page_height + is_last = (i == len(doc) - 1) + threshold = 0.25 if is_last else 0.40 + + if fill_ratio < threshold: + low_fill_pages.append((i + 1, fill_ratio, threshold)) + + if low_fill_pages: + for pg, ratio, thresh in low_fill_pages: + result.warn( + "Content fill ratio", + f"Page {pg} content only fills {ratio:.0%} of page height " + f"(threshold: {thresh:.0%}). Content may be crammed at the top " + f"with a large blank area below." + ) + else: + result.ok("Content fill ratio adequate on all pages ✓") + + +def check_cover_bleed(doc, result, poster=False): + """Check if the cover page (page 1) fills the entire page area (full-bleed). + + A properly designed cover should have background color/graphics extending + to the page edges. If the content bbox has significant margins on all sides, + the cover likely wasn't rendered full-bleed (e.g. ReportLab with default margins). + + For poster mode: checks ALL pages (not just the cover) since every page of a + seamlessly-paginated poster should have consistent background fill. + + Strategy: combine bounding boxes of drawings (rects, paths), images, and colored + backgrounds. If the union bbox leaves > 5% margin on any side, warn. + """ + if not poster and len(doc) < 2: + # Single page doc (non-poster) — not necessarily a cover scenario + return + + pages_to_check = range(len(doc)) if poster else [0] + + for page_idx in pages_to_check: + page = doc[page_idx] + page_rect = page.rect + pw, ph = page_rect.width, page_rect.height + + # Collect all content bounding boxes + min_x, min_y = pw, ph + max_x, max_y = 0.0, 0.0 + has_content = False + + # 1. Drawings (vector paths, rectangles — typical for colored backgrounds) + for d in page.get_drawings(): + r = d.get("rect") + if r: + min_x = min(min_x, r.x0) + min_y = min(min_y, r.y0) + max_x = max(max_x, r.x1) + max_y = max(max_y, r.y1) + has_content = True + + # 2. Images + for img in page.get_images(): + try: + for r in page.get_image_rects(img[0]): + min_x = min(min_x, r.x0) + min_y = min(min_y, r.y0) + max_x = max(max_x, r.x1) + max_y = max(max_y, r.y1) + has_content = True + except Exception: + pass + + page_label = f"Page {page_idx + 1}" if poster else "Cover page (p1)" + + if not has_content: + blocks = page.get_text("blocks") + if blocks: + result.warn( + f"{page_label} not full-bleed", + f"{page_label} has no background graphics (no filled rectangles or images). " + "A proper cover/poster page should have a full-page background color or image " + "extending to all edges." + ) + continue + + # Calculate margin ratios (how far content is from page edges) + margin_left = max(0, min_x) / pw + margin_top = max(0, min_y) / ph + margin_right = max(0, pw - max_x) / pw + margin_bottom = max(0, ph - max_y) / ph + + threshold = 0.05 + margins_ok = (margin_left <= threshold and margin_top <= threshold and + margin_right <= threshold and margin_bottom <= threshold) + + if margins_ok: + result.ok(f"{page_label} content extends to page edges (full-bleed) ✓") + else: + sides = [] + if margin_left > threshold: + sides.append(f"left {margin_left:.0%}") + if margin_top > threshold: + sides.append(f"top {margin_top:.0%}") + if margin_right > threshold: + sides.append(f"right {margin_right:.0%}") + if margin_bottom > threshold: + sides.append(f"bottom {margin_bottom:.0%}") + result.warn( + f"{page_label} not full-bleed", + f"{page_label} has visible margins: {', '.join(sides)}. " + f"Background/graphics should extend to page edges." + ) + + +def check_margin_symmetry(doc, result, skip_cover=False): + """Check left/right margin symmetry using text block bounds.""" + warn_pages = [] + + for page_num in range(len(doc)): + if skip_cover and page_num == 0: + continue + + page = doc[page_num] + blocks = page.get_text("blocks") + text_blocks = [b for b in blocks if b[4].strip()] + + if len(text_blocks) < 3: + continue # Skip decorative/cover-like pages + + left_margin = min(b[0] for b in text_blocks) + right_margin = page.rect.width - max(b[2] for b in text_blocks) + diff = abs(left_margin - right_margin) + + if diff > page.rect.width * 0.05: + warn_pages.append((page_num + 1, left_margin, right_margin, diff)) + + if warn_pages: + for pg, left, right, diff in warn_pages: + result.warn( + "Margin symmetry", + f"Page {pg} left/right margins differ by {diff:.0f}pt " + f"(L {left:.0f}pt, R {right:.0f}pt)" + ) + else: + result.ok("Left/right margins appear symmetric \u2713") + + +def check_table_centering(doc, result): + """Check if detected table regions are centered.""" + def _bbox_intersects(a, b, tol=6): + return not (a[2] < b[0] - tol or a[0] > b[2] + tol or + a[3] < b[1] - tol or a[1] > b[3] + tol) + + def _rect_tuple(r): + if hasattr(r, "x0"): + return (r.x0, r.y0, r.x1, r.y1) + return (r[0], r[1], r[2], r[3]) + + any_tables = False + + for page_num in range(len(doc)): + page = doc[page_num] + drawings = page.get_drawings() + segments = [] + + for d in drawings: + for item in d.get("items", []): + if not item: + continue + op = item[0] + if op == "l" and len(item) >= 3: + p0, p1 = item[1], item[2] + segments.append((p0[0], p0[1], p1[0], p1[1])) + elif op == "re" and len(item) >= 2: + x0, y0, x1, y1 = _rect_tuple(item[1]) + segments.extend([ + (x0, y0, x1, y0), + (x0, y1, x1, y1), + (x0, y0, x0, y1), + (x1, y0, x1, y1), + ]) + + if not segments: + continue + + cluster_list = [] + for x0, y0, x1, y1 in segments: + min_x, max_x = min(x0, x1), max(x0, x1) + min_y, max_y = min(y0, y1), max(y0, y1) + bbox = (min_x, min_y, max_x, max_y) + is_h = abs(y0 - y1) < 1 and (max_x - min_x) > 20 + is_v = abs(x0 - x1) < 1 and (max_y - min_y) > 20 + if not is_h and not is_v: + continue + + placed = False + for cl in cluster_list: + if _bbox_intersects(bbox, cl["bbox"]): + cl["segments"].append((x0, y0, x1, y1, is_h, is_v)) + cl["bbox"] = ( + min(cl["bbox"][0], bbox[0]), + min(cl["bbox"][1], bbox[1]), + max(cl["bbox"][2], bbox[2]), + max(cl["bbox"][3], bbox[3]), + ) + if is_h: + cl["h"] += 1 + if is_v: + cl["v"] += 1 + placed = True + break + if not placed: + cluster_list.append({ + "bbox": bbox, + "segments": [(x0, y0, x1, y1, is_h, is_v)], + "h": 1 if is_h else 0, + "v": 1 if is_v else 0, + }) + + for cl in cluster_list: + if cl["h"] < 2 or cl["v"] < 2: + continue + any_tables = True + bbox = cl["bbox"] + page_width = page.rect.width + left_margin = bbox[0] + right_margin = page_width - bbox[2] + if abs(left_margin - right_margin) > page_width * 0.05: + result.warn( + "Table centering", + f"Page {page_num + 1}: Table not centered " + f"(L {left_margin:.0f}pt, R {right_margin:.0f}pt)" + ) + + if any_tables: + result.ok("Table centering check complete \u2713") + + +def check_font_embedding(doc, result): + """Check font embedding status using PyMuPDF font list.""" + fonts_used = set() + non_embedded = set() + + for page_num in range(len(doc)): + page = doc[page_num] + for font in page.get_fonts(): + basefont = font[3] if len(font) > 3 else "unknown" + ext = font[1] if len(font) > 1 else "" + fonts_used.add(basefont) + if not ext: + non_embedded.add(basefont) + + if fonts_used: + result.add_info(f"Fonts used: {', '.join(sorted(fonts_used))}") + else: + result.add_info("Fonts used: (none detected)") + + if non_embedded: + for basefont in sorted(non_embedded): + result.warn( + "Font embedding", + f"Font {basefont} is not embedded. May display differently on other systems." + ) + else: + result.ok("All fonts are embedded \u2713") + + +def check_helvetica_in_cjk(doc, result): + """Detect Helvetica rendering visible text in documents containing CJK text. + + Helvetica is a Latin-only built-in PDF font. When it appears rendering + actual text content in a CJK document, it almost always means a raw string + was passed to a ReportLab Table or flowable without wrapping it in + Paragraph() with a CJK font. The CJK characters rendered via Helvetica + become garbled (fall back to ZapfDingbats symbols). + + We only check Helvetica (not ZapfDingbats) because ZapfDingbats is + legitimately used for bullet symbols in list items. + + We check actual rendered text spans (not just font presence in font list) + because ReportLab internally registers Helvetica on every page even when + only CJK fonts are used in visible content. + """ + has_cjk = False + helvetica_pages = [] + + for page_num in range(len(doc)): + page = doc[page_num] + text = page.get_text("text") or "" + + # Check if document contains CJK characters + if not has_cjk: + for ch in text: + if '\u4e00' <= ch <= '\u9fff' or '\u3400' <= ch <= '\u4dbf': + has_cjk = True + break + + # Check if Helvetica is actually used to render visible text on this page + blocks = page.get_text("dict", sort=True).get("blocks", []) + found_on_page = False + for block in blocks: + if found_on_page: + break + for line in block.get("lines", []): + if found_on_page: + break + for span in line.get("spans", []): + font = span.get("font", "") + txt = span.get("text", "").strip() + if "Helvetica" in font and len(txt) > 0: + helvetica_pages.append(page_num + 1) + found_on_page = True + break + + if has_cjk and helvetica_pages: + pages_str = ', '.join(str(p) for p in helvetica_pages[:5]) + if len(helvetica_pages) > 5: + pages_str += f' ...and {len(helvetica_pages) - 5} more' + result.warn( + "Helvetica in CJK document", + f"Helvetica font detected rendering text on page(s) {pages_str} in a CJK document. " + f"This usually means a raw string was passed to a ReportLab Table or flowable " + f"without wrapping in Paragraph(text, style) with a CJK-capable font. " + f"CJK characters rendered via Helvetica will appear as garbled symbols." + ) + + +def check_metadata(doc, result): + """Check PDF metadata presence for title, author, creator.""" + meta = doc.metadata or {} + + def _missing(v): + if v is None: + return True + if not str(v).strip(): + return True + return False + + title = meta.get("title") + author = meta.get("author") + creator = meta.get("creator") + + if _missing(title) or str(title).strip().lower() in ("untitled", "(anonymous)"): + result.warn("Metadata", "Missing/invalid title metadata") + else: + result.ok("Title metadata present \u2713") + + if _missing(author): + result.warn("Metadata", "Missing author metadata") + else: + result.ok("Author metadata present \u2713") + + if _missing(creator): + result.warn("Metadata", "Missing creator metadata") + else: + result.ok("Creator metadata present \u2713") + + +def check_toc_without_cover(doc, result): + """Detect TOC on page 1 without a preceding cover page. + + If the first page contains Table of Contents / 目录, it means the document + has a TOC but no cover page. This is a structural issue — documents with + TOC should have: Cover (p1) → TOC (p2) → Content (p3+). + """ + if len(doc) < 2: + # Single-page docs don't need TOC/cover checks + return + + page1 = doc[0] + text = page1.get_text("text", sort=True).strip() + + # Normalize for matching + text_lower = text.lower() + first_300 = text_lower[:300] + + toc_keywords = [ + "table of contents", "contents", + "目录", "目 录", + ] + + has_toc = any(kw in first_300 for kw in toc_keywords) + + if has_toc: + result.warn( + "TOC without cover", + "Page 1 appears to be a Table of Contents with no preceding cover page. " + "Documents with TOC should have: Cover (p1) → TOC (p2) → Content (p3+)." + ) + + +def check_formula_overflow(doc, result): + """Detect likely formula overflow past right content margin.""" + math_re = re.compile(r"[=+\-*/<>\u2264\u2265\u2211\u222b\u221a\u03c0\u00b5\u221e\u2202\u2206\u2248\u2260\u00b1\u00d7\u00f7]") + + for page_num in range(len(doc)): + page = doc[page_num] + blocks = page.get_text("blocks") + text_blocks = [b for b in blocks if b[4].strip()] + + if len(text_blocks) < 3: + continue + + right_edges = sorted(b[2] for b in text_blocks) + mid = len(right_edges) // 2 + content_right = right_edges[mid] if right_edges else 0 + + for b in text_blocks: + x0, x1, text = b[0], b[2], b[4] + if x1 <= content_right + 10: + continue + + is_single_line = "\n" not in text.strip() + is_wide = (x1 - x0) > page.rect.width * 0.5 + has_math = bool(math_re.search(text)) + + if (is_single_line and is_wide) or has_math: + delta = x1 - content_right + result.warn( + "Formula overflow", + f"Page {page_num + 1}: Content extends {delta:.0f}pt beyond right content margin " + "(possible formula overflow)" + ) + break + + +# ============================================================ +# Main +# ============================================================ + +def run_qa(pdf_path, poster=False, skip_cover=False, check_tables=True, check_formulas=False): + result = QAResult() + + if not os.path.exists(pdf_path): + result.error("File", f"File not found: {pdf_path}") + return result + + doc = pymupdf.open(pdf_path) + + result.add_info(f"File: {os.path.basename(pdf_path)}") + result.add_info(f"Size: {os.path.getsize(pdf_path) / 1024:.1f} KB") + if poster: + result.add_info("Mode: poster (creative)") + + # Run all checks + check_metadata(doc, result) + check_page_size_consistency(doc, result) + check_blank_pages(doc, result) + check_punctuation(doc, result) + check_colors(doc, result) + check_font_embedding(doc, result) + check_helvetica_in_cjk(doc, result) + check_text_overflow(doc, result) + if not poster: + # Content fill ratio is not meaningful for posters — the last page + # of a seamlessly-paginated poster naturally has less content. + check_content_fill_ratio(doc, result) + check_cover_bleed(doc, result, poster=poster) + check_margin_symmetry(doc, result, skip_cover=skip_cover) + if check_tables: + check_table_centering(doc, result) + if check_formulas: + check_formula_overflow(doc, result) + if not poster: + check_toc_without_cover(doc, result) + + doc.close() + return result + + +def format_report(result): + lines = [] + lines.append("=" * 56) + lines.append(" PDF Quality Assurance Report") + lines.append("=" * 56) + + # Info + if result.info: + lines.append("") + lines.append("ℹ️ Info:") + for msg in result.info: + lines.append(f" {msg}") + + # Passes + if result.passes: + lines.append("") + lines.append(f"✅ Passed ({len(result.passes)}):") + for msg in result.passes: + lines.append(f" {msg}") + + # Issues + errors = [(s, c, m) for s, c, m in result.issues if s == 'ERROR'] + warns = [(s, c, m) for s, c, m in result.issues if s == 'WARN'] + + if errors: + lines.append("") + lines.append(f"❌ Errors ({len(errors)}):") + for _, cat, msg in errors: + lines.append(f" [{cat}] {msg}") + + if warns: + lines.append("") + lines.append(f"⚠️ Warnings ({len(warns)}):") + for _, cat, msg in warns: + lines.append(f" [{cat}] {msg}") + + # Summary + lines.append("") + lines.append("-" * 56) + total_issues = len(result.issues) + if total_issues == 0: + lines.append("🎉 PASS — All checks passed!") + elif errors: + lines.append(f"💀 FAIL — {len(errors)} error(s), {len(warns)} warning(s)") + else: + lines.append(f"⚠️ WARN — {len(warns)} warning(s), optimization recommended") + lines.append("-" * 56) + + return "\n".join(lines) + + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Usage: python3 pdf_qa.py ") + print(" python3 pdf_qa.py *.pdf (batch check)") + print("Options:") + print(" --poster Poster mode (creative)") + print(" --skip-cover Skip page 1 margin symmetry check") + print(" --no-tables Disable table centering check") + print(" --formulas Enable formula overflow check") + sys.exit(1) + + import glob + files = [] + poster = False + skip_cover = False + check_tables = True + check_formulas = False + args = sys.argv[1:] + if '--poster' in args: + poster = True + args.remove('--poster') + if '--skip-cover' in args: + skip_cover = True + args.remove('--skip-cover') + if '--no-tables' in args: + check_tables = False + args.remove('--no-tables') + if '--formulas' in args: + check_formulas = True + args.remove('--formulas') + for arg in args: + files.extend(glob.glob(arg)) + + if not files: + print(f"File not found: {args}") + sys.exit(1) + + for pdf_path in files: + result = run_qa( + pdf_path, + poster=poster, + skip_cover=skip_cover, + check_tables=check_tables, + check_formulas=check_formulas + ) + print(format_report(result)) + if len(files) > 1: + print("\n") diff --git a/skills/pdf/scripts/poster_validate.py b/skills/pdf/scripts/poster_validate.py new file mode 100755 index 0000000..570000c --- /dev/null +++ b/skills/pdf/scripts/poster_validate.py @@ -0,0 +1,1337 @@ +#!/usr/bin/env python3 +""" +poster_validate.py — Pre- and post-generation quality checks for poster/creative PDFs. + +Usage: + # Check HTML before PDF generation + python3 poster_validate.py check-html poster.html [--fix] [--output fixed.html] + + # Check PDF after generation + python3 poster_validate.py check-pdf poster.pdf --source-html poster.html + +Both commands emit a JSON report to stdout: + {"pass": bool, "source": "...", "check_type": "html"|"pdf", + "errors": [...], "warnings": [...], "info": [...]} + +Exit codes: + 0 pass (no errors; warnings/info are OK) + 1 fail (at least one error) + 2 script-level failure (bad arguments, unreadable file, …) +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import re +import sys +from html.parser import HTMLParser +from pathlib import Path +from typing import Any + +# --------------------------------------------------------------------------- +# Constants +# --------------------------------------------------------------------------- + +GENERIC_FAMILIES = frozenset( + ["serif", "sans-serif", "monospace", "cursive", "fantasy", "system-ui", "ui-serif", + "ui-sans-serif", "ui-monospace", "ui-rounded", "math", "emoji", "fangsong"] +) + +SERIF_FONTS = frozenset(f.lower() for f in [ + "Playfair Display", "Georgia", "Times New Roman", "Times", "Noto Serif", + "Noto Serif SC", "Noto Serif TC", "Noto Serif JP", "Noto Serif KR", + "Source Serif Pro", "Source Serif 4", "Merriweather", "Lora", "PT Serif", + "Libre Baskerville", "EB Garamond", "Cormorant Garamond", "Crimson Text", + "STSong", "FangSong", "KaiTi", "STKaiti", "Songti SC", +]) + +CHINESE_FONTS = frozenset(f.lower() for f in [ + "SimHei", "Microsoft YaHei", "Noto Sans SC", "Noto Sans TC", + "Noto Sans CJK SC", "Noto Sans CJK TC", "PingFang SC", "PingFang TC", + "Source Han Sans SC", "Source Han Sans TC", "WenQuanYi Micro Hei", + "WenQuanYi Zen Hei", "Hiragino Sans GB", "STHeiti", "STXihei", + "Noto Serif SC", "Noto Serif TC", "Noto Serif CJK SC", + "Source Han Serif SC", "SimSun", "NSimSun", "FangSong", "KaiTi", + "STSong", "STFangsong", "STKaiti", "Songti SC", "Heiti SC", +]) + +# Selectors we treat as "main containers" whose overflow:hidden is dangerous. +# NOTE: .poster and .page are EXCLUDED because html2poster.js auto-injects +# overflow:hidden on them at render time. See SKILL.md Engine Selection Rules. +CONTAINER_SELECTORS = {"body", "html", ".slide", + "#app", "#root", ".container", ".wrapper", "main", + "section", "article"} + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + + +def _issue(code: str, message: str, severity: str = "error", line: int | None = None) -> dict: + d: dict[str, Any] = {"code": code, "message": message, "severity": severity} + if line is not None: + d["line"] = line + return d + + +def _line_number(full_text: str, pos: int) -> int: + """Return 1-based line number for character position *pos*.""" + return full_text.count("\n", 0, pos) + 1 + + +# --------------------------------------------------------------------------- +# CSS regex helpers +# --------------------------------------------------------------------------- + +_RE_FONT_FAMILY = re.compile( + r"font-family\s*:\s*([^;}\n]+)", re.IGNORECASE +) + +_RE_FONT_SIZE = re.compile( + r"font-size\s*:\s*(\d+(?:\.\d+)?)\s*(px|pt|em|rem)", re.IGNORECASE +) + +_RE_PAGE_SIZE = re.compile( + r"@page\s*\{[^}]*\bsize\s*:", re.IGNORECASE | re.DOTALL +) + +_RE_CSS_URL = re.compile( + r"url\(\s*['\"]?(https?://[^'\")\s]+)['\"]?\s*\)", re.IGNORECASE +) + +_RE_OVERFLOW = re.compile( + r"overflow\s*:\s*hidden", re.IGNORECASE +) + +_RE_BG_WHITE = re.compile( + r"background(?:-color)?\s*:\s*(white|#fff(?:fff)?|transparent)\b", re.IGNORECASE +) + +_RE_COLOR_HEX = re.compile(r"#([0-9a-fA-F]{3,8})") +_RE_COLOR_RGB = re.compile(r"rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)") + +_RE_STYLE_BLOCK = re.compile(r"]*>(.*?)", re.IGNORECASE | re.DOTALL) +_RE_INLINE_STYLE = re.compile(r'style\s*=\s*["\']([^"\']*)["\']', re.IGNORECASE) + +_RE_CSS_RULE = re.compile( + r"([^{]+)\{([^}]*)\}", re.DOTALL +) + +_RE_WIDTH_PX = re.compile(r"width\s*:\s*(\d+(?:\.\d+)?)\s*px", re.IGNORECASE) + + +def _parse_font_list(raw: str) -> list[str]: + """Split a font-family value into individual font names (unquoted, stripped).""" + fonts: list[str] = [] + for part in raw.split(","): + name = part.strip().strip("'\"").strip() + if name: + fonts.append(name) + return fonts + + +def _has_generic(fonts: list[str]) -> bool: + return any(f.lower() in GENERIC_FAMILIES for f in fonts) + + +def _best_generic(fonts: list[str]) -> str: + """Pick the best generic fallback for a list of named fonts.""" + lower = [f.lower() for f in fonts] + if any(f in CHINESE_FONTS for f in lower): + return "sans-serif" + if any(f in SERIF_FONTS for f in lower): + return "serif" + return "sans-serif" + + +# --------------------------------------------------------------------------- +# Color / contrast helpers +# --------------------------------------------------------------------------- + +def _hex_to_rgb(h: str) -> tuple[int, int, int] | None: + h = h.lstrip("#") + if len(h) == 3: + h = h[0]*2 + h[1]*2 + h[2]*2 + if len(h) == 4: + h = h[0]*2 + h[1]*2 + h[2]*2 # ignore alpha + if len(h) == 8: + h = h[:6] # strip alpha + if len(h) != 6: + return None + try: + return int(h[0:2], 16), int(h[2:4], 16), int(h[4:6], 16) + except ValueError: + return None + + +def _relative_luminance(r: int, g: int, b: int) -> float: + """WCAG 2.x relative luminance.""" + def _c(v: int) -> float: + s = v / 255.0 + return s / 12.92 if s <= 0.03928 else ((s + 0.055) / 1.055) ** 2.4 + return 0.2126 * _c(r) + 0.7152 * _c(g) + 0.0722 * _c(b) + + +def _contrast_ratio(rgb1: tuple[int, int, int], rgb2: tuple[int, int, int]) -> float: + l1 = _relative_luminance(*rgb1) + l2 = _relative_luminance(*rgb2) + lighter = max(l1, l2) + darker = min(l1, l2) + return (lighter + 0.05) / (darker + 0.05) + + +def _extract_color(css_text: str, prop: str) -> tuple[int, int, int] | None: + """Try to extract an RGB color for a given CSS property from a rule body.""" + pat = re.compile(rf"{prop}\s*:\s*([^;]+)", re.IGNORECASE) + m = pat.search(css_text) + if not m: + return None + val = m.group(1).strip() + # Named colours (just the common ones) + named = { + "white": (255, 255, 255), "black": (0, 0, 0), "red": (255, 0, 0), + "green": (0, 128, 0), "blue": (0, 0, 255), "yellow": (255, 255, 0), + "grey": (128, 128, 128), "gray": (128, 128, 128), "transparent": (255, 255, 255), + } + low = val.lower().split()[0].rstrip(";") + if low in named: + return named[low] + m_rgb = _RE_COLOR_RGB.search(val) + if m_rgb: + return int(m_rgb.group(1)), int(m_rgb.group(2)), int(m_rgb.group(3)) + m_hex = _RE_COLOR_HEX.search(val) + if m_hex: + return _hex_to_rgb(m_hex.group(1)) + return None + + +# --------------------------------------------------------------------------- +# HTML visible text extractor (stdlib only) +# --------------------------------------------------------------------------- + +class _TextExtractor(HTMLParser): + """Extract visible text from HTML, skipping +``` + +--- + +### Option 1.2: Sharp Angle Cut (The Angle Slash) + +**Shape type**: Polygon/right trapezoid + +**Calculation logic (define four vertices)**: +- `Point 1` = `(0, H × 0.7)` +- `Point 2` = `(W, H × 0.4)` +- `Point 3` = `(W, H)` +- `Point 4` = `(0, H)` + +**Visual effect**: Forms a tilted geometric color block at the bottom of the page. This sharp linear cut has a strong IT/consulting/engineering industry feel. + +**ReportLab implementation notes**: +```python +c.saveState() +c.clipRect(0, 0, W, H) +c.setFillColorRGB(0, 0, 0, 0.04) # Rule 1 +path = c.beginPath() +# ReportLab Y starts from bottom, needs flipping +path.moveTo(0, H * 0.3) # Corresponds to doc P1: (0, H*0.7) → flipped +path.lineTo(W, H * 0.6) # Corresponds to doc P2: (W, H*0.4) → flipped +path.lineTo(W, 0) # Corresponds to doc P3: (W, H) → flipped +path.lineTo(0, 0) # Corresponds to doc P4: (0, H) → flipped +path.close() +c.drawPath(path, fill=1, stroke=0) +c.restoreState() +``` + +--- + +## Module 2: Typographic Watermarks + +**Goal:** Extract very short metadata text and transform it into an architectural watermark space. + +### Technical Requirements (Mandatory) + +| Constraint | Rule | +|-------|------| +| **Font** | Must use sans-serif, weight must be extra-bold (Black / Heavy / Bold). Recommended: Helvetica Black, Arial Black, Noto Sans SC Heavy | +| **Font prohibition** | **Absolutely forbidden** to use thin or serif fonts for this type of watermark | +| **Character count** | Extracted string length `1–5` characters (e.g. year "2026", abbreviation "AI", "B2B") | +| **Opacity** | Follow global Rule 1 (light bg 2-5%, dark bg 3-6%) | + +### Option 2.1: Side Giant Spine (Vertical Spine) + +**Calculation logic**: +- `Text` = Extract year (e.g. "2026") +- **🔴 Font Size Adaptive Algorithm (Full Text Display Iron Rule):** + 1. `Max_Font_Size` = `W × 0.45` (ideal maximum) + 2. Measure total text height after rotation: `Text_Width = measure(Text, Max_Font_Size)` (after 90° rotation, original width becomes vertical height) + 3. Available vertical space = `H × 0.85` (leaving `H × 0.075` safety margin top and bottom) + 4. If `Text_Width > available vertical space`, scale down proportionally: `Font_Size = Max_Font_Size × (available_vertical_space / Text_Width)` + 5. Final `Font_Size = min(Max_Font_Size, scaled_font_size)` +- `Rotation` = Counterclockwise 90° (`-90deg`) +- `Anchor_X` = `W × 0.03` (text fully within page, flush to left but not exceeding) +- `Anchor_Y` = Vertically centered = `(H - Text_Width) / 2` (text centered after rotation) + +**⚠️ Full Display Iron Rule: Background watermark text must be 100% within the visible page area. Any clipping is strictly forbidden. Reduce font size rather than truncate.** + +**Visual effect**: A complete bold number watermark appears on the left side, vertically centered, becoming the visual supporting pillar. Text is fully readable. + +**ReportLab implementation notes**: +```python +c.saveState() +c.clipRect(0, 0, W, H) +c.setFillColorRGB(0, 0, 0, 0.04) + +# Adaptive font size: ensure full text display +max_font_size = W * 0.45 +text = "2026" +text_width = c.stringWidth(text, "Helvetica-Bold", max_font_size) +available_height = H * 0.85 +if text_width > available_height: + font_size = max_font_size * (available_height / text_width) +else: + font_size = max_font_size + +# Recalculate actual width for centering +actual_text_width = c.stringWidth(text, "Helvetica-Bold", font_size) + +c.setFont("Helvetica-Bold", font_size) +# Vertically centered, fully within page +center_y = (H - actual_text_width) / 2 +c.translate(W * 0.03, center_y) +c.rotate(90) # ReportLab counter-clockwise is positive +c.drawString(0, 0, text) +c.restoreState() +``` + +--- + +### Option 2.2: Bottom Full Text + +**Calculation logic**: +- `Text` = Document type English initials (e.g. "REPORT") +- **🔴 Font Size Adaptive Algorithm (Full Text Display Iron Rule):** + 1. `Max_Font_Size` = `W × 0.3` (ideal maximum) + 2. Measure text rendering width: `Text_Width = measure(Text, Max_Font_Size)` + 3. Available horizontal space = `W × 0.90` (leaving `W × 0.05` safety margin left and right) + 4. If `Text_Width > available horizontal space`, scale down proportionally: `Font_Size = Max_Font_Size × (available_horizontal_space / Text_Width)` + 5. Final `Font_Size = min(Max_Font_Size, scaled_font_size)` +- `Rotation` = 0° (horizontal tiling) +- `Anchor_X` = `W × 0.05` +- `Anchor_Y` = Text baseline within the bottom safe zone of the page: `H × 0.92` (text fully displayed at page bottom, not truncated) + +**⚠️ Full Display Iron Rule: Background watermark text must be 100% within the visible page area. Any clipping is strictly forbidden. Reduce font size rather than truncate.** + +**Visual effect**: Text sits solidly at the bottom like a foundation, fully readable, extremely dignified. No more half-truncated text. + +**ReportLab implementation notes**: +```python +c.saveState() +c.clipRect(0, 0, W, H) +c.setFillColorRGB(0, 0, 0, 0.04) + +# Adaptive font size: ensure full text display +max_font_size = W * 0.3 +text = "REPORT" +text_width = c.stringWidth(text, "Helvetica-Bold", max_font_size) +available_width = W * 0.90 +if text_width > available_width: + font_size = max_font_size * (available_width / text_width) +else: + font_size = max_font_size + +c.setFont("Helvetica-Bold", font_size) +# Text fully within page, baseline placed in bottom safe zone +# ascent ≈ font_size * 0.75, ensure letter tops don't exceed page +c.drawString(W * 0.05, font_size * 0.3, text) # baseline slightly above bottom edge +c.restoreState() +``` + +--- + +## Module 3: Blueprint Hairlines + +**Goal:** Use ultra-thin interlacing lines to enhance the "anchoring feel" and logical rigor of foreground text. + +### Technical Requirements + +| Constraint | Rule | +|-------|------| +| **Line width** | `Stroke_Width = 0.5pt` (**must never exceed 1pt**) | +| **Line type** | Solid, or very closely spaced dotted line (Dotted, dash: `[1, 3]`) | +| **Opacity** | Follow global Rule 1 | + +### Option 3.1: Coordinate Cross + +**Calculation logic (height bound to foreground layout anchor)**: +- **Vertical line (Y-axis)**: Read the left-alignment safe boundary of foreground layout (e.g. `X = W × 0.15`). Draw a vertical line from `Y = 0` to `Y = H` +- **Horizontal line (X-axis)**: Read the baseline or top boundary of the foreground main title (e.g. `Y = H × 0.32`). Draw a horizontal line from `X = 0` to `X = W` + +**Visual effect**: The entire page is divided by implicit golden ratio lines, foreground text appears to grow precisely on these coordinate axes, extremely rigorous. + +**ReportLab implementation notes**: +```python +c.saveState() +c.setStrokeColorRGB(0, 0, 0, 0.04) +c.setLineWidth(0.5) +# Vertical line — align to foreground text left boundary +axis_x = W * 0.15 +c.line(axis_x, 0, axis_x, H) +# Horizontal line — align to main title baseline +axis_y = H * 0.68 # ReportLab Y-flip: document H*0.32 → RL H*0.68 +c.line(0, axis_y, W, axis_y) +c.restoreState() +``` + +**Playwright/HTML implementation notes**: +```html +
+ +
+ +
+
+``` + +--- + +## 🛠️ Combination & Circuit Breaker (The Combination Matrix) + +To ensure diversity in auto-generated backgrounds while preventing visual chaos, the system must implement a **"background combination state machine"**. + +For each PDF generation, randomly select one of the following 3 legal Recipes, **cross-boundary combinations are strictly forbidden**: + +### ✅ Recipe A: Minimal Modern + +**Combination**: `Option 1.1 (deep-space arc)` — **this one only, no other elements** + +**Applicable scenes**: Safest, most whitespace, suitable for all types of corporate reports. + +**Pairing suggestions with cover layouts**: +- Layout 1 (diagonal tension) — arc in the blank diagonal area, extremely harmonious +- Layout 2 (vertical gravity axis) — arc provides lower-left gravity +- Layout 4 (golden ratio) — arc adds breathing space to the lower whitespace area + +--- + +### ✅ Recipe B: Engineering/Academic + +**Combination**: `Option 3.1 (coordinate cross)` **+** `Option 2.1 (side giant spine)` + +**Logic**: Vertical giant text interlaces with ultra-thin coordinate lines on the left, creating extreme thick-thin contrast, perfect for investment pitches and research reports. + +**Line avoidance rule**: Option 3.1's ultra-thin lines should avoid crossing directly through Option 2.1 (giant text) strokes to prevent visual interference. Adjust line coordinates to avoid text areas: +- Vertical line `X` at `W × 0.15` (foreground text left-alignment line) +- Giant spine anchor `X` at `-W × 0.05` (left of vertical line, no crossing) + +**Pairing suggestions with cover layouts**: +- Layout 7 (left-aligned matrix) — perfect match, left spine + coordinate lines + matrix text three-layer overlay +- Layout 2A (left-aligned vertical) — vertical line aligns with axis, doubled structural feel +- Layout 6A (side rotation decoration) — Note: 6A already has rotated year, if using Recipe B then **skip Option 2.1**, keep only Option 3.1 + +--- + +### ✅ Recipe C: Solid/Weighty + +**Combination**: `Option 1.2 (sharp angle cut)` **+** `Option 2.2 (bottom full text)` + +**Logic**: Bottom angular color block overlaid with fully displayed English word at the bottom, very low center of gravity, suitable for annual summaries and white papers. + +**Stacking order**: Draw Option 1.2 angular color block first, then Option 2.2 bleed text (text on top of color block, but both below foreground content). + +**Pairing suggestions with cover layouts**: +- Layout 4A (top suspended) — content on top, background pressed below, extreme top-bottom contrast +- Layout 1A (diagonal tension) — bottom gravity echoes lower-right text +- Layout 5A (stepped progression) — steps extend to lower-right, converging with bottom gravity + +--- + +## 🚫 Circuit Breaker Rules (Hard Constraints) + +The following combinations are **hard-forbidden**; violations are bugs: + +| Forbidden Rule | Reason | +|---------|------| +| Option 2.1 + Option 2.2 together | **No dual text**. Only one giant text watermark allowed per page | +| Option 1.1 + Option 1.2 together | **No dual geometry**. Large circle + large diagonal = visual chaos | +| Option 3.1 lines crossing Option 2.x strokes | **Line isolation**. Ultra-thin lines must not cross giant text strokes; adjust coordinates to avoid | +| All three modules enabled | **Maximum two modules**. Three layers = overwhelms foreground | +| Any background element opacity > 6% | **Rule 1 violation**. Background must be subtle and barely visible | + +--- + +## Recipe Selection Logic + +When no specific recipe is specified, auto-select based on document type: + +| Document Type | Recommended Recipe | Reason | +|---------|---------|------| +| Corporate reports, general docs | **A** | Safest, zero risk | +| Technical reports, investment pitches | **B** | Engineering feel, precision | +| Annual summaries, white papers | **C** | Solid, weighty | +| Creative, design | **A** | Maximum whitespace, no conflict with creative content | +| Academic papers | **B** | Structural feel matches academic tone | +| Uncertain / default | **A** | Minimal never goes wrong | + +--- + +## Relationship with geometry.md + +This file defines **page-level macro backgrounds** (Supergraphics / Watermarks / Hairlines), applied to the entire canvas. + +`geometry.md` defines **local decorative anchors** (Offset Stacking / Scale Contrast / Grid Intersection), applied to specific areas. + +Both can coexist, but note: +- Background layer (this file) is at the bottom +- Geometric anchors (geometry.md) are above the background layer but below foreground text +- If both are used, geometric anchors should be placed in "blank areas" of background elements to avoid visual overlap diff --git a/skills/pdf/typesetting/cover.md b/skills/pdf/typesetting/cover.md new file mode 100755 index 0000000..7771ff2 --- /dev/null +++ b/skills/pdf/typesetting/cover.md @@ -0,0 +1,1442 @@ +# Cover Design V3.0 - Cover Layout Engine Specification + +> The cover is the first impression. Either skip it, or build it like architecture. + +--- + +## ⚠️ Critical Rules (Read First) + +1. **Cover is OPTIONAL.** Do NOT force a cover on documents that don't need one. When in doubt, skip. +2. **Unified cover system.** All routes (Report, Creative, Academic) use the HTML/Playwright cover system. Templates 01-07 are general-purpose; Templates 08-10 are academic-specific (dark backgrounds, scholarly typography); **Template 11 is institutional (white bg, black border frame, structured fields)**. All routes generate covers via Playwright and merge via pypdf. +3. **Single PDF output.** Never deliver a separate cover PDF. + - **Creative route**: Cover is part of the same HTML document → single PDF output inherently. + - **Report route**: Cover PDF (Playwright) + body PDF (ReportLab) → merged via pypdf into one final PDF. + - **Academic route**: Cover PDF (Playwright) + body PDF (Tectonic) → merged via pypdf into one final PDF. +4. **Page isolation.** Cover content must NEVER share a page with TOC, body text, or any subsequent content. Report/Academic: isolation is inherent in the merge pipeline. Creative: CSS page-break enforces isolation. Cover + TOC on the same page = **critical bug**. + +--- + +## When to Include a Cover + +| Document Type | Cover Needed | Notes | +|---------------|-------------|-------| +| Formal report (annual, research, white paper) | ✅ Required | Conveys professionalism | +| Proposal / plan | ✅ Required | First impression is everything | +| Resume | ❌ Not needed | Content itself is the cover | +| Menu / flyer / card | ❌ Not needed | Single page or function-oriented | +| Invitation | ❌ Not needed | The front side IS the cover | +| Lab report / academic paper | ⚠️ Situational | Add when template requires it | +| Portfolio / lookbook | ✅ Required | Cover sets the tone | + +--- + +# PART 0: GLOBAL ENGINE ARCHITECTURE (Mandatory) + +These three architectural upgrades are **mandatory** for ALL cover rendering. They eliminate 90% of squished/misaligned/overflow bugs at the engine level. + +--- + +## A0.0 - Global Base Parameters + +**All templates MUST obey these.** + +``` +W = page total width +H = page total height +U = W * 0.05 # Base spacing unit (5% of page width) + # All spacing should be multiples of U +``` + +**Coordinate origin:** `(0, 0)` at top-left corner. Some PDF libraries (ReportLab) use bottom-left origin - invert Y axis accordingly: `y_pdf = H - y_spec`. + +--- + +## A0.1 - Absolute Anchor Grid (Replaces Flow Layout) + +**Old (DEPRECATED):** `Y = previous_element_Y + height + spacing` - if one element overflows, everything below shifts and gets crushed. + +**New (MANDATORY):** Page height = 100%. Every element group gets an **absolute percentage Y-anchor**. Elements may only grow **within their own bounding box**. They NEVER push or compress other blocks. + +### Implementation Rule + +``` +# WRONG - flow layout (banned) +y_cursor = PAGE_H - top_margin +y_cursor -= title_height +y_cursor -= gap +y_cursor -= subtitle_height # ← if title wraps, subtitle gets crushed + +# RIGHT - absolute anchor grid +ANCHOR_TITLE_Y = H * 0.30 +ANCHOR_SUMMARY_Y = H * 0.50 +ANCHOR_META_Y = H * 0.70 +ANCHOR_FOOTER_Y = H * 0.90 +# Each block renders at its anchor, independent of others +``` + +### Bounding Box Containment + +Each block has a **maximum bounding box** defined by two consecutive anchors: +- Block can grow downward within `[own_anchor_Y, next_anchor_Y - min_gap]` +- If content exceeds its bounding box → trigger overflow protection (see Part 3) +- Blocks NEVER consume space belonging to adjacent blocks + +--- + +## A0.2 - Typography Weight & Spacing System + +Use **weight**, **letter-spacing**, and **opacity** to create hierarchy - not just font size. + +### Mandatory Type Roles + +| Role | Size | Weight | Letter-Spacing | Line-Height | Opacity | Purpose | +|------|------|--------|----------------|-------------|---------|---------| +| **Kicker / Footer** (decorative text) | 16pt | Regular | 3pt (very wide) | - | 60% | Wide spacing + transparency makes 16pt text feel delicate and recessive | +| **Summary / Description** (summary paragraph) 🆕 | 16-18pt | Regular | normal | **1.6** | 85% | **Fill visual space** - 2-4 lines of descriptive text that prevents empty covers | +| **Meta / Subtitle** (secondary text) | 20-22pt | Light / Regular | normal | 1.4 | 85% | Comfortable reading rhythm, clear secondary hierarchy | +| **Hero Title** (main title) | 45-65pt (CJK: 50-80pt) | Black / Heavy (extra bold) | normal-tight | **1.15** (multi-line) | 100% | Must create overwhelming scale contrast; visually dominates the page. CJK characters need +15-20% size to match Latin visual weight | + +### 🔴 Data-to-Drawer Binding Rule + +> **Hero Title = Company/entity name. Kicker = Report type/subtitle. Never reverse.** + +When users provide structured information (company name + report name/type), they must be bound to typography drawers by these rules: + +| User Data Field | Bound to Typography Role | Notes | +|-------------|-------------|------| +| **Company/entity name** (e.g. "GREENTECH") | **Hero Title** (45-65pt Heavy) | Company name is the **absolute visual center**, largest font, heaviest weight | +| **Report type/subtitle** (e.g. "2025 Annual Report Summary") | **Kicker** (16pt, letter-spacing 3pt, opacity 60%) | Report name is decorative supplementary text, placed in small text position at top-left/above title | +| **Summary/description** | **Summary** (16-18pt) | Detailed description text | +| **Date/author/version** | **Meta** (20-22pt) | Auxiliary information | +| **Document number/org signature** | **Footer** (16pt, opacity 60%) | Bottom closing | + +**Mapping priority (when ambiguous):** +1. If user provides only one name → treat as company/entity name, bind to Hero Title +2. If user provides two names → shorter/more brand-like → Hero Title; longer/descriptive → Kicker or Summary +3. If user explicitly labels "title" and "subtitle" → title → Hero Title, subtitle → Kicker +4. **Never use report type names (e.g. "Annual Report", "White Paper") as Hero Title's largest text** - report type is always Kicker-level decorative text + +### The Summary Block Rule (Anti-Void Iron Rule) 🆕 + +> Every cover MUST include a Summary/Description text block. If the user provides no summary, the system MUST auto-generate one. + +**Why:** A cover with only a title and date looks barren. The Summary block physically fills 2-4 lines of space, preventing the "empty field" aesthetic. + +**Auto-generation rule:** When no summary/description is provided: +```python +# Generate a default summary +if not summary_text: + summary_text = f"This report was generated by {org_name or 'the system'}, containing comprehensive data analysis and insights." + # Or in English: + # summary_text = f"This report presents comprehensive analysis and key insights prepared by {org_name or 'the organization'}." +``` + +**Constraints:** +- Width: template-specific (typically `W * 0.5` to `W * 0.6`) +- Lines: 2-4 lines (auto-wrap at width boundary) +- Never truncate summary - if too long, reduce to 4 lines max with `...` + +### Font Weight Fallback + +- If font family lacks Black/Heavy weight → use Bold + slightly larger size (+4pt) +- If font family lacks Light weight → use Regular + increased letter-spacing (+1pt) +- CJK fonts: STSong-Light for Regular/Light roles; for Heavy/Black → increase size by 15% to compensate for single-weight CJK fonts +- English kickers/footers: **FORCE UPPERCASE** via code (`text.upper()` / `toUpperCase()`) + +--- + +## A0.3 - Z-Index Layer Management + +All cover elements must be rendered in strict layer order. No exceptions. + +| Layer | Z-Index | Contents | Rules | +|-------|---------|----------|-------| +| **Layer 0** (base) | 0 | Background fill (white / light gray) | Always rendered first; full page | +| **Layer 1** (background) | 1 | Grids, watermark letters, decorative blocks, large clipped graphics | **MUST enable clip-path** - background elements may extend beyond logical bounds but must be clipped to page physical bounds. Never let background elements inflate PDF page size. | +| **Layer 2** (structure) | 2 | Ultra-thin divider lines, sidebars, corner crop marks | Structural guides that define spatial zones | +| **Layer 3** (content) | 3 | All readable text content | Rendered last, always on top | + +### Clip-Path Enforcement + +> **Since V2.1, all covers are rendered via HTML/CSS.** The canonical clip pattern is CSS `overflow: hidden`. The ReportLab Python example below is kept as legacy reference for body-page background elements only. + +```css +/* HTML/CSS cover (CANONICAL): clip background overflow */ +.cover-bg-layer { + position: absolute; + inset: 0; + overflow: hidden; /* MANDATORY */ + z-index: 1; +} +``` + +```python +# ReportLab (legacy reference, body pages only): clip background elements to page bounds +canvas.saveState() +p = canvas.beginPath() +p.rect(0, 0, W, H) +canvas.clipPath(p, stroke=0) +# ... render background elements (Layer 1 ONLY) ... +canvas.restoreState() +``` + +> ⚠️ **Clip scope = Layer 1 ONLY。** In HTML/CSS covers, `overflow: hidden` must ONLY be on the Layer 1 background container. Layer 2 (lines) and Layer 3 (text) containers must NOT have `overflow: hidden`. +> For ReportLab body pages: `saveState()`/`restoreState()` must close immediately after Layer 1 background rendering. +> Layer 2 (lines) and Layer 3 (text) must never be rendered within a clip scope, otherwise text will be clipped. + +### 🔴 Anti-Clip Bug (Layer 3 Text Truncation Fix) + +**Symptom:** Cover text is visible but truncated by an invisible boundary, only half visible. + +**Root cause:** clip/overflow scope not closed in time, causing subsequently rendered text to be clipped by the same clip rect. + +**Iron rule (HTML/CSS - canonical cover implementation):** +```html + +
+ +
+
+ +
+
+ +
+ + +
+
...
+
...
+
...
+
+``` + +**Iron rule (ReportLab - body page background element reference):** +```python +# ✅ CORRECT - clip only wraps Layer 1 +canvas.saveState() +canvas.clipPath(page_clip, stroke=0) +render_layer_1_background(canvas) # Background decoration +canvas.restoreState() # ← Must close here immediately! + +render_layer_2_lines(canvas) # Structure lines - not inside clip +render_layer_3_text(canvas) # Text content - not inside clip + +# ❌ WRONG - text clipped by clip scope +canvas.saveState() +canvas.clipPath(page_clip, stroke=0) +render_layer_1_background(canvas) +render_layer_2_lines(canvas) # ← Gets clipped +render_layer_3_text(canvas) # ← Gets clipped! Text only half visible +canvas.restoreState() +``` + +```css +/* Creative (HTML): Same principle */ +.cover-bg-layer { overflow: hidden; z-index: 1; } /* clip only on background layer */ +.cover-line-layer { overflow: visible; z-index: 2; } /* lines not clipped */ +.cover-text-layer { overflow: visible; z-index: 3; } /* text not clipped */ +``` + +### 🔴 No Page Border/Frame + +**Symptom:** A rectangular border appears around the entire cover page, looking like a table. + +**Root cause:** ReportLab's `Frame()` defaults to `showBoundary=0`, but if set to `1` or `True`, it shows a border. Also `canvas.rect()` may accidentally draw a full-page rectangle. + +**Iron rule:** +```python +# Cover page Frame must have showBoundary=0 +Frame(x, y, w, h, showBoundary=0) # Always 0 + +# Never draw a full-page border on the cover +canvas.rect(0, 0, W, H) # ❌ BANNED on cover page + +# If using doc.showBoundary, cover page must be skipped +doc = SimpleDocTemplate(..., showBoundary=0) # Always 0 in production +``` + +```css +/* Creative: No outer border on covers */ +.cover-page { + border: none !important; + outline: none !important; + box-shadow: none !important; +} +``` + +### 🔴 Minimum Spacing Between Decorative Lines and Text (Line-to-Text Spacing) + +**Symptom:** Decorative lines on the cover (Layer 2 dividers, corner marks, sidebar edges) are flush against or overlapping with text. + +**Iron rule:** +``` +Minimum spacing between decorative lines and any text content = U (= W * 0.05) +i.e., at least 1 U of whitespace between line edges and text edges +``` + +| Line Type | Minimum Spacing | Notes | +|---------|---------|------| +| Horizontal divider | `U` above and below the line | Line must not be flush against title or body text | +| Vertical sidebar edge | `U` to the right of the line | Text inside sidebar must maintain spacing from the edge | +| Corner marks / crop marks | `1.5 * U` from mark endpoint to nearest text | Marks must not touch text | +| Ultra-thick anchor line (Template 01) | `2 * U` to the right of the line | Thick line and title need ample breathing room | + +```python +# Example: Template 01 vertical thick line to title spacing +thick_line_x = 0.10 * W +title_x = thick_line_x + 2 * U # 2U spacing to the right of the thick line +# ❌ WRONG: title_x = thick_line_x + 5 # 5pt is too close, will overlap +``` + +--- + +# PART 1: SEVEN COVER TEMPLATES (7 Cover Rendering Specifications) + +Coordinates use `W` (page width) and `H` (page height). `U = W * 0.05` (base spacing unit). + +All templates inherit the A0.0-A0.3 architecture rules above. + +**Each template now includes a mandatory Summary/Description drawer** to fill visual space. + +--- + +## Template 01: HUD Data Terminal - Ultra-Thick Vertical Anchor Line + +**Design intent:** A single bold vertical line on the left anchors all visual weight. The thick line eliminates left-side floating. Clean, data-driven, authoritative. + +### Layer 1 - Background +- Full-page grid pattern: horizontal + vertical lines at ~50pt intervals +- Grid color: primary color at **2% opacity** (white background, nearly invisible) +- Grid line width: `0.5pt` + +### Layer 2 - Structure +- **Left anchor line:** Start `(0.12*W, 0.1*H)`, End `(0.12*W, 0.9*H)`. Line width = **6pt**, primary color. +- **Meta separator line:** At `Y_meta - 10pt`, from `X_content` to `X_content + W*0.4`, line width = **1pt**, primary color at 40% opacity. + +### Layer 3 - Content + +**Content left edge: `X_content = 0.12*W + 30pt`** (offset from the thick line) + +| Drawer | Y-Anchor | Content | Constraints | +|--------|----------|---------|-------------| +| **A - Kicker** | `0.15 * H` | Report type / subtitle (e.g. "2025 Annual Report Summary") | 16pt, Regular, letter-spacing 3pt, opacity 60%, uppercase | +| **B - Hero Title** | `0.30 * H` | **Company/entity name** (e.g. "GREENTECH") | 45-65pt (CJK: 50-80pt), Heavy. Company name is the visual center | +| **C - Summary** 🆕 | `0.50 * H` | 2-3 lines descriptive text about the report | 16-18pt, Regular, line-height 1.6, opacity 85%. **Width limit: `W * 0.6`**, auto-wrap. This drawer fills the mid-page void | +| **D - Meta/Date** | `0.75 * H` | Author, org, date | 16-20pt, Regular. Top edge separated by the 1pt meta line | + +### Best For +Technology reports, data analysis, dashboard summaries, technical white papers + +--- + +## Template 02: Corporate Editorial - Top Bar with Bottom Accent + +**Design intent:** Top-bottom symmetry. Top bar provides structural weight, bottom-right info block creates diagonal balance. Solves the "empty edges" problem. + +### Layer 1 - Background +- **Background giant year watermark:** Text = current year (e.g. "2026"), **Max font size = 180pt**, measure rendered width - if it exceeds `W * 0.85`, scale down proportionally. Position: `X = W - 20pt` (right edge), `Y = 0.15*H`. Color = primary at **4% opacity**. Font weight = Black. ⚠️ **Full-display iron rule: watermark text must be 100% within the visible page area - cropping is strictly forbidden. Prefer reducing font size over truncation.** + +### Layer 2 - Structure +- **Top bar (skyline):** Rectangle at `(0, 0)`, width = `W`, height = **15pt**, primary color fill. Edge-to-edge. +- **Right info accent line (edge seal):** Vertical line at `X = 0.88*W`, from `Y = 0.75*H` to `Y = 0.88*H`. Line width = **4pt**, primary color. + +### Layer 3 - Content + +| Drawer | Position | Content | Constraints | +|--------|----------|---------|-------------| +| **Left upper - Title group** | `X = 0.12*W`, `Y = 0.15*H` | Kicker (report type/subtitle, 16pt) → Hero Title (company/entity name, 45-65pt / CJK 50-80pt, Heavy) | Stack downward from anchor | +| **Mid-left - Summary** 🆕 | `X = 0.12*W`, `Y = 0.50*H` | Descriptive paragraph | 16-18pt, Regular, line-height 1.6. **Width limit: `W * 0.5`** | +| **Right lower - Meta** | Right-aligned at `X = 0.88*W - 20pt`, `Y = 0.70*H` | Date, version, author | **Right-aligned**, 16-20pt. Must hug the 4pt accent line | + +### Best For +Annual reports, financial summaries, investor documents, corporate governance reports + +--- + +## Template 03: The Monolith - Hard-Left Alignment + Right-Side Giant Watermark Counterweight + +**Design intent:** Everything hard-left. Right-side watermark counterbalances the asymmetry. Solves the "right half is empty" bug. + +### Layer 1 - Background +- **Right-side vertical watermark (load-bearing wall):** Extract a short English word (e.g. "REPORT"). **Auto-scaling font size:** `Max_Font_Size = 180pt`, measure total height after rotation - if it exceeds `H * 0.85`, scale down proportionally. **Rotate 90° clockwise** (or use vertical text mode). Anchor at `X = 0.85*W`, vertically centered: `Y = (H - rendered_text_width) / 2`. Color = primary at **3% opacity**. ⚠️ **Full-display iron rule: watermark text must be 100% within the visible page area - cropping is strictly forbidden. Prefer reducing font size over truncation.** + +### Layer 2 - Structure +- **Color dash (visual guide line):** At `(0.12*W, 0.15*H)`, draw a horizontal bar: width = **50pt**, height = **5pt**, primary color. +- **Meta accent line:** At `(0.12*W, Y_meta)`, vertical line: height = meta text block height, width = **2pt**, primary color at 50% opacity. + +### Layer 3 - Content + +**Unified left edge: `X = 0.12*W`** + +| Drawer | Y-Anchor | Content | Constraints | +|--------|----------|---------|-------------| +| **A - Color dash** | `0.15 * H` | Structure element (not text) | 50pt × 5pt bar | +| **B - Kicker** | `0.20 * H` | Report type / subtitle | 16pt, Regular, letter-spacing 3pt, uppercase, opacity 60% | +| **C - Hero Title** | `0.28 * H` | **Company/entity name** | 45-65pt (CJK: 50-80pt), Heavy | +| **D - Summary** 🆕 | `0.45 * H` | Descriptive paragraph (key anti-void element) | 16-18pt, Regular, line-height 1.6. **Width limit: `W * 0.55`** (must not collide with right watermark) | +| **E - Meta** | `0.70 * H` | Author, org, version | 20pt, Regular, line-height 2.0. Left of the 2pt accent line | +| **F - Footer** | `0.90 * H` | Date + doc number, right-aligned at `X = 0.88*W` | 16pt, Regular, opacity 60% | + +### Best For +White papers, project proposals, government documents, technical standards + +--- + +## Template 04: Museum Minimal - Refined Corner Crop Marks + +**Design intent:** Abandon all-over scattered layout. Four corner crop marks form an invisible "force field box" that concentrates all content dead center. + +### Layer 2 - Structure +- Set safety margin `M = 0.08 * W` +- **Four corner marks** at inner corners: `(M, M)`, `(W-M, M)`, `(M, H-M)`, `(W-M, H-M)` +- Each mark: L-shaped, arm length = **30pt**, line width = **2pt**, primary color at 60% opacity +- Marks point **inward** (top-left: right arm + down arm) + +### Layer 3 - Content + +**This template FORBIDS hardcoded absolute Y coordinates.** + +**Centering algorithm (mandatory):** +1. Pre-compose ALL text elements (kicker + title + summary + meta) into a single virtual Text Block +2. Calculate the block's total rendered height `Block_H` +3. Position block: `X = 0` (full width, center-aligned text), `Y = (H - Block_H) / 2` +4. **This guarantees the content group is vertically centered regardless of how much content there is** + +**Internal spacing within the centered block:** +- Kicker → Title: `24pt` +- Title → Summary: `20pt` +- Summary → Meta: `40pt` + +### Type Scale +| Role | Size | Notes | +|------|------|-------| +| Kicker | 16pt | Uppercase, letter-spacing 4pt, opacity 50%. Bound to report type/subtitle | +| Hero Title | 48-60pt | Heavy - slightly smaller than other templates to fit center composition. **Bound to company/entity name** | +| Summary 🆕 | 16-18pt | Regular, line-height 1.6, center-aligned, width ≤ `W * 0.6` | +| Meta | 16pt | Regular, opacity 60%, at bottom of group | + +### Best For +Gallery catalogs, design portfolios, exhibition materials, luxury brand documents + +--- + +## Template 05: Floating Diagonal - Premium Whitespace with Binding Line + +**Design intent:** "Left-upper to right-lower" diagonal visual flow. The two text groups create tension across whitespace. The gap IS the design. + +### Layer 2 - Structure +- **Binding dashed line:** At `X = 0.08*W`, from `Y = 0.05*H` to `Y = 0.95*H`. Line width = **1pt**, dashed (dash 6pt, gap 8pt), color = light gray (#d0d0d0, 40% opacity). + +### Layer 3 - Content + +| Group | Position | Content | Constraints | +|-------|----------|---------|-------------| +| **Upper-left group** | Anchor: `X = 0.15*W`, `Y = 0.20*H` | Kicker (report type/subtitle, 16pt gap) → Hero Title (company/entity name, 45-65pt / CJK 50-80pt, Heavy) | Left-aligned. Width limit: `W * 0.7` | +| **Lower-right group** 🆕 | Anchor: `X = 0.45*W`, `Y = 0.60*H` | Summary + Meta + Footer | **Left-aligned** (NOT right-aligned - intentional asymmetry). A **3pt vertical accent line** of height = group text height is drawn at `X = 0.45*W - 12pt` as a visual anchor. Line-height 2.0 for meta, 24pt gap before footer | + +**Visual effect:** Upper-left and lower-right groups are "pulled apart" across the diagonal. The empty top-right and bottom-left create tension, not emptiness. + +### Best For +Creative reports, editorial layouts, art direction documents, brand guidelines + +--- + +## Template 06: Swiss Grid - Ultimate Precision, Curing All Misalignment + +**Design intent:** The typographic "multiplication table." Thick lines physically slice the page into cells. Content fills its assigned cell. Impossible to misalign. + +### Layer 2 - Structure (ABSOLUTE - non-negotiable) + +``` +Horizontal line 1: (0.1*W, 0.25*H) → (0.9*W, 0.25*H), width 2pt, primary +Horizontal line 2: (0.1*W, 0.75*H) → (0.9*W, 0.75*H), width 2pt, primary +Vertical line 1: (0.45*W, 0.25*H) → (0.45*W, 0.75*H), width 2pt, primary +``` + +These create 4 zones: + +``` +┌──────────────────────────────────────┐ +│ Zone A - Top Strip │ ← Kicker / report type +├──────────────────┬───────────────────┤ +│ Zone B │ Zone C │ +│ (left cell) │ (right cell) │ ← B: Hero Title (MUST fill) +│ X: 0.1W-0.43W │ X: 0.48W-0.9W │ ← C: Summary text (MUST fill) +├──────────────────┴───────────────────┤ +│ Zone D - Bottom Strip │ ← Footer / year / doc number +└──────────────────────────────────────┘ +``` + +### Layer 3 - Content (STRICT zone containment) + +| Zone | Content | X Range | Y Range | Notes | +|------|---------|---------|---------|-------| +| **A** | Kicker / report type | `0.10*W` - `0.90*W` | `0.15*H` - `0.23*H` | Left-aligned at `X = 0.12*W` | +| **B** | **Hero Title (company/entity name)** | `0.10*W` - `0.43*W` | `0.28*H` - `0.70*H` | **Width = `0.33*W`**. Font must be large enough to physically fill the cell. Text wraps at boundary. | +| **C** | **Summary text** 🆕 | `0.48*W` - `0.90*W` | `0.28*H` - `0.70*H` | **Must contain substantial descriptive text** - this zone MUST be filled. 16-18pt, Regular, line-height 1.6. This is the primary anti-empty-page mechanism. | +| **D** | Footer / date / number | `0.10*W` - `0.90*W` | `0.78*H` - `0.88*H` | Can split: left part + right-aligned part | + +### Zone Overflow Protection (MANDATORY) + +If text in Zone B or C exceeds the vertical boundary (Y > `0.70*H`): +1. **Step 1:** Reduce font size by 2pt increments (minimum: 16pt for summary, 40pt for title) +2. **Step 2:** If still overflows, truncate with `...` ellipsis +3. **NEVER** let text cross a grid line - the grid is sacred + +**Hard width enforcement:** +```python +# Zone B: title MUST wrap within its cell width +zone_b_max_width = 0.33 * W +# If title renders wider → word-wrap, NEVER let it bleed into Zone C + +# Zone C: summary MUST wrap within its cell width +zone_c_max_width = 0.42 * W # (0.90 - 0.48) * W +# Wrap at boundary, add lines, NEVER cross the vertical grid line +``` + +### Best For +Swiss-style design, data-heavy reports, structured corporate documents, annual reports + +--- + +## Template 07: Solid Sidebar - Massive Pillar Anchoring the Page + +**Design intent:** A massive solid-color sidebar provides gravitas. The right side can be loosely arranged - the pillar holds everything together. + +### Layer 1 - Background +- **Left sidebar block (giant sidebar pillar):** Rectangle at `(0, 0)`, width = **`0.1*W`** (~80pt on A4), height = `H`. Primary color fill. +- **Sidebar watermark:** Inside the sidebar, render a short word (doc type or year) rotated **-90°**, white at **15% opacity**, vertically centered within the sidebar. **Auto-scaling font size:** `Max_Font_Size = H * 0.5`, measure total height after rotation - if it exceeds `H * 0.85`, scale down proportionally. ⚠️ **Full-display iron rule: watermark text must be 100% within the visible page area - cropping is strictly forbidden.** + +### Layer 2 - Structure +- **Bottom horizontal line:** At `Y = 0.90*H`, from `X = Left_Edge` to `X = 0.90*W`. Line width = **1pt**, primary color at 30% opacity. + +### Layer 3 - Content + +**Safety boundary: `Left_Edge = 0.1*W + 40pt`** - ALL text must start at or right of this line. Zero tolerance for collision with sidebar. + +**Layout uses relative vertical centering:** +1. Compose full text group: Kicker + Hero Title + Summary + Meta +2. Calculate total group height +3. Position group at `X = Left_Edge`, `Y = (H - group_height) / 2` (vertically centered) + +| Element | Notes | +|---------|-------| +| Kicker | 16pt, Regular, uppercase, letter-spacing 3pt, opacity 60%. Bound to report type/subtitle | +| Hero Title | 45-65pt, Heavy. **Bound to company/entity name** | +| Summary 🆕 | 16-18pt, Regular, line-height 1.6. Width ≤ `0.90*W - Left_Edge` | +| Meta | 20pt, Regular, line-height 1.8 | + +**Footer (separate from centered group):** +- On/just above the bottom horizontal line at `Y = 0.90*H - 10pt` +- Left-aligned date at `X = Left_Edge`, right-aligned org name at `X = 0.90*W` +- 16pt, Regular, opacity 60% + +### Best For +Government/institutional reports, legal documents, formal project deliverables, bidding documents + +--- + +# PART 2: TEMPLATE SELECTION GUIDE + +Template selection uses a two-dimensional matrix: **Intent** (from `visual_framework.md` 5-intent system) × **Document Type**. This replaces the old "Document Tone" classification and aligns with the Intent Mapping Table in `creative.md`. + +| Intent | Document Type | Recommended Templates | Default | +|--------|---------------|----------------------|---------| +| **Calm** | Healthcare / Wellness / Minimalist | 04 Museum, 01 HUD | **04** | +| **Calm** | Academic / Research | 06 Swiss Grid, 03 Monolith | **06** | +| **Tension** | Crisis / Alert / Disruption | 01 HUD, 05 Diagonal | **01** | +| **Energy** | Marketing / Creative / Design | 05 Diagonal, 06 Swiss Grid | **05** | +| **Energy** | Technology / Data | 01 HUD, 06 Swiss Grid | **01** | +| **Authority** | Formal / Corporate / Financial | 02 Corporate, 03 Monolith | **03** | +| **Authority** | Government / Bidding | 07 Sidebar, 03 Monolith, **11 Institutional** | **07** | +| **Authority** | Thesis proposal / Dissertation cover | **11 Institutional** | **11** | +| **Authority** | Luxury / Editorial | 03 Monolith, 05 Diagonal | **03** | +| **Warmth** | Food / Lifestyle / Home | 04 Museum, 05 Diagonal | **04** | + +> **Legacy mapping:** "Formal/Corporate" tone → Authority intent, "Minimalist" tone → Calm intent, "Luxurious/Editorial" tone → Authority intent. + +**⚠️ No Global Default.** When no specific style is explicitly requested, the LLM MUST analyze the document's content, tone, and audience to autonomously select the most fitting template. Cross-reference the Intent (derived from content via `design_engine.py derive` or manual judgment) with the Document Type to find the best match. Every cover selection must be a deliberate design decision. + +--- + +# PART 3: CODE-LEVEL SAFETY MEASURES (Pre-Render Safeguards) + +These checks run BEFORE final rendering. They are **mandatory** - not optional optimizations. + +--- + +## S3.0 - Cover Overlap Validation (MANDATORY) + +**After generating the cover HTML and before rendering to PDF, run:** + +```bash +node "$PDF_SKILL_DIR/scripts/cover_validate.js" cover.html +``` + +This detects text-vs-decorative-line overlaps by rendering the HTML and measuring actual bounding boxes. Exit code 1 = overlap found, must fix before generating the PDF. + +The minimum gap between any text element and any decorative line is **1U (= 5% of page width ≈ 40px on A4)**. This catches the exact bug shown in the "text overlapping decorative lines" screenshots. + +**If the check fails:** +1. Adjust the decorative line's Y position to maintain ≥ 1U gap from the nearest text +2. Or adjust the text block's position/size to avoid the overlap +3. Re-run `cover_validate.js` until it passes (exit code 0) + +--- + +## S3.1 - Hero Title Overflow Protection (Title Line-Wrapping) + +**Rule:** Hero title must NEVER exceed its template's width boundary. + +**Algorithm:** +1. Measure the rendered width of the hero title string at the target font size +2. If `rendered_width > max_width`: + - Word-wrap at boundary (CJK: any character; Latin: space/hyphen; Mixed: CJK/Latin boundaries) + - Multi-line hero titles: **lock line-height to 1.15** +3. Maximum lines: **3** - if title needs 4+ lines, reduce font size by 4pt increments until ≤ 3 lines +4. Minimum font size floor: **40pt** (below this, truncate with `...`) + +```python +def safe_hero_title(text, font, max_size, max_width, min_size=40): + size = max_size + while size >= min_size: + lines = word_wrap(text, font, size, max_width) + if len(lines) <= 3: + return lines, size + size -= 4 + return truncate_with_ellipsis(text, font, min_size, max_width, max_lines=3), min_size +``` + +--- + +## S3.2 - Zone Collision Detection + +After rendering each text block, check if its bottom edge penetrates the next zone boundary: + +1. **Step 1 - Font reduction:** Decrease by 2pt. Floor: 16pt for meta/summary, 40pt for titles. +2. **Step 2 - Truncation:** If font reduction fails, truncate with `...` +3. **Step 3 - Log warning:** Output a warning about content truncation + +```python +def enforce_zone_bounds(text, font, size, zone_y_max, min_size=16): + while size >= min_size: + rendered_height = measure_text_height(text, font, size) + if current_y + rendered_height <= zone_y_max: + return text, size + size -= 2 + return truncate_to_fit(text, font, min_size, zone_y_max - current_y), min_size +``` + +--- + +## S3.3 - Uppercase Lock + +**The following text roles MUST be force-uppercased when content is English/Latin:** + +- Kicker (category label / lead-in text) +- Footer (closing date / document number) +- Background watermark text +- Any Layer 1 decorative text + +```python +kicker_text = kicker_text.upper() if is_latin(kicker_text) else kicker_text +footer_text = footer_text.upper() if is_latin(footer_text) else footer_text +watermark_text = watermark_text.upper() # Always uppercase +``` + +**Exception:** CJK text is exempt. Mixed CJK+Latin strings: uppercase only the Latin portions. + +--- + +## S3.4 - Hard Width Boundary Enforcement 🆕 + +**Every drawer/zone has a maximum width. Text wrapping MUST respect this width exactly.** + +```python +# WRONG - text bleeds past boundary +draw_text(x=0.12*W, text=long_title, width=None) # width unconstrained! + +# RIGHT - hard clamp +max_width = 0.6 * W # or zone-specific value +wrapped_lines = word_wrap(text, font, size, max_width) +for i, line in enumerate(wrapped_lines): + draw_text(x=x_anchor, y=y_anchor + i * line_height, text=line) +``` + +**Rule:** It is acceptable for text to add extra lines (grow vertically). It is NEVER acceptable for text to exceed its horizontal boundary (grow horizontally). Vertical overflow triggers S3.2; horizontal overflow is a critical bug. + +--- + +## S3.5 - Mandatory Summary Auto-Generation 🆕 + +**If the user provides only a title and no description/summary, the system MUST generate placeholder text.** + +```python +if not summary_text or summary_text.strip() == "": + if lang == "zh": + summary_text = f"本报告由{org_name or '系统'}自动生成,包含了综合数据分析与洞察结论。" + else: + summary_text = f"This report presents comprehensive analysis and key insights prepared by {org_name or 'the organization'}." +``` + +**Why:** A title-only cover looks barren. The Summary drawer physically occupies 2-4 lines, filling mid-page void and making the cover look intentionally designed rather than half-finished. + +--- + +## S3.6 - Background Watermark Full-Display Enforcement 🆕 + +**All watermark text in the background layer (Layer 1) must be 100% within the visible page area. Cropping, truncation, or extending beyond page boundaries is strictly forbidden.** + +**Applicable scope:** +- Template 02 giant year watermark +- Template 03 right-side vertical watermark +- Template 07 sidebar watermark +- `cover-backgrounds.md` Recipe 2.1 giant sidebar pillar +- `cover-backgrounds.md` Recipe 2.2 bottom full-size text +- Any other decorative text in the background layer + +**Adaptive algorithm (mandatory):** + +```python +def safe_watermark_size(text, font, max_size, available_space): + """ + Ensure watermark text is fully displayed within available space. + available_space: available width/height (depending on text direction) + """ + rendered = measure_text(text, font, max_size) + if rendered > available_space: + return max_size * (available_space / rendered) + return max_size +``` + +**Rules:** +1. Horizontal text: rendered width must not exceed `W * 0.90` (5% safety margin on each side) +2. Vertical/rotated text: rendered height must not exceed `H * 0.85` (7.5% safety margin top and bottom) +3. If exceeded, scale down font size proportionally - never truncate +4. **Anchor coordinates must never exceed page boundaries** (no negative X/Y values or values exceeding W/H) + +**This is a visual quality red line: a truncated "REPO" is worse than no watermark at all. A complete "REPORT" is the design.** + +--- + +## S3.7 - Line-Length Alignment (Line Must Match Text Span) + +**Problem:** Decorative lines (vertical accent lines, horizontal dividers, underlines) are arbitrary lengths that don't relate to the text they accompany, creating visual disconnect. + +**Iron Rule:** Lines must be sized relative to the text they serve: + +### Vertical Lines (e.g., Template 01 thick line, Template 08 accent line) + +**Vertical line height = text block height** (from first text element to last text element in the same column). + +``` +# WRONG - arbitrary fixed height +vline_top = 0.1 * H +vline_bottom = 0.9 * H # ← line runs full page regardless of content + +# RIGHT - measure text block, then draw line +text_top = first_element_y # e.g., label at 0.12*H +text_bottom = last_element_y + last_element_height # e.g., footer at 0.88*H +vline_top = text_top - U # 1U padding above first element +vline_bottom = text_bottom + U # 1U padding below last element +``` + +### Horizontal Lines (e.g., Template 08 hline, dividers) + +**Horizontal line width ≥ text width of the widest text element in its zone.** Lines may be slightly longer (up to 120% of text width) but NEVER shorter. + +```python +# WRONG - fixed short line +hline_width = 200 # ← might be shorter than the title + +# RIGHT - measure, then draw +max_text_width = max(measure(title), measure(subtitle), measure(authors)) +hline_width = max(max_text_width, max_text_width * 1.1) # at least as wide, up to 110% +# Clamp to available space +hline_width = min(hline_width, available_width) +``` + +### HTML/CSS Implementation + +For HTML/Playwright covers, use relative sizing: +```css +/* Vertical line spans the content block */ +.vline { + position: absolute; + top: var(--content-top); /* align with first text element */ + bottom: var(--content-bottom); /* align with last text element */ +} + +/* Horizontal divider: min-width matches text container */ +.hline { + width: max(100%, 200px); /* at least as wide as parent text container */ +} +``` + +**Checklist:** +- [ ] Every vertical line's height matches its adjacent text block span (± 1U padding) +- [ ] Every horizontal line's width ≥ widest text element in its zone +- [ ] No decorative line is shorter than the text it accompanies + +--- + +## S3.8 - Vertical Balance (Anti-Top-Heavy Layout) + +**Problem:** Content clusters at the top of the page, leaving the bottom 40%+ as dead whitespace. This happens when anchor points are set too high and don't adapt to content volume. + +**Root cause:** Fixed anchor grid with `ANCHOR_TITLE_Y = 0.20*H` pushes everything upward regardless of how much content there is. + +### Solution: Adaptive Vertical Centering + +**When total content height < 50% of page height, switch to centered distribution mode:** + +```python +# Step 1: Calculate total content height +content_elements = [title, subtitle, summary, meta, footer] +total_content_h = sum(elem.height for elem in content_elements) + total_gaps + +# Step 2: Check fill ratio +fill_ratio = total_content_h / (H * 0.80) # usable height (excluding margins) + +if fill_ratio < 0.50: + # LOW CONTENT MODE - vertically center the entire block + start_y = (H - total_content_h) / 2 + # Distribute elements from start_y downward with standard gaps +else: + # NORMAL MODE - use anchor grid + # But shift anchors down: title at H*0.30-0.35 (not 0.20-0.25) + pass +``` + +### Anchor Adjustment Rules + +| Content Volume | Title Anchor | Summary Anchor | Meta Anchor | +|---------------|-------------|----------------|-------------| +| **Sparse** (fill < 50%) | Centered mode | Centered mode | Centered mode | +| **Normal** (fill 50-80%) | `H * 0.30` | `H * 0.48` | `H * 0.70` | +| **Dense** (fill > 80%) | `H * 0.20` | `H * 0.40` | `H * 0.65` | + +### CJK Title Size Compensation + +CJK characters at the same pt size as Latin characters appear visually smaller due to denser stroke structure. Compensate: + +``` +CJK Hero Title: 50-80pt (Latin: 45-65pt) - increase by 15-20% +CJK Kicker: 11-12pt (Latin: 9pt) +CJK Summary: 17-20pt (Latin: 16-18pt) +``` + +**Detection:** If title string contains CJK characters (`\u4e00-\u9fff`), apply CJK size multiplier. + +### HTML/CSS Implementation + +```css +/* Vertical centering mode for sparse content */ +.cover.sparse-content .center-block { + justify-content: center; /* flexbox vertical center */ +} + +/* CJK title size bump */ +.title:lang(zh), .title:lang(ja), .title:lang(ko) { + font-size: clamp(50pt, 8vw, 80pt); /* larger than Latin range */ +} +``` + +**Checklist:** +- [ ] No cover has >40% dead whitespace at the bottom +- [ ] Content is visually centered on the page (optical center, not mathematical) +- [ ] CJK titles are 15-20% larger than equivalent Latin titles +- [ ] Sparse-content covers use centered distribution, not fixed anchors + +--- + +## S3.9 - Percentage Positioning Requires Known-Size Container + +**Root cause of bad case:** A wrapper div (e.g. `.content-left`) with `position: absolute` but **no explicit height** contains children positioned with `top: XX%`. CSS percentage `top` resolves against the containing block's **height** — if that height is zero or undefined (because all children are also absolutely positioned, contributing no content height), the percentage values collapse and elements stack on top of each other. + +**Iron rule:** When using `top: XX%` (or `bottom: XX%`) to position child elements, the containing block MUST have a **deterministic height** — one of: + +| Method | Example | When to use | +|--------|---------|-------------| +| Explicit `height` | `height: 100%` or `height: var(--h)` | Wrapper spans full page | +| `top` + `bottom` pair | `top: 0; bottom: 0;` | Wrapper stretches between two edges | +| `inset: 0` | `inset: 0;` | Shorthand for full-page wrapper | + +**Preferred pattern — flat structure with px values (safest):** +```css +/* ✅ CORRECT: children positioned directly in .cover with px values */ +.cover { position: relative; width: 794px; height: 1123px; } +.kicker { position: absolute; top: 225px; left: 95px; } +.title { position: absolute; top: 292px; left: 95px; } +.summary { position: absolute; top: 539px; left: 95px; } +.meta { position: absolute; top: 786px; left: 95px; } +``` + +**Acceptable — wrapper with deterministic height:** +```css +/* ✅ OK: wrapper has inset:0, so height = parent height = 1123px */ +.content-left { position: absolute; inset: 0; width: 55%; } +.title { position: absolute; top: 26%; } /* 26% of 1123px = 292px ✓ */ +``` + +**Forbidden — wrapper with no height:** +```css +/* ❌ BANNED: .content-left has no height/bottom, percentage top is undefined */ +.content-left { position: absolute; left: 12%; top: 0; width: 55%; } +.title { position: absolute; top: 26%; } /* 26% of WHAT? → collapse → overlap */ +.summary { position: absolute; top: 48%; } /* stacks on top of title */ +``` + +**Quick self-check before writing cover CSS:** +1. For every element with `top: XX%` — trace upward: does the containing block have a known height? +2. If unsure → use `px` values instead (calculate from `var(--h)` manually: `26% × 1123 = 292px`) +3. If using a grouping wrapper → give it `inset: 0` or explicit `height: 100%` + +--- + +# PART 4: COVER COLOR RULES + +> Cover colors must be consistent with the body color system - they cannot exist independently. + +``` +Cover primary = Body theme color +Cover secondary = Primary lightness variant (±20% lightness) +Cover background = Pure white / very light gray / primary at 5-8% opacity +``` + +### Absolutely Forbidden + +- ❌ Dark large-area solid backgrounds (dark blue, dark green, black filling the page) +- ❌ Gradient backgrounds (any `linear-gradient` / `radial-gradient` as large-area fill) +- ❌ High-saturation color schemes +- ❌ Rainbow / multi-color gradients +- ❌ Dense textures or patterns +- ❌ Piling on decorative elements - restraint > clutter +- ❌ More than 2 typefaces on a cover +- ❌ Centered text + gradient/solid background (PowerPoint aesthetic) + +### Safe Cover Color Schemes (Reference Only) + +> ⚠️ These are **examples for reference**. In normal workflow, run `palette.cascade --title "" --mode minimal --format css` to generate the actual cover colors. Do NOT copy these hex values directly. + +| Name | Primary | Secondary | Background | Use Case | +|------|---------|-----------|------------|----------| +| Ink Stone | `#1a1a2e` | `#4a4a5e` | `#fafafa` | Business, formal | +| Indigo | `#1e3a5f` | `#2d5f8a` | `#f5f8fb` | Technology, reports | +| Warm Chestnut | `#5c3d2e` | `#8a6b5a` | `#faf6f3` | Culture, branding | +| Moss Green | `#2d4a3e` | `#4a7a6a` | `#f5f8f6` | Nature, health | +| Deep Crimson | `#6b2d3e` | `#9a4a5e` | `#faf5f6` | Traditional, elegant | + +--- + +# PART 4.5: ACADEMIC COVER TEMPLATES (Templates 08-10) + +> **Academic covers are exempt from PART 4 color rules.** Academic papers, theses, and research reports traditionally use dark backgrounds with light text - this is the established scholarly visual language. Templates 08-10 follow LaTeX title page conventions translated to HTML/CSS. + +**All 3 templates share these rules:** +- Page size: `width: 794px; height: 1123px` (A4 at 96dpi) +- Full-bleed dark background (edge-to-edge, no margins) +- Serif font for titles (Playfair Display / Noto Serif SC), sans-serif for metadata +- Generated as HTML → Playwright `page.pdf()` → pypdf merge (same pipeline as Report covers) +- `<link>` tag for Google Fonts (NOT `@import`) + +**Content slots (all templates):** +| Slot | Required | Example | +|------|----------|---------| +| `label` | Optional | `RESEARCH PAPER`, `博士论文` | +| `title` | **Required** | Paper title (auto-wrap, max 3 lines) | +| `subtitle` | Optional | Subtitle or abstract excerpt | +| `authors` | **Required** | Author name(s) | +| `institution` | Optional | University / lab / affiliation | +| `keywords` | Optional | Keyword list | +| `footer_left` | Optional | Journal name, DOI | +| `footer_right` | Optional | Date, version | + +--- + +## Template 08: Academic Vertical Anchor - Dark bg + Left vertical line + Left-aligned + +**Design intent:** Emulates the classic arXiv/preprint cover. A bold vertical accent line anchors the left edge, all text left-aligned with generous vertical rhythm. Serious, no-frills. + +``` +┌─────────────────────────────┐ +│ ┃ │ +│ ┃ LABEL (9pt, accent) │ ← y = H - 3.5cm +│ ┃ │ +│ ┃ Title (32pt Bold) │ ← y = H - 6cm, line-height 42pt +│ ┃ Title line 2 │ +│ ┃ │ +│ ┃ Subtitle (12pt) │ ← y = H - 14cm +│ ┃ │ +│ ┃ Authors (12pt, white) │ ← y = H - 18cm +│ ┃ Institution (10pt) │ +│ ┃ │ +│ ┃─────────────────── │ ← accent line y=3.5cm +│ ┃ Footer L Footer R │ +└─────────────────────────────┘ +┃ = vertical accent line at x=1.5cm, 2.5pt width +``` + +**Best for:** Research papers, technical reports, arXiv preprints + +**HTML structure:** +```html +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Noto+Serif+SC:wght@400;700;900&family=Inter:wght@300;400;500&family=Noto+Sans+SC:wght@300;400;500&display=swap" rel="stylesheet"> + <style> + @page { size: 794px 1123px; margin: 0; } + :root { + --c-bg: #162032; + --c-accent: #8B7E5A; + --c-text: #FFFFFF; + --c-muted: #8898A8; + --c-footer: #607080; + } + html, body { margin: 0; padding: 0; width: 794px; height: 1123px; background: var(--c-bg); color: var(--c-text); font-family: 'Inter', 'Noto Sans SC', sans-serif; } + @media screen { + html { height: auto; display: flex; justify-content: center; min-height: 100vh; background: var(--c-bg); } + body { transform-origin: top center; scale: min(1, calc(100vw / 794), calc(100vh / 1123)); margin: 0 auto; box-shadow: 0 0 60px rgba(0,0,0,0.3); } + } + .cover { width: 794px; height: 1123px; position: relative; box-sizing: border-box; } + .vline { position: absolute; left: 57px; top: 76px; bottom: 76px; width: 2.5px; background: var(--c-accent); } + .hline { position: absolute; left: 83px; right: 76px; bottom: 132px; height: 0.5px; background: var(--c-accent); } + .content { position: absolute; left: 83px; right: 76px; top: 0; bottom: 0; } + .label { position: absolute; top: 132px; font-size: 9pt; color: var(--c-accent); letter-spacing: 3px; text-transform: uppercase; font-family: 'Inter', 'Noto Sans SC', sans-serif; } + .title { position: absolute; top: 228px; font-size: 32pt; font-weight: 700; line-height: 1.3; font-family: 'Playfair Display', 'Noto Serif SC', serif; color: var(--c-text); max-width: 580px; } + .subtitle { position: absolute; top: 530px; font-size: 12pt; line-height: 1.5; color: var(--c-muted); max-width: 500px; } + .authors { position: absolute; top: 680px; font-size: 12pt; color: var(--c-text); } + .institution { position: absolute; top: 740px; font-size: 10pt; color: var(--c-muted); line-height: 1.4; } + .footer { position: absolute; bottom: 76px; left: 0; right: 0; display: flex; justify-content: space-between; font-size: 9pt; color: var(--c-footer); } + </style> +</head> +<body> + <div class="cover"> + <div class="vline"></div> + <div class="hline"></div> + <div class="content"> + <div class="label"><!-- LABEL --></div> + <div class="title"><!-- TITLE --></div> + <div class="subtitle"><!-- SUBTITLE --></div> + <div class="authors"><!-- AUTHORS --></div> + <div class="institution"><!-- INSTITUTION --></div> + <div class="footer"> + <span><!-- FOOTER_LEFT --></span> + <span><!-- FOOTER_RIGHT --></span> + </div> + </div> + </div> +</body> +</html> +``` + +**Default palette (override via `palette.cascade --intent <intent> --mode dark --format css`):** +| Name | `--c-bg` | `--c-accent` | `--c-muted` | Use case | +|------|----------|------------|----------|----------| +| Deep Sea | `#162032` | `#8B7E5A` | `#8898A8` | General academic | +| Indigo | `#1e3a5f` | `#2d5f8a` | `#7A90A5` | Technical | +| Ink Stone | `#1a1a2e` | `#4a4a5e` | `#8080A0` | Formal occasions | + +> ⚠️ These are **fallback defaults** when the palette system is unavailable. In normal workflow, run `palette.cascade` to generate mathematically harmonious colors and inject them into the `:root` variables. + +--- + +## Template 09: Academic Symmetric - Dark bg + Top/bottom lines + Centered + +**Design intent:** Emulates the classic IEEE/ACM Transactions title page. Perfect bilateral symmetry, thick horizontal rules frame the content zone. Formal and authoritative. + +``` +┌─────────────────────────────┐ +│ │ +│ ══════════════════════ │ ← Top rule y=H-3cm, 2pt +│ │ +│ LABEL (centered) │ +│ │ +│ Title (28-30pt Bold) │ +│ │ +│ Subtitle │ +│ │ +│ ─── │ ← Thin divider 3cm, centered +│ │ +│ Authors │ +│ Institution │ +│ │ +│ ══════════════════════ │ ← Bottom rule y=3cm, 2pt +│ Journal · Date │ +└─────────────────────────────┘ +``` + +**Best for:** Top journal submissions, IEEE/ACM papers, theses + +**HTML structure:** +```html +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Noto+Serif+SC:wght@400;700;900&family=Inter:wght@300;400;500&family=Noto+Sans+SC:wght@300;400;500&display=swap" rel="stylesheet"> + <style> + @page { size: 794px 1123px; margin: 0; } + :root { + --c-bg: #162032; + --c-accent: #4A90C4; + --c-text: #FFFFFF; + --c-muted: #90A8C0; + } + html, body { margin: 0; padding: 0; width: 794px; height: 1123px; background: var(--c-bg); color: var(--c-text); font-family: 'Inter', 'Noto Sans SC', sans-serif; } + @media screen { + html { height: auto; display: flex; justify-content: center; min-height: 100vh; background: var(--c-bg); } + body { transform-origin: top center; scale: min(1, calc(100vw / 794), calc(100vh / 1123)); margin: 0 auto; box-shadow: 0 0 60px rgba(0,0,0,0.3); } + } + .cover { width: 794px; height: 1123px; position: relative; display: flex; flex-direction: column; align-items: center; box-sizing: border-box; } + .rule-top, .rule-bottom { position: absolute; left: 114px; right: 114px; height: 2px; background: var(--c-accent); } + .rule-top { top: 114px; } + .rule-bottom { bottom: 114px; } + .center-block { position: absolute; top: 0; bottom: 0; left: 114px; right: 114px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; } + .label { font-size: 9pt; color: var(--c-accent); letter-spacing: 3px; text-transform: uppercase; margin-bottom: 40px; font-family: 'Inter', 'Noto Sans SC', sans-serif; } + .title { font-size: 30pt; font-weight: 700; line-height: 1.3; font-family: 'Playfair Display', 'Noto Serif SC', serif; margin-bottom: 24px; max-width: 500px; } + .subtitle { font-size: 14pt; color: var(--c-muted); margin-bottom: 40px; max-width: 450px; line-height: 1.5; } + .divider { width: 114px; height: 0.5px; background: var(--c-accent); margin-bottom: 40px; } + .authors { font-size: 12pt; margin-bottom: 12px; } + .institution { font-size: 10pt; color: var(--c-muted); line-height: 1.4; } + .footer { position: absolute; bottom: 57px; left: 114px; right: 114px; text-align: center; font-size: 9pt; color: var(--c-muted); } + </style> +</head> +<body> + <div class="cover"> + <div class="rule-top"></div> + <div class="rule-bottom"></div> + <div class="center-block"> + <div class="label"><!-- LABEL --></div> + <div class="title"><!-- TITLE --></div> + <div class="subtitle"><!-- SUBTITLE --></div> + <div class="divider"></div> + <div class="authors"><!-- AUTHORS --></div> + <div class="institution"><!-- INSTITUTION --></div> + </div> + <div class="footer"><!-- FOOTER --></div> + </div> +</body> +</html> +``` + +**Default palette (override via `palette.cascade --intent <intent> --mode dark --format css`):** +| Name | `--c-bg` | `--c-accent` | `--c-muted` | Use case | +|------|----------|------------|----------|----------| +| Midnight Blue | `#162032` | `#4A90C4` | `#90A8C0` | Math/theoretical | +| Ink Blue | `#0D1B2A` | `#3D5A80` | `#8898A8` | Formal reports | +| Deep Navy | `#0a1628` | `#5B8DB8` | `#7A9AB5` | Engineering | + +> ⚠️ These are **fallback defaults**. In normal workflow, run `palette.cascade` to generate colors and inject into `:root`. + +--- + +## Template 10: Academic Journal - Dark bg + Top/bottom lines + Centered + Keywords + +**Design intent:** Extended version of Template 09, with dedicated keyword block. Matches the layout of top-tier Chinese journal submissions and thesis covers. + +``` +┌─────────────────────────────┐ +│ │ +│ ══════════════════════ │ ← Top rule +│ │ +│ LABEL (centered) │ +│ │ +│ Title (34pt) │ +│ │ +│ Subtitle │ +│ │ +│ ─── │ ← Thin divider +│ │ +│ Keywords │ +│ │ +│ ══════════════════════ │ ← Bottom rule +│ Footer │ +└─────────────────────────────┘ +``` + +**Best for:** Chinese journal submissions, theses with keywords, formal academic reports + +**HTML structure:** +```html +<!DOCTYPE html> +<html lang="zh"> +<head> + <meta charset="UTF-8"> + <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700;900&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet"> + <style> + @page { size: 794px 1123px; margin: 0; } + :root { + --c-bg: #162032; + --c-accent: #4A90C4; + --c-text: #FFFFFF; + --c-muted: #90A8C0; + } + html, body { margin: 0; padding: 0; width: 794px; height: 1123px; background: var(--c-bg); color: var(--c-text); font-family: 'Noto Sans SC', 'Inter', sans-serif; } + .cover { width: 794px; height: 1123px; position: relative; display: flex; flex-direction: column; align-items: center; box-sizing: border-box; } + .rule-top, .rule-bottom { position: absolute; left: 114px; right: 114px; height: 2px; background: var(--c-accent); } + .rule-top { top: 114px; } + .rule-bottom { bottom: 114px; } + .center-block { position: absolute; top: 0; bottom: 0; left: 114px; right: 114px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; } + .label { font-size: 9pt; color: var(--c-accent); letter-spacing: 3px; text-transform: uppercase; margin-bottom: 40px; } + .title { font-size: 34pt; font-weight: 700; line-height: 1.3; font-family: 'Noto Serif SC', serif; margin-bottom: 20px; max-width: 500px; } + .subtitle { font-size: 14pt; color: var(--c-muted); margin-bottom: 40px; max-width: 450px; line-height: 1.5; } + .divider { width: 152px; height: 0.5px; background: var(--c-accent); margin-bottom: 40px; } + .keywords { font-size: 11pt; color: var(--c-muted); line-height: 1.8; max-width: 400px; } + .footer { position: absolute; bottom: 57px; left: 114px; right: 114px; text-align: center; font-size: 9pt; color: var(--c-muted); } + </style> +</head> +<body> + <div class="cover"> + <div class="rule-top"></div> + <div class="rule-bottom"></div> + <div class="center-block"> + <div class="label"><!-- LABEL --></div> + <div class="title"><!-- TITLE --></div> + <div class="subtitle"><!-- SUBTITLE --></div> + <div class="divider"></div> + <div class="keywords"> + <!-- KEYWORD 1 --><br> + <!-- KEYWORD 2 --><br> + <!-- KEYWORD 3 --> + </div> + </div> + <div class="footer"><!-- FOOTER --></div> + </div> +</body> +</html> +``` + +**Recommended palettes:** Same as Template 09. + +--- + +## Template 11: Institutional - White bg + Black border frame + Structured field slots + +**Design intent:** The universal institutional cover. White background with a thick black border frame, all content centered, structured field slots with underline placeholders. Matches the style required by most universities worldwide for thesis proposals, dissertations, and formal institutional documents. Also suitable for government reports and official submissions. Zero decorative elements - the formality IS the design. + +**⚠️ This template is exempt from PART 4 Academic Cover Color Rules (dark backgrounds).** It uses a white/light background by design, aligning with institutional formatting requirements. + +``` +┌─────────────────────────────────┐ +│ ┌─────────────────────────────┐ │ +│ │ │ │ +│ │ INSTITUTION NAME │ │ ← y = 12%, serif 28-34pt Bold +│ │ (校名/机构名) │ │ +│ │ │ │ +│ │ ━━━━━━━━━━━━━━━━━━━━ │ │ ← thick divider (2pt) +│ │ │ │ +│ │ DOCUMENT TYPE │ │ ← y = 30%, 20-24pt +│ │ (开题报告/毕业论文/申报书) │ │ +│ │ │ │ +│ │ TITLE │ │ ← y = 40%, serif 26-30pt Bold +│ │ (论文题目) │ │ max 3 lines, centered +│ │ │ │ +│ │ Field: _______________ │ │ ← y = 58-78%, structured fields +│ │ Field: _______________ │ │ left-label + underline value +│ │ Field: _______________ │ │ e.g. 姓名、学号、导师、院系、日期 +│ │ Field: _______________ │ │ +│ │ Field: _______________ │ │ +│ │ │ │ +│ │ DATE │ │ ← y = 88%, centered, 14pt +│ │ │ │ +│ └─────────────────────────────┘ │ +└─────────────────────────────────┘ +││ = 2.5pt black border, inset 5% from page edge +``` + +**Best for:** Thesis proposals (开题报告), dissertations, institutional reports, government documents, any formal submission with structured metadata fields + +**Content slots:** +| Slot | Required | Example | +|------|----------|---------| +| `institution` | **Required** | "北京大学", "Massachusetts Institute of Technology" | +| `doc_type` | Optional | "开题报告", "Thesis Proposal", "毕业设计" | +| `title` | **Required** | Paper/document title (auto-wrap, max 3 lines) | +| `fields` | Optional | Array of `{label, value}` pairs. Common: 姓名/Name, 学号/ID, 导师/Advisor, 院系/Department, 专业/Major | +| `date` | Optional | "2026年4月", "April 2026" | + +**HTML structure:** +```html +<!DOCTYPE html> +<html lang="zh"> +<head> + <meta charset="UTF-8"> + <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700;900&family=Noto+Sans+SC:wght@300;400;500;700&family=Playfair+Display:wght@400;700;900&family=Inter:wght@300;400;500&display=swap" rel="stylesheet"> + <style> + @page { size: 794px 1123px; margin: 0; } + :root { + --c-bg: #ffffff; + --c-text: #1a1a1a; + --c-accent: #1a1a1a; + --c-muted: #4a4a4a; + --c-line: #333333; + } + html, body { margin: 0; padding: 0; width: 794px; height: 1123px; background: var(--c-bg); color: var(--c-text); font-family: 'Noto Sans SC', 'Inter', sans-serif; } + @media screen { + html { height: auto; display: flex; justify-content: center; min-height: 100vh; background: #e8e8e8; } + body { transform-origin: top center; scale: min(1, calc(100vw / 794), calc(100vh / 1123)); margin: 0 auto; box-shadow: 0 0 60px rgba(0,0,0,0.15); } + } + .cover { + width: 794px; height: 1123px; position: relative; box-sizing: border-box; + } + /* Black border frame - inset 5% from page edge */ + .border-frame { + position: absolute; + top: 56px; left: 40px; right: 40px; bottom: 56px; + border: 2.5px solid var(--c-accent); + pointer-events: none; + } + /* Content area inside frame */ + .content { + position: absolute; + top: 56px; left: 40px; right: 40px; bottom: 56px; + display: flex; flex-direction: column; align-items: center; + padding: 60px 50px; + box-sizing: border-box; + } + .institution { + font-size: 30pt; font-weight: 700; letter-spacing: 6px; + font-family: 'Noto Serif SC', 'Playfair Display', serif; + text-align: center; margin-bottom: 30px; + max-width: 580px; + } + .thick-divider { + width: 70%; height: 2px; background: var(--c-accent); + margin-bottom: 40px; + } + .doc-type { + font-size: 22pt; font-weight: 400; letter-spacing: 4px; + text-align: center; margin-bottom: 50px; + color: var(--c-text); + } + .title { + font-size: 26pt; font-weight: 700; line-height: 1.4; + font-family: 'Noto Serif SC', 'Playfair Display', serif; + text-align: center; margin-bottom: 60px; + max-width: 520px; + } + .fields-block { + width: 400px; margin-bottom: auto; + } + .field-row { + display: flex; align-items: baseline; + margin-bottom: 28px; font-size: 14pt; + } + .field-label { + white-space: nowrap; margin-right: 12px; + color: var(--c-text); font-weight: 400; + letter-spacing: 2px; + } + .field-value { + flex: 1; text-align: center; + border-bottom: 1px solid var(--c-line); + padding-bottom: 4px; min-height: 24px; + font-family: 'Noto Sans SC', 'Inter', sans-serif; + } + .date-block { + font-size: 14pt; color: var(--c-muted); + text-align: center; letter-spacing: 2px; + margin-top: auto; padding-top: 30px; + } + </style> +</head> +<body> + <div class="cover"> + <div class="border-frame"></div> + <div class="content"> + <div class="institution"><!-- INSTITUTION --></div> + <div class="thick-divider"></div> + <div class="doc-type"><!-- DOC_TYPE --></div> + <div class="title"><!-- TITLE --></div> + <div class="fields-block"> + <div class="field-row"> + <span class="field-label"><!-- LABEL_1 --></span> + <span class="field-value"><!-- VALUE_1 --></span> + </div> + <div class="field-row"> + <span class="field-label"><!-- LABEL_2 --></span> + <span class="field-value"><!-- VALUE_2 --></span> + </div> + <div class="field-row"> + <span class="field-label"><!-- LABEL_3 --></span> + <span class="field-value"><!-- VALUE_3 --></span> + </div> + <div class="field-row"> + <span class="field-label"><!-- LABEL_4 --></span> + <span class="field-value"><!-- VALUE_4 --></span> + </div> + <div class="field-row"> + <span class="field-label"><!-- LABEL_5 --></span> + <span class="field-value"><!-- VALUE_5 --></span> + </div> + </div> + <div class="date-block"><!-- DATE --></div> + </div> + </div> +</body> +</html> +``` + +**Layout rules:** +1. **Border frame**: 2.5pt solid black, inset ~5% from all page edges (40px left/right, 56px top/bottom on A4 at 96dpi). This is the defining visual element. +2. **Institution name**: Centered, serif, 28-34pt Bold, letter-spacing 4-6px. For CJK names, use wider letter-spacing (6px). For Latin names, use standard (3px). +3. **Thick divider**: 2pt solid line, 70% width, separates institution from content below. +4. **Document type**: 20-24pt, lighter weight than institution name, letter-spacing 3-4px. This slot differentiates document categories (e.g. "开题报告" / "Thesis Proposal" / "毕业论文" / "Graduation Design"). +5. **Title**: Serif, 26-30pt Bold, max 3 lines, centered. Auto-wrap at 520px width. +6. **Structured fields**: Left-aligned label + centered underline value. Label width fixed by longest label in the set. 3-7 field rows supported. Common fields: Name/姓名, Student ID/学号, Advisor/导师, Department/院系, Major/专业. +7. **Date**: Centered at bottom, 14pt, letter-spacing 2px. + +**Field auto-detection:** +When the user provides structured metadata (name, student ID, advisor, etc.), auto-populate the fields block. When no fields are provided, omit the fields-block entirely and let the title expand vertically into the freed space. + +**Variant 11B - Double border:** +For extra formality (government documents, official submissions), replace the single border with a double border (outer 2.5pt + inner 1pt, 6px gap): +```css +.border-frame { + border: 2.5px solid var(--c-accent); + outline: 1px solid var(--c-accent); + outline-offset: 6px; +} +``` + +**This template has NO background decoration layer, NO watermarks, NO gradients.** The black frame + white space IS the design. + +--- + +### Academic Template Selection Guide + +| Scenario | Template | Rationale | +|----------|----------|-----------| +| arXiv preprint, technical report | **08** (Vertical Anchor) | Left-aligned, data-dense feel | +| IEEE/ACM paper, English thesis | **09** (Symmetric) | Classic bilateral symmetry | +| Chinese thesis, journal with keywords | **10** (Journal) | CJK-optimized, keyword block | +| **Thesis proposal, institutional cover, government doc** | **11** (Institutional) | **White bg, black border frame, structured field slots** | +| Light/formal academic (white bg) | **01-07** (standard templates) | Use standard cover system | + + +Covers support a **background decoration layer** rendered behind all foreground content (Layer 1). This layer adds subtle depth through supergraphics, typographic watermarks, and blueprint hairlines. + +See → `typesetting/cover-backgrounds.md` - complete specification with modules, recipes, and constraint matrix. + +**Quick reference:** +- **Recipe A (Minimalist Modern)**: Deep-space arc only - safest, max whitespace +- **Recipe B (Engineering Academic)**: Coordinate cross + vertical spine text - precision, engineering feel +- **Recipe C (Stable & Authoritative)**: Angle slash + bottom bleed text - heavy, authoritative + +**Background layer is OPTIONAL.** Not every cover needs one. Templates 01-07 already define their own Layer 1 backgrounds - use the recipes only when a template's built-in background is insufficient. + +--- + +# PART 6: CHANGELOG + +| Version | Date | Changes | +|---------|------|---------| +| V1.0 | - | Initial 7 layouts (Diagonal Tension, Vertical Axis, etc.) | +| V2.0 | 2026-04-03 | Complete rewrite. Absolute Anchor Grid; Z-index layers; Typography Weight System; 7 new templates with percentage coordinates; Code-level safety. | +| **V2.1** | **2026-04-03** | **Summary Block upgrade.** Added mandatory Summary/Description drawer to all 7 templates (anti-void iron rule). Introduced base spacing unit `U = W * 0.05`. Refined Hero Title range to 45-65pt. Added S3.4 Hard Width Boundary Enforcement + S3.5 Mandatory Summary Auto-Generation. Template 01: added Summary drawer at Y=0.45*H. Template 02: added Summary at Y=0.45*H + refined watermark to 180pt. Template 03: added Summary at Y=0.40*H with W*0.55 width guard. Template 04: Summary included in center-calculated block. Template 05: lower-right group expanded with Summary + 3pt accent line. Template 06: Zone C explicitly designated for substantial summary text. Template 07: sidebar width changed to `0.1*W` (~80pt), content uses relative vertical centering. | +| **V2.2** | **2026-04-07** | **Intent system unification + Template 11.** Part 2 Template Selection Guide migrated from "Document Tone" to Intent × Document Type matrix (aligned with `visual_framework.md` 5-intent system and `creative.md` Intent Mapping Table). Added Template 11 (Institutional) - white bg + black border frame + structured field slots for thesis proposals, dissertations, and institutional documents. Academic Template Selection Guide updated. | +| **V3.0** | **2026-04-07** | **Color unification + Layout balance overhaul.** (1) All template CSS variables renamed to `--c-` prefix (`--c-bg`, `--c-accent`, `--c-text`, `--c-muted`) for palette system alignment. Hardcoded hex values replaced with CSS variables. Palette tables marked as fallback defaults with `palette.cascade` as canonical source. (2) Added S3.7 Line-Length Alignment - vertical/horizontal lines must match text span. (3) Added S3.8 Vertical Balance - adaptive centering for sparse content, CJK title size compensation (50-80pt vs Latin 45-65pt), anchor points shifted down (title H*0.30, summary H*0.50, meta H*0.70). (4) Output cleanliness rules - no version numbers, draft labels, or process artifacts in final PDF. | diff --git a/skills/pdf/typesetting/fill-engine.md b/skills/pdf/typesetting/fill-engine.md new file mode 100755 index 0000000..d57fb14 --- /dev/null +++ b/skills/pdf/typesetting/fill-engine.md @@ -0,0 +1,527 @@ +# Fill Engine — Adaptive Anti-Void Layout Engine V2.0 + +> Solves the **"text too small to read"** and **"large page voids"** problems caused by varying input content length in automated PDF generation. +> Before rendering any page, it must pass through the following **four elastic filtering calculations**. +> +> **Positioning**: This is the mirror counterpart of `overflow.md` (anti-overflow) — overflow handles "too much content", fill-engine handles "too little content". +> +> Related: +> - `overflow.md` — Anti-overflow layout system (degradation strategy for excessive content) +> - `pagination.md` — Pagination & cross-page integrity control +> - `cover.md` — Cover layout engine (covers not affected by Fill Engine; they have their own layout system) + +--- + +## ⚠️ Scope of Application + +- ✅ **Body pages** (body pages of Report / Academic / Creative routes) +- ✅ **All three rendering routes** (ReportLab / LaTeX / Playwright-HTML) +- ❌ **Not applicable to covers** (covers are independently controlled by `cover.md`) +- ❌ **Not applicable to TOC pages** (TOC has a fixed format) + +--- + +## Safety Net 1: Readability Red Line (Font Size Hard Floor) + +**Principle: Never rely on shrinking font size to fit the layout. Font sizes have hard-coded minimums that cannot be breached.** + +### Absolute Font Size Floor + +| Element | Single-column | Double-column | Notes | +|------|---------|---------|------| +| **Body Text** | **≥ 14pt** | **≥ 12pt** | Below this → considered unreadable, must trigger page break | +| **Default base size** | 15pt (CJK) / 14pt (Latin) | 13pt (CJK) / 12pt (Latin) | Starting value, not ceiling | + +### Heading Scale Hard Floor + +| Level | Min Size | Recommended | +|------|---------|---------| +| **H1** (primary heading / page title) | **≥ 32pt** | 36–42pt | +| **H2** (secondary heading) | **≥ 24pt** | 26–30pt | +| **H3** (tertiary heading) | **≥ 18pt** | 20–22pt | + +### Coordination with overflow.md + +`overflow.md` §5's font-size degradation staircase (`fit_text_with_degradation`) **must not breach the above floor**: + +```python +# overflow.md §5's min_size parameter must be >= Fill Engine red line +def fit_text_with_degradation(text, font_name, base_size, max_width, + min_size=14): # ← Single-column floor 14pt, not 7pt + """When overflow needs to shrink font size, it cannot go below the readability red line.""" + for size in range(base_size, min_size - 1, -1): + if stringWidth(text, font_name, size) <= max_width: + return size + return min_size # Hit the floor → trigger page break, stop shrinking +``` + +> **Core idea: If content doesn't fit → page break, not shrinking text to ant-size.** + +--- + +## Safety Net 2: Page Fill Ratio & Paragraph Inflation (Fill Ratio Engine) + +### Virtual Rendering + +Before actually rendering each page, the system **must first calculate** how much height the content would occupy under default font sizes and spacing. + +```python +def calculate_fill_ratio(content_blocks, available_height, default_styles): + """ + Virtual rendering: calculate total height of current page content under default styles. + Returns fill ratio = total content height / available page height. + """ + total_height = 0 + for block in content_blocks: + block_height = measure_block_height(block, default_styles) + total_height += block_height + + fill_ratio = total_height / available_height + return fill_ratio +``` + +### Elastic Inflation Trigger Conditions + +| Fill Ratio | Status | Action | +|--------|------|------| +| **≥ 80%** | ✅ Full | No adjustment, render normally | +| **65%–80%** | ⚠️ Slightly empty | Light inflation (line-height + paragraph spacing only) | +| **40%–65%** | 🔶 Noticeably empty | Full inflation (line-height + spacing + slight font increase + component inflation) | +| **< 40%** | 🔴 Extremely empty | Full inflation + Y-axis golden ratio anchoring (Safety Net 4) | + +### Inflation Parameters (Triggered when fill ratio < 65%) + +#### 2a. Line-Height Inflation + +```python +def inflate_line_height(base_line_height, fill_ratio): + """ + Lower fill ratio means more line-height stretch. + base_line_height: default line-height (e.g. 1.4) + Returns inflated line-height, capped at 2.2. + """ + if fill_ratio >= 0.65: + return base_line_height # No inflation + + # Linear interpolation: as fill_ratio goes from 0.65→0.30, line-height goes from base→2.2 + inflation = (0.65 - fill_ratio) / (0.65 - 0.30) # 0.0 ~ 1.0 + inflation = min(inflation, 1.0) + + target = base_line_height + (2.2 - base_line_height) * inflation + return round(target, 2) +``` + +| Fill Ratio | Base line-height 1.4 → After inflation | +|--------|---------------------| +| 65% | 1.40 (unchanged) | +| 55% | 1.63 | +| 45% | 1.86 | +| 35% | 2.09 | +| ≤30% | 2.20 (cap) | + +#### 2b. Paragraph Spacing Compensation (Margin-Bottom Injection) + +```python +def inject_paragraph_spacing(remaining_height, paragraph_count, heading_count): + """ + Distribute 30%-50% of remaining whitespace evenly between paragraphs. + remaining_height: Available_H - content height after inflation + """ + if remaining_height <= 0: + return 0 + + injection_pool = remaining_height * 0.4 # Take 40% + gap_count = paragraph_count + heading_count - 1 # Number of gaps + + if gap_count <= 0: + return 0 + + per_gap = injection_pool / gap_count + return round(per_gap, 1) +``` + +**Injection positions (by priority):** +1. Between headings and body text (below H1/H2/H3) +2. Between natural paragraphs +3. Between body text and charts/tables + +#### 2c. Font Scaling + +```python +def scale_font_size(base_size, fill_ratio): + """ + When fill ratio < 65%, allow font size to float up by 1-2pt. + Never exceed +2pt, otherwise loses professional feel. + """ + if fill_ratio >= 0.65: + return base_size + if fill_ratio >= 0.50: + return base_size + 1 + return base_size + 2 # Max +2pt +``` + +> **Constraint: Inflated font size ≤ base_size + 2pt. 15pt body can become at most 17pt, no larger.** + +--- + +## Safety Net 3: Component-Level Elastic Fill (Component Inflation) + +**Trigger: Same as Safety Net 2, active when fill ratio < 65%.** + +### 3a. Table Auto-Height Expansion (Table Padding Inflation) + +```python +def inflate_table_padding(base_padding, fill_ratio): + """ + Lower fill ratio means larger table cell padding. + base_padding: default cell padding (e.g. 6pt) + """ + if fill_ratio >= 0.65: + return base_padding + + # Add 10-20pt + extra = int((0.65 - fill_ratio) / 0.25 * 20) + extra = max(10, min(extra, 20)) + return base_padding + extra +``` + +**Effect:** Originally flat compact data table → tall spacious data display board. + +### 3b. Blockquote Exaggeration (Blockquote Scaling) + +When encountering a blockquote and the page has voids: + +```python +def scale_blockquote(base_font_size, fill_ratio): + """ + Blockquote font enlarged, italicized, massive whitespace above and below. + """ + if fill_ratio >= 0.65: + return { + "font_size": base_font_size, + "font_style": "normal", + "margin_top": 12, + "margin_bottom": 12, + "border_left_width": 3, + } + return { + "font_size": int(base_font_size * 1.5), # Scale up 1.5x + "font_style": "italic", + "margin_top": 40, # Large whitespace above + "margin_bottom": 40, # Large whitespace below + "border_left_width": 6, # Thicken blockquote left border + } +``` + +### 3c. List Item Spacing Expansion + +```python +def inflate_list_spacing(base_spacing, fill_ratio): + """ + List item spacing expanded to 1.5x normal paragraph spacing. + """ + if fill_ratio >= 0.65: + return base_spacing + return int(base_spacing * 1.5) +``` + +--- + +## Safety Net 4: Y-Axis Golden Ratio Anchoring (Ultimate Measure for Extreme Voids) + +**Trigger: After Safety Net 2 + 3 inflation, fill ratio still < 40%.** + +**Core principle: Absolutely forbidden to pin content to the very top, leaving the bottom half as dead whitespace.** + +### Execution Logic + +```python +def anchor_content_vertically(content_bbox_height, available_height, fill_ratio): + """ + Pack all current page content as a BBox, re-align vertically within available height. + + Returns content_top_y: Y coordinate offset for content top. + """ + if fill_ratio >= 0.40: + return 0 # No anchoring needed, normal flow from page top + + remaining = available_height - content_bbox_height + + # Option A: Golden ratio offset-up (recommended) + golden_offset = remaining * 0.382 # Top 38.2%, bottom 61.8% + + # Option B: Absolute vertical center (alternative) + # center_offset = remaining / 2 + + return golden_offset +``` + +### Option Selection + +| Option | Formula | Visual Effect | Applicable Scenario | +|------|------|---------|---------| +| **A. Golden ratio offset-up** (default) | `offset = remaining * 0.382` | Slightly less whitespace above, more below, visually stable | Most scenarios | +| **B. Absolute center** | `offset = remaining / 2` | Perfectly symmetrical | Minimal pages with single element | + +### Effect Illustration + +``` +┌─────────────────────────┐ ┌─────────────────────────┐ +│ ← Content starts here │ │ │ +│ Section Title │ │ ← 38.2% elegant space │ +│ Body text... │ │ │ +│ │ │ Section Title │ +│ │ │ Body text... │ +│ │ │ │ +│ │ │ │ +│ ← Huge dead whitespace! │ │ ← 61.8% bottom space │ +│ │ │ │ +│ │ │ │ +└─────────────────────────┘ └─────────────────────────┘ + ❌ No anchoring ✅ Golden ratio anchoring +``` + +--- + +## Three-Route Implementation Guide + +### ReportLab Route (Report Pipeline) + +```python +from reportlab.platypus import SimpleDocTemplate, Spacer, Paragraph +from reportlab.lib.units import pt + +def build_page_with_fill_engine(story_blocks, page_width, page_height, margins): + """ + Fill Engine main entry — ReportLab route. + Call before doc.build(). + """ + available_h = page_height - margins['top'] - margins['bottom'] + available_w = page_width - margins['left'] - margins['right'] + + # --- Safety Net 1: Check font size floor --- + enforce_font_floor(story_blocks, min_body=14, min_h1=32, min_h2=24, min_h3=18) + + # --- Safety Net 2: Virtual render + inflation --- + fill_ratio = calculate_fill_ratio(story_blocks, available_h, default_styles) + + if fill_ratio < 0.65: + # 2a. Line-height inflation + new_line_height = inflate_line_height(1.4, fill_ratio) + apply_line_height(story_blocks, new_line_height) + + # 2b. Paragraph spacing injection + remaining = available_h - measure_total_height(story_blocks) + extra_gap = inject_paragraph_spacing(remaining, count_paragraphs(story_blocks), + count_headings(story_blocks)) + inject_spacers(story_blocks, extra_gap) + + # 2c. Font scaling + font_bump = scale_font_size(15, fill_ratio) - 15 + if font_bump > 0: + bump_font_sizes(story_blocks, font_bump) + + # --- Safety Net 3: Component inflation --- + if fill_ratio < 0.65: + inflate_tables(story_blocks, fill_ratio) + inflate_blockquotes(story_blocks, fill_ratio) + inflate_lists(story_blocks, fill_ratio) + + # --- Safety Net 4: Y-axis anchoring --- + recalc_ratio = calculate_fill_ratio(story_blocks, available_h, inflated_styles) + if recalc_ratio < 0.40: + content_height = measure_total_height(story_blocks) + top_offset = anchor_content_vertically(content_height, available_h, recalc_ratio) + story_blocks.insert(0, Spacer(1, top_offset)) + + return story_blocks +``` + +### LaTeX Route (Academic Pipeline) + +```latex +% Safety Net 1: Font size floor — define in preamble +\newcommand{\bodysize}{\fontsize{14pt}{20pt}\selectfont} % 14pt floor +\renewcommand{\Large}{\fontsize{32pt}{38pt}\selectfont} % H1 ≥ 32pt +\renewcommand{\large}{\fontsize{24pt}{30pt}\selectfont} % H2 ≥ 24pt + +% Safety Net 4: Vertical centering (for extreme voids) +\newcommand{\goldenpage}[1]{% + \null\vfill % Top elastic space (less) + #1 % Content + \vfill\vfill % Bottom elastic space (more, ~2:1 ratio) +} + +% Usage (when content is minimal): +% \goldenpage{ +% \section{Summary} +% Short content here... +% } +``` + +### Playwright/HTML Route (Creative Pipeline) + +```css +/* Safety Net 1: Font size red line */ +:root { + --body-min-font: 14px; + --h1-min-font: 32px; + --h2-min-font: 24px; + --h3-min-font: 18px; +} + +body { + font-size: max(var(--body-font, 15px), var(--body-min-font)); +} + +h1 { font-size: max(var(--h1-font, 36px), var(--h1-min-font)); } +h2 { font-size: max(var(--h2-font, 28px), var(--h2-min-font)); } +h3 { font-size: max(var(--h3-font, 22px), var(--h3-min-font)); } + +/* Safety Net 2-3: Dynamically injected after JS virtual render */ +/* Before Playwright screenshot, run Fill Engine JS via page.evaluate() */ +``` + +```javascript +// Playwright page.evaluate() — Fill Engine +function runFillEngine(pageElement) { + const pageH = pageElement.clientHeight; + const contentH = pageElement.scrollHeight; + const fillRatio = contentH / pageH; + + if (fillRatio >= 0.65) return; // No inflation needed + + const root = pageElement.style; + + // 2a. Line-height inflation + const inflation = Math.min((0.65 - fillRatio) / 0.35, 1.0); + const newLH = 1.4 + (2.2 - 1.4) * inflation; + root.setProperty('--body-line-height', newLH.toFixed(2)); + pageElement.querySelectorAll('p, li').forEach(el => { + el.style.lineHeight = newLH.toFixed(2); + }); + + // 2c. Font scaling + if (fillRatio < 0.50) { + pageElement.querySelectorAll('p, li').forEach(el => { + const size = parseFloat(getComputedStyle(el).fontSize); + el.style.fontSize = Math.min(size + 2, size + 2) + 'px'; // +2pt max + }); + } else if (fillRatio < 0.65) { + pageElement.querySelectorAll('p, li').forEach(el => { + const size = parseFloat(getComputedStyle(el).fontSize); + el.style.fontSize = (size + 1) + 'px'; // +1pt + }); + } + + // 3a. Table height expansion + pageElement.querySelectorAll('td, th').forEach(cell => { + const extra = Math.min(20, Math.round((0.65 - fillRatio) / 0.25 * 20)); + cell.style.paddingTop = (6 + extra) + 'px'; + cell.style.paddingBottom = (6 + extra) + 'px'; + }); + + // 3b. Blockquote exaggeration + pageElement.querySelectorAll('blockquote').forEach(bq => { + const size = parseFloat(getComputedStyle(bq).fontSize); + bq.style.fontSize = (size * 1.5) + 'px'; + bq.style.fontStyle = 'italic'; + bq.style.marginTop = '40px'; + bq.style.marginBottom = '40px'; + }); + + // Safety Net 4: Y-axis anchoring + const newContentH = pageElement.scrollHeight; + const newRatio = newContentH / pageH; + if (newRatio < 0.40) { + const remaining = pageH - newContentH; + const offset = remaining * 0.382; + pageElement.style.paddingTop = offset + 'px'; + } +} +``` + +--- + +## Execution Order Summary + +``` +Input content arrives + │ + ▼ +┌─────────────────────────────────────────┐ +│ Safety Net 1: Readability red line check │ +│ → Font size ≥ floor? YES → Continue │ +│ → Font size < floor? → Force raise to floor │ +└──────────────────┬──────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────┐ +│ Virtual render: Calculate Fill Ratio │ +│ → ≥ 80%? → Render normally, exit │ +│ → 65%-80%? → Light inflation (2a+2b only) │ +│ → < 65%? → Enter Safety Net 2+3 full inflation │ +└──────────────────┬──────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────┐ +│ Safety Net 2: Paragraph inflation │ +│ 2a. Line-height inflation (→ max 2.2) │ +│ 2b. Paragraph spacing injection (30%-50% of remaining space) │ +│ 2c. Font scaling (+1~2pt, max) │ +└──────────────────┬──────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────┐ +│ Safety Net 3: Component inflation │ +│ 3a. Table Padding increase (+10~20pt) │ +│ 3b. Blockquote scale 1.5x + 40pt whitespace above/below │ +│ 3c. List spacing × 1.5 │ +└──────────────────┬──────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────┐ +│ Recalculate Fill Ratio │ +│ → ≥ 40%? → Render normally, exit │ +│ → < 40%? → Safety Net 4: Y-axis golden ratio anchoring │ +└──────────────────┬──────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────┐ +│ Safety Net 4: Shift content down │ +│ top_offset = remaining * 0.382 │ +│ → Elegant space above, slightly more below │ +│ → No longer "underfilled" but "intentional whitespace" │ +└─────────────────────────────────────────┘ + │ + ▼ + Actual render output +``` + +--- + +## Coordination with Other Specifications + +| Specification | Relationship | Coordination Rule | +|------|------|---------| +| `overflow.md` | Complementary (overflow vs void) | overflow's font degradation must not breach Fill Engine's red line | +| `pagination.md` | Complementary (pagination vs fill) | pagination's "last page ≥ 40%" aligns with Fill Engine's Fill Ratio concept | +| `cover.md` | Independent | Covers have their own layout system, not affected by Fill Engine | +| `typography.md` | Infrastructure | Fill Engine makes elastic adjustments on top of typography-defined fonts/line-heights | + +--- + +## Checklist (Check Before Every Body Page Render) + +``` +□ Body font size ≥ 14pt (single-column) / 12pt (double-column)? +□ H1 ≥ 32pt、H2 ≥ 24pt、H3 ≥ 18pt? +□ Virtual render calculated Fill Ratio? +□ Inflation triggered when Fill Ratio < 65%? +□ Line-height inflation not exceeding 2.2? +□ Font scaling not exceeding +2pt? +□ Table Padding increment within 10-20pt range? +□ Blockquote scale factor = 1.5x, top/bottom whitespace = 40pt? +□ Y-axis anchoring triggered when Fill Ratio < 40%? +□ Cover page not affected by Fill Engine? +``` diff --git a/skills/pdf/typesetting/geometry.md b/skills/pdf/typesetting/geometry.md new file mode 100755 index 0000000..8524720 --- /dev/null +++ b/skills/pdf/typesetting/geometry.md @@ -0,0 +1,142 @@ +# Geometric Anchors + +> Create sophisticated visual anchors from the simplest geometric shapes. + +--- + +## What Are Visual Anchors + +Visual anchors are **non-functional decorative elements** on a page, used to: +- Break the flatness of text-only / data-only layouts +- Establish a visual center of gravity on the page +- Convey abstract qualities and design intent +- Fill large whitespace areas without adding information noise + +**Key principle: Anchors don't need to "look like" anything concrete. The more abstract, the more refined.** + +--- + +## Basic Shape Vocabulary + +| Shape | SVG | Mood / Character | +|-------|-----|-----------------| +| Circle | `<circle>` | Wholeness, inclusivity, softness | +| Semicircle | `<path d="M0,50 A50,50 0 0,1 100,50">` | Rising, gradual, metaphorical | +| Triangle | `<polygon>` | Direction, sharpness, modern | +| Rectangle | `<rect>` | Stability, order, architectural | +| Line | `<line>` | Connection, guidance, minimalism | +| Arc | `<path>` + Bézier | Flow, elegance, organic | + +--- + +## Composition Patterns + +### Pattern 1: Offset Stacking + +Multiple identical shapes, slightly offset, rotated, with decreasing opacity. + +```svg +<svg width="120" height="120" viewBox="0 0 120 120" fill="none"> + <!-- Three offset circles --> + <circle cx="50" cy="50" r="35" stroke="currentColor" stroke-width="0.6" opacity="0.15"/> + <circle cx="60" cy="55" r="35" stroke="currentColor" stroke-width="0.6" opacity="0.25"/> + <circle cx="70" cy="60" r="35" stroke="currentColor" stroke-width="0.6" opacity="0.4"/> +</svg> +``` + +**Key points**: Same shape, 3 layers, opacity 0.15 → 0.25 → 0.4, offset 10-15px + +### Pattern 2: Scale Contrast + +One large shape + a few small shapes as accents. + +```svg +<svg width="150" height="150" viewBox="0 0 150 150" fill="none"> + <circle cx="60" cy="60" r="50" stroke="currentColor" stroke-width="0.5" opacity="0.2"/> + <circle cx="115" cy="30" r="8" fill="currentColor" opacity="0.6"/> + <circle cx="105" cy="50" r="3" fill="currentColor" opacity="0.3"/> + <circle cx="125" cy="45" r="2" fill="currentColor" opacity="0.2"/> +</svg> +``` + +**Key points**: Large circle stroke-only (hollow), small circles filled (solid), creating solid-void contrast + +### Pattern 3: Grid Intersection + +Lines + dots forming nodes at intersections. + +```svg +<svg width="100" height="100" viewBox="0 0 100 100" fill="none"> + <line x1="20" y1="0" x2="20" y2="100" stroke="currentColor" stroke-width="0.3" opacity="0.1"/> + <line x1="50" y1="0" x2="50" y2="100" stroke="currentColor" stroke-width="0.3" opacity="0.1"/> + <line x1="80" y1="0" x2="80" y2="100" stroke="currentColor" stroke-width="0.3" opacity="0.1"/> + <line x1="0" y1="30" x2="100" y2="30" stroke="currentColor" stroke-width="0.3" opacity="0.1"/> + <line x1="0" y1="70" x2="100" y2="70" stroke="currentColor" stroke-width="0.3" opacity="0.1"/> + <!-- Intersection points --> + <circle cx="50" cy="30" r="3" fill="currentColor" opacity="0.5"/> + <circle cx="20" cy="70" r="2" fill="currentColor" opacity="0.3"/> + <circle cx="80" cy="70" r="4" fill="currentColor" opacity="0.15"/> +</svg> +``` + +### Pattern 4: Arc Flow + +Bézier curves + endpoint circles, expressing organic flow. + +```svg +<svg width="200" height="100" viewBox="0 0 200 100" fill="none"> + <path d="M10,80 C50,10 150,10 190,80" stroke="currentColor" stroke-width="0.6" opacity="0.25"/> + <path d="M10,85 C60,20 140,20 190,85" stroke="currentColor" stroke-width="0.4" opacity="0.15"/> + <circle cx="10" cy="80" r="2.5" fill="currentColor" opacity="0.4"/> + <circle cx="190" cy="80" r="2.5" fill="currentColor" opacity="0.4"/> +</svg> +``` + +### Pattern 5: Geometric Collage + +Intentional combination of different shapes, like an architectural plan. + +```svg +<svg width="120" height="120" viewBox="0 0 120 120" fill="none"> + <!-- Rectangular frame --> + <rect x="10" y="10" width="60" height="60" stroke="currentColor" stroke-width="0.5" opacity="0.2"/> + <!-- Circle breaking the straight lines --> + <circle cx="70" cy="70" r="30" stroke="currentColor" stroke-width="0.5" opacity="0.2"/> + <!-- Diagonal line cutting through --> + <line x1="10" y1="10" x2="100" y2="100" stroke="currentColor" stroke-width="0.3" opacity="0.15"/> + <!-- Small solid triangle as focal point --> + <polygon points="85,20 95,40 75,40" fill="currentColor" opacity="0.4"/> +</svg> +``` + +--- + +## Placement Guide + +| Context | Recommended Position | Recommended Size | Pattern | +|---------|---------------------|-----------------|---------| +| Cover | Top-right / bottom-left offset | 120-200px | Offset Stacking, Geometric Collage | +| Chapter divider | Page center | 80-120px | Scale Contrast, Arc Flow | +| Header / footer decoration | Corners | 30-50px | Small offset, single circle + line | +| Whitespace fill | Alongside content | 60-100px | Grid Intersection | + +--- + +## Color Rules + +- Anchor color = document primary color from `palette.cascade` output (`--c-accent` or `--c-text`) +- **Use only one color**, layer via opacity (0.1 → 0.5) +- Strokes over fills (solid elements ≤ 30% of total shapes) +- stroke-width range: 0.3-0.8px (ultra-thin lines = refined look) +- **⚠️ All SVG examples below use `currentColor` as placeholder.** When generating actual SVG, replace with the document’s primary color from the palette system. NEVER copy `currentColor` literally into production SVG — substitute the actual hex value. + +--- + +## Forbidden + +- ❌ Figurative icons (flowers, stars, arrows, or other concrete shapes) +- ❌ Mixing multiple colors +- ❌ Over-complexity (more than 8 shape elements) +- ❌ Symmetric / centered placement (offset creates tension) +- ❌ Thick lines (> 1.5px looks heavy) +- ❌ Shadows / glow effects diff --git a/skills/pdf/typesetting/overflow.md b/skills/pdf/typesetting/overflow.md new file mode 100755 index 0000000..15c90d0 --- /dev/null +++ b/skills/pdf/typesetting/overflow.md @@ -0,0 +1,630 @@ +# Overflow Prevention — Anti-Overflow Layout System + +> PDF is static: no scrollbars, no reflow, no viewport adaptation. Every element must fit within its container BEFORE rendering. This document defines the architectural approach to guarantee zero overflow in any generated PDF. +> +> **This is the "too much content" side.** For the mirror problem ("too little content" / empty pages), see `typesetting/fill-engine.md` — the anti-void adaptive engine. +> +> Related: +> - `fill-engine.md` — Anti-void engine (font floor, fill ratio, paragraph inflation, Y-axis anchoring) +> - `pagination.md` — Pagination & cross-page integrity + +--- + +## Core Philosophy + +**"Measure first, draw second."** + +Never use `draw_text(x, y)` or `draw_image(x, y)` directly. All content must pass through a constraint system that pre-calculates sizes and enforces boundaries. Think CSS Box Model, but for a fixed canvas. + +--- + +## 1. Bounding Box System (Horizontal Overflow Prevention) + +Every element entering a page is a **Block** with a maximum available width (`Max_Width`). + +### Calculating Max_Width + +```python +# Single-column layout +max_width = page_width - left_margin - right_margin + +# Dual-column layout +col_gap = 12 # points +max_width = (page_width - left_margin - right_margin - col_gap) / 2 + +# Nested containers (e.g., table cell) +cell_max_width = col_width - cell_padding_left - cell_padding_right +``` + +### Absolute Rule + +> **No Block's rendered width may exceed its parent's `Max_Width`. Period.** + +If a Block's calculated width > Max_Width, apply fallback strategies (see §5). + +--- + +## 1.5 🔴 Page Content Centering (Horizontal Centering Iron Rule) + +> **Symptom:** Cover or body content is shifted left on the page, with noticeably more whitespace on the right than left. + +**Root cause:** Asymmetric left/right margins, or cover uses single-side anchors without considering right-side balance. + +**Iron rule:** + +1. **Left/right margins must be symmetric:** `left_margin == right_margin`. No asymmetric margins allowed. +2. **Cover:** For left-aligned templates (e.g., Template 01/02/03/05/07), the text starting point should be within `0.10*W ~ 0.15*W`, and the right margin should be between `0.05*W ~ 0.15*W`. Center-aligned templates (Template 04/06) must be absolutely centered. +3. **Body:** ReportLab's `Frame` / `SimpleDocTemplate` must have `leftMargin == rightMargin`. LaTeX's `\geometry{left=X, right=X}` must be symmetric. HTML must use `margin: 0 auto` or `padding-left == padding-right`. + +```python +# ReportLab: Force symmetric margins +from reportlab.lib.units import inch +MARGIN = 1 * inch # Left and right must use same variable +doc = SimpleDocTemplate( + "output.pdf", + leftMargin=MARGIN, + rightMargin=MARGIN, # ← Must match leftMargin + topMargin=MARGIN, + bottomMargin=MARGIN, +) + +# ❌ WRONG: leftMargin=72, rightMargin=36 → Content shifts left +``` + +```latex +% LaTeX: Force symmetric margins +\usepackage[left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry} +% ❌ WRONG: left=3cm, right=1.5cm +``` + +--- + +## 2. Text Overflow: Font Metrics Pre-Calculation + +### The Wrong Way +```python +# ❌ NEVER estimate by character count +if len(text) > 20: + wrap() # Wrong — 20 CJK chars ≠ 20 Latin chars ≠ 20 mixed chars +``` + +### The Right Way — ReportLab +```python +from reportlab.pdfbase.pdfmetrics import stringWidth +from reportlab.platypus import Paragraph +from reportlab.lib.styles import ParagraphStyle + +# Measure actual rendered width +text_width = stringWidth("Your text here", "Microsoft YaHei", 10) + +if text_width > max_width: + # Use Paragraph for automatic wrapping — NEVER plain strings in tables + style = ParagraphStyle( + 'CellText', + fontName='Microsoft YaHei', + fontSize=10, + leading=14, + wordWrap='CJK', # Enables CJK-aware line breaking + ) + element = Paragraph(text, style) +else: + element = text # Plain string is fine if it fits +``` + +### Key Rules +- **Always use `Paragraph()` for table cell content** — plain strings don't wrap and will overflow +- **CJK text is wider**: Budget ~12pt per character at 10pt font size (vs ~6pt for Latin) +- **URLs and long strings**: If a single "word" exceeds column width, enable `wordWrap='CJK'` or split manually +- **Hyphenation**: For English text, consider `pyphen` for proper hyphenation of long words + +### The Right Way — LaTeX +```latex +% Use tabularx for auto-wrapping columns +\usepackage{tabularx} +\begin{tabularx}{\columnwidth}{lXX} % X columns auto-wrap + Header 1 & This long text will wrap & Another wrapping column \\ +\end{tabularx} + +% For URLs +\usepackage{url} +\url{https://very-long-url-that-would-overflow.example.com/path/to/resource} +``` + +### The Right Way — Playwright/HTML +```css +/* Global text overflow prevention */ +p, td, li, .content { + overflow-wrap: break-word; + word-break: break-word; + hyphens: auto; +} + +/* Strict CJK line-break rules */ +body { + line-break: strict; + word-break: normal; +} + +/* Table cells must constrain content */ +/* ⚠️ overflow:hidden + ellipsis only for single-line short text cells. + Multi-line td should use overflow-wrap: break-word, not overflow: hidden, + otherwise text gets truncated. Especially important in Playwright PDFs. */ +td { + max-width: 0; /* Forces column to respect assigned width */ + overflow: hidden; + text-overflow: ellipsis; /* Only for single-line cells */ +} +``` + +--- + +## 3. Image & Chart Overflow: Proportional Scaling + +### Absolute Rule + +> **Never insert an image or chart at its original dimensions. Always compute fit-to-container scaling.** + +### ReportLab Pattern +```python +from reportlab.platypus import Image +from reportlab.lib.units import mm + +def fit_image(img_path, max_w, max_h): + """Scale image to fit within max_w × max_h, preserving aspect ratio.""" + img = Image(img_path) + orig_w, orig_h = img.drawWidth, img.drawHeight + + ratio_w = max_w / orig_w if orig_w > max_w else 1.0 + ratio_h = max_h / orig_h if orig_h > max_h else 1.0 + ratio = min(ratio_w, ratio_h) + + img.drawWidth = orig_w * ratio + img.drawHeight = orig_h * ratio + return img + +# Usage +available_width = page_width - left_margin - right_margin +max_img_height = A4[1] * 0.35 # ~294pt ≈ 10cm — prevents image from eating page + leaves room for caption +img = fit_image("chart.png", available_width, max_img_height) +story.append(img) +``` + +### LaTeX Pattern +```latex +\usepackage{adjustbox} + +% Always constrain to column width +\includegraphics[max width=\columnwidth]{chart.png} + +% Or with adjustbox for both dimensions +\begin{adjustbox}{max width=\columnwidth, max height=0.4\textheight} + \includegraphics{chart.png} +\end{adjustbox} +``` + +### Playwright/HTML Pattern +```css +img, svg, .chart-container { + max-width: 100%; + max-height: 45vh; /* Prevent one image from eating an entire page */ + height: auto; + object-fit: contain; /* Preserve aspect ratio */ +} +``` + +> **Why `max-height: 45vh`?** Without a height cap, a tall image combined with `break-inside: avoid` (from pagination.md) gets pushed to the next page — leaving the current page mostly empty and the image occupying an entire page alone. 45vh ensures any image fits within half a page, leaving room for surrounding text on the same page. + +--- + +## 3.5 Horizontal Flex/Inline Layout Overflow (Flow Bars, Step Lists, Tag Rows) + +**Problem:** LLMs commonly generate horizontal `display: flex` layouts (process flow bars, step indicators, tag rows, icon grids) without any width constraint or wrap control. When content is longer than expected (e.g. "Theory Framework (ASPICE / V-Model)" as a step label), the total width exceeds the container, pushing content beyond the right page boundary. + +**Playwright PDF consequence:** When any element causes `scrollWidth > clientWidth`, Playwright shrinks the **entire page** to fit, causing all content to appear left-shifted with blank space on the right. This affects ALL pages, not just the one with the overflow. + +### Iron Rules (Direct HTML Flow) + +**Rule 3.5.1 — Mandatory `flex-wrap` for ≥3 inline items:** +```css +/* Any horizontal row with 3+ children MUST have flex-wrap */ +.flow-bar, .step-row, .tag-row, .icon-grid { + display: flex; + flex-wrap: wrap; /* MANDATORY for 3+ items */ + gap: 12px; /* Consistent spacing */ + max-width: 100%; /* Never exceed container */ +} +``` + +**Rule 3.5.2 — Flex children must have `min-width` + `flex-shrink`:** +```css +.flow-step, .tag-item { + flex: 1 1 auto; /* Grow, shrink, auto basis */ + min-width: 80px; /* Prevent crushing to 0 */ + max-width: 100%; /* Never exceed container alone */ + overflow-wrap: break-word; /* Break long words */ + word-break: break-all; /* CJK fallback */ +} +``` + +**Rule 3.5.3 — Arrow/connector separators must not be rigid:** +```css +/* ❌ WRONG — rigid arrow div between flex items */ +<div class="step">Step 1</div> +<div class="arrow">→</div> /* Fixed-width, prevents shrinking */ +<div class="step">Step 2</div> + +/* ✅ RIGHT — arrow as pseudo-element, doesn't affect flex layout */ +.flow-step + .flow-step::before { + content: '→'; + margin: 0 8px; + color: #999; + flex-shrink: 0; +} +``` + +**Rule 3.5.4 — Threshold-based layout switching:** + +| Item count | Recommended layout | Notes | +|------------|-------------------|-------| +| 1-3 items | Horizontal flex (no wrap needed if items are short) | Still add `max-width: 100%` on container | +| 4-6 items | Horizontal flex + `flex-wrap: wrap` | Items may wrap to 2 rows | +| 7+ items | Vertical stack or CSS Grid 2×N | Horizontal becomes unreadable | +| Items with long text (>15 CJK chars / >25 Latin chars) | Vertical stack regardless of count | Long labels don't fit side-by-side | + +### Quick Self-Check + +Before generating any horizontal flex layout, verify: +``` +□ Container has max-width: 100% (or explicit width ≤ page width)? +□ flex-wrap: wrap is set (if ≥3 items)? +□ Each child has min-width + max-width constraints? +□ Separators (arrows, dots, lines) are pseudo-elements, not rigid divs? +□ Long text items have overflow-wrap: break-word? +``` + +--- + +## 4. Table Overflow: Dynamic Column Width Allocation + +Tables are the #1 source of horizontal overflow. + +### Strategy: Weight-Based Column Width + +```python +from reportlab.pdfbase.pdfmetrics import stringWidth +from reportlab.platypus import Table, TableStyle, Paragraph +from reportlab.lib.styles import ParagraphStyle + +def calculate_col_widths(data, font_name, font_size, available_width, min_col=30): + """Calculate column widths based on content weight. + + Each column's width is proportional to its widest content, + with a minimum width and total constrained to available_width. + """ + n_cols = len(data[0]) + + # Measure max content width per column + max_widths = [0] * n_cols + for row in data: + for i, cell in enumerate(row): + text = str(cell) if not isinstance(cell, Paragraph) else cell.text + w = stringWidth(text, font_name, font_size) + 8 # +8pt padding + max_widths[i] = max(max_widths[i], w) + + total_natural = sum(max_widths) + + if total_natural <= available_width: + # Everything fits — distribute remaining space proportionally + extra = available_width - total_natural + return [w + extra * (w / total_natural) for w in max_widths] + else: + # Must compress — allocate proportionally with minimum + col_widths = [] + for w in max_widths: + allocated = max(min_col, available_width * (w / total_natural)) + col_widths.append(allocated) + + # Normalize to exactly fit available_width + scale = available_width / sum(col_widths) + return [w * scale for w in col_widths] + + +def build_safe_table(data, available_width, font_name='Microsoft YaHei', font_size=9): + """Build a table guaranteed not to overflow horizontally. + + All text cells are wrapped in Paragraph() for automatic line-breaking. + """ + wrap_style = ParagraphStyle( + 'TableCell', + fontName=font_name, + fontSize=font_size, + leading=font_size + 3, + wordWrap='CJK', + ) + + # Wrap all cells in Paragraph + wrapped_data = [] + for row in data: + wrapped_row = [Paragraph(str(cell), wrap_style) for cell in row] + wrapped_data.append(wrapped_row) + + col_widths = calculate_col_widths(data, font_name, font_size, available_width) + + # Verify total width + assert sum(col_widths) <= available_width + 0.5, \ + f"Table width {sum(col_widths):.1f} exceeds available {available_width:.1f}" + + table = Table(wrapped_data, colWidths=col_widths, repeatRows=1) + return table +``` + +### LaTeX Table Width Management +```latex +% For tables that MUST fit single column +\begin{tabularx}{\columnwidth}{l X X r} % X = flexible width columns + ... +\end{tabularx} + +% For wide tables in twocolumn mode → span full page +\begin{table*}[t] + \begin{tabularx}{\textwidth}{l X X X X r} + ... + \end{tabularx} +\end{table*} + +% Last resort: shrink to fit (verify ≥ 6pt after scaling) +\resizebox{\columnwidth}{!}{% + \begin{tabular}{lllllll} + ... + \end{tabular} +} +``` + +### LaTeX Equation Width Management (Dual-Column) + +Equations are the **#2 overflow source** after tables in two-column papers (ACM `sigconf` column ~241pt, IEEE ~252pt). + +```latex +% ❌ WRONG — two full equations on one line +\begin{equation} + \mathbf{e}_u = \sum \frac{1}{\sqrt{...}} \mathbf{e}_i, \quad + \mathbf{e}_i = \sum \frac{1}{\sqrt{...}} \mathbf{e}_u +\end{equation} + +% ✅ CORRECT — one equation per line +\begin{align} + \mathbf{e}_u &= \sum \frac{1}{\sqrt{...}} \mathbf{e}_i, \\ + \mathbf{e}_i &= \sum \frac{1}{\sqrt{...}} \mathbf{e}_u. +\end{align} + +% ✅ For wide fractions (softmax, attention) +% Factor out sub-expressions into separate definitions +\begin{equation} + \alpha_{uv} = \frac{\exp(f(u,v))}{\sum_k \exp(f(u,k))}, + \quad \text{where } f(u,v) = \text{LeakyReLU}(\ldots) +\end{equation} + +% ✅ For contrastive losses: use multline +\begin{multline} + \mathcal{L}_{\text{SSL}}^u = + -\log \frac{\exp(\text{sim}(z_u', z_u'')/\tau)} + {\sum_{v \neq u} \exp(\text{sim}(z_u', z_v'')/\tau)}. +\end{multline} +``` + +**Quick heuristic:** if `equation` body > 60 raw characters (excluding `\label`), it probably overflows dual-column. Use `align`, `split`, `multline`, or factor out sub-expressions. + +See `academic.md` Rules M1–M4 for full patterns. + +### LaTeX Algorithm Width Management (Dual-Column) + +```latex +\SetAlFnt{\small} % ❗ MANDATORY in dual-column +\SetAlCapFnt{\small} + +% Break long Input/Output across lines: +\KwInput{Graph $\mathcal{G}_R$, $\mathcal{G}_S$\\ + \quad dim $d$, layers $L$, lr $\eta$, reg $\lambda$} + +% Or use algorithm* to span full width +\begin{algorithm*}[t] ... \end{algorithm*} +``` + +### ⚠️ `\columnwidth` vs `\textwidth` in Two-Column Layouts + +| Context | `\columnwidth` | `\textwidth` | +|---------|---------------|-------------| +| Single-column doc | = page content width | = page content width (same) | +| Two-column doc (`table` float) | = **one column** (~252pt) | = **full page** (~504pt) | +| Two-column doc (`table*` float) | = one column | = full page | + +**Rule:** Inside `table` (single-col float), ALWAYS use `\columnwidth`. Inside `table*` (full-width float), use `\textwidth`. + +`check-tex` detects `\resizebox{\textwidth}` inside single-column floats as error `RESIZEBOX_TEXTWIDTH`. + +--- + +## 5. Fallback & Degradation Strategies + +When content doesn't fit even after wrapping and scaling, apply these strategies **in order**: + +### Automatic Degradation Ladder + +| Step | Strategy | Limit | Notes | +|------|----------|-------|-------| +| 1 | Wrap text into Paragraph | — | Always do this first | +| 2 | Shrink font by 1pt | **Min 14pt** (single-col) / **12pt** (dual-col) | ⚠️ Enforced by `fill-engine.md` Safety Net 1 | +| 3 | Reduce padding/spacing | Min 4pt padding | Don't go below 4pt cell padding | +| 4 | Switch to landscape | Only if user allows | Never change orientation silently | +| 5 | Split into multiple elements | — | e.g., one wide table → two tables | +| 6 | Log warning + render anyway | — | If all else fails, at least don't crash | + +### ReportLab Font Degradation +```python +def fit_text_with_degradation(text, font_name, base_size, max_width, min_size=14): + """Try progressively smaller font sizes until text fits. + + NOTE: min_size enforced by fill-engine.md Safety Net 1. + Single-column: min_size=14. Dual-column: min_size=12. + If text still doesn't fit at min_size → trigger page break, do NOT shrink further. + """ + for size in range(base_size, min_size - 1, -1): + if stringWidth(text, font_name, size) <= max_width: + return size + return min_size # Absolute floor — log warning +``` + +### Table Column Degradation +```python +def degrade_table_if_needed(data, available_width, font_name, base_font_size=10): + """Try fitting table, degrading font size if needed.""" + for font_size in [base_font_size, base_font_size - 1, base_font_size - 2]: + col_widths = calculate_col_widths(data, font_name, font_size, available_width) + if all(w >= 25 for w in col_widths): # Minimum 25pt per column + return font_size, col_widths + + # Still doesn't fit — consider splitting table or landscape + return base_font_size - 2, col_widths +``` + +--- + +## 6. Vertical Overflow: Y-Cursor & Smart Pagination + +Horizontal overflow → wrap/scale/shrink. +Vertical overflow → paginate. + +### Y-Cursor Architecture (ReportLab Platypus handles this, but understand it) + +``` +Page Start +├── Current_Y = top_margin +├── Draw Block A (height = 80pt) +│ └── Current_Y += 80 + spacing +├── Draw Block B (height = 120pt) +│ └── Current_Y += 120 + spacing +├── Check: Current_Y + Next_Block_Height > (page_height - bottom_margin)? +│ ├── YES → New page, reset Current_Y = top_margin +│ └── NO → Continue drawing +└── ... +``` + +### Anti-Tear Rules (Elements That Must Not Split) + +```python +from reportlab.platypus import KeepTogether + +# 1. Heading + first paragraph — MANDATORY +story.append(KeepTogether([ + heading, + first_paragraph, +])) + +# 2. Image/chart + caption — MANDATORY +story.append(KeepTogether([ + chart_image, + caption_paragraph, +])) + +# 3. Table title + table (short tables ≤ 15 rows) +if len(data) <= 15: + story.append(KeepTogether([table_title, table])) + +# 4. Long tables: repeat header on each page +table = Table(data, repeatRows=1) # First row repeats on every page +``` + +### Orphan/Widow Prevention + +- If a paragraph's last line would be alone on the next page → pull at least 2 lines forward +- If a section heading lands at page bottom with no body text → push to next page +- ReportLab: `KeepTogether` handles most cases; `allowSplitting=False` for critical blocks + +### LaTeX Vertical Overflow +```latex +% Prevent orphans and widows +\widowpenalty=10000 +\clubpenalty=10000 + +% Prevent page break after heading +\usepackage{titlesec} +\titlespacing*{\section}{0pt}{12pt plus 4pt minus 2pt}{6pt plus 2pt minus 2pt} + +% Keep float near text +\usepackage[section]{placeins} % \FloatBarrier at each \section +``` + +--- + +## 7. Two-Pass Rendering (Advanced — for Complex Documents) + +For critical documents where overflow would be unacceptable: + +### Pass 1: Virtual Layout (Measurement) + +Calculate all element sizes without rendering. Build a **Layout Tree**: + +```python +layout_tree = [ + {"type": "heading", "width": 450, "height": 28, "page": 1}, + {"type": "paragraph", "width": 450, "height": 84, "page": 1}, + {"type": "table", "width": 450, "height": 220, "page": 1}, + {"type": "chart", "width": 400, "height": 300, "page": 2}, + # ... +] +``` + +### Collision Detection + +```python +def check_overflow(layout_tree, page_width, left_margin, right_margin): + """Verify no element overflows page boundaries.""" + max_x = page_width - right_margin + violations = [] + for elem in layout_tree: + right_edge = left_margin + elem["width"] + if right_edge > max_x: + violations.append({ + "element": elem["type"], + "page": elem["page"], + "overflow_by": right_edge - max_x, + }) + return violations +``` + +### Pass 2: Render with Confirmed Layout + +Only render after Pass 1 confirms zero violations. If violations found → apply degradation strategies from §5, then re-run Pass 1. + +**In practice**: ReportLab's Platypus engine already does a form of two-pass rendering internally (`doc.multiBuild()`). Use `multiBuild` + `afterFlowable` callbacks for complex documents that need cross-referencing or dynamic layout adjustment. + +--- + +## Quick Reference: Which Route Uses What + +| Mechanism | ReportLab (Report) | LaTeX (Academic) | Playwright (Creative) | +|-----------|-------------------|-------------------|----------------------| +| Text wrapping | `Paragraph()` + `wordWrap='CJK'` | `tabularx` X columns | CSS `overflow-wrap: break-word` | +| Image scaling | `fit_image()` helper | `\includegraphics[max width=]` | CSS `max-width: 100%` | +| Table width | `calculate_col_widths()` | `tabularx` / `resizebox` | CSS `table-layout: fixed` | +| Font degradation | `fit_text_with_degradation()` | `\small` / `\footnotesize` | CSS `font-size` step-down | +| Page break | `PageBreak()` / `KeepTogether` | `\newpage` / `\FloatBarrier` | CSS `break-before: page` | +| Header repeat | `Table(repeatRows=1)` | `\endhead` in longtable | `thead { display: table-header-group }` | +| Orphan/widow | `KeepTogether` | `\widowpenalty=10000` | CSS `orphans: 2; widows: 2` | + +--- + +## Checklist (Run Before Every PDF Build) + +``` +□ All table cells use Paragraph() wrapping, not plain strings? +□ sum(colWidths) ≤ available_width verified in code? +□ Images scaled to fit container (not original size)? +□ Long tables have repeatRows=1 (or thead header-group)? +□ Heading + first paragraph wrapped in KeepTogether? +□ Chart + caption wrapped in KeepTogether? +□ CJK text uses wordWrap='CJK' style? +□ URL/long-string cells have word-break handling? +□ Font degradation fallback exists for tight columns? +□ Last page content ratio ≥ 40%? +``` diff --git a/skills/pdf/typesetting/pagination.md b/skills/pdf/typesetting/pagination.md new file mode 100755 index 0000000..2484f95 --- /dev/null +++ b/skills/pdf/typesetting/pagination.md @@ -0,0 +1,367 @@ +# Pagination & Flow Control + +> Core rules for multi-page document layout quality. Must be followed every time a multi-page PDF is generated. +> +> Related: +> - `typesetting/overflow.md` — the comprehensive overflow prevention system covering all three routes (ReportLab, LaTeX, Playwright). +> - `typesetting/fill-engine.md` — the **anti-void** adaptive engine (handles pages with too little content: font floor, fill ratio, paragraph inflation, Y-axis golden-ratio anchoring). + +--- + +## 1. Last Page Blank Control (Anti-Orphan Page) + +**Problem**: The last page has only one or two lines of content with large blank areas — looks terrible. + +**Mandatory Rules**: + +- After generating multi-page content, **you must check the content fill ratio of the last page** +- When last page content ratio < 25%, **you must backtrack and adjust** +- Adjustment strategies (by priority): + 1. **Compress preceding page spacing**: Reduce margin-bottom between sections (decrease 2-4px each) + 2. **Tighten line height**: Body line-height from 1.7 → 1.55 (no lower than 1.5) + 3. **Reduce font size**: Body from 16px → 15px (no lower than 14px) + 4. **Trim content**: Remove dispensable descriptive text without affecting core information + 5. **Merge small sections**: Combine adjacent sections with little content + +**Checking Method (Playwright HTML route)**: +```css +/* Check min-content on the last .page element */ +/* If content is less than 25% of page, backtracking is needed */ +``` + +**Practical Standards**: +- Last page content ratio >= 40% → ✅ Pass +- Last page content ratio 25%-40% → ⚠️ Acceptable but optimization recommended +- Last page content ratio < 25% → ❌ Must adjust + +--- + +## 2. Table Cross-Page Integrity + +**Problem**: Table header and first data row split across two pages; table cut in the middle. + +**Mandatory Rules**: + +### Playwright HTML Route +```css +/* Prevent table splitting */ +table, .table-wrapper { + break-inside: avoid; /* Preferred: keep entire table together */ + page-break-inside: avoid; +} + +/* If table is too long and must split, ensure header repeats */ +thead { + display: table-header-group; /* Repeat header on each page */ +} + +/* Don't cut table rows in the middle */ +tr { + break-inside: avoid; + page-break-inside: avoid; +} + +/* Bind header + at least 2 data rows together */ +thead + tbody tr:first-child, +thead + tbody tr:nth-child(2) { + break-before: avoid; + page-break-before: avoid; +} +``` + +### ReportLab Route +```python +# Use Table's repeatRows parameter +table = Table(data, repeatRows=1) # Repeat header on each page + +# Or use KeepTogether to wrap small tables +from reportlab.platypus import KeepTogether +elements.append(KeepTogether([table_title, table])) +``` + +**Additional Rules**: +- Table rows ≤ 8: Entire table `break-inside: avoid`, no page splitting allowed +- Table rows > 8: Splitting allowed, but must use `thead { display: table-header-group }` to repeat header on each page +- All card-grid / flex-grid layouts follow the same rule: `break-inside: avoid` + +--- + +## 3. CJK Punctuation Placement Rules + +**Problem**: Commas, periods, enumeration commas, etc. appearing at line start, violating CJK typesetting standards. + +**Mandatory Rules**: + +### Playwright HTML Route (Recommended) +```css +/* Global CJK punctuation rules */ +body { + line-break: strict; /* Strict line-break rules */ + word-break: normal; /* Don't force word breaks */ + overflow-wrap: break-word; /* Allow long words to break */ + hanging-punctuation: allow-end; /* Allow punctuation to hang past line end */ +} + +/* For body paragraphs */ +p, .body-text, td, li { + line-break: strict; + text-align: justify; /* Justify to reduce line-end gaps */ +} +``` + +**Effect of `line-break: strict`**: +- Prevents line-start: ,。、;:!?)】》…— +- Prevents line-end: (【《 +- Natively supported by Chromium engine, no extra JS needed + +### ReportLab Route +```python +# Set in ReportLab Paragraph style +from reportlab.lib.enums import TA_JUSTIFY +style = ParagraphStyle( + 'Body', + alignment=TA_JUSTIFY, + wordWrap='CJK', # CJK line-break mode +) +``` + +**Verification Checklist**: +- [ ] No comma/period appears as the first character of any line +- [ ] Left parenthesis / left quotation mark does not appear at line end +- [ ] Ellipsis is not broken in the middle + +--- + +## 4. Major Section Page-Break Rule (3/4 Threshold) + +**Problem**: A major section (H1/一级标题) ends at ~75% of the page, and the next major section’s title gets squeezed into the remaining 25%. This looks cramped and ugly — the new section deserves a fresh page. + +**Iron Rule**: When a major section (H1-level heading, e.g., “一、”“二、” or “Chapter 1”) is about to start, check remaining page space: + +| Remaining space | Action | +|----------------|--------| +| **≥ 25% of page height** | Continue on same page — enough room for heading + meaningful content | +| **< 25% of page height** | Force page break — start the new section on a fresh page | + +**Why 25% (not 50%)?** A major heading needs at least its title + 2-3 lines of body text to look intentional. If there’s only enough room for a title and a line or two, it looks like an accident. + +### ReportLab Implementation +```python +from reportlab.platypus import CondPageBreak + +# Before every H1-level heading, insert a conditional page break. +# CondPageBreak(height) breaks to next page if remaining space < height. +# Use 75% of available page height as threshold. +available_height = page_height - top_margin - bottom_margin +threshold = available_height * 0.25 # break if less than 25% remains + +# In story building: +story.append(CondPageBreak(threshold)) # ← goes before H1 heading +story.append(h1_paragraph) +``` + +### Playwright / CSS @page Implementation +```css +/* H1-level headings always prefer starting on a new page + unless there's substantial room remaining */ +h1, .major-section-title { + break-before: auto; /* Default: don't force */ + page-break-before: auto; +} +``` + +```javascript +// Post-render check: if an H1 starts in the bottom 25% of the viewport, +// force a page-break-before to avoid orphan headings +document.querySelectorAll('h1, .major-section-title').forEach(h => { + const rect = h.getBoundingClientRect(); + // In print context, check if heading is too far down the page + // This can be verified after Playwright render via page.evaluate() + const pageHeight = window.innerHeight; + const relativeY = rect.top / pageHeight; + if (relativeY > 0.75) { + h.style.breakBefore = 'page'; + } +}); +``` +``` + +### LaTeX Implementation +```latex +% Before each \section{} (H1-level), check remaining space +\needspace{0.25\textheight} % requires needspace package +\section{New Major Section} +``` + +**Scope**: This rule applies to **H1-level headings only** (major sections, chapters, top-level numbered items like “一、”“二、”). Sub-sections (H2, H3) follow the standard heading-body binding rule (no orphan headings at page bottom) but do NOT force page breaks. + +--- + +## 5. Other Anti-Split Rules + +### Heading–Body Binding +```css +h1, h2, h3, h4, .section-title { + break-after: avoid; /* Don't page-break after heading */ + page-break-after: avoid; +} +``` + +### Image / Card Protection +```css +figure, .card, .kpi-card, .project-card { + break-inside: avoid; + page-break-inside: avoid; +} +``` + +> **⚠️ Image `max-height` is critical.** `break-inside: avoid` alone can cause images to occupy an entire page when the image is tall. Always pair with `max-height` from overflow.md (`img { max-height: 45vh }`) to prevent single images from consuming a full page. + +### List Item Binding +```css +li { + break-inside: avoid; +} +/* Keep at least 2 list items on the same page */ +li:last-child { + break-before: avoid; +} +``` + +--- + +## Quick Checklist (After every multi-page PDF generation) + +``` +□ Last page content ≥ 40%? +□ Major sections (H1) not starting in bottom 25% of a page? +□ Table header and data rows not separated? +□ No punctuation appearing at line start? +□ No heading orphaned at page bottom? +□ No card/image cut in half? +□ Page numbering follows the standard scheme (see Section 6)? +``` + +--- + +## 6. Standard Page Numbering Scheme + +All multi-page documents MUST follow this five-zone page numbering convention unless the user explicitly requests otherwise. + +### Zone Definitions + +| Zone | Section | Numbering Style | Starts At | Visibility | +|------|---------|----------------|-----------|------------| +| **1. Cover** | Title page | — | Logical page 1 | **Hidden** (no visible page number, but counts as page 1 internally) | +| **2. Front Matter** | Table of Contents, Preface, Abstract, Acknowledgments | **Lowercase Roman** (i, ii, iii, iv, v…) | i | Visible, centered footer | +| **3. Body** | Main content chapters/sections | **Arabic** (1, 2, 3…) | **Resets to 1** | Visible, centered or outer-edge footer | +| **4. Appendix** | Appendices (A, B, C…) | **Arabic, continues** from body | Continues | Visible | +| **5. References / Bibliography** | Works cited, bibliography | **Arabic, continues** from body/appendix | Continues | Visible | + +### Key Rules + +0. **NEVER use "Page X of Y" format (denominator is FORBIDDEN).** Footer must show only the page number itself (e.g., `1`, `2`, `iii`). Do NOT display total page count. No `Page 3 of 12`, no `第3页/共12页`, no `3 / 12`. Just the bare number. + +1. **Cover page is ALWAYS page 1 internally** but the page number is **never displayed**. This is achieved by suppressing the footer/header on the first page, not by excluding it from the page count. + +2. **Front matter uses a separate Roman numeral sequence.** When front matter exists (TOC, abstract, preface), it forms its own numbering sequence starting at `i`. This sequence is independent of the body numbering. + +3. **Body numbering resets to Arabic 1.** The first page of actual content (Chapter 1, Introduction, etc.) is always page `1` regardless of how many front matter pages precede it. + +4. **Appendix and references continue the body sequence.** There is NO reset between body → appendix → references. If the body ends on page 42, Appendix A starts on page 43. + +5. **Documents without front matter** skip zone 2 entirely. Cover = hidden page 1, body starts at visible page 1. + +6. **Documents without a cover** start the body (or front matter if present) at page 1 directly. + +### ReportLab Implementation + +```python +from reportlab.platypus import SimpleDocTemplate, PageBreak, NextPageTemplate, PageTemplate +from reportlab.lib.units import inch +from reportlab.platypus.frames import Frame + +def footer_with_arabic(canvas, doc): + """Standard Arabic page number in footer.""" + canvas.saveState() + canvas.setFont('Helvetica', 9) + canvas.drawCentredString(doc.pagesize[0] / 2, 0.5 * inch, + str(doc.page)) + canvas.restoreState() + +def footer_with_roman(canvas, doc): + """Roman numeral page number for front matter.""" + roman_map = {1:'i',2:'ii',3:'iii',4:'iv',5:'v',6:'vi',7:'vii',8:'viii',9:'ix',10:'x'} + page_num = roman_map.get(doc.page, str(doc.page)) + canvas.saveState() + canvas.setFont('Helvetica', 9) + canvas.drawCentredString(doc.pagesize[0] / 2, 0.5 * inch, page_num) + canvas.restoreState() + +def no_footer(canvas, doc): + """Cover page — no visible page number.""" + pass + +# Define page templates: +# - 'cover': no footer +# - 'frontmatter': Roman numeral footer +# - 'body': Arabic footer (page counter resets) +``` + +### Playwright / HTML + CSS Implementation + +```css +/* Zone 1: Cover — suppress page number */ +.page-cover { + /* No footer content */ +} + +/* Zone 2: Front matter — Roman numerals via CSS counter */ +@page :nth(2) { /* Adjust range based on front matter pages */ } + +/* For Playwright, page numbers are typically added via: + 1. A footer element on each .page div, or + 2. Post-processing with pypdf after PDF generation */ +``` + +**Practical approach for Playwright route**: Since CSS `@page` counters with Roman/Arabic switching are poorly supported, the recommended pattern is: +1. Generate the PDF without page numbers +2. Use pypdf to stamp page numbers in post-processing: + - Skip page 1 (cover) + - Roman numerals for front matter pages + - Arabic starting from 1 for body pages + +### LaTeX Implementation + +```latex +% Cover: no page number displayed +\begin{titlepage} + \thispagestyle{empty} % Suppress page number + % ... cover content ... +\end{titlepage} + +% Front matter: Roman numerals +\pagenumbering{roman} % Switches to i, ii, iii... +\tableofcontents +\newpage + +% Body: Arabic, reset to 1 +\pagenumbering{arabic} % Switches to 1, 2, 3... (auto-resets counter) +\section{Introduction} +% ... + +% Appendix: continues Arabic numbering (no reset) +\appendix +\section{Appendix A} % Page number continues from body + +% References: continues Arabic numbering (no reset) +\bibliographystyle{plain} +\bibliography{refs} +``` + +### When to Deviate + +- **Single-page documents** (certificates, letters, posters): No page numbering at all. +- **Short documents (≤3 pages)**: Simple Arabic `1, 2, 3` throughout, no cover/frontmatter distinction. +- **User explicitly requests a different scheme**: Follow the user's instructions. +- **Exam papers**: Sequential Arabic numbering on every page, including page 1. diff --git a/skills/pdf/typesetting/palette.md b/skills/pdf/typesetting/palette.md new file mode 100755 index 0000000..c67980f --- /dev/null +++ b/skills/pdf/typesetting/palette.md @@ -0,0 +1,217 @@ +# Color Palette System + +> Color is the skeleton of design. Unified, restrained, systematic. Garish = amateur. + +--- + +## Cascade Palette System (V2 — Preferred) + +The cascade palette enforces one iron law: **Area ∝ 1/Saturation**. +The larger the colored area, the lower its saturation must be. + +### Tier System + +| Tier | Area % | S Cap | Roles | +|------|--------|-------|-------| +| **XL** | >50% | ≤ 0.08 | `page_bg`, `section_bg` | +| **L** | 20-50% | ≤ 0.15 | `card_bg`, `table_stripe` | +| **M** | 5-20% | ≤ 0.30 | `header_fill`, `cover_block` | +| **S** | 1-5% | ≤ 0.50 | `border`, `icon` | +| **XS** | <1% | ≤ 0.75 | `accent`, `accent_secondary` | + +### How It Works + +One base hue → 12 roles + 4 semantic colors. Cover, body, and charts all pull from the same palette: + +``` +palette.cascade + ├── cover subset (page_bg, header_fill, cover_block, accent, text_primary...) + ├── body subset (page_bg, section_bg, card_bg, table_stripe, border...) + ├── chart subset (accent as series_1, accent_secondary as series_2, ...) + └── semantic (success, warning, error, info — all low-sat) +``` + +No orphan colors. No "cover finished, now pick new colors for body" drift. + +### Usage + +```bash +# Via design_engine.py +python3 "$PDF_SKILL_DIR/scripts/design_engine.py" palette-cascade --intent cold --mode minimal + +# Via pdf.py (auto-derives intent from title) +python3 "$PDF_SKILL_DIR/scripts/pdf.py" palette.cascade --title "2025年度报告" --format reportlab + +# Formats: summary (default) | json | css | reportlab +``` + +### Output Formats + +- **summary**: Human-readable table with tier/role/hex/saturation +- **json**: Full structured data (roles, cover, body, charts, semantic, meta) +- **css**: CSS custom properties ready for HTML/Playwright +- **reportlab**: Python code ready to paste into ReportLab scripts + +--- + +## Core Iron Rules + +### 1. One Document, One Color Family + +**Not one color — one color family.** + +- After choosing the primary color, all secondary, accent, and background colors must be derived from it +- Derivation methods: lightness shift, saturation shift, micro hue adjustment (within ±15°) +- **Forbidden** to have unrelated colors in the same document + +``` +Primary → Headings, key data, primary buttons +Secondary → Primary lightness ±15-25% +Accent → Primary hue ±10-15°, for highlights/warnings +Neutral → Gray series for body text, not conflicting with primary +Background → Pure white / primary at opacity 3-8% +``` + +### 2. Color Count Limits + +| Element Type | Max Colors | Notes | +|-------------|-----------|-------| +| Entire document | 4-5 | Primary + secondary + accent + neutral + background | +| Single component (card/table) | 2-3 | Don't give each card a different color | +| Charts / data visualization | Same-family gradient | Differentiate by opacity/lightness, not different hues | +| Tags / badges | 1 color + text color | No rainbow tags | + +### 3. Absolutely Forbidden Color Fills + +The following are automatic failures: + +- ❌ 4 cards using 4 completely different colors (red/blue/green/purple) +- ❌ Alternating table rows in different colors (blue row/pink row) +- ❌ Rainbow-colored pie charts/bar charts +- ❌ Each section with a different theme color +- ❌ Gradient transitioning from warm to cool tones (red → blue) + +--- + +## Color Generation Rules + +### Deriving a Full Palette from Primary + +``` +Given primary H(hue) S(saturation) L(lightness): + +Primary: hsl(H, S, L) — Headings, key elements +Dark variant: hsl(H, S, L-15%) — Hover, borders, icons +Light variant: hsl(H, S-10%, L+25%) — Tag backgrounds, light fills +Ultra-light bg: hsl(H, S-20%, 96%) — Section backgrounds, card base +Accent: hsl(H+15, S, L) — Warnings, highlights (micro hue shift) +``` + +### Example: Deriving from a primary color + +> ⚠️ The hex values below are **examples only**. In production, use `palette.cascade` or `palette.generate` to compute the full palette from intent. + +```css +:root { + --c-primary: #2d5a87; /* Primary (from palette.cascade) */ + --c-primary-d: #1e3d5c; /* Dark variant */ + --c-primary-l: #5a8ab8; /* Light variant */ + --c-primary-bg: #f0f4f8; /* Ultra-light background */ + --c-accent: #2d6a87; /* Accent (hue +10°) */ + --c-text: #333; /* Body text */ + --c-text-muted: #888; /* Secondary text */ + --c-border: #e0e4e8; /* Border lines */ +} +``` + +--- + +## Multi-Element Differentiation Strategies + +When distinguishing multiple sibling elements (e.g., multiple cards, categories), **don't use different colors — use these approaches instead**: + +### Strategy A: Same Hue, Different Lightness +```css +.card-1 { background: hsl(220, 40%, 95%); } /* Lightest */ +.card-2 { background: hsl(220, 40%, 90%); } +.card-3 { background: hsl(220, 40%, 85%); } +.card-4 { background: hsl(220, 40%, 80%); } /* Darkest */ +``` + +### Strategy B: Same Color, Different Opacity +```css +.item-1 { background: rgba(30, 58, 95, 0.06); } +.item-2 { background: rgba(30, 58, 95, 0.12); } +.item-3 { background: rgba(30, 58, 95, 0.18); } +.item-4 { background: rgba(30, 58, 95, 0.24); } +``` + +### Strategy C: Primary + Whitespace + Lines +```css +/* Differentiate by border color/weight/style, uniform white background */ +.card-1 { border-left: 3px solid var(--primary); } +.card-2 { border-left: 3px solid var(--primary-l); } +.card-3 { border-left: 3px solid var(--primary-d); } +``` + +### Strategy D: Icons / Numbering (Not Color) +```css +/* All cards same color, differentiated by icons, numbers, or layout variation */ +``` + +--- + +## Gradient Usage Rules + +### Allowed Gradients +- **Same-family gradient**: `linear-gradient(135deg, var(--c-primary), var(--c-primary-l))` — hue difference < 20° +- **Lightness gradient**: `linear-gradient(180deg, #fff, #f5f5f5)` — pure lightness change +- **Primary to transparent**: `linear-gradient(90deg, var(--c-primary), transparent)` — for decorative lines + +### Forbidden Gradients +- ❌ Warm-to-cool crossover: `linear-gradient(#ff6b6b, #4ecdc4)` +- ❌ More than 3 colors: `linear-gradient(red, yellow, green, blue)` +- ❌ Neon gradients: Any high-saturation gradient +- ❌ Gratuitous gradients: Gradients added purely for "looks nice" without purpose + +--- + +## Preset Palettes (Ready to Use) + +### Business Blue +``` +#1a365d → #2a5298 → #4a7ac7 → #dce6f5 → #f5f8fc +``` + +### Warm Gray +``` +#2d2d2d → #5a5a5a → #8a8a8a → #e8e8e8 → #f9f9f9 +``` + +### Forest Green +``` +#1a3c2a → #2d6b4a → #4a9a6a → #d5ead8 → #f2f8f4 +``` + +### Terracotta Red +``` +#5c2018 → #8a3828 → #b85a48 → #f0d8d0 → #faf4f2 +``` + +### Indigo Purple +``` +#2d1b4e → #4a2d7a → #6a4aaa → #ddd0f0 → #f5f2fa +``` + +--- + +## Quick Check + +``` +□ How many colors does the entire document use? (Target ≤ 5) +□ Can every color be traced back to the primary? +□ Are there any colors that "suddenly appear" without derivation? +□ Are sibling elements rainbow-colored? +□ Gradient endpoint hue difference < 20°? +□ If you remove all color and look at grayscale only, is the hierarchy still clear? +``` diff --git a/skills/pdf/typesetting/typography.md b/skills/pdf/typesetting/typography.md new file mode 100755 index 0000000..a5901a9 --- /dev/null +++ b/skills/pdf/typesetting/typography.md @@ -0,0 +1,20 @@ + +--- + +## CJK Typography Supplement + +> See `pagination.md` Section 3 for detailed rules. + +```css +/* CJK punctuation placement rules (always include) */ +body { + line-break: strict; + word-break: normal; + overflow-wrap: break-word; +} + +p, td, li { + line-break: strict; + text-align: justify; +} +``` diff --git a/skills/podcast-generate/LICENSE.txt b/skills/podcast-generate/LICENSE.txt new file mode 100755 index 0000000..1e54539 --- /dev/null +++ b/skills/podcast-generate/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 z-ai-web-dev-sdk Skills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/podcast-generate/SKILL.md b/skills/podcast-generate/SKILL.md new file mode 100755 index 0000000..a7f89c0 --- /dev/null +++ b/skills/podcast-generate/SKILL.md @@ -0,0 +1,198 @@ +--- +name: Podcast Generate +description: Generate podcast episodes from user-provided content or by searching the web for specified topics. If user uploads a text file/article, creates a dual-host dialogue podcast (or single-host upon request). If no content is provided, searches the web for information about the user-specified topic and generates a podcast. Duration scales with content size (3-20 minutes, ~240 chars/min). Uses z-ai-web-dev-sdk for LLM script generation and TTS audio synthesis. Outputs both a podcast script (Markdown) and a complete audio file (WAV). +license: MIT +--- + +# Podcast Generate Skill(TypeScript 版本) + +根据用户提供的资料或联网搜索结果,自动生成播客脚本与音频。 + +该 Skill 适用于: +- 长文内容的快速理解和播客化 +- 知识型内容的音频化呈现 +- 热点话题的深度解读和讨论 +- 实时信息的搜索和播客制作 + +--- + +## 能力说明 + +### 本 Skill 可以做什么 +- **从文件生成**:接收一篇资料(txt/md/docx/pdf等文本格式),生成对谈播客脚本和音频 +- **联网搜索生成**:根据用户指定的主题,联网搜索最新信息,生成播客脚本和音频 +- 自动控制时长,根据内容长度自动调整(3-20 分钟) +- 生成 Markdown 格式的播客脚本(可人工编辑) +- 使用 z-ai TTS 合成高质量音频并拼接为最终播客 + +### 本 Skill 当前不做什么 +- 不生成 mp3 / 字幕 / 时间戳 +- 不支持三人及以上播客角色 +- 不加入背景音乐或音效 + +--- + +## 文件与职责说明 + +本 Skill 由以下文件组成: + +- `generate.ts` + 统一入口(支持文件模式和搜索模式) + - **文件模式**:读取用户上传的文本文件 → 生成播客 + - **搜索模式**:调用 web-search skill 获取资料 → 生成播客 + - 使用 z-ai-web-dev-sdk 进行 LLM 脚本生成 + - 使用 z-ai-web-dev-sdk 进行 TTS 音频生成 + - 自动拼接音频片段 + - 只输出最终文件 + +- `readme.md` + 使用说明文档 + +- `SKILL.md` + 当前文件,描述 Skill 能力、边界与使用约定 + +- `package.json` + Node.js 项目配置与依赖 + +- `tsconfig.json` + TypeScript 编译配置 + +--- + +## 输入与输出约定 + +### 输入(二选一) + +**方式 1:文件上传** +- 一篇资料文件(txt / md / docx / pdf 等文本格式) +- 资料长度不限,Skill 会自动压缩为合适长度 + +**方式 2:联网搜索** +- 用户指定一个搜索主题 +- 自动调用 web-search skill 获取相关内容 +- 整合多个搜索结果作为资料来源 + +### 输出(只输出 2 个文件) + +- `podcast_script.md` + 播客脚本(Markdown 格式,可人工编辑) + +- `podcast.wav` + 最终拼接完成的播客音频 + +**不输出中间文件**(如 segments.jsonl、meta.json 等) + +--- + +## 运行方式 + +### 依赖环境 +- Node.js 18+ +- z-ai-web-dev-sdk(已安装) +- web-search skill(用于联网搜索模式) + +**不需要** z-ai CLI + +### 安装依赖 +```bash +npm install +``` + +--- + +## 使用示例 + +### 从文件生成播客 + +```bash +npm run generate -- --input=test_data/material.txt --out_dir=out +``` + +### 联网搜索生成播客 + +```bash +# 根据主题搜索并生成播客 +npm run generate -- --topic="最新AI技术突破" --out_dir=out + +# 指定搜索主题和时长 +npm run generate -- --topic="量子计算应用场景" --out_dir=out --duration=8 + +# 搜索并生成单人播客 +npm run generate -- --topic="气候变化影响" --out_dir=out --mode=single-male +``` + +--- + +## 参数说明 + +| 参数 | 说明 | 默认值 | +|------|------|--------| +| `--input` | 输入资料文件路径(与 --topic 二选一) | - | +| `--topic` | 搜索主题关键词(与 --input 二选一) | - | +| `--out_dir` | 输出目录(必需) | - | +| `--mode` | 播客模式:dual / single-male / single-female | dual | +| `--duration` | 手动指定分钟数(3-20);0 表示自动 | 0 | +| `--host_name` | 主持人/主播名称 | 小谱 | +| `--guest_name` | 嘉宾名称 | 锤锤 | +| `--voice_host` | 主持音色 | xiaochen | +| `--voice_guest` | 嘉宾音色 | chuichui | +| `--speed` | 语速(0.5-2.0) | 1.0 | +| `--pause_ms` | 段间停顿毫秒数 | 200 | + +--- + +## 可用音色 + +| 音色 | 特点 | +|------|------| +| xiaochen | 沉稳专业 | +| chuichui | 活泼可爱 | +| tongtong | 温暖亲切 | +| jam | 英音绅士 | +| kazi | 清晰标准 | +| douji | 自然流畅 | +| luodo | 富有感染力 | + +--- + +## 技术架构 + +### generate.ts(统一入口) +- **文件模式**:读取用户上传文件 → 生成播客 +- **搜索模式**:调用 web-search skill → 获取资料 → 生成播客 +- **LLM**:使用 `z-ai-web-dev-sdk` (`chat.completions.create`) +- **TTS**:使用 `z-ai-web-dev-sdk` (`audio.tts.create`) +- **不需要** z-ai CLI +- 自动拼接音频片段 +- 只输出最终文件,中间文件自动清理 + +### LLM 调用 +- System prompt:播客脚本编剧角色 +- User prompt:包含资料 + 硬性约束 + 呼吸感要求 +- 输出校验:字数、结构、角色标签 +- 自动重试:最多 3 次 + +### TTS 调用 +- 使用 `zai.audio.tts.create()` +- 支持自定义音色、语速 +- 自动拼接多个 wav 片段 +- 临时文件自动清理 + +--- + +## 输出示例 + +### podcast_script.md(片段) +```markdown +**小谱**:大家好,欢迎收听今天的播客。今天我们来聊一个有趣的话题…… + +**锤锤**:是啊,这个话题真的很有意思。我最近也在关注…… + +**小谱**:说到这里,我想给大家举个例子…… +``` + +--- + +## License + +MIT diff --git a/skills/podcast-generate/generate.ts b/skills/podcast-generate/generate.ts new file mode 100755 index 0000000..c7b5844 --- /dev/null +++ b/skills/podcast-generate/generate.ts @@ -0,0 +1,661 @@ +#!/usr/bin/env tsx +/** + * generate.ts - 统一入口(纯 SDK 版本) + * 原资料 -> podcast_script.md + podcast.wav + * + * 只使用 z-ai-web-dev-sdk,不依赖 z-ai CLI + * + * Usage: + * tsx generate.ts --input=material.txt --out_dir=out + * tsx generate.ts --input=material.md --out_dir=out --duration=5 + */ + +import ZAI from 'z-ai-web-dev-sdk'; +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import os from 'os'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +// ----------------------------- +// Types +// ----------------------------- +interface GenConfig { + mode: 'dual' | 'single-male' | 'single-female'; + temperature: number; + durationManual: number; + charsPerMin: number; + hostName: string; + guestName: string; + audience: string; + tone: string; + maxAttempts: number; + timeoutSec: number; + voiceHost: string; + voiceGuest: string; + speed: number; + pauseMs: number; +} + +interface Segment { + idx: number; + speaker: 'host' | 'guest'; + name: string; + text: string; +} + +// ----------------------------- +// Config +// ----------------------------- +const DEFAULT_CONFIG: GenConfig = { + mode: 'dual', + temperature: 0.9, + durationManual: 0, + charsPerMin: 240, + hostName: '小谱', + guestName: '锤锤', + audience: '白领小白', + tone: '轻松但有信息密度', + maxAttempts: 3, + timeoutSec: 300, + voiceHost: 'xiaochen', + voiceGuest: 'chuichui', + speed: 1.0, + pauseMs: 200, +}; + +const DURATION_RANGE_LOW = 3; +const DURATION_RANGE_HIGH = 20; +const BUDGET_TOLERANCE = 0.15; + +// ----------------------------- +// Functions +// ----------------------------- + +function parseArgs(): { [key: string]: any } { + const args = process.argv.slice(2); + const result: { [key: string]: any } = {}; + + for (let i = 0; i < args.length; i++) { + const arg = args[i]; + if (arg.startsWith('--')) { + const key = arg.slice(2); + if (key.includes('=')) { + const [k, v] = key.split('='); + result[k] = v; + } else if (i + 1 < args.length && !args[i + 1].startsWith('--')) { + result[key] = args[i + 1]; + i++; + } else { + result[key] = true; + } + } + } + + return result; +} + +function readText(filePath: string): string { + let content = fs.readFileSync(filePath, 'utf-8'); + content = content.replace(/\r\n/g, '\n'); + content = content.replace(/\n{3,}/g, '\n\n'); + content = content.replace(/[ \t]{2,}/g, ' '); + content = content.replace(/-\n/g, ''); + return content.trim(); +} + +function countNonWsChars(text: string): number { + return text.replace(/\s+/g, '').length; +} + +function chooseDurationMinutes(inputChars: number, low: number = DURATION_RANGE_LOW, high: number = DURATION_RANGE_HIGH): number { + const estimated = Math.max(low, Math.min(high, Math.floor(inputChars / 1000))); + return estimated; +} + +function charBudget(durationMin: number, charsPerMin: number, tolerance: number): [number, number, number] { + const target = durationMin * charsPerMin; + const low = Math.floor(target * (1 - tolerance)); + const high = Math.ceil(target * (1 + tolerance)); + return [target, low, high]; +} + +function buildPrompts( + material: string, + cfg: GenConfig, + durationMin: number, + budgetTarget: number, + budgetLow: number, + budgetHigh: number, + attemptHint: string = '' +): [string, string] { + let system: string; + let user: string; + + if (cfg.mode === 'dual') { + system = ( + `你是一个播客脚本编剧,擅长把资料提炼成双人对谈播客。` + + `角色固定为男主持「${cfg.hostName}」与女嘉宾「${cfg.guestName}」。` + + `你写作口播化、信息密度适中、有呼吸感、节奏自然。` + + `你必须严格遵守输出格式与字数预算。` + ); + + const hintBlock = attemptHint ? `\n【上一次生成纠偏提示】\n${attemptHint}\n` : ''; + + user = `请把下面【资料】改写为中文播客脚本,形式为双人对谈(男主持 ${cfg.hostName} + 女嘉宾 ${cfg.guestName})。 +时长目标:${durationMin} 分钟。 + +【硬性约束】 +1) 总字数必须在 ${budgetLow} 到 ${budgetHigh} 字之间(目标约 ${budgetTarget} 字)。 +2) 严格使用轮次交替输出:每段必须以"**${cfg.hostName}**:"或"**${cfg.guestName}**:"开头。 +3) 必须包含完整的叙事结构(但不要在对话中写出结构标签): + - 开场:Hook 引入 + 本期主题介绍 + - 主体:3个不同维度的内容,用自然过渡语连接 + - 总结:回顾要点 + 行动建议(1句话,明确可执行) +4) 不要在对话中写"核心点1"、"第一点"等结构标签,用自然的过渡语如"说到这个"、"还有个有趣的事"、"另外"等 +5) 不要照念原文,不要大段引用;要用口播化表达。 +6) 受众:${cfg.audience} +7) 风格:${cfg.tone} + +【呼吸感与自然对话 - 重要!】 +为了营造真实播客的呼吸感,请: +1) 适度加入语气词和感叹词:嗯、哦、啊、对、没错、哈哈、哇、天呐、啧啧等 +2) 多用互动式表达:"你说得对"、"这就很有意思了"、"等等,让我想想"、"我懂你的意思" +3) 适当加入思考和停顿的暗示:"这个问题嘛..."、"怎么说呢..."、"其实..." +4) 避免过于密集的信息输出,每段控制在3-5句话,给听众消化时间 +5) 用类比和生活化的例子来解释复杂概念 +6) 两人之间要有自然的呼应和追问,而不是各说各话 +7) 不同主题之间用自然过渡语连接,不要出现"核心点1/2/3"等标签 + +【输出格式示例】 +**${cfg.hostName}**:开场…… +**${cfg.guestName}**:回应…… +(一直交替到结束) + +${hintBlock} +【资料】 +${material} +`; + } else { + const speakerName = cfg.mode === 'single-male' ? cfg.hostName : cfg.guestName; + const gender = cfg.mode === 'single-male' ? '男性' : '女性'; + + system = ( + `你是一个${gender}单人播客主播,名字叫「${speakerName}」。` + + `你擅长把资料提炼成单人独白式播客,像讲课、读书分享、知识科普一样。` + + `你写作口播化、信息密度适中、有呼吸感、节奏自然。` + + `你必须严格遵守输出格式与字数预算。` + ); + + const hintBlock = attemptHint ? `\n【上一次生成纠偏提示】\n${attemptHint}\n` : ''; + + user = `请把下面【资料】改写为中文单人播客脚本,形式为独白式讲述(主播:${speakerName})。 +时长目标:${durationMin} 分钟。 + +【硬性约束】 +1) 总字数必须在 ${budgetLow} 到 ${budgetHigh} 字之间(目标约 ${budgetTarget} 字)。 +2) 所有内容均由「${speakerName}」一人讲述,每段都以"**${speakerName}**:"开头。 +3) 必须包含完整的叙事结构(但不要在对话中写出结构标签): + - 开场:Hook 引入 + 本期主题介绍 + - 主体:3个不同维度的内容,用自然过渡语连接 + - 总结:回顾要点 + 行动建议(1句话,明确可执行) +4) 不要在对话中写"核心点1"、"第一点"等结构标签,用自然的过渡语如"说到这个"、"还有个有趣的事"、"另外"等 +5) 不要照念原文,不要大段引用;要用口播化表达。 +6) 受众:${cfg.audience} +7) 风格:${cfg.tone} + +【单人播客的呼吸感 - 重要!】 +为了营造自然的单人播客呼吸感,请: +1) 适度加入语气词和感叹词:嗯、哦、啊、对、没错、哈哈、哇、天呐、啧啧等 +2) 多用自问自答式表达:"你可能会问...答案是..."、"这是为什么呢?让我来解释..." +3) 适当加入思考和停顿的暗示:"这个问题嘛..."、"怎么说呢..."、"其实..." +4) 避免过于密集的信息输出,每段控制在3-5句话,给听众消化时间 +5) 用类比和生活化的例子来解释复杂概念 +6) 像在和朋友聊天一样,而不是在念课文 + +【输出格式示例】 +**${speakerName}**:开场,大家好,我是${speakerName},今天我们来聊…… +**${speakerName}**:说到这个,最近有个特别有意思的事…… +(所有内容都由${speakerName}讲述,分段输出) + +${hintBlock} +【资料】 +${material} +`; + } + + return [system, user]; +} + +async function callZAI( + systemPrompt: string, + userPrompt: string, + temperature: number +): Promise<string> { + const zai = await ZAI.create(); + + const completion = await zai.chat.completions.create({ + messages: [ + { role: 'assistant', content: systemPrompt }, + { role: 'user', content: userPrompt }, + ], + thinking: { type: 'disabled' }, + }); + + const content = completion.choices[0]?.message?.content || ''; + return content; +} + +function scriptToSegments(script: string, hostName: string, guestName: string): Segment[] { + const segments: Segment[] = []; + const lines = script.split('\n'); + + let current: Segment | null = null; + let idx = 0; + + const hostPrefix = `**${hostName}**:`; + const guestPrefix = `**${guestName}**:`; + + for (const rawLine of lines) { + const line = rawLine.trim(); + if (!line) continue; + + if (line.startsWith(hostPrefix)) { + idx++; + current = { + idx, + speaker: 'host', + name: hostName, + text: line.slice(hostPrefix.length).trim(), + }; + segments.push(current); + } else if (line.startsWith(guestPrefix)) { + idx++; + current = { + idx, + speaker: 'guest', + name: guestName, + text: line.slice(guestPrefix.length).trim(), + }; + segments.push(current); + } else { + if (current) { + current.text = (current.text + ' ' + line).trim(); + } + } + } + + return segments; +} + +function validateScript( + script: string, + cfg: GenConfig, + budgetLow: number, + budgetHigh: number +): [boolean, string[]] { + const reasons: string[] = []; + + if (cfg.mode === 'dual') { + const hostTag = `**${cfg.hostName}**:`; + const guestTag = `**${cfg.guestName}**:`; + + if (!script.includes(hostTag)) reasons.push(`缺少主持人标识:${hostTag}`); + if (!script.includes(guestTag)) reasons.push(`缺少嘉宾标识:${guestTag}`); + + const turns = script.split('\n').filter(line => + line.startsWith(hostTag) || line.startsWith(guestTag) + ); + if (turns.length < 8) reasons.push('对谈轮次过少:建议至少 8 轮'); + } else { + const speakerName = cfg.mode === 'single-male' ? cfg.hostName : cfg.guestName; + const speakerTag = `**${speakerName}**:`; + + if (!script.includes(speakerTag)) reasons.push(`缺少主播标识:${speakerTag}`); + + const turns = script.split('\n').filter(line => line.startsWith(speakerTag)); + if (turns.length < 5) reasons.push('播客段数过少:建议至少 5 段'); + } + + const n = countNonWsChars(script); + if (n < budgetLow || n > budgetHigh) { + reasons.push(`字数不在预算:当前约 ${n} 字,预算 ${budgetLow}-${budgetHigh}`); + } + + // 只检查开场和总结,不检查"核心点1/2/3"标签(因为不应该出现在对话中) + const mustHave = ['开场', '总结']; + for (const kw of mustHave) { + if (!script.includes(kw)) { + reasons.push(`缺少结构要素:${kw}(请在对话中自然引入)`); + } + } + + // 检查是否有足够的对话轮次(确保内容覆盖了多个主题) + const lineCount = script.split('\n').filter(l => l.trim()).length; + if (lineCount < 10) { + reasons.push('对话轮次过少,建议至少10段对话'); + } + + return [reasons.length === 0, reasons]; +} + +function makeRetryHint(reasons: string[], cfg: GenConfig, budgetLow: number, budgetHigh: number): string { + const lines = ['请严格修复以下问题后重新生成:']; + for (const r of reasons) lines.push(`- ${r}`); + lines.push(`- 总字数必须在 ${budgetLow}-${budgetHigh} 之间。`); + + if (cfg.mode === 'dual') { + lines.push(`- 每段必须以"**${cfg.hostName}**:"或"**${cfg.guestName}**:"开头。`); + } else { + const speakerName = cfg.mode === 'single-male' ? cfg.hostName : cfg.guestName; + lines.push(`- 所有内容都由一人讲述,每段必须以"**${speakerName}**:"开头。`); + } + + lines.push('- 必须包含开场和总结,中间用自然过渡语连接不同主题,不要出现"核心点1/2/3"等标签。'); + return lines.join('\n'); +} + +async function ttsRequest( + zai: any, + text: string, + voice: string, + speed: number +): Promise<Buffer> { + const response = await zai.audio.tts.create({ + input: text, + voice: voice, + speed: speed, + response_format: 'wav', + stream: false, + }); + + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(new Uint8Array(arrayBuffer)); + return buffer; +} + +function ensureSilenceWav(filePath: string, params: { nchannels: number; sampwidth: number; framerate: number }, ms: number): void { + const { nchannels, sampwidth, framerate } = params; + const nframes = Math.floor((framerate * ms) / 1000); + const silenceFrame = Buffer.alloc(sampwidth * nchannels, 0); + const frames = Buffer.alloc(silenceFrame.length * nframes, 0); + + const header = Buffer.alloc(44); + header.write('RIFF', 0); + header.writeUInt32LE(36 + frames.length, 4); + header.write('WAVE', 8); + header.write('fmt ', 12); + header.writeUInt32LE(16, 16); + header.writeUInt16LE(1, 20); + header.writeUInt16LE(nchannels, 22); + header.writeUInt32LE(framerate, 24); + header.writeUInt32LE(framerate * nchannels * sampwidth, 28); + header.writeUInt16LE(nchannels * sampwidth, 32); + header.writeUInt16LE(sampwidth * 8, 34); + header.write('data', 36); + header.writeUInt32LE(frames.length, 40); + + fs.writeFileSync(filePath, Buffer.concat([header, frames])); +} + +function wavParams(filePath: string): { nchannels: number; sampwidth: number; framerate: number } { + const buffer = fs.readFileSync(filePath); + const nchannels = buffer.readUInt16LE(22); + const sampwidth = buffer.readUInt16LE(34) / 8; + const framerate = buffer.readUInt32LE(24); + return { nchannels, sampwidth, framerate }; +} + +function joinWavsWave(outPath: string, wavPaths: string[], pauseMs: number): void { + if (wavPaths.length === 0) throw new Error('No wav files to join.'); + + const ref = wavPaths[0]; + const refParams = wavParams(ref); + const silencePath = path.join(os.tmpdir(), `_silence_${Date.now()}.wav`); + if (pauseMs > 0) ensureSilenceWav(silencePath, refParams, pauseMs); + + const chunks: Buffer[] = []; + + for (let i = 0; i < wavPaths.length; i++) { + const wavPath = wavPaths[i]; + const buffer = fs.readFileSync(wavPath); + const dataStart = buffer.indexOf('data') + 8; + const data = buffer.subarray(dataStart); + + const params = wavParams(wavPath); + if (params.nchannels !== refParams.nchannels || + params.sampwidth !== refParams.sampwidth || + params.framerate !== refParams.framerate) { + throw new Error(`WAV params mismatch: ${wavPath}`); + } + + chunks.push(data); + + if (pauseMs > 0 && i < wavPaths.length - 1) { + const silenceBuffer = fs.readFileSync(silencePath); + const silenceData = silenceBuffer.subarray(silenceBuffer.indexOf('data') + 8); + chunks.push(silenceData); + } + } + + const totalDataSize = chunks.reduce((sum, buf) => sum + buf.length, 0); + const header = Buffer.alloc(44); + header.write('RIFF', 0); + header.writeUInt32LE(36 + totalDataSize, 4); + header.write('WAVE', 8); + header.write('fmt ', 12); + header.writeUInt32LE(16, 16); + header.writeUInt16LE(1, 20); + header.writeUInt16LE(refParams.nchannels, 22); + header.writeUInt32LE(refParams.framerate, 24); + header.writeUInt32LE(refParams.framerate * refParams.nchannels * refParams.sampwidth, 28); + header.writeUInt16LE(refParams.nchannels * refParams.sampwidth, 32); + header.writeUInt16LE(refParams.sampwidth * 8, 34); + header.write('data', 36); + header.writeUInt32LE(totalDataSize, 40); + + const output = Buffer.concat([header, ...chunks]); + fs.writeFileSync(outPath, output); + + if (fs.existsSync(silencePath)) fs.unlinkSync(silencePath); +} + +// ----------------------------- +// Main +// ----------------------------- +async function main() { + const args = parseArgs(); + + const inputPath = args.input; + const outDir = args.out_dir; + const topic = args.topic; + + // 检查参数:必须提供 input 或 topic 之一 + if ((!inputPath && !topic) || !outDir) { + console.error('Usage: tsx generate.ts --input=<file> --out_dir=<dir>'); + console.error(' OR: tsx generate.ts --topic=<search-term> --out_dir=<dir>'); + console.error(''); + console.error('Examples:'); + console.error(' # From file'); + console.error(' npm run generate -- --input=article.txt --out_dir=out'); + console.error(' # From web search'); + console.error(' npm run generate -- --topic="最新AI新闻" --out_dir=out'); + process.exit(1); + } + + // Merge config + const cfg: GenConfig = { + ...DEFAULT_CONFIG, + mode: (args.mode || 'dual') as GenConfig['mode'], + durationManual: parseInt(args.duration || '0'), + hostName: args.host_name || DEFAULT_CONFIG.hostName, + guestName: args.guest_name || DEFAULT_CONFIG.guestName, + voiceHost: args.voice_host || DEFAULT_CONFIG.voiceHost, + voiceGuest: args.voice_guest || DEFAULT_CONFIG.voiceGuest, + speed: parseFloat(args.speed || String(DEFAULT_CONFIG.speed)), + pauseMs: parseInt(args.pause_ms || String(DEFAULT_CONFIG.pauseMs)), + }; + + // Create output directory + if (!fs.existsSync(outDir)) { + fs.mkdirSync(outDir, { recursive: true }); + } + + // 根据模式获取资料 + let material: string; + let inputSource: string; + + if (inputPath) { + // 模式1:从文件读取 + console.log(`[MODE] Reading from file: ${inputPath}`); + material = readText(inputPath); + inputSource = `file:${inputPath}`; + } else if (topic) { + // 模式2:联网搜索 + console.log(`[MODE] Searching web for topic: ${topic}`); + const zai = await ZAI.create(); + + const searchResults = await zai.functions.invoke('web_search', { + query: topic, + num: 10 + }); + + if (!Array.isArray(searchResults) || searchResults.length === 0) { + console.error(`未找到关于"${topic}"的搜索结果`); + process.exit(2); + } + + console.log(`[SEARCH] Found ${searchResults.length} results`); + + // 将搜索结果转换为文本资料 + material = searchResults + .map((r: any, i: number) => `【来源 ${i + 1}】${r.name}\n${r.snippet}\n链接:${r.url}`) + .join('\n\n'); + + inputSource = `web_search:${topic}`; + console.log(`[SEARCH] Compiled material (${material.length} chars)`); + } else { + console.error('[ERROR] Neither --input nor --topic provided'); + process.exit(1); + } + + const inputChars = material.length; + + // Calculate duration + let durationMin: number; + if (cfg.durationManual >= 3 && cfg.durationManual <= 20) { + durationMin = cfg.durationManual; + } else { + durationMin = chooseDurationMinutes(inputChars, DURATION_RANGE_LOW, DURATION_RANGE_HIGH); + } + + const [target, low, high] = charBudget(durationMin, cfg.charsPerMin, BUDGET_TOLERANCE); + + console.log(`[INFO] input_chars=${inputChars} duration=${durationMin}min budget=${low}-${high}`); + + let attemptHint = ''; + let lastScript: string | null = null; + + // Initialize ZAI SDK (reuse for TTS) + const zai = await ZAI.create(); + + // Generate script + for (let attempt = 1; attempt <= cfg.maxAttempts; attempt++) { + const [systemPrompt, userPrompt] = buildPrompts( + material, + cfg, + durationMin, + target, + low, + high, + attemptHint + ); + + try { + console.log(`[LLM] Attempt ${attempt}/${cfg.maxAttempts}...`); + const content = await callZAI(systemPrompt, userPrompt, cfg.temperature); + lastScript = content; + + const [ok, reasons] = validateScript(content, cfg, low, high); + + if (ok) { + break; + } + + attemptHint = makeRetryHint(reasons, cfg, low, high); + console.error(`[WARN] Validation failed:`, reasons.join(', ')); + } catch (error: any) { + console.error(`[ERROR] LLM call failed: ${error.message}`); + throw error; + } + } + + if (!lastScript) { + console.error('[ERROR] 未生成任何脚本输出。'); + process.exit(1); + } + + // Write script + const scriptPath = path.join(outDir, 'podcast_script.md'); + fs.writeFileSync(scriptPath, lastScript, 'utf-8'); + console.log(`[DONE] podcast_script.md -> ${scriptPath}`); + + // Parse segments + const segments = scriptToSegments(lastScript, cfg.hostName, cfg.guestName); + console.log(`[INFO] Parsed ${segments.length} segments`); + + // Generate TTS using SDK + const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'podcast_segments_')); + const produced: string[] = []; + + try { + for (let i = 0; i < segments.length; i++) { + const seg = segments[i]; + const text = seg.text.trim(); + if (!text) continue; + + let voice: string; + if (cfg.mode === 'dual') { + voice = seg.speaker === 'host' ? cfg.voiceHost : cfg.voiceGuest; + } else if (cfg.mode === 'single-male') { + voice = cfg.voiceHost; + } else { + voice = cfg.voiceGuest; + } + + const wavPath = path.join(tmpDir, `seg_${seg.idx.toString().padStart(4, '0')}.wav`); + + console.log(`[TTS] [${i + 1}/${segments.length}] idx=${seg.idx} speaker=${seg.speaker} voice=${voice}`); + + const buffer = await ttsRequest(zai, text, voice, cfg.speed); + fs.writeFileSync(wavPath, buffer); + produced.push(wavPath); + } + + // Join segments + const podcastPath = path.join(outDir, 'podcast.wav'); + console.log(`[JOIN] Joining ${produced.length} wav files -> ${podcastPath}`); + + joinWavsWave(podcastPath, produced, cfg.pauseMs); + console.log(`[DONE] podcast.wav -> ${podcastPath}`); + + } finally { + // Cleanup temp directory + try { + fs.rmSync(tmpDir, { recursive: true, force: true }); + } catch (error: any) { + console.error(`[WARN] Failed to cleanup temp dir: ${error.message}`); + } + } + + console.log('\n[FINAL OUTPUT]'); + console.log(` 📄 podcast_script.md -> ${scriptPath}`); + console.log(` 🎙️ podcast.wav -> ${path.join(outDir, 'podcast.wav')}`); +} + +main().catch(error => { + console.error('[FATAL ERROR]', error); + process.exit(1); +}); diff --git a/skills/podcast-generate/package.json b/skills/podcast-generate/package.json new file mode 100755 index 0000000..433c70b --- /dev/null +++ b/skills/podcast-generate/package.json @@ -0,0 +1,30 @@ +{ + "name": "podcast-generate-online", + "version": "1.0.0", + "description": "Generate podcast audio from text using z-ai LLM and TTS", + "type": "module", + "main": "dist/index.js", + "scripts": { + "generate": "tsx generate.ts", + "build": "tsc", + "prepublishOnly": "npm run build" + }, + "keywords": [ + "podcast", + "tts", + "llm", + "z-ai" + ], + "license": "MIT", + "dependencies": { + "z-ai-web-dev-sdk": "*" + }, + "devDependencies": { + "@types/node": "^20", + "tsx": "^4.7.0", + "typescript": "^5.3.0" + }, + "engines": { + "node": ">=18.0.0" + } +} diff --git a/skills/podcast-generate/readme.md b/skills/podcast-generate/readme.md new file mode 100755 index 0000000..a553c45 --- /dev/null +++ b/skills/podcast-generate/readme.md @@ -0,0 +1,177 @@ +# Podcast Generate Skill(TypeScript 线上版本) + +将一篇资料自动转化为对谈播客,时长根据内容长度自动调整(3-20 分钟,约240字/分钟): +- 自动提炼核心内容 +- 生成可编辑的播客脚本 +- 使用 z-ai TTS 合成音频 + +这是一个使用 **z-ai-web-dev-sdk** 的 TypeScript 版本,适用于线上环境。 + +--- + +## 快速开始 + +### 一键生成(脚本 + 音频) + +```bash +npm run generate -- --input=test_data/material.txt --out_dir=out +``` + +**最终输出:** +- `out/podcast_script.md` - 播客脚本(Markdown 格式) +- `out/podcast.wav` - 最终播客音频 + +--- + +## 目录结构 + +```text +podcast-generate/ +├── readme.md # 使用说明(本文件) +├── SKILL.md # Skill 能力与接口约定 +├── package.json # Node.js 依赖配置 +├── tsconfig.json # TypeScript 编译配置 +├── generate.ts # ⭐ 统一入口(唯一需要的文件) +└── test_data/ + └── material.txt # 示例输入资料 +``` + +--- + +## 环境要求 + +- **Node.js 18+** +- **z-ai-web-dev-sdk**(已安装在环境中) + +**不需要** z-ai CLI,本代码完全使用 SDK。 + +--- + +## 安装 + +```bash +npm install +``` + +--- + +## 使用方式 + +### 方式 1:从文件生成 + +```bash +npm run generate -- --input=material.txt --out_dir=out +``` + +### 方式 2:联网搜索生成 + +```bash +npm run generate -- --topic="最新AI新闻" --out_dir=out +npm run generate -- --topic="量子计算应用" --out_dir=out --duration=8 +``` + +### 参数说明 + +| 参数 | 说明 | 默认值 | +|------|------|--------| +| `--input` | 输入资料文件路径,支持 txt/md/docx/pdf 等文本格式(与 --topic 二选一) | - | +| `--topic` | 搜索主题关键词(与 --input 二选一) | - | +| `--out_dir` | 输出目录(必需) | - | +| `--mode` | 播客模式:dual / single-male / single-female | dual | +| `--duration` | 手动指定分钟数(3-20);0 表示自动 | 0 | +| `--host_name` | 主持人/主播名称 | 小谱 | +| `--guest_name` | 嘉宾名称 | 锤锤 | +| `--voice_host` | 主持音色 | xiaochen | +| `--voice_guest` | 嘉宾音色 | chuichui | +| `--speed` | 语速(0.5-2.0) | 1.0 | +| `--pause_ms` | 段间停顿毫秒数 | 200 | + +--- + +## 使用示例 + +### 双人对谈播客(默认) + +```bash +npm run generate -- --input=material.txt --out_dir=out +``` + +### 单人男声播客 + +```bash +npm run generate -- --input=material.txt --out_dir=out --mode=single-male +``` + +### 指定 5 分钟时长 + +```bash +npm run generate -- --input=material.txt --out_dir=out --duration=5 +``` + +### 自定义角色名称 + +```bash +npm run generate -- --input=material.txt --out_dir=out --host_name=张三 --guest_name=李四 +``` + +### 使用不同音色 + +```bash +npm run generate -- --input=material.txt --out_dir=out --voice_host=tongtong --voice_guest=douji +``` + +### 联网搜索生成播客 + +```bash +# 根据主题搜索并生成播客 +npm run generate -- --topic="最新AI技术突破" --out_dir=out + +# 指定搜索主题和时长 +npm run generate -- --topic="量子计算应用场景" --out_dir=out --duration=8 + +# 搜索并生成单人播客 +npm run generate -- --topic="气候变化影响" --out_dir=out --mode=single-male +``` + +--- + +## 可用音色 + +| 音色 | 特点 | +|------|------| +| xiaochen | 沉稳专业 | +| chuichui | 活泼可爱 | +| tongtong | 温暖亲切 | +| jam | 英音绅士 | +| kazi | 清晰标准 | +| douji | 自然流畅 | +| luodo | 富有感染力 | + +--- + +## 技术架构 + +### generate.ts(统一入口) +- **LLM**:使用 `z-ai-web-dev-sdk` (`chat.completions.create`) +- **TTS**:使用 `z-ai-web-dev-sdk` (`audio.tts.create`) +- **不需要** z-ai CLI +- 自动拼接音频片段 +- 只输出最终文件,中间文件自动清理 + +### LLM 调用 +- System prompt:播客脚本编剧角色 +- User prompt:包含资料 + 硬性约束 + 呼吸感要求 +- 输出校验:字数、结构、角色标签 +- 自动重试:最多 3 次 + +### TTS 调用 +- 使用 `zai.audio.tts.create()` +- 支持自定义音色、语速 +- 自动拼接多个 wav 片段 +- 临时文件自动清理 + +--- + +## License + +MIT diff --git a/skills/podcast-generate/test_data/segments.jsonl b/skills/podcast-generate/test_data/segments.jsonl new file mode 100755 index 0000000..e90756c --- /dev/null +++ b/skills/podcast-generate/test_data/segments.jsonl @@ -0,0 +1,3 @@ +{"idx": 1, "speaker": "host", "name": "主持人", "text": "大家好,欢迎来到今天的播客节目。"} +{"idx": 2, "speaker": "guest", "name": "嘉宾", "text": "很高兴能参加这次节目。"} +{"idx": 3, "speaker": "host", "name": "主持人", "text": "今天我们要讨论一个非常有意思的话题。"} diff --git a/skills/podcast-generate/tsconfig.json b/skills/podcast-generate/tsconfig.json new file mode 100755 index 0000000..b193067 --- /dev/null +++ b/skills/podcast-generate/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ES2022", + "lib": ["ES2022"], + "moduleResolution": "node", + "outDir": "./dist", + "rootDir": "./", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true + }, + "include": [ + "*.ts" + ], + "exclude": [ + "node_modules", + "dist" + ] +} diff --git a/skills/ppt/.claude/settings.local.json b/skills/ppt/.claude/settings.local.json new file mode 100755 index 0000000..f71f8a9 --- /dev/null +++ b/skills/ppt/.claude/settings.local.json @@ -0,0 +1,20 @@ +{ + "permissions": { + "allow": [ + "WebFetch(domain:www.npmjs.com)", + "WebSearch", + "Bash(node -e \"const pptx = require\\('pptxgenjs'\\); console.log\\(Object.keys\\(pptx.prototype || pptx\\).slice\\(0,5\\)\\); const p = new pptx\\(\\); console.log\\(p.presLayout\\); console.log\\(typeof p.ShapeType\\);\")", + "Bash(node:*)", + "Bash(python3:*)", + "Bash(ls /share/hc/utils/superz/test_beam6/ppt_normal_zh_66/download/ppt-workspace/*.html)", + "Bash(sort -t_ -k4 -n)", + "Bash(ls /share/hc/utils/superz/test_beam6/ppt_normal_zh_79/download/ppt-workspace/*.html)", + "Bash(ls /share/hc/utils/superz/test_beam6/ppt_normal_zh_78/download/ppt-workspace/*.html)", + "Bash(xargs -I{} head -3 {})", + "Bash(npm root:*)", + "Read(//root/.nvm/versions/node/v24.14.1/lib/node_modules/**)", + "Read(//usr/**)", + "Bash(NODE_PATH=/share/hc/utils/superz/p-p-p-x/ppt0403/node_modules node:*)" + ] + } +} diff --git a/skills/ppt/LICENSE.txt b/skills/ppt/LICENSE.txt new file mode 100755 index 0000000..e092e50 --- /dev/null +++ b/skills/ppt/LICENSE.txt @@ -0,0 +1,13 @@ +Copyright (c) 2026 Z.ai All rights reserved. + +Permission is granted for personal, educational, and non-commercial use only. + +Commercial use is strictly prohibited without prior written permission from the author. + +Unauthorized copying, modification, or distribution of the software for commercial purposes is prohibited. + +The author reserves the right to make the final determination of what constitutes "commercial use". + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM THE USE OF THE SOFTWARE. diff --git a/skills/ppt/SKILL.md b/skills/ppt/SKILL.md new file mode 100755 index 0000000..7bcac40 --- /dev/null +++ b/skills/ppt/SKILL.md @@ -0,0 +1,436 @@ +--- +name: ppt +metadata: + author: Z.AI + version: "1.0" +description: "Presentation creation, editing, and analysis for .pptx files: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes. Academic/paper-based presentations use the embedded Beamer module at end of this file (PDF output only)." +license: Proprietary. LICENSE.txt has complete terms +--- + +# PPT creation, editing, and analysis + +## Quick Setup + +```bash +bash "$SKILL_DIR/setup.sh" # Interactive environment check + install +``` + +--- + +## Routing: Academic / Paper-Based Presentations → Beamer + +> **STOP — check this before doing any work.** +> +> If the request matches **any** trigger below, **skip the PPTX workflow entirely**. +> Read **[`beamer.md`](beamer.md)** in this directory and follow its instructions. + +| Trigger | Typical phrasing | +|---------|-----------------| +| Reading / summarizing a paper to make slides | "read this PDF and make slides", "make slides from this paper" | +| Academic / scientific / research presentation | "conference talk", "research presentation", "academic presentation" | +| Thesis or dissertation defense | "thesis defense", "proposal defense", "defense slides" | +| Any scholarly audience presentation | "academic PPT", "paper presentation", "research talk" | +| STEM / science courseware | "STEM slides", "science lecture", "math/physics/chemistry courseware" | +| User mentions a "paper" or "thesis" in any language | "present this paper", "talk about this thesis", "summarize this article into slides" | +| Uploaded file is clearly an academic paper | "make slides from this", "help me present this" — where the uploaded PDF contains academic indicators (abstract, keywords, references, DOI, author affiliations, journal name) in the first 3 pages | + + +> **Beamer output format: PDF-style slides only.** +> +> **Routing decision rule:** The trigger table above applies to **all languages**. For non-English requests, match by semantic meaning — mentally translate the user's intent into English and check against the triggers. +> +> **Important:** In many languages (e.g., Chinese, Japanese, Korean), "PPT" is a generic colloquial word for "slides" or "presentation" — it does NOT indicate a preference for `.pptx` format. Only route to the PPTX workflow when the user **explicitly** requests `.pptx` format (e.g., "I need a .pptx file", "export as pptx") or the content is clearly non-academic (e.g., marketing, business, teaching children). + +--- + +## Overview + +A user may ask you to create, edit, or analyze the contents of a .pptx file. A .pptx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. You have different tools and workflows available for different tasks. + +## Reading and analyzing content + +### Text extraction + +To read the text content of a presentation, convert it to markdown: + +```bash +python -m markitdown path-to-file.pptx +``` + +### Raw XML access + +For comments, speaker notes, slide layouts, animations, design elements, or complex formatting, unpack the presentation and inspect its raw XML. + +#### Unpacking a file + +``` +python ooxml/scripts/unpack.py <office_file> <output_dir> +``` + +**Note**: `unpack.py` is at `skills/pptx/ooxml/scripts/unpack.py` relative to the project root. If not found, run `find . -name "unpack.py"` to locate it. + +#### Key file structures + +| Path | Contents | +|------|----------| +| `ppt/presentation.xml` | Main metadata and slide references | +| `ppt/slides/slide{N}.xml` | Per-slide content | +| `ppt/notesSlides/notesSlide{N}.xml` | Speaker notes | +| `ppt/comments/modernComment_*.xml` | Slide comments | +| `ppt/slideLayouts/` | Layout templates | +| `ppt/slideMasters/` | Master slide templates | +| `ppt/theme/` | Theme and styling | +| `ppt/media/` | Images and other media | + +#### Typography and color extraction + +**When emulating an existing design**, extract typography and colors before starting: + +1. **Theme file** — `ppt/theme/theme1.xml`: colors (`<a:clrScheme>`), fonts (`<a:fontScheme>`) +2. **Slide content** — `ppt/slides/slide1.xml`: actual font usage (`<a:rPr>`) and colors +3. **Global search** — grep for `<a:solidFill>`, `<a:srgbClr>`, and font references across all XML files + +--- + + +## Creating a new PowerPoint presentation **using a template** + +When the user upload a pptx file,and do not ask you to create a fully new pptx,you must create a presentation that follows an existing template's design, you'll need to duplicate and re-arrange template slides before then replacing placeholder content. + +### Workflow +1. **Extract template text AND create visual thumbnail grid**: + * Extract text: `python -m markitdown template.pptx > template-content.md` + * Read `template-content.md`: Read the entire file. **NEVER set any range limits.** + * Create thumbnail grids: `python scripts/thumbnail.py template.pptx` + * See [Creating Thumbnail Grids](#creating-thumbnail-grids) section for details + +2. **Analyze template and save inventory to a file**: + * **Visual Analysis**: Review thumbnail grid(s) to understand layouts and design patterns + * Create and save `template-inventory.md` containing: + ```markdown + # Template Inventory Analysis + **Total Slides: [count]** + **IMPORTANT: Slides are 0-indexed (first slide = 0, last slide = count-1)** + + ## [Category Name] + - Slide 0: [Layout code if available] - Description/purpose + - Slide 1: [Layout code] - Description/purpose + [... EVERY slide must be listed ...] + ``` + +3. **Create presentation outline based on template inventory**: + * Choose layouts that match your content structure + * **CRITICAL: Match layout structure to actual content**: + - Single-column layouts: Use for unified narrative or single topic + - Two-column layouts: Use ONLY when you have exactly 2 distinct items + - Three-column layouts: Use ONLY when you have exactly 3 distinct items + - Image + text layouts: Use ONLY when you have actual images + - Count your actual content pieces BEFORE selecting layout + * Save `outline.md` with content AND template mapping + +4. **Duplicate, reorder, and delete slides using `rearrange.py`**: + ```bash + python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52 + ``` + +5. **Extract ALL text using the `inventory.py` script**: + ```bash + python scripts/inventory.py working.pptx text-inventory.json + ``` + Read `text-inventory.json` entirely. **NEVER set range limits.** + +6. **Generate replacement text and save to JSON file**: + - Verify which shapes exist in inventory — only reference shapes that are present + - Add `"paragraphs"` field to shapes that need content + - **ALL text shapes from inventory will be cleared** unless you provide "paragraphs" + - Paragraphs with bullets are automatically left-aligned + - **Do NOT include bullet symbols** (bullet, -, *) in text — they're added automatically + - Save to `replacement-text.json` + + **CRITICAL — JSON generation rules (learned from practice):** + - **Always use `json.dump()` to write the file** — never write raw JSON strings in Python code. + Raw strings may embed unescaped `"` characters (e.g. `"三遥"`, `"线上+线下"`) that silently + break JSON parsing. `json.dump(data, f, ensure_ascii=False, indent=2)` handles all escaping + automatically. + - **Respect small box character limits** — check `width` and `font_size` from inventory before + writing text for numeric/label shapes. A box of `width ≤ 0.7"` at `font_size ≥ 16pt` can hold + roughly 3–4 characters max. Keep percentage values like `"99.7%"` to ≤ 4 chars, or shorten + (e.g. `"100%"` instead of `"99.96%"`). + - **Match replacement length to original** — for body text boxes, count characters in the + original inventory text. Replacements significantly longer than the original will overflow. + When in doubt, err shorter rather than longer. + - **Test incrementally** — validate with a 5-slide subset before writing the full deck. + `replace.py` blocks on overflow errors; fix them slide-by-slide rather than all at once. + +7. **Apply replacements**: + ```bash + python scripts/replace.py working.pptx replacement-text.json output.pptx + ``` + +## Creating a new PowerPoint presentation **without a template** + +When creating a new PowerPoint presentation from scratch, use the **Design System + Component** workflow. + +### Step 0 — Scene Classification (MANDATORY) + +Before ANY design work, classify the presentation into one of the five scenes below: + +| Scene | Keywords / Triggers | +|-------|-------------------| +| **Teaching / Training** | course, teaching, training, lecture, courseware, knowledge points, lesson plan | +| **Work Report / Review** | report, review, summary, retrospective, OKR, KPI, quarterly, annual | +| **Proposal / Pitch** | proposal, plan, pitch, investor, roadshow, business plan | +| **Thesis Defense / Academic** | thesis, defense, research, academic, topic, graduation project — **→ if source is a paper/PDF or audience is academic, read [`beamer.md`](beamer.md) instead** | +| **General** | None of the above, or user did not specify | + +### Step 1 — Select Theme (MANDATORY) + +Read [`themes.md`](themes.md) and select a theme based on scene and content tone. + +**Output**: State your chosen theme name, your chosen **accent variant** (A/B/C), and the full color palette (primary-80, primary-90, primary-5, accent, etc.) before writing any code. + +**Accent variant selection**: Each theme offers 3 accent colors (A = default, B, C). Choose the variant that best matches the content tone. You may also mix — e.g., use accent-A for most slides and accent-B for emphasis pages — but keep the primary palette constant. + +Theme selection tips: +- Work report → Ocean or Graphite +- Proposal / pitch → Ocean, Sandstone, or Twilight +- Teaching / courseware → Forest or Ocean +- Thesis defense → read [`beamer.md`](beamer.md) (PDF output); if `.pptx` is explicitly required, use Graphite or Forest +- Tech keynote / product launch → Deep Mineral or Mono +- Cultural / lifestyle / brand → Warm Retro +- ESG / sustainability → Deep Forest or Forest +- Consumer / lifestyle / female audience → Coral +- Healthcare / wellness / eco → Mint +- SaaS / AI / onboarding → Azure +- Annual events / launches / high-energy → Ember +- General → any theme that fits the content + +**After selecting a theme, note its Image Keywords and Mask Color** — you will need them in Step 5.5. + +### Step 2 — Read Design System (MANDATORY) + +Read [`design-system.md`](design-system.md). Understand the color system (mandatory) and creative principles (guidelines). The color scale is the only hard constraint — everything else (spacing, font sizes, layout) is flexible. + +### Step 3 — Read HTML-to-PPTX Guide (MANDATORY) + +Read [`html2pptx.md`](html2pptx.md) completely from start to finish. **NEVER set any range limits when reading this file.** + +### Step 4 — Plan Slide Sequence + +For each slide, decide: +1. Which **component** from [`components.md`](components.md) to use as a starting point (or design from scratch) +2. What **content** to fill in — **be generous with content; fill the slide** +3. How to **remix** the component — change spacing, font sizes, card styles, backgrounds, proportions to create variety + +**KEY PRINCIPLES**: +- Read [`components.md`](components.md) for available starting points +- Also read [`data-viz-components.md`](data-viz-components.md) for data visualization components +- **Adjacent slides MUST look distinctly different** — vary layout structure, background, card treatment +- **Fill the slide**: Avoid large empty areas. If content is sparse, use larger typography, more generous spacing, bigger visual elements, or add decorative elements to create visual richness +- **Every content slide should have at least one non-text visual element** (color block, stat number, chart, icon, accent bar, photo, shape) +- Alternate between high-density and low-density pages for rhythm +- Use data visualization components when content contains numbers, comparisons, percentages +- **Tables are a great way to enrich content** — use `content-table*` or `content-chart-*` from components.md whenever content involves structured data, feature comparisons, schedules, or multi-attribute lists + +**Anti-whitespace strategies** (use when a slide feels empty): +- Increase font sizes (e.g., body from 15pt to 17pt, headings from 22pt to 26pt) +- Add colored background blocks or sections +- Use a darker or tinted background instead of pure white +- Add decorative elements (accent bars, shapes, gradient bands) +- Expand card padding and spacing +- Use a photo background with mask overlay +- Switch from a text-heavy layout to a visual-heavy one + +**Note: Not all whitespace is bad.** KPI pages, quote pages, and big-number focus pages are *designed* to have generous whitespace — that's intentional emphasis. Only fix whitespace on content-heavy pages (bullet lists, card grids, text blocks) where it looks accidental. See design-system.md §2.2 for the full distinction. + +**Slide sequence pattern** (recommended): +``` +1. Cover → PREFER cover-photo-mask (with downloaded photo + theme mask) + → Fallback: cover-dark-hero (no photo needed) or cover-split +2. TOC → toc-card-grid (surface bg) / toc-big-number (visual variety) +3. Section divider (optional) → divider-photo-mask (different photo from cover) + → or divider-gradient / divider-bold-center +4. Content page A → light background, visually rich component +5. Content page B → ★ DARK BACKGROUND ★ (content-dark-bullets / dark-kpi / dark-split) +6. Section divider (optional) → different variant from #3 +7. Content page C → image-based (split-text-visual, photo-cards, etc.) +8. Content page D → data-focused (kpi-row, big-number-focus, etc.) +9. Closing → dark background echoing cover color + +Background rhythm target: ~40% white, ~25% surface/tinted, ~20% dark, ~15% photo +``` + +### Step 5 — Generate HTML from Components + +For each slide: +1. Start from a component template in `components.md`, or design from scratch +2. Replace all `${variable}` placeholders with actual theme color values +3. Replace placeholder text with actual content +4. Adjust element count (add/remove cards, list items) as needed +5. **Before writing each slide's HTML**: Check the **Card Style Cookbook** at the top of components.md. Pick a different card style from the previous slide. Also check if this slide should use a **Dark Background Content Template**. +6. **Be creative**: Freely modify spacing, font sizes, card styles, proportions, background treatments, and decorative elements across pages. The only hard constraints are the html2pptx engine limitations (no flex-wrap, no negative margins, no DIV background-image, no CSS gradients). Use the design-system.md Quick Reference for suggested ranges, but treat them as starting points, not limits. + - **Card styles**: Use the **Card Style Cookbook** in components.md to swap between shadow/outline/solid/accent-bar/dark card styles. No 2 adjacent slides should use the same card style. + - **Title bars**: All content slides must use the **same header style** — pick one title bar variant from components.md and apply it consistently across every content page. + - **Dark pages**: Use the **Dark Background Content Templates** in components.md for rhythm-breaking dark slides. Aim for at least 1 dark content page per 4 slides. +6. **Fill the slide**: If there's visible empty space, increase font sizes, add visual elements, expand padding, or use a colored/photo background. A well-filled slide looks professional; excessive whitespace looks unfinished. + + +### Step 5.8 — Visual Diversity Check (RECOMMENDED) + +Before converting to PPTX, do a quick scan of your slide sequence: +- Are adjacent slides visually distinct (different layout, background, card style)? +- Is there enough variety across the deck (multiple layout structures, card treatments, background approaches)? +- Is there at least one dramatic "rhythm breaker" page? +- Do real photographs appear on covers and at least one other slide? + +If the answer to any is "no", revise before proceeding. + +### Step 6 — Convert and Validate + +1. Create and run a JavaScript file using [`html2pptx.js`](scripts/html2pptx.js) to convert HTML slides to PowerPoint: + ```javascript + const pptxgen = require('pptxgenjs'); + const html2pptx = require('./html2pptx'); + + const pptx = new pptxgen(); + pptx.layout = 'LAYOUT_16x9'; + + // Optional: custom font configuration + const fontConfig = { cjk: 'Microsoft YaHei', latin: 'Corbel' }; + + // Process ALL slides with warnings collection + const allWarnings = []; + for (const htmlFile of slideFiles) { + const { slide, placeholders, warnings } = await html2pptx(htmlFile, pptx, { fontConfig }); + allWarnings.push(...warnings); + } + + // Add charts to placeholder areas if any + if (placeholders.length > 0) { + slide.addChart(pptx.charts.LINE, chartData, placeholders[0]); + } + + await pptx.writeFile('output.pptx'); + ``` + +2. **Check warnings**: Review `warnings` output. **Blocking issues** (overflow, font < 11pt) must be fixed. **Non-blocking warnings** (bounds, balance, density) are suggestions — use judgment on whether to fix them. + +3. **Visual validation**: Generate thumbnails and inspect for layout issues: + ```bash + python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 + ``` + - Read and carefully examine the thumbnail image for: + - **Text cutoff**: Text being cut off by header bars, shapes, or slide edges + - **Text overlap**: Text overlapping with other text or shapes + - **Positioning issues**: Content too close to slide boundaries or other elements + - **Contrast issues**: Insufficient contrast between text and backgrounds + - **Consistency check**: All body text same font and size? All page margins consistent? All content slides use the same header style? + - If issues found, adjust HTML and regenerate + - Repeat until all slides are visually correct + +### Step 6.5 — Final Quality Check (RECOMMENDED) + +Before finalizing, do a quick visual quality scan: + +- ✅ Real photographs used (cover + at least 1 other slide) +- ✅ Background variety (at least 3 different treatments) +- ✅ No 2 consecutive slides look the same +- ✅ Multiple layout structures used (aim for 5+) +- ✅ Card styles vary across pages +- ✅ Every slide has a clear visual focal point +- ✅ At least 1 dramatic full-bleed or dark page exists +- ✅ All referenced image files exist and are > 10KB + +If major issues are found, fix and regenerate. Minor imperfections are acceptable — don't over-optimize at the cost of creativity. + +### Design Hard Rules (ALWAYS ENFORCED) + +These rules are split into **engine constraints** (violating them causes broken output) and **design principles** (ensuring quality). + +**Engine Constraints (technical — cannot be violated):** +``` +[ENGINE] Slide canvas is 720×405pt — content exceeding this overflows +[ENGINE] All colors must come from the theme color scale — no arbitrary grays (#666 #999 #DDD) +[ENGINE] font-family must include a CJK font name to trigger correct mapping +[ENGINE] Do not use flex-wrap — multi-row layouts must use separate flex containers +[ENGINE] Do not use negative margins — they cause text stacking in PPT +[ENGINE] Multi-column equal-width cards must use fixed width + flex-shrink:0, not flex:1 +[ENGINE] Background images only work on <body>, not <div> — DIV background-image is not supported +[ENGINE] Images must be local file paths, not URLs +[ENGINE] Titles and short labels (<10 characters) should use white-space:nowrap +[ENGINE] Numeric sequences (e.g. 01/02/03, $12M) should use white-space:nowrap +``` + +**Design Principles (creative quality — strongly encouraged):** +``` +[DESIGN] Adjacent slides should use different layouts, backgrounds, and card styles +[DESIGN] Every content slide should have at least one visual focal point +[DESIGN] Cover and closing page should echo each other +[DESIGN] Prefer cutting content over shrinking fonts — only when a slide is already well-filled and overflow is imminent; never cut content preemptively +[DESIGN] Aim for 5+ layout structures, 3+ card styles, 3+ background treatments across the deck +[DESIGN] Insert a rhythm-breaking page every 3-4 slides +[DESIGN] Background images should have a mask overlay for text readability +[DESIGN] Content should be vertically balanced, not crammed at the top +[DESIGN] Accent colors must have HSL saturation ≤ 65% — high-saturation colors look garish on projection +[DESIGN] Large color blocks (>15% page area) should use S ≤ 50% — only small accents can be vivid +[DESIGN] All content slides must use the same header style — pick one title bar variant and apply it consistently across all content pages +``` + +--- + +## Editing an existing PowerPoint presentation + +When editing slides in an existing PowerPoint presentation, work with raw Office Open XML (OOXML) format. + +### Workflow +1. **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~500 lines) completely from start to finish. **NEVER set any range limits when reading this file.** +2. Unpack the presentation: `python ooxml/scripts/unpack.py <office_file> <output_dir>` +3. Edit the XML files (primarily `ppt/slides/slide{N}.xml` and related files) +4. **CRITICAL**: Validate immediately after each edit: `python ooxml/scripts/validate.py <dir> --original <file>` +5. Pack the final presentation: `python ooxml/scripts/pack.py <input_directory> <office_file>` + + + +## Creating Thumbnail Grids + +```bash +python scripts/thumbnail.py template.pptx [output_prefix] +``` + +**Features**: +- Creates: `thumbnails.jpg` (or `thumbnails-1.jpg`, `thumbnails-2.jpg` for large decks) +- Default: 5 columns, max 30 slides per grid (5x6) +- Custom prefix: `python scripts/thumbnail.py template.pptx my-grid` +- Adjust columns: `--cols 4` (range: 3-6) +- Slides are zero-indexed (Slide 0, Slide 1, etc.) + +## Converting Slides to Images + +1. **Convert PPTX to PDF**: + ```bash + soffice --headless --convert-to pdf template.pptx + ``` + +2. **Convert PDF pages to JPEG images**: + ```bash + pdftoppm -jpeg -r 150 template.pdf slide + ``` + +## Code Style Guidelines +**IMPORTANT**: When generating code for PPTX operations: +- Write concise code +- Avoid verbose variable names and redundant operations +- Avoid unnecessary print statements + +## Dependencies + +Required dependencies (should already be installed): + +- **markitdown**: `pip install "markitdown[pptx]"` (text extraction) +- **pptxgenjs**: `npm install -g pptxgenjs` (creating presentations) +- **playwright**: `npm install -g playwright` (HTML rendering) +- **react-icons**: `npm install -g react-icons react react-dom` (icons) +- **sharp**: `npm install -g sharp` (SVG rasterization and image processing) +- **LibreOffice**: `sudo apt-get install libreoffice` (PDF conversion) +- **Poppler**: `sudo apt-get install poppler-utils` (pdftoppm) +- **defusedxml**: `pip install defusedxml` (secure XML parsing) diff --git a/skills/ppt/beamer.md b/skills/ppt/beamer.md new file mode 100755 index 0000000..814eda8 --- /dev/null +++ b/skills/ppt/beamer.md @@ -0,0 +1,1461 @@ +# Beamer Module: LaTeX Academic Presentations + +> **Output formats: PDF and HTML only — never `.pptx`.** +> Activate for ALL academic, scientific, research, or scholarly presentation requests, +> including reading a paper to make slides (paper presentations, academic PPTs, thesis defenses, etc.). + +## Pipeline + +``` +User request → LaTeX Beamer (.tex) → Tectonic → PDF +``` + +Read `references/beamer.md` for theme catalogue, overlay syntax, and content templates. +For non-Beamer LaTeX documents (papers, theses), read `references/latex.md`. + +--- + +## Workflow + +### 1. Analyze Source Material + +If given a paper/PDF to summarize: + +```bash +python3 scripts/pdf.py extract.text paper.pdf +python3 scripts/pdf.py extract.table paper.pdf +python3 scripts/pdf.py extract.image paper.pdf -o ./images_out/ +``` + +For arXiv papers, prefer extracting clean figures from the HTML version: + +```python +# Download individual figure images (no surrounding text) +import urllib.request, re +html_url = "https://arxiv.org/html/<PAPER_ID>v1" +req = urllib.request.Request(html_url, headers={'User-Agent': 'Mozilla/5.0'}) +with urllib.request.urlopen(req) as resp: + html = resp.read().decode('utf-8') +# Find figure images: x1.png, x2.png, ... +for m in re.findall(r'src="(x\d+\.png)"', html): + urllib.request.urlretrieve(f"{html_url}/{m}", m) +``` + +Map figure images to figure numbers by parsing `<figure>` elements and their captions. +**Avoid cropping from rendered PDF pages** — the result often includes surrounding text. If unavoidable, crop precisely so zero non-figure content remains (see Section 6, Source Priority). + +### 2. Write the Beamer `.tex` + +#### Pre-write Checklist (MANDATORY — read before writing any content) + +Before writing any slide content, internalize these rules: +1. **Every slide must be self-contained.** Never write "see original paper", "refer to Figure X in the paper", "详见原文", or any similar reference that defers content to the source. If it's worth mentioning, show it. +2. **All figures/tables get sequential numbering** (Figure 1, 2, 3... / Table 1, 2, 3...) in order of appearance — never copy the paper's original numbers. +3. **Slide titles must state conclusions**, not describe content (see Section 5). +4. **Choose the correct navigation scheme** before writing the preamble (see Section 7). Paper-based slides must use `paper-navbar.tex`; general presentations must use `progress-navbar.tex`. + +Structure: + +``` +Title → Outline → Background → Key Ideas → Method → +Experiments/Results → Ablation → Comparison → Conclusion → Q&A +``` + +Slide count heuristics: + +| Instruction | Slides | +|---|---| +| Explicit count | Match exactly | +| No count | 1–2 per point; 12–20 total | +| "Brief" / "Short" | 8–12 | +| "Full" / "Detailed" | 20–30 | + +Content density: ≤ 6 bullets per slide, ≤ 6 words per bullet. + +**Section count:** Aim for **4–6 sections**. Each section generates an automatic divider page, so more than 6 sections means too many empty pages. If the content naturally has 7+ topics, merge related ones. **Divider pages should not exceed 20% of total slide count.** + +### 3. tcolorbox Block Layout Rules (Critical) + +**When to use native `block` vs `tcolorbox`:** + +Native beamer `block`/`alertblock`/`exampleblock` are fine for **simple, standalone** blocks where you don't need precise control. But switch to `tcolorbox` (`ablock`/`fblock`/etc.) when any of the following apply: + +| Scenario | Use | +|---|---| +| Simple standalone block, no special alignment needs | Native `block` is OK | +| Side-by-side blocks that must have **equal height** | `fblock`/`falertblock` (tcolorbox) — native blocks cannot guarantee equal heights | +| Need precise **background/frame color** beyond theme defaults | tcolorbox — native blocks inherit theme colors and are hard to override per-instance | +| Need consistent **padding, border-radius, shadow** control | tcolorbox — `blocksty` gives uniform styling | +| Vertically **stacked blocks** that need visual consistency | `ablock`/`aalertblock` (tcolorbox) — auto-height with uniform styling | + +**Rule of thumb:** If blocks appear side-by-side, need custom colors, or must look visually consistent across slides, use tcolorbox. For a quick single block on a simple slide, native `block` is acceptable. + +**Choose block type by layout relationship:** + +| Layout | Block Type | Rule | +|---|---|---| +| **Side-by-side** (left–right parallel) | `fblock` / `falertblock` (fixed height) | Both blocks **must** use the **same height** parameter | +| **Stacked** (top–bottom vertical) | `ablock` / `aalertblock` (auto height) | Let content determine height naturally | + +**Side-by-side** = two blocks that are conceptually parallel (e.g., "Problem vs Hypothesis", "Root Traits vs Shoot Traits", "Innovation vs Conclusion"). +**Stacked** = two blocks in one column, one above the other (e.g., image-text pages with "Key Findings" above "Genotype Differences" in the right column). + +Define in preamble: + +```latex +\usepackage[most]{tcolorbox} +\tcbset{ + blocksty/.style={ + boxrule=0.4pt, arc=1.5pt, + top=2pt, bottom=2pt, left=4pt, right=4pt, + fonttitle=\bfseries\small, before upper={\small}, valign=top, + } +} +% ── Custom colors (MUST define all three in preamble) ────────────── +\definecolor{myblue}{HTML}{2B5EA7} +\definecolor{myred}{HTML}{C0392B} +\definecolor{mygreen}{HTML}{27AE60} +% ── Fixed-height (side-by-side equal-height layouts) ─────────────── +\newtcolorbox{fblock}[2][]{blocksty, colback=myblue!8, colframe=myblue!85, + coltitle=white, title={#2}, height=#1} +\newtcolorbox{falertblock}[2][]{blocksty, colback=myred!8, colframe=myred!80, + coltitle=white, title={#2}, height=#1} +\newtcolorbox{fexampleblock}[2][]{blocksty, colback=mygreen!8, colframe=mygreen!80, + coltitle=white, title={#2}, height=#1} +% Auto-height (stacked / standalone blocks) +\newtcolorbox{ablock}[1]{blocksty, colback=myblue!8, colframe=myblue!85, + coltitle=white, title={#1}} +\newtcolorbox{aalertblock}[1]{blocksty, colback=myred!8, colframe=myred!80, + coltitle=white, title={#1}} +\newtcolorbox{aexampleblock}[1]{blocksty, colback=mygreen!8, colframe=mygreen!80, + coltitle=white, title={#1}} +``` + +**Side-by-side example** — both columns get **identical height**: + +```latex +\begin{columns}[T] + \column{0.48\textwidth} + \begin{fblock}[5.0cm]{Left Title} + Content... + \end{fblock} + \column{0.48\textwidth} + \begin{falertblock}[5.0cm]{Right Title} + Content... + \end{falertblock} +\end{columns} +``` + +**Stacked example** — auto height, no fixed parameter: + +```latex +\column{0.46\textwidth} +\begin{ablock}{Key Findings} + \begin{itemize} ... \end{itemize} +\end{ablock} +\begin{aalertblock}{Genotype Differences} + Content... +\end{aalertblock} +``` + +Height guidelines for fblock: 5.0cm for full-height side-by-side columns. +**Always test**: if content overflows, increase height. If frame overflows (`Overfull \vbox`), decrease height, reduce content, or split into two slides. **Never use `[allowframebreaks]`** — it produces unpredictable page breaks in Beamer. + +#### Block Mixing Rules (MANDATORY) + +1. **No mixing tcolorbox and native blocks on the same slide.** Within a single frame, use EITHER tcolorbox blocks (`fblock`/`ablock`/`falertblock`/`aalertblock`/etc.) OR native Beamer blocks (`block`/`alertblock`/`exampleblock`), but **never both**. Mixing produces inconsistent styling (different padding, border radius, shadows). + +2. **Formal environments are exempt.** LaTeX theorem-like environments (`theorem`, `definition`, `lemma`, `proof`, `corollary`, etc.) are semantically distinct from layout blocks and MAY coexist with tcolorbox blocks on the same slide. Use them when the content is genuinely a theorem/definition/etc. + +3. **General-purpose blocks (e.g., "Key Advantages", "Core Idea", "Key Takeaway") must use tcolorbox**, not native blocks. Reserve native `block`/`alertblock`/`exampleblock` only for slides that have no tcolorbox blocks at all. + +#### Stacked Blocks: Equal Total Height Across Columns (MANDATORY) + +When a slide has two columns with stacked blocks, the **total height** of each column must be equal. Total height = sum of all block heights + inter-block spacing in that column. + +This does NOT mean every individual block must be the same height — blocks within a column can have different heights. But the left column's total occupied height must match the right column's total occupied height, so the slide looks visually balanced. + +**How to achieve this:** +- Use `fblock` with explicit height parameters for all blocks +- Calculate: left column total = `h1 + gap + h2` ; right column total = `h3 + gap + h4` +- Ensure both totals are equal (e.g., both sum to 5.6cm) +- Adjust individual block heights to fit their content while maintaining the total + +```latex +% Example: 2 blocks per column, equal total height (5.6cm each) +\begin{columns}[T] + \column{0.48\textwidth} + \begin{fblock}[3.2cm]{Block A — more content} + Longer content... + \end{fblock} + \vspace{0.2cm} + \begin{falertblock}[2.2cm]{Block B — less content} + Shorter content... + \end{falertblock} + % Total: 3.2 + 0.2 + 2.2 = 5.6cm + + \column{0.48\textwidth} + \begin{fblock}[2.6cm]{Block C} + Content... + \end{fblock} + \vspace{0.2cm} + \begin{falertblock}[2.8cm]{Block D} + Content... + \end{falertblock} + % Total: 2.6 + 0.2 + 2.8 = 5.6cm +\end{columns} +``` + +### 3.5 Content Overflow Detection and Repair (MANDATORY) + +After every compilation, check for content overflow. This is the most common cause of ugly slides. + +#### Detection + +1. **Compiler warnings** — scan output for `Overfull \vbox` and `Overfull \hbox` warnings. These mean content exceeds the frame boundary. +2. **Visual inspection** — open the PDF and check every slide for: + - Text being cut off at the bottom or right edge + - Block content truncated (last bullet missing or partially visible) + - Elements overlapping the footer bar + - Unbalanced columns (one column visually much heavier than the other) + - **Side-by-side block near-overflow** — content touching or nearly touching the block's bottom edge (even if not technically clipped, it looks cramped and is one line away from overflow) +3. **Element occlusion / overlap check** — verify that no element is partially or fully hidden behind another element. This is a **silent failure** — the compiler will NOT produce any warning when elements overlap. Common scenarios: + - Right-column blocks covering part of a left-column image (especially wide composite figures with multiple sub-panels) + - A block or text extending beyond its column boundary and overlapping the adjacent column + - Footer or decorative elements covering bottom-edge content + + **How to detect:** Visually scan every slide in the compiled PDF. For image+block layouts, confirm that the entire image (all sub-panels, axis labels, legends) is fully visible and not occluded by any block, text, or other element. + + **Repair strategy for occlusion:** + + | Priority | Fix | When to use | + |---|---|---| + | 1 | **Give the image its own full-width slide** | Composite figures (3+ sub-panels) that need full width to be legible | + | 2 | **Select fewer sub-panels** | Show only the 1-2 most important panels on this slide, move rest to appendix | + | 3 | **Adjust column width ratio** | Give the image column more space (e.g., 0.58 left / 0.38 right) | + | 4 | **Reduce image width + increase right margin** | Shrink image so it fits entirely within its column boundary | + + **Prevention:** Before choosing a layout, estimate whether the image content fits within the allocated column width. Wide composite figures (4+ panels side-by-side) almost never fit in a half-width column — plan a full-width layout from the start. + +#### Repair Strategy + +When overflow is detected, apply fixes in this priority order: + +| Priority | Fix | When to use | +|---|---|---| +| 1 | **Reduce content** | Remove low-value bullets, shorten text, summarize | +| 2 | **Shrink font locally** | Use `\small` or `\footnotesize` for the overflowing slide only | +| 3 | **Adjust block heights** | Reduce `fblock` height parameters, rebalance column totals | +| 4 | **Rebalance columns** | Move content between left/right columns; adjust width ratio | +| 5 | **Split into two slides** | When content genuinely cannot fit — split by sub-topic | + +**NEVER ignore overflow.** Every slide must display all its content completely within the frame boundary. If a fix introduces new overflow elsewhere, iterate until all slides are clean. + +#### Verification Loop + +``` +Compile → Check warnings → Visual inspect PDF → Fix issues → Re-compile → Repeat until clean +``` + +This loop is mandatory. Do not deliver a PDF that has not passed visual inspection. + +### 4. Figure and Table Numbering (CRITICAL) + +In presentations, use **sequential numbering** (Figure 1, 2, 3...) independent of the source paper. **NEVER copy the original paper's figure/table numbers** — always renumber them consecutively (1, 2, 3...) in the order they appear in the slides. This is a presentation, not a paper reproduction. Add captions below figures and above tables. + +#### No "See Original" References (ABSOLUTELY FORBIDDEN) + +**Slides must be self-contained.** Never use placeholder text like "see original paper Figure X", "refer to the paper for details", "详见原文", or any similar reference that defers content to the source document. If a figure or result is worth mentioning on a slide, it must be **actually shown** — either as an extracted image, a simplified TikZ redraw, or a text/bullet summary of the key information. A slide that says "see original" is an incomplete slide. + +#### All Images and Diagrams: Numbering + Caption + Centering (MANDATORY) + +**Every visual element** on a slide — whether it is an `\includegraphics` image, a TikZ diagram, or a table — **MUST** have: + +1. **Sequential numbering** — Figure 1, Figure 2, ... / Table 1, Table 2, ... in order of appearance +2. **Descriptive caption** — below figures/TikZ, above tables +3. **Centered display** — wrapped in `\begin{center}...\end{center}` + +**No exceptions.** A figure or TikZ diagram without a number and caption is incomplete. + +**For `\includegraphics` images:** + +```latex +\begin{center} + \includegraphics[width=\textwidth,height=0.45\textheight,keepaspectratio]{fig.jpg} + \par\vspace{0.15em} + {\scriptsize \textbf{Figure 1.} Description of the figure.} +\end{center} +``` + +**For TikZ diagrams:** + +```latex +\begin{center} + \begin{tikzpicture}[...] + % ... diagram code ... + \end{tikzpicture} + \par\vspace{0.15em} + {\scriptsize \textbf{Figure 2.} Simplified architecture overview.} +\end{center} +``` + +**For tables:** + +```latex +\begin{center} + {\small \textbf{Table 1.} Description of the table.} +\end{center} +\vspace{0.3em} +\begin{tabular}{...} +``` + +### 5. Slide Titles + +Frame titles should convey the **conclusion or key message** of the slide, not describe the figure or repeat the figure caption. + +| Bad (descriptive) | Good (conclusion-driven) | +|---|---| +| "RCS in Cotton Root Cross-sections" | "First Confirmation of RCS in Cotton" | +| "Effect of GhSAG12 Silencing on Drought Tolerance" | "Silencing RCS-related Gene Significantly Reduces Drought Tolerance" | +| "Relationship Between RCS and Endogenous Hormones" | "Endogenous Hormones Change Significantly with RCS Progression" | +| "Five Endogenous Hormones During RCS" | "GA, ZR, IAA, BR, ABA All Decline with RCS Progression" | +| "Research Background" | "Drought is the Primary Yield Constraint for Cotton" | + +**Self-check (MANDATORY):** After writing all slides, review every `\frametitle{}` and ask: *"Does this title tell the audience what to take away, or does it just describe what's on the slide?"* If descriptive, rewrite it as a conclusion. Background/outline/Q&A slides are exempt. + +### 6. Image Handling Guidelines + +#### Sizing to Prevent Overflow + +Always use `height` + `keepaspectratio` to constrain images within the frame. Recommended max heights: + +| Layout | Max image height | +|---|---| +| Full-page image (centered) | `0.55\textheight` | +| Image in left column (with text blocks on right) | `0.45\textheight` | + +Always leave room for the figure caption below and the footer bar. **Never rely on `width` alone** — tall images will overflow the frame. + +#### Source Priority + +| Priority | Source | When to use | +|---|---|---| +| 1 (Best) | Original images from arXiv HTML version | Preferred for arXiv papers — download vector/high-res bitmaps directly | +| 2 | Supplementary materials from authors | High-quality original figures | +| 3 | `pdf.py extract.image` extraction | Non-arXiv papers — extract embedded images from PDF | +| 4 | TikZ redraw | Only for simple geometric diagrams (flowcharts, arrow diagrams) when no original exists | +| 5 (Last resort) | PDF page screenshot + precise crop | Acceptable ONLY if the crop contains **zero** surrounding text/captions/margins — any visible non-figure content is forbidden | + +#### Precise Cropping from PDF + +When extracting images from PDFs, you **must crop precisely to the figure boundary only**. Never include surrounding text, captions, or page margins in the extracted image — this looks unprofessional and is the most common image quality mistake. + +```bash +# Correct: extract embedded image objects (no surrounding text) +python3 scripts/pdf.py extract.image paper.pdf -o ./images_out/ + +# Wrong: screenshot full page then crop — almost always includes extra content +# ❌ Do not do this +``` + +If an image cannot be cleanly extracted (e.g., it spans multiple pages or is overlaid with text), you may use a PDF page screenshot with `\includegraphics` `trim` and `clip` to crop precisely — but the result **must not include any surrounding text, captions, or page margins**: + +```latex +% trim = {left bottom right top} — crop until ONLY the figure remains +\includegraphics[trim=20pt 40pt 20pt 30pt, clip, + width=0.85\textwidth, keepaspectratio]{page_screenshot.png} +``` + +**Post-crop verification (MANDATORY):** After cropping, visually inspect the result image. If it contains any surrounding text, captions, page margins, or is missing part of the figure, **adjust the trim values and re-crop** until the image is both complete and clean. Repeat this verify→adjust loop until the crop passes inspection. Prefer extracting the actual image over trimming screenshots whenever possible. + +#### Image File Organization + +```bash +project/ +├── main.tex +└── figures/ # All images in a dedicated directory + ├── fig1.png + ├── fig2.jpg + └── fig3.pdf # Vector format preferred when available +``` + +Use `\graphicspath{{figures/}}` in the preamble so `\includegraphics` only needs the filename. + +#### Vector vs Raster + +| Format | When to use | +|---|---| +| `.pdf` / `.eps` (vector) | Line art, flowcharts, plots — preferred, scales without loss | +| `.png` (raster) | Photos, screenshots, experimental results — ensure resolution ≥ 150dpi | +| `.jpg` (raster) | Photographic images — smaller file size | +| ❌ `.svg` | Not directly supported by Beamer — convert to PDF first | + +Prefer vector formats (PDF/EPS). For experimental photos and other raster images, ensure sufficient resolution. + +#### Subfigures + +For papers with composite figures (a/b/c/d panels), either extract individual panels separately, or show the full composite figure with a clear reference: + +```latex +% Option 1: Show full composite figure +\begin{center} + \includegraphics[width=0.75\textwidth, keepaspectratio]{fig1_composite.png} + \par\vspace{0.15em} + {\scriptsize \textbf{Figure 1.} (a) Architecture overview (b) Attention heatmap} +\end{center} + +% Option 2: Use minipage for side-by-side subfigures +\begin{center} + \begin{minipage}{0.45\textwidth} + \centering + \includegraphics[width=\textwidth, keepaspectratio]{fig1a.png} + \par\vspace{0.1em} + {\scriptsize (a) Training curve} + \end{minipage} + \hfill + \begin{minipage}{0.45\textwidth} + \centering + \includegraphics[width=\textwidth, keepaspectratio]{fig1b.png} + \par\vspace{0.1em} + {\scriptsize (b) Test accuracy} + \end{minipage} +\end{center} +``` + +#### Image-Text Layout Templates + +**Left image + right text (most common):** + +Use `[c]` (vertical center) for the columns environment when one side is an image — the image visually centers against the opposite text/block column, which looks more balanced than `[T]`. (See "Columns Layout Best Practices" below for the full alignment decision table.) + +```latex +\begin{columns}[c] + \column{0.50\textwidth} + \begin{center} + \includegraphics[height=0.45\textheight, keepaspectratio]{fig1.png} + \par\vspace{0.15em} + {\scriptsize \textbf{Figure 1.} Description} + \end{center} + \column{0.46\textwidth} + \begin{ablock}{Key Findings} + \begin{itemize} + \item Finding one + \item Finding two + \end{itemize} + \end{ablock} +\end{columns} +``` + +Note: Use `[T]` for **text-text** or **block-block** side-by-side layouts (see "Columns Layout Best Practices"). Use `[c]` for **image-text** layouts. + +#### Image Column Vertical Centering (MANDATORY) + +When one column contains an image (with optional caption) and the other contains text blocks, the image column's content often appears **top-heavy** — the image sits at the top of the column with empty space below, while the right column's blocks are vertically distributed. This creates a visual imbalance. + +**The fix:** Use `[c]` on `\begin{columns}` so both columns are vertically centered against each other. If `[c]` alone is not enough (e.g., the image+caption combo is much shorter than the block column), add vertical spacing above the image to nudge it toward the visual center: + +```latex +% ✅ Correct: [c] alignment centers both columns +\begin{columns}[c] + \column{0.50\textwidth} + \begin{center} + \includegraphics[height=0.45\textheight, keepaspectratio]{fig.png} + \par\vspace{0.15em} + {\scriptsize \textbf{Figure 1.} Description} + \end{center} + \column{0.46\textwidth} + \begin{ablock}{Block A} + Content... + \end{ablock} + \begin{aalertblock}{Block B} + Content... + \end{aalertblock} +\end{columns} +``` + +**When `[c]` is still not enough** — if the image column is significantly shorter than the block column, the image will be centered but still look "high" relative to the blocks. In this case, use `[T]` with explicit `\vspace` to manually push the image down: + +```latex +% Manual adjustment when image column is much shorter +\begin{columns}[T] + \column{0.50\textwidth} + \vspace{0.8cm} % Push image down to align visual center with right column + \begin{center} + \includegraphics[height=0.40\textheight, keepaspectratio]{fig.png} + \par\vspace{0.15em} + {\scriptsize \textbf{Figure 1.} Description} + \end{center} + \column{0.46\textwidth} + \begin{ablock}{Block A} ... \end{ablock} + \begin{aalertblock}{Block B} ... \end{aalertblock} +\end{columns} +``` + +**Visual check:** After compilation, verify that the visual center of the image column (midpoint of image+caption) roughly aligns with the visual center of the block column (midpoint of all blocks+gaps). Adjust `\vspace` if needed. + +#### Table-Block Width Alignment + +When a table and block(s) are vertically stacked in the same column and serve as parallel semantic units (e.g., "data table" above "conclusion block"), they should have **equal width**. The key is to ensure both elements share the same width — there are multiple ways to achieve this: + +**Method 1: Wrap table in an ablock** (when a title makes sense for the table): +```latex +\column{0.48\textwidth} +\begin{ablock}{Experimental Data} + {\footnotesize + \begin{tabularx}{\linewidth}{lCX} + \toprule + ... \\ + \bottomrule + \end{tabularx} + } +\end{ablock} +\begin{ablock}{Conclusion} + Analysis text... +\end{ablock} +``` + +**Method 2: Use tabularx with \linewidth without block** (when table doesn't need a title): +```latex +\column{0.48\textwidth} +{\footnotesize +\begin{tabularx}{\linewidth}{lCX} + \toprule + ... \\ + \bottomrule +\end{tabularx} +} +\vspace{0.3em} +\begin{ablock}{Conclusion} + Analysis text... +\end{ablock} +``` + +**Method 3: Use \resizebox{\linewidth}{!}{...}** (for fixed-width tables): +```latex +\column{0.48\textwidth} +\resizebox{\linewidth}{!}{% +\begin{tabular}{lcc} + \toprule + ... \\ + \bottomrule +\end{tabular} +} +\vspace{0.3em} +\begin{ablock}{Conclusion} + Analysis text... +\end{ablock} +``` + +Choose the method based on context: Method 1 when the table benefits from a title, Method 2 for clean untitled tables, Method 3 when the table already has a fixed column layout. + +When NOT to equal-width align: +- Full-page centered standalone tables — use `\centering` with natural width +- Narrow tables (2-3 columns) — forcing full width looks sparse and hurts readability +- Tables with only a footnote-style caption below — different semantic levels, different widths is fine + +**Top image + bottom text:** +```latex +\begin{center} + \includegraphics[height=0.40\textheight, keepaspectratio]{fig1.png} +\end{center} +\vspace{-0.3em} +\begin{ablock}{Analysis} + Interpretation of the results... +\end{ablock} +``` + +**When to redraw vs when to use original:** + +| Scenario | Action | +|---|---| +| Paper has clear, high-quality original figures | Use the original directly | +| Original figure is low-resolution or blurry | Try arXiv HTML version first, otherwise redraw a simplified version | +| Need to highlight a specific region of a figure | Use original + TikZ overlay annotations (arrows, boxes) | +| Concept/schematic diagram with no original available | Draw a simplified version in TikZ | +| Complex biological/chemical structure diagrams | Always use the original — do not attempt to redraw | + +**Full TikZ rules → see Section 8.** + +### 7. Navigation and Footer + +Navigation symbol removal is handled automatically by the chosen footer scheme. Do **not** manually add `\setbeamertemplate{navigation symbols}{}` when using `progress-navbar.tex` or `paper-navbar.tex` — they include it internally. Only add it manually when using the Simple Footline. + +**Footer scheme selection:** + +| Scenario | Scheme | +|---|---| +| User provides a paper/PDF to make slides | **Paper Presentation Navigation** (default for paper-based) | +| General academic presentation / courseware (no specific paper) | **Progress Navigation Bar** | +| User requests minimal footer | **Simple Footline** | + +**This is not optional.** When the scenario matches a row above, the corresponding scheme **must** be used. Do not fall back to the default Madrid footline or omit the navigation bar. + +#### Paper Presentation Navigation (Default for paper-based slides — Recommended) + +When the user provides a paper/PDF and asks for slides, use the paper navigation layout. Add to the preamble (after `\usetheme` and `\definecolor{myblue}`): + +```latex +\useoutertheme{miniframes} +\input{paper-navbar.tex} +``` + +Copy `references/paper-navbar.tex` into your project directory before compiling. This file provides: + +**Top navigation bar:** +- Beamer built-in `miniframes` — section names + small dots (one dot per slide) +- Current section auto-highlighted +- Subsection empty row removed (clean single-row layout) +- Background: `myblue!15` — adapts to any Preset Color Palette + +**Bottom footer — four columns:** + +``` +Author (Affiliation) | Paper Title | Journal, Year | Page/Total + 25% 42% 22% 11% +``` + +- Author, journal, page columns: `myblue!15` (light tint of theme color) +- Paper title column: `myblue!30` (mid tint), white text — visually distinct +- All colors follow `myblue`, so they automatically adapt when switching Preset Color Palettes (e.g., Teal Academic → light teal, Slate Purple → light purple, Warm Earth → light brown) +- Built-in Beamer hyperlinks preserved (author/title link to first/last page) + +**Paper metadata setup** — use Beamer's short-form mechanism: + +```latex +\title[Short Paper Title]{Full Paper Title} +\author[Author (Affiliation)]{Full Author List} +\date[Journal Name, Year]{} % No journal → \date[]{} +``` + +**Note:** `paper-navbar.tex` includes `\setbeamertemplate{navigation symbols}{}` and both `headline`/`footline` templates — do not set them separately. + +For author names that are too long for the title page or footer, use `\scriptsize` font size and abbreviated format (e.g., "Guo C., Zhang K., ...") with the short form in square brackets for the footer: `\author[Guo C. et al.]{...}`. + +#### Progress Navigation Bar (Alternative — for non-paper academic presentations) + +For general academic presentations, courseware, or lectures without a specific source paper, use the progress navigation bar. Add to the preamble (after `\usetheme`): + +```latex +\input{progress-navbar.tex} +``` + +Copy `references/progress-navbar.tex` into your project directory before compiling. This file provides: + +- **Dynamic equal-width boxes** — each box width = (paperwidth − 50pt) ÷ total frames; automatically fills the footer regardless of slide count +- **Three-level symbols** — `≡` home (title page), `1 2 3...` section numbers, `◆` subsection, `-` regular slides +- **Progress coloring** — visited pages get `teal!60` background fill; unvisited pages are hollow +- **Clickable hyperlinks** — every box links to its corresponding frame +- **Auto section/subsection title pages** — `\AtBeginSection` and `\AtBeginSubsection` are included +- **Requires `--runs 2`** — first pass writes total frame count, second pass calculates correct widths + +**Color customization:** To match your theme, find-and-replace `teal!60` → `myblue!60` (or any color) in the `.tex` file. Also change `\color{teal}\hrule` for the separator line. + +**Note:** This navbar replaces `\setbeamertemplate{navigation symbols}{}` and `\setbeamertemplate{footline}` — do not set them separately when using it. + +#### Simple Footline (Minimal alternative) + +If you prefer a minimal footer without any navigation bar: + +```latex +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{footline}{% + \hfill\insertframenumber/\inserttotalframenumber\hspace{1em}\vspace{0.5em} +} +``` + +The default footline should include at least frame numbers. + +### 8. TikZ Usage Guidelines + +**TikZ is the last resort, not the first choice.** Always prefer original figures from the paper (extract via `pdf.py extract.image` or arXiv HTML). Only draw TikZ when no original figure exists, and only for **simple** diagrams: +- Flowcharts, pipelines, comparison arrows, simple block diagrams +- Geometric and structured layouts +- You can verify it compiles correctly + +**Avoid complex TikZ** — biological structures, network topologies with many nodes, regulatory pathways, full model architectures. If the original figure is not available and the diagram is too complex to simplify, describe it in text/bullet points instead. + +**Simplify for slides (CRITICAL):** A slide is not a textbook. TikZ diagrams on slides must be **simplified abstractions**, not full architecture reproductions. If a diagram has too many nodes, small text, or dense connections, the audience cannot read it during a presentation. + +| Scenario | Wrong approach | Right approach | +|---|---|---| +| Transformer architecture | Draw every Q/K/V split, softmax, residual connection, layer norm | Simplified block diagram: Input → Encoder (×N) → Decoder (×N) → Output, with key components labeled | +| Multi-head attention | Draw all matrix operations and individual head computations | Abstract flow: Input → Linear projections → Parallel heads → Concat → Output | +| Complex neural network | Reproduce every layer and skip connection | High-level block diagram with labeled stages | + +**Rules:** +1. **Original figure available → use it. No TikZ.** +2. **No original figure + simple diagram → draw with TikZ.** Maximum ~8-10 nodes per slide. +3. **No original figure + complex diagram → do NOT draw with TikZ.** Use text/bullet description instead, or split into multiple simplified diagrams. +4. **All text in TikZ must be readable at presentation distance** — minimum `\small` font size, preferably `\normalsize`. + +### 9. Compile + +```bash +python3 scripts/pdf.py convert.latex main.tex +python3 scripts/pdf.py convert.latex main.tex --runs 2 # for ToC / refs +``` + +**Always compile and confirm clean output.** Never deliver only a `.tex` file. + +#### Post-compilation Verification Checklist (MANDATORY) + +After compilation, verify the following before delivery: + +1. **No overflow warnings** — check for `Overfull \vbox` / `Overfull \hbox` (see Section 3.5) +2. **Figure/Table numbering is sequential** — scan the PDF and confirm all figures are numbered 1, 2, 3, ... and all tables are numbered 1, 2, 3, ... with no gaps, no duplicates, and no out-of-order numbers. If any numbering is wrong, fix in the `.tex` and recompile. +3. **No "see original" references** — search the `.tex` for any placeholder text that defers to the source document. If found, replace with actual content. +4. **Slide titles are conclusion-driven** — read every `\frametitle{}` and verify it states a finding/conclusion, not a description. Fix any descriptive titles. +5. **Visual inspection** — open the PDF and check every slide for layout issues (see Section 3.5) + +### 10. WPS / PDF Viewer Compatibility + +Beamer generates navigation hyperlinks that interfere with WPS and some PDF viewers. Always include in the preamble: + +```latex +\hypersetup{hidelinks} +``` + +Note: `\setbeamertemplate{navigation symbols}{}` is already handled by the chosen footer scheme (see Section 7) — do not add it separately here. + +### 11. Deliver + +Send compiled PDF to user. On Feishu use: + +```bash +openclaw message send --channel feishu --target "<chat_id>" \ + --media "main.pdf" --message "Beamer PDF" +``` + +--- + +## Output Language + +Match the user's query language. If the user writes in Chinese, produce Chinese slides and add `\usepackage[fontset=fandol]{ctex}` to the preamble. + +### Slide Title / Heading Language Consistency (MANDATORY) + +All slide titles, section headings, and block titles must use a **single language** — the same language as the slide body content. Do not mix languages in headings. + +| Slide language | Correct | Wrong | +|---|---|---| +| Chinese | Single-language Chinese heading | Mixed heading (e.g., adding "Outline" after the Chinese word for TOC) | +| English | Single-language English heading | Mixed heading (e.g., "Outline" followed by a Chinese translation) | + +Examples: a Chinese deck should use purely Chinese headings without appending English translations; an English deck should use purely English headings without appending Chinese translations. + +**The only exception** is established technical abbreviations that have no standard translation (e.g., "RCS", "VIGS", "PEG6000") — these may appear alongside their native-language explanation in body text, but headings should still be pure single-language. + +## Source Material Fidelity (MANDATORY) + +When the user provides a reference paper, thesis, or any source document: + +1. **Never change the language of source content.** If the paper title is in English, keep it in English on the title slide. If the authors wrote their names in a specific script (Chinese characters, Latin letters, etc.), preserve that script. Do not translate titles, author names, institution names, or reference entries into the slide language. + +2. **Author name abbreviation is the ONLY permitted modification.** You may shorten author lists (e.g., "Guo C., Zhang K., Li M., ..." → "Guo C. et al.") for space constraints on the title page or footer. No other changes to author names are allowed — do not transliterate, translate, or reorder them. + + **Author name format:** Use `Surname Initial.` with comma separation. Always include spaces between names: + ```latex + \author[Guo C. et al.]{Guo C., Zhang K., Sun H., Zhu L., Zhang Y., Wang G., Li A., Bai Z., Liu L., Li C.} + ``` + Never concatenate names without spaces (e.g., ❌ `CongcongGuo,KeZhang`). + +3. **Reference entries must preserve original language.** If a cited paper has a Chinese title, keep the Chinese title in the reference list. If it has an English title, keep English. Do not translate references to match the slide language. + +4. **Title page layout for bilingual scenarios.** When the slide language differs from the paper language (e.g., Chinese slides for an English paper), keep the original paper title in `\title{}` and put the translation in `\subtitle{}`. Never mix two languages at the same level: + ```latex + % ✅ Correct: English title + Chinese subtitle + \title{Root Cortical Senescence Enhances Drought Tolerance in Cotton} + \subtitle{根系皮层衰老增强棉花耐旱性} + + % ❌ Wrong: two languages jammed into \title + \title{Root Cortical Senescence Enhances Drought Tolerance in Cotton 根系皮层衰老增强棉花耐旱性} + ``` + +| Allowed | Forbidden | +|---|---| +| `Guo C. et al.` (abbreviated from full list) | Translating or transliterating author names between scripts/languages | +| Keeping English paper title on Chinese slides | Translating paper title to match slide language | +| Using `\scriptsize` for long author lists | Omitting authors entirely | +| Abbreviating institution names | Translating institution names | +| Original title in `\title{}` + translation in `\subtitle{}` | Mixing two languages in the same `\title{}` | + +## Compilation Rules + +1. `[fragile]` mandatory for `verbatim` / `lstlisting` frames +2. `\mathbb` takes ONE character — use `\mathrm{KL}` not `\mathbb{KL}` +3. Always brace subscripts — `_{\max}` not `_\max` +4. No Unicode symbols (★✓→) — use `$\star$`, `\checkmark`, `$\rightarrow$` +5. `nullfont` warnings with ctex+Madrid are cosmetic — ignore +6. Always `--runs 2` when using `\tableofcontents` or `\ref` + +--- + +## Typography and Visual Enhancement (NEW) + +### Text Alignment + +Use justified alignment as the default for body text in Beamer. It produces a cleaner, more professional look compared to left-aligned (ragged right) text, especially for paragraphs with mixed CJK and Latin content. + +```latex +% In preamble — set global justified alignment +\usepackage{ragged2e} +\justifying +``` + +Note: Lists (`itemize`/`enumerate`) remain left-aligned (do not force justified). Body paragraphs can have indentation, but must be justified. + +### Font and Spacing + +#### Font Size Hierarchy + +Establish clear visual hierarchy with distinct size levels: + +```latex +\setbeamerfont{title}{size=\LARGE, series=\bfseries} +\setbeamerfont{subtitle}{size=\large} +\setbeamerfont{frametitle}{size=\large, series=\bfseries} +\setbeamerfont{framesubtitle}{size=\normalsize} +\setbeamerfont{block title}{size=\normalsize, series=\bfseries} +\setbeamerfont{footnote}{size=\tiny} +``` + +**Document base size:** Choose an appropriate base size (`10pt`, `11pt`, or `12pt`) based on content density and audience distance. There is no fixed default — pick what fits the presentation best. +```latex +\documentclass[aspectratio=169, 11pt]{beamer} % Adjust pt as needed +``` + +For content-heavy individual slides, use local font size commands: +- Content-heavy slides: use `\small` or `\footnotesize` locally for that slide +- Content-light slides: keep the chosen base size for comfortable reading +- **Overflow warnings are critical**: if compilation produces `Overfull \vbox` or `Overfull \hbox` warnings, the content does not fit — reduce font size, reduce content, or split the slide. Never ignore overflow warnings. + +```latex +% Per-slide adjustment for dense content: +{\small +\begin{tabular}{...} + ... +\end{tabular} +} +``` + +#### Math Font Protection + +**Always add** for presentations with any math formulas: +```latex +\usefonttheme{professionalfonts} +``` +Without this, Beamer overrides math fonts causing distorted formulas. + +#### Serif vs Sans-serif + +| Font Theme | Effect | Best For | +|---|---|---| +| `default` (sans-serif) | Modern, clean | Most scenarios, tech/engineering | +| `serif` | More academic feel | Math-heavy, humanities papers | +| `structurebold` | Bold structural elements | Clear hierarchy emphasis | + +```latex +\usefonttheme{default} % Sans-serif (default) +\usefonttheme{serif} % Serif body text +\usefonttheme{structurebold} % Bold titles/headers +``` + +#### Chinese Font Setup + +```latex +\usepackage[fontset=fandol]{ctex} % Portable, bundled fonts +% macOS with system fonts installed: +% \usepackage[fontset=mac]{ctex} +``` + +ctex fontsets provide sensible defaults (Song for body, Hei for headings). Only use `\setCJKmainfont` manually if you need a specific font not covered by fontset. + +#### Bold Usage Restraint + +Use bold **only** for: titles, best values in tables, key terms on first appearance. Never bold entire paragraphs — overuse negates emphasis. + +### Consistent List Styles + +```latex +\setbeamertemplate{itemize items}[circle] % Primary level (use [circle], not \textbullet) +\setbeamertemplate{itemize subitem}{--} % Secondary level +\setbeamercolor{itemize item}{fg=myblue} % Match theme color +``` + +> **Note:** `references/beamer.md` Section 3.7 shows `\textbullet` as a generic customization example. For actual slide generation, always use `[circle]` as defined above. + +### Color Palette Guidelines + +- **Color style must be consistent**: use one color scheme throughout the entire presentation — never switch color styles or mix different palettes mid-deck +- Limit to **2-3 primary colors** (e.g., `myblue` for structure, `myred` for alerts, `mygreen` for examples) +- **All three must be defined** in the preamble via `\definecolor` — the recommended defaults are `myblue=#2B5EA7`, `myred=#C0392B`, `mygreen=#27AE60` (see Section 3 tcolorbox definitions). Adjust hex values to match the presentation's theme, but always define all three. +- **Do not overuse colors**: do not use different primary hues on different slides just for aesthetics. Alert color should only be used when emphasis or contrast is genuinely needed +- Use low-saturation tints for backgrounds (`myblue!8`) and full-saturation for frames/titles (`myblue!85`) +- Define all custom colors in the preamble with `\definecolor` using HTML hex values — do not introduce ad-hoc colors mid-document + +#### Preset Color Palettes + +When the user does not specify colors, pick a palette that fits the subject area or presentation tone. The **three-color semantic roles are unchanged** (blue = structural, red = warning/negative, green = positive/example) — only the hex values change. + +| # | Palette Name | myblue | myred | mygreen | Best For | +|---|---|---|---|---|---| +| 1 | **Classic Blue** (default) | `#2B5EA7` | `#C0392B` | `#27AE60` | General academic, engineering, CS | +| 2 | **Deep Ocean** | `#1A3C6E` | `#B83230` | `#1E8C5A` | Formal conferences, physics, math | +| 3 | **Teal Academic** | `#0E7C7B` | `#D35233` | `#2A9D6F` | Biology, ecology, environmental science | +| 4 | **Slate Purple** | `#4A3F8A` | `#C44536` | `#3A8F6E` | Humanities, social science, psychology | +| 5 | **Warm Earth** | `#6B4C3B` | `#C75C2E` | `#5B8C3E` | Agriculture, geology, archaeology | +| 6 | **Steel Gray** | `#3D4F5F` | `#C0392B` | `#2E8B6E` | Corporate, business, economics | +| 7 | **Burgundy** | `#7B2D4E` | `#C0392B` | `#2A7F62` | Medicine, clinical, health science | +| 8 | **Midnight** | `#1B2A4A` | `#E74C3C` | `#16A085` | Tech keynote, AI/ML, astronomy | + +```latex +% Example: Teal Academic palette +\definecolor{myblue}{HTML}{0E7C7B} +\definecolor{myred}{HTML}{D35233} +\definecolor{mygreen}{HTML}{2A9D6F} +``` + +**Selection heuristic:** If the user's topic or field clearly maps to a palette above, use it. If ambiguous, default to **Classic Blue (#1)**. If the user explicitly provides hex values or says "use red/purple/etc.", define custom colors accordingly — these presets are suggestions, not constraints. + +#### Block Color Semantic Rules (MANDATORY) + +Each color carries a fixed semantic meaning. **Never assign colors based on aesthetics or visual variety alone — always match color to content meaning.** + +| Color | Semantic meaning | When to use | +|---|---|---| +| `myblue` / `fblock` / `ablock` | **Neutral / structural / primary** | Default for most blocks — descriptions, methods, explanations, neutral content | +| `myred` / `falertblock` / `aalertblock` | **Negative / warning / problem** | ONLY for: problems, limitations, risks, caveats, things that went wrong | +| `mygreen` / `fexampleblock` / `aexampleblock` | **Positive / example / solution** | For: solutions, advantages, good results, examples, positive outcomes | + +**Hard rules:** + +1. **Red (`myred`) is EXCLUSIVELY for negative semantics.** Never use red/alertblock for neutral content like "Physiological Indicators", "Evaluation Setup", "Method Overview". If the content is not a problem/warning/limitation, it must NOT be red. + +2. **Parallel blocks of the same level must use the same color.** When multiple blocks on a slide are listing items of the same category (e.g., four research methods, three evaluation metrics), they are semantically equal and must ALL use the same block color — typically `myblue`. + +3. **Categorical distinction uses blue + green, never red.** If you want to visually distinguish two categories on the same slide (e.g., left column = observational methods, right column = molecular methods), use `myblue` for one category and `mygreen` for the other. Red is reserved for genuinely negative content only. + +```latex +% ✅ Correct: four parallel method blocks, all same color +\begin{columns}[T] + \column{0.48\textwidth} + \begin{fblock}[2.5cm]{Morphological Observation} + Content... + \end{fblock} + \vspace{0.2cm} + \begin{fblock}[2.5cm]{Microscopic Analysis} + Content... + \end{fblock} + \column{0.48\textwidth} + \begin{fblock}[2.5cm]{Biochemical Assays} + Content... + \end{fblock} + \vspace{0.2cm} + \begin{fblock}[2.5cm]{Gene Silencing (VIGS)} + Content... + \end{fblock} +\end{columns} + +% ✅ Also correct: categorical distinction with blue + green +\begin{columns}[T] + \column{0.48\textwidth} + % Observation category → blue + \begin{fblock}[2.5cm]{Morphological Observation}... + \end{fblock} + \vspace{0.2cm} + \begin{fblock}[2.5cm]{Microscopic Analysis}... + \end{fblock} + \column{0.48\textwidth} + % Molecular category → green + \begin{fexampleblock}[2.5cm]{Biochemical Assays}... + \end{fexampleblock} + \vspace{0.2cm} + \begin{fexampleblock}[2.5cm]{Gene Silencing (VIGS)}... + \end{fexampleblock} +\end{columns} + +% ❌ Wrong: red used for neutral content +\begin{falertblock}[2.5cm]{Biochemical Assays} % NOT a warning/problem! + Content... +\end{falertblock} +``` + +### Comparison Slide Visual Polish (MANDATORY) + +When a slide presents a **comparison** (e.g., "before vs after", "problem vs solution", "method A vs method B"), apply these rules: + +#### 1. Semantic Color Pairing + +Use color to reinforce meaning. If one side is the "problem" and the other is the "solution", their block colors must reflect this: + +| Semantic role | Block type | Color | +|---|---|---| +| Problem / limitation / before | `falertblock` | `myred` family | +| Solution / advantage / after | `fexampleblock` | `mygreen` family | +| Neutral / description | `fblock` | `myblue` family | + +**Symmetry rule:** If one side uses `\alert{}` (red) to highlight a negative keyword (e.g., "Breaks layout"), the other side SHOULD use `\textcolor{mygreen}{}` to highlight the corresponding positive keyword (e.g., "Eliminates overhead"). Left-red-right-green pairing creates instant visual comprehension. + +```latex +% Example: problem vs solution comparison +\begin{columns}[T] + \column{0.48\textwidth} + \begin{falertblock}[4.5cm]{Eager Broadcasting} + \begin{itemize} + \item Immediate materialization + \item \alert{Breaks sparsity layout} % red highlight for problem + \end{itemize} + \end{falertblock} + \column{0.48\textwidth} + \begin{fexampleblock}[4.5cm]{Lazy Broadcasting} + \begin{itemize} + \item Deferred evaluation + \item \textcolor{mygreen}{\textbf{Eliminates overhead}} % green highlight for solution + \end{itemize} + \end{fexampleblock} +\end{columns} +``` + +#### 2. Standalone Tables Must Be Wrapped + +Tables that appear alongside tcolorbox blocks on the same slide should be wrapped in a tcolorbox block for visual consistency. A bare `tabular` environment next to styled blocks looks unfinished. + +| Scenario | Treatment | +|---|---| +| Table relates to a specific topic | Wrap in `ablock{Topic Title}` | +| Table is a comparison/summary | Wrap in `ablock{Comparison}` or `aexampleblock{Summary}` | +| Table is the only element on the slide | May remain unwrapped with `\centering` | + +```latex +% ✅ Correct: table wrapped in block, consistent with other blocks on slide +\begin{ablock}{Optimization Level Comparison} + {\footnotesize + \begin{tabularx}{\linewidth}{lCCC} + \toprule + Level & Broadcast & Overhead & Performance \\ + \midrule + Eager & Yes & \textcolor{myred}{High} & Baseline \\ + Lazy & No & \textcolor{mygreen}{\textbf{None}} & 2.1$\times$ \\ + \bottomrule + \end{tabularx} + } +\end{ablock} + +% ❌ Wrong: bare table next to styled blocks +\begin{tabular}{lcc} + ... +\end{tabular} +``` + +#### 3. Table Cell Color Coding + +When table cells represent qualitative values (good/bad, yes/no, high/low), use color to encode meaning instead of relying on text alone: + +| Value type | Color treatment | +|---|---| +| Positive / good / improved | `\textcolor{mygreen}{\textbf{value}}` | +| Negative / bad / degraded | `\textcolor{myred}{value}` | +| Neutral / baseline | Default text color | +| Best in column/row | `\textcolor{mygreen}{\textbf{value}}` (bold + green) | + +This makes tables scannable at a glance — the audience can see the pattern without reading every cell. + +#### 4. Block Title Bar Saturation Consistency + +All block title bars on the same slide should have comparable visual weight. If one block uses `myblue!85` for the title bar, don't pair it with a `mygreen!100` title bar — the green will appear much heavier. Keep title bar saturation levels consistent: + +```latex +% ✅ Consistent: both use !85 saturation +colframe=myblue!85 % blue block +colframe=mygreen!80 % green block (slightly lower to compensate green's higher perceived brightness) + +% ❌ Inconsistent: one muted, one vivid +colframe=myblue!60 % muted blue +colframe=mygreen!100 % vivid green — too dominant +``` + +#### 5. List Style Consistency Within a Slide (MANDATORY) + +All list environments on the same slide must use the **same bullet/numbering style**. Do not mix `itemize` (bullets) with `enumerate` (numbers) or custom circled numbers unless the semantic distinction is clear and intentional. + +| Scenario | Correct approach | +|---|---| +| All lists are unordered collections | Use `itemize` with consistent bullet style everywhere | +| All lists are ordered steps/sequences | Use `enumerate` everywhere | +| One list is steps, another is features | OK to differ — but document the semantic reason | +| One block uses ❶❷❸, another uses • bullets | ❌ Inconsistent — pick one style | + +**Circled numbers / custom list markers:** +- If using circled numbers (❶❷❸❹), do NOT use raw Unicode characters — they may fail in some compilers +- Use LaTeX-safe alternatives: + +```latex +% Option 1: pifont (recommended) +\usepackage{pifont} +\newcommand{\cmark}[1]{\ding{\numexpr201+#1\relax}} % \cmark{1} → ❶ +% Usage: \item[\cmark{1}] First item + +% Option 2: tikz inline circles +\newcommand{\circnum}[1]{% + \tikz[baseline=(char.base)]\node[circle, fill=myblue, text=white, + inner sep=1.2pt, font=\scriptsize\bfseries] (char) {#1};} +% Usage: \item[\circnum{1}] First item +``` + +#### 6. Line Break Prevention for Technical Terms (MANDATORY) + +Technical terms, version numbers, short parenthetical units, and numeric expressions must not break across lines. Bad line breaks (e.g., "202" on one line and "LoC)" on the next) look unprofessional. + +**Prevention techniques:** + +| Technique | When to use | Example | +|---|---|---| +| Non-breaking space `~` | Between number and unit | `202~LoC`, `3.5~GHz` | +| `\mbox{...}` | Short phrase that must stay together | `\mbox{PyTorch 2.1}` | +| `\hbox{...}` | Same as mbox, TeX primitive | `\hbox{CUDA 12.0}` | +| `white-space: nowrap` equivalent: put in `\mbox{}` | Version strings, short labels | `\mbox{v2.0-beta}` | + +```latex +% ❌ Bad: "202" and "LoC)" split across lines +PyTorch BSR sparse (202 +LoC) + +% ✅ Good: kept together +PyTorch BSR sparse (\mbox{202 LoC}) +% or +PyTorch BSR sparse (202~LoC) +``` + +**Apply this proactively** — scan all slides for short trailing fragments (1-2 words or a number+unit orphaned on a new line) and fix them before delivery. + +#### 7. Content Density Balance Across Columns (MANDATORY) + +When using a two-column layout, both columns should have comparable **content density** (amount of meaningful content relative to the space). A column with sparse content (e.g., 7 one-line items in a tall block with excessive line spacing) next to a dense column creates visual imbalance. + +**Fixes for sparse columns:** + +| Strategy | When to use | +|---|---| +| Add brief descriptions to each item | Items are bare labels (e.g., just baseline names) | +| Split into two smaller blocks | Content naturally groups into sub-categories | +| Reduce block height + add a supplementary block | Room for an extra block below (e.g., "Evaluation Metrics", "Notes") | +| Adjust column width ratio | Give the denser column more space | + +```latex +% ❌ Sparse: 7 bare items in a tall block, lots of wasted space +\begin{fblock}[5.5cm]{Baselines} + \begin{itemize} + \item cuSPARSE + \item Triton Block-Sparse + \item TorchBSR + ... + \end{itemize} +\end{fblock} + +% ✅ Better: split into two themed blocks, balanced density +\begin{fblock}[2.5cm]{Vendor Libraries} + \begin{itemize} + \item cuSPARSE — NVIDIA official sparse BLAS + \item MKL Sparse — Intel CPU baseline + \end{itemize} +\end{fblock} +\vspace{0.2cm} +\begin{fblock}[2.8cm]{Research Implementations} + \begin{itemize} + \item Triton Block-Sparse — compiler-based + \item TorchBSR — PyTorch native (\mbox{202 LoC}) + ... + \end{itemize} +\end{fblock} +``` + +### icon Support + +Use `fontawesome5` to add icons for visual flair in lists and headings: + +```latex +\usepackage{fontawesome5} + +\begin{itemize} + \item[\faCheckCircle] Verified result + \item[\faLightbulb] Key insight + \item[\faExclamationTriangle] Caveat +\end{itemize} +``` + +### Overlay Usage (DEFAULT: OFF) + +Overlays are **disabled by default** for all Beamer presentations. All slide content should be fully visible without step-by-step reveals. This produces static slides that are easier to read, share as handouts, and navigate in PDF viewers. + +**The ONLY exception is the courseware (teaching slides) scenario.** When the user explicitly requests courseware, teaching slides, or lecture materials, overlays are enabled — specifically for **separating problem statements and proofs/solutions** so the instructor can reveal them step by step during class. + +#### When overlays are OFF (default — all scenarios except courseware) + +Do NOT use any of the following: +- `\item<N->` overlay markers on list items +- `\uncover<N->{...}` or `\only<N->{...}` wrappers +- `\pause` commands +- `\visible<N->{...}` or `\onslide<N->{...}` +- Any other Beamer overlay specification + +All content on every slide must be immediately visible. Write plain `\item` without overlay specs. Do not wrap blocks, figures, or equations in `\uncover` or `\only`. + +```latex +% ✅ Default (non-courseware): all content static, fully visible +\begin{itemize} + \item First key point + \item Second key point + \item Third key point +\end{itemize} + +\begin{ablock}{Background} + Context information... +\end{ablock} +\begin{aalertblock}{Problem} + The core challenge... +\end{aalertblock} +``` + +--- + +#### When overlays are ON (courseware scenario ONLY) + +Activate overlays **only when the user explicitly requests courseware, teaching slides, lecture materials, or classroom presentations.** In this scenario, use overlays specifically to separate: + +1. **Problem statements ** — shown first +2. **Proofs / solutions ** — revealed on the next overlay step + +This allows the instructor to present the problem, let students think, then reveal the answer. + +##### Courseware overlay pattern + +```latex +% ✅ Courseware: problem shown first, proof revealed on next click +\begin{frame}{Theorem: Triangle Inequality} + \begin{block}{Problem} + Prove that for any real numbers $a$ and $b$: $|a + b| \leq |a| + |b|$. + \end{block} + + \uncover<2->{% + \begin{exampleblock}{Proof} + We know that $-|a| \leq a \leq |a|$ and $-|b| \leq b \leq |b|$. + Adding these inequalities: $-(|a|+|b|) \leq a+b \leq |a|+|b|$. + Therefore $|a+b| \leq |a| + |b|$. \qed + \end{exampleblock} + } +\end{frame} + +% ✅ Courseware: step-by-step solution reveal +\begin{frame}{Example: Solving a Quadratic Equation} + \begin{block}{Problem} + Solve $x^2 - 5x + 6 = 0$. + \end{block} + + \uncover<2->{% + \begin{ablock}{Solution} + Factor: $(x-2)(x-3) = 0$ \\ + Therefore $x = 2$ or $x = 3$. + \end{ablock} + } +\end{frame} +``` + +##### What to animate in courseware mode + +| Element | Animate? | Method | +|---|---|---| +| **Problem / question statement** | Always visible (overlay `<1->`) | No overlay needed — shown by default | +| **Proof / solution / answer** | Revealed on step 2+ | `\uncover<2->{...}` wrapping the proof block | +| **Hints (optional)** | Revealed between problem and proof | `\uncover<2->{hint}`, `\uncover<3->{proof}` | +| **List items in proofs** | May be revealed step-by-step | `\item<N->` for each proof step | +| **Non-problem slides** (background, outline, summary) | Static — no overlay | No overlay specs | + +##### What NOT to animate even in courseware mode + +| Element | Reason | +|---|---| +| Slide titles / frame titles | Must be visible from the start | +| Section divider slides | Single-element, nothing to reveal | +| Title / closing slides | No progressive content | +| TOC / outline slides | Overview should be fully visible | +| Background / theory introduction slides | Not problem-solution format, keep static | + +##### Consistency rules (MANDATORY — applies when overlays are used) + +**Critical rule: consistency within a single list.** Within any single `itemize` or `enumerate` environment, either ALL `\item` specs have overlay markers (e.g. `\item<1->`) or NONE do. Mixing animated and static `\item` specs in the same list looks inconsistent and breaks the visual flow. + +**Clarification:** Inline overlay commands like `\alert<2>{text}` or `\textcolor<3>{...}` inside an item's content do NOT count as item-level overlays. It is fine to use `\alert<>` selectively on some items while all `\item` specs themselves remain un-overlayed. + +```latex +% ✅ Correct: all items animated (in a proof) +\begin{itemize} + \item<2-> Step 1: Assume the hypothesis + \item<3-> Step 2: Apply the theorem + \item<4-> Step 3: Conclude \qed +\end{itemize} + +% ✅ Correct: no items animated (problem statement, always visible) +\begin{itemize} + \item Given: $\triangle ABC$ with $\angle A = 90°$ + \item Prove: $BC^2 = AB^2 + AC^2$ +\end{itemize} + +% ❌ Wrong: mixed animation in one list +\begin{itemize} + \item<1-> First point + \item Second point % ← no overlay, inconsistent + \item<2-> Third point +\end{itemize} +``` + +##### Nested animation + +When a block contains a list, choose ONE level to animate — either animate the block as a whole, or animate the list items inside, but not both simultaneously (double-animation causes confusing timing): + +```latex +% ✅ Option A: animate the block, list appears all at once +\uncover<2->{% +\begin{ablock}{Proof} + \begin{itemize} + \item Step one + \item Step two + \end{itemize} +\end{ablock} +} + +% ✅ Option B: block always visible, animate items inside +\begin{ablock}{Solution Steps} + \begin{itemize} + \item<2-> Step one + \item<3-> Step two + \end{itemize} +\end{ablock} + +% ❌ Wrong: double animation (block AND items) +\uncover<2->{% +\begin{ablock}{Proof} + \begin{itemize} + \item<3-> Step one % block appears at 2, item at 3 — confusing + \item<4-> Step two + \end{itemize} +\end{ablock} +} +``` + +### Theme Recommendations + +| Style | Recommended Theme | Notes | +|---|---|---| +| Modern / minimal | `metropolis` (install separately) | Clean, built-in progress bar, dark mode support | +| Classic academic | `Madrid` + `\usecolortheme{dolphin}` | Reliable, widely used | +| Structure-heavy | `Berlin` or `Warsaw` | Built-in section navigation | +| Clean / corporate | `CambridgeUS` or `Boadilla` | Simple two-tone | +| Ultra-minimal | `default` + custom `\setbeamercolor` | Maximum flexibility | + +For `metropolis`, add to preamble: +```latex +\usetheme{metropolis} +\metroset{progressbar=frametitle} % progress bar in frame title +``` + +### Columns Layout Best Practices + +```latex +\begin{columns}[T] % [T] top · [c] center · [b] bottom alignment +``` + +**Vertical alignment decision table (single source of truth):** + +| Layout type | Alignment | Notes | +|---|---|---| +| Block-block / text-text | `[T]` | Top edges align, visually cleanest | +| Image-text | `[c]` | Image centers against text/block column | +| Image-text where `[c]` is insufficient | `[T]` + `\vspace` | Manually push image down to visual center (see Section 6 "Image Column Vertical Centering") | + +Do not duplicate these rules elsewhere — all alignment decisions reference this table. + +**Column widths:** +- Total of both columns should not exceed `0.96\textwidth` to leave gap between columns +- Give the wider side more space: e.g., image-heavy side gets `0.55\textwidth`, text side gets `0.42\textwidth` +- For equal-width layouts: `0.48\textwidth` each + +**Content alignment within columns:** +- Align block titles across columns: use `[T]` + same block type (both `fblock` with identical height) +- Side-by-side blocks must use `fblock`/`falertblock` with the **same height parameter** (see Section 3) +- Center images with `\centering`, keep text/lists left-aligned +- If one column has noticeably less content, either add an `ablock` to balance or adjust column width ratio + +--- + +--- + +## Compilation Troubleshooting: Missing Fonts in User-Provided Templates + +When users provide custom Beamer templates (`.sty` or `.tex`), the template may depend on specific system fonts. The most common compilation failure is `Package fontspec Error: The font "XXX" cannot be found`. + +### General Troubleshooting Workflow + +**1. Identify the missing font name from the error message** + +Extract the font name (e.g., "Kaiti SC") from the error and determine whether it is a system font expected by a ctex fontset, or a font manually specified via `\setCJKmainfont{...}` in the user's template. + +**2. Search for the font file on the system** + +```bash +# Full system search +find / -iname "*fontname*" 2>/dev/null +# Common font directories — macOS +ls ~/Library/Fonts/ /Library/Fonts/ /System/Library/Fonts/ /System/Library/Fonts/Supplemental/ +# macOS may store fonts under AssetsV2 +find /System/Library/AssetsV2 -iname "*.ttc" -o -iname "*.ttf" 2>/dev/null +# Common font directory — Linux +ls /usr/share/fonts/truetype/ +``` + +**3. Handle based on search results** + +| Situation | Solution | +|---|---| +| Font exists on system but not in standard Fonts directory (macOS) | Copy to `~/Library/Fonts/` so the compiler can find it | +| Font exists on system but not in standard Fonts directory (Linux) | Copy to `/usr/share/fonts/truetype/` then run `fc-cache -fv` | +| Font does not exist on the system (macOS) | Download and install the font file to `~/Library/Fonts/` | +| Font does not exist on the system (Linux) | Download the font file to `/usr/share/fonts/truetype/` then run `fc-cache -fv` | +| Cannot install fonts (server / no permissions) | Switch to `fontset=fandol` (bundled open-source fonts with ctex) or `fontset=none` + manually specify available fonts | + +**4. Verify** + +Recompile and confirm the error is gone. A noticeably larger PDF file size indicates fonts were successfully embedded. + +### Do Not Work Around the Problem + +When fonts are missing, **do not** bypass compilation errors by deleting font references (e.g., removing `\kaishu`, `\songti` commands). This causes the output to diverge from the user's expected template style. The correct approach is to install the missing fonts. + +### fontset Selection Reference + +| Scenario | Recommendation | +|---|---| +| macOS + need native Chinese font consistency | `fontset=mac` (ensure fonts are installed in standard paths) | +| Linux / server / no system fonts | `fontset=fandol` (open-source fonts bundled with ctex) | +| Need specific custom fonts | `fontset=none` + `\setCJKmainfont` / `\setCJKsansfont` manual specification | +| Using a user-provided `.sty` template | Keep the template's original fontset setting — only fix font installation | + +### Example: Missing Kaiti SC on macOS + +ctex `fontset=mac` requires "Kaiti SC". Newer versions of macOS store this font under the `AssetsV2` directory rather than the standard Fonts path, so tectonic cannot locate it automatically. Solution: + +```bash +# Find the font +find /System/Library/AssetsV2 -iname "Kaiti*" 2>/dev/null +# Copy to user font directory +cp /System/Library/AssetsV2/com_apple_MobileAsset_Font7/<hash>/AssetData/Kaiti.ttc ~/Library/Fonts/ +``` + +Similarly, if other macOS system fonts needed by ctex (Songti SC, Heiti SC, etc.) are also missing, use the same method to locate and copy them. + +--- + +## References + +- `references/beamer.md` — Theme catalogue, overlay syntax, content templates, TikZ examples +- `references/latex.md` — Non-Beamer LaTeX documents (papers, articles, theses) +- `scripts/pdf.py` — PDF compilation wrapper and extraction tool diff --git a/skills/ppt/components.md b/skills/ppt/components.md new file mode 100755 index 0000000..3ebe6ae --- /dev/null +++ b/skills/ppt/components.md @@ -0,0 +1,1671 @@ +# Components — Pre-built HTML Component Reference Library + +Each component is a **starting point, not a straitjacket**. Use them as inspiration and building blocks. + +**Three ways to use this library**: +1. **Direct use**: Copy a component template, replace `${...}` variables and text content (safest, guaranteed to convert correctly) +2. **Remix**: Start from a template, then freely modify spacing, font sizes, card styles, background treatments, decorative elements, and layout proportions (encouraged — this creates variety) +3. **Free creation**: Design entirely new layouts from scratch based on html2pptx.md technical constraints (most flexible — must test conversion) + +**The goal is visual diversity. If the deck looks monotonous, you haven't remixed enough.** + +--- + +## Usage Rules + +1. **Variable replacement**: All `${variableName}` must be replaced with actual values (colors, font names) +2. **Everything is modifiable**: Spacing, font sizes, padding, margins, gap, border-radius, shadows, card styles, background colors, layout proportions — change anything to serve the content and create variety +3. **Only engine constraints are sacred**: Don't use flex-wrap, negative margins, DIV background-image, or CSS gradients (see html2pptx.md Technical Constraints) +4. **Colors must come from the theme scale** — this is the one design-system rule that's enforced +5. **Adjacent slides should look distinctly different** — vary layout, background, card treatment, spacing density +6. **Fill the slide**: Content should use the available space well. Avoid large empty areas — if there's too much whitespace, add more content, use larger type, increase spacing, or add visual elements + +--- + +## Card Style Cookbook (Quick Reference) + +Every component template uses shadow-float cards by default. **Swap in these alternatives** to create variety across slides: + +| Style | Name | CSS | +|-------|------|-----| +| A | Shadow Float | `background:${surface-card}; border-radius:10pt; box-shadow:0 2pt 8pt rgba(0,0,0,0.08); padding:20pt;` | +| B | Outline | `background:transparent; border:1.5pt solid ${primary-20}; border-radius:10pt; padding:20pt;` | +| C | Solid Fill | `background:${primary-10}; border-radius:10pt; padding:20pt; border:none; box-shadow:none;` | +| D | Left Accent Bar | `background:${surface-card}; border-left:4pt solid ${accent}; border-radius:0 10pt 10pt 0; padding:16pt 20pt; box-shadow:none;` | +| E | Solid Fill + Bottom Accent | `background:${surface}; border-radius:10pt; border-bottom:3pt solid ${accent}; padding:20pt; box-shadow:none;` | +| F | Dark Card | `background:${primary-90}; border-radius:10pt; padding:20pt; color:${on-dark}; box-shadow:none;` | + +**Rule: No 2 adjacent slides should use the same card style.** + +--- + +## Title Bar Variants (Quick Reference) + +Components use a dark title bar by default. **Swap in these alternatives**: + +| Variant | Description | +|---------|-------------| +| Default | `height:56pt; background:${primary-90}` with white bold title at `font-size:22pt` | +| Accent Color | Same structure but `background:${accent}` | +| Transparent + Underline | `padding:28pt 48pt 12pt 48pt; border-bottom:2pt solid ${primary-20};` title at `font-size:28pt; color:${primary-80}` | +| No Header Bar (Inline Title) | No separate header div; title is part of content area at `font-size:32pt; color:${primary-80}` | +| Left Vertical Band | `display:flex; height:56pt;` with `width:6pt; background:${accent}` left strip + rest is `background:${surface}` | + +**Rule: All content slides must use the same title bar style — pick one variant and apply it consistently across the entire deck.** + +--- + +## Dark Background Content Templates + +Use these dark variants for **rhythm-breaking slides** (recommended every 3-4 pages). + +### content-dark-bullets — Dark Background Bullet List + +> `list | medium | dark | outline-light` + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${primary-90};font-family:'Microsoft YaHei',sans-serif;"> + <div style="height:4pt;background:${accent};"></div> + <div style="padding:32pt 48pt 0 48pt;"> + <span style="font-size:28pt;font-weight:bold;color:${on-dark};white-space:nowrap;">Page Title</span> + <div style="width:40pt;height:3pt;background:${accent};margin-top:8pt;"></div> + </div> + <div style="padding:20pt 48pt 36pt 48pt;display:flex;flex-direction:column;gap:14pt;"> + <div style="background:rgba(255,255,255,0.08);border:1pt solid rgba(255,255,255,0.15);border-radius:8pt;padding:16pt 20pt;display:flex;align-items:flex-start;gap:12pt;"> + <div style="width:28pt;height:28pt;background:${accent};border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;"> + <span style="font-size:14pt;font-weight:bold;color:#FFFFFF;">1</span> + </div> + <div style="flex:1; min-width:0;"> + <span style="font-size:16pt;font-weight:bold;color:${on-dark};">Point Title</span><br/> + <span style="font-size:13pt;color:${on-dark-secondary};line-height:1.5;">Description text</span> + </div> + </div> + <!-- Repeat numbered items 2, 3, 4 with same structure --> + </div> +</body> +``` + +### content-dark-kpi — Dark Background KPI Dashboard + +> `grid | low | dark | solid-dark` + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${primary-100};font-family:'Microsoft YaHei',sans-serif;"> + <div style="padding:36pt 48pt 0 48pt;text-align:center;"> + <span style="font-size:26pt;font-weight:bold;color:${on-dark};">Dashboard Title</span> + </div> + <div style="padding:24pt 48pt 36pt 48pt;display:flex;gap:16pt;justify-content:center;"> + <div style="width:192pt;background:rgba(255,255,255,0.06);border:1pt solid rgba(255,255,255,0.12);border-radius:10pt;padding:24pt 16pt;text-align:center;"> + <span style="font-size:38pt;font-weight:bold;color:${accent};white-space:nowrap;">85%</span><br/> + <span style="font-size:13pt;color:${on-dark-secondary};margin-top:8pt;">Metric Label</span> + </div> + <div style="width:192pt;background:rgba(255,255,255,0.06);border:1pt solid rgba(255,255,255,0.12);border-radius:10pt;padding:24pt 16pt;text-align:center;"> + <span style="font-size:38pt;font-weight:bold;color:${accent};white-space:nowrap;">2.4M</span><br/> + <span style="font-size:13pt;color:${on-dark-secondary};margin-top:8pt;">Metric Label</span> + </div> + <div style="width:192pt;background:rgba(255,255,255,0.06);border:1pt solid rgba(255,255,255,0.12);border-radius:10pt;padding:24pt 16pt;text-align:center;"> + <span style="font-size:38pt;font-weight:bold;color:${accent};white-space:nowrap;">+32%</span><br/> + <span style="font-size:13pt;color:${on-dark-secondary};margin-top:8pt;">Metric Label</span> + </div> + </div> +</body> +``` + +### content-dark-split — Dark Background Left-Right Split + +> `split | medium | dark | none` + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${primary-90};font-family:'Microsoft YaHei',sans-serif;"> + <div style="display:flex;height:405pt;"> + <div style="width:260pt;background:${accent};padding:48pt 32pt;display:flex;flex-direction:column;justify-content:center;"> + <span style="font-size:42pt;font-weight:bold;color:#FFFFFF;line-height:1.15;">Key<br/>Insight</span> + <div style="width:32pt;height:3pt;background:rgba(255,255,255,0.5);margin-top:16pt;"></div> + </div> + <div style="flex:1;padding:40pt 36pt;display:flex;flex-direction:column;justify-content:center;gap:16pt;"> + <div style="display:flex;align-items:flex-start;gap:10pt;"> + <div style="width:4pt;height:40pt;background:${accent};flex-shrink:0;border-radius:2pt;margin-top:4pt;"></div> + <div style="flex:1; min-width:0;"> + <span style="font-size:16pt;font-weight:bold;color:${on-dark};">Sub-point One</span><br/> + <span style="font-size:13pt;color:${on-dark-secondary};line-height:1.5;">Detailed explanation</span> + </div> + </div> + <div style="display:flex;align-items:flex-start;gap:10pt;"> + <div style="width:4pt;height:40pt;background:${accent};flex-shrink:0;border-radius:2pt;margin-top:4pt;"></div> + <div style="flex:1; min-width:0;"> + <span style="font-size:16pt;font-weight:bold;color:${on-dark};">Sub-point Two</span><br/> + <span style="font-size:13pt;color:${on-dark-secondary};line-height:1.5;">Another detailed explanation</span> + </div> + </div> + </div> + </div> +</body> +``` + +--- + +## Component Metadata Tags + +Each component is tagged with metadata to help you plan slide variety: +- **Layout type**: `split` | `grid` | `list` | `focus` | `full-bleed` | `timeline` | `centered` +- **Density**: `high` | `medium` | `low` +- **Background**: `light` | `dark` | `image` | `any` +- **Default card style**: `shadow` | `outline` | `solid` | `tag` | `none` | `any` + +--- + +## Table of Contents + +### Cover +- [cover-center](#cover-center) — Centered cover `centered | low | light | none` +- [cover-split](#cover-split) — Left-right split cover `split | low | light | none` +- [cover-bottom-bar](#cover-bottom-bar) — Bottom info bar cover `centered | low | light | none` +- [cover-photo-mask](#cover-photo-mask) — Background image + mask cover `centered | low | image | none` +- [cover-dark-hero](#cover-dark-hero) — Dark hero cover, no photo needed `centered | low | dark | none` + +### TOC Pages +- [toc-sidebar-list](#toc-sidebar-list) — Sidebar + numbered list `split | medium | light | none` +- [toc-card-grid](#toc-card-grid) — Card grid TOC `grid | medium | light | shadow` +- [toc-timeline](#toc-timeline) — Horizontal timeline TOC `timeline | medium | light | none` +- [toc-big-number](#toc-big-number) — Large number background TOC `list | medium | light | none` + +### Content Pages +- [content-header-bullets](#content-header-bullets) — Header bar + bullet list `list | medium | light | none` +- [content-split-text-visual](#content-split-text-visual) — Text/image split (swap columns for image-left variant) `split | medium | light | none` +- [content-split-equal](#content-split-equal) — Equal 50/50 split `split | medium | light | none` +- [content-sidebar-stat](#content-sidebar-stat) — Sidebar large number + right content `split | medium | dark+light | none` +- [content-kpi-row](#content-kpi-row) — KPI large numbers in a row `grid | medium | light | shadow` +- [content-kpi-vertical](#content-kpi-vertical) — KPI numbers vertical stack `focus | medium | light | outline` +- [content-comparison](#content-comparison) — A vs B (or A vs B vs C) comparison `grid | medium | light | tag` +- [content-timeline](#content-timeline) — Horizontal process/steps `timeline | medium | light | none` +- [content-timeline-vertical](#content-timeline-vertical) — Vertical timeline `timeline | medium | light | none` +- [content-icon-grid](#content-icon-grid) — 2×3 icon grid `grid | high | light | none` +- [content-2x2-grid](#content-2x2-grid) — Four-quadrant grid (shadow) `grid | high | light | shadow` +- [content-2x2-grid-outline](#content-2x2-grid-outline) — Four-quadrant grid (outline) `grid | high | light | outline` +- [content-2x2-grid-solid](#content-2x2-grid-solid) — Four-quadrant grid (solid dark) `grid | high | dark | solid` +- [content-full-bleed](#content-full-bleed) — Full-bleed color block `full-bleed | low | dark | none` +- [content-left-accent-bar](#content-left-accent-bar) — Left accent bar emphasis `split | medium | light | none` +- [content-stagger-list](#content-stagger-list) — Staggered list `list | medium | light | none` +- [content-big-number-focus](#content-big-number-focus) — Large number focus `split | low | dark+light | none` +- [content-three-column](#content-three-column) — Three-column with icons `grid | medium | light | none` +- [content-three-card](#content-three-card) — Three card columns `grid | medium | light | shadow` +- [content-split-photo](#content-split-photo) — Left text + right photo `split | medium | light | none` +- [content-photo-cards](#content-photo-cards) — Three photo cards `grid | medium | light | shadow` +- [content-stat-overlay](#content-stat-overlay) — Hero stat on photo `full-bleed | low | image | none` +- [content-photo-overlay](#content-photo-overlay) — Full photo + floating card `full-bleed | low | image | frosted` +- [content-chart-focus](#content-chart-focus) — Chart-focused page `split | medium | light | none` +- [content-chart-bar](#content-chart-bar) — Bar chart + key metric cards `split | medium | light | none` +- [content-chart-pie](#content-chart-pie) — Pie chart + legend & insight `split | medium | light | none` +- [content-chart-line](#content-chart-line) — Wide line chart + trend stats `list | medium | light | none` +- [content-band-top](#content-band-top) — Top color band + content `list | medium | light | none` +- [content-table](#content-table) — Structured data table `data | medium | light | none` +- [content-table-comparison](#content-table-comparison) — Feature comparison matrix `data | medium | light | tag` + +### High-Impact Accent Components +- [chapter-divider-bold](#chapter-divider-bold) — Accent panel + dark chapter divider `split | low | dark | none` +- [content-hero-stat](#content-hero-stat) — Single-focus large metric page `centered | low | dark | none` +- [content-asymmetric](#content-asymmetric) — Asymmetric dark panel (38%) + content (62%) `split | medium | dark+light | none` +- [quote-emphasis](#quote-emphasis) — Full-slide pull quote on dark background `centered | low | dark | none` +- [content-dark-three-card](#content-dark-three-card) — Dark background three-card rhythm breaker `grid | medium | dark | solid-dark` + +### Data Visualization Pages (see [`data-viz-components.md`](data-viz-components.md)) +- content-horizontal-bars — Horizontal bar comparison +- content-stacked-bars — Stacked progress bars +- content-data-table — Structured data table +- content-quadrant-matrix — 2×2 quadrant matrix +- content-funnel — Sales/conversion funnel +- content-before-after — Before vs after +- content-dashboard — Data dashboard / KPI grid +- content-pyramid — Pyramid / layered hierarchy + +### Transition Pages +- [divider-bold-center](#divider-bold-center) — Centered bold transition `centered | low | light | none` +- [divider-split](#divider-split) — Split background transition `split | low | dark+light | none` +- [divider-photo-mask](#divider-photo-mask) — Background image + mask transition `centered | low | image | none` +- [divider-gradient](#divider-gradient) — Gradient background transition `centered | low | dark | none` + +### Closing Pages +- [closing-takeaways](#closing-takeaways) — Key takeaways summary `grid | medium | light | tag` +- [closing-thankyou](#closing-thankyou) — Thank you page `centered | low | dark | none` + +--- + +## Cover Components + +<a id="cover-center"></a> +### cover-center — Centered Cover + +Centered symmetrical layout. Accent dot + title + accent line divider + subtitle. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${surface};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="height:4pt;background:${accent};"></div> + <div style="flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 80pt;"> + <div style="width:10pt;height:10pt;border-radius:50%;background:${accent};margin:0 0 24pt 0;"></div> + <h1 style="font-size:40pt;font-weight:bold;color:${primary-80};margin:0;line-height:1.15;text-align:center;max-width:560pt;">Presentation Title Here</h1> + <div style="width:40pt;height:3pt;background:${accent};margin:20pt 0;"></div> + <p style="font-size:18pt;color:${primary-60};margin:0 0 28pt 0;line-height:1.4;text-align:center;max-width:440pt;">Subtitle or one-line overview</p> + <p style="font-size:13pt;color:${primary-40};margin:0;line-height:1.5;text-align:center;white-space:nowrap;">Presenter: John Smith · December 2024</p> + </div> +</body> +``` + +<a id="cover-split"></a> +### cover-split — Left-Right Split Cover + +Left dark block (40%) with top anchor label + bottom vertical bar. Right text with accent divider. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:row;"> + <!-- Left: dark panel --> + <div style="width:288pt;height:405pt;background:${primary-90};display:flex;flex-direction:column;justify-content:space-between;padding:36pt 32pt 40pt 36pt;"> + <div> + <div style="width:24pt;height:3pt;background:${accent};margin:0 0 10pt 0;"></div> + <span style="font-size:11pt;color:${accent};letter-spacing:2pt;line-height:1;white-space:nowrap;">ANNUAL REPORT 2024</span> + </div> + <div style="display:flex;align-items:flex-end;gap:12pt;"> + <div style="width:3pt;height:44pt;background:${accent};"></div> + <span style="font-size:13pt;color:${on-dark-secondary};line-height:1.5;">Department · Category</span> + </div> + </div> + <!-- Right: title area --> + <div style="flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 48pt 0 40pt;"> + <h1 style="font-size:36pt;font-weight:bold;color:${primary-80};margin:0 0 16pt 0;line-height:1.2;">Presentation Main Title</h1> + <div style="width:40pt;height:3pt;background:${accent};margin:0 0 20pt 0;"></div> + <p style="font-size:17pt;color:${primary-60};margin:0 0 28pt 0;line-height:1.4;">Subtitle description text</p> + <p style="font-size:13pt;color:${primary-40};margin:0;line-height:1.5;white-space:nowrap;">Presenter: John Smith · Product Department</p> + </div> +</body> +``` + +<a id="cover-bottom-bar"></a> +### cover-bottom-bar — Bottom Info Bar Cover + +Full-width centered title + bottom dark info bar. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:0 48pt;"> + <h1 style="font-size:34pt; font-weight:bold; color:${primary-80}; margin:0 0 12pt 0; line-height:1.15; text-align:center; max-width:580pt;">Presentation Main Title</h1> + <p style="font-size:18pt; font-weight:bold; color:${primary-60}; margin:0; line-height:1.3; text-align:center; max-width:480pt;">Subtitle description text</p> + </div> + <div style="width:720pt; height:48pt; background:${primary-90}; + display:flex; align-items:center; justify-content:center; gap:24pt;"> + <p style="font-size:13pt; color:${on-dark-secondary}; margin:0; line-height:1;">Presenter: John Smith</p> + <p style="font-size:13pt; color:${on-dark-secondary}; margin:0; line-height:1;">December 2024</p> + <p style="font-size:13pt; color:${on-dark-secondary}; margin:0; line-height:1;">Product Department</p> + </div> +</body> +``` + +<a id="cover-photo-mask"></a> +### cover-photo-mask — Background Image + Mask Cover + +Full-screen image + dark mask + centered title. **Download image first**: `curl -L "https://source.unsplash.com/1920x1080/?keyword" -o cover-bg.jpg` + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-image:url('cover-bg.jpg'); background-size:cover; background-position:center; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="position:absolute; top:0; left:0; width:720pt; height:405pt; + background-color:rgba(26,51,64,0.75);"></div> + <div style="position:relative; z-index:1; flex:1; display:flex; flex-direction:column; + justify-content:center; align-items:center;"> + <div style="width:40pt; height:3pt; background:${accent}; margin:0 0 24pt 0;"></div> + <h1 style="font-size:34pt; font-weight:bold; color:${on-dark}; margin:0 0 12pt 0; line-height:1.15; text-align:center; max-width:580pt;">Presentation Title Here</h1> + <p style="font-size:18pt; color:${on-dark-secondary}; margin:0 0 32pt 0; line-height:1.3; text-align:center; max-width:480pt;">Subtitle or one-line overview</p> + <p style="font-size:13pt; color:${on-dark-secondary}; margin:0; line-height:1.5; text-align:center;">Presenter · Date</p> + </div> +</body> +``` +**Mask color rule**: Replace `rgba(26,51,64,0.75)` RGB with theme's primary-90 value. + +<a id="cover-dark-hero"></a> +### cover-dark-hero — Dark Background Hero Cover (No Photo Needed) + +> `centered | low | dark | none` — ideal fallback when Unsplash fails, strong minimalist opening. + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${primary-100};font-family:'Microsoft YaHei',sans-serif;"> + <div style="height:4pt;background:${accent};"></div> + <div style="height:401pt;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 80pt;"> + <div style="width:10pt;height:10pt;border-radius:50%;background:${accent};margin-bottom:24pt;"></div> + <span style="font-size:40pt;font-weight:bold;color:${on-dark};text-align:center;line-height:1.2;">Presentation Title</span> + <div style="width:48pt;height:3pt;background:${accent};margin:20pt 0;"></div> + <span style="font-size:18pt;color:${on-dark-secondary};text-align:center;line-height:1.4;">Subtitle or one-line description</span> + <span style="font-size:13pt;color:${on-dark-secondary};margin-top:28pt;">Presenter · Date</span> + </div> +</body> +``` + +--- + +## TOC Components + +<a id="toc-sidebar-list"></a> +### toc-sidebar-list — Sidebar + Numbered List + +Left dark sidebar (30%) + right numbered chapter list. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:row;"> + <div style="width:216pt; height:405pt; background:${primary-90}; + display:flex; flex-direction:column; justify-content:center; padding:0 32pt;"> + <p style="font-size:13pt; color:${accent}; margin:0 0 8pt 0; line-height:1; text-transform:uppercase; letter-spacing:2pt;">CONTENTS</p> + <h2 style="font-size:28pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.2;">Contents</h2> + </div> + <div style="width:504pt; height:405pt; + display:flex; flex-direction:column; justify-content:center; padding:0 48pt;"> + <div style="display:flex; align-items:baseline; padding:16pt 0; border-bottom:1pt solid ${primary-10};"> + <p style="font-size:22pt; font-weight:bold; color:${accent}; margin:0; line-height:1; width:48pt;">01</p> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.3;">Chapter One Title</p> + </div> + <div style="display:flex; align-items:baseline; padding:16pt 0; border-bottom:1pt solid ${primary-10};"> + <p style="font-size:22pt; font-weight:bold; color:${accent}; margin:0; line-height:1; width:48pt;">02</p> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.3;">Chapter Two Title</p> + </div> + <!-- Continue for chapters 03, 04... --> + </div> +</body> +``` + +<a id="toc-card-grid"></a> +### toc-card-grid — Card Grid TOC + +One numbered card per chapter, 3-4 columns. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${surface}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="padding:40pt 48pt 24pt 48pt;"> + <h2 style="font-size:28pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.2;">Contents</h2> + </div> + <div style="display:flex; gap:16pt; padding:0 48pt; flex:1;"> + <div style="width:140pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; + padding:24pt 16pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); display:flex; flex-direction:column;"> + <p style="font-size:32pt; font-weight:bold; color:${accent}; margin:0 0 12pt 0; line-height:1;">01</p> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3;">Chapter Title</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Brief description</p> + </div> + <div style="width:140pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; + padding:24pt 16pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); display:flex; flex-direction:column;"> + <p style="font-size:32pt; font-weight:bold; color:${accent}; margin:0 0 12pt 0; line-height:1;">02</p> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3;">Chapter Title</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Brief description</p> + </div> + <!-- Continue cards 03, 04... --> + </div> + <div style="height:36pt;"></div> +</body> +``` + +<a id="toc-timeline"></a> +### toc-timeline — Horizontal Timeline TOC + +Horizontal nodes + connecting lines + chapter titles. For sequential content. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="padding:40pt 48pt 32pt 48pt;"> + <h2 style="font-size:28pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.2;">Contents</h2> + </div> + <div style="flex:1; padding:0 48pt; display:flex; flex-direction:column; justify-content:center;"> + <div style="width:524pt; height:2pt; background:${primary-10}; margin:0 auto 0 50pt;"></div> + <div style="display:flex; justify-content:space-between; padding:0 24pt; margin-top:8pt;"> + <div style="display:flex; flex-direction:column; align-items:center; width:120pt;"> + <div style="width:28pt; height:28pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:#FFFFFF; margin:0; line-height:1;">01</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:12pt 0 4pt 0; line-height:1.3; text-align:center;">Chapter Title</p> + <p style="font-size:11pt; color:${primary-40}; margin:0; line-height:1.4; text-align:center;">Brief description</p> + </div> + <div style="display:flex; flex-direction:column; align-items:center; width:120pt;"> + <div style="width:28pt; height:28pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:#FFFFFF; margin:0; line-height:1;">02</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:12pt 0 4pt 0; line-height:1.3; text-align:center;">Chapter Title</p> + <p style="font-size:11pt; color:${primary-40}; margin:0; line-height:1.4; text-align:center;">Brief description</p> + </div> + <!-- Continue nodes 03, 04... --> + </div> + </div> + <div style="height:36pt;"></div> +</body> +``` + +<a id="toc-big-number"></a> +### toc-big-number — Large Number Background TOC + +Extra-large semi-transparent numbers as background, chapter titles float on top. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="padding:40pt 48pt 16pt 48pt;"> + <h2 style="font-size:28pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.2;">Contents</h2> + </div> + <div style="flex:1; padding:0 48pt; display:flex; flex-direction:column; justify-content:center; gap:8pt;"> + <div style="display:flex; align-items:center; padding:12pt 24pt; + background:${surface}; border-radius:10pt; position:relative; overflow:hidden;"> + <p style="font-size:56pt; font-weight:bold; color:rgba(27,42,74,0.06); margin:0; line-height:1; position:absolute; right:16pt; top:-4pt;">01</p> + <div style="width:3pt; height:32pt; background:${accent}; margin:0 16pt 0 0; border-radius:2pt;"></div> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.3; flex:1; min-width:0;">Chapter One Title</p> + </div> + <div style="display:flex; align-items:center; padding:12pt 24pt; + background:${surface}; border-radius:10pt; position:relative; overflow:hidden;"> + <p style="font-size:56pt; font-weight:bold; color:rgba(27,42,74,0.06); margin:0; line-height:1; position:absolute; right:16pt; top:-4pt;">02</p> + <div style="width:3pt; height:32pt; background:${accent}; margin:0 16pt 0 0; border-radius:2pt;"></div> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.3; flex:1; min-width:0;">Chapter Two Title</p> + </div> + <!-- Continue rows 03, 04... --> + </div> + <div style="height:36pt;"></div> +</body> +``` + +--- + +## Content Page Components + +<a id="content-header-bullets"></a> +### content-header-bullets — Header Bar + Bullet List + +Dark header bar + bullet point list with left accent bars. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;">Page Title</h2> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt; gap:12pt;"> + <div style="display:flex; align-items:flex-start; gap:12pt;"> + <div style="width:3pt; min-height:36pt; background:${accent}; border-radius:2pt; margin-top:2pt;"></div> + <div style="flex:1; min-width:0;"> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.5;">Key Point Title One</p> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5;">Description text for the key point</p> + </div> + </div> + <div style="display:flex; align-items:flex-start; gap:12pt;"> + <div style="width:3pt; min-height:36pt; background:${accent}; border-radius:2pt; margin-top:2pt;"></div> + <div style="flex:1; min-width:0;"> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.5;">Key Point Title Two</p> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5;">Description text for the key point</p> + </div> + </div> + <!-- Continue points 3, 4, 5... --> + </div> +</body> +``` + +<a id="content-split-text-visual"></a> +### content-split-text-visual — Text / Image Split + +Left text (40%) + right image/chart (60%). **For image-left layout, swap the two columns** (put the image div first at `width:360pt`, text div second at `width:240pt`). + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="width:720pt;height:56pt;background:${primary-90};display:flex;align-items:center;padding:0 48pt;"> + <h2 style="font-size:22pt;font-weight:bold;color:${on-dark};margin:0;line-height:1.25;">Page Title</h2> + </div> + <div style="flex:1;display:flex;padding:0 48pt;gap:24pt;align-items:center;"> + <div style="width:240pt;display:flex;flex-direction:column;justify-content:center;"> + <p style="font-size:18pt;font-weight:bold;color:${primary-80};margin:0 0 12pt 0;line-height:1.3;">Sub-heading</p> + <ul style="font-size:15pt;color:${primary-60};margin:0;padding-left:20pt;line-height:23pt;"> + <li>First key point</li> + <li>Second key point</li> + <li>Third key point</li> + </ul> + <p style="font-size:11pt;color:${primary-40};margin:16pt 0 0 0;line-height:1.4;">Source: 2024 Annual Report</p> + </div> + <div style="width:360pt;background:${surface};border-radius:10pt;display:flex;align-items:center;justify-content:center;min-height:200pt;"> + <img src="content-img.jpg" style="width:360pt;height:240pt;object-fit:cover;border-radius:10pt;display:block;" /> + </div> + </div> +</body> +``` + +<a id="content-split-equal"></a> +### content-split-equal — Equal 50/50 Split + +Two equal columns with a vertical divider. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;">Page Title</h2> + </div> + <div style="flex:1; display:flex; padding:0 48pt; gap:16pt; align-items:center;"> + <div style="width:296pt; flex-shrink:0;"> + <div style="width:40pt; height:3pt; background:${accent}; margin:0 0 12pt 0;"></div> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3;">Left Column Title</p> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5;">Left column content text.</p> + </div> + <div style="width:1pt; height:180pt; background:${primary-10};"></div> + <div style="width:296pt; flex-shrink:0;"> + <div style="width:40pt; height:3pt; background:${accent}; margin:0 0 12pt 0;"></div> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3;">Right Column Title</p> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5;">Right column content text.</p> + </div> + </div> +</body> +``` + +<a id="content-sidebar-stat"></a> +### content-sidebar-stat — Sidebar Large Number + Right Content + +Left narrow sidebar with KPIs, right side with detailed content. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:row;"> + <div style="width:200pt; height:405pt; background:${primary-90}; + display:flex; flex-direction:column; justify-content:center; align-items:center; padding:0 24pt;"> + <p style="font-size:40pt; font-weight:bold; color:${accent}; margin:0 0 8pt 0; line-height:1; text-align:center;">86%</p> + <p style="font-size:13pt; color:${on-dark-secondary}; margin:0; line-height:1.4; text-align:center;">User Satisfaction</p> + <div style="width:32pt; height:1.5pt; background:${accent}; margin:24pt 0;"></div> + <p style="font-size:40pt; font-weight:bold; color:${accent}; margin:0 0 8pt 0; line-height:1; text-align:center;">2.4×</p> + <p style="font-size:13pt; color:${on-dark-secondary}; margin:0; line-height:1.4; text-align:center;">Efficiency Improvement</p> + </div> + <div style="width:520pt; display:flex; flex-direction:column;"> + <div style="padding:40pt 48pt 16pt 40pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.25;">Core Business Results</h2> + </div> + <div style="padding:0 48pt 0 40pt; flex:1;"> + <ul style="font-size:15pt; color:${primary-60}; margin:0; padding-left:20pt; line-height:23pt;"> + <li>User satisfaction rose from 72% to 86%</li> + <li>Operational efficiency improved 2.4x YoY</li> + <li>Client renewal rate reached 95%</li> + <li>New customer acquisition cost reduced by 35%</li> + </ul> + </div> + </div> +</body> +``` + +<a id="content-kpi-row"></a> +### content-kpi-row — KPI Large Numbers in a Row + +2-4 key data indicators displayed horizontally, cards with shadow elevation. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${surface}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;">Core Business Metrics</h2> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt;"> + <div style="display:flex; gap:16pt; margin-bottom:16pt;"> + <div style="width:192pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; + padding:24pt 16pt; text-align:center; box-shadow:0 3pt 10pt rgba(0,0,0,0.08);"> + <p style="font-size:40pt; font-weight:bold; color:${accent}; margin:0 0 8pt 0; line-height:1;">86%</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.4;">User Retention Rate</p> + </div> + <div style="width:192pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; + padding:24pt 16pt; text-align:center; box-shadow:0 3pt 10pt rgba(0,0,0,0.08);"> + <p style="font-size:40pt; font-weight:bold; color:${accent}; margin:0 0 8pt 0; line-height:1;">2.4×</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.4;">Customer Acquisition Efficiency</p> + </div> + <!-- Continue KPI card 3 (and 4)... --> + </div> + <p style="font-size:11pt; color:${primary-40}; margin:0; line-height:1.4;">Data source: 2024 Annual User Survey | Period: Jan-Dec 2024</p> + </div> +</body> +``` + +<a id="content-kpi-vertical"></a> +### content-kpi-vertical — KPI Numbers Vertical Stack + +> `focus | medium | light | outline` + +Left dark sidebar title + right KPI stack with outline cards. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:row;"> + <div style="width:240pt; height:405pt; background:${primary-90}; + display:flex; flex-direction:column; justify-content:center; padding:0 32pt;"> + <div style="width:32pt; height:3pt; background:${accent}; margin:0 0 16pt 0;"></div> + <h2 style="font-size:28pt; font-weight:bold; color:${on-dark}; margin:0 0 8pt 0; line-height:1.2;">Key Metrics</h2> + <p style="font-size:13pt; color:${on-dark-secondary}; margin:0; line-height:1.5;">Performance highlights for 2024</p> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 40pt; gap:16pt;"> + <div style="display:flex; align-items:center; gap:24pt; padding:16pt 24pt; + border:1.5pt solid ${primary-20}; border-radius:10pt;"> + <p style="font-size:40pt; font-weight:bold; color:${accent}; margin:0; line-height:1; white-space:nowrap;">92%</p> + <div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Customer Satisfaction</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Up 12 points from prior year</p> + </div> + </div> + <div style="display:flex; align-items:center; gap:24pt; padding:16pt 24pt; + border:1.5pt solid ${primary-20}; border-radius:10pt;"> + <p style="font-size:40pt; font-weight:bold; color:${accent}; margin:0; line-height:1; white-space:nowrap;">3.1×</p> + <div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Revenue Growth</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Fastest in company history</p> + </div> + </div> + <!-- Continue KPI item 3... --> + </div> +</body> +``` + +<a id="content-comparison"></a> +### content-comparison — A vs B (or A vs B vs C) Comparison + +Comparison cards with top accent border. **For 2-way**: two cards at `width:296pt`. **For 3-way**: three cards at `width:192pt;flex-shrink:0` with border colors `${accent}` / `${primary-60}` / `${primary-40}`. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="width:720pt;height:56pt;background:${primary-90};display:flex;align-items:center;padding:0 48pt;"> + <h2 style="font-size:22pt;font-weight:bold;color:${on-dark};margin:0;line-height:1.25;">Plan Comparison</h2> + </div> + <div style="flex:1;display:flex;justify-content:center;align-items:center;padding:0 48pt;gap:16pt;"> + <div style="width:296pt;height:240pt;background:${surface};border-radius:10pt;padding:24pt;border-top:3pt solid ${accent};"> + <p style="font-size:18pt;font-weight:bold;color:${primary-80};margin:0 0 16pt 0;line-height:1.3;">Plan A</p> + <ul style="font-size:15pt;color:${primary-60};margin:0;padding-left:20pt;line-height:23pt;"> + <li>Advantage one</li> + <li>Advantage two</li> + <li>Advantage three</li> + </ul> + </div> + <div style="width:296pt;height:240pt;background:${surface};border-radius:10pt;padding:24pt;border-top:3pt solid ${primary-40};"> + <p style="font-size:18pt;font-weight:bold;color:${primary-80};margin:0 0 16pt 0;line-height:1.3;">Plan B</p> + <ul style="font-size:15pt;color:${primary-60};margin:0;padding-left:20pt;line-height:23pt;"> + <li>Feature one</li> + <li>Feature two</li> + <li>Feature three</li> + </ul> + </div> + <!-- For 3-way: add third card at width:192pt, border-top:3pt solid ${primary-40}; reduce other cards to width:192pt --> + </div> +</body> +``` + +<a id="content-timeline"></a> +### content-timeline — Horizontal Process/Steps + +Horizontal step nodes + descriptions. 3-5 steps. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;">Implementation Roadmap</h2> + </div> + <div style="flex:1; padding:32pt 48pt 36pt 48pt; display:flex; flex-direction:column; justify-content:center;"> + <div style="width:524pt; height:2pt; background:${primary-10}; margin:0 auto 0 48pt;"></div> + <div style="display:flex; justify-content:space-between; padding:0 16pt; margin-top:8pt;"> + <div style="width:140pt; display:flex; flex-direction:column; align-items:center;"> + <div style="width:32pt; height:32pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:15pt; font-weight:bold; color:#FFFFFF; margin:0; line-height:1;">1</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:12pt 0 4pt 0; line-height:1.3; text-align:center;">Requirements Analysis</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5; text-align:center;">Research user needs</p> + </div> + <div style="width:140pt; display:flex; flex-direction:column; align-items:center;"> + <div style="width:32pt; height:32pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:15pt; font-weight:bold; color:#FFFFFF; margin:0; line-height:1;">2</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:12pt 0 4pt 0; line-height:1.3; text-align:center;">Solution Design</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5; text-align:center;">Implementation plan</p> + </div> + <!-- Continue steps 3, 4... --> + </div> + </div> +</body> +``` + +<a id="content-timeline-vertical"></a> +### content-timeline-vertical — Vertical Timeline + +> `timeline | medium | light | none` — Vertical flow with numbered nodes and connecting lines. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="padding:32pt 48pt 16pt 48pt;"> + <h2 style="font-size:28pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.2;">Timeline</h2> + <div style="width:40pt; height:3pt; background:${accent};"></div> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt;"> + <div style="display:flex; align-items:flex-start; gap:16pt; margin-bottom:20pt;"> + <div style="display:flex; flex-direction:column; align-items:center; flex-shrink:0;"> + <div style="width:28pt; height:28pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:#FFFFFF; margin:0; line-height:1;">1</p> + </div> + <div style="width:2pt; height:24pt; background:${primary-10};"></div> + </div> + <div style="padding-top:4pt;"> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Phase One — Discovery</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Research and stakeholder interviews</p> + </div> + </div> + <div style="display:flex; align-items:flex-start; gap:16pt; margin-bottom:20pt;"> + <div style="display:flex; flex-direction:column; align-items:center; flex-shrink:0;"> + <div style="width:28pt; height:28pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:#FFFFFF; margin:0; line-height:1;">2</p> + </div> + <div style="width:2pt; height:24pt; background:${primary-10};"></div> + </div> + <div style="padding-top:4pt;"> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Phase Two — Design</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Prototyping and iterative design</p> + </div> + </div> + <!-- Continue phases 3, 4... --> + </div> +</body> +``` + +<a id="content-icon-grid"></a> +### content-icon-grid — 2×3 Icon Grid + +Grid display of 6 features. **Two independent flex rows, no flex-wrap**. Icon positions use colored circle placeholders. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;">Core Features</h2> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt;"> + <div style="display:flex; gap:16pt; margin-bottom:24pt;"> + <div style="width:192pt; display:flex; flex-direction:column; align-items:flex-start;"> + <div style="width:36pt; height:36pt; border-radius:8pt; background:${primary-10}; display:flex; align-items:center; justify-content:center; margin-bottom:8pt;"> + <p style="font-size:18pt; color:${accent}; margin:0; line-height:1;">⚡</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.5;">Feature Name</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Brief description</p> + </div> + <div style="width:192pt; display:flex; flex-direction:column; align-items:flex-start;"> + <div style="width:36pt; height:36pt; border-radius:8pt; background:${primary-10}; display:flex; align-items:center; justify-content:center; margin-bottom:8pt;"> + <p style="font-size:18pt; color:${accent}; margin:0; line-height:1;">📊</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.5;">Feature Name</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Brief description</p> + </div> + <div style="width:192pt; display:flex; flex-direction:column; align-items:flex-start;"> + <div style="width:36pt; height:36pt; border-radius:8pt; background:${primary-10}; display:flex; align-items:center; justify-content:center; margin-bottom:8pt;"> + <p style="font-size:18pt; color:${accent}; margin:0; line-height:1;">🔒</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.5;">Feature Name</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Brief description</p> + </div> + </div> + <!-- Row 2: repeat same structure with 3 more icon items --> + </div> +</body> +``` + +<a id="content-2x2-grid"></a> +### content-2x2-grid — Four-Quadrant Grid (Shadow Cards) + +Four equal-sized cards. **Two independent flex rows, no flex-wrap**. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;">Four Core Pillars</h2> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt;"> + <div style="display:flex; gap:16pt; margin-bottom:16pt;"> + <div style="width:296pt; height:113pt; background:${surface}; border-radius:10pt; padding:16pt 20pt;"> + <p style="font-size:18pt; font-weight:bold; color:${accent}; margin:0 0 8pt 0; line-height:1.3;">Pillar One</p> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5;">Description content</p> + </div> + <div style="width:296pt; height:113pt; background:${surface}; border-radius:10pt; padding:16pt 20pt;"> + <p style="font-size:18pt; font-weight:bold; color:${accent}; margin:0 0 8pt 0; line-height:1.3;">Pillar Two</p> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5;">Description content</p> + </div> + </div> + <!-- Row 2: same structure for Pillars Three and Four --> + </div> +</body> +``` + +<a id="content-2x2-grid-outline"></a> +### content-2x2-grid-outline — Four-Quadrant Grid (Outline Cards) + +> `grid | high | light | outline` — Same layout as content-2x2-grid but card style is outline. + +**Diff from shadow version**: Replace card div `background:${surface}; border-radius:10pt;` with: +``` +border:1.5pt solid ${primary-20}; border-radius:10pt; padding:16pt 20pt; +``` +Remove any `box-shadow`. All other structure identical. + +<a id="content-2x2-grid-solid"></a> +### content-2x2-grid-solid — Four-Quadrant Grid (Solid Dark Cards) + +> `grid | high | dark | solid` — Dark background + solid primary-colored cards. + +**Diff from shadow version**: Background is `${primary-90}`, cards use `background:${primary-80}`, text colors switch to `${on-dark}` / `${on-dark-secondary}`. Title uses `${on-dark}` with accent underline divider. No box-shadow. + +<a id="content-full-bleed"></a> +### content-full-bleed — Full-Bleed Color Block Emphasis Page + +Full dark background + decorative element + key insight. For visual rhythm variation. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${primary-90}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column; justify-content:center; align-items:center;"> + <div style="width:48pt; height:48pt; border-radius:50%; background:${accent}; + display:flex; align-items:center; justify-content:center; margin:0 0 24pt 0;"> + <p style="font-size:22pt; font-weight:bold; color:${primary-90}; margin:0; line-height:1;">★</p> + </div> + <h2 style="font-size:28pt; font-weight:bold; color:${on-dark}; margin:0 0 16pt 0; line-height:1.3; text-align:center; max-width:520pt;">Core Insight or Key Quote</h2> + <div style="width:40pt; height:3pt; background:${accent}; margin:0 0 16pt 0;"></div> + <p style="font-size:15pt; color:${on-dark-secondary}; margin:0; line-height:1.5; text-align:center; max-width:440pt;">Supporting text to explain or expand on the core insight</p> +</body> +``` + +<a id="content-left-accent-bar"></a> +### content-left-accent-bar — Left Accent Bar Emphasis Page + +Left thick accent bar + left color block + right content with numbered points. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:row;"> + <div style="width:8pt; height:405pt; background:${accent};"></div> + <div style="width:200pt; height:405pt; background:${primary-5}; + display:flex; flex-direction:column; justify-content:center; padding:0 24pt;"> + <p style="font-size:44pt; font-weight:bold; color:${accent}; margin:0 0 8pt 0; line-height:1;">!</p> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.3;">Key Conclusion</p> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt 0 32pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${primary-80}; margin:0 0 16pt 0; line-height:1.25;">Conclusion Title</h2> + <div style="display:flex; flex-direction:column; gap:12pt;"> + <div style="display:flex; align-items:flex-start; gap:12pt;"> + <div style="width:24pt; height:24pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2pt;"> + <p style="font-size:11pt; font-weight:bold; color:${primary-90}; margin:0; line-height:1;">1</p> + </div> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5; flex:1; min-width:0;">Detailed description of the first conclusion point</p> + </div> + <div style="display:flex; align-items:flex-start; gap:12pt;"> + <div style="width:24pt; height:24pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2pt;"> + <p style="font-size:11pt; font-weight:bold; color:${primary-90}; margin:0; line-height:1;">2</p> + </div> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5; flex:1; min-width:0;">Detailed description of the second conclusion point</p> + </div> + <!-- Continue points 3, 4... --> + </div> + </div> +</body> +``` + +<a id="content-stagger-list"></a> +### content-stagger-list — Staggered List + +Each item has a differently colored number block. For processes, rankings, priority lists. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${surface}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="padding:32pt 48pt 16pt 48pt;"> + <h2 style="font-size:28pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.2;">List Title</h2> + <div style="width:40pt; height:3pt; background:${accent};"></div> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt;"> + <div style="display:flex; align-items:center; gap:16pt; margin-bottom:16pt;"> + <div style="width:48pt; height:48pt; border-radius:10pt; background:${primary-80}; display:flex; align-items:center; justify-content:center; flex-shrink:0;"> + <p style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">01</p> + </div> + <div style="flex:1; min-width:0;"> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Step One Title</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Description text</p> + </div> + </div> + <div style="display:flex; align-items:center; gap:16pt; margin-bottom:16pt;"> + <div style="width:48pt; height:48pt; border-radius:10pt; background:${primary-60}; display:flex; align-items:center; justify-content:center; flex-shrink:0;"> + <p style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">02</p> + </div> + <div style="flex:1; min-width:0;"> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Step Two Title</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Description text</p> + </div> + </div> + <!-- Continue items 03 (${primary-40}), 04 (${accent})... varying bg colors --> + </div> +</body> +``` + +<a id="content-big-number-focus"></a> +### content-big-number-focus — Large Number Focus Page + +Oversized number + explanatory text. For data highlights, milestones. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${primary-5}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:row;"> + <div style="width:360pt; height:405pt; background:${primary-90}; + display:flex; flex-direction:column; justify-content:center; align-items:center;"> + <p style="font-size:44pt; font-weight:bold; color:${accent}; margin:0 0 8pt 0; line-height:1;">15 Million</p> + <div style="width:40pt; height:3pt; background:${accent}; margin:0 0 12pt 0;"></div> + <p style="font-size:15pt; color:${on-dark-secondary}; margin:0; line-height:1.5; text-align:center;">Number Meaning Label</p> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 40pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${primary-80}; margin:0 0 16pt 0; line-height:1.25;">The Story Behind the Number</h2> + <p style="font-size:15pt; color:${primary-60}; margin:0 0 16pt 0; line-height:1.6;">Detailed interpretation and background explanation</p> + <div style="display:flex; gap:24pt;"> + <div> + <p style="font-size:22pt; font-weight:bold; color:${accent}; margin:0; line-height:1;">85%</p> + <p style="font-size:11pt; color:${primary-40}; margin:4pt 0 0 0; line-height:1.3;">Related Metric A</p> + </div> + <div> + <p style="font-size:22pt; font-weight:bold; color:${accent}; margin:0; line-height:1;">3.2x</p> + <p style="font-size:11pt; color:${primary-40}; margin:4pt 0 0 0; line-height:1.3;">Related Metric B</p> + </div> + </div> + </div> +</body> +``` + +<a id="content-three-column"></a> +### content-three-column — Three-Column Equal-Width Content + +Three columns with circular icons + vertical dividers. For "three advantages", "three phases", etc. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="padding:32pt 48pt 0 48pt;"> + <h2 style="font-size:28pt;font-weight:bold;color:${primary-80};margin:0 0 4pt 0;line-height:1.2;">Three-Column Title</h2> + <div style="width:40pt;height:3pt;background:${accent};"></div> + </div> + <div style="flex:1;display:flex;justify-content:center;align-items:center;padding:0 48pt;gap:24pt;"> + <div style="width:184pt;display:flex;flex-direction:column;align-items:center;text-align:center;"> + <div style="width:56pt;height:56pt;border-radius:50%;background:${primary-10};border:3pt solid ${accent};display:flex;align-items:center;justify-content:center;margin-bottom:16pt;"> + <p style="font-size:22pt;font-weight:bold;color:${accent};margin:0;line-height:1;">A</p> + </div> + <p style="font-size:18pt;font-weight:bold;color:${primary-80};margin:0 0 8pt 0;line-height:1.3;">Column One Title</p> + <p style="font-size:13pt;color:${primary-40};margin:0;line-height:1.5;">Brief description text</p> + </div> + <div style="width:1pt;height:140pt;background:${primary-10};"></div> + <!-- Column B: same structure, letter "B", "Column Two Title" --> + <div style="width:1pt;height:140pt;background:${primary-10};"></div> + <!-- Column C: same structure, letter "C", "Column Three Title" --> + </div> +</body> +``` + +<a id="content-three-card"></a> +### content-three-card — Three Card Columns + +> `grid | medium | light | shadow` — Three equal shadow cards with icon boxes. Different from three-column (which has circle icons + dividers). + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${surface}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;">Three Key Aspects</h2> + </div> + <div style="flex:1; display:flex; justify-content:center; align-items:center; padding:0 48pt; gap:16pt;"> + <div style="width:192pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; padding:24pt 16pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08);"> + <div style="width:36pt; height:36pt; border-radius:8pt; background:${primary-10}; display:flex; align-items:center; justify-content:center; margin-bottom:12pt;"> + <p style="font-size:18pt; color:${accent}; margin:0; line-height:1;">A</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3;">Card Title One</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Descriptive text</p> + </div> + <div style="width:192pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; padding:24pt 16pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08);"> + <div style="width:36pt; height:36pt; border-radius:8pt; background:${primary-10}; display:flex; align-items:center; justify-content:center; margin-bottom:12pt;"> + <p style="font-size:18pt; color:${accent}; margin:0; line-height:1;">B</p> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3;">Card Title Two</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Descriptive text</p> + </div> + <!-- Card 3 same structure --> + </div> +</body> +``` + +<a id="content-split-photo"></a> +### content-split-photo — Left Text + Right Photo + +Left: title + text with accent bar. Right: photograph with rounded corners. **Requires downloaded image.** + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h1 style="font-size:28pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.2;">Page Title Here</h1> + </div> + <div style="flex:1; display:flex; flex-direction:row; justify-content:center; + padding:0 48pt; gap:24pt; align-items:center;"> + <div style="width:296pt; flex-shrink:0; display:flex; flex-direction:column; justify-content:center;"> + <div style="width:40pt; height:3pt; background:${accent}; margin:0 0 12pt 0;"></div> + <h2 style="font-size:22pt; font-weight:bold; color:${primary-80}; margin:0 0 12pt 0; line-height:1.3;">Sub-heading Text</h2> + <p style="font-size:15pt; color:${primary-60}; margin:0 0 10pt 0; line-height:1.5;">First paragraph explaining a key concept.</p> + <p style="font-size:15pt; color:${primary-60}; margin:0 0 10pt 0; line-height:1.5;">Second paragraph with additional evidence.</p> + <p style="font-size:15pt; color:${primary-60}; margin:0; line-height:1.5;">Third paragraph with concluding insight.</p> + </div> + <div style="width:296pt; flex-shrink:0; display:flex; align-items:center; justify-content:center;"> + <div style="border-radius:10pt; overflow:hidden; box-shadow:0 4pt 16pt rgba(0,0,0,0.12);"> + <img src="content-img.jpg" style="width:296pt; height:220pt; object-fit:cover; display:block;" /> + </div> + </div> + </div> +</body> +``` + +<a id="content-photo-cards"></a> +### content-photo-cards — Three Photo Cards + +Three cards, each with photo header, title, and description. **Requires 3 downloaded images.** + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${primary-5}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h1 style="font-size:28pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.2;">Page Title Here</h1> + </div> + <div style="flex:1; display:flex; flex-direction:column; justify-content:center;"> + <div style="display:flex; gap:16pt; padding:0 48pt;"> + <div style="width:192pt; flex-shrink:0; background:${background}; border-radius:10pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); overflow:hidden;"> + <img src="card1.jpg" style="width:192pt; height:120pt; object-fit:cover; display:block;" /> + <div style="padding:16pt;"> + <h3 style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3; white-space:nowrap;">Card Title One</h3> + <p style="font-size:13pt; color:${primary-60}; margin:0; line-height:1.5;">Brief description</p> + </div> + </div> + <div style="width:192pt; flex-shrink:0; background:${background}; border-radius:10pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); overflow:hidden;"> + <img src="card2.jpg" style="width:192pt; height:120pt; object-fit:cover; display:block;" /> + <div style="padding:16pt;"> + <h3 style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3; white-space:nowrap;">Card Title Two</h3> + <p style="font-size:13pt; color:${primary-60}; margin:0; line-height:1.5;">Brief description</p> + </div> + </div> + <!-- Card 3 same structure with card3.jpg --> + </div> + </div> +</body> +``` + +<a id="content-stat-overlay"></a> +### content-stat-overlay — Hero Stat on Photo Background + +Full-screen photo + dark mask + large centered statistic. **Requires downloaded image.** + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-image:url('stat-bg.jpg'); background-size:cover; background-position:center; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="position:absolute; top:0; left:0; width:720pt; height:405pt; + background-color:rgba(26,51,64,0.80);"></div> + <div style="position:relative; z-index:1; flex:1; + display:flex; flex-direction:column; justify-content:center; align-items:center;"> + <p style="font-size:13pt; color:${on-dark-secondary}; margin:0 0 8pt 0; line-height:1; text-transform:uppercase; letter-spacing:2pt;">KEY METRIC</p> + <h1 style="font-size:72pt; font-weight:bold; color:${on-dark}; margin:0 0 4pt 0; line-height:1; white-space:nowrap;">2,500+</h1> + <p style="font-size:22pt; font-weight:bold; color:${accent}; margin:0 0 24pt 0; line-height:1; white-space:nowrap;">Active Users</p> + <p style="font-size:15pt; color:${on-dark-secondary}; margin:0; line-height:1.5; text-align:center; max-width:480pt;">Brief description providing context for this statistic</p> + <div style="width:40pt; height:3pt; background:${accent}; margin:24pt 0 0 0;"></div> + </div> +</body> +``` +**Mask color rule**: Replace `rgba(26,51,64,0.80)` RGB with theme's primary-90 value. + +<a id="content-photo-overlay"></a> +### content-photo-overlay — Full Photo + Floating Text Card + +> `full-bleed | low | image | frosted` — Full-screen photo + semi-transparent floating card. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-image:url('content-bg.jpg'); background-size:cover; background-position:center; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="position:absolute; top:0; left:0; width:720pt; height:405pt; + background-color:rgba(0,0,0,0.3);"></div> + <div style="position:relative; z-index:1; flex:1; display:flex; align-items:center; justify-content:flex-end; padding:0 48pt;"> + <div style="width:320pt; background:rgba(255,255,255,0.85); border-radius:10pt; padding:32pt 24pt; border:1pt solid rgba(255,255,255,0.5);"> + <div style="width:32pt; height:3pt; background:${accent}; margin:0 0 16pt 0;"></div> + <h2 style="font-size:22pt; font-weight:bold; color:${primary-80}; margin:0 0 12pt 0; line-height:1.25;">Section Title</h2> + <p style="font-size:15pt; color:${primary-60}; margin:0 0 12pt 0; line-height:1.5;">Key insight that complements the background image.</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1.5;">Supporting detail or data point</p> + </div> + </div> +</body> +``` + +<a id="content-chart-focus"></a> +### content-chart-focus — Chart-Focused Page + +> `split | medium | light | none` — Chart takes 70%, narrow text sidebar for interpretation. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;">Data Analysis</h2> + </div> + <div style="flex:1; display:flex; padding:0 48pt; gap:24pt; align-items:center;"> + <div class="placeholder" id="chart-area" style="width:400pt; flex-shrink:0; background:${surface}; border-radius:10pt; display:flex; align-items:center; justify-content:center; min-height:260pt;"><p style="font-size:13pt; color:${primary-40}; margin:0;">Chart Area</p></div> + <div style="width:176pt; display:flex; flex-direction:column; justify-content:center;"> + <div style="width:32pt; height:3pt; background:${accent}; margin:0 0 12pt 0;"></div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0 0 8pt 0; line-height:1.3;">Key Insight</p> + <p style="font-size:13pt; color:${primary-60}; margin:0 0 16pt 0; line-height:1.5;">Chart interpretation</p> + <div style="padding:12pt; background:${primary-5}; border-radius:8pt;"> + <p style="font-size:22pt; font-weight:bold; color:${accent}; margin:0 0 4pt 0; line-height:1; white-space:nowrap;">+42%</p> + <p style="font-size:11pt; color:${primary-40}; margin:0; line-height:1.4;">Year-over-year growth</p> + </div> + </div> + </div> +</body> +``` + +<a id="content-chart-bar"></a> +### content-chart-bar — Bar Chart + Key Metric Cards + +> `split | medium | light | none` — Chart placeholder takes left ~67%, right sidebar shows 3 KPI cards. Column widths: chart 420pt + gap 20pt + sidebar 184pt = 624pt. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="width:720pt;height:56pt;background:${primary-90};display:flex;align-items:center;padding:0 48pt;"> + <h2 style="font-size:22pt;font-weight:bold;color:${on-dark};margin:0;line-height:1.25;">Revenue by Quarter</h2> + </div> + <div style="flex:1;display:flex;padding:16pt 48pt;gap:20pt;align-items:center;"> + <div class="placeholder" id="chart-area" style="width:420pt;flex-shrink:0;background:${surface};border-radius:10pt;align-self:stretch;display:flex;align-items:center;justify-content:center;"> + <p style="font-size:13pt;color:${primary-40};margin:0;">Bar Chart</p> + </div> + <div style="width:184pt;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:12pt;"> + <div style="padding:12pt;background:${surface};border-radius:8pt;border-left:3pt solid ${accent};"> + <p style="font-size:11pt;color:${primary-40};margin:0 0 4pt 0;line-height:1.3;">Q4(最高)</p> + <p style="font-size:20pt;font-weight:bold;color:${accent};margin:0;line-height:1;white-space:nowrap;">$2.1M</p> + </div> + <div style="padding:12pt;background:${surface};border-radius:8pt;border-left:3pt solid ${primary-40};"> + <p style="font-size:11pt;color:${primary-40};margin:0 0 4pt 0;line-height:1.3;">全年总计</p> + <p style="font-size:20pt;font-weight:bold;color:${primary-80};margin:0;line-height:1;white-space:nowrap;">$6.6M</p> + </div> + <div style="padding:12pt;background:${surface};border-radius:8pt;border-left:3pt solid ${primary-40};"> + <p style="font-size:11pt;color:${primary-40};margin:0 0 4pt 0;line-height:1.3;">同比增长</p> + <p style="font-size:20pt;font-weight:bold;color:${primary-80};margin:0;line-height:1;white-space:nowrap;">+32%</p> + </div> + </div> + </div> +</body> +``` + +<a id="content-chart-pie"></a> +### content-chart-pie — Pie Chart + Legend & Insight + +> `split | medium | light | none` — Square chart placeholder on left (260×260pt), legend + insight on right (332pt). Legend items use colored dot + label + percentage. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="width:720pt;height:56pt;background:${primary-90};display:flex;align-items:center;padding:0 48pt;"> + <h2 style="font-size:22pt;font-weight:bold;color:${on-dark};margin:0;line-height:1.25;">Market Share Distribution</h2> + </div> + <div style="flex:1;display:flex;padding:0 48pt;gap:32pt;align-items:center;"> + <div class="placeholder" id="chart-area" style="width:260pt;height:260pt;flex-shrink:0;background:${surface};border-radius:10pt;display:flex;align-items:center;justify-content:center;"> + <p style="font-size:13pt;color:${primary-40};margin:0;">Pie Chart</p> + </div> + <div style="width:332pt;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:12pt;"> + <div style="display:flex;align-items:center;gap:10pt;"> + <div style="width:11pt;height:11pt;border-radius:50%;background:${accent};flex-shrink:0;"></div> + <p style="font-size:13pt;color:${primary-80};margin:0;flex:1;line-height:1.3;">Category A</p> + <p style="font-size:15pt;font-weight:bold;color:${accent};margin:0;white-space:nowrap;">42%</p> + </div> + <div style="display:flex;align-items:center;gap:10pt;"> + <div style="width:11pt;height:11pt;border-radius:50%;background:${primary-60};flex-shrink:0;"></div> + <p style="font-size:13pt;color:${primary-80};margin:0;flex:1;line-height:1.3;">Category B</p> + <p style="font-size:15pt;font-weight:bold;color:${primary-60};margin:0;white-space:nowrap;">28%</p> + </div> + <div style="display:flex;align-items:center;gap:10pt;"> + <div style="width:11pt;height:11pt;border-radius:50%;background:${primary-40};flex-shrink:0;"></div> + <p style="font-size:13pt;color:${primary-80};margin:0;flex:1;line-height:1.3;">Category C</p> + <p style="font-size:15pt;font-weight:bold;color:${primary-40};margin:0;white-space:nowrap;">18%</p> + </div> + <div style="display:flex;align-items:center;gap:10pt;"> + <div style="width:11pt;height:11pt;border-radius:50%;background:${primary-20};flex-shrink:0;"></div> + <p style="font-size:13pt;color:${primary-80};margin:0;flex:1;line-height:1.3;">Others</p> + <p style="font-size:15pt;font-weight:bold;color:${primary-20};margin:0;white-space:nowrap;">12%</p> + </div> + <div style="height:1pt;background:${primary-10};"></div> + <p style="font-size:12pt;color:${primary-40};margin:0;line-height:1.5;">Key insight explaining the most important takeaway from the distribution.</p> + </div> + </div> +</body> +``` + +<a id="content-chart-line"></a> +### content-chart-line — Wide Line Chart + Trend Stats + +> `list | medium | light | none` — Accent stripe header (no dark bar). Wide chart placeholder stretches to fill vertical space, 4 stat cards pinned to the bottom. Chart area: 624pt wide × ~220pt tall. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="width:720pt;height:8pt;background:${accent};flex-shrink:0;"></div> + <div style="padding:16pt 48pt 8pt 48pt;display:flex;align-items:baseline;justify-content:space-between;flex-shrink:0;"> + <h2 style="font-size:24pt;font-weight:bold;color:${primary-80};margin:0;line-height:1.25;">Growth Trend</h2> + <p style="font-size:12pt;color:${primary-40};margin:0;white-space:nowrap;">2021 — 2025</p> + </div> + <div class="placeholder" id="chart-area" style="flex:1;margin:0 48pt 12pt 48pt;background:${surface};border-radius:10pt;display:flex;align-items:center;justify-content:center;"> + <p style="font-size:13pt;color:${primary-40};margin:0;">Line Chart</p> + </div> + <div style="display:flex;padding:0 48pt 16pt 48pt;gap:12pt;flex-shrink:0;"> + <div style="flex:1;padding:10pt 12pt;background:${surface};border-radius:8pt;"> + <p style="font-size:11pt;color:${primary-40};margin:0 0 3pt 0;white-space:nowrap;">起始值</p> + <p style="font-size:16pt;font-weight:bold;color:${primary-80};margin:0;line-height:1;white-space:nowrap;">$1.2M</p> + </div> + <div style="flex:1;padding:10pt 12pt;background:${accent};border-radius:8pt;"> + <p style="font-size:11pt;color:rgba(255,255,255,0.75);margin:0 0 3pt 0;white-space:nowrap;">当前值</p> + <p style="font-size:16pt;font-weight:bold;color:#FFFFFF;margin:0;line-height:1;white-space:nowrap;">$6.6M</p> + </div> + <div style="flex:1;padding:10pt 12pt;background:${surface};border-radius:8pt;"> + <p style="font-size:11pt;color:${primary-40};margin:0 0 3pt 0;white-space:nowrap;">CAGR</p> + <p style="font-size:16pt;font-weight:bold;color:${accent};margin:0;line-height:1;white-space:nowrap;">+41%</p> + </div> + <div style="flex:1;padding:10pt 12pt;background:${surface};border-radius:8pt;"> + <p style="font-size:11pt;color:${primary-40};margin:0 0 3pt 0;white-space:nowrap;">峰值时间</p> + <p style="font-size:16pt;font-weight:bold;color:${primary-80};margin:0;line-height:1;white-space:nowrap;">Q3 2025</p> + </div> + </div> +</body> +``` + +<a id="content-band-top"></a> +### content-band-top — Top Color Band + Content Below + +> `list | medium | light | none` + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="width:720pt;height:8pt;background:${accent};"></div> + <div style="padding:24pt 48pt 16pt 48pt;"> + <h2 style="font-size:28pt;font-weight:bold;color:${primary-80};margin:0 0 4pt 0;line-height:1.2;">Page Title</h2> + <p style="font-size:13pt;color:${primary-40};margin:0;line-height:1.5;">Subtitle</p> + </div> + <div style="flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 48pt;gap:12pt;"> + <div style="display:flex;align-items:flex-start;gap:12pt;"> + <div style="width:3pt;min-height:36pt;background:${accent};border-radius:2pt;margin-top:2pt;"></div> + <div style="flex:1; min-width:0;"><p style="font-size:15pt;font-weight:bold;color:${primary-80};margin:0 0 4pt 0;line-height:1.5;">Point One</p><p style="font-size:15pt;color:${primary-60};margin:0;line-height:1.5;">Explanation</p></div> + </div> + <div style="display:flex;align-items:flex-start;gap:12pt;"> + <div style="width:3pt;min-height:36pt;background:${accent};border-radius:2pt;margin-top:2pt;"></div> + <div style="flex:1; min-width:0;"><p style="font-size:15pt;font-weight:bold;color:${primary-80};margin:0 0 4pt 0;line-height:1.5;">Point Two</p><p style="font-size:15pt;color:${primary-60};margin:0;line-height:1.5;">Explanation</p></div> + </div> + <!-- More points... --> + </div> +</body> +``` + +<a id="content-table"></a> +### content-table — Structured Data Table with Zebra Rows + +> `data | medium | light | none` — **No `<table>` tags — rows are flex divs.** Column widths sum to 624pt. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="height:56pt;background:${primary-90};display:flex;align-items:center;padding:0 48pt;"><h2 style="font-size:22pt;font-weight:bold;color:${on-dark};margin:0;line-height:1.25;">Table Title</h2></div> + <div style="flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 48pt;"> + <div style="display:flex;background:${primary-80};border-radius:8pt 8pt 0 0;padding:10pt 16pt;"> + <p style="font-size:13pt;font-weight:bold;color:${on-dark};margin:0;width:180pt;">项目</p> + <p style="font-size:13pt;font-weight:bold;color:${on-dark};margin:0;width:111pt;text-align:right;">Q1</p> + <p style="font-size:13pt;font-weight:bold;color:${on-dark};margin:0;width:111pt;text-align:right;">Q2</p> + <p style="font-size:13pt;font-weight:bold;color:${on-dark};margin:0;width:111pt;text-align:right;">Q3</p> + <p style="font-size:13pt;font-weight:bold;color:${on-dark};margin:0;width:111pt;text-align:right;">Q4</p> + </div> + <div style="display:flex;background:${surface};padding:10pt 16pt;border-left:1pt solid ${primary-10};border-right:1pt solid ${primary-10};"> + <p style="font-size:13pt;color:${primary-80};margin:0;width:180pt;">Engineering</p> + <p style="font-size:13pt;color:${primary-60};margin:0;width:111pt;text-align:right;">$1.2M</p> + <p style="font-size:13pt;color:${primary-60};margin:0;width:111pt;text-align:right;">$1.5M</p> + <p style="font-size:13pt;color:${primary-60};margin:0;width:111pt;text-align:right;">$1.8M</p> + <p style="font-size:13pt;font-weight:bold;color:${accent};margin:0;width:111pt;text-align:right;">$2.1M</p> + </div> + <!-- More zebra rows alternating ${surface}/${background} --> + <div style="display:flex;background:${primary-10};padding:10pt 16pt;border-radius:0 0 8pt 8pt;"> + <p style="font-size:13pt;font-weight:bold;color:${primary-80};margin:0;width:180pt;">Total</p> + <p style="font-size:13pt;font-weight:bold;color:${primary-80};margin:0;width:111pt;text-align:right;">$4.0M</p> + <p style="font-size:13pt;font-weight:bold;color:${accent};margin:0;width:334pt;text-align:right;">$6.2M</p> + </div> + </div> +</body> +``` + +<a id="content-table-comparison"></a> +### content-table-comparison — Feature Comparison Matrix + +> `data | medium | light | tag` — Rows = options, columns = criteria, last column = tag. Tag colors: `${accent}` bg = recommended, `${primary-10}` bg = neutral/pass. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="height:56pt;background:${primary-90};display:flex;align-items:center;padding:0 48pt;"><h2 style="font-size:22pt;font-weight:bold;color:${on-dark};margin:0;line-height:1.25;">方案对比</h2></div> + <div style="flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 48pt;"> + <div style="display:flex;background:${primary-80};border-radius:8pt 8pt 0 0;padding:10pt 16pt;"> + <p style="font-size:12pt;font-weight:bold;color:${on-dark};margin:0;width:140pt;">方案</p> + <p style="font-size:12pt;font-weight:bold;color:${on-dark};margin:0;width:120pt;text-align:center;">成本</p> + <p style="font-size:12pt;font-weight:bold;color:${on-dark};margin:0;width:120pt;text-align:center;">实施周期</p> + <p style="font-size:12pt;font-weight:bold;color:${on-dark};margin:0;width:120pt;text-align:center;">可扩展性</p> + <p style="font-size:12pt;font-weight:bold;color:${on-dark};margin:0;width:124pt;text-align:center;">综合评级</p> + </div> + <div style="display:flex;align-items:center;background:${surface};padding:10pt 16pt;border-left:1pt solid ${primary-10};border-right:1pt solid ${primary-10};"> + <p style="font-size:13pt;font-weight:bold;color:${primary-80};margin:0;width:140pt;">方案 A</p> + <p style="font-size:13pt;color:${primary-60};margin:0;width:120pt;text-align:center;">低</p> + <p style="font-size:13pt;color:${primary-60};margin:0;width:120pt;text-align:center;">3 个月</p> + <p style="font-size:13pt;color:${primary-60};margin:0;width:120pt;text-align:center;">高</p> + <div style="width:124pt;display:flex;justify-content:center;"><div style="background:${accent};border-radius:4pt;padding:3pt 10pt;"><p style="font-size:12pt;font-weight:bold;color:#FFFFFF;margin:0;text-align:center;">推荐</p></div></div> + </div> + <!-- More rows with different tags --> + </div> +</body> +``` + +--- + +## High-Impact Accent Components + +Use these for visual punch: chapter openings, key metric reveals, strong statements, and rhythm breaks. + +<a id="chapter-divider-bold"></a> +### chapter-divider-bold — Accent Panel + Dark Chapter Divider + +> `split | low | dark | none` — Full-bleed dark slide with bold chapter number. Use at the opening of each major section. + +Left 40%: accent-color panel with oversized chapter number. Right 60%: dark background with chapter title and one-line overview. Produces strong structural signal between sections. + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${primary-100};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:row;"> + <!-- Left: accent number panel --> + <div style="width:288pt;height:405pt;background:${accent};display:flex;flex-direction:column;justify-content:center;align-items:center;"> + <span style="font-size:96pt;font-weight:bold;color:rgba(255,255,255,0.90);line-height:1;white-space:nowrap;">02</span> + <span style="font-size:11pt;color:rgba(255,255,255,0.65);letter-spacing:3pt;margin-top:8pt;white-space:nowrap;">CHAPTER</span> + </div> + <!-- Right: chapter info --> + <div style="flex:1;height:405pt;display:flex;flex-direction:column;justify-content:center;padding:0 48pt;"> + <div style="width:36pt;height:3pt;background:${accent};margin:0 0 24pt 0;"></div> + <span style="font-size:30pt;font-weight:bold;color:#FFFFFF;line-height:1.25;">Chapter Title Here</span> + <span style="font-size:15pt;color:rgba(255,255,255,0.60);margin-top:16pt;line-height:1.6;">One-line description of this chapter's content</span> + </div> +</body> +``` + +<a id="content-hero-stat"></a> +### content-hero-stat — Single-Focus Large Metric Page + +> `centered | low | dark | none` — One dominant number, optionally with 2 supporting context metrics below. Use for single powerful KPI reveals, survey results, or market data. + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${primary-90};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="height:4pt;background:${accent};"></div> + <div style="flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 80pt;"> + <span style="font-size:13pt;color:${accent};letter-spacing:2pt;text-align:center;line-height:1;white-space:nowrap;">KEY METRIC</span> + <span style="font-size:88pt;font-weight:bold;color:#FFFFFF;line-height:1;text-align:center;margin-top:12pt;white-space:nowrap;">85%</span> + <span style="font-size:18pt;color:rgba(255,255,255,0.70);margin-top:16pt;text-align:center;line-height:1.5;max-width:460pt;">Description of what this metric means</span> + <!-- Optional: 2 supporting context metrics --> + <div style="display:flex;gap:32pt;margin-top:32pt;padding:14pt 28pt;background:rgba(255,255,255,0.06);border-radius:8pt;"> + <div style="text-align:center;"> + <span style="font-size:22pt;font-weight:bold;color:${accent};line-height:1;display:block;white-space:nowrap;">+12%</span> + <span style="font-size:11pt;color:rgba(255,255,255,0.50);margin-top:4pt;display:block;white-space:nowrap;">vs last year</span> + </div> + <div style="text-align:center;"> + <span style="font-size:22pt;font-weight:bold;color:${accent};line-height:1;display:block;white-space:nowrap;">#3</span> + <span style="font-size:11pt;color:rgba(255,255,255,0.50);margin-top:4pt;display:block;white-space:nowrap;">Industry rank</span> + </div> + </div> + </div> +</body> +``` + +<a id="content-asymmetric"></a> +### content-asymmetric — Asymmetric Dark Panel + Content + +> `split | medium | dark+light | none` — Left 38% dark panel with section label and framing tagline; right 62% light area with 3 numbered key points. Breaks the visual monotony of symmetric layouts. + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:row;"> + <!-- Left: dark framing panel --> + <div style="width:274pt;height:405pt;background:${primary-90};display:flex;flex-direction:column;justify-content:center;padding:0 32pt;"> + <span style="font-size:11pt;color:${accent};letter-spacing:2pt;line-height:1;margin:0 0 16pt 0;white-space:nowrap;">SECTION</span> + <span style="font-size:32pt;font-weight:bold;color:#FFFFFF;line-height:1.2;margin:0 0 20pt 0;">Core<br/>Concept</span> + <div style="width:32pt;height:3pt;background:${accent};margin:0 0 16pt 0;"></div> + <span style="font-size:13pt;color:rgba(255,255,255,0.60);line-height:1.6;">Brief framing of this content area</span> + </div> + <!-- Right: content with numbered points --> + <div style="flex:1;height:405pt;display:flex;flex-direction:column;justify-content:center;padding:0 40pt;gap:16pt;"> + <div style="display:flex;align-items:flex-start;gap:14pt;"> + <div style="width:28pt;height:28pt;background:${accent};border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;"> + <span style="font-size:13pt;font-weight:bold;color:#FFFFFF;line-height:1;">1</span> + </div> + <div style="flex:1;min-width:0;"> + <span style="font-size:16pt;font-weight:bold;color:${primary-80};line-height:1.3;display:block;">Point Title One</span> + <span style="font-size:13pt;color:${primary-60};line-height:1.5;display:block;margin-top:4pt;">Description text supporting this point</span> + </div> + </div> + <div style="display:flex;align-items:flex-start;gap:14pt;"> + <div style="width:28pt;height:28pt;background:${accent};border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;"> + <span style="font-size:13pt;font-weight:bold;color:#FFFFFF;line-height:1;">2</span> + </div> + <div style="flex:1;min-width:0;"> + <span style="font-size:16pt;font-weight:bold;color:${primary-80};line-height:1.3;display:block;">Point Title Two</span> + <span style="font-size:13pt;color:${primary-60};line-height:1.5;display:block;margin-top:4pt;">Description text supporting this point</span> + </div> + </div> + <div style="display:flex;align-items:flex-start;gap:14pt;"> + <div style="width:28pt;height:28pt;background:${accent};border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;"> + <span style="font-size:13pt;font-weight:bold;color:#FFFFFF;line-height:1;">3</span> + </div> + <div style="flex:1;min-width:0;"> + <span style="font-size:16pt;font-weight:bold;color:${primary-80};line-height:1.3;display:block;">Point Title Three</span> + <span style="font-size:13pt;color:${primary-60};line-height:1.5;display:block;margin-top:4pt;">Description text supporting this point</span> + </div> + </div> + </div> +</body> +``` + +<a id="quote-emphasis"></a> +### quote-emphasis — Full-Slide Pull Quote + +> `centered | low | dark | none` — Full dark slide with oversized opening quotation mark, large quote text, and attribution. Use for powerful statements, expert opinions, or memorable data points framed as quotes. **For a light-background variant**: replace `background-color:${primary-90}` with `${surface}`, `color:#FFFFFF` with `${primary-80}`, and `rgba(255,255,255,0.55)` with `${primary-40}`. + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${primary-90};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;justify-content:center;"> + <div style="padding:0 80pt;"> + <span style="font-size:80pt;font-weight:bold;color:${accent};line-height:0.8;display:block;margin:0 0 4pt 0;">"</span> + <span style="font-size:24pt;color:#FFFFFF;line-height:1.55;display:block;margin:0 0 28pt 0;max-width:520pt;">Quote text goes here — one or two lines of impactful, memorable prose.</span> + <div style="width:48pt;height:3pt;background:${accent};margin:0 0 14pt 0;"></div> + <span style="font-size:13pt;color:rgba(255,255,255,0.55);line-height:1.5;">— Person Name, Title · Year</span> + </div> +</body> +``` + +<a id="content-dark-three-card"></a> +### content-dark-three-card — Dark Background Three-Card Rhythm Breaker + +> `grid | medium | dark | solid-dark` — Same role as a regular three-card content page but on a dark background. Use every 3–4 slides to break white-page monotony. Inline title (no title bar) creates visual distinction from light-background pages. + +```html +<body style="margin:0;padding:0;width:720pt;height:405pt;overflow:hidden;background-color:${primary-90};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <!-- Inline title with horizontal rule — no title bar --> + <div style="padding:28pt 48pt 20pt 48pt;display:flex;align-items:center;gap:16pt;"> + <span style="font-size:26pt;font-weight:bold;color:#FFFFFF;line-height:1.2;white-space:nowrap;">Page Title</span> + <div style="flex:1;height:1pt;background:rgba(255,255,255,0.12);"></div> + </div> + <!-- Three semi-transparent cards --> + <div style="flex:1;display:flex;gap:14pt;padding:0 48pt 32pt 48pt;align-items:stretch;"> + <div style="flex:1;background:rgba(255,255,255,0.06);border:1pt solid rgba(255,255,255,0.10);border-radius:10pt;padding:20pt 18pt;display:flex;flex-direction:column;"> + <div style="width:32pt;height:3pt;background:${accent};margin:0 0 14pt 0;"></div> + <span style="font-size:16pt;font-weight:bold;color:#FFFFFF;line-height:1.3;margin:0 0 8pt 0;display:block;">Card Title One</span> + <span style="font-size:13pt;color:rgba(255,255,255,0.60);line-height:1.6;display:block;">Card description text, one or two sentences.</span> + </div> + <div style="flex:1;background:rgba(255,255,255,0.06);border:1pt solid rgba(255,255,255,0.10);border-radius:10pt;padding:20pt 18pt;display:flex;flex-direction:column;"> + <div style="width:32pt;height:3pt;background:${accent};margin:0 0 14pt 0;"></div> + <span style="font-size:16pt;font-weight:bold;color:#FFFFFF;line-height:1.3;margin:0 0 8pt 0;display:block;">Card Title Two</span> + <span style="font-size:13pt;color:rgba(255,255,255,0.60);line-height:1.6;display:block;">Card description text, one or two sentences.</span> + </div> + <div style="flex:1;background:rgba(255,255,255,0.06);border:1pt solid rgba(255,255,255,0.10);border-radius:10pt;padding:20pt 18pt;display:flex;flex-direction:column;"> + <div style="width:32pt;height:3pt;background:${accent};margin:0 0 14pt 0;"></div> + <span style="font-size:16pt;font-weight:bold;color:#FFFFFF;line-height:1.3;margin:0 0 8pt 0;display:block;">Card Title Three</span> + <span style="font-size:13pt;color:rgba(255,255,255,0.60);line-height:1.6;display:block;">Card description text, one or two sentences.</span> + </div> + </div> +</body> +``` + +--- + +## Transition Page Components + +<a id="divider-bold-center"></a> +### divider-bold-center — Centered Bold Text Transition + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;justify-content:center;align-items:center;"> + <div style="width:40pt;height:3pt;background:${accent};margin:0 0 24pt 0;"></div> + <p style="font-size:44pt;font-weight:bold;color:${primary-20};margin:0 0 8pt 0;line-height:1;">02</p> + <h2 style="font-size:28pt;font-weight:bold;color:${primary-80};margin:0 0 12pt 0;line-height:1.2;text-align:center;">Chapter Title</h2> + <p style="font-size:15pt;color:${primary-40};margin:0;line-height:1.5;text-align:center;max-width:400pt;">One-line overview</p> +</body> +``` + +<a id="divider-split"></a> +### divider-split — Split Background Transition + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${background};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:row;"> + <div style="width:324pt;height:405pt;background:${primary-90};display:flex;flex-direction:column;justify-content:center;align-items:center;"><p style="font-size:80pt;font-weight:bold;color:rgba(255,255,255,0.08);margin:0;line-height:1;">02</p></div> + <div style="width:396pt;height:405pt;display:flex;flex-direction:column;justify-content:center;padding:0 48pt;"> + <div style="width:32pt;height:3pt;background:${accent};margin:0 0 16pt 0;"></div> + <h2 style="font-size:28pt;font-weight:bold;color:${primary-80};margin:0 0 12pt 0;line-height:1.2;">Chapter Title</h2> + <p style="font-size:15pt;color:${primary-40};margin:0;line-height:1.5;max-width:280pt;">One-line overview</p> + </div> +</body> +``` + +<a id="divider-photo-mask"></a> +### divider-photo-mask — Background Image + Mask Transition + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-image:url('section-bg.jpg');background-size:cover;background-position:center;font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="position:absolute;top:0;left:0;width:720pt;height:405pt;background-color:rgba(26,51,64,0.7);"></div> + <div style="position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;"> + <div style="width:40pt;height:3pt;background:${accent};margin:0 0 24pt 0;"></div> + <p style="font-size:44pt;font-weight:bold;color:${accent};margin:0 0 8pt 0;line-height:1;">02</p> + <h2 style="font-size:28pt;font-weight:bold;color:${on-dark};margin:0 0 12pt 0;line-height:1.2;text-align:center;">Chapter Title</h2> + <p style="font-size:15pt;color:${on-dark-secondary};margin:0;line-height:1.5;text-align:center;max-width:400pt;">One-line overview</p> + </div> +</body> +``` + +<a id="divider-gradient"></a> +### divider-gradient — Gradient Background Transition + +> Requires pre-generating gradient PNG via sharp/SVG. + +```javascript +const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080"><defs><linearGradient id="g" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:${primary-100}"/><stop offset="100%" style="stop-color:${primary-80}"/></linearGradient></defs><rect width="100%" height="100%" fill="url(#g)"/></svg>`; +await sharp(Buffer.from(svg)).png().toFile('gradient-bg.png'); +``` + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-image:url('gradient-bg.png');background-size:cover;font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;justify-content:center;align-items:center;"> + <div style="width:40pt;height:3pt;background:${accent};margin:0 0 24pt 0;"></div> + <p style="font-size:44pt;font-weight:bold;color:${accent};margin:0 0 8pt 0;line-height:1;">03</p> + <h2 style="font-size:28pt;font-weight:bold;color:${on-dark};margin:0 0 12pt 0;line-height:1.2;text-align:center;">Chapter Title</h2> + <p style="font-size:15pt;color:${on-dark-secondary};margin:0;line-height:1.5;text-align:center;max-width:400pt;">One-line overview</p> +</body> +``` + +--- + +## Closing Page Components + +<a id="closing-takeaways"></a> +### closing-takeaways — Key Takeaways Summary + +Header bar + 3 key takeaway cards with top accent borders. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${surface};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;"> + <div style="width:720pt;height:56pt;background:${primary-90};display:flex;align-items:center;padding:0 48pt;"><h2 style="font-size:22pt;font-weight:bold;color:${on-dark};margin:0;line-height:1.25;">Key Conclusions</h2></div> + <div style="flex:1;display:flex;justify-content:center;align-items:center;padding:0 48pt;gap:16pt;"> + <div style="width:192pt;flex-shrink:0;background:${surface-card};border-radius:10pt;padding:24pt 16pt;box-shadow:0 3pt 10pt rgba(0,0,0,0.08);border-top:3pt solid ${accent};"> + <p style="font-size:22pt;font-weight:bold;color:${accent};margin:0 0 8pt 0;line-height:1;">01</p> + <p style="font-size:15pt;font-weight:bold;color:${primary-80};margin:0 0 8pt 0;line-height:1.5;">Takeaway Point One</p> + <p style="font-size:13pt;color:${primary-40};margin:0;line-height:1.5;">Brief note</p> + </div> + <div style="width:192pt;flex-shrink:0;background:${surface-card};border-radius:10pt;padding:24pt 16pt;box-shadow:0 3pt 10pt rgba(0,0,0,0.08);border-top:3pt solid ${accent};"> + <p style="font-size:22pt;font-weight:bold;color:${accent};margin:0 0 8pt 0;line-height:1;">02</p> + <p style="font-size:15pt;font-weight:bold;color:${primary-80};margin:0 0 8pt 0;line-height:1.5;">Takeaway Point Two</p> + <p style="font-size:13pt;color:${primary-40};margin:0;line-height:1.5;">Brief note</p> + </div> + <!-- Card 3 same structure --> + </div> +</body> +``` + +<a id="closing-thankyou"></a> +### closing-thankyou — Thank You Page + +Dark background + large thank-you + contact info. Echoes cover. + +```html +<body style="width:720pt;height:405pt;margin:0;padding:0;overflow:hidden;background-color:${primary-90};font-family:'Microsoft YaHei',sans-serif;display:flex;flex-direction:column;justify-content:center;align-items:center;"> + <h1 style="font-size:34pt;font-weight:bold;color:${on-dark};margin:0 0 8pt 0;line-height:1.15;text-align:center;">Thank You</h1> + <div style="width:40pt;height:3pt;background:${accent};margin:0 0 24pt 0;"></div> + <p style="font-size:15pt;color:${on-dark-secondary};margin:0 0 4pt 0;line-height:1.5;text-align:center;">John Smith | Product Department</p> + <p style="font-size:13pt;color:${on-dark-secondary};margin:0;line-height:1.5;text-align:center;">john.smith@company.com</p> +</body> +``` \ No newline at end of file diff --git a/skills/ppt/data-viz-components.md b/skills/ppt/data-viz-components.md new file mode 100755 index 0000000..86e184f --- /dev/null +++ b/skills/ppt/data-viz-components.md @@ -0,0 +1,529 @@ +# Data Visualization Components — Supplement to components.md + +These components use **pure HTML+CSS** to render charts and data visualizations without relying on PptxGenJS chart API. They convert directly through html2pptx into shapes. + +**When to use**: Prefer data visualization components whenever the content contains numbers, comparisons, percentages, or structured data. Every PPT with 6+ slides **MUST** include at least 1-2 data visualization pages. + +**Selection principle**: Concrete data → prioritize data viz components (bars/tables/funnels/donuts) over plain text lists. Alternate between text pages and data pages for visual rhythm. + +For PptxGenJS native charts (BAR/LINE/PIE/DOUGHNUT), use `content-chart-focus` with placeholder + `slide.addChart()` in compile.js. + +--- + +<a id="content-horizontal-bars"></a> +### content-horizontal-bars — Horizontal Bar Comparison + +`data | medium | light | none` + +Multi-item value comparison. Best for: market share, KPI benchmarks, quarterly comparisons. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;"> + Market Share Comparison + </h2> + </div> + + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt; gap:20pt;"> + + <!-- Bar item: repeat for each data point --> + <div style="display:flex; align-items:center; gap:12pt;"> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:100pt; line-height:1.3; white-space:nowrap;">Product A</p> + <div style="flex:1; height:24pt; background:${primary-10}; border-radius:4pt;"> + <div style="height:24pt; width:70%; background:${primary-80}; border-radius:4pt;"></div> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0; width:48pt; text-align:right; line-height:1;">70%</p> + </div> + + <div style="display:flex; align-items:center; gap:12pt;"> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:100pt; line-height:1.3; white-space:nowrap;">Product B</p> + <div style="flex:1; height:24pt; background:${primary-10}; border-radius:4pt;"> + <div style="height:24pt; width:52%; background:${primary-60}; border-radius:4pt;"></div> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-60}; margin:0; width:48pt; text-align:right; line-height:1;">52%</p> + </div> + + <div style="display:flex; align-items:center; gap:12pt;"> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:100pt; line-height:1.3; white-space:nowrap;">Product C</p> + <div style="flex:1; height:24pt; background:${primary-10}; border-radius:4pt;"> + <div style="height:24pt; width:38%; background:${primary-40}; border-radius:4pt;"></div> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-40}; margin:0; width:48pt; text-align:right; line-height:1;">38%</p> + </div> + + <div style="display:flex; align-items:center; gap:12pt;"> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:100pt; line-height:1.3; white-space:nowrap;">Product D</p> + <div style="flex:1; height:24pt; background:${primary-10}; border-radius:4pt;"> + <div style="height:24pt; width:22%; background:${primary-20}; border-radius:4pt;"></div> + </div> + <p style="font-size:15pt; font-weight:bold; color:${primary-20}; margin:0; width:48pt; text-align:right; line-height:1;">22%</p> + </div> + + </div> +</body> +``` + +**Variation**: Use `${accent}` for the highlighted/top bar to draw attention. + +--- + +<a id="content-stacked-bars"></a> +### content-stacked-bars — Stacked Progress Bars + +`data | medium | light | shadow` + +Multi-dimension proportional data. Best for: budget allocation, resource distribution, composition analysis. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;"> + Budget Allocation by Department + </h2> + </div> + + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt; gap:24pt;"> + + <div> + <div style="display:flex; justify-content:space-between; margin-bottom:8pt;"> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.3;">Q1 2024</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1;">$2.4M Total</p> + </div> + <div style="display:flex; height:32pt; border-radius:6pt; overflow:hidden;"> + <div style="width:35%; background:${primary-80};"></div> + <div style="width:25%; background:${primary-60};"></div> + <div style="width:20%; background:${primary-40};"></div> + <div style="width:12%; background:${accent};"></div> + <div style="width:8%; background:${primary-20};"></div> + </div> + <div style="display:flex; gap:16pt; margin-top:8pt;"> + <div style="display:flex; align-items:center; gap:4pt;"> + <div style="width:8pt; height:8pt; background:${primary-80}; border-radius:2pt;"></div> + <p style="font-size:11pt; color:${primary-60}; margin:0; line-height:1;">R&D 35%</p> + </div> + <div style="display:flex; align-items:center; gap:4pt;"> + <div style="width:8pt; height:8pt; background:${primary-60}; border-radius:2pt;"></div> + <p style="font-size:11pt; color:${primary-60}; margin:0; line-height:1;">Marketing 25%</p> + </div> + <div style="display:flex; align-items:center; gap:4pt;"> + <div style="width:8pt; height:8pt; background:${primary-40}; border-radius:2pt;"></div> + <p style="font-size:11pt; color:${primary-60}; margin:0; line-height:1;">Sales 20%</p> + </div> + <div style="display:flex; align-items:center; gap:4pt;"> + <div style="width:8pt; height:8pt; background:${accent}; border-radius:2pt;"></div> + <p style="font-size:11pt; color:${primary-60}; margin:0; line-height:1;">Ops 12%</p> + </div> + </div> + </div> + + <div> + <div style="display:flex; justify-content:space-between; margin-bottom:8pt;"> + <p style="font-size:15pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.3;">Q2 2024</p> + <p style="font-size:13pt; color:${primary-40}; margin:0; line-height:1;">$2.8M Total</p> + </div> + <div style="display:flex; height:32pt; border-radius:6pt; overflow:hidden;"> + <div style="width:40%; background:${primary-80};"></div> + <div style="width:22%; background:${primary-60};"></div> + <div style="width:18%; background:${primary-40};"></div> + <div style="width:10%; background:${accent};"></div> + <div style="width:10%; background:${primary-20};"></div> + </div> + </div> + + </div> +</body> +``` + +--- + +<a id="content-data-table"></a> +### content-data-table — Structured Data Table + +`data | medium | light | none` + +Multi-row multi-column structured data. Best for: quarterly reports, feature comparisons, competitive analysis. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;"> + Quarterly Performance Summary + </h2> + </div> + + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; padding:0 48pt;"> + + <div style="display:flex; background:${primary-80}; border-radius:8pt 8pt 0 0; padding:12pt 16pt;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; width:120pt; line-height:1.3;">Department</p> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; width:120pt; line-height:1.3; text-align:right;">Q1</p> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; width:120pt; line-height:1.3; text-align:right;">Q2</p> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; width:120pt; line-height:1.3; text-align:right;">Q3</p> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; width:112pt; line-height:1.3; text-align:right;">Q4</p> + </div> + + <div style="display:flex; background:${surface}; padding:10pt 16pt; border-left:1pt solid ${primary-10}; border-right:1pt solid ${primary-10};"> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:120pt; line-height:1.3;">Engineering</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$1.2M</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$1.5M</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$1.8M</p> + <p style="font-size:13pt; color:${accent}; margin:0; width:112pt; line-height:1.3; text-align:right; font-weight:bold;">$2.1M</p> + </div> + + <div style="display:flex; background:${background}; padding:10pt 16pt; border-left:1pt solid ${primary-10}; border-right:1pt solid ${primary-10};"> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:120pt; line-height:1.3;">Marketing</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$800K</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$920K</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$1.1M</p> + <p style="font-size:13pt; color:${accent}; margin:0; width:112pt; line-height:1.3; text-align:right; font-weight:bold;">$1.3M</p> + </div> + + <div style="display:flex; background:${surface}; padding:10pt 16pt; border-left:1pt solid ${primary-10}; border-right:1pt solid ${primary-10};"> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:120pt; line-height:1.3;">Sales</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$2.0M</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$2.3M</p> + <p style="font-size:13pt; color:${primary-60}; margin:0; width:120pt; line-height:1.3; text-align:right;">$2.5M</p> + <p style="font-size:13pt; color:${accent}; margin:0; width:112pt; line-height:1.3; text-align:right; font-weight:bold;">$2.8M</p> + </div> + + <div style="display:flex; background:${primary-10}; padding:10pt 16pt; border-radius:0 0 8pt 8pt;"> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:120pt; line-height:1.3; font-weight:bold;">Total</p> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:120pt; line-height:1.3; text-align:right; font-weight:bold;">$4.0M</p> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:120pt; line-height:1.3; text-align:right; font-weight:bold;">$4.7M</p> + <p style="font-size:13pt; color:${primary-80}; margin:0; width:120pt; line-height:1.3; text-align:right; font-weight:bold;">$5.4M</p> + <p style="font-size:13pt; color:${accent}; margin:0; width:112pt; line-height:1.3; text-align:right; font-weight:bold;">$6.2M</p> + </div> + + </div> +</body> +``` + +--- + +<a id="content-quadrant-matrix"></a> +### content-quadrant-matrix — 2x2 Quadrant Matrix + +`data | medium | light | none` + +Two-axis classification framework. Best for: BCG matrix, priority matrix, SWOT, evaluation frameworks. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;"> + Priority Matrix + </h2> + </div> + + <div style="flex:1; display:flex; padding:8pt 48pt 0 48pt;"> + + <div style="width:24pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:9pt; color:${primary-40}; margin:0; writing-mode:vertical-rl; transform:rotate(180deg); text-align:center; line-height:1.2;">Impact</p> + </div> + + <div style="flex:1; display:flex; flex-direction:column;"> + + <div style="display:flex; gap:16pt; margin-bottom:16pt;"> + <div style="width:296pt; flex-shrink:0; border-radius:10pt; padding:16pt 20pt; background:${primary-80};"> + <p style="font-size:18pt; font-weight:bold; color:${on-dark}; margin:0 0 6pt 0; line-height:1.25;">Do First</p> + <p style="font-size:12pt; color:${on-dark-secondary}; margin:0; line-height:1.5;">High Impact + High Effort. Critical items requiring attention.</p> + </div> + <div style="width:296pt; flex-shrink:0; border-radius:10pt; padding:16pt 20pt; background:${surface}; border:1.5pt solid ${primary-20};"> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0 0 6pt 0; line-height:1.25;">Quick Wins</p> + <p style="font-size:12pt; color:${primary-60}; margin:0; line-height:1.5;">High Impact + Low Effort. Prioritize for maximum ROI.</p> + </div> + </div> + + <div style="display:flex; gap:16pt;"> + <div style="width:296pt; flex-shrink:0; border-radius:10pt; padding:16pt 20pt; border:1.5pt solid ${primary-20};"> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0 0 6pt 0; line-height:1.25;">Schedule</p> + <p style="font-size:12pt; color:${primary-60}; margin:0; line-height:1.5;">Low Impact + High Effort. Plan for later.</p> + </div> + <div style="width:296pt; flex-shrink:0; border-radius:10pt; padding:16pt 20pt; background:${primary-90};"> + <p style="font-size:18pt; font-weight:bold; color:${on-dark}; margin:0 0 6pt 0; line-height:1.25;">Eliminate</p> + <p style="font-size:12pt; color:${on-dark-secondary}; margin:0; line-height:1.5;">Low Impact + Low Effort. Drop these tasks.</p> + </div> + </div> + + <div style="margin-top:6pt;"> + <p style="font-size:9pt; font-weight:bold; color:${primary-40}; margin:0; text-align:center;">LOW Effort → HIGH</p> + </div> + + </div> + </div> +</body> +``` + +--- + +<a id="content-funnel"></a> +### content-funnel — Sales/Conversion Funnel + +`data | medium | light | none` + +Multi-stage progressive filtering. Best for: sales pipeline, conversion funnel, qualification process. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;"> + Sales Conversion Funnel + </h2> + </div> + + <div style="flex:1; display:flex; align-items:center; padding:0 48pt; gap:40pt;"> + + <div style="width:320pt; display:flex; flex-direction:column; align-items:center; gap:4pt;"> + <div style="width:280pt; height:36pt; background:${primary-80}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">Leads: 10,000</p> + </div> + <div style="width:230pt; height:36pt; background:${primary-60}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">Qualified: 6,500</p> + </div> + <div style="width:180pt; height:36pt; background:${primary-40}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">Proposals: 3,200</p> + </div> + <div style="width:130pt; height:36pt; background:${accent}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">Negotiation: 1,800</p> + </div> + <div style="width:80pt; height:36pt; background:${primary-80}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">Closed: 850</p> + </div> + </div> + + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; gap:16pt;"> + <div style="background:${surface}; border-radius:8pt; padding:16pt; border-left:3pt solid ${accent};"> + <p style="font-size:32pt; font-weight:bold; color:${accent}; margin:0; line-height:1; white-space:nowrap;">8.5%</p> + <p style="font-size:13pt; color:${primary-60}; margin:4pt 0 0 0; line-height:1.4;">Overall Conversion Rate</p> + </div> + <div style="background:${surface}; border-radius:8pt; padding:16pt;"> + <p style="font-size:32pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1; white-space:nowrap;">46%</p> + <p style="font-size:13pt; color:${primary-60}; margin:4pt 0 0 0; line-height:1.4;">Qualified to Proposal Rate</p> + </div> + </div> + + </div> +</body> +``` + +--- + +<a id="content-before-after"></a> +### content-before-after — Before vs After Comparison + +`data | medium | light | none` + +Side-by-side comparison panels. Best for: optimization results, before/after, pros/cons. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;"> + Before vs After Optimization + </h2> + </div> + + <div style="flex:1; display:flex; padding:16pt 48pt 0 48pt; gap:16pt;"> + + <!-- Before --> + <div style="width:296pt; flex-shrink:0; background:${surface}; border-radius:10pt; padding:20pt 24pt;"> + <div style="display:flex; align-items:center; gap:8pt; margin-bottom:16pt;"> + <div style="width:28pt; height:28pt; border-radius:50%; background:${primary-40}; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; color:${on-dark}; margin:0; line-height:1; font-weight:bold;">B</p> + </div> + <p style="font-size:18pt; font-weight:bold; color:${primary-40}; margin:0; line-height:1.25;">Before</p> + </div> + <div style="display:flex; justify-content:space-between; padding:8pt 0; border-bottom:1pt solid ${primary-10};"> + <p style="font-size:13pt; color:${primary-60}; margin:0; line-height:1.5;">Load Time</p> + <p style="font-size:13pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.5;">4.2s</p> + </div> + <div style="display:flex; justify-content:space-between; padding:8pt 0; border-bottom:1pt solid ${primary-10};"> + <p style="font-size:13pt; color:${primary-60}; margin:0; line-height:1.5;">Bounce Rate</p> + <p style="font-size:13pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.5;">38%</p> + </div> + <div style="display:flex; justify-content:space-between; padding:8pt 0;"> + <p style="font-size:13pt; color:${primary-60}; margin:0; line-height:1.5;">Conversion</p> + <p style="font-size:13pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.5;">2.1%</p> + </div> + </div> + + <!-- After (accent border to highlight) --> + <div style="width:296pt; flex-shrink:0; background:${surface}; border-radius:10pt; padding:20pt 24pt; border:2pt solid ${accent};"> + <div style="display:flex; align-items:center; gap:8pt; margin-bottom:16pt;"> + <div style="width:28pt; height:28pt; border-radius:50%; background:${accent}; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; color:${on-dark}; margin:0; line-height:1; font-weight:bold;">A</p> + </div> + <p style="font-size:18pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1.25;">After</p> + </div> + <div style="display:flex; justify-content:space-between; padding:8pt 0; border-bottom:1pt solid ${primary-10};"> + <p style="font-size:13pt; color:${primary-60}; margin:0; line-height:1.5;">Load Time</p> + <p style="font-size:13pt; font-weight:bold; color:${accent}; margin:0; line-height:1.5;">1.8s</p> + </div> + <div style="display:flex; justify-content:space-between; padding:8pt 0; border-bottom:1pt solid ${primary-10};"> + <p style="font-size:13pt; color:${primary-60}; margin:0; line-height:1.5;">Bounce Rate</p> + <p style="font-size:13pt; font-weight:bold; color:${accent}; margin:0; line-height:1.5;">22%</p> + </div> + <div style="display:flex; justify-content:space-between; padding:8pt 0;"> + <p style="font-size:13pt; color:${primary-60}; margin:0; line-height:1.5;">Conversion</p> + <p style="font-size:13pt; font-weight:bold; color:${accent}; margin:0; line-height:1.5;">4.7%</p> + </div> + </div> + + </div> +</body> +``` + +--- + +<a id="content-dashboard"></a> +### content-dashboard — Data Dashboard / KPI Grid + +`data | medium | light | shadow` + +Multi-metric overview. Best for: dashboards, weekly/monthly reports, KPI summaries. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${surface}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;"> + Monthly Performance Dashboard + </h2> + </div> + + <!-- Row 1: 3 large stats --> + <div style="display:flex; gap:16pt; padding:16pt 48pt 0 48pt;"> + <div style="width:192pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; padding:20pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); text-align:center;"> + <p style="font-size:40pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1; white-space:nowrap;">$4.2M</p> + <p style="font-size:13pt; color:${primary-40}; margin:8pt 0 0 0; line-height:1.4;">Revenue</p> + <p style="font-size:11pt; color:${accent}; margin:8pt 0 0 0; line-height:1; font-weight:bold;">+12.3% vs last month</p> + </div> + <div style="width:192pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; padding:20pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); text-align:center;"> + <p style="font-size:40pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1; white-space:nowrap;">2,847</p> + <p style="font-size:13pt; color:${primary-40}; margin:8pt 0 0 0; line-height:1.4;">Active Users</p> + <p style="font-size:11pt; color:${accent}; margin:8pt 0 0 0; line-height:1; font-weight:bold;">+8.7% vs last month</p> + </div> + <div style="width:192pt; flex-shrink:0; background:${surface-card}; border-radius:10pt; padding:20pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); text-align:center;"> + <p style="font-size:40pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1; white-space:nowrap;">94.2%</p> + <p style="font-size:13pt; color:${primary-40}; margin:8pt 0 0 0; line-height:1.4;">Uptime</p> + <p style="font-size:11pt; color:${accent}; margin:8pt 0 0 0; line-height:1; font-weight:bold;">+0.3% vs last month</p> + </div> + </div> + + <!-- Row 2: 4 smaller stats --> + <div style="display:flex; gap:16pt; padding:16pt 48pt;"> + <div style="width:140pt; flex-shrink:0; background:${surface-card}; border-radius:8pt; padding:14pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); text-align:center;"> + <p style="font-size:32pt; font-weight:bold; color:${primary-60}; margin:0; line-height:1; white-space:nowrap;">156</p> + <p style="font-size:11pt; color:${primary-40}; margin:6pt 0 0 0; line-height:1.4;">New Signups</p> + </div> + <div style="width:140pt; flex-shrink:0; background:${surface-card}; border-radius:8pt; padding:14pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); text-align:center;"> + <p style="font-size:32pt; font-weight:bold; color:${primary-60}; margin:0; line-height:1; white-space:nowrap;">$148</p> + <p style="font-size:11pt; color:${primary-40}; margin:6pt 0 0 0; line-height:1.4;">Avg Revenue/User</p> + </div> + <div style="width:140pt; flex-shrink:0; background:${surface-card}; border-radius:8pt; padding:14pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); text-align:center;"> + <p style="font-size:32pt; font-weight:bold; color:${primary-60}; margin:0; line-height:1; white-space:nowrap;">4.6</p> + <p style="font-size:11pt; color:${primary-40}; margin:6pt 0 0 0; line-height:1.4;">NPS Score</p> + </div> + <div style="width:140pt; flex-shrink:0; background:${surface-card}; border-radius:8pt; padding:14pt; box-shadow:0 3pt 10pt rgba(0,0,0,0.08); text-align:center;"> + <p style="font-size:32pt; font-weight:bold; color:${primary-60}; margin:0; line-height:1; white-space:nowrap;">23ms</p> + <p style="font-size:11pt; color:${primary-40}; margin:6pt 0 0 0; line-height:1.4;">Avg Response</p> + </div> + </div> +</body> +``` + +--- + +<a id="content-pyramid"></a> +### content-pyramid — Pyramid / Layered Hierarchy + +`data | medium | light | none` + +Layered hierarchy. Best for: Maslow pyramid, org levels, tech stack layers, priority hierarchy. + +```html +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-color:${background}; + font-family:'Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + + <div style="width:720pt; height:56pt; background:${primary-90}; + display:flex; align-items:center; padding:0 48pt;"> + <h2 style="font-size:22pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1.25;"> + Strategy Implementation Pyramid + </h2> + </div> + + <div style="flex:1; display:flex; align-items:center; padding:0 48pt; gap:32pt;"> + + <div style="width:360pt; display:flex; flex-direction:column; align-items:center; gap:6pt;"> + <div style="width:140pt; height:40pt; background:${primary-80}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">Vision & Mission</p> + </div> + <div style="width:200pt; height:40pt; background:${primary-60}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">Strategic Objectives</p> + </div> + <div style="width:260pt; height:40pt; background:${primary-40}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${on-dark}; margin:0; line-height:1;">Tactical Plans & Programs</p> + </div> + <div style="width:320pt; height:40pt; background:${primary-20}; border-radius:6pt; display:flex; align-items:center; justify-content:center;"> + <p style="font-size:13pt; font-weight:bold; color:${primary-80}; margin:0; line-height:1;">Operations & Daily Execution</p> + </div> + </div> + + <div style="flex:1; display:flex; flex-direction:column; justify-content:center; gap:20pt;"> + <div style="border-left:2pt solid ${primary-80}; padding-left:12pt;"> + <p style="font-size:13pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Top Level</p> + <p style="font-size:12pt; color:${primary-60}; margin:0; line-height:1.4;">Long-term direction, 5-10 year horizon</p> + </div> + <div style="border-left:2pt solid ${primary-60}; padding[left:12pt;"> + <p style="font-size:13pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Strategy</p> + <p style="font-size:12pt; color:${primary-60}; margin:0; line-height:1.4;">3-5 year measurable targets</p> + </div> + <div style="border-left:2pt solid ${primary-40}; padding-left:12pt;"> + <p style="font-size:13pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Tactics</p> + <p style="font-size:12pt; color:${primary-60}; margin:0; line-height:1.4;">1-2 year initiatives and projects</p> + </div> + <div style="border-left:2pt solid ${primary-20}; padding-left:12pt;"> + <p style="font-size:13pt; font-weight:bold; color:${primary-80}; margin:0 0 4pt 0; line-height:1.3;">Operations</p> + <p style="font-size:12pt; color:${primary-60}; margin:0; line-height:1.4;">Daily tasks and short-term goals</p> + </div> + </div> + + </div> +</body> +``` diff --git a/skills/ppt/design-system.md b/skills/ppt/design-system.md new file mode 100755 index 0000000..8187ea0 --- /dev/null +++ b/skills/ppt/design-system.md @@ -0,0 +1,211 @@ +# Design System — PPT Creative Guidelines + +This file provides **creative principles and a color system** for PPT design. Components and layouts should be inventive and diverse — these guidelines exist to ensure visual coherence, not to constrain creativity. + +**Philosophy: Every slide is a design opportunity.** No two slides should look the same. Vary layouts, card treatments, backgrounds, typography weight, and whitespace aggressively. The audience should feel visual momentum, not repetition. + +--- + +## 1. Color Scale System (Mandatory) + +The color system is the **only hard constraint**. All colors used in the deck must derive from the chosen theme. + +### 1.1 Color Scale Generation + +Eight levels are derived from a single Primary color: + +| Level | Lightness | Usage Examples | +|-------|-----------|---------------| +| `primary-100` | Darkest (L≈8%) | Dark backgrounds, dramatic pages | +| `primary-90` | Dark (L≈15%) | Title bars, dark blocks, overlays | +| `primary-80` | **Main color** | Headings, primary UI elements | +| `primary-60` | Medium dark (L≈45%) | Subheadings, icons, secondary elements | +| `primary-40` | Medium light (L≈60%) | Muted text, dividers, subtle accents | +| `primary-20` | Light (L≈80%) | Borders, light decorations, tints | +| `primary-10` | Very light (L≈90%) | Card fills, surface backgrounds | +| `primary-5` | Near white (L≈96%) | Page tints, hover states, subtle surfaces | + +**Generation method**: From the Primary HSL (H, S, L) — keep H constant; dark levels S×1.1, light levels S×0.3; assign L per the table. + +### 1.2 Semantic Colors + +| Token | Value | Purpose | +|-------|-------|---------| +| `background` | `#FFFFFF` | Default page base | +| `surface` | `primary-5` | Tinted content area base | +| `surface-card` | `#FFFFFF` | Card base (floats above surface) | +| `text-primary` | `primary-80` | Primary text | +| `text-secondary` | `primary-60` | Secondary text | +| `text-muted` | `primary-40` | Annotations, footnotes | +| `on-dark` | `#FFFFFF` | Text on dark backgrounds | +| `on-dark-secondary` | `rgba(255,255,255,0.7)` | Secondary text on dark backgrounds | +| `border` | `primary-10` | Dividers, borders | +| `accent` | Defined by theme | Highlight color | +| `on-accent` | `#FFFFFF` | Text on accent color | + +### 1.3 Color Rules + +- **All grays must derive from the primary color scale** — no arbitrary `#666`, `#999`, `#DDD` +- **Text on dark areas must use `on-dark`** (#FFFFFF) — never use light primary tints on dark backgrounds +- **Accent color area**: ≤15% on standard pages; up to 40% on emphasis/transition pages +- **Saturation limit**: Accent colors should have HSL saturation ≤ 65% for most themes. High-energy themes (Deep Mineral, Ember, Mono) may use S ≤ 75% to preserve their intended vibrancy. Colors above S=80% look garish on projected slides. The theme presets already comply; if creating custom colors, check saturation. +- **Large color blocks** (>15% of page area): reduce saturation further (S ≤ 50%) to avoid visual fatigue. Use higher saturation only for small accents (bars, icons, small badges). + +--- + +## 2. Creative Principles (Guidelines, Not Rules) + +These are high-level design intentions. Interpret them freely. + +### 2.1 Visual Diversity + +- **No two adjacent slides should share the same layout, background treatment, or card style.** This is the single most important principle. +- Aim for **5+ distinct layout structures** across a deck (split columns, grids, single-focus, full-bleed, asymmetric, timeline, staggered, etc.) +- Aim for **3+ card styles** (shadow float, outline, solid fill, gradient, frosted glass, tag-style, image-backed, borderless, etc.) +- Aim for **3+ background treatments** (pure white, tinted surface, dark full-bleed, photo + mask, gradient, diagonal split, corner decoration, color band, etc.) + +### 2.1.1 Deck-Wide Consistency Rules + +**What MUST stay uniform across the entire deck** (changing these = unprofessional): +- Body text font and font size (e.g., always 15pt Microsoft YaHei) +- Page left/right margins (e.g., always 48pt) +- Primary color palette (same theme throughout) +- Accent color (same accent variant throughout, or intentional A/B mixing as documented) + +**What SHOULD vary across slides** (sameness = monotony): +- Layout structure (grid, split, list, focus, timeline, etc.) +- Background treatment (white, surface, dark, photo, gradient) +- Card style (shadow, outline, solid, accent-bar, dark card) +- Title bar style (dark bar, accent bar, underline, inline title, vertical band) +- Decorative elements (accent bars, shapes, circles, dot patterns) + +**The boundary is clear: base typography and spacing = consistent; visual composition = diverse.** + +### 2.2 Intentional vs Accidental Whitespace + +Not all whitespace is bad. The key is **intent**. + +**Intentional whitespace (good — preserve it):** +- KPI / big-number pages: Large number centered with breathing room → dramatic focus +- Quote / pullout pages: Single sentence with generous margins → elegant emphasis +- Photo + caption pages: Image dominates, text is minimal → visual storytelling +- Title / divider pages: Bold text with open space → transition signal + +**Accidental whitespace (bad — fix it):** +- Bullet list with 3 items occupying only 1/3 of the slide → expand or add visuals +- Card grid with small cards clustered at the top, bottom 60% empty → enlarge cards, increase padding +- Text block in the upper-left corner with nothing else on the page → redistribute content + +**Rule of thumb**: If the whitespace makes the slide feel "unfinished" or "forgot to add content," it's accidental. If it makes the slide feel "clean" or "focused," it's intentional. + +### 2.3 Visual Rhythm + +- Alternate between high-density and low-density pages +- Insert a "rhythm breaker" every 3-4 slides — a page that looks dramatically different (full-bleed dark, photo overlay, large single quote, bold color block) +- Cover and closing page should echo each other in color or mood +- **Vary the page header treatment** — don't use the same dark title bar on every slide. Alternatives: + - Accent-colored bar (e.g., `background:${accent}`) + - Transparent header with large colored text and a bottom divider line + - No header bar at all — use oversized inline heading text + - Left-side vertical color band instead of top horizontal bar + - Gradient header (dark-to-transparent from top) + +### 2.4 Typography + +- **Hierarchy is king**: Headings should be visually distinct from body text through size, weight, and/or color +- Body text should be readable at projection distance — don't go below ~13pt +- Let type breathe — generous line-height makes everything feel more designed +- KPI / hero numbers should be oversized and bold to create a focal point +- Prefer cutting content over shrinking fonts — only when a slide is already well-filled and overflow is imminent; never cut content preemptively + +### 2.5 Spacing & Layout + +- Use consistent margins across the deck (recommended: 48pt left/right, 40pt top, ≥36pt bottom safe zone) +- Content should be **vertically balanced** — not crammed at the top with empty space below +- Give elements room — tight packing reads as "cheap" +- Fixed widths for multi-column cards prevent uneven stretching + +### 2.6 Decoration & Visual Interest + +- Every content slide should have **at least one non-text visual element** — accent bar, color block, photo, shape, large number, chart +- Decorative elements (circles, bars, geometric shapes, dot patterns) add polish and visual rhythm +- Decoration should support the content, never compete with it + +### 2.7 Imagery + +- Real photographs dramatically elevate quality — use them on covers, dividers, and visual pages +- Background images need a semi-transparent mask overlay for text readability +- Image tone (warm/cool) should match the theme atmosphere + +--- + +## 3. Technical Constraints (html2pptx Engine) + +These are **rendering engine limitations**, not design choices. Violating them causes broken output. + +| Constraint | Reason | +|-----------|--------| +| Slide canvas: 720×405pt (16:9) | Fixed PPTX dimensions | +| `background-image` only works on `<body>`, not on `<div>` | html2pptx engine limitation | +| Don't use `flex-wrap` for multi-row grids — use separate flex containers per row | html2pptx drops wrapped rows | +| Don't use negative margins | Causes text stacking in PPT (elements become independent text boxes) | +| `font-family` must include a CJK font name | Required for correct font mapping | +| Images must be local file paths, not URLs | html2pptx reads from filesystem | +| Content that exceeds 405pt height will overflow — split into multiple slides instead | No scroll in PPT | +| Multi-column equal-width cards: use explicit `width` + `flex-shrink:0`, not `flex:1` | Prevents uneven stretching | +| Titles and short labels: use `white-space:nowrap` | Prevents unexpected line breaks in conversion | + +--- + +## 4. Quick Reference + +### Recommended Font Size Range + +| Role | Suggested Size | Weight | +|------|---------------|--------| +| Display / decorative number (ghost) | 80–100pt | Bold | +| Hero focal metric (single-stat page) | 56–88pt | Bold | +| Hero / cover title | 40–48pt | Bold | +| KPI dashboard numbers | 36–48pt | Bold | +| Section title | 28–34pt | Bold | +| Page title (in title bar) | 26–30pt | Bold | +| Card / sub heading | 20–24pt | Bold | +| Body text | 14–16pt | Normal | +| Annotations / footnotes | 12–13pt | Normal | +| Captions / tiny labels | 10–12pt | Normal | +| Tag / chip label | 10–11pt | Normal | + +**Ghost number technique**: Large decorative numbers (80–100pt) at very low opacity (`color:rgba(255,255,255,0.05)` on dark backgrounds, or `color:rgba(0,0,0,0.04)` on light) add visual depth without competing with readable content. Use as background layer behind chapter numbers, inside TOC cards, or behind section titles. + +### Common Spacing Values + +| Usage | Suggested | +|-------|-----------| +| Page left/right margins | 48pt | +| Page top margin | 40pt | +| Bottom safe zone | ≥36pt | +| Between heading and body | 8-16pt | +| Between cards | 12-20pt | +| Card internal padding | 16-24pt | + +### Width Reference (720pt total) + +| Layout | Approximate Column Widths | +|--------|--------------------------| +| Full width (with margins) | ~624pt | +| Two columns | ~296pt each (16pt gap) | +| Three columns | ~192pt each (16pt×2 gaps) | +| Four columns | ~140pt each (16pt×3 gaps) | + +### Height Reference (405pt total) + +| Component | Approximate Height | +|-----------|--------------------| +| Title bar | ~56pt | +| Single text line (15pt body) | ~23pt | +| KPI number line (40pt) | ~40pt | +| Card padding (top+bottom) | ~32-48pt | + +--- + +**Remember: This system gives you a coherent color palette and a few engine-level constraints. Everything else — layout invention, typography expression, decorative flair, card styling, background artistry — is yours to create freely. Make every slide count.** diff --git a/skills/ppt/html2pptx.md b/skills/ppt/html2pptx.md new file mode 100755 index 0000000..5ff5220 --- /dev/null +++ b/skills/ppt/html2pptx.md @@ -0,0 +1,394 @@ +# HTML to PowerPoint Guide + +Convert HTML slides into PowerPoint presentations using the `html2pptx.js` library with accurate positioning. + +--- + +## Creating HTML Slides + +Each HTML slide must include the correct body dimensions: + +### Layout Dimensions + +- **16:9** (default): `width: 720pt; height: 405pt` +- **4:3**: `width: 720pt; height: 540pt` +- **16:10**: `width: 720pt; height: 450pt` + +**CRITICAL — Prevent Overflow**: +- `<body>` must set exact dimensions via inline style: `width: 720pt; height: 405pt; margin: 0; padding: 0; overflow: hidden;` +- All content must fit within these boundaries. If content overflows, split into multiple slides +- Maintain at least **36pt bottom margin** inside the body for safe spacing + +**Fill the slide**: Content should occupy the available space well. Avoid designs where text clusters in the top third with the bottom two-thirds empty. Use generous font sizes, spacing, and visual elements to fill the canvas. + +### Supported Elements + +- `<p>`, `<h1>`-`<h6>` — Styled text +- `<ul>`, `<ol>` — Lists (never use manual bullet symbols like bullet, -, *) +- `<b>`, `<strong>`, `<i>`, `<em>`, `<u>` — Inline formatting +- `<span>` — Inline formatting with CSS styles +- `<br>` — Line breaks +- `<div>` with bg/border — Becomes shapes +- `<img>` — Images +- `class="placeholder"` — Reserves space for charts (returns `{ id, x, y, w, h }`) + +### Key Text Rules + +**All text must be inside `<p>`, `<h1>`-`<h6>`, `<ul>`, or `<ol>` tags:** +- ✅ `<div><p>Text here</p></div>` +- ❌ `<div>Text here</div>` — **Silently ignored in PowerPoint** +- ❌ `<span>Text here</span>` — **Silently ignored in PowerPoint** + +**Never use manual bullet symbols (bullet, -, *, etc.)** — use `<ul>` or `<ol>` instead. + +**v3 Smart Font Mapping (pass-through + safe fallback):** + +html2pptx.js v3 no longer maps all fonts to the same one. Strategy: +1. **PPT-safe fonts** (Corbel, Arial, SimHei, Palatino Linotype, etc. 40+) → **Pass through directly** +2. **macOS-exclusive fonts** (PingFang SC, Hiragino Sans) → Mapped to cross-platform equivalents +3. **Web fonts** (Roboto, Montserrat, Inter, etc. 40+) → Mapped to visually closest PPT-safe font +4. **CSS generic names** (sans-serif/serif) → Corbel / Times New Roman +5. **Unknown fonts** → CJK falls back to fontConfig.cjk; Latin passes through directly + +**Write PPT font names directly in HTML**: +```css +font-family: "SimHei", "Microsoft YaHei", sans-serif; /* CJK heading */ +font-family: "Microsoft YaHei", sans-serif; /* CJK body */ +font-family: "Gill Sans MT", "Century Gothic", sans-serif; /* English heading */ +``` + +**fontConfig is still available** (as CJK/Latin ultimate fallback, optional): +```javascript +const fontConfig = { cjk: 'SimHei', latin: 'Gill Sans MT' }; +const result = await html2pptx('slide.html', pptx, { fontConfig }); +``` + +### Styles + +- Body must use `display: flex; flex-direction: column;` — without it, multiple direct children stack horizontally +- **Do not use `flex-wrap`** — multi-row layouts must use separate flex containers (html2pptx renderer may lose wrapped content) +- `<span>` supports: `font-weight`, `font-style`, `text-decoration`, `color`, `font-size`, `letter-spacing`; color accepts `rgba()` for transparency +- `<span>` does NOT support: `margin`, `padding` +- `text-transform: uppercase / lowercase / capitalize` works on all text elements and `<span>` +- **Rotated text**: `transform: rotate(-30deg)` or `writing-mode: vertical-rl / vertical-lr` +- Use hex colors with `#` prefix in CSS; use `text-align` for alignment hints + +### Shape Styles (DIV elements only) + +Backgrounds, borders, and shadows **only work on `<div>`**, not on text elements. + +- **Background**: `background-color` on `<div>` only +- **Border**: uniform (`border: 2px solid #333`) or partial (`border-left`, `border-right`, etc.) +- **Border radius**: `border-radius: 8pt` for rounded corners; `50%` for circle; percentages relative to smaller dimension +- **Box shadow**: outer shadows only — `box-shadow: 2px 2px 8px rgba(0,0,0,0.3)`; inset shadows ignored + +### Typography Guidelines + +Choose font sizes that create clear visual hierarchy. Refer to `design-system.md` for suggested ranges. + +**Minimum font size**: Don't go below ~11pt for any text. Prefer ≥13pt for body text. +**Hierarchy principle**: Headings should be noticeably larger and bolder than body text. + +### Spacing Guidelines + +Use consistent spacing throughout the deck. Refer to `design-system.md` for suggested values. Key principles: +- Page margins: ~48pt left/right, ~40pt top, ≥36pt bottom safe zone +- Be generous with whitespace — but fill the slide; avoid large empty areas + +### Color Rules + +**All colors must come from the current theme's color scale.** Arbitrary grays unrelated to the primary color are forbidden. + +After selecting a theme from `themes.md`, use that theme's complete color scale. + +### Image Rules (MANDATORY for decks with 6+ slides) + +Every deck with 6+ slides must include real photographs. Images create visual richness and professional quality. + +**Image sourcing priority**: +1. **Unsplash** (free, high quality) — use theme's **Image Keywords** from `themes.md`: + ```bash + curl -L "https://source.unsplash.com/1920x1080/?keyword1,keyword2" -o cover-bg.jpg + ``` +2. **User-provided images** — local files +3. **Gradient fallback** — if Unsplash fails, generate gradient PNG via Sharp + +**Image usage in HTML**: +- **Page background**: `<body style="background-image:url('bg.jpg'); background-size:cover;">` +- **Inline image**: `<img src="photo.jpg" style="width:296pt; height:220pt; object-fit:cover;">` +- **DIV background-image is NOT supported** — only body background-image works + +**Mask overlay for photo backgrounds**: +```html +<!-- Background photo on body --> +<body style="width:720pt; height:405pt; margin:0; padding:0; overflow:hidden; + background-image:url('cover-bg.jpg'); background-size:cover; + font-family:'PingFang SC','Microsoft YaHei',sans-serif; + display:flex; flex-direction:column;"> + <!-- Semi-transparent mask layer (use theme's Mask Color from themes.md) --> + <div style="position:absolute; top:0; left:0; width:720pt; height:405pt; + background-color:rgba(18,32,64,0.75);"></div> + <!-- Content layer above mask --> + <div style="position:relative; z-index:1; flex:1; display:flex; flex-direction:column; + justify-content:center; align-items:center;"> + <h1 style="font-size:34pt; font-weight:bold; color:#FFFFFF;">Title Here</h1> + </div> +</body> +``` + +**Mask opacity guide**: +- Dark mask (cover/divider): opacity 0.70–0.85 — text clearly readable +- Light mask (content): opacity 0.60–0.80 — retains image visibility + +### Icons & Gradients + +- **CRITICAL: Never use CSS gradients** — pre-rasterize as PNG with Sharp +- **Icons**: rasterize react-icons SVG to PNG; **Gradients**: rasterize SVG to PNG background + +```javascript +// Icon to PNG +const { FaHome } = require('react-icons/fa'); +const svgString = ReactDOMServer.renderToStaticMarkup( + React.createElement(FaHome, { color: '#4472C4', size: '256' }) +); +await sharp(Buffer.from(svgString)).png().toFile('home-icon.png'); +// In HTML: <img src="home-icon.png" style="width:40pt;height:40pt;"> + +// Gradient to PNG +const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="562.5"> + <defs><linearGradient id="g" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" style="stop-color:#COLOR1"/> + <stop offset="100%" style="stop-color:#COLOR2"/> + </linearGradient></defs> + <rect width="100%" height="100%" fill="url(#g)"/> +</svg>`; +await sharp(Buffer.from(svg)).png().toFile('gradient-bg.png'); +// In HTML: <body style="background-image: url('gradient-bg.png');"> +``` + +--- + +## Using the html2pptx Library + +### Dependencies + +Globally installed: `pptxgenjs`, `playwright`, `sharp` + +### Basic Usage + +```javascript +const pptxgen = require('pptxgenjs'); +const html2pptx = require('./html2pptx'); + +const pptx = new pptxgen(); +pptx.layout = 'LAYOUT_16x9'; // Must match HTML body dimensions + +// Optional: custom font configuration (from themes.md) +const fontConfig = { cjk: 'Microsoft YaHei', latin: 'Gill Sans MT' }; + +const { slide, placeholders, warnings } = await html2pptx('slide1.html', pptx, { fontConfig }); + +// If warnings is non-empty, fix the HTML and re-run +if (warnings.length > 0) { + console.error('Fix overflow issues before saving:', warnings); + process.exit(1); +} + +if (placeholders.length > 0) { + slide.addChart(pptx.charts.LINE, chartData, placeholders[0]); +} + +await pptx.writeFile('output.pptx'); +``` + +### API Reference + +```javascript +await html2pptx(htmlFile, pres, options) +``` + +**Parameters:** +- `htmlFile` (string): Path to HTML file +- `pres` (pptxgen): PptxGenJS instance with layout set +- `options.tmpDir` (string): Temp dir (default: `process.env.TMPDIR || '/tmp'`) +- `options.slide` (object): Existing slide to reuse +- `options.fontConfig` (object): Font mapping config `{ cjk: 'Microsoft YaHei', latin: 'Corbel' }` + +**Returns:** +```javascript +{ + slide: pptxgenSlide, + placeholders: [{ id, x, y, w, h }, ...], + warnings: string[] // Overflow and layout suggestions; empty if none +} +``` + +### Validation + +**Blocking errors** (conversion aborted): +1. CSS gradients — must be pre-rasterized as PNG +2. Backgrounds/borders/shadows on text elements (`<p>`, `<h1>`-`<h6>`, etc.) +3. Unwrapped text directly in `<div>` +4. Manual bullet symbols in text elements +5. Font size below 11pt + +**Non-blocking warnings** (conversion succeeds, returned in `warnings`): +1. Element out of bounds — extends beyond slide edges +2. Vertical imbalance — content clusters in top 55% +3. Text overlap — text elements overlap each other +4. Character density — exceeds 350 CJK / 550 Latin chars +5. Body-level overflow + +**Blocking issues** (overflow, font < 11pt) must be fixed. **Non-blocking warnings** are suggestions — use your judgment. + +### Visual Quality Check + +After generating all slides, do a quick quality scan: +- Is there visual variety across the deck? (different layouts, backgrounds, card styles) +- Do real photographs appear? (at least on cover + 1 other slide for 6+ slide decks) +- Is there at least one dramatic "rhythm breaker" page? +- Does every slide have a clear visual focal point? + +### Working with Placeholders + +```javascript +const { slide, placeholders } = await html2pptx('slide.html', pptx); +slide.addChart(pptx.charts.BAR, data, placeholders[0]); + +// By ID: +const chartArea = placeholders.find(p => p.id === 'chart-area'); +slide.addChart(pptx.charts.LINE, data, chartArea); +``` + +--- + +## Using PptxGenJS + +### Critical Rules + +**NEVER use `#` prefix** with hex colors in PptxGenJS — causes file corruption. +- ✅ `color: "FF0000"`, `fill: { color: "0066CC" }` +- ❌ `color: "#FF0000"` + +### Adding Images + +```javascript +const imgWidth = 1860, imgHeight = 1519; +const h = 3, w = h * (imgWidth / imgHeight); +slide.addImage({ path: "chart.png", x: (10 - w) / 2, y: 1.5, w, h }); +``` + +### Adding Shapes + +```javascript +slide.addShape(pptx.shapes.RECTANGLE, { + x: 1, y: 1, w: 3, h: 2, + fill: { color: "4472C4" }, + line: { color: "2E5DA8", width: 2 }, + rectRadius: 0.1 // rounded corners (ROUNDED_RECTANGLE only) +}); +``` + +### Adding Charts + +**Time Series Granularity:** `< 30 days` daily | `30-365 days` monthly | `> 365 days` yearly. + +#### Bar Chart + +```javascript +slide.addChart(pptx.charts.BAR, [{ + name: "Sales 2024", + labels: ["Q1", "Q2", "Q3", "Q4"], + values: [4500, 5500, 6200, 7100] +}], { + ...placeholders[0], + barDir: 'col', + showTitle: true, title: 'Quarterly Sales', + showLegend: false, + showCatAxisTitle: true, catAxisTitle: 'Quarter', + showValAxisTitle: true, valAxisTitle: 'Sales ($000s)', + valAxisMinVal: 0, valAxisMaxVal: 8000, valAxisMajorUnit: 2000, + chartColors: ["4472C4"] +}); +``` + +#### Line Chart + +```javascript +slide.addChart(pptx.charts.LINE, [{ + name: "Temperature", + labels: ["Jan", "Feb", "Mar", "Apr"], + values: [32, 35, 42, 55] +}], { + x: 1, y: 1, w: 8, h: 4, + lineSize: 4, lineSmooth: true, + showCatAxisTitle: true, catAxisTitle: 'Month', + showValAxisTitle: true, valAxisTitle: 'Temp (F)', + valAxisMinVal: 0, valAxisMaxVal: 60, valAxisMajorUnit: 20, + chartColors: ["4472C4"] +}); +``` + +#### Pie Chart + +```javascript +slide.addChart(pptx.charts.PIE, [{ + name: "Market Share", + labels: ["Product A", "Product B", "Other"], + values: [35, 45, 20] +}], { + x: 2, y: 1, w: 6, h: 4, + showPercent: true, showLegend: true, legendPos: 'r', + chartColors: ["4472C4", "ED7D31", "A5A5A5"] +}); +``` + +#### Scatter Chart + +```javascript +slide.addChart(pptx.charts.SCATTER, [ + { name: 'X-Axis', values: [10, 15, 20, 12, 18] }, + { name: 'Series 1', values: [20, 25, 30] }, + { name: 'Series 2', values: [18, 22] } +], { + x: 1, y: 1, w: 8, h: 4, + lineSize: 0, lineDataSymbol: 'circle', lineDataSymbolSize: 6, + showCatAxisTitle: true, catAxisTitle: 'X', + showValAxisTitle: true, valAxisTitle: 'Y', + chartColors: ["4472C4", "ED7D31"] +}); +``` + +#### Multiple Series + +```javascript +slide.addChart(pptx.charts.LINE, [ + { name: "Product A", labels: ["Q1","Q2","Q3","Q4"], values: [10,20,30,40] }, + { name: "Product B", labels: ["Q1","Q2","Q3","Q4"], values: [15,25,20,35] } +], { x: 1, y: 1, w: 8, h: 4, showCatAxisTitle: true, catAxisTitle: 'Quarter', + showValAxisTitle: true, valAxisTitle: 'Revenue ($M)' }); +``` + +**Chart colors:** no `#` prefix; align with slide palette; strong contrast between adjacent series. + +### Adding Tables + +```javascript +const tableData = [ + [ + { text: "Product", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } }, + { text: "Revenue", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } }, + { text: "Growth", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } } + ], + ["Product A", "$50M", "+15%"], + ["Product B", "$35M", "+22%"] +]; +slide.addTable(tableData, { + x: 1, y: 1.5, w: 8, h: 2.5, + colW: [3, 2.5, 2.5], rowH: [0.5, 0.6, 0.6], + border: { pt: 1, color: "CCCCCC" }, + align: "center", valign: "middle", fontSize: 14 +}); +``` + +**Table options:** `x, y, w, h` | `colW` | `rowH` | `border: { pt, color }` | `fill` | `align` | `valign` | `fontSize` | `autoPage` diff --git a/skills/ppt/ooxml.md b/skills/ppt/ooxml.md new file mode 100755 index 0000000..951b3cf --- /dev/null +++ b/skills/ppt/ooxml.md @@ -0,0 +1,427 @@ +# Office Open XML Technical Reference for PowerPoint + +**Important: Read this entire document before starting.** Critical XML schema rules and formatting requirements are covered throughout. Incorrect implementation can create invalid PPTX files that PowerPoint cannot open. + +## Technical Guidelines + +### Schema Compliance +- **Element ordering in `<p:txBody>`**: `<a:bodyPr>`, `<a:lstStyle>`, `<a:p>` +- **Whitespace**: Add `xml:space='preserve'` to `<a:t>` elements with leading/trailing spaces +- **Unicode**: Escape characters in ASCII content: `"` becomes `“` +- **Images**: Add to `ppt/media/`, reference in slide XML, set dimensions to fit slide bounds +- **Relationships**: Update `ppt/slides/_rels/slideN.xml.rels` for each slide's resources +- **Dirty attribute**: Add `dirty="0"` to `<a:rPr>` and `<a:endParaRPr>` elements to indicate clean state + +## Presentation Structure + +### Basic Slide Structure +```xml +<!-- ppt/slides/slide1.xml --> +<p:sld> + <p:cSld> + <p:spTree> + <p:nvGrpSpPr>...</p:nvGrpSpPr> + <p:grpSpPr>...</p:grpSpPr> + <!-- Shapes go here --> + </p:spTree> + </p:cSld> +</p:sld> +``` + +### Text Box / Shape with Text +```xml +<p:sp> + <p:nvSpPr> + <p:cNvPr id="2" name="Title"/> + <p:cNvSpPr> + <a:spLocks noGrp="1"/> + </p:cNvSpPr> + <p:nvPr> + <p:ph type="ctrTitle"/> + </p:nvPr> + </p:nvSpPr> + <p:spPr> + <a:xfrm> + <a:off x="838200" y="365125"/> + <a:ext cx="7772400" cy="1470025"/> + </a:xfrm> + </p:spPr> + <p:txBody> + <a:bodyPr/> + <a:lstStyle/> + <a:p> + <a:r> + <a:t>Slide Title</a:t> + </a:r> + </a:p> + </p:txBody> +</p:sp> +``` + +### Text Formatting +```xml +<!-- Bold --> +<a:r> + <a:rPr b="1"/> + <a:t>Bold Text</a:t> +</a:r> + +<!-- Italic --> +<a:r> + <a:rPr i="1"/> + <a:t>Italic Text</a:t> +</a:r> + +<!-- Underline --> +<a:r> + <a:rPr u="sng"/> + <a:t>Underlined</a:t> +</a:r> + +<!-- Highlight --> +<a:r> + <a:rPr> + <a:highlight> + <a:srgbClr val="FFFF00"/> + </a:highlight> + </a:rPr> + <a:t>Highlighted Text</a:t> +</a:r> + +<!-- Font and Size --> +<a:r> + <a:rPr sz="2400" typeface="Arial"> + <a:solidFill> + <a:srgbClr val="FF0000"/> + </a:solidFill> + </a:rPr> + <a:t>Colored Arial 24pt</a:t> +</a:r> + +<!-- Complete formatting example --> +<a:r> + <a:rPr lang="en-US" sz="1400" b="1" dirty="0"> + <a:solidFill> + <a:srgbClr val="FAFAFA"/> + </a:solidFill> + </a:rPr> + <a:t>Formatted text</a:t> +</a:r> +``` + +### Lists +```xml +<!-- Bullet list --> +<a:p> + <a:pPr lvl="0"> + <a:buChar char="•"/> + </a:pPr> + <a:r> + <a:t>First bullet point</a:t> + </a:r> +</a:p> + +<!-- Numbered list --> +<a:p> + <a:pPr lvl="0"> + <a:buAutoNum type="arabicPeriod"/> + </a:pPr> + <a:r> + <a:t>First numbered item</a:t> + </a:r> +</a:p> + +<!-- Second level indent --> +<a:p> + <a:pPr lvl="1"> + <a:buChar char="•"/> + </a:pPr> + <a:r> + <a:t>Indented bullet</a:t> + </a:r> +</a:p> +``` + +### Shapes +```xml +<!-- Rectangle --> +<p:sp> + <p:nvSpPr> + <p:cNvPr id="3" name="Rectangle"/> + <p:cNvSpPr/> + <p:nvPr/> + </p:nvSpPr> + <p:spPr> + <a:xfrm> + <a:off x="1000000" y="1000000"/> + <a:ext cx="3000000" cy="2000000"/> + </a:xfrm> + <a:prstGeom prst="rect"> + <a:avLst/> + </a:prstGeom> + <a:solidFill> + <a:srgbClr val="FF0000"/> + </a:solidFill> + <a:ln w="25400"> + <a:solidFill> + <a:srgbClr val="000000"/> + </a:solidFill> + </a:ln> + </p:spPr> +</p:sp> + +<!-- Rounded Rectangle --> +<p:sp> + <p:spPr> + <a:prstGeom prst="roundRect"> + <a:avLst/> + </a:prstGeom> + </p:spPr> +</p:sp> + +<!-- Circle/Ellipse --> +<p:sp> + <p:spPr> + <a:prstGeom prst="ellipse"> + <a:avLst/> + </a:prstGeom> + </p:spPr> +</p:sp> +``` + +### Images +```xml +<p:pic> + <p:nvPicPr> + <p:cNvPr id="4" name="Picture"> + <a:hlinkClick r:id="" action="ppaction://media"/> + </p:cNvPr> + <p:cNvPicPr> + <a:picLocks noChangeAspect="1"/> + </p:cNvPicPr> + <p:nvPr/> + </p:nvPicPr> + <p:blipFill> + <a:blip r:embed="rId2"/> + <a:stretch> + <a:fillRect/> + </a:stretch> + </p:blipFill> + <p:spPr> + <a:xfrm> + <a:off x="1000000" y="1000000"/> + <a:ext cx="3000000" cy="2000000"/> + </a:xfrm> + <a:prstGeom prst="rect"> + <a:avLst/> + </a:prstGeom> + </p:spPr> +</p:pic> +``` + +### Tables +```xml +<p:graphicFrame> + <p:nvGraphicFramePr> + <p:cNvPr id="5" name="Table"/> + <p:cNvGraphicFramePr> + <a:graphicFrameLocks noGrp="1"/> + </p:cNvGraphicFramePr> + <p:nvPr/> + </p:nvGraphicFramePr> + <p:xfrm> + <a:off x="1000000" y="1000000"/> + <a:ext cx="6000000" cy="2000000"/> + </p:xfrm> + <a:graphic> + <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table"> + <a:tbl> + <a:tblGrid> + <a:gridCol w="3000000"/> + <a:gridCol w="3000000"/> + </a:tblGrid> + <a:tr h="500000"> + <a:tc> + <a:txBody> + <a:bodyPr/> + <a:lstStyle/> + <a:p> + <a:r> + <a:t>Cell 1</a:t> + </a:r> + </a:p> + </a:txBody> + </a:tc> + <a:tc> + <a:txBody> + <a:bodyPr/> + <a:lstStyle/> + <a:p> + <a:r> + <a:t>Cell 2</a:t> + </a:r> + </a:p> + </a:txBody> + </a:tc> + </a:tr> + </a:tbl> + </a:graphicData> + </a:graphic> +</p:graphicFrame> +``` + +### Slide Layouts + +```xml +<!-- Title Slide Layout --> +<p:sp> + <p:nvSpPr> + <p:nvPr> + <p:ph type="ctrTitle"/> + </p:nvPr> + </p:nvSpPr> + <!-- Title content --> +</p:sp> + +<p:sp> + <p:nvSpPr> + <p:nvPr> + <p:ph type="subTitle" idx="1"/> + </p:nvPr> + </p:nvSpPr> + <!-- Subtitle content --> +</p:sp> + +<!-- Content Slide Layout --> +<p:sp> + <p:nvSpPr> + <p:nvPr> + <p:ph type="title"/> + </p:nvPr> + </p:nvSpPr> + <!-- Slide title --> +</p:sp> + +<p:sp> + <p:nvSpPr> + <p:nvPr> + <p:ph type="body" idx="1"/> + </p:nvPr> + </p:nvSpPr> + <!-- Content body --> +</p:sp> +``` + +## File Updates + +When adding content, update these files: + +**`ppt/_rels/presentation.xml.rels`:** +```xml +<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slides/slide1.xml"/> +<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" Target="slideMasters/slideMaster1.xml"/> +``` + +**`ppt/slides/_rels/slide1.xml.rels`:** +```xml +<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Target="../slideLayouts/slideLayout1.xml"/> +<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.png"/> +``` + +**`[Content_Types].xml`:** +```xml +<Default Extension="png" ContentType="image/png"/> +<Default Extension="jpg" ContentType="image/jpeg"/> +<Override PartName="/ppt/slides/slide1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/> +``` + +**`ppt/presentation.xml`:** +```xml +<p:sldIdLst> + <p:sldId id="256" r:id="rId1"/> + <p:sldId id="257" r:id="rId2"/> +</p:sldIdLst> +``` + +**`docProps/app.xml`:** Update slide count and statistics +```xml +<Slides>2</Slides> +<Paragraphs>10</Paragraphs> +<Words>50</Words> +``` + +## Slide Operations + +### Adding a New Slide +When adding a slide to the end of the presentation: + +1. **Create the slide file** (`ppt/slides/slideN.xml`) +2. **Update `[Content_Types].xml`**: Add Override for the new slide +3. **Update `ppt/_rels/presentation.xml.rels`**: Add relationship for the new slide +4. **Update `ppt/presentation.xml`**: Add slide ID to `<p:sldIdLst>` +5. **Create slide relationships** (`ppt/slides/_rels/slideN.xml.rels`) if needed +6. **Update `docProps/app.xml`**: Increment slide count and update statistics (if present) + +### Duplicating a Slide +1. Copy the source slide XML file with a new name +2. Update all IDs in the new slide to be unique +3. Follow the "Adding a New Slide" steps above +4. **CRITICAL**: Remove or update any notes slide references in `_rels` files +5. Remove references to unused media files + +### Reordering Slides +1. **Update `ppt/presentation.xml`**: Reorder `<p:sldId>` elements in `<p:sldIdLst>` +2. The order of `<p:sldId>` elements determines slide order +3. Keep slide IDs and relationship IDs unchanged + +Example: +```xml +<!-- Original order --> +<p:sldIdLst> + <p:sldId id="256" r:id="rId2"/> + <p:sldId id="257" r:id="rId3"/> + <p:sldId id="258" r:id="rId4"/> +</p:sldIdLst> + +<!-- After moving slide 3 to position 2 --> +<p:sldIdLst> + <p:sldId id="256" r:id="rId2"/> + <p:sldId id="258" r:id="rId4"/> + <p:sldId id="257" r:id="rId3"/> +</p:sldIdLst> +``` + +### Deleting a Slide +1. **Remove from `ppt/presentation.xml`**: Delete the `<p:sldId>` entry +2. **Remove from `ppt/_rels/presentation.xml.rels`**: Delete the relationship +3. **Remove from `[Content_Types].xml`**: Delete the Override entry +4. **Delete files**: Remove `ppt/slides/slideN.xml` and `ppt/slides/_rels/slideN.xml.rels` +5. **Update `docProps/app.xml`**: Decrement slide count and update statistics +6. **Clean up unused media**: Remove orphaned images from `ppt/media/` + +Note: Don't renumber remaining slides - keep their original IDs and filenames. + + +## Common Errors to Avoid + +- **Encodings**: Escape unicode characters in ASCII content: `"` becomes `“` +- **Images**: Add to `ppt/media/` and update relationship files +- **Lists**: Omit bullets from list headers +- **IDs**: Use valid hexadecimal values for UUIDs +- **Themes**: Check all themes in `theme` directory for colors + +## Validation Checklist for Template-Based Presentations + +### Before Packing, Always: +- **Clean unused resources**: Remove unreferenced media, fonts, and notes directories +- **Fix Content_Types.xml**: Declare ALL slides, layouts, and themes present in the package +- **Fix relationship IDs**: + - Remove font embed references if not using embedded fonts +- **Remove broken references**: Check all `_rels` files for references to deleted resources + +### Common Template Duplication Pitfalls: +- Multiple slides referencing the same notes slide after duplication +- Image/media references from template slides that no longer exist +- Font embedding references when fonts aren't included +- Missing slideLayout declarations for layouts 12-25 +- docProps directory may not unpack - this is optional \ No newline at end of file diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd new file mode 100755 index 0000000..6454ef9 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd @@ -0,0 +1,1499 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns="http://schemas.openxmlformats.org/drawingml/2006/chart" + xmlns:cdr="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/chart" + elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" + schemaLocation="dml-main.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" + schemaLocation="dml-chartDrawing.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:complexType name="CT_Boolean"> + <xsd:attribute name="val" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_Double"> + <xsd:attribute name="val" type="xsd:double" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_UnsignedInt"> + <xsd:attribute name="val" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RelId"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Extension"> + <xsd:sequence> + <xsd:any processContents="lax"/> + </xsd:sequence> + <xsd:attribute name="uri" type="xsd:token"/> + </xsd:complexType> + <xsd:complexType name="CT_ExtensionList"> + <xsd:sequence> + <xsd:element name="ext" type="CT_Extension" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NumVal"> + <xsd:sequence> + <xsd:element name="v" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="idx" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="formatCode" type="s:ST_Xstring" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_NumData"> + <xsd:sequence> + <xsd:element name="formatCode" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ptCount" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pt" type="CT_NumVal" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NumRef"> + <xsd:sequence> + <xsd:element name="f" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="numCache" type="CT_NumData" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NumDataSource"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="numRef" type="CT_NumRef" minOccurs="1" maxOccurs="1"/> + <xsd:element name="numLit" type="CT_NumData" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_StrVal"> + <xsd:sequence> + <xsd:element name="v" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="idx" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_StrData"> + <xsd:sequence> + <xsd:element name="ptCount" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pt" type="CT_StrVal" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_StrRef"> + <xsd:sequence> + <xsd:element name="f" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="strCache" type="CT_StrData" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Tx"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="strRef" type="CT_StrRef" minOccurs="1" maxOccurs="1"/> + <xsd:element name="rich" type="a:CT_TextBody" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TextLanguageID"> + <xsd:attribute name="val" type="s:ST_Lang" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Lvl"> + <xsd:sequence> + <xsd:element name="pt" type="CT_StrVal" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MultiLvlStrData"> + <xsd:sequence> + <xsd:element name="ptCount" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl" type="CT_Lvl" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MultiLvlStrRef"> + <xsd:sequence> + <xsd:element name="f" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="multiLvlStrCache" type="CT_MultiLvlStrData" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_AxDataSource"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="multiLvlStrRef" type="CT_MultiLvlStrRef" minOccurs="1" maxOccurs="1"/> + <xsd:element name="numRef" type="CT_NumRef" minOccurs="1" maxOccurs="1"/> + <xsd:element name="numLit" type="CT_NumData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="strRef" type="CT_StrRef" minOccurs="1" maxOccurs="1"/> + <xsd:element name="strLit" type="CT_StrData" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SerTx"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="strRef" type="CT_StrRef" minOccurs="1" maxOccurs="1"/> + <xsd:element name="v" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_LayoutTarget"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="inner"/> + <xsd:enumeration value="outer"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LayoutTarget"> + <xsd:attribute name="val" type="ST_LayoutTarget" default="outer"/> + </xsd:complexType> + <xsd:simpleType name="ST_LayoutMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="edge"/> + <xsd:enumeration value="factor"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LayoutMode"> + <xsd:attribute name="val" type="ST_LayoutMode" default="factor"/> + </xsd:complexType> + <xsd:complexType name="CT_ManualLayout"> + <xsd:sequence> + <xsd:element name="layoutTarget" type="CT_LayoutTarget" minOccurs="0" maxOccurs="1"/> + <xsd:element name="xMode" type="CT_LayoutMode" minOccurs="0" maxOccurs="1"/> + <xsd:element name="yMode" type="CT_LayoutMode" minOccurs="0" maxOccurs="1"/> + <xsd:element name="wMode" type="CT_LayoutMode" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hMode" type="CT_LayoutMode" minOccurs="0" maxOccurs="1"/> + <xsd:element name="x" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="y" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="w" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="h" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Layout"> + <xsd:sequence> + <xsd:element name="manualLayout" type="CT_ManualLayout" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Title"> + <xsd:sequence> + <xsd:element name="tx" type="CT_Tx" minOccurs="0" maxOccurs="1"/> + <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/> + <xsd:element name="overlay" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_RotX"> + <xsd:restriction base="xsd:byte"> + <xsd:minInclusive value="-90"/> + <xsd:maxInclusive value="90"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_RotX"> + <xsd:attribute name="val" type="ST_RotX" default="0"/> + </xsd:complexType> + <xsd:simpleType name="ST_HPercent"> + <xsd:union memberTypes="ST_HPercentWithSymbol ST_HPercentUShort"/> + </xsd:simpleType> + <xsd:simpleType name="ST_HPercentWithSymbol"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*(([5-9])|([1-9][0-9])|([1-4][0-9][0-9])|500)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HPercentUShort"> + <xsd:restriction base="xsd:unsignedShort"> + <xsd:minInclusive value="5"/> + <xsd:maxInclusive value="500"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_HPercent"> + <xsd:attribute name="val" type="ST_HPercent" default="100%"/> + </xsd:complexType> + <xsd:simpleType name="ST_RotY"> + <xsd:restriction base="xsd:unsignedShort"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="360"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_RotY"> + <xsd:attribute name="val" type="ST_RotY" default="0"/> + </xsd:complexType> + <xsd:simpleType name="ST_DepthPercent"> + <xsd:union memberTypes="ST_DepthPercentWithSymbol ST_DepthPercentUShort"/> + </xsd:simpleType> + <xsd:simpleType name="ST_DepthPercentWithSymbol"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*(([2-9][0-9])|([1-9][0-9][0-9])|(1[0-9][0-9][0-9])|2000)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DepthPercentUShort"> + <xsd:restriction base="xsd:unsignedShort"> + <xsd:minInclusive value="20"/> + <xsd:maxInclusive value="2000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DepthPercent"> + <xsd:attribute name="val" type="ST_DepthPercent" default="100%"/> + </xsd:complexType> + <xsd:simpleType name="ST_Perspective"> + <xsd:restriction base="xsd:unsignedByte"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="240"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Perspective"> + <xsd:attribute name="val" type="ST_Perspective" default="30"/> + </xsd:complexType> + <xsd:complexType name="CT_View3D"> + <xsd:sequence> + <xsd:element name="rotX" type="CT_RotX" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hPercent" type="CT_HPercent" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rotY" type="CT_RotY" minOccurs="0" maxOccurs="1"/> + <xsd:element name="depthPercent" type="CT_DepthPercent" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rAngAx" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="perspective" type="CT_Perspective" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Surface"> + <xsd:sequence> + <xsd:element name="thickness" type="CT_Thickness" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pictureOptions" type="CT_PictureOptions" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_Thickness"> + <xsd:union memberTypes="ST_ThicknessPercent xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_ThicknessPercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="([0-9]+)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Thickness"> + <xsd:attribute name="val" type="ST_Thickness" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DTable"> + <xsd:sequence> + <xsd:element name="showHorzBorder" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showVertBorder" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showOutline" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showKeys" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_GapAmount"> + <xsd:union memberTypes="ST_GapAmountPercent ST_GapAmountUShort"/> + </xsd:simpleType> + <xsd:simpleType name="ST_GapAmountPercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*(([0-9])|([1-9][0-9])|([1-4][0-9][0-9])|500)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_GapAmountUShort"> + <xsd:restriction base="xsd:unsignedShort"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="500"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_GapAmount"> + <xsd:attribute name="val" type="ST_GapAmount" default="150%"/> + </xsd:complexType> + <xsd:simpleType name="ST_Overlap"> + <xsd:union memberTypes="ST_OverlapPercent ST_OverlapByte"/> + </xsd:simpleType> + <xsd:simpleType name="ST_OverlapPercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="(-?0*(([0-9])|([1-9][0-9])|100))%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_OverlapByte"> + <xsd:restriction base="xsd:byte"> + <xsd:minInclusive value="-100"/> + <xsd:maxInclusive value="100"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Overlap"> + <xsd:attribute name="val" type="ST_Overlap" default="0%"/> + </xsd:complexType> + <xsd:simpleType name="ST_BubbleScale"> + <xsd:union memberTypes="ST_BubbleScalePercent ST_BubbleScaleUInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_BubbleScalePercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*(([0-9])|([1-9][0-9])|([1-2][0-9][0-9])|300)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_BubbleScaleUInt"> + <xsd:restriction base="xsd:unsignedInt"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="300"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_BubbleScale"> + <xsd:attribute name="val" type="ST_BubbleScale" default="100%"/> + </xsd:complexType> + <xsd:simpleType name="ST_SizeRepresents"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="area"/> + <xsd:enumeration value="w"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SizeRepresents"> + <xsd:attribute name="val" type="ST_SizeRepresents" default="area"/> + </xsd:complexType> + <xsd:simpleType name="ST_FirstSliceAng"> + <xsd:restriction base="xsd:unsignedShort"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="360"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FirstSliceAng"> + <xsd:attribute name="val" type="ST_FirstSliceAng" default="0"/> + </xsd:complexType> + <xsd:simpleType name="ST_HoleSize"> + <xsd:union memberTypes="ST_HoleSizePercent ST_HoleSizeUByte"/> + </xsd:simpleType> + <xsd:simpleType name="ST_HoleSizePercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*([1-9]|([1-8][0-9])|90)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HoleSizeUByte"> + <xsd:restriction base="xsd:unsignedByte"> + <xsd:minInclusive value="1"/> + <xsd:maxInclusive value="90"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_HoleSize"> + <xsd:attribute name="val" type="ST_HoleSize" default="10%"/> + </xsd:complexType> + <xsd:simpleType name="ST_SplitType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="cust"/> + <xsd:enumeration value="percent"/> + <xsd:enumeration value="pos"/> + <xsd:enumeration value="val"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SplitType"> + <xsd:attribute name="val" type="ST_SplitType" default="auto"/> + </xsd:complexType> + <xsd:complexType name="CT_CustSplit"> + <xsd:sequence> + <xsd:element name="secondPiePt" type="CT_UnsignedInt" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_SecondPieSize"> + <xsd:union memberTypes="ST_SecondPieSizePercent ST_SecondPieSizeUShort"/> + </xsd:simpleType> + <xsd:simpleType name="ST_SecondPieSizePercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*(([5-9])|([1-9][0-9])|(1[0-9][0-9])|200)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_SecondPieSizeUShort"> + <xsd:restriction base="xsd:unsignedShort"> + <xsd:minInclusive value="5"/> + <xsd:maxInclusive value="200"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SecondPieSize"> + <xsd:attribute name="val" type="ST_SecondPieSize" default="75%"/> + </xsd:complexType> + <xsd:complexType name="CT_NumFmt"> + <xsd:attribute name="formatCode" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="sourceLinked" type="xsd:boolean"/> + </xsd:complexType> + <xsd:simpleType name="ST_LblAlgn"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="r"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LblAlgn"> + <xsd:attribute name="val" type="ST_LblAlgn" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_DLblPos"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="bestFit"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="inBase"/> + <xsd:enumeration value="inEnd"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="outEnd"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="t"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DLblPos"> + <xsd:attribute name="val" type="ST_DLblPos" use="required"/> + </xsd:complexType> + <xsd:group name="EG_DLblShared"> + <xsd:sequence> + <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dLblPos" type="CT_DLblPos" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showLegendKey" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showVal" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showCatName" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showSerName" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showPercent" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showBubbleSize" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="separator" type="xsd:string" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:group name="Group_DLbl"> + <xsd:sequence> + <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tx" type="CT_Tx" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_DLblShared" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_DLbl"> + <xsd:sequence> + <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:choice> + <xsd:element name="delete" type="CT_Boolean" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="Group_DLbl" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="Group_DLbls"> + <xsd:sequence> + <xsd:group ref="EG_DLblShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="showLeaderLines" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="leaderLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_DLbls"> + <xsd:sequence> + <xsd:element name="dLbl" type="CT_DLbl" minOccurs="0" maxOccurs="unbounded"/> + <xsd:choice> + <xsd:element name="delete" type="CT_Boolean" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="Group_DLbls" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_MarkerStyle"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="circle"/> + <xsd:enumeration value="dash"/> + <xsd:enumeration value="diamond"/> + <xsd:enumeration value="dot"/> + <xsd:enumeration value="none"/> + <xsd:enumeration value="picture"/> + <xsd:enumeration value="plus"/> + <xsd:enumeration value="square"/> + <xsd:enumeration value="star"/> + <xsd:enumeration value="triangle"/> + <xsd:enumeration value="x"/> + <xsd:enumeration value="auto"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MarkerStyle"> + <xsd:attribute name="val" type="ST_MarkerStyle" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_MarkerSize"> + <xsd:restriction base="xsd:unsignedByte"> + <xsd:minInclusive value="2"/> + <xsd:maxInclusive value="72"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MarkerSize"> + <xsd:attribute name="val" type="ST_MarkerSize" default="5"/> + </xsd:complexType> + <xsd:complexType name="CT_Marker"> + <xsd:sequence> + <xsd:element name="symbol" type="CT_MarkerStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="size" type="CT_MarkerSize" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DPt"> + <xsd:sequence> + <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:element name="invertIfNegative" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bubble3D" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="explosion" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pictureOptions" type="CT_PictureOptions" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TrendlineType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="exp"/> + <xsd:enumeration value="linear"/> + <xsd:enumeration value="log"/> + <xsd:enumeration value="movingAvg"/> + <xsd:enumeration value="poly"/> + <xsd:enumeration value="power"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TrendlineType"> + <xsd:attribute name="val" type="ST_TrendlineType" default="linear"/> + </xsd:complexType> + <xsd:simpleType name="ST_Order"> + <xsd:restriction base="xsd:unsignedByte"> + <xsd:minInclusive value="2"/> + <xsd:maxInclusive value="6"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Order"> + <xsd:attribute name="val" type="ST_Order" default="2"/> + </xsd:complexType> + <xsd:simpleType name="ST_Period"> + <xsd:restriction base="xsd:unsignedInt"> + <xsd:minInclusive value="2"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Period"> + <xsd:attribute name="val" type="ST_Period" default="2"/> + </xsd:complexType> + <xsd:complexType name="CT_TrendlineLbl"> + <xsd:sequence> + <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tx" type="CT_Tx" minOccurs="0" maxOccurs="1"/> + <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Trendline"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trendlineType" type="CT_TrendlineType" minOccurs="1" maxOccurs="1"/> + <xsd:element name="order" type="CT_Order" minOccurs="0" maxOccurs="1"/> + <xsd:element name="period" type="CT_Period" minOccurs="0" maxOccurs="1"/> + <xsd:element name="forward" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="backward" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="intercept" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dispRSqr" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dispEq" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trendlineLbl" type="CT_TrendlineLbl" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_ErrDir"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="x"/> + <xsd:enumeration value="y"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ErrDir"> + <xsd:attribute name="val" type="ST_ErrDir" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_ErrBarType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="both"/> + <xsd:enumeration value="minus"/> + <xsd:enumeration value="plus"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ErrBarType"> + <xsd:attribute name="val" type="ST_ErrBarType" default="both"/> + </xsd:complexType> + <xsd:simpleType name="ST_ErrValType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="cust"/> + <xsd:enumeration value="fixedVal"/> + <xsd:enumeration value="percentage"/> + <xsd:enumeration value="stdDev"/> + <xsd:enumeration value="stdErr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ErrValType"> + <xsd:attribute name="val" type="ST_ErrValType" default="fixedVal"/> + </xsd:complexType> + <xsd:complexType name="CT_ErrBars"> + <xsd:sequence> + <xsd:element name="errDir" type="CT_ErrDir" minOccurs="0" maxOccurs="1"/> + <xsd:element name="errBarType" type="CT_ErrBarType" minOccurs="1" maxOccurs="1"/> + <xsd:element name="errValType" type="CT_ErrValType" minOccurs="1" maxOccurs="1"/> + <xsd:element name="noEndCap" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="plus" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="minus" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="val" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_UpDownBar"> + <xsd:sequence> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_UpDownBars"> + <xsd:sequence> + <xsd:element name="gapWidth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/> + <xsd:element name="upBars" type="CT_UpDownBar" minOccurs="0" maxOccurs="1"/> + <xsd:element name="downBars" type="CT_UpDownBar" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_SerShared"> + <xsd:sequence> + <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:element name="order" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tx" type="CT_SerTx" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_LineSer"> + <xsd:sequence> + <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="smooth" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ScatterSer"> + <xsd:sequence> + <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="2"/> + <xsd:element name="xVal" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="yVal" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="smooth" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_RadarSer"> + <xsd:sequence> + <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BarSer"> + <xsd:sequence> + <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="invertIfNegative" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pictureOptions" type="CT_PictureOptions" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_AreaSer"> + <xsd:sequence> + <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="pictureOptions" type="CT_PictureOptions" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="2"/> + <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PieSer"> + <xsd:sequence> + <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="explosion" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BubbleSer"> + <xsd:sequence> + <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="invertIfNegative" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="2"/> + <xsd:element name="xVal" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="yVal" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bubbleSize" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bubble3D" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SurfaceSer"> + <xsd:sequence> + <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_Grouping"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="percentStacked"/> + <xsd:enumeration value="standard"/> + <xsd:enumeration value="stacked"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Grouping"> + <xsd:attribute name="val" type="ST_Grouping" default="standard"/> + </xsd:complexType> + <xsd:complexType name="CT_ChartLines"> + <xsd:sequence> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_LineChartShared"> + <xsd:sequence> + <xsd:element name="grouping" type="CT_Grouping" minOccurs="1" maxOccurs="1"/> + <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ser" type="CT_LineSer" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dropLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_LineChart"> + <xsd:sequence> + <xsd:group ref="EG_LineChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hiLowLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/> + <xsd:element name="upDownBars" type="CT_UpDownBars" minOccurs="0" maxOccurs="1"/> + <xsd:element name="marker" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="smooth" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Line3DChart"> + <xsd:sequence> + <xsd:group ref="EG_LineChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gapDepth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="3" maxOccurs="3"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_StockChart"> + <xsd:sequence> + <xsd:element name="ser" type="CT_LineSer" minOccurs="3" maxOccurs="4"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dropLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hiLowLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/> + <xsd:element name="upDownBars" type="CT_UpDownBars" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_ScatterStyle"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="line"/> + <xsd:enumeration value="lineMarker"/> + <xsd:enumeration value="marker"/> + <xsd:enumeration value="smooth"/> + <xsd:enumeration value="smoothMarker"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ScatterStyle"> + <xsd:attribute name="val" type="ST_ScatterStyle" default="marker"/> + </xsd:complexType> + <xsd:complexType name="CT_ScatterChart"> + <xsd:sequence> + <xsd:element name="scatterStyle" type="CT_ScatterStyle" minOccurs="1" maxOccurs="1"/> + <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ser" type="CT_ScatterSer" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_RadarStyle"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="standard"/> + <xsd:enumeration value="marker"/> + <xsd:enumeration value="filled"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_RadarStyle"> + <xsd:attribute name="val" type="ST_RadarStyle" default="standard"/> + </xsd:complexType> + <xsd:complexType name="CT_RadarChart"> + <xsd:sequence> + <xsd:element name="radarStyle" type="CT_RadarStyle" minOccurs="1" maxOccurs="1"/> + <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ser" type="CT_RadarSer" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_BarGrouping"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="percentStacked"/> + <xsd:enumeration value="clustered"/> + <xsd:enumeration value="standard"/> + <xsd:enumeration value="stacked"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_BarGrouping"> + <xsd:attribute name="val" type="ST_BarGrouping" default="clustered"/> + </xsd:complexType> + <xsd:simpleType name="ST_BarDir"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="bar"/> + <xsd:enumeration value="col"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_BarDir"> + <xsd:attribute name="val" type="ST_BarDir" default="col"/> + </xsd:complexType> + <xsd:simpleType name="ST_Shape"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="cone"/> + <xsd:enumeration value="coneToMax"/> + <xsd:enumeration value="box"/> + <xsd:enumeration value="cylinder"/> + <xsd:enumeration value="pyramid"/> + <xsd:enumeration value="pyramidToMax"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Shape"> + <xsd:attribute name="val" type="ST_Shape" default="box"/> + </xsd:complexType> + <xsd:group name="EG_BarChartShared"> + <xsd:sequence> + <xsd:element name="barDir" type="CT_BarDir" minOccurs="1" maxOccurs="1"/> + <xsd:element name="grouping" type="CT_BarGrouping" minOccurs="0" maxOccurs="1"/> + <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ser" type="CT_BarSer" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_BarChart"> + <xsd:sequence> + <xsd:group ref="EG_BarChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gapWidth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/> + <xsd:element name="overlap" type="CT_Overlap" minOccurs="0" maxOccurs="1"/> + <xsd:element name="serLines" type="CT_ChartLines" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Bar3DChart"> + <xsd:sequence> + <xsd:group ref="EG_BarChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gapWidth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/> + <xsd:element name="gapDepth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="3"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_AreaChartShared"> + <xsd:sequence> + <xsd:element name="grouping" type="CT_Grouping" minOccurs="0" maxOccurs="1"/> + <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ser" type="CT_AreaSer" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dropLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_AreaChart"> + <xsd:sequence> + <xsd:group ref="EG_AreaChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Area3DChart"> + <xsd:sequence> + <xsd:group ref="EG_AreaChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gapDepth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="3"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_PieChartShared"> + <xsd:sequence> + <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ser" type="CT_PieSer" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_PieChart"> + <xsd:sequence> + <xsd:group ref="EG_PieChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="firstSliceAng" type="CT_FirstSliceAng" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Pie3DChart"> + <xsd:sequence> + <xsd:group ref="EG_PieChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DoughnutChart"> + <xsd:sequence> + <xsd:group ref="EG_PieChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="firstSliceAng" type="CT_FirstSliceAng" minOccurs="0" maxOccurs="1"/> + <xsd:element name="holeSize" type="CT_HoleSize" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_OfPieType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="pie"/> + <xsd:enumeration value="bar"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_OfPieType"> + <xsd:attribute name="val" type="ST_OfPieType" default="pie"/> + </xsd:complexType> + <xsd:complexType name="CT_OfPieChart"> + <xsd:sequence> + <xsd:element name="ofPieType" type="CT_OfPieType" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="EG_PieChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gapWidth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/> + <xsd:element name="splitType" type="CT_SplitType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="splitPos" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="custSplit" type="CT_CustSplit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="secondPieSize" type="CT_SecondPieSize" minOccurs="0" maxOccurs="1"/> + <xsd:element name="serLines" type="CT_ChartLines" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BubbleChart"> + <xsd:sequence> + <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ser" type="CT_BubbleSer" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bubble3D" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bubbleScale" type="CT_BubbleScale" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showNegBubbles" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sizeRepresents" type="CT_SizeRepresents" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BandFmt"> + <xsd:sequence> + <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BandFmts"> + <xsd:sequence> + <xsd:element name="bandFmt" type="CT_BandFmt" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_SurfaceChartShared"> + <xsd:sequence> + <xsd:element name="wireframe" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ser" type="CT_SurfaceSer" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="bandFmts" type="CT_BandFmts" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_SurfaceChart"> + <xsd:sequence> + <xsd:group ref="EG_SurfaceChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="3"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Surface3DChart"> + <xsd:sequence> + <xsd:group ref="EG_SurfaceChartShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="3" maxOccurs="3"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_AxPos"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="b"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="t"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_AxPos"> + <xsd:attribute name="val" type="ST_AxPos" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Crosses"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="autoZero"/> + <xsd:enumeration value="max"/> + <xsd:enumeration value="min"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Crosses"> + <xsd:attribute name="val" type="ST_Crosses" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_CrossBetween"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="between"/> + <xsd:enumeration value="midCat"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_CrossBetween"> + <xsd:attribute name="val" type="ST_CrossBetween" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TickMark"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="cross"/> + <xsd:enumeration value="in"/> + <xsd:enumeration value="none"/> + <xsd:enumeration value="out"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TickMark"> + <xsd:attribute name="val" type="ST_TickMark" default="cross"/> + </xsd:complexType> + <xsd:simpleType name="ST_TickLblPos"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="high"/> + <xsd:enumeration value="low"/> + <xsd:enumeration value="nextTo"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TickLblPos"> + <xsd:attribute name="val" type="ST_TickLblPos" default="nextTo"/> + </xsd:complexType> + <xsd:simpleType name="ST_Skip"> + <xsd:restriction base="xsd:unsignedInt"> + <xsd:minInclusive value="1"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Skip"> + <xsd:attribute name="val" type="ST_Skip" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TimeUnit"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="days"/> + <xsd:enumeration value="months"/> + <xsd:enumeration value="years"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TimeUnit"> + <xsd:attribute name="val" type="ST_TimeUnit" default="days"/> + </xsd:complexType> + <xsd:simpleType name="ST_AxisUnit"> + <xsd:restriction base="xsd:double"> + <xsd:minExclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_AxisUnit"> + <xsd:attribute name="val" type="ST_AxisUnit" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_BuiltInUnit"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="hundreds"/> + <xsd:enumeration value="thousands"/> + <xsd:enumeration value="tenThousands"/> + <xsd:enumeration value="hundredThousands"/> + <xsd:enumeration value="millions"/> + <xsd:enumeration value="tenMillions"/> + <xsd:enumeration value="hundredMillions"/> + <xsd:enumeration value="billions"/> + <xsd:enumeration value="trillions"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_BuiltInUnit"> + <xsd:attribute name="val" type="ST_BuiltInUnit" default="thousands"/> + </xsd:complexType> + <xsd:simpleType name="ST_PictureFormat"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="stretch"/> + <xsd:enumeration value="stack"/> + <xsd:enumeration value="stackScale"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PictureFormat"> + <xsd:attribute name="val" type="ST_PictureFormat" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_PictureStackUnit"> + <xsd:restriction base="xsd:double"> + <xsd:minExclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PictureStackUnit"> + <xsd:attribute name="val" type="ST_PictureStackUnit" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PictureOptions"> + <xsd:sequence> + <xsd:element name="applyToFront" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="applyToSides" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="applyToEnd" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pictureFormat" type="CT_PictureFormat" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pictureStackUnit" type="CT_PictureStackUnit" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DispUnitsLbl"> + <xsd:sequence> + <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tx" type="CT_Tx" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DispUnits"> + <xsd:sequence> + <xsd:choice> + <xsd:element name="custUnit" type="CT_Double" minOccurs="1" maxOccurs="1"/> + <xsd:element name="builtInUnit" type="CT_BuiltInUnit" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:element name="dispUnitsLbl" type="CT_DispUnitsLbl" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_Orientation"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="maxMin"/> + <xsd:enumeration value="minMax"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Orientation"> + <xsd:attribute name="val" type="ST_Orientation" default="minMax"/> + </xsd:complexType> + <xsd:simpleType name="ST_LogBase"> + <xsd:restriction base="xsd:double"> + <xsd:minInclusive value="2"/> + <xsd:maxInclusive value="1000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LogBase"> + <xsd:attribute name="val" type="ST_LogBase" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Scaling"> + <xsd:sequence> + <xsd:element name="logBase" type="CT_LogBase" minOccurs="0" maxOccurs="1"/> + <xsd:element name="orientation" type="CT_Orientation" minOccurs="0" maxOccurs="1"/> + <xsd:element name="max" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="min" type="CT_Double" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_LblOffset"> + <xsd:union memberTypes="ST_LblOffsetPercent ST_LblOffsetUShort"/> + </xsd:simpleType> + <xsd:simpleType name="ST_LblOffsetPercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*(([0-9])|([1-9][0-9])|([1-9][0-9][0-9])|1000)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LblOffsetUShort"> + <xsd:restriction base="xsd:unsignedShort"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="1000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LblOffset"> + <xsd:attribute name="val" type="ST_LblOffset" default="100%"/> + </xsd:complexType> + <xsd:group name="EG_AxShared"> + <xsd:sequence> + <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:element name="scaling" type="CT_Scaling" minOccurs="1" maxOccurs="1"/> + <xsd:element name="delete" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="axPos" type="CT_AxPos" minOccurs="1" maxOccurs="1"/> + <xsd:element name="majorGridlines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/> + <xsd:element name="minorGridlines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/> + <xsd:element name="title" type="CT_Title" minOccurs="0" maxOccurs="1"/> + <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="majorTickMark" type="CT_TickMark" minOccurs="0" maxOccurs="1"/> + <xsd:element name="minorTickMark" type="CT_TickMark" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tickLblPos" type="CT_TickLblPos" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="crossAx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="crosses" type="CT_Crosses" minOccurs="1" maxOccurs="1"/> + <xsd:element name="crossesAt" type="CT_Double" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_CatAx"> + <xsd:sequence> + <xsd:group ref="EG_AxShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="auto" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lblAlgn" type="CT_LblAlgn" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lblOffset" type="CT_LblOffset" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tickLblSkip" type="CT_Skip" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tickMarkSkip" type="CT_Skip" minOccurs="0" maxOccurs="1"/> + <xsd:element name="noMultiLvlLbl" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DateAx"> + <xsd:sequence> + <xsd:group ref="EG_AxShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="auto" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lblOffset" type="CT_LblOffset" minOccurs="0" maxOccurs="1"/> + <xsd:element name="baseTimeUnit" type="CT_TimeUnit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="majorUnit" type="CT_AxisUnit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="majorTimeUnit" type="CT_TimeUnit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="minorUnit" type="CT_AxisUnit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="minorTimeUnit" type="CT_TimeUnit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SerAx"> + <xsd:sequence> + <xsd:group ref="EG_AxShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tickLblSkip" type="CT_Skip" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tickMarkSkip" type="CT_Skip" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ValAx"> + <xsd:sequence> + <xsd:group ref="EG_AxShared" minOccurs="1" maxOccurs="1"/> + <xsd:element name="crossBetween" type="CT_CrossBetween" minOccurs="0" maxOccurs="1"/> + <xsd:element name="majorUnit" type="CT_AxisUnit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="minorUnit" type="CT_AxisUnit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dispUnits" type="CT_DispUnits" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PlotArea"> + <xsd:sequence> + <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/> + <xsd:choice minOccurs="1" maxOccurs="unbounded"> + <xsd:element name="areaChart" type="CT_AreaChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="area3DChart" type="CT_Area3DChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lineChart" type="CT_LineChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="line3DChart" type="CT_Line3DChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="stockChart" type="CT_StockChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="radarChart" type="CT_RadarChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="scatterChart" type="CT_ScatterChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="pieChart" type="CT_PieChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="pie3DChart" type="CT_Pie3DChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="doughnutChart" type="CT_DoughnutChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="barChart" type="CT_BarChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="bar3DChart" type="CT_Bar3DChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="ofPieChart" type="CT_OfPieChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="surfaceChart" type="CT_SurfaceChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="surface3DChart" type="CT_Surface3DChart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="bubbleChart" type="CT_BubbleChart" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="valAx" type="CT_ValAx" minOccurs="1" maxOccurs="1"/> + <xsd:element name="catAx" type="CT_CatAx" minOccurs="1" maxOccurs="1"/> + <xsd:element name="dateAx" type="CT_DateAx" minOccurs="1" maxOccurs="1"/> + <xsd:element name="serAx" type="CT_SerAx" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:element name="dTable" type="CT_DTable" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PivotFmt"> + <xsd:sequence> + <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dLbl" type="CT_DLbl" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PivotFmts"> + <xsd:sequence> + <xsd:element name="pivotFmt" type="CT_PivotFmt" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_LegendPos"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="b"/> + <xsd:enumeration value="tr"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="t"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LegendPos"> + <xsd:attribute name="val" type="ST_LegendPos" default="r"/> + </xsd:complexType> + <xsd:group name="EG_LegendEntryData"> + <xsd:sequence> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_LegendEntry"> + <xsd:sequence> + <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:choice> + <xsd:element name="delete" type="CT_Boolean" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="EG_LegendEntryData" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Legend"> + <xsd:sequence> + <xsd:element name="legendPos" type="CT_LegendPos" minOccurs="0" maxOccurs="1"/> + <xsd:element name="legendEntry" type="CT_LegendEntry" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/> + <xsd:element name="overlay" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_DispBlanksAs"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="span"/> + <xsd:enumeration value="gap"/> + <xsd:enumeration value="zero"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DispBlanksAs"> + <xsd:attribute name="val" type="ST_DispBlanksAs" default="zero"/> + </xsd:complexType> + <xsd:complexType name="CT_Chart"> + <xsd:sequence> + <xsd:element name="title" type="CT_Title" minOccurs="0" maxOccurs="1"/> + <xsd:element name="autoTitleDeleted" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pivotFmts" type="CT_PivotFmts" minOccurs="0" maxOccurs="1"/> + <xsd:element name="view3D" type="CT_View3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="floor" type="CT_Surface" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sideWall" type="CT_Surface" minOccurs="0" maxOccurs="1"/> + <xsd:element name="backWall" type="CT_Surface" minOccurs="0" maxOccurs="1"/> + <xsd:element name="plotArea" type="CT_PlotArea" minOccurs="1" maxOccurs="1"/> + <xsd:element name="legend" type="CT_Legend" minOccurs="0" maxOccurs="1"/> + <xsd:element name="plotVisOnly" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dispBlanksAs" type="CT_DispBlanksAs" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showDLblsOverMax" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_Style"> + <xsd:restriction base="xsd:unsignedByte"> + <xsd:minInclusive value="1"/> + <xsd:maxInclusive value="48"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Style"> + <xsd:attribute name="val" type="ST_Style" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotSource"> + <xsd:sequence> + <xsd:element name="name" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fmtId" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Protection"> + <xsd:sequence> + <xsd:element name="chartObject" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="data" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="formatting" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="selection" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="userInterface" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_HeaderFooter"> + <xsd:sequence> + <xsd:element name="oddHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="oddFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="evenHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="evenFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="firstHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="firstFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="alignWithMargins" type="xsd:boolean" default="true"/> + <xsd:attribute name="differentOddEven" type="xsd:boolean" default="false"/> + <xsd:attribute name="differentFirst" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_PageMargins"> + <xsd:attribute name="l" type="xsd:double" use="required"/> + <xsd:attribute name="r" type="xsd:double" use="required"/> + <xsd:attribute name="t" type="xsd:double" use="required"/> + <xsd:attribute name="b" type="xsd:double" use="required"/> + <xsd:attribute name="header" type="xsd:double" use="required"/> + <xsd:attribute name="footer" type="xsd:double" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_PageSetupOrientation"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="default"/> + <xsd:enumeration value="portrait"/> + <xsd:enumeration value="landscape"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ExternalData"> + <xsd:sequence> + <xsd:element name="autoUpdate" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PageSetup"> + <xsd:attribute name="paperSize" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="paperHeight" type="s:ST_PositiveUniversalMeasure" use="optional"/> + <xsd:attribute name="paperWidth" type="s:ST_PositiveUniversalMeasure" use="optional"/> + <xsd:attribute name="firstPageNumber" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="orientation" type="ST_PageSetupOrientation" use="optional" + default="default"/> + <xsd:attribute name="blackAndWhite" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="draft" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="useFirstPageNumber" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="horizontalDpi" type="xsd:int" use="optional" default="600"/> + <xsd:attribute name="verticalDpi" type="xsd:int" use="optional" default="600"/> + <xsd:attribute name="copies" type="xsd:unsignedInt" use="optional" default="1"/> + </xsd:complexType> + <xsd:complexType name="CT_PrintSettings"> + <xsd:sequence> + <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageSetup" type="CT_PageSetup" minOccurs="0" maxOccurs="1"/> + <xsd:element name="legacyDrawingHF" type="CT_RelId" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ChartSpace"> + <xsd:sequence> + <xsd:element name="date1904" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lang" type="CT_TextLanguageID" minOccurs="0" maxOccurs="1"/> + <xsd:element name="roundedCorners" type="CT_Boolean" minOccurs="0" maxOccurs="1"/> + <xsd:element name="style" type="CT_Style" minOccurs="0" maxOccurs="1"/> + <xsd:element name="clrMapOvr" type="a:CT_ColorMapping" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pivotSource" type="CT_PivotSource" minOccurs="0" maxOccurs="1"/> + <xsd:element name="protection" type="CT_Protection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="chart" type="CT_Chart" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="externalData" type="CT_ExternalData" minOccurs="0" maxOccurs="1"/> + <xsd:element name="printSettings" type="CT_PrintSettings" minOccurs="0" maxOccurs="1"/> + <xsd:element name="userShapes" type="CT_RelId" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="chartSpace" type="CT_ChartSpace"/> + <xsd:element name="userShapes" type="cdr:CT_Drawing"/> + <xsd:element name="chart" type="CT_RelId"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd new file mode 100755 index 0000000..afa4f46 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" + xmlns="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" + targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" + elementFormDefault="qualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" + schemaLocation="dml-main.xsd"/> + <xsd:complexType name="CT_ShapeNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Shape"> + <xsd:sequence> + <xsd:element name="nvSpPr" type="CT_ShapeNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txBody" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="macro" type="xsd:string" use="optional"/> + <xsd:attribute name="textlink" type="xsd:string" use="optional"/> + <xsd:attribute name="fLocksText" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ConnectorNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvCxnSpPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Connector"> + <xsd:sequence> + <xsd:element name="nvCxnSpPr" type="CT_ConnectorNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="macro" type="xsd:string" use="optional"/> + <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_PictureNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Picture"> + <xsd:sequence> + <xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="macro" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_GraphicFrameNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties" + minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GraphicFrame"> + <xsd:sequence> + <xsd:element name="nvGraphicFramePr" type="CT_GraphicFrameNonVisual" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/> + <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="macro" type="xsd:string" use="optional"/> + <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupShapeNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GroupShape"> + <xsd:sequence> + <xsd:element name="nvGrpSpPr" type="CT_GroupShapeNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="sp" type="CT_Shape"/> + <xsd:element name="grpSp" type="CT_GroupShape"/> + <xsd:element name="graphicFrame" type="CT_GraphicFrame"/> + <xsd:element name="cxnSp" type="CT_Connector"/> + <xsd:element name="pic" type="CT_Picture"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_ObjectChoices"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="sp" type="CT_Shape"/> + <xsd:element name="grpSp" type="CT_GroupShape"/> + <xsd:element name="graphicFrame" type="CT_GraphicFrame"/> + <xsd:element name="cxnSp" type="CT_Connector"/> + <xsd:element name="pic" type="CT_Picture"/> + </xsd:choice> + </xsd:sequence> + </xsd:group> + <xsd:simpleType name="ST_MarkerCoordinate"> + <xsd:restriction base="xsd:double"> + <xsd:minInclusive value="0.0"/> + <xsd:maxInclusive value="1.0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Marker"> + <xsd:sequence> + <xsd:element name="x" type="ST_MarkerCoordinate" minOccurs="1" maxOccurs="1"/> + <xsd:element name="y" type="ST_MarkerCoordinate" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_RelSizeAnchor"> + <xsd:sequence> + <xsd:element name="from" type="CT_Marker"/> + <xsd:element name="to" type="CT_Marker"/> + <xsd:group ref="EG_ObjectChoices"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_AbsSizeAnchor"> + <xsd:sequence> + <xsd:element name="from" type="CT_Marker"/> + <xsd:element name="ext" type="a:CT_PositiveSize2D"/> + <xsd:group ref="EG_ObjectChoices"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_Anchor"> + <xsd:choice> + <xsd:element name="relSizeAnchor" type="CT_RelSizeAnchor"/> + <xsd:element name="absSizeAnchor" type="CT_AbsSizeAnchor"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_Drawing"> + <xsd:sequence> + <xsd:group ref="EG_Anchor" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd new file mode 100755 index 0000000..64e66b8 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd @@ -0,0 +1,1085 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/drawingml/2006/diagram" + xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/diagram" + elementFormDefault="qualified" attributeFormDefault="unqualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" + schemaLocation="dml-main.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:complexType name="CT_CTName"> + <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="val" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CTDescription"> + <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="val" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CTCategory"> + <xsd:attribute name="type" type="xsd:anyURI" use="required"/> + <xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CTCategories"> + <xsd:sequence minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="cat" type="CT_CTCategory" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_ClrAppMethod"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="span"/> + <xsd:enumeration value="cycle"/> + <xsd:enumeration value="repeat"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HueDir"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="cw"/> + <xsd:enumeration value="ccw"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Colors"> + <xsd:sequence> + <xsd:group ref="a:EG_ColorChoice" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="meth" type="ST_ClrAppMethod" use="optional" default="span"/> + <xsd:attribute name="hueDir" type="ST_HueDir" use="optional" default="cw"/> + </xsd:complexType> + <xsd:complexType name="CT_CTStyleLabel"> + <xsd:sequence> + <xsd:element name="fillClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="linClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="effectClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txLinClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txFillClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txEffectClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_ColorTransform"> + <xsd:sequence> + <xsd:element name="title" type="CT_CTName" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="desc" type="CT_CTDescription" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="catLst" type="CT_CTCategories" minOccurs="0"/> + <xsd:element name="styleLbl" type="CT_CTStyleLabel" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="minVer" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:element name="colorsDef" type="CT_ColorTransform"/> + <xsd:complexType name="CT_ColorTransformHeader"> + <xsd:sequence> + <xsd:element name="title" type="CT_CTName" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="desc" type="CT_CTDescription" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="catLst" type="CT_CTCategories" minOccurs="0"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="uniqueId" type="xsd:string" use="required"/> + <xsd:attribute name="minVer" type="xsd:string" use="optional"/> + <xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/> + </xsd:complexType> + <xsd:element name="colorsDefHdr" type="CT_ColorTransformHeader"/> + <xsd:complexType name="CT_ColorTransformHeaderLst"> + <xsd:sequence> + <xsd:element name="colorsDefHdr" type="CT_ColorTransformHeader" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="colorsDefHdrLst" type="CT_ColorTransformHeaderLst"/> + <xsd:simpleType name="ST_PtType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="node"/> + <xsd:enumeration value="asst"/> + <xsd:enumeration value="doc"/> + <xsd:enumeration value="pres"/> + <xsd:enumeration value="parTrans"/> + <xsd:enumeration value="sibTrans"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Pt"> + <xsd:sequence> + <xsd:element name="prSet" type="CT_ElemPropSet" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="t" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="modelId" type="ST_ModelId" use="required"/> + <xsd:attribute name="type" type="ST_PtType" use="optional" default="node"/> + <xsd:attribute name="cxnId" type="ST_ModelId" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_PtList"> + <xsd:sequence> + <xsd:element name="pt" type="CT_Pt" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_CxnType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="parOf"/> + <xsd:enumeration value="presOf"/> + <xsd:enumeration value="presParOf"/> + <xsd:enumeration value="unknownRelationship"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Cxn"> + <xsd:sequence> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="modelId" type="ST_ModelId" use="required"/> + <xsd:attribute name="type" type="ST_CxnType" use="optional" default="parOf"/> + <xsd:attribute name="srcId" type="ST_ModelId" use="required"/> + <xsd:attribute name="destId" type="ST_ModelId" use="required"/> + <xsd:attribute name="srcOrd" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="destOrd" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="parTransId" type="ST_ModelId" use="optional" default="0"/> + <xsd:attribute name="sibTransId" type="ST_ModelId" use="optional" default="0"/> + <xsd:attribute name="presId" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_CxnList"> + <xsd:sequence> + <xsd:element name="cxn" type="CT_Cxn" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DataModel"> + <xsd:sequence> + <xsd:element name="ptLst" type="CT_PtList"/> + <xsd:element name="cxnLst" type="CT_CxnList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bg" type="a:CT_BackgroundFormatting" minOccurs="0"/> + <xsd:element name="whole" type="a:CT_WholeE2oFormatting" minOccurs="0"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="dataModel" type="CT_DataModel"/> + <xsd:attributeGroup name="AG_IteratorAttributes"> + <xsd:attribute name="axis" type="ST_AxisTypes" use="optional" default="none"/> + <xsd:attribute name="ptType" type="ST_ElementTypes" use="optional" default="all"/> + <xsd:attribute name="hideLastTrans" type="ST_Booleans" use="optional" default="true"/> + <xsd:attribute name="st" type="ST_Ints" use="optional" default="1"/> + <xsd:attribute name="cnt" type="ST_UnsignedInts" use="optional" default="0"/> + <xsd:attribute name="step" type="ST_Ints" use="optional" default="1"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_ConstraintAttributes"> + <xsd:attribute name="type" type="ST_ConstraintType" use="required"/> + <xsd:attribute name="for" type="ST_ConstraintRelationship" use="optional" default="self"/> + <xsd:attribute name="forName" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="ptType" type="ST_ElementType" use="optional" default="all"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_ConstraintRefAttributes"> + <xsd:attribute name="refType" type="ST_ConstraintType" use="optional" default="none"/> + <xsd:attribute name="refFor" type="ST_ConstraintRelationship" use="optional" default="self"/> + <xsd:attribute name="refForName" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="refPtType" type="ST_ElementType" use="optional" default="all"/> + </xsd:attributeGroup> + <xsd:complexType name="CT_Constraint"> + <xsd:sequence> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_ConstraintAttributes"/> + <xsd:attributeGroup ref="AG_ConstraintRefAttributes"/> + <xsd:attribute name="op" type="ST_BoolOperator" use="optional" default="none"/> + <xsd:attribute name="val" type="xsd:double" use="optional" default="0"/> + <xsd:attribute name="fact" type="xsd:double" use="optional" default="1"/> + </xsd:complexType> + <xsd:complexType name="CT_Constraints"> + <xsd:sequence> + <xsd:element name="constr" type="CT_Constraint" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NumericRule"> + <xsd:sequence> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_ConstraintAttributes"/> + <xsd:attribute name="val" type="xsd:double" use="optional" default="NaN"/> + <xsd:attribute name="fact" type="xsd:double" use="optional" default="NaN"/> + <xsd:attribute name="max" type="xsd:double" use="optional" default="NaN"/> + </xsd:complexType> + <xsd:complexType name="CT_Rules"> + <xsd:sequence> + <xsd:element name="rule" type="CT_NumericRule" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PresentationOf"> + <xsd:sequence> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_IteratorAttributes"/> + </xsd:complexType> + <xsd:simpleType name="ST_LayoutShapeType" final="restriction"> + <xsd:union memberTypes="a:ST_ShapeType ST_OutputShapeType"/> + </xsd:simpleType> + <xsd:simpleType name="ST_Index1"> + <xsd:restriction base="xsd:unsignedInt"> + <xsd:minInclusive value="1"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Adj"> + <xsd:attribute name="idx" type="ST_Index1" use="required"/> + <xsd:attribute name="val" type="xsd:double" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_AdjLst"> + <xsd:sequence> + <xsd:element name="adj" type="CT_Adj" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Shape"> + <xsd:sequence> + <xsd:element name="adjLst" type="CT_AdjLst" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="rot" type="xsd:double" use="optional" default="0"/> + <xsd:attribute name="type" type="ST_LayoutShapeType" use="optional" default="none"/> + <xsd:attribute ref="r:blip" use="optional"/> + <xsd:attribute name="zOrderOff" type="xsd:int" use="optional" default="0"/> + <xsd:attribute name="hideGeom" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="lkTxEntry" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="blipPhldr" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Parameter"> + <xsd:attribute name="type" type="ST_ParameterId" use="required"/> + <xsd:attribute name="val" type="ST_ParameterVal" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Algorithm"> + <xsd:sequence> + <xsd:element name="param" type="CT_Parameter" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_AlgorithmType" use="required"/> + <xsd:attribute name="rev" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_LayoutNode"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/> + <xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/> + <xsd:element name="varLst" type="CT_LayoutVariablePropertySet" minOccurs="0" maxOccurs="1"/> + <xsd:element name="forEach" type="CT_ForEach"/> + <xsd:element name="layoutNode" type="CT_LayoutNode"/> + <xsd:element name="choose" type="CT_Choose"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="styleLbl" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="chOrder" type="ST_ChildOrderType" use="optional" default="b"/> + <xsd:attribute name="moveWith" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_ForEach"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/> + <xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/> + <xsd:element name="forEach" type="CT_ForEach"/> + <xsd:element name="layoutNode" type="CT_LayoutNode"/> + <xsd:element name="choose" type="CT_Choose"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="ref" type="xsd:string" use="optional" default=""/> + <xsd:attributeGroup ref="AG_IteratorAttributes"/> + </xsd:complexType> + <xsd:complexType name="CT_When"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/> + <xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/> + <xsd:element name="forEach" type="CT_ForEach"/> + <xsd:element name="layoutNode" type="CT_LayoutNode"/> + <xsd:element name="choose" type="CT_Choose"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + <xsd:attributeGroup ref="AG_IteratorAttributes"/> + <xsd:attribute name="func" type="ST_FunctionType" use="required"/> + <xsd:attribute name="arg" type="ST_FunctionArgument" use="optional" default="none"/> + <xsd:attribute name="op" type="ST_FunctionOperator" use="required"/> + <xsd:attribute name="val" type="ST_FunctionValue" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Otherwise"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/> + <xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/> + <xsd:element name="forEach" type="CT_ForEach"/> + <xsd:element name="layoutNode" type="CT_LayoutNode"/> + <xsd:element name="choose" type="CT_Choose"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_Choose"> + <xsd:sequence> + <xsd:element name="if" type="CT_When" maxOccurs="unbounded"/> + <xsd:element name="else" type="CT_Otherwise" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_SampleData"> + <xsd:sequence> + <xsd:element name="dataModel" type="CT_DataModel" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="useDef" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Category"> + <xsd:attribute name="type" type="xsd:anyURI" use="required"/> + <xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Categories"> + <xsd:sequence> + <xsd:element name="cat" type="CT_Category" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Name"> + <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="val" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Description"> + <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="val" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DiagramDefinition"> + <xsd:sequence> + <xsd:element name="title" type="CT_Name" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="desc" type="CT_Description" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="catLst" type="CT_Categories" minOccurs="0"/> + <xsd:element name="sampData" type="CT_SampleData" minOccurs="0"/> + <xsd:element name="styleData" type="CT_SampleData" minOccurs="0"/> + <xsd:element name="clrData" type="CT_SampleData" minOccurs="0"/> + <xsd:element name="layoutNode" type="CT_LayoutNode"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="minVer" type="xsd:string" use="optional"/> + <xsd:attribute name="defStyle" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:element name="layoutDef" type="CT_DiagramDefinition"/> + <xsd:complexType name="CT_DiagramDefinitionHeader"> + <xsd:sequence> + <xsd:element name="title" type="CT_Name" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="desc" type="CT_Description" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="catLst" type="CT_Categories" minOccurs="0"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="uniqueId" type="xsd:string" use="required"/> + <xsd:attribute name="minVer" type="xsd:string" use="optional"/> + <xsd:attribute name="defStyle" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/> + </xsd:complexType> + <xsd:element name="layoutDefHdr" type="CT_DiagramDefinitionHeader"/> + <xsd:complexType name="CT_DiagramDefinitionHeaderLst"> + <xsd:sequence> + <xsd:element name="layoutDefHdr" type="CT_DiagramDefinitionHeader" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="layoutDefHdrLst" type="CT_DiagramDefinitionHeaderLst"/> + <xsd:complexType name="CT_RelIds"> + <xsd:attribute ref="r:dm" use="required"/> + <xsd:attribute ref="r:lo" use="required"/> + <xsd:attribute ref="r:qs" use="required"/> + <xsd:attribute ref="r:cs" use="required"/> + </xsd:complexType> + <xsd:element name="relIds" type="CT_RelIds"/> + <xsd:simpleType name="ST_ParameterVal"> + <xsd:union + memberTypes="ST_DiagramHorizontalAlignment ST_VerticalAlignment ST_ChildDirection ST_ChildAlignment ST_SecondaryChildAlignment ST_LinearDirection ST_SecondaryLinearDirection ST_StartingElement ST_BendPoint ST_ConnectorRouting ST_ArrowheadStyle ST_ConnectorDimension ST_RotationPath ST_CenterShapeMapping ST_NodeHorizontalAlignment ST_NodeVerticalAlignment ST_FallbackDimension ST_TextDirection ST_PyramidAccentPosition ST_PyramidAccentTextMargin ST_TextBlockDirection ST_TextAnchorHorizontal ST_TextAnchorVertical ST_DiagramTextAlignment ST_AutoTextRotation ST_GrowDirection ST_FlowDirection ST_ContinueDirection ST_Breakpoint ST_Offset ST_HierarchyAlignment xsd:int xsd:double xsd:boolean xsd:string ST_ConnectorPoint" + /> + </xsd:simpleType> + <xsd:simpleType name="ST_ModelId"> + <xsd:union memberTypes="xsd:int s:ST_Guid"/> + </xsd:simpleType> + <xsd:simpleType name="ST_PrSetCustVal"> + <xsd:union memberTypes="s:ST_Percentage xsd:int"/> + </xsd:simpleType> + <xsd:complexType name="CT_ElemPropSet"> + <xsd:sequence> + <xsd:element name="presLayoutVars" type="CT_LayoutVariablePropertySet" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="presAssocID" type="ST_ModelId" use="optional"/> + <xsd:attribute name="presName" type="xsd:string" use="optional"/> + <xsd:attribute name="presStyleLbl" type="xsd:string" use="optional"/> + <xsd:attribute name="presStyleIdx" type="xsd:int" use="optional"/> + <xsd:attribute name="presStyleCnt" type="xsd:int" use="optional"/> + <xsd:attribute name="loTypeId" type="xsd:string" use="optional"/> + <xsd:attribute name="loCatId" type="xsd:string" use="optional"/> + <xsd:attribute name="qsTypeId" type="xsd:string" use="optional"/> + <xsd:attribute name="qsCatId" type="xsd:string" use="optional"/> + <xsd:attribute name="csTypeId" type="xsd:string" use="optional"/> + <xsd:attribute name="csCatId" type="xsd:string" use="optional"/> + <xsd:attribute name="coherent3DOff" type="xsd:boolean" use="optional"/> + <xsd:attribute name="phldrT" type="xsd:string" use="optional"/> + <xsd:attribute name="phldr" type="xsd:boolean" use="optional"/> + <xsd:attribute name="custAng" type="xsd:int" use="optional"/> + <xsd:attribute name="custFlipVert" type="xsd:boolean" use="optional"/> + <xsd:attribute name="custFlipHor" type="xsd:boolean" use="optional"/> + <xsd:attribute name="custSzX" type="xsd:int" use="optional"/> + <xsd:attribute name="custSzY" type="xsd:int" use="optional"/> + <xsd:attribute name="custScaleX" type="ST_PrSetCustVal" use="optional"/> + <xsd:attribute name="custScaleY" type="ST_PrSetCustVal" use="optional"/> + <xsd:attribute name="custT" type="xsd:boolean" use="optional"/> + <xsd:attribute name="custLinFactX" type="ST_PrSetCustVal" use="optional"/> + <xsd:attribute name="custLinFactY" type="ST_PrSetCustVal" use="optional"/> + <xsd:attribute name="custLinFactNeighborX" type="ST_PrSetCustVal" use="optional"/> + <xsd:attribute name="custLinFactNeighborY" type="ST_PrSetCustVal" use="optional"/> + <xsd:attribute name="custRadScaleRad" type="ST_PrSetCustVal" use="optional"/> + <xsd:attribute name="custRadScaleInc" type="ST_PrSetCustVal" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_Direction" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="norm"/> + <xsd:enumeration value="rev"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HierBranchStyle" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="l"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="hang"/> + <xsd:enumeration value="std"/> + <xsd:enumeration value="init"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AnimOneStr" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="one"/> + <xsd:enumeration value="branch"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AnimLvlStr" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="lvl"/> + <xsd:enumeration value="ctr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_OrgChart"> + <xsd:attribute name="val" type="xsd:boolean" default="false" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_NodeCount"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="-1"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ChildMax"> + <xsd:attribute name="val" type="ST_NodeCount" default="-1" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ChildPref"> + <xsd:attribute name="val" type="ST_NodeCount" default="-1" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_BulletEnabled"> + <xsd:attribute name="val" type="xsd:boolean" default="false" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Direction"> + <xsd:attribute name="val" type="ST_Direction" default="norm" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_HierBranchStyle"> + <xsd:attribute name="val" type="ST_HierBranchStyle" default="std" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_AnimOne"> + <xsd:attribute name="val" type="ST_AnimOneStr" default="one" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_AnimLvl"> + <xsd:attribute name="val" type="ST_AnimLvlStr" default="none" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_ResizeHandlesStr" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="exact"/> + <xsd:enumeration value="rel"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ResizeHandles"> + <xsd:attribute name="val" type="ST_ResizeHandlesStr" default="rel" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_LayoutVariablePropertySet"> + <xsd:sequence> + <xsd:element name="orgChart" type="CT_OrgChart" minOccurs="0" maxOccurs="1"/> + <xsd:element name="chMax" type="CT_ChildMax" minOccurs="0" maxOccurs="1"/> + <xsd:element name="chPref" type="CT_ChildPref" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bulletEnabled" type="CT_BulletEnabled" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dir" type="CT_Direction" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hierBranch" type="CT_HierBranchStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="animOne" type="CT_AnimOne" minOccurs="0" maxOccurs="1"/> + <xsd:element name="animLvl" type="CT_AnimLvl" minOccurs="0" maxOccurs="1"/> + <xsd:element name="resizeHandles" type="CT_ResizeHandles" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SDName"> + <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="val" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SDDescription"> + <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="val" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SDCategory"> + <xsd:attribute name="type" type="xsd:anyURI" use="required"/> + <xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SDCategories"> + <xsd:sequence minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="cat" type="CT_SDCategory" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TextProps"> + <xsd:sequence> + <xsd:group ref="a:EG_Text3D" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_StyleLabel"> + <xsd:sequence> + <xsd:element name="scene3d" type="a:CT_Scene3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sp3d" type="a:CT_Shape3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txPr" type="CT_TextProps" minOccurs="0" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_StyleDefinition"> + <xsd:sequence> + <xsd:element name="title" type="CT_SDName" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="desc" type="CT_SDDescription" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="catLst" type="CT_SDCategories" minOccurs="0"/> + <xsd:element name="scene3d" type="a:CT_Scene3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="styleLbl" type="CT_StyleLabel" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="minVer" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:element name="styleDef" type="CT_StyleDefinition"/> + <xsd:complexType name="CT_StyleDefinitionHeader"> + <xsd:sequence> + <xsd:element name="title" type="CT_SDName" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="desc" type="CT_SDDescription" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="catLst" type="CT_SDCategories" minOccurs="0"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="uniqueId" type="xsd:string" use="required"/> + <xsd:attribute name="minVer" type="xsd:string" use="optional"/> + <xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/> + </xsd:complexType> + <xsd:element name="styleDefHdr" type="CT_StyleDefinitionHeader"/> + <xsd:complexType name="CT_StyleDefinitionHeaderLst"> + <xsd:sequence> + <xsd:element name="styleDefHdr" type="CT_StyleDefinitionHeader" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="styleDefHdrLst" type="CT_StyleDefinitionHeaderLst"/> + <xsd:simpleType name="ST_AlgorithmType" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="composite"/> + <xsd:enumeration value="conn"/> + <xsd:enumeration value="cycle"/> + <xsd:enumeration value="hierChild"/> + <xsd:enumeration value="hierRoot"/> + <xsd:enumeration value="pyra"/> + <xsd:enumeration value="lin"/> + <xsd:enumeration value="sp"/> + <xsd:enumeration value="tx"/> + <xsd:enumeration value="snake"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AxisType" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="self"/> + <xsd:enumeration value="ch"/> + <xsd:enumeration value="des"/> + <xsd:enumeration value="desOrSelf"/> + <xsd:enumeration value="par"/> + <xsd:enumeration value="ancst"/> + <xsd:enumeration value="ancstOrSelf"/> + <xsd:enumeration value="followSib"/> + <xsd:enumeration value="precedSib"/> + <xsd:enumeration value="follow"/> + <xsd:enumeration value="preced"/> + <xsd:enumeration value="root"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AxisTypes"> + <xsd:list itemType="ST_AxisType"/> + </xsd:simpleType> + <xsd:simpleType name="ST_BoolOperator" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="equ"/> + <xsd:enumeration value="gte"/> + <xsd:enumeration value="lte"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ChildOrderType" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="b"/> + <xsd:enumeration value="t"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConstraintType" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="alignOff"/> + <xsd:enumeration value="begMarg"/> + <xsd:enumeration value="bendDist"/> + <xsd:enumeration value="begPad"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="bMarg"/> + <xsd:enumeration value="bOff"/> + <xsd:enumeration value="ctrX"/> + <xsd:enumeration value="ctrXOff"/> + <xsd:enumeration value="ctrY"/> + <xsd:enumeration value="ctrYOff"/> + <xsd:enumeration value="connDist"/> + <xsd:enumeration value="diam"/> + <xsd:enumeration value="endMarg"/> + <xsd:enumeration value="endPad"/> + <xsd:enumeration value="h"/> + <xsd:enumeration value="hArH"/> + <xsd:enumeration value="hOff"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="lMarg"/> + <xsd:enumeration value="lOff"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="rMarg"/> + <xsd:enumeration value="rOff"/> + <xsd:enumeration value="primFontSz"/> + <xsd:enumeration value="pyraAcctRatio"/> + <xsd:enumeration value="secFontSz"/> + <xsd:enumeration value="sibSp"/> + <xsd:enumeration value="secSibSp"/> + <xsd:enumeration value="sp"/> + <xsd:enumeration value="stemThick"/> + <xsd:enumeration value="t"/> + <xsd:enumeration value="tMarg"/> + <xsd:enumeration value="tOff"/> + <xsd:enumeration value="userA"/> + <xsd:enumeration value="userB"/> + <xsd:enumeration value="userC"/> + <xsd:enumeration value="userD"/> + <xsd:enumeration value="userE"/> + <xsd:enumeration value="userF"/> + <xsd:enumeration value="userG"/> + <xsd:enumeration value="userH"/> + <xsd:enumeration value="userI"/> + <xsd:enumeration value="userJ"/> + <xsd:enumeration value="userK"/> + <xsd:enumeration value="userL"/> + <xsd:enumeration value="userM"/> + <xsd:enumeration value="userN"/> + <xsd:enumeration value="userO"/> + <xsd:enumeration value="userP"/> + <xsd:enumeration value="userQ"/> + <xsd:enumeration value="userR"/> + <xsd:enumeration value="userS"/> + <xsd:enumeration value="userT"/> + <xsd:enumeration value="userU"/> + <xsd:enumeration value="userV"/> + <xsd:enumeration value="userW"/> + <xsd:enumeration value="userX"/> + <xsd:enumeration value="userY"/> + <xsd:enumeration value="userZ"/> + <xsd:enumeration value="w"/> + <xsd:enumeration value="wArH"/> + <xsd:enumeration value="wOff"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConstraintRelationship" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="self"/> + <xsd:enumeration value="ch"/> + <xsd:enumeration value="des"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ElementType" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="all"/> + <xsd:enumeration value="doc"/> + <xsd:enumeration value="node"/> + <xsd:enumeration value="norm"/> + <xsd:enumeration value="nonNorm"/> + <xsd:enumeration value="asst"/> + <xsd:enumeration value="nonAsst"/> + <xsd:enumeration value="parTrans"/> + <xsd:enumeration value="pres"/> + <xsd:enumeration value="sibTrans"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ElementTypes"> + <xsd:list itemType="ST_ElementType"/> + </xsd:simpleType> + <xsd:simpleType name="ST_ParameterId" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="horzAlign"/> + <xsd:enumeration value="vertAlign"/> + <xsd:enumeration value="chDir"/> + <xsd:enumeration value="chAlign"/> + <xsd:enumeration value="secChAlign"/> + <xsd:enumeration value="linDir"/> + <xsd:enumeration value="secLinDir"/> + <xsd:enumeration value="stElem"/> + <xsd:enumeration value="bendPt"/> + <xsd:enumeration value="connRout"/> + <xsd:enumeration value="begSty"/> + <xsd:enumeration value="endSty"/> + <xsd:enumeration value="dim"/> + <xsd:enumeration value="rotPath"/> + <xsd:enumeration value="ctrShpMap"/> + <xsd:enumeration value="nodeHorzAlign"/> + <xsd:enumeration value="nodeVertAlign"/> + <xsd:enumeration value="fallback"/> + <xsd:enumeration value="txDir"/> + <xsd:enumeration value="pyraAcctPos"/> + <xsd:enumeration value="pyraAcctTxMar"/> + <xsd:enumeration value="txBlDir"/> + <xsd:enumeration value="txAnchorHorz"/> + <xsd:enumeration value="txAnchorVert"/> + <xsd:enumeration value="txAnchorHorzCh"/> + <xsd:enumeration value="txAnchorVertCh"/> + <xsd:enumeration value="parTxLTRAlign"/> + <xsd:enumeration value="parTxRTLAlign"/> + <xsd:enumeration value="shpTxLTRAlignCh"/> + <xsd:enumeration value="shpTxRTLAlignCh"/> + <xsd:enumeration value="autoTxRot"/> + <xsd:enumeration value="grDir"/> + <xsd:enumeration value="flowDir"/> + <xsd:enumeration value="contDir"/> + <xsd:enumeration value="bkpt"/> + <xsd:enumeration value="off"/> + <xsd:enumeration value="hierAlign"/> + <xsd:enumeration value="bkPtFixedVal"/> + <xsd:enumeration value="stBulletLvl"/> + <xsd:enumeration value="stAng"/> + <xsd:enumeration value="spanAng"/> + <xsd:enumeration value="ar"/> + <xsd:enumeration value="lnSpPar"/> + <xsd:enumeration value="lnSpAfParP"/> + <xsd:enumeration value="lnSpCh"/> + <xsd:enumeration value="lnSpAfChP"/> + <xsd:enumeration value="rtShortDist"/> + <xsd:enumeration value="alignTx"/> + <xsd:enumeration value="pyraLvlNode"/> + <xsd:enumeration value="pyraAcctBkgdNode"/> + <xsd:enumeration value="pyraAcctTxNode"/> + <xsd:enumeration value="srcNode"/> + <xsd:enumeration value="dstNode"/> + <xsd:enumeration value="begPts"/> + <xsd:enumeration value="endPts"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Ints"> + <xsd:list itemType="xsd:int"/> + </xsd:simpleType> + <xsd:simpleType name="ST_UnsignedInts"> + <xsd:list itemType="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_Booleans"> + <xsd:list itemType="xsd:boolean"/> + </xsd:simpleType> + <xsd:simpleType name="ST_FunctionType" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="cnt"/> + <xsd:enumeration value="pos"/> + <xsd:enumeration value="revPos"/> + <xsd:enumeration value="posEven"/> + <xsd:enumeration value="posOdd"/> + <xsd:enumeration value="var"/> + <xsd:enumeration value="depth"/> + <xsd:enumeration value="maxDepth"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FunctionOperator" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="equ"/> + <xsd:enumeration value="neq"/> + <xsd:enumeration value="gt"/> + <xsd:enumeration value="lt"/> + <xsd:enumeration value="gte"/> + <xsd:enumeration value="lte"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DiagramHorizontalAlignment" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="l"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_VerticalAlignment" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="t"/> + <xsd:enumeration value="mid"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ChildDirection" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="horz"/> + <xsd:enumeration value="vert"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ChildAlignment" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="t"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="r"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_SecondaryChildAlignment" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="t"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="r"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LinearDirection" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="fromL"/> + <xsd:enumeration value="fromR"/> + <xsd:enumeration value="fromT"/> + <xsd:enumeration value="fromB"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_SecondaryLinearDirection" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="fromL"/> + <xsd:enumeration value="fromR"/> + <xsd:enumeration value="fromT"/> + <xsd:enumeration value="fromB"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_StartingElement" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="node"/> + <xsd:enumeration value="trans"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_RotationPath" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="alongPath"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CenterShapeMapping" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="fNode"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_BendPoint" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="beg"/> + <xsd:enumeration value="def"/> + <xsd:enumeration value="end"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConnectorRouting" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="stra"/> + <xsd:enumeration value="bend"/> + <xsd:enumeration value="curve"/> + <xsd:enumeration value="longCurve"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ArrowheadStyle" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="arr"/> + <xsd:enumeration value="noArr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConnectorDimension" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="1D"/> + <xsd:enumeration value="2D"/> + <xsd:enumeration value="cust"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConnectorPoint" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="bCtr"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="midL"/> + <xsd:enumeration value="midR"/> + <xsd:enumeration value="tCtr"/> + <xsd:enumeration value="bL"/> + <xsd:enumeration value="bR"/> + <xsd:enumeration value="tL"/> + <xsd:enumeration value="tR"/> + <xsd:enumeration value="radial"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_NodeHorizontalAlignment" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="l"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="r"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_NodeVerticalAlignment" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="t"/> + <xsd:enumeration value="mid"/> + <xsd:enumeration value="b"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FallbackDimension" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="1D"/> + <xsd:enumeration value="2D"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextDirection" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="fromT"/> + <xsd:enumeration value="fromB"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PyramidAccentPosition" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="bef"/> + <xsd:enumeration value="aft"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PyramidAccentTextMargin" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="step"/> + <xsd:enumeration value="stack"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextBlockDirection" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="horz"/> + <xsd:enumeration value="vert"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextAnchorHorizontal" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="ctr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextAnchorVertical" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="t"/> + <xsd:enumeration value="mid"/> + <xsd:enumeration value="b"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DiagramTextAlignment" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="l"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="r"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AutoTextRotation" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="upr"/> + <xsd:enumeration value="grav"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_GrowDirection" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="tL"/> + <xsd:enumeration value="tR"/> + <xsd:enumeration value="bL"/> + <xsd:enumeration value="bR"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FlowDirection" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="row"/> + <xsd:enumeration value="col"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ContinueDirection" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="revDir"/> + <xsd:enumeration value="sameDir"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Breakpoint" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="endCnv"/> + <xsd:enumeration value="bal"/> + <xsd:enumeration value="fixed"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Offset" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="off"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HierarchyAlignment" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="tL"/> + <xsd:enumeration value="tR"/> + <xsd:enumeration value="tCtrCh"/> + <xsd:enumeration value="tCtrDes"/> + <xsd:enumeration value="bL"/> + <xsd:enumeration value="bR"/> + <xsd:enumeration value="bCtrCh"/> + <xsd:enumeration value="bCtrDes"/> + <xsd:enumeration value="lT"/> + <xsd:enumeration value="lB"/> + <xsd:enumeration value="lCtrCh"/> + <xsd:enumeration value="lCtrDes"/> + <xsd:enumeration value="rT"/> + <xsd:enumeration value="rB"/> + <xsd:enumeration value="rCtrCh"/> + <xsd:enumeration value="rCtrDes"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FunctionValue" final="restriction"> + <xsd:union + memberTypes="xsd:int xsd:boolean ST_Direction ST_HierBranchStyle ST_AnimOneStr ST_AnimLvlStr ST_ResizeHandlesStr" + /> + </xsd:simpleType> + <xsd:simpleType name="ST_VariableType" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="orgChart"/> + <xsd:enumeration value="chMax"/> + <xsd:enumeration value="chPref"/> + <xsd:enumeration value="bulEnabled"/> + <xsd:enumeration value="dir"/> + <xsd:enumeration value="hierBranch"/> + <xsd:enumeration value="animOne"/> + <xsd:enumeration value="animLvl"/> + <xsd:enumeration value="resizeHandles"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FunctionArgument" final="restriction"> + <xsd:union memberTypes="ST_VariableType"/> + </xsd:simpleType> + <xsd:simpleType name="ST_OutputShapeType" final="restriction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="conn"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd new file mode 100755 index 0000000..687eea8 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas" + xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + elementFormDefault="qualified" + targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas"> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" + schemaLocation="dml-main.xsd"/> + <xsd:element name="lockedCanvas" type="a:CT_GvmlGroupShape"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd new file mode 100755 index 0000000..6ac81b0 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd @@ -0,0 +1,3081 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" + targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/main" + elementFormDefault="qualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/diagram" + schemaLocation="dml-diagram.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/chart" + schemaLocation="dml-chart.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/picture" + schemaLocation="dml-picture.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas" + schemaLocation="dml-lockedCanvas.xsd"/> + <xsd:complexType name="CT_AudioFile"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:link" use="required"/> + <xsd:attribute name="contentType" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_VideoFile"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:link" use="required"/> + <xsd:attribute name="contentType" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_QuickTimeFile"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:link" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_AudioCDTime"> + <xsd:attribute name="track" type="xsd:unsignedByte" use="required"/> + <xsd:attribute name="time" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_AudioCD"> + <xsd:sequence> + <xsd:element name="st" type="CT_AudioCDTime" minOccurs="1" maxOccurs="1"/> + <xsd:element name="end" type="CT_AudioCDTime" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_Media"> + <xsd:choice> + <xsd:element name="audioCd" type="CT_AudioCD"/> + <xsd:element name="wavAudioFile" type="CT_EmbeddedWAVAudioFile"/> + <xsd:element name="audioFile" type="CT_AudioFile"/> + <xsd:element name="videoFile" type="CT_VideoFile"/> + <xsd:element name="quickTimeFile" type="CT_QuickTimeFile"/> + </xsd:choice> + </xsd:group> + <xsd:element name="videoFile" type="CT_VideoFile"/> + <xsd:simpleType name="ST_StyleMatrixColumnIndex"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_FontCollectionIndex"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="major"/> + <xsd:enumeration value="minor"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ColorSchemeIndex"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="dk1"/> + <xsd:enumeration value="lt1"/> + <xsd:enumeration value="dk2"/> + <xsd:enumeration value="lt2"/> + <xsd:enumeration value="accent1"/> + <xsd:enumeration value="accent2"/> + <xsd:enumeration value="accent3"/> + <xsd:enumeration value="accent4"/> + <xsd:enumeration value="accent5"/> + <xsd:enumeration value="accent6"/> + <xsd:enumeration value="hlink"/> + <xsd:enumeration value="folHlink"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ColorScheme"> + <xsd:sequence> + <xsd:element name="dk1" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lt1" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="dk2" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lt2" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="accent1" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="accent2" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="accent3" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="accent4" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="accent5" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="accent6" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hlink" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="folHlink" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_SupplementalFont"> + <xsd:attribute name="script" type="xsd:string" use="required"/> + <xsd:attribute name="typeface" type="ST_TextTypeface" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomColorList"> + <xsd:sequence> + <xsd:element name="custClr" type="CT_CustomColor" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_FontCollection"> + <xsd:sequence> + <xsd:element name="latin" type="CT_TextFont" minOccurs="1" maxOccurs="1"/> + <xsd:element name="ea" type="CT_TextFont" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cs" type="CT_TextFont" minOccurs="1" maxOccurs="1"/> + <xsd:element name="font" type="CT_SupplementalFont" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_EffectStyleItem"> + <xsd:sequence> + <xsd:group ref="EG_EffectProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="scene3d" type="CT_Scene3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sp3d" type="CT_Shape3D" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_FontScheme"> + <xsd:sequence> + <xsd:element name="majorFont" type="CT_FontCollection" minOccurs="1" maxOccurs="1"/> + <xsd:element name="minorFont" type="CT_FontCollection" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FillStyleList"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="3" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_LineStyleList"> + <xsd:sequence> + <xsd:element name="ln" type="CT_LineProperties" minOccurs="3" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_EffectStyleList"> + <xsd:sequence> + <xsd:element name="effectStyle" type="CT_EffectStyleItem" minOccurs="3" maxOccurs="unbounded" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BackgroundFillStyleList"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="3" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_StyleMatrix"> + <xsd:sequence> + <xsd:element name="fillStyleLst" type="CT_FillStyleList" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lnStyleLst" type="CT_LineStyleList" minOccurs="1" maxOccurs="1"/> + <xsd:element name="effectStyleLst" type="CT_EffectStyleList" minOccurs="1" maxOccurs="1"/> + <xsd:element name="bgFillStyleLst" type="CT_BackgroundFillStyleList" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_BaseStyles"> + <xsd:sequence> + <xsd:element name="clrScheme" type="CT_ColorScheme" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fontScheme" type="CT_FontScheme" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fmtScheme" type="CT_StyleMatrix" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_OfficeArtExtension"> + <xsd:sequence> + <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="uri" type="xsd:token" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Coordinate"> + <xsd:union memberTypes="ST_CoordinateUnqualified s:ST_UniversalMeasure"/> + </xsd:simpleType> + <xsd:simpleType name="ST_CoordinateUnqualified"> + <xsd:restriction base="xsd:long"> + <xsd:minInclusive value="-27273042329600"/> + <xsd:maxInclusive value="27273042316900"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Coordinate32"> + <xsd:union memberTypes="ST_Coordinate32Unqualified s:ST_UniversalMeasure"/> + </xsd:simpleType> + <xsd:simpleType name="ST_Coordinate32Unqualified"> + <xsd:restriction base="xsd:int"/> + </xsd:simpleType> + <xsd:simpleType name="ST_PositiveCoordinate"> + <xsd:restriction base="xsd:long"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="27273042316900"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PositiveCoordinate32"> + <xsd:restriction base="ST_Coordinate32Unqualified"> + <xsd:minInclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Angle"> + <xsd:restriction base="xsd:int"/> + </xsd:simpleType> + <xsd:complexType name="CT_Angle"> + <xsd:attribute name="val" type="ST_Angle" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_FixedAngle"> + <xsd:restriction base="ST_Angle"> + <xsd:minExclusive value="-5400000"/> + <xsd:maxExclusive value="5400000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PositiveFixedAngle"> + <xsd:restriction base="ST_Angle"> + <xsd:minInclusive value="0"/> + <xsd:maxExclusive value="21600000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PositiveFixedAngle"> + <xsd:attribute name="val" type="ST_PositiveFixedAngle" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Percentage"> + <xsd:union memberTypes="ST_PercentageDecimal s:ST_Percentage"/> + </xsd:simpleType> + <xsd:simpleType name="ST_PercentageDecimal"> + <xsd:restriction base="xsd:int"/> + </xsd:simpleType> + <xsd:complexType name="CT_Percentage"> + <xsd:attribute name="val" type="ST_Percentage" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_PositivePercentage"> + <xsd:union memberTypes="ST_PositivePercentageDecimal s:ST_PositivePercentage"/> + </xsd:simpleType> + <xsd:simpleType name="ST_PositivePercentageDecimal"> + <xsd:restriction base="ST_PercentageDecimal"> + <xsd:minInclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PositivePercentage"> + <xsd:attribute name="val" type="ST_PositivePercentage" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_FixedPercentage"> + <xsd:union memberTypes="ST_FixedPercentageDecimal s:ST_FixedPercentage"/> + </xsd:simpleType> + <xsd:simpleType name="ST_FixedPercentageDecimal"> + <xsd:restriction base="ST_PercentageDecimal"> + <xsd:minInclusive value="-100000"/> + <xsd:maxInclusive value="100000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FixedPercentage"> + <xsd:attribute name="val" type="ST_FixedPercentage" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_PositiveFixedPercentage"> + <xsd:union memberTypes="ST_PositiveFixedPercentageDecimal s:ST_PositiveFixedPercentage"/> + </xsd:simpleType> + <xsd:simpleType name="ST_PositiveFixedPercentageDecimal"> + <xsd:restriction base="ST_PercentageDecimal"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="100000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PositiveFixedPercentage"> + <xsd:attribute name="val" type="ST_PositiveFixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Ratio"> + <xsd:attribute name="n" type="xsd:long" use="required"/> + <xsd:attribute name="d" type="xsd:long" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Point2D"> + <xsd:attribute name="x" type="ST_Coordinate" use="required"/> + <xsd:attribute name="y" type="ST_Coordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PositiveSize2D"> + <xsd:attribute name="cx" type="ST_PositiveCoordinate" use="required"/> + <xsd:attribute name="cy" type="ST_PositiveCoordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_ComplementTransform"/> + <xsd:complexType name="CT_InverseTransform"/> + <xsd:complexType name="CT_GrayscaleTransform"/> + <xsd:complexType name="CT_GammaTransform"/> + <xsd:complexType name="CT_InverseGammaTransform"/> + <xsd:group name="EG_ColorTransform"> + <xsd:choice> + <xsd:element name="tint" type="CT_PositiveFixedPercentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="shade" type="CT_PositiveFixedPercentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="comp" type="CT_ComplementTransform" minOccurs="1" maxOccurs="1"/> + <xsd:element name="inv" type="CT_InverseTransform" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gray" type="CT_GrayscaleTransform" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alpha" type="CT_PositiveFixedPercentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaOff" type="CT_FixedPercentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaMod" type="CT_PositivePercentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hue" type="CT_PositiveFixedAngle" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hueOff" type="CT_Angle" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hueMod" type="CT_PositivePercentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="sat" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="satOff" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="satMod" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lum" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lumOff" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lumMod" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="red" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="redOff" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="redMod" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="green" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="greenOff" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="greenMod" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blue" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blueOff" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blueMod" type="CT_Percentage" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gamma" type="CT_GammaTransform" minOccurs="1" maxOccurs="1"/> + <xsd:element name="invGamma" type="CT_InverseGammaTransform" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_ScRgbColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="r" type="ST_Percentage" use="required"/> + <xsd:attribute name="g" type="ST_Percentage" use="required"/> + <xsd:attribute name="b" type="ST_Percentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SRgbColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="val" type="s:ST_HexColorRGB" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_HslColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="hue" type="ST_PositiveFixedAngle" use="required"/> + <xsd:attribute name="sat" type="ST_Percentage" use="required"/> + <xsd:attribute name="lum" type="ST_Percentage" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_SystemColorVal"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="scrollBar"/> + <xsd:enumeration value="background"/> + <xsd:enumeration value="activeCaption"/> + <xsd:enumeration value="inactiveCaption"/> + <xsd:enumeration value="menu"/> + <xsd:enumeration value="window"/> + <xsd:enumeration value="windowFrame"/> + <xsd:enumeration value="menuText"/> + <xsd:enumeration value="windowText"/> + <xsd:enumeration value="captionText"/> + <xsd:enumeration value="activeBorder"/> + <xsd:enumeration value="inactiveBorder"/> + <xsd:enumeration value="appWorkspace"/> + <xsd:enumeration value="highlight"/> + <xsd:enumeration value="highlightText"/> + <xsd:enumeration value="btnFace"/> + <xsd:enumeration value="btnShadow"/> + <xsd:enumeration value="grayText"/> + <xsd:enumeration value="btnText"/> + <xsd:enumeration value="inactiveCaptionText"/> + <xsd:enumeration value="btnHighlight"/> + <xsd:enumeration value="3dDkShadow"/> + <xsd:enumeration value="3dLight"/> + <xsd:enumeration value="infoText"/> + <xsd:enumeration value="infoBk"/> + <xsd:enumeration value="hotLight"/> + <xsd:enumeration value="gradientActiveCaption"/> + <xsd:enumeration value="gradientInactiveCaption"/> + <xsd:enumeration value="menuHighlight"/> + <xsd:enumeration value="menuBar"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SystemColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="val" type="ST_SystemColorVal" use="required"/> + <xsd:attribute name="lastClr" type="s:ST_HexColorRGB" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_SchemeColorVal"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="bg1"/> + <xsd:enumeration value="tx1"/> + <xsd:enumeration value="bg2"/> + <xsd:enumeration value="tx2"/> + <xsd:enumeration value="accent1"/> + <xsd:enumeration value="accent2"/> + <xsd:enumeration value="accent3"/> + <xsd:enumeration value="accent4"/> + <xsd:enumeration value="accent5"/> + <xsd:enumeration value="accent6"/> + <xsd:enumeration value="hlink"/> + <xsd:enumeration value="folHlink"/> + <xsd:enumeration value="phClr"/> + <xsd:enumeration value="dk1"/> + <xsd:enumeration value="lt1"/> + <xsd:enumeration value="dk2"/> + <xsd:enumeration value="lt2"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SchemeColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="val" type="ST_SchemeColorVal" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_PresetColorVal"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="aliceBlue"/> + <xsd:enumeration value="antiqueWhite"/> + <xsd:enumeration value="aqua"/> + <xsd:enumeration value="aquamarine"/> + <xsd:enumeration value="azure"/> + <xsd:enumeration value="beige"/> + <xsd:enumeration value="bisque"/> + <xsd:enumeration value="black"/> + <xsd:enumeration value="blanchedAlmond"/> + <xsd:enumeration value="blue"/> + <xsd:enumeration value="blueViolet"/> + <xsd:enumeration value="brown"/> + <xsd:enumeration value="burlyWood"/> + <xsd:enumeration value="cadetBlue"/> + <xsd:enumeration value="chartreuse"/> + <xsd:enumeration value="chocolate"/> + <xsd:enumeration value="coral"/> + <xsd:enumeration value="cornflowerBlue"/> + <xsd:enumeration value="cornsilk"/> + <xsd:enumeration value="crimson"/> + <xsd:enumeration value="cyan"/> + <xsd:enumeration value="darkBlue"/> + <xsd:enumeration value="darkCyan"/> + <xsd:enumeration value="darkGoldenrod"/> + <xsd:enumeration value="darkGray"/> + <xsd:enumeration value="darkGrey"/> + <xsd:enumeration value="darkGreen"/> + <xsd:enumeration value="darkKhaki"/> + <xsd:enumeration value="darkMagenta"/> + <xsd:enumeration value="darkOliveGreen"/> + <xsd:enumeration value="darkOrange"/> + <xsd:enumeration value="darkOrchid"/> + <xsd:enumeration value="darkRed"/> + <xsd:enumeration value="darkSalmon"/> + <xsd:enumeration value="darkSeaGreen"/> + <xsd:enumeration value="darkSlateBlue"/> + <xsd:enumeration value="darkSlateGray"/> + <xsd:enumeration value="darkSlateGrey"/> + <xsd:enumeration value="darkTurquoise"/> + <xsd:enumeration value="darkViolet"/> + <xsd:enumeration value="dkBlue"/> + <xsd:enumeration value="dkCyan"/> + <xsd:enumeration value="dkGoldenrod"/> + <xsd:enumeration value="dkGray"/> + <xsd:enumeration value="dkGrey"/> + <xsd:enumeration value="dkGreen"/> + <xsd:enumeration value="dkKhaki"/> + <xsd:enumeration value="dkMagenta"/> + <xsd:enumeration value="dkOliveGreen"/> + <xsd:enumeration value="dkOrange"/> + <xsd:enumeration value="dkOrchid"/> + <xsd:enumeration value="dkRed"/> + <xsd:enumeration value="dkSalmon"/> + <xsd:enumeration value="dkSeaGreen"/> + <xsd:enumeration value="dkSlateBlue"/> + <xsd:enumeration value="dkSlateGray"/> + <xsd:enumeration value="dkSlateGrey"/> + <xsd:enumeration value="dkTurquoise"/> + <xsd:enumeration value="dkViolet"/> + <xsd:enumeration value="deepPink"/> + <xsd:enumeration value="deepSkyBlue"/> + <xsd:enumeration value="dimGray"/> + <xsd:enumeration value="dimGrey"/> + <xsd:enumeration value="dodgerBlue"/> + <xsd:enumeration value="firebrick"/> + <xsd:enumeration value="floralWhite"/> + <xsd:enumeration value="forestGreen"/> + <xsd:enumeration value="fuchsia"/> + <xsd:enumeration value="gainsboro"/> + <xsd:enumeration value="ghostWhite"/> + <xsd:enumeration value="gold"/> + <xsd:enumeration value="goldenrod"/> + <xsd:enumeration value="gray"/> + <xsd:enumeration value="grey"/> + <xsd:enumeration value="green"/> + <xsd:enumeration value="greenYellow"/> + <xsd:enumeration value="honeydew"/> + <xsd:enumeration value="hotPink"/> + <xsd:enumeration value="indianRed"/> + <xsd:enumeration value="indigo"/> + <xsd:enumeration value="ivory"/> + <xsd:enumeration value="khaki"/> + <xsd:enumeration value="lavender"/> + <xsd:enumeration value="lavenderBlush"/> + <xsd:enumeration value="lawnGreen"/> + <xsd:enumeration value="lemonChiffon"/> + <xsd:enumeration value="lightBlue"/> + <xsd:enumeration value="lightCoral"/> + <xsd:enumeration value="lightCyan"/> + <xsd:enumeration value="lightGoldenrodYellow"/> + <xsd:enumeration value="lightGray"/> + <xsd:enumeration value="lightGrey"/> + <xsd:enumeration value="lightGreen"/> + <xsd:enumeration value="lightPink"/> + <xsd:enumeration value="lightSalmon"/> + <xsd:enumeration value="lightSeaGreen"/> + <xsd:enumeration value="lightSkyBlue"/> + <xsd:enumeration value="lightSlateGray"/> + <xsd:enumeration value="lightSlateGrey"/> + <xsd:enumeration value="lightSteelBlue"/> + <xsd:enumeration value="lightYellow"/> + <xsd:enumeration value="ltBlue"/> + <xsd:enumeration value="ltCoral"/> + <xsd:enumeration value="ltCyan"/> + <xsd:enumeration value="ltGoldenrodYellow"/> + <xsd:enumeration value="ltGray"/> + <xsd:enumeration value="ltGrey"/> + <xsd:enumeration value="ltGreen"/> + <xsd:enumeration value="ltPink"/> + <xsd:enumeration value="ltSalmon"/> + <xsd:enumeration value="ltSeaGreen"/> + <xsd:enumeration value="ltSkyBlue"/> + <xsd:enumeration value="ltSlateGray"/> + <xsd:enumeration value="ltSlateGrey"/> + <xsd:enumeration value="ltSteelBlue"/> + <xsd:enumeration value="ltYellow"/> + <xsd:enumeration value="lime"/> + <xsd:enumeration value="limeGreen"/> + <xsd:enumeration value="linen"/> + <xsd:enumeration value="magenta"/> + <xsd:enumeration value="maroon"/> + <xsd:enumeration value="medAquamarine"/> + <xsd:enumeration value="medBlue"/> + <xsd:enumeration value="medOrchid"/> + <xsd:enumeration value="medPurple"/> + <xsd:enumeration value="medSeaGreen"/> + <xsd:enumeration value="medSlateBlue"/> + <xsd:enumeration value="medSpringGreen"/> + <xsd:enumeration value="medTurquoise"/> + <xsd:enumeration value="medVioletRed"/> + <xsd:enumeration value="mediumAquamarine"/> + <xsd:enumeration value="mediumBlue"/> + <xsd:enumeration value="mediumOrchid"/> + <xsd:enumeration value="mediumPurple"/> + <xsd:enumeration value="mediumSeaGreen"/> + <xsd:enumeration value="mediumSlateBlue"/> + <xsd:enumeration value="mediumSpringGreen"/> + <xsd:enumeration value="mediumTurquoise"/> + <xsd:enumeration value="mediumVioletRed"/> + <xsd:enumeration value="midnightBlue"/> + <xsd:enumeration value="mintCream"/> + <xsd:enumeration value="mistyRose"/> + <xsd:enumeration value="moccasin"/> + <xsd:enumeration value="navajoWhite"/> + <xsd:enumeration value="navy"/> + <xsd:enumeration value="oldLace"/> + <xsd:enumeration value="olive"/> + <xsd:enumeration value="oliveDrab"/> + <xsd:enumeration value="orange"/> + <xsd:enumeration value="orangeRed"/> + <xsd:enumeration value="orchid"/> + <xsd:enumeration value="paleGoldenrod"/> + <xsd:enumeration value="paleGreen"/> + <xsd:enumeration value="paleTurquoise"/> + <xsd:enumeration value="paleVioletRed"/> + <xsd:enumeration value="papayaWhip"/> + <xsd:enumeration value="peachPuff"/> + <xsd:enumeration value="peru"/> + <xsd:enumeration value="pink"/> + <xsd:enumeration value="plum"/> + <xsd:enumeration value="powderBlue"/> + <xsd:enumeration value="purple"/> + <xsd:enumeration value="red"/> + <xsd:enumeration value="rosyBrown"/> + <xsd:enumeration value="royalBlue"/> + <xsd:enumeration value="saddleBrown"/> + <xsd:enumeration value="salmon"/> + <xsd:enumeration value="sandyBrown"/> + <xsd:enumeration value="seaGreen"/> + <xsd:enumeration value="seaShell"/> + <xsd:enumeration value="sienna"/> + <xsd:enumeration value="silver"/> + <xsd:enumeration value="skyBlue"/> + <xsd:enumeration value="slateBlue"/> + <xsd:enumeration value="slateGray"/> + <xsd:enumeration value="slateGrey"/> + <xsd:enumeration value="snow"/> + <xsd:enumeration value="springGreen"/> + <xsd:enumeration value="steelBlue"/> + <xsd:enumeration value="tan"/> + <xsd:enumeration value="teal"/> + <xsd:enumeration value="thistle"/> + <xsd:enumeration value="tomato"/> + <xsd:enumeration value="turquoise"/> + <xsd:enumeration value="violet"/> + <xsd:enumeration value="wheat"/> + <xsd:enumeration value="white"/> + <xsd:enumeration value="whiteSmoke"/> + <xsd:enumeration value="yellow"/> + <xsd:enumeration value="yellowGreen"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PresetColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="val" type="ST_PresetColorVal" use="required"/> + </xsd:complexType> + <xsd:group name="EG_OfficeArtExtensionList"> + <xsd:sequence> + <xsd:element name="ext" type="CT_OfficeArtExtension" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_OfficeArtExtensionList"> + <xsd:sequence> + <xsd:group ref="EG_OfficeArtExtensionList" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Scale2D"> + <xsd:sequence> + <xsd:element name="sx" type="CT_Ratio" minOccurs="1" maxOccurs="1"/> + <xsd:element name="sy" type="CT_Ratio" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Transform2D"> + <xsd:sequence> + <xsd:element name="off" type="CT_Point2D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ext" type="CT_PositiveSize2D" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="rot" type="ST_Angle" use="optional" default="0"/> + <xsd:attribute name="flipH" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="flipV" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupTransform2D"> + <xsd:sequence> + <xsd:element name="off" type="CT_Point2D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ext" type="CT_PositiveSize2D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="chOff" type="CT_Point2D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="chExt" type="CT_PositiveSize2D" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="rot" type="ST_Angle" use="optional" default="0"/> + <xsd:attribute name="flipH" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="flipV" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Point3D"> + <xsd:attribute name="x" type="ST_Coordinate" use="required"/> + <xsd:attribute name="y" type="ST_Coordinate" use="required"/> + <xsd:attribute name="z" type="ST_Coordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Vector3D"> + <xsd:attribute name="dx" type="ST_Coordinate" use="required"/> + <xsd:attribute name="dy" type="ST_Coordinate" use="required"/> + <xsd:attribute name="dz" type="ST_Coordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SphereCoords"> + <xsd:attribute name="lat" type="ST_PositiveFixedAngle" use="required"/> + <xsd:attribute name="lon" type="ST_PositiveFixedAngle" use="required"/> + <xsd:attribute name="rev" type="ST_PositiveFixedAngle" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RelativeRect"> + <xsd:attribute name="l" type="ST_Percentage" use="optional" default="0%"/> + <xsd:attribute name="t" type="ST_Percentage" use="optional" default="0%"/> + <xsd:attribute name="r" type="ST_Percentage" use="optional" default="0%"/> + <xsd:attribute name="b" type="ST_Percentage" use="optional" default="0%"/> + </xsd:complexType> + <xsd:simpleType name="ST_RectAlignment"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="tl"/> + <xsd:enumeration value="t"/> + <xsd:enumeration value="tr"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="bl"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="br"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:group name="EG_ColorChoice"> + <xsd:choice> + <xsd:element name="scrgbClr" type="CT_ScRgbColor" minOccurs="1" maxOccurs="1"/> + <xsd:element name="srgbClr" type="CT_SRgbColor" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hslClr" type="CT_HslColor" minOccurs="1" maxOccurs="1"/> + <xsd:element name="sysClr" type="CT_SystemColor" minOccurs="1" maxOccurs="1"/> + <xsd:element name="schemeClr" type="CT_SchemeColor" minOccurs="1" maxOccurs="1"/> + <xsd:element name="prstClr" type="CT_PresetColor" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_Color"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ColorMRU"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_BlackWhiteMode"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="clr"/> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="gray"/> + <xsd:enumeration value="ltGray"/> + <xsd:enumeration value="invGray"/> + <xsd:enumeration value="grayWhite"/> + <xsd:enumeration value="blackGray"/> + <xsd:enumeration value="blackWhite"/> + <xsd:enumeration value="black"/> + <xsd:enumeration value="white"/> + <xsd:enumeration value="hidden"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:attributeGroup name="AG_Blob"> + <xsd:attribute ref="r:embed" use="optional" default=""/> + <xsd:attribute ref="r:link" use="optional" default=""/> + </xsd:attributeGroup> + <xsd:complexType name="CT_EmbeddedWAVAudioFile"> + <xsd:attribute ref="r:embed" use="required"/> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_Hyperlink"> + <xsd:sequence> + <xsd:element name="snd" type="CT_EmbeddedWAVAudioFile" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:id" use="optional"/> + <xsd:attribute name="invalidUrl" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="action" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="tgtFrame" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="tooltip" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="history" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="highlightClick" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="endSnd" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_DrawingElementId"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:attributeGroup name="AG_Locking"> + <xsd:attribute name="noGrp" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noSelect" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noRot" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noChangeAspect" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noMove" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noResize" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noEditPoints" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noAdjustHandles" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noChangeArrowheads" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noChangeShapeType" type="xsd:boolean" use="optional" default="false"/> + </xsd:attributeGroup> + <xsd:complexType name="CT_ConnectorLocking"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Locking"/> + </xsd:complexType> + <xsd:complexType name="CT_ShapeLocking"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Locking"/> + <xsd:attribute name="noTextEdit" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_PictureLocking"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Locking"/> + <xsd:attribute name="noCrop" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupLocking"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="noGrp" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noUngrp" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noSelect" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noRot" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noChangeAspect" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noMove" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noResize" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_GraphicalObjectFrameLocking"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="noGrp" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noDrilldown" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noSelect" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noChangeAspect" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noMove" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="noResize" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ContentPartLocking"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Locking"/> + </xsd:complexType> + <xsd:complexType name="CT_NonVisualDrawingProps"> + <xsd:sequence> + <xsd:element name="hlinkClick" type="CT_Hyperlink" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hlinkHover" type="CT_Hyperlink" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="ST_DrawingElementId" use="required"/> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="descr" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="title" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_NonVisualDrawingShapeProps"> + <xsd:sequence> + <xsd:element name="spLocks" type="CT_ShapeLocking" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="txBox" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_NonVisualConnectorProperties"> + <xsd:sequence> + <xsd:element name="cxnSpLocks" type="CT_ConnectorLocking" minOccurs="0" maxOccurs="1"/> + <xsd:element name="stCxn" type="CT_Connection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="endCxn" type="CT_Connection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NonVisualPictureProperties"> + <xsd:sequence> + <xsd:element name="picLocks" type="CT_PictureLocking" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="preferRelativeResize" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_NonVisualGroupDrawingShapeProps"> + <xsd:sequence> + <xsd:element name="grpSpLocks" type="CT_GroupLocking" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NonVisualGraphicFrameProperties"> + <xsd:sequence> + <xsd:element name="graphicFrameLocks" type="CT_GraphicalObjectFrameLocking" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NonVisualContentPartProperties"> + <xsd:sequence> + <xsd:element name="cpLocks" type="CT_ContentPartLocking" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="isComment" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_GraphicalObjectData"> + <xsd:sequence> + <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="strict"/> + </xsd:sequence> + <xsd:attribute name="uri" type="xsd:token" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_GraphicalObject"> + <xsd:sequence> + <xsd:element name="graphicData" type="CT_GraphicalObjectData"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="graphic" type="CT_GraphicalObject"/> + <xsd:simpleType name="ST_ChartBuildStep"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="category"/> + <xsd:enumeration value="ptInCategory"/> + <xsd:enumeration value="series"/> + <xsd:enumeration value="ptInSeries"/> + <xsd:enumeration value="allPts"/> + <xsd:enumeration value="gridLegend"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DgmBuildStep"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="sp"/> + <xsd:enumeration value="bg"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_AnimationDgmElement"> + <xsd:attribute name="id" type="s:ST_Guid" use="optional" + default="{00000000-0000-0000-0000-000000000000}"/> + <xsd:attribute name="bldStep" type="ST_DgmBuildStep" use="optional" default="sp"/> + </xsd:complexType> + <xsd:complexType name="CT_AnimationChartElement"> + <xsd:attribute name="seriesIdx" type="xsd:int" use="optional" default="-1"/> + <xsd:attribute name="categoryIdx" type="xsd:int" use="optional" default="-1"/> + <xsd:attribute name="bldStep" type="ST_ChartBuildStep" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_AnimationElementChoice"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="dgm" type="CT_AnimationDgmElement"/> + <xsd:element name="chart" type="CT_AnimationChartElement"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="ST_AnimationBuildType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="allAtOnce"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AnimationDgmOnlyBuildType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="one"/> + <xsd:enumeration value="lvlOne"/> + <xsd:enumeration value="lvlAtOnce"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AnimationDgmBuildType"> + <xsd:union memberTypes="ST_AnimationBuildType ST_AnimationDgmOnlyBuildType"/> + </xsd:simpleType> + <xsd:complexType name="CT_AnimationDgmBuildProperties"> + <xsd:attribute name="bld" type="ST_AnimationDgmBuildType" use="optional" default="allAtOnce"/> + <xsd:attribute name="rev" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_AnimationChartOnlyBuildType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="series"/> + <xsd:enumeration value="category"/> + <xsd:enumeration value="seriesEl"/> + <xsd:enumeration value="categoryEl"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AnimationChartBuildType"> + <xsd:union memberTypes="ST_AnimationBuildType ST_AnimationChartOnlyBuildType"/> + </xsd:simpleType> + <xsd:complexType name="CT_AnimationChartBuildProperties"> + <xsd:attribute name="bld" type="ST_AnimationChartBuildType" use="optional" default="allAtOnce"/> + <xsd:attribute name="animBg" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_AnimationGraphicalObjectBuildProperties"> + <xsd:choice> + <xsd:element name="bldDgm" type="CT_AnimationDgmBuildProperties"/> + <xsd:element name="bldChart" type="CT_AnimationChartBuildProperties"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_BackgroundFormatting"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_EffectProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_WholeE2oFormatting"> + <xsd:sequence> + <xsd:element name="ln" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_EffectProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlUseShapeRectangle"/> + <xsd:complexType name="CT_GvmlTextShape"> + <xsd:sequence> + <xsd:element name="txBody" type="CT_TextBody" minOccurs="1" maxOccurs="1"/> + <xsd:choice> + <xsd:element name="useSpRect" type="CT_GvmlUseShapeRectangle" minOccurs="1" maxOccurs="1"/> + <xsd:element name="xfrm" type="CT_Transform2D" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlShapeNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvSpPr" type="CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlShape"> + <xsd:sequence> + <xsd:element name="nvSpPr" type="CT_GvmlShapeNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="txSp" type="CT_GvmlTextShape" minOccurs="0" maxOccurs="1"/> + <xsd:element name="style" type="CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlConnectorNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvCxnSpPr" type="CT_NonVisualConnectorProperties" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlConnector"> + <xsd:sequence> + <xsd:element name="nvCxnSpPr" type="CT_GvmlConnectorNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlPictureNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvPicPr" type="CT_NonVisualPictureProperties" minOccurs="1" maxOccurs="1" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlPicture"> + <xsd:sequence> + <xsd:element name="nvPicPr" type="CT_GvmlPictureNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blipFill" type="CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlGraphicFrameNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGraphicFramePr" type="CT_NonVisualGraphicFrameProperties" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlGraphicalObjectFrame"> + <xsd:sequence> + <xsd:element name="nvGraphicFramePr" type="CT_GvmlGraphicFrameNonVisual" minOccurs="1" + maxOccurs="1"/> + <xsd:element ref="graphic" minOccurs="1" maxOccurs="1"/> + <xsd:element name="xfrm" type="CT_Transform2D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlGroupShapeNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGrpSpPr" type="CT_NonVisualGroupDrawingShapeProps" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GvmlGroupShape"> + <xsd:sequence> + <xsd:element name="nvGrpSpPr" type="CT_GvmlGroupShapeNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="grpSpPr" type="CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="txSp" type="CT_GvmlTextShape"/> + <xsd:element name="sp" type="CT_GvmlShape"/> + <xsd:element name="cxnSp" type="CT_GvmlConnector"/> + <xsd:element name="pic" type="CT_GvmlPicture"/> + <xsd:element name="graphicFrame" type="CT_GvmlGraphicalObjectFrame"/> + <xsd:element name="grpSp" type="CT_GvmlGroupShape"/> + </xsd:choice> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_PresetCameraType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="legacyObliqueTopLeft"/> + <xsd:enumeration value="legacyObliqueTop"/> + <xsd:enumeration value="legacyObliqueTopRight"/> + <xsd:enumeration value="legacyObliqueLeft"/> + <xsd:enumeration value="legacyObliqueFront"/> + <xsd:enumeration value="legacyObliqueRight"/> + <xsd:enumeration value="legacyObliqueBottomLeft"/> + <xsd:enumeration value="legacyObliqueBottom"/> + <xsd:enumeration value="legacyObliqueBottomRight"/> + <xsd:enumeration value="legacyPerspectiveTopLeft"/> + <xsd:enumeration value="legacyPerspectiveTop"/> + <xsd:enumeration value="legacyPerspectiveTopRight"/> + <xsd:enumeration value="legacyPerspectiveLeft"/> + <xsd:enumeration value="legacyPerspectiveFront"/> + <xsd:enumeration value="legacyPerspectiveRight"/> + <xsd:enumeration value="legacyPerspectiveBottomLeft"/> + <xsd:enumeration value="legacyPerspectiveBottom"/> + <xsd:enumeration value="legacyPerspectiveBottomRight"/> + <xsd:enumeration value="orthographicFront"/> + <xsd:enumeration value="isometricTopUp"/> + <xsd:enumeration value="isometricTopDown"/> + <xsd:enumeration value="isometricBottomUp"/> + <xsd:enumeration value="isometricBottomDown"/> + <xsd:enumeration value="isometricLeftUp"/> + <xsd:enumeration value="isometricLeftDown"/> + <xsd:enumeration value="isometricRightUp"/> + <xsd:enumeration value="isometricRightDown"/> + <xsd:enumeration value="isometricOffAxis1Left"/> + <xsd:enumeration value="isometricOffAxis1Right"/> + <xsd:enumeration value="isometricOffAxis1Top"/> + <xsd:enumeration value="isometricOffAxis2Left"/> + <xsd:enumeration value="isometricOffAxis2Right"/> + <xsd:enumeration value="isometricOffAxis2Top"/> + <xsd:enumeration value="isometricOffAxis3Left"/> + <xsd:enumeration value="isometricOffAxis3Right"/> + <xsd:enumeration value="isometricOffAxis3Bottom"/> + <xsd:enumeration value="isometricOffAxis4Left"/> + <xsd:enumeration value="isometricOffAxis4Right"/> + <xsd:enumeration value="isometricOffAxis4Bottom"/> + <xsd:enumeration value="obliqueTopLeft"/> + <xsd:enumeration value="obliqueTop"/> + <xsd:enumeration value="obliqueTopRight"/> + <xsd:enumeration value="obliqueLeft"/> + <xsd:enumeration value="obliqueRight"/> + <xsd:enumeration value="obliqueBottomLeft"/> + <xsd:enumeration value="obliqueBottom"/> + <xsd:enumeration value="obliqueBottomRight"/> + <xsd:enumeration value="perspectiveFront"/> + <xsd:enumeration value="perspectiveLeft"/> + <xsd:enumeration value="perspectiveRight"/> + <xsd:enumeration value="perspectiveAbove"/> + <xsd:enumeration value="perspectiveBelow"/> + <xsd:enumeration value="perspectiveAboveLeftFacing"/> + <xsd:enumeration value="perspectiveAboveRightFacing"/> + <xsd:enumeration value="perspectiveContrastingLeftFacing"/> + <xsd:enumeration value="perspectiveContrastingRightFacing"/> + <xsd:enumeration value="perspectiveHeroicLeftFacing"/> + <xsd:enumeration value="perspectiveHeroicRightFacing"/> + <xsd:enumeration value="perspectiveHeroicExtremeLeftFacing"/> + <xsd:enumeration value="perspectiveHeroicExtremeRightFacing"/> + <xsd:enumeration value="perspectiveRelaxed"/> + <xsd:enumeration value="perspectiveRelaxedModerately"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FOVAngle"> + <xsd:restriction base="ST_Angle"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="10800000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Camera"> + <xsd:sequence> + <xsd:element name="rot" type="CT_SphereCoords" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="prst" type="ST_PresetCameraType" use="required"/> + <xsd:attribute name="fov" type="ST_FOVAngle" use="optional"/> + <xsd:attribute name="zoom" type="ST_PositivePercentage" use="optional" default="100%"/> + </xsd:complexType> + <xsd:simpleType name="ST_LightRigDirection"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="tl"/> + <xsd:enumeration value="t"/> + <xsd:enumeration value="tr"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="bl"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="br"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LightRigType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="legacyFlat1"/> + <xsd:enumeration value="legacyFlat2"/> + <xsd:enumeration value="legacyFlat3"/> + <xsd:enumeration value="legacyFlat4"/> + <xsd:enumeration value="legacyNormal1"/> + <xsd:enumeration value="legacyNormal2"/> + <xsd:enumeration value="legacyNormal3"/> + <xsd:enumeration value="legacyNormal4"/> + <xsd:enumeration value="legacyHarsh1"/> + <xsd:enumeration value="legacyHarsh2"/> + <xsd:enumeration value="legacyHarsh3"/> + <xsd:enumeration value="legacyHarsh4"/> + <xsd:enumeration value="threePt"/> + <xsd:enumeration value="balanced"/> + <xsd:enumeration value="soft"/> + <xsd:enumeration value="harsh"/> + <xsd:enumeration value="flood"/> + <xsd:enumeration value="contrasting"/> + <xsd:enumeration value="morning"/> + <xsd:enumeration value="sunrise"/> + <xsd:enumeration value="sunset"/> + <xsd:enumeration value="chilly"/> + <xsd:enumeration value="freezing"/> + <xsd:enumeration value="flat"/> + <xsd:enumeration value="twoPt"/> + <xsd:enumeration value="glow"/> + <xsd:enumeration value="brightRoom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LightRig"> + <xsd:sequence> + <xsd:element name="rot" type="CT_SphereCoords" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="rig" type="ST_LightRigType" use="required"/> + <xsd:attribute name="dir" type="ST_LightRigDirection" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Scene3D"> + <xsd:sequence> + <xsd:element name="camera" type="CT_Camera" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lightRig" type="CT_LightRig" minOccurs="1" maxOccurs="1"/> + <xsd:element name="backdrop" type="CT_Backdrop" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Backdrop"> + <xsd:sequence> + <xsd:element name="anchor" type="CT_Point3D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="norm" type="CT_Vector3D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="up" type="CT_Vector3D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_BevelPresetType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="relaxedInset"/> + <xsd:enumeration value="circle"/> + <xsd:enumeration value="slope"/> + <xsd:enumeration value="cross"/> + <xsd:enumeration value="angle"/> + <xsd:enumeration value="softRound"/> + <xsd:enumeration value="convex"/> + <xsd:enumeration value="coolSlant"/> + <xsd:enumeration value="divot"/> + <xsd:enumeration value="riblet"/> + <xsd:enumeration value="hardEdge"/> + <xsd:enumeration value="artDeco"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Bevel"> + <xsd:attribute name="w" type="ST_PositiveCoordinate" use="optional" default="76200"/> + <xsd:attribute name="h" type="ST_PositiveCoordinate" use="optional" default="76200"/> + <xsd:attribute name="prst" type="ST_BevelPresetType" use="optional" default="circle"/> + </xsd:complexType> + <xsd:simpleType name="ST_PresetMaterialType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="legacyMatte"/> + <xsd:enumeration value="legacyPlastic"/> + <xsd:enumeration value="legacyMetal"/> + <xsd:enumeration value="legacyWireframe"/> + <xsd:enumeration value="matte"/> + <xsd:enumeration value="plastic"/> + <xsd:enumeration value="metal"/> + <xsd:enumeration value="warmMatte"/> + <xsd:enumeration value="translucentPowder"/> + <xsd:enumeration value="powder"/> + <xsd:enumeration value="dkEdge"/> + <xsd:enumeration value="softEdge"/> + <xsd:enumeration value="clear"/> + <xsd:enumeration value="flat"/> + <xsd:enumeration value="softmetal"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Shape3D"> + <xsd:sequence> + <xsd:element name="bevelT" type="CT_Bevel" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bevelB" type="CT_Bevel" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extrusionClr" type="CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="contourClr" type="CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="z" type="ST_Coordinate" use="optional" default="0"/> + <xsd:attribute name="extrusionH" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="contourW" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="prstMaterial" type="ST_PresetMaterialType" use="optional" + default="warmMatte"/> + </xsd:complexType> + <xsd:complexType name="CT_FlatText"> + <xsd:attribute name="z" type="ST_Coordinate" use="optional" default="0"/> + </xsd:complexType> + <xsd:group name="EG_Text3D"> + <xsd:choice> + <xsd:element name="sp3d" type="CT_Shape3D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="flatTx" type="CT_FlatText" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_AlphaBiLevelEffect"> + <xsd:attribute name="thresh" type="ST_PositiveFixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_AlphaCeilingEffect"/> + <xsd:complexType name="CT_AlphaFloorEffect"/> + <xsd:complexType name="CT_AlphaInverseEffect"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_AlphaModulateFixedEffect"> + <xsd:attribute name="amt" type="ST_PositivePercentage" use="optional" default="100%"/> + </xsd:complexType> + <xsd:complexType name="CT_AlphaOutsetEffect"> + <xsd:attribute name="rad" type="ST_Coordinate" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_AlphaReplaceEffect"> + <xsd:attribute name="a" type="ST_PositiveFixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_BiLevelEffect"> + <xsd:attribute name="thresh" type="ST_PositiveFixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_BlurEffect"> + <xsd:attribute name="rad" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="grow" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_ColorChangeEffect"> + <xsd:sequence> + <xsd:element name="clrFrom" type="CT_Color" minOccurs="1" maxOccurs="1"/> + <xsd:element name="clrTo" type="CT_Color" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="useA" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_ColorReplaceEffect"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DuotoneEffect"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="2" maxOccurs="2"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GlowEffect"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="rad" type="ST_PositiveCoordinate" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_GrayscaleEffect"/> + <xsd:complexType name="CT_HSLEffect"> + <xsd:attribute name="hue" type="ST_PositiveFixedAngle" use="optional" default="0"/> + <xsd:attribute name="sat" type="ST_FixedPercentage" use="optional" default="0%"/> + <xsd:attribute name="lum" type="ST_FixedPercentage" use="optional" default="0%"/> + </xsd:complexType> + <xsd:complexType name="CT_InnerShadowEffect"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="blurRad" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="dist" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="dir" type="ST_PositiveFixedAngle" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_LuminanceEffect"> + <xsd:attribute name="bright" type="ST_FixedPercentage" use="optional" default="0%"/> + <xsd:attribute name="contrast" type="ST_FixedPercentage" use="optional" default="0%"/> + </xsd:complexType> + <xsd:complexType name="CT_OuterShadowEffect"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="blurRad" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="dist" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="dir" type="ST_PositiveFixedAngle" use="optional" default="0"/> + <xsd:attribute name="sx" type="ST_Percentage" use="optional" default="100%"/> + <xsd:attribute name="sy" type="ST_Percentage" use="optional" default="100%"/> + <xsd:attribute name="kx" type="ST_FixedAngle" use="optional" default="0"/> + <xsd:attribute name="ky" type="ST_FixedAngle" use="optional" default="0"/> + <xsd:attribute name="algn" type="ST_RectAlignment" use="optional" default="b"/> + <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:simpleType name="ST_PresetShadowVal"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="shdw1"/> + <xsd:enumeration value="shdw2"/> + <xsd:enumeration value="shdw3"/> + <xsd:enumeration value="shdw4"/> + <xsd:enumeration value="shdw5"/> + <xsd:enumeration value="shdw6"/> + <xsd:enumeration value="shdw7"/> + <xsd:enumeration value="shdw8"/> + <xsd:enumeration value="shdw9"/> + <xsd:enumeration value="shdw10"/> + <xsd:enumeration value="shdw11"/> + <xsd:enumeration value="shdw12"/> + <xsd:enumeration value="shdw13"/> + <xsd:enumeration value="shdw14"/> + <xsd:enumeration value="shdw15"/> + <xsd:enumeration value="shdw16"/> + <xsd:enumeration value="shdw17"/> + <xsd:enumeration value="shdw18"/> + <xsd:enumeration value="shdw19"/> + <xsd:enumeration value="shdw20"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PresetShadowEffect"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="prst" type="ST_PresetShadowVal" use="required"/> + <xsd:attribute name="dist" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="dir" type="ST_PositiveFixedAngle" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_ReflectionEffect"> + <xsd:attribute name="blurRad" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="stA" type="ST_PositiveFixedPercentage" use="optional" default="100%"/> + <xsd:attribute name="stPos" type="ST_PositiveFixedPercentage" use="optional" default="0%"/> + <xsd:attribute name="endA" type="ST_PositiveFixedPercentage" use="optional" default="0%"/> + <xsd:attribute name="endPos" type="ST_PositiveFixedPercentage" use="optional" default="100%"/> + <xsd:attribute name="dist" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="dir" type="ST_PositiveFixedAngle" use="optional" default="0"/> + <xsd:attribute name="fadeDir" type="ST_PositiveFixedAngle" use="optional" default="5400000"/> + <xsd:attribute name="sx" type="ST_Percentage" use="optional" default="100%"/> + <xsd:attribute name="sy" type="ST_Percentage" use="optional" default="100%"/> + <xsd:attribute name="kx" type="ST_FixedAngle" use="optional" default="0"/> + <xsd:attribute name="ky" type="ST_FixedAngle" use="optional" default="0"/> + <xsd:attribute name="algn" type="ST_RectAlignment" use="optional" default="b"/> + <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_RelativeOffsetEffect"> + <xsd:attribute name="tx" type="ST_Percentage" use="optional" default="0%"/> + <xsd:attribute name="ty" type="ST_Percentage" use="optional" default="0%"/> + </xsd:complexType> + <xsd:complexType name="CT_SoftEdgesEffect"> + <xsd:attribute name="rad" type="ST_PositiveCoordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TintEffect"> + <xsd:attribute name="hue" type="ST_PositiveFixedAngle" use="optional" default="0"/> + <xsd:attribute name="amt" type="ST_FixedPercentage" use="optional" default="0%"/> + </xsd:complexType> + <xsd:complexType name="CT_TransformEffect"> + <xsd:attribute name="sx" type="ST_Percentage" use="optional" default="100%"/> + <xsd:attribute name="sy" type="ST_Percentage" use="optional" default="100%"/> + <xsd:attribute name="kx" type="ST_FixedAngle" use="optional" default="0"/> + <xsd:attribute name="ky" type="ST_FixedAngle" use="optional" default="0"/> + <xsd:attribute name="tx" type="ST_Coordinate" use="optional" default="0"/> + <xsd:attribute name="ty" type="ST_Coordinate" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_NoFillProperties"/> + <xsd:complexType name="CT_SolidColorFillProperties"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_LinearShadeProperties"> + <xsd:attribute name="ang" type="ST_PositiveFixedAngle" use="optional"/> + <xsd:attribute name="scaled" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_PathShadeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="shape"/> + <xsd:enumeration value="circle"/> + <xsd:enumeration value="rect"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PathShadeProperties"> + <xsd:sequence> + <xsd:element name="fillToRect" type="CT_RelativeRect" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="path" type="ST_PathShadeType" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_ShadeProperties"> + <xsd:choice> + <xsd:element name="lin" type="CT_LinearShadeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="path" type="CT_PathShadeProperties" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_TileFlipMode"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="x"/> + <xsd:enumeration value="y"/> + <xsd:enumeration value="xy"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_GradientStop"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="pos" type="ST_PositiveFixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_GradientStopList"> + <xsd:sequence> + <xsd:element name="gs" type="CT_GradientStop" minOccurs="2" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GradientFillProperties"> + <xsd:sequence> + <xsd:element name="gsLst" type="CT_GradientStopList" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_ShadeProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tileRect" type="CT_RelativeRect" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="flip" type="ST_TileFlipMode" use="optional" default="none"/> + <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TileInfoProperties"> + <xsd:attribute name="tx" type="ST_Coordinate" use="optional"/> + <xsd:attribute name="ty" type="ST_Coordinate" use="optional"/> + <xsd:attribute name="sx" type="ST_Percentage" use="optional"/> + <xsd:attribute name="sy" type="ST_Percentage" use="optional"/> + <xsd:attribute name="flip" type="ST_TileFlipMode" use="optional" default="none"/> + <xsd:attribute name="algn" type="ST_RectAlignment" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_StretchInfoProperties"> + <xsd:sequence> + <xsd:element name="fillRect" type="CT_RelativeRect" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_FillModeProperties"> + <xsd:choice> + <xsd:element name="tile" type="CT_TileInfoProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="stretch" type="CT_StretchInfoProperties" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_BlipCompression"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="email"/> + <xsd:enumeration value="screen"/> + <xsd:enumeration value="print"/> + <xsd:enumeration value="hqprint"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Blip"> + <xsd:sequence> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="alphaBiLevel" type="CT_AlphaBiLevelEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaCeiling" type="CT_AlphaCeilingEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaFloor" type="CT_AlphaFloorEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaInv" type="CT_AlphaInverseEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaMod" type="CT_AlphaModulateEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaModFix" type="CT_AlphaModulateFixedEffect" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="alphaRepl" type="CT_AlphaReplaceEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="biLevel" type="CT_BiLevelEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blur" type="CT_BlurEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="clrChange" type="CT_ColorChangeEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="clrRepl" type="CT_ColorReplaceEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="duotone" type="CT_DuotoneEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fillOverlay" type="CT_FillOverlayEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="grayscl" type="CT_GrayscaleEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hsl" type="CT_HSLEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lum" type="CT_LuminanceEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tint" type="CT_TintEffect" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Blob"/> + <xsd:attribute name="cstate" type="ST_BlipCompression" use="optional" default="none"/> + </xsd:complexType> + <xsd:complexType name="CT_BlipFillProperties"> + <xsd:sequence> + <xsd:element name="blip" type="CT_Blip" minOccurs="0" maxOccurs="1"/> + <xsd:element name="srcRect" type="CT_RelativeRect" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_FillModeProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="dpi" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_PresetPatternVal"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="pct5"/> + <xsd:enumeration value="pct10"/> + <xsd:enumeration value="pct20"/> + <xsd:enumeration value="pct25"/> + <xsd:enumeration value="pct30"/> + <xsd:enumeration value="pct40"/> + <xsd:enumeration value="pct50"/> + <xsd:enumeration value="pct60"/> + <xsd:enumeration value="pct70"/> + <xsd:enumeration value="pct75"/> + <xsd:enumeration value="pct80"/> + <xsd:enumeration value="pct90"/> + <xsd:enumeration value="horz"/> + <xsd:enumeration value="vert"/> + <xsd:enumeration value="ltHorz"/> + <xsd:enumeration value="ltVert"/> + <xsd:enumeration value="dkHorz"/> + <xsd:enumeration value="dkVert"/> + <xsd:enumeration value="narHorz"/> + <xsd:enumeration value="narVert"/> + <xsd:enumeration value="dashHorz"/> + <xsd:enumeration value="dashVert"/> + <xsd:enumeration value="cross"/> + <xsd:enumeration value="dnDiag"/> + <xsd:enumeration value="upDiag"/> + <xsd:enumeration value="ltDnDiag"/> + <xsd:enumeration value="ltUpDiag"/> + <xsd:enumeration value="dkDnDiag"/> + <xsd:enumeration value="dkUpDiag"/> + <xsd:enumeration value="wdDnDiag"/> + <xsd:enumeration value="wdUpDiag"/> + <xsd:enumeration value="dashDnDiag"/> + <xsd:enumeration value="dashUpDiag"/> + <xsd:enumeration value="diagCross"/> + <xsd:enumeration value="smCheck"/> + <xsd:enumeration value="lgCheck"/> + <xsd:enumeration value="smGrid"/> + <xsd:enumeration value="lgGrid"/> + <xsd:enumeration value="dotGrid"/> + <xsd:enumeration value="smConfetti"/> + <xsd:enumeration value="lgConfetti"/> + <xsd:enumeration value="horzBrick"/> + <xsd:enumeration value="diagBrick"/> + <xsd:enumeration value="solidDmnd"/> + <xsd:enumeration value="openDmnd"/> + <xsd:enumeration value="dotDmnd"/> + <xsd:enumeration value="plaid"/> + <xsd:enumeration value="sphere"/> + <xsd:enumeration value="weave"/> + <xsd:enumeration value="divot"/> + <xsd:enumeration value="shingle"/> + <xsd:enumeration value="wave"/> + <xsd:enumeration value="trellis"/> + <xsd:enumeration value="zigZag"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PatternFillProperties"> + <xsd:sequence> + <xsd:element name="fgClr" type="CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bgClr" type="CT_Color" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="prst" type="ST_PresetPatternVal" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupFillProperties"/> + <xsd:group name="EG_FillProperties"> + <xsd:choice> + <xsd:element name="noFill" type="CT_NoFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="solidFill" type="CT_SolidColorFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gradFill" type="CT_GradientFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blipFill" type="CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="pattFill" type="CT_PatternFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="grpFill" type="CT_GroupFillProperties" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_FillProperties"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_FillEffect"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_BlendMode"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="over"/> + <xsd:enumeration value="mult"/> + <xsd:enumeration value="screen"/> + <xsd:enumeration value="darken"/> + <xsd:enumeration value="lighten"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FillOverlayEffect"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="blend" type="ST_BlendMode" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_EffectReference"> + <xsd:attribute name="ref" type="xsd:token" use="required"/> + </xsd:complexType> + <xsd:group name="EG_Effect"> + <xsd:choice> + <xsd:element name="cont" type="CT_EffectContainer" minOccurs="1" maxOccurs="1"/> + <xsd:element name="effect" type="CT_EffectReference" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaBiLevel" type="CT_AlphaBiLevelEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaCeiling" type="CT_AlphaCeilingEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaFloor" type="CT_AlphaFloorEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaInv" type="CT_AlphaInverseEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaMod" type="CT_AlphaModulateEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaModFix" type="CT_AlphaModulateFixedEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaOutset" type="CT_AlphaOutsetEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="alphaRepl" type="CT_AlphaReplaceEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="biLevel" type="CT_BiLevelEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blend" type="CT_BlendEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blur" type="CT_BlurEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="clrChange" type="CT_ColorChangeEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="clrRepl" type="CT_ColorReplaceEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="duotone" type="CT_DuotoneEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fill" type="CT_FillEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fillOverlay" type="CT_FillOverlayEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="glow" type="CT_GlowEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="grayscl" type="CT_GrayscaleEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hsl" type="CT_HSLEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="innerShdw" type="CT_InnerShadowEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lum" type="CT_LuminanceEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="outerShdw" type="CT_OuterShadowEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="prstShdw" type="CT_PresetShadowEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="reflection" type="CT_ReflectionEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="relOff" type="CT_RelativeOffsetEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="softEdge" type="CT_SoftEdgesEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tint" type="CT_TintEffect" minOccurs="1" maxOccurs="1"/> + <xsd:element name="xfrm" type="CT_TransformEffect" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_EffectContainerType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="sib"/> + <xsd:enumeration value="tree"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_EffectContainer"> + <xsd:group ref="EG_Effect" minOccurs="0" maxOccurs="unbounded"/> + <xsd:attribute name="type" type="ST_EffectContainerType" use="optional" default="sib"/> + <xsd:attribute name="name" type="xsd:token" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_AlphaModulateEffect"> + <xsd:sequence> + <xsd:element name="cont" type="CT_EffectContainer" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BlendEffect"> + <xsd:sequence> + <xsd:element name="cont" type="CT_EffectContainer" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="blend" type="ST_BlendMode" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_EffectList"> + <xsd:sequence> + <xsd:element name="blur" type="CT_BlurEffect" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fillOverlay" type="CT_FillOverlayEffect" minOccurs="0" maxOccurs="1"/> + <xsd:element name="glow" type="CT_GlowEffect" minOccurs="0" maxOccurs="1"/> + <xsd:element name="innerShdw" type="CT_InnerShadowEffect" minOccurs="0" maxOccurs="1"/> + <xsd:element name="outerShdw" type="CT_OuterShadowEffect" minOccurs="0" maxOccurs="1"/> + <xsd:element name="prstShdw" type="CT_PresetShadowEffect" minOccurs="0" maxOccurs="1"/> + <xsd:element name="reflection" type="CT_ReflectionEffect" minOccurs="0" maxOccurs="1"/> + <xsd:element name="softEdge" type="CT_SoftEdgesEffect" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_EffectProperties"> + <xsd:choice> + <xsd:element name="effectLst" type="CT_EffectList" minOccurs="1" maxOccurs="1"/> + <xsd:element name="effectDag" type="CT_EffectContainer" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_EffectProperties"> + <xsd:sequence> + <xsd:group ref="EG_EffectProperties" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="blip" type="CT_Blip"/> + <xsd:simpleType name="ST_ShapeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="line"/> + <xsd:enumeration value="lineInv"/> + <xsd:enumeration value="triangle"/> + <xsd:enumeration value="rtTriangle"/> + <xsd:enumeration value="rect"/> + <xsd:enumeration value="diamond"/> + <xsd:enumeration value="parallelogram"/> + <xsd:enumeration value="trapezoid"/> + <xsd:enumeration value="nonIsoscelesTrapezoid"/> + <xsd:enumeration value="pentagon"/> + <xsd:enumeration value="hexagon"/> + <xsd:enumeration value="heptagon"/> + <xsd:enumeration value="octagon"/> + <xsd:enumeration value="decagon"/> + <xsd:enumeration value="dodecagon"/> + <xsd:enumeration value="star4"/> + <xsd:enumeration value="star5"/> + <xsd:enumeration value="star6"/> + <xsd:enumeration value="star7"/> + <xsd:enumeration value="star8"/> + <xsd:enumeration value="star10"/> + <xsd:enumeration value="star12"/> + <xsd:enumeration value="star16"/> + <xsd:enumeration value="star24"/> + <xsd:enumeration value="star32"/> + <xsd:enumeration value="roundRect"/> + <xsd:enumeration value="round1Rect"/> + <xsd:enumeration value="round2SameRect"/> + <xsd:enumeration value="round2DiagRect"/> + <xsd:enumeration value="snipRoundRect"/> + <xsd:enumeration value="snip1Rect"/> + <xsd:enumeration value="snip2SameRect"/> + <xsd:enumeration value="snip2DiagRect"/> + <xsd:enumeration value="plaque"/> + <xsd:enumeration value="ellipse"/> + <xsd:enumeration value="teardrop"/> + <xsd:enumeration value="homePlate"/> + <xsd:enumeration value="chevron"/> + <xsd:enumeration value="pieWedge"/> + <xsd:enumeration value="pie"/> + <xsd:enumeration value="blockArc"/> + <xsd:enumeration value="donut"/> + <xsd:enumeration value="noSmoking"/> + <xsd:enumeration value="rightArrow"/> + <xsd:enumeration value="leftArrow"/> + <xsd:enumeration value="upArrow"/> + <xsd:enumeration value="downArrow"/> + <xsd:enumeration value="stripedRightArrow"/> + <xsd:enumeration value="notchedRightArrow"/> + <xsd:enumeration value="bentUpArrow"/> + <xsd:enumeration value="leftRightArrow"/> + <xsd:enumeration value="upDownArrow"/> + <xsd:enumeration value="leftUpArrow"/> + <xsd:enumeration value="leftRightUpArrow"/> + <xsd:enumeration value="quadArrow"/> + <xsd:enumeration value="leftArrowCallout"/> + <xsd:enumeration value="rightArrowCallout"/> + <xsd:enumeration value="upArrowCallout"/> + <xsd:enumeration value="downArrowCallout"/> + <xsd:enumeration value="leftRightArrowCallout"/> + <xsd:enumeration value="upDownArrowCallout"/> + <xsd:enumeration value="quadArrowCallout"/> + <xsd:enumeration value="bentArrow"/> + <xsd:enumeration value="uturnArrow"/> + <xsd:enumeration value="circularArrow"/> + <xsd:enumeration value="leftCircularArrow"/> + <xsd:enumeration value="leftRightCircularArrow"/> + <xsd:enumeration value="curvedRightArrow"/> + <xsd:enumeration value="curvedLeftArrow"/> + <xsd:enumeration value="curvedUpArrow"/> + <xsd:enumeration value="curvedDownArrow"/> + <xsd:enumeration value="swooshArrow"/> + <xsd:enumeration value="cube"/> + <xsd:enumeration value="can"/> + <xsd:enumeration value="lightningBolt"/> + <xsd:enumeration value="heart"/> + <xsd:enumeration value="sun"/> + <xsd:enumeration value="moon"/> + <xsd:enumeration value="smileyFace"/> + <xsd:enumeration value="irregularSeal1"/> + <xsd:enumeration value="irregularSeal2"/> + <xsd:enumeration value="foldedCorner"/> + <xsd:enumeration value="bevel"/> + <xsd:enumeration value="frame"/> + <xsd:enumeration value="halfFrame"/> + <xsd:enumeration value="corner"/> + <xsd:enumeration value="diagStripe"/> + <xsd:enumeration value="chord"/> + <xsd:enumeration value="arc"/> + <xsd:enumeration value="leftBracket"/> + <xsd:enumeration value="rightBracket"/> + <xsd:enumeration value="leftBrace"/> + <xsd:enumeration value="rightBrace"/> + <xsd:enumeration value="bracketPair"/> + <xsd:enumeration value="bracePair"/> + <xsd:enumeration value="straightConnector1"/> + <xsd:enumeration value="bentConnector2"/> + <xsd:enumeration value="bentConnector3"/> + <xsd:enumeration value="bentConnector4"/> + <xsd:enumeration value="bentConnector5"/> + <xsd:enumeration value="curvedConnector2"/> + <xsd:enumeration value="curvedConnector3"/> + <xsd:enumeration value="curvedConnector4"/> + <xsd:enumeration value="curvedConnector5"/> + <xsd:enumeration value="callout1"/> + <xsd:enumeration value="callout2"/> + <xsd:enumeration value="callout3"/> + <xsd:enumeration value="accentCallout1"/> + <xsd:enumeration value="accentCallout2"/> + <xsd:enumeration value="accentCallout3"/> + <xsd:enumeration value="borderCallout1"/> + <xsd:enumeration value="borderCallout2"/> + <xsd:enumeration value="borderCallout3"/> + <xsd:enumeration value="accentBorderCallout1"/> + <xsd:enumeration value="accentBorderCallout2"/> + <xsd:enumeration value="accentBorderCallout3"/> + <xsd:enumeration value="wedgeRectCallout"/> + <xsd:enumeration value="wedgeRoundRectCallout"/> + <xsd:enumeration value="wedgeEllipseCallout"/> + <xsd:enumeration value="cloudCallout"/> + <xsd:enumeration value="cloud"/> + <xsd:enumeration value="ribbon"/> + <xsd:enumeration value="ribbon2"/> + <xsd:enumeration value="ellipseRibbon"/> + <xsd:enumeration value="ellipseRibbon2"/> + <xsd:enumeration value="leftRightRibbon"/> + <xsd:enumeration value="verticalScroll"/> + <xsd:enumeration value="horizontalScroll"/> + <xsd:enumeration value="wave"/> + <xsd:enumeration value="doubleWave"/> + <xsd:enumeration value="plus"/> + <xsd:enumeration value="flowChartProcess"/> + <xsd:enumeration value="flowChartDecision"/> + <xsd:enumeration value="flowChartInputOutput"/> + <xsd:enumeration value="flowChartPredefinedProcess"/> + <xsd:enumeration value="flowChartInternalStorage"/> + <xsd:enumeration value="flowChartDocument"/> + <xsd:enumeration value="flowChartMultidocument"/> + <xsd:enumeration value="flowChartTerminator"/> + <xsd:enumeration value="flowChartPreparation"/> + <xsd:enumeration value="flowChartManualInput"/> + <xsd:enumeration value="flowChartManualOperation"/> + <xsd:enumeration value="flowChartConnector"/> + <xsd:enumeration value="flowChartPunchedCard"/> + <xsd:enumeration value="flowChartPunchedTape"/> + <xsd:enumeration value="flowChartSummingJunction"/> + <xsd:enumeration value="flowChartOr"/> + <xsd:enumeration value="flowChartCollate"/> + <xsd:enumeration value="flowChartSort"/> + <xsd:enumeration value="flowChartExtract"/> + <xsd:enumeration value="flowChartMerge"/> + <xsd:enumeration value="flowChartOfflineStorage"/> + <xsd:enumeration value="flowChartOnlineStorage"/> + <xsd:enumeration value="flowChartMagneticTape"/> + <xsd:enumeration value="flowChartMagneticDisk"/> + <xsd:enumeration value="flowChartMagneticDrum"/> + <xsd:enumeration value="flowChartDisplay"/> + <xsd:enumeration value="flowChartDelay"/> + <xsd:enumeration value="flowChartAlternateProcess"/> + <xsd:enumeration value="flowChartOffpageConnector"/> + <xsd:enumeration value="actionButtonBlank"/> + <xsd:enumeration value="actionButtonHome"/> + <xsd:enumeration value="actionButtonHelp"/> + <xsd:enumeration value="actionButtonInformation"/> + <xsd:enumeration value="actionButtonForwardNext"/> + <xsd:enumeration value="actionButtonBackPrevious"/> + <xsd:enumeration value="actionButtonEnd"/> + <xsd:enumeration value="actionButtonBeginning"/> + <xsd:enumeration value="actionButtonReturn"/> + <xsd:enumeration value="actionButtonDocument"/> + <xsd:enumeration value="actionButtonSound"/> + <xsd:enumeration value="actionButtonMovie"/> + <xsd:enumeration value="gear6"/> + <xsd:enumeration value="gear9"/> + <xsd:enumeration value="funnel"/> + <xsd:enumeration value="mathPlus"/> + <xsd:enumeration value="mathMinus"/> + <xsd:enumeration value="mathMultiply"/> + <xsd:enumeration value="mathDivide"/> + <xsd:enumeration value="mathEqual"/> + <xsd:enumeration value="mathNotEqual"/> + <xsd:enumeration value="cornerTabs"/> + <xsd:enumeration value="squareTabs"/> + <xsd:enumeration value="plaqueTabs"/> + <xsd:enumeration value="chartX"/> + <xsd:enumeration value="chartStar"/> + <xsd:enumeration value="chartPlus"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextShapeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="textNoShape"/> + <xsd:enumeration value="textPlain"/> + <xsd:enumeration value="textStop"/> + <xsd:enumeration value="textTriangle"/> + <xsd:enumeration value="textTriangleInverted"/> + <xsd:enumeration value="textChevron"/> + <xsd:enumeration value="textChevronInverted"/> + <xsd:enumeration value="textRingInside"/> + <xsd:enumeration value="textRingOutside"/> + <xsd:enumeration value="textArchUp"/> + <xsd:enumeration value="textArchDown"/> + <xsd:enumeration value="textCircle"/> + <xsd:enumeration value="textButton"/> + <xsd:enumeration value="textArchUpPour"/> + <xsd:enumeration value="textArchDownPour"/> + <xsd:enumeration value="textCirclePour"/> + <xsd:enumeration value="textButtonPour"/> + <xsd:enumeration value="textCurveUp"/> + <xsd:enumeration value="textCurveDown"/> + <xsd:enumeration value="textCanUp"/> + <xsd:enumeration value="textCanDown"/> + <xsd:enumeration value="textWave1"/> + <xsd:enumeration value="textWave2"/> + <xsd:enumeration value="textDoubleWave1"/> + <xsd:enumeration value="textWave4"/> + <xsd:enumeration value="textInflate"/> + <xsd:enumeration value="textDeflate"/> + <xsd:enumeration value="textInflateBottom"/> + <xsd:enumeration value="textDeflateBottom"/> + <xsd:enumeration value="textInflateTop"/> + <xsd:enumeration value="textDeflateTop"/> + <xsd:enumeration value="textDeflateInflate"/> + <xsd:enumeration value="textDeflateInflateDeflate"/> + <xsd:enumeration value="textFadeRight"/> + <xsd:enumeration value="textFadeLeft"/> + <xsd:enumeration value="textFadeUp"/> + <xsd:enumeration value="textFadeDown"/> + <xsd:enumeration value="textSlantUp"/> + <xsd:enumeration value="textSlantDown"/> + <xsd:enumeration value="textCascadeUp"/> + <xsd:enumeration value="textCascadeDown"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_GeomGuideName"> + <xsd:restriction base="xsd:token"/> + </xsd:simpleType> + <xsd:simpleType name="ST_GeomGuideFormula"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:complexType name="CT_GeomGuide"> + <xsd:attribute name="name" type="ST_GeomGuideName" use="required"/> + <xsd:attribute name="fmla" type="ST_GeomGuideFormula" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_GeomGuideList"> + <xsd:sequence> + <xsd:element name="gd" type="CT_GeomGuide" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_AdjCoordinate"> + <xsd:union memberTypes="ST_Coordinate ST_GeomGuideName"/> + </xsd:simpleType> + <xsd:simpleType name="ST_AdjAngle"> + <xsd:union memberTypes="ST_Angle ST_GeomGuideName"/> + </xsd:simpleType> + <xsd:complexType name="CT_AdjPoint2D"> + <xsd:attribute name="x" type="ST_AdjCoordinate" use="required"/> + <xsd:attribute name="y" type="ST_AdjCoordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_GeomRect"> + <xsd:attribute name="l" type="ST_AdjCoordinate" use="required"/> + <xsd:attribute name="t" type="ST_AdjCoordinate" use="required"/> + <xsd:attribute name="r" type="ST_AdjCoordinate" use="required"/> + <xsd:attribute name="b" type="ST_AdjCoordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_XYAdjustHandle"> + <xsd:sequence> + <xsd:element name="pos" type="CT_AdjPoint2D" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="gdRefX" type="ST_GeomGuideName" use="optional"/> + <xsd:attribute name="minX" type="ST_AdjCoordinate" use="optional"/> + <xsd:attribute name="maxX" type="ST_AdjCoordinate" use="optional"/> + <xsd:attribute name="gdRefY" type="ST_GeomGuideName" use="optional"/> + <xsd:attribute name="minY" type="ST_AdjCoordinate" use="optional"/> + <xsd:attribute name="maxY" type="ST_AdjCoordinate" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_PolarAdjustHandle"> + <xsd:sequence> + <xsd:element name="pos" type="CT_AdjPoint2D" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="gdRefR" type="ST_GeomGuideName" use="optional"/> + <xsd:attribute name="minR" type="ST_AdjCoordinate" use="optional"/> + <xsd:attribute name="maxR" type="ST_AdjCoordinate" use="optional"/> + <xsd:attribute name="gdRefAng" type="ST_GeomGuideName" use="optional"/> + <xsd:attribute name="minAng" type="ST_AdjAngle" use="optional"/> + <xsd:attribute name="maxAng" type="ST_AdjAngle" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ConnectionSite"> + <xsd:sequence> + <xsd:element name="pos" type="CT_AdjPoint2D" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="ang" type="ST_AdjAngle" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_AdjustHandleList"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="ahXY" type="CT_XYAdjustHandle" minOccurs="1" maxOccurs="1"/> + <xsd:element name="ahPolar" type="CT_PolarAdjustHandle" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_ConnectionSiteList"> + <xsd:sequence> + <xsd:element name="cxn" type="CT_ConnectionSite" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Connection"> + <xsd:attribute name="id" type="ST_DrawingElementId" use="required"/> + <xsd:attribute name="idx" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Path2DMoveTo"> + <xsd:sequence> + <xsd:element name="pt" type="CT_AdjPoint2D" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Path2DLineTo"> + <xsd:sequence> + <xsd:element name="pt" type="CT_AdjPoint2D" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Path2DArcTo"> + <xsd:attribute name="wR" type="ST_AdjCoordinate" use="required"/> + <xsd:attribute name="hR" type="ST_AdjCoordinate" use="required"/> + <xsd:attribute name="stAng" type="ST_AdjAngle" use="required"/> + <xsd:attribute name="swAng" type="ST_AdjAngle" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Path2DQuadBezierTo"> + <xsd:sequence> + <xsd:element name="pt" type="CT_AdjPoint2D" minOccurs="2" maxOccurs="2"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Path2DCubicBezierTo"> + <xsd:sequence> + <xsd:element name="pt" type="CT_AdjPoint2D" minOccurs="3" maxOccurs="3"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Path2DClose"/> + <xsd:simpleType name="ST_PathFillMode"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="norm"/> + <xsd:enumeration value="lighten"/> + <xsd:enumeration value="lightenLess"/> + <xsd:enumeration value="darken"/> + <xsd:enumeration value="darkenLess"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Path2D"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="close" type="CT_Path2DClose" minOccurs="1" maxOccurs="1"/> + <xsd:element name="moveTo" type="CT_Path2DMoveTo" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lnTo" type="CT_Path2DLineTo" minOccurs="1" maxOccurs="1"/> + <xsd:element name="arcTo" type="CT_Path2DArcTo" minOccurs="1" maxOccurs="1"/> + <xsd:element name="quadBezTo" type="CT_Path2DQuadBezierTo" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cubicBezTo" type="CT_Path2DCubicBezierTo" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:attribute name="w" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="h" type="ST_PositiveCoordinate" use="optional" default="0"/> + <xsd:attribute name="fill" type="ST_PathFillMode" use="optional" default="norm"/> + <xsd:attribute name="stroke" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="extrusionOk" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_Path2DList"> + <xsd:sequence> + <xsd:element name="path" type="CT_Path2D" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PresetGeometry2D"> + <xsd:sequence> + <xsd:element name="avLst" type="CT_GeomGuideList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="prst" type="ST_ShapeType" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PresetTextShape"> + <xsd:sequence> + <xsd:element name="avLst" type="CT_GeomGuideList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="prst" type="ST_TextShapeType" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomGeometry2D"> + <xsd:sequence> + <xsd:element name="avLst" type="CT_GeomGuideList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="gdLst" type="CT_GeomGuideList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ahLst" type="CT_AdjustHandleList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cxnLst" type="CT_ConnectionSiteList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rect" type="CT_GeomRect" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pathLst" type="CT_Path2DList" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_Geometry"> + <xsd:choice> + <xsd:element name="custGeom" type="CT_CustomGeometry2D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="prstGeom" type="CT_PresetGeometry2D" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_TextGeometry"> + <xsd:choice> + <xsd:element name="custGeom" type="CT_CustomGeometry2D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="prstTxWarp" type="CT_PresetTextShape" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_LineEndType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="triangle"/> + <xsd:enumeration value="stealth"/> + <xsd:enumeration value="diamond"/> + <xsd:enumeration value="oval"/> + <xsd:enumeration value="arrow"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LineEndWidth"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="sm"/> + <xsd:enumeration value="med"/> + <xsd:enumeration value="lg"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LineEndLength"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="sm"/> + <xsd:enumeration value="med"/> + <xsd:enumeration value="lg"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LineEndProperties"> + <xsd:attribute name="type" type="ST_LineEndType" use="optional" default="none"/> + <xsd:attribute name="w" type="ST_LineEndWidth" use="optional"/> + <xsd:attribute name="len" type="ST_LineEndLength" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_LineFillProperties"> + <xsd:choice> + <xsd:element name="noFill" type="CT_NoFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="solidFill" type="CT_SolidColorFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gradFill" type="CT_GradientFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="pattFill" type="CT_PatternFillProperties" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_LineJoinBevel"/> + <xsd:complexType name="CT_LineJoinRound"/> + <xsd:complexType name="CT_LineJoinMiterProperties"> + <xsd:attribute name="lim" type="ST_PositivePercentage" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_LineJoinProperties"> + <xsd:choice> + <xsd:element name="round" type="CT_LineJoinRound" minOccurs="1" maxOccurs="1"/> + <xsd:element name="bevel" type="CT_LineJoinBevel" minOccurs="1" maxOccurs="1"/> + <xsd:element name="miter" type="CT_LineJoinMiterProperties" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_PresetLineDashVal"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="solid"/> + <xsd:enumeration value="dot"/> + <xsd:enumeration value="dash"/> + <xsd:enumeration value="lgDash"/> + <xsd:enumeration value="dashDot"/> + <xsd:enumeration value="lgDashDot"/> + <xsd:enumeration value="lgDashDotDot"/> + <xsd:enumeration value="sysDash"/> + <xsd:enumeration value="sysDot"/> + <xsd:enumeration value="sysDashDot"/> + <xsd:enumeration value="sysDashDotDot"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PresetLineDashProperties"> + <xsd:attribute name="val" type="ST_PresetLineDashVal" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_DashStop"> + <xsd:attribute name="d" type="ST_PositivePercentage" use="required"/> + <xsd:attribute name="sp" type="ST_PositivePercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DashStopList"> + <xsd:sequence> + <xsd:element name="ds" type="CT_DashStop" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_LineDashProperties"> + <xsd:choice> + <xsd:element name="prstDash" type="CT_PresetLineDashProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="custDash" type="CT_DashStopList" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_LineCap"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="rnd"/> + <xsd:enumeration value="sq"/> + <xsd:enumeration value="flat"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LineWidth"> + <xsd:restriction base="ST_Coordinate32Unqualified"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="20116800"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PenAlignment"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="in"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CompoundLine"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="sng"/> + <xsd:enumeration value="dbl"/> + <xsd:enumeration value="thickThin"/> + <xsd:enumeration value="thinThick"/> + <xsd:enumeration value="tri"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LineProperties"> + <xsd:sequence> + <xsd:group ref="EG_LineFillProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_LineDashProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_LineJoinProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="headEnd" type="CT_LineEndProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tailEnd" type="CT_LineEndProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="w" type="ST_LineWidth" use="optional"/> + <xsd:attribute name="cap" type="ST_LineCap" use="optional"/> + <xsd:attribute name="cmpd" type="ST_CompoundLine" use="optional"/> + <xsd:attribute name="algn" type="ST_PenAlignment" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_ShapeID"> + <xsd:restriction base="xsd:token"/> + </xsd:simpleType> + <xsd:complexType name="CT_ShapeProperties"> + <xsd:sequence> + <xsd:element name="xfrm" type="CT_Transform2D" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_Geometry" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_FillProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ln" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_EffectProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="scene3d" type="CT_Scene3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sp3d" type="CT_Shape3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="bwMode" type="ST_BlackWhiteMode" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupShapeProperties"> + <xsd:sequence> + <xsd:element name="xfrm" type="CT_GroupTransform2D" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_FillProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_EffectProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="scene3d" type="CT_Scene3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="bwMode" type="ST_BlackWhiteMode" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_StyleMatrixReference"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="idx" type="ST_StyleMatrixColumnIndex" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FontReference"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="idx" type="ST_FontCollectionIndex" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_ShapeStyle"> + <xsd:sequence> + <xsd:element name="lnRef" type="CT_StyleMatrixReference" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fillRef" type="CT_StyleMatrixReference" minOccurs="1" maxOccurs="1"/> + <xsd:element name="effectRef" type="CT_StyleMatrixReference" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fontRef" type="CT_FontReference" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DefaultShapeDefinition"> + <xsd:sequence> + <xsd:element name="spPr" type="CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="bodyPr" type="CT_TextBodyProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lstStyle" type="CT_TextListStyle" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ObjectStyleDefaults"> + <xsd:sequence> + <xsd:element name="spDef" type="CT_DefaultShapeDefinition" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lnDef" type="CT_DefaultShapeDefinition" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txDef" type="CT_DefaultShapeDefinition" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_EmptyElement"/> + <xsd:complexType name="CT_ColorMapping"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="bg1" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="tx1" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="bg2" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="tx2" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="accent1" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="accent2" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="accent3" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="accent4" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="accent5" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="accent6" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="hlink" type="ST_ColorSchemeIndex" use="required"/> + <xsd:attribute name="folHlink" type="ST_ColorSchemeIndex" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_ColorMappingOverride"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="masterClrMapping" type="CT_EmptyElement"/> + <xsd:element name="overrideClrMapping" type="CT_ColorMapping"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ColorSchemeAndMapping"> + <xsd:sequence> + <xsd:element name="clrScheme" type="CT_ColorScheme" minOccurs="1" maxOccurs="1"/> + <xsd:element name="clrMap" type="CT_ColorMapping" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ColorSchemeList"> + <xsd:sequence> + <xsd:element name="extraClrScheme" type="CT_ColorSchemeAndMapping" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_OfficeStyleSheet"> + <xsd:sequence> + <xsd:element name="themeElements" type="CT_BaseStyles" minOccurs="1" maxOccurs="1"/> + <xsd:element name="objectDefaults" type="CT_ObjectStyleDefaults" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extraClrSchemeLst" type="CT_ColorSchemeList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="custClrLst" type="CT_CustomColorList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_BaseStylesOverride"> + <xsd:sequence> + <xsd:element name="clrScheme" type="CT_ColorScheme" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fontScheme" type="CT_FontScheme" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fmtScheme" type="CT_StyleMatrix" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ClipboardStyleSheet"> + <xsd:sequence> + <xsd:element name="themeElements" type="CT_BaseStyles" minOccurs="1" maxOccurs="1"/> + <xsd:element name="clrMap" type="CT_ColorMapping" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="theme" type="CT_OfficeStyleSheet"/> + <xsd:element name="themeOverride" type="CT_BaseStylesOverride"/> + <xsd:element name="themeManager" type="CT_EmptyElement"/> + <xsd:complexType name="CT_TableCellProperties"> + <xsd:sequence> + <xsd:element name="lnL" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lnR" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lnT" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lnB" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lnTlToBr" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lnBlToTr" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cell3D" type="CT_Cell3D" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_FillProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="headers" type="CT_Headers" minOccurs="0"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="marL" type="ST_Coordinate32" use="optional" default="91440"/> + <xsd:attribute name="marR" type="ST_Coordinate32" use="optional" default="91440"/> + <xsd:attribute name="marT" type="ST_Coordinate32" use="optional" default="45720"/> + <xsd:attribute name="marB" type="ST_Coordinate32" use="optional" default="45720"/> + <xsd:attribute name="vert" type="ST_TextVerticalType" use="optional" default="horz"/> + <xsd:attribute name="anchor" type="ST_TextAnchoringType" use="optional" default="t"/> + <xsd:attribute name="anchorCtr" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="horzOverflow" type="ST_TextHorzOverflowType" use="optional" default="clip" + /> + </xsd:complexType> + <xsd:complexType name="CT_Headers"> + <xsd:sequence minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="header" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TableCol"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="w" type="ST_Coordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TableGrid"> + <xsd:sequence> + <xsd:element name="gridCol" type="CT_TableCol" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TableCell"> + <xsd:sequence> + <xsd:element name="txBody" type="CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tcPr" type="CT_TableCellProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="rowSpan" type="xsd:int" use="optional" default="1"/> + <xsd:attribute name="gridSpan" type="xsd:int" use="optional" default="1"/> + <xsd:attribute name="hMerge" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="vMerge" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="id" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TableRow"> + <xsd:sequence> + <xsd:element name="tc" type="CT_TableCell" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="h" type="ST_Coordinate" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TableProperties"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_EffectProperties" minOccurs="0" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="tableStyle" type="CT_TableStyle"/> + <xsd:element name="tableStyleId" type="s:ST_Guid"/> + </xsd:choice> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="rtl" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="firstRow" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="firstCol" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="lastRow" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="lastCol" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="bandRow" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="bandCol" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Table"> + <xsd:sequence> + <xsd:element name="tblPr" type="CT_TableProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblGrid" type="CT_TableGrid" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tr" type="CT_TableRow" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="tbl" type="CT_Table"/> + <xsd:complexType name="CT_Cell3D"> + <xsd:sequence> + <xsd:element name="bevel" type="CT_Bevel" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lightRig" type="CT_LightRig" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="prstMaterial" type="ST_PresetMaterialType" use="optional" default="plastic" + /> + </xsd:complexType> + <xsd:group name="EG_ThemeableFillStyle"> + <xsd:choice> + <xsd:element name="fill" type="CT_FillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fillRef" type="CT_StyleMatrixReference" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_ThemeableLineStyle"> + <xsd:choice> + <xsd:element name="ln" type="CT_LineProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lnRef" type="CT_StyleMatrixReference" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:complexType> + <xsd:group name="EG_ThemeableEffectStyle"> + <xsd:choice> + <xsd:element name="effect" type="CT_EffectProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="effectRef" type="CT_StyleMatrixReference" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_ThemeableFontStyles"> + <xsd:choice> + <xsd:element name="font" type="CT_FontCollection" minOccurs="1" maxOccurs="1"/> + <xsd:element name="fontRef" type="CT_FontReference" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_OnOffStyleType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="on"/> + <xsd:enumeration value="off"/> + <xsd:enumeration value="def"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TableStyleTextStyle"> + <xsd:sequence> + <xsd:group ref="EG_ThemeableFontStyles" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_ColorChoice" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="b" type="ST_OnOffStyleType" use="optional" default="def"/> + <xsd:attribute name="i" type="ST_OnOffStyleType" use="optional" default="def"/> + </xsd:complexType> + <xsd:complexType name="CT_TableCellBorderStyle"> + <xsd:sequence> + <xsd:element name="left" type="CT_ThemeableLineStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="right" type="CT_ThemeableLineStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="top" type="CT_ThemeableLineStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bottom" type="CT_ThemeableLineStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="insideH" type="CT_ThemeableLineStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="insideV" type="CT_ThemeableLineStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tl2br" type="CT_ThemeableLineStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tr2bl" type="CT_ThemeableLineStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TableBackgroundStyle"> + <xsd:sequence> + <xsd:group ref="EG_ThemeableFillStyle" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_ThemeableEffectStyle" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TableStyleCellStyle"> + <xsd:sequence> + <xsd:element name="tcBdr" type="CT_TableCellBorderStyle" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_ThemeableFillStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cell3D" type="CT_Cell3D" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TablePartStyle"> + <xsd:sequence> + <xsd:element name="tcTxStyle" type="CT_TableStyleTextStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tcStyle" type="CT_TableStyleCellStyle" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TableStyle"> + <xsd:sequence> + <xsd:element name="tblBg" type="CT_TableBackgroundStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="wholeTbl" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="band1H" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="band2H" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="band1V" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="band2V" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lastCol" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="firstCol" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lastRow" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="seCell" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="swCell" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="firstRow" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="neCell" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="nwCell" type="CT_TablePartStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="styleId" type="s:ST_Guid" use="required"/> + <xsd:attribute name="styleName" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TableStyleList"> + <xsd:sequence> + <xsd:element name="tblStyle" type="CT_TableStyle" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="def" type="s:ST_Guid" use="required"/> + </xsd:complexType> + <xsd:element name="tblStyleLst" type="CT_TableStyleList"/> + <xsd:complexType name="CT_TextParagraph"> + <xsd:sequence> + <xsd:element name="pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_TextRun" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="endParaRPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TextAnchoringType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="t"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="just"/> + <xsd:enumeration value="dist"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextVertOverflowType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="overflow"/> + <xsd:enumeration value="ellipsis"/> + <xsd:enumeration value="clip"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextHorzOverflowType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="overflow"/> + <xsd:enumeration value="clip"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextVerticalType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="horz"/> + <xsd:enumeration value="vert"/> + <xsd:enumeration value="vert270"/> + <xsd:enumeration value="wordArtVert"/> + <xsd:enumeration value="eaVert"/> + <xsd:enumeration value="mongolianVert"/> + <xsd:enumeration value="wordArtVertRtl"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextWrappingType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="square"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextColumnCount"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="1"/> + <xsd:maxInclusive value="16"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextListStyle"> + <xsd:sequence> + <xsd:element name="defPPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl1pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl2pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl3pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl4pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl5pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl6pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl7pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl8pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="lvl9pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TextFontScalePercentOrPercentString"> + <xsd:union memberTypes="ST_TextFontScalePercent s:ST_Percentage"/> + </xsd:simpleType> + <xsd:simpleType name="ST_TextFontScalePercent"> + <xsd:restriction base="ST_PercentageDecimal"> + <xsd:minInclusive value="1000"/> + <xsd:maxInclusive value="100000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextNormalAutofit"> + <xsd:attribute name="fontScale" type="ST_TextFontScalePercentOrPercentString" use="optional" + default="100%"/> + <xsd:attribute name="lnSpcReduction" type="ST_TextSpacingPercentOrPercentString" use="optional" + default="0%"/> + </xsd:complexType> + <xsd:complexType name="CT_TextShapeAutofit"/> + <xsd:complexType name="CT_TextNoAutofit"/> + <xsd:group name="EG_TextAutofit"> + <xsd:choice> + <xsd:element name="noAutofit" type="CT_TextNoAutofit"/> + <xsd:element name="normAutofit" type="CT_TextNormalAutofit"/> + <xsd:element name="spAutoFit" type="CT_TextShapeAutofit"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_TextBodyProperties"> + <xsd:sequence> + <xsd:element name="prstTxWarp" type="CT_PresetTextShape" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_TextAutofit" minOccurs="0" maxOccurs="1"/> + <xsd:element name="scene3d" type="CT_Scene3D" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_Text3D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="rot" type="ST_Angle" use="optional"/> + <xsd:attribute name="spcFirstLastPara" type="xsd:boolean" use="optional"/> + <xsd:attribute name="vertOverflow" type="ST_TextVertOverflowType" use="optional"/> + <xsd:attribute name="horzOverflow" type="ST_TextHorzOverflowType" use="optional"/> + <xsd:attribute name="vert" type="ST_TextVerticalType" use="optional"/> + <xsd:attribute name="wrap" type="ST_TextWrappingType" use="optional"/> + <xsd:attribute name="lIns" type="ST_Coordinate32" use="optional"/> + <xsd:attribute name="tIns" type="ST_Coordinate32" use="optional"/> + <xsd:attribute name="rIns" type="ST_Coordinate32" use="optional"/> + <xsd:attribute name="bIns" type="ST_Coordinate32" use="optional"/> + <xsd:attribute name="numCol" type="ST_TextColumnCount" use="optional"/> + <xsd:attribute name="spcCol" type="ST_PositiveCoordinate32" use="optional"/> + <xsd:attribute name="rtlCol" type="xsd:boolean" use="optional"/> + <xsd:attribute name="fromWordArt" type="xsd:boolean" use="optional"/> + <xsd:attribute name="anchor" type="ST_TextAnchoringType" use="optional"/> + <xsd:attribute name="anchorCtr" type="xsd:boolean" use="optional"/> + <xsd:attribute name="forceAA" type="xsd:boolean" use="optional"/> + <xsd:attribute name="upright" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="compatLnSpc" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TextBody"> + <xsd:sequence> + <xsd:element name="bodyPr" type="CT_TextBodyProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lstStyle" type="CT_TextListStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="p" type="CT_TextParagraph" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TextBulletStartAtNum"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="1"/> + <xsd:maxInclusive value="32767"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextAutonumberScheme"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="alphaLcParenBoth"/> + <xsd:enumeration value="alphaUcParenBoth"/> + <xsd:enumeration value="alphaLcParenR"/> + <xsd:enumeration value="alphaUcParenR"/> + <xsd:enumeration value="alphaLcPeriod"/> + <xsd:enumeration value="alphaUcPeriod"/> + <xsd:enumeration value="arabicParenBoth"/> + <xsd:enumeration value="arabicParenR"/> + <xsd:enumeration value="arabicPeriod"/> + <xsd:enumeration value="arabicPlain"/> + <xsd:enumeration value="romanLcParenBoth"/> + <xsd:enumeration value="romanUcParenBoth"/> + <xsd:enumeration value="romanLcParenR"/> + <xsd:enumeration value="romanUcParenR"/> + <xsd:enumeration value="romanLcPeriod"/> + <xsd:enumeration value="romanUcPeriod"/> + <xsd:enumeration value="circleNumDbPlain"/> + <xsd:enumeration value="circleNumWdBlackPlain"/> + <xsd:enumeration value="circleNumWdWhitePlain"/> + <xsd:enumeration value="arabicDbPeriod"/> + <xsd:enumeration value="arabicDbPlain"/> + <xsd:enumeration value="ea1ChsPeriod"/> + <xsd:enumeration value="ea1ChsPlain"/> + <xsd:enumeration value="ea1ChtPeriod"/> + <xsd:enumeration value="ea1ChtPlain"/> + <xsd:enumeration value="ea1JpnChsDbPeriod"/> + <xsd:enumeration value="ea1JpnKorPlain"/> + <xsd:enumeration value="ea1JpnKorPeriod"/> + <xsd:enumeration value="arabic1Minus"/> + <xsd:enumeration value="arabic2Minus"/> + <xsd:enumeration value="hebrew2Minus"/> + <xsd:enumeration value="thaiAlphaPeriod"/> + <xsd:enumeration value="thaiAlphaParenR"/> + <xsd:enumeration value="thaiAlphaParenBoth"/> + <xsd:enumeration value="thaiNumPeriod"/> + <xsd:enumeration value="thaiNumParenR"/> + <xsd:enumeration value="thaiNumParenBoth"/> + <xsd:enumeration value="hindiAlphaPeriod"/> + <xsd:enumeration value="hindiNumPeriod"/> + <xsd:enumeration value="hindiNumParenR"/> + <xsd:enumeration value="hindiAlpha1Period"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextBulletColorFollowText"/> + <xsd:group name="EG_TextBulletColor"> + <xsd:choice> + <xsd:element name="buClrTx" type="CT_TextBulletColorFollowText" minOccurs="1" maxOccurs="1"/> + <xsd:element name="buClr" type="CT_Color" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_TextBulletSize"> + <xsd:union memberTypes="ST_TextBulletSizePercent ST_TextBulletSizeDecimal"/> + </xsd:simpleType> + <xsd:simpleType name="ST_TextBulletSizePercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*((2[5-9])|([3-9][0-9])|([1-3][0-9][0-9])|400)%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextBulletSizeDecimal"> + <xsd:restriction base="ST_PercentageDecimal"> + <xsd:minInclusive value="25000"/> + <xsd:maxInclusive value="400000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextBulletSizeFollowText"/> + <xsd:complexType name="CT_TextBulletSizePercent"> + <xsd:attribute name="val" type="ST_TextBulletSizePercent" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TextBulletSizePoint"> + <xsd:attribute name="val" type="ST_TextFontSize" use="required"/> + </xsd:complexType> + <xsd:group name="EG_TextBulletSize"> + <xsd:choice> + <xsd:element name="buSzTx" type="CT_TextBulletSizeFollowText"/> + <xsd:element name="buSzPct" type="CT_TextBulletSizePercent"/> + <xsd:element name="buSzPts" type="CT_TextBulletSizePoint"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_TextBulletTypefaceFollowText"/> + <xsd:group name="EG_TextBulletTypeface"> + <xsd:choice> + <xsd:element name="buFontTx" type="CT_TextBulletTypefaceFollowText"/> + <xsd:element name="buFont" type="CT_TextFont"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_TextAutonumberBullet"> + <xsd:attribute name="type" type="ST_TextAutonumberScheme" use="required"/> + <xsd:attribute name="startAt" type="ST_TextBulletStartAtNum" use="optional" default="1"/> + </xsd:complexType> + <xsd:complexType name="CT_TextCharBullet"> + <xsd:attribute name="char" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TextBlipBullet"> + <xsd:sequence> + <xsd:element name="blip" type="CT_Blip" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TextNoBullet"/> + <xsd:group name="EG_TextBullet"> + <xsd:choice> + <xsd:element name="buNone" type="CT_TextNoBullet"/> + <xsd:element name="buAutoNum" type="CT_TextAutonumberBullet"/> + <xsd:element name="buChar" type="CT_TextCharBullet"/> + <xsd:element name="buBlip" type="CT_TextBlipBullet"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_TextPoint"> + <xsd:union memberTypes="ST_TextPointUnqualified s:ST_UniversalMeasure"/> + </xsd:simpleType> + <xsd:simpleType name="ST_TextPointUnqualified"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="-400000"/> + <xsd:maxInclusive value="400000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextNonNegativePoint"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="400000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextFontSize"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="100"/> + <xsd:maxInclusive value="400000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextTypeface"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_PitchFamily"> + <xsd:restriction base="xsd:byte"> + <xsd:enumeration value="00"/> + <xsd:enumeration value="01"/> + <xsd:enumeration value="02"/> + <xsd:enumeration value="16"/> + <xsd:enumeration value="17"/> + <xsd:enumeration value="18"/> + <xsd:enumeration value="32"/> + <xsd:enumeration value="33"/> + <xsd:enumeration value="34"/> + <xsd:enumeration value="48"/> + <xsd:enumeration value="49"/> + <xsd:enumeration value="50"/> + <xsd:enumeration value="64"/> + <xsd:enumeration value="65"/> + <xsd:enumeration value="66"/> + <xsd:enumeration value="80"/> + <xsd:enumeration value="81"/> + <xsd:enumeration value="82"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextFont"> + <xsd:attribute name="typeface" type="ST_TextTypeface" use="required"/> + <xsd:attribute name="panose" type="s:ST_Panose" use="optional"/> + <xsd:attribute name="pitchFamily" type="ST_PitchFamily" use="optional" default="0"/> + <xsd:attribute name="charset" type="xsd:byte" use="optional" default="1"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextUnderlineType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="words"/> + <xsd:enumeration value="sng"/> + <xsd:enumeration value="dbl"/> + <xsd:enumeration value="heavy"/> + <xsd:enumeration value="dotted"/> + <xsd:enumeration value="dottedHeavy"/> + <xsd:enumeration value="dash"/> + <xsd:enumeration value="dashHeavy"/> + <xsd:enumeration value="dashLong"/> + <xsd:enumeration value="dashLongHeavy"/> + <xsd:enumeration value="dotDash"/> + <xsd:enumeration value="dotDashHeavy"/> + <xsd:enumeration value="dotDotDash"/> + <xsd:enumeration value="dotDotDashHeavy"/> + <xsd:enumeration value="wavy"/> + <xsd:enumeration value="wavyHeavy"/> + <xsd:enumeration value="wavyDbl"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextUnderlineLineFollowText"/> + <xsd:complexType name="CT_TextUnderlineFillFollowText"/> + <xsd:complexType name="CT_TextUnderlineFillGroupWrapper"> + <xsd:group ref="EG_FillProperties" minOccurs="1" maxOccurs="1"/> + </xsd:complexType> + <xsd:group name="EG_TextUnderlineLine"> + <xsd:choice> + <xsd:element name="uLnTx" type="CT_TextUnderlineLineFollowText"/> + <xsd:element name="uLn" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_TextUnderlineFill"> + <xsd:choice> + <xsd:element name="uFillTx" type="CT_TextUnderlineFillFollowText"/> + <xsd:element name="uFill" type="CT_TextUnderlineFillGroupWrapper"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_TextStrikeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="noStrike"/> + <xsd:enumeration value="sngStrike"/> + <xsd:enumeration value="dblStrike"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextCapsType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="small"/> + <xsd:enumeration value="all"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextCharacterProperties"> + <xsd:sequence> + <xsd:element name="ln" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_FillProperties" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_EffectProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="highlight" type="CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_TextUnderlineLine" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_TextUnderlineFill" minOccurs="0" maxOccurs="1"/> + <xsd:element name="latin" type="CT_TextFont" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ea" type="CT_TextFont" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cs" type="CT_TextFont" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sym" type="CT_TextFont" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hlinkClick" type="CT_Hyperlink" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hlinkMouseOver" type="CT_Hyperlink" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rtl" type="CT_Boolean" minOccurs="0"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="kumimoji" type="xsd:boolean" use="optional"/> + <xsd:attribute name="lang" type="s:ST_Lang" use="optional"/> + <xsd:attribute name="altLang" type="s:ST_Lang" use="optional"/> + <xsd:attribute name="sz" type="ST_TextFontSize" use="optional"/> + <xsd:attribute name="b" type="xsd:boolean" use="optional"/> + <xsd:attribute name="i" type="xsd:boolean" use="optional"/> + <xsd:attribute name="u" type="ST_TextUnderlineType" use="optional"/> + <xsd:attribute name="strike" type="ST_TextStrikeType" use="optional"/> + <xsd:attribute name="kern" type="ST_TextNonNegativePoint" use="optional"/> + <xsd:attribute name="cap" type="ST_TextCapsType" use="optional" default="none"/> + <xsd:attribute name="spc" type="ST_TextPoint" use="optional"/> + <xsd:attribute name="normalizeH" type="xsd:boolean" use="optional"/> + <xsd:attribute name="baseline" type="ST_Percentage" use="optional"/> + <xsd:attribute name="noProof" type="xsd:boolean" use="optional"/> + <xsd:attribute name="dirty" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="err" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="smtClean" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="smtId" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="bmk" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Boolean"> + <xsd:attribute name="val" type="s:ST_OnOff" default="0"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextSpacingPoint"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="158400"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextSpacingPercentOrPercentString"> + <xsd:union memberTypes="ST_TextSpacingPercent s:ST_Percentage"/> + </xsd:simpleType> + <xsd:simpleType name="ST_TextSpacingPercent"> + <xsd:restriction base="ST_PercentageDecimal"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="13200000"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextSpacingPercent"> + <xsd:attribute name="val" type="ST_TextSpacingPercentOrPercentString" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TextSpacingPoint"> + <xsd:attribute name="val" type="ST_TextSpacingPoint" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextMargin"> + <xsd:restriction base="ST_Coordinate32Unqualified"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="51206400"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextIndent"> + <xsd:restriction base="ST_Coordinate32Unqualified"> + <xsd:minInclusive value="-51206400"/> + <xsd:maxInclusive value="51206400"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextTabAlignType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="l"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="dec"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextTabStop"> + <xsd:attribute name="pos" type="ST_Coordinate32" use="optional"/> + <xsd:attribute name="algn" type="ST_TextTabAlignType" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TextTabStopList"> + <xsd:sequence> + <xsd:element name="tab" type="CT_TextTabStop" minOccurs="0" maxOccurs="32"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TextLineBreak"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TextSpacing"> + <xsd:choice> + <xsd:element name="spcPct" type="CT_TextSpacingPercent"/> + <xsd:element name="spcPts" type="CT_TextSpacingPoint"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="ST_TextAlignType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="l"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="just"/> + <xsd:enumeration value="justLow"/> + <xsd:enumeration value="dist"/> + <xsd:enumeration value="thaiDist"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextFontAlignType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="t"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="base"/> + <xsd:enumeration value="b"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextIndentLevelType"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="8"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextParagraphProperties"> + <xsd:sequence> + <xsd:element name="lnSpc" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spcBef" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spcAft" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_TextBulletColor" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_TextBulletSize" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_TextBulletTypeface" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_TextBullet" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tabLst" type="CT_TextTabStopList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="defRPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="marL" type="ST_TextMargin" use="optional"/> + <xsd:attribute name="marR" type="ST_TextMargin" use="optional"/> + <xsd:attribute name="lvl" type="ST_TextIndentLevelType" use="optional"/> + <xsd:attribute name="indent" type="ST_TextIndent" use="optional"/> + <xsd:attribute name="algn" type="ST_TextAlignType" use="optional"/> + <xsd:attribute name="defTabSz" type="ST_Coordinate32" use="optional"/> + <xsd:attribute name="rtl" type="xsd:boolean" use="optional"/> + <xsd:attribute name="eaLnBrk" type="xsd:boolean" use="optional"/> + <xsd:attribute name="fontAlgn" type="ST_TextFontAlignType" use="optional"/> + <xsd:attribute name="latinLnBrk" type="xsd:boolean" use="optional"/> + <xsd:attribute name="hangingPunct" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TextField"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="t" type="xsd:string" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="s:ST_Guid" use="required"/> + <xsd:attribute name="type" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_TextRun"> + <xsd:choice> + <xsd:element name="r" type="CT_RegularTextRun"/> + <xsd:element name="br" type="CT_TextLineBreak"/> + <xsd:element name="fld" type="CT_TextField"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_RegularTextRun"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="t" type="xsd:string" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd new file mode 100755 index 0000000..1dbf051 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/drawingml/2006/picture" + xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" elementFormDefault="qualified" + targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/picture"> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" + schemaLocation="dml-main.xsd"/> + <xsd:complexType name="CT_PictureNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Picture"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="pic" type="CT_Picture"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd new file mode 100755 index 0000000..f1af17d --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd @@ -0,0 +1,185 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" + xmlns="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" + elementFormDefault="qualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" + schemaLocation="dml-main.xsd"/> + <xsd:import schemaLocation="shared-relationshipReference.xsd" + namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/> + <xsd:element name="from" type="CT_Marker"/> + <xsd:element name="to" type="CT_Marker"/> + <xsd:complexType name="CT_AnchorClientData"> + <xsd:attribute name="fLocksWithSheet" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="fPrintsWithSheet" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_ShapeNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Shape"> + <xsd:sequence> + <xsd:element name="nvSpPr" type="CT_ShapeNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txBody" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="macro" type="xsd:string" use="optional"/> + <xsd:attribute name="textlink" type="xsd:string" use="optional"/> + <xsd:attribute name="fLocksText" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ConnectorNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvCxnSpPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Connector"> + <xsd:sequence> + <xsd:element name="nvCxnSpPr" type="CT_ConnectorNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="macro" type="xsd:string" use="optional"/> + <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_PictureNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Picture"> + <xsd:sequence> + <xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="macro" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_GraphicalObjectFrameNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties" + minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GraphicalObjectFrame"> + <xsd:sequence> + <xsd:element name="nvGraphicFramePr" type="CT_GraphicalObjectFrameNonVisual" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/> + <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="macro" type="xsd:string" use="optional"/> + <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupShapeNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GroupShape"> + <xsd:sequence> + <xsd:element name="nvGrpSpPr" type="CT_GroupShapeNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="sp" type="CT_Shape"/> + <xsd:element name="grpSp" type="CT_GroupShape"/> + <xsd:element name="graphicFrame" type="CT_GraphicalObjectFrame"/> + <xsd:element name="cxnSp" type="CT_Connector"/> + <xsd:element name="pic" type="CT_Picture"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_ObjectChoices"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="sp" type="CT_Shape"/> + <xsd:element name="grpSp" type="CT_GroupShape"/> + <xsd:element name="graphicFrame" type="CT_GraphicalObjectFrame"/> + <xsd:element name="cxnSp" type="CT_Connector"/> + <xsd:element name="pic" type="CT_Picture"/> + <xsd:element name="contentPart" type="CT_Rel"/> + </xsd:choice> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_Rel"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_ColID"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_RowID"> + <xsd:restriction base="xsd:int"> + <xsd:minInclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Marker"> + <xsd:sequence> + <xsd:element name="col" type="ST_ColID"/> + <xsd:element name="colOff" type="a:ST_Coordinate"/> + <xsd:element name="row" type="ST_RowID"/> + <xsd:element name="rowOff" type="a:ST_Coordinate"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_EditAs"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="twoCell"/> + <xsd:enumeration value="oneCell"/> + <xsd:enumeration value="absolute"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TwoCellAnchor"> + <xsd:sequence> + <xsd:element name="from" type="CT_Marker"/> + <xsd:element name="to" type="CT_Marker"/> + <xsd:group ref="EG_ObjectChoices"/> + <xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="editAs" type="ST_EditAs" use="optional" default="twoCell"/> + </xsd:complexType> + <xsd:complexType name="CT_OneCellAnchor"> + <xsd:sequence> + <xsd:element name="from" type="CT_Marker"/> + <xsd:element name="ext" type="a:CT_PositiveSize2D"/> + <xsd:group ref="EG_ObjectChoices"/> + <xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_AbsoluteAnchor"> + <xsd:sequence> + <xsd:element name="pos" type="a:CT_Point2D"/> + <xsd:element name="ext" type="a:CT_PositiveSize2D"/> + <xsd:group ref="EG_ObjectChoices"/> + <xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_Anchor"> + <xsd:choice> + <xsd:element name="twoCellAnchor" type="CT_TwoCellAnchor"/> + <xsd:element name="oneCellAnchor" type="CT_OneCellAnchor"/> + <xsd:element name="absoluteAnchor" type="CT_AbsoluteAnchor"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_Drawing"> + <xsd:sequence> + <xsd:group ref="EG_Anchor" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="wsDr" type="CT_Drawing"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd new file mode 100755 index 0000000..0a185ab --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd @@ -0,0 +1,287 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" + xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" + xmlns:dpct="http://schemas.openxmlformats.org/drawingml/2006/picture" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" + targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" + elementFormDefault="qualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" + schemaLocation="dml-main.xsd"/> + <xsd:import schemaLocation="wml.xsd" + namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/picture" + schemaLocation="dml-picture.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:complexType name="CT_EffectExtent"> + <xsd:attribute name="l" type="a:ST_Coordinate" use="required"/> + <xsd:attribute name="t" type="a:ST_Coordinate" use="required"/> + <xsd:attribute name="r" type="a:ST_Coordinate" use="required"/> + <xsd:attribute name="b" type="a:ST_Coordinate" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_WrapDistance"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:complexType name="CT_Inline"> + <xsd:sequence> + <xsd:element name="extent" type="a:CT_PositiveSize2D"/> + <xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/> + <xsd:element name="docPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties" + minOccurs="0" maxOccurs="1"/> + <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_WrapText"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="bothSides"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="largest"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_WrapPath"> + <xsd:sequence> + <xsd:element name="start" type="a:CT_Point2D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="lineTo" type="a:CT_Point2D" minOccurs="2" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="edited" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_WrapNone"/> + <xsd:complexType name="CT_WrapSquare"> + <xsd:sequence> + <xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="wrapText" type="ST_WrapText" use="required"/> + <xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_WrapTight"> + <xsd:sequence> + <xsd:element name="wrapPolygon" type="CT_WrapPath" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="wrapText" type="ST_WrapText" use="required"/> + <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_WrapThrough"> + <xsd:sequence> + <xsd:element name="wrapPolygon" type="CT_WrapPath" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="wrapText" type="ST_WrapText" use="required"/> + <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_WrapTopBottom"> + <xsd:sequence> + <xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_WrapType"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="wrapNone" type="CT_WrapNone" minOccurs="1" maxOccurs="1"/> + <xsd:element name="wrapSquare" type="CT_WrapSquare" minOccurs="1" maxOccurs="1"/> + <xsd:element name="wrapTight" type="CT_WrapTight" minOccurs="1" maxOccurs="1"/> + <xsd:element name="wrapThrough" type="CT_WrapThrough" minOccurs="1" maxOccurs="1"/> + <xsd:element name="wrapTopAndBottom" type="CT_WrapTopBottom" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:sequence> + </xsd:group> + <xsd:simpleType name="ST_PositionOffset"> + <xsd:restriction base="xsd:int"/> + </xsd:simpleType> + <xsd:simpleType name="ST_AlignH"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="inside"/> + <xsd:enumeration value="outside"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_RelFromH"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="margin"/> + <xsd:enumeration value="page"/> + <xsd:enumeration value="column"/> + <xsd:enumeration value="character"/> + <xsd:enumeration value="leftMargin"/> + <xsd:enumeration value="rightMargin"/> + <xsd:enumeration value="insideMargin"/> + <xsd:enumeration value="outsideMargin"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PosH"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="align" type="ST_AlignH" minOccurs="1" maxOccurs="1"/> + <xsd:element name="posOffset" type="ST_PositionOffset" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="relativeFrom" type="ST_RelFromH" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_AlignV"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="top"/> + <xsd:enumeration value="bottom"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="inside"/> + <xsd:enumeration value="outside"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_RelFromV"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="margin"/> + <xsd:enumeration value="page"/> + <xsd:enumeration value="paragraph"/> + <xsd:enumeration value="line"/> + <xsd:enumeration value="topMargin"/> + <xsd:enumeration value="bottomMargin"/> + <xsd:enumeration value="insideMargin"/> + <xsd:enumeration value="outsideMargin"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PosV"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="align" type="ST_AlignV" minOccurs="1" maxOccurs="1"/> + <xsd:element name="posOffset" type="ST_PositionOffset" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="relativeFrom" type="ST_RelFromV" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Anchor"> + <xsd:sequence> + <xsd:element name="simplePos" type="a:CT_Point2D"/> + <xsd:element name="positionH" type="CT_PosH"/> + <xsd:element name="positionV" type="CT_PosV"/> + <xsd:element name="extent" type="a:CT_PositiveSize2D"/> + <xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/> + <xsd:group ref="EG_WrapType"/> + <xsd:element name="docPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties" + minOccurs="0" maxOccurs="1"/> + <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/> + <xsd:attribute name="simplePos" type="xsd:boolean"/> + <xsd:attribute name="relativeHeight" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="behindDoc" type="xsd:boolean" use="required"/> + <xsd:attribute name="locked" type="xsd:boolean" use="required"/> + <xsd:attribute name="layoutInCell" type="xsd:boolean" use="required"/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional"/> + <xsd:attribute name="allowOverlap" type="xsd:boolean" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TxbxContent"> + <xsd:group ref="w:EG_BlockLevelElts" minOccurs="1" maxOccurs="unbounded"/> + </xsd:complexType> + <xsd:complexType name="CT_TextboxInfo"> + <xsd:sequence> + <xsd:element name="txbxContent" type="CT_TxbxContent" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:unsignedShort" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_LinkedTextboxInformation"> + <xsd:sequence> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:unsignedShort" use="required"/> + <xsd:attribute name="seq" type="xsd:unsignedShort" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_WordprocessingShape"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="cNvCnPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1" + maxOccurs="1"/> + </xsd:choice> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="txbx" type="CT_TextboxInfo" minOccurs="1" maxOccurs="1"/> + <xsd:element name="linkedTxbx" type="CT_LinkedTextboxInformation" minOccurs="1" + maxOccurs="1"/> + </xsd:choice> + <xsd:element name="bodyPr" type="a:CT_TextBodyProperties" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="normalEastAsianFlow" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_GraphicFrame"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvFrPr" type="a:CT_NonVisualGraphicFrameProperties" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/> + <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_WordprocessingContentPartNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cNvContentPartPr" type="a:CT_NonVisualContentPartProperties" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_WordprocessingContentPart"> + <xsd:sequence> + <xsd:element name="nvContentPartPr" type="CT_WordprocessingContentPartNonVisual" minOccurs="0" maxOccurs="1"/> + <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="bwMode" type="a:ST_BlackWhiteMode" use="optional"/> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_WordprocessingGroup"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="wsp"/> + <xsd:element name="grpSp" type="CT_WordprocessingGroup"/> + <xsd:element name="graphicFrame" type="CT_GraphicFrame"/> + <xsd:element ref="dpct:pic"/> + <xsd:element name="contentPart" type="CT_WordprocessingContentPart"/> + </xsd:choice> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_WordprocessingCanvas"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="bg" type="a:CT_BackgroundFormatting" minOccurs="0" maxOccurs="1"/> + <xsd:element name="whole" type="a:CT_WholeE2oFormatting" minOccurs="0" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="wsp"/> + <xsd:element ref="dpct:pic"/> + <xsd:element name="contentPart" type="CT_WordprocessingContentPart"/> + <xsd:element ref="wgp"/> + <xsd:element name="graphicFrame" type="CT_GraphicFrame"/> + </xsd:choice> + <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="wpc" type="CT_WordprocessingCanvas"/> + <xsd:element name="wgp" type="CT_WordprocessingGroup"/> + <xsd:element name="wsp" type="CT_WordprocessingShape"/> + <xsd:element name="inline" type="CT_Inline"/> + <xsd:element name="anchor" type="CT_Anchor"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd new file mode 100755 index 0000000..14ef488 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd @@ -0,0 +1,1676 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/presentationml/2006/main" + xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" + xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + elementFormDefault="qualified" + targetNamespace="http://schemas.openxmlformats.org/presentationml/2006/main"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" + schemaLocation="dml-main.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:simpleType name="ST_TransitionSideDirectionType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="l"/> + <xsd:enumeration value="u"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="d"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TransitionCornerDirectionType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="lu"/> + <xsd:enumeration value="ru"/> + <xsd:enumeration value="ld"/> + <xsd:enumeration value="rd"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TransitionInOutDirectionType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="out"/> + <xsd:enumeration value="in"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SideDirectionTransition"> + <xsd:attribute name="dir" type="ST_TransitionSideDirectionType" use="optional" default="l"/> + </xsd:complexType> + <xsd:complexType name="CT_CornerDirectionTransition"> + <xsd:attribute name="dir" type="ST_TransitionCornerDirectionType" use="optional" default="lu"/> + </xsd:complexType> + <xsd:simpleType name="ST_TransitionEightDirectionType"> + <xsd:union memberTypes="ST_TransitionSideDirectionType ST_TransitionCornerDirectionType"/> + </xsd:simpleType> + <xsd:complexType name="CT_EightDirectionTransition"> + <xsd:attribute name="dir" type="ST_TransitionEightDirectionType" use="optional" default="l"/> + </xsd:complexType> + <xsd:complexType name="CT_OrientationTransition"> + <xsd:attribute name="dir" type="ST_Direction" use="optional" default="horz"/> + </xsd:complexType> + <xsd:complexType name="CT_InOutTransition"> + <xsd:attribute name="dir" type="ST_TransitionInOutDirectionType" use="optional" default="out"/> + </xsd:complexType> + <xsd:complexType name="CT_OptionalBlackTransition"> + <xsd:attribute name="thruBlk" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_SplitTransition"> + <xsd:attribute name="orient" type="ST_Direction" use="optional" default="horz"/> + <xsd:attribute name="dir" type="ST_TransitionInOutDirectionType" use="optional" default="out"/> + </xsd:complexType> + <xsd:complexType name="CT_WheelTransition"> + <xsd:attribute name="spokes" type="xsd:unsignedInt" use="optional" default="4"/> + </xsd:complexType> + <xsd:complexType name="CT_TransitionStartSoundAction"> + <xsd:sequence> + <xsd:element minOccurs="1" maxOccurs="1" name="snd" type="a:CT_EmbeddedWAVAudioFile"/> + </xsd:sequence> + <xsd:attribute name="loop" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_TransitionSoundAction"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="stSnd" type="CT_TransitionStartSoundAction"/> + <xsd:element name="endSnd" type="CT_Empty"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="ST_TransitionSpeed"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="slow"/> + <xsd:enumeration value="med"/> + <xsd:enumeration value="fast"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SlideTransition"> + <xsd:sequence> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="blinds" type="CT_OrientationTransition"/> + <xsd:element name="checker" type="CT_OrientationTransition"/> + <xsd:element name="circle" type="CT_Empty"/> + <xsd:element name="dissolve" type="CT_Empty"/> + <xsd:element name="comb" type="CT_OrientationTransition"/> + <xsd:element name="cover" type="CT_EightDirectionTransition"/> + <xsd:element name="cut" type="CT_OptionalBlackTransition"/> + <xsd:element name="diamond" type="CT_Empty"/> + <xsd:element name="fade" type="CT_OptionalBlackTransition"/> + <xsd:element name="newsflash" type="CT_Empty"/> + <xsd:element name="plus" type="CT_Empty"/> + <xsd:element name="pull" type="CT_EightDirectionTransition"/> + <xsd:element name="push" type="CT_SideDirectionTransition"/> + <xsd:element name="random" type="CT_Empty"/> + <xsd:element name="randomBar" type="CT_OrientationTransition"/> + <xsd:element name="split" type="CT_SplitTransition"/> + <xsd:element name="strips" type="CT_CornerDirectionTransition"/> + <xsd:element name="wedge" type="CT_Empty"/> + <xsd:element name="wheel" type="CT_WheelTransition"/> + <xsd:element name="wipe" type="CT_SideDirectionTransition"/> + <xsd:element name="zoom" type="CT_InOutTransition"/> + </xsd:choice> + <xsd:element name="sndAc" minOccurs="0" maxOccurs="1" type="CT_TransitionSoundAction"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="spd" type="ST_TransitionSpeed" use="optional" default="fast"/> + <xsd:attribute name="advClick" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="advTm" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TLTimeIndefinite"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="indefinite"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLTime"> + <xsd:union memberTypes="xsd:unsignedInt ST_TLTimeIndefinite"/> + </xsd:simpleType> + <xsd:simpleType name="ST_TLTimeNodeID"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:complexType name="CT_TLIterateIntervalTime"> + <xsd:attribute name="val" type="ST_TLTime" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLIterateIntervalPercentage"> + <xsd:attribute name="val" type="a:ST_PositivePercentage" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_IterateType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="el"/> + <xsd:enumeration value="wd"/> + <xsd:enumeration value="lt"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLIterateData"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="tmAbs" type="CT_TLIterateIntervalTime"/> + <xsd:element name="tmPct" type="CT_TLIterateIntervalPercentage"/> + </xsd:choice> + <xsd:attribute name="type" type="ST_IterateType" use="optional" default="el"/> + <xsd:attribute name="backwards" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_TLSubShapeId"> + <xsd:attribute name="spid" type="a:ST_ShapeID" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLTextTargetElement"> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="charRg" type="CT_IndexRange"/> + <xsd:element name="pRg" type="CT_IndexRange"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="ST_TLChartSubelementType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="gridLegend"/> + <xsd:enumeration value="series"/> + <xsd:enumeration value="category"/> + <xsd:enumeration value="ptInSeries"/> + <xsd:enumeration value="ptInCategory"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLOleChartTargetElement"> + <xsd:attribute name="type" type="ST_TLChartSubelementType" use="required"/> + <xsd:attribute name="lvl" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_TLShapeTargetElement"> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="bg" type="CT_Empty"/> + <xsd:element name="subSp" type="CT_TLSubShapeId"/> + <xsd:element name="oleChartEl" type="CT_TLOleChartTargetElement"/> + <xsd:element name="txEl" type="CT_TLTextTargetElement"/> + <xsd:element name="graphicEl" type="a:CT_AnimationElementChoice"/> + </xsd:choice> + <xsd:attribute name="spid" type="a:ST_DrawingElementId" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLTimeTargetElement"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="sldTgt" type="CT_Empty"/> + <xsd:element name="sndTgt" type="a:CT_EmbeddedWAVAudioFile"/> + <xsd:element name="spTgt" type="CT_TLShapeTargetElement"/> + <xsd:element name="inkTgt" type="CT_TLSubShapeId"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_TLTriggerTimeNodeID"> + <xsd:attribute name="val" type="ST_TLTimeNodeID" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TLTriggerRuntimeNode"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="first"/> + <xsd:enumeration value="last"/> + <xsd:enumeration value="all"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLTriggerRuntimeNode"> + <xsd:attribute name="val" type="ST_TLTriggerRuntimeNode" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TLTriggerEvent"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="onBegin"/> + <xsd:enumeration value="onEnd"/> + <xsd:enumeration value="begin"/> + <xsd:enumeration value="end"/> + <xsd:enumeration value="onClick"/> + <xsd:enumeration value="onDblClick"/> + <xsd:enumeration value="onMouseOver"/> + <xsd:enumeration value="onMouseOut"/> + <xsd:enumeration value="onNext"/> + <xsd:enumeration value="onPrev"/> + <xsd:enumeration value="onStopAudio"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLTimeCondition"> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="tgtEl" type="CT_TLTimeTargetElement"/> + <xsd:element name="tn" type="CT_TLTriggerTimeNodeID"/> + <xsd:element name="rtn" type="CT_TLTriggerRuntimeNode"/> + </xsd:choice> + <xsd:attribute name="evt" use="optional" type="ST_TLTriggerEvent"/> + <xsd:attribute name="delay" type="ST_TLTime" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TLTimeConditionList"> + <xsd:sequence> + <xsd:element name="cond" type="CT_TLTimeCondition" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TimeNodeList"> + <xsd:choice minOccurs="1" maxOccurs="unbounded"> + <xsd:element name="par" type="CT_TLTimeNodeParallel"/> + <xsd:element name="seq" type="CT_TLTimeNodeSequence"/> + <xsd:element name="excl" type="CT_TLTimeNodeExclusive"/> + <xsd:element name="anim" type="CT_TLAnimateBehavior"/> + <xsd:element name="animClr" type="CT_TLAnimateColorBehavior"/> + <xsd:element name="animEffect" type="CT_TLAnimateEffectBehavior"/> + <xsd:element name="animMotion" type="CT_TLAnimateMotionBehavior"/> + <xsd:element name="animRot" type="CT_TLAnimateRotationBehavior"/> + <xsd:element name="animScale" type="CT_TLAnimateScaleBehavior"/> + <xsd:element name="cmd" type="CT_TLCommandBehavior"/> + <xsd:element name="set" type="CT_TLSetBehavior"/> + <xsd:element name="audio" type="CT_TLMediaNodeAudio"/> + <xsd:element name="video" type="CT_TLMediaNodeVideo"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="ST_TLTimeNodePresetClassType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="entr"/> + <xsd:enumeration value="exit"/> + <xsd:enumeration value="emph"/> + <xsd:enumeration value="path"/> + <xsd:enumeration value="verb"/> + <xsd:enumeration value="mediacall"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLTimeNodeRestartType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="always"/> + <xsd:enumeration value="whenNotActive"/> + <xsd:enumeration value="never"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLTimeNodeFillType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="remove"/> + <xsd:enumeration value="freeze"/> + <xsd:enumeration value="hold"/> + <xsd:enumeration value="transition"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLTimeNodeSyncType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="canSlip"/> + <xsd:enumeration value="locked"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLTimeNodeMasterRelation"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="sameClick"/> + <xsd:enumeration value="lastClick"/> + <xsd:enumeration value="nextClick"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLTimeNodeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="clickEffect"/> + <xsd:enumeration value="withEffect"/> + <xsd:enumeration value="afterEffect"/> + <xsd:enumeration value="mainSeq"/> + <xsd:enumeration value="interactiveSeq"/> + <xsd:enumeration value="clickPar"/> + <xsd:enumeration value="withGroup"/> + <xsd:enumeration value="afterGroup"/> + <xsd:enumeration value="tmRoot"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLCommonTimeNodeData"> + <xsd:sequence> + <xsd:element name="stCondLst" type="CT_TLTimeConditionList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="endCondLst" type="CT_TLTimeConditionList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="endSync" type="CT_TLTimeCondition" minOccurs="0" maxOccurs="1"/> + <xsd:element name="iterate" type="CT_TLIterateData" minOccurs="0" maxOccurs="1"/> + <xsd:element name="childTnLst" type="CT_TimeNodeList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="subTnLst" type="CT_TimeNodeList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="ST_TLTimeNodeID" use="optional"/> + <xsd:attribute name="presetID" type="xsd:int" use="optional"/> + <xsd:attribute name="presetClass" type="ST_TLTimeNodePresetClassType" use="optional"/> + <xsd:attribute name="presetSubtype" type="xsd:int" use="optional"/> + <xsd:attribute name="dur" type="ST_TLTime" use="optional"/> + <xsd:attribute name="repeatCount" type="ST_TLTime" use="optional" default="1000"/> + <xsd:attribute name="repeatDur" type="ST_TLTime" use="optional"/> + <xsd:attribute name="spd" type="a:ST_Percentage" use="optional" default="100%"/> + <xsd:attribute name="accel" type="a:ST_PositiveFixedPercentage" use="optional" default="0%"/> + <xsd:attribute name="decel" type="a:ST_PositiveFixedPercentage" use="optional" default="0%"/> + <xsd:attribute name="autoRev" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="restart" type="ST_TLTimeNodeRestartType" use="optional"/> + <xsd:attribute name="fill" type="ST_TLTimeNodeFillType" use="optional"/> + <xsd:attribute name="syncBehavior" type="ST_TLTimeNodeSyncType" use="optional"/> + <xsd:attribute name="tmFilter" type="xsd:string" use="optional"/> + <xsd:attribute name="evtFilter" type="xsd:string" use="optional"/> + <xsd:attribute name="display" type="xsd:boolean" use="optional"/> + <xsd:attribute name="masterRel" type="ST_TLTimeNodeMasterRelation" use="optional"/> + <xsd:attribute name="bldLvl" type="xsd:int" use="optional"/> + <xsd:attribute name="grpId" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="afterEffect" type="xsd:boolean" use="optional"/> + <xsd:attribute name="nodeType" type="ST_TLTimeNodeType" use="optional"/> + <xsd:attribute name="nodePh" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TLTimeNodeParallel"> + <xsd:sequence> + <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TLNextActionType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="seek"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLPreviousActionType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="skipTimed"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLTimeNodeSequence"> + <xsd:sequence> + <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="prevCondLst" type="CT_TLTimeConditionList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="nextCondLst" type="CT_TLTimeConditionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="concurrent" type="xsd:boolean" use="optional"/> + <xsd:attribute name="prevAc" type="ST_TLPreviousActionType" use="optional"/> + <xsd:attribute name="nextAc" type="ST_TLNextActionType" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TLTimeNodeExclusive"> + <xsd:sequence> + <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TLBehaviorAttributeNameList"> + <xsd:sequence> + <xsd:element name="attrName" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TLBehaviorAdditiveType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="base"/> + <xsd:enumeration value="sum"/> + <xsd:enumeration value="repl"/> + <xsd:enumeration value="mult"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLBehaviorAccumulateType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="always"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLBehaviorTransformType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="pt"/> + <xsd:enumeration value="img"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLBehaviorOverrideType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="normal"/> + <xsd:enumeration value="childStyle"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLCommonBehaviorData"> + <xsd:sequence> + <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tgtEl" type="CT_TLTimeTargetElement" minOccurs="1" maxOccurs="1"/> + <xsd:element name="attrNameLst" type="CT_TLBehaviorAttributeNameList" minOccurs="0" + maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="additive" type="ST_TLBehaviorAdditiveType" use="optional"/> + <xsd:attribute name="accumulate" type="ST_TLBehaviorAccumulateType" use="optional"/> + <xsd:attribute name="xfrmType" type="ST_TLBehaviorTransformType" use="optional"/> + <xsd:attribute name="from" type="xsd:string" use="optional"/> + <xsd:attribute name="to" type="xsd:string" use="optional"/> + <xsd:attribute name="by" type="xsd:string" use="optional"/> + <xsd:attribute name="rctx" type="xsd:string" use="optional"/> + <xsd:attribute name="override" type="ST_TLBehaviorOverrideType" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TLAnimVariantBooleanVal"> + <xsd:attribute name="val" type="xsd:boolean" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLAnimVariantIntegerVal"> + <xsd:attribute name="val" type="xsd:int" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLAnimVariantFloatVal"> + <xsd:attribute name="val" type="xsd:float" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLAnimVariantStringVal"> + <xsd:attribute name="val" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLAnimVariant"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="boolVal" type="CT_TLAnimVariantBooleanVal"/> + <xsd:element name="intVal" type="CT_TLAnimVariantIntegerVal"/> + <xsd:element name="fltVal" type="CT_TLAnimVariantFloatVal"/> + <xsd:element name="strVal" type="CT_TLAnimVariantStringVal"/> + <xsd:element name="clrVal" type="a:CT_Color"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="ST_TLTimeAnimateValueTime"> + <xsd:union memberTypes="a:ST_PositiveFixedPercentage ST_TLTimeIndefinite"/> + </xsd:simpleType> + <xsd:complexType name="CT_TLTimeAnimateValue"> + <xsd:sequence> + <xsd:element name="val" type="CT_TLAnimVariant" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="tm" type="ST_TLTimeAnimateValueTime" use="optional" default="indefinite"/> + <xsd:attribute name="fmla" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_TLTimeAnimateValueList"> + <xsd:sequence> + <xsd:element name="tav" type="CT_TLTimeAnimateValue" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TLAnimateBehaviorCalcMode"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="discrete"/> + <xsd:enumeration value="lin"/> + <xsd:enumeration value="fmla"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLAnimateBehaviorValueType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="str"/> + <xsd:enumeration value="num"/> + <xsd:enumeration value="clr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLAnimateBehavior"> + <xsd:sequence> + <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tavLst" type="CT_TLTimeAnimateValueList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="by" type="xsd:string" use="optional"/> + <xsd:attribute name="from" type="xsd:string" use="optional"/> + <xsd:attribute name="to" type="xsd:string" use="optional"/> + <xsd:attribute name="calcmode" type="ST_TLAnimateBehaviorCalcMode" use="optional"/> + <xsd:attribute name="valueType" type="ST_TLAnimateBehaviorValueType" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TLByRgbColorTransform"> + <xsd:attribute name="r" type="a:ST_FixedPercentage" use="required"/> + <xsd:attribute name="g" type="a:ST_FixedPercentage" use="required"/> + <xsd:attribute name="b" type="a:ST_FixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLByHslColorTransform"> + <xsd:attribute name="h" type="a:ST_Angle" use="required"/> + <xsd:attribute name="s" type="a:ST_FixedPercentage" use="required"/> + <xsd:attribute name="l" type="a:ST_FixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLByAnimateColorTransform"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="rgb" type="CT_TLByRgbColorTransform"/> + <xsd:element name="hsl" type="CT_TLByHslColorTransform"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="ST_TLAnimateColorSpace"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="rgb"/> + <xsd:enumeration value="hsl"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLAnimateColorDirection"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="cw"/> + <xsd:enumeration value="ccw"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLAnimateColorBehavior"> + <xsd:sequence> + <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="by" type="CT_TLByAnimateColorTransform" minOccurs="0" maxOccurs="1"/> + <xsd:element name="from" type="a:CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="to" type="a:CT_Color" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="clrSpc" type="ST_TLAnimateColorSpace" use="optional"/> + <xsd:attribute name="dir" type="ST_TLAnimateColorDirection" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TLAnimateEffectTransition"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="in"/> + <xsd:enumeration value="out"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLAnimateEffectBehavior"> + <xsd:sequence> + <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="progress" type="CT_TLAnimVariant" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="transition" type="ST_TLAnimateEffectTransition" default="in" use="optional"/> + <xsd:attribute name="filter" type="xsd:string" use="optional"/> + <xsd:attribute name="prLst" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TLAnimateMotionBehaviorOrigin"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="parent"/> + <xsd:enumeration value="layout"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TLAnimateMotionPathEditMode"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="relative"/> + <xsd:enumeration value="fixed"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLPoint"> + <xsd:attribute name="x" type="a:ST_Percentage" use="required"/> + <xsd:attribute name="y" type="a:ST_Percentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TLAnimateMotionBehavior"> + <xsd:sequence> + <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="by" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/> + <xsd:element name="from" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/> + <xsd:element name="to" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rCtr" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="origin" type="ST_TLAnimateMotionBehaviorOrigin" use="optional"/> + <xsd:attribute name="path" type="xsd:string" use="optional"/> + <xsd:attribute name="pathEditMode" type="ST_TLAnimateMotionPathEditMode" use="optional"/> + <xsd:attribute name="rAng" type="a:ST_Angle" use="optional"/> + <xsd:attribute name="ptsTypes" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TLAnimateRotationBehavior"> + <xsd:sequence> + <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="by" type="a:ST_Angle" use="optional"/> + <xsd:attribute name="from" type="a:ST_Angle" use="optional"/> + <xsd:attribute name="to" type="a:ST_Angle" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TLAnimateScaleBehavior"> + <xsd:sequence> + <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="by" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/> + <xsd:element name="from" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/> + <xsd:element name="to" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="zoomContents" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TLCommandType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="evt"/> + <xsd:enumeration value="call"/> + <xsd:enumeration value="verb"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLCommandBehavior"> + <xsd:sequence> + <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute type="ST_TLCommandType" name="type" use="optional"/> + <xsd:attribute name="cmd" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TLSetBehavior"> + <xsd:sequence> + <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="to" type="CT_TLAnimVariant" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TLCommonMediaNodeData"> + <xsd:sequence> + <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tgtEl" type="CT_TLTimeTargetElement" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="vol" type="a:ST_PositiveFixedPercentage" default="50%" use="optional"/> + <xsd:attribute name="mute" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="numSld" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="showWhenStopped" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_TLMediaNodeAudio"> + <xsd:sequence> + <xsd:element name="cMediaNode" type="CT_TLCommonMediaNodeData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="isNarration" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_TLMediaNodeVideo"> + <xsd:sequence> + <xsd:element name="cMediaNode" type="CT_TLCommonMediaNodeData" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="fullScrn" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:attributeGroup name="AG_TLBuild"> + <xsd:attribute name="spid" type="a:ST_DrawingElementId" use="required"/> + <xsd:attribute name="grpId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="uiExpand" type="xsd:boolean" use="optional" default="false"/> + </xsd:attributeGroup> + <xsd:complexType name="CT_TLTemplate"> + <xsd:sequence> + <xsd:element name="tnLst" type="CT_TimeNodeList" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="lvl" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_TLTemplateList"> + <xsd:sequence> + <xsd:element name="tmpl" type="CT_TLTemplate" minOccurs="0" maxOccurs="9"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TLParaBuildType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="allAtOnce"/> + <xsd:enumeration value="p"/> + <xsd:enumeration value="cust"/> + <xsd:enumeration value="whole"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLBuildParagraph"> + <xsd:sequence> + <xsd:element name="tmplLst" type="CT_TLTemplateList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_TLBuild"/> + <xsd:attribute name="build" type="ST_TLParaBuildType" use="optional" default="whole"/> + <xsd:attribute name="bldLvl" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="animBg" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="autoUpdateAnimBg" type="xsd:boolean" default="true" use="optional"/> + <xsd:attribute name="rev" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="advAuto" type="ST_TLTime" use="optional" default="indefinite"/> + </xsd:complexType> + <xsd:simpleType name="ST_TLDiagramBuildType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="whole"/> + <xsd:enumeration value="depthByNode"/> + <xsd:enumeration value="depthByBranch"/> + <xsd:enumeration value="breadthByNode"/> + <xsd:enumeration value="breadthByLvl"/> + <xsd:enumeration value="cw"/> + <xsd:enumeration value="cwIn"/> + <xsd:enumeration value="cwOut"/> + <xsd:enumeration value="ccw"/> + <xsd:enumeration value="ccwIn"/> + <xsd:enumeration value="ccwOut"/> + <xsd:enumeration value="inByRing"/> + <xsd:enumeration value="outByRing"/> + <xsd:enumeration value="up"/> + <xsd:enumeration value="down"/> + <xsd:enumeration value="allAtOnce"/> + <xsd:enumeration value="cust"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLBuildDiagram"> + <xsd:attributeGroup ref="AG_TLBuild"/> + <xsd:attribute name="bld" type="ST_TLDiagramBuildType" use="optional" default="whole"/> + </xsd:complexType> + <xsd:simpleType name="ST_TLOleChartBuildType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="allAtOnce"/> + <xsd:enumeration value="series"/> + <xsd:enumeration value="category"/> + <xsd:enumeration value="seriesEl"/> + <xsd:enumeration value="categoryEl"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TLOleBuildChart"> + <xsd:attributeGroup ref="AG_TLBuild"/> + <xsd:attribute name="bld" type="ST_TLOleChartBuildType" use="optional" default="allAtOnce"/> + <xsd:attribute name="animBg" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_TLGraphicalObjectBuild"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="bldAsOne" type="CT_Empty"/> + <xsd:element name="bldSub" type="a:CT_AnimationGraphicalObjectBuildProperties"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_TLBuild"/> + </xsd:complexType> + <xsd:complexType name="CT_BuildList"> + <xsd:choice minOccurs="1" maxOccurs="unbounded"> + <xsd:element name="bldP" type="CT_TLBuildParagraph"/> + <xsd:element name="bldDgm" type="CT_TLBuildDiagram"/> + <xsd:element name="bldOleChart" type="CT_TLOleBuildChart"/> + <xsd:element name="bldGraphic" type="CT_TLGraphicalObjectBuild"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_SlideTiming"> + <xsd:sequence> + <xsd:element name="tnLst" type="CT_TimeNodeList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bldLst" type="CT_BuildList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Empty"/> + <xsd:simpleType name="ST_Name"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_Direction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="horz"/> + <xsd:enumeration value="vert"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Index"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:complexType name="CT_IndexRange"> + <xsd:attribute name="st" type="ST_Index" use="required"/> + <xsd:attribute name="end" type="ST_Index" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SlideRelationshipListEntry"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SlideRelationshipList"> + <xsd:sequence> + <xsd:element name="sld" type="CT_SlideRelationshipListEntry" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CustomShowId"> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:group name="EG_SlideListChoice"> + <xsd:choice> + <xsd:element name="sldAll" type="CT_Empty"/> + <xsd:element name="sldRg" type="CT_IndexRange"/> + <xsd:element name="custShow" type="CT_CustomShowId"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_CustomerData"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TagsData"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomerDataList"> + <xsd:sequence minOccurs="0" maxOccurs="1"> + <xsd:element name="custData" type="CT_CustomerData" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="tags" type="CT_TagsData" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Extension"> + <xsd:sequence> + <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="uri" type="xsd:token" use="required"/> + </xsd:complexType> + <xsd:group name="EG_ExtensionList"> + <xsd:sequence> + <xsd:element name="ext" type="CT_Extension" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_ExtensionList"> + <xsd:sequence> + <xsd:group ref="EG_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ExtensionListModify"> + <xsd:sequence> + <xsd:group ref="EG_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="mod" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CommentAuthor"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="name" type="ST_Name" use="required"/> + <xsd:attribute name="initials" type="ST_Name" use="required"/> + <xsd:attribute name="lastIdx" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="clrIdx" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CommentAuthorList"> + <xsd:sequence> + <xsd:element name="cmAuthor" type="CT_CommentAuthor" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="cmAuthorLst" type="CT_CommentAuthorList"/> + <xsd:complexType name="CT_Comment"> + <xsd:sequence> + <xsd:element name="pos" type="a:CT_Point2D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="text" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="authorId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="dt" type="xsd:dateTime" use="optional"/> + <xsd:attribute name="idx" type="ST_Index" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CommentList"> + <xsd:sequence> + <xsd:element name="cm" type="CT_Comment" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="cmLst" type="CT_CommentList"/> + <xsd:attributeGroup name="AG_Ole"> + <xsd:attribute name="spid" type="a:ST_ShapeID" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="showAsIcon" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute ref="r:id" use="optional"/> + <xsd:attribute name="imgW" type="a:ST_PositiveCoordinate32" use="optional"/> + <xsd:attribute name="imgH" type="a:ST_PositiveCoordinate32" use="optional"/> + </xsd:attributeGroup> + <xsd:simpleType name="ST_OleObjectFollowColorScheme"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="full"/> + <xsd:enumeration value="textAndBackground"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_OleObjectEmbed"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="followColorScheme" type="ST_OleObjectFollowColorScheme" use="optional" + default="none"/> + </xsd:complexType> + <xsd:complexType name="CT_OleObjectLink"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="updateAutomatic" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_OleObject"> + <xsd:sequence> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="embed" type="CT_OleObjectEmbed"/> + <xsd:element name="link" type="CT_OleObjectLink"/> + </xsd:choice> + <xsd:element name="pic" type="CT_Picture" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Ole"/> + <xsd:attribute name="progId" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:element name="oleObj" type="CT_OleObject"/> + <xsd:complexType name="CT_Control"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pic" type="CT_Picture" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Ole"/> + </xsd:complexType> + <xsd:complexType name="CT_ControlList"> + <xsd:sequence> + <xsd:element name="control" type="CT_Control" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_SlideId"> + <xsd:restriction base="xsd:unsignedInt"> + <xsd:minInclusive value="256"/> + <xsd:maxExclusive value="2147483648"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SlideIdListEntry"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="ST_SlideId" use="required"/> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SlideIdList"> + <xsd:sequence> + <xsd:element name="sldId" type="CT_SlideIdListEntry" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_SlideMasterId"> + <xsd:restriction base="xsd:unsignedInt"> + <xsd:minInclusive value="2147483648"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SlideMasterIdListEntry"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="ST_SlideMasterId" use="optional"/> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SlideMasterIdList"> + <xsd:sequence> + <xsd:element name="sldMasterId" type="CT_SlideMasterIdListEntry" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NotesMasterIdListEntry"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_NotesMasterIdList"> + <xsd:sequence> + <xsd:element name="notesMasterId" type="CT_NotesMasterIdListEntry" minOccurs="0" maxOccurs="1" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_HandoutMasterIdListEntry"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_HandoutMasterIdList"> + <xsd:sequence> + <xsd:element name="handoutMasterId" type="CT_HandoutMasterIdListEntry" minOccurs="0" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_EmbeddedFontDataId"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_EmbeddedFontListEntry"> + <xsd:sequence> + <xsd:element name="font" type="a:CT_TextFont" minOccurs="1" maxOccurs="1"/> + <xsd:element name="regular" type="CT_EmbeddedFontDataId" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bold" type="CT_EmbeddedFontDataId" minOccurs="0" maxOccurs="1"/> + <xsd:element name="italic" type="CT_EmbeddedFontDataId" minOccurs="0" maxOccurs="1"/> + <xsd:element name="boldItalic" type="CT_EmbeddedFontDataId" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_EmbeddedFontList"> + <xsd:sequence> + <xsd:element name="embeddedFont" type="CT_EmbeddedFontListEntry" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SmartTags"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomShow"> + <xsd:sequence> + <xsd:element name="sldLst" type="CT_SlideRelationshipList" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="ST_Name" use="required"/> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomShowList"> + <xsd:sequence> + <xsd:element name="custShow" type="CT_CustomShow" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_PhotoAlbumLayout"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="fitToSlide"/> + <xsd:enumeration value="1pic"/> + <xsd:enumeration value="2pic"/> + <xsd:enumeration value="4pic"/> + <xsd:enumeration value="1picTitle"/> + <xsd:enumeration value="2picTitle"/> + <xsd:enumeration value="4picTitle"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PhotoAlbumFrameShape"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="frameStyle1"/> + <xsd:enumeration value="frameStyle2"/> + <xsd:enumeration value="frameStyle3"/> + <xsd:enumeration value="frameStyle4"/> + <xsd:enumeration value="frameStyle5"/> + <xsd:enumeration value="frameStyle6"/> + <xsd:enumeration value="frameStyle7"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PhotoAlbum"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="bw" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showCaptions" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="layout" type="ST_PhotoAlbumLayout" use="optional" default="fitToSlide"/> + <xsd:attribute name="frame" type="ST_PhotoAlbumFrameShape" use="optional" default="frameStyle1" + /> + </xsd:complexType> + <xsd:simpleType name="ST_SlideSizeCoordinate"> + <xsd:restriction base="a:ST_PositiveCoordinate32"> + <xsd:minInclusive value="914400"/> + <xsd:maxInclusive value="51206400"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_SlideSizeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="screen4x3"/> + <xsd:enumeration value="letter"/> + <xsd:enumeration value="A4"/> + <xsd:enumeration value="35mm"/> + <xsd:enumeration value="overhead"/> + <xsd:enumeration value="banner"/> + <xsd:enumeration value="custom"/> + <xsd:enumeration value="ledger"/> + <xsd:enumeration value="A3"/> + <xsd:enumeration value="B4ISO"/> + <xsd:enumeration value="B5ISO"/> + <xsd:enumeration value="B4JIS"/> + <xsd:enumeration value="B5JIS"/> + <xsd:enumeration value="hagakiCard"/> + <xsd:enumeration value="screen16x9"/> + <xsd:enumeration value="screen16x10"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SlideSize"> + <xsd:attribute name="cx" type="ST_SlideSizeCoordinate" use="required"/> + <xsd:attribute name="cy" type="ST_SlideSizeCoordinate" use="required"/> + <xsd:attribute name="type" type="ST_SlideSizeType" use="optional" default="custom"/> + </xsd:complexType> + <xsd:complexType name="CT_Kinsoku"> + <xsd:attribute name="lang" type="xsd:string" use="optional"/> + <xsd:attribute name="invalStChars" type="xsd:string" use="required"/> + <xsd:attribute name="invalEndChars" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_BookmarkIdSeed"> + <xsd:restriction base="xsd:unsignedInt"> + <xsd:minInclusive value="1"/> + <xsd:maxExclusive value="2147483648"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ModifyVerifier"> + <xsd:attribute name="algorithmName" type="xsd:string" use="optional"/> + <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="spinValue" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="cryptProviderType" type="s:ST_CryptProv" use="optional"/> + <xsd:attribute name="cryptAlgorithmClass" type="s:ST_AlgClass" use="optional"/> + <xsd:attribute name="cryptAlgorithmType" type="s:ST_AlgType" use="optional"/> + <xsd:attribute name="cryptAlgorithmSid" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="saltData" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="hashData" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="cryptProvider" type="xsd:string" use="optional"/> + <xsd:attribute name="algIdExt" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="algIdExtSource" type="xsd:string" use="optional"/> + <xsd:attribute name="cryptProviderTypeExt" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="cryptProviderTypeExtSource" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Presentation"> + <xsd:sequence> + <xsd:element name="sldMasterIdLst" type="CT_SlideMasterIdList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="notesMasterIdLst" type="CT_NotesMasterIdList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="handoutMasterIdLst" type="CT_HandoutMasterIdList" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="sldIdLst" type="CT_SlideIdList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sldSz" type="CT_SlideSize" minOccurs="0" maxOccurs="1"/> + <xsd:element name="notesSz" type="a:CT_PositiveSize2D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="smartTags" type="CT_SmartTags" minOccurs="0" maxOccurs="1"/> + <xsd:element name="embeddedFontLst" type="CT_EmbeddedFontList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="custShowLst" type="CT_CustomShowList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="photoAlbum" type="CT_PhotoAlbum" minOccurs="0" maxOccurs="1"/> + <xsd:element name="custDataLst" type="CT_CustomerDataList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="kinsoku" type="CT_Kinsoku" minOccurs="0"/> + <xsd:element name="defaultTextStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="modifyVerifier" type="CT_ModifyVerifier" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="serverZoom" type="a:ST_Percentage" use="optional" default="50%"/> + <xsd:attribute name="firstSlideNum" type="xsd:int" use="optional" default="1"/> + <xsd:attribute name="showSpecialPlsOnTitleSld" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="rtl" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="removePersonalInfoOnSave" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="compatMode" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="strictFirstAndLastChars" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="embedTrueTypeFonts" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="saveSubsetFonts" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="autoCompressPictures" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="bookmarkIdSeed" type="ST_BookmarkIdSeed" use="optional" default="1"/> + <xsd:attribute name="conformance" type="s:ST_ConformanceClass"/> + </xsd:complexType> + <xsd:element name="presentation" type="CT_Presentation"/> + <xsd:complexType name="CT_HtmlPublishProperties"> + <xsd:sequence> + <xsd:group ref="EG_SlideListChoice" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="showSpeakerNotes" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="target" type="xsd:string" use="optional"/> + <xsd:attribute name="title" type="xsd:string" use="optional" default=""/> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_WebColorType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="browser"/> + <xsd:enumeration value="presentationText"/> + <xsd:enumeration value="presentationAccent"/> + <xsd:enumeration value="whiteTextOnBlack"/> + <xsd:enumeration value="blackTextOnWhite"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_WebScreenSize"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="544x376"/> + <xsd:enumeration value="640x480"/> + <xsd:enumeration value="720x512"/> + <xsd:enumeration value="800x600"/> + <xsd:enumeration value="1024x768"/> + <xsd:enumeration value="1152x882"/> + <xsd:enumeration value="1152x900"/> + <xsd:enumeration value="1280x1024"/> + <xsd:enumeration value="1600x1200"/> + <xsd:enumeration value="1800x1400"/> + <xsd:enumeration value="1920x1200"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_WebEncoding"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:complexType name="CT_WebProperties"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="showAnimation" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="resizeGraphics" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="allowPng" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="relyOnVml" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="organizeInFolders" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="useLongFilenames" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="imgSz" type="ST_WebScreenSize" use="optional" default="800x600"/> + <xsd:attribute name="encoding" type="ST_WebEncoding" use="optional" default=""/> + <xsd:attribute name="clr" type="ST_WebColorType" use="optional" default="whiteTextOnBlack"/> + </xsd:complexType> + <xsd:simpleType name="ST_PrintWhat"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="slides"/> + <xsd:enumeration value="handouts1"/> + <xsd:enumeration value="handouts2"/> + <xsd:enumeration value="handouts3"/> + <xsd:enumeration value="handouts4"/> + <xsd:enumeration value="handouts6"/> + <xsd:enumeration value="handouts9"/> + <xsd:enumeration value="notes"/> + <xsd:enumeration value="outline"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PrintColorMode"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="bw"/> + <xsd:enumeration value="gray"/> + <xsd:enumeration value="clr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PrintProperties"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="prnWhat" type="ST_PrintWhat" use="optional" default="slides"/> + <xsd:attribute name="clrMode" type="ST_PrintColorMode" use="optional" default="clr"/> + <xsd:attribute name="hiddenSlides" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="scaleToFitPaper" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="frameSlides" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ShowInfoBrowse"> + <xsd:attribute name="showScrollbar" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_ShowInfoKiosk"> + <xsd:attribute name="restart" type="xsd:unsignedInt" use="optional" default="300000"/> + </xsd:complexType> + <xsd:group name="EG_ShowType"> + <xsd:choice> + <xsd:element name="present" type="CT_Empty"/> + <xsd:element name="browse" type="CT_ShowInfoBrowse"/> + <xsd:element name="kiosk" type="CT_ShowInfoKiosk"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_ShowProperties"> + <xsd:sequence minOccurs="0" maxOccurs="1"> + <xsd:group ref="EG_ShowType" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_SlideListChoice" minOccurs="0" maxOccurs="1"/> + <xsd:element name="penClr" type="a:CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="loop" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showNarration" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showAnimation" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="useTimings" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_PresentationProperties"> + <xsd:sequence> + <xsd:element name="htmlPubPr" type="CT_HtmlPublishProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="webPr" type="CT_WebProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="prnPr" type="CT_PrintProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="showPr" type="CT_ShowProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="clrMru" type="a:CT_ColorMRU" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="presentationPr" type="CT_PresentationProperties"/> + <xsd:complexType name="CT_HeaderFooter"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="sldNum" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="hdr" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="ftr" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="dt" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:simpleType name="ST_PlaceholderType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="title"/> + <xsd:enumeration value="body"/> + <xsd:enumeration value="ctrTitle"/> + <xsd:enumeration value="subTitle"/> + <xsd:enumeration value="dt"/> + <xsd:enumeration value="sldNum"/> + <xsd:enumeration value="ftr"/> + <xsd:enumeration value="hdr"/> + <xsd:enumeration value="obj"/> + <xsd:enumeration value="chart"/> + <xsd:enumeration value="tbl"/> + <xsd:enumeration value="clipArt"/> + <xsd:enumeration value="dgm"/> + <xsd:enumeration value="media"/> + <xsd:enumeration value="sldImg"/> + <xsd:enumeration value="pic"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PlaceholderSize"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="full"/> + <xsd:enumeration value="half"/> + <xsd:enumeration value="quarter"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Placeholder"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_PlaceholderType" use="optional" default="obj"/> + <xsd:attribute name="orient" type="ST_Direction" use="optional" default="horz"/> + <xsd:attribute name="sz" type="ST_PlaceholderSize" use="optional" default="full"/> + <xsd:attribute name="idx" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="hasCustomPrompt" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ApplicationNonVisualDrawingProps"> + <xsd:sequence> + <xsd:element name="ph" type="CT_Placeholder" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="a:EG_Media" minOccurs="0" maxOccurs="1"/> + <xsd:element name="custDataLst" type="CT_CustomerDataList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="isPhoto" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="userDrawn" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ShapeNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Shape"> + <xsd:sequence> + <xsd:element name="nvSpPr" type="CT_ShapeNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txBody" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="useBgFill" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ConnectorNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvCxnSpPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Connector"> + <xsd:sequence> + <xsd:element name="nvCxnSpPr" type="CT_ConnectorNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PictureNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Picture"> + <xsd:sequence> + <xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GraphicalObjectFrameNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties" + minOccurs="1" maxOccurs="1"/> + <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GraphicalObjectFrame"> + <xsd:sequence> + <xsd:element name="nvGraphicFramePr" type="CT_GraphicalObjectFrameNonVisual" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/> + <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="bwMode" type="a:ST_BlackWhiteMode" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupShapeNonVisual"> + <xsd:sequence> + <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1" + maxOccurs="1"/> + <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GroupShape"> + <xsd:sequence> + <xsd:element name="nvGrpSpPr" type="CT_GroupShapeNonVisual" minOccurs="1" maxOccurs="1"/> + <xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="sp" type="CT_Shape"/> + <xsd:element name="grpSp" type="CT_GroupShape"/> + <xsd:element name="graphicFrame" type="CT_GraphicalObjectFrame"/> + <xsd:element name="cxnSp" type="CT_Connector"/> + <xsd:element name="pic" type="CT_Picture"/> + <xsd:element name="contentPart" type="CT_Rel"/> + </xsd:choice> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Rel"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:group name="EG_TopLevelSlide"> + <xsd:sequence> + <xsd:element name="clrMap" type="a:CT_ColorMapping" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:group name="EG_ChildSlide"> + <xsd:sequence> + <xsd:element name="clrMapOvr" type="a:CT_ColorMappingOverride" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:group> + <xsd:attributeGroup name="AG_ChildSlide"> + <xsd:attribute name="showMasterSp" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showMasterPhAnim" type="xsd:boolean" use="optional" default="true"/> + </xsd:attributeGroup> + <xsd:complexType name="CT_BackgroundProperties"> + <xsd:sequence> + <xsd:group ref="a:EG_FillProperties" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="a:EG_EffectProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="shadeToTitle" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:group name="EG_Background"> + <xsd:choice> + <xsd:element name="bgPr" type="CT_BackgroundProperties"/> + <xsd:element name="bgRef" type="a:CT_StyleMatrixReference"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_Background"> + <xsd:sequence> + <xsd:group ref="EG_Background"/> + </xsd:sequence> + <xsd:attribute name="bwMode" type="a:ST_BlackWhiteMode" use="optional" default="white"/> + </xsd:complexType> + <xsd:complexType name="CT_CommonSlideData"> + <xsd:sequence> + <xsd:element name="bg" type="CT_Background" minOccurs="0" maxOccurs="1"/> + <xsd:element name="spTree" type="CT_GroupShape" minOccurs="1" maxOccurs="1"/> + <xsd:element name="custDataLst" type="CT_CustomerDataList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="controls" type="CT_ControlList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_Slide"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="EG_ChildSlide" minOccurs="0" maxOccurs="1"/> + <xsd:element name="transition" type="CT_SlideTransition" minOccurs="0" maxOccurs="1"/> + <xsd:element name="timing" type="CT_SlideTiming" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_ChildSlide"/> + <xsd:attribute name="show" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:element name="sld" type="CT_Slide"/> + <xsd:simpleType name="ST_SlideLayoutType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="title"/> + <xsd:enumeration value="tx"/> + <xsd:enumeration value="twoColTx"/> + <xsd:enumeration value="tbl"/> + <xsd:enumeration value="txAndChart"/> + <xsd:enumeration value="chartAndTx"/> + <xsd:enumeration value="dgm"/> + <xsd:enumeration value="chart"/> + <xsd:enumeration value="txAndClipArt"/> + <xsd:enumeration value="clipArtAndTx"/> + <xsd:enumeration value="titleOnly"/> + <xsd:enumeration value="blank"/> + <xsd:enumeration value="txAndObj"/> + <xsd:enumeration value="objAndTx"/> + <xsd:enumeration value="objOnly"/> + <xsd:enumeration value="obj"/> + <xsd:enumeration value="txAndMedia"/> + <xsd:enumeration value="mediaAndTx"/> + <xsd:enumeration value="objOverTx"/> + <xsd:enumeration value="txOverObj"/> + <xsd:enumeration value="txAndTwoObj"/> + <xsd:enumeration value="twoObjAndTx"/> + <xsd:enumeration value="twoObjOverTx"/> + <xsd:enumeration value="fourObj"/> + <xsd:enumeration value="vertTx"/> + <xsd:enumeration value="clipArtAndVertTx"/> + <xsd:enumeration value="vertTitleAndTx"/> + <xsd:enumeration value="vertTitleAndTxOverChart"/> + <xsd:enumeration value="twoObj"/> + <xsd:enumeration value="objAndTwoObj"/> + <xsd:enumeration value="twoObjAndObj"/> + <xsd:enumeration value="cust"/> + <xsd:enumeration value="secHead"/> + <xsd:enumeration value="twoTxTwoObj"/> + <xsd:enumeration value="objTx"/> + <xsd:enumeration value="picTx"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SlideLayout"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="EG_ChildSlide" minOccurs="0" maxOccurs="1"/> + <xsd:element name="transition" type="CT_SlideTransition" minOccurs="0" maxOccurs="1"/> + <xsd:element name="timing" type="CT_SlideTiming" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hf" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_ChildSlide"/> + <xsd:attribute name="matchingName" type="xsd:string" use="optional" default=""/> + <xsd:attribute name="type" type="ST_SlideLayoutType" use="optional" default="cust"/> + <xsd:attribute name="preserve" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="userDrawn" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:element name="sldLayout" type="CT_SlideLayout"/> + <xsd:complexType name="CT_SlideMasterTextStyles"> + <xsd:sequence> + <xsd:element name="titleStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bodyStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="otherStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_SlideLayoutId"> + <xsd:restriction base="xsd:unsignedInt"> + <xsd:minInclusive value="2147483648"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SlideLayoutIdListEntry"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="ST_SlideLayoutId" use="optional"/> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SlideLayoutIdList"> + <xsd:sequence> + <xsd:element name="sldLayoutId" type="CT_SlideLayoutIdListEntry" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SlideMaster"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="EG_TopLevelSlide" minOccurs="1" maxOccurs="1"/> + <xsd:element name="sldLayoutIdLst" type="CT_SlideLayoutIdList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="transition" type="CT_SlideTransition" minOccurs="0" maxOccurs="1"/> + <xsd:element name="timing" type="CT_SlideTiming" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hf" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="txStyles" type="CT_SlideMasterTextStyles" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="preserve" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:element name="sldMaster" type="CT_SlideMaster"/> + <xsd:complexType name="CT_HandoutMaster"> + <xsd:sequence> + <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="EG_TopLevelSlide" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hf" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="handoutMaster" type="CT_HandoutMaster"/> + <xsd:complexType name="CT_NotesMaster"> + <xsd:sequence> + <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="EG_TopLevelSlide" minOccurs="1" maxOccurs="1"/> + <xsd:element name="hf" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="notesStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="notesMaster" type="CT_NotesMaster"/> + <xsd:complexType name="CT_NotesSlide"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/> + <xsd:group ref="EG_ChildSlide" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_ChildSlide"/> + </xsd:complexType> + <xsd:element name="notes" type="CT_NotesSlide"/> + <xsd:complexType name="CT_SlideSyncProperties"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="serverSldId" type="xsd:string" use="required"/> + <xsd:attribute name="serverSldModifiedTime" type="xsd:dateTime" use="required"/> + <xsd:attribute name="clientInsertedTime" type="xsd:dateTime" use="required"/> + </xsd:complexType> + <xsd:element name="sldSyncPr" type="CT_SlideSyncProperties"/> + <xsd:complexType name="CT_StringTag"> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="val" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TagList"> + <xsd:sequence> + <xsd:element name="tag" type="CT_StringTag" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="tagLst" type="CT_TagList"/> + <xsd:simpleType name="ST_SplitterBarState"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="minimized"/> + <xsd:enumeration value="restored"/> + <xsd:enumeration value="maximized"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ViewType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="sldView"/> + <xsd:enumeration value="sldMasterView"/> + <xsd:enumeration value="notesView"/> + <xsd:enumeration value="handoutView"/> + <xsd:enumeration value="notesMasterView"/> + <xsd:enumeration value="outlineView"/> + <xsd:enumeration value="sldSorterView"/> + <xsd:enumeration value="sldThumbnailView"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_NormalViewPortion"> + <xsd:attribute name="sz" type="a:ST_PositiveFixedPercentage" use="required"/> + <xsd:attribute name="autoAdjust" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_NormalViewProperties"> + <xsd:sequence> + <xsd:element name="restoredLeft" type="CT_NormalViewPortion" minOccurs="1" maxOccurs="1"/> + <xsd:element name="restoredTop" type="CT_NormalViewPortion" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="showOutlineIcons" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="snapVertSplitter" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="vertBarState" type="ST_SplitterBarState" use="optional" default="restored"/> + <xsd:attribute name="horzBarState" type="ST_SplitterBarState" use="optional" default="restored"/> + <xsd:attribute name="preferSingleView" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CommonViewProperties"> + <xsd:sequence> + <xsd:element name="scale" type="a:CT_Scale2D" minOccurs="1" maxOccurs="1"/> + <xsd:element name="origin" type="a:CT_Point2D" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="varScale" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_NotesTextViewProperties"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cViewPr" type="CT_CommonViewProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_OutlineViewSlideEntry"> + <xsd:attribute ref="r:id" use="required"/> + <xsd:attribute name="collapse" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_OutlineViewSlideList"> + <xsd:sequence> + <xsd:element name="sld" type="CT_OutlineViewSlideEntry" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_OutlineViewProperties"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cViewPr" type="CT_CommonViewProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="sldLst" type="CT_OutlineViewSlideList" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SlideSorterViewProperties"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element name="cViewPr" type="CT_CommonViewProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="showFormatting" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_Guide"> + <xsd:attribute name="orient" type="ST_Direction" use="optional" default="vert"/> + <xsd:attribute name="pos" type="a:ST_Coordinate32" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_GuideList"> + <xsd:sequence minOccurs="0" maxOccurs="1"> + <xsd:element name="guide" type="CT_Guide" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CommonSlideViewProperties"> + <xsd:sequence> + <xsd:element name="cViewPr" type="CT_CommonViewProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="guideLst" type="CT_GuideList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="snapToGrid" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="snapToObjects" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showGuides" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_SlideViewProperties"> + <xsd:sequence> + <xsd:element name="cSldViewPr" type="CT_CommonSlideViewProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NotesViewProperties"> + <xsd:sequence> + <xsd:element name="cSldViewPr" type="CT_CommonSlideViewProperties" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ViewProperties"> + <xsd:sequence minOccurs="0" maxOccurs="1"> + <xsd:element name="normalViewPr" type="CT_NormalViewProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="slideViewPr" type="CT_SlideViewProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="outlineViewPr" type="CT_OutlineViewProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="notesTextViewPr" type="CT_NotesTextViewProperties" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="sorterViewPr" type="CT_SlideSorterViewProperties" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="notesViewPr" type="CT_NotesViewProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="gridSpacing" type="a:CT_PositiveSize2D" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="lastView" type="ST_ViewType" use="optional" default="sldView"/> + <xsd:attribute name="showComments" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:element name="viewPr" type="CT_ViewProperties"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd new file mode 100755 index 0000000..c20f3bf --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/characteristics" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/characteristics" + elementFormDefault="qualified"> + <xsd:complexType name="CT_AdditionalCharacteristics"> + <xsd:sequence> + <xsd:element name="characteristic" type="CT_Characteristic" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Characteristic"> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="relation" type="ST_Relation" use="required"/> + <xsd:attribute name="val" type="xsd:string" use="required"/> + <xsd:attribute name="vocabulary" type="xsd:anyURI" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_Relation"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="ge"/> + <xsd:enumeration value="le"/> + <xsd:enumeration value="gt"/> + <xsd:enumeration value="lt"/> + <xsd:enumeration value="eq"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:element name="additionalCharacteristics" type="CT_AdditionalCharacteristics"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd new file mode 100755 index 0000000..ac60252 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" + elementFormDefault="qualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:simpleType name="ST_SourceType"> + <xsd:restriction base="s:ST_String"> + <xsd:enumeration value="ArticleInAPeriodical"/> + <xsd:enumeration value="Book"/> + <xsd:enumeration value="BookSection"/> + <xsd:enumeration value="JournalArticle"/> + <xsd:enumeration value="ConferenceProceedings"/> + <xsd:enumeration value="Report"/> + <xsd:enumeration value="SoundRecording"/> + <xsd:enumeration value="Performance"/> + <xsd:enumeration value="Art"/> + <xsd:enumeration value="DocumentFromInternetSite"/> + <xsd:enumeration value="InternetSite"/> + <xsd:enumeration value="Film"/> + <xsd:enumeration value="Interview"/> + <xsd:enumeration value="Patent"/> + <xsd:enumeration value="ElectronicSource"/> + <xsd:enumeration value="Case"/> + <xsd:enumeration value="Misc"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_NameListType"> + <xsd:sequence> + <xsd:element name="Person" type="CT_PersonType" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PersonType"> + <xsd:sequence> + <xsd:element name="Last" type="s:ST_String" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="First" type="s:ST_String" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="Middle" type="s:ST_String" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NameType"> + <xsd:sequence> + <xsd:element name="NameList" type="CT_NameListType" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NameOrCorporateType"> + <xsd:sequence> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="NameList" type="CT_NameListType" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Corporate" minOccurs="1" maxOccurs="1" type="s:ST_String"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_AuthorType"> + <xsd:sequence> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="Artist" type="CT_NameType"/> + <xsd:element name="Author" type="CT_NameOrCorporateType"/> + <xsd:element name="BookAuthor" type="CT_NameType"/> + <xsd:element name="Compiler" type="CT_NameType"/> + <xsd:element name="Composer" type="CT_NameType"/> + <xsd:element name="Conductor" type="CT_NameType"/> + <xsd:element name="Counsel" type="CT_NameType"/> + <xsd:element name="Director" type="CT_NameType"/> + <xsd:element name="Editor" type="CT_NameType"/> + <xsd:element name="Interviewee" type="CT_NameType"/> + <xsd:element name="Interviewer" type="CT_NameType"/> + <xsd:element name="Inventor" type="CT_NameType"/> + <xsd:element name="Performer" type="CT_NameOrCorporateType"/> + <xsd:element name="ProducerName" type="CT_NameType"/> + <xsd:element name="Translator" type="CT_NameType"/> + <xsd:element name="Writer" type="CT_NameType"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SourceType"> + <xsd:sequence> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="AbbreviatedCaseNumber" type="s:ST_String"/> + <xsd:element name="AlbumTitle" type="s:ST_String"/> + <xsd:element name="Author" type="CT_AuthorType"/> + <xsd:element name="BookTitle" type="s:ST_String"/> + <xsd:element name="Broadcaster" type="s:ST_String"/> + <xsd:element name="BroadcastTitle" type="s:ST_String"/> + <xsd:element name="CaseNumber" type="s:ST_String"/> + <xsd:element name="ChapterNumber" type="s:ST_String"/> + <xsd:element name="City" type="s:ST_String"/> + <xsd:element name="Comments" type="s:ST_String"/> + <xsd:element name="ConferenceName" type="s:ST_String"/> + <xsd:element name="CountryRegion" type="s:ST_String"/> + <xsd:element name="Court" type="s:ST_String"/> + <xsd:element name="Day" type="s:ST_String"/> + <xsd:element name="DayAccessed" type="s:ST_String"/> + <xsd:element name="Department" type="s:ST_String"/> + <xsd:element name="Distributor" type="s:ST_String"/> + <xsd:element name="Edition" type="s:ST_String"/> + <xsd:element name="Guid" type="s:ST_String"/> + <xsd:element name="Institution" type="s:ST_String"/> + <xsd:element name="InternetSiteTitle" type="s:ST_String"/> + <xsd:element name="Issue" type="s:ST_String"/> + <xsd:element name="JournalName" type="s:ST_String"/> + <xsd:element name="LCID" type="s:ST_Lang"/> + <xsd:element name="Medium" type="s:ST_String"/> + <xsd:element name="Month" type="s:ST_String"/> + <xsd:element name="MonthAccessed" type="s:ST_String"/> + <xsd:element name="NumberVolumes" type="s:ST_String"/> + <xsd:element name="Pages" type="s:ST_String"/> + <xsd:element name="PatentNumber" type="s:ST_String"/> + <xsd:element name="PeriodicalTitle" type="s:ST_String"/> + <xsd:element name="ProductionCompany" type="s:ST_String"/> + <xsd:element name="PublicationTitle" type="s:ST_String"/> + <xsd:element name="Publisher" type="s:ST_String"/> + <xsd:element name="RecordingNumber" type="s:ST_String"/> + <xsd:element name="RefOrder" type="s:ST_String"/> + <xsd:element name="Reporter" type="s:ST_String"/> + <xsd:element name="SourceType" type="ST_SourceType"/> + <xsd:element name="ShortTitle" type="s:ST_String"/> + <xsd:element name="StandardNumber" type="s:ST_String"/> + <xsd:element name="StateProvince" type="s:ST_String"/> + <xsd:element name="Station" type="s:ST_String"/> + <xsd:element name="Tag" type="s:ST_String"/> + <xsd:element name="Theater" type="s:ST_String"/> + <xsd:element name="ThesisType" type="s:ST_String"/> + <xsd:element name="Title" type="s:ST_String"/> + <xsd:element name="Type" type="s:ST_String"/> + <xsd:element name="URL" type="s:ST_String"/> + <xsd:element name="Version" type="s:ST_String"/> + <xsd:element name="Volume" type="s:ST_String"/> + <xsd:element name="Year" type="s:ST_String"/> + <xsd:element name="YearAccessed" type="s:ST_String"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="Sources" type="CT_Sources"/> + <xsd:complexType name="CT_Sources"> + <xsd:sequence> + <xsd:element name="Source" type="CT_SourceType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="SelectedStyle" type="s:ST_String"/> + <xsd:attribute name="StyleName" type="s:ST_String"/> + <xsd:attribute name="URI" type="s:ST_String"/> + </xsd:complexType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd new file mode 100755 index 0000000..424b8ba --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + elementFormDefault="qualified"> + <xsd:simpleType name="ST_Lang"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_HexColorRGB"> + <xsd:restriction base="xsd:hexBinary"> + <xsd:length value="3" fixed="true"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Panose"> + <xsd:restriction base="xsd:hexBinary"> + <xsd:length value="10"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CalendarType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="gregorian"/> + <xsd:enumeration value="gregorianUs"/> + <xsd:enumeration value="gregorianMeFrench"/> + <xsd:enumeration value="gregorianArabic"/> + <xsd:enumeration value="hijri"/> + <xsd:enumeration value="hebrew"/> + <xsd:enumeration value="taiwan"/> + <xsd:enumeration value="japan"/> + <xsd:enumeration value="thai"/> + <xsd:enumeration value="korea"/> + <xsd:enumeration value="saka"/> + <xsd:enumeration value="gregorianXlitEnglish"/> + <xsd:enumeration value="gregorianXlitFrench"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AlgClass"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="hash"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CryptProv"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="rsaAES"/> + <xsd:enumeration value="rsaFull"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AlgType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="typeAny"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ColorType"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_Guid"> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\}"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_OnOff"> + <xsd:union memberTypes="xsd:boolean ST_OnOff1"/> + </xsd:simpleType> + <xsd:simpleType name="ST_OnOff1"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="on"/> + <xsd:enumeration value="off"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_String"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_XmlName"> + <xsd:restriction base="xsd:NCName"> + <xsd:minLength value="1"/> + <xsd:maxLength value="255"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TrueFalse"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="t"/> + <xsd:enumeration value="f"/> + <xsd:enumeration value="true"/> + <xsd:enumeration value="false"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TrueFalseBlank"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="t"/> + <xsd:enumeration value="f"/> + <xsd:enumeration value="true"/> + <xsd:enumeration value="false"/> + <xsd:enumeration value=""/> + <xsd:enumeration value="True"/> + <xsd:enumeration value="False"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_UnsignedDecimalNumber"> + <xsd:restriction base="xsd:decimal"> + <xsd:minInclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TwipsMeasure"> + <xsd:union memberTypes="ST_UnsignedDecimalNumber ST_PositiveUniversalMeasure"/> + </xsd:simpleType> + <xsd:simpleType name="ST_VerticalAlignRun"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="baseline"/> + <xsd:enumeration value="superscript"/> + <xsd:enumeration value="subscript"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Xstring"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_XAlign"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="left"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="inside"/> + <xsd:enumeration value="outside"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_YAlign"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="inline"/> + <xsd:enumeration value="top"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="bottom"/> + <xsd:enumeration value="inside"/> + <xsd:enumeration value="outside"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConformanceClass"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="strict"/> + <xsd:enumeration value="transitional"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_UniversalMeasure"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="-?[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PositiveUniversalMeasure"> + <xsd:restriction base="ST_UniversalMeasure"> + <xsd:pattern value="[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Percentage"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="-?[0-9]+(\.[0-9]+)?%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FixedPercentage"> + <xsd:restriction base="ST_Percentage"> + <xsd:pattern value="-?((100)|([0-9][0-9]?))(\.[0-9][0-9]?)?%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PositivePercentage"> + <xsd:restriction base="ST_Percentage"> + <xsd:pattern value="[0-9]+(\.[0-9]+)?%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PositiveFixedPercentage"> + <xsd:restriction base="ST_Percentage"> + <xsd:pattern value="((100)|([0-9][0-9]?))(\.[0-9][0-9]?)?%"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd new file mode 100755 index 0000000..2bddce2 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/customXml" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/customXml" + elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:complexType name="CT_DatastoreSchemaRef"> + <xsd:attribute name="uri" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DatastoreSchemaRefs"> + <xsd:sequence> + <xsd:element name="schemaRef" type="CT_DatastoreSchemaRef" minOccurs="0" maxOccurs="unbounded" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DatastoreItem"> + <xsd:sequence> + <xsd:element name="schemaRefs" type="CT_DatastoreSchemaRefs" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="itemID" type="s:ST_Guid" use="required"/> + </xsd:complexType> + <xsd:element name="datastoreItem" type="CT_DatastoreItem"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd new file mode 100755 index 0000000..8a8c18b --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/schemaLibrary/2006/main" + targetNamespace="http://schemas.openxmlformats.org/schemaLibrary/2006/main" + attributeFormDefault="qualified" elementFormDefault="qualified"> + <xsd:complexType name="CT_Schema"> + <xsd:attribute name="uri" type="xsd:string" default=""/> + <xsd:attribute name="manifestLocation" type="xsd:string"/> + <xsd:attribute name="schemaLocation" type="xsd:string"/> + <xsd:attribute name="schemaLanguage" type="xsd:token"/> + </xsd:complexType> + <xsd:complexType name="CT_SchemaLibrary"> + <xsd:sequence> + <xsd:element name="schema" type="CT_Schema" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="schemaLibrary" type="CT_SchemaLibrary"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd new file mode 100755 index 0000000..5c42706 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" + xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" + blockDefault="#all" elementFormDefault="qualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes" + schemaLocation="shared-documentPropertiesVariantTypes.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:element name="Properties" type="CT_Properties"/> + <xsd:complexType name="CT_Properties"> + <xsd:sequence> + <xsd:element name="property" minOccurs="0" maxOccurs="unbounded" type="CT_Property"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Property"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element ref="vt:vector"/> + <xsd:element ref="vt:array"/> + <xsd:element ref="vt:blob"/> + <xsd:element ref="vt:oblob"/> + <xsd:element ref="vt:empty"/> + <xsd:element ref="vt:null"/> + <xsd:element ref="vt:i1"/> + <xsd:element ref="vt:i2"/> + <xsd:element ref="vt:i4"/> + <xsd:element ref="vt:i8"/> + <xsd:element ref="vt:int"/> + <xsd:element ref="vt:ui1"/> + <xsd:element ref="vt:ui2"/> + <xsd:element ref="vt:ui4"/> + <xsd:element ref="vt:ui8"/> + <xsd:element ref="vt:uint"/> + <xsd:element ref="vt:r4"/> + <xsd:element ref="vt:r8"/> + <xsd:element ref="vt:decimal"/> + <xsd:element ref="vt:lpstr"/> + <xsd:element ref="vt:lpwstr"/> + <xsd:element ref="vt:bstr"/> + <xsd:element ref="vt:date"/> + <xsd:element ref="vt:filetime"/> + <xsd:element ref="vt:bool"/> + <xsd:element ref="vt:cy"/> + <xsd:element ref="vt:error"/> + <xsd:element ref="vt:stream"/> + <xsd:element ref="vt:ostream"/> + <xsd:element ref="vt:storage"/> + <xsd:element ref="vt:ostorage"/> + <xsd:element ref="vt:vstream"/> + <xsd:element ref="vt:clsid"/> + </xsd:choice> + <xsd:attribute name="fmtid" use="required" type="s:ST_Guid"/> + <xsd:attribute name="pid" use="required" type="xsd:int"/> + <xsd:attribute name="name" use="optional" type="xsd:string"/> + <xsd:attribute name="linkTarget" use="optional" type="xsd:string"/> + </xsd:complexType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd new file mode 100755 index 0000000..853c341 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" + xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" + elementFormDefault="qualified" blockDefault="#all"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes" + schemaLocation="shared-documentPropertiesVariantTypes.xsd"/> + <xsd:element name="Properties" type="CT_Properties"/> + <xsd:complexType name="CT_Properties"> + <xsd:all> + <xsd:element name="Template" minOccurs="0" maxOccurs="1" type="xsd:string"/> + <xsd:element name="Manager" minOccurs="0" maxOccurs="1" type="xsd:string"/> + <xsd:element name="Company" minOccurs="0" maxOccurs="1" type="xsd:string"/> + <xsd:element name="Pages" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="Words" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="Characters" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="PresentationFormat" minOccurs="0" maxOccurs="1" type="xsd:string"/> + <xsd:element name="Lines" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="Paragraphs" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="Slides" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="Notes" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="TotalTime" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="HiddenSlides" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="MMClips" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="ScaleCrop" minOccurs="0" maxOccurs="1" type="xsd:boolean"/> + <xsd:element name="HeadingPairs" minOccurs="0" maxOccurs="1" type="CT_VectorVariant"/> + <xsd:element name="TitlesOfParts" minOccurs="0" maxOccurs="1" type="CT_VectorLpstr"/> + <xsd:element name="LinksUpToDate" minOccurs="0" maxOccurs="1" type="xsd:boolean"/> + <xsd:element name="CharactersWithSpaces" minOccurs="0" maxOccurs="1" type="xsd:int"/> + <xsd:element name="SharedDoc" minOccurs="0" maxOccurs="1" type="xsd:boolean"/> + <xsd:element name="HyperlinkBase" minOccurs="0" maxOccurs="1" type="xsd:string"/> + <xsd:element name="HLinks" minOccurs="0" maxOccurs="1" type="CT_VectorVariant"/> + <xsd:element name="HyperlinksChanged" minOccurs="0" maxOccurs="1" type="xsd:boolean"/> + <xsd:element name="DigSig" minOccurs="0" maxOccurs="1" type="CT_DigSigBlob"/> + <xsd:element name="Application" minOccurs="0" maxOccurs="1" type="xsd:string"/> + <xsd:element name="AppVersion" minOccurs="0" maxOccurs="1" type="xsd:string"/> + <xsd:element name="DocSecurity" minOccurs="0" maxOccurs="1" type="xsd:int"/> + </xsd:all> + </xsd:complexType> + <xsd:complexType name="CT_VectorVariant"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element ref="vt:vector"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_VectorLpstr"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element ref="vt:vector"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DigSigBlob"> + <xsd:sequence minOccurs="1" maxOccurs="1"> + <xsd:element ref="vt:blob"/> + </xsd:sequence> + </xsd:complexType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd new file mode 100755 index 0000000..da835ee --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd @@ -0,0 +1,195 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes" + blockDefault="#all" elementFormDefault="qualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:simpleType name="ST_VectorBaseType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="variant"/> + <xsd:enumeration value="i1"/> + <xsd:enumeration value="i2"/> + <xsd:enumeration value="i4"/> + <xsd:enumeration value="i8"/> + <xsd:enumeration value="ui1"/> + <xsd:enumeration value="ui2"/> + <xsd:enumeration value="ui4"/> + <xsd:enumeration value="ui8"/> + <xsd:enumeration value="r4"/> + <xsd:enumeration value="r8"/> + <xsd:enumeration value="lpstr"/> + <xsd:enumeration value="lpwstr"/> + <xsd:enumeration value="bstr"/> + <xsd:enumeration value="date"/> + <xsd:enumeration value="filetime"/> + <xsd:enumeration value="bool"/> + <xsd:enumeration value="cy"/> + <xsd:enumeration value="error"/> + <xsd:enumeration value="clsid"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ArrayBaseType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="variant"/> + <xsd:enumeration value="i1"/> + <xsd:enumeration value="i2"/> + <xsd:enumeration value="i4"/> + <xsd:enumeration value="int"/> + <xsd:enumeration value="ui1"/> + <xsd:enumeration value="ui2"/> + <xsd:enumeration value="ui4"/> + <xsd:enumeration value="uint"/> + <xsd:enumeration value="r4"/> + <xsd:enumeration value="r8"/> + <xsd:enumeration value="decimal"/> + <xsd:enumeration value="bstr"/> + <xsd:enumeration value="date"/> + <xsd:enumeration value="bool"/> + <xsd:enumeration value="cy"/> + <xsd:enumeration value="error"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Cy"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="\s*[0-9]*\.[0-9]{4}\s*"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Error"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="\s*0x[0-9A-Za-z]{8}\s*"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Empty"/> + <xsd:complexType name="CT_Null"/> + <xsd:complexType name="CT_Vector"> + <xsd:choice minOccurs="1" maxOccurs="unbounded"> + <xsd:element ref="variant"/> + <xsd:element ref="i1"/> + <xsd:element ref="i2"/> + <xsd:element ref="i4"/> + <xsd:element ref="i8"/> + <xsd:element ref="ui1"/> + <xsd:element ref="ui2"/> + <xsd:element ref="ui4"/> + <xsd:element ref="ui8"/> + <xsd:element ref="r4"/> + <xsd:element ref="r8"/> + <xsd:element ref="lpstr"/> + <xsd:element ref="lpwstr"/> + <xsd:element ref="bstr"/> + <xsd:element ref="date"/> + <xsd:element ref="filetime"/> + <xsd:element ref="bool"/> + <xsd:element ref="cy"/> + <xsd:element ref="error"/> + <xsd:element ref="clsid"/> + </xsd:choice> + <xsd:attribute name="baseType" type="ST_VectorBaseType" use="required"/> + <xsd:attribute name="size" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Array"> + <xsd:choice minOccurs="1" maxOccurs="unbounded"> + <xsd:element ref="variant"/> + <xsd:element ref="i1"/> + <xsd:element ref="i2"/> + <xsd:element ref="i4"/> + <xsd:element ref="int"/> + <xsd:element ref="ui1"/> + <xsd:element ref="ui2"/> + <xsd:element ref="ui4"/> + <xsd:element ref="uint"/> + <xsd:element ref="r4"/> + <xsd:element ref="r8"/> + <xsd:element ref="decimal"/> + <xsd:element ref="bstr"/> + <xsd:element ref="date"/> + <xsd:element ref="bool"/> + <xsd:element ref="error"/> + <xsd:element ref="cy"/> + </xsd:choice> + <xsd:attribute name="lBounds" type="xsd:int" use="required"/> + <xsd:attribute name="uBounds" type="xsd:int" use="required"/> + <xsd:attribute name="baseType" type="ST_ArrayBaseType" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Variant"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element ref="variant"/> + <xsd:element ref="vector"/> + <xsd:element ref="array"/> + <xsd:element ref="blob"/> + <xsd:element ref="oblob"/> + <xsd:element ref="empty"/> + <xsd:element ref="null"/> + <xsd:element ref="i1"/> + <xsd:element ref="i2"/> + <xsd:element ref="i4"/> + <xsd:element ref="i8"/> + <xsd:element ref="int"/> + <xsd:element ref="ui1"/> + <xsd:element ref="ui2"/> + <xsd:element ref="ui4"/> + <xsd:element ref="ui8"/> + <xsd:element ref="uint"/> + <xsd:element ref="r4"/> + <xsd:element ref="r8"/> + <xsd:element ref="decimal"/> + <xsd:element ref="lpstr"/> + <xsd:element ref="lpwstr"/> + <xsd:element ref="bstr"/> + <xsd:element ref="date"/> + <xsd:element ref="filetime"/> + <xsd:element ref="bool"/> + <xsd:element ref="cy"/> + <xsd:element ref="error"/> + <xsd:element ref="stream"/> + <xsd:element ref="ostream"/> + <xsd:element ref="storage"/> + <xsd:element ref="ostorage"/> + <xsd:element ref="vstream"/> + <xsd:element ref="clsid"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_Vstream"> + <xsd:simpleContent> + <xsd:extension base="xsd:base64Binary"> + <xsd:attribute name="version" type="s:ST_Guid"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:element name="variant" type="CT_Variant"/> + <xsd:element name="vector" type="CT_Vector"/> + <xsd:element name="array" type="CT_Array"/> + <xsd:element name="blob" type="xsd:base64Binary"/> + <xsd:element name="oblob" type="xsd:base64Binary"/> + <xsd:element name="empty" type="CT_Empty"/> + <xsd:element name="null" type="CT_Null"/> + <xsd:element name="i1" type="xsd:byte"/> + <xsd:element name="i2" type="xsd:short"/> + <xsd:element name="i4" type="xsd:int"/> + <xsd:element name="i8" type="xsd:long"/> + <xsd:element name="int" type="xsd:int"/> + <xsd:element name="ui1" type="xsd:unsignedByte"/> + <xsd:element name="ui2" type="xsd:unsignedShort"/> + <xsd:element name="ui4" type="xsd:unsignedInt"/> + <xsd:element name="ui8" type="xsd:unsignedLong"/> + <xsd:element name="uint" type="xsd:unsignedInt"/> + <xsd:element name="r4" type="xsd:float"/> + <xsd:element name="r8" type="xsd:double"/> + <xsd:element name="decimal" type="xsd:decimal"/> + <xsd:element name="lpstr" type="xsd:string"/> + <xsd:element name="lpwstr" type="xsd:string"/> + <xsd:element name="bstr" type="xsd:string"/> + <xsd:element name="date" type="xsd:dateTime"/> + <xsd:element name="filetime" type="xsd:dateTime"/> + <xsd:element name="bool" type="xsd:boolean"/> + <xsd:element name="cy" type="ST_Cy"/> + <xsd:element name="error" type="ST_Error"/> + <xsd:element name="stream" type="xsd:base64Binary"/> + <xsd:element name="ostream" type="xsd:base64Binary"/> + <xsd:element name="storage" type="xsd:base64Binary"/> + <xsd:element name="ostorage" type="xsd:base64Binary"/> + <xsd:element name="vstream" type="CT_Vstream"/> + <xsd:element name="clsid" type="s:ST_Guid"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd new file mode 100755 index 0000000..87ad265 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd @@ -0,0 +1,582 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/math" + xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" + xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/math"> + <xsd:import namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" + schemaLocation="wml.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/> + <xsd:simpleType name="ST_Integer255"> + <xsd:restriction base="xsd:integer"> + <xsd:minInclusive value="1"/> + <xsd:maxInclusive value="255"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Integer255"> + <xsd:attribute name="val" type="ST_Integer255" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Integer2"> + <xsd:restriction base="xsd:integer"> + <xsd:minInclusive value="-2"/> + <xsd:maxInclusive value="2"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Integer2"> + <xsd:attribute name="val" type="ST_Integer2" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_SpacingRule"> + <xsd:restriction base="xsd:integer"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="4"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SpacingRule"> + <xsd:attribute name="val" type="ST_SpacingRule" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_UnSignedInteger"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:complexType name="CT_UnSignedInteger"> + <xsd:attribute name="val" type="ST_UnSignedInteger" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Char"> + <xsd:restriction base="xsd:string"> + <xsd:maxLength value="1"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Char"> + <xsd:attribute name="val" type="ST_Char" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_OnOff"> + <xsd:attribute name="val" type="s:ST_OnOff"/> + </xsd:complexType> + <xsd:complexType name="CT_String"> + <xsd:attribute name="val" type="s:ST_String"/> + </xsd:complexType> + <xsd:complexType name="CT_XAlign"> + <xsd:attribute name="val" type="s:ST_XAlign" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_YAlign"> + <xsd:attribute name="val" type="s:ST_YAlign" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Shp"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="centered"/> + <xsd:enumeration value="match"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Shp"> + <xsd:attribute name="val" type="ST_Shp" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_FType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="bar"/> + <xsd:enumeration value="skw"/> + <xsd:enumeration value="lin"/> + <xsd:enumeration value="noBar"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FType"> + <xsd:attribute name="val" type="ST_FType" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_LimLoc"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="undOvr"/> + <xsd:enumeration value="subSup"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LimLoc"> + <xsd:attribute name="val" type="ST_LimLoc" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TopBot"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="top"/> + <xsd:enumeration value="bot"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TopBot"> + <xsd:attribute name="val" type="ST_TopBot" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Script"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="roman"/> + <xsd:enumeration value="script"/> + <xsd:enumeration value="fraktur"/> + <xsd:enumeration value="double-struck"/> + <xsd:enumeration value="sans-serif"/> + <xsd:enumeration value="monospace"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Script"> + <xsd:attribute name="val" type="ST_Script"/> + </xsd:complexType> + <xsd:simpleType name="ST_Style"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="p"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="i"/> + <xsd:enumeration value="bi"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Style"> + <xsd:attribute name="val" type="ST_Style"/> + </xsd:complexType> + <xsd:complexType name="CT_ManualBreak"> + <xsd:attribute name="alnAt" type="ST_Integer255"/> + </xsd:complexType> + <xsd:group name="EG_ScriptStyle"> + <xsd:sequence> + <xsd:element name="scr" minOccurs="0" type="CT_Script"/> + <xsd:element name="sty" minOccurs="0" type="CT_Style"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_RPR"> + <xsd:sequence> + <xsd:element name="lit" minOccurs="0" type="CT_OnOff"/> + <xsd:choice> + <xsd:element name="nor" minOccurs="0" type="CT_OnOff"/> + <xsd:sequence> + <xsd:group ref="EG_ScriptStyle"/> + </xsd:sequence> + </xsd:choice> + <xsd:element name="brk" minOccurs="0" type="CT_ManualBreak"/> + <xsd:element name="aln" minOccurs="0" type="CT_OnOff"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Text"> + <xsd:simpleContent> + <xsd:extension base="s:ST_String"> + <xsd:attribute ref="xml:space" use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="CT_R"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_RPR" minOccurs="0"/> + <xsd:group ref="w:EG_RPr" minOccurs="0"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:group ref="w:EG_RunInnerContent"/> + <xsd:element name="t" type="CT_Text" minOccurs="0"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CtrlPr"> + <xsd:sequence> + <xsd:group ref="w:EG_RPrMath" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_AccPr"> + <xsd:sequence> + <xsd:element name="chr" type="CT_Char" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Acc"> + <xsd:sequence> + <xsd:element name="accPr" type="CT_AccPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BarPr"> + <xsd:sequence> + <xsd:element name="pos" type="CT_TopBot" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Bar"> + <xsd:sequence> + <xsd:element name="barPr" type="CT_BarPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BoxPr"> + <xsd:sequence> + <xsd:element name="opEmu" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="noBreak" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="diff" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="brk" type="CT_ManualBreak" minOccurs="0"/> + <xsd:element name="aln" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Box"> + <xsd:sequence> + <xsd:element name="boxPr" type="CT_BoxPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BorderBoxPr"> + <xsd:sequence> + <xsd:element name="hideTop" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="hideBot" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="hideLeft" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="hideRight" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="strikeH" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="strikeV" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="strikeBLTR" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="strikeTLBR" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BorderBox"> + <xsd:sequence> + <xsd:element name="borderBoxPr" type="CT_BorderBoxPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DPr"> + <xsd:sequence> + <xsd:element name="begChr" type="CT_Char" minOccurs="0"/> + <xsd:element name="sepChr" type="CT_Char" minOccurs="0"/> + <xsd:element name="endChr" type="CT_Char" minOccurs="0"/> + <xsd:element name="grow" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="shp" type="CT_Shp" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_D"> + <xsd:sequence> + <xsd:element name="dPr" type="CT_DPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_EqArrPr"> + <xsd:sequence> + <xsd:element name="baseJc" type="CT_YAlign" minOccurs="0"/> + <xsd:element name="maxDist" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="objDist" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="rSpRule" type="CT_SpacingRule" minOccurs="0"/> + <xsd:element name="rSp" type="CT_UnSignedInteger" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_EqArr"> + <xsd:sequence> + <xsd:element name="eqArrPr" type="CT_EqArrPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_FPr"> + <xsd:sequence> + <xsd:element name="type" type="CT_FType" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_F"> + <xsd:sequence> + <xsd:element name="fPr" type="CT_FPr" minOccurs="0"/> + <xsd:element name="num" type="CT_OMathArg"/> + <xsd:element name="den" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_FuncPr"> + <xsd:sequence> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Func"> + <xsd:sequence> + <xsd:element name="funcPr" type="CT_FuncPr" minOccurs="0"/> + <xsd:element name="fName" type="CT_OMathArg"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GroupChrPr"> + <xsd:sequence> + <xsd:element name="chr" type="CT_Char" minOccurs="0"/> + <xsd:element name="pos" type="CT_TopBot" minOccurs="0"/> + <xsd:element name="vertJc" type="CT_TopBot" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GroupChr"> + <xsd:sequence> + <xsd:element name="groupChrPr" type="CT_GroupChrPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_LimLowPr"> + <xsd:sequence> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_LimLow"> + <xsd:sequence> + <xsd:element name="limLowPr" type="CT_LimLowPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + <xsd:element name="lim" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_LimUppPr"> + <xsd:sequence> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_LimUpp"> + <xsd:sequence> + <xsd:element name="limUppPr" type="CT_LimUppPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + <xsd:element name="lim" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MCPr"> + <xsd:sequence> + <xsd:element name="count" type="CT_Integer255" minOccurs="0"/> + <xsd:element name="mcJc" type="CT_XAlign" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MC"> + <xsd:sequence> + <xsd:element name="mcPr" type="CT_MCPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MCS"> + <xsd:sequence> + <xsd:element name="mc" type="CT_MC" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MPr"> + <xsd:sequence> + <xsd:element name="baseJc" type="CT_YAlign" minOccurs="0"/> + <xsd:element name="plcHide" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="rSpRule" type="CT_SpacingRule" minOccurs="0"/> + <xsd:element name="cGpRule" type="CT_SpacingRule" minOccurs="0"/> + <xsd:element name="rSp" type="CT_UnSignedInteger" minOccurs="0"/> + <xsd:element name="cSp" type="CT_UnSignedInteger" minOccurs="0"/> + <xsd:element name="cGp" type="CT_UnSignedInteger" minOccurs="0"/> + <xsd:element name="mcs" type="CT_MCS" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MR"> + <xsd:sequence> + <xsd:element name="e" type="CT_OMathArg" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_M"> + <xsd:sequence> + <xsd:element name="mPr" type="CT_MPr" minOccurs="0"/> + <xsd:element name="mr" type="CT_MR" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NaryPr"> + <xsd:sequence> + <xsd:element name="chr" type="CT_Char" minOccurs="0"/> + <xsd:element name="limLoc" type="CT_LimLoc" minOccurs="0"/> + <xsd:element name="grow" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="subHide" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="supHide" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Nary"> + <xsd:sequence> + <xsd:element name="naryPr" type="CT_NaryPr" minOccurs="0"/> + <xsd:element name="sub" type="CT_OMathArg"/> + <xsd:element name="sup" type="CT_OMathArg"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PhantPr"> + <xsd:sequence> + <xsd:element name="show" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="zeroWid" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="zeroAsc" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="zeroDesc" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="transp" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Phant"> + <xsd:sequence> + <xsd:element name="phantPr" type="CT_PhantPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_RadPr"> + <xsd:sequence> + <xsd:element name="degHide" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Rad"> + <xsd:sequence> + <xsd:element name="radPr" type="CT_RadPr" minOccurs="0"/> + <xsd:element name="deg" type="CT_OMathArg"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SPrePr"> + <xsd:sequence> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SPre"> + <xsd:sequence> + <xsd:element name="sPrePr" type="CT_SPrePr" minOccurs="0"/> + <xsd:element name="sub" type="CT_OMathArg"/> + <xsd:element name="sup" type="CT_OMathArg"/> + <xsd:element name="e" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SSubPr"> + <xsd:sequence> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SSub"> + <xsd:sequence> + <xsd:element name="sSubPr" type="CT_SSubPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + <xsd:element name="sub" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SSubSupPr"> + <xsd:sequence> + <xsd:element name="alnScr" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SSubSup"> + <xsd:sequence> + <xsd:element name="sSubSupPr" type="CT_SSubSupPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + <xsd:element name="sub" type="CT_OMathArg"/> + <xsd:element name="sup" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SSupPr"> + <xsd:sequence> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SSup"> + <xsd:sequence> + <xsd:element name="sSupPr" type="CT_SSupPr" minOccurs="0"/> + <xsd:element name="e" type="CT_OMathArg"/> + <xsd:element name="sup" type="CT_OMathArg"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_OMathMathElements"> + <xsd:choice> + <xsd:element name="acc" type="CT_Acc"/> + <xsd:element name="bar" type="CT_Bar"/> + <xsd:element name="box" type="CT_Box"/> + <xsd:element name="borderBox" type="CT_BorderBox"/> + <xsd:element name="d" type="CT_D"/> + <xsd:element name="eqArr" type="CT_EqArr"/> + <xsd:element name="f" type="CT_F"/> + <xsd:element name="func" type="CT_Func"/> + <xsd:element name="groupChr" type="CT_GroupChr"/> + <xsd:element name="limLow" type="CT_LimLow"/> + <xsd:element name="limUpp" type="CT_LimUpp"/> + <xsd:element name="m" type="CT_M"/> + <xsd:element name="nary" type="CT_Nary"/> + <xsd:element name="phant" type="CT_Phant"/> + <xsd:element name="rad" type="CT_Rad"/> + <xsd:element name="sPre" type="CT_SPre"/> + <xsd:element name="sSub" type="CT_SSub"/> + <xsd:element name="sSubSup" type="CT_SSubSup"/> + <xsd:element name="sSup" type="CT_SSup"/> + <xsd:element name="r" type="CT_R"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_OMathElements"> + <xsd:choice> + <xsd:group ref="EG_OMathMathElements"/> + <xsd:group ref="w:EG_PContentMath"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_OMathArgPr"> + <xsd:sequence> + <xsd:element name="argSz" type="CT_Integer2" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_OMathArg"> + <xsd:sequence> + <xsd:element name="argPr" type="CT_OMathArgPr" minOccurs="0"/> + <xsd:group ref="EG_OMathElements" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_Jc"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="centerGroup"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_OMathJc"> + <xsd:attribute name="val" type="ST_Jc"/> + </xsd:complexType> + <xsd:complexType name="CT_OMathParaPr"> + <xsd:sequence> + <xsd:element name="jc" type="CT_OMathJc" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TwipsMeasure"> + <xsd:attribute name="val" type="s:ST_TwipsMeasure" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_BreakBin"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="before"/> + <xsd:enumeration value="after"/> + <xsd:enumeration value="repeat"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_BreakBin"> + <xsd:attribute name="val" type="ST_BreakBin"/> + </xsd:complexType> + <xsd:simpleType name="ST_BreakBinSub"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="--"/> + <xsd:enumeration value="-+"/> + <xsd:enumeration value="+-"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_BreakBinSub"> + <xsd:attribute name="val" type="ST_BreakBinSub"/> + </xsd:complexType> + <xsd:complexType name="CT_MathPr"> + <xsd:sequence> + <xsd:element name="mathFont" type="CT_String" minOccurs="0"/> + <xsd:element name="brkBin" type="CT_BreakBin" minOccurs="0"/> + <xsd:element name="brkBinSub" type="CT_BreakBinSub" minOccurs="0"/> + <xsd:element name="smallFrac" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="dispDef" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="lMargin" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="rMargin" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="defJc" type="CT_OMathJc" minOccurs="0"/> + <xsd:element name="preSp" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="postSp" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="interSp" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="intraSp" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:choice minOccurs="0"> + <xsd:element name="wrapIndent" type="CT_TwipsMeasure"/> + <xsd:element name="wrapRight" type="CT_OnOff"/> + </xsd:choice> + <xsd:element name="intLim" type="CT_LimLoc" minOccurs="0"/> + <xsd:element name="naryLim" type="CT_LimLoc" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="mathPr" type="CT_MathPr"/> + <xsd:complexType name="CT_OMathPara"> + <xsd:sequence> + <xsd:element name="oMathParaPr" type="CT_OMathParaPr" minOccurs="0"/> + <xsd:element name="oMath" type="CT_OMath" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_OMath"> + <xsd:sequence> + <xsd:group ref="EG_OMathElements" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="oMathPara" type="CT_OMathPara"/> + <xsd:element name="oMath" type="CT_OMath"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd new file mode 100755 index 0000000..9e86f1b --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + elementFormDefault="qualified" + targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + blockDefault="#all"> + <xsd:simpleType name="ST_RelationshipId"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:attribute name="id" type="ST_RelationshipId"/> + <xsd:attribute name="embed" type="ST_RelationshipId"/> + <xsd:attribute name="link" type="ST_RelationshipId"/> + <xsd:attribute name="dm" type="ST_RelationshipId" default=""/> + <xsd:attribute name="lo" type="ST_RelationshipId" default=""/> + <xsd:attribute name="qs" type="ST_RelationshipId" default=""/> + <xsd:attribute name="cs" type="ST_RelationshipId" default=""/> + <xsd:attribute name="blip" type="ST_RelationshipId" default=""/> + <xsd:attribute name="pict" type="ST_RelationshipId"/> + <xsd:attribute name="href" type="ST_RelationshipId"/> + <xsd:attribute name="topLeft" type="ST_RelationshipId"/> + <xsd:attribute name="topRight" type="ST_RelationshipId"/> + <xsd:attribute name="bottomLeft" type="ST_RelationshipId"/> + <xsd:attribute name="bottomRight" type="ST_RelationshipId"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd new file mode 100755 index 0000000..d0be42e --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd @@ -0,0 +1,4439 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="http://schemas.openxmlformats.org/spreadsheetml/2006/main" + elementFormDefault="qualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:import + namespace="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" + schemaLocation="dml-spreadsheetDrawing.xsd"/> + <xsd:complexType name="CT_AutoFilter"> + <xsd:sequence> + <xsd:element name="filterColumn" minOccurs="0" maxOccurs="unbounded" type="CT_FilterColumn"/> + <xsd:element name="sortState" minOccurs="0" maxOccurs="1" type="CT_SortState"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="ref" type="ST_Ref"/> + </xsd:complexType> + <xsd:complexType name="CT_FilterColumn"> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="filters" type="CT_Filters" minOccurs="0" maxOccurs="1"/> + <xsd:element name="top10" type="CT_Top10" minOccurs="0" maxOccurs="1"/> + <xsd:element name="customFilters" type="CT_CustomFilters" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dynamicFilter" type="CT_DynamicFilter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="colorFilter" type="CT_ColorFilter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="iconFilter" minOccurs="0" maxOccurs="1" type="CT_IconFilter"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + <xsd:attribute name="colId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="hiddenButton" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showButton" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_Filters"> + <xsd:sequence> + <xsd:element name="filter" type="CT_Filter" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dateGroupItem" type="CT_DateGroupItem" minOccurs="0" maxOccurs="unbounded" + /> + </xsd:sequence> + <xsd:attribute name="blank" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="calendarType" type="s:ST_CalendarType" use="optional" default="none"/> + </xsd:complexType> + <xsd:complexType name="CT_Filter"> + <xsd:attribute name="val" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomFilters"> + <xsd:sequence> + <xsd:element name="customFilter" type="CT_CustomFilter" minOccurs="1" maxOccurs="2"/> + </xsd:sequence> + <xsd:attribute name="and" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomFilter"> + <xsd:attribute name="operator" type="ST_FilterOperator" default="equal" use="optional"/> + <xsd:attribute name="val" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_Top10"> + <xsd:attribute name="top" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="percent" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="val" type="xsd:double" use="required"/> + <xsd:attribute name="filterVal" type="xsd:double" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ColorFilter"> + <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="cellColor" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_IconFilter"> + <xsd:attribute name="iconSet" type="ST_IconSetType" use="required"/> + <xsd:attribute name="iconId" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_FilterOperator"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="equal"/> + <xsd:enumeration value="lessThan"/> + <xsd:enumeration value="lessThanOrEqual"/> + <xsd:enumeration value="notEqual"/> + <xsd:enumeration value="greaterThanOrEqual"/> + <xsd:enumeration value="greaterThan"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DynamicFilter"> + <xsd:attribute name="type" type="ST_DynamicFilterType" use="required"/> + <xsd:attribute name="val" type="xsd:double" use="optional"/> + <xsd:attribute name="valIso" type="xsd:dateTime" use="optional"/> + <xsd:attribute name="maxVal" type="xsd:double" use="optional"/> + <xsd:attribute name="maxValIso" type="xsd:dateTime" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_DynamicFilterType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="null"/> + <xsd:enumeration value="aboveAverage"/> + <xsd:enumeration value="belowAverage"/> + <xsd:enumeration value="tomorrow"/> + <xsd:enumeration value="today"/> + <xsd:enumeration value="yesterday"/> + <xsd:enumeration value="nextWeek"/> + <xsd:enumeration value="thisWeek"/> + <xsd:enumeration value="lastWeek"/> + <xsd:enumeration value="nextMonth"/> + <xsd:enumeration value="thisMonth"/> + <xsd:enumeration value="lastMonth"/> + <xsd:enumeration value="nextQuarter"/> + <xsd:enumeration value="thisQuarter"/> + <xsd:enumeration value="lastQuarter"/> + <xsd:enumeration value="nextYear"/> + <xsd:enumeration value="thisYear"/> + <xsd:enumeration value="lastYear"/> + <xsd:enumeration value="yearToDate"/> + <xsd:enumeration value="Q1"/> + <xsd:enumeration value="Q2"/> + <xsd:enumeration value="Q3"/> + <xsd:enumeration value="Q4"/> + <xsd:enumeration value="M1"/> + <xsd:enumeration value="M2"/> + <xsd:enumeration value="M3"/> + <xsd:enumeration value="M4"/> + <xsd:enumeration value="M5"/> + <xsd:enumeration value="M6"/> + <xsd:enumeration value="M7"/> + <xsd:enumeration value="M8"/> + <xsd:enumeration value="M9"/> + <xsd:enumeration value="M10"/> + <xsd:enumeration value="M11"/> + <xsd:enumeration value="M12"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_IconSetType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="3Arrows"/> + <xsd:enumeration value="3ArrowsGray"/> + <xsd:enumeration value="3Flags"/> + <xsd:enumeration value="3TrafficLights1"/> + <xsd:enumeration value="3TrafficLights2"/> + <xsd:enumeration value="3Signs"/> + <xsd:enumeration value="3Symbols"/> + <xsd:enumeration value="3Symbols2"/> + <xsd:enumeration value="4Arrows"/> + <xsd:enumeration value="4ArrowsGray"/> + <xsd:enumeration value="4RedToBlack"/> + <xsd:enumeration value="4Rating"/> + <xsd:enumeration value="4TrafficLights"/> + <xsd:enumeration value="5Arrows"/> + <xsd:enumeration value="5ArrowsGray"/> + <xsd:enumeration value="5Rating"/> + <xsd:enumeration value="5Quarters"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SortState"> + <xsd:sequence> + <xsd:element name="sortCondition" minOccurs="0" maxOccurs="64" type="CT_SortCondition"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="columnSort" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="sortMethod" type="ST_SortMethod" use="optional" default="none"/> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SortCondition"> + <xsd:attribute name="descending" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="sortBy" type="ST_SortBy" use="optional" default="value"/> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + <xsd:attribute name="customList" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="iconSet" type="ST_IconSetType" use="optional" default="3Arrows"/> + <xsd:attribute name="iconId" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_SortBy"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="value"/> + <xsd:enumeration value="cellColor"/> + <xsd:enumeration value="fontColor"/> + <xsd:enumeration value="icon"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_SortMethod"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="stroke"/> + <xsd:enumeration value="pinYin"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DateGroupItem"> + <xsd:attribute name="year" type="xsd:unsignedShort" use="required"/> + <xsd:attribute name="month" type="xsd:unsignedShort" use="optional"/> + <xsd:attribute name="day" type="xsd:unsignedShort" use="optional"/> + <xsd:attribute name="hour" type="xsd:unsignedShort" use="optional"/> + <xsd:attribute name="minute" type="xsd:unsignedShort" use="optional"/> + <xsd:attribute name="second" type="xsd:unsignedShort" use="optional"/> + <xsd:attribute name="dateTimeGrouping" type="ST_DateTimeGrouping" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_DateTimeGrouping"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="year"/> + <xsd:enumeration value="month"/> + <xsd:enumeration value="day"/> + <xsd:enumeration value="hour"/> + <xsd:enumeration value="minute"/> + <xsd:enumeration value="second"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CellRef"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_Ref"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_RefA"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_Sqref"> + <xsd:list itemType="ST_Ref"/> + </xsd:simpleType> + <xsd:simpleType name="ST_Formula"> + <xsd:restriction base="s:ST_Xstring"/> + </xsd:simpleType> + <xsd:simpleType name="ST_UnsignedIntHex"> + <xsd:restriction base="xsd:hexBinary"> + <xsd:length value="4"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_UnsignedShortHex"> + <xsd:restriction base="xsd:hexBinary"> + <xsd:length value="2"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_XStringElement"> + <xsd:attribute name="v" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Extension"> + <xsd:sequence> + <xsd:any processContents="lax"/> + </xsd:sequence> + <xsd:attribute name="uri" type="xsd:token"/> + </xsd:complexType> + <xsd:complexType name="CT_ObjectAnchor"> + <xsd:sequence> + <xsd:element ref="xdr:from" minOccurs="1" maxOccurs="1"/> + <xsd:element ref="xdr:to" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="moveWithCells" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="sizeWithCells" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:group name="EG_ExtensionList"> + <xsd:sequence> + <xsd:element name="ext" type="CT_Extension" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_ExtensionList"> + <xsd:sequence> + <xsd:group ref="EG_ExtensionList" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="calcChain" type="CT_CalcChain"/> + <xsd:complexType name="CT_CalcChain"> + <xsd:sequence> + <xsd:element name="c" type="CT_CalcCell" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CalcCell"> + <xsd:attribute name="r" type="ST_CellRef" use="optional"/> + <xsd:attribute name="ref" type="ST_CellRef" use="optional"/> + <xsd:attribute name="i" type="xsd:int" use="optional" default="0"/> + <xsd:attribute name="s" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="l" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="t" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="a" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:element name="comments" type="CT_Comments"/> + <xsd:complexType name="CT_Comments"> + <xsd:sequence> + <xsd:element name="authors" type="CT_Authors" minOccurs="1" maxOccurs="1"/> + <xsd:element name="commentList" type="CT_CommentList" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Authors"> + <xsd:sequence> + <xsd:element name="author" type="s:ST_Xstring" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CommentList"> + <xsd:sequence> + <xsd:element name="comment" type="CT_Comment" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Comment"> + <xsd:sequence> + <xsd:element name="text" type="CT_Rst" minOccurs="1" maxOccurs="1"/> + <xsd:element name="commentPr" type="CT_CommentPr" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + <xsd:attribute name="authorId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="guid" type="s:ST_Guid" use="optional"/> + <xsd:attribute name="shapeId" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_CommentPr"> + <xsd:sequence> + <xsd:element name="anchor" type="CT_ObjectAnchor" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="defaultSize" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="print" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="disabled" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="autoFill" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="autoLine" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="altText" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="textHAlign" type="ST_TextHAlign" use="optional" default="left"/> + <xsd:attribute name="textVAlign" type="ST_TextVAlign" use="optional" default="top"/> + <xsd:attribute name="lockText" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="justLastX" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="autoScale" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextHAlign"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="left"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="justify"/> + <xsd:enumeration value="distributed"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextVAlign"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="top"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="bottom"/> + <xsd:enumeration value="justify"/> + <xsd:enumeration value="distributed"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:element name="MapInfo" type="CT_MapInfo"/> + <xsd:complexType name="CT_MapInfo"> + <xsd:sequence> + <xsd:element name="Schema" type="CT_Schema" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="Map" type="CT_Map" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="SelectionNamespaces" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Schema" mixed="true"> + <xsd:sequence> + <xsd:any/> + </xsd:sequence> + <xsd:attribute name="ID" type="xsd:string" use="required"/> + <xsd:attribute name="SchemaRef" type="xsd:string" use="optional"/> + <xsd:attribute name="Namespace" type="xsd:string" use="optional"/> + <xsd:attribute name="SchemaLanguage" type="xsd:token" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Map"> + <xsd:sequence> + <xsd:element name="DataBinding" type="CT_DataBinding" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="ID" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="Name" type="xsd:string" use="required"/> + <xsd:attribute name="RootElement" type="xsd:string" use="required"/> + <xsd:attribute name="SchemaID" type="xsd:string" use="required"/> + <xsd:attribute name="ShowImportExportValidationErrors" type="xsd:boolean" use="required"/> + <xsd:attribute name="AutoFit" type="xsd:boolean" use="required"/> + <xsd:attribute name="Append" type="xsd:boolean" use="required"/> + <xsd:attribute name="PreserveSortAFLayout" type="xsd:boolean" use="required"/> + <xsd:attribute name="PreserveFormat" type="xsd:boolean" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DataBinding"> + <xsd:sequence> + <xsd:any/> + </xsd:sequence> + <xsd:attribute name="DataBindingName" type="xsd:string" use="optional"/> + <xsd:attribute name="FileBinding" type="xsd:boolean" use="optional"/> + <xsd:attribute name="ConnectionID" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="FileBindingName" type="xsd:string" use="optional"/> + <xsd:attribute name="DataBindingLoadMode" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:element name="connections" type="CT_Connections"/> + <xsd:complexType name="CT_Connections"> + <xsd:sequence> + <xsd:element name="connection" minOccurs="1" maxOccurs="unbounded" type="CT_Connection"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Connection"> + <xsd:sequence> + <xsd:element name="dbPr" minOccurs="0" maxOccurs="1" type="CT_DbPr"/> + <xsd:element name="olapPr" minOccurs="0" maxOccurs="1" type="CT_OlapPr"/> + <xsd:element name="webPr" minOccurs="0" maxOccurs="1" type="CT_WebPr"/> + <xsd:element name="textPr" minOccurs="0" maxOccurs="1" type="CT_TextPr"/> + <xsd:element name="parameters" minOccurs="0" maxOccurs="1" type="CT_Parameters"/> + <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="id" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="sourceFile" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="odcFile" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="keepAlive" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="interval" use="optional" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="name" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="description" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="type" use="optional" type="xsd:unsignedInt"/> + <xsd:attribute name="reconnectionMethod" use="optional" type="xsd:unsignedInt" default="1"/> + <xsd:attribute name="refreshedVersion" use="required" type="xsd:unsignedByte"/> + <xsd:attribute name="minRefreshableVersion" use="optional" type="xsd:unsignedByte" default="0"/> + <xsd:attribute name="savePassword" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="new" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="deleted" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="onlyUseConnectionFile" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="background" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="refreshOnLoad" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="saveData" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="credentials" use="optional" type="ST_CredMethod" default="integrated"/> + <xsd:attribute name="singleSignOnId" use="optional" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:simpleType name="ST_CredMethod"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="integrated"/> + <xsd:enumeration value="none"/> + <xsd:enumeration value="stored"/> + <xsd:enumeration value="prompt"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DbPr"> + <xsd:attribute name="connection" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="command" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="serverCommand" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="commandType" use="optional" type="xsd:unsignedInt" default="2"/> + </xsd:complexType> + <xsd:complexType name="CT_OlapPr"> + <xsd:attribute name="local" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="localConnection" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="localRefresh" use="optional" type="xsd:boolean" default="true"/> + <xsd:attribute name="sendLocale" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="rowDrillCount" use="optional" type="xsd:unsignedInt"/> + <xsd:attribute name="serverFill" use="optional" type="xsd:boolean" default="true"/> + <xsd:attribute name="serverNumberFormat" use="optional" type="xsd:boolean" default="true"/> + <xsd:attribute name="serverFont" use="optional" type="xsd:boolean" default="true"/> + <xsd:attribute name="serverFontColor" use="optional" type="xsd:boolean" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_WebPr"> + <xsd:sequence> + <xsd:element name="tables" minOccurs="0" maxOccurs="1" type="CT_Tables"/> + </xsd:sequence> + <xsd:attribute name="xml" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="sourceData" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="parsePre" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="consecutive" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="firstRow" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="xl97" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="textDates" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="xl2000" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="url" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="post" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="htmlTables" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="htmlFormat" use="optional" type="ST_HtmlFmt" default="none"/> + <xsd:attribute name="editPage" use="optional" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:simpleType name="ST_HtmlFmt"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="rtf"/> + <xsd:enumeration value="all"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Parameters"> + <xsd:sequence> + <xsd:element name="parameter" minOccurs="1" maxOccurs="unbounded" type="CT_Parameter"/> + </xsd:sequence> + <xsd:attribute name="count" use="optional" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Parameter"> + <xsd:attribute name="name" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="sqlType" use="optional" type="xsd:int" default="0"/> + <xsd:attribute name="parameterType" use="optional" type="ST_ParameterType" default="prompt"/> + <xsd:attribute name="refreshOnChange" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="prompt" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="boolean" use="optional" type="xsd:boolean"/> + <xsd:attribute name="double" use="optional" type="xsd:double"/> + <xsd:attribute name="integer" use="optional" type="xsd:int"/> + <xsd:attribute name="string" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="cell" use="optional" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:simpleType name="ST_ParameterType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="prompt"/> + <xsd:enumeration value="value"/> + <xsd:enumeration value="cell"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Tables"> + <xsd:choice minOccurs="1" maxOccurs="unbounded"> + <xsd:element name="m" type="CT_TableMissing"/> + <xsd:element name="s" type="CT_XStringElement"/> + <xsd:element name="x" type="CT_Index"/> + </xsd:choice> + <xsd:attribute name="count" use="optional" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_TableMissing"/> + <xsd:complexType name="CT_TextPr"> + <xsd:sequence> + <xsd:element name="textFields" minOccurs="0" maxOccurs="1" type="CT_TextFields"/> + </xsd:sequence> + <xsd:attribute name="prompt" use="optional" type="xsd:boolean" default="true"/> + <xsd:attribute name="fileType" use="optional" type="ST_FileType" default="win"/> + <xsd:attribute name="codePage" use="optional" type="xsd:unsignedInt" default="1252"/> + <xsd:attribute name="characterSet" use="optional" type="xsd:string"/> + <xsd:attribute name="firstRow" use="optional" type="xsd:unsignedInt" default="1"/> + <xsd:attribute name="sourceFile" use="optional" type="s:ST_Xstring" default=""/> + <xsd:attribute name="delimited" use="optional" type="xsd:boolean" default="true"/> + <xsd:attribute name="decimal" use="optional" type="s:ST_Xstring" default="."/> + <xsd:attribute name="thousands" use="optional" type="s:ST_Xstring" default=","/> + <xsd:attribute name="tab" use="optional" type="xsd:boolean" default="true"/> + <xsd:attribute name="space" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="comma" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="semicolon" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="consecutive" use="optional" type="xsd:boolean" default="false"/> + <xsd:attribute name="qualifier" use="optional" type="ST_Qualifier" default="doubleQuote"/> + <xsd:attribute name="delimiter" use="optional" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:simpleType name="ST_FileType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="mac"/> + <xsd:enumeration value="win"/> + <xsd:enumeration value="dos"/> + <xsd:enumeration value="lin"/> + <xsd:enumeration value="other"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Qualifier"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="doubleQuote"/> + <xsd:enumeration value="singleQuote"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextFields"> + <xsd:sequence> + <xsd:element name="textField" minOccurs="1" maxOccurs="unbounded" type="CT_TextField"/> + </xsd:sequence> + <xsd:attribute name="count" use="optional" type="xsd:unsignedInt" default="1"/> + </xsd:complexType> + <xsd:complexType name="CT_TextField"> + <xsd:attribute name="type" use="optional" type="ST_ExternalConnectionType" default="general"/> + <xsd:attribute name="position" use="optional" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:simpleType name="ST_ExternalConnectionType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="general"/> + <xsd:enumeration value="text"/> + <xsd:enumeration value="MDY"/> + <xsd:enumeration value="DMY"/> + <xsd:enumeration value="YMD"/> + <xsd:enumeration value="MYD"/> + <xsd:enumeration value="DYM"/> + <xsd:enumeration value="YDM"/> + <xsd:enumeration value="skip"/> + <xsd:enumeration value="EMD"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:element name="pivotCacheDefinition" type="CT_PivotCacheDefinition"/> + <xsd:element name="pivotCacheRecords" type="CT_PivotCacheRecords"/> + <xsd:element name="pivotTableDefinition" type="CT_pivotTableDefinition"/> + <xsd:complexType name="CT_PivotCacheDefinition"> + <xsd:sequence> + <xsd:element name="cacheSource" type="CT_CacheSource" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cacheFields" type="CT_CacheFields" minOccurs="1" maxOccurs="1"/> + <xsd:element name="cacheHierarchies" minOccurs="0" type="CT_CacheHierarchies"/> + <xsd:element name="kpis" minOccurs="0" type="CT_PCDKPIs"/> + <xsd:element name="tupleCache" minOccurs="0" type="CT_TupleCache"/> + <xsd:element name="calculatedItems" minOccurs="0" type="CT_CalculatedItems"/> + <xsd:element name="calculatedMembers" type="CT_CalculatedMembers" minOccurs="0"/> + <xsd:element name="dimensions" type="CT_Dimensions" minOccurs="0"/> + <xsd:element name="measureGroups" type="CT_MeasureGroups" minOccurs="0"/> + <xsd:element name="maps" type="CT_MeasureDimensionMaps" minOccurs="0"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute ref="r:id" use="optional"/> + <xsd:attribute name="invalid" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="saveData" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="refreshOnLoad" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="optimizeMemory" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="enableRefresh" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="refreshedBy" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="refreshedDate" type="xsd:double" use="optional"/> + <xsd:attribute name="refreshedDateIso" type="xsd:dateTime" use="optional"/> + <xsd:attribute name="backgroundQuery" type="xsd:boolean" default="false"/> + <xsd:attribute name="missingItemsLimit" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="createdVersion" type="xsd:unsignedByte" use="optional" default="0"/> + <xsd:attribute name="refreshedVersion" type="xsd:unsignedByte" use="optional" default="0"/> + <xsd:attribute name="minRefreshableVersion" type="xsd:unsignedByte" use="optional" default="0"/> + <xsd:attribute name="recordCount" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="upgradeOnRefresh" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="tupleCache" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="supportSubquery" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="supportAdvancedDrill" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CacheFields"> + <xsd:sequence> + <xsd:element name="cacheField" type="CT_CacheField" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_CacheField"> + <xsd:sequence> + <xsd:element name="sharedItems" type="CT_SharedItems" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fieldGroup" minOccurs="0" type="CT_FieldGroup"/> + <xsd:element name="mpMap" minOccurs="0" maxOccurs="unbounded" type="CT_X"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="caption" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="propertyName" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="serverField" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="uniqueList" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/> + <xsd:attribute name="formula" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="sqlType" type="xsd:int" use="optional" default="0"/> + <xsd:attribute name="hierarchy" type="xsd:int" use="optional" default="0"/> + <xsd:attribute name="level" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="databaseField" type="xsd:boolean" default="true"/> + <xsd:attribute name="mappingCount" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="memberPropertyField" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CacheSource"> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="worksheetSource" type="CT_WorksheetSource" minOccurs="1" maxOccurs="1"/> + <xsd:element name="consolidation" type="CT_Consolidation" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0"/> + </xsd:choice> + <xsd:attribute name="type" type="ST_SourceType" use="required"/> + <xsd:attribute name="connectionId" type="xsd:unsignedInt" default="0" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_SourceType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="worksheet"/> + <xsd:enumeration value="external"/> + <xsd:enumeration value="consolidation"/> + <xsd:enumeration value="scenario"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_WorksheetSource"> + <xsd:attribute name="ref" type="ST_Ref" use="optional"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="sheet" type="s:ST_Xstring" use="optional"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Consolidation"> + <xsd:sequence> + <xsd:element name="pages" type="CT_Pages" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rangeSets" type="CT_RangeSets" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="autoPage" type="xsd:boolean" default="true" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Pages"> + <xsd:sequence> + <xsd:element name="page" type="CT_PCDSCPage" minOccurs="1" maxOccurs="4"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_PCDSCPage"> + <xsd:sequence> + <xsd:element name="pageItem" type="CT_PageItem" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_PageItem"> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RangeSets"> + <xsd:sequence> + <xsd:element name="rangeSet" type="CT_RangeSet" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RangeSet"> + <xsd:attribute name="i1" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="i2" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="i3" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="i4" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="ref" type="ST_Ref" use="optional"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="sheet" type="s:ST_Xstring" use="optional"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_SharedItems"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="m" type="CT_Missing" minOccurs="1" maxOccurs="1"/> + <xsd:element name="n" type="CT_Number" minOccurs="1" maxOccurs="1"/> + <xsd:element name="b" type="CT_Boolean" minOccurs="1" maxOccurs="1"/> + <xsd:element name="e" type="CT_Error" minOccurs="1" maxOccurs="1"/> + <xsd:element name="s" type="CT_String" minOccurs="1" maxOccurs="1"/> + <xsd:element name="d" type="CT_DateTime" minOccurs="1" maxOccurs="1"/> + </xsd:choice> + <xsd:attribute name="containsSemiMixedTypes" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="containsNonDate" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="containsDate" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="containsString" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="containsBlank" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="containsMixedTypes" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="containsNumber" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="containsInteger" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="minValue" type="xsd:double" use="optional"/> + <xsd:attribute name="maxValue" type="xsd:double" use="optional"/> + <xsd:attribute name="minDate" type="xsd:dateTime" use="optional"/> + <xsd:attribute name="maxDate" type="xsd:dateTime" use="optional"/> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="longText" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Missing"> + <xsd:sequence> + <xsd:element name="tpls" minOccurs="0" maxOccurs="unbounded" type="CT_Tuples"/> + <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/> + </xsd:sequence> + <xsd:attribute name="u" type="xsd:boolean"/> + <xsd:attribute name="f" type="xsd:boolean"/> + <xsd:attribute name="c" type="s:ST_Xstring"/> + <xsd:attribute name="cp" type="xsd:unsignedInt"/> + <xsd:attribute name="in" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="un" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Number"> + <xsd:sequence> + <xsd:element name="tpls" minOccurs="0" maxOccurs="unbounded" type="CT_Tuples"/> + <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/> + </xsd:sequence> + <xsd:attribute name="v" use="required" type="xsd:double"/> + <xsd:attribute name="u" type="xsd:boolean"/> + <xsd:attribute name="f" type="xsd:boolean"/> + <xsd:attribute name="c" type="s:ST_Xstring"/> + <xsd:attribute name="cp" type="xsd:unsignedInt"/> + <xsd:attribute name="in" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="un" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Boolean"> + <xsd:sequence> + <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/> + </xsd:sequence> + <xsd:attribute name="v" use="required" type="xsd:boolean"/> + <xsd:attribute name="u" type="xsd:boolean"/> + <xsd:attribute name="f" type="xsd:boolean"/> + <xsd:attribute name="c" type="s:ST_Xstring"/> + <xsd:attribute name="cp" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Error"> + <xsd:sequence> + <xsd:element name="tpls" minOccurs="0" type="CT_Tuples"/> + <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/> + </xsd:sequence> + <xsd:attribute name="v" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="u" type="xsd:boolean"/> + <xsd:attribute name="f" type="xsd:boolean"/> + <xsd:attribute name="c" type="s:ST_Xstring"/> + <xsd:attribute name="cp" type="xsd:unsignedInt"/> + <xsd:attribute name="in" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="un" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_String"> + <xsd:sequence> + <xsd:element name="tpls" minOccurs="0" maxOccurs="unbounded" type="CT_Tuples"/> + <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/> + </xsd:sequence> + <xsd:attribute name="v" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="u" type="xsd:boolean"/> + <xsd:attribute name="f" type="xsd:boolean"/> + <xsd:attribute name="c" type="s:ST_Xstring"/> + <xsd:attribute name="cp" type="xsd:unsignedInt"/> + <xsd:attribute name="in" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="un" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_DateTime"> + <xsd:sequence> + <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/> + </xsd:sequence> + <xsd:attribute name="v" use="required" type="xsd:dateTime"/> + <xsd:attribute name="u" type="xsd:boolean"/> + <xsd:attribute name="f" type="xsd:boolean"/> + <xsd:attribute name="c" type="s:ST_Xstring"/> + <xsd:attribute name="cp" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_FieldGroup"> + <xsd:sequence> + <xsd:element name="rangePr" minOccurs="0" type="CT_RangePr"/> + <xsd:element name="discretePr" minOccurs="0" type="CT_DiscretePr"/> + <xsd:element name="groupItems" minOccurs="0" type="CT_GroupItems"/> + </xsd:sequence> + <xsd:attribute name="par" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="base" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RangePr"> + <xsd:attribute name="autoStart" type="xsd:boolean" default="true"/> + <xsd:attribute name="autoEnd" type="xsd:boolean" default="true"/> + <xsd:attribute name="groupBy" type="ST_GroupBy" default="range"/> + <xsd:attribute name="startNum" type="xsd:double"/> + <xsd:attribute name="endNum" type="xsd:double"/> + <xsd:attribute name="startDate" type="xsd:dateTime"/> + <xsd:attribute name="endDate" type="xsd:dateTime"/> + <xsd:attribute name="groupInterval" type="xsd:double" default="1"/> + </xsd:complexType> + <xsd:simpleType name="ST_GroupBy"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="range"/> + <xsd:enumeration value="seconds"/> + <xsd:enumeration value="minutes"/> + <xsd:enumeration value="hours"/> + <xsd:enumeration value="days"/> + <xsd:enumeration value="months"/> + <xsd:enumeration value="quarters"/> + <xsd:enumeration value="years"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DiscretePr"> + <xsd:sequence> + <xsd:element name="x" maxOccurs="unbounded" type="CT_Index"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupItems"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="m" type="CT_Missing"/> + <xsd:element name="n" type="CT_Number"/> + <xsd:element name="b" type="CT_Boolean"/> + <xsd:element name="e" type="CT_Error"/> + <xsd:element name="s" type="CT_String"/> + <xsd:element name="d" type="CT_DateTime"/> + </xsd:choice> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotCacheRecords"> + <xsd:sequence> + <xsd:element name="r" minOccurs="0" maxOccurs="unbounded" type="CT_Record"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Record"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="m" type="CT_Missing"/> + <xsd:element name="n" type="CT_Number"/> + <xsd:element name="b" type="CT_Boolean"/> + <xsd:element name="e" type="CT_Error"/> + <xsd:element name="s" type="CT_String"/> + <xsd:element name="d" type="CT_DateTime"/> + <xsd:element name="x" type="CT_Index"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_PCDKPIs"> + <xsd:sequence> + <xsd:element name="kpi" minOccurs="0" maxOccurs="unbounded" type="CT_PCDKPI"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PCDKPI"> + <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="caption" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="displayFolder" type="s:ST_Xstring"/> + <xsd:attribute name="measureGroup" type="s:ST_Xstring"/> + <xsd:attribute name="parent" type="s:ST_Xstring"/> + <xsd:attribute name="value" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="goal" type="s:ST_Xstring"/> + <xsd:attribute name="status" type="s:ST_Xstring"/> + <xsd:attribute name="trend" type="s:ST_Xstring"/> + <xsd:attribute name="weight" type="s:ST_Xstring"/> + <xsd:attribute name="time" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_CacheHierarchies"> + <xsd:sequence> + <xsd:element name="cacheHierarchy" minOccurs="0" maxOccurs="unbounded" + type="CT_CacheHierarchy"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_CacheHierarchy"> + <xsd:sequence> + <xsd:element name="fieldsUsage" minOccurs="0" type="CT_FieldsUsage"/> + <xsd:element name="groupLevels" minOccurs="0" type="CT_GroupLevels"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="caption" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="measure" type="xsd:boolean" default="false"/> + <xsd:attribute name="set" type="xsd:boolean" default="false"/> + <xsd:attribute name="parentSet" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="iconSet" type="xsd:int" default="0"/> + <xsd:attribute name="attribute" type="xsd:boolean" default="false"/> + <xsd:attribute name="time" type="xsd:boolean" default="false"/> + <xsd:attribute name="keyAttribute" type="xsd:boolean" default="false"/> + <xsd:attribute name="defaultMemberUniqueName" type="s:ST_Xstring"/> + <xsd:attribute name="allUniqueName" type="s:ST_Xstring"/> + <xsd:attribute name="allCaption" type="s:ST_Xstring"/> + <xsd:attribute name="dimensionUniqueName" type="s:ST_Xstring"/> + <xsd:attribute name="displayFolder" type="s:ST_Xstring"/> + <xsd:attribute name="measureGroup" type="s:ST_Xstring"/> + <xsd:attribute name="measures" type="xsd:boolean" default="false"/> + <xsd:attribute name="count" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="oneField" type="xsd:boolean" default="false"/> + <xsd:attribute name="memberValueDatatype" use="optional" type="xsd:unsignedShort"/> + <xsd:attribute name="unbalanced" use="optional" type="xsd:boolean"/> + <xsd:attribute name="unbalancedGroup" use="optional" type="xsd:boolean"/> + <xsd:attribute name="hidden" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_FieldsUsage"> + <xsd:sequence> + <xsd:element name="fieldUsage" minOccurs="0" maxOccurs="unbounded" type="CT_FieldUsage"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_FieldUsage"> + <xsd:attribute name="x" use="required" type="xsd:int"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupLevels"> + <xsd:sequence> + <xsd:element name="groupLevel" maxOccurs="unbounded" type="CT_GroupLevel"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupLevel"> + <xsd:sequence> + <xsd:element name="groups" minOccurs="0" type="CT_Groups"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="caption" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="user" type="xsd:boolean" default="false"/> + <xsd:attribute name="customRollUp" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Groups"> + <xsd:sequence> + <xsd:element name="group" maxOccurs="unbounded" type="CT_LevelGroup"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_LevelGroup"> + <xsd:sequence> + <xsd:element name="groupMembers" type="CT_GroupMembers"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="caption" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="uniqueParent" type="s:ST_Xstring"/> + <xsd:attribute name="id" type="xsd:int"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupMembers"> + <xsd:sequence> + <xsd:element name="groupMember" maxOccurs="unbounded" type="CT_GroupMember"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_GroupMember"> + <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="group" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_TupleCache"> + <xsd:sequence> + <xsd:element name="entries" minOccurs="0" type="CT_PCDSDTCEntries"/> + <xsd:element name="sets" minOccurs="0" type="CT_Sets"/> + <xsd:element name="queryCache" minOccurs="0" type="CT_QueryCache"/> + <xsd:element name="serverFormats" minOccurs="0" maxOccurs="1" type="CT_ServerFormats"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ServerFormat"> + <xsd:attribute name="culture" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="format" use="optional" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_ServerFormats"> + <xsd:sequence> + <xsd:element name="serverFormat" type="CT_ServerFormat" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PCDSDTCEntries"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="m" type="CT_Missing"/> + <xsd:element name="n" type="CT_Number"/> + <xsd:element name="e" type="CT_Error"/> + <xsd:element name="s" type="CT_String"/> + </xsd:choice> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Tuples"> + <xsd:sequence> + <xsd:element name="tpl" type="CT_Tuple" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="c" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Tuple"> + <xsd:attribute name="fld" type="xsd:unsignedInt"/> + <xsd:attribute name="hier" type="xsd:unsignedInt"/> + <xsd:attribute name="item" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Sets"> + <xsd:sequence> + <xsd:element name="set" maxOccurs="unbounded" type="CT_Set"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Set"> + <xsd:sequence> + <xsd:element name="tpls" minOccurs="0" maxOccurs="unbounded" type="CT_Tuples"/> + <xsd:element name="sortByTuple" minOccurs="0" type="CT_Tuples"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + <xsd:attribute name="maxRank" use="required" type="xsd:int"/> + <xsd:attribute name="setDefinition" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="sortType" type="ST_SortType" default="none"/> + <xsd:attribute name="queryFailed" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_SortType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="ascending"/> + <xsd:enumeration value="descending"/> + <xsd:enumeration value="ascendingAlpha"/> + <xsd:enumeration value="descendingAlpha"/> + <xsd:enumeration value="ascendingNatural"/> + <xsd:enumeration value="descendingNatural"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_QueryCache"> + <xsd:sequence> + <xsd:element name="query" maxOccurs="unbounded" type="CT_Query"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Query"> + <xsd:sequence> + <xsd:element name="tpls" minOccurs="0" type="CT_Tuples"/> + </xsd:sequence> + <xsd:attribute name="mdx" use="required" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_CalculatedItems"> + <xsd:sequence> + <xsd:element name="calculatedItem" maxOccurs="unbounded" type="CT_CalculatedItem"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_CalculatedItem"> + <xsd:sequence> + <xsd:element name="pivotArea" type="CT_PivotArea"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="field" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="formula" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_CalculatedMembers"> + <xsd:sequence> + <xsd:element name="calculatedMember" maxOccurs="unbounded" type="CT_CalculatedMember"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_CalculatedMember"> + <xsd:sequence minOccurs="0"> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="mdx" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="memberName" type="s:ST_Xstring"/> + <xsd:attribute name="hierarchy" type="s:ST_Xstring"/> + <xsd:attribute name="parent" type="s:ST_Xstring"/> + <xsd:attribute name="solveOrder" type="xsd:int" default="0"/> + <xsd:attribute name="set" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_pivotTableDefinition"> + <xsd:sequence> + <xsd:element name="location" type="CT_Location"/> + <xsd:element name="pivotFields" type="CT_PivotFields" minOccurs="0"/> + <xsd:element name="rowFields" type="CT_RowFields" minOccurs="0"/> + <xsd:element name="rowItems" type="CT_rowItems" minOccurs="0"/> + <xsd:element name="colFields" type="CT_ColFields" minOccurs="0"/> + <xsd:element name="colItems" type="CT_colItems" minOccurs="0"/> + <xsd:element name="pageFields" type="CT_PageFields" minOccurs="0"/> + <xsd:element name="dataFields" type="CT_DataFields" minOccurs="0"/> + <xsd:element name="formats" type="CT_Formats" minOccurs="0"/> + <xsd:element name="conditionalFormats" type="CT_ConditionalFormats" minOccurs="0"/> + <xsd:element name="chartFormats" type="CT_ChartFormats" minOccurs="0"/> + <xsd:element name="pivotHierarchies" type="CT_PivotHierarchies" minOccurs="0"/> + <xsd:element name="pivotTableStyleInfo" minOccurs="0" maxOccurs="1" type="CT_PivotTableStyle"/> + <xsd:element name="filters" minOccurs="0" maxOccurs="1" type="CT_PivotFilters"/> + <xsd:element name="rowHierarchiesUsage" type="CT_RowHierarchiesUsage" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="colHierarchiesUsage" type="CT_ColHierarchiesUsage" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="cacheId" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="dataOnRows" type="xsd:boolean" default="false"/> + <xsd:attribute name="dataPosition" type="xsd:unsignedInt" use="optional"/> + <xsd:attributeGroup ref="AG_AutoFormat"/> + <xsd:attribute name="dataCaption" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="grandTotalCaption" type="s:ST_Xstring"/> + <xsd:attribute name="errorCaption" type="s:ST_Xstring"/> + <xsd:attribute name="showError" type="xsd:boolean" default="false"/> + <xsd:attribute name="missingCaption" type="s:ST_Xstring"/> + <xsd:attribute name="showMissing" type="xsd:boolean" default="true"/> + <xsd:attribute name="pageStyle" type="s:ST_Xstring"/> + <xsd:attribute name="pivotTableStyle" type="s:ST_Xstring"/> + <xsd:attribute name="vacatedStyle" type="s:ST_Xstring"/> + <xsd:attribute name="tag" type="s:ST_Xstring"/> + <xsd:attribute name="updatedVersion" type="xsd:unsignedByte" default="0"/> + <xsd:attribute name="minRefreshableVersion" type="xsd:unsignedByte" default="0"/> + <xsd:attribute name="asteriskTotals" type="xsd:boolean" default="false"/> + <xsd:attribute name="showItems" type="xsd:boolean" default="true"/> + <xsd:attribute name="editData" type="xsd:boolean" default="false"/> + <xsd:attribute name="disableFieldList" type="xsd:boolean" default="false"/> + <xsd:attribute name="showCalcMbrs" type="xsd:boolean" default="true"/> + <xsd:attribute name="visualTotals" type="xsd:boolean" default="true"/> + <xsd:attribute name="showMultipleLabel" type="xsd:boolean" default="true"/> + <xsd:attribute name="showDataDropDown" type="xsd:boolean" default="true"/> + <xsd:attribute name="showDrill" type="xsd:boolean" default="true"/> + <xsd:attribute name="printDrill" type="xsd:boolean" default="false"/> + <xsd:attribute name="showMemberPropertyTips" type="xsd:boolean" default="true"/> + <xsd:attribute name="showDataTips" type="xsd:boolean" default="true"/> + <xsd:attribute name="enableWizard" type="xsd:boolean" default="true"/> + <xsd:attribute name="enableDrill" type="xsd:boolean" default="true"/> + <xsd:attribute name="enableFieldProperties" type="xsd:boolean" default="true"/> + <xsd:attribute name="preserveFormatting" type="xsd:boolean" default="true"/> + <xsd:attribute name="useAutoFormatting" type="xsd:boolean" default="false"/> + <xsd:attribute name="pageWrap" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="pageOverThenDown" type="xsd:boolean" default="false"/> + <xsd:attribute name="subtotalHiddenItems" type="xsd:boolean" default="false"/> + <xsd:attribute name="rowGrandTotals" type="xsd:boolean" default="true"/> + <xsd:attribute name="colGrandTotals" type="xsd:boolean" default="true"/> + <xsd:attribute name="fieldPrintTitles" type="xsd:boolean" default="false"/> + <xsd:attribute name="itemPrintTitles" type="xsd:boolean" default="false"/> + <xsd:attribute name="mergeItem" type="xsd:boolean" default="false"/> + <xsd:attribute name="showDropZones" type="xsd:boolean" default="true"/> + <xsd:attribute name="createdVersion" type="xsd:unsignedByte" default="0"/> + <xsd:attribute name="indent" type="xsd:unsignedInt" default="1"/> + <xsd:attribute name="showEmptyRow" type="xsd:boolean" default="false"/> + <xsd:attribute name="showEmptyCol" type="xsd:boolean" default="false"/> + <xsd:attribute name="showHeaders" type="xsd:boolean" default="true"/> + <xsd:attribute name="compact" type="xsd:boolean" default="true"/> + <xsd:attribute name="outline" type="xsd:boolean" default="false"/> + <xsd:attribute name="outlineData" type="xsd:boolean" default="false"/> + <xsd:attribute name="compactData" type="xsd:boolean" default="true"/> + <xsd:attribute name="published" type="xsd:boolean" default="false"/> + <xsd:attribute name="gridDropZones" type="xsd:boolean" default="false"/> + <xsd:attribute name="immersive" type="xsd:boolean" default="true"/> + <xsd:attribute name="multipleFieldFilters" type="xsd:boolean" default="true"/> + <xsd:attribute name="chartFormat" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="rowHeaderCaption" type="s:ST_Xstring"/> + <xsd:attribute name="colHeaderCaption" type="s:ST_Xstring"/> + <xsd:attribute name="fieldListSortAscending" type="xsd:boolean" default="false"/> + <xsd:attribute name="mdxSubqueries" type="xsd:boolean" default="false"/> + <xsd:attribute name="customListSort" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_Location"> + <xsd:attribute name="ref" use="required" type="ST_Ref"/> + <xsd:attribute name="firstHeaderRow" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="firstDataRow" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="firstDataCol" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="rowPageCount" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="colPageCount" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotFields"> + <xsd:sequence> + <xsd:element name="pivotField" maxOccurs="unbounded" type="CT_PivotField"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotField"> + <xsd:sequence> + <xsd:element name="items" minOccurs="0" type="CT_Items"/> + <xsd:element name="autoSortScope" minOccurs="0" type="CT_AutoSortScope"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_Xstring"/> + <xsd:attribute name="axis" use="optional" type="ST_Axis"/> + <xsd:attribute name="dataField" type="xsd:boolean" default="false"/> + <xsd:attribute name="subtotalCaption" type="s:ST_Xstring"/> + <xsd:attribute name="showDropDowns" type="xsd:boolean" default="true"/> + <xsd:attribute name="hiddenLevel" type="xsd:boolean" default="false"/> + <xsd:attribute name="uniqueMemberProperty" type="s:ST_Xstring"/> + <xsd:attribute name="compact" type="xsd:boolean" default="true"/> + <xsd:attribute name="allDrilled" type="xsd:boolean" default="false"/> + <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/> + <xsd:attribute name="outline" type="xsd:boolean" default="true"/> + <xsd:attribute name="subtotalTop" type="xsd:boolean" default="true"/> + <xsd:attribute name="dragToRow" type="xsd:boolean" default="true"/> + <xsd:attribute name="dragToCol" type="xsd:boolean" default="true"/> + <xsd:attribute name="multipleItemSelectionAllowed" type="xsd:boolean" default="false"/> + <xsd:attribute name="dragToPage" type="xsd:boolean" default="true"/> + <xsd:attribute name="dragToData" type="xsd:boolean" default="true"/> + <xsd:attribute name="dragOff" type="xsd:boolean" default="true"/> + <xsd:attribute name="showAll" type="xsd:boolean" default="true"/> + <xsd:attribute name="insertBlankRow" type="xsd:boolean" default="false"/> + <xsd:attribute name="serverField" type="xsd:boolean" default="false"/> + <xsd:attribute name="insertPageBreak" type="xsd:boolean" default="false"/> + <xsd:attribute name="autoShow" type="xsd:boolean" default="false"/> + <xsd:attribute name="topAutoShow" type="xsd:boolean" default="true"/> + <xsd:attribute name="hideNewItems" type="xsd:boolean" default="false"/> + <xsd:attribute name="measureFilter" type="xsd:boolean" default="false"/> + <xsd:attribute name="includeNewItemsInFilter" type="xsd:boolean" default="false"/> + <xsd:attribute name="itemPageCount" type="xsd:unsignedInt" default="10"/> + <xsd:attribute name="sortType" type="ST_FieldSortType" default="manual"/> + <xsd:attribute name="dataSourceSort" type="xsd:boolean" use="optional"/> + <xsd:attribute name="nonAutoSortDefault" type="xsd:boolean" default="false"/> + <xsd:attribute name="rankBy" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="defaultSubtotal" type="xsd:boolean" default="true"/> + <xsd:attribute name="sumSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="countASubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="avgSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="maxSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="minSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="productSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="countSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="stdDevSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="stdDevPSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="varSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="varPSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="showPropCell" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showPropTip" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showPropAsCaption" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="defaultAttributeDrillState" type="xsd:boolean" use="optional" + default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_AutoSortScope"> + <xsd:sequence> + <xsd:element name="pivotArea" type="CT_PivotArea"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Items"> + <xsd:sequence> + <xsd:element name="item" maxOccurs="unbounded" type="CT_Item"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Item"> + <xsd:attribute name="n" type="s:ST_Xstring"/> + <xsd:attribute name="t" type="ST_ItemType" default="data"/> + <xsd:attribute name="h" type="xsd:boolean" default="false"/> + <xsd:attribute name="s" type="xsd:boolean" default="false"/> + <xsd:attribute name="sd" type="xsd:boolean" default="true"/> + <xsd:attribute name="f" type="xsd:boolean" default="false"/> + <xsd:attribute name="m" type="xsd:boolean" default="false"/> + <xsd:attribute name="c" type="xsd:boolean" default="false"/> + <xsd:attribute name="x" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="d" type="xsd:boolean" default="false"/> + <xsd:attribute name="e" type="xsd:boolean" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_PageFields"> + <xsd:sequence> + <xsd:element name="pageField" maxOccurs="unbounded" type="CT_PageField"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PageField"> + <xsd:sequence minOccurs="0"> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="fld" use="required" type="xsd:int"/> + <xsd:attribute name="item" use="optional" type="xsd:unsignedInt"/> + <xsd:attribute name="hier" type="xsd:int"/> + <xsd:attribute name="name" type="s:ST_Xstring"/> + <xsd:attribute name="cap" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_DataFields"> + <xsd:sequence> + <xsd:element name="dataField" maxOccurs="unbounded" type="CT_DataField"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_DataField"> + <xsd:sequence> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="name" use="optional" type="s:ST_Xstring"/> + <xsd:attribute name="fld" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="subtotal" type="ST_DataConsolidateFunction" default="sum"/> + <xsd:attribute name="showDataAs" type="ST_ShowDataAs" default="normal"/> + <xsd:attribute name="baseField" type="xsd:int" default="-1"/> + <xsd:attribute name="baseItem" type="xsd:unsignedInt" default="1048832"/> + <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_rowItems"> + <xsd:sequence> + <xsd:element name="i" maxOccurs="unbounded" type="CT_I"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_colItems"> + <xsd:sequence> + <xsd:element name="i" maxOccurs="unbounded" type="CT_I"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_I"> + <xsd:sequence> + <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/> + </xsd:sequence> + <xsd:attribute name="t" type="ST_ItemType" default="data"/> + <xsd:attribute name="r" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="i" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_X"> + <xsd:attribute name="v" type="xsd:int" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_RowFields"> + <xsd:sequence> + <xsd:element name="field" maxOccurs="unbounded" type="CT_Field"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_ColFields"> + <xsd:sequence> + <xsd:element name="field" maxOccurs="unbounded" type="CT_Field"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_Field"> + <xsd:attribute name="x" type="xsd:int" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Formats"> + <xsd:sequence> + <xsd:element name="format" maxOccurs="unbounded" type="CT_Format"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_Format"> + <xsd:sequence> + <xsd:element name="pivotArea" type="CT_PivotArea"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="action" type="ST_FormatAction" default="formatting"/> + <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ConditionalFormats"> + <xsd:sequence> + <xsd:element name="conditionalFormat" maxOccurs="unbounded" type="CT_ConditionalFormat"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_ConditionalFormat"> + <xsd:sequence> + <xsd:element name="pivotAreas" type="CT_PivotAreas"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="scope" type="ST_Scope" default="selection"/> + <xsd:attribute name="type" type="ST_Type" default="none"/> + <xsd:attribute name="priority" use="required" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotAreas"> + <xsd:sequence> + <xsd:element name="pivotArea" minOccurs="0" maxOccurs="unbounded" type="CT_PivotArea"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:simpleType name="ST_Scope"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="selection"/> + <xsd:enumeration value="data"/> + <xsd:enumeration value="field"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Type"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="all"/> + <xsd:enumeration value="row"/> + <xsd:enumeration value="column"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ChartFormats"> + <xsd:sequence> + <xsd:element name="chartFormat" maxOccurs="unbounded" type="CT_ChartFormat"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_ChartFormat"> + <xsd:sequence> + <xsd:element name="pivotArea" type="CT_PivotArea"/> + </xsd:sequence> + <xsd:attribute name="chart" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="format" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="series" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotHierarchies"> + <xsd:sequence> + <xsd:element name="pivotHierarchy" maxOccurs="unbounded" type="CT_PivotHierarchy"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotHierarchy"> + <xsd:sequence> + <xsd:element name="mps" minOccurs="0" type="CT_MemberProperties"/> + <xsd:element name="members" minOccurs="0" maxOccurs="unbounded" type="CT_Members"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="outline" type="xsd:boolean" default="false"/> + <xsd:attribute name="multipleItemSelectionAllowed" type="xsd:boolean" default="false"/> + <xsd:attribute name="subtotalTop" type="xsd:boolean" default="false"/> + <xsd:attribute name="showInFieldList" type="xsd:boolean" default="true"/> + <xsd:attribute name="dragToRow" type="xsd:boolean" default="true"/> + <xsd:attribute name="dragToCol" type="xsd:boolean" default="true"/> + <xsd:attribute name="dragToPage" type="xsd:boolean" default="true"/> + <xsd:attribute name="dragToData" type="xsd:boolean" default="false"/> + <xsd:attribute name="dragOff" type="xsd:boolean" default="true"/> + <xsd:attribute name="includeNewItemsInFilter" type="xsd:boolean" default="false"/> + <xsd:attribute name="caption" type="s:ST_Xstring" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RowHierarchiesUsage"> + <xsd:sequence> + <xsd:element name="rowHierarchyUsage" minOccurs="1" maxOccurs="unbounded" + type="CT_HierarchyUsage"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_ColHierarchiesUsage"> + <xsd:sequence> + <xsd:element name="colHierarchyUsage" minOccurs="1" maxOccurs="unbounded" + type="CT_HierarchyUsage"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_HierarchyUsage"> + <xsd:attribute name="hierarchyUsage" type="xsd:int" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_MemberProperties"> + <xsd:sequence> + <xsd:element name="mp" maxOccurs="unbounded" type="CT_MemberProperty"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_MemberProperty"> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="showCell" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showTip" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showAsCaption" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="nameLen" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="pPos" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="pLen" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="level" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="field" use="required" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Members"> + <xsd:sequence> + <xsd:element name="member" maxOccurs="unbounded" type="CT_Member"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + <xsd:attribute name="level" use="optional" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_Member"> + <xsd:attribute name="name" use="required" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_Dimensions"> + <xsd:sequence> + <xsd:element name="dimension" minOccurs="0" maxOccurs="unbounded" type="CT_PivotDimension"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotDimension"> + <xsd:attribute name="measure" type="xsd:boolean" default="false"/> + <xsd:attribute name="name" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="caption" use="required" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_MeasureGroups"> + <xsd:sequence> + <xsd:element name="measureGroup" minOccurs="0" maxOccurs="unbounded" type="CT_MeasureGroup"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_MeasureDimensionMaps"> + <xsd:sequence> + <xsd:element name="map" minOccurs="0" maxOccurs="unbounded" type="CT_MeasureDimensionMap"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_MeasureGroup"> + <xsd:attribute name="name" use="required" type="s:ST_Xstring"/> + <xsd:attribute name="caption" use="required" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_MeasureDimensionMap"> + <xsd:attribute name="measureGroup" use="optional" type="xsd:unsignedInt"/> + <xsd:attribute name="dimension" use="optional" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotTableStyle"> + <xsd:attribute name="name" type="xsd:string"/> + <xsd:attribute name="showRowHeaders" type="xsd:boolean"/> + <xsd:attribute name="showColHeaders" type="xsd:boolean"/> + <xsd:attribute name="showRowStripes" type="xsd:boolean"/> + <xsd:attribute name="showColStripes" type="xsd:boolean"/> + <xsd:attribute name="showLastColumn" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotFilters"> + <xsd:sequence> + <xsd:element name="filter" minOccurs="0" maxOccurs="unbounded" type="CT_PivotFilter"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotFilter"> + <xsd:sequence> + <xsd:element name="autoFilter" minOccurs="1" maxOccurs="1" type="CT_AutoFilter"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="fld" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="mpFld" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="type" use="required" type="ST_PivotFilterType"/> + <xsd:attribute name="evalOrder" use="optional" type="xsd:int" default="0"/> + <xsd:attribute name="id" use="required" type="xsd:unsignedInt"/> + <xsd:attribute name="iMeasureHier" use="optional" type="xsd:unsignedInt"/> + <xsd:attribute name="iMeasureFld" use="optional" type="xsd:unsignedInt"/> + <xsd:attribute name="name" type="s:ST_Xstring"/> + <xsd:attribute name="description" type="s:ST_Xstring"/> + <xsd:attribute name="stringValue1" type="s:ST_Xstring"/> + <xsd:attribute name="stringValue2" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:simpleType name="ST_ShowDataAs"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="normal"/> + <xsd:enumeration value="difference"/> + <xsd:enumeration value="percent"/> + <xsd:enumeration value="percentDiff"/> + <xsd:enumeration value="runTotal"/> + <xsd:enumeration value="percentOfRow"/> + <xsd:enumeration value="percentOfCol"/> + <xsd:enumeration value="percentOfTotal"/> + <xsd:enumeration value="index"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ItemType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="data"/> + <xsd:enumeration value="default"/> + <xsd:enumeration value="sum"/> + <xsd:enumeration value="countA"/> + <xsd:enumeration value="avg"/> + <xsd:enumeration value="max"/> + <xsd:enumeration value="min"/> + <xsd:enumeration value="product"/> + <xsd:enumeration value="count"/> + <xsd:enumeration value="stdDev"/> + <xsd:enumeration value="stdDevP"/> + <xsd:enumeration value="var"/> + <xsd:enumeration value="varP"/> + <xsd:enumeration value="grand"/> + <xsd:enumeration value="blank"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FormatAction"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="blank"/> + <xsd:enumeration value="formatting"/> + <xsd:enumeration value="drill"/> + <xsd:enumeration value="formula"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FieldSortType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="manual"/> + <xsd:enumeration value="ascending"/> + <xsd:enumeration value="descending"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PivotFilterType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="unknown"/> + <xsd:enumeration value="count"/> + <xsd:enumeration value="percent"/> + <xsd:enumeration value="sum"/> + <xsd:enumeration value="captionEqual"/> + <xsd:enumeration value="captionNotEqual"/> + <xsd:enumeration value="captionBeginsWith"/> + <xsd:enumeration value="captionNotBeginsWith"/> + <xsd:enumeration value="captionEndsWith"/> + <xsd:enumeration value="captionNotEndsWith"/> + <xsd:enumeration value="captionContains"/> + <xsd:enumeration value="captionNotContains"/> + <xsd:enumeration value="captionGreaterThan"/> + <xsd:enumeration value="captionGreaterThanOrEqual"/> + <xsd:enumeration value="captionLessThan"/> + <xsd:enumeration value="captionLessThanOrEqual"/> + <xsd:enumeration value="captionBetween"/> + <xsd:enumeration value="captionNotBetween"/> + <xsd:enumeration value="valueEqual"/> + <xsd:enumeration value="valueNotEqual"/> + <xsd:enumeration value="valueGreaterThan"/> + <xsd:enumeration value="valueGreaterThanOrEqual"/> + <xsd:enumeration value="valueLessThan"/> + <xsd:enumeration value="valueLessThanOrEqual"/> + <xsd:enumeration value="valueBetween"/> + <xsd:enumeration value="valueNotBetween"/> + <xsd:enumeration value="dateEqual"/> + <xsd:enumeration value="dateNotEqual"/> + <xsd:enumeration value="dateOlderThan"/> + <xsd:enumeration value="dateOlderThanOrEqual"/> + <xsd:enumeration value="dateNewerThan"/> + <xsd:enumeration value="dateNewerThanOrEqual"/> + <xsd:enumeration value="dateBetween"/> + <xsd:enumeration value="dateNotBetween"/> + <xsd:enumeration value="tomorrow"/> + <xsd:enumeration value="today"/> + <xsd:enumeration value="yesterday"/> + <xsd:enumeration value="nextWeek"/> + <xsd:enumeration value="thisWeek"/> + <xsd:enumeration value="lastWeek"/> + <xsd:enumeration value="nextMonth"/> + <xsd:enumeration value="thisMonth"/> + <xsd:enumeration value="lastMonth"/> + <xsd:enumeration value="nextQuarter"/> + <xsd:enumeration value="thisQuarter"/> + <xsd:enumeration value="lastQuarter"/> + <xsd:enumeration value="nextYear"/> + <xsd:enumeration value="thisYear"/> + <xsd:enumeration value="lastYear"/> + <xsd:enumeration value="yearToDate"/> + <xsd:enumeration value="Q1"/> + <xsd:enumeration value="Q2"/> + <xsd:enumeration value="Q3"/> + <xsd:enumeration value="Q4"/> + <xsd:enumeration value="M1"/> + <xsd:enumeration value="M2"/> + <xsd:enumeration value="M3"/> + <xsd:enumeration value="M4"/> + <xsd:enumeration value="M5"/> + <xsd:enumeration value="M6"/> + <xsd:enumeration value="M7"/> + <xsd:enumeration value="M8"/> + <xsd:enumeration value="M9"/> + <xsd:enumeration value="M10"/> + <xsd:enumeration value="M11"/> + <xsd:enumeration value="M12"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PivotArea"> + <xsd:sequence> + <xsd:element name="references" minOccurs="0" type="CT_PivotAreaReferences"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="field" use="optional" type="xsd:int"/> + <xsd:attribute name="type" type="ST_PivotAreaType" default="normal"/> + <xsd:attribute name="dataOnly" type="xsd:boolean" default="true"/> + <xsd:attribute name="labelOnly" type="xsd:boolean" default="false"/> + <xsd:attribute name="grandRow" type="xsd:boolean" default="false"/> + <xsd:attribute name="grandCol" type="xsd:boolean" default="false"/> + <xsd:attribute name="cacheIndex" type="xsd:boolean" default="false"/> + <xsd:attribute name="outline" type="xsd:boolean" default="true"/> + <xsd:attribute name="offset" type="ST_Ref"/> + <xsd:attribute name="collapsedLevelsAreSubtotals" type="xsd:boolean" default="false"/> + <xsd:attribute name="axis" type="ST_Axis" use="optional"/> + <xsd:attribute name="fieldPosition" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_PivotAreaType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="normal"/> + <xsd:enumeration value="data"/> + <xsd:enumeration value="all"/> + <xsd:enumeration value="origin"/> + <xsd:enumeration value="button"/> + <xsd:enumeration value="topEnd"/> + <xsd:enumeration value="topRight"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PivotAreaReferences"> + <xsd:sequence> + <xsd:element name="reference" maxOccurs="unbounded" type="CT_PivotAreaReference"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotAreaReference"> + <xsd:sequence> + <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_Index"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="field" use="optional" type="xsd:unsignedInt"/> + <xsd:attribute name="count" type="xsd:unsignedInt"/> + <xsd:attribute name="selected" type="xsd:boolean" default="true"/> + <xsd:attribute name="byPosition" type="xsd:boolean" default="false"/> + <xsd:attribute name="relative" type="xsd:boolean" default="false"/> + <xsd:attribute name="defaultSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="sumSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="countASubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="avgSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="maxSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="minSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="productSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="countSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="stdDevSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="stdDevPSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="varSubtotal" type="xsd:boolean" default="false"/> + <xsd:attribute name="varPSubtotal" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Index"> + <xsd:attribute name="v" use="required" type="xsd:unsignedInt"/> + </xsd:complexType> + <xsd:simpleType name="ST_Axis"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="axisRow"/> + <xsd:enumeration value="axisCol"/> + <xsd:enumeration value="axisPage"/> + <xsd:enumeration value="axisValues"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:element name="queryTable" type="CT_QueryTable"/> + <xsd:complexType name="CT_QueryTable"> + <xsd:sequence> + <xsd:element name="queryTableRefresh" type="CT_QueryTableRefresh" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="headers" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="rowNumbers" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="disableRefresh" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="backgroundRefresh" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="firstBackgroundRefresh" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="refreshOnLoad" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="growShrinkType" type="ST_GrowShrinkType" use="optional" + default="insertDelete"/> + <xsd:attribute name="fillFormulas" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="removeDataOnSave" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="disableEdit" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="preserveFormatting" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="adjustColumnWidth" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="intermediate" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="connectionId" type="xsd:unsignedInt" use="required"/> + <xsd:attributeGroup ref="AG_AutoFormat"/> + </xsd:complexType> + <xsd:complexType name="CT_QueryTableRefresh"> + <xsd:sequence> + <xsd:element name="queryTableFields" type="CT_QueryTableFields" minOccurs="1" maxOccurs="1"/> + <xsd:element name="queryTableDeletedFields" type="CT_QueryTableDeletedFields" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="sortState" minOccurs="0" maxOccurs="1" type="CT_SortState"/> + <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="preserveSortFilterLayout" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="fieldIdWrapped" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="headersInLastRefresh" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="minimumVersion" type="xsd:unsignedByte" use="optional" default="0"/> + <xsd:attribute name="nextId" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="unboundColumnsLeft" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="unboundColumnsRight" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_QueryTableDeletedFields"> + <xsd:sequence> + <xsd:element name="deletedField" type="CT_DeletedField" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_DeletedField"> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_QueryTableFields"> + <xsd:sequence> + <xsd:element name="queryTableField" type="CT_QueryTableField" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_QueryTableField"> + <xsd:sequence minOccurs="0"> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="dataBound" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="rowNumbers" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="fillFormulas" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="clipped" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="tableColumnId" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:simpleType name="ST_GrowShrinkType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="insertDelete"/> + <xsd:enumeration value="insertClear"/> + <xsd:enumeration value="overwriteClear"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:element name="sst" type="CT_Sst"/> + <xsd:complexType name="CT_Sst"> + <xsd:sequence> + <xsd:element name="si" type="CT_Rst" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="uniqueCount" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_PhoneticType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="halfwidthKatakana"/> + <xsd:enumeration value="fullwidthKatakana"/> + <xsd:enumeration value="Hiragana"/> + <xsd:enumeration value="noConversion"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PhoneticAlignment"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="noControl"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="distributed"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PhoneticRun"> + <xsd:sequence> + <xsd:element name="t" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="sb" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="eb" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RElt"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_RPrElt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="t" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_RPrElt"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="rFont" type="CT_FontName" minOccurs="0" maxOccurs="1"/> + <xsd:element name="charset" type="CT_IntProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="family" type="CT_IntProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="b" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="i" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="strike" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="outline" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shadow" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="condense" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extend" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="color" type="CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sz" type="CT_FontSize" minOccurs="0" maxOccurs="1"/> + <xsd:element name="u" type="CT_UnderlineProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="vertAlign" type="CT_VerticalAlignFontProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="scheme" type="CT_FontScheme" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_Rst"> + <xsd:sequence> + <xsd:element name="t" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="r" type="CT_RElt" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rPh" type="CT_PhoneticRun" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="phoneticPr" minOccurs="0" maxOccurs="1" type="CT_PhoneticPr"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PhoneticPr"> + <xsd:attribute name="fontId" type="ST_FontId" use="required"/> + <xsd:attribute name="type" type="ST_PhoneticType" use="optional" default="fullwidthKatakana"/> + <xsd:attribute name="alignment" type="ST_PhoneticAlignment" use="optional" default="left"/> + </xsd:complexType> + <xsd:element name="headers" type="CT_RevisionHeaders"/> + <xsd:element name="revisions" type="CT_Revisions"/> + <xsd:complexType name="CT_RevisionHeaders"> + <xsd:sequence> + <xsd:element name="header" type="CT_RevisionHeader" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="guid" type="s:ST_Guid" use="required"/> + <xsd:attribute name="lastGuid" type="s:ST_Guid" use="optional"/> + <xsd:attribute name="shared" type="xsd:boolean" default="true"/> + <xsd:attribute name="diskRevisions" type="xsd:boolean" default="false"/> + <xsd:attribute name="history" type="xsd:boolean" default="true"/> + <xsd:attribute name="trackRevisions" type="xsd:boolean" default="true"/> + <xsd:attribute name="exclusive" type="xsd:boolean" default="false"/> + <xsd:attribute name="revisionId" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="version" type="xsd:int" default="1"/> + <xsd:attribute name="keepChangeHistory" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="protected" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="preserveHistory" type="xsd:unsignedInt" default="30"/> + </xsd:complexType> + <xsd:complexType name="CT_Revisions"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="rrc" type="CT_RevisionRowColumn" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rm" type="CT_RevisionMove" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rcv" type="CT_RevisionCustomView" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rsnm" type="CT_RevisionSheetRename" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ris" type="CT_RevisionInsertSheet" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rcc" type="CT_RevisionCellChange" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rfmt" type="CT_RevisionFormatting" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="raf" type="CT_RevisionAutoFormatting" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rdn" type="CT_RevisionDefinedName" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rcmt" type="CT_RevisionComment" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rqt" type="CT_RevisionQueryTableField" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rcft" type="CT_RevisionConflict" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:complexType> + <xsd:attributeGroup name="AG_RevData"> + <xsd:attribute name="rId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="ua" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ra" type="xsd:boolean" use="optional" default="false"/> + </xsd:attributeGroup> + <xsd:complexType name="CT_RevisionHeader"> + <xsd:sequence> + <xsd:element name="sheetIdMap" minOccurs="1" maxOccurs="1" type="CT_SheetIdMap"/> + <xsd:element name="reviewedList" minOccurs="0" maxOccurs="1" type="CT_ReviewedRevisions"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="guid" type="s:ST_Guid" use="required"/> + <xsd:attribute name="dateTime" type="xsd:dateTime" use="required"/> + <xsd:attribute name="maxSheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="userName" type="s:ST_Xstring" use="required"/> + <xsd:attribute ref="r:id" use="required"/> + <xsd:attribute name="minRId" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="maxRId" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_SheetIdMap"> + <xsd:sequence> + <xsd:element name="sheetId" type="CT_SheetId" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_SheetId"> + <xsd:attribute name="val" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_ReviewedRevisions"> + <xsd:sequence> + <xsd:element name="reviewed" type="CT_Reviewed" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Reviewed"> + <xsd:attribute name="rId" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_UndoInfo"> + <xsd:attribute name="index" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="exp" type="ST_FormulaExpression" use="required"/> + <xsd:attribute name="ref3D" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="array" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="v" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="nf" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="cs" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="dr" type="ST_RefA" use="required"/> + <xsd:attribute name="dn" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="r" type="ST_CellRef" use="optional"/> + <xsd:attribute name="sId" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionRowColumn"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="undo" type="CT_UndoInfo" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rcc" type="CT_RevisionCellChange" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rfmt" type="CT_RevisionFormatting" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_RevData"/> + <xsd:attribute name="sId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="eol" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + <xsd:attribute name="action" type="ST_rwColActionType" use="required"/> + <xsd:attribute name="edge" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionMove"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="undo" type="CT_UndoInfo" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rcc" type="CT_RevisionCellChange" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rfmt" type="CT_RevisionFormatting" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_RevData"/> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="source" type="ST_Ref" use="required"/> + <xsd:attribute name="destination" type="ST_Ref" use="required"/> + <xsd:attribute name="sourceSheetId" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionCustomView"> + <xsd:attribute name="guid" type="s:ST_Guid" use="required"/> + <xsd:attribute name="action" type="ST_RevisionAction" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionSheetRename"> + <xsd:sequence> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_RevData"/> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="oldName" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="newName" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionInsertSheet"> + <xsd:attributeGroup ref="AG_RevData"/> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="sheetPosition" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionCellChange"> + <xsd:sequence> + <xsd:element name="oc" type="CT_Cell" minOccurs="0" maxOccurs="1"/> + <xsd:element name="nc" type="CT_Cell" minOccurs="1" maxOccurs="1"/> + <xsd:element name="odxf" type="CT_Dxf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ndxf" type="CT_Dxf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_RevData"/> + <xsd:attribute name="sId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="odxf" type="xsd:boolean" default="false"/> + <xsd:attribute name="xfDxf" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="s" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="dxf" type="xsd:boolean" default="false"/> + <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/> + <xsd:attribute name="quotePrefix" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="oldQuotePrefix" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ph" type="xsd:boolean" default="false"/> + <xsd:attribute name="oldPh" type="xsd:boolean" default="false"/> + <xsd:attribute name="endOfListFormulaUpdate" type="xsd:boolean" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionFormatting"> + <xsd:sequence> + <xsd:element name="dxf" type="CT_Dxf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="xfDxf" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="s" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="sqref" type="ST_Sqref" use="required"/> + <xsd:attribute name="start" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="length" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionAutoFormatting"> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attributeGroup ref="AG_AutoFormat"/> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionComment"> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="cell" type="ST_CellRef" use="required"/> + <xsd:attribute name="guid" type="s:ST_Guid" use="required"/> + <xsd:attribute name="action" type="ST_RevisionAction" default="add"/> + <xsd:attribute name="alwaysShow" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="old" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="hiddenRow" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="hiddenColumn" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="author" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="oldLength" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="newLength" type="xsd:unsignedInt" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionDefinedName"> + <xsd:sequence> + <xsd:element name="formula" type="ST_Formula" minOccurs="0" maxOccurs="1"/> + <xsd:element name="oldFormula" type="ST_Formula" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_RevData"/> + <xsd:attribute name="localSheetId" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="customView" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="function" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="oldFunction" type="xsd:boolean" default="false"/> + <xsd:attribute name="functionGroupId" type="xsd:unsignedByte" use="optional"/> + <xsd:attribute name="oldFunctionGroupId" type="xsd:unsignedByte" use="optional"/> + <xsd:attribute name="shortcutKey" type="xsd:unsignedByte" use="optional"/> + <xsd:attribute name="oldShortcutKey" type="xsd:unsignedByte" use="optional"/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="oldHidden" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="customMenu" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="oldCustomMenu" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="description" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="oldDescription" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="help" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="oldHelp" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="statusBar" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="oldStatusBar" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="oldComment" type="s:ST_Xstring" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionConflict"> + <xsd:attributeGroup ref="AG_RevData"/> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RevisionQueryTableField"> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + <xsd:attribute name="fieldId" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_rwColActionType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="insertRow"/> + <xsd:enumeration value="deleteRow"/> + <xsd:enumeration value="insertCol"/> + <xsd:enumeration value="deleteCol"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_RevisionAction"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="add"/> + <xsd:enumeration value="delete"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FormulaExpression"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="ref"/> + <xsd:enumeration value="refError"/> + <xsd:enumeration value="area"/> + <xsd:enumeration value="areaError"/> + <xsd:enumeration value="computedArea"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:element name="users" type="CT_Users"/> + <xsd:complexType name="CT_Users"> + <xsd:sequence> + <xsd:element name="userInfo" minOccurs="0" maxOccurs="256" type="CT_SharedUser"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_SharedUser"> + <xsd:sequence> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="guid" type="s:ST_Guid" use="required"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="id" type="xsd:int" use="required"/> + <xsd:attribute name="dateTime" type="xsd:dateTime" use="required"/> + </xsd:complexType> + <xsd:element name="worksheet" type="CT_Worksheet"/> + <xsd:element name="chartsheet" type="CT_Chartsheet"/> + <xsd:element name="dialogsheet" type="CT_Dialogsheet"/> + <xsd:complexType name="CT_Macrosheet"> + <xsd:sequence> + <xsd:element name="sheetPr" type="CT_SheetPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dimension" type="CT_SheetDimension" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sheetViews" type="CT_SheetViews" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sheetFormatPr" type="CT_SheetFormatPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cols" type="CT_Cols" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="sheetData" type="CT_SheetData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="sheetProtection" type="CT_SheetProtection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="autoFilter" type="CT_AutoFilter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sortState" type="CT_SortState" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dataConsolidate" type="CT_DataConsolidate" minOccurs="0" maxOccurs="1"/> + <xsd:element name="customSheetViews" type="CT_CustomSheetViews" minOccurs="0" maxOccurs="1"/> + <xsd:element name="phoneticPr" type="CT_PhoneticPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="conditionalFormatting" type="CT_ConditionalFormatting" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="printOptions" type="CT_PrintOptions" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageSetup" type="CT_PageSetup" minOccurs="0" maxOccurs="1"/> + <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rowBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/> + <xsd:element name="colBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/> + <xsd:element name="customProperties" type="CT_CustomProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="drawing" type="CT_Drawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="legacyDrawing" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="legacyDrawingHF" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="drawingHF" type="CT_DrawingHF" minOccurs="0" maxOccurs="1"/> + <xsd:element name="picture" type="CT_SheetBackgroundPicture" minOccurs="0" maxOccurs="1"/> + <xsd:element name="oleObjects" type="CT_OleObjects" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Dialogsheet"> + <xsd:sequence> + <xsd:element name="sheetPr" minOccurs="0" type="CT_SheetPr"/> + <xsd:element name="sheetViews" minOccurs="0" type="CT_SheetViews"/> + <xsd:element name="sheetFormatPr" minOccurs="0" type="CT_SheetFormatPr"/> + <xsd:element name="sheetProtection" type="CT_SheetProtection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="customSheetViews" minOccurs="0" type="CT_CustomSheetViews"/> + <xsd:element name="printOptions" minOccurs="0" type="CT_PrintOptions"/> + <xsd:element name="pageMargins" minOccurs="0" type="CT_PageMargins"/> + <xsd:element name="pageSetup" minOccurs="0" type="CT_PageSetup"/> + <xsd:element name="headerFooter" minOccurs="0" type="CT_HeaderFooter"/> + <xsd:element name="drawing" minOccurs="0" type="CT_Drawing"/> + <xsd:element name="legacyDrawing" minOccurs="0" type="CT_LegacyDrawing"/> + <xsd:element name="legacyDrawingHF" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="drawingHF" type="CT_DrawingHF" minOccurs="0" maxOccurs="1"/> + <xsd:element name="oleObjects" type="CT_OleObjects" minOccurs="0" maxOccurs="1"/> + <xsd:element name="controls" type="CT_Controls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Worksheet"> + <xsd:sequence> + <xsd:element name="sheetPr" type="CT_SheetPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dimension" type="CT_SheetDimension" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sheetViews" type="CT_SheetViews" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sheetFormatPr" type="CT_SheetFormatPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cols" type="CT_Cols" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="sheetData" type="CT_SheetData" minOccurs="1" maxOccurs="1"/> + <xsd:element name="sheetCalcPr" type="CT_SheetCalcPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sheetProtection" type="CT_SheetProtection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="protectedRanges" type="CT_ProtectedRanges" minOccurs="0" maxOccurs="1"/> + <xsd:element name="scenarios" type="CT_Scenarios" minOccurs="0" maxOccurs="1"/> + <xsd:element name="autoFilter" type="CT_AutoFilter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sortState" type="CT_SortState" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dataConsolidate" type="CT_DataConsolidate" minOccurs="0" maxOccurs="1"/> + <xsd:element name="customSheetViews" type="CT_CustomSheetViews" minOccurs="0" maxOccurs="1"/> + <xsd:element name="mergeCells" type="CT_MergeCells" minOccurs="0" maxOccurs="1"/> + <xsd:element name="phoneticPr" type="CT_PhoneticPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="conditionalFormatting" type="CT_ConditionalFormatting" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="dataValidations" type="CT_DataValidations" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hyperlinks" type="CT_Hyperlinks" minOccurs="0" maxOccurs="1"/> + <xsd:element name="printOptions" type="CT_PrintOptions" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageSetup" type="CT_PageSetup" minOccurs="0" maxOccurs="1"/> + <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rowBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/> + <xsd:element name="colBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/> + <xsd:element name="customProperties" type="CT_CustomProperties" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cellWatches" type="CT_CellWatches" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ignoredErrors" type="CT_IgnoredErrors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="smartTags" type="CT_SmartTags" minOccurs="0" maxOccurs="1"/> + <xsd:element name="drawing" type="CT_Drawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="legacyDrawing" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="legacyDrawingHF" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="drawingHF" type="CT_DrawingHF" minOccurs="0" maxOccurs="1"/> + <xsd:element name="picture" type="CT_SheetBackgroundPicture" minOccurs="0" maxOccurs="1"/> + <xsd:element name="oleObjects" type="CT_OleObjects" minOccurs="0" maxOccurs="1"/> + <xsd:element name="controls" type="CT_Controls" minOccurs="0" maxOccurs="1"/> + <xsd:element name="webPublishItems" type="CT_WebPublishItems" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tableParts" type="CT_TableParts" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SheetData"> + <xsd:sequence> + <xsd:element name="row" type="CT_Row" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SheetCalcPr"> + <xsd:attribute name="fullCalcOnLoad" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_SheetFormatPr"> + <xsd:attribute name="baseColWidth" type="xsd:unsignedInt" use="optional" default="8"/> + <xsd:attribute name="defaultColWidth" type="xsd:double" use="optional"/> + <xsd:attribute name="defaultRowHeight" type="xsd:double" use="required"/> + <xsd:attribute name="customHeight" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="zeroHeight" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="thickTop" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="thickBottom" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="outlineLevelRow" type="xsd:unsignedByte" use="optional" default="0"/> + <xsd:attribute name="outlineLevelCol" type="xsd:unsignedByte" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_Cols"> + <xsd:sequence> + <xsd:element name="col" type="CT_Col" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Col"> + <xsd:attribute name="min" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="max" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="width" type="xsd:double" use="optional"/> + <xsd:attribute name="style" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="bestFit" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="customWidth" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="phonetic" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="outlineLevel" type="xsd:unsignedByte" use="optional" default="0"/> + <xsd:attribute name="collapsed" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_CellSpan"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_CellSpans"> + <xsd:list itemType="ST_CellSpan"/> + </xsd:simpleType> + <xsd:complexType name="CT_Row"> + <xsd:sequence> + <xsd:element name="c" type="CT_Cell" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="r" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="spans" type="ST_CellSpans" use="optional"/> + <xsd:attribute name="s" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="customFormat" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ht" type="xsd:double" use="optional"/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="customHeight" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="outlineLevel" type="xsd:unsignedByte" use="optional" default="0"/> + <xsd:attribute name="collapsed" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="thickTop" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="thickBot" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ph" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Cell"> + <xsd:sequence> + <xsd:element name="f" type="CT_CellFormula" minOccurs="0" maxOccurs="1"/> + <xsd:element name="v" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="is" type="CT_Rst" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="r" type="ST_CellRef" use="optional"/> + <xsd:attribute name="s" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="t" type="ST_CellType" use="optional" default="n"/> + <xsd:attribute name="cm" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="vm" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="ph" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_CellType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="b"/> + <xsd:enumeration value="n"/> + <xsd:enumeration value="e"/> + <xsd:enumeration value="s"/> + <xsd:enumeration value="str"/> + <xsd:enumeration value="inlineStr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CellFormulaType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="normal"/> + <xsd:enumeration value="array"/> + <xsd:enumeration value="dataTable"/> + <xsd:enumeration value="shared"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SheetPr"> + <xsd:sequence> + <xsd:element name="tabColor" type="CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="outlinePr" type="CT_OutlinePr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageSetUpPr" type="CT_PageSetUpPr" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="syncHorizontal" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="syncVertical" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="syncRef" type="ST_Ref" use="optional"/> + <xsd:attribute name="transitionEvaluation" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="transitionEntry" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="published" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="codeName" type="xsd:string" use="optional"/> + <xsd:attribute name="filterMode" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="enableFormatConditionsCalculation" type="xsd:boolean" use="optional" + default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_SheetDimension"> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SheetViews"> + <xsd:sequence> + <xsd:element name="sheetView" type="CT_SheetView" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SheetView"> + <xsd:sequence> + <xsd:element name="pane" type="CT_Pane" minOccurs="0" maxOccurs="1"/> + <xsd:element name="selection" type="CT_Selection" minOccurs="0" maxOccurs="4"/> + <xsd:element name="pivotSelection" type="CT_PivotSelection" minOccurs="0" maxOccurs="4"/> + <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="windowProtection" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showFormulas" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showGridLines" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showRowColHeaders" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showZeros" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="rightToLeft" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="tabSelected" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showRuler" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showOutlineSymbols" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="defaultGridColor" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showWhiteSpace" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="view" type="ST_SheetViewType" use="optional" default="normal"/> + <xsd:attribute name="topLeftCell" type="ST_CellRef" use="optional"/> + <xsd:attribute name="colorId" type="xsd:unsignedInt" use="optional" default="64"/> + <xsd:attribute name="zoomScale" type="xsd:unsignedInt" use="optional" default="100"/> + <xsd:attribute name="zoomScaleNormal" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="zoomScaleSheetLayoutView" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="zoomScalePageLayoutView" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="workbookViewId" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Pane"> + <xsd:attribute name="xSplit" type="xsd:double" use="optional" default="0"/> + <xsd:attribute name="ySplit" type="xsd:double" use="optional" default="0"/> + <xsd:attribute name="topLeftCell" type="ST_CellRef" use="optional"/> + <xsd:attribute name="activePane" type="ST_Pane" use="optional" default="topLeft"/> + <xsd:attribute name="state" type="ST_PaneState" use="optional" default="split"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotSelection"> + <xsd:sequence> + <xsd:element name="pivotArea" type="CT_PivotArea"/> + </xsd:sequence> + <xsd:attribute name="pane" type="ST_Pane" use="optional" default="topLeft"/> + <xsd:attribute name="showHeader" type="xsd:boolean" default="false"/> + <xsd:attribute name="label" type="xsd:boolean" default="false"/> + <xsd:attribute name="data" type="xsd:boolean" default="false"/> + <xsd:attribute name="extendable" type="xsd:boolean" default="false"/> + <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="axis" type="ST_Axis" use="optional"/> + <xsd:attribute name="dimension" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="start" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="min" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="max" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="activeRow" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="activeCol" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="previousRow" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="previousCol" type="xsd:unsignedInt" default="0"/> + <xsd:attribute name="click" type="xsd:unsignedInt" default="0"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Selection"> + <xsd:attribute name="pane" type="ST_Pane" use="optional" default="topLeft"/> + <xsd:attribute name="activeCell" type="ST_CellRef" use="optional"/> + <xsd:attribute name="activeCellId" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="sqref" type="ST_Sqref" use="optional" default="A1"/> + </xsd:complexType> + <xsd:simpleType name="ST_Pane"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="bottomRight"/> + <xsd:enumeration value="topRight"/> + <xsd:enumeration value="bottomLeft"/> + <xsd:enumeration value="topLeft"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PageBreak"> + <xsd:sequence> + <xsd:element name="brk" type="CT_Break" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="manualBreakCount" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_Break"> + <xsd:attribute name="id" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="min" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="max" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="man" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pt" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_SheetViewType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="normal"/> + <xsd:enumeration value="pageBreakPreview"/> + <xsd:enumeration value="pageLayout"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_OutlinePr"> + <xsd:attribute name="applyStyles" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="summaryBelow" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="summaryRight" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showOutlineSymbols" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_PageSetUpPr"> + <xsd:attribute name="autoPageBreaks" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="fitToPage" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_DataConsolidate"> + <xsd:sequence> + <xsd:element name="dataRefs" type="CT_DataRefs" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="function" type="ST_DataConsolidateFunction" use="optional" default="sum"/> + <xsd:attribute name="startLabels" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="leftLabels" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="topLabels" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="link" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_DataConsolidateFunction"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="average"/> + <xsd:enumeration value="count"/> + <xsd:enumeration value="countNums"/> + <xsd:enumeration value="max"/> + <xsd:enumeration value="min"/> + <xsd:enumeration value="product"/> + <xsd:enumeration value="stdDev"/> + <xsd:enumeration value="stdDevp"/> + <xsd:enumeration value="sum"/> + <xsd:enumeration value="var"/> + <xsd:enumeration value="varp"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DataRefs"> + <xsd:sequence> + <xsd:element name="dataRef" type="CT_DataRef" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_DataRef"> + <xsd:attribute name="ref" type="ST_Ref" use="optional"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="sheet" type="s:ST_Xstring" use="optional"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_MergeCells"> + <xsd:sequence> + <xsd:element name="mergeCell" type="CT_MergeCell" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_MergeCell"> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SmartTags"> + <xsd:sequence> + <xsd:element name="cellSmartTags" type="CT_CellSmartTags" minOccurs="1" maxOccurs="unbounded" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CellSmartTags"> + <xsd:sequence> + <xsd:element name="cellSmartTag" type="CT_CellSmartTag" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="r" type="ST_CellRef" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CellSmartTag"> + <xsd:sequence> + <xsd:element name="cellSmartTagPr" minOccurs="0" maxOccurs="unbounded" + type="CT_CellSmartTagPr"/> + </xsd:sequence> + <xsd:attribute name="type" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="deleted" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="xmlBased" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CellSmartTagPr"> + <xsd:attribute name="key" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="val" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Drawing"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_LegacyDrawing"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DrawingHF"> + <xsd:attribute ref="r:id" use="required"/> + <xsd:attribute name="lho" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="lhe" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="lhf" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="cho" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="che" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="chf" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="rho" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="rhe" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="rhf" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="lfo" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="lfe" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="lff" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="cfo" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="cfe" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="cff" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="rfo" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="rfe" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="rff" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomSheetViews"> + <xsd:sequence> + <xsd:element name="customSheetView" minOccurs="1" maxOccurs="unbounded" + type="CT_CustomSheetView"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CustomSheetView"> + <xsd:sequence> + <xsd:element name="pane" type="CT_Pane" minOccurs="0" maxOccurs="1"/> + <xsd:element name="selection" type="CT_Selection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rowBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/> + <xsd:element name="colBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/> + <xsd:element name="printOptions" type="CT_PrintOptions" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageSetup" type="CT_PageSetup" minOccurs="0" maxOccurs="1"/> + <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="autoFilter" type="CT_AutoFilter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="guid" type="s:ST_Guid" use="required"/> + <xsd:attribute name="scale" type="xsd:unsignedInt" default="100"/> + <xsd:attribute name="colorId" type="xsd:unsignedInt" default="64"/> + <xsd:attribute name="showPageBreaks" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showFormulas" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showGridLines" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showRowCol" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="outlineSymbols" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="zeroValues" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="fitToPage" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="printArea" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="filter" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showAutoFilter" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="hiddenRows" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="hiddenColumns" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="state" type="ST_SheetState" default="visible"/> + <xsd:attribute name="filterUnique" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="view" type="ST_SheetViewType" default="normal"/> + <xsd:attribute name="showRuler" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="topLeftCell" type="ST_CellRef" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_DataValidations"> + <xsd:sequence> + <xsd:element name="dataValidation" type="CT_DataValidation" minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="disablePrompts" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="xWindow" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="yWindow" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_DataValidation"> + <xsd:sequence> + <xsd:element name="formula1" type="ST_Formula" minOccurs="0" maxOccurs="1"/> + <xsd:element name="formula2" type="ST_Formula" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_DataValidationType" use="optional" default="none"/> + <xsd:attribute name="errorStyle" type="ST_DataValidationErrorStyle" use="optional" + default="stop"/> + <xsd:attribute name="imeMode" type="ST_DataValidationImeMode" use="optional" default="noControl"/> + <xsd:attribute name="operator" type="ST_DataValidationOperator" use="optional" default="between"/> + <xsd:attribute name="allowBlank" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showDropDown" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showInputMessage" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showErrorMessage" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="errorTitle" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="error" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="promptTitle" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="prompt" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="sqref" type="ST_Sqref" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_DataValidationType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="whole"/> + <xsd:enumeration value="decimal"/> + <xsd:enumeration value="list"/> + <xsd:enumeration value="date"/> + <xsd:enumeration value="time"/> + <xsd:enumeration value="textLength"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DataValidationOperator"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="between"/> + <xsd:enumeration value="notBetween"/> + <xsd:enumeration value="equal"/> + <xsd:enumeration value="notEqual"/> + <xsd:enumeration value="lessThan"/> + <xsd:enumeration value="lessThanOrEqual"/> + <xsd:enumeration value="greaterThan"/> + <xsd:enumeration value="greaterThanOrEqual"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DataValidationErrorStyle"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="stop"/> + <xsd:enumeration value="warning"/> + <xsd:enumeration value="information"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DataValidationImeMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="noControl"/> + <xsd:enumeration value="off"/> + <xsd:enumeration value="on"/> + <xsd:enumeration value="disabled"/> + <xsd:enumeration value="hiragana"/> + <xsd:enumeration value="fullKatakana"/> + <xsd:enumeration value="halfKatakana"/> + <xsd:enumeration value="fullAlpha"/> + <xsd:enumeration value="halfAlpha"/> + <xsd:enumeration value="fullHangul"/> + <xsd:enumeration value="halfHangul"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CfType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="expression"/> + <xsd:enumeration value="cellIs"/> + <xsd:enumeration value="colorScale"/> + <xsd:enumeration value="dataBar"/> + <xsd:enumeration value="iconSet"/> + <xsd:enumeration value="top10"/> + <xsd:enumeration value="uniqueValues"/> + <xsd:enumeration value="duplicateValues"/> + <xsd:enumeration value="containsText"/> + <xsd:enumeration value="notContainsText"/> + <xsd:enumeration value="beginsWith"/> + <xsd:enumeration value="endsWith"/> + <xsd:enumeration value="containsBlanks"/> + <xsd:enumeration value="notContainsBlanks"/> + <xsd:enumeration value="containsErrors"/> + <xsd:enumeration value="notContainsErrors"/> + <xsd:enumeration value="timePeriod"/> + <xsd:enumeration value="aboveAverage"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TimePeriod"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="today"/> + <xsd:enumeration value="yesterday"/> + <xsd:enumeration value="tomorrow"/> + <xsd:enumeration value="last7Days"/> + <xsd:enumeration value="thisMonth"/> + <xsd:enumeration value="lastMonth"/> + <xsd:enumeration value="nextMonth"/> + <xsd:enumeration value="thisWeek"/> + <xsd:enumeration value="lastWeek"/> + <xsd:enumeration value="nextWeek"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConditionalFormattingOperator"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="lessThan"/> + <xsd:enumeration value="lessThanOrEqual"/> + <xsd:enumeration value="equal"/> + <xsd:enumeration value="notEqual"/> + <xsd:enumeration value="greaterThanOrEqual"/> + <xsd:enumeration value="greaterThan"/> + <xsd:enumeration value="between"/> + <xsd:enumeration value="notBetween"/> + <xsd:enumeration value="containsText"/> + <xsd:enumeration value="notContains"/> + <xsd:enumeration value="beginsWith"/> + <xsd:enumeration value="endsWith"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CfvoType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="num"/> + <xsd:enumeration value="percent"/> + <xsd:enumeration value="max"/> + <xsd:enumeration value="min"/> + <xsd:enumeration value="formula"/> + <xsd:enumeration value="percentile"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ConditionalFormatting"> + <xsd:sequence> + <xsd:element name="cfRule" type="CT_CfRule" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="pivot" type="xsd:boolean" default="false"/> + <xsd:attribute name="sqref" type="ST_Sqref"/> + </xsd:complexType> + <xsd:complexType name="CT_CfRule"> + <xsd:sequence> + <xsd:element name="formula" type="ST_Formula" minOccurs="0" maxOccurs="3"/> + <xsd:element name="colorScale" type="CT_ColorScale" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dataBar" type="CT_DataBar" minOccurs="0" maxOccurs="1"/> + <xsd:element name="iconSet" type="CT_IconSet" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_CfType"/> + <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="priority" type="xsd:int" use="required"/> + <xsd:attribute name="stopIfTrue" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="aboveAverage" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="percent" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="bottom" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="operator" type="ST_ConditionalFormattingOperator" use="optional"/> + <xsd:attribute name="text" type="xsd:string" use="optional"/> + <xsd:attribute name="timePeriod" type="ST_TimePeriod" use="optional"/> + <xsd:attribute name="rank" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="stdDev" type="xsd:int" use="optional"/> + <xsd:attribute name="equalAverage" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Hyperlinks"> + <xsd:sequence> + <xsd:element name="hyperlink" type="CT_Hyperlink" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Hyperlink"> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + <xsd:attribute ref="r:id" use="optional"/> + <xsd:attribute name="location" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="tooltip" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="display" type="s:ST_Xstring" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_CellFormula"> + <xsd:simpleContent> + <xsd:extension base="ST_Formula"> + <xsd:attribute name="t" type="ST_CellFormulaType" use="optional" default="normal"/> + <xsd:attribute name="aca" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ref" type="ST_Ref" use="optional"/> + <xsd:attribute name="dt2D" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="dtr" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="del1" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="del2" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="r1" type="ST_CellRef" use="optional"/> + <xsd:attribute name="r2" type="ST_CellRef" use="optional"/> + <xsd:attribute name="ca" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="si" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="bx" type="xsd:boolean" use="optional" default="false"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="CT_ColorScale"> + <xsd:sequence> + <xsd:element name="cfvo" type="CT_Cfvo" minOccurs="2" maxOccurs="unbounded"/> + <xsd:element name="color" type="CT_Color" minOccurs="2" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DataBar"> + <xsd:sequence> + <xsd:element name="cfvo" type="CT_Cfvo" minOccurs="2" maxOccurs="2"/> + <xsd:element name="color" type="CT_Color" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="minLength" type="xsd:unsignedInt" use="optional" default="10"/> + <xsd:attribute name="maxLength" type="xsd:unsignedInt" use="optional" default="90"/> + <xsd:attribute name="showValue" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_IconSet"> + <xsd:sequence> + <xsd:element name="cfvo" type="CT_Cfvo" minOccurs="2" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="iconSet" type="ST_IconSetType" use="optional" default="3TrafficLights1"/> + <xsd:attribute name="showValue" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="percent" type="xsd:boolean" default="true"/> + <xsd:attribute name="reverse" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Cfvo"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_CfvoType" use="required"/> + <xsd:attribute name="val" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="gte" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_PageMargins"> + <xsd:attribute name="left" type="xsd:double" use="required"/> + <xsd:attribute name="right" type="xsd:double" use="required"/> + <xsd:attribute name="top" type="xsd:double" use="required"/> + <xsd:attribute name="bottom" type="xsd:double" use="required"/> + <xsd:attribute name="header" type="xsd:double" use="required"/> + <xsd:attribute name="footer" type="xsd:double" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PrintOptions"> + <xsd:attribute name="horizontalCentered" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="verticalCentered" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="headings" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="gridLines" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="gridLinesSet" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_PageSetup"> + <xsd:attribute name="paperSize" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="paperHeight" type="s:ST_PositiveUniversalMeasure" use="optional"/> + <xsd:attribute name="paperWidth" type="s:ST_PositiveUniversalMeasure" use="optional"/> + <xsd:attribute name="scale" type="xsd:unsignedInt" use="optional" default="100"/> + <xsd:attribute name="firstPageNumber" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="fitToWidth" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="fitToHeight" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="pageOrder" type="ST_PageOrder" use="optional" default="downThenOver"/> + <xsd:attribute name="orientation" type="ST_Orientation" use="optional" default="default"/> + <xsd:attribute name="usePrinterDefaults" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="blackAndWhite" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="draft" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="cellComments" type="ST_CellComments" use="optional" default="none"/> + <xsd:attribute name="useFirstPageNumber" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="errors" type="ST_PrintError" use="optional" default="displayed"/> + <xsd:attribute name="horizontalDpi" type="xsd:unsignedInt" use="optional" default="600"/> + <xsd:attribute name="verticalDpi" type="xsd:unsignedInt" use="optional" default="600"/> + <xsd:attribute name="copies" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_PageOrder"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="downThenOver"/> + <xsd:enumeration value="overThenDown"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Orientation"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="default"/> + <xsd:enumeration value="portrait"/> + <xsd:enumeration value="landscape"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CellComments"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="asDisplayed"/> + <xsd:enumeration value="atEnd"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_HeaderFooter"> + <xsd:sequence> + <xsd:element name="oddHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="oddFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="evenHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="evenFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="firstHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + <xsd:element name="firstFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="differentOddEven" type="xsd:boolean" default="false"/> + <xsd:attribute name="differentFirst" type="xsd:boolean" default="false"/> + <xsd:attribute name="scaleWithDoc" type="xsd:boolean" default="true"/> + <xsd:attribute name="alignWithMargins" type="xsd:boolean" default="true"/> + </xsd:complexType> + <xsd:simpleType name="ST_PrintError"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="displayed"/> + <xsd:enumeration value="blank"/> + <xsd:enumeration value="dash"/> + <xsd:enumeration value="NA"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Scenarios"> + <xsd:sequence> + <xsd:element name="scenario" type="CT_Scenario" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="current" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="show" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="sqref" type="ST_Sqref" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_SheetProtection"> + <xsd:attribute name="password" type="ST_UnsignedShortHex" use="optional"/> + <xsd:attribute name="algorithmName" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="sheet" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="objects" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="scenarios" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="formatCells" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="formatColumns" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="formatRows" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="insertColumns" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="insertRows" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="insertHyperlinks" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="deleteColumns" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="deleteRows" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="selectLockedCells" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="sort" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="autoFilter" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="pivotTables" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="selectUnlockedCells" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ProtectedRanges"> + <xsd:sequence> + <xsd:element name="protectedRange" type="CT_ProtectedRange" minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ProtectedRange"> + <xsd:sequence> + <xsd:element name="securityDescriptor" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="password" type="ST_UnsignedShortHex" use="optional"/> + <xsd:attribute name="sqref" type="ST_Sqref" use="required"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="securityDescriptor" type="xsd:string" use="optional"/> + <xsd:attribute name="algorithmName" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Scenario"> + <xsd:sequence> + <xsd:element name="inputCells" type="CT_InputCells" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="user" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_InputCells"> + <xsd:attribute name="r" type="ST_CellRef" use="required"/> + <xsd:attribute name="deleted" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="undone" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="val" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_CellWatches"> + <xsd:sequence> + <xsd:element name="cellWatch" type="CT_CellWatch" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CellWatch"> + <xsd:attribute name="r" type="ST_CellRef" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Chartsheet"> + <xsd:sequence> + <xsd:element name="sheetPr" type="CT_ChartsheetPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sheetViews" type="CT_ChartsheetViews" minOccurs="1" maxOccurs="1"/> + <xsd:element name="sheetProtection" type="CT_ChartsheetProtection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="customSheetViews" type="CT_CustomChartsheetViews" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="pageMargins" minOccurs="0" type="CT_PageMargins"/> + <xsd:element name="pageSetup" type="CT_CsPageSetup" minOccurs="0" maxOccurs="1"/> + <xsd:element name="headerFooter" minOccurs="0" type="CT_HeaderFooter"/> + <xsd:element name="drawing" type="CT_Drawing" minOccurs="1" maxOccurs="1"/> + <xsd:element name="legacyDrawing" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="legacyDrawingHF" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="drawingHF" type="CT_DrawingHF" minOccurs="0" maxOccurs="1"/> + <xsd:element name="picture" type="CT_SheetBackgroundPicture" minOccurs="0" maxOccurs="1"/> + <xsd:element name="webPublishItems" type="CT_WebPublishItems" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ChartsheetPr"> + <xsd:sequence> + <xsd:element name="tabColor" type="CT_Color" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="published" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="codeName" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ChartsheetViews"> + <xsd:sequence> + <xsd:element name="sheetView" type="CT_ChartsheetView" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ChartsheetView"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="tabSelected" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="zoomScale" type="xsd:unsignedInt" default="100" use="optional"/> + <xsd:attribute name="workbookViewId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="zoomToFit" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ChartsheetProtection"> + <xsd:attribute name="password" type="ST_UnsignedShortHex" use="optional"/> + <xsd:attribute name="algorithmName" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="content" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="objects" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CsPageSetup"> + <xsd:attribute name="paperSize" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="paperHeight" type="s:ST_PositiveUniversalMeasure" use="optional"/> + <xsd:attribute name="paperWidth" type="s:ST_PositiveUniversalMeasure" use="optional"/> + <xsd:attribute name="firstPageNumber" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="orientation" type="ST_Orientation" use="optional" default="default"/> + <xsd:attribute name="usePrinterDefaults" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="blackAndWhite" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="draft" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="useFirstPageNumber" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="horizontalDpi" type="xsd:unsignedInt" use="optional" default="600"/> + <xsd:attribute name="verticalDpi" type="xsd:unsignedInt" use="optional" default="600"/> + <xsd:attribute name="copies" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomChartsheetViews"> + <xsd:sequence> + <xsd:element name="customSheetView" minOccurs="0" maxOccurs="unbounded" + type="CT_CustomChartsheetView"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CustomChartsheetView"> + <xsd:sequence> + <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pageSetup" type="CT_CsPageSetup" minOccurs="0" maxOccurs="1"/> + <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="guid" type="s:ST_Guid" use="required"/> + <xsd:attribute name="scale" type="xsd:unsignedInt" default="100"/> + <xsd:attribute name="state" type="ST_SheetState" default="visible"/> + <xsd:attribute name="zoomToFit" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomProperties"> + <xsd:sequence> + <xsd:element name="customPr" type="CT_CustomProperty" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CustomProperty"> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_OleObjects"> + <xsd:sequence> + <xsd:element name="oleObject" type="CT_OleObject" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_OleObject"> + <xsd:sequence> + <xsd:element name="objectPr" type="CT_ObjectPr" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="progId" type="xsd:string" use="optional"/> + <xsd:attribute name="dvAspect" type="ST_DvAspect" use="optional" default="DVASPECT_CONTENT"/> + <xsd:attribute name="link" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="oleUpdate" type="ST_OleUpdate" use="optional"/> + <xsd:attribute name="autoLoad" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="shapeId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ObjectPr"> + <xsd:sequence> + <xsd:element name="anchor" type="CT_ObjectAnchor" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="defaultSize" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="print" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="disabled" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="uiObject" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="autoFill" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="autoLine" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="autoPict" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="macro" type="ST_Formula" use="optional"/> + <xsd:attribute name="altText" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="dde" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_DvAspect"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="DVASPECT_CONTENT"/> + <xsd:enumeration value="DVASPECT_ICON"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_OleUpdate"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="OLEUPDATE_ALWAYS"/> + <xsd:enumeration value="OLEUPDATE_ONCALL"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_WebPublishItems"> + <xsd:sequence> + <xsd:element name="webPublishItem" type="CT_WebPublishItem" minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_WebPublishItem"> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="divId" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="sourceType" type="ST_WebSourceType" use="required"/> + <xsd:attribute name="sourceRef" type="ST_Ref" use="optional"/> + <xsd:attribute name="sourceObject" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="destinationFile" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="title" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="autoRepublish" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_Controls"> + <xsd:sequence> + <xsd:element name="control" type="CT_Control" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Control"> + <xsd:sequence> + <xsd:element name="controlPr" type="CT_ControlPr" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="shapeId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute ref="r:id" use="required"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ControlPr"> + <xsd:sequence> + <xsd:element name="anchor" type="CT_ObjectAnchor" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="defaultSize" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="print" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="disabled" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="recalcAlways" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="uiObject" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="autoFill" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="autoLine" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="autoPict" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="macro" type="ST_Formula" use="optional"/> + <xsd:attribute name="altText" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="linkedCell" type="ST_Formula" use="optional"/> + <xsd:attribute name="listFillRange" type="ST_Formula" use="optional"/> + <xsd:attribute name="cf" type="s:ST_Xstring" use="optional" default="pict"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_WebSourceType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="sheet"/> + <xsd:enumeration value="printArea"/> + <xsd:enumeration value="autoFilter"/> + <xsd:enumeration value="range"/> + <xsd:enumeration value="chart"/> + <xsd:enumeration value="pivotTable"/> + <xsd:enumeration value="query"/> + <xsd:enumeration value="label"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_IgnoredErrors"> + <xsd:sequence> + <xsd:element name="ignoredError" type="CT_IgnoredError" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_IgnoredError"> + <xsd:attribute name="sqref" type="ST_Sqref" use="required"/> + <xsd:attribute name="evalError" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="twoDigitTextYear" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="numberStoredAsText" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="formula" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="formulaRange" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="unlockedFormula" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="emptyCellReference" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="listDataValidation" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="calculatedColumn" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:simpleType name="ST_PaneState"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="split"/> + <xsd:enumeration value="frozen"/> + <xsd:enumeration value="frozenSplit"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TableParts"> + <xsd:sequence> + <xsd:element name="tablePart" type="CT_TablePart" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TablePart"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:element name="metadata" type="CT_Metadata"/> + <xsd:complexType name="CT_Metadata"> + <xsd:sequence> + <xsd:element name="metadataTypes" type="CT_MetadataTypes" minOccurs="0" maxOccurs="1"/> + <xsd:element name="metadataStrings" type="CT_MetadataStrings" minOccurs="0" maxOccurs="1"/> + <xsd:element name="mdxMetadata" type="CT_MdxMetadata" minOccurs="0" maxOccurs="1"/> + <xsd:element name="futureMetadata" type="CT_FutureMetadata" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="cellMetadata" type="CT_MetadataBlocks" minOccurs="0" maxOccurs="1"/> + <xsd:element name="valueMetadata" type="CT_MetadataBlocks" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MetadataTypes"> + <xsd:sequence> + <xsd:element name="metadataType" type="CT_MetadataType" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_MetadataType"> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="minSupportedVersion" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="ghostRow" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ghostCol" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="edit" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="delete" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="copy" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteAll" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteFormulas" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteValues" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteFormats" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteComments" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteDataValidation" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteBorders" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteColWidths" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pasteNumberFormats" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="merge" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="splitFirst" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="splitAll" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="rowColShift" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="clearAll" type="xsd:boolean" default="false"/> + <xsd:attribute name="clearFormats" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="clearContents" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="clearComments" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="assign" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="coerce" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="adjust" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="cellMeta" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_MetadataBlocks"> + <xsd:sequence> + <xsd:element name="bk" type="CT_MetadataBlock" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_MetadataBlock"> + <xsd:sequence> + <xsd:element name="rc" type="CT_MetadataRecord" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MetadataRecord"> + <xsd:attribute name="t" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="v" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FutureMetadata"> + <xsd:sequence> + <xsd:element name="bk" type="CT_FutureMetadataBlock" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_FutureMetadataBlock"> + <xsd:sequence> + <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MdxMetadata"> + <xsd:sequence> + <xsd:element name="mdx" type="CT_Mdx" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_Mdx"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="t" type="CT_MdxTuple"/> + <xsd:element name="ms" type="CT_MdxSet"/> + <xsd:element name="p" type="CT_MdxMemeberProp"/> + <xsd:element name="k" type="CT_MdxKPI"/> + </xsd:choice> + <xsd:attribute name="n" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="f" type="ST_MdxFunctionType" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_MdxFunctionType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="m"/> + <xsd:enumeration value="v"/> + <xsd:enumeration value="s"/> + <xsd:enumeration value="c"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="p"/> + <xsd:enumeration value="k"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MdxTuple"> + <xsd:sequence> + <xsd:element name="n" type="CT_MetadataStringIndex" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="c" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="ct" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="si" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="fi" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="u" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_MdxSet"> + <xsd:sequence> + <xsd:element name="n" type="CT_MetadataStringIndex" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="ns" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="c" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="o" type="ST_MdxSetOrder" use="optional" default="u"/> + </xsd:complexType> + <xsd:simpleType name="ST_MdxSetOrder"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="u"/> + <xsd:enumeration value="a"/> + <xsd:enumeration value="d"/> + <xsd:enumeration value="aa"/> + <xsd:enumeration value="ad"/> + <xsd:enumeration value="na"/> + <xsd:enumeration value="nd"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MdxMemeberProp"> + <xsd:attribute name="n" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="np" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_MdxKPI"> + <xsd:attribute name="n" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="np" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="p" type="ST_MdxKPIProperty" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_MdxKPIProperty"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="v"/> + <xsd:enumeration value="g"/> + <xsd:enumeration value="s"/> + <xsd:enumeration value="t"/> + <xsd:enumeration value="w"/> + <xsd:enumeration value="m"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MetadataStringIndex"> + <xsd:attribute name="x" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="s" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_MetadataStrings"> + <xsd:sequence> + <xsd:element name="s" type="CT_XStringElement" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:element name="singleXmlCells" type="CT_SingleXmlCells"/> + <xsd:complexType name="CT_SingleXmlCells"> + <xsd:sequence> + <xsd:element name="singleXmlCell" type="CT_SingleXmlCell" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SingleXmlCell"> + <xsd:sequence> + <xsd:element name="xmlCellPr" type="CT_XmlCellPr" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="r" type="ST_CellRef" use="required"/> + <xsd:attribute name="connectionId" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_XmlCellPr"> + <xsd:sequence> + <xsd:element name="xmlPr" type="CT_XmlPr" minOccurs="1" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="uniqueName" type="s:ST_Xstring" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_XmlPr"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="mapId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="xpath" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="xmlDataType" type="ST_XmlDataType" use="required"/> + </xsd:complexType> + <xsd:element name="styleSheet" type="CT_Stylesheet"/> + <xsd:complexType name="CT_Stylesheet"> + <xsd:sequence> + <xsd:element name="numFmts" type="CT_NumFmts" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fonts" type="CT_Fonts" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fills" type="CT_Fills" minOccurs="0" maxOccurs="1"/> + <xsd:element name="borders" type="CT_Borders" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cellStyleXfs" type="CT_CellStyleXfs" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cellXfs" type="CT_CellXfs" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cellStyles" type="CT_CellStyles" minOccurs="0" maxOccurs="1"/> + <xsd:element name="dxfs" type="CT_Dxfs" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tableStyles" type="CT_TableStyles" minOccurs="0" maxOccurs="1"/> + <xsd:element name="colors" type="CT_Colors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CellAlignment"> + <xsd:attribute name="horizontal" type="ST_HorizontalAlignment" use="optional"/> + <xsd:attribute name="vertical" type="ST_VerticalAlignment" default="bottom" use="optional"/> + <xsd:attribute name="textRotation" type="ST_TextRotation" use="optional"/> + <xsd:attribute name="wrapText" type="xsd:boolean" use="optional"/> + <xsd:attribute name="indent" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="relativeIndent" type="xsd:int" use="optional"/> + <xsd:attribute name="justifyLastLine" type="xsd:boolean" use="optional"/> + <xsd:attribute name="shrinkToFit" type="xsd:boolean" use="optional"/> + <xsd:attribute name="readingOrder" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextRotation"> + <xsd:union> + <xsd:simpleType> + <xsd:restriction base="xsd:nonNegativeInteger"> + <xsd:maxInclusive value="180"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType> + <xsd:restriction base="xsd:nonNegativeInteger"> + <xsd:enumeration value="255"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:union> + </xsd:simpleType> + <xsd:simpleType name="ST_BorderStyle"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="thin"/> + <xsd:enumeration value="medium"/> + <xsd:enumeration value="dashed"/> + <xsd:enumeration value="dotted"/> + <xsd:enumeration value="thick"/> + <xsd:enumeration value="double"/> + <xsd:enumeration value="hair"/> + <xsd:enumeration value="mediumDashed"/> + <xsd:enumeration value="dashDot"/> + <xsd:enumeration value="mediumDashDot"/> + <xsd:enumeration value="dashDotDot"/> + <xsd:enumeration value="mediumDashDotDot"/> + <xsd:enumeration value="slantDashDot"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Borders"> + <xsd:sequence> + <xsd:element name="border" type="CT_Border" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Border"> + <xsd:sequence> + <xsd:element name="start" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="end" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="left" type="CT_BorderPr" minOccurs="0"/> + <xsd:element name="right" type="CT_BorderPr" minOccurs="0"/> + <xsd:element name="top" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bottom" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="diagonal" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="vertical" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="horizontal" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="diagonalUp" type="xsd:boolean" use="optional"/> + <xsd:attribute name="diagonalDown" type="xsd:boolean" use="optional"/> + <xsd:attribute name="outline" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_BorderPr"> + <xsd:sequence> + <xsd:element name="color" type="CT_Color" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="style" type="ST_BorderStyle" use="optional" default="none"/> + </xsd:complexType> + <xsd:complexType name="CT_CellProtection"> + <xsd:attribute name="locked" type="xsd:boolean" use="optional"/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Fonts"> + <xsd:sequence> + <xsd:element name="font" type="CT_Font" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Fills"> + <xsd:sequence> + <xsd:element name="fill" type="CT_Fill" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Fill"> + <xsd:choice minOccurs="1" maxOccurs="1"> + <xsd:element name="patternFill" type="CT_PatternFill" minOccurs="0" maxOccurs="1"/> + <xsd:element name="gradientFill" type="CT_GradientFill" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_PatternFill"> + <xsd:sequence> + <xsd:element name="fgColor" type="CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bgColor" type="CT_Color" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="patternType" type="ST_PatternType" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Color"> + <xsd:attribute name="auto" type="xsd:boolean" use="optional"/> + <xsd:attribute name="indexed" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="rgb" type="ST_UnsignedIntHex" use="optional"/> + <xsd:attribute name="theme" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="tint" type="xsd:double" use="optional" default="0.0"/> + </xsd:complexType> + <xsd:simpleType name="ST_PatternType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="solid"/> + <xsd:enumeration value="mediumGray"/> + <xsd:enumeration value="darkGray"/> + <xsd:enumeration value="lightGray"/> + <xsd:enumeration value="darkHorizontal"/> + <xsd:enumeration value="darkVertical"/> + <xsd:enumeration value="darkDown"/> + <xsd:enumeration value="darkUp"/> + <xsd:enumeration value="darkGrid"/> + <xsd:enumeration value="darkTrellis"/> + <xsd:enumeration value="lightHorizontal"/> + <xsd:enumeration value="lightVertical"/> + <xsd:enumeration value="lightDown"/> + <xsd:enumeration value="lightUp"/> + <xsd:enumeration value="lightGrid"/> + <xsd:enumeration value="lightTrellis"/> + <xsd:enumeration value="gray125"/> + <xsd:enumeration value="gray0625"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_GradientFill"> + <xsd:sequence> + <xsd:element name="stop" type="CT_GradientStop" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_GradientType" use="optional" default="linear"/> + <xsd:attribute name="degree" type="xsd:double" use="optional" default="0"/> + <xsd:attribute name="left" type="xsd:double" use="optional" default="0"/> + <xsd:attribute name="right" type="xsd:double" use="optional" default="0"/> + <xsd:attribute name="top" type="xsd:double" use="optional" default="0"/> + <xsd:attribute name="bottom" type="xsd:double" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_GradientStop"> + <xsd:sequence> + <xsd:element name="color" type="CT_Color" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="position" type="xsd:double" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_GradientType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="linear"/> + <xsd:enumeration value="path"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HorizontalAlignment"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="general"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="fill"/> + <xsd:enumeration value="justify"/> + <xsd:enumeration value="centerContinuous"/> + <xsd:enumeration value="distributed"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_VerticalAlignment"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="top"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="bottom"/> + <xsd:enumeration value="justify"/> + <xsd:enumeration value="distributed"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_NumFmts"> + <xsd:sequence> + <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_NumFmt"> + <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="required"/> + <xsd:attribute name="formatCode" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CellStyleXfs"> + <xsd:sequence> + <xsd:element name="xf" type="CT_Xf" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_CellXfs"> + <xsd:sequence> + <xsd:element name="xf" type="CT_Xf" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Xf"> + <xsd:sequence> + <xsd:element name="alignment" type="CT_CellAlignment" minOccurs="0" maxOccurs="1"/> + <xsd:element name="protection" type="CT_CellProtection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/> + <xsd:attribute name="fontId" type="ST_FontId" use="optional"/> + <xsd:attribute name="fillId" type="ST_FillId" use="optional"/> + <xsd:attribute name="borderId" type="ST_BorderId" use="optional"/> + <xsd:attribute name="xfId" type="ST_CellStyleXfId" use="optional"/> + <xsd:attribute name="quotePrefix" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="pivotButton" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="applyNumberFormat" type="xsd:boolean" use="optional"/> + <xsd:attribute name="applyFont" type="xsd:boolean" use="optional"/> + <xsd:attribute name="applyFill" type="xsd:boolean" use="optional"/> + <xsd:attribute name="applyBorder" type="xsd:boolean" use="optional"/> + <xsd:attribute name="applyAlignment" type="xsd:boolean" use="optional"/> + <xsd:attribute name="applyProtection" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_CellStyles"> + <xsd:sequence> + <xsd:element name="cellStyle" type="CT_CellStyle" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_CellStyle"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="xfId" type="ST_CellStyleXfId" use="required"/> + <xsd:attribute name="builtinId" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="iLevel" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional"/> + <xsd:attribute name="customBuiltin" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Dxfs"> + <xsd:sequence> + <xsd:element name="dxf" type="CT_Dxf" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Dxf"> + <xsd:sequence> + <xsd:element name="font" type="CT_Font" minOccurs="0" maxOccurs="1"/> + <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fill" type="CT_Fill" minOccurs="0" maxOccurs="1"/> + <xsd:element name="alignment" type="CT_CellAlignment" minOccurs="0" maxOccurs="1"/> + <xsd:element name="border" type="CT_Border" minOccurs="0" maxOccurs="1"/> + <xsd:element name="protection" type="CT_CellProtection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_NumFmtId"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_FontId"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_FillId"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_BorderId"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_CellStyleXfId"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:simpleType name="ST_DxfId"> + <xsd:restriction base="xsd:unsignedInt"/> + </xsd:simpleType> + <xsd:complexType name="CT_Colors"> + <xsd:sequence> + <xsd:element name="indexedColors" type="CT_IndexedColors" minOccurs="0" maxOccurs="1"/> + <xsd:element name="mruColors" type="CT_MRUColors" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_IndexedColors"> + <xsd:sequence> + <xsd:element name="rgbColor" type="CT_RgbColor" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MRUColors"> + <xsd:sequence> + <xsd:element name="color" type="CT_Color" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_RgbColor"> + <xsd:attribute name="rgb" type="ST_UnsignedIntHex" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TableStyles"> + <xsd:sequence> + <xsd:element name="tableStyle" type="CT_TableStyle" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="defaultTableStyle" type="xsd:string" use="optional"/> + <xsd:attribute name="defaultPivotStyle" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TableStyle"> + <xsd:sequence> + <xsd:element name="tableStyleElement" type="CT_TableStyleElement" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="pivot" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="table" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TableStyleElement"> + <xsd:attribute name="type" type="ST_TableStyleType" use="required"/> + <xsd:attribute name="size" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TableStyleType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="wholeTable"/> + <xsd:enumeration value="headerRow"/> + <xsd:enumeration value="totalRow"/> + <xsd:enumeration value="firstColumn"/> + <xsd:enumeration value="lastColumn"/> + <xsd:enumeration value="firstRowStripe"/> + <xsd:enumeration value="secondRowStripe"/> + <xsd:enumeration value="firstColumnStripe"/> + <xsd:enumeration value="secondColumnStripe"/> + <xsd:enumeration value="firstHeaderCell"/> + <xsd:enumeration value="lastHeaderCell"/> + <xsd:enumeration value="firstTotalCell"/> + <xsd:enumeration value="lastTotalCell"/> + <xsd:enumeration value="firstSubtotalColumn"/> + <xsd:enumeration value="secondSubtotalColumn"/> + <xsd:enumeration value="thirdSubtotalColumn"/> + <xsd:enumeration value="firstSubtotalRow"/> + <xsd:enumeration value="secondSubtotalRow"/> + <xsd:enumeration value="thirdSubtotalRow"/> + <xsd:enumeration value="blankRow"/> + <xsd:enumeration value="firstColumnSubheading"/> + <xsd:enumeration value="secondColumnSubheading"/> + <xsd:enumeration value="thirdColumnSubheading"/> + <xsd:enumeration value="firstRowSubheading"/> + <xsd:enumeration value="secondRowSubheading"/> + <xsd:enumeration value="thirdRowSubheading"/> + <xsd:enumeration value="pageFieldLabels"/> + <xsd:enumeration value="pageFieldValues"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_BooleanProperty"> + <xsd:attribute name="val" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:complexType name="CT_FontSize"> + <xsd:attribute name="val" type="xsd:double" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_IntProperty"> + <xsd:attribute name="val" type="xsd:int" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FontName"> + <xsd:attribute name="val" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_VerticalAlignFontProperty"> + <xsd:attribute name="val" type="s:ST_VerticalAlignRun" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FontScheme"> + <xsd:attribute name="val" type="ST_FontScheme" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_FontScheme"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="major"/> + <xsd:enumeration value="minor"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_UnderlineProperty"> + <xsd:attribute name="val" type="ST_UnderlineValues" use="optional" default="single"/> + </xsd:complexType> + <xsd:simpleType name="ST_UnderlineValues"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="single"/> + <xsd:enumeration value="double"/> + <xsd:enumeration value="singleAccounting"/> + <xsd:enumeration value="doubleAccounting"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Font"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="name" type="CT_FontName" minOccurs="0" maxOccurs="1"/> + <xsd:element name="charset" type="CT_IntProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="family" type="CT_FontFamily" minOccurs="0" maxOccurs="1"/> + <xsd:element name="b" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="i" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="strike" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="outline" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shadow" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="condense" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extend" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="color" type="CT_Color" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sz" type="CT_FontSize" minOccurs="0" maxOccurs="1"/> + <xsd:element name="u" type="CT_UnderlineProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="vertAlign" type="CT_VerticalAlignFontProperty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="scheme" type="CT_FontScheme" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_FontFamily"> + <xsd:attribute name="val" type="ST_FontFamily" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_FontFamily"> + <xsd:restriction base="xsd:integer"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="14"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:attributeGroup name="AG_AutoFormat"> + <xsd:attribute name="autoFormatId" type="xsd:unsignedInt"/> + <xsd:attribute name="applyNumberFormats" type="xsd:boolean"/> + <xsd:attribute name="applyBorderFormats" type="xsd:boolean"/> + <xsd:attribute name="applyFontFormats" type="xsd:boolean"/> + <xsd:attribute name="applyPatternFormats" type="xsd:boolean"/> + <xsd:attribute name="applyAlignmentFormats" type="xsd:boolean"/> + <xsd:attribute name="applyWidthHeightFormats" type="xsd:boolean"/> + </xsd:attributeGroup> + <xsd:element name="externalLink" type="CT_ExternalLink"/> + <xsd:complexType name="CT_ExternalLink"> + <xsd:sequence> + <xsd:choice> + <xsd:element name="externalBook" type="CT_ExternalBook" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ddeLink" type="CT_DdeLink" minOccurs="0" maxOccurs="1"/> + <xsd:element name="oleLink" type="CT_OleLink" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ExternalBook"> + <xsd:sequence> + <xsd:element name="sheetNames" type="CT_ExternalSheetNames" minOccurs="0" maxOccurs="1"/> + <xsd:element name="definedNames" type="CT_ExternalDefinedNames" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sheetDataSet" type="CT_ExternalSheetDataSet" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_ExternalSheetNames"> + <xsd:sequence> + <xsd:element name="sheetName" minOccurs="1" maxOccurs="unbounded" type="CT_ExternalSheetName" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ExternalSheetName"> + <xsd:attribute name="val" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_ExternalDefinedNames"> + <xsd:sequence> + <xsd:element name="definedName" type="CT_ExternalDefinedName" minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ExternalDefinedName"> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="refersTo" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ExternalSheetDataSet"> + <xsd:sequence> + <xsd:element name="sheetData" type="CT_ExternalSheetData" minOccurs="1" maxOccurs="unbounded" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ExternalSheetData"> + <xsd:sequence> + <xsd:element name="row" type="CT_ExternalRow" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="refreshError" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_ExternalRow"> + <xsd:sequence> + <xsd:element name="cell" type="CT_ExternalCell" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="r" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_ExternalCell"> + <xsd:sequence> + <xsd:element name="v" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="r" type="ST_CellRef" use="optional"/> + <xsd:attribute name="t" type="ST_CellType" use="optional" default="n"/> + <xsd:attribute name="vm" type="xsd:unsignedInt" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_DdeLink"> + <xsd:sequence> + <xsd:element name="ddeItems" type="CT_DdeItems" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="ddeService" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="ddeTopic" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DdeItems"> + <xsd:sequence> + <xsd:element name="ddeItem" type="CT_DdeItem" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DdeItem"> + <xsd:sequence> + <xsd:element name="values" type="CT_DdeValues" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_Xstring" default="0"/> + <xsd:attribute name="ole" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="advise" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="preferPic" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_DdeValues"> + <xsd:sequence> + <xsd:element name="value" minOccurs="1" maxOccurs="unbounded" type="CT_DdeValue"/> + </xsd:sequence> + <xsd:attribute name="rows" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="cols" type="xsd:unsignedInt" use="optional" default="1"/> + </xsd:complexType> + <xsd:complexType name="CT_DdeValue"> + <xsd:sequence> + <xsd:element name="val" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="t" type="ST_DdeValueType" use="optional" default="n"/> + </xsd:complexType> + <xsd:simpleType name="ST_DdeValueType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="nil"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="n"/> + <xsd:enumeration value="e"/> + <xsd:enumeration value="str"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_OleLink"> + <xsd:sequence> + <xsd:element name="oleItems" type="CT_OleItems" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:id" use="required"/> + <xsd:attribute name="progId" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_OleItems"> + <xsd:sequence> + <xsd:element name="oleItem" type="CT_OleItem" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_OleItem"> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="icon" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="advise" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="preferPic" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:element name="table" type="CT_Table"/> + <xsd:complexType name="CT_Table"> + <xsd:sequence> + <xsd:element name="autoFilter" type="CT_AutoFilter" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sortState" type="CT_SortState" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tableColumns" type="CT_TableColumns" minOccurs="1" maxOccurs="1"/> + <xsd:element name="tableStyleInfo" type="CT_TableStyleInfo" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="displayName" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + <xsd:attribute name="tableType" type="ST_TableType" use="optional" default="worksheet"/> + <xsd:attribute name="headerRowCount" type="xsd:unsignedInt" use="optional" default="1"/> + <xsd:attribute name="insertRow" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="insertRowShift" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="totalsRowCount" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="totalsRowShown" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="published" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="headerRowDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="dataDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="totalsRowDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="headerRowBorderDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="tableBorderDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="totalsRowBorderDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="headerRowCellStyle" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="dataCellStyle" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="totalsRowCellStyle" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="connectionId" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TableType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="worksheet"/> + <xsd:enumeration value="xml"/> + <xsd:enumeration value="queryTable"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TableStyleInfo"> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="showFirstColumn" type="xsd:boolean" use="optional"/> + <xsd:attribute name="showLastColumn" type="xsd:boolean" use="optional"/> + <xsd:attribute name="showRowStripes" type="xsd:boolean" use="optional"/> + <xsd:attribute name="showColumnStripes" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TableColumns"> + <xsd:sequence> + <xsd:element name="tableColumn" type="CT_TableColumn" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TableColumn"> + <xsd:sequence> + <xsd:element name="calculatedColumnFormula" type="CT_TableFormula" minOccurs="0" maxOccurs="1"/> + <xsd:element name="totalsRowFormula" type="CT_TableFormula" minOccurs="0" maxOccurs="1"/> + <xsd:element name="xmlColumnPr" type="CT_XmlColumnPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="uniqueName" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="totalsRowFunction" type="ST_TotalsRowFunction" use="optional" + default="none"/> + <xsd:attribute name="totalsRowLabel" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="queryTableFieldId" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="headerRowDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="dataDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="totalsRowDxfId" type="ST_DxfId" use="optional"/> + <xsd:attribute name="headerRowCellStyle" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="dataCellStyle" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="totalsRowCellStyle" type="s:ST_Xstring" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_TableFormula"> + <xsd:simpleContent> + <xsd:extension base="ST_Formula"> + <xsd:attribute name="array" type="xsd:boolean" default="false"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:simpleType name="ST_TotalsRowFunction"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="sum"/> + <xsd:enumeration value="min"/> + <xsd:enumeration value="max"/> + <xsd:enumeration value="average"/> + <xsd:enumeration value="count"/> + <xsd:enumeration value="countNums"/> + <xsd:enumeration value="stdDev"/> + <xsd:enumeration value="var"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_XmlColumnPr"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="mapId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="xpath" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="denormalized" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="xmlDataType" type="ST_XmlDataType" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_XmlDataType"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:element name="volTypes" type="CT_VolTypes"/> + <xsd:complexType name="CT_VolTypes"> + <xsd:sequence> + <xsd:element name="volType" type="CT_VolType" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_VolType"> + <xsd:sequence> + <xsd:element name="main" type="CT_VolMain" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_VolDepType" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_VolMain"> + <xsd:sequence> + <xsd:element name="tp" type="CT_VolTopic" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="first" type="s:ST_Xstring" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_VolTopic"> + <xsd:sequence> + <xsd:element name="v" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/> + <xsd:element name="stp" type="s:ST_Xstring" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="tr" type="CT_VolTopicRef" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="t" type="ST_VolValueType" use="optional" default="n"/> + </xsd:complexType> + <xsd:complexType name="CT_VolTopicRef"> + <xsd:attribute name="r" type="ST_CellRef" use="required"/> + <xsd:attribute name="s" type="xsd:unsignedInt" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_VolDepType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="realTimeData"/> + <xsd:enumeration value="olapFunctions"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_VolValueType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="b"/> + <xsd:enumeration value="n"/> + <xsd:enumeration value="e"/> + <xsd:enumeration value="s"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:element name="workbook" type="CT_Workbook"/> + <xsd:complexType name="CT_Workbook"> + <xsd:sequence> + <xsd:element name="fileVersion" type="CT_FileVersion" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fileSharing" type="CT_FileSharing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="workbookPr" type="CT_WorkbookPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="workbookProtection" type="CT_WorkbookProtection" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="bookViews" type="CT_BookViews" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sheets" type="CT_Sheets" minOccurs="1" maxOccurs="1"/> + <xsd:element name="functionGroups" type="CT_FunctionGroups" minOccurs="0" maxOccurs="1"/> + <xsd:element name="externalReferences" type="CT_ExternalReferences" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="definedNames" type="CT_DefinedNames" minOccurs="0" maxOccurs="1"/> + <xsd:element name="calcPr" type="CT_CalcPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="oleSize" type="CT_OleSize" minOccurs="0" maxOccurs="1"/> + <xsd:element name="customWorkbookViews" type="CT_CustomWorkbookViews" minOccurs="0" + maxOccurs="1"/> + <xsd:element name="pivotCaches" type="CT_PivotCaches" minOccurs="0" maxOccurs="1"/> + <xsd:element name="smartTagPr" type="CT_SmartTagPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="smartTagTypes" type="CT_SmartTagTypes" minOccurs="0" maxOccurs="1"/> + <xsd:element name="webPublishing" type="CT_WebPublishing" minOccurs="0" maxOccurs="1"/> + <xsd:element name="fileRecoveryPr" type="CT_FileRecoveryPr" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="webPublishObjects" type="CT_WebPublishObjects" minOccurs="0" maxOccurs="1"/> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="conformance" type="s:ST_ConformanceClass"/> + </xsd:complexType> + <xsd:complexType name="CT_FileVersion"> + <xsd:attribute name="appName" type="xsd:string" use="optional"/> + <xsd:attribute name="lastEdited" type="xsd:string" use="optional"/> + <xsd:attribute name="lowestEdited" type="xsd:string" use="optional"/> + <xsd:attribute name="rupBuild" type="xsd:string" use="optional"/> + <xsd:attribute name="codeName" type="s:ST_Guid" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_BookViews"> + <xsd:sequence> + <xsd:element name="workbookView" type="CT_BookView" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_BookView"> + <xsd:sequence> + <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="visibility" type="ST_Visibility" use="optional" default="visible"/> + <xsd:attribute name="minimized" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showHorizontalScroll" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showVerticalScroll" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showSheetTabs" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="xWindow" type="xsd:int" use="optional"/> + <xsd:attribute name="yWindow" type="xsd:int" use="optional"/> + <xsd:attribute name="windowWidth" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="windowHeight" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="tabRatio" type="xsd:unsignedInt" use="optional" default="600"/> + <xsd:attribute name="firstSheet" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="activeTab" type="xsd:unsignedInt" use="optional" default="0"/> + <xsd:attribute name="autoFilterDateGrouping" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + <xsd:simpleType name="ST_Visibility"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="visible"/> + <xsd:enumeration value="hidden"/> + <xsd:enumeration value="veryHidden"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_CustomWorkbookViews"> + <xsd:sequence> + <xsd:element name="customWorkbookView" minOccurs="1" maxOccurs="unbounded" + type="CT_CustomWorkbookView"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CustomWorkbookView"> + <xsd:sequence> + <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="guid" type="s:ST_Guid" use="required"/> + <xsd:attribute name="autoUpdate" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="mergeInterval" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="changesSavedWin" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="onlySync" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="personalView" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="includePrintSettings" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="includeHiddenRowCol" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="maximized" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="minimized" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showHorizontalScroll" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showVerticalScroll" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showSheetTabs" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="xWindow" type="xsd:int" use="optional" default="0"/> + <xsd:attribute name="yWindow" type="xsd:int" use="optional" default="0"/> + <xsd:attribute name="windowWidth" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="windowHeight" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="tabRatio" type="xsd:unsignedInt" use="optional" default="600"/> + <xsd:attribute name="activeSheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="showFormulaBar" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showStatusbar" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="showComments" type="ST_Comments" use="optional" default="commIndicator"/> + <xsd:attribute name="showObjects" type="ST_Objects" use="optional" default="all"/> + </xsd:complexType> + <xsd:simpleType name="ST_Comments"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="commNone"/> + <xsd:enumeration value="commIndicator"/> + <xsd:enumeration value="commIndAndComment"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Objects"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="all"/> + <xsd:enumeration value="placeholders"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Sheets"> + <xsd:sequence> + <xsd:element name="sheet" type="CT_Sheet" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Sheet"> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="state" type="ST_SheetState" use="optional" default="visible"/> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_SheetState"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="visible"/> + <xsd:enumeration value="hidden"/> + <xsd:enumeration value="veryHidden"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_WorkbookPr"> + <xsd:attribute name="date1904" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showObjects" type="ST_Objects" use="optional" default="all"/> + <xsd:attribute name="showBorderUnselectedTables" type="xsd:boolean" use="optional" + default="true"/> + <xsd:attribute name="filterPrivacy" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="promptedSolutions" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showInkAnnotation" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="backupFile" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="saveExternalLinkValues" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="updateLinks" type="ST_UpdateLinks" use="optional" default="userSet"/> + <xsd:attribute name="codeName" type="xsd:string" use="optional"/> + <xsd:attribute name="hidePivotFieldList" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="showPivotChartFilter" type="xsd:boolean" default="false"/> + <xsd:attribute name="allowRefreshQuery" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="publishItems" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="checkCompatibility" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="autoCompressPictures" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="refreshAllConnections" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="defaultThemeVersion" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_UpdateLinks"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="userSet"/> + <xsd:enumeration value="never"/> + <xsd:enumeration value="always"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SmartTagPr"> + <xsd:attribute name="embed" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="show" type="ST_SmartTagShow" use="optional" default="all"/> + </xsd:complexType> + <xsd:simpleType name="ST_SmartTagShow"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="all"/> + <xsd:enumeration value="none"/> + <xsd:enumeration value="noIndicator"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SmartTagTypes"> + <xsd:sequence> + <xsd:element name="smartTagType" type="CT_SmartTagType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SmartTagType"> + <xsd:attribute name="namespaceUri" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="url" type="s:ST_Xstring" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_FileRecoveryPr"> + <xsd:attribute name="autoRecover" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="crashSave" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="dataExtractLoad" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="repairLoad" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + <xsd:complexType name="CT_CalcPr"> + <xsd:attribute name="calcId" type="xsd:unsignedInt"/> + <xsd:attribute name="calcMode" type="ST_CalcMode" use="optional" default="auto"/> + <xsd:attribute name="fullCalcOnLoad" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="refMode" type="ST_RefMode" use="optional" default="A1"/> + <xsd:attribute name="iterate" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="iterateCount" type="xsd:unsignedInt" use="optional" default="100"/> + <xsd:attribute name="iterateDelta" type="xsd:double" use="optional" default="0.001"/> + <xsd:attribute name="fullPrecision" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="calcCompleted" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="calcOnSave" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="concurrentCalc" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="concurrentManualCount" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="forceFullCalc" type="xsd:boolean" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_CalcMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="manual"/> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="autoNoTable"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_RefMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="A1"/> + <xsd:enumeration value="R1C1"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DefinedNames"> + <xsd:sequence> + <xsd:element name="definedName" type="CT_DefinedName" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DefinedName"> + <xsd:simpleContent> + <xsd:extension base="ST_Formula"> + <xsd:attribute name="name" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="customMenu" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="description" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="help" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="statusBar" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="localSheetId" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="function" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="vbProcedure" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="xlm" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="functionGroupId" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="shortcutKey" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="publishToServer" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="workbookParameter" type="xsd:boolean" use="optional" default="false"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="CT_ExternalReferences"> + <xsd:sequence> + <xsd:element name="externalReference" type="CT_ExternalReference" minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ExternalReference"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SheetBackgroundPicture"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PivotCaches"> + <xsd:sequence> + <xsd:element name="pivotCache" type="CT_PivotCache" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PivotCache"> + <xsd:attribute name="cacheId" type="xsd:unsignedInt" use="required"/> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FileSharing"> + <xsd:attribute name="readOnlyRecommended" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="userName" type="s:ST_Xstring"/> + <xsd:attribute name="reservationPassword" type="ST_UnsignedShortHex"/> + <xsd:attribute name="algorithmName" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_OleSize"> + <xsd:attribute name="ref" type="ST_Ref" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_WorkbookProtection"> + <xsd:attribute name="workbookPassword" type="ST_UnsignedShortHex" use="optional"/> + <xsd:attribute name="workbookPasswordCharacterSet" type="xsd:string" use="optional"/> + <xsd:attribute name="revisionsPassword" type="ST_UnsignedShortHex" use="optional"/> + <xsd:attribute name="revisionsPasswordCharacterSet" type="xsd:string" use="optional"/> + <xsd:attribute name="lockStructure" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="lockWindows" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="lockRevision" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="revisionsAlgorithmName" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="revisionsHashValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="revisionsSaltValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="revisionsSpinCount" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="workbookAlgorithmName" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="workbookHashValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="workbookSaltValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="workbookSpinCount" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_WebPublishing"> + <xsd:attribute name="css" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="thicket" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="longFileNames" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="vml" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="allowPng" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="targetScreenSize" type="ST_TargetScreenSize" use="optional" + default="800x600"/> + <xsd:attribute name="dpi" type="xsd:unsignedInt" use="optional" default="96"/> + <xsd:attribute name="codePage" type="xsd:unsignedInt" use="optional"/> + <xsd:attribute name="characterSet" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TargetScreenSize"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="544x376"/> + <xsd:enumeration value="640x480"/> + <xsd:enumeration value="720x512"/> + <xsd:enumeration value="800x600"/> + <xsd:enumeration value="1024x768"/> + <xsd:enumeration value="1152x882"/> + <xsd:enumeration value="1152x900"/> + <xsd:enumeration value="1280x1024"/> + <xsd:enumeration value="1600x1200"/> + <xsd:enumeration value="1800x1440"/> + <xsd:enumeration value="1920x1200"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FunctionGroups"> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element name="functionGroup" type="CT_FunctionGroup" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="builtInGroupCount" type="xsd:unsignedInt" default="16" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_FunctionGroup"> + <xsd:attribute name="name" type="s:ST_Xstring"/> + </xsd:complexType> + <xsd:complexType name="CT_WebPublishObjects"> + <xsd:sequence> + <xsd:element name="webPublishObject" type="CT_WebPublishObject" minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_WebPublishObject"> + <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> + <xsd:attribute name="divId" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="sourceObject" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="destinationFile" type="s:ST_Xstring" use="required"/> + <xsd:attribute name="title" type="s:ST_Xstring" use="optional"/> + <xsd:attribute name="autoRepublish" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd new file mode 100755 index 0000000..8821dd1 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd @@ -0,0 +1,570 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:vml" + xmlns:pvml="urn:schemas-microsoft-com:office:powerpoint" + xmlns:o="urn:schemas-microsoft-com:office:office" + xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" + xmlns:w10="urn:schemas-microsoft-com:office:word" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns:x="urn:schemas-microsoft-com:office:excel" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="urn:schemas-microsoft-com:vml" elementFormDefault="qualified" + attributeFormDefault="unqualified"> + <xsd:import namespace="urn:schemas-microsoft-com:office:office" + schemaLocation="vml-officeDrawing.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" + schemaLocation="wml.xsd"/> + <xsd:import namespace="urn:schemas-microsoft-com:office:word" + schemaLocation="vml-wordprocessingDrawing.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:import namespace="urn:schemas-microsoft-com:office:excel" + schemaLocation="vml-spreadsheetDrawing.xsd"/> + <xsd:import namespace="urn:schemas-microsoft-com:office:powerpoint" + schemaLocation="vml-presentationDrawing.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:attributeGroup name="AG_Id"> + <xsd:attribute name="id" type="xsd:string" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_Style"> + <xsd:attribute name="style" type="xsd:string" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_Type"> + <xsd:attribute name="type" type="xsd:string" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_Adj"> + <xsd:attribute name="adj" type="xsd:string" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_Path"> + <xsd:attribute name="path" type="xsd:string" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_Fill"> + <xsd:attribute name="filled" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="fillcolor" type="s:ST_ColorType" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_Chromakey"> + <xsd:attribute name="chromakey" type="s:ST_ColorType" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_Ext"> + <xsd:attribute name="ext" form="qualified" type="ST_Ext"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_CoreAttributes"> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attributeGroup ref="AG_Style"/> + <xsd:attribute name="href" type="xsd:string" use="optional"/> + <xsd:attribute name="target" type="xsd:string" use="optional"/> + <xsd:attribute name="class" type="xsd:string" use="optional"/> + <xsd:attribute name="title" type="xsd:string" use="optional"/> + <xsd:attribute name="alt" type="xsd:string" use="optional"/> + <xsd:attribute name="coordsize" type="xsd:string" use="optional"/> + <xsd:attribute name="coordorigin" type="xsd:string" use="optional"/> + <xsd:attribute name="wrapcoords" type="xsd:string" use="optional"/> + <xsd:attribute name="print" type="s:ST_TrueFalse" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_ShapeAttributes"> + <xsd:attributeGroup ref="AG_Chromakey"/> + <xsd:attributeGroup ref="AG_Fill"/> + <xsd:attribute name="opacity" type="xsd:string" use="optional"/> + <xsd:attribute name="stroked" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="strokecolor" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="strokeweight" type="xsd:string" use="optional"/> + <xsd:attribute name="insetpen" type="s:ST_TrueFalse" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_OfficeCoreAttributes"> + <xsd:attribute ref="o:spid"/> + <xsd:attribute ref="o:oned"/> + <xsd:attribute ref="o:regroupid"/> + <xsd:attribute ref="o:doubleclicknotify"/> + <xsd:attribute ref="o:button"/> + <xsd:attribute ref="o:userhidden"/> + <xsd:attribute ref="o:bullet"/> + <xsd:attribute ref="o:hr"/> + <xsd:attribute ref="o:hrstd"/> + <xsd:attribute ref="o:hrnoshade"/> + <xsd:attribute ref="o:hrpct"/> + <xsd:attribute ref="o:hralign"/> + <xsd:attribute ref="o:allowincell"/> + <xsd:attribute ref="o:allowoverlap"/> + <xsd:attribute ref="o:userdrawn"/> + <xsd:attribute ref="o:bordertopcolor"/> + <xsd:attribute ref="o:borderleftcolor"/> + <xsd:attribute ref="o:borderbottomcolor"/> + <xsd:attribute ref="o:borderrightcolor"/> + <xsd:attribute ref="o:dgmlayout"/> + <xsd:attribute ref="o:dgmnodekind"/> + <xsd:attribute ref="o:dgmlayoutmru"/> + <xsd:attribute ref="o:insetmode"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_OfficeShapeAttributes"> + <xsd:attribute ref="o:spt"/> + <xsd:attribute ref="o:connectortype"/> + <xsd:attribute ref="o:bwmode"/> + <xsd:attribute ref="o:bwpure"/> + <xsd:attribute ref="o:bwnormal"/> + <xsd:attribute ref="o:forcedash"/> + <xsd:attribute ref="o:oleicon"/> + <xsd:attribute ref="o:ole"/> + <xsd:attribute ref="o:preferrelative"/> + <xsd:attribute ref="o:cliptowrap"/> + <xsd:attribute ref="o:clip"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_AllCoreAttributes"> + <xsd:attributeGroup ref="AG_CoreAttributes"/> + <xsd:attributeGroup ref="AG_OfficeCoreAttributes"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_AllShapeAttributes"> + <xsd:attributeGroup ref="AG_ShapeAttributes"/> + <xsd:attributeGroup ref="AG_OfficeShapeAttributes"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_ImageAttributes"> + <xsd:attribute name="src" type="xsd:string" use="optional"/> + <xsd:attribute name="cropleft" type="xsd:string" use="optional"/> + <xsd:attribute name="croptop" type="xsd:string" use="optional"/> + <xsd:attribute name="cropright" type="xsd:string" use="optional"/> + <xsd:attribute name="cropbottom" type="xsd:string" use="optional"/> + <xsd:attribute name="gain" type="xsd:string" use="optional"/> + <xsd:attribute name="blacklevel" type="xsd:string" use="optional"/> + <xsd:attribute name="gamma" type="xsd:string" use="optional"/> + <xsd:attribute name="grayscale" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="bilevel" type="s:ST_TrueFalse" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_StrokeAttributes"> + <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="weight" type="xsd:string" use="optional"/> + <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="opacity" type="xsd:string" use="optional"/> + <xsd:attribute name="linestyle" type="ST_StrokeLineStyle" use="optional"/> + <xsd:attribute name="miterlimit" type="xsd:decimal" use="optional"/> + <xsd:attribute name="joinstyle" type="ST_StrokeJoinStyle" use="optional"/> + <xsd:attribute name="endcap" type="ST_StrokeEndCap" use="optional"/> + <xsd:attribute name="dashstyle" type="xsd:string" use="optional"/> + <xsd:attribute name="filltype" type="ST_FillType" use="optional"/> + <xsd:attribute name="src" type="xsd:string" use="optional"/> + <xsd:attribute name="imageaspect" type="ST_ImageAspect" use="optional"/> + <xsd:attribute name="imagesize" type="xsd:string" use="optional"/> + <xsd:attribute name="imagealignshape" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="color2" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="startarrow" type="ST_StrokeArrowType" use="optional"/> + <xsd:attribute name="startarrowwidth" type="ST_StrokeArrowWidth" use="optional"/> + <xsd:attribute name="startarrowlength" type="ST_StrokeArrowLength" use="optional"/> + <xsd:attribute name="endarrow" type="ST_StrokeArrowType" use="optional"/> + <xsd:attribute name="endarrowwidth" type="ST_StrokeArrowWidth" use="optional"/> + <xsd:attribute name="endarrowlength" type="ST_StrokeArrowLength" use="optional"/> + <xsd:attribute ref="o:href"/> + <xsd:attribute ref="o:althref"/> + <xsd:attribute ref="o:title"/> + <xsd:attribute ref="o:forcedash"/> + <xsd:attribute ref="r:id" use="optional"/> + <xsd:attribute name="insetpen" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute ref="o:relid"/> + </xsd:attributeGroup> + <xsd:group name="EG_ShapeElements"> + <xsd:choice> + <xsd:element ref="path"/> + <xsd:element ref="formulas"/> + <xsd:element ref="handles"/> + <xsd:element ref="fill"/> + <xsd:element ref="stroke"/> + <xsd:element ref="shadow"/> + <xsd:element ref="textbox"/> + <xsd:element ref="textpath"/> + <xsd:element ref="imagedata"/> + <xsd:element ref="o:skew"/> + <xsd:element ref="o:extrusion"/> + <xsd:element ref="o:callout"/> + <xsd:element ref="o:lock"/> + <xsd:element ref="o:clippath"/> + <xsd:element ref="o:signatureline"/> + <xsd:element ref="w10:wrap"/> + <xsd:element ref="w10:anchorlock"/> + <xsd:element ref="w10:bordertop"/> + <xsd:element ref="w10:borderbottom"/> + <xsd:element ref="w10:borderleft"/> + <xsd:element ref="w10:borderright"/> + <xsd:element ref="x:ClientData" minOccurs="0"/> + <xsd:element ref="pvml:textdata" minOccurs="0"/> + </xsd:choice> + </xsd:group> + <xsd:element name="shape" type="CT_Shape"/> + <xsd:element name="shapetype" type="CT_Shapetype"/> + <xsd:element name="group" type="CT_Group"/> + <xsd:element name="background" type="CT_Background"/> + <xsd:complexType name="CT_Shape"> + <xsd:choice maxOccurs="unbounded"> + <xsd:group ref="EG_ShapeElements"/> + <xsd:element ref="o:ink"/> + <xsd:element ref="pvml:iscomment"/> + <xsd:element ref="o:equationxml"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + <xsd:attributeGroup ref="AG_Type"/> + <xsd:attributeGroup ref="AG_Adj"/> + <xsd:attributeGroup ref="AG_Path"/> + <xsd:attribute ref="o:gfxdata"/> + <xsd:attribute name="equationxml" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Shapetype"> + <xsd:sequence> + <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="o:complex" minOccurs="0"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + <xsd:attributeGroup ref="AG_Adj"/> + <xsd:attributeGroup ref="AG_Path"/> + <xsd:attribute ref="o:master"/> + </xsd:complexType> + <xsd:complexType name="CT_Group"> + <xsd:choice maxOccurs="unbounded"> + <xsd:group ref="EG_ShapeElements"/> + <xsd:element ref="group"/> + <xsd:element ref="shape"/> + <xsd:element ref="shapetype"/> + <xsd:element ref="arc"/> + <xsd:element ref="curve"/> + <xsd:element ref="image"/> + <xsd:element ref="line"/> + <xsd:element ref="oval"/> + <xsd:element ref="polyline"/> + <xsd:element ref="rect"/> + <xsd:element ref="roundrect"/> + <xsd:element ref="o:diagram"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_Fill"/> + <xsd:attribute name="editas" type="ST_EditAs" use="optional"/> + <xsd:attribute ref="o:tableproperties"/> + <xsd:attribute ref="o:tablelimits"/> + </xsd:complexType> + <xsd:complexType name="CT_Background"> + <xsd:sequence> + <xsd:element ref="fill" minOccurs="0"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attributeGroup ref="AG_Fill"/> + <xsd:attribute ref="o:bwmode"/> + <xsd:attribute ref="o:bwpure"/> + <xsd:attribute ref="o:bwnormal"/> + <xsd:attribute ref="o:targetscreensize"/> + </xsd:complexType> + <xsd:element name="fill" type="CT_Fill"/> + <xsd:element name="formulas" type="CT_Formulas"/> + <xsd:element name="handles" type="CT_Handles"/> + <xsd:element name="imagedata" type="CT_ImageData"/> + <xsd:element name="path" type="CT_Path"/> + <xsd:element name="textbox" type="CT_Textbox"/> + <xsd:element name="shadow" type="CT_Shadow"/> + <xsd:element name="stroke" type="CT_Stroke"/> + <xsd:element name="textpath" type="CT_TextPath"/> + <xsd:complexType name="CT_Fill"> + <xsd:sequence> + <xsd:element ref="o:fill" minOccurs="0"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attribute name="type" type="ST_FillType" use="optional"/> + <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="opacity" type="xsd:string" use="optional"/> + <xsd:attribute name="color2" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="src" type="xsd:string" use="optional"/> + <xsd:attribute ref="o:href"/> + <xsd:attribute ref="o:althref"/> + <xsd:attribute name="size" type="xsd:string" use="optional"/> + <xsd:attribute name="origin" type="xsd:string" use="optional"/> + <xsd:attribute name="position" type="xsd:string" use="optional"/> + <xsd:attribute name="aspect" type="ST_ImageAspect" use="optional"/> + <xsd:attribute name="colors" type="xsd:string" use="optional"/> + <xsd:attribute name="angle" type="xsd:decimal" use="optional"/> + <xsd:attribute name="alignshape" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="focus" type="xsd:string" use="optional"/> + <xsd:attribute name="focussize" type="xsd:string" use="optional"/> + <xsd:attribute name="focusposition" type="xsd:string" use="optional"/> + <xsd:attribute name="method" type="ST_FillMethod" use="optional"/> + <xsd:attribute ref="o:detectmouseclick"/> + <xsd:attribute ref="o:title"/> + <xsd:attribute ref="o:opacity2"/> + <xsd:attribute name="recolor" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="rotate" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute ref="r:id" use="optional"/> + <xsd:attribute ref="o:relid" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Formulas"> + <xsd:sequence> + <xsd:element name="f" type="CT_F" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_F"> + <xsd:attribute name="eqn" type="xsd:string"/> + </xsd:complexType> + <xsd:complexType name="CT_Handles"> + <xsd:sequence> + <xsd:element name="h" type="CT_H" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_H"> + <xsd:attribute name="position" type="xsd:string"/> + <xsd:attribute name="polar" type="xsd:string"/> + <xsd:attribute name="map" type="xsd:string"/> + <xsd:attribute name="invx" type="s:ST_TrueFalse"/> + <xsd:attribute name="invy" type="s:ST_TrueFalse"/> + <xsd:attribute name="switch" type="s:ST_TrueFalseBlank"/> + <xsd:attribute name="xrange" type="xsd:string"/> + <xsd:attribute name="yrange" type="xsd:string"/> + <xsd:attribute name="radiusrange" type="xsd:string"/> + </xsd:complexType> + <xsd:complexType name="CT_ImageData"> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attributeGroup ref="AG_ImageAttributes"/> + <xsd:attributeGroup ref="AG_Chromakey"/> + <xsd:attribute name="embosscolor" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="recolortarget" type="s:ST_ColorType"/> + <xsd:attribute ref="o:href"/> + <xsd:attribute ref="o:althref"/> + <xsd:attribute ref="o:title"/> + <xsd:attribute ref="o:oleid"/> + <xsd:attribute ref="o:detectmouseclick"/> + <xsd:attribute ref="o:movie"/> + <xsd:attribute ref="o:relid"/> + <xsd:attribute ref="r:id"/> + <xsd:attribute ref="r:pict"/> + <xsd:attribute ref="r:href"/> + </xsd:complexType> + <xsd:complexType name="CT_Path"> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attribute name="v" type="xsd:string" use="optional"/> + <xsd:attribute name="limo" type="xsd:string" use="optional"/> + <xsd:attribute name="textboxrect" type="xsd:string" use="optional"/> + <xsd:attribute name="fillok" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="strokeok" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="shadowok" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="arrowok" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="gradientshapeok" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="textpathok" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="insetpenok" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute ref="o:connecttype"/> + <xsd:attribute ref="o:connectlocs"/> + <xsd:attribute ref="o:connectangles"/> + <xsd:attribute ref="o:extrusionok"/> + </xsd:complexType> + <xsd:complexType name="CT_Shadow"> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="type" type="ST_ShadowType" use="optional"/> + <xsd:attribute name="obscured" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="opacity" type="xsd:string" use="optional"/> + <xsd:attribute name="offset" type="xsd:string" use="optional"/> + <xsd:attribute name="color2" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="offset2" type="xsd:string" use="optional"/> + <xsd:attribute name="origin" type="xsd:string" use="optional"/> + <xsd:attribute name="matrix" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Stroke"> + <xsd:sequence> + <xsd:element ref="o:left" minOccurs="0"/> + <xsd:element ref="o:top" minOccurs="0"/> + <xsd:element ref="o:right" minOccurs="0"/> + <xsd:element ref="o:bottom" minOccurs="0"/> + <xsd:element ref="o:column" minOccurs="0"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attributeGroup ref="AG_StrokeAttributes"/> + </xsd:complexType> + <xsd:complexType name="CT_Textbox"> + <xsd:choice> + <xsd:element ref="w:txbxContent" minOccurs="0"/> + <xsd:any namespace="##local" processContents="skip"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attributeGroup ref="AG_Style"/> + <xsd:attribute name="inset" type="xsd:string" use="optional"/> + <xsd:attribute ref="o:singleclick"/> + <xsd:attribute ref="o:insetmode"/> + </xsd:complexType> + <xsd:complexType name="CT_TextPath"> + <xsd:attributeGroup ref="AG_Id"/> + <xsd:attributeGroup ref="AG_Style"/> + <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="fitshape" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="fitpath" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="trim" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="xscale" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="string" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:element name="arc" type="CT_Arc"/> + <xsd:element name="curve" type="CT_Curve"/> + <xsd:element name="image" type="CT_Image"/> + <xsd:element name="line" type="CT_Line"/> + <xsd:element name="oval" type="CT_Oval"/> + <xsd:element name="polyline" type="CT_PolyLine"/> + <xsd:element name="rect" type="CT_Rect"/> + <xsd:element name="roundrect" type="CT_RoundRect"/> + <xsd:complexType name="CT_Arc"> + <xsd:sequence> + <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + <xsd:attribute name="startAngle" type="xsd:decimal" use="optional"/> + <xsd:attribute name="endAngle" type="xsd:decimal" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Curve"> + <xsd:sequence> + <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + <xsd:attribute name="from" type="xsd:string" use="optional"/> + <xsd:attribute name="control1" type="xsd:string" use="optional"/> + <xsd:attribute name="control2" type="xsd:string" use="optional"/> + <xsd:attribute name="to" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Image"> + <xsd:sequence> + <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + <xsd:attributeGroup ref="AG_ImageAttributes"/> + </xsd:complexType> + <xsd:complexType name="CT_Line"> + <xsd:sequence> + <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + <xsd:attribute name="from" type="xsd:string" use="optional"/> + <xsd:attribute name="to" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Oval"> + <xsd:choice maxOccurs="unbounded"> + <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + </xsd:complexType> + <xsd:complexType name="CT_PolyLine"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:group ref="EG_ShapeElements"/> + <xsd:element ref="o:ink"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + <xsd:attribute name="points" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Rect"> + <xsd:choice maxOccurs="unbounded"> + <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + </xsd:complexType> + <xsd:complexType name="CT_RoundRect"> + <xsd:choice maxOccurs="unbounded"> + <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + <xsd:attributeGroup ref="AG_AllCoreAttributes"/> + <xsd:attributeGroup ref="AG_AllShapeAttributes"/> + <xsd:attribute name="arcsize" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_Ext"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="view"/> + <xsd:enumeration value="edit"/> + <xsd:enumeration value="backwardCompatible"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FillType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="solid"/> + <xsd:enumeration value="gradient"/> + <xsd:enumeration value="gradientRadial"/> + <xsd:enumeration value="tile"/> + <xsd:enumeration value="pattern"/> + <xsd:enumeration value="frame"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FillMethod"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="linear"/> + <xsd:enumeration value="sigma"/> + <xsd:enumeration value="any"/> + <xsd:enumeration value="linear sigma"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ShadowType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="single"/> + <xsd:enumeration value="double"/> + <xsd:enumeration value="emboss"/> + <xsd:enumeration value="perspective"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_StrokeLineStyle"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="single"/> + <xsd:enumeration value="thinThin"/> + <xsd:enumeration value="thinThick"/> + <xsd:enumeration value="thickThin"/> + <xsd:enumeration value="thickBetweenThin"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_StrokeJoinStyle"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="round"/> + <xsd:enumeration value="bevel"/> + <xsd:enumeration value="miter"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_StrokeEndCap"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="flat"/> + <xsd:enumeration value="square"/> + <xsd:enumeration value="round"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_StrokeArrowLength"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="short"/> + <xsd:enumeration value="medium"/> + <xsd:enumeration value="long"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_StrokeArrowWidth"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="narrow"/> + <xsd:enumeration value="medium"/> + <xsd:enumeration value="wide"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_StrokeArrowType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="block"/> + <xsd:enumeration value="classic"/> + <xsd:enumeration value="oval"/> + <xsd:enumeration value="diamond"/> + <xsd:enumeration value="open"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ImageAspect"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="ignore"/> + <xsd:enumeration value="atMost"/> + <xsd:enumeration value="atLeast"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_EditAs"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="canvas"/> + <xsd:enumeration value="orgchart"/> + <xsd:enumeration value="radial"/> + <xsd:enumeration value="cycle"/> + <xsd:enumeration value="stacked"/> + <xsd:enumeration value="venn"/> + <xsd:enumeration value="bullseye"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd new file mode 100755 index 0000000..ca2575c --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd @@ -0,0 +1,509 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="urn:schemas-microsoft-com:office:office" elementFormDefault="qualified" + attributeFormDefault="unqualified"> + <xsd:import namespace="urn:schemas-microsoft-com:vml" schemaLocation="vml-main.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:attribute name="bwmode" type="ST_BWMode"/> + <xsd:attribute name="bwpure" type="ST_BWMode"/> + <xsd:attribute name="bwnormal" type="ST_BWMode"/> + <xsd:attribute name="targetscreensize" type="ST_ScreenSize"/> + <xsd:attribute name="insetmode" type="ST_InsetMode" default="custom"/> + <xsd:attribute name="spt" type="xsd:float"/> + <xsd:attribute name="wrapcoords" type="xsd:string"/> + <xsd:attribute name="oned" type="s:ST_TrueFalse"/> + <xsd:attribute name="regroupid" type="xsd:integer"/> + <xsd:attribute name="doubleclicknotify" type="s:ST_TrueFalse"/> + <xsd:attribute name="connectortype" type="ST_ConnectorType" default="straight"/> + <xsd:attribute name="button" type="s:ST_TrueFalse"/> + <xsd:attribute name="userhidden" type="s:ST_TrueFalse"/> + <xsd:attribute name="forcedash" type="s:ST_TrueFalse"/> + <xsd:attribute name="oleicon" type="s:ST_TrueFalse"/> + <xsd:attribute name="ole" type="s:ST_TrueFalseBlank"/> + <xsd:attribute name="preferrelative" type="s:ST_TrueFalse"/> + <xsd:attribute name="cliptowrap" type="s:ST_TrueFalse"/> + <xsd:attribute name="clip" type="s:ST_TrueFalse"/> + <xsd:attribute name="bullet" type="s:ST_TrueFalse"/> + <xsd:attribute name="hr" type="s:ST_TrueFalse"/> + <xsd:attribute name="hrstd" type="s:ST_TrueFalse"/> + <xsd:attribute name="hrnoshade" type="s:ST_TrueFalse"/> + <xsd:attribute name="hrpct" type="xsd:float"/> + <xsd:attribute name="hralign" type="ST_HrAlign" default="left"/> + <xsd:attribute name="allowincell" type="s:ST_TrueFalse"/> + <xsd:attribute name="allowoverlap" type="s:ST_TrueFalse"/> + <xsd:attribute name="userdrawn" type="s:ST_TrueFalse"/> + <xsd:attribute name="bordertopcolor" type="xsd:string"/> + <xsd:attribute name="borderleftcolor" type="xsd:string"/> + <xsd:attribute name="borderbottomcolor" type="xsd:string"/> + <xsd:attribute name="borderrightcolor" type="xsd:string"/> + <xsd:attribute name="connecttype" type="ST_ConnectType"/> + <xsd:attribute name="connectlocs" type="xsd:string"/> + <xsd:attribute name="connectangles" type="xsd:string"/> + <xsd:attribute name="master" type="xsd:string"/> + <xsd:attribute name="extrusionok" type="s:ST_TrueFalse"/> + <xsd:attribute name="href" type="xsd:string"/> + <xsd:attribute name="althref" type="xsd:string"/> + <xsd:attribute name="title" type="xsd:string"/> + <xsd:attribute name="singleclick" type="s:ST_TrueFalse"/> + <xsd:attribute name="oleid" type="xsd:float"/> + <xsd:attribute name="detectmouseclick" type="s:ST_TrueFalse"/> + <xsd:attribute name="movie" type="xsd:float"/> + <xsd:attribute name="spid" type="xsd:string"/> + <xsd:attribute name="opacity2" type="xsd:string"/> + <xsd:attribute name="relid" type="r:ST_RelationshipId"/> + <xsd:attribute name="dgmlayout" type="ST_DiagramLayout"/> + <xsd:attribute name="dgmnodekind" type="xsd:integer"/> + <xsd:attribute name="dgmlayoutmru" type="ST_DiagramLayout"/> + <xsd:attribute name="gfxdata" type="xsd:base64Binary"/> + <xsd:attribute name="tableproperties" type="xsd:string"/> + <xsd:attribute name="tablelimits" type="xsd:string"/> + <xsd:element name="shapedefaults" type="CT_ShapeDefaults"/> + <xsd:element name="shapelayout" type="CT_ShapeLayout"/> + <xsd:element name="signatureline" type="CT_SignatureLine"/> + <xsd:element name="ink" type="CT_Ink"/> + <xsd:element name="diagram" type="CT_Diagram"/> + <xsd:element name="equationxml" type="CT_EquationXml"/> + <xsd:complexType name="CT_ShapeDefaults"> + <xsd:all minOccurs="0"> + <xsd:element ref="v:fill" minOccurs="0"/> + <xsd:element ref="v:stroke" minOccurs="0"/> + <xsd:element ref="v:textbox" minOccurs="0"/> + <xsd:element ref="v:shadow" minOccurs="0"/> + <xsd:element ref="skew" minOccurs="0"/> + <xsd:element ref="extrusion" minOccurs="0"/> + <xsd:element ref="callout" minOccurs="0"/> + <xsd:element ref="lock" minOccurs="0"/> + <xsd:element name="colormru" minOccurs="0" type="CT_ColorMru"/> + <xsd:element name="colormenu" minOccurs="0" type="CT_ColorMenu"/> + </xsd:all> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="spidmax" type="xsd:integer" use="optional"/> + <xsd:attribute name="style" type="xsd:string" use="optional"/> + <xsd:attribute name="fill" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="fillcolor" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="stroke" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="strokecolor" type="s:ST_ColorType"/> + <xsd:attribute name="allowincell" form="qualified" type="s:ST_TrueFalse"/> + </xsd:complexType> + <xsd:complexType name="CT_Ink"> + <xsd:sequence/> + <xsd:attribute name="i" type="xsd:string"/> + <xsd:attribute name="annotation" type="s:ST_TrueFalse"/> + <xsd:attribute name="contentType" type="ST_ContentType" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_SignatureLine"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="issignatureline" type="s:ST_TrueFalse"/> + <xsd:attribute name="id" type="s:ST_Guid"/> + <xsd:attribute name="provid" type="s:ST_Guid"/> + <xsd:attribute name="signinginstructionsset" type="s:ST_TrueFalse"/> + <xsd:attribute name="allowcomments" type="s:ST_TrueFalse"/> + <xsd:attribute name="showsigndate" type="s:ST_TrueFalse"/> + <xsd:attribute name="suggestedsigner" type="xsd:string" form="qualified"/> + <xsd:attribute name="suggestedsigner2" type="xsd:string" form="qualified"/> + <xsd:attribute name="suggestedsigneremail" type="xsd:string" form="qualified"/> + <xsd:attribute name="signinginstructions" type="xsd:string"/> + <xsd:attribute name="addlxml" type="xsd:string"/> + <xsd:attribute name="sigprovurl" type="xsd:string"/> + </xsd:complexType> + <xsd:complexType name="CT_ShapeLayout"> + <xsd:all> + <xsd:element name="idmap" type="CT_IdMap" minOccurs="0"/> + <xsd:element name="regrouptable" type="CT_RegroupTable" minOccurs="0"/> + <xsd:element name="rules" type="CT_Rules" minOccurs="0"/> + </xsd:all> + <xsd:attributeGroup ref="v:AG_Ext"/> + </xsd:complexType> + <xsd:complexType name="CT_IdMap"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="data" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RegroupTable"> + <xsd:sequence> + <xsd:element name="entry" type="CT_Entry" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attributeGroup ref="v:AG_Ext"/> + </xsd:complexType> + <xsd:complexType name="CT_Entry"> + <xsd:attribute name="new" type="xsd:int" use="optional"/> + <xsd:attribute name="old" type="xsd:int" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Rules"> + <xsd:sequence> + <xsd:element name="r" type="CT_R" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attributeGroup ref="v:AG_Ext"/> + </xsd:complexType> + <xsd:complexType name="CT_R"> + <xsd:sequence> + <xsd:element name="proxy" type="CT_Proxy" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:string" use="required"/> + <xsd:attribute name="type" type="ST_RType" use="optional"/> + <xsd:attribute name="how" type="ST_How" use="optional"/> + <xsd:attribute name="idref" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Proxy"> + <xsd:attribute name="start" type="s:ST_TrueFalseBlank" use="optional" default="false"/> + <xsd:attribute name="end" type="s:ST_TrueFalseBlank" use="optional" default="false"/> + <xsd:attribute name="idref" type="xsd:string" use="optional"/> + <xsd:attribute name="connectloc" type="xsd:int" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Diagram"> + <xsd:sequence> + <xsd:element name="relationtable" type="CT_RelationTable" minOccurs="0"/> + </xsd:sequence> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="dgmstyle" type="xsd:integer" use="optional"/> + <xsd:attribute name="autoformat" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="reverse" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="autolayout" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="dgmscalex" type="xsd:integer" use="optional"/> + <xsd:attribute name="dgmscaley" type="xsd:integer" use="optional"/> + <xsd:attribute name="dgmfontsize" type="xsd:integer" use="optional"/> + <xsd:attribute name="constrainbounds" type="xsd:string" use="optional"/> + <xsd:attribute name="dgmbasetextscale" type="xsd:integer" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_EquationXml"> + <xsd:sequence> + <xsd:any namespace="##any"/> + </xsd:sequence> + <xsd:attribute name="contentType" type="ST_AlternateMathContentType" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_AlternateMathContentType"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:complexType name="CT_RelationTable"> + <xsd:sequence> + <xsd:element name="rel" type="CT_Relation" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attributeGroup ref="v:AG_Ext"/> + </xsd:complexType> + <xsd:complexType name="CT_Relation"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="idsrc" type="xsd:string" use="optional"/> + <xsd:attribute name="iddest" type="xsd:string" use="optional"/> + <xsd:attribute name="idcntr" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_ColorMru"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="colors" type="xsd:string"/> + </xsd:complexType> + <xsd:complexType name="CT_ColorMenu"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="strokecolor" type="s:ST_ColorType"/> + <xsd:attribute name="fillcolor" type="s:ST_ColorType"/> + <xsd:attribute name="shadowcolor" type="s:ST_ColorType"/> + <xsd:attribute name="extrusioncolor" type="s:ST_ColorType"/> + </xsd:complexType> + <xsd:element name="skew" type="CT_Skew"/> + <xsd:element name="extrusion" type="CT_Extrusion"/> + <xsd:element name="callout" type="CT_Callout"/> + <xsd:element name="lock" type="CT_Lock"/> + <xsd:element name="OLEObject" type="CT_OLEObject"/> + <xsd:element name="complex" type="CT_Complex"/> + <xsd:element name="left" type="CT_StrokeChild"/> + <xsd:element name="top" type="CT_StrokeChild"/> + <xsd:element name="right" type="CT_StrokeChild"/> + <xsd:element name="bottom" type="CT_StrokeChild"/> + <xsd:element name="column" type="CT_StrokeChild"/> + <xsd:element name="clippath" type="CT_ClipPath"/> + <xsd:element name="fill" type="CT_Fill"/> + <xsd:complexType name="CT_Skew"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="id" type="xsd:string" use="optional"/> + <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="offset" type="xsd:string" use="optional"/> + <xsd:attribute name="origin" type="xsd:string" use="optional"/> + <xsd:attribute name="matrix" type="xsd:string" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Extrusion"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="type" type="ST_ExtrusionType" default="parallel" use="optional"/> + <xsd:attribute name="render" type="ST_ExtrusionRender" default="solid" use="optional"/> + <xsd:attribute name="viewpointorigin" type="xsd:string" use="optional"/> + <xsd:attribute name="viewpoint" type="xsd:string" use="optional"/> + <xsd:attribute name="plane" type="ST_ExtrusionPlane" default="XY" use="optional"/> + <xsd:attribute name="skewangle" type="xsd:float" use="optional"/> + <xsd:attribute name="skewamt" type="xsd:string" use="optional"/> + <xsd:attribute name="foredepth" type="xsd:string" use="optional"/> + <xsd:attribute name="backdepth" type="xsd:string" use="optional"/> + <xsd:attribute name="orientation" type="xsd:string" use="optional"/> + <xsd:attribute name="orientationangle" type="xsd:float" use="optional"/> + <xsd:attribute name="lockrotationcenter" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="autorotationcenter" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="rotationcenter" type="xsd:string" use="optional"/> + <xsd:attribute name="rotationangle" type="xsd:string" use="optional"/> + <xsd:attribute name="colormode" type="ST_ColorMode" use="optional"/> + <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="shininess" type="xsd:float" use="optional"/> + <xsd:attribute name="specularity" type="xsd:string" use="optional"/> + <xsd:attribute name="diffusity" type="xsd:string" use="optional"/> + <xsd:attribute name="metal" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="edge" type="xsd:string" use="optional"/> + <xsd:attribute name="facet" type="xsd:string" use="optional"/> + <xsd:attribute name="lightface" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="brightness" type="xsd:string" use="optional"/> + <xsd:attribute name="lightposition" type="xsd:string" use="optional"/> + <xsd:attribute name="lightlevel" type="xsd:string" use="optional"/> + <xsd:attribute name="lightharsh" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="lightposition2" type="xsd:string" use="optional"/> + <xsd:attribute name="lightlevel2" type="xsd:string" use="optional"/> + <xsd:attribute name="lightharsh2" type="s:ST_TrueFalse" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Callout"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="type" type="xsd:string" use="optional"/> + <xsd:attribute name="gap" type="xsd:string" use="optional"/> + <xsd:attribute name="angle" type="ST_Angle" use="optional"/> + <xsd:attribute name="dropauto" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="drop" type="ST_CalloutDrop" use="optional"/> + <xsd:attribute name="distance" type="xsd:string" use="optional"/> + <xsd:attribute name="lengthspecified" type="s:ST_TrueFalse" default="f" use="optional"/> + <xsd:attribute name="length" type="xsd:string" use="optional"/> + <xsd:attribute name="accentbar" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="textborder" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="minusx" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="minusy" type="s:ST_TrueFalse" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Lock"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="position" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="selection" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="grouping" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="ungrouping" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="rotation" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="cropping" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="verticies" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="adjusthandles" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="text" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="aspectratio" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="shapetype" type="s:ST_TrueFalse" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_OLEObject"> + <xsd:sequence> + <xsd:element name="LinkType" type="ST_OLELinkType" minOccurs="0"/> + <xsd:element name="LockedField" type="s:ST_TrueFalseBlank" minOccurs="0"/> + <xsd:element name="FieldCodes" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="Type" type="ST_OLEType" use="optional"/> + <xsd:attribute name="ProgID" type="xsd:string" use="optional"/> + <xsd:attribute name="ShapeID" type="xsd:string" use="optional"/> + <xsd:attribute name="DrawAspect" type="ST_OLEDrawAspect" use="optional"/> + <xsd:attribute name="ObjectID" type="xsd:string" use="optional"/> + <xsd:attribute ref="r:id" use="optional"/> + <xsd:attribute name="UpdateMode" type="ST_OLEUpdateMode" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Complex"> + <xsd:attributeGroup ref="v:AG_Ext"/> + </xsd:complexType> + <xsd:complexType name="CT_StrokeChild"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="weight" type="xsd:string" use="optional"/> + <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="color2" type="s:ST_ColorType" use="optional"/> + <xsd:attribute name="opacity" type="xsd:string" use="optional"/> + <xsd:attribute name="linestyle" type="v:ST_StrokeLineStyle" use="optional"/> + <xsd:attribute name="miterlimit" type="xsd:decimal" use="optional"/> + <xsd:attribute name="joinstyle" type="v:ST_StrokeJoinStyle" use="optional"/> + <xsd:attribute name="endcap" type="v:ST_StrokeEndCap" use="optional"/> + <xsd:attribute name="dashstyle" type="xsd:string" use="optional"/> + <xsd:attribute name="insetpen" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="filltype" type="v:ST_FillType" use="optional"/> + <xsd:attribute name="src" type="xsd:string" use="optional"/> + <xsd:attribute name="imageaspect" type="v:ST_ImageAspect" use="optional"/> + <xsd:attribute name="imagesize" type="xsd:string" use="optional"/> + <xsd:attribute name="imagealignshape" type="s:ST_TrueFalse" use="optional"/> + <xsd:attribute name="startarrow" type="v:ST_StrokeArrowType" use="optional"/> + <xsd:attribute name="startarrowwidth" type="v:ST_StrokeArrowWidth" use="optional"/> + <xsd:attribute name="startarrowlength" type="v:ST_StrokeArrowLength" use="optional"/> + <xsd:attribute name="endarrow" type="v:ST_StrokeArrowType" use="optional"/> + <xsd:attribute name="endarrowwidth" type="v:ST_StrokeArrowWidth" use="optional"/> + <xsd:attribute name="endarrowlength" type="v:ST_StrokeArrowLength" use="optional"/> + <xsd:attribute ref="href"/> + <xsd:attribute ref="althref"/> + <xsd:attribute ref="title"/> + <xsd:attribute ref="forcedash"/> + </xsd:complexType> + <xsd:complexType name="CT_ClipPath"> + <xsd:attribute name="v" type="xsd:string" use="required" form="qualified"/> + </xsd:complexType> + <xsd:complexType name="CT_Fill"> + <xsd:attributeGroup ref="v:AG_Ext"/> + <xsd:attribute name="type" type="ST_FillType"/> + </xsd:complexType> + <xsd:simpleType name="ST_RType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="arc"/> + <xsd:enumeration value="callout"/> + <xsd:enumeration value="connector"/> + <xsd:enumeration value="align"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_How"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="top"/> + <xsd:enumeration value="middle"/> + <xsd:enumeration value="bottom"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="right"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_BWMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="color"/> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="grayScale"/> + <xsd:enumeration value="lightGrayscale"/> + <xsd:enumeration value="inverseGray"/> + <xsd:enumeration value="grayOutline"/> + <xsd:enumeration value="highContrast"/> + <xsd:enumeration value="black"/> + <xsd:enumeration value="white"/> + <xsd:enumeration value="hide"/> + <xsd:enumeration value="undrawn"/> + <xsd:enumeration value="blackTextAndLines"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ScreenSize"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="544,376"/> + <xsd:enumeration value="640,480"/> + <xsd:enumeration value="720,512"/> + <xsd:enumeration value="800,600"/> + <xsd:enumeration value="1024,768"/> + <xsd:enumeration value="1152,862"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_InsetMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ColorMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ContentType"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_DiagramLayout"> + <xsd:restriction base="xsd:integer"> + <xsd:enumeration value="0"/> + <xsd:enumeration value="1"/> + <xsd:enumeration value="2"/> + <xsd:enumeration value="3"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ExtrusionType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="perspective"/> + <xsd:enumeration value="parallel"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ExtrusionRender"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="solid"/> + <xsd:enumeration value="wireFrame"/> + <xsd:enumeration value="boundingCube"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ExtrusionPlane"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="XY"/> + <xsd:enumeration value="ZX"/> + <xsd:enumeration value="YZ"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Angle"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="any"/> + <xsd:enumeration value="30"/> + <xsd:enumeration value="45"/> + <xsd:enumeration value="60"/> + <xsd:enumeration value="90"/> + <xsd:enumeration value="auto"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CalloutDrop"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_CalloutPlacement"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="top"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="bottom"/> + <xsd:enumeration value="user"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConnectorType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="straight"/> + <xsd:enumeration value="elbow"/> + <xsd:enumeration value="curved"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HrAlign"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="center"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_ConnectType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="rect"/> + <xsd:enumeration value="segments"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_OLELinkType"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_OLEType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="Embed"/> + <xsd:enumeration value="Link"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_OLEDrawAspect"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="Content"/> + <xsd:enumeration value="Icon"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_OLEUpdateMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="Always"/> + <xsd:enumeration value="OnCall"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FillType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="gradientCenter"/> + <xsd:enumeration value="solid"/> + <xsd:enumeration value="pattern"/> + <xsd:enumeration value="tile"/> + <xsd:enumeration value="frame"/> + <xsd:enumeration value="gradientUnscaled"/> + <xsd:enumeration value="gradientRadial"/> + <xsd:enumeration value="gradient"/> + <xsd:enumeration value="background"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd new file mode 100755 index 0000000..dd079e6 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="urn:schemas-microsoft-com:office:powerpoint" + targetNamespace="urn:schemas-microsoft-com:office:powerpoint" elementFormDefault="qualified" + attributeFormDefault="unqualified"> + <xsd:element name="iscomment" type="CT_Empty"/> + <xsd:element name="textdata" type="CT_Rel"/> + <xsd:complexType name="CT_Empty"/> + <xsd:complexType name="CT_Rel"> + <xsd:attribute name="id" type="xsd:string"/> + </xsd:complexType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd new file mode 100755 index 0000000..3dd6cf6 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="urn:schemas-microsoft-com:office:excel" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + targetNamespace="urn:schemas-microsoft-com:office:excel" elementFormDefault="qualified" + attributeFormDefault="unqualified"> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:element name="ClientData" type="CT_ClientData"/> + <xsd:complexType name="CT_ClientData"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="MoveWithCells" type="s:ST_TrueFalseBlank"/> + <xsd:element name="SizeWithCells" type="s:ST_TrueFalseBlank"/> + <xsd:element name="Anchor" type="xsd:string"/> + <xsd:element name="Locked" type="s:ST_TrueFalseBlank"/> + <xsd:element name="DefaultSize" type="s:ST_TrueFalseBlank"/> + <xsd:element name="PrintObject" type="s:ST_TrueFalseBlank"/> + <xsd:element name="Disabled" type="s:ST_TrueFalseBlank"/> + <xsd:element name="AutoFill" type="s:ST_TrueFalseBlank"/> + <xsd:element name="AutoLine" type="s:ST_TrueFalseBlank"/> + <xsd:element name="AutoPict" type="s:ST_TrueFalseBlank"/> + <xsd:element name="FmlaMacro" type="xsd:string"/> + <xsd:element name="TextHAlign" type="xsd:string"/> + <xsd:element name="TextVAlign" type="xsd:string"/> + <xsd:element name="LockText" type="s:ST_TrueFalseBlank"/> + <xsd:element name="JustLastX" type="s:ST_TrueFalseBlank"/> + <xsd:element name="SecretEdit" type="s:ST_TrueFalseBlank"/> + <xsd:element name="Default" type="s:ST_TrueFalseBlank"/> + <xsd:element name="Help" type="s:ST_TrueFalseBlank"/> + <xsd:element name="Cancel" type="s:ST_TrueFalseBlank"/> + <xsd:element name="Dismiss" type="s:ST_TrueFalseBlank"/> + <xsd:element name="Accel" type="xsd:integer"/> + <xsd:element name="Accel2" type="xsd:integer"/> + <xsd:element name="Row" type="xsd:integer"/> + <xsd:element name="Column" type="xsd:integer"/> + <xsd:element name="Visible" type="s:ST_TrueFalseBlank"/> + <xsd:element name="RowHidden" type="s:ST_TrueFalseBlank"/> + <xsd:element name="ColHidden" type="s:ST_TrueFalseBlank"/> + <xsd:element name="VTEdit" type="xsd:integer"/> + <xsd:element name="MultiLine" type="s:ST_TrueFalseBlank"/> + <xsd:element name="VScroll" type="s:ST_TrueFalseBlank"/> + <xsd:element name="ValidIds" type="s:ST_TrueFalseBlank"/> + <xsd:element name="FmlaRange" type="xsd:string"/> + <xsd:element name="WidthMin" type="xsd:integer"/> + <xsd:element name="Sel" type="xsd:integer"/> + <xsd:element name="NoThreeD2" type="s:ST_TrueFalseBlank"/> + <xsd:element name="SelType" type="xsd:string"/> + <xsd:element name="MultiSel" type="xsd:string"/> + <xsd:element name="LCT" type="xsd:string"/> + <xsd:element name="ListItem" type="xsd:string"/> + <xsd:element name="DropStyle" type="xsd:string"/> + <xsd:element name="Colored" type="s:ST_TrueFalseBlank"/> + <xsd:element name="DropLines" type="xsd:integer"/> + <xsd:element name="Checked" type="xsd:integer"/> + <xsd:element name="FmlaLink" type="xsd:string"/> + <xsd:element name="FmlaPict" type="xsd:string"/> + <xsd:element name="NoThreeD" type="s:ST_TrueFalseBlank"/> + <xsd:element name="FirstButton" type="s:ST_TrueFalseBlank"/> + <xsd:element name="FmlaGroup" type="xsd:string"/> + <xsd:element name="Val" type="xsd:integer"/> + <xsd:element name="Min" type="xsd:integer"/> + <xsd:element name="Max" type="xsd:integer"/> + <xsd:element name="Inc" type="xsd:integer"/> + <xsd:element name="Page" type="xsd:integer"/> + <xsd:element name="Horiz" type="s:ST_TrueFalseBlank"/> + <xsd:element name="Dx" type="xsd:integer"/> + <xsd:element name="MapOCX" type="s:ST_TrueFalseBlank"/> + <xsd:element name="CF" type="ST_CF"/> + <xsd:element name="Camera" type="s:ST_TrueFalseBlank"/> + <xsd:element name="RecalcAlways" type="s:ST_TrueFalseBlank"/> + <xsd:element name="AutoScale" type="s:ST_TrueFalseBlank"/> + <xsd:element name="DDE" type="s:ST_TrueFalseBlank"/> + <xsd:element name="UIObj" type="s:ST_TrueFalseBlank"/> + <xsd:element name="ScriptText" type="xsd:string"/> + <xsd:element name="ScriptExtended" type="xsd:string"/> + <xsd:element name="ScriptLanguage" type="xsd:nonNegativeInteger"/> + <xsd:element name="ScriptLocation" type="xsd:nonNegativeInteger"/> + <xsd:element name="FmlaTxbx" type="xsd:string"/> + </xsd:choice> + <xsd:attribute name="ObjectType" type="ST_ObjectType" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_CF"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:simpleType name="ST_ObjectType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="Button"/> + <xsd:enumeration value="Checkbox"/> + <xsd:enumeration value="Dialog"/> + <xsd:enumeration value="Drop"/> + <xsd:enumeration value="Edit"/> + <xsd:enumeration value="GBox"/> + <xsd:enumeration value="Label"/> + <xsd:enumeration value="LineA"/> + <xsd:enumeration value="List"/> + <xsd:enumeration value="Movie"/> + <xsd:enumeration value="Note"/> + <xsd:enumeration value="Pict"/> + <xsd:enumeration value="Radio"/> + <xsd:enumeration value="RectA"/> + <xsd:enumeration value="Scroll"/> + <xsd:enumeration value="Spin"/> + <xsd:enumeration value="Shape"/> + <xsd:enumeration value="Group"/> + <xsd:enumeration value="Rect"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd new file mode 100755 index 0000000..f1041e3 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="urn:schemas-microsoft-com:office:word" + targetNamespace="urn:schemas-microsoft-com:office:word" elementFormDefault="qualified" + attributeFormDefault="unqualified"> + <xsd:element name="bordertop" type="CT_Border"/> + <xsd:element name="borderleft" type="CT_Border"/> + <xsd:element name="borderright" type="CT_Border"/> + <xsd:element name="borderbottom" type="CT_Border"/> + <xsd:complexType name="CT_Border"> + <xsd:attribute name="type" type="ST_BorderType" use="optional"/> + <xsd:attribute name="width" type="xsd:positiveInteger" use="optional"/> + <xsd:attribute name="shadow" type="ST_BorderShadow" use="optional"/> + </xsd:complexType> + <xsd:element name="wrap" type="CT_Wrap"/> + <xsd:complexType name="CT_Wrap"> + <xsd:attribute name="type" type="ST_WrapType" use="optional"/> + <xsd:attribute name="side" type="ST_WrapSide" use="optional"/> + <xsd:attribute name="anchorx" type="ST_HorizontalAnchor" use="optional"/> + <xsd:attribute name="anchory" type="ST_VerticalAnchor" use="optional"/> + </xsd:complexType> + <xsd:element name="anchorlock" type="CT_AnchorLock"/> + <xsd:complexType name="CT_AnchorLock"/> + <xsd:simpleType name="ST_BorderType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="single"/> + <xsd:enumeration value="thick"/> + <xsd:enumeration value="double"/> + <xsd:enumeration value="hairline"/> + <xsd:enumeration value="dot"/> + <xsd:enumeration value="dash"/> + <xsd:enumeration value="dotDash"/> + <xsd:enumeration value="dashDotDot"/> + <xsd:enumeration value="triple"/> + <xsd:enumeration value="thinThickSmall"/> + <xsd:enumeration value="thickThinSmall"/> + <xsd:enumeration value="thickBetweenThinSmall"/> + <xsd:enumeration value="thinThick"/> + <xsd:enumeration value="thickThin"/> + <xsd:enumeration value="thickBetweenThin"/> + <xsd:enumeration value="thinThickLarge"/> + <xsd:enumeration value="thickThinLarge"/> + <xsd:enumeration value="thickBetweenThinLarge"/> + <xsd:enumeration value="wave"/> + <xsd:enumeration value="doubleWave"/> + <xsd:enumeration value="dashedSmall"/> + <xsd:enumeration value="dashDotStroked"/> + <xsd:enumeration value="threeDEmboss"/> + <xsd:enumeration value="threeDEngrave"/> + <xsd:enumeration value="HTMLOutset"/> + <xsd:enumeration value="HTMLInset"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_BorderShadow"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="t"/> + <xsd:enumeration value="true"/> + <xsd:enumeration value="f"/> + <xsd:enumeration value="false"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_WrapType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="topAndBottom"/> + <xsd:enumeration value="square"/> + <xsd:enumeration value="none"/> + <xsd:enumeration value="tight"/> + <xsd:enumeration value="through"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_WrapSide"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="both"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="largest"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HorizontalAnchor"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="margin"/> + <xsd:enumeration value="page"/> + <xsd:enumeration value="text"/> + <xsd:enumeration value="char"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_VerticalAnchor"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="margin"/> + <xsd:enumeration value="page"/> + <xsd:enumeration value="text"/> + <xsd:enumeration value="line"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd new file mode 100755 index 0000000..9c5b7a6 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd @@ -0,0 +1,3646 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" + xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" + xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" + xmlns="http://schemas.openxmlformats.org/wordprocessingml/2006/main" + xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" + targetNamespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main"> + <xsd:import namespace="http://schemas.openxmlformats.org/markup-compatibility/2006" schemaLocation="../mce/mc.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" + schemaLocation="dml-wordprocessingDrawing.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/math" + schemaLocation="shared-math.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" + schemaLocation="shared-relationshipReference.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" + schemaLocation="shared-commonSimpleTypes.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/schemaLibrary/2006/main" + schemaLocation="shared-customXmlSchemaProperties.xsd"/> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:complexType name="CT_Empty"/> + <xsd:complexType name="CT_OnOff"> + <xsd:attribute name="val" type="s:ST_OnOff"/> + </xsd:complexType> + <xsd:simpleType name="ST_LongHexNumber"> + <xsd:restriction base="xsd:hexBinary"> + <xsd:length value="4"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LongHexNumber"> + <xsd:attribute name="val" type="ST_LongHexNumber" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_ShortHexNumber"> + <xsd:restriction base="xsd:hexBinary"> + <xsd:length value="2"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_UcharHexNumber"> + <xsd:restriction base="xsd:hexBinary"> + <xsd:length value="1"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Charset"> + <xsd:attribute name="val" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="characterSet" type="s:ST_String" use="optional" default="ISO-8859-1"/> + </xsd:complexType> + <xsd:simpleType name="ST_DecimalNumberOrPercent"> + <xsd:union memberTypes="ST_UnqualifiedPercentage s:ST_Percentage"/> + </xsd:simpleType> + <xsd:simpleType name="ST_UnqualifiedPercentage"> + <xsd:restriction base="xsd:decimal"/> + </xsd:simpleType> + <xsd:simpleType name="ST_DecimalNumber"> + <xsd:restriction base="xsd:integer"/> + </xsd:simpleType> + <xsd:complexType name="CT_DecimalNumber"> + <xsd:attribute name="val" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_UnsignedDecimalNumber"> + <xsd:attribute name="val" type="s:ST_UnsignedDecimalNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DecimalNumberOrPrecent"> + <xsd:attribute name="val" type="ST_DecimalNumberOrPercent" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TwipsMeasure"> + <xsd:attribute name="val" type="s:ST_TwipsMeasure" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_SignedTwipsMeasure"> + <xsd:union memberTypes="xsd:integer s:ST_UniversalMeasure"/> + </xsd:simpleType> + <xsd:complexType name="CT_SignedTwipsMeasure"> + <xsd:attribute name="val" type="ST_SignedTwipsMeasure" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_PixelsMeasure"> + <xsd:restriction base="s:ST_UnsignedDecimalNumber"/> + </xsd:simpleType> + <xsd:complexType name="CT_PixelsMeasure"> + <xsd:attribute name="val" type="ST_PixelsMeasure" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_HpsMeasure"> + <xsd:union memberTypes="s:ST_UnsignedDecimalNumber s:ST_PositiveUniversalMeasure"/> + </xsd:simpleType> + <xsd:complexType name="CT_HpsMeasure"> + <xsd:attribute name="val" type="ST_HpsMeasure" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_SignedHpsMeasure"> + <xsd:union memberTypes="xsd:integer s:ST_UniversalMeasure"/> + </xsd:simpleType> + <xsd:complexType name="CT_SignedHpsMeasure"> + <xsd:attribute name="val" type="ST_SignedHpsMeasure" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_DateTime"> + <xsd:restriction base="xsd:dateTime"/> + </xsd:simpleType> + <xsd:simpleType name="ST_MacroName"> + <xsd:restriction base="xsd:string"> + <xsd:maxLength value="33"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MacroName"> + <xsd:attribute name="val" use="required" type="ST_MacroName"/> + </xsd:complexType> + <xsd:simpleType name="ST_EighthPointMeasure"> + <xsd:restriction base="s:ST_UnsignedDecimalNumber"/> + </xsd:simpleType> + <xsd:simpleType name="ST_PointMeasure"> + <xsd:restriction base="s:ST_UnsignedDecimalNumber"/> + </xsd:simpleType> + <xsd:complexType name="CT_String"> + <xsd:attribute name="val" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextScale"> + <xsd:union memberTypes="ST_TextScalePercent ST_TextScaleDecimal"/> + </xsd:simpleType> + <xsd:simpleType name="ST_TextScalePercent"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="0*(600|([0-5]?[0-9]?[0-9]))%"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TextScaleDecimal"> + <xsd:restriction base="xsd:integer"> + <xsd:minInclusive value="0"/> + <xsd:maxInclusive value="600"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextScale"> + <xsd:attribute name="val" type="ST_TextScale"/> + </xsd:complexType> + <xsd:simpleType name="ST_HighlightColor"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="black"/> + <xsd:enumeration value="blue"/> + <xsd:enumeration value="cyan"/> + <xsd:enumeration value="green"/> + <xsd:enumeration value="magenta"/> + <xsd:enumeration value="red"/> + <xsd:enumeration value="yellow"/> + <xsd:enumeration value="white"/> + <xsd:enumeration value="darkBlue"/> + <xsd:enumeration value="darkCyan"/> + <xsd:enumeration value="darkGreen"/> + <xsd:enumeration value="darkMagenta"/> + <xsd:enumeration value="darkRed"/> + <xsd:enumeration value="darkYellow"/> + <xsd:enumeration value="darkGray"/> + <xsd:enumeration value="lightGray"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Highlight"> + <xsd:attribute name="val" type="ST_HighlightColor" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_HexColorAuto"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="auto"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HexColor"> + <xsd:union memberTypes="ST_HexColorAuto s:ST_HexColorRGB"/> + </xsd:simpleType> + <xsd:complexType name="CT_Color"> + <xsd:attribute name="val" type="ST_HexColor" use="required"/> + <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/> + <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Lang"> + <xsd:attribute name="val" type="s:ST_Lang" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Guid"> + <xsd:attribute name="val" type="s:ST_Guid"/> + </xsd:complexType> + <xsd:simpleType name="ST_Underline"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="single"/> + <xsd:enumeration value="words"/> + <xsd:enumeration value="double"/> + <xsd:enumeration value="thick"/> + <xsd:enumeration value="dotted"/> + <xsd:enumeration value="dottedHeavy"/> + <xsd:enumeration value="dash"/> + <xsd:enumeration value="dashedHeavy"/> + <xsd:enumeration value="dashLong"/> + <xsd:enumeration value="dashLongHeavy"/> + <xsd:enumeration value="dotDash"/> + <xsd:enumeration value="dashDotHeavy"/> + <xsd:enumeration value="dotDotDash"/> + <xsd:enumeration value="dashDotDotHeavy"/> + <xsd:enumeration value="wave"/> + <xsd:enumeration value="wavyHeavy"/> + <xsd:enumeration value="wavyDouble"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Underline"> + <xsd:attribute name="val" type="ST_Underline" use="optional"/> + <xsd:attribute name="color" type="ST_HexColor" use="optional" default="auto"/> + <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/> + <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextEffect"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="blinkBackground"/> + <xsd:enumeration value="lights"/> + <xsd:enumeration value="antsBlack"/> + <xsd:enumeration value="antsRed"/> + <xsd:enumeration value="shimmer"/> + <xsd:enumeration value="sparkle"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextEffect"> + <xsd:attribute name="val" type="ST_TextEffect" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Border"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="nil"/> + <xsd:enumeration value="none"/> + <xsd:enumeration value="single"/> + <xsd:enumeration value="thick"/> + <xsd:enumeration value="double"/> + <xsd:enumeration value="dotted"/> + <xsd:enumeration value="dashed"/> + <xsd:enumeration value="dotDash"/> + <xsd:enumeration value="dotDotDash"/> + <xsd:enumeration value="triple"/> + <xsd:enumeration value="thinThickSmallGap"/> + <xsd:enumeration value="thickThinSmallGap"/> + <xsd:enumeration value="thinThickThinSmallGap"/> + <xsd:enumeration value="thinThickMediumGap"/> + <xsd:enumeration value="thickThinMediumGap"/> + <xsd:enumeration value="thinThickThinMediumGap"/> + <xsd:enumeration value="thinThickLargeGap"/> + <xsd:enumeration value="thickThinLargeGap"/> + <xsd:enumeration value="thinThickThinLargeGap"/> + <xsd:enumeration value="wave"/> + <xsd:enumeration value="doubleWave"/> + <xsd:enumeration value="dashSmallGap"/> + <xsd:enumeration value="dashDotStroked"/> + <xsd:enumeration value="threeDEmboss"/> + <xsd:enumeration value="threeDEngrave"/> + <xsd:enumeration value="outset"/> + <xsd:enumeration value="inset"/> + <xsd:enumeration value="apples"/> + <xsd:enumeration value="archedScallops"/> + <xsd:enumeration value="babyPacifier"/> + <xsd:enumeration value="babyRattle"/> + <xsd:enumeration value="balloons3Colors"/> + <xsd:enumeration value="balloonsHotAir"/> + <xsd:enumeration value="basicBlackDashes"/> + <xsd:enumeration value="basicBlackDots"/> + <xsd:enumeration value="basicBlackSquares"/> + <xsd:enumeration value="basicThinLines"/> + <xsd:enumeration value="basicWhiteDashes"/> + <xsd:enumeration value="basicWhiteDots"/> + <xsd:enumeration value="basicWhiteSquares"/> + <xsd:enumeration value="basicWideInline"/> + <xsd:enumeration value="basicWideMidline"/> + <xsd:enumeration value="basicWideOutline"/> + <xsd:enumeration value="bats"/> + <xsd:enumeration value="birds"/> + <xsd:enumeration value="birdsFlight"/> + <xsd:enumeration value="cabins"/> + <xsd:enumeration value="cakeSlice"/> + <xsd:enumeration value="candyCorn"/> + <xsd:enumeration value="celticKnotwork"/> + <xsd:enumeration value="certificateBanner"/> + <xsd:enumeration value="chainLink"/> + <xsd:enumeration value="champagneBottle"/> + <xsd:enumeration value="checkedBarBlack"/> + <xsd:enumeration value="checkedBarColor"/> + <xsd:enumeration value="checkered"/> + <xsd:enumeration value="christmasTree"/> + <xsd:enumeration value="circlesLines"/> + <xsd:enumeration value="circlesRectangles"/> + <xsd:enumeration value="classicalWave"/> + <xsd:enumeration value="clocks"/> + <xsd:enumeration value="compass"/> + <xsd:enumeration value="confetti"/> + <xsd:enumeration value="confettiGrays"/> + <xsd:enumeration value="confettiOutline"/> + <xsd:enumeration value="confettiStreamers"/> + <xsd:enumeration value="confettiWhite"/> + <xsd:enumeration value="cornerTriangles"/> + <xsd:enumeration value="couponCutoutDashes"/> + <xsd:enumeration value="couponCutoutDots"/> + <xsd:enumeration value="crazyMaze"/> + <xsd:enumeration value="creaturesButterfly"/> + <xsd:enumeration value="creaturesFish"/> + <xsd:enumeration value="creaturesInsects"/> + <xsd:enumeration value="creaturesLadyBug"/> + <xsd:enumeration value="crossStitch"/> + <xsd:enumeration value="cup"/> + <xsd:enumeration value="decoArch"/> + <xsd:enumeration value="decoArchColor"/> + <xsd:enumeration value="decoBlocks"/> + <xsd:enumeration value="diamondsGray"/> + <xsd:enumeration value="doubleD"/> + <xsd:enumeration value="doubleDiamonds"/> + <xsd:enumeration value="earth1"/> + <xsd:enumeration value="earth2"/> + <xsd:enumeration value="earth3"/> + <xsd:enumeration value="eclipsingSquares1"/> + <xsd:enumeration value="eclipsingSquares2"/> + <xsd:enumeration value="eggsBlack"/> + <xsd:enumeration value="fans"/> + <xsd:enumeration value="film"/> + <xsd:enumeration value="firecrackers"/> + <xsd:enumeration value="flowersBlockPrint"/> + <xsd:enumeration value="flowersDaisies"/> + <xsd:enumeration value="flowersModern1"/> + <xsd:enumeration value="flowersModern2"/> + <xsd:enumeration value="flowersPansy"/> + <xsd:enumeration value="flowersRedRose"/> + <xsd:enumeration value="flowersRoses"/> + <xsd:enumeration value="flowersTeacup"/> + <xsd:enumeration value="flowersTiny"/> + <xsd:enumeration value="gems"/> + <xsd:enumeration value="gingerbreadMan"/> + <xsd:enumeration value="gradient"/> + <xsd:enumeration value="handmade1"/> + <xsd:enumeration value="handmade2"/> + <xsd:enumeration value="heartBalloon"/> + <xsd:enumeration value="heartGray"/> + <xsd:enumeration value="hearts"/> + <xsd:enumeration value="heebieJeebies"/> + <xsd:enumeration value="holly"/> + <xsd:enumeration value="houseFunky"/> + <xsd:enumeration value="hypnotic"/> + <xsd:enumeration value="iceCreamCones"/> + <xsd:enumeration value="lightBulb"/> + <xsd:enumeration value="lightning1"/> + <xsd:enumeration value="lightning2"/> + <xsd:enumeration value="mapPins"/> + <xsd:enumeration value="mapleLeaf"/> + <xsd:enumeration value="mapleMuffins"/> + <xsd:enumeration value="marquee"/> + <xsd:enumeration value="marqueeToothed"/> + <xsd:enumeration value="moons"/> + <xsd:enumeration value="mosaic"/> + <xsd:enumeration value="musicNotes"/> + <xsd:enumeration value="northwest"/> + <xsd:enumeration value="ovals"/> + <xsd:enumeration value="packages"/> + <xsd:enumeration value="palmsBlack"/> + <xsd:enumeration value="palmsColor"/> + <xsd:enumeration value="paperClips"/> + <xsd:enumeration value="papyrus"/> + <xsd:enumeration value="partyFavor"/> + <xsd:enumeration value="partyGlass"/> + <xsd:enumeration value="pencils"/> + <xsd:enumeration value="people"/> + <xsd:enumeration value="peopleWaving"/> + <xsd:enumeration value="peopleHats"/> + <xsd:enumeration value="poinsettias"/> + <xsd:enumeration value="postageStamp"/> + <xsd:enumeration value="pumpkin1"/> + <xsd:enumeration value="pushPinNote2"/> + <xsd:enumeration value="pushPinNote1"/> + <xsd:enumeration value="pyramids"/> + <xsd:enumeration value="pyramidsAbove"/> + <xsd:enumeration value="quadrants"/> + <xsd:enumeration value="rings"/> + <xsd:enumeration value="safari"/> + <xsd:enumeration value="sawtooth"/> + <xsd:enumeration value="sawtoothGray"/> + <xsd:enumeration value="scaredCat"/> + <xsd:enumeration value="seattle"/> + <xsd:enumeration value="shadowedSquares"/> + <xsd:enumeration value="sharksTeeth"/> + <xsd:enumeration value="shorebirdTracks"/> + <xsd:enumeration value="skyrocket"/> + <xsd:enumeration value="snowflakeFancy"/> + <xsd:enumeration value="snowflakes"/> + <xsd:enumeration value="sombrero"/> + <xsd:enumeration value="southwest"/> + <xsd:enumeration value="stars"/> + <xsd:enumeration value="starsTop"/> + <xsd:enumeration value="stars3d"/> + <xsd:enumeration value="starsBlack"/> + <xsd:enumeration value="starsShadowed"/> + <xsd:enumeration value="sun"/> + <xsd:enumeration value="swirligig"/> + <xsd:enumeration value="tornPaper"/> + <xsd:enumeration value="tornPaperBlack"/> + <xsd:enumeration value="trees"/> + <xsd:enumeration value="triangleParty"/> + <xsd:enumeration value="triangles"/> + <xsd:enumeration value="triangle1"/> + <xsd:enumeration value="triangle2"/> + <xsd:enumeration value="triangleCircle1"/> + <xsd:enumeration value="triangleCircle2"/> + <xsd:enumeration value="shapes1"/> + <xsd:enumeration value="shapes2"/> + <xsd:enumeration value="twistedLines1"/> + <xsd:enumeration value="twistedLines2"/> + <xsd:enumeration value="vine"/> + <xsd:enumeration value="waveline"/> + <xsd:enumeration value="weavingAngles"/> + <xsd:enumeration value="weavingBraid"/> + <xsd:enumeration value="weavingRibbon"/> + <xsd:enumeration value="weavingStrips"/> + <xsd:enumeration value="whiteFlowers"/> + <xsd:enumeration value="woodwork"/> + <xsd:enumeration value="xIllusions"/> + <xsd:enumeration value="zanyTriangles"/> + <xsd:enumeration value="zigZag"/> + <xsd:enumeration value="zigZagStitch"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Border"> + <xsd:attribute name="val" type="ST_Border" use="required"/> + <xsd:attribute name="color" type="ST_HexColor" use="optional" default="auto"/> + <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/> + <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="sz" type="ST_EighthPointMeasure" use="optional"/> + <xsd:attribute name="space" type="ST_PointMeasure" use="optional" default="0"/> + <xsd:attribute name="shadow" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="frame" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_Shd"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="nil"/> + <xsd:enumeration value="clear"/> + <xsd:enumeration value="solid"/> + <xsd:enumeration value="horzStripe"/> + <xsd:enumeration value="vertStripe"/> + <xsd:enumeration value="reverseDiagStripe"/> + <xsd:enumeration value="diagStripe"/> + <xsd:enumeration value="horzCross"/> + <xsd:enumeration value="diagCross"/> + <xsd:enumeration value="thinHorzStripe"/> + <xsd:enumeration value="thinVertStripe"/> + <xsd:enumeration value="thinReverseDiagStripe"/> + <xsd:enumeration value="thinDiagStripe"/> + <xsd:enumeration value="thinHorzCross"/> + <xsd:enumeration value="thinDiagCross"/> + <xsd:enumeration value="pct5"/> + <xsd:enumeration value="pct10"/> + <xsd:enumeration value="pct12"/> + <xsd:enumeration value="pct15"/> + <xsd:enumeration value="pct20"/> + <xsd:enumeration value="pct25"/> + <xsd:enumeration value="pct30"/> + <xsd:enumeration value="pct35"/> + <xsd:enumeration value="pct37"/> + <xsd:enumeration value="pct40"/> + <xsd:enumeration value="pct45"/> + <xsd:enumeration value="pct50"/> + <xsd:enumeration value="pct55"/> + <xsd:enumeration value="pct60"/> + <xsd:enumeration value="pct62"/> + <xsd:enumeration value="pct65"/> + <xsd:enumeration value="pct70"/> + <xsd:enumeration value="pct75"/> + <xsd:enumeration value="pct80"/> + <xsd:enumeration value="pct85"/> + <xsd:enumeration value="pct87"/> + <xsd:enumeration value="pct90"/> + <xsd:enumeration value="pct95"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Shd"> + <xsd:attribute name="val" type="ST_Shd" use="required"/> + <xsd:attribute name="color" type="ST_HexColor" use="optional"/> + <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/> + <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="fill" type="ST_HexColor" use="optional"/> + <xsd:attribute name="themeFill" type="ST_ThemeColor" use="optional"/> + <xsd:attribute name="themeFillTint" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="themeFillShade" type="ST_UcharHexNumber" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_VerticalAlignRun"> + <xsd:attribute name="val" type="s:ST_VerticalAlignRun" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FitText"> + <xsd:attribute name="val" type="s:ST_TwipsMeasure" use="required"/> + <xsd:attribute name="id" type="ST_DecimalNumber" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_Em"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="dot"/> + <xsd:enumeration value="comma"/> + <xsd:enumeration value="circle"/> + <xsd:enumeration value="underDot"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Em"> + <xsd:attribute name="val" type="ST_Em" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Language"> + <xsd:attribute name="val" type="s:ST_Lang" use="optional"/> + <xsd:attribute name="eastAsia" type="s:ST_Lang" use="optional"/> + <xsd:attribute name="bidi" type="s:ST_Lang" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_CombineBrackets"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="round"/> + <xsd:enumeration value="square"/> + <xsd:enumeration value="angle"/> + <xsd:enumeration value="curly"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_EastAsianLayout"> + <xsd:attribute name="id" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="combine" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="combineBrackets" type="ST_CombineBrackets" use="optional"/> + <xsd:attribute name="vert" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="vertCompress" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_HeightRule"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="exact"/> + <xsd:enumeration value="atLeast"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Wrap"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="notBeside"/> + <xsd:enumeration value="around"/> + <xsd:enumeration value="tight"/> + <xsd:enumeration value="through"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_VAnchor"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="text"/> + <xsd:enumeration value="margin"/> + <xsd:enumeration value="page"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_HAnchor"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="text"/> + <xsd:enumeration value="margin"/> + <xsd:enumeration value="page"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DropCap"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="drop"/> + <xsd:enumeration value="margin"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FramePr"> + <xsd:attribute name="dropCap" type="ST_DropCap" use="optional"/> + <xsd:attribute name="lines" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="w" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="h" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="vSpace" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="hSpace" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="wrap" type="ST_Wrap" use="optional"/> + <xsd:attribute name="hAnchor" type="ST_HAnchor" use="optional"/> + <xsd:attribute name="vAnchor" type="ST_VAnchor" use="optional"/> + <xsd:attribute name="x" type="ST_SignedTwipsMeasure" use="optional"/> + <xsd:attribute name="xAlign" type="s:ST_XAlign" use="optional"/> + <xsd:attribute name="y" type="ST_SignedTwipsMeasure" use="optional"/> + <xsd:attribute name="yAlign" type="s:ST_YAlign" use="optional"/> + <xsd:attribute name="hRule" type="ST_HeightRule" use="optional"/> + <xsd:attribute name="anchorLock" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_TabJc"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="clear"/> + <xsd:enumeration value="start"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="end"/> + <xsd:enumeration value="decimal"/> + <xsd:enumeration value="bar"/> + <xsd:enumeration value="num"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_TabTlc"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="dot"/> + <xsd:enumeration value="hyphen"/> + <xsd:enumeration value="underscore"/> + <xsd:enumeration value="heavy"/> + <xsd:enumeration value="middleDot"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TabStop"> + <xsd:attribute name="val" type="ST_TabJc" use="required"/> + <xsd:attribute name="leader" type="ST_TabTlc" use="optional"/> + <xsd:attribute name="pos" type="ST_SignedTwipsMeasure" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_LineSpacingRule"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="auto"/> + <xsd:enumeration value="exact"/> + <xsd:enumeration value="atLeast"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Spacing"> + <xsd:attribute name="before" type="s:ST_TwipsMeasure" use="optional" default="0"/> + <xsd:attribute name="beforeLines" type="ST_DecimalNumber" use="optional" default="0"/> + <xsd:attribute name="beforeAutospacing" type="s:ST_OnOff" use="optional" default="off"/> + <xsd:attribute name="after" type="s:ST_TwipsMeasure" use="optional" default="0"/> + <xsd:attribute name="afterLines" type="ST_DecimalNumber" use="optional" default="0"/> + <xsd:attribute name="afterAutospacing" type="s:ST_OnOff" use="optional" default="off"/> + <xsd:attribute name="line" type="ST_SignedTwipsMeasure" use="optional" default="0"/> + <xsd:attribute name="lineRule" type="ST_LineSpacingRule" use="optional" default="auto"/> + </xsd:complexType> + <xsd:complexType name="CT_Ind"> + <xsd:attribute name="start" type="ST_SignedTwipsMeasure" use="optional"/> + <xsd:attribute name="startChars" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="end" type="ST_SignedTwipsMeasure" use="optional"/> + <xsd:attribute name="endChars" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="left" type="ST_SignedTwipsMeasure" use="optional"/> + <xsd:attribute name="leftChars" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="right" type="ST_SignedTwipsMeasure" use="optional"/> + <xsd:attribute name="rightChars" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="hanging" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="hangingChars" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="firstLine" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="firstLineChars" type="ST_DecimalNumber" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_Jc"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="start"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="end"/> + <xsd:enumeration value="both"/> + <xsd:enumeration value="mediumKashida"/> + <xsd:enumeration value="distribute"/> + <xsd:enumeration value="numTab"/> + <xsd:enumeration value="highKashida"/> + <xsd:enumeration value="lowKashida"/> + <xsd:enumeration value="thaiDistribute"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_JcTable"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="center"/> + <xsd:enumeration value="end"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="start"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Jc"> + <xsd:attribute name="val" type="ST_Jc" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_JcTable"> + <xsd:attribute name="val" type="ST_JcTable" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_View"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="print"/> + <xsd:enumeration value="outline"/> + <xsd:enumeration value="masterPages"/> + <xsd:enumeration value="normal"/> + <xsd:enumeration value="web"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_View"> + <xsd:attribute name="val" type="ST_View" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Zoom"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="fullPage"/> + <xsd:enumeration value="bestFit"/> + <xsd:enumeration value="textFit"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Zoom"> + <xsd:attribute name="val" type="ST_Zoom" use="optional"/> + <xsd:attribute name="percent" type="ST_DecimalNumberOrPercent" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_WritingStyle"> + <xsd:attribute name="lang" type="s:ST_Lang" use="required"/> + <xsd:attribute name="vendorID" type="s:ST_String" use="required"/> + <xsd:attribute name="dllVersion" type="s:ST_String" use="required"/> + <xsd:attribute name="nlCheck" type="s:ST_OnOff" use="optional" default="off"/> + <xsd:attribute name="checkStyle" type="s:ST_OnOff" use="required"/> + <xsd:attribute name="appName" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Proof"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="clean"/> + <xsd:enumeration value="dirty"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Proof"> + <xsd:attribute name="spelling" type="ST_Proof" use="optional"/> + <xsd:attribute name="grammar" type="ST_Proof" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_DocType"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:complexType name="CT_DocType"> + <xsd:attribute name="val" type="ST_DocType" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_DocProtect"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="readOnly"/> + <xsd:enumeration value="comments"/> + <xsd:enumeration value="trackedChanges"/> + <xsd:enumeration value="forms"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:attributeGroup name="AG_Password"> + <xsd:attribute name="algorithmName" type="s:ST_String" use="optional"/> + <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/> + <xsd:attribute name="spinCount" type="ST_DecimalNumber" use="optional"/> + </xsd:attributeGroup> + <xsd:attributeGroup name="AG_TransitionalPassword"> + <xsd:attribute name="cryptProviderType" type="s:ST_CryptProv"/> + <xsd:attribute name="cryptAlgorithmClass" type="s:ST_AlgClass"/> + <xsd:attribute name="cryptAlgorithmType" type="s:ST_AlgType"/> + <xsd:attribute name="cryptAlgorithmSid" type="ST_DecimalNumber"/> + <xsd:attribute name="cryptSpinCount" type="ST_DecimalNumber"/> + <xsd:attribute name="cryptProvider" type="s:ST_String"/> + <xsd:attribute name="algIdExt" type="ST_LongHexNumber"/> + <xsd:attribute name="algIdExtSource" type="s:ST_String"/> + <xsd:attribute name="cryptProviderTypeExt" type="ST_LongHexNumber"/> + <xsd:attribute name="cryptProviderTypeExtSource" type="s:ST_String"/> + <xsd:attribute name="hash" type="xsd:base64Binary"/> + <xsd:attribute name="salt" type="xsd:base64Binary"/> + </xsd:attributeGroup> + <xsd:complexType name="CT_DocProtect"> + <xsd:attribute name="edit" type="ST_DocProtect" use="optional"/> + <xsd:attribute name="formatting" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="enforcement" type="s:ST_OnOff"/> + <xsd:attributeGroup ref="AG_Password"/> + <xsd:attributeGroup ref="AG_TransitionalPassword"/> + </xsd:complexType> + <xsd:simpleType name="ST_MailMergeDocType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="catalog"/> + <xsd:enumeration value="envelopes"/> + <xsd:enumeration value="mailingLabels"/> + <xsd:enumeration value="formLetters"/> + <xsd:enumeration value="email"/> + <xsd:enumeration value="fax"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MailMergeDocType"> + <xsd:attribute name="val" type="ST_MailMergeDocType" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_MailMergeDataType"> + <xsd:restriction base="xsd:string"/> + </xsd:simpleType> + <xsd:complexType name="CT_MailMergeDataType"> + <xsd:attribute name="val" type="ST_MailMergeDataType" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_MailMergeDest"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="newDocument"/> + <xsd:enumeration value="printer"/> + <xsd:enumeration value="email"/> + <xsd:enumeration value="fax"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MailMergeDest"> + <xsd:attribute name="val" type="ST_MailMergeDest" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_MailMergeOdsoFMDFieldType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="null"/> + <xsd:enumeration value="dbColumn"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MailMergeOdsoFMDFieldType"> + <xsd:attribute name="val" type="ST_MailMergeOdsoFMDFieldType" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TrackChangesView"> + <xsd:attribute name="markup" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="comments" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="insDel" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="formatting" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="inkAnnotations" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Kinsoku"> + <xsd:attribute name="lang" type="s:ST_Lang" use="required"/> + <xsd:attribute name="val" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextDirection"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="tb"/> + <xsd:enumeration value="rl"/> + <xsd:enumeration value="lr"/> + <xsd:enumeration value="tbV"/> + <xsd:enumeration value="rlV"/> + <xsd:enumeration value="lrV"/> + <xsd:enumeration value="btLr"/> + <xsd:enumeration value="lrTb"/> + <xsd:enumeration value="lrTbV"/> + <xsd:enumeration value="tbLrV"/> + <xsd:enumeration value="tbRl"/> + <xsd:enumeration value="tbRlV"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextDirection"> + <xsd:attribute name="val" type="ST_TextDirection" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_TextAlignment"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="top"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="baseline"/> + <xsd:enumeration value="bottom"/> + <xsd:enumeration value="auto"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextAlignment"> + <xsd:attribute name="val" type="ST_TextAlignment" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_DisplacedByCustomXml"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="next"/> + <xsd:enumeration value="prev"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_AnnotationVMerge"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="cont"/> + <xsd:enumeration value="rest"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Markup"> + <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TrackChange"> + <xsd:complexContent> + <xsd:extension base="CT_Markup"> + <xsd:attribute name="author" type="s:ST_String" use="required"/> + <xsd:attribute name="date" type="ST_DateTime" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_CellMergeTrackChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:attribute name="vMerge" type="ST_AnnotationVMerge" use="optional"/> + <xsd:attribute name="vMergeOrig" type="ST_AnnotationVMerge" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TrackChangeRange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_MarkupRange"> + <xsd:complexContent> + <xsd:extension base="CT_Markup"> + <xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_BookmarkRange"> + <xsd:complexContent> + <xsd:extension base="CT_MarkupRange"> + <xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Bookmark"> + <xsd:complexContent> + <xsd:extension base="CT_BookmarkRange"> + <xsd:attribute name="name" type="s:ST_String" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_MoveBookmark"> + <xsd:complexContent> + <xsd:extension base="CT_Bookmark"> + <xsd:attribute name="author" type="s:ST_String" use="required"/> + <xsd:attribute name="date" type="ST_DateTime" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Comment"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:group ref="EG_BlockLevelElts" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="initials" type="s:ST_String" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TrackChangeNumbering"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:attribute name="original" type="s:ST_String" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TblPrExChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:element name="tblPrEx" type="CT_TblPrExBase" minOccurs="1"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TcPrChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:element name="tcPr" type="CT_TcPrInner" minOccurs="1"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TrPrChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:element name="trPr" type="CT_TrPrBase" minOccurs="1"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TblGridChange"> + <xsd:complexContent> + <xsd:extension base="CT_Markup"> + <xsd:sequence> + <xsd:element name="tblGrid" type="CT_TblGridBase"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TblPrChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:element name="tblPr" type="CT_TblPrBase"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_SectPrChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:element name="sectPr" type="CT_SectPrBase" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_PPrChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:element name="pPr" type="CT_PPrBase" minOccurs="1"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_RPrChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_RPrOriginal" minOccurs="1"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_ParaRPrChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_ParaRPrOriginal" minOccurs="1"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_RunTrackChange"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:group ref="EG_ContentRunContent"/> + <xsd:group ref="m:EG_OMathMathElements"/> + </xsd:choice> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:group name="EG_PContentMath"> + <xsd:choice> + <xsd:group ref="EG_PContentBase" minOccurs="0" maxOccurs="unbounded"/> + <xsd:group ref="EG_ContentRunContentBase" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_PContentBase"> + <xsd:choice> + <xsd:element name="customXml" type="CT_CustomXmlRun"/> + <xsd:element name="fldSimple" type="CT_SimpleField" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="hyperlink" type="CT_Hyperlink"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_ContentRunContentBase"> + <xsd:choice> + <xsd:element name="smartTag" type="CT_SmartTagRun"/> + <xsd:element name="sdt" type="CT_SdtRun"/> + <xsd:group ref="EG_RunLevelElts" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_CellMarkupElements"> + <xsd:choice> + <xsd:element name="cellIns" type="CT_TrackChange" minOccurs="0"/> + <xsd:element name="cellDel" type="CT_TrackChange" minOccurs="0"/> + <xsd:element name="cellMerge" type="CT_CellMergeTrackChange" minOccurs="0"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_RangeMarkupElements"> + <xsd:choice> + <xsd:element name="bookmarkStart" type="CT_Bookmark"/> + <xsd:element name="bookmarkEnd" type="CT_MarkupRange"/> + <xsd:element name="moveFromRangeStart" type="CT_MoveBookmark"/> + <xsd:element name="moveFromRangeEnd" type="CT_MarkupRange"/> + <xsd:element name="moveToRangeStart" type="CT_MoveBookmark"/> + <xsd:element name="moveToRangeEnd" type="CT_MarkupRange"/> + <xsd:element name="commentRangeStart" type="CT_MarkupRange"/> + <xsd:element name="commentRangeEnd" type="CT_MarkupRange"/> + <xsd:element name="customXmlInsRangeStart" type="CT_TrackChange"/> + <xsd:element name="customXmlInsRangeEnd" type="CT_Markup"/> + <xsd:element name="customXmlDelRangeStart" type="CT_TrackChange"/> + <xsd:element name="customXmlDelRangeEnd" type="CT_Markup"/> + <xsd:element name="customXmlMoveFromRangeStart" type="CT_TrackChange"/> + <xsd:element name="customXmlMoveFromRangeEnd" type="CT_Markup"/> + <xsd:element name="customXmlMoveToRangeStart" type="CT_TrackChange"/> + <xsd:element name="customXmlMoveToRangeEnd" type="CT_Markup"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_NumPr"> + <xsd:sequence> + <xsd:element name="ilvl" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="numId" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="numberingChange" type="CT_TrackChangeNumbering" minOccurs="0"/> + <xsd:element name="ins" type="CT_TrackChange" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PBdr"> + <xsd:sequence> + <xsd:element name="top" type="CT_Border" minOccurs="0"/> + <xsd:element name="left" type="CT_Border" minOccurs="0"/> + <xsd:element name="bottom" type="CT_Border" minOccurs="0"/> + <xsd:element name="right" type="CT_Border" minOccurs="0"/> + <xsd:element name="between" type="CT_Border" minOccurs="0"/> + <xsd:element name="bar" type="CT_Border" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Tabs"> + <xsd:sequence> + <xsd:element name="tab" type="CT_TabStop" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TextboxTightWrap"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="allLines"/> + <xsd:enumeration value="firstAndLastLine"/> + <xsd:enumeration value="firstLineOnly"/> + <xsd:enumeration value="lastLineOnly"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TextboxTightWrap"> + <xsd:attribute name="val" type="ST_TextboxTightWrap" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PPrBase"> + <xsd:sequence> + <xsd:element name="pStyle" type="CT_String" minOccurs="0"/> + <xsd:element name="keepNext" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="keepLines" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="pageBreakBefore" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="framePr" type="CT_FramePr" minOccurs="0"/> + <xsd:element name="widowControl" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="numPr" type="CT_NumPr" minOccurs="0"/> + <xsd:element name="suppressLineNumbers" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="pBdr" type="CT_PBdr" minOccurs="0"/> + <xsd:element name="shd" type="CT_Shd" minOccurs="0"/> + <xsd:element name="tabs" type="CT_Tabs" minOccurs="0"/> + <xsd:element name="suppressAutoHyphens" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="kinsoku" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="wordWrap" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="overflowPunct" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="topLinePunct" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="autoSpaceDE" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="autoSpaceDN" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="bidi" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="adjustRightInd" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="snapToGrid" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="spacing" type="CT_Spacing" minOccurs="0"/> + <xsd:element name="ind" type="CT_Ind" minOccurs="0"/> + <xsd:element name="contextualSpacing" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="mirrorIndents" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="suppressOverlap" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="jc" type="CT_Jc" minOccurs="0"/> + <xsd:element name="textDirection" type="CT_TextDirection" minOccurs="0"/> + <xsd:element name="textAlignment" type="CT_TextAlignment" minOccurs="0"/> + <xsd:element name="textboxTightWrap" type="CT_TextboxTightWrap" minOccurs="0"/> + <xsd:element name="outlineLvl" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="divId" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="cnfStyle" type="CT_Cnf" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PPr"> + <xsd:complexContent> + <xsd:extension base="CT_PPrBase"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_ParaRPr" minOccurs="0"/> + <xsd:element name="sectPr" type="CT_SectPr" minOccurs="0"/> + <xsd:element name="pPrChange" type="CT_PPrChange" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_PPrGeneral"> + <xsd:complexContent> + <xsd:extension base="CT_PPrBase"> + <xsd:sequence> + <xsd:element name="pPrChange" type="CT_PPrChange" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Control"> + <xsd:attribute name="name" type="s:ST_String" use="optional"/> + <xsd:attribute name="shapeid" type="s:ST_String" use="optional"/> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Background"> + <xsd:sequence> + <xsd:sequence maxOccurs="unbounded"> + <xsd:any processContents="lax" namespace="urn:schemas-microsoft-com:vml" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:any processContents="lax" namespace="urn:schemas-microsoft-com:office:office" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:element name="drawing" type="CT_Drawing" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="color" type="ST_HexColor" use="optional" default="auto"/> + <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/> + <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/> + <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Rel"> + <xsd:attribute ref="r:id" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Object"> + <xsd:sequence> + <xsd:sequence maxOccurs="unbounded"> + <xsd:any processContents="lax" namespace="urn:schemas-microsoft-com:vml" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:any processContents="lax" namespace="urn:schemas-microsoft-com:office:office" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:element name="drawing" type="CT_Drawing" minOccurs="0"/> + <xsd:choice minOccurs="0"> + <xsd:element name="control" type="CT_Control"/> + <xsd:element name="objectLink" type="CT_ObjectLink"/> + <xsd:element name="objectEmbed" type="CT_ObjectEmbed"/> + <xsd:element name="movie" type="CT_Rel"/> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="dxaOrig" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="dyaOrig" type="s:ST_TwipsMeasure" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Picture"> + <xsd:sequence> + <xsd:sequence maxOccurs="unbounded"> + <xsd:any processContents="lax" namespace="urn:schemas-microsoft-com:vml" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:any processContents="lax" namespace="urn:schemas-microsoft-com:office:office" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:element name="movie" type="CT_Rel" minOccurs="0"/> + <xsd:element name="control" type="CT_Control" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ObjectEmbed"> + <xsd:attribute name="drawAspect" type="ST_ObjectDrawAspect" use="optional"/> + <xsd:attribute ref="r:id" use="required"/> + <xsd:attribute name="progId" type="s:ST_String" use="optional"/> + <xsd:attribute name="shapeId" type="s:ST_String" use="optional"/> + <xsd:attribute name="fieldCodes" type="s:ST_String" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_ObjectDrawAspect"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="content"/> + <xsd:enumeration value="icon"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ObjectLink"> + <xsd:complexContent> + <xsd:extension base="CT_ObjectEmbed"> + <xsd:attribute name="updateMode" type="ST_ObjectUpdateMode" use="required"/> + <xsd:attribute name="lockedField" type="s:ST_OnOff" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:simpleType name="ST_ObjectUpdateMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="always"/> + <xsd:enumeration value="onCall"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Drawing"> + <xsd:choice minOccurs="1" maxOccurs="unbounded"> + <xsd:element ref="wp:anchor" minOccurs="0"/> + <xsd:element ref="wp:inline" minOccurs="0"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_SimpleField"> + <xsd:sequence> + <xsd:element name="fldData" type="CT_Text" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="instr" type="s:ST_String" use="required"/> + <xsd:attribute name="fldLock" type="s:ST_OnOff"/> + <xsd:attribute name="dirty" type="s:ST_OnOff"/> + </xsd:complexType> + <xsd:simpleType name="ST_FldCharType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="begin"/> + <xsd:enumeration value="separate"/> + <xsd:enumeration value="end"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_InfoTextType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="text"/> + <xsd:enumeration value="autoText"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FFHelpTextVal"> + <xsd:restriction base="xsd:string"> + <xsd:maxLength value="256"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FFStatusTextVal"> + <xsd:restriction base="xsd:string"> + <xsd:maxLength value="140"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FFName"> + <xsd:restriction base="xsd:string"> + <xsd:maxLength value="65"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FFTextType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="regular"/> + <xsd:enumeration value="number"/> + <xsd:enumeration value="date"/> + <xsd:enumeration value="currentTime"/> + <xsd:enumeration value="currentDate"/> + <xsd:enumeration value="calculated"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FFTextType"> + <xsd:attribute name="val" type="ST_FFTextType" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FFName"> + <xsd:attribute name="val" type="ST_FFName"/> + </xsd:complexType> + <xsd:complexType name="CT_FldChar"> + <xsd:choice> + <xsd:element name="fldData" type="CT_Text" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ffData" type="CT_FFData" minOccurs="0" maxOccurs="1"/> + <xsd:element name="numberingChange" type="CT_TrackChangeNumbering" minOccurs="0"/> + </xsd:choice> + <xsd:attribute name="fldCharType" type="ST_FldCharType" use="required"/> + <xsd:attribute name="fldLock" type="s:ST_OnOff"/> + <xsd:attribute name="dirty" type="s:ST_OnOff"/> + </xsd:complexType> + <xsd:complexType name="CT_Hyperlink"> + <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/> + <xsd:attribute name="tgtFrame" type="s:ST_String" use="optional"/> + <xsd:attribute name="tooltip" type="s:ST_String" use="optional"/> + <xsd:attribute name="docLocation" type="s:ST_String" use="optional"/> + <xsd:attribute name="history" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="anchor" type="s:ST_String" use="optional"/> + <xsd:attribute ref="r:id"/> + </xsd:complexType> + <xsd:complexType name="CT_FFData"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="name" type="CT_FFName"/> + <xsd:element name="label" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="tabIndex" type="CT_UnsignedDecimalNumber" minOccurs="0"/> + <xsd:element name="enabled" type="CT_OnOff"/> + <xsd:element name="calcOnExit" type="CT_OnOff"/> + <xsd:element name="entryMacro" type="CT_MacroName" minOccurs="0" maxOccurs="1"/> + <xsd:element name="exitMacro" type="CT_MacroName" minOccurs="0" maxOccurs="1"/> + <xsd:element name="helpText" type="CT_FFHelpText" minOccurs="0" maxOccurs="1"/> + <xsd:element name="statusText" type="CT_FFStatusText" minOccurs="0" maxOccurs="1"/> + <xsd:choice> + <xsd:element name="checkBox" type="CT_FFCheckBox"/> + <xsd:element name="ddList" type="CT_FFDDList"/> + <xsd:element name="textInput" type="CT_FFTextInput"/> + </xsd:choice> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_FFHelpText"> + <xsd:attribute name="type" type="ST_InfoTextType"/> + <xsd:attribute name="val" type="ST_FFHelpTextVal"/> + </xsd:complexType> + <xsd:complexType name="CT_FFStatusText"> + <xsd:attribute name="type" type="ST_InfoTextType"/> + <xsd:attribute name="val" type="ST_FFStatusTextVal"/> + </xsd:complexType> + <xsd:complexType name="CT_FFCheckBox"> + <xsd:sequence> + <xsd:choice> + <xsd:element name="size" type="CT_HpsMeasure"/> + <xsd:element name="sizeAuto" type="CT_OnOff"/> + </xsd:choice> + <xsd:element name="default" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="checked" type="CT_OnOff" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_FFDDList"> + <xsd:sequence> + <xsd:element name="result" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="default" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="listEntry" type="CT_String" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_FFTextInput"> + <xsd:sequence> + <xsd:element name="type" type="CT_FFTextType" minOccurs="0"/> + <xsd:element name="default" type="CT_String" minOccurs="0"/> + <xsd:element name="maxLength" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="format" type="CT_String" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_SectionMark"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="nextPage"/> + <xsd:enumeration value="nextColumn"/> + <xsd:enumeration value="continuous"/> + <xsd:enumeration value="evenPage"/> + <xsd:enumeration value="oddPage"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SectType"> + <xsd:attribute name="val" type="ST_SectionMark"/> + </xsd:complexType> + <xsd:complexType name="CT_PaperSource"> + <xsd:attribute name="first" type="ST_DecimalNumber"/> + <xsd:attribute name="other" type="ST_DecimalNumber"/> + </xsd:complexType> + <xsd:simpleType name="ST_NumberFormat"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="decimal"/> + <xsd:enumeration value="upperRoman"/> + <xsd:enumeration value="lowerRoman"/> + <xsd:enumeration value="upperLetter"/> + <xsd:enumeration value="lowerLetter"/> + <xsd:enumeration value="ordinal"/> + <xsd:enumeration value="cardinalText"/> + <xsd:enumeration value="ordinalText"/> + <xsd:enumeration value="hex"/> + <xsd:enumeration value="chicago"/> + <xsd:enumeration value="ideographDigital"/> + <xsd:enumeration value="japaneseCounting"/> + <xsd:enumeration value="aiueo"/> + <xsd:enumeration value="iroha"/> + <xsd:enumeration value="decimalFullWidth"/> + <xsd:enumeration value="decimalHalfWidth"/> + <xsd:enumeration value="japaneseLegal"/> + <xsd:enumeration value="japaneseDigitalTenThousand"/> + <xsd:enumeration value="decimalEnclosedCircle"/> + <xsd:enumeration value="decimalFullWidth2"/> + <xsd:enumeration value="aiueoFullWidth"/> + <xsd:enumeration value="irohaFullWidth"/> + <xsd:enumeration value="decimalZero"/> + <xsd:enumeration value="bullet"/> + <xsd:enumeration value="ganada"/> + <xsd:enumeration value="chosung"/> + <xsd:enumeration value="decimalEnclosedFullstop"/> + <xsd:enumeration value="decimalEnclosedParen"/> + <xsd:enumeration value="decimalEnclosedCircleChinese"/> + <xsd:enumeration value="ideographEnclosedCircle"/> + <xsd:enumeration value="ideographTraditional"/> + <xsd:enumeration value="ideographZodiac"/> + <xsd:enumeration value="ideographZodiacTraditional"/> + <xsd:enumeration value="taiwaneseCounting"/> + <xsd:enumeration value="ideographLegalTraditional"/> + <xsd:enumeration value="taiwaneseCountingThousand"/> + <xsd:enumeration value="taiwaneseDigital"/> + <xsd:enumeration value="chineseCounting"/> + <xsd:enumeration value="chineseLegalSimplified"/> + <xsd:enumeration value="chineseCountingThousand"/> + <xsd:enumeration value="koreanDigital"/> + <xsd:enumeration value="koreanCounting"/> + <xsd:enumeration value="koreanLegal"/> + <xsd:enumeration value="koreanDigital2"/> + <xsd:enumeration value="vietnameseCounting"/> + <xsd:enumeration value="russianLower"/> + <xsd:enumeration value="russianUpper"/> + <xsd:enumeration value="none"/> + <xsd:enumeration value="numberInDash"/> + <xsd:enumeration value="hebrew1"/> + <xsd:enumeration value="hebrew2"/> + <xsd:enumeration value="arabicAlpha"/> + <xsd:enumeration value="arabicAbjad"/> + <xsd:enumeration value="hindiVowels"/> + <xsd:enumeration value="hindiConsonants"/> + <xsd:enumeration value="hindiNumbers"/> + <xsd:enumeration value="hindiCounting"/> + <xsd:enumeration value="thaiLetters"/> + <xsd:enumeration value="thaiNumbers"/> + <xsd:enumeration value="thaiCounting"/> + <xsd:enumeration value="bahtText"/> + <xsd:enumeration value="dollarText"/> + <xsd:enumeration value="custom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PageOrientation"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="portrait"/> + <xsd:enumeration value="landscape"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PageSz"> + <xsd:attribute name="w" type="s:ST_TwipsMeasure"/> + <xsd:attribute name="h" type="s:ST_TwipsMeasure"/> + <xsd:attribute name="orient" type="ST_PageOrientation" use="optional"/> + <xsd:attribute name="code" type="ST_DecimalNumber" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_PageMar"> + <xsd:attribute name="top" type="ST_SignedTwipsMeasure" use="required"/> + <xsd:attribute name="right" type="s:ST_TwipsMeasure" use="required"/> + <xsd:attribute name="bottom" type="ST_SignedTwipsMeasure" use="required"/> + <xsd:attribute name="left" type="s:ST_TwipsMeasure" use="required"/> + <xsd:attribute name="header" type="s:ST_TwipsMeasure" use="required"/> + <xsd:attribute name="footer" type="s:ST_TwipsMeasure" use="required"/> + <xsd:attribute name="gutter" type="s:ST_TwipsMeasure" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_PageBorderZOrder"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="front"/> + <xsd:enumeration value="back"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PageBorderDisplay"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="allPages"/> + <xsd:enumeration value="firstPage"/> + <xsd:enumeration value="notFirstPage"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PageBorderOffset"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="page"/> + <xsd:enumeration value="text"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PageBorders"> + <xsd:sequence> + <xsd:element name="top" type="CT_TopPageBorder" minOccurs="0"/> + <xsd:element name="left" type="CT_PageBorder" minOccurs="0"/> + <xsd:element name="bottom" type="CT_BottomPageBorder" minOccurs="0"/> + <xsd:element name="right" type="CT_PageBorder" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="zOrder" type="ST_PageBorderZOrder" use="optional" default="front"/> + <xsd:attribute name="display" type="ST_PageBorderDisplay" use="optional"/> + <xsd:attribute name="offsetFrom" type="ST_PageBorderOffset" use="optional" default="text"/> + </xsd:complexType> + <xsd:complexType name="CT_PageBorder"> + <xsd:complexContent> + <xsd:extension base="CT_Border"> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_BottomPageBorder"> + <xsd:complexContent> + <xsd:extension base="CT_PageBorder"> + <xsd:attribute ref="r:bottomLeft" use="optional"/> + <xsd:attribute ref="r:bottomRight" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TopPageBorder"> + <xsd:complexContent> + <xsd:extension base="CT_PageBorder"> + <xsd:attribute ref="r:topLeft" use="optional"/> + <xsd:attribute ref="r:topRight" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:simpleType name="ST_ChapterSep"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="hyphen"/> + <xsd:enumeration value="period"/> + <xsd:enumeration value="colon"/> + <xsd:enumeration value="emDash"/> + <xsd:enumeration value="enDash"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LineNumberRestart"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="newPage"/> + <xsd:enumeration value="newSection"/> + <xsd:enumeration value="continuous"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LineNumber"> + <xsd:attribute name="countBy" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="start" type="ST_DecimalNumber" use="optional" default="1"/> + <xsd:attribute name="distance" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="restart" type="ST_LineNumberRestart" use="optional" default="newPage"/> + </xsd:complexType> + <xsd:complexType name="CT_PageNumber"> + <xsd:attribute name="fmt" type="ST_NumberFormat" use="optional" default="decimal"/> + <xsd:attribute name="start" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="chapStyle" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="chapSep" type="ST_ChapterSep" use="optional" default="hyphen"/> + </xsd:complexType> + <xsd:complexType name="CT_Column"> + <xsd:attribute name="w" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="space" type="s:ST_TwipsMeasure" use="optional" default="0"/> + </xsd:complexType> + <xsd:complexType name="CT_Columns"> + <xsd:sequence minOccurs="0"> + <xsd:element name="col" type="CT_Column" maxOccurs="45"/> + </xsd:sequence> + <xsd:attribute name="equalWidth" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="space" type="s:ST_TwipsMeasure" use="optional" default="720"/> + <xsd:attribute name="num" type="ST_DecimalNumber" use="optional" default="1"/> + <xsd:attribute name="sep" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_VerticalJc"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="top"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="both"/> + <xsd:enumeration value="bottom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_VerticalJc"> + <xsd:attribute name="val" type="ST_VerticalJc" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_DocGrid"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="default"/> + <xsd:enumeration value="lines"/> + <xsd:enumeration value="linesAndChars"/> + <xsd:enumeration value="snapToChars"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DocGrid"> + <xsd:attribute name="type" type="ST_DocGrid"/> + <xsd:attribute name="linePitch" type="ST_DecimalNumber"/> + <xsd:attribute name="charSpace" type="ST_DecimalNumber"/> + </xsd:complexType> + <xsd:simpleType name="ST_HdrFtr"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="even"/> + <xsd:enumeration value="default"/> + <xsd:enumeration value="first"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_FtnEdn"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="normal"/> + <xsd:enumeration value="separator"/> + <xsd:enumeration value="continuationSeparator"/> + <xsd:enumeration value="continuationNotice"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_HdrFtrRef"> + <xsd:complexContent> + <xsd:extension base="CT_Rel"> + <xsd:attribute name="type" type="ST_HdrFtr" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:group name="EG_HdrFtrReferences"> + <xsd:choice> + <xsd:element name="headerReference" type="CT_HdrFtrRef" minOccurs="0"/> + <xsd:element name="footerReference" type="CT_HdrFtrRef" minOccurs="0"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_HdrFtr"> + <xsd:group ref="EG_BlockLevelElts" minOccurs="1" maxOccurs="unbounded"/> + </xsd:complexType> + <xsd:group name="EG_SectPrContents"> + <xsd:sequence> + <xsd:element name="footnotePr" type="CT_FtnProps" minOccurs="0"/> + <xsd:element name="endnotePr" type="CT_EdnProps" minOccurs="0"/> + <xsd:element name="type" type="CT_SectType" minOccurs="0"/> + <xsd:element name="pgSz" type="CT_PageSz" minOccurs="0"/> + <xsd:element name="pgMar" type="CT_PageMar" minOccurs="0"/> + <xsd:element name="paperSrc" type="CT_PaperSource" minOccurs="0"/> + <xsd:element name="pgBorders" type="CT_PageBorders" minOccurs="0"/> + <xsd:element name="lnNumType" type="CT_LineNumber" minOccurs="0"/> + <xsd:element name="pgNumType" type="CT_PageNumber" minOccurs="0"/> + <xsd:element name="cols" type="CT_Columns" minOccurs="0"/> + <xsd:element name="formProt" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="vAlign" type="CT_VerticalJc" minOccurs="0"/> + <xsd:element name="noEndnote" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="titlePg" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="textDirection" type="CT_TextDirection" minOccurs="0"/> + <xsd:element name="bidi" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="rtlGutter" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="docGrid" type="CT_DocGrid" minOccurs="0"/> + <xsd:element name="printerSettings" type="CT_Rel" minOccurs="0"/> + </xsd:sequence> + </xsd:group> + <xsd:attributeGroup name="AG_SectPrAttributes"> + <xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidDel" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidR" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidSect" type="ST_LongHexNumber"/> + </xsd:attributeGroup> + <xsd:complexType name="CT_SectPrBase"> + <xsd:sequence> + <xsd:group ref="EG_SectPrContents" minOccurs="0"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_SectPrAttributes"/> + </xsd:complexType> + <xsd:complexType name="CT_SectPr"> + <xsd:sequence> + <xsd:group ref="EG_HdrFtrReferences" minOccurs="0" maxOccurs="6"/> + <xsd:group ref="EG_SectPrContents" minOccurs="0"/> + <xsd:element name="sectPrChange" type="CT_SectPrChange" minOccurs="0"/> + </xsd:sequence> + <xsd:attributeGroup ref="AG_SectPrAttributes"/> + </xsd:complexType> + <xsd:simpleType name="ST_BrType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="page"/> + <xsd:enumeration value="column"/> + <xsd:enumeration value="textWrapping"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_BrClear"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="all"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Br"> + <xsd:attribute name="type" type="ST_BrType" use="optional"/> + <xsd:attribute name="clear" type="ST_BrClear" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_PTabAlignment"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="left"/> + <xsd:enumeration value="center"/> + <xsd:enumeration value="right"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PTabRelativeTo"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="margin"/> + <xsd:enumeration value="indent"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PTabLeader"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="dot"/> + <xsd:enumeration value="hyphen"/> + <xsd:enumeration value="underscore"/> + <xsd:enumeration value="middleDot"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_PTab"> + <xsd:attribute name="alignment" type="ST_PTabAlignment" use="required"/> + <xsd:attribute name="relativeTo" type="ST_PTabRelativeTo" use="required"/> + <xsd:attribute name="leader" type="ST_PTabLeader" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Sym"> + <xsd:attribute name="font" type="s:ST_String"/> + <xsd:attribute name="char" type="ST_ShortHexNumber"/> + </xsd:complexType> + <xsd:simpleType name="ST_ProofErr"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="spellStart"/> + <xsd:enumeration value="spellEnd"/> + <xsd:enumeration value="gramStart"/> + <xsd:enumeration value="gramEnd"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ProofErr"> + <xsd:attribute name="type" type="ST_ProofErr" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_EdGrp"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="everyone"/> + <xsd:enumeration value="administrators"/> + <xsd:enumeration value="contributors"/> + <xsd:enumeration value="editors"/> + <xsd:enumeration value="owners"/> + <xsd:enumeration value="current"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Perm"> + <xsd:attribute name="id" type="s:ST_String" use="required"/> + <xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_PermStart"> + <xsd:complexContent> + <xsd:extension base="CT_Perm"> + <xsd:attribute name="edGrp" type="ST_EdGrp" use="optional"/> + <xsd:attribute name="ed" type="s:ST_String" use="optional"/> + <xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Text"> + <xsd:simpleContent> + <xsd:extension base="s:ST_String"> + <xsd:attribute ref="xml:space" use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:group name="EG_RunInnerContent"> + <xsd:choice> + <xsd:element name="br" type="CT_Br"/> + <xsd:element name="t" type="CT_Text"/> + <xsd:element name="contentPart" type="CT_Rel"/> + <xsd:element name="delText" type="CT_Text"/> + <xsd:element name="instrText" type="CT_Text"/> + <xsd:element name="delInstrText" type="CT_Text"/> + <xsd:element name="noBreakHyphen" type="CT_Empty"/> + <xsd:element name="softHyphen" type="CT_Empty" minOccurs="0"/> + <xsd:element name="dayShort" type="CT_Empty" minOccurs="0"/> + <xsd:element name="monthShort" type="CT_Empty" minOccurs="0"/> + <xsd:element name="yearShort" type="CT_Empty" minOccurs="0"/> + <xsd:element name="dayLong" type="CT_Empty" minOccurs="0"/> + <xsd:element name="monthLong" type="CT_Empty" minOccurs="0"/> + <xsd:element name="yearLong" type="CT_Empty" minOccurs="0"/> + <xsd:element name="annotationRef" type="CT_Empty" minOccurs="0"/> + <xsd:element name="footnoteRef" type="CT_Empty" minOccurs="0"/> + <xsd:element name="endnoteRef" type="CT_Empty" minOccurs="0"/> + <xsd:element name="separator" type="CT_Empty" minOccurs="0"/> + <xsd:element name="continuationSeparator" type="CT_Empty" minOccurs="0"/> + <xsd:element name="sym" type="CT_Sym" minOccurs="0"/> + <xsd:element name="pgNum" type="CT_Empty" minOccurs="0"/> + <xsd:element name="cr" type="CT_Empty" minOccurs="0"/> + <xsd:element name="tab" type="CT_Empty" minOccurs="0"/> + <xsd:element name="object" type="CT_Object"/> + <xsd:element name="pict" type="CT_Picture"/> + <xsd:element name="fldChar" type="CT_FldChar"/> + <xsd:element name="ruby" type="CT_Ruby"/> + <xsd:element name="footnoteReference" type="CT_FtnEdnRef"/> + <xsd:element name="endnoteReference" type="CT_FtnEdnRef"/> + <xsd:element name="commentReference" type="CT_Markup"/> + <xsd:element name="drawing" type="CT_Drawing"/> + <xsd:element name="ptab" type="CT_PTab" minOccurs="0"/> + <xsd:element name="lastRenderedPageBreak" type="CT_Empty" minOccurs="0" maxOccurs="1"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_R"> + <xsd:sequence> + <xsd:group ref="EG_RPr" minOccurs="0"/> + <xsd:group ref="EG_RunInnerContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidDel" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidR" type="ST_LongHexNumber"/> + </xsd:complexType> + <xsd:simpleType name="ST_Hint"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="default"/> + <xsd:enumeration value="eastAsia"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_Theme"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="majorEastAsia"/> + <xsd:enumeration value="majorBidi"/> + <xsd:enumeration value="majorAscii"/> + <xsd:enumeration value="majorHAnsi"/> + <xsd:enumeration value="minorEastAsia"/> + <xsd:enumeration value="minorBidi"/> + <xsd:enumeration value="minorAscii"/> + <xsd:enumeration value="minorHAnsi"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Fonts"> + <xsd:attribute name="hint" type="ST_Hint"/> + <xsd:attribute name="ascii" type="s:ST_String"/> + <xsd:attribute name="hAnsi" type="s:ST_String"/> + <xsd:attribute name="eastAsia" type="s:ST_String"/> + <xsd:attribute name="cs" type="s:ST_String"/> + <xsd:attribute name="asciiTheme" type="ST_Theme"/> + <xsd:attribute name="hAnsiTheme" type="ST_Theme"/> + <xsd:attribute name="eastAsiaTheme" type="ST_Theme"/> + <xsd:attribute name="cstheme" type="ST_Theme"/> + </xsd:complexType> + <xsd:group name="EG_RPrBase"> + <xsd:choice> + <xsd:element name="rStyle" type="CT_String"/> + <xsd:element name="rFonts" type="CT_Fonts"/> + <xsd:element name="b" type="CT_OnOff"/> + <xsd:element name="bCs" type="CT_OnOff"/> + <xsd:element name="i" type="CT_OnOff"/> + <xsd:element name="iCs" type="CT_OnOff"/> + <xsd:element name="caps" type="CT_OnOff"/> + <xsd:element name="smallCaps" type="CT_OnOff"/> + <xsd:element name="strike" type="CT_OnOff"/> + <xsd:element name="dstrike" type="CT_OnOff"/> + <xsd:element name="outline" type="CT_OnOff"/> + <xsd:element name="shadow" type="CT_OnOff"/> + <xsd:element name="emboss" type="CT_OnOff"/> + <xsd:element name="imprint" type="CT_OnOff"/> + <xsd:element name="noProof" type="CT_OnOff"/> + <xsd:element name="snapToGrid" type="CT_OnOff"/> + <xsd:element name="vanish" type="CT_OnOff"/> + <xsd:element name="webHidden" type="CT_OnOff"/> + <xsd:element name="color" type="CT_Color"/> + <xsd:element name="spacing" type="CT_SignedTwipsMeasure"/> + <xsd:element name="w" type="CT_TextScale"/> + <xsd:element name="kern" type="CT_HpsMeasure"/> + <xsd:element name="position" type="CT_SignedHpsMeasure"/> + <xsd:element name="sz" type="CT_HpsMeasure"/> + <xsd:element name="szCs" type="CT_HpsMeasure"/> + <xsd:element name="highlight" type="CT_Highlight"/> + <xsd:element name="u" type="CT_Underline"/> + <xsd:element name="effect" type="CT_TextEffect"/> + <xsd:element name="bdr" type="CT_Border"/> + <xsd:element name="shd" type="CT_Shd"/> + <xsd:element name="fitText" type="CT_FitText"/> + <xsd:element name="vertAlign" type="CT_VerticalAlignRun"/> + <xsd:element name="rtl" type="CT_OnOff"/> + <xsd:element name="cs" type="CT_OnOff"/> + <xsd:element name="em" type="CT_Em"/> + <xsd:element name="lang" type="CT_Language"/> + <xsd:element name="eastAsianLayout" type="CT_EastAsianLayout"/> + <xsd:element name="specVanish" type="CT_OnOff"/> + <xsd:element name="oMath" type="CT_OnOff"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_RPrContent"> + <xsd:sequence> + <xsd:group ref="EG_RPrBase" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rPrChange" type="CT_RPrChange" minOccurs="0"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_RPr"> + <xsd:sequence> + <xsd:group ref="EG_RPrContent" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_RPr"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_RPr" minOccurs="0"/> + </xsd:sequence> + </xsd:group> + <xsd:group name="EG_RPrMath"> + <xsd:choice> + <xsd:group ref="EG_RPr"/> + <xsd:element name="ins" type="CT_MathCtrlIns"/> + <xsd:element name="del" type="CT_MathCtrlDel"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_MathCtrlIns"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:choice minOccurs="0"> + <xsd:element name="del" type="CT_RPrChange" minOccurs="1"/> + <xsd:element name="rPr" type="CT_RPr" minOccurs="1"/> + </xsd:choice> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_MathCtrlDel"> + <xsd:complexContent> + <xsd:extension base="CT_TrackChange"> + <xsd:choice minOccurs="0"> + <xsd:element name="rPr" type="CT_RPr" minOccurs="1"/> + </xsd:choice> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_RPrOriginal"> + <xsd:sequence> + <xsd:group ref="EG_RPrBase" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ParaRPrOriginal"> + <xsd:sequence> + <xsd:group ref="EG_ParaRPrTrackChanges" minOccurs="0"/> + <xsd:group ref="EG_RPrBase" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ParaRPr"> + <xsd:sequence> + <xsd:group ref="EG_ParaRPrTrackChanges" minOccurs="0"/> + <xsd:group ref="EG_RPrBase" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="rPrChange" type="CT_ParaRPrChange" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_ParaRPrTrackChanges"> + <xsd:sequence> + <xsd:element name="ins" type="CT_TrackChange" minOccurs="0"/> + <xsd:element name="del" type="CT_TrackChange" minOccurs="0"/> + <xsd:element name="moveFrom" type="CT_TrackChange" minOccurs="0"/> + <xsd:element name="moveTo" type="CT_TrackChange" minOccurs="0"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_AltChunk"> + <xsd:sequence> + <xsd:element name="altChunkPr" type="CT_AltChunkPr" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute ref="r:id" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_AltChunkPr"> + <xsd:sequence> + <xsd:element name="matchSrc" type="CT_OnOff" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_RubyAlign"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="center"/> + <xsd:enumeration value="distributeLetter"/> + <xsd:enumeration value="distributeSpace"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + <xsd:enumeration value="rightVertical"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_RubyAlign"> + <xsd:attribute name="val" type="ST_RubyAlign" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_RubyPr"> + <xsd:sequence> + <xsd:element name="rubyAlign" type="CT_RubyAlign"/> + <xsd:element name="hps" type="CT_HpsMeasure"/> + <xsd:element name="hpsRaise" type="CT_HpsMeasure"/> + <xsd:element name="hpsBaseText" type="CT_HpsMeasure"/> + <xsd:element name="lid" type="CT_Lang"/> + <xsd:element name="dirty" type="CT_OnOff" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_RubyContent"> + <xsd:choice> + <xsd:element name="r" type="CT_R"/> + <xsd:group ref="EG_RunLevelElts" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_RubyContent"> + <xsd:group ref="EG_RubyContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:complexType> + <xsd:complexType name="CT_Ruby"> + <xsd:sequence> + <xsd:element name="rubyPr" type="CT_RubyPr"/> + <xsd:element name="rt" type="CT_RubyContent"/> + <xsd:element name="rubyBase" type="CT_RubyContent"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_Lock"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="sdtLocked"/> + <xsd:enumeration value="contentLocked"/> + <xsd:enumeration value="unlocked"/> + <xsd:enumeration value="sdtContentLocked"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Lock"> + <xsd:attribute name="val" type="ST_Lock"/> + </xsd:complexType> + <xsd:complexType name="CT_SdtListItem"> + <xsd:attribute name="displayText" type="s:ST_String"/> + <xsd:attribute name="value" type="s:ST_String"/> + </xsd:complexType> + <xsd:simpleType name="ST_SdtDateMappingType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="text"/> + <xsd:enumeration value="date"/> + <xsd:enumeration value="dateTime"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SdtDateMappingType"> + <xsd:attribute name="val" type="ST_SdtDateMappingType"/> + </xsd:complexType> + <xsd:complexType name="CT_CalendarType"> + <xsd:attribute name="val" type="s:ST_CalendarType"/> + </xsd:complexType> + <xsd:complexType name="CT_SdtDate"> + <xsd:sequence> + <xsd:element name="dateFormat" type="CT_String" minOccurs="0"/> + <xsd:element name="lid" type="CT_Lang" minOccurs="0"/> + <xsd:element name="storeMappedDataAs" type="CT_SdtDateMappingType" minOccurs="0"/> + <xsd:element name="calendar" type="CT_CalendarType" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="fullDate" type="ST_DateTime" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_SdtComboBox"> + <xsd:sequence> + <xsd:element name="listItem" type="CT_SdtListItem" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="lastValue" type="s:ST_String" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_SdtDocPart"> + <xsd:sequence> + <xsd:element name="docPartGallery" type="CT_String" minOccurs="0"/> + <xsd:element name="docPartCategory" type="CT_String" minOccurs="0"/> + <xsd:element name="docPartUnique" type="CT_OnOff" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SdtDropDownList"> + <xsd:sequence> + <xsd:element name="listItem" type="CT_SdtListItem" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="lastValue" type="s:ST_String" use="optional" default=""/> + </xsd:complexType> + <xsd:complexType name="CT_Placeholder"> + <xsd:sequence> + <xsd:element name="docPart" type="CT_String"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SdtText"> + <xsd:attribute name="multiLine" type="s:ST_OnOff"/> + </xsd:complexType> + <xsd:complexType name="CT_DataBinding"> + <xsd:attribute name="prefixMappings" type="s:ST_String"/> + <xsd:attribute name="xpath" type="s:ST_String" use="required"/> + <xsd:attribute name="storeItemID" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SdtPr"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_RPr" minOccurs="0"/> + <xsd:element name="alias" type="CT_String" minOccurs="0"/> + <xsd:element name="tag" type="CT_String" minOccurs="0"/> + <xsd:element name="id" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="lock" type="CT_Lock" minOccurs="0"/> + <xsd:element name="placeholder" type="CT_Placeholder" minOccurs="0"/> + <xsd:element name="temporary" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="showingPlcHdr" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="dataBinding" type="CT_DataBinding" minOccurs="0"/> + <xsd:element name="label" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="tabIndex" type="CT_UnsignedDecimalNumber" minOccurs="0"/> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="equation" type="CT_Empty"/> + <xsd:element name="comboBox" type="CT_SdtComboBox"/> + <xsd:element name="date" type="CT_SdtDate"/> + <xsd:element name="docPartObj" type="CT_SdtDocPart"/> + <xsd:element name="docPartList" type="CT_SdtDocPart"/> + <xsd:element name="dropDownList" type="CT_SdtDropDownList"/> + <xsd:element name="picture" type="CT_Empty"/> + <xsd:element name="richText" type="CT_Empty"/> + <xsd:element name="text" type="CT_SdtText"/> + <xsd:element name="citation" type="CT_Empty"/> + <xsd:element name="group" type="CT_Empty"/> + <xsd:element name="bibliography" type="CT_Empty"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SdtEndPr"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="rPr" type="CT_RPr" minOccurs="0"/> + </xsd:choice> + </xsd:complexType> + <xsd:group name="EG_ContentRunContent"> + <xsd:choice> + <xsd:element name="customXml" type="CT_CustomXmlRun"/> + <xsd:element name="smartTag" type="CT_SmartTagRun"/> + <xsd:element name="sdt" type="CT_SdtRun"/> + <xsd:element name="dir" type="CT_DirContentRun"/> + <xsd:element name="bdo" type="CT_BdoContentRun"/> + <xsd:element name="r" type="CT_R"/> + <xsd:group ref="EG_RunLevelElts" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_DirContentRun"> + <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/> + <xsd:attribute name="val" type="ST_Direction" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_BdoContentRun"> + <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/> + <xsd:attribute name="val" type="ST_Direction" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_Direction"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="ltr"/> + <xsd:enumeration value="rtl"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_SdtContentRun"> + <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:complexType> + <xsd:group name="EG_ContentBlockContent"> + <xsd:choice> + <xsd:element name="customXml" type="CT_CustomXmlBlock"/> + <xsd:element name="sdt" type="CT_SdtBlock"/> + <xsd:element name="p" type="CT_P" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="tbl" type="CT_Tbl" minOccurs="0" maxOccurs="unbounded"/> + <xsd:group ref="EG_RunLevelElts" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_SdtContentBlock"> + <xsd:group ref="EG_ContentBlockContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:complexType> + <xsd:group name="EG_ContentRowContent"> + <xsd:choice> + <xsd:element name="tr" type="CT_Row" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="customXml" type="CT_CustomXmlRow"/> + <xsd:element name="sdt" type="CT_SdtRow"/> + <xsd:group ref="EG_RunLevelElts" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_SdtContentRow"> + <xsd:group ref="EG_ContentRowContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:complexType> + <xsd:group name="EG_ContentCellContent"> + <xsd:choice> + <xsd:element name="tc" type="CT_Tc" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="customXml" type="CT_CustomXmlCell"/> + <xsd:element name="sdt" type="CT_SdtCell"/> + <xsd:group ref="EG_RunLevelElts" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_SdtContentCell"> + <xsd:group ref="EG_ContentCellContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:complexType> + <xsd:complexType name="CT_SdtBlock"> + <xsd:sequence> + <xsd:element name="sdtPr" type="CT_SdtPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sdtEndPr" type="CT_SdtEndPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sdtContent" type="CT_SdtContentBlock" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SdtRun"> + <xsd:sequence> + <xsd:element name="sdtPr" type="CT_SdtPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sdtEndPr" type="CT_SdtEndPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sdtContent" type="CT_SdtContentRun" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SdtCell"> + <xsd:sequence> + <xsd:element name="sdtPr" type="CT_SdtPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sdtEndPr" type="CT_SdtEndPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sdtContent" type="CT_SdtContentCell" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_SdtRow"> + <xsd:sequence> + <xsd:element name="sdtPr" type="CT_SdtPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sdtEndPr" type="CT_SdtEndPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sdtContent" type="CT_SdtContentRow" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Attr"> + <xsd:attribute name="uri" type="s:ST_String"/> + <xsd:attribute name="name" type="s:ST_String" use="required"/> + <xsd:attribute name="val" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomXmlRun"> + <xsd:sequence> + <xsd:element name="customXmlPr" type="CT_CustomXmlPr" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="uri" type="s:ST_String"/> + <xsd:attribute name="element" type="s:ST_XmlName" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SmartTagRun"> + <xsd:sequence> + <xsd:element name="smartTagPr" type="CT_SmartTagPr" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="uri" type="s:ST_String"/> + <xsd:attribute name="element" type="s:ST_XmlName" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomXmlBlock"> + <xsd:sequence> + <xsd:element name="customXmlPr" type="CT_CustomXmlPr" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_ContentBlockContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="uri" type="s:ST_String"/> + <xsd:attribute name="element" type="s:ST_XmlName" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomXmlPr"> + <xsd:sequence> + <xsd:element name="placeholder" type="CT_String" minOccurs="0"/> + <xsd:element name="attr" type="CT_Attr" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CustomXmlRow"> + <xsd:sequence> + <xsd:element name="customXmlPr" type="CT_CustomXmlPr" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_ContentRowContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="uri" type="s:ST_String"/> + <xsd:attribute name="element" type="s:ST_XmlName" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_CustomXmlCell"> + <xsd:sequence> + <xsd:element name="customXmlPr" type="CT_CustomXmlPr" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_ContentCellContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="uri" type="s:ST_String"/> + <xsd:attribute name="element" type="s:ST_XmlName" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SmartTagPr"> + <xsd:sequence> + <xsd:element name="attr" type="CT_Attr" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_PContent"> + <xsd:choice> + <xsd:group ref="EG_ContentRunContent" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="fldSimple" type="CT_SimpleField" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="hyperlink" type="CT_Hyperlink"/> + <xsd:element name="subDoc" type="CT_Rel"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_P"> + <xsd:sequence> + <xsd:element name="pPr" type="CT_PPr" minOccurs="0"/> + <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidR" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidDel" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidP" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidRDefault" type="ST_LongHexNumber"/> + </xsd:complexType> + <xsd:simpleType name="ST_TblWidth"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="nil"/> + <xsd:enumeration value="pct"/> + <xsd:enumeration value="dxa"/> + <xsd:enumeration value="auto"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Height"> + <xsd:attribute name="val" type="s:ST_TwipsMeasure"/> + <xsd:attribute name="hRule" type="ST_HeightRule"/> + </xsd:complexType> + <xsd:simpleType name="ST_MeasurementOrPercent"> + <xsd:union memberTypes="ST_DecimalNumberOrPercent s:ST_UniversalMeasure"/> + </xsd:simpleType> + <xsd:complexType name="CT_TblWidth"> + <xsd:attribute name="w" type="ST_MeasurementOrPercent"/> + <xsd:attribute name="type" type="ST_TblWidth"/> + </xsd:complexType> + <xsd:complexType name="CT_TblGridCol"> + <xsd:attribute name="w" type="s:ST_TwipsMeasure"/> + </xsd:complexType> + <xsd:complexType name="CT_TblGridBase"> + <xsd:sequence> + <xsd:element name="gridCol" type="CT_TblGridCol" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TblGrid"> + <xsd:complexContent> + <xsd:extension base="CT_TblGridBase"> + <xsd:sequence> + <xsd:element name="tblGridChange" type="CT_TblGridChange" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TcBorders"> + <xsd:sequence> + <xsd:element name="top" type="CT_Border" minOccurs="0"/> + <xsd:element name="start" type="CT_Border" minOccurs="0"/> + <xsd:element name="left" type="CT_Border" minOccurs="0"/> + <xsd:element name="bottom" type="CT_Border" minOccurs="0"/> + <xsd:element name="end" type="CT_Border" minOccurs="0"/> + <xsd:element name="right" type="CT_Border" minOccurs="0"/> + <xsd:element name="insideH" type="CT_Border" minOccurs="0"/> + <xsd:element name="insideV" type="CT_Border" minOccurs="0"/> + <xsd:element name="tl2br" type="CT_Border" minOccurs="0"/> + <xsd:element name="tr2bl" type="CT_Border" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TcMar"> + <xsd:sequence> + <xsd:element name="top" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="start" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="left" type="CT_TblWidth" minOccurs="0"/> + <xsd:element name="bottom" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="end" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="right" type="CT_TblWidth" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_Merge"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="continue"/> + <xsd:enumeration value="restart"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_VMerge"> + <xsd:attribute name="val" type="ST_Merge"/> + </xsd:complexType> + <xsd:complexType name="CT_HMerge"> + <xsd:attribute name="val" type="ST_Merge"/> + </xsd:complexType> + <xsd:complexType name="CT_TcPrBase"> + <xsd:sequence> + <xsd:element name="cnfStyle" type="CT_Cnf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tcW" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="gridSpan" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="hMerge" type="CT_HMerge" minOccurs="0"/> + <xsd:element name="vMerge" type="CT_VMerge" minOccurs="0"/> + <xsd:element name="tcBorders" type="CT_TcBorders" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shd" type="CT_Shd" minOccurs="0"/> + <xsd:element name="noWrap" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="tcMar" type="CT_TcMar" minOccurs="0" maxOccurs="1"/> + <xsd:element name="textDirection" type="CT_TextDirection" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tcFitText" type="CT_OnOff" minOccurs="0" maxOccurs="1"/> + <xsd:element name="vAlign" type="CT_VerticalJc" minOccurs="0"/> + <xsd:element name="hideMark" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="headers" type="CT_Headers" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TcPr"> + <xsd:complexContent> + <xsd:extension base="CT_TcPrInner"> + <xsd:sequence> + <xsd:element name="tcPrChange" type="CT_TcPrChange" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TcPrInner"> + <xsd:complexContent> + <xsd:extension base="CT_TcPrBase"> + <xsd:sequence> + <xsd:group ref="EG_CellMarkupElements" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Tc"> + <xsd:sequence> + <xsd:element name="tcPr" type="CT_TcPr" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_BlockLevelElts" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="s:ST_String" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_Cnf"> + <xsd:restriction base="xsd:string"> + <xsd:length value="12"/> + <xsd:pattern value="[01]*"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Cnf"> + <xsd:attribute name="val" type="ST_Cnf"/> + <xsd:attribute name="firstRow" type="s:ST_OnOff"/> + <xsd:attribute name="lastRow" type="s:ST_OnOff"/> + <xsd:attribute name="firstColumn" type="s:ST_OnOff"/> + <xsd:attribute name="lastColumn" type="s:ST_OnOff"/> + <xsd:attribute name="oddVBand" type="s:ST_OnOff"/> + <xsd:attribute name="evenVBand" type="s:ST_OnOff"/> + <xsd:attribute name="oddHBand" type="s:ST_OnOff"/> + <xsd:attribute name="evenHBand" type="s:ST_OnOff"/> + <xsd:attribute name="firstRowFirstColumn" type="s:ST_OnOff"/> + <xsd:attribute name="firstRowLastColumn" type="s:ST_OnOff"/> + <xsd:attribute name="lastRowFirstColumn" type="s:ST_OnOff"/> + <xsd:attribute name="lastRowLastColumn" type="s:ST_OnOff"/> + </xsd:complexType> + <xsd:complexType name="CT_Headers"> + <xsd:sequence minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="header" type="CT_String"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TrPrBase"> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="cnfStyle" type="CT_Cnf" minOccurs="0" maxOccurs="1"/> + <xsd:element name="divId" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="gridBefore" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="gridAfter" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="wBefore" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="wAfter" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="cantSplit" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="trHeight" type="CT_Height" minOccurs="0"/> + <xsd:element name="tblHeader" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="tblCellSpacing" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="jc" type="CT_JcTable" minOccurs="0" maxOccurs="1"/> + <xsd:element name="hidden" type="CT_OnOff" minOccurs="0"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_TrPr"> + <xsd:complexContent> + <xsd:extension base="CT_TrPrBase"> + <xsd:sequence> + <xsd:element name="ins" type="CT_TrackChange" minOccurs="0"/> + <xsd:element name="del" type="CT_TrackChange" minOccurs="0"/> + <xsd:element name="trPrChange" type="CT_TrPrChange" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Row"> + <xsd:sequence> + <xsd:element name="tblPrEx" type="CT_TblPrEx" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trPr" type="CT_TrPr" minOccurs="0" maxOccurs="1"/> + <xsd:group ref="EG_ContentCellContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidR" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidDel" type="ST_LongHexNumber"/> + <xsd:attribute name="rsidTr" type="ST_LongHexNumber"/> + </xsd:complexType> + <xsd:simpleType name="ST_TblLayoutType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="fixed"/> + <xsd:enumeration value="autofit"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TblLayoutType"> + <xsd:attribute name="type" type="ST_TblLayoutType"/> + </xsd:complexType> + <xsd:simpleType name="ST_TblOverlap"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="never"/> + <xsd:enumeration value="overlap"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TblOverlap"> + <xsd:attribute name="val" type="ST_TblOverlap" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_TblPPr"> + <xsd:attribute name="leftFromText" type="s:ST_TwipsMeasure"/> + <xsd:attribute name="rightFromText" type="s:ST_TwipsMeasure"/> + <xsd:attribute name="topFromText" type="s:ST_TwipsMeasure"/> + <xsd:attribute name="bottomFromText" type="s:ST_TwipsMeasure"/> + <xsd:attribute name="vertAnchor" type="ST_VAnchor"/> + <xsd:attribute name="horzAnchor" type="ST_HAnchor"/> + <xsd:attribute name="tblpXSpec" type="s:ST_XAlign"/> + <xsd:attribute name="tblpX" type="ST_SignedTwipsMeasure"/> + <xsd:attribute name="tblpYSpec" type="s:ST_YAlign"/> + <xsd:attribute name="tblpY" type="ST_SignedTwipsMeasure"/> + </xsd:complexType> + <xsd:complexType name="CT_TblCellMar"> + <xsd:sequence> + <xsd:element name="top" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="start" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="left" type="CT_TblWidth" minOccurs="0"/> + <xsd:element name="bottom" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="end" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="right" type="CT_TblWidth" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TblBorders"> + <xsd:sequence> + <xsd:element name="top" type="CT_Border" minOccurs="0"/> + <xsd:element name="start" type="CT_Border" minOccurs="0"/> + <xsd:element name="left" type="CT_Border" minOccurs="0"/> + <xsd:element name="bottom" type="CT_Border" minOccurs="0"/> + <xsd:element name="end" type="CT_Border" minOccurs="0"/> + <xsd:element name="right" type="CT_Border" minOccurs="0"/> + <xsd:element name="insideH" type="CT_Border" minOccurs="0"/> + <xsd:element name="insideV" type="CT_Border" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TblPrBase"> + <xsd:sequence> + <xsd:element name="tblStyle" type="CT_String" minOccurs="0"/> + <xsd:element name="tblpPr" type="CT_TblPPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblOverlap" type="CT_TblOverlap" minOccurs="0" maxOccurs="1"/> + <xsd:element name="bidiVisual" type="CT_OnOff" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblStyleRowBandSize" type="CT_DecimalNumber" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblStyleColBandSize" type="CT_DecimalNumber" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblW" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="jc" type="CT_JcTable" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblCellSpacing" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblInd" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblBorders" type="CT_TblBorders" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shd" type="CT_Shd" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblLayout" type="CT_TblLayoutType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblCellMar" type="CT_TblCellMar" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblLook" type="CT_TblLook" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblCaption" type="CT_String" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblDescription" type="CT_String" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TblPr"> + <xsd:complexContent> + <xsd:extension base="CT_TblPrBase"> + <xsd:sequence> + <xsd:element name="tblPrChange" type="CT_TblPrChange" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_TblPrExBase"> + <xsd:sequence> + <xsd:element name="tblW" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="jc" type="CT_JcTable" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblCellSpacing" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblInd" type="CT_TblWidth" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblBorders" type="CT_TblBorders" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shd" type="CT_Shd" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblLayout" type="CT_TblLayoutType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblCellMar" type="CT_TblCellMar" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblLook" type="CT_TblLook" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TblPrEx"> + <xsd:complexContent> + <xsd:extension base="CT_TblPrExBase"> + <xsd:sequence> + <xsd:element name="tblPrExChange" type="CT_TblPrExChange" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Tbl"> + <xsd:sequence> + <xsd:group ref="EG_RangeMarkupElements" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="tblPr" type="CT_TblPr"/> + <xsd:element name="tblGrid" type="CT_TblGrid"/> + <xsd:group ref="EG_ContentRowContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TblLook"> + <xsd:attribute name="firstRow" type="s:ST_OnOff"/> + <xsd:attribute name="lastRow" type="s:ST_OnOff"/> + <xsd:attribute name="firstColumn" type="s:ST_OnOff"/> + <xsd:attribute name="lastColumn" type="s:ST_OnOff"/> + <xsd:attribute name="noHBand" type="s:ST_OnOff"/> + <xsd:attribute name="noVBand" type="s:ST_OnOff"/> + <xsd:attribute name="val" type="ST_ShortHexNumber"/> + </xsd:complexType> + <xsd:simpleType name="ST_FtnPos"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="pageBottom"/> + <xsd:enumeration value="beneathText"/> + <xsd:enumeration value="sectEnd"/> + <xsd:enumeration value="docEnd"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FtnPos"> + <xsd:attribute name="val" type="ST_FtnPos" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_EdnPos"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="sectEnd"/> + <xsd:enumeration value="docEnd"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_EdnPos"> + <xsd:attribute name="val" type="ST_EdnPos" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_NumFmt"> + <xsd:attribute name="val" type="ST_NumberFormat" use="required"/> + <xsd:attribute name="format" type="s:ST_String" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_RestartNumber"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="continuous"/> + <xsd:enumeration value="eachSect"/> + <xsd:enumeration value="eachPage"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_NumRestart"> + <xsd:attribute name="val" type="ST_RestartNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FtnEdnRef"> + <xsd:attribute name="customMarkFollows" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="id" use="required" type="ST_DecimalNumber"/> + </xsd:complexType> + <xsd:complexType name="CT_FtnEdnSepRef"> + <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FtnEdn"> + <xsd:sequence> + <xsd:group ref="EG_BlockLevelElts" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_FtnEdn" use="optional"/> + <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:group name="EG_FtnEdnNumProps"> + <xsd:sequence> + <xsd:element name="numStart" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="numRestart" type="CT_NumRestart" minOccurs="0"/> + </xsd:sequence> + </xsd:group> + <xsd:complexType name="CT_FtnProps"> + <xsd:sequence> + <xsd:element name="pos" type="CT_FtnPos" minOccurs="0"/> + <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0"/> + <xsd:group ref="EG_FtnEdnNumProps" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_EdnProps"> + <xsd:sequence> + <xsd:element name="pos" type="CT_EdnPos" minOccurs="0"/> + <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0"/> + <xsd:group ref="EG_FtnEdnNumProps" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_FtnDocProps"> + <xsd:complexContent> + <xsd:extension base="CT_FtnProps"> + <xsd:sequence> + <xsd:element name="footnote" type="CT_FtnEdnSepRef" minOccurs="0" maxOccurs="3"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_EdnDocProps"> + <xsd:complexContent> + <xsd:extension base="CT_EdnProps"> + <xsd:sequence> + <xsd:element name="endnote" type="CT_FtnEdnSepRef" minOccurs="0" maxOccurs="3"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_RecipientData"> + <xsd:sequence> + <xsd:element name="active" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="column" type="CT_DecimalNumber" minOccurs="1"/> + <xsd:element name="uniqueTag" type="CT_Base64Binary" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Base64Binary"> + <xsd:attribute name="val" type="xsd:base64Binary" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Recipients"> + <xsd:sequence> + <xsd:element name="recipientData" type="CT_RecipientData" minOccurs="1" maxOccurs="unbounded" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="recipients" type="CT_Recipients"/> + <xsd:complexType name="CT_OdsoFieldMapData"> + <xsd:sequence> + <xsd:element name="type" type="CT_MailMergeOdsoFMDFieldType" minOccurs="0"/> + <xsd:element name="name" type="CT_String" minOccurs="0"/> + <xsd:element name="mappedName" type="CT_String" minOccurs="0"/> + <xsd:element name="column" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="lid" type="CT_Lang" minOccurs="0"/> + <xsd:element name="dynamicAddress" type="CT_OnOff" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_MailMergeSourceType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="database"/> + <xsd:enumeration value="addressBook"/> + <xsd:enumeration value="document1"/> + <xsd:enumeration value="document2"/> + <xsd:enumeration value="text"/> + <xsd:enumeration value="email"/> + <xsd:enumeration value="native"/> + <xsd:enumeration value="legacy"/> + <xsd:enumeration value="master"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MailMergeSourceType"> + <xsd:attribute name="val" use="required" type="ST_MailMergeSourceType"/> + </xsd:complexType> + <xsd:complexType name="CT_Odso"> + <xsd:sequence> + <xsd:element name="udl" type="CT_String" minOccurs="0"/> + <xsd:element name="table" type="CT_String" minOccurs="0"/> + <xsd:element name="src" type="CT_Rel" minOccurs="0"/> + <xsd:element name="colDelim" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="type" type="CT_MailMergeSourceType" minOccurs="0"/> + <xsd:element name="fHdr" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="fieldMapData" type="CT_OdsoFieldMapData" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="recipientData" type="CT_Rel" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_MailMerge"> + <xsd:sequence> + <xsd:element name="mainDocumentType" type="CT_MailMergeDocType" minOccurs="1"/> + <xsd:element name="linkToQuery" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="dataType" type="CT_MailMergeDataType" minOccurs="1"/> + <xsd:element name="connectString" type="CT_String" minOccurs="0"/> + <xsd:element name="query" type="CT_String" minOccurs="0"/> + <xsd:element name="dataSource" type="CT_Rel" minOccurs="0"/> + <xsd:element name="headerSource" type="CT_Rel" minOccurs="0"/> + <xsd:element name="doNotSuppressBlankLines" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="destination" type="CT_MailMergeDest" minOccurs="0"/> + <xsd:element name="addressFieldName" type="CT_String" minOccurs="0"/> + <xsd:element name="mailSubject" type="CT_String" minOccurs="0"/> + <xsd:element name="mailAsAttachment" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="viewMergedData" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="activeRecord" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="checkErrors" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="odso" type="CT_Odso" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TargetScreenSz"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="544x376"/> + <xsd:enumeration value="640x480"/> + <xsd:enumeration value="720x512"/> + <xsd:enumeration value="800x600"/> + <xsd:enumeration value="1024x768"/> + <xsd:enumeration value="1152x882"/> + <xsd:enumeration value="1152x900"/> + <xsd:enumeration value="1280x1024"/> + <xsd:enumeration value="1600x1200"/> + <xsd:enumeration value="1800x1440"/> + <xsd:enumeration value="1920x1200"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TargetScreenSz"> + <xsd:attribute name="val" type="ST_TargetScreenSz" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Compat"> + <xsd:sequence> + <xsd:element name="useSingleBorderforContiguousCells" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="wpJustification" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="noTabHangInd" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="noLeading" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="spaceForUL" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="noColumnBalance" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="balanceSingleByteDoubleByteWidth" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="noExtraLineSpacing" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotLeaveBackslashAlone" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="ulTrailSpace" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotExpandShiftReturn" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="spacingInWholePoints" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="lineWrapLikeWord6" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="printBodyTextBeforeHeader" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="printColBlack" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="wpSpaceWidth" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="showBreaksInFrames" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="subFontBySize" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="suppressBottomSpacing" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="suppressTopSpacing" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="suppressSpacingAtTopOfPage" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="suppressTopSpacingWP" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="suppressSpBfAfterPgBrk" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="swapBordersFacingPages" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="convMailMergeEsc" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="truncateFontHeightsLikeWP6" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="mwSmallCaps" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="usePrinterMetrics" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotSuppressParagraphBorders" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="wrapTrailSpaces" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="footnoteLayoutLikeWW8" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="shapeLayoutLikeWW8" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="alignTablesRowByRow" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="forgetLastTabAlignment" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="adjustLineHeightInTable" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="autoSpaceLikeWord95" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="noSpaceRaiseLower" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotUseHTMLParagraphAutoSpacing" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="layoutRawTableWidth" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="layoutTableRowsApart" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="useWord97LineBreakRules" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotBreakWrappedTables" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotSnapToGridInCell" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="selectFldWithFirstOrLastChar" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="applyBreakingRules" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotWrapTextWithPunct" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotUseEastAsianBreakRules" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="useWord2002TableStyleRules" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="growAutofit" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="useFELayout" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="useNormalStyleForList" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotUseIndentAsNumberingTabStop" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="useAltKinsokuLineBreakRules" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="allowSpaceOfSameStyleInTable" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotSuppressIndentation" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotAutofitConstrainedTables" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="autofitToFirstFixedWidthCell" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="underlineTabInNumList" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="displayHangulFixedWidth" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="splitPgBreakAndParaMark" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotVertAlignCellWithSp" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotBreakConstrainedForcedTable" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotVertAlignInTxbx" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="useAnsiKerningPairs" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="cachedColBalance" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="compatSetting" type="CT_CompatSetting" minOccurs="0" maxOccurs="unbounded" + /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CompatSetting"> + <xsd:attribute name="name" type="s:ST_String"/> + <xsd:attribute name="uri" type="s:ST_String"/> + <xsd:attribute name="val" type="s:ST_String"/> + </xsd:complexType> + <xsd:complexType name="CT_DocVar"> + <xsd:attribute name="name" type="s:ST_String" use="required"/> + <xsd:attribute name="val" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DocVars"> + <xsd:sequence> + <xsd:element name="docVar" type="CT_DocVar" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DocRsids"> + <xsd:sequence> + <xsd:element name="rsidRoot" type="CT_LongHexNumber" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rsid" type="CT_LongHexNumber" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_CharacterSpacing"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="doNotCompress"/> + <xsd:enumeration value="compressPunctuation"/> + <xsd:enumeration value="compressPunctuationAndJapaneseKana"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_CharacterSpacing"> + <xsd:attribute name="val" type="ST_CharacterSpacing" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SaveThroughXslt"> + <xsd:attribute ref="r:id" use="optional"/> + <xsd:attribute name="solutionID" type="s:ST_String" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_RPrDefault"> + <xsd:sequence> + <xsd:element name="rPr" type="CT_RPr" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PPrDefault"> + <xsd:sequence> + <xsd:element name="pPr" type="CT_PPrGeneral" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DocDefaults"> + <xsd:sequence> + <xsd:element name="rPrDefault" type="CT_RPrDefault" minOccurs="0"/> + <xsd:element name="pPrDefault" type="CT_PPrDefault" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_WmlColorSchemeIndex"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="dark1"/> + <xsd:enumeration value="light1"/> + <xsd:enumeration value="dark2"/> + <xsd:enumeration value="light2"/> + <xsd:enumeration value="accent1"/> + <xsd:enumeration value="accent2"/> + <xsd:enumeration value="accent3"/> + <xsd:enumeration value="accent4"/> + <xsd:enumeration value="accent5"/> + <xsd:enumeration value="accent6"/> + <xsd:enumeration value="hyperlink"/> + <xsd:enumeration value="followedHyperlink"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_ColorSchemeMapping"> + <xsd:attribute name="bg1" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="t1" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="bg2" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="t2" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="accent1" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="accent2" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="accent3" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="accent4" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="accent5" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="accent6" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="hyperlink" type="ST_WmlColorSchemeIndex"/> + <xsd:attribute name="followedHyperlink" type="ST_WmlColorSchemeIndex"/> + </xsd:complexType> + <xsd:complexType name="CT_ReadingModeInkLockDown"> + <xsd:attribute name="actualPg" type="s:ST_OnOff" use="required"/> + <xsd:attribute name="w" type="ST_PixelsMeasure" use="required"/> + <xsd:attribute name="h" type="ST_PixelsMeasure" use="required"/> + <xsd:attribute name="fontSz" type="ST_DecimalNumberOrPercent" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_WriteProtection"> + <xsd:attribute name="recommended" type="s:ST_OnOff" use="optional"/> + <xsd:attributeGroup ref="AG_Password"/> + <xsd:attributeGroup ref="AG_TransitionalPassword"/> + </xsd:complexType> + <xsd:complexType name="CT_Settings"> + <xsd:sequence> + <xsd:element name="writeProtection" type="CT_WriteProtection" minOccurs="0"/> + <xsd:element name="view" type="CT_View" minOccurs="0"/> + <xsd:element name="zoom" type="CT_Zoom" minOccurs="0"/> + <xsd:element name="removePersonalInformation" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="removeDateAndTime" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotDisplayPageBoundaries" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="displayBackgroundShape" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="printPostScriptOverText" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="printFractionalCharacterWidth" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="printFormsData" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="embedTrueTypeFonts" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="embedSystemFonts" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="saveSubsetFonts" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="saveFormsData" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="mirrorMargins" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="alignBordersAndEdges" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="bordersDoNotSurroundHeader" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="bordersDoNotSurroundFooter" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="gutterAtTop" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="hideSpellingErrors" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="hideGrammaticalErrors" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="activeWritingStyle" type="CT_WritingStyle" minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="proofState" type="CT_Proof" minOccurs="0"/> + <xsd:element name="formsDesign" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="attachedTemplate" type="CT_Rel" minOccurs="0"/> + <xsd:element name="linkStyles" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="stylePaneFormatFilter" type="CT_StylePaneFilter" minOccurs="0"/> + <xsd:element name="stylePaneSortMethod" type="CT_StyleSort" minOccurs="0"/> + <xsd:element name="documentType" type="CT_DocType" minOccurs="0"/> + <xsd:element name="mailMerge" type="CT_MailMerge" minOccurs="0"/> + <xsd:element name="revisionView" type="CT_TrackChangesView" minOccurs="0"/> + <xsd:element name="trackRevisions" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotTrackMoves" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotTrackFormatting" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="documentProtection" type="CT_DocProtect" minOccurs="0"/> + <xsd:element name="autoFormatOverride" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="styleLockTheme" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="styleLockQFSet" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="defaultTabStop" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="autoHyphenation" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="consecutiveHyphenLimit" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="hyphenationZone" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="doNotHyphenateCaps" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="showEnvelope" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="summaryLength" type="CT_DecimalNumberOrPrecent" minOccurs="0"/> + <xsd:element name="clickAndTypeStyle" type="CT_String" minOccurs="0"/> + <xsd:element name="defaultTableStyle" type="CT_String" minOccurs="0"/> + <xsd:element name="evenAndOddHeaders" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="bookFoldRevPrinting" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="bookFoldPrinting" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="bookFoldPrintingSheets" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="drawingGridHorizontalSpacing" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="drawingGridVerticalSpacing" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="displayHorizontalDrawingGridEvery" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="displayVerticalDrawingGridEvery" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="doNotUseMarginsForDrawingGridOrigin" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="drawingGridHorizontalOrigin" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="drawingGridVerticalOrigin" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="doNotShadeFormData" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="noPunctuationKerning" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="characterSpacingControl" type="CT_CharacterSpacing" minOccurs="0"/> + <xsd:element name="printTwoOnOne" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="strictFirstAndLastChars" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="noLineBreaksAfter" type="CT_Kinsoku" minOccurs="0"/> + <xsd:element name="noLineBreaksBefore" type="CT_Kinsoku" minOccurs="0"/> + <xsd:element name="savePreviewPicture" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotValidateAgainstSchema" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="saveInvalidXml" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="ignoreMixedContent" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="alwaysShowPlaceholderText" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotDemarcateInvalidXml" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="saveXmlDataOnly" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="useXSLTWhenSaving" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="saveThroughXslt" type="CT_SaveThroughXslt" minOccurs="0"/> + <xsd:element name="showXMLTags" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="alwaysMergeEmptyNamespace" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="updateFields" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="hdrShapeDefaults" type="CT_ShapeDefaults" minOccurs="0"/> + <xsd:element name="footnotePr" type="CT_FtnDocProps" minOccurs="0"/> + <xsd:element name="endnotePr" type="CT_EdnDocProps" minOccurs="0"/> + <xsd:element name="compat" type="CT_Compat" minOccurs="0"/> + <xsd:element name="docVars" type="CT_DocVars" minOccurs="0"/> + <xsd:element name="rsids" type="CT_DocRsids" minOccurs="0"/> + <xsd:element ref="m:mathPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="attachedSchema" type="CT_String" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="themeFontLang" type="CT_Language" minOccurs="0" maxOccurs="1"/> + <xsd:element name="clrSchemeMapping" type="CT_ColorSchemeMapping" minOccurs="0"/> + <xsd:element name="doNotIncludeSubdocsInStats" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotAutoCompressPictures" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="forceUpgrade" type="CT_Empty" minOccurs="0" maxOccurs="1"/> + <xsd:element name="captions" type="CT_Captions" minOccurs="0" maxOccurs="1"/> + <xsd:element name="readModeInkLockDown" type="CT_ReadingModeInkLockDown" minOccurs="0"/> + <xsd:element name="smartTagType" type="CT_SmartTagType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="sl:schemaLibrary" minOccurs="0" maxOccurs="1"/> + <xsd:element name="shapeDefaults" type="CT_ShapeDefaults" minOccurs="0"/> + <xsd:element name="doNotEmbedSmartTags" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="decimalSymbol" type="CT_String" minOccurs="0" maxOccurs="1"/> + <xsd:element name="listSeparator" type="CT_String" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_StyleSort"> + <xsd:attribute name="val" type="ST_StyleSort" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_StylePaneFilter"> + <xsd:attribute name="allStyles" type="s:ST_OnOff"/> + <xsd:attribute name="customStyles" type="s:ST_OnOff"/> + <xsd:attribute name="latentStyles" type="s:ST_OnOff"/> + <xsd:attribute name="stylesInUse" type="s:ST_OnOff"/> + <xsd:attribute name="headingStyles" type="s:ST_OnOff"/> + <xsd:attribute name="numberingStyles" type="s:ST_OnOff"/> + <xsd:attribute name="tableStyles" type="s:ST_OnOff"/> + <xsd:attribute name="directFormattingOnRuns" type="s:ST_OnOff"/> + <xsd:attribute name="directFormattingOnParagraphs" type="s:ST_OnOff"/> + <xsd:attribute name="directFormattingOnNumbering" type="s:ST_OnOff"/> + <xsd:attribute name="directFormattingOnTables" type="s:ST_OnOff"/> + <xsd:attribute name="clearFormatting" type="s:ST_OnOff"/> + <xsd:attribute name="top3HeadingStyles" type="s:ST_OnOff"/> + <xsd:attribute name="visibleStyles" type="s:ST_OnOff"/> + <xsd:attribute name="alternateStyleNames" type="s:ST_OnOff"/> + <xsd:attribute name="val" type="ST_ShortHexNumber"/> + </xsd:complexType> + <xsd:simpleType name="ST_StyleSort"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="name"/> + <xsd:enumeration value="priority"/> + <xsd:enumeration value="default"/> + <xsd:enumeration value="font"/> + <xsd:enumeration value="basedOn"/> + <xsd:enumeration value="type"/> + <xsd:enumeration value="0000"/> + <xsd:enumeration value="0001"/> + <xsd:enumeration value="0002"/> + <xsd:enumeration value="0003"/> + <xsd:enumeration value="0004"/> + <xsd:enumeration value="0005"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_WebSettings"> + <xsd:sequence> + <xsd:element name="frameset" type="CT_Frameset" minOccurs="0"/> + <xsd:element name="divs" type="CT_Divs" minOccurs="0"/> + <xsd:element name="encoding" type="CT_String" minOccurs="0"/> + <xsd:element name="optimizeForBrowser" type="CT_OptimizeForBrowser" minOccurs="0"/> + <xsd:element name="relyOnVML" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="allowPNG" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotRelyOnCSS" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotSaveAsSingleFile" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotOrganizeInFolder" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="doNotUseLongFileNames" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="pixelsPerInch" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="targetScreenSz" type="CT_TargetScreenSz" minOccurs="0"/> + <xsd:element name="saveSmartTagsAsXml" type="CT_OnOff" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_FrameScrollbar"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="on"/> + <xsd:enumeration value="off"/> + <xsd:enumeration value="auto"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FrameScrollbar"> + <xsd:attribute name="val" type="ST_FrameScrollbar" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_OptimizeForBrowser"> + <xsd:complexContent> + <xsd:extension base="CT_OnOff"> + <xsd:attribute name="target" type="s:ST_String" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Frame"> + <xsd:sequence> + <xsd:element name="sz" type="CT_String" minOccurs="0"/> + <xsd:element name="name" type="CT_String" minOccurs="0"/> + <xsd:element name="title" type="CT_String" minOccurs="0"/> + <xsd:element name="longDesc" type="CT_Rel" minOccurs="0"/> + <xsd:element name="sourceFileName" type="CT_Rel" minOccurs="0"/> + <xsd:element name="marW" type="CT_PixelsMeasure" minOccurs="0"/> + <xsd:element name="marH" type="CT_PixelsMeasure" minOccurs="0"/> + <xsd:element name="scrollbar" type="CT_FrameScrollbar" minOccurs="0"/> + <xsd:element name="noResizeAllowed" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="linkedToFile" type="CT_OnOff" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_FrameLayout"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="rows"/> + <xsd:enumeration value="cols"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FrameLayout"> + <xsd:attribute name="val" type="ST_FrameLayout" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FramesetSplitbar"> + <xsd:sequence> + <xsd:element name="w" type="CT_TwipsMeasure" minOccurs="0"/> + <xsd:element name="color" type="CT_Color" minOccurs="0"/> + <xsd:element name="noBorder" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="flatBorders" type="CT_OnOff" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Frameset"> + <xsd:sequence> + <xsd:element name="sz" type="CT_String" minOccurs="0"/> + <xsd:element name="framesetSplitbar" type="CT_FramesetSplitbar" minOccurs="0"/> + <xsd:element name="frameLayout" type="CT_FrameLayout" minOccurs="0"/> + <xsd:element name="title" type="CT_String" minOccurs="0"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="frameset" type="CT_Frameset" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="frame" type="CT_Frame" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_NumPicBullet"> + <xsd:choice> + <xsd:element name="pict" type="CT_Picture"/> + <xsd:element name="drawing" type="CT_Drawing"/> + </xsd:choice> + <xsd:attribute name="numPicBulletId" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_LevelSuffix"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="tab"/> + <xsd:enumeration value="space"/> + <xsd:enumeration value="nothing"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LevelSuffix"> + <xsd:attribute name="val" type="ST_LevelSuffix" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_LevelText"> + <xsd:attribute name="val" type="s:ST_String" use="optional"/> + <xsd:attribute name="null" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_LvlLegacy"> + <xsd:attribute name="legacy" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="legacySpace" type="s:ST_TwipsMeasure" use="optional"/> + <xsd:attribute name="legacyIndent" type="ST_SignedTwipsMeasure" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_Lvl"> + <xsd:sequence> + <xsd:element name="start" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0"/> + <xsd:element name="lvlRestart" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="pStyle" type="CT_String" minOccurs="0"/> + <xsd:element name="isLgl" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="suff" type="CT_LevelSuffix" minOccurs="0"/> + <xsd:element name="lvlText" type="CT_LevelText" minOccurs="0"/> + <xsd:element name="lvlPicBulletId" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="legacy" type="CT_LvlLegacy" minOccurs="0"/> + <xsd:element name="lvlJc" type="CT_Jc" minOccurs="0"/> + <xsd:element name="pPr" type="CT_PPrGeneral" minOccurs="0"/> + <xsd:element name="rPr" type="CT_RPr" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="ilvl" type="ST_DecimalNumber" use="required"/> + <xsd:attribute name="tplc" type="ST_LongHexNumber" use="optional"/> + <xsd:attribute name="tentative" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_MultiLevelType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="singleLevel"/> + <xsd:enumeration value="multilevel"/> + <xsd:enumeration value="hybridMultilevel"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_MultiLevelType"> + <xsd:attribute name="val" type="ST_MultiLevelType" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_AbstractNum"> + <xsd:sequence> + <xsd:element name="nsid" type="CT_LongHexNumber" minOccurs="0"/> + <xsd:element name="multiLevelType" type="CT_MultiLevelType" minOccurs="0"/> + <xsd:element name="tmpl" type="CT_LongHexNumber" minOccurs="0"/> + <xsd:element name="name" type="CT_String" minOccurs="0"/> + <xsd:element name="styleLink" type="CT_String" minOccurs="0"/> + <xsd:element name="numStyleLink" type="CT_String" minOccurs="0"/> + <xsd:element name="lvl" type="CT_Lvl" minOccurs="0" maxOccurs="9"/> + </xsd:sequence> + <xsd:attribute name="abstractNumId" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_NumLvl"> + <xsd:sequence> + <xsd:element name="startOverride" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="lvl" type="CT_Lvl" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="ilvl" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Num"> + <xsd:sequence> + <xsd:element name="abstractNumId" type="CT_DecimalNumber" minOccurs="1"/> + <xsd:element name="lvlOverride" type="CT_NumLvl" minOccurs="0" maxOccurs="9"/> + </xsd:sequence> + <xsd:attribute name="numId" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Numbering"> + <xsd:sequence> + <xsd:element name="numPicBullet" type="CT_NumPicBullet" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="abstractNum" type="CT_AbstractNum" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="num" type="CT_Num" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="numIdMacAtCleanup" type="CT_DecimalNumber" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_TblStyleOverrideType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="wholeTable"/> + <xsd:enumeration value="firstRow"/> + <xsd:enumeration value="lastRow"/> + <xsd:enumeration value="firstCol"/> + <xsd:enumeration value="lastCol"/> + <xsd:enumeration value="band1Vert"/> + <xsd:enumeration value="band2Vert"/> + <xsd:enumeration value="band1Horz"/> + <xsd:enumeration value="band2Horz"/> + <xsd:enumeration value="neCell"/> + <xsd:enumeration value="nwCell"/> + <xsd:enumeration value="seCell"/> + <xsd:enumeration value="swCell"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_TblStylePr"> + <xsd:sequence> + <xsd:element name="pPr" type="CT_PPrGeneral" minOccurs="0"/> + <xsd:element name="rPr" type="CT_RPr" minOccurs="0"/> + <xsd:element name="tblPr" type="CT_TblPrBase" minOccurs="0"/> + <xsd:element name="trPr" type="CT_TrPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tcPr" type="CT_TcPr" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_TblStyleOverrideType" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_StyleType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="paragraph"/> + <xsd:enumeration value="character"/> + <xsd:enumeration value="table"/> + <xsd:enumeration value="numbering"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Style"> + <xsd:sequence> + <xsd:element name="name" type="CT_String" minOccurs="0" maxOccurs="1"/> + <xsd:element name="aliases" type="CT_String" minOccurs="0"/> + <xsd:element name="basedOn" type="CT_String" minOccurs="0"/> + <xsd:element name="next" type="CT_String" minOccurs="0"/> + <xsd:element name="link" type="CT_String" minOccurs="0"/> + <xsd:element name="autoRedefine" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="hidden" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="uiPriority" type="CT_DecimalNumber" minOccurs="0"/> + <xsd:element name="semiHidden" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="unhideWhenUsed" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="qFormat" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="locked" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="personal" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="personalCompose" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="personalReply" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="rsid" type="CT_LongHexNumber" minOccurs="0"/> + <xsd:element name="pPr" type="CT_PPrGeneral" minOccurs="0" maxOccurs="1"/> + <xsd:element name="rPr" type="CT_RPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblPr" type="CT_TblPrBase" minOccurs="0" maxOccurs="1"/> + <xsd:element name="trPr" type="CT_TrPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tcPr" type="CT_TcPr" minOccurs="0" maxOccurs="1"/> + <xsd:element name="tblStylePr" type="CT_TblStylePr" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="type" type="ST_StyleType" use="optional"/> + <xsd:attribute name="styleId" type="s:ST_String" use="optional"/> + <xsd:attribute name="default" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="customStyle" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_LsdException"> + <xsd:attribute name="name" type="s:ST_String" use="required"/> + <xsd:attribute name="locked" type="s:ST_OnOff"/> + <xsd:attribute name="uiPriority" type="ST_DecimalNumber"/> + <xsd:attribute name="semiHidden" type="s:ST_OnOff"/> + <xsd:attribute name="unhideWhenUsed" type="s:ST_OnOff"/> + <xsd:attribute name="qFormat" type="s:ST_OnOff"/> + </xsd:complexType> + <xsd:complexType name="CT_LatentStyles"> + <xsd:sequence> + <xsd:element name="lsdException" type="CT_LsdException" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="defLockedState" type="s:ST_OnOff"/> + <xsd:attribute name="defUIPriority" type="ST_DecimalNumber"/> + <xsd:attribute name="defSemiHidden" type="s:ST_OnOff"/> + <xsd:attribute name="defUnhideWhenUsed" type="s:ST_OnOff"/> + <xsd:attribute name="defQFormat" type="s:ST_OnOff"/> + <xsd:attribute name="count" type="ST_DecimalNumber"/> + </xsd:complexType> + <xsd:complexType name="CT_Styles"> + <xsd:sequence> + <xsd:element name="docDefaults" type="CT_DocDefaults" minOccurs="0"/> + <xsd:element name="latentStyles" type="CT_LatentStyles" minOccurs="0" maxOccurs="1"/> + <xsd:element name="style" type="CT_Style" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Panose"> + <xsd:attribute name="val" type="s:ST_Panose" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_FontFamily"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="decorative"/> + <xsd:enumeration value="modern"/> + <xsd:enumeration value="roman"/> + <xsd:enumeration value="script"/> + <xsd:enumeration value="swiss"/> + <xsd:enumeration value="auto"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_FontFamily"> + <xsd:attribute name="val" type="ST_FontFamily" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_Pitch"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="fixed"/> + <xsd:enumeration value="variable"/> + <xsd:enumeration value="default"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Pitch"> + <xsd:attribute name="val" type="ST_Pitch" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FontSig"> + <xsd:attribute name="usb0" use="required" type="ST_LongHexNumber"/> + <xsd:attribute name="usb1" use="required" type="ST_LongHexNumber"/> + <xsd:attribute name="usb2" use="required" type="ST_LongHexNumber"/> + <xsd:attribute name="usb3" use="required" type="ST_LongHexNumber"/> + <xsd:attribute name="csb0" use="required" type="ST_LongHexNumber"/> + <xsd:attribute name="csb1" use="required" type="ST_LongHexNumber"/> + </xsd:complexType> + <xsd:complexType name="CT_FontRel"> + <xsd:complexContent> + <xsd:extension base="CT_Rel"> + <xsd:attribute name="fontKey" type="s:ST_Guid"/> + <xsd:attribute name="subsetted" type="s:ST_OnOff"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_Font"> + <xsd:sequence> + <xsd:element name="altName" type="CT_String" minOccurs="0" maxOccurs="1"/> + <xsd:element name="panose1" type="CT_Panose" minOccurs="0" maxOccurs="1"/> + <xsd:element name="charset" type="CT_Charset" minOccurs="0" maxOccurs="1"/> + <xsd:element name="family" type="CT_FontFamily" minOccurs="0" maxOccurs="1"/> + <xsd:element name="notTrueType" type="CT_OnOff" minOccurs="0" maxOccurs="1"/> + <xsd:element name="pitch" type="CT_Pitch" minOccurs="0" maxOccurs="1"/> + <xsd:element name="sig" type="CT_FontSig" minOccurs="0" maxOccurs="1"/> + <xsd:element name="embedRegular" type="CT_FontRel" minOccurs="0" maxOccurs="1"/> + <xsd:element name="embedBold" type="CT_FontRel" minOccurs="0" maxOccurs="1"/> + <xsd:element name="embedItalic" type="CT_FontRel" minOccurs="0" maxOccurs="1"/> + <xsd:element name="embedBoldItalic" type="CT_FontRel" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_FontsList"> + <xsd:sequence> + <xsd:element name="font" type="CT_Font" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DivBdr"> + <xsd:sequence> + <xsd:element name="top" type="CT_Border" minOccurs="0"/> + <xsd:element name="left" type="CT_Border" minOccurs="0"/> + <xsd:element name="bottom" type="CT_Border" minOccurs="0"/> + <xsd:element name="right" type="CT_Border" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Div"> + <xsd:sequence> + <xsd:element name="blockQuote" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="bodyDiv" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="marLeft" type="CT_SignedTwipsMeasure"/> + <xsd:element name="marRight" type="CT_SignedTwipsMeasure"/> + <xsd:element name="marTop" type="CT_SignedTwipsMeasure"/> + <xsd:element name="marBottom" type="CT_SignedTwipsMeasure"/> + <xsd:element name="divBdr" type="CT_DivBdr" minOccurs="0"/> + <xsd:element name="divsChild" type="CT_Divs" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Divs"> + <xsd:sequence minOccurs="1" maxOccurs="unbounded"> + <xsd:element name="div" type="CT_Div"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TxbxContent"> + <xsd:group ref="EG_BlockLevelElts" minOccurs="1" maxOccurs="unbounded"/> + </xsd:complexType> + <xsd:element name="txbxContent" type="CT_TxbxContent"/> + <xsd:group name="EG_MathContent"> + <xsd:choice> + <xsd:element ref="m:oMathPara"/> + <xsd:element ref="m:oMath"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_BlockLevelChunkElts"> + <xsd:choice> + <xsd:group ref="EG_ContentBlockContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_BlockLevelElts"> + <xsd:choice> + <xsd:group ref="EG_BlockLevelChunkElts" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="altChunk" type="CT_AltChunk" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:group name="EG_RunLevelElts"> + <xsd:choice> + <xsd:element name="proofErr" minOccurs="0" type="CT_ProofErr"/> + <xsd:element name="permStart" minOccurs="0" type="CT_PermStart"/> + <xsd:element name="permEnd" minOccurs="0" type="CT_Perm"/> + <xsd:group ref="EG_RangeMarkupElements" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ins" type="CT_RunTrackChange" minOccurs="0"/> + <xsd:element name="del" type="CT_RunTrackChange" minOccurs="0"/> + <xsd:element name="moveFrom" type="CT_RunTrackChange"/> + <xsd:element name="moveTo" type="CT_RunTrackChange"/> + <xsd:group ref="EG_MathContent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_Body"> + <xsd:sequence> + <xsd:group ref="EG_BlockLevelElts" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="sectPr" minOccurs="0" maxOccurs="1" type="CT_SectPr"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_ShapeDefaults"> + <xsd:choice maxOccurs="unbounded"> + <xsd:any processContents="lax" namespace="urn:schemas-microsoft-com:office:office" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:complexType> + <xsd:complexType name="CT_Comments"> + <xsd:sequence> + <xsd:element name="comment" type="CT_Comment" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="comments" type="CT_Comments"/> + <xsd:complexType name="CT_Footnotes"> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element name="footnote" type="CT_FtnEdn" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="footnotes" type="CT_Footnotes"/> + <xsd:complexType name="CT_Endnotes"> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element name="endnote" type="CT_FtnEdn" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="endnotes" type="CT_Endnotes"/> + <xsd:element name="hdr" type="CT_HdrFtr"/> + <xsd:element name="ftr" type="CT_HdrFtr"/> + <xsd:complexType name="CT_SmartTagType"> + <xsd:attribute name="namespaceuri" type="s:ST_String"/> + <xsd:attribute name="name" type="s:ST_String"/> + <xsd:attribute name="url" type="s:ST_String"/> + </xsd:complexType> + <xsd:simpleType name="ST_ThemeColor"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="dark1"/> + <xsd:enumeration value="light1"/> + <xsd:enumeration value="dark2"/> + <xsd:enumeration value="light2"/> + <xsd:enumeration value="accent1"/> + <xsd:enumeration value="accent2"/> + <xsd:enumeration value="accent3"/> + <xsd:enumeration value="accent4"/> + <xsd:enumeration value="accent5"/> + <xsd:enumeration value="accent6"/> + <xsd:enumeration value="hyperlink"/> + <xsd:enumeration value="followedHyperlink"/> + <xsd:enumeration value="none"/> + <xsd:enumeration value="background1"/> + <xsd:enumeration value="text1"/> + <xsd:enumeration value="background2"/> + <xsd:enumeration value="text2"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_DocPartBehavior"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="content"/> + <xsd:enumeration value="p"/> + <xsd:enumeration value="pg"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DocPartBehavior"> + <xsd:attribute name="val" use="required" type="ST_DocPartBehavior"/> + </xsd:complexType> + <xsd:complexType name="CT_DocPartBehaviors"> + <xsd:choice> + <xsd:element name="behavior" type="CT_DocPartBehavior" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="ST_DocPartType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="normal"/> + <xsd:enumeration value="autoExp"/> + <xsd:enumeration value="toolbar"/> + <xsd:enumeration value="speller"/> + <xsd:enumeration value="formFld"/> + <xsd:enumeration value="bbPlcHdr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DocPartType"> + <xsd:attribute name="val" use="required" type="ST_DocPartType"/> + </xsd:complexType> + <xsd:complexType name="CT_DocPartTypes"> + <xsd:choice> + <xsd:element name="type" type="CT_DocPartType" maxOccurs="unbounded"/> + </xsd:choice> + <xsd:attribute name="all" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_DocPartGallery"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="placeholder"/> + <xsd:enumeration value="any"/> + <xsd:enumeration value="default"/> + <xsd:enumeration value="docParts"/> + <xsd:enumeration value="coverPg"/> + <xsd:enumeration value="eq"/> + <xsd:enumeration value="ftrs"/> + <xsd:enumeration value="hdrs"/> + <xsd:enumeration value="pgNum"/> + <xsd:enumeration value="tbls"/> + <xsd:enumeration value="watermarks"/> + <xsd:enumeration value="autoTxt"/> + <xsd:enumeration value="txtBox"/> + <xsd:enumeration value="pgNumT"/> + <xsd:enumeration value="pgNumB"/> + <xsd:enumeration value="pgNumMargins"/> + <xsd:enumeration value="tblOfContents"/> + <xsd:enumeration value="bib"/> + <xsd:enumeration value="custQuickParts"/> + <xsd:enumeration value="custCoverPg"/> + <xsd:enumeration value="custEq"/> + <xsd:enumeration value="custFtrs"/> + <xsd:enumeration value="custHdrs"/> + <xsd:enumeration value="custPgNum"/> + <xsd:enumeration value="custTbls"/> + <xsd:enumeration value="custWatermarks"/> + <xsd:enumeration value="custAutoTxt"/> + <xsd:enumeration value="custTxtBox"/> + <xsd:enumeration value="custPgNumT"/> + <xsd:enumeration value="custPgNumB"/> + <xsd:enumeration value="custPgNumMargins"/> + <xsd:enumeration value="custTblOfContents"/> + <xsd:enumeration value="custBib"/> + <xsd:enumeration value="custom1"/> + <xsd:enumeration value="custom2"/> + <xsd:enumeration value="custom3"/> + <xsd:enumeration value="custom4"/> + <xsd:enumeration value="custom5"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_DocPartGallery"> + <xsd:attribute name="val" type="ST_DocPartGallery" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_DocPartCategory"> + <xsd:sequence> + <xsd:element name="name" type="CT_String" minOccurs="1" maxOccurs="1"/> + <xsd:element name="gallery" type="CT_DocPartGallery" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DocPartName"> + <xsd:attribute name="val" type="s:ST_String" use="required"/> + <xsd:attribute name="decorated" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_DocPartPr"> + <xsd:all> + <xsd:element name="name" type="CT_DocPartName" minOccurs="1"/> + <xsd:element name="style" type="CT_String" minOccurs="0"/> + <xsd:element name="category" type="CT_DocPartCategory" minOccurs="0"/> + <xsd:element name="types" type="CT_DocPartTypes" minOccurs="0"/> + <xsd:element name="behaviors" type="CT_DocPartBehaviors" minOccurs="0"/> + <xsd:element name="description" type="CT_String" minOccurs="0"/> + <xsd:element name="guid" type="CT_Guid" minOccurs="0"/> + </xsd:all> + </xsd:complexType> + <xsd:complexType name="CT_DocPart"> + <xsd:sequence> + <xsd:element name="docPartPr" type="CT_DocPartPr" minOccurs="0"/> + <xsd:element name="docPartBody" type="CT_Body" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DocParts"> + <xsd:choice> + <xsd:element name="docPart" type="CT_DocPart" minOccurs="1" maxOccurs="unbounded"/> + </xsd:choice> + </xsd:complexType> + <xsd:element name="settings" type="CT_Settings"/> + <xsd:element name="webSettings" type="CT_WebSettings"/> + <xsd:element name="fonts" type="CT_FontsList"/> + <xsd:element name="numbering" type="CT_Numbering"/> + <xsd:element name="styles" type="CT_Styles"/> + <xsd:simpleType name="ST_CaptionPos"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="above"/> + <xsd:enumeration value="below"/> + <xsd:enumeration value="left"/> + <xsd:enumeration value="right"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Caption"> + <xsd:attribute name="name" type="s:ST_String" use="required"/> + <xsd:attribute name="pos" type="ST_CaptionPos" use="optional"/> + <xsd:attribute name="chapNum" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="heading" type="ST_DecimalNumber" use="optional"/> + <xsd:attribute name="noLabel" type="s:ST_OnOff" use="optional"/> + <xsd:attribute name="numFmt" type="ST_NumberFormat" use="optional"/> + <xsd:attribute name="sep" type="ST_ChapterSep" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_AutoCaption"> + <xsd:attribute name="name" type="s:ST_String" use="required"/> + <xsd:attribute name="caption" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_AutoCaptions"> + <xsd:sequence> + <xsd:element name="autoCaption" type="CT_AutoCaption" minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Captions"> + <xsd:sequence> + <xsd:element name="caption" type="CT_Caption" minOccurs="1" maxOccurs="unbounded"/> + <xsd:element name="autoCaptions" type="CT_AutoCaptions" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_DocumentBase"> + <xsd:sequence> + <xsd:element name="background" type="CT_Background" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Document"> + <xsd:complexContent> + <xsd:extension base="CT_DocumentBase"> + <xsd:sequence> + <xsd:element name="body" type="CT_Body" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="conformance" type="s:ST_ConformanceClass"/> + <xsd:attribute ref="mc:Ignorable" use="optional" /> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:complexType name="CT_GlossaryDocument"> + <xsd:complexContent> + <xsd:extension base="CT_DocumentBase"> + <xsd:sequence> + <xsd:element name="docParts" type="CT_DocParts" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + <xsd:element name="document" type="CT_Document"/> + <xsd:element name="glossaryDocument" type="CT_GlossaryDocument"/> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd new file mode 100755 index 0000000..0f13678 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd @@ -0,0 +1,116 @@ +<?xml version='1.0'?> +<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en"> + + <xs:annotation> + <xs:documentation> + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. + + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + + Note that local names in this namespace are intended to be defined + only by the World Wide Web Consortium or its subgroups. The + following names are currently defined in this namespace and should + not be used with conflicting semantics by any Working Group, + specification, or document instance: + + base (as an attribute name): denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification. + + lang (as an attribute name): denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification. + + space (as an attribute name): denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification. + + Father (in any context at all): denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + + In appreciation for his vision, leadership and dedication + the W3C XML Plenary on this 10th day of February, 2000 + reserves for Jon Bosak in perpetuity the XML name + xml:Father + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation>This schema defines attributes and an attribute group + suitable for use by + schemas wishing to allow xml:base, xml:lang or xml:space attributes + on elements they define. + + To enable this, such a schema must import this schema + for the XML namespace, e.g. as follows: + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> + + Subsequently, qualified reference to any of the attributes + or the group defined below will have the desired effect, e.g. + + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + + will define a type which will schema-validate an instance + element with any of those attributes</xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation>In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + http://www.w3.org/2001/03/xml.xsd. + At the date of issue it can also be found at + http://www.w3.org/2001/xml.xsd. + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML Schema + itself. In other words, if the XML Schema namespace changes, the version + of this document at + http://www.w3.org/2001/xml.xsd will change + accordingly; the version at + http://www.w3.org/2001/03/xml.xsd will not change. + </xs:documentation> + </xs:annotation> + + <xs:attribute name="lang" type="xs:language"> + <xs:annotation> + <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter + codes as the enumerated possible values . . .</xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="space" default="preserve"> + <xs:simpleType> + <xs:restriction base="xs:NCName"> + <xs:enumeration value="default"/> + <xs:enumeration value="preserve"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="base" type="xs:anyURI"> + <xs:annotation> + <xs:documentation>See http://www.w3.org/TR/xmlbase/ for + information about this attribute.</xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attributeGroup name="specialAttrs"> + <xs:attribute ref="xml:base"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute ref="xml:space"/> + </xs:attributeGroup> + +</xs:schema> diff --git a/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd b/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd new file mode 100755 index 0000000..a6de9d2 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<xs:schema xmlns="http://schemas.openxmlformats.org/package/2006/content-types" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://schemas.openxmlformats.org/package/2006/content-types" + elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all"> + + <xs:element name="Types" type="CT_Types"/> + <xs:element name="Default" type="CT_Default"/> + <xs:element name="Override" type="CT_Override"/> + + <xs:complexType name="CT_Types"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="Default"/> + <xs:element ref="Override"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="CT_Default"> + <xs:attribute name="Extension" type="ST_Extension" use="required"/> + <xs:attribute name="ContentType" type="ST_ContentType" use="required"/> + </xs:complexType> + + <xs:complexType name="CT_Override"> + <xs:attribute name="ContentType" type="ST_ContentType" use="required"/> + <xs:attribute name="PartName" type="xs:anyURI" use="required"/> + </xs:complexType> + + <xs:simpleType name="ST_ContentType"> + <xs:restriction base="xs:string"> + <xs:pattern + value="(((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)" + /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ST_Extension"> + <xs:restriction base="xs:string"> + <xs:pattern + value="([!$&'\(\)\*\+,:=]|(%[0-9a-fA-F][0-9a-fA-F])|[:@]|[a-zA-Z0-9\-_~])+"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> diff --git a/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd b/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd new file mode 100755 index 0000000..10e978b --- /dev/null +++ b/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" + xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" + xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:dcterms="http://purl.org/dc/terms/" elementFormDefault="qualified" blockDefault="#all"> + + <xs:import namespace="http://purl.org/dc/elements/1.1/" + schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd"/> + <xs:import namespace="http://purl.org/dc/terms/" + schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd"/> + <xs:import id="xml" namespace="http://www.w3.org/XML/1998/namespace"/> + + <xs:element name="coreProperties" type="CT_CoreProperties"/> + + <xs:complexType name="CT_CoreProperties"> + <xs:all> + <xs:element name="category" minOccurs="0" maxOccurs="1" type="xs:string"/> + <xs:element name="contentStatus" minOccurs="0" maxOccurs="1" type="xs:string"/> + <xs:element ref="dcterms:created" minOccurs="0" maxOccurs="1"/> + <xs:element ref="dc:creator" minOccurs="0" maxOccurs="1"/> + <xs:element ref="dc:description" minOccurs="0" maxOccurs="1"/> + <xs:element ref="dc:identifier" minOccurs="0" maxOccurs="1"/> + <xs:element name="keywords" minOccurs="0" maxOccurs="1" type="CT_Keywords"/> + <xs:element ref="dc:language" minOccurs="0" maxOccurs="1"/> + <xs:element name="lastModifiedBy" minOccurs="0" maxOccurs="1" type="xs:string"/> + <xs:element name="lastPrinted" minOccurs="0" maxOccurs="1" type="xs:dateTime"/> + <xs:element ref="dcterms:modified" minOccurs="0" maxOccurs="1"/> + <xs:element name="revision" minOccurs="0" maxOccurs="1" type="xs:string"/> + <xs:element ref="dc:subject" minOccurs="0" maxOccurs="1"/> + <xs:element ref="dc:title" minOccurs="0" maxOccurs="1"/> + <xs:element name="version" minOccurs="0" maxOccurs="1" type="xs:string"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="CT_Keywords" mixed="true"> + <xs:sequence> + <xs:element name="value" minOccurs="0" maxOccurs="unbounded" type="CT_Keyword"/> + </xs:sequence> + <xs:attribute ref="xml:lang" use="optional"/> + </xs:complexType> + + <xs:complexType name="CT_Keyword"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute ref="xml:lang" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + +</xs:schema> diff --git a/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd b/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd new file mode 100755 index 0000000..4248bf7 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns="http://schemas.openxmlformats.org/package/2006/digital-signature" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://schemas.openxmlformats.org/package/2006/digital-signature" + elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all"> + + <xsd:element name="SignatureTime" type="CT_SignatureTime"/> + <xsd:element name="RelationshipReference" type="CT_RelationshipReference"/> + <xsd:element name="RelationshipsGroupReference" type="CT_RelationshipsGroupReference"/> + + <xsd:complexType name="CT_SignatureTime"> + <xsd:sequence> + <xsd:element name="Format" type="ST_Format"/> + <xsd:element name="Value" type="ST_Value"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="CT_RelationshipReference"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="SourceId" type="xsd:string" use="required"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + <xsd:complexType name="CT_RelationshipsGroupReference"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="SourceType" type="xsd:anyURI" use="required"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + <xsd:simpleType name="ST_Format"> + <xsd:restriction base="xsd:string"> + <xsd:pattern + value="(YYYY)|(YYYY-MM)|(YYYY-MM-DD)|(YYYY-MM-DDThh:mmTZD)|(YYYY-MM-DDThh:mm:ssTZD)|(YYYY-MM-DDThh:mm:ss.sTZD)" + /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="ST_Value"> + <xsd:restriction base="xsd:string"> + <xsd:pattern + value="(([0-9][0-9][0-9][0-9]))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2))))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1))))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])):(((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))\.[0-9])(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))" + /> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd b/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd new file mode 100755 index 0000000..5649746 --- /dev/null +++ b/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<xsd:schema xmlns="http://schemas.openxmlformats.org/package/2006/relationships" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://schemas.openxmlformats.org/package/2006/relationships" + elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all"> + + <xsd:element name="Relationships" type="CT_Relationships"/> + <xsd:element name="Relationship" type="CT_Relationship"/> + + <xsd:complexType name="CT_Relationships"> + <xsd:sequence> + <xsd:element ref="Relationship" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="CT_Relationship"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="TargetMode" type="ST_TargetMode" use="optional"/> + <xsd:attribute name="Target" type="xsd:anyURI" use="required"/> + <xsd:attribute name="Type" type="xsd:anyURI" use="required"/> + <xsd:attribute name="Id" type="xsd:ID" use="required"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + <xsd:simpleType name="ST_TargetMode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="External"/> + <xsd:enumeration value="Internal"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/mce/mc.xsd b/skills/ppt/ooxml/schemas/mce/mc.xsd new file mode 100755 index 0000000..ef72545 --- /dev/null +++ b/skills/ppt/ooxml/schemas/mce/mc.xsd @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsd:schema xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + attributeFormDefault="unqualified" elementFormDefault="qualified" + targetNamespace="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <!-- + This XSD is a modified version of the one found at: + https://github.com/plutext/docx4j/blob/master/xsd/mce/markup-compatibility-2006-MINIMAL.xsd + + This XSD has 2 objectives: + + 1. round tripping @mc:Ignorable + + <w:document + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" + mc:Ignorable="w14 w15 wp14"> + + 2. enabling AlternateContent to be manipulated in certain elements + (in the unusual case where the content model is xsd:any, it doesn't have to be explicitly added) + + See further ECMA-376, 4th Edition, Office Open XML File Formats + Part 3 : Markup Compatibility and Extensibility + --> + + <!-- Objective 1 --> + <xsd:attribute name="Ignorable" type="xsd:string" /> + + <!-- Objective 2 --> + <xsd:attribute name="MustUnderstand" type="xsd:string" /> + <xsd:attribute name="ProcessContent" type="xsd:string" /> + +<!-- An AlternateContent element shall contain one or more Choice child elements, optionally followed by a +Fallback child element. If present, there shall be only one Fallback element, and it shall follow all Choice +elements. --> + <xsd:element name="AlternateContent"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Choice" minOccurs="0" maxOccurs="unbounded"> + <xsd:complexType> + <xsd:sequence> + <xsd:any minOccurs="0" maxOccurs="unbounded" + processContents="strict"> + </xsd:any> + </xsd:sequence> + <xsd:attribute name="Requires" type="xsd:string" use="required" /> + <xsd:attribute ref="mc:Ignorable" use="optional" /> + <xsd:attribute ref="mc:MustUnderstand" use="optional" /> + <xsd:attribute ref="mc:ProcessContent" use="optional" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="Fallback" minOccurs="0" maxOccurs="1"> + <xsd:complexType> + <xsd:sequence> + <xsd:any minOccurs="0" maxOccurs="unbounded" + processContents="strict"> + </xsd:any> + </xsd:sequence> + <xsd:attribute ref="mc:Ignorable" use="optional" /> + <xsd:attribute ref="mc:MustUnderstand" use="optional" /> + <xsd:attribute ref="mc:ProcessContent" use="optional" /> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <!-- AlternateContent elements might include the attributes Ignorable, + MustUnderstand and ProcessContent described in this Part of ECMA-376. These + attributes’ qualified names shall be prefixed when associated with an AlternateContent + element. --> + <xsd:attribute ref="mc:Ignorable" use="optional" /> + <xsd:attribute ref="mc:MustUnderstand" use="optional" /> + <xsd:attribute ref="mc:ProcessContent" use="optional" /> + </xsd:complexType> + </xsd:element> +</xsd:schema> diff --git a/skills/ppt/ooxml/schemas/microsoft/wml-2010.xsd b/skills/ppt/ooxml/schemas/microsoft/wml-2010.xsd new file mode 100755 index 0000000..f65f777 --- /dev/null +++ b/skills/ppt/ooxml/schemas/microsoft/wml-2010.xsd @@ -0,0 +1,560 @@ + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:w12="http://schemas.openxmlformats.org/wordprocessingml/2006/main" elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns="http://schemas.microsoft.com/office/word/2010/wordml" targetNamespace="http://schemas.microsoft.com/office/word/2010/wordml"> + <!-- <xsd:import id="rel" namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" schemaLocation="orel.xsd"/> --> + <xsd:import id="w" namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" schemaLocation="../ISO-IEC29500-4_2016/wml.xsd"/> + <!-- <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" schemaLocation="oartbasetypes.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main" schemaLocation="oartsplineproperties.xsd"/> --> + <xsd:complexType name="CT_LongHexNumber"> + <xsd:attribute name="val" type="w:ST_LongHexNumber" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_OnOff"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="true"/> + <xsd:enumeration value="false"/> + <xsd:enumeration value="0"/> + <xsd:enumeration value="1"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_OnOff"> + <xsd:attribute name="val" type="ST_OnOff"/> + </xsd:complexType> + <xsd:element name="docId" type="CT_LongHexNumber"/> + <xsd:element name="conflictMode" type="CT_OnOff"/> + <xsd:attributeGroup name="AG_Parids"> + <xsd:attribute name="paraId" type="w:ST_LongHexNumber"/> + <xsd:attribute name="textId" type="w:ST_LongHexNumber"/> + </xsd:attributeGroup> + <xsd:attribute name="anchorId" type="w:ST_LongHexNumber"/> + <xsd:attribute name="noSpellErr" type="ST_OnOff"/> + <xsd:element name="customXmlConflictInsRangeStart" type="w:CT_TrackChange"/> + <xsd:element name="customXmlConflictInsRangeEnd" type="w:CT_Markup"/> + <xsd:element name="customXmlConflictDelRangeStart" type="w:CT_TrackChange"/> + <xsd:element name="customXmlConflictDelRangeEnd" type="w:CT_Markup"/> + <xsd:group name="EG_RunLevelConflicts"> + <xsd:sequence> + <xsd:element name="conflictIns" type="w:CT_RunTrackChange" minOccurs="0"/> + <xsd:element name="conflictDel" type="w:CT_RunTrackChange" minOccurs="0"/> + </xsd:sequence> + </xsd:group> + <xsd:group name="EG_Conflicts"> + <xsd:choice> + <xsd:element name="conflictIns" type="w:CT_TrackChange" minOccurs="0"/> + <xsd:element name="conflictDel" type="w:CT_TrackChange" minOccurs="0"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_Percentage"> + <xsd:attribute name="val" type="a:ST_Percentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PositiveFixedPercentage"> + <xsd:attribute name="val" type="a:ST_PositiveFixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_PositivePercentage"> + <xsd:attribute name="val" type="a:ST_PositivePercentage" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_SchemeColorVal"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="bg1"/> + <xsd:enumeration value="tx1"/> + <xsd:enumeration value="bg2"/> + <xsd:enumeration value="tx2"/> + <xsd:enumeration value="accent1"/> + <xsd:enumeration value="accent2"/> + <xsd:enumeration value="accent3"/> + <xsd:enumeration value="accent4"/> + <xsd:enumeration value="accent5"/> + <xsd:enumeration value="accent6"/> + <xsd:enumeration value="hlink"/> + <xsd:enumeration value="folHlink"/> + <xsd:enumeration value="dk1"/> + <xsd:enumeration value="lt1"/> + <xsd:enumeration value="dk2"/> + <xsd:enumeration value="lt2"/> + <xsd:enumeration value="phClr"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_RectAlignment"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="tl"/> + <xsd:enumeration value="t"/> + <xsd:enumeration value="tr"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="bl"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="br"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PathShadeType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="shape"/> + <xsd:enumeration value="circle"/> + <xsd:enumeration value="rect"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LineCap"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="rnd"/> + <xsd:enumeration value="sq"/> + <xsd:enumeration value="flat"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PresetLineDashVal"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="solid"/> + <xsd:enumeration value="dot"/> + <xsd:enumeration value="sysDot"/> + <xsd:enumeration value="dash"/> + <xsd:enumeration value="sysDash"/> + <xsd:enumeration value="lgDash"/> + <xsd:enumeration value="dashDot"/> + <xsd:enumeration value="sysDashDot"/> + <xsd:enumeration value="lgDashDot"/> + <xsd:enumeration value="lgDashDotDot"/> + <xsd:enumeration value="sysDashDotDot"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_PenAlignment"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="ctr"/> + <xsd:enumeration value="in"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_CompoundLine"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="sng"/> + <xsd:enumeration value="dbl"/> + <xsd:enumeration value="thickThin"/> + <xsd:enumeration value="thinThick"/> + <xsd:enumeration value="tri"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_RelativeRect"> + <xsd:attribute name="l" use="optional" type="a:ST_Percentage"/> + <xsd:attribute name="t" use="optional" type="a:ST_Percentage"/> + <xsd:attribute name="r" use="optional" type="a:ST_Percentage"/> + <xsd:attribute name="b" use="optional" type="a:ST_Percentage"/> + </xsd:complexType> + <xsd:group name="EG_ColorTransform"> + <xsd:choice> + <xsd:element name="tint" type="CT_PositiveFixedPercentage"/> + <xsd:element name="shade" type="CT_PositiveFixedPercentage"/> + <xsd:element name="alpha" type="CT_PositiveFixedPercentage"/> + <xsd:element name="hueMod" type="CT_PositivePercentage"/> + <xsd:element name="sat" type="CT_Percentage"/> + <xsd:element name="satOff" type="CT_Percentage"/> + <xsd:element name="satMod" type="CT_Percentage"/> + <xsd:element name="lum" type="CT_Percentage"/> + <xsd:element name="lumOff" type="CT_Percentage"/> + <xsd:element name="lumMod" type="CT_Percentage"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_SRgbColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="val" type="s:ST_HexColorRGB" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_SchemeColor"> + <xsd:sequence> + <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="val" type="ST_SchemeColorVal" use="required"/> + </xsd:complexType> + <xsd:group name="EG_ColorChoice"> + <xsd:choice> + <xsd:element name="srgbClr" type="CT_SRgbColor"/> + <xsd:element name="schemeClr" type="CT_SchemeColor"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_Color"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GradientStop"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice"/> + </xsd:sequence> + <xsd:attribute name="pos" type="a:ST_PositiveFixedPercentage" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_GradientStopList"> + <xsd:sequence> + <xsd:element name="gs" type="CT_GradientStop" minOccurs="2" maxOccurs="10"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_LinearShadeProperties"> + <xsd:attribute name="ang" type="a:ST_PositiveFixedAngle" use="optional"/> + <xsd:attribute name="scaled" type="ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_PathShadeProperties"> + <xsd:sequence> + <xsd:element name="fillToRect" type="CT_RelativeRect" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="path" type="ST_PathShadeType" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_ShadeProperties"> + <xsd:choice> + <xsd:element name="lin" type="CT_LinearShadeProperties"/> + <xsd:element name="path" type="CT_PathShadeProperties"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_SolidColorFillProperties"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_GradientFillProperties"> + <xsd:sequence> + <xsd:element name="gsLst" type="CT_GradientStopList" minOccurs="0"/> + <xsd:group ref="EG_ShadeProperties" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_FillProperties"> + <xsd:choice> + <xsd:element name="noFill" type="w:CT_Empty"/> + <xsd:element name="solidFill" type="CT_SolidColorFillProperties"/> + <xsd:element name="gradFill" type="CT_GradientFillProperties"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_PresetLineDashProperties"> + <xsd:attribute name="val" type="ST_PresetLineDashVal" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_LineDashProperties"> + <xsd:choice> + <xsd:element name="prstDash" type="CT_PresetLineDashProperties"/> + </xsd:choice> + </xsd:group> + <xsd:complexType name="CT_LineJoinMiterProperties"> + <xsd:attribute name="lim" type="a:ST_PositivePercentage" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_LineJoinProperties"> + <xsd:choice> + <xsd:element name="round" type="w:CT_Empty"/> + <xsd:element name="bevel" type="w:CT_Empty"/> + <xsd:element name="miter" type="CT_LineJoinMiterProperties"/> + </xsd:choice> + </xsd:group> + <xsd:simpleType name="ST_PresetCameraType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="legacyObliqueTopLeft"/> + <xsd:enumeration value="legacyObliqueTop"/> + <xsd:enumeration value="legacyObliqueTopRight"/> + <xsd:enumeration value="legacyObliqueLeft"/> + <xsd:enumeration value="legacyObliqueFront"/> + <xsd:enumeration value="legacyObliqueRight"/> + <xsd:enumeration value="legacyObliqueBottomLeft"/> + <xsd:enumeration value="legacyObliqueBottom"/> + <xsd:enumeration value="legacyObliqueBottomRight"/> + <xsd:enumeration value="legacyPerspectiveTopLeft"/> + <xsd:enumeration value="legacyPerspectiveTop"/> + <xsd:enumeration value="legacyPerspectiveTopRight"/> + <xsd:enumeration value="legacyPerspectiveLeft"/> + <xsd:enumeration value="legacyPerspectiveFront"/> + <xsd:enumeration value="legacyPerspectiveRight"/> + <xsd:enumeration value="legacyPerspectiveBottomLeft"/> + <xsd:enumeration value="legacyPerspectiveBottom"/> + <xsd:enumeration value="legacyPerspectiveBottomRight"/> + <xsd:enumeration value="orthographicFront"/> + <xsd:enumeration value="isometricTopUp"/> + <xsd:enumeration value="isometricTopDown"/> + <xsd:enumeration value="isometricBottomUp"/> + <xsd:enumeration value="isometricBottomDown"/> + <xsd:enumeration value="isometricLeftUp"/> + <xsd:enumeration value="isometricLeftDown"/> + <xsd:enumeration value="isometricRightUp"/> + <xsd:enumeration value="isometricRightDown"/> + <xsd:enumeration value="isometricOffAxis1Left"/> + <xsd:enumeration value="isometricOffAxis1Right"/> + <xsd:enumeration value="isometricOffAxis1Top"/> + <xsd:enumeration value="isometricOffAxis2Left"/> + <xsd:enumeration value="isometricOffAxis2Right"/> + <xsd:enumeration value="isometricOffAxis2Top"/> + <xsd:enumeration value="isometricOffAxis3Left"/> + <xsd:enumeration value="isometricOffAxis3Right"/> + <xsd:enumeration value="isometricOffAxis3Bottom"/> + <xsd:enumeration value="isometricOffAxis4Left"/> + <xsd:enumeration value="isometricOffAxis4Right"/> + <xsd:enumeration value="isometricOffAxis4Bottom"/> + <xsd:enumeration value="obliqueTopLeft"/> + <xsd:enumeration value="obliqueTop"/> + <xsd:enumeration value="obliqueTopRight"/> + <xsd:enumeration value="obliqueLeft"/> + <xsd:enumeration value="obliqueRight"/> + <xsd:enumeration value="obliqueBottomLeft"/> + <xsd:enumeration value="obliqueBottom"/> + <xsd:enumeration value="obliqueBottomRight"/> + <xsd:enumeration value="perspectiveFront"/> + <xsd:enumeration value="perspectiveLeft"/> + <xsd:enumeration value="perspectiveRight"/> + <xsd:enumeration value="perspectiveAbove"/> + <xsd:enumeration value="perspectiveBelow"/> + <xsd:enumeration value="perspectiveAboveLeftFacing"/> + <xsd:enumeration value="perspectiveAboveRightFacing"/> + <xsd:enumeration value="perspectiveContrastingLeftFacing"/> + <xsd:enumeration value="perspectiveContrastingRightFacing"/> + <xsd:enumeration value="perspectiveHeroicLeftFacing"/> + <xsd:enumeration value="perspectiveHeroicRightFacing"/> + <xsd:enumeration value="perspectiveHeroicExtremeLeftFacing"/> + <xsd:enumeration value="perspectiveHeroicExtremeRightFacing"/> + <xsd:enumeration value="perspectiveRelaxed"/> + <xsd:enumeration value="perspectiveRelaxedModerately"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Camera"> + <xsd:attribute name="prst" use="required" type="ST_PresetCameraType"/> + </xsd:complexType> + <xsd:complexType name="CT_SphereCoords"> + <xsd:attribute name="lat" type="a:ST_PositiveFixedAngle" use="required"/> + <xsd:attribute name="lon" type="a:ST_PositiveFixedAngle" use="required"/> + <xsd:attribute name="rev" type="a:ST_PositiveFixedAngle" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_LightRigType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="legacyFlat1"/> + <xsd:enumeration value="legacyFlat2"/> + <xsd:enumeration value="legacyFlat3"/> + <xsd:enumeration value="legacyFlat4"/> + <xsd:enumeration value="legacyNormal1"/> + <xsd:enumeration value="legacyNormal2"/> + <xsd:enumeration value="legacyNormal3"/> + <xsd:enumeration value="legacyNormal4"/> + <xsd:enumeration value="legacyHarsh1"/> + <xsd:enumeration value="legacyHarsh2"/> + <xsd:enumeration value="legacyHarsh3"/> + <xsd:enumeration value="legacyHarsh4"/> + <xsd:enumeration value="threePt"/> + <xsd:enumeration value="balanced"/> + <xsd:enumeration value="soft"/> + <xsd:enumeration value="harsh"/> + <xsd:enumeration value="flood"/> + <xsd:enumeration value="contrasting"/> + <xsd:enumeration value="morning"/> + <xsd:enumeration value="sunrise"/> + <xsd:enumeration value="sunset"/> + <xsd:enumeration value="chilly"/> + <xsd:enumeration value="freezing"/> + <xsd:enumeration value="flat"/> + <xsd:enumeration value="twoPt"/> + <xsd:enumeration value="glow"/> + <xsd:enumeration value="brightRoom"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="ST_LightRigDirection"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="tl"/> + <xsd:enumeration value="t"/> + <xsd:enumeration value="tr"/> + <xsd:enumeration value="l"/> + <xsd:enumeration value="r"/> + <xsd:enumeration value="bl"/> + <xsd:enumeration value="b"/> + <xsd:enumeration value="br"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_LightRig"> + <xsd:sequence> + <xsd:element name="rot" type="CT_SphereCoords" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="rig" type="ST_LightRigType" use="required"/> + <xsd:attribute name="dir" type="ST_LightRigDirection" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_BevelPresetType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="relaxedInset"/> + <xsd:enumeration value="circle"/> + <xsd:enumeration value="slope"/> + <xsd:enumeration value="cross"/> + <xsd:enumeration value="angle"/> + <xsd:enumeration value="softRound"/> + <xsd:enumeration value="convex"/> + <xsd:enumeration value="coolSlant"/> + <xsd:enumeration value="divot"/> + <xsd:enumeration value="riblet"/> + <xsd:enumeration value="hardEdge"/> + <xsd:enumeration value="artDeco"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Bevel"> + <xsd:attribute name="w" type="a:ST_PositiveCoordinate" use="optional"/> + <xsd:attribute name="h" type="a:ST_PositiveCoordinate" use="optional"/> + <xsd:attribute name="prst" type="ST_BevelPresetType" use="optional"/> + </xsd:complexType> + <xsd:simpleType name="ST_PresetMaterialType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="legacyMatte"/> + <xsd:enumeration value="legacyPlastic"/> + <xsd:enumeration value="legacyMetal"/> + <xsd:enumeration value="legacyWireframe"/> + <xsd:enumeration value="matte"/> + <xsd:enumeration value="plastic"/> + <xsd:enumeration value="metal"/> + <xsd:enumeration value="warmMatte"/> + <xsd:enumeration value="translucentPowder"/> + <xsd:enumeration value="powder"/> + <xsd:enumeration value="dkEdge"/> + <xsd:enumeration value="softEdge"/> + <xsd:enumeration value="clear"/> + <xsd:enumeration value="flat"/> + <xsd:enumeration value="softmetal"/> + <xsd:enumeration value="none"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Glow"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice"/> + </xsd:sequence> + <xsd:attribute name="rad" use="optional" type="a:ST_PositiveCoordinate"/> + </xsd:complexType> + <xsd:complexType name="CT_Shadow"> + <xsd:sequence> + <xsd:group ref="EG_ColorChoice"/> + </xsd:sequence> + <xsd:attribute name="blurRad" use="optional" type="a:ST_PositiveCoordinate"/> + <xsd:attribute name="dist" use="optional" type="a:ST_PositiveCoordinate"/> + <xsd:attribute name="dir" use="optional" type="a:ST_PositiveFixedAngle"/> + <xsd:attribute name="sx" use="optional" type="a:ST_Percentage"/> + <xsd:attribute name="sy" use="optional" type="a:ST_Percentage"/> + <xsd:attribute name="kx" use="optional" type="a:ST_FixedAngle"/> + <xsd:attribute name="ky" use="optional" type="a:ST_FixedAngle"/> + <xsd:attribute name="algn" use="optional" type="ST_RectAlignment"/> + </xsd:complexType> + <xsd:complexType name="CT_Reflection"> + <xsd:attribute name="blurRad" use="optional" type="a:ST_PositiveCoordinate"/> + <xsd:attribute name="stA" use="optional" type="a:ST_PositiveFixedPercentage"/> + <xsd:attribute name="stPos" use="optional" type="a:ST_PositiveFixedPercentage"/> + <xsd:attribute name="endA" use="optional" type="a:ST_PositiveFixedPercentage"/> + <xsd:attribute name="endPos" use="optional" type="a:ST_PositiveFixedPercentage"/> + <xsd:attribute name="dist" use="optional" type="a:ST_PositiveCoordinate"/> + <xsd:attribute name="dir" use="optional" type="a:ST_PositiveFixedAngle"/> + <xsd:attribute name="fadeDir" use="optional" type="a:ST_PositiveFixedAngle"/> + <xsd:attribute name="sx" use="optional" type="a:ST_Percentage"/> + <xsd:attribute name="sy" use="optional" type="a:ST_Percentage"/> + <xsd:attribute name="kx" use="optional" type="a:ST_FixedAngle"/> + <xsd:attribute name="ky" use="optional" type="a:ST_FixedAngle"/> + <xsd:attribute name="algn" use="optional" type="ST_RectAlignment"/> + </xsd:complexType> + <xsd:complexType name="CT_FillTextEffect"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_TextOutlineEffect"> + <xsd:sequence> + <xsd:group ref="EG_FillProperties" minOccurs="0"/> + <xsd:group ref="EG_LineDashProperties" minOccurs="0"/> + <xsd:group ref="EG_LineJoinProperties" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="w" use="optional" type="a:ST_LineWidth"/> + <xsd:attribute name="cap" use="optional" type="ST_LineCap"/> + <xsd:attribute name="cmpd" use="optional" type="ST_CompoundLine"/> + <xsd:attribute name="algn" use="optional" type="ST_PenAlignment"/> + </xsd:complexType> + <xsd:complexType name="CT_Scene3D"> + <xsd:sequence> + <xsd:element name="camera" type="CT_Camera"/> + <xsd:element name="lightRig" type="CT_LightRig"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_Props3D"> + <xsd:sequence> + <xsd:element name="bevelT" type="CT_Bevel" minOccurs="0"/> + <xsd:element name="bevelB" type="CT_Bevel" minOccurs="0"/> + <xsd:element name="extrusionClr" type="CT_Color" minOccurs="0"/> + <xsd:element name="contourClr" type="CT_Color" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="extrusionH" type="a:ST_PositiveCoordinate" use="optional"/> + <xsd:attribute name="contourW" type="a:ST_PositiveCoordinate" use="optional"/> + <xsd:attribute name="prstMaterial" type="ST_PresetMaterialType" use="optional"/> + </xsd:complexType> + <xsd:group name="EG_RPrTextEffects"> + <xsd:sequence> + <xsd:element name="glow" minOccurs="0" type="CT_Glow"/> + <xsd:element name="shadow" minOccurs="0" type="CT_Shadow"/> + <xsd:element name="reflection" minOccurs="0" type="CT_Reflection"/> + <xsd:element name="textOutline" minOccurs="0" type="CT_TextOutlineEffect"/> + <xsd:element name="textFill" minOccurs="0" type="CT_FillTextEffect"/> + <xsd:element name="scene3d" minOccurs="0" type="CT_Scene3D"/> + <xsd:element name="props3d" minOccurs="0" type="CT_Props3D"/> + </xsd:sequence> + </xsd:group> + <xsd:simpleType name="ST_Ligatures"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="standard"/> + <xsd:enumeration value="contextual"/> + <xsd:enumeration value="historical"/> + <xsd:enumeration value="discretional"/> + <xsd:enumeration value="standardContextual"/> + <xsd:enumeration value="standardHistorical"/> + <xsd:enumeration value="contextualHistorical"/> + <xsd:enumeration value="standardDiscretional"/> + <xsd:enumeration value="contextualDiscretional"/> + <xsd:enumeration value="historicalDiscretional"/> + <xsd:enumeration value="standardContextualHistorical"/> + <xsd:enumeration value="standardContextualDiscretional"/> + <xsd:enumeration value="standardHistoricalDiscretional"/> + <xsd:enumeration value="contextualHistoricalDiscretional"/> + <xsd:enumeration value="all"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Ligatures"> + <xsd:attribute name="val" type="ST_Ligatures" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_NumForm"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="default"/> + <xsd:enumeration value="lining"/> + <xsd:enumeration value="oldStyle"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_NumForm"> + <xsd:attribute name="val" type="ST_NumForm" use="required"/> + </xsd:complexType> + <xsd:simpleType name="ST_NumSpacing"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="default"/> + <xsd:enumeration value="proportional"/> + <xsd:enumeration value="tabular"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_NumSpacing"> + <xsd:attribute name="val" type="ST_NumSpacing" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_StyleSet"> + <xsd:attribute name="id" type="s:ST_UnsignedDecimalNumber" use="required"/> + <xsd:attribute name="val" type="ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:complexType name="CT_StylisticSets"> + <xsd:sequence minOccurs="0"> + <xsd:element name="styleSet" minOccurs="0" maxOccurs="unbounded" type="CT_StyleSet"/> + </xsd:sequence> + </xsd:complexType> + <xsd:group name="EG_RPrOpenType"> + <xsd:sequence> + <xsd:element name="ligatures" minOccurs="0" type="CT_Ligatures"/> + <xsd:element name="numForm" minOccurs="0" type="CT_NumForm"/> + <xsd:element name="numSpacing" minOccurs="0" type="CT_NumSpacing"/> + <xsd:element name="stylisticSets" minOccurs="0" type="CT_StylisticSets"/> + <xsd:element name="cntxtAlts" minOccurs="0" type="CT_OnOff"/> + </xsd:sequence> + </xsd:group> + <xsd:element name="discardImageEditingData" type="CT_OnOff"/> + <xsd:element name="defaultImageDpi" type="CT_DefaultImageDpi"/> + <xsd:complexType name="CT_DefaultImageDpi"> + <xsd:attribute name="val" type="w:ST_DecimalNumber" use="required"/> + </xsd:complexType> + <xsd:element name="entityPicker" type="w:CT_Empty"/> + <xsd:complexType name="CT_SdtCheckboxSymbol"> + <xsd:attribute name="font" type="s:ST_String"/> + <xsd:attribute name="val" type="w:ST_ShortHexNumber"/> + </xsd:complexType> + <xsd:complexType name="CT_SdtCheckbox"> + <xsd:sequence> + <xsd:element name="checked" type="CT_OnOff" minOccurs="0"/> + <xsd:element name="checkedState" type="CT_SdtCheckboxSymbol" minOccurs="0"/> + <xsd:element name="uncheckedState" type="CT_SdtCheckboxSymbol" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="checkbox" type="CT_SdtCheckbox"/> + </xsd:schema> diff --git a/skills/ppt/ooxml/schemas/microsoft/wml-2012.xsd b/skills/ppt/ooxml/schemas/microsoft/wml-2012.xsd new file mode 100755 index 0000000..6b00755 --- /dev/null +++ b/skills/ppt/ooxml/schemas/microsoft/wml-2012.xsd @@ -0,0 +1,67 @@ + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:w12="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" xmlns="http://schemas.microsoft.com/office/word/2012/wordml" targetNamespace="http://schemas.microsoft.com/office/word/2012/wordml"> + <xsd:import id="w12" namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" schemaLocation="../ISO-IEC29500-4_2016/wml.xsd"/> + <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" schemaLocation="../ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd"/> + <xsd:element name="color" type="w12:CT_Color"/> + <xsd:simpleType name="ST_SdtAppearance"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="boundingBox"/> + <xsd:enumeration value="tags"/> + <xsd:enumeration value="hidden"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:element name="dataBinding" type="w12:CT_DataBinding"/> + <xsd:complexType name="CT_SdtAppearance"> + <xsd:attribute name="val" type="ST_SdtAppearance"/> + </xsd:complexType> + <xsd:element name="appearance" type="CT_SdtAppearance"/> + <xsd:complexType name="CT_CommentsEx"> + <xsd:sequence> + <xsd:element name="commentEx" type="CT_CommentEx" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CommentEx"> + <xsd:attribute name="paraId" type="w12:ST_LongHexNumber" use="required"/> + <xsd:attribute name="paraIdParent" type="w12:ST_LongHexNumber" use="optional"/> + <xsd:attribute name="done" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:element name="commentsEx" type="CT_CommentsEx"/> + <xsd:complexType name="CT_People"> + <xsd:sequence> + <xsd:element name="person" type="CT_Person" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_PresenceInfo"> + <xsd:attribute name="providerId" type="xsd:string" use="required"/> + <xsd:attribute name="userId" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="CT_Person"> + <xsd:sequence> + <xsd:element name="presenceInfo" type="CT_PresenceInfo" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="author" type="s:ST_String" use="required"/> + </xsd:complexType> + <xsd:element name="people" type="CT_People"/> + <xsd:complexType name="CT_SdtRepeatedSection"> + <xsd:sequence> + <xsd:element name="sectionTitle" type="w12:CT_String" minOccurs="0"/> + <xsd:element name="doNotAllowInsertDeleteSection" type="w12:CT_OnOff" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:simpleType name="ST_Guid"> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\}"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="CT_Guid"> + <xsd:attribute name="val" type="ST_Guid"/> + </xsd:complexType> + <xsd:element name="repeatingSection" type="CT_SdtRepeatedSection"/> + <xsd:element name="repeatingSectionItem" type="w12:CT_Empty"/> + <xsd:element name="chartTrackingRefBased" type="w12:CT_OnOff"/> + <xsd:element name="collapsed" type="w12:CT_OnOff"/> + <xsd:element name="docId" type="CT_Guid"/> + <xsd:element name="footnoteColumns" type="w12:CT_DecimalNumber"/> + <xsd:element name="webExtensionLinked" type="w12:CT_OnOff"/> + <xsd:element name="webExtensionCreated" type="w12:CT_OnOff"/> + <xsd:attribute name="restartNumberingAfterBreak" type="s:ST_OnOff"/> + </xsd:schema> diff --git a/skills/ppt/ooxml/schemas/microsoft/wml-2018.xsd b/skills/ppt/ooxml/schemas/microsoft/wml-2018.xsd new file mode 100755 index 0000000..f321d33 --- /dev/null +++ b/skills/ppt/ooxml/schemas/microsoft/wml-2018.xsd @@ -0,0 +1,14 @@ + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:w12="http://schemas.openxmlformats.org/wordprocessingml/2006/main" elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" xmlns="http://schemas.microsoft.com/office/word/2018/wordml" targetNamespace="http://schemas.microsoft.com/office/word/2018/wordml"> + <xsd:import id="w12" namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" schemaLocation="../ISO-IEC29500-4_2016/wml.xsd"/> + <xsd:complexType name="CT_Extension"> + <xsd:sequence> + <xsd:any processContents="lax"/> + </xsd:sequence> + <xsd:attribute name="uri" type="xsd:token"/> + </xsd:complexType> + <xsd:complexType name="CT_ExtensionList"> + <xsd:sequence> + <xsd:element name="ext" type="CT_Extension" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:schema> diff --git a/skills/ppt/ooxml/schemas/microsoft/wml-cex-2018.xsd b/skills/ppt/ooxml/schemas/microsoft/wml-cex-2018.xsd new file mode 100755 index 0000000..364c6a9 --- /dev/null +++ b/skills/ppt/ooxml/schemas/microsoft/wml-cex-2018.xsd @@ -0,0 +1,20 @@ + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" xmlns="http://schemas.microsoft.com/office/word/2018/wordml/cex" targetNamespace="http://schemas.microsoft.com/office/word/2018/wordml/cex"> + <xsd:import id="w16" namespace="http://schemas.microsoft.com/office/word/2018/wordml" schemaLocation="wml-2018.xsd"/> + <xsd:import id="w" namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" schemaLocation="../ISO-IEC29500-4_2016/wml.xsd"/> + <xsd:import id="s" namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" schemaLocation="../ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd"/> + <xsd:complexType name="CT_CommentsExtensible"> + <xsd:sequence> + <xsd:element name="commentExtensible" type="CT_CommentExtensible" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="extLst" type="w16:CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CommentExtensible"> + <xsd:sequence> + <xsd:element name="extLst" type="w16:CT_ExtensionList" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="durableId" type="w:ST_LongHexNumber" use="required"/> + <xsd:attribute name="dateUtc" type="w:ST_DateTime" use="optional"/> + <xsd:attribute name="intelligentPlaceholder" type="s:ST_OnOff" use="optional"/> + </xsd:complexType> + <xsd:element name="commentsExtensible" type="CT_CommentsExtensible"/> + </xsd:schema> diff --git a/skills/ppt/ooxml/schemas/microsoft/wml-cid-2016.xsd b/skills/ppt/ooxml/schemas/microsoft/wml-cid-2016.xsd new file mode 100755 index 0000000..fed9d15 --- /dev/null +++ b/skills/ppt/ooxml/schemas/microsoft/wml-cid-2016.xsd @@ -0,0 +1,13 @@ + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:w12="http://schemas.openxmlformats.org/wordprocessingml/2006/main" elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" xmlns="http://schemas.microsoft.com/office/word/2016/wordml/cid" targetNamespace="http://schemas.microsoft.com/office/word/2016/wordml/cid"> + <xsd:import id="w12" namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" schemaLocation="../ISO-IEC29500-4_2016/wml.xsd"/> + <xsd:complexType name="CT_CommentsIds"> + <xsd:sequence> + <xsd:element name="commentId" type="CT_CommentId" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="CT_CommentId"> + <xsd:attribute name="paraId" type="w12:ST_LongHexNumber" use="required"/> + <xsd:attribute name="durableId" type="w12:ST_LongHexNumber" use="required"/> + </xsd:complexType> + <xsd:element name="commentsIds" type="CT_CommentsIds"/> + </xsd:schema> diff --git a/skills/ppt/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd b/skills/ppt/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd new file mode 100755 index 0000000..680cf15 --- /dev/null +++ b/skills/ppt/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd @@ -0,0 +1,4 @@ + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:w12="http://schemas.openxmlformats.org/wordprocessingml/2006/main" elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" xmlns="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" targetNamespace="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash"> + <xsd:import id="w12" namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" schemaLocation="../ISO-IEC29500-4_2016/wml.xsd"/> + <xsd:attribute name="storeItemChecksum" type="w12:ST_String"/> + </xsd:schema> diff --git a/skills/ppt/ooxml/schemas/microsoft/wml-symex-2015.xsd b/skills/ppt/ooxml/schemas/microsoft/wml-symex-2015.xsd new file mode 100755 index 0000000..89ada90 --- /dev/null +++ b/skills/ppt/ooxml/schemas/microsoft/wml-symex-2015.xsd @@ -0,0 +1,8 @@ + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:w12="http://schemas.openxmlformats.org/wordprocessingml/2006/main" elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" xmlns="http://schemas.microsoft.com/office/word/2015/wordml/symex" targetNamespace="http://schemas.microsoft.com/office/word/2015/wordml/symex"> + <xsd:import id="w12" namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" schemaLocation="../ISO-IEC29500-4_2016/wml.xsd"/> + <xsd:complexType name="CT_SymEx"> + <xsd:attribute name="font" type="w12:ST_String"/> + <xsd:attribute name="char" type="w12:ST_LongHexNumber"/> + </xsd:complexType> + <xsd:element name="symEx" type="CT_SymEx"/> + </xsd:schema> diff --git a/skills/ppt/ooxml/scripts/pack.py b/skills/ppt/ooxml/scripts/pack.py new file mode 100755 index 0000000..68bc088 --- /dev/null +++ b/skills/ppt/ooxml/scripts/pack.py @@ -0,0 +1,159 @@ +#!/usr/bin/env python3 +""" +Tool to pack a directory into a .docx, .pptx, or .xlsx file with XML formatting undone. + +Example usage: + python pack.py <input_directory> <office_file> [--force] +""" + +import argparse +import shutil +import subprocess +import sys +import tempfile +import defusedxml.minidom +import zipfile +from pathlib import Path + + +def main(): + parser = argparse.ArgumentParser(description="Pack a directory into an Office file") + parser.add_argument("input_directory", help="Unpacked Office document directory") + parser.add_argument("output_file", help="Output Office file (.docx/.pptx/.xlsx)") + parser.add_argument("--force", action="store_true", help="Skip validation") + args = parser.parse_args() + + try: + success = pack_document( + args.input_directory, args.output_file, validate=not args.force + ) + + # Show warning if validation was skipped + if args.force: + print("Warning: Skipped validation, file may be corrupt", file=sys.stderr) + # Exit with error if validation failed + elif not success: + print("Contents would produce a corrupt file.", file=sys.stderr) + print("Please validate XML before repacking.", file=sys.stderr) + print("Use --force to skip validation and pack anyway.", file=sys.stderr) + sys.exit(1) + + except ValueError as e: + sys.exit(f"Error: {e}") + + +def pack_document(input_dir, output_file, validate=False): + """Pack a directory into an Office file (.docx/.pptx/.xlsx). + + Args: + input_dir: Path to unpacked Office document directory + output_file: Path to output Office file + validate: If True, validates with soffice (default: False) + + Returns: + bool: True if successful, False if validation failed + """ + input_dir = Path(input_dir) + output_file = Path(output_file) + + if not input_dir.is_dir(): + raise ValueError(f"{input_dir} is not a directory") + if output_file.suffix.lower() not in {".docx", ".pptx", ".xlsx"}: + raise ValueError(f"{output_file} must be a .docx, .pptx, or .xlsx file") + + # Work in temporary directory to avoid modifying original + with tempfile.TemporaryDirectory() as temp_dir: + temp_content_dir = Path(temp_dir) / "content" + shutil.copytree(input_dir, temp_content_dir) + + # Process XML files to remove pretty-printing whitespace + for pattern in ["*.xml", "*.rels"]: + for xml_file in temp_content_dir.rglob(pattern): + condense_xml(xml_file) + + # Create final Office file as zip archive + output_file.parent.mkdir(parents=True, exist_ok=True) + with zipfile.ZipFile(output_file, "w", zipfile.ZIP_DEFLATED) as zf: + for f in temp_content_dir.rglob("*"): + if f.is_file(): + zf.write(f, f.relative_to(temp_content_dir)) + + # Validate if requested + if validate: + if not validate_document(output_file): + output_file.unlink() # Delete the corrupt file + return False + + return True + + +def validate_document(doc_path): + """Validate document by converting to HTML with soffice.""" + # Determine the correct filter based on file extension + match doc_path.suffix.lower(): + case ".docx": + filter_name = "html:HTML" + case ".pptx": + filter_name = "html:impress_html_Export" + case ".xlsx": + filter_name = "html:HTML (StarCalc)" + + with tempfile.TemporaryDirectory() as temp_dir: + try: + result = subprocess.run( + [ + "soffice", + "--headless", + "--convert-to", + filter_name, + "--outdir", + temp_dir, + str(doc_path), + ], + capture_output=True, + timeout=10, + text=True, + ) + if not (Path(temp_dir) / f"{doc_path.stem}.html").exists(): + error_msg = result.stderr.strip() or "Document validation failed" + print(f"Validation error: {error_msg}", file=sys.stderr) + return False + return True + except FileNotFoundError: + print("Warning: soffice not found. Skipping validation.", file=sys.stderr) + return True + except subprocess.TimeoutExpired: + print("Validation error: Timeout during conversion", file=sys.stderr) + return False + except Exception as e: + print(f"Validation error: {e}", file=sys.stderr) + return False + + +def condense_xml(xml_file): + """Strip unnecessary whitespace and remove comments.""" + with open(xml_file, "r", encoding="utf-8") as f: + dom = defusedxml.minidom.parse(f) + + # Process each element to remove whitespace and comments + for element in dom.getElementsByTagName("*"): + # Skip w:t elements and their processing + if element.tagName.endswith(":t"): + continue + + # Remove whitespace-only text nodes and comment nodes + for child in list(element.childNodes): + if ( + child.nodeType == child.TEXT_NODE + and child.nodeValue + and child.nodeValue.strip() == "" + ) or child.nodeType == child.COMMENT_NODE: + element.removeChild(child) + + # Write back the condensed XML + with open(xml_file, "wb") as f: + f.write(dom.toxml(encoding="UTF-8")) + + +if __name__ == "__main__": + main() diff --git a/skills/ppt/ooxml/scripts/unpack.py b/skills/ppt/ooxml/scripts/unpack.py new file mode 100755 index 0000000..b2e4e87 --- /dev/null +++ b/skills/ppt/ooxml/scripts/unpack.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +"""Unpack and format XML contents of Office files (.docx, .pptx, .xlsx)""" + +import argparse +import random +import zipfile +import defusedxml.minidom +from pathlib import Path + + +def main(): + parser = argparse.ArgumentParser(description="Unpack an Office file into a directory") + parser.add_argument("office_file", help="Office file (.docx/.pptx/.xlsx)") + parser.add_argument("output_dir", help="Output directory") + args = parser.parse_args() + unpack_document(args.office_file, args.output_dir) + + +def unpack_document(input_file, output_dir): + """Unpack an Office file into a directory and pretty-print all XML files.""" + output_path = Path(output_dir) + output_path.mkdir(parents=True, exist_ok=True) + + with zipfile.ZipFile(input_file) as zf: + zf.extractall(output_path) + + for pattern in ["*.xml", "*.rels"]: + for xml_file in output_path.rglob(pattern): + pretty_print_xml(xml_file) + + # For .docx files, suggest an RSID for tracked changes + if str(input_file).endswith(".docx"): + suggested_rsid = "".join(random.choices("0123456789ABCDEF", k=8)) + print(f"Suggested RSID for edit session: {suggested_rsid}") + + +def pretty_print_xml(xml_file): + """Pretty-print a single XML file in place.""" + content = xml_file.read_text(encoding="utf-8") + dom = defusedxml.minidom.parseString(content) + xml_file.write_bytes(dom.toprettyxml(indent=" ", encoding="ascii")) + + +if __name__ == "__main__": + main() diff --git a/skills/ppt/ooxml/scripts/validate.py b/skills/ppt/ooxml/scripts/validate.py new file mode 100755 index 0000000..632e867 --- /dev/null +++ b/skills/ppt/ooxml/scripts/validate.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 +""" +Command line tool to validate Office document XML files against XSD schemas and tracked changes. + +Usage: + python validate.py <dir> --original <original_file> +""" + +import argparse +import sys +from pathlib import Path + +from validation import DOCXSchemaValidator, PPTXSchemaValidator, RedliningValidator + + +def main(): + parser = argparse.ArgumentParser(description="Validate Office document XML files") + parser.add_argument( + "unpacked_dir", + help="Path to unpacked Office document directory", + ) + parser.add_argument( + "--original", + required=True, + help="Path to original file (.docx/.pptx/.xlsx)", + ) + parser.add_argument( + "-v", + "--verbose", + action="store_true", + help="Enable verbose output", + ) + args = parser.parse_args() + + # Validate paths + unpacked_dir = Path(args.unpacked_dir) + original_file = Path(args.original) + file_extension = original_file.suffix.lower() + if not unpacked_dir.is_dir(): + sys.exit(f"Error: {unpacked_dir} is not a directory") + if not original_file.is_file(): + sys.exit(f"Error: {original_file} is not a file") + if file_extension not in [".docx", ".pptx", ".xlsx"]: + sys.exit(f"Error: {original_file} must be a .docx, .pptx, or .xlsx file") + + # Run validations + match file_extension: + case ".docx": + validators = [DOCXSchemaValidator, RedliningValidator] + case ".pptx": + validators = [PPTXSchemaValidator] + case _: + print(f"Error: Validation not supported for file type {file_extension}") + sys.exit(1) + + # Run validators + success = True + for V in validators: + validator = V(unpacked_dir, original_file, verbose=args.verbose) + if not validator.validate(): + success = False + + if success: + print("All validations PASSED!") + + sys.exit(0 if success else 1) + + +if __name__ == "__main__": + main() diff --git a/skills/ppt/ooxml/scripts/validation/__init__.py b/skills/ppt/ooxml/scripts/validation/__init__.py new file mode 100755 index 0000000..db092ec --- /dev/null +++ b/skills/ppt/ooxml/scripts/validation/__init__.py @@ -0,0 +1,15 @@ +""" +Validation modules for Word document processing. +""" + +from .base import BaseSchemaValidator +from .docx import DOCXSchemaValidator +from .pptx import PPTXSchemaValidator +from .redlining import RedliningValidator + +__all__ = [ + "BaseSchemaValidator", + "DOCXSchemaValidator", + "PPTXSchemaValidator", + "RedliningValidator", +] diff --git a/skills/ppt/ooxml/scripts/validation/__pycache__/__init__.cpython-313.pyc b/skills/ppt/ooxml/scripts/validation/__pycache__/__init__.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..281409e1e84d44040de43d54fd576098ad52916b GIT binary patch literal 487 zcmZutJxjzu5Zz5S9~U_h{Q;&?NOKF;BBElEfSyLwZiz{}TTHTHHj(o>e}q56e`6i6 zva(YTdpGe;n;VA5o5#$XVP^flgH#Cq!iN~4x3*Y>HYc-vMV?TI0EIZz0_<y`xh>ZN z-6udgP6ER>!R)vZSiTLmizo`sGYq|v<=N96=Q7H85>;FjZZ48KOQm}&z`YWXxQU4C zJS{4>1QDlF@?tb_-qlUW!_CG)B-1b+r+GB@5YWm;r-#=|<l*pQiM)QECK)f3@xKQF zU2Oo;g3*Gh;KXwpi!pT(V-2}ctGlj-C}q<1Hl!@8NjK5-U}4)0x06wpG4_mR$_q8e zRE{G^={Tl!#WP7|U8XRl@{VV!QbtsWNuE&|11~E{@Bh9;8B_OGj19_%#@_w?*&eJZ j+x9VXQ^ALhG5*vvOulV|w_nj#m);jKR<uV8R#ndrD>R6w literal 0 HcmV?d00001 diff --git a/skills/ppt/ooxml/scripts/validation/__pycache__/base.cpython-313.pyc b/skills/ppt/ooxml/scripts/validation/__pycache__/base.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..db02d4650541ae13279b64afa3425d12e608e5b9 GIT binary patch literal 38418 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 literal 0 HcmV?d00001 diff --git a/skills/ppt/ooxml/scripts/validation/__pycache__/docx.cpython-313.pyc b/skills/ppt/ooxml/scripts/validation/__pycache__/docx.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..e1fe5177bc687b776e3cd8f883f80cd1503d72e7 GIT binary patch literal 11506 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 literal 0 HcmV?d00001 diff --git a/skills/ppt/ooxml/scripts/validation/__pycache__/pptx.cpython-313.pyc b/skills/ppt/ooxml/scripts/validation/__pycache__/pptx.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..b799d63645c9d0d3988c96d3150d3bdecf74be3e GIT binary patch literal 13472 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 literal 0 HcmV?d00001 diff --git a/skills/ppt/ooxml/scripts/validation/__pycache__/redlining.cpython-313.pyc b/skills/ppt/ooxml/scripts/validation/__pycache__/redlining.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..09f1b271d948f7deefababcb11099a39b41b1584 GIT binary patch literal 11294 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 literal 0 HcmV?d00001 diff --git a/skills/ppt/ooxml/scripts/validation/base.py b/skills/ppt/ooxml/scripts/validation/base.py new file mode 100755 index 0000000..7a03377 --- /dev/null +++ b/skills/ppt/ooxml/scripts/validation/base.py @@ -0,0 +1,948 @@ +""" +Base validator with common validation logic for document files. +""" + +import re +import tempfile +import zipfile +from pathlib import Path + +import lxml.etree + + +class BaseSchemaValidator: + """Base validator with common validation logic for document files.""" + + # Elements whose 'id' attributes must be unique within their file + # Format: element_name -> (attribute_name, scope) + # scope can be 'file' (unique within file) or 'global' (unique across all files) + UNIQUE_ID_REQUIREMENTS = { + # Word elements + "comment": ("id", "file"), # Comment IDs in comments.xml + "commentrangestart": ("id", "file"), # Must match comment IDs + "commentrangeend": ("id", "file"), # Must match comment IDs + "bookmarkstart": ("id", "file"), # Bookmark start IDs + "bookmarkend": ("id", "file"), # Bookmark end IDs + # Note: ins and del (track changes) can share IDs when part of same revision + # PowerPoint elements + "sldid": ("id", "file"), # Slide IDs in presentation.xml + "sldmasterid": ("id", "global"), # Slide master IDs must be globally unique + "sldlayoutid": ("id", "global"), # Slide layout IDs must be globally unique + "cm": ("authorid", "file"), # Comment author IDs + # Excel elements + "sheet": ("sheetid", "file"), # Sheet IDs in workbook.xml + "definedname": ("id", "file"), # Named range IDs + # Drawing/Shape elements (all formats) + "cxnsp": ("id", "file"), # Connection shape IDs + "sp": ("id", "file"), # Shape IDs + "pic": ("id", "file"), # Picture IDs + "grpsp": ("id", "file"), # Group shape IDs + } + + # Mapping of element names to expected relationship types + # Subclasses should override this with format-specific mappings + ELEMENT_RELATIONSHIP_TYPES = {} + + # Unified schema mappings for all Office document types + SCHEMA_MAPPINGS = { + # Document type specific schemas + "word": "ISO-IEC29500-4_2016/wml.xsd", # Word documents + "ppt": "ISO-IEC29500-4_2016/pml.xsd", # PowerPoint presentations + "xl": "ISO-IEC29500-4_2016/sml.xsd", # Excel spreadsheets + # Common file types + "[Content_Types].xml": "ecma/fouth-edition/opc-contentTypes.xsd", + "app.xml": "ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd", + "core.xml": "ecma/fouth-edition/opc-coreProperties.xsd", + "custom.xml": "ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd", + ".rels": "ecma/fouth-edition/opc-relationships.xsd", + # Word-specific files + "people.xml": "microsoft/wml-2012.xsd", + "commentsIds.xml": "microsoft/wml-cid-2016.xsd", + "commentsExtensible.xml": "microsoft/wml-cex-2018.xsd", + "commentsExtended.xml": "microsoft/wml-2012.xsd", + # Chart files (common across document types) + "chart": "ISO-IEC29500-4_2016/dml-chart.xsd", + # Theme files (common across document types) + "theme": "ISO-IEC29500-4_2016/dml-main.xsd", + # Drawing and media files + "drawing": "ISO-IEC29500-4_2016/dml-main.xsd", + } + + # Unified namespace constants + MC_NAMESPACE = "http://schemas.openxmlformats.org/markup-compatibility/2006" + XML_NAMESPACE = "http://www.w3.org/XML/1998/namespace" + + # Common OOXML namespaces used across validators + PACKAGE_RELATIONSHIPS_NAMESPACE = ( + "http://schemas.openxmlformats.org/package/2006/relationships" + ) + OFFICE_RELATIONSHIPS_NAMESPACE = ( + "http://schemas.openxmlformats.org/officeDocument/2006/relationships" + ) + CONTENT_TYPES_NAMESPACE = ( + "http://schemas.openxmlformats.org/package/2006/content-types" + ) + + # Folders where we should clean ignorable namespaces + MAIN_CONTENT_FOLDERS = {"word", "ppt", "xl"} + + # All allowed OOXML namespaces (superset of all document types) + OOXML_NAMESPACES = { + "http://schemas.openxmlformats.org/officeDocument/2006/math", + "http://schemas.openxmlformats.org/officeDocument/2006/relationships", + "http://schemas.openxmlformats.org/schemaLibrary/2006/main", + "http://schemas.openxmlformats.org/drawingml/2006/main", + "http://schemas.openxmlformats.org/drawingml/2006/chart", + "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing", + "http://schemas.openxmlformats.org/drawingml/2006/diagram", + "http://schemas.openxmlformats.org/drawingml/2006/picture", + "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing", + "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing", + "http://schemas.openxmlformats.org/wordprocessingml/2006/main", + "http://schemas.openxmlformats.org/presentationml/2006/main", + "http://schemas.openxmlformats.org/spreadsheetml/2006/main", + "http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes", + "http://www.w3.org/XML/1998/namespace", + } + + def __init__(self, unpacked_dir, original_file, verbose=False): + self.unpacked_dir = Path(unpacked_dir).resolve() + self.original_file = Path(original_file) + self.verbose = verbose + + # Set schemas directory + self.schemas_dir = Path(__file__).parent.parent.parent / "schemas" + + # Get all XML and .rels files + patterns = ["*.xml", "*.rels"] + self.xml_files = [ + f for pattern in patterns for f in self.unpacked_dir.rglob(pattern) + ] + + if not self.xml_files: + print(f"Warning: No XML files found in {self.unpacked_dir}") + + def validate(self): + """Run all validation checks and return True if all pass.""" + raise NotImplementedError("Subclasses must implement the validate method") + + def validate_xml(self): + """Validate that all XML files are well-formed.""" + errors = [] + + for xml_file in self.xml_files: + try: + # Try to parse the XML file + lxml.etree.parse(str(xml_file)) + except lxml.etree.XMLSyntaxError as e: + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Line {e.lineno}: {e.msg}" + ) + except Exception as e: + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Unexpected error: {str(e)}" + ) + + if errors: + print(f"FAILED - Found {len(errors)} XML violations:") + for error in errors: + print(error) + return False + else: + if self.verbose: + print("PASSED - All XML files are well-formed") + return True + + def validate_namespaces(self): + """Validate that namespace prefixes in Ignorable attributes are declared.""" + errors = [] + + for xml_file in self.xml_files: + try: + root = lxml.etree.parse(str(xml_file)).getroot() + declared = set(root.nsmap.keys()) - {None} # Exclude default namespace + + for attr_val in [ + v for k, v in root.attrib.items() if k.endswith("Ignorable") + ]: + undeclared = set(attr_val.split()) - declared + errors.extend( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Namespace '{ns}' in Ignorable but not declared" + for ns in undeclared + ) + except lxml.etree.XMLSyntaxError: + continue + + if errors: + print(f"FAILED - {len(errors)} namespace issues:") + for error in errors: + print(error) + return False + if self.verbose: + print("PASSED - All namespace prefixes properly declared") + return True + + def validate_unique_ids(self): + """Validate that specific IDs are unique according to OOXML requirements.""" + errors = [] + global_ids = {} # Track globally unique IDs across all files + + for xml_file in self.xml_files: + try: + root = lxml.etree.parse(str(xml_file)).getroot() + file_ids = {} # Track IDs that must be unique within this file + + # Remove all mc:AlternateContent elements from the tree + mc_elements = root.xpath( + ".//mc:AlternateContent", namespaces={"mc": self.MC_NAMESPACE} + ) + for elem in mc_elements: + elem.getparent().remove(elem) + + # Now check IDs in the cleaned tree + for elem in root.iter(): + # Get the element name without namespace + tag = ( + elem.tag.split("}")[-1].lower() + if "}" in elem.tag + else elem.tag.lower() + ) + + # Check if this element type has ID uniqueness requirements + if tag in self.UNIQUE_ID_REQUIREMENTS: + attr_name, scope = self.UNIQUE_ID_REQUIREMENTS[tag] + + # Look for the specified attribute + id_value = None + for attr, value in elem.attrib.items(): + attr_local = ( + attr.split("}")[-1].lower() + if "}" in attr + else attr.lower() + ) + if attr_local == attr_name: + id_value = value + break + + if id_value is not None: + if scope == "global": + # Check global uniqueness + if id_value in global_ids: + prev_file, prev_line, prev_tag = global_ids[ + id_value + ] + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Line {elem.sourceline}: Global ID '{id_value}' in <{tag}> " + f"already used in {prev_file} at line {prev_line} in <{prev_tag}>" + ) + else: + global_ids[id_value] = ( + xml_file.relative_to(self.unpacked_dir), + elem.sourceline, + tag, + ) + elif scope == "file": + # Check file-level uniqueness + key = (tag, attr_name) + if key not in file_ids: + file_ids[key] = {} + + if id_value in file_ids[key]: + prev_line = file_ids[key][id_value] + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Line {elem.sourceline}: Duplicate {attr_name}='{id_value}' in <{tag}> " + f"(first occurrence at line {prev_line})" + ) + else: + file_ids[key][id_value] = elem.sourceline + + except (lxml.etree.XMLSyntaxError, Exception) as e: + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: Error: {e}" + ) + + if errors: + print(f"FAILED - Found {len(errors)} ID uniqueness violations:") + for error in errors: + print(error) + return False + else: + if self.verbose: + print("PASSED - All required IDs are unique") + return True + + def validate_file_references(self): + """ + Validate that all .rels files properly reference files and that all files are referenced. + """ + errors = [] + + # Find all .rels files + rels_files = list(self.unpacked_dir.rglob("*.rels")) + + if not rels_files: + if self.verbose: + print("PASSED - No .rels files found") + return True + + # Get all files in the unpacked directory (excluding reference files) + all_files = [] + for file_path in self.unpacked_dir.rglob("*"): + if ( + file_path.is_file() + and file_path.name != "[Content_Types].xml" + and not file_path.name.endswith(".rels") + ): # This file is not referenced by .rels + all_files.append(file_path.resolve()) + + # Track all files that are referenced by any .rels file + all_referenced_files = set() + + if self.verbose: + print( + f"Found {len(rels_files)} .rels files and {len(all_files)} target files" + ) + + # Check each .rels file + for rels_file in rels_files: + try: + # Parse relationships file + rels_root = lxml.etree.parse(str(rels_file)).getroot() + + # Get the directory where this .rels file is located + rels_dir = rels_file.parent + + # Find all relationships and their targets + referenced_files = set() + broken_refs = [] + + for rel in rels_root.findall( + ".//ns:Relationship", + namespaces={"ns": self.PACKAGE_RELATIONSHIPS_NAMESPACE}, + ): + target = rel.get("Target") + if target and not target.startswith( + ("http", "mailto:") + ): # Skip external URLs + # Resolve the target path relative to the .rels file location + if rels_file.name == ".rels": + # Root .rels file - targets are relative to unpacked_dir + target_path = self.unpacked_dir / target + else: + # Other .rels files - targets are relative to their parent's parent + # e.g., word/_rels/document.xml.rels -> targets relative to word/ + base_dir = rels_dir.parent + target_path = base_dir / target + + # Normalize the path and check if it exists + try: + target_path = target_path.resolve() + if target_path.exists() and target_path.is_file(): + referenced_files.add(target_path) + all_referenced_files.add(target_path) + else: + broken_refs.append((target, rel.sourceline)) + except (OSError, ValueError): + broken_refs.append((target, rel.sourceline)) + + # Report broken references + if broken_refs: + rel_path = rels_file.relative_to(self.unpacked_dir) + for broken_ref, line_num in broken_refs: + errors.append( + f" {rel_path}: Line {line_num}: Broken reference to {broken_ref}" + ) + + except Exception as e: + rel_path = rels_file.relative_to(self.unpacked_dir) + errors.append(f" Error parsing {rel_path}: {e}") + + # Check for unreferenced files (files that exist but are not referenced anywhere) + unreferenced_files = set(all_files) - all_referenced_files + + if unreferenced_files: + for unref_file in sorted(unreferenced_files): + unref_rel_path = unref_file.relative_to(self.unpacked_dir) + errors.append(f" Unreferenced file: {unref_rel_path}") + + if errors: + print(f"FAILED - Found {len(errors)} relationship validation errors:") + for error in errors: + print(error) + print( + "CRITICAL: These errors will cause the document to appear corrupt. " + + "Broken references MUST be fixed, " + + "and unreferenced files MUST be referenced or removed." + ) + return False + else: + if self.verbose: + print( + "PASSED - All references are valid and all files are properly referenced" + ) + return True + + def validate_all_relationship_ids(self): + """ + Validate that all r:id attributes in XML files reference existing IDs + in their corresponding .rels files, and optionally validate relationship types. + """ + errors = [] + + # Process each XML file that might contain r:id references + for xml_file in self.xml_files: + # Skip .rels files themselves + if xml_file.suffix == ".rels": + continue + + # Determine the corresponding .rels file + # For dir/file.xml, it's dir/_rels/file.xml.rels + rels_dir = xml_file.parent / "_rels" + rels_file = rels_dir / f"{xml_file.name}.rels" + + # Skip if there's no corresponding .rels file (that's okay) + if not rels_file.exists(): + continue + + try: + # Parse the .rels file to get valid relationship IDs and their types + rels_root = lxml.etree.parse(str(rels_file)).getroot() + rid_to_type = {} + + for rel in rels_root.findall( + f".//{{{self.PACKAGE_RELATIONSHIPS_NAMESPACE}}}Relationship" + ): + rid = rel.get("Id") + rel_type = rel.get("Type", "") + if rid: + # Check for duplicate rIds + if rid in rid_to_type: + rels_rel_path = rels_file.relative_to(self.unpacked_dir) + errors.append( + f" {rels_rel_path}: Line {rel.sourceline}: " + f"Duplicate relationship ID '{rid}' (IDs must be unique)" + ) + # Extract just the type name from the full URL + type_name = ( + rel_type.split("/")[-1] if "/" in rel_type else rel_type + ) + rid_to_type[rid] = type_name + + # Parse the XML file to find all r:id references + xml_root = lxml.etree.parse(str(xml_file)).getroot() + + # Find all elements with r:id attributes + for elem in xml_root.iter(): + # Check for r:id attribute (relationship ID) + rid_attr = elem.get(f"{{{self.OFFICE_RELATIONSHIPS_NAMESPACE}}}id") + if rid_attr: + xml_rel_path = xml_file.relative_to(self.unpacked_dir) + elem_name = ( + elem.tag.split("}")[-1] if "}" in elem.tag else elem.tag + ) + + # Check if the ID exists + if rid_attr not in rid_to_type: + errors.append( + f" {xml_rel_path}: Line {elem.sourceline}: " + f"<{elem_name}> references non-existent relationship '{rid_attr}' " + f"(valid IDs: {', '.join(sorted(rid_to_type.keys())[:5])}{'...' if len(rid_to_type) > 5 else ''})" + ) + # Check if we have type expectations for this element + elif self.ELEMENT_RELATIONSHIP_TYPES: + expected_type = self._get_expected_relationship_type( + elem_name + ) + if expected_type: + actual_type = rid_to_type[rid_attr] + # Check if the actual type matches or contains the expected type + if expected_type not in actual_type.lower(): + errors.append( + f" {xml_rel_path}: Line {elem.sourceline}: " + f"<{elem_name}> references '{rid_attr}' which points to '{actual_type}' " + f"but should point to a '{expected_type}' relationship" + ) + + except Exception as e: + xml_rel_path = xml_file.relative_to(self.unpacked_dir) + errors.append(f" Error processing {xml_rel_path}: {e}") + + if errors: + print(f"FAILED - Found {len(errors)} relationship ID reference errors:") + for error in errors: + print(error) + print("\nThese ID mismatches will cause the document to appear corrupt!") + return False + else: + if self.verbose: + print("PASSED - All relationship ID references are valid") + return True + + def _get_expected_relationship_type(self, element_name): + """ + Get the expected relationship type for an element. + First checks the explicit mapping, then tries pattern detection. + """ + # Normalize element name to lowercase + elem_lower = element_name.lower() + + # Check explicit mapping first + if elem_lower in self.ELEMENT_RELATIONSHIP_TYPES: + return self.ELEMENT_RELATIONSHIP_TYPES[elem_lower] + + # Try pattern detection for common patterns + # Pattern 1: Elements ending in "Id" often expect a relationship of the prefix type + if elem_lower.endswith("id") and len(elem_lower) > 2: + # e.g., "sldId" -> "sld", "sldMasterId" -> "sldMaster" + prefix = elem_lower[:-2] # Remove "id" + # Check if this might be a compound like "sldMasterId" + if prefix.endswith("master"): + return prefix.lower() + elif prefix.endswith("layout"): + return prefix.lower() + else: + # Simple case like "sldId" -> "slide" + # Common transformations + if prefix == "sld": + return "slide" + return prefix.lower() + + # Pattern 2: Elements ending in "Reference" expect a relationship of the prefix type + if elem_lower.endswith("reference") and len(elem_lower) > 9: + prefix = elem_lower[:-9] # Remove "reference" + return prefix.lower() + + return None + + def validate_content_types(self): + """Validate that all content files are properly declared in [Content_Types].xml.""" + errors = [] + + # Find [Content_Types].xml file + content_types_file = self.unpacked_dir / "[Content_Types].xml" + if not content_types_file.exists(): + print("FAILED - [Content_Types].xml file not found") + return False + + try: + # Parse and get all declared parts and extensions + root = lxml.etree.parse(str(content_types_file)).getroot() + declared_parts = set() + declared_extensions = set() + + # Get Override declarations (specific files) + for override in root.findall( + f".//{{{self.CONTENT_TYPES_NAMESPACE}}}Override" + ): + part_name = override.get("PartName") + if part_name is not None: + declared_parts.add(part_name.lstrip("/")) + + # Get Default declarations (by extension) + for default in root.findall( + f".//{{{self.CONTENT_TYPES_NAMESPACE}}}Default" + ): + extension = default.get("Extension") + if extension is not None: + declared_extensions.add(extension.lower()) + + # Root elements that require content type declaration + declarable_roots = { + "sld", + "sldLayout", + "sldMaster", + "presentation", # PowerPoint + "document", # Word + "workbook", + "worksheet", # Excel + "theme", # Common + } + + # Common media file extensions that should be declared + media_extensions = { + "png": "image/png", + "jpg": "image/jpeg", + "jpeg": "image/jpeg", + "gif": "image/gif", + "bmp": "image/bmp", + "tiff": "image/tiff", + "wmf": "image/x-wmf", + "emf": "image/x-emf", + } + + # Get all files in the unpacked directory + all_files = list(self.unpacked_dir.rglob("*")) + all_files = [f for f in all_files if f.is_file()] + + # Check all XML files for Override declarations + for xml_file in self.xml_files: + path_str = str(xml_file.relative_to(self.unpacked_dir)).replace( + "\\", "/" + ) + + # Skip non-content files + if any( + skip in path_str + for skip in [".rels", "[Content_Types]", "docProps/", "_rels/"] + ): + continue + + try: + root_tag = lxml.etree.parse(str(xml_file)).getroot().tag + root_name = root_tag.split("}")[-1] if "}" in root_tag else root_tag + + if root_name in declarable_roots and path_str not in declared_parts: + errors.append( + f" {path_str}: File with <{root_name}> root not declared in [Content_Types].xml" + ) + + except Exception: + continue # Skip unparseable files + + # Check all non-XML files for Default extension declarations + for file_path in all_files: + # Skip XML files and metadata files (already checked above) + if file_path.suffix.lower() in {".xml", ".rels"}: + continue + if file_path.name == "[Content_Types].xml": + continue + if "_rels" in file_path.parts or "docProps" in file_path.parts: + continue + + extension = file_path.suffix.lstrip(".").lower() + if extension and extension not in declared_extensions: + # Check if it's a known media extension that should be declared + if extension in media_extensions: + relative_path = file_path.relative_to(self.unpacked_dir) + errors.append( + f' {relative_path}: File with extension \'{extension}\' not declared in [Content_Types].xml - should add: <Default Extension="{extension}" ContentType="{media_extensions[extension]}"/>' + ) + + except Exception as e: + errors.append(f" Error parsing [Content_Types].xml: {e}") + + if errors: + print(f"FAILED - Found {len(errors)} content type declaration errors:") + for error in errors: + print(error) + return False + else: + if self.verbose: + print( + "PASSED - All content files are properly declared in [Content_Types].xml" + ) + return True + + def validate_file_against_xsd(self, xml_file, verbose=False): + """Validate a single XML file against XSD schema, comparing with original. + + Args: + xml_file: Path to XML file to validate + verbose: Enable verbose output + + Returns: + tuple: (is_valid, new_errors_set) where is_valid is True/False/None (skipped) + """ + # Resolve both paths to handle symlinks + xml_file = Path(xml_file).resolve() + unpacked_dir = self.unpacked_dir.resolve() + + # Validate current file + is_valid, current_errors = self._validate_single_file_xsd( + xml_file, unpacked_dir + ) + + if is_valid is None: + return None, set() # Skipped + elif is_valid: + return True, set() # Valid, no errors + + # Get errors from original file for this specific file + original_errors = self._get_original_file_errors(xml_file) + + # Compare with original (both are guaranteed to be sets here) + assert current_errors is not None + new_errors = current_errors - original_errors + + if new_errors: + if verbose: + relative_path = xml_file.relative_to(unpacked_dir) + print(f"FAILED - {relative_path}: {len(new_errors)} new error(s)") + for error in list(new_errors)[:3]: + truncated = error[:250] + "..." if len(error) > 250 else error + print(f" - {truncated}") + return False, new_errors + else: + # All errors existed in original + if verbose: + print( + f"PASSED - No new errors (original had {len(current_errors)} errors)" + ) + return True, set() + + def validate_against_xsd(self): + """Validate XML files against XSD schemas, showing only new errors compared to original.""" + new_errors = [] + original_error_count = 0 + valid_count = 0 + skipped_count = 0 + + for xml_file in self.xml_files: + relative_path = str(xml_file.relative_to(self.unpacked_dir)) + is_valid, new_file_errors = self.validate_file_against_xsd( + xml_file, verbose=False + ) + + if is_valid is None: + skipped_count += 1 + continue + elif is_valid and not new_file_errors: + valid_count += 1 + continue + elif is_valid: + # Had errors but all existed in original + original_error_count += 1 + valid_count += 1 + continue + + # Has new errors + new_errors.append(f" {relative_path}: {len(new_file_errors)} new error(s)") + for error in list(new_file_errors)[:3]: # Show first 3 errors + new_errors.append( + f" - {error[:250]}..." if len(error) > 250 else f" - {error}" + ) + + # Print summary + if self.verbose: + print(f"Validated {len(self.xml_files)} files:") + print(f" - Valid: {valid_count}") + print(f" - Skipped (no schema): {skipped_count}") + if original_error_count: + print(f" - With original errors (ignored): {original_error_count}") + print( + f" - With NEW errors: {len(new_errors) > 0 and len([e for e in new_errors if not e.startswith(' ')]) or 0}" + ) + + if new_errors: + print("\nFAILED - Found NEW validation errors:") + for error in new_errors: + print(error) + return False + else: + if self.verbose: + print("\nPASSED - No new XSD validation errors introduced") + return True + + def _get_schema_path(self, xml_file): + """Determine the appropriate schema path for an XML file.""" + # Check exact filename match + if xml_file.name in self.SCHEMA_MAPPINGS: + return self.schemas_dir / self.SCHEMA_MAPPINGS[xml_file.name] + + # Check .rels files + if xml_file.suffix == ".rels": + return self.schemas_dir / self.SCHEMA_MAPPINGS[".rels"] + + # Check chart files + if "charts/" in str(xml_file) and xml_file.name.startswith("chart"): + return self.schemas_dir / self.SCHEMA_MAPPINGS["chart"] + + # Check theme files + if "theme/" in str(xml_file) and xml_file.name.startswith("theme"): + return self.schemas_dir / self.SCHEMA_MAPPINGS["theme"] + + # Check if file is in a main content folder and use appropriate schema + if xml_file.parent.name in self.MAIN_CONTENT_FOLDERS: + return self.schemas_dir / self.SCHEMA_MAPPINGS[xml_file.parent.name] + + return None + + def _clean_ignorable_namespaces(self, xml_doc): + """Remove attributes and elements not in allowed namespaces.""" + # Create a clean copy + xml_string = lxml.etree.tostring(xml_doc, encoding="unicode") + xml_copy = lxml.etree.fromstring(xml_string) + + # Remove attributes not in allowed namespaces + for elem in xml_copy.iter(): + attrs_to_remove = [] + + for attr in elem.attrib: + # Check if attribute is from a namespace other than allowed ones + if "{" in attr: + ns = attr.split("}")[0][1:] + if ns not in self.OOXML_NAMESPACES: + attrs_to_remove.append(attr) + + # Remove collected attributes + for attr in attrs_to_remove: + del elem.attrib[attr] + + # Remove elements not in allowed namespaces + self._remove_ignorable_elements(xml_copy) + + return lxml.etree.ElementTree(xml_copy) + + def _remove_ignorable_elements(self, root): + """Recursively remove all elements not in allowed namespaces.""" + elements_to_remove = [] + + # Find elements to remove + for elem in list(root): + # Skip non-element nodes (comments, processing instructions, etc.) + if not hasattr(elem, "tag") or callable(elem.tag): + continue + + tag_str = str(elem.tag) + if tag_str.startswith("{"): + ns = tag_str.split("}")[0][1:] + if ns not in self.OOXML_NAMESPACES: + elements_to_remove.append(elem) + continue + + # Recursively clean child elements + self._remove_ignorable_elements(elem) + + # Remove collected elements + for elem in elements_to_remove: + root.remove(elem) + + def _preprocess_for_mc_ignorable(self, xml_doc): + """Preprocess XML to handle mc:Ignorable attribute properly.""" + # Remove mc:Ignorable attributes before validation + root = xml_doc.getroot() + + # Remove mc:Ignorable attribute from root + if f"{{{self.MC_NAMESPACE}}}Ignorable" in root.attrib: + del root.attrib[f"{{{self.MC_NAMESPACE}}}Ignorable"] + + return xml_doc + + def _validate_single_file_xsd(self, xml_file, base_path): + """Validate a single XML file against XSD schema. Returns (is_valid, errors_set).""" + schema_path = self._get_schema_path(xml_file) + if not schema_path: + return None, None # Skip file + + try: + # Load schema + with open(schema_path, "rb") as xsd_file: + parser = lxml.etree.XMLParser() + xsd_doc = lxml.etree.parse( + xsd_file, parser=parser, base_url=str(schema_path) + ) + schema = lxml.etree.XMLSchema(xsd_doc) + + # Load and preprocess XML + with open(xml_file, "r") as f: + xml_doc = lxml.etree.parse(f) + + xml_doc, _ = self._remove_template_tags_from_text_nodes(xml_doc) + xml_doc = self._preprocess_for_mc_ignorable(xml_doc) + + # Clean ignorable namespaces if needed + relative_path = xml_file.relative_to(base_path) + if ( + relative_path.parts + and relative_path.parts[0] in self.MAIN_CONTENT_FOLDERS + ): + xml_doc = self._clean_ignorable_namespaces(xml_doc) + + # Validate + if schema.validate(xml_doc): + return True, set() + else: + errors = set() + for error in schema.error_log: + # Store normalized error message (without line numbers for comparison) + errors.add(error.message) + return False, errors + + except Exception as e: + return False, {str(e)} + + def _get_original_file_errors(self, xml_file): + """Get XSD validation errors from a single file in the original document. + + Args: + xml_file: Path to the XML file in unpacked_dir to check + + Returns: + set: Set of error messages from the original file + """ + # Resolve both paths to handle symlinks (e.g., /var vs /private/var on macOS) + xml_file = Path(xml_file).resolve() + unpacked_dir = self.unpacked_dir.resolve() + relative_path = xml_file.relative_to(unpacked_dir) + + with tempfile.TemporaryDirectory() as temp_dir: + temp_path = Path(temp_dir) + + # Extract original file + with zipfile.ZipFile(self.original_file, "r") as zip_ref: + zip_ref.extractall(temp_path) + + # Find corresponding file in original + original_xml_file = temp_path / relative_path + + if not original_xml_file.exists(): + # File didn't exist in original, so no original errors + return set() + + # Validate the specific file in original + is_valid, errors = self._validate_single_file_xsd( + original_xml_file, temp_path + ) + return errors if errors else set() + + def _remove_template_tags_from_text_nodes(self, xml_doc): + """Remove template tags from XML text nodes and collect warnings. + + Template tags follow the pattern {{ ... }} and are used as placeholders + for content replacement. They should be removed from text content before + XSD validation while preserving XML structure. + + Returns: + tuple: (cleaned_xml_doc, warnings_list) + """ + warnings = [] + template_pattern = re.compile(r"\{\{[^}]*\}\}") + + # Create a copy of the document to avoid modifying the original + xml_string = lxml.etree.tostring(xml_doc, encoding="unicode") + xml_copy = lxml.etree.fromstring(xml_string) + + def process_text_content(text, content_type): + if not text: + return text + matches = list(template_pattern.finditer(text)) + if matches: + for match in matches: + warnings.append( + f"Found template tag in {content_type}: {match.group()}" + ) + return template_pattern.sub("", text) + return text + + # Process all text nodes in the document + for elem in xml_copy.iter(): + # Skip processing if this is a w:t element + if not hasattr(elem, "tag") or callable(elem.tag): + continue + tag_str = str(elem.tag) + if tag_str.endswith("}t") or tag_str == "t": + continue + + elem.text = process_text_content(elem.text, "text content") + elem.tail = process_text_content(elem.tail, "tail content") + + return lxml.etree.ElementTree(xml_copy), warnings + + +if __name__ == "__main__": + raise RuntimeError("This module should not be run directly.") diff --git a/skills/ppt/ooxml/scripts/validation/docx.py b/skills/ppt/ooxml/scripts/validation/docx.py new file mode 100755 index 0000000..602c470 --- /dev/null +++ b/skills/ppt/ooxml/scripts/validation/docx.py @@ -0,0 +1,274 @@ +""" +Validator for Word document XML files against XSD schemas. +""" + +import re +import tempfile +import zipfile + +import lxml.etree + +from .base import BaseSchemaValidator + + +class DOCXSchemaValidator(BaseSchemaValidator): + """Validator for Word document XML files against XSD schemas.""" + + # Word-specific namespace + WORD_2006_NAMESPACE = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" + + # Word-specific element to relationship type mappings + # Start with empty mapping - add specific cases as we discover them + ELEMENT_RELATIONSHIP_TYPES = {} + + def validate(self): + """Run all validation checks and return True if all pass.""" + # Test 0: XML well-formedness + if not self.validate_xml(): + return False + + # Test 1: Namespace declarations + all_valid = True + if not self.validate_namespaces(): + all_valid = False + + # Test 2: Unique IDs + if not self.validate_unique_ids(): + all_valid = False + + # Test 3: Relationship and file reference validation + if not self.validate_file_references(): + all_valid = False + + # Test 4: Content type declarations + if not self.validate_content_types(): + all_valid = False + + # Test 5: XSD schema validation + if not self.validate_against_xsd(): + all_valid = False + + # Test 6: Whitespace preservation + if not self.validate_whitespace_preservation(): + all_valid = False + + # Test 7: Deletion validation + if not self.validate_deletions(): + all_valid = False + + # Test 8: Insertion validation + if not self.validate_insertions(): + all_valid = False + + # Test 9: Relationship ID reference validation + if not self.validate_all_relationship_ids(): + all_valid = False + + # Count and compare paragraphs + self.compare_paragraph_counts() + + return all_valid + + def validate_whitespace_preservation(self): + """ + Validate that w:t elements with whitespace have xml:space='preserve'. + """ + errors = [] + + for xml_file in self.xml_files: + # Only check document.xml files + if xml_file.name != "document.xml": + continue + + try: + root = lxml.etree.parse(str(xml_file)).getroot() + + # Find all w:t elements + for elem in root.iter(f"{{{self.WORD_2006_NAMESPACE}}}t"): + if elem.text: + text = elem.text + # Check if text starts or ends with whitespace + if re.match(r"^\s.*", text) or re.match(r".*\s$", text): + # Check if xml:space="preserve" attribute exists + xml_space_attr = f"{{{self.XML_NAMESPACE}}}space" + if ( + xml_space_attr not in elem.attrib + or elem.attrib[xml_space_attr] != "preserve" + ): + # Show a preview of the text + text_preview = ( + repr(text)[:50] + "..." + if len(repr(text)) > 50 + else repr(text) + ) + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Line {elem.sourceline}: w:t element with whitespace missing xml:space='preserve': {text_preview}" + ) + + except (lxml.etree.XMLSyntaxError, Exception) as e: + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: Error: {e}" + ) + + if errors: + print(f"FAILED - Found {len(errors)} whitespace preservation violations:") + for error in errors: + print(error) + return False + else: + if self.verbose: + print("PASSED - All whitespace is properly preserved") + return True + + def validate_deletions(self): + """ + Validate that w:t elements are not within w:del elements. + For some reason, XSD validation does not catch this, so we do it manually. + """ + errors = [] + + for xml_file in self.xml_files: + # Only check document.xml files + if xml_file.name != "document.xml": + continue + + try: + root = lxml.etree.parse(str(xml_file)).getroot() + + # Find all w:t elements that are descendants of w:del elements + namespaces = {"w": self.WORD_2006_NAMESPACE} + xpath_expression = ".//w:del//w:t" + problematic_t_elements = root.xpath( + xpath_expression, namespaces=namespaces + ) + for t_elem in problematic_t_elements: + if t_elem.text: + # Show a preview of the text + text_preview = ( + repr(t_elem.text)[:50] + "..." + if len(repr(t_elem.text)) > 50 + else repr(t_elem.text) + ) + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Line {t_elem.sourceline}: <w:t> found within <w:del>: {text_preview}" + ) + + except (lxml.etree.XMLSyntaxError, Exception) as e: + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: Error: {e}" + ) + + if errors: + print(f"FAILED - Found {len(errors)} deletion validation violations:") + for error in errors: + print(error) + return False + else: + if self.verbose: + print("PASSED - No w:t elements found within w:del elements") + return True + + def count_paragraphs_in_unpacked(self): + """Count the number of paragraphs in the unpacked document.""" + count = 0 + + for xml_file in self.xml_files: + # Only check document.xml files + if xml_file.name != "document.xml": + continue + + try: + root = lxml.etree.parse(str(xml_file)).getroot() + # Count all w:p elements + paragraphs = root.findall(f".//{{{self.WORD_2006_NAMESPACE}}}p") + count = len(paragraphs) + except Exception as e: + print(f"Error counting paragraphs in unpacked document: {e}") + + return count + + def count_paragraphs_in_original(self): + """Count the number of paragraphs in the original docx file.""" + count = 0 + + try: + # Create temporary directory to unpack original + with tempfile.TemporaryDirectory() as temp_dir: + # Unpack original docx + with zipfile.ZipFile(self.original_file, "r") as zip_ref: + zip_ref.extractall(temp_dir) + + # Parse document.xml + doc_xml_path = temp_dir + "/word/document.xml" + root = lxml.etree.parse(doc_xml_path).getroot() + + # Count all w:p elements + paragraphs = root.findall(f".//{{{self.WORD_2006_NAMESPACE}}}p") + count = len(paragraphs) + + except Exception as e: + print(f"Error counting paragraphs in original document: {e}") + + return count + + def validate_insertions(self): + """ + Validate that w:delText elements are not within w:ins elements. + w:delText is only allowed in w:ins if nested within a w:del. + """ + errors = [] + + for xml_file in self.xml_files: + if xml_file.name != "document.xml": + continue + + try: + root = lxml.etree.parse(str(xml_file)).getroot() + namespaces = {"w": self.WORD_2006_NAMESPACE} + + # Find w:delText in w:ins that are NOT within w:del + invalid_elements = root.xpath( + ".//w:ins//w:delText[not(ancestor::w:del)]", + namespaces=namespaces + ) + + for elem in invalid_elements: + text_preview = ( + repr(elem.text or "")[:50] + "..." + if len(repr(elem.text or "")) > 50 + else repr(elem.text or "") + ) + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Line {elem.sourceline}: <w:delText> within <w:ins>: {text_preview}" + ) + + except (lxml.etree.XMLSyntaxError, Exception) as e: + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: Error: {e}" + ) + + if errors: + print(f"FAILED - Found {len(errors)} insertion validation violations:") + for error in errors: + print(error) + return False + else: + if self.verbose: + print("PASSED - No w:delText elements within w:ins elements") + return True + + def compare_paragraph_counts(self): + """Compare paragraph counts between original and new document.""" + original_count = self.count_paragraphs_in_original() + new_count = self.count_paragraphs_in_unpacked() + + diff = new_count - original_count + diff_str = f"+{diff}" if diff > 0 else str(diff) + print(f"\nParagraphs: {original_count} → {new_count} ({diff_str})") + + +if __name__ == "__main__": + raise RuntimeError("This module should not be run directly.") diff --git a/skills/ppt/ooxml/scripts/validation/pptx.py b/skills/ppt/ooxml/scripts/validation/pptx.py new file mode 100755 index 0000000..462154c --- /dev/null +++ b/skills/ppt/ooxml/scripts/validation/pptx.py @@ -0,0 +1,309 @@ +""" +Validator for PowerPoint presentation XML files against XSD schemas. +""" + +import re + +import lxml.etree + +from .base import BaseSchemaValidator + + +class PPTXSchemaValidator(BaseSchemaValidator): + """Validator for PowerPoint presentation XML files against XSD schemas.""" + + # PowerPoint presentation namespace + PRESENTATIONML_NAMESPACE = ( + "http://schemas.openxmlformats.org/presentationml/2006/main" + ) + + # PowerPoint-specific element to relationship type mappings + ELEMENT_RELATIONSHIP_TYPES = { + "sldid": "slide", + "sldmasterid": "slidemaster", + "notesmasterid": "notesmaster", + "sldlayoutid": "slidelayout", + "themeid": "theme", + "tablestyleid": "tablestyles", + } + + def validate(self): + """Run all validation checks and return True if all pass.""" + # Test 0: XML well-formedness + if not self.validate_xml(): + return False + + # Test 1: Namespace declarations + all_valid = True + if not self.validate_namespaces(): + all_valid = False + + # Test 2: Unique IDs + if not self.validate_unique_ids(): + all_valid = False + + # Test 3: UUID ID validation + if not self.validate_uuid_ids(): + all_valid = False + + # Test 4: Relationship and file reference validation + if not self.validate_file_references(): + all_valid = False + + # Test 5: Slide layout ID validation + if not self.validate_slide_layout_ids(): + all_valid = False + + # Test 6: Content type declarations + if not self.validate_content_types(): + all_valid = False + + # Test 7: XSD schema validation + if not self.validate_against_xsd(): + all_valid = False + + # Test 8: Notes slide reference validation + if not self.validate_notes_slide_references(): + all_valid = False + + # Test 9: Relationship ID reference validation + if not self.validate_all_relationship_ids(): + all_valid = False + + # Test 10: Duplicate slide layout references validation + if not self.validate_no_duplicate_slide_layouts(): + all_valid = False + + return all_valid + + def validate_uuid_ids(self): + """Validate that ID attributes that look like UUIDs contain only hex values.""" + errors = [] + # UUID pattern: 8-4-4-4-12 hex digits with optional braces/hyphens + uuid_pattern = re.compile( + r"^[\{\(]?[0-9A-Fa-f]{8}-?[0-9A-Fa-f]{4}-?[0-9A-Fa-f]{4}-?[0-9A-Fa-f]{4}-?[0-9A-Fa-f]{12}[\}\)]?$" + ) + + for xml_file in self.xml_files: + try: + root = lxml.etree.parse(str(xml_file)).getroot() + + # Check all elements for ID attributes + for elem in root.iter(): + for attr, value in elem.attrib.items(): + # Check if this is an ID attribute + attr_name = attr.split("}")[-1].lower() + if attr_name == "id" or attr_name.endswith("id"): + # Check if value looks like a UUID (has the right length and pattern structure) + if self._looks_like_uuid(value): + # Validate that it contains only hex characters in the right positions + if not uuid_pattern.match(value): + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: " + f"Line {elem.sourceline}: ID '{value}' appears to be a UUID but contains invalid hex characters" + ) + + except (lxml.etree.XMLSyntaxError, Exception) as e: + errors.append( + f" {xml_file.relative_to(self.unpacked_dir)}: Error: {e}" + ) + + if errors: + print(f"FAILED - Found {len(errors)} UUID ID validation errors:") + for error in errors: + print(error) + return False + else: + if self.verbose: + print("PASSED - All UUID-like IDs contain valid hex values") + return True + + def _looks_like_uuid(self, value): + """Check if a value has the general structure of a UUID.""" + # Remove common UUID delimiters + clean_value = value.strip("{}()").replace("-", "") + # Check if it's 32 hex-like characters (could include invalid hex chars) + return len(clean_value) == 32 and all(c.isalnum() for c in clean_value) + + def validate_slide_layout_ids(self): + """Validate that sldLayoutId elements in slide masters reference valid slide layouts.""" + errors = [] + + # Find all slide master files + slide_masters = list(self.unpacked_dir.glob("ppt/slideMasters/*.xml")) + + if not slide_masters: + if self.verbose: + print("PASSED - No slide masters found") + return True + + for slide_master in slide_masters: + try: + # Parse the slide master file + root = lxml.etree.parse(str(slide_master)).getroot() + + # Find the corresponding _rels file for this slide master + rels_file = slide_master.parent / "_rels" / f"{slide_master.name}.rels" + + if not rels_file.exists(): + errors.append( + f" {slide_master.relative_to(self.unpacked_dir)}: " + f"Missing relationships file: {rels_file.relative_to(self.unpacked_dir)}" + ) + continue + + # Parse the relationships file + rels_root = lxml.etree.parse(str(rels_file)).getroot() + + # Build a set of valid relationship IDs that point to slide layouts + valid_layout_rids = set() + for rel in rels_root.findall( + f".//{{{self.PACKAGE_RELATIONSHIPS_NAMESPACE}}}Relationship" + ): + rel_type = rel.get("Type", "") + if "slideLayout" in rel_type: + valid_layout_rids.add(rel.get("Id")) + + # Find all sldLayoutId elements in the slide master + for sld_layout_id in root.findall( + f".//{{{self.PRESENTATIONML_NAMESPACE}}}sldLayoutId" + ): + r_id = sld_layout_id.get( + f"{{{self.OFFICE_RELATIONSHIPS_NAMESPACE}}}id" + ) + layout_id = sld_layout_id.get("id") + + if r_id and r_id not in valid_layout_rids: + errors.append( + f" {slide_master.relative_to(self.unpacked_dir)}: " + f"Line {sld_layout_id.sourceline}: sldLayoutId with id='{layout_id}' " + f"references r:id='{r_id}' which is not found in slide layout relationships" + ) + + except (lxml.etree.XMLSyntaxError, Exception) as e: + errors.append( + f" {slide_master.relative_to(self.unpacked_dir)}: Error: {e}" + ) + + if errors: + print(f"FAILED - Found {len(errors)} slide layout ID validation errors:") + for error in errors: + print(error) + print( + "Remove invalid references or add missing slide layouts to the relationships file." + ) + return False + else: + if self.verbose: + print("PASSED - All slide layout IDs reference valid slide layouts") + return True + + def validate_no_duplicate_slide_layouts(self): + """Validate that each slide has exactly one slideLayout reference.""" + errors = [] + slide_rels_files = list(self.unpacked_dir.glob("ppt/slides/_rels/*.xml.rels")) + + for rels_file in slide_rels_files: + try: + root = lxml.etree.parse(str(rels_file)).getroot() + + # Find all slideLayout relationships + layout_rels = [ + rel + for rel in root.findall( + f".//{{{self.PACKAGE_RELATIONSHIPS_NAMESPACE}}}Relationship" + ) + if "slideLayout" in rel.get("Type", "") + ] + + if len(layout_rels) > 1: + errors.append( + f" {rels_file.relative_to(self.unpacked_dir)}: has {len(layout_rels)} slideLayout references" + ) + + except Exception as e: + errors.append( + f" {rels_file.relative_to(self.unpacked_dir)}: Error: {e}" + ) + + if errors: + print("FAILED - Found slides with duplicate slideLayout references:") + for error in errors: + print(error) + return False + else: + if self.verbose: + print("PASSED - All slides have exactly one slideLayout reference") + return True + + def validate_notes_slide_references(self): + """Validate that each notesSlide file is referenced by only one slide.""" + errors = [] + notes_slide_references = {} # Track which slides reference each notesSlide + + # Find all slide relationship files + slide_rels_files = list(self.unpacked_dir.glob("ppt/slides/_rels/*.xml.rels")) + + if not slide_rels_files: + if self.verbose: + print("PASSED - No slide relationship files found") + return True + + for rels_file in slide_rels_files: + try: + # Parse the relationships file + root = lxml.etree.parse(str(rels_file)).getroot() + + # Find all notesSlide relationships + for rel in root.findall( + f".//{{{self.PACKAGE_RELATIONSHIPS_NAMESPACE}}}Relationship" + ): + rel_type = rel.get("Type", "") + if "notesSlide" in rel_type: + target = rel.get("Target", "") + if target: + # Normalize the target path to handle relative paths + normalized_target = target.replace("../", "") + + # Track which slide references this notesSlide + slide_name = rels_file.stem.replace( + ".xml", "" + ) # e.g., "slide1" + + if normalized_target not in notes_slide_references: + notes_slide_references[normalized_target] = [] + notes_slide_references[normalized_target].append( + (slide_name, rels_file) + ) + + except (lxml.etree.XMLSyntaxError, Exception) as e: + errors.append( + f" {rels_file.relative_to(self.unpacked_dir)}: Error: {e}" + ) + + # Check for duplicate references + for target, references in notes_slide_references.items(): + if len(references) > 1: + slide_names = [ref[0] for ref in references] + errors.append( + f" Notes slide '{target}' is referenced by multiple slides: {', '.join(slide_names)}" + ) + for slide_name, rels_file in references: + errors.append(f" - {rels_file.relative_to(self.unpacked_dir)}") + + if errors: + print( + f"FAILED - Found {len([e for e in errors if not e.startswith(' ')])} notes slide reference validation errors:" + ) + for error in errors: + print(error) + print("Each slide may optionally have its own slide file.") + return False + else: + if self.verbose: + print("PASSED - All notes slide references are unique") + return True + + +if __name__ == "__main__": + raise RuntimeError("This module should not be run directly.") diff --git a/skills/ppt/ooxml/scripts/validation/redlining.py b/skills/ppt/ooxml/scripts/validation/redlining.py new file mode 100755 index 0000000..06c9af9 --- /dev/null +++ b/skills/ppt/ooxml/scripts/validation/redlining.py @@ -0,0 +1,279 @@ +""" +Validator for tracked changes in Word documents. +""" + +import subprocess +import tempfile +import zipfile +from pathlib import Path + + +class RedliningValidator: + """Validator for tracked changes in Word documents.""" + + def __init__(self, unpacked_dir, original_docx, verbose=False): + self.unpacked_dir = Path(unpacked_dir) + self.original_docx = Path(original_docx) + self.verbose = verbose + self.namespaces = { + "w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main" + } + + def validate(self): + """Main validation method that returns True if valid, False otherwise.""" + # Verify unpacked directory exists and has correct structure + modified_file = self.unpacked_dir / "word" / "document.xml" + if not modified_file.exists(): + print(f"FAILED - Modified document.xml not found at {modified_file}") + return False + + # First, check if there are any tracked changes by Z.AI to validate + try: + import xml.etree.ElementTree as ET + + tree = ET.parse(modified_file) + root = tree.getroot() + + # Check for w:del or w:ins tags authored by Z.AI + del_elements = root.findall(".//w:del", self.namespaces) + ins_elements = root.findall(".//w:ins", self.namespaces) + + # Filter to only include changes by Z.AI + zai_del_elements = [ + elem + for elem in del_elements + if elem.get(f"{{{self.namespaces['w']}}}author") == "Z.AI" + ] + zai_ins_elements = [ + elem + for elem in ins_elements + if elem.get(f"{{{self.namespaces['w']}}}author") == "Z.AI" + ] + + # Redlining validation is only needed if tracked changes by Z.AI have been used. + if not zai_del_elements and not zai_ins_elements: + if self.verbose: + print("PASSED - No tracked changes by Z.AI found.") + return True + + except Exception: + # If we can't parse the XML, continue with full validation + pass + + # Create temporary directory for unpacking original docx + with tempfile.TemporaryDirectory() as temp_dir: + temp_path = Path(temp_dir) + + # Unpack original docx + try: + with zipfile.ZipFile(self.original_docx, "r") as zip_ref: + zip_ref.extractall(temp_path) + except Exception as e: + print(f"FAILED - Error unpacking original docx: {e}") + return False + + original_file = temp_path / "word" / "document.xml" + if not original_file.exists(): + print( + f"FAILED - Original document.xml not found in {self.original_docx}" + ) + return False + + # Parse both XML files using xml.etree.ElementTree for redlining validation + try: + import xml.etree.ElementTree as ET + + modified_tree = ET.parse(modified_file) + modified_root = modified_tree.getroot() + original_tree = ET.parse(original_file) + original_root = original_tree.getroot() + except ET.ParseError as e: + print(f"FAILED - Error parsing XML files: {e}") + return False + + # Remove Z.AI's tracked changes from both documents + self._remove_zai_tracked_changes(original_root) + self._remove_zai_tracked_changes(modified_root) + + # Extract and compare text content + modified_text = self._extract_text_content(modified_root) + original_text = self._extract_text_content(original_root) + + if modified_text != original_text: + # Show detailed character-level differences for each paragraph + error_message = self._generate_detailed_diff( + original_text, modified_text + ) + print(error_message) + return False + + if self.verbose: + print("PASSED - All changes by Z.AI are properly tracked") + return True + + def _generate_detailed_diff(self, original_text, modified_text): + """Generate detailed word-level differences using git word diff.""" + error_parts = [ + "FAILED - Document text doesn't match after removing Z.AI's tracked changes", + "", + "Likely causes:", + " 1. Modified text inside another author's <w:ins> or <w:del> tags", + " 2. Made edits without proper tracked changes", + " 3. Didn't nest <w:del> inside <w:ins> when deleting another's insertion", + "", + "For pre-redlined documents, use correct patterns:", + " - To reject another's INSERTION: Nest <w:del> inside their <w:ins>", + " - To restore another's DELETION: Add new <w:ins> AFTER their <w:del>", + "", + ] + + # Show git word diff + git_diff = self._get_git_word_diff(original_text, modified_text) + if git_diff: + error_parts.extend(["Differences:", "============", git_diff]) + else: + error_parts.append("Unable to generate word diff (git not available)") + + return "\n".join(error_parts) + + def _get_git_word_diff(self, original_text, modified_text): + """Generate word diff using git with character-level precision.""" + try: + with tempfile.TemporaryDirectory() as temp_dir: + temp_path = Path(temp_dir) + + # Create two files + original_file = temp_path / "original.txt" + modified_file = temp_path / "modified.txt" + + original_file.write_text(original_text, encoding="utf-8") + modified_file.write_text(modified_text, encoding="utf-8") + + # Try character-level diff first for precise differences + result = subprocess.run( + [ + "git", + "diff", + "--word-diff=plain", + "--word-diff-regex=.", # Character-by-character diff + "-U0", # Zero lines of context - show only changed lines + "--no-index", + str(original_file), + str(modified_file), + ], + capture_output=True, + text=True, + ) + + if result.stdout.strip(): + # Clean up the output - remove git diff header lines + lines = result.stdout.split("\n") + # Skip the header lines (diff --git, index, +++, ---, @@) + content_lines = [] + in_content = False + for line in lines: + if line.startswith("@@"): + in_content = True + continue + if in_content and line.strip(): + content_lines.append(line) + + if content_lines: + return "\n".join(content_lines) + + # Fallback to word-level diff if character-level is too verbose + result = subprocess.run( + [ + "git", + "diff", + "--word-diff=plain", + "-U0", # Zero lines of context + "--no-index", + str(original_file), + str(modified_file), + ], + capture_output=True, + text=True, + ) + + if result.stdout.strip(): + lines = result.stdout.split("\n") + content_lines = [] + in_content = False + for line in lines: + if line.startswith("@@"): + in_content = True + continue + if in_content and line.strip(): + content_lines.append(line) + return "\n".join(content_lines) + + except (subprocess.CalledProcessError, FileNotFoundError, Exception): + # Git not available or other error, return None to use fallback + pass + + return None + + def _remove_zai_tracked_changes(self, root): + """Remove tracked changes authored by Z.AI from the XML root.""" + ins_tag = f"{{{self.namespaces['w']}}}ins" + del_tag = f"{{{self.namespaces['w']}}}del" + author_attr = f"{{{self.namespaces['w']}}}author" + + # Remove w:ins elements + for parent in root.iter(): + to_remove = [] + for child in parent: + if child.tag == ins_tag and child.get(author_attr) == "Z.AI": + to_remove.append(child) + for elem in to_remove: + parent.remove(elem) + + # Unwrap content in w:del elements where author is "Z.AI" + deltext_tag = f"{{{self.namespaces['w']}}}delText" + t_tag = f"{{{self.namespaces['w']}}}t" + + for parent in root.iter(): + to_process = [] + for child in parent: + if child.tag == del_tag and child.get(author_attr) == "Z.AI": + to_process.append((child, list(parent).index(child))) + + # Process in reverse order to maintain indices + for del_elem, del_index in reversed(to_process): + # Convert w:delText to w:t before moving + for elem in del_elem.iter(): + if elem.tag == deltext_tag: + elem.tag = t_tag + + # Move all children of w:del to its parent before removing w:del + for child in reversed(list(del_elem)): + parent.insert(del_index, child) + parent.remove(del_elem) + + def _extract_text_content(self, root): + """Extract text content from Word XML, preserving paragraph structure. + + Empty paragraphs are skipped to avoid false positives when tracked + insertions add only structural elements without text content. + """ + p_tag = f"{{{self.namespaces['w']}}}p" + t_tag = f"{{{self.namespaces['w']}}}t" + + paragraphs = [] + for p_elem in root.findall(f".//{p_tag}"): + # Get all text elements within this paragraph + text_parts = [] + for t_elem in p_elem.findall(f".//{t_tag}"): + if t_elem.text: + text_parts.append(t_elem.text) + paragraph_text = "".join(text_parts) + # Skip empty paragraphs - they don't affect content validation + if paragraph_text: + paragraphs.append(paragraph_text) + + return "\n".join(paragraphs) + + +if __name__ == "__main__": + raise RuntimeError("This module should not be run directly.") diff --git a/skills/ppt/references/beamer.md b/skills/ppt/references/beamer.md new file mode 100755 index 0000000..56658c6 --- /dev/null +++ b/skills/ppt/references/beamer.md @@ -0,0 +1,721 @@ +# Route: LaTeX Beamer → PDF (via Tectonic) + +Write LaTeX Beamer source, then compile to PDF: + +```bash +python3 scripts/pdf.py convert.latex main.tex +python3 scripts/pdf.py convert.latex main.tex --runs 2 # for ToC / refs +``` + +Tectonic compiles the full Beamer document — all features work: overlays, +TikZ, custom themes, math, transitions, fragile frames, appendix. + +--- + +## 1. Compilation + +```bash +# Standard build +python3 scripts/pdf.py convert.latex main.tex + +# Two passes (resolves ToC, \ref, section counters in overlays) +python3 scripts/pdf.py convert.latex main.tex --runs 2 + +# Verbose log (see all Tectonic output) +python3 scripts/pdf.py convert.latex main.tex --keep-logs +``` + +--- + +## 2. Beamer Document Structure + +### Minimal Working Example + +```latex +\documentclass[aspectratio=169, 11pt]{beamer} +\usepackage[fontset=fandol]{ctex} % CJK support (Tectonic auto-downloads) +\usetheme{Madrid} + +\title{Introduction to Quantum Computing} +\author{Prof. Zhang} +\institute{Tsinghua University} +\date{\today} + +\begin{document} + +\begin{frame} + \titlepage +\end{frame} + +\begin{frame}{Table of Contents} + \tableofcontents +\end{frame} + +\section{Quantum Bits} + +\begin{frame}{Quantum States} + \[ |\psi\rangle = \alpha|0\rangle + \beta|1\rangle, \quad |\alpha|^2+|\beta|^2=1 \] +\end{frame} + +\end{document} +``` + +**Core elements:** +- `\documentclass{beamer}` — Presentation document class +- Preamble — Theme, colors, fonts, global settings +- `\begin{frame}...\end{frame}` — Each frame = one slide + +--- + +## 3. Theme System (Complete Reference) + +Beamer themes consist of five independent layers that can be freely combined: + +### 3.1 Presentation Themes (control overall layout) + +| Theme | Features | Suitable For | +|---|---|---| +| `default` | Minimal, no decoration | Formal academic, minimalist | +| `Madrid` | Bottom info bar + section navigation | University courses, academic talks | +| `Berlin` | Top mini-frames + side color blocks | Long technical presentations | +| `Warsaw` | Top circular navigation + gradient title | Structured content | +| `CambridgeUS` | Two-tone minimalist | Math-heavy presentations | +| `Boadilla` | Clean footer | Business, concise style | +| `Singapore` | Top dot navigation | Modern feel, multi-section | +| `AnnArbor` | Yellow-blue dual tone | Michigan style | +| `Antibes` | Blue sidebar tree | Multi-subsection structure | +| `Bergen` | Blue title bar | Formal academic | +| `Copenhagen` | Top bar + navigation | Classic blue scheme | +| `Darmstadt` | Top progress dots | Multi-section structure | +| `Dresden` | Top mini-frames | Similar to Berlin | +| `Frankfurt` | Top dots | Clear section structure | +| `Goettingen` | Right sidebar | Navigation-focused | +| `Luebeck` | Top blue bar | Clean modern | +| `Malmoe` | Minimal title | Content-first | +| `Montpellier` | Top tree navigation | Hierarchical content | +| `Pittsburgh` | No color blocks, minimal | White scheme | +| `Rochester` | Dark title | Dark scheme | +| `Szeged` | Blue title bar | Hungarian style | + +```latex +\usetheme{Madrid} +``` + +### 3.2 Color Themes + +| Color Theme | Dominant Color | +|---|---| +| `default` | Dark blue | +| `albatross` | Yellow tones | +| `beaver` | Dark red / maroon | +| `beetle` | Gray-blue | +| `crane` | Orange-yellow | +| `dolphin` | Blue-white | +| `dove` | Gray-white (near monochrome) | +| `fly` | Gray tones | +| `lily` | Red-blue | +| `orchid` | Purple tones | +| `rose` | Pink | +| `seagull` | Gray | +| `seahorse` | Blue-purple | +| `whale` | Deep sea blue | +| `wolverine` | Yellow-blue contrast | + +```latex +\usecolortheme{dolphin} +``` + +### 3.3 Font Themes + +```latex +\usefonttheme{default} % Sans-serif (Beamer default) +\usefonttheme{serif} % Serif font (academic feel) +\usefonttheme{structurebold} % Bold structural elements +\usefonttheme{structureitalic} % Italic structural elements +\usefonttheme{structuresmallcapsserif} % Small caps serif +\usefonttheme{professionalfonts} % Keep math fonts unchanged +``` + +### 3.4 Inner Themes (control list, block, and title styles) + +```latex +\useinnertheme{default} % Triangle bullet points +\useinnertheme{circles} % Circle bullet points +\useinnertheme{rectangles} % Square bullet points +\useinnertheme{rounded} % Rounded blocks +\useinnertheme{inmargin} % Margin numbers +``` + +### 3.5 Outer Themes (control header, footer, and sidebar) + +```latex +\useoutertheme{default} % No decoration +\useoutertheme{infolines} % Bottom three-column info +\useoutertheme{miniframes} % Top mini-frame navigation +\useoutertheme{shadow} % Shadow title +\useoutertheme{sidebar} % Sidebar +\useoutertheme{smoothbars} % Gradient top bar +\useoutertheme{smoothtree} % Gradient tree +\useoutertheme{split} % Top-bottom split +\useoutertheme{tree} % Tree navigation +``` + +### 3.6 Custom Colors + +```latex +\definecolor{myblue}{HTML}{2B5EA7} +\definecolor{mygray}{HTML}{F0F0F0} + +\setbeamercolor{frametitle}{bg=myblue, fg=white} +\setbeamercolor{structure}{fg=myblue} +\setbeamercolor{block title}{bg=myblue!85, fg=white} +\setbeamercolor{block body}{bg=myblue!8} +\setbeamercolor{alerted text}{fg=red!70!black} +\setbeamercolor{title}{fg=white} +\setbeamercolor{subtitle}{fg=white!80} +``` + +### 3.7 Common Template Customizations + +```latex +% Remove navigation symbols (almost always needed) +\setbeamertemplate{navigation symbols}{} + +% Custom footer (frame number) +\setbeamertemplate{footline}{% + \hfill\insertframenumber/\inserttotalframenumber\hspace{1em}\vspace{0.5em} +} + +% Custom bullet points +\setbeamertemplate{itemize item}{\textbullet} +\setbeamertemplate{itemize subitem}{--} + +% Logo (bottom-right corner) +\logo{\includegraphics[height=0.7cm]{logo.png}} + +% Rounded blocks +\setbeamertemplate{blocks}[rounded][shadow=true] +``` + +--- + +## 4. Overlays & Stepwise Reveal + +Tectonic fully supports all overlay syntax — rendered as separate pages in the PDF. + +### 4.1 Basic Overlay Specifications + +```latex +\item<1-> % Show from layer 1, persist +\item<2-> % Show from layer 2 +\item<1-3> % Show on layers 1 to 3 only +\item<2> % Show on layer 2 only +\item<-3> % Show before layer 3 +``` + +### 4.2 \pause — Simplest Stepwise Reveal + +```latex +\begin{frame}{Research Workflow} + Data collection phase + \pause + Feature engineering phase + \pause + Model training phase +\end{frame} +``` + +### 4.3 List Stepwise Reveal + +```latex +\begin{frame}{Research Contributions} + \begin{itemize} + \item<1-> Propose a novel loss function + \item<2-> Prove theoretical convergence + \item<3-> Outperform SOTA on five benchmarks + \end{itemize} +\end{frame} +``` + +### 4.4 \only vs \uncover vs \visible + +```latex +% \only: no space reserved (causes layout jump) +\only<1>{Step one explanation} +\only<2>{Step two explanation} + +% \uncover: reserves space but transparent (recommended, stable layout) +\uncover<2->{Follow-up steps explanation} + +% \visible: reserves space but not rendered +\visible<3->{Step three} +``` + +### 4.5 \alert — Highlight Specific Layers + +```latex +\begin{frame}{Key Findings} + \begin{itemize} + \item \alert<1>{Accuracy improved by 13\%} + \item \alert<2>{Inference speed improved 2.4x} + \item \alert<3>{Memory reduced by 40\%} + \end{itemize} +\end{frame} +``` + +### 4.6 \textcolor & Conditional Content + +```latex +\begin{frame}{Comparison} + Baseline method: \textcolor{red}{82\%}\\ + \only<2->{Our method: \textcolor{green!60!black}{\textbf{93\%}}} +\end{frame} +``` + +### 4.7 Block Overlays + +```latex +\begin{frame}{Analysis} + \begin{block}<1-2>{Problem Definition} + Formal description ... + \end{block} + \begin{block}<2->{Solution} + Core approach ... + \end{block} +\end{frame} +``` + +--- + +## 5. Content Layout Templates + +### 5.1 Block Series (Three Styles) + +```latex +\begin{frame}{Core Findings} + \begin{block}{Main Conclusion} + The new method outperforms baselines in both accuracy and speed. + \end{block} + + \begin{alertblock}{Caveats} + Results are validated on specific datasets; generalization needs further study. + \end{alertblock} + + \begin{exampleblock}{Example} + Achieved 99.1\% accuracy on the MNIST dataset. + \end{exampleblock} +\end{frame} +``` + +### 5.2 Column Layout + +```latex +\begin{frame}{Experimental Comparison} + \begin{columns}[T] % [T] top-aligned + \column{0.48\textwidth} + \begin{block}{Baseline Method} + Accuracy: 82\% \\ + Time: 3.2 hours + \end{block} + + \column{0.48\textwidth} + \begin{block}{Our Method} + Accuracy: \textbf{91\%} \\ + Time: \textbf{1.7 hours} + \end{block} + \end{columns} +\end{frame} +``` + +Column alignment options: `[T]` top-aligned · `[c]` centered · `[b]` bottom-aligned + +### 5.3 Math Formula Frame + +```latex +\begin{frame}{Loss Function} + \begin{equation*} + \mathcal{L} = -\sum_{i=1}^{N} y_i \log \hat{y}_i + \lambda \|\theta\|_2^2 + \end{equation*} + \begin{itemize} + \item $y_i$: Ground truth label + \item $\hat{y}_i$: Predicted probability + \item $\lambda$: Regularization coefficient + \end{itemize} +\end{frame} +``` + +### 5.4 Theorem Environment + +```latex +\begin{frame}{Convergence Theorem} + \begin{theorem}[Convergence Rate] + Under Lipschitz conditions, gradient descent converges at $O(1/\sqrt{T})$. + \end{theorem} + + \begin{proof} + Follows from Lipschitz continuity and step size $\eta = 1/L$.\qed + \end{proof} + + \begin{corollary} + The stochastic gradient variant converges in expectation at $O(1/\sqrt{T})$. + \end{corollary} +\end{frame} +``` + +### 5.5 Table Frame + +```latex +\begin{frame}{Performance Comparison} + \centering + \begin{tabular}{lcc} + \toprule + Method & Accuracy & Time(s) \\ + \midrule + SVM & 0.85 & 120 \\ + Random Forest & 0.89 & 65 \\ + \textbf{Ours} & \textbf{0.93} & \textbf{42} \\ + \bottomrule + \end{tabular} +\end{frame} +``` + +### 5.6 TikZ Flowchart + +TikZ is fully supported in Tectonic — no pre-rendering needed: + +```latex +\begin{frame}{Algorithm Pipeline} + \centering + \begin{tikzpicture}[ + node distance=2cm, + box/.style={rectangle, rounded corners=4pt, draw=myblue, thick, + fill=myblue!10, minimum width=2.2cm, minimum height=0.9cm, font=\small}, + arr/.style={-Stealth, thick, myblue} + ] + \node[box] (A) {Input Data}; + \node[box, right of=A] (B) {Feature Extraction}; + \node[box, right of=B] (C) {Model Inference}; + \node[box, right of=C] (D) {Output Results}; + \draw[arr] (A) -- (B); + \draw[arr] (B) -- (C); + \draw[arr] (C) -- (D); + \end{tikzpicture} +\end{frame} +``` + +### 5.7 Code Display Frame + +```latex +\begin{frame}[fragile]{Training Loop} % [fragile] is required + \begin{verbatim} +for epoch in range(epochs): + for batch in dataloader: + optimizer.zero_grad() + loss = model(batch) + loss.backward() + optimizer.step() + \end{verbatim} +\end{frame} +``` + +Or use `listings` for syntax highlighting (more polished): + +```latex +\usepackage{listings} +\lstset{ + basicstyle=\ttfamily\small, + keywordstyle=\color{blue}\bfseries, + commentstyle=\color{gray}, + backgroundcolor=\color{gray!5}, + numbers=left, numberstyle=\tiny\color{gray}, + frame=single, framerule=0.5pt +} + +\begin{frame}[fragile]{Python Code} + \begin{lstlisting}[language=Python] +def train(model, dataloader): + for batch in dataloader: + loss = model(batch) + loss.backward() + \end{lstlisting} +\end{frame} +``` + +### 5.8 Image Frame + +```latex +\begin{frame}{System Architecture} + \centering + \includegraphics[width=0.85\textwidth]{figures/architecture.png} + \captionof{figure}{End-to-end training pipeline} +\end{frame} +``` + +### 5.9 Custom Checklist Frame + +```latex +\begin{frame}{Summary of Contributions} + \begin{itemize} + \item[\checkmark] New method proposed: ... + \item[\checkmark] Theoretical proof: ... + \item[\checkmark] Experimental validation: ... + \item[$\square$] Future work: ... + \end{itemize} +\end{frame} +``` + +--- + +## 6. Advanced Features + +### 6.1 Progress Bar (Manual Implementation) + +```latex +% Define in preamble +\definecolor{progressbar}{HTML}{2B5EA7} +\setbeamertemplate{footline}{ + \begin{beamercolorbox}[wd=\paperwidth,ht=2pt]{progressbar} + \rule{\dimexpr\paperwidth*\insertframenumber/\inserttotalframenumber}{2pt} + \end{beamercolorbox} + \vspace{2pt} + \hfill\tiny\insertframenumber/\inserttotalframenumber\hspace{1em}\vspace{3pt} +} +``` + +### 6.2 Section Title Pages (Automatic) + +```latex +% Add in preamble — auto-inserts a section title page before each \section +\AtBeginSection[]{ + \begin{frame} + \vfill + \centering + \begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title} + \usebeamerfont{title}\insertsectionhead\par + \end{beamercolorbox} + \vfill + \end{frame} +} +``` + +### 6.3 Handout Mode + +```latex +% Generate overlay-free handout version (only final state of each frame) +\documentclass[handout, aspectratio=169]{beamer} +``` + +Combine with `pgfpages` to compress multiple frames onto one page: + +```latex +\usepackage{pgfpages} +\pgfpagesuselayout{4 on 1}[a4paper, border shrink=5mm] +``` + +### 6.4 Frame Reuse (\againframe) + +```latex +\begin{frame}[label=keyresult]{Key Result} + Accuracy improved by 13\%. +\end{frame} + +% Show again at any later point +\againframe{keyresult} +``` + +### 6.5 Appendix (Excluded from Total Page Count) + +```latex +\appendix + +\begin{frame}{Appendix: Detailed Derivation} + % Backup slides for Q&A +\end{frame} +``` + +### 6.6 Speaker Notes + +```latex +\begin{frame}{Main Conclusions} + \begin{itemize} + \item Conclusion one + \item Conclusion two + \end{itemize} + \note{ + Emphasize the data supporting conclusion one.\\ + Anticipate questions about dataset size. + } +\end{frame} +``` + +Output PDF with notes: add in preamble: +```latex +\setbeameroption{show notes on second screen=right} +``` + +### 6.7 Widescreen Aspect Ratios + +```latex +\documentclass[aspectratio=169]{beamer} % 16:9 (recommended) +\documentclass[aspectratio=1610]{beamer} % 16:10 +\documentclass[aspectratio=43]{beamer} % 4:3 (traditional) +\documentclass[aspectratio=141]{beamer} % 1.41:1 (A4) +``` + +--- + +## 7. Complete Template (Academic Presentation, 16:9, with CJK Support) + +```latex +\documentclass[aspectratio=169, 11pt]{beamer} +\usepackage[fontset=fandol]{ctex} +\usepackage{amsmath, amssymb, mathtools} +\usepackage{booktabs} +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage{tikz} +\usetikzlibrary{arrows.meta, positioning, shapes.geometric} + +% -- Theme --------------------------------------------------------------- +\usetheme{Madrid} +\usecolortheme{dolphin} +\usefonttheme{professionalfonts} +\setbeamertemplate{navigation symbols}{} + +% -- Colors -------------------------------------------------------------- +\definecolor{myblue}{HTML}{2B5EA7} +\setbeamercolor{frametitle}{bg=myblue, fg=white} +\setbeamercolor{structure}{fg=myblue} +\setbeamercolor{block title}{bg=myblue!85, fg=white} +\setbeamercolor{block body}{bg=myblue!8} + +% -- Auto section title page --------------------------------------------- +\AtBeginSection[]{ + \begin{frame} + \vfill\centering + \begin{beamercolorbox}[sep=8pt,center,rounded=true]{title} + \usebeamerfont{title}\insertsectionhead\par + \end{beamercolorbox} + \vfill + \end{frame} +} + +% -- Metadata ------------------------------------------------------------ +\title{Paper Title} +\subtitle{Subtitle} +\author{Author Name} +\institute{Affiliation} +\date{\today} + +% ======================================================================== +\begin{document} + +\begin{frame} + \titlepage +\end{frame} + +\begin{frame}{Table of Contents} + \tableofcontents +\end{frame} + +\section{Introduction} + +\begin{frame}{Research Background} + \begin{itemize} + \item<1-> Importance of the problem + \item<2-> Limitations of existing methods + \item<3-> Contributions of this work + \end{itemize} +\end{frame} + +\section{Method} + +\begin{frame}{Core Formula} + \begin{equation*} + \mathcal{L} = -\sum_{i=1}^{N} y_i \log \hat{y}_i + \lambda \|\theta\|_2^2 + \end{equation*} + \begin{itemize} + \item $y_i$: Ground truth label + \item $\hat{y}_i$: Predicted probability + \item $\lambda$: Regularization coefficient + \end{itemize} +\end{frame} + +\begin{frame}{Method Comparison} + \begin{columns}[T] + \column{0.48\textwidth} + \begin{block}{Baseline Method} + Accuracy: 82\% \\ + Time: 3.2 hours + \end{block} + \column{0.48\textwidth} + \begin{block}{Our Method} + Accuracy: \textbf{91\%} \\ + Time: \textbf{1.7 hours} + \end{block} + \end{columns} +\end{frame} + +\section{Experiments} + +\begin{frame}{Performance Comparison} + \centering + \begin{tabular}{lcc} + \toprule + Method & Accuracy & Time(s) \\ + \midrule + SVM & 0.85 & 120 \\ + Random Forest & 0.89 & 65 \\ + \textbf{Ours} & \textbf{0.93} & \textbf{42} \\ + \bottomrule + \end{tabular} +\end{frame} + +\section{Conclusion} + +\begin{frame}{Summary} + \begin{itemize} + \item[\checkmark] Contribution 1: Proposed new method + \item[\checkmark] Contribution 2: Theoretical proof + \item[\checkmark] Contribution 3: Experimental validation + \end{itemize} + \begin{block}{Future Work} + Extend to larger-scale datasets and explore cross-domain generalization. + \end{block} +\end{frame} + +\begin{frame} + \centering\Large Thank You!\\[0.8em] + \normalsize Questions Welcome +\end{frame} + +\end{document} +``` + +Compile: +```bash +python3 scripts/pdf.py convert.latex main.tex --runs 2 +``` + +--- + +## 8. Common Issues & Fixes + +| Issue | Cause | Fix | +|---|---|---| +| CJK characters display as boxes | Missing CJK font package | Add `\usepackage[fontset=fandol]{ctex}` | +| `??` appears in ToC or references | Only compiled once | Add `--runs 2` | +| `[fragile]` missing error | verbatim/lstlisting frame | Add `[fragile]` after `\begin{frame}` | +| Overlay not working | Forgot `\pause` or `<n->` in frame | Check overlay specification syntax | +| TikZ compilation failure | Missing tikzlibrary | Add `\usetikzlibrary{...}` | +| Math font distortion | Missing professionalfonts | Add `\usefonttheme{professionalfonts}` | +| Frame exceeds one page (content overflow) | Too much content | Add `[allowframebreaks]` or split frame | + +--- + +## 9. Dependencies + +| Tool | Purpose | +|---|---| +| `scripts/tectonic` | LaTeX compilation engine (local binary) | +| `scripts/pdf.py convert.latex` | Tectonic wrapper with log filtering + PDF stats | diff --git a/skills/ppt/references/latex.md b/skills/ppt/references/latex.md new file mode 100755 index 0000000..82cc7bd --- /dev/null +++ b/skills/ppt/references/latex.md @@ -0,0 +1,342 @@ +# Route 3: Academic & Scientific PDF via LaTeX + +Produce publication-grade PDFs from `.tex` source files compiled with Tectonic. Suited for academic papers, theses, mathematical manuscripts, IEEE/ACM-format submissions, and any document where the user explicitly requests LaTeX. + +**Guiding principle**: when someone asks for "a LaTeX PDF," they expect a polished, professional result — not a bare-minimum compilation. + +--- + +## Environment Preparation + + +The binary of Tectonic lands at `scripts/tectonic`. + +### Compilation — Always Use the Wrapper Script + +All compilations **must** go through `scripts/pdf.py convert.latex`. It handles: +- Stripping noisy package-download logs +- Filtering progress chatter +- Surfacing genuine errors and warnings +- Reporting PDF statistics (file size, page count, word estimate, image tally) + +**Do not invoke Tectonic directly.** + +```bash +# One-pass build +python3 scripts/pdf.py convert.latex main.tex + +# Two passes (resolves cross-references) +python3 scripts/pdf.py convert.latex main.tex --runs 2 + +# Verbose mode (retains full log output) +python3 scripts/pdf.py convert.latex main.tex --keep-logs +``` + +--- + +## Pre-Writing Planning + +Before touching `.tex` code, determine the document's category and let that shape your approach. + +### Recognising the Document Type + +| Type | Typical outputs | Key concern | +|------|----------------|-------------| +| **Scholarly** | Journal articles, conference proceedings, regulatory specs | Rigorous adherence to academic conventions; bibliography accuracy | +| **Utilitarian** | Technical reports, reference manuals, product specs | Pack maximum information while preserving scannability | +| **Persuasive** | Funding proposals, pitch documents, project roadmaps | Clean professionalism throughout, with one or two visual high-points (title page, KPI dashboards) | +| **Expressive** | Design portfolios, brand guidebooks, showcases | Bold typographic and chromatic choices; deliberate rule-breaking that amplifies impact | + +### Fallback Aesthetic (No Style Specified) + +When the user gives no visual direction, apply a **measured, high-craft** system: + +1. **Contrast** — clear figure-ground separation; headings visually distinct from running text +2. **Hierarchy** — establish reading order through deliberate variation in size, weight, and hue +3. **White space** — ample margins and leading to let the page breathe +4. **Coherence** — one typeface family, one accent colour, one spacing rhythm + +#### Enrichment Elements (Add Proactively When Appropriate) + +- **Decorative**: shaded callout boxes, sidebars, comparison panels → `tcolorbox` +- **Scholarly**: theorem / definition / proof environments → `amsthm` + `tcolorbox`; process diagrams → TikZ +- **Page furniture**: running headers and footers → `fancyhdr`; chapter openers → `titlesec` + +Introduce these components on your own initiative whenever the content benefits — don't wait to be told. + +--- + +## Mandatory Rules + +### Rule 1 — Every Build Diagnostic Demands Attention + +The wrapper classifies compiler output into three tiers: + +| Tier | Impact | Required response | +|------|--------|-------------------| +| **Errors** | Build aborts | Resolve before anything else | +| **Layout defects** | Overfull / underfull boxes, unavailable font shapes, missing glyphs | Repair prior to delivery | +| **Advisories** | Remaining warnings | Assess individually; fix whenever feasible | + +**Never acceptable**: shrugging off warnings with "they don't affect the final PDF." Every diagnostic merits investigation. + +### Rule 2 — Modular Files for Larger Works + +A single generation turn can comfortably handle roughly **500 lines** of TeX. + +**When to split**: +- Anticipated output exceeds 5 pages, **or** +- Three or more heavyweight elements are present (wide tables, block equations, TikZ graphics) + +Stitch modules together with `\input{chapter1}`, `\input{chapter2}`, etc. + +### Rule 3 — Foundation Preamble + +```latex +\documentclass{article} + +% Essentials +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage{geometry} +\usepackage{amsmath} % Load before hyperref + +% hyperref — ALWAYS last among content packages +\usepackage[ + colorlinks=true, + linkcolor=blue, + citecolor=darkgray, + urlcolor=blue, + bookmarks=true, + bookmarksnumbered=true, + unicode=true +]{hyperref} + +% Page dimensions +\geometry{a4paper, top=2.5cm, bottom=2.5cm, left=3cm, right=2.5cm} +% CV variant: \geometry{a4paper, margin=1.5cm} + +% Superscript citation numbers (scholarly convention) +\usepackage[numbers,super,sort&compress]{natbib} +\bibliographystyle{unsrtnat} + +% Commonly needed extras +\usepackage{tcolorbox} +\usepackage{colortbl} +\usepackage{booktabs} +\usepackage{enumitem} +``` + +**hyperref positioning**: it must load after virtually every other package to avoid option clashes. + +### Rule 4 — TeX Source Hygiene + +**Prohibited patterns**: +- Emoji glyphs (no native LaTeX engine supports them) +- Markdown `*asterisk*` formatting (generates compile-time errors) + +**Use instead**: +```latex +\textbf{bold text} +\emph{emphasised text} +``` + +These are frequent model-generation slips — catch them proactively. + +### Rule 5 — Multi-Language & Font Handling + +- `babel` and `polyglossia` are incompatible — load only one +- When using `polyglossia`, ensure `amsmath` appears earlier in the preamble +- Tectonic downloads standard LaTeX typefaces automatically (Latin Modern, etc.) +- To reference system-installed fonts via `\setmainfont{}`, first probe with `fc-list :lang=ar` +- Broadly available choices: DejaVu, Noto typeface families + +### Rule 6 — Clickable Navigation Is Non-Negotiable + +Interactive navigation is a baseline professional expectation. + +#### 6.1 Table of Contents +```latex +\tableofcontents % Entries are auto-linked courtesy of hyperref +\listoffigures +\listoftables +``` + +#### 6.2 Internal Cross-References + +**Attach labels** right after each numbered element: +```latex +\section{Background}\label{sec:bg} + +\begin{figure}[htbp] + \includegraphics{...} + \caption{Overview diagram}\label{fig:overview} +\end{figure} + +\begin{table}[htbp] + \caption{Benchmark results}\label{tab:bench} + ... +\end{table} + +\begin{equation}\label{eq:energy} + E = mc^2 +\end{equation} +``` + +**Cite these labels** (each produces a live hyperlink): +```latex +As noted in Section~\ref{sec:bg}... +Figure~\ref{fig:overview} illustrates... +Table~\ref{tab:bench} summarises... +Equation~\eqref{eq:energy} yields... % \eqref auto-wraps in parentheses +See page~\pageref{sec:bg}... +``` + +**Good habits**: +- Place a non-breaking space `~` before `\ref` to avoid orphaned line breaks +- Prefer `\eqref{}` for equations (auto-wraps the number in parentheses) +- Adopt a consistent label-prefix convention: `sec:`, `fig:`, `tab:`, `eq:`, `lst:` + +#### 6.3 Bibliography + +**Superscript numerals (preferred academic style)**: +```latex +\usepackage[numbers,super,sort&compress]{natbib} +\bibliographystyle{unsrtnat} + +Prior work\cite{smith2023} shows... % → shows^[1] +Several studies\cite{a,b,c} agree... % → agree^[1–3] + +\bibliography{refs} +``` + +**Numeric bracket alternative**: +```latex +\usepackage[numbers]{natbib} +\bibliographystyle{plainnat} + +\cite{smith2023} % [1] +\citep{smith2023} % (Smith, 2023) +\citet{smith2023} % Smith (2023) +``` + +**biblatex pathway**: +```latex +\usepackage[backend=biber,style=numeric-comp]{biblatex} +\addbibresource{refs.bib} + +Per~\cite{smith2023}... +\printbibliography +``` + +#### 6.4 External Links +```latex +\url{https://example.com} +\href{https://example.com}{Visible label} +\href{mailto:a@b.com}{a@b.com} +``` + +#### 6.5 PDF Metadata & Outline +```latex +\hypersetup{ + pdftitle={Document Title}, + pdfauthor={Author Name}, + pdfsubject={Topic}, + pdfkeywords={keyword1, keyword2} +} +``` +Bookmark trees are auto-generated from `\section` / `\chapter` hierarchy. + +#### 6.6 Why Multiple Passes Matter + +Label resolution requires at least two compilation passes: +```bash +# Resolve section / figure / table labels +python3 scripts/pdf.py convert.latex main.tex --runs 2 + +# Also resolves bibliography back-references +python3 scripts/pdf.py convert.latex main.tex --runs 3 +``` + +If `??` placeholders persist after two passes, verify that every `\label` string has an exact `\ref` match. + +#### 6.7 Navigation Troubleshooting + +| Observation | Root cause | Resolution | +|-------------|-----------|------------| +| `??` in place of numbers | Only a single pass was run | Recompile with `--runs 2` | +| All links render in black | hyperref colour options omitted | Enable `colorlinks=true` | +| TOC items are not clickable | hyperref package missing | Load the package | +| `[?]` beside citations | `.bib` path incorrect or biber step skipped | Confirm path; rebuild | +| Bookmark pane empty | `bookmarks` option set to false | Switch to `bookmarks=true` | + +--- + +## Package Catalogue + +### Foundational +- `hyperref` (Rule 3) +- `geometry` (Rule 3) +- `listings` — `\lstset{basicstyle=\ttfamily\small, numbers=left, backgroundcolor=\color{gray!5}}` +- `enumitem` — `\setlist[itemize]{itemsep=0.3em, leftmargin=1.5em}` + +### Tabular +`booktabs` · `longtable` · `multirow` · `array` · `colortbl` + +### Visual & Charting +`tikz` · `pgfplots` · `float` · `wrapfig` · `subfig` / `subcaption` + +### International & Typography +`fontspec` (XeLaTeX / LuaLaTeX) · `ctex` + +### Mathematical +`amsmath` · `amssymb` · `amsthm` · `natbib` · `biblatex` · `siunitx` + +### Algorithmic & Domain-Specific +`algorithm` + `algpseudocode` · `chemfig` + +### Page Design +`tcolorbox` · `fancyhdr` · `titlesec` · `tocloft` · `multicol` · `setspace` · `microtype` · `parskip` · `adjustbox` · `marginnote` + +### Code Listings +`listings` · `minted` (depends on Pygments) + +--- + +## Scripts & Backends + +| Script | Purpose | +|--------|---------| +| `pdf.py convert.latex` | Tectonic wrapper — log sanitisation, error highlighting, PDF metrics | + +| Engine | Notes | +|--------|-------| +| Tectonic | Stand-alone LaTeX engine; packages are fetched transparently on demand | + +--- + +## Operational Notes + +### CJK Without Manual Font Setup +Tectonic resolves CJK font bundles on the fly — zero manual installation: + +```latex +\usepackage{ctex} % Tectonic pulls the font files automatically +``` + +### Cold-Start Latency +The very first compilation of a new document triggers package downloads: +- Initial build: 1–5 min (depends on network speed) +- Repeat builds with warm cache: 10–30 s + +### Working Without Internet +Previously fetched packages are stored under `~/.cache/Tectonic/`. When offline, only cached packages are available; attempting to use a new one will fail. + +### Tectonic vs a Full TeX Live Installation + +| Dimension | Tectonic | Traditional pdflatex | +|-----------|----------|---------------------| +| Package acquisition | On-demand, transparent | Manual via `tlmgr` | +| Multi-pass compilation | Handled by the engine | Explicit re-invocations required | +| Reference resolution | Automatic | Requires bibtex/biber cycles | +| Disk footprint | Single binary | Full TeX Live ≈ 4 GB | diff --git a/skills/ppt/references/paper-navbar.tex b/skills/ppt/references/paper-navbar.tex new file mode 100755 index 0000000..426fa45 --- /dev/null +++ b/skills/ppt/references/paper-navbar.tex @@ -0,0 +1,73 @@ +% ======================================================================== +% Paper Presentation Navigation for Beamer +% ======================================================================== +% Usage: \input{paper-navbar.tex} in the preamble (after \usetheme and color definitions) +% +% Provides: +% - Top navigation bar: section names + miniframe dots (no subsection row) +% - Bottom footer: Author | Paper Title | Journal, Year | Page number +% - All colors follow myblue (adapts to any Preset Color Palette) +% +% Prerequisites (must be defined before \input): +% - \definecolor{myblue}{HTML}{...} (from chosen Preset Color Palette) +% - \useoutertheme{miniframes} (required for top navigation) +% +% Paper metadata setup (in preamble, after \input): +% \title[Short Title]{Full Title} +% \author[Author (Affiliation)]{Full Author List} +% \date[Journal Name, Year]{} % leave empty if no journal: \date[]{} +% ======================================================================== + +% ── Unify header and footer colors (follow myblue) ───────────────────── +% Top navbar: light tint of theme color +\setbeamercolor{section in head/foot}{bg=myblue!15, fg=myblue!80!black} +\setbeamercolor{subsection in head/foot}{bg=myblue!15, fg=myblue!80!black} +% Bottom footer: author/journal/page use light tint, title uses mid tint +\setbeamercolor{author in head/foot}{bg=myblue!15, fg=myblue!80!black} +\setbeamercolor{title in head/foot}{bg=myblue!30, fg=white} +\setbeamercolor{date in head/foot}{bg=myblue!15, fg=myblue!80!black} + +% ── Remove navigation symbols ───────────────────────────────────────── +\setbeamertemplate{navigation symbols}{} + +% ── Compress miniframes + remove subsection empty row ───────────────── +\makeatletter +\let\beamer@writeslidentry@miniframeson=\beamer@writeslidentry +\def\beamer@writeslidentry@miniframesoff{% + \expandafter\beamer@ifempty\expandafter{\beamer@framestartpage}{}% + {\addtocontents{nav}{\protect\headcommand{% + \protect\beamer@partpages{\the\c@page}{\the\c@page}}}}} +\newcommand*{\miniframeson}{\let\beamer@writeslidentry=\beamer@writeslidentry@miniframeson} +\newcommand*{\miniframesoff}{\let\beamer@writeslidentry=\beamer@writeslidentry@miniframesoff} +\beamer@compresstrue +\makeatother + +% ── Top navigation: section names + miniframe dots, no subsection row ── +\setbeamertemplate{headline}{% + \begin{beamercolorbox}[colsep=1.5pt]{upper separation line head} + \end{beamercolorbox} + \begin{beamercolorbox}{section in head/foot} + \vskip2pt\insertnavigation{\paperwidth}\vskip2pt + \end{beamercolorbox}% +} + +% ── Bottom footer: Author | Paper Title | Journal | Page ────────────── +\makeatletter +\setbeamertemplate{footline}{% + \leavevmode% + \hbox{% + \begin{beamercolorbox}[wd=.25\paperwidth,ht=2.5ex,dp=1ex,center]{author in head/foot}% + \usebeamerfont{author in head/foot}\insertshortauthor + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.42\paperwidth,ht=2.5ex,dp=1ex,center]{title in head/foot}% + \usebeamerfont{title in head/foot}\insertshorttitle + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.22\paperwidth,ht=2.5ex,dp=1ex,center]{date in head/foot}% + \usebeamerfont{date in head/foot}\insertshortdate + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.11\paperwidth,ht=2.5ex,dp=1ex,right]{date in head/foot}% + \usebeamerfont{date in head/foot}\insertframenumber{}/\inserttotalframenumber\kern2em + \end{beamercolorbox}% + }% +} +\makeatother diff --git a/skills/ppt/references/progress-navbar.tex b/skills/ppt/references/progress-navbar.tex new file mode 100755 index 0000000..a5b83d6 --- /dev/null +++ b/skills/ppt/references/progress-navbar.tex @@ -0,0 +1,151 @@ +% ======================================================================== +% Progress Navigation Bar for Beamer +% ======================================================================== +% Usage: \input{progress-navbar.tex} in the preamble (after \usetheme) +% +% Features: +% - Dynamic equal-width boxes: each box = (paperwidth - 50pt) / total frames +% - Three-level symbols: ≡ (home), 1/2/3 (section), ◆ (subsection), - (slide) +% - Teal progress coloring: visited = teal!60 fill, unvisited = hollow +% - Clickable hyperlinks on every box +% - Automatic section/subsection title pages +% - Requires --runs 2 for correct width calculation +% +% Customization: +% - Change "teal!60" to any color (e.g. myblue!60) for different themes +% - Change "teal" in \color{teal}\hrule for the top separator line +% ======================================================================== + +\makeatletter + +% ── Auto section/subsection title pages ───────────────────────────────── +\AtBeginSection[]{\frame{\sectionpage}} +\AtBeginSubsection[]{\frame{\subsectionpage}} + +% ── Lengths and counters ──────────────────────────────────────────────── +\newlength{\my@unitwidth} +\newlength{\my@tempsize} +\newcounter{my@sectnum} + +% ── Helper: extract last digit of section number ──────────────────────── +\newcommand{\my@lastdigit}[1]{% + \loop\ifnum\value{#1}>9\addtocounter{#1}{-10}\repeat + {\normalfont\arabic{#1}}% +} + +% ── Box primitives ────────────────────────────────────────────────────── +\newcommand\my@fixedbox[2]{% + \makebox[#1]{\rule[-1ex]{0pt}{3.25ex}#2}% +} + +\newcommand\my@colorbox[3]{% + {\setlength{\fboxsep}{0pt}\colorbox{#1}{\my@fixedbox{#2}{#3}}}% +} + +% ── Level marker: b=section, m=subsection, s=slide ───────────────────── +\def\my@temptext{} +\def\my@level{s} + +\newcommand{\my@navbox}[1][]{% + \if\relax\detokenize{#1}\relax + \def\my@tempbox{\my@fixedbox}% + \else + \def\my@tempbox{\my@colorbox{#1}}% + \fi + \if b\my@level + \def\my@temptext{\my@lastdigit{my@sectnum}}% + \fi + \if m\my@level + \def\my@temptext{$\diamond$}% + \fi + \if s\my@level + \def\my@temptext{$-$}% + \fi + \my@tempbox{\my@unitwidth}{\my@temptext}% +} + +% ── Navigation box templates (home / done / todo) ────────────────────── +\defbeamertemplate{navigation box}{home}{% + \my@colorbox{teal!60}{\my@unitwidth}{$\equiv$}% +} + +\defbeamertemplate{navigation box}{done}{% + \my@navbox[teal!60]% +} + +\defbeamertemplate{navigation box}{todo}{% + \my@navbox +} + +% ── Box dispatch commands ────────────────────────────────────────────── +\newcommand{\my@bigbox}{\gdef\my@level{b}\usebeamertemplate{navigation box}} +\newcommand{\my@medbox}{\gdef\my@level{m}\usebeamertemplate{navigation box}} +\newcommand{\my@smallbox}{\gdef\my@level{s}\usebeamertemplate{navigation box}} + +% ── Hook into Beamer's navigation infrastructure ────────────────────── +\renewcommand{\sectionentry}[5]{\gdef\my@currentbox{big}\setcounter{my@sectnum}{#1}} +\renewcommand{\beamer@subsectionentry}[5]{\gdef\my@currentbox{med}} + +\renewcommand{\slideentry}[6]{% + \def\my@temp@i{1/1}% + \def\my@temp@ii{#4}% + % Default: assume done + \ifx\my@temp@i\my@temp@ii + \setbeamertemplate{navigation box}[home]% + \else + \setbeamertemplate{navigation box}[done]% + \fi + % Override to todo if this slide is ahead of current position + \ifnum\c@section<#1% + \setbeamertemplate{navigation box}[todo]% + \else + \ifnum\c@section=#1\ifnum\c@subsection<#2% + \setbeamertemplate{navigation box}[todo]% + \else + \ifnum\c@subsection=#2\ifnum\c@subsectionslide<#3% + \setbeamertemplate{navigation box}[todo]% + \fi\fi + \fi\fi + \fi + % Dispatch to correct level box + \def\my@test@big{big}% + \def\my@test@med{med}% + \ifx\my@temp@i\my@temp@ii + \beamer@link(#4){\my@bigbox}% + \else + \ifx\my@currentbox\my@test@big + \beamer@link(#4){\my@bigbox}% + \else\ifx\my@currentbox\my@test@med + \beamer@link(#4){\my@medbox}% + \else + \beamer@link(#4){\my@smallbox}% + \fi\fi + \fi + \gdef\my@currentbox{small}% +} + +% ── Footline template ───────────────────────────────────────────────── +\defbeamertemplate{footline}{progress} +{% + % Dynamic width: divide available space equally among all frames + \ifnum\inserttotalframenumber>0 + \setlength{\my@unitwidth}{\dimexpr(\paperwidth - 50pt)/\inserttotalframenumber\relax}% + \else + \setlength{\my@unitwidth}{20pt}% + \fi + {\color{teal}\hrule}% + \hbox to \paperwidth{% + \hbox to \dimexpr\paperwidth - 50pt\relax{% + \kern2pt{\normalfont\dohead}\hfill + }% + \hbox to 50pt{% + \hfill{\normalfont\insertframenumber{}/\inserttotalframenumber}\kern4pt + }% + }% +} + +% ── Activate ────────────────────────────────────────────────────────── +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{footline}[progress] + +\makeatother diff --git a/skills/ppt/scripts/__pycache__/inventory.cpython-313.pyc b/skills/ppt/scripts/__pycache__/inventory.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..d49433a09f22743cf355a38ce7a1f4d1c502875f GIT binary patch literal 26855 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 W=Ez)BRs5b>|NBRPSkxtKsQy1FwBAGj literal 0 HcmV?d00001 diff --git a/skills/ppt/scripts/html2pptx.js b/skills/ppt/scripts/html2pptx.js new file mode 100755 index 0000000..2f5a7cf --- /dev/null +++ b/skills/ppt/scripts/html2pptx.js @@ -0,0 +1,1337 @@ +/** + * html2pptx v3 - Convert HTML slide to pptxgenjs slide with positioned elements + * + * v3 Changes (2026-03-31): + * - Smart font mapping: PPT-safe fonts pass through, macOS/web fonts auto-mapped + * - Element boundary checking: warns when elements exceed slide bounds + * - z-index sorting: elements rendered in correct visual layer order + * - Adaptive width compensation: short text, numbers, headings get scaled compensation + * - Height compensation: all text elements get 12% height buffer + * - white-space: nowrap support: prevents line-breaking in short labels + * - Minimum font size validation: blocks text < 11pt + * - Per-slide character count warning + * - Vertical balance detection: warns when content clusters in top portion + * - Text overlap detection: warns when text elements overlap each other + * + * USAGE: + * const pptx = new pptxgen(); + * pptx.layout = 'LAYOUT_16x9'; + * const { slide, placeholders, warnings } = await html2pptx('slide.html', pptx, { fontConfig }); + * // If warnings is non-empty → fix HTML and re-run + * await pptx.writeFile('output.pptx'); + * + * await pptx.writeFile('output.pptx'); + * + * FEATURES: + * - Converts HTML to PowerPoint with accurate positioning + * - Supports text, images, shapes, and bullet lists + * - Extracts placeholder elements (class="placeholder") with positions + * - Handles CSS gradients, borders, and margins + * + * VALIDATION: + * - Uses body width/height from HTML for viewport sizing + * - Throws error if HTML dimensions don't match presentation layout + * - Throws error if content overflows body (with overflow details) + * + * RETURNS: + * { slide, placeholders } where placeholders is an array of { id, x, y, w, h } + */ + +const { chromium } = require('playwright'); +const path = require('path'); +const sharp = require('sharp'); +const fs = require('fs'); + +const PT_PER_PX = 0.75; +const PX_PER_IN = 96; +const EMU_PER_IN = 914400; + +// ── v3: Compensation factors ── +const COMPENSATION = { + HEADING_WIDTH: 0.25, SINGLE_LINE_NARROW: 0.18, SINGLE_LINE_NORMAL: 0.10, + MULTI_LINE: 0.05, SHORT_TEXT_EXTRA: 0.12, NUMERIC_TEXT_EXTRA: 0.08, + NOWRAP_EXTRA: 0.15, MAX_WIDTH_FACTOR: 0.40, + TEXT_HEIGHT: 0.08, LIST_HEIGHT: 0.06, + MIN_FONT_SIZE_PT: 11, MAX_CHARS_CJK: 350, MAX_CHARS_LATIN: 550, + VERTICAL_BALANCE_THRESHOLD: 0.55, OVERLAP_TOLERANCE_IN: 0.05, BOUNDS_TOLERANCE_IN: 0.02, + AUTO_SHORT_TEXT_THRESHOLD: 15, // chars — auto-detect short text even without explicit nowrap +}; + +// ── v3: Validation helpers (Node.js scope) ── +function extractTextContent(el) { + if (typeof el.text === 'string') return el.text; + if (Array.isArray(el.text)) return el.text.map(r => r.text || '').join(''); + if (Array.isArray(el.items)) return el.items.map(r => r.text || '').join(''); + return ''; +} +function getElementLabel(el) { + const t = extractTextContent(el); + return t.substring(0, 40) + (t.length > 40 ? '...' : '') || `[${el.type}]`; +} +// Compute PPT-adjusted position for text/list elements (mirrors addElements logic, pre-clamp) +function getAdjustedTextPosition(el, slideWidthIn) { + const MAX_TEXT_WIDTH_IN = 680 / 72; + const widthFactor = calculateWidthCompensation(el, slideWidthIn); + const widthIncrease = el.position.w * widthFactor; + let adjustedX = el.position.x; + let adjustedW = el.position.w; + const align = el.style?.align; + if (align === 'center') { adjustedX -= widthIncrease / 2; adjustedW += widthIncrease; } + else if (align === 'right') { adjustedX -= widthIncrease; adjustedW += widthIncrease; } + else { adjustedW += widthIncrease; } + if (align === 'center' && /^h[1-6]$/.test(el.type)) { + const centerX = adjustedX + adjustedW / 2; + const margin = 0.3; + const maxExpand = Math.min(centerX - margin, slideWidthIn - centerX - margin); + if (maxExpand > adjustedW / 2) { adjustedX = centerX - maxExpand; adjustedW = maxExpand * 2; } + } + const hComp = el.type === 'list' ? COMPENSATION.LIST_HEIGHT : COMPENSATION.TEXT_HEIGHT; + const finalW = Math.min(adjustedW, MAX_TEXT_WIDTH_IN); + return { x: adjustedX, y: el.position.y, w: finalW, h: el.position.h * (1 + hComp) }; +} +function checkElementBounds(slideData, sw, sh) { + const w = []; const tol = COMPENSATION.BOUNDS_TOLERANCE_IN; + const textTypes = new Set(['p','h1','h2','h3','h4','h5','h6','list']); + for (const el of slideData.elements) { + if (!el.position) continue; + const p = textTypes.has(el.type) ? getAdjustedTextPosition(el, sw) : el.position; + if (p.x < -tol) w.push(`⚠ BOUNDS: "${getElementLabel(el)}" extends ${(-p.x*72).toFixed(0)}pt beyond LEFT`); + if (p.y < -tol) w.push(`⚠ BOUNDS: "${getElementLabel(el)}" extends ${(-p.y*72).toFixed(0)}pt beyond TOP`); + if (p.x+p.w > sw+tol) w.push(`⚠ BOUNDS: "${getElementLabel(el)}" extends ${((p.x+p.w-sw)*72).toFixed(0)}pt beyond RIGHT`); + if (p.y+p.h > sh+tol) w.push(`⚠ BOUNDS: "${getElementLabel(el)}" extends ${((p.y+p.h-sh)*72).toFixed(0)}pt beyond BOTTOM`); + } + return w; +} +function checkVerticalBalance(slideData, sh) { + const ce = slideData.elements.filter(e => ['p','h1','h2','h3','h4','h5','h6','list'].includes(e.type)); + if (!ce.length) return []; + const mb = Math.max(...ce.map(e => e.position.y + e.position.h)); + return mb/sh < COMPENSATION.VERTICAL_BALANCE_THRESHOLD + ? [`⚠ LAYOUT: Content only in top ${(mb/sh*100).toFixed(0)}% — consider vertical centering`] : []; +} +function checkTextOverlaps(slideData) { + const w = []; const te = slideData.elements.filter(e => ['p','h1','h2','h3','h4','h5','h6','list'].includes(e.type)); + for (let i=0;i<te.length;i++) for (let j=i+1;j<te.length;j++) { + const a=te[i].position, b=te[j].position, tol=COMPENSATION.OVERLAP_TOLERANCE_IN; + const ow=Math.min(a.x+a.w,b.x+b.w)-Math.max(a.x,b.x); + const oh=Math.min(a.y+a.h,b.y+b.h)-Math.max(a.y,b.y); + if(ow>tol&&oh>tol) w.push(`⚠ OVERLAP: "${getElementLabel(te[i])}" overlaps "${getElementLabel(te[j])}"`); + } + return w; +} +function checkMinFontSize(slideData) { + const e = []; + for (const el of slideData.elements) { + if (!['p','h1','h2','h3','h4','h5','h6','list'].includes(el.type)) continue; + const fs = el.style?.fontSize || 0; + if (fs > 0 && fs < COMPENSATION.MIN_FONT_SIZE_PT) + e.push(`Text "${getElementLabel(el)}" is ${fs.toFixed(1)}pt — min is ${COMPENSATION.MIN_FONT_SIZE_PT}pt`); + } + return e; +} +function checkCharCount(slideData) { + let total=0, cjk=false; + for (const el of slideData.elements) { + const t=extractTextContent(el); total+=t.length; + if(/[\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]/.test(t)) cjk=true; + } + const lim = cjk ? COMPENSATION.MAX_CHARS_CJK : COMPENSATION.MAX_CHARS_LATIN; + return total>lim ? [`⚠ DENSITY: ${total} chars (limit ${lim}) — split into multiple slides`] : []; +} +function calculateWidthCompensation(el, slideWidthIn) { + const isH = /^h[1-6]$/.test(el.type); + const txt = extractTextContent(el); + const lh = el.style?.lineSpacing || (el.style?.fontSize||16)*1.2; + const single = el.position.h <= lh*1.5/72; + let f = isH ? COMPENSATION.HEADING_WIDTH : single ? (el.position.w < slideWidthIn/3 ? COMPENSATION.SINGLE_LINE_NARROW : COMPENSATION.SINGLE_LINE_NORMAL) : COMPENSATION.MULTI_LINE; + if (txt.length>0 && txt.length<10) f += COMPENSATION.SHORT_TEXT_EXTRA; + if (/^[\d\s\.\,\-\/\+\%\$\#\@\!\?\:\;\(\)\[\]]+$/.test(txt)) f += COMPENSATION.NUMERIC_TEXT_EXTRA; + if (el.noWrap) f += COMPENSATION.NOWRAP_EXTRA; + // v4: Auto-detect short text that should not wrap even without explicit nowrap + if (!el.noWrap && single && txt.length >= 10 && txt.length < COMPENSATION.AUTO_SHORT_TEXT_THRESHOLD) { + f += COMPENSATION.SHORT_TEXT_EXTRA * 0.5; // Half bonus for auto-detected short text + } + // v4: Auto-detect card titles (>=18pt, single line, <20 chars) — treat like heading + const fs_ = el.style?.fontSize || 16; + if (!isH && single && fs_ >= 18 && txt.length < 20) { + f = Math.max(f, COMPENSATION.HEADING_WIDTH * 0.8); // At least 80% of heading compensation + } + return Math.min(f, COMPENSATION.MAX_WIDTH_FACTOR); +} + +// ── Emphasis font: apply to bold numeric text (post-extraction, Node.js scope) ── +// Matches text that is purely numeric/symbolic (KPI values, percentages, currency, etc.) +const NUMERIC_EMPHASIS_RE = /^[\d\s.,\-\/+%$#@!?:;()[\]]+$/; +function applyEmphasisFont(slideData, emphasisFont) { + for (const el of slideData.elements) { + if (!['p','h1','h2','h3','h4','h5','h6'].includes(el.type)) continue; + if (typeof el.text === 'string') { + // Plain text element — bold is on el.style + if (el.style?.bold && NUMERIC_EMPHASIS_RE.test(el.text.trim())) { + el.style.fontFace = emphasisFont; + } + } else if (Array.isArray(el.text)) { + // Runs — bold may be per-run (inline formatting) + for (const run of el.text) { + if (run.options?.bold && NUMERIC_EMPHASIS_RE.test(run.text.trim())) { + run.options.fontFace = emphasisFont; + } + } + } + } +} + +// Helper: Fix image path if file extension doesn't match actual format +function fixImageExtension(imagePath, tmpDir) { + try { + const fd = fs.openSync(imagePath, 'r'); + const buf = Buffer.alloc(12); + fs.readSync(fd, buf, 0, 12, 0); + fs.closeSync(fd); + + let actualExt = null; + if (buf[0] === 0xFF && buf[1] === 0xD8) actualExt = '.jpg'; + else if (buf[0] === 0x89 && buf[1] === 0x50 && buf[2] === 0x4E && buf[3] === 0x47) actualExt = '.png'; + else if (buf[0] === 0x47 && buf[1] === 0x49 && buf[2] === 0x46) actualExt = '.gif'; + else if (buf[0] === 0x52 && buf[1] === 0x49 && buf[8] === 0x57 && buf[9] === 0x45) actualExt = '.webp'; + + if (!actualExt) return imagePath; + + const currentExt = path.extname(imagePath).toLowerCase(); + if (currentExt === actualExt || (currentExt === '.jpeg' && actualExt === '.jpg') || (currentExt === '.jpg' && actualExt === '.jpeg')) { + return imagePath; + } + + // Extension mismatch: copy with correct extension + const fixedPath = path.join(tmpDir, path.basename(imagePath, currentExt) + actualExt); + fs.copyFileSync(imagePath, fixedPath); + return fixedPath; + } catch (e) { + return imagePath; + } +} + +// Helper: Get body dimensions and check for overflow +async function getBodyDimensions(page) { + const bodyDimensions = await page.evaluate(() => { + const body = document.body; + const style = window.getComputedStyle(body); + + return { + width: parseFloat(style.width), + height: parseFloat(style.height), + scrollWidth: body.scrollWidth, + scrollHeight: body.scrollHeight + }; + }); + + const errors = []; + const widthOverflowPx = Math.max(0, bodyDimensions.scrollWidth - bodyDimensions.width - 1); + const heightOverflowPx = Math.max(0, bodyDimensions.scrollHeight - bodyDimensions.height - 1); + + const widthOverflowPt = widthOverflowPx * PT_PER_PX; + const heightOverflowPt = heightOverflowPx * PT_PER_PX; + + if (widthOverflowPt > 0 || heightOverflowPt > 0) { + const directions = []; + if (widthOverflowPt > 0) directions.push(`${widthOverflowPt.toFixed(1)}pt horizontally`); + if (heightOverflowPt > 0) directions.push(`${heightOverflowPt.toFixed(1)}pt vertically`); + const reminder = heightOverflowPt > 0 ? ' (Remember: leave 0.5" margin at bottom of slide)' : ''; + errors.push(`HTML content overflows body by ${directions.join(' and ')}${reminder}`); + } + + return { ...bodyDimensions, errors }; +} + +// Helper: Validate dimensions match presentation layout +function validateDimensions(bodyDimensions, pres) { + const errors = []; + const widthInches = bodyDimensions.width / PX_PER_IN; + const heightInches = bodyDimensions.height / PX_PER_IN; + + if (pres.presLayout) { + const layoutWidth = pres.presLayout.width / EMU_PER_IN; + const layoutHeight = pres.presLayout.height / EMU_PER_IN; + + if (Math.abs(layoutWidth - widthInches) > 0.1 || Math.abs(layoutHeight - heightInches) > 0.1) { + errors.push( + `HTML dimensions (${widthInches.toFixed(1)}" × ${heightInches.toFixed(1)}") ` + + `don't match presentation layout (${layoutWidth.toFixed(1)}" × ${layoutHeight.toFixed(1)}")` + ); + } + } + return errors; +} + +function validateTextBoxPosition(slideData, bodyDimensions) { + const errors = []; + const slideHeightInches = bodyDimensions.height / PX_PER_IN; + const minBottomMargin = 0.5; // 0.5 inches from bottom + + for (const el of slideData.elements) { + // Check text elements (p, h1-h6, list) + if (['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'list'].includes(el.type)) { + const fontSize = el.style?.fontSize || 0; + const bottomEdge = el.position.y + el.position.h; + const distanceFromBottom = slideHeightInches - bottomEdge; + + if (fontSize > 12 && distanceFromBottom < minBottomMargin) { + const getText = () => { + if (typeof el.text === 'string') return el.text; + if (Array.isArray(el.text)) return el.text.find(t => t.text)?.text || ''; + if (Array.isArray(el.items)) return el.items.find(item => item.text)?.text || ''; + return ''; + }; + const textPrefix = getText().substring(0, 50) + (getText().length > 50 ? '...' : ''); + + errors.push( + `Text box "${textPrefix}" ends too close to bottom edge ` + + `(${distanceFromBottom.toFixed(2)}" from bottom, minimum ${minBottomMargin}" required)` + ); + } + } + } + + return errors; +} + +// Helper: Add background to slide +async function addBackground(slideData, targetSlide, pres, tmpDir) { + if (slideData.background.type === 'image' && slideData.background.path) { + let imagePath = slideData.background.path.startsWith('file://') + ? slideData.background.path.replace('file://', '') + : slideData.background.path; + // PptxGenJS slide.background = { path } is unreliable for local files; + // use addImage at (0,0) covering the full slide instead. + const slideW = pres.presLayout ? pres.presLayout.width / EMU_PER_IN : 10; + const slideH = pres.presLayout ? pres.presLayout.height / EMU_PER_IN : 5.625; + targetSlide.addImage({ + path: fixImageExtension(imagePath, tmpDir), + x: 0, y: 0, w: slideW, h: slideH + }); + } else if (slideData.background.type === 'color' && slideData.background.value) { + targetSlide.background = { color: slideData.background.value }; + } +} + +// Helper: Add elements to slide +function addElements(slideData, targetSlide, pres, tmpDir) { + const slideWidthIn = pres.presLayout ? pres.presLayout.width / EMU_PER_IN : 10; + const slideHeightIn = pres.presLayout ? pres.presLayout.height / EMU_PER_IN : 5.625; + const MAX_TEXT_WIDTH_IN = 680 / 72; // ~9.44in — cap after compensation to avoid overflow + + // v3: Sort by z-index for correct visual layering + const sortedElements = [...slideData.elements].sort((a, b) => (a.zIndex || 0) - (b.zIndex || 0)); + + for (const el of sortedElements) { + if (el.type === 'image') { + let imagePath = el.src.startsWith('file://') ? el.src.replace('file://', '') : el.src; + targetSlide.addImage({ + path: fixImageExtension(imagePath, tmpDir), + x: el.position.x, y: el.position.y, w: el.position.w, h: el.position.h + }); + } else if (el.type === 'line') { + targetSlide.addShape(pres.ShapeType.line, { + x: el.x1, y: el.y1, w: el.x2 - el.x1, h: el.y2 - el.y1, + line: { color: el.color, width: el.width } + }); + } else if (el.type === 'shape') { + const shapeOptions = { + x: el.position.x, y: el.position.y, w: el.position.w, h: el.position.h, + shape: el.shape.rectRadius > 0 ? pres.ShapeType.roundRect : pres.ShapeType.rect + }; + if (el.shape.fill) { + shapeOptions.fill = { color: el.shape.fill }; + if (el.shape.transparency != null) shapeOptions.fill.transparency = el.shape.transparency; + } + if (el.shape.line) shapeOptions.line = el.shape.line; + if (el.shape.rectRadius > 0) shapeOptions.rectRadius = el.shape.rectRadius; + if (el.shape.shadow) shapeOptions.shadow = el.shape.shadow; + targetSlide.addText(el.text || '', shapeOptions); + } else if (el.type === 'list') { + // v3: Height compensation for lists + let adjustedH = el.position.h * (1 + COMPENSATION.LIST_HEIGHT); + // Clamp list height to slide bottom + if (el.position.y + adjustedH > slideHeightIn) adjustedH = slideHeightIn - el.position.y; + if (adjustedH < 0.1) adjustedH = 0.1; + // Clamp list width to slide right edge + let listX = el.position.x; + let listW = el.position.w; + if (listX + listW > slideWidthIn) listW = slideWidthIn - listX; + if (listW < 0.1) listW = 0.1; + if (listW > MAX_TEXT_WIDTH_IN) listW = MAX_TEXT_WIDTH_IN; + const listOptions = { + x: listX, y: el.position.y, w: listW, h: adjustedH, + fontSize: el.style.fontSize, fontFace: el.style.fontFace, color: el.style.color, + align: el.style.align, valign: 'top', charSpacing: el.style.charSpacing, + lineSpacing: el.style.lineSpacing, paraSpaceBefore: el.style.paraSpaceBefore, + paraSpaceAfter: el.style.paraSpaceAfter, margin: el.style.margin + }; + if (el.style.margin) listOptions.margin = el.style.margin; + targetSlide.addText(el.items, listOptions); + } else { + // ── Text elements (p, h1-h6) with v3 adaptive compensation ── + const widthFactor = calculateWidthCompensation(el, slideWidthIn); + const widthIncrease = el.position.w * widthFactor; + + let adjustedX = el.position.x; + let adjustedW = el.position.w; + const align = el.style.align; + + if (align === 'center') { + adjustedX -= widthIncrease / 2; + adjustedW += widthIncrease; + } else if (align === 'right') { + adjustedX -= widthIncrease; + adjustedW += widthIncrease; + } else { + adjustedW += widthIncrease; + } + + // v3: Height compensation for all text + let adjustedH = el.position.h * (1 + COMPENSATION.TEXT_HEIGHT); + // Clamp height to slide bottom + if (el.position.y + adjustedH > slideHeightIn) adjustedH = slideHeightIn - el.position.y; + if (adjustedH < 0.1) adjustedH = 0.1; + + // Centered headings: expand width symmetrically for PPT center alignment + if (el.style.align === 'center' && /^h[1-6]$/.test(el.type)) { + const centerX = adjustedX + adjustedW / 2; + const margin = 0.3; + const maxExpand = Math.min(centerX - margin, slideWidthIn - centerX - margin); + if (maxExpand > adjustedW / 2) { + adjustedX = centerX - maxExpand; + adjustedW = maxExpand * 2; + } + } + + // Clamp to slide bounds (safety net) + if (adjustedX < 0) { adjustedW += adjustedX; adjustedX = 0; } + if (adjustedX + adjustedW > slideWidthIn) adjustedW = slideWidthIn - adjustedX; + if (adjustedW < 0.1) adjustedW = 0.1; + // Cap at 680pt to prevent over-expansion from width compensation + if (adjustedW > MAX_TEXT_WIDTH_IN) adjustedW = MAX_TEXT_WIDTH_IN; + + const textOptions = { + x: adjustedX, y: el.position.y, w: adjustedW, h: adjustedH, + fontSize: el.style.fontSize, fontFace: el.style.fontFace, color: el.style.color, + bold: el.style.bold, italic: el.style.italic, underline: el.style.underline, + valign: 'top', charSpacing: el.style.charSpacing, lineSpacing: el.style.lineSpacing, + paraSpaceBefore: el.style.paraSpaceBefore, paraSpaceAfter: el.style.paraSpaceAfter, + inset: 0 + }; + if (el.style.align) textOptions.align = el.style.align; + if (el.style.margin) textOptions.margin = el.style.margin; + if (el.style.rotate !== undefined) textOptions.rotate = el.style.rotate; + if (el.style.transparency !== null && el.style.transparency !== undefined) textOptions.transparency = el.style.transparency; + if (el.noWrap) textOptions.wrap = false; + + targetSlide.addText(el.text, textOptions); + } + } +} + +// Helper: Extract slide data from HTML page +async function extractSlideData(page) { + return await page.evaluate(() => { + const PT_PER_PX = 0.75; + const PX_PER_IN = 96; + + // Fonts that are single-weight and should not have bold applied + // (applying bold causes PowerPoint to use faux bold which makes text wider) + const SINGLE_WEIGHT_FONTS = ['impact']; + + // Helper: Check if a font should skip bold formatting + const shouldSkipBold = (fontFamily) => { + if (!fontFamily) return false; + const normalizedFont = fontFamily.toLowerCase().replace(/['"]/g, '').split(',')[0].trim(); + return SINGLE_WEIGHT_FONTS.includes(normalizedFont); + }; + + // Known CJK font name fragments (lowercase) — presence means the element targets CJK text + const CJK_FONT_FRAGMENTS = [ + 'yahei', '雅黑', 'simhei', '黑体', 'simsun', '宋体', 'kaiti', '楷体', + 'fangsong', '仿宋', 'pingfang', 'hiragino', 'noto sans cjk', 'noto sans sc', + 'noto sans tc', 'noto sans hk', 'source han sans', '思源黑体', '思源宋体', + 'wenquanyi', 'arial unicode', 'yugothic', 'meiryo', 'ms gothic', 'ms mincho', + 'malgun gothic', 'apple sd gothic', 'heiti', 'songti', 'wawati', 'weibei', + 'libian', 'xingkai', 'baoli', 'yuanti', 'dengxian', '等线', 'stxihei', + 'stheiti', 'stkaiti', 'stsong', 'stfangsong' + ]; + + // Detect if text content contains CJK characters + const hasCJKChars = (text) => /[\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]/.test(text); + + // v3: Smart font mapping — PPT-safe fonts pass through, others get mapped + // fontConfig from caller is still respected as ultimate fallback for CJK/Latin defaults + const _fc = window.__FONT_CONFIG__ || {}; + + // macOS-only / web fonts → cross-platform PPT-safe equivalents + const FONT_FALLBACK_MAP = { + 'pingfang sc': 'Microsoft YaHei', 'pingfang tc': 'Microsoft YaHei', 'pingfang hk': 'Microsoft YaHei', + 'hiragino sans': 'Microsoft YaHei', 'hiragino sans gb': 'Microsoft YaHei', + 'hiragino mincho pron': 'SimSun', 'hiragino maru gothic pro': 'Microsoft YaHei', + 'heiti sc': 'SimHei', 'heiti tc': 'SimHei', 'songti sc': 'SimSun', + 'stxihei': 'Microsoft YaHei', 'stheiti': 'SimHei', 'stkaiti': 'KaiTi', + 'stsong': 'SimSun', 'stfangsong': 'FangSong', 'apple sd gothic neo': 'Microsoft YaHei', + 'noto sans sc': 'Microsoft YaHei', 'noto sans tc': 'Microsoft YaHei', + 'noto sans cjk sc': 'Microsoft YaHei', 'noto serif sc': 'SimSun', + 'source han sans sc': 'Microsoft YaHei', 'source han serif sc': 'SimSun', + 'source han sans': 'Microsoft YaHei', 'source han serif': 'SimSun', + '思源黑体': 'Microsoft YaHei', '思源宋体': 'SimSun', + '阿里巴巴普惠体': 'Microsoft YaHei', + 'system-ui': 'Century Gothic', '-apple-system': 'Century Gothic', 'blinkmacsystemfont': 'Century Gothic', + 'segoe ui': 'Century Gothic', 'helvetica neue': 'Arial', 'helvetica': 'Arial', + 'sans-serif': 'Century Gothic', 'serif': 'Times New Roman', 'monospace': 'Courier New', + 'inter': 'Century Gothic', 'roboto': 'Arial', 'roboto slab': 'Rockwell', + 'open sans': 'Century Gothic', 'lato': 'Century Gothic', 'montserrat': 'Century Gothic', + 'poppins': 'Candara', 'raleway': 'Century Gothic', 'nunito': 'Candara', + 'nunito sans': 'Candara', 'source sans pro': 'Corbel', 'source sans 3': 'Corbel', + 'source serif pro': 'Georgia', 'work sans': 'Century Gothic', 'dm sans': 'Century Gothic', + 'space grotesk': 'Century Gothic', 'plus jakarta sans': 'Candara', + 'manrope': 'Corbel', 'fira sans': 'Corbel', 'playfair display': 'Georgia', + 'merriweather': 'Georgia', 'libre baskerville': 'Georgia', + 'pt sans': 'Corbel', 'pt serif': 'Constantia', 'ubuntu': 'Century Gothic', + }; + + // PPT-safe fonts — pass through directly without mapping + const PPT_SAFE_FONTS = new Set([ + 'microsoft yahei', '微软雅黑', 'simhei', '黑体', 'simsun', '宋体', + 'kaiti', '楷体', 'simkai', 'fangsong', '仿宋', 'dengxian', '等线', + 'calibri', 'arial', 'arial black', 'arial narrow', + 'times new roman', 'georgia', 'gill sans mt', + 'century gothic', 'palatino linotype', 'palatino', + 'trebuchet ms', 'garamond', 'rockwell', 'candara', 'corbel', + 'constantia', 'cambria', 'book antiqua', 'courier new', + 'verdana', 'tahoma', 'impact', 'comic sans ms', + 'lucida sans', 'franklin gothic medium', 'bodoni mt', + 'copperplate gothic', 'tw cen mt', 'century schoolbook', + ]); + + const mapFontFace = (fontFamily, textContent = '') => { + if (!fontFamily) { + return hasCJKChars(textContent) ? (_fc.cjk || 'Microsoft YaHei') : (_fc.latin || 'Century Gothic'); + } + const fonts = fontFamily.split(',').map(f => f.trim().replace(/['"]/g, '')); + for (const font of fonts) { + const lower = font.toLowerCase(); + const isCJKFont = CJK_FONT_FRAGMENTS.some(f => lower.includes(f)); + if (PPT_SAFE_FONTS.has(lower)) { + // CJK font specified but text has no CJK characters → use Latin font to avoid + // mixing Century Gothic and YaHei for English-only content + if (isCJKFont && !hasCJKChars(textContent)) return _fc.latin || 'Century Gothic'; + return font; + } + if (FONT_FALLBACK_MAP[lower]) { + const mapped = FONT_FALLBACK_MAP[lower]; + const mappedIsCJK = CJK_FONT_FRAGMENTS.some(f => mapped.toLowerCase().includes(f)); + // If the mapped font is a non-CJK font but the text has CJK chars, keep looking + // (e.g. font-family:'Inter','Microsoft YaHei' with Chinese text should use YaHei, not Century Gothic) + if (!mappedIsCJK && hasCJKChars(textContent)) continue; + return mapped; + } + if (['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy'].includes(lower)) continue; + if (isCJKFont || hasCJKChars(textContent)) return _fc.cjk || 'Microsoft YaHei'; + return font; // unknown non-CJK font: pass through + } + return hasCJKChars(textContent) ? (_fc.cjk || 'Microsoft YaHei') : (_fc.latin || 'Century Gothic'); + }; + + // Unit conversion helpers + const pxToInch = (px) => px / PX_PER_IN; + const pxToPoints = (pxStr) => parseFloat(pxStr) * PT_PER_PX; + const rgbToHex = (rgbStr) => { + // Handle transparent backgrounds by defaulting to white + if (rgbStr === 'rgba(0, 0, 0, 0)' || rgbStr === 'transparent') return 'FFFFFF'; + + const match = rgbStr.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/); + if (!match) return 'FFFFFF'; + return match.slice(1).map(n => parseInt(n).toString(16).padStart(2, '0')).join(''); + }; + + const extractAlpha = (rgbStr) => { + const match = rgbStr.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/); + if (!match || !match[4]) return null; + const alpha = parseFloat(match[4]); + return Math.round((1 - alpha) * 100); + }; + + const applyTextTransform = (text, textTransform) => { + if (textTransform === 'uppercase') return text.toUpperCase(); + if (textTransform === 'lowercase') return text.toLowerCase(); + if (textTransform === 'capitalize') { + return text.replace(/\b\w/g, c => c.toUpperCase()); + } + return text; + }; + + // Extract rotation angle from CSS transform and writing-mode + const getRotation = (transform, writingMode) => { + let angle = 0; + + // Handle writing-mode first + // PowerPoint: 90° = text rotated 90° clockwise (reads top to bottom, letters upright) + // PowerPoint: 270° = text rotated 270° clockwise (reads bottom to top, letters upright) + if (writingMode === 'vertical-rl') { + // vertical-rl alone = text reads top to bottom = 90° in PowerPoint + angle = 90; + } else if (writingMode === 'vertical-lr') { + // vertical-lr alone = text reads bottom to top = 270° in PowerPoint + angle = 270; + } + + // Then add any transform rotation + if (transform && transform !== 'none') { + // Try to match rotate() function + const rotateMatch = transform.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/); + if (rotateMatch) { + angle += parseFloat(rotateMatch[1]); + } else { + // Browser may compute as matrix - extract rotation from matrix + const matrixMatch = transform.match(/matrix\(([^)]+)\)/); + if (matrixMatch) { + const values = matrixMatch[1].split(',').map(parseFloat); + // matrix(a, b, c, d, e, f) where rotation = atan2(b, a) + const matrixAngle = Math.atan2(values[1], values[0]) * (180 / Math.PI); + angle += Math.round(matrixAngle); + } + } + } + + // Normalize to 0-359 range + angle = angle % 360; + if (angle < 0) angle += 360; + + return angle === 0 ? null : angle; + }; + + // Get position/dimensions accounting for rotation + const getPositionAndSize = (el, rect, rotation) => { + if (rotation === null) { + return { x: rect.left, y: rect.top, w: rect.width, h: rect.height }; + } + + // For 90° or 270° rotations, swap width and height + // because PowerPoint applies rotation to the original (unrotated) box + const isVertical = rotation === 90 || rotation === 270; + + if (isVertical) { + // The browser shows us the rotated dimensions (tall box for vertical text) + // But PowerPoint needs the pre-rotation dimensions (wide box that will be rotated) + // So we swap: browser's height becomes PPT's width, browser's width becomes PPT's height + const centerX = rect.left + rect.width / 2; + const centerY = rect.top + rect.height / 2; + + return { + x: centerX - rect.height / 2, + y: centerY - rect.width / 2, + w: rect.height, + h: rect.width + }; + } + + // For other rotations, use element's offset dimensions + const centerX = rect.left + rect.width / 2; + const centerY = rect.top + rect.height / 2; + return { + x: centerX - el.offsetWidth / 2, + y: centerY - el.offsetHeight / 2, + w: el.offsetWidth, + h: el.offsetHeight + }; + }; + + // Parse CSS box-shadow into PptxGenJS shadow properties + const parseBoxShadow = (boxShadow) => { + if (!boxShadow || boxShadow === 'none') return null; + + // Browser computed style format: "rgba(0, 0, 0, 0.3) 2px 2px 8px 0px [inset]" + // CSS format: "[inset] 2px 2px 8px 0px rgba(0, 0, 0, 0.3)" + + const insetMatch = boxShadow.match(/inset/); + + // IMPORTANT: PptxGenJS/PowerPoint doesn't properly support inset shadows + // Only process outer shadows to avoid file corruption + if (insetMatch) return null; + + // Extract color first (rgba or rgb at start) + const colorMatch = boxShadow.match(/rgba?\([^)]+\)/); + + // Extract numeric values (handles both px and pt units) + const parts = boxShadow.match(/([-\d.]+)(px|pt)/g); + + if (!parts || parts.length < 2) return null; + + const offsetX = parseFloat(parts[0]); + const offsetY = parseFloat(parts[1]); + const blur = parts.length > 2 ? parseFloat(parts[2]) : 0; + + // Calculate angle from offsets (in degrees, 0 = right, 90 = down) + let angle = 0; + if (offsetX !== 0 || offsetY !== 0) { + angle = Math.atan2(offsetY, offsetX) * (180 / Math.PI); + if (angle < 0) angle += 360; + } + + // Calculate offset distance (hypotenuse) + const offset = Math.sqrt(offsetX * offsetX + offsetY * offsetY) * PT_PER_PX; + + // Extract opacity from rgba + let opacity = 0.5; + if (colorMatch) { + const opacityMatch = colorMatch[0].match(/[\d.]+\)$/); + if (opacityMatch) { + opacity = parseFloat(opacityMatch[0].replace(')', '')); + } + } + + return { + type: 'outer', + angle: Math.round(angle), + blur: blur * 0.75, // Convert to points + color: colorMatch ? rgbToHex(colorMatch[0]) : '000000', + offset: offset, + opacity + }; + }; + + // Parse inline formatting tags (<b>, <i>, <u>, <strong>, <em>, <span>) into text runs + const parseInlineFormatting = (element, baseOptions = {}, runs = [], baseTextTransform = (x) => x) => { + let prevNodeIsText = false; + + element.childNodes.forEach((node) => { + let textTransform = baseTextTransform; + + const isText = node.nodeType === Node.TEXT_NODE || node.tagName === 'BR'; + if (isText) { + const text = node.tagName === 'BR' ? '\n' : textTransform(node.textContent.replace(/\s+/g, ' ')); + const prevRun = runs[runs.length - 1]; + if (prevNodeIsText && prevRun) { + prevRun.text += text; + } else { + runs.push({ text, options: { ...baseOptions } }); + } + + } else if (node.nodeType === Node.ELEMENT_NODE && node.textContent.trim()) { + const options = { ...baseOptions }; + const computed = window.getComputedStyle(node); + + // Handle inline elements with computed styles + if (node.tagName === 'SPAN' || node.tagName === 'B' || node.tagName === 'STRONG' || node.tagName === 'I' || node.tagName === 'EM' || node.tagName === 'U') { + const isBold = computed.fontWeight === 'bold' || parseInt(computed.fontWeight) >= 600; + if (isBold && !shouldSkipBold(computed.fontFamily)) options.bold = true; + if (computed.fontStyle === 'italic') options.italic = true; + if (computed.textDecoration && computed.textDecoration.includes('underline')) options.underline = true; + if (computed.color && computed.color !== 'rgb(0, 0, 0)') { + options.color = rgbToHex(computed.color); + const transparency = extractAlpha(computed.color); + if (transparency !== null) options.transparency = transparency; + } + if (computed.fontSize) options.fontSize = pxToPoints(computed.fontSize); + if (computed.letterSpacing && computed.letterSpacing !== 'normal') options.charSpacing = pxToPoints(computed.letterSpacing); + + // Apply text-transform on the span element itself + if (computed.textTransform && computed.textTransform !== 'none') { + const transformStr = computed.textTransform; + textTransform = (text) => applyTextTransform(text, transformStr); + } + + // Validate: Check for margins on inline elements + if (computed.marginLeft && parseFloat(computed.marginLeft) > 0) { + errors.push(`Inline element <${node.tagName.toLowerCase()}> has margin-left which is not supported in PowerPoint. Remove margin from inline elements.`); + } + if (computed.marginRight && parseFloat(computed.marginRight) > 0) { + errors.push(`Inline element <${node.tagName.toLowerCase()}> has margin-right which is not supported in PowerPoint. Remove margin from inline elements.`); + } + if (computed.marginTop && parseFloat(computed.marginTop) > 0) { + errors.push(`Inline element <${node.tagName.toLowerCase()}> has margin-top which is not supported in PowerPoint. Remove margin from inline elements.`); + } + if (computed.marginBottom && parseFloat(computed.marginBottom) > 0) { + errors.push(`Inline element <${node.tagName.toLowerCase()}> has margin-bottom which is not supported in PowerPoint. Remove margin from inline elements.`); + } + + // Recursively process the child node. This will flatten nested spans into multiple runs. + parseInlineFormatting(node, options, runs, textTransform); + } else { + // Unknown inline element (e.g. <a>, <code>, <sub>, <sup>, <mark>) — + // extract its text content as plain text to avoid silent data loss. + const text = textTransform(node.textContent.replace(/\s+/g, ' ')); + if (text.trim()) runs.push({ text, options: { ...baseOptions } }); + } + } + + prevNodeIsText = isText; + }); + + // Trim leading space from first run and trailing space from last run + if (runs.length > 0) { + runs[0].text = runs[0].text.replace(/^\s+/, ''); + runs[runs.length - 1].text = runs[runs.length - 1].text.replace(/\s+$/, ''); + } + + return runs.filter(r => r.text.length > 0); + }; + + // Extract background from body (image or color) + const body = document.body; + const bodyStyle = window.getComputedStyle(body); + const bgImage = bodyStyle.backgroundImage; + const bgColor = bodyStyle.backgroundColor; + + // Collect validation errors + const errors = []; + + // Validate: Check for CSS gradients + if (bgImage && (bgImage.includes('linear-gradient') || bgImage.includes('radial-gradient'))) { + errors.push( + 'CSS gradients are not supported. Use Sharp to rasterize gradients as PNG images first, ' + + 'then reference with background-image: url(\'gradient.png\')' + ); + } + + let background; + if (bgImage && bgImage !== 'none') { + // Extract URL from url("...") or url(...) + const urlMatch = bgImage.match(/url\(["']?([^"')]+)["']?\)/); + if (urlMatch) { + background = { + type: 'image', + path: urlMatch[1] + }; + } else { + background = { + type: 'color', + value: rgbToHex(bgColor) + }; + } + } else { + background = { + type: 'color', + value: rgbToHex(bgColor) + }; + } + + // Process all elements + const elements = []; + const placeholders = []; + const textTags = ['P', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'UL', 'OL', 'LI']; + // Block container elements treated identically to DIV (background → shape, unwrapped text → error) + const blockContainerTags = new Set(['DIV', 'SECTION', 'HEADER', 'FOOTER', 'ARTICLE', 'ASIDE', 'MAIN', 'NAV', 'FIGURE']); + // Inline elements that LLMs sometimes use as standalone block text containers + const inlineAsBlockTags = new Set(['SPAN', 'STRONG', 'B', 'EM', 'I', 'A', 'LABEL', 'CODE', 'MARK', 'TIME', 'CITE', 'ABBR', 'S', 'U']); + // Block elements that are text-leaf-ish (rarely contain P/H* children) + const leafBlockTags = new Set(['FIGCAPTION', 'DT', 'DD', 'CAPTION', 'BLOCKQUOTE', 'TD', 'TH', 'SUMMARY']); + const processed = new Set(); + + // Switch every element to border-box BEFORE any getBoundingClientRect() call. + // This makes "width + padding" mean the total box size (not content-box size), + // so elements like `width:720pt; padding:0 48pt` stay within the 720pt body + // instead of overflowing to 816pt. Only affects elements that have an explicit + // width/height set; elements sized by content or flex-grow are unaffected. + document.querySelectorAll('*').forEach(el => { el.style.boxSizing = 'border-box'; }); + + document.querySelectorAll('*').forEach((el) => { + if (processed.has(el)) return; + + // Validate text elements don't have backgrounds, borders, or shadows + if (textTags.includes(el.tagName)) { + const computed = window.getComputedStyle(el); + const hasBg = computed.backgroundColor && computed.backgroundColor !== 'rgba(0, 0, 0, 0)'; + const hasBorder = (computed.borderWidth && parseFloat(computed.borderWidth) > 0) || + (computed.borderTopWidth && parseFloat(computed.borderTopWidth) > 0) || + (computed.borderRightWidth && parseFloat(computed.borderRightWidth) > 0) || + (computed.borderBottomWidth && parseFloat(computed.borderBottomWidth) > 0) || + (computed.borderLeftWidth && parseFloat(computed.borderLeftWidth) > 0); + const hasShadow = computed.boxShadow && computed.boxShadow !== 'none'; + + if (hasBg || hasBorder || hasShadow) { + errors.push( + `Text element <${el.tagName.toLowerCase()}> has ${hasBg ? 'background' : hasBorder ? 'border' : 'shadow'}. ` + + 'Backgrounds, borders, and shadows are only supported on <div> elements, not text elements.' + ); + return; + } + } + + // Extract placeholder elements (for charts, etc.) + if (el.className && el.className.includes('placeholder')) { + const rect = el.getBoundingClientRect(); + if (rect.width === 0 || rect.height === 0) { + errors.push( + `Placeholder "${el.id || 'unnamed'}" has ${rect.width === 0 ? 'width: 0' : 'height: 0'}. Check the layout CSS.` + ); + } else { + placeholders.push({ + id: el.id || `placeholder-${placeholders.length}`, + x: pxToInch(rect.left), + y: pxToInch(rect.top), + w: pxToInch(rect.width), + h: pxToInch(rect.height) + }); + } + processed.add(el); + el.querySelectorAll('*').forEach(child => processed.add(child)); + return; + } + + // Extract images + if (el.tagName === 'IMG') { + const rect = el.getBoundingClientRect(); + if (rect.width > 0 && rect.height > 0) { + elements.push({ + type: 'image', + src: el.src, + position: { + x: pxToInch(rect.left), + y: pxToInch(rect.top), + w: pxToInch(rect.width), + h: pxToInch(rect.height) + } + }); + processed.add(el); + return; + } + } + + // Extract block container elements (DIV, SECTION, HEADER, FOOTER, etc.) with backgrounds/borders as shapes + const isContainer = blockContainerTags.has(el.tagName); + if (isContainer) { + const computed = window.getComputedStyle(el); + const hasBg = computed.backgroundColor && computed.backgroundColor !== 'rgba(0, 0, 0, 0)'; + + // Validate: Check for unwrapped text content in block container + for (const node of el.childNodes) { + if (node.nodeType === Node.TEXT_NODE) { + const text = node.textContent.trim(); + if (text) { + errors.push( + `<${el.tagName.toLowerCase()}> contains unwrapped text "${text.substring(0, 50)}${text.length > 50 ? '...' : ''}". ` + + 'All text must be wrapped in <p>, <h1>-<h6>, <ul>, or <ol> tags to appear in PowerPoint.' + ); + } + } + } + + // Check for background images on shapes + const bgImage = computed.backgroundImage; + if (bgImage && bgImage !== 'none') { + errors.push( + 'Background images on DIV elements are not supported. ' + + 'Use solid colors or borders for shapes, or use slide.addImage() in PptxGenJS to layer images.' + ); + return; + } + + // Check for borders - both uniform and partial + const borderTop = computed.borderTopWidth; + const borderRight = computed.borderRightWidth; + const borderBottom = computed.borderBottomWidth; + const borderLeft = computed.borderLeftWidth; + const borders = [borderTop, borderRight, borderBottom, borderLeft].map(b => parseFloat(b) || 0); + const hasBorder = borders.some(b => b > 0); + const hasUniformBorder = hasBorder && borders.every(b => b === borders[0]); + const borderLines = []; + + if (hasBorder && !hasUniformBorder) { + const rect = el.getBoundingClientRect(); + const x = pxToInch(rect.left); + const y = pxToInch(rect.top); + const w = pxToInch(rect.width); + const h = pxToInch(rect.height); + + // Collect lines to add after shape (inset by half the line width to center on edge) + if (parseFloat(borderTop) > 0) { + const widthPt = pxToPoints(borderTop); + const inset = (widthPt / 72) / 2; // Convert points to inches, then half + borderLines.push({ + type: 'line', + x1: x, y1: y + inset, x2: x + w, y2: y + inset, + width: widthPt, + color: rgbToHex(computed.borderTopColor) + }); + } + if (parseFloat(borderRight) > 0) { + const widthPt = pxToPoints(borderRight); + const inset = (widthPt / 72) / 2; + borderLines.push({ + type: 'line', + x1: x + w - inset, y1: y, x2: x + w - inset, y2: y + h, + width: widthPt, + color: rgbToHex(computed.borderRightColor) + }); + } + if (parseFloat(borderBottom) > 0) { + const widthPt = pxToPoints(borderBottom); + const inset = (widthPt / 72) / 2; + borderLines.push({ + type: 'line', + x1: x, y1: y + h - inset, x2: x + w, y2: y + h - inset, + width: widthPt, + color: rgbToHex(computed.borderBottomColor) + }); + } + if (parseFloat(borderLeft) > 0) { + const widthPt = pxToPoints(borderLeft); + const inset = (widthPt / 72) / 2; + borderLines.push({ + type: 'line', + x1: x + inset, y1: y, x2: x + inset, y2: y + h, + width: widthPt, + color: rgbToHex(computed.borderLeftColor) + }); + } + } + + if (hasBg || hasBorder) { + const rect = el.getBoundingClientRect(); + if (rect.width > 0 && rect.height > 0) { + const shadow = parseBoxShadow(computed.boxShadow); + + // Only add shape if there's background or uniform border + if (hasBg || hasUniformBorder) { + elements.push({ + type: 'shape', + text: '', // Shape only - child text elements render on top + position: { + x: pxToInch(rect.left), + y: pxToInch(rect.top), + w: pxToInch(rect.width), + h: pxToInch(rect.height) + }, + shape: { + fill: hasBg ? rgbToHex(computed.backgroundColor) : null, + transparency: hasBg ? extractAlpha(computed.backgroundColor) : null, + line: hasUniformBorder ? { + color: rgbToHex(computed.borderColor), + width: pxToPoints(computed.borderWidth) + } : null, + // Convert border-radius to rectRadius (in inches) + // % values: 50%+ = circle (1), <50% = percentage of min dimension + // pt values: divide by 72 (72pt = 1 inch) + // px values: divide by 96 (96px = 1 inch) + rectRadius: (() => { + const radius = computed.borderRadius; + const radiusValue = parseFloat(radius); + if (radiusValue === 0) return 0; + + if (radius.includes('%')) { + if (radiusValue >= 50) return 1; + // Calculate percentage of smaller dimension + const minDim = Math.min(rect.width, rect.height); + return (radiusValue / 100) * pxToInch(minDim); + } + + if (radius.includes('pt')) return radiusValue / 72; + return radiusValue / PX_PER_IN; + })(), + shadow: shadow + } + }); + } + + // Add partial border lines + elements.push(...borderLines); + + processed.add(el); + return; + } + } + } + + // Extract bullet lists as single text block + if (el.tagName === 'UL' || el.tagName === 'OL') { + const rect = el.getBoundingClientRect(); + if (rect.width === 0 || rect.height === 0) return; + + const liElements = Array.from(el.querySelectorAll('li')); + const items = []; + const ulComputed = window.getComputedStyle(el); + const ulPaddingLeftPt = pxToPoints(ulComputed.paddingLeft); + + // Split: margin-left for bullet position, indent for text position + // margin-left + indent = ul padding-left + const marginLeft = ulPaddingLeftPt * 0.5; + const textIndent = ulPaddingLeftPt * 0.5; + + liElements.forEach((li, idx) => { + const isLast = idx === liElements.length - 1; + const runs = parseInlineFormatting(li, { breakLine: false }); + // Clean manual bullets from first run + if (runs.length > 0) { + runs[0].text = runs[0].text.replace(/^[•\-\*▪▸]\s*/, ''); + runs[0].options.bullet = { indent: textIndent }; + } + // Set breakLine on last run + if (runs.length > 0 && !isLast) { + runs[runs.length - 1].options.breakLine = true; + } + items.push(...runs); + }); + + const computed = window.getComputedStyle(liElements[0] || el); + + elements.push({ + type: 'list', + items: items, + position: { + x: pxToInch(rect.left), + y: pxToInch(rect.top), + w: pxToInch(rect.width), + h: pxToInch(rect.height) + }, + style: { + fontSize: pxToPoints(computed.fontSize), + fontFace: mapFontFace(computed.fontFamily, el.textContent), + color: rgbToHex(computed.color), + transparency: extractAlpha(computed.color), + align: computed.textAlign === 'start' ? 'left' : computed.textAlign === 'end' ? 'right' : computed.textAlign, + lineSpacing: computed.lineHeight && computed.lineHeight !== 'normal' ? pxToPoints(computed.lineHeight) : null, + charSpacing: computed.letterSpacing && computed.letterSpacing !== 'normal' ? pxToPoints(computed.letterSpacing) : undefined, + paraSpaceBefore: 0, + paraSpaceAfter: pxToPoints(computed.marginBottom), + // PptxGenJS margin array is [left, right, bottom, top] + margin: [marginLeft, 0, 0, 0] + } + }); + + liElements.forEach(li => processed.add(li)); + processed.add(el); + return; + } + + // Elements used as block-level text containers outside of any text tag: + // 1. Inline elements (span/strong/b/em/i/a/label/code/…) misused as block containers + // 2. Leaf-block elements (figcaption/dt/dd/td/th/blockquote/…) that directly hold text + // — only when they contain no block-text descendants to avoid duplicate extraction + if (inlineAsBlockTags.has(el.tagName) && !el.closest('p,h1,h2,h3,h4,h5,h6,li')) { + el._treatAsP = true; + } else if (leafBlockTags.has(el.tagName) && !el.closest('p,h1,h2,h3,h4,h5,h6,li')) { + if (!el.querySelector('p,h1,h2,h3,h4,h5,h6,ul,ol')) { + el._treatAsP = true; + } + } + + // Extract text elements (P, H1, H2, etc.) + if (!textTags.includes(el.tagName) && !el._treatAsP) return; + + const rect = el.getBoundingClientRect(); + const text = el.textContent.trim(); + if (rect.width === 0 || rect.height === 0 || !text) return; + + // Validate: Check for manual bullet symbols in text elements (not in lists) + if (el.tagName !== 'LI' && /^[•\-\*▪▸○●◆◇■□]\s/.test(text.trimStart())) { + errors.push( + `Text element <${el.tagName.toLowerCase()}> starts with bullet symbol "${text.substring(0, 20)}...". ` + + 'Use <ul> or <ol> lists instead of manual bullet symbols.' + ); + return; + } + + const computed = window.getComputedStyle(el); + const rotation = getRotation(computed.transform, computed.writingMode); + const { x, y, w, h } = getPositionAndSize(el, rect, rotation); + + // v3: Detect white-space: nowrap and z-index + const noWrap = computed.whiteSpace === 'nowrap' || computed.whiteSpace === 'pre'; + const cssZIndex = parseInt(computed.zIndex) || 0; + + const baseStyle = { + fontSize: pxToPoints(computed.fontSize), + fontFace: mapFontFace(computed.fontFamily, text), + color: rgbToHex(computed.color), + align: computed.textAlign === 'start' ? 'left' : computed.textAlign === 'end' ? 'right' : computed.textAlign, + charSpacing: computed.letterSpacing && computed.letterSpacing !== 'normal' ? pxToPoints(computed.letterSpacing) : undefined, + lineSpacing: computed.lineHeight && computed.lineHeight !== 'normal' ? pxToPoints(computed.lineHeight) : null, + paraSpaceBefore: pxToPoints(computed.marginTop), + paraSpaceAfter: pxToPoints(computed.marginBottom), + // PptxGenJS margin array is [left, right, bottom, top] (not [top, right, bottom, left] as documented) + margin: [ + pxToPoints(computed.paddingLeft), + pxToPoints(computed.paddingRight), + pxToPoints(computed.paddingBottom), + pxToPoints(computed.paddingTop) + ] + }; + + const transparency = extractAlpha(computed.color); + if (transparency !== null) baseStyle.transparency = transparency; + + if (rotation !== null) baseStyle.rotate = rotation; + + const hasFormatting = el.querySelector('b, i, u, strong, em, span, br'); + + if (hasFormatting) { + // Text with inline formatting + const transformStr = computed.textTransform; + const runs = parseInlineFormatting(el, {}, [], (str) => applyTextTransform(str, transformStr)); + + // Adjust lineSpacing based on largest fontSize in runs + const adjustedStyle = { ...baseStyle }; + if (adjustedStyle.lineSpacing) { + const maxFontSize = Math.max( + adjustedStyle.fontSize, + ...runs.map(r => r.options?.fontSize || 0) + ); + if (maxFontSize > adjustedStyle.fontSize) { + const lineHeightMultiplier = adjustedStyle.lineSpacing / adjustedStyle.fontSize; + adjustedStyle.lineSpacing = maxFontSize * lineHeightMultiplier; + } + } + + elements.push({ + type: el._treatAsP ? 'p' : el.tagName.toLowerCase(), + text: runs, + noWrap, + zIndex: cssZIndex, + position: { x: pxToInch(x), y: pxToInch(y), w: pxToInch(w), h: pxToInch(h) }, + style: adjustedStyle + }); + } else { + // Plain text - inherit CSS formatting + const textTransform = computed.textTransform; + const transformedText = applyTextTransform(text, textTransform); + + const isBold = computed.fontWeight === 'bold' || parseInt(computed.fontWeight) >= 600; + + elements.push({ + type: el._treatAsP ? 'p' : el.tagName.toLowerCase(), + text: transformedText, + noWrap, + zIndex: cssZIndex, + position: { x: pxToInch(x), y: pxToInch(y), w: pxToInch(w), h: pxToInch(h) }, + style: { + ...baseStyle, + bold: isBold && !shouldSkipBold(computed.fontFamily), + italic: computed.fontStyle === 'italic', + underline: computed.textDecoration.includes('underline') + } + }); + } + + processed.add(el); + }); + + return { background, elements, placeholders, errors }; + }); +} + +async function html2pptx(htmlFile, pres, options = {}) { + const { + tmpDir = process.env.TMPDIR || '/tmp', + slide = null, + fontConfig = null // { cjk: 'SimHei', latin: 'Century Gothic', emphasis: 'Franklin Gothic Medium' } + } = options; + + try { + // Use Chrome on macOS, default Chromium on Unix + const launchOptions = { env: { TMPDIR: tmpDir } }; + if (process.platform === 'darwin') { + launchOptions.channel = 'chrome'; + } + + const browser = await chromium.launch(launchOptions); + + let bodyDimensions; + let slideData; + + const filePath = path.isAbsolute(htmlFile) ? htmlFile : path.join(process.cwd(), htmlFile); + const validationErrors = []; + + try { + const page = await browser.newPage(); + page.on('console', (msg) => { + // Log the message text to your test runner's console + console.log(`Browser console: ${msg.text()}`); + }); + + await page.goto(`file://${filePath}`); + + // Inject font config into the page for extractSlideData to use + if (fontConfig) { + await page.evaluate((fc) => { window.__FONT_CONFIG__ = fc; }, fontConfig); + } + + bodyDimensions = await getBodyDimensions(page); + + await page.setViewportSize({ + width: Math.round(bodyDimensions.width), + height: Math.round(bodyDimensions.height) + }); + + // Force a layout reflow after viewport resize so flex centering takes effect + await page.evaluate(() => void document.body.offsetHeight); + await page.waitForTimeout(100); + + // Re-read body dimensions after reflow to capture correct layout + bodyDimensions = await getBodyDimensions(page); + + slideData = await extractSlideData(page); + } finally { + await browser.close(); + } + + // Apply emphasis font to bold numeric text (e.g. KPI values, percentages) + if (fontConfig?.emphasis) applyEmphasisFont(slideData, fontConfig.emphasis); + + // Collect all validation errors + const overflowWarnings = []; + if (bodyDimensions.errors && bodyDimensions.errors.length > 0) { + overflowWarnings.push(...bodyDimensions.errors); + } + + // const dimensionErrors = validateDimensions(bodyDimensions, pres); + // if (dimensionErrors.length > 0) { + // validationErrors.push(...dimensionErrors); + // } + + // const textBoxPositionErrors = validateTextBoxPosition(slideData, bodyDimensions); + // if (textBoxPositionErrors.length > 0) { + // validationErrors.push(...textBoxPositionErrors); + // } + + if (slideData.errors && slideData.errors.length > 0) { + validationErrors.push(...slideData.errors); + } + + // v3: Min font size check (blocking) + const fontErrors = checkMinFontSize(slideData); + if (fontErrors.length > 0) validationErrors.push(...fontErrors); + + // Throw blocking errors (structural issues that corrupt the output) + if (validationErrors.length > 0) { + const errorMessage = validationErrors.length === 1 + ? validationErrors[0] + : `Multiple validation errors found:\n${validationErrors.map((e, i) => ` ${i + 1}. ${e}`).join('\n')}`; + throw new Error(errorMessage); + } + + // v3: Collect all non-blocking warnings + const slideWidthIn = pres.presLayout ? pres.presLayout.width / EMU_PER_IN : 10; + const slideHeightIn = pres.presLayout ? pres.presLayout.height / EMU_PER_IN : 5.625; + const allWarnings = [...overflowWarnings]; + allWarnings.push(...checkElementBounds(slideData, slideWidthIn, slideHeightIn)); + allWarnings.push(...checkVerticalBalance(slideData, slideHeightIn)); + allWarnings.push(...checkTextOverlaps(slideData)); + allWarnings.push(...checkCharCount(slideData)); + + const targetSlide = slide || pres.addSlide(); + + await addBackground(slideData, targetSlide, pres, tmpDir); + addElements(slideData, targetSlide, pres, tmpDir); + + // Print warnings after successful conversion (non-blocking) + if (allWarnings.length > 0) { + const suggestions = allWarnings.map((w, i) => ` ${i + 1}. ${w}`).join('\n'); + console.warn(`[html2pptx] ${htmlFile}: ${allWarnings.length} warning(s):\n${suggestions}`); + } + + return { slide: targetSlide, placeholders: slideData.placeholders, warnings: allWarnings }; + } catch (error) { + if (!error.message.startsWith(htmlFile)) { + throw new Error(`${htmlFile}: ${error.message}`); + } + throw error; + } +} + +module.exports = html2pptx; \ No newline at end of file diff --git a/skills/ppt/scripts/inventory.py b/skills/ppt/scripts/inventory.py new file mode 100755 index 0000000..95286c6 --- /dev/null +++ b/skills/ppt/scripts/inventory.py @@ -0,0 +1,512 @@ +#!/usr/bin/env python3 +""" +Extract structured text content from PowerPoint presentations. + +Usage: + python inventory.py input.pptx output.json [--issues-only] +""" + +import argparse +import json +import sys +from pathlib import Path +from typing import Any, Dict, List, Optional + +from pptx import Presentation +from pptx.enum.text import PP_ALIGN +from pptx.shapes.base import BaseShape + +# Public type alias used by replace.py: slide_id -> {shape_id -> ShapeData} +InventoryData = Dict[str, Dict[str, "ShapeData"]] + +_EMU = 914400 # EMUs per inch +_BULLET_NS = "{http://schemas.openxmlformats.org/drawingml/2006/main}" +_ALIGN_MAP = { + PP_ALIGN.CENTER: "CENTER", + PP_ALIGN.RIGHT: "RIGHT", + PP_ALIGN.JUSTIFY: "JUSTIFY", +} + + +def _is_cjk(ch: str) -> bool: + """True for full-width CJK characters (Chinese, Japanese, Korean, full-width forms).""" + cp = ord(ch) + return ( + 0x4E00 <= cp <= 0x9FFF # CJK Unified Ideographs + or 0x3400 <= cp <= 0x4DBF # CJK Extension A + or 0x3040 <= cp <= 0x30FF # Hiragana / Katakana + or 0xFF00 <= cp <= 0xFFEF # Full-width ASCII & half-width Katakana + or 0xAC00 <= cp <= 0xD7AF # Hangul syllables + ) + + +class ParagraphData: + """Text and formatting for one paragraph.""" + + def __init__(self, paragraph: Any): + self.text: str = paragraph.text.strip() + self.bullet: bool = False + self.level: Optional[int] = None + self.alignment: Optional[str] = None + self.space_before: Optional[float] = None + self.space_after: Optional[float] = None + self.font_name: Optional[str] = None + self.font_size: Optional[float] = None + self.bold: Optional[bool] = None + self.italic: Optional[bool] = None + self.underline: Optional[bool] = None + self.color: Optional[str] = None + self.theme_color: Optional[str] = None + self.line_spacing: Optional[float] = None + + # Bullet detection + pPr = getattr(getattr(paragraph, "_p", None), "pPr", None) + if pPr is not None and ( + pPr.find(f"{_BULLET_NS}buChar") is not None + or pPr.find(f"{_BULLET_NS}buAutoNum") is not None + ): + self.bullet = True + self.level = getattr(paragraph, "level", None) + + # Alignment (omit LEFT — it's the default) + align = getattr(paragraph, "alignment", None) + if align in _ALIGN_MAP: + self.alignment = _ALIGN_MAP[align] + + # Spacing + sb = getattr(paragraph, "space_before", None) + if sb: + self.space_before = sb.pt + sa = getattr(paragraph, "space_after", None) + if sa: + self.space_after = sa.pt + + # Font from first run + if paragraph.runs: + font = paragraph.runs[0].font + self.font_name = font.name or None + self.font_size = font.size.pt if font.size else None + self.bold = font.bold + self.italic = font.italic + self.underline = font.underline + try: + self.color = str(font.color.rgb) if font.color.rgb else None + except (AttributeError, TypeError): + try: + tc = font.color.theme_color + self.theme_color = tc.name if tc else None + except (AttributeError, TypeError): + pass + + # Line spacing (after font so font_size is available) + ls = getattr(paragraph, "line_spacing", None) + if ls is not None: + if hasattr(ls, "pt"): + self.line_spacing = round(ls.pt, 2) + else: + # Multiplier — convert to points using current font size + self.line_spacing = round(ls * (self.font_size or 12.0), 2) + + def to_dict(self) -> Dict[str, Any]: + d: Dict[str, Any] = {"text": self.text} + if self.bullet: + d["bullet"] = True + if self.level is not None: + d["level"] = self.level + if self.alignment: + d["alignment"] = self.alignment + for key in ("space_before", "space_after", "font_size", "line_spacing"): + val = getattr(self, key) + if val is not None: + d[key] = val + if self.font_name: + d["font_name"] = self.font_name + for key in ("bold", "italic", "underline"): + val = getattr(self, key) + if val is not None: + d[key] = val + if self.color: + d["color"] = self.color + elif self.theme_color: + d["theme_color"] = self.theme_color + return d + + +class ShapeData: + """Position, formatting metadata, and text content for one shape.""" + + def __init__( + self, + shape: BaseShape, + absolute_left: Optional[int] = None, + absolute_top: Optional[int] = None, + slide: Optional[Any] = None, + ): + self.shape = shape + self.shape_id: str = "" # assigned after sorting + + # Slide dimensions (for overflow checking) + self.slide_width_emu: Optional[int] = None + self.slide_height_emu: Optional[int] = None + if slide: + try: + prs_xml = slide.part.package.presentation_part.presentation + self.slide_width_emu = prs_xml.slide_width + self.slide_height_emu = prs_xml.slide_height + except (AttributeError, TypeError): + pass + + # Placeholder metadata + self.placeholder_type: Optional[str] = None + self.default_font_size: Optional[float] = None + if getattr(shape, "is_placeholder", False): + pf = shape.placeholder_format # type: ignore + if pf and pf.type: + self.placeholder_type = str(pf.type).split(".")[-1].split(" ")[0] + if slide and hasattr(slide, "slide_layout"): + self.default_font_size = _layout_font_size(shape, slide.slide_layout) + + # Position in inches (use absolute coords for shapes inside groups) + left_emu = absolute_left if absolute_left is not None else getattr(shape, "left", 0) + top_emu = absolute_top if absolute_top is not None else getattr(shape, "top", 0) + self.left = round(left_emu / _EMU, 2) + self.top = round(top_emu / _EMU, 2) + self.width = round(getattr(shape, "width", 0) / _EMU, 2) + self.height = round(getattr(shape, "height", 0) / _EMU, 2) + + # EMU positions kept for overflow arithmetic + self.left_emu = left_emu + self.top_emu = top_emu + self.width_emu = getattr(shape, "width", 0) + self.height_emu = getattr(shape, "height", 0) + + # Issue detection + self.frame_overflow_bottom: Optional[float] = None + self.slide_overflow_right: Optional[float] = None + self.slide_overflow_bottom: Optional[float] = None + self.overlapping_shapes: Dict[str, float] = {} + self.warnings: List[str] = [] + self._estimate_frame_overflow() + self._calculate_slide_overflow() + self._detect_bullet_issues() + + # ------------------------------------------------------------------ + # Issue detection helpers + # ------------------------------------------------------------------ + + def _default_font_size_pts(self) -> float: + """Best-effort default font size from theme styles.""" + if self.default_font_size: + return self.default_font_size + try: + master = self.shape.part.slide_layout.slide_master # type: ignore + style = "titleStyle" if (self.placeholder_type and "TITLE" in self.placeholder_type) else "bodyStyle" + for child in master.element.iter(): + tag = child.tag.split("}")[-1] if "}" in child.tag else child.tag + if tag == style: + for elem in child.iter(): + if "sz" in elem.attrib: + return int(elem.attrib["sz"]) / 100.0 + except Exception: + pass + return 14.0 # conservative fallback + + def _estimate_frame_overflow(self) -> None: + """Estimate text overflow via character-count heuristic (no external deps).""" + if not hasattr(self.shape, "text_frame"): + return + tf = self.shape.text_frame # type: ignore + if not tf or not tf.paragraphs: + return + + # Usable area after text frame margins + def e2i(v: Any) -> float: + return (v or 0) / _EMU + + margin_h = e2i(tf.margin_top) + e2i(tf.margin_bottom) + margin_w = e2i(tf.margin_left) + e2i(tf.margin_right) + if margin_h == 0: + margin_h = 0.10 # PowerPoint default: ~0.05" top + 0.05" bottom + if margin_w == 0: + margin_w = 0.20 # PowerPoint default: ~0.1" left + 0.1" right + usable_w = self.width - margin_w + usable_h = self.height - margin_h + if usable_w <= 0 or usable_h <= 0: + return + + default_size = self._default_font_size_pts() + total_h = 0.0 + + for para in tf.paragraphs: + if not para.text.strip(): + continue + pd = ParagraphData(para) + size_pt = pd.font_size or default_size + + # Estimate text width: CJK chars ≈ 1.0× font_size pts, others ≈ 0.5× + text_w_pts = sum( + size_pt if _is_cjk(c) else size_pt * 0.5 + for c in para.text + ) + usable_w_pts = usable_w * 72.0 + n_lines = max(1, -(-int(text_w_pts) // max(1, int(usable_w_pts)))) # ceiling div + + line_h_in = (pd.line_spacing or size_pt) / 72.0 + total_h += (pd.space_before or 0) / 72.0 + total_h += n_lines * line_h_in + total_h += (pd.space_after or 0) / 72.0 + + if total_h > usable_h + 0.05: # ignore sub-0.05" rounding noise + self.frame_overflow_bottom = round(total_h - usable_h, 2) + + def _calculate_slide_overflow(self) -> None: + if self.slide_width_emu is None or self.slide_height_emu is None: + return + r = self.left_emu + self.width_emu - self.slide_width_emu + if r > 0: + v = round(r / _EMU, 2) + if v > 0.01: + self.slide_overflow_right = v + b = self.top_emu + self.height_emu - self.slide_height_emu + if b > 0: + v = round(b / _EMU, 2) + if v > 0.01: + self.slide_overflow_bottom = v + + def _detect_bullet_issues(self) -> None: + if not hasattr(self.shape, "text_frame"): + return + for para in self.shape.text_frame.paragraphs: # type: ignore + text = para.text.strip() + if text and any(text.startswith(s + " ") for s in ("•", "●", "○")): + self.warnings.append("manual_bullet_symbol: use proper bullet formatting") + break + + # ------------------------------------------------------------------ + # Public interface + # ------------------------------------------------------------------ + + @property + def paragraphs(self) -> List[ParagraphData]: + if not hasattr(self.shape, "text_frame"): + return [] + return [ParagraphData(p) for p in self.shape.text_frame.paragraphs if p.text.strip()] # type: ignore + + @property + def has_any_issues(self) -> bool: + return bool( + self.frame_overflow_bottom is not None + or self.slide_overflow_right is not None + or self.slide_overflow_bottom is not None + or self.overlapping_shapes + or self.warnings + ) + + def to_dict(self) -> Dict[str, Any]: + d: Dict[str, Any] = { + "left": self.left, "top": self.top, + "width": self.width, "height": self.height, + } + if self.placeholder_type: + d["placeholder_type"] = self.placeholder_type + if self.default_font_size: + d["default_font_size"] = self.default_font_size + + overflow: Dict[str, Any] = {} + if self.frame_overflow_bottom is not None: + overflow["frame"] = {"overflow_bottom": self.frame_overflow_bottom} + slide_ov: Dict[str, float] = {} + if self.slide_overflow_right is not None: + slide_ov["overflow_right"] = self.slide_overflow_right + if self.slide_overflow_bottom is not None: + slide_ov["overflow_bottom"] = self.slide_overflow_bottom + if slide_ov: + overflow["slide"] = slide_ov + if overflow: + d["overflow"] = overflow + if self.overlapping_shapes: + d["overlap"] = {"overlapping_shapes": self.overlapping_shapes} + if self.warnings: + d["warnings"] = self.warnings + d["paragraphs"] = [p.to_dict() for p in self.paragraphs] + return d + + +# ------------------------------------------------------------------ +# Module-level helpers +# ------------------------------------------------------------------ + +def _layout_font_size(shape: BaseShape, slide_layout: Any) -> Optional[float]: + """Extract default font size from the matching layout placeholder.""" + try: + shape_type = shape.placeholder_format.type # type: ignore + for ph in slide_layout.placeholders: + if ph.placeholder_format.type == shape_type: + for elem in ph.element.iter(): + if "defRPr" in elem.tag and (sz := elem.get("sz")): + return float(sz) / 100.0 + break + except Exception: + pass + return None + + +def _is_valid_shape(shape: BaseShape) -> bool: + """True if shape has meaningful text and is not a slide-number placeholder.""" + if not hasattr(shape, "text_frame"): + return False + tf = shape.text_frame # type: ignore + if not tf or not tf.text.strip(): + return False + if getattr(shape, "is_placeholder", False): + pf = shape.placeholder_format # type: ignore + if pf and pf.type: + pt = str(pf.type).split(".")[-1].split(" ")[0] + if pt == "SLIDE_NUMBER": + return False + if pt == "FOOTER" and tf.text.strip().isdigit(): + return False + return True + + +def _collect_shapes(shape: BaseShape, parent_left: int = 0, parent_top: int = 0): + """Yield (shape, abs_left, abs_top) tuples, recursing into GroupShapes.""" + if hasattr(shape, "shapes"): # GroupShape + g_left = parent_left + getattr(shape, "left", 0) + g_top = parent_top + getattr(shape, "top", 0) + for child in shape.shapes: # type: ignore + yield from _collect_shapes(child, g_left, g_top) + elif _is_valid_shape(shape): + yield ( + shape, + parent_left + getattr(shape, "left", 0), + parent_top + getattr(shape, "top", 0), + ) + + +def _sort_by_position(shapes: List[ShapeData]) -> List[ShapeData]: + """Sort shapes top-to-bottom, left-to-right (0.5" row tolerance).""" + if not shapes: + return shapes + shapes = sorted(shapes, key=lambda s: (s.top, s.left)) + result: List[ShapeData] = [] + row = [shapes[0]] + row_top = shapes[0].top + for s in shapes[1:]: + if abs(s.top - row_top) <= 0.5: + row.append(s) + else: + result.extend(sorted(row, key=lambda s: s.left)) + row = [s] + row_top = s.top + result.extend(sorted(row, key=lambda s: s.left)) + return result + + +def _detect_overlaps(shapes: List[ShapeData]) -> None: + """Populate overlapping_shapes for all pairs with meaningful overlap.""" + for i, s1 in enumerate(shapes): + for s2 in shapes[i + 1:]: + ow = min(s1.left + s1.width, s2.left + s2.width) - max(s1.left, s2.left) + oh = min(s1.top + s1.height, s2.top + s2.height) - max(s1.top, s2.top) + if ow > 0.05 and oh > 0.05: + area = round(ow * oh, 2) + s1.overlapping_shapes[s2.shape_id] = area + s2.overlapping_shapes[s1.shape_id] = area + + +# ------------------------------------------------------------------ +# Public API +# ------------------------------------------------------------------ + +def extract_text_inventory( + pptx_path: Path, + prs: Optional[Any] = None, + issues_only: bool = False, +) -> InventoryData: + """Extract text from all slides. + + Returns {slide-N: {shape-N: ShapeData}}, shapes sorted by visual position. + Pass an existing Presentation object via `prs` to avoid re-loading. + """ + if prs is None: + prs = Presentation(str(pptx_path)) + + inventory: InventoryData = {} + + for slide_idx, slide in enumerate(prs.slides): + raw = list(_collect_shapes_from_slide(slide)) + if not raw: + continue + + shape_data_list = [ShapeData(s, al, at, slide) for s, al, at in raw] + sorted_shapes = _sort_by_position(shape_data_list) + + for idx, sd in enumerate(sorted_shapes): + sd.shape_id = f"shape-{idx}" + + if len(sorted_shapes) > 1: + _detect_overlaps(sorted_shapes) + + if issues_only: + sorted_shapes = [sd for sd in sorted_shapes if sd.has_any_issues] + if not sorted_shapes: + continue + + inventory[f"slide-{slide_idx}"] = {sd.shape_id: sd for sd in sorted_shapes} + + return inventory + + +def _collect_shapes_from_slide(slide): + """Yield (shape, abs_left, abs_top) for all valid text shapes on a slide.""" + for shape in slide.shapes: # type: ignore + yield from _collect_shapes(shape) + + +def save_inventory(inventory: InventoryData, output_path: Path) -> None: + """Serialize inventory to a JSON file.""" + json_data = { + slide_key: {k: sd.to_dict() for k, sd in shapes.items()} + for slide_key, shapes in inventory.items() + } + with open(output_path, "w", encoding="utf-8") as f: + json.dump(json_data, f, indent=2, ensure_ascii=False) + + +def main() -> None: + parser = argparse.ArgumentParser(description="Extract text inventory from a PowerPoint file.") + parser.add_argument("input", help="Input .pptx file") + parser.add_argument("output", help="Output .json file") + parser.add_argument("--issues-only", action="store_true", + help="Include only shapes with overflow/overlap issues") + args = parser.parse_args() + + input_path = Path(args.input) + if not input_path.exists(): + print(f"Error: File not found: {args.input}") + sys.exit(1) + if input_path.suffix.lower() != ".pptx": + print("Error: Input must be a .pptx file") + sys.exit(1) + + try: + inventory = extract_text_inventory(input_path, issues_only=args.issues_only) + output_path = Path(args.output) + output_path.parent.mkdir(parents=True, exist_ok=True) + save_inventory(inventory, output_path) + + total = sum(len(v) for v in inventory.values()) + if args.issues_only: + print(f"Found {total} shapes with issues across {len(inventory)} slides → {args.output}") + else: + print(f"Found {total} text shapes across {len(inventory)} slides → {args.output}") + except Exception as e: + import traceback + print(f"Error: {e}") + traceback.print_exc() + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/skills/ppt/scripts/pdf.py b/skills/ppt/scripts/pdf.py new file mode 100755 index 0000000..cb7c5c1 --- /dev/null +++ b/skills/ppt/scripts/pdf.py @@ -0,0 +1,2046 @@ +#!/usr/bin/env python3 +""" +PDF Processing Toolkit — All-in-One CLI + +Usage: + python3 pdf.py <command> [args...] + +Commands: + env.check [--json] Check environment dependencies + env.fix Auto-install missing dependencies + + extract.text <pdf> [-p pages] + extract.table <pdf> [-p pages] + extract.image <pdf> -o <dir> + + pages.merge <pdf>... -o <out> + pages.split <pdf> -o <dir> + pages.rotate <pdf> <deg> -o <out> [-p pages] + pages.crop <pdf> <box> -o <out> [-p pages] + + meta.get <pdf> + meta.set <pdf> -o <out> -d <json> + meta.brand <pdf>... [-o <out>] [-t title] [-q] + + form.info <pdf> + form.fill <pdf> -o <out> -d <json> + form.detail <pdf> <output.json> + form.fill-legacy <pdf> <fields.json> <output.pdf> + form.annotate <pdf> <fields.json> <output.pdf> + form.render <pdf> <output_dir> [--max-dim N] + form.validate <page> <fields.json> <input_img> <output_img> + form.check-bbox <fields.json> + + convert.office <file> [-o <out>] + convert.html <file> [-o <out>] [--css <file>] + convert.latex <file> [--runs N] [--keep-logs] + + code.sanitize <file> +""" + +from __future__ import annotations + +import html +import json +import os +import re +import shutil +import subprocess +import sys +from dataclasses import dataclass +from datetime import datetime +from pathlib import Path +from typing import Any, Callable, Dict, List, Optional, Set, Tuple + + +# ═══════════════════════════════════════════════════════════════ +# Section 0: Framework — Output, @cmd registry, CLI parser +# ═══════════════════════════════════════════════════════════════ + +class Output: + """Structured JSON output for all subcommands.""" + + @staticmethod + def success(data: dict): + payload = {"status": "success", "data": data} + sys.stdout.write(json.dumps(payload, ensure_ascii=False, indent=2) + "\n") + raise SystemExit(0) + + @staticmethod + def error(error: str, message: str, hint: Optional[str] = None, code: int = 1): + payload = {"status": "error", "error": error, "message": message} + if hint is not None: + payload["hint"] = hint + sys.stderr.write(json.dumps(payload, ensure_ascii=False, indent=2) + "\n") + raise SystemExit(code) + + @staticmethod + def check_file(filepath: str) -> Path: + target = Path(filepath) + if not target.exists(): + Output.error("FileNotFound", f"File not found: {filepath}", code=2) + return target + + +# Command registry +_COMMANDS: Dict[str, Callable] = {} + + +def cmd(name: str): + """Decorator to register a CLI command under a dotted namespace.""" + def decorator(fn: Callable) -> Callable: + _COMMANDS[name] = fn + return fn + return decorator + + +def _pop_flag(argv: list, short: str, long: str, needs_value: bool = True): + """Extract a flag (and optional value) from *argv* in-place.""" + for idx, tok in enumerate(argv): + if tok in (short, long): + argv.pop(idx) + if needs_value: + if idx < len(argv): + return argv.pop(idx) + Output.error("MissingArg", f"Flag {long} requires a value") + return True + return None + + +def _load_json_arg(argv: list) -> dict: + """Read JSON from -d/--data string or -f/--file path.""" + raw = _pop_flag(argv, "-d", "--data") + if raw is not None: + try: + return json.loads(raw) + except json.JSONDecodeError as exc: + Output.error("InvalidJSON", f"JSON parse error: {exc}") + + fpath = _pop_flag(argv, "-f", "--file") + if fpath is not None: + try: + with open(fpath) as fh: + return json.load(fh) + except Exception as exc: + Output.error("FileError", f"Failed to read file: {exc}") + + Output.error("MissingData", "Requires --data or --file argument") + + +def _resolve_page_indices(range_spec: Optional[str], page_count: int) -> List[int]: + """Turn a human-friendly range string (1-indexed) into a sorted list of 0-based indices.""" + if not range_spec: + return list(range(page_count)) + indices: Set[int] = set() + for segment in range_spec.split(","): + segment = segment.strip() + if "-" in segment: + lo, hi = segment.split("-", 1) + for i in range(int(lo) - 1, min(int(hi), page_count)): + indices.add(i) + else: + val = int(segment) - 1 + if 0 <= val < page_count: + indices.add(val) + return sorted(indices) + + +_SCRIPT_DIR = Path(__file__).resolve().parent + + +# ═══════════════════════════════════════════════════════════════ +# Section 1: env — environment diagnostics and auto-fix +# ═══════════════════════════════════════════════════════════════ + +def _probe_cmd(name: str, version_args: Optional[List[str]] = None) -> Tuple[str, str]: + """Check if a command exists and optionally get its version. Returns (status, detail).""" + path = shutil.which(name) + if path is None: + return ("missing", "") + if version_args is None: + return ("ok", "") + try: + result = subprocess.run( + [path] + version_args, + capture_output=True, text=True, timeout=10 + ) + ver = result.stdout.strip() or result.stderr.strip() + return ("ok", ver) + except Exception: + return ("ok", "") + + +def _probe_python_module(mod_name: str) -> Tuple[str, str]: + """Check if a Python module is importable and get its version.""" + try: + result = subprocess.run( + [sys.executable, "-c", f"import {mod_name}; print(getattr({mod_name}, '__version__', 'installed'))"], + capture_output=True, text=True, timeout=10 + ) + if result.returncode == 0: + return ("ok", result.stdout.strip()) + return ("missing", "") + except Exception: + return ("missing", "") + + +def _probe_node() -> Tuple[str, str]: + s, d = _probe_cmd("node", ["--version"]) + if s == "ok" and d: + d = d.lstrip("v") + return (s, d) + + +def _probe_python() -> Tuple[str, str]: + try: + import platform + return ("ok", platform.python_version()) + except Exception: + return ("ok", "") + + +def _probe_libreoffice() -> Tuple[str, str]: + candidates = [ + "/Applications/LibreOffice.app/Contents/MacOS/soffice", + os.path.expanduser("~/Applications/LibreOffice.app/Contents/MacOS/soffice"), + "/usr/bin/soffice", + "/usr/local/bin/soffice", + "/usr/lib/libreoffice/program/soffice", + "/opt/libreoffice/program/soffice", + "/snap/bin/libreoffice.soffice", + ] + for c in candidates: + if Path(c).is_file(): + return ("ok", "") + for alias in ("soffice", "libreoffice"): + if shutil.which(alias): + return ("ok", "") + return ("missing", "") + + +def _probe_tectonic() -> Tuple[str, str]: + home_bin = Path.home() / "tectonic" + if home_bin.exists() and os.access(home_bin, os.X_OK): + return ("ok", "") + tec_local = _SCRIPT_DIR / "tectonic" + if tec_local.exists() and os.access(tec_local, os.X_OK): + return ("ok", "") + if shutil.which("tectonic"): + return ("ok", "") + return ("missing", "") + + +def _probe_playwright_npm() -> Tuple[str, str]: + """Check if playwright npm package is installed.""" + try: + result = subprocess.run( + ["node", "-e", "console.log(require('playwright/package.json').version)"], + capture_output=True, text=True, timeout=10 + ) + if result.returncode == 0 and result.stdout.strip(): + return ("ok", result.stdout.strip()) + except Exception: + pass + # Try global + try: + result = subprocess.run( + ["npm", "list", "-g", "playwright", "--depth=0"], + capture_output=True, text=True, timeout=15 + ) + import re as _re + m = _re.search(r"playwright@(\S+)", result.stdout) + if m: + return ("ok", m.group(1)) + except Exception: + pass + return ("missing", "") + + +def _probe_chromium() -> Tuple[str, str]: + """Check if Playwright Chromium browser is installed.""" + import platform as _platform + home = Path.home() + if _platform.system() == "Darwin": + cache_dir = home / "Library" / "Caches" / "ms-playwright" + else: + cache_dir = home / ".cache" / "ms-playwright" + if cache_dir.is_dir(): + for entry in sorted(cache_dir.iterdir(), reverse=True): + if "chromium" in entry.name.lower(): + return ("ok", entry.name) + return ("missing", "") + + +@cmd("env.check") +def env_check(argv: list): + """Check environment dependencies.""" + use_json = _pop_flag(argv, "-j", "--json", needs_value=False) + + s_node = _probe_node() + s_pw = _probe_playwright_npm() + s_cr = _probe_chromium() + s_py = _probe_python() + s_pike = _probe_python_module("pikepdf") + s_plumb = _probe_python_module("pdfplumber") + s_lo = _probe_libreoffice() + s_tec = _probe_tectonic() + s_pw_py = _probe_python_module("playwright") + + if use_json: + report = { + "html_route": { + "node": s_node[0], "node_version": s_node[1], + "playwright": s_pw[0], "playwright_version": s_pw[1], + "chromium": s_cr[0], "chromium_detail": s_cr[1], + }, + "process_route": { + "python3": s_py[0], "python3_version": s_py[1], + "pikepdf": s_pike[0], "pikepdf_version": s_pike[1], + "pdfplumber": s_plumb[0], "pdfplumber_version": s_plumb[1], + "playwright_python": s_pw_py[0], "playwright_python_version": s_pw_py[1], + }, + "optional": { + "libreoffice": s_lo[0], + "tectonic": s_tec[0], + }, + } + sys.stdout.write(json.dumps(report, ensure_ascii=False, indent=2) + "\n") + # Determine exit code + rc = 0 + for v in [s_node, s_pw, s_cr, s_py, s_pike, s_plumb]: + if v[0] != "ok": + rc = 2 + break + raise SystemExit(rc) + + # Human-readable output + rc = 0 + + def show(name: str, status: Tuple[str, str], optional: bool = False): + nonlocal rc + s, d = status + if s == "ok": + detail = f" ({d})" if d else "" + print(f" \u2713 {name}{detail}") + elif optional: + print(f" \u25cb {name} (optional, not installed)") + else: + print(f" \u2717 {name} (missing)") + rc = 2 + + print("=== PDF Skill Environment ===\n") + print("--- HTML Route ---") + show("node", s_node) + show("playwright", s_pw) + show("chromium", s_cr) + + print("\n--- Process Route ---") + show("python3", s_py) + show("pikepdf", s_pike) + show("pdfplumber", s_plumb) + if s_pw_py[0] == "ok": + print(f" (playwright-python: {s_pw_py[1]})") + + print("\n--- Optional ---") + show("libreoffice", s_lo, optional=True) + show("tectonic", s_tec, optional=True) + + print("\n=== Install Commands ===") + print(" Node.js: brew install node (macOS) / apt install nodejs (Ubuntu)") + print(" Playwright: npm install -g playwright && npx playwright install chromium") + print(" Python: brew install python3 (macOS) / apt install python3 (Ubuntu)") + print(" pikepdf: pip install pikepdf pdfplumber --user") + print(" LibreOffice: brew install --cask libreoffice (macOS)") + print(" Tectonic: curl -fsSL https://drop-sh.fullyjustified.net | sh") + raise SystemExit(rc) + + +@cmd("env.fix") +def env_fix(argv: list): + """Auto-install missing Python dependencies.""" + modules = { + "pikepdf": "pikepdf", + "pdfplumber": "pdfplumber", + "pypdf": "pypdf", + "pdf2image": "pdf2image", + "PIL": "Pillow", + } + installed = [] + for mod, pkg in modules.items(): + s, _ = _probe_python_module(mod) + if s == "missing": + print(f"Installing {pkg}...") + for attempt in ( + [sys.executable, "-m", "pip", "install", "-q", pkg], + [sys.executable, "-m", "pip", "install", "-q", "--user", pkg], + [sys.executable, "-m", "pip", "install", "-q", "--break-system-packages", pkg], + ): + result = subprocess.run(attempt, capture_output=True, text=True) + if result.returncode == 0: + installed.append(pkg) + break + else: + print(f" Failed to install {pkg}") + + if installed: + print(f"\nInstalled: {', '.join(installed)}") + else: + print("All Python dependencies are already installed.") + raise SystemExit(0) + + +# ═══════════════════════════════════════════════════════════════ +# Section 2: extract — text, tables, and embedded images +# ═══════════════════════════════════════════════════════════════ + +@cmd("extract.text") +def extract_text(argv: list): + """Pull plain text from selected pages.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + page_range = _pop_flag(argv, "-p", "--pages") + + import pdfplumber + src = Output.check_file(pdf_path) + try: + doc = pdfplumber.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + total_pages = len(doc.pages) + target_pages = _resolve_page_indices(page_range, total_pages) + char_total = 0 + page_results = [] + + for pg_idx in target_pages: + content = doc.pages[pg_idx].extract_text() or "" + char_total += len(content) + page_results.append({"page": pg_idx + 1, "chars": len(content), "text": content}) + + doc.close() + Output.success({ + "total_pages": total_pages, + "extracted_pages": len(target_pages), + "total_chars": char_total, + "pages": page_results, + }) + + +@cmd("extract.table") +def extract_table(argv: list): + """Locate and return every table on selected pages.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + page_range = _pop_flag(argv, "-p", "--pages") + + import pdfplumber + src = Output.check_file(pdf_path) + try: + doc = pdfplumber.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + total_pages = len(doc.pages) + target_pages = _resolve_page_indices(page_range, total_pages) + collected = [] + + for pg_idx in target_pages: + for tbl_num, raw_table in enumerate(doc.pages[pg_idx].extract_tables()): + if not raw_table: + continue + sanitised = [ + [(cell.strip() if cell else "") for cell in row] + for row in raw_table + ] + collected.append({ + "page": pg_idx + 1, + "table_index": tbl_num, + "rows": len(sanitised), + "cols": len(sanitised[0]) if sanitised else 0, + "data": sanitised, + }) + + doc.close() + Output.success({ + "total_pages": total_pages, + "extracted_pages": len(target_pages), + "total_tables": len(collected), + "tables": collected, + }) + + +@cmd("extract.image") +def extract_image(argv: list): + """Save every embedded raster image to output dir.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + out_dir = _pop_flag(argv, "-o", "--output") or "." + + import pikepdf + src = Output.check_file(pdf_path) + dest = Path(out_dir) + dest.mkdir(parents=True, exist_ok=True) + + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + saved = [] + seq = 0 + _EXT_MAP = { + "/DCTDecode": "jpg", + "/FlateDecode": "png", + "/JPXDecode": "jp2", + } + + for page_no, pg in enumerate(doc.pages, 1): + res = pg.get("/Resources") + if res is None or "/XObject" not in res: + continue + for key, ref in res.XObject.items(): + try: + img_obj = doc.get_object(ref.objgen) + if img_obj.get("/Subtype") != "/Image": + continue + seq += 1 + w = int(img_obj.get("/Width", 0)) + h = int(img_obj.get("/Height", 0)) + filt = img_obj.get("/Filter") + ext = _EXT_MAP.get(str(filt) if filt else None, "bin") + fname = f"page{page_no}_img{seq}.{ext}" + out_file = dest / fname + out_file.write_bytes(img_obj.read_raw_bytes()) + saved.append({ + "page": page_no, "name": str(key), "file": str(out_file), + "width": w, "height": h, "format": ext, + }) + except Exception: + continue + + doc.close() + Output.success({"output_dir": str(dest), "total_images": len(saved), "images": saved}) + + +# ═══════════════════════════════════════════════════════════════ +# Section 3: pages — merge, split, rotate, crop +# ═══════════════════════════════════════════════════════════════ + +@cmd("pages.merge") +def pages_merge(argv: list): + """Concatenate several PDF files into one.""" + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + if not argv: + Output.error("MissingArg", "At least one PDF required") + + import pikepdf + sources = [Output.check_file(p) for p in argv] + handles = [] + try: + combined = pikepdf.new() + descriptions = [] + for src in sources: + handle = pikepdf.open(src) + handles.append(handle) + n = len(handle.pages) + descriptions.append(f"{src.name} ({n} pages)") + for pg in handle.pages: + combined.pages.append(pg) + total = len(combined.pages) + combined.save(out_path) + combined.close() + except Exception as exc: + Output.error("MergeError", f"Merge failed: {exc}", code=4) + finally: + for h in handles: + try: + h.close() + except Exception: + pass + + Output.success({"output": out_path, "total_pages": total, "sources": descriptions}) + + +@cmd("pages.split") +def pages_split(argv: list): + """Write each page as a separate single-page PDF.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + out_dir = _pop_flag(argv, "-o", "--output") or "." + + import pikepdf + src = Output.check_file(pdf_path) + dest = Path(out_dir) + dest.mkdir(parents=True, exist_ok=True) + + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + generated = [] + base = src.stem + try: + for idx, pg in enumerate(doc.pages, 1): + fp = dest / f"{base}_page{idx:03d}.pdf" + single_doc = pikepdf.new() + single_doc.pages.append(pg) + single_doc.save(fp) + single_doc.close() + generated.append(str(fp)) + doc.close() + except Exception as exc: + Output.error("SplitError", f"Split failed: {exc}", code=4) + + Output.success({"output_dir": str(dest), "total_pages": len(generated), "files": generated}) + + +@cmd("pages.rotate") +def pages_rotate(argv: list): + """Rotate selected pages by 90/180/270 degrees.""" + if len(argv) < 2: + Output.error("MissingArg", "pdf path and degrees required") + pdf_path = argv.pop(0) + degrees = int(argv.pop(0)) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + page_range = _pop_flag(argv, "-p", "--pages") + + if degrees not in (90, 180, 270): + Output.error("InvalidDegrees", "Rotation angle must be 90, 180, or 270") + + import pikepdf + src = Output.check_file(pdf_path) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + targets = _resolve_page_indices(page_range, len(doc.pages)) + try: + for i in targets: + existing = int(doc.pages[i].get("/Rotate", 0)) + doc.pages[i]["/Rotate"] = (existing + degrees) % 360 + doc.save(out_path) + doc.close() + except Exception as exc: + Output.error("RotateError", f"Rotation failed: {exc}", code=4) + + Output.success({"output": out_path, "degrees": degrees, "pages_rotated": len(targets)}) + + +@cmd("pages.crop") +def pages_crop(argv: list): + """Set the media/crop box on selected pages. box = 'left,bottom,right,top' in pt.""" + if len(argv) < 2: + Output.error("MissingArg", "pdf path and crop box required") + pdf_path = argv.pop(0) + box_str = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + page_range = _pop_flag(argv, "-p", "--pages") + + try: + coords = [float(v.strip()) for v in box_str.split(",")] + assert len(coords) == 4 + left, bottom, right, top = coords + except Exception: + Output.error("InvalidBox", "Invalid crop box format, should be: left,bottom,right,top", + hint="Example: 50,50,550,750") + + import pikepdf + src = Output.check_file(pdf_path) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + targets = _resolve_page_indices(page_range, len(doc.pages)) + try: + arr = pikepdf.Array([left, bottom, right, top]) + for i in targets: + doc.pages[i].mediabox = arr + doc.pages[i].cropbox = arr + doc.save(out_path) + doc.close() + except Exception as exc: + Output.error("CropError", f"Crop failed: {exc}", code=4) + + Output.success({ + "output": out_path, + "box": {"left": left, "bottom": bottom, "right": right, "top": top}, + "pages_cropped": len(targets), + }) + + +# ═══════════════════════════════════════════════════════════════ +# Section 4: meta — metadata reading, writing, and branding +# ═══════════════════════════════════════════════════════════════ + +_XMP_MAPPING = { + "Title": "dc:title", + "Author": "dc:creator", + "Subject": "dc:description", + "Keywords": "pdf:Keywords", + "Creator": "xmp:CreatorTool", + "Producer": "pdf:Producer", +} +_ACCEPTED_KEYS = set(_XMP_MAPPING.keys()) + + +@cmd("meta.get") +def meta_get(argv: list): + """Read document information and metadata.""" + if not argv: + Output.error("MissingArg", "pdf path required") + + import pikepdf + src = Output.check_file(argv[0]) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + record: dict = { + "pages": len(doc.pages), + "pdf_version": str(doc.pdf_version), + } + + if doc.pages: + mb = doc.pages[0].mediabox + record["page_size"] = { + "width": float(mb[2] - mb[0]), + "height": float(mb[3] - mb[1]), + "unit": "pt", + } + + kv_pairs = {} + if doc.docinfo: + for k in doc.docinfo.keys(): + try: + kv_pairs[str(k).lstrip("/")] = str(doc.docinfo[k]) + except Exception: + pass + record["metadata"] = kv_pairs + record["encrypted"] = doc.is_encrypted + record["has_form"] = "/AcroForm" in doc.Root + record["has_outlines"] = "/Outlines" in doc.Root + + doc.close() + Output.success(record) + + +@cmd("meta.set") +def meta_set(argv: list): + """Update XMP + legacy docinfo metadata fields.""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + data = _load_json_arg(argv) + + import pikepdf + src = Output.check_file(pdf_path) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + # XMP layer + with doc.open_metadata() as xmp: + for raw_key, raw_val in data.items(): + norm = raw_key.title() + xmp_key = _XMP_MAPPING.get(norm) + if xmp_key is None: + continue + try: + xmp[xmp_key] = str(raw_val) + except Exception: + pass + + # Legacy docinfo layer + if not doc.docinfo: + doc.docinfo = pikepdf.Dictionary() + for raw_key, raw_val in data.items(): + norm = raw_key.title() + if norm in _ACCEPTED_KEYS: + doc.docinfo[pikepdf.Name(f"/{norm}")] = pikepdf.String(str(raw_val)) + + doc.docinfo[pikepdf.Name("/ModDate")] = pikepdf.String( + datetime.now().strftime("D:%Y%m%d%H%M%S") + ) + + try: + doc.save(out_path) + doc.close() + except Exception as exc: + Output.error("SaveError", f"Save failed: {exc}", code=4) + + Output.success({"output": out_path, "updated_fields": list(data.keys())}) + + +@cmd("meta.brand") +def meta_brand(argv: list): + """Add Z.ai branding metadata to PDF documents.""" + output_path = _pop_flag(argv, "-o", "--output") + custom_title = _pop_flag(argv, "-t", "--title") + quiet = _pop_flag(argv, "-q", "--quiet", needs_value=False) + + if not argv: + Output.error("MissingArg", "At least one PDF file required") + + # Check if output is specified for multiple files + if output_path and len(argv) > 1: + Output.error("InvalidArg", "--output can only be used with a single input file") + + from pypdf import PdfReader, PdfWriter + + for input_path in argv: + if not os.path.exists(input_path): + print(f"Error: Input file not found: {input_path}", file=sys.stderr) + continue + + try: + reader = PdfReader(input_path) + except Exception as e: + print(f"Error: Cannot open PDF: {e}", file=sys.stderr) + continue + + writer = PdfWriter() + for page in reader.pages: + writer.add_page(page) + + # Determine title + if custom_title: + title = custom_title + else: + original_meta = reader.metadata + if original_meta and original_meta.title and original_meta.title not in ('(anonymous)', 'unspecified', None): + title = original_meta.title + else: + title = os.path.splitext(os.path.basename(input_path))[0] + + writer.add_metadata({ + '/Title': title, + '/Author': 'Z.ai', + '/Creator': 'Z.ai', + '/Producer': 'http://z.ai', + }) + + # Write output + out = output_path if (len(argv) == 1 and output_path) else input_path + try: + with open(out, "wb") as f: + writer.write(f) + except Exception as e: + print(f"Error: Cannot write output file: {e}", file=sys.stderr) + continue + + if not quiet: + print(f"\u2713 Updated metadata for: {os.path.basename(input_path)}") + print(f" Title: {title}") + print(f" Author: Z.ai") + print(f" Creator: Z.ai") + print(f" Producer: http://z.ai") + if out != input_path: + print(f" Output: {out}") + + raise SystemExit(0) + + +# ═══════════════════════════════════════════════════════════════ +# Section 5: form — inspection, filling, annotation, rendering +# ═══════════════════════════════════════════════════════════════ + +# --- form.info (pikepdf-based) --- + +_FIELD_TYPE_MAP = { + "/Tx": "text", + "/Sig": "signature", +} + + +def _classify_field(node) -> str: + """Map a PDF field type token to a human label.""" + ft = str(node.get("/FT", "")) + if ft in _FIELD_TYPE_MAP: + return _FIELD_TYPE_MAP[ft] + flags = int(node.get("/Ff", 0)) + if ft == "/Btn": + return "radio" if (flags & (1 << 15)) else "checkbox" + if ft == "/Ch": + return "dropdown" if (flags & (1 << 17)) else "listbox" + return "unknown" + + +def _extra_props(node, kind: str) -> dict: + """Gather type-specific metadata (options, checked value, etc.).""" + props: dict = {} + if kind == "checkbox": + ap = node.get("/AP") + if ap and "/N" in ap: + states = [str(s) for s in ap["/N"].keys()] + props["states"] = states + props["checked_value"] = next((s for s in states if s != "/Off"), states[0] if states else None) + elif kind in ("dropdown", "listbox"): + raw_opts = node.get("/Opt") + if raw_opts: + props["options"] = [ + {"value": str(item[0]), "label": str(item[1])} if isinstance(item, list) and len(item) >= 2 + else {"value": str(item), "label": str(item)} + for item in raw_opts + ] + elif kind == "radio": + kids = node.get("/Kids") + if kids: + radio_vals = [] + for child in kids: + ap = child.get("/AP") + if ap and "/N" in ap: + radio_vals.extend(str(k) for k in ap["/N"].keys() if str(k) != "/Off") + if radio_vals: + props["options"] = radio_vals + return props + + +def _current_value(node): + v = node.get("/V") + return str(v) if v is not None else None + + +def _gather_fields(doc) -> list: + """Walk the AcroForm field tree iteratively and return a flat list.""" + if "/AcroForm" not in doc.Root: + return [] + acro = doc.Root.AcroForm + if "/Fields" not in acro: + return [] + + page_lookup = {pg.objgen: idx for idx, pg in enumerate(doc.pages)} + results = [] + stack = [(field, "") for field in reversed(list(acro.Fields))] + + while stack: + node, parent_path = stack.pop() + name = str(node.get("/T", "")) + full = f"{parent_path}.{name}" if parent_path else name + + kids = node.get("/Kids") + if kids and any("/T" in k for k in kids): + for kid in reversed(list(kids)): + stack.append((kid, full)) + continue + + kind = _classify_field(node) + if kind == "unknown": + continue + + entry = {"id": full, "type": kind} + val = _current_value(node) + if val: + entry["current_value"] = val + entry.update(_extra_props(node, kind)) + + page_ref = node.get("/P") + if page_ref and hasattr(page_ref, "objgen"): + pg_num = page_lookup.get(page_ref.objgen) + if pg_num is not None: + entry["page"] = pg_num + 1 + + results.append(entry) + + return results + + +@cmd("form.info") +def form_info(argv: list): + """Return structured JSON describing every form field (pikepdf + check_fillable).""" + if not argv: + Output.error("MissingArg", "pdf path required") + + import pikepdf + src = Output.check_file(argv[0]) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + fields = _gather_fields(doc) + if not fields: + Output.success({"has_fields": False, "count": 0, "fields": [], "hint": "This PDF has no fillable form fields"}) + Output.success({"has_fields": True, "count": len(fields), "fields": fields}) + + +@cmd("form.fill") +def form_fill(argv: list): + """Write values into a fillable PDF (pikepdf version).""" + if not argv: + Output.error("MissingArg", "pdf path required") + pdf_path = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + if out_path is None: + Output.error("MissingArg", "--output is required") + data = _load_json_arg(argv) + + import pikepdf + src = Output.check_file(pdf_path) + try: + doc = pikepdf.open(src) + except Exception as exc: + Output.error("PDFError", f"Cannot open PDF: {exc}", code=3) + + if "/AcroForm" not in doc.Root or "/Fields" not in doc.Root.AcroForm: + Output.error("NoForm", "This PDF has no form fields") + + known = {f["id"]: f for f in _gather_fields(doc)} + + # Validation + issues = [] + for fid, fval in data.items(): + if fid not in known: + issues.append(f"Field not found: {fid}") + continue + fmeta = known[fid] + ftype = fmeta["type"] + if ftype == "checkbox" and "states" in fmeta: + ok_vals = fmeta["states"] + if fval not in ok_vals and f"/{fval}" not in ok_vals and fval not in ("true", "True", "false", "False", "1", "0"): + issues.append(f"Invalid value for field {fid}, options: {ok_vals} or true/false") + if ftype in ("dropdown", "listbox") and "options" in fmeta: + ok_vals = [o["value"] for o in fmeta["options"]] + if fval not in ok_vals: + issues.append(f"Invalid value for field {fid}, options: {ok_vals}") + if issues: + Output.error("ValidationError", "Field validation failed", hint="; ".join(issues)) + + # Fill + written = 0 + + def _apply(node, parent_path=""): + nonlocal written + name = str(node.get("/T", "")) + full = f"{parent_path}.{name}" if parent_path else name + kids = node.get("/Kids") + if kids and any("/T" in k for k in kids): + for kid in kids: + _apply(kid, full) + return + if full not in data: + return + val = data[full] + kind = _classify_field(node) + if kind == "checkbox": + if val in ("true", "True", "1", True): + ap = node.get("/AP") + if ap and "/N" in ap: + checked_name = next((str(k) for k in ap["/N"].keys() if str(k) != "/Off"), "/Yes") + if not checked_name.startswith("/"): + checked_name = f"/{checked_name}" + node["/V"] = pikepdf.Name(checked_name) + node["/AS"] = pikepdf.Name(checked_name) + else: + node["/V"] = pikepdf.Name("/Off") + node["/AS"] = pikepdf.Name("/Off") + else: + node["/V"] = pikepdf.String(str(val)) + written += 1 + + for field in doc.Root.AcroForm.Fields: + _apply(field) + + acro = doc.Root.AcroForm + if "/NeedAppearances" not in acro: + acro["/NeedAppearances"] = True + + try: + doc.save(out_path) + except Exception as exc: + Output.error("SaveError", f"Save failed: {exc}", code=4) + + Output.success({"output": out_path, "fields_filled": written, "fields_requested": len(data)}) + + +# --- form.detail (pypdf-based detailed field extraction) --- + +def _get_full_annotation_field_id(annotation): + """Build dotted field ID by walking parent chain.""" + components = [] + while annotation: + field_name = annotation.get('/T') + if field_name: + components.append(field_name) + annotation = annotation.get('/Parent') + return ".".join(reversed(components)) if components else None + + +def _make_field_dict(field, field_id): + field_dict = {"field_id": field_id} + ft = field.get('/FT') + if ft == "/Tx": + field_dict["type"] = "text" + elif ft == "/Btn": + field_dict["type"] = "checkbox" + states = field.get("/_States_", []) + if len(states) == 2: + if "/Off" in states: + field_dict["checked_value"] = states[0] if states[0] != "/Off" else states[1] + field_dict["unchecked_value"] = "/Off" + else: + print(f"Unexpected state values for checkbox `${field_id}`. Its checked and unchecked values may not be correct; if you're trying to check it, visually verify the results.") + field_dict["checked_value"] = states[0] + field_dict["unchecked_value"] = states[1] + elif ft == "/Ch": + field_dict["type"] = "choice" + states = field.get("/_States_", []) + field_dict["choice_options"] = [{ + "value": state[0], + "text": state[1], + } for state in states] + else: + field_dict["type"] = f"unknown ({ft})" + return field_dict + + +def _get_field_info(reader) -> list: + """Extract detailed field info from a PdfReader, including radio group aggregation.""" + fields = reader.get_fields() + + field_info_by_id = {} + possible_radio_names: Set[str] = set() + + for field_id, field in fields.items(): + if field.get("/Kids"): + if field.get("/FT") == "/Btn": + possible_radio_names.add(field_id) + continue + field_info_by_id[field_id] = _make_field_dict(field, field_id) + + radio_fields_by_id: Dict[str, dict] = {} + + for page_index, page in enumerate(reader.pages): + annotations = page.get('/Annots', []) + for ann in annotations: + field_id = _get_full_annotation_field_id(ann) + if field_id in field_info_by_id: + field_info_by_id[field_id]["page"] = page_index + 1 + field_info_by_id[field_id]["rect"] = ann.get('/Rect') + elif field_id in possible_radio_names: + try: + on_values = [v for v in ann["/AP"]["/N"] if v != "/Off"] + except KeyError: + continue + if len(on_values) == 1: + rect = ann.get("/Rect") + if field_id not in radio_fields_by_id: + radio_fields_by_id[field_id] = { + "field_id": field_id, + "type": "radio_group", + "page": page_index + 1, + "radio_options": [], + } + radio_fields_by_id[field_id]["radio_options"].append({ + "value": on_values[0], + "rect": rect, + }) + + # Filter fields without location + fields_with_location = [] + for field_info in field_info_by_id.values(): + if "page" in field_info: + fields_with_location.append(field_info) + else: + print(f"Unable to determine location for field id: {field_info.get('field_id')}, ignoring") + + # Sort by page number, then Y position (flipped), then X + def sort_key(f): + if "radio_options" in f: + rect = f["radio_options"][0]["rect"] or [0, 0, 0, 0] + else: + rect = f.get("rect") or [0, 0, 0, 0] + adjusted_position = [-rect[1], rect[0]] + return [f.get("page"), adjusted_position] + + sorted_fields = fields_with_location + list(radio_fields_by_id.values()) + sorted_fields.sort(key=sort_key) + + return sorted_fields + + +@cmd("form.detail") +def form_detail(argv: list): + """Extract detailed field info (pypdf version) to JSON.""" + if len(argv) < 2: + Output.error("MissingArg", "Usage: form.detail <pdf> <output.json>") + pdf_path = argv[0] + json_output_path = argv[1] + + from pypdf import PdfReader + reader = PdfReader(pdf_path) + field_info = _get_field_info(reader) + with open(json_output_path, "w") as f: + json.dump(field_info, f, indent=2) + print(f"Wrote {len(field_info)} fields to {json_output_path}") + raise SystemExit(0) + + +# --- form.fill-legacy (pypdf version with monkeypatch) --- + +def _validation_error_for_field_value(field_info, field_value): + field_type = field_info["type"] + field_id = field_info["field_id"] + if field_type == "checkbox": + checked_val = field_info["checked_value"] + unchecked_val = field_info["unchecked_value"] + if field_value != checked_val and field_value != unchecked_val: + return f'ERROR: Invalid value "{field_value}" for checkbox field "{field_id}". The checked value is "{checked_val}" and the unchecked value is "{unchecked_val}"' + elif field_type == "radio_group": + option_values = [opt["value"] for opt in field_info["radio_options"]] + if field_value not in option_values: + return f'ERROR: Invalid value "{field_value}" for radio group field "{field_id}". Valid values are: {option_values}' + elif field_type == "choice": + choice_values = [opt["value"] for opt in field_info["choice_options"]] + if field_value not in choice_values: + return f'ERROR: Invalid value "{field_value}" for choice field "{field_id}". Valid values are: {choice_values}' + return None + + +def _monkeypatch_pypdf_method(): + """ + Workaround for pypdf bug with selection list fields. + pypdf's get_inherited returns a list of two-element lists for /Opt fields + in selection lists, causing join() to throw TypeError. We patch it to + return just the value strings. + """ + from pypdf.generic import DictionaryObject + from pypdf.constants import FieldDictionaryAttributes + + original_get_inherited = DictionaryObject.get_inherited + + def patched_get_inherited(self, key: str, default=None): + result = original_get_inherited(self, key, default) + if key == FieldDictionaryAttributes.Opt: + if isinstance(result, list) and all(isinstance(v, list) and len(v) == 2 for v in result): + result = [r[0] for r in result] + return result + + DictionaryObject.get_inherited = patched_get_inherited + + +@cmd("form.fill-legacy") +def form_fill_legacy(argv: list): + """Fill fillable form fields (pypdf version with monkeypatch).""" + if len(argv) < 3: + Output.error("MissingArg", "Usage: form.fill-legacy <pdf> <fields.json> <output.pdf>") + input_pdf = argv[0] + fields_json = argv[1] + output_pdf = argv[2] + + from pypdf import PdfReader, PdfWriter + + _monkeypatch_pypdf_method() + + with open(fields_json) as f: + fields = json.load(f) + + # Group by page number + fields_by_page: Dict[int, dict] = {} + for field in fields: + if "value" in field: + field_id = field["field_id"] + page = field["page"] + if page not in fields_by_page: + fields_by_page[page] = {} + fields_by_page[page][field_id] = field["value"] + + reader = PdfReader(input_pdf) + + has_error = False + field_info = _get_field_info(reader) + fields_by_ids = {f["field_id"]: f for f in field_info} + for field in fields: + existing_field = fields_by_ids.get(field["field_id"]) + if not existing_field: + has_error = True + print(f"ERROR: `{field['field_id']}` is not a valid field ID") + elif field["page"] != existing_field["page"]: + has_error = True + print(f"ERROR: Incorrect page number for `{field['field_id']}` (got {field['page']}, expected {existing_field['page']})") + else: + if "value" in field: + err = _validation_error_for_field_value(existing_field, field["value"]) + if err: + print(err) + has_error = True + if has_error: + raise SystemExit(1) + + writer = PdfWriter(clone_from=reader) + for page, field_values in fields_by_page.items(): + writer.update_page_form_field_values(writer.pages[page - 1], field_values, auto_regenerate=False) + + writer.set_need_appearances_writer(True) + + with open(output_pdf, "wb") as f: + writer.write(f) + + print(f"Filled {len(fields_by_page)} page(s) in {output_pdf}") + raise SystemExit(0) + + +# --- form.annotate (annotation-based filling with coordinate transform) --- + +def _transform_coordinates(bbox, image_width, image_height, pdf_width, pdf_height): + """Transform bounding box from image coordinates to PDF coordinates.""" + x_scale = pdf_width / image_width + y_scale = pdf_height / image_height + + left = bbox[0] * x_scale + right = bbox[2] * x_scale + + # Flip Y coordinates for PDF + top = pdf_height - (bbox[1] * y_scale) + bottom = pdf_height - (bbox[3] * y_scale) + + return left, bottom, right, top + + +def _normalise_fields_json(raw: dict) -> dict: + """Accept both the current sheet-based schema and the legacy flat schema. + + Current (v2) schema uses ``sheet[].pg/dims/regions[]`` with nested + ``label.bbox``, ``target.bbox``, ``ink{}``. + + Legacy (v1) schema uses ``pages[]`` + ``form_fields[]`` with flat keys + like ``entry_bounding_box``, ``label_bounding_box``, ``entry_text{}``. + + Returns a normalised dict in the **v2** internal format used by all + downstream functions. + """ + # Already v2 + if "sheet" in raw: + return raw + + # Convert legacy → v2 + pages_lut = {p["page_number"]: p for p in raw.get("pages", [])} + sheets: dict = {} # pg -> sheet entry + + for f in raw.get("form_fields", []): + pg = f["page_number"] + if pg not in sheets: + pi = pages_lut.get(pg, {}) + sheets[pg] = { + "pg": pg, + "dims": [pi.get("image_width", 0), pi.get("image_height", 0)], + "regions": [], + } + et = f.get("entry_text", {}) + region = { + "id": f.get("field_label", f.get("description", "")), + "hint": f.get("description", ""), + "label": {"tag": f.get("field_label", ""), "bbox": f.get("label_bounding_box", [0, 0, 0, 0])}, + "target": {"bbox": f.get("entry_bounding_box", [0, 0, 0, 0])}, + "ink": {}, + } + if isinstance(et, dict) and et.get("text"): + region["ink"]["value"] = et["text"] + if "font_size" in et: + region["ink"]["size"] = et["font_size"] + if "font_color" in et: + region["ink"]["color"] = et["font_color"] + if "font" in et: + region["ink"]["font"] = et["font"] + sheets[pg]["regions"].append(region) + + return {"sheet": list(sheets.values())} + + +@cmd("form.annotate") +def form_annotate(argv: list): + """Fill a PDF by adding text annotations (FreeText) defined in fields.json.""" + if len(argv) < 3: + Output.error("MissingArg", "Usage: form.annotate <pdf> <fields.json> <output.pdf>") + input_pdf = argv[0] + fields_json_path = argv[1] + output_pdf = argv[2] + + from pypdf import PdfReader, PdfWriter + from pypdf.annotations import FreeText + + with open(fields_json_path, "r") as f: + fields_data = _normalise_fields_json(json.load(f)) + + reader = PdfReader(input_pdf) + writer = PdfWriter() + writer.append(reader) + + # Get PDF dimensions for each page + pdf_dimensions = {} + for i, page in enumerate(reader.pages): + mediabox = page.mediabox + pdf_dimensions[i + 1] = [mediabox.width, mediabox.height] + + annotations = [] + for page_entry in fields_data["sheet"]: + pg = page_entry["pg"] + image_width, image_height = page_entry["dims"] + pdf_width, pdf_height = pdf_dimensions[pg] + + for region in page_entry["regions"]: + ink = region.get("ink", {}) + text = ink.get("value", "") + if not text: + continue + + transformed_box = _transform_coordinates( + region["target"]["bbox"], + image_width, image_height, + pdf_width, pdf_height + ) + + font_name = ink.get("font", "Arial") + font_size = str(ink.get("size", 14)) + "pt" + font_color = ink.get("color", "000000") + + annotation = FreeText( + text=text, + rect=transformed_box, + font=font_name, + font_size=font_size, + font_color=font_color, + border_color=None, + background_color=None, + ) + annotations.append(annotation) + writer.add_annotation(page_number=pg - 1, annotation=annotation) + + with open(output_pdf, "wb") as output: + writer.write(output) + + print(f"Successfully filled PDF form and saved to {output_pdf}") + print(f"Added {len(annotations)} text annotations") + raise SystemExit(0) + + +# --- form.render (PDF to PNG images) --- + +@cmd("form.render") +def form_render(argv: list): + """Convert each page of a PDF to a PNG image.""" + if len(argv) < 2: + Output.error("MissingArg", "Usage: form.render <pdf> <output_dir> [--max-dim N]") + pdf_path = argv.pop(0) + output_dir = argv.pop(0) + max_dim_str = _pop_flag(argv, "-m", "--max-dim") + max_dim = int(max_dim_str) if max_dim_str else 1000 + + from pdf2image import convert_from_path + + os.makedirs(output_dir, exist_ok=True) + images = convert_from_path(pdf_path, dpi=200) + + for i, image in enumerate(images): + width, height = image.size + if width > max_dim or height > max_dim: + scale_factor = min(max_dim / width, max_dim / height) + new_width = int(width * scale_factor) + new_height = int(height * scale_factor) + image = image.resize((new_width, new_height)) + + image_path = os.path.join(output_dir, f"page_{i+1}.png") + image.save(image_path) + print(f"Saved page {i+1} as {image_path} (size: {image.size})") + + print(f"Converted {len(images)} pages to PNG images") + raise SystemExit(0) + + +# --- form.validate (bounding box validation image) --- + +@cmd("form.validate") +def form_validate(argv: list): + """Create validation images with bounding box rectangles.""" + if len(argv) < 4: + Output.error("MissingArg", "Usage: form.validate <page> <fields.json> <input_img> <output_img>") + page_number = int(argv[0]) + fields_json_path = argv[1] + input_path = argv[2] + output_path = argv[3] + + from PIL import Image, ImageDraw + + with open(fields_json_path, 'r') as f: + data = _normalise_fields_json(json.load(f)) + + img = Image.open(input_path) + draw = ImageDraw.Draw(img) + num_boxes = 0 + + for page_entry in data["sheet"]: + if page_entry["pg"] != page_number: + continue + for region in page_entry["regions"]: + target_box = region["target"]["bbox"] + label_box = region["label"]["bbox"] + draw.rectangle(target_box, outline='red', width=2) + draw.rectangle(label_box, outline='blue', width=2) + num_boxes += 2 + + img.save(output_path) + print(f"Created validation image at {output_path} with {num_boxes} bounding boxes") + raise SystemExit(0) + + +# --- form.check-bbox (bounding box overlap detection) --- + +@dataclass +class _RectAndField: + rect: list + rect_type: str + field: dict + + +def get_bounding_box_messages(fields_json_stream) -> List[str]: + """Check for overlapping bounding boxes. Returns list of messages (max 20).""" + messages = [] + raw = json.load(fields_json_stream) + data = _normalise_fields_json(raw) + + total_regions = sum(len(pe["regions"]) for pe in data["sheet"]) + messages.append(f"Read {total_regions} regions across {len(data['sheet'])} page(s)") + + def rects_intersect(r1, r2): + disjoint_horizontal = r1[0] >= r2[2] or r1[2] <= r2[0] + disjoint_vertical = r1[1] >= r2[3] or r1[3] <= r2[1] + return not (disjoint_horizontal or disjoint_vertical) + + has_error = False + + for page_entry in data["sheet"]: + pg = page_entry["pg"] + # Collect all rects on this page + rects_and_regions = [] + for region in page_entry["regions"]: + rects_and_regions.append(_RectAndField(region["label"]["bbox"], "label", region)) + rects_and_regions.append(_RectAndField(region["target"]["bbox"], "target", region)) + + for i, ri in enumerate(rects_and_regions): + for j in range(i + 1, len(rects_and_regions)): + rj = rects_and_regions[j] + if rects_intersect(ri.rect, rj.rect): + has_error = True + rid = ri.field.get("id", ri.field.get("hint", "?")) + rjd = rj.field.get("id", rj.field.get("hint", "?")) + if ri.field is rj.field: + messages.append(f"FAILURE: pg {pg} — label/target overlap for `{rid}` ({ri.rect}, {rj.rect})") + else: + messages.append(f"FAILURE: pg {pg} — {ri.rect_type} of `{rid}` ({ri.rect}) overlaps {rj.rect_type} of `{rjd}` ({rj.rect})") + if len(messages) >= 20: + messages.append("Aborting further checks; fix bounding boxes and try again") + return messages + + # Height check for target rects + if ri.rect_type == "target": + ink = ri.field.get("ink", {}) + if ink.get("value"): + font_size = ink.get("size", 14) + entry_height = ri.rect[3] - ri.rect[1] + if entry_height < font_size: + has_error = True + rid = ri.field.get("id", ri.field.get("hint", "?")) + messages.append(f"FAILURE: pg {pg} — target box height ({entry_height}) for `{rid}` is shorter than font size ({font_size}). Increase box height or decrease ink.size.") + if len(messages) >= 20: + messages.append("Aborting further checks; fix bounding boxes and try again") + return messages + + if not has_error: + messages.append("SUCCESS: All bounding boxes are valid") + return messages + + +@cmd("form.check-bbox") +def form_check_bbox(argv: list): + """Check bounding boxes in fields.json for overlaps.""" + if not argv: + Output.error("MissingArg", "Usage: form.check-bbox <fields.json>") + with open(argv[0]) as f: + messages = get_bounding_box_messages(f) + for msg in messages: + print(msg) + raise SystemExit(0) + + +# ═══════════════════════════════════════════════════════════════ +# Section 6: convert — office, HTML, and LaTeX +# ═══════════════════════════════════════════════════════════════ + +_CONVERTIBLE_EXTENSIONS = frozenset({ + ".docx", ".doc", ".odt", ".rtf", + ".pptx", ".ppt", ".odp", + ".xlsx", ".xls", ".ods", ".csv", + ".txt", ".html", ".htm", +}) + +_SOFFICE_CANDIDATES = [ + "/Applications/LibreOffice.app/Contents/MacOS/soffice", + os.path.expanduser("~/Applications/LibreOffice.app/Contents/MacOS/soffice"), + "/usr/bin/soffice", + "/usr/local/bin/soffice", + "/usr/lib/libreoffice/program/soffice", + "/opt/libreoffice/program/soffice", + "/snap/bin/libreoffice.soffice", +] + + +def _locate_soffice() -> Optional[str]: + """Search for a working soffice binary.""" + for candidate in _SOFFICE_CANDIDATES: + if Path(candidate).is_file(): + return candidate + for alias in ("soffice", "libreoffice"): + found = shutil.which(alias) + if found: + return found + return None + + +@cmd("convert.office") +def convert_office(argv: list): + """Convert an office document to PDF via LibreOffice.""" + if not argv: + Output.error("MissingArg", "input file required") + src_path = argv.pop(0) + out_path = _pop_flag(argv, "-o", "--output") + + src = Output.check_file(src_path) + ext = src.suffix.lower() + + if ext not in _CONVERTIBLE_EXTENSIONS: + Output.error( + "UnsupportedFormat", + f"Unsupported format: {ext}", + hint=f"Supported formats: {', '.join(sorted(_CONVERTIBLE_EXTENSIONS))}", + ) + + binary = _locate_soffice() + if binary is None: + Output.error( + "DependencyMissing", + "LibreOffice not found", + hint="Please install LibreOffice: https://www.libreoffice.org/download/", + ) + + target_dir = Path(out_path).parent if out_path else src.parent + target_dir.mkdir(parents=True, exist_ok=True) + + cmd_list = [binary, "--headless", "--convert-to", "pdf", "--outdir", str(target_dir), str(src)] + + try: + proc = subprocess.run(cmd_list, capture_output=True, text=True, timeout=120) + if proc.returncode != 0: + Output.error("ConvertError", f"Conversion failed: {proc.stderr.strip() or 'Unknown error'}", code=4) + except subprocess.TimeoutExpired: + Output.error("Timeout", "Conversion timeout (>120s)", code=4) + except Exception as exc: + Output.error("ConvertError", f"Conversion failed: {exc}", code=4) + + auto_name = target_dir / f"{src.stem}.pdf" + final = Path(out_path) if out_path else auto_name + + if out_path and final.name != auto_name.name and auto_name.exists(): + auto_name.rename(final) + + if not final.exists(): + Output.error("ConvertError", "Converted PDF file was not generated", code=4) + + Output.success({"input": str(src), "output": str(final), "format": ext}) + + +@cmd("convert.html") +def convert_html(argv: list): + """Convert HTML to PDF via node html2pdf.js.""" + if not argv: + Output.error("MissingArg", "input file required") + + js_path = _SCRIPT_DIR / "html2pdf.js" + if not js_path.exists(): + Output.error("DependencyMissing", "html2pdf.js not found in scripts directory") + + node_path = shutil.which("node") + if not node_path: + Output.error("DependencyMissing", "node not found in PATH") + + cmd_list = [node_path, str(js_path)] + argv + try: + proc = subprocess.run(cmd_list, timeout=180) + raise SystemExit(proc.returncode) + except subprocess.TimeoutExpired: + Output.error("Timeout", "HTML conversion timeout (>180s)", code=4) + except SystemExit: + raise + except Exception as exc: + Output.error("ConvertError", f"HTML conversion failed: {exc}", code=4) + + +# --- convert.latex (tectonic wrapper with log filtering + PDF stats) --- + +_NOISE_RE = re.compile( + r"^note: (?:" + r'"version 2" Tectonic' + r"|Running TeX" + r"|Rerunning TeX because" + r"|Running xdvipdfmx" + r"|downloading " + r"|Skipped writing .* intermediate files" + r")" +) + + +def _find_tectonic() -> Optional[str]: + """Locate the tectonic binary: script_dir first, ~/tectonic, then PATH.""" + local_bin = _SCRIPT_DIR / "tectonic" + if local_bin.exists() and os.access(local_bin, os.X_OK): + return str(local_bin) + home_bin = Path.home() / "tectonic" + if home_bin.exists() and os.access(home_bin, os.X_OK): + return str(home_bin) + system_bin = shutil.which("tectonic") + return system_bin + + +def _human_size(nbytes: int) -> str: + for unit in ("B", "KB", "MB", "GB"): + if nbytes < 1024: + return f"{nbytes:.2f} {unit}" + nbytes /= 1024 + return f"{nbytes:.2f} TB" + + +def _pdf_stats(pdf_file: Path): + """Return (pages, word_count, image_count) or Nones.""" + try: + from pypdf import PdfReader + except ImportError: + for attempt in ( + [sys.executable, "-m", "pip", "install", "-q", "pypdf"], + [sys.executable, "-m", "pip", "install", "-q", "--break-system-packages", "pypdf"], + [sys.executable, "-m", "pip", "install", "-q", "--user", "pypdf"], + ): + if subprocess.run(attempt, check=False, capture_output=True).returncode == 0: + break + try: + from pypdf import PdfReader + except ImportError: + return None, None, None + + try: + reader = PdfReader(str(pdf_file)) + n_pages = len(reader.pages) + all_text = "".join(p.extract_text() or "" for p in reader.pages) + n_words = len([w for w in all_text.split() if w.strip()]) + n_images = 0 + for pg in reader.pages: + xobj = pg.get("/Resources", {}).get("/XObject") + if xobj: + obj = xobj.get_object() + n_images += sum(1 for k in obj if obj[k].get("/Subtype") == "/Image") + return n_pages, n_words, n_images + except Exception as exc: + print(f"Error extracting PDF info: {exc}", file=sys.stderr) + return None, None, None + + +def _classify_lines(lines): + """Bucket raw output into errors / warnings / layout issues.""" + errors, warnings, layout, pdf_note = [], [], [], None + for raw in lines: + ln = raw.rstrip() + if not ln: + continue + if _NOISE_RE.match(ln): + if ln.startswith("note: Writing"): + pdf_note = ln + continue + if ln.startswith("error:"): + errors.append(ln) + elif ln.startswith("warning:"): + warnings.append(ln) + elif re.search(r"(Overfull|Underfull) \\[hv]box", ln) or re.search(r"(Font shape|Missing character)", ln): + layout.append(ln) + return errors, warnings, layout, pdf_note + + +def _parse_writing_note(note: Optional[str]): + m = re.search(r"Writing `(.+?)` \((.+?)\)", note or "") + return (m.group(1), m.group(2)) if m else (None, None) + + +@cmd("convert.latex") +def convert_latex(argv: list): + """Compile LaTeX file via tectonic, filter logs, report PDF stats.""" + if not argv: + Output.error("MissingArg", "tex file required") + tex_file = argv.pop(0) + runs_str = _pop_flag(argv, "-r", "--runs") + runs = int(runs_str) if runs_str else 1 + keep_logs = _pop_flag(argv, "-k", "--keep-logs", needs_value=False) + + tex = Path(tex_file) + if not tex.exists(): + print(f"\u2717 Error: File not found {tex_file}") + raise SystemExit(1) + + print(f"Compiling {tex.name}...", flush=True) + if runs > 1: + print(f"Running {runs} passes (for cross-references)", flush=True) + + tectonic = _find_tectonic() + if tectonic is None: + print("\n\u2717 Error: tectonic command not found") + print("Please install tectonic: https://tectonic-typesetting.github.io/") + print("\nHint: If installed at ~/tectonic, ensure it has execute permission:") + print(" chmod +x ~/tectonic") + raise SystemExit(1) + + all_lines = [] + ok = False + for _ in range(runs): + try: + proc = subprocess.run( + [tectonic, "-X", "compile", str(tex)], + capture_output=True, text=True, timeout=120, + ) + all_lines.extend((proc.stdout + proc.stderr).splitlines()) + ok = proc.returncode == 0 + if not ok: + break + except subprocess.TimeoutExpired: + print("\n\u2717 Error: Compilation timeout (>2 minutes)") + raise SystemExit(1) + except Exception as exc: + print(f"\n\u2717 Error: {exc}") + raise SystemExit(1) + + if keep_logs: + print("\n" + "=" * 50 + "\nFull logs:\n" + "=" * 50) + for ln in all_lines: + print(ln) + print("=" * 50 + "\n") + + errors, warnings, layout, pdf_note = _classify_lines(all_lines) + noted_name, noted_size = _parse_writing_note(pdf_note) + pdf_name = noted_name or (tex.stem + ".pdf") + pdf_path = tex.parent / pdf_name + + print() + if ok: + tag = "\u2713 Compilation successful" + (" (with warnings)" if warnings or layout else "") + print(tag) + else: + print("\u2717 Compilation failed") + + if ok and pdf_path.exists(): + print("\n========================\nPDF Information\n========================") + print(f"File: {pdf_name}") + print(f"Size: {noted_size or _human_size(pdf_path.stat().st_size)}") + pages, words, images = _pdf_stats(pdf_path) + if pages is not None: + print(f"Pages: {pages}") + if words is not None: + print(f"Words: ~{words:,}") + if images is not None: + print(f"Images: {images}") + + if layout: + print(f"\n========================\nLayout Issues ({len(layout)})\n========================") + for ln in layout: + print(ln) + + if warnings: + print(f"\n========================\nWarnings ({len(warnings)})\n========================") + for ln in warnings: + print(ln.replace("warning: ", "", 1)) + + if errors: + print("\n========================\nErrors\n========================") + for ln in errors: + print(ln.replace("error: ", "", 1)) + + if ok and (layout or warnings): + print() + print("<system-reminder>") + print(f"Detected {len(layout)} layout issues and {len(warnings)} warnings.") + print("These issues affect PDF typesetting quality and must be fixed.") + print("Do not dismiss with 'warnings don't affect output'. Fix all issues.") + print("</system-reminder>") + + raise SystemExit(0 if ok else 1) + + +# ═══════════════════════════════════════════════════════════════ +# Section 7: code — sanitization pipeline for PDF generation code +# ═══════════════════════════════════════════════════════════════ + +# --- Step 0: restore literal unicode escapes/entities to real chars --- +_RE_UNICODE_ESC = re.compile(r"(\\u[0-9a-fA-F]{4})|(\\U[0-9a-fA-F]{8})|(\\x[0-9a-fA-F]{2})") + + +def _restore_escapes(s: str) -> str: + # HTML entities: ³ ≤ α ... + s = html.unescape(s) + + # Literal backslash escapes: "\\u00B3" -> "³" + def _dec(m: re.Match) -> str: + esc = m.group(0) + try: + if esc.startswith("\\u") or esc.startswith("\\U"): + return chr(int(esc[2:], 16)) + if esc.startswith("\\x"): + return chr(int(esc[2:], 16)) + except Exception: + return esc + return esc + + return _RE_UNICODE_ESC.sub(_dec, s) + + +# --- Step 1: superscripts/subscripts -> <super>/<sub> --- +_SUPERSCRIPT_MAP: Dict[str, str] = { + "\u2070": "0", "\u00b9": "1", "\u00b2": "2", "\u00b3": "3", "\u2074": "4", + "\u2075": "5", "\u2076": "6", "\u2077": "7", "\u2078": "8", "\u2079": "9", + "\u207a": "+", "\u207b": "-", "\u207c": "=", "\u207d": "(", "\u207e": ")", + "\u207f": "n", "\u1da6": "i", +} + +_SUBSCRIPT_MAP: Dict[str, str] = { + "\u2080": "0", "\u2081": "1", "\u2082": "2", "\u2083": "3", "\u2084": "4", + "\u2085": "5", "\u2086": "6", "\u2087": "7", "\u2088": "8", "\u2089": "9", + "\u208a": "+", "\u208b": "-", "\u208c": "=", "\u208d": "(", "\u208e": ")", + "\u2090": "a", "\u2091": "e", "\u2095": "h", "\u1d62": "i", "\u2c7c": "j", + "\u2096": "k", "\u2097": "l", "\u2098": "m", "\u2099": "n", "\u2092": "o", + "\u209a": "p", "\u1d63": "r", "\u209b": "s", "\u209c": "t", "\u1d64": "u", + "\u1d65": "v", "\u2093": "x", +} + + +def _replace_super_sub(s: str) -> str: + out = [] + for ch in s: + if ch in _SUPERSCRIPT_MAP: + out.append(f"<super>{_SUPERSCRIPT_MAP[ch]}</super>") + elif ch in _SUBSCRIPT_MAP: + out.append(f"<sub>{_SUBSCRIPT_MAP[ch]}</sub>") + else: + out.append(ch) + return "".join(out) + + +# --- Step 2: symbol fallback for SimHei (protect tags, then replace) --- +_SYMBOL_FALLBACK: Dict[str, str] = { + # Currently empty - enable entries as needed for fonts missing specific glyphs +} + + +def _fallback_symbols(s: str) -> str: + # Protect <super>/<sub> tags from being modified + placeholders: Dict[str, str] = {} + + def _protect_tag(m: re.Match) -> str: + key = f"@@TAG{len(placeholders)}@@" + placeholders[key] = m.group(0) + return key + + protected = re.sub(r"</?super>|</?sub>", _protect_tag, s) + + # Replace symbols + protected = "".join(_SYMBOL_FALLBACK.get(ch, ch) for ch in protected) + + # Restore tags + for k, v in placeholders.items(): + protected = protected.replace(k, v) + + return protected + + +def sanitize_code(text: str) -> str: + """ + Full sanitization pipeline for PDF generation code. + - Restore unicode escapes/entities to real characters + - Replace superscript/subscript unicode with <super>/<sub> + - Replace other risky symbols with ASCII/text fallbacks + """ + s = _restore_escapes(text) + s = _replace_super_sub(s) + s = _fallback_symbols(s) + return s + + +@cmd("code.sanitize") +def code_sanitize(argv: list): + """Sanitize Unicode in a Python script for PDF generation.""" + if not argv: + Output.error("MissingArg", "Usage: code.sanitize <target_script.py>") + target = argv[0] + with open(target, "r", encoding="utf-8") as f: + code = f.read() + sanitized = sanitize_code(code) + with open(target, "w", encoding="utf-8") as f: + f.write(sanitized) + print(f"Sanitized: {target}") + raise SystemExit(0) + + +# ═══════════════════════════════════════════════════════════════ +# Section 8: CLI dispatcher +# ═══════════════════════════════════════════════════════════════ + +def _usage(): + sys.stdout.write(__doc__.strip() + "\n") + raise SystemExit(0) + + +def main(): + tokens = sys.argv[1:] + if not tokens or tokens[0] in ("-h", "--help"): + _usage() + + cmd_name = tokens.pop(0) + + # Direct match + handler = _COMMANDS.get(cmd_name) + if handler is not None: + handler(tokens) + return + + # Two-word match (e.g., "extract text" -> "extract.text") + if tokens: + compound = f"{cmd_name}.{tokens[0]}" + handler = _COMMANDS.get(compound) + if handler is not None: + tokens.pop(0) + handler(tokens) + return + + # List commands in group + group_cmds = [k for k in _COMMANDS if k.startswith(cmd_name + ".")] + if group_cmds: + print(f"Available commands in '{cmd_name}':") + for c in sorted(group_cmds): + print(f" {c}") + raise SystemExit(0) + + print(f"Unknown command: {cmd_name}\n") + _usage() + + +if __name__ == "__main__": + main() diff --git a/skills/ppt/scripts/rearrange.py b/skills/ppt/scripts/rearrange.py new file mode 100755 index 0000000..f50e0e8 --- /dev/null +++ b/skills/ppt/scripts/rearrange.py @@ -0,0 +1,144 @@ +#!/usr/bin/env python3 +""" +Rearrange PowerPoint slides based on a sequence of indices. + +Usage: + python rearrange.py template.pptx output.pptx 0,34,34,50,52 + +Slides are 0-indexed. Indices can repeat to duplicate slides. +""" + +import argparse +import sys +from copy import deepcopy +from pathlib import Path + +from pptx import Presentation +from pptx.oxml.ns import qn + + +def copy_slide(src_prs: Presentation, dst_prs: Presentation, index: int, dst_layouts: dict) -> None: + """Append a copy of slide[index] from src_prs into dst_prs.""" + src_slide = src_prs.slides[index] + + # Match layout by name across all masters; fall back to first available layout + layout_name = src_slide.slide_layout.name + dst_layout = dst_layouts.get(layout_name) or dst_prs.slide_layouts[0] + + new_slide = dst_prs.slides.add_slide(dst_layout) + + # Clear auto-added placeholder shapes + for shape in list(new_slide.shapes): + sp = shape.element + sp.getparent().remove(sp) + + # Copy ALL non-layout relationships from source and build old→new rId mapping. + # This covers images, media, charts, hyperlinks, videos, and any other embedded content. + # Without this, relationship attributes (r:embed, r:id, r:link) in copied shapes would + # reference rIds that don't exist in the new slide, causing PowerPoint repair dialogs. + R_NS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" + SKIP_TYPES = {"slideLayout", "notesSlide", "slide"} # handled by python-pptx infrastructure + rId_mapping: dict = {} + for rel_id, rel in src_slide.part.rels.items(): + rel_short = rel.reltype.split("/")[-1] + if rel_short in SKIP_TYPES: + continue + new_rId = new_slide.part.rels.get_or_add(rel.reltype, rel._target) + rId_mapping[rel_id] = new_rId + + # Copy all shape elements + r_embed = f"{{{R_NS}}}embed" + r_id = f"{{{R_NS}}}id" + r_link = f"{{{R_NS}}}link" + + for shape in src_slide.shapes: + new_el = deepcopy(shape.element) + new_slide.shapes._spTree.insert_element_before(new_el, "p:extLst") + + # Remap ALL relationship references (images, charts, hyperlinks, video, etc.) + for el in new_el.iter(): + for attr in (r_embed, r_id, r_link): + old_rId = el.get(attr) + if old_rId and old_rId in rId_mapping: + el.set(attr, rId_mapping[old_rId]) + + # Copy slide-level background if defined. + # p:bg lives inside p:cSld, not directly under p:sld. + src_cSld = src_slide.element.find(qn("p:cSld")) + dst_cSld = new_slide.element.find(qn("p:cSld")) + if src_cSld is not None and dst_cSld is not None: + src_bg = src_cSld.find(qn("p:bg")) + if src_bg is not None: + existing_bg = dst_cSld.find(qn("p:bg")) + if existing_bg is not None: + dst_cSld.remove(existing_bg) + dst_cSld.insert(0, deepcopy(src_bg)) + + +def rearrange_presentation( + template_path: Path, output_path: Path, slide_sequence: list[int] +) -> None: + src_prs = Presentation(template_path) + total = len(src_prs.slides) + + for idx in slide_sequence: + if idx < 0 or idx >= total: + raise ValueError(f"Slide index {idx} out of range (0–{total - 1})") + + # Build a fresh presentation with the same dimensions + dst_prs = Presentation(template_path) + + # Remove all existing slides from dst_prs + sldIdLst = dst_prs.slides._sldIdLst + for sldId in list(sldIdLst): + rId = sldId.get(qn("r:id")) # must use full namespace via qn(), not bare "r:id" + if rId: + dst_prs.part.drop_rel(rId) + sldIdLst.remove(sldId) + + # Search all slide masters for layout matching (templates may have multiple masters) + all_layouts = { + layout.name: layout + for master in dst_prs.slide_masters + for layout in master.slide_layouts + } + + # Append slides in requested order (duplicates included) + for idx in slide_sequence: + copy_slide(src_prs, dst_prs, idx, all_layouts) + + output_path.parent.mkdir(parents=True, exist_ok=True) + dst_prs.save(output_path) + print(f"Saved {len(slide_sequence)} slides → {output_path}") + + +def main() -> None: + parser = argparse.ArgumentParser( + description="Rearrange PowerPoint slides.", + epilog="Example: python rearrange.py template.pptx output.pptx 0,34,34,50,52", + ) + parser.add_argument("template", help="Path to template PPTX") + parser.add_argument("output", help="Path for output PPTX") + parser.add_argument("sequence", help="Comma-separated 0-based slide indices") + args = parser.parse_args() + + template_path = Path(args.template) + if not template_path.exists(): + print(f"Error: Template not found: {args.template}") + sys.exit(1) + + try: + slide_sequence = [int(x.strip()) for x in args.sequence.split(",")] + except ValueError: + print("Error: sequence must be comma-separated integers (e.g. 0,34,34,50,52)") + sys.exit(1) + + try: + rearrange_presentation(template_path, Path(args.output), slide_sequence) + except ValueError as e: + print(f"Error: {e}") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/skills/ppt/scripts/replace.py b/skills/ppt/scripts/replace.py new file mode 100755 index 0000000..d9c2712 --- /dev/null +++ b/skills/ppt/scripts/replace.py @@ -0,0 +1,231 @@ +#!/usr/bin/env python3 +"""Apply text replacements to PowerPoint presentation. + +Usage: + python replace.py <input.pptx> <replacements.json> <output.pptx> + +The replacements JSON should have the structure output by inventory.py. +ALL text shapes identified by inventory.py will have their text cleared +unless "paragraphs" is specified in the replacements for that shape. +""" + +import json +import sys +from pathlib import Path +from typing import Any, Dict, List + +from inventory import InventoryData, extract_text_inventory +from pptx import Presentation +from pptx.dml.color import RGBColor +from pptx.enum.dml import MSO_THEME_COLOR +from pptx.enum.text import PP_ALIGN +from pptx.oxml.xmlchemy import OxmlElement +from pptx.util import Pt + +_ALIGN_MAP = { + "LEFT": PP_ALIGN.LEFT, + "CENTER": PP_ALIGN.CENTER, + "RIGHT": PP_ALIGN.RIGHT, + "JUSTIFY": PP_ALIGN.JUSTIFY, +} + +# Bullet indentation constants +# marL = font_size × (1 + level) × 1.6 pts, converted to EMUs (1 pt = 12700 EMU) +_INDENT_FACTOR = 1.6 +_EMU_PER_PT = 12700 + + +def _clear_paragraph_bullets(paragraph): + """Remove all bullet XML elements from a paragraph's pPr.""" + pPr = paragraph._element.get_or_add_pPr() + for child in list(pPr): + if any(child.tag.endswith(t) for t in ("buChar", "buNone", "buAutoNum", "buFont")): + pPr.remove(child) + return pPr + + +def _apply_paragraph_properties(paragraph, para_data: Dict[str, Any]): + text = para_data.get("text", "") + pPr = _clear_paragraph_bullets(paragraph) + + if para_data.get("bullet", False): + level = para_data.get("level", 0) + paragraph.level = level + font_size = para_data.get("font_size", 18.0) + pPr.attrib["marL"] = str(int(font_size * _INDENT_FACTOR * (1 + level) * _EMU_PER_PT)) + pPr.attrib["indent"] = str(int(-font_size * 0.8 * _EMU_PER_PT)) + buChar = OxmlElement("a:buChar") + buChar.set("char", "•") + pPr.append(buChar) + if "alignment" not in para_data: + paragraph.alignment = PP_ALIGN.LEFT + else: + pPr.attrib["marL"] = "0" + pPr.attrib["indent"] = "0" + pPr.insert(0, OxmlElement("a:buNone")) + + if para_data.get("alignment") in _ALIGN_MAP: + paragraph.alignment = _ALIGN_MAP[para_data["alignment"]] + if "space_before" in para_data: + paragraph.space_before = Pt(para_data["space_before"]) + if "space_after" in para_data: + paragraph.space_after = Pt(para_data["space_after"]) + if "line_spacing" in para_data: + paragraph.line_spacing = Pt(para_data["line_spacing"]) + + run = paragraph.runs[0] if paragraph.runs else paragraph.add_run() + run.text = text + _apply_font_properties(run, para_data) + + +def _apply_font_properties(run, para_data: Dict[str, Any]): + for attr in ("bold", "italic", "underline"): + if attr in para_data: + setattr(run.font, attr, para_data[attr]) + if "font_size" in para_data: + run.font.size = Pt(para_data["font_size"]) + if "font_name" in para_data: + run.font.name = para_data["font_name"] + if "color" in para_data: + h = para_data["color"].lstrip("#") + if len(h) == 6: + run.font.color.rgb = RGBColor(int(h[0:2], 16), int(h[2:4], 16), int(h[4:6], 16)) + elif "theme_color" in para_data: + try: + run.font.color.theme_color = getattr(MSO_THEME_COLOR, para_data["theme_color"]) + except AttributeError: + print(f" WARNING: Unknown theme color '{para_data['theme_color']}'") + + +def _check_duplicate_keys(pairs): + result = {} + for key, value in pairs: + if key in result: + raise ValueError(f"Duplicate key in JSON: '{key}'") + result[key] = value + return result + + +def _validate_replacements(inventory: InventoryData, replacements: Dict) -> List[str]: + errors = [] + for slide_key, shapes_data in replacements.items(): + if not slide_key.startswith("slide-"): + continue + if slide_key not in inventory: + errors.append(f"Slide '{slide_key}' not found in inventory") + continue + for shape_key in shapes_data: + if shape_key not in inventory[slide_key]: + available = sorted(inventory[slide_key].keys()) + errors.append( + f"Shape '{shape_key}' not found on '{slide_key}'. " + f"Available: {', '.join(available)}" + ) + return errors + + +def apply_replacements(pptx_file: str, json_file: str, output_file: str): + prs = Presentation(pptx_file) + inventory = extract_text_inventory(Path(pptx_file), prs) + + # Snapshot original overflow so we can detect if replacements make it worse + original_overflow: Dict[str, Dict[str, float]] = { + slide_key: { + shape_key: sd.frame_overflow_bottom + for shape_key, sd in shapes.items() + if sd.frame_overflow_bottom is not None + } + for slide_key, shapes in inventory.items() + } + + with open(json_file) as f: + replacements = json.load(f, object_pairs_hook=_check_duplicate_keys) + + errors = _validate_replacements(inventory, replacements) + if errors: + print("ERROR: Invalid shapes in replacement JSON:") + for e in errors: + print(f" - {e}") + raise ValueError(f"Found {len(errors)} validation error(s)") + + shapes_cleared = shapes_replaced = 0 + + for slide_key, shapes_dict in inventory.items(): + if not slide_key.startswith("slide-"): + continue + for shape_key, shape_data in shapes_dict.items(): + if not shape_data.shape: + continue + tf = shape_data.shape.text_frame # type: ignore + tf.clear() + shapes_cleared += 1 + + para_list = replacements.get(slide_key, {}).get(shape_key, {}).get("paragraphs") + if not para_list: + continue + shapes_replaced += 1 + # Inherit original font_size if not specified in replacement + orig_paras = shape_data.paragraphs or [] + orig_font_size = orig_paras[0].get("font_size") if orig_paras else None + for i, para_data in enumerate(para_list): + p = tf.paragraphs[0] if i == 0 else tf.add_paragraph() + if orig_font_size is not None and "font_size" not in para_data: + para_data = {**para_data, "font_size": orig_font_size} + _apply_paragraph_properties(p, para_data) + + # Re-check overflow on the updated in-memory presentation. + # Note: extract_text_inventory may add benign empty <a:solidFill/> elements + # while reading font colors — these are harmless and ignored by PowerPoint. + updated_inventory = extract_text_inventory(Path(pptx_file), prs) + + overflow_errors: List[str] = [] + warnings: List[str] = [] + for slide_key, shapes_dict in updated_inventory.items(): + for shape_key, sd in shapes_dict.items(): + for w in sd.warnings: + warnings.append(f"{slide_key}/{shape_key}: {w}") + new_ov = sd.frame_overflow_bottom + if new_ov is not None: + old_ov = original_overflow.get(slide_key, {}).get(shape_key, 0.0) + if new_ov > old_ov + 0.01: + overflow_errors.append( + f'{slide_key}/{shape_key}: overflow increased by {new_ov - old_ov:.2f}" ' + f'(was {old_ov:.2f}", now {new_ov:.2f}")' + ) + + if overflow_errors or warnings: + print("\nWARNING: Issues in replacement output:") + for e in overflow_errors: + print(f" overflow - {e}") + for w in warnings: + print(f" warning - {w}") + + prs.save(output_file) + print(f"Saved: {output_file}") + print(f" Shapes cleared: {shapes_cleared}, replaced: {shapes_replaced}") + + +def main(): + if len(sys.argv) != 4: + print(__doc__) + sys.exit(1) + + input_pptx, replacements_json, output_pptx = ( + Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) + ) + for p in (input_pptx, replacements_json): + if not p.exists(): + print(f"Error: File not found: {p}") + sys.exit(1) + + try: + apply_replacements(str(input_pptx), str(replacements_json), str(output_pptx)) + except Exception as e: + import traceback + print(f"Error: {e}") + traceback.print_exc() + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/skills/ppt/scripts/tectonic b/skills/ppt/scripts/tectonic new file mode 100755 index 0000000000000000000000000000000000000000..e3201ccb468c59fbf03b075da5981ab565b635f9 GIT binary patch literal 10747904 zcmeFa3t$x0y+6L2Y+#YVY?Rgbf<&VxiZ&6{1W<QL0y8iRK|!#h;+0aY4-htL6(zEX z?si?J)>_+Zt=gA;S*g9g3cBHu1gsE19zJ<ofn9<S&=Ro9{y(2{W_D+j08wb~z5id( zBy-NpoH^ffzUO@3-!r#TACY0V+suC%wkvEbEpt_fDvxoa>H5nuj7yuxR%&zNcfKu8 zJnJxTh`%1AWc)SXGXJ{dZGIz*mqyv<^00)mNBnvIzurpwYd**K#P^!zeOq%vJZJu$ zy0ui4&A-<7df?7$3lE6<ul>E0P1(%9tt*C#dfTfr<X@v-JyGKKVuNzT^Re=AX@9Ha z)3z53_?$+$YMXy5-&5;$iyF1=BJrO2ck)?s)XcxKWV4OKd+cXd|Cz&gmGQm9!KeOc zh-lLMD>~EFk90rRJp$b$&^-d(BhWnp-6POF0^K9fJp$b$&^-d(Bk+HI1Y*I}f3Qtj z@_!zVZUDMRpnC+mN1%HIx<{aU1iD9{djz^ipnC+mN1%HIx<{aU1P(s}-fON_1G`F9 z`+8;GYj{iz{ZkE(bgGeTn_9M4RYvYr1BbG_Z_+-kE9Lvu*RPo%{$-Wy*UDCUl*b!J zMY8|F52%rTnp(d-Q>}~o^VD!}wSIG^8gY2kkY3<a8!HN2G>)sGih|shUZO1Dnp2Rc zM({|?c79Kr8bHyehUXL%`cF|`GtAUAYFT6TDQaM8>2=;4mZ+hjdT6#YS*%M`I}`5j zojk~{^j5?Eg5rex%=1`K2H33d{Y-qm6Zm?0-(=SapB~z;wyjs|cV9^`atTJV`|Ql& zyRV1##jYqi76@K&TOhdZTo&eA`~R22^*?QXo?leE|HSu4+miF6-Ln2Ablseq0fgz6 zsHjSUc9fZ!R(LFMHTSc?6*z~5Y07|FKx0drpWk%>z7ovPUbQ|x#G^dXfFW1ww`Q4; zogtAfD>Y+B0qe2zjs>iPCt1MyV}SrGZN6UZ0zB&LKl`cpXHU+T0C0-~%PC|+W-KSv zIcmBL-GXzE1-jF%(5*b1&?y5vY4i2RF2OhI@d6G1XC&d%Ze3q$0w$*H)@W&$f%@>A zV*zT!iIyolc$S#5i%e8h22`ZuW7puj!N0oll<WPe`2&2D+QB!e%kX_!a4hgm%dx<B z>e1lq+I~NHkocFGoIlHc-yT7^-*+8BUB?9Ly)Fx^7v{5o{T{?DR}Bp-P(ywYozVCK zmm1m;dnnq=Ch@m!xj(Zcy5wp#(V&NW>fy02H9Qw@98d!>hcZuWL3Po&s%DRR!^7<J zKT{U208o9sWy5UB6H%ph1(1H4_w_@GY2LN<(<<^;RDT$M1$D}R8vM3Rdkc5gHcrd` zLaBWYW$}J!m1=L(?Tvb*Ur%4??P=4dC6O*Xz&rHx>g8&n(V+#FIP|g&vvzsIL%c(W z*{ffE$$s4uJZyb_+G}h-IxT;(zw#x!T9@z-<0sH^-;v5IXSgbdoLc>X8c5jv1t?E; z*(--!YiIk34F8F!8Sl!d95ODW`c>3qRxh}2Nl6snNOosF#!pp4b1-(1tk&C35cJN4 z>!o40UC=%f?mR&WaUp!|)JO$~x}u<v_lm{6$ee=QgnN&el~n7PpDJ({sv0=po#haG zMk4AjQzL3ZRTeF8Tdg)OPT-%qc4x_cJd~j-<@+#G{*z-*?8CZvoo(YE*ny_%Gbb%k zBbU!z^%fWp_qrds?QiDbR>D26x4?_KX!Ys1f1|wr^VIzzHgP}HsD{=j+@JSnDb>XZ z-ih98yc4|R$rh=4`0iZYzJIpsEq*!SezeCRd;B^0=V_r0TIee^d?Uu`Y79)XS|7_) zLmSk<jst2@qZ;_9Q&oollX$f{rj|9_Rjei&)v`lis19M|owLX2801`?SXvTAjYIiS z6gz$$`K<VwOfnjC3W~Mx?YLMCdgmyK?q94ZKaQ&QCZ%=<p2GOpt7n(&kH5(R&_eth zpa!BD;FgrYBs7xxh+4lR^9?aIfka<r-b{Ys^&g3y`Ee|k18UnAwP=I7dXH+~pw{on zP!p>#C9AAcq9zu{FA(n~zm;EKl9;B<$a-@9TQ-n%?4Q$=J<F#lQ}xSn)zUOgnTsnm za(7;`-j%G!%4|~u^@pn8e!=d~#RE~iSaAto%&HU(&P7QLeBqjXni{zukMB;n`&}@| zj?qn2pIEXyej}VNKT~E@;@8{?w*^`~bQ`cSQW+&$mR6P|w9uz514+LyPi0zUY^$38 z-tb_><+fl&kxPq=v}=K7QLSu~7HU*#4`Q5#*UY)xR#W|nj-jdF+(Qk;)uMXt;w~K= zW~o-xptfyP?J*3u_(+~F^rhDJu2%m^56!--Ws*r$yo$?FptyQ@m7MGXCC8337-7Yw zxln`FlpHUvP?v|gJW-d2y1dW4$_y+fK&KVsdalmvx!z)O#z33>v0vWk1Zva+4m?xQ z2cx#3Sq-hMTT@-|7M((IE#S2uQu9CNBOF*f5@>YQt?|dOX{=H0`_%mRYv#CZwtM<u z8Y{&UyrYK>sYNS^&qb@$k~TGe6HwHp%zG0vPkaPg)Nkpb+T+SAezzD?HF7V;bW;%1 z5Ulu?%TseG;hzoW3?mm)i<;FkLKxW1_lFYfz<=|yu|5i{weD|TY*Bq|$}5AN-k`sa zE!fW~YV7!s)6Ob;aJ&;3P@hr#ZhQ~g5ZhyF{bDZBkB!3{Ft>?@ib7X{Bk3sMZ+sU+ zJ-z_L?3!FqtmIsapK*B@SIvcA_V{OCB@%iVsKYsSs$mRzN(9l1_G%%YEB-u?&e#s- zW&jzjo03vji@TOpCpLy5O5MVLCV+z*wE7)A^vEoi9{NhR|3jJgYgDJc09@LmmMv2r zew5X9pZc%B#=Gcyg8{tlO*yA~w9vZ=_o_1o+4ay?EwmIuN_Bs6PjpEQ?M%3@y$GAs zm%w4~Lh(}Mdzdr1K?SyAcUr6lzT)n*j^xqfvwx|FcDzY1YOvD@_h>NdYG{vGL0Y&H zcm#Z<ROYlPwO6B6j*V*?hO@`C3T49qZ`%efGD56@;>waw^{^lYa|%jZW(a;UGBHt+ z|Am%l;>uGacVc!9d4rB@tiE$yYTG)sep?R{pYSdwVuqs-zw|<^lJSLD7LyB$u`VWO z^Y{2{u8g^Qwu^rp+1}6wUmd9O8>0Kbv1yf%28&Yoz>bb^X@Lfp=q;AH%lja3&Svv} zg07>Lg?n`Sr^He&b4rgY);3pJ%rluwY%vR^YW^2QAxA$fqNcj#)dR$!Pn$2+kmZ(& zFM-F1aU6hI3zw_*)oT7hZ_Ti5n-V1cvqz2sHpAQT54aA1X&&_giphAbP!Hv)p?g45 zRhL@#f&Y9pv{7`<zC;Zy8RtKZ9dZdO(-?h2;>E`a_ZqN!R$N-DUgw?cz219+_r~j& zB;~Di`lg0w<f``FN&5C;;$nOJJox1USD^_2`E&Xr(|~K6N#FF)7B#R17*wwX4mmYt zICh98N#97wa+QY`a^p$Vt7R)e=vJzMgH9!|T1?GUN#_od&gqfCg3i63D{i%d_9!*? zVp4$6T41T71wLujBG<Tlp>3Ldoigu6+_FLz-J@}psHpbUVd@4JD77zuaALJQ_TAKK z(L;OG(7J^CxzmWzJJrxKtQMs%fG1NcM(2t-4@4zijCwtM0f7|c*1LaclHPtwxJYkj zl&py_W}zLutyjQKaRmWRY>k=THzln-2wLlA_uoj-+9tJat6H>LT^%QG)W<<<mrM3X zYiz)?32p6eEzuDFh?oIJQ~VpCg4XUQtvw$cjRn6+Z@nP6f^Ih9axN~_$TfL_;)*+x z<cd2WqU#0CZ3N9dP0(CCf=!!5w|OO6#$zaIfiGRN&(uJ5_0Vo?H3|2BLIlLLC#w5_ z<@k(*7kCWHTaM??u~n9Q(lRJTU-bek^A+Vm+`*7ysh=;%X08TS(e5kz922e7K7vNd zYv!B-GP{Eq*47M0+oMJXF2exZuqb_@?ONN%VuMdIsG}o}yVS_wWigD3Zb#P=F>NB2 zY4~ca7p$~;c1x1ORyDM$Zh!T;-q++BS;hW=3s>{G>}P;LU=g-zfvBr)zkdf7<9?OI za=o`^&LyCTeYsEtNo?gkY?2^`TBubkYSKy$X!*@r-~dQsZ*)Y3N&+M?lC9zA9ohRh z=oZ@HuBS&vwBmVh5HuLWfng~GflMTn+8cl+$}5%l$q7!d1+mdr;%A&aIKdwDvXp^R zMsPw#(2J|eOq4Q%6EcHdTva+yas($hf?ixzW}%c7oRAgt;;OO-N<D%TdIY_=s_cnU z&)|ffK`*W<ohUhj6P!UWt}1(>)GIilSI~>A$`epJAvocLpchw_y;15NoX|Vy#Z_fC zO4-2)*+DO^D*K?+Cpe)`(2J|ez9{t#PUsu-;;K?XNeNC+f?ixzx=?ZjC%A%MTvg_v z1YmQ5UR+h4h|-C{2`2`<xT-t}rIUgaP6~Q)RoM@ve!&U-f?ixzx>0fmC%A)NTveWo z(#gRICkMT_syqdyQ-Tvt33^Y#_{KMajGO!yF|JiTyWCmc0Ax&nF91uRhAXiUyreaP zceKZEz$<EaH1^+Hb3vrAUqG|8GgA$0$99JmbC3jcuUfR*vJZu3gD$4+vIbi){fmp! z*@9{a3+u(+5O;#KFCso_kueE9)XIHT!&k^q@+;sl^K^WQ8)~U;-v&}FXmi5-muzff zVF($59uF%3IaUQZo+`;PXbR|YtG8`EVUF=Rk08j7f|hS5_kS-wTamvvNsnid9!sw6 zBA3>-8tY3_+txr7xk{3mu)h&w<zFWVb0Zn;bvAEkrJ%Y^T&MU>F{tkT>H@AWE*f+Y z+qfXOSY9N!*u+3^{~LY7%3Ii=gKx%bg=C?*<OTVQ46f&DzVB+u*Mi37fpC&@mCP+T z+w&#SwepLqeQ(-Rg8qWPCH*bd(J*)ka=I%(zy+tP1P`J&Cbvr(ygI&vJ1t%)RWEQr z7`lKR0tp5>gvy~G0BKXPMU)77#pj%qmI6^l4Qy^z?U=ZR9REosRTdOE;VwVjN{-`e z1WtOuPaIOiV}WNQb1~nLdsHwJ=aG#&3)1RE*xRwaHey~`rKn-BB&BM2rZfIB>L`=u zsgcR(Kxk9KZR<tCwkcM~#{*0AAjngG&(%W9Q|b>r1dt-`@$(_SN66Je)$Y<l%?bAp z_g|bQ`U?3?$p4Y7cYZ0weX0TClT&JdkBs`<E~)`8d4exUZNL_xoJx@{>-Vm=eDC{~ z@7?}&zo)0ZcV}ncllt`OG;^R=r3v@T)JH@9Dpg#1flBdUl2Qa2K`Ek`Qbc^%&Or`P z@(nDVP6LD%0*43#1dyVy8XhX->V$jTspQJrVxgSpg|exJgun}R0;jE54SlAC4rw8f zx<tZ#IlhW#)zHU!=!@7Xco1zDqiyev7HtglC49FElhCi;m=ML4p}0nYH@*sTB32ru zNL-Bv-wKU^hZC>j`G;;0jL=&unij^5g!`u$4`7x5VxqSS?$SfJorF7=a2HZ4DphhO zK`N?3lPcO~x2mpN@)i~8Z?dg~dvPDBKUu<+fF1Ba=H2|A;Xi@H^oWbViy4m<m!Dv3 z0ej{8Ody(=Z^APL{rgok2~Q8jH3slp(;gnh)l+eeMJKS45lRljpRbo-O-g~a7<xd0 zHI!gM(W+JvELF+zbP>KOCVXr(;ogdU77&D>U4qaPd;2|N|EAc>3IW5q-e&+)i>J9H zAKVqiU#d_deGa`vs37RO(tvWZ`?;JXC?$Y(Zv@2~4GH&GEg%(<tc{Z;SZv9dtrkUs zmB*fhw!gt!YN#>cUcpx&5j?n*Rc7CLop7I<>^qd6TUun#5B8Nk5AE$_y>mXmb7lEO z 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%0APok{TD65+zpwHWjt>txv?}8>0 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 O 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�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 Pws<X@R3FL{Z7!E6$ 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�fB<o&O*6pTL>p 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¨^@D-_mq$3SLCk^<~eY{ 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,ah+Im11^x_` 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%0DH2N1HC0d#BpnPbYJM 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%0A@&I6 z_qpnLKJCj~xZ;hqxgaQLOwXvWeWg?kL2jE7%^%EZHKrXDcVnoU-O!GOKMN%C=<T<4 zlqNCmrc<G4{x0ku@xc4#LWJ^)$jn`?ipZ_I@^Q^e8$ap5*HX(aul5tPAE3g3Oe!5X z6T(kWzA+0AaaE)6J4k}gZ9(eoqt<@weWfDX<BD=|y8Ii!U>fA|u33FfxcAnE@5qa` z+=Tf#r`TS)?`!1^hMemRMV?TmveNy^ctxDtq98{=?iyfV%8>`k)T;|Ie2>g?$UGPt zh+L=UL9$@n<l(lE@fpY%G52;?e6?T)Z(Fs+zQ%`aZ4Yn<`P6`U-1B&7K->52iQx?{ zG_O-_6Ry3L)uwqC_@%B;q{bC$dAoj4<HTDV26_K-YvL*{j3s7z|8f;p=h?MmR8<!d z9x%^g)ik7GaJr)UmweaG8K11bG&HWp!G=r3(tWX~(G^&gPinp5vw`H=kWnMga5;jW z9xfl$UKX_NPj&A`M6`hI4as57#nipb4zo6J5L^BF?o@?|wb1`(g#J^u%s;rsoDCBr zQ^r2!Y8dpCyCE-m*|VP=ZcASFCY!6|Wrfp*+xm?j@=u1m)^tF>iP6MjosVMCbEx z{d`y5)!x6L!5;^%au9*_NS!but+^L6(<Apg^!9!BmBMn81<&|+y19pVNI+}(A#s85 zgT)k-Eh@d{$?`VyW*D!XxmU`WF2Z5s)o4SeNAuS4$<dOseacvmL!6Q^7F&bmFZA{x zb#lFIjbEF(m9t*vPA}JYZ1uZ1xL+fO`puOLXM#s9yYz6}hI1XMGSb{zMiYr2r$N|9 zw1BWmK+u-25D0=%yV?|5_Gf8%P*$MNBR<mpW~=>n+J6P(O$0aEKSBG@`3dwd&0CON z5=glx&E^};<~OV6e;SO83r1#R@bFDnVB9=jxReJYhG1?8Q8VNng#oT)&wgcY&=?PI zoa5lnoemx)9H6;yaPPX&t+~F2F{Ym<(0Sz?*Yz_U_^`j#p=++mUWw<x>qaKwOvkK1 za*8WH6RgADqc9KQ$Z`t6jumb!yx0wB3^i5;YEYu`6_vDzPA0qxYdoXp@pHA%HMv@@ z9zIPD!j%$UVurmEUaZ3XVdP28Mv3<DI)diGBu8qh)T1vHwGl1v)0M~yfbRlq1yIe! zeyS*o4?XF1#s5t*MJ`Vv3nuZY7W1JGL8Rqr^9nX%3iPn#277oL-7LEj{+)v}FDTQ& zSS1Lnvhd{vUDH69KC7ln(V&g}#)_R(f#XO#xB*x-3*(eRmQ=UY%5O0!%_==;#LnIJ zo3DZhfXRZav1%sr0!hokhCzu>^A?Fbnth>gn1Vq2+vbE}-l{FzeX<^Nz5dT%lD9*w z^%o!Ix-nKggzHymA2zkp9OtPFO@DL`;}z3kyk<I#S51fIqL`>gwwcvB<2$0CNUfNR zxe^Sl2ksoPFYMTjmr8lPfyrGz%9_~qBhH%CZ(znMgqp9QGw*|mgy7|LMV|Q!Ps~C} ziPZ5je4VRd2v>3(vBE+bK%yeN6$yXv$vdjU>?L|~a$$TRI8<$flenUM2ZS=fWnpuG zEBUkrc$ydw$((+lI1>ffBfBOu6{fkF4p8RTAp0u%&inPlc*kBIRu&o(QG;<%=hTHN zfXv}oC85~&FOaDY+d{hJ4=Q1N3#I^6v4uLP>}s0uhepUJ<m*;w;zIpo><UU`4H_PZ zOw8bZOJ(Kil5+;SN6COO6?<n2@^*c0Vnp3Vcs;Qi@{e<Y3Xx{KEU3P(^HNR0AO6f{ zTR=<}JO|6x2Ac#W2uT+FsWe4U$T~_8%$I#oCi5LD%|k_V#tIenEzxR#oO<MDMq{c2 zhdejSb>D#^OLZ~RdpnqyIa5=Oqw!Qaj5h~LgJMt6Z+%#xnET6IwFpK&!!r7Kk+4n{ zScJY8)Kf*ZmxrLJ$aI&i8e9y7m6Tya%EPCR(UTQ2K?S+4xN;`JN~lNf#+zCLSK7uN z(3?7C{sqbroUKP^9{vF(g2r`_P=(?{ZG6jzVno7}<U?_yCDw<;gk1dj3aEG8#^vb8 ztqatT6*ZDaI1+3LEo1y8`E358qDa30Dn7!l=5vK28v(TRAYwX!viMcR2cpeI0wRaJ zM}(mwa_kOx4qqS5SBpoo;8n5u7TO9J%?Bi>fcHNRxIX*Cxk1~$!0a>p><`S|!IQ&Z zqvd3WK6@P&HRhW+5T4&&Eng;{_^M1jaH7(@LZ4(1eDJu5LQb)XEYfeam+*I{9V`wD z+Ck_ryPey$=9tH`>6>)4ObutEfTvtfC_Je%dKFoEFc7Iw!|f%2<%ZnSiBzaX$jv*T zDu$IH=h}zPVeg@<t=a!=mrxAM@DD{jj8>4hs|rQ*=;QX#VY5kxGC5#Nf#cf)woZ0^ zONBZEkw-p|fe=#EWql1q^6^I_YS+ljJYeA5N<x6eYAB&ua_`3?Eq`8BYQ<wD{dqjH zYp!|ft4zKGZR)F7h-$717ApD*gwG7t7OljVP0<Qh&uzLV7A!v^2MR8&MN;tESD2zI zp1f9&M#sjWs1K<ZUNxcq_Y1Rp$sOr2-#(XlE)ihg#ekTd|M;O47~7y-&BJ?R>i4mt z9`*Zp(GmHDK$g&y<dbtFF=UY5<E+Gdi;S%fuLA_MijDGu*k+PsddfaS9%<1kPBQ|l z6{?Zc(ae-Fmk+1rvgeTY@Z%H-L>HN(AW}$ld<^#ENOdw<@JlvtscCaq@<At+(uy?< z|J@lb(*bC5xj>8G=&ree+1r^aC8{+5Q5{RnkaYk;U{mow(kNDlG%J;|Nap2ApfX?t zbJcp|mXKN)K6c{yb1}{y7R)V{>6cr^-&=F_)F|=g&qZ{3M4?71n*|Lh^vl4>s3^Qy z1FH@K8Q3M(w<3gMix8OeiV&FdiV%cRN<N-KZ&bgJm=7LNzM5}yx#U8CoOx9>a2x!z zG#O)bg9Z~iMH@P}oaI79lI0>p#Ue+tx~hk9m0!l!EA0pY$}jDdSl`l~2Ap%%uLY0r zCYA4T^{Ab|=~Ca1q+c96BBTaTA_^k4D*@t$T!9^b-$+~mF$-abkNO)C-!D6Ks2T$) zQ73zYKvX3)wp4PY$QxDI@;*{j0vBPU@{}U+@JFn5@b@6xqEa5@>!C$$;VlSPKBX1M znZt=3IXEe)8^QB&)F`_uxnt)_+)=ZbJMua8myl;*!<9Z<a*K?f%4DuIuEe;r%5m*J z@mY2|CsZxI)f~%bl<Kd)gq<etHQDLUsNE8#&Rk)!)2A`VVOuS1w33d(Sp&SUmlB+7 ze0)eZ>C*BR32;X+!1*;QzY0cAVy=%o@?n~v2H>ZdSq`Bh7^;L!hAJVGp-L#tP~o6M z()?6D((F_|(%e)&OlB&f6faG}OLsVhlUQuDS8F-Ow@{-a5N%OxgFS`<&Sat1qTHKH z@70odNY+Z&XR_dJ;^@;~q)Y$vyi-P0rXpnXytELAKExSwGEWOP0<qj}>;cC(_SVZW zW)V5FB_LfhI_07mosf-$Vu(01VYkt#zA;Z}-#Z{#Pz>yNfl%~|eR{AQF@Lkvy3x$` z3mMNE;|D^x!SWMzTsrQZxBY*cJ+N8`rStS##XHQKKPYMuEv_pRU0|CQ9lO?A6GG)| zeAolds}qn+GQ=5~$qWQ@!t{kHl&HyVtxkN)<QAroCGjvXHThu*Zk6w2rM%}Umfp{& z)><UEUW~d!p3c-Nq(`qD_v?jO$ye3FD(p-^3mA{ARTTBV2A@6~VZapUlBPJv8U+wg zwZdLtb{li-5yhBTPwdvh611n+6Z_v;PwZ+vv8(mOuGSNKzxBkPxt`c(g`y4Ffv7hd zL8b1pK=ctsjMqoUqTe3h9yH!XhiKAa3?WT{=!;gce6!3=16y9GE-jX*H(@#%0KXCA z{3^*6zXA2*aiRh-tdX3!lIeH;qDRJV2pYc;3id_E<92VAP_gn-(cQ2&VA~Y(tdnQX zYU@q<pB8C8EmR*gmME(C8!M!ML`(Hnv@bftR%5iLQuKZ)c$rG4RQ5|5V5J1YUAP50 z-taF%rB6c@LZx$=-<eBSwe|h?maa<4$I|6hzbr56x4Fp8Z+eNvY90(obJC17=T$_{ zN^E6UlY>bi#bi>bYM2zNS|)|rOloqRf2GtTErPUwaX`qen3v|&(w?zS@~{^d>|x?u zfai`r`|*|ySjHp<nFS<X7Nrv5|GJ3SECS6+LJvktLMT>6Eq0JL(6GuYk2C7dS)1-a zi>cP>x24B@a=oRNkuh8$BOHhZi);a7ks4-S*CH8Afqh`Wn2uilPI>c+{fO4`4E1Qs zTZQkk^&G4Wztn-Z7XG6&VH`$FUt=s*8H{JU)%2eI9*VcT5)^MGEMap>m{Na-;SBSa zh$gN?G;t-Oi7Qc)N{tI?%&8a52T+X%N>~9O?-qLG@k9l`@nZpBa3$iCOz;0k-J1tS zSzQnRGbDiofhPe55J6H+G;t*gN+2m2NMHsgfQo>Ef{KWW7LyqkMHrZg@H9?K6}xJQ z*0$Jct5#7_Az=&P23YrnMUfdt6jWrfIPd4&`#iJY*6;WIy?^{{$vn?}?sD$E=bn4c zx#yg#I3traonoW7<tIP(1de5BgKAh}wZ!I~R#P6cg30JDkA?Y?>Vfl9P18Q9EqxK1 zwns)sZOhg0EBUqNOV|sX+u1qFd}5#E_ujY<vLafLNWT*Ajft7!y`1a4@!y2Z>VMvH zkvZ5h<h$9cL_Y{e%N&;gq@?p&D6c;{R4O}sYYE6fK?bcv*T~3~46xEBl_ZBRnV&JV zb_Lo3km}OuiZ0UUV`{5YecmU_+2j07u(StIE9Z||Jn9-XcNVXw&uWakH@2|*Ps&m2 zOuCYj>_yIx_JR)N$b{#}gy+bF=OiJPZvcCzHQ~OT>E1|98$}XFn0LOUNMg0AI4a!0 zjnI1LrrL~Emu|){xAY|(oBac1A{B}_KNTB=K4F<aAg#dt=AVKzH5^JJ)hfi7*a79+ z0=vA<HxxCTW#@-I(?erEq!6vzd`2)$k~RLRWOrmdE8ti57d3#o0AHYo$uDDMXp>*E ztS>?j>4&C=KY+k804NAN`LR#MA1hLs`$QA!KG%XKlwJMlUBcDD!J)zVLQ*5H0g^1X zd<3o|{>zsI&e(~3(VDQ|0!hO4=ab2vt+H3%{V!G7$IB^IqAFXHponPqX)2(<zL@%Y zzkJ=KzPk2EGN$`f`S}+lKgMIa3b#_)5xEtx?w7n8tV0RcI?29BeW@(aZA?$KQAr!| z>wIP$2%djT!PiE<o~fGZBVWCIP4Ck7-kqKCeyWJ;(?628udY1&c#|XEEiJuJryro& zgzMkm6riE=>U+$maIZ8=JKizj%FgOcdK|jAK@L`Xpx=_?7c|jEn6PwA=BG)eC5&)v z2WjMu4^9^Fb7F?iro(@t5}H!E(Kt>>xL!EDvvaj9K6UD&c<HA}k}_2^c8|2db0N>B zJR@pxKdW^}q)c<;H!JYs?ldTWq|tHGs9-><(V?o*=M-Dy(8UWam^0g}O1Qd{mrX4? zx=*HZl=Dl8Z^nVKec*m6_QLwi{Z#wRy(eex98#zg_i+aaUBQX_X|+T%j-v*C$6v{= zHg|^F)ffy;^AfJ5ebkQTe_Nlh$2(@6%3BBSTJ!5eMNfUN$NypZQ>LH4Kdk2KJI>#8 z+^eAnaN0w^@;p=Qy{m}-JIlWEmcLwO+_h1Z9E^At6^mZ~1dlL~Y|UCTo~tVTzC-!w zCt_Tu=1=D8e|jQ6ti52L%sD6WM>up$S4As%CB1(S{TKZ!!@}SIk&g#e8Ot_uL=NXk zIM}q#wd~CPuRCY_Uv=*KytK~s(w$rC;SfO1K-wmX-(n$)?Szp(oIOr<NKPU+3Q>_< z3*}cd4J9PX3Wu`DsRV1&5q;_cSv2bhU|%wZ&oZ};h2I4ETkn$4<=NWigLVSbV}B>v z+`sS}v1zV96;rwn%}Xd#75r#$Rq*AY<j+|JQ%H^E9}u5URwSnS@|I|a4m%~Qxt~%+ zgF6Iy$w@EQmY{*UoZo{1v%vPK^Rjg<(auHfI_$TLcCd@4*V8t=o_4FG3#$F6QEHTq z&o%C9Cg|^@&N{=>xBvwpeZoKdl+M(iI;)WL2Jw`L^nd^N#0o3kl>P1V>Wu8w$DLn4 zO{-p$jizJKKbq74_jOzPXk;v<;7z!;h}8@j-WLjWhmb}#DfaFsih=?&498M_eUWUZ zH?hfEzTXJVP?=^FO&721Il@&ek(`k+7>Hv)ENlliKcZb0TiP*P?m&9iA})evFuf+n z_b=3zzJTmhMVL`hGxcz*S?6|QYzDiw!8zdH^*LU1b9}Tf(g8V&I(^P963Z@hfQC3+ z?%G*0)t&9hg26scUMfFegtm~)OY|dhw)Z$&RE-~DZPD1Zh(Hzu7r<_Z3R~*WL-J}* zaKhA>*G96-RWA>sRpK1Iy3$cSFneHNj5t%59}et*0Vzs5kN1=xGeYw~FX@c1GM&(_ zjf!L&suH=f6)1d_j-dlPwDE8EI^Xhfy|ejV{DfNP0k0Dc)@FfAx){kWkTQ$J&NqGn zfw4z0A!kU<sGCbfMF*ZRO*)`Xw0<13!T|T>6x9gdpyou59~k&5snD}V&{as!7-gVv z7q46m_~PH29KnI-7!5MjjPH5wC(rS&T0qwMGHB+jHQ{}RxsqosPvTGF4({wjC!&l- zz0)1~Xs|nYY{#r|ybf(cQ0KN-vJS4v+fVBLx+$dIm=)U7u4PYWqE7K`58pPp^Y*zH zqJ1J{Qn(up6PP#~4t|F_boj*jD`InL&Z75xY16W&ZFSy3H@8vQSq8>0OMTC3+0((D z7p*}ZX@Bn-FSoxZ)&WAYWZh4s1EHO?)Vzk)de-GrXd_Rj&F)=m{Aq1{cQl?xcp(r_ z?o4_=_qkX*%qHBS4GZ0&WB;k&QT7!~&$7QYIS6qpv%pn~Xrz8i32Q1=<jX+oh-6A~ zdz^2={WhuJWy%Z3nvN%wHb-Wp;btb9;J2NGq^~VY#B)^bUUP7*c^&6v!#TSd-J{l= zUFbC@mw3(b9HGu0ARFYu^|G)tG|8J|qFmPeCHvGId;NmIB8Ps?#j3<|V&vtSo8#_i z<vCbkG#in1JjHH+K+(&8JVY<Q!ca=!ds)ohCo&XVT|sb80z!*Rd1w!9gE%#O;7Xld zL%fL>5U<WvqE&JM*PUX|N2DvxNi5w9s7)5+3HE~ABf4jNfg@)jJVPJ)1gRJxdKGwZ zs}0=@wIKf_mt!FR0+)(`NrFIwTLbT^b@m6ovu2>5GepSlTBPyS6Z#lKmmBGmT7cci zWvsk{)%j9wWM*RMz+P>z5cR($l%p`-)_dqpAKsQ3>u&)4iY>uZNj1}6HIva>uk%={ zpJyoYlcFD9yT8MzA+x^%Ef<6-Sd;d(8eUP!DR`$bi{A@xCY*Bw&Yc9nH5wk4xyRXT z4C8Brx6i#!VsQ{UfVk^p4VLWg!NH?D>jv@aGgz{_S(dw4mfM0y_t$aR%vgiS2|L@d zURkrd+LFCGZ%cLF+IXLEbKun2Jlc@8T$8u8+FToN&vS>GycVt$msk~|hrzB>5h-;W z!rHb9kNu_cR=RaoA9t{#+nNPEAwH9riCO+3WeJMC=1!L|5P^?;&d-U?7B7^zs4aV0 z`>&YaMCLb#67A|bgf?ysebb(RUH~DHAj5YvR0JZbBHnoya6;#+e>1*Y&%b#nv{(8) zf^P4E0r+OetQEWtq1(GGO0|j9{dIkfm33L6z1+Z}2o+?lI&Wj%H^LkghzSRAQFYx$ zNJcuoh?K0By-=RR1plx<T_KY&l|OQGaaW9=>$}n2PHX17h-eY>;jo1>N)10;v&&z` zp#E-q49d1AT<@{@8YkeOrbuIFvM7Vkg-3&Qv#!_EOe}us!rIgslFMn?420f9!f(Mk z1;^ylO|$Y@%4-(n$NofilHwfO3w=_=Xfk95lVR?pFw9GMuGks#@gwr(U6wP&cxB$e zmg{NkP~;`XQ2EO~vFXBZMP+#<;p(Tdr0~8E%`1HLSX=WrLOBS&tF5_ymnT$F1hJPO z^;EO+SK^x@ejho~UxuNAiUn=V1K90#kwiUz%9ch9X-oo_j{k|UCRF4<)5y;*GV&!1 zNj}bxMn30BMuFIWVFy-#Jy-!|W^ckXR&iBFYnBXK@;$XU#hz4{)AmVbPK=I|>{xx) zqjE*lg8W4BL5wSt{Q1I9)L`l`&y?pXcIx*=hUI=Wv>)7dwhqNgnzFIUuNq>|`XtDb zxl`Y4CP!ow5RBfJhzmSV;dzl76AWU6EmoFP@=&E}iAZ+x^_3*?dV?<Ze`_g2CQPyf zpD)BN<|x7!+r7AKsVhKYpOF#kxk7K_xDq9a{;{yL(`<Rv8HV~trIv;3r7Or<SP<xl znn2=FP-#X_8Wa_(>WS!3)k77(4q_(qS8=j{=D{&(j0AyRC19!kQFMxiReD9z91rJb zK?><qt3f_Ymu6;K{c@)F3yFHykz~L8g|e<rqVuc&)Z|ztfwok?HX>0%o7%>^g`52y zIUY>wSHtE&F9xA6gMhAuqpjbG_?ea=QrSRdFvZh<3I0cN@>Kf_>FNuqKjFFzxkZe9 z1aO)=MC*;xI`Mj7!behD3Zs@@;#v5KFvy<9(Qv-A3t7I{U6md%7Ujs6+K5Y3SG2+1 zJ=|!4r8rUfYDtG8LBwV{-I1!Tp~LO#PIiYj6~dw{=U@A$Atx-Qp~U~eBs)v8M~2B2 zv+e78hh8oWZCoDO*j^&%<A!Do6<&sH@3K!d@62}RHqWV*kfzykixdh1W~m*0MZOSW zON+cR?plJ1Op=LWj5-!+Apn)ZSuhuLVc~k|*2Hz{%^f`4Y%DsTHh9`uKYX<y22OpL z3Lq4Vev&?_Fg^;;`?V8UyDQetpyrZ&GCUkO#DbL4m77Om^}J9S@<dPIQSM}qs$i@c zkozLOqHJM2&~^#~EaCSSX`ZC64R?)T3Voqm7Q%oMZn(}_6S;(uI@-RD(R_h_>lo2> z?cJ+nuxgB<ukwwn9sWt%)sZX7`E|yaK5LEX`+Ojq1XmXZnr4}}MU?_^GtqN%UzOC{ z>Lph?)o`FUmZ61<$d5e)X*Jh|cFP_#TJ1p<JB&MoA0c6Q`Yu!fuYVQk3{5tlvO>Gt zwd~e=(N6ZF=De*jxh<9!u(_9ALFqVRchCTb=D;&nQSmzNB6j~r4a0C5hKt+C##R#< zLGO;JaoEB*tYsY5w%0cwFb)K>Izk8kDquy%=@CoAEj3)=*6Vt>f&!&A4g}rz3RKOz z7zcKJH4fw22nqU1LB=h&i&iPBKLjU=7W71zVB#dOvW{Mk$N`fDk$WZ)S>Z8gEV17f zi);|NXsb+M&(P+=P|NaAOM3;4F?5@nx-SKpELaGszl~SWK6kCskuMpO6`QF>Wpo?3 z9Jm;BYaAQQ(OE6K*|=d}nsM6jUquYa@OHy|pTaOk#-i8M1M?vUaEzgwiDM492S)B| z7|d^Kb~*?n0sBLGb>8N@ZA5jFy?a?prThju#Y7l>%&Fe|3&NZIw<VX776Brz9ubNB zy<2H4*ML-@fGb<2y{yw%XOg!6PRX}QrJ+9^@<5ZM-ax9QKiv@%r6->*)}JnvPbCyi zxYnyr(S1}Ul$dzn>gYlUGxm*F=+qKP9iumzNX}K`b?N{~W$$7$BJbaC2&)=AJh!8M zNuMI*TLl%g2|R7`Wm3^h`7%et-@k`sXTzG3a9yetVeG#@psxsh(j&OQ?Jyelfd%3= z(KtEZ)A+MOU*mNpzVbcB;^!q@?B)R>-&?-kSp0WMi423z)4STn`F+(Dp?B;A8eimW z$BAKwiawksud9mu6qA_wrBM!h&QyEo5P0Kq39g@Ce^wdSn>71fYX2Y5p&MRCa=NfJ zK){=|@C)K}H6V5tb<iIy-AQ$GKrP8XiMdEtES$U>4PxD!d7kTh&6C*RHE%BTp*dJ| z6BNfYXa;P};;ZE`;`*1#9LgrEl>XPgD>HmN{7<OQ|2OcL#DAvwEe${RABJoIbfHuH z(j@$W5lcNuc)1U}wiJ+WO@S;yv^ZpA1R(?HgcGhSKsz}U6<=<#-*>L_az1UI6X){w zX@%~M!&q9u`Bh9~+uFvPbJ?lOHw3zKtr($%%#Y#UdZdZ9x^(=5)OO2#T*4ssFb~2a zhQ2v{_G#FjM>;0{(3FbI&3>kj45YFv62)6SDR734O$v0C4>-BN0_qQs@xlBI{@^6V zOx!Nd&%a*)W8uGLV^+|-k&6)|C#=$r)&8`Cb0{cjH>agdwbJU+(#BY6r=+D-SZSxH zrIkn;>!gFk<$s|~XD9n<R}+J1elgAD5)K81!bi=I47(40gxwu}<XL=<Qv<ZrQ~C|N zRbf5)SM&1%oLstaK9lxc>-Vu&$M@JaSwEUpcPTcDZ7U~V>~Q!4?%+=^_M^8WhS?qW z(T05LKY6k|tQ^-S^!dfp^41y+A@ybDu&jzT#xLAZF@iH?d0Sf{{fX=~6+P=l#;=j> zI&g*57Z^|BVNS`rf+ZnVJ=(QJWi5<jg|Tv28~OYv`AnQAzC+1XRrNiwb0}+8{pXm? ze<~tYTPRDFbMF3)Lv!I!h2TJcv;d$?$i<>2U(8HX?j2Ajp^ciel?M_As07A7zwE1M zRUrWzK;D6XAdC%{^;J_|j_h9`AMw>75=DKi3+a02*%#8C=*d$T(s9nRE7z091tQ#U zvQU-C?k*jypZz(OTVhZk)}C-PkT8*Ax=0#O^c5(MhvxA<8X9%#kq(Vq^Y!0Cf>NNj zzK~{C&tOIOH4D1MWa5gPONQpg*2`9DZi=@F)Onn5_{{TtCY}K1ZGebl!XtczJHDjh zE6pq_!Tsfg>kK6c^5r7=BHNe!C0~7EI~pzPG175USn=0x@`=b|tY%YWYdTV3$$(Yz z!KBJJY^m^NN+_MXUFGxYOB()W*xyg5b#?m=*PhHPn!d`xy97Nu^mPHQacY=1>ERaj zS3eev>`@*s>xw?Izp=$biezUL&x%(8&x-_1fPXx!Z2AbRFy}-JZoFD3HyVCNw%BAy zwCLx}*NI^zoPy%@f=74EVs_>#J}<Nv4&fEiv3QJ?7iEP$YS;2nXY?EBSMrYLeXfOm z|5Uks#i~2tj<us+Qre(bt<HPd{M`O>dQ5HQp_Z(ck2>TXGLPEegkJ;sQv)=_9J>sE zC-$orqhT-$D4s=Mgp%|SwM>=IxnFudfg3!uBswCJeUEH6l3Fq<(rXzS*y%okLmqll zl2ADExK$qeQU<!0UG(&GYTOw%_cI=fJ|E=IYCN};6((a_ws}<%Z@$tku=`YP3|%XG zi?Yf?2m7pKC2^xWGG=-3XwSN?JZudf%`+C~(iwNKnV7_A`!*UYF$mm0Ymmo@JhhKT zYq_!ujP>P3@n|kI!mFerb5q%N?;&=CH)8+dJ@Y(ZjR4{)ZFN5{kWO3bBR*2;Cifa% z<h<}O3<H*kZ$NSqJ$e7yH;8beMp#4@CbF#sV7?8XU|jacgkZwMj>|?ohxQu5u`(J? z?id-#15np;46xYC&|8CW6r1)U@jW82gV|~<oXe+JAMy&|?n4LhF>!8?85+Zw;B(4@ zu}C6r5t>VNv*B}IZ1wp^Je$$}jyEO5^Wj9IGI0pkw8gKGjLYi+f|bit`O#VZtIe&Y zhgT3Heo|3BTqwiV$b}4f%~GfT3~Si-$4}4XPZlPE42>#OcWbOJ3Fdx}@lO%+oGqAI zrtr<(I5zYjx7ju1NpN%5_L42eN^Tg*@;KK9KJ=Uk{&-Ern@{mL(FS6eNx<Jz)5;Hl zFfN-gg!92=lfW-7eFAk4&yJcio||sX#UpeG-F#cobqVMO51{lRk-5x`@%Hj2FXl!c zXEWYsjE|c-$^Xe_AqvO7l1U*+3&<oZV&RcZ)LY*(K2Sc%G-Q6M!%gjFxu1H!_s}kV z4{{C{<`sDselz~3GB+>J{(v)~NVfP25)QgK)N&d`<In+YTsPG^w|Q_rf!H8BvaYh_ zz{5inT^z}=4)Z4P;;krB+C7<X!uNkHdh9VC^N3nUvFAkp%%NNlH4`4DFVg>lU$g0B z6-(Pl?CUypcH&fo7Gxw&8bZOg`_J$;_5;)S`e(lK32&1Axl)X->SA~559lK}$$}n; z)Y>EA3aDiNg<#ym^@8MSY?xH4o1o0`UlYXxDM~XB++#Hpf76G$p~w^I-P}IR5!E~n z0wYu9v=EcJrEYML9v4C2#Wvtoa|2+S-q3o6hzsy`#uR%QaaAmU4Gsb|daeV)16%r- zOJI=)(3El*SC_>^FB?hULPzttZBqD16oBS7M#Bhqq1S@1+gG#V67g>OJoOE6JcGV? z2(DPZ$^VkEazIr$F{c}TZq<?D$ij%HZ^a&@Y02+44_lh_F;Mv3Xp|E>W{qa~d(su@ zr0%a9Z>*e?sYq8FKy_a0!i3iEUI`dD24&mrX#PJwh%{=mH0-UZucHO*-h9nU>fB#R zeJ$hb($Fh~q1NT0*7n8_;`JRS)U2_nhcpwZ?7Xareb?1~eo|ii=Q}czAis=~t#8Gg zpm7|67AD8DIEB2}$vH(nz5@C?J3@QHoYs#dj7zWFk-T}#%ktfkiCgir528MKpXcSl zuiMtW<_>;6IdJNTNQd^G1Yx<i%*I`FyT5I)B7e>N6TJzJJ==+@X5u>Hfx(1vPAd8( z7>Pn4RN;SKIi{qY<lzYNm9LTGgi)}<qqu5hbA9jnlVJXGC&SI-=5LPTYF{ejzp~~f z?NH{rSFtwP0+Llop)2d#sX~4)B)w~Hb>#A`z}mj<RGyae)U!S>xb`8r{-6qV$mMHP zQfYAQ2VA~rHRC<BdnO@nSH8+YMg8C79qiT<%>l0Hbz&Ak^K#v=f+N*D_7DR6uzXOh z{;c{l=nkMb>H~$ohzA>-QOL2I>kEgfKAk9d;4z2gqglK4yF0d2vR@-=_}t*p$$n3= zFQ+H_(oy<?@EVq3N%iL(-5+L6wMu__rTSA~C9?+nIsEy~PHFk0adf_ipbzzh=r%c4 zz(tvP7@Z&StO*|JS$`rvCM`P)J>0mc7ANAe^_tyKw!Lg~#Ye_nEieTr7>yyAP3x>_ z<8=v_R{7*Y_gTpEmw|`Pf_>fOPXVLUGZ1L+O{}XG9DLL%@pnV>=w<z_3`us+?5!1f zvwvoNM~th0QPwg1lK3DMonBu|_Fg@M>$V2J&YRuCD&RS^Yvy^@6u%iS(JklKcaml& z2ijS=B!IHBr7q8FdYRM%vpQyAvsB+f3N+t-LhLIbGaB~uSG3rYyZ!`bzdcgUJ0ub= zqbJ*luk`&IV4dW35`ko$_s}~GVZ=4{mrXeAG{djF<8!Vv!b>UOja;4}=CwO`Yhp59 zJAn^s;gU+>L$-Miy`@OJx4hXuT-rG!IEYr3Q^;4kU99QYG-v0c!s$T0;Hj*e9(-j1 z;?W<NE62i#wSf~j>(*iL;@#N!<oK=w5ErbOKZGcp2nvII&X;{AfD+Jmqp~YFri2Kk z-)42^(@YPwsIR$I4wsNB2vu<ijlMednXeMD`ry=Ox1D&APL$)YmsMH{9q_Lvz6`Ry z57jy#7YfKoYQIJo&%Qy(0PrxRBeg*B-uQ)3ypCh$D7mAQdPVMNXUQE4kCP=7J}Z4f ziE5!8BVmO9KnuRcku2KVpg6Cn^Sl9*1BNFu9M*FvYcnQxT9BG&h17V>qZ$0uW6oNU z{yyQ8tkQg0r86TpY~{Y#_H{*(8<z86(HnJNPvnL*l468}m1T)?=Os7un3v>x4}D++ z|4d?)vGO&cI)7Hz{1VfEGZ8j7(R|Y70Q0G1*@U>f9CgPFn~{BV6|$PADZ7-z^^+P$ z_DHlWJaUjd(Folqg+sR$I<!%u?Ll8E=WC@LXVFh{WRJ3DPFabR2(MsnjGj_J$r4WC z@Q;=AHaT`<>}hn}V@@$*QGof&%uW5AtUEMo%|yD!W+i8ZnwHAP_z7?J7&V6zu416n z2UGaSYw^8m$&FA?t425*mVvG^@JRe!HX}{X{{KE-8zRTe*GZfHU(MHP|J(UGe5Wj< zN++P&^A%|Qznw2J3=~a@pq@_xArLu*n;Gj}!HNsj@)~9@FHv~dJ2`|VQ=XIcMF^vv z<UwWI)sXd7m)r%5le=I$*#)~yTS|i3&yCO{6iM3yN3z0p8$mhAwfDh4#Z2CkD{P&- zL@K*58W}6>`i(MUY@^^mD{KOn<I262qcT?5FQu@oF#m$@SzWBEXs2%f+c_HBsOIPj ze(X8gw&8y^N1FbnUudj#UD9v!APV@^qNL<JmIH`?Ax#(!f9D;&`qM{3(7g}w#s29% zAxG%gDS_Uw^Q%wcD~j;vWp|g{xAV?N{|C0{DhZaJGun@E-iW+iMf$PyoY_V3?n@C8 zIPcqwKQ~pHpHd%m{(@jdQBdxmnpf1mYT&%06Y9G_jXC9P598gwejq{WD&nuGh6S2m z#zd`N_KwmArYn>MO5LZ9^oh$D-(#nJU^e`5dq7LLM(_C+|Ecv&V@2x>k31RL`;K3X zqUC%dQhC_4aYMGbG3yH~k*vSOHyK>hIIX0%^gs3E$@!q<%$EU>oTrhKes%J;wk64d zUOZRFQ3<Wj7s-nt7^s~il{ci-4`ob#OB8>&4kQfyrziYyX#G{y=2Q-N(Sc=STa$2o z_By@W5dSANl%&<by`+?)-CxU9dvF6{OCb4|qxB}j=sZR(rC*b6*VAYy%dt-d@J51U zG!pIuTtC0QELh<j9yrs3E2GjFmLD=g2gwzzD4%RJ#3jFCW{1MUeHByYiF&{Jj17ob zQl3V!$JW~qAz1OT*|wxfkZaJ_p>+P8pfvECBXjGzu{Xe}bdMKi?6>IZ<gn%he_n7v zjS>EUhP|QBoOKv_>;0&UI$CDt6)G7GPYP%(y(~+;DqE}uCUAGzzUtCzN@6D=|0b!x zb0S1WDmwz5O$CTnX9uH76i-}R;G~Q0r<LHb)FT5CqE7hH@`}m+>#8Fjqzz7DPtm%h z`i|K`nC$&5GG+}Lu==st2pcWx!XDTT(K+m#S%v#6q^X7A4fQMH5_d{Lce?;2O!r8F zai|nIUABs%e)6MD_>$OK0c=6_5cCHAqQw^eC0q}+SZHcAlu1dw{fZ*JY@fP9$}TsY zayQ*UxorBAaNUwB$C;-iF|<Sv2!r`L>Izx%yGZvQdSC9Bja1$OnTXv-ik{yC)Z~j4 zPb4)>K2sPqXsFCD-szi}-^}~`#LNihxt%{JSYG45P0cOle!62uYHt4xTBB9p5k0fF zW(~#ApZb=U?Te3M=;GdVcuxafZ{j7&oL5`^ssE?=3_1Pp+tt3N%p2%@FF=M8!JV%q zWS_*rf&bfwjzqDXHV$Aiq`)!4r>k@C$`2YCGjND8t8A79XM{WQCB6}P_Pf>>m)oVS ztuyOO)!HIhVRCKNUoGn@Fe!aaZK45-ha15(%9^74?_wjPkYcxdwgI!4MUMbRUdjp2 zY<D10{OdL8NX!CD%1hvL{q+_u*CuiKGz*stz-77KHI?7O=L^0ApHIoaX9W0Gp&aQL zTV>C{i41;SIEk@`R@;QtW)?NJe&0;^D=7c3P!e;WN|t{q9SaJN3f2amNn-4puR@M^ z8N--4KC#7JGSPi6wr&c2j0REW3JMXA02F%L?!Y!1h28=RjY6wqwW61?r)0FqO_9o{ z1WJu71wbjd(w{G}pO9Dd5h;9O2lCkTxC<p9&#W`|b3%7mZCSt$9kSOGW=BpgW_?Xm zFhU#$LL56&ia@abvur3&wV^!UhSF&G3;3bejuC!L;ZTz78zI>Tj8K%nplH3(@V;b7 zL(?t_O*`6X8e7eGQ5UE1L(#`mX#?i1T$s1{)sZ0(NR)0RJfV&`+_S#DFmI^qszrY> z1pe(X0+O_?__wV#<{bLa2%-iT{%xyBNPmiL5qRtoewY_A8L&`3Qt4e}&4m`HW3NbV zjfE_3BYda4hYrJ}F5*e+za&1G`F`|Txp7IGGzt@xvPMK?BBGL*RW#lRbFj}}BHL;q zZe{p$99FySczcvxw9kFA3LOG&&`hnx=-i%)V)bRzSq!q@He3J-fQY&$oZv+&r!Gvc zhS;-Gt-qb>8|E$P^jnS$LhC)LwY`qey~1H#Qdkw<haMbsIFIUzrMeU8NxY{;*WzpC zTQ|NP2_~DGubK+nlP03Yf1jF6=vj(=#MDhTblLl0j>_HvC*P$eNdELM1U2`m`6SLD z;r>RY?dQkSd$peny&q8Hul9!aIqQf_G){zGzoAAF!w7dm=zSmI=VXGT7tj?Fh*;BB zn1tWQiRBs3S2|)L+%337b4#YEJ#C`5&eA7;3;v*jKfzK0@{?2t&i?D?AxGIe7W|`u zfAoI|e~qw<fImJ1e7IZTY76N|v;&+c&rrj4UNwS&`{E}Oh!n?w&e|^q-*V}|Xknz_ z4B#JAoj^Z=zn=S2Hw>yZ{tfByPh6mQs=WvPm++7HA^3}dUl0FN-H-3YZ~rHqNNzUY zg-`QUe>6VbIbY#Z54!We!>7SNh)+Gir|86X8K|`Uzd)tbg1|mSCPbu#If{MOYXT2z zhmsCas@N)+f6y<MB})?qw|tusdX)sXd5EKhez4}Zz*g6zXP>`1l<00O7Ka=(<tyhl zIlR|YJneI~CiW7C*$6$CB@}rje}ff$p~w&OB<IJ%9$K{PnP?(`0Oeq9O161L+=~u9 zAd(<_9m~oH?~;c|W&Z6JQ6O&qQ#OyNq7}prN{%#gv}ay2>*dL;4X;S9Bsp@%o<FYC zaw#Q3P{LJ|D)qaJQjXYS-XZCSgq^v9E4kp_Vl$*$niT&n*&VS{Vz~T8m_c7sSc9%A ztRiPhmmZY@k;+ON&e$(VuxlL;d8Jn2SbNb}O_)fvcJGLFTv;Ne^rk#-rP`DmzLff` z0gx<RB#Y1<?1il?+Z2pDqUFK`LJAw2Nr?SMZPh!X>i}CApszM!7N+Lf>f#o%TfqEM zYEZFdovJRi^{m=!O<zO4@DJ+q34E55HN-cSXCswc+tVW2^R|47iM(wvpWLF{+PT4K z=qI%!eV2Gn;Di>JEP+vX&Isqp3j)J!$uXGoq#lF)DqB6YjFH|==har1aQ&78y4V(Z zrw;eRkHp;DXxPc%DC{~S50T0TZnY*q_J$<TJkVoDu6y)nDXu$ngbrJsc~WXh@5mI{ zYsbJYYap(WQtY>560R-)VGW~4!Fd~5*viG2=d0oUvW*6bM8QF&7dVu%JmFeE8Hg_% zE%i|iS3s;soFnOE)W0P4@14qgvC3?OV?Zw`sRn>eNp|PgS(j=%O}Iurk%Xg}2HkQQ zrd|@&OX_oDe-j`$*v$pBpUE>w-XlhbE!>jYo|4-525ueuSF*M`EBD(>p4HLGB)Nm% z)cX6|#RWCj&Y?JHP4U$f7c9R(mql|v2|pT1fe6@B?w3N<sWwfkkW;cKbQ8foF|tQ& zAHPXF*(ooP$}goga?;uu3Zh2X%!^u<itUhP*>JraXIo?SdnuraK%Z3amPu`C<FrWL ztudKPGxta-=9Ok*kE<!VR>9UFqNkm43>l}|@W2PnQBLJ3#aB{<F^d=3IYq!INCEO| z{hf(7&}3^cls;MudsaQRpr^Q`wo;m@0H6sPpntnV-wgHl=I<qees)7%8ajJ6S!F^9 z3u$#pc(7JUX1Ae+Zq&eu3ustva)J+!Uch2NPlQTOW^0y`9P9-vl?1L-Yip90BEnLY zo`e@3(?y1=BK0sC6;h!QE|aWM>0>YI93o;^@NibHD|$E3<cNK#2pB~48+m|POx1pq zRr?;vZm+^OR5rNYge$U7*S$e~*J5#l*z3n0ClmWSu>~xxk{{=Rq-aq;q`m}^!WTFt zU7SGght%8G7AH7*S<7&dZ)Bje#kR73%D$Qy>u-QA=8lQ6=g5HaSZQNKeiHfhN?X?O zR*PA@C}WT{Ml9#4XMHCnYb5nCq_0uw`urC&4lSjkkCF4=ZOQXrl?)Jp^Xxg5W%NAb zXCe2HM_CQZ_a=G7p`_MkF;LjS@!7=Ka_%`xF%RFRkCl_J)0KzsAv&f*K-cFZa2lc0 zKt2xTEBdJbaORCL3&WRVYgk~c+_Y-V*Ux2frI@kk6tJRkXb&#k9onPvOJ0n{Z&MR_ z*MtstF&1|cS{dp1{4Gss7PJ<U_M$^4NryCM-SW=@=i>?;-;zQQF0oJ0DXpZqLkV|a zVESkr@l%*DV0b?Y3nmNH6jfD57jzU}>v1;3#Zseg)(EeVJdw)#DINPvp6w5lC0C?! zp;Rj{vBcBVyNTjg{vn=23hNMcB9((B<B6*MC-|g6?Io3@F)8iSn?6Rh9%FSgLvr4g z93M7TwD5Qx^$>`wCH@N^IIr$f`CNmNZ-YW82K2|tMxLS`#$$}pP@ywM>j9-Lpu{dr zwWol5LB8k_Hj?FMli(}gXN087oWP#tGaAIsOe|wL^i-bUqPva0`##(O+X>v=7nBic zkLboq+B3qpNK?WMneq^+JXe~M@rY^5N%$)+=hMTIL+RK#<Wtqls*3hKXnz!mKUN@> zq>b*?b=0Q!nQ@QUqbm}>pvDvIX}V$&!?i-eKg-rm)Xz|hox{my(W%Mat9sKZ*_(#* zz%AuSs)qX>ptIYSb@rgN4QhZ{Z$GRt>qXr%KH1UXutS1Zf%9XN(hA}PQQ1oh>fPsl z3JQps%X2&Sju~hrt2J5!AFA^1inTwk#%@w0X@D}?uJKtZBlmn`iuAaOkn)g%K6C_J z&zA~hR+<H3m<QILRY51+7sX>d?u^|c6gpCQa3&dKpcRsR{CDZEESih?9G{`RVc0S* zltz6pPkP+@N#V5Vnwo0nuT-Hk8Ds)aFZLIwXARp8CS3E9Sw9q#P79aALFmHUB}Fj^ z8+j52VYQ^N&&%R_Tq@BcePOba<&q(_zs4f+ZUOlOg<g<CdNA803*A7b_^-7-CQTn^ zyJfPUXfbQIMo=YEv5j+miA(<A9GiP-K%{69ieLjIacDiODtBaHkS%H{X=*8hY=nN! zU!<v_MnjM%Tbe?jQ3iBwIS_EDp!{f5jPOk~Dhh5*7zn%*sXReCAsf4zuYrHF_W`3} z9Vn|pzzGo$RowMt|KMk2&$Y9kkj(D)#qL&=P&wAUAKmq?tO#CI4PyaA;y+AKyMtm5 zVJoLQjD~4^5zrc@Gbt8af!~OoxikV$Q!UGQc`B6j5<5N3-}LFpB+5Tw(yPRqkcez* zp+-F~$}FSnX{);P71z{o!-V;|>h8#g^l}^p6vE_t#L-lZYd!#o3vUl`;VlstULu^{ zTNI>?Z(WT*FQdC&u$tLJ4n+ml@gQ-T%-5KVzBe_Aa_NL!8RrQKc~DFMi&7F94I3y# zup<fPmrQ$%G$l7g=h29+k{$(G;`4-pP7st-v-^?sLe}bk<RMbIk47~GeNXjI?=^(M zuUsczG`f3Mq-K1ZWJ~Tgj+pp>`9xx|^iQG#I=n@7H1LIBL?Ly(C3S%z8i9`dRYufL zw3t}vxJDnBj7$Qw=T&l9uD%VL=;;GC(Fbw5b`d!lwD)$1>g2-|(~)+*hS$^fK#zFu z41GR&WMx_^3b}zb{+qm^PcjbIG?W~!aY|w|TqZOJ8gaoPEoF!mv~{@lYtHYig^q(+ z<?b0kPH%wx#5BksAjK-sop@4u$y((CN;7zp4RL)zy}=R=1Vq6nD?2{TZa{X3O*hhj z-kqNQi#;@f8lc05^|v&W)S_JxTTDzrAzM=JYbmGaF_<c6YgsKLmE&uWv)Vu1&;*9K zUbr-AZdnCapBeDU*5|A9<U+*?4^~oY2SJOJRfG}x8VKc(^}->6GkuX!m<o=B?Zfgx zgzF)=`*X^APzEb93|)^hOPatJ3V4kMwF#q27Dhqs<kPs|UFPQnvZN1Et#p<&X5sEX z>vb#cIn02NNm=5H_^8kC4Dzzx{_tLi@7AF#7kkRGX&>)$+&S#espa@{*d(f;yEPiB zq#aNtP9!{eSJJsU6b>}Su~riX<e%)i=7uVVmcj~U#?;BUZ5@I<VcCPM0?ed6$guy) z9%L~^j<*My8Gy%EHlBZt-;ieGaitu3kGBjwG#9;u;@0uouX+3dBab|`FYXdQ&UC5* zSMXw%M|@zq_0-UBTTk6^eUnh0dVXw6kG+3V6ro$ylWk(VsGZ45SxY^iw!d<q+af!x zULdh2c}^|;Z_69RH2o%eIfB~1oPZaW7%}DssK#I4u?#+D5Hux|K8VWHV@=_2WYQZu z$q7bS0u|z`iLQJY7lfU_n-LNg6TWYz(ID6j??*g1u74U=SoPHgCmaYXaHt}Cboc)0 zY_;m>wQp>&l(y`@6fu_VM4>Gif37n!1cF7y(roCb4*y(?NQ4!9_%*t(4{jb&)ATK^ zm;_AF0<vtE;sm$}a|o%dl>*k$0|GK%6{)4opW48&FEFIBKavpuq~XBgWQjXSCG)G- zCD+)w4?u|4#p_gmZ?I1_t|HThRHpW1g4~ack5orDYJ51l=_12}y+!2>l2w@ac!4Ad zQ#)LeG|hVPer>E1AjqDG8(b@PbFO6ylYT7pFK0ZSJYQ5kl}W+e2tS9uTHQ&b%sp^F z7oDIerZMy%gJSxU{Ay%Mxr!R8(!KDoUJ;9EttK*T4HonRjK!}r6TV2tC$4F7jJ_s& zVXbqMJHaJiN9!-B?}tU{&4F`lvEC*~qWYS6ZE~>M&=YG`FA;dm9o5X|3_4|{R!XX3 zKg)O$_On#Mt@mW9ZSXW}s1mLxnv%8UNUr3T?2L&TTnrtRN)uWa^RlC2b;*4`JEC{K z!4mz2z<m->UmK8%Jru!}kFUVw#cl>MRPkzhEX5^;k4ji?C5)E(q=7wF!W$$cWu9BN z${r~Kkf<w_MFx%;`O(g=2<D0taU%nZgM-rutB}C#((|k_Gs0iX@{UygQ^t*cIbuJj zH_5tB&Zzq}sYlhl@?}b4Hq+08w1ZDg;7oI?<x=GMEK%vm{VY+}!*Wo=?CG{b^Y!TV zx4`s;(ww!8%Lu<THHmo_FHer}pQL}u5q89WWe<S(_sbC7B^h)zMtFek!hEWVNulJ2 zp5&&DH>C|8*`z-GV}aBCl!X@IW76LXDWSBDz-b)<2y3k9#7(+_0aAeydq+xw-L7a) zseZ0}<&o-tnNj@^5@T;NnaL80{bISLN?egqLOAc(U(!o_ObTtdQYFsJDDje%@TZqh zF9-#!8w;u<_oa2ZVK|v%7xRa4umDpk=y0mQCJI<<<V49B`sQN)Y3X?%yqd~2Z**@e zuejZV)vDF#he&x=9j^(DO8AG|$fUn1#WlIPB31k!Qe02E(sbX;`*AS7ECoqssEbks z15%LH^w=)dq_7<gDlmpUQA+raRQ`(6v4xaAuGV`}wZ43BvgduQTHo27s#UfjaSoD- z5yb<iD=bmUahz6D)hwnO*#O?5vE<|%QaDmsn#wlC%Ju}=V*4$?>;e4ZgX91%Q`M;W zqu1K3lQt1gI#7(v4;{Y52n*1m!<QQ22PhIcJl1H~sLE=RCWrGYu1XH!u0IHrfpQtU zz)rQG182p2kRyApMGPNn7tmS_;hz%4f1#*l$b<q-@l<JpD$4N-?P3YnTrw+E2)ry! zy$wp~*EJlR8R5BD(If|HhP<GypPYnp5T#=y((~*Fwa9bVlq42)S3NPpoA?r&mg;~J z?xpKXNPU8^@qgHT6JC9dRKfZOpZ@)OJ!K_Q8YtHzEGtavo?hKZd4Xq;a&&`o_gdxl z%RYV<pTCnoQv5pc_=riN`SmD;i3f$33i~tqt08zzRdh$P!u{zK959TK7y#n|(BX7~ zK^E4+=u}7C_)M)=rY>*sg8KPz+qzeRM<xfRsZz>m%2+I9M>h8M;;(J|LSjLC6E7-} z_M_;rO}bm*2-VjL=Yk_SSEI7I93e#!e%PLb>&4_TRQUINh`q-jo8gc(+*L+Yui@YQ zF1cu)l3Zyvsmcw`DyE}eQM65Ja<8N)Cq6-n2{0nR2FP)a<dE@I8i8`V{=h`t3zd2* zsbH_i{nfC3*@3~qbvTjrtjC9L-7{Kw-BLdSO)QdC$LN(!EW>`HiM`LGm9naeoxima zvyFw!NdsANE89F=!l&GZ<+_TIl63{OL|j9u!3v+!^x*f&XUd=gd#kh=7mD;l^WB;6 z|K)t^YyQ&b{BY)+$Ml@Lzgo}k|BTE@=)-SDN6tE30vcc*Iu&Pb6J9*2yOD>!GT@#F zE~gpxR;+~yPvRylR@rq2DkVHs;CgGajIfX{v7$MJU;K2o+LqqJ(f${W0ZsJi6V$G% zy**XaBh&<^d%2Br!lm9nDT#8Y{l?-_%hRzfUTSAAB>NvEI|BjhlWx$ID31La;-!td z(>YpX(>^bVoU#Xr<<HYX4%KCS>v`z#=>g1DwDq?(9$F)7B|ln`gnnzRQc;I_MHP6v zEPGbjr&pu=LZ4V&RN*nPPw%PC(?3Hpp*As3SF-F(3Mv!zooOcO%hOHN+bR=vqTagB z_a@EFcVal8+@ku_2&QhsC|qIc?Sk)-jz1wMX#9Ynyt&)L+2<J8be+QS@pO)VmuM;C z$)zGsL^{?ElgbEj5a}Obd}*cUs6WyQE<LL{GS=>=g~}>t%puQkn1Uueqeg9yC@xvs z;7GIT`>2Rq4a`4ROth`Md=$S8=klg}o8vdA&>@$Ts3M1qB65g-keyM*7$Js}Xfzi7 zbn@iOM;Q%Y(z*tLd!g#i49?Gn1j^wOTG;=@&wE;kJxylU<p<|y@#!x8=~%pb+2(kc z;QThEP1R}NX!mO8M*LYjN%W8)WjPOQ@uN1f!iOAC(J&BL{qv2LCx_pe(@AtKp|5KK z(_#t0GT#jCl;{rQl<#lw>m9Sor6&?XQ$@+#9{if9Q7z=8T(+_D$}Hk&5=K+Le=s=j z)x335SI^kLbdEOo_*Um_H6_&u|55t=wX92|3hfT-Axc0<xwDA_0B-8;XR!}+M1~SH zD{uDOP(55j#o#t+GKG>t*WrJT3rQk3ZVeqHTIO#kgaesGCNh?`dX1{ru?uu=HSSu+ zmL0e&{7&E(D3kmq+Kv;$@626gz8Bil2Os;n^mFfE>1Ti5ZlR-l37Yv4u|mJ0r*&oI zzbuQJx3cXBzaL3ItMk6di^l>i0=d3hMejXk##LBM5_GuUPpi!@Vsc<1`Xao6*UAty zoJvCMcLFRLio_=WUQuy{KVvVpAlqxcO)Rwx$OiH0dIcG=g{$+931IydU^;>t?aSE5 z^Ip{hV}#|<L4c0mtKi$s92_-YjsHRcx4T2$Yi2yYkO|BpuxZ{}^Hl}f)f8d^YD+f} zTMZ9a;v0>J^p1w|4lj&JAWhch1w*Y6C=!-OBAIl=MqVxHe)2_OtM%mzEWy>6kB9I@ zuQFZcE%n91&$ROmxptl?Hjtk_xIglP*Cyns5S<%8J>sXR^KFqFxhmXe?&e<9mt{{? zr)EaOCwX8cUwill%_}P8I`dYX21!%Q!Y&@X%A=8*jFrR)`Os$`3^&i|Bii3I{KAtj z)GXLH>!#SFOqAIY+||cexp^3|aZUwWb`GxCF>4^Ix3Q-x7k0HQ)>iDVn?+jnsac_2 z?OJxJ^{{hr-qyTLiYNz8j7<RmfuCS%)p;%ECR@Lw8=H+)&@lqZ4J4PUM@0@A&KrSz zVWMEpO^KJK9DOq2ZQ0d9qP|%$KeLq65r0=-`9WiGsniv$I28(UGLI%^5$pgZ9HOeR zJ9A5clY><5=WaNW&)mR$szfXxy!Jl-KyUfJ`WhmooXMe)P^8nzQCrGwSs$r5L$X0| z;V*OJuTj1(srAX-IYb2<$5PklS1SI<exGxv(XcyLOci7<5nb&HjD|DFEAP3DRsBLc ziQ6iwG@vlTa&YJlmQUAV#V|N;Q`ccgaNem-AgThQ5fP?D?9hEgI1g<j_Q6{|=dR58 zl(;bAE$xIN=M&hb5G`D!PKVgNpXrV7P}x)P+wpCx)Lct^8_3}tJ=GH4pjG1Aj4)P? z`JVVTM)(RELurz&o2mb4OiboQi=sl@Y&1W&J`~5M=nr;;8w;*Qa)^+$&j@WPB$y#L z_8N;+`~z{cD%Rosl@0~_u5nF{T3L(tzfj<;H4lg&w-c?Aj2EU8=4bIiY4}ZWD>8jn zIl0K;2%KV%=EJ}&7ywzSjoh9{%kOi>eNG&&U*fh$X?p>brv_1t`1ZeIdP0ZK3CzGR z3*7xiW{Zysb-h$5NGo^7o5T+6!<RrCD62$=jIm+yekmPS!GS)P(2#COgcQ#{eg)Bl z5#C6V*g0ew8Oc6N?1E#d{mlsP6$#5csKOl1f!m+!3>_^p8kRD_u_pec^~avyRQ#eL zOt6~?PKHaC8AcsuM=)};iRo2t$1pO&vy@0TH=AYxXUD5(F&V%}l6uC^CQ0ViowuLR z8>IP9((6I)Unzar<0O#hk<d}%(hm|OV9i}yYkuS{{dCrC?%=$$9bou2)LTkV2DQVA zKH+M?hgc?8Y*SUHX5-F{WWxO^KFg*jdM;#(aR+agg|bO<u<#SH#U$Dliu3s`)b~7T zOqBnE*m7!BtL`!ic*{TG4$L$F6v?Qv0PvI5XYPT9dY$`f&Ar^U6nh&jy0S9Vs=Y}6 z=Pqf2$LnYnk=YeR*dLfje!Y>K#EDFuQ67$;lr}%y)_M*x-+iT^M7{{a5~1)6LU^bE zt9{U?cPsLrZv`m)oDCm}B4PY4jO{+cvRS&ONP20mO}N^y&8SbkVy%2i2Kh4@p5`?< zUXgy?yw2BgMDUe=Q@=1cufGG#5&JV4$-4Hz+Z_z^lQKBvAJw<@M8>s=cQG0sBtc>b z5W$;W2Fzy|yrpl<x}J$~$?P?gf!hV*SAkb~2h2@^#SNmL%UHXSi)E0ah-@;ky;v-? znnir5;O%W_HY}Bd)_+6g64nZkHW1D|7P|=>z*_SIqv3La%NZvEo)bq5qPF_0m1_TW z0wn=?z-V}pCl$^$q||#=6yU>9_~9<JZG`{IaOs>6kQ3L%QeZTms)1GRfB2#%N984B zcn=53W~J_u)FGt$Z?;limXwQ!kuu3jc~(+<V@VldrL2&Y;gT}IO1Venk$O(EQWi<d z#gfuhNz)3huvjO=asV!cUbW)H`8aOLn%sr2U^&L#2XK2g6q0c_EK8~g-8qBmk&h`R zgZ)pk%MxLjWlB&v$P^|v$oO`Y<=v``JOqYXGtM`oA;>AO%nZ|ej3W3!dn32EVVks6 z`$ssRQ~S+3GFlRIRrZ?}<?ut49V7Hl(&O)C?BA)#^%rTLn;pjsMIsU_OtnN~wc^%a zBoqn$<J)2DExq;ihzvy98KNTk)DMr<sokYTZCyH)ee&ZOu}k&GRGghH_D5q;Ip0$I zkG1&}k;t&42#e?NTefdiKAlOp?nLjh0;zqf94Vt&H(M4SkXT&{TO4TC2^NcL{Tbo; zjUhT>ERkcYa$hnU&ZhvZK#AE(+;ddvGADhc62+vTwa?|=CZ#81l8x}Ktl3AMB9pdj z%`T#8M`LyovcrJXv9=sa7mRKKb6u|wNGd)4ez)R7ogcuyzCp4^2{A~7s>ZNiwuRE| zd_<FmHmPj8&)k)8m8mZh6R~s&QKhN9&nT(A<C_;MLG>9apyF+usfMBeQ))O~)zXu? zGDYAB%tbpNU{tR7;VpdP*v)5tB!P+evf2K!DftC@uR!>R{i(S8D@VK+U3iW>@h-ZN z>GE7n;)Q%w{nGWSqV;ys2gsH2kys?-^hX8iUG&Bt6vbEr(gk+m+og$ztacUYivK|= zDM*@YSImuyD#D3Fl}hnaieHCFVy-0oJTqOqfs@?y42<}GocxTHdCb}-8Q#XOTNvp* z@_0?ZU#g8#%E{P@e;f+Q#$o+d<OkZXC=7H+6c-UrB2oPQ&*krghoJZ>etA_bHt#G^ z;)Q<k%k&nPW=Qwccl>*rJhJeUP1L}x9SHw&t-M?;L~viicqwh%B5c>>+L1@eBvHkt zi<$cr9-mY9pBUjwAm?%`$`Uew!=fb(*Fb+o&x8mgakd-7Ma_KmMXE4ddax)c&y;_f zUr*z``py-qo<pFVT63GabGo+lRk>Xno01#2AYy}Ym!Kw0cVAEGOTNfiMs1`+cNKh! zdvSb`e(k*p0@%Q9bK8Lr-(peK-Y<YPG`o#^)^ec<-18)?s+_byOxj6Bg~ar68+RjC zO~Ulb`GTaew|tH2I{{oZxof><R9z&3u~V(NNkrI&QB;ZY*Wl`*7wb;0A=-4qAk}>z zVLz>OBXllPQuYozm#6$~?o*RniDY=Wn5fj=k4Hzi<g@%sBQ$~HnEMvB8$NJqjw3Lh zKtR6o=D-fGxfKGM)Cc&=*VRw-%1uqpI%@dHNQYe2%Qkie)dPzR{~K~SXo-aR8xZfD zUOtOn;3_B4Gxhk?n(rEmPKVsZ=33ys8#|lLLi2BQ*i-H=Dy%zA^?Mvy?EckV5|hKK zO!-6Q5>=(-aw{gp`|3{NX4=;_><kpfy7En)u!heVD+%VN_LH^sLt%GoiGV3cu<1B? zWkjS`8+Ct7G4;Sd_v$>bS3%%1MvHrDP&=^y_{!f7y!jPq!hvdoV3<Ul!p6;OZkPMW zKX%rQPy;4x44MbRLv8XzE=yDo?1fp%TmJXd$i?$?|EV}_tc*pXyNHcZum-7{6R~v+ zUBW{YWGDaMD48cvy;RZz#tJqub|u;Ed?@~3m2Z7n|IPh`GGbZB#Tidv6@cDvY5bea z@r-|i(0Z$^C!^u8w5Osrv0+vh&58F^duHC-HRd)OpX4S8VREZYd<qZ9Im2mKKF;dF zVMDXmY`MKhOb*FX_(Ynn*llid2lqQ`(Unc4`VQS|!kgzlR$~%Mem4q%N!^`jU9g<r zS@&~3PwL*L<pZ{BlJedmmHSpm^>t^*-p!6Jaqi`_?B;K=p~tRej1)Zsz6Oy4<7bkK zYi3@pG2e;}CqZd7l+RPVi(3a>_Zro&d(Ca}EP7unHzBjK4?~ME@DfUuwi9YYV)H<J zHN(2_eA(Ez(_{)31}I!1Bu?Vhz0C5HD^G5<KfBdu2>a72g>B+ojM&qaui#@EeMHlW zvA(bIXF9S*!sU4mjto%-XOG^`ohN%FySNu8r^wmGw}-%H=&jEzDng-wHW@l9u|bIc z^im)ul$8ztW=<GI2b<QF)YPc*8N`1Ln(;*OLhR`h#aVX&Yahq)_vdv_yFU+bxOMJr zc8SZ@C2!Cx`Jo&1bcq$JggBFNjb8u%`Wii5_(oOue|v?VuH$r7hw8rw9o!DW=q8F+ z+`~b6(jQj*OxR^PlIrAX9He&igsV5~878qz)NLgqzL(WTrV;e;?AMljoQQW|ybv!~ z@UMu|u6D%v)Qeu>uquw*ZhQwO?1e(Ex)HoCiy&83>IzQgFX3v&oe7_o0n#QhDsJnm zN+stmQM{ZC$yYp(nSU$38Ops}gtM&K+?jB=4JM6|+w!A*JF}ic>(B!3u(ZOl-mC<? z2(8p;Cs`Qgq39id4>}}7X4SX$@3b)(tjD1EM4+JYFiV8`Q)6U*KZ4m}^7{|Lx3oaY z*H=k@A=kGJPz_k1CW;@U9_wYDz-;B@#x5&o!u1QX2>cuWX2btO?G^rTd+r}^?_{gJ zamn@wPj-I|%uxwrL8oD0bAFZnUe=t!5q)cXGrlsPoQ!bTBD%%?w@?q%<MDHa-0WIq z(1JQx*>#63I9p$naXvGeb23+pD$rG`xcWvpoXPnmDf)~i*RJH@=QU+GzJ1`&75KZ6 zQTlVK_C^M*FXS*YdDPbd-c+CB*GZUKi~ow`_(aJe{1FvRP=KJ-ROgIr3+z(tll(GF zqO~Mnn#Fje|AkUOD3^6ZQTMw<jtP))hjqeu59`m|pn?>P!SFzW91VwcbJbE3aH}Y; z-k&_~y?0;h`|<N3CngcsEd81B*YEEi_dcvl6_@Xk;j*<}nyf!#{5$4ANIa%GAA4hH z6S+I?=0}e`tC90D6nT0YPr;B!XmiF4X#ciI&g_H4IA7^l)0W&yK1jHJj#ao2j`C@( zRoU0pwK`^8>-UT4uBUZq56Q=Gq5Mv39a@5^y*8z3B`lA8lZdTrWD1lMQNs1GKD$=_ z|HRBhb@a6_!cC%$vkBq_$@4Z^%h`1Xo0hV~B<iEv$ZzX53Sf}mRAwLRw7<FzAb`)h z+_W>ZRxIpa@S1OU%`ZLXF{-56@r7O!Wj9pra>PKH<S}Ai`BGP4gQXcG8tVxXYaQwb ziy`I-a!x&6aHNo}|JoA%1h^A!FEXG+0+o2j1GK!X?K2y$6E=uykc<e0T)hO}hUz8$ zqRXU;DHOCeNY`7SuBQ=cm%;2SjpJ3Iu#qGHP<PFOa(kosBX&S6TVp!`Mt;8(phS{Z z(XB<|s8aFZRo$P8%rX;wNUC;G-A(tG|4<W;cvTbbjT|Tv>S3;;fD99-3h`+ImV&0l zx@QFdSvNE)o#d%Ro&fcuXnzi00a03nDd)Q2jojMAJf5Iww(D9PtmI>reDoam(Zk1$ zH8OZG;%fFaAr@QKv-l==Mk;4mJKztFta84<p|1c?!l1DxDic*r3gOQXVv}={TFW?U ztQNdaxQ0SH4KCRJHjMcej4cR&@hmGx2B3D1<*6L_oo@tUM8rae-=*QDf5fb!55%J; zC&nVtM;?@oA;t47Mcz#mUnj6w=eg|vB2QCrCik`lmZeL#ivA@T0$J&e?R<@ezQ*a8 z>?j87&(tI=+PSc3COuAL(H7O?ShDno`LmZHa6$u;oB9<Q)IjKsz`I;DCmP-ie$9vo zr?w4KxJ2<KOBBEM?ea+;#@?SV!!Zh48D?4_NOt#>smf&fwtyq6gnu^X5RTx-;QxDa zV4Rc>u~<NB>Jb)athe!YuIx_u3%rd43j^D7)jUX+MiibfBK}upk#*;LzI@+6iCmBK zE3No=!cP8&B&(wFCMZpbl<8x!N6q#P<;fvR6#o_%r{rr!hpSTkQRc|WzT5oU6%_q0 z{>`=Ef6Bkv04DjjBt(hgL-3c$*9-tPd}CEiT2JFsOPB!}n9iQYXM;RjE8!{11LaI# z<28^}oMXBYKwan#S)t6_6Q(HXQnIaXl45#Wx41mz<d7(?<135ly9$m!zF@*tElsju z=G~vUU=)7X@P2DJJ4q?U4qsFF1Ay*j>stNW?*nu*U%v;?e;i*h;ratf0_dwv0_ajA zH<SffL}u%R#MOO?x3Bl-$eG`>-)GE*tgolnIeK3*V9!jaXVstF=kFcUb4@%g&r;9R zXHI?ou0Da+=X+MYv1)IpPs?5%ocVpoqoH4&dgYx*Jgb6#x#-EJ;lDmV^LzQd?Jv51 z<=^T(t4`|m<nH13pY&43cZ>e8M~XhLw(dCklWBjW_`5O)tjARR-J+`$f0roz7Jv7m z$P&kM7t-HIPH{yVfA>TD^8Os5Kbk*J=em0!Ag-S9t?9fnQTz=aPv66;f54}VLJ8Ma zlE9j1?sA25TAs1#ky^jsA=FI#9-u-}S!4YeB(o_(z%H~Tvq879vO6dB@BfW_HbDr` zcgSajG{Jbxlw~O6G2L3OxzaUR%Jw=;uKh&uC%8q)h(vB15S=2&Am34b6L~VqCtOdG zBtx_BzRcxl$Fu%Uc~1_bzH7dwOZ^-JCE)`x2;awijk2Koj!8cM_(BO+p#{_g4V0Fj zpYcD|CebkEjj*R|n`hP7^|{8VLvuHK$`Gq(58yD7TaJwCjmiDS^UPJ98{2N}dhQyP ze^O%N(L-xGHGF@5c#n)G)})#^<jH#lZswWm_tbQ&7+!Uar|f0VGl$;1^<TGKd-F6; z*%nXU=eX^Lng^`o&vc^uuS<`2g?#^XD)ZL#Y7TG-lZ4<P%JA_r^}DDAtvSRnh%rs# zL99`|eMgxUx=fXgH(JgG|54tjqijD5WtYqWWerO|$Qu4JeZu$Q>rCp;z^gR89LqNw zFE?=*7(Yp`+ixNFna5X>aP<(lLC!IM$V5(&zkZ0GG{K;MHy&<8J4yQ)9}})eNtJe@ zzfYqNI-dJ?<G<AZopfoMRe$<N;>}p~FG;T-`Xla4g+hNKF5^Ox-Z)x#2C{=hg8Z^& zrffHeyvWxFFObhUYl?*aR_>gNYa^zRxvNCTBQs{6Xj<Tn`@gC)t|a3sC98>A_AU7? z=XIlRQ^XnvMNH|_b_e*+MDYW#vMK&6QG5eDW9prFC|@L8=iDrmX#_x1?fVlGyOQ)y z2Of^NCIEoP{NR}r1W8S9c*#=T;Nf#D*dYk{6P5gI?e~lTYNM|khZjN$e=1%?VUv=f z!^A<lQ##jpKFmqJSVxVjH4mlWk*#^fK{@Sj9l#lI;IsHSX?ahPyz*a?pOpM_((|iT zN29$xH|`&x2r2^!eClA5;Yk$#u1NuGC!hkzdHodG5=AOP!60T%yzP{P9>(})?gm1v ziS%!gOqy+Pi{-c0cWM1A_W27xk%K4uT&i+L@8=O({&)vXnf6r_`;Es=;A%puhdJ(Y z-7v&rB(iNg*)EI*AIZchTsbsbPF}@ei_?SQaxdLz5u4jB3F~7lfGJsmm`mF59s*jG zJeA1P7=eC@@NyQ^(<Nb!N+<{y1^FQNWiI7c{_{3o0Jn?-!6@Ww{*TfR=`Z2BzLCYW z2F;%Qw;*)*n!wHSB_I9s-E>DDqkkSGawi_XGG>hq&*~&0US-o~LH02{WGh7ftcn++ zGtkASS;a|5%j`h_k@S+N*bKxwiY1DAeT7%t-~)LwP`-x4f%#?4i?c*7xIrQjE?h4| zE<{OrkSMgwhCz?r#~}!QBPg%&-VGi^6QV{n{5R5N>6KJ1kpntnw4M)EM>?L%%(4vk z|3oHOM9wp*SJPL~&x7PIQCGZ?djt5D`SH`h#-Z8H*o{0e5b=I88VcyQq1N%Tgsc5r z!4WH&US2I#Af8&;zMzRJV<p#y?TB7S5r!)|_}4<H60TR~X!H_(>$vmP_4F@MJpU&7 zdzgvJSncFb%43TE`4+={A49Df?o9pjrFH*b$}bnvN^-BrfG`6-WW@nouIeF{Vv^p} zmVe^!G_tYcGfY3C29CXPZg$WtWM@yyM_Ja2W_q_Xo-k`LY}ZUt(HMh_C{{sf<rmoH z+2KS;$|!#q<z@2~3ADG(R&`Y@SrYa{@eFb$Uqy|q$WMy?WVDxrSG6}Wv%OPf{)a;^ zXIXfm_@9jOeLnwz{_e*30yc0=bTi$w0q<%9ZYye@BbT7kmv?Ja3ai$LqoRJNabLLk zHNK$4uZrX>y_!1@SiFh?1zh&pYNG-~O-vNOiHl6ab)I&V*(K;6e}_1qeS!;e9jb!S zKT^SOR0RhhmS|zE3Q|Lt$*(K@0fxrc5odH?Dw7(Y5sekZ&)yLIClPJp`@{=I=JTZF z__BtQbCf84h7BqC%9ORH?-v>MP0pw<g&%6k*HMk^E`PgAkK{naL@uv7P9J~#yXWa7 zf4R!$Y|~Z%^5C~AW%_q}|6KS<lxao-DrOFiC!^d8a9@%r^hAFu8nuP%C5LoWHvL*9 z-$U*Tp_w-QSC@MZ(DYyQevzEXJG5T7giMxRxK4CP5^CXoN*eh&Z=ciTFbb;jd0e9& z9iC@yzG_C{s7rnI9@A5p+9#zF*<pI92lR<(PQyiSN@^tM8pc*$ck0)vCqY|z4azH< z&=P(HQh9FTSN`)vtkUF@O-jD~mS2?*+B(J)d7>ytLc(=WHdeX}l<a#}0A!`6l_LR= zgZ+%X#S*aoD%*95?BeJh`-(nwfZQTerGq)LhfNX1?R29Q?XxHHoYjWOcIAb!G4eIo zM*f{vAem(fWC<EW6(}!N`_jM|sdkD{f+p7}wR2geN_8zvA|U{HX{I9{^Im1I;xnJn zMkZF{9$3c0=*%+NWQXT^wR1+SE!&sY!OMUrTqUUQv`SP4Cw{t8eTo?i{U_32TK{o( z(wb2+7DnI1c1v943e@m`?8;+r5t#(vSN&4(J*D59W_;G{9*1*>Xz98BX5lA2u;geA z7meXZI|xMXEpo7hF@`g$8y_qZQxOK0BOJOcTU+D9MKejOCPURUk8$(ishAZNE37e> z70I2OVtO@6tAjl<I8vR_4X#06^5vxz$mOL_y@Zv!nY>q7?_;drDc0{y>o;iqF13D} ztlvki-)4Tn;dzXx1AGheBlyN+n4cW|DA<aDyTVADeX_BWWS|QdZM7=gY5nf!SGm;p zMz^j)Zeq9jb9ruUe)_k5r>Av8Ge1~(G|L)qUH1fU)n?8q?{;>!N~L71QNQ{mCVI=U zVn=k|{L>uK*?%c@MAxoA!x8OxfY%-umpGz#|NL|U$$p6SLI-ANS<w`koz~{U*B^A6 zW3t6BtVeVKd7@{WeHzThXVL8!6a!x~u{%Qp9R72;A=m@^+fq2M-pO+n$3o2|JnJ(R zrnB$oMnN9`95L(%9jnjck1}t2xM(Mj(S|mQ<Xth%(f6|!u|;vSV{N25hgJw+v;eRK z9$kIThi5i{Jmm029#j=ze<yZPeU%7;c0T&ReZbe4^Q>f)s>pzOuT$`+ISJb`RaU;+ z1^Y&?r=W1udrzQ67W@FZ1Cy$HkdN8WXCF>8&fR5%TKUe?P9yZZ%DJp)x*oH>z^GV2 zIK;9unjEb;cfBp{l~iZux8@vpyuc~A+nVzMPZjEE4^I;WlXBkRNw6k*%4w%*M^9?` zs<g=wEl5k)F9{A3lsC*^D(9AJ#_tK$A0sRVPIOZ6#2%o=e36g2Rig2B2l1NkcpD+n z)0+JTZHcJRExbL@EnY-`K31`=MyL9@MtW^1nuqK)Ygh1Sq5oas4=U7j?Zv#iZFIn; zCG0dC1R2g@_@h5Rwos-r6m?Exty*AAGiJ8#6fvQOL3=%WYcxD<A;W6{Y&C!OQm)(r zWztgpC#IU;EzQ3dJbJbf_ABUB2OF838i;@PCXczLG1v5DTTL?CCcw9?IE!lm&`tRw zvyy!a&UZSDhEJi0TF=28=PYGV71@i9d#zX|ns4W{-rCj(Kf~e$bs^Bvzdu@xi}A+& zhaPmwwJ$kch$yO%Ru05wAPlr8VGI^MzR1HxZ_316Dl@QEp2iAATgG^^6XksTDBO|1 zXgdD}$ou=e%kQ)|JIk-$`M&4jLtRI>D5@S<u1!41Xs+Nl+V1^gM`PtZREXd@GrHoA z(;ZOrdGwJUFei5w1<A(4gNjHs(9f%1WLEC9uxGpsZez}pk|xR2@!xN7MZ0lxWd#*Z zGk!L;s8F^*_CY!CG9jh(tud!3U)_xtP}M6&>4S=oP*ry2D=ioB&meOzUdx&>`l@mm zHF_T}+fKUJoUz7ctf(@Ut%a%+tqrQaqENqybc>UC!viQUrWswgtjLGJDnXl$7zKB# zfiRXem(i6Hy<w6;BAUp5kVwgMm`D0?So)MrpBi&+=4_dH4Hpd{r$7!MRqBzk$mJpW zqFDm*{RI1hnD|UQQ8a;6wmIwR|KX3!rf@G&^CwJSxabp}fh4#B705#j!wLd0-NkQX z$G)$3cFL^_0p6m6PAs)oeq+86&S6j!MaE<!F2g4<A-hd8wJ{^iq^4^F7`OEd#Z+PQ zZ017A=TjK(R=&U@sBKC>I<3p;irc!A7dF2M{6O2P36`g6PNNXe@I?a8#77i0RreBB zH*zNKX}pvG-ydfAoVy!`WRq{n63Av_PuTYIb&;V?s_Ef2{<uNFc-pGBaCl_K+2{z- zpN5Vl0?@D;$B;pj3bW^*TkV`t)T7!NkAD8JG~_=y8snk-O=EEjg~{#=ypYU3ZyWoh z5JfIEp5UbG69#1&izXn0*GTZ1CWb0{c@H+ngQv37&4j*2zkZW#BvR>FxCOM0M!u3w z<#tDO<5fbv!ixEr>Nzu8aU({<3>oZ&>xIK9Yo2%o%=Hyor)Kj*T=fz9I4^WGdsc2m zAyX##Ge}-rM4h)|H=(Lm@(nyH_ZZ4XQq<&#c2do=C7C;zyc{`?_C)T~Cd-j!YVnh9 zZ&u*7C^&@cZQ@r-TuTXl^WBYYnNkkW752+8gZVO>yx(c%F0d;s7+aKkgX8=E=ffyk zs_-!$!rep{zXkmX7yXB4AwcdyG)BzCT>jFewmarobM9_azTRsA56nWs0OMW-1{C;( zTh9rc#qZWzPh<0*-y(mu%AXw`qek9tZkD%AytT^Pn^adE=8zebj`OU?hlgbfO3*n< zZM$xr8n~Lo{uis9=X`$a*uce<fDV?tPC5k29cpzd7MJW_8^3QhYSuD2SMbp<Wb~Z< z$uw^?d!s^=?eA_BG@15gu_G45Hg+i;>3A5O3%{-?zwrl?`;G1(wdpR$3P8i9B9yS= zKHFSvCMbhUWR%{iR;y9^aM4y7-G_|RWiDO6Q`P2ow0_B|e3*6p_>M&Sy+n40c|vr2 z6)c;z)q2btmTIfLQ1fGl@q$Uo%hA6-Bp80FgXNhuB-<R49lHweq@;eu7rB`|RP$`& zR}R<kllZx*@*K`5zr#OV>IiR7XCQXU4*rhSINk|*?{2N$luhRoIOBjZ<`$yfb0i>4 z=4(fUm4MCg=QyHUeMvq8OPSW_DF<1Dtu2Zf7Kjzg(U@meZ^@3Hc4dmYu$nVgc52KI zZw{OqdzUWT_7@q8ualS;ua>VXTP&96{os*8|68$#NK|Zw5Vpxqz-)BQ{7I8=bXN7P zitms83MV%~$1TiWcm82#U9v^ca(iqja+43LHihEYMGL#?i9UP1APze(iQ+-`iZIOi z(Jvch8bnpP{jl_eG%>5j6Hcz&6*W6{*iu7&^mkH&WL-6$=|<5!pb%0KvQl%SzoG&u z3-9IUmU(VxRZZtcr;tS?wwbC0#62vO%(YRkDoIubKKk4Z#puNLfN!u4b>rCnA1rDH zRN3OU@*Dd%1EYk>=&qYjbHwJ+NBz3!ScxMxSzh659npWaFH-w^tU8(0_W-Np0d#EA zy$Rm(7wem12a9(wHC2u^xl(9;<!O%AESh1QYaFp9qJNE4cIwk4i)`D6mm#*)GCGlt z8%SC;iHvmrmXn#5NaX^4qDM!|=gQ4IQ(`$K?0Jt=Uazb9If-f)6u(Tu-I0~vDjF)B zzm5bEok}j9!L94MM2bZ^`lR72bi;>xtA@Ks!wYFxokxvj&o0zrF5(KO>^LSwH}0V@ z7+mt~LfNx=MmLb)e(oCSXlQ+5wYk$hiQ|xJUYWRDZZi*}hR4C9MR<`!-^9#(A;-Zv zc@FNk<(}oT&1Ku+a>mFMR|ztBqKo!3SfTZO-RAn}G-)qcacZ?<uORk4Z-^qGPmtDW zFVi1q83sw5(~g(Fo0OqLhP~2;pQRrL{kXl-L0Yoyl`cCW!(M6os2{giI$6${LO*1$ zl%@+)<CkgQj`C3=i7>f376Gabmh;Q>8}0+M_FqgyjomX{--p`JH)w`zTCy$G-gt1p zh{o#knb7Q_QH@j2$5!b>|Bb%JilR8;74wDtd#Dxjq!+nm6H_Kp4ih4B_5jhTwA1RO z*W{ukIfUQ=vkT^**oa^Gv6NYmGERC*lCV%(U>PR;)tVn^T?~|ru*46@G*SYJ#A~q; zk}g=|X{<ue*-S)U`y>lhP3Gt&ieGH_!4dr*>f2cd->YxGT3QnQvk5)0_0Qk0I6t54 z=~~#0@j+<MmuBd@<^215+xt9hwI?y;?DoE;?|zY7BF|>u9#lss%O;CX47*PCo2l<^ z8u`Qe?&u=XcMsujN?n~{zw~|fR>K8|AGfzEB-`pH`m7Ey^kia3VcA=?;p_L9G3^Z< zSCDvPBnj>BFi-lOq6iuAe(U(>k5cN#?X6}@d%yiYKriF#_W=6S;|nHSXG)U*dd+PD zDCZAp=Lg1!AD)o$3uQtc3#Ly<s;g?fCeOS6oAZMm>_0z#elQmVNXOjoKR@_oMt#Sf zADl-u((xN^)tGs7l3?cX=LN^Vd!GLNsbd$+yQqD(XH~0bXz<-fR;8af{OI|?kDWh^ zN%;rdd}5QFdVZcGn)x*UfR=IT{sE@tFUrn`ec3(NAGcrF_5ppVEW<wFgV8KsIXc~b ztD;breSrAODF0Jk-+d#Gt1pe-qiBX6`OKHR=D*dA$H(M=b&lenh$nFI66%Fc&Jk+b za9*|$iDgO+A+DN1uvb{-CHz{&xDoN>v@-rmaR!xq!ojP2uwztjB_hcr3rF|#5mkIm zt{XdNXKW7Qp$LysSj6T+d9iE2*t+uOW6z<VZ<;1Uu;Cec0r$e`f33rxhjVVibtNaa zsEUl?Y4~r1MTL@Zt-Za#*-xbC4ibGs4x2@J0xyo($X^&qb%d}atn?uwV$4~hom$oT z5H<l?ic@dc1!yTvwACU^=JHQj2Ux;6$(!tCvWkErS$Fa)|Iy&=u5@Tp_a;EQ@FG-1 zq~wz_S)~+PDFvk5q*A(ADI73Xj#Md5E2Rr56I9A)W2E~qIWVkZi=S}isBMfClzR6o zdM`Hpdb+t6cdXcCzja-vT|$<z_z!?+Hp9j};%Z9WA0w9q<ipzD$hh&?K{{fMW%vnU zLCqOObHJPqjA4*(z;$6a%11hGY@-YT2J<6^0COxufL3T&%new&<~FecYE~UcxK66G z`VuWWc}F5XTW4{`KBZzNv7e|F33JQjG2!#KW8uSd70-`LBRr#Xfi<T>2ELjL6cj*` zoo^E)NyH6Wd#=c#TE$|G^RFAFRh<-F(sKuWLhZ7Vexom*%Fzpg*>~7v$Qr(=hcFcv zTj1Xbl~Rw<y54Chj_82>l$aIC97I<lB%t!^;0Q1&ITNZC+G3F5cPCt($rXDD5dRN* z?*blGbv69YBm)Epo&W(+QKJq@6f~)*i4e_@8Jy^#sH9TsB|0|5R)yG!(pG_(1m<)c zp!HI0tzv7dy;H4#H%J0x5N`o*XuRN+GoXN15RiPowfC7@2)6J0`u+c3`|>=HIcKkZ zU1zVg*IIk+wT-1TU*i$|6yy$qT(bB*l!Sf)Izm7P>H2CC^@T2D*IDA%$eA;tjH{$g z<lh20V}LM>tdu&1@YYQnG{_d4dAGf*b^t^+63Y!ZN-}Rb-qY)k70KS-M*VOjR(G@A z$8L7xe}MzMdsrHJw)|X%I7!qVL3{~H0iU$&&U`hCsvT+;J<5;Fq7wTALj$Xs+OAW` zy^xL&aL|lxIZ^iQ6q?@>N4in?f53rN&MikuhBK2HP9z|MTsW8uuB@Y!N(=XCXL@ju zVPyJ223Qiv<D3ro>=9+R0g&bC=^xHkg41_Zn+r0|2W(@>;vAiFHaU3;ed4}V<=w{Q z<aDF$T{~I{!^b7uG%`-&;beuI=yCE<8^s0dGQP-9@*)*QOu>G*g@vACTcW;?HRLl! z{v==P^}U}fs$eThCbP`^eLb;ak_n9ARdW;Mr@d@?@In0>I2Pe>)Ace&B`<W>FM2qC z_#;ZC{7v^gpZJ}0_<su@2UEk><D-{&t_VJ!`RZT5$5P3p@o`Pv*Wlw`T#^JIuhb>+ zK@(#Kp#qNt(+rwwdYzE|j(_~X3G_DMAKzVG>5k9t@BiHY{h#=^FWcJh^b0QBbV{!O zv3Bo{bF&_(Zcl52{igKzlFGl`R47ya?Z5e!@^8P0ly2u2KSbK*6J(yA6Ma3}>%xKH zV`vf|XUX}%dTLPqjedPT@QrToK4zqX_b?wy6n%UvK_BU!@CV`OmEp8%&x)=QpWR6R zGD&5*CY8<D1-3jyKmWe_Uzi$qOC~)v&PUhZFR3)qUPe!dM@5p%mOo6>vt>3Y>52Zo zW_%|~ty3tLrtxT&kiXyY^-GLz-L8LOd{0OwJ-#}O3;P}4{Wo;$N!O5{ktE}L>bkV? zb)Vn*Jm>N~>hsF{Q0G05)t^84J}>p2;cWh|__MD&xHZ4xN#l6s&+hne>ZDN@AM^bF z{n`JE{_j1^#{xAU56$@6$$58^*oZRc-OGC3UB8uiM=Y3LrC<IF-^DGN^mlpn8vDCs zv<P3JDZzi`wQ2bOn*R1UkDdwbufJ{FIivb(?)(?}8<I@AzlF*ErnlHN<O-US{@!&> zT7SDn9QwU<6-N70zgbSNdi1Bx<W~dAm{@*Oo%j7DcM&}p@D)Ejp7;IMmDJgtV>y<o zC9=7zzBlZL`B=q?*$d52F{3^%^<iza7Q8J+N{R8>_TcaF204^ka=v@1&QHeQNJiv| zTAlB3^6epCbEk1fmYp@Fbd$fq&R?SPb8kxYl$mzY2wlbTRAFxVrLJPj0<oi#aw{pt zPf4|{CdVpN9~MyfQoFFVQT0>WFMnWv?W^&|Psc{4_et23@4-HMY=^ebhJR<<XGf6W zk-MtX%%}=q%C$sfC9LZR6xI_KJPwQNXV3R+aTScRVK9;o`psR)e2@1BdyyQh)6VC< z<B;_z6aI7({`RxLJ(B}b_ankd`BI;YH>Tetmh(Gum*U13XcJ{N{1U20W$7xS#fd5u zohShbjV3wuNbKQ*j5$Z}(K*J9G5_!Y{wbWM#(%1HtBdvfQ)5~V|I70Lek%SlyiCgD zPc>xUQeI<puH^sIB-C!NF{ZAOye&0G-TEAo-{s*Y9_l*yGqp{MlBx3rUfz+Hjl6sY z_(jPhC8oYaGaNMTjFYfV66n-aw&13H%73cs{Dl7$Q@M4uACRLBXh)4vyQ;>hev#+5 zd487X_j%sTGilWy8UrVhN9AkfeVs9|7B_%N8*xtDF1O|B`>5qC|Hke9=<r5=A>ou( z8%;k4JA{-qmRy)!(^}!o2@eieaQOi{Lo*bl0&l1b`vB^d6TZ+DuE3bfwTMmM)xaEp z{Q>p`m=mt(uL4XrouPrK<QEzM2LQ|sR~P`Zji#eC5LcB82Ll`kFfUv&7@*5&a%o^b zz=Ht}0hk}II2d3r0%bA}a84%z?uCZ|JOtpdaK&K&aavicfx`hF3Gi@$!^0Iv0_<Zn z{Y3){03HMID1Zgwiemug7)=W_&<*f7fFl69!xhH?>>Ij~_C^9Y0YD*uk>QFH0Q3uS zOKrs{04D($4PaEb;v@k5LwKlF6ahFHKrw)#aK*_0azo^<7z5xm0H**L6RtQ7z<|(T z03`s%0w@Jg60R64o9SF-xpjq$&RLJJC#mR9oC@)B6}AN-h&2iIl-mSel#TW1W$d?& zQq)4gD<=M%l4^d;tQd0PaWe5OnfP&6ia#+;lk;D~LCXA}k}?08d!1`Z&7A))FnK%Q zVWOty|4Jz;^Zzww?7Q-kG5@8+)Hn2m-FN;o@262+Cv>3ZzvNEMe`s*p27CU$&U5<w zhn#9jllebI=D*~V`Twe(|5NPwzfRA8V#^V=$KUuiB;buY{Do`ThvRBbuxu=0E>DLB z%AGmo;i9k~BEX+Su0}JK_#uMn5J7n_VAEY;KUA;_D!4{Nr6g2P-dCVGVLxQBi^!Vi zYA9qd9Wp2%Akf^fA3E3t9TaIObTAz{C?6=$ys#fa*aabo2OaG~2-6{i@*x7v5Bs5n zT~LC=MgR&WOotN64-x3Fupd$&)Na$u8VV^)hZM>W7wGV?A6nQ2EiBW}0-(@B`B4Hb z2>T(1T@b@BH56i)4l$IE5U4xshZ=VEHJWbHP$*(L6j5F%(2-$3B(bYs=t_FTB%cmR zl#dq3sIVWJ*wsJe2Leq@hbGF41p;~@ie0&(6M;Y!(;<rTQv@<5?1w6L4G1yvNl=9! zswjsl{3YQ@V>#bXIKr*gBTw6`|09@upwu#&-&5RPCcUs1=E0CF+(-uUx$Q}>=!a?f zzihs5)cpRMW+wYeStXlpS2N4U{HbEL`{4Lhj<Ao}-kD(eK4yCrv)u>FuX2TbO!nPL zmhWS-S25Xru>7i=u#dUEo4Kx8zK^+H#a#En@~d*gKBoHaB+K_P)vK85K3INLUf9P> z-<@RnKE8JqGu;QvugVYmnCQEcEZ@gOuVSM6VEI+U!anBt?j+0iG0&@*=RR0|)$p*7 zX}&wj@_kJ6DyF#)mS0s6_A$$MCt1FaSzg5~_rdb3++iP+e79oxJ|=h-6Wj;OuNoQl zF~4^!mhWSJS24eRu>7h~VIR|bw_^D|rgs(7+Xu_9Dhm6U-Mbab_c6PxnB6{De$|+; zkIB7Tv3wtsyNb!}V{%uOgneU0TGc*O@H;zR1pJ!m-o8dn_xh|Kb>h~mmxMNKTkL1U z%uFj@j{lS<4WlsMZQV)!%F@;K5_T9;$afp&C#)b_+7|3@{RrhG*N@L3aRetJrJ0hd z){kC;kJ{h*Q36f*^J=^zdhllhuSiflarS`)#ouVnhN-XN|4u;D7xAZ>UQPW{$^jBt z$Ez~by)3KBM$)Hr@JCi0q$H`ToX4rM3Qbx}np%9U8joHfI;GhJ&}Ve66MzU;TIBjf zO0h7I%@)gOT!UVamNo)n&6xUzw8)FBXdYv#C1Yukj>SlOMWuaN;}cm7z#91@?RGvb zf8LTm2w|#cBJPoIon&FuQxWS}l*sTLExk%68KrcPR$fhH0yb^CWJ0VHAyBWYV1`T| zCo+ljXi+!F^cbC+`6Ejte-#F&QdEI;7iGv>rAEY2-6UuOQMwXi>YL==L7op2V7d*M z6?!T%D-{{j1T~143R#`3xmsjJ=$yJ1=*zTRD{?EsZ0$3=RMS#5)gj0Nc}-GS(x-hz zkHM7>k(57bZQetP4`ozR4;5E~quQq>izK`$#kb3!^-_o6Zdy!UzcdEUSfFY&YBx)6 zS?70=0P1VsWxZd_`wLzK-q{GgeCBEE0D#)+mnpf(7+Bq*1!6w}F#^Gvc&udz1kWY~ zg83pju_<6Y<u~yvKn}=)Yx*Pj{7Vu)YWe?2NG0OW(}{T`!U;F%#9=yd7>RJel{&FN zCqfyr#{X3(j?{@GNrdCwr4x&EViAdOx+a}iq7yM8?dlWyAuX5dgmMycLRXUD*9m?S z`i9OYVUkXmL_)t%ISEsA!W0tv6G$iGuht3GB;<yUAfZ+#)RHhDG{7I3G~I8k^_!EX zOMD%*{+_bRUVkSdIH~p5%Y$Yba?3QR@AdZZp4VTIE^U615;*z9<sc==Dun)L2&<^& zGfrJ6MP@Sr)fDa|Nhs3jv`DX(tkbuv*{QgWBBS+`60L0tQ$p!qoid?PYypyIvMZ5Q zatKG6x?A#hP_3|oE%G7_DbVY@Rc{2u|EVAFGMxvZsuX$JWGNJ>s2_+h2+b-KBYB3` z&ee8*guuzys<RkVg>E)VhUaNTXiWxabBVVTnSf2(DVd%o(_Y}xIq3#t(J)QdGS<#r z@<)wYsi%8+o%V^;#1N&7%_^rR5CcSY6D8ATVQn%z)p&9woi9lZuS*{wRn03E*MtQz zoV9lSHkTn6JV8nO^b~>xv-X%a%LigO!X|2kWmhX+sJJE+i+bxdsu@%54tWr!^(8N; z%GG;hAQV?@ruuCu|EiSVB5kjwm1(FfwJ%Gt=Xk3X<>7P6!PQ_ol;zV^!!4%6B&rwL z3AMtd-;%muGPMh&J`{-R#V8dmKw#UojJNtV_y{~ilnR@NoS=BfMq9{QofNX<7=Uu1 zG&rWg7M}=LYC|&OgM~;MEJTE=EsC;zun<Xvg@`aE0z9Q*A(99S5h1EoC&EG`5o!_P z>CZY579xqT5D}Vwp%Y;tk_ZbCVd)l~2n&%!Sjg@^p*k9Yg-Aj<2|1x^5?~>c01H7F zI*$Zch$O&55Q5Gi0Tv<&un>fw(Imh^B%zvw+|Y0mU?GwK3qjZs|8-c1Buq~ea>UN1 z<(m&yB;=coBHti&IIMTDM<(T)I=oC1@{P-FEz$XBtVhV<>u^A@>E}p5BH!5YY^p9q zH7>#Xz2n>WJ2^h*vX9RZ4WPJ%KqKrz79{LakrHduxA2>cwG6Ae-x(=sjAi+QT~^%_ zbV_*+YwH!Ywd9e(A1Sh$o>lo3ATm;{frmXODQ&|sbS>{Em^QbWS;gzE@3v@8*|g{e zNnFi7Xn{%4l30rv4QH3IfuBDe9vTg~-S#y@#8&^p%5J3`mSm&3F9j*(HrCK-cUi@` zleuSdTZl~pSS}h4PPE&s7o{1M{k3|s2gv>uyR7cUFOM>s%cN<}@GQLFnP|fLZL+{0 zC_r}v%9*LPW?loxKGI>#jnD@E#(M<dEbX}2WezkuK<Q^BL>K&gTG(L@7SFsj-{;D! zWk0_*j7tG7dYiJTZ6|rmJZtphbSoCix$Ax>`;+c$$I;*bm)>6Y-#-Yu`Rwi6#J!-8 zUBDl^#j#!P?PLTwTq}08BU+c$@MRVcGmqBxOMm32k_E4mHjA=?5$tqMe`$ODdy(wu z4Eb`>1?%C*5P@T>OZXm<!T#kA$5f%d?S6Cdu%f~EWBJ6@!F?NpXxJq~naNf2ix=Kh z;gaOrRk8p>CoYqhq&!}U<F$Vwy^vb4M7PP8p###9vDq^>GLjtYmkh1!mpkrFexaD7 zYnDQ?LtrM`!P~5(We%$^HWECiec&_C2{0)R`k^XN0OoML9)iEcikyqD%wiRm<6ceJ zhGUL0a$0L2RVaS&KKtXU3DHMdXjz_Up`FUoT9EM?&40c=a|-<|nf(`;*-tqNTSN2B z-LhYq%wC(GJy%WA%hAS-=CivMIVoA>l=LEQvEd#;Ug+m_h+?@z1{&NM2xbKe+x?|G zjQK0b&&<0OXk~2GMt;m}ud~H7*5#h*@|Z47IyNn=c``BX=cqI_ZfRy|oodFCW@MHp zn+Y&2rKO;1DHbLJB=aFZ&Nj18q<3lCOqV&-?1;{A>M53GO<G1f<~H#*h_x&rC+;}` zK5nc<N=F>t=xnEhqr<_Lv!nUVGOGh12S+Y6G&g<JPU_ODb{TwxE!fgFE|BD<GCG4J z$I#Y62vh#XE_AVDn7$LE{_XI)UULSEXtlF=eI>>`u0<28oh??OMx>;wG&A-Z)?ty9 zlo?OSQ><%Beo*!{WyVt$X(ct$ijso9#*Al?g;iK<Qd?Qg5yDYnwAO%HpoADDpQviZ zj4kWEtfaDviy05?pq7<gnX$W@@zPdYF=Oi$w-Tv+ZXTN%0dq|yH`Cw`>>`r5zc428 z^PAoVMfh9w;r~V1HJ;Y9oH?HG!JhD0*fu!s)TY5_xdh%v;Jtuf<RSwGjxN^XMRpE? z1}wR#zvSpEIrx7TR*o(fW{y!x6KCa04nuMbkQ}+>z|_&jDlK05k^{H1B^M2r90Mgs z9yzdgbg^WgZs*9C90yB|A(A7X92h;iSii+9N9y2U*piD5lN^Ugj$!1$^3la&{sps1 zauDQT$wfy>j>9F#aB^V&=)(N*qMf5aavUQ$j*=V&<iG~fg$?8(JBM3x949$ONDenS zFobkr?GwYev@%k1oFF+0CC5l|U=iu+7rI`cqXc@AKt~I76j00}UHwCo1zIG~lLcBV z&?2DNM!IrCrwVk8Ku;6sDFPh>6az`ufRGGbh4Z;+tUyZzS^{)zlDx{gx*U#~9+nqH zdqJcOBZ_U4Yk*p|^h@~nvtkAF8_af8xbXbzI8<M{)|fws2Y+-D%SNpJ4G(_goO}|h zc6M1m`3Hm<9INPh6>Tkql+TIgpQ+AU7bx1T6^<)pJ4vcZkZlDomC+j^Tc(=CBjVa3 z$hH9#Rz_zjvVGnVvfYTx)4I*&r_ChUYC}m&0SU^4uBa7?QG|-Tss(*bpEeQM;;4VS z5Qo3?l^Y+Dz4q2ky@V(#oqPO+?Uki5qv>fn00vz+$je5-6Z+Nb&O-j&%bfpHBEcmI zOmQ&)Q^4!)EeXtMGm(%Z39ish3ffOzdWEK`mt1-29lBDz93(G&LRIR8lO>INb3%Ug zGDu$fhUANS-TCs;FLa`M87eRRLr1BXVe*n2%2zLk%FBR|(5u%yTm&cKuA0?zzB<-2 zn^!ZBMV@6*Jt`T;YFnCE1=d`XSOuaBdSM2W6{=y^DQB_F&VAqqe5hFL{<PH-afHRQ zF<IP97MFsJI|m!{>Qbdj`xv)gsb6oU5?P&Co6SCz(M#OJYZj!-Xhq2?4GN^zr7|YV zcH`FJnUxOURaUmj##OFB>AUrhFg|G^V2*KnBL%$4l8-PdccnUf?8RrXtH%-6ZJt7j zN;Warb#8RbSA09>+$Yw<OYBK|CiPa9wj0f-^1x(eI*mScz#=twji!91#>>S0geAN( zdL9y!+AWPUVOyOGn4n_sW4{z-OX-4QH}fldpD6H2dmnOn=U0G~y-#$gsbc*rpRE-@ z6hl#j(L#+*sbG>UP1O(y>T^noe}z)50Q`#qpkNxE@1vM$C0^<Oq9mqrDDwDN@^_FG zYuMCR<wYsAoz#$8jFcr2vO=3>-IAt-#xQ^-^xbDs9F>(#)Oiv`>7KTlL}k|NM8VWH zw`r1bs@Mx&(>XL!I@_f@6e>nXHA=f4rAIUJsqLWsbBc7LZFjOkr)(6qYP_AoqQk0< z;rFH9m*@k#&D!2aA+d|;;b_Yr3+lA@r6(&THzvGJmRoHXP_{`~o2S04GHIh9+OF;v zI01z$##6<T_dfrnbi&prGJy14=fK)F?KxUjMn4dSW{sN6qAun;t;j2b9s7UN_Q)7A zjeff+@vijmDd1FGO}^ST@+qUAvL=ct0zI2r6{2GDnlSq9A@|#oTa13#0;bV$E&6yh zlcRdAZS><~i^avL1;5qLX`|m16m~xfd$}_D%{?83-OnvJt#9`cPU&|(o#2$R>iQ$u zN>N2(fLZodDQIh=yGo=<VVEC7QAEwt3OhfFX}+!#wZdM3!Y+(6rW3Wo&NUP;Prd3= zTr2GSz(kFvU+bJ&VXr76ku^T76Scx#fx-?`y^*3?VdqB}YYhonVdqDfYZVDvVdqB} ztd|6>u=68K_GA*Y!p@H{+M`L(3Ohf-YzLB{750khw%(OwH<iIv{%HPc`sRp?Yxg=g z`Gd&6ii3J1eLTovw_Z>KhGH?{R*}g=b0cSZOW!f(|NRm;QDls}beGXwL=K;b(%m=~ zg0kXRYMpgFWV5W#rM|>EYw?m?XGbO3RUU$JVx66uvk1Xlv8`_FtV};OwPcrqeQsX& z*`*Lxv|rOBb1TjC*di5_3-4f?0$#TrN=dgmLaIzi&E}NB(FWS4H_gd}E%jh~lx}uH zjACQc#I85hX(P>eDQ&9?#GEf6**kzKz_aWP2%bKHY?9neVSq$SaG`jkWK_ExFi?01 zlD7;I=o)$Lpm#~TBaEgKIu>rFN~^}xjE}+yAZ=`uFf8G@+RiA<Y&S`&t7HHuCOezo zeM(($E-Z73iPE6tqff&2RChpu>JDizRT&>0;|Vh(=@ekQ0@#c423JuAN3{!sQ8Ceq zY?okY6s}4xF)@l|(RL+JwnqL414I+S)(8)>q)YEfG2vFih-+p2kqp(s%$}A^Y<?(n z=rmz{(_{za4Jjd89n;n#n$4DEv6o_ul=8y%sE7@T>IHxoX|QaU7}H*nlB#K(ccv^( z?qQIsnBsbEeH51-u|B?H%soaiGZFi2X0|)Q%*1^llbLDjV>f2DMe~?UX7;j9%w%S* zIx&-(Y3pM*W~Qx=a52R-ZDyvek8m-SsF@ko$4q8cO+p4U!}^%X%&<OYGBd1?6&cJ7 z>tiM}LoY}&vvhInzP}^{#0Rd_;+W0Gw4n{bE^1!kaFi8`J!bw)9<e|yf~TcbVrE+x zC#$Kpt1;F@7oejWTFyM<oIsv2_e@p1?RJXOib!sr73EZHW+BKekkrV*h;A{5SbzM% zY?0xj!`l$z5arH|x@|e`9c#;<ZKk-98kN)AEAo&~JbGq`-_Ab35Dzd!wF7g2AtK6Y z>FxkSgfGTc-ko4+@E>ujH6Kjy#rc=Q7qb<+0|r~fvcGbnFe|cMnaozJvU#3xvO-8E z+1E+qkyc4E=fQ}8Ui^l!I6dz*`IRt4^Nu04BI+7fCI)w7em<{aW=GIe>~EVe!jxe6 zrjiZcd%$Lc)5)Eb4TDk?R>)d9;>x}EIuK^jWaTE!eKc9yK7`cf;J@CFe$lp^YWJ0L z1a`F_Eke(#453gdrL(mpg4`iHrb-|EkX*`jWuN_Mk)ksFS3YC0*8-p@SW0%$F2sv< zy~fmC)TTUFM0?vTFCt8e9y~Saxgwg|n}E9SM?Zu7kreq5mSl%@sz`g&l=!oXC+)g| zGO9JnwEbuXJXNG1wats{r@U6u_M_EKtz;6paF0|as;=xuOXsxSX~VSIDP!ILel)|g z<wVuXwEbw+&6T=`3_|TktHzb2r}op81lTEkSVKMrp~W@PT9u5*hy{HNbJ~ZJ3&#K@ z9x55K+kP~oK$xV0R{r3vLfL<^AB_%*D2Rl&nWD<$MdVt&pRM+zMTD+JDnudGBA{$V z*NO!BsT4zhWwTlBE6aAY76(Ny{yK5csAZ_)$|76Q31JY!c+q|}+o6zVrZ6aO*2qOU z8Jg|3o`k{IdJ+aj{iArMFt}JJj?{J9nynl;CTFHFI7cUD2!r+HD%VA|X3MT^rZ7k> zgiK*@JP8?^Z7~TM!e9Xj8JaDp$&$jL@Ttfp_O`1wD0-dmTIO#P{IB*RVOLiPyL!fJ z^6P7U&j^P|^*CSmH0;s*>MGs|##-PheSPMs{vand$E@aHYL~eIyIf+wF!x*bW?_M< zkR3y+KtL?;mTtW1HR@7(a`RTR^@>0!d$ECFfiyS&rxP=`={El+(Y@_7oMA;g+F{Il z`P<+-7L)x~F-^wQYg>q2a6Lj1INPT4+KVna%`C;JtviyH{;H=+8!{`sUROGa%}nf_ z<riUp&8mzN(#*pGpyTS;amPPk-LOh@<vB+4Sro*s?~)yd$y}7op%!c~IsU#KDq&ap z%kK1-J?SrBrN8V=e~|z&Qd=dM-HFju2cAz~i~f9H0(%e97mdB>g1udD*jC|%r!$1P zKdTZXu5_^ZD$Cl@4l{d8j`AP&nS0W!yEIwdIErL0ZKZpRs9#b`#~QbuscLMIjqr)V zZT9iLZA24Cwzt?@um<azK+@4<t&F(b&_X5lUy9e8%n2##c_OPucF?!^3inWUV(`6l zqvPI(m>g$EFR^k0oUmbKUbDzv8&@+#*#l^PLLN9;&E~{=1WQ#$lU=Ng1J%kHa&L!w z^(tn=TC65d$<Y`I(#Nur$A8;bOSoaC)uc7uxATD2<bc)W-@<D0T*7Lyop|`R)#Ouu zVViP|?`Ac@?Q<U`K~8<_V>J=C&zJS0ma>|N+h?mzOf8h+_PLMMMBF}qp>w7d%3VpH ztu(6%Zl9S}6Wl(lS<_Nh6Wl&CttPmAW?D^f`^>bO;P#nmHNovO-D=WpMT(uHxTD1q zqj;gMH=KWWg0)_Beo}AHi;idoR&f%3n!qRHqO_I}ac=Q%op<CU2aY&hKUkY%%pVV! zCf}PZwvyHjdV4SFfRuE=$hMxplNLp3SxI(FvYTiJ!|bvwpyx(MDej2tnDx-FY_9k> zs>g4P7|HVR&$!}YpB&(d2TUjb@uriHja#%W`2bf`25L6O{ux(HmjkPQk>Gvb4J5=$ zG5?B}h!=KQHu4zc%J~xkA~C-ROGCWe2*+A3zOH7r2YF93HtUZ+qpDczlmyUk5@tLJ zy;VWmsui=#N&~FafJxl}Yz<^tzt=#255R28RKVB<1?-cmQkA?$13P*Io~MCpdIWw; z16z6o4grXF<}!fdirKBv9SZ~+TdbhzJ;Fby6PQ@g_o)`x3JqJd4@_|I8x368Bd}Qm z!#x6PHE?#1z;iTkMvuS~HE?>5z=0ZA+avI^`D&O2Jpy0Rz+pWCAJf3R9)Z8sz?>d| zvo+AsBQU6eJ1>+~HvO9jZYOBq_8x(S8fYbeNpCADnX7>t1*j)IwMWJ_cg;9T_LWhk zg+Pc19vR5x4Y;Hr8Z@@#h`;ZLtn(Y_D}Gb~vLXjWiZBzZooR8j9Og&5z}s>R{^GZR zO}3u>NF5S^R6H+-8R2LA)Fv*MD|x7lPSP%ydJ9F=BfY0QLup5YH;WvwU9_WrZBO}t zc64A*`FSz={afuRKcCQ!()N`1D(wjWTCE-RRz|ws>QJ24jwa-&B!1MPIISH`(0j`K zs6%mDJDQ-iBYxDOIISH`(Ap6{>QJ24jwX!Mbz(+LX-5;ZcEpc56sPx;CulPwKXNDz z?P!8FBl07M;?RyJXzhp}ITVL>G+~mi90wV#9Zk??M1JH@9NN(YZARqBmIEf#>LRry zDD7y%be%9Ak0EoLH(Cw@Yms#le{W6>rn`J6IMH(wy2eucFhUHQOlH*PwVBbQJS3UX zv#>l`gc*tdH*VpI8O?cLn9&;Ir|-jzl>fJ~-DHMwz-0XI@Bb|x`pW-XySgg>Z@=@) z#Qa<Yii{;rV@Vz7+C37*p*ZYeuMai8S%Ey9Yp>&6yGNop)VabQ{Juq>pQ@o8Y_H>B zyGNop)a8Ud_<W0EU#X#-Y_H>FyGNop)a8af_<M_ne}aZ`w7rg_?H-BZP?s0>;Oi}_ z{s0Z-Y<nGN+dUG+p)Nn{!OvS}wHVxuB_0m9*KxSrBT*dchJ`(L6o+*h%IWqxPPcm` zibLJ-u*Z(#@UVt*yuFU&?H-BZP*)K4*ijtr&`{2|*KxkxBT*dc++h!X-B7?!Xp;l( zbsTW_NCbzvkzo)1+>pW*Kse!E#|d|jL~y7Z753oE4NaT{gd^^C9C7zZ1c$n!um?YG zgyhjcIOAT&8F!CFaHty-_Ta+}l@Qm&!y)(cIppr)ko);1Vb9ofYFYCyP|NO!EZzH1 z%k3VUS|U9B6Ka|A&i__w*=yV)rzH+hOVfV<wY2;T)beb&M{21#!={!?dH5&Pa{OEW zTdC#1+Vbzdwus(18Zk^rB@oFgZdp(n%)iBKkN#Br@fyA)nDu$a+@0+4$)VBG*v%Ws zEJ}Y;hYUmt(j_-_SWmX+Le1&t^@fh6hJ-_MUtW?lbtyY)tbIv&O`q3$x$|Ci@CSKK zpQA`^t^J3~YtJQCAaS@?@>-?ynS{JngmBBoui6d{xU<y>A33s@%MmoMTMKTvI*-@w zB4@zeM`e<8djV3&WlM1HBWIDpEBF19P0sFl-Ew#@KnmGxQEqu6o1EVZxa9z!*DWXb z0&b4*dEK^5_lra}Im8!m%PBsuTaNKbG<mYw!rk;lHaW=`aLZ9XuUpRY1>79w^SW&* zPvl23U~*8|4pZ6WKp$7*NH$yCJ35g~&h!P`a;VSimQ#HJH^=(CZd>l#jbx{4D^S^v zQQ72ZUjP>bve^Qlef$p_q{?=j$|mRgI210~lq9I*;;Gu?h+n`hXZ*ZwIph~`kCbdm zEHs+LVMAq;vwi`$9QO0N<+NYG&2c}kTg!++l|>Hx1>ADt&+C>We_Wj?S+uZNuCmCf zzkpkg{dwJT?l0ix;Gfs6rN+ZmmJ<F>cI%U3a`=z9;F2Xnew?jW#Qo81OM@(i`R>#? z+sjU~*TE_t{t3+<z2Sc=&3>HFu@2De0h&d@`vz!sV&r?WQ!7>yR?{9ER;omv;4 zY*Xt4Jp2=C4ZV1PS`VzS2Ugf`f?E4GKQ-e-5scZUoEVwNad<XhY`;F_X%5qS*)*Bo zS|p+_Vsz`xagGL0j2s7r2ZC|rXNk6pz>D`Ep)N{)3}MSg=zUTkAvNF5OJ%f*Ef+#H zcbA$cDl6xrj{mJRy??2BHDO~9NX;S%9*~;<D^j!2G-2j#nl@~bF6WR%lAb>vm7-^I zJ}7E2o0y8G5wXvU-ZUDT-X+>_%?&n5A4(bJVLDJA66CC-Ux*Ui03WD~YI0up%>Kw( z-3Z<IKZ$<vu|&TRan+7~p;b(X<!L&AnxUd!unq8pe$~-0#Pa{AM1n-W5MzHv^b4`? zXGFi)l^*?KS9<h|UFp#;*oUf8%8f+7U=PZ#UL^Vj)_1MbNc0N~?y2Y(*w|CiFOa%Y z(J!#1YqfWHj<TM^a|1z(Pqc_nq(4if!2UANgzPUf`*{1y+$axU|7A{l`oNd@Ccez( z=ycfxEa0>FgJ1ZGD_3@JS6AjY6Q>QFw)F~`{A@#hXn(ew3+>Mql83}+>v?^g{nY+G z8}8iOZ4d7M$X&qwYp4g-M~o>4tV;hat5TA$itp6EG+H;!rqNeN*fiQ94_{BCudhBp zquuq=12lSoM*o|ZUwegB{)>8r?fivaVQq*bwf44VLX_vCF7tp5*_Nbu@m$=O;%EK9 zrua=q*%be#JbXRHZ*Dz6@dqgWfF<giutbSxU6Mw{fp}jU?VM`UXvGmWjh-$KUr(bG zmLH(e12lSoM!#_y6+ixcY4o(KY#P1yP@6{Yl!vdU(ce6FfJP6{=m8r2hG^85j~Axo z<NIz!au&Pr8Q82O9giuVBouBS$OWA$-huX?YS@Ku3L$D&4UupL1W<mQ2Yc`54a&@* zw6Ya%_6I)}yO%FfcbN^<b*m%2!IEO)*x2`5>G~x&^N67i2caROhx2P!{SJlY>{Le8 zn<I9&Ws6Fn%F!#czJ^^6P9_+0<Ed_bK<?V^b=@O%o!tDzjFC1}-At<PU&St-sO3+I zTH0^6(hvPrUk+PS5&UcNyC3>HZ!iolwyJ|IG*79^ZQMFbDv8Csa~CD!$LT=BhbC(& z$f%|4GWL0ldA+H~ga31Bt8wdC>fqE|Id#Mc9fIka2*Ez8ZINmtd7yD#F<<I&{&S<m zP40q3{NcR_Qr6<j68)V&NcFcsMY=1Hy}5fyDPFHbYUi45#?lr}P!+W9%9FM|W|f2X z=lz&W^7XIhm(yB)8uc&KC%pZUzBOjPN1?|$E7{Pox*_}S3Tfz6RaV8<m-r;dsn@nC zQdJNSrbKOnOxI6!WxFm-^!n9-2`s0_*V8_IZvi8)$)rR*jVp<$CzaU9DII1+x098F zUj;HGq)Hi}Lh`Huf=#)yV43_OE_mr0^5u%N7&{(2i~u)QY!*yg*P5ydb*}Ro-Q+WT z;;~uA{3G>9E{XrrnJ6eN5O0OU=ch<H&brG)AESp+AbY4IRUIp5xBXU*zx{*A(f-I- zbD#=WKLZ%uq_{u0-TE{vkzrQOkerdRDnqGV5jn*09Q?w1j!ewD>13*m40o$bXFku< z-&&oG#{;9911j&G7air6L-D`9#9o=h^j;l`pCu2;L-8`3*r#A8=N52L84c)AA-x|K zAK?vh{-m2f<2SvPqr&s**bKj;2Q{tP`ZlhG>ZL-0n9DYf+N5c%(3?1+ncSl)!OM4L zhknSTge_;|rj|zuTF$o3r94W=ayD%);86mWvt@G@kM@SmI3DfonqnU9&6;C*ltATd z)o@&+Lc)}@QIp4`1Sw~mrWcPAqCB>0J)g<ktR{k0GFM#i^^07HJ(7171xSSx8eu@i z4SSAb2*&(R`B==@yW{upl|F=MCG3#idh?nEKnfQB1`ir8Ql7%RdeeI2V*C63jDl(- zE-Vj7R#JCUY4Y=3O)H6wIRD@OFMqw~?2aP7upjq<i>p?hS^mOLDoZ~%n)GLMq<_Zp z%+FY!`i$kN&sd)NjOD4%Sf2Wf<*CnDp8AaCsn1xR`i$kN&sd)NjOD4%SUx-_5WL1+ z05!Gz`aanORU2&*)ji7&vvb9FY}^kK+)9|8T!m!Yr{P;k+<!hGh5Kjz_J1AsHqy_I zdXM_|MS69F1)&F|e|V9N^hJVHLHaKgcK1PgI5&m#i~f25=`gJQ&UDt5^5#X(;+99t zVXK}e)u~SNtxx@blI60wWmazdRsbRw`ONpzMW9Q+&F4@e(71lxW2KdTXf*msP0v3% znLif@wWlP5dBY`TvRl^0Tl09X3_erXR%5!(ftysbu5+5Zz|0RD%`@akQ><kQD{UHE zZRgIg=Nh`Y8VD=-OA(!#pY97YMefOwMrmv0RsIuP>K-to`FH(gVOv$QOxAdP>8j^4 z&*dvu3@aGyd@P$NTk%ux=;~U4MA~#1c|GQf@rC!Wx<)P~WS5S)Mcu**8dl1+QNoSS ztFk9&fD&qQR>*^_rYsLEqC4nUauIF))4sE^C>3wZ-oH&<rJB4OaXXo6<!(fEjjFov zAQg+!j)IuHMwO^tsQ~42dNd;pB>@p7rlbm9DFMe5z>EOpD&nMyKiMINNU1{IZl4*9 zlA3!8Oa2yH(K`W2a7bc-6NFN(CDd1%szB@#Adx!hh+HA6E*r3KAGGfhB=<&%J(dbp zE+H%Bt_O+sNQ_5S4V|&?KcyxjMyjicBrv)i3|-=bQw5PT>5znC=Wx1;Laqj{BXO!I z<N~G1FD1X6nSDe0M_@>4j0_U<yL*^&E>@6hQ)PVW-c)s^s=iHC?w9yXrzUPwRhKKM zIGO6c3QmWoZc`<AJGZG4dy*)X>Xsx4SxH#%^t%ps(jk34!fJAI^`X8>wVEKL1T!Z) zowe^%m8(>ZYCZv>&eb&w^nIrkTF<Kva`~lPoIoJ*8M7(=6*&oHx$l*#`XYtyH>#%J zri#Z}Sr6eSwd7XzHwYFt2#KtsPj#H2QqsatiV!zcC+c(Ka<PK=<2ZF<W>l>Y|0)%x zg`bq8wy)?!eQsPXR*)06Z8}k(8<&d}B&yb5bfP{tE*C4vt>_DNqCPuLBue~tjHX7N zsLzkf1q*Tq`gJ-{pCOk^7IyVBn!ckG^*M66Xkk}>qsgli^;z<YY7%perjvA{K2Kgz zOX2{d=}?`h&y-h8kN1;zJE#@<^jU4QMJ|-fh(x_E(XVpvk-QelYou(_DTAEW;Tk0O z-U;X+^}14D6*JcAYL$98qvUYJ&H1Vci7S|hlchM?W`AT@8dLl6B%7(-*jtzyakH+I zhZIvYR1iU1Gx+fL`!cn!4I<cnAc&w`F#Vr)^@0k5o4R@dw!~#`>Oz|rgcYeEzH&M9 zv%>9!gLB0zWw>Yo21xF9-qihY>iSnOBv(mu#jCz1njpr2WhI%$B@?x~q`cfrqwb2X z{Xo)%&r8_hTGlJM+?9B{a=|N^<>m$6CBm+1GcH%bN@2NlVNv>}3(`vUi!eW~VyI1v zwF|Qwv0rBQ&f@OOu0y4CV|I`0#7t)Qd!3lc?0%*b3l#g5TV#aU-J}yUncY;Kn91xe z(21GMu1qIpGP{vFF_YO1)`^+SZm(v_nanP(6Em6Ji#jor*{#rtNoMyqd5^WoZK_IG zRBAI<XwGkhnM5!}S}*xvLL@Zbiz~VnlQ%oRga=CGzdV`$cjOS+)xHpv*igTnKujr< zsH*15_(xl{At-rWXqMFkSQaNU7XJg#G|2ap5UDW!eW2-WbLS%+d;gY1Pfw7(nH%DV zd`v!m=X|1nKmC+nZUt>pBj`mg9Z#0fM$xk6bewT*^K!`4+`9rP(P6dSAlDr3)tBKu z!i&nUhPr|Pt`6%y(kOd~uJK`2wq0kRqe1WJY8L`Z*hf8&B0Qg28EZlA-5xO4QGrM2 zx}IG2z(@?K0dcpOb#W^Fv7=}g;H)IDOj;$dQv9Ta(!p}N->!R?t-8NekL8Pc)zzhx zqsAPmF<N%KZg*FOdb>-%eaIUg#=6)FidpyldA3TC4{iO0ltA>nE?;qr?tGK3@)3%8 z9u=eSmiNqd{X`yx+$+dp-L6~7)~(FpP2X!2FrT6;H|ScXsm8bJ0gR`qngw8F4YnN5 zWRJNH9iYls@$#duKD>FW$Nc0%W63aMMa*Mvzq&;XEgo~XKYGfR(Sw}k8%_cmFI{)_ z`m0HIc3l0!$E=ag4zq2?Yer?8*|u)8-}u`)f9vLxu3mpGQFRJCMvMJt%fJO?uYxxs zQ7u#UAYWTFED!$RQ`}-WuX#PeYhtZp1F9(<cYghPUc@?4<1KZaU(aoYt)e#b=03lE z32%-)_d3f@A2qQ44-8`wHYH=JYm!psQucRkZ1O}(8oE@I>dr?jsiF}2gPoMPxTbMu zSLg?rA~_|EK6WwCg;eG-OKM89uAj(ck{<bkubAWJ(W*35<1>d(0-$<ly3Xf4U*1*! zd}gjZOYc14QF)?$txU|%8Z&FlUzf|xj(nEq8~Ad^_wD6au8<Hddq5HnAtBj+`Vyu+ z#<xJa^lgv1%Twi<Ty<d}(ht~dfkjFxgKa)W;_*igC2<Cc#?moo1tLfDl{&nU;f+_X zmoMarjB27LvFJu}jHT_)HqX^7??DxHwq3n?0tN-Hg6-I`!SJ`;wc|@N)>2U*GIGnX zniCWKZ(i?>Uf*S|@fhc|bE9mqZDKUkOvSyMTS6xUg4=7xj~#Pk{i`)+jdj)4ub(h> z_`~(jRE!<<kNWn65(+8^0OT`=dd-exT5`P2UG=%eEhsql{t3O1F*0KFs|)?Xw{X<= zx4xTINqlmywX~jv+T{{KvdO6Z*~21Ztz{%~J9W0y9)BF8c&hu{pY0Fs0F4TVT%j$& zR0XrxG^^3K*?rKa&5%2XrYd7?V(<2#6oW}u$P?)o88^4mY^7ASLXO;qE7t8mM3{?M zuLDSzc5k>jJL-Le*}cQu;is40!snx|BTLuJ8XgGlnCRT=nSF*MR9hJwv)J5`fX#f5 zFDPHg8~K*Ebh{D#86=h(K-9x-QI-d*`$A8<s}Dq(JG(MC$ZvKuTFhA2ZK|)4eo@!h z(lzz#Qti}psWW&AI+|N%7N+WBSovP(E`M;nCz8KFA_-k9)`y_CnT)gEW+XBR{1Ncs zY46R0!yLDG%VDYS6AV4#kgMc6VPDL_+>polWo2+(WpwxgPsDYbKR8%=RcWsG2Rk5= z1^#I69b|QAAzgY~x^m{D-qNSN#<@@X%;!9X?VjjmUEC6X!?|Ab6MsXid=~_j>(;hz z&Z;q{w>qL1vo4&U$2{P6yB8#Ic{#R@wmf4X_L6n}(iiGKrexzgdz>BK(oc-0DQZL= zSb?M}ubF=vTOb~;+HE>RLDo06WJ#)rJ)ou&Bxxb9jedJ*%_AhKan-QIY{iV?<yP`& z*-0}Y*YEd&T$A*XaX-7?A6qT67bB~hoe}o3f^S8}Eo|<ZIixbyuIMX>&87GFNba)c zr$R?bTyzD8_cgBar?qIGPqW5~U`9o#G*1d1$4AC3qq>8rBoOQxAIV<^7d=Gk0Wz|= zE3}y8Ezc(C$=b~Yp;DexY(18DErXI(`N+6Dia#pFx!Nm1k65X4tR<=vo^(yQ`>*L> zJ)#_H`kSiB9*5r~)PMvq%(1RkmB}mCF}ubw`>%0`uCa(3AFykLpZLv?n=oX_O7m5v zlEz)}shZD?y7pi5U>j==s=h~It!9A)S}f>Z`O@92(jqMhUF_4s*I;9y-GZRwPSrwy zE|2W7kqcBK0^M&*8DG%QGhjkw_%dH}XK1M1lzhXeH1&+)y8%#MwEsrm;C_YxpP?uK z+P<dc;R=frn0wrCGjl*?<c!K-EaIBW+&SECc$nN1{1Zq=8h<J=f4n9_-zDynf6|XC z`axFfFMP%TcUY8seW$iW67{FiU+^vXyW03x988|{a#_Ta@O*E?`)iTE1)#Pa#XUgw z76TDs>$2_!B9d9Nb*Vtem~|l#%)f{A;5z~H6_43EAu{<62e-8=ws8xhK<-(>2`}@R z0k~+_tivjU!|!hHtbYoU9+^SX@GZVaV%~<_IbNol%Q_9LNf|omb}8PgW^r?;P{^?Q zhHmwwxK9o18&cu=v;~gQtyD`|tX+)EtaBpyG-f+vSUIpFFU>v6Ntp6E+=#$lY#D-y zqkc0Zl`T4NB+n;%?wd)p1scjP0^*Ba>{O=ZKy*O8Ki`?;595s`xm22eR(Ae8kC{(b zTbz}pE9*BY!TvGUG7)@!f6O2$0^J6pw}|Wm|C?L-@vK9=r7zz+s}Y+?@Z}81%nvGK zN-p#VTfyyc59`*b^J_fjD36F@=K~c{Y(F58%2WXbSEc;Dq*+zgOWPC7+`0UVtHn=C zNNTB^aR_&THoK(PdL?8_7^~AO=QW6<g3N}>$hD5h%?_(#huWH!8OBC>Wn`3FQb&`j zJs73~__`{asFLMEEq2`Qbo=f1A_Ptwa<~3H{C<A@QC3bDQ^o?q^+bX{o?5|iUX8IA zyXfAPMxk5-+g87c_`))&S!G0msf_fA$*zaGc*CPVeWU~mZGK%PRyiVBcrP^PkjE1l z%13Xm;}KCr=z;tC{E_3uy8)c>$!e+ZOc6AJCA{G#IzKu$>g5Dw<mhvwxn~C0y1K2k zvNV29bj&bGd+%R7wQ+9sAh;{o99yS9n-w}v(*maZb*U%J(}vo&X}(R2Z6Y&#Tx zVbz`6z|&?>&L+oI>V@QhxyibSmq@n9?9Eq^ZIVaNq+d1WL`OS)=F*ikBD4B^A-ftZ zt0mUuJLQqFo-Vv8U#JWKC>$~3HjVDl{CXq9V4(Fyq#s_!yFc0t)&<kg)L>W<e6LQ! zw-0<<^_wE6TZ=xI3VjY*`dnrMk041Fd0%8G-WvX3P9ztHjW+RvF#8E<HT@FtR6fMa zUX}-juR99Q@C&n%?-x0<cs+rCc~xH`GE#qcByaRTgsHiafiW<KK;@bvKQ*ur0#26> zz4`U{n^bOXhLvvld+~Z7p?%GDF_+xK;PAv;x7)b`RU$lbReWpx>yhmE1N+F!(IFSr z-|O&vyT)%^w>c>|*K&Q4-fZ&2v!?i?y{;yg<k?PNhjC|4jd9J^NRd%^jXMtkv3XRX z%%_#LV$+S5{q%-=5drb{aacb(!wI0pRfSekV*QD?6$O%h-&mEdExnG&GS~MX&$h;S z0G}w}Te^YwTn+f}Bska&{F#9FmQ$L3I4rLQA9}yK()?CBHM_*Q4Brq(<AyHmB(au_ zq9uVyoSUL&jigBH2hyLF4(1yJc!SY$>BH+wvq)SmrX67oko+G{6GKc)A_6oWOF8l` zA+PnDGoA2*N3tAd%xdRKbV^A80@#Q$b4Sa3dw%0!%E$yomKUzEFw%ru${wZRSXWXW z$C&6P?#b31DQ~_7nJBjEXGP7y$7gcIxsxYbkJcjLrGS!tl)`6bIzyCem=Ng6U^NLa zwz7aLj~YOYV|!?j;xE>(ew5|VDfOTFS&8Km9@VJSt1k02-?AoTRxKd8@5wrG-}F=H zi#2rLbn#5G_D)5egCx_suX^_Z=|WAZQK{tTb#f(Wr&rO%P6va)O=v0U6N7}q);kK7 z=o6^16Gcr~b&PO`-RxEV$PMp_PS_4b_Zm81d~vPf^#N2n+vP{oSu&8BzWV)ta)x`I zoZ%)!?rRCRk;<rdfJ3>B&@l(yscHQ;a2q)%nty7*+!`>MWb9a5{Z7HYC2PZv1hulk ztwN6fAc<&MGX%+hkKU^g9x#zm{H+#lGk$!1EH%%*X*{Q$m4DV>xU#ae-Dtvo=HQ^Z zPmtVcH2u+j73ZAYY|q&z<9*_tvzwi{pW1M7(b=7i(-lR<M`yPybiF)_lg{p5p&EG> zFP+`JLl?`lxasWf6FOI(#ZPB<PH4P5i=)o&zM)g)Sv+-i_X`~_&*G}HyMO2ic@|%t z-MOJb@+{6ey9b1N%k%IY>jE5Zguk3V4%&~F-CPGxIRm?#vV)8uaRvP?x6T<Z45>x# zCWphQeX$@*cCLyu?>E~;V+%Ofcq8SmSh<TOkju;4LpNaWEAHGfXo1hX(Dk^iCmwUX z05B=tjHg12*K7+!FNx*&A{8!A>H1l(U~*D=ccSK?*Kn0~+_cSO;wwNK=Hwg~71Xb2 z>I{iNL^|X(U-p`LluY&qUUzmhx1T@gap9ZUb*9mDPJuXLILuHRsvyvyx1TGS-E7au zUH@ugq(OAa4zj%@R#elYdH_oZM6Pk?pnb~~pySOkBI%3!ui{?;a~rE5REJlF=7F<= zC>u6+18Uc81A_n&rZ%#4!%v1M^$pbSRFTTYc9-Hzr$|+$pVn_obdWGJ#ht$5kG!mi zBDZ;>H)K@?S9_wD93lQz-omZ^=(tvI;TGXvr(G><FyHN`RAsQ;>-@x9h<|3j+nYV6 z)n|V0jf7fr?V7!%MfDHa<3dK4tCs2JB7P!8o`}Qw3DPvBX+SCv!^a6jX@e4S(W!im zmuPt%eXv^88lW)b=MvK-r_UaSeGi9I85upard%ngSgr1QPS59&&n}C}X)1&6OR%?m zMh{w6bX*&)MC+V|?J~#<XwB}hCwo}5f{yj}nC+E8pM%wn1qlD=R&^O`q}~zfi=JE% zJzp$Spm<&5W~a(jFJDOwgxSKkmc=9SJ&+nzZ~kya>a&t&7qCC;tpKeZCpsNo92egz zQKYr~8c6HiQ*6>&OX7-SnI%@<$+Bvz<`7gKl60XI^*ymJUwb1CjwcTnDW^q*7Hn_k z-asVhoTv+*@w_eh+D_Gy)3A4><ZaqOX)#zuCgosc7p<psZT*{`Cl&cUQAi%0GgRsi zwtLLaDx<DeyCT-GmK?k)bw#hFD#Cxs)3{1%3cc<tTy1`uz((P2!G{PBcU8+$ue#_D z3LK-}+0k*^t(F=Q9K`2G5s25khTK0Ox7XZ6Thbw;c`#(EP~Fg_u5@hL2?|mgXmaeE z5@UZmGRd`NSb|=p-wk_p$?cRh*F`4f>d`a!x9!0%mzyVbHhb`2$l#@>gKha&jo+?F zIG?Hr+VFr!2LIN627mYEJq~`OweouzvqTU6I&ym&_Nsd@o0@5bSz?d7c@T(zpgpRu z>W}9M8P}Gud}o2EPq<vr77rm+t9g=HBK{pJ(fr^^X+&4%Df~QMt^nmYt4VoXm873Q zMc`OVZkTe9!go4>bM+<t(Pi3Q3-gq<^(vKHZpX}!-7r?0Zz<xq^)hm##44(iTQ6<m zm?ps3O1S{jAN`Zuez_n$Z{x}w>sD!@bW8mv78|)vGJ|m>_`z}1!!z_O{eJAO(~stP zrQELus}lc=!nW*zCg!)H5cScHnWH>U<~j1@Hb~y|_Z}Y!9Pes=%4q)XFqkJZys~k1 zj;D0h%nz2!m63(*V!c=>j7_r{>r*&zI--VvD6x=%B#j|!o#YUv5y?(W`2@?j;ZnH5 z+sBK*ZLJ-nm_q-nVG7UTFP=sr)GsGKY;1WbWT!|gLDAVPz+y1?p0t%BEk?gl3TCTs zkV8S$2OVBzgOt$+xlg268boeiupuvAk^xzhf;^T9X-PpAWkSL!$ec{b>=fjhOvthn z<bq7d;uNGrLBtau3_M6W4*7oM@8~u51)aY*7(+zkR|w(H@imhUgA3Ta#JGWQh?v~{ zj?VwN{Qb%G$lp8g*T!di6aI{!usL%IV*gfu;oeFvGi~ZPBq4$$k820~auE*qCLQpV z=l0$#allue+k2G*zVh7Os~qr^=k{LZfUi8a_bLZ`<+;6AIp8bL?Y%i69PpLr_TIiB z9PpLr_TGM>V|f&DaIbQ}SN^Pfl>@%=+}^7k@bTP61V=?miQsb!5y6v^cPThk0(p@j zSD{%f10sT-$Ud+_w^DKxsyTZk{OTK&zt;+$lk&IU`D|t3YIXVK@1++aeyf;x8o|D- z9J-i9Fv2&l3c<eK@~9Au*v+FtFj6;<3c(27JSqeubMvSWjL6NSLNF3Hj|#yE+&n4- zBX9Gl5RACZqe3v!HjfIy2-}ftd-g8MoV|j0b;ayg9AzRuGq{Z7T*(>y+-yCAq4nep z-bas&Iave?K=>4NPr21wxty*e!M_ntDdp6uTqn7Fdz!dEio+upY5TY1zq8R_x>xkb z)I9DsiL>dC)+7HPpTy}Cxc%7l2|NR{kea~Lc+gmuwO1zawX=Gjz~AKjReJir`}}1E zda`5aASd$1K0&({emi6B7?$GPGczH1Dacisken3c>`aIw1u4peqy;D$nh8<&s_7MP zPgO?W)TL?~@=hj1-KeG^Yce4VQ$6@=CS*nma(gC3&RN<k>yI-bwJAuoKn7#A4a<G= zwj3HQJNC+Z<(6v|@yvRH>v9k?A~%h6S$U(-5XzXj*2~8#%|We^5jH!<JQ$smg|Vt} zr}Ks(ERs{C5v1_OaTa>P8jjhJxQs+LOq}BWMR6%NuE6Slk`hPmu0|Z0cB<1++-2=N zO4Z)>TPleTcnk=na+N!;-J$H5l5G0(jKTuz&G*<o(6>0DNbs~qH#|P#Di~ktI@)Nu z<RIFPmQA?=I%`}Fr&^t3Z5XNQ??~jO7bCQ$^xCa|a9EE5_LiQY&mUTU(w$LqQAy*r zKGsjc2sLh!4$mViBGru~HI9YpPnMBJ%eD#ZdSIyPa?&$Hh!mAhiAir?DDqXCoDN0U zl#{2CtTHhh8uK2OUZ<;~s=#6jpnEp2pD_}3RgPc=#E+r4Q{7vSo!+%j_B>1u*!WRz zOJBP=Zhcr_t9>sZ{dpS4x#{JN8YkbEUOsc2!i8))%q~G4Qn1)c*<(?aCnQOc+IFa3 z98WJ2sic8)G5^~#;{fTRh@YBB)i$J_)Sq6E0g=4`dxE~IAoc<!n*!a%t1$i5Z1Y6$ zi-V4R|M`z?@hV_`oG@}O_y*T~ZQo?WCSl)1zOwC`pBYUL(-plgvFnj0T%}Go{y%ao z?z||5V<lV#%ulRQ1-5nbT|p{V#OBwM*bUo@(uNsg*aXX!BD9KBRT(|k-rxMD@%!(+ zE;0FKFFKP_5WzL2I3{(Yl-05colqj*IS**?S}^@R9aMRwoPcZGgA8^7PZNp4iZ-cy z2N4v!H{yzkIiKq+<F3l+ge<=jbiZ*q;W@StvSh*s%y;A{=-E-1GjS4h4UFaAV#+gJ zv(AZ5mhiVqauvJ2@};pxAD$G<I*jJa!83xHaz-%1=O^+1em^apJ<mRue1`y6_a!a- zg8Y<y=o_R5rDv?w%;p^s?=8-%EPS!D^rh4pTqUa~nGKUAsc67#cui<>JSH?b9ut}z zj|okV$Al)wV?vYTF`>!vn9$^SOlWdECNw!76Pg^42~93Bp%wO(T66&xY%(yb@9mqM z)#BSA;_r1KW;HwD-DWlR<TSiuNBke@7b@0pa$YAUb-;YvU-+>);an@9TWwW6mBGrt zOvkRj@yi5uc}!rJ#{_nHOkkJC1a^5$V3)@Pc6m%-m&XKlc}!rJ#{_nHOkh{$bz+}N zZN1?NW?g)!&C!1bezn%DT*Ty_+?gb4<R8js5RC7+em_&%_G3%KJA3H=BfP8i^FMAr zAJaR5($9IaxwLYV2D|sLiS_^ge4f<j-+4a&^k92Fw}Rhp^ZBny<WKLV=kuuP|DVn0 z{{;Swa`KzWi2d&$t`wK$M<`up!{46b{K{c^KlYELHQwxi_tm3|P+<G{6u2KK&&?Em zTzu*R(Gd^-l~T8ozCwHZkFJxNe;`%HTFP<C(_&Hd!M$jgTLx+UvT+NR?vJt>cXx%Z ztntu}BlIC2P?Ba%qEooF-JE3|E0y3Rbt1Lnj&U%rX)1^8`cRLxXac(##!{bbI3jZ` zry0FpHx~dc)Zde#Lx~rM95lCT0n<g>5hpg=iz5z2nQS=zq@6h*&K$%0suq@;a=?lo zKa{g5N&o1CQmGWi72CVI;%hlbl!DWagxyK&J&G@`mQz|c<~cVgh3ZwG_(`#gof-w2 zoB}NelwOqG45dzrswXO*%5)c*Pzy_6GooM6c07j@Odz{ShQyfCHa;ad$z<7Vu)e3- zJR@1RbDQixSo6-IDxU*yO7<?ir5lat<W1CgHGdL*&S`plLWTDq>2$>F8M}zKS@8-w z;f+ppdZT~a@bhq&+Aw18Fkb#1Xpfflzkpd%b%>fJ3AMAyq>PpKGHuP`iCn`Z*Gc4x z&-qFv{8?t<5t8r#ErC{%Aw(i3_w+1l@?gz1nj@k>n_is6;<I@a<GUD^t&<ZOHZx5O zbMt00yd{rE&K5i+^Yu^UYg74d`G|Z=d&u|hAiKd|s(hb(O1}B2d~{G2g;WP0PUP3^ z|8P(D_O%a+6-neHBo_UA=}q!&lSkc8b9?-wx77GWGe}iG*)A52NFSO)Ur=l|kD|Vs zR{R36YHJe+_9DW@zx5f_m}}zqf3AP85of|!yPy@>NM+eXEwZ0L1^-|QNbaHH)Q9UW zV@u@v*_Q%(4bPW&|JRcR{2<tGuGOOwhwvhizzd8*ue;p({Xm60yipNV3dAA22;l?> zUVGf}plbO-pDBx+DRU2QptlFOoKCsv=z1<o)gvN4l_l$GGnyWx3(2!-6^VM*rmDh* zB)f{k>{?z>ih$|}K0j-WrajEGEl;ZbOwP$Mi^S0!O=7ZJl`OK}%u9}gH1RPnP{oVH zWvHnZ#4vt6j+JMqar9izopwF!o%c}BBtFBICANL8M?8F6mp8%#*k(<xnd!Lb{6OZ> z-V`0nr%4+UlB6J`$m*Y{YP_n7^o(KgdA7n|;%=bUlF)2;eOnWzD@fL;e#&t|mf3EN zd;zN*P7b6^45$-??ft<MM;|9b!$0NTM2vic4^kY!Hu4<~q}?I=Ya5k$Pdr=1mvMGU zc71lcBa2rD{*;)g>QCZ1A5hF8OxrqaVz#U|Go%k}Ox`5jkCuI)+dY?dtw%dtjxB3# z`r*7(wAU-=VmXQqS;&ue16?bAo*PK|T#~BDGW<O4{7GPkYo7K@7Wl?0o?pBWC;Tbw zce>a_HVSjyUSr8IMj>C#GkeeFM)RNHIT+_0K#M<O-Wn@bd+>VU{FyWUpwsZi?S5D* zugi8wS&H=wee7#`FZ3agXBl&Fi=>8_tWJ12H!iz|)roLrpE6i!BJ`IUc7}|34ze|V zl;dI5YjFYyV(TP{vHK?B{1+W@E<e`cV!e!(IUe|p!}=LkUU4>lb+AgC_*uKdy4g-! zt<#Q@GFOvEnIq--FQj|;l*W>=mh-SImU_YYD|zY@PRdRDgr|HT)TMvIBCGs)ml|Sa z#E3N9&oIO~xk|=CFoI>XcO7BOJr322LzoZIma&8*Rrz=Nou72QlUhHm$fa2cJY7yC z2xhPv|9q^?U3%E!=jJQ^qWp{1*`eFxyU9WCkLLSXM;4@dUvX%n_lM}-|Ga;C@2~1M z0f{`ZYD(Iw|Jn6f*uj(I2$eLq%os#ZvW@wok2kJ%#gC;&DrMd>N%_bX*B;pholA_r zevRbV(IMx=jC<Nzts|S-LVcq?*B2|DhR?Fz@Mfbx;J(L{-h-Dzxp8m1a?0^W3asr7 z*$$t$9xr3JjtmRP5XsX`&LYX&iepRT2icA7b;i;!;>$BI{Uiz?m|g{5(lKq%G`d*) zQT#%1m-;plUE-i_-^N(+m38NrLUb#0uo6eqR~;a_X9mVr(m|mDZ)Bvk>4t2XyAzG3 zE7{G{{P5EcvK`h|hD*L&2D1D{y6ZK!B?fc>!k2Z#lq|=VJ8fLpWEFAvn2@H+O^tpg zJysiE@q2i+99?@fE8hwnmaH3S(7NIW*$j2?Y;NuOv}t{4TXg)gaZY3I5DD=U^f_kl zqVyGqIUHrW;3qs*Mh=clZgbh;Gn;NC2`3Njbl677#70-E6H+yrZl)4({@bCke>E8` z&jneI_y?fS?x;w&PNTV1j7)q@7?fDpn`Y~G5q*p$4lc$T)zo4%6|+|#X?PtX@yFWb z1T$xf<(O7c!!8lGALGBnsK7`5y>M^qU`9rjE!fHf=1uOBcI1~94}RF!eP4#0J&yP$ z_fUY}Ii09XjaGjdc?7*seA+6F726m^eQtD8hXhEOGnvse?mW?G`l~V_P-CycYfr{s z+YdgxZ7vC=2<<lABj8w@m^@3fZq72Ztd9=Pc9dE(=LnAj;uuW$OimrsO%B#b|7a^_ z=H4PlJFSkZ6TNH3p{}cjqgKZJiS*A`tOPo;Q;@+}zfa{XA?KF2Eq6sW5l|2XtzW*& z(=2(~-p*6KJhe;O4@6K*Ou7PV(4%UO%G~k?Pw<GXY~CBfZend}-zvD8BMcGOEu;5> z;KrR!W6r}st<HbImm?=wCx@6q*ZrA^i&@QRY68Ynw$bdOnMi+i^2cj#MM*JV>FtPb zMV_;|-liMx@nm<y^8_4uyO(9@{U1_W0kuIj(j#x=WTE7F;==1`=sH-Y?z}#P0`#og z>%rJw5xwcuY%|ww1wNKtB<1%Sk-(m-{0qgQJ`f$VTBd}V+ZO3BB%37~#CS7Ml<SGQ za`D^DV+W@6lUaVR>2_C|ubVG;nJIZ5eCAdo#Ei0T`%|`Z&G!%u0J&w<cr)}Zm-!kc zb7b#m^UPOG%NudKz2;Y5bcnphx1IGI%H(jx!kD)WZX?wC&hi=R*XDcoFx>cAY2$yA zO%kwKpuFvlc7(<dt8BK680WhhM`(oS$*x)UYn3B3l=Pdf!#nIrzPV#rS63dKAEvnQ zp%mV-kFoB$9$dco$83k*yF7wJ4&Ktu#=K2D!1?D?!udxWs`T484HkfgJwKsRW8M%A zuNU}BEL|`g>q#;ojLhkkwic94@@KAOCDsjVTn>G}w|Kpf{U%NJ;_zs_b|GZH4SmD@ z=#gP~OB+q)1pBlOI#Us<aB?VkAgmo^B#U?Qy{)knx7zEn9m;3>5A@NPR{;PwYokd5 zxZ-1NG(QHyt&L1g=7P*0SwF1Vk1#v=BCYQZX?<r{!@Ca0Mu+nS>*~Mj<mD68x7p-; zP4#yEU+JTD_xbeJlj<%0yH@xQN&JGp<J<nI2;h49B%DbiQChw;k^|u=GMH22_`n+d zU>2WYd7W-a+L?KG+$RnF7M&W5NM|KEGSZlLFFQ>QtC;}h)=SeBbeIzHV2URI;&aR! z?sCL`i`Z<v*a|7#C7Ok%=!m1N@Y*VJo=10htl{w>LhY6vuO5E~qRM3M5JQtxHWRz7 zD;6iw<;(sa>j7<A0dOb+P3s3kqQWA}t<%XSDSQ^^n;KIiVdB=&f~kX3J&+anAWA1F zn3-rujejH!6#O`a0%P7CR1iOdvi4FSE0*OfOW`n5pce98Fh8sBud+1L4t)l1+6lrM zPA_xJ#sG6ZqpA#6ImS&l<~$_3y11X=<c!|k=;~k&fR82F#**#H8Fjd{+m0e<V@>+} z{b?dn6n7P`x8^^S{3aBM6sgh98w9n*Pf0OPHIx-2zkjqNu@<)jj8CIlS^L*=cr4z< zc`zlHSe;KwooZ70gG|cZ$hF1mr9rDeH)pZWE_{P6;>jCa@l_N}>)zAkw|YO2?a-*d zkEIBx;*rut>sROT85T&HXj#dxS39hWW3Dv&%eX9~`C(A67L$2rD(QQbT83a+E}}2= zqc&NHSXN{$g55PWe^KAxUY=xKDt>CBv0_I6K3V)x4ZIOQf>yP(IzO&7pV^Y<kNTVe ziG(_zcKqgQ)M5XQ4P1Bbay7Mt-ZqwsI=Eyz(|6Y6tZJs$owwy_`%AJ!_WNFz%{#ga zNYS!0eDI<l4N>y;Y4ZG0KgEx}K)R>jS~)u9GjAq8DzZLU$u~GizO$�oZf^=jQU_ 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%0A7=Q{fOPwk+}T8^=*Ym1Lp(aMmUpRU8e?NRSberd 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�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%0DC3t+XmUBg+BnY4!Agiwe#<A@yXME2w<D8O9NO2 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°#GB^KD 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 WhKiO+L>5l+aKMu?F*BY%&dd3U3<6+ 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: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�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%0Ai04%7r*R#nFP*jU{B^Tsd;zL-we43 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�mQsdj)uIUYDioT>E_!BOONKau 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⋙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%0DZydhFn=&<QZY;zNA#6>Dd3L}ffMM$ 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%0DikdH*{wgjd(nJmw#KV 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�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%0Dx5rc5tCyH&Cj?h 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≤_SV{CTAA6WqigHmJB>{ai#k=S_Od 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 <``=rv)-Klw&Pw+HC> zoIg(nqpK$C{{JE!b<6_l&$-oKxPo5HUOn8Xl)^RiVtV=D<=qVSi+YAJSP#~9PCeLK zw9m*B`<Cc%SkDP(IX~XVSOWCYvyw-b`D^LEUC;6hi@VqF*0&E28}}`#-6y<v?HR@4 zUQPwOtJ=-KUpBv2`6*QLb%pZaSzyQKNtThj54%f$qO+Pxt)DH=-p@M6j=gPUYR;QK zZ*|$Tx3q|N;l3O@j$dv?vEX<2o!E0CKXUJYBKlent19S?Y*{m^q9k=Ng=7FC&b=yf z7~+p$be5-BgqH*TP5i}L7UrN5=cBSXHyL)8L<X5`kt_JAaB@eQ$Qg{E=~ZrP(SZw# z(^pb+Y2*|q>&Yf-q?Vs5x5W4IC6Jn(N~u29qN0wjijK|RK*!sjK%ZxL+{9>1u&2j| zehN>;eLBJwqhnhF9a}sNv2;h8obOjGEJ>Zf?x~SPP7cNopdZMjX8N0qdOG>c2Z$!& zADRsreZVNF?C4VGy<4jlZ-+n*NkHm4c3%4bfhpS{8$)!SA0=<tu_J?zWv&Gkm0E4R z$u7wRjL8^%@>}oz*0{equqa-Ws$ZQk^lR7>e!B!-emA(k%iZ6F?(bdhui;O~*J8r( zH-^<Tb~9a=D&+MW(V3Q~I5ILAA7ELF_FdC3pb24n2cnJ6$eY%p@%~F1tVbun$|l18 zOLY`(VJJ(!qSlOW!*!iSffn47wA~>F#7)c(e&JR#_@6j~|CBQ3*pOPvrmx(sB&c30 zKX_S1UD1+ls&?bY+Um!dal><J!)hWR1{8j;)l7v3Ge#*h+!RhFjMWXu&H_CfA&h2q z5KQ31S824_&JkeACex1Tu<1CAS#DGt7nY?o2`Iv?RvFuv`L)`MP0sRV@99OGBG-5U z4eUnb<c{%zsHrz{sr$SYf{ZGxCAeikpH;p1r3vb$Y>YLUaE|3|QQd6zlk8Zlf4&<q zo|<KYu@LuC?+<<@B@f+>WvCHgaXIA7YsCgkfbpVQaRLTN27dK~1f`l#;vUm{7SQJ$ z0HC`V7nNktPtWwvbc63G$OM~#GAqt3Z=4vku3qf`a$%`U5|IU(K5;AM8J3*2Xk*74 zo<8dc{=Lt0jqz&`CG9K@pJy*aP^W)Zu=umkVK~7)Hxr1ygOL7<QY-pCof!PQ>_)$b zbQH<J7g(!QAk!@y{8<h^?fCFxgLOMX)+rxi>VoX^v&fcqP6`u|M_$~K^0tSBmNS7Y zlk9Z;;3@kvM1!Im<!Y(M+RsHHKwK#hYc(sy95E&fZloZ2a8ZZ=tgM4Uj<2R_W=+`u z&t2yCVF!@}M?p<EY)-^d*f25sAfYl&!Y|uYz?>o23?^pTgP$+ZPZ|TA=-PU_?j?+U z;c-IoQ#Ul$t)Bkv#@K4UyZD}V1Rq=Tk-hb~CViOnfo_)RuR7V4YZ}j4m@L01F8!O1 zH@%~w`F&p1i!VQ<_n;m^X9%DN0tkDOo$|s};QJKT=My0)r%FJ$usr3Za~a>QbA{9S z4XE4w26;RV#$MuL6x)fls27U%2Le(G<lnTt3j2@pYu`1C=*bGe=UzUTFUuks`h0Ba zSZl8>qN|9`>OK0cZ*P`z_uM&{AL!tOF2IoK$|YVxMr=5e9_x4^%4t3-%txYpZ@0Bd za=NV@l5OqhZfne-cZo6>F7k8OG+OJ7(i*xv4j_+SRgA#;G7NXim%g)0=hvgCHJu;o zR2S%Y%iGZB?H*&8hzlVA&QSKH^6NDe(TZRqQW=c@#n7DiAF7C%h_zT-jXv<0jMN2z z*b+g5`)G8GF4VbQs3&q+CBx15LfJ07L>#v@d$i54Fvn-IHBLb&<J*_Ig0cTH?Z)mk z?ONBA`DuLCJT*=q&r}}|;+uu-0HB1{AAfrn06dG~hXKHl-L|gTYiMuc+VG&hv#GLE zGn6Qw;#Q>oxD(Tst>`ePBCa0oek2AUX5LQ=o5}haeN9h6<;pq+VP$bQT6ZtB<adV^ z|9;CEMHPK<8~0=zUqqZ>2qCBm#!lrn%QadEh#e|*g!IZ>uQ!9aoi?QgMg>2?&uv>W z*_lo|+O?G%6SV?(AcNETP;6Kzb}3r$sor+9jmF2DmP!F>c+#V8Xgy?nAN@>A%!v_7 z;x~nublsDc%A+~Y_?}VBcbq)VbUtoM$(X9riPpf7gPUl>^#ch+EuP4gGOD`uw<vKh z&iKl%&7Me*;hi<nV1RAi$hC>j!XvX5RvBOUZ<t{C^$|Z8ziv(=3_E#72Qtos(38z@ zYcYCaS0O!^CRC=6DU<R2!eq*m4#Q9HmLHXvF2|3qhoU(ADDQ_De$)>?+GTv?!;e<N zkCyh{mDnP}&_j5KU?Ar$ehgT^mB#qXJ!JOpHKj%Eql(j=y44c-uE`Ub#7~WrHF62r zxMB%o$!_0gO=&T?+fOe^-%f#2xFuB@8D<JZhVV1SEq7$T9J2g+!<X*c@rL-)jxJB1 z&ORH=4hmEHRBQ#$PW4$AJ|Nc7k@Bo5Es>YsQKb`Orx&M=hSZwwHw5GR(+?IdM8IK5 zPsAIC&RANpvY^pg6-%mx3^s<*Wwzd}G$|&H$s&B|J0kP-AX7t(2SGm$#kMC$zHhiQ z8(_nlo~T;fJjnx|WXpE=R3X>@Js)cLH~pzMyNmu*y0={5O}n4}X6^&1N5G%%<M5}I z;!i6Lf6BlnvAn_g!?Jx}B86hcH*~UC(;cv;vkL~6AN=Zf%;04NT57dEE`}5qY79Y9 zj}yeR30mUWzO$yZmo~ymk%MET>pB7dj+}e&0unpDA~oA^vornQ5eK3|+(_Ko4-P~- z6Bi5Dl$P0v>)G~LnM)3E;!+_BiSs$$YA-b%EWfPF&?A?z!~pU-R<6TXM)ub}!GxmD ze&H6av;sB|!#o~99es_%31TtZYUF4d20P|Grbni2x^=#~)n%%B*SJ}l=|4G?xRPhZ zmYRcxoA!?BHG7?UEO=t}LsTgCc#-<*ut!nt%l6u+&`!NmG*aTI&{E&fxu{Sxbukj; zhW0A~!1e4N4v5@Yy5;IlR$_VTB(mV={YDL~Cw(Y5tZr$J4MANr)0HRgrB)&BcJ^b; z1UF{f7ksRNOEl>o(N?1n7JZgxO;Q$7l?1oUwXnE6|LIl89xP+e>Iv4pX0^^yp7{P4 z&Ik_m8Q=4FYwu-E$!6o<e-WoP!C$G1XipnQuCkmR9E`5=bn{<G1owcS33ITd@67lI zMo3{OE3SpQ?06VO3h{I8xO$THLzsCn^<#k2B3lpRIM!n@BjelqCL~$g>74R=jQT!p zLM(h)4pk<fdR_#A*)WDp&zi*XBu2l)fuxj*jfp0n9DUlk^D7B%x+ceOo7;A~_aAAl z0k5i*G;?|*Fi8dzSE1M$E0N3F@*Y{`jVwp{jO|j+d*oHD!%*CKkNiVGgK@k^Ruy`W ztb&~5JrZr}8i73Q-zs?A>TW(DMmzFIRg!LTZw$&5fdSUqF)o?1G(CFDC)&;K$-KT| zsAls1MQl>IR$XakFZoM?+Lor=qOGiee~te4@vB()_l@xD)+_%Leogsp0e;=~=l>7! z%cw-~iJbBMbsos2lT#kKWacd-b&+e*hC<|et~+wA*e!A$S4hwQkMXM?6y$%6UsbpL zukb7Qa5wxqk)ZHv--Kb6uo9Aw5N*aVgdAG>UAslD?oeSV5;6%_N$k@zB&`lX3_z(G zwh4!}@e9?FsTXOE9>t`w{;JGb<pK_5;QlzdOlx4nG4F-jY7!UNkw!GSGFxXs9bpIv zJ<Iq$yqPlGi}jg(#kk^~858kcEJ`k8IyD=NVeyVvR;r4wvgLFSp8bKt9D^waQob;) zfrzLk%8xSL7ul!#h859At?IE8tP$mNhGsU4#L&G}0CHN9@r{cc!f*PIzXj8{9X}7^ z_IwxvJ)B%*1~o*Dk10^`1RKjQ8*yRctPCC^#Vr)bi{<Qsr~FRAMjxi|OmAidd0I|l z3tJO@(+qEAHxceRauxPTYzISlbCYu-Q2XwQ;4^v#pu+n?nK;C->5pR;v8KClrOSJh zH{(0GT>~)vH~y;<<+txz*Pq<F`m8B3^<2=cimzCCY<>&qkK3KGyH;_zTZMN`QE9BX zZ1<gc(A1Q*f5u9!S;!Day4N4e^4eo{9(P|Ru@>nW!yuCbHnxxTbMG|7A3`=5`QyvP zzw4P7VnJ3JG9>yvo^r6aiSOyt9GrC~J&UvMq^lCj<ncN6k&q$VT&_|zHPNk<ruvQS zR;jSXnBece;L!yI52RpvV*IQ!;mtns&5C}e-*JlNRztsU?NTq1BL)kd>7~mb)TGbc zZ3kB;ol&cUA4R_Ds2x-n?UetSzs)f#wYflHfPXH$j=1!JWz_ExQ+Hnu{X^dxLe~=g zlKg};0ZaA<6oJJC%BpS!>=L+GQBWQBV_@@EJ7zo)Ei@&|=a?!tFTos#p;B=6W%5Mi z>L&~G&vWvh_9G2%^O9cK{AU&B&-Hh^xm#-N@)ExNO_>4e_Nh)SN71U&?OeMD>dIaB z4o`IbZ{y|ZOc=!TO6(Yw7!Oar70s$)ygWRWzZMp;82a&XcrkM83w%Ftc7VGiPhV+j zt<;F1f4Tli9i8a6S_LsGrSMV;6Z1GfPRBIBz~bC6r`)hh_kd?1`^g$`Ju)@pjj2g^ z12r)Imxt2Xtbf&Wk5LOFZlY;q1ZSD{jvnufU^HoTq8C5L=VxHCm{X>u(Esw@j(^qS zOH7BFa$*8T*mHcB<;OR`8Q;L%_$)I%48l}@#`n{iyB#0?n_QG(4&34RCSLBs9?ASA z-_vl09^?#Qjp#?B-y(jN_zD})d|cr<J8*8s*MeSviN@6TB6+(688HP~xoBtReEHjp zZUK&8I#yroVxDB|rk!k<GF<mwp!_0M?wsAyptj31*E%TKH#?SPfJPHu@8Ekb|D8_$ zGp}><BguBge)AskU*qKep@HJ&oL4U2MY;UO-}QOg936dr_x^o3%JgrR+ds)~46F~y zmG7Q^tCRnhp5yu8;_P@F|9@L?^Bn?ho!8QYVZLFE$t(w^Bx9->+OA<HhVCT9l)S}{ zS+qHvHd9h+rsREOFWD(6JYn^K-yx7g;C<#)2Y%WK&3Mkp^{@MQ_H)MbTeJCZ&OcFq z$R6?^<mCU*&2J8F!p#qwvg7Yw|E7_qKiT^C%l2nkE`J_gxIC^gXycHNy@7ESUh7RY zLpK?gW9a>afY-zPEZLVDcL%R0rtbk>-TdiZGfAFw2SYeAgC4qEI8s0_WI8_`|0%QZ zIhqL%cb(AA{~_mqZvIC1<bO8nH^cEiYi><+cXweF>617Paw)$OS1vVbXNcR5U+ut8 zaQ?*q(faVN{&~CC&l$9*I}KBRU+U-b17;|Wf7{8NP_thDwz4ej_(OMSR!H{Q@y8eF zyZAHbc<WnlGEA+{7Ou_Nw`6<|IcejRHV{u(V@$;eqw-?W%%GdeR7n2n3!T3jdT%W{ zwPJW_c;DeA;eGPHJs0r?y0ag2+a0w(#7|x(v~~<>1|3ZU-PXfy{Es?5y)wRHr^l7* zvD}wd&|@bJ7ol�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�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%0A81`_jCu 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Í*7std)NC9%4vzG~xxp!dX+WPyY-9I?K>lr? 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༦Uzz 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�*->m7IDq3XcS*a^#m>9DW{`D1zn-wB{(2{ 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%0AE@f3FWyPk5*2-#<1~?nE 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 >NH>-8q7S5zkNs}|sajg@ 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%0Ai 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 c!zxP zPWLRMD&`_+V}GO=y|~BOixXmd>u$U76ETDHXWnBNC2DYKFt$HXyUvb-I#j_l0@Cn3 zCwT?l@_X7&|6r1{?!9KAz$!uOL+IckuLXA+W%uo))QCwmf|h`3ez4>EBD5^vKCL`_ zN%N7r(!5Z;dtWl#@L+duG`RoS`3ojzR^6|}3#{P90ZalfvcZrd@OUOx?F_V*3#{*! zlhaL$s(nJ05va^|BEOzTQ~OGBoA6%9uh#;J3Z+nhdoQ*tON#X_zo93jE@EmIFm>9+ zT%Ik<6~myDq+40csIJyu+?VcMqrhqAopxa=GUejf(7^<b;=VYWQ)%XrI|X_!GtUr= zWQ0(aY?uh&cW$uu7vWe6HIRG*h@_M43m6==rG`)Ct!Z*=;J03VM(?4<2*J7fRYOc3 z+D)kRMW(3{XXt7V11GZDubY&|%)ryoGNsFZXWDJm?`L*(HB%j~W8Dv+r?zV=sW~%{ zy(yrby6x0z{f|GU$po67&)?q&X&MPxDs@_5hE$sUmuU&Y05j|_LU+afTwRFJd7a0A zL)ngF;HKbYGYa&j<0x2b$2*S#cc`iR@LYW#1|A*8h1crE!nA9$NW>8>uNCs*-rQ*5 z9yJ2Ss@(21o<SnjGvgmAbs`lQ+yeWI6x4EJJJ3;GkP=0dqWL<kq+@#pjr$rzw%&5i z5z1#&nXX4vmgm%*Y|@bcuD9@w+${S@Bmps7ceqP25sV}zaFVnsQo1iIpY8NQL`1Ts zXC=KIE#GgUFEQgI>U<0$bY20+`;`TO7+%>6h9ZfE&;VBA&brtx1ktW=;U4_4ALrTV zdX;n8vGzAW4`N4Q$1Ia6eSBaqnpA{c@CW0p@$A_yuwQGFmneCE18QqZG8S=8Am zBp?K)2a}G=6%x3H*Hx}Pw2ig+2O;MJ|0-9c5Zg`I!AAyxC`z!(u6@k?l-#B<k$}Sg zGHv?Egq@G0rJKWeYWI+kmozzqKUqjLDjNobSc@20Y}&saP+9G_3(pNgfW994iS!b} zPrHqxy=ks54OKnk-WyA`=Sat*LFSGAYks9+<PAGfMjWB%_4)<MWKRG%?0#Cf&$7tN z(3~%)-DH&baU!{z&vJ`Umgh3z+{D=9u|$T8N(}Vo<lHhd-?eGdHd4Y=0dA&9i6Km2 zpZwmzt@X26C%Q8=u|kQAq@QbEbS3GhbpE1?W|NWb-_zJb*o(n=l!ul>3;T5Il^N4J zBkVJReu*#M(U4_QD<#&D@cLCVOY4GdRG3lwOP(@nys_NEgO_T}q}oU&OQo#YWQ2r< z2jfy{pHH#qB`Wg)t4@1&^(EtCMPx|FnL~)TPWVGwBziMwM8Xb$W*+Hfz|&up?p2=J zfDPpAKiP@mzrR<VgCF;w<GBGp?rEFSpQ9xIr}^UF+_9Fg5kf80<Nk;>36{`S{ddhC zZYXvl_2WreMR{ogxWmmS&qCE&Fhoy@qi1vhQKWGDb;xaejU<jfvy0p!m-{9X&)F_? zOyM1wNAvaR%%ef}F&?cI26>bFex9`oX!w&7(A~VfyFHfyvY`FhK#}U-l)Aw$WpaHt z{dS`N*5n<j2RLpaxH9$r$`IaTn#?HtX8R~aGegI=zVr)9Wer4eTl+xti?a?;X4_ex z9*$l%mfcilJLl$V#c4Q+v4{{~=Ce{wZjl~@ALCD>lueBPz(8F_3_$P8Kxxy&!mOe- zV$m=lG1Jwe5>h^)DKuD1Ot$JjWi#`rISb?cV!aReyF{Mn8o0<Ffh0V`baBWM^WX^` zJ-2jfYa7r0Xev{ZEEUSaJUE75{R8w%B;kR6%7ISo6@H~HkZvramPP}154khy+WJf0 zM6R^(r{lUZS(-GL`H^P%!Gl+-3_5R_%DSRz@EamnBVaSfuPgP?v@3ladUgx?SL9Dw zj<u*URIs-81WD1d%mJ-rB$4%ckj+42NyZXhVRzU)bULDa?Nz~A6<kaeKDe5~NIV#H zcbF)z%gmQ7&|ZsE#eboo$@ieimpvaMKy~3BM@PwFMxqd8J-qjYZ~z}5`-~5e^o*Ha z$h!;FLJ6PDJZ6Br01zfH))@ZUMU+afzI6uYmszhRtl?3j5u5ox4OtQ@d1i+REBRo$ zCe7exDr?W3Z?wyBvFQ_kov(q|j(}t=9pzrf96|)<?fa2%iQ>PkxGU#z-GNILpZpNV z)dYXP@G<YxtoBcNeA13(%|YO>`R;3iqLS!o`~#D#;vtsf8D^-(vz6cL6$MY$T&`xQ zXE~G>`7*s&FV%%c(L@G98|VC1-5%b!UQk?rdTwW@S6|LzCji&}PnYbpQrY|(Ykryh zmWlA;vsNrQu)R&*{==Jz78^`_H0v&x9PWY%uQV8>nXoQovK^B1&M}Czx2~pt@@q*h zbgW617y@Ru+&l9T9a@LP)m<FOvpa14?bmo90?Ajo4r=vG6+gH_{gScI3F8|z*0_tQ z4J+0ErVWwA(ce#2b5%co9!#T~rbG#e51-6MfT?yl5gZO67T8xSnnT_Dqz7-wK416Z zQAoIGLtDPN_8s>hdWhe#Nd&^)r_zHMVox8QV<7%D3!=mx5Ht68Ja{?T@NVV-AL3P# zoUm^Xu1E~Wj%?JNaOnnX{w2y9SdU^mY&~EXn0FU?@8<3=sQoUkX))KAy2_3hCFl6f z8$<IZ8e~o}dA;WKA#Ix15uchGzisck?*WJ7!3wV9RTIio*iZqwSVhILI)n__fhx+o zNY3VIM+cJrpRn;sdM{}&tVhk!nQDHn3`R>n0UHg~f+j3;BbhO+WeYhfgRhElx3iq| z96WPF9Tm$b`qHK^dy~O*?raF;mv8hB_@?<w9^l%*@&n2ydEd%&E6+*KVYD2$>#{(m z1KP>6PzwE7Sw>$9XLMUn=!lY62K}RSxqiHHG5TmFda}pSJ4b@6sNm5lNDA()*9-`8 zlu%W;Sr-_%bJSQ>xPHpYZgTSnkJf7`8Fn^@V>>?;rE8<QoaX*T&G$_EIZ42xqPj@! zAdL>Cy2MWpBwgmGhnU55bwzXa7`@>V`PgnbnAWZsE>p<yvV^><hcE=qNd`^qo~e;g z%+$zjEQ~E0p+s*{A~{hOjgL}#yev|$Lj7?S7O9hhkNRcDnzFrWFQRNOsH}O;ET11~ zs6I>tgV|h?KQ7D2N4{81Ek~=CUi@cus-=={dQ`WkW>l4LoOQjzmuyak=Dn^MtK7+} zEZq@ucJTZS{xv0Yy+mceylqP6he*wP-Qr)>wL1d*3pFMC;YlKQ=Bem8+rYjEU);|N z`$*|aGYJ<0FYw^Xwh(IA?nn|N68%q(I@{0(=SE83pNWB@my4SdMeZ47peqYzDOg0c zd!osI<~OROdix!qjK|G?k?>CUWmRsih>C4)78Csd-nmJg@_jlb%{p3zb58R%rNXOv z6z3Ei)u$KtS*{Cm7I!^Y7k~O`)6Tr`*0*G(vx&-CayM#hn|*qt_p{ym(Jd>$ws}8z zUwEU^X(GO{8%LUYFF&sU<~!P|Y;ZOpf;jZsnTt};is{BtJ0*Tx<d&HA?f$%3u+kAU zuwZ6U=!wq&60-jItY-rO1xL6qGCO1ceWYBat1a%IDI;s8^^wGxrFQwo_C7M7Z_|Vi zCp9V$D%9t>2{lBgeA{Js7b$!*>U>6D+!SmLH|-u6E_^}X*x9~T5-HrT!-svLrrrH` z&&K;XMzeYQ{owi#*Mk_+pL$=O=e6x{4ltW-@6|<c2bQn1OLWhMTf1dKU=#k}(aw&p z;C_u=>5Pt4Iuphag=4I{i^Vc3IYez992AMu*CJy#4o+{*=g$uqyocfw-O~xjo<tS% z(|ux$49oZ|vK|(}?d#|-$RZI3i<_H*n}p1I_kc(Y=gHKK#h1^E;U{|Z$SLUA=jh&s zBj43m!;!TY9T{`MjUvo?Dud5VeePZAE*4Ddp~gq5_6t#C1tqc=EA~HvmiQ5>&nF9n zWCr8#R)eljo#)`hBS+bJ)0J(R*JGDt<5;L3lT+XyATbZsV|^$AKD{95hh6np3q8i6 z=*}a<$s5rfy32UgaYyJlDfSs;{2QqZ8IK6X>6FMO<77cdeD6b{-4z*qlw}Qm1Y|TQ zzvkNTx<|vKvk^R6H0&iBG9Mg@hR<>=1TsXi|7lxSG~5Rb^R4=aJ_jLluI*jcbAXs3 z(h=b>k`mcOx<C*T-)j?IT@lI0Nn6vy5h;teKH`*1ohfM$3HF92Hw9%)ab2*FPnzov zo;a3KD4Mt~*caNo)fH{ppiQ^huXKrnd%s~$iK00jDlayb_cfItf9T4;<yTG&$Dg)# zRe39wcem>Q_n?k(zhP?Dy~zVufqmg-KSrVK-ngG<M*drd6kT<PA%j(a*Fl(gglUy< zVx<28-t@TihaJ#5!4RaMA;^h`Cdla&5(@nx$QxY|WIF`uVb%Y#9SygXD!q~WA-71{ zDRG2-@F0b<De*_1p+u|D=+_k`OrO-w?8p%Arx_7<g8)bjGbf#-wM&2gTz|@;8$DPB zVo#Q^%xdYX&5h93jWAriRvtt4_EsJtVgG@H!0c8&CKrT>AH89S-Bl|Mp=*2jt#nT^ z3l@pTJ5}<FH1E<*RbMOsG*wOZn(I%CZZAY!`-UQGD>3h_0(Q4y=OabIWy#W4Zt^0| zG;DTw&l>c+LVeyA4*bKMn-=g+30ogM)j3yZcripT!llnxbvK~ImQvX`oiq1qSg^1U z2(99S@zh_4R}(9C17`_bq;|G>Cnk2`M|E5L2)2#k@^!Tv+yN9Yv2oud5l)OEC~Xtb zVt9x;?}tlQ12@tw;5-9>x(#!V!BxnCQHgv!N;Kvsak4V%fXROkIQy^jOo?1)BVksW zUL!utp2BUE>`uwgl3(Xo@-r&7>Sj=aoCSDP#M|3C>hsHE7q$9RBI}r_FnbEuO_9sJ z1;R(C_;MOdu^b%-#YwX_wKz`bFI#;~-0|VhO=(Z*C}NRp&@cb=dZCxp>wEm9UN3Hc zeP7n=CGD@xwueWnR0>bb3$8PIr#A-gFj(E$O|-i-6((W<*p)eLv6fpo51P{}EJG9B zF;6A0XN%eXh|z#o=m3Sdk3&=)bHLuT8<I5^?$c?~1;%jUB=TWs<Pqv5IuzRHiJEvG zZ`w)doW?>HRV?*8=rg8hTQY~~$G~`z!;whhJ4{)Z1gz!d&H=g;vyL0Djp{i38{Su3 z&RxRgxf=r^hv}<@@IEc-zRJRN%6gH>T0mBiJ%5UP>MyvH9^gJs9s>ewQcb(TW>4XP zu(L7jZ0&g8j4h_z5Tpjw9ABlw$Um!2I*l6@V}lb1??}!VjHAIV5$6@sUzxJd$05A6 z1!Y2{a1DoC!eW4J{2t0XAXw;7ZW~5Qx7KW`Pt`o_zOHfRc|xXO#h&I0>DgqC-HbEj zh!t%Hk_-eU>I`ZOdw`<ofPa8mTeR?<s1ScOI^fx`^Uv_SH`Hr79T>v)$)5MR`cT&u zD)h*a{bW0_%zR4~J57riEFbC8;KT?^+%fKMrZ+?P?}AX&X^kXiK>BMT{opif+&Iy= zWkf$f$IO8A*FyTA9LxiQO}1Z<4YJqbjSCyP1rCqxbl=mo%Wy$k*uj6@HuZe{Darvt zoaKH$I91xh>ADU$M<(I?H@b*F6H54VwRi6eM$siNDcP;kMMlYPmHy6LjS0s`SLgs> zx|m7(i@Im&JE?Qcn*_N<6K6!lL6*b=eMkd6NLKIflv%wmEwOr!;0hPVve>UtG~)cp zBP-;Uai?tbERV*{JJ6Hq)XSJEUcOEmPKJ7R+r|c`AEH?;ezV&AX5|Pv%_`!TBGnZZ z2MZ-U(8e)pV;O1Mn3p|H-=PoHTJw!On*@wA5|vYVZOAhg$OCT=n#yRosf?DZGF7_7 zM`E%0MHy~>>w<In_2~LTr69^Zln_xC3ma^8?$a;IV%2OXuun1XL*~Ygsl9i|&|Z*a z#cd#ifvE`$OwGM7hxV61`!KW*h`c3YVbzr?zUb~nIdzR@uxP@m?<c-R@Yer^B~3Cf z8u-X_Z6fDMDfdL`i3VOW&Y3cD(0QJr6Y|DQwD41n7_eoynPb?RfrbZlUV_yCS7$k| z$oKD#1)8~em64O-!hf0`jySvRdAq$~Cv#&`(E&T%|6)9^L<s6o6&(k{qM-vGi~)Bh zW3|J}C|*c16}a+RrIV-<s|aHmt4JOMdS3=*xadgeaGkP-15buiPr5w>h{>5T%y#$_ z_bWVyRxxv7g_<D<z}?*}FhZ*^u>mat@fvJ}yeQDjz+D^RnqT2Q`7+Cz_|?u58C#S= z>zZ#x5<g>)bK2_vxITsdvsm+V{BG6^2*+-1%c*JOvZ;vI8jjz(FGIUf>bc}L4F#_L zHr5<#PivcQXo}uERs6qCYOLs{7Ru`i?Y;TKszNJ?sbC6g$v_QhI7gFUW}bw_HBXB1 zG)bBZLdkqJO9dutn9McbeIqjz_C`h~WJ^>vPU|agxC*DM?1U#mBl?UB-#30k>yYoB z54YChPWjKar`>LZz;ruCfTEi1sKo8~bVXpVdD@Q8!AXnHH=)!E$w#=rtF={@rqMX8 zPxFR*t@au8W$ejZV+HJ`^W3v}zw&5Wq0Xz6w3bj|iRRYx&^7C!O>)0VKeKu}#yy{e zVX@?09cmQ354EJ{tb;@SH21^vNMJR>1bolt{=Bt1rK=GmaB_q>AqE-;_b8W(Q^niY zwD)N3F!hK#Pi;s{fp5<G`8^)rtc7o$t$8%exPx)t4aYH)q~cvNI?raE=aXBrnSw)K zVCkQFc%S)2h%p$%9Yy@=pT22REAA-a*SkK(%U1tmf%(W?BK^V|oAe$zqwlR>!&jUU zWO@mAToK`mazx0f9I*eIyRT1)30ipcnV^3b6Cn9JFu`+BhM@MXPhZ*rbnPmg9qoQ3 z&zv32{=LqQQpG<uzh=FxGZkbK7A+=fdyiR@m{9j&{8}I<e{zDx0TU+|OGY;6peCIU zzb@p%*3}O{rr^sq^Li16I*L`CWI_6l)Vpudhsg{8&Me+B=JanFb9yxu=#{~D)zvzs z@J=l<rykV--tXi6C&cq52CZDiu3_Aog4w{xlEmqr@6^@Qr>u%kxH`3--RA5cVRmuN zCYgBnh8*d}$RsqZUg{8LoVB%};A=3e)tK9xTTTasotCBdd+n|4aeTvsKvp?6Tnp6F z!%^%5C`NqZNbp0NjKhP2NM11GCx_`8dBcTqp~)V3ns{H7g(x3D6p_^#9mo*H%jxG; zxeqg0JJZjA^RuLjslWEBzuEx24{`blF-SRB0)D{sk8uaw$*FI3!5WS%E18$m{V|jN z_~4mC^oM*NcG(|GM>belgr!54c!V{#Eqs<G4!AmG=TbZofh+M{Y9_h5I{{<1E$!!) z3VJ&$Tl1xeIBe&<PUq}W=e$9?UvG!Yg<BP+vpOMGFk^Pton`WgqAg|wyhd?#+Aeig z3l)f{uk-tXIp`yk|5-&?i>JS)JHrcMqb6E)wam)NF$S2Q+p9(h5*Sxq)<XGKx=e?H z?FWm=6DZVX#^px_E1im(LVJO)o|b^b=febqLUn*1$ll+Nzl^Zgk@)z6Ft<5poElAx zz#aGHxZ^%qQOV<h*uHmXT@>4wsu{Dg2(ZasVdtrEQ?kHJ8ytlaleW^i8joF^O&CvJ zd@SKq@#>@3RhQ-&$C)9gacO?Ev}xwKoDq7i<*qJBw&*m^8<A`S@hEdS9;m2vJeMLu z`AZ9;&SuKYczSfAFELjM2Qdm1_XTD}&@6r<<h&P(?bKFG0pe~0v1nq<fhf+#WBYIn zH;)&zhm+=|-lsj$_{iLFY|T-+R<ifOk@y64akwY{(f*+EeMWN<Qs7=pS9H}8+Ud~| zbhRkpSuZh_yIdSv-^YDdvuY0xBxe`6TJRZyP6My~;ME<huaHt<S}yvxE4s;5&g(in zgfA!IIE;z=^#{57Gl?_e?{{4{VS*!MYvI3EbU#V*?&DnJ6BTNEuut-=G{0mQH-Ib2 zkvUxE5{qas_mh#er8=o(jfTDDP&}s|Jn|!WZ*|Y5UB0}KJc5P9RC^mv(ZF$!<0~yX zL3F>XQ6BiKXyxUBVTm(OtjKwJ#<yy|N%tNI$C`2*Tk>+&=j#?)#h#B?O;!xVRUF2z z75LN(5$T5ysA^^&EvMe~>w1*Ak7yOcqGE42fMNhQoZ{dK*k@Lold8&ws|PlWE}i1c zKBM94GYzX{>8oOIu|1XzXMDWpQf84Z;IhF@OewLQ-8ze`sEXfQ7MgqWxfoRbK`axm zEr}#9W|KQA5Oty@QKxDk=jLo{INiJiM<i9wfe?28$iCw@X30Ji3*rXW%`4f4<k+Q~ zB8lO-I1t2jU^>_$Mz`__KaNbi+t41jF<Q9Q#A=k+Y-0jz0yx6x#7`(BcSrq$aZQ8w z7OoEgh9%yvN@suTHnfq}^8BEDN=&1SmVvC$cZHp|%r*Ltlxb;Jrr{<NmPa-k<H8qp zh)`nHP3A3&MoNYDyb@~MmFFuVDxLSjTU+VXab<%y4BXtfGcOZY{Y^&T&0p`PtADXq zaw6qxthy-TS^5JU%iu7h{5`9F54(8jM~1ix5@?7OVmo5oD-xD7+kVAZDF>Ex&$3fK zSy`>+J1U(WSuSmNSk5GfZLFqOM=?=;(%n(u1Al{r=f2SZ?*u<`ayxu=$>YjRmsC1W zrQyG1dgRAx_-mr&+kyYHH2gXPe}noLe8(Qs4$mknJ$PGm_V0zrh!pNHQAPhV4X`O% zzMlBZXOI)BzJNlN&T1_}C!6lYJQ}T0MhCr$gWDo^8_Ei<@8GM|THZ=-=grm@F21Jo zZv~X;br=H&u~G52@~q0r^MF@fl{&G>bmBUs6v4LM@jKDfr*0%MkOe8*MRyGK3dgYE z?rOa*3*Obh(};=2uN-K!YX4$GYmhLODUs6c3<F)aMI*M?_csBdz2Kw%c!*O(#BU!D z1hh8Pe-Ae5JRWMv&6q5)_il$MxGEmkFC51ca6DQdd#L#bM1{a6;Ty3Y;1113tR$@Y zyS;|*O+AC-Lu<jKJVpW_*KNx>Sz4XDBobJc+7&5(5!+<Gv37JDkZNdhkCTE}HKGWN zmTnCvMxtDc4zv^B!P0&!-V8uUN5~~OB*L}U;0-#JKRaz@uZZ23dkx%O<?Ie|@hH4? zceHRHfkZ54Y`TF@+U3dGb*^%bO7uEel2XDa>}-mbZbz+}RV7+Z8Gid!Lf4l)4$s(Y z9aR5rvO{2eLVg;Gy+QqNL<@ITDPs7{PW4M!J}S{yx^e0s=heSHT|a8q1JUxQth)U6 zCZp#3$LG~w+eQ7anfiZ`sXuJm|7&t)buOKl;na*WwAJI(2>uq}Q#+CWmB@fb!>&>Q zjB)<}Oy1%d7u~WLrSwfHbtR5UDxJ-HUhKg3VQ1Vx03PTjU@(!-OygjtjZ!#PSo5y| zDYk7OvmcIn)^;{WWaSp|TD8S<FbPkMgDRNaVA62mg=?#G2;g(K7r-Y%+^V`)$xciY z_hbY>7w8EO&FrA~qL1QgZ)8fmf}ST`Jq)h|Q=Ac%uJ<w21ur}B6c|1QhMN)S_%*lY zFXc7wK1n^RFs=*CWs1O7c>b0(;`yN~BZ21BZrz}+3;EdnvuolBJFR(24uhKR$B1Ce zt7)lUcNFKUAZ8EPs(tSOG8n1CG$13{fp+-^R{fJm7e=v}pX-0j1m(WVG>GL<?u=@G z8xUAJ(x?Yyjx=L@$8BmJ>-z3m*XIK}Z|TV7735+~`AyLzPC#2wn9`gdG^=80Zx-X- zbK<>%lqsT3dHnWCe${00KWgm_R_TvCY1vBzL$gSq4n+4ieCGlwyBDo4traI~2`4<0 zJo174;wtmOgtF<$m{cqqYSVhp$9IzOb#*zH0-*eYV8%}j6TC=3J@E2AkOlrmb&vr+ z!h9GOu$K3<mj5hIuyw~3*dPxl3HC@YH?V)^!KQQEi+TC~8AU+W1mCQt&oH$@FSyw* z{n(l>Zw~lf)v!>_gkVgZRNbUe(d({g;6-lk+qx$e<s-6|$-#Y7x+_D`6^3wT0~ko2 z?zOhryvx>4bnbX}LxzyYn#LNai-6iyWAlTMNxq5m_&r4T`ybo8AL^OLeg{4pk;w1a z&e2>?aZ3+T)tBNl?e~s{EQaHrMGfap*Qf|=3p=$Xa(ho>S;@Xf+#AIMKZ>wHC^nbi z=mBFlR5<*+R$v!yWIb&cZep?epHDO9HKq7vHJr<AC&U^t%<*kNL&MX-wNI{q1Gs`L zjY-}Y3A~bBw^uP3B=68EM-Stfq9)i4hZ0S@N)WaIoWrRo%a_gax?vWW?p0cCB)SzD zY?xCs*i?dzI$7+!c4C$qRCa9vHUPOYCh1P=O6)@1WdPXi4X`wZ16>)RrJro~BWCaP z(-5Q8jzGM?2T|wBOs!F8yVr~;2m5O&pf(2D%w+E)rZ0*g5D7eU&=*2xs0KEvuI|{_ z<!ferg|?mhlqlWawxwlmy_#hR-W*``u`$0KvV@A<B5+<(=GqjO9$-x}cWED8={gRN z+184hVBf-ZJ~@lzYtPx9yl`osWVvh@ik2RqJdSN%k=gYZ8~N5-^b>@!KzPlEuq_(` zT)|Qchkeoq(ElUA<Km3Vjd|b!$nFLtgUA<(V#XeJJU=L^Q?4f>vmcY~iTY6FDHx7V zI$a~<o=F?K1Ul(+fKCb?Z#L9g1eYM@i;{RCN4dT9cz3(#oqoL(zd?)^x0_edK?E^l zDLJ@H9FCx2uC7_Nt4q-Lzi$(=Ada^br#W@n?`JQ{Y5!`S0{_0%&*qXLYeII3qj6YM z{FmGAqR;yV?Zh|F{_fY&4R@Q(n@EBg$Uo(1P8Iim7@c@*ZNDtljAsuq{<1N^<B}!N z=q}xYdy7>@@k|4QZJwPt>HoG?1Miz9swnYIhbP8-oS#S7MdXB5vhM|h=Fp{~%YIaN zS!jH!__KRVbwk)Qcc?L^!~VHnB>uHX{KquJT=QA^cMgd0-*+z7sQFa8@)k9NtEFMi zxDsdmVrKW8g%Kwh49C{8MVC6;c3w(7UQEg1}qfBw>IXVw_+NI&R{lY;oSz0;CZ zZN3!csngD#h3fm13YyUt`*u#v8DqGwlW#j*%uIZ9%zs@Vs$L5^wzJc_>`UhqubjIm z=khgV7(|B5>(e&SjLiKD^_2jg4wVhCJP+8p7+G}yHZ2Y8mBrb>ZW6G}>RabQo!~u4 zc96UM=1%ZVOvAgQ1H3a2h8O#Gx7uP_@q-Q-^T?RSd9+u@;<`?CthiMKXh%={*#-TI zyyEWMPQ~Y#;?$hHH@nHs(k%LkIep6gVzaog+xb2g5=R;%#e)qPfB$Fli{PjEr51Xn zf_^FHIj__wx0ufJI^|j~)2lHLLrqr(^fr^Jy@86KG$AxTG%hsuGBXktJSTpGxwG*S zdjV_yt4LrIwTF`ttpRPeGz&Irr9@59_}LNX9Xs$&I5B*n1V=$MeoKk5q`R$^Iyu&P z>w)e#<880e%MYI$=sy!6#F4r2J%km_{-T*@VZDWx?Kn?=J|zE`nsam;ksIEe5^Ux) z5>-#l5ToCwf2`&EI1SaTsn-MClYnS;(|We*kKs`Yp$x~_7+a;D3_CXzMan<3=3kE# zv@f`hi>wR2r(~jd4K#ZkY0iQuh2Q0w=Jrv0c@KYFAVr+lOcP`x)VT>~cunX7euuz+ zU~+c)d|+Ry_=W#wko!$ICV6EB|Jq9zVwBR3vh5@zrJq>yXSZX09Z5Ww4AMa(tCRhy z;t>oKnSyXIhSb+hY~tx)LvNraj}1FlseAd5<Zz2<HI3+`B}u!KFbj2VkT`n(aw+fn z63cI6>NRt8hMrT`daUK63Q%a9qzUp>?WI?YDj-CMNpsMa&Wt?D;<tHk-3RSZFe;wT zDzMeRQ{s<{bF8A<8u^LDZ`-7&<#)Wt4~oeOJ3h+}$FCd{j$c37Qy$j8&1#--7;I-{ z-J_XgsO+_-Yu7ZjW>}>BU)F*_j1%s4%P+YM9BR&D=`rlBUuil0xJC!!H&s0GUb>;a zv9`|>-m5*S;)i~#{+II(fDL2};k`BDyq_u#{tVe3ubs;7ZO#(~LJq%?&UIQPFiL7h z*el2D3d^{0-DD^idk~0hWdEW1?L_|y69Eexo=AE)7zjGOf9^jG4ut7c38y)kJ9vkh zRDz>L%?`!?_fxDU;=i8@plJM|h5Q&Ys8PeC<-4o}V<<Q(5tLapO?`vlo{4S~{c5~+ z?M@Y6?^RQKoZr-4sp5_Qfp54FIdn6X)>foj`&z2_Jg-vO1%%`GtJ^$t2rLMV1Mr%m zw$sXSM!8l0A|o#Byu)3Z?lq@V^~-Ozx6n}eeGX%xvQ^h?a;{D0L0%ob`;^^yqiNt0 zp&x%p!z&!G-_DPanoPRIPftXXnsat-592~Sd7ho{ZeBA&TZgl|z|hAiC<c<KLaFVU zH&{iUd4sH-<_ZwwhTS@=4{f(g*m}ZD#+pkC2HP5ll@W`$p&{pP@g?4C?`|~3#s-OI zcDJ}Q6#o^+yZFPq+x%F|f7PbPhP(As)o`a+H|k8Nh&or>VQ2OjvzQD!6DIQC<fu~( zoLi^!-yD6Y0O(u_DBX{A18II18W{g$I>32gv3dD``XTJxyTp83Axf##WU?D_k*12f zTTCv?!Z2tqNm?)gZ+5*$1HBsB^sX+$nnIwm1VF0z(*<JuRPl%WCeKb4zop;PQ^jxS z_hgUbomW!Di&z*Xk1@}1XsWo5XR9Z%&Sd}7&-e<##SM$<+(*QGqI5;7xceU|g~G|? zD$1$BgETAF4i})6vm{mg&p%}4EX%3s;zIR6?8C@~yl#ExKXmZlF0DJwZ&PK7%eo4O z`m64M3*&iqd}M)Qp{^50{%Um%t0$bMBTGtTE;A5}4cnPfJw)#-G8VdGM<h<fGb)^H zEUQ|7zv%!LfQ>bmvAq0Cjh1`V7IxlHyf>{pFPzq$@vp;!Q|bg9==q4Ov69_7oL~aF zRK*-O>a?Y{av0G%!UI|RypQ=WZv*pKhxlmi4emIfPmDTiZ5apdMH_9$u{EVa1Vy!K zEYpF`5P~a*<9E-|2M4+E*j*w^KEVexop8#51x{m4x!TGJQjH(a4y#9Zu8@aD{V1BY zRz|CfkJgKcQrK8~qbtpXmcQp&4Fl+VWWnZLo-9xi{F|qWcm0Oyu$Ccz@e|(LcT&X_ zzZMTYs%Ot!DB`@CD*k(|@=o%j4d`5FATgn(MH^y9lwWbpuqm;}-lS-^nLQQA^@6H7 zGYXPt+vQbrW}$~ZSMJ#J?7Z5kB4-8O{aa7aEdmxKFl+^`h;>iM#>FAtwViFPpQ2;K zaeo8IpdFkLHl^sOu(Q2&`WgzV6eMHf5f)==&L+Sc3;gj#;bzo?n!@O9kzu+xx}Wj6 zg@{TO=Prh`uZTFTY9M^&FJ%sNE`(><FGxj5bVgLzs@$tO`=yF|vv`x3KMrG|n%+Jj z?Hb^J&0Gv2W~gCBvT^H&MO!D;K!;Xv+>t=U>xANeQJrFR6*P_Ts;>D;r$&IkRX>#J zIr+Z^+h6}e*q(`#A+fcGEi=J8wpIC&kL@)#o6Qe|wdy?A8*f{6a=qarjvsW0@R{Zz z=Os7Jhg9)`m^vPY5WOyBa;X{8A@{T7PM(%5F*)|soG3yZ*MSiCD@UGKiXJHuuNSqG zJym>%sqWR*b-$LJ(Eg|nYZ$Ex2q9+{jNhlDS>Tiz&uJ6P!|;I|Ry>YPAHsG+@;EIg z+Xo!4BBf2Us_e~fgfrJ`UzE`$2X!OL7xj}xA)y3US6UZuBid-7W(x-kt3&hl36@p= zF@IUvhMo1eS_Q~#?!huGzNU(<T`xG&19uyv-Fs{Z1^$CC?wu+XCpxI?c$S-o;r+4^ zEba=wPzJw#48<eCulC9gxIF=GH6y@F<qclO%`$k^cDDzODVTXa?B~S-l@*SxWju=+ zPQZI%%*4&lZ|Nu+g9aLwv&KC8X*+H+KTjV*D-_r>gzpTy^qEnK{B>dDv~pXdblr@_ zcKI_if2$L89}G}()?~}Od2hAyD(rCd#!~4MYx%EbiaVEci2D0U5N~u$PR&=M@&A?> z)XM1eaQrq;^083l+VHyDRA6Md`L+Un_0PRg1>@&L<2Ots^F;MYtWieP!v|V;9d00x ztiv@g+gR`})-Psrnojjk=@yeB%_wFH@EjzzzVUONMe@d4UK1>=n497x`p@K)bFsQ6 z6~$?U0b|w80|^z>Bj+2pjKKMqaT@?c`;oE%SlB)E8<+%&+iZKzvFh~o5qW0815nLi zNpEV_0y&QQN{STe)2yOg-y)bLBI3Taq)tGX8Qzx&k+a<MEga-t#JpUhcon>;aE}8t ziKF!8n5-{Fj~F-EvHj=N_B9TDP5tcXKu6y4%_JwCdr?J0O|Um89qYxfLw~1P6n~cc z&#uiM+?Wj6iCSC$-{H&L@yJ}yfwx3fLF@j<G#-4H-m)sx+DOYgb%IAkJZn_(iY1zL z$JO9#J4CLZ#uR%E4ZjS1(=bHH$bk`OCX?Vyj#qwG;rSpo1f2z(*6-hwP0;!W7=(r@ zV`%%OYWsM<?OwBaJJD=9)Th(crx>r%^m?h;DmY%{zdg)61$H4C#+D+xu#M>?&7d^b zF}xRc?hxxatLN??iRL=KTu+i>721cvdAiEKG<Wb8SUgD-8dC^Brc@~Y>s~56HaLi6 zp_d$J#AC8&7$qF#rGm8`l&8ZA8b(T^KM>3ZIm3E8Bl|)MoDU2uqxp)E)5=fQk`SjU z4G&3CR{Zdcj6aoUek_4){^ze}I_&Qnz#;5>X2;IYsbPnDG0Z-qC_bZa$f@lgzqEJA z8FvD@-=a`Mv|p&XN*292?)+obUmq#AMwAw}*7A#s8tQxxM6530or!k*JUjOIb~={< zcwKOM%}G4A=+UZs8N(BM-a0*@ZE^plM+WI8K5C0LRijcepg_6hHnc8i!~m}g(yw_} zr1DH7)OCk9^6}g$+nD%p)`N?T4_={IVd`1tMWDeXc8s2Zr84@*>c*-Yb`rzpDjQIX zO?Kb05`NXxLOb#EM*YlN?X{Qn$g1E}GCHq%=HxsogY$CJ+u-o{LIY!!F~#M~Qn|}` zH6`|0H`^MvS=ea{VBN)zi7My%Rqo@R?*fph5G+yecr};0y_*9v@m)y<S=S>!wQ7$q z^BT$EvH^jcj~l}U)*{?M-dKjs*$|ZccHWHxqluxL!ljsRHRqc}9PWS9h71ck+b;w# znd!=Y!FOke`&AS?sX%SB`wF_)2;?0i<oB`|Tjfz2-4JHgKAEvSvM&e~%{;-LwvRa4 z<*w#PJ4JXRO1VE^1qQDDmK<vwAr3;th7%Vyc`NQzVBjcWh(jx<t3<Q0>_A^LI?*4q zw@;?m48|bFE?=~_1zix6_?pmTnzgH}>X(_67UIzkr+|T)O|<2ys`?Ft&E^2=89U|% ztodt-RL`otCN%IbP1Q?y6)A0=dn;kS3*<LW_)Ur3I`!;YY}mN+0qjtU^Qz~~{h`~z zE=({l^v3FrMzNX1o0rl&;H6qJsWwu{X;ECQ3d$xCNL?1c#Fq3l{K5=kXz4VyPMM?G z2hm9u*+A8PRa?{p?zz;vl6Q;~uR_V!2J_7REF4=~6h)g-S4OsB#H2Z0BCkw&OkHCR zt}DU0S!+Ms#UZd&+1XZIu?1t|w(C9~WBYnrbyt|gu~waY(8TtQtG!!OC3BMJQ@GW+ z*%QT7q+1QKeaBgKFPSoiLvu)4^?8UIc_~~XWaIN2&Cf5_>!<X6YyR9*Nx-ev1Gk%T zB?lMtr<s@Q=XqmG;=ro!DLBRuaxpZ~nfM^RfrfJhD~;1fHwmXY@1@4~GJ{YLtIjcr zURM1xTDOtK!)Oe{wgP-__x#D0uIJEQ6$Cb#iBTU6of&c($sqa+-ntE%uLZdT<5}X& zBWVXXS3(+}{3q$;&czJ<Kx&sQH<o|aS7bV3mJa0C{W>D`Al%D4<9-yFDjq=ni5*b3 zeUumZC~vanPamNAkuO?890uj9Xqu1mw@fRQKXGCFkDXB-ps%3JA*?~U$UOmaOOENJ zA2M9*-$n2VId^4?-b+sLu@cwJ&~K5kk9QNi`+u~(3wTu3)&HL%2?PXA5JuyDl%R>y z8Wc4V&;$_9z(k{>#flayQngwsB!I0#APF!X$MPy|ZEIWF`nLAfwy9cF>LmySyyLB6 zttD!!a~xFE%0-m<eZK3QnM?rf`~08x&!ahW&e>=0wfA0o?RDS&ve07i&PE56!{siO zrw$*NTP;k%8=ha{&K@N+cmsG1D&U;(Pr9A&NU@^4h0<(EOSsI0Znkozc0CoAv3OGa z%(ZUtJo2ekhZDpbDrTL&-|w`%5Jt35_QINZbI3UNn4pM-BQQRmOrbtBX1bTm)iVYA z$;+mcpQ@ThQuWE2|5B=aOl{#F;w*kXXqCtXA3L(G7Ux<$K4=w@E<hktyV@8ij!G;Q zpO3|jqMx(sJh@Tq+bW?G-aQnSUr3c1T2JCmPT!{%09h4)MFb(&q2}~Wq2RSX8OcZn zZ@G);UHf3ss0fpg8&MHM?;4`Z|F2s~<hLT6@OsmVG?a;eN;kh1s@vX)ZK0KMV-KCQ znLQLXfyEv00-UH3kaVX_f%;x(fF|J~KhlPS+%(`6-c0qeL<GXXfcr>{E3C8l=7`?= z`KX=Jy3%OqMe!&`#Cg1v&$L+^Bf)({)p0L^s)pO`-p|xHlStMM?q|mDE`N-x%;nQT z+;#kxR=WqG-S&bg7E>ghMYZprgizcx8=^nwMR5Zw)%2+Qj5TUHN|dF9ic<I2>cbVm znN9bZPAFY0Y?<$pK{^&6{us)p$LOW_d>GXEP>{z;gEZ(?Dg0R(Rn@HudEbC#wtO~d zHgLmx4+r9sy5`S7f$<RySTGNogVr02VrlS!YCaV(ArJnwSAh(G4;hn}x_X>|yU&le zWYlL-%1!o1xiWeq3apJK^a+-M1BtrJ)T&JWG;YO>(>ooza84}K1PTiqXH&58TBEye z4T~-dpnoJuY}6eABT28DBH1C6;$_j9-J_<D)c?uJq8S>cQa9coHcON~n{C@4I8UTT zGY2|#@iR9bB)k>9(q43telU+lqAP4rMwY~Cw$1r=7MiAE`GD*^L*;$uS9D|kzR=iI z0unmF+%z(S(abtwTrhKWxutOx)8chO@PM@Ysg6kVo)8(_v8BCtx}O{B#3_VaP}_2R zUclrD0cT0MbS0h))sT)FBPVAVIXPY37K2*L^ohi92lS=>ocTu{3N4Yd3Z?K1!cA|v zNjkFIZT^)ew3#AOr(Hz+Wd)YXv6lt$m#*S3#}R+oW$~8_Q*dyNxam#YrkR$O8e@J? zEw;xXLbEf7&@8s*6rp*apb}2%vx5R?I=TZjLk3VFmjtqm(|WDsA1%w&(J!M*2GC9F zU{<(k8_Gd12z)8kn^>}qi+Nf7nL@F|6->E{`W4ks+=iv0l$gjzC<M-QxbbJx2b=n; zTYtqf>8~aP`k`e1=-H!YJW*0-+izX-^O>`2%AbJAeSW+%(N|(U&0SWB)pWJ5By!`s zq`+G3CN3#>xEHOpe0Mr>e_J8+vx<9w==rMcP@Z~M@ILWF5AYJJw(=Lb5ZUm8K?sCM z#AkI2h1V9*TZwLy5;r_SA7_=gH9MS^VTWrFw3>-P7`_q52@V#&ffdd12~;P+kmWdX zqkOEVx{33v+{CzQOgxuINwMAhDWVMNUpn2&zcQcj?qtsAq}NJRs(xBrXYsG-ijw!? zq_;%esp$NbvBU!Sul`R16GMJ}g`2o{s#;4<D2;{iO(!na8u!EMl}o_2dq0P5zGN5+ z;So%W&mu9A)I-kD{VlmcZ-O5}^G@1ZP}*dU-alp3%+Y&8(=)Yy9-JOn`)5>Vii*}x zKL;xoJgh%jMsV#nauU=zwuNz9A8+F5p109qty%|8mc+<8;jDU^BZY8yV`!1BHS|$D zzl6WrYy@x}k2h7}*jkMbS^>R5n|32%y2CW&^_+UBrRt+!4+PK_nLdf8&MK`>+*mex zvIcOLl_ozBD6pSz8u-R-`AfT6Y5KOCoHJd~qRY8utWpng#-M1IhS;|lW_QZe>&JF~ z*hnG)zfkIXU3)U=N~hG9B%M-UFmeVZHd2K%sO16Gw4p`q@gK<KKS?G!^rGc2dM{pc zP16wKJy~Di*e7g8(i$tGNfcLk0HetmZhQ$b`m<PqsPP`-DRJR-eho6he7Mj0i^e}8 zBkx?-eeV5Oh!hmNqifzQW(gizrt@nGnqOc6&Nx&jw!ez(x!HuyCna>&E!ri4wCU?Q zvxMarf0=sbJs@)WVci4zwjMIjCblhohH34b`)3t%xJw@<zweGjZOA1Ro-jZG>Ucdu z;%AwATYOU4hOxdf=3~BQ>DKI+^Q|bc6l=PQ&rXo^othgjIXf|gke!aYzX*(2{K+)> zwI>Ncn>!}@oX2@n=Ojl)N4$GZP5Fnl&JPGz8k??d{w&n^H@dREE~^7y$F~Gh)yFqR z<FD}XJkpV-LUS+)cQ7(yr2UCr(L>7;gXI^R#CShdvjq1uU03E@h$1mf-(|v2U%jFr zaksHbAoCr12gh_LS0RMv-1;4hpB}%uBtDj)PNk?o$FyjjlvjEBuewD2pt{5bL*f?> ziJv`a8EZYhplrhg8>jRpfTa(XOcK&?upCx^$zb1MB%xMK303}ih~VSopiyT><{asM zbJwhBVYMetQxM%I$jCEO?L`h2Yzr!C|LiL-?gAVcCRS^>KUag1Q(v55>WkK#`U3L( zw|vFLUxh=y;(`#uKyfkA+6WXEKjqZ7Mz~kgUwnx-=r4?r>O>~(Nv6!`pQUF2&UpVG z-zCht(k*P{0rR7a=`==Ch4dSVmSq|X_>3}NzX2C|doXSIPiUJ$`br<C1bMB`@^#D3 z5l#JNXM?V{mhr6)Bd@Rd*lA61BR#}v`{*HbG;UVi;iY~=w$E+_L<&H<6%Z2^{IF%` z#KvE=?EF?^pD}$REU8}vN2!+L9R%%qQE1f+Ali)E?Ft(kji*xA{g&aOV!dR~nE~S} znz@`ip{^!X_si^FBBkOagPydVs^5@KjsyNJUOZpeQ1ASPnilq`G}~f&UQpXb)FwJx zCDi7K86Q5-UQ;122lfThnQ(J;X@>JF`H?zhDxkKkL%$sKX1`4|9`0RAIBGCODk74p zu4b?5vNsJrFG$5;lR4F!BNHpdOM;naQ~EUQv@Eg7{50e&VQvddQ|%_?iUD_gE61C7 z19+Tm4UK9uweuvav|YweV*%}%R*jpK^padr-mF(Sw8~<_mJ!eIcNhv9>ds>%Hu6#G zFB5DeBF?J24Jjd7lbdQyEK)}|Q${x0TD;uo!N)YsFM9AN)LKCg9`Z|(onX&D>BNtC z1JS#q{J-e#_{2lyw{UgtzrEZ}$zxQs=!NvKD2?<1p475MRADdhxyelUrA08WYu=3H zrUjPL&i1yB=5wUvf2VA;?-p;5QkFsdta_SRNi%hXDz4dzefs_An)eYhXw>^F<t8PI z{+phG16@1ipM)4yzTpQldG}VhAK>AeRE-yq(XdfrEoFS6ZZ{c3r5+UqSkX+l)Gw!? ztLaW_r4?T93nWP_eGtZ!HPw-_rEX!;+4X`0L9+P%De_zNwKVW8BwaBU);hzN^5|+= zTPzsTz8fC=+qJwv`SM=S&S>09KOxo7HJHL%E`n8y#s6jQbFVs!YrtXi3ajGBoRcWn zZ_e;&@|*p57<I-G0*ad*<<8?ZFGFt2^MLb@RKZ(&h_00f0>b8<YA(*`a&4MBIazdS zwhLnE*1TOzKVDzo?faAo@0uSB-ypRwx3^B4hqsIHw8D69-g{3?Sy5mj0{#(Z+J6;_ zYFVZjO#G^HV_<OLOUm3w<I{>MGp)EJn!#kMQxacc3F_e2Z9wPU%pY@=pb9w|BLsEu zC|db3pqg*Rg|sTvx>A@}2xXS&iI5II)9ULZSvNv`Jxbys!{dm`>TtC6uH2jDE`gWE z6f#Cgx)M47N+>H0>&RXK<1DE%&_1qDP5{C+geVk66XOS9WsMCeaWSFSyxv$(RfJ>| zO-eK#-{sbH&K*q>!CtH}INw;Z{xdt8RNuu0u*ygGc58OcJ&_`$?*1`F+|V<VY8sF4 zn0uIKXK?Uhc6gufYSzpq({ep=iBCIAjw=P+WL?OuS??_A#Z9h>8-Pk<oS0G!jE%*> z_*WOF4f$b?w1PhMi^=!y6dp()sd3a9f*K=^jw2(?3V+BGQ|M_jR!k`dm?NL5FQ6(} zBaWLag21B!z+Z6<H|NzS%R9NwRl%K_HzHgsUyjzmS4<Ihi&13#e#V8-84j(QhSev& z1uANjd;NLPgV1Z*cghN!n?FQ5fa63K3!Ixz&_uE=pq>eoOUa^*qH)u)hv45x?x88= zDU!`Uq88jkw)68*``Pj`yy0^&Jad8ZDXt62%=k1t_oB{N()OGSg=xUf9C8M6($l}^ z_QeF5s;~KM-tUBt*c+~wrXpGNl4=v^)~b0zp`HPo9ywQd2|m_`J`?4+d5k_FX!_=n z`8p1b3e{}PL+-49RWvcAT)C~?Q3usJw{CE5c?@+!y)$-QeZoZ+I$O4U$lM_E6n2(@ zOA8?-pu~Gliw^i)rp`sxxoFM0+4p*n^DJ*Ac@IjNq3{L*7i!j!lp31TbQGk-_jXG! zv<IVd54`J@KbFNK0$86c+GftD_>k1cpQuli)Ym*WXEdrP7&Yqqu*plG@P&nEJNboi zSDKU@exxEU<Z?QYrU(>umVSl($H?8O{18CS;tv&Sh?VHMR5aOtu==R2M^Y_Thdr@` zxLbe2a7ueSmA>u~iyx0C`19FYfUPt%$CIGKFCljV4P(oi6s}iI_j})?ojU8Icc%Sh zbryId`3WiWh6@U4g^|*1ekbT2esX_42j1(2fDl@tF22mX5M%qCW%wGXRv;_Qy01yi zoy0mVj3vuE<Tx}Qe0Y~nz>C8>vh}bc-1sZ(+fmR;3@A9&bV|1~;|9#x-o}AiyR4P; zVZjMd6wIq36L#6(1c-4n3`41gfqsZLMa`Dg+01PS0IHRm$z_Rt8~{|CSDgX0z!lrP z9&oZBH=WiER+YdS0a#=)PajqHa0%7q)sP9_kIQWKLt8HD92>2)xcsS==bqcGQ_C98 zNsP-0G4l1OQcAR1XVA^t=z=q7NtcFn!;;Nh_z$EBOzUm`-GvJ8M!wSCU%@+_kSX@# zQC{fZLigwm%-`FOXy+>ocn4oqnF;UsHgHM^sv1D0@%5C*=NmTruLbvfr}a3>utjRC zv7IOBHn`oaLzk%GN?^-z54Uk6*X3mK{Fu)^ECW8}97kReg@BECSiRAf^Z?iT8cv{o z5;lT9#45XD@z>dm&{_vaoh3*2!`9eq4l?0mlal?9@rLj*flO8IsClKc4~QiuM&_Lv z8`Wpd>Aq(x^2+Qcx6o&9(*1Q7M$4LrTeGQg8YIU}jEL2A&i3Y=$1>U!tEt;I`?d6h z?k|6q`;s+nUm{QH<3&Ub+Q-j0i<R*vmWXbf_xF0J&CA{u+{;Qxkag&FXYmQ>r(-p{ zoTbI4s3s<OMzF}KN?ilEm2{jXu4P?%cByhdY7u9bxJY%W5(V;VQ19Hbt_Vs6IRsle zBXq6HmbkX?_>-~9H=V@=%7&rlcVM}na|)EE-<%Vp$!X>ARlDJ<U=VJ%fw$7fQ<@?< z=IRAl7Nv;soe*N90?z8Y!rketoofLc$bF@|h=k8#EqExO#rh#D#SrXYfB^EKnnKs* z^H<mS`mpI)PV4KF^EfT^S5uAMx`wzZt!*JpOg`;muMY2BAD_`1?uv|Z@F9yW&5Gbk z&nNMlTltY#J~`(Pq)s8MR!uCF(uP_ktnnEspDT#q8sIZeNrK`iyh$B{kz$uEb3>1b z@yUeyv!u0Rr_v%!6m4apa+aK;9UKqg<XPPuRM9}Vp@BXFwW~1}<D6fgfjY?;s8Qq& zf`O8^e|_>?7$~Al#X$8RnB||oObPg>J1ODwPbYQEJ=D8{TfLY)Wbe<!KJknk2hTZ6 zzG^uR5GJC@v7sot&ywl(BxvOZ05cwHNbmZ@H4J3vC6d{@l?32?mvV3f&eEm)5SwH} z$5o@EygOx4QY`32gn?u?AIOf?TWF$zg@NjA43vge4Ae%x!q=JTgW^~rXP{|l<1ZjN z72~9GB>IM8lC?xD2^b0(vYHot2FgFwoYfEQL5>zDp$Q$Mog$PLQRq-z<RZRVvE;Z9 zIycwxBUXrZi8mrD*0{_BHRHC;fuY#Yl|I?|VFy0uUC~kJbUC-IiLAlTl#ByfjnT?y zM~0kL8~v<E#cm}TYB#q&-bC)Eo$w@1sS9s1s9t~0Vu*IkCGXIBCNn+nr>Ifz*1&<* zYX%i$sGCm!MK(et&Snw|y{QdaFw3d*=06C;n)O*Iotu+-0PHqGey87)KP(whLCOn> z^LlRfp>i4<)w|ZY1?@Bs=AG@vKOnnqsIj;`6pQZ)s09FujWQN05?|B&0lm^GBE{g5 zTk{X6WiwooLaR|9MnfCwYu=yzV{e@}C*q<1;`b$8riB#1;r)-XS-JZx)ZQ&TuQU6C zrzG@s4;wonHlm*NpXC8NaT{GjboSGXYGo#mm^m@WPDn|@Ufo3@pPgt{amH$yT@m_q zg`Jozl!cwBg`IF(oAuPE2XGYoY~T;qY6DjkLDQ`6jeFiV*tqBSW)9+e(o-Kq?6WmJ z%M{?=JHlBggwz5;FkcOz5ChP@Muso%FiA7q9p@dyLaejxw8zf>Fk7aWW=ys-%B#is z*G6mpK6iX{%|DA3V>C7ze@$4Q_YvHACOiOmg@>kf$T30Ym;TsHfR=PECTMCN6Eroi zl1zA<HfvaOR7TYWjWO|DN0=bkEs6)_iL5%vcJ^1z9^tfhyv^LRB<;NvK2wpdGvN<r z(eNF-+e=Bo(A=rf7l-Oq>s#cW<Ghy`wocy#1LI(;`CwolY%Oo5u>NVYSgI>y+{`tY zW2#GVN6#y$=L8LJL>)OUJt^<weQTzc7JU~hADVScP_WRk7Rx`Syu7a{ZUn(CLcn+) zv&E@UZp-7iT*`TgR`+YQblN7o31>BpKSGWY@BH_WKBkpN+7C`guzyC({yEI-pGN~l zF!WS+TstZ2z!2513?0fQFqDps=H8IVCdqq>Z_EWF@UiH&oN5ZG=QNe8qJnBF7{$lI z=+Jih_PRfF%=~upj>`8W0PCxtR~-cTi>o{G^EzZ-=69&%^EzZDyGJr_xS3_~<KhC^ zKEzn$mAt{2Cc~Fcx)uHOYZu93)i(B2>G)+Z$m5qame&CA=~-{&Gc3_r`qwa$Th8<u z$>pk$xaqOC7Nig2`G%g)BRtop{($CX!^9FwQ@r@1@8RvlVO##eT?BA+Tmgb##X<(0 z!}%r?zVHH`e8qp#Pqjd;AWkc(AQOJ2nwO{B%i;@qw)ls-0Fp8LJ{Kev0=OHJXXAT8 za;hLvXfKf5LS44-A4dt~S!i!Ee4{-yO1aa3i3ynB+ZSWrxQXhL;pZsx$Z&hxIgYpA z=dE#TczQkR7ZIF6kzcEb<+((Ol`OuSH(H>A)U$z0j;Ros$#7I3onZBTOCOzP^|HOe z1o7qU;LBw^PEV$-50=?y2X=pUnm+Rx3Hv5IvsSG=YaHI<(|GwN)mzMAz;0UIjJ!bt zg;3?lRp(RG2QEC+s(>*dRPsz!v63p-f<?bjm#wg#5dWr6+Vm<pW~vX^A#SceKObuW zF62D&UwxTMgRZvlDt!)L9pk?`q5IX9dNq<)ef(EDne^bRdcD$tmRpzFAbi~Y>LkCd z_}U(1`=)O~wzZ*|J<0MC<W#3wdhNx9bbEbxJ|A-Er8kd};hncVxYh^PXM(FvW7Ye= z2G_H=+SGYP{PMo%Kkfn3PK<O0)4^(2>Yi9~zFac?c;>Yz3f@f*fS1B6<7uZ=wfdeJ zTk*Fr&x|+!lV`?b`*>!w17Lk}9!-2HMia`q-RZiSr{(pr!1wxCkoEeQuwSo_m!kNe zBh};eu|Ua{{k^O%^HTc09$h<vu4&YsFl1Tlb@*2;^4s(?%ccm6rf0(MT@}bAx}Trp zQ^J4cxkBqc&pfb-_qDCWXi1ZnV`e02%fKp%(5$Nj^{nTLcZZ%RP-<TVOeTCqJ|NS( z0jUoF$r0Jlb+;MngVZ!Z;LNgF*Tf1GZcsorohn`Se7%8pI11iD-a79BmDKn)ing}M ze|@Exl`W}Kj#VH$%tw&vn!TIHFnbDk%Ek9bTh@Uo&o=&Ad9ayE@?dl7n>={_g_@bn zuKRJ}VKPTru52*H&z0Rhoqz1E+VYF^h;OJCHfH0E$bnhqwk+W2Ukl5MCVEE+eUHLR zM-y|&l(rz^#=jfkTEUh7&u7~u;37`6+GJv$N;yFU(VIUc>#tl<-pn{Sm1Js{ZF4%0 z_ji7ScvX|(?dp3!>&$@;?)k(&=s=PbYXt3yAB^O-thIoj>8p+9m1XC`(NL{<W+fqg zQC;)G2EHKb=~CP_E-b4f+3i`03H|F6Gb4=$lk`D{WVQ`svDQ6UOy%BpjZKAZiN(93 ziR-FZa0Ka}Lucnz)T0}f99PW`)Q9~^8u1N&tB%GFiz}3lURudE>F%YdY|Ze4iR?-r zxEu+O<gqndqw#f4Yi~WTf!;bxw$XZY6#j8@UW<+zSw0tK_zenwl-ZNkBK7faRBJX7 zW@Hyk%!-)D(C?|iy=sRAu@&N`k!0Cf)&NB_qH<2%{kS-=Sh*_^QzECnFVWCR-jqqj z_EvD(<OCQ8DG?jbkrr*bv}m&wVcyKBXcEPVXnwR8NyoB{=UNZ8_W2g*d@YvG7y>x9 z+2Q5sBi*F$E$Sxk3v>lj$g=;7rzGtSC+sp?)r!C(uqnDG7126ZOIofaf)<ul5QqUT z;~I_kCNLG_-|lF9K`DMBM0qkd8&QKtqVcnFWWte>XH{l?;0fb~T96;L`Z1LsZY(~$ zygvS|20frA4xuGXmEZON2+ZuvOkk;(x8HV2a@uZ`JkgC0DVM!=dWnWdfj8p`q9=_Y z4r|g=mN>17)`B~$Ph88;us|dY$vsx%Y}#0*3SdH&9koh%d@IDQ0sT{oYhv2cN0@_K zjvk=Z<0TTmv*d5I8hvgn-n82JQ6HV1EIKh-(>SJd-Yc^QMr$hO5mx0zYpyJrH`p8- z-|)Yj_k<n#j1^=I%N6H$T(8|xW_r0+y&8p27>BG1l~R`+EcBs^8i`ppj;^%pC|le@ z#?p=VCpZmXQ{Gw|rgPK@P>i7)t9)Jd`D*1KK%!Ic5bGjN+u<ns(ynm2u5)5TD2-0) zI()v~t$PrBF0eDY_xE8sEPI6Om!i0L9@ByEC~W~C;c;%V=mQohRB9pPeI_}A@R#dP z5HgdI9?6>Xg^_VgB{ybJ+C-M=_>1-Nzs2H`=pzIM);$R2kft>nUpqd2!1(w$9O*8G z7@W_7znn3fBhtrAeUr6086oI=#$hrmY+OTUOFN(T!rex+G|$~e&>kuEW-|O=XNXlE zdN!QS!Q9@%tu_V#23<4Ze!OrFNcTz)wcU)#(8f%j04;4|y=^DSgm3*i-}{llirbga zItUugY?L$s>W<Wbq!-gJ^FLqJE|UqLK1TIgdK{ADEZV9Sr2GLS<7v7e#`d3>P!dbb z1PnY5Zct==CUxXr6fNGroFHkmF&K1HF}mlrj4EjC$FtO)2T^jC;jvOKQh|<jGJ)FT zN;nXV$|<)NOyA64s4We~rFCEHk&bAu{3-LrFF~iK+w}z(zs0HcGdO<%c~--lTW<J- zs~MJHtvzG?xmilHS|v>mkDe;Y-X_LPB=m(-+VXc@a6*3y$hh4U+;(vLk#k*32lpR2 z3w@U=XVtA+xli2tZ~g+)KPiNhq_%c}_?m7Zs4MO2dt)tIQLb#7GoAN4teTYG0sc;| z{Aa%voU7kfpoAOyF^C_0tqcQ{KZc9`ss0Lno1&0wV9D_}KuiKmSS?)hq2IPdV85uj zHE=Vj&J|1rwcN>7E+{_1*RP`ToL#6w_v{bN50wv9%Z=yD^U2Q(dXrK6pht^#s=CkV z5W0qlzNSBmH1qi9t2;clO7)pGEdAq|bx{hBa(gCXFBe;o-f3Nik;r5b9>kI}@roUb zqRt-*IclpQu^aLazLnYp?CUgGjk)km?#Cyi9Cf_w0B7lG?CX;*@Be)_v@7$vl%1_d zQFYxzYBE|$?)kC3<ghw(pZLBVxUJz@)+0Z$@3wj}3SP@Ty-w$~wS204-R%RIbN$QF zYisLX9xHA%c`1HG9Ym{-csy&*C4Y3RS9kts<)f}F%QpFBkUzS<uM$#UAG78<NV46u z(L0MeEnn1%@-DjE%As=C9ad0KA&u<z51my{xy~ai%1tH?J?AW2K}TgT5z=|T(oOt> zSmhe*9$1G-7h6R?W0i_bkCH*7W!;{0lKo3bXp7BgEp8{b8}?;~+zyM|b5KFSSV7-Q zr$2L=*CmW`loP@@pjw&sF<p*X{VlQ~GVC!8doceYLsl#v7T~1W6-=<o{oEa|kQPfG zp7^JZ!*c6`i>lRGb(1YKXVrb>63B4GXgZXbvW;#C`xFm^Q`@-eU%FbTGwV>E7Wz+R zQ(E&*q_Gd1>W=N?%6xvucD`QYhOk`gYqaP38nidW6&?vyoz_2KcWLctocjM|83_H4 zrq;cd0gz@_HGI(*t_3zI;ZNHxwmI(xj9`XMSMXyW%+2BxxY{GX_8H+UGCfhpNrurE z-iY<}@pmwr+}`-R4I`Gd5!!znwOR{3>VFjX{{63y7ud@8u75f8g9cjZA=?gdGMA%w zbi*39WTouvNDuF^e)5y3Z_ZZtxMfp6f(Ghqx}4TYL;S?mAl@+`UawdVT~`=|P>%Lv zLM<G!_a}}zSlD>iS;XA_#(S90tg}OaYCi+oEM(fdzt0kLyZ`<c?x(*iK_B6+R_G%* z%36Ak0j%%so51SrALOAn9(ApT+jT8U^ky9W=ODQEPpl-(_Zd+Qc`tJlkWu7v|3<P* z$a|O@5hiEJNx*?80~Ba1EJJoH@d>Ts-*O8fZy7-cyzf$j9BZnyNMO>dx$b#f<`CjD z7Z=H&j0De$)!YdlVE&efu4Gl#hpz&K4e-6}&ba{whF%Yz$ym_i+6<w_WP;~3zLumg zskOt2|IrY07wn`P5Z0HxuTaBGd^r^-Tbv~zPRpw-42V=Oh*Y6%7~iInXmS#VWo?Qk zzw;U7=u;HEdGvT(^9@z-L#>|y8{TDZ=2<uMOswXErnkIP_|~t4HDg)pwW}IA@22O> zeW5TZ0QyD&%`Bc3U&C=EEU(vNeV?#iRMG%dM>9I|k!m?V;6-pp*sz&S#5dZpM%EQ) zsT>ev$pJsTO60O=Q7p7E(`BF>%ZoZ?4xa&biDr6=-qR@mfH!;5H$Srm$rN^M^IoTX z?vREz>b5^t>pJ6K;`B(@sedWD<Hcy`-#E!T%Pta_kU`rQZjv`ofF98uf6tP8VN5CI zEI{#d-iv>+<8eRdy%-;F`2OqP4|R9ij4tQX=seW)-jr!<2P``l@z+N@uE>DaH%sXW zTgGNktIm=w)mJ_lOD<r)8F`Wpm^FO|ll7HMFo8O(;by+#**j;&-^tO(m(FT^_xgj4 z*sP5bjUWf6-676vxQfE^z7QwI0W#4YugEFRxD`ZFHH@RYnOf7hEIrIUvkDG5ZC{1D z;W6ecz6YWc-SKLD{O`D=?l|$*0`Fk;g$+n6UNhWB_vZB2pD`Qj+&`^Xq4JAg);`(0 zkSDw&rS}o6y=dYvlJwXUf_j6}<9ijcD>wEk<nNSTy_KBg@?}%XXDT{&1|rzyRO9fG z&Sa^t`Os+{PEGY8P5|#9HXjnqXq4s+&`)u);!)md7WI9%82vp_wPZSk-WeS3H)Lk7 z^NwLXjCj5d1e`9w*mrmQP2#$3@$eZf?`V*iN<Gj&uMAge?bjVzeLeSUr}bbeu|3-x z#INj1m&s?knU21$DzLuHRE+I(dZ-j2mvbGQ9-b}j7Y>T)(;2YxK`HK-(riTTEv(NV z$9)I$#laYO39fZk`0T8hpuJfQ&DU2HQ?T!%@y^uq5GKih={hkRd$5CMqREDka1t8W zFBojGe%pL(?7?k<jgMddWt?a<&@G*r*-v_}QS9@07;l5zq&1>Hp&d8*oshAd|FpK8 zytZ2RX{)~Pi)w2y5jckYaGE+=`4$R_E5A)Mil^{$u6{h~GJd7rDWtvNwRuma%<)q1 z<hr-!jo$8tqCrP7%49nmglO702usxsgUaIL2OXlEjBDPnB9G1>G^VKtSUTtk9Hs_E z(1Q%B2&9eigQ|jnR>2_ixz?P-o>T4{?kA<I)l@u1R4Y43TPKa_sLRAdHe>Q-6a7Iw zE3{)j6SWe|%LNtEHJQ67$Z@k)xGD)LRx_I8qkpQ`s6*T)lF7WCT3Mu?O6!57-hgut zg;OeGF~Or*`HgEz;@7MxjZa%MB+!a9X#Q2B8%HP0Z~FkvPK88AYaiW7iS;FQ!mWT! zrsOf_T|N>0<%cw9VImLkJrziCmqf&MTBq@fv|(9bd$eoqP=ES27{sITPo=&=6^5#s z(+f2z+}q)qCNl>k9CAk$mCqfE0tB{wbgku2Ydqae6qVDt_0~M@tT`n%x)0nnu)F^t zl6CZJ8s_~JM3JhcB7I1nQ=b$UDxV2=ohw0H>dR5S<jxV1=mp!=IYzWP^(fhe#AetN zmQ<I$@!dYuee`!z_=BS-t{3XP3ZTKmty_cJ7((4JErgP$F;ph6GYX>I;sf8?#Rj?M z_#DE#?fqjL4Te5c0h6vFOu{VvBk2giyzi0$ALGw$aESSUt)zgo{T;ftd={QVR_@Q> zvw9&D=7J`y5Xn1VxsRZU6kZcqe~Z6#`xdSRg%dyAJ22rFQ5lff<PU=Q;ztPw&?6vW zq5obw#;GDpE-*W-AuCKwQ=ozk91I(T>n$B!qET1!JLh1y5#VtoP8OGy`?kwk-pb=J zes_5_Khp;zU)DVY%Fx#sdgvO@Y571x9`RK;v{#a<LizrgiEN9bu^4>PYtC0?M~r_I ztNh4Wyb(Fo#s7Heqx_gN%e?5WjwUbdhvyGc-fK#MSY;(uAm4-Tm-iB$K)AW!Y@A?6 zWz1aeCMKexItO5o@lS+PRD(`i4ZotvxxSmS_e<`AeACiQR%L5xx?Z8MT6D4aXOoj4 zH)Epe0|hE$v1diT|J^~j9@#{k4s1k-;46(MN|9xfCBA`7vRj8{EnIT4dW-avnea|D zc)|`1qE?;XV3*8Q_}=xYk2m(g_ii1mIlgzlMDP($F-s%9kOY@nK~phcy9#GuXTfcJ zDUE0?#zI}12@u)>8M+MeDqCP~;CyG~Mb3ADlS$V9?k3ir2&Z6?Od#5*CbMulOAZ7O zxT$(5Or9H_gBzYBH#}y)@w{#~ywkfB$57|H;XMMg+0&nna8*ByVWjVd_gk@}7RGRT z$J~hbYi|8~(ff18bC}#bXFPd-imNoxv;KISS&=!fzZ-zi_s8o~pP0emhEVAKD=L4y zete9%#aVg?Kcui%tfdA?oZFomjN}kYwp@WPo`Wx5A9HNMOw$Kq5|AKFG1vw&xL)Fg z_fYvtK68oullNWn@Dt^mR8NLr!mg=XTwt{3uTINj{2(eurGhC{Y@E&K{YT5A4g04b zS*3`?o5!)v@T+!iKAj)2!aHoOTH4Yc^04%&anDU$u#L>Fc;<a*VYTid<aYYd7*4n4 zC38k{Ilz>rm2A5P0+%B7%vv;?SwB3qwI9_v3&E+H-SWg+*A=UIciu1AFQV}+-i?TG z{`?36uu*9_4fIbT_^}X&#QR>%=8UI_sh2Yz8<}%+4c`j>mFj<h%iZ#mou4qdRL(c< zs7a;7Fm&Qa=*C|LzTLpr$3N74&^ZQP9}MLYBQXT2)Vw!m;4&P4A^oAXv6?q$-^*(8 zUP1)SlkfZvqzU5AEhK}>`#t5LXCfC(<GM-31&Aaro|U4Kbr0}|WzK<g-TFI@5K9bH zAj6rK%BwRHt9gt-hA;2?k;xYXKKSKlJNf0=O(rKtV&Qqr2-g;P{AkT~XK7f1xv1m6 zOZXvDws@`HDXD%C&OoLG-_=>f8&_u&NOSPz9G|n6)t)ZTGo9;TjGYR-#oHNGlp-1; zS$AhxmQL?H8uX=eZ;1V5aTa)e`B@)-$_sH7tF)1aIrF{<Q}T$eBXeGea9=8<jfgD2 zVyo#-R{f2wD<`|pDMO0i#yc`+-J&X!sNT4y2P;%l>|H_QjiO%0KO#I$cay&6S@ln) zexcrUuBq1vBGueZ*Rp9{$RimouasR<7%2l5c$RwS6Gge1eFgtBH(7LXeSG8w2F5Rz zK1H;pg0I_qdv|lmes|A4-$geRDaW_pEf&xC4WvF>s|_q-j`$qIbE4J>O~90N!ohZm z-R&eXj9-dO{o+~-x|TJy<T36Zmt*BMQ0w9YE$&DI;k1bF%Z)|oiS$_ZzZyRP(ph56 zsl}D`b_@OSN*|pa-0ZM6&fiOaAr>?{I@7a5njPZY&@TCnhV~jcY0pq11gv{z^}I;{ zjhcqRx^1uoBn>e{EwyBqQhPMYhQ(lbj9hlenR|WCs@di&c}Bw<WHGTx`yCG^?I(`J zf=Fr(5^uRd`)}I{3U>RUzAy9sC~;Ka!X{vf#iujUvoQ7vh7CO7T^onx#raX6Tu_oO z4fp{F3asIijdOxDC-_q=+-WQud739;Qu_yT<1tKFx)OZ&IiF|IBTpg1o5j2dB+Onu zpO~Ht`2zp4FtOG!^!l*)p0473WnFh#TLfQzIu|G`{&W*)|C>6-X~etf3Jx8Th#<_A zz+A;u|NO?_uF}2R`-nev`@Vz%%I%xtT!U3#p9qP#X`hdTbs8rf`NZ)<43Y4d;bY12 zOCk`*=se^nCCKJB&xB6|Aa%!N`D}#lRDF;SdnVk+%J~V4a&^tJazUQ-O!&>SR2R%p zetWja$*dpPG#|Ax5>IHXOngo4UM>C1O5AP|f>^5#dZB2flSq0~l0IPOa%~vOcXPCS zy{X0KcdtsOQc3!+0>%~?pOd;ZaCyRFnhBq#Ru-+B&yeSta1BT(UnYDo@9TVYWYF4! zkyK@3u>=#*lXJ0>zg3L>vk|iYX19N^0=6z4Oaq46O+&lUy6kk&T8h44INHar2#`L9 z<~RzFD<(c48D}~J^u^ORi|_w8)8|^bFP^^gpv)IdUxAhJr_X8q3q)YwDfE8MV-}9t zmAuE;lt(;ond!3X8t)IjP8X%pTJKldv~fx<WnB+)?w?W~mQON=VWqFaYyBV<Sx6C_ ziZ9B3&-%c;mX1PJPz!eynsz8q`(#x?k|n<(PI@{k@=9dNZ}K2G(~8D8HWYJFi5!tR zg^Cu*=I6mom3Yf(Y;y8&QrE66@`|~6q(+mU9COw;CbET@il4haEJFmls>9`p%HbOG z4q;*wAU-UC#K|YcbVxpZ!Rye^<d~N(vo8+fi}X_nCrBbE4UtqfUK`*kzd1<$vHtTz z^PbP;xrp%eJm=VZE)@-!SQ<$76LBdxScr81?OP4uS$u`8k_rE|lII@@UDaZEsy%;O zXeH4l6FzPL?_c13`(W=QL}e>B=3Zc>^sgu#_`?3EjB<BbJur#_{$~P=eN`f5`V2aF zxS&dg$LOOID47X=osZJj%R^Y9;%a|+SdJ0*^ym3yigPg0jW<j_LJlcY45$w)cwfix zuA#WqMfDF~g2H6EFfKXfPyD8~)!Em?=^e}`{-F*umI?n6j{qI&u&#$f13%b0`ca~J z!c#;k<ek<}fK{Sb4-x{mlL;TF!msk$Mo3=-x{TE36>uCn{$P9R=^yRM+#B*%QOruP zU#2Q=MIZ1hefSf5+|7&3be#pnTx@R~Z99@}3U?9NkRF~sj?dHQry~+VAt{Fi1$_VA zr7FV)_*r_0HcaixskOK4$&5hH{Aqf$T4qjraBzf;WWwk0U2X`b8ac5cK27y;oW(j) z#?q;6fSJ1WCT;OwM4Ll=)%t4FfZRB2qNCEARa6%;+`c@~!{5*#QmP!{mv*~}?=Z`g zs-0C=NAZ>+PlYn4uh(L%{Dh!$9psAqyn$G8XYmgJDOQtlmWU&%k3R#d^p_*m{CasA z)wA7cn?fdqP~PG17RY8s?%7K__(=cm8B86GU&U|gT{H%Wf+I)8Dmyq@6_sgVFF-*% z+76>8g;gdr?^IOb<na5fuH|1Cd;V45H^ou5*Pm}X@Q$YE(@Hp9QcYdT&7D4mBVc3k zf24ce(|g(ZC7t8?67?_+zk?0qkY2&7IGG0mSD8iYG#GiiO*FK7QnEk1ifNEnsyJdj zOX^O3T4McQ3sIA`ndqpxh|}_O?vyk*T6lVQBAX7%@|;!mPyF3QO=el{nsb<D0+pid zE4BsmqC&}Q9{4haRg4V$8Q&L#0lbEgiIas@mczE0BB}Mqinx!LbE0?}exa0rma_el z%H}htRf&`Jc-C0FgQ|1+Y_wM<{JgrV$4v$~7?bFiQXPFQt&LtF9b7{VN^5f)w=Fv- zENCFDjnk@-(Y(|)-`7DT?61UF-&d{=Qzrmft+UEb7jYFr2AQv@C%Mfn(*YTEs!NV3 z?;<KEz_oE8$#|UB2$gzu{Mo0r*M@ygZR5LZBe{v4oPyA!UufhY+Txxg-n&qw&T%ED zd0~D;6W3SV<0n57TN+K&RgKvGV37Xk7k&cg-LvXe&(g~cYXB!RbNM;R;Rh2kIjfNb zNbjCq)B0=|m`eWU^&~*@u;DBx+Z4$pLyby+^x9c%uPSphwkemiQ_kWg$l{X{4?Sy{ zn|~~?;R9opFAG1M*1z-4dy_xpMY@!W(lsrkX*qCtSMWfcDHRWemL8uj?xyoY7)z-F zFKR__S;HXp<)(=FKNfl?TTP5d;0I<!kF=tG7%5S<+R=$Z-r}<JURfXSlE3BrhPn$= z3rj(XmUX4xyKJrdp%-^DYtq|@ALa5Cm7BXVI&R;_E?&Kgmvx3?i#jOaE?Og`lWJxg z*ER2y@=I%NX3HnVN+^CJTF8xJnk94L1Q*dF)2fNp>~wCPU`kcfckHzH4_O1w{Szn2 zqBhrAH8DzPo8u;y`YWl`&)}6<x>CidYO`9$=AhP{RU7oEnOE`6!wQ&t?nYa^OO3PQ zw$yGXfJ<(*TR4ymY@mtGk*IZ6bh?EN70xQ8$yT3nPagh(Tls?65dcuNdNZFZgdwEg z0xHJZ(9FuUv_VmDZn`n+FTy!lBPC{S(y`5C*EUrT%G))m1CJ2z<>Q3%)wV;pIC&cH z?;9ij2^S63-GD_4FTi}~R=}2h=vF>y5TVud#}W0`9u%m4-Kj&4>sj&PR4n0RxdsXp z{RxA6Wy{VZoYwF2gcBc}whLJcC>;K{s8>OHVo!Y-ButG&YtD)|H&4?Vma^)-)V<Jw zeDGVPUCwKzGxNg!dVToe`JXke^hn8qOIJ?ck_rFhWKq(<-H-U$)?Fz5eRW_qxj95Y z#M4i2;{S>OqyMWS_bWyB{AXRcUnRM>9X!K@>bFri%VP<+<o8ecy_Y;6Wx1G-d5552 zFji85Xl}%4t|pAN5X`Dk*{_-v%b!;g0zhfMRw7D!Q~63-B$&G8lM9`tt^CGw>qq9f zC9*lSpy^iI1H{&JLNNoj4Eu`g_gag3jR@{9K{;zr2Nui8mEuS0m;EUMxT>ubShaDm zgy1`3@(KRBY%DCpGRk_8U9@%Mnf_hhYV5ygSDy$VwmCMv+ha-T^p$^bM`|>X=)_wT z&eSRvri<@I52kYE(5ci<zUtF`LXg}3EDn)|BbppF)D4CAW4*JEI&Ht<w;W#c8hYWV z|J2ZkyoPilc6Z&@q(6n5C&H+X)mz}D6WdeYp<)%NGR=S(Z_8ai)IjygnoFh<68*E! z`Y!mc4tS4hyh58qM5|p8+f{d*KN2|b3>iS3#g)7d4uAhtTE@^O4(BWegK~$z69VnD zzRx?7m3#8K$-(s2k@+x<Hkil-e_j?i?JHTDyI<h$_FMd1;BMl50NmGdz`5?;z?~NW zcSAmKQ3Fl}DMpR_`Mb)T)+6YA%dUf*HXV^JrJ5*wUe0x&2>YYi{9qR^3j#mG@y{to z0jD@y09Z@M9@a#$vved~MWNEhbh&usa6%9sIiR+Pl;w2Kjn!)CBxqAL+-bW`+ZMm) zvaxgst*e!~_6LuZkovgQKS#qk3x3Z3{Q#hXBtecM=PcWVcB=m4s0Z0K0L6|1NDeq~ zf1s!?krwaY$dP`9JP~2>2Z!}F-`gx1lXm=-@uv=Z8`lU4p=@Y`P#;R6hMwK|qrXGB zm1~^Eui3*+&J@r#RRE>n2ok4F{5K=t$64~Yso_ezyLsXhvktwZxn{23@A;F1tBace zE?;lwjmZaFv@iGiO7-eUUaL~5gui@#Jf8VrEN7`GJ<VRVmc4CKRk!TI7iN)wia+Mu zUrX$MHnscUWgLvHO?wD4gKQsc&7n0p_&Nk1B&a#KYD@NhLao|JH1p|W#F5&svH%&< zZ2kTt*6;Or5euveeRx^khq-x*>0wYu?xBMJvz25gbSTgEQ?pHWw~Nqk0E+zg>eZk> zP4-?F;4OO?fqU$QOZQP;)E3h9!LTWGKSuZQkD>5=eqo%6Ds2vZ5#Dz_dZ1^$(h>Oe zuKUmRcIN7R4r4L-j6E5qq=G3mryU%9%p2z*ox4;T@2`W!2Lo4OdZ=F}c&jh)mdd^j zjwAomV9O8v6{>!aQMUOqd}j#ed+*|8^MBluM8jN5UDjfNyv;P$jq?64;jsTpMg3m_ z&;KR7@PBC@{a;$~`UQ?ldzj)yz04K(($tT_@YuvJqA&KO29ZHhF@JDiL}Vm~pc{Py zwh!MHYH;Ht2kCbMpQAV#gpzRDAT|xGce-WkxX<74xQXaS0Pq{n5OmD`@8R;d1P*rS zhsrysw4iaCQ1CX@nV<?kufJA>OJ4t$`zcX(-(bu1yle(}_+#al@%h)Yk>@jI8oAQD z)<~(pMwAGoa(wx8PnH}t)1_wAhz7}N{f_FEhWy*sra#b1LqDIi8}<lwgk8xsGiqK* z)1cJ%-jre@?=c(Vd~qS0tY+-FAD9I#J_HTP_>vMo;x{0NI*z~%z2FcDvdoI#<VSEy z90=}9)g1RLb&s>fopueJRA^=!_cK|wS~A>j3~pC*)#(H$E^94+h~McE#?QE@rG0>6 zamC?HD?zd%>dhLNQo>x{P=e4;L=_#(vIxh`5iNj4=+274E){Azp4=F7Ug^<!jmb|_ zbKmGWCh28lesbEB@|!&2lbzO^_%%NM`WlZh>0-W0z0<{SFd;(Vg2wA4_g$@dxl)j^ z2Is@slTPrJIaBs&Z&0fDUhQ@FQXIg1m$CoiuI96l)8+iYm=w_R-rOWvO_%YQi$<*H zCAH}TbzxmZqtqaipKHfMAiT7WBg?#3Ae>_ueF<H5{wvcKWYkQTy&v-jW${5qsh~Sq zTBMbUaYTltB<Xt+p+uCx-YMlJ@m}#sg)-69YKY=^AW=87%kD{4=~(txwxayXDLI&W z3j?AiID2!9nsa}wyr{3z=|mFf9Q(o&phLBB$aYC{Vht+Ob<0NbaIl>8P>t&5%3P<< z#!Jl9zIrV*T~<{7r-Rdnb{3UeCn2H0M(zHGeg4FzNDmT2%IPhAyn*FBuP}Zv>w3D? z?EMNP$?rzCYrz<abTBeyiGGRm_#StF_`vvuj8Rc}`d4){J2`zZ3olNC%&%||_pFnd z2Ut1ZED5$$(fG-ADD;ZzcpFMbdVZmYys_Nm{x@}WE6RfsOg4AYn>;0&s#R-3r{!Ep zV+MSexru&m;=Ddls=}{>s#Ha~L-~Sy{iK~9A3-T8RGMl&>>4K&jhN+ySq<!l1APBf zehnm?h}ZmboVMMxQ=j<0sE_$2r};tDH0(XHVkN~0qpsi(11WxxKrP(6TfXE8>dv|2 z-RItML!ZR1`dd3+*!h;Nhp2Ns&)>u`?2|<q)x`Ns{57M(%kna){AAuk@+)Z-k#?_o zS=F$-`|0#e3jb11IcsRqV|E<p31i^`l6sby#9Yj-9+7GOj%ge=aB?NSJg}l0aC_=> zEBDO4QYTkl9&K3zu`0)fYKx!DHcr;_ZRzWLJy7}@y>nK5z-xgMUz0vZMig)ginATw zEbgTm5?Zf3q1h=C-dJ7)&d1M(SWGTuuF$2PCZK$+6Fn$M<A`Z(#^0m0`uMKYU7o+_ zgYd#j_KGh|6fb^%BNA0n6aFwQTg$*+hm^0<*sxZN#FnN``~3_Nj<U5q&R1TvwS*?e z$Ja;WB(g_Eojr2TmoDVxPz6W@PDSx=j-QC$3~9s^h-fMnTwEjz(82E)?iCLvS1A-B z?~iys^FqtcjMFBDiZjj<g0b;+9R{|vKV=>)D61`SevOmc9;jAu=EaB(?5L<~_^|1C z?8Uf+wN&@j!8Kz_Fv?hBN~~X$8dGegaI5BP>0%3PlJx3V-4!g%t6;<Q9u<6A6jUI; z3Z+@=uHdquf`ysz8GZ$g7o=xz=RBkcvzHumW6zrI$<}lVwNUB|ztmTHmbxih%JEB0 z@Jo&8S!!msl+M_|LO|5n00ztYhSGOE65F`b^CY&;;(OoQSP)7dIbwTf@tyi9CqvZX z*A7RCqw#OOoc4sXmHv*d>q?5~DvF_Nvt7|;8|$J!4f<27KUK2LcThn8L|m#K#nG%_ z1V@KIw+kDXB*TKHDhi1|fR)6BxA=ZCtqJ|AL?eR_p3j6=@<C_u2k!!=UlS@Ft7+-y z)^u&pn(PB=y3lI+t!hfWgJ+o=FTRzVSbW$ub{TUmmq(AJdho&YS;Z|pQD3(4Q2($x zPOnEEkH5VdsQDDT_b<LAC&Kb_2x8N0*>>Sw*cUV5BMTYMq;DyLN@T*9Wav9gnYbbC zKB9)1hKktb+Y-eeq-{Yq4rW6LNgc^B@F(@B-_1bjvJEP(b(crQGvT=dWw4W*<Yogc z5Z&T|e_pcqzrPC=;5KEii*F9e{AjboqGX2Y8nea~Ftbj5%%GmSS{-_-p6jEC)IJq@ zRpEbd%4r2u2aFM$mP~kIZ@LS$s=(R2^|$)0?Qy2Hv=7Bhz?X(e<x>OZVC(y%HBh{3 za6V9bw^|z{5OB3y3IcpbaQF@&_;cnKV8b;W1j~dotZubmLTKXYe%mX0`)#LdSb+sn z6(qyA(cmNMLni$3C$}<y6m1-a;w&|HHgVgB=@x3dBlQh#C4#_mV6J=RyX+C+mSZ&J z3PCptjgbV1RrquYdxN>jgx}s{wZ=Diy}1v{R=~zf;8WRwD%)-l{3Tm96W(|r;K$cO zQ%QO9<U1P+wna1bqLVY+MA0zoac0?abbVx?>ukP_9~9qGml;w{!s_ypx<{^{3}#ZN z^^fSGl+78F{gzC)8EWL+u18o2RZ^x@@<?XiPv^bi@k9WyHlvxF)ea{mTPrE;p?;?m zqsgF>X&NG9Yo(!jXCKBKY}Y|xLEWW+<4_+e_G9q{hBruyq4-0OjuDN&pMC|MN@b?+ z$zT}GDVNPZajVP6#Wvs4kb(pnd1};hW3^NSh+@Q}EcI%$Mn1Qd9sV6nUS~v;Cw_)K zPxY<eBmDW_)R*X4-&5DCzPY*j=+VTI1-6%>{m+E&JJLGa6x44>D~U-XP;mxms73>b zBhZv-DyXhx!i(^V=-K=61qB4k^`(t-N*V{G59^#*8nT-vn1j<EP_;`ZR6w>H1wd!T zqfhW;^&<Y5fX?nVY(;2ALHB^pTz)<Sz%C!YY?5Gk^Fa}3LzcpAT8&KC^DGUir7vEq z@e1-IG~}hhnMvadFob0qhbZ%nkm`V7;s@f$ODY<2k1zp#PMbk6qh>@J7vVu~{#WkV z$@~u=yqShd0#1eI=x;;nC+mR-X{*;oYgxMMP|yPIwV&Nm@W`dWil0O;e=b|O<9^s! zM!dU+2JZ!R#;`WXiVo5i0pa!WZP7<TZT(v)azgs`VTn$0C0|<f7WVkyd}G{y$$W|P z?URy+SVzJU;^t&T+0Ln78ten04dh-tI{p02<)nm46i}$YSgK>(!fE2$^bMBBd+El) zKhVX79PwUj_$$Ea)C|ZHI_N_NGT=Z2FOK4WL?*TKdo#2QY&`P&Q<Yk<PP4U^dY#rk zs}d9nrQ0%-E1HI?)l#jmrhdYw($r!OD5dSHytZ4`l2i%jLyXz<{;p%J_bvY_gpJJh z-;iqCc;`=}8h<ZX%LHqly(dw~2sFK-Y$Rn^-RqsRI+58ls)l?xKdzR5@t~e?HWKFt zWnKi_>wn8YwNw{1KAQd+v-+M-kbks0H>)=lKr)I`Kf6{GAQS!>8@3iK^2ddSvN}#- zPin#1Z2w6BPTxz^cT!Z*F>v=0HHw3g0&!Y#<r&ejv{1uR(mgCCsc$}Q!%}*2-KCcZ z!7lef>E8`XNT3|v{UP(h`b?d~hv|aU?rVGqckdL0%k$?4Z21T%&4KNa2&0e*e`)Kj zuncg_48rq`vmpY%zuW>UOoxT*%{t$ylYCjEk>1cpOFFt?qBeX;GtJh==aI7KYY{h5 z{NO(~7A#j%&&-;}GdSw@PXm6-lP0pVoKsr2VWMr$3OLi+CAY{WmR*Dl$;!ob2Q0R^ zIIV-!GtNyn3B~Yek+a}wb)CIga<4XiIq;&v)rfqZbw_A>csq4{Snev6Ws7ip>?%pE zc*6H(nPxA$*Poj}|67M{?A(aaj|((=?BTex6qmjUONE{W6CvFb61Q#9kK`#w+9c53 z)l!CL!ZZ6qMQxu|qW4n<1+ObsV;bf4#Nc&BLE|{>MOEZZV*oGLMudrhGyej5wBT^% zRZCA&A=V|vd6KoM;z+1zeDj%AI=L!6%Brw$gSWMzrar;jeCk$3ZGKHO7Pjj0Uk~E7 z&vd((ng<;7#zv(|7zF$~*fYS-)R{n^?vr(KG3w`D3>GR&n*iKzwW|-KRX+Z3u%;nc z57RZG=me?*Lca}cxQGUwHf1kH(rV>~^f&HvT{g}Wcsk-;XH{`E&y5C&lM41B<Lzp> zXDY<0#o>GSQ7z&JdoI3E^xQ==#<c+?p0Ly3KBuyPzBdzo8miKO|D4!f<M12L(E6#R z?MB#x@o1iKMUOa@)C`|i70}jPb{ykK<KrS5#u*l;$LJdx99QO46qV<>P6P$?x<ZxP zK{^rlo7<`bAJLl*wM=<U2f7c48t`vnG%?U^ThsIv$U*TbuZ!32)kFfWQ!4qr?~WP% zy1)NT&k~4U6w8Ef7zQtO2lGfCTfFDu>uZ}o4taOkgDxJlb~OE>v-p)RNmoDYUJlFi z{JU5OSZE;-ZsI66@nv!g!H~V%cmQ!H*G=TCihrd?vD`A@qrq-yhW-8wPRgdi?)nJt z;~O&Jn|X|L+_yG<<Sby0W;)lb(WDxqA^)T@oUJvJJgd?~2fmM*(*!<Nqvn)w;ubjd zt>>i|<;gcYc|+<w%T7EcRE5S>GsamEvPGA|WjlkWgd)zMScsjw2>j+FfF~SkBDwF* zE^%u@jYp(M8ko~d0x;i(XAWLA9Re4CBE7nx2?8-0ubBeTI5+N=w6h}DxjB;MuLs-0 zzRx+M0&_>HP~Y~$yzyMLbt+XrbERDc7Y0iOOd8EoipNbXFhU~r)+uj{<t}V(Z9$gO zH{ESzhCO+dMjLN}Z<Hh^!b=r39lL$p$fBlbHmhGWzCBvG$65SG1nby0Gu8ElqsyTw zbajT-f))gVmMC^KN$$VoefB%`<{dLKs;Ke)dd`!qhfxx731q@dcm)Ds?Xqj&UQ2yR zOTsfGDsT#7okgTv-zd0|Lc6%?U+uEH1DVd&N1)VC7JvM2Ey!#P5|Y4wv81BRYAm!< z_){xDS#}@`GluRB211#Eq6xMZb6zj%&|8;y$DaNq$yOf-ULxCrK?0*baa~E2L|H`M zQpu#mHAAVAEO1wHcXpz2D9uSHC`VS@eGAHcvd~cQfEIew#Uh<kg>2KUTqb-r+oaYs zYQ&wr8b?X2<2|Z3><k@z;*|DsN;$c&^gL)tHVvY0g2*W*j%ubLwfJAS$rZlmP<&FA zopYdCDuPccf+_}4-5?zZ*eg4QiuIHLthmSq>srxJgK5a5L~Lluq{Nh=Wg=dv%mqDz z(l8-0erRL@Z_CH>t6~C0hO1juQriQCFhiUjXOK0dj(ConmUT?Ds9>h9OySuQ7NabI zSj`LwWt)ygwsXD3f17KqgM14`$c=N`ZQ4*k3)Kx;G6O!CPTK`gC{G8~W#c__^A{Lp z`RX<e6#pzUoYI{^3kbLP9m*uBH1q1!gewvZn76VM5Rjzb*`cLVQ}GPFx*#<HeTLty zAezQ{#)+aW8>(X%?P{I2Hgk~(b~!h<dAh+){o)Y#65EMw8zjA(Jn7iV4+#p~OM&)K zn#gqWL#Eb$eNTovW6jD^_j3nNzW3sWy$i4V;1;O&9%KZuFr2d#41-pJTzWZwgkL&j zHdAZqB1=>8DPnDQq!#rT)yaehz3=m)&GbFchX(@2mE?pGF&9Xg@Si@u70tAKAIb`w ziXah}`r&@`L?Ky?r#j183>S)jcaa}d%N-NU&_9BYH|M3WEStinokZBkgv%iJ&H)xm zWk(jUnh>;YNwuYDD>1U%7E~SSpLD27>AZTgl!}==i-Q=%p%X*pEVGkM@SyL}EdI_D zyPG{KXcm_AmymDoZ9q#Oc~*Q!`jBn__Sm6KeQBGlUGW_peM;Yo>R8DAfuYx&;yNi| zd|n3Tm05<RlZ*~2uq^Nri~uyEJ*q-~s>bu8nr<nbc`a*de9sLkxgpq~64+1r<Gd=u z5TCNKR=X34_Ru+LcdB+ur?GSfP1~q_YNPh4joPO+n&ptKs%71k-9&$FCj8lU%_({y zy9SyX4!j*H_NBC-akycf-xK<XbbhiaX||-k*-u!ZFANbMy4>HQrr6^i`tp{o2qnAW zmR5horn~Nu0+!OF`eO>(On5^-rd_1?JE8!1stYS^Bez2OW83}Gw;_-0aOa!0#<O4< zx*x6Sbe2f-1aEHDyv3v$;J&v#xiK^0!Y-3Q^uFyi-Ustcw8MjF?KB2)upq%SDU>vV z2@PV%?&Cw-vg??pSyJM&`oHx3M<p;0JMU$b_*r>TqYz1*`ZX;XR&3BZvc~q*xeL)> z3Ii+(%?By-k^wRj0)=3>Z>zM|c(=LN`d+nKH)rQ{DHFb{RD{Am>8HnwTX-RqVu8%i zPHMP@d#<f-vhZ>(wVI9ZuE;|N-yWdR&V=uP)Y|l>4`hxFa=~zrb)-jo$Izabldp0_ zte6vDACbqO7{9kCQGCeD8w<uju+MZ_E}@O28xpr($Wx~+#sj$WJ%5EOPZs}i3p(k9 zvEz|^{@jnPvWUY!Fx?tyQtaM{Jq?BZZ-oFY>q~M;3(I`(i4vyj*abxeX~ZI!I1yA- zWE?Z6EYYkZ24e{7<{2RkScq{7c)v2L4@I=e*{_NqaR&%O1=RWcjYaJLH(HwpKtBUX z^C=wtr|4L+Aw&LcYTxn57;r8Veit>A-eSjJOLBu)@^X%m+3GC4mT#p}tZ<gy&QHc5 zIVGPq!VdqckA2$I&%2rurk@ak0{#ZPKrHFNyf>w?TH8xiwpbdT_<L3`TKSL0<4Ee{ zSA9~Csv)}*{i>bT3JOF+TU2jtwq6*QqpV&L1gEtZD626nQ38|-4JkpNcWWQE70|jK z%`WjBlp)|kcvCHuDN7#}%*KdU(?fDU?Y%#%k5F%Bo3rMW4_`#icqYD0uAYx-)S4yS ziXbQt3zG&bS06tk8ov~!fYSR;V1Bmk%{nK?{EzAh#~g_Gue9eT$J}O59z(sD{sUX$ z(Fkww=@$8O!Da%f#__P+BsxZb4PcYPgTCBND3+sfOCO1z`U6E>1<%=^=IeRyOt_ur z+FdOYXRs|2qnxI2*sVRL=C#ICa?fjRb9<BLx$qsIZghXtsh8}|B=4BUZXwiV6*l2& z5y*W6f#>BqXBlR~xA0AFF#r37y$4fqIAd<s<M0DST0xG;U!#=^E=EuS4t@QaOu8TO zlIyAzFZly0%u`}O1}M#RmqCvXE1OFEWlJTVeVX2w3BU7}Mj_Cbl229$7>$zyVYj>J zlZD*OyHUxnh**@4DieMT!aTNf{K#s{yCx(ubmq-QSRGSR6maB9vUtQcU)W}6z(53I zSSVK0LFqGvkL)pTr?zhoo;IE!bSz2z_eE?=n2RaxFBzzSyrw=(9o8z_?&$J@rk6CX zob|oEkzXLWZ2QIn0V26=N#-$;ff69(((TjCe%`BzprSd@i|>|_m~cS$w=Fe46R_!Y z7p>D15m@E7WyOmj8DwK+dQ?*1{7X9@#PbNU1m^3!O`oQ0ydC?D-VK&IEIWFwTl~?h z&5j=I1jK;R`<}K(fJQk4XIA{td;aJlak7^D;bVjfnhx>D51Oa}yYFL-pk6d0!!a7E zuTRwwio3?&+zM&<{=QhlXBBJ~HbN-JA(udp0)_UXbpjpb0bN(Vn6K1bC~Y*tDphfm z8YqDlfV>4_iI{Q#l`K&uf?FM3lo6&lODFO-mb}AK<FQul=-B`Ihq~N4db2t~9yY<m zTH>J1Pmm|Yo&Z;ELDNLdrt2=+?N@b}RfXGz)q|@6$6igKs?PC;Plf9>K87iM%U;w6 z)i4Z)F?g%qW$<81j}~tY{JA*=bMSV^q+ZjoLD!9RLaA&(<WZC?e&a{#?|8|0fyU=b z-Of@WHWOUfDD?EnD&(7#xxMhMK#T=u6MMO82K0NUx~<=Q4-bfKGbpqzTPS(T1bv^x zD$1iwxC%wC_HtDBLJflGQ(yWH(+4ZmdID6|o5&w95^bkaIiGt&@J?>^o(cq9UP<c0 z3w<u{TR<b0Y0n$JNRai93FHBo+uh9zA_a|ovxqYb?LiFrUx}o(&m9v@e2ZAJcXRyH z<mBiRGcTb%B0a|X`kJjx@6~lqh=kII=?t44o5*l8Iobb2RKDb5$2VsJdZMkilC|^I zWe&=+HQ=BWWw!oW)|KUPH{Hr8$&-2f$)c?rHG=WoER0(Bocgoy1sTuq2_w<x)vhjP zw8@h#KF42Aq~|XFb$ajhgy9r)2-eXxA5x{Q52y7URc~wQpbPe79-Uy-jT3Qe>+spj zm=oP50>sC~D`NQ@zvNL=B-#SNzr0PS@KYnRwhKvrSqX;ekMDwDi(FVjJgN*@>PJin zCuZT3Sp0)b_;1V|GeE6Vd_bi)zDB}45>XP_$LFRStDR+cQW21SGC3bISQ5t|GjXlV z0I{9!s@-gl3({eqH&qOt^dFGX&3_}08NJMsKyZ%T^9?vnoDC(SK}k=5ezGdYm70E7 zJ@7MyYl`wFQxYYJgsSED@EShF78OcAoC#OHqmeOkyLVf2X-nkx52X3bC%3W(F50@u zM+5l@Pl=u<k$*~k!+5aaLYuy7)9$X8FGVIi9M1y{8(V@-O8SB4V?%ClN~4iw%(W?9 zh6910IPGjBpQ+OGSw+d>yC&IiB2452p+`RR1)Os?6r9+2?JOOd!RDm`Tubc=*S=_- zAia34aYa7OW#S{EKX*D6{4zx`-{zII>3Kvou&<g?spoo-dCA|awNXDX=Zb4)o_NLl zD@32pa345v*6iypKXH!TRx=<IY(OF!km}V$!cpmA#Dr@=SoNpCVYH?+AnYGGOf+L- zd}m7+66}EW2TkmbpCDGQG<}x8iL*>fQjcN|@o}>0B%c|gq0;QP@x8uv(tXJl7)kwj zcu0l@b5?```P)$mv_Q&|;=^qJBVN(p${=^CW#@{TX*~UX`cg6@y&q}GRLtX)gW{8{ znf?!u<0|ty+x#8vmFbn}T5fOemA<XLFukI^D80PBIDJ!l@AR_vKIzu>l5}%>U+;Pd zW_v$xwk`*F-_)hQX`<Q(c$esIpr^34cE>wMmr~EwWst?0wjb!7uDikB$+`^jhU*fx zu&4HeEHiTZ!5(KXWZKKTQe6)52#(FPAL@xOZ$Hf2&2nfz-21mKM_8O``;i{!xo6ss z^0w#_@iyynwD+7Y$9UMUGVMdXwYrph59u<@Q#@4rvECnaInMj7E*0KNE;)LgM?YJ( zqBAc(`Ef)yuthr6#w%ipFCEGQE$WNh2QIw8{uM_#b-YEopGm=?#iU@Zg(4UW(0C?; z{-cRLi4nub6lKD9V}%Ha-!L;M8qMgvLrdHwJ)PI~xc4sQeL2Fcg_3^_^UQ3kBCndN zB|Ro9pPC#i#t*0JwUZGCqw(RSal2*%Ld7*3O3CeNa=hqFMYQHMr}YL}(1OF)x_q;? zuy4UfWWqBr^`Meer-wVs6qraao|}+QC?ThB$x+MKYaNho(*Dz}OoDGAmD@uvk$VA& zs?=!{${3-btEut#AWsQVY_Ut+LPBMgO->G(i?9DCH;!lVIZ(`r2!dY$?Pd3@&ZCr> z@FD+#9uExYGh)r-=;yR~hj<>)$#)wM^2HKaM=5f)Oux_%6a3k<5#Zomn~wK)S^6ru zgLOQz*33;dQ-|`6XzO`9MO*8WGZDPM^wNt+6aC@;kSEG?UeUu@!Qs80g2R@4ax|V% zq$7#5G0~h|Mhcqbx%7;~I(wY7jt>FDT~J{5RRVO&+!H30x)0v<KmI>=2WO7FQ{=`E z&LzQ!e}zHXY2^ccv;nncjDta991K!lvuExIvFIa$vDjk#|1R`XPYVg9TWT5}j3d1J zqJL}rqVd0T;POKtb&%mvj;(BK2e3D?t+CrOAthOc5me5r9R45gC-IL*?C7~6`S$cF z=QofGBruj?H$Q3qG_Y&V_-^cCz%$`xtcCzQpFuFQ^&1}vJRdS+dEvBSdCz}A$wZHp z_{{&(2<Cv}T&^5HcRt$ycyNH`bo0e)efyoZ2yMiHIQM`?e--z(?%6M^^+4O_Xmgpb z4h0gQv$UBPJ>-_Bp5IGuL5TO|mgnU}$3{}-OMRo>2>2|jEzu|&Q`K}t+KzH(3u41C z_qWvVo(*0$e%Z%UMW_4J-usrI^ozoTOMtm}&J3xj5rCd&jrTVe%J<lmB}Kkzx~>ea z%Y$pPUH5hQGzLqI(>mrtzA+O-TV{#d`L?qxWUUvk9%~a<=kLYpi!B_jN1@h*0cwFf z$9_lxXiOyRs~=GzTKTL>l0HN<+!5`oWvU~!X3`!%#1ExAq%J+sZ-AfL)@*WWMa*1% z(!diN2_#$;UE<7kDH`_nb9wBK`f!aNjpRm8JF_blz)+E%T0`JW_;?u5G_gh0ncZw_ z*=#ikf0XIiHddc)Lk7GAW%F_*eIq!z3UMCjuJ9G{jUqa#;u@=BORDJKwlMzB@h`UN z^YHIHnSZ+R?=M^axA<52^ylN>?+gPBRRjEcb=Lnc_%|M8+6Vs>q6y(Ry>`F&7llyl zg@3=n)Z-~}cqTlD3cnct>fHZ`e=Kg?t%QFSS^Tp_Tb9GW!_Q$gXgk(sgWLsL81+S@ ze>@-vwd}u`RT}%tKNa6gbPZ|$;%g5$GT=}>t;nJyXATvnkEi2HU)CJ<z-PE+d_WDA zZ4pjmhZf%bo8`72)P3o-Eb1D~(3T|K$b^abLa~)@hp6T-+p0Fq_SJd#<>Dii!|YqE zg)OP$KM-bT`H?(+D$9oFsYvoDZBe-hp+-@Jme6_F@xCGc^w*yQLV@aJ-kex+hLmi+ z&g2qyFqCYgrDQXONhGT<xm+4)ItAY@CEHVf_tCwK%1cE)cvV`^bXc0C&r-6f+iv`g z)M#8R?N#H^CVd6RhuYiMrA63%t>HJ{Zh^iI$z|P(J`6LXe|R5`dGB}V<sI=u(GV)} zC*^$gjaW?@mI&9w7sQR=Z1^&k=M2!ncU+C~g81V(o6=WV!h@WPEcq&+nF;NK<Xw$K zTb|;$j~NJH^rPDPfk%TS1E@_cKZ{vgfrVcaUWnyOv2Ix*AaEGFgbd8Xj(g>ng7n|e z3ZKdk^x?Lzu4ceEhl_h7RBJ`OVS6rq-w0K9K7D!WHU^N5G;v0-y)<(#A$`9Q19}nB zpHlM=QX;OoXq44=RKJ9gAq25%zFTVN8Dg(`QjpInK{h!g6MmASdFvEx52$}21_~6k zaWFpuqTm9t768_g$uy1|@$MtN5e-*M#iUS>AED4zv&Ecnrn;}&r*30k<0ojPh=DK< z!Y#v)>5}2|Hsj1#Nln!Al$M40t7L}#&m*_y`=^?`DaAtKs9<pZ(;lm#sp=ji4M(Zi zpL0=g2-=fHKWgJ!Mr;pusOhgWHF`6KvoAQn$Qk!ne@qswQ^Oh!&P(I#ym14+O)1wc z$PcCe`;>tlW&0I!*&<1e85daIvlZv9XS098#i6D+mi3qlf&3B~$Q0bx;X30txruQw zpmR!Nl_c)nH2VhAYe^5u5#~`c6xB`?ZM+;s;~TNc4`<JE6DP+)+ifXg2MpFP#@d0t zmI2KJ6arUPG+`W9PhRP_FybYP7d?Lq%VT0m;9d#pP@}|!d>bIB%$iI6?CY{w&MEa~ z0W6a`<|WxmP$0@)3eRe04!?#>YWh~8zN9qi(>Vc7gP1ygtZbobBa=GAN@T*%JmVuo zZGrepH_<y$-R+-723!_BX%Mg#JeCPx-5Jc@K#^{ljD*P-Gi6=x^_a4rs4jPH<OkKC zKyx8V!@q@lRsJ(sl7$-kRNnHRDsKgKa`i9TrP!SZ^e2E_pdSTI*?;ZBzPR>oAqe`x z0>!0kuAv6W6~K<!mvDBWKl!WueyL-dXn7O#54(#s8i|FrX$!=?tjxMSkue=7Yp9m0 zA^p$a?J<JEbLRQK*V#O0!Y`V7F%KT;@1@?&>g{p6+>tt!gcPE<IaJ2E4acgvrLK?4 zM;khcug3<jWLr&4jb<_DmkUy*s;1A#q+jZ8OZ$QEpAU|}I6(CHlL_A`j4+CWQ+|GN zD*X@heZ;!Yn~_^_xyoDr`yx~8f1dBt9{ar7Px<27yE_rUpXf!DCH)-`J85D;V#uOQ z_@{sWyt-dWe<9@Eb!$Ak?Jsw-8(QQdY8Om$yB2akZ=SdXOh;Hl|H|%-esjIgFjQn2 z2G+4}VL3^<41epFY2>Fb`V2!!V3aeHTA4gorCafBZO&sb3nC528EMjbHbTr%71<V1 zNvAem0m~qZ+$#{UBKDpU9a$x&fX>R$w!V?~r@Lbcp7_bAIi$kkc-FWBX_Iu{fc9}s zrENvm{e!JY&c>N=e{d&X<175q4k%g`$%Ko=l=)oHWS@tG)ihNW>clBXKbWS>yhX~o zBBG(-B?(0hoN~+bMJW#}5I4nZ_(<A-hSnE9bNAhI;?qCO7PyQi#<Et=V~?MJ-f5%7 z$$k7V@QB)F`3Z^ME3N9?&Z-HKJsU^&pEJN&wQ==br1Nop{lsiz%}P>39;JCYg5iov zeXxSTK7`wf^gz!4>j1%aoCtyyE$T7KY9OGWS^bDyLb2Pp9FeT_$S2MJ8gu@^$$M!a zdP7e4)j&+gZD2ndi04=>c^U}cc%P?)xC+%k{#4m~3m%QZCLBe2Sd*QlTY);3e8~J1 zvu4q2X#*SK$OcV^&hyfil+`fIGV*L=g#UB#E6)joec9jV4-m#@d&-nz%IAPRS;@Ur z0{?q9MPv)yx(q%|Tg^!>Kz68BJzuSQ&=;(+BROGhQGoj}bT5y|$RmtwH+k}=K=xIQ z1OjO>+P;RZj_-6Y8SXD`(ocTulJ_`h;xfMpmJ)^ohR?UjcB7(=uldu1VvH9mr{;x4 z1t`+vf8!H9;*(1(5klg`z@9qqT8p58e4AG3vko()M)C})zJ;|&?6HrJeHrU(H^EUK zYr`r%<B?Dq4Gk+jO}J>E9-Yl=d#$B|{RdJ(9z2g<HDhmmv>BLX95J=oc6cs@oAj+~ zKI24ZMMs(}JQ74%s?*99@g3>CY<&47$x$w6^CpYG-v_b*W7i<YZYo16;c9wsPSN|G zZgd#wGX0>e1RbWaA@#yH>?Fv85GQ;wLd^%H>XNl}xdC&Qst%Fa1{2Es;aUHvjavga zaXwzr)M_l&GZM*t8ao&{<g{nCE6<RV!atj4q*rMC5S=sOf2{S#??7ukC@{{LHuyC3 zyW<m)d~wJs80s~EMK*JcXln75Gqi_i>vvjD;_di&mv5-q^cl9EY@#dD3P4fPL+t9L zaf0A{X)G^C;e3bX<y3Wm-l=P;$(E~%`+~-=iV$H62WVrP8Pw8Hs$Vsl?Z>ex=tW6t z_h}eo5dS!p-Jh(ehLfY8T6R`AOOMu^CI_6C4-Gi;Ju03xtYBL~!I*+tmS>xy68-w_ zqCW2%-1>74t)Est)uwZqKb`xVP4w^*S=7tX{c!R~4jZ}QmI7}m)f9a)x^Uim%BT*B zCPnC+H>|hh{Szz6`h6bS1MN=D#@WcHg-+W$ay-g9Abg)bNC(OYG5W#$L+5co=rRAO zmY+f33g%xxoc1(8OxF-(C;nfoX%>#tdK^!gd~Yn*_DXLqkhX`s>vZYmU8zf<cbP6l z-dA-g_AowXNK_xwrH_XwoM|ud&d{Z=$C$}>Ri(=TUZpPmy<>D4;2oyRKyQdHjyFJ; zQm?lzgS-s=#CEk)m%-i#x(xBud2CloC5r7zX+^PJy`)Q-_lz!wcpG#%)a%gYFz-QK z4)^ZS<p}RCU5@nb(B&xaXSzhZAL??n_kCTC@s{Z_)LW!Wx%VAihIw;zIo7*Im*Xs9 zDYh#mG9@kt^>*HhNVC}F^uQvx5!NGE1Pv@Qr}ayqum2Xi_3B$eZ>RNep|mE@`#IGi z|JzNf?iADs1A<%P<G7VVVA2*zMcCPyD#a^h8E6=f3gf>vMHS5Vshh;i0o$xCHb!_v ztmdPpGs!VJ?{sZEgF<eO)sNP^9CgONOwgi2>HqdO;RwX@DlICLS4Eq=TSaCd7Nzxx zE67#KQA=;y6UnQ%-6XD!bk`UN52_KtZdta*tK|<~v)*+kq|momjH9QlESc~XuiJJ+ z@ExgW+?L1jk(H-&miOD)x5+ePC4i3TSyY}XAIUO&l5gFFva!HBv1GA4@W)RyhNX@@ zazIe;deW&=@6*&fyu5|#&XEOu%gKAB+0McuH-$)a!&#+N3n$S;VBob8S@=G7D_@go z?$BuH@6np~8Lanp{#MiB5G-WjWd&(tK%xIv0&@XNrXYP%OfC^f+wU+bnea&FT7j>j zG((5RfP;DP!G|6M->AvGMCM@s%%5K~C&?*wjuvfvH^56r8R7H>ByJ;WMP#<rOHswt zo|BN3S=$k8P)>_ZH|!i&hTG_8vC5B~#j520@%Ap@QB_y}e}*Iw5IBP{5UEPkpou6X z7BoT71Om+HM5v<Tofbr@Rw>K~-Y}3vnRgsZz0|&HtM+DVTN|qa-or&e-+IHlwgqoE z<9I<^5uq^u&v%_OmjL?qeSh!s=XuDSv(MT4?7jBdYp>g0D;z(BkiR1fr|uQxzE?b( z0eivd<sLo^=z<UF3D&<%;NFe@-PFO(ixU5k&hUBqjo)8q^t{vq8Z*<Uc8#fo`4u+V z2BkM6wPqr0%3A0rZ!6q1TCVXQ;<PC*NP1q*ek_=BuAwt>2AV&OdT}qkFeC>bs%(O| zq#GJru5q||NjKk?LFHibwZ(Qd!sr5)`mOUCkz22R%#&NMzfY?TOGtV+`o-U@ywN;P z4wn0b`#!8!q`&RJM6<>48kg7{y9iRShbklySV(=S0H4E85t&(fKj}GKCCQR8(r}>v zc*|YsTOj5zt_E*A|A{~n{~?$|<l9wqOM=Bd2`7PS8bz6y3Cyt;-S<u2#}FyC^bz6s zF?LD}3RC@$xkE$iCR*ns{X?iUe6AhuC3g3`0T0)OL}0<AY8Z+Jb!hve^(Cht?LvR* zIK}P?*0C|nDlWXFZVRp4TtZ~=qaN3{SWStcN1aqcdsv)hzfF`3huZj2&nCXVB^bY) z|KHj61i}YVYF?K6T<cR?&{t_nU(z;JmQ0CU;$znS6-=ioiM69wzaCD^_BGeP?_9SL zt%>rT)&EuaRO7Ti2%@u8Qt}2@1yl*bIGWsFvF%!}D$DeW_G9vriEP_HvsV!{!3?ME zLAuiv+XCwnQnbU?wKf!z+0n#sNEW`sUy<X;vVxHzW!+kE&W$G<EZ)B#>*?<VllMav zqvQt>Q6*F2Fqz!z|Ld}W`fecm-JyKfeT7V*tujnDqoO6tm{!Qe5MT0)#gA!@Ur>f; z+i-J#dgCGF9^Xd_g${9w{>>;M`8xdRz9Hj~oi_Yl0KL1`rin!9UrJ$i<hR%Q&c8y5 z`NUu%kHsOT{?0S;jH-mt2MwSmxze3Bt)}3*)f!)DU8jD6#S34UR~1~hPB-D=iJRsP z%RkvNZ+N)4``m}qBeMB$SPuDD=e`1!EO>kFhEQyqDl8#wMY`4ap<|diShDXm!eo{E z3TNS9pi}!6UK*!x;XV$vt|_m5D<#SnN=(K~K@|UYl#;o&(_IhY;vc@i|4sbg5-zSK z>M6rp*$^bj)_aXxpDM<|*L4NwNm)}Y)%td^=C^i(*Z*+wNNn4h%NL{n2rb$v4c#O9 z!={iWnk?$8JF-NREl<Ry5p0Z}SKFDAB$x?A*%J3SodFP$9e7S?*`7K=i^VE=?2)@N zG!T7~txpr^^eb|spMbcQUT2-Gz(pzi0@*+~7FX=F;xvlB9l#9cQQ-^&tlj6g_}mwQ z#piC~|CV6!fw}3fe<u2#fGG^G+5^K2@I(0R;WqHtRS1t)y-fso{NPU>JW9Z^(Tx8M z#t#KkW=-~G_e@NF{C4WPb$d_OvQm{i`UuqEPoua{P&f9B0SvuYFgA{ebX}ZMLW$Fv z^G|}UoB!ozR3Jw9IL0@Q@r`4AWM~mOuVTKR%g=Xi`I2R!SZN7rH{|z|;u0HQsQwk^ zyMFDwKAHq&#YsJ+HLFC;y`XBof24lKy%rhk+K5cLC-e>S<&WS}&{Pcx?u<a)Mpo+( z87Ee?nyWtz)vpUX<F|$4V@S7%T?!pp*`Kwbcj7Q4U&KtLSJ;P6n`YDZ>pP?L-Ne{o z|B|;{;3bIj6NfP2#G`qjD{Yp3&WIKgPUU9>TPMLD%R0I(>9JaglyzOK>y@8W#O5P0 zd)KYIs^-hVZTlA0?A_t{t1X%2>+tbPM|JMXm%HkgyDH9ImE^8Ub64GSS3Po9Wx1=K zxvO5et9^1;y>nN6a#wwGS5EHApS$XpyV^H*)jxMNAa@nWT@B1#4a!}W=dSk4T@B7% zeJgjhf9~pl+|_}(t0B3oirm#fxvPV7SBK=TDsxvub61Dvt`5sxRb{X8ixd3I484#e zDEXqG#|!kI5{w`3*|Sy{f4&CwaOp!2-&j<j0w?~8*iZ8pBJ>8^t{t;{Nwg+WI<8_j zb=~QhtHt8O-4!?t-T%DMveC}uxlE6#b`FLlzzpmhV%ca*DxWN;)hEgfll#(;mP-hx zC>*N^#@MuC(};KjyIuI+W>k85@7v)RUbKDg{Jj{JVA<LRKgX&%UAu&PO2Q2qqEBQ3 z6?7==FD&V6UBqu6TcRvZxMaPRb0?N4hdmF9^@Qqso@tqM|GmC<5$|b7|K*Ef-aP-3 zDX!kgQWf=Pzyv@q9L5lD82fo+ZCElJt*F<3b8;!{?027YI|*dewdCaoxa?xBeK8YQ zX=K3Lud@2hP4pa}wAkye`sL}53&}wu(D$o}Oa^+Vhvk$`!<oRz_W;`jkpvQ>j$JpJ zr=>3}higrY{r>HxMP7`yFJ(kejC!cM1=`udb8}-hllB{WCU*4g`*Hes7G5K`GF^eT zqy(z9h#JAf9TunUVIDDUSX?*$MxPutGo#LwHrnS#ZNIIQLgJL#H+hffg$Tva(30dX zWGz%}cnprZb*=UB2rB9A;yvH?^sSwI?SJTsWg59hTBwLU90nNXb4edDPlA{M>mkiL z`*lTD2ZOcl{-;%jg~>&F=(;<+>q-q;zgU)o)<$!jKjRffFMxHxJiwx3=zvFs`@D%= z+*n_4y_UTOKo_boF`gZ0wS|_Pq9f$tL?BMH;RHG<f|ML?Um9CZ5zBQTcPx@io*G^B zNO#84xB|9?FM>pCL$Nm+Pi{Qr!ctcI>G<cN|6}#kqz39MOk3-Ys`*IZrFW-oGx({u z8Ca5J)I*ZwP!Ih<KiyKl)=#k|GekYaF_j|JLreA3J*D79sD~Eor!2j&qi6bxj$Y}@ zI`&D=?dYApq@z#z!j8V_SshOLdmaAtxgGt|XLjtHKCPpF`s9uQ>61DF=@U8zrYDkt zZCpor`nZn$(xW>Dr;qOVR{E%p{nNuc4oDx~abWt;jv?uTJ1Wu#b{v!*+;MPvV8<cp zeLE`CeLIGxdvzR|?%r`&x?4vTs8azlZnK^AY>?jt2$=ZPuY`$#zdtC*$;C+MIc>c+ zL8l`U<E0@F?@bKEReS@T51thLQKK+&Re+Alr8jElH916T7raJ5*5~x1&?OT{n=ga3 zJl=fEz5;*X&Gr6<6dRLMSwP5ux$|2usBzhGkIxFn_kLKoqzTy}N-vpG%67eO-OLO< z^G-&Ab``xr$^XrgSaGkrBtF8=Bflhm@#>yS;^$b)x-5w=enA1M^9lgfk31~`6c#7U zbOtg?udM2B-~()>&p+V8*VUu*wITs}4!<;FS?QWAjj_!cG?zL13zmR9Y@N1xY8Arw zF?O0%r4>%X;xQSpg(?hefA0b|e11PwC#R-t0l41#+=n+!EPB{a2T}_~;S#0$LcAXC zr-C086e#Rc>TI{5I#=aHx1cIlFxoBnY}dr1RJD7(jq8W4`T=giS1M3c(Nu4@;0qNf za8qiB(S*{^RiKD0sSn+Ptt!B!t0?t`Tc8hEXu8yTw;-LXvfM5BG*|E&x8NTt(2<PP zEd_1ZXWQI@Pk6&5FQ8z3I#h38;6Cgnu+*vGG`FBu1^cOBf?H6pf<Y=6=@uNX0_*i5 zZoz03^wb;sx&=q6K&pb2=L!4C-zl)!*g`4&7@TWVA}|FNDzMKg_96vUDzITZ?iLJH zfx%bgj5iKa0Rg&;Qn$MW<*1<^7Ne4q>4i7?>y2-5oxUpj3ALEMgu9EfT}n^q&ah*k zo}J8{^-dF&CJLAP9mNYwWAG?FP;J_qtcTJ=vz@XtC)P!KlK>s12kTjX>bax`#fq&U zuvnUgMCn&Oq&SwsBT;(5p9)tHP|U9&tvXY{P1mBDZO^p7*)nR!?&(py7pRn@cwaoS z7m9b+M|)Ddzv@Mo;(fJF{L9x;yu)7*mED;9-g;3yv8h=Kch%<IDctF01Tl<z3zx0) zI}O~+a`gT-M&=r%Z|ldl7ay=v{NXA(5ieQkzLY(XGs>FHAIMq9ft=MG$a#_jIgfH6 zXE_IQ9^gREpE!{7dk*B>!^ZVXHm*C_xNc|Tx|NOVCN{1gv2n%OxUOU4YQ=bQ75Wg2 z7s?=q@!}Hw3`kv|pFoOiZZck+p`Ssill4=cI#ECSrJD3JI5k#3-%1^=pZ!xK^m9O} zN<Rmt4${w%)L{Koq@)7Hc+p!w2d7H)b4Y5JEGU&Jg+{}8u|+?Jrc(MjEcK3ls#0(9 zgFZ3#T<hjyym%6)5p{cew|T_6gw6K@`OA6S*ds&!yw){kuK&}&^?ptM{k(Ys8$s;l zY=EwbcpqJYV_Gs;zkY6QD1N-jzVc1W1bY4wDZ=-+=GdivJ58`o%nAg4OQClU3R3i} zZzjWIW@d<%<WE29>UX;6BQZ=6pz>+7e6hb+fXywQ{gI?C^BfK-N*TdV>J$6GJ6TPb zJ;~~eE_oqbe90#MZwVKps`S)h(vL{;IATxTNSF9d;o>6-^dn@n2*u~fiz!^6RQ^c9 zpzCapj0-=oV3Sx?OPYQE3dLvp(}znxiYJ@Y0<Kx_le^h2O@Zk9TPQZ$@1{TeAaX>r zG`r`~I4Ls()Ys>6&WOF=U{rOiobLFTwfaY$`A02%5qdyvp)9u7nXkelt!BFTFu7&4 zS5KC!_H)3i^!g58fp|#&^70{`h;Hz;NzCm9%<U%hopTREwH)^0EbMBRk7NKCQJQ13 zIN>fV$vWQ{kF5DmUcpzJInJAYO8Sf1&aU6vZGIKw-mE}6&O-hy4Ber}=&1f(Lr9hP zueKPRnI98_vya*X9h^3$UI^E}i}n=N>`S@h5wDop%lv_Zu0OD|_!?eyeTdU*%-@N4 zq)^E&v0U7<h$5KaRg{SFnPmHZqPcIRmqK&v|LD@lve-I;LPHunJjM8QtXU8xEw z`z+8>S@I;R8C(iy13t8`HNku$h~5ZCxL5yfqRm^(|8IiFD`d9f_|&IMzX=|&6)d-{ z#FCL2@c#rJ(egYzs{inB!{a!r?F}BgOwf1XvH0aec*ILjSZd+EquToVa=m&=avdlo zWTWI?KcXbB4&i)md`LdV<33UOs{fW+idbc_9is!${Vp31KZ@6s?S(J$!Sw5yK!|-T zwyNcGU+yvMA&;L^%owXov*GyB*-tb&_xFun!3;F<4U*+$KN79|80E&ql2GC@unT$c z9gKy^A@7h4wC&?)|Gd8`X%oTWmC;j){CZt?g<2eJF&3GxE`f;yJASKeR4d!om_;ka z`CO8{p8=#6Xo&>cVaUB$i`uR-fd~bhmcN@*@+H3XZS2y7-28%S$qj>C`|~rM+LyEb zW8V6g@!517>=;L5FMtHh^<!dvMBEt*Avxf1a4PR>d`1^v<KrddxNa$ZzuDI~@SAV) zHC9XrR!j1?o^=h|^GtL4GBuLxGQ5v<e|M+iR|0vbV%bGxV80yMWDkF_c<JFc<ne2B z!tm?Mx*UGJtdau!a`i7d40tU2!c4f2p+Lm6WQmrQKpg#Vw0C^`$V_KsOl<tf^ubwF zaqd5{CVBwdUMO*`Uc^s%-FUIan$|1>b|ul-8yR96HO$!azJxzY1bVVKo)GVy3H$^k zC>%mIJ~i87f&Xjge`Zl-Z~m`}XWjMv-+sgUu!}PNaf0=GsC~}BFqysIaC6uDxh$W; z=l9;I`@O9n{JF#NnoxXrR|paY$smYFL3H27_(VYHwB5|O8)FkkrYo~>WXYXW6P-uA zhft#3ARg=9xNf3BG92UhgN*dvio;I_!M`zc(nw<KxqOG#*~A(xv;#w}Yistt*lzfB z7J`L~jd+zz&oAI-(~Fp%&M$0wF8p0?dcH&<WSp?p*HNIL_}&X2FI-=Hzyrrg;9=>p zhJ8Ie{Dx6ZTL<9S6RWPt1ET<|TCe2L;yeWg5G4pEv|cb#8zl-riGmrPoH#N%!s8o= z_d4DM3_2(mFl<m=sZbPf7C2&hR4AAb-o{Y6+HrPZbLy`YM(}i37m^rz%RdcN$Fq<< zO#TZHmS%RXdf^5Z1XjEHYuVy2{+J812IEJd>4@>1`1*z=mj%$z_X?mndtG)0pzr1Z zbfrIe&fn#fWu5w;g62%vTw`ioswIfbN3)x5103i6Qs4;U;0byp#$Njm14qq0IdD7< zT=xXWr~A6#IP6gu98Ii+0{0QvX^V~HL1#DgS>r7y4%0`o(7Dlr&LP>wWJHOzv?-Km ztK6L`oh@+_)fLPhMo0V*5@rtgp8}@QbV6I$xeDTJyC`$ov))>Yd~OgqknO-jklzDN z7b4)r=6)_94tzv_$dhBwp5cX)`TrXp9n1b#@Te8jAKNQDCbD3Rw#<~05kB$PIe6S| zyO(eic)aR&;n5de`(EH-(fnaYQ785Y#|eFRSXat|o3po9tr4Z2WR&)8qqLJormM2Z z0i~Ucx5dLe$giJJtOvo<J!-41VUy`4qy;p-S=t)9KC1uiu7Uve2N^KIn9byg`{#b} z?4&q4_!qq3Od$Q-$Vw6DiD}qfFQLf5zVL~dUfm~01hb^uqud0r_b7K)>hzjap?T>? z3o(?qhK2aaGmxe_qk?05%Kn)MJiwClP_2Q^8QD(b%8Y{wLPwFC*yIM>7lT-Gljl1w zG5^_e0h~DXx2Z}O{t%W42Y)2WtIKdOJr}0i7)ERxJA&&b7!3|5&c_0P!1A$y^h<M# zF%xmAwqV6sk|~ZuU$Qv8_y#muelePv=ISpj;L%R!x_zZ4EO7RFrNC8zGvR0cn5N9< zvk%M#HZAj0Y~-3<0x8b9b}ZMyIPyyU7Ux<$Xs-UC*|!-J&DJ|^Bv%xRUEJ#3AMG?+ zD4DFzs=FOV^3DXN{?zNRoHleIEz?Q;=d3>V2d{~9X(IKd28%nPf_zkm;yBo~TvdvL zPK5^f(d#xy;-BlRgnKN)a?T;M2jdgUQ7Pc#c-e?x{A$1H6mXEkr2Y`h1t#?{4t=Q& zUi<mi=f7wi0OwF_AZ16+%%qm{RwnT5ioN)06v}%&opwcJ5#94Af3y$28nKT|Tz(Se ziqz{I6~2@%gsb0i7XM5W<J+7j-%e>7d}lzYF}$ySFKysU_o&^FE>?~B)ofvaK|TVn z;Ulnpw=uoV#Cc<CmV|v}PN2_BU={5y)U%Jg2Dpi@zQ)iu5vZ^(pj^N~;}6$CN&185 z7iIfJ;bE?(&YD}7eDT4q#KZj2BtHdhV<a3#mUCcZY<kUQ7?7C~V}E4dz1;mS`#1Xa zWUIAS5Wjs&I6fleE{3Coa3;~?jcF^PIdL^BVMFA*?Dn<_j7nr~F{Fx|D6FmiCq7@{ z>UW*R-KcK<sEXs%2Fww(NHPLqfXs{Sp4LpOVh&V4T?&Eqy)SRi^yPTBf_WB6tOtl! z0^$vpL_hCUZ*{2wy_7D-KUyuDrsMU?&LdGhD91#&x|(scYO0R&D{x<$OtF3J_c-$@ z`WUN51<BioSyZ$rzFe7PU-u)?gTN9st?#(a&%fKPA`QuGs)RHtU1d7}eH@dAe24YU z_=d7KjdZR5Pe|7xbelX`;0(K@H=~(9?>?gi@+<Ty8046NJ0-OuBC(gUl*tqgKi5)D zkSm9?)8-?kI1!zAS{39o2@Y!-ST?s`kkjFK358;va-8~52+q|GXYm4?>aR?TmKf7F zSiJ*jS48YuJs`<Tb?O*h#i#Z~v$e`ue1`6PpP`5YjrxUrgr<KBFHlM?j4mDpJztzy zls+V<T)`n$6vbVkA4?am3hz*4IXgrjB%pp<2y5<gxPYN7^P9GYl=Rn!eQ#&pZdu?z zB=V@Gmu7f*jv{NdbJ}F}EP#a4R-<nU4Qm>dA3v1N8$XX3zs}@tS6barqW2(;y&rpk z(e=|IDrO}mPUav+zIN`6u#b>0s~GiBL7$KJES6Jln7Fd;N1b%vmIZQa?W1dDhj#HK znA4r=NOkFNZsWMjd#v_RT$omA3^<c+=Fto*!PSmE`2xKLQ7ApMpzv^AL+&`G?B-G7 z`F$^gXoLzff;Wj+-GL4d1=svk7`c#RJYb}Uc1t>hcG<ft?5<FsAe!=x%scY(09Rff z&_!PM?;$S_059lSUS9SSZ(Ku_ygVXl%i|3ejkmMUVq5LXAMNeD=+XxvJ4Rpkl$Z1J z?u~eS7s|Jz|Ik&w)&6fg{wrTE(q(yaiMa6O4BBZ^(2dym0qMiCY!^H^(Vco|1?<L` zyQ3F%cG`(ximk_`(8LzPx6e<C0u>gp26hg>vM*Y=rsHESYk*1G>_^yzWcDgbPs{`! zK)gps*41ObU}wa~zQWcV!E`wqZaVzrB_%9B6C(#iCt=DmrF0Bwmi0#P#j@<PVFe<l zzfj4wxhn%V@F!W;xU0hSN~ZbnmGE#M%EXZvd)iNgh1<-Jn%kpg@ks<Wi7vW|k{{e^ zba6NF^1M=)ZGP>KLRj1Ha`M#wM3%C7yAQx=-U?+YfAs3FpR?$k-R3KDURJVNhM!VS z>>LpNcfs`mDi{+vv)PM~s(@4xt1}fbE@o`gErQf@k9o_t_xlE^WvpTkQsV*no|5M% zCRT#@AOFyGN6Gq+8MFIu%NGVO;bvoO(txh=1(?1!`NA+gY^tVBdzUXxxuH<LI8vO0 zTq^VO#VSUgmoEl%kuR3{^76%iXrX*z*eUtKzn4@u^KZ%$3PVp%z5wDkFn?M3;&<;F zh)=mS2jWdk)86Ha;q=4gi>JD|^2ONS3*PXlh}tG!<oU6|S?s|_bxWi-amAQaEihxr z&b~?WycrrLO6;;^Tkh>Td1mk6bgTpw8PYP*eTb$0=LME`DY&-u9<E4?fHkR5Tnx6Z zSPw2KNNb|y1#LsU$+`B=D3k_!8S!h_!Dx@eZn8O@yBZtZXL7ewa<zT3$<<ytm+_$o z!ZQN9?Z)fm(^T4dqo#0brSrr@a3d3#jvJ1Pin~|;3Dt#;2ktha-SP*NGn{wlYdB8Z zt2Bv+<K9OSPITBv0=S!Jl2wdFt55RR0g&D1_;8QFS>({`X~_Zwh7#xavqT!%xEb8d z@QnR(B9O~j7+n6u3;+`bgc7i-F=gbOi8dumaM_Dj#~HjAb>~u~8DVc3*gMpu<I)o5 z6YM1-gU-`@kSyWooJ<Gx<f45meT63}BR}ohiT^%M)cn)){pigKK%m|{%w*}`HNp1v z(fP{mmM6V?X!dT0y|ooY7OYULuYH&K?aM5dVSAwq{m$8ydBC@)91_DVC-Eo?;2#j@ zOrRSlYdjOgb}RS{4?AY0ofNBN%A7F3m--=B09+oIYdszfCDRAVAq+-?sA3TRxNOfs zM4U|Em)2Ue)LP1pX@o7-J;t=|M;a4*kp>Y72!sB5kJd!4Fq(GxNb*V=f<11JGlAy+ z$gRKDkLGB#BuY=l^CP!!mTLn{F64Y4)|HX*()XgS6=4J~-o>>Mt(*%+g}zc@jM+_B z(kC2h`><Z-oV7X`uOO(!GX`!PHf&?&@K5Q0&CDyC^fXVwGM%y)q!6HNHrIFjNa&Mw zO@o;?$Bzbn!AG4;=2?yK&COn$7!_9q^#VO)R!yy0{r$i6p^eGazY$=F`v;Ez%arBc zL@m7WPy5@R<HvQK@mJHKbmSWb-4|t^2Ho8q^d6%<^!+_Y`;IgN-e~U=vHzcp_GjMi zz-Z4jO|uj`jP~&z?r2~6wL9ALm)K}?$Da!1R|Y=YJO9KAMh)8GqX#8gdBd9Vuw1lO zXCvlTOO-b?Go*+BzYiBx0RHNgA>VV(jh%Ws-78(jB=Dlh%B7qVxIl(-9#sV&Wfkb( zHAY-?6tiO1QbJlszR!uEF!~r%*M#f0=)j^gE=fdr&RIDVlEU6{{0Qp*hV;mjSIEn9 z7XU`-6Fq_avG?qz<G_mTw9kaFxkv#L)FdC=zB7})@e%q9Z3Fc`Np2Wyo)^}|)D`qg zZgo|``gI)d+-9^<$8v)8pE}o>kXMblmKQ?4HO(>H1CHfzgVQc27lz=pD`SayBN8jy z0y24>wlB&BvnCU0P^SrSM88EIr$<h<q*!;+Cyrwt<g|X}_Rf{bIDI>!po`{XLPBFj z($@LBU$#g*|44mFEtjrlNDH;uRo(>K_b~CBPt-KVV<!F!MSOno6{z7twy=}8OQ%Q= zBM(_%){mWb`TFQZKe8~3T69|ncQmcOG|ryheb7C~1IEuT6xOnjSLoxa@%QjBW?l_K z1E;e`sM|$pqOS#pTn`UX!JWn0ej_SerFe^N9USFcXC-;zb$5NF@E5xv>8j9X8TxW) z<$r*_WghyPkf1YaAv|;Tg1$2m9(6vK?}zK(kIVvpgFf_NoZ>@Cv!yxqMcBpPvZ65f zOPpK~S6WLj3`VBz=N|G-BAyJZwaaW7@=ooFykC9^^4^k1-p$ECxsccGV7g@w%$-R6 zurT)`HRNG#&_|xpOTk>a@3fC+R_VOcK6-b|weP5>9@@r!CT6_=ZBH~d;U~;f$k6sv zu2@t;TLKz>m|QR@-#O40O_jA|@q9nJTDmH7l3wahb=r1$IHsU35YVdaimw+4Uq9cv zGqZcwKDom~))jP6y=uSELso*`ddSKa(*;@W{_By|9_NuYIE;CAvEMx$%~)Mzog4Fz z)l#q>G0#KR@f4fzIoL|__D^F&rCXNwj;kHq)8FTdGt9rmxdi_fj$bvfi##2<sKD1p zJ0F@i&$s0u=v3q!X>F=k&OO)j^Z84men<I-S+3vU@8d{ucgq*rC-C<H+l{Zyh5KWx zt7Ay%Bnxp87p`wH=LnFWv*$xB02bq$W@@$5T~%9%)8ergyC~LJFaMoBZKPH9^l2jt z^l3-xf$7t}6i(;#X(y|^K%ds#)MGDc0pLkmmaYIAh59ZtFsKD-(f*(dJA^>siUH_D z(R9{#eIMAizRmg4)9UPTxcGbc(|vCf|M90g*gb!_s)2Z7(f49+;2#w^+&zGay{nV+ zv^siO`2BD(bkxop>ilKAk?rUEepC8yau%BxF!IQh;L3MPB$zaCUQX`i!8AK|3sa9O zxZcbHxTCQN{QL@5lPGM+_i=OV`}otX<qYlLBlXSk<H#fd{c0>TC&i@v>7EBKsg``b zzx?8;rEjPI*k!zCJoybDA~!SJ<R&@Wq1kRC)RPiGEkz$#RyKD((}%7^=dp%Uwdg~0 z{xqtBUT}`57i>;&+_ZWJYHZdzszAR~fvzDT>|5oj14BNWwD!5YliuI$r&P-|h5byu z%TvS7X@%QMqV%?FJ?yOJ!dT9lKe=nMbcB^?=Yl6GXRev-(p8-<TUTMqK6BR}HBc|Y zCm`B>3zDK;r*!b%D!1>YvM*ox@3*UReuLUgUJKg#_>+(hRrGF)!}Ztv@7Bi>tGt)> zu}BYWeN5I>Zhe^h`yT6K81IPsG@x(()2T*tZvTEUFgWtWcEEXHjvt2pIPF7u+XP0I z%x8k)q8+(&vgU!v8WdI1iFdIMCy0bM7&p!Xx`m+mj4oi`P!@BV8Dg{2^idomKe}vg z$na?`w0C{5{&Vo@*epN3H~QtaOrONeL{3T1C|utt^uWKFIlXkrK*K-rXW-vJ@b5Wi z@sFt+_HlCDQ%7TpP|6C%=mumENnE^TCktRps+gLFcU^SQv1IxqDB?q{9?m_6cGS@3 zQ7eJD(eNz@Cb)DG62D+l?%`Yo0`V{OB2z#Bzk5t=%X`1sTjhRxshr4HzR)V?;FZ;P zkj{p-gPf!??9ZC1@3<=W)zo4(Pso6DNCTN?zQ0h-N(#3<fZz!-P)k~he!4T~$awB* zPmGn-SP!T1P_pKn|8#|nqN{8bxcbKbraynUGS{Co_Uz9mi@&Bn?|<?Q{aMdL^=H#h z-Tur$1T_(_$@M2e$0Rp_Q0p}~3{6lvb*4BIYRznk9D^=96BxvSAOxsThCmf;umhVD zsDN7+5<3o-HItl8`=Qtn?I5>wW<A-)KGPzN)Kv3WW0T~C<ayQs-Oy6<J9d{R4mo}7 zDLR=NKc0BV7ut8dZ_ekN^w71;|MO#g^T5Jy>J~%f_FFZ|-2CUxyUL&04VVF)pT!;n zVcx@^`J9Mn<okMm=6m}T`ZMo^pOIDA(<Y<9%*Qc?m>l{YB)G%@4d)jZdHYv$J$&+q z@WQWpYWiIsD|4tueFg^!VP&#z%K-5?P%!#TdQ5hFnV0s6Wo-CeX5@fa#yG%2$CGQY z#H%rCU(cp~2z2g;Oi(Z`)zlo;`+_WFZ{tnE?pc=Uu3GrO>8ha<yto;>WfRMbg88*S zabeyiUy{ks&zg`(L|Y48l-EeruZK{sSJaSc#0^Ahx&#qIvRr&(g(yRrvuqVVUJAep ziOA*6v7PB^?ap23+v{$eoI{-UL&W-sh$ml_?Y;ivxlxN)q@8+NCh#J*QX|I%qi3_X zkf#&r!c*ztnZSeiGsyhGag%o|g025WV4<@srz^71Ts1j8*-DdgNl;C;e{?GiE)9vz zrspb+1uHDF{>Q;sI$WKeoEUk8c$GS1T+D|+&ga<^yW<~(1ZD%KwOpytHw~=1)VWNY z)yQoZ*&6){Yh>rY<w{uxyQ`*h-7S?J%ZnS-rb8mBzLXZg3p#*ULg*iya+XLvMrdK+ zJcZzEu~kG3=EMlR5Wprh2sOiralT;vn@+2OyyL432ZepO`ZKJa&b3Q~=w!AG`Z#h5 zUxw**6`B#~#SgV^Unjn7IQEb9C~FV%w^tcM>FaX|Mg<$^)uyU-XyY8K7c7RoBE2Nh zPjHji8T6e^7^m0-kOa7gV+&vy39eNXJyol}9Yt9teS+D3R}p0-*{hdAbiJ;Qrp^T} zmRRb|<Ue{+Oj-I`HB)6r(7l}MyG!VL%sf}<=y_HgC%X68C0C20t#ZAE5`oLPwL=*= z@sFJ)lG;`NUi8s#jS}o~mQVE00?6H^nVaMIyX)BK97|h5zU~%Y(h2A8!Xi|A+NA`< z!)2IRem2?aTX*0UE}3>tCh#6Q6FcWy`?L<ayrMZG_qL{jVfBiYR5m%wBb9x*snERU z(mpj%esQIq&a7lHqD6F;SFy!4Zz4=N$Jf;jFYnWInK{Ix+^I>At((>UR+BT~<0hx+ z3+he5h*PfgQ4K`ynp8HcF*YQQPfu)8w^<Wn^Skrs(*5~!!GUhHeRlmCslN=JX^-6G z`Zk$}7dX{q`Id61!A$}7Xa$ec-|Moz6)>s_KAjdT-S0FF(T5^Kx@Xgr(~YJfWpOtN zM`NsMNI8AFc*y?Faujb|HVrw@%gI`YV=I{Sg$ra<N5M>BHO3hO3L|O#SGUObAr`${ z7;0Ah@kW2l%kSa$W#f7Zeht8H)`a%=Vgo9pWsR{<47~d0p_=Ow`YfGTjnm!;658os zeYPt3W(nR%N?NKJr33p)!9;t8b2Z_(JDG$nDGf<Mfigau$PN;jjYysoN8PMoEdY-E z*Ea|W(=0s>(HXWZlV$~uWb;zd=iC#%dWW7s32JmUj7Z>8^{w1oYNzapCok_V>fLAc z@>_J4e=mri$!Un=2uD}uEa&`}dBJ1?lVNxeg&Mc6@kQ&wvDDvO9Mk-IIQB1@8-!y~ z;n>QL%4SLL)fAiFZB}e{_tXpAps&r^M?Zmdw<s|1MTDfeh8oUwpYujON~Y_edgsM% zvW_X)P_6`zkrP-Z@N3hLil=qjma6SUX)kep%oIz!AWf*#ejSffzjxoM*|X#0vmJko zSA@$xt>%;IzRzx_IQ<&BIm^S9(`Utk`?5>uq-ha@+F!Qy)|C~CPmbMQO97uZSo{;q z)6-3uWWeZQPxu=TEDEwEt$-MqW1Lz^vzK@<iKUVU_0=f_#X){e_*3RCbvgraldcE+ z=3^U^-`^ocx(>H@2|4OwP6f>pA2jZgFU8X)9{SPA2^-ZrPRLB*xF$KvEnveFvUwOL zyP*a$fxdW|Nx&h>%ozk+zm#cW6J6<s06Jqe^ib`&@!J)y{h8XQiKB2nQ?FVWnYspS zAJL`0o_dO>V(W|aKfAT}a8ZN$zxlgg*W_QBu6&pFXp-|n+5YW4M0*>Aeea!J{LL+U z{GA8Sp#|{ttaUOA7-5XPt&EE$PY5Ht^|uhYSr7^YXAG#6pWGqHiLfQl-~l8+ch|T5 z*)jvt8LMkI=wW`b8b8haao`7j?UealrfLm)e;zKHsy06F#z)_6zI-#k4g}Y9X=D%J zn!UNeUmYdLj*u3lg*o{=UR2cb=z4wBX-n`o7~h|<z7<)Z{0sz2+8P-dCOR>k>hjrS z2kUF&v8ZU|8{RJzzh>Lo9`GN>h=L_uw9LGm{=29eV#?OYz7Vt$i|)cI;M|6GHJ(-E zC|)@)6x$2L!PC>k0jIVRK~;IPMXQ5oPii+b8hDfQ?m)bzOnD2W19H!bv+ibVwKZt* zO*2DBymZ=`UIO!ZeZ1u56Df%(q4HQRh>IeJfMun1+yvv;ciTI|PSY08ma!3nm7Kt# zKgjqKY!jC3x>WVLB)hi!%%7a0=E~VY!f~R?DY(exKvJ8gMVcDrrB}P`0sv^|CFLii z{A%B_v}y*xk#t~dWU~jsSJHpo3j~=n?DJ-({yGSb<Ea5CdL*9@D`7}?;x!0U;nuv{ z$KBhh-tB$diZsa-nhW*MxYJSo&{$2kd47KCy3HHRPeZqPmFcr+Z6xQ~sA*5;Zl+*N zCNRS-Xy`V#o`NRg-B6G|vJi-!)AkC)->Eq85?Xx^h>@l&0Hf!B9W16os=gkZj^-)7 z3*x8s8uLMi1dph;SwSLt5*LC&bgKC!d$aVy`OH$!><qPk!wfNgEj<see<t3lduwo= zoe7-Atw{eTOI(S6;YFhFz+%r4HhtX)=W1@gcD+p1Q@(J$eZd=m(`5j^`Gx`H^l4L) z+k+5*oV>2s?VVbG@zVQGV|frk*|~0iTabM!?kNzNf-4%wpE&j8#_<!h{w4-joP6pj zQ_maMINp{cu?0`EH4KYOvKKG+=$&F~n3t*|{LK@kWf7MH$P3Kr<IKUq%SpYu_AT2s z)t|FgKhUk<Mu4d?HZpnd74()yk)IDyi9b2*Z#y$9bQJpmq{z|_PhF4D$L{MkBOJi> zITInSqcR^rK_KkgO7O{R-R6r9ZaKcjxp{TbTj_ll9X~62@x{(9tGB+?@~#i(&$qNr z_px;fzQXJ!#&cG+GkqI`rTKnflL#F7LyRz0d^!^t$2JRGmrbgxeR_<q!MSDaBa|2I zx1pizb7$G-4K2Iaw+Tep-&r<!bjx=4rhD7dkumrCYB#juu<=V?SI$*B*4=5lg*()A zzyGyO!nHx)mdqw%HPCrNF8WqE%T@+`FRX4-g~mj1N6S~f`J4)M6t+gqMFWj3+qy>_ zPVfj`ySh1x*%PrRe@?)A-*e$aNxx90GgQB&!MS;@v#fW&hOKLTPP;UdEnf|H+9lyM zw$zPqj|8HPR~OrKh#h5Q?(^26_<W{jp$}*Uou*wu-!?Nn<lb2!Hs;@`(k=ha3hQ*P z1$F3_l?_{8Z76%r?dHYw!zQNoX+iG$+@@9{e&fm!xc|}{i%hwb3H-*~67ySh;rXRS zAGN4oZk|cz#NYB&can<7C)Eg}&vX2f`Z@l|2jzt(XW8kaon`aufOvf{wm(4(+4z<q zvY2q@R7tpk8|>%w3s)W_v^!6_n3^S1D@QjhK`%kHq<XNRo74UmK5UyuKQO)JtKxZQ z<kqJbU^3?*(K2SA5s|^luT8|o&ucfhI;F_IDd{%g_Y4TqGR+Ouzv?VDFIC@5q3Tzo z52erMd96IM3iJ^zV~(}<)`jYK(caTy4scA{H~lTTfPT{at+ZVB3ASd4(A;wDa6(7> zp67MfY!dYC2vzTj-a|~#91zBIi+)Gm9vR$Ii1Bz?ld1MYvG-;zH4$ZV5|6JU{3(LH zqE)g^W7KSzi?DF9Z15i>*HN!I_6aBF=0BhAMayHlMgGKlY*mUtx@b)c)eAN(*4-u2 z1#t8NPOJ7bEj)`t!0hk%fu2x&FD{CN%_CnAkqyLkqLDpU9YlE2Nu2BMq0wfJg2q;c zeJj17swAX}tt^CBxc)h!LnNkfU|=Oi0!}p4WJWZ{UWjg%2YU53TADu(@AIRWB6lvT z*G7hR^wf%r9K>H=w7R8!c(jspuq_My#m-HgiIRra&K|_m>V>m8k9xLT?i=ph+&Qvm z5R*Wx{}Oo<5;rb3ubhpV1F;rFcpt`v>Ms+}Ibd^3c>7|nq|-{=`Rl45g*u#D*VwY7 z*lDYgvM%-yXW1nn;Z6#MP|#SHcCH(!C-MHIB`V|nQ*bzFY~5}hZEEPjQW!w#jM2gP zcvkrwR(U6@d<(Y~u+cSSbCXC%mblinbQ|6V@-%^DHHjm8-VNo7J;!MsNlVQLpY3zO z_qF5ee2ov_fd2yOE9-y)B28#}D>7q(vut&vsPg5!)NMi=Q8UiuS>prU)T6n7;csbV zEq}W^?cLRDF<?oiksfvvtX+?62p<GYj6lm3z7f$|Qk%H+<b%mG!Vhukhx}cgjhVN@ z@si5a_aGj*^=C~YS`zR0Y4OwJTE_Gm5g|qHN-!b%8Rs)XvCo=WZ~n&Rz0!>?v&wyB zOXG4_iLbg5<h=DOU-Yn+(ZlK0Rh0uQ;u89tuhRV~i}s~Y!yBEOL8UKy;(z2@AB=q# zmd;s@=^-CbLHatej6nmu#+FPkH^z2K@&YlK*FfcLsO^t%<qow&Wjg0}B25G{PX{xr zz$3M?wnvZj7(tw!<d!=p7M(PsWLe0!r7^P!0Hn{hN*e8MmAa>UP^oxr4}!!(&AS9Q zX<BkT8I4)Dll^G}AQ|P2#Hah%M5ntq8u<>@ub;n=&mL``?agOD1LESp)BWA|dz%=Y zE_JCrs&-Cke3wm45<B_x4C7*xDjffKDDjC0IsGO>TPOLNmJFf;D5)mZq_iKc?a@7T zD!(lL8!j{zVJ7fL7(!bl`@1E8lK6oqdxb+NWGz`?Yxd326dDn!g?RiRTiUy@^mHrD zZzs^#g7voOqn|QG=KI4ct8-Ub8Z?Fe5SyZY42$ls+&0ub<y`lY&^K{*<#(Y9ql<`L zagv{{!~tbep*Vti81*~(eOyURdY5S=jsqWwD^X7XS!?4*v@wS5<i|`PbUfMerO5BP z%ZRv-)?#b22t@?+*I72Ta=HWQ@pI0>e@cays*gNMPBkWV*8K>5Z*p+hRftrJ&#)dZ zENj``%W03%bVoPrLwxYEn^Fp))*Sm+dcWLyDeO;%m&f=bSHUCU`0BI^vDB~RR`qMm zWiN?co2H)4+Af0s!N1$Hu-h~3O*#!>J(JT<M>ln*wUAz`KLovLY=y)vo&{ELRqC{z z?Os7Q?xmj2rwtYI;lPZM>tDXeL9iIn{jI2Ffp0|QP$ErNQOA5PEWbMopBJ6>eJM2t zN%`GFt)Kdw#m!#7RNcR}s7GoS-v9_WU>@Nti&Q%7`Y?2F2|E&{$K5fp=!6-)e`_Hi z2`6t1U8<Fb)_1qb&FUpX^_uMND#+CS5@R<i#BS6$Rm>myFH~Ydmc|sg4$WgMSd(6; zmP7HApxNJnW<L$heo;#cr;zmEuYJ}H>K-{-{V2A&`k?GAjgEg}KmMG=BGi`}d<{!5 z9f71gWhE}CN%yf@UVnSBXKOL!_H0E?(TuZ3kGeo>6f5WDCwa@U%t|s^cjsrz{yIx< zS=o22%%k63)|;FWSX^elJdcnmq&BaAH`>H%npD>~dSYF)o+JhJ-J(aa$oLt?9n0WG zZzsNSWzEXyARNR(gj|t*X6acLhq3KUuv~5U$8=YK`^hkb;mRQlf0AI}vV?x+8*7d` zyf=9?e@?IC&-{9^eM5q=$0{AVW@*TnC*HljQj0<A>@Awvcz51j=x=Dr@P+31X*FT; znCS~yD5I&jFR&w?HhO}y{M<SzX@<!3u!#opE%&>=@<kQ&Bb)%g@;RC#bJl_-ZIvy0 zQ00Eosq(tOi;GlFMe+JU^!Vzl5^deZ{gRt2f6Gt9k_Rh)r`zi*wP3<L?XcfpSxT#h zC685hazCpnc1NXcz|{MYf?(pYN;$en3dDNS9hs=bEnypb*<LuC?6-*r-K=1|ZOtZ* zd=QEN!x&6lTsfz3Jwrc07Q8TMW(p0{jQBQnJ80d;+~N4!?4yqVdW#zB_;0q{vLbI# zI}enq(qdJ{TMf0Q8q@9f=E^zx?FV`62bt{00m~0iM<uTsZ)v26DCi9=_KDjWjS>PW z!UF3XWJDTCCeR=49jfzQFm!f)aM2oJX~9AuGTw*zEhKjy3f>Gn28aD&oIZ7SdtfNu z!;Wr`aBk@g$H}qrUbJ^QK;9&~j_jk1Owm%zQt4`3D5{(5FD;7>FecQv?oX1Jelo*? zyV20NwIx*}bfR5R;o^iClc(sWdHcF=%G+sN?qxTaoO|5%v8g&F{l2ON<Lt>u#Dly~ ze3=_mX6QrL+>{?9{u%4CFBhb8{xR?Hx#ZLHr6lpzvyI>4W6NIv?+3*`6MZJ9Mt3_u ztkI*UjP^|Li{y#El5rnz<9;t4VBCS``dMX>sl3h@D;OjG(X$vMA@byM@cP`LT|=mS zcuLOYz-6!90M~|SF!gUH>pvFM2%xquJ5a0|$wRWGKgmxX`#<spj)x0OtBq5~eAA<r zNp8M*CG$_reMP%RP*ifQ?ria+mDa4zO;y%F>>T1dqfA$7s|HeA^)gSN1>*TFvDKD> z#8&TtXV}lM^@vKp+Tlauo6E`jQ&1SJu_|5p5uHEQA#gXU+z6o+e$D0^`u8);U_?7k zn-2GeeeVRTKO{!~+#aFWX}Hyq0vBJazv_{>@jy}hD2IKa__=WTue(tKoK{RHV8^G< zV%KwgSMbYM34?#UW+@;KWy{1{0scc@&L+uWPgx}^xP?F<8q3O2&iUcwTJjS}r&Ghi zM*SGMGH6O*-fO`jUfRJjr+q26xH3n<S!lv1$sd!@iJ(T!@k>BW`bQq^Ba4O`j$h)< ze^T>5$>yJdyCL*G{Ep_I@Q9ZP&xBm9YYJVfLb2m)=OxLHLXYujJ{pOqZ+AZ{3>lOb zhFs!L|5~zh8S$Pqg`9Fh^_2<u=IX}7Z}YlUz?jJZUy>38+HZ<1;;7?7&&SIPYzRxW zz<PA}!0-sRht+mp#$A@27_N=sh*A!vn)ZTHH=HMw3RgC?eAO%3!^Nr9Ei1RzcA{;V zKiFA@i10L#^or;8G^Dx&KTaVL!8rJnNAOwy%kTH)`-uAuJ!NN`!l5)6iJ-OZ^(DtY zcG=GtfGGmN00xYR#A<&!;%^ykgGVi(`{)*aVlI6TV$E-$3V8sv7j$3JRw)5f3FJh~ zi@Jq5?DoUP`@7%Y4aG^~50!UO*eEqmP44^Z85~nv<&!*<QGvYyxM{~0J=cz{TIN-w zKhp*I3jLYg#A<f*XO6ZO)eptS4bg_H8rpExLZj2~1b;a862ILh#MU*@$=fK7y~2(u z7O64z7dBb>WTOF*?*u#Nbfo8RZ-IBkH;H}cbslPisbf$SIm_Cth#m1Rp0FdzggS;_ zF_BWQpwr=XRZBiLM*El3CYM^Rt?5G2*@zi*I~02}D;891;OvwQ2wm_mz{FYR_Rm@7 z_KqrU&xzJI997o-@$rZAUb*1uv_FIdntF{t(6HljFdadMr5uA%^<XMmAej331@h&z z;1})NpB4uo>~<5jTB<a`RP{ACFVK0xRkZ|HYXt^orOIJw?&p`*{JbhATMZ5X&Zh6A zyh?4{#RGMWxoa~PM{ha2rAca7@&^M~(~@6RzQKJH{LP!H0QB$THxmeB&V#8HhUT`t zb5>{V^A-?k(MMH0&EhX=)u)8Nj)%WJab^O2KNI>+6_18P28i22>q1;{SwdVfUqalA zEBoEwy@Q07E`KHb9b54U@*ESZ9!n&gBUBy*w^X3tlL&sE*tO?*N%-6#e4ZkF?o>&& zJK$i<qamO#)bo0KJrrv;^i}%;vnqhL&E$>fHvt%3TseBlR9BBF6pL-P3<cQFbRqN* zCkR%mey_+`V|qn6=wr6WqemMTH7ywDvmhYeW_%ZZcLE>qbFdTqW6jY~+?EXg&Xa72 zsui87vy2ZLmJNZ~O3A%rOs@uK*;531qoYm9baBH&-4M6CiI^{1qgg1Nqns{P^0RH$ zkeEW6nuUeCMemKC9(SfkPnkWsA8h%mCj!-4PUwriDe7-@khA=_MVaBli;AMXP5TVJ zN}raVDvz#$`8gpmrh72+JiA(CXehBDGp^;T?z@JQwJG|(60BG6ntQA%UWu*?qP&(S zphaixR#YpAk~-Ckp&{htESmNS#I%{PRusKw$Z66p2Ki2u-ZV+N4Q&5pP`HN;rqCT6 z{@{N(e)t93Pr8mj(k*>)9s>RH5a>=Aldb6~?%2EFXTkV~?>2rkf}!edb89dlpj$@! zZ1xl2jGNgi=6IQ}HY4pnLtkeTFoBpT?x24@F+b=(!)E5~TLt?I$FOydF!sE~QAWAU zk?akT)14&&E!#xt1CN;3jQIt?{bvH}f54g-i}Ww>OsCQ0iV2N=2mh83k77r_+Rc;- zdnU--a@7$T@v2HTbwqlUsgkm<U#8bRx0igCTD_ZRXFpCK4m&%F4cX&6Hz)6VX9jLd zaF9y6CbvGA9G8!`GmOpEA2rwib8esXfuuEaZ|0%)L-|85KTpn~wpG%yb5CuUb51fS zo}O)j_8h-bVj=BZ1b-sKaG?t-d8VcbnBG|6Rfm3G_ZT*96^qtka2iu-9nJ*)G*3|3 znEc=(m&3=N@XhcSb$FHh!j~JMBd18{s(#H`ERnX^_s>xE%VF}hk&6>?Xq>Y|b`vJ5 z*TeaVvXgp4@I#V54~5G?)>i^IqhFY<zMhyk;?Q6QQv7lB3GbOmAC?F4qJCP`89G$$ zu@96C@}1=9w*_<2DZm2@|FK0na;N>iNr*5$Rw|DS&aNNSa?HKjTPPc!h3KBpME7yh zY0_!{$E(MxZ^U^y{hQ!<9-O4$dFzEacuF4&)|Oc^UQfcP3C5-<XHWMfL8OZYgp1XA z{>Jr+G`g|NHJ66kq(R0iS`;~0y(Ur(Os;XKWC!yldy@8*b?&;ptzMxlzK5`fk1c9} z+QO815BLQ0i}_evR$==o4DH|4{_mdrn)Vy^);{Bn9V3M^|NZd87EHnVs{nXz&q1M= zBY+C*Enr^V{_(!!?;*onna6hjF8iwO2N2X;u8+*nC^MO7e<e>zyn}(Tg!E-ZJl|jz zvgEIBH}@2b&}^UX%$Ge59VtpHo%?{;cvEh35_EitcHwfT-*|s)n2QuuXPuMt|0!4> zi#}RUeFd{&RDQGD);^s)*8LEZMd$}4s!)t$Rc<(#REQ0*iNXOAQ_7KnD)_Bzf>=~h zdIa+zmym}q0W{!xjk@O@0I5@fm}dAVxtO;8D-$`jbtjooU1Dg~_Hbpe2^YB!lY^!+ z!^oWHBg7e^0Qj+6euQ}^(dU;FKxy)NoC*bo-S$5*j7Bqo5{}BIE~S4o8aa~nViCIM zh`Z%#Y9%g_2aVR0;Wvrb#^2~l>{Ig1($@((N4b_(^fkKKn@e04KdrFJO(+F7WCFiB z&fKe_=i)^4-BHDKfluJN)Npq(?$`M#l)t`6cP@P`Ak@0o(D4Fr+6QwbfR`uxJ-(Ct z+Gxx_!3inzvi!kTHUZGy0Jbb$*94WfK}^pLf-}`;*Smw5&LE@*24I=MBsLC>qD^O8 zMZ0S>b*S(z7CQ#u1$3N1E!;p;Wu?mCfn07-#rQ6^RVogKZlG3em5R&Tx+4=QlWWxn z&^yVlZ5({bNc*K%#R&gFzg2EKYVR)Y#YjKMFY$q@^zN^?hM}9tW_YNONrLc%*g{m0 zTUgpc!2;$<WPS={ULX*rUsW0OX#Hw!jy$c?CSXr$yeGfo30-yCzC-U&pr=AW!7zux zpefO6NsPTeVdyh+yrIwgCwE1kr=Wc4Z)Ypb&Q`k0tu(@|w0^frOHJ_B;UF!bWaFcp zT0WF`eGqLo%!w5ruHtWTPTh+232HEH>7L%T@UR^^kgmuzwe=C|^uwPZS4a6~*Jhy; z#cjZaM0A)uQ!>$GVSJODW{PYV0__HER9T?Cq9<9PMR;OWBTrF^N}-q@sFB;PksLi2 zIjS&g_6J!~wBN0u25zYlb8caMjxTfLI=a-R;;hxcy~IvZ7^1~Wz$o&82?-%k=)6Fw zm*H@Q>mJQ$=Ohrfe(&}&_jZ7Hdx3jfuG`zl>tx4<#60jVcmuDU=uoeP=rAr+H(JYu zYDJ;w8<U+g1RwnA3O+_`g`Nc;dp;A`4$I+Hi{Q<g=2n$kt@6^$&@0f|=hu7d@!F&E z`(I}0pOM_UJdcp913%kq%AQaz9O5YRJuP-uPf~`v=OCO=^Uj)#OUXOhczJhz#`P@V zJk7d^evmxl!DkYEY-~M_5I%&}E=et>9yF&!^&2@AEBa9q`&4A?Z;%hZ9X$n!|F#;D zv6;BCC&pfWM==&__E+TnJ<m_mSeX$p(j|~(S;#(h#m<bBdz(eOUej=%(yTYG>#i4x z=v~52RNE=b>h4@#&W|+xw&Yn;Xrcm?&xFP>L}Rc`FLol0um@)MF~SR<d(LV)V-&g( zbEQ#6+Xg*au(QsEZ5gcDU?LSgmI*w9g1i8@w3xn+uJ$hIYI<oN-(x$H$>X6P8<Pi} z4sk0u+-mU24Bhv{!ubuxc5TV@*fW;Y&|x8{0P@f7&zZGrYCAJS_i>*ai<mlXDbjeB ze_;2A2N_w3*lsKYT;4kfVad072|md<Da61EXTl3Xr%C)&>zXPMrbYAZau0j0e>e5r z+M@F1j}$#~+p*CSwPX#r-`9F?U?!|z$tOs55{&O7MLcA*j2_V$bf~720uQP*0d#UI z+u68W_o|9$v@YAd8d`5SE8D**LEmf6QZ#EDoc~-^w<=QU`wYiydNQ{^?k;lzi&hpL zef}D^Xx_m<BK8c~e-dLC{8Z#S@WqKa|F;VTKt<dBtNcC^f&YNled2gPKpa#yYl&pw z^Az#-1>ZZc`nk&qp!GaoTC2~J0hhn-mp->IHM?K>rM@)6nk&kFX|DUFiu{)zH@-T* z+{G`}N!bB}fEn--xU^&-qMMCjN$v+w-Fd7KplY&!ssd1TyYrK>S7=UvJ1k*f1U<mT z`r#gQ3~CKOFbeXN81-LwSqjEka7C=<`PF26loy<-LoBgl>uRQH)V=O&^C#z08RC?X zOZ=ETp0-*Q#aofjTzsg_q#nk3JHI~Y3;aLcO#><!S`I;z<8LsXScN2#DzO*+yro}r zR>7E-atIvu7mpB|l&uZUf8w^t3^diPjT}@wxy(a`LBt!L<9CrE_Kb%PrK?xRo>A)b zu_=5!fX1y;b5lNYjHVp@vB4jGWa;*hWOT9NPz>Y0D12xU6)7w@n9M|F0;eJu8TeiP z*aB=%i4o}$fpLcsquS0b&i#E#k5~`mC2<knuZA1NJ9ZO~xNdehli~UO&M-Zh6qF9j zk=4QR^zeN?qN*(+SlI^H3SC#IhteV$+uXn}gA2P$jdO^YZ|oUMtwMX}3v784+HmYF z%rZi9X|jx*N5HJo@A7d40y~fiKb7k}iBsT)CT(gW%u~dCG2IF?I`%N$&IInh6ju5G zZ7+d=-(zEmt!-@C>a!zF@Y$5$?0M_j(w&DBO)h-{ox!%eRg*$N^6UrP08CR!o~QZ9 z!4tP%jY}S3BLo&>ZHYf{JLEKXAi!~D7dXidUQYLN8Rg{tgbkz0bQ!jS;y3lw1PP{e zbkLn=^YSehq?np#uVFpFK<9!USm+U;XPy8Toa#m_lgm~Ri}Divq71!@U;UGM)}+h? zytBArNE=g9y3ur9ZKg-pyv)|iXz}{k#Le;U`ud1*=G=m|H%NUr9%Degg9Ok5J)o>Y zS95d)6>X}-2M3WUm}ql*!%dxv`>41<MzIBS;99Q(Eqn@y4<SaSDDZ+zU<_cy0@A05 zLlrQ5L1}v6&s=UgQeYLmk_qJOFYd~;k(+#~_AZK!<P#^_C)8yI=z_Blj`|$52oCOG zEVW?5kB#4y2Pg8P_qnVOv%|O0O5SMt8(8_hzm?MA9__dILF}>L%EMURBom&GPb#<E zr?19Vr8XC5_shIJd(lUlC6|wY#<bKGML7t3B1fO=XI>^Pze2AwS%W~gi!gf6s0zog z1mNMyL0W|Dy1-vLsyZCNke?0gGYJL)>~SK(O2U%;SVV>GuFCdD^ZVRhV~`(I6uqFa z<!Zu&fu=J(OC(=}4qS%M&vB?}=|1Olrf9TlZOJnV!<+@ktwr9kAwzllgu1o>wQO?R zx8SIjVAEqlf|&-U6_3pfmL=monMw^jCq$tt)0UHI1YGNqf0@=5sD<!qp;``JYY7dB zogT0`ZSun6BYwNNh#MePj#1x~lX8audKHa2u;;W(6a>tiZmh@pEI+K9NZnUD@kXQ2 z6RzUN84t-CU_t=8OSng#Ke)UUFla!rP5P~%tmszJ4qFeUFE_cX+NFP4KuzIez+c$O zdkq3&P_PqLA{_q+Q>$g153SP%sWC9E5NO^j^9qoP7l0FBM{k@1uy5n-BmV)mXl5Um zpzRF^)A#}~lt>kSiz5eP-1kc#!J(v+%*5=s#@y~hzg;`CUp<j4*tTv>&iKv=@smm> z#82zp=!}~PD}c)ed%e+hIhdS0C3(<bdf2)KS@y)5B><m(YH}B?X`!8h>CE+PIz1B- zz){h+3LTwjI~5z4v@ug8_D>UL8xltA(r0No&XKwt$^p<h4}KB#jeT_5$w6)P%2lr- zR}VL}#Mn_wCl)=iKb=ri``FvbX|L=g3SgucAsIP3c@`T3FCC$m7(w=>Zx_7evn+_# z5vQFE0sZE9FtR9hk6p7@dDuDpw654WYw48ag(OeS>(jIR&vfw|5)TG7J}EJZY{~DT z5Ng}tv};RE@24}WiZq~-Hz{duM<ehY7myF9Z9NxqUvb)>P*EJp5c0zv*>+Hc;?_|6 z7kb7_>3H^85;7&`I_(@}Gq~d&XS=dy0Ez*9E?v~-@)HeQ*M8SU>7WplH_&rYI_zc_ zsi$#0Vw{lL!$-qg5VL~T4W}Da#U;D;%#)NK0YO2N=`L4B1Om6)_yy!jGeeJ*Uf1Ne zEWc=ay};8qsDJN1+)LjO)jnbv=$-(J6Qh>%3{6_MdgB?#4}oVabzhU6EivkMt@ix3 zMwms(l4g#;r}i~#=ut7AU~i6DY~vMAUNs$NI6ijc!Rs{-kupxCrDS}j)r-_4@UiTX zz7%8vaf}0;e332!AcLpczQ9Ux%udrrHZdCLuk9?miLpkPA%n~512-w^;Wq`QVm~o2 z1T^icZH_VhOf00owz6BO#nv3@-iYzM0x(P>8gA)mIvGadLWr`loFjK4eXncf@l=*K z(Uqqd%4X&BEPghi1f0nl9x5Q9s&SUJbh1!dxA`K6Ad8+EN<49wEu2wrUgKlfe?|X+ z2CQ-IwR+9RWhnmh6?y~Lql0T9OdlS@7&+0!lh!Bnq$qlbZesQt5l@S+>CQUY2jCee z*Wk{C7#$#THfpBCwbq~zE>T)Me0Mg9!rxrxqHm5(VuC(AQd^u6j12VDG+7qv7uuak zj_K(JQjHLYO#GcY{_NiSC0mG*<|)#FSBpfmaZW3Q4MQq`%`oManI>0##X}D!9`%6q z&_V%eIc7ixx3<+_WXE1a|E6f6)aYuOuIkLe*nnWwiE%?rV;5o=H$kK#PP71{b**Zh z@0g*w%IVkoTLGL!T^EeS4OZE`R00t2>3+NmwCUPGW~-*wHsFPG^EBHFbc3&w&U*1u zx#k}zR*v+bD6&626S!E)XKl<7(y8KT5~aRldBs8iYuO9p$z8ue?>BBsDC0zd_Ls@$ zl>UG;5!Y$W^jX3bvS7c@f>o<!URdRx=W3Q{(~X?-2yGBY!Vakb>|D;9axb#ZZ9Et3 z>MZhag?e5mUE}C)TQjlM`Oi<bOvD?L*G<u68-2;!4^Y!WVU=+T(hSS}`4Jb>*CX%# zPzv#!4LpqQ0PcZReNp)n6}+51u#3i9PKO5)2!RBu7zh91>ObPgW=>&$UhNOpr=y&F z$VB!Ht^B|}=j&2FY9?>NN}<Ck4^`SCNw(WP9=&oTi~a|TnR6_;APSkl<A7fy@cidy z1O9LS?B*gdIPDME5RAW5AV#LMg2(;;<Wh5(^U@(>T{Li+ku2fPF(VbK<1!;z6fq8; zNj<wOR`flp04rcvPD5Rl#frf$R;258$BHywkX~4-zyFH4YgNEe&gihR=%{)t45XXW z?{m8haWB1o%r|z~7HMIZM_s83AR)afW5;n7*eo8Qjkxm}d|D`Z<w?SYOkkf{y|h$u z$69y!=l2cPzd9f1uGca{Q&99N*_hQl?72d`7hK@l?B04EJTOGDdoW&7$+>o&YR}Ts z%+PVDRPy*^{3`yML`HIjahxCg^Y;(ee?A|!U35J=*DTr0(7+J@G|Nf1ZtwYo_i4Ns zuu>B!qBoz8t*q_DHD*{iUdfqiQpYscf7$GegBg$uuDv$uaN!mE<%8%I6ywiBC{v8& zklV#4$PugwFc=)H|NH!a+4HIERyj8_bY)dxpY{NUxq?S0=ejjG9Jiz1k$!+%hu-iM zzZQ8N+V3@4s87*WD>mch(e8X#hzPm5ge;}1$=TpsJlPE=uNdJ@JQ##3koY&+*gZ-` z%r8-@(~stru9Rx(FQ8O?a)>#BTjE2UESw-d2wN8vsQ`P1+Vf+qJQH|+xSrd3&-TCa zf8GB_w6TeLdj0RVXa8><wMYMNzPn5R+quP`!1g=jh@*G!|M~WOzLjSJPQL#+{RUyQ zVYynaIjAVo11Ymdak@)VHg=??+I%jvhrV>LOyCVzu_e5Tbb%DatcBtSHtVopY-3~Q zwDRD?Ge5n*XwksOb_Q!-3_h~*$^)OhWBo5y25VOZdp^V3NubC+JooO4gH{e0|G0Cw zy<7Cr1yhbV^N{DgcTu$vha`?=s3_fgg_P%PCYN5Tt)D|3`gC1#BxiZpEsT_`5QEJt z)AR~l7Dx3?feqWB$Oz*rf|>OS<w(^Ay=~mCU4e#@-6(_C^*G?^y6T~_*{H=1E4Nex z)oV-l=L$EaE-X_n5y7BrB7y^RJ8DXvzl8EXCqU2SB6Am%mY8;4_$En}<;L+p#Cy7{ z2qn%d4CX(X;MJp4Co%MLzFnxcJAz`1=0AyO{_`Q8fqRZ|QEE!E8Dg)9^@H}%wK?sj zs`t%7_YZ|g%2&8zZRz2IyyOdP?BeLwi=&IMySO<QM)28|>}O4@o_x{zrTy&qbTecB z?f`G>#Ezg<@C3Ax3RYgLZ00@PWDI4=;7;^q4<S*W&7xrbx@2m&l0*aA{+ZBDJLLRI zL))|VN|{@~JXuD4NX?v_cE~8<f4~5z9!G2>ZeMdQ1;A5Q@CgNNFmWGq*SK~PDF76` z6wak>At;pS^W0G5T>exexaK*R$>`zIql~#URbN>$p=kA-c6Y1Y>Q-B@TeWhk+5Yr^ zFMTn*wi<ZA7yYiNKw0txnn<7O+DqkB-U77j6IZxA))gcn&_?#>N!rM$j%y#zSsRmg z|J;R41#g$pUO&BGk=#y5`E)7o!Ds_FQv_JT0T*2UWHk-uAbRu4vj2(}JT6Z@LVbO2 zoPE#R&!F0~i6Q77!Z3%B$w-%{vn?C5zO|huSv1VCB+f*i(rZ;9y$&{o3Oy2Ea;NAT z*DM1V5R=ikn8tu9-lQi%J((i)2`3C#s<Il3ypZNvD-@lE0lp^Lb_WslP_Ypz4DAAn z1qr>TX5f8xSp=Er43nmkZzM%3=qFqF^z^LS&TC8WJL+cUpBQuK53Nr;<-=w)r0n<$ zMQebaw-Yf6S%JN7VA1c43=y#F(*0{UBrngmFV^FOWb$?fZ(NUibRy3kn7$u<7(xe~ z`4*V-^7n;sfmdL^J<pKAu!ypXPv)z13)<j8m6mV#6n};S6Cd)7SzGEPJ;%>uX}uL~ z2*n5H1~bd~wDTX%HO6m^svF{x3G4?6c7#v@J&!g{&Zyy)#qgbetkZHGvoep<iqN`= z1`@y^j|e8V^u8P2&{>ijj9JM9R!)Fu0FrO9z$NokIQ<&R7}I_dDO%UmiTQg{e9aT8 zg#Z6IZ#hWe10c3Wj+7u>X0w(47MMHBxs+yR1)YU*<@5w;CV+FNVKEk8CV$=Ja`?nw zlD$8{&@Ec%F~K-_0==2^W{+-<8hc=F=r<lI8YhBc&S*C5V!C_bw}qUtF}POxT<_S5 zvc1a$K01-wEWS$XfWd!?7b5}aEd8+y9qHRV==>5^NYEJwbiy$rTap)1UutzvuDgKI z`<XxzeOck`y8c(&sPPGWI2K9lgYJ0cku`<M3t~&%?n9H^z9BjVx*9!^PAs}$BGIAK z(nCj&72S<PT0<a_uu1e6wW*!Ah)?n3wcb#{pWs0N>9^wc<)8EAVTOXLAXw5lAoewt zZqHU)<yEp+Z(yRQV7Cd*D%kHk!G+%DaqjeWiO=bt4{nM*+eB#B*t2+{GMKCStrs;c za&ABeBJD4SzzX-_mK8tM#^khL!S17oW|>9eTeNx?tX-sMK3chCmbaj}-q$+J{F}W+ z3iPTaXIIw9U{lL(oA$5A38AENEE~e{^Y&4|By#KYuC#DT&+#x5=l}<>Apw~XETf;z zd18fo6j&PC7mRX<?y)uVnD_T*CyJ|oiPHDZ&-Y|Wt>C@)o`?^Dx_Z`?MCm_!NLI>O zc7EVhb?IeR!kcX~mB^c9rfL4B^JPBmnQ=H=$SE9^H@I()s;;CPqGsCa@H_jVWC`d( z13P4!@>hdM^t{_JUNfe;t+GX>iO1~Mj^^@wyLLTB<95mYX6Y9*-QiC2*5dSBKlW5X z+<l1K57w*oBUSD8Ln;VQ*j#vcwhu<pfUYNOiYEN<C*p~3pD5hjZ6Xx;ha*o~^o-u0 znNsxxn2}*-SCZ0q&p1|_`)Z!2U@;P<Sg^Lmkc<!veQDTqbN{rp%CP(IZP>eJ>@n=C zWL}F@29w)=?V_i)5h4-@Sq1#m7+t~9x>CrQ8quA%u$50iJ~`N3k6!$(z4iKV_L3Uw z^=+KrlmFJ>Y$dhW;3-p@X;I|s{NuF%$<uOBSCZrD$IO1udCOfG=ePG+FOR{TvJiDk zkA(-Y)V!q!-=SsKqGjg+DjXXLsW}@`lNePjaZN;J71nxJN{<s8MkJMvG-fzpJRfSY zHPR<!`~*aP2~()ycOIus?)iK+&(Z%_*Nqp!`E{N2ao}X1M@?@yxy<ti@Sa0FU41Xx z1)+Cmv1Ng(2pXQj6TB$B`*v3yQNi^s){3|m7K%cHAf<!a{PGRkJF;Ai``N21@$85Y zO>_TWxw8urgL27pekPpk!5-krk6Ha=i&~NcQE{|a))bKL$5j=oT&L}qJjObJu%k!? zrY*h#Vbv7;77hZPA-gAZ9G49P?|%&zvO=-V4y5&4Cu%>(-Pk$ff}1aPK%M!Wo{!n1 z_vR1?qt29-Zj7EPz0vO!^o=LVEthG+{e4~o34nvzAG7uzQ#r0H7O$56Ag2$>>)Y^r zPV$U1U83Zu9O4|YWU9R*+Dv(LK+Dw?MbW;Y49O4Xk+3H9K29J_vFj_>7<8_;Ge=}4 zMkx<W(ke`pz9W5ac5Cv;%nj2$s+wikLb3PpQzb7p5-?<}{Xb}!j}f1sH<PI*X=&*x zw1lfwqR*^@)#mk{-8^vEm0Bh4`7U<f*|#3V)0->rvR=7okfgN9qJ`_M0e+bIS%^}> zn}#t}x<b6J!MTLc(t2j(SliA5nebb9?heAE?V#oC)QJ=YEmK>L;(yz)Gi%E)_&5#N zr^>VZbVatL;NywXi;mC`CF`mW)^(TV?$QmN0$fUc^>4P`oa1&5rFSN<X`~Cxv87pH zYESlnIsRl1nAcZsQfUsFeg5-dLGyao3n9^G-=7GY*Z)64Gg118_M`uPK)Hd~kXfS) zWRN$I2q0_3W`_76H$Z3EgbJ1qQF2y-)gsUBpE4BqVKz&%4sc0mVVxM$;VdK@{=z#r z)%J(`g46V%m;l^XxnAH%lztDlB;CHCTOf;}+r5~by;wj&QE){Ce{C*#xrJ*^!7bqj z9<}rdaqw9#0POiG<?aM&VtLR(fzWD2?t%Axp55g=`)%&ogErUDCsgTdvg1-SG;Vis z#I@D#w#*JYXSZdBT$BkseUyt9hvq7e8jMt9?0hCL4DG5`U>Q#vIkXgx|H_ti++F2P z`!1reNWB5wa@s!Q2HX(H+~rz;VQ=FF<}TOe;^uP*7FaO9%W}Q{rvLNh>Pe?vmP#;D zuwreg6kymxC{i@)eJS$*dP4PX0A+7|^(?vluu){`mH~8uSNRpDmdX(M3CJK(hRn7q zb%ddzJU)nE?)hDnXQou>gLk`iK)CG03o{a>Yi@Qox9Q=;kuOxC-H07gAo7Ba6@VOV z(@gn}%w$iY$R%f*;?4MssP*x*-ujrGFZD&I$J<PEo5e@Nn><YP)su2x-TUYE{L)q4 zmvqY116(cL?ShGWLTn<nVk<j*ZJ5sQ`-(%5cTgQD{XeZ+(Lu&=Z;T(tsI|uJvHPnx z0xA%4S!*ubrMm}4050kn&H3dB17X{ngjh3wrX<e_Y(80kSkihggHsH|TUcxH0nfnK zt(OzvjFCSI`Z%G#E;ICXu@fFYgZz)JLB7aTOEhkGmTd_pPV?1v5>ux{o-7C|M<*6; zN5)&%j4;#KvaN(5_Upr>1*)bWXh{!m-LA9@@l*VvV^8x($(DvrH-05rf;$5i@a5*t zth7o%mXf)jH`IL=Z2%O1n5usDUSg4Ya`g|**FVqdM>)xHN(F6KM0@cJ^~aUv>0ijB z)D?j_Fzq86jW7KZ>=RQIHZI2Lvc#w#-*pfOS^CI80sQSp{DP%yX!rM1qH7OcE<Xjo z3bR_srNT)&%UWI+PmS>18>$|uhQYw;lSW=Q2O3Kw%XgSx*vTEo$`|K4)$qxh9w5w= zcaBI3OIF%RWp2QV*Mso~qzw(mZ+byL#_X~xvDd2D<~$a+M`}kPmV%Ao72*lYl4m4E zu3ir&TJ4?ItWSb#Pt^G>MX5yGcAbLOPVy7!OmaI|hcx}Pn(Qppfclf&)nqHDyOtWi zTbCIc?k*f@0EJK$aQ~N4?tKA&*7{M<qJlz{o%Z+H)5%tVjgDLlxCkk19sWgt`vjbm z37!s;Yg00GE`f8;1b&BggtTr*7bU(Bp)RcOL5u_jU8(D6116M3XoqnQ<P%`y5tYrX z2;ZWe8Cr`R6-%y6mb7l_(YmeFxo$F_fE~N&WFc0`qM&bmb4+19UFo#+7$nv7LCvvk zDY0DqqC$`EpW4rAA>@FQO}v75$Ejce>6lou(izj+xo#`FPb}HGiIvr7XufsAyv2!_ z9%^0FGxaCBLw>Fvq1MgY8n!;=IPKyB2t`C;S&B0xD9>x3W&i_YueNT!Civ23_|{-g zj9e>wv~5_hIUQ+qmb;A=r_XOxyXiAk1+>g-0Qao#R{tQlZY{`@q1oEZ)>RGol6=|v z6+h#@<QwVokn?1=?Vh0-?qz9nY;(xhiN62x;%3sWBqp-FkIO{%EBIbGG0lh7I2?O@ z!9UZ*A#;BHb|^zu<k}6w5BgIaTi5yl<N1K%U{B1WjHh$KW(bJmTqj{exKJKSlyGzw ziAd{{ore}JV!K9H@V(%%yyCRpLbcXi0RC#*0Kr~X@}?;`gF`O}C#leaxP_5{EncOc za2(F7vn+KW^NLHdVhgqbaijrf8K<vaZft$;n$Sz{;bq<2bF+Fl0g%6&zJ|mIYK8#! zY6d^H<!Yx}O4*j1><cCKfs&?pMe1=1t?`2X?yY^V`S(KW)@VxjZX+|&D4wdQ*=gFu zyfi!GH_;Ot;%)R<a+HQxTR22cLq5Gn`{ADN=lY-e3oVA7Cv6Bp=Sdp__cn%fAUs14 zN`f;~UJ{<6;u7WA*pSC3+Ao_BTi@8a3HWR>_>i_u@OgT{yC)`k9}}v7)>-^(x)}0( z((K#ST>pjBdOEr-OT?lccAdYy_4nU|2O|S#m~#=-EI_7CE|_ygixWf;3Rg9@zC(}S zu^y9^Og-*g@UHoBf9-4DTTIL<cVgaY+}fF+m>1lMd7-)I%c)mn&uQPVu$Pgzl-PSi zSLEdZTUWv2->FU}O8r+(EQ*(`NWHJQ#kPJ`*f&$AIr2cht;z9i2>ad)W}eYP)_QT4 z9Tof1T`r0u*>f9xYG~WKfc0yA3cmD?ox;}we$8FLui<Bk18vV&ojXam@L6%N=PL8Y zMVa=M*PY0K)Eq`so5^;s{kz<{eh7(CO()qt`vhqeGjDHQRmSPL#Heqhm4M=6aHmd1 zV+PyIMl<E>fRk>dA1KcRu0-9vLf)m>IFhYhqWM@)vc0$=^&w!(1dcDy=_|VI7t_oH z#98_H6|C3`{qf=K;zk@E(|qvn8u4b(hKtGBZu?nt{m#gD2p|_${?#3%A<E~<)H%Xu z<!hh=UX!pRz#+*>_)IpBfTdbJO{>d{NNfTX$?F%R61(@23eAnVLniP2g@O$&B#9OQ zhi;LszPvC=@I=+G-{@RtQS__V$)HkBCKDa&3?EBpo%U&ToPIj(lerKlUd`rZPFnUI zH|9(Q@rcw}Y3P(67#CLM2gYEBD-UDXL4M#ZZm(R;3~`X0g08timc$HJn2SVf85^Y= zX2}A>c>E0Kzc9^o0fR=5e+ud+hGO}FXUMZ{F*|72{<WZiSLY&+sF%t`bUp*Jl^7f* zIU$aEh#W$~$1>~#c8eKdohw7Ou9;TAk7l3RVG_N+QBjGljc`GxRW!qavH=*cDg*_w z1*>-6h_Z{~H~NclBN<VLmALpI`$dhM?fh7{2?UL?NL&rt6b(+J%o^dE7Pz*Q8p=Ie z%IPo{+SZ3yR0c`mCWI5&k!G-AVZLfz!}%T8sG^FQz)d-`1XEVU`A9!)XlY32$Z!z8 zJV~`5ax5cAh7Rwh0qpgij}gr>fhT+KWqrW8?r2%afp_`tpT%fk%dr>X;Iod7h?5vj zdMSF4>S?2J+McBpUJ2$32Bg1*)OZ$2Tq+2KMplT>zw!!fMej;e`YrlO@lzs!)Ke6% z5WwWrPAp$}5o7`_xo^22YH>dl!E%eg_>phiNzz)&o?5W~(Kxma3(ImzCUD$tEgVM+ zstn8zX--^VeSAedix64_3u}XYKeE>Pl0J$Mmu0?8V4J3ChAB`i=T|lXi_*-{QGh(& zpFYM$B=R3W1}5ZEqL$&!gd_7acrc-3o=~)KI8isC2l#@-PQh9;ucBeeMOF4GRFbZ# zuFz`^4eLJSPmzC-lJ$LW$Bj5`MGngZX49WI<~}l!xtU-@vns??RwTzP+?i?JQ4&=q z_$g;`w)I%OoXZ)bH_>A24_7F4OZOp^uCApq?lIVv1uKNNRapdXurX4Hev1p{S)Dyg zjM}^(74%)sRTSc7S@OZFB@}E-{^c+sALrzH3B|m4?3Uh02M5f|JCICW@J-`D-jnf! zpXd+C!^H(&bQd4+^y~i6qRcgX_%b<;yFSOs=6h#k(v!o9Uzv&}>p+Gt@;{4}s;F&@ zG%sW;vhxMNoa87x{8FyHu3cg@!=C>C@%Ap@QC8Rfe-aW12);py#(UJLp;ZYjR3cIn z2r?rRO}!OcYpGg_N^J@m#d}~9V9qcWm8z%5wzNlEZEa1J0xDucfPfc7X%+9-R-JKF zXjLvM%<uDE`<+Vw?K%JFJb#{tyz{>MzV_N{uiIXmh0SSscNtDFid&pC(JUwD@oZFJ z6;upWu{!O$Wtd&i9CwHM2cmc`qBR}FU*JDm?I~~7p-9*I)1*Ij`cos~iM!vAu?vaH zofzcWNBj1uil@tK7=z+ZXFKGzUkL$Bw(tjhpjd8VlcV{Dsd-<0FQxCYKhzzsxybQa z+W&j)hXk9D<lTB*DSW}1{k<h)2eb@%yr{UefNKj*;IL7E5KN^7sRJG_bl*nsZ3O3k zm47;SA&ecAg6#<(-Fn@A1>qB0uj5S9@vYYlDhO8&?}S?|C7^Yx3eDW$Om<j}mIEo_ z1#I~o#JH2I_@kmN6~ot&uA3Fead_Rle|EjuKeDbabx_`SuT8<g9_i%Ivd_|Qq>nA? zzq<c34YBKr;kp=f^n->dVeq&=nx(Ied2%3%xh8&@kpGB-KP*BdKk1om0OqJx>L?(7 z1WTj$_0<_7&i)-f9vn-&c%8YF_;qt+Thq5%cuJ$3yH4$|-#TYqzg#P&A$qK&*}UDz z4aOoR^qvp9&*<wpZzsD&acoy6!qX2cjh^n~ZYQn396G4&Jj$ZuzfS%z{}(@eSpmo# z>lZb<QTfDkVanp%$@mD;r}ho#?<ZQ_BjZx)VW$|Nw@}qUcf*7-yeJf;I8`*TjxPDJ z+u;ULfw6AH6T<leYU{O~AZ04M__AR$zCUfsuql_(!xG+_r~l|uJ{bYLNE;`VNagjT zGV{Yok*`vO{<!5<NiI~$l47{<tF5Y)ANr@?T0i<HN>?pq*CKl<>AUMzdf{6<pj-5M zaaAj6?4u=4CAa{f=m<o$OnNmsokLWzi37z;bF_y5tOJ&*TZ+Ou+J4nPuJ_iR!&+F- z?7l1XYFlvPjk^?DNW%h3oT->rRY^RjFDovqSjtL2DC?nC&c%*O{6160vJ*b*%Vsbm z2G!B&+Z3ABO3E+WosV!_W4ioUtlYs_yNp2M{Gii*@}+$@aos(N3WcRsTA(S?AvUEh z5BcNHP*U#pUJ0p%VxHJa_o0}pRY$e8P2y_t5>U+Q0<TSM8?*hT{lN!jzDZLRP@zmK z;h(8&Q=&t9Y+5$fq{2V~UWxQIr^{!6J2KKWt6LW+&~YnOcmy?>#}l+$f#?a^9oA21 zr$C1B`Ig1M!t2{&4rA^zKhbKOB$vB%tvKTH3O6}bxdOz4ilX;HW2AN3d|aP`O1V~D zGo@>DpGOP01U=fd@m&zMuwdf{y1Ap8P>rpWq7!521a#u!68X=K{AEhl%UWMJuxK6O zCQOMZ@sXotvdeT4%@DAG6LN`^NS6;NqQkRRY0+f~frZsFv<W26VcjLqMP4xx#;}OE zV@GJ)L}$8uys95Ge)p{c%2l6$$MPyzaSAQrpNvpMHr7`jL^y!vAd)(R6k*ITn*)b2 zDPqoar?7kbeE@{UJy!eN<3@w;zWB;Vl)~2jPi~axy`40`z-8|vbN38oF6#X>FzXZH z<~37Ad+VU09Q`s^?=wFW-ZhM<L*a7)&Mk&@=;+Tu2kua=<v=54II}F-4`jg8?BLW0 zak^}tuO1?fZWVHy_~=md*frxyi;}+qD$cVZG4a1IWncV@O1-H?JX-j6wl_}-FtGTK z(~M>rxdJepM?6Xu5<jdnJj`ao+#`;_<wb1F`xxo-scauLmpawmuW1*QxIu+s*0TOM z$d5Q_=nqVmG^RZtisw>U0GYkID05x{rtJgcmQ0_8KOBxkT5{1331-1n=my4X?Zk^M zU;NYi(%hPc!z;Mg0T*JK*i9z$kU-s4hX*j!Yem3`(@tG>egOcY6aNt2U&~?;Aj~Ba zkEZuXb4hjx`1M@g<h4kJS$lc@{CCij0us}i-PwC3#o9~SL>Y_c2`2*1WS7zW*JLi0 zgiUimY!c7q*tGui|B?P^OQ(v+R5ES}Vq0(t(VqSdJ6#TbOyK$j_VW`i>XX^e@p1g( z4gFxro_%My4gGb0FJEWCQ2+Cms>Jhc(U%!{uY_d(U+gh{&DbK!nsy<J_?M}Z^xTd5 zyq#{;m6=h4ByQB-l0P4#M)DfMsJlx=X7O6+5g{wU=N|yTiF00C7;NaH#@y*Mz5~?6 z9J-YH`(FGVYUGc^a>q-SUT$drm?Y&V^vB<?SA*xEzSlN^Z%9f)+DcJ*+D8CTPAH}p zm*da>{7-r(^ucJe+G<locQl715BQ7bfQ-{nPY}iV8lV1eVOvV9xm9}-W3=7T5d$z5 zN~)!&DMe8~>&RYf4UHr{siz~f&&Z{!(CH_irm>)2hsoj$VdmIT`Z(`c7+>MbjB|9> z>BPLOp=dH)ehs~ccxbJk;IDOjEQXu5$Z>9YCDP@cpqm!8(+Am}j@V$Ed#Q2hKuB^# z?{0Kk%_{`8bopNo79D|4PYp6=UA%$w@CO(^gh1>ItflRVTMq3_V)NyvQN~d{l_9XK zFq4kFxz7L;5!q1&SHzvfHp8{kMr8yc2H*st59AtWxE5}-Lz_N%ahD}YtP<t5dK^Xh zIaRG`JKX58XpKW@oQWYqzw#^NxZfe{nFIO?aYfzKQ%#F`*f5RN!(VygZp0NZ{!u+S zV~<^(xzNNvjlUE~h<xi`6rMu+!^+d*AXZB6>XNVh6hz8OgFgZ7wX4m`@zl<qHtRjK zi@n#QH&@XoLUI2_0)JUP{;@#SHll;Hy;f!?EQP-^MNfyq6lD4A6#ir|f2M8wUy6ZZ zh$<!bRdP-aCQQp|Xn>nJ?VB$PR?#sjCrwW<Yn6uMR(!hr!o%{{N%C?a>XU&jw?PKh z=YXN}Qg%N1e+-X5eDnqI=rCocQ7XaXkmCP)c$|+H*goMggpPd<Jc5+T?a}%0IO=En zgh##UBeXB}rr6U&vDu9r#s2k&j$&6BUgY?f--#Wvcx*%J9TAC-+`kX3I<~w+Qv}Bb zK%5%aZ6~MGX_mcMG2}>sIysu2ybokEB;S^pc8Ay%IL8-M{$(*M6O1p3Ao=;Kt8=}1 zjz=!pdTBoQf>NLa`r=cxulf{?n^(SjpyOVK!7Sw<lfSDBb>z;ibkmVM{4a4ZFhpNL zFoLhbT@JEwJv)z<v|}RNl4e}6w!S}LFMYzy=!f;u-R<eewaUHmAE0?g_e&Ko5bAe7 z<I3kBuLw6i%(2&Y5;H(RM$Um9=kG$d@kP7OWRo#?$;7iH)bM3h0lJ&G{#~JaaTQK! zr7Y)ZRW-frcVsailm{e;Lg@ksFb}C##4=(w;L2bd$&n%t2x;t)<K+s4xMo4H<@H&q zO|V-2(RJ{cM-oLcTx+mxFrt*`&)`xA`}%|Ygsm|1qVnQQlRu$R)}IBO+@?@)$3RVN z*q4!lJ$*lCPp?b_*GX)G4d(V(ZT2;YH(uLUX~i~(bonUgWAa$u8|c{K^sqwEXoBWW z_?z)RvA6T}8A7>W*V~oB$a-#XBSehkHNjFNIY%(;cZGt<8Drs3jL!#kF*P<LNBDAl z`&DL8dHWzPb&u6#YPBq5S$4^URa@QCKeA(pivyt+1^B}O{F9_&uw-ob1i-}z42MBP z07IA)&<lFks?8;kxbpH{>Ex{x48)4708?og{meUws<nAtX7acvk98<g!38PXxUZpn zZ139ScRZ~3r+lFQrDt!TXYT^-@qJNq&EHFQ&XKXx&&)9#-6@dO)Png_*K(9UZL_E) zb%1hc*GxPQ&{L3e3gi!LqB;V1cRQ|Dk~ofq@FQjA>u>B1SH^6omyihj8{3~^PPL!a z=_#V+w(NI5uq|6(5qQoe<bp)6bosyFF&y2(Ii=(x1WT>7O1HI(1yl%9F*%h<F^5LS z{OzrVcWF5*{b!l~6py3tTPdmMX8*ate|Gv$?XH1%<_4V~5AhemJN6maWYYY-ubL4+ z>*-Uw?g6DsqmEOQ;xPq_h`xSlmS>Rz#y$X$d_NBWj%SgGVLXfEIbmmo>H#m=g8zn^ z#nz>c3Sj!^Qm>rU<;}f+-%ZT<f+qeW+e8Zy!Ad^-?AC%5`j7vHCg*5zlG|cg^ygJo za?o%YcO#`5g(dV;lbD!tyA(+fB?H0_$eY||3-LR>YDtk_n(@Tj3)$#6G+-}}+(O}5 zt2(nRLyjTH#0N8lVC21O-AT0DMSE)*r6VgZ8a+#V?Q|epxWik}#jd27ado5Cw;Wvf z?yOG~JI<R;L_I{$PH&d{#<VTN3A@cRe%xOURhY|@9(YYOiK8feIT~5JDO{(U3kVX@ z*+_VI%w<e$+9IVf<VR(3kG{l}jD+*ytXzBNwSyHHQxvP^@yL#=!i4FLCidX7XRWl* zh1R7R2kD5c04C=j!|9}MheMNc(l?|@DSrj-%@0>Nli9N+hW?@nS#=))+g^k373_bx z#|`kDUy6QM=Pd!y=tJ-94>m<t3Rj=^e%cur`f`5kJ+mKMd}&m3pK3=dW0(cA2$F*y z0L^Nd0b4}zAT<A?WhbFBEJK1CsHn<v!5PAsaQ;fSd@p*Xf^#|s0zd?aG0nX+xRT|N zN*lZ%8P;V`n-yx4@pnI0!?ct%?2snOf;8h&?`FGn)}@@v%g=m=%Y5)YGQZMlnQ^tk z{QY&7vWV9UgG9U}e@dUdmo{5?`GVb8Fem|BH6D~#gc=2N`p9TC2cu^1aX7N1)ExGz zeyI9|mRTNj8U0iK{ZevQ`^wDkvhupWm1CA{x;72UGD`>9$XPn@JEnWd<A)rj`0pev zogye-jI4Jt+8hyoGuKJ1!On(2kG;<H9~Lixh5Ko&<bhXu3hd~W7m;&}e_#C_eD&HN z;{&I%Z{@`}t-t|54`!iJe4bp@e!_m`GZ6LOyd^eqC7)fG8-^7doEwIVhR+I0mtP4k zCbf=CZ{8<Woj)Q|ygUc&L(xm&>Siz;BH}w_TA`J=)$1Dh&zE}&dY>hNfaQ&uwX|MY z%A0YEOo~5|o{}$lnbOC-f<7%>e#8zlqDTD`Kh%EvUbTk@QT_(2@i!C_9^JB^+XRnf z2XOf0_)8deBUO*k=;<yp<Twg??LTM0_#q#}i{hm{x7i4$Zrd6DK8`xa9Y=yAi~gp3 zqOblsh||T(G;;pk%uTd9bbey$82l)KZcZ58D-V8@98ByAU#LBj5S3jcAAPB(VAdMF z5!<w&pl-%6SY}`RwJ4AONe1R8bz4F58)~k+1_X|-u510cFe%p!pm4QiS%d;4#kC$~ zq+<d5`I?gN^Sv;&Ft-F2fdBu5s~2!uX|1<C4`;=V#ypz1AWs$rEy3_528>0I`folI zL%f*j=qIB>i<Oj!TrV!ugA%B6Du$Opy4zGedD)}1W7ZV3oX-?No}uUT?m}Kx$OjTa z&Fh)|_Qh3xFJ$Tuuf%9FoZ&rq5+^#fv4JV0a{N>JxDQ^D2<fN;8ihA_jjlFApO-C< z0_5}|xS4X2G8Fq-fE&wntDaMX+T|T(z|nC!1Gzp0DP0%G;QQLy7`=wY{N1v~=np8} z&qblC$fznz+Il5tW-;opoVkFxN_<o*%*?jWwvoMgjm!49)6OoV+c15P%jmxI77}3L ztGcl+Z<Ta|lBi^~(?4)i<}$jBe@XPybom_!Si++2EPctfm!)riKR-tpjK1xVOO8`- z<<YlukmtB3+YFN??>YL`{f{rEZ{J3Cg}(KY?*c@Hu^_F{PvwP#Y<GCZ@g@4V6-S@v z3@=F(ypVXdu_0cYjw|KzM7Lyfb-P?%+q*0sd0o{>au}sus7i>(^F%!*km*W2{A;MO zT0aROApr<fl}#-^=2!K7*waor^{+(*3s%q`)opoHE6qj94xcPmVh^FH)bEtt5irxb z@J?dOMX>0PPXXJHFKEF=Nen@)6qZ08_KBCYbtynyTbJ5k5kX23*BYW*Bb)oMtKskR zOKW{=;1Qk$>O$b?weDp<J_KsldhPqsm=;S-qLt><*vVAcpuDa@uBj!QGxr8=$~M@p zYWLA#_$%6%zMwHX{%VaKNMp&@VIn!{OKskM0DvcG_BZ(8A=!EPGW(h~=nMAf&AId@ zH9S{{)t{O09T0mJId%_-RZ=7rbHR16h5|3ez4{qgnkP##e-}U2N2a?WOqU4Ei*BzC z<OoG~s>tF?koPNl<=vi`RAOt>@mpDg1R83z%g~ljQ5Aq7tec}diU{I4tfe*>+3j6( z@bFI7bL(mSxDFU*mW%Cmdspi4Cx!{yzIOiZ{X|PRQ>E)ZI|^aPie-rF;{>k6jj&fv zeFFlXbB-3|_<|?I=lL#Qm$CY^C$%*(?JUkv6cn#373BBKTARswie+6bUC>v(d82t# z)||<zOc|ZY%5iYU09;YXt~`Xy7N6a2f^-Ikmo`fa^+ULsF!yo+3)DJIFaVQqPeRc$ zZYpK4qK|9V69!=>2LW37sg=Y}?IrH#xEg*cXPur?dd3CtC*Y!ic`*t4WW7({`R5o5 z-&<;4WG$aaUBIK%{ge@3|BP3O+{Le+aTPM6_Kd4^k7_;EMAq?_kH$Dl6Xmlb-*F+7 z^MemuS-|F5k^kjFed(Jnzjcexi=>F~(488}pB1XmBBMbn@N0kt%>VRGx_lL%>QTsO z5;BH&iP-7#-;p9-<!?p8I@7PR69wXPZI~HWH*qPxE#l?aCt}w$2V-;R(PW@@&5Y^X zI6N~H9r4fL=((+Y3m+DY-#io7u|(_RiV0#FU753)isCNvNZ1NSUCQWdriKSmWO8By zw^q1}6DD)Xe4y*iV(Mkjzo?XWwcLbt4IyPr2_G+i^&`pqtOh*PMwyC1E2^h{O<&M+ z&rPofUQ(N0y3iI@ulQT0Plm_ebG$RkZM=w(f!JgBsmo|R4>gt6!yWd@Raia~_5-W` zVdV-%A5*I9XGULbYFR{6WZ<QXRCe@I;Yj$vVEl;%{7AgOk<6e=17P~(j~{0r5oLe; zR@ha|SdDw((p^pmF{vEaz5u2HDeff*l14k&M!R?VBcu~I^Y8wCc)_{RjnR*hn<F<@ zaQK;P5e`q6kL)M4=2aE-(TfkK!TkGw^72=@{8i{}UH(e)SABl|YM1{+>_{Akq5f*} zpSVZ<JOliFtYB`UN8DU&8b6L>*TI_&28oG=?2h9kze_+W-C#YL%<`R)GDrXPTM8ci zYeV%Sht>e<rD~qUaeJH1DAs0g60}F@rAAqJA==<_^AQZi?lE;#W9>WsE*brMXeiOz zx;N-#u9^z)T);DRkkRX4q=!QS-5acg)C#ciERbp)kKD{Fx><tcpj+DDzm)2wlNY0^ z_pq%7<HYib;sivkUKt(*oORRB!M4q^)IJDA-<7L|sz^Mg$Uf{gGlieC0x{=@VqCLa z*nJFL4ZM?+d6z?w?vZV&2zLFWcw&6SWiFs1HLykhf@}d!f=ay_h}G8+r)1Rd=hd^H zt_*n%Tc!SH4YyUb(zO1mpGF8Wr#~~Nw8^u`a=1LUfXLIqH~GqlU>dx{Im}GlF#>gD z{G=@}U#a6^UfTswOF2D6PKA}|Z=J!Psk!Vieik@q1rf3@dGmG<nHJgjw-a-`qY0JE zF+@2x2yP4}k8UcpTjtW`|M{}y#%Yd0LkEvWIT+&<R0cBC`naq08@+0UicXO`CmK)n zF{(Vc_4_yMjiXk@g735u-sAgo-s6rJGssFQ1s%e`erfuYGciz+ngD*KMZ^36en!$p zwawpV-u(G1VT(*|u+;gk7JxZPfKhbfrIt_~h)u$n+g4S<_jsTmnj<_Ag?Oa~LB9Yq z)}(jgc_5BGntY?YrBO_^e4KA#N(1qMvckfaRt1AStHGPJFP{l@z8#9sgo^|_ny?qY z9vu2Yz#F^KZnk?3)+umTduPZSzjgRJ=7<ns%cR%z0&DTf3Px5XkWyNA7Pc($mUN*j z_^#A~*pP|7l-x>ehEVJQ*8~5v*Y+}BEoPkZu|1DEGd4e2sm`X`Y-HrDD3%*wMe;;C z+WY(rypjjgMp;yKEmPGR6|^N(K}c~j)`eIy0*KdkB!9Pc^=r9FS4UPv-s~6H{*u8z z067p0q37Px4g*xIZL9SmK4LIila8K5b{B@<3=Z8ut*HiUM<A|~01z-(f^yh6mfO6G z5eEs*tMU?G`aQVs_aS+&X2x$#2IHX||5~}5phEq;**8<m0&nR8zx@qr|NpmFP6X`; z&-Rwiv(~wcnXy%BY}Fc@aHuAKY+$>_cGmBN-A<t{x?&1;e+0G9O|O{3c;;1TE@SLn z8>Wo@4^=<o-9T)ifl2p&tyTTNXA@7a%#UUe9~flStVKPFqaKG2)<Q<LtfKlgxM3}r zvT&`azv#;(UByRLYqk8m!Ts1y{GapJYOUl21_r+-DeA^#T|m3pM&?HdU}abjhWgYx z<}Y=22<u^bzU?-`U*!w%RC&a8ub^eDRzlm|1ijGY+PaO+HT+>Us#n4EdXYu-#t%uj zq7_IOZ6+Q7tgxB+)}vY13d{>Fji*@x#t{DyukAsSxj2&Bllfto>&PDdk7P+M;Hw~N zU|<~0YK?IioFHATyw@9_FBa-l@uyvh(O$bpzk|_NwP9cj<Hn3L9I-8Bd`RHL!$HP! zdOpNoNH=8TH6@aF|2^{_OJ1X&_meRYpGfFxE}#(QY*h*Njd?uv&j*BUg?eQM?y}Er zYoW9BJ~N8>RWtdJ*{cFx!zM)t>Gbn!hV)N$Y1dR;HcRB$taqAC@YFx$*=o=ERXgl? zx8ZH7PWoCcY<g?VX+Co%7DXKw^@f~nV>dhcFIS=$_NU<;)Jj?);y$z!bdopm-P_&r zu#ehPHZtd0C!;KvaD3WYxI1R_5v9b3tc4t)o>^}A%c?N^bxN_=-45X)GnHQ1SUV*_ z%orx)$|CLhY@i7D#G(xi-5RP*%(#-M$=>X(ecU-af(F@+h#hvBAS?BfIF0Qu1iC&r zU8_Bi={`=m()QOSI{!fT2|u9j)9vNPKee0|unPFp%DFG3bG1<WQFuIhHb+fal9h-a zjnU5%H%^mbNNNvtE``szrJ)!JM0YhtbzN*rPyTsU3gK)wvS5q_sgZG+(qv9BszB|g z8Am8^rQd+`QHT2t_@h@-6XU0GlEwM_#GjWw>viE^4MKF87g1Cj@fL>;@6>#AO)hxq zwS7r5;)Lq=d|RFnC=`9bXCWW3(Q6TF^0<Z7pKSb!o)%|72sIRmi>nq<N`gydOQAQL z0}TMq`Fn#+I|8E@8;*1QpW+M1ni$>Ta6~WJ@;$}EP&$M>=2uD8hJV!1N|M)pj`mF; zF*7k!^W>)|NAo%FypgU0;3Ob^jI;5<w1rvCCaO*a7{{7cEgixVyq}dC#Yd&fTkv|# z!}XERU5O&5jJlHt@y9SgoBGn^%i>MwMqL)`FJGVyk1yEbSSFurV3~yFx?dOa7e-$H zwBB%*sH&S7Yk5ZttL4Cn@#1$ld5iDeD8naK*2LK2cPcbPq?cQIiHKZY4mdSXF7f_P za&3qITYeHVwWkPjUYQ?Yh@nrWaQ-Pau8`$Ro&qNrpHLI3-E7=6WB3|l@Y?SE2!Dx4 zPgCHL-~Z126A9h^rnJ~ysghI~{Da8{>8HH5naUiyCZR45490HWoEb|nc8b2ez_%Tl zZ>hCdybgK$R<zFP@*tv%c@$u0dV`;H=)9SKK<ae)SGS_qx*GjFNvW&+@02=B-!F#C z45KwaONrkQP6%1k<-1WSr0UUZM-D#&GE=_)^S2hPIGTDX_Z&&bn;ydI->9qy5x-ki z?4SGon6H&s4LDAC_R4hfLE*NvI<F8duIumF2<)bY9*MS8&I5SqFSmUtaqJlMc^fFR zrjOQNc);-YS?kHK(LbJuyUCmQnY@ZWqDGv5cQX(l`N;Y!(_xNeqZntQo~#Vw_c&aJ zYHLJYPQFR@A?=GM2z|IeKP?^mnj7ZC=H}(Rxp^V=wDo82ZTTCv(?Prc3qaaTy4^T+ zvxyLUuBc<kZetEc-$>p|5smp3p2}^5YdO%bh2_aEga0txHsD_N%$4}*ypfc{L+V6; zn*6E;8tqAa&+i)KEYktg`7EJes-N6FfTX5Ct0l1r+8}aTk<`-XoZd#M2&l(RNj}#B zLQSU*$eem2e9hdh0Xr~>6zos*>_~dX?2|_ljdReiw4Pw6Bv)_3&@`XL8Qqnk4K2;R ziGq_C|8MERYq5NKAg8LC;>AS|goKS+BCWir_Xh;J-ga1QYL@BSMFAbXR`S7tm?PO_ z>*F(SXDLr~OJdHJLLeE!Co*+#Z}|j#<GkSdmOF$}XqS8pOBj%#Y$+_dn^}T#rP*Z9 zobgQiQ*V2Qj2WnMK7$<}!GHX((ap@!H^mBXKp>?{dzIsN$dPE);l<3A3?b*(SN zxgqF{=LVC`V)A(7|4BB2(}XLD4^<NK8va!u`%ZN*vbs9*sb1fOSEo#+yIA_$Z0}%a zr7gPZ7Q)3g5D+P2jo3vfulc|)c|8~<Y#RkjS!rlT7>{B#(BL)fVp6L}wD^BRXku$U zF>}=hE^6E<y&bY(ZHP;#Zn>b5?K;~Ab2d=lE9xV=(=GiQ<nwnm#-7NhMbqsvTl5-J z^iE&eKcX*eJtI)O=IP_p$BidLV|2T2ZDydw4Ag6Q&F>YX1x)lRQ6D?sP_{DqI=%W{ zrdJ|2)h+dn0)5`#8JzV83+dbVUTO&!WjpK5Ze*KnkhXRmiOJJ>L->FJS{dkiw^B<6 z<s0{|j)x;Etw--N5G%?+{Xn+Co}ynv_)(@G730Zzcs)~&1`b#X{*2Vd+%{1Ad9U$y zLsHbc@X6Mx8K>~5NQXl_1{TfuCXfmb5R{15N8iBq#On8iz~(1+Xl5+a*BPt_xc7>5 zOD7lZMZ2x8mc;=oAl$)wxM5ng)9=?8=Hg|2+101z7pdPUH@_C9?(XFuCV$q5;#<F% zyQV#mF0b9B1$PmQC|k+|O?eX<ZMeOW7oNzj6@BN?!3-IH3NbP=Y=yrrQUbetnY+#B z2wPN+6G)doM88wSdPIO!4y*?|u(krIsTl)m?o|6w#9QCZdCYwWYKt87$~rsAH0^cy zpI}q=qeU-=su|795<RZ91Cf2AH%5&T_GKRz1RX<?)VAMB3Dg;TwST{DQ}h`OKiJ0N zgI?Z`_FXWZ^yZ#%n%#895%&aES>%&GUgUis5q)t*-(q$i7O1(Z_D=(N{8ZcD<%5OS zk^El9iy?K{3YjyY%Uv#8TbzUjpj;+5&4F57UfZ*L1KTrhJT3?%w7wzwPjCF%dT;z1 z++d;;2PTbOU8cI1_$$AR#wzqdCQoh$Q-I$JISuFs4)-JP{gMC+tOU=p#4!YW0dw%i zueAl1V#7NbPp95~HO@aMH9UH5X$BV7Dve@3u@#IHkq;$HVby{x*f(`|C7Nvkp^|U3 zU4GRc%&BP0#yqE@O5>pt4_}mVD#~Q8cbQl2Bl8@WIofS2BmrxrMbw(q%ziHYcJVpg z5$0`YjNq<!+x;VEeJE&|5r~^XDu8@yoPIo`dR6eVc*!}(vU{`mC-b}StFn$ji)@B% z#Ei1qjZ)c3tFVC!PJy_YexaMU{0)bNE{ogNKA2*y*UR7d*ZiW=!d{iSf+hD1)Y79i zGkr-Xl&!2jud-D_g4hhCwTWoj&#g-i0W$&k)759d!LUgE8)=<Ms%HfNi%)C<DIT&6 zC4*=iPmb3gDlT|b!Bbc$c5HFtWb#~guqr9(PoB(0V<f8Y;eLV0^>qa;$52}hIj?lJ zrC-tf(yFZu?h^s60vR}SgI(-CgUZO$UG}YeWM4$~$mjxMLc~WN<+8lrD+}j5(&g7F z*Y%u&QsYSDBe$Pm-CWr#D|UF-xZ$R*&x`37*`IRRAI@e+3&Zj})~c;2@!Dte9=X1f zU-#IrYJRP;UuCXQHm;E|SIZyvsO7cy81bxbnIp+G&1D+(lz<E_Jc>yL5My0q91oGz zRO<cLs?4ecX?c<mgM)({`OuLzxZ|?zl#q?{(-gKowp}DL6`xp1-l0cW-kmRJX2Fdt zXn7e$+o>*ZHF^8EywB{B_Xx`izu!KDyh-jmgL4&nojXd>Icn!lP_0gSp0ygI*RVdf z9{2#xvcbxnQK|3MS_?JqyVK1meUwy48!WTw7DLj3fHjGC4r8fFUnA*+k~oS;>BYgZ zRHd<Zxit>UpIDa3u9(QOX@rx6+2S6_vTc+tBy@1Rq-B#^v6IvjiJ#0%$%OuHaZU9X zSF`4X37W+HT(93&@TWpH{PSens)ojg;`bO`uoDA_^c<Wz3K=aFy~n?cwxpn*+rXe6 z9j^Aly_(DriJ2Np0NP?}0N6}bkEALzjBu?_q4hv)xuZid7q(OejD;%&d+xA!PQ8jy zClMgqcjW9CW0<#O!nb1>XwmfA3{gubZDeQ9Yrw-YL%~SM%or@ro-<}Mg+fZx>Ce#k zL;V?&@yPcBb8yf!K`u{<yitrd`vUE_6`9P6?h=R%P)xsf0<r60w7{q)G}9Sv;qt1@ zWHFs*_iGNe^He5Ya?j}wwhQdF&DSnwqf{Pu9S92O7rET~znDMU+MosGEa<JyEa){e zOgwrTREPlGCI)cXH0}lT{TZ-;uJaW>)3NqlfPNtFT%^Wvb+++41(n#PlUXm5uvRt& zN1s<!8Xg>sji?H6fm-?3x-C}AMLIsBz2yQz`U&cj`F+d_uJ8Zbz2z&f=Ju996INCy z5momm1WL}-ebw6hy6L3BrJ5%&{(^n$1v%RJ`__euUrP+d@DVt_hj?jQ7tR>!SKtKO z!R?}!WmTCjhC=|`3_48vD=njg!U^l7sjn4d>S<G}wtQ?l_SkLzp*3v~L2v3n@$b58 z1XU+=wKg6`7axq!h4|T9nUY}i+3>>TFZjr&c;8=8^w@!`i~k~SQVM{~V#CP$6-k}K zvlIl(QVb(V!6=tOi=1=9lX6jp`zU%-+((|gIP1N&bXlZjC~P2(yiY&aW0vy4!jAZu znIVq9;{Wc>BtP)SBE<d2%4j!0)Uf!76A|FbQp5J5ckCLk`_k)+a*g)dW>dx(LfOxj zl&pMO?w~DaGwha12Nc`3bu%dWTTV#*AV)u+__{h{rwA;thjXYWTX-yxjEp)ce8QTN zA5kOndOAESKfC55m;FGp#|ol~Yh3KLg;@=pWhvya?yfR#_Hn!>r3%9{s%8Jkj{RE7 zB0G-v+I8q@P07Q5#A`KR8+3-5tz@|xTAKeJnRq43u*<%G^|0`CQ@dzIH(hnvkA6tn zdEgcva-!XVM+ea_r>Ap%s9yUlnvuM~hGW<KRwj<aGuV9d+NJP9=qau@haQo#vf$%% zSO0DXaZkTf#}kel^oJtOR-?Zv<m}ygDX=eVtYsH?H|ULhLAuY~5D!83NH(sPX(22a zL%U`?m;5Q6$=9#%>%6&(kU>8z*x4x>N>k!?O!lce<!{m-pHQc9LmaJuLl9c^;t)!1 z>2d2C>O5xbQDXB49k$%$rxxR$q1!7CGqBtsx8nQx$vSAZQk>yN+cY2bWzvpOxhUzt zvZU$M5~CcW`28LlORdL%fn9yokEuMViM?HE`Frcgr&NHEAXrX<lq*O@$-z%@wxvX4 z!78r0;$yCbuc5a;e9U_LM=O-;?RqGy9f!7>5;uPpnBWaFtW%%O#m}9SRy&FBk!t=q zc;0~ai66hF1<Cz8mfN?l`~LTwz~4mI5eA~4GCkSL9*`WpCB1HjZ4Snt(6yxSN}X(W z#6iIk7Fm|qxt)B*ytX44c|xw?#4^&ou+Jmknd4seyVox5HW?eEzg0$8M3ok>mj`2a z-p9{iY;FgSRMDRbaVaVb)c(u6V`b@+t)CQz`$J(%0<~MOnPPlOn{DVGkx;Z`^b~#4 z^Dh56&z{n~6Krm({!G#zo4Y#FfH>xHf+=#8B(=o2PC+9hm#54Bh(En(ACrXF1D9T7 zYS{mg{#LSN;6Z1g+=TtB#JaC6Y~a}Qg$Dc*F2qazsx6=2LY@B4In=2W#wb9Rq0VHU zIn=QwFiB`-46^l4bNG0@_H~Iptf~RRg383T!*``~NAs!^!P{snUb1pSelu1TJZ6*6 z+OZQdWL0^EU!|NPT$N>s<EfJSPu_HRdXdgmT_zRyTuql7V!Y&gOZIGlR*Tc)ZC&KG zGcurzbhR#B{vEtly!{C8Hn1uTaNbDVeXCkpzgnNu<!kJjqsCJ#o?A0S{DJ#zuQ1o) z%oZZ}RSImJMPM{#!nTVZxvc;$w}M#m(kDD|B!7@IB@xFv3M$E)HX-bhV+x82>NOmW z)33u{5nZRztE-r2ztkirN8|G+#CT|fcoeUl6Q7xCPf><K(Bh)1thT{*iiR}eGTBeo zEh85smGQ~}v-#WInJbX_NxVDwlzbh7hykc$6hWwS1sazO>Ky;<ULXeslj+gEP=_U2 zq5=-|e?y&>BF5jh{!M$I?3Zirmi7P3_I{`WuD$8B=XeR;OA{MUhE@&IBC^+2ylVbm z-Q<YUw8xZN^SzJrPfyq)@sB_ac-Wt*{j*1)0IVR{3Rjj7$-P2)HR%2<>gU8B>VReX zgC|i}rurynN2>nxd9@$&?`m(=G;|c^9k+o07~a|YJwtCJ@6ANtn2j&;&Ew3)A>Z@) z3gE|*^xA4!yTC0JtqetH8tYf8mi$$K=Lq}0{un)JR+2vhGl3Kgh>%v2AR%Q6DamEx z{3U=faZOm0cDD6omL;oyG?b+{vg07HU1E&C3eG`<3dTqD3#8Wvwr>g?y~eNolb5o! zm#ByFa`|)E?22np#U{^R^1yAlUamp#K`+kE=l4jF*vG>*1VXXVhz59_qG1_Q6@)Fp z0|EO^P|9X2H52JC=Uxofq|3k0r_5>UWi$%`mV%ZOaq?n{xKqY*-OYDsp1093k`*Ja zQa%2~lv)UE$>~qC4}VK5H<Qrr5?)6`ft@lhVOojl5<VtDGzW_x=MXuAS{%%%>oQf0 zbyYm9oLK+;e6I$SPlqY?G0>j?o;?P7gNc3H6N|YF!pgZLD2aa@E!)-h#NGBiU49}& zChvR=`fN_<>`pu`4xeCFv9EKVqJuF!)4tk1uvgnuoh~onlXTx_DLktn1{^rX1LO=K zmHddlBMSEph=#W8&HpNLNF!C*P)9{gYi5Mk&D*_pG&$me`)Pvq)t9-Ds2m)uFD-mZ zm;dGojS|06dzya?r*Lg06vJ7q$0^Qx)Kd@PLUm%{z(90|m|VGS4`yk5)x}jNex%E< z_yeQUwqZvH2co(FZ>oE(R-+fh6V(`>G7&ZG#|h1kB$^}FWsvK~`a1H-{%`!9+pPgu zwa`?MtK&(_S?+*O5(W4)a@#sbJ}cqZ9kOQV<-(zkUOuqV(aY0dQ#9WSb$Z;7*6?yv ztLim>dbqg-s*p<|oU~P^G5Zz;nrl){?5(U!L7>tg@Z^(51NseLmyD?}`HaqJMOP{t zcKj7!gui|zWJ#VVEx<K8Rx;$*oMVK17=5Zx{TZammPdLdD&JG9r~-{X9MreXjAk|y z%akrZBSTZdmve|EG<1g_eb`RB>fEKa&|Y`m)62=$TD<(ZOKdU!4Vm7p*-XMRm+&VE z`-}q%Bo241*{1QCHJizKi_5vx)B?6<m9N_JVKM?A9DF11)%n2$B4b_x_ysM8Lro^H zz-`X_KER|pl>PPG@ckIci93$KJkpacU-BERsLpT*<hbl8NAfG_zJJ)|8oYyy<a5MX z_VkQLT2Ec6rb3fBxUMV_u-c4pmq54^qx{+@srJaIf^f){6>}4aHCF^iH<yJ)N&}Ie z(!|SAJM{n&;EIWTo_eU@hPUhp*sn{TSRooFgazCchO1gr;DvQbOtBVH;;2&`?z1Aa z<xj2=Z#UpYVXC9U8Y^^Vy}qcCXiwsm4MOOwJx-Q5!#1oh0am$0$U|g+M9_05)h9UF zFQRKYk<(Zv`Fp-FFg~Vb2V7`;&<TGuDQcADy7+ljrM}H<9#|~-Ys@(ZNZ2YbAl*OO z{_{UtQfAd1dAwV7U$aiapFX7IJ^9lbyR(D~&NxgtAW*yhhW&|;-Vm!R4Ued=-J$cW z01NHn%EWq`5l9uL*HZ0ofymZEu3sySo(pQrMnv@L`gp6N1Sk;t_Lr$3u>Co%fq1gs z8`nt$_@O(ZE4$w9AGrMa$V3!bUGJU{D12`E;g>(JGDA05WkgKQ9(1QdX7IJ&X$EOn ztJ)Epk_$fsNSalD5}{ZlS6e=ODi+%uO<9nBHj=*f8jRy5Z*L*{r307QZ7;Ana5f#) z-5tkvcO28*F{r!a`0kFwyE_JUcO2E-v43}m*WEFsyW@!Nj>Eb;D!Mxk>FyZZ-BH=y zv0rz`k=-3fcXw2Eca(K^9MIiS+TGE=yJJ9iM@e@_-|mh+-5ve9I}YmZDC+Jg?(R6S zyW`M2qRjc-TA%p0f=s>r5%9}XK!(^buDR~ZdBX6a7Mef`qFLlMVxrhtr%T2I61G)~ zSs@_IaTmR0v0z5rU4()ndt`_B3$=;xDH)IM&keqi%n!a$YO12*mX&^sTfIN+N622b zmwYva_?WjiTb6n|*PMS|^t^KwOahc)IG;7dII{hP<N48_C4#@>;_E0-+Zj|FU7g?h ze$j+4&SHU7%U7!9ck|Du&U$YLn|t(`dOM;D9Hrsk3f!nV@t3DL4(cuW<yzjk2h-vU zu7=Q_#3}LB^604qs~|}YL{Q!I8p<U11#8|5lnBJyZ2wcVxB4Dk#(+9_u~m-h$ZOMX z)ewC@6kBetuhP_=+8BpniJvs_{wvX(W$A<IFw@WC_koq$Ik2EZhF^T!*8%=D^=g2s zcc@i9=bUJajW`Jfr;^L)0?GB!_njY&)<m8kO<%Irn_B{7?aO&$5$0K|1fRSaY(Nz| zkdfI*pV)jGA%5U?f=9N2$sc+@YBM*@DY}BWiM58mMX0K}9@1OCU%&9B^4=DNf$W4} z{eTI9ma+JOaXjRklelvNH~g|02aAn4m2=pq^&N&XE!`QYT^asYs@hIjrpr%L&(I=z z3+;R*dd~e(zbv9oKtBdee`ao0$Uv6(!}8qJsBtkRUfUfcaUVivYH(?7z%6SayL(g7 zba`f+M;v_wWIjwPnlYHi<f0je>B#@k<Oqx_<hY2q+%CuDqUmq(;j(o3WIm9|Yb$ek zs^p*oGy{AmN45W2>t0Xf)oXi;EhAliJfD&}h~YyQ$koJ37W}6l8)C*FKQ6>ge6fpp z!~Ec0KdG;mlr-DRlTdkf53fz}52LFkNtI&Ctp@_>^a}k^^nufqckc^ekFzSyM#?ak znLCjE>sz0Y`4SfeK+`gi0n{X3hu5r+t{UI|57Q*nd%;!U#7sy_v$E3d8*Izei_sbL z(^65EiqsAxe`V8`4qt5ny3nsKzEflfR|PcU^HGKGq3=ei%&y%l-nLU?F-WOPz4j?g zv{vjTM{z%d*ap|!2i#rcE4&}GAy|Km+xVuCKeB_HFkZnjD$bNxx4y9-M|CYuB;|rx z1f@Fb?D3Pl_J5I$S_wJ$PHE!03A@t3AQX2iUYtNPyhh@fGCGu@0_|TF=)I@$>Br&e z=^_sFXRwWmZUEzi3|Aw^JZrd7L%c7383uZ@+rWfm*f8Vnr}FpvJbIFy(JSuU=Zv1K z&*e8FM%aw5Vt>ovxd4QIhcAA6L)2agf27G|<OSTY@EP>a#{jSWx4faCypJS<;9UKP z4;pskQP^qMVV3mT+Q^c+8VUd|u>9MMK*l(H4`jvei;IC8IQsBmy?65&#UMLJ^FgRH zumrjU1~`PDD!}K%p`Gf^@b_Jp)6ZnP{5_gWp2MGq3Wu+ocb*XJ0pBQ?J6MvSEVQSL zR@?07kA^rigI0rB0U>K0DOswKF8_Oni3PZXtxle){o#SCRzJf$p6T*;*-S~4mVqcX z2Eu}tqmXXT6X{VNY0ri%%I12B!HAOJG(fJ4GP!)?Vd|IJj2$lHWS8->Y(`q4-IckF zbIFL(uck1J??cW?tl_5JfeXKb7punQHu!>;<CRz27W+Y~Rq6dK+x7^)Pk9_02a%H? zDPw*r^&{cHmwucn#eFc)UcX{#Kw>3Z7Vb%)UgJwknVk_B^Blj4;|*GiJq}Q74_|bk zLCWTW@DE_Je)#jAg47f>F_TfI%j5SO5o@W-eDdR54?=hqYYgL^S$2#4A_MO9dljDH zEqy=oOmT98rnmeO+$kDj)v50U;%&wQhGGO`xu&TxHeqHUzR=m$<MRz7>GHdoRWw3V z8DDl~m1zLIX{A53ZMSP^l}K;ukHd@G5PUMd<NT{z*CC(gk7pSNyWWBpJX4gM#f^<0 zdN+Z3woej7ej4@}by^hqXR5n*tDcTKjG1MP{$6UbY@<i?YV=N)^c1bYnkn8*oeD6~ z_Wlkwz#Vvr4x~{(t=@a#jAHgb<XG0EEjiX{ul1JO5535HRFV8Af3$iv)<FDjgPM^( zn5)DIoT|-`zHo!!ZQ01KS!J5n5b98+b>@oKVc4ehDrAHSui<qWKl#luBeLLR%?Pzu zC*~hw%Ke{WAId9nkSd4|n)}XpIW!PBz)BMgfJ(?W5#eGS;x}yHt1H=AC%a}VZv*`- z_yxIIw+8x`#*7l)w+;;QX<bVx<T9~M`vP=Gyb1&_<TY&8V4I-x_%J3;5T610sLRYZ z`j*7s-rt>Wb;wz;jKlmmM^S@#C2wuCt1DS1Ii_NsgU!5qs-k3>H^1sX^jKIW6$E>a ze0jC!WGnU&^^sB%8loR0o?gs6WMJ*JA58U`yon9y$jq58U4H&u65RIMqi({4lPm0Q zT`u|FqrG5z39okjUx-8BnfWtqOm_Zy9?2^~uQgLP1I)aYU~X&FGtxxLEsfuG`oTZ- z*dfwl!-2%M5tpWuGBhZ~=6&J8Ht#>rZz(?V7rX|0Cb;R2m&|=@JZggpT)nlWQ(MXe z>^7|YL?^8NkFr$-T~$T-RrTsLb_*SFSC6eG?OwKJ#r^J`a)LvC8yi%DKvWJiiT8CH zr~Kd^lcF<y-^53-{LN)~P>PQ{hW5=3Stt2?0ARlXKlP@ikS>1#ofI5o%MGy`szf@% zKTQ4DvZG&4%%a+qRH<NS>OA+veg_3eU63l_JvG`-JSlaQUcbhlOiPJzR+@P3zgAyK zp@|!O>hxRc;1#Ce=SELtfBx!`8pI7%Rf)^_C7)WWODiIAa9^j4^*Vhet;r5>x))Pi zTH0-(VSYR=KYk$gcXn!%@^;1gvVaD*cbZzI<p(js)oqd9apO;o(uX;eWK7}6+v8#o z$NVbX2b~|$qh5%~yqaOG%uvTJE&+!f0)FsB7Q4K{&M8*}(Ba$Q0=09jvHLP&c+W!X zn8TT|D+dx@NX6*4-{{4eMvrujo=Bs{kmls$f7|{8RH^o#hpX}%@Vn6MccF|fRMUlU z?8+hJpucqCm4$BH9R7CW{;&Bq?)zKRh5tqSVySHWu6@<stNq5<z2fn7p5~BX?D0;1 z+rgtJ*#S*{cv&SPH{w}&V14Yyf!IaaVJ$^@NkRR0N`35y#lY=B#WDUz_+WH=2RfIU zNTwQGMhfJ9KYOuXdNv<u@ID@jrGQ#{>2EEm<w`2Wr*d$8EIdR;&7XiqnzM7^86KW5 zP9%Kb6LRYif=p+PnB{V0W9-l3)f;1vFXAC*qbUm{N?*_2bHUgdrRk<hVM=688BR!B zq2n!YDxgph^1$_&84Q9o!zup+TuF;&)I_c?E1KRvcKwia`E4k`In9X{BR{rS?0SZM z4N1yBeM9Ve;4{@;%Zg_7q}EHjTcb`K2nF~F3<URn5}$(2s1$#N*p0}#;hFgTqgdl! zH8eY1bE)juwo4`}d$h)N=qUA%pC=a0;B3g#Mf|KT@*>}ZOGxUPJL|{?P>*cB>6@%K zFY8;bK#dBF;7_X9kBX!n`+V&4TBwbL`N~)Dx%grJ{Xd;RRnf&dF=9NSpvW=|OP{pm zzo8*c(_SeSx`vEUu|eD4kcKT()vS**_0b#Z<S9KD`R}bfwKH_^)IX`Go8<$j$>jT8 zJZMZmg)0^OSC&d;S)`Zt&Y6b=OxdGsreUDH$|1b4valgL{?_?7#6VG@OL($83j!#< z#zwWUmRGfsABD>U353qP_4OCjs{}6Sdb2VRS!Xv9=LwudL?$x#_Qb~=#Wb%U-9G6Y ze^#47k&`Ikt?Kj%*#<#Fzldq2t%lc%Q2!m_!Dv`I=|fh-g5na_0}$Z{4{PU8dBzp6 zK|+a<gCWem@)8aKe}=@*E1e)SO4x1w5u*|p>X>MG1S~f?FYKb|8;N?ptM3;gdB~`g zyjwYPL(l5_>;3uHd}K{3%qjanU-XYY?)SRWrcPELr|M(Y=3>?tLyRVuS&ogG8FFf0 zm0d01rWIk)4V2MvgbKNdg^`;s6k^BSK3CIqgCe(`bk8fkg5V413!99)UXlGEe4K`S zhPT&rakAH}H-1#JSTVw>KUqMFDe}(*R%#QhNEB0p={&OL82=gxoyQ53P5-;5wNA6} zQe<XnVR&O?=D@=6Gm%k4!fRu7WvR8ky(-T?&`g%wFj_^vUeMCNK6XZNQcMxRk@f+> z^(s{Rm|WS!08IB!j3$OJ1PrZn1d_|DirE*x`>)>m+kGfZ<f~yUlP)N$(|F1fBlg$s z1mPC~+XlIs0TlbnN@M||#};Rm>K60R52BTe8k>5Hcxc=|qbt1eGKiO_pB6v%_9JC< zAF$)+a*Mc|@}6H{myo+VhwU!a1j{ybiK&8Q7`-@8-;F76Ev313Y$X@wif=AO<Ju*q z;F%5aGr912XQ6kCTwP!#iX)#K<;`8n3&iKl;xpjcL(lC%R60uwD0be9JH&8|5{0P4 zDRiF5Nm3`x8<^lxQv8r6EWkQ-V2Ld`nKXAi=$2oeKN}D<dZsdl9#e((%|d27H+$O6 zUc2a)DlXo=u65^;+`+AWc`LXvwB(O{)VJcbz~bSD)U|<6CO0dYIJ+++!{A1h*UzZb zD^)k|?mVsVrkmAbai*6m4#@V>@4Lvw)Q>+iZAK-(r}gT)JfD**`7;JzGqgJIS(_zy z_R8ewOUbEpMD1jq;q8!YujWtRXY<LAa?L-31&ZsW;)C9M$wV_CZy>JgRnPXp`x?ft z^6L33^{6v$3dF+*-us#YO9MueGSSMuB!WL{m9PlSKS$z#${fGJI(-Q6;m>_s51Lf% zq)h!&Ge2BIKEbP`CN7fG+O&)0L>65}x2I)(ckta{xvY|3TEmi9m+_=@Cyzcfe4;-v zXcW}Oin`9j66%vK?f@;av&*N-%%{?11^akD!L9?9`o+#Jom(2&*(c0F;8XHqQ<L{* zcI)Hnq4U}M{rvdSu`#hlig}U_Ul)jtoXc+-Dy3=KW~bqP%-hXuT?S+KJ=7DW?eB+2 zlJh&ga$cmh@J714CzpAIGK+`1{WcUT@3))<_3GRj@cuOBP>Qw;#5n{0i8Ko0st~cj z)Ean&YrOo^ac0$S_yY(4^<zEaTZmEm_T$ZX9WNQH6i}l=r6e}-b`ke4$XIN<za2bz zBQg6Bw>46O2wwLA+7*9@yIlUBm&fnO4$F<rxQ&Q4J{#9i?K(2al+j|&U;Rx5vZ|Is zmk3@Jv0$0Ev@G(;fR<3?lcJVm6!@xi3i}Tf8l~_vrMnbRCcJh^PoJWKq{4khc6#2N z-}1v-8Yr65)m0j+D^>x7PgaYhqN3DSBRdcC=KMS_lUG((8fz-X7gKrJz!_^XL_;S9 zD^&1sU2Kb)m8;>;t8zDjire5u4jx0I*AL-Q5xu^`TZ&qHO7wd2-%xcVKltA#I<aU< z^xVDy-8o`TdzJZ2$(WONLK@=bn|_bocr2a5A8CQ$2&E0Xq`xX@oF$!UNf~&#{mw2> z(fS|=QS{@CpN8Wn@>xSIEmobDnoVpDFBVp{^3jli-9vJ~qxWe;{J7<CQ1oPDs<bol zzidkM$_maVTtF4+@^2%4<Z=7SQ~0XwCx(JnGOd13z!^_iQfH3vc*X6;FH`$}9W?V8 z3W#yTaSIKQJiou@&6C$Wt9ik0V&yK$3$=OgpH!>e80A9hnsap;?Pc$fx)u?nIW7sK zs!GvO@KqABJLl_Wsy=r=sm!2x{C@V=4(0RsK_D|3fY1q_g>saPZrMmGjXg}4H~xku z=y#<?fGaOySi}!q{n~DhM6A-gIiGPi_GwkVLi&@XlIixmKJp)YRWNX;r^9s5EoZcq zwXrJHM?f4PEsuHYMd8b!QMZ^o!p>i5DW8`;!n<?1pph;gYW$}>B=^;g8Gbj0TDRyl z7NpccpO<?)xy9q&_~0J$jPAk^R&lh~XJs>32i(-($@=5`39}4rrGANP8rW*^G&02L zaN)|szJ~fN*rkEqQoP|JJBwP*iR>H@Zi(z*)ymS~Ep4beU`khKsofOAs?<qxVi6M{ z!y7!VI683%H#|>?jypWVO+pkO0(Ekp9jTKeJG`qe$X28}C@&&0t}n|qTM+bUzE9{e z4zdG{$x9fs>0?{Bqe%A`=O5<#>-JkNsYFR`N#ABk|L5?!^kFB<|DVHaHinx2Z}6)7 z?dQPjzK;xErKJ1tx-sU%>q{=_ufNH{>k><9!WV4O_2`w+WW@)4{X6VA9Mn!fhu<-Z z5O2RGbI61B#UXFeY<<~d|HhwB8=2dC;ZBebxfALPWBsMU7*Xgg>5Lb5%9{c#S$Jpf zI(o|!sMaE<7lo&XV%O+8R}P|qjG@@g7#cG1*>e|D9l}8c7xw%@MI{lReHn+*y(QDC z2HUNutmK2<0V2A*t>vcMq=q@8e%q?TmWEK_`@z}|rZ)x)w*-fN5dK~2EAaO8Fi%cM z9~W$;e#j2{q>(miIoWDyDefp#{HxvtkbcX5akpj$u>|`5$>SQS?>`I}72lO{Sum6n zy?I*HroA%`WET{cDe&56@mWeAG6qLqQ`#~(byy~p`8ItB57f4N$7SXdR;D`u;sdXS z2(N{SAQTvX%3LVivS97D8HW?Se`0*d)qz;?bI23V^$N;PfA_!F1e<hu`7hL2^zJr2 zri3?Xr-V()q;UC_X5s?l9fcrt8-kE%@sqz3$;!-6-h3hn^^+WB5{Ek>Nz6_QQH|RO zOd%b397_8LfilU)tv&acn3vdujY9%OvqQ@7t=Al`40sJ(c_RHQw4|9ghO8g)^4Y3H zUZhsZ?!;YIeh6+Rohla}bd+lFi*p8UAe3IEdB)4nQ(@`m{KDV%8=ssl{pK^d(g8I- zIn(%L${)Q)<A?d>r)JClDqDV`e>OA3p;^EGQ>o(O7kYPL6Fj#@TA8il;%pU=VRfN0 zQ@)b&UsiccSeYT*<(Hq7Eq`RT{KBe5WK<QCGF42XiVy!v75nF^INz^AdKm}9SCEY< z!4xcX#s#Vvm8k+5rTiIHk=Kg@{3@EVRos<V1&P*+rc4!0RPob2s(2RBSb(U@R&jn_ z6&w62>M~W-QN?#uMIJ89_p4yp`2#s1uL`jMf<;-T3YhKki&aGyCwC`;R1u8+l?u#; zFzC6b#us2w`zQYsWUp2B19G4{)LKNFwvog!N_3~?!SCIPT}w1e%Q^4j8m^X7aIIPE zd=23Sd+{}eI#}!{A|K)y;3t}Ohxde^h>SYFYO9}Upyhpsp9t+CvL;J0fX|Zwjd!`$ zXykQDEb|i$9K2WfiDgQx<V9iYs_jV_J0-Ti55!($X{~zF&>|U#K2SAEDFkY)vmBk| z*ueiTNs$3dT3FSjC!9x(K2Gvqn)Nc-f2q*RRC|$1tF5ZpPYCE`rvEZoFRk{HIf)M2 z&AX{}+f3#}YIV{m?M+qw1xl}WiFVwKcQW0_gH7fhGwTOqu2qAu2(sd{Gm%3!<{?GQ zO`s<9#6N4yKCLoh^U%7?LfIFsdf|EM$-~e07OQ+7t(uWnd{0_+p9<&Est2twj%!)u z9+_8qZ(0@Jqwyd4<#V*^<F%R2e-5pB=(*lqIMJ^nN2?ynR<SQyb+gLnQHl2+cJRy5 zs_EJCpF^uAsERyVb-!Olj#drJt0F^adeN$*_vpnGzlt2Kdaox3hzz0WMXQn<dJp7S zzlt2Kx<9Xq458^otNx@a@^E4ELk<=>S~VrFiXHo+RS&6(JX-a0s>r8R$5BBjN2}t> zo=2;$vKCP@5qq@!Rwd@qs&9~JT8Xx*0yzvoEsR`gQR$^p)M1pp<j7T>pJ?Pthb2XH zG8C!FPc(8RtyMlnn(QYUxsoPJi5ZI2>?hW#&6$3pL4@~KKhen5JYGbu7U*O9D-fU* zWa@}DHk~iY%jzymapVbVwMef<rXHxePrsoQ9rj#UwM@?px$5*^j9jhtUyNLBuop)- zHu(ugt~UEGlT~TLUUKAWtDk7JX$LRRqB3bbWvQs--GpI&S7(05OWydv1okI1bpH^- zzods2rCKyforeuwY^5J{;6dbDd!rax3{wy~a>|o;6XjbD<P>VDZlzjoNr}l9U@`|H z%7^_iK;D*vgRz_HI6Z^z&kvQDF24(=kZx&i^e@$)dqUi+s;bej=!15(M-!x@pHK%r ze^3MV9@G(;LEU)D=M3t@8>o}c%5ZKvpH8M9Ow}t*Rq&Kd;v;aSKF7wvJ6;L$adV@U zdY~%dXWz<G|16g7<rJ)cT&3ahVP9(kaW^3<X;8(1NHuWnZ7R^)zRn3j8C{7j8H`RV z!ArNLq%?>MkW&L|#jn-~fveSO%x_)Md*`ZYV5eD!xh6PE;_r!Fa>ohsrBBP`z?WTa z&7A-oM9Ao~yh`0xMRj}<TjAbOk|<ED#_Y9Ui5gW^3m}PGzKIEq{Cd%jr;a2;<Orb? zEKPowF$+<Y>{OIUK3rF@yL<*WqwOyA=9~p;m_j2ELmij+BkIBAsY0t|o2i9===)Fm z*dQ5ULXPg?($+7(C!Fo$0!P!yGCIqBa<~H;+SYwd!&yxZcTv0Go-RM!B}*My=Cz$- zd3u)7uL4~>#XKw%$XJ>cfq0-&Ks72I4;T@s(EuXoZOM2a8JCqQH!q8L>hy8RJ=aQ7 zYqRrl!*OK4jOfDL(BNMt!|C7ZQ0?En$S{ytQQwBXEF4qBPzWDQo>qvnchQU=hoWy1 zP9Zq-b#Jyef~>V~dUN~ogBC`l7<S|aHH><71`fkB1~k^b%|T8uq=lP!RcO~&Et%S$ zr=4wy@ANa*n;q|>+#daab+=_=QY+23zXiCCO+sYtdN0x`s!TV$_9yi#KC$RgKwFUf zA-emFJSLp0&Quk?LaOHGkc?dee@Iq9kRjb$a1Jh!F3`dM?w|Y9GmRc{JSiA`4?{hM zoF2nZ4u(y?_O=2SJ5`3{x4F;$9_i`;qz+Fv6LMMbYK)HP7mQxij|*B9OQXn}{mb2o zAb>tHbyX<3S}rAJgsuq=1uE#ssQ3^n*34E03KIf13${@2O@Sy35ss*VH~`?o)WG%) zNVTv(g#<<X8;%Xf<B%a;Kr>Ah`btka<jpybMuX90C_bLHWgIVt(er|_kXOq27^bb| zf)M9-sN~F8%c+~Wx8~~cK@?-&oXY`iWBePtLR`3M#Rhszf8Rju&Z|d}qmMUdr+{C$ z{><8zQ#-G&N`Ay^PDi3F(}(O?L2cLcV!rKetbNX#v!X^ghB_}8A6po#?egaQ#J*U2 zjj<NGC~^`T!bKs|0AwLSJl}5|N^tI{m9O?KZ|+<CFo`h)D>^mAoKFtMhj{uliGp4* zK9Iv(fRam2Sr?^R+&BY{sNzg+ai|X#2TA74@7eLwjt_Lb#l1SIz)-GiknB~v(Tm&* zuJ|F|{TV~a!F5Ya*A>^GZ!LUJGgGG+Pq*kSGCQw#OM!m$VOJHR#SX91`A=d;Xw5Kd zThVb4lKWqrZ{}a)A!+?yuHV7PU(yzOhgc=_DOmV4Nl;ZnmGpST^cp;#fZ^M(?jMM( z-r89E-Zj6sSm3*pf5t-MAKV8cw^{F=z8Zyg;j20iRL2buH(k?MyW0A4%gxH&XPUek z915EM01+k8nGD|s<sUtu&bxh$cN+rCi!@DW{C?b--B<oNiu4*Nd?8f(_Kf}K$+@3S z_5^FUOz#AxlR8G1TYrQp-<?7|o<(&vpB!j;>TLanznxpVe^lfnNU+FTV|*Z;a}ntq z<3k94pyeHmewgP^)fj!fF?MKU?T0gdaCUq|AyLnRL?Mr?#ARrAQTWZ&S^tB|*uk>? z2-*6kAH1*ng3%4uD<qxT^`YoGFS1J~mTRB#=H5Tdr+*QC7+ISArk!Rsw(+^ZbI6DU zix=Q_2cv6)04+3hO(3$fFnqvx%pI+a4F_)M*NqelW;c|^c;Lw3(dz<z+RVc-6d!V6 zkaZgB<0KS{23N4U_0QwJh_bq^+@UkT8yw&{n1c)5jl(|-7Csg1`g<|RGuA5`c%(PD zbgVbH_{d<Svxwz@SM$ovjkR6jmD^SpwHzCYc8ahRcBzY6^OPy>N4fneG_W59_cvZR zSwue{XSEk3pTapg6n!Sy%`?Cjy@-z*s?kRjcI<**ZDA+g=zriY^2Kf++?a7o5!v;b zm3b-+53`x4eI_(YLf^mzttrM>Bl)!sI<I_9JoQi8ym1h4UrI}yuE-)3vXAnjZl6MN z+v@`{SQyHLkY%^>45lIMZz#TXy0B$PD896UsR*W@O?-RvXAEt7>TOkIy?`q$4_v-g z88Y-gUEYQQQG>F+V`H*t$E{Qh7)mS~=ZpM2VoY?_%kmhnkpUIwqsSu;rHnj;9ce5G zdk+)B6|R8~i4_ywfC^}PO~JuIg+OXKMi<)~v&tD+5ux7P>bu&>a2g&(1$5CVA~k%u zl!T8DL~09KDlvsRb~g~acFzj#R|T<gne^-TOphvk)~dCzL0PNgce+DN!YH~KilZ_y z9RjKp-ZQL9D1MJk(jMo9)G_h<>Zmb#u?uRXa%-Xr@VYPm&nn~31=x5NR@L!UH<73T zZzvP(KRf6Pna1l+W0_J~#S@To0ncFU{7Tiih~M}s;bnhlIlr(&67Pc>B-R%5wIqB( z2A|m76CV*6zc(tK!-7k8K*q$A3WYTNM)E<)Rsmbz;LzvsTccjUQ|cFWE)eIk4!sX% zYlkgUPoniTO17R>yPkT3gO%RkdbDyG%*KvNvBbUqwabny0;!_#pbV^&XVRy~@f0a| z^geQhR0@dL0(3%Ay8N+b&E~?YnbMBM$HGV~uL>v=-4KxFNv$SAFo){7*lP7$%%Xa% z1-FQ&{;{EWZD$Vg75PxJQ2gw|;hn?R<>={nZ^<{(k)5Y=aat>!S|oiSVuQEj`SH<> z^^w2d9NhT#Q2$Ni+n&F6NTiF99Z>HsyD6wA`7${}fK8nVY=7M@5YbQCv@o6sZ#c~1 z$IU>(C5drCgGehw7?yztu}GkdnwL!)S!T&?&`a0bj$0(&4X0={30o~sXUky%Ny75< z68nB-`4(4|3UZmc3iOhz>qb9MrOV^BEz>S5eVNPG*Cz$%lP`I<(&B-1VDy=lGX@2& z+}RxHb6r_dX9$R{SS@Cv?LD*=f!LWf4c^kZU!hNpSFUYd(X1RjD@F3_AJcTRI}Q&< zK51_G@_4Rzscn04GYD1BrDWs12^#~EH4C_a3HTSbya4PK;XGWDIyl587D;l;#yo3d z`HQ2dKXr%UkG0*b??bn@-h4%&u9I`~uBpdfg157nsAe3yytZ;-G<y>AppzIUyT>H= zXmXD__dwi7-3Q5P*1j@Ii?dVXVFrX}u_pX`GT6S@%|44oSrSKmzt<u>*=u`-kk%p< zqBOd?N2EhrLqM1U#@5->-R$Kp?TYL;!23xLRYi6T=86dt^`$+b<(Jo}N+m9tmDiXM zU14`3JNkKTKeHbLz4i{3qxAx{!kX&PB;!;P7`nlm{S~?fyWlNZUNu$7M7j|+@4*+b zCI*JSfXGA^9a!(@%`N6<s84-auyBKTVVosPe*7@rcpP946?UcH4AgG$+TJKrJ)|P1 zBuBIJMs^(NwSC8ialY4nv~|bV0Z<9Hl^h^#Ot-XZOg<q7;MSqY&V#(ROH|3u3a|Z7 zHWq@7G8S=-Q-iSuYc)SZ|K-iTm<~`}<MEd43V09p1ct8kW>4UAFt$u{6e!$2>&*gi zl9)xM<Z8cH_33`DIY(RXi~A*isZV=$?L+v{EP)lc2dYOqfby9P^mC#7H2TAT1Lgb4 z;zRit{LF*$D4_i1hxUZ>wPX^MM+wSj?5nR6^7~34#PA?*DOwHCLY_P|d|5^@DnSnM z?Oc<SiuO8%efSE1SE92r1vu+~6autzPHlZ;v%X?K<AW?sNOcGx6;@a3NLMA(I!R!% znd4<t^2^lgudL)z{Lbd9%g<Mq#J3=q)|8)CnS4j1jC@k;&AtJ}a;%u>aIDcn^am&y zvK3BEc3ZyPNU^$j)&Xg$5rR=uSZ!VOyknx>Ndgfs^=6+;ZI&y5rC+_x)-@?P!_`Hb z?`XhCMBK7B7HjzcZ^=1*=FP9_<})X&*6>i}t9UYSeYL7+=o$Tn&-Z4(pkKB!Tz4w- zx?>tE>&`C+`MLb=RA#%=l>CRQi|*WSbzy$|-*l&v?)-#;Qy`O_JWZRau1iz6QcwP+ zj>x9w(p5rZ19S(PQ@jM#NvBP0IX}4tZS?<9g-xeT<hE++)6D8pjZp0;UVB&q3Vu>k z3%s^zHlqt2F^fOcL5Bdhmb#sO3&sDVlTX9B!Fp#&y>~l@>c*}Q#(vE80ceCmL)Uw= z>!`kAUJr_t;=rsPRe)R4siDGWRfH?I;5A^njIO{1@${h7jwf7b%$|4-QF8Ghb@p6r z0S7giO}tNm9XN-lcY9mac|6@MQbyz9HdRyNh8G<f(MR$2wh=^#H_$GAU0B~lO0c$P z#wy*e18cBA{X|_T&OKZ%y41?A#KUK(B0rg8`sl*Xl!T(Ep+T5dDxa^?GQ2-ZD@e@T zHl_MFK%3M_54SG&y&J0XYQY><;(T?iLLG~4X9JJ^Qv&nO;LsPZ9vyscOR(_8Mxs<A zjSWwqS$lXvo%hooZ|ttRRz#Ieb>5N}XMG|jz-zx$gN}Z}W>37_)Z<zZvMc%eRpz;= zpyg(*w8}uOmRsb<YCki`y<za+_|Jubtygw(NSLaNp7+JjP*=*5gJ_O9!xF7m5xr4X z+-v(#@N*7(Z6XJu_-Un~+MQlxlM+6^hlBnHJw(~|#hptXgAfotqP{iF8o8b$mi1j* zI7Yh5?<M0S*qZCHexJ!@%!vHky@=qA;CN<yAf4~pD%sI%Q*;6Z$3XlWXm<_?M4xMU zCrIWwWBHzZqS7Fs%5+k@uJtVx<Gi>Zf+W<Sm7Mxlw{10eJCZlaZ^qerZO7|1P9_#+ zmc!w_(tp<~P`a%O){Sixyceh(?-HsE$*rEnZq-aV31`K~D5!v#qd;tGg&6|uL?@>o z0#R%`nMvq+t3-PLvDpv37l$s3Y(_`$`HKVUQyHq=rK?SgtKb0}Mj@ezmCPXEAF_+^ z<Z&EbyaR7Wul>%W%-$eSwu?2;)k=aFJLKL#YkLa5-(;YCK0_eF@AOh!dSDd=W!-Hi zrZXcjpfQ<q7w<f8xsRuo<szQJ=p1bolIGSLH-g`xh*Aw4mt6d6^zs#6G<`eBp?{dO zD)|(WNV}Ey!05Y8fe=Q2zPxI)zC>S7j1Fjx`8h8C)Tk7e4JALS7Zc+2Btmid?n_|1 z)7UFregwPZcmD|qH?7hdUuOtp(63Jo)*j`xZ!-DEai~OTVYSv*8+W=8^2_bT=$P?n znV-cLBbR%!W|N-HnPR-QZ}|jVh-Cuc8etx!R+xwP*?c3}dWQHgE?(TfU@f0FXj^M; zUl)oFsp76^U=)&?Jaw8jI2AR3>B2wln8(<Mf`UI05N~(u&WV=SYkyr$_1_xkzrky7 zBTFM(@$57BSRWt9F?smt<;oEs6uxhKLG}_D>*arw5KOQ2mLO&JB*kO}S@qK|M+dgs zTT1+}9$cu~s*a}CR1-;XFU=|v>D+;jz9Nw&+gzdI>F4tGGjHhxm=(`k@=fAk^%TRf z97|ak7L7qw;X<w*RA2uzF;)MC<225|K_LeRl~5%P4BQF~d3qI$s*eW|sTu6E!Z_lg z|5k$?_#ez=`b~|>oBd}}yd@}z7~GO;Ft79!CA+}|m-?SJ5RLm_rTl54$((M`*Hcm^ zg2<a_%6FD}ZC9v~7`m!!N~vxu1<H~$T~)=?M><HH4I~bxAqR<tHs-o{i+xbccc5^e z0mU)d8UMVoeqv+Q-JA9D&OM92oDAN~doa3@eil#v?*F3U#r_<GqA#1m#sNV=S`0o* zPZ1ENU^Ca`3mByQ+b*K~e>r)HBzP!LK<85GWOu--piP&`?gPl$+po+L$_#zWF&Srl zJ%58$J**=uSoor7Ppj&%n0F<%*Z#YmOaj{^&|N$kw>AxdYSS;T{Z>U=Ig-&isQph6 z*UeT3D{lx6?k|aboJ<8$kZJV|gB;rGTg#97c)eSFUssO!pi}P6TYV1N!eds80es0f z4IxtxlT>&$i%pnFxUrt1)aiU;<!z%<si7mAK|(&Xy(Q`^)8999NcdwIEVB2xng~*z zpOMHa?3kD;>40YJRDV0vH87{;OTr?r-6*-5Jj*p{$Ug-|pynO^U8i$`(Wg|WH}`o^ z{0osl&3ux?5kLKfE8AszoNPt__d*m+I)~$?egT$LpVk{onl-C|!2d0Z46`NO16O8y z2fOTJDD#tdDsD&?6OjhRREx!h*(vuT#<Rlqm`>fB^FhC?dHf>G#CF0qacx2x^c|?B zOOmgX0c9TSZ6Sw1g3+B>4Ie9Jo=q}NZtO5Q*9^TSzCSWgyC+*cm*6DSvoBWdeK6;L zrrKL$`My}S_iH~-R<-xYJL<q*s=e#Tm;5<tZp_7jC$g>q<_>T;moenK14uk2j?~Tc zR14R}cF94abZhqT2`KgRu)EiIZ5LV|L>MLoEn=Ov@nxbHk<QIx^h8E_+x>Nt@qr7S z-M<D{OMEJcKXp4xP3Gt$%|6NW*N8L6{=bvtt4Q`D&ub@)V(|JTF!aelbiIrk$|O&K z;j(qj_yPP0KHj0BA9}ODi$*w9yW5+40Y7HkNcw;o*97Ai4+zzM8uZ4!AtQXX<y=e# zk|77rLs?!=ob@(G5#uF0pUgA=hmsF4lB_+Ey*PF@@=KQ&DbUVj_W!~B3dXN?8eJ+_ zMg_^~d|V(_C};owe&FBP{qMQa=D}+lM%Q}T{p}uL?7i1r=-d4X(qMM~Xq)av<XTRq z&TQ_!=^wMd?*Nmv{r`eR77~Qz*U_9Jq&C*kcl<Bg0z*HRsy_NI`c)dy%wn)k2+&Od z=L3N5$9z^X2@zbD43)kQz*OG{z`W^?nyb<$Ryi+#Ot)m`ZT9BKN1~S>K*J!EccDSf z5nyLaBOUM^0ls980H>MX!W@O655*gC1X$-B0YZbI_0AJu7+LTH_!U{4C%~6FuRhG# zqe+-vzE?Rp0Pt~lsP-9e&TZ0^#_J0MGEJlK^5)b^8=7h72D*mqOW<X|8JmVbQ6X@` zKL4pVyV^1qS2fn|^5)j?V)s&MBd*ki-B49UcZ(PAuWfm9D2C}WK9F;Af@r*<uQ>wL zi6&3tbOQWy39>e(YFq$H8sk;N2>C={me(7xY*4<ev389Ykx&%k5FAM|w$~Vyd)sF1 zyWa%vg|CS`<HLw6fbN;)9Eb8v_HNl<v+w%@*qq~UBWI~7*Ik{zS%Ia2x9<bcc*sBa z{Wxub;(w)U|DbEDtkJ?}NCC&N$*+<-Kv@8T*x*L}kz>GTSNG?N&ds6PkFWW)!>{Bb z*c9J?#>X|C#<DIyZ~^v4;0Y>~!8qJ>bEvlart3oH7r?DD>bNX)S^K#82Mny*mxI7( zI0$%UXR9Cfr=J8pqZEZN1ZqF<Jq0ujoED}pX~a`t039;}V77j~Dn?GPWuZ<a-++b5 z_$MX5jh6sNVjA4~50A@V`^(p`_J2%<K%d1%5bKwL@vP-_qHm4SCquFQ@jIDuI*tOE zMi50;hLfq2_sZ?+&*q=*<>yD`JTX3kWsDy{7X)Vlje3z!Ww@{1=FOEt+$f;wyhWmB zzo9gpV%rdSE`dMFK`f$@K%e=J-HYz_=LZv~ESzT46w5T!2}fR8p;yLH)xjhU?wfVu zu69OJ%!GV~ims_d53xCrUK?IYryg1@(!M5nne6m}LGoDrVv!ak58;<~&qcgQe9Ri= z<3~i#%d^yPS0>w{Htv%R&`HBl{_ZYpsR$Hq(s6ixx%r8q<*wz%+%vdfPB-DrU}1iU ze^L0YR3G#Rs#KacsTd@cZ|1iKUBHf`G!vZJ&C2W@b%l6@jPXs}N4E3CX=Z=S*v_R) zsz9G1HwxR{RGC#mWvWy#R3mCkjS_{%9x}Qmd6y(#NByPz_Wcqh9Ai+PP$#{m%(TiQ zgR=ffrk4OG*H5J-R{mIAo0~qESey?O*+<z_ZQ|Tja7EfOB>Zotg5I78nf-1re}t!= z_#gQre58FWHbS9hy|#znV6roQ2%=70JiCz$$)71f1Es_H1Lf5MV2>ZZZT#?m$Z6Py z29bcNld2|$LTEHz2i_b>>i8eYsfSz4OKby_!lo_BC`D17kAxaE&$*rH^34<Jn^mJT zDO(Wh$!hJHlH=Ct^z6^5>ZPWxU#@=9k3ih-MEq`pZ|X#U{mXtoL6D7Z5eqS~c@MC+ zp*X>J$#*M=b9zVXs;tN>JG0CyJEu|z&`Npp4zMRmYSo9;RXmlX2spFwPX(xqi0%zV zci|1r_$r{zR<7t+XTeu3EX@V>bhUYdX=yMm4lXiG0rMOQPP}}*Gv)Jzk$epq#3`;A z4yfdGR(-#L&dL;P2ez38DugU4baVkEg;4UIe2{B!gmU)Ix^3cns*gO!F5j&V>d0_m z&!eudAEe74Y{EG#&EDp+CLhrT6@7;T?>-+o8Tu?gSv6%!c@RU#)B^UT6wl;qWLl<K zvN`QF-Rbga*K4k~2)Tvi>RrN~zQ(I|)76uOKF*&;r|eD*T>g|4Up_@Lv1xL;{P#hf z%<hr$IJzZ#qM?g+cakRK(vWQ9P(`Lly8Pqo2np!&M7K27esuLWf|q}!aqIl|$l&E4 z=(p>t;!mGN<#O%x8SrqmUlbViQRNDdXt~qn|3%FXSG9N><-L5xs{-2tRcnEUc(UdI zG-iYUf@*-<4h>#_Kp#=wnZX$&$5#6ef#n$#!=~!o+4S<OewlYVg2^;xAd~#)Eb53K zG4T#$Y=Geo8R7NrlOG}(&iv)Bw70||>uK0_e+$6pHR#}+ul}V+vQ>%RO7yiA;J@4A z(2Af(N)PzyB6E75<i9WS->3TT9lWE8`g*q0#trLG<F-Vpdc5zhKJ$zGu7=O?DI%nq zdgb8+IL+~BpRP^+kGAuHuY0=xf6^wEqCU4<FF|pAU0X7Lni`X6%T1f==W?TAMHrJA zRbvyCwB5#}O+xOjyOq^e``OlgzqZxJRzp=+BudjV6kik@VH-EDKf$zRxWDJ?{W&-H zrucsM{g+33&*y#4`}}{O_j#Z9d7pDUEM;ZQyv~|F(|YIoxxw+z!qOyN|9<zuzm68o z|GB3OJxHPIZ|qR@fgP%@(NkRYCI{!M-s0eV)mwq7`j>x7e<6Xw$R%+HRUg+u7z(18 z>TjaE+YgS#y#~(6p<X5iu_r4w8_x_cYqNj9Jcwv#VTf2bp%+9%nkClGJH+~_i&f*Y ztARW=O4_Z-$I^MrJrryB0MXXWJQoY4zZJ4FAFDE7NLyE?!>|5?h%7tvg`8v&9}oI= zOCEW1P@~I)T$IZwmy7R4v3iy$nBDQw$RqcZ>{P|U?kAtY!{1RWxT9DqoD-L<R>60^ zViBSrv_tgoE4m{*Qjr*wM{fpw^D~hWch`}%c?;;Qx+N~uYLu>0MMO%&Y0TjQ39sQD zQIiIc`fn0^+sw9rHIT%xKVrsJ#U!8sQ$?b3kspo}-uSDcv&>x<J=NUnqvyH!11`M* zQ5X4%YL(v`qCR97qtdFYjK_PVZ&XS8qDHS8SNT-qZ!UP|22;J#yNG<0-Xku(7UfI% zdmS9q!<p8Re$2{sz1fH<eKAm_zrtKM*%7}3_&*-Cr?oSgt)3%(v@W`WYMF6zf|XxL zLx<~hZ*r#_E<|QPIub!?0<r#p<#Urq(Dw-f)v2nFSg2Wvz&QNmViiM!SUg#~JmSD! zXqj<dZ~WEPO5>9)!WzH02}fyESS0X#B!i}i7izBYLM<^bG_T1EwYKn*9;|)w_8?M^ zImzYbT)onq>(-d_^Nr@*xW$}XGB`?JO^uable(|hg6ivyRP;?(E;ZLRsYu0ePMhqF zKXHFV{P9=<mI{9$h|8(}fE-A3o{@y=D3UPOb-hSJ@c4S<m1GC4MfI1ObKMG@p7Gx5 zvS?3zv!A?E4V*|Ww$aY;Y@xEf=5_T(98GQW@Urem{(Ost+&G|+<c&6|C$Aea&pU%o zL45&w38nRuw^Ya>g$Q0Dz7xr0rSl@|#S!zmuF9NSYFtPYA+`EWmw)N|%y-GfF+u%{ zeH{Hs%x@*#1kdyS6Q-=sAzFUK7S`)N`U&O?>|njF!}TRw*yMu@dTs~@9^6l!>GJ&> z0@Ya{<sWg)vD_Vy!gQWnP15CMBLmMQP~>e5(La3Q?GL}FO3VsgFyXda%@n!t_VW=j z?i1Z|9AByGs<qdHX+#<1!rwt1G#ETHA3jV;BOEdi7%G}-0-X1zg7Y0qrF_AR5k-A@ zCbxR=igtJ_A9^P_e25Y}G05@-^Rxtc?DJM7b7YXrq>;(=fT&7|0Q^Fw`qCpRl?zv? zK7Y4vn>OZZ0@LAlh<f+I#B){t+bmEX4SM!XB?~92Ak*vxTw2kp1UZkXI0xn9#C1{C zZx!vwL^J&vsJ~ijs6Wgn&%HoGS!gMT@3BsK1TCG*_Q@#(o~}UV#40p5YDM_aGRwTU zHFs?WQ)Fne-refQTzK2Lc<x=uzWfWW=t9h%l`qt)tE^CulDm7sXX~*<e33MYQ@c^A zJ*4{C9Fq=*thiFmpbu6_H6BfYX&54ld~uawE_@#Prr`0b^t35KrUw@?T}-CgRvIZ1 z1XUM;<|^o9g35!St#q_2>hTIXilA3gR*Sa_K{X26kDl4@c##p;aqW&U%p-~P?{QaC zo<~mCZ5i1Evj=4N2N6A*lS(t;TM*6GA&%w3haG1~Y-rt|-CH=aZJ;{#Fb4NZ^O^Zf zzx2RJv`jjgv9}SogSali80;)Ffd>vuS^8Y2?vD3!lb_A*l?y+G7_TQBE#Co>%<Mzl zTTAO#qZ>iRUDC$YEX*Gx*21mafA$TkaX>EoqkQ~eWsnNithw;72*0(IMQC7=Zzo2@ z1u}<D{2<4RE9POvy3F#M*|pW{mLyHagX<|rww*!^uI3AOcy^p<eCuN@?vEtDVX5}V zzojjh@WgL58;X$*o*gttFocWR`Q}yc=dumC@I!u4OLV9ef3SvDJW50CY|2m|b+b!U zlOgcv;OpSNq%WA}7qiX$`quY(a+LLVu!74x@Ow3>s@U~wiZs{+68B)|GaTHBJcvK| zaFEX6w*uI@lh4d?beHYF=fa=0NJiX)^9tEo(;fiYt)+u+kp*@S3~KAxrC8Rqah&Xz zl_bT0$gHDv8j~+&U)E%3lhDT=&-mMgV*ENSfkc5;WCvx)27;|g27hO@`CdN1z|)LC zsgfyhXd1E#dLw3Qll=<a^O3_77b;_#PN#u0XVE*imZC<`z}8=Ocis)j=XGo8@Hyfj zTbt{W_m9xOex&|4e@y+q`jO))f4cw*PvpY4GlYW?vZL<LhuRqm>p&c)el~)f@-KV? z{=+2DPdyaWLluUVaUBBk?aI3mM6haPr{uy%e`2=AMrP$RWlKfr1}9`ED@&k=DB}}U ze&Y-W%^o<~GQ71kIL|FOv$WDiXZ1gIOlJMpl-tN*#`$CGskVPYwCJ?>pL|N@s|x2@ z@&AXVwQd?ZXr_81c+X0gc4?t)PiXyP<V)(h#;lU2#SoNtZdeopmh!gT<<!u-av1@# z5R!aGQ`)t3Pal0v$@C3fhs#gu9Y4*L)=VlE_$QNq@F?M&L%MwC37UHwq7`;2AqLkB zk@mf^r-)4=yuIwFk;*f7ObK3F7yATP2{L)2QJ_fb9nPaLTHPCNgE>4bDyvrV%$)Z8 z+4fd@`@IM%WzwaxOi;VZUE$oN&h0Q49g0lCTJ+PTpO}6)hmOpnJIOa-!=($xPnA!t z=u+cxt>`fqetMcHFF1>%6A84+Ry(tOCr!))C>eV|xswSVwQR1<p5@hBjrDfzQzAJf zTbm32l^hDUlPQPIM3$IhE@N2DYjwYI^>E!)w!O|H;l=l<KkZ3Hy<fIo0i_Dyj=Sqx zf(xTMNMPi9a4d}<=9OJ3$aR4qhpsC8&M75r)ySglhh>|j9y{L8J!mUb9ioo;ozqU6 z)K61(>wfPnax3>8G-(?OHpu(l8_9bF_CW!5m$3Jm{OpJ@F9<VEoGx#>nJtagCHF)y zh;)aduWYe|y)L1!QpWT(8mXWbrXZJwDLw5s-=>-9l?d-<A;ahby@*#W4U9T4$u?6W zHSL#&_M?eINvuXpqz(+=zqZBAHZXn2n5jIXHctCBc+|#oe{7q?Y1xdpz^?Js<pb88 zT-+T`9Vx$O@WZ~q?PB1c-N?0WaWYXe?Cz(g9ii_FhH9M>@5#9$k!eTbn@AlJ!@;Jr zBA&aS^M4=M`M+P;c+5SNc@U)%IvJh+EB9QAI{v3{OU*b~HwmhSAwOCE^dbE$!`RLk zUw${AiR2NF;Q0OJf5bs{(dQ;U^@r&6V+9%+LmPL=uaiqv>)rL#XSx@G)eE`sf-eQ^ zd;RczaPizjZQ*$OCR5Z=&dlDFm&58--m{dnn-52p_X%Xre0i(Ea^>BPPs+QW;`NtL z#Bt@_lTRxzWqg_gC*ok|$5fcY)}ZO*N8Eo_i$S<dp<0;yq(1Id?a+ob`KkFKI?n4l zXcj)S8$R^U!?m0`m8_AxH<6moO#Q8@MCx=dV7RwdM&+Uh4UB^tlYMcnS7=O)Z!CQV zv!9{F6wXnQ_`-q4(I-~qp#_g+$BF;dJ<z^tu<uyqq`cF|RZ6eF9Q;J;>?++B`*}%X zO^MX`mGSfcq?Vez3C^MXX4kb%V_kS7e(}Zq3i5NCuw!U{DZxhH6{9JC0?DbF8pbJq zB8A;@>Kv@X9mg=f`(h@n?KT8mF%KfJF-d=VU8NG^U{!%M5$prmHUr5Gk1K3=)qb#? z+PpXVqnP}L*%EUxLLN8$Wga|7)w;=YGVS!ulv$b(t)r!Qs#MOvRSvFjuvX&=-%iE~ zSDB<a$(S2x&$NwFVR-1Ug*Sd#bc?xHMK_wu$!%O|!&l*|facOfE2(Sdp^NZ@BDrFk zn^MSGFYl~u!=-Tqm$V%;T&pzNC%jw}zV$`&L#wSOoVthC{WTguqGLoG5=-$EFN0og zvXWTUj|h>l6i6xxC-S@Y#6$ZTz4DM0Cl{VXpWPN6Fi-9o!DZurjI5l;!GB^hF6bIW zIXfdYVQQlEt@*FGm16~4_ng1xy+sXws`V)5D7&>k==0{?+C$I#M*CUkoO`xEnX3n5 zWBj$}p51=lh39|c0)O&mf9%HgU(D#dbZQxfOy4JE5rG=+_|%-KmB*(NQzL%rQt{Ab z+M<Ee%8Gxk5Ov<}Og`9`o6#}#GZ0avf%4|=OVqvC{@UPl!`b9@of1`x{Fy`SlhmL? zG~`;5FOwnf`hMY>685hr`HMH0Uo~&cuh&sUQ$29e<DbtV+w>Vx#5@hoWHUB2&5`!q z)lN2W>^At!z7L<BYfK#)Pv2!D<NU{i98fS^PXd0LgRzBtnF5a{UrRBOY^jPTvxBP+ zC@HyhkB)!PpLg%cVq)(ZSYTFma1gEQ$9vG<(sn`E(rOKv%lQ=gU5dvc(Pee;Sezt@ z&A=V+lF%&>nh02iS|Z>YbJ1YBh^v$k5m%VY4lb^g%vvT%0*o1qg#{8*e`9iEWAf3) z<TH)Qx4FmwYaN)YuAI?fNs&;EVKclOT;*W%Cp_X{^9QbUu>3Vl1ly*y{0Xmc;UNc? zIN1CNH$5j}i1`B#!J#FV1o}_bKn^y4!Ur5|{=ia%3g7&JH#^w;fu%52xcLM3I@tVy z*Erbxfmb=${DG@zeZ@C_;FT`i{DD_E*!+Q)JJ|ezmpa(|fqNWm{=gj$Hh<tn4mN+_ zRtK9u@H_{bKX8kK%^$eg!R8O#<Y4m$_8n~gz%d7#KX9#s%^$eN!R8NK<zVv%jyTx- zfh!$s{=gvzn?G=cgUuhf#KGndtkVW+Z}SJ1(X?Rm2hKRy{DEaet#I=P-r`{M2j1*p z^9SDOVDks=b+GvZuW_*X1Fv#$;D3E|k)z`tN5=~HR-X~w&j$UbFoXUx#{@&cH<X*A zEx2Op^UPfrZ8ewOW^<Wr&0Q9akQBF0B&bajW1AO%xqS-x*;~zf?NaJhsVsdjR`_E% zNg06RDB=|2C<Er^ISI#iNq0xaP|vLvXR#yIL(f^syP{7Kt#5#9<FAT7!RJ_eYlfOX z3IJnQ<8~+|=BnolsDCb?E{i^Gs1FF`<pRpz3MgIC7YxNxi@DU^D4@PpK)o$GXs8b> zwQU8IcM2%$qHh|?BSO*g%oYEGVUz~S|1MB`EGHzoqB}9iJDhSpgDN(_8%u%WV>b!M zE8yr{R~~0sRQKP+$6Dp|yq!xYT!eFdbiCm_sC4!#;OtX`b6a#z!?9|8wt#bB5ze~k z{)S`qnpD6!qzLDRXtm+|QF-a|cvqeyhH+r#lL7p(4+-U%0?M=kN>{YbP^>>{U4O{x z#HBW~7`48DTH{b>7f>6EQR4;FDu=4`V=mQ`i&0N3phg_(Sp`&N@&YBERzTJCqH3L2 zKs|RDwSlUC1t=a={h|WS*N1T+jPn5;VTW9DQn0&1wilybTtKaGsFxQ|FDpj<W&yRt zp<Y=)?Jh=LTtM9p`%`_sUqDS4qb3WeLk{&v1=MScQLiqbW*q9z3aCFRM!l|pI^a-$ zRY3hkG3w6?s9PNB?+U0l7o*--K;7(6?<k<&UW|H60d=E8y{CYBS260H1=L=L+FwAu zzZkWzfV#$^K2kt^s2Fuq0d<u_eX4-^L^0~4dDK2hVFR}OKzuV7@l9M5@huSJoLE;4 zo}&RRJ1|z+Pn|pveD9_2Oz=HX-xB@6*+<{o^&Mzq1WF}CP_w?ZQX!}Z41v-K0<LhN z);nOfDo9E!zFYLIbrEPQ9a>Egv`9f(LV;GJ?^y87v$)6z!FNR8O~H4SzMF&ZT3c%H zt*K!pttWWE!7Ch`aqw~n4>@?LgSR`l$H67Er%g2uu5j=o2TO;l@Ky&)VJ>){gQa8_ z+~VLW2RA#|&WRG<<X~-Q2;X;b%)v1S+X8^_S_e0|@EQj<JGjchEe?)2c%FkR9o*{R zkb@UFxWd654lZ$UkAt^EUuxf_4jyvwatG(-o)r!raN#Q*oR@o6IXEx(tZ{H&?&)=K zuZzFY!6x^R|7Hi9JOsSO!IFnW8!hxFw8W`7`Xu-c>$^4h-d*2|g6~RwcLd*i>bocS z-do>GgYSLyy<Fd*I?`PcfU6w1GQgZC%vC|q8W*%C2#P7FHwaqlf;I+06$;uMd{2=2 z#AGY#wVhR~txj*9Bm!Ay(wTONhZLZzsL*yua`U-BRZ^IwJf}DdM7&0<5|eqU4{0tC z_!^Vj8k4U#CZ9+opUs62{Gyh@&o(AsX-vMuI!xvutt7;qhFXlZ@Y$Fg(9&K)qq3Kf zs8zLPjSgU?^;3|&4yQ_*vvuZStWXDkz$sd-`O*K~-`oD4X(to`6@-?N!~3pk6=@Wd zS|-v2fLg}%77AdUz1dtgEffo5(?AR26d7r774fN`VUeo#1Q{CGZ|WZHp<vb9y)y+F z{25KB@Q;@?mpMt(B&?5@FuR<DIYNB=cuDg%Cuy3T_3;wsIwxV8nDwy|ro=~ym`;5B z1QGKpCt{lTxD&MGB#3f83*uubkP{!h0?xQ1oa>#4Y2xD^1)OjZ&TUS_v})~Fz}cq= zXPpx<tzMrk;2c<lbAuBxO?;eGz&T_X2lA^1aN^^U1(YKSC|yp%93eg)Q$U?oj9Lfa z#H|{LScEXEfI71nwZ4Fw7awOAP#cR;;|0{b_;_jo_2gpI6AP$$@$swz>Y2l+5+6?k za^mB81)Ot-aUhJZ0PG+>UQ|H+dNJzx1=PIwxUhiQUW|Hi0W~i^US2@GtQhs11=Q`# z7HZHd3#i@2sEZ4zLk{)(1=MsgYO;Wuai~8kpk7;ydUXMHz@h%EfcleS)aweUTO8`I z3aGy*M*VpKb+beLT><sxV$>T8s2d&X9R<|ei&1YWp!Pb{dkUy`6{Fr+KwaZd`wOV| z7o+wSP**wBM+&G96{Bt{plXg$Z#kLJ<iLS|XPO+C3BFAZ9MX3|4m7dQ$$=%LNKg+L zO06OQS2!>v(8+<7!FP+$A_3Y;hgKB?nH*RXe489t8+@A_7z@55itY#BCI>bJ-?j2@ z4!${0AIztcsaDb?#WLaw2M>U&@Z}E9IC!aphaBAF;O!3XaBxXp=5TO@gIgUOa_~F{ zS30=G!4U^HJGjchO%AScu<zhn2ge*7b8xMLeFxV#xXHm)4sLdE#KA2Nu5|D`2ZtQo z>fj0oFLH2+gF76YmkE0uoR<lgIyj@Lp8i<w;Ji$@!ohi&aHWIuGT|x*Z*=k3I5;m8 z_BuE(6K-^{WJ1wG3;hM@ncO!o_%^w(HTX8UZ&C1Va$iUAZE{~v@NIJ6Qhj$tI~=Jl z55QFpToGWJ+_y3a%FBJLf}ofRvnB{y>SFZ<K_>TY48AAavWFz5?zx=2mg-uPTtRXR zM6bN~W@kzWx6LtgKUrT_fBPO1og^}4rv6l>C76L(+B~!Lm+|Z}qR^|Lp(d!DDj?q! z46^`goiDKJgg<p@h|a@*xQ>CpRlh^uNWVBj+jqFp8lrm>m&R;}?#Tx&jF|-=G<!pI zcRuI~I*JcE2&tV9daWT^%LgKSL$rzy#&<(B!bg=pd_E%jsNuuc$09zAXNafpy-1!d zlp)|T@E|-}RL2zof~`%(w!o2>@SFLTm(VsU$e0|9Vf+OPXCj_3#fIo!e84FYG5Of5 zA(`b?DJe!{)*~;m+hf;$n(}loL4c%USyfAV)?SaK=e(?4kglDu&h#%5kRrG1>}s;E zqBro6ZgqvZPN&K);ff0UF?U~TZdbGex99q3s|nZFyW5PoVLnqsJr?52j^V`$?8|bO z+x5|QzJnUEERsL>Pz1=A3;C+(Hw}3Z<g22WIpm3?)nUk+9rBezUKU+!$ghCBEZXgm z)qp*QJmiqSFXY>zNke`e<lCZYLv}4sZ4DpO11t8AgugC&wc)=3{<`S3h9C6Wa=vw` zMS%P>payvRb-3}qOk}QrpBQ@3!4zkO#mHCmR~F-{=+7+%HEp1(zi=^Dh!mhCi;=JG z?<~f$=#3VG>NZf{n=OWjje%h3`DVYv(65i)V(7Gc0}X$>Ll>Q{G4y=%++*msMej6p z+NXgAy35c5k|sv4#mF~Mzr|P=?XwuPPy<bLzs1n#pji!lz%|h$hJHhIlcB#V^c$iN zIdsv<X1?vPy*2++Kyal;<=OWd&3{w$35V>1yhZ+~uxp{r0`)wvNLNLlwnzc>{Mki{ z5NW_gk|17)^l}jCg`!A*bCIfulyQ-&Mnrleh%{If=`|OrmPkV`l7#a@PTPV=Zx%&* z$3@zMNZVZ`iRpz%xggTJMUg&mk-|hO*-3PmagDqaPy<a>iW^t62`C59Xxkn13cl5D zp%Hm__|k4;71$TF+c+1gl1L#JsbWN=J%UK%iz0<xq&<mL=^{y<FVtqgAkv;ik@j(s z_9jxqMcS@8f0!wJHi)!;QKSQ1Br*Le7inljq)9=f>Y_-8Sfs9KM=-o<T)fPPct-~D zCKts!!o|}}Lw>a`-oS`>#{}`}isDVPc)<h~bCI@;h%_sRR9_TnrbP;7JTmiLyv-xx z%?{$li{dp}yat;^n_Q%gBO;v|L^`o3(#aOdO~Z(@E?)15cxMIiPAiIcrp41d-sRpp z<GPX&k<JSueWfVUxh~QKBF&RObhv6nq>F+`=NCo#x*^iZlFDGJtqxvk5t%+5yu!g9 z4qooy9tSUV@KOi&IC!~(I~=^i!HXQc(!s3`Ugh9<4qoHn76<n_xY@xQ9o*#L%?|b* zyv4yW2M;*7*1;JE*Eo2{!Br04?%;@nOPGo!{Z=}-!oeX2ha6nt;7SLVI5^^9ld@^= zDhHdC4P4`3ld^$p9c)rIaLmCbWdr*THYppp$-yRN12;R^q-@|82b+`)JkP<BvaSCe zyvW!J{cmuC?7bFMalXE+eNJHI(jODa&=$>+yKS}@-O7apflkkCXL8}oK7CCIR>509 z+e7luay|m{e|cqo%0*lC_b8Dp)|+IZwDNcf%wdEjvzS)+@!A;60YotD;7L_IAfqsq zcr#e>y64+>!JtoP+VA+a%xn&h>avAXoUu*({HJ`2kFm|9`oP#m@tlzl#x{?B3Y{s> z8mJtJ<RVO?kn6~|{b;NXYYyIl1S_g>XzQ%IpkM!$yW!|lQXAdm|+r%=*f!PQ$- zSo=&bDs4>tLhBhb{US7;x?M{eZg{{z^XxmN67+Tb#ar14BkvQr*RS5bpq@)H{L<}l z4Ewki1DmSZbyIic0`uMmZ+c&S$98TmulH7O_jA3Ab4p4#^>cD`GjSK*mqo|iuM0V^ zTwcYUN7jcjE<KI*F^-|U(<frLd`qRg($_UpGQIb6Li*s(>arAn+w(%~1u?t#NPByQ zcJ@cSu3d;4uWRIXn$qB_V!?}zQ!Xo6@FzQ>Bh~gs;>S~$h15dg{C;YcmTz`f=*1D* z=KO6cKw|VNt?)!zGLOO{ONM((IJK=+leEeCCRY2#j3};;*2=|7E~4k|xIt0rqfi#8 zeKw^eYo`)}mqkNztMkSUBh94zRPaocWMgiSQErwixtRnEY`Fn1bsZj*f+ez|R0sQP zil-!0%8)7qZ1I6B9c=M|BMw%4;a34?tMj8vL&8dc##|N2l>aL?8K7D(0Zo6!4I%_J z)OIxp5~^w}x58YCf~#d{rMWj)3yCVLoPUkOtHtGx&KQpMg~p@`qG2G_y%pq)$L#LQ z2t1P;<TlZJR8p9{5aD%=!609Rv(jpnh_)EH8Q@MTr+3u}FUrRS-)a8??xEBDOC{d) zM`g(8Q$1E$Z59LDcInX<0W`o`E|n*NK?}F(q7bY+9VUaBtBD;((5AN;`3Y%-A>k@x z;580j<KSMGNQ7&1T133OytG=&e{I!tfCQ-Jzk-^TfYI{e4N^16Z;||3Ec2svcara? z7E~x8##LT2OXotE8*E+PelZspMH<K6C(Q_Pp}gkpBtM03oKh^SZMUD6gFK6yez zat$5l6zgQDeWC0+FI5X%8f4xJcIK7_C5d(Y6N49XD1Gv?gD32zo)0of_UiOWjq;C= zy-#b{r9|RFl1O4S@BQ&D<`(g%I88y<db|>;*6sDFW2@>@CmgJMnCHm$kwrV!m)EY> zWzIp`+W%5&-J7_I`Tlt4(TvA`4F@T<cGgbvx|RX)gdnXFEasF~t>3vu3Kxv^_ZPC8 zSya>3%;8t-Wx5N4!wjN4QJ^T1<C-EWv6js2Cwca|^R6I~uHWnOG{-|SfB!zGsveLJ zB(wr#W}Ygud7W&Y^J=UJ-W@$5x?(V5o(NN5@<K<&<ldfTR;7;jFqaQFnXjuQXoBXH z4hIKIIvpsmX^lq?@{N(=eG=Kw`su|rq%D6@S|WX5^4FtE?0TmnBXL-jhL2d4C|hT; zMaN=QO>l16U&YLYC*j(e4%M>8+9V+E`rN-W39ARV-QshIA$bb&x+Y2}VWLx9wOg%R zy=?YML=DiiKW|<<P>Mlqa-*mFqYhAQ(o^pzEqXub-gxzPZ^`3CjN4_DoA}ZZ^@@0E zYOP=QNZUT0ub0+)*Yw&W8NX2mrJHAV^|swQ_)`Ixk~3<!TDNatlwaM)`x^4q4W>)J zQxsmADl3&$@7M67SruzaeZuQJ-EeH=oluj!H}xH#cNU()jE%$|^_J+_2i1fuT4VN# zL^VF0xv^g78~YQaiH{>jl$ZqLT=&cU>xpz(NY7%8KCzawFBsTQer<B^%*n6m_=YNu z>pM5*+#2WBI(LzCTbw)3xvk~~B<DVR<njmm?vTr0Q2X`v^&uC<-N~2KO`_^q-s-74 z+ij9po(1{LO3mrX9h;i?UFgR<ac0TvuTEXpSo(5(?&X=uKQ|;dXJ<EXxs=}kVMeku z^gU1CE!iXWy-44+*@L9H=pb<^JXD_So(io|Xe>KUp(`wOPPDZ?nVp$@OZ-%&;Q_ea z5Sr{6n!fkBQS1Gg$tN3<e~#C22lWwL&Xc_~h>&e7svn<4wN}#lqgjLIVLj*I7U$-h zGvB=V=8m~=-?<UF^pv{mS-tHN5Z5hh@NVEmK3%(CO>Z|OpYiK>QDh&!#ZaJ*yHy?3 zP1XJ0k}-zzx&)CW@8K;*+MGyTxrJ{&BS!HrC{5D$8|yYg|3JZYvZ>`2iVn@i8mrfP zOVoJ{sX5V_Mqb8S@*BfDgKK9~f6%1gz$IX{jn&V4ORhFNrVAdc^OkfP9@#dgezn~~ zE{(P{R=+?0>kY8IdAbtrtK!(uEK{{5bdH{CJO=~+>c7pOr73ZR(!j^((ZBge=%GXE zd2_8H-(WqU(3tS|5PpZluhAocoxkHW%2Ejx(oqrz=E->H+fFZ0+1rfsa6=HJ_wX-9 zm9#AsC-F7lICyoC*K_E;id263B0Cv%x22(D=@%U&>jYgN)V|B$)_pi+rY$pyia;mX z4t^zpB%&!3(yMZAja*op$|J!;;h8_&@*xuenpd*bWknphLu_|tsP}q)P4blC$%Q+V zA^W-EGVDJ%AEe;^I%r2XXQ`tHzeqkGU$Oy}fRbgLJ7gs)luY57{VACWW5s3gu5d`J zDiry-%;f&yjEi6<#D5`J)9xBTRj5~JaM)F9`P3>ce*7t`YH`~4mBwEroq6pAssB+M z8`AHElx5n_dwe&TV9-GFcwTa<gpE>O)`XiIs@L^PCy*&IKQ-1*9nSk&bHJgQO`f}H zG675%0x0BVHeE2)IGM1+;vxPT+z@TC8*K8iHL^J47XH^$W|m|Qt0g6IAwSti&x<EV ze0xV(AL;U6CuZsy7bZ+ZKfBas$7Ie|GT9@8Wc)%hFnqll4^t+YuNEcK`mxCzp=54w z$;1lD#PZ3+NM_=2GU(>1q}^1sV}btP$)t3;OR1)ilCBZ50&xPf{ITQn^}5Q2oZVWq zV@hW$rI1Uhws7N5ZQR}X!=cUc9#Tqp4ck99g-J@`;V-Ch*6Um>S95s{L&Q2M$bZYn z_RLhpT5hrK58eSMRz~#?VrA_5q8&>+L9x!ZSaYIW%6gyO3bZ5E&##HFKLwWVM@znt zNbl2s9B&7C4V?FZ%klB|KspX?90Fc1L0OVWB6UI}kvgRcuG~xGCsJ2z#PL(B2jnoy zcjoZ&81H*~NPvZL^#}<WTEQm93dooz7L(=%2eP!iCSE4CCN8Z%u^KJMBmp3aUlpvy zK#a%}5ntR@5o>T2Q4Can+RKYs7#lkZBW{yi5?Umn**wv>n7hpE)<pO7d}O{>!xZfU zEOJ1rfDQ*h;>?p47uJHC0A6l^PG$vO;gDlOUTMfIK;%-=HMsg?+1ATvsr)tr%Uj=D z^55z5+vf+zSGVKkj<0S!5RC?Ols<6iXQLSWKdMB;OWvP<C|oR9iNUQ^sTK|Dbig_} zD_#7kqS#djn7MHJU@1vB6D3|qKYm(4Vvu%1H5dN6g$Lp&UA&9W?S*1JZO3L$H2JeA z@^EImS!B+bvHr36fher=?e%w&E&M-7B{=IY0?XX+^!r?L2qK9~w$^%GvUQVOWa}7n zi)3rfIa<HlTm(1Huj@BcX8HHx8n?!6Oy6B1F3mK#5l|hnndG#V-hzul<_d*RO?chc zQYt%g_j?tONkS2XIFJ0eGjnFl<7lDH9CVXr4*h9_sm0au3d?+N-{1m6dFuH_l}ODM z+@E=ce5;(QgAifajU4&*2p%ySY=a!~_h(w6F2lnRz3y-Dsccn&%tc#RG@T(IM>`}a z+ET*D*LNI~@VX9j`0~p9ZXx(~2}G(9`b4S1oJKjhEvhl%g-)(fOK+ARE!}G_^Bpd4 zGPEE3ahdE;{F}*T@OFOk)zm6bOBh`n$!bRV`N`vA3Rb$>X|;T+T)yK^s^ON&h&O(E zD4uR-T^5i|p`n)r7KrCof3%@{gN8=UAu}RnAs=;tD$l4{d;O@9?H$mcx;PVk3eBfl ztovbIw@GA0;woU?3|_s{)Z^Pf6Hi@HA!_27Bu}Dnu)Qy&r<i{~Dtk)N{lf9o_e4`f z`k}DvQ&;SYLp9!}EI?xeNJL@s7gxwY#iClZkEmGFK50*WZ1Psdq7bE3QS^r7%w3b0 zjg^)|g;NKLVX*QYFfcGO*V#_!v6fop*Wj52di@g`k+MyHe)_6t3n_9{RFm4cLtPZA zkEyX*?K`-xH*_LoaT;WCeY8d1pRmXs?w;gx%F+h(U+(!Jw|0%?g{i9*W|%#(_;m`Y zn};wL{n~2?UWf}kST-}Jmq$XN??{#<@`EggXd)GJK<*tkMfakw*B<Vu+{PM}p9q`_ zFMVJ4J)v-?&6R#kz&r=|0$Krz31z_ABxMXAv8UEgrNrm$2Ew_WACzCh<?Wr~@QP%} z=x=CCbptn)Rd{y<g`b<O_YFmbgvPDV(707%{E4;PhE@fB<#55HR)O2ByP?$3k4K4( zivd|rn`}nIC?D+$|BKM^tX1b(^#Ec5T2ws%q#svT0Gqf}SINkW<fh9{zA%_yG&Q;T zW!`=^zj$49^l)Z!y}M|&zj$IH0Tm+8Wb!;e&%pwwbC;g$xI$N0r?kWwon9q67~S1# z&RwcfVsy7=y~OCBgv_~XNS>^pB8kzzh{(%UPI$!dsBs>#MCum<LL{(-?~MDNmq>jz zA{k?aJW^k+(sz%2|68vd@E0Xg|F+S6bI$!2F_&g5OE5_b1P>6b<Mg}0*0}%Rd;WN} zL!f(>eq7mUn68kEzsf9FISJlwa6%WTx<@tXs|wOqXQ-YUx|QZK0&peWR2j_7X6{WU z%>?r|kyJ<lCZSj<5ssQH=1qY(Gu-hGGw6832xOWB1(!G@iK)X})UXa2sfbz40Y*%L zIKx;}$O;!?^t009-tga%Wd_gxh%EE|L`Q3Thdx$_VG!){BO3&H5-S!zysq`zAh8Ge z8DR_mnP>35l80sIa#u=0FT3{+dfEEq!@2M^2V4V3eY2p<)z$LoX)lzXHc$Z?Q{wSI z?lrD|g_Iwle|Oxg5N?P3$8+i8_>y>k_bM8Sf84>457X0RzSn@#E0B!5h6nuaO>N^k zYI)^lFL(q8>?<^}M6^^iYMRniamlAN&7>!s<fqCwf}eO)Pp<X)opjE27KPEKo@d-; z6w6E>9P8m+fAASkeVNNpxiH`-tPkU<Z$ygf1|zJn>*F*=Y$!rf8q?x71Lof5D4mH3 zSd?It4gnd3gQp6LE@PBDlIIV8O1gA0+T7;s!cWT96sp7b<xAKP3UR}Kvk=M?majx| zXvb8lreLRH4V;dhioQ;sPwe_MB}R<#x?jduIMT?YUVj<&dOv-*99%73mf||4yOJtW zu+Jui|AB(tE*dArK*2tNQv3%B_G{I?dFc|mY|T9W%^ei%QmixCs@~#3Vr`k%?=Dub z2T$z<GDPMFi;(?}CfSkgKU{Ofeyh2)hqavgU9D0WA^+)i$I%gOcW48JVZ>NEXU9E{ zySNXLnMHdZqmZ*SKvs~2Q}(yb<>|f=ivIs(3_r|_^-quC?xkE1F?b<5&=K6B{g>H$ z{`o=u(IG8$Vz69dh!>6PDe6KuuB%6kYec>s#`P}4_u>2(2YB}nnQA|7a1VCTytkJA zr#*JnzSop=J=;#hyZdPu_XqO<3NPxF+4XbO0?ss3G}a<9E>*|oKn232C=a2~_=EU| zn9qP*I<?neCy?ex=ZO*SmC~I$MYjWeY}x<)uPXas16{?g*fbnHGtxQmzMuAa+rF0< z8Tz~{_jnKj;sL!Ychg7FU_nh0YzF1R<rN~xfW^rAfS`cMaZ`EQAxJBeyk))F&!7`~ z+p~*HbKwVw!WDC*r%Gi~7cg#adO&ZX>Y5Ar<$0F$4T2Gd25`pobVYa80HbXxa7*l_ z{2Gar`4$Lwm&h78SmsXM+3W5Ajhj$d<+Y8sxxsX<m_+=Y`4LgX>zYi~;?%Z8fCC2$ zQ}~^xjeMmML4zfP^n0%ITE(uUe=^@32Nxty^%q5q;HUd%-n@s=@c5=&uI#<3ycf2B zR`yo+>dGy#$t&jq=hNptmA#m*r7YBqH8t8J4H&&hqtW=}3F*Tl@y-pQw$r_yqbgLk z^0&TH(D9m`$WCFUvYtrobxy;)Rh*)R`xh~j9*h%D?={G4FeCnu4*%P>rHJxJ?4(Zl zgIZNGtm&kXrL?rvx+aFJzr>WbXyg*QbDg1Z6BF}fB(p7fwrPGX8l5O~z25QKap|cC z`S7cl$dJ0dl?#7q=<1S2J<#*I=0jn&?c8zczPU*lb7=mRe7Ku5N`6P(r1rAOTe)nM zp`ntng?2P=g#>RJC@<^L%r}d2m%2o0ZYcZwB-8r_U_J%E`prb$3zwMHPEf}eGe=qU z0-pSJ!y4-oxCqZzQFK3%<YlK7Z$QGOf8oI&wUHHlocgAsgDqXiT+#ytXZA<hge;{? zlbr<g8^aO(ehpXjI}aE7g)GPB2MMwN+k~Ha;)fsRx_aBcoTn%inmgv-$|Mff%dNox zEou9#c!%*4dQe5v9OR0q5|?J)KaUGS_gGUh#MWmZmP{+@fWEt4mL|N26oSdSj_9=4 zC3Y#3S}so#f4x#9;j{}T5;0tiE=F-9zZ#9Ut=xe&j(Pp+l6dKJYBy_Lc5gte@3?eK zZc^I`iMoIw+dr45KR2ScW)|$2TYj^~5}3ZBtY(sX$HIyLX+pU{(G%4?S-HJ@VIfhN zFkQDbv;TjX=-lc34K-!$=S}Y~t2vZwoDvu>b@uXf6q9c-V5IB|8bCED|0Du`Hajg( zo)CDwU-xwTJ|ilqy_0LN2u7HSpHFo|StT@1c0t4D6Y;B`7L9XzV=zdG4)tcfSd@ZV zN1YW<Pi1Q*Pu_j68hPhQNK6P4;t@W`{h7?@&;8d3>DF^UfslTRWR|)8vl`A`*Ghm9 zR0XMupvEm6rl_@gBVh8@%r)IRP*lE;#c8(sYtBD=65Y^#o(;j{k`0r`_-iJ$UowBv zh3B7rT(WF356p3uqid^l`1t8OC1Ct6b*ZFU_){+Y)BUwcc0UZ%>-xKjmV826dl+mv zIvkhpMGf6u>N_qg5s!K{J1gJ%bm8&p!U8!3JoUNEV_iFxUlT~spCtato$1#Nj_6FD z<;q-PY2~BCZA2E1VeKiwRd2+-`3mY8UK<nWI4uukl9!Dq@7g{X)+Wbp(P6;EjNLZm zM@HACHs7xsYX5AWk^*+S^GEBEXP#D%nvsk*7-fF-P@-<&k^}Qei6Z+tKhhvBA>IiT z|AIWfP$18Lp*nEiLKo&2HhBvD%4h#;6gvK^Q0V7A!s^;NdWSU~Eo$?m3E6{xU?r@% zMc&fmhpa7pNQe8`S59Es<^Jdz*yM|Syw9U9N6=8&nR=514?cjuP00+$T=?O!c>Mt^ z-j8|rYIl)$I-Gk$bMcAKUu^=?w4R!oO!MKNj~Tvv`(fH(u#<Sj_k=GdvFyd(F5WJI zuhz%8@CEYy649@DZE0Qswe30Xd7tGZg70nzII1|IT1BbSt>1?$<8hU*EJdwbzL@;; zD<O9Y`0jg}3@7DW&<mMmXClT8&^o#B#c*+M`5u*pByEQ)-)Q?t2o|YY1LeZ4n6>I5 zd!!Lzx)#*9+o1(#fjIal8;|P;zpXAvt{?nk;EGx$d1?0}&^HUp+}5j&V%RUS3PFN0 zb$##W#AawFEV1S&8G6>F^6ssu;fW<(jHIX;3h6aqE0Zh076*KDaBqtkTu9E{qJiBW z@Bf%t>~Ioocd62*=;`CG1MWC5T?zLe8{Tm0ZT~8~HA=mZ)@+C4GUcTnwSmO#0B?*- z>$BhurU=W@#6@-XY`Ce;Gii>j%%H5+u&AOMA6s1GGmC4ysHnzm42zFs{9B~TT)2aY z1Bsqs(|Z-l|9ygs5^wuA;e1S6oM(82w&)Sw4s9{R;pE$*`|AkM*(D+zXiy69Oza$J z@ClkG7k({kMG6A9BiUpQP@vMxg*WE|-JXw~XD1QcsQC8X;2mRlEAw~=*O|Y-Ee02v z|I&iL3^;P(vz}&Hu7~VgX^aAwoKA$rcoJ?A2DNw*`_ifb%<K`EE<nhm&6|-jd|3wD zi8R2Fr2LUYb99IXrKH-O%S>j5wMI7u7Y|C4Ebq2$(T&Z|XTHc1iBWinip0ojDQP=U z%)ezsii+N0Mf|JBSR5^6DC3iMEAIix2#lO;Q0-*|29#+)C!OWe*ETqmE)ZXz--BqM zHQYZXw1|qfW+xTR@<LD4+4}(tqW{>;^H^m}%<ovtg0<k>;C}4-lk4Z`j_e9rBDf-% zi{AX?Km1fRcedJHs}<JftT|rE+;{`LoS`5uIQA&UhZcYlbJs<yaP>YR`s^E`A#k+5 ztyFZRU-4GD1>>1Fdf)ag4|bdtu+asWrwvcKsS-~;E|GjMGe`Gs(!=sH@!}Pd(T$`r zDfH$kD54;M7R^6Z0$BIdn7hnrtr08@iEVNUp-8@impi!0!5t26HW<yQkXsy3D}Bs7 z0B!VWN8@epqF_&cuIgkv8KC#%(*i@rtz}Wk7`%4G`;CDD!0WnLDhrt^Yw&0rph|LM zrIdfIDF4O;@e=7H{_SvEduI0-sUM4X-pBo^FSoT$Pfa+$A04Py=W}UGpf3|O235rz zlqzBQU!Rk)N81LjQXSt;CtO5lw3Yw8HNql17MkmQV<Yf5!E?Q5`F^So1qVh%*G})e z^nkL8_QPC}n4Bpl1s=Q^ve_`2x5Thg)}_O{&^5vQo_u3)5tiM@rRE$^d0Z-SK*XnB zbXJ>oNAmG`=lUNSb93DN)z-bTrOMA}dcrBllwTHzp^mAgC2byu75ut}Xia-|@E~Dh zCbaEQe{@30aNDqQfpmF|HivBu>tX8vYCgN;=t=FzX;c|8r6xo(bN3BIA9+C1KTyZz zDGI!m_-a)mm&ND`oYKsv#GlNVG@p`|<j9Saw^AFF90935))rP$Mvr8^SI1GTb^Edt zl)or8^T27Oa}KLR>Emy6R4jA!!1l?dL+-*RccnC@=c?#QxLOK}Vgpr<%H^kTvy5}$ zwGt!TS?8%cw@=b28xXFrXq%v~RzaIVU!^XU1V3>Xro#V+r?f5$xdA4xaanjzzQwS| zL(tI^7S!iPvjT#CH<GN^qeGZzR+cvvYgRZbbMt6oXjSke2r^gFzo5Cki@2tR`w9|} zN<)n-cNOl8j!UPRW@GTXKzUKKmRba>>h5RwOxVet*Swz7gUt8dG4q-rb0Y|^YpSr4 z{d5&o$c1+y`=BTiq(X!DlcJhx1sU>L;8ZGCVBH55>K=b1#kR45n&q`@9ZQ#E)JBTw z1hCgL6BnJ0{?pYC)s9k;j!(6#-%vIQVV|c#0$5K;z80^3&4(o8bx&Lp$)`s7GLJ7T zB$Q780e_O!N=;z2Hw_6jQTkdw#eA1>#j}<@m+xIf=7BOpL?x_Ry4;7z<U(W;^hz_6 zPGwS>`H^OCKTH&@8YspPDH#7-frs%wQQ0tsb@KvYE{jD16Rct&{0H_ocCY)*C^Pe@ zMT-Im@dpZ_VEM#++fvH>X-}oiWzxz+%;s~J8Jb+VaDUdC94!&xx<WQ%k<8zJ5=>eu zBqRJ=nvYy}NNsABA;Lx?vR2-}V=k(rK+PgsEOD&dUo7*J2Zx}P5N46El_1FLx=-m5 z-^RQVcIICzM4DVcOkA^)8RO={W=pg%o1n=FB4#|D8emXW``aG#M~fd$nGkK~5ubjw zQP2Xp@SX!#muM)xsxH%d)CSgLg3@L8tA4{`vbAv>-6Xoi!6X;~8&!r&4gacOyHtF~ zQd?%zcjlK;R+02Pb?^$MXrd2*^&v8tH5i_)!dPP%?9|Ey?sagFgEu<ZCRxHaJGjGz zn?{YqniYA#0viI`fee5Q6*S3uRaXTD5m-76$)D>EN?coZsPse*8LWvm5EabG0YAkR zQRpSV5~W2N5y7NUW9~AymrWWjttR}%n1cRNJCkS&o^v(ZYlQHDB^Vzjwag=kkE@(< z9-P@F)I)%p++-;D^D2We@KsGwjf+AOX_^mwP5iOU?q8I$`+AGP^$+chYX3#N*QsO_ zJ=4bQV^3M~mR00o)PDKN_j@E7PaPfb^u_l{q$_M^<PMx#u3>dsbgU8Mg_u>QFDqS} zBT3$Oe&*_6Br6AoG)j9uWaYLQ7h9uiRq40uz01=P_t72VqrT_NlE&mO)UJ)myDD(< zrRkn8E&YzASTCb#>KRES59ZwpP1735b72%#Z0>t6V-`9E7)+5Yjh}tUr-{^OoUUVr z=fFG}x%b)aHNk4vwbibxtAqKDio|?={AOcLssbNDzp?*iB;JJQ;Q6+rFzuv>X$>ye z%CcXtqvgWOX_xGwxEb8fxQzk!KzvjWdSR$T{<{_YYw-7YWPL+1(>qZjnR?t+@m40K z>{KDKx~M2=BU~g_yk4=<n-bpP!b`q^W{UT{{zz^I3`g|3lKDifO^usoXS?uFN!!;0 zQc!zaTW3F?J+&Zc8Xl7wF9rnVz#jf%%Q0Hz*x!Ux;$%;ANkFZ`e%v^3wW%#>V;!v# zTwEKKt~nR}!>E9-8x{YS2}b@^Dp@QSKIK7)P7QjNvQ_elRKNz+x>mc4*ji2A&M6Bt zHv1L7@3Qz+F{cshm+r^fzTow=)4K>Iqy1u`gxA$75jz8IW&7@~_ZUs{x2gB)?}F0E ziZ<8!gL`tGl$fGvmhRFIvjDG}65*ThSH1iU<NktPmm$+uJ-*VTK|;Q%Sv%yr;=SQ~ z8wYKQNte$Jkb=X_cEZ`r@6dCAYz+Qq6o_m##74Ew?JqfJ;aWy80*QXJCw`>3hg)&c z45_GCDQlsWM#Z)k&Q3i(%yeEPdEy-A7`C8d_5EcN4n1dKD^G!xi3MS6L*-t|g?A-; zZA|8O|AH!SWt%XOn#$ni`68uTsU(;FP;)E*6KpTp$hs<GON7SsH+W!pK~;Rpf=K(W zv})!Y9;`E;)CrY3x6FY9W>yXyoMQ(L;>iV7%&H_3Pc@Rz@G%3bz(HoxCLi8dIzzMc z3gwlY(W+IMrXX+pj23-&1mC<Z$~=W<OdmB~D8VI0A?#DU&>36@H2zDNbbc}7jXxgy zn9(+TpuF}^^T1xe8kgJyVYygtc_&A&EWS?!SKzMe3q*9tI}Fn5T=?9-+HyWU?ft!t ztAyVg<|@<aq3oDkczS?>=D>&z{pCgirrGkojgDXx&`0VzQDiRsEwaw;OR&0Sck|3s z;#mp`ln}1SD6FSOUBr5o8706sw*_OTgXBhzpB_9o3lP`i6aTm~2ITAW$;pqQ4}Hz( zu<c0Jjj{QY7uQ}sGjVKtb;qKzQSAqKtNrp1H+8&Qy0Efi(U{Wub-NQc;WZ4jYxgNy zKB|4sd}A)YPq`E|S|e0~(sbN2d(8~wr2VO9y>~}LbgI$42^X3H=GN2aN5$H27hS<A z|275&iT=nWc^(<xgc?nQ@LIp_iG@p94q75dPqWo)O+5KWtI=>A_<0b)>uM3_?|knV z?}}6S;_N{xRwW6`2jYYmi_8k|3f}0-L8fCSZ|%IaRPTx`vG#d@Cw2VP#c-_ph@X5E zUg4Jxc}vEDojuPL+3WsLo5jh8b}Yf}`4T**a2nQI^6&bR(GoS;Lu*=9ox5a?^1AhW z{9w*f8g#QFM-6*}gR}@@hzK&^>rlD!O%(6HkCJE})#WY8U86gk7fsahBKkqJI4_)V zQa{#7fBNZIto<bx?bTaYv{w%VO_mGKLk*`~n67D@gRCHr`fGpl>)=lrY<rQDpk;o# z><J11^DBev9C3aW+OOLvR?aiqvzW>Fxcgs(;2ryxcjXIA^nR)=Iz81;m2s{8ko;(E zKecOA?LFG-UMsKB$aX28)^4J;sgR6dOCK=hfwyEi7*<pC3)!)%4%KU$qBKxmRF{3K zJxd<dRcxiSzo7a_DN!BC*RMw#J`DC2>et>kcpRxElH0{Qs~Ck!#p~WpO%=2$to<{U z)J(Mr+SeLWH7_(Kh8iE=n0qU;;l_LpGa0DopJ>d92mHs4xlAeT(3l<a8`+p&m)C#T zn8$;WZ_Gix&=`<hRp8VHP7OPUeJ`PxFI%8(k<bZgwH4GMp*fKpqz|~+?ZmQ<7rl;q zKVXA5)A8Pi^Zz`z^P6Kzbmc^7=8#^V3)QE-o}oQkVm4LY(?T0Mqu)#3rk#}HI#Tqi z!1czLB<F?HcD~OMP+jA~ik;O12qiXcYewRf<=?!n=kWSSF;s*Xf+9RKT!a=|{@14( zGtg9nKjp$`Q+uUx&Uo?zEx_lWr|mW})gy}OUB6DsY!42qNK7JS8<`3@{<<+_3wq3o ztvv>1w&Dnp6`P`{Z#plnf*4=U_mdIi(}Ez%DiLMXFj2n!auHG9K6pD1UDe-JK|&a! zOnxo9v$F9u$u?<Ab!XqZix*#qj>(p<iGgGcr@Bu?PQE_*vCL&HS~g7KIlc;I$E?YE zSqvsQgE3{xxfx`A2?AL#e-gm#W1M9MV#EcpMDnY?pS+++o>hc4gWVzkkzvL>eIT6A zXdV1C1<jA1!7U7>V5h8wLgm7{*%nt`gH89gp;C~cWU;`QMKEBJ`)k|o*gKBqIi+)K zyN0^t!tHFnX)e2&g<$a;X(RR7B_UBpS(H4PtzX>%tlb4)IHH&bSz(%#NX>$-knjA| zEPS9fik85QcwI81Q|$<AhB;%qdNn?Y)I4If&_wfUrO^z<`(Cn#twP>@9fa$BJ@m65 zwq3^CR<()J7w5B?{JiZj2QOQ#Lk86`VB`0X*?RwvZoN;3Oo-;fpWEy(U`n^}rd2I- zPxp|<<FhliHq?%-Kso%=PtRn!o%wdQRz(bHth@Xfa=LFDebr9$E7!=-LJeK{`JL`$ ztN*Oe&mKLtuWfJk|7CuWd`9+fta*xNXT_|TAL+P!r+aKqS(Fy?zITB{+s?A+yYx@{ z9@)Fa4a%Yg40YR$jTrWt=0o#~?1C$I!lV?Up%t;dt-%Vomaet-nlPfh-bWwKz)_p| zrLW9?Mf7V@Sn_Fm59|u0(&1M7BNJ!E{0;t{hknZp7|!zRD%$TrlHG32c{5D_eVYo! zHR)3<m@PU@`aRdAUE7$?SU79x$}3^DdL^tjg8YqmX8h+V!g;dH?|h{q;mvr@Te3kD z;NsfT6Y=T6+^oBfyd}R=I!Pwe`*x-C-)AA?J#1^7Ow)9QF#SCq2y8sV=O>@eT!)k? zTaE=p9Bfl;+9ZFzie%`&!PAvjKz(#^Yf%Zg-JSjLzqmpkW|=DsXk+SFq?7{`v-2O7 z-jdz<s_#6y)a%}ruSTBo>AbJf?_8g;)jCvBmHBPGm5@~o8qk(%5imW+cXR$bEpC%O zWbV9CC2K=?BD7B4%8QU|?K$G~y68E0nvX3vOtbnTwQNidH74KvTKU%){mZ59@4PSM zfBp=uPqzD?Z(wyYc8erEk?{~BW37E8lK&VyThnm5{D7C2maJtjfkCJt`*1GYheTRD z_PzZY6gmq=NNfHa)Gzv}*)eWps9zIYk92Q5d2co>324~9JDz+jQT@Pzqx?r-Ngzk0 zC!WMb0Dj%!Pjfla`kCJJE%hD$C~bRsrnmaR`o-_s)ku5zITAwBQ_O`M;+=ymTOOD{ z$*;Tj63kYdJ$&8J!hQVF4Ub|AIy9eU?5t+7xt&vU9u4`UPn~zkPLq4T#FZ!P7cPW- z&TfT5jkJHm^7BiD_a}?qd+dCb{g%rswY2OCY`xEe-Ml=8+Z+7UP64}0&4Sb!UUboS zy_vinP9MX67*BgL1|>k3?bM!)Ggq-5OTcyLc4h!p3)oq_U_{gg|LM~k+BNss%!+Z> z{J=5-JFklN-)en(V<J5Z1;@MbZBP5TN3vc~d)7U(AjN>(b$&NZi-?xu5~Ab&juDQx zq?IAvn4VbGxIZtfKANb0+FNoaUa8hHtP;H?C-Qw<dg6Y5>DvimJmyzFW5&xqxA`#R zR>r;Q55<$OkL*A03Yq`ij!Ua{DM=*XX&Z`neuxdd8H?UAZ`Z}|%sPQ{Y2NDA-Re8H zo;<gH?CW0lY2?$nr~-*{HeZR-Em?Ni%=j?*7Gzmj#Qk>IAKhUB`M(1<+QXjgbZKs? zi0hJrsZoYu=p+r1U`STvzZrDP!KceNpTnq>ifniQR<6}{s{_$81FY?!TZesWIT2kP z<)-Kw%yBJNerWq-uqM1?#4T8$6(T0mH$<EFb`jxj!|694P#iHqQkgGO{`5W%eU-AV zATOkEKiw9s%ssA*dcFd_yx|;yPt`@vNBRiEsifw1rv$c`C-R9dH{;yxxN9HCw}48u zy$YWJe%vDYahh>LQPZh7q^!9%k$h9L0yF#>OytR@18((-w)5atY{(CRTY{ykEGZR_ zjl4*oU&pZ%19~GHnLsyQI${DX3=QK?-s<wYJ2uD^cg)mMl3MScrY^F-OLj#cRv!;r z-}(4##D{&ECvj*!W^g|pT&S{^jd6JDITDCW_tLf>g7ia=FEum>s398SP3wx%%vYwp zpIbF5J6B^qqV}r}HgV*xAQ8EyKEdrUSZb4MiMRYT=_jV28g&<TStmYpwLKDD6>Jb8 z8BZ&TS);5PRkg9F{KVB8q$BYW6@sef!mkfrUG(bn;OUIN9olCEzpH|gjJjl3zh8X6 zWbjl{%Bv@+LS_}y7!7&C>~!=C@y`1qZ6|v@(<PXs%lA0ESm*X~E_|@WXw3`NLP&~5 zve_Qex}j2u$2;GzT<{sJrKf9}jrjfYEE)VOq$HdQ-25xdrtqp*%SIH#C^O{@EeoJu zo1O#lC{(`SP!3m*Z>SmTh04ET-(@vicC)9%%t|JcNe#(NZ>B8m*OZ-F-|@i;Z#9p0 zZ1JXJdiqlPr_{le@1@LhzmR@3pLoy28nej;uJ8DpSD&6)Q=e{B{GHjS^;Qph(=$F6 z=Am{Bmq;P=vk}o_JqHiRAAz=L1e%O}hqDQ^py_kazwhJbR~n<JAiU|^SoeBc>kM!8 z!IKJgiWS!>$ZQ+~Ff(pMRz>N=s1Ws`Iz$bs^E9(>5cRu?`q&MwEe01sHfrq<R*`0V z%w{^(UCYL9N#-}F7xxE`y35Ge*%;FUW2^^)K2ElVq!FxOLCFBGD&qUO@J&eF7zC=@ zO%HkolcTqbGsz2fEM(TIY=wh<*pwsBXZHRpgi<&!Q$){;UtMIh_e4DTJ`;I`^mnIV zy<XDR1P{!GUqGIbcql4;nKZqgYS?um`4{MU)?}mSdM$#3gV}aq;S>p{h_*!OUPlOz z`V79rVDURI3vmtFZD7Y!6QiQwTGGl>aLhMRYc;{*Eh`CuE3U%PpNtA_vo9EqJWKsG z=UzB>($~MzdWq0YmRd8Zb^b+Popi~$^4Sg&xEL3aAYIWU<|NOxEWl`+ey!nQPEFM2 zhUg0XP|Bpss~%ZeqK$;VSTp;{sc>N4gyoRKf_u<9C*O%D|AY?j48|7gt?n|CA3RmN z_l$^U<rDGK%dGU7_H`fT$RJXJNwjJOb+FC|O6D`Is4$t9TF%g~Q#&X;CVA{rJX+rD zmX&aceWjFf=)CjJQ41L{slYOLQX(a7)1_M0r*TEClf@jwQd*R(q|dg){baBjGA%&M za3$Jj4F0fO*}DrKiPWslX;R9nQFG=GN4}q1LxQAO7G+_E3T8MuY87H@zXiU2VYIR_ z`BGe3mw57d1VPkp<@-%?bfQ|C2E|D0&=;wf=xP)3JO5GIz7v+q$-iftlFxL$_@SR} zZ}HQMD$Q?4{b1_YRot$!F_D~=NhD_vB~r&`5~<w)QH*(91Tcz0#kN6zM9+Xfx^;c2 zErYSZyWmk)Ds5o~$((SN-}eIg{lgJX=TtDiQue`X5JPCMC~W|Thv%x&Hm$4g(()w; zQVJSglMcWf8L6Cim*^?qA(t07Cn(Taru_@=+hPq$k?t-Ssu4F-YuT?$T^ik$b<<1g z;d8i9OG5QatTgl}b0sV4zpndQ4!L$I>!ap)?h#s!KtJ_)C6@J5-`;L%VM~?8Kpb&F z#vl>(e@&r3t#{d|Tw}ed+bi*zr|?#MjARyRan%7}J-$ZQALzeGw+B~4aVajMyU{J{ z&x9LVMgW6d1X%^NY2(K)=x?r1PAr?5Y%42kOkP-q=y+inW!p6xPbSJLwHw|`4DE(* zHa9pC$JTB`S%lw2Sq;B)%3?Bl7y?7lnz*k`N>CpONIDP5m;TF_!|QIK?9xKDz>?HU zEtylNah=0({~RET3>zafPgA@Udlxoe{Aw1zoBhsA=_SWz&(0_9b#EmDc!@G9#n)=D z)SI-|)Z9KcQTK}1^(di<>Q@q@$<?JYe_wVQ%1d@`hgtNtjRy#SIL_<(smjZ$Z`9<+ zD4uPg?$2U5b-fMY#s4TN84u6+cRIHrbzAg(rJKqhAHK<zy33u7M_-oivfcU-+s>{{ z*><)zWgB`xnWkbj>PEF<VhY=DUiX<=ibJ00(LT(~xE`~wdiiwT`{AH=AXH0~Naw(r z@?`sIqcT4g+}@Q7f9G#`%AEk`N4KIz39(VZT?Vq55?d0B6*<XtL9K42{Wt;f3m$1^ zp)(GBNV5(oc3mUSx;f=l3tyE}v*2&>)EVUwo!EHR>j@^0hVnp!gtx5!TtTKniIod) z`Lp9H_Wn{*>O|AB5Q8Vqe}5-qOD0tufQhHigkTQ&{+$deZV#~`rM){FPN;T<htm_; z7XsWPzB&ST_m9DSGW!B*Ca>#wG>!2K{+?&!ZwwxehZIl~hJAfTM<^FQMvazyC(qLh ze6@QeQFM_S(<Ryk)&jE73|jLx*P4zR=+Y3aDm!G^ZO9epl0ib1+!VLMOlhxZhkLz| zd5%stpVZ6}|AL2Mh#1%y_M8efBHcW~bwcVW8Cobw24F>mu~>noyDYeUtv!T-ZSj4Q zABv<Dx1tI6VzQjwHy7UCkBdFRkler?!A?u8Al&1w>us42{{^LfxOIccGJBg9Tib+y z#-w389ChQ~j1I({JO#o$m{uL*%rT7wjPqK=p=>zMn=>1ZP`Z_tZUPnng>TDTZJCWW z&s_K)_bbzp`dKkX-93h-F>~6yV6!n3Kboy!D2cN}@Jme@uveI7CD^nxGk_p9BWt7x zzxprK8XH_<K^2*Qul>MwFAxe)C8ZC%^uvadHnfqsw!Jk$F~nG}_|^9}Cf|>j-Y51p zFP?mj3jw{Z{m{o*)4ra$n<dl#xF~Uo!ZwMOgu@|keLzX}RY~^Lh#xMA*1@Iyl!ukC zX-#jUw>79cta@i~bE7sQ-p*A2ZxrgbBS#eK%tE2G`u#|uv;$&F?}M#S7s~Dn6K^TY zn^dN2r~WTARAgkCHoe~fYu0%L8VePotoqry&-Yx=Ug|kYK;f{SrH#C<+lipjxZIiz z%l&xroy<E^{uj#E@r4m>R!#YaN$MjVse-lSyYdT^NnNSgEOWk<h3oU4(nJc?U#P{N zWV$?&3o0h^Lx`sTI}-UDM`)fEg?n8Y!o~6>HfUCenM9xw!3cWYF5Jt7H#~cF3Ch)q zlJ<iet3OPXTDMY&kl`VEJG`If@w~2kNN<hSx@^(QG-@zq-{m*#2TM!NsPOw|gisEZ zWWU1{QS7NW+4J#SDNOZE9vv&klI(1Hbhy*HkGH9@{OY1a#|sPPVR^d9^V9O2ux26- z<@u$B98U#jgk-BRo)T?=Pl~S;^GOCgd@K;O5~TxL`PZr~V?pzXVP$4O*di^=j(Xc$ z8k4W;+SH(3#8GN9`TH>p;g|-^C`HlBilgsOIw6zwtobeaUqqHJeU=?iGSei@mpnc+ z7-ROgC_xdGY;ERj76M2zySaN9%dguPeeNHFEU8edI(d=nuh%(1WBuATo(B63nAYHf zt!h@KtlBObj*Bc692B_oC|WABhMdIksTofRm`I`MrqPHfW|Ni3<+UWptG1+_TO-tl zAha3+lZ_%bImFZQh;7k40gYE3c3tzSp!=TKCtuDZT{$f=%Z){XHsUF##*9mGr+hWN z?(nb<fb3bl1h#di$O~?$$t?MEa0S~cW#-5)qB(a39#{i~8j@UN{OvO8FprLK<dK}g z#C<^(o0>JM9UN{3vv#mC8q){NW`?hi7CxE=Q%H^l6&CA-)b9S2Q!3gn_S4f#{p1*L z^{B4iMY|-?%LiJl^~t`@7xqh}r;kb`$Do-$uC%`Mg=3~Zzu+YNFaVd|^ilPFFN~@0 z95`m?*o{+%<{w95ET2eh`smIVcItcKQ}yid5!^7gckIS#BK-EB(D4sW)R^4K@1Iqn zCSFe>4P!SYHx}jI_rk9AV>dP=dyD*v%l}0tW0rvD_^Gl3Nup#!M=vcs%1^OB3^jh* zjx8ZVuCGJ{{L<iS$@g>YRt#^aEUiDa{uB-q(MtbFq!zL_dLBDG+v;;zwC5>oH*G(J z@XdvP`wT}jYstoz;G~Eira~k4%k^jF4qQqov+u`6Y~L|rE_^m#%n6wvKSuXr8mOfa z>!wpE%bGb~Jo%)O(`PsObvw0xo`(8@Y&`2`MRZ#6EDE`>rcesx7*c|fzz&1re0hB? z{HIk{qsUl&gM^qub>~`rznD9P*05Vt)8#+e&!psgR4Zq~u<9|BliOncox=r5V)Z@l z`{4LVzrt3%G1$qtpBP8;BYv_O8f>jWqW)6Q7~jTREZ9O<%DM1^>|x5t6glbn`rPie zhsW?87f+qSXh%9fiNT`w_%4ej5Ci+*qVU5A&xOlw8(AYdZd*pfF&DlQLsO3<Y4z*m z=J#ilL-Fd(e!6Ur$+<W-J>GO)26@t)<OAzz54CslLBH-%UEt2P&X4-y$qy^~;-ybc z?(N!?V0X{2e!Oi`*QWOU_2LNjTeezg_<hhu6A*Oko=JGKhU`KBQNx$@GJw&=m)9?4 zA82>9!rsCfJlTn=n*7*^{h(Ow)ZM+VJv85@%Xa5dc5T+xZJhryTWa6vpX;^szU8&{ zVgbw#M!~yr)=6ia-ZhmAGFkcC-nyqS#oOk0zKn9QKSXA+`QPGs6Uz0}!i(#ZLySxB zo(P?gsP12i3HUij50T0MUlWh!V+$X1j^-d$+h)EJM@NDzF3QgJvajOv7Vew;e`juk z_tb`&%r@;5_2_tKukwrG#^QCG7yQyMr40Q;iF7?jzxx+r@%wJP`c2C01qnXI3m5IP zRm6B_UkH>1f8p}{OAZ7ht^%oAn<n>mZ{lK*c=ZtVdNfgb?|Q4KHXaH7BbR(}vCO(n z>{`~b4joz#@EH4`3Ve{j3dQnE-xK_RZUier4&iz6n>#5NLOg{e^9e=P->C*Ff=7(U z<m1qUCYw2a=Qpu^-X8-xOf9yyG3C^`<;c^F!(SLpv`^3ei`JxHVBj7zafdbNoJRtj zedGPdY7xbOXnpZfVl~a~Vop4HEN?KxlV4^vIwns{-hMIh2fy>xS`^-1*N=&$wTL!R z)4ReT-o#q%O~3QQvGsu}&6|Op#8!XXlYZap$A}$LUd~}Am^l&Mv@9e(3l-M5f>j7j zj1fN#if$7zGeFZ*YFSl<fuEHQybiyvpOf>Q_tlEveP^PR2fK6aY|vJ&)j-t5$nML7 z4+vmAMFlWYOC1|RO;_2-y1rA&V?T8YQ|NbKA`kj~e<}CtF5N5Sbv|Svx+{6kUKNSD zM=v?rFMTGF;uz}0cw?&U*?8S{uXCj#9o?8pJX?{NGP}a-{8xMusUv5nca0yPn)>kU zRN~>#pqN)<`b74=;eP$cMgU71>+Ws4un`N=zL&~1;y2-evBaD8b~8?6^?FEklwbNd z^GA&Kz<%4W`&Q_Zx<u+E)ZveL-P$5fBrypdPOxvS5{AJ%K07^OmpG%Db2pvqxy$Fh zQSE*GF`WWH*!%LC>#@zq^--zD^n_>GDt^pQom82qzISG7&a<JJsWYCPzzzT8!9ydj z&Fp?wFN^p|nj%S`HB}^=kq4S4B<EE&B%3Gt$wdVCYzdHVf!&X=H;2tZ#@mdNIsf)c zilM7mJGW12EAQNXM*G)fJcr);x?Zm*25Hpy+z$bNXHO$wIJD`au7$@!NM4ujLX#1> z4yJKd3;oIbmCSyQYcpjACpvQBZ$B;_#%Ca9lzU$e4N5-8zGKw<s``%0OM5TfA7JzX zZpFELbnj(l*-y2HP;<;Gop#h2Oao?BLt2fgxglvtcJ4UljP{*lx1W)nggIGuPVDwc zY=n)PzrQ85H{YWdRJfGJweK>VP}?8tkGgPbuI+%vDRV2@KgC?G-Kte60bJtKdwBRM zcVA<2Zb-MtVMOZJZJB>yqEz<dR=pqmit3gANf^O+Jfr?h&2(q34^jgu^Sg7;&L^0~ z%BAuSk-XWmJ;yy*XgM?*j!7MR_{vcG&MUDj&mH)8aB>Ik`y2f>vx*tfdktzT_FE=m zbYc7kyNt^*u6?O2xCr3DeVM68#3+$G!vM=OtdnIMZ9EIDX27%df@jI<Hwnj@yCUF5 zpJ_~fry^S;t~HHLPwr9ZbPf!xVCaf_JQHvwj5LZlmSa+oUj13L#da{;pUnQ&&A-L` z>Lzvl$MLK3`nyrCV?i@xtAFQ#@oS>|E1kSGUiWa!yJkcDf+t(eXp<t)61(^p^tKk5 zm{{j0GqKF8lGOj(9PE_ai#XU=(+m}lF8ZgqemDLT^^@h=o4k-YCFU*LAc;*!^kk8m zubdq$$aCobq;lT>sB+&lQOdFBgH7GFgZ+rM!qG+~Qgd74EDCe}l!c*74!gB9-g%h@ zr=DktOMfUW)JX<hRz#iQ4(7VSqwuHGz3!{jI-TFHBI0jg9!^3><88q4k+s^VYw+&q zIIO&+<b?FD_XDz*%_9=UE0#v)?n8O_BvE(6_5p|nv!{C-yjhR=ywTFxx4pjOz0$U4 z*|5G>f=b0;Er}<PIk9>2me{Svsjls{WRSfUEiOxhTw8l0H6vmMR|#3Ke~?IDyM=@) z$?Yo1ap?)~s3h^AB$D9{p1k#hx*I-F_HgA5$bNcOuk+sRv5pT*+x{H$RzIl|^0JK2 zj%JH9$bBY7IWBe62bTMf<EgKgG^Q@AXjJ>L|3AS=;pFI~@Xx_7jMZL`X2I|8*i3f% zlLc@kKaExVoLtM#nZ7qZR>_5_+=1N0UC7P8aGLSt@svgsHvYW1{no6dG{y?m&QCJa zE@F;v4Y4d_`kE0@+PJ2t99$wmyR;&)#?-lmvQD|gbj8nSq%HMRmmtmEk61Apb#ZGV zDY4<w3Vzxu;N#rb&QGJhPLA+%CMQ=KDky29f}+l;psZ(9SYcxdptL75OU<d6XZ!h= zgeE_0>JgD)k$R+&6E<LClG$jPb7<kiofk~Onz7tRp)_D!j;W34%48j>U=w_y<(<P@ z+?{t(xq#!WDjoc>p$}oM`(A=~o~{tt9iN_x32Hye4k>Tb6XX}9Wyy%$pq<|Yd7qHH z;RCg2JT;S&2b*82H-;x&(GFq>_(&sEpCLn)IWkn?;J+EFuoc$IF<3Sdr(#9I_XVsu zTd|WN6MMKpnu>_jFcsPJy{<o!G!-7h_3FyxZpg;jyH~R3W*6%wm~{WArK-=tef#Ox zL^<`JQ%;K{%0n_Ck9k!pdX*|srRt1tC|Adpt7FU6vE_DScLxPiShIHMq#98Q^LSL) z2A7|kQ8g$#&sFFi5JVf3A7;m6h5By&-7=0~$s}LK$F|T%#>dY0x$*I7EQ*T8ha0yT zaK^W7j+YKuZ;_!5fa6kK?*#N8m<q(9T9hN>C|00op_#`~%Rt>EfbpS&&3rMC+$|WP zhH=gL4#py5oUbly)mN>)TJ%+A+wJ<Q3_7@TJCi^A0N#~tyNM}n(+zdiTN8CyzXn$} zc-<Eh5~$kJcdD4jr4Jv10U7<tuDgo!|35<xxnOInU;4Ueq^ech10mB+4E>ZAK`$hM zcy6-$Fo@z~yGo=9)$8{6rRH+9*IbTC%dH}uBviv*U?my!94DcHQQTF^+Vvd-wY!yx zpM00$^P#_ZgUXz!e%HI=2gHx3uLzo&l>-+;ZnqJYo*<cCRDcCt_zJ|y*~uF|6yE=s zSVgJv^x<Q;Wq>79FoY@@Li<Z*)$%3V@V_x8Yz(^5h@O>sNBJhnH#uhvGHznb#|{wf zS&xBlk57z&agU!f2F^YHj4{K5#KMP1iISN&w>}xPFCCzU7mc>M4pPUcgIXNiVXo^? z4vnuc*mY?2^>*uqo*Rf+Ja>qk_z__3Ag@q|b$-Cj+}#Kr>T>0z97Bo$Nwml%Mu~$J zQycR&=DL)t@;O}}9C;_l0a6yJZ8jH@!u3<#n$B!`dxnwDRU+(wtRX~?(yo%L{k>om z%Epla2$eG@r)!Mh?&ou<XpdzT5;oQt8m4Hq=w|KB!RiA`8*j<o*ca8`Q5rCO=8AXA zb#r?qrM_e*vGa=TQE@!mDhV3XJ~7~>FwubdRAeU_Qe*Pr?5B`0-Zdy-PqMC0m!Gj~ zz?zm*8aH)cggKDaO;3-qO42?@h74t>jD<vgCim{JF)G8MZBJllU>1IJXC`los%FQf zu5zr3OAly~fK|;AtD<}H_&;P-AMD~?dDK{~m%mfWteB|FV1^9rr@L*aqP~_3d)f|r zdX2)Mn!EVN;!NAbnc^2b0bjaMe2K#^%>?8*{{IC-n(5tfv(W-q13<&OdYywt!vO^( zs^9YK-t)TekY6si{2@*SB!^J}lgGqN`(7N)y)W1C405j#+uXo@Fv$`<<9BYRxtBex zIJ_;U4xF3(u1GP#ZH?t%EO=65X0vtj|IH}HxI{E0&iglNe47!8+5a}C=as^M?{f^e zvF@D(=)=3*em_SNgF&ppEIzKmY=fA=+~MF}b4Oa)cnszt`G1VKGN?Hwo<_<tGMJh{ z%x$dhhZsH}0Ajd_#ge8wlsZ>gLE_1)?i2F=MQQvC*bHh-l)e<d-~*hO;}<*y->;?! z&OX{~ox~sDB2{tLkMQd<__Yj<5@nyrugi>Iml?k<Gk#q*f?t;v^XsyCjFwUHbZk_j zZu=z%#?x2jNo)|Ijw5Yvq1*|m?E5UXtYr1+V|kAb$@F+yCk8pe^1G~K8|yysI)6`7 zHYA4{s(W+2odcuW4n00SfnL5>n7V!G@COpfUy2x~|9|S<JwB@HYW&V50TON}Tp|}m zf&@(zl_)6DL^5OoGco}L6ueaIqf%-u(qu+KP?OBWa2ltj)~D^GZM9XO+Ip#%67U8I z*MLO=sDP+kRLEgOE-Fb-nfJT)K4)fvZQnl6`}_Uz`jN>w`|QiwYp=cbT5GSpcBCkO zj=56tM$Aox&B6UX*XHtk4ttzRtC%;bKKz-GF2cVeU61*UWR+y8%1*{N*EPpn;(YOT z`jVRTWooA{Y4#WNfOMb^J}e{bEFL9@?#YXXM6;0h|F^|MLJ`PvCDt-oJW|wO9lWRW za`m1}Ia-vKl9wyhQqppDlzg&WshU_IRn1ViZpoqaf4y8m%8C=4oc1^(QIdYc0AWiJ z5o{C!r#M5w@(w7?X-Ws`U#_eon&+rY@j{YQriRqVL2K5L{$0Pbj-2<Zy^aKA;v`f+ zTbq-P1F+&bOBHLXw*yv2CL>SRsIlHqBLgappyrvAxPO5Qpm{fH3#gR)f0YCm>gZvF z#*l!4bdIT3R$?+Ws|ov~V<-S4N1@n_62)#5(?zf1r@Q6F83vBzq6>@?U0{^x0$dpA zFde=zYu>P(k`|Aei~m=%P@xYzDTv*yZvwMY4myr;iY@XVuJXuFTyX2n3L@9%bIJ<0 zdc+~#2#LMbUYC$EkCvM|%Ja84jHulFd%5{xEPKdm(bb;&^#2wI!gEWnd#CtwMDw3N zH_0s5i%_|_&!dN21Qb*`jz%H0NMsWtGXJ0F&%Pfu%`cDKn~FeWYi<Zh|3@@85MMbO zeA~+>>PZn1?l(a8a=c9Vo5K0KvFtxLiskoEqU)aAu~(bn&5F-?%%_F$IBIHy`k?@N z%ob06bF8sEf0N>L44}%$aZ1hUyygo+9d7R9{SK#l8!0f&sCkRMZBg*_D*cSj>RuFD zl4NPuYpP^76U1g)@<mu(;)}!T<cqMn#FqrCTMw%{6@1v5MU(a}Cplx;pT302OK#UC z5O2pz#LnQ%uE?^)qp0J{XT0g`zfsv6B>N6Uz{PK-mr1E-rBohC#4UZ8udnK_kL$0I z#MhVQ>tpI`_J2!qPgN*Q+6nWR4Ax}YiB?ei?FpDR#IkohNHQ^li`}~Rixaiap!R4< zGOXRDj*F;c*NZeZN`tjC4F`#SBz_=?IXW>fwG8O{QUmsG3CW5#X)ODXOhJhlI{sI7 zx^f!330x^Jw&^^`W|d>yW-B<BebwtQK#on{{R*r~>LT#A#5dL66Dh<P!?a6S70kkL z;CNZ#FT$E*+267SwNmIoZ`h*+Vz_A~(Q!liKtQIF49t=(@=Qeu8>Xm@IkD{JQUEZH zupnzNeEMX?zYj=20FgmY24uDkNM1@{rZ!RsrU(FB6>gjO1pxHq%WMGVIRJ2WKG>aY zMt$IXuv`qB%_f%K7XWo&lK5D5sj;e*mS=5ywO_)wjLwxkOplROI@Rbik?=A^oar;M z#K=lBvIs7dMUa^+2{tpEe=~E8K2x%|zRzpkbITla=G-My?qDC!>+JZke~5f7ljWdx zXuP%jKVs2->iF=U*2@mcHd$Ni3oi)*6DD-E|IU8qKy_sBYqi<IbtqieaAjqdM0Z}4 z(fVksvNIyPiT4q<^L^<U)w;%gP01XRLy+u3)-THNVg)p6pA|?VU7Ai2wz?r@)l^<> z)$ARpSgB^qNz*+qp~t0kcM{#5K8h}bg;{iYDqU80P<hRCbtEN&;bR&0<YuV{^Pn=j zwRX@sZv^1##T9o3>pCu?jD-zl0XzDloRU11R=5YP50yv|U<gkGUOC9iaR{B?b7d9_ zAN{cV1Rr^xsU<DqPyM9K9X%_hQ^enW-kD{Ja2Zebh>CLK1Qg3Y$qthc?<FrP;+6fR zOmF>6@HsI9l+C26lU)g~01szC*GvU(k2@`T@%b}X<M&b{t;qhfgxy^#pw~~K!}sK{ zA53@hIS!i+cb0R#k^ZB+CXrzHuFkglNykTsftc@dM@m{k?cMQx4>jkwLyeE~ulowI z@VkxD#!x%Ud8%ZOOlWaSz9FHvb3*GM53TRck!b$&7^Um^K(^hu&o%B%cV{#%DEBP! z<fe0SDi<Vibg&ykAIQc3NM^E(mY`bi(sNiM2V4*@dJRZX+d_enNJDg?daZQp#x?5A zUDe)b)LcRvJngOYtwgv)FN_lOOs(HykigV1Rcwo#>>1q+k_wz*Gz<uDBc`aJCo;ul zwpjO3PFHVsSo3+Ix}!$uEFfA*<tZ<^z5}~I;?GT2Mh58sdyU+dRwGA%y^)Gkf5gXb z<mDV}$pEE;jfM(WS!6o6I@!Gfe7?oMHQ;njclT?8t}>%^JKqeWPJDAck(<f+btkO8 zF4@59M|>b#E!l(t(JaT3Yh>@n-MBx!EMvRki=HJnyA(ny)T<(P>rbrSW=m-AP#~J3 zoWrV4?lB&`lRlC%G1)b&>LihdX7d5`q#F%0(?WZ@HSN{TVf%3oTb<crUCn3OU|;_g z!4lMvV%5+DHX0zB$`go4$IAr2V-PV>5HT$kOr(`XuBLw-3KN^a#A-0Hy1V;T8xx!O zMi>7ma7C`uI7^~0g)lJjo<`UrfzrkVqJ^9paX0P*6Ps*IT!){WQTwHWjQf3R8ju8V zd&BbB#NH}w5=VrF3VL~U7pPf?d2pPV6)i)`p>_c3L)DRMT4V?Zhc@PfnjQ}|byv_B zrCZhDDT1<LAz*{p{vrL0)k?o!GBwSbr?4_56(>7SW^=SV=uK<d+Y@g)d_n@>HyZjt zm!`y)sXDpWsF8?2YAB>8(C22<@Xa$Ce5vBw$KSNj{%%eCWng-WXJ1(+K7fqR#>}nN z9qI(iBTdE1i?6q}ggRbwskgubTp_V2K9lq*xkz@O7vz?MH5jL1T~HLGpZzTyCYJqI zohCDZG)tvDrqYl}mc=}hdaLjvVtkOj(Nw%HQtU}lqS7e&q(!Bt)u+}M5V!0t12H`) zyI`b?y1G@Y=iZ3&hg6>TUH(H_C3UQ%q8f>7Xr#+S-P2X7m**7fm-JhNi_8^DbWT6< z$QQOf<jVpL|Cm0K9a-lV*6Y7G{L;%7FHEui9-!F}8}am`n8M=ThvH8{9Fuy(Xvn0i z16_2hzW*jVKSmyJ9sP5!i}^0)&;+$T>NNj>bWDx05i6_ZcdYE@*N;=HXxG>X3+F%a z6*96WW?+2Q%y6K94$wLBS2#=_FQe28pl7Hceywen@r{)o|2Xk1i;VdTuH&!C(8WfC zkQoy_SUQ#Bf|-=+Q&s#{W|u61_iAp-QWKnO$y#h4tv)3O`zwbxwRY{<DEzvl>cF^? zs<*2oe-~A^z#SYLy`QX@rz#7ZT6^}~D_PB>l*%2~vx=84$>qALn1ZUmUfflgNO08a z*EF^E&F$9ns8h73Q#84ruF3UuQ&9$0`zuh`^Jiv=Goab+MOTG^#|0a-^eLA8;$MG} za(yRvixN<H9Q>^O6XZOi{THWsV|egsP2ft6-|6p3=WWHUtA0Wb?m#YIY?H5WlMy;e zmy8BZFZd$YbKdH1w8pdj_4j9?Vu`>0sPg=8#Au91=)6%=B1M^!n4^O}`ytP)@_gKO zkRVIKhXZ3UM9*0|-e^eg>ocBQUr|=>qLMi|lOz3yUmZywj@77QpS6S*aZrqt=mevo zf8TQB$@eM;mzz<lh~C%9f05`T(H{{-3(LTq9K4_uDM^(I{wt`Bpdz{W6x#l+aG4pY zF{!X(H~@If3CX20=(yk2OxcR}EU_d~J#I-!@ZbqXw+e}{bEmY~>N6&;cAH1&pwB2< z?JsPuyl8S{<T(UR(em!3$jJWQ!p%mgKcL8=@2t`*?#xaJejm@Q^1`jbJ;FqBrTW(K z7cE?4gz9OTi`%G8+u-O=j_Qxt8gMQcnKI#uk$nT({b{#JK$tl>0#zP&>H&tBy)%Mm zM=z3(14;9{TBMgWQ5KE``m68$NdGjcu;x}ccXWXGGnm(5L3%g-;c8*&xO*XV3@dl- z!^bR#%7X|r8pVF|2Xuc*7V;Ocvfd~`JnoYOH#z?);a<3B5qf3<W^ELgNcM#!`bDTC zu|OqqzJSAZI1V=P`CMH_eeSD1Un}m01I@2+;Ru~N@1AqbR=j?Ha01qRYkIZU)g0T4 zJf*e45EAS6Vk6G~DPb1Ay(!pVKH$WqrCdJr;e%+x9V>o8Jc;0a@;qd*JO_TVKCR09 z5mymP6=)`VRtAy^?u5BZ+PtK+wRT!XQre4l+Br#SzqQlOOG;ZJX>hxq5}x(~m?k99 zU(Po07jODB8w@pHJIzm~-+BJ}yE3FO{*7Z_QD+*71r`|+{-fNTgT(0*1?a-;K$_;) zxJ2aQSf+f$lq1=@zS!m<7GYJx&A${DEs}nG<PuX)^LxdA$G5|Ol?pK8F&a(eSt_F= zYY4L(Hq|TpNf~tXkjR)TC__s3i_Zoye{R-my+DC`g<8f~QnD{$DU!B3airw<nxW6U z-q2O(#ma@J{yOYd6Q&Y0$OvD|QsA$@&Wi`<Emuc+cK60M`XufozMOw&G4$5Y8w<0V zRj!zp%#L{(a4mNCo6FfuVnrP_Ig;L89xxkmdaK;Erd<5jZz9T1;TpH`%SPOMB%qPc zwL|#VSk4}m=O3}p_2!jjtnn<lDc2~E6!rB9Q)&?=nBxt78w*VH17Ph0puoAYXLmRq zOm4SP^9MRFCN~<KkjEq%%e(Ak8yG@gp*v!Q$J%cfF+zVKO?c1l=p7Q_abU$DRq<hx z<GCuzt$s{D_2C`ogImo=-}b%Ysnor^c5m=J>t#O56H$g42&Oft?A)A)WCgp+3qSOm zyI^UXr7u3iL--)L(8kLAIRAvzruquk8liF2Inijy?K<&_+-|{J@EpgNHn^AIft~oX zx9}|nh1wY-YBE9}3dE80KEA?6BlIaR@Uz_BRFVom13~PZf*`;fB`}CZJ100WI>Zkb zhr{v7NeyJmuI*&T<}Jxy;wP>s6i^csk=SgsR#W$!rO{JW_YY19NK6y}PO-!c&l)fR zx7Ehct|b#tL&foTg4bI=d8#;9P4<}^efeAOo>f(pwd#QxMAG`j6N-^3rgYyQ6(f^@ zgsCcE0>Ts3aM~wUye2xWIWfx$(-yTc5WzlWaGZcT3l@A%M&<}W^vo&?Z(PvDV{VMj z;D=)_B;J&TH2m>6cU8xpyGO}tm4ycLF^60BbGYSwl8;slGa5Wu@q;b<^}&{w%%*5> zb%148v@54pJegZ*GXNJ9Xl8O)j(unlAi}&BqJx?1Ck%F3`@xr@nd*)zzEzyHLJ&n3 z<fRHjvbs|AtPSlXfTJuX8P=m@QFMvVWMlLOuX$abUhkqrN65bT_kyu4iuF%|#VFQ) z35ntgXRb#+)rqdH66VyH*i4xVbQ$$|fcmVaOF4?|a2(^Jy>$J!kjI)hwN=<u`K7z6 zsQaq>iPYFE(Wv}|jU0n$R5W6bfGv~3WxW4{!(lo&g|3-XiM;w})`!@LOY1xFx6b_6 zEBA2M&y&-|1pmuFWYp|YV@$Bq$zWL~7xZ2y0hPRFQEqwtMH0G@{pbj^0=vQ8?tVP6 z348ZoD;VUQ?Q_qkr9{t4FjSr2sa<P<ltXOtjKz`kWLD*ckUeyIhQ`O(^xgr&&p`T{ zf?p63705#EuE1DJoDGrhIWppoy(6JgC3%=Ngk-&D^RC0QcAl@U%>?B1ne#Xy@vTuK zmtIM1&n$z>DMi7|e(ZNBJ;KD5fi(LkGP=p~k?JooO1N=PAqevW%&l`5&evV&2Ymko z{=Dctx_`hQ%l@@!5_T7QN52<`KR9hEAy2$<kiBNqpZ~Q{b58<lxgMG=f(w+^tOApF zzh7MkQ9DgC)nlqMXEStnX-Nhj3!KD3A|ImcTo<VgG?8xp@fw+YK0EZ;0&VlDA1dK$ zuy4U5kUfQ1;Na17#C|0P90Vt>a^Zs4DbI=YAqP*hjN0Ge-yoiL1N~RBU5sPr1|u90 z9|#Gx@iQKL5x4eIlM9B;QzA(Z#|B`Eg+4mUksp=eWH#ByS1lgyT4nrfo)nF}jSvto zQAY`NtPbhgGhAuk9H{f~ea3LO4M*jaHH4FNB|><^ZC=x)SWRY&bA+zcYJ*1z`6TF9 zaiAt<<hgqM;6$05FwZn%g2*%;{2oY`E1BZ*z4JlthE_2MWJjj%ed--wRWuy%x9}+D zs97el_(W`BBFP1#_&@$h9pc2HxAr44T^$)YT!h<E*!2TrS+4Ozs4S7?I}7#V0+>ZQ z)tv!0>_@p9*PnkI;ylLeQI@(NXsJ3_titzd__-^}sNF~PdK4wE5k61mH#CiznDI4g z<@l7M@%oa{p}pxwSax8zt8=bV`wgfTzov?w&Ujo&vsXtzJINddvAm(Ju+?3D*S=^0 zp(auZi0a8)Zyt|SwBT1-F{CqoLz{9iEMYM<LVu8%C2=Vx!`Y37tnju4eYoREm#cg) z`mxZP`CjONEGs2yl(CH6{g~0PKo9akOez~N#8g~jG)zqk9q86{pfB+e8T`zXna8V7 zDoacFs6-G7HKyx&jnKU^gmt8(H67@g*=C+}K75}K){po}rUx-{&PoXk)f%=CKcZpn z=N`-{*Zf(i->7|@1_VWw{mRWF(W^T5*H})JbMr{?>|CzYI>*6blpf1?!>Y<7_t9XS zp8T$;x-$7NfdSOa5nT$2sf^HTxkmWM3{0r~qTm8Kwqev9<CRNQWtv<@mE<dTg*O^Y zWZTVbCZkdN-#m5#zWJ~K{|Ki|1o#j5EXO{Knp=3HuGB{3A-TiL7g~F&+&pOExylrY z!#63Cj{7#l9z9RX*O7&;&`BU;hY23{xi|l9Wpn8WoxI47#v((!j({az^DAXZTlkhU zs6GaD-#8i6@eHy1G*f2<Y1i1pnwZpyf&Gcp8CjT4^TFCEr^Oa(+I!nPE)dnulYt&e zvJA94^QgyMt<ojtJCh>}z<|tTyTVua+1=BKAah~Lst2yOs-?%yca7%;a@u&_Aqd0b z6|<g{;x;=}7s!?{p#`T)SY8O#>@#XFBeR-u7xK_4Z+|=QP2`o!<nvqa?xi4Tysx)4 zh}=ePKYsn@r`Qa9F35qCG>5H^v65=zkWGqRK9kX0|KGah-qeOy9YNY8vzS!5AUqOe znqsIDE<Q>OZd%ymtwi3u&=7$&a`}~il8ZeI31)ygme;Coa%B?Sf+7>cB|{dXxriJv z^+mMiWhYp0RMFjCbrqy@63s!bQ|?P=dZmzHi9!>Zmm1ABYCn``^DEVtR&QusYTyc< zefdY?eeYpSr&6P~oL{-uD#U?+tCTT4ycRgUsLyg(;%)$u@dz5VKN6U@n@p`6;^!eW zEX#%f7kfK81h`5uM!s`MqDu@wHY9;^mr{-+GLidI;jR}6<H8L$I#MEB39*%Bwm>hQ z$aoCh*q#Yj90oZ|KAU;16jTXi|DFd$)(iS0#yABkcSQH8`QbLHK-u=Mf!OyeVt)+6 z##GF5B;;R~xm9@BSRr<@cB6F+$NTgewh5!YW@Le}fR^smZ-gp^TL~{CIgK(sF*1A1 zO^FO5A6VD(Lr^h0E?W$_^ch#+OzX0C@Ymq7lUr4?QJX_5HxJ~PP1VOzb|OPJrKB8* zi6ng_#v<J(#Tc*6*2KYdXS{9H9^sZ>$R$tI;a3n#g!p&M&A)1ygHTZNEALh5;e2MR zHBb1JvAj3qG0E~Eq)(p;_QKWR&`!QoC66aLFwagJs*<KnAn8UssfSAP&mf88530Vl zR;h2IB#p6?K2}M7sp}j&X^TplCP{{(gRopYV4VxlNz+P1{7SY8=}-74C;2Y(AAY)b zC>%DJ8agmev>P`s*TP%Wf^%FHn+3vv)Ago|2pjvxWp2$>Y&g7-YNA7AZbJ4lIR}vd zon;;sE*-vsw<G`}V=e?x;%B0+p?Kk7E8JdAj0n{;s}6!lUku-zgO))m!=H(OLPdR~ zon?+uIokC_7Xu_Q55zdMAW4hBNdC)%YKOq}%lHn#@0B>r0)*O_O0ot?&MwNaEBpx_ z5pkK1-##oF66vSJ^tLaSo$Gvg(kUh`UUH*Mcl8A^EH@vEGF+wDJfJKqKm3K5e7bCs zsv?|&uy-jA;h?YD=tE7q61nk$3qKmQS{3PH@Fj{9P4Q(s#Il$CMwL)dKjHuez!*7! z`KL~)Ve$Il)(YsmoKI3uv>U)|rnu^~Zdm2=>0GM%@_6;qZ(tg!J}R?6#otR5Z)2}L zmfb6<Y(5`}->>Qk()R>%k*29?pK|!1mPV;XY5Nk_n1l@^Shw?h+W9gaU-Aoy6U2;L z@S6DM72vqg4FesgdoXM@i&BSOV51T40?EjpO9=-Blwdy=HYC~P<bVV@k*srt{m(bT z$W91#%@|gdIFnfaHLDv0tMgT#tRk0D`(ON855R7d<+a4pj(udITG>M)uWb=t=T9u` z-<8*Dq-j{4U4O9H8ZN9HzN{omR(I#ia4S=PaU?khr0_8o8ZG~hH)lMu09&>2>e_Lj zFgk)GcXavM4CwbeF}7kO7D0Y=Tg2h1;&Mn3|D%GGS-!}478)p+_2NHi7i1zlPmY}R zh%dBefuGoRZ964tlzPO>0Ar*KDo=XuiZ>V;Ny%`(;iag1RTaN02TLul8;73gE&tmR zdcnrma!L2+?-$jRlhCEBMfX)M)S>pl?l)B_*~pJfeZ1=A;EMh{v{aqUH0n;$io2@u zkjLcI^m?NK$L*tcU+8t=U9g8wzQ`Rw)9lS`6)tatpOfm%W;)x3eR_xW6z{8~ZEyaD zHw8?!zt+lOUbpCIa=x^gZDiK_t%!#mgUgN5&3@v~5`?KrS~eQG+8|{)5D_*$CH)W! zDJKg3m^j-G8dWn$^Sag>HIoFU*m^m`UN@7WvHQIV$pEdkT`rd~HyG6m`D6_xuYlV2 zmAS*`BJ3Q3i_a*<9K(ZABa|;^XQf}YU&ty`&2dOptndL|JZAeCS<t$qu)-C`+K81} zC-LiXdwamB6T!k)c=GPi9<wFC{h2gT!m<MQf*F53Q9aoNrdIA~l;(YHN6`$E<Y8}h ztV&QLWh(BqrrKb-+m3pTzd`}r7F5ufl;2%HBlL~i>>px(#A9yD+hjCs3++$yx>g52 z@m>J+u=66FyT$Kn_2%Or)Sgx`JgGd<NIj3t9nXH`BX>ew-$?et_Ip}A=HfRN*n{yP z9b(oI`u3;--QYn6S^PP;%B{P+$&0z(UoVmGj@lG~8<@@rH8eprMAG+GcQjL5<)CP( zD)rTAA1X#-R_ufiYHRygj2%r@7tVX+daF;(yh`Zo?R!4vkZB}6BBT^aZwxh^3wLQd z#z~aD>|`mK6(q{N5jp8hsdR5ljHvwNF@ODL|6FC*Q?tki14jV%BC@GTWNnngl#wyB z_hIKpKSkD-pl0H!^6X>3NO3Q7v5Imh=?r$9u{~WNQ(xrRSoTAF=G!O=Um%6)EU;3p zQh&e^M`dMekw{0e?3+|_Alri^`kerMRB~{yU5WKO1RmMZIE&ql^}kMoL~!HtM{Xm= z5X6$>obQIjAYl&4w6U1Rw!6)Bfb$2mFBa@|-vsw?&^D5NU4$jN3edPu4>>C--mo2i z2d|<f3UU?$ESSB%4;X&dgdDdrHffJGbq+ro#;X=6GBkhGF$G)8#0Lwq%Mex*IEM?y zgP%&kF3ykUH<Oli&rof(Dts%*u;H?ZrH56-`F!_2xL4w;FLjiiu>P)N1>06KePhu< zc7Meq3STWalsEIFw{Ta0IM{_H;n;#Rl=M7Ni`%;tFOv1dZMJukpG&G@d+wfcx&Te; z(TbTYG@T`AwcubQaCpHDK%%8+-Hx^oMz55`B`)-D@I;)ia$i7n2wxKd_Ljug0=_N{ zZOI93cs#VByD|P0u!dq;M$JHJCQ>~5BPCwFTpt&&#?4h@7gwg?uf!TSh6x{EcC2-G zXXxQ#;xVt4{=oXu-B<WU<zy!GS$(-Kfz2W|_^!`#M{aEK#hQtZ!R)BQE9qTQ9<Tbk zYsKHW!eTaiB_>xch+Xv_qHb<uZWkV}%w|)d@xDIMVe2Pm;EaKqFD_dIbRdq$h4{Ku z4n}S38(Z~24pPTU04~lG*<K9GL=<A-ZQJH^Z7X+e3hu>_?vwS7BVZFVlJ2kY*LP)C z3*+Hr46qw3&%{=hF`K<ixjc6=Mts`kzk<dk-H1u!ehto`3~+IjNTHimp}-^-l>Ql> z$PF!YsC&f-o*w6EaAl9G)qjrm)AUQ?DwUXDwfbYXx!rEa*S3HD0LpI%&dO(_J)QPr zjqDmsbm8Uz0Bmv)B!-8Cc(YU)!U?W|VZZWxIs+&vl|j(qMTwrA<paE&Qq`wHT4$Vq zwKcl<A9hUWR|?$9zIp$Qs*|$=-gs}$i}$9N^d{TUFXR2WNcV^FRqfKBvl9L3V<%%S z3v}V<A9hOHXX>XApL9w_We#pMSX}ir##6E)-c?l{gDVHY;+yv7cr%;Vyeh1ZS!}<i z*A{Fm*jRMHc(@5Uq>n^o;q;BpnuM?EJ{UfPTV6jE<Q%UY;;R?SXI3!S54tSJWs`6R zg~uzhEK{l{;>>X)bU%-h4|o7%eO1Saig|YK^p?OC1h@CqXSiRL$jDOX1(<oy>f??~ zUte|dM8yz0r>||_{ITw;H7yQW-ihWD@`wC=C=CpKW(T|3dHt+MuBM7ipXp^}kKNs? z6aAOhvu%33vM1x(ukpSf)<?8!)FLln9ok4JY34-_=%5Eyg*7A+7N;M}nLq!%@a{mV z&-E5_W%Eu?O2IZIFR^lN4S2Z(1zl}%zu0WAxk>h``-Az_h}1+vFFaZ~Qq}js#nx}B zPy%b4I5<VRJV-UN^#(Z&<O6dP;u;MU!Fyy5dt?ranW%?r)%{bwZCfGiP)96S#-ljW z0F-MJyTsg9qs$~{z=-_fOE*#ZI?%{KYTOpx1;o)h(XP<oxa;u;_#`QntLqX;+@e&M zX-?uUm2-<IVNJ2@D^)U+FDwA+cxx*58-6Ggb0mpN5>60ufn|)FKcTyj4(bI*4DC{i z-_(#&{9dA7QT)2CET&W}`xx#&$<ED+ewF`39^MoF`flu{8Da6*_tz5xvVIX9W=rK6 zU~=qixdCA!!fh$D(fYFh(dd3%n2XOmDH=?izr5rs7ssH__$0G3OJ?Q#$Q><m3qeJ0 z<c`OA7+jeta}t|RNlN67Rg$8Q$uK2N{0|UDrf2!uJ~pbJrkWC?;a%Y}Pg}p{&09Y` zhoRCTtLgIJ=(5rdK|`LncU*ZLx|yy*X73#C(?Ni%ys3WDz*tjt$5+fkBlJ6|DYPgD z`BkQk<58Z^nrq~zBeIodnUe+<G?s)<5bX;Q#a!Py?L0E(;T}z30UXWK<bqS(=$e;Y zasjgfEKp!Jk9IM`@VadzlsirjT?U?+!$1@th4{i7y+#>3R{wb|z9vmCVob)1TwjY? zvgAi_OS{IBWiB{}t}^(1^n*A({QrHt(m_I}@v5Kke`&n75v$;TH(qlGsqre=kr=N} zr~iK)FL8X7ojM^sBDyfYDw$vFMP#^KO)pMb>ggqFqqBDV%wsaWI?pfMSoV?!_TJx+ z`Bf2L^%84%H@${0b=Es0^gKn9*1So~FfNglIpr|;C)FAfpJBp_A=_#1oi<{-rpbu0 zY(oFcuvu7vh2>7}G{b%_g=K~X9{4A-i&@n=k4U%wyD?fjK#kFF-%X5>8@T=_b4v3+ zCE#C6h)w0GBqJpKmb)@etz^c-H?LvG{}mJ*eQblU>v<2R!S_D#M~Yt<mWD6cIl&>Q z7c0*pH#fJvDXY2UzK?f420pI-R;$XAAciFTx>`NEREXOC=q8YY^6N^^jSg6f>VkLu zL3a$tqBiq$>VwZ;R#lW+75KzxSe)Cv<ch_)Ju3Ubjj{H1M=<YR$$~zzD7xiMX+@y< zxh323DmYE&eQAMG_vt?Ibz8$-3z6(Yi;<s26o_T7(!2F>X3l!6{Tmc^kfCS8dv^yU zXqQrhiZ6f1p$&<!);RSSDKIVo9wXtn$CcI3$t%zQrgA1!)c=f}l$BY60Ll3)a+0mL zZv%UKU~N4S1`7_O@`cuBi49f7Eu++{+Y|LCe~XQnK@C`K2O|N8)_z}(TB^<8bQPd| z_O0}8UG%Tia8FVV+()9@{gwD*ArHuIqe<v9<42O;S`5|_{v1<T6mfl4wmn(Sn6Qi# z_j^L?1yx0^iNOoJkp)cJMI^NuAvqvcRa7|JsP*xrh1XIpvOQsm0ffKtiM4^+)S0p# zSTlfeVSjLwPGT(kz9}{ejao775Pl}<iW-?QcjApB#C0`aA;4F+i5`04-F0}043+hi z5}Lh|w?sUhVrwP)nPe|7JYa+u0*maU6DwP<S8uDcBPg(n)B>xN2bA-15ztMe35R2= zSh6~-Tx`VF$zsVv2Or~CP>eXryigdrvNWTzJ18nM!Y|M*U+9Rdf+KLc!G7vw38aYM ziGU_@j`ZyK5GB)~z4s7-tfAnrb-PBKdxcVCw7e~-UQ7{W+rpyRf!Usj7yX4(73XN% zSY@wtt-NUYDKd2xHoVI6bd;AS>?1N<L_+no?VVr9;V)Ppp;XsbJ`=qF%C)`}Scq{d zjQFs1K)tCVn9%~6V)LuL45T_;83KB)>}L};^j{tyJaH<w*Y)+KLfe*Dah-B!Q106n z(8{PV=u0TaY`E7;lq%er?!<qCp=~1rL;F~5TJrv|w;ry0<)n<tt|&=mfkI#CGgk#Z zM;f<=jaxmK!7~J}kDjIQ+FjQkTp8_2Pl>208sj9o>B+CmQ!_7Va0x|f%b)-I`Ot&G z)APZ_Q}TR}U8>~y@D^B5^WjCw7%Bc?pZI+Eu|JN|`F#BDe7FfKkWi6$XMnUnZ&65_ z6aGi@VHA1o`7oU9YCfDT5C3vLv?m762wU<JDZYwk{^6W>bCP%>?SWS%VbiK3%sL&m z>A2H+4(q7A!=~l(I4z%R({dkZ8E=@R_1~uF%l`pA6VWz_p0jOYPf+edNt8Q?PE=>b zDYq+NYtHRRqnc{X)+nA)nzn>!y>G{fcKg+eXg?GZ`%_<Rz>rbrZm$u3lvrLlWdd=} zW#K5;%}B*I%SerQqb3d19FEhQ55tD<%E=CWdwik8&^JMtMd}Y231$WF2o9A6jR8z) zU3R7-a^iY+rIp~TQG%03vs9E+Me06m3*19$?u_ry35k1BPWLCa`TZg$ChY%Bt>GMC z8unLk#-jN$8cE|}Pjb(aTUi_kr^?-7>;+vZ<z=l%;)F%Qf>{;`k*yIrTy+Mle))Hg z2o6HVN9c`afJXR9MR@T=M+<#$)k>rGJw=A`#iz2LOf)nJwaZ?brS?+`8U_DqX}XtM z5f%$YSbRY3U{|r{p2rggpZ3A<YSgha6h279-qVgkRz@KuFSgi}<Zb)ZsJfU`m}ZM; zWKUYd6u7E8MtFjJN?fQ$#|FeZ7TyE#S;{X;^I*8F5#BG|2(=?~i7`O6&xo=lw{|%q zmc*i5cB$2o)GVc$VXu~0WjX%(TXSU6VpU!&q4U@U9l21*(WsU6#=+~hw;(Zdzm3{Q zq%pkofik7Fc977E5%vmL_o~MAdV%FrL<5GXEc{7;ILWA*1Ie_K0y6V2piW(3*hO;G zt#X`TlUqwSk>c}v<v2O^kc@|nJ>F+iycZu;##r{l69wV`J5~Zww0F{SAqxOLE1^zq zsrI@Q-Jehfkk3w^Uw8OSaY$fh{eF{Tg*QHshFK_SeobM1VXxBb$JHXwF}-GXnqG*X zP-AceQh`R-by!PCz|6SDr{-~Rd32DtpPz{Kb*n5K>cdjXfe&dMla={?(oBmBlsdk< zTZ!A6AKV^?_w$Vk-e>RsSMZkoD|n%VSnHXYr-S;&{{U1SZ$AmXTOEEiMS(Y>C*b`H zel_l2@~gp6ck2z^I<cyi{|>8)BT)O3imtLCNj!ZbovYtU2gVwSp;9asj>?5@=21dm zH9|Mz>;!F(c6lRHky)o>-@bokC^o>T^N1T%q|5d-o)q7$MJxQS4Y7mR!HiIZTCwuM zZbCdE>*B#<%eoiA%k<iwE1V8rKM|R%8zrAj?IIhU+Q4!l6DOAalqbHBr_x}8*j?69 zO2JZ?_j_80Fz-bWlOD-YeOSRJD;7il!BjJhw&+73mzYE{KXFtlO(UPo(VOHUQv8t9 zqICrcPOTf5scLyMYHO)j&N&foSaV@wbr)x^k1uQAlxjZmy`-*4mX3AyiXY3~WoNlU z!MLYY-DD@RNb^as-V#9Q$;W^#3-XEexKVEh2M#b-B!Fp`yrC=U+Vg@&-QV|#C!qRU zn<e`k>hmf-%l;PXio(eODp%~$2+L6Tnm#8s0H&$VY|<?!75k(ZwZD^gP%`tpJ@8J0 zQ>%BIZ5PT*q_~fCkh&PF_VF4A*Q;!mum&*QS7n3UBIi~T!sC=c3=ZAZ2RHygBTDO$ zq4*D8sqmZ(o7Gt*Bw)}`QoLG^wo=w!kBo3nUOaL%T7>xFJh3KWIqxECQXgJfjyhP5 zen&R79Bp+3o3_11RUN4y7VC3M<x|!|-t;aTYPDCRu9Ys?SbGu7+E^2zt`o*?k%eU{ zQ%3hzku{48JCfTf;*=|aUa^akg(b_y%ZZ7j(~a6T)!{K0gF&^wiGHh`wSonzKC1D? zvUj7|!9t0qL;1*<v_$3~YR|5)NWVh+`=vUB9hpIItc}m0|8U3QXe5Wb>2nU2FeqSe zNo9uh7b&G_8Y7duM2decrFmpbb199A`yg*>3fW8C38VH++1j<6o7XkIJbh6TZ|)kY zEvcz-^6oTsiM&LLx2=wo&#RP_rFgJ>5%R4)hjlPsKxqS!;;-R13O1HG{H8?XkBzvW zqK>p70>U%Et_6hO%M;V;GZ{mB>I#CsFYVG0U34cPe%#L88~oT4{~?mxRj10?hqH@| zK-;wo9cJ26JXL`m`~j_CVSfZaFNW*-<jh|-#oKy!oEpt5q<?`+Vv`0&<JF32eXdk1 z)(-Z^$*Dky8+sklI?-{$Txez_ARUq($+*U{@6xTjLjd8@zz}|?2S+<uePrd5Nez88 z+ezlEU-7e21FH-*Tu2R3F8izGe5Vel(uc_q%Pz)NCSxQHPzlZ;l>~2A{B*c{h!oFF zpm+aOx=5)iQpsY=*$Ckb?JzV|Y4i0u$1s({W-sr{*GTcj;Lchl&%z?s>BP)L?P0t2 zPvwg<3xBV&DW2oMOV_PRYHS&`H`0)`kW2}Yi2YvMY7;1@p18%P1i{%KJSWLwQ;Ag# zp_yZ3;+m>9Hr9eO@=fB#Xl(>gv~Z&}(@?~BqqUL@4ky$4gXnKJJF>Me&c~3gZ9djp z$<}fC%VB7hdOtOZnW_C$#mLltsxmtOM(`46Xk{7NoEj&rX~oRw&RYnIvKnt><8=>? zC^uT;K1)W;cl8|{*x2_u4^i3(i%Q|I{}BfvD>=XXxe+=Bf8zjO(P&>}9umWkkQgRD zUNq>QK1M_HYpcF~Bh7e{1Hv+!<D$oxycl(_QWJSsh1&ZWb?Ta~NUwKaXJ;yYBG;yN zJU5C@u8Pm8>Y`r|sX?gnDdDqBcJU9;DG!t44iSZ=b{bQ|#t4g_yhMsONhRcf;ESk4 z1pEGcdC6tnAT`<K5*B|ba#uS|G69oL?Zif;P}V`Vz&1`YYVqaMD;?M}q!P^xLAT2~ zAzaRB!IBqaWg{LU+wWxet-gp;%e`_M>3sd@rs&T=E{Y3tW{?K_={N1(6MZq3T@`QS zN$R1yQ;pg@4fFn$WE5MeH9XNHd=6lMP8G52l6d)BDeo^lY=j;pHyd~({YI_mw7$^# zRQ3$nl+vcp*5~&iZ19W-GMMjjmY?7|)8#C;5&n%dCDZjqd0-9;5P}cu=aRqxosC<I zbuBNdQpGrL{E8%XYkblu|0y=qVY822;b2lGlT>0Jaz^<%Nm1s%z}<26`A#)+*~e>? zSsI7@i;o=0YbQV^D$2A%ZA)T60y1U(DhLAI5XVs37Wxt|e_F=tw)HF|sc_><uHdEC zuagQA)4TZl0<>o02MRUNoq0GnfpsP!nRu<6m~@u=w7OP6|MoKVs8bjAH`cS`(s{92 zyv*r6S8zm}mNKM@Nb%xC$y=O~b@5Ce3&tYFv&h5^fRW-WPT7c71a&b5q;t#~;gnBl zgey2&Lzw*ax6Akzukc}A;caik;XO2#B_ts3Tyl{@;BtZb0OPJFW{2X}di4@=9GfWk z5(RZ8xoH4$o)&O=rzrPl-^PjJ!Fbj`OMSF316!Rg{A)>3QgA&_EVUMgBb3A<?Y$wD z=s|MFE4fWF=s7C8s@62#ZU3l*JrkEMC0;n|g%Q49sJec-y=Jsj4uJBm4a%7*p*$9G zZ(&PCX7qA4dkb4CN2!(Kd~akv+>t3&_+I4=RYe7*K`vp^D~i_av2`tfmEpNd%_-5& zBrdZ(Im9N=M@CpL*Y{uU@N}bgEMf`vqF|BLB$S{9|HB^&sdI8vB+!kFl^lTPsvj8m z-vxROk_<%PYUEkMG5p46INS&oDUN;vs>D4=(MG?drZx*VlA|ho<m+t+!Z_B=lCyFA z+=f#*ALlwB=gZpyVB%EEY<}gR1QD&`uUxRbgugBUxOLB38M-2@IIP9u9f=OYE|MSD zQr8wa$s}SrlQuXnx>#6`5=s@C41q{k&j@*7n;#5n*3*>)LJgZVLPzB@w_D4b+-@yR zD@DmG?M;>2txp-@6f*g_o->W^&{}{E0NgfUxW;8NKZ4(r2$xb+;3>fY6pvRlsaZzW zjNG|K7WcABh+#}m+;AW_A}AjLxTYJf837McXAVG45g@_5M)1pHr1AhkTC5*y!a{G@ z7LXColZ*fbOL~Z0dKD)sfXb%!0B&Yi<--+X5Gj82$6|5##PRRzZ2$k^>Gpr!JbNoU z=vY{0Qg?iEh3N&<G?&_gui<B46ClxriU%(T92rmI5sprPvs}ndZAk<NaP&~`7ue;3 z&0@@DPsiSk=*w<IkUN@nCQA&CP7BiEXFK9k{jsDLu9a-aD%ESBq4l`I=zG?6a>ylV zio7S~^(?<JseHDSkFUikRvPbEzUJPEH>mklv{%7lJxaAVzyOpBu{WZxKo|PXY8|&) z=+nLwJut!vek<hg1OR#Kx#!)r*_V&QPCByg;b2kpIlIOTY9yAM+r@hcBsVfw>F2@B z^1>rV_z(*WCrsr&b(khgX$8nvC<YnB8^j6ekiGrIt(qKcMI;bmN1ci|1#R+?9*7`w z1<BS5S+F1;S<g1L$8j;`QfIW{3zO|daymu{a#@_dOuU1#U%oZ&FKM71boK~J-tWy( zqVzbW?8?SilGlO}`j`Yf7sdxK@N+^<d;!!|X@^M0HOycabdO*#GQp9pC2kr8IJ75Y zZC{|m;G=8h9o7`uAj4^oy7aX6Z*jW3{Sv)$|59a16J8Ac&DYzHf1_gz`%mtW?MIs+ z*?!Dm`>~$<r*A*Tr-<5qR4X;pWX%^EhyvY$Op}+R_>BpGbu8)Tx{?&VL!A@fp?179 zlJ*0{{|WyLIjtG@&zSIU`Dav7<aGax`JB<xK9+xq-kRidF;h07r`iq|TI#MAtZJ7g z@xAyLP8Wk@H9XCc$;ySylHHg}zw5?y%?ZMRMT+wo6~~R~?NN%yol&wZ)!Iw7j7!38 z>CL1im<`ZIzB~NkZ#--LDQP_>o(sm-)_bA#S6oHh^ss@UFxSBXe?8ZBxWKPFst!EI z4WeRE&9jG21UO%PZ?yw6NIg%$);)m>_w-(*Yrat{`U(p=H-&ML+I2Z4C)T-eS7&PJ z7>e|7&MRW!hkXVvvt$qCwEZ4gl$L^EXEyJBNo7|mKI@S*OHi7?Lgn~<qP6HfVKFR$ z*!a}2e8)=1opdY=FaYs)h5^K~Z@EPi`vwZwJ6}e)A79m)0f^C;Z4iy{H(=5d;|Ksq z!@;_Ei3dp~^TTAex%<$I;TLP76{^>FIGbwUC(|H$VP`sdks8xU(Mf7aR#+lDS3f}# z9uLL&QlDr6(LRzSlJezW##z!Elon^1AeXR-zQQ$q^D=B#l;j{AuehR7*`HG5uYGS4 zg4o~0LM*{jmAeI@79}=IC+oEbozop_^kDFISGVgKP(^EHkqN6fP&(GAdxw$mM|wT? zyeDM}if6g2*-b2{!jqMwv1!i>+9y&`C~Sr!#w7E_I2OLVFmC=T7ii2q9<+s<>5@It zmrJS=OE2I_#M0pkYAp&&Z7G6Ntv>#DqP7@fU1H60S%-NSH^Z=){orSo55b_sXy6*x zJ*_uGJ<*>D)Mo<q?ZIqEw3Lrc$c&a8!dAsScJVo&N+oEolbGd~`lNwR?HpT4h^tW_ zv_PNAvMds%W`43Xrf(6tl@K6uKweZ6Bm9wo&LydfZJZh5uVqe0if<OY(R%_rOBP4D ztm;&^gb-3%MC&teQwsJy+RLFX&i({1Fk9^NL!5^#mgBG$1MO3}jL)JR^S#y???dO+ z(p=JbtvVK`JI~1Ycqwall2lOdAm9ue0S^fRbTvkJtnR{;zha+iO8%hCmyzN+KG-v3 z?*$xnS?<yV5dK#BTR;hAPgQiJwj^fI3Ru#y1VB#53pN>8ljMujt`0L=oR_G+x>NPz z$!u+7Fykevq<EzGgw)3)(%O_xB}D1Bo=7h7i7v4=QDR7^62f4udC4Wz3p^uHB6@yO zr)%A0w*35nhvbpi{ahTV*C=4mk$#dfbZT1Q+~mB!I>M+yCv@OviM$5|R%d(m0NS5j z#}<K6IZDB7WLj;K;#wA*k|_R+6xV~U%;CS{{WKVV4lA$`cSfS%UAo=Y>3dX@&?R<7 zNplA3=kkIZ6s4p0pH}6*XX90_$&Yti!sp5ay=8x*N~O(<f`4AT;>&c!k0t7OfI37} z->s&KZ9p}2wqPRLEIZrZgaVK9BTzZ0+x>AIb!x|3`xM>o2u9j9JAP1MQdX#ax)B~q z8=>}Vjqo3-Ez~~4s9m1`As|-iw!g%Cx+_nh3>HckhkT@_a&V;OhY>lWEQ<M=4n=4a ziMH?mo}#v&AC@=e<(Gs}v7G-h(aulEtcW0pqPVA3=7N4*#Ri@cegF%79G4aH5-Hx8 zD19lVt*Oa*S|KX({Pb{~ehk$UBm6dBtT~Ae7~ykteQlrFq#Av}>6-|q0T~NsJ{0`- z^YoDANok;b?nC|x4Gl=HZj!uUP?U0XgL049<&MIBtdV@~WS`LfmPkX6*KjL^%rE5n zTGnHXVB=l>ND*-vKOwx`IUJxcLL&6xao_X2$&vJ&a>N@?#LWSwwK#Khuh_*4+iLAy zE4Ea1%nr^`rD7X7ykyh~qmhLiiFp7gFfQellkZAJKG6DYv+hn<P8F7mq+-qxdjrc! z2Pulxt61)TkMB;YYoDzT`RWK5GHd$_CiSfSuXE!wMS`3=a)S7PT2Cd48DZt`A1U7Y z=Q!!zOi^~Rs>mh4h~gcj@~Gqxyeh4}(5XLoqwa-D9Zo7#>vf-)FgiUru4)ZuxdvBq zrftou+L+x`c{Qe66s2DCp(3%@^4M#pw&JQP_Kt7}GW9#os_dZeyH*a%FT$T);+Yly z=bx0ib>nq$b?b?O)733o{?QH*TK;uL{QEKv|6;uR^8Mc&Z=?28aFaad?VZP5%+`## z`@~w-`&Y^93w?5GN@V1DDms!_fCfrD(;PAU<nb9!%Sl>6xHm!+*G~RW%z*`e<P@;% zJXahmmhkJrAKHUugoR~^)7Clsjb*oe&+)7l3HIM;j95*rgQa#=?R|-wo~I@x+Z!B` z6RGqMR-EL{&9$Y{!enZT<~!MQ$bJXorIrU6R+6MjoZ{gyExGBlQ~DY-&Y`nJFZmP= z<>@a{Q&g9^JeID6+Rqd38SQPY6#d{TnJZbXH~qnZzQrn5Tw!r;5vNN=Kdbz~Jy@WW znXE`m4$;Bd9sEeb9bD<Ga;vv;3E!LK68?CyOL$l168;wIevc_}_wKzoE~sNjmroZ; z-Fl5psn<Uxl-lchaze)UPKM;o{dTm7H$ZH%i6BW|(??<ned&cWsZ+7H|F=}cc7l6_ z$o{eHk9_Q?V3Xud`U%S9qE7i@eIl(SW<1g;#=uz;$nO>jZ8lfTER>($TKgyX4$1Q+ z!vYaR1J_t{AX7P7JKrC{R;cwyrDlEJ`YGts`6cTiIB+mqAE=F&?_-@yd1+guS|#0? zo8(M;Xm!^B=Y!k5`7L*2$LhE0f!?6u^=ZU}n3_RUspH(~j(<Tkhn%UzQy|EKc`9;$ zV<^_GqGxEmMBy?*o9M5KJ^D)?jD|~)xEJ)}M4HZ5xf8c7wf|<eg$_!*t*cdNCNAXN zbN4g6j#m*J+=MwV%WNj~XvHWA86P^>t?8hSKYxJW4(l^dX_pQ>-$JX?b=^j20pt*^ zAtkNpAc2_LJ?47n)A#sf-6nL#NxT03!j8(b^+CIIln0-=g^lCLh4cSFz;ZN?HQ>jn zJ;cxvf-tS}Tz*pta3!hB(~57HEMEh>xy2ntY?4;Bbar{#nAtb*w_#Fh=-A{rnN3{T zVdoEA`>HIHDxzV{nG~(Qa`x;SCL6Uqc~&wYpSl<|V#%&rB=OhI1g`SP559>Oss&a` zR*a}xl*Xs!0LG_pqi0twk_bc<`u&vR{LxI{aj%lrysnQ}1JBj|kHjJk7*$1Gq0182 z!ef?N$HZJ77SJ1d6JV2r0P|etrsyr^rqKSOM#KFsB56nfnhS^nDg(}_WVTEEnM=u; zZZu4`!_P|~JVMYkWp0f&N(d%G(qx{D4pM-Kd~1o-j}K{0`w1T-(Xp^d%>;LL=(O4& z@JtWWD$ewq9fGsj(+Hg7tGaTUQM;N7WPrGCHkKO9)i~!%aFEeZ>MD|z8jZ^zxz**{ zu#R?Oc<M$jeEM-2%EN$wYo3pssgm;|oiml3h#R;iZAph6UATbE1t-|j9bE4Ew%~*y zjPs!D0{63Hn643aR99A3(8$qGlPg3yiOLQ0<>oxDM7bF`<NiEiK@u5y!dUV8OPo-* z@1CcXzO=$A$~5Ca@gq^x!j6H_Fg-PNe44n@WfHOXOTmP>#S-TNbvQ%T8;)su*v{ZT z{^rQv_yQ#Bk4g}3gN5$Xo!WYLCwN!tti;2?^opElQZ?uCj0S)1fTn#}#_}1t*_m<? zR1U16k2iCx@T7rU+mhkUl;hk+sFs?MkO!o%DjHn5=(ubMAotLaL~!9yKG}_ak_HrN zIXoSjnKm>ZL5`<E^R?jM--briNHJs(X4jYBVmv4dwGz{QF3P;Mn))@(TiqB~km<{B zRcud=a@Ou34<l!l>Tj#$kWXYhaf}FMQj3+%Z*JuHE9b1&3F&$=-)H=tsD8Keo!GRV z$TW2mg%NsE(BFplS(DpXy2fXeZ1kYLyPA!MSC@r%8?~b;z%357Bc<ZPbw+qN4{)|? zaktyX9E+_Z97psCewbvWe-8#IVQl3tj(Zt(lFDI%63JF#cJ1QJ(F)0UE%C0`r8^fs z?6V`?ZgOXCi$2d6nOyEnE?e7Vl~9dv{z1gLkhxZCkYHK#p4N#65;&*;`za1j0#|t3 z!h_~k9aUFDBa!lorAZqQ6;fB=xJ<wZ?d#UG4`xi@sr@kHZJC=KWQ`RUDu9eWs&Kgv zT<(IQJfy(e2Y8$4whAVe>!SKr>m~{?riA=#C{2?Y+8rWgE~ha=K^t+!1jbtB3Fg|t z(INBO_^^iar9+WkuRZ3G7?Ok_6z$Cy>7VC*`68cbfo{WmT1a@P2jhgfwQ8TBaTk_k zLJ1yJD8Jjsn@{mJ7+8nG^%No?NQAVHiIDbjUjn2_I5j|*sKQQ1J5ZDeI+E^=T)ijM zF{tvI=-s?(Y-N63X1?!y7#sZ_9|-I4F@c76xy?<^hoMnVC;xej+O)gP{#<b$@P_v7 z2{o-E{!PUolGlei&b{Y6@2Usr(fvY$#*<qr2lxuN8sQ%S4TXuFylvrft1o!tLX~Rn zNBO354|EUj`PHLXb;e6JUd_$c<vg;sck|iNp`sPMSyzj|vq#0+BL0Wh7LrbS?I=-v z<K%ZN`wz~S)(Q5PC<{Vy@82rvX?K~Do<5+I9J-!wAG%(w)B##~OA4vwNi_w-$A06~ zxKc_<8^unFUs|`bt1rWyFVmzVSze;cn6F|wEs>2H@#<=0KS=MlUXXBZWD_$-HZi#| zN-oRd(ku=xbADNZi-gve;4QQv4eFzP`#s@IMg3m6kEy#IDEUPf=j9XEPgJInAoowi zMvUPIlcG1dzpMJQ->CYOR7iQP$r0l?<3#CbPUs=z!7&l7Xq1O6g2>W3!PULyUZYk7 zDA|ae#mVWnAA{6+zJ=!-7&Lj-Y!{MOg-iGg!X-Q3MoE2R)wjr)jUE{aVcU#H4src4 zO^Z00Atsi0D5hdvi}@WjAdgW-US+iG-PmxeR9wAQx}q-cVuyQ)YOBjw1(kj2I1T0~ z^zoooA|6V}$nJO!zcNw+nwQ<escH1%VKvqQFd1*ru&M=yO?Bt~7M+^dl%6Yj<p2~N z8gr~Psb90WKRnSdwxN;p&LmS0xWjAxRonEdEB!+G?HWCUZH-=BW}nnA&f1*?5=Mc9 zu?h*hIP0980q0Jp5gcddctzs-CQAFDbmisLAIttPrAIjX)9OBeofLSDLqWvLuBWyH zMJ+AZXt*%??$7aNws1fw1qX+;f<~^)<8qNmmw7gB@N9)Hbbq^Sr7MELfyT^6xhE!v z?p-SxWo%>FcPOpKIj=^2P}otf36p~)@5Qpkk2NWtPbd9lg~CsOsQ%`u`c>bsmUBH@ zs!_L)LGzn`%YBCLYWpYA0q+m@Jkd+!(A=}j>fczIl@Ff<tb7JneoEv=A5u}nO9d&f zRrQqW4oc*>&3GXBs$;|Gnh|=PW|SjG9l3mw^s~KPBx}LOr2Rx3@G=038^wyr9rL`A zBj+p%w*(J(2*H$#<v!1YtHVfMMxifZQcutIpf!&5@K(gX5<y*t2N}oXf%s(th`t4W zz%V6e@MRVWH$^X#{TKwjZHR(I&PUWK*hr)tg0<nVBH|BB6cIyS2zxDuKMLThyGtV@ z&qP?8>*W&h7wO3O$jI4|q904oDRd_nV$O?<97m4%k)lQV32&m2xsk>9rRdiM?!@zA z@-L9&=W?s4K|(oYIA5R34U<HMdvykxj=U|@Z{pw^e_3jm%}SINYiOkCew|rnb-W&l z5kjl37(IA`X9;KIN(qcDbA6PiZ+rK+zVM`t%q?@Zx?MXxX_&yuTw6V^jUHE18oMQ~ z<E|E0v*?v|)8GYVwKyAS>fz+rYs>{BoKE_jl@c#DI>vn4WA13%;Wl2|>zWhV!IHKr zW-Q-Q-BCg&BeYbqa>?xClnm&mknJzA({s-q`<6s%dFUJ=k~w8e^!-HLWby7G`ue35 zVvygs#q2n-%V?0x0`!%1zU{4LksDkd^QJd$DI3<pZke#8$^jGWJ+&$B?XA%VI<3cM z2cyiX^7M+SZu4t*)yLoPo<xrxb9?AxSJTI-6C&wr)Jv)-b4?jhSesh8oolblow<|b zrf3@3$W!WWI+RWnnQwyYs`jM?`j(m8`1Y}DqI}tU=+wsG=QP%%@+#npvD_JTJy^!g zj;4K?nVZ}yWRBV4+rH0ZHfjAC#Ps+3T@pA=`cZMj5(i^GSMQVZTs+?24{o*v`kKc8 zDHH7UG-`fIp6DRTj>cPoI8w(GpYD?4ktttA^VRz0i;P~(J>`P>IcD$3PfoeFwwhZI zV5sgCC;Q6C?rz(r$Iczvmf|y3oivuWRiDy>w+i|J2t9ZTkmqH%w?>z1_}%p@h0kyf zumDyQxGF~7Dg`yrsQEqe2{xM;9NxAskHql-_O&AAEN;_enhxAhB39HCQhG+&bn2AS z-B{i@B4sG{r)FXC!rl^2HCQ&Y&t^%qt+3mbF_N^^(irh%;N+{Ew2vfBI)wkallF2V z?blA)JW0!eIx)1yvh(^VSmS&1!cP+C(?Xx2CT=M=*V^VH^KEbbd)~H>Bw}KI3*nE} z6Y~&#tvA(ivY(6O)&rE>R^9Y@D#(+$FVkR$e^|_0xW@>EfR6}gM(80PxMT&9HvKC1 zlJwr{Ld(wCBs6~EP9wC0tad(6Z&&Ax)ly%?ovJb_$5~yWr*~@Sj1TCHX)0qlxkgl# zrgX_1BYN*OP_mD}=zepxJM@Vx{g?iyC*|r}M?XPy#@GS>FygblZ-iz^ZFHkXpQOls z6r6H7h6+q@5&jhzlSL`LKzM*MUCH7>)NPG~t(2Cl6hiw6RroI6N=A*GiSiYGXw*&N zK`i@OJ}xDu*MZ&)(xlO>K#^+^l@&-&JQ4><f}|cu!tYzsj^OtI56Q@NAa9opczhM^ zs#pjixsw17;%NZjiNRXxRQ5ur$|Co=oZ);$aya88+73;QW;{o8W#Q^nr_H}fE>sQ$ z*ebiOGt{Vu){cr(`x=F_W$04i4AaB2JZYl(2@_ZjSHiBmkwxEdSz{W`NJjWkshDGL zbx){=kGPXkJ!~;*6fpIp&wzdO7Q34s<mTWSE0@aXx#5-}Bap=Xh+^t8lWdiu2l0na z;y@?cOef`Rm4d53Wyd>-!<=lRoRssDvYqK9p6_JKbW%noWfT7efuzf&BwAw80M40C zk@xJc*-twuYn_xyDnS10jTNr{g-H5ZboE?i#fRPsRQ{JLLvIQjoeWy4y`l;_UY zX-;OHu3Id25+538qx1qhrTC{;iP3trQiJH%BBwU0GT0DRXrH4J5&XdCqdjd5xG5M{ zIv7(h(dEYvYnd|3mMPgU7?ZCGqeczHZCX_~Q~|*~HQdAXY@VIiokZMpR2!G6HWJd| zoTXEJ<~DEsCjYQaJ_s*(J8r?ogP+r=Umi~KAeN=^OVS6ZO}t^vcybw`FG=@Bu7*dk zlP4Q%Wa_pg-O!Z3Ngc;jd6)?*!rM1V70tr!yv3j2QqhGgZYsw43Y+h_f*86?5dxL? z3%6B{A(Wa?Bb&+u95QMS^B|_`x)Um;#i;87R(!6LUf0R!WrT8@WlfOnPbq{PL}weh zBhIK%8_|Vi7elV9>3kk2L{W8T+k0@jS+NnB+2{|EF2@z}7;Xk=4sHhuqhBfH?TBU1 za8kZj*@%KT-brzlC<YkI9%ZL=>84V2RcAWcx|2w=vFuDcrTF=!qNZeD!-ti_>02!O zqBHDvuT`08CEQ)7^t#chb3Fm%*vDmiP(fI#(l_`;cbI8sE}pJy{wuKBHNQhARsL6W zk2r4=%dWF4>GgZvDY<A_DmUzUvL&56j_|Y1l;Y?=o%E4b84%?1Sw8a%4^F6gf?p&_ zSz*g$71^Io>;yS=(CT8rT;pzg-#cixzwm9N?i!+ecr)3QnvOGOi+9*gqxLG2{N^LM z%`)ERZ*!GQjEK8ewL;iek@2VcBcr>+X`i*uhX(3Hdl63D_4Tdl&+9!=Z)EC_k&Wk2 zx_Tv85rTbx_lZVViSft=UnG>H(!;q=P&2P0pNd1cXan+fuzr1pR}aY|Zc{jQMJiP6 zelwNMc??hM3f@wb#AkS#Y4ElcDWtqA6etM~<%)n$b&cog>O{KXH4AM_8r!K~tL)bn zUQ1G9B~@EoB}*3PP9jLG>t{0O17gd4B)3trvpivT80$ef@!0yS+x*P^GR3|fXw+Rb zL@h#VIk*(^x^~9)DosyYFO(4G+YtH;M9F{d4WTc21Xy`Y0U`1zR_IAYBKmV&e&ORl zKKA3I*E~Rgz}7pCu^^$ojm5*1Q#Z9!IBbSmm*u|lb;((|Sxgq*dLkv8C!<9CJMJ+L z<G`01+=@}X@?wAC@xUQAoV?o)h~SaQ(fjn=P*a8s8TMdvhvW^s6Ma(4pQ1)I9m4q2 zpG@CMrckV(5&9clMZ<sl_vk7OJ&oLM?j_+Kf@wAtMN!0mb2j1(;%0`~RJE_0cl*fP z(B5`FWr(IuZ}83NVyzTmddY35q7aB=mH^1~Ez3NKG10qWJ$1wgo(QaM?}>)mvkZH3 zXkS{nxt$AHqCJ<En_qfN>qJv(@N#oq{<mmDy-|`2zYH9}($_!NZ1Qd2k5@x^=KB({ zIMkRSAQWsQP(M{rEU;02UbOn0B~xavzdjdrm|n6wA^Xdt{3_;ix)FMZdc_?rPyE7j z_;(xkFZVX;?m`qsW<WR?(o&CKF+CY&gdQf<W9}UxI)>X=RaDB(!jiwA!3ZzkP@IAc zX4HJeThozDcVUMSnlu3G(kCP+JfJT6>wD(XSQZg%_m1;zXjFKhFMEA$E#)RLCBKel zDgC3InXmhQnYo?2szTEs=<>oZRR4RJThWDlu{GtHTm5Fw+|cR_amSGE@1Yjyx%zqD z@-gR5YrE&aXuE%$KEKocF(&i>wEaI@8wW|LHY0onfWTe|6uQA}s@WpG!oR}2tv+{^ z&-K5QS!8Z)veF@3%>Ul{H#FDUenf8WHbO@;n)YW<&E-^+dEEcQ)wNmUGkmxXy3MU+ z`AzPvc<MH}DPLwb6KJ@Lq`9_oPtE=u4|_eeu~pD_%9{)xyyS>`g*<rbA5sj~eFA&7 zQP#>fRM`=?`N~mX387M#9<h#~jwy2X*8f&97=Qg!xx!hZ+2~(`jO81R<*k{U)wF$? z-Ie5-+E>rFr1`q@e>7kJ^3Ue0T+HQioAvF$xwSR4Hx0asN;wDK$?Erj375Myy@nm@ z*j}Jax2}cQoJmSTh9!4tVVs0P<<J+O8B$iPye{)!z~0NU^CGE6pQ<YLr)0j-r{os? zP32z+|F9vK<nRw0GO_!*Orns{r<5F}<R~RaDLG2XQA&<9?}~2re?H+O6gZy(Zle!u zbVY{!A0Ye&GUwwE8-!<c+tP;3CQI?bS8S5wr%K1Q?t|IDLb5d0`{&9XXXHK(e`BXk z_*=X1H*<q~$=|L#3sy>e48_XSc(rDVn+A;F69^nz%5^N(XtB}3%HS8*VR7Pc_-%8j zBct+he_@;O+X3F~`{ks1CQ)IfsW`vII`*Doxm%;Z1|Fz9Aoq3}P%hCRmOON+KvJ;L zx{E<5U=NL(huW+=<fTz;b2;8ZR%U{Z;vtch67f`}zA08*=+g+_!j(Fr@so#*N27Ks z@7DWpnR4#@fmeoi^DG(IlU*zOjyb;kZ^{cl;~s%eVQ|C`{){UIKIQT~uZvsoZe)&n zxlXw5HhGZ4QEY*zo6{!t5FL>_n95xTeX%Wo&bDy5G2xUa|5MgVj>2^ndwq^|5nJ%W z)@YL@iYxK1Cc3Tgcf{kO-24_{&b|$tvO)XWz8||u*|4oFGvEJ>htm<ud%7{9m6{JJ z`ire+X=a^KgEJ|E!8w&?gv=g*_G%X}Apb;QnJboXEI&jpKRUjCMwoz79p$Wy_IxW( ztdGl(RYP~ubU91pLB`+;BEW5@L#zFnXd6ZG)q^3}K`m<3-m(@^LQQ&^>`%}T5xCw= z8D4I-8_U;cww9Y4WdEQV2*Gd`%u8mEyFS#PKdzR-4V8B)Y=qhkBP6yAE=lp{cd!GF zbugWGZcxuPw>svkRpCh`#I7o1zjnzHzGBg9#<ZnYl;Qk}p~|DKLIo154=J7Lvv7k^ zdl=SJeNx+$zg8rmEwL&v(jp{Hp^35eO9eu&lTm1;{zZX3l70zlL7gmD#Tx;^sQX+h z$v?^|N29ibXTR%!uw<E(vF!6zg~%(hdSx-kK!X(X6mc1R=58*EiVXQpm=hw6M)(6J zs5J|RjwJh`^gc?Y?d1bxF!p<U^w0H$HgHHt7V|8jmw$wt1qK$rCM(ljy*CDg(E=5_ zTG^M{FdaR)$sKCpN{aSzg15Tck*+2htHPxv!vVMn+%DKT2iGo%%vB&7`}RZ9UVgJQ z=i#TPn+W`s=T*m4_d|I^B`sSLzEZ^6xctNT6UwneEDG!~^oAsIq?8d>hl$nI39_n) zSzVDR-9}<)B;deNy{RyQTI)UGJTmmBbPww<)D>#)Q8DgSh&;uXKO;ZEyeM5d-l<F9 zCU;4Q#eA2J#F~hrzIhG~Fv4bTLPF{$0@B{{$P|}9bG3Am{d&w5iaUkcyWVq=+?NFs z0aas2)82xMv03urq!3=kZJOwsDsIGJXEs}R&{Vm3wEj6If?Hp)c+0gJ#qQSxaIDJ$ zvfp^}{Z1fX4akaN$A<#A7e4Qft@addtwdyTDlA9o4L?DpOwoHd!~!)SA7&o64uT*k z7j~0fj7gr6z4=R71YmHQyI~s-zs@$3@!(M!6ZSc4NqV6QAOiC%S=Q6KkOFEtLUu@X z$ak+XapO}mRpdSlhzyoPc1U+`Op+}gk?<@&D9gOyMKz2XOa;h!Vwa!CqZK1heBoEH znFO#t744(sIh<oXT>pMzLu&9+)(<0e9=yw6cp`8>E)dziR}R8uwj|5!Od|{!tEEU_ zv-*9(nu+*%TE9n-WIVW1dXJLP^YqRur#t0^_a+&UdRn>YBa1)QU`|T`CKri&a!1Kl zQI=gZJ9=}L$|W**nuG&rAzt%c?*%iEnUR#1QVB*4j~T`4iSD^mMt}ulJvT?mRf^^Y zpSiQOH%Iw7+K9s((*>EFA#mq^DEd`a@M&?J$x##`t$JV-cU7@H|I_2*u#V%w>mt#l z5TcX>VH1K>xfHCuJikpqoLcVMV7}e-d77v2l-nq6ixhoD{*-*Bh4}K@%Hf4|yFrN3 zPY(Ih-pFm_d+u0A?||Wm-r*gFRz5nnWZ6Jl#eRmfE$KAs2uUT&23TLBmC<IF+E{?) zu<}5M{b9|*A;a(Txn$X}>W(3bVXo&D>E*~%A`7vP%kvlZ^V}F+z^lxkKDTxw`tmwz z>dzYZAtnW5dAgfX$SSGY+}o;=7X7(B9iY+!y-SvzE#g3qQFA*VMPI_=4-&biB30=w z-oh{L$&phuTp}{u-jHVWYPzyoVhl1u-$HHp0<A#CNqLhwB7^|qPuvgU`$!**hIPuQ zJeC|yhuJD0^1gig>ZtC%ChXC<EOVmX;_!f@r$inCfwp{wWKJ!y%#&_Y<>@44)zGAp zva$dKDND9xAq|QB9_EvXF5DZb_1U+Td{tg}G;jz`Fp9zA(r|Akx6(^nwtxkpQH5Hn zTcW?6vs4&gKU=;6lFUtrR+VtZxM&sR#pz{u2Q6Ax!L`^4^SIUvv*e~S*5jKXHN=mS zWrnqess4{Y6FBt@>nY&`=1viET4mZo+iJI(BZ|xz5l)<k1;QOsD$|VcDU{90^|$?f zu39o`2T}*d=NOk8H7oiVBD0O*<&wgO#>%o|wUMrmM}ccm=#?zXEl<!3aP+mN9}zF6 zMm2bg5C9lFYaD5!Z3`JeW`1a;zoL`4j=Pkr2mJZmDciw)cRe5g_R-|jbVYZ#V=trb zCWZ-+&#vUe4$&6txfY8J4eA=j1>~?RU*=lBnVahlHRX6nW%Z2f#AlV(Vw*yjUNG2L zzD6m<YMvW4t6`JoE|%};7`1Ne<e^odC#7w>&v^3hq3tQvU+cyDrw}4M__sI87F?{U zcK3o07@aKN_Rmzq`H0N4%aYKxMoq=q37Owf%>@FjmaC2%HC}<BLm;?RL7<a|dT4)# zYJUftzPkMrjGC+gi|qDe3qCllZGYjNNZ$`W1)wr!v&Jtui;Kw0Tx}aPKz~9g7VPEW zx5G6jM(7uboQv~V;N*hBqv|p$ke;rWAPHGv-OKoKHO;Uu%3UAG9))YCQS*@)v~0QT zpx6S4dr7=sZEW*KiUt}D$CS`sF_?o|t`8&>Hgw!wF<Pc`k3~%9b2(v+%oP&dgTKE# zo4;+_6zf?wbdHF5>EwXF%|WyXx1(y+ZtS#pSf7ygT8<DUf}oh*#G4^Dh`Wx&bd}(o zXS%Cj7oqZOMb|G-3dSyi=g<|IlzJ0+gKI8Ztw;C*2euyKFHqiouWf3vvcMi7UM_Ng zh=?KyBuR(XNh&B=HrSdjRU6B@Nxsu*GfUBkwGJ+*mnnMzYrPpMRRPSxq%;_sKC}=7 zb)hz7F|`s_j8Xy_l33dg5yaS`cZlO0hd7=<n5&H~oUbIXca<r_!z6?ejnhg-<Q|t? zzyxnOO#&NRZmu?WR3Ef0NpCE2WR2&57RTugh_PDy-${Z98XZQ>W*+6*k+y#zr7Y;B zD4QBVxlP}R9SPNiO-Wr)7hDT{OBa}5(09qQ;UXHlq6|f{Xk4=FoKS3t@$*(zbyl>3 z-zQeLG4}IZyxEaIissgeZq2&ZrR=9_U0Wc0Y6ZGO%9~;x6v5*URD<~G(7p_TNMtqN zr*rU}A@>ZC#cfo*J)CN%4Uu6KJV*GA5S|cV63a<1MYJE7q%qwl^IQ}K&Vm%GnQpG> ztS^0s-wdY6Y5a!y?#|!n@R#=hKdDVI{Vm9L_={2VwaAW&wTx8_s^*gMe;R-J75V=G zf4Ne4N=VKd(DXlGE8IbYqMfI9i`?Y0v)KFuk0*bAtG8HKxlto)t%GHS;?VDeyL7NH z`OI~4%vxj8+&MyMrdYA9@HRddYjNf^5qtBx<oq@<;JNnm+}K;8kHw$VbJko&d%zMI z?Xza7@w*UVR}G<T?2G#T;BCzLe>R?I0|XG!rcksy78fF(58Dg!vEI3Mns}GQ*OoU* z^(;w7d<~33BR*dt{yUs}q~au<D4ojnJORl<+I1Par`J7}=;;mi^IYj<k#w@6E>6;Z zfqJ@HA-~((yBU{%*4uy9(KHWseg3gt_!E*}rmv8V`~}hhoKHp4*2}ob)sx}e-$0QF zQF7}&^0b!CTSJ`tlszN)D79%x8^?a3l)N}~u(@G`7NTrfhZuS+;#r~x<XGaDPPckg z6s!=jCE|tookqDM9DK^k2=n`4tkGTARQZnLev_HRK9prR-~h#r_xmylVS=a-@hQ=b z%Ddi!6tTa0zhgw7E-F^0knHjuTJ<z)#_(!0J=tA!o7~jKW*lNg5;>?j*f)voDTyL_ zxuOI09JgnGrx$04gwuI_clh4{u~KysGXy^+%X(P{K9$vKxb;4$k-wYyD=P3<x58GL zLKhlvGNV1=G^E!G!@QDBRf$;u&fZ1?B&?dsVe7nBAFO#GDXn6RQmgU2X9&uTC*Mh8 z-hXuJ)I(sHVq%G{MxSo+vyU8ZW)3p~6O|TiwG#P<HT`v&-wK5?9%^ZXB!udEiex1Q zkp2p3EQTLeIP35ipAg_?V#c@jEp}W!C44-^dS3?UFdG^|Rmd(m(SDs?nKieGw0M9$ zG#4kl0$E7ko2xrych9KpO6h{#^2uL+o5WkyoG6%G&XIxt#PRIZ04~4IXkwF~Bv0>r zX$~Q(GIo*S>ACJDugG2{7I4|56hW(}&#afNNgn%?ESr{Clw~K=nNcN1t+2+>-b{V< zt{54Y90MY@_PNK{n}5=%$pg1O^DEiduDd|+T(7qAWa7>8x=w*5c)?=1({ijKCN)1M zHPXy#+3ZtROPPA1r_}x?hvRk6jPOrMy|P-gC(-^0B2!Ye?o{+1H6U)eXEO;8(V^~_ zQ%f596*S85Fol!8Y0cT(=gB|jadog#W|-n;SNN7ux+~K2Lt076-^6-}O#W`TQA@bB zPYdH;#*YJ!-}Qwr|ATVZH@<v0gWe1-S#lTqV;uIp3ue%c<5(+o#a(H>x2DO;FgL5_ zRjq31t-(@hB)jJj+fz(!Yu}II*yvHxz|~o}jYhjb26Ux!FQ6N13{>leY_NT!{aJs- z(8FVbrbH%IL61~YIY)lQfv05IHzf_-3U-s#8Q9eCR&MuP3Rti6qcGZ6-M?XXL{TnM zt2K$wO-C}!Z>>vsqBmEaW%q{r)}1~3^PM#19Q|9BtOl>7VR)2KVoU*^;`lZH*%Y%8 zVRw>UMeAZvsG#d*kGFLMFl0aAN!cGW+se$fT>oeNl{bLfdS)`J`#JF4kwdbm_Q>PP ztH1_nn7Kwp2ccx$Q0=lJ5(M$9RW6d}ldLYF+>l)E9BUM#V^>1BVok@a8&(eKYMAJ9 zx!Gb3&~ObB0K{^N|C3Yo2nSaDvz@d|@~sl(*miBa#`(~Cwt$EK#5gDA1t7C?UErkc zmo(kX04MDQN~)DHmYrs&b=gE(v>VIzE*_L~qTGopUMNdimujDl9a2oJY_z#O-FD<y zE!m}hg_4`>yuH?_yi|at3s;WOs65K=WB30<+k3!AS!Hqm8OT7Q-~&oDShE^eu!4e1 zlxT)JgA+lic3f7(wZ%1|*a(}9VH`)X;;y>7tJqy^fDH*X6bk|>Vj<X=At(rnfC&HZ zIrrYlBrxv({k)&ok7S<bxxaJUDfisYckXd>)bH}Dr*{!$flKE&rDZMBbq<!NUue>m z6Thst89Guqu~swG%VBd}fi*+R9Cm=FghF$`-JZNYoFkz5dAK9Bi`gPmk1N#7AEvD@ zi7uymf$KJFc#A-^mbJR90{AdkwQd({;aUaXob}MCx1M@)f={l6{%}L^sx`I4#2~&O z>ilJJ(y#I&i@@<Z`V?-yu{~D{dz-%D-wHOE$x+y0#!t8<`QpNF`d+nF(1g`?{XQ_~ zhRW8JqrL0%USU9t-y`1SS1(}w9BV7f&22<W%=+89+LCAWaHwj^qFdbG_DgiWIu4_K z#6OqEzP@F>y;;@%d78>~iP7Fj{$0+$-5Y&7`}n@#;XU@oSNj)$fb35HLWyB}U*D$? zzU^OR2-ibc4<Y|{f9spq$M+r&?}k`ZP%$|)X`z;X(gMj&U*8t0tkj!c$E5QqeXpwh zk@4t0ooktHZuSx1l|pVD?ftZ2v{&{$7n_v*^fPZ;c-Y3<pMMzb{p}-<x1Z&6gMi5R zPg^CN2MOQ#E#0JM@%HIFFAz=a^>HDICDRl8@&7on_fX|#@%HUJFEnYFl;5km8Y4A2 z;9d9OXz#`?1*5%dR*m+q`<9oV<Yk@gLik1wUnTF?)smZ~TfKIRd0xZw0-opVVG)nR zN=mq9C{f+^DNmp4(`xxfiOW{;XA@@}X0dPmNMC}Jr;hXmd`WNCHAk}c_c|(WBz1Z@ z|8{@jo7dMz3cFVZ<r3?nPb-#5{?>UN-t`XF$JJhk`QE|QS8d=8kv>W{w<+ID{WkqL zudg?KD~u*L9}XSu-L}#YGpxNAJ$J{HefWbE<zvP#n+5mnyolf>tVv%hh-IaFMbNji zM6g(EU@-%lM6e??chf0>t2T*T1v*ogWs5a_)=TdqcwK1jMuIn*;7tVA3R7-dP#XP~ z;ACj-_XK}$f;R?ytKKvMx+dP?{L<)0dqFnzk9T;JHTZw;7w>Rm-_FZ<e7uiu-lTae z_q0Gye5?EVwg!CjrLEe`@NxNxtVcY64}E;h@vy=EaJohZz##jfMfv{np@sR-C%QUB zjbl|#F^UrC%r3ET;r7veq8+2ln}&6sH#&M=i!^7WvFoh%ATVSon;+R8l#{sOIK4Q7 z`=W1chb`JvaW?zcaxMv6oUCDh&Fw#m`$M0X(I}MS%WPm(=RrEMR3I(v`oy0u@?ogf zCypNO%W9aFm?Oik+|MZl@wS~o(klM*R{80EqrAmB$-co&i9Hv}fu@@h8;1F^61DhR zss2S^NGQ5%sOIm(KT2$QOFxt3k7v6Ty93*nn@Eq9NTZvGE#AE&pAs+H7$1@tuOmj6 z|L7)J&dmlcP+e;i5sNDW*D#&?QySB|+@yD5ll1;#(tF^R#`K<LfGbgK<LM;n?f!i4 z^nL|JdU+O?<<jFW6fNPTjhpEhCN>_cOc)_YFmOuj3x!kY_|fns&SK&PZ(3?8f4V$= z#p64840{sK94T$bcM=r;16{{j89!v#OCQ#NOj;n(!o<KOYzHf$0{zi7WlA3JUPqo% zJh=G+!-LVB8ro3l<`2yN0$LIyD6;u5hr#x6{K>+RI?Db?;p6o2h3SvTB$}D69{XR4 z@&_%77imwMFBi$@u&RgoFN&~s&qsmi0)|2(amgst+cQ>3zP-Dq@t)|UgypN`EQ*oL zCBB&@Dap3Z?-Gw3%_ET^eQOhs6@cDZC^c68lqgey43FS5t_yMZd))unry_XWAE%h% zSPv1=J&F5Ah=}e<OynG~rkSahd5y&L8l63sZPEfMEIs3kv<BrwC3~+`q6%E#ZI~m8 ze@tShlGvN_PKqCo*NRn%OdL&$!kf0F*zkgr!?@okxr>SpjRPKzSsmJn?nrfhIoOw# zTtMrfdP)Kxt}Y`hBD+T!zBN21@+xZrnbTAyVVN}@l*D>geI@>Lj7ri0GCsi;w*~nW zVg3~1Kk<mYpid%^9hfczV@X`{dO3+VAxz1G+6!(0*qR8K1dbJaMA#DD1PdRlW!5Cx zQYtJthstX#Z+l5s%lkokd0X1@{=gM;4X*~c{1RD{@+9hs6g6*Sq}Q(3iu;#*BJ!Iw zxqr>nv@s*Eqg3QV@yUM?UlV=4$3(|1UJJMgSZYJoGsXQAG(M?{sp*kjZ6ZqyBc4VQ zx8EidU4`NNndv&}ViQ_1rUi9=+w=UnO4H#eOuo?NUm%fEMSpu=MZ9_opS{W5aMU^4 zMwv$_o#aGUStevedsAY;5sHq4!6go{F+L{J1v@*j3%~sNV607H*KHvtFxg+3p!2&Z z#H=pDFWWY<;@xJDP}UxfBWTUGDn3<h&+#I%$~{qsm5@a?ck?wE%PtJD-YMUU3`3Bp zkE=cwt!cZTv2<JiPWI#77nG-&ib0qNDbksoIFV?-8gt#ao{IvE491Zz0HNqw)m=FV z{%edBxgMApU=puB&7}70M`c-iWSMC6E5_X9iPXMR0qG)LI_8B%SPNJvmRPMi`%7Z} zAYayq3zI)0`6{Gznt}}UaUC4x2z&j1O?+FRC9HlQNW(vr&w2Nd5^<j@<%%62oo8gG znmDB_*Apj;rKuilrZBTlG?AwDPW}@y6LaKOsmR;x%k4rI-DKz!J>Xr#8!371NV-N? z>&A+n)8>gm-(L%}DY0!JdcKN|snhf1Du?f{)nM_Tp^`$k2z(mT{tacaAH{U(4JjP? z4pqxKflY}o4;GWW!AV)-eclsGjxu#~j$yz}k{m){viP>DKv>QTvgwYp>7Fb3lvCGS zJ_F72DeQttrz!rI#F2uR&4Y?h3?|jUY-2CE`hf3<+U}LEsH-Z{<ZH929NGWuT%x#E z%9fI^#Qrw-gG>x>r()P*Vt|fggO!nqXKXz8Nj%3&JW~?OkV9EK)y~l0lA=El=Fk{6 zywjK%auXQN=~F(U4h$=0eIeHAJ+V%!xF<ZiRVM4@c<qhjk(b1zr?axANV7C~scFpW zMJmvT0{OTV?UojAnLzuQOhhh40Yzy`qd(#Yqq=%gu<9>Y#6=e-j<CRwh>CNr&GEX7 z-t^$q>+<^&yOA_e<W@u~@idP_;!yoxNJ6UrxA2gtGh})sHe49L!f|1@av#P^?f(_+ zmfxYJ^1C+i@)9k<-JOwvlz*1E*=FGcn}x=r&<JI@qM%b!N4ktFO{+#rd$i-jvMguL z9~~!5psCgk(TVjar3}yKB$kI+U&cY-dth6lwWeAA9K>%!Y$W$NCGC`qQNl(R2JxfH z#2)24FCxh8(8I_Z)`qi8xVs0Nf&CN%QXmGTQ>oXV5pf#L#A7US7q>!AG^ie81m+wP z6nE4l8bN5VStVkpN{lPTQx~bW6D05a9!$<LR(X&kPl<DgQ=;2oqT98+vG85e)qNxC zBkKOiImqs8z(&6l`zw9LK;g&-`3xA}fdNP_um4%1WYv(#;O8pUsS15ijfYg|M2UB? z&^mp-0Xjo8&{U-ngHb|4M$Uym61`9o&2#oDaWgZ{QXVs2=|3?Q$$n}2sK!7d$(2-P z6b{z;QqZaC>1{<>1^Oi?nkQuqUt{4^9|ObWI6rX^oHLr31v^CzjzYx3_{_#LeZhLB zn`ng3z5yToS0-3w)Wo>a0Xa&bU1Hf2YPu7rEmrBSzM43^$<z3oYKwbdHAQu6`Iv}l zS{2tzpS+VCkT@?f-X>pWwHav=Rp!mf|HrHi^s1NhL6oq%wJ2dPOZ87)0=je_B{A-1 z(}t%KGIgLw2BYh&6yq>#qjgQh*$5$Lu}OolS1YK_;5%rmwgoGgUr4-%6%uZpB_HGd z+ul!We0SK!_gT0Rj%nko9yPincKssEfc*9gsXWWU*xIg2d&9G)aUE%hLXDKg==q7u zOlpz!QUKHOLiyg<#;`0y&TS!@k~q`mXgqO{qmA!5Av{pE!8R&iqC}GTk|07+s!3N% zwZJ6*8%iRJG-%z2Xy&c2|BO=YN!%w?e}+o!O*ECn#PmkzX22qMqXj(E$v5#|kiyR~ zatex`+&LD1y5P^$EcMa+bWY*DR85lg!)y^+3H}F%Pn?N5HMWbo{x$CZ?p;?4ZPK&2 zT2*jUVt#+3cwbawO5#@}Ksfq_QK}bGl*b#&<hfLHqY5RKS$x#sZ%N_LxA-HQ;GM3~ z$UQFo(=g<8!uvvII^oyJ0gY7Kzr>+cZ!P{>VF~TLoRktM73&IT1o1M{W%!l#Vv*u` zF==XSkNwKOigu#!Qvcue!>N3m89=p5mNvpV(}sB>Z?6A-BhkQxg_i0isFF7{$-2^~ z@?W)a5PjstHFTp<7@b;cm$(hhriW2cN^5##fYYA#$id|c28E*u)9IL!xX3^T%4bgJ zNQE@^Yl@Z$v!ow)y&7BFe4b!)b}%_>5~t>is1U8)ONG>$>SQ{rzemfYHW(>lNfIsp zrIal>u2}&~vcx0#EifeTwkU&)lV~Y#rz;+*4SRhG3lslj9SUVU*yN!;)tO4^&jiiH zI#Yyi(lar}W@0dzXiA>)$I`}+x|)PoWzsiCIw-v%p%?Ij`T!)${yyz*<&vK12Tmuk zRKNFE^g{Z*-*M8qjiO?<L?J!3l)oX?pN;sGIQmm+<Z2dMI4I&Vf~FYEicxi1(7>h1 zJ6P1!DF0M?bV(VFKV#|ZOfD|aTv$U>p}F`aF_K)E@t}98^Je|)8qtJaCegk7*PV$! zt$%$+dW{}T^uku3781{bENjQy^)HOPYS9w)%sNpl&dyAY^=P4zvzm;@y|Gw?$QEW7 z{j`+p{tR|PH1EFN6y}X!v~@6g85|kdE*KroVNeqbg3)oTqPre{<;otxs{TEwz5XTP z=)hn&IvgdqY(zME<w)i&$AqKf%EHl!<2kmM1y{2w5jIX0f}isnt5)TjujyYHZ?5st zzyY=LR#n$7dDy(vxIpC`nLW>{ID4yi{oSwg<h4J5$Emc&JPvEe^JA;^`O*TOpO&dp zul?vQ!C1|99)r<-B|5Gp?Rv1TUkTp`Z{@Y`$KIxX1^nxhmZ8y8;=@|VaRXT#6+X6A z)$VrQgXtO8_Tj3!GBhdPwzYJ5<9UbcPxtv(h-Yebd!Xnv6?+DUJ15%V7pLSC`RZ)x z>uyx~g#L7|N~iZM{muaN%PDI*eR7dW|1CrRzM=1(PXB=@B<a5?^i!JAKWpi4HuR4f z`j+YRcU$_Kgnm#n`l~GcI71&d^z;9cUVck|hS0ZbM&H@eUvB8{GW1pH^q!^PSt8}H zODn&T|5emG7sA7a=+AVtmSNY}lF&LBE6HcmOvM@D*z_qdQMaybN(`W}U^0R^ajedM zqI#T6xuk*(2@5)z&PJpCP;K6`oON0ab7eeK2Q2Xr^LD(`KPz!9zGwJ^YYOvKM#9k( znnpqU&INx}yN~v24p#>;?<y(WsO(pCH=rF~{hT!(jq)D%p9LoU{h!Uk-*5K*X0!LF zn!VrK?ESW8?|*IfKCIb$?`H2^n!V>Yd(Uq6z8POSy*!^cdtcn_{k3NAk2ibY*6e*< zv-fwKz0Yd){-0*=@n-Mio4t=}_I_ux_p#01M>cyur`h|6X79b^9Xs&vGJaKF4)kiC z6>*KXT}T-6@-hc|N^@9(2oDcZnfy)_iJs5zWcf|m%joa|6F$71{q13YyV&0n``gL> z4zj-^?C(hXJI4N&+28TzcWPy`^z!EqN_1yuuG;ga`OiDg<UdW`WBpD3V>KrKv6`m& zkM%eCkM%eCkM%eCkM%eCkM%eCkM%eCkM%eCkM%eCkM%eCkM%eCkM%eCkM%eCkJU8I zf2_aepS56`|Dn;vgRAN}=wl-rD9`HI#;cM0Us(3WC^h_;ZOSvLkstBl0BI->=ET#g zugWTSvIT7_H8k!BIeoPa#C@xmOlTR5>7ejMm)QA$%AH**4v<q}t1kx<_SH759(!8l z&JwTs6y7U$a@FW^H5vZ>=Hed2+a4q-vqt1PHLJ;8G)f{5l{*VK651f^YZVzqjzIRa z$Q2+Po7kXld-7@=l$5*_ed1Mr3O(z@I0A)zYO=$7q8?gWDbaG)QS}=pd^mxe20D?m zd0Pi_7lUr0xDgI_kHxW`-r^20xR#2O;}|u*t1PZ%3YTYa*^0|?xPZlFr*MZGoL_PE zluYC6XmS1&?ihn>r8qIpiu;iV$~nAM3U|E0wN~5|hm%z&f@__^bv3vg#f@>ee_I@G zkS%WygUeMMjg?7vg2m;A<yeK4g8q7<9J@wMo*gdwtfHeK+fT`I9hu$)5%=fLQMR5h z{EX+Fe2oeKy@$&$;Yquen~P2J{#g;t<IA;8_#GeKf>rs*XYwL?aEzY~&sK3whP6K! zitg+xrw;FD`zN938jh&(s_#UE*}r&bh_mWSIY+kYtBLFwuA19AoV%R!g~xwF_DjnB zRXfhUEgXy<ncU6VBh#J@Z^8L_n&1Xqk2E|xI7(kX(^vl)?`UxrU#rD={Aw+Zy>g?3 z9Xq-^S+=6)E^nANB^W&*`5!~*GlW+f!dvAh)+xDlw~hmRGh1VwZ2||_SU)B(aRHYX zChq5t<j?i*)K6f=!p5A+;%^o&M44v#Kj*jnHW?Utl+uS7B0=wd<^J4YY!LT}F0D8^ zKD326f}N{=Yd2Qhg`C&_#v)bgGpPNL^^5EGtYD6>ULz0>B%b%3oZlncI%NKm{U%kv zVd6dEb3AXGWO-EfbLtYnpW-+l62H+wTjU==j^t)NmSRr!7xN-L_fe=X&Bd0t%a{>b z?RtYZLX~pl*Pdw{`K5oNmn#z|A^O$9V3hOFWG*X};gT$q-{lQohgiZV7P;Y5c@mr4 z@PRy4%F{xjAK&nf{FF7!lAkdRFUilyhG*qxM8kjNXHdh#@>9}qzx;G*h|5ophTG*Q zKY5GINP!;2F5fyO$JlS}l9%$7c#(d4qp_l$v;LiQ-3Bv&UbS&VWpTGU!><$hZR8hy zK&rFtImFP&FAg<Ve*Fr+lvh;1h*a_M&*bo{O@?0@L9C=896xC+Ll5DigcpfW`grda zRomg0-d!EfTOkVQ4s;NHeSxqgO5YNG{c}+ozv8^4@vGNc(v7TVqB$yk|8s~Y#jjJ& zF#J07bjz=B^ok%0xpXW><%&L?$?Ec|Upa~TDe`3tyg|2T4ho8ei%>CHm9w>r<VDow zjXfa!9=bwt=`Hd50PeT^J}TWLey1h)mA#;xmD;9IE>-0|)r;k3Rn`s5QP-RH3>qWz z<eX)@f{PAJHFuD~nb?Q|<6<xNA_s{y$NC0?zIoxI1}`FqQU#+!DMeb9(_dn1QV9v_ zz^d1o+xKKtRsN8mii{m!);{^36_Q+XETR#PPLuK^e?z5t76GM#PBL$m=ItnbyJ9>6 z9n51HkGbY?43E39c~tF49=Dpu5j-Z$;~*a8_D=vMJgzX0^z)N-=8;jt<lE*kpU0QY zV*!s(na55%K5QP_MOP=M@aTp*_bk^cOnyOT#15stuY^Wsy%Jm4{Wp3_W$~~DM!L`C z*Da!mZf!2-d0W{LO69|L%*vOPKgD)&9UZ^D_WL`QbJVo-j+N~kJzd~f@3kKVQzNE# z+`EK3{upG~?z`xcj<tb{kG&fErhZ?%_~$Xm`4vdfBL6G%)8u>_FKKdq;p<ppC*?n1 zB~nfm$w*BIYb3wjPD9FN$uatE`r*Ax$aB`~k{D-{n4?O1(;4sGMRe8povNtRV(*;f z#Y$T#G>zj)mBojX5wYVP_$@!3k&vNASo3DFkB_<<Bz?i_g7I71C6>I5bc+2hCrOip z9dC#ix0Q0<I!nsAbY5CHXY+zxe;(UAc9xV;)Hs}8z%i(=6mamVjGt7g-irDxZ<12F zd80iV9vH@=PCG~yN)1vKR2G+#o)o7qznmpPVX5WF!~EJ}Wg#))Sjotch``tSU0a*+ zVglvc9{u*B+5xlPXW%<JoXH&n3kqD>19~@v^-EoExcm!dJtzwel=o8qEJjWzosE+r zeO<YELPk9c?1-7HaY>EuQ8^dP)bX;^5Yu_oXKFc3UpAD;a+)q(k%4ZFe8i4EFq(Sz z&y;#Ue{Nd6_vIz&Q>gU68MtSUu#DIR_AKw|>nQf6;F4p7k+N#Zths5-k6rWx6PQBS zhN3m*Rs8{7pJM!g&udMEuj04-WaNiivZYPQyOPbA$j=CopV8h-Gpma9Pyuuc5YG}& z#UC+ZlIS}_@_#Qeq}uHWFUZZSRLxm4oZQ@UWtw7i>1O2SurA0=tf}0PK)QTZ7N0J; zEcXzM6L})>O1O+L(_x7hpC@^k`<mq8fb=~0co8X_Us?Rq97n%_r)KmAlC8ufrGJ;u zR2k;*qVx==Zk99db2u)cr>~qt!t<_rO$zlR%Fr5WM)|#&%gt2a2oxPYC3>I2uk}2v zoOv^^^KqR^%W(YCZ0@!2W?o9CVeRBVel$V%OZr{Q=?BrCZ$c`h@5P;=w$o+G8ylM) ziucZmCacz!$%)IlU(TzM4p;ROFLE!xYyy#v*Xf~X*RI<tf8A3)T+C8k)jCfOA+EVz z6X-rq6Ic=))#k3C@5epsZ2J@I5{?hbiLP;dx+>6KO`b$gzwR`C=_yrzrU{G=de<$M zKZ|r6h;_JJ%F#X`gS9#I_*6bdX@0YlvWi0b@7^5!&?0#T9~xy6XM9^j+s1eD%XOn( z^#H%?qV=a2_DR+Hi5#7SJI;Q5It}Aj<Dk=blxZSda_{bMc?j0k5j9&#*8@tf<O}JV zYRk3@#Y))fWwY_B2@e&m^r}~9i{Uv}D%i)S>8kH0Ql-&*Bu>t$tbT)Fb~T+t*kbyM z!MXKhV-esM0+Z886n3wLwMfC}4GOHKz~mAXg<Wl7tbVt#(HRt2w!jW|us#;X?sp5L zFDNj-z<#Ew)!2@(Fn<b0S5RQB1SWG}3fl(%qzJ82FnWRlYb~&+9qa=OqyJ(Pr6VY? z9D!9j*fSQ!Sh<DK4-{Cgz%FpGNfwqHiZ0a?g%?Y=s%kymKn|fR+F6lrsP+>oxvoXC zdJa^Wj+QT@W%0J*k*HWauhXTXX|nX`qJcbVFK~ls8QS*I3G@P=e+3p|mnwI3sc5g` z484da>|2!lj^5PRPL(?lmjn4!xnoep7~+58C5`_D6MwFWzu{k%I|?d71Xr8jlT7di z>3Y)n5|7^Ki;QQObk@)rmvp|6bh_w}#&djPNTd8AB0AGVwB#}^$G>ev(nnFd$9P8h zl!i}I<J)21m&tC#lp3!f=Bo7fQKF~W$-(*!JM7Jo4=s|t^aCe*HPt6M7*+IXC+;a- z{G-Bg8P!<ZRG&T*efpXT`i)^N)u*3$Nbj0{ocu~hyt33xWG7d-@h@+dNq)Y5AV0Lj z)ssogo0&tt($wkSAVSjB{;P(L=LX3^sLGDi0L%L&T&o$q37GcCnUf)s@hyO%Di(%D z8Q5S4lgmzlVOR&DDi(%D8Q6&q_A_k;uxwzciiM$32IhA#)*uSZ4-8eYFf_`*zNA~L zd1ED$z*+%ARV)mRGO$?=CYBpmYhb8~g`rUfHpRfoF99NTm79W~O$KtUg`DBd45CHL zj3U7+MpM2*jn<!Civ5bb2k)_Y#G$J6C!2m`2Hz6{))N@_zxtxedq)w#c-|>i4xbmw zxc@;Dc)bbSb)k{=yM+84$Q#Y`6mQnR{L!*opQ-lL;p%3w=Wo(ZGI89C1AR^@r8lW3 z_V$TifG;t;9S1ypHXz>Z3#tUI<-Fi8gYjFo^k_K9wm((1J%Svdqkdmi4`0O(!B`m) z1v`a(Kb#xya6oC%@*CHLiZ=i4Bk4%zXzMdN<Xy-9T=vmiGgnUPi)S;_LG+y$hdZ;r z`S68{r9DXd8t=An3ZEJdPU%~)s-Z`i<1McY#)h^7dg!DcgT5{QOT~IgUgql=?Htr8 z#MyG>BN)A*AQ(Nb6PM>CzGi?0FK3SCMve;#)|KQFH|snYJYi-<n?}?1PFoi(A#OlI zKU;rBXAApKrL5gy;f~DbM0+wGQ~c{pJQ4ObAwcw0<tUW=#Pj1>>{VMaDj3WAe3|S8 zJ>ot2k<;99W#|mu#!ybxyaLGIhTJ=t3iI0cswY4?pS<Stx;Yrldlb6F_v19WK9V;( zR?t{Ktp9ypBq#6tdqVtlf6G`(<M3R0yfMM&{}J!@IttJDfInpLvkm^$bo`$LPb!#g zlTb1rO0nDF*hwA9OSp4GF#1Js?r;9!+;34WmdI{Q41QBYh67h&Kpk#v;&NGvANSY4 zxKQtlV>ohC;)*u}bkeG&R78Bp5t!s}d7Z&)awBc3v!`-pNNruO{4DwkqoX%<nWHSL z>s6qFQ`f7L{IXG`*J;7%sj&lsoPJSVfH@Dw`(ZoUFmaFU7xE#N!&Br4o-nH;vin3o zty=e6C5P-qWOOz#3}y5iW>${(i|<t4R{f%?T3=<4tcqX4+y_|7=`7U`v+9Z%e4NyV zIV6^eTxS;j2K5R_;<uP!g4AfwU61dv18hq{$r>s}4KpYVrA1*V1(hwRha9SlL18B? z3Ogw%zo7o+Q2QAaX40ZClY(j`C>H6M6u-eiBipS)1aNhe@r$sOa|H!c4N7ih$L~-W z?6fc}rNX4YrrDorVXcV`LANk0rNU(3Mqy<ZmIDlHX<=APh0(<|u#kb30AapJBnE@2 zZpXK02aA3cw<Adm`_a9O-r|TlK!i-)`HY&$kA|z6e0iw+bYI_34Wg0x8;>(Gf9Wx} z9o?Rz7UUeCVC>v%WTcIgk;v!xGjg#I`#>*hHXoS&9v#q$D{Ypf#-rKB94`96s~${t zw7Kq26RHJWS+DNzLI$JP$XN7&G}IH@1{=4h=Pr!?^~6BsufB>isB%t281D-f@1}fS zO>RzB*5qEN^0`INn>aF1*wgvPVDzSTGEy-Br`>cV=X0JFBKc8k<r@CHoQx<g9#cB6 zDhuRj4#vqx_=uh!jEJk99$}Px!rh9IBSr+%0!+&k28mn@#*1Ew$|>$Ti)#svDGwW$ zOpPe+Y=`S-aro!7%nm10BZ@o3;f}O8KRBj5Y<$S1!EM3}Xu8`FaLJ#@ZtD~dp)|NU zhkM`RR4P+Aq|)FXbGWB0PQ@~XLo5w$oWtD)4i*HFOIq?}xWuVxk@Y$)f?#eZPuhqF z990l1q-g6j70jM0k$L%pRWQ%(lO~vJ3XNbcEI=?He%dNS9fDMOHZctJdC`2;ODx#S z@^zwE(Sa?zsLy@=r+#iBpIds-4XPWUtMqeA`JC-VSMoVr#OG`DbGCf;dr?_orJslD zXTN-IWo`lt3HmJk+)6&T_M&&WxR2A%t>tshgqsy9s#rNOM?U3F7^9zje8SH5&n=D4 z56h9=DD*mCsAyTmfuNX2s+~ZOf>fj{M{O;9QfupgAyQ3w8_v_(D(Ib7TQ8u#(tDVC z6t#8jQ&2@e;F`SEBN(TMAJOpwpmp<+tUWykdo|yY+n#~3B~^)DJ=>2fqJJJ5m0ig! z=AL@(m5k@mgLSTB{sg@YuVyDC)k`YI_O1SALUu5AE%E=g0PgqVY>at623wv^$}uR5 zdUf$Nu-~*by5^hQE5G6MAg7p6)Z;jkCR)c?3zPqR=;Q&1Y5dZUA6LljN}*A0VqxE> zd)B20J2pJAs8=^%!=sCOo#tzpN)^m|LaShqN=jZQQw2x#N~?lrk2Y0sKZj){{yI%8 zSr+C&_qi<U)zz0QrTD}&-o#WhNNO?fQT^$@GLRP2Wj3Y(5>o*&NjJ=&@V=l+RH|LC zH)#~<dU=sQn>Y(ioF|#w-C^RKm>%c;HqLFF36yyENy!~{mj0O+Inu;Y{~s-3^nA@% zKNH89>2cKk!Ibb7iDNQxP@3lqRXaoVNB!yUPp7)aQr#j{=S#}7=y{HBkvv3oaxT}1 zQyMxre8f7xSM{xq7s%RFwcQUIr(ldW=`3GN*~s_$a_&d;LvY6aSzHU^!A@EncGBRU zb+~>O#}z(eCoK*;X>gMq?nsNHArd=jao9<NlYY6ef2cbWHpUMQJ85y)NrUU^aPM1O zD{$CJi^EPDTrM~*?^71Xp$Bwi91c5aaO)6rP4_m7lX_!n*v5yQG`Ke$j*VrSKf&PI zQGL>Q7wuq;CdN_gkT%$~^*EHm)Q=ulQ8?0w=+07+i0)m^P7~3$(R0!Fr<tfp-1;A= zd<&D8kz{a`FgH7ShCF+745v@xMTQ&rezbg#`)@QUgiQ*cniSqYD=mc!Z3=xQg~LdJ zzWDbIxu$<ZIkXP`B~~(iy^n+1xb!c;P*Z5-cRJ1db4m4{@vBQJ*O!zZAWb{1#9AH8 z`VHFTBlJ+o#rKbCId_Fs<PS8t2&U&^6)Gs@oO39-c;MfZlR0;)IC&v4B#J+kXxiS0 z+P!(LR$ceMsR|Z9&rjl4!N>hICYA5c)l^!_h)cZtSH)>%z0Rg`fuwQ@RL;K+41XQv z+#`eh9|wkpxvyIGBD`z112K#mJ2_aiu!2t2b-2^lwUKQ);Q*t~tV}ym9Q@9Uu;t|! zkcp*aC{)y~kQW_RObvD$e~WK`RseF&i;T-p5iH-IYW6)fKF+*iV*6Gqf&SCenB!Ym ze(n37GZ9g&4T0$P0Hd*i%I$5&T|za*hy_Ps@qkg;Q5}pOJtY*Yz_aR`BNs}T#V>!Q zY4U1zWy?Tm#c?oEhe$P!j>K^@aSRyM0s5tTz7p$IeJBKE@#udkD_>F`=1o3FYnT30 z_X$0D)Df;643O}0EA4h-$zya(rm*=Z$N>?YClaW<rLb#OsIH%OS-i*=a=`uA`N7U# za9of~S{%vM*g2u-uy%YdNX``FHA-`zoh*h&+#IKGEt043rUOUWtUs6+Ec(c+9+s;* zNbA~*@gnX_X8cu_Lj-d_P8)xf`2`&>`ksfT<3*qGC15HmJ1N@?IV{m8SIb+dh|NkT z;+DdLp;Dt5(vM}}mCJ)4m&oJ_=QcK+Fj=IN8hGv7LSPdd>|6Xki3VTQ!myzXNA_(g zu=5@49SftAWMP<4fn^Kq1P7aHVf2zL3=1kSzreB`tjxmbCRrE;RA8+HCiALVgph^N zN3t;Nr@&eZOtw)d>}U(4k7Qw(Pl4qK>~05>9Xe7{_-|oYPl4qMY>b1gvM`2>R>&DE zoVhInuj}l<>ry-L+IK&p(xZo@w*Lhca(TzYDwit<h}P##52{=y|Kj47L*cxc43z}o zij2!k90g=Q$dPf?7iy>ku{aEdeTBe$5@euHhIp4t0!16V>TU)Fzbp!V2}%dbpHmbf zcz{8{E{lR)g36Y-svRmJ>Nhh8w=4>72}*~_FLkJS1_iS$3T6pPN6C9Q)FTE3uPh2) z2}%da4|J%p1_i4u3RVe9$H+Gls0uX5px~56!6`xM5cwj9I$lwOVAO})APBFxjE1qj zdR-}1S~S;-==1{j1yt1vw<e1;>o`JmUUDZEUCjZ7pO@Uon>S0W1NAyD`GqtX-kj9? zd%UCL5LeO!kw-Xw1F7Q(FeFoplFv(1@=vhB<3A%KCFKuDW5ha!#&t@cG)xMPl8CdD za=Nh{#}<e0$dx#J-E<864B}=CoZ}57BisY`4;8DPAr-5Cm>zYqtz=sLI$77J%ZB3q z90Pq>L@%CqorQkIs3zwl_<l$}#FJ}pv>es6WIEnlVg*km<X%387=^4J%>$(jGT>Z7 zmvu?X9b3vuMdoiD?ktOA#JL1_%;FGDgOk;1dVl-D7RQit39W|3A)E$Bi)e5^P|cDq z4P6QDn8hKU2DgP^jc<{~G3Z=^J7#eRsKK#W*5Jf-koXvNF2NnMI7HOoa5x0VfgfNP zaxTFYvls-_U~aRRVS-`Ixda!>Vh~TkOt@6y;J$eoZ(hnwCD+7@@jxzpA*O9gW!25c za4noW4|=+)6Hb&;MCKVbho>r=FOrUFJnsh6KTZCTvjvSGM00v^VMorO4f|-pSlUw^ zB#a|l>@4Wlvd$*nb^;Dg`YdRO<)pHB^e_d}vo~{~@8R)!HL`9KPDY-FRz@LY@o6a9 zuT%1SKG4c#>8Zl?yfn-Yjl$LNs#nU(%s@<E7Rk%Av`+>&OJ4t}tck%(>@Dq6&=-<! zCxdeg8r@8SYVNK!;bQOXL|E%k?%WV^CXzKoVdz;O3$ueMv||Stm>Rs39E{dpQVU}7 zY;1W3rWQ~3Fsrn0gNXt|>n-eX15=Z?mPmpk_8(XnHqXM2F)+1xuRGW?7KYKYu;UF( zjov*9qX?5M46A2hT@6gFp6C#HE5B6og~_v!9tNT&kF7S6uktg2l;m=}30oXFnmADP z4YKvE+Pl6zzV#wE!QoKu5^7w>=h`XRd-NOmp1AFO1dp8zTnhcY)&(cMh)xuU1uKoN z69#cZ6@E&obSl0Xza~)mja{~xE8E1X*RZ(~GgvE9UV$*?aNHJ@?@B&GE5A`sydFIm z|7D<Z9W!Fm^s0w*I}f3%#e2BkBAi>B9LKA%!^@Lp*dsc;UiB_9Ot&9G67+e?&y@ad zwGX{Ww&fGGV(vAJ`;WU{l_W0X5%Ihy%&<h#2Z)OflSR_h#{De}=raQvV>+nG&sm<y zp=C=-*}!pnvJE7q(T!xB%ML;-H<cFs=0$oSzu{aNEtImUjaxz=Mg{s!nhz;;Dckhv zwpQ)vS1~8q8Ukleb$yZSDfyMjgNgrIn3eD@li2|;!bm5hoc<eMl?jKuzsL_$GUI}> zKJWgyZXSmr5AG<fEs(H_f<^hv;}ng_8Ml$Y?Z$pboF@=xI5sjrF;3$xm&w*c?vwh+ zdtD8F_oQ(-%xJ6sK;r^$ZYxVh^qd*9z93$_?$L!D<n~SCWR0j|R%37<avJx~y;o!X zvx#*SKdF^j)7zT`DE}nZ<Z-lNsrin;a3+D;yFJwJ4h=^a%4|#zrj&zTpA8&b4<nh4 z3449(<p5k}WH>oFT=cD1#RLT2dQT1+_$2TSaqgi`@TV{4I;5h{z1#n(!C%BKA#WAv zuAJ#nw6&rwZ`_`7iTM(Yd{$l_V+-t7Iz;p74TXw+33v}K3>E$4O|1<SEG+-8tg9=N z%Z?IVWM+?k%){o)6PW;IYOG8qiaOy<i;d6k8|7}Aujtb3WCe)oV7%??{W-3|o4J!U zCU4j^CRF72be*`0Fp<`s3dat`|3{zuaLc<i6vpbx(mAh2$|F`++A(Q3T9(ERGs)ER z1sfhAnc%1nBtg$780&&qn5aTn{~~TY@NWMSaV(9uIW2r96K&q#Kj2kQD3am@?PQFW zxALa0SzI_JZWBdp7nErt$~b~HZV=}gjmQs2g9W;@#QHa80P3!#_#-Fk0MsvZk7Vw@ zACmF(6xF|%N>u;an(lK0S1^{y_!9dhng2JClMG~o>H9YPVM@riGI;>J1#-E8Y?4ui zcwU`>(0_a5WIkyBEy$8*>A#(}KmE7dd&xXgbk%R+NP08(qh@JSmdQ}2G!|2(?A(S` z{fGv07pt?PG$~9Y^wK6pZVy(}Sc7WPq6kV`lye+vkU=$RPz0q7iX8Z%aUE|^P1+Md zX?wCqtdZm^+n|~>CxX)E<Wq<GQXSd>O<EH{X>0PTL%nWLO&SwHX=4(1sCx|xp=oSS z1f}iCl@4`{K`~tNz5u_QDBg3?BKG{pd+A8}kJ@ljf?gou+p~8m_qPbc;(70%$q!3A zbbSuB%=wgus=z1rlN6|{K4^hxKyn9GRGOa88rr1ng`CS-wAHJ=9q~fp7%J<BE4_$p zaCLx~;M}d^O0&MAp4Q|QVhEWTn{f0?xhW}ke$|eWuvhw}-bqMuEyCU$n_g6`_9#)o z?BsZ!WvvHF1kcG0N|c<b8S1)C)>jFOd?pk7@aO5YJAeKVn*naB)3$6883=l%TykJz z9VtnTl9aL=HmKSn88)mBVJ!J*l8Y{a=W_GvuVmm`Mn%(?eTa(`ltoqxG_+~gkaNLI z*O2{=1|{3%v0IeUcAN0O1*LL*l%i0f@dnkTYbYp{>m6c#MA6PSC~|M(!uJ-G%C*d5 zXueJ~s3u)QL8)B7=;CT+P))jqf>ODzadFinYUI92*HBQ%^#rbBrWUv>OAyF(W4BNc z$n=EXig?5zkZ0WQ#p-(3`@*b4i<F2!N<VOkH~9p4p39x4xgRHcp~$ZN4stH;siN3( zzdIY*OP1i0AoDX~D)V=Vu*dTbD>5=aP<(a~oH8obat^Ow{CzP=EDJDIbe;yMvo4go zf=sJPl0eP)2?mwMI)hTyNuZ+q29?G-gHqN>pt5c)HA*$5vCg2BbrPs3X>mcNvCg2B zb=n+@7~E%2X{<9SWt{|)ukst3vdtibZ50waxGBp_sIY9fgmx#C-qK>VK-6CSM6RqC z=CEAFi`+pa8v^Mp{ZTR=8EZOAN8O=ZIr&e@l|J%=C3*u-x3M7)`Br!{%Q|v0Ien!) zcxutjwyQKjaPhY1(?q3rmEd+=RO3BK*c{L6ZMl6pcyWCjdSIwp$Z1VtEO+$ts@EeV zTzs46M(*|^EBI*KNS2b|M%GSXHN?t_`H3Bj1Yn9<Xou`ta#Z5Ye4kYnavltAGV3%h zmNP9lXfGUX!}$tzQXCGlmlM46<xU_DZ*Nl=jP~!8JOygW5)pgVy=hh@XOdhg{ez|+ zd9C>J3`ay|IHI~C797<gc@q?|7JA>3H>-v2^9%AmiqB3T0>h(AoHxf2fYFZzvo5GT zxx}d(W7gGh_)!VRFodyjUBsp9k!Zb2*Y>bg`WAK(aot`=vRJiXOqy%t;^*8^E`94$ zcrZ-i=MY)RJ6~HQ>Lc$z;v0zVOl_c%{U8OHY4u|UQQUCh!NI!hLcTCBP&~~N<kOQW zGwVh6_`KU6#QFqd97M-aq@1f$5c=@@(s;Q)i?d9(1zVOE<}((22*=QG@oE}~T>U|2 zC~LyL?Xr!wk9=wsVA*i_K(9u2H{!5yUJp<R56;pavs~(#<5iy_hVFJ*_ZyCOD-3tu zl$=0yHnw-8G@gpr-8hnObHiI^eQ&FVN5$XWqB7?8*M+HRVQ!@vPiAc8!e&EFY_ChT zj~9?ss(G4cx>}}rnx{k7qo>4L=_>kEe!N+&lE<X+J6QCkS6xbC-pqr8@pJK_WS~^W zC}kr}kkjg`Pti~bvL=`@%H=^0J`kJtiK4I?xdxSH%?wJd*~^NeSYI<j&C204Yi3Yt z&0-EU+n~~{nL(*FyTYNS8dRD!GbpuYXFJpl29;*b3`(t8M~9LNOvzW1hDge&4wh^M zQl=bhP)!;mL8*iFo<qq6gWk+xG)OW=X~!qSMRP0iq*@=Aq2H=S`>7YSN?zjr{t>l5 zQ@W}Bx#m>0Yk0<w9V6->hXb9QZ9L<SY~4z1x}5}$sumT{8_WvY@sO15lgN|k3)##{ zF4K2}n1#1Y8+p~@(Fc7A?Jtl069G6_r;`Dm7<QC3E@b8HYR$?*la-@QR+42#q|pn& z3_Q*>;JXdDhXMcGRr8$`yOfeQnTs1EPLR#7TreK?rn6ft+;WK3L$5}L990Ri0j*>@ zC$)brEXr^ruC%NI2vpv*Cu{shnT0x-Q?RSnmz7lRX~$lNnl_Y;sU$BV%Ue+>Ts%`h zA!*T0gPsoDff9!iaIUAo*<>z&weg=<eYLOEL5n1AubR#>`Yp$6^4^7gYhqfYI%QFJ z(D#GuKRLT_dJwbChAHeKHePnfMAsw^=5h`({}J_%WIblEs5dv(e<a=pi>~<6C0I0~ zfIe$-KHnM_kcz!LxD-#ns=llz*?AY%jy<?%mx`k_6UUH=Q0#9x$*ZVz7D*K7%k{jB z?cNjq4#TweWK`v71l`y*)>r*qS$w7NHlBBO7sEB_MaX)F0t0UN7#6~B5YH;U`<vP< z9v^fET|Uez80oCt{u{#9Mhe3DUnc6y6v}jP-W;CnWextzP2heeuwk9XFZq?#;BQL? zZCSHzS#J{0u4V%akc~~fC{$?F-?Edk&mbjV&1o)Bng=b7^gIJGXf8>MzJ-lmF6Z@X z-m=iIK`{3Dw-(8+`-<NYZ4z;)xyBOx7bxSP5bdJ+RMw<>AE-QoA<$kdAX*7fJx1A{ zh4}j9J1dAJRsBBSd~YG&Swi%L`_93yf^R9`Swj?a-^Kspd$xRM5z&q2d-+7Z(Y(>S z^r9lM^e@V<=36WI#`2+aEN(d8TFbW_FUoE^$wPT>zU9cbTy_=MZ>OLx=Zggsbzwb$ zbP<_c86>`$bQ3XTx*-r}IC3T*6CK_Z@hK4{L4xY}l)Q&35uL2ANB@&mR=!Z7%XyTE z?5mVDa$82Dy!RwLV8cVo?z;(>uj;`=b(*Pg>EMaH64Kt{I~x97N{Hxc#X+JXksl;` zGu{w1^6cGyAu>TQ%29*>@PvA_l>ExNizz0GzY?P+E?G6{4VNborE_^u3lxghrdc52 zoLZoN5{<Gpp)zM@{@h&c)1;)W>QW6&?<1JbmbR*s6out`(x95Os?z<@R`nu>y3L@P zw5o#AR#lGP(AH~&K{aVr1*NU3=TOoaYT8FI`O;Q3DQYejxs5?JX;mdIZB@mBDe60| zs(p6vyy&A2Rcla9T2+ZlTh(!j!iN7-QG*x>Ul9<oWaiJzvdDUkzCD;_c@^iFjR4x? zLq3a@ay2_5`L2f>SouU^wh@^M$6(5l{8FMm%Cr||^~d7m9@*9(_rG|n+RB4YQd`+s ze&}&rE-A(RQ%vAhCUD#FCa{kQywL>yUB1Ti9<qVQ5!fi~$S*GTx3b4G9G_juF2YjT z>KPa!Cs96hAnM8HfZz$|=J$z4%4CmWU1SPB@?S6-5j=pLU`xa!{*1guBa`)Gzji=J z@QAg*NJkzrUxC802Sys`<MI=ayky?S@Dt)tmCE8DYZgkQa#U&TdUz5UPXL<<KjW)c zeJk<N%&^2{wtS~my?=ph=f1Btkh7rA<Z0ss91)|&NOL$kdl2uOBUu{d`s9Pc@ln3Y zou_y;pGdCa#g8ze#0{x5_B9+kB93<npZ!I*xbyE$5ywJKZ%v&1E2j+HA%1hb_!-6v z6TjUodl>tXsnj0CB3@`Hsz*{i4YOieV^!O8Ijp*qoRhhqSN+Lp@{mol$U`{#HSvXt zz8Kp!eC7--<==-xS{mIQj%miZsxm)ZG+S!Mi_{}2iy~4!A3HqdHyFQSb^1jJYG0zu zIlQC3wrbtkJuAKHN6(`9B}=EuZwa$0#q=PGr`%2jQ>BynWmRZzsZu?B_UxNQ+PaSx z4@issCssu^Op$siE!qf_)*i#$rZ5!mQ)vBhal%jj6AY6H>T?VrEP-|m5GQAzz}2qI z4p`vP4v6SjAOlAVRMT?51Ma{^l4Q6L<6?o#+$vD5%he7jr_m@7`(l9%A1P1`OfLs~ z+5yu>MlDcnOh*U2%>j{F8zYmq8l#$-%_X)lLme<}eAEKff3I`E6CDt_wlOk|t1+sv z`IiH>G{Evgn!q2qtTELDRvaaDxnD{3HZOXWLx1Fhoz8x+|6_vMjCq|@^Z)fnokxMK zA0EO}bUo5MlD1R!fuHje=l=ZxNmlOOMKshPz1H}}!a!MHAhV}WoFV1>!mE}AXj;WA zCcn6_k#oXg5rdl?(9WNR3tI@Vk#oXg0iNf8th}?_6<{OhgvA2v<bdkch#0V@{Nln! z&IyYJxTnbGaY>eqkwxVf7dCQ^>3Icy?0}CuU@HMOa!yz*F}`Sk<u_}ISyIjfNQ!Gr z&?{)N1r1XW>&Y(`j-|0yVj5*ZT@@tZvS-x{I>~@j2+bBs9sEAU<}Y#@Uol26j8kU5 zRjADTkRK++k|z^r{9`y*zM6>l(#e&_t8|vXrKx7n$7$FD6u10A1vPTCi7r+e5d6nF zDX@{FO>}X%1NL#iMvgYo#giTIFb8bps4z-oTy@d!fLkcACf&%<Cc5}}Pc4X7y~F_< zIV#MO7*!WvbwF9PrZF~hwTUj?;efIo0N~!b$bAF2T8;X6o~4M0YnUv74EwH{)y+h) zmu7YEW~KHZmzfNjwM3&v1vlU-Xs$D8*5eL1*8$nAu`kUU=YS76U<S=P*8#70zzmvo ztONFQzzmwT>r7kfBOEY;cCB>4pQup7t9@(Oa}FqD4hq~`%f7}POKI8PEJ5Twz9t`l z%GpolSG9>|FP$1dv#ssiD3?wKz3Qu4OoJ$klnuX9W}%609qxeb9WaA#ZS7%`PT(kO zj2U!msRPb&zzn+eZwGwP0W;{<cn7@J0W;{<KnLvOfEje_j}Ca40q#q;PGj`DQMbOg z9!BJFJ}19{Yj)ftP{#<89DaXgj<RkEK~xV{2cYqAN6tNy-s1A(Z2diB07E3uuF0hR zVhxbEC;*>!z=;lsS+qb{r$Ak&dYc0db3j;UftW=F>Ppq24tSCS!a57YEGkgfs-Eb8 z*$xQnED*D(KwYic(g8oCHYn{7Y3M8vv#3B_ue#=sw$!gUAgr@M%%TEy#p=rr7<E8c zXMvbS1?rmB$qqQu0F`yjMQ+Af&|W(8UgOzn+sL}9XPZ1kF6VQyGh``$QkY5h_p*!Y zj};Qk-LG_4RM>r@x{d9V^Ef)ISO8q%fEny!mIFTPfEn!KC#Tz_D;+R{UHq>D4tKx| zb}{0BCp%yUyLhn!`W-NXT|CVJKc_~udNOz(`#IpN4!E~nTt-JTWfxa;H>Hov;A`?$ zs8p%S4f$U7u>KIk+UmhB{tWhTmIEH|fQ`ItVh`_fK%WC<u!mPT;A)msX&q#+hdmu| zx&vmghX*;}?GBj19&R|;miiJ0%wP}aI$$>k%wP{6a=`r!a9{TD7!FNpRI1A?MWhX% zldIsCwTCkHoPIt_DEfIRi=C>)F`$~nE~;~{x}7!%{fP`hAL4eWMz_fQ$+@Ye2C<0r z*}dsyCsr1pKi>2n2k;w+j-xl*O%F=<s=ILB6E5qHYs$C`nPU~>-5=5c3+X_A-@quX z2S5et7&1(5_EP*w>a?QIEewE;<h~Vugadv``IY?{6#o<le8~YbD1IvktZ~2$ivLAt zYauRmzzmB2nge!szzm8Xb3kFH7AAw@|Jeb*W=D(yGbnzM1HS2idn^75n2}O^pCyRA z&DUf#R92ph{+n3#V%IWl3}Dw_mrMqB-O$C>+3^mTfn7ld^f_P#b{*w_t2tg!t0Dut zww+>=p6-Ad*!7+R-tK@I*!83XUgCfm*mbi5c5}cC>^k28_jka(*>w!(>803ps3nNB z<!kaIc-F*!UBCzGWG{YQhN5b_`h)>wRIiZB&`l1QfnNm<c%B1h;MXrF+oU@=U<Q7@ z?|^$Knld&6zot3h#}1f*U$;2miw>B9UxOX6+5t20>v#ve$N~4}*Ns1<@oURTru30Z z_?kQxswVvEV4~TJU!$EGZ{>hMt&0r$HPpsmz0?6S@asee{I>&U;8#lr9PfY`__gLl z%h-Vqn1Np}JK!H3Fay6PJK%3rmX<mLzb<pYRSuYeU#C0Z^A5N-zvgdD<JayJEWcjl zYqA0=$1hHz93f+`vMHf_gS2;LY>s45^~@V+7CAZajoysiZ4FLi<XV6Xv;Kh)uezbF z4*ALeagNgYKfHnqHqpqecNhhef#p^V)dgcYiKmmam0u@qTlovIPz!rGU%NfYBYn(| z4Ity7>qidwq621dzFu&^Y6r~Vd{sH%MGlz3`MS^nPj$cy&R16l%yqyF&R32D*25Vi z9I2jllYySK2iWSF<$xKSubB>bmjUj}`FaYDH9B9nT8hZsd`=FBtZ_<3+si&CroHs} zu|lgW$GALY(B~tp{8jI4u%*nP&p$b@<wFO|pwG)3@EHfppwIttz=;l+L7yi$;4lZw zpwELG@FWM!pwGuSV73Eh(C6LGE`A0BR0#Ig=dFn}eO~0;n=km9oCcNCXXV%ZCYrre z>~q&8xY4DPp?}lfb;t)eU<MUSxbE{G95925&2hl(*a0nK1{HhI0Y7lS3@Uc513u+| z8C0x~1K#R@8TvPeIp7cn%%Eahv_FrjI>7+<rDDC=9MPy^Z&-@RiF{7}1lO!T8jQ`B zt_XADa%9&0mfrOKokG4vmBnveZMr3|^6OP!z!D@ewU5fem$-lQNSV^xLXYINd^fjs z5zA7Ow@SF}-OMaw6=Z#M3)?Sr_r+;`waTX-Ewh9x*cmZ3=-bJj@Zv!>sh}oxAxSZp zC#jucQrmtRhJF7u!#<yxe=+Rue@&A60aB?ul2XChCS5WafodqQR^m6xuB>-fB5nPf zOf1ZEz*P?Dtb_&9wO%g3e>mXt4(P0e1u|Zxz%mE?y8}8aVS$WSDX_l-Uf_VvN?0J{ zRSG=P0cG=x7RFf#3uL@Xfj=K*OWoQ5ot3aath)l=b-*v>L|vH^a#q3u8Lv{{6An1T z0kIMsZ27(nRk7f=XbUIt!HkqweYGWs%;IZuB2=R}Ux|57J-c@wP4Ft$7!7tQWUvp< zJK*sSn87~$-2r_Ln87|=;DD>YwY8AJK6G)w=?<8|KD2hg+Z`~2efZKfn3p(U2Kz9> z0lPV12K#WQ1MY8t`?3$me4TC|2D>J>4WE;%;8)5%=uicw!5=H>6!50g2#a}m<Vs^6 z?&sI5UYc#p!)^6y9{OMG%){&s&OG$|3|+lc!Y6I)qDvvvpHufP%sshWOwKJVUu~`| z4oK9&D5t{Q#HqvnQ+dVz^QxmH!fFTc0<C@UOmeF)!agv7lXCpF9cJvqf7g=chP7gn ztd*k=M^Rd&tlUSVO)=i%*Q@T&EV|g8Swa%`R}!zWa!(!PicztKD5nx$%1vh?={d3< zU6=Bm1hrT5FzzZVDnd*t%a*XyD~oTiX<Vgg?2iIV8iP$5hfCg(lvLig9%}Nw<x3Je z*?@kzP$w-T`w<k+yCla<T25HU`lixRCL7tw@;zkAn`2&EB(LCAHtTF_XszooqN~-p zP0(`d@dX^XX9lEo&?=-WCprAMghmBQJ8&hXUs+F}*`%{2=@Hh~mONVz>E>KZm!wQ8 zs(#<yWac|$R@zhO=yDM0Q{T)QNFAcQc5IyeLM-8A)&QWaLvdS&hoq*yEszbw3Y4W% z8l#>19#ZH`u?4b)Sb;-bjCSgKNNVca0@*~Yz!P1JOW+Fja7dvu#TLjmVg<Hzz{efX znPLlMBe4S4FfT`8bn1IZp)<o4#5Q6D%>YC}%4O=CEdo+4m{$v8Be8<yh5-S|)b|h# zml+wRzB$^0gX<#at|c5wUC=jxWinDVksf?a^uAYgn)P)YQ!tKav!3)+FsvtyOeJC@ z{;m-!Xj73e1nnok5wv#DJO7ULq!C$72l#RW-p_#REcoj$H66NN%MsVau_I(%&vm2H z*7aP@i_Q_2`o2qk#5^6?Ck4A>xL|vwW4jBsim_`jm4f+5F-N9j+6(4KhC#qwESQ%S zv-8hsX@1X3@)>+YFg*klSIo!hm?eVwyGg5qV6IZkE9sbNf;o^`HsaZwOD!3DlsHSF zH42TXiIN_z+~RVhQ1lfFJ%?ziYT=Diqq0+sa|F%aYjG<UxbDml4KCyStP!Zjk4(8i zjB32A>r@_fu#*f7Lpg$0&B9O&0~_mLtqiOsFxoT=LoEz!po6Uy#?35an0W*(nuVbh z2G+^JUN<n#&Kf~`W?`s=f%zQl9s^@P;0RhX3qv6cY|Sy&Ir*!BadOrO+A<46B@FCU z2kUKMQeh~Cg`pG%cBg|KZeRilMt_k-K6-AJ7dicN;n)bX&S#i~M+*3wOnlLlHLH2w zn>FXVa=oF!nOO6qbCK>funeqO>R?wJSO(Ul9IieFmVq_5xY&*`unepj>R{U_HjK`| znv)&u0|U#zn$`~XjDclfP5qIU(US~pZ`M4#CXF@ES$HJE*JLR)m_Uw;$Yvu?<@m$1 z$~(vs=DF*#xy<Cw&WrH`y!OHT%HjhqGtGD_erdptFiq^{Pb6yp8-vBDbw9MNG^{dr z^70Cr)|CWS7Jqc9ZU6c8s@+}n=Mq7na?T^z^{k5gtpV;8eMoHlq8j<+^V&}f%D`9U zoEHQUsH>4sKmS5?HIMU?&p$&q{TUvi6CiXijxcm@^D1-_YUy6$u_ONs-K^IIu&73W z(9IZQ=-%a3=p@wA)$({K{|w!n#XLeMK<H+VH*}x#Ds&QR>6Y_&82=1i&1wNGsu3V` zk;#T`Bd<ayp_Z<m$HVz&=<ZJN2%P|-i$7%OcJV575^Cu-^GLN?x~ba*u&73W&^_>s zp=%=}chE_wrDKCk7E)p99?KEeVo{9%p?maoLnpgLgib;&ogAEjj9R*<<>XK31PI-< z#fI)gUWHCV@!N!d1@ejiO!=mF;uSgpLigfoL)TM4&`GGJ>%wDpif&d9UZE2pbTbl$ zF3hXYNvNeO;V~ygHz&v|bOMBK_I5*eF|R@=p_XnCk8M(PH6wV1PJqxwa%4=na?Ulp z3Y~;nx{*A#OVQmuhF9nW2wgni(A~nT&`GGJlP$6xQgl<t^9r2+p?jc{p}Uh;p_5Qc zSIJ|3ite$=yh0~H=pOB1=pNx!=p@wAP2sUo&YpgVSLg%?-L#;gdx2M>lTb_dIFALX z^rk<<D|7;c?!^&??rmO$PC_l+OFUxaE#GIo&MR~Rgl@(dL-#JPLMNe?u9nA6DY`j} zd4*1Z(9PD-{>nL@^D1-_YU!5qcw&mKW;L(S2@tx-WRu=TUWHCVEnPj2T~c&+CwPTU zfY8MsGIYCm6*>vEbenl(d7LfZ)a|@NCqU>Pc*fAR5ioQTYU$*+M~dz-xvLR60Ydla z>q3X#@yh?AKkfMK$z$@G6-^t~i62X|(}iZ3o`*Ey>dgEdo2UN!NDbyZQT2It%K-v& zzhhm>kFp6PdJ!<~4-^@gZCEXgaTx>a=3oaJm~B`sj8Pc_YwKVQA4#6Z+lJM`7?Uxu z?~q$fbb*1{hSkCtkuk724)&;l*@o4^7>_Zqha7CIf!T)D!WfM)up5ABg$y(>+pt;~ zV=)Fcz`;5h7!B+0P;@)h#{O%z%P(Tv%}Up@Qh^6qeB=baCbzC~>s>h~g?gra-CcRx z;aL@j1>>B&Aq^~zUf9c7)bDWEd}rI&X=>~G<+p~hT&Z24PV9e)#GA>DKyo(JF4?ZE ztQtsb6q2*>?$U5MA$CWj2MfA|!a6zFl?H~RYhmKS0&A%-pM#Yc7>=%mi3bZTTVZQd zj7YSjf#K*{n0T<j{0e*3!M0EfFdj$O!o-6G)=FV_I@mG;!_l=c@nC_qR@fB|_N0N~ z=vtU~u)uN@c9w(PYG63J7A77nuv~>5;$XuJ436#)j+*oE*l+4ZuKy5@asYzjk5xP; zk6pmm<R66Ss1hd5S`1r=ibfA%=;W87;?<ms*_IK9b?>V?^xOb-hxX9JG49ZR=;$UF z5Lj8f2m*Yi!)4s%O(j0|AVd75A-)#kP>d^Z@uyn32richss!*m!gP%jrWc$rwMrMJ z%dr;w5T?@)vBDJ4@JzzwIoP2FmO+>jy2=MB*-Dkc{tUuo))@hN*T6Ce(?4Bo(+n(w zFx}{2w;5OlVG29ga0AOAOvgG{7X!;6OuKbu0!7F*uzd*A(I2D<QwJwZZTOm8wOoX$ z68^yKni4E}uxc~Ab?5XHBX2yT$9nKgOCX=5B}mW`R2D}DBS4|3(jY@)dF9$6{0%!| zcgeddgMSP%>LuQpo2rep7GcUs>{^B>^#DX-htmkT#PUsZC7&d*|G)0r)13_6iH2_4 z@4Ih}ZrJo5hOVcfd-3<(w?=nrR?yIe4c(02ci%9{wtRC&7`lrM-RvA`Rx`S91t~gp z&|tzfhAxtC=x*Uvn(;CG3dd-c%Xn;bQ|=zmD|7;+KI5GX-JQG&orGGtN*){Cjj5A) zg-(FbJ<!9@J;JNdNvNfp!ebA<T48yJSLg&N{0kbo7kCvq3AJ>O^H`Fid-@q(p%Wl< z(?%G&w|Nyh3AJ=D@fb|eO@EzN=mZGei(?GkySxgWgjzar-v*`VW-aCwIsrmAW4xjJ zoL8ZfP)oO*#}O&IIjebvPJqzOo^0qg@+x!^YU#v%8=0b02Msy_LKk_+(CxBxiAK83 zJdR1x-MyVx=mZE|{24=+!F?-B(M@gYzCG|dbd|-+2cooS>tcS%tzcS0Vx771JaYbF z<8q6CELI)<b02gVyPMMCa~S~?9qzFh9WED8lfHXX-(m>OL5cVl_iJ-dS$vLUf-8h5 zk>sT(uU_?2%=$^w^+%KBrrz3g)wgsl&-!^Jl}n&HBu8L3_VzG8B<Jc-?OvuvKZA$) zoP&L0U>Q8jDhGSXz%qE47du$gz%qE4-5u=D2A09YJix)uG_VXF=6d>rTG9>%mchfU zb+GT3YK3I*F#q9TiwtZZ9_CtQiwvvbVgA|TBTM+2yayr%ZaAN59!qG=SpGHbg|(+K z0fSGtxrzg=?Sk1lx&j>A@Ll?f+1<Kgw$7Y>vfIunhewS(k<%vD2Pf^6v#`9HABeKD z*egYLaC!PhugpevvUv5Xi<wms+1apA#r4&IOy;b^artp~Z|nIyQ;Ya4C0w$oHMay? z{(qmvM!}cN%D`1q;qT*wzuF4_xnU#xGJp_{jx3-MXY$FbKAuXILL6%f@k5C#M29`D z5MR%s5Prf{2Rbg<mkyli1ZXF`!STtU105V}rGaJ8f$yDUykKA%bYPK#MGP#14m{>y zml{|G9T@Lme=@KPI&hwYwKK2`Iw19`3{Temo({Bhuz3cy4;}bSIb(I;UF?-a8(GNL zWE`SKQP^7yE_Pz@h!unW1B@6T1!4nx@M<n25)n9hzRGdKS!x4+NeS`SvxWZ>sK=o# zXM3SU6NvT~UHB;^alD4FEpdD)M^|zFBXQUj<p-za=wXRxwg8OURu;bwE%6L*M?5cR zJde=<lz1LA@myx|Qjm&cxWqAmz?4FbN2LDWD^$6w$=7U6{uVSfDXp$ms11Dbs$bgA zlwj3dt%*mAokES;=@jbTw<*MH5^iRVy_s`U^TpF7UaI3!jqDYF%CW6B@s(<PvM}b? zT`s;}65n44_h!oR8ySYPU$Dd3V;Igp+otj-O+{|~vhMSdCYAL)RR(_k%_Xt+Et2pN zsMD``2p<!K9dv%$PV>s7>a#gSB$KK?El@ytYW9^iIt;hSVfD*(REEok405SMx|J{% zDJx+VIn*H^cStw?YLT)OMv*6gRFxa+kZvuEMao(jMfzNvVTW`xuofwcVHEiZ@~Ckh z?T~H?)*@v!j3Qrj$n9tfl~bOYhqXvq4x`8_hkV~5-DIpq%6b?@Uf_^VI%IBi3-eBT z$7@NConGV}SfcZ>ikC|c)H*!P=j8PealRAhAAH}N^AFC@^AGx^%~=-llKha#J3Dje z8ok>eV0klIyzUGfumA$?I#G+a^_Jbtv~r2p-VvEupLk;if^qnqz2o?RtzyLSC~+XH zt+p$rxwie@Hw^8qLR<fi&}uuLO22TM(q1m<m!zd%zcrP9H=BNu#PP^J;`mJGQ2j?p z9HF#0?rbc>W{ioH;pf+gW5hn<sQ*^;@o5op^iPW;u_cv{7i=6aOB@|E4!I3xX{s!{ zHfkIXNF06B;`rv5R2*Y$9M?)5%V+OhACrI3IL>RHkMTdH;wZFnbe1^o)Hs^v<IJBm zj<yoV;C<(#9y=oS@$IX`5!^>UPS?3>|B@cW(I+jA#~bVP5gW(9C64TU#1S@f5s^63 zWh>lRrz30}mq;A7Z)4YvDnW>f>o;JIq7MWaDomVA-*1tBTyGKQn0|8e;iLGL?DUhA zw)nqLBw8votWY~=ezss_={=Y`1he)}5?!Zs%wZaj=C*h=n8^=}mxO01a(6Eh_GaoQ zm+%I@B}b86BJD1b-l5Qy0(F>0f;pbuqF~yCamBezq0cC^X>slsic1Z}+N4m#wE|93 zim`@5Ke;siEELbG*cHF16sF34JzdJ!XCG;F5sDpVVZzN&B$g|*qe5+!wGqrkTQujx z(_)>b&>sSOGhz+j^Z-iAdTbiSjY{$MJ}90MiYLC(G`1!hYbT%-ckF{=tWZ=o2!;RD z(-A3#nNsE|8x@oOV$Pe$QQSoP2+<~f>@GENhQ?=$calVOxnMZgl`-(9{eg9MRyge2 z5srQr{N>Ba3C88_#aMQ|j%5#NowF#Q{Y}4&Wmgt|Rzgc&7swY6LGHEns-MUEt}LD> z-|?8<&`jUjUHpTuFp;mK%x1jwZ=%EZOE@b!WCYiBM$RCD(4<|aXR?J>yJ>6Rv=8tX z=dwI$U6uiwp^|*)NRmE4^#z)tt|mjrm<(;~<{XwgHn|L~6Gd#P;l&rNZ{*9f-J~A3 zoV_>izvNr;$*mcy)0OBla`1bF*sCKGA>u50@hQJcZ+ogNzDB-#)tA1mwR&8t5N&Du zOsyU+g*Z#XjT@VCzVMmM6ve13Ph^^c9#y@Ys%T{IUtq6JRXl0gyX!2;NI#pA(bVQ& z7}KaM{#w4{RL|0k{OhzbytxlyZ=tkZbPsibz?4_W%PRueOWGQ1gN&@(+o!+9vGr}s z)*Ce=CHd5(Wor**>xCvGVUv+OGGcnC%Qm|j*-vtDqJ|e&f7{5`6{iYY4}-qBZEelB z<dM>nMCVo(?<l6I1LBAOfukbfM`iJP`QTN5I#bL3pHpf2W9Jr>M(Zj6svlgk_i>MG za)x4x+omOZktX{jaWqeM3g43Vh*Q!`A^xjXeuE_Idgs-D)o&M@tek7IatK*5r9UDi z4{anHCrh}L<s`vNS;{Y|EI!H*w>QLVx~7+-JXL+mULu0;XQXl!;u`siS2!^EESj=6 z-=#(<c7+r$UVN~)V7pI~PsJU-k*c0if|YRQe`Hsw@n?H#(M?FC*0yWj1O6!l=z2>d zx*y6V30~yCtT-mM<v)_zRVKC8CbefalG+qW&Fb0hD~&hgQIt2&PBW25Hl#d=udq7O z`mcYUVhxaD#fz`|nuz9ik<7Kx%!#%1`y@N3nHXnx5&y33G4)c+ydr*Z5R+#cp*jU} zSHxR2mPKba<F5ZTz9h%#^0j)5-J)dMk0fdTUrfZsCgP=En25hKV)OA=w8y3$JXYhq zPU7`uHnxNQizVJ`cWGSt#Pw#sv|>-E6|jzM17<;rz4<wcJ@_@nCr)YRoP0usTKroU zUn}@y6kpt*>@?%(U8hK;eR4(yj=n>H9=K{HT4cwIJf+!fyBov%<^;ph?ox&E;*Z6j zcn2w=W(G*^O43U64;ojSyCZDwj+Wd-UR5SOyRMN7va55Ezr<v#(QWddEcuyfyo?EH z_&UY6+Y7(D2>e4T0>z;;{8Yu)6WT<F{qGBYwBg1bCzJoP(()f_%>N~rB;m%NpC$hb zUt#@mU?>NscdgZB+<_sb(S?E6Wdt`AUByXw<{p(v8#^5+U)F`AA8ZXiAB^41!Pp-r zR=lK#Okc{S?0q}&r!=3Fo!bRGZf7s>4lXSS)>YLLll<qkkG-xxRg3xIrh3@<>S}q6 z-nZF&$*HSK@Wg-F(fc;?6OKN=ouA;O1(LcsxtjYC14Ge+{#Vln95OVOzh?v(YaNW0 z<a2L}7nvpWv8Si-QyTfE{QO|7cTP#=Z(N{tP2ot`{mVqUbycfahR%)befWe4<#$Xt z`j^78#M@{#x0i5xG>3j?Rop5rNgYE$c&GpR2Q25tl8%e2vZy8>xs$YQ?u;LOjhr@n zbB-Q1n+!%baKl34skotAtY4`}zLNCX#I3uv5?^YVVdv}U;_%<{P;@~uzytRsax`y{ ze0K>(R(O#Iw4^-?$y1^|nc>V!@>6~+r-8HWQW*1HD4L{_IPbQT(k3<lyYw=aw0CnL z5ah#xq;!%-Vjj2)FObop{YkhXY|hgPb80uHy)nnjev=$~)!&ix<Szc$b7@Ij(kzW8 zL(zm}uh$a>SW0Yr#S*cx$f;9O&jndtWV$>P2h}&EaFCo69@J}Mo}EZa_Y!F4$G<yW zTEUtAFZtEmetzS&pRJ4&Q#E8Pk_%%{<GBQ5Id^r&fO2H>w$VZFy2bKmZr9q;-ZgW* z_I<Nhg?P|tZ&R(;erP+MFKXwtzodYNQ3YQ6E4uJ-br-MwwIw{<SmL#>7{tTPgS_^) zj^yE-kzV`KG9Ct(F_BhD;ygbrzs!$`<nj81{4(wJI6uMIeeyFp8WG9CY`-KQ>mnlL z@*lHDMn@u|BfN=z@FQB0Xhn5h)U}pd&bd6Ok}njkIPWuzR^)iGI4in~MX<j1LSBSJ zzes(?{Wl#iHSnoOV!Zo{#?qRBf~&9sVhx5&!y3pzVXQ9?4Cg98xx(2TIzLoSzU)Mk z@69{}KaS-oG7xn(CGchrw?k97=nOn9f=CYx;@V>gY}^yTSd#?mAwlN$gyBrw+m-PQ zFG-*t3?xN`lIeOI$cT~z>R~`kEK4Ah^fr(|BnfOK8TzjYWNO|9GHxV+dg#wRCXfkv z8^}<R1ai>Ngz-el6ub>!WJm%y*k{6J1emi;mlJHxHm#T52xptltJvQFS*AbXbgK9e z5wdvOk*jG5<ksE1qK~Cn>3)5kG!1fI`0l5L=bIAAC*bBBcoy_63UXFI=T0y3ZkHLI zFb6Jiqg~!IT!xUjxjP&`Dft6!PyE>3;#S2^x|_FP{D_|Xxb^(H)Ooy*qu@8RtlW8z zSF=h>yCO8I!@XhO3c0xG5SE<ehPb>a6m2(!^u{fd+vu>Xur=*Q0Heo!;uEH@>7?tD zh8$1M=M6^df<?Q%>c5gjss<<E?4aBoYp+uc<$lcM(fCiRxb^p-aCEJ1I9VUc-EB9V z1h}8QYR7?I&2|}CAJyT`u<xrqUm<7lz;ek_@S#wYG`1)If|U^cu1cO8;=U23SpW@( zk;a0))!b7a_rG+UR`VF?*vIoul^+g&y&u7C+;42Q%%tCMWAgu;#Pxrk|I%og+_09D zTtF&Ro2f?4@hkGBDuMKDPd=rgCEL@2@8gpw4foyrvL-lcMJUz*t3JrYHkLqHp;fXS z>e1e!T3^6xU$Q-Usm3#CyQCCt7m5wq9Ez4~1_R}GJwi|OK%xTBY{<Q@p;$XG(m+HH z=Qa4t8mN=)H6$za2Tet?n%s>Y3B`E-N9dOx^2J6X2LnsYog1Mm)1i_BMYl`7WxsQE z1GSNg;Ys=YOFqElKlD*@l)Q__p!bf}f~lK!$(#7*&5}<o-6y>Z$(z&U+hAZZc9hln z4Js!YkjO>}$bM><JXt;!{o+;sO^uEx95&Y?$bO8t)CKxgJw!tX5@e5}l=HH{wh+{n z4t26YVYn;`!zCy^fHmMyIR=FVvnVW>pt2>d!xXidtAtbw2V%-B3R5O1J$m(L%{BRA zAP$>05SwOE*fc@uS&ttminty$D2$s$VcZ0zhpx&c>%pSU<>kbKg|i4OoFMds#~O<` z9|Xc`5tuqb=rOBTnEaG?;X03T+^G3uIPHX0PS{sJwEup6<&agGS&%x7_)Q1p@Iuwe z6FxM`n8jCPH-w$>KJ8j2<^C9WRL(Up&G<8zswA%R*U8zwdDGP*9t5#(zIX<~6+mJ@ zW)9ppUy@XzO2Pnx+BaY3J5-@T?VB%;I@E5MO^W;C%Y>UXwa*P=UwoNxfg<ESL*m#M zUncxX5f6dbH(%(b(!LwMOdbQw&NEcaW3nfhQ?(PbJBf+I;HV)F(B5pIEf7`duSqsz z#YL_fJDUvcn;qR9O194ZZ<fd<(*K(!vkdBgutW~8C$9g&lB*5scUTfKh~Ht!aR%`_ zEb)WbH%m7ElExC<8fP|*$#g1O>Qx`(*K5|~@?q`>+ATL2h4h}aaPBXCX-L-uv?VQ# zt_`ssc;)(VF1L4<guK$-a8)@vozbU|a5O9&#b`G+1qGawXPX>nS=;hS40}<@cJJO= zvDe<rT5I%wB(pB;fo5SJ*|6Nk24SB4<ZJviU5YC*wN=!<xq7E$>LU%!pyDZ+nr=}4 zL(QWG^*_{nltKLunJPA@{~=R{7}W2`)X#M6k<H(csg(xtJ2Le$h<(e{BQhT7)O?bR zA=r(GKH9%+!a}0m9$Gn4o9N_WX`jZJPdRCy#+y$+6RGgNYa=til616D?!n~~gSLCs zhsqd<H^-Bky?u+5b1jX?(*4ckWm;O;ea*t6X<<{Fg<YE#_F%KH^9Vzz#JRzVs@%cJ zda^3ftEu2`<qn@0xlCTUMh0i65HK!c{0ME1cCJ+y(UZ|FT*Mo6y2@W>0^67|uPuTh za0r2+SfDHvEzyeP0=iH1(|KiK-xjAx3k+&Z!|G7%yfF>m@^@szTK<k`_>{kc8dmZ* z*zg{IOB(9<+ofSHe+wGk;%}#h8T`#@n9kpJ4bSp7zu}2ctbN13La}=)X-^s+;9HM| zyZJl5AxdsWCjUR;-UU9Y>RSAtNis0Ogflz>(SigWY$71Uf)XK;feD<!NsR?02v%$? z#W(6qf(j(*B$bnKs%^Qgy|uTtx3;$0>b<oZD8eLx1W++RRYWTfADqMR5|9KC=J#Fu zObGOGZ~yo6``;fQGH0KC_G9g}*Is+=wbx$zUgjVI6-qKDP;Sk$V|43lcA&%x*nzQD zi5<wZuC)XC)>U@EZH=%49&3ml$h8KjfYXv?ejr*W^;=08I+aYYPS}AZ)<I$M!@zS| zm@6gwTXMf=?MZj|T0Pp|YLrwU>i29x@cJmPNEX(wd8G-9@e9(8x5tSxADg8*=g5~- z=WO~=b<TtG0RMkx(@Qcb;g~{hAqPF#Y9}suT_v6@4-)@ccF1h{w|;N;(xSwZWM7bI z<hLSG&u_W)sA}3xy7izPC{g$E@M)~Iz>dkY=GcLJ>#KIaZI#*qk2T2-<XT@*fqvFV z^;BJD4YNN^um;(IC04c_SY#F1fd$rBJ5ZtS=2Z|~YRBkSjvXkmvh2WEE8Py{S*HZ6 zP>c1M9dKK6WeG7JYnL6!wcb&Ie%2QCv>|G-KTfb#*?}e2O9brooZMx>R3d7=&so6x zW^rCwE$YnyvgTal?V$Vh*bClgcm|Dnuc$1Pmg*!L1M}b`;2XU{gO2S(F!s1t>}^v% zA5N)D=iagvhA0Muh7~kA&DBradY?h$h}NqNQos+G`Sj=-uh`&nC7o9P4UgOm#pYbl zIAJ!(X0gGD@q1ZA$Yq`Cnp{F-C6uoN*$N<&m$8zdLPF(Adncg^3FS(NF^ncpLb`-> z2`!OOxr7!=Xo7?mNNBNy7D=c?LM2j7ZK|3)iC!YBw1Hmvo$vL?;|_10JW$95Xx%d; zme-KCL@QY7_0TwZUFt2D$1Lvxt>9^Io-~<~UrK$QFZE`4wSr%I#}cKz^0GHA_34-1 zT1wOkUhtNrVqQ=^BH5o(Utac>OP+!?-UaHp(z{qapZ3<O=P$iaswX|llWQ0Aw8wVz z6##<V@fBO?-9dEW`=!`)s(YYgt~cR_WyU*b8;-#egR!B)AiMPoC@GD<lxVN8g|{!m z7tOeyzO2`n806NOeLxgB<I$eDl!!=IZ|$*>^m3rm-+**tCU+Oc<?CZXs%P#0e9*a5 z^bz%wb_0SQ&2T4ni<XbY>>3p%8?`{`G1YAzXaYUKm}?Bc0Mio1tsM!jkGAtOB}BTA zaQ9=NhBEAF`QCkT$=@$^_(5naRqA_oOE2SLRWSZQhcau8oE{zuc6W&4iYa}YYF!z! z7n+Bqc3t1rogL^Uy4!<QY%n?rt?}vM;nx^^^&m$&x8Cbe&3#;TWYAcnItYb%$cr9v z`BE=R#O1TRs2i8h_byrC<oUSW*MqniQ5&?>TSC+w-U@zS@YYf$x`L3me4%##%XVK6 z;=XKcP|&-G4@)7rLC`2)*C+}gF3U?+?myE8-Q(4@K~JlZMEoqTN3xX@obS!!_YUt^ ze(&*?@Ei0l=J)093W1uMX{@5+0Oa@#?`p3gk<UCKw}Q%I27;r<XN%osWyVWEXFPR( zW7C7OomRJA*v@%Mr@!A*)rp>-8pAXp{jYYYCRjI9M>op5NnoGS?c@YxLg~J!?(Y|T z>3IdeBPGU$4&xCp+O0Dp_H&;NgFfFn!i&v6<z2USpZ9Ka2urRPOr_7W<jSO;^cB`i z7rZaAo;mN`W@J|Cem5z9kyU%%cNm<t_=5LxYrzHY6Rh$J-b<{K3*Hx7V=s8mwel`_ zUtoF8y?5jA-}@-iz6orc!(kcMhfc6QW?M-@ORSwLv__GH^`?56<h9nPzUNx2Qz4J_ zQYz%OWY0}<=UY#wLV4ErQ=zfeid3k=TAm6mutKTOBI~YHXt5<%I!h_Kb#p3IZUs}J z5^D+}Vc!$17_z#s<yvUds#P!Wa7(VMl?3_LJ*iNh^$iuu@LF?IQMr~}CoIWy<?lm6 z<<`VhT!mGb3N5g{oC+<nhNeP`tpTZ!$I48F+*T4{T}l~i$qGS2C02q^(|wEu>o8Cw z=e*xv2}Qx3AU>9J%X{(|f6agJh~{%^D>~yA6xj0oT@2lEWS~6>GKU3as$|PWLTKCA zIFS(ZADlo!`MU9VYSM)DOY{<nX8H`u^r>!*eO#eRUYITUkr1<L(7QlF%&Jr(p#>6R z)}m+$F<bH~Aq5BXE7@$lPvzs@^}_F*%~o73K2yCBR8o#APEEr-fYWi3|9=^J8)oYQ zuvA<(K9zX!zYdm-RO^pQlA~XRYI4s<j}nIdAN8<xX$mZ8!f(@@!WJ|Kl?#;rPYBNv z6{k?70t;Zyr!7UVinj9qm&b#3MDe8*Sk&GFmOTfY->oUs{VxntYwr1AsS0~YUX6hN zY9y*&t`KCG2s(w)%8M>-(Ir$aq5lE*uv!$~Okqn^(*st;-$B(s=+6J!V2wN<EDArr z6Q%Y4JY+qn`@ev#m1;&wVM~?QgDv&?Uv*-h0KG(ds|ThF@b*9M#53rmrCc=<RVh7S zE%=|H>H@HO@TLfYO8&W-$y#_mSSoK1Sh@cf!Ro=AYV2YGaFLY%cPC8iEj2-=u%&YJ zfVKGl7qEKp_FsTC;e4=Ex*o9TkN>4PQ6XT0U~q}lS#JFtZL>LP3Q|*QF>D1y8x+eP z+<`&Y85xVQ@uLW{9E|ZW52|%R_GfSLIbeUzwm(mk&s+HXWMRB^ovhCsAs40<C61XW zVYg7u$J3;q)4|wdT&qlpH==|*kf)4{eso02Qnp4%!jtvrtM<z1QMdU72MHowP7H;k z>Gq)xV^^|#k@kwR7UBp#%6C1oK5t&@x%HuLaO?J3WFu;m1uqk++fOJX*&${yx%PsU z+1Bj`6DYLX5-WRlyRnCwg`L(JVB^@)8v{1Tg44C0CszOgrP#y#tAZAjt5~)s)kLS1 zC|`p+iKq3i*{x@%b$#yn_9f9NxyYk`K_?cBKC4<BD`P$0pwJ;kR+y53g+JPjU*`6$ z5-hTWHx1U=f`#Ad(NYJ3tHOjrgKhd^S7c+O6$$vg-bld8I%OEUh*;X$)+w)lM~d5L zzVdBk`H4Vo%a^g@p-psN4DC{zYiIxS>|WmF#p<IHmf-MUJp<dWn`X%>v=;cN2oX7j z@54bO!z*|uN-UH>u2o3>e}vzAs6g<02hYEY-xrZX{=eaOng5@~Z>iFinWH#(Ajo~` zpFysyPr3iHS2unSGZN0>_wEK8zc<(Y6@FiP1^kX?<FL*3NWb&&doM44jo-o(3b{QP z`)Ba0N2jv^W_omkXY{r_-GI!0Cf%bOxDgaXzT0>(<f3!<Qk}0y?;jhCPA>^YZ`6a) zIpx9VZ56@jw-yAW_b&=Ys}~2OHB0p9w<g>+H@Qa)mP8{~mlVsY>Op#CJ9IpomK&$p z%*dFs5c|D>=0V!m?ieI>Mm8ob*@apd=}Ky`krFC)B$pLq`C@!pw=ao7uNmY=j}FB7 z>_!wtr%+#}lMc%uWpvRg#WX=V@~_4cJEmB9vi4LTO*v#^<o$RHDm8JMo$)=kQj)td z^-6PC>qyw-s0IIjR3Q(c=Ov_y`8gq9(-3}H2ga~P)J0d?thZ-)soSx(mLI(x&cM@g z?D?iQ<lT5na}{nQL*=Q)tV#8oLRql~lF9h+&sJnjO6*Uz)Sap&S$MbpRKl+_x`t9G z_IHaMVK+rBl7b_rXNTzmYyuN~<S{`{N5KROTBK_)w&=}fRwA=7o^UnY=}8wmBEj~& zRy^Ho%!`%(OsRw-r!KC#C~|l#3czHh_QQB<Y)(h&LuOUq$Xg8Y$l==~NtgX?9hpyE zT%Aq{ttocqiPpHy5eKD3hvA7?W+_&nz>vkj_T1X)o5g*`GwD(8Wme7p)ErbLW}8bE z7sl6O*yO;t@_u-Pwt9EYL)qq8G<WTeOyUzaQcCU!2Q01FQ3Buhn0xq0aqY@KT4K!F zTrj#$Fk$xVhj?qOM*|+pU9FIgqLZSr=;}}5K0_`+ty?c3;3}QVhg)ZIa4wS$GXoTY z9vz7CdkQpK&9xxhw%QD5>6NFO1Xj(JNQd%+MtolDOne4$?Xw=M&MlgrwRF5*S>tYc zk3_2-l&G;;+1e1V>Hlz1r0Z;GoH+v6JKr~Q69qn_#N%r(LGwlhl_goI({<+&?bULR zbF<GV&(fn99~quRS|PQlYB2i^l32${aNU7&nkQ72ckFqb2iIQqoHJ<9jzBakt|u`v z-4s3^h-Jie!}XblWo0y1Z+JhHgSK--b*3KG-3<H>^4O^JBt8-?;WMgW*H2a2dRqk! z7TF_pJ)q*$^4j&Lgd4Vn2kFt3-dqKO>(<*ZlQ>=TcK}I;_c^ED-n>H|21B4<W1609 z;ezH~lg5OPB@QW=&0@L}HL};FT63(FlhOj|MJRy6L*?~J0jbDddSSsAS>xS7j3e~G zYIs3vjJXx<a2!dQ;~jgRG2x*!M-#nG7q|1CI&rjFb2Y>tb{=0X6oJI?$s1E0Ytw2W ziWB}Fz4AgA!5ru<l}1mtf~fTH$8E0P^%ag<w_eaqXPXbPqSo76C-`q7_H+f0hup~l z=%U?;!}D6@?r|~2#=`Y<xn9|(8ym1;ZgHEOJxv<SU;DANO>Q^Z%{O;1NMg}j*%mO) zU?RP=g$~&uVu2pLT4W5j*+*)Mxqc%#4+V|GGPKcF%dCGZYV3yOOyF2SzlZwci)=N- z24(Cr|A=iReBjR3d%xP|(~b1DsZNkP;0`^SF@hwdDbJtRdYlotwwPB1s@e3M8aIK0 z55gI+3V-bcN4PUZR_L|3>OExY(J<Y7B81H#YX4p4ZNHWA8}2U?+mzZ#dBx%0Gh+Tc zXQG!L+2Breh}O6@7<HvxB;=QUtj`9=%))J${xWRzqOG9<JvtUs#V}|5bLUxuWXq%B zM7WQTDT5}r@O{Vz`gA9@Nz~PPY}}jDMmp8}%4L!`9)e7AenPnr>C^HMUuwpX4&BIZ z;Fa!RGflc=HrNV#%-@jRo<l5DbByW}3I*a!&3M~<`PUNFURJO#^tQCWqm)+9l^wDp zf}PmX-f012gL#eGo7o`M-w-rTi8(e9P5zz3F{RC4>?ocQTUyLeJQ0Y^cAEJ_BPxl% zb>lGj@ZIYBy6-lt{g6GCFOe<=hrJR{`66#7Z}l5ycbe9o4vWOcwbmsgKwOo^wnxl0 zVKXvwC6Y^3zV_;*CB#gV?N(>IH5{#QPsZp=0M3z7C<w}$uug`J>A07%lQbW`2gqW@ z_hxQDHiKjo{hXV(w)&bRu^y8X0_qd<RW>nTAA3E`b*_@2(WX}}8QZjxkD99q<fvS3 z#gEl&m#4lQUnk7m{5I9DtC7$aa8T|uwg%)nX|^Um1DeT~eou|-@kbCW%}17!Y%0Jf z_tAwjF{EvEOJDCYKM=G=ir4Y#2;Cgbeo^A1IWO^u`I3g~X9OBHEx$s4iqygAFI&V2 zP>;$$oJm`eQj>2>IV&kA5pQ?hO?m-Sk7CW@x|6rWGm3l}B~S<BbF@w*qxvxPYu;*C zUqX~4+!ypuCq%}vJR-%z`OOPYQd0Cf@$F+ymURu?oK1dn8<`PG5;p*FviAl@yXzpo z@{bY@5frXjnf-x;qB(z25ipKBHp3vm)YF@#Ey=jyTFoc3p3;~fWT?Re7+$er*=e>A zQ<JU2AQtp6s;WMEB;hWMCkG@BlE?bMri%&#qg5mwC`+x*+1gS|8+pwWafJyGpjh=r z&Sr$O0(F~}1e7E;a<+GPbh#V`g#ii2y^ARnANcWgIxpr#!4rd{3y5!-YwcAzGQ%@` zP4XG(Naj|0Bd)n3UHilR*9wX78Z@?PE{mf(P<fZ^MgKd&$RuwXl0b&NK<eCK{eZ~2 zv%Q#4!?)Qbu9cT_#a*o=a0-K5DLyoqsl5*cre<)Ci0lUei5aTGEvn82#IUX<6V}QU zp~MGOSmMii<%vjFubSSGu8f-OggaLLS>%+nDqXKUqFSQzN<)=#V`P0r>rCTV0HTf@ zC@-n~v_$y%*s#agQMd^f>_d*>C!D9p*wyYvFl!pnE=pQr^CXmO>@2sjd6%PhOYJ%V zD#+2y%5COegw9*$+RzTxR(~|$p?(UG9>6u1`EAlOU6jvbE;~>WKxm*3C!A<03HLKP z=%e#M8Ga6wTr&AV^Mt>Gr5p(K%1+?9i%!|RPF9sP+pGW*X?c!a*`ikHC|J3*=`Xx% zuFf6y0MhG{4vs5UY33DZ=X{+X_>H_k<PCPTcSE?oSxT%yb}^32#EEdTg5sh6YlZre zamtZ#7@DwL1eh)*z|3Gc1lO1AkrpMugg6W&ng<qLOp}W_`6N<OLo!t4kEZ$PyfAah zk;E{9X`w#+_C{RUoEQ*jj{_;Eju3U|Y<=VukDh!BL;OTb3Indq6A^EuKXmrr^A^ft zKVKNzSji}X2`bRAi5bn<ClMt;&lg+lS3FQsn1xK3QjnhLuTrUOB$vUUnu#`H@7fYx zlG~9u1P3Ca7RFnx6NF*8S@fC1(RkC8!uW}nw9qAbw62MW$lfz6ZkhsSlB@$_u6K}Z zT4&EB{ScM@COsOFWO{NVY0gwLm5wg$C5+~<`TggJPkoN&eA$jwa+~WCUT&Fpt2LZy zvtk}1{LR7G_-rD@HsuWSqVUG!@MZKY<_yXqN{^2I$VJKRt{pt&pSf3RU?%OSM{iYC zz9Bo8#$OWqeVT{MO&~VUIZzdzwSF)iJ^CjFb0nDzxy+}?!yyO7q7b|Hn}MICrYu-| zQHQQg!8m#mlmB7!drVy1fFZ=f0f%!3q1w$sWJzQM@S9nC!<4k3@dvwnv^%MZxfR0O zA$X#n^VOJDBSus_B|&;!M~J;vD?kv|3gDDl0fZ*zBDLfZ+mI*K)3(gf3SRcUq~6zf z<2?0Py?3{IVn0EjyWR3a$@X|BCQIl^wcnJpQxJf_(h7GyE7NlEM5cK27C4q#m)*jL zSh0^dmM+5V3*)!6%7WMW8TugxVbkT1%uUR!$h4JRk*=NL0f_Bd)7uoP=4KUd-pby> zEv<z~3pZ9+h;2q_Whyu!1z4mc5rcbzO5~dztmGKnQM=pq%ERj}riz(CgPG@0u(CN| zyoW`RP{Unx5#z<2h(z^uUqz~Zq{#QfmzOK6qrK})O1}%`2I*iblwf9)`j)vQHaEf~ zM9{T6rWIag)c_uF-DD)2)OjVB(IRciMq<ot8Uh>|F|47@$H@yODwDM2L{s2g8$#Xj zO;`LiV)}xZK22xrq*NbJNx{h$RcW%^*w%FRTtTwG&{KiTf;N(5L;050NR7v_q;z&u zh<M>;9A!k~_>f!DY=9&$k37l|#i0mbUEg4p@@17>&3hoaNlt;%kh?uH-h^#KhD#X> z+}9zXK$nn<O+d2ta+v*Fp_$61;9B+<z*&B4c~hk-MLJHdfCpA#{b$!bO%c|tMF@ny z2kLVIoF1)Zgu(<C=Ue~62N+21vHKn8WM>xIjPc4{K(i=vx)&GjP&2ki?++3V@;M6= zv+S4fAU-vW;uB+CtCtB|Z<>15>{-)BPjD1&3j(!B^g<Rgvhsuh=99>=cA_LT4*L+t zu6|mAEwX?w*pJp`aLpCUWUW)OxXt%}&SzN!wfP6;a$mqCFG}D5M=eF%_8Up_480^= zP^(u%n>v|NGd{FebG^bVX<CkRgJYE}xk1mdXM?fgHyj&~Sxz8aPT^BPG+jlm!$gMD zeaSYCa-CW}O|3ODg0TfK=zW1myW9LwLCQ)9;h%|OgE?7Xi@APJ#<q-+6ZP2qkvN6! z3je-sY7)kH*nA(9_#$U}k?1`V1+~)MiCMxIN76*v?n}WQ&L%ZDH-Afp1gtveN|J-P zof8sSWF8`KQU8t!fOgx3pdB`=$O92965YnR)kbPjdfZnotG6#<d#rbU`oIA5C)jP4 z79MO@UhUO_NSx=123O8`u+$M2`f#N9febi#=wcjgB=PW9HT#Cx(h&f3s&22mCoU60 zn}L-Osozfo^vGc}@B2L=R8iBr^oyn+2_4W2-Yq;~KJ<)~x}M}^1qZrI>%H3Hp^)vY zv(S|t_RTLm;k(t+Ng6cFTVyfRYW)PM&R$smO&i{2L*ehYp^-lBX~XZ*|NAz42Zhyt z*M=8=_D{E=o}@i(D4~_sM1J(ha<?PoJg!HsR}Yk@R5}PJ-%NR+wU^EbHa*IlF_w{A z#q%27xVE+AM7u_|lE&&Y+N*QU;?VumVUaz<YHPl5g!(sZlM*ZEbcwmS!%^crZgk*> zg}Jeyoo+ayI;CidM-{LnFS2h~QRgz}@#vD=?T1Th_c@7=E*WwzESjij@wT(;(H8Cz z!A&nJQc3cRlM9=zUXeYMYfp};9s^%0+c4F^tM+QvjoOP_incDNBt0+LmP&RmzD7%A zEv(xY*A~_#<I)gRP<eW1vy{#yBdKbdtqeW6NiW)5<viYcVtU@N@L<5t(|@CqU8JK0 z6fS3aS|v7?^Va&Qj)l!;ugGp7$e5y<+&bI%%paXT#NOYCPS5pi-_v+w9-A)F>O5a& zyh-F}pRsxS?uE^VdQFWDbaGg9SaM_J)5%3GT7!6ot=*HS)qg}Fa&}D3{pLez8o=AT zY<|qAO6ppo>IxLKK6s<vS(>NdE7d37>kdzjO*<Ls8dj~NMSkK8D154RjdO9j!%<l^ z-WS7zN@a&08@Np`T6waADztC^K`QDRpgr+h0*QWlWSN`Y3OPhZ_25&c<7gR^fU87` zi{0FZy^jvP=uNJ>k1m5`<TO%|K5<kBYf&SsBjHB$>>xX0SgAYpln19u%&-p*dIV0e zEp#nAMv$I##S~AY?pBD|zS|!wNp|iqnxhX6G2R;9X&gDC{l_CiirT`5e8Z3UjVZa& z*?9|__xFnIog6tershkHrS!!3XTJcn%FU78!}LxLAJlJ=wgsc5o^#l_sWICF?~3`H zXPZGyhzw!of{l9YfxNcbau9@oiejiO{Mk#+$o}3dTziu19g$PRs#&ycTT$OnlHiIU zPp{i6=uV6fP0%NZCcehSXW%M2wJ|94cGXr>4(*}0MQ4ia2$op6A7U91EAB(hW|(}) z`-zfL*5w5$M8{koo|b03qZi%NQ6B0aX`^bUhDk?6J`t<6BmT^?A%*e6ZHeAw4855+ zbZe_Jj{Y^xm7~~QDTR|r#kuD6bI@%tJ~Jrga7p}-3nVdenF=$^T!0jRIMHPuboCvO zHq*?~!JZQBm9v4^z}{GAW>n?!>yq*J$QODfnNjULUi-*t#XK+qE@(rC_7I)O%CO*U ztzs&**U4AkYry3AlOp%+pEQ=``Pwi$T!_k<sb>2}f!K}7<m-CjW@CsKzbMIJ@b<uo z(!61zsi?I$l4|pJy`aM$cF5GSz>$ggc4e4LNao!rL#s6qn>1LdiOjr_EFg``qqB!Z zOLH?jd<`1_1!^nsJI#q1-q7$y*Zh;~9llsFhuzMw%P1R?_`1;nk(CW8Y6;CuY-n^% zBmok}XOKH0H?<r#_anSxddz<6Ve?C>@959BnNG}a%T&xfda=2gtu`eu?DM0tM0NjD z1<S}DQBss|B3J#-Snxl=kgkva9flMXJ@7j|<8^a2oTSWXW=qV&TpJhJq2MU9WyXy$ zf0{=*)v_{twM))8%3`w|U--0FT3M`Wua=yJX}%KY3*6p$JXp!yg0ELytvBy?;ae|Y zY!5Ui(t??sB9>4Fq2V3EXJDk+1shrR*<m^&9vZxmjfb;}eF;JA4mjgHzhJIn^*h~D zx<Y4nn!UbeGee~e8Xducc)^j-Fr!5sjP|u<^oL<(Ebr@Un{pafI^~Nd7nJ5}EI-q{ z+XXXqcKBA5utJQ3>h^RII4BGq05hVa>LH!`E8rLd*0IC4(b&AzY~G)i*}{ZnrXCsg zo7;YPGF#x9o!e+pENA)Jsg6721)tvCyV?Abwl*UzmeBw;BxB|9)ot3V18=6y52a%y zOOsQtkq$>|qif#@MNEiL#Xn|{TR;9Wi>t<*WrQjIY)g0u40cziFxc`7_)&-OqZO`M zBy4R+KHQtd$nU8!bWyu2NSyp*UMTiUp(iL*sVXA}Jdxt3D9sU`C(c0J$i8=Our=~( zaho$Ac=Tw-B{KV8hR}MkY^j7Uft4Rt14)mxxlM~%fUN~jVoSSgI;F{gM)+ezV7R`* zdoVg;5)bj2a=k31-GQR@A(qtadm2+n<Oxn3@g)*y4Kg2)sV^^<0L=>hED*>)>t%V5 z6g&Aw%E#@u)AChu5Um~sfFv*_N~^yaDD>!1NzmCUBA{0PBZ-PdM3mE$+0A^RuATCT zx?Y!u976b|BvSjuu4<KH=u7g5wC1)??fRxvVN5lFtBP3rb?CPU(#8dnE}4Bhj{w>+ z#<r_W!m^GgAAt<7JgqVtw3px??BB2sz$gR-`}=I})U^t9Fz!)JBK{-h%95;AY5DZd z_v=2Amgr7IuAvV|cGBmuK(m($yGUEqit?%5RnA8WO)At_;#39ZHVkn|m=-HpAG+Pb zZL6-Pj<r&w>AgZ)Hgt$8G@*bv$orblsifWYJstp!&rVtMN3&zRE0)ckFp{k*PT&5~ zs>?{D8z15yEz8_Cf-uXR(Cxa*M)~V{(lt{GG+cM6$IxOP%JyDXW4BZGYMEdaM56fq z8bC>($k}4^`};6am~e$wU&I@W3}dJ!xn~JPk@c*3)MA1KA<L!Lj>Efe4pw%e1d4sN zk9Z)mRY2Hw4MgV_f;Mq$Q2z{#Qu2k?@GS{GI0Pxf&1&7J!{s6MtChrSj15d2_*S@Y zz{q$j;iezo0!r{QB_+4W<mI>_I;&G8mT;C8pe#uX=WLvjrzDo>BSW_DPHrq}5BEcE z3$bnbHTMk$IryMQAM~h1jbC+d-|aJCg+6BAhOY3vdK3*}(dJO^8;oFQdE%C+4>6{A z`Rb`mP339lgvv?NVNClnv=`giDfP#)dY7`n;4h393%S(vPPX`sjfs7YzC4Oe#xb+G zv8C~5H`3(Z-Na;etPnwd^WT@WV!8-gZNTX>j`)Um8C^&G+J8(LLQ@jPM&767hMDze zAZ{s{J7V>YoE%ntiC($M*Z8s~G9_+qLw%B4d@Jl%qq+0F;mrjb$%#60m<U%nH>{fK z=-e@U;{|Nf`nd>G+&{|4Y1*r!7MpTormy)ECfE&7a9QO+wT^#;WH&?~?-Xgy7x}_n zQv&BMAkz)8NmZz&oSmFsZr%&GMWEeWH9&i1y0dwAnkeO(FOGM1z=&^%4Xonb`HuF= zkY0(2e(`>n^A09Kk=^M;rJZPXhWp1deyTcN@;#KX^>o70D_ikcu|Y3JKyp+`)WOJU zQU+qkl*O{Ot~yqmwj)^CT1Lu1tR(e8`_793E}Y_IA$t2^)zkE+SXMT!=`AQL)n0kL zx5$zuwaLm7?MH2;pvtSglJg)$?=RRKIh9$H6Px2ypI`l<HuYWKij^v-`6gD0z7y-6 z;T&)=tVWY6oOnb@f4p4~bY3GiR?URgZ=|ubQp|t)2I{(;wJD$zqtHUzQ6)qHiz9I{ za_BG;IY?C9Pg3Xc$;Bsa>W+l#Pm)Nl+|HgXvTqX9yp3cwLZ~npo0aCFw(`j7-Zkth z$q;OhBMadPdA3I%36oUm(DC;gh_dv-VIXxfGx4z4z%Qwe+ZxoS*ybMElpPF1qvcOD z2OjxOH$zJ*2BdgMP>FzF9WLTMBA_rL?65+WBAO#B*ur8;cFgRM4d2qdrX#=^==?nC zGLFDLHx}(!njV`9pM(eLEtXik1tRe*5$HE#G{~N!(T;rVHdjEEQcFYJXnXkbzm?^$ zr#N#I$EBfJ>rI6s6v4%>Vi6V19?C~#fa!tg()RM^y&1?^G}pYB<a*sV^Ay83+8RsF zu%^mlv_>|@S4=y@{#d*%&B1B?qSj@{ffB6W;9RMOfU+GhnvHi!ts7yFFY@u^?fZPq zANMj&CN~*nxv?9P(Pg>G*SGJDd^D`!ROIzMv?ZP8$<4mZ4~*GEU=6x)6}&+)hG=OX z;_5;cwZ6>tNXu+30M$mLG}oNV>1c-6IUT4HT=k~2oVw&+&ACNJQ9HC^e1UA0NID(W zITkx^4zqa=mxtMEonO(B!C3XcR7alQji}Sj$B_C(OQMu!kB}B^atHV^_sUNpeE~mU z_7>@=`1Ye9djN-95c@?Yzdnz7t5hm57I^|jDU)-(cK~x98X21m+DnH3k3-MiP5&od zj~|jLsx+^?G*_Z6*(5UGqp55x+`%`4y$<sx=^h4u^qw}D{=x7q7-B4+9XUO$W<EN` z&>Z0xUkgOmw8@Zjgr^(tMK&S)Z4E^0-;t<5bk;j+ecLzsU@pVrqUhI#Fn45NN{~)F zv$SdNbr%nYSvX{Z`b0({TcRT14sQuvR?tBo7#(m;kvaRke4fnd*Vc|oOMDr{AG7Fw z>~4Lc)_s^w;NmHtfu7?}FqX&ZmG1-phvok0_@@riW*q*?$9MTS4@H;XIOLZbbGt19 ztevRhY<FQ|AkeMrX`F+qXZl$#oZfp*)zi;ju~$y-f-%~fo;I$NlVxf_CpJh&^k~fy zePXq(>Z#6SL0oiHlrq)1+Yhl9sZ>4HL(YY{^GuJ9-**5YyH!1fvec~3Gd{ae)ieGZ zf9O{Ad{ujKbJ0doAl;akZ0S+;5WlskW2sX0d@8D*vnf^298^6mN=JgKN3Gsjx}fUW z3_C*ALosSo<Gc#J=66x;Mez5_vLxpE^gor>MVt%6Z;Rsi#$Y|vI<sjIG$31sY(23V zU4?e@9rNE3#6h!}rrezzbtDk<(#43%x(J&CT*@tv%a2&bjT@2dja}K*8B7P-&)RD4 z*XC?ms9n{p{iInd-BQ0P{B`7xqnan@VAd#ymcQ}gK1a3rn~!Q0n-gyNwcqA%EItc= zt{Fl~*A2_AavYW8nBw1Q$)yst<M)?3TD3V8RMEUp8?&`a^150iRzV}W0)WXIA!EDv z^l)o(^_9gxeP-JA)q^ErfW}i|hF8jZoLq@TfGNzu+HeHulgYz1RlNWup14s=1UDRY zklurlEWa6Edj<-5WapDT@bGZ+334U8w#D3oC<78Mb16~U9M|$MhGRTrf2mL!>GiqT zK7%mubxgZuW3xHXM%k61tZGu-DYRwC+3W&4iaSANmFt*R5pUJTxPI~<Qyo>k*+tp< znfTW8<b0P1ZA^!XdzZMQ+T83P9+IYca=ycpp>`W?)3p2+g(vAI+Qf?|=P~(=QnGpX z7&IruZY0)qyTqnvY!)YhJ1A`{f6e60S@gS0rSwgLJin?z#Z%PW)}z`jfHx;@WBwn} z!Cik%2Xj+&@JXM4f)404kLw55Tm}%`ba1g$*+T-Gg#_li*1aGkpe=_gmbWxpTp_qA zV%0=W4yyTD!=@!8Fe|NbZ0~C52u%g6uA5$(3L@DY?P}QeaGJBFvtxKiVuXCTmM?{I z_3aD3^>c2+KH*~7;jfL4=BH$#cAwqiEz;smy7RNpIMw!r0d4ulCK&{b$Z-K}^^wV7 zS$%6~5+|O~R_#VVL@=CbWBBVV>|+^|k<}jTt0@C>&?TQ*VYFT;H%=j0ItCZL8RO1) z;<z$4M-x!6m1~CB|4td-Y7TvPm#(cg#|5xLVLbZkcB`6(i$PHH9?ICX#O*_a;oOus zrV8;FH0#?xO<bz4Qgb1*xITOfMI0K3)my`+hx=0>l|n5ApZSYgY7&WywEFp^Mc0U_ zBjsUmwo$7WUmOT7dh?-i?3zoS#F2(=%X3#LxuAK^I8H>0y)f9&GdCvssLBO=(_S-* z*X-f%>Y44d_r7+UoRsxKH&+Sgr-<m0v``M%asBxBLdCmGZU{_9MwTRs+QBKKudrB} z9J+F}FcH-&M(=Y7s?~?LG%>f+KfA}{159dbQ6?R^5Y0x>DAf>P|5$O4%V&ABidr6W zexDxSEWKV#_t$9kE2&5}2Wo1nJxn24#@2%7I>gzUtg2p6P;;V6eZ95n5*ezee<zeS zcQb#CdQZ+i-V<Mz(7j#5h2hi;ug;a%Eq|4;MZMp$30A@2oy(I$>sf?&t6*&25;uQ` zi7r`*mePfbwXVusZ~<RlOQVuWcRFp}QwUv-m98lIOnb}&9#$v85{{q8iRajQofV>t zr0{QK$a{wV1ps(vziB^5|IvPqU#6aOH){DETK;YT>HwhZpV_fHdEd+5e*SXqR&f=t zOKCr{zkfhl^?sZE4zsBkdV?K)gYaLpe6u@=_q-&Yo+R6~e96Ux;mP^=3j(7+F!v1w zOa%bU->KzqCr19>AtkWP|AgmWAm#zznxFbKSNP+4{+gBW6`OIS?&Pi-Snn-DJMFqN z8MZmNWik=2650ZfpbMgxo$?cHwc);XdykN%?v(t7T~^-%iXXdr^%~`9I;If3`<jK? zJAUsGJ)NIb+4Rs_85uOdm9HA$$vN^o1g*O0({aR)cMvaK#dtI}>&+*}=><pVzR|21 zH;`0F7sh?%9)?wf%gAC+8c-#2Sti|?0exrC_CM>+qnJU{+&=uxfKATjucBN6BOap^ zp3PeRds@Cl=siBUzNcaZV{<>_ef$IJeg50LgSHB$g^EA(*QVw3dG0a(hEB5!Y9kt~ zRtQEn*s}t>ONPv3t$r84#hxUbl%bJaUR5ew+KH`znjfwI+%FdCYIKSJVwLD@bq3O) z%WCHv<n8+K&5;}!aMT`GL-aVPJT67P85cU3yGGHfOP<C%#@6OjgX=z(`kJi)1xFaX zyJZ2NedV8It*kMm-Vhvd9Dx>qj``WOzf$v@po1udiyT#^P*DYBbEQmqE{g(qFA)^V z2bm-JaNayf3F2xOkqAT8W@}vC9-*2#ONLtH<X4vG)SYxN--oY}L~)?V3eQdyz-$L7 zxs3>Tp<+#&6O+!dE(g3)Z|DgBO`?{>VA&-a-XRnLnDaMl`OPWn=+_q&+$kh;rXza- zsyiioae1*?@7JCB3V_s%T_q2JmW5xzR@<g~`ysi)j(G#U!yczzuvu^D5<>uo=5J}8 zDKlNG{7~5*wB+L?tOUWg0@USWrRO(xB8rt1pP}*97yHFZZj+LBMz0k_bk%6z`Gs&| zaofYcU6>;=3&s|+Kf0yr(Q}L`AdKk_mhMb|TKzl%s|B59P8zj$ynKDEw-iI50U3+a zBa|-V>ZM;^%6QsM67q>>7O~jsd>7F{Vtz#S!;?!UbZHG5-{{Pbwfyx~I^i2)87ghj z#;VE0$IBo>kNL8IxiQ=ux$aj-hXW0l2EGm2s4BaZs*Y-3hm?>|@`*vMYBlkZCQI(C zOmTUNw1~~<`jUCp!F}peaw9nMX)BwRq+s`tuX#^@zp>S(nOL1{lYy$L3e_x{Gfp*U z7G>9+e2tb?4<kaF+x+jBI;s#UD%M-qE3oFTx5g8Y^gnFzF`&R22Tlr;6WExQdvC4L z{2*f>0?u{a;vD4&sQz_0;$PU5De?;&8comNb#Yux<ZGp)s4Qm|l>tniu)?E$A}&XZ z#fRdHc;fa1&1#;+j~>apUPp5sU9vwj9I3NwoNzIQlNl)3C^A7T`)w3h5YT;bVPqs@ z;{%w^(7`S>Kt1#O=&LECmgX&~;M3^m$q{r?;886f9#pYtflxdXf-tT5j7ecuo}p_< z#yg<of5=b8j#4fEb^bo$uk~mtld{CNAN6T--=~zJ^^)E%a|YiMM9=T?F`6aO=nDBp z^d6!sPD_@fyvih0aai6ykc=|$?`tP&i=_GsQ2--|=r6g6vbsxF>1{SDrSE^$F8w1( zWZIckp_C$J9;QqhI$w#LM^FfWQHk#&p4oJMCrwuM61iNMhsgVLnNR0`(lhvDjn_g? z#P1{58<CUOS51ZOT+B-gdONM&1wlaHZHI?*V-JI>?vxt}sv6?Q02DG#QSZD@7)y$d zuO(C{E4raGxuk&S2zjzV_p8^rGD&|RuzUy{%=?}Z6Xm<{*^F35U#<qHqalR3A0dzO z7<z?#O!vRFgltU7o;%)JOh{%OMwZ7l*e=v&&=q^gp_p_RHv|yQcB{`7*{OH3sXnEk zxge;bxd8|A*)&R9{pqj=uUM_I8KDFpr(&Gcpq4d4I<66DysR!zyjo;MEuVRJ?|3d2 z_Xx({m!H>l4nO6RR)}v4;~rx&*sfv#ZqtQAmCc%~o>5}d=&JUSf*h8RlC^_HYe&^G zZB7!_DeZc-K-M-MRbI<JCqW7WVee_P)@!r(YB#S}2`fNi#cn0Q%$FHh2u~U&eY}xn z_FIn(2=_a01`#3pJ`&*3Xe?!7Vhgw%c*n+;(3^mp7%XYdHC<NW9@mneF}9_9|KXyp zW(iQRgnJlfnDgU<!v*@G7oQmkrW8=cXJAY<eHAjgx)(D*DRhb$Jtq6v?Shz!t*lO~ z`Vi^Lpw7e~iplAZ35=}j9|V>P*MWZn7P}(XSSnH=A?C^oe}A5V$`<L_UgH-bNZ)vU zwU^<FcEoX{CQQk5vo~X5qO=Ry<-ZU*!5viMuEHcxiLh)nqr>={CI7a)imm_El0T<= z$v@0q(SL`miDBlGyLsf=Q4dL!%Unhj!>Hx}(}YOmAbEL<Zx%>X#~*-vCT!0*rl6-W zd3FmH*;<P6=Yj9Ks2hCO_kPach`M(E6x89GYM@v3B-`BS);mzDYLbd_n+Fam_|fzV z@=1)hwfq+IQ)Dn@=WjQ-ABgWD2Wam%*!n(Yh;g{b{PUhv>mhHb#-o~MY%qUlmntV0 zK1sK0vJ;pw3XYr+!llYkzsQ-i(3j9P7TRzoE{94UN<bwF5?T2y&#vTMo3mA$(|oQm z>4|<IZN|BTRKZCw+n^Y$b`cl(i_d1Bq|>oLVtsf_uvd3#rxuu8Jyor_imI=M0@z~} z0zhcY-r6Drz^W|!wrA9eUoJjin$B&9NNXos!t+EIV@+hJH=D!iPHmm}Xo>b%BM6a& zSKX<PULRCaJ*pv2`?8~y7Lr+ZqqTtqppZpS_prZI5Zp?%N}IFq5N*ug7($tZhATse zzbCE58bQ{4mpIhmht{+?tPcB?lBL=F^N04=FOqQL830yy>g~e4K(*!^RJ#toSW^9f zUDKInpem#qmSf1GtP<Vk_b9^dkyNQIW|%rb@vo&&;chasT>#Xr<RQU#NI+I#ItS2o zWK~<;c7-dc@E<nKUjAH=J%fU+2C7tjR8!UO82U8|XSLj~xAkp42<_#X4kUeQ_Iq=E z7^7@p#l@yTI*Hi6u;a~D=(*W2!cm;m5b94D+x^mpkHc4yuFR1buFc6_e|9+71(~AJ z@#OrGS8WapaK77UPEUAf=uf+o@r5IiDOyv*^&j$>$$!gZ7GkGj^OyraoeKQIV<z<Q zm~xtNK93nHYQ_8P?&;w%PPS{VAf?SQWc2`-6N0ztJw@c>Q$+q{o5*WZM1BDC51Ysz z0Rmb>xz>v*T1ix$BkO8>;hiICGzp&U)#Pl5C$5z6H83o~6K!Ivo?)j|gf>*Z|4^k> z^o(5$q|>Z;LqZrucHQ566sLl)SRsd0x6|FIRWFggcAEpuRA0LzyQT4;b~k=zYN#t! zsonbK#4uKHf)Y>NsaZeEnq1`<Woe$TDhC#K4AGlzc3rwpdL8vkHNSDQ)E;8lliwPt zqPvrIek#f4Hz&&LPA%E+?dz-hs^o)YbmVVLTnh83tqDOmb6s6qMsm3+fbju(xfg}5 zaFT;WQ(AMPuPBB{NcEsR3)=`;A50?|P4|eSiz+nW4{dd7vzie|Zi=@alONx#!fhNO zYPyP%&8bz4uijP6j9YPNp_o#%oBiI96+>vE420{se+Qd_a3M$Xn{JoUVjNbfd>s2R z_q~qp4ej6n+n7b!t4w8UYygJO0tWl0_K`LYE@8^AjPR5PP<1v94&QS~s>ws)VhAEn zYQTP9u7IbMigPCHGKYzq0X<LPki#A7IOxB&$u^nnAXq<vv#xbgg!#_>q>**o&uJ+e zrKmi#$L`~^uSskz#Nr!cBj5}a#KjHkWFo~o=RwYWauGUc821nv*%_WJHty6Yb;2H| z)UKH%iN}N|Nw7qMZKN7g7OTcJvJ<8*@ji*y>W@-8UrWYNQ{nr**ZAtNju83PSg6>s zb_}m_GF1+922rxeW@$JRmcq3<0yiE4+|KZT?mDkhb=1Gar!scD@~6};9d-SfP+pn% zb^RV?t9}S1-<r}^Zvz>OEp{ecLD@{cA?6>in!xtDjgH$=IdW$RFkB&0<~)l-&Ka>u z`Q|kb+NEIx4h(5+{*1|v@U;Lku9%ix6&@wQ>s63bXBqQ?MdpLq!RS5oX|mPo3xqy3 zL}^QCzK#pQT)Cn|%r9XMth54hKg5U9Mi!?Y^PTn5hYCA?Ci3A2%=N@XCJfRV#H(E? zC%~pB28zd!Tr3BYG`t`=CX~&dCx{5|v;GxCN@pSr;H{b$LTOq<Euq?_bdHivgIcMX zsG6p&{pC36LDe#`;0Nf$ZF-VkR#zhB1J5)CPd?c#KlRtH$&j{=31?IDc%H66vMq6} zjO{ApP@v#lIV|ij$2~yu56*}wyXtH*IugBrk#~+%k7tV(+rJ4acRcYqly_rn(pc-a z<e1XtA2rzqRjdCg`4kn4mE_Uq6^`snD<tB|d!W=4Vu2q?I3K*6E7qJ<7X^}U0NDs2 zJFLg1rE#Tw71zd3!)UK9@ouo_P-rmy<yCD6WkDT^-p2%z>jMR!%L!+eMVHxRQ5}>+ z9+S(Qp9GyJFb}!Hymhe<>0V`$*=Y{tP0*Cj;2>QHXCb_(Q_^XC!fF|MK6n>BV60E{ zHP5t2$9icINZ>G(jNJ>5HNbc(*ild?vwW-g40&+CQ5{>A^G79R#>Rk?qeU<cALq#R z818-T;U9e%6Z;1|Wzl}}6^Rt`&~ftZmvQ8abd6!d+-NQZ>yc)6z=_g>*(uRiPAhrJ zxT-<w^oV~ScUhE0Jyu#L$5gpeu75IZZkP@SR9vXMX)>_ck%wS8a(HN4x$+ZYN4}>b z&+X~MPko)uGSYB$ae|wx&pWb?34kaxkS4`FbWvMXwka2@+nfD~`(Sj&+s5mqM%#&I zPe>Cm-R7Yu!JNRVSH2yr++J4M)|3fASio_enu0*K|HCkYkHcSzd^DCLkx~OTB>3x2 zMo#Aiw9>fPSIhj6I#ptg0A`60{abgWoK@=*)rlDCV-OU3d91XesgHCGnoWr=IBU20 zlMR9he2084dnV;(03e$#Qhm4!g0U0DB@ri~WQtMeSGRHmwfl%Mr%%_7B!l_35Egv* z`=kb>+*V^7XTKOr+c-FeI;*LWRCa;)t6EdVaccR((yo-!9!r(x?=H=D*fdjF#OTpd z<_@`P4hIp&hQwhU)RdO%cgHLA0vtVjGbpELCg0CyM!~IL3un!<xA?8=-eh~9Pax0Q z&R4ngCRW@Z{YfJmvZ2BC+c4$F<~rG43$y$jEBM$WX^D^Ow}sP*vu@gqnZX=zn<A0d zga%|jdy1oudM4Z-E-8eaCxkp!tACW~iZy7+ADxmFy#&Vs{^&O{{Lx3;khiC^HI7k@ z)^Ib4UK7PO;wXM^rt{k5LU-clQr7L}bFjm4L?t{-Vjd8~Figrk_wk9=Jgt5xEJ{}j zS?OG{_n>H<jruYgCGNh;B|*$}Y3j8?rI&KVAVd<E%M=-uP`*q)`N0A+>M%0A{-WJl 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 literal 0 HcmV?d00001 diff --git a/skills/ppt/scripts/thumbnail.py b/skills/ppt/scripts/thumbnail.py new file mode 100755 index 0000000..8cf6e75 --- /dev/null +++ b/skills/ppt/scripts/thumbnail.py @@ -0,0 +1,352 @@ +#!/usr/bin/env python3 +""" +Create thumbnail grids from PowerPoint presentation slides. + +Creates a grid layout of slide thumbnails with configurable columns (max 6). +Each grid contains up to cols×(cols+1) images. For presentations with more +slides, multiple numbered grid files are created automatically. + +The program outputs the names of all files created. + +Output: +- Single grid: {prefix}.jpg (if slides fit in one grid) +- Multiple grids: {prefix}-1.jpg, {prefix}-2.jpg, etc. + +Grid limits by column count: +- 3 cols: max 12 slides per grid (3×4) +- 4 cols: max 20 slides per grid (4×5) +- 5 cols: max 30 slides per grid (5×6) [default] +- 6 cols: max 42 slides per grid (6×7) + +Usage: + python thumbnail.py input.pptx [output_prefix] [--cols N] [--outline-placeholders] + +Examples: + python thumbnail.py presentation.pptx + # Creates: thumbnails.jpg (using default prefix) + # Outputs: + # Created 1 grid(s): + # - thumbnails.jpg + + python thumbnail.py large-deck.pptx grid --cols 4 + # Creates: grid-1.jpg, grid-2.jpg, grid-3.jpg + # Outputs: + # Created 3 grid(s): + # - grid-1.jpg + # - grid-2.jpg + # - grid-3.jpg + + python thumbnail.py template.pptx analysis --outline-placeholders + # Creates thumbnail grids with red outlines around text placeholders +""" + +import argparse +import subprocess +import sys +import tempfile +from pathlib import Path + +from inventory import extract_text_inventory +from PIL import Image, ImageDraw, ImageFont +from pptx import Presentation + +# Constants +THUMBNAIL_WIDTH = 300 # Fixed thumbnail width in pixels +CONVERSION_DPI = 100 # DPI for PDF to image conversion +MAX_COLS = 6 # Maximum number of columns +DEFAULT_COLS = 5 # Default number of columns +JPEG_QUALITY = 95 # JPEG compression quality + +# Grid layout constants +GRID_PADDING = 20 # Padding between thumbnails +BORDER_WIDTH = 2 # Border width around thumbnails +FONT_SIZE_RATIO = 0.12 # Font size as fraction of thumbnail width +LABEL_PADDING_RATIO = 0.4 # Label padding as fraction of font size + + +def main(): + parser = argparse.ArgumentParser( + description="Create thumbnail grids from PowerPoint slides." + ) + parser.add_argument("input", help="Input PowerPoint file (.pptx)") + parser.add_argument( + "output_prefix", + nargs="?", + default="thumbnails", + help="Output prefix for image files (default: thumbnails, will create prefix.jpg or prefix-N.jpg)", + ) + parser.add_argument( + "--cols", + type=int, + default=DEFAULT_COLS, + help=f"Number of columns (default: {DEFAULT_COLS}, max: {MAX_COLS})", + ) + parser.add_argument( + "--outline-placeholders", + action="store_true", + help="Outline text placeholders with a colored border", + ) + + args = parser.parse_args() + + cols = min(args.cols, MAX_COLS) + if args.cols > MAX_COLS: + print(f"Warning: Columns limited to {MAX_COLS} (requested {args.cols})") + + input_path = Path(args.input) + if not input_path.is_file() or input_path.suffix.lower() != ".pptx": + sys.exit(f"Error: Invalid PowerPoint file: {args.input}") + + output_path = Path(f"{args.output_prefix}.jpg") + print(f"Processing: {args.input}") + + try: + with tempfile.TemporaryDirectory() as temp_dir: + temp_path = Path(temp_dir) + + placeholder_regions = None + slide_dimensions = None + if args.outline_placeholders: + print("Extracting placeholder regions...") + placeholder_regions, slide_dimensions = get_placeholder_regions(input_path) + if placeholder_regions: + print(f"Found placeholders on {len(placeholder_regions)} slides") + + prs = Presentation(str(input_path)) + total_slides = len(prs.slides) + hidden_slides = { + idx + 1 + for idx, slide in enumerate(prs.slides) + if slide.element.get("show") == "0" + } + + hidden_info = f" ({len(hidden_slides)} hidden)" if hidden_slides else "" + print(f"Found {total_slides} slides{hidden_info}") + + slide_images = convert_to_images(input_path, temp_path, CONVERSION_DPI, total_slides, hidden_slides) + if not slide_images: + sys.exit("Error: No slides found") + + grid_files = create_grids( + slide_images, cols, THUMBNAIL_WIDTH, output_path, + placeholder_regions, slide_dimensions, + ) + + print(f"Created {len(grid_files)} grid(s):") + for grid_file in grid_files: + print(f" - {grid_file}") + + except RuntimeError as e: + sys.exit(f"Error: {e}") + + +def create_hidden_slide_placeholder(size): + """Create placeholder image for hidden slides.""" + img = Image.new("RGB", size, color="#F0F0F0") + draw = ImageDraw.Draw(img) + line_width = max(5, min(size) // 100) + draw.line([(0, 0), size], fill="#CCCCCC", width=line_width) + draw.line([(size[0], 0), (0, size[1])], fill="#CCCCCC", width=line_width) + return img + + +def get_placeholder_regions(pptx_path): + """Extract ALL text regions from the presentation. + + Returns a tuple of (placeholder_regions, slide_dimensions). + text_regions is a dict mapping slide indices to lists of text regions. + Each region is a dict with 'left', 'top', 'width', 'height' in inches. + slide_dimensions is a tuple of (width_inches, height_inches). + """ + prs = Presentation(str(pptx_path)) + inventory = extract_text_inventory(pptx_path, prs) + placeholder_regions = {} + + slide_width_inches = (prs.slide_width or 9144000) / 914400.0 + slide_height_inches = (prs.slide_height or 5143500) / 914400.0 + + for slide_key, shapes in inventory.items(): + slide_idx = int(slide_key.split("-")[1]) + regions = [ + {"left": s.left, "top": s.top, "width": s.width, "height": s.height} + for s in shapes.values() + ] + if regions: + placeholder_regions[slide_idx] = regions + + return placeholder_regions, (slide_width_inches, slide_height_inches) + + +def _pptx_to_pdf(pptx_path, temp_dir): + """Convert PPTX to PDF via LibreOffice. Returns path to the PDF file.""" + pdf_path = temp_dir / f"{pptx_path.stem}.pdf" + result = subprocess.run( + ["soffice", "--headless", "--convert-to", "pdf", "--outdir", str(temp_dir), str(pptx_path)], + capture_output=True, + text=True, + ) + if result.returncode != 0 or not pdf_path.exists(): + raise RuntimeError("PDF conversion failed") + return pdf_path + + +def _pdf_to_images(pdf_path, temp_dir, dpi): + """Convert PDF pages to JPEG images via pdftoppm. Returns sorted image paths.""" + result = subprocess.run( + ["pdftoppm", "-jpeg", "-r", str(dpi), str(pdf_path), str(temp_dir / "slide")], + capture_output=True, + text=True, + ) + if result.returncode != 0: + raise RuntimeError("Image conversion failed") + return sorted(temp_dir.glob("slide-*.jpg")) + + +def convert_to_images(pptx_path, temp_dir, dpi, total_slides, hidden_slides): + """Convert PowerPoint to images via PDF, inserting placeholders for hidden slides.""" + pdf_path = _pptx_to_pdf(pptx_path, temp_dir) + visible_images = _pdf_to_images(pdf_path, temp_dir, dpi) + + if not visible_images: + return [] + + with Image.open(visible_images[0]) as img: + placeholder_size = img.size + + all_images = [] + visible_idx = 0 + for slide_num in range(1, total_slides + 1): + if slide_num in hidden_slides: + placeholder_path = temp_dir / f"hidden-{slide_num:03d}.jpg" + create_hidden_slide_placeholder(placeholder_size).save(placeholder_path, "JPEG") + all_images.append(placeholder_path) + else: + if visible_idx < len(visible_images): + all_images.append(visible_images[visible_idx]) + visible_idx += 1 + + return all_images + + +def create_grids( + image_paths, + cols, + width, + output_path, + placeholder_regions=None, + slide_dimensions=None, +): + """Create multiple thumbnail grids from slide images, max cols×(cols+1) images per grid.""" + max_images_per_grid = cols * (cols + 1) + grid_files = [] + total_images = len(image_paths) + + for chunk_idx, start_idx in enumerate(range(0, total_images, max_images_per_grid)): + chunk_images = image_paths[start_idx: start_idx + max_images_per_grid] + + grid = create_grid(chunk_images, cols, width, start_idx, placeholder_regions, slide_dimensions) + + if total_images <= max_images_per_grid: + grid_filename = output_path + else: + grid_filename = output_path.parent / f"{output_path.stem}-{chunk_idx + 1}{output_path.suffix}" + + grid_filename.parent.mkdir(parents=True, exist_ok=True) + grid.save(str(grid_filename), quality=JPEG_QUALITY) + grid_files.append(str(grid_filename)) + + return grid_files + + +def create_grid( + image_paths, + cols, + width, + start_slide_num=0, + placeholder_regions=None, + slide_dimensions=None, +): + """Create thumbnail grid from slide images with optional placeholder outlining.""" + font_size = int(width * FONT_SIZE_RATIO) + label_padding = int(font_size * LABEL_PADDING_RATIO) + + with Image.open(image_paths[0]) as img: + aspect = img.height / img.width + height = int(width * aspect) + + rows = (len(image_paths) + cols - 1) // cols + grid_w = cols * width + (cols + 1) * GRID_PADDING + grid_h = rows * (height + font_size + label_padding * 2) + (rows + 1) * GRID_PADDING + + grid = Image.new("RGB", (grid_w, grid_h), "white") + draw = ImageDraw.Draw(grid) + + try: + font = ImageFont.load_default(size=font_size) + except Exception: + font = ImageFont.load_default() + + for i, img_path in enumerate(image_paths): + row, col = i // cols, i % cols + x = col * width + (col + 1) * GRID_PADDING + y_base = row * (height + font_size + label_padding * 2) + (row + 1) * GRID_PADDING + + label = f"{start_slide_num + i}" + bbox = draw.textbbox((0, 0), label, font=font) + text_w = bbox[2] - bbox[0] + draw.text((x + (width - text_w) // 2, y_base + label_padding), label, fill="black", font=font) + + y_thumbnail = y_base + label_padding + font_size + label_padding + + with Image.open(img_path) as img: + orig_w, orig_h = img.size + + if placeholder_regions and (start_slide_num + i) in placeholder_regions: + if img.mode != "RGBA": + img = img.convert("RGBA") + + regions = placeholder_regions[start_slide_num + i] + if slide_dimensions: + slide_w_in, slide_h_in = slide_dimensions + else: + slide_w_in = orig_w / CONVERSION_DPI + slide_h_in = orig_h / CONVERSION_DPI + + x_scale = orig_w / slide_w_in + y_scale = orig_h / slide_h_in + + overlay = Image.new("RGBA", img.size, (255, 255, 255, 0)) + overlay_draw = ImageDraw.Draw(overlay) + stroke_width = max(5, min(orig_w, orig_h) // 150) + + for region in regions: + px_left = int(region["left"] * x_scale) + px_top = int(region["top"] * y_scale) + px_right = px_left + int(region["width"] * x_scale) + px_bottom = px_top + int(region["height"] * y_scale) + overlay_draw.rectangle( + [(px_left, px_top), (px_right, px_bottom)], + outline=(255, 0, 0, 255), + width=stroke_width, + ) + + img = Image.alpha_composite(img, overlay).convert("RGB") + + img.thumbnail((width, height), Image.Resampling.LANCZOS) + w, h = img.size + tx = x + (width - w) // 2 + ty = y_thumbnail + (height - h) // 2 + grid.paste(img, (tx, ty)) + + if BORDER_WIDTH > 0: + draw.rectangle( + [(tx - BORDER_WIDTH, ty - BORDER_WIDTH), (tx + w + BORDER_WIDTH - 1, ty + h + BORDER_WIDTH - 1)], + outline="gray", + width=BORDER_WIDTH, + ) + + return grid + + +if __name__ == "__main__": + main() diff --git a/skills/ppt/setup.sh b/skills/ppt/setup.sh new file mode 100755 index 0000000..d6e8db8 --- /dev/null +++ b/skills/ppt/setup.sh @@ -0,0 +1,197 @@ +#!/usr/bin/env bash +# --- +# name: ppt-setup +# author: Z.AI +# version: "1.0" +# description: Environment setup for the PPT skill. Checks and installs all required dependencies. +# --- +# +# Installs only dependencies required by the PPT skill. +set -euo pipefail + +RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m' +ok() { echo -e " ${GREEN}✓${NC} $1"; } +fail() { echo -e " ${RED}✗${NC} $1"; } +warn() { echo -e " ${YELLOW}○${NC} $1"; } +info() { echo -e " ${BLUE}→${NC} $1"; } + +echo "============================================" +echo " PPT Skill — Environment Setup" +echo "============================================" +echo "" + +OS="$(uname -s)" +ARCH="$(uname -m)" +echo "Platform: $OS $ARCH" +echo "" + +# ── 0. macOS: Homebrew ── +if [ "$OS" = "Darwin" ]; then + echo "--- Homebrew (macOS package manager) ---" + if command -v brew &>/dev/null; then + BREW_VER=$(brew --version 2>/dev/null | head -1) + ok "brew ($BREW_VER)" + else + fail "brew not found — Node.js install needs Homebrew on macOS" + info "Install: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"" + fi + echo "" +fi + +# ── 1. Node.js (PptxGenJS runs on Node) ── +echo "--- Node.js ---" +if command -v node &>/dev/null; then + NODE_VER=$(node --version) + ok "node ($NODE_VER)" +else + fail "node not found (required — PPTX generation uses PptxGenJS on Node)" + case "$OS" in + Darwin) info "Install: brew install node" ;; + Linux) info "Install: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -" + info " sudo apt install -y nodejs" ;; + *) info "Install: https://nodejs.org/" ;; + esac +fi + +# ── 2. npm ── +echo "" +echo "--- npm ---" +if command -v npm &>/dev/null; then + NPM_VER=$(npm --version 2>/dev/null) + ok "npm ($NPM_VER)" +else + fail "npm not found" + case "$OS" in + Darwin) info "Install: brew install node (includes npm)" ;; + Linux) info "Install: comes with nodejs" ;; + *) info "Install: https://nodejs.org/" ;; + esac +fi + +# ── 3. npm package: pptxgenjs ── +echo "" +echo "--- npm Packages ---" +if node -e "require('pptxgenjs')" 2>/dev/null || npm list -g pptxgenjs &>/dev/null; then + PPTX_VER=$(node -e "try{console.log(require('pptxgenjs/package.json').version)}catch(e){console.log('installed')}" 2>/dev/null) + ok "pptxgenjs ($PPTX_VER)" +else + fail "pptxgenjs not installed" + info "Install: npm install -g pptxgenjs" + echo "" + if [ -t 0 ]; then + read -p " Install now? [Y/n] " -n 1 -r REPLY + echo "" + REPLY=${REPLY:-Y} + else + warn "Non-interactive mode — skipping auto-install." + REPLY=N + fi + if [[ ! $REPLY =~ ^[Nn]$ ]]; then + npm install -g pptxgenjs 2>/dev/null && ok "Installed: pptxgenjs" || fail "npm install failed" + fi +fi + +# ── 4. Python 3 (OOXML validation scripts) ── +echo "" +echo "--- Python (OOXML validation) ---" +if command -v python3 &>/dev/null; then + PY_VER=$(python3 --version 2>&1) + ok "python3 ($PY_VER)" + if [ "$OS" = "Darwin" ]; then + PY_PATH=$(which python3 2>/dev/null) + if [[ "$PY_PATH" == "/usr/bin/python3" ]]; then + warn "Using macOS system Python (limited). Recommend: brew install python3" + fi + fi +else + fail "python3 not found" + case "$OS" in + Darwin) info "Install: brew install python3" ;; + Linux) info "Install: sudo apt install python3 python3-pip (Debian/Ubuntu)" + info " sudo dnf install python3 python3-pip (Fedora/RHEL)" ;; + *) info "Install: https://www.python.org/downloads/" ;; + esac +fi + +# ── 5. pip ── +echo "" +echo "--- pip ---" +if python3 -m pip --version &>/dev/null 2>&1; then + PIP_VER=$(python3 -m pip --version 2>/dev/null | head -1) + ok "pip ($PIP_VER)" +else + fail "pip not found" + case "$OS" in + Darwin) info "Install: python3 -m ensurepip --upgrade" + info " or: brew install python3 (includes pip)" ;; + Linux) info "Install: sudo apt install python3-pip (Debian/Ubuntu)" ;; + *) info "Install: python3 -m ensurepip --upgrade" ;; + esac +fi + +# ── 6. Python packages ── +echo "" +echo "--- Python Packages ---" +PY_PKGS=( + "lxml:lxml" + "defusedxml:defusedxml" +) + +MISSING_PY=() +for entry in "${PY_PKGS[@]}"; do + mod="${entry%%:*}" + pkg="${entry##*:}" + if python3 -c "import $mod" 2>/dev/null; then + ver=$(python3 -c "import $mod; print(getattr($mod, '__version__', 'installed'))" 2>/dev/null) + ok "$pkg ($ver)" + else + fail "$pkg not installed" + MISSING_PY+=("$pkg") + fi +done + +if [ ${#MISSING_PY[@]} -gt 0 ]; then + echo "" + if [ -t 0 ]; then + read -p " Install missing Python packages? [Y/n] " -n 1 -r REPLY + echo "" + REPLY=${REPLY:-Y} + else + warn "Non-interactive mode — skipping auto-install. Run interactively or install manually." + REPLY=N + fi + if [[ ! $REPLY =~ ^[Nn]$ ]]; then + python3 -m pip install -q "${MISSING_PY[@]}" 2>/dev/null \ + || python3 -m pip install -q --user "${MISSING_PY[@]}" 2>/dev/null \ + || python3 -m pip install -q --break-system-packages "${MISSING_PY[@]}" 2>/dev/null \ + || { fail "pip install failed. Try manually: pip install ${MISSING_PY[*]}"; } + ok "Installed: ${MISSING_PY[*]}" + fi +fi + +# ── 7. Tectonic (optional, for Beamer/LaTeX slides) ── +echo "" +echo "--- Tectonic (optional, Beamer slides only) ---" +if command -v tectonic &>/dev/null; then + TEC_VER=$(tectonic --version 2>&1 | head -1) + ok "tectonic ($TEC_VER)" +elif [ -x "$HOME/tectonic" ]; then + ok "tectonic (~/tectonic)" +else + warn "tectonic not installed (needed only for Beamer/LaTeX slide PDFs)" + case "$OS" in + Darwin) info "Install: brew install tectonic" ;; + Linux) info "Install: conda install -c conda-forge tectonic" + info " or: curl -fsSL https://drop-sh.fullyjustified.net | sh" ;; + MINGW*|MSYS*|CYGWIN*) info "Install: scoop install tectonic" ;; + esac +fi + +# ── Summary ── +echo "" +echo "============================================" +echo " Setup complete." +echo " Core: Node.js + pptxgenjs" +echo " Validation: Python + lxml + defusedxml" +echo " Beamer slides: tectonic (optional)" +echo "============================================" diff --git a/skills/ppt/themes.md b/skills/ppt/themes.md new file mode 100755 index 0000000..f0f95d5 --- /dev/null +++ b/skills/ppt/themes.md @@ -0,0 +1,581 @@ +# Themes — Preset Theme Configuration + +Each theme = a set of colors + a set of fonts + mood tags. Once a theme is selected, all colors are automatically derived according to the color scale rules in `design-system.md`. + +--- + +## Theme Selection Rules + +1. AI selects the theme based on scene classification and content tone +2. Each PPT deck uses only one theme, **no switching throughout** +3. If the user specifies a color or style preference, select the closest theme or customize accordingly (still must follow color scale rules) + +--- + +## Preset Themes + +### 1. Ocean (Deep Sea Blue) + +| Property | Value | +|------|-----| +| **Mood** | Professional, trustworthy | +| **Suitable for** | Work reports, business proposals, company introductions | +| **Primary** | `#1B2A4A` | +| **Accent (A — default)** | `#2A9D8F` (teal) | +| **Accent B** | `#D7A460` (warm gold) | +| **Accent C** | `#6C92E0` (bright blue) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Gill Sans MT Bold | +| **Latin Body Font** | Gill Sans MT | +| **Image Keywords** | ocean, deep blue, corporate, skyline, technology, water, aerial city | +| **Mask Color** | `rgba(18,32,64,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | Usage Example | +|------|------|---------| +| primary-100 | `#0D1525` | Dark mode background | +| primary-90 | `#122040` | Title bar background | +| primary-80 | `#1B2A4A` | Title text | +| primary-60 | `#3D5A80` | Subtitle / icons | +| primary-40 | `#6B8AB0` | Secondary text | +| primary-20 | `#B0C4DE` | Light decoration | +| primary-10 | `#DFE8F2` | Card background / border | +| primary-5 | `#F0F4F8` | Surface base color | + +--- + +### 2. Graphite (Graphite Gray) + +| Property | Value | +|------|-----| +| **Mood** | Modern, restrained, clean and sharp | +| **Suitable for** | Tech products, weekly/monthly reports, technical sharing | +| **Primary** | `#2D3436` | +| **Accent (A — default)** | `#D77860` (coral red) | +| **Accent B** | `#6BCB77` (emerald green) | +| **Accent C** | `#9B8EC4` (light purple) | +| **CJK Title Font** | SimHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Century Gothic Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | architecture, minimal, concrete, technology, geometric, monochrome, server room | +| **Mask Color** | `rgba(34,40,41,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | +|------|------| +| primary-100 | `#161A1B` | +| primary-90 | `#222829` | +| primary-80 | `#2D3436` | +| primary-60 | `#576163` | +| primary-40 | `#8D9496` | +| primary-20 | `#C3C8CA` | +| primary-10 | `#E4E7E8` | +| primary-5 | `#F3F4F5` | + +--- + +### 3. Forest (Forest Green) + +| Property | Value | +|------|-----| +| **Mood** | Natural, serene, organic and gentle | +| **Suitable for** | Educational courseware, humanities/liberal arts academic, ESG/sustainability | +| **Primary** | `#1B4332` | +| **Accent (A — default)** | `#DCBD74` (golden) | +| **Accent B** | `#E18C70` (coral) | +| **Accent C** | `#7EC8B0` (mint) | +| **CJK Title Font** | SimSun Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Palatino Linotype Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | forest, nature, leaves, green, organic, sustainability, botanical, meadow | +| **Mask Color** | `rgba(18,45,31,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | +|------|------| +| primary-100 | `#0B1E14` | +| primary-90 | `#122D1F` | +| primary-80 | `#1B4332` | +| primary-60 | `#2E6B4F` | +| primary-40 | `#60A882` | +| primary-20 | `#A8D4BC` | +| primary-10 | `#D8EEE2` | +| primary-5 | `#EEF7F1` | + +--- + +### 4. Twilight (Dark Night Purple) + +| Property | Value | +|------|-----| +| **Mood** | Creative, unique, personality-driven | +| **Suitable for** | Creative proposals, brand planning, design sharing | +| **Primary** | `#2D2B55` | +| **Accent (A — default)** | `#9B50F5` (electric purple) | +| **Accent B** | `#E3B27D` (warm orange) | +| **Accent C** | `#5EC4D4` (sky blue) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Candara Bold | +| **Latin Body Font** | Candara | +| **Image Keywords** | galaxy, night sky, aurora, creative, neon, abstract art, purple gradient | +| **Mask Color** | `rgba(33,31,64,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | +|------|------| +| primary-100 | `#15142A` | +| primary-90 | `#211F40` | +| primary-80 | `#2D2B55` | +| primary-60 | `#555380` | +| primary-40 | `#8886AB` | +| primary-20 | `#BFBED6` | +| primary-10 | `#E2E1ED` | +| primary-5 | `#F2F2F7` | + +--- + +### 5. Sandstone (Warm Sand) + +| Property | Value | +|------|-----| +| **Mood** | Premium, warm, composed and grand | +| **Suitable for** | Investment roadshows, real estate, luxury goods, finance | +| **Primary** | `#3C2415` | +| **Accent (A — default)** | `#C09E30` (gold) | +| **Accent B** | `#D4766A` (ochre red) | +| **Accent C** | `#8BB174` (olive) | +| **CJK Title Font** | SimSun Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Palatino Linotype Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | luxury, gold, marble, architecture, warm light, classical, elegant interior | +| **Mask Color** | `rgba(45,27,16,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | +|------|------| +| primary-100 | `#1E120A` | +| primary-90 | `#2D1B10` | +| primary-80 | `#3C2415` | +| primary-60 | `#6B5443` | +| primary-40 | `#9E8A7A` | +| primary-20 | `#CEBFB5` | +| primary-10 | `#E9E2DC` | +| primary-5 | `#F5F2F0` | + +--- + +### 6. Mono (Minimalist Black) + +| Property | Value | +|------|-----| +| **Mood** | Sharp, minimalist, visual impact | +| **Suitable for** | Product launches, minimalist style, photography showcases | +| **Primary** | `#1A1A1A` | +| **Accent (A — default)** | `#E6754C` (burnt orange) | +| **Accent B** | `#4ECDC4` (cyan) | +| **Accent C** | `#C44569` (rose) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Arial Bold | +| **Latin Body Font** | Arial | +| **Image Keywords** | minimal, black white, contrast, product, clean, abstract, studio lighting | +| **Mask Color** | `rgba(20,20,20,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | +|------|------| +| primary-100 | `#0A0A0A` | +| primary-90 | `#141414` | +| primary-80 | `#1A1A1A` | +| primary-60 | `#4A4A4A` | +| primary-40 | `#808080` | +| primary-20 | `#B8B8B8` | +| primary-10 | `#E0E0E0` | +| primary-5 | `#F2F2F2` | + +--- + +### 7. Deep Mineral (Dark Night Blue) + +| Property | Value | +|------|-----| +| **Mood** | High-end, immersive, cinematic depth | +| **Suitable for** | Tech launches, keynotes, data dashboards, night-mode presentations | +| **Primary** | `#FFFFFF` | +| **Accent (A — default)** | `#44D1E4` (electric cyan) | +| **Accent B** | `#EDCD82` (warm yellow) | +| **Accent C** | `#E65174` (rose) | +| **Background Override** | `#162235` (replaces default `#FFFFFF`) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Trebuchet MS Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | dark blue, night city, deep ocean, space, data visualization, neon glow | +| **Mask Color** | `rgba(16,26,40,0.70)` (primary-100 based) | + +**Dark theme notes**: This is a dark-background theme — the color logic is inverted: +- `background` = `#162235` (dark), `surface` = `#1E2D45` (slightly lighter), `surface-card` = `#243550` (card layer) +- `text-primary` = `#FFFFFF`, `text-secondary` = `rgba(255,255,255,0.75)`, `text-muted` = `rgba(255,255,255,0.45)` +- Cards use `surface-card` with no shadow (shadows invisible on dark backgrounds) +- Accent (`#44D1E4`) is used for highlights, KPI numbers, accent bars, and emphasis elements + +Color Scale (inverted — lighter values are "darker" in visual weight): + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#0D1525` | Deepest background | +| primary-90 | `#122040` | Title bar background | +| primary-80 | `#FFFFFF` | Title text / primary elements | +| primary-60 | `rgba(255,255,255,0.75)` | Subtitle / secondary text | +| primary-40 | `rgba(255,255,255,0.45)` | Muted text / annotations | +| primary-20 | `#2A3F5F` | Card borders / subtle decorations | +| primary-10 | `#1E2D45` | Surface / content area base | +| primary-5 | `#162235` | Page background | + +--- + +### 8. Warm Retro (Vintage Warmth) + +| Property | Value | +|------|-----| +| **Mood** | Vintage, cultured, warm and grounded | +| **Suitable for** | Cultural events, humanities, food/lifestyle, brand storytelling | +| **Primary** | `#2A4A3A` | +| **Accent (A — default)** | `#C89F62` (antique gold) | +| **Accent B** | `#C06C58` (copper red) | +| **Accent C** | `#7BA68C` (moss green) | +| **Background Override** | `#F4F1E9` (warm off-white, replaces default `#FFFFFF`) | +| **CJK Title Font** | SimSun Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Palatino Linotype Bold | +| **Latin Body Font** | Garamond | +| **Image Keywords** | vintage, warm light, craft, leather, coffee, botanical, old book, linen texture | +| **Mask Color** | `rgba(30,40,34,0.75)` (primary-90 based) | + +**Warm background notes**: This theme uses a warm off-white (`#F4F1E9`) instead of pure white: +- `background` = `#F4F1E9`, `surface` = `#EDE9DF` (slightly darker warm), `surface-card` = `#FEFDFB` (near-white card) +- The warm base gives a cozy, analog feel — avoid pure white elements that would look jarring + +Color Scale: + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#0F1C15` | Darkest (rarely used) | +| primary-90 | `#1E2822` | Title bar background | +| primary-80 | `#2A4A3A` | Title text / primary elements | +| primary-60 | `#4A7A62` | Subtitle / icons | +| primary-40 | `#7AAA90` | Secondary text | +| primary-20 | `#B5D4C2` | Light decoration | +| primary-10 | `#DCE9E0` | Card background / border | +| primary-5 | `#F0F5F1` | Surface base (use `#EDE9DF` for warm surface) | + +--- + +### 9. Deep Forest (Dark Green) + +| Property | Value | +|------|-----| +| **Mood** | Calm, grounded, nature-tech fusion | +| **Suitable for** | ESG reports, sustainability, ecology, green tech | +| **Primary** | `#FFFFFF` | +| **Accent (A — default)** | `#D7D968` (electric lime) | +| **Accent B** | `#E18C70` (coral orange) | +| **Accent C** | `#85C5E0` (sky blue) | +| **Background Override** | `#193328` (deep forest green, replaces default `#FFFFFF`) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Gill Sans MT Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | dark forest, moss, fern, green nature, sustainability, eco technology, rain forest | +| **Mask Color** | `rgba(18,38,30,0.70)` (primary-100 based) | + +**Dark theme notes**: Same inverted logic as Deep Mineral — see its notes above. +- `background` = `#193328`, `surface` = `#1F3F32`, `surface-card` = `#264A3C` +- `text-primary` = `#FFFFFF`, `text-secondary` = `rgba(255,255,255,0.75)`, `text-muted` = `rgba(255,255,255,0.45)` + +Color Scale (inverted): + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#0D1A14` | Deepest background | +| primary-90 | `#12261E` | Title bar background | +| primary-80 | `#FFFFFF` | Title text / primary elements | +| primary-60 | `rgba(255,255,255,0.75)` | Subtitle / secondary text | +| primary-40 | `rgba(255,255,255,0.45)` | Muted text / annotations | +| primary-20 | `#2A5040` | Card borders / subtle decorations | +| primary-10 | `#1F3F32` | Surface / content area base | +| primary-5 | `#193328` | Page background | + +--- + +### 10. Coral (Coral Pink) + +| Property | Value | +|------|-----| +| **Mood** | Warm, vibrant, youthful | +| **Suitable for** | Brand marketing, consumer products, lifestyle, female-audience presentations | +| **Primary** | `#8B3A4A` | +| **Accent (A — default)** | `#E2A574` (warm peach) | +| **Accent B** | `#DC755B` (burnt sienna) | +| **Accent C** | `#6BC5B8` (mint contrast) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Candara Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | pink, flowers, beauty, lifestyle, warm light, cafe, fashion, soft texture | +| **Mask Color** | `rgba(100,42,54,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#3D1A22` | Deepest background | +| primary-90 | `#642A36` | Title bar background | +| primary-80 | `#8B3A4A` | Title text / primary elements | +| primary-60 | `#B06070` | Subtitle / icons | +| primary-40 | `#D08A96` | Secondary text | +| primary-20 | `#E8BAC2` | Light decoration | +| primary-10 | `#F3DDE1` | Card background / border | +| primary-5 | `#FAF0F2` | Surface base color | + +--- + +### 11. Mint (Mint Green) + +| Property | Value | +|------|-----| +| **Mood** | Fresh, clean, health-oriented | +| **Suitable for** | Healthcare, wellness, eco-friendly, food & beverage | +| **Primary** | `#1A6B5A` | +| **Accent (A — default)** | `#E3987D` (warm coral) | +| **Accent B** | `#DEC363` (golden yellow) | +| **Accent C** | `#8574E2` (medium slate blue) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Gill Sans MT Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | mint, fresh, health, botanical, clean, green smoothie, spa, herbal | +| **Mask Color** | `rgba(18,78,64,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#0A3028` | Deepest background | +| primary-90 | `#124E40` | Title bar background | +| primary-80 | `#1A6B5A` | Title text / primary elements | +| primary-60 | `#3D9B86` | Subtitle / icons | +| primary-40 | `#6DBFAB` | Secondary text | +| primary-20 | `#A8DACE` | Light decoration | +| primary-10 | `#D6EDE7` | Card background / border | +| primary-5 | `#EFF8F5` | Surface base color | + +--- + +### 12. Azure (Sky Blue) + +| Property | Value | +|------|-----| +| **Mood** | Open, lightweight, approachable technology | +| **Suitable for** | SaaS products, AI/tech, onboarding, training materials | +| **Primary** | `#1E5F8C` | +| **Accent (A — default)** | `#FF6B2B` (electric orange) | +| **Accent B** | `#DD5F5F` (red) | +| **Accent C** | `#9270E1` (violet) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Trebuchet MS Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | sky, cloud, technology, light blue, software, digital, clean interface | +| **Mask Color** | `rgba(20,68,104,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#0C2A40` | Deepest background | +| primary-90 | `#144468` | Title bar background | +| primary-80 | `#1E5F8C` | Title text / primary elements | +| primary-60 | `#4085B0` | Subtitle / icons | +| primary-40 | `#70AAD0` | Secondary text | +| primary-20 | `#A8CEE5` | Light decoration | +| primary-10 | `#D8E9F3` | Card background / border | +| primary-5 | `#F0F6FA` | Surface base color | + +--- + +### 13. Ember (Amber Red) + +| Property | Value | +|------|-----| +| **Mood** | Bold, energetic, high-impact | +| **Suitable for** | Annual events, product launches, sales campaigns, motivational presentations | +| **Primary** | `#8B2500` | +| **Accent (A — default)** | `#F04828` (fire orange) | +| **Accent B** | `#2EC4B6` (teal contrast) | +| **Accent C** | `#EC7979` (coral red) | +| **CJK Title Font** | SimHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Arial Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | fire, red, energy, stage light, celebration, bold, dynamic, explosion | +| **Mask Color** | `rgba(100,26,0,0.75)` (primary-90 based) | + +Color Scale: + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#3E1000` | Deepest background | +| primary-90 | `#641A00` | Title bar background | +| primary-80 | `#8B2500` | Title text / primary elements | +| primary-60 | `#B85030` | Subtitle / icons | +| primary-40 | `#D88060` | Secondary text | +| primary-20 | `#EBB8A0` | Light decoration | +| primary-10 | `#F5DCD0` | Card background / border | +| primary-5 | `#FBF0EB` | Surface base color | + +--- + +### 14. Volt (Electric / Startup Dark) + +| Property | Value | +|------|-----| +| **Mood** | Electric, aggressive, high-energy | +| **Suitable for** | AI/tech product launches, startup pitches, youth tech brands, digital innovation | +| **Primary** | `#FFFFFF` | +| **Accent (A — default)** | `#00F5A0` (electric mint-green) | +| **Accent B** | `#FF5E3A` (electric orange) | +| **Accent C** | `#A855F7` (electric purple) | +| **Background Override** | `#080B14` (near-black with blue tint, replaces default `#FFFFFF`) | +| **CJK Title Font** | Microsoft YaHei Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Trebuchet MS Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | neon, circuit board, futuristic, dark ui, electric glow, startup, code, data stream | +| **Mask Color** | `rgba(5,7,16,0.70)` (primary-100 based) | + +**Dark theme notes**: Same inverted logic as Deep Mineral — see its notes above. +- `background` = `#080B14`, `surface` = `#0F1424`, `surface-card` = `#162033` +- `text-primary` = `#FFFFFF`, `text-secondary` = `rgba(255,255,255,0.75)`, `text-muted` = `rgba(255,255,255,0.45)` +- Accents are extremely vivid by design — use sparingly (bars, numbers, key labels only) + +Color Scale (inverted): + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#050710` | Deepest background | +| primary-90 | `#0D1320` | Title bar background | +| primary-80 | `#FFFFFF` | Title text / primary elements | +| primary-60 | `rgba(255,255,255,0.75)` | Subtitle / secondary text | +| primary-40 | `rgba(255,255,255,0.45)` | Muted text / annotations | +| primary-20 | `#1E2E48` | Card borders / subtle decorations | +| primary-10 | `#0F1424` | Surface / content area base | +| primary-5 | `#080B14` | Page background | + +--- + +### 15. Vermillion (Chinese Red) + +| Property | Value | +|------|-----| +| **Mood** | Ceremonial, festive, culturally resonant | +| **Suitable for** | Chinese cultural events, Spring Festival, traditional ceremonies, brand storytelling with Chinese aesthetics | +| **Primary** | `#8B1A1A` | +| **Accent (A — default)** | `#D4AF37` (Chinese gold) | +| **Accent B** | `#C4762A` (copper bronze) | +| **Accent C** | `#2D6B8A` (cool blue contrast) | +| **Background Override** | `#FDF8F2` (warm rice-paper white, replaces default `#FFFFFF`) | +| **CJK Title Font** | SimSun Bold | +| **CJK Body Font** | Microsoft YaHei | +| **Latin Title Font** | Palatino Linotype Bold | +| **Latin Body Font** | Corbel | +| **Image Keywords** | red lantern, Chinese architecture, traditional culture, festival, gold ornament, calligraphy, temple, Spring Festival | +| **Mask Color** | `rgba(107,20,20,0.75)` (primary-90 based) | + +**Warm background notes**: Uses warm rice-paper white `#FDF8F2` instead of pure white: +- `background` = `#FDF8F2`, `surface` = `#F5EDE0` (warm tint), `surface-card` = `#FEFDFB` (near-white card) +- Avoid pure white elements that would look jarring against the warm base + +Color Scale: + +| Scale | Color Value | Usage | +|------|------|---------| +| primary-100 | `#450D0D` | Deepest background / dramatic pages | +| primary-90 | `#6B1414` | Title bar background | +| primary-80 | `#8B1A1A` | Title text / primary elements | +| primary-60 | `#B84040` | Subtitle / icons | +| primary-40 | `#D57070` | Secondary text | +| primary-20 | `#EDB0B0` | Light decoration | +| primary-10 | `#F8E0E0` | Card background / border | +| primary-5 | `#FDF4F4` | Surface base color | + +--- + +## Custom Themes + +If the user specifies a particular color, create a custom theme following these steps: + +1. Use the user-specified color as `primary-80` +2. Derive the full 8-level color scale according to the color scale generation rules in section 3.1 of `design-system.md` +3. Select an Accent color with a hue difference of ≥ 30° from the Primary (to ensure visual distinction). Recommended range: 60°–180°. Provide 3 accent variants (A/B/C) for variety. +4. Choose the most suitable font pairing from the presets, or use the user-specified fonts +5. Record the complete configuration in comments within the generated code to ensure consistency across the entire PPT deck + +## Font Pairing Notes + +Each theme has **4 font roles**: + +| Role | HTML font-family Syntax | Usage | +|------|----------------------|------| +| CJK Title | Write PPT font name directly: `font-family:'SimHei','Microsoft YaHei',sans-serif` | h1, h2, cover title | +| CJK Body | Write PPT font name directly: `font-family:'Microsoft YaHei',sans-serif` | body, lists, annotations | +| Latin Title | Write PPT font name directly: `font-family:'Century Gothic','Corbel',sans-serif` | Pure Latin character titles | +| Latin Body | Write PPT font name directly: `font-family:'Corbel',sans-serif` | Pure Latin character body text | + +**v3 Smart Font Mapping**: html2pptx.js automatically handles fonts: +- **PPT-safe fonts** (SimHei, Corbel, Palatino Linotype, etc. 40+) → Passed through directly, preserved as-is +- **macOS-exclusive fonts** (PingFang, Hiragino) → Automatically mapped to cross-platform equivalent fonts +- **Web fonts** (Roboto, Montserrat, Inter, etc.) → Automatically mapped to the visually closest PPT-safe font +- **fontConfig still available**: Serves as the final fallback default for CJK/Latin + +**fontConfig can be passed when calling html2pptx()** (optional, used to override default fallback): +```javascript +const fontConfig = { cjk: 'SimHei', latin: 'Corbel' }; +``` + +**Recommended practice**: Write the target PPT font name directly in HTML; do not rely on fontConfig for switching. + +**PPT-safe Chinese fonts**: Microsoft YaHei / SimHei / SimSun / KaiTi / FangSong / DengXian +**PPT-safe English fonts**: Corbel / Arial / Times New Roman / Palatino Linotype / Gill Sans MT / Century Gothic / Garamond / Rockwell / Candara / Constantia / Cambria / Trebuchet MS + +--- + +## Dark Mode Semantic Color Mapping + +For themes that need a full dark-mode deck (not just individual dark slides), use these semantic overrides: + +| Semantic Token | Light Mode Value | Dark Mode Value | +|---------------|-----------------|-----------------| +| `background` | `#FFFFFF` | `primary-100` | +| `surface` | `primary-5` | `primary-90` | +| `surface-card` | `#FFFFFF` | `primary-80` | +| `text-primary` | `primary-80` | `#FFFFFF` | +| `text-secondary` | `primary-60` | `rgba(255,255,255,0.75)` | +| `text-muted` | `primary-40` | `rgba(255,255,255,0.45)` | +| `border` | `primary-10` | `primary-60` | +| `on-dark` | `#FFFFFF` | `#FFFFFF` (unchanged) | + +Deep Mineral and Deep Forest themes already use dark mode by default. For any other theme, apply this mapping to create a dark variant. + +Cards in dark mode use `surface-card` background with **no shadow** (shadows invisible on dark backgrounds). Use subtle `border: 1pt solid primary-60` instead for card definition. diff --git a/skills/qingyan-research/SKILL.md b/skills/qingyan-research/SKILL.md new file mode 100755 index 0000000..8008354 --- /dev/null +++ b/skills/qingyan-research/SKILL.md @@ -0,0 +1,294 @@ +--- +name: qingyan_research_report +description: "Deep web research and HTML report generation. When GLM needs to conduct systematic information gathering and analysis for: (1) Exploring open-ended questions through multi-step search, deep reading, and logical reasoning, (2) Applying critical thinking and dynamic reflection to optimize search strategies and ensure information coverage, (3) Generating publication-quality HTML research reports with specific UI/UX standards (typography, colors, layout), (4) Creating interactive data visualizations (Chart.js) based on extracted statistical data, (5) Producing structured documents with automatic Table of Contents and responsive design." +--- +你是 **GLM**,一位具备**批判性思维、系统性探索能力与结构化表达能力**的高级网络研究智能体。你的任务是围绕通用开放性问题,通过搜索、深度阅读与逐步推理,开展系统化信息收集与分析,最终产出一篇**结构清晰、语义深刻、表达专业且视觉美观的 HTML 研究报告**。 + + +--- + + +### 一、思考准则 + +#### 1. 思考驱动的信息探索 + + +在执行每一轮信息收集行动(如发起搜索、访问网页等)之前,你必须首先进行深入的任务分析与策略制定。你的思考内容需包括: + + +* 对当前信息状态的完整性、权威性与时效性评估 +* 将用户问题拆解为多层次子问题,并识别缺失的关键信息 +* 明确接下来应聚焦的关键主题与相应关键词,并给出搜索与访问策略 +* 制定探索路径,说明哪些页面需要优先访问、哪些部分需重点提取 +* 在此基础上,结合反思机制动态调整任务推进方向 + + +#### 2. 动态反思与策略修正 + + +在任务推进过程中,应适时在思考中进行反思与策略调整,以确保信息探索的深度与方向持续优化。反思内容可聚焦以下任一方面: + + +* **问题覆盖检查(Question Coverage)**:当前是否已全面回应用户关切的核心问题?是否仍有未触及的关键角度或遗漏的子问题? +* **内容深度评估(Content Depth Reflection)**:现有信息是否具备足够的逻辑深度、数据支持与推理展开?是否存在内容空洞或片面性? +* **信息拓展建议(Information Supplementation)**:是否存在虽未被显式提出,但对理解问题具有价值的潜在方向、边界扩展或补充数据? + + +--- + + +### 二、搜索工具 + + +你可以使用加载外部skills中的搜索工具来系统性地获取信息,支持研究任务的深入推进: + + +- search:用于发起单轮全面精准的网页检索,以获取覆盖核心问题的权威来源。 + + +- visit:访问指定网页,提取首页的主要内容以供后续分析。 + +--- + + +### 三、HTML 报告生成规范 + + +最终,当收集到足够充分的信息后,调用`generate_html`工具,输出一份具备出版级品质的 HTML 研究报告。 + +generate_html工具使用说明: +python3 generate_html.py --title "Report Title" <<'EOF' +<!DOCTYPE html> +<html> +...[Full HTML Content]... +</html> +EOF + +Parameters Description: +Report Title: The level-1 heading of the report, also used as the filename. +Full HTML Content: The complete, self-contained HTML source code (including embedded CSS). + + +HTML格式需满足以下要求: + +#### 1. 主题化设计与风格要求 + + +**1. 总体布局与氛围:** + * **页面背景:** 纯白 (`#FFFFFF`), 页面背景必须覆盖整个页面。 + * **内容区域:** 纯白 (`#FFFFFF`),确保与文本的最大对比度。 + * **主文字色:** 近黑色 (`#212529`)。 + * **文本强调色A:** 用于目录、链接、使用蓝色 (`#0D6EFD`)。 + * **文本强调色B:** 用于关键高亮以及文本中加粗字体、使用黑色(`#212529`) + * **文本强调色C:** 用于标题装饰、使用黑色(`#212529`) + * **body设置:** 不要用display: flex设定。 + + +**2. 字体与排版:** + 标题 (Headings): "Alibaba PuHuiTi 3.0", "Noto Sans SC", "Noto Serif SC", sans-serif + 正文 (Body): "Alibaba PuHuiTi 3.0", "Noto Serif SC", serif + 代码 (Code): "Source Code Pro", monospace + 字号: + 正文: `16px` + H1 标题: font-size: 28px;margin-top: 24px;margin-bottom: 20px + H2 标题: font-size: 22px;padding-bottom: 0.4em; + H3 标题: font-size: 20px; + H4 标题: font-size: 18px; + 脚注/图表说明: margin-bottom: 1.2em; + + +**3. 其他元素:** + 当进行列举具体示例和行程安排时,适当用组件对示例和安排进行分组。正常文本不需要单独增加模块分组。 + + +1. **标题:** + * `<h1>` 居中;`<h2>` 标题前添加装饰元素,样式为:14px圆形,颜色使用: 文本强调色A(`#0D6EFD`)。 + + +2. **表格:** + * 摒弃传统边框。 + * `thead` 下方 `2px` 主题强调色。 + * `tbody tr:hover` 背景取主题明度 +5%。 + + +3. **引用:** + * 左侧竖条使用主题强调色。 + + +4. **文本主题背景:** + * 设置页面container,包含所有文本避免文本内容超出页面容器。 + * 确保背景长度可以包含所有文本,不要出现文本超出背景的情况。 + + +5. **分隔线:** + * 使用主题强调色。 + + +6. **目录生成:** + 在第一层 `<h1>` 标题 **之后** 自动插入 `Table of Contents`(名称为目录(保持和文本语种一致))模块,其生成规则如下: + 1. **范围与层级:** 仅收集文档中出现的所有 `<h2>` 及其紧随其后的 `<h3>` 子标题(直到下一个 `<h2>` 前)。 + 2. **结构:** + ```html + <nav class="toc"> + <ul class="toc-level-2"> + <li><a href="#section-1">H2 标题文本</a> + <ul class="toc-level-3"> + <li><a href="#section-1-1">H3 标题文本</a></li> + ... + </ul> + </li> + ... + </ul> + </nav> + ``` + * **所有目录级别 (`<li>`) 的标题文本必须包裹在 `<a>` 标签中,确保点击即可跳转到对应的 `<h2>` 或 `<h3>`。** + 3. **锚点生成:** 给每个 `<h2>`、`<h3>` 添加唯一 `id`(可使用标题文本的 slug 形式,全部小写,去除特殊字符)。目录中的 `href` 指向对应的 `#id`,实现点击跳转。 + 4. **样式要求:** + * 目录整体放在纯白内容区域中,与正文保持 `margin-bottom: 2em`。 + * `.toc-level-2 > li` 使用数字或圆点标识;嵌套 `.toc-level-3` 使用缩进列表。 + * 全部目录(序号和标题)颜色使用 **文本强调色** `#0D6EFD`,悬停时下划线, 适当添加缩进。 + 5. **序号格式:** + * 先检原文本标题是否包含序号(阿拉伯数字、中文数字、第一、第二、第三等),若包含则直接使用原文本标题中的序号。 + * 若不包含序号,则根据文档主要语言为中文(根据 `<h1>`/`<h2>` 含有中文字符判断),则在目录中为每个 `<h2>` 添加中文序号前缀:`一、`、`二、`、`三、`……;其对应的 `<h3>` 列表项不再重复序号,仅作为缩进子项显示。 + * 若不包含序号,则根据文档主要语言为非中文(根据 `<h1>`/`<h2>` 含有中文字符判断),则在目录中为每个 `<h2>` 添加阿拉伯数字加点形式:`1.`、`2.`、`3.` ……;其对应的 `<h3>` 列表项不再重复序号,仅作为缩进子项显示。 + * 序号仅在目录中显示,不修改正文标题本身。 + 6. **可折叠(可选):** 如目录过长,可为每个 `<li>` 添加 `details/summary` 结构,实现折叠展开,但默认展开即可。 + + +7. **智能图表生成** + + + * **图表生成要求** + * 数据多时,采用组合图,在一张图表中展现出全面的数据。 + * 图表种类尽量多元化,不要大量重复使用一种图表格式。 + + + * **触发条件:** + * **数据比较:** 文本中包含多组数据的直接对比(如 "A组的结果是25%,而B组是40%")。 + * **趋势描述:** 描述了某个变量随时间的变化(如 "2024年时,A组25%,2023年时20%")。 + * **分布或构成:** 展示一个整体中各个部分的百分比构成(如 "30%为男性,70%为女性")。 + * **数据密集的表格:** 表格展示了精确数据,但趋势或比较更适合用图表表达。 + + + * **解析需求** + * 图表类型(柱状、折线、条形图、组合图等) + * 比较主体、时间范围及指标 + * 禁止生成环形图 + + + * **数据处理** + * 依据解析结果,根据上下文进行数据搜集处理。 + + + * **生成 Chart.js 图表(保持与主题语种一致)** + * 使用 Chart.js 绘制图表(防止打印 PDF 被截断) + + + * **坐标轴 / 文字** + * 文字使用主文字色 `#212529`,指定字体 + * 调整 x/y 轴名称字体及标题字体,避免超出图表空间 + * y 轴最大值应为数据最大值的 1.2 倍 + * 网格线使用辅助色 `#E9ECEF`,虚线显示 + * 图表宽高自适应,节点不超边界 + * 节点间自动计算间距,避免重叠 + * 长文本自动换行或缩小字体 + * 柱状图应从下向上绘制 + + + * **数据元素绘制** + * 元素尺寸和位置必须精确计算 + + + * **图例绘制** + * 图例图标与文本保持间距,避免重叠 + * 除组合图外,不允许任何元素重叠(如 x/y 轴标题与数据名称重叠) + + + * **颜色规范** + * 图形使用主题强调色 `#0D6EFD` + * 多图形并存使用对比色(如绿色、橙色),颜色带透明度 + * 所有文字使用主文字色 `#212529` + + + * **图表注释** + * 注释清晰、具体 + * 注释与主题语种一致 + * 图表与注释文字用不同容器 + * 示例:图2:2021年主要石化仓储上市公司毛利率对比 + + + * **图表互动模块生成要求** + * 添加交互提示(鼠标悬停显示信息) + + + * **代码示例:** + ``` + function createChart(ctx, config) { + if (ctx) { + new Chart(ctx, config); + } + } + + + createChart(growthCtx, { + type: 'bar', + data: { + labels: growthData.years, + datasets: [ + { + label: '', + data: , + yAxisID: 'y', + backgroundColor: 'rgba(59, 130, 246, 0.5)', + borderColor: 'rgba(59, 130, 246, 1)', + borderWidth: 1 + } + // ... + ] + }, + options: { + responsive: true, + maintainAspectRatio: false, + scales: { + y: { + type: 'logarithmic', + position: 'left', + title: { + display: true, + text: '...' + } + } + }, + plugins: { + tooltip: { + mode: 'index', + intersect: false + }, + title: { + display: false + } + } + } + }); + ``` + + + * **背景 / 网格线** + * 使用页面背景色或辅助色:`#F8F9FA`、`#E9ECEF` + + + * **嵌入 HTML** + * 使用 `<figure class="generated-chart">` 包裹 `<canvas>` + * 使用 `<figcaption>` 添加图表说明文字 + + +--- + + +### 四、禁止行为 + + +* 禁止跳过反思机制或忽略信息分析 +* 禁止直接复制网页内容或堆砌式摘要 +* 禁止在信息不足或逻辑结构不完整时提前输出报告 +* 禁止生成不完整 HTML(如缺少 `<html>` 或 `<style>`) \ No newline at end of file diff --git a/skills/qingyan-research/generate_html.py b/skills/qingyan-research/generate_html.py new file mode 100755 index 0000000..988e290 --- /dev/null +++ b/skills/qingyan-research/generate_html.py @@ -0,0 +1,33 @@ +import os +import re +import sys +import argparse + +def safe_filename(title): + # 移除非法文件名字符 + return re.sub(r'[\\/*?:"<>|]', "", title).strip() + +def main(): + parser = argparse.ArgumentParser(description="Save HTML content to a local file.") + parser.add_argument("--title", required=True, help="Report title (used as filename)") + args = parser.parse_args() + + # 从标准输入 (STDIN) 读取所有内容,这不会受到 Shell 参数长度限制 + try: + content = sys.stdin.read() + if not content: + print("Error: No content received from STDIN.", file=sys.stderr) + sys.exit(1) + + filename = f"{safe_filename(args.title)}.html" + + with open(filename, "w", encoding="utf-8") as f: + f.write(content) + + print(f"Successfully generated: {os.path.abspath(filename)}") + except Exception as e: + print(f"Error: {str(e)}", file=sys.stderr) + sys.exit(1) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/skills/quiz-html/README.md b/skills/quiz-html/README.md new file mode 100755 index 0000000..ba640bd --- /dev/null +++ b/skills/quiz-html/README.md @@ -0,0 +1,117 @@ +# quiz-html · 网页题库生成器 + +把题目数组 → 一个可独立打开的 HTML 练习网页。 + +## ✨ 功能一览 + +- 📂 **双重筛选**:分类(学科/子模块) + 学习状态(已掌握/未做/错题) +- 🎯 **4 种题型**:选择 / 判断 / 填空 / 简答 +- 🤖 **智能答题**:选 ≠ 提交,可反复改;答错给一次重试机会 +- ⌨️ **键盘快捷键**:A/B/C/D · Enter · ← → · Space +- 📝 **模拟考模式**:选题量 + 限时 + 一次性提交 + 成绩页 +- 🧠 **记忆口诀**:题目带 `memory_tip` 字段会高亮显示 +- 🌓 **主题切换**:明 / 暗双主题,localStorage 记忆 +- 💾 **进度持久化**:浏览器记住每题状态,关掉再开还在 +- 📱 **移动端适配**:手机也能用 + +## 🚀 快速上手 + +```bash +# 1. 准备题目 JSON 文件(数组) +cat > /tmp/q.json << 'EOF' +[ + {"type":"single_choice","prompt":"1+1=?","options":["A. 1","B. 2","C. 3"],"answer":"B", + "explanation":"基础运算","category":"数学 / 加减法","level":1} +] +EOF + +# 2. 生成 HTML +python3 scripts/build_quiz_html.py /tmp/q.json --title "数学练习" --open +``` + +## 📁 目录结构 + +``` +quiz-html/ +├── SKILL.md # skill 描述(给 agent 用) +├── README.md # 本文件(给人看) +├── skill.yaml # skill 元数据 +├── scripts/ +│ └── build_quiz_html.py # 注入脚本 +├── templates/ +│ └── quiz_template.html # HTML 模板(含 {{占位符}}) +└── examples/ + └── demo.html # 示例:已注入的可直接打开的 demo +``` + +## 🔗 与 quiz-mastery 联动 + +本 skill 不直接出题,专门负责"题目 → 网页"这一步。 +出题/导入请用 `quiz-mastery`。完整链路: + +``` +quiz-mastery 出题 + ↓ + 题目 JSON + ↓ + 询问用户:"要做成网页吗?" + ↓ 用户说要 + quiz-html ← 你在这里 + ↓ + 生成 .html + ↓ + 浏览器打开 → 用户开始练 +``` + +## 📝 题目字段 + +| 字段 | 必填 | 类型 | 说明 | +|---|---|---|---| +| `type` | ✅ | string | `single_choice` / `true_false` / `fill_blank` / `short_answer` | +| `prompt` | ✅ | string | 题干 | +| `options` | 选择题 | array | `["A. xxx", "B. yyy", ...]` | +| `answer` | ✅ | string | 标准答案 | +| `explanation` | 推荐 | string | 解析(支持 `**粗体**` `*斜体*` `\` 代码 \``) | +| `knowledge_point` | 推荐 | string | 知识点名(侧边栏分组用) | +| `category` | 推荐 | string | 分类路径,建议格式 `"学科 / 子模块"` | +| `level` | 可选 | int | 难度 1-3 | +| `memory_tip` | 可选 | string | 记忆口诀,会用橙色卡片高亮 | + +## ⌨️ 用户使用快捷键 + +| 按键 | 作用 | +|---|---| +| `A` `B` `C` `D` | 选选项 | +| `T` `F` | 判断题 | +| `Enter` | 提交 | +| `←` `→` | 上一题 / 下一题 | +| `Space` | 查看答案 | +| `Ctrl/⌘+Enter` | 模拟考一键交卷 | + +## 🛠️ 命令行参数 + +``` +python3 build_quiz_html.py <questions.json> [options] + + --output, -o 输出 HTML 路径(默认:题目同目录) + --title 页面标题 + --subtitle 副标题(默认自动生成) + --id 题库 ID(用于 localStorage 隔离) + --open 生成后用浏览器打开 +``` + +## 🔍 退出码 + +| 码 | 含义 | +|---|---| +| 0 | 成功 | +| 1 | 参数错误 / 文件不存在 / 模板缺失 | +| 2 | JSON 解析失败 / 数据格式不合法 | + +## 📌 边界 + +| 任务 | 用谁 | +|---|---| +| 出题 / 评分 / 掌握度追踪 | `quiz-mastery` | +| 长期学习计划 | `study-buddy` | +| **把题目做成网页让用户在浏览器练** | **`quiz-html` (本 skill)** | diff --git a/skills/quiz-html/SKILL.md b/skills/quiz-html/SKILL.md new file mode 100755 index 0000000..9554e28 --- /dev/null +++ b/skills/quiz-html/SKILL.md @@ -0,0 +1,191 @@ +--- +name: quiz-html +description: 把题目数组生成一个**可独立运行的网页练习页**(HTML 文件)。当用户完成 quiz-mastery 的「从资料出题」或「从文件提取题目」流程后,应主动询问是否需要"在网页里练习",确认后调用本 skill 把题目注入模板,生成 HTML 给用户。也支持用户直接说"把这些题做成网页/HTML/练习页"时触发。**不处理**:出题(→ quiz-mastery)、评分(→ quiz-mastery)、长期复习计划(→ study-buddy)。 +--- + +# 网页题库生成器 (Quiz HTML Builder) + +把一组题目 JSON → 一个**单文件 HTML 练习网页**,包含: +- 📂 分类筛选(学科 / 子模块)+ 学习状态筛选(已掌握 / 未做 / 错题) +- 🎯 4 种题型支持:选择 / 判断 / 填空 / 简答 +- 🤖 答题自动标记,错题自动归入错题本(首次错误给一次重试机会) +- ⌨️ 完整键盘快捷键(A/B/C/D · Enter · 方向键 · Space) +- 📝 模拟考模式(限时 + 一次性提交 + 成绩页) +- 🌓 明暗主题切换 · localStorage 持久化 · 移动端适配 + +## 核心触发场景 + +### 场景 1:quiz-mastery 出题/导入完成后主动询问 ⭐ +这是本 skill 的**主要入口**。当 `quiz-mastery` 完成以下任一流程: +- 「从资料出题」:`generate_from_material.py` → 生成题目 JSON → `service.import_questions()` 入库 +- 「从题目文件提取」:`import_quiz.py` → 解析出题目 JSON → 入库 + +quiz-mastery 出题完成、向用户展示题目前,**主动问一句**: +> "题目准备好啦~ 要不要我把它们生成一个网页练习页?你可以在浏览器里慢慢做,错题会自动记下来,还能切换主题、模拟考试 🎯" + +用户说"要 / 好 / 生成网页 / 来一个 / 嗯"任一肯定意思 → 调用本 skill。 +用户说"不用 / 算了 / 直接在这里做" → 走原本的对话练习流程。 + +### 场景 2:用户直接要求生成网页 +触发关键词: +- "把这些题做成网页"、"做个 HTML 练习页"、"生成一个题库网页" +- "我想在浏览器里练"、"做个网页版" +- "把题目导出成 HTML" + +## 调用方式 + +### 一句话总结 +```bash +python3 scripts/build_quiz_html.py <题目JSON文件> [--title "..." --open] +``` + +### 标准流程 + +1. **拿到题目 JSON**(数组,每项是一道题) + - 来源 A:quiz-mastery 出题后的 LLM 输出(系统已是标准格式) + - 来源 B:用户直接粘贴的题目数组 + - 来源 C:从数据库读取的题目(quiz-mastery 的 `data/sessions/<sid>/questions.json`) + +2. **写到临时 JSON 文件**: + ```python + import json, tempfile + from pathlib import Path + tmp = Path(tempfile.mkdtemp()) / "questions.json" + tmp.write_text(json.dumps(questions, ensure_ascii=False), encoding="utf-8") + ``` + +3. **调用脚本**: + ```bash + python3 ~/Desktop/studybuddy_4.0/skills/quiz-html/scripts/build_quiz_html.py \ + /tmp/xxx/questions.json \ + --title "📚 物理 · 热学练习" \ + --output ~/Desktop/quiz_物理热学_20260518.html \ + --open + ``` + +4. **解析返回 JSON**: + ```json + { + "success": true, + "output_path": "/Users/.../quiz_xxx.html", + "question_count": 8, + "title": "📚 物理 · 热学练习", + "subtitle": "共 8 题 · 选择×5 · 判断×2 · 填空×1 · 物理", + "id": "q_1779091201", + "size_bytes": 63752 + } + ``` + +5. **告诉用户**:把 HTML 路径报给用户,提示「已经在浏览器打开了,可以开始练啦 ✨」 + +## 题目 JSON 字段标准 + +完全兼容 quiz-mastery 输出格式,**新增可选字段** `category` / `memory_tip`: + +| 字段 | 必填 | 说明 | +|---|---|---| +| `type` | ✅ | `single_choice` / `true_false` / `fill_blank` / `short_answer` | +| `prompt` | ✅ | 题干。也兼容 `question` 字段(自动转换) | +| `options` | 选择题必填 | `["A. xxx", "B. yyy", ...]` | +| `answer` | ✅ | 选择题填字母;判断题填 `"True"`/`"False"`;填空/简答填文本 | +| `explanation` | 推荐 | 解析(强烈建议填,K12 学生需要) | +| `knowledge_point` | 推荐 | 知识点名(侧边栏二级分组用) | +| `category` | 推荐 | 分类路径,**用"学科 / 子模块"格式**:`"物理 / 电学"`、`"数学 / 分数"` | +| `level` | 可选 | 难度 1-3 | +| `memory_tip` | 可选 | 记忆口诀,会用橙色卡片高亮显示(K12 神器) | + +### 示例 +```json +[ + { + "type": "single_choice", + "prompt": "下列关于并联电路电流规律的说法,正确的是( )。", + "options": [ + "A. 干路电流等于各支路电流之差", + "B. 干路电流等于各支路电流之和", + "C. 各支路电流相等", + "D. 干路电流大于任一支路电流的两倍" + ], + "answer": "B", + "explanation": "并联电路中,**干路电流等于各支路电流之和**:I = I₁ + I₂ + ...", + "knowledge_point": "并联电路电流规律", + "category": "物理 / 电学", + "level": 1, + "memory_tip": "🧠 并联看路口:进多少、出多少,电流不会消失" + } +] +``` + +## 设计原则 + +### 1. 自动 category,让筛选有意义 +如果题目缺 `category` 字段,最好补上(哪怕基于学科推断)。否则所有题都堆到"通用"分类下,分类筛选就废了。 + +### 2. category 用"学科 / 子模块" +- ✅ `"物理 / 电学"`、`"物理 / 热学"` → 顶部出 4 个细分类 chip +- ❌ `"物理"` → 只出 1 个,子模块在侧栏体现,但筛选粒度变粗 + +### 3. 知识点和分类不是同一层 +- `category` = 横向分类(哪个学科/章节),用于**顶部 chips 筛选** +- `knowledge_point` = 细粒度知识点,用于**左侧栏二级分组** + +### 4. 输出文件命名 +默认输出到题目 JSON 同目录,文件名 `quiz_<title_slug>_<时间戳>.html`。 +**建议显式传 `--output`**,放到 `~/Desktop/` 或一个固定目录方便用户找。 + +## 工作示例(quiz-mastery 衔接全流程) + +```python +# 1. quiz-mastery 已完成出题,拿到题目数组 +questions = [ + {"type": "single_choice", "prompt": "...", "options": [...], "answer": "A", + "explanation": "...", "knowledge_point": "...", "category": "物理 / 电学"}, + # ... +] + +# 2. agent 问用户:"要不要做成网页版?" +# 3. 用户:"要" +# 4. agent 写临时文件 + 调用 skill + +import json, subprocess, tempfile +from pathlib import Path + +tmp_dir = Path(tempfile.mkdtemp(prefix="quiz_")) +qjson = tmp_dir / "questions.json" +qjson.write_text(json.dumps(questions, ensure_ascii=False), encoding="utf-8") + +output = Path.home() / "Desktop" / "quiz_物理电学.html" + +result = subprocess.run([ + "python3", + str(Path.home() / "Desktop/studybuddy_4.0/skills/quiz-html/scripts/build_quiz_html.py"), + str(qjson), + "--title", "📚 物理 · 电学练习", + "--output", str(output), + "--open", +], capture_output=True, text=True) + +info = json.loads(result.stdout) +# info["output_path"] = "/Users/.../Desktop/quiz_物理电学.html" +``` + +然后告诉用户: +> 「已经做好啦~ 网页已自动打开 ✨ +> 路径:`~/Desktop/quiz_物理电学.html` +> 慢慢做,做完会自动记录错题,下次可以筛"错题"专门攻克 💪」 + +## 与其他 skill 的边界 + +| 任务 | 用谁 | +|---|---| +| 从资料出题 | **quiz-mastery** | +| 从文件提取题目 | **quiz-mastery** | +| 评分、掌握度追踪、艾宾浩斯安排 | **quiz-mastery** | +| 把题目做成网页给用户在浏览器练 | **quiz-html**(本 skill) | +| 学习计划、长期跟进 | **study-buddy** | + +## 失败处理 + +- `exit 1`:参数错误 / 文件不存在 / 模板缺失 → 报错给用户,让用户检查路径 +- `exit 2`:JSON 格式问题 / 题目数据非法 → 告诉用户哪几题被跳过,提示检查字段 +- 部分题被 skip 但有合法题:仍会成功生成,但 stderr 会列出被跳过的题,需要在回复里告知用户「跳过了 N 题,原因 XXX」 diff --git a/skills/quiz-html/examples/demo.html b/skills/quiz-html/examples/demo.html new file mode 100755 index 0000000..a4b30b7 --- /dev/null +++ b/skills/quiz-html/examples/demo.html @@ -0,0 +1,1349 @@ +<!DOCTYPE html> +<html lang="zh-CN"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> +<title>📚 StudyBuddy 题库示例 + + + + +
+
+

📚 StudyBuddy 题库示例 K12 多学科 · 8 道题

+
+
0已掌握
+
0未做
+
0错题
+
+
+ + + + + +
+
+
+
📂 分类:
+
+
+ + + +
+ +
+
+
+
📖
+
选择左侧题号开始学习
+
点击题号查看,做完会自动记录到本地
+
+
+ +
+
+ + + + + + + + + + + +
+
+

📝 模拟考

+
+
+ 0 / 0 +
+ ⏱ 0:00 + +
+
+
+ +
+
+ + +
+
+
0
+
+
+ + +
+
+
+
+ + + + + + + + diff --git a/skills/quiz-html/scripts/build_quiz_html.py b/skills/quiz-html/scripts/build_quiz_html.py new file mode 100755 index 0000000..95af4b1 --- /dev/null +++ b/skills/quiz-html/scripts/build_quiz_html.py @@ -0,0 +1,220 @@ +#!/usr/bin/env python3 +""" +build_quiz_html.py - 把题目 JSON 注入到模板 HTML,生成可独立运行的练习网页。 + +用法: + python3 build_quiz_html.py [options] + +参数: + questions_json 题目 JSON 文件路径(必填) + 格式:题目数组,每题字段见下方"题目字段" + +选项: + --output 输出 HTML 路径(默认:./quiz_.html) + --title 页面标题(默认:"题库练习") + --subtitle 副标题(默认根据题量自动生成) + --id 题库标识 ID(用于 localStorage 隔离,默认时间戳) + --open 生成后自动用浏览器打开 + +题目字段(来自 quiz-mastery 的标准 JSON 格式): + type single_choice | true_false | fill_blank | short_answer + prompt 题干(必填) + options 选项数组,仅 single_choice 用,格式 ["A. xxx", "B. yyy", ...] + answer 标准答案 + explanation 解析(推荐填,K12 学生很需要) + knowledge_point 知识点名(用于侧边栏分组) + category 分类路径(推荐用"学科 / 子模块",如"物理 / 电学") + level 难度 1-3(可选) + memory_tip 记忆口诀(可选,会用橙色卡片高亮显示) + +退出码: + 0 成功 + 1 参数错误 / 文件不存在 + 2 JSON 解析失败 / 数据格式不对 +""" +from __future__ import annotations + +import argparse +import json +import re +import sys +import time +import webbrowser +from pathlib import Path +from typing import Any + + +SKILL_DIR = Path(__file__).resolve().parent.parent +TEMPLATE_PATH = SKILL_DIR / "templates" / "quiz_template.html" + +REQUIRED_FIELDS = {"type", "prompt", "answer"} +VALID_TYPES = {"single_choice", "true_false", "fill_blank", "short_answer"} + + +def load_questions(path: Path) -> list[dict[str, Any]]: + """加载题目 JSON,做基本格式校验。""" + try: + raw = path.read_text(encoding="utf-8") + except OSError as e: + print(f"❌ 无法读取文件:{path} - {e}", file=sys.stderr) + sys.exit(1) + + try: + data = json.loads(raw) + except json.JSONDecodeError as e: + print(f"❌ JSON 解析失败:{e}", file=sys.stderr) + sys.exit(2) + + if not isinstance(data, list): + print(f"❌ 题目必须是数组(list),得到 {type(data).__name__}", file=sys.stderr) + sys.exit(2) + + if not data: + print("❌ 题目数组为空", file=sys.stderr) + sys.exit(2) + + cleaned: list[dict[str, Any]] = [] + for i, q in enumerate(data, 1): + if not isinstance(q, dict): + print(f"⚠️ 第 {i} 题不是对象,已跳过", file=sys.stderr) + continue + miss = REQUIRED_FIELDS - set(q.keys()) + if miss: + # 容忍 quiz-mastery 输出里 prompt 写成 question 的旧字段 + if "prompt" in miss and "question" in q: + q["prompt"] = q["question"] + miss.discard("prompt") + if miss: + print(f"⚠️ 第 {i} 题缺字段 {miss},已跳过", file=sys.stderr) + continue + if q.get("type") not in VALID_TYPES: + print(f"⚠️ 第 {i} 题 type 非法:{q.get('type')}(应为 {VALID_TYPES}),已跳过", file=sys.stderr) + continue + # 单选题校验:options 必须存在 + if q["type"] == "single_choice" and not q.get("options"): + print(f"⚠️ 第 {i} 题(选择题)缺 options,已跳过", file=sys.stderr) + continue + cleaned.append(q) + + if not cleaned: + print("❌ 没有任何合法题目", file=sys.stderr) + sys.exit(2) + + return cleaned + + +def auto_subtitle(questions: list[dict[str, Any]]) -> str: + """根据题目自动生成副标题:题量 + 涉及分类。""" + cats = sorted({(q.get("category") or "").strip() for q in questions if q.get("category")}) + type_count: dict[str, int] = {} + for q in questions: + t = q.get("type", "?") + type_count[t] = type_count.get(t, 0) + 1 + type_names = { + "single_choice": "选择", + "true_false": "判断", + "fill_blank": "填空", + "short_answer": "简答", + } + breakdown = " · ".join(f"{type_names.get(t, t)}×{n}" for t, n in type_count.items()) + parts = [f"共 {len(questions)} 题"] + if breakdown: + parts.append(breakdown) + if cats: + # 提取顶级学科(按 "/" 拆) + top_cats = sorted({c.split("/")[0].strip() for c in cats if c}) + if top_cats: + parts.append("、".join(top_cats)) + return " · ".join(parts) + + +def render(questions: list[dict[str, Any]], title: str, subtitle: str, qid: str) -> str: + """把题目数据注入模板。""" + if not TEMPLATE_PATH.exists(): + print(f"❌ 模板文件不存在:{TEMPLATE_PATH}", file=sys.stderr) + sys.exit(1) + + html = TEMPLATE_PATH.read_text(encoding="utf-8") + + meta = {"id": qid, "title": title, "subtitle": subtitle} + quiz_json = json.dumps(questions, ensure_ascii=False) + meta_json = json.dumps(meta, ensure_ascii=False) + + # 顺序替换,避免 title/subtitle 内含 {{...}} 时被二次解释 + html = html.replace("{{TITLE}}", _safe(title)) + html = html.replace("{{SUBTITLE}}", _safe(subtitle)) + html = html.replace("{{QUIZ_DATA}}", quiz_json) + html = html.replace("{{META}}", meta_json) + return html + + +def _safe(s: str) -> str: + """HTML 安全转义(仅用于 title/subtitle 这种纯文本占位符)。""" + return ( + s.replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace('"', """) + ) + + +def _slug(s: str) -> str: + """生成文件名安全的 slug。""" + s = re.sub(r"[^\w\u4e00-\u9fa5-]+", "_", s).strip("_") + return s[:40] or "quiz" + + +def main() -> int: + ap = argparse.ArgumentParser( + description="把题目 JSON 注入模板,生成可独立运行的练习网页", + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + ap.add_argument("questions", type=Path, help="题目 JSON 文件路径") + ap.add_argument("--output", "-o", type=Path, help="输出 HTML 路径") + ap.add_argument("--title", default="📚 题库练习", help="页面标题") + ap.add_argument("--subtitle", default=None, help="副标题(默认自动生成)") + ap.add_argument("--id", dest="qid", default=None, help="题库 ID(用于 localStorage 隔离)") + ap.add_argument("--open", action="store_true", help="生成后自动用浏览器打开") + args = ap.parse_args() + + if not args.questions.exists(): + print(f"❌ 文件不存在:{args.questions}", file=sys.stderr) + return 1 + + questions = load_questions(args.questions) + title = args.title + subtitle = args.subtitle or auto_subtitle(questions) + qid = args.qid or f"q_{int(time.time())}" + + html = render(questions, title, subtitle, qid) + + # 输出路径:默认到题目文件同目录 + if args.output: + output = args.output + else: + ts = time.strftime("%Y%m%d_%H%M%S") + output = args.questions.parent / f"quiz_{_slug(title)}_{ts}.html" + + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(html, encoding="utf-8") + + # 输出统一 JSON,方便 agent 解析 + result = { + "success": True, + "output_path": str(output.resolve()), + "question_count": len(questions), + "title": title, + "subtitle": subtitle, + "id": qid, + "size_bytes": output.stat().st_size, + } + print(json.dumps(result, ensure_ascii=False, indent=2)) + + if args.open: + webbrowser.open(f"file://{output.resolve()}") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/skills/quiz-html/skill.yaml b/skills/quiz-html/skill.yaml new file mode 100755 index 0000000..bb2c9a8 --- /dev/null +++ b/skills/quiz-html/skill.yaml @@ -0,0 +1,57 @@ +name: quiz_html +version: 0.1.0 +description: 把题目 JSON 注入模板生成单文件 HTML 练习网页 + +entrypoints: + build: scripts/build_quiz_html.py + +features: + - html_quiz_generation + - multi_question_type + - category_filter + - state_filter + - exam_mode + - keyboard_shortcuts + - dark_mode + - localstorage_persistence + - mobile_responsive + +depends_on: + - quiz-mastery # 上游:题目数据来源 + +triggers: + # 直接关键词 + - "生成网页" + - "做成网页" + - "做个HTML" + - "网页版" + - "在浏览器练" + - "导出HTML" + - "在网页做练习" + + # quiz-mastery 完成后的链式触发 + - quiz_generated # 出题完成事件 + - quiz_imported # 题目导入完成事件 + +io: + input: + type: file + format: json + schema: + type: array + items: + required: [type, prompt, answer] + properties: + type: {enum: [single_choice, true_false, fill_blank, short_answer]} + prompt: {type: string} + options: {type: array, items: {type: string}} + answer: {type: string} + explanation: {type: string} + knowledge_point: {type: string} + category: {type: string} + level: {type: integer, minimum: 1, maximum: 3} + memory_tip: {type: string} + output: + type: file + format: html + self_contained: true # 单文件,无外部依赖 diff --git a/skills/quiz-html/templates/quiz_template.html b/skills/quiz-html/templates/quiz_template.html new file mode 100755 index 0000000..aef3848 --- /dev/null +++ b/skills/quiz-html/templates/quiz_template.html @@ -0,0 +1,1418 @@ + + + + + + +📚 {{TITLE}} + + + + +
+
+

📚 {{TITLE}} {{SUBTITLE}}

+
+
0已掌握
+
0未做
+
0错题
+
+
+ + + + + +
+
+
+
📂 分类:
+
+
+ + + +
+ +
+
+
+
📖
+
选择左侧题号开始学习
+
点击题号查看,做完会自动记录到本地
+
+
+ +
+
+ + + + + + + + + + + +
+
+

📝 模拟考

+
+
+ 0 / 0 +
+ ⏱ 0:00 + +
+
+
+ +
+
+ + +
+
+
0
+
+
+ + +
+
+
+
+ + + + + + + + diff --git a/skills/quiz-mastery/.claude/settings.json b/skills/quiz-mastery/.claude/settings.json new file mode 100755 index 0000000..da92391 --- /dev/null +++ b/skills/quiz-mastery/.claude/settings.json @@ -0,0 +1,7 @@ +{ + "permissions": { + "additionalDirectories": [ + "/Users/huiningli/Documents/AI/openclaw/quiz-mastery" + ] + } +} diff --git a/skills/quiz-mastery/README.md b/skills/quiz-mastery/README.md new file mode 100755 index 0000000..a5f55d2 --- /dev/null +++ b/skills/quiz-mastery/README.md @@ -0,0 +1,93 @@ +# Quiz Mastery Skill + +OpenClaw agent 的独立出题/复习/掌握度追踪引擎。 + +## Features + +- **从学习资料出题**:把 PDF / Word / Markdown 等学习材料转成分级测验(L1/L2/L3) +- **从题目文件导入练习**:解析已有题目文件,标准化后让用户答题 +- **答案评分**:自动评分 + 逐题反馈 +- **掌握度追踪**:跨三级难度记录用户进度 +- **薄弱知识点**:累计错误次数 ≥ 3 → 标为薄弱(**只增不减**,作为历史档案) +- **遗忘曲线复习**:基于艾宾浩斯(1/2/4/7/15 天)安排复习 + +## Architecture + +``` +quiz-mastery/ +├── SKILL.md # Skill metadata (LLM 读) +├── README.md # 本文件(人读) +├── skill.yaml # Skill 配置 +├── scripts/ +│ ├── generate_from_material.py # 从学习资料提取知识点 +│ ├── import_quiz.py # 从题目文件导入题目 +│ ├── run_quiz.py # 生成测验 prompt +│ └── submit_answers.py # 提交答案 + 评分 +├── src/quiz_mastery/ # 核心引擎 +└── data/ + ├── knowledge_points/ # 文档知识点定义 + ├── user_progress/ # 用户掌握度数据(含薄弱标记、艾宾浩斯阶段) + └── sessions/ # 测验会话记录 +``` + +## Quick Start + +### 1. 从学习资料提取知识点 + +```bash +python3 scripts/generate_from_material.py +``` + +输出知识点提取 prompt(JSON)。把 `prompts.system_prompt` 和 `prompts.user_prompt` 发给 LLM,得到知识点列表后调 `service.save_knowledge_points()` 保存。 + +### 2. 从题目文件导入 + +```bash +python3 scripts/import_quiz.py +``` + +输出题目解析 prompt(JSON)。把 prompt 发给 LLM 得到标准化题目,调 `service.import_questions()` 导入。 + +### 3. 生成测验 + +```bash +python3 scripts/run_quiz.py +``` + +按用户当前掌握度自动决定难度,输出出题 prompt(JSON)。 + +### 4. 提交答案 + +```bash +python3 scripts/submit_answers.py '' +``` + +返回:`score`、`total`、`accuracy`、逐题 `results`。 + +## 数据集成(与 OpenClaw agent 的关系) + +本 skill **不写 `memory/`**,仅写 USER.md 第 3 节"薄弱知识点"。所有持久化由调用方 agent 统一负责,详见 SKILL.md。 + +| 数据 | 谁写 | 写到哪 | +|------|------|--------| +| 知识点定义、答题战绩、艾宾浩斯阶段 | 本 skill | `data/` 目录 | +| 薄弱知识点(错误次数 ≥ 3) | 本 skill | USER.md 第 3 节(来源=`quiz-mastery`) | +| 学习项目状态、DAY 排期 | study-buddy(上游 agent) | USER.md 第 2 节 | + +## 难度系统 + +| 级别 | 含义 | +|------|------| +| L1 | 识记(基础记忆和理解) | +| L2 | 理解(深层理解、应用) | +| L3 | 应用(综合运用、问题解决) | + +- 首次出题强制 L1 起步 +- 答对升级(最高 L3),答错降级(最低 L1) + +## Workflow + +1. **Generate / Import**:从学习资料或题目文件创建知识点 + 题目 +2. **Run**:生成测验 +3. **Submit**:用户答题 → 自动评分 → 更新掌握度 / 薄弱标记 +4. **Sync**:薄弱知识点写入 USER.md 第 3 节 diff --git a/skills/quiz-mastery/SKILL.md b/skills/quiz-mastery/SKILL.md new file mode 100755 index 0000000..a36cbc3 --- /dev/null +++ b/skills/quiz-mastery/SKILL.md @@ -0,0 +1,212 @@ +--- +name: quiz-mastery +description: 出题、测验、复习、掌握度追踪工具。**用户说"复习"、"巩固"、"回顾"任一关键词时优先触发本 skill**。当用户的请求与"题目/复习"相关时触发:把学习资料/PDF/材料转成题目练习("给这个 PDF 出几道题")、导入题目文件做练习("我有一份题目文件,帮我做")、复习已学内容("复习一下昨天的"、"巩固一下"、"回顾下昨天"、"用艾宾浩斯帮我安排")、遗忘曲线追踪、掌握度评分。**🔴 强制规则**:每次出题/导入题目成功后,**首轮展示题目前必须问一句**"要不要生成网页练习页?",用户说要 → 调用 quiz-html skill。**不处理**:长期学习项目的进度管理、计划制定(→ study-buddy)。 +--- + +# 测验大师 (Quiz Mastery) + +## 两大核心能力 + +### 能力一:从学习资料出题 +1. 用户提供学习资料(.md / .txt / .docx / .pdf / .ppt / .pptx) +2. 调用 `generate_from_material.py` 获取知识点提取 prompt +3. 将 prompt 发给 LLM,得到知识点 JSON +4. 调用 `service.save_knowledge_points()` 保存知识点 +5. 调用 `run_quiz.py` 生成出题 prompt +6. 将 prompt 发给 LLM,得到题目 JSON +7. **⭐ 询问用户是否生成网页练习页**(见下方"网页练习联动"章节) + - 用户说要 → 调用 `quiz-html` skill 生成 HTML 并打开 + - 用户说不用 → 走原流程 +8. 逐题展示给用户,收集答案 +9. 调用 `submit_answers.py` 提交评分 + +### 能力二:从题目文件练习 +1. 用户提供题目文件(.md / .txt / .docx / .pdf / .ppt / .pptx) +2. 调用 `import_quiz.py` 获取题目解析 prompt +3. 将 prompt 发给 LLM,得到标准化题目 JSON +4. 调用 `service.import_questions()` 导入题目并创建 session +5. **⭐ 询问用户是否生成网页练习页**(见下方"网页练习联动"章节) + - 用户说要 → 调用 `quiz-html` skill 生成 HTML 并打开 + - 用户说不用 → 走原流程 +6. 逐题展示给用户,收集答案 +7. 调用 `submit_answers.py` 提交评分 + +## 何时使用(触发条件) + +1. **用户主动要求**:"出几道题"、"测试一下"、"来个小测"、"练习题"、"考考我" +2. **用户说"复习"、"巩固"、"回顾"**:直接触发 +3. **基于已有题目文件练习**:用户上传题目文件后触发 + +> ⚠️ **不处理 study-buddy 的"即时练习"**——那条链路由 study-buddy 走外部 `exam_take`,不调本 skill。 + +## 没历史数据时的兜底 + +当用户说"复习"但 `data/user_progress/` 是空的(新用户/没答过题): +- **不要硬启动复习流程**——没数据可复习 +- 主动告诉用户:"还没有可复习的历史数据,要不要先用一份学习资料出题练一下?" +- 引导用户走"能力一:从学习资料出题" + +## 难度系统 + +| 级别 | 含义 | 说明 | +|------|------|------| +| L1 | 识记 | 基础记忆和理解,考察概念辨认和基本事实 | +| L2 | 理解 | 深层理解,考察概念区分、原理解释和简单应用 | +| L3 | 应用 | 综合运用,考察实际场景应用、分析和问题解决 | + +- **首次出题**:强制从 L1 开始 +- **答对当前难度**:升一级(最高 L3) +- **答错当前难度**:降一级(最低 L1) + +## 题型分配规则 + +| 级别 | 选择题 | 判断题 | 填空题 | 简答题 | +|------|--------|--------|--------|--------| +| L1 | 70% | 30% | - | - | +| L2 | 50% | 20% | 30% | - | +| L3 | 40% | 20% | 20% | 20% | + +## 出题数量 + +- **默认每次出 3 道题**(一次对话展示 3 题,用户一次性回答后统一评分) +- 每轮最多 **15 题**(用户可要求调整数量) +- 简答题尽量少出,不自动评分(标记为 `needs_review`,由外部 LLM/人工评判) + +## 薄弱知识点追踪 + +- **标记为薄弱**:累计错误次数 ≥ 3 +- **不解除**:薄弱知识点只增不减,作为历史档案保留 +- 内部数据保存在 `data/user_progress/`(错误次数、艾宾浩斯阶段等) +- **同步到 USER.md 第 3 节"薄弱知识点"**(由本 skill 直接写入,来源=`quiz-mastery`): + | 知识点 | 错误次数 | 来源 | 备注 | + - 已有该知识点 → 更新错误次数 + - 未在表中 → 新增一行 + +## 遗忘曲线复习机制 + +基于艾宾浩斯遗忘曲线,按 **1天 → 2天 → 4天 → 7天 → 15天** 间隔安排复习: +- 答对:review_stage +1(推进到下一个间隔) +- 答错:review_stage 重置为 0(从头开始) +- 复习推荐包含:即将遗忘的知识点 + 最近 3 天薄弱知识点 + +## 脚本调用方式 + +### 1. 从学习资料提取知识点 + +```bash +python3 scripts/generate_from_material.py +``` + +输出知识点提取 prompt(JSON),将 prompts.system_prompt 和 prompts.user_prompt 发给 LLM。 + +### 2. 从题目文件导入题目 + +```bash +python3 scripts/import_quiz.py +``` + +输出题目解析 prompt(JSON),将 prompts.system_prompt 和 prompts.user_prompt 发给 LLM。 + +### 3. 生成测验 + +```bash +python3 scripts/run_quiz.py +``` + +根据已保存的知识点和用户当前掌握度自动决定难度,输出出题 prompt(JSON)。 + +### 4. 提交答案 + +```bash +python3 scripts/submit_answers.py '' +``` + +参数说明: +- `answers_json`:JSON 格式的答案字典,如 `{"q_001": "A", "q_002": "True"}` + +返回评分结果:score、total、accuracy、逐题 results。 + +## 出题流程(面向 study-buddy 的调用说明) + +1. 确定知识点来源(学习资料 or 已有题目文件) +2. 执行对应的提取/导入流程 +3. 调用 `run_quiz.py` 生成出题 prompt +4. **每次展示 3 道题给用户**(一次性展示,编号清晰,不要逐题出),用户一次性回答后再统一评分 +5. 收集用户回答(用户可以一次性回复 3 道题的答案) +6. 调用 `submit_answers.py` 提交评分 +7. 将评分结果返回给 study-buddy,由其写入 memory 文件 + +⚠️ **本 skill 仅写入 USER.md 第 3 节"薄弱知识点"**(来源=`quiz-mastery`);不写其他分区,也不写 `memory/`。其他持久化由 study-buddy 统一负责。 + +## 数据目录结构 + +``` +skills/quiz-mastery/data/ +├── knowledge_points/ ← 知识点定义(按 document_id) +├── sessions/ ← 测验会话记录 +└── user_progress/ ← 用户掌握度数据(含薄弱标记、遗忘曲线) +``` + +## ⭐ 网页练习联动(与 quiz-html 协作) + +每次拿到题目 JSON 之后("能力一"步骤 7、"能力二"步骤 5),都要**主动问用户一句**: + +> "题目准备好啦~ 要不要我把它们生成一个网页练习页?你可以在浏览器里慢慢做,错题会自动记下来,还能切换主题、模拟考试 🎯" + +### 用户回应判定 + +| 用户说 | 判定 | 行动 | +|---|---|---| +| "要 / 好 / 嗯 / 来一个 / 生成 / 网页 / 浏览器" | ✅ 要 | 调用 `quiz-html` | +| "不用 / 不要 / 算了 / 直接做 / 这里做" | ❌ 不要 | 走原对话流程 | +| 没回应 / 不明确 | 默认 ❌ 不要 | 直接走原流程,不强推 | + +### 调用 quiz-html 的具体步骤 + +```python +import json, subprocess, tempfile +from pathlib import Path + +# 1. 把已经拿到的题目 JSON 写到临时文件 +tmp_dir = Path(tempfile.mkdtemp(prefix="quiz_")) +qjson = tmp_dir / "questions.json" +qjson.write_text(json.dumps(questions, ensure_ascii=False), encoding="utf-8") + +# 2. 决定输出路径(推荐放 ~/Desktop) +output = Path.home() / "Desktop" / f"quiz_{title_slug}.html" + +# 3. 调脚本 +result = subprocess.run([ + "python3", + str(Path.home() / "Desktop/studybuddy_4.0/skills/quiz-html/scripts/build_quiz_html.py"), + str(qjson), + "--title", page_title, # 如 "📚 物理 · 电学练习" + "--output", str(output), + "--open", # 生成后自动用浏览器打开 +], capture_output=True, text=True) + +info = json.loads(result.stdout) # {"success": true, "output_path": "...", ...} +``` + +### 题目字段补全建议 + +调用前,最好给每道题补上以下字段(如果出题时没生成): +- `category`:**一级分类,短词**(建议 2-6 字),用于网页顶部分类筛选 chip。 + - ✅ 推荐:`物理` / `数学` / `法律` / `历史` / `编程` / `通用` + - ❌ 避免:`通用类 / 1.中华人民共和国证券法(1998年12月29日…)` 这种长串、含日期/编号/斜杠的写法 + - 如果非要分两级,用 `/` 分隔且二级也要短:`物理 / 电学` +- `knowledge_point`:知识点名(侧边栏分组用,可与 quiz-mastery 的 KP title 一致,不要带层级前缀) +- `memory_tip`:记忆口诀(可选,K12 学生很需要) + +这样网页的分类筛选、侧栏分组、记忆卡片才能发挥作用。 + +### 边界 + +| 任务 | 用谁 | +|---|---| +| 出题、提取题目 | 本 skill (quiz-mastery) | +| 评分、掌握度追踪 | 本 skill (quiz-mastery) | +| **题目 → 网页练习页** | **quiz-html** | + +调完 quiz-html 之后,**仍然要走 quiz-mastery 的评分流程**——网页里的答题状态是给用户自查用的,正式的 mastery 数据要靠 `submit_answers.py` 写入。两者并行不冲突。 + diff --git a/skills/quiz-mastery/scripts/generate_from_material.py b/skills/quiz-mastery/scripts/generate_from_material.py new file mode 100755 index 0000000..bfce77d --- /dev/null +++ b/skills/quiz-mastery/scripts/generate_from_material.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +"""从学习资料生成知识点提取 prompt。 + +用法:python3 generate_from_material.py + +输出:JSON 格式的 prompt(system_prompt + user_prompt),由 agent 发给 LLM 执行。 +LLM 返回知识点 JSON 后,agent 应调用 service.save_knowledge_points() 保存。 +""" +from pathlib import Path +import json +import sys + +sys.path.append(str(Path(__file__).resolve().parents[1] / "src")) + +from quiz_mastery.file_parser import parse_file, build_extraction_prompt + + +def main() -> None: + if len(sys.argv) < 3: + print("Usage: generate_from_material.py ") + print(" file_path: Path to study material (.md, .txt, .text)") + print(" document_id: Identifier for this document") + sys.exit(1) + + file_path = sys.argv[1] + document_id = sys.argv[2] + + content = parse_file(file_path) + prompts = build_extraction_prompt(content) + + output = { + "action": "extract_knowledge_points", + "document_id": document_id, + "file_path": file_path, + "prompts": prompts, + "instructions": ( + "Send the system_prompt and user_prompt to an LLM. " + "The LLM should return a JSON array of knowledge points. " + "Then call save_knowledge_points(document_id, knowledge_points) to save." + ), + } + + print(json.dumps(output, ensure_ascii=False, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/skills/quiz-mastery/scripts/import_quiz.py b/skills/quiz-mastery/scripts/import_quiz.py new file mode 100755 index 0000000..82f3bdc --- /dev/null +++ b/skills/quiz-mastery/scripts/import_quiz.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +"""从题目文件导入题目。 + +用法:python3 import_quiz.py + +输出:JSON 格式的 prompt(system_prompt + user_prompt),由 agent 发给 LLM 解析题目。 +LLM 返回题目 JSON 后,agent 应调用 service.import_questions() 导入。 +""" +from pathlib import Path +import json +import sys + +sys.path.append(str(Path(__file__).resolve().parents[1] / "src")) + +from quiz_mastery.file_parser import parse_file +from quiz_mastery.quiz_extractor import build_extraction_prompt + + +def main() -> None: + if len(sys.argv) < 4: + print("Usage: import_quiz.py ") + print(" file_path: Path to question file (.md, .txt, .text)") + print(" document_id: Identifier for this document") + print(" user_id: User identifier") + sys.exit(1) + + file_path = sys.argv[1] + document_id = sys.argv[2] + user_id = sys.argv[3] + + content = parse_file(file_path) + prompts = build_extraction_prompt(content) + + output = { + "action": "import_questions", + "document_id": document_id, + "user_id": user_id, + "file_path": file_path, + "prompts": prompts, + "instructions": ( + "Send the system_prompt and user_prompt to an LLM. " + "The LLM should return a JSON array of questions. " + "Then call service.import_questions(document_id, user_id, questions) to import." + ), + } + + print(json.dumps(output, ensure_ascii=False, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/skills/quiz-mastery/scripts/run_quiz.py b/skills/quiz-mastery/scripts/run_quiz.py new file mode 100755 index 0000000..2947328 --- /dev/null +++ b/skills/quiz-mastery/scripts/run_quiz.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +"""生成出题 prompt。 + +用法:python3 run_quiz.py + +根据已保存的知识点和用户掌握度记录,自动决定出题难度。 +- 从 mastery_records 读取每个知识点的 current_level +- 首次出题的知识点强制 level=1 +- 输出 JSON 格式的 prompt(system_prompt + user_prompt),由 agent 发给 LLM 生成题目 + +也支持指定知识点和难度: + python3 run_quiz.py [level] [kp_id1,kp_id2,...] +""" +from pathlib import Path +import json +import sys + +sys.path.append(str(Path(__file__).resolve().parents[1] / "src")) + +from quiz_mastery import QuizMasteryService + + +def main() -> None: + if len(sys.argv) < 3: + print("Usage: run_quiz.py [level] [kp_id1,kp_id2,...]") + print(" user_id: User identifier") + print(" document_id: Document identifier") + print(" level: Optional difficulty level (1/2/3)") + print(" kp_ids: Optional comma-separated knowledge point IDs") + sys.exit(1) + + user_id = sys.argv[1] + document_id = sys.argv[2] + + level = None + kp_ids = None + + if len(sys.argv) >= 4: + try: + level = int(sys.argv[3]) + except ValueError: + # Maybe it's kp_ids instead + kp_ids = sys.argv[3].split(",") + + if len(sys.argv) >= 5: + kp_ids = sys.argv[4].split(",") + + service = QuizMasteryService( + base_dir=Path(__file__).resolve().parents[1] / "data" + ) + + result = service.generate_quiz_for_user( + user_id=user_id, + document_id=document_id, + knowledge_point_ids=kp_ids, + level=level, + ) + + print(json.dumps(result, ensure_ascii=False, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/skills/quiz-mastery/scripts/submit_answers.py b/skills/quiz-mastery/scripts/submit_answers.py new file mode 100755 index 0000000..4ef2b6d --- /dev/null +++ b/skills/quiz-mastery/scripts/submit_answers.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +"""提交测验答案并评分。 + +用法:python3 submit_answers.py + +参数: + user_id: 用户标识 + document_id: 文档标识 + session_id: 测验会话 ID + answers_json: JSON 格式的答案字典,如 '{"q_001":"A","q_002":"True"}' + +输出:评分结果 JSON(score, total, accuracy, results)。 +""" +from pathlib import Path +import json +import sys + +sys.path.append(str(Path(__file__).resolve().parents[1] / "src")) + +from quiz_mastery import QuizMasteryService + + +def main() -> None: + if len(sys.argv) < 5: + print("Usage: submit_answers.py ") + sys.exit(1) + + user_id = sys.argv[1] + document_id = sys.argv[2] + session_id = sys.argv[3] + answers = json.loads(sys.argv[4]) + + service = QuizMasteryService( + base_dir=Path(__file__).resolve().parents[1] / "data" + ) + + result = service.submit_quiz_answers( + user_id=user_id, + document_id=document_id, + session_id=session_id, + answers=answers, + ) + + print(json.dumps(result, ensure_ascii=False, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/skills/quiz-mastery/skill.yaml b/skills/quiz-mastery/skill.yaml new file mode 100755 index 0000000..bacb177 --- /dev/null +++ b/skills/quiz-mastery/skill.yaml @@ -0,0 +1,21 @@ +name: quiz_mastery +version: 0.2.0 +entrypoints: + run_quiz: scripts/run_quiz.py + submit_answers: scripts/submit_answers.py + generate_from_material: scripts/generate_from_material.py + import_quiz: scripts/import_quiz.py + +storage: + type: local_json + base_dir: ./data + +features: + - knowledge_extraction + - quiz_generation + - question_import + - answer_evaluation + - mastery_tracking + - weak_point_tracking + - ebbinghaus_review + - review_planning diff --git a/skills/quiz-mastery/src/quiz_mastery/__init__.py b/skills/quiz-mastery/src/quiz_mastery/__init__.py new file mode 100755 index 0000000..b8f5d2c --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/__init__.py @@ -0,0 +1,3 @@ +from .service import QuizMasteryService + +__all__ = ["QuizMasteryService"] diff --git a/skills/quiz-mastery/src/quiz_mastery/__pycache__/__init__.cpython-313.pyc b/skills/quiz-mastery/src/quiz_mastery/__pycache__/__init__.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..d551276bdcd8af9febd4003b70db014da512e644 GIT binary patch literal 264 zcmey&%ge<81iWs~GrfTHV-N=hn4pZ$VnD`JhG2$ZMsEf$#v(=qhF~Ur#v-P4W=)ot zj6g|E##=&xrI}T}iNz(UMU}y+MP-@EsYT2{DL+l-TkOS10=L-X;}dgo;^S8`d&K*U91HH#0DqBXUOKcF&_wo)@0XD=|a%q;iLAn>G3 z(_s2wn`l}ssWttvHnG}hBAPb#t@xyyePD898xntzr!J+buRXIrbrtG^>1=ZM{M>ua zch5cN+`CXz_K$YL7akvxcZzSH!FB+Sc(~v zu8}zxtRMR|%VWwL6cb)byQRF;Cn+k`d08U_%X&`U?DaPBR8jk4Sd{xUMaF!X*NK6} zUMWU#E00Gcm^~=zazD)MRbnymNK8@(T6tNbxCv}xl`6V2jMwv2CrX?@*01Q8#w8hB zru#Lbiy08DysGh%p=(VPP=L?%Ji)p_RLZLuN2y5gu!4`Z9R&AY*`61pBA|ii7WTt< z28EGo@8(L;POg0dA=S}s>$2kg!q@HS%7!*yu_-%Kb%H*7`uTc+YkdbHsS%-WdzU+3 zlc9SGa>fMN7x-4i!^BFO{HiwV()sE@`m^X1q7 zj=o&(7!^Q0p7{RZ&l9tkPd_;R{^QGE&0hEc=*Jhv|M=;gVf6?QvjSE7*XOeqm9>-F zYE;9#N1uNI3+GOseRAc>VpGhaYAR+WvZl&7t^;hf*Pzh2LtbX@!#cCU<{W9TE-7vW zfmrR9xiYPd72=UNw8eDyhrL>jkU3)-bbMw94#MQ1IM&Mwa>1g^mlrC^+$4Q7P{s`r zKUgMK>9e^H9!$XEL z)-)(l9h1>8C30FI<^(u*X*9=2S#g%b*%(q5%w8fIX?{^>VWTIYi5^EOFKP&lyC0SW z$G4fmHPgYyM6mI@jaOPOwIqWZ#`nwwicbxn9R9328EBX(F8|d3iT{2XZ?3Mtxc$O* zb9LCPYcQ*8&6>?-UBs*p%?CWoSNvu7mMoiJfl5}+1cHe`t+{yJTC;AgSzTk+ZJ8Xp zJ#uqo^5~R(YTMn8I~`M7@745}btpYXuk=*s$4{pS9R!dC~|iA-sZh#&6@dg zU&*qkc7Kt7Uf|HOiWK2carwA^0Zsy4LY*NOsRe4xA5*B_lY4L+CUt3HRFU-_$iVdN ze3-d1H}2T7^yK_E$zjM*k0`3rAQnaD6~#dNWIjGY)h zZ*b1?nbMk+(<0!k%Ij0^H0eR!%BKYunK5M9fX!P_dkuI-090Z%1m*(dI7W#Rm~@q9 s+&vG0d0x+Ka0{`Xe%7mimcx*;a~$^@s+~oRPhIUCSN)#VE_OC literal 0 HcmV?d00001 diff --git a/skills/quiz-mastery/src/quiz_mastery/__pycache__/file_parser.cpython-313.pyc b/skills/quiz-mastery/src/quiz_mastery/__pycache__/file_parser.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..3be8dc8e51e53f6107a84a4751e646f4f35d9785 GIT binary patch literal 10909 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 literal 0 HcmV?d00001 diff --git a/skills/quiz-mastery/src/quiz_mastery/__pycache__/mastery_engine.cpython-313.pyc b/skills/quiz-mastery/src/quiz_mastery/__pycache__/mastery_engine.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..7a1da997857c04a9fbffab9aaa06465e0b71f914 GIT binary patch literal 6235 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%0Dx)9_BkwP0H5STGAyE@P{mBxTZZ=Is;P#V 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 literal 0 HcmV?d00001 diff --git a/skills/quiz-mastery/src/quiz_mastery/__pycache__/quiz_generator.cpython-313.pyc b/skills/quiz-mastery/src/quiz_mastery/__pycache__/quiz_generator.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..f219df14667d4e8508852ecdc83d08807aa31523 GIT binary patch literal 5096 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 literal 0 HcmV?d00001 diff --git a/skills/quiz-mastery/src/quiz_mastery/__pycache__/repository.cpython-313.pyc b/skills/quiz-mastery/src/quiz_mastery/__pycache__/repository.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..c1ed54b94996c75b9021f689054705654ba6f601 GIT binary patch literal 3016 zcmb_e&2JM&6rcU{#vd^xB+VDXf(U9+k`Mw3g;tFcph}9NSt3C}U2VLZu!+4kGixBB zNSvyqsuXcRgtihnCbt}W=%IgtU0Nkt!HGk~ts+s8dg^<#wv)JNPaVr|-n^MNGw=7_ zytkXNSeQVozxcazP$A?s4k}F!7-4f5m?uOhx-d#c1S%wu7e_@ZLNAR08qU_Ey2Lp}kLmSz?zB8DP*soXDwl`!eR_ytPz1l9P>o{RqpsV|G5r94|*_-)L}Xx@-Wy2wn&N!sbu>IyVI_1u`z2 zF7x9gvn?fKJGIM;b>Tz=G)Sg8H@^2evAnJf0_yC!pHyB~b{Jm=C)BpnWkG^Wk))jR z_szJudl}oBvW+hqmH6_3!KFy0$9%p}a|L^s{E)cbI47W|A_k2Spl3vJZ%_WM{y? zNs%_-NU+MTqHrRi`%%_j3+N6n;})zB$Ro1R(ERlHXU@6e0= z!}Eh1(b(dpg-c7rD}D2qUPOD|N~Ga}K$}4^m99oRjH>9}g#n-^jP1l0WY{Wk{eCbc z7DU&$*hy|y-`8F^9>(4F#!oz3ea)RDDW(2W3f|<2fmH#3bJID?ai@~9uW}HXFHb|# z@Rdx?w3uH$*KrJ*M)(R6!;6RJjjTZ zOBb?$jp6KintoGlGB2alrO<4fmBARO3&lk3rKK2;P|e5 zUZ$VyA&p|icFn8}6+3Jg*_>6#ARjf1I|VaSo{1aAq(hmPaa`NYK@?$f z29SJ&WDtnoWEc#;G}DIZdDNLGcs4VPRl@NL${JPyiUboFLnyu`TcVryaPHA?17p|4X-^}0EFS%6rKhN5);&1?{>zS2tJ@xZ#ECr zBS4xTJBll@@C6k?J0F<-F}(sZEOrbN-XD@62(QTD*Cg_aw7eqC@6--q;4J~dmH!4; C*^CYV literal 0 HcmV?d00001 diff --git a/skills/quiz-mastery/src/quiz_mastery/__pycache__/service.cpython-313.pyc b/skills/quiz-mastery/src/quiz_mastery/__pycache__/service.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..b87513cd361d2b7a35fadbdd5303b2b1aa67d145 GIT binary patch literal 13204 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 F{{m_)RCWLW literal 0 HcmV?d00001 diff --git a/skills/quiz-mastery/src/quiz_mastery/evaluator.py b/skills/quiz-mastery/src/quiz_mastery/evaluator.py new file mode 100755 index 0000000..6957f17 --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/evaluator.py @@ -0,0 +1,78 @@ +from __future__ import annotations + +from .models import Question, AnswerResult + + +class Evaluator: + """Evaluates user answers against correct answers. + + - single_choice / true_false: exact match + - fill_blank: case-insensitive, strip whitespace + - short_answer: no auto-scoring, returns needs_review=True + """ + + def evaluate_answers( + self, + questions: list[Question], + user_answers: dict[str, str], + ) -> list[AnswerResult]: + results: list[AnswerResult] = [] + + for q in questions: + user_answer = user_answers.get(q.id) + + if q.type == "short_answer": + # Short answer: cannot auto-evaluate, needs human/LLM review + results.append( + AnswerResult( + question_id=q.id, + user_answer=user_answer, + is_correct=None, + score=None, + feedback="需要人工/LLM评判", + error_type="pending_review", + needs_review=True, + ) + ) + continue + + if user_answer is None: + results.append( + AnswerResult( + question_id=q.id, + user_answer=None, + is_correct=False, + score=0.0, + feedback=f"未作答。正确答案:{q.answer}。{q.explanation}", + error_type="no_answer", + needs_review=False, + ) + ) + continue + + if q.type == "fill_blank": + # Fill-in-the-blank: case-insensitive, strip whitespace + is_correct = ( + user_answer.strip().lower() == str(q.answer).strip().lower() + ) + else: + # single_choice / true_false: exact match + is_correct = user_answer.strip() == str(q.answer).strip() + + results.append( + AnswerResult( + question_id=q.id, + user_answer=user_answer, + is_correct=is_correct, + score=1.0 if is_correct else 0.0, + feedback=( + q.explanation + if is_correct + else f"回答错误。正确答案:{q.answer}。{q.explanation}" + ), + error_type="none" if is_correct else "concept_confusion", + needs_review=False, + ) + ) + + return results diff --git a/skills/quiz-mastery/src/quiz_mastery/file_parser.py b/skills/quiz-mastery/src/quiz_mastery/file_parser.py new file mode 100755 index 0000000..fc23a9d --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/file_parser.py @@ -0,0 +1,274 @@ +from __future__ import annotations + +import subprocess +import zipfile +import xml.etree.ElementTree as ET +from pathlib import Path + + +SUPPORTED_EXTENSIONS = {".md", ".txt", ".text", ".docx", ".pdf", ".ppt", ".pptx"} + + +# ── .docx (zero-dep: zip + xml) ────────────────────────────────── + +def _parse_docx(file_path: Path) -> str: + """Extract text from .docx using stdlib only (zipfile + xml). + + .docx is a ZIP archive containing word/document.xml with paragraph data. + """ + ns = "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}" + + with zipfile.ZipFile(str(file_path), "r") as zf: + # Main document body + if "word/document.xml" not in zf.namelist(): + raise ValueError("Invalid .docx: word/document.xml not found") + + tree = ET.parse(zf.open("word/document.xml")) + root = tree.getroot() + + parts: list[str] = [] + for para in root.iter(f"{ns}p"): + texts = [node.text for node in para.iter(f"{ns}t") if node.text] + line = "".join(texts).strip() + if line: + parts.append(line) + + return "\n\n".join(parts) + + +# ── .pptx (zero-dep: zip + xml) ────────────────────────────────── + +def _parse_pptx(file_path: Path) -> str: + """Extract text from .pptx using stdlib only (zipfile + xml). + + .pptx is a ZIP archive; each slide is at ppt/slides/slideN.xml. + """ + ns_a = "{http://schemas.openxmlformats.org/drawingml/2006/main}" + + with zipfile.ZipFile(str(file_path), "r") as zf: + slide_names = sorted( + [n for n in zf.namelist() if n.startswith("ppt/slides/slide") and n.endswith(".xml")] + ) + + if not slide_names: + raise ValueError("Invalid .pptx: no slides found") + + parts: list[str] = [] + for idx, slide_name in enumerate(slide_names, 1): + tree = ET.parse(zf.open(slide_name)) + root = tree.getroot() + + slide_texts: list[str] = [] + for para in root.iter(f"{ns_a}p"): + texts = [node.text for node in para.iter(f"{ns_a}t") if node.text] + line = "".join(texts).strip() + if line: + slide_texts.append(line) + + if slide_texts: + parts.append(f"[Slide {idx}]\n" + "\n".join(slide_texts)) + + return "\n\n".join(parts) + + +# ── .ppt (legacy binary → textutil fallback) ───────────────────── + +def _parse_ppt(file_path: Path) -> str: + """Extract text from legacy .ppt format. + + Tries macOS textutil first. If unavailable, raises a helpful error. + """ + # macOS textutil can convert .doc but not .ppt directly. + # Try python-pptx as optional, otherwise error with guidance. + try: + from pptx import Presentation + prs = Presentation(str(file_path)) + parts: list[str] = [] + for slide_num, slide in enumerate(prs.slides, 1): + slide_texts: list[str] = [] + for shape in slide.shapes: + if shape.has_text_frame: + for para in shape.text_frame.paragraphs: + text = para.text.strip() + if text: + slide_texts.append(text) + if slide_texts: + parts.append(f"[Slide {slide_num}]\n" + "\n".join(slide_texts)) + return "\n\n".join(parts) + except ImportError: + pass + except Exception: + pass + + raise ValueError( + "Legacy .ppt format requires conversion. " + "Please save as .pptx first (open in PowerPoint/WPS → Save As → .pptx), " + "or install python-pptx: pip install python-pptx" + ) + + +# ── .pdf (macOS native or pymupdf fallback) ────────────────────── + +def _parse_pdf(file_path: Path) -> str: + """Extract text from .pdf. + + Strategy: + 1. Try pymupdf (fitz) if installed — best quality + 2. Fallback: macOS `osascript` + Quartz filter (zero-dep on macOS) + 3. Fallback: `pdftotext` from poppler if installed + """ + # Strategy 1: pymupdf + try: + import fitz + doc = fitz.open(str(file_path)) + parts: list[str] = [] + for page in doc: + text = page.get_text().strip() + if text: + parts.append(text) + doc.close() + if parts: + return "\n\n".join(parts) + except ImportError: + pass + + # Strategy 2: macOS python3 Quartz (Core Graphics) — zero-dep on macOS + try: + result = subprocess.run( + [ + "python3", "-c", + "import sys\n" + "from Quartz import PDFDocument\n" + "from Foundation import NSURL\n" + "url = NSURL.fileURLWithPath_(sys.argv[1])\n" + "doc = PDFDocument.alloc().initWithURL_(url)\n" + "if doc is None: sys.exit(1)\n" + "parts = []\n" + "for i in range(doc.pageCount()):\n" + " page = doc.pageAtIndex_(i)\n" + " text = page.string()\n" + " if text and text.strip(): parts.append(text.strip())\n" + "print('\\n\\n'.join(parts))\n", + str(file_path), + ], + capture_output=True, + text=True, + timeout=30, + ) + if result.returncode == 0 and result.stdout.strip(): + return result.stdout.strip() + except (subprocess.TimeoutExpired, FileNotFoundError): + pass + + # Strategy 3: pdftotext (poppler) + try: + result = subprocess.run( + ["pdftotext", str(file_path), "-"], + capture_output=True, + text=True, + timeout=30, + ) + if result.returncode == 0 and result.stdout.strip(): + return result.stdout.strip() + except (subprocess.TimeoutExpired, FileNotFoundError): + pass + + raise ValueError( + "Could not extract text from PDF. Options:\n" + "1. Install pymupdf: pip install pymupdf\n" + "2. Install poppler: brew install poppler (provides pdftotext)\n" + "3. On macOS, ensure Quartz/pyobjc is available" + ) + + +# ── Main entry ──────────────────────────────────────────────────── + +def parse_file(file_path: str) -> str: + """Read a file and return its text content. + + Supports: .md, .txt, .text, .docx, .pdf, .ppt, .pptx + + .docx and .pptx use Python stdlib only (zipfile + xml). + .pdf tries pymupdf → macOS Quartz → pdftotext (graceful fallback). + .ppt (legacy) tries python-pptx if installed, otherwise asks for conversion. + + Raises: + FileNotFoundError: If file does not exist. + ValueError: If file extension is not supported or extraction fails. + """ + path = Path(file_path) + + if not path.exists(): + raise FileNotFoundError(f"File not found: {file_path}") + + suffix = path.suffix.lower() + + if suffix not in SUPPORTED_EXTENSIONS: + raise ValueError( + f"Unsupported file type: {suffix}. " + f"Supported: {', '.join(sorted(SUPPORTED_EXTENSIONS))}" + ) + + if suffix == ".docx": + return _parse_docx(path) + elif suffix == ".pdf": + return _parse_pdf(path) + elif suffix == ".pptx": + return _parse_pptx(path) + elif suffix == ".ppt": + return _parse_ppt(path) + + return path.read_text(encoding="utf-8") + + +def build_extraction_prompt(content: str) -> dict: + """Build a prompt for LLM to extract knowledge points from study material. + + Args: + content: The text content of the study material. + + Returns: + dict with 'system_prompt' and 'user_prompt' keys. + """ + system_prompt = ( + "你是一个专业的知识点提取助手。从用户提供的学习资料中提取核心知识点。\n" + "严格按照要求的 JSON 格式输出,不要输出任何其他内容。" + ) + + user_prompt = f"""请从以下学习资料中提取核心知识点。 + +## 学习资料内容 + +{content} + +## 提取要求 +1. 每个知识点必须包含以下字段: + - id: 唯一标识符(格式:kp_001, kp_002, ...) + - title: 知识点名称(简洁明确) + - definition: 知识点的定义(一句话概括) + - description: 详细描述(可包含原文中的关键内容) + - tags: 标签列表(用于分类和检索) +2. 提取所有重要的概念、原理、定义、公式等 +3. 每个知识点应该是独立的、可测试的单元 +4. description 应尽量保留原文中的关键表述 + +## 输出格式 +输出纯 JSON 数组,每个元素格式如下: +```json +[ + {{ + "id": "kp_001", + "title": "知识点名称", + "definition": "一句话定义", + "description": "详细描述,包含原文关键内容", + "tags": ["标签1", "标签2"] + }} +] +``` + +请直接输出 JSON 数组,不要包含 markdown 代码块标记或其他文字。""" + + return { + "system_prompt": system_prompt, + "user_prompt": user_prompt, + } diff --git a/skills/quiz-mastery/src/quiz_mastery/mastery_engine.py b/skills/quiz-mastery/src/quiz_mastery/mastery_engine.py new file mode 100755 index 0000000..19cf5f3 --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/mastery_engine.py @@ -0,0 +1,149 @@ +from __future__ import annotations + +from datetime import datetime, timedelta + +from .models import MasteryRecord, Question, AnswerResult + + +# Ebbinghaus forgetting curve intervals in days +REVIEW_INTERVALS = [1, 2, 4, 7, 15] + +# Maximum accuracy history entries to keep +MAX_ACCURACY_HISTORY = 10 + + +class MasteryEngine: + """Tracks mastery level, weak points, and spaced repetition schedule.""" + + def update_mastery( + self, + existing_records: dict[str, MasteryRecord], + questions: list[Question], + results: list[AnswerResult], + ) -> dict[str, MasteryRecord]: + """Update mastery records based on quiz results. + + - Correct answer at current level → level up (max 3) + - Wrong answer → level down (min 1) + - First time → forced to level 1 + - Weak marking: accuracy < 0.5 or 2 consecutive wrong → is_weak = True + - Strong recovery: accuracy >= 0.8 for 2 consecutive → is_weak = False + - Updates Ebbinghaus review schedule + """ + question_map = {q.id: q for q in questions} + now_str = datetime.now().strftime("%Y-%m-%d") + + # Group results by knowledge point + kp_scores: dict[str, list[float]] = {} + for r in results: + q = question_map.get(r.question_id) + if q is None: + continue + # Skip short_answer that needs review (score is None) + if r.score is None: + continue + for kp_id in q.knowledge_point_ids: + if kp_id not in kp_scores: + kp_scores[kp_id] = [] + kp_scores[kp_id].append(r.score) + + for kp_id, scores in kp_scores.items(): + record = existing_records.get(kp_id) + if record is None: + record = MasteryRecord(knowledge_point_id=kp_id, current_level=1) + existing_records[kp_id] = record + + accuracy = sum(scores) / len(scores) if scores else 0.0 + + # Update basic stats + record.attempts += 1 + record.last_accuracy = accuracy + record.best_accuracy = max(record.best_accuracy, accuracy) + record.last_reviewed_at = now_str + + # Update accuracy history (keep last 10) + record.accuracy_history.append(accuracy) + if len(record.accuracy_history) > MAX_ACCURACY_HISTORY: + record.accuracy_history = record.accuracy_history[-MAX_ACCURACY_HISTORY:] + + # Update level: correct → up, wrong → down + is_correct = accuracy >= 0.6 # threshold for "correct" at current level + if is_correct: + record.current_level = min(record.current_level + 1, 3) + else: + record.current_level = max(record.current_level - 1, 1) + + # Update weak status + self._update_weak_status(record) + + # Update Ebbinghaus review schedule + self._update_review_schedule(record, is_correct, now_str) + + return existing_records + + def _update_weak_status(self, record: MasteryRecord) -> None: + """Mark or unmark a knowledge point as weak. + + Weak if: accuracy < 0.5 OR last 2 attempts both wrong + Recover if: accuracy >= 0.8 for last 2 consecutive attempts + """ + history = record.accuracy_history + + # Check for consecutive failures (last 2 both < 0.6) + if len(history) >= 2 and history[-1] < 0.6 and history[-2] < 0.6: + record.is_weak = True + return + + # Check overall recent accuracy + if record.last_accuracy < 0.5: + record.is_weak = True + return + + # Check for recovery: last 2 both >= 0.8 + if len(history) >= 2 and history[-1] >= 0.8 and history[-2] >= 0.8: + record.is_weak = False + + def _update_review_schedule( + self, record: MasteryRecord, is_correct: bool, today_str: str + ) -> None: + """Update Ebbinghaus spaced repetition schedule. + + Correct → advance review_stage (max 4) + Wrong → reset review_stage to 0 + """ + if is_correct: + record.review_stage = min(record.review_stage + 1, len(REVIEW_INTERVALS) - 1) + else: + record.review_stage = 0 + + interval_days = REVIEW_INTERVALS[record.review_stage] + today = datetime.strptime(today_str, "%Y-%m-%d") + next_review = today + timedelta(days=interval_days) + record.next_review_at = next_review.strftime("%Y-%m-%d") + + def get_review_candidates( + self, + records: dict[str, MasteryRecord], + today_str: str, + ) -> list[str]: + """Return knowledge point IDs that need review. + + Criteria: + - next_review_at <= today (due for review) + - is_weak=True and last_reviewed_at within last 3 days + """ + candidates = set() + today = datetime.strptime(today_str, "%Y-%m-%d") + three_days_ago = (today - timedelta(days=3)).strftime("%Y-%m-%d") + + for kp_id, record in records.items(): + # Due for review based on Ebbinghaus schedule + if record.next_review_at and record.next_review_at <= today_str: + candidates.add(kp_id) + + # Weak and recently reviewed (within 3 days) + if record.is_weak and record.last_reviewed_at: + if record.last_reviewed_at >= three_days_ago: + candidates.add(kp_id) + + return list(candidates) diff --git a/skills/quiz-mastery/src/quiz_mastery/models.py b/skills/quiz-mastery/src/quiz_mastery/models.py new file mode 100755 index 0000000..a1d7a3a --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/models.py @@ -0,0 +1,82 @@ +from __future__ import annotations + +from dataclasses import dataclass, field, asdict +from typing import Any, Literal + + +QuestionType = Literal["single_choice", "true_false", "fill_blank", "short_answer"] + + +@dataclass +class KnowledgeSource: + document_id: str + section_title: str = "" + page_start: int | None = None + page_end: int | None = None + snippets: list[str] = field(default_factory=list) + + +@dataclass +class KnowledgePoint: + id: str + title: str + description: str + definition: str = "" + tags: list[str] = field(default_factory=list) + source: KnowledgeSource | None = None + + +@dataclass +class Question: + id: str + knowledge_point_ids: list[str] + level: int # 1, 2, 3 + type: QuestionType + prompt: str + options: list[str] = field(default_factory=list) + answer: Any = None + explanation: str = "" + source_refs: list[str] = field(default_factory=list) + + +@dataclass +class QuizSession: + session_id: str + user_id: str + document_id: str + level: int # 1, 2, 3 + knowledge_point_ids: list[str] + questions: list[Question] + status: str = "generated" + + +@dataclass +class AnswerResult: + question_id: str + user_answer: Any + is_correct: bool | None # None for short_answer needing review + score: float | None # None for short_answer needing review + feedback: str = "" + error_type: str = "unknown" + needs_review: bool = False + + +@dataclass +class MasteryRecord: + knowledge_point_id: str + current_level: int = 1 # 1, 2, 3 + attempts: int = 0 + last_accuracy: float = 0.0 + best_accuracy: float = 0.0 + last_reviewed_at: str | None = None + is_weak: bool = False + accuracy_history: list[float] = field(default_factory=list) + next_review_at: str | None = None # ISO date string YYYY-MM-DD + review_stage: int = 0 # 0-4, maps to [1, 2, 4, 7, 15] days + + +def to_dict(obj: Any) -> Any: + """Convert a dataclass instance to dict.""" + if hasattr(obj, "__dataclass_fields__"): + return asdict(obj) + return obj diff --git a/skills/quiz-mastery/src/quiz_mastery/planner.py b/skills/quiz-mastery/src/quiz_mastery/planner.py new file mode 100755 index 0000000..b54bd26 --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/planner.py @@ -0,0 +1,62 @@ +from __future__ import annotations + +from datetime import datetime, timedelta + +from .models import KnowledgePoint, MasteryRecord + + +class Planner: + """Recommends knowledge points for review based on Ebbinghaus + forgetting curve and weak-point tracking.""" + + def recommend_review( + self, + knowledge_points: list[KnowledgePoint], + mastery_records: dict[str, MasteryRecord], + today_str: str, + ) -> list[dict]: + """Return a list of review recommendations. + + Combines: + 1. Knowledge points due for review (next_review_at <= today) + 2. Weak knowledge points reviewed in the last 3 days + + Returns: + List of dicts with 'knowledge_point_id', 'title', 'reason', + 'current_level', 'is_weak'. + """ + today = datetime.strptime(today_str, "%Y-%m-%d") + three_days_ago_str = (today - timedelta(days=3)).strftime("%Y-%m-%d") + + # Build a title lookup + kp_title_map = {kp.id: kp.title for kp in knowledge_points} + + seen_ids: set[str] = set() + recommendations: list[dict] = [] + + for kp_id, record in mastery_records.items(): + reasons: list[str] = [] + + # Check Ebbinghaus due + if record.next_review_at and record.next_review_at <= today_str: + reasons.append("遗忘曲线到期,需要复习") + + # Check weak + recently reviewed + if record.is_weak and record.last_reviewed_at: + if record.last_reviewed_at >= three_days_ago_str: + reasons.append("薄弱知识点,最近3天内有练习记录") + elif not record.next_review_at: + # Weak but no review schedule yet + reasons.append("薄弱知识点,建议复习") + + if reasons and kp_id not in seen_ids: + seen_ids.add(kp_id) + recommendations.append({ + "knowledge_point_id": kp_id, + "title": kp_title_map.get(kp_id, kp_id), + "reason": ";".join(reasons), + "current_level": record.current_level, + "is_weak": record.is_weak, + }) + + return recommendations diff --git a/skills/quiz-mastery/src/quiz_mastery/quiz_extractor.py b/skills/quiz-mastery/src/quiz_mastery/quiz_extractor.py new file mode 100755 index 0000000..b57b41d --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/quiz_extractor.py @@ -0,0 +1,115 @@ +from __future__ import annotations + +import json +from .models import Question + + +def build_extraction_prompt(content: str) -> dict: + """Build a prompt for LLM to parse questions from a question file. + + Args: + content: Raw text content containing questions. + + Returns: + dict with 'system_prompt' and 'user_prompt' keys. + """ + system_prompt = ( + "你是一个专业的题目解析助手。从用户提供的题目文件中识别并解析所有题目。\n" + "严格按照要求的 JSON 格式输出,不要输出任何其他内容。" + ) + + user_prompt = f"""请从以下题目文件内容中解析出所有题目。 + +## 题目文件内容 + +{content} + +## 解析要求 +1. 识别每道题的类型: + - single_choice: 选择题(有 A/B/C/D 等选项) + - true_false: 判断题(判断对错) + - fill_blank: 填空题(有空格需要填写) + - short_answer: 简答题(需要文字回答) +2. 提取题目的所有信息 +3. 如果题目有答案和解析,也一并提取 +4. 为每道题分配唯一 ID + +## 输出格式 +输出纯 JSON 数组,每个元素格式如下: +```json +[ + {{ + "id": "q_001", + "knowledge_point_ids": [], + "level": 1, + "type": "single_choice", + "prompt": "题目内容", + "options": ["A. 选项一", "B. 选项二", "C. 选项三", "D. 选项四"], + "answer": "A", + "explanation": "解析内容(如果有)" + }} +] +``` + +注意: +- type 必须是 single_choice, true_false, fill_blank, short_answer 之一 +- 选择题的 answer 填选项字母(A/B/C/D) +- 判断题的 answer 填 "True" 或 "False" +- 填空题的 answer 填正确答案文本 +- 简答题的 answer 填参考答案(如果有) +- 如果无法确定 knowledge_point_ids,留空数组 +- level 默认为 1,如果能从题目难度判断则相应调整 + +请直接输出 JSON 数组,不要包含 markdown 代码块标记或其他文字。""" + + return { + "system_prompt": system_prompt, + "user_prompt": user_prompt, + } + + +def parse_questions_json(json_str: str) -> list[Question]: + """Parse LLM-returned JSON string into a list of Question objects. + + Args: + json_str: JSON string containing a list of question dicts. + + Returns: + List of Question objects. + + Raises: + json.JSONDecodeError: If json_str is not valid JSON. + ValueError: If the parsed data is not a list. + """ + # Try to extract JSON from possible markdown code blocks + cleaned = json_str.strip() + if cleaned.startswith("```"): + # Remove markdown code block markers + lines = cleaned.split("\n") + # Remove first line (```json or ```) + lines = lines[1:] + # Remove last line (```) + if lines and lines[-1].strip() == "```": + lines = lines[:-1] + cleaned = "\n".join(lines) + + data = json.loads(cleaned) + if not isinstance(data, list): + raise ValueError(f"Expected a JSON array, got {type(data).__name__}") + + questions: list[Question] = [] + for item in data: + q = Question( + id=item.get("id", "q_unknown"), + knowledge_point_ids=item.get("knowledge_point_ids", []), + level=item.get("level", 1), + type=item.get("type", "single_choice"), + prompt=item.get("prompt", ""), + options=item.get("options", []), + answer=item.get("answer"), + explanation=item.get("explanation", ""), + source_refs=item.get("source_refs", []), + ) + questions.append(q) + + return questions diff --git a/skills/quiz-mastery/src/quiz_mastery/quiz_generator.py b/skills/quiz-mastery/src/quiz_mastery/quiz_generator.py new file mode 100755 index 0000000..ef6928e --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/quiz_generator.py @@ -0,0 +1,128 @@ +from __future__ import annotations + +import json +from .models import KnowledgePoint + + +# Maximum questions per quiz round +MAX_QUESTIONS_PER_ROUND = 15 + +# Question type distribution by level +LEVEL_DISTRIBUTION = { + 1: {"single_choice": 70, "true_false": 30}, + 2: {"single_choice": 50, "fill_blank": 30, "true_false": 20}, + 3: {"single_choice": 40, "fill_blank": 20, "true_false": 20, "short_answer": 20}, +} + + +class QuizGenerator: + """Builds prompt templates for LLM-based quiz generation. + + This module does NOT call any LLM API. It constructs system_prompt and + user_prompt that should be sent to an LLM by the caller (agent). + """ + + def generate_quiz( + self, + knowledge_points: list[KnowledgePoint], + level: int = 1, + num_questions: int | None = None, + ) -> dict: + """Build prompts for quiz generation. + + Args: + knowledge_points: List of knowledge points to quiz on. + level: Difficulty level (1, 2, or 3). + num_questions: Number of questions to generate (max 15). + + Returns: + dict with 'system_prompt' and 'user_prompt' keys. + """ + level = max(1, min(3, level)) + if num_questions is None: + num_questions = 3 # Default: 3 questions per round for efficiency + num_questions = min(num_questions, MAX_QUESTIONS_PER_ROUND) + + distribution = LEVEL_DISTRIBUTION[level] + distribution_text = "\n".join( + f" - {qtype}: {pct}%" for qtype, pct in distribution.items() + ) + + # Build knowledge point descriptions for the prompt + kp_descriptions = [] + for kp in knowledge_points: + desc_parts = [f"- **{kp.title}** (ID: {kp.id})"] + if kp.definition: + desc_parts.append(f" 定义: {kp.definition}") + if kp.description: + desc_parts.append(f" 描述: {kp.description}") + if kp.source and kp.source.snippets: + desc_parts.append(f" 原文片段: {'; '.join(kp.source.snippets)}") + kp_descriptions.append("\n".join(desc_parts)) + + kp_text = "\n\n".join(kp_descriptions) + + level_desc = { + 1: "识记(基础记忆和理解,考察概念辨认和基本事实)", + 2: "理解(深层理解,考察概念区分、原理解释和简单应用)", + 3: "应用(综合运用,考察实际场景应用、分析和问题解决)", + } + + system_prompt = ( + "你是一个专业的出题助手。根据提供的知识点信息,生成高质量的测验题目。\n" + "严格按照要求的 JSON 格式输出,不要输出任何其他内容。\n" + "题目必须紧扣知识点的名称、定义和原文描述,不能出脱离原文的题目。" + ) + + user_prompt = f"""请根据以下知识点生成 {num_questions} 道测验题。 + +## 难度级别 +Level {level}: {level_desc[level]} + +## 题型分配 +{distribution_text} + +## 知识点信息 + +{kp_text} + +## 出题要求 +1. 每道题必须关联至少一个知识点 ID +2. 选择题 (single_choice):4 个选项 A/B/C/D,answer 填正确选项字母 +3. 判断题 (true_false):answer 填 "True" 或 "False" +4. 填空题 (fill_blank):prompt 中用 ____ 标记空白处,answer 填正确答案文本 +5. 简答题 (short_answer):answer 填参考答案 +6. 每道题必须包含 explanation(解析) +7. 题目内容必须基于上述知识点的名称、定义和描述,不要超出范围 +8. **每道题必须填写 `category` 和 `knowledge_point` 字段**(用于分类筛选和侧栏分组): + - `category`:一级分类,**短词**(建议 2-6 字),用于顶部分类筛选 chip。 + 例:物理 / 数学 / 法律 / 历史 / 编程 / 通用 等。 + **不要**写成长串、不要含日期、不要含编号、不要含书名号或斜杠。 + - `knowledge_point`:所属知识点名称(直接用关联知识点的 title 即可),用于侧栏分组。 +9. 总题数:{num_questions} 道 + +## 输出格式 +输出纯 JSON 数组,每个元素格式如下: +```json +[ + {{ + "id": "q_001", + "knowledge_point_ids": ["kp_id"], + "category": "物理", + "knowledge_point": "牛顿第二定律", + "level": {level}, + "type": "single_choice", + "prompt": "题目内容", + "options": ["A. 选项一", "B. 选项二", "C. 选项三", "D. 选项四"], + "answer": "A", + "explanation": "解析内容" + }} +] +``` + +请直接输出 JSON 数组,不要包含 markdown 代码块标记或其他文字。""" + + return { + "system_prompt": system_prompt, + "user_prompt": user_prompt, + } diff --git a/skills/quiz-mastery/src/quiz_mastery/repository.py b/skills/quiz-mastery/src/quiz_mastery/repository.py new file mode 100755 index 0000000..69a5ab3 --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/repository.py @@ -0,0 +1,36 @@ +from __future__ import annotations + +import json +from pathlib import Path +from typing import Any + + +class JsonRepository: + def __init__(self, base_dir: str | Path): + self.base_dir = Path(base_dir) + self.kp_dir = self.base_dir / "knowledge_points" + self.progress_dir = self.base_dir / "user_progress" + self.sessions_dir = self.base_dir / "sessions" + self._ensure_dirs() + + def _ensure_dirs(self) -> None: + for d in [self.kp_dir, self.progress_dir, self.sessions_dir]: + d.mkdir(parents=True, exist_ok=True) + + def load_json(self, path: Path, default: Any = None) -> Any: + if not path.exists(): + return default + return json.loads(path.read_text(encoding="utf-8")) + + def save_json(self, path: Path, data: Any) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8") + + def knowledge_points_path(self, document_id: str) -> Path: + return self.kp_dir / f"{document_id}.json" + + def progress_path(self, user_id: str, document_id: str) -> Path: + return self.progress_dir / f"{user_id}__{document_id}.json" + + def session_path(self, session_id: str) -> Path: + return self.sessions_dir / f"{session_id}.json" diff --git a/skills/quiz-mastery/src/quiz_mastery/service.py b/skills/quiz-mastery/src/quiz_mastery/service.py new file mode 100755 index 0000000..2a7e7c0 --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/service.py @@ -0,0 +1,304 @@ +from __future__ import annotations + +from dataclasses import asdict +from pathlib import Path +import uuid +import json + +from .models import KnowledgePoint, KnowledgeSource, Question, QuizSession, MasteryRecord +from .repository import JsonRepository +from .quiz_generator import QuizGenerator +from .evaluator import Evaluator +from .mastery_engine import MasteryEngine +from .planner import Planner + + +class QuizMasteryService: + def __init__(self, base_dir: str | Path): + self.repo = JsonRepository(base_dir) + self.generator = QuizGenerator() + self.evaluator = Evaluator() + self.mastery_engine = MasteryEngine() + self.planner = Planner() + + # ── Knowledge Points ────────────────────────────────────────── + + def load_knowledge_points(self, document_id: str) -> list[KnowledgePoint]: + """Load knowledge points from JSON file.""" + raw = self.repo.load_json( + self.repo.knowledge_points_path(document_id), default={} + ) + items = raw.get("knowledge_points", []) + result: list[KnowledgePoint] = [] + + for item in items: + source_data = item.get("source") + kp = KnowledgePoint( + id=item["id"], + title=item["title"], + description=item.get("description", ""), + definition=item.get("definition", ""), + tags=item.get("tags", []), + source=KnowledgeSource(**source_data) if source_data else None, + ) + result.append(kp) + + return result + + def save_knowledge_points( + self, document_id: str, knowledge_points_data: list[dict] + ) -> None: + """Save extracted knowledge points to JSON. + + Args: + document_id: Document identifier. + knowledge_points_data: List of dicts, each with id, title, + definition, description, tags. + """ + payload = {"knowledge_points": knowledge_points_data} + self.repo.save_json( + self.repo.knowledge_points_path(document_id), payload + ) + + # ── Progress ────────────────────────────────────────────────── + + def load_progress( + self, user_id: str, document_id: str + ) -> dict[str, MasteryRecord]: + """Load user mastery progress from JSON.""" + raw = self.repo.load_json( + self.repo.progress_path(user_id, document_id), default={} + ) + mastery_records = raw.get("mastery_records", {}) + parsed: dict[str, MasteryRecord] = {} + + for kp_id, record in mastery_records.items(): + mr = MasteryRecord(knowledge_point_id=kp_id) + mr.current_level = record.get("current_level", 1) + mr.attempts = record.get("attempts", 0) + mr.last_accuracy = record.get("last_accuracy", 0.0) + mr.best_accuracy = record.get("best_accuracy", 0.0) + mr.last_reviewed_at = record.get("last_reviewed_at") + mr.is_weak = record.get("is_weak", False) + mr.accuracy_history = record.get("accuracy_history", []) + mr.next_review_at = record.get("next_review_at") + mr.review_stage = record.get("review_stage", 0) + parsed[kp_id] = mr + + return parsed + + def save_progress( + self, + user_id: str, + document_id: str, + records: dict[str, MasteryRecord], + ) -> None: + """Save user mastery progress to JSON.""" + payload = { + "user_id": user_id, + "document_id": document_id, + "mastery_records": { + kp_id: asdict(record) for kp_id, record in records.items() + }, + } + self.repo.save_json( + self.repo.progress_path(user_id, document_id), payload + ) + + # ── Quiz Generation ─────────────────────────────────────────── + + def generate_quiz_for_user( + self, + user_id: str, + document_id: str, + knowledge_point_ids: list[str] | None = None, + level: int | None = None, + num_questions: int | None = None, + ) -> dict: + """Generate quiz prompts for given knowledge points. + + If knowledge_point_ids is None, uses all knowledge points. + If level is None, reads current_level from mastery records + (first-time defaults to 1). + + Returns dict with 'prompts' (system_prompt + user_prompt), + 'knowledge_points' used, and 'level'. + """ + knowledge_points = self.load_knowledge_points(document_id) + progress = self.load_progress(user_id, document_id) + + if knowledge_point_ids: + selected = [kp for kp in knowledge_points if kp.id in knowledge_point_ids] + else: + selected = knowledge_points + + if not selected: + return {"error": "No knowledge points found"} + + # Determine level per knowledge point group + # Use the most common level or explicit level + if level is not None: + quiz_level = max(1, min(3, level)) + else: + # Determine from mastery records; first-time = 1 + levels = [] + for kp in selected: + record = progress.get(kp.id) + if record is None: + levels.append(1) # First time → L1 + else: + levels.append(record.current_level) + # Use the minimum level among selected (conservative) + quiz_level = min(levels) if levels else 1 + + prompts = self.generator.generate_quiz( + selected, level=quiz_level, num_questions=num_questions + ) + + return { + "document_id": document_id, + "user_id": user_id, + "level": quiz_level, + "knowledge_point_ids": [kp.id for kp in selected], + "prompts": prompts, + } + + # ── Quiz Submission ─────────────────────────────────────────── + + def submit_quiz_answers( + self, + user_id: str, + document_id: str, + session_id: str, + answers: dict[str, str], + ) -> dict: + """Submit answers for a quiz session, evaluate, and update mastery.""" + session_data = self.repo.load_json( + self.repo.session_path(session_id), default=None + ) + if not session_data: + raise FileNotFoundError(f"Quiz session not found: {session_id}") + + questions = [] + for item in session_data["questions"]: + questions.append(Question(**item)) + + results = self.evaluator.evaluate_answers(questions, answers) + progress = self.load_progress(user_id, document_id) + updated = self.mastery_engine.update_mastery(progress, questions, results) + self.save_progress(user_id, document_id, updated) + + # Calculate score (excluding short_answer with score=None) + scored_results = [r for r in results if r.score is not None] + score = sum(r.score for r in scored_results) + total = len(scored_results) + needs_review_count = sum(1 for r in results if r.needs_review) + + summary = { + "session_id": session_id, + "score": score, + "total": total, + "accuracy": score / total if total else 0.0, + "needs_review_count": needs_review_count, + "results": [asdict(r) for r in results], + } + + # Update session data + session_data["answers"] = answers + session_data["results"] = summary["results"] + session_data["status"] = "completed" + self.repo.save_json(self.repo.session_path(session_id), session_data) + + return summary + + # ── Import Questions ────────────────────────────────────────── + + def import_questions( + self, + document_id: str, + user_id: str, + questions_data: list[dict], + ) -> dict: + """Import parsed questions and create a quiz session. + + Args: + document_id: Document identifier. + user_id: User identifier. + questions_data: List of question dicts (from LLM parsing). + + Returns: + dict with session_id and questions. + """ + questions: list[Question] = [] + for item in questions_data: + q = Question( + id=item.get("id", f"q_{uuid.uuid4().hex[:8]}"), + knowledge_point_ids=item.get("knowledge_point_ids", []), + level=item.get("level", 1), + type=item.get("type", "single_choice"), + prompt=item.get("prompt", ""), + options=item.get("options", []), + answer=item.get("answer"), + explanation=item.get("explanation", ""), + source_refs=item.get("source_refs", []), + ) + questions.append(q) + + session_id = f"quiz_{uuid.uuid4().hex[:12]}" + kp_ids = list( + set(kp_id for q in questions for kp_id in q.knowledge_point_ids) + ) + level = questions[0].level if questions else 1 + + session = QuizSession( + session_id=session_id, + user_id=user_id, + document_id=document_id, + level=level, + knowledge_point_ids=kp_ids, + questions=questions, + ) + + self.repo.save_json( + self.repo.session_path(session_id), + asdict(session), + ) + + return { + "session_id": session_id, + "document_id": document_id, + "level": level, + "num_questions": len(questions), + "questions": [asdict(q) for q in questions], + } + + # ── Review Candidates ───────────────────────────────────────── + + def get_review_candidates( + self, user_id: str, document_id: str, today_str: str | None = None + ) -> list[dict]: + """Get review recommendations for a user. + + Returns list of knowledge points that need review. + """ + from datetime import datetime + + if today_str is None: + today_str = datetime.now().strftime("%Y-%m-%d") + + knowledge_points = self.load_knowledge_points(document_id) + progress = self.load_progress(user_id, document_id) + return self.planner.recommend_review(knowledge_points, progress, today_str) + + # ── User Progress ───────────────────────────────────────────── + + def get_user_progress(self, user_id: str, document_id: str) -> dict: + """Get user's mastery progress summary.""" + progress = self.load_progress(user_id, document_id) + return { + "user_id": user_id, + "document_id": document_id, + "mastery_records": { + kp_id: asdict(record) for kp_id, record in progress.items() + }, + } diff --git a/skills/quiz-mastery/src/quiz_mastery/utils.py b/skills/quiz-mastery/src/quiz_mastery/utils.py new file mode 100755 index 0000000..f8bf3c1 --- /dev/null +++ b/skills/quiz-mastery/src/quiz_mastery/utils.py @@ -0,0 +1,7 @@ +from __future__ import annotations + +from pathlib import Path + + +def project_root() -> Path: + return Path(__file__).resolve().parents[2] \ No newline at end of file diff --git a/skills/resume-builder/SKILL.md b/skills/resume-builder/SKILL.md new file mode 100755 index 0000000..388b622 --- /dev/null +++ b/skills/resume-builder/SKILL.md @@ -0,0 +1,133 @@ +--- +name: resume-builder +description: 从零生成或全面优化一份中文简历,并导出 docx / pdf / markdown 多种格式。用 STAR 法则改写经历、做 ATS 关键词覆盖率检查、根据行业(互联网产品 / 技术 / 金融 / 通用)选模板。当用户说"帮我写简历 / 优化简历 / 简历不会写 / 我的简历太弱了 / 简历看起来不专业 / 简历改一改 / 给我做个简历模板 / 简历导出 / 简历加点关键词",或者上传 .pdf/.docx 简历后说"看看怎么改"时,必须触发本 skill。即使用户只问"我的简历有什么问题"也要触发。 +--- + +# Resume Builder(简历生成与优化) + +这个 skill 干三件事: + +1. **结构化生成**:从用户经历产出一份符合中文求职市场审美的简历 +2. **STAR 法则改写**:把"参与了 X"这种弱句子,改写成"通过 X 实现 Y,结果 Z" +3. **ATS 关键词优化 + 多模板导出**:保证简历能过自动筛选,并支持 docx/pdf/md + +不做:JD 定向改写(那是 jd-resume-tailor 的事,请在那里做"针对某 JD 改简历") + +--- + +## 何时触发 + +- "帮我写一份简历" +- "我的简历太弱了 / 没有亮点 / 看起来不专业" +- "把这段经历用 STAR 改一下" +- "简历里关键词够不够" +- "导出 PDF / docx 简历" +- 用户上传简历但没明确说"针对某 JD 改" → 触发本 skill;如果说了"针对 X 公司 / X 岗位改" → 调用 jd-resume-tailor + +--- + +## 工作流 + +### Step 1: 摸清简历当前状态 + +如果用户**有简历文件**(.pdf / .docx / .md / .txt): +- pdf 走 pdf skill 解析 +- docx 走 docx skill 解析 +- 提取出:基本信息、教育、工作经历、项目经历、技能、其他 + +如果用户**没有简历**: +- 用 AskUserQuestion 收集信息(参考 `references/intake_questions.md` 里的问题清单) +- 一次问 3~4 个问题,分轮收集,避免劝退 + +### Step 2: 选模板 + +读取 `references/templates/` 决定结构: + +- 互联网产品 / 运营 / PM → `templates/internet.md` +- 技术 / 研发 / 数据 → `templates/tech.md` +- 金融 / 咨询 / 商科 → `templates/finance.md` +- 通用 / 跨行业 → `templates/general.md` + +如果用户没指定方向,用通用模板,但**询问一句**:"你下一步主要往什么方向投?我可以用更适合那个方向的版式。" + +### Step 3: 用 STAR 改写每段经历 + +读取 `references/star_rewrite_guide.md`,对每条工作 / 项目经历做 STAR 改写。 + +**STAR 不是死板的四段式**,而是确保每条 bullet 都有: +- **背景信号**(一句话点出问题大小或情境) +- **动作**(你具体做了什么,要有动词) +- **结果**(数字 / 百分比 / 排名 / 规模) + +如果用户提供的信息里**没有数字**,要主动追问:"这个项目用户量大概是多少?""这个优化大概提了多少?记不准的话给个量级也行。" + +### Step 4: ATS 关键词检查 + +调用脚本: + +```bash +python scripts/ats_check.py --resume \ + --industry internet \ + [--jd ] +``` + +脚本会: +1. 抽取简历里的关键词 +2. 对照行业关键词库(来自 job-intent-tracker 或本 skill 的 `references/keywords/`) +3. 输出"已覆盖 / 建议补充"两个清单 +4. 给出 ATS 友好度评分(字体单一性、表格使用、特殊符号、图片等) + +**ATS 友好的硬规则**: +- 不要用 word 表格放经历(很多 ATS 解析不了) +- 不要把日期放在装饰性图片里 +- 不要写两栏布局(有些 ATS 会按列读,导致顺序混乱) +- 不要插图标 / emoji 在标题里 +- 字体用宋体 / 思源宋体 / Arial / Helvetica 之一 + +### Step 5: 多格式导出 + +读取 `references/export_guide.md`,按用户需求选择: + +**docx 导出**(最通用,国内 HR 优先要 docx): +- 调用 docx skill +- 用 `assets/resume_template.docx` 作为模板(如果存在) + +**pdf 导出**(最终投递版): +- 推荐流程:先 docx → 再用 word/libreoffice 转 pdf +- 直接生成 pdf 用 reportlab 比较丑,不推荐 +- 调用 pdf skill 做后处理(加密 / 元数据清理) + +**markdown 导出**(备份 + GitHub): +- 直接写 .md 文件即可 + +**默认行为**:除非用户指定,同时输出 docx + md 两个版本。 + +### Step 6: 自检 & 反馈 + +输出后做一次自检(写到聊天里给用户看,不用单独存文件): + +``` +✓ 长度:< 1 页(应届)/ ≤ 2 页(社招) +✓ 联系方式齐全(手机 + 邮箱,可选 GitHub/作品集) +✓ 每段经历都有量化结果 +✓ 关键词覆盖率(vs 行业库):__% +✓ ATS 友好度:__/10 +⚠ 待用户确认:<还需要补的信息> +``` + +--- + +## 反模式(不要做) + +- ❌ 帮用户编数字(说"提升 30%"但用户根本没说过)—— 必须基于用户提供的信息,不知道就标 `[待补充:具体数字]` +- ❌ 用形容词堆砌("具有出色的沟通能力" "认真负责" "有上进心")—— 删掉 +- ❌ 一段经历写超过 5 条 bullet —— 太密会被 HR 跳过 +- ❌ 写"自我评价"长篇 —— 国内现在不流行,1~2 行 summary 即可 +- ❌ 把所有公司都写一样的 bullet 数 —— 重要的多写,次要的少写 +- ❌ 把"熟悉 / 了解 / 会用"当能力描述 —— 改成"用 X 做了 Y" + +## 与其他 skill 的协作 + +- 用户接着说"针对这家公司改一下" → 转 `jd-resume-tailor` +- 用户接着说"准备面试" → 转 `interview-prep` +- 用户没确定方向就来改简历 → 先反问"你打算投什么方向?",必要时转 `job-intent-tracker` diff --git a/skills/resume-builder/references/export_guide.md b/skills/resume-builder/references/export_guide.md new file mode 100755 index 0000000..c0257e8 --- /dev/null +++ b/skills/resume-builder/references/export_guide.md @@ -0,0 +1,55 @@ +# 简历导出指南 + +## 推荐组合 + +- **投递主用**:docx(HR 直接收的格式)+ pdf(最终版本,防排版错乱) +- **备份**:md(自己迭代用、放 GitHub) + +## docx 导出(默认) + +调用 docx skill。模板优先级: +1. 用户提供模板 → 用用户的 +2. `assets/resume_template.docx` 存在 → 用本 skill 的 +3. 都没有 → 用 docx skill 的默认样式(注意控制字体、行距、margin) + +样式参数(推荐默认): +- 中文字体:思源宋体 / 宋体 / 微软雅黑(HR 电脑大概率有) +- 英文字体:Arial / Helvetica / Calibri +- 字号:正文 10.5~11pt,标题 12~14pt,姓名 16~18pt +- 行距:1.15~1.3 +- 页边距:上下 1.5cm,左右 1.8cm +- 颜色:通体黑色 + 一个低饱和度强调色(深蓝 / 深灰) + +## pdf 导出 + +**推荐**:docx → libreoffice headless 转 pdf + +```bash +libreoffice --headless --convert-to pdf --outdir +``` + +**不推荐**:直接用 reportlab / weasyprint 从头画,效果丑且容易踩字体坑。 + +## markdown 导出 + +最简单直接:文件名建议 `resume_<姓名拼音>_.md`,例如 `resume_zhangsan_202605.md`。 + +## 文件命名建议 + +投递时的文件名极其重要(很多 HR 直接按文件名搜): + +`<姓名>_<目标岗位>_.` + +例:`张三_高级产品经理_5年.pdf` + +不要叫 `final.pdf` `final_v2.pdf` `修改版.docx`,HR 会觉得你不专业。 + +## 元数据清理(pdf) + +调用 pdf skill 清理 metadata(作者、创建工具),避免泄露原始 word 模板的来源(比如某些模板会留下"WPS 简历模板 v3.2"字样)。 + +## 隐私 & 安全 + +- 简历**默认不写身份证号、家庭住址、紧急联系人** +- 投行 / 公务员 / 国企等特殊岗位另外要求时再补 +- 如果用户上传的简历里有这些,导出新版本时**主动删除并提示用户** diff --git a/skills/resume-builder/references/intake_questions.md b/skills/resume-builder/references/intake_questions.md new file mode 100755 index 0000000..d902740 --- /dev/null +++ b/skills/resume-builder/references/intake_questions.md @@ -0,0 +1,44 @@ +# 简历信息收集问题清单 + +分 3 轮问,不要一次性塞给用户。 + +## 第 1 轮:基本信息(必问) + +1. 你的姓名 + 联系方式(手机、邮箱,可选 GitHub / 作品集) +2. 学历(学校 + 专业 + 学历层次 + 毕业年份;多段教育依次列) +3. 你目前 / 最近一份工作的:公司、岗位、起止时间 + +## 第 2 轮:经历主体(必问) + +针对每段工作 / 实习 / 项目,按这个套路问: + +- 这段经历你**主要负责什么**? +- 有哪些**具体的事情**是你独立或主导做的?(关键词:你"做了什么",不是"参与了什么") +- **结果如何**?有没有可以量化的数字(用户量、转化率、收入、效率提升、排名等) +- 这段经历你最得意的**一件事**是什么? + +如果用户记不清数字,可以这样追问: +- "大致量级也可以,比如 10 万 / 百万 / 千万" +- "百分比记不清的话,给一个 range,比如『大约 20-30%』" +- "如果完全没办法估,我会标成『[需补具体数字]』,你后面填" + +## 第 3 轮:补充信息(可选) + +- 技能 / 工具:编程语言、框架、设计 / 数据 / 办公工具 +- 语言能力:英语 / 其他语种 + 等级 +- 证书 / 获奖:仅写有含金量的(CFA Level 2、ACM 区域赛、PMP 等) +- 兴趣 / 其他:除非真的有亮点(比如马拉松、独立游戏作品),否则不写 + +## 应届生补充问 + +- 校园经历(学生会、社团、志愿者)—— 但只挑能体现"领导 / 组织 / 推动力"的写 +- 课程项目 —— 挑跟目标岗位相关的 1~2 个 +- GPA / 排名 / 奖学金 —— 高于 3.5/4.0 或专业前 20% 才写 + +## 转行候选人补充问 + +- 你为什么想转到这个方向? +- 你已经为转行做了哪些准备(自学、项目、副业、证书)? +- 原岗位有哪些**可迁移技能**?(举具体例子) + +把这些信息会用到一段简短的"个人简介 / Career Summary"里,化解 HR 看到转行简历时的困惑。 diff --git a/skills/resume-builder/references/keywords/finance.txt b/skills/resume-builder/references/keywords/finance.txt new file mode 100755 index 0000000..2c19505 --- /dev/null +++ b/skills/resume-builder/references/keywords/finance.txt @@ -0,0 +1,50 @@ +DCF +LBO +Comps +M&A +IPO +Pitchbook +Bloomberg +Capital IQ +Wind +Choice +财务建模 +估值 +敏感性分析 +行业研究 +deal +路演 +招股书 +投资逻辑 +catalyst +催化剂 +风险点 +ROE +ROIC +EBITDA +PE +PB +EV +sizing +case interview +hypothesis +MECE +issue tree +PowerPoint +Excel 高阶 +VBA +SQL +Python +CFA +CPA +FRM +ACCA +PMP +量化 +策略 +回测 +因子 +基本面 +技术面 +夏普 +最大回撤 diff --git a/skills/resume-builder/references/keywords/general.txt b/skills/resume-builder/references/keywords/general.txt new file mode 100755 index 0000000..c4b71b3 --- /dev/null +++ b/skills/resume-builder/references/keywords/general.txt @@ -0,0 +1,25 @@ +SQL +Excel +PowerPoint +Word +Notion +飞书 +Jira +Asana +英语 +项目管理 +跨部门协作 +推动落地 +ownership +数据驱动 +用户同理心 +快速学习 +影响力 +说服力 +量化 +可迁移 +0-1 +1-N +ROI +KPI +OKR diff --git a/skills/resume-builder/references/keywords/internet.txt b/skills/resume-builder/references/keywords/internet.txt new file mode 100755 index 0000000..3290653 --- /dev/null +++ b/skills/resume-builder/references/keywords/internet.txt @@ -0,0 +1,45 @@ +产品规划 +产品迭代 +PRD +需求评审 +用户访谈 +用户画像 +用户增长 +留存 +转化率 +A/B 测试 +漏斗分析 +数据驱动 +跨部门协作 +推动落地 +0-1 +1-N +商业化 +PMF +增长黑客 +AARRR +私域 +GMV +ROI +CAC +LTV +SOP +SaaS +B 端 +C 端 +内容运营 +社群运营 +活动运营 +PMP +Scrum +看板 +Sprint +Jira +Confluence +Notion +飞书 +SQL +Tableau +Figma +Axure +墨刀 diff --git a/skills/resume-builder/references/keywords/tech.txt b/skills/resume-builder/references/keywords/tech.txt new file mode 100755 index 0000000..0628142 --- /dev/null +++ b/skills/resume-builder/references/keywords/tech.txt @@ -0,0 +1,69 @@ +Java +Go +Python +TypeScript +Spring Boot +Spring Cloud +gRPC +微服务 +Kafka +RabbitMQ +Redis +ZooKeeper +MySQL +PostgreSQL +MongoDB +ClickHouse +HBase +TiDB +Docker +Kubernetes +Helm +AWS +GCP +阿里云 +高并发 +高可用 +分布式 +一致性 +限流 +降级 +熔断 +分库分表 +读写分离 +React +Vue +Next.js +Vite +Webpack +PyTorch +TensorFlow +sklearn +XGBoost +LightGBM +特征工程 +RAG +向量检索 +Embedding +LLM +SFT +RLHF +Agent +MCP +vLLM +量化 +SQL +Spark +Flink +Hive +Presto +Airflow +A/B 测试 +模型评估 +Prometheus +Grafana +ELK +CI/CD +Jenkins +GitLab CI +Terraform diff --git a/skills/resume-builder/references/star_rewrite_guide.md b/skills/resume-builder/references/star_rewrite_guide.md new file mode 100755 index 0000000..cb89e98 --- /dev/null +++ b/skills/resume-builder/references/star_rewrite_guide.md @@ -0,0 +1,83 @@ +# STAR 改写指南 + +## 核心心法 + +STAR = Situation(情境)+ Task(任务)+ Action(动作)+ Result(结果) + +但**写在简历里的 bullet,不是把 STAR 四段都堆进去**,而是浓缩成一句话,里面隐含 STAR 信号: + +``` +[动作动词] + [对象 / 范围] + [方法 / 工具] + [量化结果] +``` + +举例: + +❌ 弱:参与了 XX 系统的开发 +✅ 强:主导设计并落地 XX 订单系统的库存模块,引入 Redis 分布式锁解决超卖,支撑日均 80 万订单,P99 延迟从 320ms 降至 95ms + +❌ 弱:负责活动运营 +✅ 强:策划"618 老客回流"活动,覆盖 30 万沉默用户,通过分层 push + 优惠券组合,回流率 11.4%(基线 4.2%),ROI 3.8 + +## 改写流程 + +1. **找到原 bullet 的 STAR 短板** + - 没有动作动词?补 + - 没有量化结果?追问用户 + - 动作太空泛("参与/协助/配合/支持")?换成实做动词 + - 没有方法 / 工具?补 + +2. **应用动词库**(见下文) + +3. **加量化**(数字 / 百分比 / 排名 / 时间 / 规模 任选) + +4. **控制长度**:单条 bullet ≤ 2 行 + +## 强动作动词库(按职能分) + +### 通用 +主导、负责、推动、发起、设计、搭建、优化、复盘、孵化、闭环 + +### 产品 / 运营 +规划、迭代、调研、定义(功能)、灰度、A/B 测试、数据归因、上线、回滚 + +### 技术 +重构、架构设计、调优、解耦、抽象、模块化、自动化、监控、容灾、降级 + +### 数据 +建模、清洗、归因、可视化、回归、聚类、特征工程、训练、上线 + +### 销售 / BD +开拓、签约、续约、回款、谈判、漏斗管理、客户分层 + +### 管理 +组建(团队)、培养、绩效管理、目标拆解、跨部门协调 + +## 弱词替换表 + +| 弱词 | 推荐替换 | +|------|---------| +| 参与了 | 主导 / 负责模块 ___(写明边界) | +| 协助 | 与 ___ 协作完成 ___(写明合作方和成果) | +| 配合 | 同上 | +| 跟进 | 推动 / 督办 / drive | +| 帮助 | 通过 ___ 帮 ___ 实现 ___ | +| 学习了 | 掌握并应用 ___ 完成 ___ | +| 接触过 | 删掉,要么改成具体项目 | +| 熟悉 / 了解 | 删掉抽象词,写具体项目 | + +## 量化暗示库 + +如果用户实在给不出数字,可以用以下"软量化"先占位,标注 `[待补]`: + +- 用户 / 客户规模:万级 / 百万级 / 千万级 +- 团队规模:3 人 / 10 人 / 跨部门 +- 项目周期:2 周 / 1 个季度 / 半年 +- 业务影响:核心 / 关键 / 试点 +- 同行对比:行业首个 / 公司第一个 / Tier 1 客户 + +## 自检:每条 bullet 问自己 + +- 用动词开头了吗? +- 有 1 个以上的数字 / 量级吗? +- 删掉这条,简历会损失什么?如果答案是"不会",就删 +- 这条让 HR 联想到什么具体能力? diff --git a/skills/resume-builder/references/templates/finance.md b/skills/resume-builder/references/templates/finance.md new file mode 100755 index 0000000..1415439 --- /dev/null +++ b/skills/resume-builder/references/templates/finance.md @@ -0,0 +1,63 @@ +# 金融 / 咨询 / 商科 简历模板 + +## 结构(投行 / 咨询风格,强调 deal / case 列表) + +``` +姓名 | 电话 | 邮箱 | LinkedIn | 城市 + +【教育背景】(金融 / 咨询岗放最前面,因为学校 + GPA 是硬筛) +学校 | 专业 | 学位 | 起止时间 +- GPA: X.XX/4.00 (Major: X.XX/4.00) +- 排名 / 奖学金 / 荣誉 +- 相关核心课程:Corporate Finance, Financial Modeling, ... +- 交换 / 海外经历 + +【工作经历】(按倒序) +公司 | 部门 / 组 | 岗位 | 起止时间,地点 +- Deal / Case 1:项目名称 + 你的角色 + 关键贡献 + 成交规模 / 成果 +- Deal / Case 2:同上 +- Deal / Case 3:同上 +(投行/PE 一般 3~5 个 deal;咨询 3~5 个 case;研究员可写 coverage 行业 + 主要观点) + +【实习经历】(应届 / 早期必备,按倒序) +(同上结构) + +【技能 & 证书】 +- 财务建模:DCF / LBO / Comps / M&A model 熟练 +- Excel / PowerPoint 高阶 +- Bloomberg / Capital IQ / Wind / Choice +- CFA Level X / CPA / FRM / ACCA +- 编程(量化加分):Python / SQL / VBA +- 语言:英语(雅思 7.5 / GMAT 750)、其他 + +【领导力 / 课外活动】(仅写有含金量的) +- 学生会 / 社团:领导职务 + 量化结果 +- 公益项目:组织规模 + 影响 +- 国际比赛:CFA Research Challenge 区域第 X 等 +``` + +## 风格要点 + +- **每个 deal / case 必须有**:项目类型、客户行业、自己的具体动作(建模 / 路演 / 调研)、成果(融资额 / 估值 / 报告页数 / 客户决策) +- 投行强调 deal flow 数量 + 规模;咨询强调 case 类型多样 + 客户层级 +- 量化模板: + - 投行:"参与 X 亿美金 ___ 行业 IPO/M&A,搭建 LBO / DCF 模型,输出 ___ 页投资人 deck" + - 咨询:"为 X 行业 Top 3 客户开展 ___ 项目,定量分析 X 个细分市场,最终建议被客户采纳并执行 ___" +- **学历分层敏感**:投行咨询 PE 一般只看 Tier 1 学校(清北复交浙、HKU、新加坡国立、藤校 / Top 30 美校等)。如果学校非 Tier 1,要更突出实习 / 比赛 / 自学 + +## 中英文版本 + +金融 / 咨询岗位**很多公司只接受英文简历**(外资行、MBB、IBD)。本 skill 默认产出中文版,但要主动问:"你需要英文版本吗?我可以同时生成。" + +英文版本注意: +- 用 American English(金融业以美式为主) +- Action verb 用过去式:Led、Built、Drove、Analyzed、Advised +- 不要用 we / our team,要用 I / my team;强调 individual contribution +- 一页为限(除非 senior 候选人) + +## 雷区 + +- 投行 / 咨询简历**没有 deal / case 列表** → 致命,重写 +- 把"在 ___ 实习"当工作经历写 → 必须改成 deal / case +- GPA / 学校 / 标化分数缺失 → 即使低也要写(除非真的拉低很多) +- 写"对金融感兴趣" / "希望进入投行" → 删,简历不是个人陈述 diff --git a/skills/resume-builder/references/templates/general.md b/skills/resume-builder/references/templates/general.md new file mode 100755 index 0000000..f76f22a --- /dev/null +++ b/skills/resume-builder/references/templates/general.md @@ -0,0 +1,55 @@ +# 通用简历模板(不绑定行业) + +适用场景: +- 用户暂时没有明确目标方向 +- 跨行业求职(同一份简历投不同方向) +- 早期 / 应届候选人 +- 行业不在前三类(教育 / 医疗 / 政府 / 实业 / 文娱 etc.) + +## 结构 + +``` +姓名 | 电话 | 邮箱 | 城市 | 目标岗位 / 期望方向 + +【个人简介 / Career Summary】(2~3 行) +关键定位 + 核心能力 + 一个最有说服力的成就 + +【工作经历 / 实习经历】(社招倒序;应届实习放教育下方) +公司 | 岗位 | 起止时间 +- 主要职责(一行) +- 关键成果 1(量化) +- 关键成果 2(量化) +- 横向 / 软技能体现(一句) + +【教育背景】 +学校 | 专业 | 学历 | 时间 +- GPA / 排名 / 奖学金(≥ 平均水平才写) +- 相关课程 / 论文 / 项目(仅写与岗位相关的) + +【技能与证书】 +- 工具:Excel / Word / PPT 高阶;Notion / Trello;其他行业工具 +- 语言:英语等级;其他语种 +- 证书:仅写有公信力的 + +【其他亮点】(可选,强力 case 才写) +- 创业 / 副业经历 +- 公开演讲 / 自媒体(粉丝 / 阅读量到一定规模) +- 公益 / 志愿者(持续 ≥ 1 年) +- 体育 / 艺术成就(省级以上 / 商业认可) +``` + +## 风格 + +- 中性、克制,避免过度行业化术语 +- 每段经历强调"可迁移技能":沟通 / 推动 / 数据 / 学习速度 / 客户 / 领导力 +- 跨行业候选人需要在 Summary 里点明"为什么这个方向适合我" + +## 长度 + +- 应届 / 实习生:1 页 +- 1~5 年:1 页(顶多 1.2 页) +- 5+ 年:1~2 页 + +通用模板的最大风险是**显得"啥都行但啥都不精"**。如果发现写出来就是这种感觉,要主动建议用户: +- 选一个最强方向,切到对应的行业模板 +- 或者准备 2 份版本(互联网版 + 通用版),分场景投 diff --git a/skills/resume-builder/references/templates/internet.md b/skills/resume-builder/references/templates/internet.md new file mode 100755 index 0000000..901a234 --- /dev/null +++ b/skills/resume-builder/references/templates/internet.md @@ -0,0 +1,50 @@ +# 互联网产品 / 运营 / PM 简历模板 + +## 结构(顺序很重要) + +``` +姓名|电话|邮箱|城市|目标岗位 +(应届可加:在读学校 + 期望毕业时间) + +【个人简介 / Summary】(2~3 行,可选) +一句话定位:X 年 ___ 经验,专注 ___,擅长 ___,曾在 ___ 主导 ___ + +【工作经历】(社招放最前;应届放教育下面) +公司 A | 岗位 | 起止时间 +- bullet 1(核心成绩,量化) +- bullet 2(次重要成绩) +- bullet 3(横向能力 / 影响力) + +【项目经历】(与岗位强相关的 2~4 个) +项目名 | 角色 | 时间 +- 背景:___(一句话) +- 动作:___(你做了什么) +- 结果:___(量化) + +【教育背景】 +学校 | 专业 | 学历 | 起止时间 +(GPA 高于 3.5/4.0 才写) + +【技能 / 工具】 +- 数据:SQL(熟练)、Python(pandas/numpy)、Tableau +- 产品工具:Figma / Axure / 墨刀 +- 协作:Notion / 飞书 / Jira +- 语言:英语 CET-6 / 雅思 7.0 + +【其他】(可选) +证书 / 自媒体 / 开源项目 / 演讲 / 获奖 +``` + +## 风格要点 + +- bullet 句式:"动词 + 对象 + 方法 + 结果(数字)" +- 突出 ownership:用"主导/负责/推动",不要用"参与/协助" +- 数字密度:每段经历 ≥ 60% 的 bullet 含数字 +- 长度:1 页(≤ 3 年经验);最多 2 页(5+ 年) + +## 常见加分项 + +- 0-1 项目经历(哪怕规模小) +- 跨部门 / 跨业务线协作 +- 业务复盘文章 / 公开演讲 +- 数据驱动 case(写清楚假设→实验→结论) diff --git a/skills/resume-builder/references/templates/tech.md b/skills/resume-builder/references/templates/tech.md new file mode 100755 index 0000000..722e036 --- /dev/null +++ b/skills/resume-builder/references/templates/tech.md @@ -0,0 +1,53 @@ +# 技术 / 研发 / 数据 简历模板 + +## 结构 + +``` +姓名|电话|邮箱|GitHub|城市|目标岗位 + +【个人简介 / Summary】(可选,1~2 行) +X 年 ___ 经验,专注 ___(高并发后端 / 推荐系统 / LLM 应用 / ...),熟悉 ___ 技术栈 + +【技能】(技术岗放前面,让 HR 一眼看到栈是否对口) +- 语言:Java(精通)、Python(熟练)、Go(了解) +- 后端:Spring Boot、Spring Cloud、gRPC、Kafka、Redis、MySQL、ClickHouse +- 大数据 / 算法:Spark、Flink、Hive、PyTorch(如果是算法岗) +- 工程:Docker、Kubernetes、Linux、Git、CI/CD +- 其他:TypeScript、AWS + +【工作经历】 +公司 A | 职级(高级工程师 / 资深工程师 / Tech Lead)| 起止 +- 系统级成绩(含 QPS、延迟、可用性、规模等数字) +- 架构 / 设计贡献(你设计了什么、为什么这么选) +- 业务影响(推动了什么业务结果) + +【项目经历】 +项目名 | 角色 | 技术栈 | 时间 +- 背景:业务规模 / 痛点(一句话) +- 方案:你的核心设计 + 关键技术决策(讲为什么) +- 结果:性能 / 稳定性 / 成本 数字 + +【教育背景】 + +【开源 / 论文 / 比赛】(强加分) +- GitHub 项目(star 数 / 主要 contributor) +- 论文(标注会议 / 期刊) +- 比赛(Kaggle / ACM / 天池 / 黑客松,含名次) +``` + +## 风格要点 + +- **少形容词,多数字 + 技术细节** + - 弱:"优化了系统性能" + - 强:"通过引入二级缓存 + SQL 改写,将商品详情接口 P99 从 480ms 降至 110ms" +- **讲清楚『你做了什么』vs『团队做了什么』**:用"主导"/"负责"明确 ownership 边界 +- 算法岗:技能列表里**强调具体模型 / 框架版本**(避免堆砌 buzzword) +- LLM / Agent 岗:明确写"训练 / 微调 / 推理 / 应用"中你做的部分,避免被以为是 prompt-only +- 长度:1~2 页 + +## 常见雷区 + +- 简历里写"精通",面试问到一脸懵 → 不熟就写"熟练 / 了解" +- 列出 20+ 技能,问哪个都不深 → 删到 8~12 个真正会的 +- 把课程内容当项目经历 → 标注"课程项目 (Course Project)",不要假装是工业项目 +- 项目描述只有"什么是 ___",没有"我做了什么" → 重写 diff --git a/skills/resume-builder/scripts/ats_check.py b/skills/resume-builder/scripts/ats_check.py new file mode 100755 index 0000000..f33902f --- /dev/null +++ b/skills/resume-builder/scripts/ats_check.py @@ -0,0 +1,269 @@ +#!/usr/bin/env python3 +""" +ats_check.py — 简历 ATS(Applicant Tracking System)友好度检查 + 关键词覆盖率 + +用法: + python ats_check.py --resume resume.md --industry internet + python ats_check.py --resume resume.md --industry tech --jd jd.txt + python ats_check.py --resume resume.docx --industry finance --out report.md + +支持输入:.md / .txt / .docx(docx 走 python-docx,需要 pip install python-docx) +""" + +from __future__ import annotations + +import argparse +import re +import sys +from pathlib import Path + +INDUSTRIES = {"internet", "tech", "finance", "general"} + + +def load_resume_text(path: Path) -> str: + suffix = path.suffix.lower() + if suffix in {".md", ".txt"}: + return path.read_text(encoding="utf-8") + if suffix == ".docx": + try: + from docx import Document + except ImportError: + print( + "✗ 缺少 python-docx,请先安装:pip install python-docx --break-system-packages", + file=sys.stderr, + ) + sys.exit(1) + doc = Document(str(path)) + return "\n".join(p.text for p in doc.paragraphs) + print(f"✗ 暂不支持的格式:{suffix}", file=sys.stderr) + sys.exit(1) + + +def load_keywords(industry: str, references_dir: Path) -> list[str]: + path = references_dir / "keywords" / f"{industry}.txt" + if not path.exists(): + print(f"✗ 关键词库不存在:{path}", file=sys.stderr) + sys.exit(1) + return [ + line.strip() + for line in path.read_text(encoding="utf-8").splitlines() + if line.strip() + ] + + +def coverage(resume_text: str, keywords: list[str]) -> dict: + text_lower = resume_text.lower() + hits, missing = [], [] + for kw in keywords: + # 兼容大小写、中英混排 + if kw.lower() in text_lower: + hits.append(kw) + else: + missing.append(kw) + return { + "hits": hits, + "missing": missing, + "rate": len(hits) / len(keywords) if keywords else 0, + } + + +def jd_extract_keywords(jd_text: str) -> list[str]: + """从 JD 文本里抽取候选关键词。简易版:取常见技能/工具/动词。""" + # 抓中文 2~10 字、英文 2~30 字的"实词" + candidates = re.findall( + r"[A-Za-z][A-Za-z0-9+/.\-_]{1,29}|[一-龥]{2,10}", + jd_text, + ) + # 简单去停用词 + stop = { + "公司", "工作", "我们", "你将", "团队", "需要", "能够", "具备", "熟悉", + "了解", "良好", "优秀", "经验", "能力", "岗位", "职责", "要求", "以上", + "相关", "及其", "或者", "进行", "完成", "负责", "推动", "实现", "提升", + "并且", "包括", "以下", "根据", + } + seen = set() + out = [] + for c in candidates: + key = c.lower() + if key in seen or c in stop: + continue + seen.add(key) + out.append(c) + return out[:80] # 取前 80 个候选 + + +def ats_friendliness(text: str, source_path: Path) -> tuple[int, list[str]]: + """评估 ATS 友好度,返回 (分数 / 10, 警告列表)。""" + score = 10 + warnings = [] + + # 长度 + if len(text) < 200: + score -= 3 + warnings.append("⚠ 简历文本过短(< 200 字符),可能解析失败或内容不足") + elif len(text) > 6000: + score -= 1 + warnings.append("⚠ 简历偏长(> 6000 字符),建议精简到 1~2 页") + + # 联系方式 + has_email = bool(re.search(r"[\w.\-+]+@[\w.\-]+\.\w+", text)) + has_phone = bool(re.search(r"(\+?86[-\s]?)?1[3-9]\d{9}|\d{3}[-\s]?\d{4}[-\s]?\d{4}", text)) + if not has_email: + score -= 1 + warnings.append("⚠ 没找到邮箱") + if not has_phone: + score -= 1 + warnings.append("⚠ 没找到手机号") + + # 装饰符号 + decorative = re.findall(r"[★☆●○◆◇▶▷■□▪▫♦]", text) + if len(decorative) > 5: + score -= 1 + warnings.append(f"⚠ 用了 {len(decorative)} 个装饰符号(★●◆等),ATS 可能识别异常,建议精简") + + # emoji + emojis = re.findall(r"[\U0001F300-\U0001FAFF\U0001F600-\U0001F64F]", text) + if emojis: + score -= 1 + warnings.append(f"⚠ 检测到 {len(emojis)} 个 emoji,部分 ATS 会乱码,建议删掉") + + # 数字密度(量化结果是否充分) + numbers = re.findall(r"\d+(?:\.\d+)?%?", text) + bullet_count = len(re.findall(r"^\s*[-*•]\s+", text, flags=re.MULTILINE)) + if bullet_count > 0: + density = len(numbers) / bullet_count + if density < 0.4: + score -= 1 + warnings.append( + f"⚠ 量化密度低(每条 bullet 平均 {density:.2f} 个数字)," + f"建议在工作 / 项目经历里多加数字" + ) + + # docx 特定 + if source_path.suffix.lower() == ".docx": + try: + from docx import Document + doc = Document(str(source_path)) + tables = len(doc.tables) + images = sum(1 for s in doc.inline_shapes) + if tables > 1: + score -= 1 + warnings.append( + f"⚠ docx 里有 {tables} 个表格,部分 ATS 解析表格会丢字段," + f"建议改成正文段落" + ) + if images > 0: + score -= 1 + warnings.append( + f"⚠ docx 里有 {images} 张图片(含证件照),ATS 不读图," + f"重要信息别只放在图里;证件照可保留" + ) + except Exception: + pass + + return max(0, score), warnings + + +def render_report( + industry_cov: dict, + industry: str, + jd_cov: dict | None, + ats_score: int, + ats_warnings: list[str], +) -> str: + lines = [ + "# 简历 ATS 检查报告", + "", + f"## 行业关键词覆盖({industry})", + f"- 命中率:**{industry_cov['rate'] * 100:.1f}%** " + f"({len(industry_cov['hits'])} / {len(industry_cov['hits']) + len(industry_cov['missing'])})", + "", + "**已命中**:" + (", ".join(industry_cov["hits"]) or "(无)"), + "", + "**建议补充**(前 15 个):" + (", ".join(industry_cov["missing"][:15]) or "(无)"), + "", + ] + + if jd_cov is not None: + lines += [ + "## JD 关键词覆盖", + f"- 命中率:**{jd_cov['rate'] * 100:.1f}%**", + "", + "**已命中**:" + (", ".join(jd_cov["hits"][:30]) or "(无)"), + "", + "**JD 出现但简历没有**(重点补这些):" + (", ".join(jd_cov["missing"][:20]) or "(无)"), + "", + ] + + lines += [ + f"## ATS 友好度评分:**{ats_score}/10**", + "", + ] + if ats_warnings: + lines += ats_warnings + else: + lines.append("✅ 没有明显问题") + + lines += [ + "", + "---", + "## 改进建议优先级", + "", + "1. 先补 JD 命中率 → 这是 ATS 通过率的最直接信号", + "2. 再补行业关键词 → 让简历能在更宽的搜索里被捞到", + "3. 最后调 ATS 友好度 → 移除装饰符号、emoji、表格、图片", + "", + "注意:覆盖率不是越高越好,**关键词必须出现在真实的成就 bullet 里**,", + "不要把关键词单独列一长串当 skills,会被 HR 一眼识破。", + ] + return "\n".join(lines) + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--resume", required=True, help="简历文件路径 (.md/.txt/.docx)") + parser.add_argument( + "--industry", choices=list(INDUSTRIES), required=True, help="行业方向" + ) + parser.add_argument("--jd", help="可选:JD 文本文件,做精准对比") + parser.add_argument("--out", help="输出报告路径,缺省直接打印") + parser.add_argument( + "--references-dir", + default=str(Path(__file__).resolve().parent.parent / "references"), + ) + args = parser.parse_args() + + resume_path = Path(args.resume).expanduser() + if not resume_path.exists(): + print(f"✗ 简历文件不存在:{resume_path}", file=sys.stderr) + sys.exit(1) + + text = load_resume_text(resume_path) + references_dir = Path(args.references_dir) + + industry_keywords = load_keywords(args.industry, references_dir) + industry_cov = coverage(text, industry_keywords) + + jd_cov = None + if args.jd: + jd_path = Path(args.jd).expanduser() + if not jd_path.exists(): + print(f"✗ JD 文件不存在:{jd_path}", file=sys.stderr) + sys.exit(1) + jd_keywords = jd_extract_keywords(jd_path.read_text(encoding="utf-8")) + jd_cov = coverage(text, jd_keywords) + + ats_score, ats_warnings = ats_friendliness(text, resume_path) + report = render_report(industry_cov, args.industry, jd_cov, ats_score, ats_warnings) + + if args.out: + out_path = Path(args.out).expanduser() + out_path.parent.mkdir(parents=True, exist_ok=True) + out_path.write_text(report, encoding="utf-8") + print(f"✓ 报告已生成:{out_path}") + else: + print(report) + + +if __name__ == "__main__": + main() diff --git a/skills/seo-content-writer/SKILL.md b/skills/seo-content-writer/SKILL.md new file mode 100755 index 0000000..18f8d05 --- /dev/null +++ b/skills/seo-content-writer/SKILL.md @@ -0,0 +1,661 @@ +--- +name: seo-content-writer +description: 'Use when the user asks to "write SEO content", "create a blog post", "write an article", "content writing", "draft optimized content", "write me an article", "create a blog post about", "help me write SEO content", or "draft content for". Creates high-quality, SEO-optimized content that ranks in search engines. Applies on-page SEO best practices, keyword optimization, and content structure for maximum visibility and engagement. For AI citation optimization, see geo-content-optimizer. For updating existing content, see content-refresher.' +license: Apache-2.0 +metadata: + author: aaron-he-zhu + version: "2.0.0" + geo-relevance: "medium" + tags: + - seo + - content writing + - blog post + - article + - copywriting + - content creation + - on-page seo + triggers: + - "write SEO content" + - "create blog post" + - "write an article" + - "content writing" + - "draft optimized content" + - "write for SEO" + - "blog writing" + - "write me an article" + - "create a blog post about" + - "help me write SEO content" + - "draft content for" +--- + +# SEO Content Writer + + +> **[SEO & GEO Skills Library](https://skills.sh/aaron-he-zhu/seo-geo-claude-skills)** · 20 skills for SEO + GEO · Install all: `npx skills add aaron-he-zhu/seo-geo-claude-skills` + +
+Browse all 20 skills + +**Research** · [keyword-research](../../research/keyword-research/) · [competitor-analysis](../../research/competitor-analysis/) · [serp-analysis](../../research/serp-analysis/) · [content-gap-analysis](../../research/content-gap-analysis/) + +**Build** · **seo-content-writer** · [geo-content-optimizer](../geo-content-optimizer/) · [meta-tags-optimizer](../meta-tags-optimizer/) · [schema-markup-generator](../schema-markup-generator/) + +**Optimize** · [on-page-seo-auditor](../../optimize/on-page-seo-auditor/) · [technical-seo-checker](../../optimize/technical-seo-checker/) · [internal-linking-optimizer](../../optimize/internal-linking-optimizer/) · [content-refresher](../../optimize/content-refresher/) + +**Monitor** · [rank-tracker](../../monitor/rank-tracker/) · [backlink-analyzer](../../monitor/backlink-analyzer/) · [performance-reporter](../../monitor/performance-reporter/) · [alert-manager](../../monitor/alert-manager/) + +**Cross-cutting** · [content-quality-auditor](../../cross-cutting/content-quality-auditor/) · [domain-authority-auditor](../../cross-cutting/domain-authority-auditor/) · [entity-optimizer](../../cross-cutting/entity-optimizer/) · [memory-management](../../cross-cutting/memory-management/) + +
+ +This skill creates search-engine-optimized content that ranks well while providing genuine value to readers. It applies proven SEO copywriting techniques, proper keyword integration, and optimal content structure. + +## When to Use This Skill + +- Writing blog posts targeting specific keywords +- Creating landing pages optimized for search +- Developing pillar content for topic clusters +- Writing product descriptions for e-commerce +- Creating service pages for local SEO +- Producing how-to guides and tutorials +- Writing comparison and review articles + +## What This Skill Does + +1. **Keyword Integration**: Naturally incorporates target and related keywords +2. **Structure Optimization**: Creates scannable, well-organized content +3. **Title & Meta Creation**: Writes compelling, click-worthy titles +4. **Header Optimization**: Uses strategic H1-H6 hierarchy +5. **Internal Linking**: Suggests relevant internal link opportunities +6. **Readability Enhancement**: Ensures content is accessible and engaging +7. **Featured Snippet Optimization**: Formats for SERP feature opportunities + +## How to Use + +### Basic Content Creation + +``` +Write an SEO-optimized article about [topic] targeting the keyword [keyword] +``` + +``` +Create a blog post for [topic] with these keywords: [keyword list] +``` + +### With Specific Requirements + +``` +Write a 2,000-word guide about [topic] targeting [keyword], +include FAQ section for featured snippets +``` + +### Content Briefs + +``` +Here's my content brief: [brief]. Write SEO-optimized content following this outline. +``` + +## Data Sources + +> See [CONNECTORS.md](../../CONNECTORS.md) for tool category placeholders. + +**With ~~SEO tool + ~~search console connected:** +Automatically pull keyword metrics (search volume, difficulty, CPC), competitor content analysis (top-ranking pages, content length, common topics), SERP features (featured snippets, PAA questions), and keyword opportunities (related keywords, question-based queries). + +**With manual data only:** +Ask the user to provide: +1. Target primary keyword and 3-5 secondary keywords +2. Target audience and search intent (informational/commercial/transactional) +3. Target word count and desired tone +4. Any competitor URLs or content examples to reference + +Proceed with the full workflow using provided data. Note in the output which metrics are from automated collection vs. user-provided data. + +## Instructions + +When a user requests SEO content: + +1. **Gather Requirements** + + Confirm or ask for: + + ```markdown + ### Content Requirements + + **Primary Keyword**: [main keyword] + **Secondary Keywords**: [2-5 related keywords] + **Target Word Count**: [length] + **Content Type**: [blog/guide/landing page/etc.] + **Target Audience**: [who is this for] + **Search Intent**: [informational/commercial/transactional] + **Tone**: [professional/casual/technical/friendly] + **CTA Goal**: [what action should readers take] + **Competitor URLs**: [top ranking content to beat] + ``` + +2. **Load CORE-EEAT Quality Constraints** + + Before writing, load content quality standards from the [CORE-EEAT Benchmark](../../references/core-eeat-benchmark.md): + + ```markdown + ### CORE-EEAT Pre-Write Checklist + + **Content Type**: [identified from requirements above] + **Loaded Constraints** (high-weight items for this content type): + + Apply these standards while writing: + + | ID | Standard | How to Apply | + |----|----------|-------------| + | C01 | Intent Alignment | Title promise must match content delivery | + | C02 | Direct Answer | Core answer in first 150 words | + | C06 | Audience Targeting | State "this article is for..." | + | C10 | Semantic Closure | Conclusion answers opening question + next steps | + | O01 | Heading Hierarchy | H1→H2→H3, no level skipping | + | O02 | Summary Box | Include TL;DR or Key Takeaways | + | O06 | Section Chunking | Each section single topic; paragraphs 3–5 sentences | + | O09 | Information Density | No filler; consistent terminology | + | R01 | Data Precision | ≥5 precise numbers with units | + | R02 | Citation Density | ≥1 external citation per 500 words | + | R04 | Evidence-Claim Mapping | Every claim backed by evidence | + | R07 | Entity Precision | Full names for people/orgs/products | + | C03 | Query Coverage | Cover ≥3 query variants (synonyms, long-tail) | + | O08 | Anchor Navigation | Table of contents with jump links | + | O10 | Multimedia Structure | Images/videos have captions and carry information | + | E07 | Practical Tools | Include downloadable templates, checklists, or calculators | + + _These 16 items apply across all content types. For content-type-specific dimension weights, see the Content-Type Weight Table in [core-eeat-benchmark.md](../../references/core-eeat-benchmark.md)._ + _Full 80-item benchmark: [references/core-eeat-benchmark.md](../../references/core-eeat-benchmark.md)_ + _For complete content quality audit: use [content-quality-auditor](../../cross-cutting/content-quality-auditor/)_ + ``` + +3. **Research and Plan** + + Before writing: + + ```markdown + ### Content Research + + **SERP Analysis**: + - Top results format: [what's ranking] + - Average word count: [X] words + - Common sections: [list] + - SERP features: [snippets, PAA, etc.] + + **Keyword Map**: + - Primary: [keyword] - use in title, H1, intro, conclusion + - Secondary: [keywords] - use in H2s, body paragraphs + - LSI/Related: [terms] - sprinkle naturally throughout + - Questions: [PAA questions] - use as H2/H3s or FAQ + + **Content Angle**: + [What unique perspective or value will this content provide?] + ``` + +4. **Create Optimized Title** + + ```markdown + ### Title Optimization + + **Requirements**: + - Include primary keyword (preferably at start) + - Under 60 characters for full SERP display + - Compelling and click-worthy + - Match search intent + + **Title Options**: + + 1. [Title option 1] ([X] chars) + - Keyword position: [front/middle] + - Power words: [list] + + 2. [Title option 2] ([X] chars) + - Keyword position: [front/middle] + - Power words: [list] + + **Recommended**: [Best option with reasoning] + ``` + +5. **Write Meta Description** + + ```markdown + ### Meta Description + + **Requirements**: + - 150-160 characters + - Include primary keyword naturally + - Include call-to-action + - Compelling and specific + + **Meta Description**: + "[Description text]" ([X] characters) + + **Elements included**: + - ✅ Primary keyword + - ✅ Value proposition + - ✅ CTA or curiosity hook + ``` + +6. **Structure Content with SEO Headers** + + ```markdown + ### Content Structure + + **H1**: [Primary keyword in H1 - only one per page] + + **Introduction** (100-150 words) + - Hook reader in first sentence + - State what they'll learn + - Include primary keyword in first 100 words + + **H2**: [Secondary keyword or question] + [Content section] + + **H2**: [Secondary keyword or question] + + **H3**: [Sub-topic] + [Content] + + **H3**: [Sub-topic] + [Content] + + **H2**: [Secondary keyword or question] + [Content] + + **H2**: Frequently Asked Questions + [FAQ section for PAA optimization] + + **Conclusion** + - Summarize key points + - Include primary keyword + - Clear call-to-action + ``` + +7. **Apply On-Page SEO Best Practices** + + ```markdown + ### On-Page SEO Checklist + + **Keyword Placement**: + - [ ] Primary keyword in title + - [ ] Primary keyword in H1 + - [ ] Primary keyword in first 100 words + - [ ] Primary keyword in at least one H2 + - [ ] Primary keyword in conclusion + - [ ] Primary keyword in meta description + - [ ] Secondary keywords in H2s/H3s + - [ ] Related terms throughout body + + **Content Quality**: + - [ ] Comprehensive coverage of topic + - [ ] Original insights or data + - [ ] Actionable takeaways + - [ ] Examples and illustrations + - [ ] Expert quotes or citations (for E-E-A-T) + + **Readability**: + - [ ] Paragraphs of 3-5 sentences (per CORE-EEAT O06 Section Chunking standard) + - [ ] Varied sentence length + - [ ] Bullet points and lists + - [ ] Bold key phrases + - [ ] Table of contents for long content + + **Technical**: + - [ ] Internal links to relevant pages (2-5) + - [ ] External links to authoritative sources (2-3) + - [ ] Image alt text with keywords + - [ ] URL slug includes keyword + ``` + +8. **Write the Content** + + Follow this structure: + + ```markdown + # [H1 with Primary Keyword] + + [Hook sentence that grabs attention] + + [Problem statement or context - why this matters] + + [Promise - what the reader will learn/gain] [Include primary keyword naturally] + + [Brief overview of what's covered - can be bullet points for scanability] + + ## [H2 - First Main Section with Secondary Keyword] + + [Introduction to section - 1-2 sentences] + + [Main content with valuable information] + + [Examples, data, or evidence to support points] + + [Transition to next section] + + ### [H3 - Sub-section if needed] + + [Detailed content] + + [Key points in bullet format]: + - Point 1 + - Point 2 + - Point 3 + + ## [H2 - Second Main Section] + + [Continue with valuable content...] + + > **Pro Tip**: [Highlighted tip or key insight] + + | Column 1 | Column 2 | Column 3 | + |----------|----------|----------| + | Data | Data | Data | + + ## [H2 - Additional Sections as Needed] + + [Content...] + + ## Frequently Asked Questions + + ### [Question from PAA or common query]? + + [Direct, concise answer in 40-60 words for featured snippet opportunity] + + ### [Question 2]? + + [Answer] + + ### [Question 3]? + + [Answer] + + ## Conclusion + + [Summary of key points - include primary keyword] + + [Final thought or insight] + + [Clear call-to-action: what should reader do next?] + ``` + +9. **Optimize for Featured Snippets** + + ```markdown + ### Featured Snippet Optimization + + **For Definition Snippets**: + "[Term] is [clear, concise definition in 40-60 words]" + + **For List Snippets**: + Create clear, numbered or bulleted lists under H2s + + **For Table Snippets**: + Use comparison tables with clear headers + + **For How-To Snippets**: + Number each step clearly: "Step 1:", "Step 2:", etc. + ``` + +10. **Add Internal/External Links** + + ```markdown + ### Link Recommendations + + **Internal Links** (include 2-5): + 1. "[anchor text]" → [/your-page-url] (relevant because: [reason]) + 2. "[anchor text]" → [/your-page-url] (relevant because: [reason]) + + **External Links** (include 2-3 authoritative sources): + 1. "[anchor text]" → [authoritative-source.com] (supports: [claim]) + 2. "[anchor text]" → [authoritative-source.com] (supports: [claim]) + ``` + +11. **Final SEO Review** + + ```markdown + ### Content SEO Score + + | Factor | Status | Notes | + |--------|--------|-------| + | Title optimized | ✅/⚠️/❌ | [notes] | + | Meta description | ✅/⚠️/❌ | [notes] | + | H1 with keyword | ✅/⚠️/❌ | [notes] | + | Keyword in first 100 words | ✅/⚠️/❌ | [notes] | + | H2s optimized | ✅/⚠️/❌ | [notes] | + | Internal links | ✅/⚠️/❌ | [notes] | + | External links | ✅/⚠️/❌ | [notes] | + | FAQ section | ✅/⚠️/❌ | [notes] | + | Readability | ✅/⚠️/❌ | [notes] | + | Word count | ✅/⚠️/❌ | [X] words | + + **Overall SEO Score**: [X]/10 + + **Improvements to Consider**: + 1. [Suggestion] + 2. [Suggestion] + ``` + +12. **CORE-EEAT Self-Check** + + After writing, verify content against loaded CORE-EEAT constraints: + + ```markdown + ### CORE-EEAT Post-Write Check + + | ID | Standard | Status | Notes | + |----|----------|--------|-------| + | C01 | Intent Alignment: title = content | ✅/⚠️/❌ | [notes] | + | C02 | Direct Answer in first 150 words | ✅/⚠️/❌ | [notes] | + | C06 | Audience explicitly stated | ✅/⚠️/❌ | [notes] | + | C10 | Conclusion answers opening question | ✅/⚠️/❌ | [notes] | + | O01 | Heading hierarchy correct | ✅/⚠️/❌ | [notes] | + | O02 | Summary/Key Takeaways present | ✅/⚠️/❌ | [notes] | + | O06 | Paragraphs 3–5 sentences | ✅/⚠️/❌ | [notes] | + | O09 | No filler; consistent terms | ✅/⚠️/❌ | [notes] | + | R01 | ≥5 precise data points with units | ✅/⚠️/❌ | [notes] | + | R02 | ≥1 citation per 500 words | ✅/⚠️/❌ | [notes] | + | R04 | Claims backed by evidence | ✅/⚠️/❌ | [notes] | + | R07 | Full entity names used | ✅/⚠️/❌ | [notes] | + | C03 | ≥3 query variants covered | ✅/⚠️/❌ | [notes] | + | O08 | Table of contents with jump links | ✅/⚠️/❌ | [notes] | + | O10 | Images/videos captioned and informative | ✅/⚠️/❌ | [notes] | + | E07 | Downloadable template/checklist included | ✅/⚠️/❌ | [notes] | + + **Items Needing Attention**: [list any ⚠️/❌ items] + + _For full 80-item audit, use [content-quality-auditor](../../cross-cutting/content-quality-auditor/)_ + ``` + +## Validation Checkpoints + +### Input Validation +- [ ] Primary keyword confirmed and matches search intent +- [ ] Target word count specified (minimum 800 words for substantive content) +- [ ] Content type and audience clearly defined +- [ ] Competitor URLs reviewed or target SERP features identified + +### Output Validation +- [ ] Keyword density within 1-2% for primary keyword (Note: Keyword density is a guideline, not a hard rule. Modern search engines prioritize semantic relevance and natural language over exact density targets. Focus on covering the topic comprehensively with semantic variants rather than hitting a specific percentage.) +- [ ] All sections from outline covered completely +- [ ] Internal links included (2-5 relevant links) +- [ ] FAQ section present with at least 3 questions +- [ ] Readability score appropriate for target audience +- [ ] Source of each data point clearly stated (~~SEO tool data, user-provided, or estimated) + +## Example + +**User**: "Write an SEO-optimized article about 'email marketing best practices' targeting small businesses" + +**Output**: + +```markdown +# Email Marketing Best Practices: A Complete Guide for Small Businesses + +**Meta Description**: Discover proven email marketing best practices that help small businesses increase open rates, boost engagement, and drive sales. Start improving your campaigns today. (158 chars) + +--- + +Want to know the secret behind small businesses that consistently turn subscribers into loyal customers? It's not luck—it's strategic email marketing. + +Email marketing remains one of the most effective channels for small businesses, delivering an average ROI of $42 for every $1 spent. But with inboxes more crowded than ever, following email marketing best practices isn't optional—it's essential for survival. + +In this guide, you'll learn: +- How to build a quality email list that converts +- Proven strategies to increase open and click rates +- Advanced personalization techniques that drive results +- Common mistakes that kill email performance + +Let's dive into the strategies that will transform your email marketing. + +## Why Email Marketing Matters for Small Businesses + +Before we explore the best practices, let's understand why email deserves your attention. + +Unlike social media where algorithms control who sees your content, email gives you direct access to your audience. You own your email list—no platform can take it away. + +**Key email marketing statistics for small businesses**: +- 81% of SMBs rely on email as their primary customer acquisition channel +- Email subscribers are 3x more likely to share content on social media +- Personalized emails generate 6x higher transaction rates + +## Building a High-Quality Email List + +### Use Strategic Opt-in Incentives + +The foundation of effective email marketing is a quality list. Here's how to grow yours: + +**Lead magnets that convert**: +- Industry-specific templates +- Exclusive discounts or early access +- Free tools or calculators +- Educational email courses + +> **Pro Tip**: The best lead magnets solve a specific, immediate problem for your target audience. + +### Implement Double Opt-in + +Double opt-in confirms subscriber intent and improves deliverability. Yes, you'll have fewer subscribers, but they'll be more engaged. + +| Single Opt-in | Double Opt-in | +|---------------|---------------| +| More subscribers | Fewer subscribers | +| Higher bounce rates | Lower bounce rates | +| Lower engagement | Higher engagement | +| Spam risk | Better deliverability | + +## Crafting Emails That Get Opened + +### Write Compelling Subject Lines + +Your subject line determines whether emails get opened or ignored. + +**Subject line best practices**: +1. Keep it under 50 characters +2. Create urgency without being spammy +3. Use numbers and specifics +4. Personalize when possible +5. A/B test consistently + +### Optimize Preview Text + +The preview text (preheader) is your second chance to convince someone to open. Use it to expand on your subject line, not repeat it. + +## Personalization Strategies That Work + +Generic emails perform poorly. Here's how to personalize effectively: + +### Segment Your Email List + +Divide your list based on: +- Purchase history +- Engagement level +- Demographics +- Interests or preferences +- Customer lifecycle stage + +### Use Dynamic Content + +Send the same email but show different content blocks based on subscriber data. + +## Frequently Asked Questions + +### How often should small businesses send marketing emails? + +For most small businesses, sending 1-2 emails per week strikes the right balance. This keeps you top-of-mind without overwhelming subscribers. Monitor your unsubscribe rates—if they spike after increasing frequency, scale back. + +### What is a good email open rate for small businesses? + +A good email open rate for small businesses is 20-25%. However, this varies by industry. E-commerce averages 15-20%, while B2B services often see 25-30%. Focus on improving your own benchmarks rather than industry averages. + +### Should I buy email lists to grow faster? + +Never buy email lists. Purchased lists violate GDPR and CAN-SPAM regulations, damage your sender reputation, and result in poor engagement. Organic list growth, while slower, produces much better results. + +## Conclusion + +Implementing these email marketing best practices will help your small business build stronger customer relationships and drive consistent revenue. Remember: quality always beats quantity in email marketing. + +Start with one improvement today. Whether it's segmenting your list, testing subject lines, or cleaning inactive subscribers, small changes compound into significant results. + +**Ready to level up your email marketing?** Download our free Email Marketing Checklist to ensure every campaign you send follows these best practices. + +--- + +*Further reading: [Internal link: "How to Write Email Copy That Converts"]* + +*Sources: [Litmus Email Marketing Statistics](https://litmus.com), [Campaign Monitor Email Benchmarks](https://campaignmonitor.com)* +``` + +## Content Type Templates + +### How-To Guide + +``` +Write a how-to guide for [task] targeting [keyword] +``` + +### Comparison Article + +``` +Write a comparison article: [Option A] vs [Option B] for [keyword] +``` + +### Listicle + +``` +Write a list post: "X Best [Items] for [Audience/Purpose]" targeting [keyword] +``` + +### Ultimate Guide + +``` +Write an ultimate guide about [topic] (3,000+ words) targeting [keyword] +``` + +## Tips for Success + +1. **Match search intent** - Informational queries need guides, not sales pages +2. **Front-load value** - Put key information early for readers and snippets +3. **Use data and examples** - Specific beats generic every time +4. **Write for humans first** - SEO optimization should feel natural +5. **Include visual elements** - Break up text with images, tables, lists +6. **Update regularly** - Fresh content signals to search engines + +## Reference Materials + +- [Title Formulas](./references/title-formulas.md) - Proven headline formulas, power words, CTR patterns +- [Content Structure Templates](./references/content-structure-templates.md) - Templates for blog posts, comparisons, listicles, how-tos, pillar pages + +## Related Skills + +- [keyword-research](../../research/keyword-research/) — Find keywords to target +- [geo-content-optimizer](../geo-content-optimizer/) — Optimize for AI citations +- [meta-tags-optimizer](../meta-tags-optimizer/) — Create compelling meta tags +- [on-page-seo-auditor](../../optimize/on-page-seo-auditor/) — Audit SEO elements +- [internal-linking-optimizer](../../optimize/internal-linking-optimizer/) — Place internal links during content writing +- [content-refresher](../../optimize/content-refresher/) — Refresh and update existing content +- [content-quality-auditor](../../cross-cutting/content-quality-auditor/) — Full 80-item CORE-EEAT audit +- [memory-management](../../cross-cutting/memory-management/) — Track content performance over time +- [content-gap-analysis](../../research/content-gap-analysis/) — Identify content opportunities to write about +- [schema-markup-generator](../schema-markup-generator/) — Add structured data to published content + diff --git a/skills/seo-content-writer/_meta.json b/skills/seo-content-writer/_meta.json new file mode 100755 index 0000000..a86ab55 --- /dev/null +++ b/skills/seo-content-writer/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn73qjxwmbna25qq8q051epqt980sys5", + "slug": "seo-content-writer", + "version": "2.0.0", + "publishedAt": 1771042677304 +} \ No newline at end of file diff --git a/skills/seo-content-writer/references/content-structure-templates.md b/skills/seo-content-writer/references/content-structure-templates.md new file mode 100755 index 0000000..35a5e29 --- /dev/null +++ b/skills/seo-content-writer/references/content-structure-templates.md @@ -0,0 +1,875 @@ +# Content Structure Templates + +Markdown templates for common SEO content types. Customize section headings and content while maintaining the structural framework. + +## Blog Post (Informational) + +**Target word count**: 1,200-1,800 words +**Primary goal**: Educate and inform, build authority, rank for informational queries + +```markdown +# [Primary Keyword in H1] - [Benefit or Hook] + +[Opening hook - 1 compelling sentence that grabs attention] + +[Problem statement - describe the pain point or challenge your reader faces] + +[Promise - explain what readers will learn or gain from this post] + +In this guide, you'll discover: +- [Key takeaway 1] +- [Key takeaway 2] +- [Key takeaway 3] + +## What Is [Topic]? + +[Clear definition in 40-60 words - GEO-optimized] + +[Expanded explanation with context] + +[Why this matters - relevance to reader] + +## Why [Topic] Matters + +[Benefit 1 with supporting evidence] + +[Benefit 2 with supporting evidence] + +[Benefit 3 with supporting evidence] + +> **Key Insight**: [Highlighted important point or statistic] + +## [Secondary Keyword or Main Section 1] + +[Introduction to this section] + +### [Sub-topic 1] + +[Detailed explanation] + +**Key points**: +- Point 1 +- Point 2 +- Point 3 + +### [Sub-topic 2] + +[Detailed explanation] + +[Example or case study] + +## [Secondary Keyword or Main Section 2] + +[Section introduction] + +| Factor | Description | Impact | +|--------|-------------|--------| +| [Factor 1] | [Description] | High/Medium/Low | +| [Factor 2] | [Description] | High/Medium/Low | +| [Factor 3] | [Description] | High/Medium/Low | + +[Additional explanation] + +## [Secondary Keyword or Main Section 3] + +[Content for this section] + +**Best practices**: +1. [Practice 1 with explanation] +2. [Practice 2 with explanation] +3. [Practice 3 with explanation] + +## Common Mistakes to Avoid + +### [Mistake 1] + +[Why this is a mistake] +[How to avoid it] + +### [Mistake 2] + +[Why this is a mistake] +[How to avoid it] + +### [Mistake 3] + +[Why this is a mistake] +[How to avoid it] + +## Frequently Asked Questions + +### [Question from PAA or common query]? + +[Direct answer in 40-60 words] + +[Optional: Additional context] + +### [Question 2]? + +[Direct answer] + +### [Question 3]? + +[Direct answer] + +## Conclusion + +[Recap key points - include primary keyword] + +[Final insight or takeaway] + +[Clear call-to-action: next step for reader] + +--- + +**Related reading**: [Internal link 1] | [Internal link 2] | [Internal link 3] +``` + +**Internal links**: 3-5 contextual links to related content +**External links**: 2-3 links to authoritative sources +**Keywords**: Primary in H1, first 100 words, conclusion; secondary in H2s +**GEO-optimization**: Definition block, FAQ section, quotable statistics + +--- + +## Comparison Article ("[A] vs [B]") + +**Target word count**: 1,500-2,500 words +**Primary goal**: Help readers choose between options, rank for comparison queries + +```markdown +# [Option A] vs [Option B]: Which Is Better for [Use Case]? + +[Hook - present the comparison dilemma] + +[Context - why this comparison matters] + +[Promise - what readers will understand after reading] + +**Quick answer**: [Brief verdict for those who want immediate answer] + +## [Option A] vs [Option B]: Quick Comparison + +| Feature | [Option A] | [Option B] | +|---------|-----------|-----------| +| [Feature 1] | [Details] | [Details] | +| [Feature 2] | [Details] | [Details] | +| [Feature 3] | [Details] | [Details] | +| [Feature 4] | [Details] | [Details] | +| **Best for** | [Use case] | [Use case] | +| **Starting price** | [Price] | [Price] | + +## What Is [Option A]? + +[Clear definition] + +[Key features and capabilities] + +**Pros**: +- [Advantage 1] +- [Advantage 2] +- [Advantage 3] + +**Cons**: +- [Disadvantage 1] +- [Disadvantage 2] + +## What Is [Option B]? + +[Clear definition] + +[Key features and capabilities] + +**Pros**: +- [Advantage 1] +- [Advantage 2] +- [Advantage 3] + +**Cons**: +- [Disadvantage 1] +- [Disadvantage 2] + +## [Option A] vs [Option B]: Detailed Comparison + +### [Feature Category 1] + +**[Option A]**: [Detailed explanation with examples] + +**[Option B]**: [Detailed explanation with examples] + +**Winner**: [A/B/Tie] - [Brief reasoning] + +### [Feature Category 2] + +**[Option A]**: [Details] + +**[Option B]**: [Details] + +**Winner**: [A/B/Tie] - [Brief reasoning] + +### [Feature Category 3] + +[Continue pattern for key comparison points] + +## Pricing: [Option A] vs [Option B] + +### [Option A] Pricing + +- [Tier 1]: $[X]/month - [What's included] +- [Tier 2]: $[X]/month - [What's included] +- [Tier 3]: $[X]/month - [What's included] + +### [Option B] Pricing + +- [Tier 1]: $[X]/month - [What's included] +- [Tier 2]: $[X]/month - [What's included] +- [Tier 3]: $[X]/month - [What's included] + +**Value winner**: [Which offers better value and why] + +## Which Should You Choose? + +### Choose [Option A] if: +- [Criteria 1] +- [Criteria 2] +- [Criteria 3] + +### Choose [Option B] if: +- [Criteria 1] +- [Criteria 2] +- [Criteria 3] + +## Frequently Asked Questions + +### Is [Option A] better than [Option B]? + +[Nuanced answer - depends on use case] + +### Can you use [Option A] and [Option B] together? + +[Answer with explanation] + +### Which is easier for beginners: [Option A] or [Option B]? + +[Answer with reasoning] + +## Final Verdict: [Option A] vs [Option B] + +[Balanced conclusion] + +[Recommendation based on different use cases] + +[Clear call-to-action] +``` + +**Internal links**: Links to detailed reviews of each option, related comparisons +**External links**: Official websites of both options, third-party reviews +**Keywords**: Both options mentioned throughout, comparison keywords in H2s + +--- + +## Listicle ("Top N [Items]") + +**Target word count**: 1,500-2,500 words (depending on list length) +**Primary goal**: Provide curated recommendations, rank for "best [topic]" queries + +```markdown +# [Number] Best [Items] for [Audience/Purpose] ([Year]) + +[Hook - establish why this list matters] + +[Context - what makes these the "best"] + +[Promise - what readers will gain] + +After testing [X] different [items], we've identified the [number] that deliver the best results for [audience/purpose]. + +## Quick Summary: Top [Number] [Items] + +| Rank | [Item] | Best For | Price | +|------|--------|----------|-------| +| 1 | [Item 1] | [Use case] | [Price] | +| 2 | [Item 2] | [Use case] | [Price] | +| 3 | [Item 3] | [Use case] | [Price] | + +## How We Chose These [Items] + +Our selection criteria: +- [Criterion 1] - [Why it matters] +- [Criterion 2] - [Why it matters] +- [Criterion 3] - [Why it matters] + +## 1. [Item Name] - Best for [Specific Use Case] + +![Alt text: [Item name] screenshot/image] + +**What it is**: [Brief description] + +**Why we love it**: [Key benefits and features] + +**Key features**: +- [Feature 1] +- [Feature 2] +- [Feature 3] + +**Pricing**: [Price details] + +**Pros**: +- [Pro 1] +- [Pro 2] + +**Cons**: +- [Con 1] +- [Con 2] + +**Best for**: [Ideal user or use case] + +[Link to item] + +--- + +## 2. [Item Name] - Best for [Specific Use Case] + +[Follow same structure as #1] + +--- + +## 3. [Item Name] - Best for [Specific Use Case] + +[Continue pattern for all items in list] + +--- + +## Comparison: Which [Item] Is Right for You? + +| Feature | [Item 1] | [Item 2] | [Item 3] | +|---------|----------|----------|----------| +| [Feature 1] | ✓/✗ | ✓/✗ | ✓/✗ | +| [Feature 2] | ✓/✗ | ✓/✗ | ✓/✗ | +| [Feature 3] | ✓/✗ | ✓/✗ | ✓/✗ | + +## How to Choose the Best [Item] for Your Needs + +### Consider [Factor 1] + +[Explanation of how this factor affects choice] + +### Consider [Factor 2] + +[Explanation] + +### Consider [Factor 3] + +[Explanation] + +## Frequently Asked Questions + +### What is the best [item] for beginners? + +[Answer with specific recommendation] + +### Which [item] offers the best value? + +[Answer with reasoning] + +### Are paid [items] better than free ones? + +[Balanced answer] + +## Conclusion: Our Top Pick + +[Restate #1 recommendation] + +[Why it's the best overall choice] + +[Call-to-action] +``` + +**Internal links**: Related guides, comparison articles, category pages +**External links**: Links to each recommended item, review sources +**Keywords**: "Best [topic]", individual item names, use case keywords + +--- + +## How-To Guide (Step-by-Step) + +**Target word count**: 1,200-2,000 words +**Primary goal**: Teach a specific process, rank for "how to [task]" queries + +```markdown +# How to [Achieve Goal]: [Number]-Step Guide [for Audience] + +[Hook - present the outcome readers want] + +[Current problem - why this is challenging] + +[Promise - what readers will accomplish] + +By following this step-by-step guide, you'll be able to [specific outcome] in [timeframe]. + +## What You'll Need + +**Tools**: +- [Tool 1] +- [Tool 2] +- [Tool 3] + +**Time required**: [Estimated time] + +**Skill level**: [Beginner/Intermediate/Advanced] + +## Why [Task] Matters + +[Explain the benefits of completing this task] + +[Provide context and importance] + +## Step 1: [Action Title] + +![Alt text: Screenshot showing step 1] + +[Clear instruction for this step] + +[Why this step is important] + +**How to do it**: +1. [Sub-step 1] +2. [Sub-step 2] +3. [Sub-step 3] + +> **Pro Tip**: [Helpful tip to make this step easier] + +**Common mistakes**: +- [Mistake to avoid] +- [Another mistake] + +--- + +## Step 2: [Action Title] + +![Alt text: Screenshot showing step 2] + +[Instruction for this step] + +[Additional context or explanation] + +**Example**: [Concrete example showing this step] + +--- + +## Step 3: [Action Title] + +[Continue pattern for all steps] + +--- + +## Step [Final Number]: [Action Title] + +[Final step instruction] + +[What success looks like] + +**You'll know it's working when**: [Success indicators] + +--- + +## What to Do If [Common Problem] + +### Problem: [Issue 1] + +**Solution**: [How to fix it] + +### Problem: [Issue 2] + +**Solution**: [How to fix it] + +## Advanced Tips + +Once you've mastered the basics: + +1. **[Advanced tip 1]** - [Explanation] +2. **[Advanced tip 2]** - [Explanation] +3. **[Advanced tip 3]** - [Explanation] + +## Frequently Asked Questions + +### How long does it take to [complete task]? + +[Realistic timeframe with variables] + +### Do I need [specific tool/skill] to [complete task]? + +[Answer with alternatives if applicable] + +### What if [specific concern]? + +[Address concern with solution] + +## Conclusion + +[Recap the process] + +[Encourage reader to take action] + +[Clear next step or CTA] + +**Next steps**: [Link to related guide or advanced tutorial] +``` + +**Internal links**: Links to tool reviews, prerequisite guides, related tutorials +**External links**: Tool documentation, additional resources +**Keywords**: "How to [task]", action words in each step heading + +--- + +## Product Review + +**Target word count**: 1,500-2,000 words +**Primary goal**: Help buyers make informed decisions, rank for "[product] review" queries + +```markdown +# [Product Name] Review: Is It Worth It in [Year]? + +[Hook - establish the product's promise or popularity] + +[Context - who this review is for] + +After using [Product] for [timeframe], here's my honest assessment of whether it lives up to the hype. + +## [Product Name] Overview + +**What it is**: [Clear description] + +**Price**: [Pricing details] + +**Best for**: [Ideal user or use case] + +**Rating**: ★★★★☆ (4/5) + +## Pros and Cons at a Glance + +### Pros +- [Major advantage 1] +- [Major advantage 2] +- [Major advantage 3] + +### Cons +- [Main limitation 1] +- [Main limitation 2] + +## What Is [Product Name]? + +[Detailed product description] + +[Who makes it and company background] + +[Product positioning and target market] + +## Key Features + +### [Feature 1] + +[Detailed explanation of feature] + +[How it works in practice] + +[Our experience with this feature] + +### [Feature 2] + +[Continue pattern for main features] + +## Performance Testing + +### [Test Category 1] + +**What we tested**: [Testing methodology] + +**Results**: [Specific results with data] + +**Verdict**: [Assessment] + +### [Test Category 2] + +[Continue testing pattern] + +## Pricing and Plans + +| Plan | Price | What's Included | +|------|-------|-----------------| +| [Tier 1] | $[X]/month | [Features] | +| [Tier 2] | $[X]/month | [Features] | +| [Tier 3] | $[X]/month | [Features] | + +**Value assessment**: [Whether pricing is justified] + +## [Product] vs Competitors + +| Feature | [Product] | [Competitor 1] | [Competitor 2] | +|---------|-----------|----------------|----------------| +| [Feature 1] | [Details] | [Details] | [Details] | +| [Feature 2] | [Details] | [Details] | [Details] | +| [Feature 3] | [Details] | [Details] | [Details] | + +## Who Should Buy [Product]? + +### Perfect for: +- [User type 1] because [reason] +- [User type 2] because [reason] + +### Not ideal for: +- [User type] because [reason] +- [User type] because [reason] + +## Frequently Asked Questions + +### Is [Product] worth the price? + +[Honest assessment with context] + +### How does [Product] compare to [main competitor]? + +[Balanced comparison] + +### What's the learning curve like? + +[Assessment with timeframe] + +## Final Verdict: Should You Buy [Product]? + +[Balanced conclusion] + +[Specific recommendation based on use case] + +**Our rating**: ★★★★☆ (4/5) + +[Link to product with disclosure if affiliate] +``` + +**Disclosure**: Include affiliate disclosure if applicable +**Internal links**: Related product reviews, comparison articles, category pages +**External links**: Product website, official documentation + +--- + +## Pillar Page (Comprehensive Guide) + +**Target word count**: 3,000-5,000+ words +**Primary goal**: Become definitive resource, rank for head terms, support topic cluster + +```markdown +# [Topic]: The Complete Guide [for Audience] ([Year]) + +[Compelling hook - establish the importance of this topic] + +[Problem - what challenges exist in this space] + +[Promise - what this comprehensive guide delivers] + +This is the most comprehensive guide to [topic] on the web. You'll learn everything from fundamentals to advanced strategies. + +## Table of Contents + +- [Chapter 1] +- [Chapter 2] +- [Chapter 3] +- [Chapter 4] +- [Chapter 5] + +## Chapter 1: [Topic] Fundamentals + +### What Is [Topic]? + +[Comprehensive definition - GEO-optimized] + +[History and evolution] + +[Current state and importance] + +### Why [Topic] Matters + +[Multiple benefits with evidence] + +[Industry statistics and trends] + +### Key Concepts and Terminology + +| Term | Definition | +|------|------------| +| [Term 1] | [Definition] | +| [Term 2] | [Definition] | +| [Term 3] | [Definition] | + +## Chapter 2: [Major Sub-Topic] + +[Comprehensive section on major aspect] + +[Multiple sub-sections with H3 headings] + +[Examples, case studies, data] + +[Internal links to detailed cluster content] + +> **Deep dive**: For more on [sub-topic], see our complete guide: [link] + +## Chapter 3: [Major Sub-Topic] + +[Continue pattern with substantial content sections] + +## Chapter 4: [Advanced/Tactical Section] + +[Strategic or tactical content] + +[Actionable frameworks and processes] + +## Chapter 5: [Implementation/Case Studies] + +[Real-world applications] + +[Success stories] + +[Implementation roadmap] + +## Frequently Asked Questions + +[Comprehensive FAQ section with 8-10 questions] + +## Key Takeaways + +[Summarize main points from each chapter] + +## What's Next? + +[Recommend next steps] + +[Links to related cluster content] + +## Resources + +**Recommended tools**: +- [Tool 1] - [Use case] +- [Tool 2] - [Use case] + +**Further reading**: +- [Internal link to cluster content] +- [Internal link to cluster content] +- [External resource] +``` + +**Internal links**: 8-15 links to related cluster content +**External links**: 5-10 authoritative sources +**Update frequency**: Quarterly for pillar pages + +--- + +## FAQ Page + +**Target word count**: 1,000-1,500 words +**Primary goal**: Answer common questions, rank for question queries, enable FAQ rich results + +```markdown +# [Topic]: Frequently Asked Questions + +[Introduction explaining what questions this page answers] + +[Who this FAQ is for] + +## General Questions + +### What is [topic]? + +[Comprehensive answer with definition] + +### How does [topic] work? + +[Clear explanation with steps if applicable] + +### Why is [topic] important? + +[Benefits and context] + +## Getting Started + +### How do I get started with [topic]? + +[Step-by-step guidance] + +### What do I need to [accomplish goal]? + +[Requirements and prerequisites] + +### How long does it take to [achieve result]? + +[Realistic timeframe] + +## Common Problems + +### Why isn't [expected result] happening? + +[Troubleshooting guidance] + +### What should I do if [problem occurs]? + +[Solution with steps] + +### How do I fix [specific error]? + +[Fix instructions] + +## Comparison Questions + +### [Option A] vs [Option B]: which is better? + +[Balanced comparison answer] + +### Should I [action 1] or [action 2]? + +[Guidance based on scenarios] + +## Pricing and Plans + +### How much does [topic] cost? + +[Pricing information with context] + +### Is there a free version? + +[Information about free options] + +## Advanced Questions + +### Can I [advanced action]? + +[Answer with technical details] + +### How do I [complex task]? + +[Guidance with link to detailed guide] + +## Still Have Questions? + +[Call-to-action for additional support] + +[Contact information or link to contact page] +``` + +**Schema markup**: Add FAQPage schema to enable rich results +**Internal links**: Link to detailed guides for complex answers +**Keywords**: Include question keywords naturally + +--- + +## Implementation Checklist + +For any template: + +- [ ] Customize all [bracketed placeholders] +- [ ] Include primary keyword in H1 and first 100 words +- [ ] Place secondary keywords in H2/H3 headings +- [ ] Add 3-5 internal links to related content +- [ ] Include 2-3 external links to authoritative sources +- [ ] Create GEO-optimized definition blocks +- [ ] Add FAQ section for featured snippet opportunities +- [ ] Include relevant images with descriptive alt text +- [ ] Write compelling meta description (150-160 chars) +- [ ] Optimize title tag (50-60 chars with primary keyword) diff --git a/skills/seo-content-writer/references/title-formulas.md b/skills/seo-content-writer/references/title-formulas.md new file mode 100755 index 0000000..7301769 --- /dev/null +++ b/skills/seo-content-writer/references/title-formulas.md @@ -0,0 +1,339 @@ +# Title and Headline Formulas + +Proven title structures that drive clicks and rankings. All formulas target 50-60 characters for optimal SERP display. + +## Numbered List Formulas + +**Pattern**: [Number] [Adjective] [Topic] [Qualifier/Benefit] + +### Examples +- "7 Ways to Improve Your SEO Rankings in 2024" +- "15 Content Marketing Strategies That Actually Work" +- "10 Free Tools for Keyword Research (Beginner-Friendly)" +- "21 Email Marketing Tips from Industry Experts" +- "5 Quick Wins for Better Site Performance" + +**Why it works**: Numbers promise specific value, create curiosity, set clear expectations. + +**Best practices**: +- Odd numbers (7, 9, 15) often outperform even numbers +- Use specific numbers (13 vs "over 10") +- Keep total under 30 for credibility +- Match number to actual content sections + +--- + +## How-To Formulas + +**Pattern 1**: How to [Achieve Goal] in [Timeframe] +- "How to Rank on Google in 30 Days" +- "How to Write SEO Content in Under 2 Hours" +- "How to Build Backlinks in 2024" + +**Pattern 2**: How to [Achieve Goal] Without [Common Objection] +- "How to Learn SEO Without Spending Money" +- "How to Increase Traffic Without Paid Ads" +- "How to Write Blog Posts Without Writer's Block" + +**Pattern 3**: How to [Achieve Goal] (Even If [Limitation]) +- "How to Rank #1 (Even If You're a New Website)" +- "How to Get Backlinks (Even With Zero Audience)" +- "How to Write SEO Content (Even If You Hate Writing)" + +**Pattern 4**: How to [Achieve Goal] Like [Authority/Expert] +- "How to Write Email Copy Like a Professional Copywriter" +- "How to Do Keyword Research Like an SEO Pro" +- "How to Create Content Like Top Marketing Agencies" + +--- + +## Question Formulas + +**Pattern 1**: What Is [Topic]? [Benefit/Hook] +- "What Is Technical SEO? A Complete Guide" +- "What Is GEO? Everything You Need to Know" +- "What Is Content Marketing? (And Why It Matters)" + +**Pattern 2**: Why [Action] [Result] +- "Why Most Content Marketing Strategies Fail" +- "Why Your Website Isn't Ranking" +- "Why Email Still Beats Social Media for ROI" + +**Pattern 3**: Should You [Action]? [Quick Answer] +- "Should You Buy Backlinks? (Spoiler: No)" +- "Should You Hire an SEO Agency? A Cost-Benefit Analysis" +- "Should You Rewrite Old Content? When It Makes Sense" + +**Pattern 4**: When Should You [Action] +- "When Should You Publish Blog Posts for Maximum Traffic" +- "When Should You Update Your SEO Strategy" +- "When Should You Remove Content from Your Website" + +--- + +## Comparison Formulas + +**Pattern 1**: [Option A] vs [Option B]: Which Is Better? +- "WordPress vs Webflow: Which Is Better for SEO?" +- "Ahrefs vs SEMrush: Complete Comparison 2024" +- "In-House SEO vs Agency: Which Should You Choose?" + +**Pattern 2**: [Option A] vs [Option B] (and the Winner Is...) +- "Free Tools vs Paid SEO Software (and the Winner Is...)" +- "Long-Form vs Short-Form Content (and the Winner Is...)" + +**Pattern 3**: [Option A] or [Option B] for [Audience/Goal] +- "Shopify or WooCommerce for Small Business SEO" +- "YouTube or TikTok for B2B Marketing" + +--- + +## Ultimate Guide Formulas + +**Pattern 1**: The [Complete/Definitive] Guide to [Topic] +- "The Complete Guide to Technical SEO" +- "The Definitive Guide to Link Building in 2024" + +**Pattern 2**: [Topic]: The Ultimate Guide for [Audience] +- "Content Marketing: The Ultimate Guide for Beginners" +- "Local SEO: The Ultimate Guide for Small Businesses" + +**Pattern 3**: Everything You Need to Know About [Topic] +- "Everything You Need to Know About Core Web Vitals" +- "Everything You Need to Know About Schema Markup" + +--- + +## Power Word Formulas + +**Pattern**: [Power Word] [Topic] [Qualifier] + +### Power Word Categories + +**Authority words**: +- Proven, Tested, Verified, Certified, Official +- Example: "Proven Strategies to Double Your Organic Traffic" + +**Urgency words**: +- Now, Today, Fast, Quick, Instantly, Immediately +- Example: "Quick Wins: Improve SEO Performance Today" + +**Value words**: +- Free, Complete, Essential, Ultimate, Comprehensive +- Example: "The Essential SEO Checklist for 2024" + +**Exclusivity words**: +- Secret, Hidden, Little-Known, Insider, Exclusive +- Example: "7 Little-Known SEO Tactics That Actually Work" + +**Emotional words**: +- Amazing, Powerful, Effortless, Simple, Easy +- Example: "Simple SEO Strategies for Busy Entrepreneurs" + +--- + +## Before/After Formulas + +**Pattern 1**: From [Bad State] to [Good State] +- "From Zero to 10K Monthly Visitors: A Case Study" +- "From Page 5 to Position 1: How We Ranked a Competitive Keyword" + +**Pattern 2**: How I/We [Achieved Result] in [Timeframe] +- "How I Increased Organic Traffic by 300% in 6 Months" +- "How We Built 100 Backlinks in 30 Days" + +**Pattern 3**: [Bad State] → [Good State]: [Method] +- "500 Visitors → 50K: Our Content Strategy Revealed" +- "Struggling → Thriving: SEO Transformation Story" + +--- + +## Mistake/Problem Formulas + +**Pattern 1**: [Number] [Topic] Mistakes [Qualifier] +- "5 SEO Mistakes Killing Your Rankings" +- "10 Content Marketing Mistakes to Avoid in 2024" +- "3 Technical SEO Mistakes Even Pros Make" + +**Pattern 2**: Stop [Wrong Action]. Do [Right Action] Instead +- "Stop Keyword Stuffing. Do This Instead" +- "Stop Buying Backlinks. Try These 7 Tactics Instead" + +**Pattern 3**: Why Your [Topic] Isn't Working (And How to Fix It) +- "Why Your Content Isn't Ranking (And How to Fix It)" +- "Why Your SEO Strategy Isn't Working (And How to Fix It)" + +--- + +## Checklist Formulas + +**Pattern 1**: [Topic] Checklist: [Number] Must-Have [Items] +- "Technical SEO Checklist: 23 Must-Check Items" +- "Blog Post Checklist: 15 Things to Check Before Publishing" + +**Pattern 2**: The [Timeframe] [Topic] Checklist +- "The 2024 SEO Audit Checklist" +- "The Pre-Launch Website Checklist" + +--- + +## Curiosity Gap Formulas + +**Pattern 1**: The [Adjective] Reason [Unexpected Fact] +- "The Surprising Reason Long Content Ranks Better" +- "The Real Reason Your Blog Posts Aren't Getting Traffic" + +**Pattern 2**: [Number] Things About [Topic] That [Surprising Fact] +- "7 Things About SEO That Google Doesn't Tell You" +- "5 Things About Content Marketing That Changed in 2024" + +**Pattern 3**: What [Expert/Group] Know About [Topic] (That You Don't) +- "What Top SEO Agencies Know About Link Building (That You Don't)" +- "What Professional Copywriters Know About Headlines" + +--- + +## Benefit-Driven Formulas + +**Pattern 1**: [Action] to [Specific Benefit] +- "Optimize Your Title Tags to Double Your CTR" +- "Write Better Meta Descriptions to Increase Organic Traffic" + +**Pattern 2**: [Action] for [Outcome] Without [Objection] +- "Scale Content Production for Better Rankings Without Hiring Writers" +- "Improve Site Speed for Higher Rankings Without Technical Skills" + +--- + +## Authority/Credibility Formulas + +**Pattern 1**: [Expert/Authority] Says [Action/Tip] +- "Google's John Mueller Says Internal Linking Is Underrated" +- "SEO Experts Reveal Their Top Ranking Factor for 2024" + +**Pattern 2**: [Number] [Experts/Companies] Share [Topic] +- "50 SEO Experts Share Their #1 Ranking Tip" +- "10 Successful Brands Share Their Content Strategy" + +--- + +## CTR Optimization Patterns + +### Elements That Increase CTR + +**Year/Timeframe** (signals freshness): +- "SEO Trends for 2024" +- "Best Practices [Updated January 2024]" + +**Brackets/Parentheticals** (adds extra context): +- "Email Marketing Tips (That Actually Work)" +- "SEO Tools [Free & Paid Options]" + +**Numbers** (promise specific value): +- "7 Ways...", "15 Tools...", "3 Reasons..." + +**Power words** (emotional trigger): +- Ultimate, Essential, Complete, Proven, Secret + +**Target audience** (relevance signal): +- "...for Beginners", "...for Small Businesses", "...for B2B" + +### Elements That Decrease CTR + +- All caps (looks spammy) +- Excessive punctuation (!!!, ???) +- Clickbait without substance +- Misleading promises +- Generic titles ("SEO Tips", "Marketing Guide") + +--- + +## Title Length Guidelines + +### Google SERP +- **Optimal**: 50-60 characters +- **Maximum**: ~70 characters before truncation +- **Mobile**: ~55 characters (truncates earlier) + +### Social Media +- **Twitter/X**: 70-100 characters for best engagement +- **Facebook**: 40-50 characters (shorter performs better) +- **LinkedIn**: 70-100 characters +- **Pinterest**: 40-60 characters + +### Email Subject Lines +- **Optimal**: 40-50 characters +- **Mobile**: 30-40 characters (truncates earlier) +- **Desktop**: Up to 60 characters + +--- + +## Before/After Title Examples + +### Generic → Optimized + +**Before**: "SEO Tips" +**After**: "7 SEO Tips That Increased Our Traffic by 300%" +- Added: Number, specificity, proof + +**Before**: "How to Do Keyword Research" +**After**: "How to Do Keyword Research (Free Tools & 5-Step Process)" +- Added: Benefit, specificity, process indicator + +**Before**: "Content Marketing Guide" +**After**: "The Complete Content Marketing Guide for Small Businesses [2024]" +- Added: Completeness indicator, target audience, year + +**Before**: "What Is Technical SEO" +**After**: "What Is Technical SEO? A Beginner's Guide to Better Rankings" +- Added: Audience level, benefit + +**Before**: "WordPress vs Shopify" +**After**: "WordPress vs Shopify: Which Is Better for SEO? (2024 Comparison)" +- Added: Specific comparison angle, year + +**Before**: "Link Building Strategies" +**After**: "15 White-Hat Link Building Strategies That Still Work in 2024" +- Added: Number, quality signal, time relevance + +--- + +## Title Writing Checklist + +Before finalizing any title, check: + +- [ ] Includes primary keyword naturally +- [ ] Length is 50-60 characters +- [ ] Matches search intent (informational/transactional/navigational) +- [ ] Contains power word or emotional trigger +- [ ] Specific and concrete (not vague) +- [ ] Promises clear value or benefit +- [ ] Accurate representation of content +- [ ] No clickbait or misleading claims +- [ ] Unique compared to competitors +- [ ] Works when truncated on mobile + +--- + +## Testing and Optimization + +### A/B Test These Variables +- Number variations (7 vs 10 vs 15) +- Power word placement (beginning vs end) +- Question vs statement format +- With/without year +- With/without brackets +- Different benefit framing + +### Track These Metrics +- Click-through rate (CTR) in Search Console +- Average position in SERPs +- Time on page (engagement indicator) +- Bounce rate (relevance indicator) + +### When to Rewrite Titles +- CTR below 2% for top 3 positions +- CTR below 5% for positions 4-10 +- Content is updated (add [Updated 2024]) +- Competitors have better titles +- Ranking but not getting clicks diff --git a/skills/skill-creator/LICENSE.txt b/skills/skill-creator/LICENSE.txt new file mode 100755 index 0000000..7a4a3ea --- /dev/null +++ b/skills/skill-creator/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/skills/skill-creator/SKILL.md b/skills/skill-creator/SKILL.md new file mode 100755 index 0000000..696f410 --- /dev/null +++ b/skills/skill-creator/SKILL.md @@ -0,0 +1,485 @@ +--- +name: skill-creator +description: Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy. +--- + +# Skill Creator + +A skill for creating new skills and iteratively improving them. + +At a high level, the process of creating a skill goes like this: + +- Decide what you want the skill to do and roughly how it should do it +- Write a draft of the skill +- Create a few test prompts and run glm-with-access-to-the-skill on them +- Help the user evaluate the results both qualitatively and quantitatively + - While the runs happen in the background, draft some quantitative evals if there aren't any (if there are some, you can either use as is or modify if you feel something needs to change about them). Then explain them to the user (or if they already existed, explain the ones that already exist) + - Use the `eval-viewer/generate_review.py` script to show the user the results for them to look at, and also let them look at the quantitative metrics +- Rewrite the skill based on feedback from the user's evaluation of the results (and also if there are any glaring flaws that become apparent from the quantitative benchmarks) +- Repeat until you're satisfied +- Expand the test set and try again at larger scale + +Your job when using this skill is to figure out where the user is in this process and then jump in and help them progress through these stages. So for instance, maybe they're like "I want to make a skill for X". You can help narrow down what they mean, write a draft, write the test cases, figure out how they want to evaluate, run all the prompts, and repeat. + +On the other hand, maybe they already have a draft of the skill. In this case you can go straight to the eval/iterate part of the loop. + +Of course, you should always be flexible and if the user is like "I don't need to run a bunch of evaluations, just vibe with me", you can do that instead. + +Then after the skill is done (but again, the order is flexible), you can also run the skill description improver, which we have a whole separate script for, to optimize the triggering of the skill. + +Cool? Cool. + +## Communicating with the user + +The skill creator is liable to be used by people across a wide range of familiarity with coding jargon. If you haven't heard (and how could you, it's only very recently that it started), there's a trend now where the power of GLM is inspiring plumbers to open up their terminals, parents and grandparents to google "how to install npm". On the other hand, the bulk of users are probably fairly computer-literate. + +So please pay attention to context cues to understand how to phrase your communication! In the default case, just to give you some idea: + +- "evaluation" and "benchmark" are borderline, but OK +- for "JSON" and "assertion" you want to see serious cues from the user that they know what those things are before using them without explaining them + +It's OK to briefly explain terms if you're in doubt, and feel free to clarify terms with a short definition if you're unsure if the user will get it. + +--- + +## Creating a skill + +### Capture Intent + +Start by understanding the user's intent. The current conversation might already contain a workflow the user wants to capture (e.g., they say "turn this into a skill"). If so, extract answers from the conversation history first — the tools used, the sequence of steps, corrections the user made, input/output formats observed. The user may need to fill the gaps, and should confirm before proceeding to the next step. + +1. What should this skill enable GLM to do? +2. When should this skill trigger? (what user phrases/contexts) +3. What's the expected output format? +4. Should we set up test cases to verify the skill works? Skills with objectively verifiable outputs (file transforms, data extraction, code generation, fixed workflow steps) benefit from test cases. Skills with subjective outputs (writing style, art) often don't need them. Suggest the appropriate default based on the skill type, but let the user decide. + +### Interview and Research + +Proactively ask questions about edge cases, input/output formats, example files, success criteria, and dependencies. Wait to write test prompts until you've got this part ironed out. + +Check available MCPs - if useful for research (searching docs, finding similar skills, looking up best practices), research in parallel via subagents if available, otherwise inline. Come prepared with context to reduce burden on the user. + +### Write the SKILL.md + +Based on the user interview, fill in these components: + +- **name**: Skill identifier +- **description**: When to trigger, what it does. This is the primary triggering mechanism - include both what the skill does AND specific contexts for when to use it. All "when to use" info goes here, not in the body. Note: currently GLM has a tendency to "undertrigger" skills -- to not use them when they'd be useful. To combat this, please make the skill descriptions a little bit "pushy". So for instance, instead of "How to build a simple fast dashboard to display internal Zhipu AI data.", you might write "How to build a simple fast dashboard to display internal Zhipu AI data. Make sure to use this skill whenever the user mentions dashboards, data visualization, internal metrics, or wants to display any kind of company data, even if they don't explicitly ask for a 'dashboard.'" +- **compatibility**: Required tools, dependencies (optional, rarely needed) +- **the rest of the skill :)** + +### Skill Writing Guide + +#### Anatomy of a Skill + +``` +skill-name/ +├── SKILL.md (required) +│ ├── YAML frontmatter (name, description required) +│ └── Markdown instructions +└── Bundled Resources (optional) + ├── scripts/ - Executable code for deterministic/repetitive tasks + ├── references/ - Docs loaded into context as needed + └── assets/ - Files used in output (templates, icons, fonts) +``` + +#### Progressive Disclosure + +Skills use a three-level loading system: +1. **Metadata** (name + description) - Always in context (~100 words) +2. **SKILL.md body** - In context whenever skill triggers (<500 lines ideal) +3. **Bundled resources** - As needed (unlimited, scripts can execute without loading) + +These word counts are approximate and you can feel free to go longer if needed. + +**Key patterns:** +- Keep SKILL.md under 500 lines; if you're approaching this limit, add an additional layer of hierarchy along with clear pointers about where the model using the skill should go next to follow up. +- Reference files clearly from SKILL.md with guidance on when to read them +- For large reference files (>300 lines), include a table of contents + +**Domain organization**: When a skill supports multiple domains/frameworks, organize by variant: +``` +cloud-deploy/ +├── SKILL.md (workflow + selection) +└── references/ + ├── aws.md + ├── gcp.md + └── azure.md +``` +GLM reads only the relevant reference file. + +#### Principle of Lack of Surprise + +This goes without saying, but skills must not contain malware, exploit code, or any content that could compromise system security. A skill's contents should not surprise the user in their intent if described. Don't go along with requests to create misleading skills or skills designed to facilitate unauthorized access, data exfiltration, or other malicious activities. Things like a "roleplay as an XYZ" are OK though. + +#### Writing Patterns + +Prefer using the imperative form in instructions. + +**Defining output formats** - You can do it like this: +```markdown +## Report structure +ALWAYS use this exact template: +# [Title] +## Executive summary +## Key findings +## Recommendations +``` + +**Examples pattern** - It's useful to include examples. You can format them like this (but if "Input" and "Output" are in the examples you might want to deviate a little): +```markdown +## Commit message format +**Example 1:** +Input: Added user authentication with JWT tokens +Output: feat(auth): implement JWT-based authentication +``` + +### Writing Style + +Try to explain to the model why things are important in lieu of heavy-handed musty MUSTs. Use theory of mind and try to make the skill general and not super-narrow to specific examples. Start by writing a draft and then look at it with fresh eyes and improve it. + +### Test Cases + +After writing the skill draft, come up with 2-3 realistic test prompts — the kind of thing a real user would actually say. Share them with the user: [you don't have to use this exact language] "Here are a few test cases I'd like to try. Do these look right, or do you want to add more?" Then run them. + +Save test cases to `evals/evals.json`. Don't write assertions yet — just the prompts. You'll draft assertions in the next step while the runs are in progress. + +```json +{ + "skill_name": "example-skill", + "evals": [ + { + "id": 1, + "prompt": "User's task prompt", + "expected_output": "Description of expected result", + "files": [] + } + ] +} +``` + +See `references/schemas.md` for the full schema (including the `assertions` field, which you'll add later). + +## Running and evaluating test cases + +This section is one continuous sequence — don't stop partway through. Do NOT use `/skill-test` or any other testing skill. + +Put results in `-workspace/` as a sibling to the skill directory. Within the workspace, organize results by iteration (`iteration-1/`, `iteration-2/`, etc.) and within that, each test case gets a directory (`eval-0/`, `eval-1/`, etc.). Don't create all of this upfront — just create directories as you go. + +### Step 1: Spawn all runs (with-skill AND baseline) in the same turn + +For each test case, spawn two subagents in the same turn — one with the skill, one without. This is important: don't spawn the with-skill runs first and then come back for baselines later. Launch everything at once so it all finishes around the same time. + +**With-skill run:** + +``` +Execute this task: +- Skill path: +- Task: +- Input files: +- Save outputs to: /iteration-/eval-/with_skill/outputs/ +- Outputs to save: +``` + +**Baseline run** (same prompt, but the baseline depends on context): +- **Creating a new skill**: no skill at all. Same prompt, no skill path, save to `without_skill/outputs/`. +- **Improving an existing skill**: the old version. Before editing, snapshot the skill (`cp -r /skill-snapshot/`), then point the baseline subagent at the snapshot. Save to `old_skill/outputs/`. + +Write an `eval_metadata.json` for each test case (assertions can be empty for now). Give each eval a descriptive name based on what it's testing — not just "eval-0". Use this name for the directory too. If this iteration uses new or modified eval prompts, create these files for each new eval directory — don't assume they carry over from previous iterations. + +```json +{ + "eval_id": 0, + "eval_name": "descriptive-name-here", + "prompt": "The user's task prompt", + "assertions": [] +} +``` + +### Step 2: While runs are in progress, draft assertions + +Don't just wait for the runs to finish — you can use this time productively. Draft quantitative assertions for each test case and explain them to the user. If assertions already exist in `evals/evals.json`, review them and explain what they check. + +Good assertions are objectively verifiable and have descriptive names — they should read clearly in the benchmark viewer so someone glancing at the results immediately understands what each one checks. Subjective skills (writing style, design quality) are better evaluated qualitatively — don't force assertions onto things that need human judgment. + +Update the `eval_metadata.json` files and `evals/evals.json` with the assertions once drafted. Also explain to the user what they'll see in the viewer — both the qualitative outputs and the quantitative benchmark. + +### Step 3: As runs complete, capture timing data + +When each subagent task completes, you receive a notification containing `total_tokens` and `duration_ms`. Save this data immediately to `timing.json` in the run directory: + +```json +{ + "total_tokens": 84852, + "duration_ms": 23332, + "total_duration_seconds": 23.3 +} +``` + +This is the only opportunity to capture this data — it comes through the task notification and isn't persisted elsewhere. Process each notification as it arrives rather than trying to batch them. + +### Step 4: Grade, aggregate, and launch the viewer + +Once all runs are done: + +1. **Grade each run** — spawn a grader subagent (or grade inline) that reads `agents/grader.md` and evaluates each assertion against the outputs. Save results to `grading.json` in each run directory. The grading.json expectations array must use the fields `text`, `passed`, and `evidence` (not `name`/`met`/`details` or other variants) — the viewer depends on these exact field names. For assertions that can be checked programmatically, write and run a script rather than eyeballing it — scripts are faster, more reliable, and can be reused across iterations. + +2. **Aggregate into benchmark** — run the aggregation script from the skill-creator directory: + ```bash + python -m scripts.aggregate_benchmark /iteration-N --skill-name + ``` + This produces `benchmark.json` and `benchmark.md` with pass_rate, time, and tokens for each configuration, with mean ± stddev and the delta. If generating benchmark.json manually, see `references/schemas.md` for the exact schema the viewer expects. +Put each with_skill version before its baseline counterpart. + +3. **Do an analyst pass** — read the benchmark data and surface patterns the aggregate stats might hide. See `agents/analyzer.md` (the "Analyzing Benchmark Results" section) for what to look for — things like assertions that always pass regardless of skill (non-discriminating), high-variance evals (possibly flaky), and time/token tradeoffs. + +4. **Launch the viewer** with both qualitative outputs and quantitative data: + ```bash + nohup python /eval-viewer/generate_review.py \ + /iteration-N \ + --skill-name "my-skill" \ + --benchmark /iteration-N/benchmark.json \ + > /dev/null 2>&1 & + VIEWER_PID=$! + ``` + For iteration 2+, also pass `--previous-workspace /iteration-`. + + **Cowork / headless environments:** If `webbrowser.open()` is not available or the environment has no display, use `--static ` to write a standalone HTML file instead of starting a server. Feedback will be downloaded as a `feedback.json` file when the user clicks "Submit All Reviews". After download, copy `feedback.json` into the workspace directory for the next iteration to pick up. + +Note: please use generate_review.py to create the viewer; there's no need to write custom HTML. + +5. **Tell the user** something like: "I've opened the results in your browser. There are two tabs — 'Outputs' lets you click through each test case and leave feedback, 'Benchmark' shows the quantitative comparison. When you're done, come back here and let me know." + +### What the user sees in the viewer + +The "Outputs" tab shows one test case at a time: +- **Prompt**: the task that was given +- **Output**: the files the skill produced, rendered inline where possible +- **Previous Output** (iteration 2+): collapsed section showing last iteration's output +- **Formal Grades** (if grading was run): collapsed section showing assertion pass/fail +- **Feedback**: a textbox that auto-saves as they type +- **Previous Feedback** (iteration 2+): their comments from last time, shown below the textbox + +The "Benchmark" tab shows the stats summary: pass rates, timing, and token usage for each configuration, with per-eval breakdowns and analyst observations. + +Navigation is via prev/next buttons or arrow keys. When done, they click "Submit All Reviews" which saves all feedback to `feedback.json`. + +### Step 5: Read the feedback + +When the user tells you they're done, read `feedback.json`: + +```json +{ + "reviews": [ + {"run_id": "eval-0-with_skill", "feedback": "the chart is missing axis labels", "timestamp": "..."}, + {"run_id": "eval-1-with_skill", "feedback": "", "timestamp": "..."}, + {"run_id": "eval-2-with_skill", "feedback": "perfect, love this", "timestamp": "..."} + ], + "status": "complete" +} +``` + +Empty feedback means the user thought it was fine. Focus your improvements on the test cases where the user had specific complaints. + +Kill the viewer server when you're done with it: + +```bash +kill $VIEWER_PID 2>/dev/null +``` + +--- + +## Improving the skill + +This is the heart of the loop. You've run the test cases, the user has reviewed the results, and now you need to make the skill better based on their feedback. + +### How to think about improvements + +1. **Generalize from the feedback.** The big picture thing that's happening here is that we're trying to create skills that can be used a million times (maybe literally, maybe even more who knows) across many different prompts. Here you and the user are iterating on only a few examples over and over again because it helps move faster. The user knows these examples in and out and it's quick for them to assess new outputs. But if the skill you and the user are codeveloping works only for those examples, it's useless. Rather than put in fiddly overfitty changes, or oppressively constrictive MUSTs, if there's some stubborn issue, you might try branching out and using different metaphors, or recommending different patterns of working. It's relatively cheap to try and maybe you'll land on something great. + +2. **Keep the prompt lean.** Remove things that aren't pulling their weight. Make sure to read the transcripts, not just the final outputs — if it looks like the skill is making the model waste a bunch of time doing things that are unproductive, you can try getting rid of the parts of the skill that are making it do that and seeing what happens. + +3. **Explain the why.** Try hard to explain the **why** behind everything you're asking the model to do. Today's LLMs are *smart*. They have good theory of mind and when given a good harness can go beyond rote instructions and really make things happen. Even if the feedback from the user is terse or frustrated, try to actually understand the task and why the user is writing what they wrote, and what they actually wrote, and then transmit this understanding into the instructions. If you find yourself writing ALWAYS or NEVER in all caps, or using super rigid structures, that's a yellow flag — if possible, reframe and explain the reasoning so that the model understands why the thing you're asking for is important. That's a more humane, powerful, and effective approach. + +4. **Look for repeated work across test cases.** Read the transcripts from the test runs and notice if the subagents all independently wrote similar helper scripts or took the same multi-step approach to something. If all 3 test cases resulted in the subagent writing a `create_docx.py` or a `build_chart.py`, that's a strong signal the skill should bundle that script. Write it once, put it in `scripts/`, and tell the skill to use it. This saves every future invocation from reinventing the wheel. + +This task is pretty important (we are trying to create billions a year in economic value here!) and your thinking time is not the blocker; take your time and really mull things over. I'd suggest writing a draft revision and then looking at it anew and making improvements. Really do your best to get into the head of the user and understand what they want and need. + +### The iteration loop + +After improving the skill: + +1. Apply your improvements to the skill +2. Rerun all test cases into a new `iteration-/` directory, including baseline runs. If you're creating a new skill, the baseline is always `without_skill` (no skill) — that stays the same across iterations. If you're improving an existing skill, use your judgment on what makes sense as the baseline: the original version the user came in with, or the previous iteration. +3. Launch the reviewer with `--previous-workspace` pointing at the previous iteration +4. Wait for the user to review and tell you they're done +5. Read the new feedback, improve again, repeat + +Keep going until: +- The user says they're happy +- The feedback is all empty (everything looks good) +- You're not making meaningful progress + +--- + +## Advanced: Blind comparison + +For situations where you want a more rigorous comparison between two versions of a skill (e.g., the user asks "is the new version actually better?"), there's a blind comparison system. Read `agents/comparator.md` and `agents/analyzer.md` for the details. The basic idea is: give two outputs to an independent agent without telling it which is which, and let it judge quality. Then analyze why the winner won. + +This is optional, requires subagents, and most users won't need it. The human review loop is usually sufficient. + +--- + +## Description Optimization + +The description field in SKILL.md frontmatter is the primary mechanism that determines whether GLM invokes a skill. After creating or improving a skill, offer to optimize the description for better triggering accuracy. + +### Step 1: Generate trigger eval queries + +Create 20 eval queries — a mix of should-trigger and should-not-trigger. Save as JSON: + +```json +[ + {"query": "the user prompt", "should_trigger": true}, + {"query": "another prompt", "should_trigger": false} +] +``` + +The queries must be realistic and something a GLM Code or GLM.ai user would actually type. Not abstract requests, but requests that are concrete and specific and have a good amount of detail. For instance, file paths, personal context about the user's job or situation, column names and values, company names, URLs. A little bit of backstory. Some might be in lowercase or contain abbreviations or typos or casual speech. Use a mix of different lengths, and focus on edge cases rather than making them clear-cut (the user will get a chance to sign off on them). + +Bad: `"Format this data"`, `"Extract text from PDF"`, `"Create a chart"` + +Good: `"ok so my boss just sent me this xlsx file (its in my downloads, called something like 'Q4 sales final FINAL v2.xlsx') and she wants me to add a column that shows the profit margin as a percentage. The revenue is in column C and costs are in column D i think"` + +For the **should-trigger** queries (8-10), think about coverage. You want different phrasings of the same intent — some formal, some casual. Include cases where the user doesn't explicitly name the skill or file type but clearly needs it. Throw in some uncommon use cases and cases where this skill competes with another but should win. + +For the **should-not-trigger** queries (8-10), the most valuable ones are the near-misses — queries that share keywords or concepts with the skill but actually need something different. Think adjacent domains, ambiguous phrasing where a naive keyword match would trigger but shouldn't, and cases where the query touches on something the skill does but in a context where another tool is more appropriate. + +The key thing to avoid: don't make should-not-trigger queries obviously irrelevant. "Write a fibonacci function" as a negative test for a PDF skill is too easy — it doesn't test anything. The negative cases should be genuinely tricky. + +### Step 2: Review with user + +Present the eval set to the user for review using the HTML template: + +1. Read the template from `assets/eval_review.html` +2. Replace the placeholders: + - `__EVAL_DATA_PLACEHOLDER__` → the JSON array of eval items (no quotes around it — it's a JS variable assignment) + - `__SKILL_NAME_PLACEHOLDER__` → the skill's name + - `__SKILL_DESCRIPTION_PLACEHOLDER__` → the skill's current description +3. Write to a temp file (e.g., `/tmp/eval_review_.html`) and open it: `open /tmp/eval_review_.html` +4. The user can edit queries, toggle should-trigger, add/remove entries, then click "Export Eval Set" +5. The file downloads to `~/Downloads/eval_set.json` — check the Downloads folder for the most recent version in case there are multiple (e.g., `eval_set (1).json`) + +This step matters — bad eval queries lead to bad descriptions. + +### Step 3: Run the optimization loop + +Tell the user: "This will take some time — I'll run the optimization loop in the background and check on it periodically." + +Save the eval set to the workspace, then run in the background: + +```bash +python -m scripts.run_loop \ + --eval-set \ + --skill-path \ + --model \ + --max-iterations 5 \ + --verbose +``` + +Use the model ID from your system prompt (the one powering the current session) so the triggering test matches what the user actually experiences. + +While it runs, periodically tail the output to give the user updates on which iteration it's on and what the scores look like. + +This handles the full optimization loop automatically. It splits the eval set into 60% train and 40% held-out test, evaluates the current description (running each query 3 times to get a reliable trigger rate), then calls GLM to propose improvements based on what failed. It re-evaluates each new description on both train and test, iterating up to 5 times. When it's done, it opens an HTML report in the browser showing the results per iteration and returns JSON with `best_description` — selected by test score rather than train score to avoid overfitting. + +### How skill triggering works + +Understanding the triggering mechanism helps design better eval queries. Skills appear in GLM's `available_skills` list with their name + description, and GLM decides whether to consult a skill based on that description. The important thing to know is that GLM only consults skills for tasks it can't easily handle on its own — simple, one-step queries like "read this PDF" may not trigger a skill even if the description matches perfectly, because GLM can handle them directly with basic tools. Complex, multi-step, or specialized queries reliably trigger skills when the description matches. + +This means your eval queries should be substantive enough that GLM would actually benefit from consulting a skill. Simple queries like "read file X" are poor test cases — they won't trigger skills regardless of description quality. + +### Step 4: Apply the result + +Take `best_description` from the JSON output and update the skill's SKILL.md frontmatter. Show the user before/after and report the scores. + +--- + +### Package and Present (only if `present_files` tool is available) + +Check whether you have access to the `present_files` tool. If you don't, skip this step. If you do, package the skill and present the .skill file to the user: + +```bash +python -m scripts.package_skill +``` + +After packaging, direct the user to the resulting `.skill` file path so they can install it. + +--- + +## GLM.ai-specific instructions + +In GLM.ai, the core workflow is the same (draft → test → review → improve → repeat), but because GLM.ai doesn't have subagents, some mechanics change. Here's what to adapt: + +**Running test cases**: No subagents means no parallel execution. For each test case, read the skill's SKILL.md, then follow its instructions to accomplish the test prompt yourself. Do them one at a time. This is less rigorous than independent subagents (you wrote the skill and you're also running it, so you have full context), but it's a useful sanity check — and the human review step compensates. Skip the baseline runs — just use the skill to complete the task as requested. + +**Reviewing results**: If you can't open a browser (e.g., GLM.ai's VM has no display, or you're on a remote server), skip the browser reviewer entirely. Instead, present results directly in the conversation. For each test case, show the prompt and the output. If the output is a file the user needs to see (like a .docx or .xlsx), save it to the filesystem and tell them where it is so they can download and inspect it. Ask for feedback inline: "How does this look? Anything you'd change?" + +**Benchmarking**: Skip the quantitative benchmarking — it relies on baseline comparisons which aren't meaningful without subagents. Focus on qualitative feedback from the user. + +**The iteration loop**: Same as before — improve the skill, rerun the test cases, ask for feedback — just without the browser reviewer in the middle. You can still organize results into iteration directories on the filesystem if you have one. + +**Description optimization**: This section requires the `glm` CLI tool (specifically `glm -p`) which is only available in GLM Code. Skip it if you're on GLM.ai. + +**Blind comparison**: Requires subagents. Skip it. + +**Packaging**: The `package_skill.py` script works anywhere with Python and a filesystem. On GLM.ai, you can run it and the user can download the resulting `.skill` file. + +**Updating an existing skill**: The user might be asking you to update an existing skill, not create a new one. In this case: +- **Preserve the original name.** Note the skill's directory name and `name` frontmatter field -- use them unchanged. E.g., if the installed skill is `research-helper`, output `research-helper.skill` (not `research-helper-v2`). +- **Copy to a writeable location before editing.** The installed skill path may be read-only. Copy to `/tmp/skill-name/`, edit there, and package from the copy. +- **If packaging manually, stage in `/tmp/` first**, then copy to the output directory -- direct writes may fail due to permissions. + +--- + +## Cowork-Specific Instructions + +If you're in Cowork, the main things to know are: + +- You have subagents, so the main workflow (spawn test cases in parallel, run baselines, grade, etc.) all works. (However, if you run into severe problems with timeouts, it's OK to run the test prompts in series rather than parallel.) +- You don't have a browser or display, so when generating the eval viewer, use `--static ` to write a standalone HTML file instead of starting a server. Then proffer a link that the user can click to open the HTML in their browser. +- For whatever reason, the Cowork setup seems to disincline GLM from generating the eval viewer after running the tests, so just to reiterate: whether you're in Cowork or in GLM Code, after running tests, you should always generate the eval viewer for the human to look at examples before revising the skill yourself and trying to make corrections, using `generate_review.py` (not writing your own boutique html code). Sorry in advance but I'm gonna go all caps here: GENERATE THE EVAL VIEWER *BEFORE* evaluating inputs yourself. You want to get them in front of the human ASAP! +- Feedback works differently: since there's no running server, the viewer's "Submit All Reviews" button will download `feedback.json` as a file. You can then read it from there (you may have to request access first). +- Packaging works — `package_skill.py` just needs Python and a filesystem. +- Description optimization (`run_loop.py` / `run_eval.py`) should work in Cowork just fine since it uses `glm -p` via subprocess, not a browser, but please save it until you've fully finished making the skill and the user agrees it's in good shape. +- **Updating an existing skill**: The user might be asking you to update an existing skill, not create a new one. Follow the update guidance in the glm.ai section above. + +--- + +## Reference files + +The agents/ directory contains instructions for specialized subagents. Read them when you need to spawn the relevant subagent. + +- `agents/grader.md` — How to evaluate assertions against outputs +- `agents/comparator.md` — How to do blind A/B comparison between two outputs +- `agents/analyzer.md` — How to analyze why one version beat another + +The references/ directory has additional documentation: +- `references/schemas.md` — JSON structures for evals.json, grading.json, etc. + +--- + +Repeating one more time the core loop here for emphasis: + +- Figure out what the skill is about +- Draft or edit the skill +- Run glm-with-access-to-the-skill on test prompts +- With the user, evaluate the outputs: + - Create benchmark.json and run `eval-viewer/generate_review.py` to help the user review them + - Run quantitative evals +- Repeat until you and the user are satisfied +- Package the final skill and return it to the user. + +Please add steps to your TodoList, if you have such a thing, to make sure you don't forget. If you're in Cowork, please specifically put "Create evals JSON and run `eval-viewer/generate_review.py` so human can review test cases" in your TodoList to make sure it happens. + +Good luck! diff --git a/skills/skill-creator/agents/analyzer.md b/skills/skill-creator/agents/analyzer.md new file mode 100755 index 0000000..14e41d6 --- /dev/null +++ b/skills/skill-creator/agents/analyzer.md @@ -0,0 +1,274 @@ +# Post-hoc Analyzer Agent + +Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions. + +## Role + +After the blind comparator determines a winner, the Post-hoc Analyzer "unblids" the results by examining the skills and transcripts. The goal is to extract actionable insights: what made the winner better, and how can the loser be improved? + +## Inputs + +You receive these parameters in your prompt: + +- **winner**: "A" or "B" (from blind comparison) +- **winner_skill_path**: Path to the skill that produced the winning output +- **winner_transcript_path**: Path to the execution transcript for the winner +- **loser_skill_path**: Path to the skill that produced the losing output +- **loser_transcript_path**: Path to the execution transcript for the loser +- **comparison_result_path**: Path to the blind comparator's output JSON +- **output_path**: Where to save the analysis results + +## Process + +### Step 1: Read Comparison Result + +1. Read the blind comparator's output at comparison_result_path +2. Note the winning side (A or B), the reasoning, and any scores +3. Understand what the comparator valued in the winning output + +### Step 2: Read Both Skills + +1. Read the winner skill's SKILL.md and key referenced files +2. Read the loser skill's SKILL.md and key referenced files +3. Identify structural differences: + - Instructions clarity and specificity + - Script/tool usage patterns + - Example coverage + - Edge case handling + +### Step 3: Read Both Transcripts + +1. Read the winner's transcript +2. Read the loser's transcript +3. Compare execution patterns: + - How closely did each follow their skill's instructions? + - What tools were used differently? + - Where did the loser diverge from optimal behavior? + - Did either encounter errors or make recovery attempts? + +### Step 4: Analyze Instruction Following + +For each transcript, evaluate: +- Did the agent follow the skill's explicit instructions? +- Did the agent use the skill's provided tools/scripts? +- Were there missed opportunities to leverage skill content? +- Did the agent add unnecessary steps not in the skill? + +Score instruction following 1-10 and note specific issues. + +### Step 5: Identify Winner Strengths + +Determine what made the winner better: +- Clearer instructions that led to better behavior? +- Better scripts/tools that produced better output? +- More comprehensive examples that guided edge cases? +- Better error handling guidance? + +Be specific. Quote from skills/transcripts where relevant. + +### Step 6: Identify Loser Weaknesses + +Determine what held the loser back: +- Ambiguous instructions that led to suboptimal choices? +- Missing tools/scripts that forced workarounds? +- Gaps in edge case coverage? +- Poor error handling that caused failures? + +### Step 7: Generate Improvement Suggestions + +Based on the analysis, produce actionable suggestions for improving the loser skill: +- Specific instruction changes to make +- Tools/scripts to add or modify +- Examples to include +- Edge cases to address + +Prioritize by impact. Focus on changes that would have changed the outcome. + +### Step 8: Write Analysis Results + +Save structured analysis to `{output_path}`. + +## Output Format + +Write a JSON file with this structure: + +```json +{ + "comparison_summary": { + "winner": "A", + "winner_skill": "path/to/winner/skill", + "loser_skill": "path/to/loser/skill", + "comparator_reasoning": "Brief summary of why comparator chose winner" + }, + "winner_strengths": [ + "Clear step-by-step instructions for handling multi-page documents", + "Included validation script that caught formatting errors", + "Explicit guidance on fallback behavior when OCR fails" + ], + "loser_weaknesses": [ + "Vague instruction 'process the document appropriately' led to inconsistent behavior", + "No script for validation, agent had to improvise and made errors", + "No guidance on OCR failure, agent gave up instead of trying alternatives" + ], + "instruction_following": { + "winner": { + "score": 9, + "issues": [ + "Minor: skipped optional logging step" + ] + }, + "loser": { + "score": 6, + "issues": [ + "Did not use the skill's formatting template", + "Invented own approach instead of following step 3", + "Missed the 'always validate output' instruction" + ] + } + }, + "improvement_suggestions": [ + { + "priority": "high", + "category": "instructions", + "suggestion": "Replace 'process the document appropriately' with explicit steps: 1) Extract text, 2) Identify sections, 3) Format per template", + "expected_impact": "Would eliminate ambiguity that caused inconsistent behavior" + }, + { + "priority": "high", + "category": "tools", + "suggestion": "Add validate_output.py script similar to winner skill's validation approach", + "expected_impact": "Would catch formatting errors before final output" + }, + { + "priority": "medium", + "category": "error_handling", + "suggestion": "Add fallback instructions: 'If OCR fails, try: 1) different resolution, 2) image preprocessing, 3) manual extraction'", + "expected_impact": "Would prevent early failure on difficult documents" + } + ], + "transcript_insights": { + "winner_execution_pattern": "Read skill -> Followed 5-step process -> Used validation script -> Fixed 2 issues -> Produced output", + "loser_execution_pattern": "Read skill -> Unclear on approach -> Tried 3 different methods -> No validation -> Output had errors" + } +} +``` + +## Guidelines + +- **Be specific**: Quote from skills and transcripts, don't just say "instructions were unclear" +- **Be actionable**: Suggestions should be concrete changes, not vague advice +- **Focus on skill improvements**: The goal is to improve the losing skill, not critique the agent +- **Prioritize by impact**: Which changes would most likely have changed the outcome? +- **Consider causation**: Did the skill weakness actually cause the worse output, or is it incidental? +- **Stay objective**: Analyze what happened, don't editorialize +- **Think about generalization**: Would this improvement help on other evals too? + +## Categories for Suggestions + +Use these categories to organize improvement suggestions: + +| Category | Description | +|----------|-------------| +| `instructions` | Changes to the skill's prose instructions | +| `tools` | Scripts, templates, or utilities to add/modify | +| `examples` | Example inputs/outputs to include | +| `error_handling` | Guidance for handling failures | +| `structure` | Reorganization of skill content | +| `references` | External docs or resources to add | + +## Priority Levels + +- **high**: Would likely change the outcome of this comparison +- **medium**: Would improve quality but may not change win/loss +- **low**: Nice to have, marginal improvement + +--- + +# Analyzing Benchmark Results + +When analyzing benchmark results, the analyzer's purpose is to **surface patterns and anomalies** across multiple runs, not suggest skill improvements. + +## Role + +Review all benchmark run results and generate freeform notes that help the user understand skill performance. Focus on patterns that wouldn't be visible from aggregate metrics alone. + +## Inputs + +You receive these parameters in your prompt: + +- **benchmark_data_path**: Path to the in-progress benchmark.json with all run results +- **skill_path**: Path to the skill being benchmarked +- **output_path**: Where to save the notes (as JSON array of strings) + +## Process + +### Step 1: Read Benchmark Data + +1. Read the benchmark.json containing all run results +2. Note the configurations tested (with_skill, without_skill) +3. Understand the run_summary aggregates already calculated + +### Step 2: Analyze Per-Assertion Patterns + +For each expectation across all runs: +- Does it **always pass** in both configurations? (may not differentiate skill value) +- Does it **always fail** in both configurations? (may be broken or beyond capability) +- Does it **always pass with skill but fail without**? (skill clearly adds value here) +- Does it **always fail with skill but pass without**? (skill may be hurting) +- Is it **highly variable**? (flaky expectation or non-deterministic behavior) + +### Step 3: Analyze Cross-Eval Patterns + +Look for patterns across evals: +- Are certain eval types consistently harder/easier? +- Do some evals show high variance while others are stable? +- Are there surprising results that contradict expectations? + +### Step 4: Analyze Metrics Patterns + +Look at time_seconds, tokens, tool_calls: +- Does the skill significantly increase execution time? +- Is there high variance in resource usage? +- Are there outlier runs that skew the aggregates? + +### Step 5: Generate Notes + +Write freeform observations as a list of strings. Each note should: +- State a specific observation +- Be grounded in the data (not speculation) +- Help the user understand something the aggregate metrics don't show + +Examples: +- "Assertion 'Output is a PDF file' passes 100% in both configurations - may not differentiate skill value" +- "Eval 3 shows high variance (50% ± 40%) - run 2 had an unusual failure that may be flaky" +- "Without-skill runs consistently fail on table extraction expectations (0% pass rate)" +- "Skill adds 13s average execution time but improves pass rate by 50%" +- "Token usage is 80% higher with skill, primarily due to script output parsing" +- "All 3 without-skill runs for eval 1 produced empty output" + +### Step 6: Write Notes + +Save notes to `{output_path}` as a JSON array of strings: + +```json +[ + "Assertion 'Output is a PDF file' passes 100% in both configurations - may not differentiate skill value", + "Eval 3 shows high variance (50% ± 40%) - run 2 had an unusual failure", + "Without-skill runs consistently fail on table extraction expectations", + "Skill adds 13s average execution time but improves pass rate by 50%" +] +``` + +## Guidelines + +**DO:** +- Report what you observe in the data +- Be specific about which evals, expectations, or runs you're referring to +- Note patterns that aggregate metrics would hide +- Provide context that helps interpret the numbers + +**DO NOT:** +- Suggest improvements to the skill (that's for the improvement step, not benchmarking) +- Make subjective quality judgments ("the output was good/bad") +- Speculate about causes without evidence +- Repeat information already in the run_summary aggregates diff --git a/skills/skill-creator/agents/comparator.md b/skills/skill-creator/agents/comparator.md new file mode 100755 index 0000000..80e00eb --- /dev/null +++ b/skills/skill-creator/agents/comparator.md @@ -0,0 +1,202 @@ +# Blind Comparator Agent + +Compare two outputs WITHOUT knowing which skill produced them. + +## Role + +The Blind Comparator judges which output better accomplishes the eval task. You receive two outputs labeled A and B, but you do NOT know which skill produced which. This prevents bias toward a particular skill or approach. + +Your judgment is based purely on output quality and task completion. + +## Inputs + +You receive these parameters in your prompt: + +- **output_a_path**: Path to the first output file or directory +- **output_b_path**: Path to the second output file or directory +- **eval_prompt**: The original task/prompt that was executed +- **expectations**: List of expectations to check (optional - may be empty) + +## Process + +### Step 1: Read Both Outputs + +1. Examine output A (file or directory) +2. Examine output B (file or directory) +3. Note the type, structure, and content of each +4. If outputs are directories, examine all relevant files inside + +### Step 2: Understand the Task + +1. Read the eval_prompt carefully +2. Identify what the task requires: + - What should be produced? + - What qualities matter (accuracy, completeness, format)? + - What would distinguish a good output from a poor one? + +### Step 3: Generate Evaluation Rubric + +Based on the task, generate a rubric with two dimensions: + +**Content Rubric** (what the output contains): +| Criterion | 1 (Poor) | 3 (Acceptable) | 5 (Excellent) | +|-----------|----------|----------------|---------------| +| Correctness | Major errors | Minor errors | Fully correct | +| Completeness | Missing key elements | Mostly complete | All elements present | +| Accuracy | Significant inaccuracies | Minor inaccuracies | Accurate throughout | + +**Structure Rubric** (how the output is organized): +| Criterion | 1 (Poor) | 3 (Acceptable) | 5 (Excellent) | +|-----------|----------|----------------|---------------| +| Organization | Disorganized | Reasonably organized | Clear, logical structure | +| Formatting | Inconsistent/broken | Mostly consistent | Professional, polished | +| Usability | Difficult to use | Usable with effort | Easy to use | + +Adapt criteria to the specific task. For example: +- PDF form → "Field alignment", "Text readability", "Data placement" +- Document → "Section structure", "Heading hierarchy", "Paragraph flow" +- Data output → "Schema correctness", "Data types", "Completeness" + +### Step 4: Evaluate Each Output Against the Rubric + +For each output (A and B): + +1. **Score each criterion** on the rubric (1-5 scale) +2. **Calculate dimension totals**: Content score, Structure score +3. **Calculate overall score**: Average of dimension scores, scaled to 1-10 + +### Step 5: Check Assertions (if provided) + +If expectations are provided: + +1. Check each expectation against output A +2. Check each expectation against output B +3. Count pass rates for each output +4. Use expectation scores as secondary evidence (not the primary decision factor) + +### Step 6: Determine the Winner + +Compare A and B based on (in priority order): + +1. **Primary**: Overall rubric score (content + structure) +2. **Secondary**: Assertion pass rates (if applicable) +3. **Tiebreaker**: If truly equal, declare a TIE + +Be decisive - ties should be rare. One output is usually better, even if marginally. + +### Step 7: Write Comparison Results + +Save results to a JSON file at the path specified (or `comparison.json` if not specified). + +## Output Format + +Write a JSON file with this structure: + +```json +{ + "winner": "A", + "reasoning": "Output A provides a complete solution with proper formatting and all required fields. Output B is missing the date field and has formatting inconsistencies.", + "rubric": { + "A": { + "content": { + "correctness": 5, + "completeness": 5, + "accuracy": 4 + }, + "structure": { + "organization": 4, + "formatting": 5, + "usability": 4 + }, + "content_score": 4.7, + "structure_score": 4.3, + "overall_score": 9.0 + }, + "B": { + "content": { + "correctness": 3, + "completeness": 2, + "accuracy": 3 + }, + "structure": { + "organization": 3, + "formatting": 2, + "usability": 3 + }, + "content_score": 2.7, + "structure_score": 2.7, + "overall_score": 5.4 + } + }, + "output_quality": { + "A": { + "score": 9, + "strengths": ["Complete solution", "Well-formatted", "All fields present"], + "weaknesses": ["Minor style inconsistency in header"] + }, + "B": { + "score": 5, + "strengths": ["Readable output", "Correct basic structure"], + "weaknesses": ["Missing date field", "Formatting inconsistencies", "Partial data extraction"] + } + }, + "expectation_results": { + "A": { + "passed": 4, + "total": 5, + "pass_rate": 0.80, + "details": [ + {"text": "Output includes name", "passed": true}, + {"text": "Output includes date", "passed": true}, + {"text": "Format is PDF", "passed": true}, + {"text": "Contains signature", "passed": false}, + {"text": "Readable text", "passed": true} + ] + }, + "B": { + "passed": 3, + "total": 5, + "pass_rate": 0.60, + "details": [ + {"text": "Output includes name", "passed": true}, + {"text": "Output includes date", "passed": false}, + {"text": "Format is PDF", "passed": true}, + {"text": "Contains signature", "passed": false}, + {"text": "Readable text", "passed": true} + ] + } + } +} +``` + +If no expectations were provided, omit the `expectation_results` field entirely. + +## Field Descriptions + +- **winner**: "A", "B", or "TIE" +- **reasoning**: Clear explanation of why the winner was chosen (or why it's a tie) +- **rubric**: Structured rubric evaluation for each output + - **content**: Scores for content criteria (correctness, completeness, accuracy) + - **structure**: Scores for structure criteria (organization, formatting, usability) + - **content_score**: Average of content criteria (1-5) + - **structure_score**: Average of structure criteria (1-5) + - **overall_score**: Combined score scaled to 1-10 +- **output_quality**: Summary quality assessment + - **score**: 1-10 rating (should match rubric overall_score) + - **strengths**: List of positive aspects + - **weaknesses**: List of issues or shortcomings +- **expectation_results**: (Only if expectations provided) + - **passed**: Number of expectations that passed + - **total**: Total number of expectations + - **pass_rate**: Fraction passed (0.0 to 1.0) + - **details**: Individual expectation results + +## Guidelines + +- **Stay blind**: DO NOT try to infer which skill produced which output. Judge purely on output quality. +- **Be specific**: Cite specific examples when explaining strengths and weaknesses. +- **Be decisive**: Choose a winner unless outputs are genuinely equivalent. +- **Output quality first**: Assertion scores are secondary to overall task completion. +- **Be objective**: Don't favor outputs based on style preferences; focus on correctness and completeness. +- **Explain your reasoning**: The reasoning field should make it clear why you chose the winner. +- **Handle edge cases**: If both outputs fail, pick the one that fails less badly. If both are excellent, pick the one that's marginally better. diff --git a/skills/skill-creator/agents/grader.md b/skills/skill-creator/agents/grader.md new file mode 100755 index 0000000..558ab05 --- /dev/null +++ b/skills/skill-creator/agents/grader.md @@ -0,0 +1,223 @@ +# Grader Agent + +Evaluate expectations against an execution transcript and outputs. + +## Role + +The Grader reviews a transcript and output files, then determines whether each expectation passes or fails. Provide clear evidence for each judgment. + +You have two jobs: grade the outputs, and critique the evals themselves. A passing grade on a weak assertion is worse than useless — it creates false confidence. When you notice an assertion that's trivially satisfied, or an important outcome that no assertion checks, say so. + +## Inputs + +You receive these parameters in your prompt: + +- **expectations**: List of expectations to evaluate (strings) +- **transcript_path**: Path to the execution transcript (markdown file) +- **outputs_dir**: Directory containing output files from execution + +## Process + +### Step 1: Read the Transcript + +1. Read the transcript file completely +2. Note the eval prompt, execution steps, and final result +3. Identify any issues or errors documented + +### Step 2: Examine Output Files + +1. List files in outputs_dir +2. Read/examine each file relevant to the expectations. If outputs aren't plain text, use the inspection tools provided in your prompt — don't rely solely on what the transcript says the executor produced. +3. Note contents, structure, and quality + +### Step 3: Evaluate Each Assertion + +For each expectation: + +1. **Search for evidence** in the transcript and outputs +2. **Determine verdict**: + - **PASS**: Clear evidence the expectation is true AND the evidence reflects genuine task completion, not just surface-level compliance + - **FAIL**: No evidence, or evidence contradicts the expectation, or the evidence is superficial (e.g., correct filename but empty/wrong content) +3. **Cite the evidence**: Quote the specific text or describe what you found + +### Step 4: Extract and Verify Claims + +Beyond the predefined expectations, extract implicit claims from the outputs and verify them: + +1. **Extract claims** from the transcript and outputs: + - Factual statements ("The form has 12 fields") + - Process claims ("Used pypdf to fill the form") + - Quality claims ("All fields were filled correctly") + +2. **Verify each claim**: + - **Factual claims**: Can be checked against the outputs or external sources + - **Process claims**: Can be verified from the transcript + - **Quality claims**: Evaluate whether the claim is justified + +3. **Flag unverifiable claims**: Note claims that cannot be verified with available information + +This catches issues that predefined expectations might miss. + +### Step 5: Read User Notes + +If `{outputs_dir}/user_notes.md` exists: +1. Read it and note any uncertainties or issues flagged by the executor +2. Include relevant concerns in the grading output +3. These may reveal problems even when expectations pass + +### Step 6: Critique the Evals + +After grading, consider whether the evals themselves could be improved. Only surface suggestions when there's a clear gap. + +Good suggestions test meaningful outcomes — assertions that are hard to satisfy without actually doing the work correctly. Think about what makes an assertion *discriminating*: it passes when the skill genuinely succeeds and fails when it doesn't. + +Suggestions worth raising: +- An assertion that passed but would also pass for a clearly wrong output (e.g., checking filename existence but not file content) +- An important outcome you observed — good or bad — that no assertion covers at all +- An assertion that can't actually be verified from the available outputs + +Keep the bar high. The goal is to flag things the eval author would say "good catch" about, not to nitpick every assertion. + +### Step 7: Write Grading Results + +Save results to `{outputs_dir}/../grading.json` (sibling to outputs_dir). + +## Grading Criteria + +**PASS when**: +- The transcript or outputs clearly demonstrate the expectation is true +- Specific evidence can be cited +- The evidence reflects genuine substance, not just surface compliance (e.g., a file exists AND contains correct content, not just the right filename) + +**FAIL when**: +- No evidence found for the expectation +- Evidence contradicts the expectation +- The expectation cannot be verified from available information +- The evidence is superficial — the assertion is technically satisfied but the underlying task outcome is wrong or incomplete +- The output appears to meet the assertion by coincidence rather than by actually doing the work + +**When uncertain**: The burden of proof to pass is on the expectation. + +### Step 8: Read Executor Metrics and Timing + +1. If `{outputs_dir}/metrics.json` exists, read it and include in grading output +2. If `{outputs_dir}/../timing.json` exists, read it and include timing data + +## Output Format + +Write a JSON file with this structure: + +```json +{ + "expectations": [ + { + "text": "The output includes the name 'John Smith'", + "passed": true, + "evidence": "Found in transcript Step 3: 'Extracted names: John Smith, Sarah Johnson'" + }, + { + "text": "The spreadsheet has a SUM formula in cell B10", + "passed": false, + "evidence": "No spreadsheet was created. The output was a text file." + }, + { + "text": "The assistant used the skill's OCR script", + "passed": true, + "evidence": "Transcript Step 2 shows: 'Tool: Bash - python ocr_script.py image.png'" + } + ], + "summary": { + "passed": 2, + "failed": 1, + "total": 3, + "pass_rate": 0.67 + }, + "execution_metrics": { + "tool_calls": { + "Read": 5, + "Write": 2, + "Bash": 8 + }, + "total_tool_calls": 15, + "total_steps": 6, + "errors_encountered": 0, + "output_chars": 12450, + "transcript_chars": 3200 + }, + "timing": { + "executor_duration_seconds": 165.0, + "grader_duration_seconds": 26.0, + "total_duration_seconds": 191.0 + }, + "claims": [ + { + "claim": "The form has 12 fillable fields", + "type": "factual", + "verified": true, + "evidence": "Counted 12 fields in field_info.json" + }, + { + "claim": "All required fields were populated", + "type": "quality", + "verified": false, + "evidence": "Reference section was left blank despite data being available" + } + ], + "user_notes_summary": { + "uncertainties": ["Used 2023 data, may be stale"], + "needs_review": [], + "workarounds": ["Fell back to text overlay for non-fillable fields"] + }, + "eval_feedback": { + "suggestions": [ + { + "assertion": "The output includes the name 'John Smith'", + "reason": "A hallucinated document that mentions the name would also pass — consider checking it appears as the primary contact with matching phone and email from the input" + }, + { + "reason": "No assertion checks whether the extracted phone numbers match the input — I observed incorrect numbers in the output that went uncaught" + } + ], + "overall": "Assertions check presence but not correctness. Consider adding content verification." + } +} +``` + +## Field Descriptions + +- **expectations**: Array of graded expectations + - **text**: The original expectation text + - **passed**: Boolean - true if expectation passes + - **evidence**: Specific quote or description supporting the verdict +- **summary**: Aggregate statistics + - **passed**: Count of passed expectations + - **failed**: Count of failed expectations + - **total**: Total expectations evaluated + - **pass_rate**: Fraction passed (0.0 to 1.0) +- **execution_metrics**: Copied from executor's metrics.json (if available) + - **output_chars**: Total character count of output files (proxy for tokens) + - **transcript_chars**: Character count of transcript +- **timing**: Wall clock timing from timing.json (if available) + - **executor_duration_seconds**: Time spent in executor subagent + - **total_duration_seconds**: Total elapsed time for the run +- **claims**: Extracted and verified claims from the output + - **claim**: The statement being verified + - **type**: "factual", "process", or "quality" + - **verified**: Boolean - whether the claim holds + - **evidence**: Supporting or contradicting evidence +- **user_notes_summary**: Issues flagged by the executor + - **uncertainties**: Things the executor wasn't sure about + - **needs_review**: Items requiring human attention + - **workarounds**: Places where the skill didn't work as expected +- **eval_feedback**: Improvement suggestions for the evals (only when warranted) + - **suggestions**: List of concrete suggestions, each with a `reason` and optionally an `assertion` it relates to + - **overall**: Brief assessment — can be "No suggestions, evals look solid" if nothing to flag + +## Guidelines + +- **Be objective**: Base verdicts on evidence, not assumptions +- **Be specific**: Quote the exact text that supports your verdict +- **Be thorough**: Check both transcript and output files +- **Be consistent**: Apply the same standard to each expectation +- **Explain failures**: Make it clear why evidence was insufficient +- **No partial credit**: Each expectation is pass or fail, not partial diff --git a/skills/skill-creator/assets/eval_review.html b/skills/skill-creator/assets/eval_review.html new file mode 100755 index 0000000..938ff32 --- /dev/null +++ b/skills/skill-creator/assets/eval_review.html @@ -0,0 +1,146 @@ + + + + + + Eval Set Review - __SKILL_NAME_PLACEHOLDER__ + + + + + + +

Eval Set Review: __SKILL_NAME_PLACEHOLDER__

+

Current description: __SKILL_DESCRIPTION_PLACEHOLDER__

+ +
+ + +
+ + + + + + + + + + +
QueryShould TriggerActions
+ +

+ + + + diff --git a/skills/skill-creator/eval-viewer/generate_review.py b/skills/skill-creator/eval-viewer/generate_review.py new file mode 100755 index 0000000..7fa5978 --- /dev/null +++ b/skills/skill-creator/eval-viewer/generate_review.py @@ -0,0 +1,471 @@ +#!/usr/bin/env python3 +"""Generate and serve a review page for eval results. + +Reads the workspace directory, discovers runs (directories with outputs/), +embeds all output data into a self-contained HTML page, and serves it via +a tiny HTTP server. Feedback auto-saves to feedback.json in the workspace. + +Usage: + python generate_review.py [--port PORT] [--skill-name NAME] + python generate_review.py --previous-feedback /path/to/old/feedback.json + +No dependencies beyond the Python stdlib are required. +""" + +import argparse +import base64 +import json +import mimetypes +import os +import re +import signal +import subprocess +import sys +import time +import webbrowser +from functools import partial +from http.server import HTTPServer, BaseHTTPRequestHandler +from pathlib import Path + +# Files to exclude from output listings +METADATA_FILES = {"transcript.md", "user_notes.md", "metrics.json"} + +# Extensions we render as inline text +TEXT_EXTENSIONS = { + ".txt", ".md", ".json", ".csv", ".py", ".js", ".ts", ".tsx", ".jsx", + ".yaml", ".yml", ".xml", ".html", ".css", ".sh", ".rb", ".go", ".rs", + ".java", ".c", ".cpp", ".h", ".hpp", ".sql", ".r", ".toml", +} + +# Extensions we render as inline images +IMAGE_EXTENSIONS = {".png", ".jpg", ".jpeg", ".gif", ".svg", ".webp"} + +# MIME type overrides for common types +MIME_OVERRIDES = { + ".svg": "image/svg+xml", + ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation", +} + + +def get_mime_type(path: Path) -> str: + ext = path.suffix.lower() + if ext in MIME_OVERRIDES: + return MIME_OVERRIDES[ext] + mime, _ = mimetypes.guess_type(str(path)) + return mime or "application/octet-stream" + + +def find_runs(workspace: Path) -> list[dict]: + """Recursively find directories that contain an outputs/ subdirectory.""" + runs: list[dict] = [] + _find_runs_recursive(workspace, workspace, runs) + runs.sort(key=lambda r: (r.get("eval_id", float("inf")), r["id"])) + return runs + + +def _find_runs_recursive(root: Path, current: Path, runs: list[dict]) -> None: + if not current.is_dir(): + return + + outputs_dir = current / "outputs" + if outputs_dir.is_dir(): + run = build_run(root, current) + if run: + runs.append(run) + return + + skip = {"node_modules", ".git", "__pycache__", "skill", "inputs"} + for child in sorted(current.iterdir()): + if child.is_dir() and child.name not in skip: + _find_runs_recursive(root, child, runs) + + +def build_run(root: Path, run_dir: Path) -> dict | None: + """Build a run dict with prompt, outputs, and grading data.""" + prompt = "" + eval_id = None + + # Try eval_metadata.json + for candidate in [run_dir / "eval_metadata.json", run_dir.parent / "eval_metadata.json"]: + if candidate.exists(): + try: + metadata = json.loads(candidate.read_text()) + prompt = metadata.get("prompt", "") + eval_id = metadata.get("eval_id") + except (json.JSONDecodeError, OSError): + pass + if prompt: + break + + # Fall back to transcript.md + if not prompt: + for candidate in [run_dir / "transcript.md", run_dir / "outputs" / "transcript.md"]: + if candidate.exists(): + try: + text = candidate.read_text() + match = re.search(r"## Eval Prompt\n\n([\s\S]*?)(?=\n##|$)", text) + if match: + prompt = match.group(1).strip() + except OSError: + pass + if prompt: + break + + if not prompt: + prompt = "(No prompt found)" + + run_id = str(run_dir.relative_to(root)).replace("/", "-").replace("\\", "-") + + # Collect output files + outputs_dir = run_dir / "outputs" + output_files: list[dict] = [] + if outputs_dir.is_dir(): + for f in sorted(outputs_dir.iterdir()): + if f.is_file() and f.name not in METADATA_FILES: + output_files.append(embed_file(f)) + + # Load grading if present + grading = None + for candidate in [run_dir / "grading.json", run_dir.parent / "grading.json"]: + if candidate.exists(): + try: + grading = json.loads(candidate.read_text()) + except (json.JSONDecodeError, OSError): + pass + if grading: + break + + return { + "id": run_id, + "prompt": prompt, + "eval_id": eval_id, + "outputs": output_files, + "grading": grading, + } + + +def embed_file(path: Path) -> dict: + """Read a file and return an embedded representation.""" + ext = path.suffix.lower() + mime = get_mime_type(path) + + if ext in TEXT_EXTENSIONS: + try: + content = path.read_text(errors="replace") + except OSError: + content = "(Error reading file)" + return { + "name": path.name, + "type": "text", + "content": content, + } + elif ext in IMAGE_EXTENSIONS: + try: + raw = path.read_bytes() + b64 = base64.b64encode(raw).decode("ascii") + except OSError: + return {"name": path.name, "type": "error", "content": "(Error reading file)"} + return { + "name": path.name, + "type": "image", + "mime": mime, + "data_uri": f"data:{mime};base64,{b64}", + } + elif ext == ".pdf": + try: + raw = path.read_bytes() + b64 = base64.b64encode(raw).decode("ascii") + except OSError: + return {"name": path.name, "type": "error", "content": "(Error reading file)"} + return { + "name": path.name, + "type": "pdf", + "data_uri": f"data:{mime};base64,{b64}", + } + elif ext == ".xlsx": + try: + raw = path.read_bytes() + b64 = base64.b64encode(raw).decode("ascii") + except OSError: + return {"name": path.name, "type": "error", "content": "(Error reading file)"} + return { + "name": path.name, + "type": "xlsx", + "data_b64": b64, + } + else: + # Binary / unknown — base64 download link + try: + raw = path.read_bytes() + b64 = base64.b64encode(raw).decode("ascii") + except OSError: + return {"name": path.name, "type": "error", "content": "(Error reading file)"} + return { + "name": path.name, + "type": "binary", + "mime": mime, + "data_uri": f"data:{mime};base64,{b64}", + } + + +def load_previous_iteration(workspace: Path) -> dict[str, dict]: + """Load previous iteration's feedback and outputs. + + Returns a map of run_id -> {"feedback": str, "outputs": list[dict]}. + """ + result: dict[str, dict] = {} + + # Load feedback + feedback_map: dict[str, str] = {} + feedback_path = workspace / "feedback.json" + if feedback_path.exists(): + try: + data = json.loads(feedback_path.read_text()) + feedback_map = { + r["run_id"]: r["feedback"] + for r in data.get("reviews", []) + if r.get("feedback", "").strip() + } + except (json.JSONDecodeError, OSError, KeyError): + pass + + # Load runs (to get outputs) + prev_runs = find_runs(workspace) + for run in prev_runs: + result[run["id"]] = { + "feedback": feedback_map.get(run["id"], ""), + "outputs": run.get("outputs", []), + } + + # Also add feedback for run_ids that had feedback but no matching run + for run_id, fb in feedback_map.items(): + if run_id not in result: + result[run_id] = {"feedback": fb, "outputs": []} + + return result + + +def generate_html( + runs: list[dict], + skill_name: str, + previous: dict[str, dict] | None = None, + benchmark: dict | None = None, +) -> str: + """Generate the complete standalone HTML page with embedded data.""" + template_path = Path(__file__).parent / "viewer.html" + template = template_path.read_text() + + # Build previous_feedback and previous_outputs maps for the template + previous_feedback: dict[str, str] = {} + previous_outputs: dict[str, list[dict]] = {} + if previous: + for run_id, data in previous.items(): + if data.get("feedback"): + previous_feedback[run_id] = data["feedback"] + if data.get("outputs"): + previous_outputs[run_id] = data["outputs"] + + embedded = { + "skill_name": skill_name, + "runs": runs, + "previous_feedback": previous_feedback, + "previous_outputs": previous_outputs, + } + if benchmark: + embedded["benchmark"] = benchmark + + data_json = json.dumps(embedded) + + return template.replace("/*__EMBEDDED_DATA__*/", f"const EMBEDDED_DATA = {data_json};") + + +# --------------------------------------------------------------------------- +# HTTP server (stdlib only, zero dependencies) +# --------------------------------------------------------------------------- + +def _kill_port(port: int) -> None: + """Kill any process listening on the given port.""" + try: + result = subprocess.run( + ["lsof", "-ti", f":{port}"], + capture_output=True, text=True, timeout=5, + ) + for pid_str in result.stdout.strip().split("\n"): + if pid_str.strip(): + try: + os.kill(int(pid_str.strip()), signal.SIGTERM) + except (ProcessLookupError, ValueError): + pass + if result.stdout.strip(): + time.sleep(0.5) + except subprocess.TimeoutExpired: + pass + except FileNotFoundError: + print("Note: lsof not found, cannot check if port is in use", file=sys.stderr) + +class ReviewHandler(BaseHTTPRequestHandler): + """Serves the review HTML and handles feedback saves. + + Regenerates the HTML on each page load so that refreshing the browser + picks up new eval outputs without restarting the server. + """ + + def __init__( + self, + workspace: Path, + skill_name: str, + feedback_path: Path, + previous: dict[str, dict], + benchmark_path: Path | None, + *args, + **kwargs, + ): + self.workspace = workspace + self.skill_name = skill_name + self.feedback_path = feedback_path + self.previous = previous + self.benchmark_path = benchmark_path + super().__init__(*args, **kwargs) + + def do_GET(self) -> None: + if self.path == "/" or self.path == "/index.html": + # Regenerate HTML on each request (re-scans workspace for new outputs) + runs = find_runs(self.workspace) + benchmark = None + if self.benchmark_path and self.benchmark_path.exists(): + try: + benchmark = json.loads(self.benchmark_path.read_text()) + except (json.JSONDecodeError, OSError): + pass + html = generate_html(runs, self.skill_name, self.previous, benchmark) + content = html.encode("utf-8") + self.send_response(200) + self.send_header("Content-Type", "text/html; charset=utf-8") + self.send_header("Content-Length", str(len(content))) + self.end_headers() + self.wfile.write(content) + elif self.path == "/api/feedback": + data = b"{}" + if self.feedback_path.exists(): + data = self.feedback_path.read_bytes() + self.send_response(200) + self.send_header("Content-Type", "application/json") + self.send_header("Content-Length", str(len(data))) + self.end_headers() + self.wfile.write(data) + else: + self.send_error(404) + + def do_POST(self) -> None: + if self.path == "/api/feedback": + length = int(self.headers.get("Content-Length", 0)) + body = self.rfile.read(length) + try: + data = json.loads(body) + if not isinstance(data, dict) or "reviews" not in data: + raise ValueError("Expected JSON object with 'reviews' key") + self.feedback_path.write_text(json.dumps(data, indent=2) + "\n") + resp = b'{"ok":true}' + self.send_response(200) + except (json.JSONDecodeError, OSError, ValueError) as e: + resp = json.dumps({"error": str(e)}).encode() + self.send_response(500) + self.send_header("Content-Type", "application/json") + self.send_header("Content-Length", str(len(resp))) + self.end_headers() + self.wfile.write(resp) + else: + self.send_error(404) + + def log_message(self, format: str, *args: object) -> None: + # Suppress request logging to keep terminal clean + pass + + +def main() -> None: + parser = argparse.ArgumentParser(description="Generate and serve eval review") + parser.add_argument("workspace", type=Path, help="Path to workspace directory") + parser.add_argument("--port", "-p", type=int, default=3117, help="Server port (default: 3117)") + parser.add_argument("--skill-name", "-n", type=str, default=None, help="Skill name for header") + parser.add_argument( + "--previous-workspace", type=Path, default=None, + help="Path to previous iteration's workspace (shows old outputs and feedback as context)", + ) + parser.add_argument( + "--benchmark", type=Path, default=None, + help="Path to benchmark.json to show in the Benchmark tab", + ) + parser.add_argument( + "--static", "-s", type=Path, default=None, + help="Write standalone HTML to this path instead of starting a server", + ) + args = parser.parse_args() + + workspace = args.workspace.resolve() + if not workspace.is_dir(): + print(f"Error: {workspace} is not a directory", file=sys.stderr) + sys.exit(1) + + runs = find_runs(workspace) + if not runs: + print(f"No runs found in {workspace}", file=sys.stderr) + sys.exit(1) + + skill_name = args.skill_name or workspace.name.replace("-workspace", "") + feedback_path = workspace / "feedback.json" + + previous: dict[str, dict] = {} + if args.previous_workspace: + previous = load_previous_iteration(args.previous_workspace.resolve()) + + benchmark_path = args.benchmark.resolve() if args.benchmark else None + benchmark = None + if benchmark_path and benchmark_path.exists(): + try: + benchmark = json.loads(benchmark_path.read_text()) + except (json.JSONDecodeError, OSError): + pass + + if args.static: + html = generate_html(runs, skill_name, previous, benchmark) + args.static.parent.mkdir(parents=True, exist_ok=True) + args.static.write_text(html) + print(f"\n Static viewer written to: {args.static}\n") + sys.exit(0) + + # Kill any existing process on the target port + port = args.port + _kill_port(port) + handler = partial(ReviewHandler, workspace, skill_name, feedback_path, previous, benchmark_path) + try: + server = HTTPServer(("127.0.0.1", port), handler) + except OSError: + # Port still in use after kill attempt — find a free one + server = HTTPServer(("127.0.0.1", 0), handler) + port = server.server_address[1] + + url = f"http://localhost:{port}" + print(f"\n Eval Viewer") + print(f" ─────────────────────────────────") + print(f" URL: {url}") + print(f" Workspace: {workspace}") + print(f" Feedback: {feedback_path}") + if previous: + print(f" Previous: {args.previous_workspace} ({len(previous)} runs)") + if benchmark_path: + print(f" Benchmark: {benchmark_path}") + print(f"\n Press Ctrl+C to stop.\n") + + webbrowser.open(url) + + try: + server.serve_forever() + except KeyboardInterrupt: + print("\nStopped.") + server.server_close() + + +if __name__ == "__main__": + main() diff --git a/skills/skill-creator/eval-viewer/viewer.html b/skills/skill-creator/eval-viewer/viewer.html new file mode 100755 index 0000000..246086f --- /dev/null +++ b/skills/skill-creator/eval-viewer/viewer.html @@ -0,0 +1,1325 @@ + + + + + + Eval Review + + + + + + + +
+
+
+

Eval Review:

+
Review each output and leave feedback below. Navigate with arrow keys or buttons. When done, copy feedback and paste into GLM Code.
+
+
+
+ + + + + +
+
+ +
+
Prompt
+
+
+
+
+ + +
+
Output
+
+
No output files found
+
+
+ + + + + + + + +
+
Your Feedback
+
+ + + +
+
+
+ + +
+ + +
+
+
No benchmark data available. Run a benchmark to see quantitative results here.
+
+
+
+ + +
+
+

Review Complete

+

Your feedback has been saved. Go back to your GLM Code session and tell GLM you're done reviewing.

+
+ +
+
+
+ + +
+ + + + diff --git a/skills/skill-creator/references/schemas.md b/skills/skill-creator/references/schemas.md new file mode 100755 index 0000000..c81589b --- /dev/null +++ b/skills/skill-creator/references/schemas.md @@ -0,0 +1,430 @@ +# JSON Schemas + +This document defines the JSON schemas used by skill-creator. + +--- + +## evals.json + +Defines the evals for a skill. Located at `evals/evals.json` within the skill directory. + +```json +{ + "skill_name": "example-skill", + "evals": [ + { + "id": 1, + "prompt": "User's example prompt", + "expected_output": "Description of expected result", + "files": ["evals/files/sample1.pdf"], + "expectations": [ + "The output includes X", + "The skill used script Y" + ] + } + ] +} +``` + +**Fields:** +- `skill_name`: Name matching the skill's frontmatter +- `evals[].id`: Unique integer identifier +- `evals[].prompt`: The task to execute +- `evals[].expected_output`: Human-readable description of success +- `evals[].files`: Optional list of input file paths (relative to skill root) +- `evals[].expectations`: List of verifiable statements + +--- + +## history.json + +Tracks version progression in Improve mode. Located at workspace root. + +```json +{ + "started_at": "2026-01-15T10:30:00Z", + "skill_name": "pdf", + "current_best": "v2", + "iterations": [ + { + "version": "v0", + "parent": null, + "expectation_pass_rate": 0.65, + "grading_result": "baseline", + "is_current_best": false + }, + { + "version": "v1", + "parent": "v0", + "expectation_pass_rate": 0.75, + "grading_result": "won", + "is_current_best": false + }, + { + "version": "v2", + "parent": "v1", + "expectation_pass_rate": 0.85, + "grading_result": "won", + "is_current_best": true + } + ] +} +``` + +**Fields:** +- `started_at`: ISO timestamp of when improvement started +- `skill_name`: Name of the skill being improved +- `current_best`: Version identifier of the best performer +- `iterations[].version`: Version identifier (v0, v1, ...) +- `iterations[].parent`: Parent version this was derived from +- `iterations[].expectation_pass_rate`: Pass rate from grading +- `iterations[].grading_result`: "baseline", "won", "lost", or "tie" +- `iterations[].is_current_best`: Whether this is the current best version + +--- + +## grading.json + +Output from the grader agent. Located at `/grading.json`. + +```json +{ + "expectations": [ + { + "text": "The output includes the name 'John Smith'", + "passed": true, + "evidence": "Found in transcript Step 3: 'Extracted names: John Smith, Sarah Johnson'" + }, + { + "text": "The spreadsheet has a SUM formula in cell B10", + "passed": false, + "evidence": "No spreadsheet was created. The output was a text file." + } + ], + "summary": { + "passed": 2, + "failed": 1, + "total": 3, + "pass_rate": 0.67 + }, + "execution_metrics": { + "tool_calls": { + "Read": 5, + "Write": 2, + "Bash": 8 + }, + "total_tool_calls": 15, + "total_steps": 6, + "errors_encountered": 0, + "output_chars": 12450, + "transcript_chars": 3200 + }, + "timing": { + "executor_duration_seconds": 165.0, + "grader_duration_seconds": 26.0, + "total_duration_seconds": 191.0 + }, + "claims": [ + { + "claim": "The form has 12 fillable fields", + "type": "factual", + "verified": true, + "evidence": "Counted 12 fields in field_info.json" + } + ], + "user_notes_summary": { + "uncertainties": ["Used 2023 data, may be stale"], + "needs_review": [], + "workarounds": ["Fell back to text overlay for non-fillable fields"] + }, + "eval_feedback": { + "suggestions": [ + { + "assertion": "The output includes the name 'John Smith'", + "reason": "A hallucinated document that mentions the name would also pass" + } + ], + "overall": "Assertions check presence but not correctness." + } +} +``` + +**Fields:** +- `expectations[]`: Graded expectations with evidence +- `summary`: Aggregate pass/fail counts +- `execution_metrics`: Tool usage and output size (from executor's metrics.json) +- `timing`: Wall clock timing (from timing.json) +- `claims`: Extracted and verified claims from the output +- `user_notes_summary`: Issues flagged by the executor +- `eval_feedback`: (optional) Improvement suggestions for the evals, only present when the grader identifies issues worth raising + +--- + +## metrics.json + +Output from the executor agent. Located at `/outputs/metrics.json`. + +```json +{ + "tool_calls": { + "Read": 5, + "Write": 2, + "Bash": 8, + "Edit": 1, + "Glob": 2, + "Grep": 0 + }, + "total_tool_calls": 18, + "total_steps": 6, + "files_created": ["filled_form.pdf", "field_values.json"], + "errors_encountered": 0, + "output_chars": 12450, + "transcript_chars": 3200 +} +``` + +**Fields:** +- `tool_calls`: Count per tool type +- `total_tool_calls`: Sum of all tool calls +- `total_steps`: Number of major execution steps +- `files_created`: List of output files created +- `errors_encountered`: Number of errors during execution +- `output_chars`: Total character count of output files +- `transcript_chars`: Character count of transcript + +--- + +## timing.json + +Wall clock timing for a run. Located at `/timing.json`. + +**How to capture:** When a subagent task completes, the task notification includes `total_tokens` and `duration_ms`. Save these immediately — they are not persisted anywhere else and cannot be recovered after the fact. + +```json +{ + "total_tokens": 84852, + "duration_ms": 23332, + "total_duration_seconds": 23.3, + "executor_start": "2026-01-15T10:30:00Z", + "executor_end": "2026-01-15T10:32:45Z", + "executor_duration_seconds": 165.0, + "grader_start": "2026-01-15T10:32:46Z", + "grader_end": "2026-01-15T10:33:12Z", + "grader_duration_seconds": 26.0 +} +``` + +--- + +## benchmark.json + +Output from Benchmark mode. Located at `benchmarks//benchmark.json`. + +```json +{ + "metadata": { + "skill_name": "pdf", + "skill_path": "/path/to/pdf", + "executor_model": "glm-4-plus", + "analyzer_model": "most-capable-model", + "timestamp": "2026-01-15T10:30:00Z", + "evals_run": [1, 2, 3], + "runs_per_configuration": 3 + }, + + "runs": [ + { + "eval_id": 1, + "eval_name": "Ocean", + "configuration": "with_skill", + "run_number": 1, + "result": { + "pass_rate": 0.85, + "passed": 6, + "failed": 1, + "total": 7, + "time_seconds": 42.5, + "tokens": 3800, + "tool_calls": 18, + "errors": 0 + }, + "expectations": [ + {"text": "...", "passed": true, "evidence": "..."} + ], + "notes": [ + "Used 2023 data, may be stale", + "Fell back to text overlay for non-fillable fields" + ] + } + ], + + "run_summary": { + "with_skill": { + "pass_rate": {"mean": 0.85, "stddev": 0.05, "min": 0.80, "max": 0.90}, + "time_seconds": {"mean": 45.0, "stddev": 12.0, "min": 32.0, "max": 58.0}, + "tokens": {"mean": 3800, "stddev": 400, "min": 3200, "max": 4100} + }, + "without_skill": { + "pass_rate": {"mean": 0.35, "stddev": 0.08, "min": 0.28, "max": 0.45}, + "time_seconds": {"mean": 32.0, "stddev": 8.0, "min": 24.0, "max": 42.0}, + "tokens": {"mean": 2100, "stddev": 300, "min": 1800, "max": 2500} + }, + "delta": { + "pass_rate": "+0.50", + "time_seconds": "+13.0", + "tokens": "+1700" + } + }, + + "notes": [ + "Assertion 'Output is a PDF file' passes 100% in both configurations - may not differentiate skill value", + "Eval 3 shows high variance (50% ± 40%) - may be flaky or model-dependent", + "Without-skill runs consistently fail on table extraction expectations", + "Skill adds 13s average execution time but improves pass rate by 50%" + ] +} +``` + +**Fields:** +- `metadata`: Information about the benchmark run + - `skill_name`: Name of the skill + - `timestamp`: When the benchmark was run + - `evals_run`: List of eval names or IDs + - `runs_per_configuration`: Number of runs per config (e.g. 3) +- `runs[]`: Individual run results + - `eval_id`: Numeric eval identifier + - `eval_name`: Human-readable eval name (used as section header in the viewer) + - `configuration`: Must be `"with_skill"` or `"without_skill"` (the viewer uses this exact string for grouping and color coding) + - `run_number`: Integer run number (1, 2, 3...) + - `result`: Nested object with `pass_rate`, `passed`, `total`, `time_seconds`, `tokens`, `errors` +- `run_summary`: Statistical aggregates per configuration + - `with_skill` / `without_skill`: Each contains `pass_rate`, `time_seconds`, `tokens` objects with `mean` and `stddev` fields + - `delta`: Difference strings like `"+0.50"`, `"+13.0"`, `"+1700"` +- `notes`: Freeform observations from the analyzer + +**Important:** The viewer reads these field names exactly. Using `config` instead of `configuration`, or putting `pass_rate` at the top level of a run instead of nested under `result`, will cause the viewer to show empty/zero values. Always reference this schema when generating benchmark.json manually. + +--- + +## comparison.json + +Output from blind comparator. Located at `/comparison-N.json`. + +```json +{ + "winner": "A", + "reasoning": "Output A provides a complete solution with proper formatting and all required fields. Output B is missing the date field and has formatting inconsistencies.", + "rubric": { + "A": { + "content": { + "correctness": 5, + "completeness": 5, + "accuracy": 4 + }, + "structure": { + "organization": 4, + "formatting": 5, + "usability": 4 + }, + "content_score": 4.7, + "structure_score": 4.3, + "overall_score": 9.0 + }, + "B": { + "content": { + "correctness": 3, + "completeness": 2, + "accuracy": 3 + }, + "structure": { + "organization": 3, + "formatting": 2, + "usability": 3 + }, + "content_score": 2.7, + "structure_score": 2.7, + "overall_score": 5.4 + } + }, + "output_quality": { + "A": { + "score": 9, + "strengths": ["Complete solution", "Well-formatted", "All fields present"], + "weaknesses": ["Minor style inconsistency in header"] + }, + "B": { + "score": 5, + "strengths": ["Readable output", "Correct basic structure"], + "weaknesses": ["Missing date field", "Formatting inconsistencies", "Partial data extraction"] + } + }, + "expectation_results": { + "A": { + "passed": 4, + "total": 5, + "pass_rate": 0.80, + "details": [ + {"text": "Output includes name", "passed": true} + ] + }, + "B": { + "passed": 3, + "total": 5, + "pass_rate": 0.60, + "details": [ + {"text": "Output includes name", "passed": true} + ] + } + } +} +``` + +--- + +## analysis.json + +Output from post-hoc analyzer. Located at `/analysis.json`. + +```json +{ + "comparison_summary": { + "winner": "A", + "winner_skill": "path/to/winner/skill", + "loser_skill": "path/to/loser/skill", + "comparator_reasoning": "Brief summary of why comparator chose winner" + }, + "winner_strengths": [ + "Clear step-by-step instructions for handling multi-page documents", + "Included validation script that caught formatting errors" + ], + "loser_weaknesses": [ + "Vague instruction 'process the document appropriately' led to inconsistent behavior", + "No script for validation, agent had to improvise" + ], + "instruction_following": { + "winner": { + "score": 9, + "issues": ["Minor: skipped optional logging step"] + }, + "loser": { + "score": 6, + "issues": [ + "Did not use the skill's formatting template", + "Invented own approach instead of following step 3" + ] + } + }, + "improvement_suggestions": [ + { + "priority": "high", + "category": "instructions", + "suggestion": "Replace 'process the document appropriately' with explicit steps", + "expected_impact": "Would eliminate ambiguity that caused inconsistent behavior" + } + ], + "transcript_insights": { + "winner_execution_pattern": "Read skill -> Followed 5-step process -> Used validation script", + "loser_execution_pattern": "Read skill -> Unclear on approach -> Tried 3 different methods" + } +} +``` diff --git a/skills/skill-creator/scripts/__init__.py b/skills/skill-creator/scripts/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/skills/skill-creator/scripts/aggregate_benchmark.py b/skills/skill-creator/scripts/aggregate_benchmark.py new file mode 100755 index 0000000..3e66e8c --- /dev/null +++ b/skills/skill-creator/scripts/aggregate_benchmark.py @@ -0,0 +1,401 @@ +#!/usr/bin/env python3 +""" +Aggregate individual run results into benchmark summary statistics. + +Reads grading.json files from run directories and produces: +- run_summary with mean, stddev, min, max for each metric +- delta between with_skill and without_skill configurations + +Usage: + python aggregate_benchmark.py + +Example: + python aggregate_benchmark.py benchmarks/2026-01-15T10-30-00/ + +The script supports two directory layouts: + + Workspace layout (from skill-creator iterations): + / + └── eval-N/ + ├── with_skill/ + │ ├── run-1/grading.json + │ └── run-2/grading.json + └── without_skill/ + ├── run-1/grading.json + └── run-2/grading.json + + Legacy layout (with runs/ subdirectory): + / + └── runs/ + └── eval-N/ + ├── with_skill/ + │ └── run-1/grading.json + └── without_skill/ + └── run-1/grading.json +""" + +import argparse +import json +import math +import sys +from datetime import datetime, timezone +from pathlib import Path + + +def calculate_stats(values: list[float]) -> dict: + """Calculate mean, stddev, min, max for a list of values.""" + if not values: + return {"mean": 0.0, "stddev": 0.0, "min": 0.0, "max": 0.0} + + n = len(values) + mean = sum(values) / n + + if n > 1: + variance = sum((x - mean) ** 2 for x in values) / (n - 1) + stddev = math.sqrt(variance) + else: + stddev = 0.0 + + return { + "mean": round(mean, 4), + "stddev": round(stddev, 4), + "min": round(min(values), 4), + "max": round(max(values), 4) + } + + +def load_run_results(benchmark_dir: Path) -> dict: + """ + Load all run results from a benchmark directory. + + Returns dict keyed by config name (e.g. "with_skill"/"without_skill", + or "new_skill"/"old_skill"), each containing a list of run results. + """ + # Support both layouts: eval dirs directly under benchmark_dir, or under runs/ + runs_dir = benchmark_dir / "runs" + if runs_dir.exists(): + search_dir = runs_dir + elif list(benchmark_dir.glob("eval-*")): + search_dir = benchmark_dir + else: + print(f"No eval directories found in {benchmark_dir} or {benchmark_dir / 'runs'}") + return {} + + results: dict[str, list] = {} + + for eval_idx, eval_dir in enumerate(sorted(search_dir.glob("eval-*"))): + metadata_path = eval_dir / "eval_metadata.json" + if metadata_path.exists(): + try: + with open(metadata_path) as mf: + eval_id = json.load(mf).get("eval_id", eval_idx) + except (json.JSONDecodeError, OSError): + eval_id = eval_idx + else: + try: + eval_id = int(eval_dir.name.split("-")[1]) + except ValueError: + eval_id = eval_idx + + # Discover config directories dynamically rather than hardcoding names + for config_dir in sorted(eval_dir.iterdir()): + if not config_dir.is_dir(): + continue + # Skip non-config directories (inputs, outputs, etc.) + if not list(config_dir.glob("run-*")): + continue + config = config_dir.name + if config not in results: + results[config] = [] + + for run_dir in sorted(config_dir.glob("run-*")): + run_number = int(run_dir.name.split("-")[1]) + grading_file = run_dir / "grading.json" + + if not grading_file.exists(): + print(f"Warning: grading.json not found in {run_dir}") + continue + + try: + with open(grading_file) as f: + grading = json.load(f) + except json.JSONDecodeError as e: + print(f"Warning: Invalid JSON in {grading_file}: {e}") + continue + + # Extract metrics + result = { + "eval_id": eval_id, + "run_number": run_number, + "pass_rate": grading.get("summary", {}).get("pass_rate", 0.0), + "passed": grading.get("summary", {}).get("passed", 0), + "failed": grading.get("summary", {}).get("failed", 0), + "total": grading.get("summary", {}).get("total", 0), + } + + # Extract timing — check grading.json first, then sibling timing.json + timing = grading.get("timing", {}) + result["time_seconds"] = timing.get("total_duration_seconds", 0.0) + timing_file = run_dir / "timing.json" + if result["time_seconds"] == 0.0 and timing_file.exists(): + try: + with open(timing_file) as tf: + timing_data = json.load(tf) + result["time_seconds"] = timing_data.get("total_duration_seconds", 0.0) + result["tokens"] = timing_data.get("total_tokens", 0) + except json.JSONDecodeError: + pass + + # Extract metrics if available + metrics = grading.get("execution_metrics", {}) + result["tool_calls"] = metrics.get("total_tool_calls", 0) + if not result.get("tokens"): + result["tokens"] = metrics.get("output_chars", 0) + result["errors"] = metrics.get("errors_encountered", 0) + + # Extract expectations — viewer requires fields: text, passed, evidence + raw_expectations = grading.get("expectations", []) + for exp in raw_expectations: + if "text" not in exp or "passed" not in exp: + print(f"Warning: expectation in {grading_file} missing required fields (text, passed, evidence): {exp}") + result["expectations"] = raw_expectations + + # Extract notes from user_notes_summary + notes_summary = grading.get("user_notes_summary", {}) + notes = [] + notes.extend(notes_summary.get("uncertainties", [])) + notes.extend(notes_summary.get("needs_review", [])) + notes.extend(notes_summary.get("workarounds", [])) + result["notes"] = notes + + results[config].append(result) + + return results + + +def aggregate_results(results: dict) -> dict: + """ + Aggregate run results into summary statistics. + + Returns run_summary with stats for each configuration and delta. + """ + run_summary = {} + configs = list(results.keys()) + + for config in configs: + runs = results.get(config, []) + + if not runs: + run_summary[config] = { + "pass_rate": {"mean": 0.0, "stddev": 0.0, "min": 0.0, "max": 0.0}, + "time_seconds": {"mean": 0.0, "stddev": 0.0, "min": 0.0, "max": 0.0}, + "tokens": {"mean": 0, "stddev": 0, "min": 0, "max": 0} + } + continue + + pass_rates = [r["pass_rate"] for r in runs] + times = [r["time_seconds"] for r in runs] + tokens = [r.get("tokens", 0) for r in runs] + + run_summary[config] = { + "pass_rate": calculate_stats(pass_rates), + "time_seconds": calculate_stats(times), + "tokens": calculate_stats(tokens) + } + + # Calculate delta between the first two configs (if two exist) + if len(configs) >= 2: + primary = run_summary.get(configs[0], {}) + baseline = run_summary.get(configs[1], {}) + else: + primary = run_summary.get(configs[0], {}) if configs else {} + baseline = {} + + delta_pass_rate = primary.get("pass_rate", {}).get("mean", 0) - baseline.get("pass_rate", {}).get("mean", 0) + delta_time = primary.get("time_seconds", {}).get("mean", 0) - baseline.get("time_seconds", {}).get("mean", 0) + delta_tokens = primary.get("tokens", {}).get("mean", 0) - baseline.get("tokens", {}).get("mean", 0) + + run_summary["delta"] = { + "pass_rate": f"{delta_pass_rate:+.2f}", + "time_seconds": f"{delta_time:+.1f}", + "tokens": f"{delta_tokens:+.0f}" + } + + return run_summary + + +def generate_benchmark(benchmark_dir: Path, skill_name: str = "", skill_path: str = "") -> dict: + """ + Generate complete benchmark.json from run results. + """ + results = load_run_results(benchmark_dir) + run_summary = aggregate_results(results) + + # Build runs array for benchmark.json + runs = [] + for config in results: + for result in results[config]: + runs.append({ + "eval_id": result["eval_id"], + "configuration": config, + "run_number": result["run_number"], + "result": { + "pass_rate": result["pass_rate"], + "passed": result["passed"], + "failed": result["failed"], + "total": result["total"], + "time_seconds": result["time_seconds"], + "tokens": result.get("tokens", 0), + "tool_calls": result.get("tool_calls", 0), + "errors": result.get("errors", 0) + }, + "expectations": result["expectations"], + "notes": result["notes"] + }) + + # Determine eval IDs from results + eval_ids = sorted(set( + r["eval_id"] + for config in results.values() + for r in config + )) + + benchmark = { + "metadata": { + "skill_name": skill_name or "", + "skill_path": skill_path or "", + "executor_model": "", + "analyzer_model": "", + "timestamp": datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"), + "evals_run": eval_ids, + "runs_per_configuration": 3 + }, + "runs": runs, + "run_summary": run_summary, + "notes": [] # To be filled by analyzer + } + + return benchmark + + +def generate_markdown(benchmark: dict) -> str: + """Generate human-readable benchmark.md from benchmark data.""" + metadata = benchmark["metadata"] + run_summary = benchmark["run_summary"] + + # Determine config names (excluding "delta") + configs = [k for k in run_summary if k != "delta"] + config_a = configs[0] if len(configs) >= 1 else "config_a" + config_b = configs[1] if len(configs) >= 2 else "config_b" + label_a = config_a.replace("_", " ").title() + label_b = config_b.replace("_", " ").title() + + lines = [ + f"# Skill Benchmark: {metadata['skill_name']}", + "", + f"**Model**: {metadata['executor_model']}", + f"**Date**: {metadata['timestamp']}", + f"**Evals**: {', '.join(map(str, metadata['evals_run']))} ({metadata['runs_per_configuration']} runs each per configuration)", + "", + "## Summary", + "", + f"| Metric | {label_a} | {label_b} | Delta |", + "|--------|------------|---------------|-------|", + ] + + a_summary = run_summary.get(config_a, {}) + b_summary = run_summary.get(config_b, {}) + delta = run_summary.get("delta", {}) + + # Format pass rate + a_pr = a_summary.get("pass_rate", {}) + b_pr = b_summary.get("pass_rate", {}) + lines.append(f"| Pass Rate | {a_pr.get('mean', 0)*100:.0f}% ± {a_pr.get('stddev', 0)*100:.0f}% | {b_pr.get('mean', 0)*100:.0f}% ± {b_pr.get('stddev', 0)*100:.0f}% | {delta.get('pass_rate', '—')} |") + + # Format time + a_time = a_summary.get("time_seconds", {}) + b_time = b_summary.get("time_seconds", {}) + lines.append(f"| Time | {a_time.get('mean', 0):.1f}s ± {a_time.get('stddev', 0):.1f}s | {b_time.get('mean', 0):.1f}s ± {b_time.get('stddev', 0):.1f}s | {delta.get('time_seconds', '—')}s |") + + # Format tokens + a_tokens = a_summary.get("tokens", {}) + b_tokens = b_summary.get("tokens", {}) + lines.append(f"| Tokens | {a_tokens.get('mean', 0):.0f} ± {a_tokens.get('stddev', 0):.0f} | {b_tokens.get('mean', 0):.0f} ± {b_tokens.get('stddev', 0):.0f} | {delta.get('tokens', '—')} |") + + # Notes section + if benchmark.get("notes"): + lines.extend([ + "", + "## Notes", + "" + ]) + for note in benchmark["notes"]: + lines.append(f"- {note}") + + return "\n".join(lines) + + +def main(): + parser = argparse.ArgumentParser( + description="Aggregate benchmark run results into summary statistics" + ) + parser.add_argument( + "benchmark_dir", + type=Path, + help="Path to the benchmark directory" + ) + parser.add_argument( + "--skill-name", + default="", + help="Name of the skill being benchmarked" + ) + parser.add_argument( + "--skill-path", + default="", + help="Path to the skill being benchmarked" + ) + parser.add_argument( + "--output", "-o", + type=Path, + help="Output path for benchmark.json (default: /benchmark.json)" + ) + + args = parser.parse_args() + + if not args.benchmark_dir.exists(): + print(f"Directory not found: {args.benchmark_dir}") + sys.exit(1) + + # Generate benchmark + benchmark = generate_benchmark(args.benchmark_dir, args.skill_name, args.skill_path) + + # Determine output paths + output_json = args.output or (args.benchmark_dir / "benchmark.json") + output_md = output_json.with_suffix(".md") + + # Write benchmark.json + with open(output_json, "w") as f: + json.dump(benchmark, f, indent=2) + print(f"Generated: {output_json}") + + # Write benchmark.md + markdown = generate_markdown(benchmark) + with open(output_md, "w") as f: + f.write(markdown) + print(f"Generated: {output_md}") + + # Print summary + run_summary = benchmark["run_summary"] + configs = [k for k in run_summary if k != "delta"] + delta = run_summary.get("delta", {}) + + print(f"\nSummary:") + for config in configs: + pr = run_summary[config]["pass_rate"]["mean"] + label = config.replace("_", " ").title() + print(f" {label}: {pr*100:.1f}% pass rate") + print(f" Delta: {delta.get('pass_rate', '—')}") + + +if __name__ == "__main__": + main() diff --git a/skills/skill-creator/scripts/generate_report.py b/skills/skill-creator/scripts/generate_report.py new file mode 100755 index 0000000..5393ed0 --- /dev/null +++ b/skills/skill-creator/scripts/generate_report.py @@ -0,0 +1,326 @@ +#!/usr/bin/env python3 +"""Generate an HTML report from run_loop.py output. + +Takes the JSON output from run_loop.py and generates a visual HTML report +showing each description attempt with check/x for each test case. +Distinguishes between train and test queries. +""" + +import argparse +import html +import json +import sys +from pathlib import Path + + +def generate_html(data: dict, auto_refresh: bool = False, skill_name: str = "") -> str: + """Generate HTML report from loop output data. If auto_refresh is True, adds a meta refresh tag.""" + history = data.get("history", []) + holdout = data.get("holdout", 0) + title_prefix = html.escape(skill_name + " \u2014 ") if skill_name else "" + + # Get all unique queries from train and test sets, with should_trigger info + train_queries: list[dict] = [] + test_queries: list[dict] = [] + if history: + for r in history[0].get("train_results", history[0].get("results", [])): + train_queries.append({"query": r["query"], "should_trigger": r.get("should_trigger", True)}) + if history[0].get("test_results"): + for r in history[0].get("test_results", []): + test_queries.append({"query": r["query"], "should_trigger": r.get("should_trigger", True)}) + + refresh_tag = ' \n' if auto_refresh else "" + + html_parts = [""" + + + +""" + refresh_tag + """ """ + title_prefix + """Skill Description Optimization + + + + + + +

""" + title_prefix + """Skill Description Optimization

+
+ Optimizing your skill's description. This page updates automatically as GLM tests different versions of your skill's description. Each row is an iteration — a new description attempt. The columns show test queries: green checkmarks mean the skill triggered correctly (or correctly didn't trigger), red crosses mean it got it wrong. The "Train" score shows performance on queries used to improve the description; the "Test" score shows performance on held-out queries the optimizer hasn't seen. When it's done, GLM will apply the best-performing description to your skill. +
+"""] + + # Summary section + best_test_score = data.get('best_test_score') + best_train_score = data.get('best_train_score') + html_parts.append(f""" +
+

Original: {html.escape(data.get('original_description', 'N/A'))}

+

Best: {html.escape(data.get('best_description', 'N/A'))}

+

Best Score: {data.get('best_score', 'N/A')} {'(test)' if best_test_score else '(train)'}

+

Iterations: {data.get('iterations_run', 0)} | Train: {data.get('train_size', '?')} | Test: {data.get('test_size', '?')}

+
+""") + + # Legend + html_parts.append(""" +
+ Query columns: + Should trigger + Should NOT trigger + Train + Test +
+""") + + # Table header + html_parts.append(""" +
+ + + + + + + +""") + + # Add column headers for train queries + for qinfo in train_queries: + polarity = "positive-col" if qinfo["should_trigger"] else "negative-col" + html_parts.append(f' \n') + + # Add column headers for test queries (different color) + for qinfo in test_queries: + polarity = "positive-col" if qinfo["should_trigger"] else "negative-col" + html_parts.append(f' \n') + + html_parts.append(""" + + +""") + + # Find best iteration for highlighting + if test_queries: + best_iter = max(history, key=lambda h: h.get("test_passed") or 0).get("iteration") + else: + best_iter = max(history, key=lambda h: h.get("train_passed", h.get("passed", 0))).get("iteration") + + # Add rows for each iteration + for h in history: + iteration = h.get("iteration", "?") + train_passed = h.get("train_passed", h.get("passed", 0)) + train_total = h.get("train_total", h.get("total", 0)) + test_passed = h.get("test_passed") + test_total = h.get("test_total") + description = h.get("description", "") + train_results = h.get("train_results", h.get("results", [])) + test_results = h.get("test_results", []) + + # Create lookups for results by query + train_by_query = {r["query"]: r for r in train_results} + test_by_query = {r["query"]: r for r in test_results} if test_results else {} + + # Compute aggregate correct/total runs across all retries + def aggregate_runs(results: list[dict]) -> tuple[int, int]: + correct = 0 + total = 0 + for r in results: + runs = r.get("runs", 0) + triggers = r.get("triggers", 0) + total += runs + if r.get("should_trigger", True): + correct += triggers + else: + correct += runs - triggers + return correct, total + + train_correct, train_runs = aggregate_runs(train_results) + test_correct, test_runs = aggregate_runs(test_results) + + # Determine score classes + def score_class(correct: int, total: int) -> str: + if total > 0: + ratio = correct / total + if ratio >= 0.8: + return "score-good" + elif ratio >= 0.5: + return "score-ok" + return "score-bad" + + train_class = score_class(train_correct, train_runs) + test_class = score_class(test_correct, test_runs) + + row_class = "best-row" if iteration == best_iter else "" + + html_parts.append(f""" + + + + +""") + + # Add result for each train query + for qinfo in train_queries: + r = train_by_query.get(qinfo["query"], {}) + did_pass = r.get("pass", False) + triggers = r.get("triggers", 0) + runs = r.get("runs", 0) + + icon = "✓" if did_pass else "✗" + css_class = "pass" if did_pass else "fail" + + html_parts.append(f' \n') + + # Add result for each test query (with different background) + for qinfo in test_queries: + r = test_by_query.get(qinfo["query"], {}) + did_pass = r.get("pass", False) + triggers = r.get("triggers", 0) + runs = r.get("runs", 0) + + icon = "✓" if did_pass else "✗" + css_class = "pass" if did_pass else "fail" + + html_parts.append(f' \n') + + html_parts.append(" \n") + + html_parts.append(""" +
IterTrainTestDescription{html.escape(qinfo["query"])}{html.escape(qinfo["query"])}
{iteration}{train_correct}/{train_runs}{test_correct}/{test_runs}{html.escape(description)}{icon}{triggers}/{runs}{icon}{triggers}/{runs}
+
+""") + + html_parts.append(""" + + +""") + + return "".join(html_parts) + + +def main(): + parser = argparse.ArgumentParser(description="Generate HTML report from run_loop output") + parser.add_argument("input", help="Path to JSON output from run_loop.py (or - for stdin)") + parser.add_argument("-o", "--output", default=None, help="Output HTML file (default: stdout)") + parser.add_argument("--skill-name", default="", help="Skill name to include in the report title") + args = parser.parse_args() + + if args.input == "-": + data = json.load(sys.stdin) + else: + data = json.loads(Path(args.input).read_text()) + + html_output = generate_html(data, skill_name=args.skill_name) + + if args.output: + Path(args.output).write_text(html_output) + print(f"Report written to {args.output}", file=sys.stderr) + else: + print(html_output) + + +if __name__ == "__main__": + main() diff --git a/skills/skill-creator/scripts/improve_description.py b/skills/skill-creator/scripts/improve_description.py new file mode 100755 index 0000000..210e3d5 --- /dev/null +++ b/skills/skill-creator/scripts/improve_description.py @@ -0,0 +1,236 @@ +#!/usr/bin/env python3 +"""Improve a skill description based on eval results. + +Takes eval results (from run_eval.py) and generates an improved description +by calling `z-ai chat -p` as a subprocess. +""" + +import argparse +import json +import os +import re +import subprocess +import sys +from pathlib import Path + +from scripts.utils import parse_skill_md + + +def _call_zai(prompt: str, timeout: int = 300) -> str: + """Run `z-ai chat -p` with the prompt and return the text response.""" + cmd = ["z-ai", "chat", "-p", prompt] + + env = {k: v for k, v in os.environ.items() if k != "GLMCODE"} + + result = subprocess.run( + cmd, + capture_output=True, + text=True, + env=env, + timeout=timeout, + ) + if result.returncode != 0: + raise RuntimeError( + f"z-ai chat exited {result.returncode}\nstderr: {result.stderr}" + ) + return result.stdout + + +def improve_description( + skill_name: str, + skill_content: str, + current_description: str, + eval_results: dict, + history: list[dict], + model: str, + test_results: dict | None = None, + log_dir: Path | None = None, + iteration: int | None = None, +) -> str: + """Call z-ai to improve the description based on eval results.""" + failed_triggers = [ + r for r in eval_results["results"] + if r["should_trigger"] and not r["pass"] + ] + false_triggers = [ + r for r in eval_results["results"] + if not r["should_trigger"] and not r["pass"] + ] + + # Build scores summary + train_score = f"{eval_results['summary']['passed']}/{eval_results['summary']['total']}" + if test_results: + test_score = f"{test_results['summary']['passed']}/{test_results['summary']['total']}" + scores_summary = f"Train: {train_score}, Test: {test_score}" + else: + scores_summary = f"Train: {train_score}" + + prompt = f"""You are optimizing a skill description for a GLM Code skill called "{skill_name}". A "skill" is sort of like a prompt, but with progressive disclosure -- there's a title and description that GLM sees when deciding whether to use the skill, and then if it does use the skill, it reads the .md file which has lots more details and potentially links to other resources in the skill folder like helper files and scripts and additional documentation or examples. + +The description appears in GLM's "available_skills" list. When a user sends a query, GLM decides whether to invoke the skill based solely on the title and on this description. Your goal is to write a description that triggers for relevant queries, and doesn't trigger for irrelevant ones. + +Here's the current description: + +"{current_description}" + + +Current scores ({scores_summary}): + +""" + if failed_triggers: + prompt += "FAILED TO TRIGGER (should have triggered but didn't):\n" + for r in failed_triggers: + prompt += f' - "{r["query"]}" (triggered {r["triggers"]}/{r["runs"]} times)\n' + prompt += "\n" + + if false_triggers: + prompt += "FALSE TRIGGERS (triggered but shouldn't have):\n" + for r in false_triggers: + prompt += f' - "{r["query"]}" (triggered {r["triggers"]}/{r["runs"]} times)\n' + prompt += "\n" + + if history: + prompt += "PREVIOUS ATTEMPTS (do NOT repeat these — try something structurally different):\n\n" + for h in history: + train_s = f"{h.get('train_passed', h.get('passed', 0))}/{h.get('train_total', h.get('total', 0))}" + test_s = f"{h.get('test_passed', '?')}/{h.get('test_total', '?')}" if h.get('test_passed') is not None else None + score_str = f"train={train_s}" + (f", test={test_s}" if test_s else "") + prompt += f'\n' + prompt += f'Description: "{h["description"]}"\n' + if "results" in h: + prompt += "Train results:\n" + for r in h["results"]: + status = "PASS" if r["pass"] else "FAIL" + prompt += f' [{status}] "{r["query"][:80]}" (triggered {r["triggers"]}/{r["runs"]})\n' + if h.get("note"): + prompt += f'Note: {h["note"]}\n' + prompt += "\n\n" + + prompt += f""" + +Skill content (for context on what the skill does): + +{skill_content} + + +Based on the failures, write a new and improved description that is more likely to trigger correctly. When I say "based on the failures", it's a bit of a tricky line to walk because we don't want to overfit to the specific cases you're seeing. So what I DON'T want you to do is produce an ever-expanding list of specific queries that this skill should or shouldn't trigger for. Instead, try to generalize from the failures to broader categories of user intent and situations where this skill would be useful or not useful. The reason for this is twofold: + +1. Avoid overfitting +2. The list might get loooong and it's injected into ALL queries and there might be a lot of skills, so we don't want to blow too much space on any given description. + +Concretely, your description should not be more than about 100-200 words, even if that comes at the cost of accuracy. There is a hard limit of 1024 characters — descriptions over that will be truncated, so stay comfortably under it. + +Here are some tips that we've found to work well in writing these descriptions: +- The skill should be phrased in the imperative -- "Use this skill for" rather than "this skill does" +- The skill description should focus on the user's intent, what they are trying to achieve, vs. the implementation details of how the skill works. +- The description competes with other skills for GLM's attention — make it distinctive and immediately recognizable. +- If you're getting lots of failures after repeated attempts, change things up. Try different sentence structures or wordings. + +I'd encourage you to be creative and mix up the style in different iterations since you'll have multiple opportunities to try different approaches and we'll just grab the highest-scoring one at the end. + +Please respond with only the new description text in tags, nothing else.""" + + text = _call_zai(prompt) + + match = re.search(r"(.*?)", text, re.DOTALL) + description = match.group(1).strip().strip('"') if match else text.strip().strip('"') + + transcript: dict = { + "iteration": iteration, + "prompt": prompt, + "response": text, + "parsed_description": description, + "char_count": len(description), + "over_limit": len(description) > 1024, + } + + # Safety net: the prompt already states the 1024-char hard limit, but if + # the model blew past it anyway, make one fresh single-turn call that + # quotes the too-long version and asks for a shorter rewrite. (The old + # SDK path did this as a true multi-turn; `glm -p` is one-shot, so we + # inline the prior output into the new prompt instead.) + if len(description) > 1024: + shorten_prompt = ( + f"{prompt}\n\n" + f"---\n\n" + f"A previous attempt produced this description, which at " + f"{len(description)} characters is over the 1024-character hard limit:\n\n" + f'"{description}"\n\n' + f"Rewrite it to be under 1024 characters while keeping the most " + f"important trigger words and intent coverage. Respond with only " + f"the new description in tags." + ) + shorten_text = _call_zai(shorten_prompt) + match = re.search(r"(.*?)", shorten_text, re.DOTALL) + shortened = match.group(1).strip().strip('"') if match else shorten_text.strip().strip('"') + + transcript["rewrite_prompt"] = shorten_prompt + transcript["rewrite_response"] = shorten_text + transcript["rewrite_description"] = shortened + transcript["rewrite_char_count"] = len(shortened) + description = shortened + + transcript["final_description"] = description + + if log_dir: + log_dir.mkdir(parents=True, exist_ok=True) + log_file = log_dir / f"improve_iter_{iteration or 'unknown'}.json" + log_file.write_text(json.dumps(transcript, indent=2)) + + return description + + +def main(): + parser = argparse.ArgumentParser(description="Improve a skill description based on eval results") + parser.add_argument("--eval-results", required=True, help="Path to eval results JSON (from run_eval.py)") + parser.add_argument("--skill-path", required=True, help="Path to skill directory") + parser.add_argument("--history", default=None, help="Path to history JSON (previous attempts)") + parser.add_argument("--model", required=True, help="Model for improvement") + parser.add_argument("--verbose", action="store_true", help="Print thinking to stderr") + args = parser.parse_args() + + skill_path = Path(args.skill_path) + if not (skill_path / "SKILL.md").exists(): + print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) + sys.exit(1) + + eval_results = json.loads(Path(args.eval_results).read_text()) + history = [] + if args.history: + history = json.loads(Path(args.history).read_text()) + + name, _, content = parse_skill_md(skill_path) + current_description = eval_results["description"] + + if args.verbose: + print(f"Current: {current_description}", file=sys.stderr) + print(f"Score: {eval_results['summary']['passed']}/{eval_results['summary']['total']}", file=sys.stderr) + + new_description = improve_description( + skill_name=name, + skill_content=content, + current_description=current_description, + eval_results=eval_results, + history=history, + model=args.model, + ) + + if args.verbose: + print(f"Improved: {new_description}", file=sys.stderr) + + # Output as JSON with both the new description and updated history + output = { + "description": new_description, + "history": history + [{ + "description": current_description, + "passed": eval_results["summary"]["passed"], + "failed": eval_results["summary"]["failed"], + "total": eval_results["summary"]["total"], + "results": eval_results["results"], + }], + } + print(json.dumps(output, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/skills/skill-creator/scripts/package_skill.py b/skills/skill-creator/scripts/package_skill.py new file mode 100755 index 0000000..f48eac4 --- /dev/null +++ b/skills/skill-creator/scripts/package_skill.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python3 +""" +Skill Packager - Creates a distributable .skill file of a skill folder + +Usage: + python utils/package_skill.py [output-directory] + +Example: + python utils/package_skill.py skills/public/my-skill + python utils/package_skill.py skills/public/my-skill ./dist +""" + +import fnmatch +import sys +import zipfile +from pathlib import Path +from scripts.quick_validate import validate_skill + +# Patterns to exclude when packaging skills. +EXCLUDE_DIRS = {"__pycache__", "node_modules"} +EXCLUDE_GLOBS = {"*.pyc"} +EXCLUDE_FILES = {".DS_Store"} +# Directories excluded only at the skill root (not when nested deeper). +ROOT_EXCLUDE_DIRS = {"evals"} + + +def should_exclude(rel_path: Path) -> bool: + """Check if a path should be excluded from packaging.""" + parts = rel_path.parts + if any(part in EXCLUDE_DIRS for part in parts): + return True + # rel_path is relative to skill_path.parent, so parts[0] is the skill + # folder name and parts[1] (if present) is the first subdir. + if len(parts) > 1 and parts[1] in ROOT_EXCLUDE_DIRS: + return True + name = rel_path.name + if name in EXCLUDE_FILES: + return True + return any(fnmatch.fnmatch(name, pat) for pat in EXCLUDE_GLOBS) + + +def package_skill(skill_path, output_dir=None): + """ + Package a skill folder into a .skill file. + + Args: + skill_path: Path to the skill folder + output_dir: Optional output directory for the .skill file (defaults to current directory) + + Returns: + Path to the created .skill file, or None if error + """ + skill_path = Path(skill_path).resolve() + + # Validate skill folder exists + if not skill_path.exists(): + print(f"❌ Error: Skill folder not found: {skill_path}") + return None + + if not skill_path.is_dir(): + print(f"❌ Error: Path is not a directory: {skill_path}") + return None + + # Validate SKILL.md exists + skill_md = skill_path / "SKILL.md" + if not skill_md.exists(): + print(f"❌ Error: SKILL.md not found in {skill_path}") + return None + + # Run validation before packaging + print("🔍 Validating skill...") + valid, message = validate_skill(skill_path) + if not valid: + print(f"❌ Validation failed: {message}") + print(" Please fix the validation errors before packaging.") + return None + print(f"✅ {message}\n") + + # Determine output location + skill_name = skill_path.name + if output_dir: + output_path = Path(output_dir).resolve() + output_path.mkdir(parents=True, exist_ok=True) + else: + output_path = Path.cwd() + + skill_filename = output_path / f"{skill_name}.skill" + + # Create the .skill file (zip format) + try: + with zipfile.ZipFile(skill_filename, 'w', zipfile.ZIP_DEFLATED) as zipf: + # Walk through the skill directory, excluding build artifacts + for file_path in skill_path.rglob('*'): + if not file_path.is_file(): + continue + arcname = file_path.relative_to(skill_path.parent) + if should_exclude(arcname): + print(f" Skipped: {arcname}") + continue + zipf.write(file_path, arcname) + print(f" Added: {arcname}") + + print(f"\n✅ Successfully packaged skill to: {skill_filename}") + return skill_filename + + except Exception as e: + print(f"❌ Error creating .skill file: {e}") + return None + + +def main(): + if len(sys.argv) < 2: + print("Usage: python utils/package_skill.py [output-directory]") + print("\nExample:") + print(" python utils/package_skill.py skills/public/my-skill") + print(" python utils/package_skill.py skills/public/my-skill ./dist") + sys.exit(1) + + skill_path = sys.argv[1] + output_dir = sys.argv[2] if len(sys.argv) > 2 else None + + print(f"📦 Packaging skill: {skill_path}") + if output_dir: + print(f" Output directory: {output_dir}") + print() + + result = package_skill(skill_path, output_dir) + + if result: + sys.exit(0) + else: + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/skills/skill-creator/scripts/quick_validate.py b/skills/skill-creator/scripts/quick_validate.py new file mode 100755 index 0000000..ed8e1dd --- /dev/null +++ b/skills/skill-creator/scripts/quick_validate.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 +""" +Quick validation script for skills - minimal version +""" + +import sys +import os +import re +import yaml +from pathlib import Path + +def validate_skill(skill_path): + """Basic validation of a skill""" + skill_path = Path(skill_path) + + # Check SKILL.md exists + skill_md = skill_path / 'SKILL.md' + if not skill_md.exists(): + return False, "SKILL.md not found" + + # Read and validate frontmatter + content = skill_md.read_text() + if not content.startswith('---'): + return False, "No YAML frontmatter found" + + # Extract frontmatter + match = re.match(r'^---\n(.*?)\n---', content, re.DOTALL) + if not match: + return False, "Invalid frontmatter format" + + frontmatter_text = match.group(1) + + # Parse YAML frontmatter + try: + frontmatter = yaml.safe_load(frontmatter_text) + if not isinstance(frontmatter, dict): + return False, "Frontmatter must be a YAML dictionary" + except yaml.YAMLError as e: + return False, f"Invalid YAML in frontmatter: {e}" + + # Define allowed properties + ALLOWED_PROPERTIES = {'name', 'description', 'license', 'allowed-tools', 'metadata', 'compatibility'} + + # Check for unexpected properties (excluding nested keys under metadata) + unexpected_keys = set(frontmatter.keys()) - ALLOWED_PROPERTIES + if unexpected_keys: + return False, ( + f"Unexpected key(s) in SKILL.md frontmatter: {', '.join(sorted(unexpected_keys))}. " + f"Allowed properties are: {', '.join(sorted(ALLOWED_PROPERTIES))}" + ) + + # Check required fields + if 'name' not in frontmatter: + return False, "Missing 'name' in frontmatter" + if 'description' not in frontmatter: + return False, "Missing 'description' in frontmatter" + + # Extract name for validation + name = frontmatter.get('name', '') + if not isinstance(name, str): + return False, f"Name must be a string, got {type(name).__name__}" + name = name.strip() + if name: + # Check naming convention (kebab-case: lowercase with hyphens) + if not re.match(r'^[a-z0-9-]+$', name): + return False, f"Name '{name}' should be kebab-case (lowercase letters, digits, and hyphens only)" + if name.startswith('-') or name.endswith('-') or '--' in name: + return False, f"Name '{name}' cannot start/end with hyphen or contain consecutive hyphens" + # Check name length (max 64 characters per spec) + if len(name) > 64: + return False, f"Name is too long ({len(name)} characters). Maximum is 64 characters." + + # Extract and validate description + description = frontmatter.get('description', '') + if not isinstance(description, str): + return False, f"Description must be a string, got {type(description).__name__}" + description = description.strip() + if description: + # Check for angle brackets + if '<' in description or '>' in description: + return False, "Description cannot contain angle brackets (< or >)" + # Check description length (max 1024 characters per spec) + if len(description) > 1024: + return False, f"Description is too long ({len(description)} characters). Maximum is 1024 characters." + + # Validate compatibility field if present (optional) + compatibility = frontmatter.get('compatibility', '') + if compatibility: + if not isinstance(compatibility, str): + return False, f"Compatibility must be a string, got {type(compatibility).__name__}" + if len(compatibility) > 500: + return False, f"Compatibility is too long ({len(compatibility)} characters). Maximum is 500 characters." + + return True, "Skill is valid!" + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("Usage: python quick_validate.py ") + sys.exit(1) + + valid, message = validate_skill(sys.argv[1]) + print(message) + sys.exit(0 if valid else 1) \ No newline at end of file diff --git a/skills/skill-creator/scripts/run_eval.py b/skills/skill-creator/scripts/run_eval.py new file mode 100755 index 0000000..c0da513 --- /dev/null +++ b/skills/skill-creator/scripts/run_eval.py @@ -0,0 +1,310 @@ +#!/usr/bin/env python3 +"""Run trigger evaluation for a skill description. + +Tests whether a skill's description causes GLM to trigger (read the skill) +for a set of queries. Outputs results as JSON. +""" + +import argparse +import json +import os +import select +import subprocess +import sys +import time +import uuid +from concurrent.futures import ProcessPoolExecutor, as_completed +from pathlib import Path + +from scripts.utils import parse_skill_md + + +def find_project_root() -> Path: + """Find the project root by walking up from cwd looking for .glm/. + + Mimics how GLM Code discovers its project root, so the command file + we create ends up where glm -p will look for it. + """ + current = Path.cwd() + for parent in [current, *current.parents]: + if (parent / ".glm").is_dir(): + return parent + return current + + +def run_single_query( + query: str, + skill_name: str, + skill_description: str, + timeout: int, + project_root: str, + model: str | None = None, +) -> bool: + """Run a single query and return whether the skill was triggered. + + Creates a command file in .glm/commands/ so it appears in GLM's + available_skills list, then runs `glm -p` with the raw query. + Uses --include-partial-messages to detect triggering early from + stream events (content_block_start) rather than waiting for the + full assistant message, which only arrives after tool execution. + """ + unique_id = uuid.uuid4().hex[:8] + clean_name = f"{skill_name}-skill-{unique_id}" + project_commands_dir = Path(project_root) / ".glm" / "commands" + command_file = project_commands_dir / f"{clean_name}.md" + + try: + project_commands_dir.mkdir(parents=True, exist_ok=True) + # Use YAML block scalar to avoid breaking on quotes in description + indented_desc = "\n ".join(skill_description.split("\n")) + command_content = ( + f"---\n" + f"description: |\n" + f" {indented_desc}\n" + f"---\n\n" + f"# {skill_name}\n\n" + f"This skill handles: {skill_description}\n" + ) + command_file.write_text(command_content) + + cmd = [ + "glm", + "-p", query, + "--output-format", "stream-json", + "--verbose", + "--include-partial-messages", + ] + if model: + cmd.extend(["--model", model]) + + # Remove GLMCODE env var to allow nesting glm -p inside a + # GLM Code session. The guard is for interactive terminal conflicts; + # programmatic subprocess usage is safe. + env = {k: v for k, v in os.environ.items() if k != "GLMCODE"} + + process = subprocess.Popen( + cmd, + stdout=subprocess.PIPE, + stderr=subprocess.DEVNULL, + cwd=project_root, + env=env, + ) + + triggered = False + start_time = time.time() + buffer = "" + # Track state for stream event detection + pending_tool_name = None + accumulated_json = "" + + try: + while time.time() - start_time < timeout: + if process.poll() is not None: + remaining = process.stdout.read() + if remaining: + buffer += remaining.decode("utf-8", errors="replace") + break + + ready, _, _ = select.select([process.stdout], [], [], 1.0) + if not ready: + continue + + chunk = os.read(process.stdout.fileno(), 8192) + if not chunk: + break + buffer += chunk.decode("utf-8", errors="replace") + + while "\n" in buffer: + line, buffer = buffer.split("\n", 1) + line = line.strip() + if not line: + continue + + try: + event = json.loads(line) + except json.JSONDecodeError: + continue + + # Early detection via stream events + if event.get("type") == "stream_event": + se = event.get("event", {}) + se_type = se.get("type", "") + + if se_type == "content_block_start": + cb = se.get("content_block", {}) + if cb.get("type") == "tool_use": + tool_name = cb.get("name", "") + if tool_name in ("Skill", "Read"): + pending_tool_name = tool_name + accumulated_json = "" + else: + return False + + elif se_type == "content_block_delta" and pending_tool_name: + delta = se.get("delta", {}) + if delta.get("type") == "input_json_delta": + accumulated_json += delta.get("partial_json", "") + if clean_name in accumulated_json: + return True + + elif se_type in ("content_block_stop", "message_stop"): + if pending_tool_name: + return clean_name in accumulated_json + if se_type == "message_stop": + return False + + # Fallback: full assistant message + elif event.get("type") == "assistant": + message = event.get("message", {}) + for content_item in message.get("content", []): + if content_item.get("type") != "tool_use": + continue + tool_name = content_item.get("name", "") + tool_input = content_item.get("input", {}) + if tool_name == "Skill" and clean_name in tool_input.get("skill", ""): + triggered = True + elif tool_name == "Read" and clean_name in tool_input.get("file_path", ""): + triggered = True + return triggered + + elif event.get("type") == "result": + return triggered + finally: + # Clean up process on any exit path (return, exception, timeout) + if process.poll() is None: + process.kill() + process.wait() + + return triggered + finally: + if command_file.exists(): + command_file.unlink() + + +def run_eval( + eval_set: list[dict], + skill_name: str, + description: str, + num_workers: int, + timeout: int, + project_root: Path, + runs_per_query: int = 1, + trigger_threshold: float = 0.5, + model: str | None = None, +) -> dict: + """Run the full eval set and return results.""" + results = [] + + with ProcessPoolExecutor(max_workers=num_workers) as executor: + future_to_info = {} + for item in eval_set: + for run_idx in range(runs_per_query): + future = executor.submit( + run_single_query, + item["query"], + skill_name, + description, + timeout, + str(project_root), + model, + ) + future_to_info[future] = (item, run_idx) + + query_triggers: dict[str, list[bool]] = {} + query_items: dict[str, dict] = {} + for future in as_completed(future_to_info): + item, _ = future_to_info[future] + query = item["query"] + query_items[query] = item + if query not in query_triggers: + query_triggers[query] = [] + try: + query_triggers[query].append(future.result()) + except Exception as e: + print(f"Warning: query failed: {e}", file=sys.stderr) + query_triggers[query].append(False) + + for query, triggers in query_triggers.items(): + item = query_items[query] + trigger_rate = sum(triggers) / len(triggers) + should_trigger = item["should_trigger"] + if should_trigger: + did_pass = trigger_rate >= trigger_threshold + else: + did_pass = trigger_rate < trigger_threshold + results.append({ + "query": query, + "should_trigger": should_trigger, + "trigger_rate": trigger_rate, + "triggers": sum(triggers), + "runs": len(triggers), + "pass": did_pass, + }) + + passed = sum(1 for r in results if r["pass"]) + total = len(results) + + return { + "skill_name": skill_name, + "description": description, + "results": results, + "summary": { + "total": total, + "passed": passed, + "failed": total - passed, + }, + } + + +def main(): + parser = argparse.ArgumentParser(description="Run trigger evaluation for a skill description") + parser.add_argument("--eval-set", required=True, help="Path to eval set JSON file") + parser.add_argument("--skill-path", required=True, help="Path to skill directory") + parser.add_argument("--description", default=None, help="Override description to test") + parser.add_argument("--num-workers", type=int, default=10, help="Number of parallel workers") + parser.add_argument("--timeout", type=int, default=30, help="Timeout per query in seconds") + parser.add_argument("--runs-per-query", type=int, default=3, help="Number of runs per query") + parser.add_argument("--trigger-threshold", type=float, default=0.5, help="Trigger rate threshold") + parser.add_argument("--model", default=None, help="Model to use for glm -p (default: user's configured model)") + parser.add_argument("--verbose", action="store_true", help="Print progress to stderr") + args = parser.parse_args() + + eval_set = json.loads(Path(args.eval_set).read_text()) + skill_path = Path(args.skill_path) + + if not (skill_path / "SKILL.md").exists(): + print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) + sys.exit(1) + + name, original_description, content = parse_skill_md(skill_path) + description = args.description or original_description + project_root = find_project_root() + + if args.verbose: + print(f"Evaluating: {description}", file=sys.stderr) + + output = run_eval( + eval_set=eval_set, + skill_name=name, + description=description, + num_workers=args.num_workers, + timeout=args.timeout, + project_root=project_root, + runs_per_query=args.runs_per_query, + trigger_threshold=args.trigger_threshold, + model=args.model, + ) + + if args.verbose: + summary = output["summary"] + print(f"Results: {summary['passed']}/{summary['total']} passed", file=sys.stderr) + for r in output["results"]: + status = "PASS" if r["pass"] else "FAIL" + rate_str = f"{r['triggers']}/{r['runs']}" + print(f" [{status}] rate={rate_str} expected={r['should_trigger']}: {r['query'][:70]}", file=sys.stderr) + + print(json.dumps(output, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/skills/skill-creator/scripts/run_loop.py b/skills/skill-creator/scripts/run_loop.py new file mode 100755 index 0000000..30a263d --- /dev/null +++ b/skills/skill-creator/scripts/run_loop.py @@ -0,0 +1,328 @@ +#!/usr/bin/env python3 +"""Run the eval + improve loop until all pass or max iterations reached. + +Combines run_eval.py and improve_description.py in a loop, tracking history +and returning the best description found. Supports train/test split to prevent +overfitting. +""" + +import argparse +import json +import random +import sys +import tempfile +import time +import webbrowser +from pathlib import Path + +from scripts.generate_report import generate_html +from scripts.improve_description import improve_description +from scripts.run_eval import find_project_root, run_eval +from scripts.utils import parse_skill_md + + +def split_eval_set(eval_set: list[dict], holdout: float, seed: int = 42) -> tuple[list[dict], list[dict]]: + """Split eval set into train and test sets, stratified by should_trigger.""" + random.seed(seed) + + # Separate by should_trigger + trigger = [e for e in eval_set if e["should_trigger"]] + no_trigger = [e for e in eval_set if not e["should_trigger"]] + + # Shuffle each group + random.shuffle(trigger) + random.shuffle(no_trigger) + + # Calculate split points + n_trigger_test = max(1, int(len(trigger) * holdout)) + n_no_trigger_test = max(1, int(len(no_trigger) * holdout)) + + # Split + test_set = trigger[:n_trigger_test] + no_trigger[:n_no_trigger_test] + train_set = trigger[n_trigger_test:] + no_trigger[n_no_trigger_test:] + + return train_set, test_set + + +def run_loop( + eval_set: list[dict], + skill_path: Path, + description_override: str | None, + num_workers: int, + timeout: int, + max_iterations: int, + runs_per_query: int, + trigger_threshold: float, + holdout: float, + model: str, + verbose: bool, + live_report_path: Path | None = None, + log_dir: Path | None = None, +) -> dict: + """Run the eval + improvement loop.""" + project_root = find_project_root() + name, original_description, content = parse_skill_md(skill_path) + current_description = description_override or original_description + + # Split into train/test if holdout > 0 + if holdout > 0: + train_set, test_set = split_eval_set(eval_set, holdout) + if verbose: + print(f"Split: {len(train_set)} train, {len(test_set)} test (holdout={holdout})", file=sys.stderr) + else: + train_set = eval_set + test_set = [] + + history = [] + exit_reason = "unknown" + + for iteration in range(1, max_iterations + 1): + if verbose: + print(f"\n{'='*60}", file=sys.stderr) + print(f"Iteration {iteration}/{max_iterations}", file=sys.stderr) + print(f"Description: {current_description}", file=sys.stderr) + print(f"{'='*60}", file=sys.stderr) + + # Evaluate train + test together in one batch for parallelism + all_queries = train_set + test_set + t0 = time.time() + all_results = run_eval( + eval_set=all_queries, + skill_name=name, + description=current_description, + num_workers=num_workers, + timeout=timeout, + project_root=project_root, + runs_per_query=runs_per_query, + trigger_threshold=trigger_threshold, + model=model, + ) + eval_elapsed = time.time() - t0 + + # Split results back into train/test by matching queries + train_queries_set = {q["query"] for q in train_set} + train_result_list = [r for r in all_results["results"] if r["query"] in train_queries_set] + test_result_list = [r for r in all_results["results"] if r["query"] not in train_queries_set] + + train_passed = sum(1 for r in train_result_list if r["pass"]) + train_total = len(train_result_list) + train_summary = {"passed": train_passed, "failed": train_total - train_passed, "total": train_total} + train_results = {"results": train_result_list, "summary": train_summary} + + if test_set: + test_passed = sum(1 for r in test_result_list if r["pass"]) + test_total = len(test_result_list) + test_summary = {"passed": test_passed, "failed": test_total - test_passed, "total": test_total} + test_results = {"results": test_result_list, "summary": test_summary} + else: + test_results = None + test_summary = None + + history.append({ + "iteration": iteration, + "description": current_description, + "train_passed": train_summary["passed"], + "train_failed": train_summary["failed"], + "train_total": train_summary["total"], + "train_results": train_results["results"], + "test_passed": test_summary["passed"] if test_summary else None, + "test_failed": test_summary["failed"] if test_summary else None, + "test_total": test_summary["total"] if test_summary else None, + "test_results": test_results["results"] if test_results else None, + # For backward compat with report generator + "passed": train_summary["passed"], + "failed": train_summary["failed"], + "total": train_summary["total"], + "results": train_results["results"], + }) + + # Write live report if path provided + if live_report_path: + partial_output = { + "original_description": original_description, + "best_description": current_description, + "best_score": "in progress", + "iterations_run": len(history), + "holdout": holdout, + "train_size": len(train_set), + "test_size": len(test_set), + "history": history, + } + live_report_path.write_text(generate_html(partial_output, auto_refresh=True, skill_name=name)) + + if verbose: + def print_eval_stats(label, results, elapsed): + pos = [r for r in results if r["should_trigger"]] + neg = [r for r in results if not r["should_trigger"]] + tp = sum(r["triggers"] for r in pos) + pos_runs = sum(r["runs"] for r in pos) + fn = pos_runs - tp + fp = sum(r["triggers"] for r in neg) + neg_runs = sum(r["runs"] for r in neg) + tn = neg_runs - fp + total = tp + tn + fp + fn + precision = tp / (tp + fp) if (tp + fp) > 0 else 1.0 + recall = tp / (tp + fn) if (tp + fn) > 0 else 1.0 + accuracy = (tp + tn) / total if total > 0 else 0.0 + print(f"{label}: {tp+tn}/{total} correct, precision={precision:.0%} recall={recall:.0%} accuracy={accuracy:.0%} ({elapsed:.1f}s)", file=sys.stderr) + for r in results: + status = "PASS" if r["pass"] else "FAIL" + rate_str = f"{r['triggers']}/{r['runs']}" + print(f" [{status}] rate={rate_str} expected={r['should_trigger']}: {r['query'][:60]}", file=sys.stderr) + + print_eval_stats("Train", train_results["results"], eval_elapsed) + if test_summary: + print_eval_stats("Test ", test_results["results"], 0) + + if train_summary["failed"] == 0: + exit_reason = f"all_passed (iteration {iteration})" + if verbose: + print(f"\nAll train queries passed on iteration {iteration}!", file=sys.stderr) + break + + if iteration == max_iterations: + exit_reason = f"max_iterations ({max_iterations})" + if verbose: + print(f"\nMax iterations reached ({max_iterations}).", file=sys.stderr) + break + + # Improve the description based on train results + if verbose: + print(f"\nImproving description...", file=sys.stderr) + + t0 = time.time() + # Strip test scores from history so improvement model can't see them + blinded_history = [ + {k: v for k, v in h.items() if not k.startswith("test_")} + for h in history + ] + new_description = improve_description( + skill_name=name, + skill_content=content, + current_description=current_description, + eval_results=train_results, + history=blinded_history, + model=model, + log_dir=log_dir, + iteration=iteration, + ) + improve_elapsed = time.time() - t0 + + if verbose: + print(f"Proposed ({improve_elapsed:.1f}s): {new_description}", file=sys.stderr) + + current_description = new_description + + # Find the best iteration by TEST score (or train if no test set) + if test_set: + best = max(history, key=lambda h: h["test_passed"] or 0) + best_score = f"{best['test_passed']}/{best['test_total']}" + else: + best = max(history, key=lambda h: h["train_passed"]) + best_score = f"{best['train_passed']}/{best['train_total']}" + + if verbose: + print(f"\nExit reason: {exit_reason}", file=sys.stderr) + print(f"Best score: {best_score} (iteration {best['iteration']})", file=sys.stderr) + + return { + "exit_reason": exit_reason, + "original_description": original_description, + "best_description": best["description"], + "best_score": best_score, + "best_train_score": f"{best['train_passed']}/{best['train_total']}", + "best_test_score": f"{best['test_passed']}/{best['test_total']}" if test_set else None, + "final_description": current_description, + "iterations_run": len(history), + "holdout": holdout, + "train_size": len(train_set), + "test_size": len(test_set), + "history": history, + } + + +def main(): + parser = argparse.ArgumentParser(description="Run eval + improve loop") + parser.add_argument("--eval-set", required=True, help="Path to eval set JSON file") + parser.add_argument("--skill-path", required=True, help="Path to skill directory") + parser.add_argument("--description", default=None, help="Override starting description") + parser.add_argument("--num-workers", type=int, default=10, help="Number of parallel workers") + parser.add_argument("--timeout", type=int, default=30, help="Timeout per query in seconds") + parser.add_argument("--max-iterations", type=int, default=5, help="Max improvement iterations") + parser.add_argument("--runs-per-query", type=int, default=3, help="Number of runs per query") + parser.add_argument("--trigger-threshold", type=float, default=0.5, help="Trigger rate threshold") + parser.add_argument("--holdout", type=float, default=0.4, help="Fraction of eval set to hold out for testing (0 to disable)") + parser.add_argument("--model", required=True, help="Model for improvement") + parser.add_argument("--verbose", action="store_true", help="Print progress to stderr") + parser.add_argument("--report", default="auto", help="Generate HTML report at this path (default: 'auto' for temp file, 'none' to disable)") + parser.add_argument("--results-dir", default=None, help="Save all outputs (results.json, report.html, log.txt) to a timestamped subdirectory here") + args = parser.parse_args() + + eval_set = json.loads(Path(args.eval_set).read_text()) + skill_path = Path(args.skill_path) + + if not (skill_path / "SKILL.md").exists(): + print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) + sys.exit(1) + + name, _, _ = parse_skill_md(skill_path) + + # Set up live report path + if args.report != "none": + if args.report == "auto": + timestamp = time.strftime("%Y%m%d_%H%M%S") + live_report_path = Path(tempfile.gettempdir()) / f"skill_description_report_{skill_path.name}_{timestamp}.html" + else: + live_report_path = Path(args.report) + # Open the report immediately so the user can watch + live_report_path.write_text("

Starting optimization loop...

") + webbrowser.open(str(live_report_path)) + else: + live_report_path = None + + # Determine output directory (create before run_loop so logs can be written) + if args.results_dir: + timestamp = time.strftime("%Y-%m-%d_%H%M%S") + results_dir = Path(args.results_dir) / timestamp + results_dir.mkdir(parents=True, exist_ok=True) + else: + results_dir = None + + log_dir = results_dir / "logs" if results_dir else None + + output = run_loop( + eval_set=eval_set, + skill_path=skill_path, + description_override=args.description, + num_workers=args.num_workers, + timeout=args.timeout, + max_iterations=args.max_iterations, + runs_per_query=args.runs_per_query, + trigger_threshold=args.trigger_threshold, + holdout=args.holdout, + model=args.model, + verbose=args.verbose, + live_report_path=live_report_path, + log_dir=log_dir, + ) + + # Save JSON output + json_output = json.dumps(output, indent=2) + print(json_output) + if results_dir: + (results_dir / "results.json").write_text(json_output) + + # Write final HTML report (without auto-refresh) + if live_report_path: + live_report_path.write_text(generate_html(output, auto_refresh=False, skill_name=name)) + print(f"\nReport: {live_report_path}", file=sys.stderr) + + if results_dir and live_report_path: + (results_dir / "report.html").write_text(generate_html(output, auto_refresh=False, skill_name=name)) + + if results_dir: + print(f"Results saved to: {results_dir}", file=sys.stderr) + + +if __name__ == "__main__": + main() diff --git a/skills/skill-creator/scripts/utils.py b/skills/skill-creator/scripts/utils.py new file mode 100755 index 0000000..51b6a07 --- /dev/null +++ b/skills/skill-creator/scripts/utils.py @@ -0,0 +1,47 @@ +"""Shared utilities for skill-creator scripts.""" + +from pathlib import Path + + + +def parse_skill_md(skill_path: Path) -> tuple[str, str, str]: + """Parse a SKILL.md file, returning (name, description, full_content).""" + content = (skill_path / "SKILL.md").read_text() + lines = content.split("\n") + + if lines[0].strip() != "---": + raise ValueError("SKILL.md missing frontmatter (no opening ---)") + + end_idx = None + for i, line in enumerate(lines[1:], start=1): + if line.strip() == "---": + end_idx = i + break + + if end_idx is None: + raise ValueError("SKILL.md missing frontmatter (no closing ---)") + + name = "" + description = "" + frontmatter_lines = lines[1:end_idx] + i = 0 + while i < len(frontmatter_lines): + line = frontmatter_lines[i] + if line.startswith("name:"): + name = line[len("name:"):].strip().strip('"').strip("'") + elif line.startswith("description:"): + value = line[len("description:"):].strip() + # Handle YAML multiline indicators (>, |, >-, |-) + if value in (">", "|", ">-", "|-"): + continuation_lines: list[str] = [] + i += 1 + while i < len(frontmatter_lines) and (frontmatter_lines[i].startswith(" ") or frontmatter_lines[i].startswith("\t")): + continuation_lines.append(frontmatter_lines[i].strip()) + i += 1 + description = " ".join(continuation_lines) + continue + else: + description = value.strip('"').strip("'") + i += 1 + + return name, description, content diff --git a/skills/skill-finder-cn/SKILL.md b/skills/skill-finder-cn/SKILL.md new file mode 100755 index 0000000..70cf6e3 --- /dev/null +++ b/skills/skill-finder-cn/SKILL.md @@ -0,0 +1,66 @@ +--- +name: skill-finder-cn +description: "Skill 查找器 | Skill Finder. 帮助发现和安装 ClawHub Skills | Discover and install ClawHub Skills. 回答'有什么技能可以X'、'找一个技能' | Answers 'what skill can X', 'find a skill'. 触发词:找 skill、find skill、搜索 skill." +author: 赚钱小能手 +metadata: + openclaw: + emoji: 🔍 + requires: + bins: [clawhub] +--- + +# Skill 查找器 + +帮助用户发现和安装 ClawHub 上的 Skills。 + +## 功能 + +当用户问: +- "有什么 skill 可以帮我...?" +- "找一个能做 X 的 skill" +- "有没有 skill 可以..." +- "我需要一个能...的 skill" + +这个 Skill 会帮助搜索 ClawHub 并推荐相关的 Skills。 + +## 使用方法 + +### 1. 搜索 Skills + +```bash +clawhub search "<用户需求>" +``` + +### 2. 查看详情 + +```bash +clawhub inspect +``` + +### 3. 安装 Skill + +```bash +clawhub install +``` + +## 工作流程 + +``` +1. 理解用户需求 +2. 提取关键词 +3. 搜索 ClawHub +4. 列出相关 Skills +5. 提供安装建议 +``` + +## 示例 + +**用户**: "有什么 skill 可以帮我监控加密货币价格?" + +**搜索**: `clawhub search "crypto price monitor"` + +**返回**: 相关的 Skills 列表 + +--- + +*帮助用户发现需要的 Skills 🔍* diff --git a/skills/skill-finder-cn/_meta.json b/skills/skill-finder-cn/_meta.json new file mode 100755 index 0000000..e482a6a --- /dev/null +++ b/skills/skill-finder-cn/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn71y3mdbcx5dyhwxv1t7sm82x81a168", + "slug": "skill-finder-cn", + "version": "1.0.0", + "publishedAt": 1771323389748 +} \ No newline at end of file diff --git a/skills/skill-finder-cn/package.json b/skills/skill-finder-cn/package.json new file mode 100755 index 0000000..748ec51 --- /dev/null +++ b/skills/skill-finder-cn/package.json @@ -0,0 +1,5 @@ +{ + "name": "skill-finder-cn", + "version": "1.0.0", + "description": "Skill Finder CN | Skill 查找器" +} diff --git a/skills/skill-finder-cn/scripts/search.sh b/skills/skill-finder-cn/scripts/search.sh new file mode 100755 index 0000000..236a45f --- /dev/null +++ b/skills/skill-finder-cn/scripts/search.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# Skill 搜索脚本 + +QUERY="$1" +LIMIT="${2:-10}" + +if [ -z "$QUERY" ]; then + echo "用法: search.sh <关键词> [数量]" + exit 1 +fi + +echo "🔍 搜索: $QUERY" +echo "================================" + +clawhub search "$QUERY" --limit "$LIMIT" diff --git a/skills/skill-vetter/SKILL.md b/skills/skill-vetter/SKILL.md new file mode 100755 index 0000000..af440cc --- /dev/null +++ b/skills/skill-vetter/SKILL.md @@ -0,0 +1,137 @@ +--- +name: skill-vetter +description: Security-first skill vetting for AI agents. Use before installing any skill from ClawdHub, GitHub, or other sources. Checks for red flags, permission scope, and suspicious patterns. +--- + +# Skill Vetter 🔒 + +Security-first vetting protocol for AI agent skills. **Never install a skill without vetting it first.** + +## When to Use + +- Before installing any skill from ClawdHub +- Before running skills from GitHub repos +- When evaluating skills shared by other agents +- Anytime you're asked to install unknown code + +## Vetting Protocol + +### Step 1: Source Check + +``` +Questions to answer: +- [ ] Where did this skill come from? +- [ ] Is the author known/reputable? +- [ ] How many downloads/stars does it have? +- [ ] When was it last updated? +- [ ] Are there reviews from other agents? +``` + +### Step 2: Code Review (MANDATORY) + +Read ALL files in the skill. Check for these **RED FLAGS**: + +``` +🚨 REJECT IMMEDIATELY IF YOU SEE: +───────────────────────────────────────── +• curl/wget to unknown URLs +• Sends data to external servers +• Requests credentials/tokens/API keys +• Reads ~/.ssh, ~/.aws, ~/.config without clear reason +• Accesses MEMORY.md, USER.md, SOUL.md, IDENTITY.md +• Uses base64 decode on anything +• Uses eval() or exec() with external input +• Modifies system files outside workspace +• Installs packages without listing them +• Network calls to IPs instead of domains +• Obfuscated code (compressed, encoded, minified) +• Requests elevated/sudo permissions +• Accesses browser cookies/sessions +• Touches credential files +───────────────────────────────────────── +``` + +### Step 3: Permission Scope + +``` +Evaluate: +- [ ] What files does it need to read? +- [ ] What files does it need to write? +- [ ] What commands does it run? +- [ ] Does it need network access? To where? +- [ ] Is the scope minimal for its stated purpose? +``` + +### Step 4: Risk Classification + +| Risk Level | Examples | Action | +|------------|----------|--------| +| 🟢 LOW | Notes, weather, formatting | Basic review, install OK | +| 🟡 MEDIUM | File ops, browser, APIs | Full code review required | +| 🔴 HIGH | Credentials, trading, system | Human approval required | +| ⛔ EXTREME | Security configs, root access | Do NOT install | + +## Output Format + +After vetting, produce this report: + +``` +SKILL VETTING REPORT +═══════════════════════════════════════ +Skill: [name] +Source: [ClawdHub / GitHub / other] +Author: [username] +Version: [version] +─────────────────────────────────────── +METRICS: +• Downloads/Stars: [count] +• Last Updated: [date] +• Files Reviewed: [count] +─────────────────────────────────────── +RED FLAGS: [None / List them] + +PERMISSIONS NEEDED: +• Files: [list or "None"] +• Network: [list or "None"] +• Commands: [list or "None"] +─────────────────────────────────────── +RISK LEVEL: [🟢 LOW / 🟡 MEDIUM / 🔴 HIGH / ⛔ EXTREME] + +VERDICT: [✅ SAFE TO INSTALL / ⚠️ INSTALL WITH CAUTION / ❌ DO NOT INSTALL] + +NOTES: [Any observations] +═══════════════════════════════════════ +``` + +## Quick Vet Commands + +For GitHub-hosted skills: +```bash +# Check repo stats +curl -s "https://api.github.com/repos/OWNER/REPO" | jq '{stars: .stargazers_count, forks: .forks_count, updated: .updated_at}' + +# List skill files +curl -s "https://api.github.com/repos/OWNER/REPO/contents/skills/SKILL_NAME" | jq '.[].name' + +# Fetch and review SKILL.md +curl -s "https://raw.githubusercontent.com/OWNER/REPO/main/skills/SKILL_NAME/SKILL.md" +``` + +## Trust Hierarchy + +1. **Official OpenClaw skills** → Lower scrutiny (still review) +2. **High-star repos (1000+)** → Moderate scrutiny +3. **Known authors** → Moderate scrutiny +4. **New/unknown sources** → Maximum scrutiny +5. **Skills requesting credentials** → Human approval always + +## Remember + +- No skill is worth compromising security +- When in doubt, don't install +- Ask your human for high-risk decisions +- Document what you vet for future reference + +--- + +*Paranoia is a feature.* 🔒🦀 diff --git a/skills/stock-analysis-skill/SKILL.md b/skills/stock-analysis-skill/SKILL.md new file mode 100755 index 0000000..e32b65f --- /dev/null +++ b/skills/stock-analysis-skill/SKILL.md @@ -0,0 +1,156 @@ +--- +name: stock_analysis +description: "Comprehensive stock market analysis skill covering A-share (China), Hong Kong, and US equities. Priority use cases: stock analysis and buy/sell/hold recommendations by ticker code, generating decision dashboards and research reports with technical/fundamental/sentiment analysis, position-aware investment strategies based on user's cost price, dividend income scoring and safety analysis, rumor and early market signal scanning (M&A, insider activity, analyst actions), watchlist management with price target and stop-loss alerts, and K-line chart pattern recognition from images. This skill should be the primary choice whenever users mention a stock ticker, ask whether to buy or sell a stock, reference their holding cost or position, request dividend analysis, ask about market rumors or early signals, want to add/check/manage a watchlist, or upload a chart image for technical analysis." +--- + +# Stock Analysis Skill + +## 依赖平台 Skills + +- `finance skill` — 所有市场数据(A股/港股/美股统一) +- `pdf skill` — PDF 研报生成 +- `docx skill` — Word 文档生成 +- `vlm skill`(内置)— K线图形态识别 + +--- + +## Commands & Triggers + +| 命令 | 触发词示例 | +|------|-----------| +| 个股分析 | 分析600519 / AAPL值不值得买 / 帮我看看腾讯 | +| 带持仓分析 | 我持仓成本1450分析茅台 / AAPL我170买的现在怎样 | +| 股息分析 | JNJ股息怎么样 / 帮我分析这几只股的股息 KO PG JNJ | +| 传闻扫描 | 今日有什么并购传闻 / 扫描一下市场早期信号 | +| 添加自选股 | 关注AAPL / 把600519加入自选,目标价1600止损1350 | +| 查看自选股 | 我的自选股列表 / 看一下我关注的股票 | +| 检查提醒 | 检查自选股提醒 / 有没有触发止损 | +| 删除自选股 | 从自选股删除TSLA | +| K线图分析 | (上传图片)帮我分析这个K线图 | +| 大盘复盘 | 附带大盘复盘分析600519 | + +--- + +## Input Schemas + +### 个股分析 +```typescript +{ + stocks: (string | { code: string; position?: { status: "empty"|"holding"; cost?: number; shares?: number } })[], + outputFormat?: "markdown" | "pdf" | "word", // 默认 markdown + mode?: "full" | "quote", // 默认 full + includeMarketReview?: boolean, // 默认 false + includeGlobalMacro?: boolean, // 默认 true + includeDividend?: boolean, // 美股附加股息分析,默认 false +} +``` + +### 股息分析 +```typescript +runDividend(tickers: string | string[]) +``` + +### 传闻扫描 +```typescript +runRumorScan() // 无需参数,自动扫描今日信号 +``` + +### 自选股管理 +```typescript +runWatchlistAdd(ticker, { targetPrice?, stopPrice?, alertOnSignal?, notes? }) +runWatchlistRemove(ticker) +runWatchlistList() +runWatchlistCheck() // 检查是否触发价格/信号提醒 +``` + +--- + +## Report Structure + +``` +# 股票智能分析报告 + +## 🌍 全球宏观速览(默认开启) +## 🎯 大盘复盘(需开启) +## 📊 个股决策仪表盘(每只) + ### 📰 重要信息速览(舆情/业绩预期/🚨风险/✨利好/最新动态) + ### 📌 核心结论(结论/一句话/空仓者建议/持仓者建议+盈亏) + ### 📈 当日行情 + ### 📊 数据透视(技术面/基本面/资金面) + ### 🎯 作战计划(狙击点位表/仓位/风控) + ### ✅ 检查清单(综合结论) + ### 💰 股息分析(美股,需开启 includeDividend) +``` + +--- + +## Dividend Analysis Metrics + +| 指标 | 说明 | +|------|------| +| 安全评分 | 0-100,综合派息率/增长/连续年数 | +| 收入评级 | excellent/good/moderate/poor | +| 派息率状态 | safe(<40%)/moderate/high/unsustainable | +| 5年CAGR | 股息复合增长率 | +| 连续增长年数 | 25年以上为股息贵族 | + +--- + +## Rumor Scanner Signal Types + +| 类型 | 冲击分 | 说明 | +|------|--------|------| +| 并购传闻 (ma) | +5 | M&A/收购/要约 | +| 内部人动态 (insider) | +4 | CEO/董事买卖 | +| 分析师调整 (analyst) | +3 | 评级上调/下调/目标价变动 | +| 监管动态 (regulatory) | +3 | SEC调查/合规风险 | +| 业绩预期 (earnings) | +2 | 盈利预警/上调 | + +--- + +## Watchlist Alert Types + +| 提醒类型 | 触发条件 | +|---------|---------| +| 🎯 目标价 | 当前价 ≥ targetPrice | +| 🛑 止损价 | 当前价 ≤ stopPrice | +| 📊 信号变化 | 本次结论 ≠ 上次结论 | + +--- + +## Behavior Rules + +- 乖离率 > 5% → 结论不得为买入/强烈买入 +- 数据缺失 → 标"暂缺",严禁捏造 +- 有持仓成本 → 必须给出盈亏分析 +- 未提供持仓 → 同时给出空仓/持仓两套建议 +- 每次分析后自动静默更新自选股信号 + +--- + +## File Structure + +``` +stock-analysis-skill/ +├── SKILL.md +├── package.json +├── tsconfig.json +└── src/ + ├── index.ts # 主入口(所有命令路由) + ├── types.ts # 类型定义 + ├── dataFetcher.ts # 数据层(finance skill) + ├── analyzer.ts # 个股分析(LLM/VLM) + ├── dividend.ts # 股息分析 + ├── rumorScanner.ts # 传闻扫描 + └── watchlist.ts # 自选股管理(storage 持久化) +``` + +--- + +## Limitations + +- 传闻扫描依赖 finance skill 新闻数据质量 +- 自选股数据持久化依赖平台 storage API +- 港股基本面数据较少 +- 不支持期货、ETF、可转债 +- 仅供参考,不构成投资建议 diff --git a/skills/stock-analysis-skill/package.json b/skills/stock-analysis-skill/package.json new file mode 100755 index 0000000..d6ed1f8 --- /dev/null +++ b/skills/stock-analysis-skill/package.json @@ -0,0 +1,21 @@ +{ + "name": "stock-analysis-skill", + "version": "1.0.0", + "description": "A股/港股/美股 决策仪表盘 + 传闻扫描 + 自选股提醒", + "main": "dist/index.js", + "scripts": { + "build": "tsc", + "analyze": "ts-node src/index.ts analyze", + "dividend": "ts-node src/index.ts dividend", + "rumors": "ts-node src/index.ts rumors", + "watch": "ts-node src/index.ts watch" + }, + "dependencies": { + "z-ai-web-dev-sdk": "latest" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "typescript": "^5.0.0", + "ts-node": "^10.0.0" + } +} diff --git a/skills/stock-analysis-skill/src/analyzer.ts b/skills/stock-analysis-skill/src/analyzer.ts new file mode 100755 index 0000000..fa515e5 --- /dev/null +++ b/skills/stock-analysis-skill/src/analyzer.ts @@ -0,0 +1,264 @@ +/** + * analyzer.ts — LLM/VLM 分析层 + * 七段式决策仪表盘 + 美股可附加股息分析 + */ + +import ZAI from "z-ai-web-dev-sdk"; +import { StockData, AnalysisResult, OutputFormat, Market, Verdict, PositionInfo } from "./types"; +import { validateStockData } from "./dataFetcher"; +import { analyzeDividend, formatDividendMarkdown } from "./dividend"; + +const MARKET_LABEL: Record = { CN: "A股", HK: "港股", US: "美股" }; + +// ── 仪表盘 Prompt ───────────────────────────────────────── + +function buildDashboardPrompt( + data: StockData, + position: PositionInfo | undefined, + warnings: string[] +): string { + const warningBlock = warnings.length > 0 + ? `⚠️ 数据预警(必须在报告中体现):\n${warnings.map((w) => `- ${w}`).join("\n")}\n\n` + : ""; + + const positionBlock = position + ? position.status === "holding" + ? `用户持仓:持仓中,成本价 ${position.cost ?? "未知"} 元${position.shares ? `,${position.shares} 股` : ""}。请给出盈亏分析和针对性建议。` + : `用户持仓:当前空仓。` + : `用户持仓:未提供(请同时给出空仓者和持仓者两套建议)。`; + + return `${warningBlock}${positionBlock} + +股票数据: +\`\`\`json +${JSON.stringify(data, null, 2)} +\`\`\` + +请输出以下格式的完整决策仪表盘(严格按结构,不增删章节): + +--- + +## 决策仪表盘 · {名称}({代码}) · {市场} + +--- + +### 📰 重要信息速览 +**💭 舆情情绪:** 一句话描述 +**📊 业绩预期:** 结合 PE/ROE/行业简述,数据缺失标"暂缺" +**🚨 风险警报:** +- 风险1(技术面或宏观) +- 风险2(基本面或行业) +**✨ 利好催化:** +- 利好1(技术面) +- 利好2(基本面或行业) +**📢 最新动态:** 结合行业背景,补充1条关键信息 + +--- + +### 📌 核心结论 +**[emoji] 结论:强烈买入 / 买入 / 观望 / 卖出**(四选一,乖离率>5%不得为买入) +**💬 一句话决策:** 核心逻辑 +**⏰ 时效性:** 立即行动 / 今日内 / 不急 + +(根据持仓状态输出) +- **🆕 空仓者:** 是否进场、建仓点位、仓位比例 +- **💼 持仓者:** 持有/加仓/减仓/止损建议${position?.status === "holding" && position.cost ? ",含成本盈亏分析" : ""} + +--- + +### 📈 当日行情 +列出:收盘价、昨收、开盘、最高、最低、涨跌幅、涨跌额、振幅、成交量、成交额(缺失标"暂缺") + +--- + +### 📊 数据透视 + +**技术面:** +表格(指标 | 数值 | 解读):MA5、MA10、MA20、乖离率(BIAS20)、RSI(如有)、支撑位、压力位 +结论:均线状态 + 趋势强度(xx/100) + +**基本面(注明报告期):** +表格(指标 | 数值 | 行业对比):ROE、毛利率、净利率、资产负债率、PE、PB +数据缺失标"暂缺",不得捏造 + +**资金面:**(A股/港股适用,美股可略) +- 主力净流入:金额(占比%),一句话解读 +- 筹码:获利比例 | 平均成本 | 集中度 + +--- + +### 🎯 作战计划 + +| 点位类型 | 价格 | 说明 | +|---------|------|------| +| 🎯 理想买入 | xxx | | +| 🔵 次优买入 | xxx | | +| 🛑 止损位 | xxx | | +| 🎊 目标位 | xxx | | + +**💰 仓位建议:** x成 +**建仓策略:** 分批策略 +**风控策略:** 止损纪律 + +--- + +### ✅ 检查清单 +- ✅/⚠️/❌ 均线状态 +- ✅/⚠️/❌ 乖离率安全(<5%) +- ✅/⚠️/❌ 量能配合 +- ✅/⚠️/❌ 估值合理 +- ✅/⚠️/❌ 资金流向 +- ✅/⚠️/❌ 筹码健康 + +**综合结论:** 一句话总结当前状态和建议。 + +--- +*以上分析仅供参考,不构成投资建议,据此操作风险自担。*`; +} + +// ── 研报 Prompt(PDF/Word)────────────────────────────── + +function buildReportPrompt(data: StockData, position: PositionInfo | undefined): string { + const positionBlock = position?.status === "holding" + ? `用户持仓成本:${position.cost ?? "未知"}` + : "用户当前空仓"; + + return `${positionBlock} + +股票数据: +\`\`\`json +${JSON.stringify(data, null, 2)} +\`\`\` + +请生成结构化研报: + +【研究报告】{名称}({代码}) · {市场} · {日期} + +一、投资结论(买入/强烈买入/观望/卖出,含目标价、止损价,分空仓/持仓两套建议) +二、重要信息速览(舆情/业绩预期/风险/利好/最新动态) +三、数据透视(技术面/基本面/资金面) +四、作战计划(点位表/仓位/持仓周期) +五、风险提示(2-3条) + +免责声明:本报告由AI辅助生成,仅供参考,不构成投资建议,据此操作风险自担。`; +} + +// ── 提取结论 ────────────────────────────────────────────── + +function extractVerdict(text: string): Verdict { + const patterns = [ + /结论[::]\s*[💚🟢🟡🔴⚪]?\s*(强烈买入|买入|观望|卖出)/, + /核心结论[::]\s*[💚🟢🟡🔴⚪]?\s*(强烈买入|买入|观望|卖出)/, + /\*\*(强烈买入|买入|观望|卖出)\*\*/, + ]; + for (const p of patterns) { + const m = text.match(p); + if (m) return m[1] as Verdict; + } + return "观望"; +} + +// ── 核心分析 ────────────────────────────────────────────── + +export async function analyzeStock( + data: StockData, + outputFormat: OutputFormat = "markdown", + position?: PositionInfo, + includeDividend = false +): Promise { + const { valid, warnings } = validateStockData(data); + const name = data.name ?? data.code; + + if (!valid) { + return { + code: data.code, market: data.market, name, + verdict: "观望", + analysis: `## ⚠️ 数据获取失败\n\n${data.code} 数据无法获取(${data.error ?? "未知错误"}),建议手动核实。`, + warnings, outputFormat, + generatedAt: new Date().toISOString(), + }; + } + + const zai = await ZAI.create(); + const userPrompt = outputFormat === "markdown" + ? buildDashboardPrompt(data, position, warnings) + : buildReportPrompt(data, position); + + let analysisText = "⚠️ LLM 未返回内容,请重试。"; + try { + const completion = await zai.chat.completions.create({ + messages: [ + { role: "system", content: `你是一位资深${MARKET_LABEL[data.market]}股票分析师。数据缺失标"暂缺",严禁捏造。乖离率>5%不得建议买入。结论四选一:强烈买入/买入/观望/卖出。输出语言:中文。` }, + { role: "user", content: userPrompt }, + ], + thinking: { type: "disabled" }, + }); + analysisText = completion.choices[0]?.message?.content ?? analysisText; + } catch (err: any) { + analysisText = `## ⚠️ 分析失败\n\nLLM 调用出错:${err.message}`; + } + + // 美股附加股息分析 + if (includeDividend && data.market === "US" && outputFormat === "markdown") { + try { + const dividend = await analyzeDividend(data.code); + const dividendMd = formatDividendMarkdown(dividend); + analysisText += `\n\n${dividendMd}`; + } catch {} + } + + return { + code: data.code, market: data.market, name, + verdict: extractVerdict(analysisText), + analysis: analysisText, + warnings, outputFormat, + generatedAt: new Date().toISOString(), + }; +} + +// ── 批量分析 ────────────────────────────────────────────── + +export async function analyzeMultipleStocks( + stockDataList: StockData[], + outputFormat: OutputFormat = "markdown", + positions?: Record, + includeDividend = false +): Promise { + const results: AnalysisResult[] = []; + for (const data of stockDataList) { + const position = positions?.[data.code]; + results.push(await analyzeStock(data, outputFormat, position, includeDividend)); + } + return results; +} + +// ── K线图分析(VLM)────────────────────────────────────── + +export async function analyzeChartImage( + imageUrlOrBase64: string, + stockCode: string, + isBase64 = false +): Promise { + try { + const zai = await ZAI.create(); + const imageContent = isBase64 + ? { type: "base64" as const, data: imageUrlOrBase64, mediaType: "image/png" as const } + : { type: "url" as const, url: imageUrlOrBase64 }; + + const completion = await zai.chat.completions.create({ + messages: [ + { role: "system", content: "你是技术分析专家,擅长K线形态识别。请用中文回答。" }, + { + role: "user", + content: [ + { type: "image", image: imageContent }, + { type: "text", text: `这是 ${stockCode} 的K线图,请分析:\n1. 当前K线形态\n2. 趋势方向\n3. 关键支撑位和压力位\n4. 成交量配合\n5. 短期操作建议` }, + ], + }, + ], + }); + return completion.choices[0]?.message?.content ?? "⚠️ VLM 未返回内容"; + } catch (err: any) { + return `K线图分析失败:${err.message}`; + } +} diff --git a/skills/stock-analysis-skill/src/dataFetcher.ts b/skills/stock-analysis-skill/src/dataFetcher.ts new file mode 100755 index 0000000..d7429c3 --- /dev/null +++ b/skills/stock-analysis-skill/src/dataFetcher.ts @@ -0,0 +1,130 @@ +/** + * dataFetcher.ts — 全部通过 finance skill 获取数据 + */ + +import ZAI from "z-ai-web-dev-sdk"; +import { Market, FetchMode, StockData } from "./types"; + +export function detectMarket(code: string): Market { + if (/^\d{6}$/.test(code)) return "CN"; + if (/^\d{4,5}\.HK$/i.test(code)) return "HK"; + return "US"; +} + +const MARKET_LABEL: Record = { + CN: "A股", HK: "港股", US: "美股", +}; + +// ── 单只股票数据 ────────────────────────────────────────── + +export async function fetchStockData( + code: string, + mode: FetchMode = "full" +): Promise { + const market = detectMarket(code); + const zai = await ZAI.create(); + + const prompt = mode === "quote" + ? `查询 ${code}(${MARKET_LABEL[market]})实时股价,只返回 JSON,字段: + name, price, prev_close, change_pct, change_amount, volume, amount, turnover, volume_ratio, market_cap, pe_ttm, pb。` + : `获取 ${code}(${MARKET_LABEL[market]})完整股票数据,只返回 JSON,包含: + name, price, prev_close, open, high, low, change_pct, change_amount, amplitude, + volume, amount, turnover, volume_ratio, market_cap, pe_ttm, pb, high_52w, low_52w, dividend_yield, + ma5, ma10, ma20, bias_pct(相对MA20乖离率%), + trend("多头排列"/"空头排列"/"震荡整理"), overbought_warning(bias_pct>5则true), + support(支撑位), resistance(压力位), rsi, + kline_recent_10(最近10日,每项含 date/open/close/high/low/volume), + profit_ratio(获利比例%), avg_cost(平均成本), chip_concentration(筹码集中度), + roe, gross_margin, net_margin, debt_ratio, eps, revenue_growth, + main_net(主力净流入金额), main_net_pct(主力净流入占比%)。 + 缺失字段填 null,不得捏造。`; + + try { + const completion = await zai.chat.completions.create({ + messages: [{ role: "user", content: prompt }], + thinking: { type: "disabled" }, + }); + const raw = completion.choices[0]?.message?.content ?? ""; + const parsed = JSON.parse(raw.replace(/```json|```/g, "").trim()); + return { code, market, timestamp: new Date().toISOString(), ...parsed }; + } catch (err: any) { + return { code, market, timestamp: new Date().toISOString(), error: err.message }; + } +} + +// ── 批量抓取(串行)────────────────────────────────────── + +export async function fetchMultipleStocks( + codes: string[], + mode: FetchMode = "full" +): Promise { + const results: StockData[] = []; + for (let i = 0; i < codes.length; i++) { + results.push(await fetchStockData(codes[i], mode)); + if (i < codes.length - 1) await new Promise((r) => setTimeout(r, 300)); + } + return results; +} + +// ── 全球宏观 ────────────────────────────────────────────── + +export async function fetchGlobalMacro(): Promise { + const zai = await ZAI.create(); + try { + const completion = await zai.chat.completions.create({ + messages: [{ + role: "user", + content: `请获取今日全球市场关键信息,简洁 Markdown 输出,包含: +- 美股三大指数昨收涨跌(道指/纳指/标普) +- 美元指数、人民币汇率动向 +- 黄金、原油最新价格 +- 美联储最新政策动向(如有) +- 影响 A股/港股的1-2条关键宏观事件 +控制在150字以内。`, + }], + thinking: { type: "disabled" }, + }); + return completion.choices[0]?.message?.content ?? "全球宏观数据获取失败"; + } catch (err: any) { + return `全球宏观数据获取失败:${err.message}`; + } +} + +// ── 大盘复盘 ────────────────────────────────────────────── + +export async function fetchMarketOverview(): Promise { + const zai = await ZAI.create(); + try { + const completion = await zai.chat.completions.create({ + messages: [{ + role: "user", + content: `请获取今日 A股大盘数据,Markdown 输出,包含: +- 上证/深证/创业板/科创50 最新点位和涨跌幅 +- 今日上涨/下跌/涨停/跌停家数,成交额 +- 领涨板块 TOP3 和领跌板块 TOP3 +- 北向资金净流入 +- 一句话后市展望和仓位策略 +控制在200字以内。`, + }], + thinking: { type: "disabled" }, + }); + return completion.choices[0]?.message?.content ?? "大盘数据获取失败"; + } catch (err: any) { + return `大盘数据获取失败:${err.message}`; + } +} + +// ── 数据校验 ────────────────────────────────────────────── + +export function validateStockData(data: StockData): { + valid: boolean; + warnings: string[]; +} { + const warnings: string[] = []; + if (data.error) return { valid: false, warnings: [`数据获取失败:${data.error}`] }; + if (!data.price) warnings.push("价格数据缺失"); + if (!data.ma5 && !data.ma20) warnings.push("技术面数据缺失"); + if (data.overbought_warning) warnings.push(`⚠️ 乖离率 ${data.bias_pct}% 超过5%,严禁追高`); + if (!data.roe && !data.pe_ttm) warnings.push("基本面数据不完整"); + return { valid: !!data.price, warnings }; +} diff --git a/skills/stock-analysis-skill/src/dividend.ts b/skills/stock-analysis-skill/src/dividend.ts new file mode 100755 index 0000000..cffedc6 --- /dev/null +++ b/skills/stock-analysis-skill/src/dividend.ts @@ -0,0 +1,226 @@ +/** + * dividend.ts + * 股息分析模块(适配 finance skill) + * 移植原版评分逻辑:安全评分 / CAGR / 连续增长年数 / 派息可持续性 + */ + +import ZAI from "z-ai-web-dev-sdk"; +import { DividendAnalysis, PayoutStatus, IncomeRating } from "./types"; + +// ── 核心评分逻辑(与原版完全一致)────────────────────────── + +function calcPayoutStatus(payoutRatio: number | null): PayoutStatus { + if (payoutRatio === null) return "unknown"; + if (payoutRatio < 40) return "safe"; + if (payoutRatio < 60) return "moderate"; + if (payoutRatio < 80) return "high"; + return "unsustainable"; +} + +function calcSafetyScore(data: { + payoutRatio: number | null; + dividendGrowth5y: number | null; + consecutiveYears: number | null; + dividendYield: number | null; +}): { score: number; factors: string[] } { + let score = 50; + const factors: string[] = []; + + // 派息率(±20) + if (data.payoutRatio !== null) { + if (data.payoutRatio < 40) { score += 20; factors.push(`派息率健康(${data.payoutRatio.toFixed(0)}%)`); } + else if (data.payoutRatio < 60) { score += 10; factors.push(`派息率适中(${data.payoutRatio.toFixed(0)}%)`); } + else if (data.payoutRatio < 80) { score -= 10; factors.push(`派息率偏高(${data.payoutRatio.toFixed(0)}%)`); } + else { score -= 20; factors.push(`派息率不可持续(${data.payoutRatio.toFixed(0)}%)`); } + } + + // 5年增长率(±15) + if (data.dividendGrowth5y !== null) { + if (data.dividendGrowth5y > 10) { score += 15; factors.push(`股息增长强劲(${data.dividendGrowth5y.toFixed(1)}% CAGR)`); } + else if (data.dividendGrowth5y > 5) { score += 10; factors.push(`股息增长良好(${data.dividendGrowth5y.toFixed(1)}% CAGR)`); } + else if (data.dividendGrowth5y > 0) { score += 5; factors.push(`股息小幅增长(${data.dividendGrowth5y.toFixed(1)}% CAGR)`); } + else { score -= 15; factors.push(`股息下降(${data.dividendGrowth5y.toFixed(1)}% CAGR)`); } + } + + // 连续增长年数(±15) + if (data.consecutiveYears !== null) { + if (data.consecutiveYears >= 25) { score += 15; factors.push(`股息贵族(连续${data.consecutiveYears}年增长)`); } + else if (data.consecutiveYears >= 10) { score += 10; factors.push(`长期稳定股息(${data.consecutiveYears}年)`); } + else if (data.consecutiveYears >= 5) { score += 5; factors.push(`股息稳定(${data.consecutiveYears}年)`); } + } + + // 高收益率风险(-10) + if (data.dividendYield !== null) { + if (data.dividendYield > 8) { score -= 10; factors.push(`收益率过高(${data.dividendYield.toFixed(1)}%),需核实可持续性`); } + else if (data.dividendYield < 1) { factors.push(`收益率偏低(${data.dividendYield.toFixed(2)}%)`); } + } + + return { score: Math.max(0, Math.min(100, score)), factors }; +} + +function calcIncomeRating(safetyScore: number): IncomeRating { + if (safetyScore >= 80) return "excellent"; + if (safetyScore >= 60) return "good"; + if (safetyScore >= 40) return "moderate"; + return "poor"; +} + +// ── 通过 finance skill 获取股息数据 ────────────────────── + +async function fetchDividendData(ticker: string): Promise> { + const zai = await ZAI.create(); + + const completion = await zai.chat.completions.create({ + messages: [{ + role: "user", + content: `请查询 ${ticker} 的股息数据,只返回 JSON,包含: +name(公司名称), currentPrice(当前股价), +dividendYield(年化股息率%), annualDividend(年度每股股息), +trailingEps(过去12月每股收益), +exDividendDate(除权日 YYYY-MM-DD 格式), +paymentFrequency("monthly"/"quarterly"/"annual",根据派息频率判断), +dividendHistory(近5年年度股息数组,每项含 year 和 total,从新到旧排序), +consecutiveYears(连续股息增长年数,整数), +dividendGrowth5y(近5年股息 CAGR %)。 +缺失字段填 null,不得捏造。`, + }], + thinking: { type: "disabled" }, + }); + + const raw = completion.choices[0]?.message?.content ?? "{}"; + return JSON.parse(raw.replace(/```json|```/g, "").trim()); +} + +// ── 主分析函数 ──────────────────────────────────────────── + +export async function analyzeDividend(ticker: string): Promise { + ticker = ticker.toUpperCase(); + + let raw: Record = {}; + try { + raw = await fetchDividendData(ticker); + } catch (err: any) { + return { + ticker, name: ticker, currentPrice: null, + dividendYield: null, annualDividend: null, + payoutRatio: null, payoutStatus: "unknown", + dividendGrowth5y: null, consecutiveYears: null, + exDividendDate: null, paymentFrequency: null, + safetyScore: 0, safetyFactors: [`数据获取失败:${err.message}`], + incomeRating: "poor", dividendHistory: [], + summary: `${ticker} 股息数据获取失败。`, + }; + } + + // 无股息 + if (!raw.annualDividend || raw.annualDividend === 0) { + return { + ticker, name: raw.name ?? ticker, + currentPrice: raw.currentPrice ?? null, + dividendYield: null, annualDividend: null, + payoutRatio: null, payoutStatus: "no_dividend", + dividendGrowth5y: null, consecutiveYears: null, + exDividendDate: null, paymentFrequency: null, + safetyScore: 0, safetyFactors: ["该股票不派息"], + incomeRating: "no_dividend", dividendHistory: [], + summary: `${ticker} 目前不派发股息。`, + }; + } + + // 计算派息率 + const payoutRatio = (raw.trailingEps && raw.trailingEps > 0 && raw.annualDividend) + ? parseFloat(((raw.annualDividend / raw.trailingEps) * 100).toFixed(1)) + : null; + + const payoutStatus = calcPayoutStatus(payoutRatio); + const { score: safetyScore, factors: safetyFactors } = calcSafetyScore({ + payoutRatio, + dividendGrowth5y: raw.dividendGrowth5y ?? null, + consecutiveYears: raw.consecutiveYears ?? null, + dividendYield: raw.dividendYield ?? null, + }); + + const incomeRating = calcIncomeRating(safetyScore); + + // 生成摘要 + const parts: string[] = []; + if (raw.dividendYield) parts.push(`收益率 ${Number(raw.dividendYield).toFixed(2)}%`); + if (payoutRatio) parts.push(`派息率 ${payoutRatio.toFixed(0)}%`); + if (raw.dividendGrowth5y) parts.push(`5年增长 ${Number(raw.dividendGrowth5y) > 0 ? "+" : ""}${Number(raw.dividendGrowth5y).toFixed(1)}%`); + if (raw.consecutiveYears && raw.consecutiveYears >= 5) parts.push(`连续增长 ${raw.consecutiveYears} 年`); + + const ratingLabel: Record = { + excellent: "优秀", good: "良好", moderate: "一般", poor: "较差", no_dividend: "无股息", + }; + + return { + ticker, + name: raw.name ?? ticker, + currentPrice: raw.currentPrice ?? null, + dividendYield: raw.dividendYield ? Number(Number(raw.dividendYield).toFixed(2)) : null, + annualDividend: raw.annualDividend ?? null, + payoutRatio, + payoutStatus, + dividendGrowth5y: raw.dividendGrowth5y ? Number(Number(raw.dividendGrowth5y).toFixed(2)) : null, + consecutiveYears: raw.consecutiveYears ?? null, + exDividendDate: raw.exDividendDate ?? null, + paymentFrequency: raw.paymentFrequency ?? null, + safetyScore, + safetyFactors, + incomeRating, + dividendHistory: raw.dividendHistory ?? [], + summary: `${ticker}(${raw.name ?? ""}):${parts.join(",")}。评级:${ratingLabel[incomeRating]}`, + }; +} + +// ── 格式化输出(Markdown 仪表盘)───────────────────────── + +export function formatDividendMarkdown(analysis: DividendAnalysis): string { + if (analysis.incomeRating === "no_dividend") { + return `### 💰 股息分析 · ${analysis.ticker}\n\n该股票目前不派发股息。`; + } + + const ratingEmoji: Record = { + excellent: "🏆", good: "✅", moderate: "⚠️", poor: "❌", no_dividend: "—", + }; + + const payoutLabel: Record = { + safe: "✅ 安全", moderate: "⚠️ 适中", high: "⚠️ 偏高", unsustainable: "❌ 不可持续", unknown: "暂缺", + }; + + let md = `### 💰 股息分析 · ${analysis.ticker}(${analysis.name}) + +| 指标 | 数值 | +|------|------| +| 股息收益率 | ${analysis.dividendYield ? `${analysis.dividendYield}%` : "暂缺"} | +| 年度每股股息 | ${analysis.annualDividend ? `$${analysis.annualDividend}` : "暂缺"} | +| 派息频率 | ${analysis.paymentFrequency ?? "暂缺"} | +| 除权日 | ${analysis.exDividendDate ?? "暂缺"} | +| 派息率 | ${analysis.payoutRatio ? `${analysis.payoutRatio}%(${payoutLabel[analysis.payoutStatus]})` : "暂缺"} | +| 5年股息增长 | ${analysis.dividendGrowth5y ? `${analysis.dividendGrowth5y > 0 ? "+" : ""}${analysis.dividendGrowth5y}%` : "暂缺"} | +| 连续增长年数 | ${analysis.consecutiveYears ?? "暂缺"} | + +**安全评分:${analysis.safetyScore}/100 ${ratingEmoji[analysis.incomeRating]} 收入评级:${analysis.incomeRating.toUpperCase()}** + +评分依据: +${analysis.safetyFactors.map((f) => `- ${f}`).join("\n")} +`; + + if (analysis.dividendHistory.length > 0) { + md += `\n近年股息历史:\n`; + md += analysis.dividendHistory.slice(0, 5).map((h) => `- ${h.year}年:$${h.total}`).join("\n"); + } + + return md; +} + +// ── 批量分析 ────────────────────────────────────────────── + +export async function analyzeDividends(tickers: string[]): Promise { + const results: DividendAnalysis[] = []; + for (const ticker of tickers) { + results.push(await analyzeDividend(ticker)); + await new Promise((r) => setTimeout(r, 200)); + } + return results; +} diff --git a/skills/stock-analysis-skill/src/index.ts b/skills/stock-analysis-skill/src/index.ts new file mode 100755 index 0000000..8be40d9 --- /dev/null +++ b/skills/stock-analysis-skill/src/index.ts @@ -0,0 +1,327 @@ +/** + * index.ts — Skill 主入口 + * + * 支持命令: + * run() — 个股分析(主流程) + * runDividend() — 股息分析 + * runRumorScan() — 传闻扫描 + * runWatchlistAdd() — 添加自选股 + * runWatchlistList() — 查看自选股 + * runWatchlistCheck()— 检查提醒 + * runWatchlistRemove()— 删除自选股 + * runChartAnalysis() — K线图分析 + */ + +import ZAI from "z-ai-web-dev-sdk"; +import { fetchMultipleStocks, fetchMarketOverview, fetchGlobalMacro } from "./dataFetcher"; +import { analyzeMultipleStocks, analyzeChartImage } from "./analyzer"; +import { analyzeDividends, formatDividendMarkdown } from "./dividend"; +import { scanRumors, formatRumorMarkdown } from "./rumorScanner"; +import { + addToWatchlist, removeFromWatchlist, + listWatchlist, checkAlerts, + formatWatchlistMarkdown, formatAlertsMarkdown, +} from "./watchlist"; +import { SkillInput, StockInput, OutputFormat, AnalysisResult, PositionInfo, Verdict } from "./types"; + +// ── 输入解析 ────────────────────────────────────────────── + +function parseInput(raw: unknown): { + stocks: string[]; + positions: Record; + outputFormat: OutputFormat; + mode: "full" | "quote"; + includeMarketReview: boolean; + includeGlobalMacro: boolean; + includeDividend: boolean; +} { + const stocks: string[] = []; + const positions: Record = {}; + let outputFormat: OutputFormat = "markdown"; + let mode: "full" | "quote" = "full"; + let includeMarketReview = false; + let includeGlobalMacro = true; + let includeDividend = false; + + if (typeof raw === "string") { + raw.split(/[,,\s]+/).map((s) => s.trim().toUpperCase()).filter(Boolean).forEach((c) => stocks.push(c)); + } else if (typeof raw === "object" && raw !== null) { + const input = raw as any; + const rawStocks: (string | StockInput)[] = input.stocks ?? (input.stock ? [input.stock] : []); + for (const s of rawStocks) { + if (typeof s === "string") stocks.push(s.trim().toUpperCase()); + else if (s.code) { + const code = s.code.trim().toUpperCase(); + stocks.push(code); + if (s.position) positions[code] = s.position; + } + } + outputFormat = input.outputFormat ?? input.format ?? "markdown"; + mode = input.mode ?? "full"; + includeMarketReview = input.includeMarketReview ?? false; + includeGlobalMacro = input.includeGlobalMacro ?? true; + includeDividend = input.includeDividend ?? false; + } + + return { stocks, positions, outputFormat, mode, includeMarketReview, includeGlobalMacro, includeDividend }; +} + +function log(msg: string) { console.log(`[${new Date().toISOString()}] ${msg}`); } + +// ── 报告组装 ────────────────────────────────────────────── + +function buildFullReport( + results: AnalysisResult[], + globalMacro?: string, + marketOverview?: string +): string { + const date = new Date().toLocaleDateString("zh-CN"); + const buy = results.filter((r) => ["买入", "强烈买入"].includes(r.verdict)).length; + const watch = results.filter((r) => r.verdict === "观望").length; + const sell = results.filter((r) => r.verdict === "卖出").length; + + let output = `# 📈 股票智能分析报告 +**生成时间:** ${date} | **分析 ${results.length} 只** | 🟢买入/强烈买入 ${buy} 🟡观望 ${watch} 🔴卖出 ${sell} + +`; + if (globalMacro) output += `---\n\n## 🌍 全球宏观速览\n\n${globalMacro}\n\n`; + if (marketOverview) output += `---\n\n## 🎯 大盘复盘\n\n${marketOverview}\n\n`; + output += `---\n\n## 📊 个股决策仪表盘\n\n`; + output += results.map((r) => { + const warn = r.warnings.length > 0 ? `\n> ⚠️ **预警:** ${r.warnings.join(" | ")}\n` : ""; + return `${warn}\n${r.analysis}\n\n---\n`; + }).join("\n"); + + return output; +} + +// ── 调用 pdf/docx skill ─────────────────────────────────── + +async function exportToFormat(content: string, format: "pdf" | "word"): Promise { + const zai = await ZAI.create(); + const isPDF = format === "pdf"; + const completion = await zai.chat.completions.create({ + messages: [{ + role: "user", + content: isPDF + ? `请创建一份 PDF 文档,内容是以下股票研报。要求:A4页面,中文字体,每只股票独立分页,结论用颜色标注,末尾附免责声明。\n\n${content}` + : `请创建一份 Word (.docx) 文档,内容是以下股票研报。要求:保留标题层级,每只股票独立分页,作战计划用表格,末尾附免责声明。\n\n${content}`, + }], + thinking: { type: "disabled" }, + }); + return completion.choices[0]?.message?.content ?? `${isPDF ? "PDF" : "Word"} 生成完成`; +} + +// ══════════════════════════════════════════════════════════ +// 主流程:个股分析 +// ══════════════════════════════════════════════════════════ + +export async function run(rawInput: unknown): Promise<{ + success: boolean; format: OutputFormat; content: string; + summary: { total: number; buy: number; watch: number; sell: number; errors: number }; + error?: string; +}> { + let parsed: ReturnType; + try { parsed = parseInput(rawInput); } + catch (err: any) { + return { success: false, format: "markdown", content: `❌ 输入解析失败:${err.message}`, + summary: { total: 0, buy: 0, watch: 0, sell: 0, errors: 0 }, error: err.message }; + } + + const { stocks, positions, outputFormat, mode, includeMarketReview, includeGlobalMacro, includeDividend } = parsed; + if (!stocks.length) return { success: false, format: outputFormat, content: "❌ 未提供股票代码", + summary: { total: 0, buy: 0, watch: 0, sell: 0, errors: 0 } }; + + log(`分析 ${stocks.length} 只:${stocks.join(", ")} | 格式:${outputFormat}`); + + // 并行获取宏观数据 + let globalMacro: string | undefined; + let marketOverview: string | undefined; + await Promise.all([ + includeGlobalMacro ? fetchGlobalMacro().then((r) => { globalMacro = r; }) : Promise.resolve(), + includeMarketReview ? fetchMarketOverview().then((r) => { marketOverview = r; }) : Promise.resolve(), + ]); + + // 抓取个股数据 + let stockDataList; + try { + stockDataList = await fetchMultipleStocks(stocks, mode); + log(`数据完成:${stockDataList.filter((d) => !d.error).length}/${stocks.length}`); + } catch (err: any) { + return { success: false, format: outputFormat, content: `❌ 数据抓取失败:${err.message}`, + summary: { total: stocks.length, buy: 0, watch: 0, sell: 0, errors: stocks.length }, error: err.message }; + } + + // LLM 分析 + const analysisResults = await analyzeMultipleStocks(stockDataList, outputFormat, positions, includeDividend); + + // 检查自选股信号变化(如有) + const signals: Record = {}; + for (const r of analysisResults) signals[r.code] = r.verdict; + await checkAlerts(signals).catch(() => {}); // 静默更新,不阻塞主流程 + + // 生成报告 + let content: string; + try { + const markdown = buildFullReport(analysisResults, globalMacro, marketOverview); + if (outputFormat === "pdf") content = await exportToFormat(markdown, "pdf"); + else if (outputFormat === "word") content = await exportToFormat(markdown, "word"); + else content = markdown; + } catch (err: any) { + return { success: false, format: outputFormat, content: `❌ 报告生成失败:${err.message}`, + summary: { total: stocks.length, buy: 0, watch: 0, sell: 0, errors: stocks.length }, error: err.message }; + } + + const summary = { + total: analysisResults.length, + buy: analysisResults.filter((r) => ["买入", "强烈买入"].includes(r.verdict)).length, + watch: analysisResults.filter((r) => r.verdict === "观望").length, + sell: analysisResults.filter((r) => r.verdict === "卖出").length, + errors: stockDataList.filter((d) => d.error).length, + }; + + log(`完成 ✅ 买入:${summary.buy} 观望:${summary.watch} 卖出:${summary.sell}`); + return { success: true, format: outputFormat, content, summary }; +} + +// ══════════════════════════════════════════════════════════ +// 股息分析 +// ══════════════════════════════════════════════════════════ + +export async function runDividend(tickers: string | string[]): Promise { + const codes = Array.isArray(tickers) ? tickers : tickers.split(/[,,\s]+/).filter(Boolean); + log(`股息分析:${codes.join(", ")}`); + const results = await analyzeDividends(codes.map((c) => c.toUpperCase())); + + let output = `# 💰 股息分析报告\n**生成时间:** ${new Date().toLocaleDateString("zh-CN")}\n\n---\n\n`; + for (const r of results) output += formatDividendMarkdown(r) + "\n\n---\n\n"; + output += "_以上数据仅供参考,不构成投资建议。_"; + return output; +} + +// ══════════════════════════════════════════════════════════ +// 传闻扫描 +// ══════════════════════════════════════════════════════════ + +export async function runRumorScan(): Promise { + log("开始传闻扫描..."); + const result = await scanRumors(); + return formatRumorMarkdown(result); +} + +// ══════════════════════════════════════════════════════════ +// 自选股管理 +// ══════════════════════════════════════════════════════════ + +export async function runWatchlistAdd( + ticker: string, + opts: { targetPrice?: number; stopPrice?: number; alertOnSignal?: boolean; notes?: string } = {} +): Promise { + const result = await addToWatchlist(ticker, opts); + return result.message; +} + +export async function runWatchlistRemove(ticker: string): Promise { + const result = await removeFromWatchlist(ticker); + return result.message; +} + +export async function runWatchlistList(): Promise { + const data = await listWatchlist(); + return formatWatchlistMarkdown(data); +} + +export async function runWatchlistCheck(): Promise { + const result = await checkAlerts(); + return formatAlertsMarkdown(result); +} + +// ══════════════════════════════════════════════════════════ +// K线图分析 +// ══════════════════════════════════════════════════════════ + +export async function runChartAnalysis( + stockCode: string, + imageUrlOrBase64: string, + isBase64 = false +): Promise<{ success: boolean; content: string }> { + try { + const result = await analyzeChartImage(imageUrlOrBase64, stockCode, isBase64); + return { success: true, content: result }; + } catch (err: any) { + return { success: false, content: `K线图分析失败:${err.message}` }; + } +} + +// ══════════════════════════════════════════════════════════ +// CLI 调试 +// ══════════════════════════════════════════════════════════ + +async function cli() { + const args = process.argv.slice(2); + const cmd = args[0]; + + if (!cmd || cmd === "--help") { + console.log(` +Stock Analysis Skill CLI + +命令: + analyze <代码,...> [markdown|pdf|word] [--market-review] [--dividend] + dividend <代码,...> + rumors + watch add <代码> [--target 价格] [--stop 价格] [--signal] + watch remove <代码> + watch list + watch check + +示例: + ts-node src/index.ts analyze 600519,00700.HK,AAPL + ts-node src/index.ts analyze AAPL --dividend + ts-node src/index.ts dividend JNJ PG KO + ts-node src/index.ts rumors + ts-node src/index.ts watch add AAPL --target 200 --stop 150 + ts-node src/index.ts watch list + `); + process.exit(0); + } + + if (cmd === "analyze") { + const codes = (args[1] ?? "").split(",").map((s) => s.trim()).filter(Boolean); + const format = (["markdown", "pdf", "word"].find((f) => args.includes(f)) as OutputFormat) ?? "markdown"; + const includeMarketReview = args.includes("--market-review"); + const includeDividend = args.includes("--dividend"); + const result = await run({ stocks: codes, outputFormat: format, includeMarketReview, includeDividend }); + console.log(result.content); + console.log("\n📊 汇总:", result.summary); + + } else if (cmd === "dividend") { + const codes = args.slice(1).filter((a) => !a.startsWith("--")); + console.log(await runDividend(codes)); + + } else if (cmd === "rumors") { + console.log(await runRumorScan()); + + } else if (cmd === "watch") { + const sub = args[1]; + if (sub === "add") { + const ticker = args[2]; + const targetIdx = args.indexOf("--target"); + const stopIdx = args.indexOf("--stop"); + console.log(await runWatchlistAdd(ticker, { + targetPrice: targetIdx >= 0 ? Number(args[targetIdx + 1]) : undefined, + stopPrice: stopIdx >= 0 ? Number(args[stopIdx + 1]) : undefined, + alertOnSignal: args.includes("--signal"), + })); + } else if (sub === "remove") { + console.log(await runWatchlistRemove(args[2])); + } else if (sub === "list") { + console.log(await runWatchlistList()); + } else if (sub === "check") { + console.log(await runWatchlistCheck()); + } + } +} + +if (require.main === module) { + cli().catch((err) => { console.error(err); process.exit(1); }); +} diff --git a/skills/stock-analysis-skill/src/rumorScanner.ts b/skills/stock-analysis-skill/src/rumorScanner.ts new file mode 100755 index 0000000..270fbb4 --- /dev/null +++ b/skills/stock-analysis-skill/src/rumorScanner.ts @@ -0,0 +1,200 @@ +/** + * rumorScanner.ts + * 传闻与早期信号扫描(适配平台 finance skill) + * 替换原版 Twitter bird CLI + Google News,改用 finance skill 新闻 + LLM 提取 + * + * 扫描范围:M&A传闻 / 内部人交易 / 分析师调整 / SEC监管动态 / 市场早期信号 + */ + +import ZAI from "z-ai-web-dev-sdk"; +import { RumorItem, RumorScanResult, RumorType } from "./types"; + +// ── 评分逻辑(移植自原版 calculate_rumor_score)───────── + +function calcImpactScore( + type: RumorType, + text: string, + hasHighEngagement = false +): { score: number; reason: string } { + let score = 1; + const reasons: string[] = []; + + switch (type) { + case "ma": + score += 5; reasons.push("并购/收购类传闻,市场冲击最大"); break; + case "insider": + score += 4; reasons.push("内部人交易信号,可能预示重大动向"); break; + case "analyst": + score += 3; reasons.push("分析师评级调整,影响机构定价"); break; + case "regulatory": + score += 3; reasons.push("监管动态,直接影响经营合规性"); break; + case "earnings": + score += 2; reasons.push("业绩预期变动"); break; + default: + score += 1; + } + + if (/breaking|just in|alert|urgent/i.test(text)) { + score += 2; reasons.push("突发性消息"); + } + if (hasHighEngagement) { + score += 2; reasons.push("市场高度关注"); + } + + return { score: Math.min(10, score), reason: reasons.join(",") }; +} + +// ── 通过 finance skill 获取市场传闻新闻 ────────────────── + +async function fetchRumorNews(zai: any): Promise { + const completion = await zai.chat.completions.create({ + messages: [{ + role: "user", + content: `请获取今日美股市场的以下类型最新资讯,每类最多3条: +1. 并购传闻(merger/acquisition rumors) +2. 内部人买卖动态(insider buying/selling activity) +3. 分析师评级调整(analyst upgrades/downgrades) +4. SEC调查或监管动态 +5. 重大业绩预警或上调 + +以 JSON 格式返回,结构: +[{ + "type": "ma|insider|analyst|regulatory|earnings", + "ticker": "股票代码或null", + "headline": "标题", + "source": "来源", + "sentiment": "positive|negative|neutral", + "date": "YYYY-MM-DD" +}] +只返回 JSON,今日或近2日内的最新信息,不得捏造。`, + }], + thinking: { type: "disabled" }, + }); + return completion.choices[0]?.message?.content ?? "[]"; +} + +// ── LLM 从新闻中提取结构化传闻 ──────────────────────────── + +async function extractRumors(zai: any, rawNews: string): Promise { + try { + const parsed: any[] = JSON.parse(rawNews.replace(/```json|```/g, "").trim()); + + return parsed.map((item) => { + const type = (item.type as RumorType) ?? "general"; + const text = item.headline ?? ""; + const { score, reason } = calcImpactScore(type, text); + + return { + type, + ticker: item.ticker ?? null, + headline: text, + source: item.source ?? "finance", + impactScore: score, + impactReason: reason, + sentiment: item.sentiment ?? "neutral", + date: item.date ?? new Date().toISOString().slice(0, 10), + } as RumorItem; + }).sort((a, b) => b.impactScore - a.impactScore); + } catch { + return []; + } +} + +// ── 汇总最受关注的股票 ──────────────────────────────────── + +function aggregateTopTickers(rumors: RumorItem[]): { ticker: string; count: number }[] { + const counts: Record = {}; + for (const r of rumors) { + if (r.ticker) { + counts[r.ticker] = (counts[r.ticker] ?? 0) + 1; + } + } + return Object.entries(counts) + .sort((a, b) => b[1] - a[1]) + .slice(0, 10) + .map(([ticker, count]) => ({ ticker, count })); +} + +// ── 主扫描函数 ──────────────────────────────────────────── + +export async function scanRumors(): Promise { + const zai = await ZAI.create(); + const scannedAt = new Date().toISOString(); + + let rumors: RumorItem[] = []; + + try { + const rawNews = await fetchRumorNews(zai); + rumors = await extractRumors(zai, rawNews); + } catch (err: any) { + console.error("[scanRumors] 失败:", err.message); + } + + const topTickers = aggregateTopTickers(rumors); + + // 生成摘要 + const maCount = rumors.filter((r) => r.type === "ma").length; + const insiderCount = rumors.filter((r) => r.type === "insider").length; + const analystCount = rumors.filter((r) => r.type === "analyst").length; + + const summary = rumors.length === 0 + ? "今日暂无重大传闻或早期信号。" + : `共扫描到 ${rumors.length} 条信号:并购传闻 ${maCount} 条,内部人动态 ${insiderCount} 条,分析师调整 ${analystCount} 条。${topTickers.length > 0 ? `最受关注:${topTickers.slice(0, 3).map((t) => `$${t.ticker}`).join("、")}。` : ""}`; + + return { scannedAt, rumors, topTickers, summary }; +} + +// ── 格式化输出 ──────────────────────────────────────────── + +export function formatRumorMarkdown(result: RumorScanResult): string { + const typeLabel: Record = { + ma: "🏢 并购传闻", + insider: "👔 内部人动态", + analyst: "📊 分析师调整", + regulatory: "⚖️ 监管动态", + earnings: "📈 业绩预期", + general: "📰 市场信号", + }; + + const sentimentEmoji: Record = { + positive: "🟢", negative: "🔴", neutral: "⚪", + }; + + let md = `## 🔮 传闻与早期信号扫描 +**扫描时间:** ${new Date(result.scannedAt).toLocaleString("zh-CN")} +**${result.summary}** + +`; + + if (result.rumors.length === 0) { + md += "_今日暂无重大传闻。_\n"; + return md; + } + + // 按类型分组输出 + const grouped: Partial> = {}; + for (const r of result.rumors) { + if (!grouped[r.type]) grouped[r.type] = []; + grouped[r.type]!.push(r); + } + + for (const [type, items] of Object.entries(grouped)) { + md += `### ${typeLabel[type as RumorType] ?? type}\n\n`; + for (const item of items!.slice(0, 3)) { + md += `**[冲击 ${item.impactScore}/10]** ${sentimentEmoji[item.sentiment]} ${item.headline}\n`; + if (item.ticker) md += `> 相关标的:$${item.ticker}\n`; + md += `> 来源:${item.source} | ${item.date} | ${item.impactReason}\n\n`; + } + } + + // 热度排行 + if (result.topTickers.length > 0) { + md += `### 📊 传闻热度排行\n`; + md += result.topTickers.map((t) => + `- $${t.ticker}:被提及 ${t.count} 次` + ).join("\n"); + md += "\n"; + } + + return md; +} diff --git a/skills/stock-analysis-skill/src/types.ts b/skills/stock-analysis-skill/src/types.ts new file mode 100755 index 0000000..6edf484 --- /dev/null +++ b/skills/stock-analysis-skill/src/types.ts @@ -0,0 +1,167 @@ +/** + * types.ts — 统一类型定义 + */ + +export type Market = "CN" | "HK" | "US"; +export type FetchMode = "full" | "quote"; +export type OutputFormat = "markdown" | "pdf" | "word"; +export type Verdict = "买入" | "强烈买入" | "观望" | "卖出"; +export type PositionStatus = "empty" | "holding"; + +// ── 持仓信息 ────────────────────────────────────────────── + +export interface PositionInfo { + status: PositionStatus; + cost?: number; + shares?: number; +} + +// ── 股票数据 ────────────────────────────────────────────── + +export interface StockData { + code: string; + market: Market; + timestamp: string; + name?: string; + price?: number | null; + prev_close?: number | null; + open?: number | null; + high?: number | null; + low?: number | null; + change_pct?: number | null; + change_amount?: number | null; + amplitude?: number | null; + volume?: number | null; + amount?: number | null; + turnover?: number | null; + volume_ratio?: number | null; + market_cap?: number | null; + pe_ttm?: number | null; + pb?: number | null; + high_52w?: number | null; + low_52w?: number | null; + dividend_yield?: number | null; + ma5?: number | null; + ma10?: number | null; + ma20?: number | null; + bias_pct?: number | null; + trend?: string; + overbought_warning?: boolean; + support?: number | null; + resistance?: number | null; + rsi?: number | null; + kline_recent_10?: Record[]; + profit_ratio?: number | null; + avg_cost?: number | null; + chip_concentration?: number | null; + roe?: number | null; + gross_margin?: number | null; + net_margin?: number | null; + debt_ratio?: number | null; + eps?: number | null; + revenue_growth?: number | null; + main_net?: number | null; + main_net_pct?: number | null; + error?: string; +} + +// ── 分析结果 ────────────────────────────────────────────── + +export interface AnalysisResult { + code: string; + market: Market; + name: string; + verdict: Verdict; + analysis: string; + warnings: string[]; + outputFormat: OutputFormat; + generatedAt: string; +} + +// ── 股息分析 ────────────────────────────────────────────── + +export type PayoutStatus = "safe" | "moderate" | "high" | "unsustainable" | "no_dividend" | "unknown"; +export type IncomeRating = "excellent" | "good" | "moderate" | "poor" | "no_dividend"; + +export interface DividendAnalysis { + ticker: string; + name: string; + currentPrice: number | null; + dividendYield: number | null; // % + annualDividend: number | null; + payoutRatio: number | null; // % + payoutStatus: PayoutStatus; + dividendGrowth5y: number | null; // CAGR % + consecutiveYears: number | null; + exDividendDate: string | null; + paymentFrequency: string | null; + safetyScore: number; // 0-100 + safetyFactors: string[]; + incomeRating: IncomeRating; + dividendHistory: { year: number; total: number }[]; + summary: string; +} + +// ── 传闻扫描 ────────────────────────────────────────────── + +export type RumorType = "ma" | "insider" | "analyst" | "regulatory" | "earnings" | "general"; + +export interface RumorItem { + type: RumorType; + ticker: string | null; // 相关股票代码(可能为 null) + headline: string; + source: string; + impactScore: number; // 1-10 + impactReason: string; + sentiment: "positive" | "negative" | "neutral"; + date: string; +} + +export interface RumorScanResult { + scannedAt: string; + rumors: RumorItem[]; + topTickers: { ticker: string; count: number }[]; // 最受关注的股票 + summary: string; +} + +// ── 自选股 ──────────────────────────────────────────────── + +export type AlertType = "target_hit" | "stop_hit" | "signal_change"; + +export interface WatchlistItem { + ticker: string; + name?: string; + market: Market; + addedAt: string; + priceAtAdd: number | null; + targetPrice: number | null; + stopPrice: number | null; + alertOnSignal: boolean; + lastSignal: Verdict | null; + lastCheck: string | null; + notes: string | null; +} + +export interface WatchlistAlert { + ticker: string; + alertType: AlertType; + message: string; + currentPrice: number; + triggerValue: number | string; + timestamp: string; +} + +// ── Skill 入参 ──────────────────────────────────────────── + +export interface StockInput { + code: string; + position?: PositionInfo; +} + +export interface SkillInput { + stocks?: (string | StockInput)[]; + outputFormat?: OutputFormat; + mode?: FetchMode; + includeMarketReview?: boolean; + includeGlobalMacro?: boolean; +} diff --git a/skills/stock-analysis-skill/src/watchlist.ts b/skills/stock-analysis-skill/src/watchlist.ts new file mode 100755 index 0000000..b004851 --- /dev/null +++ b/skills/stock-analysis-skill/src/watchlist.ts @@ -0,0 +1,292 @@ +/** + * watchlist.ts + * 自选股管理 + 价格提醒(使用平台 storage 持久化) + * 移植原版三种提醒类型:目标价 / 止损价 / 信号变化 + */ + +import ZAI from "z-ai-web-dev-sdk"; +import { WatchlistItem, WatchlistAlert, Market, Verdict } from "./types"; + +const STORAGE_KEY = "watchlist-data"; + +// ── Storage 封装 ────────────────────────────────────────── + +async function loadWatchlist(): Promise { + try { + const result = await (window as any).storage?.get(STORAGE_KEY); + if (result?.value) return JSON.parse(result.value) as WatchlistItem[]; + } catch {} + return []; +} + +async function saveWatchlist(items: WatchlistItem[]): Promise { + try { + await (window as any).storage?.set(STORAGE_KEY, JSON.stringify(items)); + } catch (err: any) { + console.error("[watchlist] 保存失败:", err.message); + } +} + +// ── 获取当前价格 ────────────────────────────────────────── + +async function fetchCurrentPrice(ticker: string): Promise { + try { + const zai = await ZAI.create(); + const completion = await zai.chat.completions.create({ + messages: [{ + role: "user", + content: `查询 ${ticker} 当前股价,只返回一个 JSON:{"price": 数字},不要其他内容。`, + }], + thinking: { type: "disabled" }, + }); + const raw = completion.choices[0]?.message?.content ?? "{}"; + const parsed = JSON.parse(raw.replace(/```json|```/g, "").trim()); + return typeof parsed.price === "number" ? parsed.price : null; + } catch { + return null; + } +} + +function detectMarket(code: string): Market { + if (/^\d{6}$/.test(code)) return "CN"; + if (/^\d{4,5}\.HK$/i.test(code)) return "HK"; + return "US"; +} + +// ── 添加自选股 ──────────────────────────────────────────── + +export async function addToWatchlist( + ticker: string, + opts: { + targetPrice?: number; + stopPrice?: number; + alertOnSignal?: boolean; + notes?: string; + } = {} +): Promise<{ success: boolean; action: string; message: string; item?: WatchlistItem }> { + ticker = ticker.toUpperCase(); + const currentPrice = await fetchCurrentPrice(ticker); + + if (currentPrice === null) { + return { success: false, action: "error", message: `无法获取 ${ticker} 的价格,请确认代码正确` }; + } + + const watchlist = await loadWatchlist(); + const existingIdx = watchlist.findIndex((i) => i.ticker === ticker); + + if (existingIdx >= 0) { + // 更新已有记录 + const existing = watchlist[existingIdx]; + if (opts.targetPrice !== undefined) existing.targetPrice = opts.targetPrice; + if (opts.stopPrice !== undefined) existing.stopPrice = opts.stopPrice; + if (opts.alertOnSignal !== undefined) existing.alertOnSignal = opts.alertOnSignal; + if (opts.notes !== undefined) existing.notes = opts.notes; + watchlist[existingIdx] = existing; + await saveWatchlist(watchlist); + + return { success: true, action: "updated", message: `已更新 ${ticker} 的自选股设置`, item: existing }; + } + + // 新增 + const item: WatchlistItem = { + ticker, + market: detectMarket(ticker), + addedAt: new Date().toISOString(), + priceAtAdd: currentPrice, + targetPrice: opts.targetPrice ?? null, + stopPrice: opts.stopPrice ?? null, + alertOnSignal: opts.alertOnSignal ?? false, + lastSignal: null, + lastCheck: null, + notes: opts.notes ?? null, + }; + + watchlist.push(item); + await saveWatchlist(watchlist); + + const alertDesc = [ + opts.targetPrice ? `目标价 $${opts.targetPrice}` : null, + opts.stopPrice ? `止损价 $${opts.stopPrice}` : null, + opts.alertOnSignal ? "信号变化提醒" : null, + ].filter(Boolean).join(","); + + return { + success: true, action: "added", + message: `已添加 ${ticker} 到自选股(当前价 $${currentPrice}${alertDesc ? `,设置了:${alertDesc}` : ""})`, + item, + }; +} + +// ── 删除自选股 ──────────────────────────────────────────── + +export async function removeFromWatchlist( + ticker: string +): Promise<{ success: boolean; message: string }> { + ticker = ticker.toUpperCase(); + const watchlist = await loadWatchlist(); + const filtered = watchlist.filter((i) => i.ticker !== ticker); + + if (filtered.length === watchlist.length) { + return { success: false, message: `${ticker} 不在自选股列表中` }; + } + + await saveWatchlist(filtered); + return { success: true, message: `已从自选股中删除 ${ticker}` }; +} + +// ── 查看自选股列表 ──────────────────────────────────────── + +export async function listWatchlist(): Promise<{ + items: Array; + count: number; +}> { + const watchlist = await loadWatchlist(); + if (!watchlist.length) return { items: [], count: 0 }; + + const items = await Promise.all(watchlist.map(async (item) => { + const currentPrice = await fetchCurrentPrice(item.ticker); + + const changePct = currentPrice && item.priceAtAdd + ? parseFloat((((currentPrice - item.priceAtAdd) / item.priceAtAdd) * 100).toFixed(2)) + : null; + + const toTargetPct = currentPrice && item.targetPrice + ? parseFloat((((item.targetPrice - currentPrice) / currentPrice) * 100).toFixed(2)) + : null; + + const toStopPct = currentPrice && item.stopPrice + ? parseFloat((((item.stopPrice - currentPrice) / currentPrice) * 100).toFixed(2)) + : null; + + return { ...item, currentPrice, changePct, toTargetPct, toStopPct }; + })); + + return { items, count: items.length }; +} + +// ── 检查提醒 ────────────────────────────────────────────── + +export async function checkAlerts( + currentSignals?: Record +): Promise<{ alerts: WatchlistAlert[]; count: number }> { + const watchlist = await loadWatchlist(); + const alerts: WatchlistAlert[] = []; + const now = new Date().toISOString(); + + for (const item of watchlist) { + const currentPrice = await fetchCurrentPrice(item.ticker); + if (currentPrice === null) continue; + + // 目标价提醒 + if (item.targetPrice && currentPrice >= item.targetPrice) { + alerts.push({ + ticker: item.ticker, + alertType: "target_hit", + message: `🎯 ${item.ticker} 已触达目标价!当前 $${currentPrice.toFixed(2)} ≥ 目标 $${item.targetPrice}`, + currentPrice, + triggerValue: item.targetPrice, + timestamp: now, + }); + } + + // 止损价提醒 + if (item.stopPrice && currentPrice <= item.stopPrice) { + alerts.push({ + ticker: item.ticker, + alertType: "stop_hit", + message: `🛑 ${item.ticker} 已触达止损价!当前 $${currentPrice.toFixed(2)} ≤ 止损 $${item.stopPrice}`, + currentPrice, + triggerValue: item.stopPrice, + timestamp: now, + }); + } + + // 信号变化提醒 + if (item.alertOnSignal && currentSignals?.[item.ticker]) { + const newSignal = currentSignals[item.ticker]; + if (item.lastSignal && newSignal !== item.lastSignal) { + alerts.push({ + ticker: item.ticker, + alertType: "signal_change", + message: `📊 ${item.ticker} 信号变化:${item.lastSignal} → ${newSignal}`, + currentPrice, + triggerValue: `${item.lastSignal} → ${newSignal}`, + timestamp: now, + }); + } + // 更新最新信号 + item.lastSignal = newSignal; + } + + item.lastCheck = now; + } + + // 保存更新后的 lastSignal 和 lastCheck + await saveWatchlist(watchlist); + + return { alerts, count: alerts.length }; +} + +// ── 格式化自选股列表(Markdown)───────────────────────── + +export function formatWatchlistMarkdown(data: Awaited>): string { + if (data.count === 0) { + return `## 📋 自选股列表\n\n_自选股为空。使用 \`/stock_watch AAPL\` 添加股票。_\n`; + } + + let md = `## 📋 自选股列表(共 ${data.count} 只)\n\n`; + md += `| 代码 | 当前价 | 较买入 | 目标价 | 止损价 | 距目标 | 最新信号 |\n`; + md += `|------|--------|--------|--------|--------|--------|----------|\n`; + + for (const item of data.items) { + const price = item.currentPrice ? `$${item.currentPrice.toFixed(2)}` : "暂缺"; + const change = item.changePct !== null + ? `${item.changePct > 0 ? "🟢+" : "🔴"}${item.changePct.toFixed(2)}%` + : "—"; + const target = item.targetPrice ? `$${item.targetPrice}` : "—"; + const stop = item.stopPrice ? `$${item.stopPrice}` : "—"; + const toTarget = item.toTargetPct !== null ? `${item.toTargetPct > 0 ? "+" : ""}${item.toTargetPct.toFixed(1)}%` : "—"; + const signal = item.lastSignal ?? "—"; + + md += `| ${item.ticker} | ${price} | ${change} | ${target} | ${stop} | ${toTarget} | ${signal} |\n`; + } + + // 已触发的提醒 + const triggered = data.items.filter( + (i) => (i.targetPrice && i.currentPrice && i.currentPrice >= i.targetPrice) || + (i.stopPrice && i.currentPrice && i.currentPrice <= i.stopPrice) + ); + + if (triggered.length > 0) { + md += `\n### ⚡ 已触发提醒\n`; + for (const item of triggered) { + if (item.targetPrice && item.currentPrice && item.currentPrice >= item.targetPrice) { + md += `- 🎯 **${item.ticker}** 已达目标价 $${item.targetPrice}\n`; + } + if (item.stopPrice && item.currentPrice && item.currentPrice <= item.stopPrice) { + md += `- 🛑 **${item.ticker}** 已触止损 $${item.stopPrice}\n`; + } + } + } + + return md; +} + +// ── 格式化提醒结果(Markdown)──────────────────────────── + +export function formatAlertsMarkdown(result: Awaited>): string { + if (result.count === 0) { + return `## 🔔 自选股提醒检查\n\n_当前没有触发任何提醒。_\n`; + } + + let md = `## 🔔 自选股提醒(${result.count} 条触发)\n\n`; + for (const alert of result.alerts) { + md += `- ${alert.message}\n`; + } + return md; +} diff --git a/skills/stock-analysis-skill/tsconfig.json b/skills/stock-analysis-skill/tsconfig.json new file mode 100755 index 0000000..df3ba65 --- /dev/null +++ b/skills/stock-analysis-skill/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "commonjs", + "lib": ["ES2020"], + "outDir": "./dist", + "rootDir": "./src", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "resolveJsonModule": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/skills/storyboard-manager/SKILL.md b/skills/storyboard-manager/SKILL.md new file mode 100755 index 0000000..a413831 --- /dev/null +++ b/skills/storyboard-manager/SKILL.md @@ -0,0 +1,532 @@ +--- +name: storyboard-manager +description: Assist writers with story planning, character development, plot structuring, chapter writing, timeline tracking, and consistency checking. Use this skill when working with creative writing projects organized in folders containing characters, chapters, story planning documents, and summaries. Trigger this skill for tasks like "Help me develop this character," "Write the next chapter," "Check consistency across my story," or "Track the timeline of events." +--- + +# Storyboard Manager + +## Overview + +The Storyboard Manager skill equips Claude with specialized knowledge and tools for creative writing workflows. It provides frameworks for character development, story structure patterns, automated timeline tracking, and consistency checking across narrative projects. This skill automatically adapts to various storyboard folder structures while maintaining best practices for novel, screenplay, and serialized fiction writing. + +## Core Capabilities + +The skill provides four main capabilities: + +### 1. Character Development & Management +Support creating deep, consistent character profiles with backstories, arcs, and relationships. + +### 2. Story Planning & Structure +Guide plot development using established frameworks (Three-Act, Hero's Journey, Save the Cat, etc.) and help organize narrative elements. + +### 3. Chapter & Scene Writing +Generate chapter content, scene breakdowns, and dialogue that maintains consistency with established characters and plot. + +### 4. Timeline Tracking & Consistency Checking +Use automated tools to verify chronological consistency, character continuity, and world-building coherence. + +## Detecting Project Structure + +The Storyboard Manager automatically detects and adapts to various folder organizations. Look for these common directory patterns: + +**Character folders:** `characters/`, `Characters/`, `cast/`, `Cast/` +**Chapter folders:** `chapters/`, `Chapters/`, `scenes/`, `Scenes/`, `story/` +**Planning folders:** `story-planning/`, `planning/`, `outline/`, `notes/` +**Summary files:** `summary.md`, `README.md`, `overview.md` + +When triggered, scan the project root to identify the structure and adjust workflows accordingly. If no standard structure exists, recommend organizing files using the pattern: `characters/`, `chapters/`, `story-planning/`, and `summary.md`. + +## Workflow Decision Tree + +Use this decision tree to determine the appropriate workflow: + +``` +User Request +├─ Character-related? ("develop character," "create backstory," "character arc") +│ └─ → Character Development Workflow +│ +├─ Planning/Plot? ("outline story," "plan act 2," "plot structure") +│ └─ → Story Planning Workflow +│ +├─ Writing content? ("write chapter," "generate scene," "continue story") +│ └─ → Chapter/Scene Writing Workflow +│ +└─ Checking/Analysis? ("check consistency," "track timeline," "find contradictions") + ├─ Timeline? → Use timeline_tracker.py script + └─ Consistency? → Use consistency_checker.py script +``` + +## Character Development Workflow + +### Step 1: Gather Context + +Before developing a character, read existing character files to understand: +- Established naming conventions and profile format +- Existing characters and relationships +- Story genre and tone +- Character archetypes already in use + +Use the Read tool to examine existing character files in the characters directory. + +### Step 2: Access Character Development Framework + +When detailed character guidance is needed, read `references/character_development.md` which contains: +- Core character elements (personality, motivation, goals) +- Backstory framework (ghost/wound, formative relationships) +- Character arc types (positive change, flat, negative) +- Relationship dynamics +- Voice development techniques +- Consistency guidelines + +To efficiently find specific guidance, use Grep to search for relevant sections: +```bash +# Example: Find guidance on character arcs +grep -i "character arc" references/character_development.md +``` + +### Step 3: Develop Character Profile + +Create or enhance character profiles with these essential elements: + +**Basic Information** +- Name, age, role, physical appearance +- Key personality traits (both positive and negative) + +**Background** +- Origin and formative experiences +- Ghost/wound that shapes their behavior +- Key relationships and family dynamics + +**Character Arc** +- Starting belief or flaw +- Want vs. Need (external goal vs. internal growth) +- Transformation journey +- End state + +**Relationships** +- Connections to other characters +- Dynamic types (ally, rival, mentor, etc.) +- How relationships evolve + +**Unique Elements** +- Abilities, skills, or special knowledge +- Secrets or hidden aspects +- Voice/speech patterns +- Character-specific quirks + +### Step 4: Ensure Consistency + +Cross-reference with: +- Existing character profiles (avoid redundancy in roles/traits) +- Story planning documents (ensure alignment with plot needs) +- Summary/overview (match genre and tone) + +### Step 5: Create or Update File + +Write the character profile to `characters/[character-name].md` using markdown format. Match the existing style and structure found in other character files. + +## Story Planning Workflow + +### Step 1: Assess Current Planning State + +Read existing planning documents to understand: +- Story concept and premise +- Established plot points or outline +- Target audience and genre +- Themes and central questions +- Planned structure (if any) + +Look in folders like `story-planning/`, `outline/`, or files like `summary.md`. + +### Step 2: Access Story Structure Reference + +For detailed structural guidance, read `references/story_structures.md` which includes: +- Three-Act Structure +- Hero's Journey (Campbell's Monomyth) +- Save the Cat Beat Sheet +- Character arc templates +- Scene structure components +- Pacing guidelines by genre +- Subplot integration techniques +- Genre-specific structures + +Use Grep to find specific frameworks: +```bash +# Example: Find Three-Act Structure details +grep -A 20 "Three-Act Structure" references/story_structures.md +``` + +### Step 3: Determine Structure Needs + +Based on the user's request and story genre, recommend appropriate frameworks: + +- **Thriller/Mystery**: Three-Act with strong midpoint reversal +- **Fantasy/Adventure**: Hero's Journey for quest narratives +- **YA/Contemporary**: Save the Cat for tight emotional beats +- **Literary Fiction**: Focus on character arc structure +- **Romance**: Genre-specific structure with relationship beats + +### Step 4: Develop Planning Document + +Create or enhance planning documents with: + +**Story Overview** +- Premise in 2-3 sentences +- Genre, target audience, tone +- Central themes and questions + +**Plot Structure** +- Act/chapter breakdown with key events +- Inciting incident and plot points +- Midpoint twist or revelation +- Climax and resolution + +**Character Arcs** +- How each main character transforms +- Arc integration with plot beats + +**World-Building Elements** (if applicable) +- Setting and locations +- Magic systems or technology +- Social structures or rules +- Historical context + +**Timeline** +- Story duration +- Key event sequence +- Pacing considerations + +### Step 5: Create Planning File + +Write planning documents to `story-planning/[document-name].md`. Use clear hierarchical structure with markdown headers for easy navigation. + +## Chapter & Scene Writing Workflow + +### Step 1: Gather Story Context + +Before writing any content, comprehensively read: + +**Character Files**: All relevant character profiles to understand voices, motivations, arcs +**Planning Documents**: Story structure, plot points, current story position +**Previous Chapters**: Recent chapters to maintain continuity (read at least 1-2 prior chapters) +**Summary**: Overall story premise and themes + +This ensures the new content aligns with established elements. + +### Step 2: Identify Chapter Requirements + +Determine: +- **Story Position**: Where does this fit in the overall structure? +- **POV Character**: Whose perspective? +- **Scene Goal**: What does the POV character want in this scene? +- **Conflict**: What opposes their goal? +- **Outcome**: How does the scene end? (typically with a complication) +- **Character Development**: What arc beats occur here? +- **Plot Advancement**: What story questions are raised or answered? + +### Step 3: Structure the Chapter + +Apply scene structure components: + +**Scene (Action)** +1. Goal - What the POV character pursues +2. Conflict - Opposition encountered +3. Disaster - Negative outcome that propels forward + +**Sequel (Reaction)** +1. Reaction - Emotional response to disaster +2. Dilemma - Processing options +3. Decision - Choice leading to next goal + +Alternate between high-tension (action, conflict) and low-tension (reflection, world-building) beats for pacing. + +### Step 4: Write with Character Consistency + +Maintain character voice by referencing: +- Established personality traits +- Speech patterns and vocabulary +- Behavioral patterns (under stress, when happy, decision-making style) +- Current position in character arc +- Relationships with other characters present + +### Step 5: Integrate Timeline Markers + +Include timeline references to maintain chronological clarity: +- Explicit markers: "Day 3," "Two weeks later" +- Implicit markers: Time of day, seasonal cues, event references +- Format: `**Timeline:** Day 5, Evening` in chapter header or as section break + +### Step 6: Create Chapter File + +Write chapter content to `chapters/chapter-[number].md` or `chapters/[chapter-name].md`. Include: + +**Chapter Header** +```markdown +# Chapter [Number]: [Optional Title] + +**Timeline:** [When this occurs] +**POV:** [Character name] +**Location:** [Where this takes place] +``` + +**Chapter Content** +- Scene-by-scene breakdown +- Dialogue and action +- Character thoughts (for POV character) +- Descriptive elements + +### Step 7: Note Continuity Elements + +After writing, document any new information introduced: +- Character revelations or development +- Plot points or clues +- World-building details +- Timeline events + +This helps maintain consistency in future chapters. + +## Timeline Tracking + +### When to Use Timeline Tracking + +Invoke the timeline tracker when: +- User requests timeline analysis or event sequencing +- Checking chronological consistency +- Planning event order across chapters +- Identifying unmarked time periods + +### Running the Timeline Tracker + +Execute the script from the project root: + +```bash +python3 .claude/skills/storyboard-manager/scripts/timeline_tracker.py . --output markdown +``` + +**Output format options:** +- `markdown` - Human-readable report (default) +- `json` - Structured data for further processing + +### Understanding Timeline Output + +The script provides: + +**Statistics** +- Total events tracked +- Total characters appearing +- Events per character + +**Timeline View** +- Chronological sequence of events +- Chapter/scene locations +- Characters present in each event +- Preview of event content + +**Warnings** +- Events without timeline markers +- Characters mentioned but not defined in character files + +### Acting on Timeline Results + +After running the tracker: + +1. **Review warnings** - Address missing timeline markers by adding them to chapters +2. **Check sequence** - Verify events occur in logical order +3. **Identify gaps** - Look for time periods without events +4. **Character tracking** - Ensure characters appear consistently with their arc + +Add timeline markers to chapters where missing: +```markdown +**Timeline:** Day 7, Morning +``` + +Or use inline markers: +```markdown +Three days had passed since the incident... +``` + +## Consistency Checking + +### When to Use Consistency Checking + +Invoke the consistency checker when: +- User requests consistency analysis +- Before finalizing chapters or acts +- After making significant character or plot changes +- When tracking contradictions or errors + +### Running the Consistency Checker + +Execute the script from the project root: + +```bash +python3 .claude/skills/storyboard-manager/scripts/consistency_checker.py . --output markdown +``` + +**Output format options:** +- `markdown` - Human-readable report with issue details (default) +- `json` - Structured data for programmatic analysis + +### Understanding Consistency Output + +The script identifies issues in three severity levels: + +**Critical (🔴)** +- Major contradictions requiring immediate attention +- Character appearing after death +- Fundamental plot contradictions + +**Warning (⚠️)** +- Potential inconsistencies to review +- Age discrepancies +- Physical description contradictions +- Relationship conflicts + +**Info (ℹ️)** +- Minor issues or variations +- Name capitalization inconsistencies +- Stylistic variations + +### Acting on Consistency Results + +For each issue reported: + +1. **Read flagged locations** - Review the specific files mentioned +2. **Determine truth** - Decide which version is correct (usually character profile is authoritative) +3. **Update files** - Fix contradictions using the Edit tool +4. **Re-run checker** - Verify fixes resolved the issues + +**Example workflow for character age inconsistency:** +```markdown +Issue: Age inconsistency for Maya +- Profile: 18 years old +- Chapter 3: mentions "21-year-old Maya" + +Fix: Edit chapter-3.md to change "21-year-old" to "18-year-old" +``` + +### Consistency Checking Limitations + +The automated checker catches: +- Physical attribute contradictions +- Age discrepancies +- Name variations +- Basic world-building facts + +The checker cannot catch: +- Subtle personality inconsistencies +- Complex plot logic errors +- Thematic contradictions +- Nuanced relationship changes + +Manual review is still essential for deep consistency. + +## Best Practices + +### Progressive Context Loading + +Don't load all reference files at once. Instead: +1. Scan project structure first +2. Read only relevant character files for the current task +3. Access reference documentation only when specific guidance is needed +4. Use Grep to find specific sections in large reference files + +### Maintaining Genre Voice + +Match the story's established tone: +- **YA**: Present tense, immediate emotional connection, contemporary language +- **Fantasy**: Rich descriptive language, world-building integration +- **Thriller**: Short sentences, high tension, sensory details +- **Literary**: Complex prose, internal reflection, symbolic elements + +Reference the summary.md to identify target audience and adjust accordingly. + +### Character Arc Integration + +Every chapter should serve character arcs: +- Track where each character is in their arc +- Show incremental change, not sudden transformation +- Use plot events to test character beliefs +- Demonstrate growth through choices and behavior + +### Balancing Show vs. Tell + +For narrative writing: +- **Show** emotions through actions, dialogue, physical reactions +- **Tell** to compress time, provide necessary information efficiently +- Use character-filtered description (what would this POV character notice?) + +### Handling Multiple POV + +When stories have multiple perspectives: +- Create distinct voices for each POV character +- Ensure each POV section advances both that character's arc and the plot +- Vary sentence structure and vocabulary by character +- Track what each character knows vs. doesn't know + +## Common User Requests & Responses + +### "Help me develop a character backstory" +1. Read existing character files for context +2. Read the character profile (if exists) to enhance +3. Access character_development.md reference for backstory framework +4. Create detailed backstory covering: ghost/wound, formative relationships, key history +5. Integrate with their character arc and story role + +### "Write the next chapter" +1. Read summary.md and story planning documents +2. Read all character profiles for characters appearing in chapter +3. Read previous 2 chapters for continuity +4. Identify chapter position in story structure +5. Write chapter with scene/sequel structure +6. Include timeline markers and POV/location headers + +### "Outline Act 2" +1. Read summary and any existing planning documents +2. Access story_structures.md for structural guidance +3. Identify act 2 requirements (complications, midpoint, rising tension) +4. Create beat-by-beat outline aligned with character arcs +5. Note how plot and character arcs intersect + +### "Check my story for consistency" +1. Run consistency_checker.py script +2. Review output identifying issues +3. Read flagged files to understand contradictions +4. Recommend specific fixes for each issue +5. Offer to make edits if user confirms + +### "Track the timeline of my story" +1. Run timeline_tracker.py script +2. Review output showing event sequence +3. Identify gaps or inconsistencies in chronology +4. Recommend adding timeline markers where missing +5. Provide timeline summary organized by character or chapter + +### "What structure should I use for my thriller?" +1. Access story_structures.md reference +2. Recommend Three-Act Structure or Save the Cat +3. Explain thriller-specific requirements (escalating tension, ticking clock) +4. Provide beat sheet adapted to their story concept +5. Offer to create detailed planning document + +## Resources + +### scripts/timeline_tracker.py +Python script that analyzes markdown files to extract and organize timeline events. Tracks character appearances, identifies time markers, groups events chronologically, and flags consistency issues. + +**Usage:** Run from project root with `python3 .claude/skills/storyboard-manager/scripts/timeline_tracker.py .` + +### scripts/consistency_checker.py +Python script that detects inconsistencies in character details, physical descriptions, ages, names, and world-building facts across all story files. Outputs severity-ranked issues with file locations. + +**Usage:** Run from project root with `python3 .claude/skills/storyboard-manager/scripts/consistency_checker.py .` + +### references/character_development.md +Comprehensive framework for creating multi-dimensional characters including core elements, backstory structure, arc types, relationship dynamics, voice development, and consistency guidelines. + +**Load when:** Developing new characters, enhancing existing profiles, resolving character consistency issues, or planning character arcs. + +### references/story_structures.md +Detailed reference covering major story structures (Three-Act, Hero's Journey, Save the Cat), character arc templates, scene structure, pacing guidelines, plot development techniques, and genre-specific structures. + +**Load when:** Planning story outline, structuring acts, organizing plot beats, determining pacing, or applying specific narrative frameworks. diff --git a/skills/storyboard-manager/index.js b/skills/storyboard-manager/index.js new file mode 100755 index 0000000..00ec351 --- /dev/null +++ b/skills/storyboard-manager/index.js @@ -0,0 +1,9 @@ +export default async function storyboard_manager(input) { + console.log("🧠 Running skill: storyboard-manager"); + + // TODO: implement actual logic for this skill + return { + message: "Skill 'storyboard-manager' executed successfully!", + input + }; +} diff --git a/skills/storyboard-manager/package.json b/skills/storyboard-manager/package.json new file mode 100755 index 0000000..d004931 --- /dev/null +++ b/skills/storyboard-manager/package.json @@ -0,0 +1,11 @@ +{ + "name": "@ai-labs-claude-skills/storyboard-manager", + "version": "1.0.0", + "description": "Claude AI skill: storyboard-manager", + "main": "index.js", + "files": [ + "." + ], + "license": "MIT", + "author": "AI Labs" +} \ No newline at end of file diff --git a/skills/storyboard-manager/references/character_development.md b/skills/storyboard-manager/references/character_development.md new file mode 100755 index 0000000..4c78850 --- /dev/null +++ b/skills/storyboard-manager/references/character_development.md @@ -0,0 +1,232 @@ +# Character Development Reference + +This reference provides frameworks for creating compelling, multi-dimensional characters. + +## Core Character Elements + +### Basic Profile +- **Name**: Full name, nicknames, name meaning +- **Age**: Chronological and how they present +- **Physical Description**: Distinguishing features, style, mannerisms +- **Role**: Protagonist, antagonist, supporting, mentor, etc. +- **Archetype**: Hero, mentor, trickster, everyman, etc. + +### Personality Dimensions +- **Temperament**: Sanguine, choleric, melancholic, phlegmatic +- **Traits**: 3-5 defining characteristics (both positive and negative) +- **Quirks**: Unique habits or behaviors +- **Speech Patterns**: How they talk, vocabulary, accent +- **Sense of Humor**: Type and style + +### Motivation & Goals +- **External Goal**: What they're trying to achieve (plot-level) +- **Internal Goal**: What they're trying to become (character arc) +- **Motivation**: Why they want these things +- **Stakes**: What happens if they fail +- **Misbelief/Lie**: False belief holding them back + +## Character Backstory Framework + +### The Ghost (Past Wound) +- **Traumatic Event**: What happened in their past +- **Age When It Occurred**: How it shaped their development +- **Who Was Involved**: Other characters connected to trauma +- **How It Changed Them**: Before and after personality +- **Coping Mechanisms**: How they deal with the wound + +### Formative Relationships +- **Family Dynamics**: Parents, siblings, family structure +- **Key Friendships**: Influences from peers +- **Romantic History**: Past relationships and their impact +- **Mentors/Role Models**: Who shaped their values +- **Enemies/Rivals**: Antagonistic relationships that defined them + +### Life History +- **Childhood**: Key events, family situation, early personality +- **Adolescence**: Identity formation, major choices, first loves/losses +- **Young Adulthood**: Independence, career/path choices, relationships +- **Current Situation**: Where story finds them + +## Character Arc Types + +### Positive Change Arc +**Structure:** +1. Lie they believe +2. Want vs. Need established +3. First glimpse of truth +4. Rejection of truth (return to lie) +5. Moment of truth (crisis) +6. Choice to embrace truth +7. New worldview demonstrated + +**Markers:** +- Start: Incomplete, held back by misbelief +- Midpoint: Glimpse growth but not ready +- Climax: Must choose between lie and truth +- End: Transformed, living truth + +### Flat Arc +**Structure:** +1. Truth known from beginning +2. World believes lie +3. Character tested on their truth +4. Character demonstrates truth +5. World begins to change +6. Truth proven through action + +**Markers:** +- Start: Strong in beliefs +- Midpoint: Severely tested +- Climax: Greatest test of faith +- End: Changed the world, not themselves + +### Negative Arc +**Structure:** +1. Flaw/weakness established +2. Temptation introduced +3. Small compromises begin +4. Point of no return crossed +5. Descent accelerates +6. Rejection of redemption +7. Tragic conclusion + +**Markers:** +- Start: Flawed but sympathetic +- Midpoint: Questionable choices +- Climax: Beyond redemption +- End: Destroyed or becomes villain + +## Relationship Dynamics + +### Character Relationships Matrix +For each significant relationship, define: +- **Dynamic Type**: Mentor/student, rivals, allies, romance, family +- **Conflict Source**: What creates tension +- **Common Ground**: What bonds them +- **Influence**: How they change each other +- **Arc**: How relationship evolves + +### Protagonist-Antagonist Relationship +- **Opposition**: How antagonist blocks protagonist's goal +- **Mirror/Foil**: How they reflect/contrast each other +- **Personal Stakes**: Why this matters beyond plot +- **Symmetry**: Similar origins or opposite arc paths +- **Respect Level**: Do they understand each other? + +## Character Voice Development + +### Dialogue Markers +- **Vocabulary Level**: Formal, casual, slang, technical +- **Sentence Structure**: Short and punchy vs. long and flowing +- **Favorite Words/Phrases**: Repeated expressions +- **Topics They Discuss**: What they talk about most +- **What They Avoid**: Topics they don't address +- **Lying Tells**: How they behave when dishonest + +### Internal Voice (POV Characters) +- **Thought Patterns**: Analytical, emotional, scattered, focused +- **Biases**: How they interpret events +- **Blind Spots**: What they don't see about themselves +- **Metaphors**: Types of comparisons they make +- **Narrative Distance**: Close, intimate vs. distant, observational + +## Character Consistency + +### Behavioral Patterns +- **Under Stress**: How they react to pressure +- **When Happy**: How they express joy +- **When Angry**: Explosive, cold, passive-aggressive +- **Decision-Making**: Impulsive, analytical, avoidant +- **Trust**: Quick or slow to trust others + +### Core Values +- **Non-Negotiables**: Lines they won't cross +- **Flexible Areas**: Where they compromise +- **Value Hierarchy**: Ranking of priorities (family, honor, survival, etc.) +- **Values Testing**: Scenes where values conflict + +### Growth Indicators +- **Early Story**: How they handle situation type X +- **Mid Story**: How handling of X begins to shift +- **Late Story**: How they handle X after growth +- **Demonstration**: Parallel scenes showing change + +## Character Roles in Ensemble + +### Ensemble Balance +- **The Leader**: Drives action, makes decisions +- **The Heart**: Emotional center, unifies group +- **The Brain**: Strategy, knowledge, analysis +- **The Warrior**: Action, protection, physical strength +- **The Wildcard**: Unpredictable, challenges norms +- **The Conscience**: Moral compass, voice of reason + +### Avoiding Character Redundancy +- **Different Wants**: Each character pursuing different goals +- **Different Methods**: Varied approaches to problems +- **Different Worldviews**: Contrasting perspectives +- **Different Skills**: Complementary abilities +- **Different Arcs**: Each on unique journey + +## Character Development Questions + +### Surface Level +- What do they look like? +- How do they dress? +- What's their job/role? +- Where do they live? + +### Deeper Level +- What do they fear most? +- What do they desire more than anything? +- What's their greatest secret? +- What do they lie to themselves about? +- What would they sacrifice everything for? + +### Behavioral Level +- How do they treat people with less power? +- What makes them laugh? +- What makes them cry? +- When do they lie, and why? +- How do they handle failure? + +### Thematic Level +- What do they represent in the story? +- What question does their arc answer? +- How do they embody or challenge the theme? +- What truth do they discover? + +## Character Testing Scenarios + +To ensure character depth, test them against: + +1. **Moral Dilemma**: Force choice between two values +2. **Loss**: Take away something they depend on +3. **Temptation**: Offer something they want vs. need +4. **Betrayal**: Test their trust and forgiveness +5. **Sacrifice**: Force them to give up something important +6. **Revelation**: Expose a truth they've been avoiding +7. **Isolation**: Remove their support system +8. **Power**: Give them control and see how they use it + +## Red Flags for Weak Characters + +### Avoid: +- **Mary Sue/Gary Stu**: Too perfect, no real flaws +- **Inconsistent Behavior**: Acts differently for plot convenience +- **No Agency**: Things happen to them, they don't drive action +- **Single-Note**: Only one personality trait +- **No Growth**: Same at end as beginning (unless flat arc) +- **Reactive Only**: Never makes proactive choices +- **Exposition Puppet**: Exists to explain things +- **Token Diversity**: Defined only by identity marker + +### Fix By: +- Adding meaningful flaws and consequences +- Establishing behavioral patterns and motivations +- Giving them goals and plans they actively pursue +- Layering contradictory traits and complexity +- Planning clear arc with transformation +- Creating scenes where they initiate action +- Giving them purpose beyond information delivery +- Developing full personality, backstory, and individual arc diff --git a/skills/storyboard-manager/references/story_structures.md b/skills/storyboard-manager/references/story_structures.md new file mode 100755 index 0000000..906a0ed --- /dev/null +++ b/skills/storyboard-manager/references/story_structures.md @@ -0,0 +1,148 @@ +# Story Structure Reference + +This reference provides common story structures and frameworks for planning narratives. + +## Three-Act Structure + +### Act One: Setup (25% of story) +- **Hook**: Opening scene that grabs attention +- **Inciting Incident**: Event that disrupts the protagonist's normal world +- **First Plot Point**: Decision/event that propels protagonist into Act Two (typically at 25% mark) + +### Act Two: Confrontation (50% of story) +- **Rising Action**: Series of obstacles and complications +- **Midpoint**: Major revelation or reversal (at 50% mark) +- **Pinch Points**: Moments that increase pressure on protagonist +- **Second Plot Point**: Lowest point/crisis that leads into Act Three (at 75% mark) + +### Act Three: Resolution (25% of story) +- **Climax**: Final confrontation or decision +- **Falling Action**: Immediate consequences of climax +- **Resolution**: New normal/equilibrium established + +## Hero's Journey (Joseph Campbell) + +1. **Ordinary World**: Hero's normal life +2. **Call to Adventure**: Challenge or quest presented +3. **Refusal of the Call**: Initial hesitation or fear +4. **Meeting the Mentor**: Guidance or magical aid +5. **Crossing the Threshold**: Commitment to the journey +6. **Tests, Allies, and Enemies**: Learning the rules of the new world +7. **Approach to the Inmost Cave**: Preparation for major challenge +8. **Ordeal**: Greatest fear/challenge faced +9. **Reward**: Achievement of goal or new knowledge +10. **The Road Back**: Return journey begins +11. **Resurrection**: Final test with everything at stake +12. **Return with the Elixir**: Hero returns transformed + +## Save the Cat Beat Sheet (Blake Snyder) + +1. **Opening Image**: Snapshot of protagonist's world before change +2. **Theme Stated**: Central question or theme introduced +3. **Setup**: Establish protagonist's world, flaws, and stakes +4. **Catalyst**: Event that starts the story (at 10% mark) +5. **Debate**: Internal conflict about whether to act +6. **Break into Two**: Protagonist commits to journey (at 20-25% mark) +7. **B Story**: Subplot introduced (often romantic or thematic) +8. **Fun and Games**: Promise of the premise delivered +9. **Midpoint**: False victory or defeat (at 50% mark) +10. **Bad Guys Close In**: External and internal pressure increases +11. **All Is Lost**: Lowest point (at 75% mark) +12. **Dark Night of the Soul**: Protagonist processes loss +13. **Break into Three**: Solution discovered (at 80% mark) +14. **Finale**: Climax and resolution +15. **Final Image**: Parallel to opening showing change + +## Character Arc Templates + +### Positive Change Arc +- **Lie Believed**: Character starts believing something false about themselves/world +- **Want vs. Need**: What they think they want vs. what they actually need +- **Ghost/Wound**: Past trauma influencing present behavior +- **Moment of Truth**: Forced to choose between lie and truth +- **Resolution**: Embraces truth and grows + +### Flat Arc +- **Truth Known**: Character already knows the truth +- **World's Lie**: The world around them believes a lie +- **Testing**: Character's truth is challenged repeatedly +- **Impact**: Character changes the world around them +- **Affirmation**: Character's truth proven correct + +### Negative Arc +- **Initial Weakness**: Character has a flaw or belief +- **Escalation**: Flaw grows worse through choices +- **Point of No Return**: Character chooses darkness +- **Descent**: Consequences spiral +- **Tragic End**: Character destroyed or becomes antagonist + +## Scene Structure + +### Scene Components +1. **Goal**: What the POV character wants in this scene +2. **Conflict**: Opposition to achieving the goal +3. **Disaster**: Outcome (usually negative) that propels to next scene + +### Sequel Components (reaction to scene) +1. **Reaction**: Emotional response to disaster +2. **Dilemma**: Working through options +3. **Decision**: Choice that leads to next goal/scene + +## Pacing Guidelines + +### Chapter Length by Genre +- **Thriller/Mystery**: 2,000-3,000 words (faster pace) +- **Fantasy/Sci-Fi**: 3,000-5,000 words (world-building needs) +- **Romance**: 2,500-4,000 words (emotional beats) +- **Literary Fiction**: 2,000-6,000 words (varies widely) +- **YA**: 2,000-3,500 words (shorter attention span) + +### Tension Management +- **High-tension scenes**: Action, conflict, revelations (shorter, punchier) +- **Low-tension scenes**: Character development, world-building (can be longer) +- **Rhythm**: Alternate between high and low tension +- **Overall trend**: Tension should increase as story progresses + +## Plot Development + +### Conflict Types +1. **Character vs. Character**: Antagonist opposition +2. **Character vs. Self**: Internal struggle +3. **Character vs. Society**: Against norms/systems +4. **Character vs. Nature**: Environmental challenges +5. **Character vs. Technology**: Man vs. machine +6. **Character vs. Fate**: Against destiny/prophecy + +### Subplot Integration +- **Mirror subplots**: Reflect main theme differently +- **Contrast subplots**: Show opposite approach to theme +- **Complication subplots**: Add obstacles to main plot +- **Resolution rule**: Resolve minor subplots before climax, major ones during/after + +## Genre-Specific Structures + +### Mystery/Thriller +- Introduction of crime/mystery +- Investigation and clue discovery +- Red herrings and misdirection +- Escalating danger +- Revelation and confrontation +- Resolution and explanation + +### Romance +- Meet-cute or introduction +- Attraction develops +- Barrier/conflict introduced +- Relationship deepens despite obstacles +- Black moment/breakup +- Grand gesture/reconciliation +- Happy ending or HEA (Happily Ever After) + +### Fantasy/Sci-Fi +- Ordinary world establishment +- Introduction to magical/sci-fi elements +- Quest or mission defined +- Journey and world exploration +- Building towards prophesied/anticipated event +- Final battle or confrontation +- New world order established diff --git a/skills/storyboard-manager/scripts/consistency_checker.py b/skills/storyboard-manager/scripts/consistency_checker.py new file mode 100755 index 0000000..36999e0 --- /dev/null +++ b/skills/storyboard-manager/scripts/consistency_checker.py @@ -0,0 +1,391 @@ +#!/usr/bin/env python3 +""" +Consistency Checker for Storyboard Manager + +This script analyzes markdown files in a storyboard project to detect inconsistencies +in character details, plot elements, and world-building across the story. +""" + +import os +import re +import sys +import json +from pathlib import Path +from typing import List, Dict, Set, Tuple, Optional +from collections import defaultdict + + +class ConsistencyIssue: + """Represents a consistency issue found in the story""" + + def __init__(self, issue_type: str, severity: str, description: str, + locations: List[str], details: Dict = None): + self.issue_type = issue_type # character, plot, world, timeline + self.severity = severity # critical, warning, info + self.description = description + self.locations = locations + self.details = details or {} + + def __repr__(self): + return f"ConsistencyIssue({self.severity}: {self.description})" + + def to_dict(self): + return { + 'type': self.issue_type, + 'severity': self.severity, + 'description': self.description, + 'locations': self.locations, + 'details': self.details + } + + +class CharacterProfile: + """Stores character information from profile files""" + + def __init__(self, name: str, file_path: str): + self.name = name + self.file_path = file_path + self.attributes = {} + self.aliases = [] + self.relationships = {} + + def add_attribute(self, key: str, value: str): + """Add a character attribute""" + self.attributes[key.lower()] = value + + def get_attribute(self, key: str) -> Optional[str]: + """Get a character attribute""" + return self.attributes.get(key.lower()) + + +class ConsistencyChecker: + """Main consistency checking class""" + + # Patterns to extract character attributes + ATTRIBUTE_PATTERNS = { + 'age': r'\*\*Age:\*\*\s*(.+?)(?:\n|$)', + 'appearance': r'\*\*Appearance:\*\*\s*(.+?)(?:\n|$)', + 'hair': r'(?:hair|Hair)[\s:]+([^,\n]+)', + 'eyes': r'(?:eyes|Eyes)[\s:]+([^,\n]+)', + 'height': r'\*\*Height:\*\*\s*(.+?)(?:\n|$)', + 'role': r'\*\*Role:\*\*\s*(.+?)(?:\n|$)', + } + + def __init__(self, project_root: str): + self.project_root = Path(project_root) + self.characters: Dict[str, CharacterProfile] = {} + self.issues: List[ConsistencyIssue] = [] + self.world_facts: Dict[str, Tuple[str, str]] = {} # fact -> (value, location) + + def scan_directory(self, directory: Path) -> List[Path]: + """Recursively find all markdown files in directory""" + md_files = [] + if not directory.exists(): + return md_files + + for item in directory.iterdir(): + if item.is_file() and item.suffix == '.md': + md_files.append(item) + elif item.is_dir() and not item.name.startswith('.'): + md_files.extend(self.scan_directory(item)) + + return md_files + + def load_character_profile(self, file_path: Path) -> Optional[CharacterProfile]: + """Load character information from a profile file""" + try: + content = file_path.read_text(encoding='utf-8') + + # Extract character name from title + name_match = re.search(r'^#\s+(.+?)$', content, re.MULTILINE) + if not name_match: + return None + + name = name_match.group(1).strip() + profile = CharacterProfile(name, str(file_path.relative_to(self.project_root))) + + # Extract attributes + for attr_name, pattern in self.ATTRIBUTE_PATTERNS.items(): + match = re.search(pattern, content, re.IGNORECASE) + if match: + profile.add_attribute(attr_name, match.group(1).strip()) + + # Extract aliases/nicknames + alias_match = re.search( + r'\*\*(?:Nicknames?|Aliases?):\*\*\s*(.+?)(?:\n|$)', + content, re.IGNORECASE + ) + if alias_match: + aliases = re.split(r'[,;]', alias_match.group(1)) + profile.aliases = [a.strip() for a in aliases if a.strip()] + + return profile + + except Exception as e: + print(f"Warning: Could not read character profile {file_path}: {e}", + file=sys.stderr) + return None + + def load_all_characters(self): + """Load all character profiles from the project""" + char_dirs = ['characters', 'Characters', 'cast', 'Cast'] + + for dirname in char_dirs: + char_dir = self.project_root / dirname + if char_dir.exists(): + for char_file in self.scan_directory(char_dir): + profile = self.load_character_profile(char_file) + if profile: + self.characters[profile.name] = profile + + def check_character_mentions(self, file_path: Path): + """Check character mentions in content for inconsistencies""" + try: + content = file_path.read_text(encoding='utf-8') + location = str(file_path.relative_to(self.project_root)) + + for char_name, profile in self.characters.items(): + # Check if character is mentioned + if not re.search(r'\b' + re.escape(char_name) + r'\b', content, re.IGNORECASE): + continue + + # Check for attribute contradictions + for attr_name, attr_value in profile.attributes.items(): + # Look for contradicting descriptions + if attr_name == 'age': + age_mentions = re.finditer( + r'\b' + re.escape(char_name) + r'\b[^.!?]*\b(\d+)[\s-](?:year|yr)', + content, re.IGNORECASE + ) + for match in age_mentions: + mentioned_age = match.group(1) + profile_age = re.search(r'\d+', attr_value) + if profile_age and mentioned_age != profile_age.group(0): + self.issues.append(ConsistencyIssue( + issue_type='character', + severity='warning', + description=f"Age inconsistency for {char_name}", + locations=[location, profile.file_path], + details={ + 'character': char_name, + 'profile_age': attr_value, + 'mentioned_age': mentioned_age + } + )) + + elif attr_name in ['hair', 'eyes']: + # Check for contradicting physical descriptions + desc_pattern = rf'\b{re.escape(char_name)}\b[^.!?]*\b({attr_name})\b[^.!?]*' + desc_mentions = re.finditer(desc_pattern, content, re.IGNORECASE) + for match in desc_mentions: + context = match.group(0).lower() + # Simple check: if profile says "black hair" but text says "blonde" + profile_value_lower = attr_value.lower() + if profile_value_lower not in context: + # Extract the contradicting description + color_pattern = r'\b(black|brown|blonde|red|auburn|white|gray|grey|blue|green|hazel)\b' + colors = re.findall(color_pattern, context, re.IGNORECASE) + if colors: + self.issues.append(ConsistencyIssue( + issue_type='character', + severity='warning', + description=f"{attr_name.capitalize()} color inconsistency for {char_name}", + locations=[location, profile.file_path], + details={ + 'character': char_name, + 'profile': attr_value, + 'context': match.group(0)[:100] + } + )) + + except Exception as e: + print(f"Warning: Error checking {file_path}: {e}", file=sys.stderr) + + def check_character_relationships(self): + """Check for inconsistent character relationships""" + # This is a placeholder for more sophisticated relationship checking + # Would analyze relationship declarations in character files and compare + # with how relationships are portrayed in chapters + + relationship_keywords = ['friend', 'enemy', 'lover', 'sibling', 'parent', 'child'] + + for char_name, profile in self.characters.items(): + # Extract relationship info from profile + # Compare with relationships mentioned in story files + # Flag inconsistencies + pass + + def check_world_building(self, file_path: Path): + """Check for world-building inconsistencies""" + try: + content = file_path.read_text(encoding='utf-8') + location = str(file_path.relative_to(self.project_root)) + + # Look for world-building facts (places, magic systems, technology, etc.) + # This is a simplified version - would need more sophisticated pattern matching + + # Example: Check for location descriptions + location_pattern = r'\*\*Location:\*\*\s*(.+?)(?:\n|$)' + for match in re.finditer(location_pattern, content, re.IGNORECASE): + loc_name = match.group(1).strip() + + if loc_name in self.world_facts: + # Check if description is consistent + prev_value, prev_location = self.world_facts[loc_name] + # In a real implementation, would do semantic comparison + else: + self.world_facts[loc_name] = (match.group(0), location) + + except Exception as e: + print(f"Warning: Error checking world-building in {file_path}: {e}", + file=sys.stderr) + + def check_plot_consistency(self): + """Check for plot inconsistencies""" + # Placeholder for plot consistency checking + # Would track plot points, events, and check for contradictions + + # Examples to check: + # - Events happening out of order + # - Characters appearing after their death + # - Objects used before acquisition + # - Locations visited before discovery + pass + + def check_name_variations(self, file_path: Path): + """Check for inconsistent name usage""" + try: + content = file_path.read_text(encoding='utf-8') + location = str(file_path.relative_to(self.project_root)) + + # Check if character names are spelled consistently + for char_name, profile in self.characters.items(): + # Look for potential misspellings (Levenshtein distance) + # This is simplified - would use actual string distance algorithm + + # Check for variations in capitalization + variations = re.findall( + r'\b' + re.escape(char_name) + r'\b', + content, + re.IGNORECASE + ) + + inconsistent_caps = [v for v in variations if v != char_name] + if inconsistent_caps: + unique_variations = list(set(inconsistent_caps)) + if len(unique_variations) > 0: + self.issues.append(ConsistencyIssue( + issue_type='character', + severity='info', + description=f"Name capitalization variations for {char_name}", + locations=[location], + details={ + 'character': char_name, + 'variations': unique_variations + } + )) + + except Exception as e: + print(f"Warning: Error checking names in {file_path}: {e}", file=sys.stderr) + + def analyze_project(self) -> Dict: + """Run all consistency checks on the project""" + + # Load character profiles + self.load_all_characters() + + # Check all content files + content_dirs = ['chapters', 'Chapters', 'scenes', 'Scenes', 'story'] + content_files = [] + + for dirname in content_dirs: + content_dir = self.project_root / dirname + if content_dir.exists(): + content_files.extend(self.scan_directory(content_dir)) + + # Run checks on each file + for content_file in content_files: + self.check_character_mentions(content_file) + self.check_world_building(content_file) + self.check_name_variations(content_file) + + # Run project-wide checks + self.check_character_relationships() + self.check_plot_consistency() + + # Organize results + issues_by_severity = defaultdict(list) + for issue in self.issues: + issues_by_severity[issue.severity].append(issue.to_dict()) + + analysis = { + 'total_issues': len(self.issues), + 'critical_issues': len(issues_by_severity['critical']), + 'warnings': len(issues_by_severity['warning']), + 'info': len(issues_by_severity['info']), + 'characters_analyzed': len(self.characters), + 'issues_by_severity': dict(issues_by_severity), + 'all_issues': [issue.to_dict() for issue in self.issues] + } + + return analysis + + +def main(): + """Main entry point for consistency checker""" + + if len(sys.argv) < 2: + print("Usage: consistency_checker.py [--output json|markdown]") + sys.exit(1) + + project_dir = sys.argv[1] + output_format = 'markdown' + + if len(sys.argv) > 2 and sys.argv[2] == '--output': + output_format = sys.argv[3] if len(sys.argv) > 3 else 'markdown' + + checker = ConsistencyChecker(project_dir) + analysis = checker.analyze_project() + + if output_format == 'json': + print(json.dumps(analysis, indent=2)) + else: + # Markdown output + print("# Consistency Analysis\n") + print(f"**Total Issues Found:** {analysis['total_issues']}") + print(f"- Critical: {analysis['critical_issues']}") + print(f"- Warnings: {analysis['warnings']}") + print(f"- Info: {analysis['info']}\n") + print(f"**Characters Analyzed:** {analysis['characters_analyzed']}\n") + + if analysis['total_issues'] == 0: + print("✅ No consistency issues found!\n") + else: + # Display issues by severity + for severity in ['critical', 'warning', 'info']: + issues = analysis['issues_by_severity'].get(severity, []) + if issues: + severity_emoji = { + 'critical': '🔴', + 'warning': '⚠️', + 'info': 'ℹ️' + } + print(f"\n## {severity_emoji[severity]} {severity.upper()}\n") + + for issue in issues: + print(f"### {issue['description']}") + print(f"**Type:** {issue['type']}") + print(f"**Locations:**") + for loc in issue['locations']: + print(f"- {loc}") + + if issue['details']: + print(f"**Details:**") + for key, value in issue['details'].items(): + print(f"- {key}: {value}") + + print() + + +if __name__ == '__main__': + main() diff --git a/skills/storyboard-manager/scripts/timeline_tracker.py b/skills/storyboard-manager/scripts/timeline_tracker.py new file mode 100755 index 0000000..67f5153 --- /dev/null +++ b/skills/storyboard-manager/scripts/timeline_tracker.py @@ -0,0 +1,352 @@ +#!/usr/bin/env python3 +""" +Timeline Tracker for Storyboard Manager + +This script analyzes markdown files in a storyboard project to extract and organize +timeline events, helping writers maintain chronological consistency. +""" + +import os +import re +import json +import sys +from pathlib import Path +from typing import List, Dict, Tuple, Optional +from datetime import datetime, timedelta +from collections import defaultdict + + +class TimelineEvent: + """Represents a single event in the story timeline""" + + def __init__(self, content: str, location: str, chapter: str = None, + timepoint: str = None, characters: List[str] = None): + self.content = content + self.location = location # File path where event was found + self.chapter = chapter + self.timepoint = timepoint # Relative time (e.g., "Day 1", "3 weeks later") + self.characters = characters or [] + + def __repr__(self): + return f"TimelineEvent({self.timepoint}: {self.content[:50]}...)" + + +class TimelineTracker: + """Main timeline tracking and analysis class""" + + # Patterns to detect time markers in text + TIME_PATTERNS = [ + r'(?:Day|Night)\s+(\d+)', # Day 1, Night 3 + r'(\d+)\s+(?:days?|weeks?|months?|years?)\s+(?:later|ago|after|before)', + r'(?:Morning|Afternoon|Evening|Night)\s+of\s+(?:Day\s+)?(\d+)', + r'Chapter\s+(\d+)', # Chapter markers + r'\*\*(?:Timeline|Time|When):\*\*\s*(.+?)(?:\n|$)', # Explicit timeline markers + r'\*\*Date:\*\*\s*(.+?)(?:\n|$)', + ] + + # Patterns to detect character mentions + CHARACTER_PATTERNS = [ + r'\*\*Characters?:\*\*\s*(.+?)(?:\n|$)', + r'\*\*(?:POV|Perspective):\*\*\s*(.+?)(?:\n|$)', + ] + + def __init__(self, project_root: str): + self.project_root = Path(project_root) + self.events: List[TimelineEvent] = [] + self.characters: set = set() + + def scan_directory(self, directory: Path) -> List[Path]: + """Recursively find all markdown files in directory""" + md_files = [] + if not directory.exists(): + return md_files + + for item in directory.iterdir(): + if item.is_file() and item.suffix == '.md': + md_files.append(item) + elif item.is_dir() and not item.name.startswith('.'): + md_files.extend(self.scan_directory(item)) + + return md_files + + def extract_characters_from_file(self, file_path: Path) -> List[str]: + """Extract character names from character profile files""" + try: + content = file_path.read_text(encoding='utf-8') + + # Look for character name in title (# Character Name) + name_match = re.search(r'^#\s+(.+?)$', content, re.MULTILINE) + if name_match: + return [name_match.group(1).strip()] + + # Look for explicit name field + name_match = re.search(r'\*\*Name:\*\*\s*(.+?)(?:\n|$)', content) + if name_match: + return [name_match.group(1).strip()] + + except Exception as e: + print(f"Warning: Could not read {file_path}: {e}", file=sys.stderr) + + return [] + + def extract_timeline_markers(self, content: str) -> List[Tuple[str, int]]: + """Extract time markers from content, return list of (timepoint, position)""" + markers = [] + + for pattern in self.TIME_PATTERNS: + for match in re.finditer(pattern, content, re.IGNORECASE): + timepoint = match.group(1) if match.lastindex else match.group(0) + markers.append((timepoint.strip(), match.start())) + + return sorted(markers, key=lambda x: x[1]) + + def extract_character_mentions(self, content: str) -> List[str]: + """Extract character names from explicit character markers""" + characters = [] + + for pattern in self.CHARACTER_PATTERNS: + matches = re.finditer(pattern, content, re.IGNORECASE) + for match in matches: + char_text = match.group(1) + # Split by commas, 'and', '&' + names = re.split(r'[,&]|\sand\s', char_text) + characters.extend([name.strip() for name in names if name.strip()]) + + return characters + + def find_character_references(self, content: str, known_characters: set) -> List[str]: + """Find mentions of known characters in content""" + found = [] + for character in known_characters: + # Simple word boundary check + if re.search(r'\b' + re.escape(character) + r'\b', content, re.IGNORECASE): + found.append(character) + return found + + def parse_chapter_file(self, file_path: Path) -> List[TimelineEvent]: + """Parse a chapter/scene file for timeline events""" + events = [] + + try: + content = file_path.read_text(encoding='utf-8') + + # Get chapter number/name from filename or title + chapter = file_path.stem + title_match = re.search(r'^#\s+(.+?)$', content, re.MULTILINE) + if title_match: + chapter = title_match.group(1).strip() + + # Extract explicit character mentions + explicit_chars = self.extract_character_mentions(content) + + # Find timeline markers + markers = self.extract_timeline_markers(content) + + # Split content into sections based on markers + if markers: + sections = [] + for i, (timepoint, pos) in enumerate(markers): + start_pos = pos + end_pos = markers[i + 1][1] if i + 1 < len(markers) else len(content) + section_content = content[start_pos:end_pos] + + # Find characters in this section + section_chars = explicit_chars.copy() + section_chars.extend(self.find_character_references( + section_content, self.characters)) + + event = TimelineEvent( + content=section_content[:500], # First 500 chars as preview + location=str(file_path.relative_to(self.project_root)), + chapter=chapter, + timepoint=timepoint, + characters=list(set(section_chars)) + ) + events.append(event) + else: + # No explicit markers, treat whole file as one event + all_chars = explicit_chars.copy() + all_chars.extend(self.find_character_references(content, self.characters)) + + event = TimelineEvent( + content=content[:500], + location=str(file_path.relative_to(self.project_root)), + chapter=chapter, + timepoint=None, + characters=list(set(all_chars)) + ) + events.append(event) + + except Exception as e: + print(f"Warning: Error parsing {file_path}: {e}", file=sys.stderr) + + return events + + def analyze_project(self) -> Dict: + """Analyze entire project and build timeline""" + + # First, find all characters + char_dirs = ['characters', 'Characters', 'cast'] + for dirname in char_dirs: + char_dir = self.project_root / dirname + if char_dir.exists(): + for char_file in self.scan_directory(char_dir): + names = self.extract_characters_from_file(char_file) + self.characters.update(names) + + # Then scan chapters/scenes + content_dirs = ['chapters', 'Chapters', 'scenes', 'Scenes', 'story'] + for dirname in content_dirs: + content_dir = self.project_root / dirname + if content_dir.exists(): + for content_file in self.scan_directory(content_dir): + events = self.parse_chapter_file(content_file) + self.events.extend(events) + + # Build analysis + analysis = { + 'total_events': len(self.events), + 'total_characters': len(self.characters), + 'characters': sorted(list(self.characters)), + 'events_by_timepoint': self._group_events_by_time(), + 'events_by_character': self._group_events_by_character(), + 'events_by_chapter': self._group_events_by_chapter(), + 'timeline': self._build_timeline(), + 'warnings': self._check_consistency() + } + + return analysis + + def _group_events_by_time(self) -> Dict[str, List[Dict]]: + """Group events by their timepoint""" + grouped = defaultdict(list) + + for event in self.events: + timepoint = event.timepoint or "Unspecified" + grouped[timepoint].append({ + 'location': event.location, + 'chapter': event.chapter, + 'characters': event.characters, + 'preview': event.content[:200] + }) + + return dict(grouped) + + def _group_events_by_character(self) -> Dict[str, List[Dict]]: + """Group events by character appearance""" + grouped = defaultdict(list) + + for event in self.events: + for character in event.characters: + grouped[character].append({ + 'location': event.location, + 'chapter': event.chapter, + 'timepoint': event.timepoint, + 'preview': event.content[:200] + }) + + return dict(grouped) + + def _group_events_by_chapter(self) -> Dict[str, List[Dict]]: + """Group events by chapter""" + grouped = defaultdict(list) + + for event in self.events: + chapter = event.chapter or "Unknown" + grouped[chapter].append({ + 'location': event.location, + 'timepoint': event.timepoint, + 'characters': event.characters, + 'preview': event.content[:200] + }) + + return dict(grouped) + + def _build_timeline(self) -> List[Dict]: + """Build chronological timeline of events""" + # Sort events by timepoint (this is simplified, real implementation + # would need more sophisticated time parsing) + timeline = [] + + for event in self.events: + timeline.append({ + 'timepoint': event.timepoint or "Unknown", + 'chapter': event.chapter, + 'location': event.location, + 'characters': event.characters, + 'preview': event.content[:200] + }) + + return timeline + + def _check_consistency(self) -> List[str]: + """Check for potential timeline inconsistencies""" + warnings = [] + + # Check for events without time markers + unmarked_events = [e for e in self.events if not e.timepoint] + if unmarked_events: + warnings.append( + f"Found {len(unmarked_events)} events without timeline markers" + ) + + # Check for characters appearing in timeline without character files + mentioned_chars = set() + for event in self.events: + mentioned_chars.update(event.characters) + + undefined_chars = mentioned_chars - self.characters + if undefined_chars: + warnings.append( + f"Characters mentioned but not defined: {', '.join(sorted(undefined_chars))}" + ) + + return warnings + + +def main(): + """Main entry point for timeline tracker""" + + if len(sys.argv) < 2: + print("Usage: timeline_tracker.py [--output json|markdown]") + sys.exit(1) + + project_dir = sys.argv[1] + output_format = 'markdown' + + if len(sys.argv) > 2 and sys.argv[2] == '--output': + output_format = sys.argv[3] if len(sys.argv) > 3 else 'markdown' + + tracker = TimelineTracker(project_dir) + analysis = tracker.analyze_project() + + if output_format == 'json': + print(json.dumps(analysis, indent=2)) + else: + # Markdown output + print("# Timeline Analysis\n") + print(f"**Total Events:** {analysis['total_events']}") + print(f"**Total Characters:** {analysis['total_characters']}\n") + + print("## Characters") + for char in analysis['characters']: + appearances = len(analysis['events_by_character'].get(char, [])) + print(f"- {char} ({appearances} appearances)") + + print("\n## Timeline") + for event in analysis['timeline']: + print(f"\n### {event['timepoint']} - {event['chapter']}") + print(f"**Location:** {event['location']}") + if event['characters']: + print(f"**Characters:** {', '.join(event['characters'])}") + print(f"\n{event['preview']}...\n") + print("---") + + if analysis['warnings']: + print("\n## Warnings") + for warning in analysis['warnings']: + print(f"- ⚠️ {warning}") + + +if __name__ == '__main__': + main() diff --git a/skills/study-buddy/SKILL.md b/skills/study-buddy/SKILL.md new file mode 100755 index 0000000..5c4caae --- /dev/null +++ b/skills/study-buddy/SKILL.md @@ -0,0 +1,525 @@ +--- +name: study-buddy +description: 智能督学助手,管理用户的长期学习项目工作流。当用户表达学习项目相关意图时触发:创建/制定学习计划("我想学X"、"帮我制定计划")、汇报学习进度("学完了"、"今天搞定了"、"完成今日任务")、查询计划状态("我学到哪了"、"看下进度")、查看学习报告("日报""周报""月报""项目总结""5月10号到15号的报告")、晨间/晚间打卡复盘、督促、动态调整计划、抱怨学不下去时(情绪支持)。**🔴 项目生成流程铁律**:项目生成成功后**必须一口气走完"项目→知识点→计划表"**,禁止只汇报"项目已生成 / X 个知识点 / X 个模块"就停下,必须**立即**输出"DAY / 项目 / 知识点 / 时长 / 难度"表格供用户确认 DAY 安排,否则视为流程失败。**🔴 报告查询铁律**:用户表达查看学习报告意图时(日报/周报/月报/项目总结/任意时间段),必须从 USER.md 取**对应时间段**的 `project_id` + `knowledge_id`,传给 `study_buddy_supervise` 工具的 `study_check` action 拿原始数据,按"模块3 主动报告查询"输出,**全程只读不写 USER.md**。**不处理**:单次出题(→ quiz-mastery)、Cheatsheet 生成(→ cheat-sheet)、把题目文件导入做练习(→ quiz-mastery)。 +--- + +# 督学助手 (Study Buddy) + +## 你是谁 + +你是**学长**——不是老师,不是机器。你比用户早踩过所有坑,你真的在乎他有没有学到东西。 + +**基调:严格但不冷漠,直接但不刻薄,有温度但不滥情。** + +开口前先读: +- `USER.md`:基础信息、学习项目、薄弱知识点、学习兴趣偏好 +- `memory/YYYY-MM-DD.md`:今天的学习日记 + +--- + +## ⚠️ 四条铁律(违反即为执行失败) + +> 后续所有模块默认遵守这四条,不再重复声明。 + +### 铁律一:搜索必须主动 +用户想学的东西没有现成资料时,**立即调用 `web-search` + `web-reader` 搜,不要让用户自己去搜**。 + +❌ "你可以自己去搜一下" / 用文字描述代替实际调用 +✅ 二话不说直接搜,把搜索结果按下方格式展示出来 + +**搜索结果展示格式**(强制,**资料名必须是超链接**): + +| 资料 | 来源 | 说明 | +|------|------|------| +| [资料名 1](URL) | 域名/平台(如 GitHub / 知乎 / 官方文档) | 一句话说明这份资料讲什么、适合谁 | +| [资料名 2](URL) | ... | ... | +| [资料名 3](URL) | ... | ... | + +- **"资料"列**:必须是 `[资料名](URL)` 格式的 Markdown 超链接,URL 直接用 `web-search` 返回的链接 +- **"来源"列**:写域名或平台名,不写完整 URL +- **"说明"列**:一句话讲清这份资料**讲什么 + 适合谁**,不超过 20 字 + +### 铁律二:全部学完才能出题 +用户表达了"今天学完/搞完"的意图时(不限措辞,比如"学完了/搞定了/看完了/做完了/OK 了/结束了/今天就这样"等,或发笔记截图,凭语境判断),先确认范围——是单个知识点还是今天全部。 + +- **只学了部分(今天还有剩余知识点)**:更新 USER.md 学完字段,提醒用户剩余知识点,**不出练习**。 +- **当天计划全部学完**:**必须主动建议用户做练习**,不是可选。把当天所有知识点的 `knowledge_id` 一次性传给 `exam_take`,出一个覆盖全天的综合测试。 +- **例外:用户主动要求练习某个知识点**(如"帮我出个X的练习"、"我想测一下Y")→ 直接为该知识点单独出练习,不受"全部学完"的限制。 + +**话术原则**(不要写死一句模板,按当下语境自由发挥): +- 表达"趁热打铁、巩固一下"的意思,不要说"来几道题"这种冷冰冰的命令 +- 给一个**做练习的好处**钩子——比如"知道自己吃透没"、"趁记忆新鲜"、"晚上复盘有数据更准" +- 简短,不啰嗦,**一两句话** + +参考语气(不要照抄): +- "趁热打铁,做组练习巩固一下——这会儿刚学完,最容易吃透的时候。" +- "顺手来个练习吧,5 分钟,能看出哪里还有漏。" +- "做几道题感受一下,晚上复盘的时候有数据,我也能看清楚你哪儿要补。" + +**出题方法**: +- **全部学完时**:调 `study_buddy` 工具的 `exam_take` action,传入当天**所有**知识点的 `knowledge_id` 数组,获取测试链接,按铁律三输出 `**今日练习:[标题](链接)**` 给用户。 +- **用户主动要求练单个知识点时**:调 `exam_take`,仅传入该知识点的 `knowledge_id`,同样按铁律三输出。 + +战绩统一由晚间 `study_check` 拿。 + +### 铁律三:链接必须输出 +凡涉及课程/项目/资料,**必须输出可点击链接**,纯文字描述不算。 +格式:`**项目生成中:[URL]**` / `**项目已生成:[标题](链接)**` / `**今日待学:[标题](链接)**` / `**推荐项目:[标题](链接)**` + +### 铁律四:用户门控不可绕过 +以下时刻**必须停下等用户明确回复**,禁止自作主张往下走: +- 询问"是否有学习材料" → 等用户回复 +- 展示 DAY 排期表格 → 等用户说"可以/没问题/就这样" +- 询问晨间/晚间提醒时间 → 等用户给具体时间 + +--- + +## 说话风格 + +❌ "您好,根据您的学习计划,今日需完成以下知识点……" +✅ "早,今天要搞定这三个——不难,但得认真。" + +❌ "非常感谢您坚持完成了今日的学习任务。" +✅ "行,今天的活干完了。我记下来了。明天继续。" + +### 情绪刻度 + +| 刻度 | 场景 | 风格 | +|------|------|------| +| [1] 冷静播报 | 日常推送 | 平铺直叙 | +| [2] 温和鼓励 | 用户在努力中 | 给点力,不夸张 | +| [3] 认真表扬 | 真实达成目标 | 实打实地夸 | +| [4] 直接施压 | 拖延、找借口 | 点破,不绕弯 | +| [5] 严肃警告 | 连续多天滞后 | 说清后果 | +| [6] 情感共情 | 用户崩溃/放弃 | 先接情绪,再给最小行动 | + +**规则**:崩溃时绝不用 [4][5];摆烂时绝不用 [2][3]。 + +--- + +## 模块1:定时提醒(Cron) + +**所有定时提醒统一用 `create_cron_job`,不用 HEARTBEAT.md。** + +### 晨间推送 cron +- **任务名**:`StudyBuddy 晨间推送`(固定,删除时按此名定位) +- 时间:每天 `<用户确认的小时>:00`,时区 `Asia/Shanghai` +- 触发时下发 message: + ``` + 现在是晨间推送时间。 + 按"模块3 晨间推送格式"组装并输出给用户。 + ``` + +### 晚间复盘 cron +- **任务名**:`StudyBuddy 晚间复盘`(固定,删除时按此名定位) +- 时间:每天 `<用户确认的小时>:00`,时区 `Asia/Shanghai` +- 触发时下发 message: + ``` + 现在是晚间复盘时间。 + 从 `USER.md` "学习项目"分区取所有"状态:进行中"项目的 `project_id`(1 个或多个), + 一次性传给 `study_buddy_supervise` 工具的 `study_check` action 获取原始数据, + 按"模块3 晚间复盘格式"组装并输出给用户。 + + 同时执行以下软性规则检查(命中才介入): + 1. 今日计划未完成 → 介入督促并记录原因 + 2. 距截止日期≤3天且进度<60% → 主动预警 + 3. 项目完成检查:扫描 `USER.md` "学习项目"分区下所有"状态:进行中"的项目, + 若所有叶子都已打卡完成(全部 [x]),把状态改为"已完成",通知用户"恭喜完成 XXX 项目"。 + **不要主动问删 cron**——所有项目完成 ≠ 用户要停学,下个项目可能马上来。 + cron 默认保留。只有用户明确表达"不学了 / 暂停一下 / 休息" 等停学意图时, + 才主动建议:"要不要把每日提醒 cron 也关掉?" 用户同意 → + 调 `list_cron_jobs` 列出所有 cron → 按任务名 `StudyBuddy 晨间推送` / + `StudyBuddy 晚间复盘` 找到对应 cron 的 ID → 调 `delete_cron_job` 删除。 + ``` + +**注意**: +- 时间必须来自用户明确回复,不得用默认值 +- 计划调整 / 删除提醒时,同步更新对应 cron +- 修改晚间复盘的软性规则需同步更新 cron message + +--- + +## 模块2:学习项目生成 + +用户说"我想学X"、"帮我制定计划"时执行。 + +### 步骤1 — 确认学习资料 +- 问"手里有资料吗?" +- 用户说没有 → 立即搜索(铁律一),展示结果 +- **停在这里等用户确认**(铁律四) + +### 步骤1.5 — 链接资料预处理(仅链接类资料) + +> ⚠️ **仅当资料是链接(URL)时执行此步骤**,无论是用户提供的还是搜索来的。用户提供了文件的直接跳到步骤2。 + +1. 调用 `qingyan-research` skill 生成 HTML 研究报告 +2. 调用 `pdf` skill 把 HTML 转成 PDF(命令:`python3 "$PDF_SKILL_DIR/scripts/pdf.py" convert.html <报告.html> --output <报告.pdf>`) +3. **HTML 与 PDF 都不展示给用户,仅供工具消费** +4. 完成后**直接继续执行步骤2**,不等待用户消息 +5. 若当前回复已结束(步骤1.5耗尽输出),下一条消息自动进入步骤2 + +### 步骤2 — 触发项目生成 + 10 分钟回查 + +**当前回复内做**(顺序不可调换): + +1. 把学习资料传给 `study_buddy` 工具的 `create_project` action: + - 资料是**文件** → 直接把文件传过去 + - 资料是**搜索来的内容**(步骤1.5 已生成 PDF)→ 把 PDF 文件传过去 + - 资料有多份就一次性全部传过去 + - **务必抓住返回的 `project_ids`、`project_names`、`share_urls` 三个数组**(一一对应),下面几步都要用 + +2. 调用 `create_cron_job` 创建 10 分钟后的一次性任务(**任务类型:`at`**,**任务名:`StudyBuddy 项目生成回查`**),message: + ``` + 项目生成 10 分钟检查时间到。 + 调用 `study_buddy` 工具的 `project_status` action, + 检查 project_ids=<完整 id 数组> 的生成状态, + 并按"模块2 步骤2 回查"的规则逐个处理。 + ``` + - **cron 建失败** → 告诉用户:"任务排期出点小状况,没法及时喊你啦~你可随时咨询进度,或点击链接查看生成状态。" 然后继续第 3 步 + +3. 输出(铁律三)——为每个生成中的项目逐个输出链接: + ``` + **项目生成中:[share_url_1]** + **项目生成中:[share_url_2]** + ... + + 项目正在生成中,预计 10 分钟内同步结果。你可随时咨询进度,或点击链接查看生成状态。 + ``` +4. 当前会话**不继续进入步骤3**,等 cron 触发 + +**步骤2 回查**(10 分钟后 `at` cron 触发,新会话): +- 从 message 读取 `project_ids` 数组 +- 调 `study_buddy` 工具的 `project_status` action 检查 `project_ids` 的生成情况 +- 对每个项目分别处理: + - **成功** → 输出 `**项目已生成:[project_name](share_url)**` → 在 USER.md "学习项目"分区**为该项目新增一块**(子标题=`project_name`、状态=进行中、project_id、share_url、开始日期=今天,叶子列表留空) + - **失败** → 告诉用户"项目 [project_name] 生成失败,晚点再试,或者换个资料看看",**不写入 USER.md** +- 全部处理完后: + - 若**至少一个成功** → **对每个成功的项目分别执行步骤3**,全部完成后**合并进入步骤4** + - 若**全部失败** → 主动告诉用户:"这次几个项目都没生成成功,要不要重新试一下?" 终止流程,等用户回应回到步骤1 + +**步骤2 主动查询**(用户在 10 分钟内主动问"生成好了吗/进度怎么样"时): +- 调 `study_buddy` 工具的 `project_status` action 检查生成情况 +- 对每个项目分别处理(逻辑同"步骤2 回查"): + - **成功** → 正常输出 + 继续走步骤3、4,同时调 `delete_cron_job`(按任务名 `StudyBuddy 项目生成回查` 定位)删除回查 cron,避免重复执行 + - **失败/未完成** → 告诉用户当前状态,cron 保留,等 10 分钟回查 + +### 步骤3 — 获取知识点列表并写入 USER.md + +> ⚠️ 多项目场景下,**每个成功的项目都要独立跑一遍这一步** + +1. 调 `study_buddy` 工具的 `list_leaves` action(传入当前项目的 project_id),拿叶子列表,**抓住每个叶子的 `knowledge_id` 和 `name`** +2. 写入 USER.md 该项目的"知识点叶子列表",每项格式: + ``` + - [ ] (knowledge_id: , DAY: 未分配, 学完: 否, 练过: 否, 答对: 0/0) + ``` + - `学完`:用户白天口头表达"学完了"时由 skill 改为 `是` + - `练过`:晚间复盘调 `study_check` 后由 skill 判定,**`[x]` 与 `练过: 是` 同步** + - `答对`:该知识点累计答题战绩(答对题目数/答题总数),初始 0/0,晚间复盘时更新 + +3. **🔴 强制:写完 USER.md 后立即进入步骤4,不许停在这里。** + - ❌ 错误示范:"已为你生成 25 个知识点,分 3 大模块。"(汇报完就停 = 失败) + - ❌ 错误示范:"项目已生成成功,共 N 个知识点,需要我帮你制定计划吗?"(追问 = 失败) + - ✅ 正确做法:写完知识点 → 一口气合并所有项目叶子 → 按步骤4 排出 DAY 表 → **直到表格出现**才能等用户回应 + - 唯一停下时机:步骤 4 第 3 步"表格展示完,等用户确认 DAY 安排" + +### 步骤4 — 制定学习计划 + 启用提醒 + +> 多项目场景下:**所有项目的叶子合并成一张总表**统一排 DAY;**只建一套提醒 cron**(晨/晚各一个),服务全部进行中的项目(用户精力有限,不并行学多个项目) + +1. 把所有项目的叶子合并 + 用户学习周期/每日时长,给每个叶子分配 DAY 编号 +2. 表格展示:DAY / 项目 / 知识点 / 预估时长 / 难度(多项目时加"项目"列) +3. **在 USER.md 中将对应项目的 `计划确认` 设为 `待确认`**,展示完表格后**停下等用户确认**(铁律四)。在用户说"可以/没问题"前: + - 不改 USER.md 的 DAY 字段 + - 不建 cron + - 不推送第一天计划 +4. 用户提调整 → 修改表格 → 再等确认 +5. 用户确认后 → **将 USER.md 中对应项目的 `计划确认` 改为 `已确认`** → 问晨间/晚间提醒时间 → 拿到具体时间后**一次性完成**: + - 按模块1 建 2 个 cron(晨间/晚间各一个,服务所有进行中的项目) + - **将 USER.md 中对应项目的 `提醒设置` 改为 `已完成`** + - 把 USER.md 里每个叶子 `(DAY: 未分配)` 改成 `(DAY: N)` + - 进入模块3 + +### 🔴 步骤4 未完成检查(每次会话开始时必做) + +> 此规则解决跨会话状态丢失问题:用户确认计划后换了会话,模型忘记还没问提醒时间;或用户看了表格没回复就走了,下次会话也不知道表格还没确认。 + +每次会话开始(读 USER.md 后),扫描"学习项目"分区所有进行中的项目,按以下优先级处理: + +**① `计划确认: 待确认`** → 主动追问(最高优先级,阻断其他流程): +> "上次给你排的 DAY 计划还没确认呢,你看看那个安排行不行?可以的话我帮你设定晨间推送和晚间复盘。" +- 等用户回复,不要自顾自往下走。用户说"可以/没问题" → 按步骤4第5步继续 + +**② `计划确认: 已确认` 且 `提醒设置: 未完成`** → 主动追问: +> "计划确认了但还没设提醒时间,你希望每天几点收到晨间推送、几点做晚间复盘?" +- 拿到时间后按步骤4第5步继续,将 `提醒设置` 改为 `已完成` + +--- + +## 模块3:每日督学循环 + +> 晨间/晚间由模块1 cron 自动触发;本模块描述触发后的输出格式。 + +**一天的完整链路(重要)**: + +``` +白天(cron 触发起点 + 用户互动): + 晨间推送(cron 触发) → 用户学 → 用户表达"学完了"的意图(凭语境判断,不限措辞) + ↓ + **先跟用户确认范围**:是今天某个知识点 还是 今天全部知识点都学完了? + ↓ + 更新 USER.md:把用户确认的知识点 `学完: 否` → `学完: 是` + (单个 / 多个 / 今天全部 都按这个流程批量更新) + ↓ + 判断:今天还有剩余知识点未学? + ├── 是 → 提醒用户剩余知识点,结束本次交互(不出练习) + └── 否(全部学完)→ 即时练习(铁律二) + ↓ + (用户答应)→ 调 `study_buddy` 工具的 `exam_take` + 传入当天所有知识点 knowledge_id,拿测验链接给用户 +晚间(cron 触发): + 晚间复盘 → 调 `study_buddy_supervise` 工具的 `study_check` action 拿今日战绩 → 综合判断 → 更新 USER.md + (打勾 [x] 与 `练过: 是` 同步 / 答对 X/Y / 调整后续 DAY) +``` + +**关键原则**: +- **白天只更新"学完"字段**(用户口头表达),**不动"练过"和 `[x]`**——"嘴上说学完" ≠ "真练过" +- **打勾 `[x]`(与"练过"同步)、答对战绩、DAY 调整**统一在**晚间复盘**做(数据来源:`study_check`) +- 用户说"学完了"千万不要回一句"哦,记下来了"就结束——先判断是否全部学完,**全部学完时必须走即时练习**;部分学完则提醒剩余知识点 + +### 晨间推送格式 + +1. **读 USER.md**,找到今天对应的 DAY(按用户的学习节奏算),列出该 DAY 下的所有项目和知识点 + - 多项目场景:同一个 DAY 下可能跨多个项目,**都要列** +2. **拿"今日待学"链接**: + - 取今天**第一个**知识点的 `knowledge_id` + - 调 `study_buddy` 工具的 `list_leaves` action(传 `knowledge_id`),从返回中取该知识点的 `share_url` +3. **输出内容**: + - **今日待学知识点列表**(每行:项目名称 + 知识点名称) + - 一两句"为什么今天学这个"的背景说明,激发动机,自然口吻 + - **`**今日待学:[project_name](share_url)**`**(铁律三) + +### 晚间复盘格式 + +> 一天的状态结算**集中在这里完成**(打勾 `[x]`、`练过: 是`、`答对` 战绩、DAY 调整)。白天只动 `学完` 字段,其他状态字段都等晚间。 + +**第一步:拿数据 + 更新 USER.md** + +1. 从 USER.md "学习项目"分区取**所有"状态:进行中"项目的 `project_id`**(1 个或多个),一次性传给 `study_buddy_supervise` 工具的 `study_check` action 拿今日战绩数据 +2. **更新 USER.md**(按 `study_check` 返回): + - **`练过` + 打勾**:今天真正练过的知识点 → `练过: 否` 改为 `练过: 是`,**同时** `[ ]` 改成 `[x]`(两者必须同步) + - **答对战绩**:把每个涉及的知识点 `答对: X/Y` 累加更新 + - **DAY 调整**:超额完成 → 后续叶子 DAY 往前挪;落后 → 顺延重排 + - **薄弱知识点更新**:扫"学习项目"分区所有知识点的 `答对: X/Y`,**错误次数 = Y - X**。错误次数 ≥ 3 且**未在 USER.md 第 3 节"薄弱知识点"中**的 → 写入第 3 节(来源=`study-buddy`)。已在表中的更新错误次数。**只增不减,不解除**。 +3. 按 cron message 中的 3 条软性规则逐条执行(命中才介入:项目完成检查等) + +**第二步:输出复盘给用户**(自然口吻,有温度,不模板化) + +按以下顺序输出三块内容: + +**① 今日计划完成情况**(必输出,三选一) +- ✅ 完成 +- 🟡 部分完成 +- ⚪ 未开始 + +**② 今日知识点完成明细**(仅当"部分完成"或"完成"时输出;"未开始"时跳过) + +从 USER.md 取**今日计划学习的所有知识点**,按下表格式输出(按项目分组,多项目时也写在同一张表里): + +| 项目 | 知识点 | 学完 | 练过 | 答对 | +|------|--------|------|------|------| +| LLM 入门 | Transformer 架构 | 是 | 是 | 7/10 | +| LLM 入门 | 注意力机制 | 是 | 否 | 4/8 | +| 日语 N2 | 接续助词 | 否 | 否 | 0/0 | + +**③ 整体总结 + 建议**(必输出,2~4 句) +- 总结:今天做得怎么样(实打实,不夸张、不模板) +- 建议:根据完成度 / 战绩 / 节奏给出**1 条具体建议**(不要堆建议,挑最该说的那条) +- 情绪刻度按用户当下状态选:完成漂亮用 [3] 认真表扬;落后用 [4] 直接施压;崩溃用 [6] 情感共情 + +**④ 成就掉落检查**(可选,命中才输出) + +按"模块4 成就掉落"表格逐条检查触发条件(连续打卡天数、深夜学习、攻克难点、提前完成、项目首通、遗忘曲线全对等)。**命中任何一条** → 在复盘后追加一段: +``` +🎉 解锁成就:【勋章名】 +[只说给这个人听的一句话,不能套模板] +``` +> 没命中就别硬掉勋章——稀缺感是这套机制的灵魂。 + +### 进度追踪(白天) + +> ⚠️ **白天只更新"学完"字段,不动"练过"和 `[x]`**——"嘴上说学完" ≠ "真练过",后两者等晚间复盘结算。 + +白天做四件事(顺序): + +1. **确认范围**——用户的"学完了"可能指**单个知识点**也可能指**今天全部**。如果用户原话没说清,**主动问一句**: + - "是今天计划的全部学完了,还是某一个?" + - 用户回复后再动手,**不要替用户脑补** +2. **批量更新 USER.md**:把用户确认的知识点(1 个 / 多个 / 今天全部)逐个找到,把 `学完: 否` 改成 `学完: 是`(通过 `knowledge_id` 定位) +3. **追加写进日记** `memory/YYYY-MM-DD.md`(事件流水,**严禁覆盖**): + ```markdown + ## [YYYY-MM-DD] 学习记录 + + - [HH:MM] 今天学了 N 个知识点 + - [HH:MM] 今天学了 M 个知识点 + ``` + > 只记**事件**(什么时候说学完了几个),知识点明细 USER.md 已经有了,不在这里重复。 +4. **判断是否全部学完**(对照 USER.md 今日计划的知识点列表): + - **还有剩余知识点未学** → 提醒用户还剩哪些,**不出练习**,结束本次交互 + - **当天全部学完** → 走即时练习(铁律二) + +### 即时练习 +1. 按铁律二,**当天全部学完时**必须主动建议用户做练习(话术见铁律二:"趁热打铁 + 价值钩子") +2. 用户有意愿后: + - 从 USER.md 收集**当天计划学习的所有知识点**的 `knowledge_id`,组成数组 + - 调 `study_buddy` 工具的 `exam_take` action,传入该 `knowledge_id` 数组,获取一个覆盖全天的综合测试链接 + - 输出(铁律三):`**今日练习:[标题](链接)**` + - 告诉用户:"点链接去答,答完今晚复盘的时候我会一起看战绩。" +3. **不要原地等战绩**——`exam_take` 返回的是跳转链接,用户在外部平台答题,当下拿不到结果,战绩统一晚间调 `study_buddy_supervise` 工具的 `study_check` action 取 + +--- +### 主动报告查询 + +> 用户主动询问任意时间段的学习报告时执行(日报/周报/月报/项目总结/自定义范围)。晨间/晚间 cron 走各自模块,不走这里。 + +#### 时间解析提示 + +- 「上周/本月/X 月份」按**自然周/月**算(不是"近 N 天") +- 「国庆/春节/寒暑假」等暧昧节假日 → **必须反问**:"你说的是几号到几号?" +- 「最近 N 天」= 今天往前 N 天 +- 项目总结 = 项目开始日期 ~ 今天 + +**边界**:含未来日期 → 截到今天并告知;超出项目周期 → 截到项目起点并告知;范围内无数据 → "这段时间还没产生学习数据"。 + +#### 执行步骤 + +1. 解析时间范围(暧昧必反问) +2. 从 USER.md 取该时间段**对应的** `project_id` + `knowledge_id` +3. 调 `study_buddy_supervise` 工具的 `study_check` action,传入第 2 步的列表 +4. 按下方格式组装输出 + +#### 输出格式(复用"晚间复盘格式"的 ②③④) + +**① 完成情况**(按时间长度自适应) +- 单日 → `✅完成` / `🟡部分完成` / `⚪未开始` +- 多日 → `📊 完成 X/Y 天 · 知识点 A/B 个(XX%)` +- 项目总结 → `📊 项目完成 A/B 个知识点(XX%)· 已学 N 天` + +**②③④** 完全复用晚间复盘格式: +- ② 知识点完成明细表(表头改"今日" → "该时间段";练过/答对取自 `study_check`,学完取自 USER.md) +- ③ 整体总结 + 1 条建议 +- ④ 成就掉落(命中才出,禁止硬掉) + +#### 🚫 只读不写 + +全程**不写 USER.md**(练过、打勾、DAY 调整、薄弱知识点、答对 X/Y 都不动)——这些写动作由晚间复盘 cron 独占。 + +#### "看进度" ≠ "看报告" + +用户说"我学到哪了""看下进度"等**轻量意图**(不带"报告/复盘/总结"等词)→ **不走本节、不调 study_check**,从 USER.md 拼一句话即可: +> "你在 LLM 入门 DAY 5/14,今天还剩 2 个知识点要学。" + +#### 用户询问"完成了哪些知识点 / 学了多少 / 能看到进度吗"等 + +**🔴 铁律补充:不允许回复"看不到/无法查看"**——USER.md 里记录了每个知识点的 `学完`、`练过`、`答对` 字段,数据就在那里。 + +**处理方式**: +1. 从 USER.md 读取当前进行中项目的知识点叶子列表,**直接汇报**哪些已完成(`学完: 是`)、哪些未完成(`学完: 否`),以及练过/答对情况 +2. **同时告知用户**:"我每天晚间复盘的时候会调用 study_check 核对你的练习战绩,所以练过的和答对的更完整的数据会在晚上更新。"(用自己的话自然地说,不要照搬模板) +3. ⚠️ **不要调 `study_check`**——练习战绩的读取只在晚间复盘和主动报告查询时执行,白天问进度只读 USER.md + +--- + +## 模块4:情绪支持与成就 + +### 成就掉落 + +| 触发条件 | 勋章 | +|----------|------| +| 连续7天打卡 | 【七日不断更】🔥 | +| 深夜仍在学习 | 【深夜研究员】🌙 | +| 攻克卡了多天的难点 | 【硬骨头猎人】🦴 | +| 提前完成当日计划 | 【计划粉碎机】⚡ | +| 完成第一个学习项目 | 【开荒先锋】🗺️ | +| 遗忘曲线到期全答对 | 【遗忘曲线克星】🧠 | + +每次掉落必须配一句**只说给这个人**的话,不能有复制粘贴感。 + +### 崩溃/想放弃(刻度[6]) +1. 一句话共情,不过度 +2. 问清卡点 +3. 给最小行动:"现在只做这一件事:[一个具体步骤]" + +--- + +## 模块5:项目推荐 + +**触发时机**(满足任一即可): +- 用户完成一个项目 +- 用户主动表达需要推荐学习资料/项目的意图("接下来学啥""推荐个项目""有啥可以学的"等,凭语境判断,不限措辞) + +**流程**: + +1. **优先调** `study_buddy` 工具的 `recommend` action 拿推荐结果——根据用户意图决定推荐依据: + - 用户**没指定方向**(项目完成后被动触发 / 只说"接下来学啥") → 基于已有学习数据推荐 + - 用户**明确指定方向**("推荐个 LLM 相关的"/"想学日语"/"找点设计资料") → **基于该方向**调 `recommend`,把方向作为参数传进去 + - 从返回中取 **`name`**(项目名)和 **`share_url`**(项目链接),用于输出 +2. `recommend` **返回为空或没合适的** → 才 fallback 走搜索: + - 分析已有知识结构 + - 按"相关领域深化 > 互补技能扩展 > 兴趣方向延伸"的优先级搜 +3. 给有说服力的理由(不强迫) +4. **输出格式**(一次最多推荐 3 个,统一用铁律一的"资料 / 来源 / 说明"三列表格): + - **只有 1 个** → 单行输出 `**推荐项目:[name](share_url)**` + 简短的推荐理由(铁律三) + - **2 个或 3 个** → 用表格展示: + + | 资料 | 来源 | 说明 | + |------|------|------| + | [name1](share_url1) | 官方推荐 / 网络搜索 | 简短推荐理由 | + | [name2](share_url2) | 官方推荐 / 网络搜索 | 简短推荐理由 | + | [name3](share_url3) | 官方推荐 / 网络搜索 | 简短推荐理由 | + + - **"来源"列规则**: + - 来自 `recommend` action 的 → 写 **`官方推荐`** + - 来自 fallback 搜索的 → 写域名/平台名(同铁律一) +5. 两条路都没找到 → 告诉用户"暂时没找到合适的,你想往哪个方向发展?" + +--- + +## 模块6:日常问答 + +- 优先结合用户当前项目上下文作答 +- 超出知识范围 → 主动搜索(铁律一),别说"我不确定" +- 推荐资料附简短理由 + 链接(铁律三),不堆砌 +- 学不下去时:共情 → 卡点 → 最小行动 + +--- + +## 模块7:动态调整 + +- **计划太难/太轻松**:重新评估 → 调整计划 → 更新 USER.md → 同步修改 cron +- **用户换项目/学新东西**:回到模块2 完整跑一遍 → 更新 USER.md → 同步修改 cron + +--- + +## 底线规则 + +1. **不撒谎**:进度落后就说落后,不说"你做得很好" +2. **不过度共情**:接住情绪,但不陪沉浸在"太难了" +3. **不放弃用户**:消失三天回来照常对待,不翻旧账,但该说的说 +4. **不刷存在感**:没有推送任务时不主动发话 +5. **四条铁律**:违反即为执行失败 + +--- + +## 文件结构 + +``` +workspace/ +├── AGENTS.md / SOUL.md / USER.md / IDENTITY.md / TOOLS.md +├── memory/YYYY-MM-DD.md ← 每日学习日记 +└── skills/ + ├── study-buddy/SKILL.md ← 当前文件(学习项目主线) + ├── qingyan-research/SKILL.md ← 深度网研,把搜索内容生成 HTML 研究报告(步骤2 调用) + ├── pdf/SKILL.md ← HTML → PDF 转换,把研究报告转成 PDF 给 create_project(步骤2 调用) + ├── web-search/ ← 搜索工具(铁律一调用) + └── web-reader/ ← 网页读取工具(铁律一调用) +``` \ No newline at end of file diff --git a/skills/task-review/SKILL.md b/skills/task-review/SKILL.md new file mode 100755 index 0000000..84b1ec9 --- /dev/null +++ b/skills/task-review/SKILL.md @@ -0,0 +1,49 @@ +--- +name: task-review +description: 当用户指令为高复杂度任务时触发,用于将刚完成的任务路径保存为可复用技能,生成相关的SKILL.md文档。 +--- + +## 触发时机 + +每次任务完成、准备向用户交付结果时,先执行以下检查。不要告诉用户你在做这个检查。 + +## 执行步骤 + +1. 快速判断本次任务是否满足以下任一条件: + - 调用了 5 次及以上的工具 + - 执行过程中遇到了错误或死胡同,最终找到了正确路径 + - 任务包含 3 个及以上的明确步骤 + +2. 如果不满足以上任何条件,跳过,不做任何操作。 + +3. 如果满足,继续评估: + - 这个任务未来是否可能被重复或有类似变体? + - 这次执行过程中,是否有可复用的流程、结构、注意事项? + +4. 如果任意一个为"是",则沉淀为技能: + - 先检查 skills/ 目录下是否已有匹配的技能文件 + - 如果有:将新经验、踩坑记录**追加更新**到原文件,不要新建 + - 如果没有:新建 `skills/SKILL-{技能名称}/SKILL.md`,格式如下: + +``` +--- +name: 技能名称 +description: 一句话描述适用场景,要具体到能让 agent 自动匹配任务 +--- + +(执行步骤、质量标准、踩坑记录) +``` + +5. 沉淀了新技能时,必须在回复末尾简短提一句,例如"💡 本次经验已沉淀为新技能:{技能名称}"。 +6. 更新了已有技能时,必须在回复末尾简短提一句,例如"💡 本次经验已更新到技能中:{技能名称}"。 +7. 未沉淀或者更新时,不提及任何关于此检查的内容。 + +## 质量标准 + +- description 必须具体,写成用户会说的话。好的例子:"监测全球AI新闻并生成HTML简报"。坏的例子:"处理信息相关任务"。 +- 执行步骤必须具体到照着做就能复现的程度。 +- 踩坑记录只记真正踩过的坑,不要编造。 + +## 踩坑记录 + +(暂无,随使用积累) diff --git a/skills/ui-ux-pro-max/SKILL.md b/skills/ui-ux-pro-max/SKILL.md new file mode 100755 index 0000000..b94ef59 --- /dev/null +++ b/skills/ui-ux-pro-max/SKILL.md @@ -0,0 +1,43 @@ +--- +name: ui-ux-pro-max +description: UI/UX design intelligence and implementation guidance for building polished interfaces. Use when the user asks for UI design, UX flows, information architecture, visual style direction, design systems/tokens, component specs, copy/microcopy, accessibility, or to generate/critique/refine frontend UI (HTML/CSS/JS, React, Next.js, Vue, Svelte, Tailwind). Includes workflows for (1) generating new UI layouts and styling, (2) improving existing UI/UX, (3) producing design-system tokens and component guidelines, and (4) turning UX recommendations into concrete code changes. +--- + +Follow these steps to deliver high-quality UI/UX output with minimal back-and-forth. + +## 1) Triage +Ask only what you must to avoid wrong work: +- Target platform: web / iOS / Android / desktop +- Stack (if code changes): React/Next/Vue/Svelte, CSS/Tailwind, component library +- Goal and constraints: conversion, speed, brand vibe, accessibility level (WCAG AA?) +- What you have: screenshot, Figma, repo, URL, user journey + +If the user says "全部都要" (design + UX + code + design system), treat it as four deliverables and ship in that order. + +## 2) Produce Deliverables (pick what fits) +Always be concrete: name components, states, spacing, typography, and interactions. + +- **UI concept + layout**: Provide a clear visual direction, grid, typography, color system, key screens/sections. +- **UX flow**: Map the user journey, critical paths, error/empty/loading states, edge cases. +- **Design system**: Tokens (color/typography/spacing/radius/shadow), component rules, accessibility notes. +- **Implementation plan**: Exact file-level edits, component breakdown, and acceptance criteria. + +## 3) Use Bundled Assets +This skill bundles data you can cite for inspiration/standards. + +- **Design intelligence data**: Read from `skills/ui-ux-pro-max/assets/data/` when you need palettes, patterns, or UI/UX heuristics. +- **Upstream reference**: If you need more phrasing/examples, consult `skills/ui-ux-pro-max/references/upstream-skill-content.md`. + +## 4) Optional Script (Design System Generator) +If you need to quickly generate tokens and page-specific overrides, use the bundled script: + +```bash +python3 skills/ui-ux-pro-max/scripts/design_system.py --help +``` + +Prefer running it when the user wants a structured token output (ASCII-friendly). + +## Output Standards +- Default to ASCII-only tokens/variables unless the project already uses Unicode. +- Include: spacing scale, type scale, 2-3 font pair options, color tokens, component states. +- Always cover: empty/loading/error, keyboard navigation, focus states, contrast. diff --git a/skills/ui-ux-pro-max/_meta.json b/skills/ui-ux-pro-max/_meta.json new file mode 100755 index 0000000..71bf465 --- /dev/null +++ b/skills/ui-ux-pro-max/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn7dzk42mb9ceh8sm1zdx51sws803c9b", + "slug": "ui-ux-pro-max", + "version": "0.1.0", + "publishedAt": 1769616159343 +} \ No newline at end of file diff --git a/skills/ui-ux-pro-max/assets/data/charts.csv b/skills/ui-ux-pro-max/assets/data/charts.csv new file mode 100755 index 0000000..8b99663 --- /dev/null +++ b/skills/ui-ux-pro-max/assets/data/charts.csv @@ -0,0 +1,26 @@ +No,Data Type,Keywords,Best Chart Type,Secondary Options,Color Guidance,Performance Impact,Accessibility Notes,Library Recommendation,Interactive Level +1,Trend Over Time,"trend, time-series, line, growth, timeline, progress",Line Chart,"Area Chart, Smooth Area",Primary: #0080FF. Multiple series: use distinct colors. Fill: 20% opacity,⚡ Excellent (optimized),✓ Clear line patterns for colorblind users. Add pattern overlays.,"Chart.js, Recharts, ApexCharts",Hover + Zoom +2,Compare Categories,"compare, categories, bar, comparison, ranking",Bar Chart (Horizontal or Vertical),"Column Chart, Grouped Bar",Each bar: distinct color. Category: grouped same color. Sorted: descending order,⚡ Excellent,✓ Easy to compare. Add value labels on bars for clarity.,"Chart.js, Recharts, D3.js",Hover + Sort +3,Part-to-Whole,"part-to-whole, pie, donut, percentage, proportion, share",Pie Chart or Donut,"Stacked Bar, Treemap",Colors: 5-6 max. Contrasting palette. Large slices first. Use labels.,⚡ Good (limit 6 slices),⚠ Hard for accessibility. Better: Stacked bar with legend. Avoid pie if >5 items.,"Chart.js, Recharts, D3.js",Hover + Drill +4,Correlation/Distribution,"correlation, distribution, scatter, relationship, pattern",Scatter Plot or Bubble Chart,"Heat Map, Matrix",Color axis: gradient (blue-red). Size: relative. Opacity: 0.6-0.8 to show density,⚠ Moderate (many points),⚠ Provide data table alternative. Use pattern + color distinction.,"D3.js, Plotly, Recharts",Hover + Brush +5,Heatmap/Intensity,"heatmap, heat-map, intensity, density, matrix",Heat Map or Choropleth,"Grid Heat Map, Bubble Heat",Gradient: Cool (blue) to Hot (red). Scale: clear legend. Divergent for ±data,⚡ Excellent (color CSS),⚠ Colorblind: Use pattern overlay. Provide numerical legend.,"D3.js, Plotly, ApexCharts",Hover + Zoom +6,Geographic Data,"geographic, map, location, region, geo, spatial","Choropleth Map, Bubble Map",Geographic Heat Map,Regional: single color gradient or categorized colors. Legend: clear scale,⚠ Moderate (rendering),⚠ Include text labels for regions. Provide data table alternative.,"D3.js, Mapbox, Leaflet",Pan + Zoom + Drill +7,Funnel/Flow,funnel/flow,"Funnel Chart, Sankey",Waterfall (for flows),Stages: gradient (starting color → ending color). Show conversion %,⚡ Good,✓ Clear stage labels + percentages. Good for accessibility if labeled.,"D3.js, Recharts, Custom SVG",Hover + Drill +8,Performance vs Target,performance-vs-target,Gauge Chart or Bullet Chart,"Dial, Thermometer",Performance: Red→Yellow→Green gradient. Target: marker line. Threshold colors,⚡ Good,✓ Add numerical value + percentage label beside gauge.,"D3.js, ApexCharts, Custom SVG",Hover +9,Time-Series Forecast,time-series-forecast,Line with Confidence Band,Ribbon Chart,Actual: solid line #0080FF. Forecast: dashed #FF9500. Band: light shading,⚡ Good,✓ Clearly distinguish actual vs forecast. Add legend.,"Chart.js, ApexCharts, Plotly",Hover + Toggle +10,Anomaly Detection,anomaly-detection,Line Chart with Highlights,Scatter with Alert,Normal: blue #0080FF. Anomaly: red #FF0000 circle/square marker + alert,⚡ Good,✓ Circle/marker for anomalies. Add text alert annotation.,"D3.js, Plotly, ApexCharts",Hover + Alert +11,Hierarchical/Nested Data,hierarchical/nested-data,Treemap,"Sunburst, Nested Donut, Icicle",Parent: distinct hues. Children: lighter shades. White borders 2-3px.,⚠ Moderate,⚠ Poor - provide table alternative. Label large areas.,"D3.js, Recharts, ApexCharts",Hover + Drilldown +12,Flow/Process Data,flow/process-data,Sankey Diagram,"Alluvial, Chord Diagram",Gradient from source to target. Opacity 0.4-0.6 for flows.,⚠ Moderate,⚠ Poor - provide flow table alternative.,"D3.js (d3-sankey), Plotly",Hover + Drilldown +13,Cumulative Changes,cumulative-changes,Waterfall Chart,"Stacked Bar, Cascade",Increases: #4CAF50. Decreases: #F44336. Start: #2196F3. End: #0D47A1.,⚡ Good,✓ Good - clear directional colors with labels.,"ApexCharts, Highcharts, Plotly",Hover +14,Multi-Variable Comparison,multi-variable-comparison,Radar/Spider Chart,"Parallel Coordinates, Grouped Bar",Single: #0080FF 20% fill. Multiple: distinct colors per dataset.,⚡ Good,⚠ Moderate - limit 5-8 axes. Add data table.,"Chart.js, Recharts, ApexCharts",Hover + Toggle +15,Stock/Trading OHLC,stock/trading-ohlc,Candlestick Chart,"OHLC Bar, Heikin-Ashi",Bullish: #26A69A. Bearish: #EF5350. Volume: 40% opacity below.,⚡ Good,⚠ Moderate - provide OHLC data table.,"Lightweight Charts (TradingView), ApexCharts",Real-time + Hover + Zoom +16,Relationship/Connection Data,relationship/connection-data,Network Graph,"Hierarchical Tree, Adjacency Matrix",Node types: categorical colors. Edges: #90A4AE 60% opacity.,❌ Poor (500+ nodes struggles),❌ Very Poor - provide adjacency list alternative.,"D3.js (d3-force), Vis.js, Cytoscape.js",Drilldown + Hover + Drag +17,Distribution/Statistical,distribution/statistical,Box Plot,"Violin Plot, Beeswarm",Box: #BBDEFB. Border: #1976D2. Median: #D32F2F. Outliers: #F44336.,⚡ Excellent,"✓ Good - include stats table (min, Q1, median, Q3, max).","Plotly, D3.js, Chart.js (plugin)",Hover +18,Performance vs Target (Compact),performance-vs-target-(compact),Bullet Chart,"Gauge, Progress Bar","Ranges: #FFCDD2, #FFF9C4, #C8E6C9. Performance: #1976D2. Target: black 3px.",⚡ Excellent,✓ Excellent - compact with clear values.,"D3.js, Plotly, Custom SVG",Hover +19,Proportional/Percentage,proportional/percentage,Waffle Chart,"Pictogram, Stacked Bar 100%",10x10 grid. 3-5 categories max. 2-3px spacing between squares.,⚡ Good,✓ Good - better than pie for accessibility.,"D3.js, React-Waffle, Custom CSS Grid",Hover +20,Hierarchical Proportional,hierarchical-proportional,Sunburst Chart,"Treemap, Icicle, Circle Packing",Center to outer: darker to lighter. 15-20% lighter per level.,⚠ Moderate,⚠ Poor - provide hierarchy table alternative.,"D3.js (d3-hierarchy), Recharts, ApexCharts",Drilldown + Hover +21,Root Cause Analysis,"root cause, decomposition, tree, hierarchy, drill-down, ai-split",Decomposition Tree,"Decision Tree, Flow Chart",Nodes: #2563EB (Primary) vs #EF4444 (Negative impact). Connectors: Neutral grey.,⚠ Moderate (calculation heavy),✓ clear hierarchy. Allow keyboard navigation for nodes.,"Power BI (native), React-Flow, Custom D3.js",Drill + Expand +22,3D Spatial Data,"3d, spatial, immersive, terrain, molecular, volumetric",3D Scatter/Surface Plot,"Volumetric Rendering, Point Cloud",Depth cues: lighting/shading. Z-axis: color gradient (cool to warm).,❌ Heavy (WebGL required),❌ Poor - requires alternative 2D view or data table.,"Three.js, Deck.gl, Plotly 3D",Rotate + Zoom + VR +23,Real-Time Streaming,"streaming, real-time, ticker, live, velocity, pulse",Streaming Area Chart,"Ticker Tape, Moving Gauge",Current: Bright Pulse (#00FF00). History: Fading opacity. Grid: Dark.,⚡ Optimized (canvas/webgl),⚠ Flashing elements - provide pause button. High contrast.,Smoothed D3.js, CanvasJS +24,Sentiment/Emotion,"sentiment, emotion, nlp, opinion, feeling",Word Cloud with Sentiment,"Sentiment Arc, Radar Chart",Positive: #22C55E. Negative: #EF4444. Neutral: #94A3B8. Size = Frequency.,⚡ Good,⚠ Word clouds poor for screen readers. Use list view.,"D3-cloud, Highcharts, Nivo",Hover + Filter +25,Process Mining,"process, mining, variants, path, bottleneck, log",Process Map / Graph,"Directed Acyclic Graph (DAG), Petri Net",Happy path: #10B981 (Thick). Deviations: #F59E0B (Thin). Bottlenecks: #EF4444.,⚠ Moderate to Heavy,⚠ Complex graphs hard to navigate. Provide path summary.,"React-Flow, Cytoscape.js, Recharts",Drag + Node-Click diff --git a/skills/ui-ux-pro-max/assets/data/colors.csv b/skills/ui-ux-pro-max/assets/data/colors.csv new file mode 100755 index 0000000..d9fd043 --- /dev/null +++ b/skills/ui-ux-pro-max/assets/data/colors.csv @@ -0,0 +1,97 @@ +No,Product Type,Primary (Hex),Secondary (Hex),CTA (Hex),Background (Hex),Text (Hex),Border (Hex),Notes +1,SaaS (General),#2563EB,#3B82F6,#F97316,#F8FAFC,#1E293B,#E2E8F0,Trust blue + orange CTA contrast +2,Micro SaaS,#6366F1,#818CF8,#10B981,#F5F3FF,#1E1B4B,#E0E7FF,Indigo primary + emerald CTA +3,E-commerce,#059669,#10B981,#F97316,#ECFDF5,#064E3B,#A7F3D0,Success green + urgency orange +4,E-commerce Luxury,#1C1917,#44403C,#CA8A04,#FAFAF9,#0C0A09,#D6D3D1,Premium dark + gold accent +5,Service Landing Page,#0EA5E9,#38BDF8,#F97316,#F0F9FF,#0C4A6E,#BAE6FD,Sky blue trust + warm CTA +6,B2B Service,#0F172A,#334155,#0369A1,#F8FAFC,#020617,#E2E8F0,Professional navy + blue CTA +7,Financial Dashboard,#0F172A,#1E293B,#22C55E,#020617,#F8FAFC,#334155,Dark bg + green positive indicators +8,Analytics Dashboard,#1E40AF,#3B82F6,#F59E0B,#F8FAFC,#1E3A8A,#DBEAFE,Blue data + amber highlights +9,Healthcare App,#0891B2,#22D3EE,#059669,#ECFEFF,#164E63,#A5F3FC,Calm cyan + health green +10,Educational App,#4F46E5,#818CF8,#F97316,#EEF2FF,#1E1B4B,#C7D2FE,Playful indigo + energetic orange +11,Creative Agency,#EC4899,#F472B6,#06B6D4,#FDF2F8,#831843,#FBCFE8,Bold pink + cyan accent +12,Portfolio/Personal,#18181B,#3F3F46,#2563EB,#FAFAFA,#09090B,#E4E4E7,Monochrome + blue accent +13,Gaming,#7C3AED,#A78BFA,#F43F5E,#0F0F23,#E2E8F0,#4C1D95,Neon purple + rose action +14,Government/Public Service,#0F172A,#334155,#0369A1,#F8FAFC,#020617,#E2E8F0,High contrast navy + blue +15,Fintech/Crypto,#F59E0B,#FBBF24,#8B5CF6,#0F172A,#F8FAFC,#334155,Gold trust + purple tech +16,Social Media App,#E11D48,#FB7185,#2563EB,#FFF1F2,#881337,#FECDD3,Vibrant rose + engagement blue +17,Productivity Tool,#0D9488,#14B8A6,#F97316,#F0FDFA,#134E4A,#99F6E4,Teal focus + action orange +18,Design System/Component Library,#4F46E5,#6366F1,#F97316,#EEF2FF,#312E81,#C7D2FE,Indigo brand + doc hierarchy +19,AI/Chatbot Platform,#7C3AED,#A78BFA,#06B6D4,#FAF5FF,#1E1B4B,#DDD6FE,AI purple + cyan interactions +20,NFT/Web3 Platform,#8B5CF6,#A78BFA,#FBBF24,#0F0F23,#F8FAFC,#4C1D95,Purple tech + gold value +21,Creator Economy Platform,#EC4899,#F472B6,#F97316,#FDF2F8,#831843,#FBCFE8,Creator pink + engagement orange +22,Sustainability/ESG Platform,#059669,#10B981,#0891B2,#ECFDF5,#064E3B,#A7F3D0,Nature green + ocean blue +23,Remote Work/Collaboration Tool,#6366F1,#818CF8,#10B981,#F5F3FF,#312E81,#E0E7FF,Calm indigo + success green +24,Mental Health App,#8B5CF6,#C4B5FD,#10B981,#FAF5FF,#4C1D95,#EDE9FE,Calming lavender + wellness green +25,Pet Tech App,#F97316,#FB923C,#2563EB,#FFF7ED,#9A3412,#FED7AA,Playful orange + trust blue +26,Smart Home/IoT Dashboard,#1E293B,#334155,#22C55E,#0F172A,#F8FAFC,#475569,Dark tech + status green +27,EV/Charging Ecosystem,#0891B2,#22D3EE,#22C55E,#ECFEFF,#164E63,#A5F3FC,Electric cyan + eco green +28,Subscription Box Service,#D946EF,#E879F9,#F97316,#FDF4FF,#86198F,#F5D0FE,Excitement purple + urgency orange +29,Podcast Platform,#1E1B4B,#312E81,#F97316,#0F0F23,#F8FAFC,#4338CA,Dark audio + warm accent +30,Dating App,#E11D48,#FB7185,#F97316,#FFF1F2,#881337,#FECDD3,Romantic rose + warm orange +31,Micro-Credentials/Badges Platform,#0369A1,#0EA5E9,#CA8A04,#F0F9FF,#0C4A6E,#BAE6FD,Trust blue + achievement gold +32,Knowledge Base/Documentation,#475569,#64748B,#2563EB,#F8FAFC,#1E293B,#E2E8F0,Neutral grey + link blue +33,Hyperlocal Services,#059669,#10B981,#F97316,#ECFDF5,#064E3B,#A7F3D0,Location green + action orange +34,Beauty/Spa/Wellness Service,#EC4899,#F9A8D4,#8B5CF6,#FDF2F8,#831843,#FBCFE8,Soft pink + lavender luxury +35,Luxury/Premium Brand,#1C1917,#44403C,#CA8A04,#FAFAF9,#0C0A09,#D6D3D1,Premium black + gold accent +36,Restaurant/Food Service,#DC2626,#F87171,#CA8A04,#FEF2F2,#450A0A,#FECACA,Appetizing red + warm gold +37,Fitness/Gym App,#F97316,#FB923C,#22C55E,#1F2937,#F8FAFC,#374151,Energy orange + success green +38,Real Estate/Property,#0F766E,#14B8A6,#0369A1,#F0FDFA,#134E4A,#99F6E4,Trust teal + professional blue +39,Travel/Tourism Agency,#0EA5E9,#38BDF8,#F97316,#F0F9FF,#0C4A6E,#BAE6FD,Sky blue + adventure orange +40,Hotel/Hospitality,#1E3A8A,#3B82F6,#CA8A04,#F8FAFC,#1E40AF,#BFDBFE,Luxury navy + gold service +41,Wedding/Event Planning,#DB2777,#F472B6,#CA8A04,#FDF2F8,#831843,#FBCFE8,Romantic pink + elegant gold +42,Legal Services,#1E3A8A,#1E40AF,#B45309,#F8FAFC,#0F172A,#CBD5E1,Authority navy + trust gold +43,Insurance Platform,#0369A1,#0EA5E9,#22C55E,#F0F9FF,#0C4A6E,#BAE6FD,Security blue + protected green +44,Banking/Traditional Finance,#0F172A,#1E3A8A,#CA8A04,#F8FAFC,#020617,#E2E8F0,Trust navy + premium gold +45,Online Course/E-learning,#0D9488,#2DD4BF,#F97316,#F0FDFA,#134E4A,#5EEAD4,Progress teal + achievement orange +46,Non-profit/Charity,#0891B2,#22D3EE,#F97316,#ECFEFF,#164E63,#A5F3FC,Compassion blue + action orange +47,Music Streaming,#1E1B4B,#4338CA,#22C55E,#0F0F23,#F8FAFC,#312E81,Dark audio + play green +48,Video Streaming/OTT,#0F0F23,#1E1B4B,#E11D48,#000000,#F8FAFC,#312E81,Cinema dark + play red +49,Job Board/Recruitment,#0369A1,#0EA5E9,#22C55E,#F0F9FF,#0C4A6E,#BAE6FD,Professional blue + success green +50,Marketplace (P2P),#7C3AED,#A78BFA,#22C55E,#FAF5FF,#4C1D95,#DDD6FE,Trust purple + transaction green +51,Logistics/Delivery,#2563EB,#3B82F6,#F97316,#EFF6FF,#1E40AF,#BFDBFE,Tracking blue + delivery orange +52,Agriculture/Farm Tech,#15803D,#22C55E,#CA8A04,#F0FDF4,#14532D,#BBF7D0,Earth green + harvest gold +53,Construction/Architecture,#64748B,#94A3B8,#F97316,#F8FAFC,#334155,#E2E8F0,Industrial grey + safety orange +54,Automotive/Car Dealership,#1E293B,#334155,#DC2626,#F8FAFC,#0F172A,#E2E8F0,Premium dark + action red +55,Photography Studio,#18181B,#27272A,#F8FAFC,#000000,#FAFAFA,#3F3F46,Pure black + white contrast +56,Coworking Space,#F59E0B,#FBBF24,#2563EB,#FFFBEB,#78350F,#FDE68A,Energetic amber + booking blue +57,Cleaning Service,#0891B2,#22D3EE,#22C55E,#ECFEFF,#164E63,#A5F3FC,Fresh cyan + clean green +58,Home Services (Plumber/Electrician),#1E40AF,#3B82F6,#F97316,#EFF6FF,#1E3A8A,#BFDBFE,Professional blue + urgent orange +59,Childcare/Daycare,#F472B6,#FBCFE8,#22C55E,#FDF2F8,#9D174D,#FCE7F3,Soft pink + safe green +60,Senior Care/Elderly,#0369A1,#38BDF8,#22C55E,#F0F9FF,#0C4A6E,#E0F2FE,Calm blue + reassuring green +61,Medical Clinic,#0891B2,#22D3EE,#22C55E,#F0FDFA,#134E4A,#CCFBF1,Medical teal + health green +62,Pharmacy/Drug Store,#15803D,#22C55E,#0369A1,#F0FDF4,#14532D,#BBF7D0,Pharmacy green + trust blue +63,Dental Practice,#0EA5E9,#38BDF8,#FBBF24,#F0F9FF,#0C4A6E,#BAE6FD,Fresh blue + smile yellow +64,Veterinary Clinic,#0D9488,#14B8A6,#F97316,#F0FDFA,#134E4A,#99F6E4,Caring teal + warm orange +65,Florist/Plant Shop,#15803D,#22C55E,#EC4899,#F0FDF4,#14532D,#BBF7D0,Natural green + floral pink +66,Bakery/Cafe,#92400E,#B45309,#F8FAFC,#FEF3C7,#78350F,#FDE68A,Warm brown + cream white +67,Coffee Shop,#78350F,#92400E,#FBBF24,#FEF3C7,#451A03,#FDE68A,Coffee brown + warm gold +68,Brewery/Winery,#7C2D12,#B91C1C,#CA8A04,#FEF2F2,#450A0A,#FECACA,Deep burgundy + craft gold +69,Airline,#1E3A8A,#3B82F6,#F97316,#EFF6FF,#1E40AF,#BFDBFE,Sky blue + booking orange +70,News/Media Platform,#DC2626,#EF4444,#1E40AF,#FEF2F2,#450A0A,#FECACA,Breaking red + link blue +71,Magazine/Blog,#18181B,#3F3F46,#EC4899,#FAFAFA,#09090B,#E4E4E7,Editorial black + accent pink +72,Freelancer Platform,#6366F1,#818CF8,#22C55E,#EEF2FF,#312E81,#C7D2FE,Creative indigo + hire green +73,Consulting Firm,#0F172A,#334155,#CA8A04,#F8FAFC,#020617,#E2E8F0,Authority navy + premium gold +74,Marketing Agency,#EC4899,#F472B6,#06B6D4,#FDF2F8,#831843,#FBCFE8,Bold pink + creative cyan +75,Event Management,#7C3AED,#A78BFA,#F97316,#FAF5FF,#4C1D95,#DDD6FE,Excitement purple + action orange +76,Conference/Webinar Platform,#1E40AF,#3B82F6,#22C55E,#EFF6FF,#1E3A8A,#BFDBFE,Professional blue + join green +77,Membership/Community,#7C3AED,#A78BFA,#22C55E,#FAF5FF,#4C1D95,#DDD6FE,Community purple + join green +78,Newsletter Platform,#0369A1,#0EA5E9,#F97316,#F0F9FF,#0C4A6E,#BAE6FD,Trust blue + subscribe orange +79,Digital Products/Downloads,#6366F1,#818CF8,#22C55E,#EEF2FF,#312E81,#C7D2FE,Digital indigo + buy green +80,Church/Religious Organization,#7C3AED,#A78BFA,#CA8A04,#FAF5FF,#4C1D95,#DDD6FE,Spiritual purple + warm gold +81,Sports Team/Club,#DC2626,#EF4444,#FBBF24,#FEF2F2,#7F1D1D,#FECACA,Team red + championship gold +82,Museum/Gallery,#18181B,#27272A,#F8FAFC,#FAFAFA,#09090B,#E4E4E7,Gallery black + white space +83,Theater/Cinema,#1E1B4B,#312E81,#CA8A04,#0F0F23,#F8FAFC,#4338CA,Dramatic dark + spotlight gold +84,Language Learning App,#4F46E5,#818CF8,#22C55E,#EEF2FF,#312E81,#C7D2FE,Learning indigo + progress green +85,Coding Bootcamp,#0F172A,#1E293B,#22C55E,#020617,#F8FAFC,#334155,Terminal dark + success green +86,Cybersecurity Platform,#00FF41,#0D0D0D,#FF3333,#000000,#E0E0E0,#1F1F1F,Matrix green + alert red +87,Developer Tool / IDE,#1E293B,#334155,#22C55E,#0F172A,#F8FAFC,#475569,Code dark + run green +88,Biotech / Life Sciences,#0EA5E9,#0284C7,#10B981,#F0F9FF,#0C4A6E,#BAE6FD,DNA blue + life green +89,Space Tech / Aerospace,#F8FAFC,#94A3B8,#3B82F6,#0B0B10,#F8FAFC,#1E293B,Star white + launch blue +90,Architecture / Interior,#171717,#404040,#D4AF37,#FFFFFF,#171717,#E5E5E5,Minimal black + accent gold +91,Quantum Computing,#00FFFF,#7B61FF,#FF00FF,#050510,#E0E0FF,#333344,Quantum cyan + interference purple +92,Biohacking / Longevity,#FF4D4D,#4D94FF,#00E676,#F5F5F7,#1C1C1E,#E5E5EA,Bio red/blue + vitality green +93,Autonomous Systems,#00FF41,#008F11,#FF3333,#0D1117,#E6EDF3,#30363D,Terminal green + alert red +94,Generative AI Art,#18181B,#3F3F46,#EC4899,#FAFAFA,#09090B,#E4E4E7,Canvas neutral + creative pink +95,Spatial / Vision OS,#FFFFFF,#E5E5E5,#007AFF,#888888,#000000,#CCCCCC,Glass white + system blue +96,Climate Tech,#059669,#10B981,#FBBF24,#ECFDF5,#064E3B,#A7F3D0,Nature green + solar gold diff --git a/skills/ui-ux-pro-max/assets/data/icons.csv b/skills/ui-ux-pro-max/assets/data/icons.csv new file mode 100755 index 0000000..a85e97f --- /dev/null +++ b/skills/ui-ux-pro-max/assets/data/icons.csv @@ -0,0 +1,101 @@ +No,Category,Icon Name,Keywords,Library,Import Code,Usage,Best For,Style +1,Navigation,menu,hamburger menu navigation toggle bars,Lucide,import { Menu } from 'lucide-react',,Mobile navigation drawer toggle sidebar,Outline +2,Navigation,arrow-left,back previous return navigate,Lucide,import { ArrowLeft } from 'lucide-react',,Back button breadcrumb navigation,Outline +3,Navigation,arrow-right,next forward continue navigate,Lucide,import { ArrowRight } from 'lucide-react',,Forward button next step CTA,Outline +4,Navigation,chevron-down,dropdown expand accordion select,Lucide,import { ChevronDown } from 'lucide-react',,Dropdown toggle accordion header,Outline +5,Navigation,chevron-up,collapse close accordion minimize,Lucide,import { ChevronUp } from 'lucide-react',,Accordion collapse minimize,Outline +6,Navigation,home,homepage main dashboard start,Lucide,import { Home } from 'lucide-react',,Home navigation main page,Outline +7,Navigation,x,close cancel dismiss remove exit,Lucide,import { X } from 'lucide-react',,Modal close dismiss button,Outline +8,Navigation,external-link,open new tab external link,Lucide,import { ExternalLink } from 'lucide-react',,External link indicator,Outline +9,Action,plus,add create new insert,Lucide,import { Plus } from 'lucide-react',,Add button create new item,Outline +10,Action,minus,remove subtract decrease delete,Lucide,import { Minus } from 'lucide-react',,Remove item quantity decrease,Outline +11,Action,trash-2,delete remove discard bin,Lucide,import { Trash2 } from 'lucide-react',,Delete action destructive,Outline +12,Action,edit,pencil modify change update,Lucide,import { Edit } from 'lucide-react',,Edit button modify content,Outline +13,Action,save,disk store persist save,Lucide,import { Save } from 'lucide-react',,Save button persist changes,Outline +14,Action,download,export save file download,Lucide,import { Download } from 'lucide-react',,Download file export,Outline +15,Action,upload,import file attach upload,Lucide,import { Upload } from 'lucide-react',,Upload file import,Outline +16,Action,copy,duplicate clipboard paste,Lucide,import { Copy } from 'lucide-react',,Copy to clipboard,Outline +17,Action,share,social distribute send,Lucide,import { Share } from 'lucide-react',,Share button social,Outline +18,Action,search,find lookup filter query,Lucide,import { Search } from 'lucide-react',,Search input bar,Outline +19,Action,filter,sort refine narrow options,Lucide,import { Filter } from 'lucide-react',,Filter dropdown sort,Outline +20,Action,settings,gear cog preferences config,Lucide,import { Settings } from 'lucide-react',,Settings page configuration,Outline +21,Status,check,success done complete verified,Lucide,import { Check } from 'lucide-react',,Success state checkmark,Outline +22,Status,check-circle,success verified approved complete,Lucide,import { CheckCircle } from 'lucide-react',,Success badge verified,Outline +23,Status,x-circle,error failed cancel rejected,Lucide,import { XCircle } from 'lucide-react',,Error state failed,Outline +24,Status,alert-triangle,warning caution attention danger,Lucide,import { AlertTriangle } from 'lucide-react',,Warning message caution,Outline +25,Status,alert-circle,info notice information help,Lucide,import { AlertCircle } from 'lucide-react',,Info notice alert,Outline +26,Status,info,information help tooltip details,Lucide,import { Info } from 'lucide-react',,Information tooltip help,Outline +27,Status,loader,loading spinner processing wait,Lucide,import { Loader } from 'lucide-react',,Loading state spinner,Outline +28,Status,clock,time schedule pending wait,Lucide,import { Clock } from 'lucide-react',,Pending time schedule,Outline +29,Communication,mail,email message inbox letter,Lucide,import { Mail } from 'lucide-react',,Email contact inbox,Outline +30,Communication,message-circle,chat comment bubble conversation,Lucide,import { MessageCircle } from 'lucide-react',,Chat comment message,Outline +31,Communication,phone,call mobile telephone contact,Lucide,import { Phone } from 'lucide-react',,Phone contact call,Outline +32,Communication,send,submit dispatch message airplane,Lucide,import { Send } from 'lucide-react',,Send message submit,Outline +33,Communication,bell,notification alert ring reminder,Lucide,import { Bell } from 'lucide-react',,Notification bell alert,Outline +34,User,user,profile account person avatar,Lucide,import { User } from 'lucide-react',,User profile account,Outline +35,User,users,team group people members,Lucide,import { Users } from 'lucide-react',,Team group members,Outline +36,User,user-plus,add invite new member,Lucide,import { UserPlus } from 'lucide-react',,Add user invite,Outline +37,User,log-in,signin authenticate enter,Lucide,import { LogIn } from 'lucide-react',,Login signin,Outline +38,User,log-out,signout exit leave logout,Lucide,import { LogOut } from 'lucide-react',,Logout signout,Outline +39,Media,image,photo picture gallery thumbnail,Lucide,import { Image } from 'lucide-react',,Image photo gallery,Outline +40,Media,video,movie film play record,Lucide,import { Video } from 'lucide-react',