@hivehub/rulebook 4.2.2 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/continue.md +33 -33
- package/.claude/commands/ralph-config.md +112 -112
- package/.claude/commands/ralph-history.md +110 -110
- package/.claude/commands/ralph-init.md +72 -72
- package/.claude/commands/ralph-pause-resume.md +105 -105
- package/.claude/commands/ralph-run.md +101 -101
- package/.claude/commands/ralph-status.md +76 -76
- package/.claude/commands/rulebook-memory-save.md +48 -48
- package/.claude/commands/rulebook-memory-search.md +47 -47
- package/.claude/commands/rulebook-task-apply.md +67 -67
- package/.claude/commands/rulebook-task-archive.md +70 -70
- package/.claude/commands/rulebook-task-create.md +93 -93
- package/.claude/commands/rulebook-task-list.md +42 -42
- package/.claude/commands/rulebook-task-show.md +52 -52
- package/.claude/commands/rulebook-task-validate.md +53 -53
- package/.claude-plugin/marketplace.json +28 -28
- package/.claude-plugin/plugin.json +8 -8
- package/README.md +8 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +4 -4
- package/dist/cli/commands.js.map +1 -1
- package/dist/core/claude-mcp.d.ts +8 -1
- package/dist/core/claude-mcp.d.ts.map +1 -1
- package/dist/core/claude-mcp.js +32 -1
- package/dist/core/claude-mcp.js.map +1 -1
- package/dist/core/generator.d.ts +13 -0
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +283 -28
- package/dist/core/generator.js.map +1 -1
- package/dist/core/workspace/workspace-manager.d.ts.map +1 -1
- package/dist/core/workspace/workspace-manager.js +2 -6
- package/dist/core/workspace/workspace-manager.js.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/rulebook-server.d.ts.map +1 -1
- package/dist/mcp/rulebook-server.js +5 -4
- package/dist/mcp/rulebook-server.js.map +1 -1
- package/package.json +21 -22
- package/templates/agents/accessibility-reviewer.md +43 -0
- package/templates/agents/api-designer.md +42 -0
- package/templates/agents/architect.md +51 -0
- package/templates/agents/build-engineer.md +36 -0
- package/templates/agents/code-reviewer.md +47 -0
- package/templates/agents/database-architect.md +41 -0
- package/templates/agents/devops-engineer.md +42 -0
- package/templates/agents/docs-writer.md +38 -0
- package/templates/agents/i18n-engineer.md +42 -0
- package/templates/agents/implementer.md +38 -35
- package/templates/agents/migration-engineer.md +42 -0
- package/templates/agents/performance-engineer.md +49 -0
- package/templates/agents/refactoring-agent.md +41 -0
- package/templates/agents/researcher.md +38 -34
- package/templates/agents/security-reviewer.md +40 -0
- package/templates/agents/team-lead.md +37 -34
- package/templates/agents/tester.md +45 -42
- package/templates/agents/ux-reviewer.md +43 -0
- package/templates/ci/rulebook-review.yml +26 -26
- package/templates/cli/AIDER.md +49 -49
- package/templates/cli/AMAZON_Q.md +25 -25
- package/templates/cli/AUGGIE.md +32 -32
- package/templates/cli/CLAUDE.md +117 -117
- package/templates/cli/CLINE.md +99 -99
- package/templates/cli/CODEBUDDY.md +20 -20
- package/templates/cli/CODEIUM.md +20 -20
- package/templates/cli/CODEX.md +21 -21
- package/templates/cli/CONTINUE.md +34 -34
- package/templates/cli/CURSOR_CLI.md +62 -62
- package/templates/cli/FACTORY.md +18 -18
- package/templates/cli/GEMINI.md +35 -35
- package/templates/cli/KILOCODE.md +18 -18
- package/templates/cli/OPENCODE.md +18 -18
- package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
- package/templates/commands/rulebook-memory-save.md +48 -48
- package/templates/commands/rulebook-memory-search.md +47 -47
- package/templates/commands/rulebook-task-apply.md +67 -67
- package/templates/commands/rulebook-task-archive.md +94 -94
- package/templates/commands/rulebook-task-create.md +93 -93
- package/templates/commands/rulebook-task-list.md +42 -42
- package/templates/commands/rulebook-task-show.md +52 -52
- package/templates/commands/rulebook-task-validate.md +53 -53
- package/templates/core/AGENTS_LEAN.md +25 -25
- package/templates/core/AGENTS_OVERRIDE.md +16 -16
- package/templates/core/AGENT_AUTOMATION.md +288 -288
- package/templates/core/DAG.md +304 -304
- package/templates/core/DOCUMENTATION_RULES.md +36 -36
- package/templates/core/MULTI_AGENT.md +74 -74
- package/templates/core/PLANS.md +28 -28
- package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
- package/templates/core/RALPH.md +471 -471
- package/templates/core/RULEBOOK.md +1935 -1935
- package/templates/frameworks/ANGULAR.md +36 -36
- package/templates/frameworks/DJANGO.md +83 -83
- package/templates/frameworks/ELECTRON.md +147 -147
- package/templates/frameworks/FLASK.md +38 -38
- package/templates/frameworks/FLUTTER.md +55 -55
- package/templates/frameworks/JQUERY.md +32 -32
- package/templates/frameworks/LARAVEL.md +38 -38
- package/templates/frameworks/NESTJS.md +43 -43
- package/templates/frameworks/NEXTJS.md +127 -127
- package/templates/frameworks/NUXT.md +40 -40
- package/templates/frameworks/RAILS.md +66 -66
- package/templates/frameworks/REACT.md +38 -38
- package/templates/frameworks/REACT_NATIVE.md +47 -47
- package/templates/frameworks/SPRING.md +39 -39
- package/templates/frameworks/SYMFONY.md +36 -36
- package/templates/frameworks/VUE.md +36 -36
- package/templates/frameworks/ZEND.md +35 -35
- package/templates/git/CI_CD_PATTERNS.md +661 -661
- package/templates/git/GITHUB_ACTIONS.md +728 -728
- package/templates/git/GITLAB_CI.md +730 -730
- package/templates/git/GIT_WORKFLOW.md +1157 -1157
- package/templates/git/SECRETS_MANAGEMENT.md +585 -585
- package/templates/hooks/COMMIT_MSG.md +530 -530
- package/templates/hooks/POST_CHECKOUT.md +546 -546
- package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
- package/templates/hooks/PRE_COMMIT.md +414 -414
- package/templates/hooks/PRE_PUSH.md +601 -601
- package/templates/ides/CONTINUE_RULES.md +16 -16
- package/templates/ides/COPILOT.md +37 -37
- package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
- package/templates/ides/CURSOR.md +43 -43
- package/templates/ides/GEMINI_RULES.md +17 -17
- package/templates/ides/JETBRAINS_AI.md +35 -35
- package/templates/ides/REPLIT.md +36 -36
- package/templates/ides/TABNINE.md +29 -29
- package/templates/ides/VSCODE.md +40 -40
- package/templates/ides/WINDSURF.md +36 -36
- package/templates/ides/WINDSURF_RULES.md +14 -14
- package/templates/ides/ZED.md +32 -32
- package/templates/ides/cursor-mdc/go.mdc +24 -24
- package/templates/ides/cursor-mdc/python.mdc +24 -24
- package/templates/ides/cursor-mdc/quality.mdc +25 -25
- package/templates/ides/cursor-mdc/ralph.mdc +39 -39
- package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
- package/templates/ides/cursor-mdc/rust.mdc +24 -24
- package/templates/ides/cursor-mdc/typescript.mdc +25 -25
- package/templates/languages/C.md +333 -333
- package/templates/languages/CPP.md +743 -743
- package/templates/languages/CSHARP.md +417 -417
- package/templates/languages/ELIXIR.md +454 -454
- package/templates/languages/ERLANG.md +361 -361
- package/templates/languages/GO.md +645 -645
- package/templates/languages/HASKELL.md +177 -177
- package/templates/languages/JAVA.md +607 -607
- package/templates/languages/JAVASCRIPT.md +631 -631
- package/templates/languages/JULIA.md +97 -97
- package/templates/languages/KOTLIN.md +511 -511
- package/templates/languages/LISP.md +100 -100
- package/templates/languages/LUA.md +74 -74
- package/templates/languages/OBJECTIVEC.md +90 -90
- package/templates/languages/PHP.md +416 -416
- package/templates/languages/PYTHON.md +682 -682
- package/templates/languages/RUBY.md +421 -421
- package/templates/languages/RUST.md +477 -477
- package/templates/languages/SAS.md +73 -73
- package/templates/languages/SCALA.md +348 -348
- package/templates/languages/SOLIDITY.md +580 -580
- package/templates/languages/SQL.md +137 -137
- package/templates/languages/SWIFT.md +466 -466
- package/templates/languages/TYPESCRIPT.md +591 -591
- package/templates/languages/ZIG.md +265 -265
- package/templates/modules/ATLASSIAN.md +255 -255
- package/templates/modules/CONTEXT7.md +54 -54
- package/templates/modules/FIGMA.md +267 -267
- package/templates/modules/GITHUB_MCP.md +64 -64
- package/templates/modules/GRAFANA.md +328 -328
- package/templates/modules/MEMORY.md +126 -126
- package/templates/modules/NOTION.md +247 -247
- package/templates/modules/PLAYWRIGHT.md +90 -90
- package/templates/modules/RULEBOOK_MCP.md +156 -156
- package/templates/modules/SERENA.md +337 -337
- package/templates/modules/SUPABASE.md +223 -223
- package/templates/modules/SYNAP.md +69 -69
- package/templates/modules/VECTORIZER.md +63 -63
- package/templates/modules/sequential-thinking.md +42 -42
- package/templates/ralph/ralph-history.bat +4 -4
- package/templates/ralph/ralph-history.sh +5 -5
- package/templates/ralph/ralph-init.bat +5 -5
- package/templates/ralph/ralph-init.sh +5 -5
- package/templates/ralph/ralph-pause.bat +5 -5
- package/templates/ralph/ralph-pause.sh +5 -5
- package/templates/ralph/ralph-run.bat +5 -5
- package/templates/ralph/ralph-run.sh +5 -5
- package/templates/ralph/ralph-status.bat +4 -4
- package/templates/ralph/ralph-status.sh +5 -5
- package/templates/services/AZURE_BLOB.md +184 -184
- package/templates/services/CASSANDRA.md +239 -239
- package/templates/services/DATADOG.md +26 -26
- package/templates/services/DOCKER.md +124 -124
- package/templates/services/DOCKER_COMPOSE.md +168 -168
- package/templates/services/DYNAMODB.md +308 -308
- package/templates/services/ELASTICSEARCH.md +347 -347
- package/templates/services/GCS.md +178 -178
- package/templates/services/HELM.md +194 -194
- package/templates/services/INFLUXDB.md +265 -265
- package/templates/services/KAFKA.md +341 -341
- package/templates/services/KUBERNETES.md +208 -208
- package/templates/services/MARIADB.md +183 -183
- package/templates/services/MEMCACHED.md +242 -242
- package/templates/services/MINIO.md +201 -201
- package/templates/services/MONGODB.md +268 -268
- package/templates/services/MYSQL.md +358 -358
- package/templates/services/NEO4J.md +247 -247
- package/templates/services/OPENTELEMETRY.md +25 -25
- package/templates/services/ORACLE.md +290 -290
- package/templates/services/PINO.md +24 -24
- package/templates/services/POSTGRESQL.md +326 -326
- package/templates/services/PROMETHEUS.md +33 -33
- package/templates/services/RABBITMQ.md +286 -286
- package/templates/services/REDIS.md +292 -292
- package/templates/services/S3.md +298 -298
- package/templates/services/SENTRY.md +23 -23
- package/templates/services/SQLITE.md +294 -294
- package/templates/services/SQLSERVER.md +294 -294
- package/templates/services/WINSTON.md +30 -30
- package/templates/skills/cli/aider/SKILL.md +59 -59
- package/templates/skills/cli/amazon-q/SKILL.md +35 -35
- package/templates/skills/cli/auggie/SKILL.md +42 -42
- package/templates/skills/cli/claude/SKILL.md +42 -42
- package/templates/skills/cli/cline/SKILL.md +42 -42
- package/templates/skills/cli/codebuddy/SKILL.md +30 -30
- package/templates/skills/cli/codeium/SKILL.md +30 -30
- package/templates/skills/cli/codex/SKILL.md +31 -31
- package/templates/skills/cli/continue/SKILL.md +44 -44
- package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
- package/templates/skills/cli/factory/SKILL.md +28 -28
- package/templates/skills/cli/gemini/SKILL.md +45 -45
- package/templates/skills/cli/kilocode/SKILL.md +28 -28
- package/templates/skills/cli/opencode/SKILL.md +28 -28
- package/templates/skills/core/agent-automation/SKILL.md +194 -194
- package/templates/skills/core/dag/SKILL.md +314 -314
- package/templates/skills/core/documentation-rules/SKILL.md +46 -46
- package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
- package/templates/skills/core/rulebook/SKILL.md +176 -176
- package/templates/skills/dev/accessibility/SKILL.md +17 -0
- package/templates/skills/dev/api-design/SKILL.md +15 -0
- package/templates/skills/dev/architect/SKILL.md +17 -0
- package/templates/skills/dev/build-fix/SKILL.md +17 -0
- package/templates/skills/dev/db-design/SKILL.md +15 -0
- package/templates/skills/dev/debug/SKILL.md +16 -0
- package/templates/skills/dev/deploy/SKILL.md +17 -0
- package/templates/skills/dev/docs/SKILL.md +17 -0
- package/templates/skills/dev/migrate/SKILL.md +15 -0
- package/templates/skills/dev/perf/SKILL.md +17 -0
- package/templates/skills/dev/refactor/SKILL.md +17 -0
- package/templates/skills/dev/research/SKILL.md +14 -0
- package/templates/skills/dev/review/SKILL.md +18 -0
- package/templates/skills/dev/security-audit/SKILL.md +17 -0
- package/templates/skills/frameworks/angular/SKILL.md +46 -46
- package/templates/skills/frameworks/django/SKILL.md +93 -93
- package/templates/skills/frameworks/electron/SKILL.md +157 -157
- package/templates/skills/frameworks/flask/SKILL.md +48 -48
- package/templates/skills/frameworks/flutter/SKILL.md +65 -65
- package/templates/skills/frameworks/jquery/SKILL.md +42 -42
- package/templates/skills/frameworks/laravel/SKILL.md +48 -48
- package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
- package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
- package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
- package/templates/skills/frameworks/rails/SKILL.md +76 -76
- package/templates/skills/frameworks/react/SKILL.md +48 -48
- package/templates/skills/frameworks/react-native/SKILL.md +57 -57
- package/templates/skills/frameworks/spring/SKILL.md +49 -49
- package/templates/skills/frameworks/symfony/SKILL.md +46 -46
- package/templates/skills/frameworks/vue/SKILL.md +46 -46
- package/templates/skills/frameworks/zend/SKILL.md +45 -45
- package/templates/skills/ides/copilot/SKILL.md +47 -47
- package/templates/skills/ides/cursor/SKILL.md +53 -53
- package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
- package/templates/skills/ides/replit/SKILL.md +46 -46
- package/templates/skills/ides/tabnine/SKILL.md +39 -39
- package/templates/skills/ides/vscode/SKILL.md +50 -50
- package/templates/skills/ides/windsurf/SKILL.md +46 -46
- package/templates/skills/ides/zed/SKILL.md +42 -42
- package/templates/skills/languages/c/SKILL.md +343 -343
- package/templates/skills/languages/cpp/SKILL.md +753 -753
- package/templates/skills/languages/csharp/SKILL.md +427 -427
- package/templates/skills/languages/elixir/SKILL.md +464 -464
- package/templates/skills/languages/erlang/SKILL.md +371 -371
- package/templates/skills/languages/go/SKILL.md +655 -655
- package/templates/skills/languages/haskell/SKILL.md +187 -187
- package/templates/skills/languages/java/SKILL.md +617 -617
- package/templates/skills/languages/javascript/SKILL.md +641 -641
- package/templates/skills/languages/julia/SKILL.md +107 -107
- package/templates/skills/languages/kotlin/SKILL.md +521 -521
- package/templates/skills/languages/lisp/SKILL.md +110 -110
- package/templates/skills/languages/lua/SKILL.md +84 -84
- package/templates/skills/languages/objectivec/SKILL.md +100 -100
- package/templates/skills/languages/php/SKILL.md +426 -426
- package/templates/skills/languages/python/SKILL.md +692 -692
- package/templates/skills/languages/ruby/SKILL.md +431 -431
- package/templates/skills/languages/rust/SKILL.md +487 -487
- package/templates/skills/languages/sas/SKILL.md +83 -83
- package/templates/skills/languages/scala/SKILL.md +358 -358
- package/templates/skills/languages/solidity/SKILL.md +590 -590
- package/templates/skills/languages/sql/SKILL.md +147 -147
- package/templates/skills/languages/swift/SKILL.md +476 -476
- package/templates/skills/languages/typescript/SKILL.md +302 -302
- package/templates/skills/languages/zig/SKILL.md +275 -275
- package/templates/skills/modules/atlassian/SKILL.md +265 -265
- package/templates/skills/modules/context7/SKILL.md +64 -64
- package/templates/skills/modules/figma/SKILL.md +277 -277
- package/templates/skills/modules/github-mcp/SKILL.md +74 -74
- package/templates/skills/modules/grafana/SKILL.md +338 -338
- package/templates/skills/modules/memory/SKILL.md +73 -73
- package/templates/skills/modules/notion/SKILL.md +257 -257
- package/templates/skills/modules/playwright/SKILL.md +100 -100
- package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
- package/templates/skills/modules/serena/SKILL.md +347 -347
- package/templates/skills/modules/supabase/SKILL.md +233 -233
- package/templates/skills/modules/synap/SKILL.md +79 -79
- package/templates/skills/modules/vectorizer/SKILL.md +73 -73
- package/templates/skills/services/azure-blob/SKILL.md +194 -194
- package/templates/skills/services/cassandra/SKILL.md +249 -249
- package/templates/skills/services/dynamodb/SKILL.md +318 -318
- package/templates/skills/services/elasticsearch/SKILL.md +357 -357
- package/templates/skills/services/gcs/SKILL.md +188 -188
- package/templates/skills/services/influxdb/SKILL.md +275 -275
- package/templates/skills/services/kafka/SKILL.md +351 -351
- package/templates/skills/services/mariadb/SKILL.md +193 -193
- package/templates/skills/services/memcached/SKILL.md +252 -252
- package/templates/skills/services/minio/SKILL.md +211 -211
- package/templates/skills/services/mongodb/SKILL.md +278 -278
- package/templates/skills/services/mysql/SKILL.md +368 -368
- package/templates/skills/services/neo4j/SKILL.md +257 -257
- package/templates/skills/services/oracle/SKILL.md +300 -300
- package/templates/skills/services/postgresql/SKILL.md +336 -336
- package/templates/skills/services/rabbitmq/SKILL.md +296 -296
- package/templates/skills/services/redis/SKILL.md +302 -302
- package/templates/skills/services/s3/SKILL.md +308 -308
- package/templates/skills/services/sqlite/SKILL.md +304 -304
- package/templates/skills/services/sqlserver/SKILL.md +304 -304
- package/templates/skills/workflows/ralph/SKILL.md +309 -309
- package/templates/skills/workflows/ralph/install.sh +87 -87
- package/templates/skills/workflows/ralph/manifest.json +158 -158
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rulebook-server.js","sourceRoot":"","sources":["../../src/mcp/rulebook-server.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1B,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qBAAqB;AACrB,SAAS,UAAU;IACjB,8DAA8D;IAC9D,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpE,MAAM,QAAQ,GACZ,oBAAoB,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEpB,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAQ,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,IAAI,cAAc,GAAG,YAAY,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QAErC,4DAA4D;QAC5D,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAC;IAE/E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,2CAA2C;IAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,gBAAgB,GAA4B,IAAI,CAAC;IAErD,sEAAsE;IACtE,IAAI,WAAyB,CAAC;IAC9B,IAAI,aAA6B,CAAC;IAClC,IAAI,aAA6B,CAAC;IAClC,IAAI,WAAmB,CAAC;IAExB,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACpE,MAAM,QAAQ,GACZ,oBAAoB,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YACnE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YACxC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACX,6GAA6G,CAC9G,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QACpC,WAAW,GAAG,QAAQ,CAAC;QAEvB,sEAAsE;QACtE,MAAM,SAAS,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAClE,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC7C,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACjD,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACnD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,kDAAkD,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAK,CACX,kCAAkC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,uBAAuB,SAAS,GAAG,CAChH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAClC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACvC,WAAW,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACxD,aAAa,GAAG,IAAI,aAAa,CAAC,uBAAuB,EAAE,EAAE,WAAW,CAAC,CAAC;QAC1E,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,uDAAuD;IAEvD,KAAK,UAAU,UAAU,CAAC,SAAkB;QAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB;YAAE,OAAO,WAAW,CAAC;QACxD,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,SAAkB;QAC5C,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB;YAAE,OAAO,aAAa,CAAC;QAC1D,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,SAAkB;QAC5C,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB;YAAE,OAAO,aAAa,CAAC;QAC1D,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,SAAkB;QACzC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,SAAS,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iEAAiE;IACjE,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC;IAExH,sCAAsC;IACtC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,uBAAuB;SACpD,CAAC,CAAC;QACH,WAAW,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE;YACX,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC1E,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;iBACxD,QAAQ,EAAE;iBACV,QAAQ,CAAC,kBAAkB,CAAC;YAC/B,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC;QAChE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,SAAS,EAAE,CAAC,CAAC,SAAS;4BACtB,SAAS,EAAE,CAAC,CAAC,SAAS;yBACvB,CAAC,CAAC;wBACH,KAAK,EAAE,QAAQ,CAAC,MAAM;qBACvB,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC9C,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,IAAI,EAAE,IAAI;4BACR,CAAC,CAAC;gCACE,EAAE,EAAE,IAAI,CAAC,EAAE;gCACX,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,SAAS,EAAE,IAAI,CAAC,SAAS;6BAC1B;4BACH,CAAC,CAAC,IAAI;wBACR,KAAK,EAAE,IAAI,KAAK,IAAI;qBACrB,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,sCAAsC;IACtC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAChD,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;iBACxD,QAAQ,EAAE;iBACV,QAAQ,CAAC,YAAY,CAAC;YACzB,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,uBAAuB;SACpD,CAAC,CAAC;QACH,WAAW,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAClD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACjD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACnF,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,wBAAwB;SACrD,CAAC,CAAC;QACH,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF,sCAAsC;IACtC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,2BAA2B;QACxC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAChD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,uBAAuB;SACpD,CAAC,CAAC;QACH,WAAW,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF,+CAA+C;IAC/C,qCAAqC;IACrC,+CAA+C;IAE/C,qCAAqC;IACrC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC;gBACJ,WAAW;gBACX,YAAY;gBACZ,SAAS;gBACT,UAAU;gBACV,WAAW;gBACX,MAAM;gBACN,MAAM;gBACN,KAAK;gBACL,KAAK;gBACL,OAAO;aACR,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,oBAAoB,CAAC;YACjC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACxE,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC;YACX,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAyB,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;YAChC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YAE3D,IAAI,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;gBACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO;gBAC3B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;aACtB,CAAC,CAAC,CAAC;YAEJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,cAAc;4BACtB,KAAK,EAAE,cAAc,CAAC,MAAM;4BAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;yBACjC,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACrE,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,oBAAoB,IAAI,CAAC,OAAO,EAAE;gCACzC,UAAU,EAAE,iDAAiD;6BAC9D,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YAE1E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE;gCACL,EAAE,EAAE,KAAK,CAAC,EAAE;gCACZ,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gCACzB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;gCACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gCACxB,OAAO;gCACP,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;gCAC/B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;gCAC7B,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gCACzB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;gCACzC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;gCACnC,OAAO,EACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC5E;yBACF,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC/E,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACrC,QAAQ,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxD,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE9B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,uBAAuB;gBACrD,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;aAChC,CAAC,CAAC;YACH,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,8CAA8C;QAC3D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAChF,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YAErC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,SAAS,IAAI,CAAC,OAAO,2BAA2B;6BACxD,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,QAAQ,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,wBAAwB;aACvD,CAAC,CAAC;YACH,WAAW,CAAC,wBAAwB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YAE3D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCACzB,EAAE,EAAE,CAAC,CAAC,EAAE;gCACR,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gCACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;gCACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACpB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC9B,CAAC,CAAC;4BACH,KAAK,EAAE,MAAM,CAAC,MAAM;yBACrB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE;YACX,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAErD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,UAAU,CAAC,KAAK;4BACvB,MAAM,EAAE,UAAU,CAAC,MAAM;4BACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;yBACpD,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,+CAA+C;IAC/C,iCAAiC;IACjC,+CAA+C;IAE/C,oEAAoE;IACpE,wDAAwD;IACxD,IAAI,aAAa,GAEN,IAAI,CAAC;IAChB,IAAI,SAAS,GAA6B,IAAI,CAAC;IAC/C,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QACxD,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAC5E,MAAM,YAAY,GAAG,IAAI,CACvB,WAAW,EACX,cAAc,CAAC,MAAM,CAAC,MAAM,IAAI,4BAA4B,CAC7D,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;gBAC3D,aAAa,GAAG,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;gBACxE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC;gBAEjE,0BAA0B;gBAC1B,SAAS,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjF,SAAS,CAAC,KAAK,EAAE,CAAC;gBAEjB,MAAc,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;YACjE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,SAAS;YAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,aAAa;YAAE,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,KAAK,UAAU,WAAW,CACxB,QAAgB,EAChB,IAA6B,EAC7B,UAAkB;QAElB,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,MAAM,aAAa,CAAC,UAAU,CAAC;gBAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IAED,SAAS,gBAAgB;QACvB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,oEAAoE;qBAC5E,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACjE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC7D,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;gBACtC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAW;aACvB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;qBACxE;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0CAA0C;IAC1C,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACrF,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;aAC/E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACxD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;aAC/E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,sCAAsC;IACtC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,mFAAmF,CACpF;YACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC;gBACjC,IAAI,EAAE,IAAI,CAAC,IAAW;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;yBAClE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,gCAAgC;QAC7C,WAAW,EAAE;YACX,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,mCAAmC;QAChD,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAC1E,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC;IAExD,IAAI,YAAY,EAAE,CAAC;QACjB,qCAAqC;QACrC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,qEAAqE;YAClF,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAClE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAElE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAE3D,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;gBACpD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAgC,CAAC;gBAEjF,8DAA8D;gBAC9D,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,CAAC;gBAE/E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACpE,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEvD,2DAA2D;gBAC3D,MAAM,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAEnD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,OAAO,EAAE,0BAA0B,GAAG,CAAC,WAAW,CAAC,MAAM,eAAe;gCACxE,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,MAAM;gCAC7B,aAAa;gCACb,IAAI;6BACL,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,oCAAoC;QACpC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;YACE,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,yCAAyC;YACtD,WAAW,EAAE;gBACX,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBACnE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAChF;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAClE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAClE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBAEnD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAE3D,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;gBACpD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;gBAClF,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,CAGjD,CAAC;gBAEb,oEAAoE;gBACpE,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;oBAClD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,OAAO,EAAE,KAAK;oCACd,KAAK,EAAE,iCAAiC,QAAQ,EAAE,GAAG,aAAa,QAAQ,EAAE,SAAS,WAAW,QAAQ,EAAE,WAAW,IAAI,UAAU,gBAAgB,QAAQ,EAAE,SAAS,IAAI,CAAC,2EAA2E;iCACvP,CAAC;6BACH;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,mDAAmD;gBACnD,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;oBAC7B,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;gBACnC,CAAC,CAAC;gBACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAElC,IAAI,CAAC;oBACH,6CAA6C;oBAC7C,MAAM,YAAY,GAA2B;wBAC3C,MAAM,EAAE,QAAQ;wBAChB,GAAG,EAAE,KAAK;wBACV,MAAM,EAAE,QAAQ;qBACjB,CAAC;oBACF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;oBAC/C,IAAI,CAAC;wBACH,QAAQ,CAAC,GAAG,OAAO,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBACtE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,KAAK;wCACd,KAAK,EAAE,aAAa,OAAO,yFAAyF;qCACrH,CAAC;iCACH;6BACF;yBACF,CAAC;oBACJ,CAAC;oBAED,iEAAiE;oBACjE,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;oBACrD,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBACrD,CAAC;oBAED,gDAAgD;oBAChD,MAAM,MAAM,GAAG,CACb,GAAW,EACX,OAAiB,EAC0C,EAAE,CAC7D,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACtB,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE;4BAC/B,GAAG,EAAE,WAAW;4BAChB,KAAK,EAAE,IAAI;4BACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yBAChC,CAAC,CAAC;wBACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;4BACpC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACzB,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;4BACpC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACzB,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE,CACvC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAC7C,CAAC;wBACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACtF,CAAC,CAAC,CAAC;oBAEL,oCAAoC;oBACpC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,WAAmB,EAAU,EAAE;wBAC7D,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;6BAC7C,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;6BAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;wBACd,OAAO;4BACL,+BAA+B,WAAW,EAAE;4BAC5C,EAAE;4BACF,oBAAoB,IAAI,CAAC,KAAK,EAAE;4BAChC,OAAO,IAAI,CAAC,EAAE,EAAE;4BAChB,EAAE;4BACF,gBAAgB;4BAChB,IAAI,CAAC,WAAW;4BAChB,EAAE;4BACF,wBAAwB;4BACxB,QAAQ;4BACR,EAAE;4BACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;4BAC7C,iBAAiB;4BACjB,0CAA0C;4BAC1C,2CAA2C;4BAC3C,gDAAgD;4BAChD,2CAA2C;4BAC3C,0CAA0C;yBAC3C;6BACE,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC;oBAEF,sDAAsD;oBACtD,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAmB,EAAE,CAC1E,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,IAAI,YAAY,GAAG,EAAE,CAAC;wBACtB,MAAM,QAAQ,GAGV;4BACF,MAAM,EAAE;gCACN,GAAG,EAAE,QAAQ;gCACb,IAAI,EAAE,CAAC,IAAI,EAAE,gCAAgC,EAAE,WAAW,CAAC;gCAC3D,WAAW,EAAE,IAAI;6BAClB;4BACD,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;4BAC7D,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;yBACpE,CAAC;wBACF,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;wBAEnD,IAAI,OAAO,GAAG,KAAK,CAAC;wBACpB,MAAM,MAAM,GAAG,CAAC,EAAc,EAAE,EAAE;4BAChC,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,OAAO,GAAG,IAAI,CAAC;gCACf,EAAE,EAAE,CAAC;4BACP,CAAC;wBACH,CAAC,CAAC;wBAEF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;4BACpC,GAAG,EAAE,WAAW;4BAChB,KAAK,EAAE,IAAI;4BACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yBAChC,CAAC,CAAC;wBAEH,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BACzB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;wBACnB,CAAC;wBAED,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;4BACpC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACzB,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;4BACpC,YAAY,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC/B,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;4BACvC,MAAM,CAAC,GAAG,EAAE;gCACV,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACpC,OAAO,CAAC,MAAM,CAAC,CAAC;gCAClB,CAAC;qCAAM,CAAC;oCACN,MAAM,CACJ,IAAI,KAAK,CACP,SAAS,SAAS,qBAAqB,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACtG,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;4BAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;wBAClF,CAAC,CAAC,CAAC;wBAEH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;4BAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BACrB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,SAAS,6BAA6B,CAAC,CAAC,CAAC;wBACnF,CAAC,EAAE,MAAM,CAAC,CAAC;wBAEX,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBAEL,2BAA2B;oBAC3B,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;oBAEtC,8CAA8C;oBAC9C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7D,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,KAAK;wCACd,KAAK,EAAE,iEAAiE;qCACzE,CAAC;iCACH;6BACF;yBACF,CAAC;oBACJ,CAAC;oBAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;oBAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;oBACxE,IAAI,cAAc,GAAG,CAAC,CAAC;oBACvB,MAAM,gBAAgB,GAMjB,EAAE,CAAC;oBAER,gDAAgD;oBAChD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;wBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;oBAC3C,CAAC,CAAC;oBAEF,WAAW,CACT,wBAAwB,UAAU,uBAAuB,aAAa,qBAAqB,IAAI,EAAE,CAClG,CAAC;oBAEF,OAAO,YAAY,CAAC,WAAW,EAAE,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;wBACpE,cAAc,EAAE,CAAC;wBACjB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;wBAC9C,IAAI,CAAC,IAAI;4BAAE,MAAM;wBAEjB,oCAAoC;wBACpC,MAAM,YAAY,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;wBAEnF,WAAW,CACT,aAAa,cAAc,IAAI,aAAa,YAAY,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,CAClF,CAAC;wBAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAE7B,sBAAsB;wBACtB,IAAI,WAAW,GAAG,EAAE,CAAC;wBACrB,IAAI,CAAC;4BACH,WAAW,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC;4BAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;4BAC9C,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;4BAC/C,WAAW,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACrF,CAAC;wBAAC,OAAO,QAAa,EAAE,CAAC;4BACvB,WAAW,GAAG,UAAU,QAAQ,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;4BACvD,WAAW,CAAC,kBAAkB,QAAQ,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;wBAChE,CAAC;wBAED,uBAAuB;wBACvB,WAAW,CAAC,4BAA4B,CAAC,CAAC;wBAC1C,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;4BACjD,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;4BAC9D,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;4BACxD,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;yBAClD,CAAC,CAAC;wBACH,MAAM,aAAa,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;wBAElF,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC;wBAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;wBACtE,MAAM,MAAM,GAAqC,OAAO;4BACtD,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,SAAS,IAAI,CAAC;gCACd,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,QAAQ,CAAC;wBAEf,WAAW,CACT,yBAAyB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,CACjJ,CAAC;wBAEF,kCAAkC;wBAClC,IAAI,SAA6B,CAAC;wBAClC,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;4BACnC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE;gCACvC,QAAQ;gCACR,IAAI;gCACJ,SAAS,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,iBAAiB,cAAc,0BAA0B;6BAC1F,CAAC,CAAC;4BACH,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;4BACxE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACjD,MAAM,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC9C,WAAW,CAAC,gBAAgB,SAAS,IAAI,SAAS,YAAY,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;wBACpF,CAAC;wBAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;wBAE5C,uCAAuC;wBACvC,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,CACzC,WAAW,EACX,cAAc,EACd,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,KAAK,EACV,IAAI,CACL,CAAC;wBAEF,+DAA+D;wBAC/D,MAAM,YAAY,CAAC,eAAe,CAAC;4BACjC,SAAS,EAAE,cAAc;4BACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,UAAU,EAAE,IAAI,CAAC,KAAK;4BACtB,MAAM;4BACN,OAAO,EAAE,IAAI;4BACb,iBAAiB,EAAE,YAAY;4BAC/B,cAAc,EAAE,aAAa;4BAC7B,cAAc,EACZ,MAAM,CAAC,cAAc,IAAI,aAAa,cAAc,KAAK,IAAI,CAAC,KAAK,EAAE;4BACvE,UAAU,EAAE,SAAS;4BACrB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,QAAQ,EAAE;gCACR,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB;gCACtD,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB;6BACrD;yBACF,CAAC,CAAC;wBAEH,gBAAgB,CAAC,IAAI,CAAC;4BACpB,SAAS,EAAE,cAAc;4BACzB,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,SAAS,EAAE,IAAI,CAAC,KAAK;4BACrB,MAAM;4BACN,UAAU,EAAE,YAAY;yBACzB,CAAC,CAAC;wBAEH,2DAA2D;wBAC3D,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;wBAEtC,WAAW,CACT,eAAe,cAAc,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAClF,CAAC;oBACJ,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;oBAChD,WAAW,CACT,wBAAwB,cAAc,gBAAgB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,kBAAkB,CACvG,CAAC;oBAEF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,OAAO,EAAE,IAAI;oCACb,UAAU,EAAE,cAAc;oCAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;oCAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;oCAClB,OAAO,EAAE,gBAAgB;iCAC1B,CAAC;6BACH;yBACF;qBACF,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,qCAAqC;oBACrC,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;oBACjC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAC/C,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,uCAAuC;QACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;YACE,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,+BAA+B;YAC5C,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAElE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;gBAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;6BACzE;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;gBAEhD,mEAAmE;gBACnE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEnE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,OAAO;gCACP,GAAG,CAAC,OAAO,IAAI,QAAQ;oCACrB,CAAC,CAAC;wCACE,UAAU,EAAE,QAAQ,CAAC,GAAG;wCACxB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;wCACzC,gBAAgB,EAAE,QAAQ,CAAC,SAAS,IAAI,CAAC;wCACzC,YAAY,EAAE,QAAQ,CAAC,SAAS;qCACjC;oCACH,CAAC,CAAC,EAAE,CAAC;gCACP,SAAS,EAAE,MAAM,CAAC,iBAAiB;gCACnC,aAAa,EAAE,MAAM,CAAC,cAAc;gCACpC,cAAc,EAAE,KAAK,CAAC,SAAS;gCAC/B,UAAU,EAAE,KAAK,CAAC,KAAK;gCACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gCACjB,SAAS,EAAE,MAAM,CAAC,UAAU;6BAC7B,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,sDAAsD;QACtD,MAAM,CAAC,YAAY,CACjB,sCAAsC,EACtC;YACE,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC5D;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;gBAE1E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAE1D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;gBAE5C,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,UAAU,EAAE,OAAO,CAAC,MAAM;gCAC1B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oCAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;oCACzB,MAAM,EAAE,IAAI,CAAC,OAAO;oCACpB,SAAS,EAAE,IAAI,CAAC,UAAU;oCAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;oCACnB,QAAQ,EAAE,IAAI,CAAC,WAAW;oCAC1B,aAAa,EAAE,IAAI,CAAC,cAAc;oCAClC,MAAM,EAAE,IAAI,CAAC,UAAU;iCACxB,CAAC,CAAC;gCACH,UAAU,EAAE;oCACV,KAAK,EAAE,KAAK,CAAC,gBAAgB;oCAC7B,UAAU,EAAE,KAAK,CAAC,qBAAqB;oCACvC,MAAM,EAAE,KAAK,CAAC,iBAAiB;oCAC/B,WAAW,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;oCACxD,WAAW,EAAE,KAAK,CAAC,mBAAmB;iCACvC;6BACF,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,mCAAmC;IAEnC,0CAA0C;IAC1C,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACnE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,aAAa;YAAE,OAAO,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC;gBACjD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvB,IAAI,EAAE,QAAQ,EAAE,mDAAmD;aACpE,CAAC,CAAC;YAEH,mDAAmD;YACnD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAE5E,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE;iBAChF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SACtF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,aAAa;YAAE,OAAO,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,qEAAqE;YACrE,4DAA4D;YAC5D,yFAAyF;YAEzF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,mBAAmB,IAAI,CAAC,QAAQ,8FAA8F;4BACvI,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,+EAA+E;YAC/E,8DAA8D;YAC9D,MAAM,MAAM,GAAI,MAAc,CAAC,eAAe;gBAC5C,CAAC,CAAE,MAAc,CAAC,eAAe,EAAE;gBACnC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;YACxE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;aAC7E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,+CAA+C;IAC/C,+CAA+C;IAC/C,+CAA+C;IAE/C,IAAI,gBAAgB,EAAE,CAAC;QACrB,yCAAyC;QACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;YACE,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,gBAAiB,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,gBAAiB,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,gBAAiB,CAAC,SAAS,EAAE,CAAC,IAAI;4BAC7C,cAAc,EAAE,gBAAiB,CAAC,mBAAmB,EAAE;4BACvD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;6BACzC,CAAC,CAAC;4BACH,KAAK,EAAE,QAAQ,CAAC,MAAM;yBACvB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,2CAA2C;QAC3C,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,wEAAwE;YACrF,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gBAAiB,CAAC,SAAS,EAAE,CAAC;gBACnD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;iBAChF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;qBACjF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,2CAA2C;QAC3C,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;YACE,KAAK,EAAE,6BAA6B;YACpC,WAAW,EAAE,sDAAsD;YACnE,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;aAC9E;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,gBAAiB,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE;oBAC7E,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,OAAO;gCACP,gBAAgB,EAAE,OAAO,CAAC,MAAM;6BACjC,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;qBACjF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,0CAA0C;QAC1C,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;YACE,KAAK,EAAE,4BAA4B;YACnC,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE;gBACX,MAAM,EAAE,CAAC;qBACN,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;qBACxD,QAAQ,EAAE;qBACV,QAAQ,CAAC,kBAAkB,CAAC;aAChC;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAiD,EAAE,CAAC;gBAClE,KAAK,MAAM,OAAO,IAAI,gBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC1C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;4BAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;4BAC/C,CAAC,CAAC,KAAK,CAAC;wBACV,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxB,QAAQ,CAAC,IAAI,CAAC;gCACZ,OAAO,EAAE,OAAO,CAAC,IAAI;gCACrB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oCAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;oCACR,KAAK,EAAE,CAAC,CAAC,KAAK;oCACd,MAAM,EAAE,CAAC,CAAC,MAAM;iCACjB,CAAC,CAAC;6BACJ,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,0BAA0B;oBAC5B,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,QAAQ,EAAE,QAAQ;gCAClB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;6BACjE,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;qBACjF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,wCAAwC;AACxC,IACE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAC5C,CAAC;IACD,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"rulebook-server.js","sourceRoot":"","sources":["../../src/mcp/rulebook-server.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1B,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qBAAqB;AACrB,SAAS,UAAU;IACjB,8DAA8D;IAC9D,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpE,MAAM,QAAQ,GACZ,oBAAoB,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEpB,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAQ,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,IAAI,cAAc,GAAG,YAAY,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QAErC,4DAA4D;QAC5D,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAC;IAE/E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,2CAA2C;IAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,gBAAgB,GAA4B,IAAI,CAAC;IAErD,sEAAsE;IACtE,IAAI,WAAyB,CAAC;IAC9B,IAAI,aAA6B,CAAC;IAClC,IAAI,aAA6B,CAAC;IAClC,IAAI,WAAmB,CAAC;IAExB,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACpE,MAAM,QAAQ,GACZ,oBAAoB,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YACnE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YACxC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACX,6GAA6G,CAC9G,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QACpC,WAAW,GAAG,QAAQ,CAAC;QAEvB,sEAAsE;QACtE,MAAM,SAAS,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAClE,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC7C,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACjD,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACnD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,kDAAkD,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAK,CACX,kCAAkC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,uBAAuB,SAAS,GAAG,CAChH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAClC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACvC,WAAW,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACxD,aAAa,GAAG,IAAI,aAAa,CAAC,uBAAuB,EAAE,EAAE,WAAW,CAAC,CAAC;QAC1E,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,uDAAuD;IAEvD,KAAK,UAAU,UAAU,CAAC,SAAkB;QAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB;YAAE,OAAO,WAAW,CAAC;QACxD,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,SAAkB;QAC5C,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB;YAAE,OAAO,aAAa,CAAC;QAC1D,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,SAAkB;QAC5C,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB;YAAE,OAAO,aAAa,CAAC;QAC1D,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,SAAS,CACtB,SAAkB;QAElB,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,SAAS,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iEAAiE;IACjE,MAAM,eAAe,GAAG,CAAC;SACtB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC,CAAC;IAE7E,sCAAsC;IACtC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,uBAAuB;SACpD,CAAC,CAAC;QACH,WAAW,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE;YACX,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC1E,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;iBACxD,QAAQ,EAAE;iBACV,QAAQ,CAAC,kBAAkB,CAAC;YAC/B,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC;QAChE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,SAAS,EAAE,CAAC,CAAC,SAAS;4BACtB,SAAS,EAAE,CAAC,CAAC,SAAS;yBACvB,CAAC,CAAC;wBACH,KAAK,EAAE,QAAQ,CAAC,MAAM;qBACvB,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC9C,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,IAAI,EAAE,IAAI;4BACR,CAAC,CAAC;gCACE,EAAE,EAAE,IAAI,CAAC,EAAE;gCACX,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,SAAS,EAAE,IAAI,CAAC,SAAS;6BAC1B;4BACH,CAAC,CAAC,IAAI;wBACR,KAAK,EAAE,IAAI,KAAK,IAAI;qBACrB,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,sCAAsC;IACtC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAChD,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;iBACxD,QAAQ,EAAE;iBACV,QAAQ,CAAC,YAAY,CAAC;YACzB,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,uBAAuB;SACpD,CAAC,CAAC;QACH,WAAW,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAClD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACjD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACnF,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,wBAAwB;SACrD,CAAC,CAAC;QACH,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF,sCAAsC;IACtC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,2BAA2B;QACxC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAChD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,uBAAuB;SACpD,CAAC,CAAC;QACH,WAAW,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF,+CAA+C;IAC/C,qCAAqC;IACrC,+CAA+C;IAE/C,qCAAqC;IACrC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC;gBACJ,WAAW;gBACX,YAAY;gBACZ,SAAS;gBACT,UAAU;gBACV,WAAW;gBACX,MAAM;gBACN,MAAM;gBACN,KAAK;gBACL,KAAK;gBACL,OAAO;aACR,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,oBAAoB,CAAC;YACjC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACxE,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC;YACX,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAyB,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;YAChC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YAE3D,IAAI,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;gBACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO;gBAC3B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;aACtB,CAAC,CAAC,CAAC;YAEJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,cAAc;4BACtB,KAAK,EAAE,cAAc,CAAC,MAAM;4BAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;yBACjC,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACrE,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,oBAAoB,IAAI,CAAC,OAAO,EAAE;gCACzC,UAAU,EAAE,iDAAiD;6BAC9D,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YAE1E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE;gCACL,EAAE,EAAE,KAAK,CAAC,EAAE;gCACZ,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gCACzB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;gCACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gCACxB,OAAO;gCACP,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;gCAC/B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;gCAC7B,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gCACzB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;gCACzC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;gCACnC,OAAO,EACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC5E;yBACF,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC/E,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACrC,QAAQ,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxD,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE9B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,uBAAuB;gBACrD,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;aAChC,CAAC,CAAC;YACH,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,8CAA8C;QAC3D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAChF,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YAErC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,SAAS,IAAI,CAAC,OAAO,2BAA2B;6BACxD,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,QAAQ,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,wBAAwB;aACvD,CAAC,CAAC;YACH,WAAW,CAAC,wBAAwB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YAE3D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCACzB,EAAE,EAAE,CAAC,CAAC,EAAE;gCACR,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gCACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;gCACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACpB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC9B,CAAC,CAAC;4BACH,KAAK,EAAE,MAAM,CAAC,MAAM;yBACrB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE;YACX,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAErD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,UAAU,CAAC,KAAK;4BACvB,MAAM,EAAE,UAAU,CAAC,MAAM;4BACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;yBACpD,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,+CAA+C;IAC/C,iCAAiC;IACjC,+CAA+C;IAE/C,oEAAoE;IACpE,wDAAwD;IACxD,IAAI,aAAa,GAEN,IAAI,CAAC;IAChB,IAAI,SAAS,GAA6B,IAAI,CAAC;IAC/C,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QACxD,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAC5E,MAAM,YAAY,GAAG,IAAI,CACvB,WAAW,EACX,cAAc,CAAC,MAAM,CAAC,MAAM,IAAI,4BAA4B,CAC7D,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;gBAC3D,aAAa,GAAG,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;gBACxE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC;gBAEjE,0BAA0B;gBAC1B,SAAS,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjF,SAAS,CAAC,KAAK,EAAE,CAAC;gBAEjB,MAAc,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;YACjE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,SAAS;YAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,aAAa;YAAE,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,KAAK,UAAU,WAAW,CACxB,QAAgB,EAChB,IAA6B,EAC7B,UAAkB;QAElB,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,MAAM,aAAa,CAAC,UAAU,CAAC;gBAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IAED,SAAS,gBAAgB;QACvB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,oEAAoE;qBAC5E,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACjE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC7D,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;gBACtC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAW;aACvB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;qBACxE;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0CAA0C;IAC1C,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACrF,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;aAC/E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACxD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;aAC/E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,sCAAsC;IACtC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,mFAAmF,CACpF;YACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrD,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC;gBACjC,IAAI,EAAE,IAAI,CAAC,IAAW;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;yBAClE,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,gCAAgC;QAC7C,WAAW,EAAE;YACX,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,mCAAmC;QAChD,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAC1E,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC;IAExD,IAAI,YAAY,EAAE,CAAC;QACjB,qCAAqC;QACrC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,qEAAqE;YAClF,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAClE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAElE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAE3D,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;gBACpD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAgC,CAAC;gBAEjF,8DAA8D;gBAC9D,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,CAAC;gBAE/E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACpE,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEvD,2DAA2D;gBAC3D,MAAM,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAEnD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,OAAO,EAAE,0BAA0B,GAAG,CAAC,WAAW,CAAC,MAAM,eAAe;gCACxE,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,MAAM;gCAC7B,aAAa;gCACb,IAAI;6BACL,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,oCAAoC;QACpC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;YACE,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,yCAAyC;YACtD,WAAW,EAAE;gBACX,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBACnE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAChF;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAClE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAClE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBAEnD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAE3D,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;gBACpD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;gBAClF,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,CAGjD,CAAC;gBAEb,oEAAoE;gBACpE,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;oBAClD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,OAAO,EAAE,KAAK;oCACd,KAAK,EAAE,iCAAiC,QAAQ,EAAE,GAAG,aAAa,QAAQ,EAAE,SAAS,WAAW,QAAQ,EAAE,WAAW,IAAI,UAAU,gBAAgB,QAAQ,EAAE,SAAS,IAAI,CAAC,2EAA2E;iCACvP,CAAC;6BACH;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,mDAAmD;gBACnD,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;oBAC7B,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;gBACnC,CAAC,CAAC;gBACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAElC,IAAI,CAAC;oBACH,6CAA6C;oBAC7C,MAAM,YAAY,GAA2B;wBAC3C,MAAM,EAAE,QAAQ;wBAChB,GAAG,EAAE,KAAK;wBACV,MAAM,EAAE,QAAQ;qBACjB,CAAC;oBACF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;oBAC/C,IAAI,CAAC;wBACH,QAAQ,CAAC,GAAG,OAAO,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBACtE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,KAAK;wCACd,KAAK,EAAE,aAAa,OAAO,yFAAyF;qCACrH,CAAC;iCACH;6BACF;yBACF,CAAC;oBACJ,CAAC;oBAED,iEAAiE;oBACjE,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;oBACrD,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBACrD,CAAC;oBAED,gDAAgD;oBAChD,MAAM,MAAM,GAAG,CACb,GAAW,EACX,OAAiB,EAC0C,EAAE,CAC7D,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACtB,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE;4BAC/B,GAAG,EAAE,WAAW;4BAChB,KAAK,EAAE,IAAI;4BACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yBAChC,CAAC,CAAC;wBACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;4BACpC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACzB,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;4BACpC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACzB,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE,CACvC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAC7C,CAAC;wBACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACtF,CAAC,CAAC,CAAC;oBAEL,oCAAoC;oBACpC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,WAAmB,EAAU,EAAE;wBAC7D,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;6BAC7C,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;6BAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;wBACd,OAAO;4BACL,+BAA+B,WAAW,EAAE;4BAC5C,EAAE;4BACF,oBAAoB,IAAI,CAAC,KAAK,EAAE;4BAChC,OAAO,IAAI,CAAC,EAAE,EAAE;4BAChB,EAAE;4BACF,gBAAgB;4BAChB,IAAI,CAAC,WAAW;4BAChB,EAAE;4BACF,wBAAwB;4BACxB,QAAQ;4BACR,EAAE;4BACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;4BAC7C,iBAAiB;4BACjB,0CAA0C;4BAC1C,2CAA2C;4BAC3C,gDAAgD;4BAChD,2CAA2C;4BAC3C,0CAA0C;yBAC3C;6BACE,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC;oBAEF,sDAAsD;oBACtD,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAmB,EAAE,CAC1E,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,IAAI,YAAY,GAAG,EAAE,CAAC;wBACtB,MAAM,QAAQ,GAGV;4BACF,MAAM,EAAE;gCACN,GAAG,EAAE,QAAQ;gCACb,IAAI,EAAE,CAAC,IAAI,EAAE,gCAAgC,EAAE,WAAW,CAAC;gCAC3D,WAAW,EAAE,IAAI;6BAClB;4BACD,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;4BAC7D,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;yBACpE,CAAC;wBACF,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;wBAEnD,IAAI,OAAO,GAAG,KAAK,CAAC;wBACpB,MAAM,MAAM,GAAG,CAAC,EAAc,EAAE,EAAE;4BAChC,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,OAAO,GAAG,IAAI,CAAC;gCACf,EAAE,EAAE,CAAC;4BACP,CAAC;wBACH,CAAC,CAAC;wBAEF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;4BACpC,GAAG,EAAE,WAAW;4BAChB,KAAK,EAAE,IAAI;4BACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yBAChC,CAAC,CAAC;wBAEH,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BACzB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;wBACnB,CAAC;wBAED,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;4BACpC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACzB,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;4BACpC,YAAY,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC/B,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;4BACvC,MAAM,CAAC,GAAG,EAAE;gCACV,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACpC,OAAO,CAAC,MAAM,CAAC,CAAC;gCAClB,CAAC;qCAAM,CAAC;oCACN,MAAM,CACJ,IAAI,KAAK,CACP,SAAS,SAAS,qBAAqB,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACtG,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;4BAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;wBAClF,CAAC,CAAC,CAAC;wBAEH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;4BAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BACrB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,SAAS,6BAA6B,CAAC,CAAC,CAAC;wBACnF,CAAC,EAAE,MAAM,CAAC,CAAC;wBAEX,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBAEL,2BAA2B;oBAC3B,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;oBAEtC,8CAA8C;oBAC9C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7D,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,KAAK;wCACd,KAAK,EAAE,iEAAiE;qCACzE,CAAC;iCACH;6BACF;yBACF,CAAC;oBACJ,CAAC;oBAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;oBAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;oBACxE,IAAI,cAAc,GAAG,CAAC,CAAC;oBACvB,MAAM,gBAAgB,GAMjB,EAAE,CAAC;oBAER,gDAAgD;oBAChD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;wBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;oBAC3C,CAAC,CAAC;oBAEF,WAAW,CACT,wBAAwB,UAAU,uBAAuB,aAAa,qBAAqB,IAAI,EAAE,CAClG,CAAC;oBAEF,OAAO,YAAY,CAAC,WAAW,EAAE,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;wBACpE,cAAc,EAAE,CAAC;wBACjB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;wBAC9C,IAAI,CAAC,IAAI;4BAAE,MAAM;wBAEjB,oCAAoC;wBACpC,MAAM,YAAY,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;wBAEnF,WAAW,CACT,aAAa,cAAc,IAAI,aAAa,YAAY,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,CAClF,CAAC;wBAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAE7B,sBAAsB;wBACtB,IAAI,WAAW,GAAG,EAAE,CAAC;wBACrB,IAAI,CAAC;4BACH,WAAW,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC;4BAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;4BAC9C,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;4BAC/C,WAAW,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACrF,CAAC;wBAAC,OAAO,QAAa,EAAE,CAAC;4BACvB,WAAW,GAAG,UAAU,QAAQ,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;4BACvD,WAAW,CAAC,kBAAkB,QAAQ,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;wBAChE,CAAC;wBAED,uBAAuB;wBACvB,WAAW,CAAC,4BAA4B,CAAC,CAAC;wBAC1C,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;4BACjD,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;4BAC9D,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;4BACxD,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;yBAClD,CAAC,CAAC;wBACH,MAAM,aAAa,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;wBAElF,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC;wBAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;wBACtE,MAAM,MAAM,GAAqC,OAAO;4BACtD,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,SAAS,IAAI,CAAC;gCACd,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,QAAQ,CAAC;wBAEf,WAAW,CACT,yBAAyB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,CACjJ,CAAC;wBAEF,kCAAkC;wBAClC,IAAI,SAA6B,CAAC;wBAClC,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;4BACnC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE;gCACvC,QAAQ;gCACR,IAAI;gCACJ,SAAS,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,iBAAiB,cAAc,0BAA0B;6BAC1F,CAAC,CAAC;4BACH,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;4BACxE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACjD,MAAM,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC9C,WAAW,CAAC,gBAAgB,SAAS,IAAI,SAAS,YAAY,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;wBACpF,CAAC;wBAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;wBAE5C,uCAAuC;wBACvC,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,CACzC,WAAW,EACX,cAAc,EACd,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,KAAK,EACV,IAAI,CACL,CAAC;wBAEF,+DAA+D;wBAC/D,MAAM,YAAY,CAAC,eAAe,CAAC;4BACjC,SAAS,EAAE,cAAc;4BACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,UAAU,EAAE,IAAI,CAAC,KAAK;4BACtB,MAAM;4BACN,OAAO,EAAE,IAAI;4BACb,iBAAiB,EAAE,YAAY;4BAC/B,cAAc,EAAE,aAAa;4BAC7B,cAAc,EACZ,MAAM,CAAC,cAAc,IAAI,aAAa,cAAc,KAAK,IAAI,CAAC,KAAK,EAAE;4BACvE,UAAU,EAAE,SAAS;4BACrB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,QAAQ,EAAE;gCACR,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB;gCACtD,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB;6BACrD;yBACF,CAAC,CAAC;wBAEH,gBAAgB,CAAC,IAAI,CAAC;4BACpB,SAAS,EAAE,cAAc;4BACzB,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,SAAS,EAAE,IAAI,CAAC,KAAK;4BACrB,MAAM;4BACN,UAAU,EAAE,YAAY;yBACzB,CAAC,CAAC;wBAEH,2DAA2D;wBAC3D,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;wBAEtC,WAAW,CACT,eAAe,cAAc,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAClF,CAAC;oBACJ,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;oBAChD,WAAW,CACT,wBAAwB,cAAc,gBAAgB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,kBAAkB,CACvG,CAAC;oBAEF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,OAAO,EAAE,IAAI;oCACb,UAAU,EAAE,cAAc;oCAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;oCAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;oCAClB,OAAO,EAAE,gBAAgB;iCAC1B,CAAC;6BACH;yBACF;qBACF,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,qCAAqC;oBACrC,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;oBACjC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAC/C,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,uCAAuC;QACvC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;YACE,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,+BAA+B;YAC5C,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAElE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;gBAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;6BACzE;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;gBAEhD,mEAAmE;gBACnE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEnE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,OAAO;gCACP,GAAG,CAAC,OAAO,IAAI,QAAQ;oCACrB,CAAC,CAAC;wCACE,UAAU,EAAE,QAAQ,CAAC,GAAG;wCACxB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;wCACzC,gBAAgB,EAAE,QAAQ,CAAC,SAAS,IAAI,CAAC;wCACzC,YAAY,EAAE,QAAQ,CAAC,SAAS;qCACjC;oCACH,CAAC,CAAC,EAAE,CAAC;gCACP,SAAS,EAAE,MAAM,CAAC,iBAAiB;gCACnC,aAAa,EAAE,MAAM,CAAC,cAAc;gCACpC,cAAc,EAAE,KAAK,CAAC,SAAS;gCAC/B,UAAU,EAAE,KAAK,CAAC,KAAK;gCACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gCACjB,SAAS,EAAE,MAAM,CAAC,UAAU;6BAC7B,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,sDAAsD;QACtD,MAAM,CAAC,YAAY,CACjB,sCAAsC,EACtC;YACE,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC5D;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;gBAE1E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAE1D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;gBAE5C,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,UAAU,EAAE,OAAO,CAAC,MAAM;gCAC1B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oCAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;oCACzB,MAAM,EAAE,IAAI,CAAC,OAAO;oCACpB,SAAS,EAAE,IAAI,CAAC,UAAU;oCAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;oCACnB,QAAQ,EAAE,IAAI,CAAC,WAAW;oCAC1B,aAAa,EAAE,IAAI,CAAC,cAAc;oCAClC,MAAM,EAAE,IAAI,CAAC,UAAU;iCACxB,CAAC,CAAC;gCACH,UAAU,EAAE;oCACV,KAAK,EAAE,KAAK,CAAC,gBAAgB;oCAC7B,UAAU,EAAE,KAAK,CAAC,qBAAqB;oCACvC,MAAM,EAAE,KAAK,CAAC,iBAAiB;oCAC/B,WAAW,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;oCACxD,WAAW,EAAE,KAAK,CAAC,mBAAmB;iCACvC;6BACF,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,mCAAmC;IAEnC,0CAA0C;IAC1C,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACnE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,aAAa;YAAE,OAAO,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC;gBACjD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvB,IAAI,EAAE,QAAQ,EAAE,mDAAmD;aACpE,CAAC,CAAC;YAEH,mDAAmD;YACnD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAE5E,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE;iBAChF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SACtF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,aAAa;YAAE,OAAO,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,qEAAqE;YACrE,4DAA4D;YAC5D,yFAAyF;YAEzF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,mBAAmB,IAAI,CAAC,QAAQ,8FAA8F;4BACvI,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,+EAA+E;YAC/E,8DAA8D;YAC9D,MAAM,MAAM,GAAI,MAAc,CAAC,eAAe;gBAC5C,CAAC,CAAE,MAAc,CAAC,eAAe,EAAE;gBACnC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;YACxE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;aAC7E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;iBACjF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,+CAA+C;IAC/C,+CAA+C;IAC/C,+CAA+C;IAE/C,IAAI,gBAAgB,EAAE,CAAC;QACrB,yCAAyC;QACzC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;YACE,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,gBAAiB,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,gBAAiB,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,gBAAiB,CAAC,SAAS,EAAE,CAAC,IAAI;4BAC7C,cAAc,EAAE,gBAAiB,CAAC,mBAAmB,EAAE;4BACvD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;6BACzC,CAAC,CAAC;4BACH,KAAK,EAAE,QAAQ,CAAC,MAAM;yBACvB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,2CAA2C;QAC3C,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,wEAAwE;YACrF,WAAW,EAAE,EAAE;SAChB,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gBAAiB,CAAC,SAAS,EAAE,CAAC;gBACnD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;iBAChF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;qBACjF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,2CAA2C;QAC3C,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;YACE,KAAK,EAAE,6BAA6B;YACpC,WAAW,EAAE,sDAAsD;YACnE,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;aAC9E;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,gBAAiB,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE;oBAC7E,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,OAAO;gCACP,gBAAgB,EAAE,OAAO,CAAC,MAAM;6BACjC,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;qBACjF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,0CAA0C;QAC1C,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;YACE,KAAK,EAAE,4BAA4B;YACnC,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE;gBACX,MAAM,EAAE,CAAC;qBACN,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;qBACxD,QAAQ,EAAE;qBACV,QAAQ,CAAC,kBAAkB,CAAC;aAChC;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAiD,EAAE,CAAC;gBAClE,KAAK,MAAM,OAAO,IAAI,gBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC1C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACrF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxB,QAAQ,CAAC,IAAI,CAAC;gCACZ,OAAO,EAAE,OAAO,CAAC,IAAI;gCACrB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oCAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;oCACR,KAAK,EAAE,CAAC,CAAC,KAAK;oCACd,MAAM,EAAE,CAAC,CAAC,MAAM;iCACjB,CAAC,CAAC;6BACJ,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,0BAA0B;oBAC5B,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,IAAI;gCACb,QAAQ,EAAE,QAAQ;gCAClB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;6BACjE,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;qBACjF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,wCAAwC;AACxC,IACE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAC5C,CAAC;IACD,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hivehub/rulebook",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "Standardize AI-generated projects with automated templates, quality gates, persistent memory, and framework detection for 28 languages, 17 frameworks, 13 MCP modules, and 20 services",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -8,25 +8,6 @@
|
|
|
8
8
|
"rulebook": "./dist/index.js",
|
|
9
9
|
"rulebook-mcp": "./dist/mcp/rulebook-server.js"
|
|
10
10
|
},
|
|
11
|
-
"scripts": {
|
|
12
|
-
"build": "tsc",
|
|
13
|
-
"dev": "tsx src/index.ts",
|
|
14
|
-
"test": "vitest run --no-watch",
|
|
15
|
-
"test:watch": "vitest",
|
|
16
|
-
"test:coverage": "vitest run --coverage --no-watch",
|
|
17
|
-
"test:agent": "node scripts/test-agent-simple.mjs",
|
|
18
|
-
"test:agent:quick": "node scripts/test-agent-simple.mjs",
|
|
19
|
-
"test:agent:full": "node scripts/test-agent-manager.js all",
|
|
20
|
-
"test:agent:comprehensive": "npx vitest run tests/agent-manager-comprehensive.test.ts",
|
|
21
|
-
"setup:mcp": "node scripts/setup-mcp-config.js",
|
|
22
|
-
"lint": "npx eslint src/**/*.ts --quiet",
|
|
23
|
-
"lint:fix": "npx eslint src/**/*.ts --fix --quiet",
|
|
24
|
-
"format": "npx prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
25
|
-
"type-check": "tsc --noEmit",
|
|
26
|
-
"prepublishOnly": "npm run build",
|
|
27
|
-
"publish:wsl": "export BROWSER=wslview && npm publish",
|
|
28
|
-
"mcp-server": "node dist/mcp/rulebook-server.js"
|
|
29
|
-
},
|
|
30
11
|
"keywords": [
|
|
31
12
|
"ai",
|
|
32
13
|
"automation",
|
|
@@ -105,5 +86,23 @@
|
|
|
105
86
|
"bugs": {
|
|
106
87
|
"url": "https://github.com/hivellm/rulebook/issues"
|
|
107
88
|
},
|
|
108
|
-
"homepage": "https://github.com/hivellm/rulebook#readme"
|
|
109
|
-
|
|
89
|
+
"homepage": "https://github.com/hivellm/rulebook#readme",
|
|
90
|
+
"scripts": {
|
|
91
|
+
"build": "tsc",
|
|
92
|
+
"dev": "tsx src/index.ts",
|
|
93
|
+
"test": "vitest run --no-watch",
|
|
94
|
+
"test:watch": "vitest",
|
|
95
|
+
"test:coverage": "vitest run --coverage --no-watch",
|
|
96
|
+
"test:agent": "node scripts/test-agent-simple.mjs",
|
|
97
|
+
"test:agent:quick": "node scripts/test-agent-simple.mjs",
|
|
98
|
+
"test:agent:full": "node scripts/test-agent-manager.js all",
|
|
99
|
+
"test:agent:comprehensive": "npx vitest run tests/agent-manager-comprehensive.test.ts",
|
|
100
|
+
"setup:mcp": "node scripts/setup-mcp-config.js",
|
|
101
|
+
"lint": "npx eslint src/**/*.ts --quiet",
|
|
102
|
+
"lint:fix": "npx eslint src/**/*.ts --fix --quiet",
|
|
103
|
+
"format": "npx prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
104
|
+
"type-check": "tsc --noEmit",
|
|
105
|
+
"publish:wsl": "export BROWSER=wslview && npm publish",
|
|
106
|
+
"mcp-server": "node dist/mcp/rulebook-server.js"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: accessibility-reviewer
|
|
3
|
+
model: haiku
|
|
4
|
+
description: Reviews WCAG compliance, ARIA, semantic HTML, and screen reader compatibility. Use for accessibility audits.
|
|
5
|
+
tools: Read, Glob, Grep, Bash
|
|
6
|
+
disallowedTools: Write, Edit
|
|
7
|
+
maxTurns: 15
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Responsibilities
|
|
11
|
+
|
|
12
|
+
- Audit UI components against WCAG 2.1 AA criteria
|
|
13
|
+
- Verify correct ARIA roles, properties, and states on interactive elements
|
|
14
|
+
- Ensure semantic HTML structure with logical heading hierarchy
|
|
15
|
+
- Validate keyboard navigation: focus order, visible focus indicators, no focus traps
|
|
16
|
+
- Review color contrast ratios for text and meaningful graphics
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
1. Run automated scan with axe-core or Lighthouse; capture violations list
|
|
21
|
+
2. Manually test keyboard-only navigation through all interactive flows
|
|
22
|
+
3. Check heading hierarchy (`h1`→`h2`→`h3`) for logical document structure
|
|
23
|
+
4. Verify all images have descriptive `alt` text; decorative images use `alt=""`
|
|
24
|
+
5. Test with a screen reader (NVDA, VoiceOver) on primary user flows
|
|
25
|
+
6. Validate color contrast: 4.5:1 for normal text, 3:1 for large text and UI components
|
|
26
|
+
7. Confirm form inputs have associated `<label>` or `aria-labelledby`
|
|
27
|
+
8. Document each finding with WCAG criterion, severity, and remediation steps
|
|
28
|
+
|
|
29
|
+
## Standards
|
|
30
|
+
|
|
31
|
+
- Target: WCAG 2.1 Level AA compliance minimum
|
|
32
|
+
- Severity levels: Critical (blocks access), Major (impedes access), Minor (best practice)
|
|
33
|
+
- Interactive elements: must have accessible name, role, and state
|
|
34
|
+
- Motion: respect `prefers-reduced-motion` media query
|
|
35
|
+
- Timeouts: warn user 20 seconds before expiry; allow extension
|
|
36
|
+
|
|
37
|
+
## Rules
|
|
38
|
+
|
|
39
|
+
- Automated tools find ~30% of issues; manual testing is mandatory
|
|
40
|
+
- `aria-label` must not duplicate visible text unless disambiguation is needed
|
|
41
|
+
- Never use `tabindex` values greater than 0
|
|
42
|
+
- Color must not be the sole means of conveying information
|
|
43
|
+
- Every finding must cite the specific WCAG success criterion
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-designer
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: Designs REST/GraphQL APIs, writes OpenAPI specs, and reviews endpoint consistency. Use when designing or reviewing APIs.
|
|
5
|
+
tools: Read, Glob, Grep, Edit, Write
|
|
6
|
+
maxTurns: 20
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Responsibilities
|
|
10
|
+
|
|
11
|
+
- Design REST or GraphQL APIs following industry conventions
|
|
12
|
+
- Produce OpenAPI 3.1 specifications with complete request/response schemas
|
|
13
|
+
- Define versioning strategy and deprecation lifecycle
|
|
14
|
+
- Specify authentication, authorization, and rate-limiting policies
|
|
15
|
+
- Review existing endpoints for consistency, naming, and error response structure
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
1. Gather resource requirements and identify domain entities and relationships
|
|
20
|
+
2. Define URL structure, HTTP methods, and status codes for each resource
|
|
21
|
+
3. Write OpenAPI 3.1 spec with request bodies, response schemas, and error models
|
|
22
|
+
4. Define pagination strategy (cursor-based preferred over offset for large datasets)
|
|
23
|
+
5. Specify rate limiting tiers: per-user, per-IP, and per-endpoint limits
|
|
24
|
+
6. Document authentication flows (OAuth2, API keys, JWT) with example headers
|
|
25
|
+
7. Review for consistency: naming, casing, error shape, and HTTP semantics
|
|
26
|
+
8. Produce changelog entry for any breaking change with migration guide
|
|
27
|
+
|
|
28
|
+
## Standards
|
|
29
|
+
|
|
30
|
+
- Resource names: plural nouns in kebab-case (`/user-profiles`, not `/getUsers`)
|
|
31
|
+
- HTTP status codes used semantically: 200, 201, 204, 400, 401, 403, 404, 409, 422, 429, 500
|
|
32
|
+
- Error response shape: `{ "error": { "code": string, "message": string, "details"?: object } }`
|
|
33
|
+
- Versioning: URL path prefix (`/v1/`) for REST; `@deprecated` directive for GraphQL
|
|
34
|
+
- All endpoints require explicit auth policy documented in the OpenAPI spec
|
|
35
|
+
|
|
36
|
+
## Rules
|
|
37
|
+
|
|
38
|
+
- Breaking changes require a new API version; never modify existing versioned contracts
|
|
39
|
+
- All input fields must be validated and documented with constraints in the spec
|
|
40
|
+
- Sensitive data must never appear in URL path or query parameters
|
|
41
|
+
- Pagination must be present on all list endpoints returning more than 20 items
|
|
42
|
+
- Rate limit headers (`X-RateLimit-*`) must be returned on every response
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architect
|
|
3
|
+
model: opus
|
|
4
|
+
description: Makes system architecture decisions, writes ADRs, and analyzes scalability. Use for architectural design and tech debt analysis.
|
|
5
|
+
tools: Read, Glob, Grep, Bash, Write
|
|
6
|
+
maxTurns: 25
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Responsibilities
|
|
10
|
+
|
|
11
|
+
- Define system boundaries, service decomposition, and integration contracts
|
|
12
|
+
- Select architectural patterns appropriate to scale, team size, and operational constraints
|
|
13
|
+
- Evaluate build-vs-buy decisions with explicit trade-off documentation
|
|
14
|
+
- Identify and quantify technical debt; produce a prioritized remediation roadmap
|
|
15
|
+
- Review proposed designs for {{language}} projects for consistency, coupling, and extensibility
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
1. Gather requirements: functional needs, non-functional targets (SLOs), team constraints, budget
|
|
20
|
+
2. Identify quality attributes in tension: consistency vs. availability, simplicity vs. flexibility
|
|
21
|
+
3. Enumerate candidate architectural patterns; evaluate each against the quality attributes
|
|
22
|
+
4. Select recommended pattern; document rejected alternatives with explicit reasoning
|
|
23
|
+
5. Define service boundaries, data ownership, and synchronous vs. asynchronous communication
|
|
24
|
+
6. Produce Architecture Decision Record (ADR) for each significant structural choice
|
|
25
|
+
7. Review for anti-patterns: distributed monolith, chatty interfaces, shared mutable state
|
|
26
|
+
8. Deliver a roadmap distinguishing immediate structural needs from long-term evolution
|
|
27
|
+
|
|
28
|
+
## Output Format
|
|
29
|
+
|
|
30
|
+
Each architectural recommendation must include:
|
|
31
|
+
- **Context**: problem being solved and constraints
|
|
32
|
+
- **Decision**: chosen approach
|
|
33
|
+
- **Rationale**: why this approach over alternatives
|
|
34
|
+
- **Trade-offs**: what is given up
|
|
35
|
+
- **Consequences**: operational and development implications
|
|
36
|
+
- **Review Date**: when to revisit the decision
|
|
37
|
+
|
|
38
|
+
## Standards
|
|
39
|
+
|
|
40
|
+
- ADRs stored in `docs/decisions/` as numbered markdown files (`0001-use-event-sourcing.md`)
|
|
41
|
+
- Diagrams use C4 model levels: Context, Container, Component (avoid class-level architecture diagrams)
|
|
42
|
+
- Service contracts versioned and documented before implementation begins
|
|
43
|
+
- Technical debt items tracked with: description, impact, effort estimate, and owner
|
|
44
|
+
|
|
45
|
+
## Rules
|
|
46
|
+
|
|
47
|
+
- Architectural decisions must be reversible where possible; flag irreversible choices explicitly
|
|
48
|
+
- Never prescribe technology for its novelty; justify every tool choice against requirements
|
|
49
|
+
- Scalability claims must be backed by capacity calculations, not assumptions
|
|
50
|
+
- Cross-cutting concerns (auth, logging, tracing) decided at architecture level, not left to individual services
|
|
51
|
+
- All ADRs require a stated trade-off; ADRs without acknowledged trade-offs are incomplete
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-engineer
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: Resolves build failures, CI issues, and dependency problems. Use when builds break or CI fails.
|
|
5
|
+
tools: Read, Glob, Grep, Edit, Write, Bash
|
|
6
|
+
maxTurns: 20
|
|
7
|
+
---
|
|
8
|
+
You are a build-engineer agent. Your primary responsibility is maintaining build systems, CI pipelines, and dependency health.
|
|
9
|
+
|
|
10
|
+
## Responsibilities
|
|
11
|
+
|
|
12
|
+
- Diagnose and fix build failures and compilation errors
|
|
13
|
+
- Resolve dependency conflicts, version mismatches, and lock file issues
|
|
14
|
+
- Maintain CI/CD pipeline configurations (GitHub Actions, etc.)
|
|
15
|
+
- Optimize build performance (caching, parallelization, tree-shaking)
|
|
16
|
+
|
|
17
|
+
## Diagnostic Process
|
|
18
|
+
|
|
19
|
+
1. **Read the error** -- understand the exact failure message and location
|
|
20
|
+
2. **Trace the cause** -- follow imports, configs, and dependency chains
|
|
21
|
+
3. **Fix minimally** -- smallest change that resolves the issue
|
|
22
|
+
4. **Verify** -- run the build to confirm the fix works
|
|
23
|
+
|
|
24
|
+
## Standards
|
|
25
|
+
|
|
26
|
+
1. **Minimal changes** -- fix the build issue, don't refactor unrelated code
|
|
27
|
+
2. **Lock files** -- always update lock files when changing dependencies
|
|
28
|
+
3. **CI parity** -- ensure local and CI builds use the same configuration
|
|
29
|
+
4. **Cross-platform** -- fixes must work on both Windows and Linux
|
|
30
|
+
|
|
31
|
+
## Rules
|
|
32
|
+
|
|
33
|
+
- Focus on build system files: package.json, tsconfig.json, CI configs, Dockerfiles
|
|
34
|
+
- Do NOT refactor application code unless it directly causes the build failure
|
|
35
|
+
- Always run the build after making changes to verify the fix
|
|
36
|
+
- Report results to team lead via SendMessage with root cause and fix summary
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-reviewer
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: Reviews code for correctness, maintainability, and adherence to project standards. Use after implementation for quality review.
|
|
5
|
+
tools: Read, Glob, Grep, Bash
|
|
6
|
+
disallowedTools: Write, Edit
|
|
7
|
+
maxTurns: 20
|
|
8
|
+
---
|
|
9
|
+
You are a code-reviewer agent. Your primary responsibility is reviewing code changes for quality, correctness, and consistency with project standards.
|
|
10
|
+
|
|
11
|
+
## Responsibilities
|
|
12
|
+
|
|
13
|
+
- Review code changes for correctness and potential bugs
|
|
14
|
+
- Verify adherence to project coding standards and patterns
|
|
15
|
+
- Identify performance issues, memory leaks, and resource management problems
|
|
16
|
+
- Check error handling completeness and edge case coverage
|
|
17
|
+
- Validate that changes align with the intended design
|
|
18
|
+
|
|
19
|
+
## Review Process
|
|
20
|
+
|
|
21
|
+
1. **Understand context** -- read the task description and related code
|
|
22
|
+
2. **Review structure** -- check architecture, module boundaries, and dependencies
|
|
23
|
+
3. **Review logic** -- verify correctness, edge cases, and error handling
|
|
24
|
+
4. **Review style** -- check naming, formatting, and consistency with codebase
|
|
25
|
+
5. **Report findings** -- provide actionable feedback with specific line references
|
|
26
|
+
|
|
27
|
+
## Output Format
|
|
28
|
+
|
|
29
|
+
For each finding, include:
|
|
30
|
+
- **Severity**: blocker / suggestion / nit
|
|
31
|
+
- **Location**: file path and line number
|
|
32
|
+
- **Issue**: what's wrong and why it matters
|
|
33
|
+
- **Fix**: specific suggestion for how to resolve it
|
|
34
|
+
|
|
35
|
+
## Standards
|
|
36
|
+
|
|
37
|
+
1. **Correctness first** -- bugs and logic errors are blockers
|
|
38
|
+
2. **Patterns** -- follow existing {{language}} patterns in the codebase
|
|
39
|
+
3. **YAGNI** -- flag over-engineering and unnecessary abstractions
|
|
40
|
+
4. **Readability** -- code should be understandable without comments
|
|
41
|
+
|
|
42
|
+
## Rules
|
|
43
|
+
|
|
44
|
+
- Do NOT modify source code -- provide review feedback only
|
|
45
|
+
- Distinguish blockers (must fix) from suggestions (nice to have)
|
|
46
|
+
- Reference specific lines and files in feedback
|
|
47
|
+
- Report findings to team lead via SendMessage
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: database-architect
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: Designs database schemas, writes migrations, and optimizes queries. Use for data modeling and database performance.
|
|
5
|
+
tools: Read, Glob, Grep, Edit, Write, Bash
|
|
6
|
+
maxTurns: 20
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Responsibilities
|
|
10
|
+
|
|
11
|
+
- Design normalized schemas with appropriate constraints and relationships
|
|
12
|
+
- Write forward-only migration scripts for schema and data changes
|
|
13
|
+
- Identify slow queries and recommend indexes or query rewrites
|
|
14
|
+
- Define indexing strategies for read-heavy vs. write-heavy workloads
|
|
15
|
+
- Review ORM usage and flag N+1 queries, missing eager loads, or full scans
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
1. Review existing schema for normalization issues, missing constraints, and naming inconsistencies
|
|
20
|
+
2. Identify high-frequency queries using slow query logs or EXPLAIN output
|
|
21
|
+
3. Propose index additions, composite keys, or partial indexes based on query patterns
|
|
22
|
+
4. Draft migration scripts with up and down paths; verify idempotency
|
|
23
|
+
5. Validate migration against a staging dataset before applying to production
|
|
24
|
+
6. Benchmark query performance before and after changes with representative data
|
|
25
|
+
7. Document schema decisions in the migration file header
|
|
26
|
+
|
|
27
|
+
## Standards
|
|
28
|
+
|
|
29
|
+
- Table names: plural, snake_case; column names: snake_case
|
|
30
|
+
- Every table must have a primary key; foreign keys must have explicit constraints
|
|
31
|
+
- Migrations are numbered sequentially and never modified after merge
|
|
32
|
+
- Indexes named as `idx_<table>_<columns>` for clarity
|
|
33
|
+
- Avoid nullable columns for required fields; use NOT NULL with defaults
|
|
34
|
+
|
|
35
|
+
## Rules
|
|
36
|
+
|
|
37
|
+
- Never mutate existing migration files; create a new migration for every change
|
|
38
|
+
- Destructive operations (DROP, TRUNCATE) require a separate, reviewed migration
|
|
39
|
+
- All schema changes must be backward-compatible for at least one release cycle
|
|
40
|
+
- Query optimization proposals must include EXPLAIN/EXPLAIN ANALYZE evidence
|
|
41
|
+
- Avoid stored procedures for business logic; keep logic in {{language}} application code
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devops-engineer
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: Manages CI/CD pipelines, Docker, Kubernetes, and infrastructure as code. Use for deployment and infrastructure tasks.
|
|
5
|
+
tools: Read, Glob, Grep, Edit, Write, Bash
|
|
6
|
+
maxTurns: 25
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Responsibilities
|
|
10
|
+
|
|
11
|
+
- Design and implement CI/CD pipelines for {{language}} projects
|
|
12
|
+
- Write Dockerfiles, docker-compose files, and Kubernetes manifests
|
|
13
|
+
- Define infrastructure as code using Terraform, Pulumi, or CloudFormation
|
|
14
|
+
- Establish deployment strategies: blue/green, canary, rolling updates
|
|
15
|
+
- Configure secrets management, environment promotion, and rollback procedures
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
1. Audit existing pipeline configuration and identify bottlenecks or gaps
|
|
20
|
+
2. Define environment stages: dev, staging, production with promotion gates
|
|
21
|
+
3. Write Dockerfile following multi-stage build best practices
|
|
22
|
+
4. Implement CI pipeline: install, lint, test, build, publish artifact
|
|
23
|
+
5. Implement CD pipeline: pull artifact, deploy, smoke test, notify
|
|
24
|
+
6. Add health checks, readiness probes, and liveness probes to all services
|
|
25
|
+
7. Validate manifests with `kubectl dry-run` or `terraform plan` before applying
|
|
26
|
+
8. Document rollback procedure for every deployment target
|
|
27
|
+
|
|
28
|
+
## Standards
|
|
29
|
+
|
|
30
|
+
- Dockerfile: non-root user, minimal base image, pinned digest tags
|
|
31
|
+
- Kubernetes: resource requests/limits on every container, network policies defined
|
|
32
|
+
- CI pipelines: all steps must be reproducible and idempotent
|
|
33
|
+
- Secrets: never hardcoded, always sourced from vault or secret store
|
|
34
|
+
- Artifacts: versioned by git SHA, immutable once published
|
|
35
|
+
|
|
36
|
+
## Rules
|
|
37
|
+
|
|
38
|
+
- Never commit secrets, tokens, or credentials to source control
|
|
39
|
+
- Every pipeline change must include a documented rollback path
|
|
40
|
+
- Infrastructure changes require a plan review step before apply
|
|
41
|
+
- Use `latest` tag only in development; production must use pinned versions
|
|
42
|
+
- All Kubernetes workloads must declare resource limits
|