@gate-forge/pack-playwright 0.7.1 → 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.
Files changed (202) hide show
  1. package/README.md +31 -0
  2. package/dist/constants.d.ts +13 -140
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +13 -148
  5. package/dist/constants.js.map +1 -1
  6. package/dist/cypress/plugin.d.ts +53 -0
  7. package/dist/cypress/plugin.d.ts.map +1 -0
  8. package/dist/cypress/plugin.js +369 -0
  9. package/dist/cypress/plugin.js.map +1 -0
  10. package/dist/cypress/spec-scan.d.ts +39 -0
  11. package/dist/cypress/spec-scan.d.ts.map +1 -0
  12. package/dist/cypress/spec-scan.js +301 -0
  13. package/dist/cypress/spec-scan.js.map +1 -0
  14. package/dist/diagnosis.d.ts +39 -0
  15. package/dist/diagnosis.d.ts.map +1 -0
  16. package/dist/diagnosis.js +63 -0
  17. package/dist/diagnosis.js.map +1 -0
  18. package/dist/discovery/adapter-projection.d.ts +13 -0
  19. package/dist/discovery/adapter-projection.d.ts.map +1 -0
  20. package/dist/discovery/adapter-projection.js +84 -0
  21. package/dist/discovery/adapter-projection.js.map +1 -0
  22. package/dist/discovery/config-locations.d.ts +5 -0
  23. package/dist/discovery/config-locations.d.ts.map +1 -0
  24. package/dist/discovery/config-locations.js +19 -0
  25. package/dist/discovery/config-locations.js.map +1 -0
  26. package/dist/discovery/cypress-runner-adapter.d.ts +112 -0
  27. package/dist/discovery/cypress-runner-adapter.d.ts.map +1 -0
  28. package/dist/discovery/cypress-runner-adapter.js +501 -0
  29. package/dist/discovery/cypress-runner-adapter.js.map +1 -0
  30. package/dist/discovery/discover.d.ts +53 -1
  31. package/dist/discovery/discover.d.ts.map +1 -1
  32. package/dist/discovery/discover.js +100 -3
  33. package/dist/discovery/discover.js.map +1 -1
  34. package/dist/discovery/git-ignore.d.ts +13 -0
  35. package/dist/discovery/git-ignore.d.ts.map +1 -0
  36. package/dist/discovery/git-ignore.js +62 -0
  37. package/dist/discovery/git-ignore.js.map +1 -0
  38. package/dist/discovery/index.d.ts +9 -0
  39. package/dist/discovery/index.d.ts.map +1 -1
  40. package/dist/discovery/index.js +9 -0
  41. package/dist/discovery/index.js.map +1 -1
  42. package/dist/discovery/playwright-runner-adapter.d.ts +108 -0
  43. package/dist/discovery/playwright-runner-adapter.d.ts.map +1 -0
  44. package/dist/discovery/playwright-runner-adapter.js +185 -0
  45. package/dist/discovery/playwright-runner-adapter.js.map +1 -0
  46. package/dist/discovery/prepare-barrier.d.ts +522 -0
  47. package/dist/discovery/prepare-barrier.d.ts.map +1 -0
  48. package/dist/discovery/prepare-barrier.js +739 -0
  49. package/dist/discovery/prepare-barrier.js.map +1 -0
  50. package/dist/discovery/pytest-adapter.d.ts.map +1 -1
  51. package/dist/discovery/pytest-adapter.js +6 -2
  52. package/dist/discovery/pytest-adapter.js.map +1 -1
  53. package/dist/discovery/pytest-runner-adapter.d.ts +124 -0
  54. package/dist/discovery/pytest-runner-adapter.d.ts.map +1 -0
  55. package/dist/discovery/pytest-runner-adapter.js +454 -0
  56. package/dist/discovery/pytest-runner-adapter.js.map +1 -0
  57. package/dist/discovery/reconcile.d.ts +80 -11
  58. package/dist/discovery/reconcile.d.ts.map +1 -1
  59. package/dist/discovery/reconcile.js +395 -78
  60. package/dist/discovery/reconcile.js.map +1 -1
  61. package/dist/discovery/runner-env.d.ts +88 -2
  62. package/dist/discovery/runner-env.d.ts.map +1 -1
  63. package/dist/discovery/runner-env.js +142 -4
  64. package/dist/discovery/runner-env.js.map +1 -1
  65. package/dist/discovery/static-discovery.d.ts +38 -3
  66. package/dist/discovery/static-discovery.d.ts.map +1 -1
  67. package/dist/discovery/static-discovery.js +454 -15
  68. package/dist/discovery/static-discovery.js.map +1 -1
  69. package/dist/discovery/supervised-run.d.ts +199 -10
  70. package/dist/discovery/supervised-run.d.ts.map +1 -1
  71. package/dist/discovery/supervised-run.js +350 -39
  72. package/dist/discovery/supervised-run.js.map +1 -1
  73. package/dist/discovery/trusted-config.d.ts +180 -6
  74. package/dist/discovery/trusted-config.d.ts.map +1 -1
  75. package/dist/discovery/trusted-config.js +279 -10
  76. package/dist/discovery/trusted-config.js.map +1 -1
  77. package/dist/discovery/vitest-runner-adapter.d.ts +172 -0
  78. package/dist/discovery/vitest-runner-adapter.d.ts.map +1 -0
  79. package/dist/discovery/vitest-runner-adapter.js +607 -0
  80. package/dist/discovery/vitest-runner-adapter.js.map +1 -0
  81. package/dist/fixture/consumer-runner.d.ts +4 -0
  82. package/dist/fixture/consumer-runner.d.ts.map +1 -0
  83. package/dist/fixture/consumer-runner.js +38 -0
  84. package/dist/fixture/consumer-runner.js.map +1 -0
  85. package/dist/fixture/evidence.d.ts +27 -0
  86. package/dist/fixture/evidence.d.ts.map +1 -1
  87. package/dist/fixture/evidence.js +12 -0
  88. package/dist/fixture/evidence.js.map +1 -1
  89. package/dist/fixture/fixture.d.ts +2 -1
  90. package/dist/fixture/fixture.d.ts.map +1 -1
  91. package/dist/fixture/fixture.js +1 -17
  92. package/dist/fixture/fixture.js.map +1 -1
  93. package/dist/fixture/witness-client.d.ts +6 -174
  94. package/dist/fixture/witness-client.d.ts.map +1 -1
  95. package/dist/fixture/witness-client.js +6 -267
  96. package/dist/fixture/witness-client.js.map +1 -1
  97. package/dist/index.d.ts +9 -6
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +5 -4
  100. package/dist/index.js.map +1 -1
  101. package/dist/json.d.ts +6 -12
  102. package/dist/json.d.ts.map +1 -1
  103. package/dist/json.js +6 -17
  104. package/dist/json.js.map +1 -1
  105. package/dist/reporter/project-graph-reporter.d.ts +92 -0
  106. package/dist/reporter/project-graph-reporter.d.ts.map +1 -0
  107. package/dist/reporter/project-graph-reporter.js +92 -0
  108. package/dist/reporter/project-graph-reporter.js.map +1 -0
  109. package/dist/reporter/reporter.cjs.map +1 -1
  110. package/dist/reporter/reporter.d.ts +93 -4
  111. package/dist/reporter/reporter.d.ts.map +1 -1
  112. package/dist/reporter/reporter.js +174 -18
  113. package/dist/reporter/reporter.js.map +1 -1
  114. package/dist/runner-claims.d.ts +13 -0
  115. package/dist/runner-claims.d.ts.map +1 -0
  116. package/dist/runner-claims.js +46 -0
  117. package/dist/runner-claims.js.map +1 -0
  118. package/dist/runner-resolution.d.ts +3 -0
  119. package/dist/runner-resolution.d.ts.map +1 -0
  120. package/dist/runner-resolution.js +14 -0
  121. package/dist/runner-resolution.js.map +1 -0
  122. package/dist/supervisor/client.d.ts +23 -1
  123. package/dist/supervisor/client.d.ts.map +1 -1
  124. package/dist/supervisor/client.js +49 -0
  125. package/dist/supervisor/client.js.map +1 -1
  126. package/dist/supervisor/drain.d.ts +65 -0
  127. package/dist/supervisor/drain.d.ts.map +1 -1
  128. package/dist/supervisor/drain.js +353 -9
  129. package/dist/supervisor/drain.js.map +1 -1
  130. package/dist/supervisor/index.d.ts +7 -3
  131. package/dist/supervisor/index.d.ts.map +1 -1
  132. package/dist/supervisor/index.js +7 -3
  133. package/dist/supervisor/index.js.map +1 -1
  134. package/dist/supervisor/spool.d.ts +65 -2
  135. package/dist/supervisor/spool.d.ts.map +1 -1
  136. package/dist/supervisor/spool.js +47 -0
  137. package/dist/supervisor/spool.js.map +1 -1
  138. package/dist/surface.d.ts +6 -207
  139. package/dist/surface.d.ts.map +1 -1
  140. package/dist/surface.js +6 -264
  141. package/dist/surface.js.map +1 -1
  142. package/dist/vitest/index.d.ts +23 -0
  143. package/dist/vitest/index.d.ts.map +1 -0
  144. package/dist/vitest/index.js +356 -0
  145. package/dist/vitest/index.js.map +1 -0
  146. package/dist/vitest/reporter.d.ts +83 -0
  147. package/dist/vitest/reporter.d.ts.map +1 -0
  148. package/dist/vitest/reporter.js +211 -0
  149. package/dist/vitest/reporter.js.map +1 -0
  150. package/dist/vitest/worker-slot.d.ts +36 -0
  151. package/dist/vitest/worker-slot.d.ts.map +1 -0
  152. package/dist/vitest/worker-slot.js +51 -0
  153. package/dist/vitest/worker-slot.js.map +1 -0
  154. package/dist/witness/adapter-registry.d.ts +6 -50
  155. package/dist/witness/adapter-registry.d.ts.map +1 -1
  156. package/dist/witness/adapter-registry.js +6 -257
  157. package/dist/witness/adapter-registry.js.map +1 -1
  158. package/dist/witness/behavior-request.d.ts +6 -76
  159. package/dist/witness/behavior-request.d.ts.map +1 -1
  160. package/dist/witness/behavior-request.js +6 -273
  161. package/dist/witness/behavior-request.js.map +1 -1
  162. package/dist/witness/behavior.d.ts +6 -48
  163. package/dist/witness/behavior.d.ts.map +1 -1
  164. package/dist/witness/behavior.js +6 -114
  165. package/dist/witness/behavior.js.map +1 -1
  166. package/dist/witness/bin.d.ts +6 -17
  167. package/dist/witness/bin.d.ts.map +1 -1
  168. package/dist/witness/bin.js +6 -168
  169. package/dist/witness/bin.js.map +1 -1
  170. package/dist/witness/browser.d.ts +14 -206
  171. package/dist/witness/browser.d.ts.map +1 -1
  172. package/dist/witness/browser.js +15 -654
  173. package/dist/witness/browser.js.map +1 -1
  174. package/dist/witness/classifications.d.ts +6 -38
  175. package/dist/witness/classifications.d.ts.map +1 -1
  176. package/dist/witness/classifications.js +6 -83
  177. package/dist/witness/classifications.js.map +1 -1
  178. package/dist/witness/env-attestation.d.ts +6 -94
  179. package/dist/witness/env-attestation.d.ts.map +1 -1
  180. package/dist/witness/env-attestation.js +6 -198
  181. package/dist/witness/env-attestation.js.map +1 -1
  182. package/dist/witness/fixture-provider.d.ts +6 -82
  183. package/dist/witness/fixture-provider.d.ts.map +1 -1
  184. package/dist/witness/fixture-provider.js +6 -105
  185. package/dist/witness/fixture-provider.js.map +1 -1
  186. package/dist/witness/loopback-pins.d.ts +6 -75
  187. package/dist/witness/loopback-pins.d.ts.map +1 -1
  188. package/dist/witness/loopback-pins.js +6 -240
  189. package/dist/witness/loopback-pins.js.map +1 -1
  190. package/dist/witness/server.d.ts +8 -26
  191. package/dist/witness/server.d.ts.map +1 -1
  192. package/dist/witness/server.js +24 -3761
  193. package/dist/witness/server.js.map +1 -1
  194. package/dist/witness/types.d.ts +6 -882
  195. package/dist/witness/types.d.ts.map +1 -1
  196. package/dist/witness/types.js +9 -1
  197. package/dist/witness/types.js.map +1 -1
  198. package/examples/overlay-proof.spec.js +75 -0
  199. package/package.json +8 -2
  200. package/python/__pycache__/gateforge_persistence_intents.cpython-312.pyc +0 -0
  201. package/python/__pycache__/gateforge_persistence_intents.cpython-314.pyc +0 -0
  202. package/python/gateforge_pytest_plugin.py +462 -0
@@ -0,0 +1,172 @@
1
+ import type { RunnerExecutionEnvelope } from '@gate-forge/core';
2
+ import type { RunnerAdapter, RunnerChildEnv, RunnerChildEnvContext, RunnerEnumeration, RunnerExecuteRequest, RunnerRawResults, RunnerSessionTag } from '@gate-forge/witness/adapter';
3
+ /** Per-test session variables a runner adapter publishes to the test. */
4
+ export declare const VITEST_ENV_SESSION_ID = "GATEFORGE_SESSION_ID";
5
+ export declare const VITEST_ENV_SESSION_TOKEN = "GATEFORGE_SESSION_TOKEN";
6
+ export declare const VITEST_ENV_SESSION_PROXY_URL = "GATEFORGE_SESSION_PROXY_URL";
7
+ /** The variables that carry ONE test's identity to its traffic. */
8
+ export declare const VITEST_IDENTITY_ENV: readonly string[];
9
+ /** One jest-compatible assertion row (structural subset of the reporter JSON). */
10
+ interface VitestAssertionRow {
11
+ readonly ancestorTitles?: readonly unknown[];
12
+ readonly title?: unknown;
13
+ readonly status?: unknown;
14
+ readonly fullName?: unknown;
15
+ }
16
+ /** One jest-compatible suite row. */
17
+ interface VitestSuiteRow {
18
+ readonly name?: unknown;
19
+ readonly status?: unknown;
20
+ readonly assertionResults?: readonly VitestAssertionRow[];
21
+ }
22
+ /** The jest-compatible JSON document the Vitest reporter writes. */
23
+ export interface VitestJsonReport {
24
+ readonly numTotalTests?: unknown;
25
+ readonly testResults?: readonly VitestSuiteRow[];
26
+ }
27
+ /** Options the Vitest runner adapter accepts. */
28
+ export interface VitestRunnerAdapterOptions {
29
+ /**
30
+ * Run-scoped witness wiring for `execute` (the trusted caller's
31
+ * channel). Absent falls back to the ambient
32
+ * `GATEFORGE_WITNESS_URL`/`GATEFORGE_RUN_TOKEN`/
33
+ * `GATEFORGE_APP_BASE_URL`.
34
+ */
35
+ witness?: {
36
+ url?: string;
37
+ token?: string;
38
+ appBaseUrl?: string;
39
+ };
40
+ /** Explicit vitest CLI entry (absolute `vitest.mjs` or a bin name). */
41
+ vitestEntry?: string;
42
+ }
43
+ /**
44
+ * The Vitest runner adapter.
45
+ *
46
+ * The child's vitest resolves from the project under test first
47
+ * (`<cwd>/node_modules/vitest/vitest.mjs`, the same local-first rule
48
+ * the supervised Playwright run applies to its CLI), then the parent
49
+ * process's own module graph, then `vitest` on PATH.
50
+ */
51
+ export declare class VitestRunnerAdapter implements RunnerAdapter<VitestJsonReport | null> {
52
+ private readonly options;
53
+ readonly runner = "vitest";
54
+ readonly capabilities: {
55
+ readonly inventory: "available";
56
+ readonly resolveInstances: "available";
57
+ readonly execute: "available";
58
+ };
59
+ constructor(options?: VitestRunnerAdapterOptions);
60
+ /**
61
+ * Job 1: the runnable set, fixed BEFORE the run (the project's own
62
+ * vitest CLI, JSON output).
63
+ *
64
+ * Args:
65
+ * cwd: absolute repo root the vitest project lives under.
66
+ *
67
+ * Returns:
68
+ * Promise<RunnerEnumeration>: the enumerated tests, or an
69
+ * `unavailable` verdict with a single cause. An empty project, a
70
+ * vitest failure, and an unreadable listing are all `unavailable`.
71
+ */
72
+ enumerate(cwd: string): Promise<RunnerEnumeration>;
73
+ /**
74
+ * Job 2: the per-test tag. The pack's Vitest reporter spools the
75
+ * lifecycle events; the in-test helper resolves the supervisor
76
+ * session for the running test and rewrites its supertest traffic
77
+ * through that session's proxy origin.
78
+ *
79
+ * Args:
80
+ * session: the test being tagged.
81
+ * context: run-scoped, non-secret witness wiring.
82
+ *
83
+ * Returns:
84
+ * RunnerChildEnv: the run identity plus the session-scoped tag.
85
+ */
86
+ childEnv(_session: RunnerSessionTag, context: RunnerChildEnvContext): RunnerChildEnv;
87
+ /**
88
+ * Job 3: runs the SELECTED vitest tests under the jest-compatible
89
+ * JSON reporter plus the pack's gateforge reporter, with the
90
+ * witnessed-session env allowlist (the run identity the reporter
91
+ * needs to address the lifecycle spool plus the non-secret run
92
+ * wiring — never the verifier key, never any other parent-side name).
93
+ * A `named-selection` run adds the anchored full-name pattern so only
94
+ * the named tests execute, never their file neighbours.
95
+ *
96
+ * Args:
97
+ * request: the exact selection (with its mode), run identity, and
98
+ * wall-clock bound.
99
+ *
100
+ * Returns:
101
+ * Promise<RunnerExecutionEnvelope>: the structured outcome envelope
102
+ * (a runner exit code alone is never a gate result).
103
+ */
104
+ execute(request: RunnerExecuteRequest): Promise<RunnerExecutionEnvelope>;
105
+ /**
106
+ * Job 4: the jest-compatible JSON document, strictly mapped.
107
+ *
108
+ * Args:
109
+ * raw: the JSON report text plus the runner exit status.
110
+ *
111
+ * Returns:
112
+ * RunnerExecutionEnvelope: reporter INPUT, never a verdict. An
113
+ * unreadable report, a zero-test run, and a report whose rows carry
114
+ * no attributable identity are all `complete: false`.
115
+ */
116
+ parseResults(raw: RunnerRawResults): RunnerExecutionEnvelope;
117
+ /**
118
+ * The runner's native parsed report (diagnostics surfaces).
119
+ *
120
+ * Args:
121
+ * raw: the JSON report text plus the runner exit status.
122
+ *
123
+ * Returns:
124
+ * VitestJsonReport | null: the parsed document, or null when the
125
+ * report is absent or unparsable (never a guess).
126
+ */
127
+ parseReport(raw: RunnerRawResults): VitestJsonReport | null;
128
+ /** The runner-flags document of one run (null when absent/broken). */
129
+ private readRunnerFlags;
130
+ /** The vitest CLI entry for a project (local-first), or null. */
131
+ private vitestEntryOf;
132
+ /**
133
+ * One bounded vitest CLI invocation (stdout/stderr captured).
134
+ *
135
+ * ENUMERATION runs the CONSUMER's own vitest config, so the child
136
+ * environment is the `untrustedEnv` one: every ambient `GATEFORGE_*`
137
+ * name is stripped, which keeps the verifier key, the run token and
138
+ * the witness URL out of reach of the repository being gated. The
139
+ * ambient `GATEFORGE_REPORTER_FAIL_RUN` the old merge carried is
140
+ * stripped by the same rule, so the list child cannot be armed to
141
+ * fail a run it never reports.
142
+ */
143
+ private spawnVitest;
144
+ }
145
+ /**
146
+ * Merges the gateforge reporter's runner-flags document into an
147
+ * envelope (retry detection is only observable from the reporter, not
148
+ * from the JSON document).
149
+ *
150
+ * Args:
151
+ * envelope: the envelope `parseResults` produced.
152
+ * flagsJson: the runner-flags document text (empty when absent).
153
+ *
154
+ * Returns:
155
+ * RunnerExecutionEnvelope: the envelope with retry evidence merged;
156
+ * a retry-detected run blocks (required retries are zero).
157
+ */
158
+ export declare function mergeVitestRunnerFlags(envelope: RunnerExecutionEnvelope, flagsJson: string): RunnerExecutionEnvelope;
159
+ /**
160
+ * Escapes one literal test name for use inside a regular expression, so
161
+ * a name that contains regex metacharacters matches itself and nothing
162
+ * else.
163
+ *
164
+ * Args:
165
+ * value: the literal title text.
166
+ *
167
+ * Returns:
168
+ * string: the escaped literal.
169
+ */
170
+ export declare function escapeRegExp(value: string): string;
171
+ export {};
172
+ //# sourceMappingURL=vitest-runner-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest-runner-adapter.d.ts","sourceRoot":"","sources":["../../src/discovery/vitest-runner-adapter.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAMrC,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAC5D,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAClE,eAAO,MAAM,4BAA4B,gCAAgC,CAAC;AAE1E,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAIhD,CAAC;AAKF,kFAAkF;AAClF,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qCAAqC;AACrC,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC3D;AAED,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAClD;AAQD,iDAAiD;AACjD,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAoB,YAAW,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC;IASpE,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,QAAQ,CAAC,MAAM,YAAY;IAE3B,QAAQ,CAAC,YAAY;;;;MAIV;gBAEkB,OAAO,GAAE,0BAA+B;IAErE;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoDxD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,qBAAqB,GAAG,cAAc;IAoBpF;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAyH9E;;;;;;;;;;OAUG;IACH,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,uBAAuB;IA0D5D;;;;;;;;;OASG;IACH,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,IAAI;IAS3D,sEAAsE;IACtE,OAAO,CAAC,eAAe;IAWvB,iEAAiE;IACjE,OAAO,CAAC,aAAa;IAWrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;CAkCpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,uBAAuB,EACjC,SAAS,EAAE,MAAM,GAChB,uBAAuB,CAiBzB;AAiFD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD"}