ciscollm-cli 1.0.3 → 1.0.5

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.
Files changed (37) hide show
  1. package/README.md +128 -0
  2. package/dist/core/agent/AgentLoop.d.ts +1 -0
  3. package/dist/core/agent/AgentLoop.js +61 -9
  4. package/dist/core/agent/AgentLoop.js.map +1 -1
  5. package/dist/core/agent/PromptEngine.js +3 -1
  6. package/dist/core/agent/PromptEngine.js.map +1 -1
  7. package/dist/core/guardrails/CommandFirewall.js +1 -1
  8. package/dist/core/guardrails/CommandFirewall.js.map +1 -1
  9. package/dist/core/rollback/TransactionManager.d.ts +1 -1
  10. package/dist/core/rollback/TransactionManager.js +168 -96
  11. package/dist/core/rollback/TransactionManager.js.map +1 -1
  12. package/dist/infrastructure/llm/LLMClient.js +5 -1
  13. package/dist/infrastructure/llm/LLMClient.js.map +1 -1
  14. package/dist/infrastructure/llm/ToolDefinitions.js +1 -1
  15. package/dist/infrastructure/llm/ToolDefinitions.js.map +1 -1
  16. package/dist/infrastructure/protocols/BaseSession.d.ts +3 -0
  17. package/dist/infrastructure/protocols/BaseSession.js +14 -0
  18. package/dist/infrastructure/protocols/BaseSession.js.map +1 -1
  19. package/dist/infrastructure/protocols/CmlSession.js +1 -1
  20. package/dist/infrastructure/protocols/CmlSession.js.map +1 -1
  21. package/dist/infrastructure/protocols/MockSession.d.ts +4 -0
  22. package/dist/infrastructure/protocols/MockSession.js +62 -13
  23. package/dist/infrastructure/protocols/MockSession.js.map +1 -1
  24. package/dist/infrastructure/protocols/NetconfSession.d.ts +4 -2
  25. package/dist/infrastructure/protocols/NetconfSession.js +92 -28
  26. package/dist/infrastructure/protocols/NetconfSession.js.map +1 -1
  27. package/dist/infrastructure/protocols/PlinkSerial.d.ts +2 -0
  28. package/dist/infrastructure/protocols/PlinkSerial.js +73 -33
  29. package/dist/infrastructure/protocols/PlinkSerial.js.map +1 -1
  30. package/dist/infrastructure/protocols/SshSession.d.ts +2 -0
  31. package/dist/infrastructure/protocols/SshSession.js +51 -15
  32. package/dist/infrastructure/protocols/SshSession.js.map +1 -1
  33. package/dist/infrastructure/protocols/TelnetSession.d.ts +2 -0
  34. package/dist/infrastructure/protocols/TelnetSession.js +37 -9
  35. package/dist/infrastructure/protocols/TelnetSession.js.map +1 -1
  36. package/dist/shared/types.d.ts +1 -1
  37. package/package.json +1 -1
@@ -50,6 +50,8 @@ class MockSession extends BaseSession_1.BaseSession {
50
50
  shellVariables = new Map();
51
51
  shellFunctions = new Map();
52
52
  routes = [];
53
+ activeVlan = null;
54
+ vlanNames = new Map();
53
55
  backupSnapshot = null;
54
56
  rollbackSnapshots = [];
55
57
  commandPatterns;
@@ -67,7 +69,9 @@ class MockSession extends BaseSession_1.BaseSession {
67
69
  shellFunctions: Array.from(this.shellFunctions.entries()),
68
70
  routes: this.routes,
69
71
  state: this.state,
70
- activeInterface: this.activeInterface
72
+ activeInterface: this.activeInterface,
73
+ activeVlan: this.activeVlan,
74
+ vlanNames: Array.from(this.vlanNames.entries())
71
75
  };
72
76
  fs.writeFileSync(this.getStateFilePath(), JSON.stringify(data, null, 2), 'utf8');
73
77
  }
@@ -88,6 +92,8 @@ class MockSession extends BaseSession_1.BaseSession {
88
92
  this.routes = data.routes;
89
93
  this.state = data.state;
90
94
  this.activeInterface = data.activeInterface;
95
+ this.activeVlan = data.activeVlan || null;
96
+ this.vlanNames = new Map(data.vlanNames || []);
91
97
  }
92
98
  }
93
99
  catch (e) {
@@ -136,6 +142,7 @@ class MockSession extends BaseSession_1.BaseSession {
136
142
  { pattern: ['configure', 'replace'], action: (command) => this.handleConfigureReplace(command) },
137
143
  { pattern: ['interface'], action: (command) => this.handleInterfaceCommand(command) },
138
144
  { pattern: ['vlan'], action: (command) => this.handleVlanCommand(command) },
145
+ { pattern: ['name'], action: (command) => this.handleVlanNameCommand(command) },
139
146
  { pattern: ['switchport'], action: () => '' },
140
147
  { pattern: ['exit'], action: () => this.handleExitCommand() },
141
148
  { pattern: ['end'], action: () => this.handleEndCommand() },
@@ -356,6 +363,8 @@ class MockSession extends BaseSession_1.BaseSession {
356
363
  suffix = '(config)#';
357
364
  else if (mode === 'INTERFACE_CONFIG')
358
365
  suffix = `(config-if)#`;
366
+ else if (mode === 'VLAN_CONFIG')
367
+ suffix = `(config-vlan)#`;
359
368
  this.state.prompt = `${this.state.hostname}${suffix}`;
360
369
  }
361
370
  matchCommand(command) {
@@ -380,6 +389,9 @@ class MockSession extends BaseSession_1.BaseSession {
380
389
  }
381
390
  return true;
382
391
  }
392
+ isConfigMode() {
393
+ return this.state.currentMode !== 'USER_EXEC' && this.state.currentMode !== 'PRIVILEGED_EXEC';
394
+ }
383
395
  formatInvalidInput(command, caretIndex) {
384
396
  const safeIndex = Math.max(0, Math.min(caretIndex, command.length));
385
397
  const caretLine = `${' '.repeat(safeIndex)}^`;
@@ -445,7 +457,7 @@ class MockSession extends BaseSession_1.BaseSession {
445
457
  return '% Command rejected: Place in Global Config mode first.';
446
458
  }
447
459
  handleInterfaceCommand(command) {
448
- if (this.state.currentMode !== 'GLOBAL_CONFIG' && this.state.currentMode !== 'INTERFACE_CONFIG') {
460
+ if (!this.isConfigMode()) {
449
461
  return this.formatInvalidInput(command, 0);
450
462
  }
451
463
  const parts = command.trim().split(/\s+/);
@@ -472,22 +484,47 @@ class MockSession extends BaseSession_1.BaseSession {
472
484
  }
473
485
  }
474
486
  this.activeInterface = resolvedName;
487
+ this.activeVlan = null;
475
488
  this.updateMode('INTERFACE_CONFIG');
476
489
  return '';
477
490
  }
478
491
  handleVlanCommand(command) {
479
- if (this.state.currentMode !== 'GLOBAL_CONFIG') {
492
+ if (!this.isConfigMode()) {
480
493
  return this.formatInvalidInput(command, 0);
481
494
  }
482
495
  const parts = command.trim().split(/\s+/);
496
+ if (parts.length > 2) {
497
+ return this.formatInvalidInput(command, command.indexOf(parts[2]));
498
+ }
483
499
  const vlanId = parseInt(parts[1], 10);
484
500
  if (isNaN(vlanId)) {
485
501
  return `${command}\n${' '.repeat(command.indexOf(parts[1] || ''))}^\n% Invalid VLAN ID format.`;
486
502
  }
487
503
  this.vlans.add(vlanId);
504
+ this.activeVlan = vlanId;
505
+ this.activeInterface = null;
506
+ this.updateMode('VLAN_CONFIG');
507
+ return '';
508
+ }
509
+ handleVlanNameCommand(command) {
510
+ if (this.state.currentMode !== 'VLAN_CONFIG' || this.activeVlan === null) {
511
+ return this.formatInvalidInput(command, 0);
512
+ }
513
+ const parts = command.trim().split(/\s+/);
514
+ if (parts.length < 2) {
515
+ return this.formatIncompleteCommand(command);
516
+ }
517
+ this.pushRollbackSnapshot();
518
+ const vlanName = parts.slice(1).join(' ');
519
+ this.vlanNames.set(this.activeVlan, vlanName);
488
520
  return '';
489
521
  }
490
522
  handleExitCommand() {
523
+ if (this.state.currentMode === 'VLAN_CONFIG') {
524
+ this.activeVlan = null;
525
+ this.updateMode('GLOBAL_CONFIG');
526
+ return '';
527
+ }
491
528
  if (this.state.prompt.includes('(') && !this.state.prompt.includes('(config-if)')) {
492
529
  this.updateMode('GLOBAL_CONFIG');
493
530
  return '';
@@ -508,8 +545,9 @@ class MockSession extends BaseSession_1.BaseSession {
508
545
  return '% Connection closed.';
509
546
  }
510
547
  handleEndCommand() {
511
- if (this.state.currentMode === 'GLOBAL_CONFIG' || this.state.currentMode === 'INTERFACE_CONFIG' || this.state.prompt.includes(')')) {
548
+ if (this.state.currentMode === 'GLOBAL_CONFIG' || this.state.currentMode === 'INTERFACE_CONFIG' || this.state.currentMode === 'VLAN_CONFIG' || this.state.prompt.includes(')')) {
512
549
  this.activeInterface = null;
550
+ this.activeVlan = null;
513
551
  this.updateMode('PRIVILEGED_EXEC');
514
552
  return '';
515
553
  }
@@ -615,7 +653,8 @@ class MockSession extends BaseSession_1.BaseSession {
615
653
  handleShowVlanBrief() {
616
654
  let output = 'VLAN Name Status Ports\n';
617
655
  for (const vlanId of this.vlans.values()) {
618
- output += `${String(vlanId).padEnd(5)} default active \n`;
656
+ const name = this.vlanNames.get(vlanId) || (vlanId === 1 ? 'default' : `VLAN${String(vlanId).padStart(4, '0')}`);
657
+ output += `${String(vlanId).padEnd(5)} ${name.padEnd(32)} active \n`;
619
658
  }
620
659
  return output;
621
660
  }
@@ -665,7 +704,7 @@ class MockSession extends BaseSession_1.BaseSession {
665
704
  return 'Configure replace completed successfully.';
666
705
  }
667
706
  handleIpRouteCommand(command) {
668
- if (this.state.currentMode !== 'GLOBAL_CONFIG' && this.state.currentMode !== 'INTERFACE_CONFIG') {
707
+ if (!this.isConfigMode()) {
669
708
  return this.formatInvalidInput(command, 0);
670
709
  }
671
710
  const parts = command.trim().split(/\s+/);
@@ -742,7 +781,9 @@ class MockSession extends BaseSession_1.BaseSession {
742
781
  shellEnabled: this.shellEnabled,
743
782
  shellVariables: new Map(this.shellVariables),
744
783
  shellFunctions: new Map(this.shellFunctions),
745
- routes: this.routes.map(route => ({ ...route }))
784
+ routes: this.routes.map(route => ({ ...route })),
785
+ activeVlan: this.activeVlan,
786
+ vlanNames: new Map(this.vlanNames)
746
787
  };
747
788
  }
748
789
  restoreSnapshot(snapshot) {
@@ -754,6 +795,8 @@ class MockSession extends BaseSession_1.BaseSession {
754
795
  this.shellVariables = new Map(snapshot.shellVariables);
755
796
  this.shellFunctions = new Map(snapshot.shellFunctions);
756
797
  this.routes = snapshot.routes.map(route => ({ ...route }));
798
+ this.activeVlan = snapshot.activeVlan;
799
+ this.vlanNames = new Map(snapshot.vlanNames);
757
800
  }
758
801
  refreshConnectedRoutes() {
759
802
  const connectedRoutes = new Map();
@@ -875,25 +918,31 @@ class MockSession extends BaseSession_1.BaseSession {
875
918
  15728640 bytes total (15727056 bytes free)`;
876
919
  }
877
920
  handleRouterOspf(command) {
878
- if (this.state.currentMode !== 'GLOBAL_CONFIG') {
879
- return '% Command rejected: Place in Global Config mode first.';
921
+ if (!this.isConfigMode()) {
922
+ return '% Command rejected: Place in configuration mode first.';
880
923
  }
924
+ this.activeInterface = null;
925
+ this.activeVlan = null;
881
926
  this.updateMode('GLOBAL_CONFIG');
882
927
  this.state.prompt = `${this.state.hostname}(config-router)#`;
883
928
  return '';
884
929
  }
885
930
  handleIpDhcpPool(command) {
886
- if (this.state.currentMode !== 'GLOBAL_CONFIG') {
887
- return '% Command rejected: Place in Global Config mode first.';
931
+ if (!this.isConfigMode()) {
932
+ return '% Command rejected: Place in configuration mode first.';
888
933
  }
934
+ this.activeInterface = null;
935
+ this.activeVlan = null;
889
936
  this.updateMode('GLOBAL_CONFIG');
890
937
  this.state.prompt = `${this.state.hostname}(dhcp-config)#`;
891
938
  return '';
892
939
  }
893
940
  handleIpAccessList(command) {
894
- if (this.state.currentMode !== 'GLOBAL_CONFIG') {
895
- return '% Command rejected: Place in Global Config mode first.';
941
+ if (!this.isConfigMode()) {
942
+ return '% Command rejected: Place in configuration mode first.';
896
943
  }
944
+ this.activeInterface = null;
945
+ this.activeVlan = null;
897
946
  this.updateMode('GLOBAL_CONFIG');
898
947
  this.state.prompt = `${this.state.hostname}(config-ext-nacl)#`;
899
948
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"MockSession.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/MockSession.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4C;AAE5C,uCAAyB;AACzB,2CAA6B;AAC7B,kDAA0B;AA+B1B,MAAa,WAAY,SAAQ,yBAAW;IAqDpB;IApDZ,UAAU,GAAiC,IAAI,GAAG,EAAE,CAAC;IACrD,eAAe,GAAkB,IAAI,CAAC;IACtC,KAAK,GAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,YAAY,GAAY,KAAK,CAAC;IAC9B,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAChD,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAChD,MAAM,GAAmB,EAAE,CAAC;IAC5B,cAAc,GAAwB,IAAI,CAAC;IAC3C,iBAAiB,GAAmB,EAAE,CAAC;IAC9B,eAAe,CAAqG;IAE7H,gBAAgB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrH,CAAC;IAEO,SAAS;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO;QAC5C,IAAI,CAAC;YACD,MAAM,IAAI,GAAG;gBACT,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACjD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBACzD,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,eAAe,EAAE,IAAI,CAAC,eAAe;aACxC,CAAC;YACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QAEb,CAAC;IACL,CAAC;IAEO,SAAS;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO;QAC5C,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnD,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAChD,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QAEb,CAAC;IACL,CAAC;IAED,YAAoB,WAAmB,QAAQ;QAC3C,KAAK,EAAE,CAAC;QADQ,aAAQ,GAAR,QAAQ,CAAmB;QAE3C,IAAI,CAAC,KAAK,GAAG;YACT,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG;SAC9B,CAAC;QAGF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE;YACtC,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,eAAe;YACvB,aAAa,EAAE,KAAK;YACpB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,mBAAmB;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE;YACtC,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,KAAK;YACrB,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE;YACtC,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,KAAK;YACrB,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,eAAe,GAAG;YACnB,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,+DAA+D,CAAC,EAAE;YACpJ,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,+DAA+D,CAAC,EAAE;YACxI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YACxE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;YACnE,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACxE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,EAAE;YACxG,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,EAAE;YACvG,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE;YACnG,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE;YAChG,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE;YACrF,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;YAC3E,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC7C,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC7D,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3D,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE;YACzF,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE;YACjG,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE;YACrF,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;YACrE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAC7E,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE;YACzF,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YACnF,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YAClG,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE;YACrF,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAC1E,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5E,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE;YAChF,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC9E,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YAC9F,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YAC7F,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YACnE,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YACzD,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;YACpF,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC1C,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC7C,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;YACxF,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;YAChF,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YACjD,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC7C,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YACjE,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC9C,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;YACzF,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YACrD,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YACzC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YACvC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAChE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YACtD,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;SAC1D,CAAC;IACN,CAAC;IAEe,cAAc;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,QAAQ,gBAAgB,CAAC,CAAC,CAAC;QAC3F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,SAAkB;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,SAAkB;QAC5D,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACzD,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC3C,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/D,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC5C,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACtF,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACpD,IAAI,GAAG,EAAE,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtB,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC7C,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,SAAS,GAAa,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAEhE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,WAAW,GAAG,UAAU,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEzC,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxE,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACvF,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxF,CAAC;qBAAM,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACvF,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzF,CAAC;qBAAM,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACvF,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1E,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;wBACb,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACJ,WAAW,GAAG,EAAE,CAAC;oBACrB,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,WAAW,CAAC;QACvB,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,SAAkB;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;gBAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,0DAA0D,CAAC;QACtE,CAAC;QAED,IAAI,KAAK,KAAK,uBAAuB,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,wDAAwD,CAAC;QACpE,CAAC;QAED,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,wDAAwD,CAAC;QACpE,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,KAAK,KAAK,wBAAwB,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YACjE,IAAI,MAAM,GAAG,oBAAoB,CAAC;YAClC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,KAAK,KAAK,sBAAsB,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;YAChE,IAAI,MAAM,GAAG,oBAAoB,CAAC;YAClC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC;YACvC,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAEtD,IAAI,MAAM,GAAG,qEAAqE,IAAI,2BAA2B,CAAC;YAClH,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,8EAA8E,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,wCAAwC,CAAC;YACvD,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,OAAO,4BAA4B,KAAK,GAAG,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,QAAQ,iBAAiB,CAAC,CAAC,CAAC;QACpF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,IAAqB;QACpC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9B,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,IAAI,KAAK,iBAAiB;YAAE,MAAM,GAAG,GAAG,CAAC;aACxC,IAAI,IAAI,KAAK,eAAe;YAAE,MAAM,GAAG,WAAW,CAAC;aACnD,IAAI,IAAI,KAAK,kBAAkB;YAAE,MAAM,GAAG,cAAc,CAAC;QAE9D,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;IAC1D,CAAC;IAEO,YAAY,CAAC,OAAe;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,WAAqB,EAAE,OAA4B;QACtE,IAAI,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,OAAe,EAAE,UAAkB;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;QAC9C,OAAO,GAAG,OAAO,KAAK,SAAS,2CAA2C,CAAC;IAC/E,CAAC;IAEO,uBAAuB,CAAC,OAAe;QAC3C,OAAO,GAAG,OAAO,yBAAyB,CAAC;IAC/C,CAAC;IAEO,qBAAqB,CAAC,OAAe;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC;QACb,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAEpM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IAEO,wBAAwB,CAAC,OAAe;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACjC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,0DAA0D,CAAC;IACtE,CAAC;IAEO,0BAA0B;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,oBAAoB;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,WAAW,CAAC,OAAgB;QAChC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;gBAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,0DAA0D,CAAC;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,wDAAwD,CAAC;IACpE,CAAC;IAEO,iCAAiC,CAAC,OAAgB;QACtD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,wDAAwD,CAAC;IACpE,CAAC;IAEO,sBAAsB,CAAC,OAAe;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,EAAE,CAAC;YAC9F,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE;oBAC9B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,IAAI;oBACZ,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,IAAI;oBACpB,WAAW,EAAE,IAAI;iBACpB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,OAAe;QACrC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,8BAA8B,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,iBAAiB;QACrB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAEO,gBAAgB;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,2BAA2B,CAAC;IACvC,CAAC;IAEO,sBAAsB,CAAC,OAAe;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC;YACxD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,wBAAwB,CAAC,OAAe;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC;YACxD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,qBAAqB;QACzB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAEO,uBAAuB;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,wBAAwB,CAAC,OAAe;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC;YACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,0BAA0B;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC;YACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAEO,0BAA0B;QAC9B,IAAI,MAAM,GAAG,wFAAwF,CAAC;QACtG,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,YAAY,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;QAC/F,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,uBAAuB;QAC3B,IAAI,MAAM,GAAG,8FAA8F,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC;QACpI,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,eAAe,IAAI,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,WAAW;gBAAE,MAAM,IAAI,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC;YACzE,IAAI,MAAM,CAAC,EAAE;gBAAE,MAAM,IAAI,iBAAiB,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACvE,IAAI,MAAM,CAAC,aAAa;gBAAE,MAAM,IAAI,aAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC;QACpB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,cAAc,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,iBAAiB,IAAI,MAAM,EAAE,CAAC;QAChH,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,mBAAmB;QACvB,IAAI,MAAM,GAAG,yDAAyD,CAAC;QACvE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gDAAgD,CAAC;QAC1F,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,oBAAoB;QACxB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,OAAO,MAAM,sBAAsB,KAAK,IAAI,CAAC;QAClE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEO,0BAA0B;QAC9B,IAAI,MAAM,GAAG,2EAA2E,CAAC;QACzF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACxG,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAK,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,+CAA+C,CAAC;QAC9I,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEO,iBAAiB;QACrB,IAAI,MAAM,GAAG,sCAAsC,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,cAAc,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;YAChI,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,IAAI,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEO,uBAAuB,CAAC,OAAe;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,8DAA8D,CAAC;IAC1E,CAAC;IAEO,sBAAsB,CAAC,OAAe;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,sCAAsC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,2CAA2C,CAAC;IACvD,CAAC;IAEO,oBAAoB,CAAC,OAAe;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,EAAE,CAAC;YAC9F,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAC3C,MAAM,KAAK,GAAiB;YACxB,OAAO;YACP,IAAI;YACJ,OAAO,EAAE,OAAO,IAAI,IAAI;YACxB,iBAAiB,EAAE,IAAI;YACvB,SAAS,EAAE,KAAK;SACnB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,2BAA2B,CAAC,OAAe,EAAE,OAAe;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,iCAAiC,OAAO,EAAE,CAAC;IAC3F,CAAC;IAEO,oBAAoB,CAAC,OAAe;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG;YACZ,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE;YACpE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;YAC9D,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;YACtD,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;SACjD,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9E,IAAI,YAAY,EAAE,CAAC;gBACf,OAAO,GAAG,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEM,wBAAwB;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,qBAAqB;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAChC,CAAC;IAEO,aAAa;QACjB,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YACtB,UAAU,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;YACzG,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;YAC5C,cAAc,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;YAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;SACnD,CAAC;IACN,CAAC;IAEO,eAAe,CAAC,QAAsB;QAC1C,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,sBAAsB;QAC1B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;QAExD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrE,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC1C,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE;oBACrB,OAAO;oBACP,IAAI,EAAE,MAAM,CAAC,MAAM;oBACnB,OAAO,EAAE,IAAI;oBACb,iBAAiB,EAAE,IAAI;oBACvB,SAAS,EAAE,IAAI;iBAClB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC;IACjE,CAAC;IAEO,sBAAsB,CAAC,IAAY;QACvC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACjF,SAAS;YACb,CAAC;YAED,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtD,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,SAAS;YACb,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,EAAU,EAAE,IAAY;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,cAAc,CAAC,EAAU,EAAE,WAAmB,EAAE,IAAY;QAChE,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAClG,CAAC;IAEO,cAAc,CAAC,EAAU,EAAE,OAAe,EAAE,IAAY;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,OAAO,CAAC;IAC5D,CAAC;IAEO,YAAY,CAAC,EAAU;QAC3B,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,YAAY,CAAC,KAAe;QAChC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,SAAkB;QAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,GAAG,GAAG,CAAC;QAClB,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,SAAS,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,OAAe;QAC5C,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,IAAI,IAAI,CAAC;gBACf,SAAS;YACb,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACjD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;oBAClB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;oBAChD,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9C,KAAK,GAAG,QAAQ,CAAC;oBACjB,SAAS;gBACb,CAAC;YACL,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;YACxB,OAAO,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACvE,OAAO,EAAE,CAAC;YACd,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/C,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;gBACpB,SAAS;YACb,CAAC;YAED,MAAM,IAAI,GAAG,CAAC;QAClB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,cAAc;QAClB,OAAO;;;;2CAI4B,CAAC;IACxC,CAAC;IAEO,gBAAgB,CAAC,OAAe;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC7C,OAAO,wDAAwD,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,kBAAkB,CAAC;QAC7D,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,OAAe;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC7C,OAAO,wDAAwD,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,gBAAgB,CAAC;QAC3D,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,OAAe;QACtC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC7C,OAAO,wDAAwD,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,oBAAoB,CAAC;QAC/D,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AA18BD,kCA08BC"}
1
+ {"version":3,"file":"MockSession.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/MockSession.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,8 @@ export declare class NetconfSession extends BaseSession {
39
39
  private negotiatedCapabilities;
40
40
  private incomingBuffer;
41
41
  private bufferedMessages;
42
- private pendingMessageWaiter;
42
+ private pendingMessageWaiters;
43
+ private helloMessageWaiter;
43
44
  private nextMessageId;
44
45
  private readonly parser;
45
46
  private readonly builder;
@@ -66,7 +67,8 @@ export declare class NetconfSession extends BaseSession {
66
67
  private bindStream;
67
68
  private handleIncomingData;
68
69
  private extractNextMessage;
69
- private waitForMessage;
70
+ private waitForHelloMessage;
71
+ private waitForMessageForId;
70
72
  private rejectPending;
71
73
  private cleanupConnection;
72
74
  }
@@ -22,7 +22,8 @@ class NetconfSession extends BaseSession_1.BaseSession {
22
22
  negotiatedCapabilities = [];
23
23
  incomingBuffer = '';
24
24
  bufferedMessages = [];
25
- pendingMessageWaiter = null;
25
+ pendingMessageWaiters = new Map();
26
+ helloMessageWaiter = null;
26
27
  nextMessageId = 1;
27
28
  parser = new xml2js_1.Parser({
28
29
  explicitArray: false,
@@ -129,8 +130,13 @@ class NetconfSession extends BaseSession_1.BaseSession {
129
130
  }
130
131
  const framedPayload = this.frameMessage(xmlPayload, this.negotiatedFraming);
131
132
  console.log(chalk_1.default.cyan(`❯ Sending NETCONF RPC request to ${this.host}...`));
133
+ const msgIdMatch = /message-id=["']([^"']+)["']/i.exec(xmlPayload);
134
+ const messageId = msgIdMatch ? msgIdMatch[1] : null;
135
+ if (!messageId) {
136
+ throw new Error('Unable to extract message-id from NETCONF RPC payload.');
137
+ }
132
138
  await this.writeFrame(framedPayload);
133
- const xml = await this.waitForMessage(timeoutMs);
139
+ const xml = await this.waitForMessageForId(messageId, timeoutMs);
134
140
  const parsed = await this.parseRpcReply(xml);
135
141
  this.throwIfRpcError(parsed);
136
142
  return { xml, parsed };
@@ -235,7 +241,7 @@ class NetconfSession extends BaseSession_1.BaseSession {
235
241
  const hello = this.buildHelloMessage();
236
242
  await this.writeFrame(this.frameMessage(hello, '1.0'));
237
243
  const helloTimeout = this.credentials.helloTimeoutMs ?? 15000;
238
- const peerHelloXml = await this.waitForMessage(helloTimeout);
244
+ const peerHelloXml = await this.waitForHelloMessage(helloTimeout);
239
245
  const peerHello = await this.parseRpcReply(peerHelloXml);
240
246
  this.negotiatedCapabilities = this.extractCapabilities(peerHello);
241
247
  this.negotiatedFraming = this.negotiatedCapabilities.includes(NETCONF_BASE_1_1) ? '1.1' : '1.0';
@@ -252,16 +258,33 @@ class NetconfSession extends BaseSession_1.BaseSession {
252
258
  }
253
259
  });
254
260
  }
255
- buildErrorMessage(error) {
256
- const errorTag = this.findFirstText(error?.['error-tag'] ?? error?.errorTag ?? error?.['error-type'] ?? error?.errorType);
257
- const errorMessage = this.findFirstText(error?.['error-message'] ?? error?.errorMessage ?? error?._);
258
- if (errorTag && errorMessage) {
259
- return `${errorTag}: ${errorMessage}`;
260
- }
261
- if (errorTag) {
262
- return errorTag;
261
+ buildErrorMessage(errorPayload) {
262
+ const errors = Array.isArray(errorPayload) ? errorPayload : [errorPayload];
263
+ const descriptions = [];
264
+ for (const err of errors) {
265
+ const errorTag = this.findFirstText(err?.['error-tag'] ?? err?.errorTag ?? err?.['error-type'] ?? err?.errorType);
266
+ const errorMessage = this.findFirstText(err?.['error-message'] ?? err?.errorMessage ?? err?._);
267
+ const errorPath = this.findFirstText(err?.['error-path'] ?? err?.errorPath);
268
+ const errorInfo = err?.['error-info'] ? JSON.stringify(err['error-info']) : '';
269
+ let desc = '';
270
+ if (errorTag && errorMessage) {
271
+ desc = `${errorTag}: ${errorMessage}`;
272
+ }
273
+ else if (errorTag) {
274
+ desc = errorTag;
275
+ }
276
+ else {
277
+ desc = errorMessage || 'Unknown NETCONF rpc-error';
278
+ }
279
+ if (errorPath) {
280
+ desc += ` (path: ${errorPath})`;
281
+ }
282
+ if (errorInfo) {
283
+ desc += ` (info: ${errorInfo})`;
284
+ }
285
+ descriptions.push(desc);
263
286
  }
264
- return errorMessage || 'Unknown NETCONF rpc-error';
287
+ return descriptions.join('; ');
265
288
  }
266
289
  throwIfRpcError(parsed) {
267
290
  const reply = parsed['rpc-reply'] ?? parsed.rpcReply ?? parsed.rpc;
@@ -269,8 +292,7 @@ class NetconfSession extends BaseSession_1.BaseSession {
269
292
  if (!rpcError) {
270
293
  return;
271
294
  }
272
- const errorPayload = Array.isArray(rpcError) ? rpcError[0] : rpcError;
273
- const error = new Error(`NETCONF rpc-error: ${this.buildErrorMessage(errorPayload)}`);
295
+ const error = new Error(`NETCONF rpc-error: ${this.buildErrorMessage(rpcError)}`);
274
296
  error.details = parsed;
275
297
  throw error;
276
298
  }
@@ -378,9 +400,20 @@ class NetconfSession extends BaseSession_1.BaseSession {
378
400
  }
379
401
  this.incomingBuffer = extracted.remainder;
380
402
  const payload = extracted.payload.trim();
381
- if (this.pendingMessageWaiter) {
382
- const waiter = this.pendingMessageWaiter;
383
- this.pendingMessageWaiter = null;
403
+ const msgIdMatch = /message-id=["']([^"']+)["']/i.exec(payload);
404
+ const messageId = msgIdMatch ? msgIdMatch[1] : null;
405
+ if (messageId) {
406
+ const waiter = this.pendingMessageWaiters.get(messageId);
407
+ if (waiter) {
408
+ this.pendingMessageWaiters.delete(messageId);
409
+ clearTimeout(waiter.timer);
410
+ waiter.resolve(payload);
411
+ continue;
412
+ }
413
+ }
414
+ else if (this.helloMessageWaiter && payload.includes('<hello')) {
415
+ const waiter = this.helloMessageWaiter;
416
+ this.helloMessageWaiter = null;
384
417
  clearTimeout(waiter.timer);
385
418
  waiter.resolve(payload);
386
419
  continue;
@@ -443,32 +476,63 @@ class NetconfSession extends BaseSession_1.BaseSession {
443
476
  }
444
477
  return null;
445
478
  }
446
- waitForMessage(timeoutMs) {
447
- const buffered = this.bufferedMessages.shift();
448
- if (buffered !== undefined) {
449
- return Promise.resolve(buffered);
479
+ waitForHelloMessage(timeoutMs) {
480
+ const bufferedIndex = this.bufferedMessages.findIndex(m => m.includes('<hello'));
481
+ if (bufferedIndex !== -1) {
482
+ const msg = this.bufferedMessages[bufferedIndex];
483
+ this.bufferedMessages.splice(bufferedIndex, 1);
484
+ return Promise.resolve(msg);
450
485
  }
451
486
  return new Promise((resolve, reject) => {
452
487
  const timer = setTimeout(() => {
453
- if (this.pendingMessageWaiter && this.pendingMessageWaiter.timer === timer) {
454
- this.pendingMessageWaiter = null;
488
+ if (this.helloMessageWaiter && this.helloMessageWaiter.timer === timer) {
489
+ this.helloMessageWaiter = null;
455
490
  }
456
- reject(new Error(`NETCONF response timeout after ${timeoutMs}ms.`));
491
+ reject(new Error(`NETCONF hello handshake timeout after ${timeoutMs}ms.`));
457
492
  }, timeoutMs);
458
- this.pendingMessageWaiter = {
493
+ this.helloMessageWaiter = {
459
494
  resolve,
460
495
  reject,
461
496
  timer
462
497
  };
463
498
  });
464
499
  }
500
+ waitForMessageForId(messageId, timeoutMs) {
501
+ const bufferedIndex = this.bufferedMessages.findIndex(m => {
502
+ const match = /message-id=["']([^"']+)["']/i.exec(m);
503
+ return match ? match[1] === messageId : false;
504
+ });
505
+ if (bufferedIndex !== -1) {
506
+ const msg = this.bufferedMessages[bufferedIndex];
507
+ this.bufferedMessages.splice(bufferedIndex, 1);
508
+ return Promise.resolve(msg);
509
+ }
510
+ return new Promise((resolve, reject) => {
511
+ const timer = setTimeout(() => {
512
+ if (this.pendingMessageWaiters.has(messageId)) {
513
+ this.pendingMessageWaiters.delete(messageId);
514
+ }
515
+ reject(new Error(`NETCONF response timeout for message-id ${messageId} after ${timeoutMs}ms.`));
516
+ }, timeoutMs);
517
+ this.pendingMessageWaiters.set(messageId, {
518
+ resolve,
519
+ reject,
520
+ timer
521
+ });
522
+ });
523
+ }
465
524
  rejectPending(error) {
466
- if (this.pendingMessageWaiter) {
467
- const waiter = this.pendingMessageWaiter;
468
- this.pendingMessageWaiter = null;
525
+ if (this.helloMessageWaiter) {
526
+ const waiter = this.helloMessageWaiter;
527
+ this.helloMessageWaiter = null;
528
+ clearTimeout(waiter.timer);
529
+ waiter.reject(error);
530
+ }
531
+ for (const waiter of this.pendingMessageWaiters.values()) {
469
532
  clearTimeout(waiter.timer);
470
533
  waiter.reject(error);
471
534
  }
535
+ this.pendingMessageWaiters.clear();
472
536
  }
473
537
  cleanupConnection() {
474
538
  this.connected = false;