unfairly 0.8.2 → 0.8.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.8.3 — 2026-09-25
4
+
5
+ - **Connect in the same session** — after the person approves the machine in the browser, a detached poller claims the collector credential within seconds, so the session that showed the link starts reporting without a restart.
6
+ - **90-day backfill on first connect** — the first sync fetches the org's approved repositories and uploads the last 90 days of session summaries with their commits.
7
+ - **Members of several organizations** — the connect code survives the organization picker, so a member of more than one org can choose which one the machine reports to.
8
+
3
9
  ## 0.8.2 — 2026-09-24
4
10
 
5
11
  - **Unfairly Intelligence collector** — `unfairly setup` installs a metadata-only collector for Claude Code, Codex, Cursor, and Gemini CLI. At session boundaries it summarizes each session from the client's own local transcript: model, token counts by type, turns, tool calls and errors, approval denials, subagent use, the approved repository, the SHAs of the session's own commits, and which published skills or company playbooks it used. Prompts, responses, code, commands, paths, branch names, and commit messages never leave the machine; skills outside the published set are counted, not named.
package/README.md CHANGED
@@ -21,9 +21,11 @@ That's it. One command — auto-detects state and:
21
21
 
22
22
  Re-run any time inside the repo for a daily check-in card showing what your team's been up to.
23
23
 
24
+ For Unfairly Intelligence alone, most people install the plugin from their AI client's plugin screen instead (see `plugins/ai-pace/README.md`). `unfairly setup --org <org-id>` enrolls a machine into a specific organization, and `unfairly intelligence backfill --days 90` uploads summaries of past local sessions.
25
+
24
26
  ### Power-user commands
25
27
 
26
- `unfairly setup` (machine wiring), `unfairly intelligence install` (collector install/repair), `unfairly intelligence status`, `unfairly intelligence policy`, `unfairly intelligence pause`, `unfairly intelligence uninstall`, `unfairly init` (workspace bind only), `unfairly pull`, `unfairly push`, `unfairly status`, `unfairly watch`, `unfairly mcp`, `unfairly login`. The bare command above delegates to these — they're available when you want fine-grained control.
28
+ `unfairly setup` (machine wiring), `unfairly intelligence install` (collector install/repair), `unfairly intelligence status`, `unfairly intelligence backfill`, `unfairly intelligence policy`, `unfairly intelligence pause`, `unfairly intelligence uninstall`, `unfairly init` (workspace bind only), `unfairly pull`, `unfairly push`, `unfairly status`, `unfairly watch`, `unfairly mcp`, `unfairly login`. The bare command above delegates to these — they're available when you want fine-grained control.
27
29
 
28
30
  ## Commands
29
31
 
@@ -1,5 +1,5 @@
1
1
  import { detectPaceClients } from "../pace/device.js";
2
- export declare const RUNTIME_VERSION = "0.8.2";
2
+ export declare const RUNTIME_VERSION = "0.8.3";
3
3
  export declare const INTELLIGENCE_POLICY: {
4
4
  version: "metadata-v3";
5
5
  mode: "metadata_only";
@@ -7,6 +7,21 @@ export declare const INTELLIGENCE_POLICY: {
7
7
  prohibited_content: string[];
8
8
  };
9
9
  export declare function runPaceCapture(source: string, hookEvent: string): Promise<void>;
10
+ /** How far back the first sync after connecting reads local transcripts. Matches the report's window. */
11
+ export declare const HISTORY_BACKFILL_DAYS = 90;
12
+ /**
13
+ * Summarizes local sessions and uploads them. Does nothing until this machine
14
+ * is connected: before that there is nowhere to send summaries and no
15
+ * approved-repository list, and a session summarized without that list would
16
+ * lose its commits for good. The first sync after connecting reads the last
17
+ * {@link HISTORY_BACKFILL_DAYS} days so the report has history from day one.
18
+ */
19
+ export declare function runPaceSync(options?: {
20
+ flush?: boolean;
21
+ }): Promise<{
22
+ summarized: number;
23
+ backfilled: boolean;
24
+ } | null>;
10
25
  /** Summarizes local sessions changed since the last sweep and queues them for upload. */
11
26
  export declare function runPaceSweep(options?: {
12
27
  sinceMs?: number;
@@ -15,6 +30,12 @@ export declare function runPaceSweep(options?: {
15
30
  summarized: number;
16
31
  queued: number;
17
32
  }>;
33
+ /**
34
+ * The Authorization header for Intelligence uploads: this installation's own
35
+ * collector credential (plugin install path) or, failing that, the signed-in
36
+ * CLI token.
37
+ */
38
+ export declare function paceAuthorization(): Promise<string | null>;
18
39
  /** Pulls the organization's approved repositories so sessions can carry repository IDs and commit SHAs. */
19
40
  export declare function refreshRepositoryPolicy(options?: {
20
41
  force?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"pace.d.ts","sourceRoot":"","sources":["../../src/cmd/pace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pace.d.ts","sourceRoot":"","sources":["../../src/cmd/pace.ts"],"names":[],"mappings":"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"}
package/dist/cmd/pace.js CHANGED
@@ -8,7 +8,7 @@ import { normalizeHookEvent } from "../pace/normalize.js";
8
8
  import { appendPaceEvent, paceSpoolPath, readPaceEvents, removePaceEvents } from "../pace/spool.js";
9
9
  import { currentDevicePlatform, detectPaceClients, paceDevicePath, readOrCreatePaceDevice, writePaceDevice, } from "../pace/device.js";
10
10
  const DEFAULT_API = "https://app.unfairly.ai";
11
- export const RUNTIME_VERSION = "0.8.2";
11
+ export const RUNTIME_VERSION = "0.8.3";
12
12
  const PLUGIN_VERSION = "0.1.0";
13
13
  export const INTELLIGENCE_POLICY = {
14
14
  version: "metadata-v3",
@@ -54,20 +54,40 @@ export async function runPaceCapture(source, hookEvent) {
54
54
  });
55
55
  await appendPaceEvent(event);
56
56
  const boundary = event.event_type === "session.started" || event.event_type === "session.ended" || event.event_type === "workflow.stopped";
57
- if (boundary) {
58
- // Session summaries (model, tokens, commits) come from the client's own
59
- // transcript, which hook payloads do not carry. Summarize whatever changed
60
- // since the last sweep; a failure here must never break the AI workflow.
61
- await runPaceSweep().catch(() => undefined);
62
- }
63
- if (process.env.UNFAIRLY_PACE_NO_FLUSH !== "1" && boundary) {
64
- // A telemetry outage must never break the employee's AI workflow. Keep the
65
- // durable queue and retry on the next session boundary or explicit flush.
66
- await runPaceFlush().catch(() => undefined);
67
- }
57
+ // A failure here must never break the AI workflow.
58
+ if (boundary)
59
+ await runPaceSync({ flush: process.env.UNFAIRLY_PACE_NO_FLUSH !== "1" }).catch(() => undefined);
68
60
  }
69
61
  const SWEEP_OVERLAP_MS = 15 * 60_000;
70
62
  const FIRST_SWEEP_LOOKBACK_MS = 2 * 86_400_000;
63
+ /** How far back the first sync after connecting reads local transcripts. Matches the report's window. */
64
+ export const HISTORY_BACKFILL_DAYS = 90;
65
+ /**
66
+ * Summarizes local sessions and uploads them. Does nothing until this machine
67
+ * is connected: before that there is nowhere to send summaries and no
68
+ * approved-repository list, and a session summarized without that list would
69
+ * lose its commits for good. The first sync after connecting reads the last
70
+ * {@link HISTORY_BACKFILL_DAYS} days so the report has history from day one.
71
+ */
72
+ export async function runPaceSync(options = {}) {
73
+ if (!(await paceAuthorization()))
74
+ return null;
75
+ const device = await readOrCreatePaceDevice();
76
+ const firstSync = !device.history_backfilled_at;
77
+ // Session summaries carry repository IDs and commit SHAs only for approved
78
+ // repositories, so the policy has to be current before sessions are summarized.
79
+ await refreshRepositoryPolicy({ force: firstSync }).catch(() => null);
80
+ const sweep = firstSync
81
+ ? await runPaceSweep({ sinceMs: Date.now() - HISTORY_BACKFILL_DAYS * 86_400_000, collectedVia: "backfill" })
82
+ : await runPaceSweep();
83
+ if (firstSync)
84
+ await writePaceDevice({ ...(await readOrCreatePaceDevice()), history_backfilled_at: new Date().toISOString() });
85
+ // A telemetry outage must never break the employee's AI workflow. Keep the
86
+ // durable queue and retry on the next session boundary or explicit flush.
87
+ if (options.flush !== false)
88
+ await runPaceFlush().catch(() => undefined);
89
+ return { summarized: sweep.summarized, backfilled: firstSync };
90
+ }
71
91
  /** Summarizes local sessions changed since the last sweep and queues them for upload. */
72
92
  export async function runPaceSweep(options = {}) {
73
93
  const { sweepLocalSessions } = await import("../pace/session-summary.js");
@@ -82,6 +102,19 @@ export async function runPaceSweep(options = {}) {
82
102
  await writePaceDevice({ ...(await readOrCreatePaceDevice()), last_session_sweep_at: new Date(startedAt).toISOString() });
83
103
  return result;
84
104
  }
105
+ /**
106
+ * The Authorization header for Intelligence uploads: this installation's own
107
+ * collector credential (plugin install path) or, failing that, the signed-in
108
+ * CLI token.
109
+ */
110
+ export async function paceAuthorization() {
111
+ const { collectorAuthorization, readCollectorCredential } = await import("../pace/enroll.js");
112
+ const credential = await readCollectorCredential();
113
+ if (credential)
114
+ return collectorAuthorization(credential);
115
+ const token = await getToken();
116
+ return token ? `Bearer ${token}` : null;
117
+ }
85
118
  function apiBase() {
86
119
  return (process.env.UNFAIRLY_API_URL ?? DEFAULT_API).replace(/\/$/, "");
87
120
  }
@@ -91,10 +124,10 @@ export async function refreshRepositoryPolicy(options = {}) {
91
124
  const fresh = device.repository_policy_refreshed_at && Date.now() - Date.parse(device.repository_policy_refreshed_at) < 3_600_000;
92
125
  if (fresh && !options.force)
93
126
  return null;
94
- const token = await getToken();
95
- if (!token)
127
+ const authorization = await paceAuthorization();
128
+ if (!authorization)
96
129
  return null;
97
- const response = await fetch(`${apiBase()}/api/ai-pace/repository-policy`, { headers: { Authorization: `Bearer ${token}` } });
130
+ const response = await fetch(`${apiBase()}/api/ai-pace/repository-policy`, { headers: { Authorization: authorization } });
98
131
  if (!response.ok)
99
132
  return null;
100
133
  const { parseRepositoryPolicy, repositoryPolicyPath } = await import("../pace/repository.js");
@@ -105,7 +138,7 @@ export async function refreshRepositoryPolicy(options = {}) {
105
138
  await writePaceDevice({ ...(await readOrCreatePaceDevice()), repository_policy_refreshed_at: new Date().toISOString() });
106
139
  return { repositories: policy.mappings.length };
107
140
  }
108
- async function uploadSessionSummaries(token) {
141
+ async function uploadSessionSummaries(authorization) {
109
142
  const { readSessionSpool, removeSessionSummaries } = await import("../pace/session-summary.js");
110
143
  let sent = 0;
111
144
  for (let round = 0; round < 50; round += 1) {
@@ -114,7 +147,7 @@ async function uploadSessionSummaries(token) {
114
147
  break;
115
148
  const response = await fetch(`${apiBase()}/api/ai-pace/sessions`, {
116
149
  method: "POST",
117
- headers: { Authorization: `Bearer ${token}`, "Content-Type": "application/json" },
150
+ headers: { Authorization: authorization, "Content-Type": "application/json" },
118
151
  body: JSON.stringify({ sessions: pending }),
119
152
  });
120
153
  if (!response.ok)
@@ -130,18 +163,18 @@ export async function runPaceBackfill(days) {
130
163
  // Uploads are only accepted from a registered, active installation.
131
164
  await runPaceHeartbeat();
132
165
  const sweep = await runPaceSweep({ sinceMs: Date.now() - days * 86_400_000, collectedVia: "backfill" });
133
- const token = await getToken();
134
- if (!token)
166
+ const authorization = await paceAuthorization();
167
+ if (!authorization)
135
168
  throw new Error("Unfairly Intelligence is not enrolled. Run `unfairly setup` first.");
136
- const upload = await uploadSessionSummaries(token);
169
+ const upload = await uploadSessionSummaries(authorization);
137
170
  return { summarized: sweep.summarized, uploaded: upload.sent, remaining: upload.remaining, approved_repositories: policy?.repositories ?? null };
138
171
  }
139
172
  export async function runPaceFlush() {
140
- const token = await getToken();
141
- if (!token)
173
+ const authorization = await paceAuthorization();
174
+ if (!authorization)
142
175
  throw new Error("Unfairly Intelligence is not enrolled. Run `unfairly setup` first.");
143
176
  await refreshRepositoryPolicy().catch(() => null);
144
- const sessions = await uploadSessionSummaries(token);
177
+ const sessions = await uploadSessionSummaries(authorization);
145
178
  const events = await readPaceEvents();
146
179
  if (!events.length)
147
180
  return { sent: 0, remaining: 0, sessions_sent: sessions.sent };
@@ -154,7 +187,7 @@ export async function runPaceFlush() {
154
187
  const response = await fetch(`${apiUrl}/api/ai-pace/events`, {
155
188
  method: "POST",
156
189
  headers: {
157
- Authorization: `Bearer ${token}`,
190
+ Authorization: authorization,
158
191
  "Content-Type": "application/json",
159
192
  ...(device.attestation ? { "X-AI-Pace-Attestation": device.attestation } : {}),
160
193
  },
@@ -168,8 +201,8 @@ export async function runPaceFlush() {
168
201
  return { sent: events.length, remaining, sessions_sent: sessions.sent };
169
202
  }
170
203
  export async function runPaceHeartbeat() {
171
- const token = await getToken();
172
- if (!token)
204
+ const authorization = await paceAuthorization();
205
+ if (!authorization)
173
206
  throw new Error("Unfairly Intelligence is not enrolled. Run `unfairly setup` first.");
174
207
  const device = await readOrCreatePaceDevice();
175
208
  const clients = await detectPaceClients();
@@ -177,7 +210,7 @@ export async function runPaceHeartbeat() {
177
210
  const response = await fetch(`${apiUrl}/api/ai-pace/heartbeat`, {
178
211
  method: "POST",
179
212
  headers: {
180
- Authorization: `Bearer ${token}`,
213
+ Authorization: authorization,
181
214
  "Content-Type": "application/json",
182
215
  },
183
216
  body: JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"pace.js","sourceRoot":"","sources":["../../src/cmd/pace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,aAAsB;IAC/B,IAAI,EAAE,eAAwB;IAC9B,gBAAgB,EAAE;QAChB,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa;QACzE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe;QACzE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB;QACzE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB;QACrE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe;KAChE;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa;QACrE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa;QACrE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU;QACxE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB;KAChD;CACF,CAAC;AAEF,KAAK,UAAU,SAAS;IACtB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,SAAiB;IACpE,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO;IAC1B,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,MAAM;QACN,SAAS;QACT,OAAO,EAAE,MAAM,SAAS,EAAE;QAC1B,cAAc,EAAE,MAAM,CAAC,eAAe;KACvC,CAAC,CAAC;IACH,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,KAAK,iBAAiB,IAAI,KAAK,CAAC,UAAU,KAAK,eAAe,IAAI,KAAK,CAAC,UAAU,KAAK,kBAAkB,CAAC;IAC3I,IAAI,QAAQ,EAAE,CAAC;QACb,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3D,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,CAAC;AACrC,MAAM,uBAAuB,GAAG,CAAC,GAAG,UAAU,CAAC;AAE/C,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAoE,EAAE;IACvG,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;IAC3H,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,GAAG,gBAAgB;QACjD,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,MAAM;KAC7C,CAAC,CAAC;IACH,MAAM,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,qBAAqB,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACzH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAA+B,EAAE;IAC7E,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,8BAA8B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,GAAG,SAAS,CAAC;IAClI,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,EAAE,gCAAgC,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9H,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpG,MAAM,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,8BAA8B,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACzH,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAAa;IACjD,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAChG,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAM;QAC3B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,EAAE,uBAAuB,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YACjF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACtG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3E,CAAC;AAED,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAChF,oEAAoE;IACpE,MAAM,gBAAgB,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACxG,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI,EAAE,CAAC;AACnJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,MAAM,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,KAAK;QACR,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe;KACjE,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,qBAAqB,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;KACnD,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9F,MAAM,gBAAgB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,yBAAyB,EAAE,aAAa,EAAE,CAAC,CAAC;IACnJ,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAIpC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,wBAAwB,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,aAAa,EAAE,eAAe;YAC9B,eAAe,EAAE,eAAe;YAChC,cAAc,EAAE,cAAc;YAC9B,yBAAyB,EAAE,aAAa;YACxC,GAAG,qBAAqB,EAAE;YAC1B,OAAO;SACR,CAAC;KACH,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmD,CAAC;IACpF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACtH,MAAM,eAAe,CAAC;QACpB,GAAG,MAAM;QACT,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,sBAAsB,EAAE,IAAI,CAAC,UAAU;QACvC,yBAAyB,EAAE,aAAa;KACzC,CAAC,CAAC;IACH,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAMlC,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,eAAe,CAAC;QACpB,GAAG,MAAM;QACT,yBAAyB,EAAE,aAAa;QACxC,oBAAoB,EAAE;YACpB,OAAO,EAAE,eAAe;YACxB,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;YAC5C,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,iBAAiB,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACjH,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC;KACF,CAAC,CAAC;IACH,MAAM,gBAAgB,EAAE,CAAC;IACzB,OAAO;QACL,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM;QACvB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,IAAI;QAC7D,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,eAAe,EAAE,eAAe;QAChC,cAAc,EAAE,cAAc;QAC9B,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,mBAAmB,CAAC,OAAO;QAC1F,MAAM;QACN,KAAK,EAAE,aAAa,EAAE;QACtB,OAAO;KACR,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAMnC;IACC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,CAAC,CAAC;IACrG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAe;IAChD,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACzD,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,+BAA+B,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3H,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1H,CAAC;IACD,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxI,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9I,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,yBAAyB,EAAE,sBAAsB,EAAE,sBAAsB;QACzE,sBAAsB,EAAE,wBAAwB;KACjD,CAAC,CAAC;IACH,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;YACzF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,cAAc,GAAG;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,uBAAuB,CAAC;KAC1E,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,oBAAoB,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAAE,SAAS;QAC7G,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QACtE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QACvE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAmB;IAC3D,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/F,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAmB;IAC5D,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,KAAK,CAAC,MAAM,qCAAqC,CAAC,CAAC;IACpH,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,MAAM,IAAI,EAAE,CAAC;IACb,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAc;IACnD,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,yBAAyB,MAAM,EAAE,EAAE;QACvE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KAC1E,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA+B,CAAC;IAChE,OAAO,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB,EAAE,eAAuB;IAClF,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IACjH,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACpC,cAAc,EAAE,CAAC;QACjB,yBAAyB,EAAE,aAAa;QACxC,QAAQ,EAAE,UAAU,EAAE;QACtB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,iBAAiB;QAC7B,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,UAAU;QACvB,gBAAgB,EAAE,eAAe;QACjC,UAAU,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;KAC9C,CAAC,CAAC;IACH,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,wBAAwB,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACjF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,UAAU;YACvB,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC;YACzC,UAAU,EAAE,SAAS;YACrB,gBAAgB,EAAE,cAAc;YAChC,WAAW,EAAE,UAAU;SACxB,CAAC;KACH,CAAC,CAAC;IACH,6EAA6E;IAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7H,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"pace.js","sourceRoot":"","sources":["../../src/cmd/pace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,aAAsB;IAC/B,IAAI,EAAE,eAAwB;IAC9B,gBAAgB,EAAE;QAChB,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa;QACzE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe;QACzE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB;QACzE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB;QACrE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe;KAChE;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa;QACrE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa;QACrE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU;QACxE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB;KAChD;CACF,CAAC;AAEF,KAAK,UAAU,SAAS;IACtB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,SAAiB;IACpE,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO;IAC1B,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,MAAM;QACN,SAAS;QACT,OAAO,EAAE,MAAM,SAAS,EAAE;QAC1B,cAAc,EAAE,MAAM,CAAC,eAAe;KACvC,CAAC,CAAC;IACH,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,KAAK,iBAAiB,IAAI,KAAK,CAAC,UAAU,KAAK,eAAe,IAAI,KAAK,CAAC,UAAU,KAAK,kBAAkB,CAAC;IAC3I,mDAAmD;IACnD,IAAI,QAAQ;QAAE,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAChH,CAAC;AAED,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,CAAC;AACrC,MAAM,uBAAuB,GAAG,CAAC,GAAG,UAAU,CAAC;AAC/C,yGAAyG;AACzG,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAA+B,EAAE;IACjE,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAChD,2EAA2E;IAC3E,gFAAgF;IAChF,MAAM,uBAAuB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAqB,GAAG,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QAC5G,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC;IACzB,IAAI,SAAS;QAAE,MAAM,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,qBAAqB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/H,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;QAAE,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACzE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACjE,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAoE,EAAE;IACvG,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;IAC3H,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,GAAG,gBAAgB;QACjD,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,MAAM;KAC7C,CAAC,CAAC;IACH,MAAM,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,qBAAqB,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACzH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9F,MAAM,UAAU,GAAG,MAAM,uBAAuB,EAAE,CAAC;IACnD,IAAI,UAAU;QAAE,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAA+B,EAAE;IAC7E,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,8BAA8B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,GAAG,SAAS,CAAC;IAClI,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAChD,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,EAAE,gCAAgC,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpG,MAAM,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,8BAA8B,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACzH,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,aAAqB;IACzD,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAChG,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAM;QAC3B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,EAAE,uBAAuB,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC7E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACtG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3E,CAAC;AAED,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAChF,oEAAoE;IACpE,MAAM,gBAAgB,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAChD,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI,EAAE,CAAC;AACnJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAChD,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC1G,MAAM,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,KAAK;QACR,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe;KACjE,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,qBAAqB,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,aAAa;YAC5B,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;KACnD,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9F,MAAM,gBAAgB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,yBAAyB,EAAE,aAAa,EAAE,CAAC,CAAC;IACnJ,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAIpC,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAChD,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,wBAAwB,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,aAAa;YAC5B,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,aAAa,EAAE,eAAe;YAC9B,eAAe,EAAE,eAAe;YAChC,cAAc,EAAE,cAAc;YAC9B,yBAAyB,EAAE,aAAa;YACxC,GAAG,qBAAqB,EAAE;YAC1B,OAAO;SACR,CAAC;KACH,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmD,CAAC;IACpF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACtH,MAAM,eAAe,CAAC;QACpB,GAAG,MAAM;QACT,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,sBAAsB,EAAE,IAAI,CAAC,UAAU;QACvC,yBAAyB,EAAE,aAAa;KACzC,CAAC,CAAC;IACH,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAMlC,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,eAAe,CAAC;QACpB,GAAG,MAAM;QACT,yBAAyB,EAAE,aAAa;QACxC,oBAAoB,EAAE;YACpB,OAAO,EAAE,eAAe;YACxB,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;YAC5C,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,iBAAiB,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACjH,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC;KACF,CAAC,CAAC;IACH,MAAM,gBAAgB,EAAE,CAAC;IACzB,OAAO;QACL,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM;QACvB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,IAAI;QAC7D,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,eAAe,EAAE,eAAe;QAChC,cAAc,EAAE,cAAc;QAC9B,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,mBAAmB,CAAC,OAAO;QAC1F,MAAM;QACN,KAAK,EAAE,aAAa,EAAE;QACtB,OAAO;KACR,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAMnC;IACC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,CAAC,CAAC;IACrG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAe;IAChD,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACzD,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,+BAA+B,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3H,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1H,CAAC;IACD,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxI,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9I,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,yBAAyB,EAAE,sBAAsB,EAAE,sBAAsB;QACzE,sBAAsB,EAAE,wBAAwB;KACjD,CAAC,CAAC;IACH,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;YACzF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,cAAc,GAAG;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,uBAAuB,CAAC;KAC1E,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,oBAAoB,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAAE,SAAS;QAC7G,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QACtE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QACvE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAmB;IAC3D,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/F,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAmB;IAC5D,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,KAAK,CAAC,MAAM,qCAAqC,CAAC,CAAC;IACpH,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,MAAM,IAAI,EAAE,CAAC;IACb,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAc;IACnD,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,yBAAyB,MAAM,EAAE,EAAE;QACvE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KAC1E,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA+B,CAAC;IAChE,OAAO,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB,EAAE,eAAuB;IAClF,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IACjH,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACpC,cAAc,EAAE,CAAC;QACjB,yBAAyB,EAAE,aAAa;QACxC,QAAQ,EAAE,UAAU,EAAE;QACtB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,iBAAiB;QAC7B,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,UAAU;QACvB,gBAAgB,EAAE,eAAe;QACjC,UAAU,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;KAC9C,CAAC,CAAC;IACH,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,wBAAwB,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACjF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,UAAU;YACvB,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC;YACzC,UAAU,EAAE,SAAS;YACrB,gBAAgB,EAAE,cAAc;YAChC,WAAW,EAAE,UAAU;SACxB,CAAC;KACH,CAAC,CAAC;IACH,6EAA6E;IAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7H,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9E,CAAC"}
@@ -25,6 +25,7 @@ declare const DeviceStateSchema: z.ZodObject<{
25
25
  paused: z.ZodOptional<z.ZodBoolean>;
26
26
  last_upload_at: z.ZodOptional<z.ZodString>;
27
27
  last_session_sweep_at: z.ZodOptional<z.ZodString>;
28
+ history_backfilled_at: z.ZodOptional<z.ZodString>;
28
29
  repository_policy_refreshed_at: z.ZodOptional<z.ZodString>;
29
30
  collection_policy_version: z.ZodOptional<z.ZodLiteral<"metadata-v3">>;
30
31
  managed_files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -58,6 +59,7 @@ declare const DeviceStateSchema: z.ZodObject<{
58
59
  paused?: boolean | undefined;
59
60
  last_upload_at?: string | undefined;
60
61
  last_session_sweep_at?: string | undefined;
62
+ history_backfilled_at?: string | undefined;
61
63
  repository_policy_refreshed_at?: string | undefined;
62
64
  managed_files?: string[] | undefined;
63
65
  intelligence_install?: {
@@ -76,6 +78,7 @@ declare const DeviceStateSchema: z.ZodObject<{
76
78
  paused?: boolean | undefined;
77
79
  last_upload_at?: string | undefined;
78
80
  last_session_sweep_at?: string | undefined;
81
+ history_backfilled_at?: string | undefined;
79
82
  repository_policy_refreshed_at?: string | undefined;
80
83
  managed_files?: string[] | undefined;
81
84
  intelligence_install?: {
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/pace/device.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,gHAQ7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAK1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAW1E,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWZ,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,eAAe,CAAC,CAUvE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E;AAkBD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA0DvE;AAED,wBAAgB,qBAAqB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAE1E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAKvG"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/pace/device.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,gHAQ7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAK1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAW1E,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYZ,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,eAAe,CAAC,CAUvE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E;AAkBD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA0DvE;AAED,wBAAgB,qBAAqB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAE1E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAKvG"}
@@ -34,6 +34,7 @@ const DeviceStateSchema = z.object({
34
34
  paused: z.boolean().optional(),
35
35
  last_upload_at: z.string().datetime().optional(),
36
36
  last_session_sweep_at: z.string().datetime().optional(),
37
+ history_backfilled_at: z.string().datetime().optional(),
37
38
  repository_policy_refreshed_at: z.string().datetime().optional(),
38
39
  collection_policy_version: z.literal("metadata-v3").optional(),
39
40
  managed_files: z.array(z.string().min(1)).max(20).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/pace/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/pace/device.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * No-terminal connection for the plugin. On a session start without a
4
+ * collector credential, the plugin starts (or continues) a browser-approved
5
+ * enrollment and hands the person a link. Once approved, it claims a
6
+ * credential bound to this installation. Only these two small files are kept.
7
+ */
8
+ declare const CredentialSchema: z.ZodObject<{
9
+ installation_id: z.ZodString;
10
+ secret: z.ZodString;
11
+ org_id: z.ZodString;
12
+ }, "strict", z.ZodTypeAny, {
13
+ installation_id: string;
14
+ secret: string;
15
+ org_id: string;
16
+ }, {
17
+ installation_id: string;
18
+ secret: string;
19
+ org_id: string;
20
+ }>;
21
+ export type CollectorCredential = z.infer<typeof CredentialSchema>;
22
+ export declare const collectorCredentialPath: () => string;
23
+ export declare const readCollectorCredential: () => Promise<{
24
+ installation_id: string;
25
+ secret: string;
26
+ org_id: string;
27
+ } | null>;
28
+ export declare function collectorAuthorization(credential: CollectorCredential): string;
29
+ export type EnrollmentState = {
30
+ status: "connected";
31
+ orgId: string;
32
+ } | {
33
+ status: "waiting";
34
+ link: string;
35
+ code: string;
36
+ } | {
37
+ status: "unavailable";
38
+ };
39
+ /** One step of the enrollment state machine; safe to call on every session start. */
40
+ export declare function ensureEnrolled(input: {
41
+ apiUrl: string;
42
+ installationId: string;
43
+ platform: "darwin" | "linux" | "win32";
44
+ arch: "x64" | "arm64";
45
+ clients: string[];
46
+ orgHint?: string;
47
+ fetchImpl?: typeof fetch;
48
+ now?: Date;
49
+ }): Promise<EnrollmentState>;
50
+ /**
51
+ * Checks the enrollment this machine is waiting on, without starting a new
52
+ * one. Claims and stores the credential when the person has approved it.
53
+ */
54
+ export declare function pollPendingEnrollment(input: {
55
+ apiUrl: string;
56
+ fetchImpl?: typeof fetch;
57
+ now?: Date;
58
+ }): Promise<EnrollmentState | {
59
+ status: "none";
60
+ }>;
61
+ /**
62
+ * Keeps polling after the connect link is shown, so approving in the browser
63
+ * connects this machine within seconds instead of at the next session start.
64
+ * Stops when connected, when the enrollment ends, or at the deadline.
65
+ */
66
+ export declare function awaitApproval(input: {
67
+ apiUrl: string;
68
+ intervalMs?: number;
69
+ deadlineMs?: number;
70
+ fetchImpl?: typeof fetch;
71
+ sleep?: (ms: number) => Promise<void>;
72
+ clock?: () => number;
73
+ }): Promise<boolean>;
74
+ /** At most one background poller per machine: sessions often start in bursts. */
75
+ export declare function acquireApprovalLock(now?: number): Promise<boolean>;
76
+ export declare const releaseApprovalLock: () => Promise<void | undefined>;
77
+ /** What a SessionStart hook prints: a visible message for the person plus context so the assistant can repeat the link. */
78
+ export declare function sessionStartOutput(state: EnrollmentState, hookEventName?: string): string;
79
+ export {};
80
+ //# sourceMappingURL=enroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enroll.d.ts","sourceRoot":"","sources":["../../src/pace/enroll.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;EAAwI,CAAC;AAE/J,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAGnE,eAAO,MAAM,uBAAuB,cAAkF,CAAC;AAiBvH,eAAO,MAAM,uBAAuB;;;;SAA8D,CAAC;AAEnG,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAE9E;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC;AAE9B,qFAAqF;AACrF,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CAoB3B;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,eAAe,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAe1J;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CAWnB;AAID,iFAAiF;AACjF,wBAAsB,mBAAmB,CAAC,GAAG,SAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAiB5E;AAED,eAAO,MAAM,mBAAmB,iCAA6D,CAAC;AAE9F,2HAA2H;AAC3H,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,SAAiB,GAAG,MAAM,CAUjG"}
@@ -0,0 +1,138 @@
1
+ import fs from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { z } from "zod";
5
+ /**
6
+ * No-terminal connection for the plugin. On a session start without a
7
+ * collector credential, the plugin starts (or continues) a browser-approved
8
+ * enrollment and hands the person a link. Once approved, it claims a
9
+ * credential bound to this installation. Only these two small files are kept.
10
+ */
11
+ const CredentialSchema = z.object({ installation_id: z.string().uuid(), secret: z.string().regex(/^[A-Za-z0-9_-]{43}$/), org_id: z.string().uuid() }).strict();
12
+ const PendingSchema = z.object({ device_code: z.string(), user_code: z.string(), verification_uri: z.string().url(), expires_at: z.string() }).strict();
13
+ const dir = () => path.join(os.homedir(), ".unfairly", "pace");
14
+ export const collectorCredentialPath = () => process.env.UNFAIRLY_PACE_COLLECTOR ?? path.join(dir(), "collector.json");
15
+ const pendingPath = () => process.env.UNFAIRLY_PACE_ENROLLMENT ?? path.join(dir(), "enrollment.json");
16
+ async function readJson(file, schema) {
17
+ try {
18
+ const parsed = schema.safeParse(JSON.parse(await fs.readFile(file, "utf8")));
19
+ return parsed.success ? parsed.data : null;
20
+ }
21
+ catch {
22
+ return null;
23
+ }
24
+ }
25
+ async function writeJson(file, value) {
26
+ await fs.mkdir(path.dirname(file), { recursive: true, mode: 0o700 });
27
+ await fs.writeFile(file, `${JSON.stringify(value)}\n`, { encoding: "utf8", mode: 0o600 });
28
+ }
29
+ export const readCollectorCredential = () => readJson(collectorCredentialPath(), CredentialSchema);
30
+ export function collectorAuthorization(credential) {
31
+ return `Collector ${credential.installation_id}.${credential.secret}`;
32
+ }
33
+ /** One step of the enrollment state machine; safe to call on every session start. */
34
+ export async function ensureEnrolled(input) {
35
+ const existing = await readCollectorCredential();
36
+ if (existing)
37
+ return { status: "connected", orgId: existing.org_id };
38
+ const call = input.fetchImpl ?? fetch;
39
+ const now = input.now ?? new Date();
40
+ const polled = await pollPendingEnrollment({ apiUrl: input.apiUrl, fetchImpl: call, now });
41
+ if (polled.status === "connected" || polled.status === "waiting")
42
+ return polled;
43
+ // No live enrollment, or it was denied, expired, or claimed elsewhere: start over.
44
+ const clients = input.clients.filter((client) => ["codex", "claude_code", "cursor", "gemini_cli"].includes(client));
45
+ const response = await call(`${input.apiUrl}/api/ai-pace/enroll`, {
46
+ method: "POST",
47
+ headers: { "Content-Type": "application/json" },
48
+ body: JSON.stringify({ installation_id: input.installationId, platform: input.platform, arch: input.arch, clients, ...(input.orgHint ? { org_hint: input.orgHint } : {}) }),
49
+ });
50
+ if (!response.ok)
51
+ return { status: "unavailable" };
52
+ const started = await response.json();
53
+ await writeJson(pendingPath(), { device_code: started.device_code, user_code: started.user_code, verification_uri: started.verification_uri, expires_at: new Date(now.getTime() + started.expires_in * 1000).toISOString() });
54
+ return { status: "waiting", link: started.verification_uri, code: started.user_code };
55
+ }
56
+ /**
57
+ * Checks the enrollment this machine is waiting on, without starting a new
58
+ * one. Claims and stores the credential when the person has approved it.
59
+ */
60
+ export async function pollPendingEnrollment(input) {
61
+ const existing = await readCollectorCredential();
62
+ if (existing)
63
+ return { status: "connected", orgId: existing.org_id };
64
+ const pending = await readJson(pendingPath(), PendingSchema);
65
+ if (!pending || Date.parse(pending.expires_at) <= (input.now ?? new Date()).getTime())
66
+ return { status: "none" };
67
+ const call = input.fetchImpl ?? fetch;
68
+ const response = await call(`${input.apiUrl}/api/ai-pace/enroll/poll`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ device_code: pending.device_code }) });
69
+ const body = await response.json().catch(() => ({}));
70
+ if (body.status === "approved" && body.installation_id && body.secret && body.org_id) {
71
+ await writeJson(collectorCredentialPath(), CredentialSchema.parse({ installation_id: body.installation_id, secret: body.secret, org_id: body.org_id }));
72
+ await fs.unlink(pendingPath()).catch(() => undefined);
73
+ return { status: "connected", orgId: body.org_id };
74
+ }
75
+ if (body.status === "pending")
76
+ return { status: "waiting", link: pending.verification_uri, code: pending.user_code };
77
+ return { status: "none" };
78
+ }
79
+ /**
80
+ * Keeps polling after the connect link is shown, so approving in the browser
81
+ * connects this machine within seconds instead of at the next session start.
82
+ * Stops when connected, when the enrollment ends, or at the deadline.
83
+ */
84
+ export async function awaitApproval(input) {
85
+ const clock = input.clock ?? Date.now;
86
+ const sleep = input.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
87
+ const deadline = clock() + (input.deadlineMs ?? 16 * 60_000);
88
+ while (clock() < deadline) {
89
+ const state = await pollPendingEnrollment({ apiUrl: input.apiUrl, fetchImpl: input.fetchImpl, now: new Date(clock()) }).catch(() => ({ status: "waiting" }));
90
+ if (state.status === "connected")
91
+ return true;
92
+ if (state.status === "none")
93
+ return false;
94
+ await sleep(input.intervalMs ?? 5_000);
95
+ }
96
+ return false;
97
+ }
98
+ const approvalLockPath = () => path.join(path.dirname(pendingPath()), "approval-wait.json");
99
+ /** At most one background poller per machine: sessions often start in bursts. */
100
+ export async function acquireApprovalLock(now = Date.now()) {
101
+ const file = approvalLockPath();
102
+ try {
103
+ const lock = JSON.parse(await fs.readFile(file, "utf8"));
104
+ const fresh = typeof lock.started_at === "number" && now - lock.started_at < 17 * 60_000;
105
+ let alive = false;
106
+ try {
107
+ if (typeof lock.pid === "number") {
108
+ process.kill(lock.pid, 0);
109
+ alive = true;
110
+ }
111
+ }
112
+ catch {
113
+ alive = false;
114
+ }
115
+ if (fresh && alive)
116
+ return false;
117
+ }
118
+ catch {
119
+ // No lock yet.
120
+ }
121
+ await writeJson(file, { pid: process.pid, started_at: now });
122
+ return true;
123
+ }
124
+ export const releaseApprovalLock = () => fs.unlink(approvalLockPath()).catch(() => undefined);
125
+ /** What a SessionStart hook prints: a visible message for the person plus context so the assistant can repeat the link. */
126
+ export function sessionStartOutput(state, hookEventName = "SessionStart") {
127
+ if (state.status !== "waiting")
128
+ return "";
129
+ const message = `Connect Unfairly Intelligence to your team: open ${state.link} and approve code ${state.code}. It shares session metadata only, never prompts or code.`;
130
+ return JSON.stringify({
131
+ systemMessage: message,
132
+ hookSpecificOutput: {
133
+ hookEventName,
134
+ additionalContext: `The Unfairly Intelligence plugin is installed but this machine is not connected yet. At a natural point, tell the user once: "${message}" Do not repeat it after they connect.`,
135
+ },
136
+ });
137
+ }
138
+ //# sourceMappingURL=enroll.js.map