@unotest/web 0.26.1 → 0.28.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/.claude/skills/write-e2e-test/SKILL.md +1 -1
- package/.claude/skills/write-e2e-test-ground/SKILL.md +1 -1
- package/CHANGELOG.md +152 -0
- package/README.md +59 -22
- 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.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.d.ts +2 -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/guides/agent-integration.md +1 -1
- package/guides/dsl-reference.md +2 -2
- package/package.json +8 -8
|
@@ -677,7 +677,7 @@ definitions.
|
|
|
677
677
|
|
|
678
678
|
- **Production data mutation.** `apiCall` / `dbExec` against a
|
|
679
679
|
production base URL is a footgun — the `sandbox.*` pin model in
|
|
680
|
-
`unotest.config.{js,mjs,ts}` prevents it. Don't bypass.
|
|
680
|
+
`unotest/unotest.config.{js,mjs,ts}` prevents it. Don't bypass.
|
|
681
681
|
- **Browser automation for scraping.** This is an E2E testing tool;
|
|
682
682
|
scraping violates many target sites' terms of service.
|
|
683
683
|
- **Calling external LLM APIs.** `agent_fix` builds prompts for the
|
|
@@ -811,7 +811,7 @@ definitions.
|
|
|
811
811
|
|
|
812
812
|
- **Production data mutation.** `apiCall` / `dbExec` against a
|
|
813
813
|
production base URL is a footgun — the `sandbox.*` pin model in
|
|
814
|
-
`unotest.config.{js,mjs,ts}` prevents it. Don't bypass.
|
|
814
|
+
`unotest/unotest.config.{js,mjs,ts}` prevents it. Don't bypass.
|
|
815
815
|
- **Browser automation for scraping.** This is an E2E testing tool;
|
|
816
816
|
scraping violates many target sites' terms of service.
|
|
817
817
|
- **Calling external LLM APIs.** `agent_fix` builds prompts for the
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,157 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.28.0] - 2026-09-01
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6f385ec: **BREAKING.** The suite is its own npm package now:
|
|
8
|
+
`unotest/package.json` pins `@unotest/web`, `unotest.config.*` moved
|
|
9
|
+
into `unotest/`, and a bundle carries that directory and nothing above
|
|
10
|
+
it.
|
|
11
|
+
|
|
12
|
+
A bundle used to carry the project's root `package.json` and lockfile,
|
|
13
|
+
and a box ran `npm ci` over the whole product tree to obtain one
|
|
14
|
+
dependency. On a real customer that failed outright: their own peer
|
|
15
|
+
conflict (`@nestjs/core@10` against `@nestjs/websockets@11`) was hidden
|
|
16
|
+
locally behind `legacy-peer-deps=true` in `~/.npmrc`, which does not
|
|
17
|
+
travel in a bundle and must not — registry tokens live there. The
|
|
18
|
+
bundle arrived, the install died, the environment never got it. The
|
|
19
|
+
same class of failure was waiting for anyone with a private registry, a
|
|
20
|
+
native build or a `prepare` hook. Fixing it by editing the customer's
|
|
21
|
+
dependency stack is not an option: a test runner has no business in the
|
|
22
|
+
dependency graph of the application it tests.
|
|
23
|
+
|
|
24
|
+
What follows from it: we no longer dictate your package manager (the
|
|
25
|
+
"your project locks with pnpm, and a box installs with `npm ci`"
|
|
26
|
+
refusal is gone — npm is now only about `unotest/`), a box install
|
|
27
|
+
shrinks from the product tree to the suite's own dependencies, and
|
|
28
|
+
upgrading `@unotest/web` can no longer collide with your application.
|
|
29
|
+
|
|
30
|
+
The CLI finds the project root by walking UP for `unotest/e2e`, the way
|
|
31
|
+
git finds a repository, so `cd unotest && npx @unotest/web e2e <name>`
|
|
32
|
+
works as well as running from the root. Relative path arguments resolve
|
|
33
|
+
against the directory you typed them in.
|
|
34
|
+
|
|
35
|
+
Migrating from 0.27:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
npx @unotest/web init
|
|
39
|
+
git mv unotest.config.mjs unotest/unotest.config.mjs
|
|
40
|
+
npm install --prefix unotest
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
and drop `@unotest/web` from your application's `package.json`. The old
|
|
44
|
+
layout is diagnosed rather than ignored: a config left at the project
|
|
45
|
+
root fails the load with these instructions, because the alternative is
|
|
46
|
+
a suite running silently on defaults — no `baseUrl`, no `sandbox`, no
|
|
47
|
+
schedules.
|
|
48
|
+
|
|
49
|
+
Two traps worth knowing about, both named by that diagnostic:
|
|
50
|
+
|
|
51
|
+
- `unotest/jsconfig.json` — an `include` written for the old layout
|
|
52
|
+
points at `../node_modules`, where the package no longer is, and
|
|
53
|
+
editor autocomplete for the DSL dies silently. It is your file, so
|
|
54
|
+
nothing rewrites it: `../node_modules/` becomes `./node_modules/`.
|
|
55
|
+
- a config that derives paths from its own location
|
|
56
|
+
(`dirname(fileURLToPath(import.meta.url))`) now sits one level
|
|
57
|
+
deeper, so those paths need a `..`.
|
|
58
|
+
|
|
59
|
+
On the box side: bundles pushed before 0.28.0 are refused with an
|
|
60
|
+
explicit message instead of being installed — push them again from
|
|
61
|
+
0.28.0 or newer. Without that, `npm ci` in a `unotest/` that has no
|
|
62
|
+
manifest would walk up the tree (that is how npm behaves), install the
|
|
63
|
+
old root manifest, and leave the box `unhealthy` for twenty minutes
|
|
64
|
+
without saying why.
|
|
65
|
+
|
|
66
|
+
### Patch Changes
|
|
67
|
+
|
|
68
|
+
- @unotest/viewer@0.28.0
|
|
69
|
+
- @unotest/core@0.28.0
|
|
70
|
+
- @unotest/dsl@0.28.0
|
|
71
|
+
- @unotest/grounder-client@0.28.0
|
|
72
|
+
- @unotest/protocol@0.28.0
|
|
73
|
+
|
|
74
|
+
## [0.27.0] - 2026-08-31
|
|
75
|
+
|
|
76
|
+
### Minor Changes
|
|
77
|
+
|
|
78
|
+
- `viewer` starts quietly: the Nest boot log (a line per module and
|
|
79
|
+
route) no longer floods the terminal — you get the viewer URL and
|
|
80
|
+
nothing else. Errors and warnings still print; `UNOTEST_DEBUG=1`
|
|
81
|
+
brings the full boot map back.
|
|
82
|
+
|
|
83
|
+
- The LOCAL viewer now shows the same effective schedule set a box
|
|
84
|
+
would run — what you see is what a push ships, 1:1.
|
|
85
|
+
|
|
86
|
+
- Locally the schedule registry reads the merged set through
|
|
87
|
+
`schedules --json` (the same path a box uses): config-declared
|
|
88
|
+
entries are finally visible, marked read-only ("declared in
|
|
89
|
+
`unotest.config` — edit it there"); yaml entries stay editable as
|
|
90
|
+
before. A runner without a schedules command falls back to the
|
|
91
|
+
yaml half.
|
|
92
|
+
- `bundle push` records a fingerprint of the effective set in the
|
|
93
|
+
bundle manifest. The box re-computes the set in its own environment
|
|
94
|
+
and — when a config that reads `process.env` computes something
|
|
95
|
+
different there — warns in its log, and the deployed viewer shows a
|
|
96
|
+
drift line instead of letting "what I see is what I pushed" stand.
|
|
97
|
+
- `bundle push` now refuses to pack a project whose schedules
|
|
98
|
+
registry cannot be read — the same broken yaml used to upload fine
|
|
99
|
+
and un-schedule the suite on the box.
|
|
100
|
+
- `npx @unotest/web schedules` marks entries outside the previewable
|
|
101
|
+
cron subset (`not previewable — an executor may drop it`), and the
|
|
102
|
+
new `--check` flag turns that mark into a non-zero exit for a
|
|
103
|
+
pre-push hook or a CI gate.
|
|
104
|
+
|
|
105
|
+
- Schedules stop lying on a box, and a wrong cron is caught before the
|
|
106
|
+
push.
|
|
107
|
+
|
|
108
|
+
- `npx @unotest/web schedules` now previews every entry's next run —
|
|
109
|
+
`next tomorrow 03:00` — on this machine's clock (an executor ticks
|
|
110
|
+
in its own timezone, and the output says so). Expressions outside
|
|
111
|
+
the schedule-builder subset are shown verbatim, never guessed at.
|
|
112
|
+
- On a box the viewer shows the EFFECTIVE schedule set — the config's
|
|
113
|
+
`schedules` merged with `unotest/schedules.yaml`, read through the
|
|
114
|
+
project's own CLI — as read-only, with a badge: schedules are
|
|
115
|
+
declared in the repo, and the box runs whatever the deployed bundle
|
|
116
|
+
declares. Editing there used to write into a disposable bundle copy
|
|
117
|
+
nothing ever re-read; now the popup points at the repo and the API
|
|
118
|
+
refuses the write (403).
|
|
119
|
+
|
|
120
|
+
- c843d21: Schedules from the viewer — for collections and single tests.
|
|
121
|
+
|
|
122
|
+
Right-click a test or a collection in the viewer → **Schedule…**: a
|
|
123
|
+
human schedule builder (frequency select — every 5/15 min, hourly,
|
|
124
|
+
every 2/4/6/12 h, daily, weekly — plus toggle badges for minutes,
|
|
125
|
+
hours and weekdays; multi-select, so `04` + `16` × `00` + `30` runs
|
|
126
|
+
four times a day). Saved to `unotest/schedules.yaml`, versioned next
|
|
127
|
+
to the tests; a box applies it after commit & sync. The Home screen
|
|
128
|
+
gains a `last run | schedule` toggle: in schedule mode tiles are
|
|
129
|
+
tinted by how often a test runs (grey = not scheduled), with an
|
|
130
|
+
upcoming list and per-tile next-run times in your browser's clock.
|
|
131
|
+
|
|
132
|
+
Under the hood:
|
|
133
|
+
|
|
134
|
+
- `unotest/schedules.yaml` is a new schedule registry; `unotest-web
|
|
135
|
+
schedules [--json]` prints it merged with the config's `schedules`
|
|
136
|
+
(the file wins on a duplicate target), so boxes pick both up
|
|
137
|
+
unchanged.
|
|
138
|
+
- A schedule entry may now target a single test: `scenario:
|
|
139
|
+
<ref>` instead of `collection: <name>`.
|
|
140
|
+
- `unotest-web e2e <name> --scheduled[=index]` runs a test the way its
|
|
141
|
+
entry says (env + prepare, exit 94 when prepare fails) — the
|
|
142
|
+
per-test mirror of `collection --scheduled`.
|
|
143
|
+
- Viewer server: `GET/PUT /api/schedules` (validated by the same
|
|
144
|
+
parser the CLI reads the file with).
|
|
145
|
+
|
|
146
|
+
### Patch Changes
|
|
147
|
+
|
|
148
|
+
- Updated dependencies [c843d21]
|
|
149
|
+
- @unotest/protocol@0.27.0
|
|
150
|
+
- @unotest/viewer@0.27.0
|
|
151
|
+
- @unotest/core@0.27.0
|
|
152
|
+
- @unotest/dsl@0.27.0
|
|
153
|
+
- @unotest/grounder-client@0.27.0
|
|
154
|
+
|
|
3
155
|
## [0.26.1] - 2026-08-30
|
|
4
156
|
|
|
5
157
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -77,10 +77,27 @@ 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
|
-
// unotest.config.mjs
|
|
100
|
+
// unotest/unotest.config.mjs
|
|
84
101
|
export default {
|
|
85
102
|
schedules: [
|
|
86
103
|
{ collection: "smoke", cron: "0 * * * *" },
|
|
@@ -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
|
|
|
@@ -104,23 +138,26 @@ schedules and the history in one place), tests get there by being pushed:
|
|
|
104
138
|
npx @unotest/web bundle push --box https://tests.example.com
|
|
105
139
|
```
|
|
106
140
|
|
|
107
|
-
It packs `unotest
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
141
|
+
It packs `unotest/` — the suite package, with its config, its
|
|
142
|
+
`package.json` and its lockfile — and nothing else. Your application's
|
|
143
|
+
manifest and dependencies do not travel and are never installed on the
|
|
144
|
+
box, which is why a box can run a suite for a project whose own
|
|
145
|
+
dependency graph it could not resolve in the first place.
|
|
146
|
+
|
|
147
|
+
**The box never reads your repository**: it holds no key to it, so
|
|
148
|
+
nothing is there that you did not send. Uncommitted work is included and
|
|
149
|
+
marked *wip*, which is what makes this a fast loop rather than a release
|
|
150
|
+
step. Secrets stay behind: `unotest/.env*` and `.secrets*` never travel,
|
|
151
|
+
because environment values belong to the environment and are injected
|
|
152
|
+
over the bundle when it runs. Install hooks (`postinstall`, `prepare`,
|
|
153
|
+
...) are removed from the packed `unotest/package.json`: a box installs
|
|
154
|
+
the suite's dependencies, it does not run a checkout's hooks. Dependency
|
|
155
|
+
install scripts (native modules) run as normal.
|
|
119
156
|
|
|
120
157
|
What would break on the box is refused here instead — a scenario that
|
|
121
|
-
reads a file outside `unotest/`, a missing
|
|
122
|
-
pin. The bundle's id is a hash of its content, so
|
|
123
|
-
suite is a no-op.
|
|
158
|
+
reads a file outside `unotest/`, a missing `unotest/package-lock.json`,
|
|
159
|
+
no `@unotest/web` pin. The bundle's id is a hash of its content, so
|
|
160
|
+
pushing an unchanged suite is a no-op.
|
|
124
161
|
|
|
125
162
|
From a CI job, push and run in one command:
|
|
126
163
|
|
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
|
-
url: string;
|
|
219
|
-
timeoutMs: number;
|
|
220
218
|
command: string;
|
|
219
|
+
url: string;
|
|
221
220
|
reuseExistingServer: boolean;
|
|
221
|
+
timeoutMs: number;
|
|
222
222
|
}, {
|
|
223
|
-
url: string;
|
|
224
223
|
command: string;
|
|
225
|
-
|
|
224
|
+
url: string;
|
|
226
225
|
reuseExistingServer?: boolean | undefined;
|
|
226
|
+
timeoutMs?: number | 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
|
-
url: string;
|
|
253
|
-
timeoutMs: number;
|
|
254
252
|
command: string;
|
|
253
|
+
url: string;
|
|
255
254
|
reuseExistingServer: boolean;
|
|
255
|
+
timeoutMs: number;
|
|
256
256
|
}, {
|
|
257
|
-
url: string;
|
|
258
257
|
command: string;
|
|
259
|
-
|
|
258
|
+
url: string;
|
|
260
259
|
reuseExistingServer?: boolean | undefined;
|
|
260
|
+
timeoutMs?: number | 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
|
-
url: string;
|
|
512
|
-
timeoutMs: number;
|
|
513
511
|
command: string;
|
|
512
|
+
url: string;
|
|
514
513
|
reuseExistingServer: boolean;
|
|
514
|
+
timeoutMs: number;
|
|
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
|
-
url: string;
|
|
568
567
|
command: string;
|
|
569
|
-
|
|
568
|
+
url: string;
|
|
570
569
|
reuseExistingServer?: boolean | undefined;
|
|
570
|
+
timeoutMs?: number | 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
|
-
|
|
1
|
+
var _0x24fdd6=_0x42f7;function _0x42f7(_0x477848,_0x5a99c7){_0x477848=_0x477848-0x148;var _0x54289c=_0x5428();var _0x42f77b=_0x54289c[_0x477848];if(_0x42f7['uwlKOX']===undefined){var _0x119bb0=function(_0x210b08){var _0x276a92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xf3b8ce='',_0xe22a10='';for(var _0x5832ef=0x0,_0xf59077,_0x42c7e3,_0x341a32=0x0;_0x42c7e3=_0x210b08['charAt'](_0x341a32++);~_0x42c7e3&&(_0xf59077=_0x5832ef%0x4?_0xf59077*0x40+_0x42c7e3:_0x42c7e3,_0x5832ef++%0x4)?_0xf3b8ce+=String['fromCharCode'](0xff&_0xf59077>>(-0x2*_0x5832ef&0x6)):0x0){_0x42c7e3=_0x276a92['indexOf'](_0x42c7e3);}for(var _0x4c2d81=0x0,_0x1efeb8=_0xf3b8ce['length'];_0x4c2d81<_0x1efeb8;_0x4c2d81++){_0xe22a10+='%'+('00'+_0xf3b8ce['charCodeAt'](_0x4c2d81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe22a10);};_0x42f7['WBWYIK']=_0x119bb0,_0x42f7['udoSja']={},_0x42f7['uwlKOX']=!![];}var _0x2b0708=_0x54289c[0x0],_0x56a4ba=_0x477848+_0x2b0708,_0x5df688=_0x42f7['udoSja'][_0x56a4ba];return!_0x5df688?(_0x42f77b=_0x42f7['WBWYIK'](_0x42f77b),_0x42f7['udoSja'][_0x56a4ba]=_0x42f77b):_0x42f77b=_0x5df688,_0x42f77b;}(function(_0x545305,_0x276715){var _0xfbc0a2={_0x2da65c:0x17e,_0x461a27:0x173,_0x4997cc:0x165,_0x1dbfec:0x168,_0x19d4a8:0x161,_0x2e0bd1:0x16d},_0x3c11fb=_0x42f7,_0xb03dbf=_0x545305();while(!![]){try{var _0x57eaa8=-parseInt(_0x3c11fb(_0xfbc0a2._0x2da65c))/0x1+parseInt(_0x3c11fb(0x176))/0x2*(parseInt(_0x3c11fb(_0xfbc0a2._0x461a27))/0x3)+-parseInt(_0x3c11fb(0x180))/0x4+parseInt(_0x3c11fb(0x149))/0x5+parseInt(_0x3c11fb(_0xfbc0a2._0x4997cc))/0x6+-parseInt(_0x3c11fb(_0xfbc0a2._0x1dbfec))/0x7*(parseInt(_0x3c11fb(_0xfbc0a2._0x19d4a8))/0x8)+parseInt(_0x3c11fb(_0xfbc0a2._0x2e0bd1))/0x9;if(_0x57eaa8===_0x276715)break;else _0xb03dbf['push'](_0xb03dbf['shift']());}catch(_0x13dda3){_0xb03dbf['push'](_0xb03dbf['shift']());}}}(_0x5428,0x3b7dd));import{z}from'zod';var BrowserSchema=z[_0x24fdd6(0x158)]([_0x24fdd6(0x16a),_0x24fdd6(0x164),_0x24fdd6(0x16b)]),BrowserChannelSchema=z[_0x24fdd6(0x160)]([z[_0x24fdd6(0x157)](_0x24fdd6(0x15c)),z[_0x24fdd6(0x157)](_0x24fdd6(0x152)),z['literal'](_0x24fdd6(0x14c)),z[_0x24fdd6(0x14b)]()])[_0x24fdd6(0x169)](),ViewportSchema=z[_0x24fdd6(0x177)]({'width':z[_0x24fdd6(0x162)]()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)](),'height':z[_0x24fdd6(0x162)]()[_0x24fdd6(0x17d)]()['positive']()}),RetryReasonSchema=z['enum']([_0x24fdd6(0x15a),_0x24fdd6(0x174),'crash']),RetryConfigSchema=z[_0x24fdd6(0x177)]({'count':z[_0x24fdd6(0x162)]()['int']()[_0x24fdd6(0x167)](0x0)[_0x24fdd6(0x172)](0xa),'on':z[_0x24fdd6(0x179)](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x24fdd6(0x177)]({'tier1':z[_0x24fdd6(0x157)](!![])[_0x24fdd6(0x155)](!![]),'tier2':z[_0x24fdd6(0x187)](),'tier3':z[_0x24fdd6(0x177)]({'network':z[_0x24fdd6(0x187)](),'video':z[_0x24fdd6(0x187)]()}),'retention':z[_0x24fdd6(0x177)]({'runs':z['number']()['int']()[_0x24fdd6(0x185)](),'days':z['number']()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)]()}),'storageDir':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1)}),DialogPolicySchema=z[_0x24fdd6(0x158)](['accept',_0x24fdd6(0x156),_0x24fdd6(0x16e)]),LinterRuleIdSchema=z['enum']([_0x24fdd6(0x171),_0x24fdd6(0x15f),_0x24fdd6(0x182),'lint:pause-explicit','lint:disambig-by-index','lint:evaluate-discouraged',_0x24fdd6(0x163),'lint:mustache-in-dsl',_0x24fdd6(0x178),_0x24fdd6(0x14f),_0x24fdd6(0x186),_0x24fdd6(0x17f),_0x24fdd6(0x14e),'lint:flow-returns-value','validator:unknown-function','validator:arity',_0x24fdd6(0x151),_0x24fdd6(0x154),'validator:step-shape',_0x24fdd6(0x15e),_0x24fdd6(0x150),_0x24fdd6(0x181),'validator:if-shape',_0x24fdd6(0x16c),_0x24fdd6(0x184),_0x24fdd6(0x15d),_0x24fdd6(0x17b),_0x24fdd6(0x17c),_0x24fdd6(0x159),_0x24fdd6(0x148)]),LinterSeveritySchema=z[_0x24fdd6(0x158)]([_0x24fdd6(0x166),'warn',_0x24fdd6(0x183)]),LinterConfigSchema=z[_0x24fdd6(0x177)]({'enabled':z[_0x24fdd6(0x187)](),'rules':z[_0x24fdd6(0x15b)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=z[_0x24fdd6(0x177)]({'enabled':z['boolean']()[_0x24fdd6(0x155)](!![]),'concurrency':z['number']()[_0x24fdd6(0x17d)]()['positive']()[_0x24fdd6(0x155)](0x1)}),ScheduleSchema=z['object']({'collection':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1),'cron':z[_0x24fdd6(0x14a)]()['min'](0x1),'env':z['string']()['min'](0x1)[_0x24fdd6(0x169)](),'prepare':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1)[_0x24fdd6(0x169)]()}),McpConfigSchema=z[_0x24fdd6(0x177)]({'transport':z[_0x24fdd6(0x157)](_0x24fdd6(0x153))}),SandboxConfigSchema=z['object']({'shellCwd':z['string']()['optional'](),'shellTimeoutMs':z['number']()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)]()[_0x24fdd6(0x169)](),'exportSecrets':z[_0x24fdd6(0x179)](z['string']())[_0x24fdd6(0x169)](),'database':z[_0x24fdd6(0x14a)]()['optional'](),'apiBaseUrl':z['string']()['url']()['optional'](),'uploadDir':z[_0x24fdd6(0x14a)]()['optional']()}),WebServerConfigSchema=z[_0x24fdd6(0x177)]({'command':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1),'url':z['string']()['url'](),'reuseExistingServer':z['boolean']()[_0x24fdd6(0x155)](!![]),'timeoutMs':z['number']()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)]()[_0x24fdd6(0x155)](0xea60)}),UnotestConfigSchema=z[_0x24fdd6(0x177)]({'baseUrl':z[_0x24fdd6(0x14a)]()['url']()[_0x24fdd6(0x169)](),'webServer':WebServerConfigSchema[_0x24fdd6(0x169)](),'browsers':z[_0x24fdd6(0x179)](BrowserSchema)[_0x24fdd6(0x167)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x169)](),'testDir':z[_0x24fdd6(0x14a)]()['min'](0x1),'helpersDir':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1),'defaultTimeoutMs':z[_0x24fdd6(0x162)]()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)](),'defaultNavigationTimeoutMs':z['number']()[_0x24fdd6(0x17d)]()['positive'](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':z[_0x24fdd6(0x179)](ScheduleSchema)['default']([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x24fdd6(0x16a)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x24fdd6(0x15a)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x24fdd6(0x16f)},'dialogPolicy':_0x24fdd6(0x14d),'testDir':_0x24fdd6(0x17a),'helpersDir':_0x24fdd6(0x170),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x24fdd6(0x175),'lint:xpath':_0x24fdd6(0x175),'lint:obfuscated-class':_0x24fdd6(0x175),'lint:pause-explicit':_0x24fdd6(0x175),'lint:disambig-by-index':'off','lint:evaluate-discouraged':_0x24fdd6(0x175),'lint:scenario-in-root':_0x24fdd6(0x183),'lint:mustache-in-dsl':'error','lint:goto-concat':_0x24fdd6(0x175),'lint:regex-invalid':'error','lint:echo-assert':_0x24fdd6(0x175),'lint:lint-ok-missing-reason':_0x24fdd6(0x175),'lint:flow-returns-value':_0x24fdd6(0x175),'validator:unknown-function':_0x24fdd6(0x183)}},'mcp':{'transport':'stdio'},'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};function _0x5428(){var _0x535b92=['DhjHBNnPzw50','CMvJB3jK','y2HYB21L','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','DMfSAwrHDg9YoM1LDgeTC2HHCgu','BgLUDdP4Cgf0Aa','Dw5PB24','mtq0yKvmwejr','BNvTyMvY','BgLUDdPZy2vUyxjPBY1PBI1YB290','zMLYzwzVEa','mJCWnZaYDxDzAfHz','B2zM','BwLU','mtCWnJm5AxvevxbS','B3b0Aw9UywW','y2HYB21PDw0','D2vIA2L0','DMfSAwrHDg9YoNzHCI1ZAgfWzq','nJmXndG1owHwBe5eCW','BwfUDwfS','lNvUB3rLC3qVzMfPBhvYzxm','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','BgLUDdPKzwvWlwnZCW','Bwf4','odKZn1jVBuXuyW','BMv0D29YAW','D2fYBG','mJC4thLUBe1q','B2jQzwn0','BgLUDdPNB3rVlwnVBMnHDa','yxjYyxK','Dw5VDgvZDc9LmMu','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','Aw50','mZqYoty3DwzYrwPz','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','mtmYmJi5mNfdr2zWsG','DMfSAwrHDg9YoMzVCI1ZAgfWzq','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','zxjYB3i','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','Cg9ZAxrPDMu','BgLUDdPLy2HVlwfZC2vYDa','yM9VBgvHBG','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','otC1nZCWuw1buhnW','C3rYAw5N','BNvSBa','y2HYB21LlwjLDge','ywnJzxb0','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','BgLUDdPYzwDLEc1PBNzHBgLK','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','DMfSAwrHDg9YoMfYzY1RAw5K','BxnLzgDL','C3rKAw8','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','zgvMyxvSDa','zgLZBwLZCW','BgL0zxjHBa','zw51Bq','DMfSAwrHDg9YoMXPC3qTyxjN'];_0x5428=function(){return _0x535b92;};return _0x5428();}
|
package/dist/driver/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x16c074=_0x7c15;function _0x7c15(_0xa87c37,_0x2a39b7){_0xa87c37=_0xa87c37-0x12d;const _0x24f9c6=_0x24f9();let _0x7c154a=_0x24f9c6[_0xa87c37];if(_0x7c15['ehINWC']===undefined){var _0x1cb1cd=function(_0x1c09a2){const _0x2a68c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x235a7c='',_0x4266a8='';for(let _0x42cfb7=0x0,_0x372379,_0x4b9172,_0x5e7eec=0x0;_0x4b9172=_0x1c09a2['charAt'](_0x5e7eec++);~_0x4b9172&&(_0x372379=_0x42cfb7%0x4?_0x372379*0x40+_0x4b9172:_0x4b9172,_0x42cfb7++%0x4)?_0x235a7c+=String['fromCharCode'](0xff&_0x372379>>(-0x2*_0x42cfb7&0x6)):0x0){_0x4b9172=_0x2a68c9['indexOf'](_0x4b9172);}for(let _0x1244de=0x0,_0x204f7e=_0x235a7c['length'];_0x1244de<_0x204f7e;_0x1244de++){_0x4266a8+='%'+('00'+_0x235a7c['charCodeAt'](_0x1244de)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4266a8);};_0x7c15['rHayec']=_0x1cb1cd,_0x7c15['xhMZdR']={},_0x7c15['ehINWC']=!![];}const _0x2d97b8=_0x24f9c6[0x0],_0x4b0cb8=_0xa87c37+_0x2d97b8,_0x4891a7=_0x7c15['xhMZdR'][_0x4b0cb8];return!_0x4891a7?(_0x7c154a=_0x7c15['rHayec'](_0x7c154a),_0x7c15['xhMZdR'][_0x4b0cb8]=_0x7c154a):_0x7c154a=_0x4891a7,_0x7c154a;}(function(_0x130b96,_0x50de3c){const _0x1e4ee8={_0xec422b:0x199,_0x1085bd:0x15c,_0x176409:0x179,_0x16d61f:0x194,_0x4fc65a:0x155},_0x2b971e=_0x7c15,_0x5aa858=_0x130b96();while(!![]){try{const _0x252741=-parseInt(_0x2b971e(_0x1e4ee8._0xec422b))/0x1*(parseInt(_0x2b971e(_0x1e4ee8._0x1085bd))/0x2)+parseInt(_0x2b971e(0x144))/0x3+-parseInt(_0x2b971e(0x14d))/0x4*(-parseInt(_0x2b971e(0x12f))/0x5)+-parseInt(_0x2b971e(_0x1e4ee8._0x176409))/0x6*(parseInt(_0x2b971e(0x150))/0x7)+-parseInt(_0x2b971e(_0x1e4ee8._0x16d61f))/0x8+parseInt(_0x2b971e(0x14e))/0x9+parseInt(_0x2b971e(_0x1e4ee8._0x4fc65a))/0xa*(parseInt(_0x2b971e(0x19b))/0xb);if(_0x252741===_0x50de3c)break;else _0x5aa858['push'](_0x5aa858['shift']());}catch(_0x171db9){_0x5aa858['push'](_0x5aa858['shift']());}}}(_0x24f9,0xd9df4));var __defProp=Object[_0x16c074(0x15f)],__name=(_0x235a7c,_0x4266a8)=>__defProp(_0x235a7c,_0x16c074(0x1a2),{'value':_0x4266a8,'configurable':!![]});function subscribe(_0x42cfb7,_0x372379){const _0x5315b2=_0x16c074;return _0x42cfb7[_0x5315b2(0x137)](_0x372379),()=>{const _0x18b797=_0x5315b2;_0x42cfb7[_0x18b797(0x167)](_0x372379);};}__name(subscribe,_0x16c074(0x197));import{UnotestError}from'@unotest/core';function _0x24f9(){const _0x3600d1=['ywrK','z29gB3j3yxjK','Bwv0Ag9K','ywn0AxzLswr4','z2v0q29VA2LL','rMfRzunVBNrLEhq','Ag92zxi','D2fPDezVCLvYBa','CMvM','iJ48l2rPDJ4','zxzHBhvHDgvpBKXVy2f0B3i','D3nfBMrWB2LUDa','zMLSBa','mZaWmtKZnwfMChfbwG','Cg9WDxbpBKnSAwnR','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','CgfNzxm','AxneAxnHyMXLzej5rgvMyxvSDa','AxnwAxnPyMXL','Bg9JywXtDg9YywDL','zMfRzs1WBMC','mJa4mZzSs1PgCvi','nJq2nZiWmLzVzu9htq','ChvZAa','n1bqrMvnsG','DxjS','Cg9W','y2HLy2TLzfn0yxrL','C2nVCgu','ndmYntbpCu9Nwha','DxbSB2fKrMLSzq','BgvUz3rO','CMvSB2fK','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','DgL0Bgu','zg91yMXLq2XPy2S','mJa1otq2mMnjsLbMtq','z2v0tg9JywXtDg9YywDL','Dgv4DenVBNrLBNq','zgvMAw5LuhjVCgvYDhK','C2nYB2XSsw50B1zPzxC','Aw5WDxrwywX1zq','C2v0tg9JywXtDg9YywDL','y2XVC2vgywTLugfNzq','BMv3q29UDgv4Da','BMv3ugfNzuXPC3rLBMvYCW','yMvOyxzPB3i','zgvSzxrL','z2v0qxr0CMLIDxrL','C2vSzwn0t3b0Aw9U','yxr0ywnOrxHPC3rPBMC','zxHPDezYyw1L','Aw5PDgLHBfvYBa','Bgf1BMnOzwq','B3v0zxjiDg1SqNLszwy','zhjHz0fUzerYB3a','C2f2zvn0B3jHz2vtDgf0zq','y29VA2LLu3rHDgu','y2XVC2u','lNbHz2uW','y2XPCgjVyxjKugfZDgu','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','D2fPDezVCKXVywrtDgf0zq','C2v0qwn0AxzLugfNzq','Dw5JAgvJAW','mtaXmdGZmZH4shL0z1m','A2LUza','CMvJB3jKzxi','D2fPDezVCG','ChjLC3m','y2fSBhm','y3vYCMvUDfvYBa','y291BNrcEurLzMf1Bhq','y2HLy2S','zxjYB3jpBK5LEhrby3rPB24','B3v0zxjive1m','rMfRzvbHz2u','Bwf5yMvuAhjVDW','rhjPDMvYrxjYB3i','CMvJB3jK','C3rLChm','y2fSBhngB3i','zNjHBwvtDgfJAW','AxnwAxnPyMXLqNLezwzHDwX0','CgfNzuXPC3q','Aw5WDxrwywX1zuj5rgvMyxvSDa','B25bzNrLCKnSAwnR','z29cywnR','ywjVDxq6yMXHBMS','D2fPDezVCK5HDMLNyxrPB24','y3r4','zw1PDezHA2vqB3b1Ca','mta5ndC5otjvrNnluve','pgrPDJ48l2rPDJ4','Bgf1BMnO','C3vIC2nYAwjL','Aw5UzxjuzxH0qNLezwzHDwX0','mvjusfv3Aa','y3jLyxrLuMvJB3jKzxi','nJi4mwfPAer0qq','tg9JyxrVCKvYCM9Y','zxzHBhvHDgu','D2fPDezVCLrLEhq','zNjVBq','C2v0q29VA2LL','B25ozxDqywDL','BMfTzq','Aw5ZCgvJDevSzw1LBNq','Aw5UzxjuzxH0','C3bSAwnL','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','y2HLy2TLzfn0yxrLqNLezwzHDwX0','rMfRzvDLyKrYAxzLCG','Dgv4DenVBNrLBNrcEurLzMf1Bhq','C2nYzwvUC2HVDa','y29UDgv4Dhm','zMLSDgvY','AxneAxnHyMXLza','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','zhjPDMvY','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','zw50zxjgCMfTzq','nZu1AMfXEhfz','y29VA2LLCW','y291BNq','Bg9JywXtDg9YywDLu3rHDgu','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','y29UC29SzuvUDhjPzxm','y2XPy2S','zNjHBwvezxb0Aa'];_0x24f9=function(){return _0x3600d1;};return _0x24f9();}var DriverError=class extends UnotestError{static{__name(this,_0x16c074(0x186));}},LocatorError=class extends UnotestError{static{__name(this,_0x16c074(0x19c));}};function createRecorder(){const _0x2d1d7d={_0x55921e:0x17e},_0x304c3a=_0x16c074,_0x4b9172=[];let _0x5e7eec=0x0;return{'push':__name(_0x1244de=>_0x4b9172[_0x304c3a(0x14f)]({..._0x1244de,'seq':_0x5e7eec++}),_0x304c3a(0x14f)),'calls':__name(()=>_0x4b9172,_0x304c3a(_0x2d1d7d._0x55921e))};}__name(createRecorder,_0x16c074(0x19a));var FakePage=class{constructor(_0x204f7e,_0x573528,_0x2d85b8,_0x177eb4){const _0x480b0d={_0x36bf95:0x17b,_0x4612b8:0x166,_0x44ef94:0x154},_0x257a06=_0x16c074;this[_0x257a06(_0x480b0d._0x36bf95)]=_0x204f7e,this[_0x257a06(_0x480b0d._0x4612b8)]=_0x573528,this[_0x257a06(_0x480b0d._0x44ef94)]=_0x2d85b8,this[_0x257a06(0x17f)]=_0x177eb4;}['recorder'];[_0x16c074(0x166)];[_0x16c074(0x154)];static{__name(this,_0x16c074(0x184));}[_0x16c074(0x17f)];[_0x16c074(0x18e)];[_0x16c074(0x187)](_0x196cb7,_0x309900){const _0xd03fe={_0x5ac3eb:0x17b,_0x59b7b2:0x154},_0x11f528=_0x16c074;this[_0x11f528(_0xd03fe._0x5ac3eb)][_0x11f528(0x14f)]({'scope':this[_0x11f528(_0xd03fe._0x59b7b2)],'method':_0x196cb7,'args':_0x309900});}['maybeThrow'](){const _0x4cb94e={_0x29f0e4:0x166,_0x30942e:0x182},_0x503ddf=_0x16c074;if(this['behavior']['errorOnNextAction']){const _0x2e8835=this[_0x503ddf(_0x4cb94e._0x29f0e4)][_0x503ddf(_0x4cb94e._0x30942e)];this[_0x503ddf(_0x4cb94e._0x29f0e4)][_0x503ddf(0x182)]=void 0x0;throw _0x2e8835;}}[_0x16c074(0x151)](){const _0x2c7d1c=_0x16c074;return this[_0x2c7d1c(0x17f)];}async['title'](){const _0x664642={_0x225c17:0x15a},_0x2e1f79=_0x16c074;return this[_0x2e1f79(0x187)](_0x2e1f79(_0x664642._0x225c17),[]),'fake\x20title';}async[_0x16c074(0x135)](_0xbf042e,_0x2826e7){const _0x39a604={_0x1cecd:0x185,_0x4f1223:0x18e},_0x354ec5=_0x16c074;this['record'](_0x354ec5(0x135),[_0xbf042e,_0x2826e7]),this[_0x354ec5(_0x39a604._0x1cecd)](),this[_0x354ec5(_0x39a604._0x4f1223)]?.();}async['doubleClick'](_0x559be9,_0x5280e3){const _0x259eb7={_0x2b1c9f:0x187,_0xd52e9b:0x15b},_0x48068a=_0x16c074;this[_0x48068a(_0x259eb7._0x2b1c9f)](_0x48068a(_0x259eb7._0xd52e9b),[_0x559be9,_0x5280e3]),this[_0x48068a(0x185)]();}async[_0x16c074(0x143)](_0x3cbd1d,_0x252ca6,_0x238bff){const _0x4ae75f={_0x129486:0x143},_0x235395=_0x16c074;this[_0x235395(0x187)](_0x235395(_0x4ae75f._0x129486),[_0x3cbd1d,_0x252ca6,_0x238bff]),this[_0x235395(0x185)]();}async[_0x16c074(0x17d)](_0x35eacd,_0x341585,_0x4fc61a){this['record']('press',[_0x35eacd,_0x341585,_0x4fc61a]),this['maybeThrow']();}async[_0x16c074(0x181)](_0x5e89eb,_0x53cbb3){const _0x3c1993={_0x2edcce:0x187,_0x406a3f:0x181},_0x31b170=_0x16c074;this[_0x31b170(_0x3c1993._0x2edcce)](_0x31b170(_0x3c1993._0x406a3f),[_0x5e89eb,_0x53cbb3]),this[_0x31b170(0x185)]();}async[_0x16c074(0x178)](_0xdbd98e,_0x2aa2a0){const _0x31aeac={_0x169ef4:0x187,_0x2595f7:0x185},_0x2e86ff=_0x16c074;this[_0x2e86ff(_0x31aeac._0x169ef4)]('uncheck',[_0xdbd98e,_0x2aa2a0]),this[_0x2e86ff(_0x31aeac._0x2595f7)]();}async[_0x16c074(0x169)](_0x5c091a,_0x11ff92,_0x353707){const _0x31ff45=_0x16c074;this['record'](_0x31ff45(0x169),[_0x5c091a,_0x11ff92,_0x353707]),this['maybeThrow']();}async[_0x16c074(0x13d)](_0x2abf4d,_0x3e81e7){const _0x70d33b={_0xfad269:0x13d,_0x28502a:0x185},_0x216f57=_0x16c074;this[_0x216f57(0x187)](_0x216f57(_0x70d33b._0xfad269),[_0x2abf4d,_0x3e81e7]),this[_0x216f57(_0x70d33b._0x28502a)]();}async[_0x16c074(0x160)](_0x15469f){const _0x50b51a=_0x16c074;this[_0x50b51a(0x187)](_0x50b51a(0x160),[_0x15469f]),this[_0x50b51a(0x185)]();}async[_0x16c074(0x16f)](_0x5aa551,_0x51311c,_0x272215){const _0x5dd3fc={_0x1bf612:0x16f,_0x27ebd4:0x185},_0x2fda37=_0x16c074;this['record'](_0x2fda37(_0x5dd3fc._0x1bf612),[_0x5aa551,_0x51311c,_0x272215]),this[_0x2fda37(_0x5dd3fc._0x27ebd4)]();}async['uploadFile'](_0x1a15bf,_0x365c79){const _0x375e22={_0x2af062:0x185},_0x3d5fb4=_0x16c074;this[_0x3d5fb4(0x187)](_0x3d5fb4(0x156),[_0x1a15bf,_0x365c79]),this[_0x3d5fb4(_0x375e22._0x2af062)]();}async[_0x16c074(0x174)](_0x6ebb79,_0x5bdb04){this['record']('clipboardPaste',[_0x6ebb79,_0x5bdb04]),this['maybeThrow']();}async[_0x16c074(0x131)](_0x5a5460){const _0x27daf8={_0x4b972a:0x180},_0x492102=_0x16c074;return this['record'](_0x492102(0x131),[_0x5a5460]),this[_0x492102(0x166)][_0x492102(_0x27daf8._0x4b972a)]??0x1;}async[_0x16c074(0x15e)](_0x21117a){const _0x1a97bb={_0x39ba07:0x187,_0x26f0e9:0x166,_0x7a43f3:0x1a9},_0x5e1ac1=_0x16c074;return this[_0x5e1ac1(_0x1a97bb._0x39ba07)](_0x5e1ac1(0x15e),[_0x21117a]),this[_0x5e1ac1(_0x1a97bb._0x26f0e9)][_0x5e1ac1(_0x1a97bb._0x7a43f3)]??'';}async[_0x16c074(0x1a4)](_0x2fe353){const _0x292a64={_0x5e6078:0x187,_0xb3b8d6:0x166,_0x1624a3:0x198,_0x301a17:0x1a9},_0xb0c07a=_0x16c074;return this[_0xb0c07a(_0x292a64._0x5e6078)](_0xb0c07a(0x1a4),[_0x2fe353]),this[_0xb0c07a(_0x292a64._0xb3b8d6)][_0xb0c07a(_0x292a64._0x1624a3)]??this['behavior'][_0xb0c07a(_0x292a64._0x301a17)]??'';}async[_0x16c074(0x161)](_0x1a4ff8){const _0x130dc1={_0x13080a:0x161,_0x5ac6ce:0x166},_0x8ae2ea=_0x16c074;return this[_0x8ae2ea(0x187)](_0x8ae2ea(_0x130dc1._0x13080a),[_0x1a4ff8]),this[_0x8ae2ea(_0x130dc1._0x5ac6ce)][_0x8ae2ea(0x18d)]??'';}async[_0x16c074(0x153)](_0x32cd16){const _0x3c6bc1={_0x392b16:0x153},_0x59fa56=_0x16c074;return this[_0x59fa56(0x187)](_0x59fa56(_0x3c6bc1._0x392b16),[_0x32cd16]),this[_0x59fa56(0x166)][_0x59fa56(0x1a7)]??null;}async['isVisible'](_0x40595c){const _0x44350e=_0x16c074;return this['record'](_0x44350e(0x14a),[_0x40595c]),this[_0x44350e(0x166)][_0x44350e(0x18b)]??!![];}async[_0x16c074(0x1ad)](_0x21b2fa){const _0x3c021c={_0x406df4:0x1ad},_0x4510a8=_0x16c074;return this['record'](_0x4510a8(_0x3c021c._0x406df4),[_0x21b2fa]),this['behavior'][_0x4510a8(0x149)]??![];}async[_0x16c074(0x168)](_0x31e204,_0x190c89){const _0x2543cf={_0x5c4a76:0x187},_0x566696=_0x16c074;return this[_0x566696(_0x2543cf._0x5c4a76)](_0x566696(0x168),[_0x31e204,_0x190c89]),this['behavior']['attributesByDefault']?.[_0x190c89]??null;}async[_0x16c074(0x17c)](_0x1420cf,_0x44e7fa){const _0x234ff0={_0x3f236e:0x17c},_0x25f2d0=_0x16c074;this[_0x25f2d0(0x187)](_0x25f2d0(_0x234ff0._0x3f236e),[_0x1420cf,_0x44e7fa]);}async[_0x16c074(0x13e)](_0x2ff3c3,_0x8f5dd1){const _0x3b53e4={_0x1dc8ec:0x13e},_0x542d33=_0x16c074;this[_0x542d33(0x187)](_0x542d33(_0x3b53e4._0x1dc8ec),[_0x2ff3c3,_0x8f5dd1]);}async[_0x16c074(0x19e)](_0x58168a,_0x56df85){const _0x57abb2=_0x16c074;this['record'](_0x57abb2(0x19e),[_0x58168a,_0x56df85]);}async['waitForNavigation'](_0x3bfd1f){const _0x16b53b=_0x16c074;this['record'](_0x16b53b(0x191),[_0x3bfd1f]);}async[_0x16c074(0x176)](_0x3ee71f,_0x5641a1){this['record']('waitForLoadState',[_0x3ee71f,_0x5641a1]);}async['goto'](_0x129c98,_0x342531){const _0x46bf1c={_0x310192:0x17f},_0x5f3bde=_0x16c074;this[_0x5f3bde(0x187)]('goto',[_0x129c98,_0x342531]),this[_0x5f3bde(_0x46bf1c._0x310192)]=_0x129c98;}async['reload'](_0x403658){const _0x26988b={_0x1ccd1c:0x187},_0x1ff888=_0x16c074;this[_0x1ff888(_0x26988b._0x1ccd1c)](_0x1ff888(0x158),[_0x403658]);}async['goBack'](_0x814794){const _0x13d812=_0x16c074;this['record'](_0x13d812(0x18f),[_0x814794]);}async[_0x16c074(0x138)](_0x31d3f7){const _0x231a98=_0x16c074;this['record'](_0x231a98(0x138),[_0x31d3f7]);}async[_0x16c074(0x19d)](_0x194c8c){return this['record']('evaluate',[_0x194c8c]),void 0x0;}async[_0x16c074(0x141)](_0x33632f,_0x4a2469){const _0xfe14f3={_0x5b828e:0x187},_0x173701=_0x16c074;return this[_0x173701(_0xfe14f3._0x5b828e)](_0x173701(0x141),[_0x33632f,_0x4a2469]),void 0x0;}async['inspectElement'](_0x4fa758){const _0x44aa4e={_0x224839:0x157,_0x310f58:0x188,_0x25546e:0x13f},_0x4cceff=_0x16c074;this['record'](_0x4cceff(0x1a3),[_0x4fa758]);if(_0x4fa758['steps'][_0x4cceff(_0x44aa4e._0x224839)]!==0x1||_0x4fa758[_0x4cceff(_0x44aa4e._0x310f58)][0x0]['kind']!==_0x4cceff(_0x44aa4e._0x25546e))return null;const _0x121948=_0x4fa758[_0x4cceff(0x188)][0x0][_0x4cceff(0x13f)],_0x522d14=this['behavior']['elementHintByRef']?.[_0x121948];return _0x522d14??null;}async[_0x16c074(0x1aa)](_0x63638f){const _0x49fff8={_0x2d28f2:0x19f},_0x28b85c=_0x16c074;return this['record'](_0x28b85c(0x1aa),[_0x63638f]),Buffer[_0x28b85c(_0x49fff8._0x2d28f2)](_0x28b85c(0x14c));}async[_0x16c074(0x183)](_0x2c1c9c){const _0x3f1966={_0x2edb81:0x188,_0x1cec0c:0x13f,_0x55609b:0x16e,_0x209a9e:0x12d,_0x441e44:0x195},_0x17c690=_0x16c074;this['record']('outerHTML',[_0x2c1c9c]);if(_0x2c1c9c[_0x17c690(_0x3f1966._0x2edb81)][_0x17c690(0x157)]===0x1&&_0x2c1c9c[_0x17c690(_0x3f1966._0x2edb81)][0x0][_0x17c690(0x17a)]==='ref'){const _0x4a0a99=_0x2c1c9c[_0x17c690(0x188)][0x0][_0x17c690(_0x3f1966._0x1cec0c)];return this['behavior'][_0x17c690(_0x3f1966._0x55609b)]?.[_0x4a0a99]??_0x17c690(_0x3f1966._0x209a9e)+_0x4a0a99+_0x17c690(0x140);}return _0x17c690(_0x3f1966._0x441e44);}},FakeContext=class{constructor(_0x2cb5dc,_0x1bc706,_0x2a70ee){const _0x8b00fe={_0x19bf6b:0x166,_0x227c1f:0x173,_0xb0c3ee:0x190,_0x1b9941:0x145,_0x4661a6:0x18e,_0x2dfe90:0x132,_0x43e907:0x14b,_0x5f1736:0x130},_0x1b115f=_0x16c074;this[_0x1b115f(0x17b)]=_0x2cb5dc,this[_0x1b115f(_0x8b00fe._0x19bf6b)]=_0x1bc706,this[_0x1b115f(0x154)]=_0x2a70ee;const _0x164706=new FakePage(_0x2cb5dc,_0x1bc706,_0x2a70ee+_0x1b115f(_0x8b00fe._0x227c1f),_0x1bc706[_0x1b115f(0x16c)]??_0x1b115f(_0x8b00fe._0xb0c3ee));_0x1bc706[_0x1b115f(_0x8b00fe._0x1b9941)]&&(_0x164706[_0x1b115f(_0x8b00fe._0x4661a6)]=()=>{const _0x3c2e6e=_0x1b115f;this['emitFakePopup'](_0x1bc706[_0x3c2e6e(0x145)]);}),this['pageList']=[_0x164706],this[_0x1b115f(_0x8b00fe._0x2dfe90)]={..._0x1bc706[_0x1b115f(_0x8b00fe._0x43e907)]??{}},this['cookieState']={..._0x1bc706[_0x1b115f(_0x8b00fe._0x5f1736)]??{}};}[_0x16c074(0x17b)];[_0x16c074(0x166)];[_0x16c074(0x154)];static{__name(this,_0x16c074(0x13c));}['pageList'];['activeIdx']=0x0;[_0x16c074(0x18a)]=[];[_0x16c074(0x132)];['cookieState'];['newPageListeners']=new Set();[_0x16c074(0x187)](_0x2abcbb,_0x537ca2){const _0x194c88={_0x3e14ec:0x17b,_0x55c5d0:0x14f,_0x55f833:0x154},_0x423a0e=_0x16c074;this[_0x423a0e(_0x194c88._0x3e14ec)][_0x423a0e(_0x194c88._0x55c5d0)]({'scope':this[_0x423a0e(_0x194c88._0x55f833)],'method':_0x2abcbb,'args':_0x537ca2});}[_0x16c074(0x148)](){const _0x407299=_0x16c074;return this[_0x407299(0x18c)];}['activePage'](){const _0x7e6ef=_0x16c074,_0x37aa12=this[_0x7e6ef(0x18c)][this['activeIdx']];if(!_0x37aa12)throw new DriverError(_0x7e6ef(0x175),{'activeIdx':this[_0x7e6ef(0x13a)]});return _0x37aa12;}[_0x16c074(0x134)](){const _0x46b840=_0x16c074;return this[_0x46b840(0x166)][_0x46b840(0x134)]??[];}['networkEntries'](){return this['behavior']['networkEntries']??[];}async[_0x16c074(0x177)](_0x43c224){const _0x2023a3={_0x596e53:0x177,_0x5bb8ea:0x18c,_0x1e1b87:0x146,_0x4fc62d:0x157,_0x11e373:0x18a,_0x354d12:0x157},_0x555b54=_0x16c074;this[_0x555b54(0x187)](_0x555b54(_0x2023a3._0x596e53),[_0x43c224]);if(_0x43c224<0x0||_0x43c224>=this[_0x555b54(_0x2023a3._0x5bb8ea)]['length'])throw new DriverError(_0x555b54(_0x2023a3._0x1e1b87),{'index':_0x43c224,'available':this[_0x555b54(0x18c)][_0x555b54(_0x2023a3._0x4fc62d)]});this['activeIdx']=_0x43c224,this[_0x555b54(_0x2023a3._0x11e373)][_0x555b54(_0x2023a3._0x354d12)]=0x0;}[_0x16c074(0x1a1)](_0x3d9d98){const _0x55da31=_0x16c074;return subscribe(this[_0x55da31(0x165)],_0x3d9d98);}[_0x16c074(0x193)](_0x24101c){const _0x1d0253={_0x37622b:0x154,_0x51a1a0:0x157,_0x4a97d8:0x166,_0x29cdbf:0x18c,_0x2fe7cb:0x14f,_0x1ddf1f:0x157,_0x1e923e:0x165},_0x4d111b=_0x16c074,_0x372047=this[_0x4d111b(_0x1d0253._0x37622b)]+'.page'+this[_0x4d111b(0x18c)][_0x4d111b(_0x1d0253._0x51a1a0)],_0x41edce=new FakePage(this[_0x4d111b(0x17b)],this[_0x4d111b(_0x1d0253._0x4a97d8)],_0x372047,_0x24101c);this[_0x4d111b(_0x1d0253._0x29cdbf)][_0x4d111b(_0x1d0253._0x2fe7cb)](_0x41edce);const _0x1a7b1c=this['pageList'][_0x4d111b(_0x1d0253._0x1ddf1f)]-0x1;for(const _0x5f5c19 of this[_0x4d111b(_0x1d0253._0x1e923e)]){try{_0x5f5c19({'index':_0x1a7b1c,'url':_0x24101c});}catch{}}return _0x1a7b1c;}[_0x16c074(0x163)](_0x57b793){const _0x2d13ee={_0x759079:0x146,_0x566d1a:0x157,_0x18a1a3:0x1a5},_0xd908e=_0x16c074;if(_0x57b793<0x0||_0x57b793>=this[_0xd908e(0x18c)]['length'])throw new DriverError(_0xd908e(_0x2d13ee._0x759079),{'index':_0x57b793,'available':this['pageList'][_0xd908e(_0x2d13ee._0x566d1a)]});this[_0xd908e(0x18c)][_0xd908e(_0x2d13ee._0x18a1a3)](_0x57b793,0x1);}async[_0x16c074(0x12e)](_0x5d3ddb){const _0x3b4e29={_0x4f09d5:0x157,_0x4213c1:0x14f},_0xa3c6e7=_0x16c074;this[_0xa3c6e7(0x187)]('enterFrame',[_0x5d3ddb]);if(!_0x5d3ddb['steps'][_0xa3c6e7(_0x3b4e29._0x4f09d5)])throw new LocatorError(_0xa3c6e7(0x147),{'locator':_0x5d3ddb});this[_0xa3c6e7(0x18a)][_0xa3c6e7(_0x3b4e29._0x4213c1)](_0x5d3ddb);}async['exitFrame'](){const _0x2f7400={_0x34e6a8:0x157,_0x222565:0x133,_0x44a5aa:0x152},_0x28ad17=_0x16c074;this[_0x28ad17(0x187)](_0x28ad17(0x16b),[]);if(this[_0x28ad17(0x18a)][_0x28ad17(_0x2f7400._0x34e6a8)]===0x0)throw new DriverError(_0x28ad17(_0x2f7400._0x222565),{});this[_0x28ad17(0x18a)][_0x28ad17(_0x2f7400._0x44a5aa)]();}async['setLocalStorage'](_0x263f15,_0xb431e){const _0x4afb4d={_0x52456f:0x162},_0x4380fc=_0x16c074;this['record'](_0x4380fc(_0x4afb4d._0x52456f),[_0x263f15,_0xb431e]),this['localStorageState'][_0x263f15]=_0xb431e;}async[_0x16c074(0x15d)](_0x3e3fa1){const _0x2da7db=_0x16c074;return this[_0x2da7db(0x187)](_0x2da7db(0x15d),[_0x3e3fa1]),this[_0x2da7db(0x132)][_0x3e3fa1]??null;}async['setCookie'](_0x337ef6,_0x2c540f,_0x9dd56b){const _0x2610a9={_0x2142f6:0x171},_0x4058dd=_0x16c074;this['record'](_0x4058dd(0x1a0),[_0x337ef6,_0x2c540f,_0x9dd56b]),this[_0x4058dd(_0x2610a9._0x2142f6)][_0x337ef6]=_0x2c540f;}async[_0x16c074(0x13b)](_0x126c04){const _0x3ec08d=_0x16c074;return this['record'](_0x3ec08d(0x13b),[_0x126c04]),this['cookieState'][_0x126c04]??null;}async[_0x16c074(0x170)](_0x559d0a){const _0x153825={_0x837118:0x187},_0x2e5a95=_0x16c074;this[_0x2e5a95(_0x153825._0x837118)]('saveStorageState',[_0x559d0a]);}async[_0x16c074(0x19d)](_0x397175){return this['record']('evaluate',[_0x397175]),void 0x0;}async['close'](){const _0x4b3e2d={_0x29e85f:0x187,_0x3b92ba:0x172},_0xcaee8c=_0x16c074;this[_0xcaee8c(_0x4b3e2d._0x29e85f)](_0xcaee8c(_0x4b3e2d._0x3b92ba),[]);}[_0x16c074(0x136)](){const _0x54b944=_0x16c074;return this[_0x54b944(0x18a)][_0x54b944(0x157)];}},FakeWebDriver=class{constructor(_0x3d15f5={}){const _0x38a134=_0x16c074;this['behavior']=_0x3d15f5,this[_0x38a134(0x17b)]=createRecorder();}[_0x16c074(0x166)];static{__name(this,_0x16c074(0x1a8));}[_0x16c074(0x16d)]=![];['recorder'];[_0x16c074(0x1ab)]=[];async[_0x16c074(0x196)](_0x48ca5f){const _0xba3ec1=_0x16c074;this[_0xba3ec1(0x17b)][_0xba3ec1(0x14f)]({'scope':_0xba3ec1(0x1af),'method':_0xba3ec1(0x196),'args':[_0x48ca5f]}),this['launched']=!![];}async[_0x16c074(0x164)](_0x15b98c){const _0x38a6bb={_0x2d8f90:0x17b,_0x270a8a:0x159,_0x385e15:0x17b},_0x1a7dec=_0x16c074;this[_0x1a7dec(_0x38a6bb._0x2d8f90)]['push']({'scope':_0x1a7dec(0x1af),'method':'newContext','args':[_0x15b98c]});if(!this[_0x1a7dec(0x16d)])throw new DriverError(_0x1a7dec(_0x38a6bb._0x270a8a),{});const _0x3740ab=new FakeContext(this[_0x1a7dec(_0x38a6bb._0x385e15)],this['behavior'],_0x1a7dec(0x192)+this['contexts']['length']);return this['contexts']['push'](_0x3740ab),_0x3740ab;}async[_0x16c074(0x172)](){const _0x3e1252={_0x2610a3:0x14f,_0x8dec2d:0x172},_0x5266bf=_0x16c074;this[_0x5266bf(0x17b)][_0x5266bf(_0x3e1252._0x2610a3)]({'scope':_0x5266bf(0x1af),'method':_0x5266bf(_0x3e1252._0x8dec2d),'args':[]}),this[_0x5266bf(0x16d)]=![];}[_0x16c074(0x142)](){return void 0x0;}async['connectShared'](){const _0x1995e7=_0x16c074;throw new DriverError(_0x1995e7(0x1a6),{});}[_0x16c074(0x16a)](){const _0x661ca0={_0xf50aac:0x1ae},_0x18aa10=_0x16c074;throw new DriverError(_0x18aa10(_0x661ca0._0xf50aac),{});}[_0x16c074(0x17e)](){const _0x311cdf={_0x4bcf79:0x17b},_0x39f99e=_0x16c074;return this[_0x39f99e(_0x311cdf._0x4bcf79)]['calls']();}[_0x16c074(0x189)](_0x563716){const _0x33198d={_0x1b4a23:0x17b,_0x1864ac:0x1ac},_0x5e0a9c=_0x16c074;return this[_0x5e0a9c(_0x33198d._0x1b4a23)][_0x5e0a9c(0x17e)]()[_0x5e0a9c(_0x33198d._0x1864ac)](_0x2796e0=>_0x2796e0[_0x5e0a9c(0x139)]===_0x563716);}};export{FakeWebDriver};
|
|
1
|
+
const _0x559004=_0x10f0;(function(_0xeb1dab,_0x512977){const _0x48d42f={_0x2ee5ab:0xdb,_0x5b01ec:0x12e,_0x3c9507:0x100,_0x1557ab:0x10f},_0x570eac=_0x10f0,_0x5dd061=_0xeb1dab();while(!![]){try{const _0x36a370=parseInt(_0x570eac(_0x48d42f._0x2ee5ab))/0x1+parseInt(_0x570eac(0xdc))/0x2*(parseInt(_0x570eac(0x134))/0x3)+parseInt(_0x570eac(_0x48d42f._0x5b01ec))/0x4+-parseInt(_0x570eac(0xd2))/0x5*(-parseInt(_0x570eac(0x131))/0x6)+-parseInt(_0x570eac(0x11f))/0x7+parseInt(_0x570eac(0x135))/0x8*(-parseInt(_0x570eac(_0x48d42f._0x3c9507))/0x9)+-parseInt(_0x570eac(_0x48d42f._0x1557ab))/0xa*(parseInt(_0x570eac(0xda))/0xb);if(_0x36a370===_0x512977)break;else _0x5dd061['push'](_0x5dd061['shift']());}catch(_0x48b054){_0x5dd061['push'](_0x5dd061['shift']());}}}(_0x13c4,0xcd760));var __defProp=Object['defineProperty'],__name=(_0x13ceb9,_0x86752c)=>__defProp(_0x13ceb9,_0x559004(0x106),{'value':_0x86752c,'configurable':!![]});function _0x10f0(_0x1aed2d,_0x173598){_0x1aed2d=_0x1aed2d-0xcd;const _0x13c43c=_0x13c4();let _0x10f07a=_0x13c43c[_0x1aed2d];if(_0x10f0['Lbhrww']===undefined){var _0x1df32e=function(_0x30deb1){const _0x3a0621='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13ceb9='',_0x86752c='';for(let _0x422282=0x0,_0x187f6d,_0x11dfe5,_0x22f118=0x0;_0x11dfe5=_0x30deb1['charAt'](_0x22f118++);~_0x11dfe5&&(_0x187f6d=_0x422282%0x4?_0x187f6d*0x40+_0x11dfe5:_0x11dfe5,_0x422282++%0x4)?_0x13ceb9+=String['fromCharCode'](0xff&_0x187f6d>>(-0x2*_0x422282&0x6)):0x0){_0x11dfe5=_0x3a0621['indexOf'](_0x11dfe5);}for(let _0x2d40ff=0x0,_0x1d04d6=_0x13ceb9['length'];_0x2d40ff<_0x1d04d6;_0x2d40ff++){_0x86752c+='%'+('00'+_0x13ceb9['charCodeAt'](_0x2d40ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x86752c);};_0x10f0['cjJBpo']=_0x1df32e,_0x10f0['dfAgtM']={},_0x10f0['Lbhrww']=!![];}const _0x49a606=_0x13c43c[0x0],_0x32ec82=_0x1aed2d+_0x49a606,_0xa31309=_0x10f0['dfAgtM'][_0x32ec82];return!_0xa31309?(_0x10f07a=_0x10f0['cjJBpo'](_0x10f07a),_0x10f0['dfAgtM'][_0x32ec82]=_0x10f07a):_0x10f07a=_0xa31309,_0x10f07a;}function subscribe(_0x422282,_0x187f6d){return _0x422282['add'](_0x187f6d),()=>{const _0x5ac964=_0x10f0;_0x422282[_0x5ac964(0xe6)](_0x187f6d);};}function _0x13c4(){const _0x1ff6a0=['y2XVC2u','Bgf1BMnOzwq','Bgf1BMnO','zw1PDezHA2vqB3b1Ca','Ag92zxi','AxnwAxnPyMXL','D2fPDezVCG','tg9JyxrVCKvYCM9Y','nunXAxjysG','z290BW','y3jLyxrLuMvJB3jKzxi','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','ywn0AxzLugfNzq','C3rLChm','BgvUz3rO','zMLSBa','otq4mZi4n2LssKjKzW','nZe1mdi2ve1bvwD4','ndq0nKfKwvLlva','iJ48l2rPDJ4','C2nVCgu','Cg9W','C2f2zvn0B3jHz2vtDgf0zq','Dgv4DenVBNrLBNrcEurLzMf1Bhq','Bg9JywXtDg9YywDL','rMfRzvbHz2u','A2LUza','B25bzNrLCKnSAwnR','zgvSzxrL','y29UDgv4Dhm','zxzHBhvHDgvpBKXVy2f0B3i','BMv0D29YA0vUDhjPzxm','zNjHBwvtDgfJAW','y2XPy2S','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','BMv3ugfNzuXPC3rLBMvYCW','pgrPDJ48l2rPDJ4','zhjHz0fUzerYB3a','ChvZAa','CMvJB3jK','BMv3q29UDgv4Da','Aw5ZCgvJDevSzw1LBNq','lNbHz2u','y29UC29SzuvUDhjPzxm','y2HLy2S','zMLSDgvY','D2fPDezVCK5HDMLNyxrPB24','y291BNq','z2v0tg9JywXtDg9YywDL','zxHPDezYyw1L','D3nfBMrWB2LUDa','C2v0q29VA2LL','D2fPDezVCLvYBa','DgL0Bgu','mZy5rxDTDgXX','DxbSB2fKrMLSzq','CMvJB3jKzxi','ywn0AxzLswr4','y2fSBhm','z2v0q29VA2LL','BMfTzq','C3bSAwnL','AxneAxnHyMXLzej5rgvMyxvSDa','zg91yMXLq2XPy2S','y2fSBhngB3i','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','yMvOyxzPB3i','rMfRzvDLyKrYAxzLCG','C3vIC2nYAwjL','mJbPueLfC2m','yxr0ywnOrxHPC3rPBMC','y291BNrcEurLzMf1Bhq','zNjHBwvezxb0Aa','D2fPDezVCKXVywrtDgf0zq','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','Bg9JywXtDg9YywDLu3rHDgu','Cg9WDxbpBKnSAwnR','y29UBMvJDfnOyxjLza','rhjPDMvYrxjYB3i','y29VA2LLu3rHDgu','CMvM','B3v0zxjive1m','zhjPDMvY','CgfNzuXPC3q','z29gB3j3yxjK','mZe0mZm2ngLlEu91wa','CMvSB2fK','B3v0zxjiDg1SqNLszwy','y2XPCgjVyxjKugfZDgu','lNbHz2uW','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','y2HLy2TLzfn0yxrL','Aw5UzxjuzxH0qNLezwzHDwX0','zw50zxjgCMfTzq','C2nYB2XSsw50B1zPzxC','Aw5WDxrwywX1zq','Dw5JAgvJAW','y3vYCMvUDfvYBa','y3r4','Bwf5yMvuAhjVDW','mtyWmtyWC2zMuxjX','D2fPDezVCLrLEhq','zxjYB3jpBK5LEhrby3rPB24','nZmYmJqXogfcvgfQra','C2v0qwn0AxzLugfNzq','C2v0tg9JywXtDg9YywDL','mtyZoeDjC0zArq','mZqWmJryAwPKu2y','Aw5UzxjuzxH0','zxzHBhvHDgu','y2XVC2vgywTLugfNzq','Dgv4DenVBNrLBNq','AxneAxnHyMXLza','C2nYzwvUC2HVDa','zMfRzsb0AxrSzq','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','C2vSzwn0t3b0Aw9U'];_0x13c4=function(){return _0x1ff6a0;};return _0x13c4();}__name(subscribe,_0x559004(0x10e));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,_0x559004(0x118));}},LocatorError=class extends UnotestError{static{__name(this,_0x559004(0xd1));}};function createRecorder(){const _0x489f7f=_0x559004,_0x11dfe5=[];let _0x22f118=0x0;return{'push':__name(_0x2d40ff=>_0x11dfe5[_0x489f7f(0xf0)]({..._0x2d40ff,'seq':_0x22f118++}),_0x489f7f(0xf0)),'calls':__name(()=>_0x11dfe5,'calls')};}__name(createRecorder,_0x559004(0xd4));var FakePage=class{constructor(_0x1d04d6,_0x560eeb,_0x36f39b,_0x11e62d){const _0x3585ec={_0x3977c5:0x10c,_0x2253ed:0x12b},_0x5a0a71=_0x559004;this[_0x5a0a71(0x102)]=_0x1d04d6,this[_0x5a0a71(_0x3585ec._0x3977c5)]=_0x560eeb,this['scope']=_0x36f39b,this[_0x5a0a71(_0x3585ec._0x2253ed)]=_0x11e62d;}['recorder'];[_0x559004(0x10c)];[_0x559004(0xde)];static{__name(this,_0x559004(0xe3));}[_0x559004(0x12b)];[_0x559004(0xe5)];[_0x559004(0xf1)](_0x13d4f8,_0x1b49b7){const _0x386d11={_0x527d9b:0xf0},_0x926a22=_0x559004;this['recorder'][_0x926a22(_0x386d11._0x527d9b)]({'scope':this['scope'],'method':_0x13d4f8,'args':_0x1b49b7});}['maybeThrow'](){const _0x5f4e3f={_0x16bda6:0x130},_0x10dd10=_0x559004;if(this[_0x10dd10(0x10c)][_0x10dd10(0x130)]){const _0x52d33c=this['behavior'][_0x10dd10(_0x5f4e3f._0x16bda6)];this['behavior']['errorOnNextAction']=void 0x0;throw _0x52d33c;}}['url'](){return this['currentUrl'];}async[_0x559004(0xff)](){const _0x5316ab={_0x5455d2:0xf1,_0x500594:0xff},_0x45ce55=_0x559004;return this[_0x45ce55(_0x5316ab._0x5455d2)](_0x45ce55(_0x5316ab._0x500594),[]),_0x45ce55(0x13c);}async['click'](_0x4fd2d8,_0x531a6d){const _0x4cef8c={_0x1cf7d2:0xeb,_0x5bd00d:0x12d,_0x2b0c05:0xe5},_0x40a766=_0x559004;this['record'](_0x40a766(_0x4cef8c._0x1cf7d2),[_0x4fd2d8,_0x531a6d]),this[_0x40a766(_0x4cef8c._0x5bd00d)](),this[_0x40a766(_0x4cef8c._0x2b0c05)]?.();}async[_0x559004(0x109)](_0x4c3b8b,_0x442426){const _0x407fc8={_0x43b20d:0x109},_0x16fc1f=_0x559004;this['record'](_0x16fc1f(_0x407fc8._0x43b20d),[_0x4c3b8b,_0x442426]),this[_0x16fc1f(0x12d)]();}async[_0x559004(0xd9)](_0x10804b,_0xb5c453,_0x288582){const _0x149edb={_0x351181:0xf1,_0x470342:0xd9},_0x335f3c=_0x559004;this[_0x335f3c(_0x149edb._0x351181)](_0x335f3c(_0x149edb._0x470342),[_0x10804b,_0xb5c453,_0x288582]),this['maybeThrow']();}async['press'](_0x1a367a,_0x34a38b,_0x26a4a9){this['record']('press',[_0x1a367a,_0x34a38b,_0x26a4a9]),this['maybeThrow']();}async[_0x559004(0xf6)](_0x102a91,_0x548c4c){const _0x272505={_0x108053:0xf6},_0x31dcb0=_0x559004;this['record'](_0x31dcb0(_0x272505._0x108053),[_0x102a91,_0x548c4c]),this[_0x31dcb0(0x12d)]();}async[_0x559004(0x12a)](_0x1026f4,_0x297497){const _0x2cf1de={_0x102a43:0xf1},_0x4064fb=_0x559004;this[_0x4064fb(_0x2cf1de._0x102a43)](_0x4064fb(0x12a),[_0x1026f4,_0x297497]),this[_0x4064fb(0x12d)]();}async[_0x559004(0x13e)](_0x3a12fd,_0x92d1bc,_0x13f1e6){const _0x8f1b74={_0x246840:0xf1},_0x387a02=_0x559004;this[_0x387a02(_0x8f1b74._0x246840)](_0x387a02(0x13e),[_0x3a12fd,_0x92d1bc,_0x13f1e6]),this[_0x387a02(0x12d)]();}async[_0x559004(0xce)](_0x2e8baf,_0x52a6d3){const _0x546267={_0x347cff:0x12d},_0x4d6cb1=_0x559004;this[_0x4d6cb1(0xf1)]('hover',[_0x2e8baf,_0x52a6d3]),this[_0x4d6cb1(_0x546267._0x347cff)]();}async[_0x559004(0x128)](_0x1a62d2){const _0x26c68f={_0x220d7f:0xf1,_0x5c8d2d:0x128},_0x3a8912=_0x559004;this[_0x3a8912(_0x26c68f._0x220d7f)](_0x3a8912(_0x26c68f._0x5c8d2d),[_0x1a62d2]),this[_0x3a8912(0x12d)]();}async[_0x559004(0xef)](_0x31f121,_0x4bfac1,_0x15c95e){const _0x185330={_0x1333f2:0xf1,_0x184a5d:0x12d},_0x3b7bd2=_0x559004;this[_0x3b7bd2(_0x185330._0x1333f2)]('dragAndDrop',[_0x31f121,_0x4bfac1,_0x15c95e]),this[_0x3b7bd2(_0x185330._0x184a5d)]();}async[_0x559004(0x101)](_0x4d47bd,_0x348d1d){const _0x4360be={_0x43982e:0x101},_0x405044=_0x559004;this[_0x405044(0xf1)](_0x405044(_0x4360be._0x43982e),[_0x4d47bd,_0x348d1d]),this[_0x405044(0x12d)]();}async['clipboardPaste'](_0x2eb8d5,_0x16c68b){const _0x3ad16e={_0x47e6df:0x12d},_0x1d9778=_0x559004;this[_0x1d9778(0xf1)](_0x1d9778(0x122),[_0x2eb8d5,_0x16c68b]),this[_0x1d9778(_0x3ad16e._0x47e6df)]();}async['count'](_0x3c7ece){const _0x50c5af={_0x31e8c2:0xf9,_0x5b09ee:0x111},_0x593996=_0x559004;return this[_0x593996(0xf1)](_0x593996(_0x50c5af._0x31e8c2),[_0x3c7ece]),this[_0x593996(0x10c)][_0x593996(_0x50c5af._0x5b09ee)]??0x1;}async[_0x559004(0x139)](_0x3308c2){const _0x1cf875={_0x2d79dd:0xe1},_0x2177ea=_0x559004;return this['record'](_0x2177ea(0x139),[_0x3308c2]),this['behavior'][_0x2177ea(_0x1cf875._0x2d79dd)]??'';}async[_0x559004(0x136)](_0x490cdb){const _0x943641={_0xa3a256:0x126,_0xd01b9c:0xe1},_0x285e2e=_0x559004;return this[_0x285e2e(0xf1)]('innerText',[_0x490cdb]),this[_0x285e2e(0x10c)][_0x285e2e(_0x943641._0xa3a256)]??this[_0x285e2e(0x10c)][_0x285e2e(_0x943641._0xd01b9c)]??'';}async['inputValue'](_0x1e7a1a){const _0xc4050d={_0x25b521:0xf1,_0x2df9d0:0x129,_0x520bc8:0x10c},_0x4c8980=_0x559004;return this[_0x4c8980(_0xc4050d._0x25b521)](_0x4c8980(_0xc4050d._0x2df9d0),[_0x1e7a1a]),this[_0x4c8980(_0xc4050d._0x520bc8)]['inputValueByDefault']??'';}async[_0x559004(0x125)](_0x499237){const _0x43f94f={_0x38c98e:0xf1,_0x4afce9:0x125},_0x37343d=_0x559004;return this[_0x37343d(_0x43f94f._0x38c98e)](_0x37343d(_0x43f94f._0x4afce9),[_0x499237]),this['behavior']['checkedStateByDefault']??null;}async[_0x559004(0xcf)](_0x4c1fb5){const _0x2ecbcc={_0x27e710:0x10c},_0x477034=_0x559004;return this['record'](_0x477034(0xcf),[_0x4c1fb5]),this[_0x477034(_0x2ecbcc._0x27e710)]['isVisibleByDefault']??!![];}async['isDisabled'](_0x3c4226){const _0x132fd2={_0x19bd1a:0x13a},_0x1c6383=_0x559004;return this[_0x1c6383(0xf1)](_0x1c6383(_0x132fd2._0x19bd1a),[_0x3c4226]),this[_0x1c6383(0x10c)][_0x1c6383(0x108)]??![];}async['getAttribute'](_0x552ca1,_0x5b22dc){const _0x2f8590={_0x4735f6:0x10c},_0x4c1137=_0x559004;return this['record']('getAttribute',[_0x552ca1,_0x5b22dc]),this[_0x4c1137(_0x2f8590._0x4735f6)]['attributesByDefault']?.[_0x5b22dc]??null;}async[_0x559004(0xd0)](_0x2d88c3,_0x1f6b51){const _0x44453c={_0xd0cb0c:0xf1,_0x2f5305:0xd0},_0x1422b9=_0x559004;this[_0x1422b9(_0x44453c._0xd0cb0c)](_0x1422b9(_0x44453c._0x2f5305),[_0x2d88c3,_0x1f6b51]);}async[_0x559004(0xfe)](_0x9eb910,_0x10bbe4){const _0x98c0fa=_0x559004;this[_0x98c0fa(0xf1)](_0x98c0fa(0xfe),[_0x9eb910,_0x10bbe4]);}async[_0x559004(0x12f)](_0x3ca1a1,_0x3a3c32){const _0x462deb={_0x5b81e3:0x12f},_0x4b2c8a=_0x559004;this[_0x4b2c8a(0xf1)](_0x4b2c8a(_0x462deb._0x5b81e3),[_0x3ca1a1,_0x3a3c32]);}async[_0x559004(0xf8)](_0x1a7482){const _0x5873f6={_0x1419d3:0xf1},_0xde941a=_0x559004;this[_0xde941a(_0x5873f6._0x1419d3)](_0xde941a(0xf8),[_0x1a7482]);}async[_0x559004(0x113)](_0x5bd0d7,_0x2f131b){const _0x1d4ce4={_0x15ea92:0x113},_0x243da7=_0x559004;this[_0x243da7(0xf1)](_0x243da7(_0x1d4ce4._0x15ea92),[_0x5bd0d7,_0x2f131b]);}async[_0x559004(0xd3)](_0xc37dbb,_0x3529c4){const _0x4ce740={_0x5925d8:0xd3},_0x152d69=_0x559004;this[_0x152d69(0xf1)](_0x152d69(_0x4ce740._0x5925d8),[_0xc37dbb,_0x3529c4]),this[_0x152d69(0x12b)]=_0xc37dbb;}async['reload'](_0x33aa8d){const _0x2d9fb7={_0x95c95b:0xf1},_0x291b5e=_0x559004;this[_0x291b5e(_0x2d9fb7._0x95c95b)](_0x291b5e(0x120),[_0x33aa8d]);}async['goBack'](_0x2975f9){this['record']('goBack',[_0x2975f9]);}async[_0x559004(0x11e)](_0x43cabc){const _0x3e1d07=_0x559004;this[_0x3e1d07(0xf1)]('goForward',[_0x43cabc]);}async[_0x559004(0x137)](_0x2ee9ce){const _0x39d12a={_0x4ee3ca:0xf1,_0x44c43a:0x137},_0x5b4fab=_0x559004;return this[_0x5b4fab(_0x39d12a._0x4ee3ca)](_0x5b4fab(_0x39d12a._0x44c43a),[_0x2ee9ce]),void 0x0;}async['evaluateOnLocator'](_0x2040f5,_0x5e0a65){const _0x54970c=_0x559004;return this[_0x54970c(0xf1)](_0x54970c(0xe8),[_0x2040f5,_0x5e0a65]),void 0x0;}async[_0x559004(0xf3)](_0xea46ad){const _0x1ed8df={_0x55f1e6:0xf3,_0x236633:0xd7,_0x514d11:0x11a},_0x558d09=_0x559004;this[_0x558d09(0xf1)](_0x558d09(_0x1ed8df._0x55f1e6),[_0xea46ad]);if(_0xea46ad[_0x558d09(_0x1ed8df._0x236633)]['length']!==0x1||_0xea46ad['steps'][0x0]['kind']!==_0x558d09(_0x1ed8df._0x514d11))return null;const _0x399ec4=_0xea46ad['steps'][0x0][_0x558d09(_0x1ed8df._0x514d11)],_0xbdbb04=this['behavior']['elementHintByRef']?.[_0x399ec4];return _0xbdbb04??null;}async['screenshot'](_0x326330){const _0x3c609f=_0x559004;return this['record'](_0x3c609f(0x13b),[_0x326330]),Buffer['from']('fake-png');}async[_0x559004(0x11b)](_0x156a5d){const _0x2634cf={_0x4fa28e:0x11b,_0x714b2:0xd7,_0x5c103e:0xe4,_0x3e4e48:0x10c,_0xb01d22:0xec,_0x1c12b3:0xee},_0x413f1d=_0x559004;this[_0x413f1d(0xf1)](_0x413f1d(_0x2634cf._0x4fa28e),[_0x156a5d]);if(_0x156a5d[_0x413f1d(0xd7)][_0x413f1d(0xd8)]===0x1&&_0x156a5d[_0x413f1d(_0x2634cf._0x714b2)][0x0][_0x413f1d(_0x2634cf._0x5c103e)]==='ref'){const _0x2c6c04=_0x156a5d[_0x413f1d(_0x2634cf._0x714b2)][0x0]['ref'];return this[_0x413f1d(_0x2634cf._0x3e4e48)][_0x413f1d(0x121)]?.[_0x2c6c04]??_0x413f1d(_0x2634cf._0xb01d22)+_0x2c6c04+_0x413f1d(0xdd);}return _0x413f1d(_0x2634cf._0x1c12b3);}},FakeContext=class{constructor(_0x38dfd0,_0x5a5272,_0x3ea3fa){const _0x28dd26={_0x5098b9:0x115},_0x212a61=_0x559004;this[_0x212a61(0x102)]=_0x38dfd0,this['behavior']=_0x5a5272,this[_0x212a61(0xde)]=_0x3ea3fa;const _0x42903f=new FakePage(_0x38dfd0,_0x5a5272,_0x3ea3fa+_0x212a61(0x123),_0x5a5272['initialUrl']??'about:blank');_0x5a5272[_0x212a61(0x116)]&&(_0x42903f['onAfterClick']=()=>{const _0x5b9032=_0x212a61;this['emitFakePopup'](_0x5a5272[_0x5b9032(0x116)]);}),this[_0x212a61(0x11d)]=[_0x42903f],this[_0x212a61(_0x28dd26._0x5098b9)]={..._0x5a5272[_0x212a61(0xe2)]??{}},this[_0x212a61(0x119)]={..._0x5a5272['cookies']??{}};}[_0x559004(0x102)];['behavior'];['scope'];static{__name(this,'FakeContext');}['pageList'];['activeIdx']=0x0;[_0x559004(0xea)]=[];[_0x559004(0x115)];['cookieState'];['newPageListeners']=new Set();['record'](_0x1e67cd,_0x240c63){const _0x351f98={_0x3a7b50:0xde},_0xe25913=_0x559004;this[_0xe25913(0x102)][_0xe25913(0xf0)]({'scope':this[_0xe25913(_0x351f98._0x3a7b50)],'method':_0x1e67cd,'args':_0x240c63});}['pages'](){const _0x4916f5=_0x559004;return this[_0x4916f5(0x11d)];}[_0x559004(0xd6)](){const _0x59cb36={_0x18e69e:0x103},_0x3c9e44=_0x559004,_0x129f51=this[_0x3c9e44(0x11d)][this[_0x3c9e44(_0x59cb36._0x18e69e)]];if(!_0x129f51)throw new DriverError('no\x20active\x20page\x20in\x20context',{'activeIdx':this[_0x3c9e44(0x103)]});return _0x129f51;}[_0x559004(0xf5)](){const _0x1d4def=_0x559004;return this[_0x1d4def(0x10c)][_0x1d4def(0xf5)]??[];}[_0x559004(0xe9)](){const _0x5e9a85={_0x2928ee:0xe9},_0x2dae62=_0x559004;return this['behavior'][_0x2dae62(_0x5e9a85._0x2928ee)]??[];}async['setActivePage'](_0x3607ae){const _0x20ccb9={_0x4c75fc:0xf1,_0x1fdb96:0x132,_0x295843:0xd8,_0x230aaa:0x103,_0x3501a1:0xd8},_0x350bb1=_0x559004;this[_0x350bb1(_0x20ccb9._0x4c75fc)](_0x350bb1(_0x20ccb9._0x1fdb96),[_0x3607ae]);if(_0x3607ae<0x0||_0x3607ae>=this['pageList'][_0x350bb1(_0x20ccb9._0x295843)])throw new DriverError(_0x350bb1(0xd5),{'index':_0x3607ae,'available':this['pageList'][_0x350bb1(0xd8)]});this[_0x350bb1(_0x20ccb9._0x230aaa)]=_0x3607ae,this[_0x350bb1(0xea)][_0x350bb1(_0x20ccb9._0x3501a1)]=0x0;}['onNewPage'](_0x3f1c1d){const _0x16a767=_0x559004;return subscribe(this[_0x16a767(0xed)],_0x3f1c1d);}[_0x559004(0xcd)](_0x5e3da9){const _0x1b2af1={_0x583935:0xde,_0x4fd683:0x11d,_0x222996:0xd8},_0x133e17=_0x559004,_0x166797=this[_0x133e17(_0x1b2af1._0x583935)]+_0x133e17(0xf4)+this[_0x133e17(_0x1b2af1._0x4fd683)][_0x133e17(_0x1b2af1._0x222996)],_0x428770=new FakePage(this['recorder'],this[_0x133e17(0x10c)],_0x166797,_0x5e3da9);this[_0x133e17(_0x1b2af1._0x4fd683)]['push'](_0x428770);const _0x235828=this[_0x133e17(_0x1b2af1._0x4fd683)][_0x133e17(_0x1b2af1._0x222996)]-0x1;for(const _0x710d99 of this['newPageListeners']){try{_0x710d99({'index':_0x235828,'url':_0x5e3da9});}catch{}}return _0x235828;}[_0x559004(0x138)](_0x418a15){const _0x435219={_0x105027:0xd8,_0x582130:0x11d,_0x5b27fc:0x107},_0x33eed1=_0x559004;if(_0x418a15<0x0||_0x418a15>=this[_0x33eed1(0x11d)][_0x33eed1(_0x435219._0x105027)])throw new DriverError(_0x33eed1(0xd5),{'index':_0x418a15,'available':this[_0x33eed1(0x11d)][_0x33eed1(_0x435219._0x105027)]});this[_0x33eed1(_0x435219._0x582130)][_0x33eed1(_0x435219._0x5b27fc)](_0x418a15,0x1);}async[_0x559004(0x127)](_0x3aefaf){const _0x44dcfb={_0x500d75:0x127,_0x28ecae:0xea},_0x39cf81=_0x559004;this['record'](_0x39cf81(_0x44dcfb._0x500d75),[_0x3aefaf]);if(!_0x3aefaf[_0x39cf81(0xd7)][_0x39cf81(0xd8)])throw new LocatorError(_0x39cf81(0x13d),{'locator':_0x3aefaf});this[_0x39cf81(_0x44dcfb._0x28ecae)][_0x39cf81(0xf0)](_0x3aefaf);}async[_0x559004(0xfb)](){const _0x1d5032={_0x150289:0xea,_0x47b206:0x10b,_0x2d28d1:0xdf},_0x1eebe7=_0x559004;this[_0x1eebe7(0xf1)](_0x1eebe7(0xfb),[]);if(this[_0x1eebe7(_0x1d5032._0x150289)][_0x1eebe7(0xd8)]===0x0)throw new DriverError(_0x1eebe7(_0x1d5032._0x47b206),{});this[_0x1eebe7(0xea)][_0x1eebe7(_0x1d5032._0x2d28d1)]();}async[_0x559004(0x133)](_0x43322c,_0x3de97d){const _0x5e28b1={_0x349c1d:0x133,_0x274094:0x115},_0x257584=_0x559004;this[_0x257584(0xf1)](_0x257584(_0x5e28b1._0x349c1d),[_0x43322c,_0x3de97d]),this[_0x257584(_0x5e28b1._0x274094)][_0x43322c]=_0x3de97d;}async['getLocalStorage'](_0x308c1e){const _0x25eb47={_0x52b6ce:0xfa},_0x473e48=_0x559004;return this['record'](_0x473e48(_0x25eb47._0x52b6ce),[_0x308c1e]),this['localStorageState'][_0x308c1e]??null;}async[_0x559004(0xfd)](_0x48b3db,_0x2a1a11,_0x1ec29a){const _0x362ece={_0x424d69:0xf1,_0x24d1b4:0xfd},_0x239757=_0x559004;this[_0x239757(_0x362ece._0x424d69)](_0x239757(_0x362ece._0x24d1b4),[_0x48b3db,_0x2a1a11,_0x1ec29a]),this[_0x239757(0x119)][_0x48b3db]=_0x2a1a11;}async[_0x559004(0x105)](_0x871ec5){const _0x5233ae=_0x559004;return this[_0x5233ae(0xf1)]('getCookie',[_0x871ec5]),this['cookieState'][_0x871ec5]??null;}async[_0x559004(0xe0)](_0x48f1ce){const _0x3cc6a1={_0x22b3b9:0xf1},_0x12e197=_0x559004;this[_0x12e197(_0x3cc6a1._0x22b3b9)]('saveStorageState',[_0x48f1ce]);}async[_0x559004(0x137)](_0x51c300){const _0x202acc={_0x872c8c:0xf1},_0xc5a6c0=_0x559004;return this[_0xc5a6c0(_0x202acc._0x872c8c)]('evaluate',[_0x51c300]),void 0x0;}async['close'](){const _0xf4fb1={_0x5a059b:0x13f},_0x47b8cb=_0x559004;this[_0x47b8cb(0xf1)](_0x47b8cb(_0xf4fb1._0x5a059b),[]);}[_0x559004(0x112)](){const _0x560641={_0x377289:0xea},_0x1f5157=_0x559004;return this[_0x1f5157(_0x560641._0x377289)][_0x1f5157(0xd8)];}},FakeWebDriver=class{constructor(_0x40d9cf={}){this['behavior']=_0x40d9cf,this['recorder']=createRecorder();}[_0x559004(0x10c)];static{__name(this,_0x559004(0x10d));}['launched']=![];['recorder'];[_0x559004(0xe7)]=[];async[_0x559004(0x141)](_0x181b3b){const _0x343a1a={_0x575cd9:0x11c,_0x4817f3:0x141,_0x37dd8a:0x140},_0x518279=_0x559004;this['recorder'][_0x518279(0xf0)]({'scope':_0x518279(_0x343a1a._0x575cd9),'method':_0x518279(_0x343a1a._0x4817f3),'args':[_0x181b3b]}),this[_0x518279(_0x343a1a._0x37dd8a)]=!![];}async['newContext'](_0x482f50){const _0x576237={_0x414235:0x102,_0x49bb55:0xf0,_0x396f1d:0x140,_0x2f3756:0x102,_0x36278f:0x10c,_0x401f15:0x12c},_0x39c733=_0x559004;this[_0x39c733(_0x576237._0x414235)][_0x39c733(_0x576237._0x49bb55)]({'scope':_0x39c733(0x11c),'method':_0x39c733(0xf2),'args':[_0x482f50]});if(!this[_0x39c733(_0x576237._0x396f1d)])throw new DriverError('newContext\x20called\x20before\x20launch()',{});const _0x15e22f=new FakeContext(this[_0x39c733(_0x576237._0x2f3756)],this[_0x39c733(_0x576237._0x36278f)],_0x39c733(_0x576237._0x401f15)+this['contexts']['length']);return this[_0x39c733(0xe7)][_0x39c733(0xf0)](_0x15e22f),_0x15e22f;}async[_0x559004(0x13f)](){const _0x2f9eac={_0x279c7c:0x11c,_0x263f27:0x13f},_0x11115f=_0x559004;this['recorder']['push']({'scope':_0x11115f(_0x2f9eac._0x279c7c),'method':_0x11115f(_0x2f9eac._0x263f27),'args':[]}),this['launched']=![];}[_0x559004(0xfc)](){return void 0x0;}async[_0x559004(0x117)](){const _0x130200=_0x559004;throw new DriverError(_0x130200(0x124),{});}[_0x559004(0x110)](){const _0x484f13={_0x519db8:0x114},_0x3d1fb0=_0x559004;throw new DriverError(_0x3d1fb0(_0x484f13._0x519db8),{});}[_0x559004(0x104)](){const _0x51f2b5={_0x250f0d:0x102},_0x524be1=_0x559004;return this[_0x524be1(_0x51f2b5._0x250f0d)][_0x524be1(0x104)]();}[_0x559004(0x10a)](_0x5472b1){const _0x546eb0={_0x35f31e:0x102,_0x91a9ce:0xf7},_0x5cd86d=_0x559004;return this[_0x5cd86d(_0x546eb0._0x35f31e)][_0x5cd86d(0x104)]()[_0x5cd86d(_0x546eb0._0x91a9ce)](_0x32925c=>_0x32925c['method']===_0x5472b1);}};export{FakeWebDriver};
|