appium-safari-driver 3.0.4 → 3.1.2

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.
@@ -83,4 +83,4 @@ describe('Mobile SafariDriver', function () {
83
83
  });require('source-map-support').install();
84
84
 
85
85
 
86
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZnVuY3Rpb25hbC9tb2JpbGUtZHJpdmVyLWUyZS1zcGVjcy5qcyJdLCJuYW1lcyI6WyJjaGFpIiwic2hvdWxkIiwidXNlIiwiY2hhaUFzUHJvbWlzZWQiLCJQTEFURk9STV9WRVJTSU9OIiwicHJvY2VzcyIsImVudiIsIkRFVklDRV9OQU1FIiwiQ0FQUyIsImJyb3dzZXJOYW1lIiwicGxhdGZvcm1OYW1lIiwiZGVzY3JpYmUiLCJ0aW1lb3V0IiwiTU9DSEFfVElNRU9VVCIsInNlcnZlciIsImRyaXZlciIsImJlZm9yZSIsIkNJIiwic2tpcCIsInNpbWN0bCIsIlNpbWN0bCIsImFsbERldmljZXMiLCJnZXREZXZpY2VzIiwiZGV2aWNlIiwiZmluZCIsIm5hbWUiLCJFcnJvciIsInN0YXRlIiwidWRpZCIsImJvb3REZXZpY2UiLCJzdGFydEJvb3RNb25pdG9yIiwiUE9SVCIsIkhPU1QiLCJhZnRlciIsImNsb3NlIiwiYmVmb3JlRWFjaCIsImhvc3RuYW1lIiwicG9ydCIsImNhcGFiaWxpdGllcyIsImFmdGVyRWFjaCIsImRlbGV0ZVNlc3Npb24iLCJpdCIsInVybCIsImJ1dHRvbiIsIiQiLCJnZXRUZXh0IiwiZXZlbnR1YWxseSIsImVxbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLGNBQUtDLE1BQUw7O0FBQ0FELGNBQUtFLEdBQUwsQ0FBU0MsdUJBQVQ7O0FBRUEsTUFBTUMsZ0JBQWdCLEdBQUdDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRixnQkFBWixJQUFnQyxNQUF6RDtBQUNBLE1BQU1HLFdBQVcsR0FBR0YsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFdBQVosSUFBMkIsbUJBQS9DO0FBQ0EsTUFBTUMsSUFBSSxHQUFHO0FBQ1hDLEVBQUFBLFdBQVcsRUFBRSxjQURGO0FBRVhDLEVBQUFBLFlBQVksRUFBRSxLQUZIO0FBR1gseUJBQXVCLElBSFo7QUFJWCw0QkFBMEJOLGdCQUpmO0FBS1gsdUJBQXFCRztBQUxWLENBQWI7QUFRQUksUUFBUSxDQUFDLHFCQUFELEVBQXdCLFlBQVk7QUFDMUMsT0FBS0MsT0FBTCxDQUFhQyxvQkFBYjtBQUVBLE1BQUlDLE1BQUo7QUFDQSxNQUFJQyxNQUFKO0FBQ0FDLEVBQUFBLE1BQU0sQ0FBQyxrQkFBa0I7QUFDdkIsUUFBSVgsT0FBTyxDQUFDQyxHQUFSLENBQVlXLEVBQWhCLEVBQW9CO0FBSWxCLGFBQU8sS0FBS0MsSUFBTCxFQUFQO0FBQ0Q7O0FBR0QsVUFBTUMsTUFBTSxHQUFHLElBQUlDLG1CQUFKLEVBQWY7QUFDQSxVQUFNQyxVQUFVLEdBQUcsTUFBTUYsTUFBTSxDQUFDRyxVQUFQLENBQWtCbEIsZ0JBQWxCLEVBQW9DLEtBQXBDLENBQXpCO0FBQ0EsVUFBTW1CLE1BQU0sR0FBR0YsVUFBVSxDQUFDRyxJQUFYLENBQWdCLENBQUM7QUFBQ0MsTUFBQUE7QUFBRCxLQUFELEtBQVlBLElBQUksS0FBS2xCLFdBQXJDLENBQWY7O0FBQ0EsUUFBSSxDQUFDZ0IsTUFBTCxFQUFhO0FBQ1gsWUFBTSxJQUFJRyxLQUFKLENBQVcsZ0JBQWVuQixXQUFZLGdCQUFlSCxnQkFBaUIsR0FBdEUsQ0FBTjtBQUNEOztBQUNELFFBQUltQixNQUFNLENBQUNJLEtBQVAsS0FBaUIsUUFBckIsRUFBK0I7QUFDN0JSLE1BQUFBLE1BQU0sQ0FBQ1MsSUFBUCxHQUFjTCxNQUFNLENBQUNLLElBQXJCO0FBQ0EsWUFBTVQsTUFBTSxDQUFDVSxVQUFQLEVBQU47QUFDQSxZQUFNVixNQUFNLENBQUNXLGdCQUFQLEVBQU47QUFDRDs7QUFFRGhCLElBQUFBLE1BQU0sR0FBRyxNQUFNLG1CQUFZaUIsV0FBWixFQUFrQkMsV0FBbEIsQ0FBZjtBQUNELEdBdEJLLENBQU47QUF1QkFDLEVBQUFBLEtBQUssQ0FBQyxrQkFBa0I7QUFDdEIsUUFBSW5CLE1BQUosRUFBWTtBQUNWLFlBQU1BLE1BQU0sQ0FBQ29CLEtBQVAsRUFBTjtBQUNBcEIsTUFBQUEsTUFBTSxHQUFHLElBQVQ7QUFDRDtBQUNGLEdBTEksQ0FBTDtBQU1BcUIsRUFBQUEsVUFBVSxDQUFDLGtCQUFrQjtBQUMzQnBCLElBQUFBLE1BQU0sR0FBRyxNQUFNLHlCQUFPO0FBQ3BCcUIsTUFBQUEsUUFBUSxFQUFFSixXQURVO0FBRXBCSyxNQUFBQSxJQUFJLEVBQUVOLFdBRmM7QUFHcEJPLE1BQUFBLFlBQVksRUFBRTlCO0FBSE0sS0FBUCxDQUFmO0FBS0QsR0FOUyxDQUFWO0FBT0ErQixFQUFBQSxTQUFTLENBQUMsa0JBQWtCO0FBQzFCLFFBQUl4QixNQUFKLEVBQVk7QUFDVixZQUFNQSxNQUFNLENBQUN5QixhQUFQLEVBQU47QUFDQXpCLE1BQUFBLE1BQU0sR0FBRyxJQUFUO0FBQ0Q7QUFDRixHQUxRLENBQVQ7QUFPQTBCLEVBQUFBLEVBQUUsQ0FBQyxpQ0FBRCxFQUFvQyxrQkFBa0I7QUFDdEQsVUFBTTFCLE1BQU0sQ0FBQzJCLEdBQVAsQ0FBVyxvQkFBWCxDQUFOO0FBQ0EsVUFBTUMsTUFBTSxHQUFHLE1BQU01QixNQUFNLENBQUM2QixDQUFQLENBQVMsZUFBVCxDQUFyQjtBQUNBLFVBQU1ELE1BQU0sQ0FBQ0UsT0FBUCxHQUFpQjVDLE1BQWpCLENBQXdCNkMsVUFBeEIsQ0FBbUNDLEdBQW5DLENBQXVDLGlCQUF2QyxDQUFOO0FBQ0QsR0FKQyxDQUFGO0FBS0QsQ0FyRE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbW90ZSB9IGZyb20gJ3dlYmRyaXZlcmlvJztcbmltcG9ydCB7IHN0YXJ0U2VydmVyIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IGNoYWlBc1Byb21pc2VkIGZyb20gJ2NoYWktYXMtcHJvbWlzZWQnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgU2ltY3RsIGZyb20gJ25vZGUtc2ltY3RsJztcbmltcG9ydCB7IEhPU1QsIFBPUlQsIE1PQ0hBX1RJTUVPVVQgfSBmcm9tICcuLi91dGlscyc7XG5cbmNoYWkuc2hvdWxkKCk7XG5jaGFpLnVzZShjaGFpQXNQcm9taXNlZCk7XG5cbmNvbnN0IFBMQVRGT1JNX1ZFUlNJT04gPSBwcm9jZXNzLmVudi5QTEFURk9STV9WRVJTSU9OIHx8ICcxNC4xJztcbmNvbnN0IERFVklDRV9OQU1FID0gcHJvY2Vzcy5lbnYuREVWSUNFX05BTUUgfHwgJ2lQaG9uZSAxMSBQcm8gTWF4JztcbmNvbnN0IENBUFMgPSB7XG4gIGJyb3dzZXJOYW1lOiAnQXBwaXVtU2FmYXJpJyxcbiAgcGxhdGZvcm1OYW1lOiAnaW9zJyxcbiAgJ3NhZmFyaTp1c2VTaW11bGF0b3InOiB0cnVlLFxuICAnc2FmYXJpOnBsYXRmb3JtVmVyc2lvbic6IFBMQVRGT1JNX1ZFUlNJT04sXG4gICdzYWZhcmk6ZGV2aWNlTmFtZSc6IERFVklDRV9OQU1FLFxufTtcblxuZGVzY3JpYmUoJ01vYmlsZSBTYWZhcmlEcml2ZXInLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMudGltZW91dChNT0NIQV9USU1FT1VUKTtcblxuICBsZXQgc2VydmVyO1xuICBsZXQgZHJpdmVyO1xuICBiZWZvcmUoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5DSSkge1xuICAgICAgLy8gSW4gQXp1cmUgQ0kgdGhlIHN0dWZmIHVuZXhwZWN0ZWRseSBmYWlscyB3aXRoXG4gICAgICAvLyBcIlRoZSBkZXZpY2UgaXMgbm90IGNvbmZpZ3VyZWQgdG8gYWxsb3cgcmVtb3RlIGNvbnRyb2wgdmlhIFdlYkRyaXZlci4gVG8gZml4IHRoaXMsIHRvZ2dsZSAnQWxsb3cgUmVtb3RlIEF1dG9tYXRpb24nIGluIFNhZmFyaSdzIHNldHRpbmdzIChTZXR0aW5ncyBBcHAgPiBTYWZhcmkgPiBBZHZhbmNlZCkuXCJcbiAgICAgIC8vIGVycm9yXG4gICAgICByZXR1cm4gdGhpcy5za2lwKCk7XG4gICAgfVxuXG4gICAgLy8gUHJlYm9vdCBTaW11bGF0b3IgdG8gYXZvaWQgdW5leHBlY3RlZCB0aW1lb3V0c1xuICAgIGNvbnN0IHNpbWN0bCA9IG5ldyBTaW1jdGwoKTtcbiAgICBjb25zdCBhbGxEZXZpY2VzID0gYXdhaXQgc2ltY3RsLmdldERldmljZXMoUExBVEZPUk1fVkVSU0lPTiwgJ2lPUycpO1xuICAgIGNvbnN0IGRldmljZSA9IGFsbERldmljZXMuZmluZCgoe25hbWV9KSA9PiBuYW1lID09PSBERVZJQ0VfTkFNRSk7XG4gICAgaWYgKCFkZXZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgJyR7REVWSUNFX05BTUV9JyBTaW11bGF0b3IgKCR7UExBVEZPUk1fVkVSU0lPTn0pYCk7XG4gICAgfVxuICAgIGlmIChkZXZpY2Uuc3RhdGUgIT09ICdCb290ZWQnKSB7XG4gICAgICBzaW1jdGwudWRpZCA9IGRldmljZS51ZGlkO1xuICAgICAgYXdhaXQgc2ltY3RsLmJvb3REZXZpY2UoKTtcbiAgICAgIGF3YWl0IHNpbWN0bC5zdGFydEJvb3RNb25pdG9yKCk7XG4gICAgfVxuXG4gICAgc2VydmVyID0gYXdhaXQgc3RhcnRTZXJ2ZXIoUE9SVCwgSE9TVCk7XG4gIH0pO1xuICBhZnRlcihhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNlcnZlcikge1xuICAgICAgYXdhaXQgc2VydmVyLmNsb3NlKCk7XG4gICAgICBzZXJ2ZXIgPSBudWxsO1xuICAgIH1cbiAgfSk7XG4gIGJlZm9yZUVhY2goYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGRyaXZlciA9IGF3YWl0IHJlbW90ZSh7XG4gICAgICBob3N0bmFtZTogSE9TVCxcbiAgICAgIHBvcnQ6IFBPUlQsXG4gICAgICBjYXBhYmlsaXRpZXM6IENBUFMsXG4gICAgfSk7XG4gIH0pO1xuICBhZnRlckVhY2goYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGlmIChkcml2ZXIpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5kZWxldGVTZXNzaW9uKCk7XG4gICAgICBkcml2ZXIgPSBudWxsO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzdGFydCBhbmQgc3RvcCBhIHNlc3Npb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgYXdhaXQgZHJpdmVyLnVybCgnaHR0cHM6Ly9hcHBpdW0uaW8vJyk7XG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgZHJpdmVyLiQoJyNkb3dubG9hZExpbmsnKTtcbiAgICBhd2FpdCBidXR0b24uZ2V0VGV4dCgpLnNob3VsZC5ldmVudHVhbGx5LmVxbCgnRG93bmxvYWQgQXBwaXVtJyk7XG4gIH0pO1xufSk7XG5cblxuIl0sImZpbGUiOiJ0ZXN0L2Z1bmN0aW9uYWwvbW9iaWxlLWRyaXZlci1lMmUtc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
86
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC9mdW5jdGlvbmFsL21vYmlsZS1kcml2ZXItZTJlLXNwZWNzLmpzIiwibmFtZXMiOlsiY2hhaSIsInNob3VsZCIsInVzZSIsImNoYWlBc1Byb21pc2VkIiwiUExBVEZPUk1fVkVSU0lPTiIsInByb2Nlc3MiLCJlbnYiLCJERVZJQ0VfTkFNRSIsIkNBUFMiLCJicm93c2VyTmFtZSIsInBsYXRmb3JtTmFtZSIsImRlc2NyaWJlIiwidGltZW91dCIsIk1PQ0hBX1RJTUVPVVQiLCJzZXJ2ZXIiLCJkcml2ZXIiLCJiZWZvcmUiLCJDSSIsInNraXAiLCJzaW1jdGwiLCJTaW1jdGwiLCJhbGxEZXZpY2VzIiwiZ2V0RGV2aWNlcyIsImRldmljZSIsImZpbmQiLCJuYW1lIiwiRXJyb3IiLCJzdGF0ZSIsInVkaWQiLCJib290RGV2aWNlIiwic3RhcnRCb290TW9uaXRvciIsIlBPUlQiLCJIT1NUIiwiYWZ0ZXIiLCJjbG9zZSIsImJlZm9yZUVhY2giLCJob3N0bmFtZSIsInBvcnQiLCJjYXBhYmlsaXRpZXMiLCJhZnRlckVhY2giLCJkZWxldGVTZXNzaW9uIiwiaXQiLCJ1cmwiLCJidXR0b24iLCIkIiwiZ2V0VGV4dCIsImV2ZW50dWFsbHkiLCJlcWwiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJ0ZXN0L2Z1bmN0aW9uYWwvbW9iaWxlLWRyaXZlci1lMmUtc3BlY3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVtb3RlIH0gZnJvbSAnd2ViZHJpdmVyaW8nO1xuaW1wb3J0IHsgc3RhcnRTZXJ2ZXIgfSBmcm9tICcuLi8uLic7XG5pbXBvcnQgY2hhaUFzUHJvbWlzZWQgZnJvbSAnY2hhaS1hcy1wcm9taXNlZCc7XG5pbXBvcnQgY2hhaSBmcm9tICdjaGFpJztcbmltcG9ydCBTaW1jdGwgZnJvbSAnbm9kZS1zaW1jdGwnO1xuaW1wb3J0IHsgSE9TVCwgUE9SVCwgTU9DSEFfVElNRU9VVCB9IGZyb20gJy4uL3V0aWxzJztcblxuY2hhaS5zaG91bGQoKTtcbmNoYWkudXNlKGNoYWlBc1Byb21pc2VkKTtcblxuY29uc3QgUExBVEZPUk1fVkVSU0lPTiA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1ZFUlNJT04gfHwgJzE0LjEnO1xuY29uc3QgREVWSUNFX05BTUUgPSBwcm9jZXNzLmVudi5ERVZJQ0VfTkFNRSB8fCAnaVBob25lIDExIFBybyBNYXgnO1xuY29uc3QgQ0FQUyA9IHtcbiAgYnJvd3Nlck5hbWU6ICdBcHBpdW1TYWZhcmknLFxuICBwbGF0Zm9ybU5hbWU6ICdpb3MnLFxuICAnc2FmYXJpOnVzZVNpbXVsYXRvcic6IHRydWUsXG4gICdzYWZhcmk6cGxhdGZvcm1WZXJzaW9uJzogUExBVEZPUk1fVkVSU0lPTixcbiAgJ3NhZmFyaTpkZXZpY2VOYW1lJzogREVWSUNFX05BTUUsXG59O1xuXG5kZXNjcmliZSgnTW9iaWxlIFNhZmFyaURyaXZlcicsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy50aW1lb3V0KE1PQ0hBX1RJTUVPVVQpO1xuXG4gIGxldCBzZXJ2ZXI7XG4gIGxldCBkcml2ZXI7XG4gIGJlZm9yZShhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52LkNJKSB7XG4gICAgICAvLyBJbiBBenVyZSBDSSB0aGUgc3R1ZmYgdW5leHBlY3RlZGx5IGZhaWxzIHdpdGhcbiAgICAgIC8vIFwiVGhlIGRldmljZSBpcyBub3QgY29uZmlndXJlZCB0byBhbGxvdyByZW1vdGUgY29udHJvbCB2aWEgV2ViRHJpdmVyLiBUbyBmaXggdGhpcywgdG9nZ2xlICdBbGxvdyBSZW1vdGUgQXV0b21hdGlvbicgaW4gU2FmYXJpJ3Mgc2V0dGluZ3MgKFNldHRpbmdzIEFwcCA+IFNhZmFyaSA+IEFkdmFuY2VkKS5cIlxuICAgICAgLy8gZXJyb3JcbiAgICAgIHJldHVybiB0aGlzLnNraXAoKTtcbiAgICB9XG5cbiAgICAvLyBQcmVib290IFNpbXVsYXRvciB0byBhdm9pZCB1bmV4cGVjdGVkIHRpbWVvdXRzXG4gICAgY29uc3Qgc2ltY3RsID0gbmV3IFNpbWN0bCgpO1xuICAgIGNvbnN0IGFsbERldmljZXMgPSBhd2FpdCBzaW1jdGwuZ2V0RGV2aWNlcyhQTEFURk9STV9WRVJTSU9OLCAnaU9TJyk7XG4gICAgY29uc3QgZGV2aWNlID0gYWxsRGV2aWNlcy5maW5kKCh7bmFtZX0pID0+IG5hbWUgPT09IERFVklDRV9OQU1FKTtcbiAgICBpZiAoIWRldmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCAnJHtERVZJQ0VfTkFNRX0nIFNpbXVsYXRvciAoJHtQTEFURk9STV9WRVJTSU9OfSlgKTtcbiAgICB9XG4gICAgaWYgKGRldmljZS5zdGF0ZSAhPT0gJ0Jvb3RlZCcpIHtcbiAgICAgIHNpbWN0bC51ZGlkID0gZGV2aWNlLnVkaWQ7XG4gICAgICBhd2FpdCBzaW1jdGwuYm9vdERldmljZSgpO1xuICAgICAgYXdhaXQgc2ltY3RsLnN0YXJ0Qm9vdE1vbml0b3IoKTtcbiAgICB9XG5cbiAgICBzZXJ2ZXIgPSBhd2FpdCBzdGFydFNlcnZlcihQT1JULCBIT1NUKTtcbiAgfSk7XG4gIGFmdGVyKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc2VydmVyKSB7XG4gICAgICBhd2FpdCBzZXJ2ZXIuY2xvc2UoKTtcbiAgICAgIHNlcnZlciA9IG51bGw7XG4gICAgfVxuICB9KTtcbiAgYmVmb3JlRWFjaChhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgZHJpdmVyID0gYXdhaXQgcmVtb3RlKHtcbiAgICAgIGhvc3RuYW1lOiBIT1NULFxuICAgICAgcG9ydDogUE9SVCxcbiAgICAgIGNhcGFiaWxpdGllczogQ0FQUyxcbiAgICB9KTtcbiAgfSk7XG4gIGFmdGVyRWFjaChhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGRyaXZlcikge1xuICAgICAgYXdhaXQgZHJpdmVyLmRlbGV0ZVNlc3Npb24oKTtcbiAgICAgIGRyaXZlciA9IG51bGw7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc2hvdWxkIHN0YXJ0IGFuZCBzdG9wIGEgc2Vzc2lvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhd2FpdCBkcml2ZXIudXJsKCdodHRwczovL2FwcGl1bS5pby8nKTtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCBkcml2ZXIuJCgnI2Rvd25sb2FkTGluaycpO1xuICAgIGF3YWl0IGJ1dHRvbi5nZXRUZXh0KCkuc2hvdWxkLmV2ZW50dWFsbHkuZXFsKCdEb3dubG9hZCBBcHBpdW0nKTtcbiAgfSk7XG59KTtcblxuXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxjQUFLQyxNQUFMOztBQUNBRCxjQUFLRSxHQUFMLENBQVNDLHVCQUFUOztBQUVBLE1BQU1DLGdCQUFnQixHQUFHQyxPQUFPLENBQUNDLEdBQVIsQ0FBWUYsZ0JBQVosSUFBZ0MsTUFBekQ7QUFDQSxNQUFNRyxXQUFXLEdBQUdGLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxXQUFaLElBQTJCLG1CQUEvQztBQUNBLE1BQU1DLElBQUksR0FBRztFQUNYQyxXQUFXLEVBQUUsY0FERjtFQUVYQyxZQUFZLEVBQUUsS0FGSDtFQUdYLHVCQUF1QixJQUhaO0VBSVgsMEJBQTBCTixnQkFKZjtFQUtYLHFCQUFxQkc7QUFMVixDQUFiO0FBUUFJLFFBQVEsQ0FBQyxxQkFBRCxFQUF3QixZQUFZO0VBQzFDLEtBQUtDLE9BQUwsQ0FBYUMsb0JBQWI7RUFFQSxJQUFJQyxNQUFKO0VBQ0EsSUFBSUMsTUFBSjtFQUNBQyxNQUFNLENBQUMsa0JBQWtCO0lBQ3ZCLElBQUlYLE9BQU8sQ0FBQ0MsR0FBUixDQUFZVyxFQUFoQixFQUFvQjtNQUlsQixPQUFPLEtBQUtDLElBQUwsRUFBUDtJQUNEOztJQUdELE1BQU1DLE1BQU0sR0FBRyxJQUFJQyxtQkFBSixFQUFmO0lBQ0EsTUFBTUMsVUFBVSxHQUFHLE1BQU1GLE1BQU0sQ0FBQ0csVUFBUCxDQUFrQmxCLGdCQUFsQixFQUFvQyxLQUFwQyxDQUF6QjtJQUNBLE1BQU1tQixNQUFNLEdBQUdGLFVBQVUsQ0FBQ0csSUFBWCxDQUFnQixDQUFDO01BQUNDO0lBQUQsQ0FBRCxLQUFZQSxJQUFJLEtBQUtsQixXQUFyQyxDQUFmOztJQUNBLElBQUksQ0FBQ2dCLE1BQUwsRUFBYTtNQUNYLE1BQU0sSUFBSUcsS0FBSixDQUFXLGdCQUFlbkIsV0FBWSxnQkFBZUgsZ0JBQWlCLEdBQXRFLENBQU47SUFDRDs7SUFDRCxJQUFJbUIsTUFBTSxDQUFDSSxLQUFQLEtBQWlCLFFBQXJCLEVBQStCO01BQzdCUixNQUFNLENBQUNTLElBQVAsR0FBY0wsTUFBTSxDQUFDSyxJQUFyQjtNQUNBLE1BQU1ULE1BQU0sQ0FBQ1UsVUFBUCxFQUFOO01BQ0EsTUFBTVYsTUFBTSxDQUFDVyxnQkFBUCxFQUFOO0lBQ0Q7O0lBRURoQixNQUFNLEdBQUcsTUFBTSxtQkFBWWlCLFdBQVosRUFBa0JDLFdBQWxCLENBQWY7RUFDRCxDQXRCSyxDQUFOO0VBdUJBQyxLQUFLLENBQUMsa0JBQWtCO0lBQ3RCLElBQUluQixNQUFKLEVBQVk7TUFDVixNQUFNQSxNQUFNLENBQUNvQixLQUFQLEVBQU47TUFDQXBCLE1BQU0sR0FBRyxJQUFUO0lBQ0Q7RUFDRixDQUxJLENBQUw7RUFNQXFCLFVBQVUsQ0FBQyxrQkFBa0I7SUFDM0JwQixNQUFNLEdBQUcsTUFBTSx5QkFBTztNQUNwQnFCLFFBQVEsRUFBRUosV0FEVTtNQUVwQkssSUFBSSxFQUFFTixXQUZjO01BR3BCTyxZQUFZLEVBQUU5QjtJQUhNLENBQVAsQ0FBZjtFQUtELENBTlMsQ0FBVjtFQU9BK0IsU0FBUyxDQUFDLGtCQUFrQjtJQUMxQixJQUFJeEIsTUFBSixFQUFZO01BQ1YsTUFBTUEsTUFBTSxDQUFDeUIsYUFBUCxFQUFOO01BQ0F6QixNQUFNLEdBQUcsSUFBVDtJQUNEO0VBQ0YsQ0FMUSxDQUFUO0VBT0EwQixFQUFFLENBQUMsaUNBQUQsRUFBb0Msa0JBQWtCO0lBQ3RELE1BQU0xQixNQUFNLENBQUMyQixHQUFQLENBQVcsb0JBQVgsQ0FBTjtJQUNBLE1BQU1DLE1BQU0sR0FBRyxNQUFNNUIsTUFBTSxDQUFDNkIsQ0FBUCxDQUFTLGVBQVQsQ0FBckI7SUFDQSxNQUFNRCxNQUFNLENBQUNFLE9BQVAsR0FBaUI1QyxNQUFqQixDQUF3QjZDLFVBQXhCLENBQW1DQyxHQUFuQyxDQUF1QyxpQkFBdkMsQ0FBTjtFQUNELENBSkMsQ0FBRjtBQUtELENBckRPLENBQVIifQ==
@@ -17,4 +17,4 @@ describe('SafariDriver', function () {
17
17
  });require('source-map-support').install();
18
18
 
19
19
 
20
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvdW5pdC9kcml2ZXItc3BlY3MuanMiXSwibmFtZXMiOlsic2hvdWxkIiwiY2hhaSIsImRlc2NyaWJlIiwiaXQiLCJleGlzdCIsIlNhZmFyaURyaXZlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0EsTUFBTUEsTUFBTSxHQUFHQyxjQUFLRCxNQUFMLEVBQWY7O0FBRUFFLFFBQVEsQ0FBQyxjQUFELEVBQWlCLFlBQVk7QUFDbkNDLEVBQUFBLEVBQUUsQ0FBQyxjQUFELEVBQWlCLFlBQVk7QUFDN0JILElBQUFBLE1BQU0sQ0FBQ0ksS0FBUCxDQUFhQyxTQUFiO0FBQ0QsR0FGQyxDQUFGO0FBR0QsQ0FKTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNhZmFyaURyaXZlciBmcm9tICcuLi8uLic7XG5pbXBvcnQgY2hhaSBmcm9tICdjaGFpJztcbmNvbnN0IHNob3VsZCA9IGNoYWkuc2hvdWxkKCk7XG5cbmRlc2NyaWJlKCdTYWZhcmlEcml2ZXInLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdzaG91bGQgZXhpc3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgc2hvdWxkLmV4aXN0KFNhZmFyaURyaXZlcik7XG4gIH0pO1xufSk7XG4iXSwiZmlsZSI6InRlc3QvdW5pdC9kcml2ZXItc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
20
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC91bml0L2RyaXZlci1zcGVjcy5qcyIsIm5hbWVzIjpbInNob3VsZCIsImNoYWkiLCJkZXNjcmliZSIsIml0IiwiZXhpc3QiLCJTYWZhcmlEcml2ZXIiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJ0ZXN0L3VuaXQvZHJpdmVyLXNwZWNzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTYWZhcmlEcml2ZXIgZnJvbSAnLi4vLi4nO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5jb25zdCBzaG91bGQgPSBjaGFpLnNob3VsZCgpO1xuXG5kZXNjcmliZSgnU2FmYXJpRHJpdmVyJywgZnVuY3Rpb24gKCkge1xuICBpdCgnc2hvdWxkIGV4aXN0JywgZnVuY3Rpb24gKCkge1xuICAgIHNob3VsZC5leGlzdChTYWZhcmlEcml2ZXIpO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQSxNQUFNQSxNQUFNLEdBQUdDLGNBQUtELE1BQUwsRUFBZjs7QUFFQUUsUUFBUSxDQUFDLGNBQUQsRUFBaUIsWUFBWTtFQUNuQ0MsRUFBRSxDQUFDLGNBQUQsRUFBaUIsWUFBWTtJQUM3QkgsTUFBTSxDQUFDSSxLQUFQLENBQWFDLFNBQWI7RUFDRCxDQUZDLENBQUY7QUFHRCxDQUpPLENBQVIifQ==
@@ -48,4 +48,4 @@ describe('formatCapsForServer', function () {
48
48
  });require('source-map-support').install();
49
49
 
50
50
 
51
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvdW5pdC91dGlscy1zcGVjcy5qcyJdLCJuYW1lcyI6WyJjaGFpIiwic2hvdWxkIiwiZGVzY3JpYmUiLCJpdCIsInJlc3VsdCIsImVxbCIsImJyb3dzZXJOYW1lIiwiYnJvd3NlclZlcnNpb24iLCJ1bmRlZmluZWQiLCJwbGF0Zm9ybU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUVBQSxjQUFLQyxNQUFMOztBQUVBQyxRQUFRLENBQUMscUJBQUQsRUFBd0IsWUFBWTtBQUMxQ0MsRUFBQUEsRUFBRSxDQUFDLDBCQUFELEVBQTZCLFlBQVk7QUFDekMsVUFBTUMsTUFBTSxHQUFHLGdDQUFvQixFQUFwQixDQUFmO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ0gsTUFBUCxDQUFjSSxHQUFkLENBQWtCO0FBQ2hCQyxNQUFBQSxXQUFXLEVBQUUsUUFERztBQUVoQkMsTUFBQUEsY0FBYyxFQUFFQyxTQUZBO0FBR2hCQyxNQUFBQSxZQUFZLEVBQUU7QUFIRSxLQUFsQjtBQUtELEdBUEMsQ0FBRjtBQVNBTixFQUFBQSxFQUFFLENBQUMsNEJBQUQsRUFBK0IsWUFBWTtBQUMzQyxVQUFNQyxNQUFNLEdBQUcsZ0NBQW9CO0FBQ2pDRSxNQUFBQSxXQUFXLEVBQUUsTUFEb0I7QUFFakNDLE1BQUFBLGNBQWMsRUFBRSxJQUZpQjtBQUdqQ0UsTUFBQUEsWUFBWSxFQUFFO0FBSG1CLEtBQXBCLENBQWY7QUFLQUwsSUFBQUEsTUFBTSxDQUFDSCxNQUFQLENBQWNJLEdBQWQsQ0FBa0I7QUFDaEJDLE1BQUFBLFdBQVcsRUFBRSxRQURHO0FBRWhCQyxNQUFBQSxjQUFjLEVBQUUsSUFGQTtBQUdoQkUsTUFBQUEsWUFBWSxFQUFFO0FBSEUsS0FBbEI7QUFLRCxHQVhDLENBQUY7QUFhQU4sRUFBQUEsRUFBRSxDQUFDLCtDQUFELEVBQWtELFlBQVk7QUFDOUQsVUFBTUMsTUFBTSxHQUFHLGdDQUFvQjtBQUNqQywyQkFBcUIsTUFEWTtBQUVqQyxxQkFBZSxLQUZrQjtBQUdqQyxvQkFBYztBQUhtQixLQUFwQixDQUFmO0FBS0FBLElBQUFBLE1BQU0sQ0FBQ0gsTUFBUCxDQUFjSSxHQUFkLENBQWtCO0FBQ2hCQyxNQUFBQSxXQUFXLEVBQUUsUUFERztBQUVoQkMsTUFBQUEsY0FBYyxFQUFFQyxTQUZBO0FBR2hCQyxNQUFBQSxZQUFZLEVBQUUsS0FIRTtBQUloQiwyQkFBcUIsTUFKTDtBQUtoQixxQkFBZTtBQUxDLEtBQWxCO0FBT0QsR0FiQyxDQUFGO0FBY0QsQ0FyQ08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdENhcHNGb3JTZXJ2ZXIgfSBmcm9tICcuLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5cbmNoYWkuc2hvdWxkKCk7XG5cbmRlc2NyaWJlKCdmb3JtYXRDYXBzRm9yU2VydmVyJywgZnVuY3Rpb24gKCkge1xuICBpdCgnc2hvdWxkIGZvcm1hdCBlbXB0eSBjYXBzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGZvcm1hdENhcHNGb3JTZXJ2ZXIoe30pO1xuICAgIHJlc3VsdC5zaG91bGQuZXFsKHtcbiAgICAgIGJyb3dzZXJOYW1lOiAnU2FmYXJpJyxcbiAgICAgIGJyb3dzZXJWZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICBwbGF0Zm9ybU5hbWU6ICdpT1MnLFxuICAgIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFzc2lnbiBkZWZhdWx0IGNhcHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gZm9ybWF0Q2Fwc0ZvclNlcnZlcih7XG4gICAgICBicm93c2VyTmFtZTogJ3lvbG8nLFxuICAgICAgYnJvd3NlclZlcnNpb246ICcxMicsXG4gICAgICBwbGF0Zm9ybU5hbWU6ICdtYWMnLFxuICAgIH0pO1xuICAgIHJlc3VsdC5zaG91bGQuZXFsKHtcbiAgICAgIGJyb3dzZXJOYW1lOiAnU2FmYXJpJyxcbiAgICAgIGJyb3dzZXJWZXJzaW9uOiAnMTInLFxuICAgICAgcGxhdGZvcm1OYW1lOiAnbWFjJyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBvbmx5IHBhc3MgY2FwcyB3aXRoIHN1cHBvcnRlZCBwcmVmaXhlcycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCByZXN1bHQgPSBmb3JtYXRDYXBzRm9yU2VydmVyKHtcbiAgICAgICdzYWZhcmk6ZGV2aWNlVURJRCc6ICcxMjM0JyxcbiAgICAgICd3ZWJraXQ6eW9sbyc6ICc1NjcnLFxuICAgICAgJ2FwcGl1bTpiYXInOiAnNzg5JyxcbiAgICB9KTtcbiAgICByZXN1bHQuc2hvdWxkLmVxbCh7XG4gICAgICBicm93c2VyTmFtZTogJ1NhZmFyaScsXG4gICAgICBicm93c2VyVmVyc2lvbjogdW5kZWZpbmVkLFxuICAgICAgcGxhdGZvcm1OYW1lOiAnaU9TJyxcbiAgICAgICdzYWZhcmk6ZGV2aWNlVURJRCc6ICcxMjM0JyxcbiAgICAgICd3ZWJraXQ6eW9sbyc6ICc1NjcnLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sImZpbGUiOiJ0ZXN0L3VuaXQvdXRpbHMtc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
51
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC91bml0L3V0aWxzLXNwZWNzLmpzIiwibmFtZXMiOlsiY2hhaSIsInNob3VsZCIsImRlc2NyaWJlIiwiaXQiLCJyZXN1bHQiLCJlcWwiLCJicm93c2VyTmFtZSIsImJyb3dzZXJWZXJzaW9uIiwidW5kZWZpbmVkIiwicGxhdGZvcm1OYW1lIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLiIsInNvdXJjZXMiOlsidGVzdC91bml0L3V0aWxzLXNwZWNzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdENhcHNGb3JTZXJ2ZXIgfSBmcm9tICcuLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5cbmNoYWkuc2hvdWxkKCk7XG5cbmRlc2NyaWJlKCdmb3JtYXRDYXBzRm9yU2VydmVyJywgZnVuY3Rpb24gKCkge1xuICBpdCgnc2hvdWxkIGZvcm1hdCBlbXB0eSBjYXBzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGZvcm1hdENhcHNGb3JTZXJ2ZXIoe30pO1xuICAgIHJlc3VsdC5zaG91bGQuZXFsKHtcbiAgICAgIGJyb3dzZXJOYW1lOiAnU2FmYXJpJyxcbiAgICAgIGJyb3dzZXJWZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICBwbGF0Zm9ybU5hbWU6ICdpT1MnLFxuICAgIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFzc2lnbiBkZWZhdWx0IGNhcHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gZm9ybWF0Q2Fwc0ZvclNlcnZlcih7XG4gICAgICBicm93c2VyTmFtZTogJ3lvbG8nLFxuICAgICAgYnJvd3NlclZlcnNpb246ICcxMicsXG4gICAgICBwbGF0Zm9ybU5hbWU6ICdtYWMnLFxuICAgIH0pO1xuICAgIHJlc3VsdC5zaG91bGQuZXFsKHtcbiAgICAgIGJyb3dzZXJOYW1lOiAnU2FmYXJpJyxcbiAgICAgIGJyb3dzZXJWZXJzaW9uOiAnMTInLFxuICAgICAgcGxhdGZvcm1OYW1lOiAnbWFjJyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBvbmx5IHBhc3MgY2FwcyB3aXRoIHN1cHBvcnRlZCBwcmVmaXhlcycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCByZXN1bHQgPSBmb3JtYXRDYXBzRm9yU2VydmVyKHtcbiAgICAgICdzYWZhcmk6ZGV2aWNlVURJRCc6ICcxMjM0JyxcbiAgICAgICd3ZWJraXQ6eW9sbyc6ICc1NjcnLFxuICAgICAgJ2FwcGl1bTpiYXInOiAnNzg5JyxcbiAgICB9KTtcbiAgICByZXN1bHQuc2hvdWxkLmVxbCh7XG4gICAgICBicm93c2VyTmFtZTogJ1NhZmFyaScsXG4gICAgICBicm93c2VyVmVyc2lvbjogdW5kZWZpbmVkLFxuICAgICAgcGxhdGZvcm1OYW1lOiAnaU9TJyxcbiAgICAgICdzYWZhcmk6ZGV2aWNlVURJRCc6ICcxMjM0JyxcbiAgICAgICd3ZWJraXQ6eW9sbyc6ICc1NjcnLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFFQUEsY0FBS0MsTUFBTDs7QUFFQUMsUUFBUSxDQUFDLHFCQUFELEVBQXdCLFlBQVk7RUFDMUNDLEVBQUUsQ0FBQywwQkFBRCxFQUE2QixZQUFZO0lBQ3pDLE1BQU1DLE1BQU0sR0FBRyxnQ0FBb0IsRUFBcEIsQ0FBZjtJQUNBQSxNQUFNLENBQUNILE1BQVAsQ0FBY0ksR0FBZCxDQUFrQjtNQUNoQkMsV0FBVyxFQUFFLFFBREc7TUFFaEJDLGNBQWMsRUFBRUMsU0FGQTtNQUdoQkMsWUFBWSxFQUFFO0lBSEUsQ0FBbEI7RUFLRCxDQVBDLENBQUY7RUFTQU4sRUFBRSxDQUFDLDRCQUFELEVBQStCLFlBQVk7SUFDM0MsTUFBTUMsTUFBTSxHQUFHLGdDQUFvQjtNQUNqQ0UsV0FBVyxFQUFFLE1BRG9CO01BRWpDQyxjQUFjLEVBQUUsSUFGaUI7TUFHakNFLFlBQVksRUFBRTtJQUhtQixDQUFwQixDQUFmO0lBS0FMLE1BQU0sQ0FBQ0gsTUFBUCxDQUFjSSxHQUFkLENBQWtCO01BQ2hCQyxXQUFXLEVBQUUsUUFERztNQUVoQkMsY0FBYyxFQUFFLElBRkE7TUFHaEJFLFlBQVksRUFBRTtJQUhFLENBQWxCO0VBS0QsQ0FYQyxDQUFGO0VBYUFOLEVBQUUsQ0FBQywrQ0FBRCxFQUFrRCxZQUFZO0lBQzlELE1BQU1DLE1BQU0sR0FBRyxnQ0FBb0I7TUFDakMscUJBQXFCLE1BRFk7TUFFakMsZUFBZSxLQUZrQjtNQUdqQyxjQUFjO0lBSG1CLENBQXBCLENBQWY7SUFLQUEsTUFBTSxDQUFDSCxNQUFQLENBQWNJLEdBQWQsQ0FBa0I7TUFDaEJDLFdBQVcsRUFBRSxRQURHO01BRWhCQyxjQUFjLEVBQUVDLFNBRkE7TUFHaEJDLFlBQVksRUFBRSxLQUhFO01BSWhCLHFCQUFxQixNQUpMO01BS2hCLGVBQWU7SUFMQyxDQUFsQjtFQU9ELENBYkMsQ0FBRjtBQWNELENBckNPLENBQVIifQ==
@@ -15,4 +15,4 @@ const MOCHA_TIMEOUT = 240000;
15
15
  exports.MOCHA_TIMEOUT = MOCHA_TIMEOUT;require('source-map-support').install();
16
16
 
17
17
 
18
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvdXRpbHMuanMiXSwibmFtZXMiOlsiSE9TVCIsIlBPUlQiLCJNT0NIQV9USU1FT1VUIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxNQUFNQSxJQUFJLEdBQUcsV0FBYjs7QUFDQSxNQUFNQyxJQUFJLEdBQUcsSUFBYjs7QUFDQSxNQUFNQyxhQUFhLEdBQUcsTUFBdEIiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBIT1NUID0gJzEyNy4wLjAuMSc7XG5jb25zdCBQT1JUID0gNDU2NztcbmNvbnN0IE1PQ0hBX1RJTUVPVVQgPSAyNDAwMDA7XG5cbmV4cG9ydCB7IEhPU1QsIFBPUlQsIE1PQ0hBX1RJTUVPVVQgfTtcbiJdLCJmaWxlIjoidGVzdC91dGlscy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
18
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC91dGlscy5qcyIsIm5hbWVzIjpbIkhPU1QiLCJQT1JUIiwiTU9DSEFfVElNRU9VVCJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbInRlc3QvdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgSE9TVCA9ICcxMjcuMC4wLjEnO1xuY29uc3QgUE9SVCA9IDQ1Njc7XG5jb25zdCBNT0NIQV9USU1FT1VUID0gMjQwMDAwO1xuXG5leHBvcnQgeyBIT1NULCBQT1JULCBNT0NIQV9USU1FT1VUIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE1BQU1BLElBQUksR0FBRyxXQUFiOztBQUNBLE1BQU1DLElBQUksR0FBRyxJQUFiOztBQUNBLE1BQU1DLGFBQWEsR0FBRyxNQUF0QiJ9
@@ -1,7 +1,6 @@
1
1
  import _ from 'lodash';
2
2
  import { util, fs, net, tempDir } from '@appium/support';
3
3
  import { waitForCondition } from 'asyncbox';
4
- import log from '../logger';
5
4
  import Simctl from 'node-simctl';
6
5
 
7
6
 
@@ -16,8 +15,6 @@ const DEFAULT_EXT = '.mp4';
16
15
 
17
16
  async function uploadRecordedMedia (localFile, remotePath = null, uploadOptions = {}) {
18
17
  if (_.isEmpty(remotePath)) {
19
- const {size} = await fs.stat(localFile);
20
- log.debug(`The size of the resulting screen recording is ${util.toReadableSizeString(size)}`);
21
18
  return (await util.toInMemoryBase64(localFile)).toString();
22
19
  }
23
20
 
@@ -45,7 +42,8 @@ process.on('exit', () => {
45
42
  });
46
43
 
47
44
  class ScreenRecorder {
48
- constructor (udid, videoPath, opts = {}) {
45
+ constructor (udid, videoPath, log, opts = {}) {
46
+ this.log = log;
49
47
  this._process = null;
50
48
  this._udid = udid;
51
49
  this._videoPath = videoPath;
@@ -70,7 +68,7 @@ class ScreenRecorder {
70
68
 
71
69
  async _enforceTermination () {
72
70
  if (this.isRunning) {
73
- log.debug('Force-stopping the currently running video recording');
71
+ this.log.debug('Force-stopping the currently running video recording');
74
72
  try {
75
73
  await this._process.stop('SIGKILL');
76
74
  } catch (ign) {}
@@ -102,20 +100,20 @@ class ScreenRecorder {
102
100
  args,
103
101
  asynchronous: true,
104
102
  });
105
- log.debug(`Starting video recording with arguments: ${util.quote(args)}`);
103
+ this.log.debug(`Starting video recording with arguments: ${util.quote(args)}`);
106
104
  this._process.on('output', (stdout, stderr) => {
107
105
  const line = _.trim(stdout || stderr);
108
106
  if (line) {
109
- log.debug(`[recordVideo@${this._udid.substring(0, 8)}] ${line}`);
107
+ this.log.debug(`[recordVideo@${this._udid.substring(0, 8)}] ${line}`);
110
108
  }
111
109
  });
112
110
  this._process.once('exit', async (code, signal) => {
113
111
  this._process = null;
114
112
  if (code === 0) {
115
- log.debug('Screen recording exited without errors');
113
+ this.log.debug('Screen recording exited without errors');
116
114
  } else {
117
115
  await this._enforceTermination();
118
- log.warn(`Screen recording exited with error code ${code}, signal ${signal}`);
116
+ this.log.warn(`Screen recording exited with error code ${code}, signal ${signal}`);
119
117
  }
120
118
  });
121
119
  await this._process.start(0);
@@ -131,7 +129,7 @@ class ScreenRecorder {
131
129
  });
132
130
  } catch (e) {
133
131
  await this._enforceTermination();
134
- log.errorAndThrow(`The expected screen record file '${this._videoPath}' does not exist after ${STARTUP_TIMEOUT_MS}ms. ` +
132
+ this.log.errorAndThrow(`The expected screen record file '${this._videoPath}' does not exist after ${STARTUP_TIMEOUT_MS}ms. ` +
135
133
  `Check the server log for more details`);
136
134
  }
137
135
  this._timer = setTimeout(async () => {
@@ -139,11 +137,11 @@ class ScreenRecorder {
139
137
  try {
140
138
  await this.stop();
141
139
  } catch (e) {
142
- log.error(e);
140
+ this.log.error(e);
143
141
  }
144
142
  }
145
143
  }, this._timeLimitMs);
146
- log.info(`The video recording has started. Will timeout in ${this._timeLimitMs}ms`);
144
+ this.log.info(`The video recording has started. Will timeout in ${this._timeLimitMs}ms`);
147
145
  }
148
146
 
149
147
  async stop (force = false) {
@@ -157,7 +155,7 @@ class ScreenRecorder {
157
155
  }
158
156
 
159
157
  if (!this.isRunning) {
160
- log.debug('Screen recording is not running. Returning the recently recorded video');
158
+ this.log.debug('Screen recording is not running. Returning the recently recorded video');
161
159
  return await this.getVideoPath();
162
160
  }
163
161
 
@@ -229,12 +227,12 @@ commands.startRecordingScreen = async function startRecordingScreen (options = {
229
227
  forceRestart = true,
230
228
  } = options;
231
229
  if (this._screenRecorder?.isRunning) {
232
- log.info('The screen recording is already running');
230
+ this.log.info('The screen recording is already running');
233
231
  if (!forceRestart) {
234
- log.info('Doing nothing');
232
+ this.log.info('Doing nothing');
235
233
  return;
236
234
  }
237
- log.info('Forcing the active screen recording to stop');
235
+ this.log.info('Forcing the active screen recording to stop');
238
236
  await this._screenRecorder.stop(true);
239
237
  }
240
238
  this._screenRecorder = null;
@@ -249,7 +247,7 @@ commands.startRecordingScreen = async function startRecordingScreen (options = {
249
247
  prefix: util.uuidV4().substring(0, 8),
250
248
  suffix: DEFAULT_EXT,
251
249
  });
252
- this._screenRecorder = new ScreenRecorder(udid, videoPath, {
250
+ this._screenRecorder = new ScreenRecorder(udid, videoPath, this.log, {
253
251
  timeLimit: parseInt(timeLimit, 10),
254
252
  codec,
255
253
  display,
@@ -294,16 +292,20 @@ commands.startRecordingScreen = async function startRecordingScreen (options = {
294
292
  */
295
293
  commands.stopRecordingScreen = async function stopRecordingScreen (options = {}) {
296
294
  if (!this._screenRecorder) {
297
- log.info('No screen recording has been started. Doing nothing');
295
+ this.log.info('No screen recording has been started. Doing nothing');
298
296
  return '';
299
297
  }
300
298
 
301
- log.debug('Retrieving the resulting video data');
299
+ this.log.debug('Retrieving the resulting video data');
302
300
  const videoPath = await this._screenRecorder.stop();
303
301
  if (!videoPath) {
304
- log.info('No video data is found. Returning an empty string');
302
+ this.log.info('No video data is found. Returning an empty string');
305
303
  return '';
306
304
  }
305
+ if (_.isEmpty(options.remotePath)) {
306
+ const {size} = await fs.stat(videoPath);
307
+ this.log.debug(`The size of the resulting screen recording is ${util.toReadableSizeString(size)}`);
308
+ }
307
309
  return await uploadRecordedMedia(videoPath, options.remotePath, options);
308
310
  };
309
311
 
package/lib/driver.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import _ from 'lodash';
2
2
  import { BaseDriver } from '@appium/base-driver';
3
- import log from './logger';
4
3
  import SafariDriverServer from './safari';
5
4
  import { desiredCapConstraints } from './desired-caps';
6
5
  import commands from './commands/index';
@@ -57,7 +56,7 @@ class SafariDriver extends BaseDriver {
57
56
 
58
57
  async createSession (...args) {
59
58
  const [sessionId, caps] = await super.createSession(...args);
60
- this.safari = new SafariDriverServer();
59
+ this.safari = new SafariDriverServer(this.log);
61
60
  try {
62
61
  await this.safari.start(formatCapsForServer(caps));
63
62
  } catch (e) {
@@ -70,7 +69,7 @@ class SafariDriver extends BaseDriver {
70
69
  }
71
70
 
72
71
  async deleteSession () {
73
- log.info('Ending Safari session');
72
+ this.log.info('Ending Safari session');
74
73
  await this._screenRecorder?.stop(true);
75
74
  await this.safari?.stop();
76
75
  this.resetState();
package/lib/safari.js CHANGED
@@ -7,8 +7,6 @@ import { waitForCondition } from 'asyncbox';
7
7
  import { findAPortNotInUse } from 'portscanner';
8
8
  import { execSync } from 'child_process';
9
9
 
10
- const log = logger.getLogger('SafariDriverServer');
11
-
12
10
  const SD_BINARY = 'safaridriver';
13
11
  const STARTUP_TIMEOUT = 10000; // seconds
14
12
  const SAFARI_PORT_RANGE = [5100, 5200];
@@ -31,9 +29,9 @@ class SafariProxy extends JWProxy {
31
29
  }
32
30
  }
33
31
 
34
-
35
32
  class SafariDriverProcess {
36
33
  constructor () {
34
+ this.log = logger.getLogger('SafariDriverProcess');
37
35
  this.port = null;
38
36
  this.proc = null;
39
37
  }
@@ -68,12 +66,12 @@ class SafariDriverProcess {
68
66
  this.proc = new SubProcess(safariBin, ['-p', this.port, '--diagnose']);
69
67
  this.proc.on('output', (stdout, stderr) => {
70
68
  const line = stdout || stderr;
71
- log.debug(`[${SD_BINARY}] ${line}`);
69
+ this.log.debug(`[${SD_BINARY}] ${line}`);
72
70
  });
73
71
  this.proc.on('exit', (code, signal) => {
74
- log.info(`${SD_BINARY} has exited with code ${code}, signal ${signal}`);
72
+ this.log.info(`${SD_BINARY} has exited with code ${code}, signal ${signal}`);
75
73
  });
76
- log.info(`Starting '${safariBin}' on port ${this.port}`);
74
+ this.log.info(`Starting '${safariBin}' on port ${this.port}`);
77
75
  await this.proc.start(0);
78
76
  });
79
77
  }
@@ -98,7 +96,8 @@ process.once('exit', () => {
98
96
  });
99
97
 
100
98
  class SafariDriverServer {
101
- constructor () {
99
+ constructor (log) {
100
+ this.log = log;
102
101
  this.proxy = null;
103
102
  }
104
103
 
@@ -113,6 +112,7 @@ class SafariDriverServer {
113
112
  server: '127.0.0.1',
114
113
  port: SAFARI_DRIVER_PROCESS.port,
115
114
  base: '',
115
+ log: this.log,
116
116
  keepAlive: true,
117
117
  });
118
118
  this.proxy.didProcessExit = false;
@@ -158,7 +158,7 @@ class SafariDriverServer {
158
158
 
159
159
  async stop () {
160
160
  if (!this.isRunning) {
161
- log.info(`${SD_BINARY} session cannot be stopped, because the server is not running`);
161
+ this.log.info(`${SD_BINARY} session cannot be stopped, because the server is not running`);
162
162
  return;
163
163
  }
164
164
 
@@ -166,7 +166,7 @@ class SafariDriverServer {
166
166
  try {
167
167
  await this.proxy.command(`/session/${this.proxy.sessionId}`, 'DELETE');
168
168
  } catch (e) {
169
- log.info(`${SD_BINARY} session cannot be deleted. Original error: ${e.message}`);
169
+ this.log.info(`${SD_BINARY} session cannot be deleted. Original error: ${e.message}`);
170
170
  }
171
171
  }
172
172
  }