craftdriver 1.4.0 → 1.5.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/CHANGELOG.md +10 -3
- package/README.md +4 -2
- package/dist/cli/parseArgs.d.ts +2 -2
- package/dist/cli/parseArgs.d.ts.map +1 -1
- package/dist/cli/parseArgs.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/bidi/storage.d.ts +13 -0
- package/dist/lib/bidi/storage.d.ts.map +1 -1
- package/dist/lib/bidi/storage.js +81 -32
- package/dist/lib/bidi/storage.js.map +1 -1
- package/dist/lib/browser.d.ts +27 -1
- package/dist/lib/browser.d.ts.map +1 -1
- package/dist/lib/browser.js +142 -74
- package/dist/lib/browser.js.map +1 -1
- package/dist/lib/browserContext.d.ts +2 -2
- package/dist/lib/browserContext.d.ts.map +1 -1
- package/dist/lib/browserContext.js +1 -1
- package/dist/lib/builder.d.ts +4 -1
- package/dist/lib/builder.d.ts.map +1 -1
- package/dist/lib/builder.js +20 -2
- package/dist/lib/builder.js.map +1 -1
- package/dist/lib/capabilities.d.ts +12 -2
- package/dist/lib/capabilities.d.ts.map +1 -1
- package/dist/lib/capabilities.js +84 -39
- package/dist/lib/capabilities.js.map +1 -1
- package/dist/lib/driver.d.ts +16 -1
- package/dist/lib/driver.d.ts.map +1 -1
- package/dist/lib/driver.js +64 -0
- package/dist/lib/driver.js.map +1 -1
- package/dist/lib/driverManager.d.ts +28 -0
- package/dist/lib/driverManager.d.ts.map +1 -1
- package/dist/lib/driverManager.js +60 -0
- package/dist/lib/driverManager.js.map +1 -1
- package/dist/lib/launchTarget.d.ts +1 -1
- package/dist/lib/launchTarget.d.ts.map +1 -1
- package/dist/lib/launchTarget.js +65 -3
- package/dist/lib/launchTarget.js.map +1 -1
- package/dist/lib/safari.d.ts +90 -0
- package/dist/lib/safari.d.ts.map +1 -0
- package/dist/lib/safari.js +136 -0
- package/dist/lib/safari.js.map +1 -0
- package/dist/lib/tracing.d.ts +1 -1
- package/dist/lib/tracing.d.ts.map +1 -1
- package/dist/lib/tracing.js.map +1 -1
- package/dist/lib/types.d.ts +41 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/vibiumTrace.d.ts +1 -1
- package/dist/lib/vibiumTrace.d.ts.map +1 -1
- package/dist/lib/webelement.d.ts.map +1 -1
- package/dist/lib/webelement.js +118 -2
- package/dist/lib/webelement.js.map +1 -1
- package/docs/api-reference.md +3 -1
- package/docs/driver-configuration.md +54 -0
- package/docs/getting-started.md +30 -10
- package/docs/index.md +1 -1
- package/docs/public/examples/displayed.html +86 -0
- package/docs/safari.md +118 -0
- package/docs/standards.md +13 -0
- package/docs/why-craftdriver.md +1 -1
- package/docs/zero-config-drivers.md +12 -0
- package/package.json +3 -1
- package/skills/craftdriver/SKILL.md +4 -1
- package/skills/craftdriver/cheatsheet.md +4 -1
package/dist/lib/launchTarget.js
CHANGED
|
@@ -1,3 +1,49 @@
|
|
|
1
|
+
import { CraftdriverError, ErrorCode } from './errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Launch options that don't map onto Safari's public `safaridriver` surface.
|
|
4
|
+
* None of these have a faithful Safari equivalent:
|
|
5
|
+
* there is no supported headless mode, no browser-arg passthrough, no
|
|
6
|
+
* alternate-binary launch (STP is selected via `SafariService`'s
|
|
7
|
+
* `binaryPath`, not `browserPath`), no mobile/device emulation, and no
|
|
8
|
+
* download-directory configuration craftdriver can drive. Checked here, at
|
|
9
|
+
* launch-target resolution, so a Safari launch fails before any service
|
|
10
|
+
* process starts rather than partially launching and then failing.
|
|
11
|
+
*/
|
|
12
|
+
function assertSafariCompatible(options) {
|
|
13
|
+
const headlessEnv = process.env.HEADLESS;
|
|
14
|
+
const checks = [
|
|
15
|
+
{
|
|
16
|
+
present: headlessEnv === 'true' || headlessEnv === '1',
|
|
17
|
+
feature: 'HEADLESS',
|
|
18
|
+
hint: 'Safari has no supported headless mode. Unset the HEADLESS env var when launching Safari.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
present: hasValue(options, 'args'),
|
|
22
|
+
feature: 'args',
|
|
23
|
+
hint: 'safaridriver does not accept browser command-line arguments. Omit args for Safari.',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
present: hasValue(options, 'browserPath'),
|
|
27
|
+
feature: 'browserPath',
|
|
28
|
+
hint: 'Safari is launched from the installed app by safaridriver, not a chosen binary. ' +
|
|
29
|
+
'To use Safari Technology Preview, pass its safaridriver path via SafariService\'s binaryPath instead.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
present: hasValue(options, 'mobileEmulation'),
|
|
33
|
+
feature: 'mobileEmulation',
|
|
34
|
+
hint: 'Desktop Safari automation has no device/mobile emulation API. Omit mobileEmulation for Safari.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
present: hasValue(options, 'downloadsDir'),
|
|
38
|
+
feature: 'downloadsDir',
|
|
39
|
+
hint: 'Safari exposes no download-directory configuration craftdriver can drive. Omit downloadsDir for Safari.',
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
const incompatible = checks.find((check) => check.present);
|
|
43
|
+
if (incompatible) {
|
|
44
|
+
throw new CraftdriverError(ErrorCode.UNSUPPORTED, `browserName: 'safari' cannot be combined with ${incompatible.feature}. ${incompatible.hint}`, { detail: { browserName: 'safari', feature: incompatible.feature } });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
1
47
|
function hasValue(options, key) {
|
|
2
48
|
return Object.prototype.hasOwnProperty.call(options, key) && options[key] !== undefined;
|
|
3
49
|
}
|
|
@@ -37,13 +83,28 @@ export function resolveLaunchTarget(options) {
|
|
|
37
83
|
throw new Error('electronService requires the electron launch option.');
|
|
38
84
|
}
|
|
39
85
|
const requestedName = options.browserName ?? 'chrome';
|
|
40
|
-
if (requestedName !== 'chrome' &&
|
|
41
|
-
|
|
86
|
+
if (requestedName !== 'chrome' &&
|
|
87
|
+
requestedName !== 'chromium' &&
|
|
88
|
+
requestedName !== 'firefox' &&
|
|
89
|
+
requestedName !== 'safari') {
|
|
90
|
+
throw new Error(`Unsupported browser "${String(requestedName)}". Supported: chrome, chromium, firefox, safari.`);
|
|
91
|
+
}
|
|
92
|
+
if (requestedName === 'safari') {
|
|
93
|
+
assertSafariCompatible(options);
|
|
94
|
+
}
|
|
95
|
+
// BiDi defaults to on for Chrome/Chromium/Firefox (`enableBiDi !== false`)
|
|
96
|
+
// but Safari has no supported WebDriver BiDi implementation: it
|
|
97
|
+
// defaults to off, and an explicit `enableBiDi: true` is rejected here,
|
|
98
|
+
// before any driver process starts.
|
|
99
|
+
if (requestedName === 'safari' && enableBiDi === true) {
|
|
100
|
+
throw new CraftdriverError(ErrorCode.UNSUPPORTED, "browserName: 'safari' cannot be combined with enableBiDi: true. " +
|
|
101
|
+
'Safari has no supported WebDriver BiDi implementation. Omit enableBiDi (or pass false) for Safari.', { detail: { browserName: 'safari', feature: 'WebDriver BiDi' } });
|
|
42
102
|
}
|
|
103
|
+
const bidiRequested = requestedName === 'safari' ? false : enableBiDi !== false;
|
|
43
104
|
return {
|
|
44
105
|
kind: 'browser',
|
|
45
106
|
browserName: requestedName,
|
|
46
|
-
bidiRequested
|
|
107
|
+
bidiRequested,
|
|
47
108
|
args: optionalStringArray(options.args, 'args'),
|
|
48
109
|
browserPath: optionalString(options.browserPath, 'browserPath'),
|
|
49
110
|
};
|
|
@@ -70,6 +131,7 @@ export function resolveLaunchTarget(options) {
|
|
|
70
131
|
['browserName', 'electron selects its own Chromium target; omit browserName'],
|
|
71
132
|
['chromeService', 'use electronService for an Electron-specific driver service'],
|
|
72
133
|
['firefoxService', 'Firefox services cannot drive Electron'],
|
|
134
|
+
['safariService', 'Safari services cannot drive Electron'],
|
|
73
135
|
['mobileEmulation', 'mobile emulation does not model a desktop Electron shell'],
|
|
74
136
|
['args', 'put application/Electron/Chromium arguments in electron.args'],
|
|
75
137
|
['browserPath', 'electron.appBinaryPath is the executable path'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launchTarget.js","sourceRoot":"","sources":["../../src/lib/launchTarget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"launchTarget.js","sourceRoot":"","sources":["../../src/lib/launchTarget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { DriverService, type DriverServiceOptions } from './service.js';
|
|
2
|
+
export type SafariServiceOptions = Omit<DriverServiceOptions, 'command'> & {
|
|
3
|
+
/**
|
|
4
|
+
* Absolute path to a `safaridriver` binary.
|
|
5
|
+
* When omitted, craftdriver resolves the driver automatically — but, unlike
|
|
6
|
+
* Chrome/Firefox, **never by downloading**: Safari's WebDriver support ships
|
|
7
|
+
* with macOS/Safari itself. Resolution order (first match wins):
|
|
8
|
+
* 1. this `binaryPath`
|
|
9
|
+
* 2. CRAFTDRIVER_SAFARIDRIVER_PATH env var
|
|
10
|
+
* 3. CRAFTDRIVER_DRIVER_PATH env var
|
|
11
|
+
* 4. /usr/bin/safaridriver (the fixed system location on macOS)
|
|
12
|
+
* 5. safaridriver on PATH
|
|
13
|
+
* 6. a clear, actionable error if nothing resolves (no download fallback)
|
|
14
|
+
*
|
|
15
|
+
* Use this to select Safari Technology Preview's own `safaridriver`, e.g.
|
|
16
|
+
* `/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver`.
|
|
17
|
+
*/
|
|
18
|
+
binaryPath?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Extra `safaridriver` CLI arguments, passed through verbatim after the
|
|
21
|
+
* `--port <port>` flag. For example, `args: ['--diagnose']` turns on
|
|
22
|
+
* safaridriver's diagnostic logging (Apple writes the logs under
|
|
23
|
+
* `~/Library/Logs/com.apple.WebDriver/`), which is useful when a Safari
|
|
24
|
+
* session fails to start and the standard stdout/stderr tail isn't enough
|
|
25
|
+
* to tell why.
|
|
26
|
+
*/
|
|
27
|
+
args?: string[];
|
|
28
|
+
};
|
|
29
|
+
export declare class SafariService extends DriverService {
|
|
30
|
+
private readonly binaryPath;
|
|
31
|
+
constructor(options?: SafariServiceOptions);
|
|
32
|
+
start(): Promise<void>;
|
|
33
|
+
protected buildCommandArgs(port: number): string[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns true if `message` looks like the error `safaridriver` produces when
|
|
37
|
+
* a client attempts `POST /session` while "Allow Remote Automation" has not
|
|
38
|
+
* been enabled (Safari's Develop menu, or `safaridriver --enable`).
|
|
39
|
+
*
|
|
40
|
+
* There is no single documented exact string for this — Apple's guidance and
|
|
41
|
+
* community reports describe the wording rather than pin one byte-for-byte
|
|
42
|
+
* wire format, and we don't have a live Safari box to capture the literal
|
|
43
|
+
* response from right now. So this matches defensively on a few likely, distinctive substrings
|
|
44
|
+
* rather than one exact string, case-insensitively, while staying narrow
|
|
45
|
+
* enough not to false-positive on unrelated failures (connection refused,
|
|
46
|
+
* invalid session id, etc.).
|
|
47
|
+
*/
|
|
48
|
+
export declare function isRemoteAutomationDisabledError(message: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Returns true if `message` looks like the error `safaridriver` produces when
|
|
51
|
+
* a client attempts `POST /session` while another Safari WebDriver session is
|
|
52
|
+
* already active. Per Apple's documented constraint: only one Safari browser
|
|
53
|
+
* instance can be under automation at a
|
|
54
|
+
* time, and only one WebDriver session can attach to it — a second `POST
|
|
55
|
+
* /session` is refused by `safaridriver` itself, not something craftdriver
|
|
56
|
+
* controls.
|
|
57
|
+
*
|
|
58
|
+
* As with {@link isRemoteAutomationDisabledError}, there is no live Safari box
|
|
59
|
+
* to capture the literal wire text from right now, so this matches
|
|
60
|
+
* defensively on a few likely, distinctive substrings rather than one exact
|
|
61
|
+
* string, case-insensitively. `safaridriver` reports this as a W3C `session
|
|
62
|
+
* not created` error whose message body indicates an existing/active
|
|
63
|
+
* session — so this checks for "session" together with "already"/"active"/"in
|
|
64
|
+
* progress" wording, which is narrow enough not to false-positive on an
|
|
65
|
+
* unrelated `session not created` failure such as a genuine crash-at-launch
|
|
66
|
+
* (those don't mention an existing session at all).
|
|
67
|
+
*/
|
|
68
|
+
export declare function isSecondSessionRefusedError(message: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Augments a session-creation failure with Safari's remedy when it matches
|
|
71
|
+
* {@link isRemoteAutomationDisabledError} (checked first, since it is the more
|
|
72
|
+
* specific/common failure) or {@link isSecondSessionRefusedError}; otherwise
|
|
73
|
+
* returns the error unchanged.
|
|
74
|
+
*
|
|
75
|
+
* Wired into `Builder.build()`'s session-creation failure path:
|
|
76
|
+
* when constructing a Safari session fails, this is called on the thrown
|
|
77
|
+
* error before it propagates to the caller.
|
|
78
|
+
*
|
|
79
|
+
* Deliberately does **not** run `safaridriver --enable` itself: that flips a
|
|
80
|
+
* security setting and may prompt for administrator authentication, which
|
|
81
|
+
* library code must never do on the user's behalf. Likewise, the second-
|
|
82
|
+
* session case is deliberately message augmentation only — no in-process
|
|
83
|
+
* queue, retry loop, or wait-for-other-session-to-close logic. An in-process
|
|
84
|
+
* queue cannot coordinate across separate test-runner processes (the common
|
|
85
|
+
* case — parallel CI workers, separate `vitest`/`playwright` processes) and
|
|
86
|
+
* risks `launch()` hanging indefinitely waiting for another process's Safari
|
|
87
|
+
* session to close.
|
|
88
|
+
*/
|
|
89
|
+
export declare function augmentSafariSessionError(err: unknown): Error;
|
|
90
|
+
//# sourceMappingURL=safari.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../src/lib/safari.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIxE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG;IACzE;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,GAAE,oBAAyB;IA8BxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAcT,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;CAG5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUpE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CA6B7D"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { DriverService } from './service.js';
|
|
2
|
+
import { resolveSafariDriver } from './driverManager.js';
|
|
3
|
+
import { CraftdriverError, ErrorCode } from './errors.js';
|
|
4
|
+
export class SafariService extends DriverService {
|
|
5
|
+
binaryPath;
|
|
6
|
+
constructor(options = {}) {
|
|
7
|
+
// Platform guard first, before any option handling or filesystem access:
|
|
8
|
+
// safaridriver exists only on macOS (Apple ships no Windows/Linux build),
|
|
9
|
+
// so there is nothing to resolve off-darwin. Fail immediately with a stable
|
|
10
|
+
// machine-readable code rather than letting resolution find nothing and
|
|
11
|
+
// throw a vaguer "not found" later. (There is no path to running real
|
|
12
|
+
// Safari on Linux, ever — Apple ships no Windows/Linux build.)
|
|
13
|
+
if (process.platform !== 'darwin') {
|
|
14
|
+
throw new CraftdriverError(ErrorCode.UNSUPPORTED, `browserName: 'safari' is only supported on macOS (this platform is '${process.platform}'). ` +
|
|
15
|
+
'Safari and safaridriver ship only on Apple platforms; there is no Windows or Linux build.', { detail: { browserName: 'safari', platform: process.platform } });
|
|
16
|
+
}
|
|
17
|
+
const { binaryPath, ...rest } = options;
|
|
18
|
+
// Pass a placeholder command; the real path is resolved asynchronously in
|
|
19
|
+
// start() (safaridriver serves the standard Classic /status readiness
|
|
20
|
+
// endpoint, same as chromedriver/geckodriver).
|
|
21
|
+
super({
|
|
22
|
+
command: binaryPath ?? 'safaridriver',
|
|
23
|
+
pathBase: '',
|
|
24
|
+
readinessPath: '/status',
|
|
25
|
+
...rest,
|
|
26
|
+
});
|
|
27
|
+
this.binaryPath = binaryPath;
|
|
28
|
+
}
|
|
29
|
+
async start() {
|
|
30
|
+
if (this.proc)
|
|
31
|
+
return;
|
|
32
|
+
this.opts.command = await resolveSafariDriver({ binaryPath: this.binaryPath });
|
|
33
|
+
await super.start();
|
|
34
|
+
}
|
|
35
|
+
// `DriverService.buildCommandArgs()`'s default is chromedriver/geckodriver's
|
|
36
|
+
// `--port=<port>` (equals-separated). Apple documents safaridriver's flag as
|
|
37
|
+
// space-separated (`safaridriver --port <port>`; see Apple's "Testing with
|
|
38
|
+
// WebDriver in Safari"). An equals-separated
|
|
39
|
+
// `--port=N` is not the documented syntax and risks safaridriver treating the
|
|
40
|
+
// whole thing as an unrecognized single argument. Override to emit the two
|
|
41
|
+
// tokens safaridriver expects, still passing through any extra `args` (e.g.
|
|
42
|
+
// `--diagnose`) untouched.
|
|
43
|
+
buildCommandArgs(port) {
|
|
44
|
+
return ['--port', String(port), ...this.opts.args];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns true if `message` looks like the error `safaridriver` produces when
|
|
49
|
+
* a client attempts `POST /session` while "Allow Remote Automation" has not
|
|
50
|
+
* been enabled (Safari's Develop menu, or `safaridriver --enable`).
|
|
51
|
+
*
|
|
52
|
+
* There is no single documented exact string for this — Apple's guidance and
|
|
53
|
+
* community reports describe the wording rather than pin one byte-for-byte
|
|
54
|
+
* wire format, and we don't have a live Safari box to capture the literal
|
|
55
|
+
* response from right now. So this matches defensively on a few likely, distinctive substrings
|
|
56
|
+
* rather than one exact string, case-insensitively, while staying narrow
|
|
57
|
+
* enough not to false-positive on unrelated failures (connection refused,
|
|
58
|
+
* invalid session id, etc.).
|
|
59
|
+
*/
|
|
60
|
+
export function isRemoteAutomationDisabledError(message) {
|
|
61
|
+
const text = message.toLowerCase();
|
|
62
|
+
return (text.includes('remote automation') ||
|
|
63
|
+
(text.includes('automation') && text.includes('develop menu')) ||
|
|
64
|
+
text.includes('safaridriver --enable'));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Returns true if `message` looks like the error `safaridriver` produces when
|
|
68
|
+
* a client attempts `POST /session` while another Safari WebDriver session is
|
|
69
|
+
* already active. Per Apple's documented constraint: only one Safari browser
|
|
70
|
+
* instance can be under automation at a
|
|
71
|
+
* time, and only one WebDriver session can attach to it — a second `POST
|
|
72
|
+
* /session` is refused by `safaridriver` itself, not something craftdriver
|
|
73
|
+
* controls.
|
|
74
|
+
*
|
|
75
|
+
* As with {@link isRemoteAutomationDisabledError}, there is no live Safari box
|
|
76
|
+
* to capture the literal wire text from right now, so this matches
|
|
77
|
+
* defensively on a few likely, distinctive substrings rather than one exact
|
|
78
|
+
* string, case-insensitively. `safaridriver` reports this as a W3C `session
|
|
79
|
+
* not created` error whose message body indicates an existing/active
|
|
80
|
+
* session — so this checks for "session" together with "already"/"active"/"in
|
|
81
|
+
* progress" wording, which is narrow enough not to false-positive on an
|
|
82
|
+
* unrelated `session not created` failure such as a genuine crash-at-launch
|
|
83
|
+
* (those don't mention an existing session at all).
|
|
84
|
+
*/
|
|
85
|
+
export function isSecondSessionRefusedError(message) {
|
|
86
|
+
const text = message.toLowerCase();
|
|
87
|
+
if (!text.includes('session'))
|
|
88
|
+
return false;
|
|
89
|
+
return ((text.includes('already') && (text.includes('active') || text.includes('session'))) ||
|
|
90
|
+
text.includes('session already') ||
|
|
91
|
+
(text.includes('in progress') && text.includes('session')) ||
|
|
92
|
+
text.includes('only one') ||
|
|
93
|
+
(text.includes('another') && text.includes('session')));
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Augments a session-creation failure with Safari's remedy when it matches
|
|
97
|
+
* {@link isRemoteAutomationDisabledError} (checked first, since it is the more
|
|
98
|
+
* specific/common failure) or {@link isSecondSessionRefusedError}; otherwise
|
|
99
|
+
* returns the error unchanged.
|
|
100
|
+
*
|
|
101
|
+
* Wired into `Builder.build()`'s session-creation failure path:
|
|
102
|
+
* when constructing a Safari session fails, this is called on the thrown
|
|
103
|
+
* error before it propagates to the caller.
|
|
104
|
+
*
|
|
105
|
+
* Deliberately does **not** run `safaridriver --enable` itself: that flips a
|
|
106
|
+
* security setting and may prompt for administrator authentication, which
|
|
107
|
+
* library code must never do on the user's behalf. Likewise, the second-
|
|
108
|
+
* session case is deliberately message augmentation only — no in-process
|
|
109
|
+
* queue, retry loop, or wait-for-other-session-to-close logic. An in-process
|
|
110
|
+
* queue cannot coordinate across separate test-runner processes (the common
|
|
111
|
+
* case — parallel CI workers, separate `vitest`/`playwright` processes) and
|
|
112
|
+
* risks `launch()` hanging indefinitely waiting for another process's Safari
|
|
113
|
+
* session to close.
|
|
114
|
+
*/
|
|
115
|
+
export function augmentSafariSessionError(err) {
|
|
116
|
+
const original = err instanceof Error ? err : new Error(String(err));
|
|
117
|
+
if (isRemoteAutomationDisabledError(original.message)) {
|
|
118
|
+
return new Error(`${original.message}\n` +
|
|
119
|
+
'Remedy: Safari WebDriver automation is not enabled. Run `safaridriver --enable`, ' +
|
|
120
|
+
'or open Safari and enable Develop → Allow Remote Automation, then retry. ' +
|
|
121
|
+
'craftdriver does not run this for you — it changes a security setting and may ' +
|
|
122
|
+
'require administrator authentication.', { cause: original });
|
|
123
|
+
}
|
|
124
|
+
if (isSecondSessionRefusedError(original.message)) {
|
|
125
|
+
return new Error(`${original.message}\n` +
|
|
126
|
+
'Remedy: only one Safari WebDriver session can be active at a time — this is ' +
|
|
127
|
+
"Safari's automation model, not a craftdriver limitation. Run Safari tests " +
|
|
128
|
+
'serially on this Mac (e.g. `npm run test:safari`, which already forces ' +
|
|
129
|
+
'--maxWorkers=1); do not launch a second Safari session while one is still open. ' +
|
|
130
|
+
'For concurrent Safari coverage, use separate macOS hosts, or run one additional ' +
|
|
131
|
+
'session in Safari Technology Preview alongside stable Safari (each has its own ' +
|
|
132
|
+
'safaridriver, so the two can run one session each at the same time).', { cause: original });
|
|
133
|
+
}
|
|
134
|
+
return original;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=safari.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../src/lib/safari.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+B1D,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC7B,UAAU,CAAqB;IAEhD,YAAY,UAAgC,EAAE;QAC5C,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,wEAAwE;QACxE,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,gBAAgB,CACxB,SAAS,CAAC,WAAW,EACrB,uEAAuE,OAAO,CAAC,QAAQ,MAAM;gBAC3F,2FAA2F,EAC7F,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAExC,0EAA0E;QAC1E,sEAAsE;QACtE,+CAA+C;QAC/C,KAAK,CAAC;YACJ,OAAO,EAAE,UAAU,IAAI,cAAc;YACrC,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,SAAS;YACxB,GAAG,IAAI;SACR,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,mBAAmB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,6CAA6C;IAC7C,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,2BAA2B;IACR,gBAAgB,CAAC,IAAY;QAC9C,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,+BAA+B,CAAC,OAAe;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAClC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CACvC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAChC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAErE,IAAI,+BAA+B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,KAAK,CACd,GAAG,QAAQ,CAAC,OAAO,IAAI;YACrB,mFAAmF;YACnF,2EAA2E;YAC3E,gFAAgF;YAChF,uCAAuC,EACzC,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;IACJ,CAAC;IAED,IAAI,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,KAAK,CACd,GAAG,QAAQ,CAAC,OAAO,IAAI;YACrB,8EAA8E;YAC9E,4EAA4E;YAC5E,yEAAyE;YACzE,kFAAkF;YAClF,kFAAkF;YAClF,iFAAiF;YACjF,sEAAsE,EACxE,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/lib/tracing.d.ts
CHANGED
|
@@ -113,7 +113,7 @@ export declare class Tracer {
|
|
|
113
113
|
private actionIndex;
|
|
114
114
|
/** Tracks in-flight screenshot captures so `stop()` can drain them. */
|
|
115
115
|
private pendingCaptures;
|
|
116
|
-
constructor(browser: Browser, conn: BiDiConnection, browserName: 'chrome' | 'chromium' | 'firefox');
|
|
116
|
+
constructor(browser: Browser, conn: BiDiConnection, browserName: 'chrome' | 'chromium' | 'firefox' | 'safari');
|
|
117
117
|
get isRunning(): boolean;
|
|
118
118
|
start(opts: TraceStartOptions): Promise<void>;
|
|
119
119
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/tracing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA6CvD,MAAM,OAAO,MAAM;IAqBP;IApBF,OAAO,CAAU;IACjB,IAAI,CAAiB;IACrB,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,EAAE,CAAC;IAClB,MAAM,GAAG,EAAE,CAAC;IACZ,EAAE,GAAkB,IAAI,CAAC;IACzB,MAAM,GAAsB,EAAE,CAAC;IAC/B,eAAe,GAAG,CAAC,CAAC;IACpB,oBAAoB,GAAG,KAAK,CAAC;IAC7B,OAAO,GAAG,KAAK,CAAC;IAChB,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAmB,MAAM,CAAC;IACxC,UAAU,CAAU;IACpB,WAAW,GAAG,CAAC,CAAC;IACxB,uEAAuE;IAC/D,eAAe,GAAyB,EAAE,CAAC;IAEnD,YACE,OAAgB,EAChB,IAAoB,EACZ,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -22,4 +22,45 @@ export interface WebDriverEndpoint {
|
|
|
22
22
|
port: number;
|
|
23
23
|
path?: string;
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* A cookie as serialized by the W3C WebDriver **Classic** cookie endpoints
|
|
27
|
+
* (`GET /session/{id}/cookie` and `/cookie/{name}`).
|
|
28
|
+
*
|
|
29
|
+
* This is intentionally kept in the transport-layer `types.ts` (not
|
|
30
|
+
* `bidi/types.ts`) so `Driver` stays BiDi-agnostic — `bidi/` depends on
|
|
31
|
+
* `driver.ts`, never the reverse. It mirrors the WebDriver spec's "cookie"
|
|
32
|
+
* JSON object. Unlike BiDi's `RawNetworkCookie`, the Classic wire object
|
|
33
|
+
* carries no `size` field; callers that need one compute it.
|
|
34
|
+
*
|
|
35
|
+
* `sameSite` is typed loosely on read because driver casing varies in practice
|
|
36
|
+
* (Chromedriver/geckodriver return capitalized `Lax`/`Strict`/`None`).
|
|
37
|
+
*/
|
|
38
|
+
export interface ClassicCookie {
|
|
39
|
+
name: string;
|
|
40
|
+
value: string;
|
|
41
|
+
path: string;
|
|
42
|
+
domain: string;
|
|
43
|
+
secure: boolean;
|
|
44
|
+
httpOnly: boolean;
|
|
45
|
+
/** Seconds since the Unix epoch (W3C uses seconds, not milliseconds). */
|
|
46
|
+
expiry?: number;
|
|
47
|
+
sameSite?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The cookie object accepted by `POST /session/{id}/cookie` (`addCookie`).
|
|
51
|
+
* Only `name` and `value` are required; the driver fills `domain`/`path` from
|
|
52
|
+
* the current document when omitted. `sameSite` must be the spec's capitalized
|
|
53
|
+
* form (`None` | `Lax` | `Strict`).
|
|
54
|
+
*/
|
|
55
|
+
export interface ClassicCookieInput {
|
|
56
|
+
name: string;
|
|
57
|
+
value: string;
|
|
58
|
+
path?: string;
|
|
59
|
+
domain?: string;
|
|
60
|
+
secure?: boolean;
|
|
61
|
+
httpOnly?: boolean;
|
|
62
|
+
/** Seconds since the Unix epoch. */
|
|
63
|
+
expiry?: number;
|
|
64
|
+
sameSite?: 'None' | 'Lax' | 'Strict';
|
|
65
|
+
}
|
|
25
66
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CACtC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
interface VibiumExportOptions {
|
|
6
6
|
sourceDir: string;
|
|
7
7
|
path: string;
|
|
8
|
-
browserName: 'chrome' | 'chromium' | 'firefox';
|
|
8
|
+
browserName: 'chrome' | 'chromium' | 'firefox' | 'safari';
|
|
9
9
|
title?: string;
|
|
10
10
|
}
|
|
11
11
|
/** Write a Vibium/Playwright-compatible trace zip from a stopped raw trace. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibiumTrace.d.ts","sourceRoot":"","sources":["../../src/lib/vibiumTrace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"vibiumTrace.d.ts","sourceRoot":"","sources":["../../src/lib/vibiumTrace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+CD,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4KlF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webelement.d.ts","sourceRoot":"","sources":["../../src/lib/webelement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,eAAO,MAAM,eAAe,wCAAwC,CAAC;AACrE,eAAO,MAAM,kBAAkB,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"webelement.d.ts","sourceRoot":"","sources":["../../src/lib/webelement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,eAAO,MAAM,eAAe,wCAAwC,CAAC;AACrE,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAuG5C,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;gBAFT,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM;IAG3B,KAAK,IAAI,MAAM;IAIT,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAUhC,MAAM;;;;IAIA,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA0B/B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAUnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUlD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAU7B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAU9B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,OAAO,IAAI,OAAO,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAU3E,YAAY,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAiBvD"}
|