easyeda-mcp-pro 0.26.0 → 0.28.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.
@@ -349,9 +349,9 @@ export type PcbIntent = z.infer<typeof PcbIntentSchema>;
349
349
  export declare const ManufacturingIntentSchema: z.ZodObject<{
350
350
  quantity: z.ZodOptional<z.ZodNumber>;
351
351
  process: z.ZodOptional<z.ZodEnum<{
352
+ mixed: "mixed";
352
353
  "lead-free": "lead-free";
353
354
  "lead-based": "lead-based";
354
- mixed: "mixed";
355
355
  }>>;
356
356
  timelineWeeks: z.ZodOptional<z.ZodNumber>;
357
357
  notes: z.ZodOptional<z.ZodString>;
@@ -673,9 +673,9 @@ export declare const CircuitIRSchema: z.ZodObject<{
673
673
  manufacturing: z.ZodDefault<z.ZodObject<{
674
674
  quantity: z.ZodOptional<z.ZodNumber>;
675
675
  process: z.ZodOptional<z.ZodEnum<{
676
+ mixed: "mixed";
676
677
  "lead-free": "lead-free";
677
678
  "lead-based": "lead-based";
678
- mixed: "mixed";
679
679
  }>>;
680
680
  timelineWeeks: z.ZodOptional<z.ZodNumber>;
681
681
  notes: z.ZodOptional<z.ZodString>;
@@ -60,9 +60,9 @@ export declare const DesignIntentSchema: z.ZodObject<{
60
60
  "mass-production": "mass-production";
61
61
  }>>;
62
62
  process: z.ZodOptional<z.ZodEnum<{
63
+ mixed: "mixed";
63
64
  "lead-free": "lead-free";
64
65
  "lead-based": "lead-based";
65
- mixed: "mixed";
66
66
  }>>;
67
67
  timelineWeeks: z.ZodOptional<z.ZodNumber>;
68
68
  notes: z.ZodOptional<z.ZodString>;
@@ -3,35 +3,35 @@ export const PROFILE_DEFINITIONS = {
3
3
  name: 'core',
4
4
  label: 'Core',
5
5
  description: 'High-confidence tools: diagnostics, EasyEDA API inventory, schematic, BOM, DRC/ERC, board layers/stackup, Gerber export',
6
- approxToolCount: '60',
6
+ approxToolCount: '62',
7
7
  isDefault: true,
8
8
  },
9
9
  pro: {
10
10
  name: 'pro',
11
11
  label: 'Pro',
12
12
  description: 'Adds pick-and-place, PDF, netlist export, compound transactional workflow tools, autorouting, route-context export, and offline SPICE verification for manufacturing workflows',
13
- approxToolCount: '76',
13
+ approxToolCount: '78',
14
14
  isDefault: false,
15
15
  },
16
16
  full: {
17
17
  name: 'full',
18
18
  label: 'Full',
19
19
  description: 'Adds controlled documented EasyEDA API method calls and CircuitIR-driven floorplanning for full runtime control without raw JavaScript execution',
20
- approxToolCount: '88',
20
+ approxToolCount: '90',
21
21
  isDefault: false,
22
22
  },
23
23
  dev: {
24
24
  name: 'dev',
25
25
  label: 'Dev',
26
26
  description: 'Adds diagnostics probes for bridge methods and live component runtime shape inspection',
27
- approxToolCount: '93',
27
+ approxToolCount: '95',
28
28
  isDefault: false,
29
29
  },
30
30
  experimental: {
31
31
  name: 'experimental',
32
32
  label: 'Experimental',
33
33
  description: 'MCP Apps, Tasks, AI action plans',
34
- approxToolCount: '93',
34
+ approxToolCount: '95',
35
35
  isDefault: false,
36
36
  },
37
37
  };
@@ -1 +1 @@
1
- export declare const SERVER_VERSION = "0.26.0";
1
+ export declare const SERVER_VERSION = "0.28.0";
@@ -1,2 +1,2 @@
1
- export const SERVER_VERSION = '0.26.0'; // x-release-please-version
1
+ export const SERVER_VERSION = '0.28.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.js.map
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  import { validateNets } from '../net-validation/validation.js';
3
3
  import { classifyNetType, classifyPinElectricalType } from '../net-validation/pin-classifier.js';
4
4
  import { analyzePowerTree } from '../power-tree/index.js';
5
+ import { classifyPostWriteQa } from '../workflows/schematic-post-write-qa.js';
5
6
  import { fetchComponentPins } from './schematic-helpers.js';
6
7
  /** Shared error/warning mapper for both the hand-authored and auto-extracted
7
8
  * semantic ERC tools — same NetValidationIssue shape, same response fields. */
@@ -608,6 +609,175 @@ function registerDrcErcTools(registry, _config) {
608
609
  };
609
610
  },
610
611
  });
612
+ const qaViolationSchema = z.object({
613
+ rule: z.string().optional(),
614
+ description: z.string().optional(),
615
+ message: z.string().optional(),
616
+ severity: z.enum(['error', 'warning', 'info']).optional(),
617
+ net: z.string().optional(),
618
+ component: z.string().optional(),
619
+ });
620
+ const qaRunOverrideSchema = z.object({
621
+ not_available: z.boolean().optional(),
622
+ error: z.string().optional(),
623
+ violations: z.array(qaViolationSchema).optional(),
624
+ total_violations: z.number().int().nonnegative().optional(),
625
+ error_count: z.number().int().nonnegative().optional(),
626
+ warning_count: z.number().int().nonnegative().optional(),
627
+ passed: z.boolean().optional(),
628
+ inferred_floating_pins: z
629
+ .array(z.object({
630
+ primitiveId: z.string().optional(),
631
+ designator: z.string().optional(),
632
+ pinNumber: z.string().optional(),
633
+ }))
634
+ .optional(),
635
+ });
636
+ registry.register({
637
+ name: 'easyeda_post_write_qa',
638
+ title: 'Classify post-write schematic QA results',
639
+ description: 'Run and classify post-write schematic QA after generated edits. Combines native DRC/ERC results ' +
640
+ 'with policy-aware classification so duplicate net names, free networks, and unconnected pins are ' +
641
+ 'reported as pass/fail/inconclusive instead of raw warning counts.',
642
+ profile: 'core',
643
+ evidence: ['runtime-probe', 'inferred'],
644
+ risk: 'medium',
645
+ confirmWrite: false,
646
+ group: 'drc-erc',
647
+ version: '1.0.0',
648
+ annotations: {
649
+ readOnlyHint: false,
650
+ destructiveHint: false,
651
+ idempotentHint: true,
652
+ },
653
+ inputSchema: z.object({
654
+ projectId: z.string(),
655
+ policy: z.enum(['circuit', 'diagnostic-fixture']).default('circuit'),
656
+ useNativeChecks: z.boolean().default(true),
657
+ manualDrcMessages: z
658
+ .array(z.string())
659
+ .optional()
660
+ .describe('Optional user-copied EasyEDA DRC log lines for classification when native details are unavailable'),
661
+ manualErcMessages: z
662
+ .array(z.string())
663
+ .optional()
664
+ .describe('Optional user-copied EasyEDA ERC log lines for classification when native details are unavailable'),
665
+ drc: qaRunOverrideSchema
666
+ .optional()
667
+ .describe('Optional explicit DRC result override for tests or log ingestion'),
668
+ erc: qaRunOverrideSchema
669
+ .optional()
670
+ .describe('Optional explicit ERC result override for tests or log ingestion'),
671
+ }),
672
+ outputSchema: z.object({
673
+ project_id: z.string(),
674
+ status: z.enum(['pass', 'fail', 'inconclusive']),
675
+ passed: z.boolean(),
676
+ policy: z.enum(['circuit', 'diagnostic-fixture']),
677
+ issue_count: z.number().int().nonnegative(),
678
+ fatal_count: z.number().int().nonnegative(),
679
+ warning_count: z.number().int().nonnegative(),
680
+ inconclusive_count: z.number().int().nonnegative(),
681
+ categories: z.record(z.string(), z.number().int().nonnegative()),
682
+ issues: z.array(z.object({
683
+ source: z.enum(['drc', 'erc', 'layout', 'manual-log']),
684
+ category: z.string(),
685
+ severity: z.enum(['error', 'warning', 'info']),
686
+ fatal: z.boolean(),
687
+ message: z.string(),
688
+ rule: z.string().optional(),
689
+ net: z.string().optional(),
690
+ component: z.string().optional(),
691
+ remediation_hint: z.string(),
692
+ })),
693
+ summary: z.string(),
694
+ detail_source: z.enum(['native', 'manual', 'override', 'mixed']).optional(),
695
+ }),
696
+ handler: async (ctx, params) => {
697
+ const p = z
698
+ .object({
699
+ projectId: z.string(),
700
+ policy: z.enum(['circuit', 'diagnostic-fixture']).default('circuit'),
701
+ useNativeChecks: z.boolean().default(true),
702
+ manualDrcMessages: z.array(z.string()).optional(),
703
+ manualErcMessages: z.array(z.string()).optional(),
704
+ drc: qaRunOverrideSchema.optional(),
705
+ erc: qaRunOverrideSchema.optional(),
706
+ })
707
+ .parse(params ?? {});
708
+ const manualDrc = p.manualDrcMessages?.map((description) => ({
709
+ description,
710
+ severity: 'warning',
711
+ }));
712
+ const manualErc = p.manualErcMessages?.map((description) => ({
713
+ description,
714
+ severity: 'warning',
715
+ }));
716
+ let drc = p.drc ??
717
+ (manualDrc ? { violations: manualDrc, total_violations: manualDrc.length } : undefined);
718
+ let erc = p.erc ??
719
+ (manualErc ? { violations: manualErc, total_violations: manualErc.length } : undefined);
720
+ let nativeUsed = false;
721
+ if (p.useNativeChecks) {
722
+ if (!drc) {
723
+ try {
724
+ const result = (await ctx.bridge.call('design.drc', { projectId: p.projectId }));
725
+ drc = {
726
+ violations: result.violations?.map((v) => ({
727
+ ...v,
728
+ severity: v.severity === 'error' || v.severity === 'warning' || v.severity === 'info'
729
+ ? v.severity
730
+ : undefined,
731
+ })),
732
+ total_violations: result.totalViolations,
733
+ error_count: result.errorCount,
734
+ warning_count: result.warningCount,
735
+ };
736
+ nativeUsed = true;
737
+ }
738
+ catch (err) {
739
+ drc = { not_available: true, error: err instanceof Error ? err.message : String(err) };
740
+ }
741
+ }
742
+ if (!erc) {
743
+ try {
744
+ const result = (await ctx.bridge.call('design.erc', { projectId: p.projectId }));
745
+ erc = {
746
+ violations: result.violations?.map((v) => ({
747
+ ...v,
748
+ severity: v.severity === 'error' || v.severity === 'warning' || v.severity === 'info'
749
+ ? v.severity
750
+ : undefined,
751
+ })),
752
+ total_violations: result.totalViolations,
753
+ error_count: result.errorCount,
754
+ warning_count: result.warningCount,
755
+ inferred_floating_pins: result.inferredFloatingPins,
756
+ };
757
+ nativeUsed = true;
758
+ }
759
+ catch (err) {
760
+ erc = { not_available: true, error: err instanceof Error ? err.message : String(err) };
761
+ }
762
+ }
763
+ }
764
+ const summary = classifyPostWriteQa({ projectId: p.projectId, policy: p.policy, drc, erc });
765
+ const hasManual = Boolean(p.manualDrcMessages?.length || p.manualErcMessages?.length);
766
+ const hasOverride = Boolean(p.drc || p.erc);
767
+ return {
768
+ ...summary,
769
+ detail_source: [nativeUsed, hasManual, hasOverride].filter(Boolean).length > 1
770
+ ? 'mixed'
771
+ : nativeUsed
772
+ ? 'native'
773
+ : hasManual
774
+ ? 'manual'
775
+ : hasOverride
776
+ ? 'override'
777
+ : undefined,
778
+ };
779
+ },
780
+ });
611
781
  registry.register({
612
782
  name: 'easyeda_rule_check_summary',
613
783
  title: 'Get rule check summary',
@@ -1 +1 @@
1
- {"version":3,"file":"L1_drc_erc.js","sourceRoot":"","sources":["../../src/tools/L1_drc_erc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"L1_drc_erc.js","sourceRoot":"","sources":["../../src/tools/L1_drc_erc.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,18 @@
1
1
  import { z } from 'zod';
2
2
  import { fetchComponentPins } from './schematic-helpers.js';
3
3
  import { scanSheetForPinCollisions } from '../workflows/collision.js';
4
+ import { planSafeSchematicRegion } from '../workflows/schematic-safe-region.js';
5
+ const schematicRegionPreferenceSchema = z.enum([
6
+ 'upper-left',
7
+ 'upper-center',
8
+ 'upper-right',
9
+ 'center-left',
10
+ 'center',
11
+ 'center-right',
12
+ 'lower-left',
13
+ 'lower-center',
14
+ 'lower-right',
15
+ ]);
4
16
  const searchDeviceInputSchema = z.object({
5
17
  key: z
6
18
  .string()
@@ -526,6 +538,129 @@ function registerSchematicReadTools(registry, _config) {
526
538
  }
527
539
  },
528
540
  });
541
+ registry.register({
542
+ name: 'easyeda_schematic_plan_safe_region',
543
+ title: 'Plan safe schematic drawing region',
544
+ description: 'Compute a safe schematic drawing region before placing components. Uses live sheet info when available, assumes EasyEDA bottom-left coordinates, reserves the default lower-right title-block keep-out, and returns an anchor/bounds plan that avoids title-block overlap.',
545
+ profile: 'core',
546
+ evidence: ['runtime-probe', 'inferred'],
547
+ risk: 'low',
548
+ confirmWrite: false,
549
+ group: 'schematic',
550
+ version: '1.0.0',
551
+ annotations: {
552
+ readOnlyHint: true,
553
+ idempotentHint: true,
554
+ },
555
+ inputSchema: z.object({
556
+ projectId: z.string().optional(),
557
+ contentWidth: z
558
+ .number()
559
+ .positive()
560
+ .describe('Estimated width of the planned circuit block in EasyEDA coordinates'),
561
+ contentHeight: z
562
+ .number()
563
+ .positive()
564
+ .describe('Estimated height of the planned circuit block in EasyEDA coordinates'),
565
+ preferredRegion: schematicRegionPreferenceSchema.default('upper-left'),
566
+ margin: z.number().positive().optional(),
567
+ titleBlockKeepout: z
568
+ .object({
569
+ x: z.number(),
570
+ y: z.number(),
571
+ width: z.number().positive(),
572
+ height: z.number().positive(),
573
+ })
574
+ .optional()
575
+ .describe('Optional explicit title-block keep-out rectangle when the sheet template is known'),
576
+ }),
577
+ outputSchema: z.object({
578
+ project_id: z.string().optional(),
579
+ blocked: z.boolean(),
580
+ preferred_region: z.string(),
581
+ sheet: z.object({
582
+ width: z.number(),
583
+ height: z.number(),
584
+ unit: z.string(),
585
+ origin: z.string(),
586
+ source: z.string(),
587
+ }),
588
+ usable_bounds: z.object({
589
+ x: z.number(),
590
+ y: z.number(),
591
+ width: z.number(),
592
+ height: z.number(),
593
+ }),
594
+ requested_bounds: z.object({
595
+ x: z.number(),
596
+ y: z.number(),
597
+ width: z.number(),
598
+ height: z.number(),
599
+ }),
600
+ bounds: z.object({ x: z.number(), y: z.number(), width: z.number(), height: z.number() }),
601
+ anchor: z.object({ x: z.number(), y: z.number() }),
602
+ keepouts: z.array(z.object({
603
+ x: z.number(),
604
+ y: z.number(),
605
+ width: z.number(),
606
+ height: z.number(),
607
+ kind: z.string(),
608
+ })),
609
+ warnings: z.array(z.string()),
610
+ issues: z.array(z.object({ code: z.string(), message: z.string() })),
611
+ not_available: z.boolean().optional(),
612
+ error: z.string().optional(),
613
+ }),
614
+ handler: async (ctx, params) => {
615
+ const p = z
616
+ .object({
617
+ projectId: z.string().optional(),
618
+ contentWidth: z.number().positive(),
619
+ contentHeight: z.number().positive(),
620
+ preferredRegion: schematicRegionPreferenceSchema.default('upper-left'),
621
+ margin: z.number().positive().optional(),
622
+ titleBlockKeepout: z
623
+ .object({
624
+ x: z.number(),
625
+ y: z.number(),
626
+ width: z.number().positive(),
627
+ height: z.number().positive(),
628
+ })
629
+ .optional(),
630
+ })
631
+ .parse(params ?? {});
632
+ let sheetInfo;
633
+ try {
634
+ sheetInfo = await ctx.bridge.call('schematic.getSheetInfo', { projectId: p.projectId });
635
+ }
636
+ catch {
637
+ // Degrade to the conservative A4 default rather than blocking preview
638
+ // planning, because this tool is often used before a live sheet is fully ready.
639
+ sheetInfo = undefined;
640
+ }
641
+ const plan = planSafeSchematicRegion({
642
+ sheetInfo,
643
+ contentWidth: p.contentWidth,
644
+ contentHeight: p.contentHeight,
645
+ preferredRegion: p.preferredRegion,
646
+ margin: p.margin,
647
+ titleBlockKeepout: p.titleBlockKeepout,
648
+ });
649
+ return {
650
+ project_id: p.projectId,
651
+ blocked: plan.blocked,
652
+ preferred_region: plan.preferredRegion,
653
+ sheet: plan.sheet,
654
+ usable_bounds: plan.usableBounds,
655
+ requested_bounds: plan.requestedBounds,
656
+ bounds: plan.bounds,
657
+ anchor: plan.anchor,
658
+ keepouts: plan.keepouts,
659
+ warnings: plan.warnings,
660
+ issues: plan.issues,
661
+ };
662
+ },
663
+ });
529
664
  registry.register({
530
665
  name: 'easyeda_schematic_verify_write',
531
666
  title: 'Verify schematic write result',
@@ -1 +1 @@
1
- {"version":3,"file":"L1_schematic_read.js","sourceRoot":"","sources":["../../src/tools/L1_schematic_read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,CAAC,2EAA2E,CAAC;IACxF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F;QACzF,yFAAyF;QACzF,oEAAoE,CACvE;CACJ,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC;KACD,WAAW,EAAE,CAAC;AAIjB,MAAM,wBAAwB,GAAG;IAC/B,WAAW;IACX,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,UAAU;CACF,CAAC;AAEX,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAExF,MAAM,0BAA0B,GAAG;IACjC,aAAa;IACb,YAAY;IACZ,MAAM;IACN,YAAY;IACZ,kBAAkB;IAClB,YAAY;CACJ,CAAC;AAEX,SAAS,0BAA0B,CACjC,IAAsB,EACtB,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAsB,EACtB,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACrF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAsB,EACtB,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;AAEjG,SAAS,yBAAyB,CAAC,IAAa;IAC9C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAEnF,MAAM,UAAU,GAAqB,EAAE,GAAI,IAAyB,EAAE,CAAC;IACvE,MAAM,QAAQ,GACZ,0BAA0B,CAAC,UAAU,EAAE,wBAAwB,CAAC;QAChE,+BAA+B,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IACxE,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC;IAE5D,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;IACtF,IAAI,UAAU;QAAE,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC;IAEpD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;sDACsD;AACtD,SAAS,uBAAuB,CAAC,IAAsB;IACrD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5D,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACjF,MAAM,IAAI,GAAG,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACpE,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACrE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC3E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAqD,EACrD,OAAkB;IAElB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SAC3D,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;gBACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;oBACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;oBACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;iBAChB,CAAC,CACH;aACF,CAAC,CACH;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,GAAG,MAA+B,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,MAGX,CAAC;gBACH,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC7B,QAAQ,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;wBACzB,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;wBAChC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BAClC,aAAa,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;4BACjC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE;yBAClB,CAAC,CAAC;qBACJ,CAAC,CAAC;oBACH,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;iBACzB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,IAAI,EAAE,EAAE;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,yFAAyF;YACzF,2FAA2F;YAC3F,iEAAiE;QACnE,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAClD,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,UAAU,EAAE,CAAC,CAAC,KAAK,CACjB,CAAC,CAAC,MAAM,CAAC;gBACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACnC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACjC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACjC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAChC,CAAC,CACH;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAIpC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;oBAC/D,SAAS;oBACT,KAAK;oBACL,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAmBrC,CAAC;gBACF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;wBAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;wBACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;wBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;wBAChC,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;wBACtC,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;oBACH,KAAK,EAAE,WAAW,IAAI,KAAK,CAAC,MAAM;iBACnC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,EAAE;oBACd,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,uFAAuF;YACvF,iFAAiF;YACjF,oFAAoF;QACtF,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAClD,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;gBACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAClC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACjC,CAAC,CACH;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAIpC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC/E,MAAM,IAAI,GAAG,MAUZ,CAAC;gBACF,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACtC,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;oBACH,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;iBAC/C,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,mGAAmG;QACrG,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;gBACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;gBACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,CAAC,CACH;YACD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAgD,CAAC;YAChF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvF,MAAM,GAAG,GAAG,MAGX,CAAC;gBACF,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,OAAO;wBACL,UAAU,EAAE,SAAS;wBACrB,QAAQ,EAAE,OAAO;wBACjB,UAAU,EAAE,CAAC;wBACb,KAAK,EAAE,EAAE;wBACT,aAAa,EAAE,IAAI;qBACpB,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,QAAQ,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;oBAChC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;oBAClC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpC,aAAa,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;wBACjC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE;qBAClB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE,EAAE;oBACT,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,wFAAwF;YACxF,yFAAyF;YACzF,6EAA6E;QAC/E,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC;iBACE,MAAM,CAAC;gBACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACnC,CAAC;iBACD,WAAW,EAAE,CACjB;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC;6FACiF;YACjF,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;YACpD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAChF,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAC7D,GAAG;oBACH,WAAW;oBACX,cAAc;oBACd,UAAU;oBACV,WAAW;oBACX,IAAI;iBACL,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC/E,OAAO;oBACL,OAAO;oBACP,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,aAAa,EAAE,eAAwB;iBACxC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,oIAAoI;QACtI,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,CAAC;iBACT,MAAM,CAAC;gBACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B,CAAC;iBACD,QAAQ,EAAE;YACb,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC5B,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC3B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC9E,MAAM,IAAI,GACR,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC5D,CAAC,CAAE,MAAkC;oBACrC,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,OAAO,GACX,IAAI,CAAC,WAAW;oBAChB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;oBACpC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC9B,CAAC,CAAE,IAAI,CAAC,WAAuC;oBAC/C,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,UAAU,GAAG,CAAC,IAAc,EAAsB,EAAE;oBACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAAE,OAAO,KAAK,CAAC;wBACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;4BACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gCAAE,OAAO,MAAM,CAAC;wBAC7C,CAAC;oBACH,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC;gBACF,MAAM,UAAU,GAAG,CAAC,IAAc,EAAsB,EAAE;oBACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;4BAAE,OAAO,KAAK,CAAC;oBAC9D,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC;gBACF,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE;wBACT,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;wBAC5D,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;wBAChE,IAAI,EAAE,UAAU,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;qBAChD;oBACD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK;oBACxD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM;oBAC7D,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI;oBACnD,GAAG,EAAE,MAAM;iBACZ,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,+BAA+B;QACtC,WAAW,EACT,oMAAoM;QACtM,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;YAC/D,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YACxD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACzC,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE;YACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;YAC1D,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YAClD,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;YAC9B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC1C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,CAAC;iBACR,MAAM,CAAC;gBACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC9B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/D,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACxD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACzC,CAAC;iBACD,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,cAAkC,CAAC;YACvC,IAAI,mBAAuC,CAAC;YAC5C,IAAI,qBAA0C,CAAC;YAC/C,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,IAAI,iBAA0B,CAAC;YAE/B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;oBACnE,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,CAAC;iBACV,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;oBACnC,IAAI,CAAC,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBACzC,mBAAmB,GAAG,cAAc,GAAG,CAAC,CAAC,oBAAoB,CAAC;wBAC9D,IAAI,CAAC,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;4BAChD,qBAAqB,GAAG,mBAAmB,KAAK,CAAC,CAAC,2BAA2B,CAAC;4BAC9E,IAAI,CAAC,qBAAqB,EAAE,CAAC;gCAC3B,QAAQ,CAAC,IAAI,CACX,kCAAkC,CAAC,CAAC,2BAA2B,SAAS,mBAAmB,GAAG,CAC/F,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CACX,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,iBAAiB,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBACrE,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,KAAK;iBAC9C,CAAC,CAAC;gBACH,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CACX,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,QAAQ,EAAE,CAAC,CAAC,OAAO;gBACnB,oBAAoB,EAAE,mBAAmB;gBACzC,eAAe,EAAE,cAAc;gBAC/B,qBAAqB,EAAE,mBAAmB;gBAC1C,uBAAuB,EAAE,qBAAqB;gBAC9C,iBAAiB,EAAE,gBAAgB;gBACnC,kBAAkB,EAAE,iBAAiB;gBACrC,QAAQ;aACT,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,0FAA0F;YAC1F,uFAAuF;YACvF,4FAA4F;QAC9F,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;QAC5C,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;YACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;gBACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;gBACnB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC/B,CAAC,CACH;YACD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAiC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACxD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,WAAW;oBACX,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,sDAAsD;QAC7D,WAAW,EACT,yFAAyF;YACzF,yFAAyF;YACzF,0FAA0F;YAC1F,iBAAiB;QACnB,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SAC3D,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,UAAU,EAAE,CAAC,CAAC,KAAK,CACjB,CAAC,CAAC,MAAM,CAAC;gBACP,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;oBACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;oBACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;oBACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;iBACpB,CAAC,CACH;aACF,CAAC,CACH;YACD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,GAAG,MAA+B,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACnE,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,UAAU;oBACV,eAAe,EAAE,UAAU,CAAC,MAAM;oBAClC,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,EAAE;oBACd,eAAe,EAAE,CAAC;oBAClB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,4FAA4F;YAC5F,uFAAuF;YACvF,yFAAyF;QAC3F,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1D,gBAAgB,EAAE,CAAC;iBAChB,OAAO,EAAE;iBACT,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,wEAAwE,CAAC;SACtF,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;gBACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACpB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;aAC1B,CAAC,CACH;YACD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YAC1C,aAAa,EAAE,CAAC,CAAC,KAAK,CACpB,CAAC,CAAC,MAAM,CAAC;gBACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;gBACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aACtB,CAAC,CACH;YACD,qBAAqB,EAAE,CAAC;iBACrB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;gBAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC/B,CAAC,CACH;iBACA,QAAQ,EAAE;YACb,UAAU,EAAE,CAAC;iBACV,MAAM,CAAC;gBACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC3C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC7C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;aACpB,CAAC;iBACD,QAAQ,EAAE;YACb,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;YAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAGvC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBAChE,SAAS;oBACT,gBAAgB;iBACjB,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAWZ,CAAC;gBACF,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI,CAAC;gBACvD,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrC,QAAQ,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;wBACzB,cAAc,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;wBAC5B,cAAc,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;wBAC5B,YAAY,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK;qBACpC,CAAC,CAAC;oBACH,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBAClC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpD,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE;wBACjC,UAAU,EAAE,EAAE,CAAC,UAAU;wBACzB,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;qBAC9B,CAAC,CAAC;oBACH,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;wBAC7C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACnC,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;4BACtB,OAAO,EAAE,CAAC,CAAC,OAAO;yBACnB,CAAC,CAAC;wBACL,CAAC,CAAC,SAAS;oBACb,UAAU,EAAE,IAAI,CAAC,SAAS;wBACxB,CAAC,CAAC;4BACE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC;4BAC3C,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC;4BAC/C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,KAAK;yBACvC;wBACH,CAAC,CAAC,SAAS;oBACb,sEAAsE;oBACtE,oEAAoE;oBACpE,sCAAsC;oBACtC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,IAAI,eAAe;oBACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;iBAC9B,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,CAAC;oBACb,aAAa,EAAE,EAAE;oBACjB,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,EAAE;oBACZ,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"L1_schematic_read.js","sourceRoot":"","sources":["../../src/tools/L1_schematic_read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ export type QaSource = 'drc' | 'erc' | 'layout' | 'manual-log';
2
+ export type QaSeverity = 'error' | 'warning' | 'info';
3
+ export type QaCategory = 'duplicate_net_names' | 'free_network_no_pins' | 'unconnected_pin' | 'native_drc_unavailable' | 'native_erc_unavailable' | 'native_rule_violation' | 'uncategorized';
4
+ export type QaPolicy = 'circuit' | 'diagnostic-fixture';
5
+ export type QaStatus = 'pass' | 'fail' | 'inconclusive';
6
+ export interface NativeRuleViolationInput {
7
+ rule?: string;
8
+ description?: string;
9
+ message?: string;
10
+ severity?: string;
11
+ net?: string;
12
+ component?: string;
13
+ }
14
+ export interface NativeRuleRunInput {
15
+ not_available?: boolean;
16
+ error?: string;
17
+ violations?: NativeRuleViolationInput[];
18
+ total_violations?: number;
19
+ error_count?: number;
20
+ warning_count?: number;
21
+ passed?: boolean;
22
+ inferred_floating_pins?: Array<{
23
+ primitiveId?: string;
24
+ designator?: string;
25
+ pinNumber?: string;
26
+ }>;
27
+ }
28
+ export interface ClassifiedQaIssue {
29
+ source: QaSource;
30
+ category: QaCategory;
31
+ severity: QaSeverity;
32
+ fatal: boolean;
33
+ message: string;
34
+ rule?: string;
35
+ net?: string;
36
+ component?: string;
37
+ remediation_hint: string;
38
+ }
39
+ export interface PostWriteQaInput {
40
+ projectId: string;
41
+ policy?: QaPolicy;
42
+ drc?: NativeRuleRunInput;
43
+ erc?: NativeRuleRunInput;
44
+ }
45
+ export interface PostWriteQaSummary {
46
+ project_id: string;
47
+ status: QaStatus;
48
+ passed: boolean;
49
+ policy: QaPolicy;
50
+ issue_count: number;
51
+ fatal_count: number;
52
+ warning_count: number;
53
+ inconclusive_count: number;
54
+ categories: Record<QaCategory, number>;
55
+ issues: ClassifiedQaIssue[];
56
+ summary: string;
57
+ }
58
+ export declare function classifyPostWriteQa(input: PostWriteQaInput): PostWriteQaSummary;
@@ -0,0 +1,165 @@
1
+ const CATEGORY_ZERO = {
2
+ duplicate_net_names: 0,
3
+ free_network_no_pins: 0,
4
+ unconnected_pin: 0,
5
+ native_drc_unavailable: 0,
6
+ native_erc_unavailable: 0,
7
+ native_rule_violation: 0,
8
+ uncategorized: 0,
9
+ };
10
+ function normalizeText(value) {
11
+ return String(value ?? '').trim();
12
+ }
13
+ function classifyDescription(description) {
14
+ const lower = description.toLowerCase();
15
+ if (lower.includes('multiple net names') || lower.includes('duplicate net'))
16
+ return 'duplicate_net_names';
17
+ if (lower.includes('free network') && lower.includes('no pins'))
18
+ return 'free_network_no_pins';
19
+ if (lower.includes('no pins attached'))
20
+ return 'free_network_no_pins';
21
+ if (lower.includes('unconnected') && lower.includes('pin'))
22
+ return 'unconnected_pin';
23
+ if (lower.includes('floating') && lower.includes('pin'))
24
+ return 'unconnected_pin';
25
+ return 'uncategorized';
26
+ }
27
+ function normalizeSeverity(value, fallback) {
28
+ return value === 'error' || value === 'warning' || value === 'info' ? value : fallback;
29
+ }
30
+ function policyFatal(category, severity, policy) {
31
+ if (category === 'duplicate_net_names')
32
+ return true;
33
+ if (category === 'unconnected_pin')
34
+ return true;
35
+ if (category === 'native_drc_unavailable' || category === 'native_erc_unavailable')
36
+ return false;
37
+ if (category === 'free_network_no_pins')
38
+ return policy === 'circuit';
39
+ return severity === 'error';
40
+ }
41
+ function remediationHint(category, policy) {
42
+ switch (category) {
43
+ case 'duplicate_net_names':
44
+ return 'Do not stamp the same native netName repeatedly on merged wire segments; seed the net once and continue same-net segments unlabeled.';
45
+ case 'free_network_no_pins':
46
+ return policy === 'diagnostic-fixture'
47
+ ? 'Allowed for diagnostic fixtures that intentionally draw wire-only nets. Real circuits must connect each named net to at least one component pin.'
48
+ : 'Connect the named net to component pins, or remove the orphan wire/net flag before accepting the generated circuit.';
49
+ case 'unconnected_pin':
50
+ return 'Connect the expected pin, mark it as intentional no-connect where valid, or update the circuit template connectivity expectations.';
51
+ case 'native_drc_unavailable':
52
+ return 'Native DRC details were not available from the EasyEDA runtime. Capture/manual DRC-log ingestion is required before accepting a production schematic.';
53
+ case 'native_erc_unavailable':
54
+ return 'Native ERC details were not available from the EasyEDA runtime. Capture/manual ERC-log ingestion is required before accepting a production schematic.';
55
+ case 'native_rule_violation':
56
+ return 'Inspect the native rule violation and update routing/layout or component placement before release.';
57
+ case 'uncategorized':
58
+ return 'Review the warning manually and add a classifier rule if this warning recurs in live testing.';
59
+ }
60
+ }
61
+ function pushNativeUnavailable(issues, source, error) {
62
+ const category = source === 'drc' ? 'native_drc_unavailable' : 'native_erc_unavailable';
63
+ issues.push({
64
+ source,
65
+ category,
66
+ severity: 'warning',
67
+ fatal: false,
68
+ message: error
69
+ ? `${source.toUpperCase()} unavailable: ${error}`
70
+ : `${source.toUpperCase()} unavailable`,
71
+ remediation_hint: remediationHint(category, 'circuit'),
72
+ });
73
+ }
74
+ function classifyViolation(source, violation, policy) {
75
+ const description = normalizeText(violation.description || violation.message || violation.rule || 'Rule violation');
76
+ const category = classifyDescription(description);
77
+ const severity = normalizeSeverity(violation.severity, category === 'uncategorized' ? 'warning' : 'error');
78
+ const normalizedCategory = category === 'uncategorized' && severity === 'error' ? 'native_rule_violation' : category;
79
+ return {
80
+ source,
81
+ category: normalizedCategory,
82
+ severity,
83
+ fatal: policyFatal(normalizedCategory, severity, policy),
84
+ message: description,
85
+ rule: normalizeText(violation.rule) || undefined,
86
+ net: normalizeText(violation.net) || undefined,
87
+ component: normalizeText(violation.component) || undefined,
88
+ remediation_hint: remediationHint(normalizedCategory, policy),
89
+ };
90
+ }
91
+ function classifyNativeRun(source, run, policy) {
92
+ const issues = [];
93
+ if (!run)
94
+ return issues;
95
+ if (run.not_available) {
96
+ pushNativeUnavailable(issues, source, run.error);
97
+ return issues;
98
+ }
99
+ for (const violation of run.violations ?? []) {
100
+ issues.push(classifyViolation(source, violation, policy));
101
+ }
102
+ if (source === 'erc') {
103
+ for (const pin of run.inferred_floating_pins ?? []) {
104
+ const designator = normalizeText(pin.designator) || 'unknown component';
105
+ const pinNumber = normalizeText(pin.pinNumber) || 'unknown pin';
106
+ const message = `Unconnected inferred pin ${designator}.${pinNumber}`;
107
+ const category = 'unconnected_pin';
108
+ issues.push({
109
+ source: 'erc',
110
+ category,
111
+ severity: 'error',
112
+ fatal: policyFatal(category, 'error', policy),
113
+ message,
114
+ component: designator,
115
+ remediation_hint: remediationHint(category, policy),
116
+ });
117
+ }
118
+ }
119
+ const total = run.total_violations ?? 0;
120
+ if (total > 0 && issues.length === 0) {
121
+ const category = 'native_rule_violation';
122
+ const severity = (run.error_count ?? 0) > 0 ? 'error' : 'warning';
123
+ issues.push({
124
+ source,
125
+ category,
126
+ severity,
127
+ fatal: policyFatal(category, severity, policy),
128
+ message: `${source.toUpperCase()} reported ${total} violation(s), but detailed violations were not available.`,
129
+ remediation_hint: remediationHint(category, policy),
130
+ });
131
+ }
132
+ return issues;
133
+ }
134
+ export function classifyPostWriteQa(input) {
135
+ const policy = input.policy ?? 'circuit';
136
+ const issues = [
137
+ ...classifyNativeRun('drc', input.drc, policy),
138
+ ...classifyNativeRun('erc', input.erc, policy),
139
+ ];
140
+ const categories = { ...CATEGORY_ZERO };
141
+ for (const issue of issues)
142
+ categories[issue.category] += 1;
143
+ const fatalCount = issues.filter((issue) => issue.fatal).length;
144
+ const inconclusiveCount = issues.filter((issue) => issue.category === 'native_drc_unavailable' || issue.category === 'native_erc_unavailable').length;
145
+ const warningCount = issues.filter((issue) => issue.severity === 'warning' && !issue.fatal).length;
146
+ const status = fatalCount > 0 ? 'fail' : inconclusiveCount > 0 ? 'inconclusive' : 'pass';
147
+ return {
148
+ project_id: input.projectId,
149
+ status,
150
+ passed: status === 'pass',
151
+ policy,
152
+ issue_count: issues.length,
153
+ fatal_count: fatalCount,
154
+ warning_count: warningCount,
155
+ inconclusive_count: inconclusiveCount,
156
+ categories,
157
+ issues,
158
+ summary: status === 'pass'
159
+ ? 'Post-write QA passed.'
160
+ : status === 'inconclusive'
161
+ ? 'Post-write QA is inconclusive because native rule details were unavailable.'
162
+ : `Post-write QA failed with ${fatalCount} fatal issue(s).`,
163
+ };
164
+ }
165
+ //# sourceMappingURL=schematic-post-write-qa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic-post-write-qa.js","sourceRoot":"","sources":["../../src/workflows/schematic-post-write-qa.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Schematic sheet safe-region planner.
3
+ *
4
+ * EasyEDA Pro schematic coordinates observed in live MSI testing use a
5
+ * bottom-left-style sheet origin: larger Y values move objects upward on the
6
+ * page. The default A4 title block occupies the lower/right portion of the
7
+ * frame, so hard-coded low-Y coordinates easily collide with the title block.
8
+ *
9
+ * This module is deliberately pure and conservative. It does not resize the
10
+ * sheet; it returns a safe bounding box/anchor or a blocked plan with reasons
11
+ * that callers can surface before applying any writes.
12
+ */
13
+ export type SchematicRegionPreference = 'upper-left' | 'upper-center' | 'upper-right' | 'center-left' | 'center' | 'center-right' | 'lower-left' | 'lower-center' | 'lower-right';
14
+ export interface SchematicRect {
15
+ x: number;
16
+ y: number;
17
+ width: number;
18
+ height: number;
19
+ }
20
+ export interface SchematicPoint {
21
+ x: number;
22
+ y: number;
23
+ }
24
+ export interface SchematicSheetGeometry {
25
+ width: number;
26
+ height: number;
27
+ unit: string;
28
+ origin: 'bottom-left';
29
+ source: 'sheet-info' | 'default-a4-landscape';
30
+ }
31
+ export interface SafeSchematicRegionPlanInput {
32
+ sheetInfo?: unknown;
33
+ contentWidth: number;
34
+ contentHeight: number;
35
+ preferredRegion?: SchematicRegionPreference;
36
+ margin?: number;
37
+ titleBlockKeepout?: SchematicRect;
38
+ }
39
+ export interface SafeSchematicRegionPlan {
40
+ blocked: boolean;
41
+ preferredRegion: SchematicRegionPreference;
42
+ sheet: SchematicSheetGeometry;
43
+ usableBounds: SchematicRect;
44
+ requestedBounds: SchematicRect;
45
+ bounds: SchematicRect;
46
+ anchor: SchematicPoint;
47
+ keepouts: Array<SchematicRect & {
48
+ kind: 'title-block';
49
+ }>;
50
+ warnings: string[];
51
+ issues: Array<{
52
+ code: string;
53
+ message: string;
54
+ }>;
55
+ }
56
+ export declare function inferSchematicSheetGeometry(sheetInfo: unknown): SchematicSheetGeometry;
57
+ export declare function defaultTitleBlockKeepout(sheet: SchematicSheetGeometry): SchematicRect;
58
+ export declare function rectsOverlap(a: SchematicRect, b: SchematicRect): boolean;
59
+ export declare function planSafeSchematicRegion(input: SafeSchematicRegionPlanInput): SafeSchematicRegionPlan;
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Schematic sheet safe-region planner.
3
+ *
4
+ * EasyEDA Pro schematic coordinates observed in live MSI testing use a
5
+ * bottom-left-style sheet origin: larger Y values move objects upward on the
6
+ * page. The default A4 title block occupies the lower/right portion of the
7
+ * frame, so hard-coded low-Y coordinates easily collide with the title block.
8
+ *
9
+ * This module is deliberately pure and conservative. It does not resize the
10
+ * sheet; it returns a safe bounding box/anchor or a blocked plan with reasons
11
+ * that callers can surface before applying any writes.
12
+ */
13
+ const DEFAULT_A4_LANDSCAPE = {
14
+ // EasyEDA schematic coordinates are not guaranteed to be true millimetres,
15
+ // but the live A4 frame behaves consistently with this 1189x841-style
16
+ // internal coordinate scale. Prefer runtime sheet-info when available.
17
+ width: 1189,
18
+ height: 841,
19
+ unit: 'easyeda-coordinate',
20
+ };
21
+ const DEFAULT_MARGIN = 80;
22
+ const REGION_ROWS = {
23
+ 'upper-left': 'upper',
24
+ 'upper-center': 'upper',
25
+ 'upper-right': 'upper',
26
+ 'center-left': 'center',
27
+ center: 'center',
28
+ 'center-right': 'center',
29
+ 'lower-left': 'lower',
30
+ 'lower-center': 'lower',
31
+ 'lower-right': 'lower',
32
+ };
33
+ const REGION_COLUMNS = {
34
+ 'upper-left': 'left',
35
+ 'upper-center': 'center',
36
+ 'upper-right': 'right',
37
+ 'center-left': 'left',
38
+ center: 'center',
39
+ 'center-right': 'right',
40
+ 'lower-left': 'left',
41
+ 'lower-center': 'center',
42
+ 'lower-right': 'right',
43
+ };
44
+ function readRecord(value) {
45
+ return value && typeof value === 'object' && !Array.isArray(value)
46
+ ? value
47
+ : {};
48
+ }
49
+ function readNumber(record, keys) {
50
+ for (const key of keys) {
51
+ const value = record[key];
52
+ if (typeof value === 'number' && Number.isFinite(value) && value > 0)
53
+ return value;
54
+ if (typeof value === 'string') {
55
+ const parsed = Number(value.trim());
56
+ if (Number.isFinite(parsed) && parsed > 0)
57
+ return parsed;
58
+ }
59
+ }
60
+ return undefined;
61
+ }
62
+ function readString(record, keys) {
63
+ for (const key of keys) {
64
+ const value = record[key];
65
+ if (typeof value === 'string' && value.trim())
66
+ return value.trim();
67
+ }
68
+ return undefined;
69
+ }
70
+ export function inferSchematicSheetGeometry(sheetInfo) {
71
+ const root = readRecord(sheetInfo);
72
+ const current = readRecord(root.currentPage);
73
+ const currentOrRoot = Object.keys(current).length > 0 ? current : root;
74
+ const pageSize = readRecord(root.page_size ?? root.pageSize ?? currentOrRoot.page_size ?? currentOrRoot.pageSize);
75
+ const width = readNumber(pageSize, ['width', 'pageWidth', 'paperWidth', 'w']) ??
76
+ readNumber(currentOrRoot, ['width', 'pageWidth', 'paperWidth', 'w', 'Width']) ??
77
+ readNumber(root, ['width', 'pageWidth', 'paperWidth', 'w', 'Width']);
78
+ const height = readNumber(pageSize, ['height', 'pageHeight', 'paperHeight', 'h']) ??
79
+ readNumber(currentOrRoot, ['height', 'pageHeight', 'paperHeight', 'h', 'Height']) ??
80
+ readNumber(root, ['height', 'pageHeight', 'paperHeight', 'h', 'Height']);
81
+ const unit = readString(pageSize, ['unit', 'units', 'pageUnit']) ??
82
+ readString(currentOrRoot, ['unit', 'units', 'pageUnit']) ??
83
+ readString(root, ['unit', 'units', 'pageUnit']) ??
84
+ DEFAULT_A4_LANDSCAPE.unit;
85
+ if (width !== undefined && height !== undefined) {
86
+ return { width, height, unit, origin: 'bottom-left', source: 'sheet-info' };
87
+ }
88
+ return {
89
+ width: DEFAULT_A4_LANDSCAPE.width,
90
+ height: DEFAULT_A4_LANDSCAPE.height,
91
+ unit,
92
+ origin: 'bottom-left',
93
+ source: 'default-a4-landscape',
94
+ };
95
+ }
96
+ export function defaultTitleBlockKeepout(sheet) {
97
+ return {
98
+ x: sheet.width * 0.55,
99
+ y: 0,
100
+ width: sheet.width * 0.45,
101
+ height: sheet.height * 0.26,
102
+ };
103
+ }
104
+ export function rectsOverlap(a, b) {
105
+ return a.x < b.x + b.width && a.x + a.width > b.x && a.y < b.y + b.height && a.y + a.height > b.y;
106
+ }
107
+ function candidateBounds(usable, width, height, preference) {
108
+ const column = REGION_COLUMNS[preference];
109
+ const row = REGION_ROWS[preference];
110
+ const x = column === 'left'
111
+ ? usable.x
112
+ : column === 'center'
113
+ ? usable.x + (usable.width - width) / 2
114
+ : usable.x + usable.width - width;
115
+ const y = row === 'lower'
116
+ ? usable.y
117
+ : row === 'center'
118
+ ? usable.y + (usable.height - height) / 2
119
+ : usable.y + usable.height - height;
120
+ return { x, y, width, height };
121
+ }
122
+ function clampBoundsToUsable(bounds, usable) {
123
+ return {
124
+ ...bounds,
125
+ x: Math.min(Math.max(bounds.x, usable.x), usable.x + usable.width - bounds.width),
126
+ y: Math.min(Math.max(bounds.y, usable.y), usable.y + usable.height - bounds.height),
127
+ };
128
+ }
129
+ const FALLBACK_REGIONS = [
130
+ 'upper-left',
131
+ 'upper-center',
132
+ 'center-left',
133
+ 'center',
134
+ 'upper-right',
135
+ 'center-right',
136
+ 'lower-left',
137
+ 'lower-center',
138
+ 'lower-right',
139
+ ];
140
+ export function planSafeSchematicRegion(input) {
141
+ const sheet = inferSchematicSheetGeometry(input.sheetInfo);
142
+ const margin = input.margin ?? DEFAULT_MARGIN;
143
+ const preferredRegion = input.preferredRegion ?? 'upper-left';
144
+ const keepout = {
145
+ ...(input.titleBlockKeepout ?? defaultTitleBlockKeepout(sheet)),
146
+ kind: 'title-block',
147
+ };
148
+ const usableBounds = {
149
+ x: margin,
150
+ y: margin,
151
+ width: Math.max(0, sheet.width - margin * 2),
152
+ height: Math.max(0, sheet.height - margin * 2),
153
+ };
154
+ const issues = [];
155
+ const warnings = [];
156
+ if (input.contentWidth <= 0 || input.contentHeight <= 0) {
157
+ issues.push({
158
+ code: 'INVALID_CONTENT_SIZE',
159
+ message: 'contentWidth and contentHeight must be positive.',
160
+ });
161
+ }
162
+ if (input.contentWidth > usableBounds.width || input.contentHeight > usableBounds.height) {
163
+ issues.push({
164
+ code: 'CONTENT_DOES_NOT_FIT_USABLE_BOUNDS',
165
+ message: `Requested content ${input.contentWidth}x${input.contentHeight} exceeds usable sheet bounds ${usableBounds.width}x${usableBounds.height}.`,
166
+ });
167
+ }
168
+ const requestedBounds = clampBoundsToUsable(candidateBounds(usableBounds, input.contentWidth, input.contentHeight, preferredRegion), usableBounds);
169
+ let bounds = requestedBounds;
170
+ if (rectsOverlap(bounds, keepout)) {
171
+ warnings.push(`Preferred region ${preferredRegion} intersects the title-block keep-out; searching fallback safe regions.`);
172
+ const fallback = FALLBACK_REGIONS.map((region) => clampBoundsToUsable(candidateBounds(usableBounds, input.contentWidth, input.contentHeight, region), usableBounds)).find((candidate) => !rectsOverlap(candidate, keepout));
173
+ if (fallback) {
174
+ bounds = fallback;
175
+ }
176
+ else {
177
+ issues.push({
178
+ code: 'NO_SAFE_REGION_OUTSIDE_TITLE_BLOCK',
179
+ message: 'No candidate region fits outside the title-block keep-out.',
180
+ });
181
+ }
182
+ }
183
+ if (bounds.x < usableBounds.x || bounds.y < usableBounds.y) {
184
+ issues.push({
185
+ code: 'BOUNDS_OUTSIDE_USABLE_AREA',
186
+ message: 'Computed bounds start outside usable area.',
187
+ });
188
+ }
189
+ if (bounds.x + bounds.width > usableBounds.x + usableBounds.width ||
190
+ bounds.y + bounds.height > usableBounds.y + usableBounds.height) {
191
+ issues.push({
192
+ code: 'BOUNDS_EXCEED_USABLE_AREA',
193
+ message: 'Computed bounds exceed usable area.',
194
+ });
195
+ }
196
+ if (rectsOverlap(bounds, keepout)) {
197
+ issues.push({
198
+ code: 'TITLE_BLOCK_OVERLAP',
199
+ message: 'Computed bounds overlap the title-block keep-out.',
200
+ });
201
+ }
202
+ return {
203
+ blocked: issues.length > 0,
204
+ preferredRegion,
205
+ sheet,
206
+ usableBounds,
207
+ requestedBounds,
208
+ bounds,
209
+ anchor: { x: bounds.x, y: bounds.y + bounds.height },
210
+ keepouts: [keepout],
211
+ warnings,
212
+ issues,
213
+ };
214
+ }
215
+ //# sourceMappingURL=schematic-safe-region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic-safe-region.js","sourceRoot":"","sources":["../../src/workflows/schematic-safe-region.ts"],"names":[],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easyeda-mcp-pro",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "mcpName": "io.github.oaslananka/easyeda-mcp-pro",
5
5
  "description": "MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.",
6
6
  "keywords": [