@elastic/synthetics 1.0.0-beta.2 → 1.0.0-beta.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/CHANGELOG.md +235 -0
  2. package/NOTICE.txt +250 -0
  3. package/README.md +2 -1
  4. package/dist/cli.js +87 -56
  5. package/dist/cli.js.map +1 -1
  6. package/dist/common_types.d.ts +116 -14
  7. package/dist/common_types.d.ts.map +1 -1
  8. package/dist/config.d.ts +2 -5
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +5 -5
  11. package/dist/config.js.map +1 -1
  12. package/dist/core/browser-service.js +5 -5
  13. package/dist/core/browser-service.js.map +1 -1
  14. package/dist/core/expect.d.ts +177 -0
  15. package/dist/core/expect.d.ts.map +1 -0
  16. package/dist/core/expect.js +33 -0
  17. package/dist/core/expect.js.map +1 -0
  18. package/dist/core/gatherer.d.ts +4 -7
  19. package/dist/core/gatherer.d.ts.map +1 -1
  20. package/dist/core/gatherer.js +39 -12
  21. package/dist/core/gatherer.js.map +1 -1
  22. package/dist/core/index.d.ts +5 -5
  23. package/dist/core/index.d.ts.map +1 -1
  24. package/dist/core/index.js +2 -2
  25. package/dist/core/index.js.map +1 -1
  26. package/dist/core/logger.d.ts +0 -1
  27. package/dist/core/logger.d.ts.map +1 -1
  28. package/dist/core/logger.js +3 -16
  29. package/dist/core/logger.js.map +1 -1
  30. package/dist/core/runner.d.ts +54 -45
  31. package/dist/core/runner.d.ts.map +1 -1
  32. package/dist/core/runner.js +181 -71
  33. package/dist/core/runner.js.map +1 -1
  34. package/dist/dsl/journey.d.ts +13 -4
  35. package/dist/dsl/journey.d.ts.map +1 -1
  36. package/dist/dsl/journey.js +40 -1
  37. package/dist/dsl/journey.js.map +1 -1
  38. package/dist/formatter/javascript.d.ts +73 -0
  39. package/dist/formatter/javascript.d.ts.map +1 -0
  40. package/dist/formatter/javascript.js +274 -0
  41. package/dist/formatter/javascript.js.map +1 -0
  42. package/dist/helpers.d.ts +33 -12
  43. package/dist/helpers.d.ts.map +1 -1
  44. package/dist/helpers.js +108 -54
  45. package/dist/helpers.js.map +1 -1
  46. package/dist/index.d.ts +8 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +6 -7
  49. package/dist/index.js.map +1 -1
  50. package/dist/parse_args.d.ts +5 -2
  51. package/dist/parse_args.d.ts.map +1 -1
  52. package/dist/parse_args.js +59 -16
  53. package/dist/parse_args.js.map +1 -1
  54. package/dist/plugins/browser-console.d.ts +5 -8
  55. package/dist/plugins/browser-console.d.ts.map +1 -1
  56. package/dist/plugins/browser-console.js +27 -8
  57. package/dist/plugins/browser-console.js.map +1 -1
  58. package/dist/plugins/network.d.ts +23 -20
  59. package/dist/plugins/network.d.ts.map +1 -1
  60. package/dist/plugins/network.js +149 -124
  61. package/dist/plugins/network.js.map +1 -1
  62. package/dist/plugins/performance.d.ts +5 -5
  63. package/dist/plugins/performance.d.ts.map +1 -1
  64. package/dist/plugins/performance.js +5 -5
  65. package/dist/plugins/performance.js.map +1 -1
  66. package/dist/plugins/plugin-manager.d.ts +11 -11
  67. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  68. package/dist/plugins/plugin-manager.js +40 -24
  69. package/dist/plugins/plugin-manager.js.map +1 -1
  70. package/dist/plugins/tracing.d.ts +10 -25
  71. package/dist/plugins/tracing.d.ts.map +1 -1
  72. package/dist/plugins/tracing.js +40 -26
  73. package/dist/plugins/tracing.js.map +1 -1
  74. package/dist/reporters/base.d.ts +0 -1
  75. package/dist/reporters/base.d.ts.map +1 -1
  76. package/dist/reporters/base.js +34 -32
  77. package/dist/reporters/base.js.map +1 -1
  78. package/dist/reporters/json.d.ts +46 -59
  79. package/dist/reporters/json.d.ts.map +1 -1
  80. package/dist/reporters/json.js +188 -70
  81. package/dist/reporters/json.js.map +1 -1
  82. package/dist/reporters/junit.d.ts.map +1 -1
  83. package/dist/reporters/junit.js +7 -7
  84. package/dist/reporters/junit.js.map +1 -1
  85. package/dist/sdk/lh-trace-processor.d.ts +304 -0
  86. package/dist/sdk/lh-trace-processor.d.ts.map +1 -0
  87. package/dist/sdk/lh-trace-processor.js +832 -0
  88. package/dist/sdk/lh-trace-processor.js.map +1 -0
  89. package/dist/sdk/trace-metrics.d.ts +61 -0
  90. package/dist/sdk/trace-metrics.d.ts.map +1 -0
  91. package/dist/sdk/trace-metrics.js +252 -0
  92. package/dist/sdk/trace-metrics.js.map +1 -0
  93. package/dist/sdk/trace-processor.d.ts +106 -0
  94. package/dist/sdk/trace-processor.d.ts.map +1 -0
  95. package/dist/sdk/trace-processor.js +74 -0
  96. package/dist/sdk/trace-processor.js.map +1 -0
  97. package/dist/tsconfig.tsbuildinfo +1 -1575
  98. package/package.json +27 -16
  99. package/src/cli.ts +68 -45
  100. package/src/common_types.ts +138 -14
  101. package/src/config.ts +2 -5
  102. package/src/core/expect.ts +187 -0
  103. package/src/core/gatherer.ts +48 -24
  104. package/src/core/index.ts +6 -6
  105. package/src/core/logger.ts +1 -12
  106. package/src/core/runner.ts +259 -112
  107. package/src/dsl/journey.ts +28 -6
  108. package/src/formatter/javascript.ts +330 -0
  109. package/src/helpers.ts +114 -24
  110. package/src/index.ts +7 -6
  111. package/src/parse_args.ts +97 -22
  112. package/src/plugins/browser-console.ts +30 -13
  113. package/src/plugins/network.ts +175 -159
  114. package/src/plugins/performance.ts +7 -7
  115. package/src/plugins/plugin-manager.ts +47 -36
  116. package/src/plugins/tracing.ts +43 -54
  117. package/src/reporters/base.ts +29 -23
  118. package/src/reporters/json.ts +259 -80
  119. package/src/reporters/junit.ts +1 -1
  120. package/src/sdk/lh-trace-processor.ts +1033 -0
  121. package/src/sdk/trace-metrics.ts +287 -0
  122. package/src/sdk/trace-processor.ts +147 -0
@@ -24,15 +24,17 @@
24
24
  *
25
25
  */
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.NetworkManager = void 0;
27
+ exports.calculateTimings = exports.NetworkManager = void 0;
28
28
  const helpers_1 = require("../helpers");
29
29
  class NetworkManager {
30
- constructor() {
30
+ constructor(driver) {
31
+ this.driver = driver;
31
32
  this._InflightRequestMap = new Map();
32
33
  this.results = [];
33
34
  this._currentStep = null;
34
35
  }
35
- async start(client) {
36
+ async start() {
37
+ const { client } = this.driver;
36
38
  const { product } = await client.send('Browser.getVersion');
37
39
  const [name, version] = product.split('/');
38
40
  this._browser = { name, version };
@@ -51,14 +53,14 @@ class NetworkManager {
51
53
  return this._InflightRequestMap.get(requestId);
52
54
  }
53
55
  _onRequestWillBeSent(event) {
54
- const { requestId, request, timestamp, type, loaderId } = event;
55
- const { url, method } = request;
56
+ const { url, method, postData, headers } = event.request;
56
57
  /**
57
58
  * Data URI should not show up as network requests
58
59
  */
59
60
  if (url.startsWith('data:')) {
60
61
  return;
61
62
  }
63
+ const { requestId, timestamp, type, loaderId } = event;
62
64
  const isNavigationRequest = requestId == loaderId && type === 'Document';
63
65
  const record = this._findNetworkRecord(requestId);
64
66
  /**
@@ -68,6 +70,7 @@ class NetworkManager {
68
70
  */
69
71
  if (record) {
70
72
  if (event.redirectResponse) {
73
+ record.response.redirectURL = url;
71
74
  const response = event.redirectResponse;
72
75
  const data = Object.assign(event, {
73
76
  type: event.type,
@@ -97,23 +100,32 @@ class NetworkManager {
97
100
  this._InflightRequestMap.set(requestId, {
98
101
  browser: this._browser,
99
102
  step: this._currentStep,
100
- timestamp: helpers_1.getTimestamp(),
103
+ timestamp: (0, helpers_1.getTimestamp)(),
101
104
  url,
102
- request,
103
105
  type,
104
- method,
105
- requestSentTime: timestamp,
106
+ request: {
107
+ url,
108
+ method,
109
+ headers,
110
+ bytes: (postData === null || postData === void 0 ? void 0 : postData.length) || 0,
111
+ },
112
+ response: {
113
+ status: -1,
114
+ mimeType: 'x-unknown',
115
+ headers: {},
116
+ timing: null,
117
+ },
106
118
  isNavigationRequest,
107
- status: 0,
108
- loadEndTime: -1,
119
+ requestSentTime: timestamp,
109
120
  responseReceivedTime: -1,
110
- response: null,
121
+ loadEndTime: -1,
111
122
  resourceSize: 0,
112
123
  transferSize: 0,
113
124
  timings: null,
114
125
  });
115
126
  }
116
127
  _onRequestWillBeSentExtraInfo(event) {
128
+ var _a;
117
129
  const { requestId, headers } = event;
118
130
  const record = this._findNetworkRecord(requestId);
119
131
  if (!record) {
@@ -126,6 +138,7 @@ class NetworkManager {
126
138
  ...record.request.headers,
127
139
  ...headers,
128
140
  };
141
+ record.request.referrer = (_a = record.request.headers) === null || _a === void 0 ? void 0 : _a.Referer;
129
142
  }
130
143
  _onDataReceived(event) {
131
144
  const { requestId, dataLength, encodedDataLength } = event;
@@ -143,12 +156,30 @@ class NetworkManager {
143
156
  if (!record) {
144
157
  return;
145
158
  }
146
- Object.assign(record, {
159
+ record.responseReceivedTime = timestamp;
160
+ record.transferSize = response.encodedDataLength;
161
+ record.response = {
162
+ url: response.url,
147
163
  status: response.status,
148
- response,
149
- responseReceivedTime: timestamp,
150
- transferSize: response.encodedDataLength,
151
- });
164
+ protocol: response.protocol,
165
+ statusText: response.statusText,
166
+ headers: response.headers,
167
+ mimeType: response.mimeType,
168
+ remoteIPAddress: response.remoteIPAddress,
169
+ remotePort: response.remotePort,
170
+ fromServiceWorker: response.fromServiceWorker,
171
+ redirectURL: record.response.redirectURL,
172
+ timing: response.timing,
173
+ };
174
+ if (response.securityDetails) {
175
+ record.response.securityDetails = {
176
+ protocol: response.securityDetails.protocol,
177
+ subjectName: response.securityDetails.subjectName,
178
+ issuer: response.securityDetails.issuer,
179
+ validFrom: response.securityDetails.validFrom,
180
+ validTo: response.securityDetails.validTo,
181
+ };
182
+ }
152
183
  }
153
184
  _onLoadingFinished(event) {
154
185
  const { requestId, timestamp, encodedDataLength } = event;
@@ -165,9 +196,12 @@ class NetworkManager {
165
196
  }
166
197
  if (encodedDataLength >= 0) {
167
198
  record.transferSize = encodedDataLength;
199
+ record.response.body = {
200
+ bytes: encodedDataLength,
201
+ };
168
202
  }
169
203
  record.loadEndTime = endTime;
170
- record.timings = this.calculateTimings(record);
204
+ record.timings = calculateTimings(record);
171
205
  this.results.push(record);
172
206
  /**
173
207
  * When there is DNS failure, browsers keeps retrying requests which
@@ -179,120 +213,111 @@ class NetworkManager {
179
213
  * Account for missing response received event and also adjust the
180
214
  * response received event based on when first byte event was recorded
181
215
  */
182
- getResponseReceivedTime(timing, responseReceivedTime) {
183
- if (timing == null) {
184
- return responseReceivedTime;
185
- }
186
- const startTime = timing.requestTime;
187
- const headersReceivedTime = startTime + timing.receiveHeadersEnd / 1000;
188
- if (responseReceivedTime < 0 ||
189
- responseReceivedTime > headersReceivedTime) {
190
- responseReceivedTime = headersReceivedTime;
191
- }
192
- if (startTime > responseReceivedTime) {
193
- responseReceivedTime = startTime;
194
- }
216
+ stop() {
217
+ return this.results;
218
+ }
219
+ }
220
+ exports.NetworkManager = NetworkManager;
221
+ function getResponseReceivedTime(timing, responseReceivedTime) {
222
+ if (timing == null) {
195
223
  return responseReceivedTime;
196
224
  }
197
- /**
198
- * The timing calculations are based on the chrome devtools frontend
199
- * https://github.com/ChromeDevTools/devtools-frontend/blob/7f5478d8ceb7586f23f4073ab5c2085dac1ec26a/front_end/network/RequestTimingView.js#L98-L193
200
- */
201
- calculateTimings(record) {
202
- const result = {
203
- blocked: -1,
204
- queueing: -1,
205
- proxy: -1,
206
- dns: -1,
207
- ssl: -1,
208
- connect: -1,
209
- send: -1,
210
- wait: -1,
211
- receive: -1,
212
- total: -1,
213
- };
214
- const { requestSentTime, loadEndTime, responseReceivedTime } = record;
215
- /**
216
- * Handle when request failed and no responseReceived event was
217
- * fired for that particular request
218
- * Eg: connection refused by remote host
219
- */
220
- const response = record.response || {
221
- timing: null,
222
- fromServiceWorker: false,
223
- };
224
- const toMilliseconds = (time) => (time === -1 ? -1 : time * 1000);
225
- const calculateDiffInMs = (name, start, end) => {
226
- if (start < Number.MAX_VALUE && start <= end) {
227
- result[name] = toMilliseconds(end - start);
228
- }
229
- };
230
- const firstPositive = (numbers) => {
231
- for (let i = 0; i < numbers.length; ++i) {
232
- if (numbers[i] > 0) {
233
- return numbers[i];
234
- }
235
- }
236
- return null;
237
- };
238
- /**
239
- * requestTime is baseline in seconds, rest of the timing data are ticks in milliseconds
240
- * from the requestTime, so we calculate the offset from that
241
- */
242
- const addOffsetRange = (name, start, end) => {
243
- if (start >= 0 && end >= 0) {
244
- calculateDiffInMs(name, startTime + start / 1000, startTime + end / 1000);
245
- }
246
- };
247
- const timing = response.timing;
248
- const actResRcvdTime = this.getResponseReceivedTime(timing, responseReceivedTime);
249
- const issueTime = requestSentTime;
250
- const startTime = timing == null ? -1 : timing.requestTime;
251
- const endTime = firstPositive([loadEndTime, actResRcvdTime]) || startTime;
252
- if (timing == null) {
253
- const start = issueTime !== -1 ? issueTime : startTime !== -1 ? startTime : 0;
254
- const middle = actResRcvdTime === -1 ? Number.MAX_VALUE : actResRcvdTime;
255
- const end = endTime === -1 ? Number.MAX_VALUE : endTime;
256
- calculateDiffInMs('total', start, end);
257
- calculateDiffInMs('blocked', start, middle);
258
- calculateDiffInMs('receive', middle, end);
259
- // Check if the request is blocked/stalled for the whole timeframe and
260
- // calculate timings appropriately for that request
261
- if (!isFinite(result['blocked'])) {
262
- result['blocked'] = result['total'];
263
- }
264
- return result;
225
+ const startTime = timing.requestTime;
226
+ const headersReceivedTime = startTime + timing.receiveHeadersEnd / 1000;
227
+ if (responseReceivedTime < 0 || responseReceivedTime > headersReceivedTime) {
228
+ responseReceivedTime = headersReceivedTime;
229
+ }
230
+ if (startTime > responseReceivedTime) {
231
+ responseReceivedTime = startTime;
232
+ }
233
+ return responseReceivedTime;
234
+ }
235
+ /**
236
+ * The timing calculations are based on the chrome devtools frontend
237
+ * https://github.com/ChromeDevTools/devtools-frontend/blob/7f5478d8ceb7586f23f4073ab5c2085dac1ec26a/front_end/network/RequestTimingView.js#L98-L193
238
+ */
239
+ function calculateTimings(record) {
240
+ const result = {
241
+ blocked: -1,
242
+ queueing: -1,
243
+ proxy: -1,
244
+ dns: -1,
245
+ ssl: -1,
246
+ connect: -1,
247
+ send: -1,
248
+ wait: -1,
249
+ receive: -1,
250
+ total: -1,
251
+ };
252
+ const toMilliseconds = (time) => (time === -1 ? -1 : time * 1000);
253
+ const calculateDiffInMs = (name, start, end) => {
254
+ if (start < Number.MAX_VALUE && start <= end) {
255
+ result[name] = toMilliseconds(end - start);
265
256
  }
266
- calculateDiffInMs('total', issueTime < startTime ? issueTime : startTime, endTime);
267
- if (issueTime < startTime) {
268
- calculateDiffInMs('queueing', issueTime, startTime);
257
+ };
258
+ const firstPositive = (numbers) => {
259
+ for (let i = 0; i < numbers.length; ++i) {
260
+ if (numbers[i] > 0) {
261
+ return numbers[i];
262
+ }
269
263
  }
270
- const responseReceived = toMilliseconds(actResRcvdTime - startTime);
271
- if (response.fromServiceWorker) {
272
- addOffsetRange('blocked', 0, timing.workerStart);
273
- addOffsetRange('wait', timing.sendEnd, responseReceived);
264
+ return null;
265
+ };
266
+ /**
267
+ * requestTime is baseline in seconds, rest of the timing data are ticks in milliseconds
268
+ * from the requestTime, so we calculate the offset from that
269
+ */
270
+ const addOffsetRange = (name, start, end) => {
271
+ if (start >= 0 && end >= 0) {
272
+ calculateDiffInMs(name, startTime + start / 1000, startTime + end / 1000);
274
273
  }
275
- else if (!timing.pushStart) {
276
- const blockingEnd = firstPositive([
277
- timing.dnsStart,
278
- timing.connectStart,
279
- timing.sendStart,
280
- responseReceived,
281
- ]) || 0;
282
- addOffsetRange('blocked', 0, blockingEnd);
283
- addOffsetRange('proxy', timing.proxyStart, timing.proxyEnd);
284
- addOffsetRange('dns', timing.dnsStart, timing.dnsEnd);
285
- addOffsetRange('connect', timing.connectStart, timing.connectEnd);
286
- addOffsetRange('ssl', timing.sslStart, timing.sslEnd);
287
- addOffsetRange('send', timing.sendStart, timing.sendEnd);
288
- addOffsetRange('wait', Math.max(timing.sendEnd, timing.connectEnd, timing.dnsEnd, timing.proxyEnd, blockingEnd), responseReceived);
274
+ };
275
+ const { requestSentTime, loadEndTime, responseReceivedTime, response } = record;
276
+ const timing = response.timing;
277
+ const actResRcvdTime = getResponseReceivedTime(timing, responseReceivedTime);
278
+ const issueTime = requestSentTime;
279
+ const startTime = timing == null ? -1 : timing.requestTime;
280
+ const endTime = firstPositive([loadEndTime, actResRcvdTime]) || startTime;
281
+ if (timing == null) {
282
+ const start = issueTime !== -1 ? issueTime : startTime !== -1 ? startTime : 0;
283
+ const middle = actResRcvdTime === -1 ? Number.MAX_VALUE : actResRcvdTime;
284
+ const end = endTime === -1 ? Number.MAX_VALUE : endTime;
285
+ calculateDiffInMs('total', start, end);
286
+ calculateDiffInMs('blocked', start, middle);
287
+ calculateDiffInMs('receive', middle, end);
288
+ // Check if the request is blocked/stalled for the whole timeframe and
289
+ // calculate timings appropriately for that request
290
+ if (!isFinite(result['blocked'])) {
291
+ result['blocked'] = result['total'];
289
292
  }
290
- calculateDiffInMs('receive', actResRcvdTime, endTime);
291
293
  return result;
292
294
  }
293
- stop() {
294
- return this.results;
295
+ calculateDiffInMs('total', issueTime < startTime ? issueTime : startTime, endTime);
296
+ if (issueTime < startTime) {
297
+ calculateDiffInMs('queueing', issueTime, startTime);
298
+ }
299
+ const responseReceived = toMilliseconds(actResRcvdTime - startTime);
300
+ if (response.fromServiceWorker) {
301
+ addOffsetRange('blocked', 0, timing.workerStart);
302
+ addOffsetRange('wait', timing.sendEnd, responseReceived);
295
303
  }
304
+ else if (!timing.pushStart) {
305
+ const blockingEnd = firstPositive([
306
+ timing.dnsStart,
307
+ timing.connectStart,
308
+ timing.sendStart,
309
+ responseReceived,
310
+ ]) || 0;
311
+ addOffsetRange('blocked', 0, blockingEnd);
312
+ addOffsetRange('proxy', timing.proxyStart, timing.proxyEnd);
313
+ addOffsetRange('dns', timing.dnsStart, timing.dnsEnd);
314
+ addOffsetRange('connect', timing.connectStart, timing.connectEnd);
315
+ addOffsetRange('ssl', timing.sslStart, timing.sslEnd);
316
+ addOffsetRange('send', timing.sendStart, timing.sendEnd);
317
+ addOffsetRange('wait', Math.max(timing.sendEnd, timing.connectEnd, timing.dnsEnd, timing.proxyEnd, blockingEnd), responseReceived);
318
+ }
319
+ calculateDiffInMs('receive', actResRcvdTime, endTime);
320
+ return result;
296
321
  }
297
- exports.NetworkManager = NetworkManager;
322
+ exports.calculateTimings = calculateTimings;
298
323
  //# sourceMappingURL=network.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,8 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- import { CDPSession } from 'playwright-chromium';
26
- export interface Metrics {
25
+ import { Driver } from '../common_types';
26
+ export interface PageMetrics {
27
27
  Timestamp?: number;
28
28
  Documents?: number;
29
29
  Frames?: number;
@@ -39,11 +39,11 @@ export interface Metrics {
39
39
  JSHeapTotalSize?: number;
40
40
  }
41
41
  export declare class PerformanceManager {
42
- private client;
43
- constructor(client: CDPSession);
42
+ private driver;
43
+ constructor(driver: Driver);
44
44
  start(): Promise<void>;
45
45
  stop(): Promise<void>;
46
- getMetrics(): Promise<Metrics>;
46
+ getMetrics(): Promise<PageMetrics>;
47
47
  private buildMetricsObject;
48
48
  }
49
49
  //# sourceMappingURL=performance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/plugins/performance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAkBjD,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEhC,KAAK;IAIL,IAAI;IAIJ,UAAU;IAKhB,OAAO,CAAC,kBAAkB;CAO3B"}
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/plugins/performance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkBzC,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE5B,KAAK;IAIL,IAAI;IAIJ,UAAU;IAKhB,OAAO,CAAC,kBAAkB;CAO3B"}
@@ -41,17 +41,17 @@ const supportedMetrics = new Set([
41
41
  'JSHeapTotalSize',
42
42
  ]);
43
43
  class PerformanceManager {
44
- constructor(client) {
45
- this.client = client;
44
+ constructor(driver) {
45
+ this.driver = driver;
46
46
  }
47
47
  async start() {
48
- await this.client.send('Performance.enable');
48
+ await this.driver.client.send('Performance.enable');
49
49
  }
50
50
  async stop() {
51
- await this.client.send('Performance.disable');
51
+ await this.driver.client.send('Performance.disable');
52
52
  }
53
53
  async getMetrics() {
54
- const { metrics } = await this.client.send('Performance.getMetrics');
54
+ const { metrics } = await this.driver.client.send('Performance.getMetrics');
55
55
  return this.buildMetricsObject(metrics);
56
56
  }
57
57
  buildMetricsObject(metrics = []) {
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/plugins/performance.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAIH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACvC,WAAW;IACX,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,OAAO;IACP,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC;AAkBH,MAAa,kBAAkB;IAC7B,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAE1C,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,kBAAkB,CAAC,OAAO,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;SAC3E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvBD,gDAuBC"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/plugins/performance.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAIH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACvC,WAAW;IACX,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,OAAO;IACP,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC;AAkBH,MAAa,kBAAkB;IAC7B,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEtC,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,kBAAkB,CAAC,OAAO,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;SAC3E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvBD,gDAuBC"}
@@ -22,25 +22,25 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- import { NetworkInfo, FilmStrip } from '../common_types';
26
- import { BrowserConsole, BrowserMessage, NetworkManager, PerformanceManager, Tracing } from './';
27
- import { Driver } from '../core/gatherer';
25
+ import { PluginOutput, Driver } from '../common_types';
26
+ import { BrowserConsole, NetworkManager, PerformanceManager, Tracing, TraceOptions } from './';
28
27
  import { Step } from '../dsl';
29
28
  declare type PluginType = 'network' | 'trace' | 'performance' | 'browserconsole';
30
- declare type PluginOutput = {
31
- filmstrips?: Array<FilmStrip>;
32
- networkinfo?: Array<NetworkInfo>;
33
- browserconsole?: Array<BrowserMessage>;
34
- };
35
29
  declare type Plugin = NetworkManager | Tracing | PerformanceManager | BrowserConsole;
30
+ declare type PluginOptions = TraceOptions;
36
31
  export declare class PluginManager {
37
32
  private driver;
38
- protected plugins: Map<string, Plugin>;
33
+ protected plugins: Map<PluginType, Plugin>;
34
+ PLUGIN_TYPES: Array<PluginType>;
39
35
  constructor(driver: Driver);
36
+ register(type: PluginType, options: PluginOptions): Plugin;
37
+ registerAll(options: PluginOptions): void;
38
+ unregisterAll(): void;
39
+ stop(type: PluginType): Promise<void | import("../common_types").NetworkInfo[] | Partial<PluginOutput> | import("../common_types").BrowserMessage[]>;
40
40
  start(type: PluginType): Promise<Plugin>;
41
- get<T extends Plugin>(Type: new (...args: any[]) => T): T;
41
+ get(type: PluginType): Plugin;
42
42
  onStep(step: Step): void;
43
- output(): Promise<PluginOutput>;
43
+ output(): PluginOutput;
44
44
  }
45
45
  export {};
46
46
  //# sourceMappingURL=plugin-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EAER,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,aAAK,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEzE,aAAK,YAAY,GAAG;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAEF,aAAK,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE7E,qBAAa,aAAa;IAGZ,OAAO,CAAC,MAAM;IAF1B,SAAS,CAAC,OAAO,sBAA6B;gBAE1B,MAAM,EAAE,MAAM;IAE5B,KAAK,CAAC,IAAI,EAAE,UAAU;IAyB5B,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAIzD,MAAM,CAAC,IAAI,EAAE,IAAI;IAKX,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAkBtC"}
1
+ {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,YAAY,EACb,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,aAAK,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC;AACzE,aAAK,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAC7E,aAAK,aAAa,GAAG,YAAY,CAAC;AAElC,qBAAa,aAAa;IAQZ,OAAO,CAAC,MAAM;IAP1B,SAAS,CAAC,OAAO,0BAAiC;IAC3C,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAKpC;gBACkB,MAAM,EAAE,MAAM;IAElC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa;IAoBjD,WAAW,CAAC,OAAO,EAAE,aAAa;IAMlC,aAAa;IAMP,IAAI,CAAC,IAAI,EAAE,UAAU;IAQrB,KAAK,CAAC,IAAI,EAAE,UAAU;IAM5B,GAAG,CAAC,IAAI,EAAE,UAAU;IAIpB,MAAM,CAAC,IAAI,EAAE,IAAI;IAKjB,MAAM;CAWP"}
@@ -30,51 +30,67 @@ class PluginManager {
30
30
  constructor(driver) {
31
31
  this.driver = driver;
32
32
  this.plugins = new Map();
33
+ this.PLUGIN_TYPES = [
34
+ 'network',
35
+ 'trace',
36
+ 'performance',
37
+ 'browserconsole',
38
+ ];
33
39
  }
34
- async start(type) {
40
+ register(type, options) {
35
41
  let instance;
36
42
  switch (type) {
37
43
  case 'network':
38
- instance = new _1.NetworkManager();
39
- await instance.start(this.driver.client);
44
+ instance = new _1.NetworkManager(this.driver);
40
45
  break;
41
46
  case 'trace':
42
- instance = new _1.Tracing();
43
- await instance.start(this.driver.client);
47
+ instance = new _1.Tracing(this.driver, options);
44
48
  break;
45
49
  case 'performance':
46
- instance = new _1.PerformanceManager(this.driver.client);
47
- instance.start();
50
+ instance = new _1.PerformanceManager(this.driver);
48
51
  break;
49
52
  case 'browserconsole':
50
- instance = new _1.BrowserConsole(this.driver.page);
51
- instance.start();
53
+ instance = new _1.BrowserConsole(this.driver);
52
54
  break;
53
55
  }
54
- this.plugins.set(instance.constructor.name, instance);
56
+ instance && this.plugins.set(type, instance);
55
57
  return instance;
56
58
  }
57
- get(Type) {
58
- return this.plugins.get(Type.name);
59
+ registerAll(options) {
60
+ for (const type of this.PLUGIN_TYPES) {
61
+ this.register(type, options);
62
+ }
63
+ }
64
+ unregisterAll() {
65
+ for (const type of this.PLUGIN_TYPES) {
66
+ this.plugins.delete(type);
67
+ }
68
+ }
69
+ async stop(type) {
70
+ const instance = this.plugins.get(type);
71
+ if (instance) {
72
+ return await instance.stop();
73
+ }
74
+ return {};
75
+ }
76
+ async start(type) {
77
+ const instance = this.plugins.get(type);
78
+ instance && (await instance.start());
79
+ return instance;
80
+ }
81
+ get(type) {
82
+ return this.plugins.get(type);
59
83
  }
60
84
  onStep(step) {
61
- this.get(_1.BrowserConsole) && (this.get(_1.BrowserConsole)._currentStep = step);
62
- this.get(_1.NetworkManager) && (this.get(_1.NetworkManager)._currentStep = step);
85
+ this.get('browserconsole')._currentStep = step;
86
+ this.get('network')._currentStep = step;
63
87
  }
64
- async output() {
65
- const data = {
66
- filmstrips: [],
67
- networkinfo: [],
68
- browserconsole: null,
69
- };
88
+ output() {
89
+ const data = {};
70
90
  for (const [, plugin] of this.plugins) {
71
91
  if (plugin instanceof _1.NetworkManager) {
72
92
  data.networkinfo = plugin.stop();
73
93
  }
74
- else if (plugin instanceof _1.Tracing) {
75
- const result = await plugin.stop(this.driver.client);
76
- data.filmstrips = _1.filterFilmstrips(result);
77
- }
78
94
  else if (plugin instanceof _1.BrowserConsole) {
79
95
  data.browserconsole = plugin.stop();
80
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAGH,yBAOY;AAcZ,MAAa,aAAa;IAGxB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAFxB,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAET,CAAC;IAEtC,KAAK,CAAC,KAAK,CAAC,IAAgB;QAC1B,IAAI,QAAgB,CAAC;QACrB,QAAQ,IAAI,EAAE;YACZ,KAAK,SAAS;gBACZ,QAAQ,GAAG,IAAI,iBAAc,EAAE,CAAC;gBAChC,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,GAAG,IAAI,UAAO,EAAE,CAAC;gBACzB,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,aAAa;gBAChB,QAAQ,GAAG,IAAI,qBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtD,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM;YACR,KAAK,gBAAgB;gBACnB,QAAQ,GAAG,IAAI,iBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChD,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM;SACT;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,GAAG,CAAmB,IAA+B;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAM,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,CAAC,GAAG,CAAC,iBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAc,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,CAAC,iBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAc,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,IAAI;SACrB,CAAC;QACF,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YACrC,IAAI,MAAM,YAAY,iBAAc,EAAE;gBACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aAClC;iBAAM,IAAI,MAAM,YAAY,UAAO,EAAE;gBACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,UAAU,GAAG,mBAAgB,CAAC,MAAM,CAAC,CAAC;aAC5C;iBAAM,IAAI,MAAM,YAAY,iBAAc,EAAE;gBAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aACrC;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAzDD,sCAyDC"}
1
+ {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAGH,yBAMY;AAOZ,MAAa,aAAa;IAQxB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAPxB,YAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC3C,iBAAY,GAAsB;YACvC,SAAS;YACT,OAAO;YACP,aAAa;YACb,gBAAgB;SACjB,CAAC;IACmC,CAAC;IAEtC,QAAQ,CAAC,IAAgB,EAAE,OAAsB;QAC/C,IAAI,QAAgB,CAAC;QACrB,QAAQ,IAAI,EAAE;YACZ,KAAK,SAAS;gBACZ,QAAQ,GAAG,IAAI,iBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,GAAG,IAAI,UAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,aAAa;gBAChB,QAAQ,GAAG,IAAI,qBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,gBAAgB;gBACnB,QAAQ,GAAG,IAAI,iBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM;SACT;QACD,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,aAAa;QACX,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAgB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE;YACZ,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC9B;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAgB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,IAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAU;QACd,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAoB,CAAC,YAAY,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAoB,CAAC,YAAY,GAAG,IAAI,CAAC;IAC9D,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YACrC,IAAI,MAAM,YAAY,iBAAc,EAAE;gBACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aAClC;iBAAM,IAAI,MAAM,YAAY,iBAAc,EAAE;gBAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aACrC;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA5ED,sCA4EC"}