@centrifuge/sdk 1.4.6 → 1.5.1

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.
@@ -10,7 +10,7 @@ import { context } from '../tests/setup.js';
10
10
  import { randomAddress } from '../tests/utils.js';
11
11
  import { makeThenable } from '../utils/rx.js';
12
12
  import { PoolId, ShareClassId } from '../utils/types.js';
13
- import { generateCombinations, getMerkleTree, MerkleProofManager } from './MerkleProofManager.js';
13
+ import { findWorkflowPolicyIndices, generateCombinations, getMerkleTree, isVerifiedWorkflow, MerkleProofManager, } from './MerkleProofManager.js';
14
14
  import { Pool } from './Pool.js';
15
15
  import { PoolNetwork } from './PoolNetwork.js';
16
16
  const chainId = 11155111;
@@ -461,11 +461,11 @@ describe('MerkleProofManager', () => {
461
461
  const tree = getMerkleTree(SimpleMerkleTree, policies);
462
462
  expect(tree.root).to.equal(expectedRootHash);
463
463
  });
464
- // TODO: Finish once pool tests are working and we can setup pool metadata and read it
465
- it.skip('sets templates', async () => {
464
+ it('sets workflows', async () => {
466
465
  const centrifugeWithPin = new Centrifuge({
467
466
  environment: 'testnet',
468
- pinJson: async () => {
467
+ pinJson: async (data) => {
468
+ expect(data.merkleProofManager[chainId][strategist].workflows).to.have.length(1);
469
469
  return 'abc';
470
470
  },
471
471
  rpcUrls: {
@@ -475,17 +475,20 @@ describe('MerkleProofManager', () => {
475
475
  const mpm = new MerkleProofManager(centrifugeWithPin, merkleProofManager.network, mpmAddress);
476
476
  context.tenderlyFork.impersonateAddress = fundManager;
477
477
  centrifugeWithPin.setSigner(context.tenderlyFork.signer);
478
- const template = {
479
- id: 'template-1',
480
- name: 'Default Template',
478
+ const workflow = {
479
+ id: 'workflow-1',
480
+ name: 'Default Workflow',
481
+ template: 'erc7540_requestDeposit',
482
+ category: 'Allocation',
483
+ iconUrl: 'ipfs://icon',
484
+ isVerified: false,
481
485
  actions: [
482
486
  { policyIndex: 0, defaultValues: ['0x', 987654321000] },
483
487
  { policyIndex: 1, defaultValues: [987654321000, '0x'] },
484
488
  ],
485
489
  createdAt: new Date().toISOString(),
486
- updatedAt: undefined,
487
490
  };
488
- await mpm.setTemplates(strategist, [template]);
491
+ await mpm.setWorkflows(strategist, [workflow]);
489
492
  });
490
493
  it('sets policies', async () => {
491
494
  const centrifugeWithPin = new Centrifuge({
@@ -512,6 +515,430 @@ describe('MerkleProofManager', () => {
512
515
  });
513
516
  expect(rootHash).to.equal(tree.root);
514
517
  });
518
+ it('addPolicy appends policies and keeps existing indices stable', async () => {
519
+ let pinnedMetadata;
520
+ const centrifugeWithPin = new Centrifuge({
521
+ environment: 'testnet',
522
+ pinJson: async (data) => {
523
+ pinnedMetadata = data;
524
+ return 'abc';
525
+ },
526
+ rpcUrls: {
527
+ 11155111: context.tenderlyFork.rpcUrl,
528
+ },
529
+ });
530
+ const mpm = new MerkleProofManager(centrifugeWithPin, merkleProofManager.network, mpmAddress);
531
+ context.tenderlyFork.impersonateAddress = fundManager;
532
+ centrifugeWithPin.setSigner(context.tenderlyFork.signer);
533
+ const details = await mpm.pool.details();
534
+ const existingWorkflow = {
535
+ id: 'existing-workflow',
536
+ name: 'Existing workflow',
537
+ createdAt: new Date().toISOString(),
538
+ actions: [
539
+ {
540
+ policyIndex: 0,
541
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
542
+ },
543
+ ],
544
+ isVerified: false,
545
+ };
546
+ const detailsStub = sinon.stub(mpm.pool, 'details');
547
+ detailsStub.resolves({
548
+ ...details,
549
+ metadata: {
550
+ ...details.metadata,
551
+ merkleProofManager: {
552
+ ...details.metadata?.merkleProofManager,
553
+ [chainId]: {
554
+ ...details.metadata?.merkleProofManager?.[chainId],
555
+ [strategist.toLowerCase()]: {
556
+ policies: mockPolicies,
557
+ workflows: [existingWorkflow],
558
+ },
559
+ },
560
+ },
561
+ },
562
+ });
563
+ const newPolicy = {
564
+ decoder: mockPolicies[0].decoder,
565
+ target: mockPolicies[0].target,
566
+ targetName: mockPolicies[0].targetName,
567
+ name: mockPolicies[0].name,
568
+ selector: mockPolicies[0].selector,
569
+ valueNonZero: mockPolicies[0].valueNonZero,
570
+ inputs: mockPolicies[0].inputs,
571
+ };
572
+ const verificationActions = [
573
+ {
574
+ policy: newPolicy,
575
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
576
+ },
577
+ ];
578
+ await mpm.addPolicy(strategist, [newPolicy], {
579
+ id: 'added-workflow',
580
+ name: 'Added workflow',
581
+ template: 'erc7540_requestDeposit',
582
+ category: 'Allocation',
583
+ iconUrl: 'ipfs://icon',
584
+ verificationActions,
585
+ });
586
+ const stored = pinnedMetadata.merkleProofManager[chainId][strategist.toLowerCase()];
587
+ expect(stored.policies).to.have.length(mockPolicies.length + 1);
588
+ expect(stored.policies.slice(0, mockPolicies.length)).to.deep.equal(mockPolicies);
589
+ expect(stored.workflows).to.have.length(2);
590
+ const addedWorkflow = stored.workflows.find((workflow) => workflow.id === 'added-workflow');
591
+ expect(addedWorkflow).to.exist;
592
+ expect(addedWorkflow.actions[0].policyIndex).to.equal(mockPolicies.length);
593
+ expect(addedWorkflow.isVerified).to.equal(true);
594
+ const expectedTree = getMerkleTree(SimpleMerkleTree, stored.policies);
595
+ const rootHash = await (await centrifugeWithPin.getClient(centId)).readContract({
596
+ address: mpmAddress,
597
+ abi: ABI.MerkleProofManager,
598
+ functionName: 'policy',
599
+ args: [strategist],
600
+ });
601
+ expect(rootHash).to.equal(expectedTree.root);
602
+ detailsStub.restore();
603
+ });
604
+ it('addWorkflow reuses existing strategist policies and stores a verified workflow only', async () => {
605
+ let pinnedMetadata;
606
+ const centrifugeWithPin = new Centrifuge({
607
+ environment: 'testnet',
608
+ pinJson: async (data) => {
609
+ pinnedMetadata = data;
610
+ return 'abc';
611
+ },
612
+ rpcUrls: {
613
+ 11155111: context.tenderlyFork.rpcUrl,
614
+ },
615
+ });
616
+ const mpm = new MerkleProofManager(centrifugeWithPin, merkleProofManager.network, mpmAddress);
617
+ context.tenderlyFork.impersonateAddress = fundManager;
618
+ centrifugeWithPin.setSigner(context.tenderlyFork.signer);
619
+ const details = await mpm.pool.details();
620
+ const detailsStub = sinon.stub(mpm.pool, 'details');
621
+ detailsStub.resolves({
622
+ ...details,
623
+ metadata: {
624
+ ...details.metadata,
625
+ merkleProofManager: {
626
+ ...details.metadata?.merkleProofManager,
627
+ [chainId]: {
628
+ ...details.metadata?.merkleProofManager?.[chainId],
629
+ [strategist.toLowerCase()]: {
630
+ policies: [mockPolicies[0], mockPolicies[1]],
631
+ workflows: [],
632
+ },
633
+ },
634
+ },
635
+ },
636
+ });
637
+ const verificationActions = [
638
+ {
639
+ policy: {
640
+ decoder: mockPolicies[0].decoder,
641
+ target: mockPolicies[0].target,
642
+ targetName: mockPolicies[0].targetName,
643
+ name: mockPolicies[0].name,
644
+ selector: mockPolicies[0].selector,
645
+ valueNonZero: mockPolicies[0].valueNonZero,
646
+ inputs: mockPolicies[0].inputs,
647
+ },
648
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
649
+ },
650
+ {
651
+ policy: {
652
+ decoder: mockPolicies[1].decoder,
653
+ target: mockPolicies[1].target,
654
+ targetName: mockPolicies[1].targetName,
655
+ name: mockPolicies[1].name,
656
+ selector: mockPolicies[1].selector,
657
+ valueNonZero: mockPolicies[1].valueNonZero,
658
+ inputs: mockPolicies[1].inputs,
659
+ },
660
+ defaultValues: [null, randomUser],
661
+ },
662
+ ];
663
+ await mpm.addWorkflow(strategist, {
664
+ id: 'marketplace-workflow',
665
+ name: 'Marketplace workflow',
666
+ template: 'erc7540_requestDeposit',
667
+ category: 'Allocation',
668
+ iconUrl: 'ipfs://icon',
669
+ verificationActions,
670
+ });
671
+ const stored = pinnedMetadata.merkleProofManager[chainId][strategist.toLowerCase()];
672
+ expect(stored.policies).to.deep.equal([mockPolicies[0], mockPolicies[1]]);
673
+ expect(stored.workflows).to.have.length(1);
674
+ expect(stored.workflows[0].actions).to.deep.equal([
675
+ { policyIndex: 0, defaultValues: [mockPolicies[0].inputs[0].input[0], null] },
676
+ { policyIndex: 1, defaultValues: [null, randomUser] },
677
+ ]);
678
+ expect(stored.workflows[0].isVerified).to.equal(true);
679
+ detailsStub.restore();
680
+ });
681
+ it('addPolicy rejects duplicate marketplace workflows before persisting metadata', async () => {
682
+ let pinCallCount = 0;
683
+ const centrifugeWithPin = new Centrifuge({
684
+ environment: 'testnet',
685
+ pinJson: async () => {
686
+ pinCallCount += 1;
687
+ return 'abc';
688
+ },
689
+ rpcUrls: {
690
+ 11155111: context.tenderlyFork.rpcUrl,
691
+ },
692
+ });
693
+ const mpm = new MerkleProofManager(centrifugeWithPin, merkleProofManager.network, mpmAddress);
694
+ context.tenderlyFork.impersonateAddress = fundManager;
695
+ centrifugeWithPin.setSigner(context.tenderlyFork.signer);
696
+ const details = await mpm.pool.details();
697
+ const existingWorkflow = {
698
+ id: 'existing-workflow',
699
+ name: 'Existing workflow',
700
+ template: 'erc7540_requestDeposit',
701
+ createdAt: new Date().toISOString(),
702
+ actions: [
703
+ {
704
+ policyIndex: 0,
705
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
706
+ },
707
+ ],
708
+ isVerified: true,
709
+ };
710
+ const detailsStub = sinon.stub(mpm.pool, 'details');
711
+ detailsStub.resolves({
712
+ ...details,
713
+ metadata: {
714
+ ...details.metadata,
715
+ merkleProofManager: {
716
+ ...details.metadata?.merkleProofManager,
717
+ [chainId]: {
718
+ ...details.metadata?.merkleProofManager?.[chainId],
719
+ [strategist.toLowerCase()]: {
720
+ policies: [mockPolicies[0]],
721
+ workflows: [existingWorkflow],
722
+ },
723
+ },
724
+ },
725
+ },
726
+ });
727
+ const duplicatePolicy = {
728
+ decoder: mockPolicies[0].decoder,
729
+ target: mockPolicies[0].target,
730
+ targetName: mockPolicies[0].targetName,
731
+ name: mockPolicies[0].name,
732
+ selector: mockPolicies[0].selector,
733
+ valueNonZero: mockPolicies[0].valueNonZero,
734
+ inputs: mockPolicies[0].inputs,
735
+ };
736
+ try {
737
+ await mpm.addPolicy(strategist, [duplicatePolicy], {
738
+ id: 'duplicate-workflow',
739
+ name: 'Duplicate workflow',
740
+ template: 'erc7540_requestDeposit',
741
+ verificationActions: [
742
+ {
743
+ policy: duplicatePolicy,
744
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
745
+ },
746
+ ],
747
+ });
748
+ expect.fail('Expected duplicate marketplace workflow to be rejected');
749
+ }
750
+ catch (error) {
751
+ expect(error.message).to.equal(`Workflow "erc7540_requestDeposit" already exists for strategist "${strategist.toLowerCase()}"`);
752
+ }
753
+ expect(pinCallCount).to.equal(0);
754
+ detailsStub.restore();
755
+ });
756
+ describe('isVerifiedWorkflow', () => {
757
+ it('returns true for exact policy and default-values match', () => {
758
+ const policyInput = {
759
+ decoder: mockPolicies[0].decoder,
760
+ target: mockPolicies[0].target,
761
+ targetName: mockPolicies[0].targetName,
762
+ name: mockPolicies[0].name,
763
+ selector: mockPolicies[0].selector,
764
+ valueNonZero: mockPolicies[0].valueNonZero,
765
+ inputs: mockPolicies[0].inputs,
766
+ };
767
+ const workflow = {
768
+ id: 'workflow-1',
769
+ name: 'Workflow',
770
+ createdAt: new Date().toISOString(),
771
+ actions: [
772
+ {
773
+ policyIndex: 0,
774
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
775
+ },
776
+ ],
777
+ };
778
+ expect(isVerifiedWorkflow(workflow, [mockPolicies[0]], [
779
+ {
780
+ policy: policyInput,
781
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
782
+ },
783
+ ])).to.equal(true);
784
+ });
785
+ it('returns false when action order differs', () => {
786
+ const workflow = {
787
+ id: 'workflow-2',
788
+ name: 'Workflow',
789
+ createdAt: new Date().toISOString(),
790
+ actions: [
791
+ {
792
+ policyIndex: 0,
793
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
794
+ },
795
+ {
796
+ policyIndex: 1,
797
+ defaultValues: [null, randomUser],
798
+ },
799
+ ],
800
+ };
801
+ const canonicalActions = [
802
+ {
803
+ decoder: mockPolicies[1].decoder,
804
+ target: mockPolicies[1].target,
805
+ targetName: mockPolicies[1].targetName,
806
+ name: mockPolicies[1].name,
807
+ selector: mockPolicies[1].selector,
808
+ valueNonZero: mockPolicies[1].valueNonZero,
809
+ inputs: mockPolicies[1].inputs,
810
+ },
811
+ {
812
+ decoder: mockPolicies[0].decoder,
813
+ target: mockPolicies[0].target,
814
+ targetName: mockPolicies[0].targetName,
815
+ name: mockPolicies[0].name,
816
+ selector: mockPolicies[0].selector,
817
+ valueNonZero: mockPolicies[0].valueNonZero,
818
+ inputs: mockPolicies[0].inputs,
819
+ },
820
+ ];
821
+ expect(isVerifiedWorkflow(workflow, [mockPolicies[0], mockPolicies[1]], [
822
+ { policy: canonicalActions[0], defaultValues: [null, randomUser] },
823
+ { policy: canonicalActions[1], defaultValues: [mockPolicies[0].inputs[0].input[0], null] },
824
+ ])).to.equal(false);
825
+ });
826
+ it('returns false when policy structure differs', () => {
827
+ const policyInput = {
828
+ decoder: mockPolicies[0].decoder,
829
+ target: randomAddress(),
830
+ targetName: mockPolicies[0].targetName,
831
+ name: mockPolicies[0].name,
832
+ selector: mockPolicies[0].selector,
833
+ valueNonZero: mockPolicies[0].valueNonZero,
834
+ inputs: mockPolicies[0].inputs,
835
+ };
836
+ const workflow = {
837
+ id: 'workflow-3',
838
+ name: 'Workflow',
839
+ createdAt: new Date().toISOString(),
840
+ actions: [
841
+ {
842
+ policyIndex: 0,
843
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
844
+ },
845
+ ],
846
+ };
847
+ expect(isVerifiedWorkflow(workflow, [mockPolicies[0]], [{ policy: policyInput, defaultValues: [mockPolicies[0].inputs[0].input[0], null] }])).to.equal(false);
848
+ });
849
+ it('returns false when default-values differ', () => {
850
+ const policyInput = {
851
+ decoder: mockPolicies[0].decoder,
852
+ target: mockPolicies[0].target,
853
+ targetName: mockPolicies[0].targetName,
854
+ name: mockPolicies[0].name,
855
+ selector: mockPolicies[0].selector,
856
+ valueNonZero: mockPolicies[0].valueNonZero,
857
+ inputs: mockPolicies[0].inputs,
858
+ };
859
+ const workflow = {
860
+ id: 'workflow-4',
861
+ name: 'Workflow',
862
+ createdAt: new Date().toISOString(),
863
+ actions: [
864
+ {
865
+ policyIndex: 0,
866
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
867
+ },
868
+ ],
869
+ };
870
+ expect(isVerifiedWorkflow(workflow, [mockPolicies[0]], [{ policy: policyInput, defaultValues: [mockPolicies[0].inputs[0].input[0], 123] }])).to.equal(false);
871
+ });
872
+ it('returns false when default-values are not positional', () => {
873
+ const policyInput = {
874
+ decoder: mockPolicies[0].decoder,
875
+ target: mockPolicies[0].target,
876
+ targetName: mockPolicies[0].targetName,
877
+ name: mockPolicies[0].name,
878
+ selector: mockPolicies[0].selector,
879
+ valueNonZero: mockPolicies[0].valueNonZero,
880
+ inputs: mockPolicies[0].inputs,
881
+ };
882
+ const workflow = {
883
+ id: 'workflow-5',
884
+ name: 'Workflow',
885
+ createdAt: new Date().toISOString(),
886
+ actions: [
887
+ {
888
+ policyIndex: 0,
889
+ defaultValues: [mockPolicies[0].inputs[0].input[0]],
890
+ },
891
+ ],
892
+ };
893
+ expect(isVerifiedWorkflow(workflow, [mockPolicies[0]], [{ policy: policyInput, defaultValues: [mockPolicies[0].inputs[0].input[0], null] }])).to.equal(false);
894
+ });
895
+ });
896
+ describe('findWorkflowPolicyIndices', () => {
897
+ it('returns matching policy indices for canonical actions', () => {
898
+ expect(findWorkflowPolicyIndices([mockPolicies[0], mockPolicies[1]], [
899
+ {
900
+ policy: {
901
+ decoder: mockPolicies[1].decoder,
902
+ target: mockPolicies[1].target,
903
+ targetName: mockPolicies[1].targetName,
904
+ name: mockPolicies[1].name,
905
+ selector: mockPolicies[1].selector,
906
+ valueNonZero: mockPolicies[1].valueNonZero,
907
+ inputs: mockPolicies[1].inputs,
908
+ },
909
+ defaultValues: [null, randomUser],
910
+ },
911
+ {
912
+ policy: {
913
+ decoder: mockPolicies[0].decoder,
914
+ target: mockPolicies[0].target,
915
+ targetName: mockPolicies[0].targetName,
916
+ name: mockPolicies[0].name,
917
+ selector: mockPolicies[0].selector,
918
+ valueNonZero: mockPolicies[0].valueNonZero,
919
+ inputs: mockPolicies[0].inputs,
920
+ },
921
+ defaultValues: [mockPolicies[0].inputs[0].input[0], null],
922
+ },
923
+ ])).to.deep.equal([1, 0]);
924
+ });
925
+ it('returns null when one of the canonical actions is missing', () => {
926
+ expect(findWorkflowPolicyIndices([mockPolicies[0]], [
927
+ {
928
+ policy: {
929
+ decoder: mockPolicies[1].decoder,
930
+ target: mockPolicies[1].target,
931
+ targetName: mockPolicies[1].targetName,
932
+ name: mockPolicies[1].name,
933
+ selector: mockPolicies[1].selector,
934
+ valueNonZero: mockPolicies[1].valueNonZero,
935
+ inputs: mockPolicies[1].inputs,
936
+ },
937
+ defaultValues: [null, randomUser],
938
+ },
939
+ ])).to.equal(null);
940
+ });
941
+ });
515
942
  it('can execute calls', async () => {
516
943
  const { vaultRouter } = await context.centrifuge._protocolAddresses(centId);
517
944
  const mock = sinon.stub(merkleProofManager.pool, 'metadata');
@@ -1 +1 @@
1
- {"version":3,"file":"MerkleProofManager.test.js","sourceRoot":"","sources":["../../src/entities/MerkleProofManager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MerkleProofManager.test.js","sourceRoot":"","sources":["../../src/entities/MerkleProofManager.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI9C,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,MAAM,GAAG,CAAC,CAAA;AAEhB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AACrC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAEzC,MAAM,SAAS,GAAG,4CAA4C,CAAA;AAE9D,MAAM,WAAW,GAAG,4CAA4C,CAAA;AAChE,MAAM,UAAU,GAAG,4CAA4C,CAAA;AAC/D,MAAM,YAAY,GAAG,4CAA4C,CAAA;AAEjE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,kBAAsC,CAAA;IAC1C,IAAI,YAAiC,CAAA;IACrC,IAAI,UAAqB,CAAA;IACzB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAC9B,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACjF,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7D,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;QAChF,MAAM,OAAO,GAAG,YAAY,CAAA;QAC5B,MAAM,MAAM,GAAG,YAAY,CAAA;QAC3B,UAAU,GAAG,aAAa,EAAE,CAAA;QAE5B,YAAY,GAAG;YACb;gBACE,OAAO;gBACP,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,kBAAkB;gBAC9B,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,mCAAmC;gBAC7C,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,cAAc;wBACrB,KAAK,EAAE,CAAC,WAAW,CAAC;qBACrB;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,EAAE;qBACV;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;wBAC3B,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;qBACxD;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,4DAA4D;gBACtE,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;wBAC1B,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;qBACvD;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,2DAA2D;gBACrE,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;wBAC1B,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;qBACvD;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,mFAAmF;gBAC7F,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,kBAAkB;wBAC7B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;oBACD;wBACE,SAAS,EAAE,oBAAoB;wBAC/B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;wBACtC,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;qBAC9E;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,kFAAkF;gBAC5F,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,kBAAkB;wBAC7B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;oBACD;wBACE,SAAS,EAAE,oBAAoB;wBAC/B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;wBACtC,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;qBAC9E;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,gFAAgF;gBAC1F,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,QAAQ;wBACnB,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAe,CAAC;qBACxC;oBACD;wBACE,SAAS,EAAE,cAAc;wBACzB,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,CAAC,SAAS,CAAC;qBACnB;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAe,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;wBACzE,aAAa,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;qBACjG;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,6CAA6C;gBACvD,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;wBAC1B,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;qBACvD;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,0CAA0C;gBACpD,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;wBAC1B,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;qBACvD;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,2DAA2D;gBACrE,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,kBAAkB;wBAC7B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;oBACD;wBACE,SAAS,EAAE,oBAAoB;wBAC/B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;wBACtC,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;qBAC9E;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,qEAAqE;gBAC/E,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,kBAAkB;wBAC7B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;oBACD;wBACE,SAAS,EAAE,oBAAoB;wBAC/B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;wBACtC,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;qBAC9E;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,oEAAoE;gBAC9E,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,kBAAkB;wBAC7B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;oBACD;wBACE,SAAS,EAAE,oBAAoB;wBAC/B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;wBACtC,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;qBAC9E;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,6DAA6D;gBACvE,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,kBAAkB;wBAC7B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;oBACD;wBACE,SAAS,EAAE,oBAAoB;wBAC/B,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;wBACtC,aAAa,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;qBAC9E;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,mEAAmE;gBAC7E,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,QAAQ;wBACnB,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAe,CAAC;qBACxC;oBACD;wBACE,SAAS,EAAE,cAAc;wBACzB,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,CAAC,SAAS,CAAC;qBACnB;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,CAAC,UAAU,CAAC;qBACpB;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAe,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;wBACrF,aAAa,EAAE,YAAY,CACzB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAC3C,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAC9C;qBACF;iBACF;aACF;SACF,CAAA;QAED,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAEzD,MAAM,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACzG,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,gBAAgB,GAAG,oEAAoE,CAAA;QAC7F,MAAM,MAAM,GAAG,gBAAgB,CAAA;QAC/B,MAAM,IAAI,GAAG,oCAAoC,CAAA;QACjD,MAAM,KAAK,GAAG,4CAA4C,CAAA;QAC1D,MAAM,OAAO,GAAG,4CAA4C,CAAA;QAC5D,MAAM,OAAO,GAAG,4CAA4C,CAAA;QAC5D,MAAM,MAAM,GAAG,4CAA4C,CAAA;QAE3D,MAAM,QAAQ,GAAwB;YACpC;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,mEAAmE;gBAC7E,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,QAAQ;wBACnB,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAe,CAAC;qBACxC;oBACD;wBACE,SAAS,EAAE,cAAc;wBACzB,KAAK,EAAE,CAAC,IAAI,CAAC;qBACd;oBACD;wBACE,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,CAAC,SAAS,CAAC;qBACnB;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACjB;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAe,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;wBAC1E,aAAa,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;qBACzG;iBACF;aACF;YACD;gBACE,OAAO;gBACP,MAAM;gBACN,QAAQ,EAAE,0DAA0D;gBACpE,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,cAAc;wBACzB,KAAK,EAAE,CAAC,IAAI,CAAC;qBACd;oBACD;wBACE,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,CAAC,SAAS,CAAC;qBACnB;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,EAAE;qBACV;iBACF;gBACD,iBAAiB,EAAE;oBACjB;wBACE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAe,EAAE,IAAI,EAAE,KAAK,CAAC;wBACrD,aAAa,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;qBACrF;iBACF;aACF;SACF,CAAA;QAED,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;QACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAChF,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;aACtC;SACF,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAE7F,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAExD,MAAM,QAAQ,GAAwB;YACpC,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE;gBACP,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;gBACvD,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;aACxD;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAA;QAED,MAAM,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;gBACzF,4CAA4C;gBAC5C,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;aACtC;SACF,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAE7F,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAExD,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QAE/C,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;QAE1D,MAAM,QAAQ,GAAG,MAAM,CACrB,MAAM,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAC1C,CAAC,YAAY,CAAC;YACb,OAAO,EAAE,UAAU;YACnB,GAAG,EAAE,GAAG,CAAC,kBAAkB;YAC3B,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,UAAU,CAAC;SACnB,CAAC,CAAA;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,IAAI,cAAmB,CAAA;QACvB,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,cAAc,GAAG,IAAI,CAAA;gBACrB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;aACtC;SACF,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAE7F,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAExD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACxC,MAAM,gBAAgB,GAAwB;YAC5C,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,mBAAmB;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE;gBACP;oBACE,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;iBAC7D;aACF;YACD,UAAU,EAAE,KAAK;SAClB,CAAA;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACnD,WAAW,CAAC,QAAQ,CAAC;YACnB,GAAG,OAAO;YACV,QAAQ,EAAE;gBACR,GAAG,OAAO,CAAC,QAAQ;gBACnB,kBAAkB,EAAE;oBAClB,GAAG,OAAO,CAAC,QAAQ,EAAE,kBAAkB;oBACvC,CAAC,OAAO,CAAC,EAAE;wBACT,GAAG,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC,OAAO,CAAC;wBAClD,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE;4BAC1B,QAAQ,EAAE,YAAY;4BACtB,SAAS,EAAE,CAAC,gBAAgB,CAAC;yBAC9B;qBACF;iBACF;aACF;SACK,CAAC,CAAA;QAET,MAAM,SAAS,GAA2B;YACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;YACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;YAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;YACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;YAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;YACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;YAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;SAChC,CAAA;QAED,MAAM,mBAAmB,GAAG;YAC1B;gBACE,MAAM,EAAE,SAAS;gBACjB,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;aAC7D;SACF,CAAA;QAED,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;YAC3C,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,aAAa;YACtB,mBAAmB;SACpB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;QACnF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACjF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAE1C,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAA6B,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAA;QAChH,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAA;QAC9B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC3E,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE/C,MAAM,YAAY,GAAG,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACrE,MAAM,QAAQ,GAAG,MAAM,CACrB,MAAM,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAC1C,CAAC,YAAY,CAAC;YACb,OAAO,EAAE,UAAU;YACnB,GAAG,EAAE,GAAG,CAAC,kBAAkB;YAC3B,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,UAAU,CAAC;SACnB,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAE5C,WAAW,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,IAAI,cAAmB,CAAA;QACvB,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,cAAc,GAAG,IAAI,CAAA;gBACrB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;aACtC;SACF,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAE7F,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAExD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACxC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACnD,WAAW,CAAC,QAAQ,CAAC;YACnB,GAAG,OAAO;YACV,QAAQ,EAAE;gBACR,GAAG,OAAO,CAAC,QAAQ;gBACnB,kBAAkB,EAAE;oBAClB,GAAG,OAAO,CAAC,QAAQ,EAAE,kBAAkB;oBACvC,CAAC,OAAO,CAAC,EAAE;wBACT,GAAG,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC,OAAO,CAAC;wBAClD,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE;4BAC1B,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC;4BAC9C,SAAS,EAAE,EAAE;yBACd;qBACF;iBACF;aACF;SACK,CAAC,CAAA;QAET,MAAM,mBAAmB,GAAG;YAC1B;gBACE,MAAM,EAAE;oBACN,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;oBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;oBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;oBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;oBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;oBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;oBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;iBAChC;gBACD,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;aAC7D;YACD;gBACE,MAAM,EAAE;oBACN,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;oBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;oBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;oBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;oBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;oBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;oBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;iBAChC;gBACD,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;aAClC;SACF,CAAA;QAED,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE;YAChC,EAAE,EAAE,sBAAsB;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,aAAa;YACtB,mBAAmB;SACpB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;QACnF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;QAC3E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACjD,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,EAAE;YAChF,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;SACtD,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEtD,WAAW,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,YAAY,IAAI,CAAC,CAAA;gBACjB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;aACtC;SACF,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAE7F,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAExD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACxC,MAAM,gBAAgB,GAAwB;YAC5C,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,wBAAwB;YAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE;gBACP;oBACE,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;iBAC7D;aACF;YACD,UAAU,EAAE,IAAI;SACjB,CAAA;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACnD,WAAW,CAAC,QAAQ,CAAC;YACnB,GAAG,OAAO;YACV,QAAQ,EAAE;gBACR,GAAG,OAAO,CAAC,QAAQ;gBACnB,kBAAkB,EAAE;oBAClB,GAAG,OAAO,CAAC,QAAQ,EAAE,kBAAkB;oBACvC,CAAC,OAAO,CAAC,EAAE;wBACT,GAAG,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC,OAAO,CAAC;wBAClD,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE;4BAC1B,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC;4BAC5B,SAAS,EAAE,CAAC,gBAAgB,CAAC;yBAC9B;qBACF;iBACF;aACF;SACK,CAAC,CAAA;QAET,MAAM,eAAe,GAA2B;YAC9C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;YACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;YAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;YACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;YAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;YACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;YAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;SAChC,CAAA;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE;gBACjD,EAAE,EAAE,oBAAoB;gBACxB,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,wBAAwB;gBAClC,mBAAmB,EAAE;oBACnB;wBACE,MAAM,EAAE,eAAe;wBACvB,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;qBAC7D;iBACF;aACF,CAAC,CAAA;YACF,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CACvC,oEAAoE,UAAU,CAAC,WAAW,EAAE,GAAG,CAChG,CAAA;QACH,CAAC;QAED,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEhC,WAAW,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;gBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;gBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;gBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;gBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;gBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;gBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;aAChC,CAAA;YACD,MAAM,QAAQ,GAAwB;gBACpC,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE;oBACP;wBACE,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;qBAC7D;iBACF;aACF,CAAA;YAED,MAAM,CACJ,kBAAkB,CAChB,QAAQ,EACR,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,EAClB;gBACE;oBACE,MAAM,EAAE,WAAW;oBACnB,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;iBAC7D;aACF,CACF,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,QAAQ,GAAwB;gBACpC,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE;oBACP;wBACE,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;qBAC7D;oBACD;wBACE,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;qBAClC;iBACF;aACF,CAAA;YAED,MAAM,gBAAgB,GAA6B;gBACjD;oBACE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;oBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;oBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;oBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;oBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;oBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;oBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;iBAChC;gBACD;oBACE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;oBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;oBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;oBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;oBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;oBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;oBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;iBAChC;aACF,CAAA;YAED,MAAM,CACJ,kBAAkB,CAChB,QAAQ,EACR,CAAC,YAAY,CAAC,CAAC,CAAE,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,EACpC;gBACE,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAE,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;gBACnE,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAE,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,EAAE;aAC/F,CACF,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;gBACjC,MAAM,EAAE,aAAa,EAAE;gBACvB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;gBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;gBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;gBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;gBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;aAChC,CAAA;YACD,MAAM,QAAQ,GAAwB;gBACpC,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE;oBACP;wBACE,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;qBAC7D;iBACF;aACF,CAAA;YAED,MAAM,CACJ,kBAAkB,CAChB,QAAQ,EACR,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,EAClB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACxF,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;gBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;gBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;gBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;gBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;gBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;gBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;aAChC,CAAA;YACD,MAAM,QAAQ,GAAwB;gBACpC,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE;oBACP;wBACE,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;qBAC7D;iBACF;aACF,CAAA;YAED,MAAM,CACJ,kBAAkB,CAChB,QAAQ,EACR,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,EAClB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CACvF,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;gBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;gBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;gBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;gBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;gBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;gBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;aAChC,CAAA;YACD,MAAM,QAAQ,GAAwB;gBACpC,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE;oBACP;wBACE,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;qBACvD;iBACF;aACF,CAAA;YAED,MAAM,CACJ,kBAAkB,CAChB,QAAQ,EACR,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,EAClB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACxF,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,CACJ,yBAAyB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,EAAE;gBAC9D;oBACE,MAAM,EAAE;wBACN,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;wBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;wBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;wBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;wBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;wBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;wBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;qBAChC;oBACD,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;iBAClC;gBACD;oBACE,MAAM,EAAE;wBACN,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;wBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;wBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;wBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;wBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;wBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;wBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;qBAChC;oBACD,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC;iBAC7D;aACF,CAAC,CACH,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,CACJ,yBAAyB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,EAAE;gBAC5C;oBACE,MAAM,EAAE;wBACN,OAAO,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO;wBACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;wBAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU;wBACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI;wBAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ;wBACnC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,YAAY;wBAC3C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;qBAChC;oBACD,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;iBAClC;aACF,CAAC,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAE3E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO,CACV,YAAY,CACV,EAAE,CAAC;YACD,kBAAkB,EAAE;gBAClB,CAAC,OAAO,CAAC,EAAE;oBACT,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;iBACvD;aACF;SACK,CAAC,CACV,CACF,CAAA;QAED,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;aACtC;SACF,CAAC,CAAA;QACF,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACxD,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC7F,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QAE/C,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;QACjE,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAA;QACpD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAEzD,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,UAAY,CAAC,EAAE,CAAC,CAAC,CAAA;QAErG,MAAM,OAAO,GAAG,MAAM,CACpB,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAC5C,CAAC,YAAY,CAAC;YACb,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,GAAG,CAAC,QAAQ;YACjB,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;SAChC,CAAC,CAAA;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAY,CAAC,CAAA;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAE3E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO,CACV,YAAY,CACV,EAAE,CAAC;YACD,kBAAkB,EAAE;gBAClB,CAAC,OAAO,CAAC,EAAE;oBACT,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;iBACvD;aACF;SACK,CAAC,CACV,CACF,CAAA;QAED,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;YACvC,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;aACtC;SACF,CAAC,CAAA;QACF,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAExD,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;QACjE,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAA;QACpD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAEzD,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,UAAY,CAAC,EAAE,CAAC,CAAC,CAAA;QACvG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,uDAAuD;gBACjE,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;qBACpC;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,CAAC;qBACf;iBACF;aACF,CAAA;YAED,MAAM,oBAAoB,GAA2B;gBACnD,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC5B,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC5B,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC5B,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;aAC7B,CAAA;YAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC7D,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;qBACpC;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,CAAC;qBACf;iBACF;aACF,CAAA;YAED,MAAM,oBAAoB,GAA2B;gBACnD,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3B,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC;aAC5B,CAAA;YAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC7D,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE;oBACN;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;qBAC7B;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,EAAE;qBACV;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,CAAC;qBACf;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,EAAE;qBACV;iBACF;aACF,CAAA;YAED,MAAM,oBAAoB,GAA2B;gBACnD,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;gBACjC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;gBACjC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;gBACjC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;gBACjC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;gBACjC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;aAClC,CAAA;YAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC7D,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,EAAE;aACX,CAAA;YAED,IAAI,CAAC;gBACH,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,qDAAqD;IACrD,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE3E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAC5D,IAAI,CAAC,OAAO,CACV,YAAY,CACV,EAAE,CAAC;gBACD,kBAAkB,EAAE;oBAClB,CAAC,OAAO,CAAC,EAAE;wBACT,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;qBACvD;iBACF;aACK,CAAC,CACV,CACF,CAAA;YAED,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;gBACvC,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;iBACtC;aACF,CAAC,CAAA;YACF,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;YACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YACxD,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAC7F,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAE/C,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;YACjE,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAA;YACpD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAEzD,MAAM,MAAM,GAAG,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAC9C,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,UAAY,CAAC,EAAE,CAAC,EACnE,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAqB,CAAA;YAEtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YACrD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACpD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAEhD,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAC5D,IAAI,CAAC,OAAO,CACV,YAAY,CACV,EAAE,CAAC;gBACD,kBAAkB,EAAE;oBAClB,CAAC,OAAO,CAAC,EAAE;wBACT,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;qBACvD;iBACF;aACK,CAAC,CACV,CACF,CAAA;YAED,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;gBACvC,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;iBACtC;aACF,CAAC,CAAA;YACF,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;YACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YACxD,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAC7F,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAE/C,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;YACjE,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAA;YACpD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAEzD,MAAM,MAAM,GAAG,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAC9C;gBACE;oBACE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAE;oBACzB,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAe,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,UAAY,CAAC;iBAC3F;aACF,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAqB,CAAA;YAEtB,MAAM,IAAI,GAAG,cAAc,CAAC;gBAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE;aACnC,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YACrD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACpD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC/C,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAiB,CAAA,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;YAC/F,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAiB,CAAA,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACzE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAiB,CAAA,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAY,CAAC,CAAA;YAEhE,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;gBACvC,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBACtB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;oBACzF,4CAA4C;oBAC5C,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;iBACtC;aACF,CAAC,CAAA;YACF,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAE7F,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAA;YACrD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAExD,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAqB,CAAA;YAExG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YACrD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;YAC7C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACpD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -3,9 +3,13 @@ export type FileType = {
3
3
  uri: string;
4
4
  mime: string;
5
5
  };
6
- export type MerkleProofTemplate = {
6
+ export type MerkleProofWorkflow = {
7
7
  id: string;
8
8
  name: string;
9
+ template?: string;
10
+ category?: string;
11
+ iconUrl?: string;
12
+ isVerified?: boolean;
9
13
  actions: MerkleProofTemplateAction[];
10
14
  createdAt: string;
11
15
  updatedAt?: string;
@@ -14,7 +18,7 @@ export type MerkleProofTemplateAction = {
14
18
  /** index of the policy in manager.policies[] */
15
19
  policyIndex: number;
16
20
  /** possible inputs for the policy execution, matching input order from policy inputs */
17
- defaultValues: (HexString | string | number)[];
21
+ defaultValues: (HexString | string | number | null)[];
18
22
  };
19
23
  export type MerkleProofPolicy = {
20
24
  decoder: HexString;
@@ -55,7 +59,7 @@ export type MerkleProofPolicy = {
55
59
  inputsEncoded: HexString;
56
60
  }[];
57
61
  };
58
- export type MerkleProofPolicyInput = Pick<MerkleProofPolicy, 'target' | 'targetName' | 'decoder' | 'name' | 'selector' | 'inputs'> & {
62
+ export type MerkleProofPolicyInput = Omit<MerkleProofPolicy, 'inputCombinations' | 'valueNonZero'> & {
59
63
  valueNonZero?: boolean;
60
64
  };
61
65
  export type PoolMetadata = {
@@ -134,7 +138,7 @@ export type PoolMetadata = {
134
138
  }>;
135
139
  merkleProofManager?: Record<string, Record<HexString, {
136
140
  policies: MerkleProofPolicy[];
137
- templates?: MerkleProofTemplate[];
141
+ workflows?: MerkleProofWorkflow[];
138
142
  }>>;
139
143
  loanTemplates?: {
140
144
  id: string;