appium-webdriveragent 7.1.2 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [7.3.0](https://github.com/appium/WebDriverAgent/compare/v7.2.0...v7.3.0) (2024-03-23)
2
+
3
+
4
+ ### Features
5
+
6
+ * Support prebuiltWDAPath for iOS 17 ([#868](https://github.com/appium/WebDriverAgent/issues/868)) ([39194d4](https://github.com/appium/WebDriverAgent/commit/39194d4ac6d0072c1214088ff5c15c986969914c))
7
+
8
+ ## [7.2.0](https://github.com/appium/WebDriverAgent/compare/v7.1.2...v7.2.0) (2024-03-21)
9
+
10
+
11
+ ### Features
12
+
13
+ * Enable usePreinstalledWDA feature for simulators ([#866](https://github.com/appium/WebDriverAgent/issues/866)) ([7c684e2](https://github.com/appium/WebDriverAgent/commit/7c684e2def9dd968de1cf89e4ec26403a52ba805))
14
+
1
15
  ## [7.1.2](https://github.com/appium/WebDriverAgent/compare/v7.1.1...v7.1.2) (2024-03-14)
2
16
 
3
17
 
@@ -24,6 +24,7 @@ export class WebDriverAgent {
24
24
  derivedDataPath: any;
25
25
  mjpegServerPort: any;
26
26
  updatedWDABundleId: any;
27
+ wdaLaunchTimeout: any;
27
28
  usePreinstalledWDA: any;
28
29
  xctestApiClient: any;
29
30
  xcodebuild: XcodeBuild | null;
@@ -68,7 +69,6 @@ export class WebDriverAgent {
68
69
  * }
69
70
  *
70
71
  * @return {Promise<any?>} State Object
71
- * @throws {Error} If there was invalid response code or body
72
72
  */
73
73
  getStatus(): Promise<any | null>;
74
74
  /**
@@ -78,6 +78,28 @@ export class WebDriverAgent {
78
78
  */
79
79
  uninstall(): Promise<void>;
80
80
  _cleanupProjectIfFresh(): Promise<void>;
81
+ /**
82
+ * @typedef {Object} LaunchWdaViaDeviceCtlOptions
83
+ * @property {Record<string, string|number>} [env] environment variables for the launching WDA process
84
+ */
85
+ /**
86
+ * Launch WDA with preinstalled package with 'xcrun devicectl device process launch'.
87
+ * The WDA package must be prepared properly like published via
88
+ * https://github.com/appium/WebDriverAgent/releases
89
+ * with proper sign for this case.
90
+ *
91
+ * When we implement launching XCTest service via appium-ios-device,
92
+ * this implementation can be replaced with it.
93
+ *
94
+ * @param {LaunchWdaViaDeviceCtlOptions} [opts={}] launching WDA with devicectl command options.
95
+ * @return {Promise<void>}
96
+ */
97
+ _launchViaDevicectl(opts?: {
98
+ /**
99
+ * environment variables for the launching WDA process
100
+ */
101
+ env?: Record<string, string | number> | undefined;
102
+ } | undefined): Promise<void>;
81
103
  /**
82
104
  * Launch WDA with preinstalled package without xcodebuild.
83
105
  * @param {string} sessionId Launch WDA and establish the session with this sessionId
@@ -1 +1 @@
1
- {"version":3,"file":"webdriveragent.d.ts","sourceRoot":"","sources":["../../lib/webdriveragent.js"],"names":[],"mappings":";AA4BA;IACE,sDAqEC;IApEC,kBAAgC;IAEhC,SAAyB;IACzB,0CAA+B;IAE/B,YAAyB;IACzB,qBAA2C;IAC3C,kBAAqC;IACrC,mBAAuC;IACvC,UAAqB;IACrB,sBAAqC;IACrC,SAAkC;IAClC,mBAAuC;IAIvC,kBAAqC;IACrC,mBAAwD;IACxD,gBAAiD;IAEjD,iBAAmC;IAKnC,uBAA+C;IAE/C,iBAAoB;IAEpB,0BAAqD;IAErD,sBAA6C;IAC7C,oBAAyC;IACzC,qBAA2C;IAC3C,qBAA2C;IAE3C,wBAAiD;IAEjD,wBAAiD;IACjD,qBAA2B;IAE3B,8BA0Bc;IAGhB;;;OAGG;IACH,iCAIC;IAED;;;OAGG;IACH,gCAEC;IAED,sDASC;IANC,mBAAoD;IAIpD,eAA0F;IAI5F,0CAmBC;IAED;;;;OAIG;IACH,aAHY,QAAQ,OAAO,CAAC,CAK3B;IAED,oBAKC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAHY,QAAQ,GAAG,QAAE,CAgBxB;IAED;;;;OAIG;IACH,2BAiBC;IAED,wCA4DC;IAED;;;;OAIG;IACH,qCAHW,MAAM,GACL,QAAQ,GAAG,QAAE,CAmBxB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,kBAJW,MAAM,GACL,QAAQ,GAAG,QAAE,CAsDxB;IAmHD,mBAEC;IAfD,eAWC;IA/GD,6BAYC;IAED,gDAOC;IAED;;;;OAQC;IAED,kCAWC;IAED,kCAMC;IAED,mCAeC;IALC,6BAAqC;IAErC,iBAA8D;IAE9D,2CAAmD;IAGrD,sBA2BC;IAKK,UAA6C;IAkBnD,mCAEC;IAND,4BAEC;IAMD,wCAMC;IAED;;;;OAIG;IACH,8BAoCC;IAED;;OAEG;IACH,kCAGC;CACF;uBAjjBsB,cAAc;wBAPb,qBAAqB;+BAGd,oBAAoB"}
1
+ {"version":3,"file":"webdriveragent.d.ts","sourceRoot":"","sources":["../../lib/webdriveragent.js"],"names":[],"mappings":";AA6BA;IACE,sDAsEC;IArEC,kBAAgC;IAEhC,SAAyB;IACzB,0CAA+B;IAE/B,YAAyB;IACzB,qBAA2C;IAC3C,kBAAqC;IACrC,mBAAuC;IACvC,UAAqB;IACrB,sBAAqC;IACrC,SAAkC;IAClC,mBAAuC;IAIvC,kBAAqC;IACrC,mBAAwD;IACxD,gBAAiD;IAEjD,iBAAmC;IAKnC,uBAA+C;IAE/C,iBAAoB;IAEpB,0BAAqD;IAErD,sBAA6C;IAC7C,oBAAyC;IACzC,qBAA2C;IAC3C,qBAA2C;IAE3C,wBAAiD;IAEjD,sBAAmE;IACnE,wBAAiD;IACjD,qBAA2B;IAE3B,8BA0Bc;IAGhB;;;OAGG;IACH,iCAIC;IAED;;;OAGG;IACH,gCAEC;IAED,sDASC;IANC,mBAAoD;IAIpD,eAA0F;IAI5F,0CAmBC;IAED;;;;OAIG;IACH,aAHY,QAAQ,OAAO,CAAC,CAK3B;IAED,oBAKC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAFY,QAAQ,GAAG,QAAE,CAexB;IAED;;;;OAIG;IACH,2BAiBC;IAED,wCA4DC;IAGD;;;OAGG;IAEH;;;;;;;;;;;OAWG;IACH;;;;;oBAFY,QAAQ,IAAI,CAAC,CAiDxB;IAED;;;;OAIG;IACH,qCAHW,MAAM,GACL,QAAQ,GAAG,QAAE,CAoCxB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,kBAJW,MAAM,GACL,QAAQ,GAAG,QAAE,CAmDxB;IAyHD,mBAEC;IAfD,eAWC;IArHD,6BAYC;IAED,gDAOC;IAED;;;;OAQC;IAED,kCAWC;IAED,kCAMC;IAED,mCAeC;IALC,6BAAqC;IAErC,iBAA8D;IAE9D,2CAAmD;IAGrD,sBAiCC;IAKK,UAA6C;IAkBnD,mCAEC;IAND,4BAEC;IAMD,wCAMC;IAED;;;;OAIG;IACH,8BAoCC;IAED;;OAEG;IACH,kCAGC;CACF;uBAxoBsB,cAAc;wBAPb,qBAAqB;+BAGd,oBAAoB"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.WebDriverAgent = void 0;
7
+ const asyncbox_1 = require("asyncbox");
7
8
  const lodash_1 = __importDefault(require("lodash"));
8
9
  const path_1 = __importDefault(require("path"));
9
10
  const url_1 = __importDefault(require("url"));
@@ -54,6 +55,7 @@ class WebDriverAgent {
54
55
  this.derivedDataPath = args.derivedDataPath;
55
56
  this.mjpegServerPort = args.mjpegServerPort;
56
57
  this.updatedWDABundleId = args.updatedWDABundleId;
58
+ this.wdaLaunchTimeout = args.wdaLaunchTimeout || WDA_LAUNCH_TIMEOUT;
57
59
  this.usePreinstalledWDA = args.usePreinstalledWDA;
58
60
  this.xctestApiClient = null;
59
61
  this.xcodebuild = this.canSkipXcodebuild
@@ -74,7 +76,7 @@ class WebDriverAgent {
74
76
  useSimpleBuildTest: args.useSimpleBuildTest,
75
77
  usePrebuiltWDA: args.usePrebuiltWDA,
76
78
  updatedWDABundleId: this.updatedWDABundleId,
77
- launchTimeout: args.wdaLaunchTimeout || WDA_LAUNCH_TIMEOUT,
79
+ launchTimeout: this.wdaLaunchTimeout,
78
80
  wdaRemotePort: this.wdaRemotePort,
79
81
  useXctestrunFile: this.useXctestrunFile,
80
82
  derivedDataPath: args.derivedDataPath,
@@ -161,7 +163,6 @@ class WebDriverAgent {
161
163
  * }
162
164
  *
163
165
  * @return {Promise<any?>} State Object
164
- * @throws {Error} If there was invalid response code or body
165
166
  */
166
167
  async getStatus() {
167
168
  const noSessionProxy = new no_session_proxy_1.NoSessionProxy({
@@ -259,6 +260,63 @@ class WebDriverAgent {
259
260
  this.log.warn(`Cannot perform WebDriverAgent project cleanup. Original error: ${e.message}`);
260
261
  }
261
262
  }
263
+ /**
264
+ * @typedef {Object} LaunchWdaViaDeviceCtlOptions
265
+ * @property {Record<string, string|number>} [env] environment variables for the launching WDA process
266
+ */
267
+ /**
268
+ * Launch WDA with preinstalled package with 'xcrun devicectl device process launch'.
269
+ * The WDA package must be prepared properly like published via
270
+ * https://github.com/appium/WebDriverAgent/releases
271
+ * with proper sign for this case.
272
+ *
273
+ * When we implement launching XCTest service via appium-ios-device,
274
+ * this implementation can be replaced with it.
275
+ *
276
+ * @param {LaunchWdaViaDeviceCtlOptions} [opts={}] launching WDA with devicectl command options.
277
+ * @return {Promise<void>}
278
+ */
279
+ async _launchViaDevicectl(opts = {}) {
280
+ // FIXME: use appium-xcuitest-driver's Devicectl. Maybe it needs to be included in the `this.device`?
281
+ //
282
+ const { env } = opts;
283
+ let xcrunBinnaryPath;
284
+ try {
285
+ xcrunBinnaryPath = await support_1.fs.which('xcrun');
286
+ }
287
+ catch (e) {
288
+ throw new Error(`xcrun has not been found in PATH. ` +
289
+ `Please make sure XCode development tools are installed`);
290
+ }
291
+ const cmd = [
292
+ 'devicectl',
293
+ 'device',
294
+ 'process',
295
+ 'launch',
296
+ `--device`, this.device.udid,
297
+ '--terminate-existing'
298
+ ];
299
+ if (!lodash_1.default.isEmpty(env)) {
300
+ cmd.push('--environment-variables', JSON.stringify(lodash_1.default.mapValues(env, (v) => lodash_1.default.toString(v))));
301
+ }
302
+ ;
303
+ cmd.push(this.bundleIdForXctest);
304
+ const { stdout } = await (0, teen_process_1.exec)(xcrunBinnaryPath, cmd);
305
+ this.log.debug(`The output of devicectl command: ${stdout}`);
306
+ // Launching app via decictl does not wait for the app start.
307
+ // We should wait for the app start by ourselves.
308
+ try {
309
+ await (0, asyncbox_1.waitForCondition)(async () => !lodash_1.default.isNull(await this.getStatus()), {
310
+ waitMs: this.wdaLaunchTimeout,
311
+ intervalMs: 300,
312
+ });
313
+ }
314
+ catch (err) {
315
+ throw new Error(`Failed to start the preinstalled WebDriverAgent in ${this.wdaLaunchTimeout} ms. ` +
316
+ `The WebDriverAgent might not be properly built or the device might be locked. ` +
317
+ 'appium:wdaLaunchTimeout capability modifies the timeout.');
318
+ }
319
+ }
262
320
  /**
263
321
  * Launch WDA with preinstalled package without xcodebuild.
264
322
  * @param {string} sessionId Launch WDA and establish the session with this sessionId
@@ -273,8 +331,28 @@ class WebDriverAgent {
273
331
  xctestEnv.MJPEG_SERVER_PORT = this.mjpegServerPort;
274
332
  }
275
333
  this.log.info('Launching WebDriverAgent on the device without xcodebuild');
276
- this.xctestApiClient = new appium_ios_device_1.Xctest(this.device.udid, this.bundleIdForXctest, null, { env: xctestEnv });
277
- await this.xctestApiClient.start();
334
+ if (this.isRealDevice) {
335
+ // Current method to launch WDA process can be done via 'xcrun devicectl',
336
+ // but it has limitation about the WDA preinstalled package.
337
+ // https://github.com/appium/appium/issues/19206#issuecomment-2014182674
338
+ if (support_1.util.compareVersions(this.platformVersion, '>=', '17.0')) {
339
+ await this._launchViaDevicectl({ env: xctestEnv });
340
+ }
341
+ else {
342
+ this.xctestApiClient = new appium_ios_device_1.Xctest(this.device.udid, this.bundleIdForXctest, null, { env: xctestEnv });
343
+ await this.xctestApiClient.start();
344
+ }
345
+ }
346
+ else {
347
+ await this.device.simctl.exec('launch', {
348
+ args: [
349
+ '--terminate-running-process',
350
+ this.device.udid,
351
+ this.bundleIdForXctest,
352
+ ],
353
+ env: xctestEnv,
354
+ });
355
+ }
278
356
  this.setupProxies(sessionId);
279
357
  const status = await this.getStatus();
280
358
  this.started = true;
@@ -311,10 +389,7 @@ class WebDriverAgent {
311
389
  return await this.getStatus();
312
390
  }
313
391
  if (this.usePreinstalledWDA) {
314
- if (this.isRealDevice) {
315
- return await this.launchWithPreinstalledWDA(sessionId);
316
- }
317
- throw new Error('usePreinstalledWDA is available only for a real device.');
392
+ return await this.launchWithPreinstalledWDA(sessionId);
318
393
  }
319
394
  this.log.info('Launching WebDriverAgent on the device');
320
395
  this.setupProxies(sessionId);
@@ -410,11 +485,19 @@ class WebDriverAgent {
410
485
  }
411
486
  async quit() {
412
487
  if (this.usePreinstalledWDA) {
488
+ this.log.info('Stopping the XCTest session');
413
489
  if (this.xctestApiClient) {
414
- this.log.info('Stopping the XCTest session');
415
490
  this.xctestApiClient.stop();
416
491
  this.xctestApiClient = null;
417
492
  }
493
+ else {
494
+ try {
495
+ await this.device.simctl.terminateApp(this.bundleIdForXctest);
496
+ }
497
+ catch (e) {
498
+ this.log.warn(e.message);
499
+ }
500
+ }
418
501
  }
419
502
  else if (!this.args.webDriverAgentUrl) {
420
503
  this.log.info('Shutting down sub-processes');
@@ -1 +1 @@
1
- {"version":3,"file":"webdriveragent.js","sourceRoot":"","sources":["../../lib/webdriveragent.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webdriveragent.js","sourceRoot":"","sources":["../../lib/webdriveragent.js"],"names":[],"mappings":";;;;;;AAAA,uCAA4C;AAC5C,oDAAuB;AACvB,gDAAwB;AACxB,8CAAsB;AACtB,wDAAyB;AACzB,qDAA8C;AAC9C,6CAAkD;AAClD,sDAAqC;AACrC,yDAAoD;AACpD,mCAEiB;AACjB,8DAAsC;AACtC,4DAAmC;AACnC,+CAAoC;AACpC,6DAAoD;AACpD,2CAGqB;AACrB,yDAAyC;AACzC,iDAA4C;AAE5C,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AACzD,MAAM,sBAAsB,GAAG,IAAI,oBAAS,EAAE,CAAC;AAC/C,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEjE,MAAM,cAAc;IAClB,YAAa,YAAY,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI;QAC9C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,gBAAa,CAAC;QAEhC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAExC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,wBAAY,CAAC;QAElD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAEpC,mEAAmE;QACnE,+DAA+D;QAC/D,iDAAiD;QACjD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEhD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAEtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAE5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAElD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB;YACxC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,oBAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,IAAI,CAAC,YAAY;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,aAAa,EAAE,IAAI,CAAC,gBAAgB;gBACpC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,mCAAmC,EAAE,IAAI,CAAC,mCAAmC;gBAC7E,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACnB,+CAA+C;QAC/C,4DAA4D;QAC5D,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,YAAY,CAAC,CAAC,CAAC,2CAA+B,CAAC;IAC5G,CAAC;IAED,WAAW,CAAE,aAAa,EAAE,SAAS;QACnC,sEAAsE;QACtE,2DAA2D;QAC3D,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,sBAAc,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAEzD,yEAAyE;QACzE,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;QAC3F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAsB,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAC7D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpD,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAErE,IAAI,gBAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0DAA0D;gBACvE,qBAAqB,IAAI,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,MAAM,2BAA2B,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG;YAC9G,8CAA8C,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,IAAA,mBAAI,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,KAAK;gBAChH,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,cAAc,GAAG,IAAI,iCAAc,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;YACzB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;YACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qCAAqC,CAAC,kBAAkB,CAAC,CAAC;YAC9F,IAAI,gBAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,SAAS,GAAG,CAAC,CAAC;YACpD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uEAAuE;gBACnF,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,sBAAc,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,sCAA0B,CAAC,CAAC;YACvF,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,yEAAyE;gBACzE,qEAAqE;gBACrE,qEAAqE;gBACrE,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;gBACpF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7E,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,mBAAmB,CAAC,+BAA+B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBACtF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,mBAAmB,GAAG,cAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,OAAO,6CAA6C,CAAC,CAAC;YACnG,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,cAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,6EAA6E;gBAC7E,IAAI,mBAAmB,OAAO,WAAW,CAAC,OAAO,GAAG,CACrD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,+EAA+E;YAC/E,IAAI,mBAAmB,MAAM,WAAW,CAAC,OAAO,GAAG,CACpD,CAAC;QACF,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAGD;;;OAGG;IAEH;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,mBAAmB,CAAC,IAAI,GAAG,EAAE;QACjC,qGAAqG;QACrG,EAAE;QAEF,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;QAEnB,IAAI,gBAAgB,CAAC;QACrB,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,YAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,oCAAoC;gBAClC,wDAAwD,CAC3D,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG;YACV,WAAW;YACX,QAAQ;YACR,SAAS;YACT,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC5B,sBAAsB;SACvB,CAAC;QACF,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,CAAC;QAAA,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEjC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;QAE7D,6DAA6D;QAC7D,iDAAiD;QACjD,IAAI,CAAC;YACH,MAAM,IAAA,2BAAgB,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC,gBAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;gBACpE,MAAM,EAAE,IAAI,CAAC,gBAAgB;gBAC7B,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAC,gBAAgB,OAAO;gBAClF,gFAAgF;gBAChF,0DAA0D,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAAC,SAAS;QACvC,MAAM,SAAS,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,IAAI,cAAc;YAC7C,6BAA6B,EAAE,IAAI,CAAC,iBAAiB;SACtD,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,0EAA0E;YAC1E,4DAA4D;YAC5D,wEAAwE;YACxE,IAAI,cAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAC,GAAG,EAAE,SAAS,EAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,GAAG,IAAI,0BAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAC,GAAG,EAAE,SAAS,EAAC,CAAC,CAAC;gBACpG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtC,IAAI,EAAE;oBACJ,6BAA6B;oBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI;oBAChB,IAAI,CAAC,iBAAiB;iBACvB;gBACD,GAAG,EAAE,SAAS;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,MAAM,CAAE,SAAS;QACrB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC9E,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,SAAS,YAAY;gBACtE,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,gEAAgE;QAChE,0BAA0B;QAC1B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,GAAG,cAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9D,MAAM,sBAAsB,CAAC,OAAO,CAAC,kBAAkB,EACrD,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,kEAAkE;QAClE,MAAM,IAAA,0BAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,CAAC;QAED,sCAAsC;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhD,+BAA+B;QAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,sCAAsC;YACtC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;QACD,sCAAsC;QACtC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;QACxG,MAAM,EAAC,WAAW,EAAE,YAAY,EAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG;YACV,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,6BAA6B,EAAE,IAAI,CAAC,kBAAkB;SACvD,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,aAAa,CAAE,aAAa;QAChC,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,eAAK,CAAC,UAAU,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,gCAAgC,aAAa,GAAG,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC,kBAAkB,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,6BAA6B,CAAC,CAAC,CAAC;QAC5H,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,MAAM,IAAA,iCAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,QAAQ,0BAAc,GAAG,EAAE;YACrF,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,gBAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,cAAc,GAAG;YACrB,WAAW;YACX,YAAY,cAAI,CAAC,GAAG,uBAAuB;SAC5C,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAE,CAAC,MAAM,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,MAAM,kBAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,YAAY,CAAE,SAAS;QACrB,MAAM,SAAS,GAAG;YAChB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;YACzB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;YACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,SAAS,EAAE,IAAI;SAChB,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAO,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/D,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAc,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C;gBACzD,0DAA0D,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjC,+EAA+E;YAC/E,kEAAkE;YAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,GAAG,aAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC;gBACjD,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,aAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAY,CAAC,CAAC;gBACxE,IAAI,CAAC,IAAI,GAAG,aAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAE,IAAI;QACX,IAAI,CAAC,IAAI,GAAG,aAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY,CAAE,OAAO;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,sCAAsC;QACtC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,EACJ,uBAAuB,EACvB,UAAU,GACX,GAAG,MAAM,CAAC,KAAK,CAAC;QACjB,kBAAkB;QAClB,IAAI,cAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,kBAAkB,KAAK,uBAAuB,EAAE,CAAC;YAC5I,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qFAAqF,uBAAuB,IAAI,CAAC,CAAC;YAChI,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;QACD,gBAAgB;QAChB,IAAI,cAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,gCAAoB,KAAK,uBAAuB,EAAE,CAAC;YAC1I,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oFAAoF,gCAAoB,EAAE,CAAC,CAAC;YAC1H,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,sBAAsB,GAAG,MAAM,IAAA,8BAAsB,GAAE,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mDAAmD,sBAAsB,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,UAAU,EAAE,CAAC,CAAC;QAC5E,IAAI,sBAAsB,IAAI,UAAU,IAAI,gBAAC,CAAC,OAAO,CAAC,GAAG,sBAAsB,EAAE,CAAC,KAAK,gBAAC,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC;YAClH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qFAAqF;gBACjG,wDAAwD,sBAAsB,OAAO,UAAU,GAAG,CAAC,CAAC;YACtG,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,OAAO,GAAG,cAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpD,CAAC,CAAC,iDAAiD,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,uBAAuB,GAAG;YACrG,CAAC,CAAC,iDAAiD,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,+DAA+D,IAAI,CAAC,GAAG,CAAC,IAAI,oCAAoC,CAAC,CAAC;QAC1I,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;CACF;AAGQ,wCAAc;AADvB,kBAAe,cAAc,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { waitForCondition } from 'asyncbox';
1
2
  import _ from 'lodash';
2
3
  import path from 'path';
3
4
  import url from 'url';
@@ -66,6 +67,7 @@ class WebDriverAgent {
66
67
 
67
68
  this.updatedWDABundleId = args.updatedWDABundleId;
68
69
 
70
+ this.wdaLaunchTimeout = args.wdaLaunchTimeout || WDA_LAUNCH_TIMEOUT;
69
71
  this.usePreinstalledWDA = args.usePreinstalledWDA;
70
72
  this.xctestApiClient = null;
71
73
 
@@ -87,7 +89,7 @@ class WebDriverAgent {
87
89
  useSimpleBuildTest: args.useSimpleBuildTest,
88
90
  usePrebuiltWDA: args.usePrebuiltWDA,
89
91
  updatedWDABundleId: this.updatedWDABundleId,
90
- launchTimeout: args.wdaLaunchTimeout || WDA_LAUNCH_TIMEOUT,
92
+ launchTimeout: this.wdaLaunchTimeout,
91
93
  wdaRemotePort: this.wdaRemotePort,
92
94
  useXctestrunFile: this.useXctestrunFile,
93
95
  derivedDataPath: args.derivedDataPath,
@@ -184,7 +186,6 @@ class WebDriverAgent {
184
186
  * }
185
187
  *
186
188
  * @return {Promise<any?>} State Object
187
- * @throws {Error} If there was invalid response code or body
188
189
  */
189
190
  async getStatus () {
190
191
  const noSessionProxy = new NoSessionProxy({
@@ -287,6 +288,73 @@ class WebDriverAgent {
287
288
  }
288
289
  }
289
290
 
291
+
292
+ /**
293
+ * @typedef {Object} LaunchWdaViaDeviceCtlOptions
294
+ * @property {Record<string, string|number>} [env] environment variables for the launching WDA process
295
+ */
296
+
297
+ /**
298
+ * Launch WDA with preinstalled package with 'xcrun devicectl device process launch'.
299
+ * The WDA package must be prepared properly like published via
300
+ * https://github.com/appium/WebDriverAgent/releases
301
+ * with proper sign for this case.
302
+ *
303
+ * When we implement launching XCTest service via appium-ios-device,
304
+ * this implementation can be replaced with it.
305
+ *
306
+ * @param {LaunchWdaViaDeviceCtlOptions} [opts={}] launching WDA with devicectl command options.
307
+ * @return {Promise<void>}
308
+ */
309
+ async _launchViaDevicectl(opts = {}) {
310
+ // FIXME: use appium-xcuitest-driver's Devicectl. Maybe it needs to be included in the `this.device`?
311
+ //
312
+
313
+ const {env} = opts;
314
+
315
+ let xcrunBinnaryPath;
316
+ try {
317
+ xcrunBinnaryPath = await fs.which('xcrun');
318
+ } catch (e) {
319
+ throw new Error(
320
+ `xcrun has not been found in PATH. ` +
321
+ `Please make sure XCode development tools are installed`,
322
+ );
323
+ }
324
+
325
+ const cmd = [
326
+ 'devicectl',
327
+ 'device',
328
+ 'process',
329
+ 'launch',
330
+ `--device`, this.device.udid,
331
+ '--terminate-existing'
332
+ ];
333
+ if (!_.isEmpty(env)) {
334
+ cmd.push('--environment-variables', JSON.stringify(_.mapValues(env, (v) => _.toString(v))));
335
+ };
336
+ cmd.push(this.bundleIdForXctest);
337
+
338
+ const {stdout} = await exec(xcrunBinnaryPath, cmd);
339
+ this.log.debug(`The output of devicectl command: ${stdout}`);
340
+
341
+ // Launching app via decictl does not wait for the app start.
342
+ // We should wait for the app start by ourselves.
343
+ try {
344
+ await waitForCondition(async () => !_.isNull(await this.getStatus()), {
345
+ waitMs: this.wdaLaunchTimeout,
346
+ intervalMs: 300,
347
+ });
348
+
349
+ } catch (err) {
350
+ throw new Error(
351
+ `Failed to start the preinstalled WebDriverAgent in ${this.wdaLaunchTimeout} ms. ` +
352
+ `The WebDriverAgent might not be properly built or the device might be locked. ` +
353
+ 'appium:wdaLaunchTimeout capability modifies the timeout.'
354
+ );
355
+ }
356
+ }
357
+
290
358
  /**
291
359
  * Launch WDA with preinstalled package without xcodebuild.
292
360
  * @param {string} sessionId Launch WDA and establish the session with this sessionId
@@ -301,9 +369,26 @@ class WebDriverAgent {
301
369
  xctestEnv.MJPEG_SERVER_PORT = this.mjpegServerPort;
302
370
  }
303
371
  this.log.info('Launching WebDriverAgent on the device without xcodebuild');
304
- this.xctestApiClient = new Xctest(this.device.udid, this.bundleIdForXctest, null, {env: xctestEnv});
305
-
306
- await this.xctestApiClient.start();
372
+ if (this.isRealDevice) {
373
+ // Current method to launch WDA process can be done via 'xcrun devicectl',
374
+ // but it has limitation about the WDA preinstalled package.
375
+ // https://github.com/appium/appium/issues/19206#issuecomment-2014182674
376
+ if (util.compareVersions(this.platformVersion, '>=', '17.0')) {
377
+ await this._launchViaDevicectl({env: xctestEnv});
378
+ } else {
379
+ this.xctestApiClient = new Xctest(this.device.udid, this.bundleIdForXctest, null, {env: xctestEnv});
380
+ await this.xctestApiClient.start();
381
+ }
382
+ } else {
383
+ await this.device.simctl.exec('launch', {
384
+ args: [
385
+ '--terminate-running-process',
386
+ this.device.udid,
387
+ this.bundleIdForXctest,
388
+ ],
389
+ env: xctestEnv,
390
+ });
391
+ }
307
392
 
308
393
  this.setupProxies(sessionId);
309
394
  const status = await this.getStatus();
@@ -343,10 +428,7 @@ class WebDriverAgent {
343
428
  }
344
429
 
345
430
  if (this.usePreinstalledWDA) {
346
- if (this.isRealDevice) {
347
- return await this.launchWithPreinstalledWDA(sessionId);
348
- }
349
- throw new Error('usePreinstalledWDA is available only for a real device.');
431
+ return await this.launchWithPreinstalledWDA(sessionId);
350
432
  }
351
433
 
352
434
  this.log.info('Launching WebDriverAgent on the device');
@@ -460,10 +542,16 @@ class WebDriverAgent {
460
542
 
461
543
  async quit () {
462
544
  if (this.usePreinstalledWDA) {
545
+ this.log.info('Stopping the XCTest session');
463
546
  if (this.xctestApiClient) {
464
- this.log.info('Stopping the XCTest session');
465
547
  this.xctestApiClient.stop();
466
548
  this.xctestApiClient = null;
549
+ } else {
550
+ try {
551
+ await this.device.simctl.terminateApp(this.bundleIdForXctest);
552
+ } catch (e) {
553
+ this.log.warn(e.message);
554
+ }
467
555
  }
468
556
  } else if (!this.args.webDriverAgentUrl) {
469
557
  this.log.info('Shutting down sub-processes');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "7.1.2",
3
+ "version": "7.3.0",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {