arc402-cli 0.7.5 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MIGRATION-SPEC.md +108 -0
- package/dist/abis.js +14 -17
- package/dist/abis.js.map +1 -1
- package/dist/bundler.d.ts +1 -1
- package/dist/bundler.d.ts.map +1 -1
- package/dist/bundler.js +27 -61
- package/dist/bundler.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -9
- package/dist/client.js.map +1 -1
- package/dist/coinbase-smart-wallet.js +1 -4
- package/dist/coinbase-smart-wallet.js.map +1 -1
- package/dist/commands/accept.js +25 -28
- package/dist/commands/accept.js.map +1 -1
- package/dist/commands/agent-handshake.js +15 -18
- package/dist/commands/agent-handshake.js.map +1 -1
- package/dist/commands/agent.js +98 -104
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/agreements.js +62 -98
- package/dist/commands/agreements.js.map +1 -1
- package/dist/commands/arbitrator.js +45 -81
- package/dist/commands/arbitrator.js.map +1 -1
- package/dist/commands/arena-handshake.js +27 -30
- package/dist/commands/arena-handshake.js.map +1 -1
- package/dist/commands/arena.js +12 -18
- package/dist/commands/arena.js.map +1 -1
- package/dist/commands/backup.js +30 -36
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/cancel.js +15 -18
- package/dist/commands/cancel.js.map +1 -1
- package/dist/commands/channel.js +45 -81
- package/dist/commands/channel.js.map +1 -1
- package/dist/commands/coldstart.js +31 -34
- package/dist/commands/coldstart.js.map +1 -1
- package/dist/commands/config.js +23 -29
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/contract-interaction.js +12 -15
- package/dist/commands/contract-interaction.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +98 -135
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/deliver.js +37 -76
- package/dist/commands/deliver.js.map +1 -1
- package/dist/commands/discover.js +24 -27
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/dispute.js +104 -110
- package/dist/commands/dispute.js.map +1 -1
- package/dist/commands/doctor.js +16 -55
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/endpoint.js +56 -95
- package/dist/commands/endpoint.js.map +1 -1
- package/dist/commands/feed.js +11 -18
- package/dist/commands/feed.js.map +1 -1
- package/dist/commands/hire.js +37 -40
- package/dist/commands/hire.js.map +1 -1
- package/dist/commands/migrate.js +30 -33
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/negotiate.d.ts.map +1 -1
- package/dist/commands/negotiate.js +34 -36
- package/dist/commands/negotiate.js.map +1 -1
- package/dist/commands/openshell.js +68 -104
- package/dist/commands/openshell.js.map +1 -1
- package/dist/commands/owner.js +17 -20
- package/dist/commands/owner.js.map +1 -1
- package/dist/commands/policy.js +41 -43
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/relay.d.ts.map +1 -1
- package/dist/commands/relay.js +18 -51
- package/dist/commands/relay.js.map +1 -1
- package/dist/commands/remediate.js +20 -23
- package/dist/commands/remediate.js.map +1 -1
- package/dist/commands/reputation.js +25 -27
- package/dist/commands/reputation.js.map +1 -1
- package/dist/commands/setup.js +65 -104
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/trust.js +17 -20
- package/dist/commands/trust.js.map +1 -1
- package/dist/commands/verify.js +18 -21
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/wallet.js +619 -625
- package/dist/commands/wallet.js.map +1 -1
- package/dist/commands/watch.js +33 -36
- package/dist/commands/watch.js.map +1 -1
- package/dist/commands/watchtower.js +37 -73
- package/dist/commands/watchtower.js.map +1 -1
- package/dist/commands/workroom.d.ts.map +1 -1
- package/dist/commands/workroom.js +138 -171
- package/dist/commands/workroom.js.map +1 -1
- package/dist/config.js +21 -65
- package/dist/config.js.map +1 -1
- package/dist/daemon/config.d.ts.map +1 -1
- package/dist/daemon/config.js +16 -53
- package/dist/daemon/config.js.map +1 -1
- package/dist/daemon/hire-listener.d.ts +3 -3
- package/dist/daemon/hire-listener.d.ts.map +1 -1
- package/dist/daemon/hire-listener.js +13 -47
- package/dist/daemon/hire-listener.js.map +1 -1
- package/dist/daemon/index.d.ts +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +50 -88
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/job-lifecycle.d.ts +1 -1
- package/dist/daemon/job-lifecycle.d.ts.map +1 -1
- package/dist/daemon/job-lifecycle.js +11 -51
- package/dist/daemon/job-lifecycle.js.map +1 -1
- package/dist/daemon/notify.d.ts +1 -1
- package/dist/daemon/notify.d.ts.map +1 -1
- package/dist/daemon/notify.js +19 -53
- package/dist/daemon/notify.js.map +1 -1
- package/dist/daemon/token-metering.js +8 -47
- package/dist/daemon/token-metering.js.map +1 -1
- package/dist/daemon/userops.d.ts +2 -2
- package/dist/daemon/userops.d.ts.map +1 -1
- package/dist/daemon/userops.js +23 -27
- package/dist/daemon/userops.js.map +1 -1
- package/dist/daemon/wallet-monitor.d.ts +1 -1
- package/dist/daemon/wallet-monitor.d.ts.map +1 -1
- package/dist/daemon/wallet-monitor.js +8 -12
- package/dist/daemon/wallet-monitor.js.map +1 -1
- package/dist/drain-v4.js +26 -64
- package/dist/drain-v4.js.map +1 -1
- package/dist/endpoint-config.js +20 -63
- package/dist/endpoint-config.js.map +1 -1
- package/dist/endpoint-notify.js +9 -48
- package/dist/endpoint-notify.js.map +1 -1
- package/dist/index.js +16 -50
- package/dist/index.js.map +1 -1
- package/dist/openshell-runtime.d.ts.map +1 -1
- package/dist/openshell-runtime.js +38 -82
- package/dist/openshell-runtime.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +77 -83
- package/dist/program.js.map +1 -1
- package/dist/repl.js +25 -31
- package/dist/repl.js.map +1 -1
- package/dist/signing.js +3 -6
- package/dist/signing.js.map +1 -1
- package/dist/telegram-notify.js +3 -40
- package/dist/telegram-notify.js.map +1 -1
- package/dist/tui/App.d.ts +1 -9
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +47 -65
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/Footer.js +4 -7
- package/dist/tui/Footer.js.map +1 -1
- package/dist/tui/Header.d.ts +1 -2
- package/dist/tui/Header.d.ts.map +1 -1
- package/dist/tui/Header.js +8 -14
- package/dist/tui/Header.js.map +1 -1
- package/dist/tui/InputLine.js +17 -23
- package/dist/tui/InputLine.js.map +1 -1
- package/dist/tui/Viewport.d.ts +5 -4
- package/dist/tui/Viewport.d.ts.map +1 -1
- package/dist/tui/Viewport.js +20 -13
- package/dist/tui/Viewport.js.map +1 -1
- package/dist/tui/WalletConnectPairing.d.ts +23 -0
- package/dist/tui/WalletConnectPairing.d.ts.map +1 -0
- package/dist/tui/WalletConnectPairing.js +75 -0
- package/dist/tui/WalletConnectPairing.js.map +1 -0
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +14 -21
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/useChat.js +13 -19
- package/dist/tui/useChat.js.map +1 -1
- package/dist/tui/useCommand.d.ts +2 -7
- package/dist/tui/useCommand.d.ts.map +1 -1
- package/dist/tui/useCommand.js +77 -165
- package/dist/tui/useCommand.js.map +1 -1
- package/dist/tui/useScroll.js +9 -12
- package/dist/tui/useScroll.js.map +1 -1
- package/dist/ui/banner.js +12 -19
- package/dist/ui/banner.js.map +1 -1
- package/dist/ui/colors.js +13 -19
- package/dist/ui/colors.js.map +1 -1
- package/dist/ui/format.js +6 -14
- package/dist/ui/format.js.map +1 -1
- package/dist/ui/spinner.js +6 -12
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/tree.js +3 -6
- package/dist/ui/tree.js.map +1 -1
- package/dist/utils/format.js +27 -41
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/hash.js +4 -42
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/time.js +2 -6
- package/dist/utils/time.js.map +1 -1
- package/dist/wallet-router.d.ts +1 -1
- package/dist/wallet-router.d.ts.map +1 -1
- package/dist/wallet-router.js +12 -19
- package/dist/wallet-router.js.map +1 -1
- package/dist/walletconnect-session.d.ts +1 -1
- package/dist/walletconnect-session.d.ts.map +1 -1
- package/dist/walletconnect-session.js +6 -11
- package/dist/walletconnect-session.js.map +1 -1
- package/dist/walletconnect.d.ts +6 -1
- package/dist/walletconnect.d.ts.map +1 -1
- package/dist/walletconnect.js +32 -35
- package/dist/walletconnect.js.map +1 -1
- package/package.json +7 -6
- package/src/bundler.ts +1 -1
- package/src/client.ts +1 -1
- package/src/commands/accept.ts +7 -7
- package/src/commands/agent-handshake.ts +4 -4
- package/src/commands/agent.ts +9 -9
- package/src/commands/agreements.ts +8 -8
- package/src/commands/arbitrator.ts +5 -5
- package/src/commands/arena-handshake.ts +6 -6
- package/src/commands/arena.ts +2 -2
- package/src/commands/backup.ts +1 -1
- package/src/commands/cancel.ts +6 -6
- package/src/commands/channel.ts +6 -6
- package/src/commands/coldstart.ts +5 -5
- package/src/commands/config.ts +2 -2
- package/src/commands/contract-interaction.ts +2 -2
- package/src/commands/daemon.ts +14 -11
- package/src/commands/deliver.ts +9 -9
- package/src/commands/discover.ts +5 -5
- package/src/commands/dispute.ts +7 -7
- package/src/commands/doctor.ts +2 -2
- package/src/commands/endpoint.ts +6 -6
- package/src/commands/feed.ts +1 -1
- package/src/commands/hire.ts +10 -10
- package/src/commands/migrate.ts +7 -7
- package/src/commands/negotiate.ts +6 -5
- package/src/commands/openshell.ts +4 -4
- package/src/commands/owner.ts +5 -5
- package/src/commands/policy.ts +5 -5
- package/src/commands/relay.ts +5 -1
- package/src/commands/remediate.ts +5 -5
- package/src/commands/reputation.ts +6 -6
- package/src/commands/setup.ts +1 -1
- package/src/commands/trust.ts +6 -6
- package/src/commands/verify.ts +6 -6
- package/src/commands/wallet.ts +15 -15
- package/src/commands/watch.ts +3 -3
- package/src/commands/watchtower.ts +6 -6
- package/src/commands/workroom.ts +14 -10
- package/src/daemon/config.ts +2 -1
- package/src/daemon/hire-listener.ts +3 -3
- package/src/daemon/index.ts +10 -9
- package/src/daemon/job-lifecycle.ts +1 -1
- package/src/daemon/notify.ts +4 -4
- package/src/daemon/userops.ts +4 -4
- package/src/daemon/wallet-monitor.ts +2 -2
- package/src/endpoint-notify.ts +1 -1
- package/src/index.ts +8 -7
- package/src/openshell-runtime.ts +5 -1
- package/src/program.ts +36 -36
- package/src/repl.ts +3 -3
- package/src/tui/App.tsx +26 -47
- package/src/tui/Header.tsx +3 -10
- package/src/tui/InputLine.tsx +1 -1
- package/src/tui/Viewport.tsx +22 -18
- package/src/tui/WalletConnectPairing.tsx +131 -0
- package/src/tui/index.tsx +7 -8
- package/src/tui/useChat.ts +1 -1
- package/src/tui/useCommand.ts +86 -183
- package/src/ui/banner.ts +2 -2
- package/src/ui/tree.ts +1 -1
- package/src/wallet-router.ts +2 -2
- package/src/walletconnect-session.ts +1 -1
- package/src/walletconnect.ts +20 -5
- package/tsconfig.json +16 -7
package/dist/commands/dispute.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const client_1 = require("../client");
|
|
12
|
-
const hash_1 = require("../utils/hash");
|
|
13
|
-
const wallet_router_1 = require("../wallet-router");
|
|
14
|
-
const abis_1 = require("../abis");
|
|
15
|
-
const colors_1 = require("../ui/colors");
|
|
16
|
-
function registerDisputeCommand(program) {
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import prompts from "prompts";
|
|
3
|
+
import { ArbitrationVote, DirectDisputeReason, DisputeClass, DisputeMode, DisputeOutcome, EvidenceType, ServiceAgreementClient, DisputeArbitrationClient } from "@arc402/sdk";
|
|
4
|
+
import { loadConfig } from "../config.js";
|
|
5
|
+
import { getClient, requireSigner } from "../client.js";
|
|
6
|
+
import { hashFile, hashString } from "../utils/hash.js";
|
|
7
|
+
import { printSenderInfo, executeContractWriteViaWallet } from "../wallet-router.js";
|
|
8
|
+
import { SERVICE_AGREEMENT_ABI } from "../abis.js";
|
|
9
|
+
import { c } from '../ui/colors.js';
|
|
10
|
+
export function registerDisputeCommand(program) {
|
|
17
11
|
const dispute = program.command("dispute").description("Formal dispute workflow; remediation-first by default, with narrow hard-fail direct-dispute exceptions");
|
|
18
12
|
// Fee quote (requires DisputeArbitration configured) — read-only, no wallet routing needed
|
|
19
13
|
dispute.command("fee-quote <agreementId>")
|
|
@@ -23,23 +17,23 @@ function registerDisputeCommand(program) {
|
|
|
23
17
|
.requiredOption("--mode <mode>", "unilateral|mutual")
|
|
24
18
|
.requiredOption("--class <class>", "hard-failure|ambiguity|high-sensitivity")
|
|
25
19
|
.action(async (agreementId, opts) => {
|
|
26
|
-
const config =
|
|
20
|
+
const config = loadConfig();
|
|
27
21
|
if (!config.disputeArbitrationAddress)
|
|
28
22
|
throw new Error("disputeArbitrationAddress missing in config");
|
|
29
|
-
const { provider } = await
|
|
30
|
-
const client = new
|
|
31
|
-
const modeMap = { unilateral:
|
|
23
|
+
const { provider } = await getClient(config);
|
|
24
|
+
const client = new DisputeArbitrationClient(config.disputeArbitrationAddress, provider);
|
|
25
|
+
const modeMap = { unilateral: DisputeMode.UNILATERAL, mutual: DisputeMode.MUTUAL };
|
|
32
26
|
const classMap = {
|
|
33
|
-
'hard-failure':
|
|
34
|
-
'ambiguity':
|
|
35
|
-
'high-sensitivity':
|
|
27
|
+
'hard-failure': DisputeClass.HARD_FAILURE,
|
|
28
|
+
'ambiguity': DisputeClass.AMBIGUITY_QUALITY,
|
|
29
|
+
'high-sensitivity': DisputeClass.HIGH_SENSITIVITY,
|
|
36
30
|
};
|
|
37
31
|
const mode = modeMap[String(opts.mode).toLowerCase()];
|
|
38
32
|
const disputeClass = classMap[String(opts.class).toLowerCase()];
|
|
39
33
|
if (!mode || !disputeClass)
|
|
40
34
|
throw new Error("Invalid --mode or --class");
|
|
41
35
|
const feeInTokens = await client.getFeeQuote(BigInt(opts.price), opts.token, mode, disputeClass);
|
|
42
|
-
console.log(' ' +
|
|
36
|
+
console.log(' ' + c.mark + c.white(` Fee quote — agreement #${agreementId}: ${feeInTokens.toString()} tokens`));
|
|
43
37
|
});
|
|
44
38
|
// Open with explicit mode/class
|
|
45
39
|
dispute.command("open-with-mode <agreementId>")
|
|
@@ -49,61 +43,61 @@ function registerDisputeCommand(program) {
|
|
|
49
43
|
.requiredOption("--reason <reason>")
|
|
50
44
|
.option("--fee <fee>", "Fee in wei (for ETH agreements)", "0")
|
|
51
45
|
.action(async (agreementId, opts) => {
|
|
52
|
-
const config =
|
|
46
|
+
const config = loadConfig();
|
|
53
47
|
if (!config.serviceAgreementAddress)
|
|
54
48
|
throw new Error("serviceAgreementAddress missing in config");
|
|
55
|
-
const { signer } = await
|
|
56
|
-
const modeMap = { unilateral:
|
|
49
|
+
const { signer } = await requireSigner(config);
|
|
50
|
+
const modeMap = { unilateral: DisputeMode.UNILATERAL, mutual: DisputeMode.MUTUAL };
|
|
57
51
|
const classMap = {
|
|
58
|
-
'hard-failure':
|
|
59
|
-
'ambiguity':
|
|
60
|
-
'high-sensitivity':
|
|
52
|
+
'hard-failure': DisputeClass.HARD_FAILURE,
|
|
53
|
+
'ambiguity': DisputeClass.AMBIGUITY_QUALITY,
|
|
54
|
+
'high-sensitivity': DisputeClass.HIGH_SENSITIVITY,
|
|
61
55
|
};
|
|
62
56
|
const mode = modeMap[String(opts.mode).toLowerCase()];
|
|
63
57
|
const disputeClass = classMap[String(opts.class).toLowerCase()];
|
|
64
58
|
if (!mode || !disputeClass)
|
|
65
59
|
throw new Error("Invalid --mode or --class");
|
|
66
|
-
|
|
60
|
+
printSenderInfo(config);
|
|
67
61
|
if (config.walletContractAddress) {
|
|
68
|
-
await
|
|
62
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "openDisputeWithMode", [BigInt(agreementId), mode, disputeClass, opts.reason], BigInt(opts.fee));
|
|
69
63
|
}
|
|
70
64
|
else {
|
|
71
|
-
const client = new
|
|
65
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
72
66
|
await client.openDisputeWithMode(BigInt(agreementId), mode, disputeClass, opts.reason, BigInt(opts.fee));
|
|
73
67
|
}
|
|
74
|
-
console.log(' ' +
|
|
68
|
+
console.log(' ' + c.success + c.white(` Dispute opened — agreement #${agreementId}`));
|
|
75
69
|
});
|
|
76
70
|
// Join mutual dispute (respondent pays their half) — DisputeArbitration contract, no wallet routing
|
|
77
71
|
dispute.command("join <agreementId>")
|
|
78
72
|
.description("Join a mutual dispute as respondent (pays half the fee)")
|
|
79
73
|
.option("--fee <fee>", "Half-fee in wei (for ETH agreements)", "0")
|
|
80
74
|
.action(async (agreementId, opts) => {
|
|
81
|
-
const config =
|
|
75
|
+
const config = loadConfig();
|
|
82
76
|
if (!config.disputeArbitrationAddress)
|
|
83
77
|
throw new Error("disputeArbitrationAddress missing in config");
|
|
84
|
-
const { signer } = await
|
|
85
|
-
const client = new
|
|
78
|
+
const { signer } = await requireSigner(config);
|
|
79
|
+
const client = new DisputeArbitrationClient(config.disputeArbitrationAddress, signer);
|
|
86
80
|
await client.joinMutualDispute(BigInt(agreementId), BigInt(opts.fee));
|
|
87
|
-
console.log(' ' +
|
|
81
|
+
console.log(' ' + c.success + c.white(` Joined mutual dispute — agreement #${agreementId}`));
|
|
88
82
|
});
|
|
89
83
|
dispute.command("open <id>")
|
|
90
84
|
.requiredOption("--reason <reason>")
|
|
91
85
|
.option("--escalated", "Use escalateToDispute after remediation", false)
|
|
92
86
|
.option("--direct <type>", "Direct-dispute hard-fail reason: no-delivery|deadline-breach|invalid-deliverable|safety-critical")
|
|
93
87
|
.action(async (id, opts) => {
|
|
94
|
-
const config =
|
|
88
|
+
const config = loadConfig();
|
|
95
89
|
if (!config.serviceAgreementAddress)
|
|
96
90
|
throw new Error("serviceAgreementAddress missing in config");
|
|
97
91
|
// Pre-flight: check disputeModule is configured (J4-01)
|
|
98
92
|
{
|
|
99
|
-
const { provider: dpProvider } = await
|
|
100
|
-
const saCheck = new
|
|
101
|
-
let disputeModuleAddr =
|
|
93
|
+
const { provider: dpProvider } = await getClient(config);
|
|
94
|
+
const saCheck = new ethers.Contract(config.serviceAgreementAddress, ["function disputeModule() external view returns (address)"], dpProvider);
|
|
95
|
+
let disputeModuleAddr = ethers.ZeroAddress;
|
|
102
96
|
try {
|
|
103
97
|
disputeModuleAddr = await saCheck.disputeModule();
|
|
104
98
|
}
|
|
105
99
|
catch { /* assume not configured */ }
|
|
106
|
-
if (disputeModuleAddr ===
|
|
100
|
+
if (disputeModuleAddr === ethers.ZeroAddress) {
|
|
107
101
|
console.error(`No dispute module configured on this ServiceAgreement.`);
|
|
108
102
|
console.error(`Disputes require a DisputeModule to be set by the SA owner.`);
|
|
109
103
|
console.error(`This protocol deployment may not support formal disputes.`);
|
|
@@ -112,17 +106,17 @@ function registerDisputeCommand(program) {
|
|
|
112
106
|
}
|
|
113
107
|
// Pre-flight: read dispute fee and prompt user (J4-02)
|
|
114
108
|
if (config.disputeArbitrationAddress) {
|
|
115
|
-
const { provider: feeProvider } = await
|
|
116
|
-
const daCheck = new
|
|
109
|
+
const { provider: feeProvider } = await getClient(config);
|
|
110
|
+
const daCheck = new ethers.Contract(config.disputeArbitrationAddress, ["function getDisputeFee() external view returns (uint256)"], feeProvider);
|
|
117
111
|
let feeWei = 0n;
|
|
118
112
|
try {
|
|
119
113
|
feeWei = await daCheck.getDisputeFee();
|
|
120
114
|
}
|
|
121
115
|
catch { /* fee getter may not exist — assume 0 */ }
|
|
122
116
|
if (feeWei > 0n) {
|
|
123
|
-
const feeEth =
|
|
117
|
+
const feeEth = ethers.formatEther(feeWei);
|
|
124
118
|
console.log(`\nDispute fee: ${feeEth} ETH. This will be deducted from your wallet.`);
|
|
125
|
-
const { proceed } = await (
|
|
119
|
+
const { proceed } = await prompts({
|
|
126
120
|
type: "confirm",
|
|
127
121
|
name: "proceed",
|
|
128
122
|
message: "Continue?",
|
|
@@ -134,32 +128,32 @@ function registerDisputeCommand(program) {
|
|
|
134
128
|
}
|
|
135
129
|
}
|
|
136
130
|
}
|
|
137
|
-
const { signer } = await
|
|
131
|
+
const { signer } = await requireSigner(config);
|
|
138
132
|
const directMap = {
|
|
139
|
-
'no-delivery':
|
|
140
|
-
'deadline-breach':
|
|
141
|
-
'invalid-deliverable':
|
|
142
|
-
'safety-critical':
|
|
133
|
+
'no-delivery': DirectDisputeReason.NO_DELIVERY,
|
|
134
|
+
'deadline-breach': DirectDisputeReason.HARD_DEADLINE_BREACH,
|
|
135
|
+
'invalid-deliverable': DirectDisputeReason.INVALID_OR_FRAUDULENT_DELIVERABLE,
|
|
136
|
+
'safety-critical': DirectDisputeReason.SAFETY_CRITICAL_VIOLATION,
|
|
143
137
|
};
|
|
144
138
|
if (opts.escalated && opts.direct)
|
|
145
139
|
throw new Error('Choose either --escalated or --direct, not both');
|
|
146
|
-
|
|
140
|
+
printSenderInfo(config);
|
|
147
141
|
if (config.walletContractAddress) {
|
|
148
142
|
if (opts.direct) {
|
|
149
143
|
const directReason = directMap[String(opts.direct).toLowerCase()];
|
|
150
144
|
if (directReason === undefined)
|
|
151
145
|
throw new Error('Unsupported --direct reason');
|
|
152
|
-
await
|
|
146
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "directDispute", [BigInt(id), directReason, opts.reason]);
|
|
153
147
|
}
|
|
154
148
|
else if (opts.escalated) {
|
|
155
|
-
await
|
|
149
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "escalateToDispute", [BigInt(id), opts.reason]);
|
|
156
150
|
}
|
|
157
151
|
else {
|
|
158
|
-
await
|
|
152
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "dispute", [BigInt(id), opts.reason]);
|
|
159
153
|
}
|
|
160
154
|
}
|
|
161
155
|
else {
|
|
162
|
-
const client = new
|
|
156
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
163
157
|
if (opts.direct) {
|
|
164
158
|
const directReason = directMap[String(opts.direct).toLowerCase()];
|
|
165
159
|
if (directReason === undefined)
|
|
@@ -173,11 +167,11 @@ function registerDisputeCommand(program) {
|
|
|
173
167
|
await client.dispute(BigInt(id), opts.reason);
|
|
174
168
|
}
|
|
175
169
|
}
|
|
176
|
-
console.log(' ' +
|
|
170
|
+
console.log(' ' + c.success + c.white(` Dispute opened — agreement #${id}`));
|
|
177
171
|
// J4-04: Display arbitration selection window deadline
|
|
178
172
|
try {
|
|
179
|
-
const { provider: dpAW } = await
|
|
180
|
-
const saAW = new
|
|
173
|
+
const { provider: dpAW } = await getClient(config);
|
|
174
|
+
const saAW = new ethers.Contract(config.serviceAgreementAddress, ["function ARBITRATION_SELECTION_WINDOW() external view returns (uint256)"], dpAW);
|
|
181
175
|
const selectionWindow = await saAW.ARBITRATION_SELECTION_WINDOW();
|
|
182
176
|
const deadlineDate = new Date(Date.now() + Number(selectionWindow) * 1000);
|
|
183
177
|
console.log(`Arbitration selection window closes: ${deadlineDate.toLocaleString()}. An arbitrator must be assigned before then.`);
|
|
@@ -185,30 +179,30 @@ function registerDisputeCommand(program) {
|
|
|
185
179
|
catch { /* not available on this deployment */ }
|
|
186
180
|
});
|
|
187
181
|
dispute.command("evidence <id>").requiredOption("--type <type>", "transcript|deliverable|acceptance|communication|external|other").option("--file <path>").option("--text <text>").option("--uri <uri>", "External evidence URI", "").action(async (id, opts) => {
|
|
188
|
-
const config =
|
|
182
|
+
const config = loadConfig();
|
|
189
183
|
if (!config.serviceAgreementAddress)
|
|
190
184
|
throw new Error("serviceAgreementAddress missing in config");
|
|
191
|
-
const { signer } = await
|
|
192
|
-
const mapping = { transcript:
|
|
193
|
-
const hash = opts.file ?
|
|
194
|
-
const evidenceType = mapping[String(opts.type).toLowerCase()] ??
|
|
195
|
-
|
|
185
|
+
const { signer } = await requireSigner(config);
|
|
186
|
+
const mapping = { transcript: EvidenceType.TRANSCRIPT, deliverable: EvidenceType.DELIVERABLE, acceptance: EvidenceType.ACCEPTANCE_CRITERIA, communication: EvidenceType.COMMUNICATION, external: EvidenceType.EXTERNAL_REFERENCE, other: EvidenceType.OTHER };
|
|
187
|
+
const hash = opts.file ? hashFile(opts.file) : hashString(opts.text ?? opts.uri ?? `evidence:${id}`);
|
|
188
|
+
const evidenceType = mapping[String(opts.type).toLowerCase()] ?? EvidenceType.OTHER;
|
|
189
|
+
printSenderInfo(config);
|
|
196
190
|
if (config.walletContractAddress) {
|
|
197
|
-
await
|
|
191
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "submitDisputeEvidence", [BigInt(id), evidenceType, hash, opts.uri]);
|
|
198
192
|
}
|
|
199
193
|
else {
|
|
200
|
-
const client = new
|
|
194
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
201
195
|
await client.submitDisputeEvidence(BigInt(id), evidenceType, hash, opts.uri);
|
|
202
196
|
}
|
|
203
|
-
console.log(' ' +
|
|
197
|
+
console.log(' ' + c.success + c.white(` Evidence submitted — agreement #${id}`));
|
|
204
198
|
});
|
|
205
199
|
// status — read-only, no wallet routing needed
|
|
206
200
|
dispute.command("status <id>").option("--json").action(async (id, opts) => {
|
|
207
|
-
const config =
|
|
201
|
+
const config = loadConfig();
|
|
208
202
|
if (!config.serviceAgreementAddress)
|
|
209
203
|
throw new Error("serviceAgreementAddress missing in config");
|
|
210
|
-
const { provider } = await
|
|
211
|
-
const client = new
|
|
204
|
+
const { provider } = await getClient(config);
|
|
205
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, provider);
|
|
212
206
|
const result = {
|
|
213
207
|
case: await client.getDisputeCase(BigInt(id)),
|
|
214
208
|
arbitration: await client.getArbitrationCase(BigInt(id)),
|
|
@@ -220,13 +214,13 @@ function registerDisputeCommand(program) {
|
|
|
220
214
|
.description("Nominate an arbitrator during the on-chain arbitration phase")
|
|
221
215
|
.requiredOption("--arbitrator <address>")
|
|
222
216
|
.action(async (id, opts) => {
|
|
223
|
-
const config =
|
|
217
|
+
const config = loadConfig();
|
|
224
218
|
if (!config.serviceAgreementAddress)
|
|
225
219
|
throw new Error("serviceAgreementAddress missing in config");
|
|
226
220
|
// Pre-flight: check arbitrator is approved (J4-03)
|
|
227
221
|
if (config.disputeArbitrationAddress) {
|
|
228
|
-
const { provider: arbProvider } = await
|
|
229
|
-
const daCheck = new
|
|
222
|
+
const { provider: arbProvider } = await getClient(config);
|
|
223
|
+
const daCheck = new ethers.Contract(config.disputeArbitrationAddress, ["function isApprovedArbitrator(address arbitrator) external view returns (bool)"], arbProvider);
|
|
230
224
|
let isApproved = true;
|
|
231
225
|
try {
|
|
232
226
|
isApproved = await daCheck.isApprovedArbitrator(opts.arbitrator);
|
|
@@ -238,16 +232,16 @@ function registerDisputeCommand(program) {
|
|
|
238
232
|
process.exit(1);
|
|
239
233
|
}
|
|
240
234
|
}
|
|
241
|
-
const { signer } = await
|
|
242
|
-
|
|
235
|
+
const { signer } = await requireSigner(config);
|
|
236
|
+
printSenderInfo(config);
|
|
243
237
|
if (config.walletContractAddress) {
|
|
244
|
-
await
|
|
238
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "nominateArbitrator", [BigInt(id), opts.arbitrator]);
|
|
245
239
|
}
|
|
246
240
|
else {
|
|
247
|
-
const client = new
|
|
241
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
248
242
|
await client.nominateArbitrator(BigInt(id), opts.arbitrator);
|
|
249
243
|
}
|
|
250
|
-
console.log(' ' +
|
|
244
|
+
console.log(' ' + c.success + c.white(` Arbitrator nominated — agreement #${id}`));
|
|
251
245
|
});
|
|
252
246
|
dispute.command("vote <id>")
|
|
253
247
|
.description("Cast an arbitration vote on-chain")
|
|
@@ -255,13 +249,13 @@ function registerDisputeCommand(program) {
|
|
|
255
249
|
.option("--provider-award <amount>", "Wei/token units", "0")
|
|
256
250
|
.option("--client-award <amount>", "Wei/token units", "0")
|
|
257
251
|
.action(async (id, opts) => {
|
|
258
|
-
const config =
|
|
252
|
+
const config = loadConfig();
|
|
259
253
|
if (!config.serviceAgreementAddress)
|
|
260
254
|
throw new Error("serviceAgreementAddress missing in config");
|
|
261
|
-
const { signer, address: voterAddress, provider: voteProvider } = await
|
|
255
|
+
const { signer, address: voterAddress, provider: voteProvider } = await requireSigner(config);
|
|
262
256
|
// J4-05: Pre-flight — verify caller is on the arbitration panel
|
|
263
257
|
try {
|
|
264
|
-
const saClient = new
|
|
258
|
+
const saClient = new ServiceAgreementClient(config.serviceAgreementAddress, voteProvider);
|
|
265
259
|
const arbCase = await saClient.getArbitrationCase(BigInt(id));
|
|
266
260
|
const onPanel = arbCase.arbitrators.map((a) => a.toLowerCase()).includes(voterAddress.toLowerCase());
|
|
267
261
|
if (!onPanel) {
|
|
@@ -275,75 +269,75 @@ function registerDisputeCommand(program) {
|
|
|
275
269
|
// If read fails, skip the check and let the transaction reveal the error
|
|
276
270
|
}
|
|
277
271
|
const mapping = {
|
|
278
|
-
provider:
|
|
279
|
-
refund:
|
|
280
|
-
split:
|
|
281
|
-
'human-review':
|
|
272
|
+
provider: ArbitrationVote.PROVIDER_WINS,
|
|
273
|
+
refund: ArbitrationVote.CLIENT_REFUND,
|
|
274
|
+
split: ArbitrationVote.SPLIT,
|
|
275
|
+
'human-review': ArbitrationVote.HUMAN_REVIEW_REQUIRED,
|
|
282
276
|
};
|
|
283
277
|
const vote = mapping[String(opts.vote).toLowerCase()];
|
|
284
278
|
if (vote === undefined)
|
|
285
279
|
throw new Error('Unsupported --vote value');
|
|
286
|
-
|
|
280
|
+
printSenderInfo(config);
|
|
287
281
|
if (config.walletContractAddress) {
|
|
288
|
-
await
|
|
282
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "castArbitrationVote", [BigInt(id), vote, BigInt(opts.providerAward), BigInt(opts.clientAward)]);
|
|
289
283
|
}
|
|
290
284
|
else {
|
|
291
|
-
const client = new
|
|
285
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
292
286
|
await client.castArbitrationVote(BigInt(id), vote, BigInt(opts.providerAward), BigInt(opts.clientAward));
|
|
293
287
|
}
|
|
294
|
-
console.log(' ' +
|
|
288
|
+
console.log(' ' + c.success + c.white(` Vote recorded — agreement #${id}`));
|
|
295
289
|
});
|
|
296
290
|
dispute.command("human <id>")
|
|
297
291
|
.description("Request human escalation when arbitration stalls or requires human backstop")
|
|
298
292
|
.requiredOption("--reason <reason>")
|
|
299
293
|
.action(async (id, opts) => {
|
|
300
|
-
const config =
|
|
294
|
+
const config = loadConfig();
|
|
301
295
|
if (!config.serviceAgreementAddress)
|
|
302
296
|
throw new Error("serviceAgreementAddress missing in config");
|
|
303
|
-
const { signer } = await
|
|
304
|
-
|
|
297
|
+
const { signer } = await requireSigner(config);
|
|
298
|
+
printSenderInfo(config);
|
|
305
299
|
if (config.walletContractAddress) {
|
|
306
|
-
await
|
|
300
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "requestHumanEscalation", [BigInt(id), opts.reason]);
|
|
307
301
|
}
|
|
308
302
|
else {
|
|
309
|
-
const client = new
|
|
303
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
310
304
|
await client.requestHumanEscalation(BigInt(id), opts.reason);
|
|
311
305
|
}
|
|
312
|
-
console.log(' ' +
|
|
306
|
+
console.log(' ' + c.success + c.white(` Escalated to human — agreement #${id}`));
|
|
313
307
|
});
|
|
314
308
|
dispute.command("resolve <id>").description("Owner-only admin path if you are operating the dispute contract").requiredOption("--outcome <outcome>", "provider|refund|partial-provider|partial-client|mutual-cancel|human-review").option("--provider-award <amount>", "Wei/token units", "0").option("--client-award <amount>", "Wei/token units", "0").action(async (id, opts) => {
|
|
315
|
-
const config =
|
|
309
|
+
const config = loadConfig();
|
|
316
310
|
if (!config.serviceAgreementAddress)
|
|
317
311
|
throw new Error("serviceAgreementAddress missing in config");
|
|
318
|
-
const { signer } = await
|
|
319
|
-
const mapping = { provider:
|
|
320
|
-
|
|
312
|
+
const { signer } = await requireSigner(config);
|
|
313
|
+
const mapping = { provider: DisputeOutcome.PROVIDER_WINS, refund: DisputeOutcome.CLIENT_REFUND, 'partial-provider': DisputeOutcome.PARTIAL_PROVIDER, 'partial-client': DisputeOutcome.PARTIAL_CLIENT, 'mutual-cancel': DisputeOutcome.MUTUAL_CANCEL, 'human-review': DisputeOutcome.HUMAN_REVIEW_REQUIRED };
|
|
314
|
+
printSenderInfo(config);
|
|
321
315
|
if (config.walletContractAddress) {
|
|
322
|
-
await
|
|
316
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "resolveDisputeDetailed", [BigInt(id), mapping[String(opts.outcome)], BigInt(opts.providerAward), BigInt(opts.clientAward)]);
|
|
323
317
|
}
|
|
324
318
|
else {
|
|
325
|
-
const client = new
|
|
319
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
326
320
|
await client.resolveDisputeDetailed(BigInt(id), mapping[String(opts.outcome)], BigInt(opts.providerAward), BigInt(opts.clientAward));
|
|
327
321
|
}
|
|
328
|
-
console.log(' ' +
|
|
322
|
+
console.log(' ' + c.success + c.white(` Resolved — agreement #${id}`));
|
|
329
323
|
});
|
|
330
324
|
dispute.command("owner-resolve <agreementId>")
|
|
331
325
|
.description("Owner-only: resolve a dispute directly in favor of provider or client. Requires DISPUTED or ESCALATED_TO_HUMAN status.")
|
|
332
326
|
.option("--favor-provider", "Resolve in favor of the provider (default: false = favor client)", false)
|
|
333
327
|
.action(async (agreementId, opts) => {
|
|
334
|
-
const config =
|
|
328
|
+
const config = loadConfig();
|
|
335
329
|
if (!config.serviceAgreementAddress)
|
|
336
330
|
throw new Error("serviceAgreementAddress missing in config");
|
|
337
|
-
const { signer } = await
|
|
338
|
-
|
|
331
|
+
const { signer } = await requireSigner(config);
|
|
332
|
+
printSenderInfo(config);
|
|
339
333
|
if (config.walletContractAddress) {
|
|
340
|
-
await
|
|
334
|
+
await executeContractWriteViaWallet(config.walletContractAddress, signer, config.serviceAgreementAddress, SERVICE_AGREEMENT_ABI, "ownerResolveDispute", [BigInt(agreementId), !!opts.favorProvider]);
|
|
341
335
|
}
|
|
342
336
|
else {
|
|
343
|
-
const client = new
|
|
337
|
+
const client = new ServiceAgreementClient(config.serviceAgreementAddress, signer);
|
|
344
338
|
await client.ownerResolveDispute(BigInt(agreementId), !!opts.favorProvider);
|
|
345
339
|
}
|
|
346
|
-
console.log(' ' +
|
|
340
|
+
console.log(' ' + c.success + c.white(` Owner resolved — agreement #${agreementId}`));
|
|
347
341
|
});
|
|
348
342
|
}
|
|
349
343
|
//# sourceMappingURL=dispute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispute.js","sourceRoot":"","sources":["../../src/commands/dispute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispute.js","sourceRoot":"","sources":["../../src/commands/dispute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC9K,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAGpC,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,wGAAwG,CAAC,CAAC;IAEjK,2FAA2F;IAC3F,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC;SACvC,WAAW,CAAC,wCAAwC,CAAC;SACrD,cAAc,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SACvE,cAAc,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SAChE,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC;SACpD,cAAc,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,yBAAyB;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACtG,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,wBAAwB,CAAC,MAAM,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QACxF,MAAM,OAAO,GAAgC,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;QAChH,MAAM,QAAQ,GAAiC;YAC7C,cAAc,EAAE,YAAY,CAAC,YAAY;YACzC,WAAW,EAAE,YAAY,CAAC,iBAAiB;YAC3C,kBAAkB,EAAE,YAAY,CAAC,gBAAgB;SAClD,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,2BAA2B,WAAW,KAAK,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;IAEL,gCAAgC;IAChC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC;SAC5C,WAAW,CAAC,+EAA+E,CAAC;SAC5F,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC;SACpD,cAAc,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SAC5E,cAAc,CAAC,mBAAmB,CAAC;SACnC,MAAM,CAAC,aAAa,EAAE,iCAAiC,EAAE,GAAG,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAgC,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;QAChH,MAAM,QAAQ,GAAiC;YAC7C,cAAc,EAAE,YAAY,CAAC,YAAY;YACzC,WAAW,EAAE,YAAY,CAAC,iBAAiB;YAC3C,kBAAkB,EAAE,YAAY,CAAC,gBAAgB;SAClD,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACzE,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,qBAAqB,EAC5C,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EACtD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEL,oGAAoG;IACpG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;SAClC,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,aAAa,EAAE,sCAAsC,EAAE,GAAG,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,yBAAyB;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACtG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,wBAAwB,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;SACzB,cAAc,CAAC,mBAAmB,CAAC;SACnC,MAAM,CAAC,aAAa,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACvE,MAAM,CAAC,iBAAiB,EAAE,kGAAkG,CAAC;SAC7H,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAElG,wDAAwD;QACxD,CAAC;YACC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,QAAQ,CACjC,MAAM,CAAC,uBAAuB,EAC9B,CAAC,0DAA0D,CAAC,EAC5D,UAAU,CACX,CAAC;YACF,IAAI,iBAAiB,GAAW,MAAM,CAAC,WAAW,CAAC;YACnD,IAAI,CAAC;gBACH,iBAAiB,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;YACvC,IAAI,iBAAiB,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC7C,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBACxE,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBAC7E,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,QAAQ,CACjC,MAAM,CAAC,yBAAyB,EAChC,CAAC,0DAA0D,CAAC,EAC5D,WAAW,CACZ,CAAC;YACF,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;YACrD,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,+CAA+C,CAAC,CAAC;gBACrF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC;oBAChC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAwC;YACrD,aAAa,EAAE,mBAAmB,CAAC,WAAW;YAC9C,iBAAiB,EAAE,mBAAmB,CAAC,oBAAoB;YAC3D,qBAAqB,EAAE,mBAAmB,CAAC,iCAAiC;YAC5E,iBAAiB,EAAE,mBAAmB,CAAC,yBAAyB;SACjE,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACtG,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClE,IAAI,YAAY,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC/E,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAChF,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1B,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CACtE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAClF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClE,IAAI,YAAY,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC/E,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1B,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7E,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,QAAQ,CAC9B,MAAM,CAAC,uBAAuB,EAC9B,CAAC,yEAAyE,CAAC,EAC3E,IAAI,CACL,CAAC;YACF,MAAM,eAAe,GAAW,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAC1E,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,wCAAwC,YAAY,CAAC,cAAc,EAAE,+CAA+C,CAAC,CAAC;QACpI,CAAC;QAAC,MAAM,CAAC,CAAC,sCAAsC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,gEAAgE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC9P,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAiC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,mBAAmB,EAAE,aAAa,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,kBAAkB,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5R,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,EAAE,CAAC,CAAC;QACrG,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC;QACpF,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAC3F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACxE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClG,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAClI,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7C,WAAW,EAAE,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxD,QAAQ,EAAE,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACzD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;SAC7B,WAAW,CAAC,8DAA8D,CAAC;SAC3E,cAAc,CAAC,wBAAwB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAElG,mDAAmD;QACnD,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,QAAQ,CACjC,MAAM,CAAC,yBAAyB,EAChC,CAAC,gFAAgF,CAAC,EAClF,WAAW,CACZ,CAAC;YACF,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,UAAU,mBAAmB,CAAC,CAAC;gBAChE,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;gBACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,oBAAoB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAC3E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;SACzB,WAAW,CAAC,mCAAmC,CAAC;SAChD,cAAc,CAAC,eAAe,EAAE,oCAAoC,CAAC;SACrE,MAAM,CAAC,2BAA2B,EAAE,iBAAiB,EAAE,GAAG,CAAC;SAC3D,MAAM,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,GAAG,CAAC;SACzD,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9F,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7G,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,uCAAuC,CAAC,CAAC;gBAC/G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAK,CAA2B,EAAE,IAAI,KAAK,qBAAqB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAAE,MAAM,CAAC,CAAC;YAChH,yEAAyE;QAC3E,CAAC;QAED,MAAM,OAAO,GAAoC;YAC/C,QAAQ,EAAE,eAAe,CAAC,aAAa;YACvC,MAAM,EAAE,eAAe,CAAC,aAAa;YACrC,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,cAAc,EAAE,eAAe,CAAC,qBAAqB;SACtD,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACpE,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,qBAAqB,EAC5C,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CACzE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;SAC1B,WAAW,CAAC,6EAA6E,CAAC;SAC1F,cAAc,CAAC,mBAAmB,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,wBAAwB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAC3E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,iEAAiE,CAAC,CAAC,cAAc,CAAC,qBAAqB,EAAE,4EAA4E,CAAC,CAAC,MAAM,CAAC,2BAA2B,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACjX,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAmC,EAAE,QAAQ,EAAE,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,kBAAkB,EAAE,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,qBAAqB,EAAE,CAAC;QAC5U,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,wBAAwB,EAC/C,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAClG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC;SAC3C,WAAW,CAAC,wHAAwH,CAAC;SACrI,MAAM,CAAC,kBAAkB,EAAE,kEAAkE,EAAE,KAAK,CAAC;SACrG,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,6BAA6B,CACjC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,EACpE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAC1F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;AACP,CAAC"}
|