@flakiness/playwright 0.148.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Degu Labs, Inc
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,219 @@
1
+ # Flakiness.io Playwright Reporter
2
+
3
+ A custom Playwright test reporter that generates Flakiness Reports from your Playwright test runs. The reporter automatically converts Playwright test results into the standardized [Flakiness JSON format](https://github.com/flakiness/flakiness-report), capturing test outcomes, attachments, system utilization, and environment information.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Requirements](#requirements)
8
+ - [Installation](#installation)
9
+ - [Quick Start](#quick-start)
10
+ - [Uploading Reports](#uploading-reports)
11
+ - [Viewing Reports](#viewing-reports)
12
+ - [Features](#features)
13
+ - [Attachment Handling](#attachment-handling)
14
+ - [Environment Detection](#environment-detection)
15
+ - [CI Integration](#ci-integration)
16
+ - [Configuration Options](#configuration-options)
17
+ - [`endpoint?: string`](#endpoint-string)
18
+ - [`token?: string`](#token-string)
19
+ - [`outputFolder?: string`](#outputfolder-string)
20
+ - [`open?: 'always' | 'never' | 'on-failure'`](#open-always--never--on-failure)
21
+ - [`collectBrowserVersions?: boolean`](#collectbrowserversions-boolean)
22
+ - [Environment Variables](#environment-variables)
23
+ - [Example Configuration](#example-configuration)
24
+
25
+ ## Requirements
26
+
27
+ - Playwright 1.57.0 or higher
28
+ - Node.js project with a git repository (for commit information)
29
+ - Valid Flakiness.io access token (for uploads)
30
+
31
+ ## Installation
32
+
33
+ ```bash
34
+ npm install @flakiness/playwright
35
+ ```
36
+
37
+ ## Quick Start
38
+
39
+ Add the reporter to your `playwright.config.ts`:
40
+
41
+ ```typescript
42
+ import { defineConfig } from '@playwright/test';
43
+
44
+ export default defineConfig({
45
+ reporter: [
46
+ ['@flakiness/playwright']
47
+ ],
48
+ });
49
+ ```
50
+
51
+ Run your tests. The report will be automatically generated in the `./flakiness-report` folder:
52
+
53
+ ```bash
54
+ npx playwright test
55
+ ```
56
+
57
+ View the interactive report:
58
+
59
+ ```bash
60
+ npx flakiness show ./flakiness-report
61
+ ```
62
+
63
+ ## Uploading Reports
64
+
65
+ Reports are automatically uploaded to Flakiness.io in the `onExit()` hook if a valid access token is provided (via `token` option or `FLAKINESS_ACCESS_TOKEN` environment variable).
66
+
67
+ If upload fails, the report is still available locally in the output folder.
68
+
69
+ ## Viewing Reports
70
+
71
+ After test execution, you can view the report using:
72
+
73
+ ```bash
74
+ npx flakiness show ./flakiness-report
75
+ ```
76
+
77
+ ## Features
78
+
79
+ ### Attachment Handling
80
+
81
+ All Playwright test attachments (screenshots, traces, videos, etc.) are automatically:
82
+ - Included in the report
83
+ - Hashed for deduplication
84
+ - Written to the `attachments/` directory in the output folder
85
+
86
+ If an attachment file cannot be accessed, a warning is displayed but the report generation continues.
87
+
88
+
89
+ ### Environment Detection
90
+
91
+ For each Playwright project, the reporter creates a unique environment that includes:
92
+ - Project name and metadata
93
+ - Operating system information (detected automatically)
94
+ - Browser information (if `collectBrowserVersions` is enabled)
95
+ - Custom environment variables prefixed with `FK_ENV_`
96
+
97
+ Environment variables prefixed with `FK_ENV_` are automatically included in the environment's `userSuppliedData`. The prefix is stripped and the key is converted to lowercase.
98
+
99
+ **Example:**
100
+
101
+ ```bash
102
+ export FK_ENV_DEPLOYMENT=staging
103
+ export FK_ENV_REGION=us-east-1
104
+ ```
105
+
106
+ This will result in the environment containing:
107
+ ```json
108
+ {
109
+ "userSuppliedData": {
110
+ "deployment": "staging",
111
+ "region": "us-east-1"
112
+ }
113
+ }
114
+ ```
115
+
116
+ Flakiness.io will create a dedicated history for tests executed in each unique environment. This means tests run with `FK_ENV_DEPLOYMENT=staging` will have a separate timeline from tests run with `FK_ENV_DEPLOYMENT=production`, allowing you to track flakiness patterns specific to each deployment environment.
117
+
118
+ ### CI Integration
119
+
120
+ The reporter automatically detects CI environments and includes:
121
+ - CI run URLs (GitHub Actions, Azure DevOps, Jenkins, GitLab CI)
122
+ - Git commit information
123
+ - System environment data
124
+
125
+ ## Configuration Options
126
+
127
+ The reporter accepts the following options:
128
+
129
+ ### `endpoint?: string`
130
+
131
+ Custom Flakiness.io endpoint URL for uploading reports. Defaults to the `FLAKINESS_ENDPOINT` environment variable, or `https://flakiness.io` if not set.
132
+
133
+ Use this option to point to a custom or self-hosted Flakiness.io instance.
134
+
135
+ ```typescript
136
+ reporter: [
137
+ ['@flakiness/playwright', { endpoint: 'https://custom.flakiness.io' }]
138
+ ]
139
+ ```
140
+
141
+ ### `token?: string`
142
+
143
+ Access token for authenticating with Flakiness.io when uploading reports. Defaults to the `FLAKINESS_ACCESS_TOKEN` environment variable.
144
+
145
+ If no token is provided, the report will still be generated locally but won't be uploaded automatically.
146
+
147
+ ```typescript
148
+ reporter: [
149
+ ['@flakiness/playwright', { token: 'your-access-token' }]
150
+ ]
151
+ ```
152
+
153
+ ### `outputFolder?: string`
154
+
155
+ Directory path where the Flakiness report will be written. Defaults to `flakiness-report` in the current working directory, or the `FLAKINESS_OUTPUT_DIR` environment variable if set.
156
+
157
+ ```typescript
158
+ reporter: [
159
+ ['@flakiness/playwright', { outputFolder: './test-results/flakiness' }]
160
+ ]
161
+ ```
162
+
163
+ ### `open?: 'always' | 'never' | 'on-failure'`
164
+
165
+ Controls when the report viewer should automatically open in your browser after test completion.
166
+
167
+ - **`'on-failure'`** (default): Opens the report only if tests failed and running in an interactive terminal (not in CI)
168
+ - **`'always'`**: Always opens the report after test completion (when running in an interactive terminal)
169
+ - **`'never'`**: Never automatically opens the report
170
+
171
+ ```typescript
172
+ reporter: [
173
+ ['@flakiness/playwright', { open: 'always' }]
174
+ ]
175
+ ```
176
+
177
+ ### `collectBrowserVersions?: boolean`
178
+
179
+ When enabled, the reporter will launch each browser type used in your Playwright projects to detect and record the actual browser version. This information is added to the environment metadata.
180
+
181
+ **Note:** This option requires launching browsers, which adds overhead to report generation. Enable only when browser version information is critical for your analysis.
182
+
183
+ ```typescript
184
+ reporter: [
185
+ ['@flakiness/playwright', { collectBrowserVersions: true }]
186
+ ]
187
+ ```
188
+
189
+ ## Environment Variables
190
+
191
+ The reporter respects the following environment variables:
192
+
193
+ - **`FLAKINESS_ACCESS_TOKEN`**: Access token for Flakiness.io uploads (equivalent to `token` option)
194
+ - **`FLAKINESS_ENDPOINT`**: Custom Flakiness.io endpoint URL (equivalent to `endpoint` option)
195
+ - **`FLAKINESS_OUTPUT_DIR`**: Output directory for reports (equivalent to `outputFolder` option)
196
+
197
+
198
+
199
+ ## Example Configuration
200
+
201
+ Here's a complete example with all options:
202
+
203
+ ```typescript
204
+ import { defineConfig } from '@playwright/test';
205
+
206
+ export default defineConfig({
207
+ reporter: [
208
+ ['@flakiness/playwright', {
209
+ endpoint: process.env.FLAKINESS_ENDPOINT,
210
+ token: process.env.FLAKINESS_ACCESS_TOKEN,
211
+ outputFolder: './flakiness-report',
212
+ open: 'on-failure',
213
+ collectBrowserVersions: false,
214
+ }]
215
+ ],
216
+ // ... rest of your config
217
+ });
218
+ ```
219
+
@@ -0,0 +1,284 @@
1
+ // src/playwright-test.ts
2
+ import {
3
+ CIUtils,
4
+ GitWorktree,
5
+ ReportUtils,
6
+ showReport,
7
+ SystemUtilizationSampler,
8
+ uploadReport,
9
+ writeReport
10
+ } from "@flakiness/sdk";
11
+ import chalk from "chalk";
12
+ import fs from "fs";
13
+ import path from "path";
14
+ var warn = (txt) => console.warn(chalk.yellow(`[flakiness.io] ${txt}`));
15
+ var err = (txt) => console.error(chalk.red(`[flakiness.io] ${txt}`));
16
+ function parseDurationMS(value) {
17
+ if (isNaN(value))
18
+ throw new Error("Duration cannot be NaN");
19
+ if (value < 0)
20
+ throw new Error(`Duration cannot be less than 0, found ${value}`);
21
+ return value | 0;
22
+ }
23
+ async function existsAsync(aPath) {
24
+ return fs.promises.stat(aPath).then(() => true).catch((e) => false);
25
+ }
26
+ var FlakinessReporter = class {
27
+ constructor(_options = {}) {
28
+ this._options = _options;
29
+ this._outputFolder = path.join(process.cwd(), this._options.outputFolder ?? process.env.FLAKINESS_OUTPUT_DIR ?? "flakiness-report");
30
+ }
31
+ _config;
32
+ _rootSuite;
33
+ _results = /* @__PURE__ */ new Map();
34
+ _unattributedErrors = [];
35
+ _systemUtilizationSampler = new SystemUtilizationSampler();
36
+ _report;
37
+ _attachments = [];
38
+ _outputFolder;
39
+ _result;
40
+ printsToStdio() {
41
+ return false;
42
+ }
43
+ onBegin(config, suite) {
44
+ this._config = config;
45
+ this._rootSuite = suite;
46
+ }
47
+ onError(error) {
48
+ this._unattributedErrors.push(error);
49
+ }
50
+ onTestBegin(test) {
51
+ }
52
+ onTestEnd(test, result) {
53
+ const results = this._results.get(test) ?? /* @__PURE__ */ new Set();
54
+ results.add(result);
55
+ this._results.set(test, results);
56
+ }
57
+ async _toFKSuites(context, pwSuite) {
58
+ const location = pwSuite.location;
59
+ if (pwSuite.type === "root" || pwSuite.type === "project" || !location)
60
+ return (await Promise.all(pwSuite.suites.map((suite) => this._toFKSuites(context, suite)))).flat();
61
+ let type = "suite";
62
+ if (pwSuite.type === "file")
63
+ type = "file";
64
+ else if (pwSuite.type === "describe" && !pwSuite.title)
65
+ type = "anonymous suite";
66
+ return [{
67
+ type,
68
+ title: pwSuite.title,
69
+ location: this._createLocation(context, location),
70
+ suites: (await Promise.all(pwSuite.suites.map((suite) => this._toFKSuites(context, suite)))).flat(),
71
+ tests: await Promise.all(pwSuite.tests.map((test) => this._toFKTest(context, test)))
72
+ }];
73
+ }
74
+ async _toFKTest(context, pwTest) {
75
+ return {
76
+ title: pwTest.title,
77
+ // Playwright Test tags must start with '@' so we cut it off.
78
+ tags: pwTest.tags.map((tag) => tag.startsWith("@") ? tag.substring(1) : tag),
79
+ location: this._createLocation(context, pwTest.location),
80
+ // de-duplication of tests will happen later, so here we will have all attempts.
81
+ attempts: await Promise.all(Array.from(this._results.get(pwTest) ?? /* @__PURE__ */ new Set()).map((result) => this._toFKRunAttempt(context, pwTest, result)))
82
+ };
83
+ }
84
+ async _toFKRunAttempt(context, pwTest, result) {
85
+ const attachments = [];
86
+ const attempt = {
87
+ timeout: parseDurationMS(pwTest.timeout),
88
+ annotations: pwTest.annotations.map((annotation) => ({
89
+ type: annotation.type,
90
+ description: annotation.description,
91
+ location: annotation.location ? this._createLocation(context, annotation.location) : void 0
92
+ })),
93
+ environmentIdx: context.project2environmentIdx.get(pwTest.parent.project()),
94
+ expectedStatus: pwTest.expectedStatus,
95
+ parallelIndex: result.parallelIndex,
96
+ status: result.status,
97
+ errors: result.errors && result.errors.length ? result.errors.map((error) => this._toFKTestError(context, error)) : void 0,
98
+ stdout: result.stdout ? result.stdout.map(toSTDIOEntry) : void 0,
99
+ stderr: result.stderr ? result.stderr.map(toSTDIOEntry) : void 0,
100
+ steps: result.steps ? result.steps.map((jsonTestStep) => this._toFKTestStep(context, jsonTestStep)) : void 0,
101
+ startTimestamp: +result.startTime,
102
+ duration: +result.duration,
103
+ attachments
104
+ };
105
+ await Promise.all((result.attachments ?? []).map(async (jsonAttachment) => {
106
+ if (jsonAttachment.path && !await existsAsync(jsonAttachment.path)) {
107
+ context.unaccessibleAttachmentPaths.push(jsonAttachment.path);
108
+ return;
109
+ }
110
+ let attachment;
111
+ if (jsonAttachment.path)
112
+ attachment = await ReportUtils.createFileAttachment(jsonAttachment.contentType, jsonAttachment.path);
113
+ else if (jsonAttachment.body)
114
+ attachment = await ReportUtils.createDataAttachment(jsonAttachment.contentType, jsonAttachment.body);
115
+ else
116
+ return;
117
+ context.attachments.set(attachment.id, attachment);
118
+ attachments.push({
119
+ id: attachment.id,
120
+ name: jsonAttachment.name,
121
+ contentType: jsonAttachment.contentType
122
+ });
123
+ }));
124
+ return attempt;
125
+ }
126
+ _toFKTestStep(context, pwStep) {
127
+ const step = {
128
+ // NOTE: jsonStep.duration was -1 in some playwright versions
129
+ duration: parseDurationMS(Math.max(pwStep.duration, 0)),
130
+ title: pwStep.title,
131
+ location: pwStep.location ? this._createLocation(context, pwStep.location) : void 0
132
+ };
133
+ if (pwStep.location) {
134
+ const resolvedPath = path.resolve(pwStep.location.file);
135
+ }
136
+ if (pwStep.error)
137
+ step.error = this._toFKTestError(context, pwStep.error);
138
+ if (pwStep.steps)
139
+ step.steps = pwStep.steps.map((childJSONStep) => this._toFKTestStep(context, childJSONStep));
140
+ return step;
141
+ }
142
+ _createLocation(context, pwLocation) {
143
+ return {
144
+ file: context.worktree.gitPath(path.resolve(pwLocation.file)),
145
+ line: pwLocation.line,
146
+ column: pwLocation.column
147
+ };
148
+ }
149
+ _toFKTestError(context, pwError) {
150
+ return {
151
+ location: pwError.location ? this._createLocation(context, pwError.location) : void 0,
152
+ message: ReportUtils.stripAnsi(pwError.message ?? "").split("\n")[0],
153
+ snippet: pwError.snippet,
154
+ stack: pwError.stack,
155
+ value: pwError.value
156
+ };
157
+ }
158
+ async onEnd(result) {
159
+ this._systemUtilizationSampler.dispose();
160
+ if (!this._config || !this._rootSuite)
161
+ throw new Error("ERROR: failed to resolve config");
162
+ let commitId;
163
+ let worktree;
164
+ try {
165
+ worktree = GitWorktree.create(this._config.rootDir);
166
+ } catch (e) {
167
+ warn(`Failed to fetch commit info - is this a git repo?`);
168
+ err(`Report is NOT generated.`);
169
+ return;
170
+ }
171
+ const configPath = this._config.configFile ? worktree.gitPath(this._config.configFile) : void 0;
172
+ const context = {
173
+ project2environmentIdx: /* @__PURE__ */ new Map(),
174
+ worktree,
175
+ attachments: /* @__PURE__ */ new Map(),
176
+ unaccessibleAttachmentPaths: []
177
+ };
178
+ const environmentsMap = createEnvironments(this._config.projects);
179
+ if (this._options.collectBrowserVersions) {
180
+ try {
181
+ let playwrightPath = fs.realpathSync(process.argv[1]);
182
+ while (path.basename(playwrightPath) !== "test")
183
+ playwrightPath = path.dirname(playwrightPath);
184
+ const module = await import(path.join(playwrightPath, "index.js"));
185
+ for (const [project, env] of environmentsMap) {
186
+ const { browserName = "chromium", channel, headless } = project.use;
187
+ let browserType;
188
+ switch (browserName) {
189
+ case "chromium":
190
+ browserType = module.default.chromium;
191
+ break;
192
+ case "firefox":
193
+ browserType = module.default.firefox;
194
+ break;
195
+ case "webkit":
196
+ browserType = module.default.webkit;
197
+ break;
198
+ default:
199
+ throw new Error(`Unsupported browser: ${browserName}`);
200
+ }
201
+ const browser = await browserType.launch({ channel, headless });
202
+ const version = browser.version();
203
+ await browser.close();
204
+ env.userSuppliedData ??= {};
205
+ env.userSuppliedData["browser"] = (channel ?? browserName).toLowerCase().trim() + " " + version;
206
+ }
207
+ } catch (e) {
208
+ err(`Failed to resolve browser version: ${e}`);
209
+ }
210
+ }
211
+ const environments = [...environmentsMap.values()];
212
+ for (let envIdx = 0; envIdx < environments.length; ++envIdx)
213
+ context.project2environmentIdx.set(this._config.projects[envIdx], envIdx);
214
+ const report = ReportUtils.normalizeReport({
215
+ category: "playwright",
216
+ commitId: worktree.headCommitId(),
217
+ relatedCommitIds: [],
218
+ systemUtilization: this._systemUtilizationSampler.result,
219
+ configPath,
220
+ url: CIUtils.runUrl(),
221
+ environments,
222
+ suites: await this._toFKSuites(context, this._rootSuite),
223
+ opaqueData: this._config,
224
+ unattributedErrors: this._unattributedErrors.map((e) => this._toFKTestError(context, e)),
225
+ duration: parseDurationMS(result.duration),
226
+ startTimestamp: +result.startTime
227
+ });
228
+ ReportUtils.createTestStepSnippetsInplace(worktree, report);
229
+ for (const unaccessibleAttachment of context.unaccessibleAttachmentPaths)
230
+ warn(`cannot access attachment ${unaccessibleAttachment}`);
231
+ this._report = report;
232
+ this._attachments = await writeReport(report, Array.from(context.attachments.values()), this._outputFolder);
233
+ this._result = result;
234
+ }
235
+ async onExit() {
236
+ if (!this._report)
237
+ return;
238
+ await uploadReport(this._report, this._attachments, {
239
+ flakinessAccessToken: this._options.token,
240
+ flakinessEndpoint: this._options.endpoint
241
+ });
242
+ const openMode = this._options.open ?? "on-failure";
243
+ const shouldOpen = process.stdin.isTTY && !process.env.CI && (openMode === "always" || openMode === "on-failure" && this._result?.status === "failed");
244
+ if (shouldOpen) {
245
+ await showReport(this._outputFolder);
246
+ } else {
247
+ const defaultOutputFolder = path.join(process.cwd(), "flakiness-report");
248
+ const folder = defaultOutputFolder === this._outputFolder ? "" : path.relative(process.cwd(), this._outputFolder);
249
+ console.log(`
250
+ To open last Flakiness report, run:
251
+
252
+ ${chalk.cyan(`npx flakiness show ${folder}`)}
253
+ `);
254
+ }
255
+ }
256
+ };
257
+ function toSTDIOEntry(data) {
258
+ if (Buffer.isBuffer(data))
259
+ return { buffer: data.toString("base64") };
260
+ return { text: data };
261
+ }
262
+ function createEnvironments(projects) {
263
+ let uniqueNames = /* @__PURE__ */ new Set();
264
+ const result = /* @__PURE__ */ new Map();
265
+ for (const project of projects) {
266
+ let defaultName = project.name;
267
+ if (!defaultName.trim())
268
+ defaultName = "anonymous";
269
+ let name = defaultName;
270
+ for (let i = 2; uniqueNames.has(name); ++i)
271
+ name = `${defaultName}-${i}`;
272
+ uniqueNames.add(defaultName);
273
+ result.set(project, ReportUtils.createEnvironment({
274
+ name,
275
+ userSuppliedData: project.metadata,
276
+ opaqueData: { project }
277
+ }));
278
+ }
279
+ return result;
280
+ }
281
+ export {
282
+ FlakinessReporter as default
283
+ };
284
+ //# sourceMappingURL=playwright-test.js.map
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@flakiness/playwright",
3
+ "version": "0.148.0",
4
+ "private": false,
5
+ "exports": {
6
+ ".": {
7
+ "types": "./types/src/playwright-test.d.ts",
8
+ "import": "./lib/playwright-test.js",
9
+ "require": "./lib/playwright-test.js"
10
+ }
11
+ },
12
+ "type": "module",
13
+ "description": "",
14
+ "types": "./types/index.d.ts",
15
+ "scripts": {},
16
+ "keywords": [],
17
+ "author": "Degu Labs, Inc",
18
+ "license": "MIT",
19
+ "devDependencies": {
20
+ "@playwright/test": "^1.57.0"
21
+ },
22
+ "dependencies": {
23
+ "@flakiness/sdk": "0.148.0",
24
+ "chalk": "^5.6.2"
25
+ }
26
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../sdk/node_modules/@flakiness/flakiness-report/types/src/flakinessreport.d.ts","../../sdk/types/src/ciutils.d.ts","../../sdk/types/src/gitworktree.d.ts","../../sdk/types/src/createenvironment.d.ts","../../sdk/types/src/createteststepsnippets.d.ts","../../sdk/types/src/normalizereport.d.ts","../../sdk/types/src/stripansi.d.ts","../../sdk/types/src/uploadreport.d.ts","../../sdk/types/src/visittests.d.ts","../../sdk/types/src/reportutils.d.ts","../../sdk/types/src/systemutilizationsampler.d.ts","../../sdk/types/src/showreport.d.ts","../../sdk/types/src/writereport.d.ts","../../sdk/types/src/flakinessprojectconfig.d.ts","../../sdk/types/src/index.d.ts","../../node_modules/playwright-core/types/protocol.d.ts","../../node_modules/playwright-core/types/structs.d.ts","../../node_modules/playwright-core/types/types.d.ts","../../node_modules/playwright-core/index.d.ts","../../node_modules/playwright/types/test.d.ts","../../node_modules/playwright/test.d.ts","../../node_modules/@playwright/test/index.d.ts","../../node_modules/playwright/types/testreporter.d.ts","../../node_modules/@playwright/test/reporter.d.ts","../../node_modules/chalk/source/vendor/ansi-styles/index.d.ts","../../node_modules/chalk/source/vendor/supports-color/index.d.ts","../../node_modules/chalk/source/index.d.ts","../src/playwright-test.ts","../../node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/ts5.6/index.d.ts"],"fileIdsList":[[95,108,151],[97,108,151],[108,148,151],[108,150,151],[108,151,156,186],[108,151,152,157,163,164,171,183,194],[108,151,152,153,163,171],[108,151],[103,104,105,108,151],[108,151,154,195],[108,151,155,156,164,172],[108,151,156,183,191],[108,151,157,159,163,171],[108,150,151,158],[108,151,159,160],[108,151,163],[108,151,161,163],[108,150,151,163],[108,151,163,164,165,183,194],[108,151,163,164,165,178,183,186],[108,146,151,199],[108,146,151,159,163,166,171,183,194],[108,151,163,164,166,167,171,183,191,194],[108,151,166,168,183,191,194],[108,151,163,169],[108,151,170,194,199],[108,151,159,163,171,183],[108,151,172],[108,151,173],[108,150,151,174],[108,148,149,150,151,152,153,154,155,156,157,158,159,160,161,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[108,151,176],[108,151,177],[108,151,163,178,179],[108,151,178,180,195,197],[108,151,163,183,184,185,186],[108,151,183,185],[108,151,183,184],[108,151,186],[108,151,187],[108,148,151,183],[108,151,163,189,190],[108,151,189,190],[108,151,156,171,183,191],[108,151,192],[151],[106,107,108,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[108,151,171,193],[108,151,166,177,194],[108,151,156,195],[108,151,183,196],[108,151,170,197],[108,151,198],[108,151,156,163,165,174,183,194,197,199],[108,151,183,200],[99,100,108,151],[108,151,193],[92,108,151],[90,91,108,151,152,164,183],[94,108,151],[93,108,151],[108,118,122,151,194],[108,118,151,183,194],[108,113,151],[108,115,118,151,191,194],[108,151,171,191],[108,151,201],[108,113,151,201],[108,115,118,151,171,194],[108,110,111,114,117,151,163,183,194],[108,118,125,151],[108,110,116,151],[108,118,139,140,151],[108,114,118,151,186,194,201],[108,139,151,201],[108,112,113,151,201],[108,118,151],[108,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,143,144,145,151],[108,118,133,151],[108,118,125,126,151],[108,116,118,126,127,151],[108,117,151],[108,110,113,118,151],[108,118,122,126,127,151],[108,122,151],[108,116,118,121,151,194],[108,110,115,118,125,151],[108,151,183],[108,113,118,139,151,199,201],[89,96,98,101,108,151,164,173],[75,108,151],[75,77,108,151],[75,76,77,82,84,85,86,87,88,108,151],[78,79,80,81,82,83,108,151],[75,82,108,151]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"abee51ebffafd50c07d76be5848a34abfe4d791b5745ef1e5648718722fab924","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"32d77e0b50b41780eedfeb32f2cbcfb2c72d52511c7d1d7ac3e9da7ac64c213f","impliedFormat":99},{"version":"39f2d47a707e11e4dc702468b73674d815f4bd1c2ee39877c2b939f6837d5dd5","impliedFormat":99},{"version":"f72f5a3cc83aa9041f894e30fc0820de893f90facd5e58451dc6702638ce73e1","impliedFormat":99},{"version":"2e412b2c99246f04b3371dcbf3c25a39e923a125cfe611d4b44f6093eb1bf800","impliedFormat":99},{"version":"6d74839a24af230f12a1969500c557a3b3c3d918ee471a3b7d45a5872cda999c","impliedFormat":99},{"version":"3df52b6da8dbade43179d9b9466b0e95e4a28787039f2493d15429fc28db40e8","impliedFormat":99},{"version":"8bf419db9950c62f5728fb3fe0a70597eca94b19e79bdedc28b27243fd672b3d","impliedFormat":99},{"version":"fb9fdd90711ae778914a033c6d9bbb8e5500854e5e70898b4f80c56b2c0459ff","impliedFormat":99},{"version":"b9de716d46b0aefe0a8c0ecca517af6d605f9827b91f38314bff2718f5b282ff","impliedFormat":99},{"version":"e4eb328c95ba3b261ad853f9913b6c2c06686c1abc102ddf4fe4da4dda954cd9","impliedFormat":99},{"version":"4eb2b299fc19af0f15419126ee1f1749a51f625a9cb3ad97c1efe36959da46d9","impliedFormat":99},{"version":"62f1716120eae1575a07334b687db85d9f914bd847e8cc621c06e0303c7dd509","impliedFormat":99},{"version":"ac35d2c7653f71ebc04544a91d90ba502b1438d03f752d8560c4ab13f796394a","impliedFormat":99},{"version":"5652d11bd35569288b184e52d3a41e11f134afd0003ecf250c4fbcf62f6158dd","impliedFormat":99},{"version":"5ab53f7ffe59fb8477ab5d8f6e8fc855897eee93969dc3ba4408ec9ffaf84cef","impliedFormat":99},{"version":"b34209befaf07b7cc1932e5cc137ce121cbc9f892551126962d9e908be91adb4","impliedFormat":1},{"version":"32727845ab5bd8a9ef3e4844c567c09f6d418fcf0f90d381c00652a6f23e7f6e","impliedFormat":1},{"version":"2c0b5ace721ddf7314b622bbad664a9958cfd1068422dbed5cdb760cba1c7f0c","impliedFormat":1},{"version":"7a8ec10b0834eb7183e4bfcd929838ac77583828e343211bb73676d1e47f6f01","impliedFormat":1},{"version":"707332817d714a4277d2d386d9c209cdb2137313284c65621849a12f413aaf5e","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f00324f263189b385c3a9383b1f4dae6237697bcf0801f96aa35c340512d79c","impliedFormat":1},{"version":"ec8997c2e5cea26befc76e7bf990750e96babb16977673a9ff3b5c0575d01e48","impliedFormat":1},{"version":"77d83fa6b61fd5cdc943d461571d4ab4b8eda89a6f6ade5d5756f79feb49b7d0","impliedFormat":1},{"version":"04392f8e190f9e51301f73d17bbb34babd54858c1efc932d2193962f66dabae2","impliedFormat":1},{"version":"acfed6cc001e7f7f26d2ba42222a180ba669bb966d4dd9cb4ad5596516061b13","impliedFormat":99},{"version":"f61a4dc92450609c353738f0a2daebf8cae71b24716dbd952456d80b1e1a48b6","impliedFormat":99},{"version":"f3f76db6e76bc76d13cc4bfa10e1f74390b8ebe279535f62243e8d8acd919314","impliedFormat":99},{"version":"773adfe679e9b5c89f1542ea7a7963d1304d82d7c52df36d64fd539878df9ab7","signature":"d76b6cec2ac0f92001d93dc72b92a5a0029807457adde27efdcf2432d7cf7a19","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"81184fe8e67d78ac4e5374650f0892d547d665d77da2b2f544b5d84729c4a15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"875928df2f3e9a3aed4019539a15d04ff6140a06df6cd1b2feb836d22a81eaca","affectsGlobalScope":true,"impliedFormat":1},{"version":"e9ad08a376ac84948fcca0013d6f1d4ae4f9522e26b91f87945b97c99d7cc30b","impliedFormat":1},{"version":"eaf9ee1d90a35d56264f0bf39842282c58b9219e112ac7d0c1bce98c6c5da672","impliedFormat":1},{"version":"c15c4427ae7fd1dcd7f312a8a447ac93581b0d4664ddf151ecd07de4bf2bb9d7","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"75c3400359d59fae5aed4c4a59fcd8a9760cf451e25dc2174cb5e08b9d4803e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"94c4187083503a74f4544503b5a30e2bd7af0032dc739b0c9a7ce87f8bddc7b9","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3eb62baae4df08c9173e6903d3ca45942ccec8c3659b0565684a75f3292cffbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"a85683ef86875f4ad4c6b7301bbcc63fb379a8d80d3d3fd735ee57f48ef8a47e","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"9212c6e9d80cb45441a3614e95afd7235a55a18584c2ed32d6c1aca5a0c53d93","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bd91a2a356600dee28eb0438082d0799a18a974a6537c4410a796bab749813c","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"ae25afbbf1ed5df63a177d67b9048bf7481067f1b8dc9c39212e59db94fc9fc6","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"171fd8807643c46a9d17e843959abdf10480d57d60d38d061fb44a4c8d4a8cc4","impliedFormat":1}],"root":[102],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"module":199,"outDir":"./","strict":true,"strictBindCallApply":true,"target":99},"referencedMap":[[96,1],[98,2],[148,3],[149,3],[150,4],[151,5],[152,6],[153,7],[103,8],[106,9],[104,8],[105,8],[154,10],[155,11],[156,12],[157,13],[158,14],[159,15],[160,15],[162,16],[161,17],[163,18],[164,19],[165,20],[147,21],[166,22],[167,23],[168,24],[169,25],[170,26],[171,27],[172,28],[173,29],[174,30],[175,31],[176,32],[177,33],[178,34],[179,34],[180,35],[181,8],[182,8],[183,36],[185,37],[184,38],[186,39],[187,40],[188,41],[189,42],[190,43],[191,44],[192,45],[108,46],[107,8],[201,47],[193,48],[194,49],[195,50],[196,51],[197,52],[198,53],[199,54],[200,55],[109,8],[101,56],[99,8],[100,57],[93,58],[90,8],[91,58],[92,59],[95,60],[94,61],[97,60],[73,8],[74,8],[12,8],[13,8],[15,8],[14,8],[2,8],[16,8],[17,8],[18,8],[19,8],[20,8],[21,8],[22,8],[23,8],[3,8],[24,8],[4,8],[25,8],[29,8],[26,8],[27,8],[28,8],[30,8],[31,8],[32,8],[5,8],[33,8],[34,8],[35,8],[36,8],[6,8],[40,8],[37,8],[38,8],[39,8],[41,8],[7,8],[42,8],[47,8],[48,8],[43,8],[44,8],[45,8],[46,8],[8,8],[52,8],[49,8],[50,8],[51,8],[53,8],[9,8],[54,8],[55,8],[56,8],[59,8],[57,8],[58,8],[60,8],[61,8],[10,8],[62,8],[1,8],[63,8],[64,8],[11,8],[69,8],[66,8],[65,8],[72,8],[70,8],[68,8],[71,8],[67,8],[125,62],[135,63],[124,62],[145,64],[116,65],[115,66],[144,67],[138,68],[143,69],[118,70],[132,71],[117,72],[141,73],[113,74],[112,67],[142,75],[114,76],[119,77],[120,8],[123,77],[110,8],[146,78],[136,79],[127,80],[128,81],[130,82],[126,83],[129,84],[139,67],[121,85],[122,86],[131,87],[111,88],[134,79],[133,77],[137,8],[140,89],[102,90],[75,8],[76,8],[78,91],[79,92],[88,8],[77,91],[89,93],[80,91],[84,94],[86,8],[81,8],[85,91],[82,91],[83,91],[87,95]],"latestChangedDtsFile":"./src/playwright-test.d.ts","version":"5.6.2"}