@unotest/web 0.26.0 → 0.27.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 +183 -0
- package/README.md +45 -6
- package/dist/config/schema.d.ts +12 -12
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.js +1 -1
- package/dist/dsl/web-dsl-language-service.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/runner/cli.d.ts +8 -1
- package/dist/runner/cli.js +1 -1
- package/dist/runner/init/chrome-probe.js +1 -1
- package/dist/runner/init.js +1 -1
- package/dist/runner/install-chromium.js +1 -1
- package/dist/runner/prepare-fix.js +1 -1
- package/dist/runner/scaffold-workspace.js +1 -1
- package/dist/runner/serve-fixture.js +1 -1
- package/dist/runner/web-runner-adapter.js +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,188 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.27.0] - 2026-08-31
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- `viewer` starts quietly: the Nest boot log (a line per module and
|
|
8
|
+
route) no longer floods the terminal — you get the viewer URL and
|
|
9
|
+
nothing else. Errors and warnings still print; `UNOTEST_DEBUG=1`
|
|
10
|
+
brings the full boot map back.
|
|
11
|
+
|
|
12
|
+
- The LOCAL viewer now shows the same effective schedule set a box
|
|
13
|
+
would run — what you see is what a push ships, 1:1.
|
|
14
|
+
|
|
15
|
+
- Locally the schedule registry reads the merged set through
|
|
16
|
+
`schedules --json` (the same path a box uses): config-declared
|
|
17
|
+
entries are finally visible, marked read-only ("declared in
|
|
18
|
+
`unotest.config` — edit it there"); yaml entries stay editable as
|
|
19
|
+
before. A runner without a schedules command falls back to the
|
|
20
|
+
yaml half.
|
|
21
|
+
- `bundle push` records a fingerprint of the effective set in the
|
|
22
|
+
bundle manifest. The box re-computes the set in its own environment
|
|
23
|
+
and — when a config that reads `process.env` computes something
|
|
24
|
+
different there — warns in its log, and the deployed viewer shows a
|
|
25
|
+
drift line instead of letting "what I see is what I pushed" stand.
|
|
26
|
+
- `bundle push` now refuses to pack a project whose schedules
|
|
27
|
+
registry cannot be read — the same broken yaml used to upload fine
|
|
28
|
+
and un-schedule the suite on the box.
|
|
29
|
+
- `npx @unotest/web schedules` marks entries outside the previewable
|
|
30
|
+
cron subset (`not previewable — an executor may drop it`), and the
|
|
31
|
+
new `--check` flag turns that mark into a non-zero exit for a
|
|
32
|
+
pre-push hook or a CI gate.
|
|
33
|
+
|
|
34
|
+
- Schedules stop lying on a box, and a wrong cron is caught before the
|
|
35
|
+
push.
|
|
36
|
+
|
|
37
|
+
- `npx @unotest/web schedules` now previews every entry's next run —
|
|
38
|
+
`next tomorrow 03:00` — on this machine's clock (an executor ticks
|
|
39
|
+
in its own timezone, and the output says so). Expressions outside
|
|
40
|
+
the schedule-builder subset are shown verbatim, never guessed at.
|
|
41
|
+
- On a box the viewer shows the EFFECTIVE schedule set — the config's
|
|
42
|
+
`schedules` merged with `unotest/schedules.yaml`, read through the
|
|
43
|
+
project's own CLI — as read-only, with a badge: schedules are
|
|
44
|
+
declared in the repo, and the box runs whatever the deployed bundle
|
|
45
|
+
declares. Editing there used to write into a disposable bundle copy
|
|
46
|
+
nothing ever re-read; now the popup points at the repo and the API
|
|
47
|
+
refuses the write (403).
|
|
48
|
+
|
|
49
|
+
- c843d21: Schedules from the viewer — for collections and single tests.
|
|
50
|
+
|
|
51
|
+
Right-click a test or a collection in the viewer → **Schedule…**: a
|
|
52
|
+
human schedule builder (frequency select — every 5/15 min, hourly,
|
|
53
|
+
every 2/4/6/12 h, daily, weekly — plus toggle badges for minutes,
|
|
54
|
+
hours and weekdays; multi-select, so `04` + `16` × `00` + `30` runs
|
|
55
|
+
four times a day). Saved to `unotest/schedules.yaml`, versioned next
|
|
56
|
+
to the tests; a box applies it after commit & sync. The Home screen
|
|
57
|
+
gains a `last run | schedule` toggle: in schedule mode tiles are
|
|
58
|
+
tinted by how often a test runs (grey = not scheduled), with an
|
|
59
|
+
upcoming list and per-tile next-run times in your browser's clock.
|
|
60
|
+
|
|
61
|
+
Under the hood:
|
|
62
|
+
|
|
63
|
+
- `unotest/schedules.yaml` is a new schedule registry; `unotest-web
|
|
64
|
+
schedules [--json]` prints it merged with the config's `schedules`
|
|
65
|
+
(the file wins on a duplicate target), so boxes pick both up
|
|
66
|
+
unchanged.
|
|
67
|
+
- A schedule entry may now target a single test: `scenario:
|
|
68
|
+
<ref>` instead of `collection: <name>`.
|
|
69
|
+
- `unotest-web e2e <name> --scheduled[=index]` runs a test the way its
|
|
70
|
+
entry says (env + prepare, exit 94 when prepare fails) — the
|
|
71
|
+
per-test mirror of `collection --scheduled`.
|
|
72
|
+
- Viewer server: `GET/PUT /api/schedules` (validated by the same
|
|
73
|
+
parser the CLI reads the file with).
|
|
74
|
+
|
|
75
|
+
### Patch Changes
|
|
76
|
+
|
|
77
|
+
- Updated dependencies [c843d21]
|
|
78
|
+
- @unotest/protocol@0.27.0
|
|
79
|
+
- @unotest/viewer@0.27.0
|
|
80
|
+
- @unotest/core@0.27.0
|
|
81
|
+
- @unotest/dsl@0.27.0
|
|
82
|
+
- @unotest/grounder-client@0.27.0
|
|
83
|
+
|
|
84
|
+
## [0.26.1] - 2026-08-30
|
|
85
|
+
|
|
86
|
+
### Patch Changes
|
|
87
|
+
|
|
88
|
+
- A push now says which environments could not run the suite
|
|
89
|
+
|
|
90
|
+
The values a suite's externals need live with the environment on a box —
|
|
91
|
+
no bundle carries them, deliberately — so a suite pushed to a box that
|
|
92
|
+
has none of them was accepted happily and went red an hour later,
|
|
93
|
+
complaining about a missing login. The bundle now carries the NAMES its
|
|
94
|
+
`.env` / `.secrets` (or their `.example` twins) declare — names only,
|
|
95
|
+
never values — and the box answers the push with what it cannot supply,
|
|
96
|
+
per environment, plus the command that sets each one.
|
|
97
|
+
|
|
98
|
+
- One command cuts the whole release
|
|
99
|
+
|
|
100
|
+
`publish:ecosystem` now also commits the docs pin and cuts the box
|
|
101
|
+
release (the `guard-v<version>` tag) when something a box runs changed
|
|
102
|
+
since the last one — `--skip-box` refuses, `--box` forces. Two artifacts
|
|
103
|
+
from one commit used to be two commands, and the second one is the one
|
|
104
|
+
people forget: a fleet on yesterday's daemon while npm has today's.
|
|
105
|
+
What is left for a human is one `git push --follow-tags`.
|
|
106
|
+
|
|
107
|
+
- A collection prepares its own environment: `prepare:` in
|
|
108
|
+
`unotest/e2e/_collections/<name>.yaml`
|
|
109
|
+
|
|
110
|
+
`prepare` used to live only in a `schedules` entry, so it ran on a
|
|
111
|
+
scheduled tick and nowhere else. A suite that needs a seeded database was
|
|
112
|
+
therefore red for every other way of starting it — a CI check of a
|
|
113
|
+
deployment, the Run button in a box's viewer — with a message about a
|
|
114
|
+
missing table rather than about an unprepared environment. It belongs to
|
|
115
|
+
the suite, so it now lives with the suite: the collection's own `prepare:`
|
|
116
|
+
runs however the collection was started, inside the same queue slot, and a
|
|
117
|
+
failure still exits 94 rather than pretending the tests ran. A `schedules`
|
|
118
|
+
entry may still name its own (it wins for that tick), and `--no-prepare`
|
|
119
|
+
skips it for a run against an environment somebody else prepared.
|
|
120
|
+
|
|
121
|
+
- Fix: the mirror shipped the monorepo's `.secrets` verbatim
|
|
122
|
+
|
|
123
|
+
`publish-examples` copied `unotest/.secrets` into the public examples
|
|
124
|
+
repository as `.secrets.example`. That was harmless while the file held
|
|
125
|
+
only the playground's public demo login, and stopped being harmless the
|
|
126
|
+
moment a real credential was added to it. Secret KEYS are now spelled out
|
|
127
|
+
in the generator (values only where they are genuinely public), and a
|
|
128
|
+
guard refuses to publish when the two lists disagree — the same discipline
|
|
129
|
+
`.env` has had.
|
|
130
|
+
|
|
131
|
+
- Fix: `bundle push --run --env <name>` refused to run
|
|
132
|
+
|
|
133
|
+
`--env` was consumed globally, where it selects a local `.env.<name>`
|
|
134
|
+
overlay, and never reached `bundle push` — whose `--env` names an
|
|
135
|
+
environment ON A BOX. The command every CI job and the box manual use
|
|
136
|
+
("--run needs --env") could not work as documented. `bundle` now keeps its
|
|
137
|
+
own flag; every other command is unchanged.
|
|
138
|
+
|
|
139
|
+
- Fix: a viewer started for an environment listed no runs at all
|
|
140
|
+
|
|
141
|
+
A box starts one viewer per environment and names it through
|
|
142
|
+
`UNOTEST_ENV`; the viewer's launcher ignored that variable and came up on
|
|
143
|
+
the base runs directory, while runs were filed under `.runs.<environment>`.
|
|
144
|
+
Effect on a box: an empty run history right after a suite finished.
|
|
145
|
+
|
|
146
|
+
- 9424f6b: Fix: screenshots stayed blank in the viewer when runs write to a separate
|
|
147
|
+
artifact root
|
|
148
|
+
|
|
149
|
+
A run whose artifacts do not live under the working directory — every run on
|
|
150
|
+
a box, where the sources are a disposable copy of a test bundle — emitted
|
|
151
|
+
`screenshot` events whose path was relativised against the working directory.
|
|
152
|
+
That came out as `../../../…`, which the viewer's asset route refuses to
|
|
153
|
+
serve, so every step preview rendered as a broken image. Artifact paths are
|
|
154
|
+
now relative to the artifact root, which is still the project root on every
|
|
155
|
+
local run.
|
|
156
|
+
|
|
157
|
+
The failure bundle had the mirror-image problem: it was written to
|
|
158
|
+
`.unotest/failures/` under the working directory, so on a box it landed
|
|
159
|
+
inside the bundle copy — outside the tree the viewer serves, and discarded on
|
|
160
|
+
the next bundle push. It now hangs off the artifact root too, which leaves
|
|
161
|
+
local runs byte-for-byte unchanged.
|
|
162
|
+
|
|
163
|
+
The inspector's Semantic DOM, Console, Network and Snapshot panes were dark
|
|
164
|
+
for a third reason, and this one bit local runs as well: they composed the
|
|
165
|
+
run's directory in the browser and left out the date shard runs have been
|
|
166
|
+
filed under since M-10, plus the environment suffix on a box. The viewer's
|
|
167
|
+
asset route now takes `?file=<name-relative-to-the-run-dir>` and resolves the
|
|
168
|
+
directory itself — runs root, target suffix, environment suffix and shard are
|
|
169
|
+
all things only the server knows. `?path=` stays for the whole paths the
|
|
170
|
+
server ships on run events.
|
|
171
|
+
|
|
172
|
+
- d380850: `bundle push` strips the project's own install hooks (`postinstall`,
|
|
173
|
+
`prepare`, …) from the packed `package.json`. A box installs the suite's
|
|
174
|
+
dependencies; the project's hooks are not its business, and they point at
|
|
175
|
+
files a bundle deliberately does not carry (build scripts, Makefiles), so
|
|
176
|
+
`npm ci` on the box died with MODULE_NOT_FOUND. Dependency scripts — native
|
|
177
|
+
module builds — are untouched, and the push reports what it removed on a
|
|
178
|
+
`note:` line.
|
|
179
|
+
- Updated dependencies [9424f6b]
|
|
180
|
+
- @unotest/protocol@0.26.1
|
|
181
|
+
- @unotest/viewer@0.26.1
|
|
182
|
+
- @unotest/core@0.26.1
|
|
183
|
+
- @unotest/dsl@0.26.1
|
|
184
|
+
- @unotest/grounder-client@0.26.1
|
|
185
|
+
|
|
3
186
|
## [0.26.0] - 2026-08-30
|
|
4
187
|
|
|
5
188
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -77,7 +77,24 @@ still run in parallel inside it.
|
|
|
77
77
|
|
|
78
78
|
### Running on a schedule
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
The easiest way: open the viewer, right-click a test or a collection →
|
|
81
|
+
**Schedule…** and pick when it runs. That saves to
|
|
82
|
+
`unotest/schedules.yaml` — a plain file, versioned next to the tests it
|
|
83
|
+
runs, so a box picks it up with your next push:
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
# unotest/schedules.yaml
|
|
87
|
+
schedules:
|
|
88
|
+
- collection: nightly
|
|
89
|
+
cron: "0 3 * * *"
|
|
90
|
+
- scenario: checkout/happy-path
|
|
91
|
+
cron: "0,30 4,16 * * *"
|
|
92
|
+
env: staging
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Hand-written setups can keep declaring `schedules: [...]` in
|
|
96
|
+
`unotest.config` — both sources merge, the yaml wins on a duplicate
|
|
97
|
+
target:
|
|
81
98
|
|
|
82
99
|
```js
|
|
83
100
|
// unotest.config.mjs
|
|
@@ -89,11 +106,28 @@ export default {
|
|
|
89
106
|
};
|
|
90
107
|
```
|
|
91
108
|
|
|
92
|
-
`npx @unotest/web schedules` prints
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
`
|
|
109
|
+
`npx @unotest/web schedules` prints the merged list, with a `next …`
|
|
110
|
+
preview per entry (your machine's clock) so a wrong cron is visible
|
|
111
|
+
before you push it. A hand-written expression outside the previewable
|
|
112
|
+
subset is marked `not previewable — an executor may drop it`;
|
|
113
|
+
`npx @unotest/web schedules --check` turns that mark into a non-zero
|
|
114
|
+
exit for a pre-push hook or a CI gate. Nothing in the CLI ticks: cron is
|
|
115
|
+
executed by whatever hosts your runs — your CI, or a box — so a clone of
|
|
116
|
+
your repo never starts running suites in the background. Run one now with
|
|
117
|
+
`npx @unotest/web collection nightly --scheduled`, or
|
|
118
|
+
`npx @unotest/web e2e checkout/happy-path --scheduled` for a per-test
|
|
119
|
+
entry (both also run the entry's `prepare` command, inside the same run
|
|
120
|
+
slot).
|
|
121
|
+
|
|
122
|
+
The viewer shows this same merged list everywhere — locally the yaml
|
|
123
|
+
half is editable and config entries are read-only ("declared in
|
|
124
|
+
`unotest.config`"); on a box the whole list is read-only: the box runs
|
|
125
|
+
whatever the deployed bundle declares, so the place to change a schedule
|
|
126
|
+
is your repo — edit, push, done. What you see locally is what a push
|
|
127
|
+
ships, 1:1. `bundle push` also records a fingerprint of this set in the
|
|
128
|
+
bundle, so if your config computes `schedules` from its environment, the
|
|
129
|
+
box notices the difference and says so instead of silently arming
|
|
130
|
+
another set.
|
|
97
131
|
|
|
98
132
|
### Sending the suite to a box
|
|
99
133
|
|
|
@@ -111,6 +145,11 @@ send. Uncommitted work is included and marked *wip*, which is what makes
|
|
|
111
145
|
this a fast loop rather than a release step. Secrets stay behind:
|
|
112
146
|
`unotest/.env*` and `.secrets*` never travel, because environment values
|
|
113
147
|
belong to the environment and are injected over the bundle when it runs.
|
|
148
|
+
Your project's install hooks (`postinstall`, `prepare`, ...) are removed
|
|
149
|
+
from the packed `package.json`: a box installs the suite's dependencies,
|
|
150
|
+
it does not run project hooks — they reference files that do not travel,
|
|
151
|
+
and env setup they usually do is the box's job anyway. Dependency install
|
|
152
|
+
scripts (native modules) run as normal.
|
|
114
153
|
|
|
115
154
|
What would break on the box is refused here instead — a scenario that
|
|
116
155
|
reads a file outside `unotest/`, a missing lockfile, no `@unotest/web`
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -215,15 +215,15 @@ declare const WebServerConfigSchema: z.ZodObject<{
|
|
|
215
215
|
/** How long to wait for the URL to come up after spawning. */
|
|
216
216
|
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
217
217
|
}, "strip", z.ZodTypeAny, {
|
|
218
|
-
command: string;
|
|
219
218
|
url: string;
|
|
220
|
-
reuseExistingServer: boolean;
|
|
221
219
|
timeoutMs: number;
|
|
222
|
-
}, {
|
|
223
220
|
command: string;
|
|
221
|
+
reuseExistingServer: boolean;
|
|
222
|
+
}, {
|
|
224
223
|
url: string;
|
|
225
|
-
|
|
224
|
+
command: string;
|
|
226
225
|
timeoutMs?: number | undefined;
|
|
226
|
+
reuseExistingServer?: boolean | undefined;
|
|
227
227
|
}>;
|
|
228
228
|
type WebServerConfig = z.infer<typeof WebServerConfigSchema>;
|
|
229
229
|
declare const UnotestConfigSchema: z.ZodObject<{
|
|
@@ -249,15 +249,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
249
249
|
/** How long to wait for the URL to come up after spawning. */
|
|
250
250
|
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
251
251
|
}, "strip", z.ZodTypeAny, {
|
|
252
|
-
command: string;
|
|
253
252
|
url: string;
|
|
254
|
-
reuseExistingServer: boolean;
|
|
255
253
|
timeoutMs: number;
|
|
256
|
-
}, {
|
|
257
254
|
command: string;
|
|
255
|
+
reuseExistingServer: boolean;
|
|
256
|
+
}, {
|
|
258
257
|
url: string;
|
|
259
|
-
|
|
258
|
+
command: string;
|
|
260
259
|
timeoutMs?: number | undefined;
|
|
260
|
+
reuseExistingServer?: boolean | undefined;
|
|
261
261
|
}>>;
|
|
262
262
|
browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
|
|
263
263
|
channel: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodNull]>>;
|
|
@@ -508,10 +508,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
508
508
|
};
|
|
509
509
|
baseUrl?: string | undefined;
|
|
510
510
|
webServer?: {
|
|
511
|
-
command: string;
|
|
512
511
|
url: string;
|
|
513
|
-
reuseExistingServer: boolean;
|
|
514
512
|
timeoutMs: number;
|
|
513
|
+
command: string;
|
|
514
|
+
reuseExistingServer: boolean;
|
|
515
515
|
} | undefined;
|
|
516
516
|
channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
|
|
517
517
|
storageState?: string | undefined;
|
|
@@ -564,10 +564,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
564
564
|
};
|
|
565
565
|
baseUrl?: string | undefined;
|
|
566
566
|
webServer?: {
|
|
567
|
-
command: string;
|
|
568
567
|
url: string;
|
|
569
|
-
|
|
568
|
+
command: string;
|
|
570
569
|
timeoutMs?: number | undefined;
|
|
570
|
+
reuseExistingServer?: boolean | undefined;
|
|
571
571
|
} | undefined;
|
|
572
572
|
channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
|
|
573
573
|
storageState?: string | undefined;
|
package/dist/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var _0x5d7336=_0x5259;function _0xb439(){var _0x28f7b1=['BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','BgL0zxjHBa','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','ouzzqvLcwG','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','zxjYB3i','DhjHBNnPzw50','mJu4mZC4nNzsAxrvrW','BgLUDdPZy2vUyxjPBY1PBI1YB290','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','B2zM','BwfUDwfS','Dw5VDgvZDc9LmMu','yM9VBgvHBG','B2jQzwn0','BgLUDdPYzwDLEc1PBNzHBgLK','zw51Bq','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','C3rKAw8','mtKXnZiWueX3surv','BNvSBa','Cg9ZAxrPDMu','DMfSAwrHDg9YoMLMlxnOyxbL','C3rYAw5N','mZLQEurxyuC','odLZvKfetfO','mta4mZqZmtjnAuncz1e','BgLUDdP4Cgf0Aa','yxjYyxK','nJGZnJuXnvnsyKPLrG','BgLUDdPLy2HVlwfZC2vYDa','BgLUDdPKzwvWlwnZCW','zgLZBwLZCW','DMfSAwrHDg9YoMXPC3qTyxjN','CMvJB3jK','mtrtr0nluMu','ywnJzxb0','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','mZu3nNzZuNH4ra','Dw5PB24','mZq1ndH2wwnlr1O','BMv0D29YAW','BgLUDdPWyxvZzs1LEhbSAwnPDa','Bwf4','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','DMfSAwrHDg9YoNzHCI1ZAgfWzq','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','zgvMyxvSDa','BNvTyMvY','y3jHC2G','BxnLzgDL','DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','BwLU','Aw50','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','lNvUB3rLC3qVzMfPBhvYzxm','B3b0Aw9UywW','zMLYzwzVEa','DMfSAwrHDg9YoMfYzY1RAw5K','nJK5otjKteDyA0e','y2HYB21LlwjLDge','mtq4otrcAhbPuve','BgLUDdPNB3rVlwnVBMnHDa','BgLUDdPTDxn0ywnOzs1PBI1KC2W','DMfSAwrHDg9YoM1LDgeTC2HHCgu','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','y2HYB21PDw0','DMfSAwrHDg9YoMfYAxr5','DxjS','D2fYBG'];_0xb439=function(){return _0x28f7b1;};return _0xb439();}(function(_0x16be9c,_0x34db06){var _0x50d4a4={_0x4969f5:0xc4,_0x348307:0xd3,_0x1a9309:0xa0,_0x578c7a:0xc8,_0x3d8087:0xae,_0x1b4331:0xbe,_0x3a9e62:0xa2},_0x561cf2=_0x5259,_0x4ada53=_0x16be9c();while(!![]){try{var _0x3f7d24=-parseInt(_0x561cf2(_0x50d4a4._0x4969f5))/0x1*(parseInt(_0x561cf2(_0x50d4a4._0x348307))/0x2)+parseInt(_0x561cf2(0xc3))/0x3*(parseInt(_0x561cf2(_0x50d4a4._0x1a9309))/0x4)+parseInt(_0x561cf2(_0x50d4a4._0x578c7a))/0x5+-parseInt(_0x561cf2(0xb2))/0x6*(parseInt(_0x561cf2(0xce))/0x7)+-parseInt(_0x561cf2(0xc5))/0x8*(-parseInt(_0x561cf2(_0x50d4a4._0x3d8087))/0x9)+parseInt(_0x561cf2(_0x50d4a4._0x1b4331))/0xa+parseInt(_0x561cf2(_0x50d4a4._0x3a9e62))/0xb*(parseInt(_0x561cf2(0xd1))/0xc);if(_0x3f7d24===_0x34db06)break;else _0x4ada53['push'](_0x4ada53['shift']());}catch(_0x16ef8e){_0x4ada53['push'](_0x4ada53['shift']());}}}(_0xb439,0xed91a));import{z}from'zod';function _0x5259(_0x153dfe,_0x595c9d){_0x153dfe=_0x153dfe-0x8f;var _0xb43951=_0xb439();var _0x52591a=_0xb43951[_0x153dfe];if(_0x5259['zYtTyp']===undefined){var _0x388f67=function(_0x91fd2e){var _0xd1cb42='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5c83ec='',_0xa06308='';for(var _0x3542e7=0x0,_0x512f99,_0x1a96a7,_0x50ddfb=0x0;_0x1a96a7=_0x91fd2e['charAt'](_0x50ddfb++);~_0x1a96a7&&(_0x512f99=_0x3542e7%0x4?_0x512f99*0x40+_0x1a96a7:_0x1a96a7,_0x3542e7++%0x4)?_0x5c83ec+=String['fromCharCode'](0xff&_0x512f99>>(-0x2*_0x3542e7&0x6)):0x0){_0x1a96a7=_0xd1cb42['indexOf'](_0x1a96a7);}for(var _0x30287e=0x0,_0x3fd15a=_0x5c83ec['length'];_0x30287e<_0x3fd15a;_0x30287e++){_0xa06308+='%'+('00'+_0x5c83ec['charCodeAt'](_0x30287e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa06308);};_0x5259['vawYHx']=_0x388f67,_0x5259['kCRznC']={},_0x5259['zYtTyp']=!![];}var _0x4b65ba=_0xb43951[0x0],_0x322b1e=_0x153dfe+_0x4b65ba,_0x518784=_0x5259['kCRznC'][_0x322b1e];return!_0x518784?(_0x52591a=_0x5259['vawYHx'](_0x52591a),_0x5259['kCRznC'][_0x322b1e]=_0x52591a):_0x52591a=_0x518784,_0x52591a;}var BrowserSchema=z[_0x5d7336(0xbb)]([_0x5d7336(0xa7),_0x5d7336(0x9e),'webkit']),BrowserChannelSchema=z[_0x5d7336(0xd2)]([z['literal']('chrome'),z[_0x5d7336(0xac)](_0x5d7336(0x97)),z['literal'](_0x5d7336(0xa1)),z[_0x5d7336(0xbf)]()])[_0x5d7336(0x9d)](),ViewportSchema=z[_0x5d7336(0xb9)]({'width':z[_0x5d7336(0x95)]()[_0x5d7336(0x9a)]()[_0x5d7336(0xc0)](),'height':z['number']()['int']()[_0x5d7336(0xc0)]()}),RetryReasonSchema=z[_0x5d7336(0xbb)](['transient',_0x5d7336(0xd4),_0x5d7336(0x96)]),RetryConfigSchema=z[_0x5d7336(0xb9)]({'count':z[_0x5d7336(0x95)]()[_0x5d7336(0x9a)]()['min'](0x0)[_0x5d7336(0x90)](0xa),'on':z['array'](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x5d7336(0xb9)]({'tier1':z[_0x5d7336(0xac)](!![])[_0x5d7336(0x94)](!![]),'tier2':z[_0x5d7336(0xb8)](),'tier3':z[_0x5d7336(0xb9)]({'network':z[_0x5d7336(0xb8)](),'video':z[_0x5d7336(0xb8)]()}),'retention':z[_0x5d7336(0xb9)]({'runs':z[_0x5d7336(0x95)]()['int']()[_0x5d7336(0xc0)](),'days':z[_0x5d7336(0x95)]()['int']()[_0x5d7336(0xc0)]()}),'storageDir':z['string']()[_0x5d7336(0x99)](0x1)}),DialogPolicySchema=z[_0x5d7336(0xbb)]([_0x5d7336(0xcf),_0x5d7336(0xcb),_0x5d7336(0xb6)]),LinterRuleIdSchema=z['enum']([_0x5d7336(0xca),_0x5d7336(0xc6),_0x5d7336(0xb4),_0x5d7336(0x8f),_0x5d7336(0xa6),'lint:evaluate-discouraged',_0x5d7336(0xb3),_0x5d7336(0xa4),_0x5d7336(0xa3),_0x5d7336(0xba),_0x5d7336(0xc9),_0x5d7336(0xab),_0x5d7336(0xbc),'lint:flow-returns-value','validator:unknown-function',_0x5d7336(0xa8),_0x5d7336(0x9f),_0x5d7336(0xd0),'validator:step-shape',_0x5d7336(0xa5),_0x5d7336(0xad),'validator:for-shape',_0x5d7336(0xc1),_0x5d7336(0x92),_0x5d7336(0x91),_0x5d7336(0x93),_0x5d7336(0xaf),_0x5d7336(0x98),_0x5d7336(0xcc),_0x5d7336(0x9b)]),LinterSeveritySchema=z[_0x5d7336(0xbb)]([_0x5d7336(0xb5),_0x5d7336(0xaa),_0x5d7336(0xb0)]),LinterConfigSchema=z[_0x5d7336(0xb9)]({'enabled':z[_0x5d7336(0xb8)](),'rules':z[_0x5d7336(0xcd)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=z[_0x5d7336(0xb9)]({'enabled':z[_0x5d7336(0xb8)]()['default'](!![]),'concurrency':z['number']()[_0x5d7336(0x9a)]()['positive']()[_0x5d7336(0x94)](0x1)}),ScheduleSchema=z['object']({'collection':z['string']()[_0x5d7336(0x99)](0x1),'cron':z[_0x5d7336(0xc2)]()[_0x5d7336(0x99)](0x1),'env':z[_0x5d7336(0xc2)]()['min'](0x1)[_0x5d7336(0x9d)](),'prepare':z[_0x5d7336(0xc2)]()[_0x5d7336(0x99)](0x1)['optional']()}),McpConfigSchema=z['object']({'transport':z[_0x5d7336(0xac)](_0x5d7336(0xbd))}),SandboxConfigSchema=z[_0x5d7336(0xb9)]({'shellCwd':z[_0x5d7336(0xc2)]()[_0x5d7336(0x9d)](),'shellTimeoutMs':z[_0x5d7336(0x95)]()['int']()[_0x5d7336(0xc0)]()[_0x5d7336(0x9d)](),'exportSecrets':z['array'](z[_0x5d7336(0xc2)]())[_0x5d7336(0x9d)](),'database':z[_0x5d7336(0xc2)]()[_0x5d7336(0x9d)](),'apiBaseUrl':z['string']()[_0x5d7336(0xa9)]()[_0x5d7336(0x9d)](),'uploadDir':z[_0x5d7336(0xc2)]()[_0x5d7336(0x9d)]()}),WebServerConfigSchema=z[_0x5d7336(0xb9)]({'command':z[_0x5d7336(0xc2)]()['min'](0x1),'url':z[_0x5d7336(0xc2)]()['url'](),'reuseExistingServer':z[_0x5d7336(0xb8)]()[_0x5d7336(0x94)](!![]),'timeoutMs':z['number']()[_0x5d7336(0x9a)]()['positive']()[_0x5d7336(0x94)](0xea60)}),UnotestConfigSchema=z['object']({'baseUrl':z['string']()['url']()[_0x5d7336(0x9d)](),'webServer':WebServerConfigSchema['optional'](),'browsers':z[_0x5d7336(0xc7)](BrowserSchema)[_0x5d7336(0x99)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x5d7336(0xc2)]()[_0x5d7336(0x9d)](),'testDir':z['string']()[_0x5d7336(0x99)](0x1),'helpersDir':z[_0x5d7336(0xc2)]()['min'](0x1),'defaultTimeoutMs':z[_0x5d7336(0x95)]()['int']()[_0x5d7336(0xc0)](),'defaultNavigationTimeoutMs':z[_0x5d7336(0x95)]()[_0x5d7336(0x9a)]()[_0x5d7336(0xc0)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':z[_0x5d7336(0xc7)](ScheduleSchema)['default']([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x5d7336(0xa7)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x5d7336(0xb1)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x5d7336(0x9c)},'dialogPolicy':_0x5d7336(0xcf),'testDir':_0x5d7336(0xb7),'helpersDir':'unotest/e2e/_helpers','defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x5d7336(0xaa),'lint:xpath':'warn','lint:obfuscated-class':'warn','lint:pause-explicit':_0x5d7336(0xaa),'lint:disambig-by-index':'off','lint:evaluate-discouraged':_0x5d7336(0xaa),'lint:scenario-in-root':_0x5d7336(0xb0),'lint:mustache-in-dsl':_0x5d7336(0xb0),'lint:goto-concat':_0x5d7336(0xaa),'lint:regex-invalid':_0x5d7336(0xb0),'lint:echo-assert':_0x5d7336(0xaa),'lint:lint-ok-missing-reason':_0x5d7336(0xaa),'lint:flow-returns-value':_0x5d7336(0xaa),'validator:unknown-function':_0x5d7336(0xb0)}},'mcp':{'transport':_0x5d7336(0xbd)},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
|
package/dist/driver/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x1e5072=_0xe0c3;function _0x565c(){const _0x5732aa=['rMfRzvDLyKrYAxzLCG','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','lNbHz2uW','Aw5UzxjuzxH0','y2HLy2TLzfn0yxrLqNLezwzHDwX0','nJGWnJy4mvnMBhLXva','zhjPDMvY','AxneAxnHyMXLza','D2fPDezVCK5HDMLNyxrPB24','mteXodu2mtr5yLz0rg0','Ag92zxi','y29VA2LLu3rHDgu','DgL0Bgu','y2XVC2u','D2fPDezVCKXVywrtDgf0zq','Bwv0Ag9K','Bgf1BMnOzwq','Bg9JywXtDg9YywDLu3rHDgu','zMLSDgvY','odaXnZy1mgPSveDmsq','y291BNq','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','Cg9W','Bgf1BMnO','mJiXotqXnxzUqwTrsq','Dw5JAgvJAW','CMvJB3jK','tg9JyxrVCKvYCM9Y','B25bzNrLCKnSAwnR','C2nYB2XSsw50B1zPzxC','BMv0D29YA0vUDhjPzxm','y2XPCgjVyxjKugfZDgu','zxzHBhvHDgu','zgvSzxrL','zhjHz0fUzerYB3a','y2XVC2vgywTLugfNzq','yMvOyxzPB3i','zxjYB3jpBK5LEhrby3rPB24','m2zVswjzyq','C2v0qwn0AxzLugfNzq','y3r4','zNjVBq','zNjHBwvezxb0Aa','Aw5ZCgvJDevSzw1LBNq','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','y3vYCMvUDfvYBa','nZK0mJndzuHpC0W','y29VA2LLCW','A2LUza','zwXLBwvUDeHPBNrcEvjLzG','C2v0q29VA2LL','y2HLy2TLzfn0yxrL','z29gB3j3yxjK','y2fSBhngB3i','C2nVCgu','CMvJB3jKzxi','Bwf5yMvuAhjVDW','ntGXnJe2zK9nwwfZ','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','Aw5WDxrwywX1zuj5rgvMyxvSDa','C3rLChm','yxr0ywnOrxHPC3rPBMC','B3v0zxjive1m','ywn0AxzLswr4','AxnwAxnPyMXLqNLezwzHDwX0','C2f2zvn0B3jHz2vtDgf0zq','B25ozxDqywDL','z2v0q29VA2LL','C3vIC2nYAwjL','y2XPy2S','z29cywnR','D2fPDezVCG','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','z2v0qxr0CMLIDxrL','C2v0tg9JywXtDg9YywDL','CMvSB2fK','y2fSBhm','y29UC29SzuvUDhjPzxm','zg91yMXLq2XPy2S','D2fPDezVCLvYBa','ChvZAa','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','BMv3q29UDgv4Da','zMLSBa','y2HLy2S','Aw5WDxrwywX1zq','BMv3ugfNzuXPC3rLBMvYCW','zNjHBwvtDgfJAW','ywrK','zw50zxjgCMfTzq','zw1PDezHA2vqB3b1Ca','Cg9WDxbpBKnSAwnR','Bg9JywXtDg9YywDL','BMfTzq','z290BW','D2fPDezVCLrLEhq','B3v0zxjiDg1SqNLszwy','y29UDgv4Dhm','Aw5UzxjuzxH0qNLezwzHDwX0','Dgv4DenVBNrLBNq','mJi2otiYmM5bBe5cBW','BgvUz3rO','Aw5PDgLHBfvYBa','rMfRzvbHz2u','Dgv4DenVBNrLBNrcEurLzMf1Bhq','zxzHBhvHDgvpBKXVy2f0B3i','z2v0tg9JywXtDg9YywDL','C3bSAwnL','C2vSzwn0t3b0Aw9U','CMvM','AxnwAxnPyMXL','nfzXALrLwa','CgfNzuXPC3q','C2nYzwvUC2HVDa'];_0x565c=function(){return _0x5732aa;};return _0x565c();}(function(_0x36e8af,_0x346571){const _0x142e7e={_0x3be03a:0x150,_0xffa51e:0x127,_0xe7e94f:0x142,_0x1bf331:0x13d,_0x45a9d5:0x163},_0x5c2691=_0xe0c3,_0x13e008=_0x36e8af();while(!![]){try{const _0x4d5e4f=-parseInt(_0x5c2691(0x158))/0x1+parseInt(_0x5c2691(0x11c))/0x2*(-parseInt(_0x5c2691(_0x142e7e._0x3be03a))/0x3)+parseInt(_0x5c2691(_0x142e7e._0xffa51e))/0x4*(parseInt(_0x5c2691(_0x142e7e._0xe7e94f))/0x5)+parseInt(_0x5c2691(_0x142e7e._0x1bf331))/0x6+-parseInt(_0x5c2691(0x12f))/0x7+-parseInt(_0x5c2691(_0x142e7e._0x45a9d5))/0x8+parseInt(_0x5c2691(0x133))/0x9;if(_0x4d5e4f===_0x346571)break;else _0x13e008['push'](_0x13e008['shift']());}catch(_0x43dc39){_0x13e008['push'](_0x13e008['shift']());}}}(_0x565c,0xba7ed));var __defProp=Object['defineProperty'],__name=(_0x1fa2c0,_0x465806)=>__defProp(_0x1fa2c0,_0x1e5072(0x115),{'value':_0x465806,'configurable':!![]});function subscribe(_0x2b6346,_0x270042){const _0x11fe48={_0x4c94b8:0x14b},_0x14788a=_0x1e5072;return _0x2b6346[_0x14788a(0x110)](_0x270042),()=>{const _0x307c6e=_0x14788a;_0x2b6346[_0x307c6e(_0x11fe48._0x4c94b8)](_0x270042);};}__name(subscribe,_0x1e5072(0xfc));function _0xe0c3(_0x3063fd,_0x3ea5f5){_0x3063fd=_0x3063fd-0xf7;const _0x565ca4=_0x565c();let _0xe0c30f=_0x565ca4[_0x3063fd];if(_0xe0c3['IePtpq']===undefined){var _0xc1b9ec=function(_0x3110f6){const _0x1a6e5d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fa2c0='',_0x465806='';for(let _0x2b6346=0x0,_0x270042,_0x4ad0d7,_0x3b6646=0x0;_0x4ad0d7=_0x3110f6['charAt'](_0x3b6646++);~_0x4ad0d7&&(_0x270042=_0x2b6346%0x4?_0x270042*0x40+_0x4ad0d7:_0x4ad0d7,_0x2b6346++%0x4)?_0x1fa2c0+=String['fromCharCode'](0xff&_0x270042>>(-0x2*_0x2b6346&0x6)):0x0){_0x4ad0d7=_0x1a6e5d['indexOf'](_0x4ad0d7);}for(let _0x184bd9=0x0,_0x5e97a8=_0x1fa2c0['length'];_0x184bd9<_0x5e97a8;_0x184bd9++){_0x465806+='%'+('00'+_0x1fa2c0['charCodeAt'](_0x184bd9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x465806);};_0xe0c3['fKQMaX']=_0xc1b9ec,_0xe0c3['nSUQGa']={},_0xe0c3['IePtpq']=!![];}const _0x1ba8ab=_0x565ca4[0x0],_0x16d413=_0x3063fd+_0x1ba8ab,_0x1e3c2e=_0xe0c3['nSUQGa'][_0x16d413];return!_0x1e3c2e?(_0xe0c30f=_0xe0c3['fKQMaX'](_0xe0c30f),_0xe0c3['nSUQGa'][_0x16d413]=_0xe0c30f):_0xe0c30f=_0x1e3c2e,_0xe0c30f;}import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,'DriverError');}},LocatorError=class extends UnotestError{static{__name(this,_0x1e5072(0x145));}};function createRecorder(){const _0x40f7d8={_0x2421f1:0x108},_0x2d412d=_0x1e5072,_0x4ad0d7=[];let _0x3b6646=0x0;return{'push':__name(_0x184bd9=>_0x4ad0d7[_0x2d412d(0x108)]({..._0x184bd9,'seq':_0x3b6646++}),_0x2d412d(_0x40f7d8._0x2421f1)),'calls':__name(()=>_0x4ad0d7,'calls')};}__name(createRecorder,'createRecorder');var FakePage=class{constructor(_0x5e97a8,_0x3f5def,_0x1971bc,_0x9f2552){const _0x1c2afb={_0x2ecb51:0x161,_0x2a39cd:0x14e},_0x1393c5=_0x1e5072;this[_0x1393c5(_0x1c2afb._0x2ecb51)]=_0x5e97a8,this[_0x1393c5(_0x1c2afb._0x2a39cd)]=_0x3f5def,this[_0x1393c5(0x160)]=_0x1971bc,this['currentUrl']=_0x9f2552;}[_0x1e5072(0x161)];[_0x1e5072(0x14e)];[_0x1e5072(0x160)];static{__name(this,_0x1e5072(0x11f));}['currentUrl'];['onAfterClick'];[_0x1e5072(0x144)](_0x4086f7,_0x506a01){const _0x43a2db={_0x109ebd:0x161},_0x17f9dc=_0x1e5072;this[_0x17f9dc(_0x43a2db._0x109ebd)]['push']({'scope':this[_0x17f9dc(0x160)],'method':_0x4086f7,'args':_0x506a01});}[_0x1e5072(0x162)](){const _0x2ccfa4={_0x24f0d0:0x14f,_0x2c80e9:0x14f},_0x5d3c73=_0x1e5072;if(this[_0x5d3c73(0x14e)][_0x5d3c73(_0x2ccfa4._0x24f0d0)]){const _0x19b950=this[_0x5d3c73(0x14e)][_0x5d3c73(_0x2ccfa4._0x2c80e9)];this[_0x5d3c73(0x14e)][_0x5d3c73(_0x2ccfa4._0x24f0d0)]=void 0x0;throw _0x19b950;}}['url'](){const _0x455420={_0x36f76c:0x157},_0x464443=_0x1e5072;return this[_0x464443(_0x455420._0x36f76c)];}async[_0x1e5072(0x136)](){const _0xb829c7=_0x1e5072;return this[_0xb829c7(0x144)](_0xb829c7(0x136),[]),'fake\x20title';}async[_0x1e5072(0xfd)](_0x182c0a,_0x305433){const _0x1bf881={_0x3cfe02:0x144,_0x5e321a:0xfd,_0x18dd48:0x146},_0x3d8875=_0x1e5072;this[_0x3d8875(_0x1bf881._0x3cfe02)](_0x3d8875(_0x1bf881._0x5e321a),[_0x182c0a,_0x305433]),this[_0x3d8875(0x162)](),this[_0x3d8875(_0x1bf881._0x18dd48)]?.();}async[_0x1e5072(0x106)](_0x4b2ce6,_0x56f28f){const _0x5a33de={_0x501a9c:0x106},_0x259571=_0x1e5072;this['record'](_0x259571(_0x5a33de._0x501a9c),[_0x4b2ce6,_0x56f28f]),this[_0x259571(0x162)]();}async[_0x1e5072(0x10b)](_0x2c10be,_0x34b437,_0x5b5abd){const _0x5d871f={_0x540461:0x144,_0x442a9b:0x162},_0x1c0558=_0x1e5072;this[_0x1c0558(_0x5d871f._0x540461)](_0x1c0558(0x10b),[_0x2c10be,_0x34b437,_0x5b5abd]),this[_0x1c0558(_0x5d871f._0x442a9b)]();}async['press'](_0x509f60,_0x23e76d,_0x15c6f8){const _0x4aba8c=_0x1e5072;this[_0x4aba8c(0x144)]('press',[_0x509f60,_0x23e76d,_0x15c6f8]),this[_0x4aba8c(0x162)]();}async['check'](_0x2abf6a,_0x4fd01a){const _0x4b0556=_0x1e5072;this[_0x4b0556(0x144)](_0x4b0556(0x10c),[_0x2abf6a,_0x4fd01a]),this[_0x4b0556(0x162)]();}async[_0x1e5072(0x143)](_0x53f434,_0x6b2231){const _0x2f974e={_0x31c59a:0x144,_0x2217b8:0x143},_0x1b40ae=_0x1e5072;this[_0x1b40ae(_0x2f974e._0x31c59a)](_0x1b40ae(_0x2f974e._0x2217b8),[_0x53f434,_0x6b2231]),this[_0x1b40ae(0x162)]();}async[_0x1e5072(0x124)](_0x3c5ff6,_0x120463,_0x55fc54){const _0x5472b0={_0x4ebc43:0x144,_0x86acbb:0x124},_0x514eb4=_0x1e5072;this[_0x514eb4(_0x5472b0._0x4ebc43)](_0x514eb4(_0x5472b0._0x86acbb),[_0x3c5ff6,_0x120463,_0x55fc54]),this[_0x514eb4(0x162)]();}async[_0x1e5072(0x134)](_0x17603a,_0x323168){const _0x473a8e={_0x240c86:0x162},_0x30c5d1=_0x1e5072;this['record']('hover',[_0x17603a,_0x323168]),this[_0x30c5d1(_0x473a8e._0x240c86)]();}async[_0x1e5072(0x147)](_0x4987cc){const _0x187cc9={_0x404227:0x147},_0x45f58a=_0x1e5072;this[_0x45f58a(0x144)](_0x45f58a(_0x187cc9._0x404227),[_0x4987cc]),this[_0x45f58a(0x162)]();}async[_0x1e5072(0x14c)](_0x3e8cf6,_0x14069a,_0x1fbf1e){const _0xd6eb14={_0x37b640:0x162},_0x14a242=_0x1e5072;this['record']('dragAndDrop',[_0x3e8cf6,_0x14069a,_0x1fbf1e]),this[_0x14a242(_0xd6eb14._0x37b640)]();}async['uploadFile'](_0x46a5ba,_0x2d79d7){const _0x4f24e6={_0x1ca2c3:0x162},_0x493d25=_0x1e5072;this[_0x493d25(0x144)]('uploadFile',[_0x46a5ba,_0x2d79d7]),this[_0x493d25(_0x4f24e6._0x1ca2c3)]();}async[_0x1e5072(0x149)](_0x32a312,_0x4d59a3){const _0x4cd0a1=_0x1e5072;this[_0x4cd0a1(0x144)](_0x4cd0a1(0x149),[_0x32a312,_0x4d59a3]),this['maybeThrow']();}async[_0x1e5072(0x13e)](_0xfd07ea){const _0x252123={_0x20da29:0x14e},_0x1d038a=_0x1e5072;return this[_0x1d038a(0x144)](_0x1d038a(0x13e),[_0xfd07ea]),this[_0x1d038a(_0x252123._0x20da29)]['countByDefault']??0x1;}async[_0x1e5072(0x11b)](_0x2d111f){const _0x208eae={_0x5e8a22:0x144},_0x54610e=_0x1e5072;return this[_0x54610e(_0x208eae._0x5e8a22)](_0x54610e(0x11b),[_0x2d111f]),this[_0x54610e(0x14e)][_0x54610e(0x120)]??'';}async[_0x1e5072(0x12d)](_0x39fe91){const _0x2b32e3=_0x1e5072;return this['record']('innerText',[_0x39fe91]),this[_0x2b32e3(0x14e)][_0x2b32e3(0x11a)]??this['behavior'][_0x2b32e3(0x120)]??'';}async[_0x1e5072(0x10d)](_0x5c881c){const _0x36f84a={_0x1b263a:0x165},_0x195db4=_0x1e5072;return this['record']('inputValue',[_0x5c881c]),this['behavior'][_0x195db4(_0x36f84a._0x1b263a)]??'';}async[_0x1e5072(0x15d)](_0x1bc8ab){const _0x1f6a28={_0x452ca1:0x15d,_0x3c56e9:0x14e,_0x3e5425:0x12e},_0x391e66=_0x1e5072;return this[_0x391e66(0x144)](_0x391e66(_0x1f6a28._0x452ca1),[_0x1bc8ab]),this[_0x391e66(_0x1f6a28._0x3c56e9)][_0x391e66(_0x1f6a28._0x3e5425)]??null;}async[_0x1e5072(0x126)](_0xa8f6ee){const _0x1579aa={_0x57ef2e:0xf8},_0x672491=_0x1e5072;return this[_0x672491(0x144)](_0x672491(0x126),[_0xa8f6ee]),this[_0x672491(0x14e)][_0x672491(_0x1579aa._0x57ef2e)]??!![];}async['isDisabled'](_0x170a38){const _0x5053c7={_0x13c622:0x144,_0x5571f5:0x14e},_0x4ba34f=_0x1e5072;return this[_0x4ba34f(_0x5053c7._0x13c622)](_0x4ba34f(0x131),[_0x170a38]),this[_0x4ba34f(_0x5053c7._0x5571f5)]['isDisabledByDefault']??![];}async[_0x1e5072(0x101)](_0x4b0b44,_0x430d6b){const _0x4f0d4f=_0x1e5072;return this[_0x4f0d4f(0x144)]('getAttribute',[_0x4b0b44,_0x430d6b]),this['behavior']['attributesByDefault']?.[_0x430d6b]??null;}async[_0x1e5072(0xff)](_0xf35f5d,_0x45b4b7){const _0x1f329b={_0x3fa060:0x144},_0x407830=_0x1e5072;this[_0x407830(_0x1f329b._0x3fa060)]('waitFor',[_0xf35f5d,_0x45b4b7]);}async[_0x1e5072(0x107)](_0x45a51c,_0xa9679f){const _0x17a844={_0x5c1389:0x107},_0x34037c=_0x1e5072;this['record'](_0x34037c(_0x17a844._0x5c1389),[_0x45a51c,_0xa9679f]);}async[_0x1e5072(0x117)](_0x5cd169,_0x1701d4){const _0x3bb006={_0x3d5f0f:0x144},_0x23f34d=_0x1e5072;this[_0x23f34d(_0x3bb006._0x3d5f0f)](_0x23f34d(0x117),[_0x5cd169,_0x1701d4]);}async[_0x1e5072(0x132)](_0x591a80){const _0x46ccaf={_0x3486b4:0x144},_0x1d363e=_0x1e5072;this[_0x1d363e(_0x46ccaf._0x3486b4)]('waitForNavigation',[_0x591a80]);}async[_0x1e5072(0x138)](_0x9674fe,_0x1f986b){const _0x561c69=_0x1e5072;this['record'](_0x561c69(0x138),[_0x9674fe,_0x1f986b]);}async[_0x1e5072(0x116)](_0x5d6972,_0x2475b2){const _0x314db9={_0x2e9eb8:0x116},_0x444bad=_0x1e5072;this[_0x444bad(0x144)](_0x444bad(_0x314db9._0x2e9eb8),[_0x5d6972,_0x2475b2]),this['currentUrl']=_0x5d6972;}async[_0x1e5072(0x103)](_0x10df04){const _0x12c96b={_0x58cf94:0x144},_0x324abf=_0x1e5072;this[_0x324abf(_0x12c96b._0x58cf94)](_0x324abf(0x103),[_0x10df04]);}async[_0x1e5072(0xfe)](_0x556df4){const _0x42d0fc={_0x53c20b:0x144},_0xd1a90b=_0x1e5072;this[_0xd1a90b(_0x42d0fc._0x53c20b)]('goBack',[_0x556df4]);}async['goForward'](_0x3853a1){const _0x347cd4=_0x1e5072;this[_0x347cd4(0x144)](_0x347cd4(0x15e),[_0x3853a1]);}async['evaluate'](_0x528294){const _0x3887e8={_0x4ad97a:0x144,_0x453e39:0x14a},_0x390803=_0x1e5072;return this[_0x390803(_0x3887e8._0x4ad97a)](_0x390803(_0x3887e8._0x453e39),[_0x528294]),void 0x0;}async[_0x1e5072(0x121)](_0x543cca,_0x2fb419){return this['record']('evaluateOnLocator',[_0x543cca,_0x2fb419]),void 0x0;}async[_0x1e5072(0x155)](_0x4ced12){const _0x2972ad={_0x58b204:0x166,_0x596d0a:0x15a,_0x4ca743:0x166,_0x4fbca8:0x125,_0x1fcc1c:0x14e,_0x4cc618:0x15b},_0x1a4134=_0x1e5072;this['record'](_0x1a4134(0x155),[_0x4ced12]);if(_0x4ced12['steps'][_0x1a4134(0x11d)]!==0x1||_0x4ced12[_0x1a4134(_0x2972ad._0x58b204)][0x0][_0x1a4134(_0x2972ad._0x596d0a)]!=='ref')return null;const _0x96b266=_0x4ced12[_0x1a4134(_0x2972ad._0x4ca743)][0x0][_0x1a4134(_0x2972ad._0x4fbca8)],_0x36d431=this[_0x1a4134(_0x2972ad._0x1fcc1c)][_0x1a4134(_0x2972ad._0x4cc618)]?.[_0x96b266];return _0x36d431??null;}async[_0x1e5072(0x129)](_0xfdec5f){const _0x5c334e=_0x1e5072;return this[_0x5c334e(0x144)](_0x5c334e(0x129),[_0xfdec5f]),Buffer[_0x5c334e(0x153)]('fake-png');}async[_0x1e5072(0x168)](_0x2ebb08){const _0x260d24={_0x4e86e3:0x144,_0x48348f:0x11d,_0x1278e1:0x15a,_0x3fee85:0x166,_0x5bc2e8:0x14e,_0x5c6343:0x13f},_0x1a7f13=_0x1e5072;this[_0x1a7f13(_0x260d24._0x4e86e3)](_0x1a7f13(0x168),[_0x2ebb08]);if(_0x2ebb08['steps'][_0x1a7f13(_0x260d24._0x48348f)]===0x1&&_0x2ebb08[_0x1a7f13(0x166)][0x0][_0x1a7f13(_0x260d24._0x1278e1)]===_0x1a7f13(0x125)){const _0x581099=_0x2ebb08[_0x1a7f13(_0x260d24._0x3fee85)][0x0][_0x1a7f13(0x125)];return this[_0x1a7f13(_0x260d24._0x5bc2e8)][_0x1a7f13(0x118)]?.[_0x581099]??_0x1a7f13(_0x260d24._0x5c6343)+_0x581099+'\x22></div>';}return'<div></div>';}},FakeContext=class{constructor(_0x1344ec,_0x57ad87,_0x194218){const _0xa2d86f={_0xa9d988:0x14e,_0x4ca0b7:0x160,_0x3d9403:0x12c,_0x36d009:0x113,_0x4f0232:0x13b,_0x13b9f5:0x114},_0x4ad8a2=_0x1e5072;this[_0x4ad8a2(0x161)]=_0x1344ec,this[_0x4ad8a2(_0xa2d86f._0xa9d988)]=_0x57ad87,this[_0x4ad8a2(_0xa2d86f._0x4ca0b7)]=_0x194218;const _0x31d247=new FakePage(_0x1344ec,_0x57ad87,_0x194218+_0x4ad8a2(_0xa2d86f._0x3d9403),_0x57ad87[_0x4ad8a2(0x11e)]??'about:blank');_0x57ad87[_0x4ad8a2(_0xa2d86f._0x36d009)]&&(_0x31d247[_0x4ad8a2(0x146)]=()=>{const _0x493850=_0x4ad8a2;this[_0x493850(0x112)](_0x57ad87[_0x493850(0x113)]);}),this['pageList']=[_0x31d247],this[_0x4ad8a2(_0xa2d86f._0x4f0232)]={..._0x57ad87[_0x4ad8a2(_0xa2d86f._0x13b9f5)]??{}},this['cookieState']={..._0x57ad87[_0x4ad8a2(0x159)]??{}};}[_0x1e5072(0x161)];[_0x1e5072(0x14e)];[_0x1e5072(0x160)];static{__name(this,'FakeContext');}[_0x1e5072(0x128)];[_0x1e5072(0xf7)]=0x0;[_0x1e5072(0x10f)]=[];[_0x1e5072(0x13b)];[_0x1e5072(0x135)];[_0x1e5072(0x10e)]=new Set();['record'](_0x9c8613,_0x4d5ae7){const _0x5132e6={_0x1d0d39:0x161},_0x30ccdd=_0x1e5072;this[_0x30ccdd(_0x5132e6._0x1d0d39)][_0x30ccdd(0x108)]({'scope':this[_0x30ccdd(0x160)],'method':_0x9c8613,'args':_0x4d5ae7});}['pages'](){const _0x51ecb1=_0x1e5072;return this[_0x51ecb1(0x128)];}['activePage'](){const _0x3faca1={_0x5570a7:0x128,_0x52f69d:0x100},_0x47fb1b=_0x1e5072,_0x8f36a=this[_0x47fb1b(_0x3faca1._0x5570a7)][this[_0x47fb1b(0xf7)]];if(!_0x8f36a)throw new DriverError(_0x47fb1b(_0x3faca1._0x52f69d),{'activeIdx':this[_0x47fb1b(0xf7)]});return _0x8f36a;}['consoleEntries'](){const _0x43a8ac={_0x5ec262:0x105},_0x1065e9=_0x1e5072;return this['behavior'][_0x1065e9(_0x43a8ac._0x5ec262)]??[];}[_0x1e5072(0x148)](){const _0x70d3d9={_0x41543f:0x148},_0x187844=_0x1e5072;return this[_0x187844(0x14e)][_0x187844(_0x70d3d9._0x41543f)]??[];}async[_0x1e5072(0x151)](_0x2923a7){const _0x7e78f2={_0x4d9b9c:0x109,_0xb47173:0x128,_0x47eb89:0x11d},_0x3a321b=_0x1e5072;this[_0x3a321b(0x144)](_0x3a321b(0x151),[_0x2923a7]);if(_0x2923a7<0x0||_0x2923a7>=this[_0x3a321b(0x128)]['length'])throw new DriverError(_0x3a321b(_0x7e78f2._0x4d9b9c),{'index':_0x2923a7,'available':this[_0x3a321b(_0x7e78f2._0xb47173)][_0x3a321b(0x11d)]});this[_0x3a321b(0xf7)]=_0x2923a7,this['frameStack'][_0x3a321b(_0x7e78f2._0x47eb89)]=0x0;}[_0x1e5072(0xfa)](_0x4d555b){const _0x15df72=_0x1e5072;return subscribe(this[_0x15df72(0x10e)],_0x4d555b);}[_0x1e5072(0x112)](_0x3e99b1){const _0xe03fb2={_0x2c4423:0x11d,_0x45f689:0x128},_0x75cf88=_0x1e5072,_0x16b0a2=this[_0x75cf88(0x160)]+'.page'+this['pageList'][_0x75cf88(_0xe03fb2._0x2c4423)],_0x286b4b=new FakePage(this['recorder'],this['behavior'],_0x16b0a2,_0x3e99b1);this[_0x75cf88(_0xe03fb2._0x45f689)]['push'](_0x286b4b);const _0x3e3222=this['pageList']['length']-0x1;for(const _0x559a9b of this[_0x75cf88(0x10e)]){try{_0x559a9b({'index':_0x3e3222,'url':_0x3e99b1});}catch{}}return _0x3e3222;}[_0x1e5072(0x14d)](_0x5e595c){const _0x4ab5d7={_0x29a0ee:0x128,_0x54d52e:0x11d,_0x2b3841:0x109,_0x5c9b52:0x123},_0x1e3e09=_0x1e5072;if(_0x5e595c<0x0||_0x5e595c>=this[_0x1e3e09(_0x4ab5d7._0x29a0ee)][_0x1e3e09(_0x4ab5d7._0x54d52e)])throw new DriverError(_0x1e3e09(_0x4ab5d7._0x2b3841),{'index':_0x5e595c,'available':this['pageList']['length']});this['pageList'][_0x1e3e09(_0x4ab5d7._0x5c9b52)](_0x5e595c,0x1);}async[_0x1e5072(0x111)](_0x288afe){const _0x3696c3={_0x934ff3:0x111,_0xc90647:0x10f},_0xd71ab8=_0x1e5072;this['record'](_0xd71ab8(_0x3696c3._0x934ff3),[_0x288afe]);if(!_0x288afe[_0xd71ab8(0x166)]['length'])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x288afe});this[_0xd71ab8(_0x3696c3._0xc90647)][_0xd71ab8(0x108)](_0x288afe);}async['exitFrame'](){const _0xd5b175={_0x56ffea:0x10f,_0x447c5b:0x12b},_0x317ed2=_0x1e5072;this['record']('exitFrame',[]);if(this[_0x317ed2(_0xd5b175._0x56ffea)]['length']===0x0)throw new DriverError(_0x317ed2(_0xd5b175._0x447c5b),{});this[_0x317ed2(0x10f)][_0x317ed2(0x140)]();}async[_0x1e5072(0x102)](_0x255b59,_0xad0efc){const _0x4bca91={_0xffee4f:0x13b},_0x501f09=_0x1e5072;this['record']('setLocalStorage',[_0x255b59,_0xad0efc]),this[_0x501f09(_0x4bca91._0xffee4f)][_0x255b59]=_0xad0efc;}async[_0x1e5072(0x122)](_0x20ae07){const _0x37d297=_0x1e5072;return this[_0x37d297(0x144)](_0x37d297(0x122),[_0x20ae07]),this['localStorageState'][_0x20ae07]??null;}async[_0x1e5072(0x15c)](_0x541c58,_0x1c7b99,_0xb38c38){const _0x34245b={_0x4df1f3:0x144},_0xc6b191=_0x1e5072;this[_0xc6b191(_0x34245b._0x4df1f3)](_0xc6b191(0x15c),[_0x541c58,_0x1c7b99,_0xb38c38]),this[_0xc6b191(0x135)][_0x541c58]=_0x1c7b99;}async[_0x1e5072(0xfb)](_0x344e94){const _0x5aa85e={_0x18eb17:0x144,_0x5c4989:0xfb,_0x59c20f:0x135},_0x66e9e9=_0x1e5072;return this[_0x66e9e9(_0x5aa85e._0x18eb17)](_0x66e9e9(_0x5aa85e._0x5c4989),[_0x344e94]),this[_0x66e9e9(_0x5aa85e._0x59c20f)][_0x344e94]??null;}async[_0x1e5072(0xf9)](_0x461f48){this['record']('saveStorageState',[_0x461f48]);}async['evaluate'](_0x509dba){const _0x2ec829={_0x44e579:0x14a},_0x1c814a=_0x1e5072;return this[_0x1c814a(0x144)](_0x1c814a(_0x2ec829._0x44e579),[_0x509dba]),void 0x0;}async[_0x1e5072(0x137)](){const _0x3961d0=_0x1e5072;this['record'](_0x3961d0(0x137),[]);}[_0x1e5072(0x154)](){const _0x2e5a8b={_0xda8998:0x11d},_0x5761fd=_0x1e5072;return this['frameStack'][_0x5761fd(_0x2e5a8b._0xda8998)];}},FakeWebDriver=class{constructor(_0x2aa6e6={}){this['behavior']=_0x2aa6e6,this['recorder']=createRecorder();}[_0x1e5072(0x14e)];static{__name(this,_0x1e5072(0x12a));}[_0x1e5072(0x13a)]=![];[_0x1e5072(0x161)];[_0x1e5072(0x119)]=[];async[_0x1e5072(0x141)](_0x9bdfd){const _0x2351e8={_0x5126b5:0x161,_0x15606a:0x130,_0x5c26b2:0x141},_0x578c2e=_0x1e5072;this[_0x578c2e(_0x2351e8._0x5126b5)][_0x578c2e(0x108)]({'scope':_0x578c2e(_0x2351e8._0x15606a),'method':_0x578c2e(_0x2351e8._0x5c26b2),'args':[_0x9bdfd]}),this[_0x578c2e(0x13a)]=!![];}async[_0x1e5072(0x10a)](_0x16179d){const _0x4139e3={_0x3ba852:0x161,_0x31c760:0x10a,_0xe4829:0x13a,_0x572e62:0x152,_0x161c2c:0x11d},_0x159719=_0x1e5072;this[_0x159719(_0x4139e3._0x3ba852)][_0x159719(0x108)]({'scope':_0x159719(0x130),'method':_0x159719(_0x4139e3._0x31c760),'args':[_0x16179d]});if(!this[_0x159719(_0x4139e3._0xe4829)])throw new DriverError('newContext\x20called\x20before\x20launch()',{});const _0x47c32b=new FakeContext(this['recorder'],this['behavior'],_0x159719(_0x4139e3._0x572e62)+this[_0x159719(0x119)][_0x159719(_0x4139e3._0x161c2c)]);return this[_0x159719(0x119)][_0x159719(0x108)](_0x47c32b),_0x47c32b;}async[_0x1e5072(0x137)](){const _0x22d9a8={_0x30e15e:0x161,_0x39d9a2:0x130,_0x4ea933:0x137},_0x316cef=_0x1e5072;this[_0x316cef(_0x22d9a8._0x30e15e)][_0x316cef(0x108)]({'scope':_0x316cef(_0x22d9a8._0x39d9a2),'method':_0x316cef(_0x22d9a8._0x4ea933),'args':[]}),this['launched']=![];}['wsEndpoint'](){return void 0x0;}async['connectShared'](){const _0x53961f={_0x1c70fb:0x156},_0x11e201=_0x1e5072;throw new DriverError(_0x11e201(_0x53961f._0x1c70fb),{});}[_0x1e5072(0x167)](){const _0x58786b={_0x2ff4b2:0x164},_0x1217c7=_0x1e5072;throw new DriverError(_0x1217c7(_0x58786b._0x2ff4b2),{});}[_0x1e5072(0x104)](){const _0x53f55d={_0x12fc35:0x104},_0xb2ea5e=_0x1e5072;return this['recorder'][_0xb2ea5e(_0x53f55d._0x12fc35)]();}[_0x1e5072(0x15f)](_0x3e6ca9){const _0x13afda={_0x212a6c:0x161,_0x33f28a:0x13c},_0x5d098c=_0x1e5072;return this[_0x5d098c(_0x13afda._0x212a6c)][_0x5d098c(0x104)]()[_0x5d098c(_0x13afda._0x33f28a)](_0x6b2e06=>_0x6b2e06[_0x5d098c(0x139)]===_0x3e6ca9);}};export{FakeWebDriver};
|
|
1
|
+
function _0x22a6(_0x509c4c,_0x871368){_0x509c4c=_0x509c4c-0xe3;const _0xb1c7a0=_0xb1c7();let _0x22a656=_0xb1c7a0[_0x509c4c];if(_0x22a6['KfTYOD']===undefined){var _0x4bb0c6=function(_0x426874){const _0x5aca96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37be77='',_0x1bd526='';for(let _0x109d07=0x0,_0x2e5c09,_0x13d760,_0x44ab43=0x0;_0x13d760=_0x426874['charAt'](_0x44ab43++);~_0x13d760&&(_0x2e5c09=_0x109d07%0x4?_0x2e5c09*0x40+_0x13d760:_0x13d760,_0x109d07++%0x4)?_0x37be77+=String['fromCharCode'](0xff&_0x2e5c09>>(-0x2*_0x109d07&0x6)):0x0){_0x13d760=_0x5aca96['indexOf'](_0x13d760);}for(let _0x3ec69e=0x0,_0x1ad90e=_0x37be77['length'];_0x3ec69e<_0x1ad90e;_0x3ec69e++){_0x1bd526+='%'+('00'+_0x37be77['charCodeAt'](_0x3ec69e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1bd526);};_0x22a6['LWpWII']=_0x4bb0c6,_0x22a6['TbdPNw']={},_0x22a6['KfTYOD']=!![];}const _0x34eae0=_0xb1c7a0[0x0],_0x5ee126=_0x509c4c+_0x34eae0,_0x131500=_0x22a6['TbdPNw'][_0x5ee126];return!_0x131500?(_0x22a656=_0x22a6['LWpWII'](_0x22a656),_0x22a6['TbdPNw'][_0x5ee126]=_0x22a656):_0x22a656=_0x131500,_0x22a656;}const _0xf52122=_0x22a6;(function(_0x17764b,_0x13377c){const _0x370910={_0x2f01ae:0x122,_0x181057:0x116,_0x1f3cfb:0x129,_0xa19085:0x14e,_0x51ca8a:0xfe,_0x5800f5:0x120,_0x390efc:0x11e,_0x542619:0xf8,_0x367f5b:0xec},_0x590bfa=_0x22a6,_0x382183=_0x17764b();while(!![]){try{const _0x120e74=parseInt(_0x590bfa(_0x370910._0x2f01ae))/0x1+-parseInt(_0x590bfa(0x114))/0x2*(parseInt(_0x590bfa(_0x370910._0x181057))/0x3)+-parseInt(_0x590bfa(_0x370910._0x1f3cfb))/0x4*(-parseInt(_0x590bfa(_0x370910._0xa19085))/0x5)+-parseInt(_0x590bfa(0x156))/0x6*(-parseInt(_0x590bfa(_0x370910._0x51ca8a))/0x7)+-parseInt(_0x590bfa(_0x370910._0x5800f5))/0x8*(parseInt(_0x590bfa(0xf0))/0x9)+parseInt(_0x590bfa(_0x370910._0x390efc))/0xa*(-parseInt(_0x590bfa(_0x370910._0x542619))/0xb)+-parseInt(_0x590bfa(_0x370910._0x367f5b))/0xc*(-parseInt(_0x590bfa(0xe7))/0xd);if(_0x120e74===_0x13377c)break;else _0x382183['push'](_0x382183['shift']());}catch(_0x5778cd){_0x382183['push'](_0x382183['shift']());}}}(_0xb1c7,0x69487));var __defProp=Object[_0xf52122(0xeb)],__name=(_0x37be77,_0x1bd526)=>__defProp(_0x37be77,'name',{'value':_0x1bd526,'configurable':!![]});function _0xb1c7(){const _0x545391=['zNjVBq','lNbHz2uW','Aw5PDgLHBfvYBa','pgrPDJ48l2rPDJ4','z2v0qxr0CMLIDxrL','yMvOyxzPB3i','CMvJB3jK','DgL0Bgu','C3vIC2nYAwjL','CMvSB2fK','D2fPDezVCK5HDMLNyxrPB24','tg9JyxrVCKvYCM9Y','C2vSzwn0t3b0Aw9U','B3v0zxjiDg1SqNLszwy','B3v0zxjive1m','Bwv0Ag9K','CMvM','BgvUz3rO','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','AxnwAxnPyMXLqNLezwzHDwX0','Dgv4DenVBNrLBNrcEurLzMf1Bhq','Dgv4DenVBNrLBNq','D2fPDezVCLrLEhq','D2fPDezVCKXVywrtDgf0zq','Ag92zxi','zhjPDMvY','C2v0qwn0AxzLugfNzq','zw50zxjgCMfTzq','Bg9JywXtDg9YywDLu3rHDgu','BMv3q29UDgv4Da','C2v0q29VA2LL','Aw5UzxjuzxH0','C3bSAwnL','y291BNq','otiXnvzXt2joBW','Cg9WDxbpBKnSAwnR','zhjHz0fUzerYB3a','y291BNrcEurLzMf1Bhq','rMfRzvDLyKrYAxzLCG','rMfRzunVBNrLEhq','Aw5WDxrwywX1zq','zMfRzs1WBMC','otyYodjOtfz6zfm','Cg9W','ywrK','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','zwXLBwvUDeHPBNrcEvjLzG','z29cywnR','AxnwAxnPyMXL','ChvZAa','D2fPDezVCLvYBa','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','Bg9JywXtDg9YywDL','mJCZnty2oe1czwjNBq','Bwf5yMvuAhjVDW','C2f2zvn0B3jHz2vtDgf0zq','ywjVDxq6yMXHBMS','zgvMAw5LuhjVCgvYDhK','mJrzsfrbyxe','ywn0AxzLswr4','CgfNzuXPC3q','zNjHBwvtDgfJAW','mtHJveXIsKu','y3vYCMvUDfvYBa','rMfRzvbHz2u','zMLSDgvY','DxjS','BMv0D29YA0vUDhjPzxm','AxneAxnHyMXLzej5rgvMyxvSDa','lNbHz2u','odG2nLDTCuPdyW','y2XVC2u','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','zMLSBa','y2XPy2S','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','ndLxtuH6B00','y2XPCgjVyxjKugfZDgu','B25bzNrLCKnSAwnR','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','C2nVCgu','zxzHBhvHDgu','Aw5ZCgvJDevSzw1LBNq','y2fSBhm','zw1PDezHA2vqB3b1Ca','BMv3ugfNzuXPC3rLBMvYCW','CMvJB3jKzxi','Bgf1BMnOzwq','z2v0q29VA2LL','zxjYB3jpBK5LEhrby3rPB24','C3rLChm','A2LUza','y29VA2LLu3rHDgu','zxzHBhvHDgvpBKXVy2f0B3i','ywn0AxzLugfNzq','Aw5WDxrwywX1zuj5rgvMyxvSDa','D3nfBMrWB2LUDa','AxneAxnHyMXLza','ntbxBwvmBvi','C2v0tg9JywXtDg9YywDL','nZy4mZndt1PSDfK','ChjLC3m','C2nYB2XSsw50B1zPzxC','iJ48l2rPDJ4','B25ozxDqywDL','D2fPDezVCG','y29UDgv4Dhm','Dw5JAgvJAW','nde5meLoqLbjCG','z29gB3j3yxjK','mtiWntK0ng5Mve5iBq','Bgf1BMnO','mZu1ntm1AMrhrvnn','Aw5UzxjuzxH0qNLezwzHDwX0','z2v0tg9JywXtDg9YywDL','DxbSB2fKrMLSzq','y2HLy2S','y29UC29SzuvUDhjPzxm','y3jLyxrLuMvJB3jKzxi','mtC4ngzksKvcAa','zMfRzsb0AxrSzq','y2HLy2TLzfn0yxrL'];_0xb1c7=function(){return _0x545391;};return _0xb1c7();}function subscribe(_0x109d07,_0x2e5c09){const _0x3a4800=_0xf52122;return _0x109d07[_0x3a4800(0x158)](_0x2e5c09),()=>{_0x109d07['delete'](_0x2e5c09);};}__name(subscribe,_0xf52122(0x134));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,'DriverError');}},LocatorError=class extends UnotestError{static{__name(this,_0xf52122(0x137));}};function createRecorder(){const _0xd54785={_0x47f991:0xe3},_0x47067e=_0xf52122,_0x13d760=[];let _0x44ab43=0x0;return{'push':__name(_0x3ec69e=>_0x13d760[_0x47067e(0xe3)]({..._0x3ec69e,'seq':_0x44ab43++}),_0x47067e(_0xd54785._0x47f991)),'calls':__name(()=>_0x13d760,'calls')};}__name(createRecorder,_0xf52122(0x128));var FakePage=class{constructor(_0x1ad90e,_0x17e6a9,_0x3ea58b,_0x3d35d6){const _0x2d5db0={_0x4ebc23:0x102,_0x33b231:0xf1},_0x2cbf64=_0xf52122;this[_0x2cbf64(0x108)]=_0x1ad90e,this['behavior']=_0x17e6a9,this[_0x2cbf64(_0x2d5db0._0x4ebc23)]=_0x3ea58b,this[_0x2cbf64(_0x2d5db0._0x33b231)]=_0x3d35d6;}[_0xf52122(0x108)];[_0xf52122(0x131)];[_0xf52122(0x102)];static{__name(this,_0xf52122(0xf2));}[_0xf52122(0xf1)];['onAfterClick'];[_0xf52122(0x132)](_0x454340,_0x130529){const _0x2fbfaf={_0xfdecb:0xe3},_0x489733=_0xf52122;this['recorder'][_0x489733(_0x2fbfaf._0xfdecb)]({'scope':this[_0x489733(0x102)],'method':_0x454340,'args':_0x130529});}[_0xf52122(0xe8)](){const _0x117af7={_0x5c5530:0x131,_0x1621ca:0x131},_0x264b75=_0xf52122;if(this[_0x264b75(_0x117af7._0x5c5530)][_0x264b75(0x10b)]){const _0x1edcde=this[_0x264b75(_0x117af7._0x1621ca)]['errorOnNextAction'];this[_0x264b75(_0x117af7._0x5c5530)][_0x264b75(0x10b)]=void 0x0;throw _0x1edcde;}}[_0xf52122(0xf4)](){return this['currentUrl'];}async['title'](){const _0x4e7a90={_0x5bf5ea:0x132,_0x53a749:0x133},_0x597c46=_0xf52122;return this[_0x597c46(_0x4e7a90._0x5bf5ea)](_0x597c46(_0x4e7a90._0x53a749),[]),_0x597c46(0x12a);}async[_0xf52122(0xfc)](_0x1795e9,_0x721e89){const _0x5bf517={_0x12e2fc:0x100},_0x141519=_0xf52122;this['record']('click',[_0x1795e9,_0x721e89]),this['maybeThrow'](),this[_0x141519(_0x5bf517._0x12e2fc)]?.();}async['doubleClick'](_0x51cc45,_0x26715e){const _0xe5da96={_0x21e9bf:0x132},_0x487974=_0xf52122;this[_0x487974(_0xe5da96._0x21e9bf)]('doubleClick',[_0x51cc45,_0x26715e]),this[_0x487974(0xe8)]();}async[_0xf52122(0xfb)](_0x1ea40e,_0x4603d0,_0x16a878){const _0x3b54d3={_0x2863a6:0xfb,_0x1c9570:0xe8},_0x455cf6=_0xf52122;this['record'](_0x455cf6(_0x3b54d3._0x2863a6),[_0x1ea40e,_0x4603d0,_0x16a878]),this[_0x455cf6(_0x3b54d3._0x1c9570)]();}async[_0xf52122(0x117)](_0x24b560,_0x595202,_0x404439){const _0x1e0961={_0x310226:0x132},_0x2e5fc7=_0xf52122;this[_0x2e5fc7(_0x1e0961._0x310226)](_0x2e5fc7(0x117),[_0x24b560,_0x595202,_0x404439]),this[_0x2e5fc7(0xe8)]();}async[_0xf52122(0x126)](_0x5ebc19,_0x5edac2){const _0x436f75={_0x367419:0x132},_0x271a43=_0xf52122;this[_0x271a43(_0x436f75._0x367419)](_0x271a43(0x126),[_0x5ebc19,_0x5edac2]),this['maybeThrow']();}async['uncheck'](_0x3b9c53,_0x1f3ccf){const _0x4bf177={_0x484dac:0x132,_0x3b025f:0x11d,_0x1919e1:0xe8},_0x47f142=_0xf52122;this[_0x47f142(_0x4bf177._0x484dac)](_0x47f142(_0x4bf177._0x3b025f),[_0x3b9c53,_0x1f3ccf]),this[_0x47f142(_0x4bf177._0x1919e1)]();}async['selectOption'](_0x46300d,_0x3eb043,_0x6d648e){const _0x1d3103={_0x19a7dd:0x138},_0x7ac6b0=_0xf52122;this['record'](_0x7ac6b0(_0x1d3103._0x19a7dd),[_0x46300d,_0x3eb043,_0x6d648e]),this[_0x7ac6b0(0xe8)]();}async[_0xf52122(0x144)](_0x4693d5,_0x4cfb5e){const _0x32f338={_0x580288:0x132},_0x1ba91f=_0xf52122;this[_0x1ba91f(_0x32f338._0x580288)]('hover',[_0x4693d5,_0x4cfb5e]),this[_0x1ba91f(0xe8)]();}async[_0xf52122(0x118)](_0x135d2e){const _0xf8565f={_0x4ad1fc:0x118,_0x4e4241:0xe8},_0x482a9a=_0xf52122;this[_0x482a9a(0x132)](_0x482a9a(_0xf8565f._0x4ad1fc),[_0x135d2e]),this[_0x482a9a(_0xf8565f._0x4e4241)]();}async[_0xf52122(0x150)](_0x427b91,_0x1c8188,_0xcdc4d5){const _0x2f4c6c={_0x3ba3f4:0xe8},_0x54d058=_0xf52122;this['record'](_0x54d058(0x150),[_0x427b91,_0x1c8188,_0xcdc4d5]),this[_0x54d058(_0x2f4c6c._0x3ba3f4)]();}async[_0xf52122(0x125)](_0x43c079,_0x5731d0){const _0x531114={_0x205781:0x132},_0x5cd378=_0xf52122;this[_0x5cd378(_0x531114._0x205781)](_0x5cd378(0x125),[_0x43c079,_0x5731d0]),this[_0x5cd378(0xe8)]();}async[_0xf52122(0xff)](_0x280ddb,_0xd52532){const _0x135610={_0x5178a1:0xff},_0x2e8e1a=_0xf52122;this[_0x2e8e1a(0x132)](_0x2e8e1a(_0x135610._0x5178a1),[_0x280ddb,_0xd52532]),this['maybeThrow']();}async['count'](_0x148217){const _0x153f81=_0xf52122;return this[_0x153f81(0x132)](_0x153f81(0x14d),[_0x148217]),this['behavior'][_0x153f81(0x151)]??0x1;}async['textContent'](_0x21d3e2){const _0x128f79={_0x4f00da:0x132,_0x36b687:0x131,_0x1bc798:0x140},_0x45e892=_0xf52122;return this[_0x45e892(_0x128f79._0x4f00da)](_0x45e892(0x141),[_0x21d3e2]),this[_0x45e892(_0x128f79._0x36b687)][_0x45e892(_0x128f79._0x1bc798)]??'';}async[_0xf52122(0x14b)](_0x515336){const _0x5a9274={_0x43e56c:0x132,_0x5b9e19:0x123,_0x373909:0x140},_0x53dfdf=_0xf52122;return this[_0x53dfdf(_0x5a9274._0x43e56c)](_0x53dfdf(0x14b),[_0x515336]),this['behavior'][_0x53dfdf(_0x5a9274._0x5b9e19)]??this[_0x53dfdf(0x131)][_0x53dfdf(_0x5a9274._0x373909)]??'';}async[_0xf52122(0x154)](_0x3a5a62){const _0x59c87d={_0x4117e7:0x154,_0x56235e:0x131},_0x17375e=_0xf52122;return this[_0x17375e(0x132)](_0x17375e(_0x59c87d._0x4117e7),[_0x3a5a62]),this[_0x17375e(_0x59c87d._0x56235e)][_0x17375e(0x111)]??'';}async[_0xf52122(0x12b)](_0xbdb5da){const _0x128043={_0x30902b:0x132,_0x37eec8:0x12b,_0x1efcd2:0x131},_0xb4a5b=_0xf52122;return this[_0xb4a5b(_0x128043._0x30902b)](_0xb4a5b(_0x128043._0x37eec8),[_0xbdb5da]),this[_0xb4a5b(_0x128043._0x1efcd2)]['checkedStateByDefault']??null;}async['isVisible'](_0x7f8e5d){const _0x5134da={_0x2f02e2:0x131,_0x543218:0x13f},_0x5b4bcf=_0xf52122;return this[_0x5b4bcf(0x132)](_0x5b4bcf(0x15d),[_0x7f8e5d]),this[_0x5b4bcf(_0x5134da._0x2f02e2)][_0x5b4bcf(_0x5134da._0x543218)]??!![];}async[_0xf52122(0x113)](_0x132b6f){const _0x35cd3f={_0x384805:0x113},_0x1a1a5f=_0xf52122;return this['record'](_0x1a1a5f(_0x35cd3f._0x384805),[_0x132b6f]),this[_0x1a1a5f(0x131)][_0x1a1a5f(0xf6)]??![];}async['getAttribute'](_0x3251b6,_0x1ec8b3){const _0x4a829d={_0x58157b:0x131},_0x2e5872=_0xf52122;return this['record'](_0x2e5872(0x130),[_0x3251b6,_0x1ec8b3]),this[_0x2e5872(_0x4a829d._0x58157b)]['attributesByDefault']?.[_0x1ec8b3]??null;}async[_0xf52122(0x11b)](_0xb32204,_0x2302d8){const _0x518906=_0xf52122;this[_0x518906(0x132)]('waitFor',[_0xb32204,_0x2302d8]);}async[_0xf52122(0xe4)](_0x315f16,_0x5a9c80){const _0x25b415=_0xf52122;this[_0x25b415(0x132)](_0x25b415(0xe4),[_0x315f16,_0x5a9c80]);}async[_0xf52122(0x142)](_0x34ca9e,_0x28be32){const _0x46e7b3=_0xf52122;this[_0x46e7b3(0x132)]('waitForText',[_0x34ca9e,_0x28be32]);}async[_0xf52122(0x136)](_0x3e5242){this['record']('waitForNavigation',[_0x3e5242]);}async[_0xf52122(0x143)](_0x44b9b5,_0x508d19){this['record']('waitForLoadState',[_0x44b9b5,_0x508d19]);}async['goto'](_0x1f8730,_0x49d1b4){const _0x27066a=_0xf52122;this[_0x27066a(0x132)]('goto',[_0x1f8730,_0x49d1b4]),this['currentUrl']=_0x1f8730;}async[_0xf52122(0x135)](_0x2fc558){const _0x39e020={_0x5bf0a7:0x132,_0x5c1255:0x135},_0x7e5af5=_0xf52122;this[_0x7e5af5(_0x39e020._0x5bf0a7)](_0x7e5af5(_0x39e020._0x5c1255),[_0x2fc558]);}async['goBack'](_0x54786f){const _0x358690={_0x3b2e41:0x15c},_0x5c4081=_0xf52122;this[_0x5c4081(0x132)](_0x5c4081(_0x358690._0x3b2e41),[_0x54786f]);}async['goForward'](_0x53b1b4){const _0x539f3e={_0x1a762e:0x132},_0x456d43=_0xf52122;this[_0x456d43(_0x539f3e._0x1a762e)](_0x456d43(0x11f),[_0x53b1b4]);}async[_0xf52122(0x103)](_0x162889){const _0x4e6124={_0x25fd9c:0x103},_0x37f9ad=_0xf52122;return this[_0x37f9ad(0x132)](_0x37f9ad(_0x4e6124._0x25fd9c),[_0x162889]),void 0x0;}async[_0xf52122(0x10f)](_0x4ff392,_0x50d55a){const _0x2df159=_0xf52122;return this[_0x2df159(0x132)]('evaluateOnLocator',[_0x4ff392,_0x50d55a]),void 0x0;}async[_0xf52122(0x104)](_0x1ace52){const _0x534ab5={_0x1cbb88:0x10c,_0xc46343:0x10d,_0x3c70d2:0x13c,_0x2fd06a:0x131},_0x5becb6=_0xf52122;this['record']('inspectElement',[_0x1ace52]);if(_0x1ace52[_0x5becb6(_0x534ab5._0x1cbb88)][_0x5becb6(0x13d)]!==0x1||_0x1ace52[_0x5becb6(0x10c)][0x0][_0x5becb6(_0x534ab5._0xc46343)]!==_0x5becb6(_0x534ab5._0x3c70d2))return null;const _0x444139=_0x1ace52['steps'][0x0][_0x5becb6(_0x534ab5._0x3c70d2)],_0x613751=this[_0x5becb6(_0x534ab5._0x2fd06a)][_0x5becb6(0x15b)]?.[_0x444139];return _0x613751??null;}async['screenshot'](_0x27ed08){const _0x7baffa={_0x4b2714:0x132,_0x780b85:0x155},_0xece8c9=_0xf52122;return this[_0xece8c9(_0x7baffa._0x4b2714)]('screenshot',[_0x27ed08]),Buffer[_0xece8c9(0x12c)](_0xece8c9(_0x7baffa._0x780b85));}async[_0xf52122(0x13a)](_0x562fc0){const _0x25c645={_0x1b2f86:0x132,_0x5bae29:0x10d,_0x22ad7a:0x131,_0xdd4ada:0xfa},_0x5efca0=_0xf52122;this[_0x5efca0(_0x25c645._0x1b2f86)](_0x5efca0(0x13a),[_0x562fc0]);if(_0x562fc0['steps'][_0x5efca0(0x13d)]===0x1&&_0x562fc0[_0x5efca0(0x10c)][0x0][_0x5efca0(_0x25c645._0x5bae29)]===_0x5efca0(0x13c)){const _0x459228=_0x562fc0['steps'][0x0][_0x5efca0(0x13c)];return this[_0x5efca0(_0x25c645._0x22ad7a)][_0x5efca0(0x139)]?.[_0x459228]??_0x5efca0(_0x25c645._0xdd4ada)+_0x459228+_0x5efca0(0x119);}return _0x5efca0(0x12f);}},FakeContext=class{constructor(_0x58d276,_0x49dfe0,_0x5cdf45){const _0x52ceb9={_0x36a7bc:0x108,_0x27b1eb:0xea,_0x36143c:0xe6,_0x397273:0x10e},_0x5cbab7={_0x5d9e9f:0x106,_0x4eec8b:0x14f},_0x36fc44=_0xf52122;this[_0x36fc44(_0x52ceb9._0x36a7bc)]=_0x58d276,this[_0x36fc44(0x131)]=_0x49dfe0,this['scope']=_0x5cdf45;const _0x1e44a3=new FakePage(_0x58d276,_0x49dfe0,_0x5cdf45+_0x36fc44(0x12d),_0x49dfe0[_0x36fc44(0x12e)]??_0x36fc44(_0x52ceb9._0x27b1eb));_0x49dfe0[_0x36fc44(0x14f)]&&(_0x1e44a3[_0x36fc44(0x100)]=()=>{const _0x4973ed=_0x36fc44;this[_0x4973ed(_0x5cbab7._0x5d9e9f)](_0x49dfe0[_0x4973ed(_0x5cbab7._0x4eec8b)]);}),this[_0x36fc44(0xee)]=[_0x1e44a3],this['localStorageState']={..._0x49dfe0[_0x36fc44(_0x52ceb9._0x36143c)]??{}},this[_0x36fc44(_0x52ceb9._0x397273)]={..._0x49dfe0['cookies']??{}};}['recorder'];['behavior'];['scope'];static{__name(this,_0xf52122(0x153));}[_0xf52122(0xee)];[_0xf52122(0xed)]=0x0;[_0xf52122(0xef)]=[];[_0xf52122(0x148)];[_0xf52122(0x10e)];[_0xf52122(0x107)]=new Set();[_0xf52122(0x132)](_0x2a1547,_0x95eb02){const _0x374f91={_0x2a9866:0xe3},_0x27daea=_0xf52122;this['recorder'][_0x27daea(_0x374f91._0x2a9866)]({'scope':this[_0x27daea(0x102)],'method':_0x2a1547,'args':_0x95eb02});}['pages'](){const _0x59d2b7={_0x5d39b1:0xee},_0x33ee24=_0xf52122;return this[_0x33ee24(_0x59d2b7._0x5d39b1)];}[_0xf52122(0x110)](){const _0x334d4a={_0x2a2aff:0xee,_0x2951bf:0x15a},_0x5ca936=_0xf52122,_0x55aab5=this[_0x5ca936(_0x334d4a._0x2a2aff)][this[_0x5ca936(0xed)]];if(!_0x55aab5)throw new DriverError(_0x5ca936(_0x334d4a._0x2951bf),{'activeIdx':this['activeIdx']});return _0x55aab5;}[_0xf52122(0x127)](){const _0x3068a7={_0x51ad3a:0x131},_0x1060c8=_0xf52122;return this[_0x1060c8(_0x3068a7._0x51ad3a)][_0x1060c8(0x127)]??[];}[_0xf52122(0xf5)](){const _0x9d734a={_0x16c38e:0x131},_0x335f20=_0xf52122;return this[_0x335f20(_0x9d734a._0x16c38e)][_0x335f20(0xf5)]??[];}async[_0xf52122(0x146)](_0x54b63e){const _0x2de796={_0x5007c8:0x132,_0x38d53d:0x101,_0x3e6f6d:0xef},_0xf04601=_0xf52122;this[_0xf04601(_0x2de796._0x5007c8)](_0xf04601(0x146),[_0x54b63e]);if(_0x54b63e<0x0||_0x54b63e>=this[_0xf04601(0xee)][_0xf04601(0x13d)])throw new DriverError(_0xf04601(_0x2de796._0x38d53d),{'index':_0x54b63e,'available':this[_0xf04601(0xee)][_0xf04601(0x13d)]});this['activeIdx']=_0x54b63e,this[_0xf04601(_0x2de796._0x3e6f6d)]['length']=0x0;}[_0xf52122(0x11a)](_0x1ca191){return subscribe(this['newPageListeners'],_0x1ca191);}[_0xf52122(0x106)](_0x330f09){const _0x5a5e81={_0x35e89d:0x102,_0xc20859:0xf7,_0x26e529:0xee,_0x39f350:0x13d,_0x23107f:0xee,_0xc851d2:0xe3},_0x4da657=_0xf52122,_0x15975c=this[_0x4da657(_0x5a5e81._0x35e89d)]+_0x4da657(_0x5a5e81._0xc20859)+this[_0x4da657(_0x5a5e81._0x26e529)][_0x4da657(_0x5a5e81._0x39f350)],_0x4c01db=new FakePage(this['recorder'],this['behavior'],_0x15975c,_0x330f09);this[_0x4da657(_0x5a5e81._0x23107f)][_0x4da657(_0x5a5e81._0xc851d2)](_0x4c01db);const _0xc913c8=this[_0x4da657(0xee)][_0x4da657(0x13d)]-0x1;for(const _0x19a1ab of this[_0x4da657(0x107)]){try{_0x19a1ab({'index':_0xc913c8,'url':_0x330f09});}catch{}}return _0xc913c8;}['closeFakePage'](_0x199c99){const _0x257d91={_0x3e82cd:0xee,_0x3b53ab:0x101,_0x282021:0x13d},_0x59b117=_0xf52122;if(_0x199c99<0x0||_0x199c99>=this[_0x59b117(_0x257d91._0x3e82cd)][_0x59b117(0x13d)])throw new DriverError(_0x59b117(_0x257d91._0x3b53ab),{'index':_0x199c99,'available':this['pageList'][_0x59b117(_0x257d91._0x282021)]});this[_0x59b117(_0x257d91._0x3e82cd)][_0x59b117(0x14c)](_0x199c99,0x1);}async['enterFrame'](_0x169134){const _0x15ac00={_0x4e5554:0x147,_0x5d822c:0x10c,_0x5200dc:0x13d,_0x1e710f:0xe3},_0x1d21c9=_0xf52122;this[_0x1d21c9(0x132)](_0x1d21c9(_0x15ac00._0x4e5554),[_0x169134]);if(!_0x169134[_0x1d21c9(_0x15ac00._0x5d822c)][_0x1d21c9(_0x15ac00._0x5200dc)])throw new LocatorError(_0x1d21c9(0x159),{'locator':_0x169134});this[_0x1d21c9(0xef)][_0x1d21c9(_0x15ac00._0x1e710f)](_0x169134);}async['exitFrame'](){const _0x91ea4a={_0x1dfa12:0xe5},_0x43aa82=_0xf52122;this[_0x43aa82(0x132)]('exitFrame',[]);if(this[_0x43aa82(0xef)][_0x43aa82(0x13d)]===0x0)throw new DriverError(_0x43aa82(_0x91ea4a._0x1dfa12),{});this[_0x43aa82(0xef)][_0x43aa82(0x157)]();}async[_0xf52122(0x115)](_0x5b5d5d,_0x3d5942){const _0xd79e6a={_0x3b5156:0x148},_0x417a01=_0xf52122;this[_0x417a01(0x132)]('setLocalStorage',[_0x5b5d5d,_0x3d5942]),this[_0x417a01(_0xd79e6a._0x3b5156)][_0x5b5d5d]=_0x3d5942;}async[_0xf52122(0x124)](_0x4e6fe6){const _0x4143c5={_0x19ef03:0x124,_0x16c04c:0x148},_0x3f0c7c=_0xf52122;return this[_0x3f0c7c(0x132)](_0x3f0c7c(_0x4143c5._0x19ef03),[_0x4e6fe6]),this[_0x3f0c7c(_0x4143c5._0x16c04c)][_0x4e6fe6]??null;}async[_0xf52122(0x14a)](_0x21eee5,_0x54bafe,_0x529e51){const _0x351648={_0x327f4f:0x14a},_0x4293aa=_0xf52122;this[_0x4293aa(0x132)](_0x4293aa(_0x351648._0x327f4f),[_0x21eee5,_0x54bafe,_0x529e51]),this['cookieState'][_0x21eee5]=_0x54bafe;}async[_0xf52122(0x10a)](_0x5953dd){const _0x358f4f={_0x5e71d7:0x10a,_0x3948e0:0x10e},_0x417402=_0xf52122;return this['record'](_0x417402(_0x358f4f._0x5e71d7),[_0x5953dd]),this[_0x417402(_0x358f4f._0x3948e0)][_0x5953dd]??null;}async[_0xf52122(0xe9)](_0x3f7d9f){const _0xe9faff={_0x20f2c4:0x132,_0x285313:0xe9},_0xbc597e=_0xf52122;this[_0xbc597e(_0xe9faff._0x20f2c4)](_0xbc597e(_0xe9faff._0x285313),[_0x3f7d9f]);}async[_0xf52122(0x103)](_0x495c73){const _0x3fde4e={_0x27ee4e:0x103},_0x98d67c=_0xf52122;return this[_0x98d67c(0x132)](_0x98d67c(_0x3fde4e._0x27ee4e),[_0x495c73]),void 0x0;}async[_0xf52122(0xf9)](){const _0x442fdb={_0x53c5f5:0x132},_0x1872f6=_0xf52122;this[_0x1872f6(_0x442fdb._0x53c5f5)]('close',[]);}['frameDepth'](){const _0x3a2034=_0xf52122;return this[_0x3a2034(0xef)]['length'];}},FakeWebDriver=class{constructor(_0x2ea376={}){const _0x38fd4c={_0x58ddd8:0x131,_0x544d9f:0x108},_0x5e3922=_0xf52122;this[_0x5e3922(_0x38fd4c._0x58ddd8)]=_0x2ea376,this[_0x5e3922(_0x38fd4c._0x544d9f)]=createRecorder();}['behavior'];static{__name(this,_0xf52122(0x152));}[_0xf52122(0x109)]=![];['recorder'];[_0xf52122(0x11c)]=[];async[_0xf52122(0x121)](_0x46ac49){const _0x165a5a={_0x59d34:0xe3,_0x1c8f81:0x109},_0x2e225a=_0xf52122;this['recorder'][_0x2e225a(_0x165a5a._0x59d34)]({'scope':_0x2e225a(0x145),'method':'launch','args':[_0x46ac49]}),this[_0x2e225a(_0x165a5a._0x1c8f81)]=!![];}async[_0xf52122(0x149)](_0x19bbb3){const _0x253836={_0x38c11b:0x108,_0x26fa7c:0x149,_0x50b030:0x13e,_0x396c34:0x108,_0x36259c:0x131,_0x47d100:0x11c,_0x548d0b:0xe3},_0x300fcb=_0xf52122;this[_0x300fcb(_0x253836._0x38c11b)][_0x300fcb(0xe3)]({'scope':'driver','method':_0x300fcb(_0x253836._0x26fa7c),'args':[_0x19bbb3]});if(!this[_0x300fcb(0x109)])throw new DriverError(_0x300fcb(_0x253836._0x50b030),{});const _0x2fde21=new FakeContext(this[_0x300fcb(_0x253836._0x396c34)],this[_0x300fcb(_0x253836._0x36259c)],'ctx'+this[_0x300fcb(_0x253836._0x47d100)]['length']);return this[_0x300fcb(0x11c)][_0x300fcb(_0x253836._0x548d0b)](_0x2fde21),_0x2fde21;}async[_0xf52122(0xf9)](){const _0x1d6715={_0x2a989e:0xe3},_0x3c8dd1=_0xf52122;this['recorder'][_0x3c8dd1(_0x1d6715._0x2a989e)]({'scope':_0x3c8dd1(0x145),'method':_0x3c8dd1(0xf9),'args':[]}),this[_0x3c8dd1(0x109)]=![];}[_0xf52122(0x112)](){return void 0x0;}async['connectShared'](){throw new DriverError('connectShared\x20not\x20supported\x20by\x20FakeWebDriver',{});}['attachExisting'](){const _0x7b176f=_0xf52122;throw new DriverError(_0x7b176f(0xfd),{});}[_0xf52122(0x105)](){const _0x459f80={_0xbcb172:0x108},_0x394187=_0xf52122;return this[_0x394187(_0x459f80._0xbcb172)][_0x394187(0x105)]();}['callsFor'](_0x5e938c){const _0x1961eb={_0x4c504f:0xf3},_0x58ebae=_0xf52122;return this[_0x58ebae(0x108)][_0x58ebae(0x105)]()[_0x58ebae(_0x1961eb._0x4c504f)](_0x3ee526=>_0x3ee526[_0x58ebae(0x13b)]===_0x5e938c);}};export{FakeWebDriver};
|