appium-ios-device 2.4.0 → 2.4.3

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 (38) hide show
  1. package/build/index.js +1 -1
  2. package/build/lib/afc/index.js +1 -1
  3. package/build/lib/afc/protocol.js +1 -1
  4. package/build/lib/afc/streams.js +1 -1
  5. package/build/lib/afc/transformer/afcdecoder.js +1 -1
  6. package/build/lib/afc/transformer/afcencoder.js +1 -1
  7. package/build/lib/base-service.js +1 -1
  8. package/build/lib/constants.js +1 -1
  9. package/build/lib/house-arrest/index.js +1 -1
  10. package/build/lib/installation-proxy/index.js +1 -1
  11. package/build/lib/instrument/headers.js +34 -21
  12. package/build/lib/instrument/index.js +1 -1
  13. package/build/lib/instrument/transformer/dtx-decode.js +1 -1
  14. package/build/lib/instrument/transformer/dtx-encode.js +1 -1
  15. package/build/lib/instrument/transformer/nskeyed.js +1 -1
  16. package/build/lib/lockdown/index.js +1 -1
  17. package/build/lib/logger.js +1 -1
  18. package/build/lib/mcinstall/index.js +1 -1
  19. package/build/lib/notification-proxy/index.js +1 -1
  20. package/build/lib/plist-service/index.js +1 -1
  21. package/build/lib/plist-service/transformer/plist-service-decoder.js +1 -1
  22. package/build/lib/plist-service/transformer/plist-service-encoder.js +1 -1
  23. package/build/lib/services.js +1 -1
  24. package/build/lib/simulatelocation/index.js +1 -1
  25. package/build/lib/ssl-helper.js +1 -1
  26. package/build/lib/syslog/index.js +1 -1
  27. package/build/lib/syslog/transformer/syslog-decoder.js +1 -1
  28. package/build/lib/usbmux/index.js +1 -1
  29. package/build/lib/usbmux/transformer/usbmux-decoder.js +1 -1
  30. package/build/lib/usbmux/transformer/usbmux-encoder.js +1 -1
  31. package/build/lib/util/transformer/length-based-splitter.js +1 -1
  32. package/build/lib/util/transformer/stream-logger.js +1 -1
  33. package/build/lib/utilities.js +1 -1
  34. package/build/lib/webinspector/index.js +1 -1
  35. package/build/lib/webinspector/transformer/webinspector-decoder.js +1 -1
  36. package/build/lib/webinspector/transformer/webinspector-encoder.js +1 -1
  37. package/lib/instrument/headers.js +35 -19
  38. package/package.json +4 -3
@@ -175,4 +175,4 @@ async function connectPort(udid, port, socket = null) {
175
175
  }require('source-map-support').install();
176
176
 
177
177
 
178
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi91dGlsaXRpZXMuanMiXSwibmFtZXMiOlsiTE9DS0RPV05fUkVRVUVTVCIsIkRFVklDRV9USU1FIiwiS2V5IiwiREVWSUNFX1VUQ19PRkZTRVQiLCJERVZJQ0VfVElNRV9aT05FIiwiREVWSUNFX1ZFUlNJT04iLCJERVZJQ0VfTkFNRSIsImdldENvbm5lY3RlZERldmljZXMiLCJzb2NrZXQiLCJ1c2JtdXgiLCJVc2JtdXgiLCJlIiwibG9nIiwiZGVidWciLCJkZXZpY2VzIiwibGlzdERldmljZXMiLCJ1ZGlkcyIsIm1hcCIsImRldmljZSIsIlByb3BlcnRpZXMiLCJTZXJpYWxOdW1iZXIiLCJfIiwidW5pcSIsImNsb3NlIiwiZ2V0T1NWZXJzaW9uIiwidWRpZCIsImxvY2tkb3duIiwiY29ubmVjdExvY2tkb3duIiwiZ2V0VmFsdWUiLCJnZXREZXZpY2VOYW1lIiwiZ2V0RGV2aWNlSW5mbyIsImdldERldmljZVRpbWUiLCJzdGFydExvY2tkb3duU2Vzc2lvbiIsInRpbWVzdGFtcCIsInV0Y09mZnNldCIsInRpbWVab25lIiwicGFpclJlY29yZCIsInJlYWRQYWlyUmVjb3JkIiwiRXJyb3IiLCJzdGFydFNlc3Npb24iLCJIb3N0SUQiLCJTeXN0ZW1CVUlEIiwiZW5hYmxlU2Vzc2lvblNTTCIsIkhvc3RQcml2YXRlS2V5IiwiSG9zdENlcnRpZmljYXRlIiwiY29ubmVjdFBvcnRTU0wiLCJwb3J0IiwiaGFuZHNoYWtlT25seSIsImZpbmREZXZpY2UiLCJjb25uZWN0IiwiRGV2aWNlSUQiLCJ1bmRlZmluZWQiLCJjb25uZWN0UG9ydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUdBLE1BQU1BLGdCQUFnQixHQUFHO0FBQ3ZCQyxFQUFBQSxXQUFXLEVBQUU7QUFBRUMsSUFBQUEsR0FBRyxFQUFFO0FBQVAsR0FEVTtBQUV2QkMsRUFBQUEsaUJBQWlCLEVBQUU7QUFBRUQsSUFBQUEsR0FBRyxF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RCxRQUFNQyxNQUFNLEdBQUcsSUFBSUMsZUFBSixDQUFXRixNQUFNLEtBQUksTUFBTSwrQkFBVixDQUFqQixDQUFmOztBQUNBLE1BQUk7QUFDRixVQUFNVSxNQUFNLEdBQUcsTUFBTVQsTUFBTSxDQUFDdUMsVUFBUCxDQUFrQnZCLElBQWxCLENBQXJCOztBQUNBLFFBQUksQ0FBQ1AsTUFBTCxFQUFhO0FBQ1gsWUFBTSxJQUFJb0IsS0FBSixDQUFXLHNDQUFxQ2IsSUFBSyxFQUFyRCxDQUFOO0FBQ0Q7O0FBQ0QsV0FBTyxNQUFNaEIsTUFBTSxDQUFDd0MsT0FBUCxDQUFlL0IsTUFBTSxDQUFDQyxVQUFQLENBQWtCK0IsUUFBakMsRUFBMkNKLElBQTNDLEVBQWlESyxTQUFqRCxDQUFiO0FBQ0QsR0FORCxDQU1FLE9BQU94QyxDQUFQLEVBQVU7QUFDVkYsSUFBQUEsTUFBTSxDQUFDYyxLQUFQO0FBQ0EsVUFBTVosQ0FBTjtBQUNEO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVXNibXV4LCB7IGdldERlZmF1bHRTb2NrZXQgfSBmcm9tICcuL3VzYm11eCc7XG5pbXBvcnQgeyB1cGdyYWRlVG9TU0wsIGVuYWJsZVNTTEhhbmRzaGFrZU9ubHkgfSBmcm9tICcuL3NzbC1oZWxwZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2FtZG1hcnNoYWxsL2lPUy1JbnRlcm5hbHMvYmxvYi9tYXN0ZXIvbG9ja2JvdC9sb2NrYm90L2xvY2tkb3duX2tleXMuaFxuY29uc3QgTE9DS0RPV05fUkVRVUVTVCA9IHtcbiAgREVWSUNFX1RJTUU6IHsgS2V5OiAnVGltZUludGVydmFsU2luY2UxOTcwJyB9LFxuICBERVZJQ0VfVVRDX09GRlNFVDogeyBLZXk6ICdUaW1lWm9uZU9mZnNldEZyb21VVEMnIH0sXG4gIERFVklDRV9USU1FX1pPTkU6IHsgS2V5OiAnVGltZVpvbmUnIH0sXG4gIERFVklDRV9WRVJTSU9OOiB7IEtleTogJ1Byb2R1Y3RWZXJzaW9uJyB9LFxuICBERVZJQ0VfTkFNRTogeyBLZXk6ICdEZXZpY2VOYW1lJyB9XG59O1xuXG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB1ZGlkcyBvZiB0aGUgY29ubmVjdGVkIGRldmljZXNcbiAqXG4gKiBAcGFyYW0gez9uZXQuU29ja2V0fSBzb2NrZXQgdGhlIHNvY2tldCBvZiB1c2JtdXhkLiBJdCB3aWxsIGRlZmF1bHQgdG8gL3Zhci9ydW4vdXNibXV4ZCBpZiBpdCBpcyBub3QgcGFzc2VkXG4gKiBAcmV0dXJucyB7QXJyYXkuPHN0cmluZz59IFRoZSBsaXN0IG9mIGRldmljZSBzZXJpYWwgbnVtYmVycyAodWRpZCkgb3JcbiAqIGFuIGVtcHR5IGxpc3QgaWYgbm8gZGV2aWNlcyBhcmUgY29ubmVjdGVkXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldENvbm5lY3RlZERldmljZXMgKHNvY2tldCA9IG51bGwpIHtcbiAgbGV0IHVzYm11eDtcbiAgdHJ5IHtcbiAgICB1c2JtdXggPSBuZXcgVXNibXV4KHNvY2tldCB8fCBhd2FpdCBnZXREZWZhdWx0U29ja2V0KCkpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nLmRlYnVnKGUpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IGRldmljZXMgPSBhd2FpdCB1c2JtdXgubGlzdERldmljZXMoKTtcbiAgICBjb25zdCB1ZGlkcyA9IGRldmljZXMubWFwKChkZXZpY2UpID0+IGRldmljZS5Qcm9wZXJ0aWVzLlNlcmlhbE51bWJlcik7XG4gICAgcmV0dXJuIF8udW5pcSh1ZGlkcyk7XG4gIH0gZmluYWxseSB7XG4gICAgdXNibXV4LmNsb3NlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIG9zIHZlcnNpb24gb2YgdGhlIGRldmljZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1ZGlkIERldmljZSBVRElEXG4gKiBAcGFyYW0gez9uZXQuU29ja2V0fSBzb2NrZXQgdGhlIHNvY2tldCBvZiB1c2JtdXhkLiBJdCB3aWxsIGRlZmF1bHQgdG8gL3Zhci9ydW4vdXNibXV4ZCBpZiBpdCBpcyBub3QgcGFzc2VkXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5hc3luYyBmdW5jdGlvbiBnZXRPU1ZlcnNpb24gKHVkaWQsIHNvY2tldCA9IG51bGwpIHtcbiAgY29uc3QgdXNibXV4ID0gbmV3IFVzYm11eChzb2NrZXQgfHwgYXdhaXQgZ2V0RGVmYXVsdFNvY2tldCgpKTtcbiAgdHJ5IHtcbiAgICAvLyBsb2NrZG93biBkb2Vzbid0IG5lZWQgdG8gYmUgY2xvc2VkIHNpbmNlIGl0IHVzZXMgdGhlIHNhbWUgc29ja2V0IHVzYm11eCB1c2VzXG4gICAgY29uc3QgbG9ja2Rvd24gPSBhd2FpdCB1c2JtdXguY29ubmVjdExvY2tkb3duKHVkaWQpO1xuICAgIHJldHVybiBhd2FpdCBsb2NrZG93bi5nZXRWYWx1ZShMT0NLRE9XTl9SRVFVRVNULkRFVklDRV9WRVJTSU9OKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB1c2JtdXguY2xvc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgbmFtZSBvZiB0aGUgZGV2aWNlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgRGV2aWNlIFVESURcbiAqIEBwYXJhbSB7P25ldC5Tb2NrZXR9IHNvY2tldCB0aGUgc29ja2V0IG9mIHVzYm11eGQuIEl0IHdpbGwgZGVmYXVsdCB0byAvdmFyL3J1bi91c2JtdXhkIGlmIGl0IGlzIG5vdCBwYXNzZWRcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldERldmljZU5hbWUgKHVkaWQsIHNvY2tldCA9IG51bGwpIHtcbiAgY29uc3QgdXNibXV4ID0gbmV3IFVzYm11eChzb2NrZXQgfHwgYXdhaXQgZ2V0RGVmYXVsdFNvY2tldCgpKTtcbiAgdHJ5IHtcbiAgICAvLyBsb2NrZG93biBkb2Vzbid0IG5lZWQgdG8gYmUgY2xvc2VkIHNpbmNlIGl0IHVzZXMgdGhlIHNhbWUgc29ja2V0IHVzYm11eCB1c2VzXG4gICAgY29uc3QgbG9ja2Rvd24gPSBhd2FpdCB1c2JtdXguY29ubmVjdExvY2tkb3duKHVkaWQpO1xuICAgIHJldHVybiBhd2FpdCBsb2NrZG93bi5nZXRWYWx1ZShMT0NLRE9XTl9SRVFVRVNULkRFVklDRV9OQU1FKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB1c2JtdXguY2xvc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgYWxsIGF2YWlsYWJsZSBkZXZpY2UgdmFsdWVzXG4gKiBAcGFyYW0ge3N0cmluZ30gdWRpZCBEZXZpY2UgVURJRFxuICogQHBhcmFtIHs/bmV0LlNvY2tldH0gc29ja2V0IHRoZSBzb2NrZXQgb2YgdXNibXV4ZC4gSXQgd2lsbCBkZWZhdWx0IHRvIC92YXIvcnVuL3VzYm11eGQgaWYgaXQgaXMgbm90IHBhc3NlZFxuICogQHJldHVybnMge29iamVjdH0gUmV0dXJucyBhdmFpbGFibGUgZGVmYXVsdCBkZXZpY2UgdmFsdWVzIHZpYSBsb2NrZG93bi5cbiAqIGUuZy5cbiAqIHtcbiAqICAgXCJCYXNlYmFuZENlcnRJZFwiPT4zODQwMTQ5NTI4LFxuICogICBcIkJhc2ViYW5kS2V5SGFzaEluZm9ybWF0aW9uXCI9PlxuICogICAgIHtcIkFLZXlTdGF0dXNcIj0+MixcbiAqICAgICBcIlNLZXlIYXNoXCI9PntcbiAqICAgICAgIFwidHlwZVwiPT5cIkJ1ZmZlclwiLFxuICogICAgICAgXCJkYXRhXCI9PlsxODcsIDIzOSwgLi4uLl19LFxuICogICAgIFwiU0tleVN0YXR1c1wiPT4wfSxcbiAqICAgXCJCYXNlYmFuZFNlcmlhbE51bWJlclwiPT57XCJ0eXBlXCI9PlwiQnVmZmVyXCIsIFwiZGF0YVwiPT5bLi4uXX0sXG4gKiAgIFwiQmFzZWJhbmRWZXJzaW9uXCI9PlwiMTEuMDEuMDJcIixcbiAqICAgXCJCb2FyZElkXCI9PjIsXG4gKiAgIFwiQnVpbGRWZXJzaW9uXCI9PlwiMTlDNTZcIixcbiAqICAgXCJDUFVBcmNoaXRlY3R1cmVcIj0+XCJhcm02NFwiLFxuICogICBcIkNoaXBJRFwiPT4zMjc2OCxcbiAqICAgXCJEZXZpY2VDbGFzc1wiPT5cImlQaG9uZVwiLFxuICogICBcIkRldmljZUNvbG9yXCI9PlwiI2M4Y2FjYVwiLFxuICogICBcIkRldmljZU5hbWVcIj0+XCJrYXp1XCIsXG4gKiAgIFwiRGllSURcIj0+MTExMTExMTExMTExMSxcbiAqICAgXCJIYXJkd2FyZU1vZGVsXCI9PlwiTjY5dUFQXCIsXG4gKiAgIFwiSGFzU2lEUFwiPT50cnVlLFxuICogICBcIlBhcnRpdGlvblR5cGVcIj0+XCJHVUlEX3BhcnRpdGlvbl9zY2hlbWVcIixcbiAqICAgXCJQcm9kdWN0TmFtZVwiPT5cImlQaG9uZSBPU1wiLFxuICogICBcIlByb2R1Y3RUeXBlXCI9PlwiaVBob25lOCw0XCIsXG4gKiAgIFwiUHJvZHVjdFZlcnNpb25cIj0+XCIxNS4yXCIsXG4gKiAgIFwiUHJvZHVjdGlvblNPQ1wiPT50cnVlLFxuICogICBcIlByb3RvY29sVmVyc2lvblwiPT5cIjJcIixcbiAqICAgXCJTdXBwb3J0ZWREZXZpY2VGYW1pbGllc1wiPT5bMV0sXG4gKiAgIFwiVGVsZXBob255Q2FwYWJpbGl0eVwiPT50cnVlLFxuICogICBcIlVuaXF1ZUNoaXBJRFwiPT4xMTExMTExMTExMTExLFxuICogICBcIlVuaXF1ZURldmljZUlEXCI9PlwiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYVwiLFxuICogICBcIldpRmlBZGRyZXNzXCI9PlwiMDA6MDA6MDA6MDA6MDA6MDBcIlxuICogfVxuICovXG5hc3luYyBmdW5jdGlvbiBnZXREZXZpY2VJbmZvICh1ZGlkLCBzb2NrZXQgPSBudWxsKSB7XG4gIGNvbnN0IHVzYm11eCA9IG5ldyBVc2JtdXgoc29ja2V0IHx8IGF3YWl0IGdldERlZmF1bHRTb2NrZXQoKSk7XG4gIHRyeSB7XG4gICAgY29uc3QgbG9ja2Rvd24gPSBhd2FpdCB1c2JtdXguY29ubmVjdExvY2tkb3duKHVkaWQpO1xuICAgIHJldHVybiBhd2FpdCBsb2NrZG93bi5nZXRWYWx1ZSgpO1xuICB9IGZpbmFsbHkge1xuICAgIHVzYm11eC5jbG9zZSgpO1xuICB9XG59XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRGV2aWNlVGltZVxuICpcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lc3RhbXAgVW5peCB0aW1lc3RhbXAgaW4gc2Vjb25kcyBzaW5jZSAxOTcwLTAxLTAxVDAwOjAwOjAwWlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHV0Y09mZnNldCBUaGUgZGlmZmVyZW5jZSBpbiBtaW51dGVzIGJldHdlZW4gdGhlIFVUQyB0aW1lIGFuZCB0aGUgbG9jYWwgZGV2aWNlIHRpbWUuXG4gKiBDYW4gYmUgbmVnYXRpdmUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGltZVpvbmUgVGltZSB6b25lIG5hbWUgY29uZmlndXJlZCBvbiB0aGUgZGV2aWNlLCBmb3IgZXhhbXBsZSBgRXVyb3BlL1BhcmlzYFxuICovXG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBsb2NhbCB0aW1lIGZyb20gdGhlIGRldmljZSB1bmRlciB0ZXN0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgRGV2aWNlIFVESURcbiAqIEBwYXJhbSB7P25ldC5Tb2NrZXR9IHNvY2tldCB0aGUgc29ja2V0IG9mIHVzYm11eGQuIEl0IHdpbGwgZGVmYXVsdCB0byAvdmFyL3J1bi91c2JtdXhkIGlmIGl0IGlzIG5vdCBwYXNzZWRcbiAqIEByZXR1cm5zIHtEZXZpY2VUaW1lfVxuICovXG5hc3luYyBmdW5jdGlvbiBnZXREZXZpY2VUaW1lICh1ZGlkLCBzb2NrZXQgPSBudWxsKSB7XG4gIGNvbnN0IGxvY2tkb3duID0gYXdhaXQgc3RhcnRMb2NrZG93blNlc3Npb24odWRpZCwgc29ja2V0KTtcbiAgdHJ5IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGltZXN0YW1wOiBhd2FpdCBsb2NrZG93bi5nZXRWYWx1ZShMT0NLRE9XTl9SRVFVRVNULkRFVklDRV9USU1FKSxcbiAgICAgIC8vIEFwcGxlIHJldHVybnMgdXRjT2Zmc2V0IGluIHNlY29uZHMgd2hpY2ggZG9lc250IGNvbXBseSB3aXRoIHRoZSBnZW5lcmFsIHN0YW5kYXJkXG4gICAgICB1dGNPZmZzZXQ6IGF3YWl0IGxvY2tkb3duLmdldFZhbHVlKExPQ0tET1dOX1JFUVVFU1QuREVWSUNFX1VUQ19PRkZTRVQpIC8gNjAsXG4gICAgICB0aW1lWm9uZTogYXdhaXQgbG9ja2Rvd24uZ2V0VmFsdWUoTE9DS0RPV05fUkVRVUVTVC5ERVZJQ0VfVElNRV9aT05FKSxcbiAgICB9O1xuICB9IGZpbmFsbHkge1xuICAgIGxvY2tkb3duLmNsb3NlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBTdGFydHMgYSBsb2NrZG93biBzZXNzaW9uIG9uIHRoZSBnaXZlbiBkZXZpY2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdWRpZCBEZXZpY2UgVURJRFxuICogQHBhcmFtIHs/bmV0LlNvY2tldH0gc29ja2V0IHRoZSBzb2NrZXQgb2YgdXNibXV4ZC4gSXQgd2lsbCBkZWZhdWx0IHRvIC92YXIvcnVuL3VzYm11eGQgaWYgaXQgaXMgbm90IHBhc3NlZFxuICogQHJldHVybnMge0xvY2tkb3dufVxuICovXG5hc3luYyBmdW5jdGlvbiBzdGFydExvY2tkb3duU2Vzc2lvbiAodWRpZCwgc29ja2V0ID0gbnVsbCkge1xuICBjb25zdCB1c2JtdXggPSBuZXcgVXNibXV4KHNvY2tldCB8fCBhd2FpdCBnZXREZWZhdWx0U29ja2V0KCkpO1xuICB0cnkge1xuICAgIGNvbnN0IHBhaXJSZWNvcmQgPSBhd2FpdCB1c2JtdXgucmVhZFBhaXJSZWNvcmQodWRpZCk7XG4gICAgaWYgKCFwYWlyUmVjb3JkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIGEgcGFpciByZWNvcmQgZm9yIGRldmljZSAnJHt1ZGlkfScuIFBsZWFzZSBmaXJzdCBwYWlyIHdpdGggdGhlIGRldmljZWApO1xuICAgIH1cbiAgICAvLyBsb2NrZG93biBkb2Vzbid0IG5lZWQgdG8gYmUgY2xvc2VkIHNpbmNlIGl0IHVzZXMgdGhlIHNhbWUgc29ja2V0IHVzYm11eCB1c2VzXG4gICAgY29uc3QgbG9ja2Rvd24gPSBhd2FpdCB1c2JtdXguY29ubmVjdExvY2tkb3duKHVkaWQpO1xuICAgIGF3YWl0IGxvY2tkb3duLnN0YXJ0U2Vzc2lvbihwYWlyUmVjb3JkLkhvc3RJRCwgcGFpclJlY29yZC5TeXN0ZW1CVUlEKTtcbiAgICBsb2NrZG93bi5lbmFibGVTZXNzaW9uU1NMKHBhaXJSZWNvcmQuSG9zdFByaXZhdGVLZXksIHBhaXJSZWNvcmQuSG9zdENlcnRpZmljYXRlKTtcbiAgICByZXR1cm4gbG9ja2Rvd247XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB1c2JtdXguY2xvc2UoKTtcbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbi8qKlxuICogQ29ubmVjdHMgdG8gYSBnaXZlbiBwb3J0IHdpdGggdGhlIGNlcnRzIGFuZCBrZXlzIHVzZWQgaW4gdGhlIHBhaXJpbmcgcHJvY2Vzc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1ZGlkIERldmljZSBVRElEXG4gKiBAcGFyYW0ge251bWJlcn0gcG9ydCBQb3J0IHRvIGNvbm5lY3RcbiAqIEBwYXJhbSB7P25ldC5Tb2NrZXR9IHNvY2tldCB0aGUgc29ja2V0IG9mIHVzYm11eGQuIEl0IHdpbGwgZGVmYXVsdCB0byAvdmFyL3J1bi91c2JtdXhkIGlmIGl0IGlzIG5vdCBwYXNzZWRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaGFuZHNoYWtlT25seSBvbmx5IGhhbmRzaGFrZSBhbmQgcmV0dXJuIHRoZSBpbml0aWFsIHNvY2tldFxuICogQHJldHVybnMge3Rscy5UTFNTb2NrZXR8T2JqZWN0fSBUaGUgc29ja2V0IG9yIHRoZSBvYmplY3QgcmV0dXJuZWQgaW4gdGhlIGNhbGxiYWNrIGlmIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBleGlzdHNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gY29ubmVjdFBvcnRTU0wgKHVkaWQsIHBvcnQsIHNvY2tldCA9IG51bGwsIGhhbmRzaGFrZU9ubHkgPSBmYWxzZSkge1xuICBjb25zdCB1c2JtdXggPSBuZXcgVXNibXV4KHNvY2tldCB8fCBhd2FpdCBnZXREZWZhdWx0U29ja2V0KCkpO1xuICB0cnkge1xuICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IHVzYm11eC5maW5kRGV2aWNlKHVkaWQpO1xuICAgIGlmICghZGV2aWNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIHRoZSBleHBlY3RlZCBkZXZpY2UgJyR7dWRpZH0nYCk7XG4gICAgfVxuICAgIGNvbnN0IHBhaXJSZWNvcmQgPSBhd2FpdCB1c2JtdXgucmVhZFBhaXJSZWNvcmQodWRpZCk7XG4gICAgaWYgKCFwYWlyUmVjb3JkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIGEgcGFpciByZWNvcmQgZm9yIGRldmljZSAnJHt1ZGlkfScuIFBsZWFzZSBmaXJzdCBwYWlyIHdpdGggdGhlIGRldmljZWApO1xuICAgIH1cbiAgICBjb25zdCBzb2NrZXQgPSBhd2FpdCB1c2JtdXguY29ubmVjdChkZXZpY2UuUHJvcGVydGllcy5EZXZpY2VJRCwgcG9ydCwgdW5kZWZpbmVkKTtcbiAgICByZXR1cm4gaGFuZHNoYWtlT25seSA/XG4gICAgICBhd2FpdCBlbmFibGVTU0xIYW5kc2hha2VPbmx5KHNvY2tldCwgcGFpclJlY29yZC5Ib3N0UHJpdmF0ZUtleSwgcGFpclJlY29yZC5Ib3N0Q2VydGlmaWNhdGUpIDpcbiAgICAgIHVwZ3JhZGVUb1NTTChzb2NrZXQsIHBhaXJSZWNvcmQuSG9zdFByaXZhdGVLZXksIHBhaXJSZWNvcmQuSG9zdENlcnRpZmljYXRlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHVzYm11eC5jbG9zZSgpO1xuICAgIHRocm93IGU7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25uZWN0cyB0byBhIGdpdmVuIHBvcnRcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdWRpZCBEZXZpY2UgVURJRFxuICogQHBhcmFtIHtudW1iZXJ9IHBvcnQgUG9ydCB0byBjb25uZWN0XG4gKiBAcGFyYW0gez9uZXQuU29ja2V0fSBzb2NrZXQgdGhlIHNvY2tldCBvZiB1c2JtdXhkLiBJdCB3aWxsIGRlZmF1bHQgdG8gL3Zhci9ydW4vdXNibXV4ZCBpZiBpdCBpcyBub3QgcGFzc2VkXG4gKiBAcmV0dXJucyB7bmV0LlNvY2tldHxPYmplY3R9IFRoZSBzb2NrZXQgb3IgdGhlIG9iamVjdCByZXR1cm5lZCBpbiB0aGUgY2FsbGJhY2sgaWYgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGV4aXN0c1xuICovXG5hc3luYyBmdW5jdGlvbiBjb25uZWN0UG9ydCAodWRpZCwgcG9ydCwgc29ja2V0ID0gbnVsbCkge1xuICBjb25zdCB1c2JtdXggPSBuZXcgVXNibXV4KHNvY2tldCB8fCBhd2FpdCBnZXREZWZhdWx0U29ja2V0KCkpO1xuICB0cnkge1xuICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IHVzYm11eC5maW5kRGV2aWNlKHVkaWQpO1xuICAgIGlmICghZGV2aWNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIHRoZSBleHBlY3RlZCBkZXZpY2UgJHt1ZGlkfWApO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgdXNibXV4LmNvbm5lY3QoZGV2aWNlLlByb3BlcnRpZXMuRGV2aWNlSUQsIHBvcnQsIHVuZGVmaW5lZCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB1c2JtdXguY2xvc2UoKTtcbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbmV4cG9ydCB7XG4gIGdldENvbm5lY3RlZERldmljZXMsIGdldE9TVmVyc2lvbiwgZ2V0RGV2aWNlTmFtZSwgZ2V0RGV2aWNlVGltZSxcbiAgc3RhcnRMb2NrZG93blNlc3Npb24sIGNvbm5lY3RQb3J0LCBjb25uZWN0UG9ydFNTTCwgZ2V0RGV2aWNlSW5mb1xufTtcbiJdLCJmaWxlIjoibGliL3V0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
178
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3V0aWxpdGllcy5qcyIsIm5hbWVzIjpbIkxPQ0tET1dOX1JFUVVFU1QiLCJERVZJQ0VfVElNRSIsIktleSIsIkRFVklDRV9VVENfT0ZGU0VUIiwiREVWSUNFX1RJTUVfWk9ORSIsIkRFVklDRV9WRVJTSU9OIiwiREVWSUNFX05BTUUiLCJnZXRDb25uZWN0ZWREZXZpY2VzIiwic29ja2V0IiwidXNibXV4IiwiVXNibXV4IiwiZ2V0RGVmYXVsdFNvY2tldCIsImUiLCJsb2ciLCJkZWJ1ZyIsImRldmljZXMiLCJsaXN0RGV2aWNlcyIsInVkaWRzIiwibWFwIiwiZGV2aWNlIiwiUHJvcGVydGllcyIsIlNlcmlhbE51bWJlciIsIl8iLCJ1bmlxIiwiY2xvc2UiLCJnZXRPU1ZlcnNpb24iLCJ1ZGlkIiwibG9ja2Rvd24iLCJjb25uZWN0TG9ja2Rvd24iLCJnZXRWYWx1ZSIsImdldERldmljZU5hbWUiLCJnZXREZXZpY2VJbmZvIiwiZ2V0RGV2aWNlVGltZSIsInN0YXJ0TG9ja2Rvd25TZXNzaW9uIiwidGltZXN0YW1wIiwidXRjT2Zmc2V0IiwidGltZVpvbmUiLCJwYWlyUmVjb3JkIiwicmVhZFBhaXJSZWNvcmQiLCJFcnJvciIsInN0YXJ0U2Vzc2lvbiIsIkhvc3RJRCIsIlN5c3RlbUJVSUQiLCJlbmFibGVTZXNzaW9uU1NMIiwiSG9zdFByaXZhdGVLZXkiLCJIb3N0Q2VydGlmaWNhdGUiLCJjb25uZWN0UG9ydFNTTCIsInBvcnQiLCJoYW5kc2hha2VPbmx5IiwiZmluZERldmljZSIsImNvbm5lY3QiLCJEZXZpY2VJRCIsInVuZGVmaW5lZCIsImVuYWJsZVNTTEhhbmRzaGFrZU9ubHkiLCJ1cGdyYWRlVG9TU0wiLCJjb25uZWN0UG9ydCJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi91dGlsaXRpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFVzYm11eCwgeyBnZXREZWZhdWx0U29ja2V0IH0gZnJvbSAnLi91c2JtdXgnO1xuaW1wb3J0IHsgdXBncmFkZVRvU1NMLCBlbmFibGVTU0xIYW5kc2hha2VPbmx5IH0gZnJvbSAnLi9zc2wtaGVscGVyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3NhbWRtYXJzaGFsbC9pT1MtSW50ZXJuYWxzL2Jsb2IvbWFzdGVyL2xvY2tib3QvbG9ja2JvdC9sb2NrZG93bl9rZXlzLmhcbmNvbnN0IExPQ0tET1dOX1JFUVVFU1QgPSB7XG4gIERFVklDRV9USU1FOiB7IEtleTogJ1RpbWVJbnRlcnZhbFNpbmNlMTk3MCcgfSxcbiAgREVWSUNFX1VUQ19PRkZTRVQ6IHsgS2V5OiAnVGltZVpvbmVPZmZzZXRGcm9tVVRDJyB9LFxuICBERVZJQ0VfVElNRV9aT05FOiB7IEtleTogJ1RpbWVab25lJyB9LFxuICBERVZJQ0VfVkVSU0lPTjogeyBLZXk6ICdQcm9kdWN0VmVyc2lvbicgfSxcbiAgREVWSUNFX05BTUU6IHsgS2V5OiAnRGV2aWNlTmFtZScgfVxufTtcblxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdWRpZHMgb2YgdGhlIGNvbm5lY3RlZCBkZXZpY2VzXG4gKlxuICogQHBhcmFtIHs/bmV0LlNvY2tldH0gc29ja2V0IHRoZSBzb2NrZXQgb2YgdXNibXV4ZC4gSXQgd2lsbCBkZWZhdWx0IHRvIC92YXIvcnVuL3VzYm11eGQgaWYgaXQgaXMgbm90IHBhc3NlZFxuICogQHJldHVybnMge0FycmF5LjxzdHJpbmc+fSBUaGUgbGlzdCBvZiBkZXZpY2Ugc2VyaWFsIG51bWJlcnMgKHVkaWQpIG9yXG4gKiBhbiBlbXB0eSBsaXN0IGlmIG5vIGRldmljZXMgYXJlIGNvbm5lY3RlZFxuICovXG5hc3luYyBmdW5jdGlvbiBnZXRDb25uZWN0ZWREZXZpY2VzIChzb2NrZXQgPSBudWxsKSB7XG4gIGxldCB1c2JtdXg7XG4gIHRyeSB7XG4gICAgdXNibXV4ID0gbmV3IFVzYm11eChzb2NrZXQgfHwgYXdhaXQgZ2V0RGVmYXVsdFNvY2tldCgpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZy5kZWJ1ZyhlKTtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBkZXZpY2VzID0gYXdhaXQgdXNibXV4Lmxpc3REZXZpY2VzKCk7XG4gICAgY29uc3QgdWRpZHMgPSBkZXZpY2VzLm1hcCgoZGV2aWNlKSA9PiBkZXZpY2UuUHJvcGVydGllcy5TZXJpYWxOdW1iZXIpO1xuICAgIHJldHVybiBfLnVuaXEodWRpZHMpO1xuICB9IGZpbmFsbHkge1xuICAgIHVzYm11eC5jbG9zZSgpO1xuICB9XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBvcyB2ZXJzaW9uIG9mIHRoZSBkZXZpY2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdWRpZCBEZXZpY2UgVURJRFxuICogQHBhcmFtIHs/bmV0LlNvY2tldH0gc29ja2V0IHRoZSBzb2NrZXQgb2YgdXNibXV4ZC4gSXQgd2lsbCBkZWZhdWx0IHRvIC92YXIvcnVuL3VzYm11eGQgaWYgaXQgaXMgbm90IHBhc3NlZFxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0T1NWZXJzaW9uICh1ZGlkLCBzb2NrZXQgPSBudWxsKSB7XG4gIGNvbnN0IHVzYm11eCA9IG5ldyBVc2JtdXgoc29ja2V0IHx8IGF3YWl0IGdldERlZmF1bHRTb2NrZXQoKSk7XG4gIHRyeSB7XG4gICAgLy8gbG9ja2Rvd24gZG9lc24ndCBuZWVkIHRvIGJlIGNsb3NlZCBzaW5jZSBpdCB1c2VzIHRoZSBzYW1lIHNvY2tldCB1c2JtdXggdXNlc1xuICAgIGNvbnN0IGxvY2tkb3duID0gYXdhaXQgdXNibXV4LmNvbm5lY3RMb2NrZG93bih1ZGlkKTtcbiAgICByZXR1cm4gYXdhaXQgbG9ja2Rvd24uZ2V0VmFsdWUoTE9DS0RPV05fUkVRVUVTVC5ERVZJQ0VfVkVSU0lPTik7XG4gIH0gZmluYWxseSB7XG4gICAgdXNibXV4LmNsb3NlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIG5hbWUgb2YgdGhlIGRldmljZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1ZGlkIERldmljZSBVRElEXG4gKiBAcGFyYW0gez9uZXQuU29ja2V0fSBzb2NrZXQgdGhlIHNvY2tldCBvZiB1c2JtdXhkLiBJdCB3aWxsIGRlZmF1bHQgdG8gL3Zhci9ydW4vdXNibXV4ZCBpZiBpdCBpcyBub3QgcGFzc2VkXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5hc3luYyBmdW5jdGlvbiBnZXREZXZpY2VOYW1lICh1ZGlkLCBzb2NrZXQgPSBudWxsKSB7XG4gIGNvbnN0IHVzYm11eCA9IG5ldyBVc2JtdXgoc29ja2V0IHx8IGF3YWl0IGdldERlZmF1bHRTb2NrZXQoKSk7XG4gIHRyeSB7XG4gICAgLy8gbG9ja2Rvd24gZG9lc24ndCBuZWVkIHRvIGJlIGNsb3NlZCBzaW5jZSBpdCB1c2VzIHRoZSBzYW1lIHNvY2tldCB1c2JtdXggdXNlc1xuICAgIGNvbnN0IGxvY2tkb3duID0gYXdhaXQgdXNibXV4LmNvbm5lY3RMb2NrZG93bih1ZGlkKTtcbiAgICByZXR1cm4gYXdhaXQgbG9ja2Rvd24uZ2V0VmFsdWUoTE9DS0RPV05fUkVRVUVTVC5ERVZJQ0VfTkFNRSk7XG4gIH0gZmluYWxseSB7XG4gICAgdXNibXV4LmNsb3NlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBhdmFpbGFibGUgZGV2aWNlIHZhbHVlc1xuICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgRGV2aWNlIFVESURcbiAqIEBwYXJhbSB7P25ldC5Tb2NrZXR9IHNvY2tldCB0aGUgc29ja2V0IG9mIHVzYm11eGQuIEl0IHdpbGwgZGVmYXVsdCB0byAvdmFyL3J1bi91c2JtdXhkIGlmIGl0IGlzIG5vdCBwYXNzZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9IFJldHVybnMgYXZhaWxhYmxlIGRlZmF1bHQgZGV2aWNlIHZhbHVlcyB2aWEgbG9ja2Rvd24uXG4gKiBlLmcuXG4gKiB7XG4gKiAgIFwiQmFzZWJhbmRDZXJ0SWRcIj0+Mzg0MDE0OTUyOCxcbiAqICAgXCJCYXNlYmFuZEtleUhhc2hJbmZvcm1hdGlvblwiPT5cbiAqICAgICB7XCJBS2V5U3RhdHVzXCI9PjIsXG4gKiAgICAgXCJTS2V5SGFzaFwiPT57XG4gKiAgICAgICBcInR5cGVcIj0+XCJCdWZmZXJcIixcbiAqICAgICAgIFwiZGF0YVwiPT5bMTg3LCAyMzksIC4uLi5dfSxcbiAqICAgICBcIlNLZXlTdGF0dXNcIj0+MH0sXG4gKiAgIFwiQmFzZWJhbmRTZXJpYWxOdW1iZXJcIj0+e1widHlwZVwiPT5cIkJ1ZmZlclwiLCBcImRhdGFcIj0+Wy4uLl19LFxuICogICBcIkJhc2ViYW5kVmVyc2lvblwiPT5cIjExLjAxLjAyXCIsXG4gKiAgIFwiQm9hcmRJZFwiPT4yLFxuICogICBcIkJ1aWxkVmVyc2lvblwiPT5cIjE5QzU2XCIsXG4gKiAgIFwiQ1BVQXJjaGl0ZWN0dXJlXCI9PlwiYXJtNjRcIixcbiAqICAgXCJDaGlwSURcIj0+MzI3NjgsXG4gKiAgIFwiRGV2aWNlQ2xhc3NcIj0+XCJpUGhvbmVcIixcbiAqICAgXCJEZXZpY2VDb2xvclwiPT5cIiNjOGNhY2FcIixcbiAqICAgXCJEZXZpY2VOYW1lXCI9Plwia2F6dVwiLFxuICogICBcIkRpZUlEXCI9PjExMTExMTExMTExMTEsXG4gKiAgIFwiSGFyZHdhcmVNb2RlbFwiPT5cIk42OXVBUFwiLFxuICogICBcIkhhc1NpRFBcIj0+dHJ1ZSxcbiAqICAgXCJQYXJ0aXRpb25UeXBlXCI9PlwiR1VJRF9wYXJ0aXRpb25fc2NoZW1lXCIsXG4gKiAgIFwiUHJvZHVjdE5hbWVcIj0+XCJpUGhvbmUgT1NcIixcbiAqICAgXCJQcm9kdWN0VHlwZVwiPT5cImlQaG9uZTgsNFwiLFxuICogICBcIlByb2R1Y3RWZXJzaW9uXCI9PlwiMTUuMlwiLFxuICogICBcIlByb2R1Y3Rpb25TT0NcIj0+dHJ1ZSxcbiAqICAgXCJQcm90b2NvbFZlcnNpb25cIj0+XCIyXCIsXG4gKiAgIFwiU3VwcG9ydGVkRGV2aWNlRmFtaWxpZXNcIj0+WzFdLFxuICogICBcIlRlbGVwaG9ueUNhcGFiaWxpdHlcIj0+dHJ1ZSxcbiAqICAgXCJVbmlxdWVDaGlwSURcIj0+MTExMTExMTExMTExMSxcbiAqICAgXCJVbmlxdWVEZXZpY2VJRFwiPT5cImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFcIixcbiAqICAgXCJXaUZpQWRkcmVzc1wiPT5cIjAwOjAwOjAwOjAwOjAwOjAwXCJcbiAqIH1cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0RGV2aWNlSW5mbyAodWRpZCwgc29ja2V0ID0gbnVsbCkge1xuICBjb25zdCB1c2JtdXggPSBuZXcgVXNibXV4KHNvY2tldCB8fCBhd2FpdCBnZXREZWZhdWx0U29ja2V0KCkpO1xuICB0cnkge1xuICAgIGNvbnN0IGxvY2tkb3duID0gYXdhaXQgdXNibXV4LmNvbm5lY3RMb2NrZG93bih1ZGlkKTtcbiAgICByZXR1cm4gYXdhaXQgbG9ja2Rvd24uZ2V0VmFsdWUoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB1c2JtdXguY2xvc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IERldmljZVRpbWVcbiAqXG4gKiBAcHJvcGVydHkge251bWJlcn0gdGltZXN0YW1wIFVuaXggdGltZXN0YW1wIGluIHNlY29uZHMgc2luY2UgMTk3MC0wMS0wMVQwMDowMDowMFpcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB1dGNPZmZzZXQgVGhlIGRpZmZlcmVuY2UgaW4gbWludXRlcyBiZXR3ZWVuIHRoZSBVVEMgdGltZSBhbmQgdGhlIGxvY2FsIGRldmljZSB0aW1lLlxuICogQ2FuIGJlIG5lZ2F0aXZlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRpbWVab25lIFRpbWUgem9uZSBuYW1lIGNvbmZpZ3VyZWQgb24gdGhlIGRldmljZSwgZm9yIGV4YW1wbGUgYEV1cm9wZS9QYXJpc2BcbiAqL1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgbG9jYWwgdGltZSBmcm9tIHRoZSBkZXZpY2UgdW5kZXIgdGVzdFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1ZGlkIERldmljZSBVRElEXG4gKiBAcGFyYW0gez9uZXQuU29ja2V0fSBzb2NrZXQgdGhlIHNvY2tldCBvZiB1c2JtdXhkLiBJdCB3aWxsIGRlZmF1bHQgdG8gL3Zhci9ydW4vdXNibXV4ZCBpZiBpdCBpcyBub3QgcGFzc2VkXG4gKiBAcmV0dXJucyB7RGV2aWNlVGltZX1cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0RGV2aWNlVGltZSAodWRpZCwgc29ja2V0ID0gbnVsbCkge1xuICBjb25zdCBsb2NrZG93biA9IGF3YWl0IHN0YXJ0TG9ja2Rvd25TZXNzaW9uKHVkaWQsIHNvY2tldCk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpbWVzdGFtcDogYXdhaXQgbG9ja2Rvd24uZ2V0VmFsdWUoTE9DS0RPV05fUkVRVUVTVC5ERVZJQ0VfVElNRSksXG4gICAgICAvLyBBcHBsZSByZXR1cm5zIHV0Y09mZnNldCBpbiBzZWNvbmRzIHdoaWNoIGRvZXNudCBjb21wbHkgd2l0aCB0aGUgZ2VuZXJhbCBzdGFuZGFyZFxuICAgICAgdXRjT2Zmc2V0OiBhd2FpdCBsb2NrZG93bi5nZXRWYWx1ZShMT0NLRE9XTl9SRVFVRVNULkRFVklDRV9VVENfT0ZGU0VUKSAvIDYwLFxuICAgICAgdGltZVpvbmU6IGF3YWl0IGxvY2tkb3duLmdldFZhbHVlKExPQ0tET1dOX1JFUVVFU1QuREVWSUNFX1RJTUVfWk9ORSksXG4gICAgfTtcbiAgfSBmaW5hbGx5IHtcbiAgICBsb2NrZG93bi5jbG9zZSgpO1xuICB9XG59XG5cbi8qKlxuICogU3RhcnRzIGEgbG9ja2Rvd24gc2Vzc2lvbiBvbiB0aGUgZ2l2ZW4gZGV2aWNlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgRGV2aWNlIFVESURcbiAqIEBwYXJhbSB7P25ldC5Tb2NrZXR9IHNvY2tldCB0aGUgc29ja2V0IG9mIHVzYm11eGQuIEl0IHdpbGwgZGVmYXVsdCB0byAvdmFyL3J1bi91c2JtdXhkIGlmIGl0IGlzIG5vdCBwYXNzZWRcbiAqIEByZXR1cm5zIHtMb2NrZG93bn1cbiAqL1xuYXN5bmMgZnVuY3Rpb24gc3RhcnRMb2NrZG93blNlc3Npb24gKHVkaWQsIHNvY2tldCA9IG51bGwpIHtcbiAgY29uc3QgdXNibXV4ID0gbmV3IFVzYm11eChzb2NrZXQgfHwgYXdhaXQgZ2V0RGVmYXVsdFNvY2tldCgpKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYWlyUmVjb3JkID0gYXdhaXQgdXNibXV4LnJlYWRQYWlyUmVjb3JkKHVkaWQpO1xuICAgIGlmICghcGFpclJlY29yZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBhIHBhaXIgcmVjb3JkIGZvciBkZXZpY2UgJyR7dWRpZH0nLiBQbGVhc2UgZmlyc3QgcGFpciB3aXRoIHRoZSBkZXZpY2VgKTtcbiAgICB9XG4gICAgLy8gbG9ja2Rvd24gZG9lc24ndCBuZWVkIHRvIGJlIGNsb3NlZCBzaW5jZSBpdCB1c2VzIHRoZSBzYW1lIHNvY2tldCB1c2JtdXggdXNlc1xuICAgIGNvbnN0IGxvY2tkb3duID0gYXdhaXQgdXNibXV4LmNvbm5lY3RMb2NrZG93bih1ZGlkKTtcbiAgICBhd2FpdCBsb2NrZG93bi5zdGFydFNlc3Npb24ocGFpclJlY29yZC5Ib3N0SUQsIHBhaXJSZWNvcmQuU3lzdGVtQlVJRCk7XG4gICAgbG9ja2Rvd24uZW5hYmxlU2Vzc2lvblNTTChwYWlyUmVjb3JkLkhvc3RQcml2YXRlS2V5LCBwYWlyUmVjb3JkLkhvc3RDZXJ0aWZpY2F0ZSk7XG4gICAgcmV0dXJuIGxvY2tkb3duO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdXNibXV4LmNsb3NlKCk7XG4gICAgdGhyb3cgZTtcbiAgfVxufVxuXG4vKipcbiAqIENvbm5lY3RzIHRvIGEgZ2l2ZW4gcG9ydCB3aXRoIHRoZSBjZXJ0cyBhbmQga2V5cyB1c2VkIGluIHRoZSBwYWlyaW5nIHByb2Nlc3NcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdWRpZCBEZXZpY2UgVURJRFxuICogQHBhcmFtIHtudW1iZXJ9IHBvcnQgUG9ydCB0byBjb25uZWN0XG4gKiBAcGFyYW0gez9uZXQuU29ja2V0fSBzb2NrZXQgdGhlIHNvY2tldCBvZiB1c2JtdXhkLiBJdCB3aWxsIGRlZmF1bHQgdG8gL3Zhci9ydW4vdXNibXV4ZCBpZiBpdCBpcyBub3QgcGFzc2VkXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGhhbmRzaGFrZU9ubHkgb25seSBoYW5kc2hha2UgYW5kIHJldHVybiB0aGUgaW5pdGlhbCBzb2NrZXRcbiAqIEByZXR1cm5zIHt0bHMuVExTU29ja2V0fE9iamVjdH0gVGhlIHNvY2tldCBvciB0aGUgb2JqZWN0IHJldHVybmVkIGluIHRoZSBjYWxsYmFjayBpZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gZXhpc3RzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGNvbm5lY3RQb3J0U1NMICh1ZGlkLCBwb3J0LCBzb2NrZXQgPSBudWxsLCBoYW5kc2hha2VPbmx5ID0gZmFsc2UpIHtcbiAgY29uc3QgdXNibXV4ID0gbmV3IFVzYm11eChzb2NrZXQgfHwgYXdhaXQgZ2V0RGVmYXVsdFNvY2tldCgpKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCB1c2JtdXguZmluZERldmljZSh1ZGlkKTtcbiAgICBpZiAoIWRldmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCB0aGUgZXhwZWN0ZWQgZGV2aWNlICcke3VkaWR9J2ApO1xuICAgIH1cbiAgICBjb25zdCBwYWlyUmVjb3JkID0gYXdhaXQgdXNibXV4LnJlYWRQYWlyUmVjb3JkKHVkaWQpO1xuICAgIGlmICghcGFpclJlY29yZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBhIHBhaXIgcmVjb3JkIGZvciBkZXZpY2UgJyR7dWRpZH0nLiBQbGVhc2UgZmlyc3QgcGFpciB3aXRoIHRoZSBkZXZpY2VgKTtcbiAgICB9XG4gICAgY29uc3Qgc29ja2V0ID0gYXdhaXQgdXNibXV4LmNvbm5lY3QoZGV2aWNlLlByb3BlcnRpZXMuRGV2aWNlSUQsIHBvcnQsIHVuZGVmaW5lZCk7XG4gICAgcmV0dXJuIGhhbmRzaGFrZU9ubHkgP1xuICAgICAgYXdhaXQgZW5hYmxlU1NMSGFuZHNoYWtlT25seShzb2NrZXQsIHBhaXJSZWNvcmQuSG9zdFByaXZhdGVLZXksIHBhaXJSZWNvcmQuSG9zdENlcnRpZmljYXRlKSA6XG4gICAgICB1cGdyYWRlVG9TU0woc29ja2V0LCBwYWlyUmVjb3JkLkhvc3RQcml2YXRlS2V5LCBwYWlyUmVjb3JkLkhvc3RDZXJ0aWZpY2F0ZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB1c2JtdXguY2xvc2UoKTtcbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbi8qKlxuICogQ29ubmVjdHMgdG8gYSBnaXZlbiBwb3J0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgRGV2aWNlIFVESURcbiAqIEBwYXJhbSB7bnVtYmVyfSBwb3J0IFBvcnQgdG8gY29ubmVjdFxuICogQHBhcmFtIHs/bmV0LlNvY2tldH0gc29ja2V0IHRoZSBzb2NrZXQgb2YgdXNibXV4ZC4gSXQgd2lsbCBkZWZhdWx0IHRvIC92YXIvcnVuL3VzYm11eGQgaWYgaXQgaXMgbm90IHBhc3NlZFxuICogQHJldHVybnMge25ldC5Tb2NrZXR8T2JqZWN0fSBUaGUgc29ja2V0IG9yIHRoZSBvYmplY3QgcmV0dXJuZWQgaW4gdGhlIGNhbGxiYWNrIGlmIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBleGlzdHNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gY29ubmVjdFBvcnQgKHVkaWQsIHBvcnQsIHNvY2tldCA9IG51bGwpIHtcbiAgY29uc3QgdXNibXV4ID0gbmV3IFVzYm11eChzb2NrZXQgfHwgYXdhaXQgZ2V0RGVmYXVsdFNvY2tldCgpKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCB1c2JtdXguZmluZERldmljZSh1ZGlkKTtcbiAgICBpZiAoIWRldmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCB0aGUgZXhwZWN0ZWQgZGV2aWNlICR7dWRpZH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHVzYm11eC5jb25uZWN0KGRldmljZS5Qcm9wZXJ0aWVzLkRldmljZUlELCBwb3J0LCB1bmRlZmluZWQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdXNibXV4LmNsb3NlKCk7XG4gICAgdGhyb3cgZTtcbiAgfVxufVxuXG5leHBvcnQge1xuICBnZXRDb25uZWN0ZWREZXZpY2VzLCBnZXRPU1ZlcnNpb24sIGdldERldmljZU5hbWUsIGdldERldmljZVRpbWUsXG4gIHN0YXJ0TG9ja2Rvd25TZXNzaW9uLCBjb25uZWN0UG9ydCwgY29ubmVjdFBvcnRTU0wsIGdldERldmljZUluZm9cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFHQSxNQUFNQSxnQkFBZ0IsR0FBRztFQUN2QkMsV0FBVyxFQUFFO0lBQUVDLEdBQUcsRUFBRTtFQUFQLENBRFU7RUFFdkJDLGlCQUFpQixFQUFFO0lBQUVELEdBQUcsRUFBRTtFQUFQLENBRkk7RUFHdkJFLGdCQUFnQixFQUFFO0lBQUVGLEdBQUcsRUFBRTtFQUFQLENBSEs7RUFJdkJHLGNBQWMsRUFBRTtJQUFFSCxHQUFHLEVBQUU7RUFBUCxDQUpPO0VBS3ZCSSxXQUFXLEVBQUU7SUFBRUosR0FBRyxFQUFFO0VBQVA7QUFMVSxDQUF6Qjs7QUFnQkEsZUFBZUssbUJBQWYsQ0FBb0NDLE1BQU0sR0FBRyxJQUE3QyxFQUFtRDtFQUNqRCxJQUFJQyxNQUFKOztFQUNBLElBQUk7SUFDRkEsTUFBTSxHQUFHLElBQUlDLGVBQUosQ0FBV0YsTUFBTSxLQUFJLE1BQU0sSUFBQUcsd0JBQUEsR0FBVixDQUFqQixDQUFUO0VBQ0QsQ0FGRCxDQUVFLE9BQU9DLENBQVAsRUFBVTtJQUNWQyxlQUFBLENBQUlDLEtBQUosQ0FBVUYsQ0FBVjs7SUFDQSxPQUFPLEVBQVA7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
@@ -139,4 +139,4 @@ var _default = WebInspectorService;
139
139
  exports.default = _default;require('source-map-support').install();
140
140
 
141
141
 
142
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi93ZWJpbnNwZWN0b3IvaW5kZXguanMiXSwibmFtZXMiOlsiV0VCX0lOU1BFQ1RPUl9TRVJWSUNFX05BTUUiLCJNQVhfRlJBTUVfU0laRSIsIk1CIiwiUEFSVElBTF9NRVNTQUdFX1NVUFBPUlRfREVQUkVDQVRJT05fVkVSU0lPTiIsIldlYkluc3BlY3RvclNlcnZpY2UiLCJCYXNlU2VydmljZVNvY2tldCIsImNvbnN0cnVjdG9yIiwib3B0cyIsIm1ham9yT3NWZXJzaW9uIiwiaXNTaW11bGF0b3IiLCJzb2NrZXRDaHVua1NpemUiLCJ2ZXJib3NlIiwidmVyYm9zZUhleER1bXAiLCJzb2NrZXRDbGllbnQiLCJtYXhGcmFtZUxlbmd0aCIsIl8iLCJpc0Z1bmN0aW9uIiwic2V0TWF4U2VuZEZyYWdtZW50IiwiaXNOaWwiLCJsb2ciLCJkZWJ1ZyIsIndhcm4iLCJfdmVyYm9zZSIsIl9pc1NpbXVsYXRvciIsIl9tYWpvck9zVmVyc2lvbiIsIl9pbml0aWFsaXplUGFydGlhbE1lc3NhZ2VTdXBwb3J0IiwiX2luaXRpYWxpemVGdWxsTWVzc2FnZVN1cHBvcnQiLCJfZGVjb2RlciIsIlBsaXN0U2VydmljZURlY29kZXIiLCJfc29ja2V0Q2xpZW50IiwicGlwZSIsIlN0cmVhbUxvZ2dlciIsIlJFQ0VJVkUiLCJfc3BsaXR0ZXIiLCJMZW5ndGhCYXNlZFNwbGl0dGVyIiwicmVhZGFibGVTdHJlYW0iLCJsaXR0bGVFbmRpYW4iLCJsZW5ndGhGaWVsZE9mZnNldCIsImxlbmd0aEZpZWxkTGVuZ3RoIiwibGVuZ3RoQWRqdXN0bWVudCIsIl9lbmNvZGVyIiwiUGxpc3RTZXJ2aWNlRW5jb2RlciIsIlNFTkQiLCJXZWJJbnNwZWN0b3JEZWNvZGVyIiwiV2ViSW5zcGVjdG9yRW5jb2RlciIsInNlbmRNZXNzYWdlIiwicnBjT2JqZWN0IiwiRXJyb3IiLCJ1dGlsIiwianNvblN0cmluZ2lmeSIsIndyaXRlIiwibGlzdGVuTWVzc2FnZSIsIm9uRGF0YSIsIm9uIiwiZGF0YSJd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YUFBYSxDQUFFQyxNQUFGLEVBQVU7QUFDckIsU0FBS3pCLFFBQUwsQ0FBYzBCLEVBQWQsQ0FBaUIsTUFBakIsRUFBMEJDLElBQUQsSUFBVTtBQUNqQyxVQUFJLEtBQUtoQyxRQUFULEVBQW1CO0FBQ2pCSCx3QkFBSUMsS0FBSixDQUFVLHNDQUFWOztBQUNBRCx3QkFBSUMsS0FBSixDQUFVNEIsY0FBS0MsYUFBTCxDQUFtQkssSUFBbkIsQ0FBVjtBQUNEOztBQUNERixNQUFBQSxNQUFNLENBQUNFLElBQUQsQ0FBTjtBQUNELEtBTkQ7QUFPRDs7QUFoSmlEOzs7ZUFvSnJDbEQsbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgV2ViSW5zcGVjdG9yRGVjb2RlciBmcm9tICcuL3RyYW5zZm9ybWVyL3dlYmluc3BlY3Rvci1kZWNvZGVyJztcbmltcG9ydCBXZWJJbnNwZWN0b3JFbmNvZGVyIGZyb20gJy4vdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWVuY29kZXInO1xuaW1wb3J0IFBsaXN0U2VydmljZURlY29kZXIgZnJvbSAnLi4vcGxpc3Qtc2VydmljZS90cmFuc2Zvcm1lci9wbGlzdC1zZXJ2aWNlLWRlY29kZXInO1xuaW1wb3J0IFBsaXN0U2VydmljZUVuY29kZXIgZnJvbSAnLi4vcGxpc3Qtc2VydmljZS90cmFuc2Zvcm1lci9wbGlzdC1zZXJ2aWNlLWVuY29kZXInO1xuaW1wb3J0IExlbmd0aEJhc2VkU3BsaXR0ZXIgZnJvbSAnLi4vdXRpbC90cmFuc2Zvcm1lci9sZW5ndGgtYmFzZWQtc3BsaXR0ZXInO1xuaW1wb3J0IFN0cmVhbUxvZ2dlciBmcm9tICcuLi91dGlsL3RyYW5zZm9ybWVyL3N0cmVhbS1sb2dnZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHV0aWwgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgTUIgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2VTb2NrZXQgfSBmcm9tICcuLi9iYXNlLXNlcnZpY2UnO1xuXG5cbmNvbnN0IFdFQl9JTlNQRUNUT1JfU0VSVklDRV9OQU1FID0gJ2NvbS5hcHBsZS53ZWJpbnNwZWN0b3InO1xuY29uc3QgTUFYX0ZSQU1FX1NJWkUgPSAyMCAqIE1CO1xuXG5jb25zdCBQQVJUSUFMX01FU1NBR0VfU1VQUE9SVF9ERVBSRUNBVElPTl9WRVJTSU9OID0gMTE7XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gV2ViSW5zcGVjdG9yU2VydmljZU9wdGlvbnNcbiAqXG4gKiBAcHJvcGVydHkge251bWJlcn0gbWFqb3JPc1ZlcnNpb24gVGhlIG1ham9yIHZlcnNpb24gb2YgdGhlIG9zIHZlcnNpb25cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaXNTaW11bGF0b3IgV2hldGhlciB0aGUgZGV2aWNlIGlzIGEgc2ltdWxhdG9yXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHNvY2tldENodW5rU2l6ZSBTaXplLCBpbiBieXRlcyBvZiB0aGUgY2h1bmtzIHRvIHNlbmQgdG9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWwgZGV2aWNlIChvbmx5IGlPUyAxMSspLiBEZWZhdWx0cyB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYzODQgYnl0ZXMgKHRoZSBUTFNTb2NrZXQgbWF4KS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdmVyYm9zZSBUdXJuIG9uIGxvZ2dpbmcgb2YgZWFjaCBtZXNzYWdlIHNlbnQgb3IgcmVjZWl2ZWQuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdHMgdG8gZmFsc2VcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdmVyYm9zZUhleER1bXAgVHVybiBvbiBsb2dnaW5nIG9mIF9hbGxfIGNvbW11bmljYXRpb24gYXNcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGV4IGR1bXAuIERlZmF1bHRzIHRvIGZhbHNlXG4gKiBAcHJvcGVydHkgeyp9IHNvY2tldENsaWVudCBUaGUgc29ja2V0IGNsaWVudCB3aGVyZSB0aGUgY29tbXVuaWNhdGlvbiB3aWxsIGhhcHBlblxuICogQHByb3BlcnR5IHtudW1iZXJ9IG1heEZyYW1lTGVuZ3RoIFsyMCAqIDEwMjQgKiAxMDI0XSAtIFRoZSBtYXhpbXVtIHNpemVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBieXRlcyBvZiBhIHNpbmdsZSBkYXRhIGZyYW1lXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGRldmljZSBjb21tdW5pY2F0aW9uIHByb3RvY29sXG4gKi9cblxuY2xhc3MgV2ViSW5zcGVjdG9yU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlU29ja2V0IHtcbiAgLyoqXG4gICAqIFRoZSBtYWluIHNlcnZpY2UgZm9yIGNvbW11bmljYXRpb24gd2l0aCB0aGUgd2ViaW5zcGVjdG9yZFxuICAgKlxuICAgKiBAcGFyYW0ge1dlYkluc3BlY3RvclNlcnZpY2VPcHRpb25zfVxuICAgKi9cbiAgY29uc3RydWN0b3IgKG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IHtcbiAgICAgIG1ham9yT3NWZXJzaW9uLFxuICAgICAgaXNTaW11bGF0b3IgPSBmYWxzZSxcbiAgICAgIHNvY2tldENodW5rU2l6ZSxcbiAgICAgIHZlcmJvc2UgPSBmYWxzZSxcbiAgICAgIHZlcmJvc2VIZXhEdW1wID0gZmFsc2UsXG4gICAgICBzb2NrZXRDbGllbnQsXG4gICAgICBtYXhGcmFtZUxlbmd0aCA9IE1BWF9GUkFNRV9TSVpFLFxuICAgIH0gPSBvcHRzO1xuXG4gICAgc3VwZXIoc29ja2V0Q2xpZW50KTtcblxuICAgIC8vIHNldCB0aGUgbGFyZ2VzdCBmcmFnbWVudCBzaXplIGZvciB0aGUgc29ja2V0LCBpZiB0aGUgb3B0aW9uIGlzIHRoZXJlXG4gICAgaWYgKF8uaXNGdW5jdGlvbihzb2NrZXRDbGllbnQuc2V0TWF4U2VuZEZyYWdtZW50KSAmJiAhXy5pc05pbChzb2NrZXRDaHVua1NpemUpICYmIHNvY2tldENodW5rU2l6ZSA+IDApIHtcbiAgICAgIGlmIChzb2NrZXRDbGllbnQuc2V0TWF4U2VuZEZyYWdtZW50KHNvY2tldENodW5rU2l6ZSkpIHtcbiAgICAgICAgbG9nLmRlYnVnKGBNYXhpbXVtIFRMUyBmcmFnbWVudCBzaXplIHNldCB0byAnJHtzb2NrZXRDaHVua1NpemV9J2ApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gYW55dGhpbmcgb3ZlciB0aGUgX2FjdHVhbF8gbWF4aW11bSB3aWxsIGZhaWwsIGFuZCB0aGluZ3Mgd2lsbCByZW1haW4gdGhlIHNhbWVcbiAgICAgICAgbG9nLndhcm4oYFVuYWJsZSB0byBzZXQgVExTIGZyYWdtZW50IHNpemUgdG8gJyR7c29ja2V0Q2h1bmtTaXplfSdgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl92ZXJib3NlID0gdmVyYm9zZTtcbiAgICB0aGlzLl9pc1NpbXVsYXRvciA9IGlzU2ltdWxhdG9yO1xuICAgIHRoaXMuX21ham9yT3NWZXJzaW9uID0gbWFqb3JPc1ZlcnNpb247XG5cbiAgICBpZiAoIWlzU2ltdWxhdG9yICYmIG1ham9yT3NWZXJzaW9uIDwgUEFSVElBTF9NRVNTQUdFX1NVUFBPUlRfREVQUkVDQVRJT05fVkVSU0lPTikge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZVBhcnRpYWxNZXNzYWdlU3VwcG9ydCh2ZXJib3NlSGV4RHVtcCwgbWF4RnJhbWVMZW5ndGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pbml0aWFsaXplRnVsbE1lc3NhZ2VTdXBwb3J0KHZlcmJvc2VIZXhEdW1wLCBtYXhGcmFtZUxlbmd0aCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEludGlhbGl6ZXMgdGhlIGRhdGEgZmxvdyBmb3IgaU9TIDExKy5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSB2ZXJib3NlIC0gd2hldGhlciB0byBwcmludCBvdXQgdGhlIGhleCBkdW1wIGZvciBjb21tdW5pY2F0aW9uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhGcmFtZUxlbmd0aCAtIFRoZSBtYXhpbXVtIHNpemUgaW4gYnl0ZXMgb2YgYSBzaW5nbGUgZGF0YSBmcmFtZVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZGV2aWNlIGNvbW11bmljYXRpb24gcHJvdG9jb2xcbiAgICovXG4gIF9pbml0aWFsaXplRnVsbE1lc3NhZ2VTdXBwb3J0ICh2ZXJib3NlLCBtYXhGcmFtZUxlbmd0aCkge1xuICAgIHRoaXMuX2RlY29kZXIgPSBuZXcgUGxpc3RTZXJ2aWNlRGVjb2RlcigpO1xuICAgIHRoaXMuX3NvY2tldENsaWVudFxuICAgICAgLy8gbG9nIGZpcnN0LCBpbiBjYXNlIHRoZXJlIGlzIGEgcHJvYmxlbSBpbiBwcm9jZXNzaW5nXG4gICAgICAucGlwZShuZXcgU3RyZWFtTG9nZ2VyKFN0cmVhbUxvZ2dlci5SRUNFSVZFLCB2ZXJib3NlKSlcbiAgICAgIC5waXBlKHRoaXMuX3NwbGl0dGVyID0gbmV3IExlbmd0aEJhc2VkU3BsaXR0ZXIoe1xuICAgICAgICByZWFkYWJsZVN0cmVhbTogdGhpcy5fc29ja2V0Q2xpZW50LFxuICAgICAgICBsaXR0bGVFbmRpYW46IGZhbHNlLFxuICAgICAgICBtYXhGcmFtZUxlbmd0aCxcbiAgICAgICAgbGVuZ3RoRmllbGRPZmZzZXQ6IDAsXG4gICAgICAgIGxlbmd0aEZpZWxkTGVuZ3RoOiA0LFxuICAgICAgICBsZW5ndGhBZGp1c3RtZW50OiA0LFxuICAgICAgfSkpXG4gICAgICAucGlwZSh0aGlzLl9kZWNvZGVyKTtcblxuICAgIHRoaXMuX2VuY29kZXIgPSBuZXcgUGxpc3RTZXJ2aWNlRW5jb2RlcigpO1xuICAgIHRoaXMuX2VuY29kZXJcbiAgICAgIC5waXBlKG5ldyBTdHJlYW1Mb2dnZXIoU3RyZWFtTG9nZ2VyLlNFTkQsIHZlcmJvc2UpKVxuICAgICAgLnBpcGUodGhpcy5fc29ja2V0Q2xpZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRpYWxpemVzIHRoZSBkYXRhIGZsb3cgZm9yIGlPUyA8IDExLCB3aGVyZSBkYXRhIGlzIHNlcGFyYXRlZCBpbnRvIHBhcnRpYWxcbiAgICogbWVzc2FnZXMgYmVmb3JlIHNlbmRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdmVyYm9zZSAtIHdoZXRoZXIgdG8gcHJpbnQgb3V0IHRoZSBoZXggZHVtcCBmb3IgY29tbXVuaWNhdGlvblxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4RnJhbWVMZW5ndGggLSBUaGUgbWF4aW11bSBzaXplIGluIGJ5dGVzIG9mIGEgc2luZ2xlIGRhdGEgZnJhbWVcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGRldmljZSBjb21tdW5pY2F0aW9uIHByb3RvY29sXG4gICAqL1xuICBfaW5pdGlhbGl6ZVBhcnRpYWxNZXNzYWdlU3VwcG9ydCAodmVyYm9zZSwgbWF4RnJhbWVMZW5ndGgpIHtcbiAgICAvLyAxTUIgYXMgYnVmZmVyIGZvciBidWxkaW5nIHdlYmluc3BlY3RvciBmdWxsIG1lc3NhZ2VzLiBXZSBjYW4gaW5jcmVhc2UgdGhlIHZhbHVlIGlmIG1vcmUgYnVmZmVyIGlzIG5lZWRlZFxuICAgIHRoaXMuX2RlY29kZXIgPSBuZXcgV2ViSW5zcGVjdG9yRGVjb2RlcihNQik7XG4gICAgdGhpcy5fc29ja2V0Q2xpZW50XG4gICAgICAvLyBsb2cgZmlyc3QsIGluIGNhc2UgdGhlcmUgaXMgYSBwcm9ibGVtIGluIHByb2Nlc3NpbmdcbiAgICAgIC5waXBlKG5ldyBTdHJlYW1Mb2dnZXIoU3RyZWFtTG9nZ2VyLlJFQ0VJVkUsIHZlcmJvc2UpKVxuICAgICAgLnBpcGUodGhpcy5fc3BsaXR0ZXIgPSBuZXcgTGVuZ3RoQmFzZWRTcGxpdHRlcih7XG4gICAgICAgIHJlYWRhYmxlU3RyZWFtOiB0aGlzLl9zb2NrZXRDbGllbnQsXG4gICAgICAgIGxpdHRsZUVuZGlhbjogZmFsc2UsXG4gICAgICAgIG1heEZyYW1lTGVuZ3RoLFxuICAgICAgICBsZW5ndGhGaWVsZE9mZnNldDogMCxcbiAgICAgICAgbGVuZ3RoRmllbGRMZW5ndGg6IDQsXG4gICAgICAgIGxlbmd0aEFkanVzdG1lbnQ6IDQsXG4gICAgICB9KSlcbiAgICAgIC5waXBlKG5ldyBQbGlzdFNlcnZpY2VEZWNvZGVyKCkpXG4gICAgICAucGlwZSh0aGlzLl9kZWNvZGVyKTtcblxuICAgIHRoaXMuX2VuY29kZXIgPSBuZXcgV2ViSW5zcGVjdG9yRW5jb2RlcigpO1xuICAgIHRoaXMuX2VuY29kZXJcbiAgICAgIC5waXBlKG5ldyBQbGlzdFNlcnZpY2VFbmNvZGVyKCkpXG4gICAgICAucGlwZShuZXcgU3RyZWFtTG9nZ2VyKFN0cmVhbUxvZ2dlci5TRU5ELCB2ZXJib3NlKSlcbiAgICAgIC5waXBlKHRoaXMuX3NvY2tldENsaWVudCk7XG4gIH1cblxuICAvKipcbiAgICogU2VuZHMgYW4gb2JqZWN0IHRvIHRoZSB3ZWJpbnNwZWN0b3JkIHNvY2tldFxuICAgKiBAcGFyYW0ge09iamVjdH0gcnBjT2JqZWN0IFRoZSBvYmplY3QgdGhhdCB3aWxsIGJlIHNlbnRcbiAgICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIHdoZW4gdGhlIG9iamVjdCBpcyBudWxsIG9yIHVuZGVmaW5lZFxuICAgKi9cbiAgc2VuZE1lc3NhZ2UgKHJwY09iamVjdCkge1xuICAgIGlmIChfLmlzTmlsKHJwY09iamVjdCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHNlbmQgYSBudWxsIG9iamVjdCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl92ZXJib3NlKSB7XG4gICAgICBsb2cuZGVidWcoJ1NlbmRpbmcgbWVzc2FnZSB0byBXZWIgSW5zcGVjdG9yOicpO1xuICAgICAgbG9nLmRlYnVnKHV0aWwuanNvblN0cmluZ2lmeShycGNPYmplY3QpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lbmNvZGVyLndyaXRlKHJwY09iamVjdCk7XG5cbiAgICAvLyB3cml0ZSBhbiBlbXB0eSBtZXNzYWdlLCB3aGljaCBvbiByZWFsIGRldmljZXMgZW5zdXJlcyB0aGUgYWN0dWFsIG1lc3NhZ2VcbiAgICAvLyBnZXRzIHNlbnQgdG8gdGhlIGRldmljZS4gd2l0aG91dCB0aGlzIGl0IHdpbGwgcGVyaW9kaWNhbGx5IGhhbmcgd2l0aFxuICAgIC8vIG5vdGhpbmcgc2VudFxuICAgIC8vIGhvd2V2ZXIsIHRoaXMgY2F1c2VzIHdlYmluc3BlY3RvcmQgdG8gY3Jhc2ggb24gZGV2aWNlcyBydW5uaW5nIGlPUyAxMFxuICAgIGlmICghdGhpcy5faXNTaW11bGF0b3IgJiYgdGhpcy5fbWFqb3JPc1ZlcnNpb24gPj0gUEFSVElBTF9NRVNTQUdFX1NVUFBPUlRfREVQUkVDQVRJT05fVkVSU0lPTikge1xuICAgICAgdGhpcy5fZW5jb2Rlci53cml0ZSgnICcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBjYWxsZWQgZHVyaW5nIG1lc3NhZ2UgbGlzdGVuaW5nXG4gICAqIEBuYW1lIE1lc3NhZ2VDYWxsYmFja1xuICAgKiBAZnVuY3Rpb25cbiAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgcnBjIG9iamVjdCB0aGF0IGlzIHNlbnQgZnJvbSB0aGUgd2ViaW5zcGVjdG9yZFxuICAqL1xuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gbWVzc2FnZXMgY29taW5nIGZyb20gd2ViaW5zcGVjdG9yZFxuICAgKiBAcGFyYW0ge01lc3NhZ2VDYWxsYmFja30gY2FsbGJhY2tcbiAgICovXG4gIGxpc3Rlbk1lc3NhZ2UgKG9uRGF0YSkge1xuICAgIHRoaXMuX2RlY29kZXIub24oJ2RhdGEnLCAoZGF0YSkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHtcbiAgICAgICAgbG9nLmRlYnVnKCdSZWNlaXZlZCBtZXNzYWdlIGZyb20gV2ViIEluc3BlY3RvcjonKTtcbiAgICAgICAgbG9nLmRlYnVnKHV0aWwuanNvblN0cmluZ2lmeShkYXRhKSk7XG4gICAgICB9XG4gICAgICBvbkRhdGEoZGF0YSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgV2ViSW5zcGVjdG9yU2VydmljZSwgV0VCX0lOU1BFQ1RPUl9TRVJWSUNFX05BTUUgfTtcbmV4cG9ydCBkZWZhdWx0IFdlYkluc3BlY3RvclNlcnZpY2U7XG4iXSwiZmlsZSI6ImxpYi93ZWJpbnNwZWN0b3IvaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
142
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci9pbmRleC5qcyIsIm5hbWVzIjpbIldFQl9JTlNQRUNUT1JfU0VSVklDRV9OQU1FIiwiTUFYX0ZSQU1FX1NJWkUiLCJNQiIsIlBBUlRJQUxfTUVTU0FHRV9TVVBQT1JUX0RFUFJFQ0FUSU9OX1ZFUlNJT04iLCJXZWJJbnNwZWN0b3JTZXJ2aWNlIiwiQmFzZVNlcnZpY2VTb2NrZXQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJtYWpvck9zVmVyc2lvbiIsImlzU2ltdWxhdG9yIiwic29ja2V0Q2h1bmtTaXplIiwidmVyYm9zZSIsInZlcmJvc2VIZXhEdW1wIiwic29ja2V0Q2xpZW50IiwibWF4RnJhbWVMZW5ndGgiLCJfIiwiaXNGdW5jdGlvbiIsInNldE1heFNlbmRGcmFnbWVudCIsImlzTmlsIiwibG9nIiwiZGVidWciLCJ3YXJuIiwiX3ZlcmJvc2UiLCJfaXNTaW11bGF0b3IiLCJfbWFqb3JPc1ZlcnNpb24iLCJfaW5pdGlhbGl6ZVBhcnRpYWxNZXNzYWdlU3VwcG9ydCIsIl9pbml0aWFsaXplRnVsbE1lc3NhZ2VTdXBwb3J0IiwiX2RlY29kZXIiLCJQbGlzdFNlcnZpY2VEZWNvZGVyIiwiX3NvY2tldENsaWVudCIsInBpcGUiLCJTdHJlYW1Mb2dnZXIiLCJSRUNFSVZFIiwiX3NwbGl0dGVyIiwiTGVuZ3RoQmFzZWRTcGxpdHRlciIsInJlYWRhYmxlU3RyZWFtIiwibGl0dGxlRW5kaWFuIiwibGVuZ3RoRmllbGRPZmZzZXQiLCJsZW5ndGhGaWVsZExlbmd0aCIsImxlbmd0aEFkanVzdG1lbnQiLCJfZW5jb2RlciIsIlBsaXN0U2VydmljZUVuY29kZXIiLCJTRU5EIiwiV2ViSW5zcGVjdG9yRGVjb2RlciIsIldlYkluc3BlY3RvckVuY29kZXIiLCJzZW5kTWVzc2FnZSIsInJwY09iamVjdCIsIkVycm9yIiwidXRpbCIsImpzb25TdHJpbmdpZnkiLCJ3cml0ZSIsImxpc3Rlbk1lc3NhZ2UiLCJvbkRhdGEiLCJvbiIsImRhdGEiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvd2ViaW5zcGVjdG9yL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXZWJJbnNwZWN0b3JEZWNvZGVyIGZyb20gJy4vdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWRlY29kZXInO1xuaW1wb3J0IFdlYkluc3BlY3RvckVuY29kZXIgZnJvbSAnLi90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZW5jb2Rlcic7XG5pbXBvcnQgUGxpc3RTZXJ2aWNlRGVjb2RlciBmcm9tICcuLi9wbGlzdC1zZXJ2aWNlL3RyYW5zZm9ybWVyL3BsaXN0LXNlcnZpY2UtZGVjb2Rlcic7XG5pbXBvcnQgUGxpc3RTZXJ2aWNlRW5jb2RlciBmcm9tICcuLi9wbGlzdC1zZXJ2aWNlL3RyYW5zZm9ybWVyL3BsaXN0LXNlcnZpY2UtZW5jb2Rlcic7XG5pbXBvcnQgTGVuZ3RoQmFzZWRTcGxpdHRlciBmcm9tICcuLi91dGlsL3RyYW5zZm9ybWVyL2xlbmd0aC1iYXNlZC1zcGxpdHRlcic7XG5pbXBvcnQgU3RyZWFtTG9nZ2VyIGZyb20gJy4uL3V0aWwvdHJhbnNmb3JtZXIvc3RyZWFtLWxvZ2dlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgeyBNQiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBCYXNlU2VydmljZVNvY2tldCB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5cblxuY29uc3QgV0VCX0lOU1BFQ1RPUl9TRVJWSUNFX05BTUUgPSAnY29tLmFwcGxlLndlYmluc3BlY3Rvcic7XG5jb25zdCBNQVhfRlJBTUVfU0laRSA9IDIwICogTUI7XG5cbmNvbnN0IFBBUlRJQUxfTUVTU0FHRV9TVVBQT1JUX0RFUFJFQ0FUSU9OX1ZFUlNJT04gPSAxMTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBXZWJJbnNwZWN0b3JTZXJ2aWNlT3B0aW9uc1xuICpcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBtYWpvck9zVmVyc2lvbiBUaGUgbWFqb3IgdmVyc2lvbiBvZiB0aGUgb3MgdmVyc2lvblxuICogQHByb3BlcnR5IHtib29sZWFufSBpc1NpbXVsYXRvciBXaGV0aGVyIHRoZSBkZXZpY2UgaXMgYSBzaW11bGF0b3JcbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gc29ja2V0Q2h1bmtTaXplIFNpemUsIGluIGJ5dGVzIG9mIHRoZSBjaHVua3MgdG8gc2VuZCB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhbCBkZXZpY2UgKG9ubHkgaU9TIDExKykuIERlZmF1bHRzIHRvXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjM4NCBieXRlcyAodGhlIFRMU1NvY2tldCBtYXgpLlxuICogQHByb3BlcnR5IHtib29sZWFufSB2ZXJib3NlIFR1cm4gb24gbG9nZ2luZyBvZiBlYWNoIG1lc3NhZ2Ugc2VudCBvciByZWNlaXZlZC5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0cyB0byBmYWxzZVxuICogQHByb3BlcnR5IHtib29sZWFufSB2ZXJib3NlSGV4RHVtcCBUdXJuIG9uIGxvZ2dpbmcgb2YgX2FsbF8gY29tbXVuaWNhdGlvbiBhc1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXggZHVtcC4gRGVmYXVsdHMgdG8gZmFsc2VcbiAqIEBwcm9wZXJ0eSB7Kn0gc29ja2V0Q2xpZW50IFRoZSBzb2NrZXQgY2xpZW50IHdoZXJlIHRoZSBjb21tdW5pY2F0aW9uIHdpbGwgaGFwcGVuXG4gKiBAcHJvcGVydHkge251bWJlcn0gbWF4RnJhbWVMZW5ndGggWzIwICogMTAyNCAqIDEwMjRdIC0gVGhlIG1heGltdW0gc2l6ZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJ5dGVzIG9mIGEgc2luZ2xlIGRhdGEgZnJhbWVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZGV2aWNlIGNvbW11bmljYXRpb24gcHJvdG9jb2xcbiAqL1xuXG5jbGFzcyBXZWJJbnNwZWN0b3JTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2VTb2NrZXQge1xuICAvKipcbiAgICogVGhlIG1haW4gc2VydmljZSBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSB3ZWJpbnNwZWN0b3JkXG4gICAqXG4gICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yU2VydmljZU9wdGlvbnN9XG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgbWFqb3JPc1ZlcnNpb24sXG4gICAgICBpc1NpbXVsYXRvciA9IGZhbHNlLFxuICAgICAgc29ja2V0Q2h1bmtTaXplLFxuICAgICAgdmVyYm9zZSA9IGZhbHNlLFxuICAgICAgdmVyYm9zZUhleER1bXAgPSBmYWxzZSxcbiAgICAgIHNvY2tldENsaWVudCxcbiAgICAgIG1heEZyYW1lTGVuZ3RoID0gTUFYX0ZSQU1FX1NJWkUsXG4gICAgfSA9IG9wdHM7XG5cbiAgICBzdXBlcihzb2NrZXRDbGllbnQpO1xuXG4gICAgLy8gc2V0IHRoZSBsYXJnZXN0IGZyYWdtZW50IHNpemUgZm9yIHRoZSBzb2NrZXQsIGlmIHRoZSBvcHRpb24gaXMgdGhlcmVcbiAgICBpZiAoXy5pc0Z1bmN0aW9uKHNvY2tldENsaWVudC5zZXRNYXhTZW5kRnJhZ21lbnQpICYmICFfLmlzTmlsKHNvY2tldENodW5rU2l6ZSkgJiYgc29ja2V0Q2h1bmtTaXplID4gMCkge1xuICAgICAgaWYgKHNvY2tldENsaWVudC5zZXRNYXhTZW5kRnJhZ21lbnQoc29ja2V0Q2h1bmtTaXplKSkge1xuICAgICAgICBsb2cuZGVidWcoYE1heGltdW0gVExTIGZyYWdtZW50IHNpemUgc2V0IHRvICcke3NvY2tldENodW5rU2l6ZX0nYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBhbnl0aGluZyBvdmVyIHRoZSBfYWN0dWFsXyBtYXhpbXVtIHdpbGwgZmFpbCwgYW5kIHRoaW5ncyB3aWxsIHJlbWFpbiB0aGUgc2FtZVxuICAgICAgICBsb2cud2FybihgVW5hYmxlIHRvIHNldCBUTFMgZnJhZ21lbnQgc2l6ZSB0byAnJHtzb2NrZXRDaHVua1NpemV9J2ApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3ZlcmJvc2UgPSB2ZXJib3NlO1xuICAgIHRoaXMuX2lzU2ltdWxhdG9yID0gaXNTaW11bGF0b3I7XG4gICAgdGhpcy5fbWFqb3JPc1ZlcnNpb24gPSBtYWpvck9zVmVyc2lvbjtcblxuICAgIGlmICghaXNTaW11bGF0b3IgJiYgbWFqb3JPc1ZlcnNpb24gPCBQQVJUSUFMX01FU1NBR0VfU1VQUE9SVF9ERVBSRUNBVElPTl9WRVJTSU9OKSB7XG4gICAgICB0aGlzLl9pbml0aWFsaXplUGFydGlhbE1lc3NhZ2VTdXBwb3J0KHZlcmJvc2VIZXhEdW1wLCBtYXhGcmFtZUxlbmd0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVGdWxsTWVzc2FnZVN1cHBvcnQodmVyYm9zZUhleER1bXAsIG1heEZyYW1lTGVuZ3RoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW50aWFsaXplcyB0aGUgZGF0YSBmbG93IGZvciBpT1MgMTErLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZlcmJvc2UgLSB3aGV0aGVyIHRvIHByaW50IG91dCB0aGUgaGV4IGR1bXAgZm9yIGNvbW11bmljYXRpb25cbiAgICogQHBhcmFtIHtudW1iZXJ9IG1heEZyYW1lTGVuZ3RoIC0gVGhlIG1heGltdW0gc2l6ZSBpbiBieXRlcyBvZiBhIHNpbmdsZSBkYXRhIGZyYW1lXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBkZXZpY2UgY29tbXVuaWNhdGlvbiBwcm90b2NvbFxuICAgKi9cbiAgX2luaXRpYWxpemVGdWxsTWVzc2FnZVN1cHBvcnQgKHZlcmJvc2UsIG1heEZyYW1lTGVuZ3RoKSB7XG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBQbGlzdFNlcnZpY2VEZWNvZGVyKCk7XG4gICAgdGhpcy5fc29ja2V0Q2xpZW50XG4gICAgICAvLyBsb2cgZmlyc3QsIGluIGNhc2UgdGhlcmUgaXMgYSBwcm9ibGVtIGluIHByb2Nlc3NpbmdcbiAgICAgIC5waXBlKG5ldyBTdHJlYW1Mb2dnZXIoU3RyZWFtTG9nZ2VyLlJFQ0VJVkUsIHZlcmJvc2UpKVxuICAgICAgLnBpcGUodGhpcy5fc3BsaXR0ZXIgPSBuZXcgTGVuZ3RoQmFzZWRTcGxpdHRlcih7XG4gICAgICAgIHJlYWRhYmxlU3RyZWFtOiB0aGlzLl9zb2NrZXRDbGllbnQsXG4gICAgICAgIGxpdHRsZUVuZGlhbjogZmFsc2UsXG4gICAgICAgIG1heEZyYW1lTGVuZ3RoLFxuICAgICAgICBsZW5ndGhGaWVsZE9mZnNldDogMCxcbiAgICAgICAgbGVuZ3RoRmllbGRMZW5ndGg6IDQsXG4gICAgICAgIGxlbmd0aEFkanVzdG1lbnQ6IDQsXG4gICAgICB9KSlcbiAgICAgIC5waXBlKHRoaXMuX2RlY29kZXIpO1xuXG4gICAgdGhpcy5fZW5jb2RlciA9IG5ldyBQbGlzdFNlcnZpY2VFbmNvZGVyKCk7XG4gICAgdGhpcy5fZW5jb2RlclxuICAgICAgLnBpcGUobmV3IFN0cmVhbUxvZ2dlcihTdHJlYW1Mb2dnZXIuU0VORCwgdmVyYm9zZSkpXG4gICAgICAucGlwZSh0aGlzLl9zb2NrZXRDbGllbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGlhbGl6ZXMgdGhlIGRhdGEgZmxvdyBmb3IgaU9TIDwgMTEsIHdoZXJlIGRhdGEgaXMgc2VwYXJhdGVkIGludG8gcGFydGlhbFxuICAgKiBtZXNzYWdlcyBiZWZvcmUgc2VuZGluZy5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSB2ZXJib3NlIC0gd2hldGhlciB0byBwcmludCBvdXQgdGhlIGhleCBkdW1wIGZvciBjb21tdW5pY2F0aW9uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhGcmFtZUxlbmd0aCAtIFRoZSBtYXhpbXVtIHNpemUgaW4gYnl0ZXMgb2YgYSBzaW5nbGUgZGF0YSBmcmFtZVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZGV2aWNlIGNvbW11bmljYXRpb24gcHJvdG9jb2xcbiAgICovXG4gIF9pbml0aWFsaXplUGFydGlhbE1lc3NhZ2VTdXBwb3J0ICh2ZXJib3NlLCBtYXhGcmFtZUxlbmd0aCkge1xuICAgIC8vIDFNQiBhcyBidWZmZXIgZm9yIGJ1bGRpbmcgd2ViaW5zcGVjdG9yIGZ1bGwgbWVzc2FnZXMuIFdlIGNhbiBpbmNyZWFzZSB0aGUgdmFsdWUgaWYgbW9yZSBidWZmZXIgaXMgbmVlZGVkXG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBXZWJJbnNwZWN0b3JEZWNvZGVyKE1CKTtcbiAgICB0aGlzLl9zb2NrZXRDbGllbnRcbiAgICAgIC8vIGxvZyBmaXJzdCwgaW4gY2FzZSB0aGVyZSBpcyBhIHByb2JsZW0gaW4gcHJvY2Vzc2luZ1xuICAgICAgLnBpcGUobmV3IFN0cmVhbUxvZ2dlcihTdHJlYW1Mb2dnZXIuUkVDRUlWRSwgdmVyYm9zZSkpXG4gICAgICAucGlwZSh0aGlzLl9zcGxpdHRlciA9IG5ldyBMZW5ndGhCYXNlZFNwbGl0dGVyKHtcbiAgICAgICAgcmVhZGFibGVTdHJlYW06IHRoaXMuX3NvY2tldENsaWVudCxcbiAgICAgICAgbGl0dGxlRW5kaWFuOiBmYWxzZSxcbiAgICAgICAgbWF4RnJhbWVMZW5ndGgsXG4gICAgICAgIGxlbmd0aEZpZWxkT2Zmc2V0OiAwLFxuICAgICAgICBsZW5ndGhGaWVsZExlbmd0aDogNCxcbiAgICAgICAgbGVuZ3RoQWRqdXN0bWVudDogNCxcbiAgICAgIH0pKVxuICAgICAgLnBpcGUobmV3IFBsaXN0U2VydmljZURlY29kZXIoKSlcbiAgICAgIC5waXBlKHRoaXMuX2RlY29kZXIpO1xuXG4gICAgdGhpcy5fZW5jb2RlciA9IG5ldyBXZWJJbnNwZWN0b3JFbmNvZGVyKCk7XG4gICAgdGhpcy5fZW5jb2RlclxuICAgICAgLnBpcGUobmV3IFBsaXN0U2VydmljZUVuY29kZXIoKSlcbiAgICAgIC5waXBlKG5ldyBTdHJlYW1Mb2dnZXIoU3RyZWFtTG9nZ2VyLlNFTkQsIHZlcmJvc2UpKVxuICAgICAgLnBpcGUodGhpcy5fc29ja2V0Q2xpZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kcyBhbiBvYmplY3QgdG8gdGhlIHdlYmluc3BlY3RvcmQgc29ja2V0XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBycGNPYmplY3QgVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgc2VudFxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgb2JqZWN0IGlzIG51bGwgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBzZW5kTWVzc2FnZSAocnBjT2JqZWN0KSB7XG4gICAgaWYgKF8uaXNOaWwocnBjT2JqZWN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc2VuZCBhIG51bGwgb2JqZWN0Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHtcbiAgICAgIGxvZy5kZWJ1ZygnU2VuZGluZyBtZXNzYWdlIHRvIFdlYiBJbnNwZWN0b3I6Jyk7XG4gICAgICBsb2cuZGVidWcodXRpbC5qc29uU3RyaW5naWZ5KHJwY09iamVjdCkpO1xuICAgIH1cblxuICAgIHRoaXMuX2VuY29kZXIud3JpdGUocnBjT2JqZWN0KTtcblxuICAgIC8vIHdyaXRlIGFuIGVtcHR5IG1lc3NhZ2UsIHdoaWNoIG9uIHJlYWwgZGV2aWNlcyBlbnN1cmVzIHRoZSBhY3R1YWwgbWVzc2FnZVxuICAgIC8vIGdldHMgc2VudCB0byB0aGUgZGV2aWNlLiB3aXRob3V0IHRoaXMgaXQgd2lsbCBwZXJpb2RpY2FsbHkgaGFuZyB3aXRoXG4gICAgLy8gbm90aGluZyBzZW50XG4gICAgLy8gaG93ZXZlciwgdGhpcyBjYXVzZXMgd2ViaW5zcGVjdG9yZCB0byBjcmFzaCBvbiBkZXZpY2VzIHJ1bm5pbmcgaU9TIDEwXG4gICAgaWYgKCF0aGlzLl9pc1NpbXVsYXRvciAmJiB0aGlzLl9tYWpvck9zVmVyc2lvbiA+PSBQQVJUSUFMX01FU1NBR0VfU1VQUE9SVF9ERVBSRUNBVElPTl9WRVJTSU9OKSB7XG4gICAgICB0aGlzLl9lbmNvZGVyLndyaXRlKCcgJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGNhbGxlZCBkdXJpbmcgbWVzc2FnZSBsaXN0ZW5pbmdcbiAgICogQG5hbWUgTWVzc2FnZUNhbGxiYWNrXG4gICAqIEBmdW5jdGlvblxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBycGMgb2JqZWN0IHRoYXQgaXMgc2VudCBmcm9tIHRoZSB3ZWJpbnNwZWN0b3JkXG4gICovXG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBtZXNzYWdlcyBjb21pbmcgZnJvbSB3ZWJpbnNwZWN0b3JkXG4gICAqIEBwYXJhbSB7TWVzc2FnZUNhbGxiYWNrfSBjYWxsYmFja1xuICAgKi9cbiAgbGlzdGVuTWVzc2FnZSAob25EYXRhKSB7XG4gICAgdGhpcy5fZGVjb2Rlci5vbignZGF0YScsIChkYXRhKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdmVyYm9zZSkge1xuICAgICAgICBsb2cuZGVidWcoJ1JlY2VpdmVkIG1lc3NhZ2UgZnJvbSBXZWIgSW5zcGVjdG9yOicpO1xuICAgICAgICBsb2cuZGVidWcodXRpbC5qc29uU3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgIH1cbiAgICAgIG9uRGF0YShkYXRhKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgeyBXZWJJbnNwZWN0b3JTZXJ2aWNlLCBXRUJfSU5TUEVDVE9SX1NFUlZJQ0VfTkFNRSB9O1xuZXhwb3J0IGRlZmF1bHQgV2ViSW5zcGVjdG9yU2VydmljZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7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
@@ -61,4 +61,4 @@ var _default = WebInspectorDecoder;
61
61
  exports.default = _default;require('source-map-support').install();
62
62
 
63
63
 
64
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi93ZWJpbnNwZWN0b3IvdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWRlY29kZXIuanMiXSwibmFtZXMiOlsiV2ViSW5zcGVjdG9yRGVjb2RlciIsIlN0cmVhbSIsIlRyYW5zZm9ybSIsImNvbnN0cnVjdG9yIiwibWF4TGVuZ3RoIiwib2JqZWN0TW9kZSIsIl9mcmFtZUJ1ZmZlckluZGV4IiwiX2ZyYW1lQnVmZmVyIiwiQnVmZmVyIiwiYWxsb2NVbnNhZmVTbG93IiwiX3RyYW5zZm9ybSIsImRhdGEiLCJlbmNvZGluZyIsIm9uRGF0YSIsIl9kZWNvZGUiLCJXSVJGaW5hbE1lc3NhZ2VLZXkiLCJidWZmZXIiLCJfcmVhZEJ5dGVzIiwibGVuZ3RoIiwicHJlZiIsInBsaXN0IiwicGFyc2VQbGlzdCIsInNsaWNlIiwicHVzaCIsIl9yZXNldEJ1ZmZlcnMiLCJXSVJQYXJ0aWFsTWVzc2FnZUtleSIsInNyYyIsInNyY0luZGV4IiwidGFyZ2V0IiwidGFyZ2V0SW5kZXgiLCJuQnl0ZXNUb0JlUmVhZCIsImF2YWlsYWJsZUJ5dGVzIiwiTWF0aCIsIm1pbiIsImNvcHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0EsTUFBTUEsbUJBQU4sU0FBa0NDLGdCQUFPQyxTQUF6QyxDQUFtRDtBQUNqREMsRUFBQUEsV0FBVyxDQUFFQyxTQUFGLEVBQWE7QUFDdEIsVUFBTTtBQUFFQyxNQUFBQSxVQUFVLEVBQUU7QUFBZCxLQUFOO0FBQ0EsU0FBS0MsaUJBQUwsR0FBeUIsQ0FBekI7QUFDQSxTQUFLQyxZQUFMLEdBQW9CQyxNQUFNLENBQUNDLGVBQVAsQ0FBdUJMLFNBQXZCLENBQXBCO0FBQ0Q7O0FBRURNLEVBQUFBLFVBQVUsQ0FBRUMsSUFBRixFQUFRQyxRQUFSLEVBQWtCQyxNQUFsQixFQUEwQjtBQUNsQyxTQUFLQyxPQUFMLENBQWFILElBQWI7O0FBQ0FFLElBQUFBLE1BQU07QUFDUDs7QUFFREMsRUFBQUEsT0FBTyxDQUFFSCxJQUFGLEVBQVE7QUFDYixRQUFJQSxJQUFJLENBQUNJLGtCQUFULEVBQTZCO0FBQzNCLFlBQU1DLE1BQU0sR0FBR0wsSUFBSSxDQUFDSSxrQkFBcEI7QUFDQSxXQUFLVCxpQkFBTCxJQUEwQixLQUFLVyxVQUFMLENBQWdCRCxNQUFoQixFQUF3QixDQUF4QixFQUEyQixLQUFLVCxZQUFoQyxFQUE4QyxLQUFLRCxpQkFBbkQsRUFBc0VVLE1BQU0sQ0FBQ0UsTUFBN0UsQ0FBMUI7O0FBQ0EsWUFBTUMsSUFBSSxHQUFHQyxlQUFNQyxVQUFOLENBQWlCLEtBQUtkLFlBQUwsQ0FBa0JlLEtBQWxCLENBQXdCLENBQXhCLEVBQTJCLEtBQUtoQixpQkFBaEMsQ0FBakIsQ0FBYjs7QUFDQSxXQUFLaUIsSUFBTCxDQUFVSixJQUFWOztBQUNBLFdBQUtLLGFBQUw7QUFDRCxLQU5ELE1BTU87QUFDTCxZQUFNUixNQUFNLEdBQUdMLElBQUksQ0FBQ2Msb0JBQXBCO0FBQ0EsV0FBS25CLGlCQUFMLElBQTBCLEtBQUtXLFVBQUwsQ0FBZ0JELE1BQWhCLEVBQXdCLENBQXhCLEVBQTJCLEtBQUtULFlBQWhDLEVBQThDLEtBQUtELGlCQUFuRCxFQUFzRVUsTUFBTSxDQUFDRSxNQUE3RSxDQUExQjtBQUNEO0FBQ0Y7O0FBRURELEVBQUFBLFVBQVUsQ0FBRVMsR0FBRixFQUFPQyxRQUFQLEVBQWlCQyxNQUFqQixFQUF5QkMsV0FBekIsRUFBc0NDLGNBQXRDLEVBQXNEO0FBQzlELFFBQUlDLGNBQWMsR0FBR0MsSUFBSSxDQUFDQyxHQUFMLENBQVNILGNBQVQsRUFBeUJKLEdBQUcsQ0FBQ1IsTUFBSixHQUFhUyxRQUF0QyxDQUFyQjtBQUNBRCxJQUFBQSxHQUFHLENBQUNRLElBQUosQ0FBU04sTUFBVCxFQUFpQkMsV0FBakIsRUFBOEJGLFFBQTlCLEVBQXdDQSxRQUFRLEdBQUdJLGNBQW5EO0FBQ0EsV0FBT0EsY0FBUDtBQUNEOztBQUVEUCxFQUFBQSxhQUFhLEdBQUk7QUFDZixTQUFLbEIsaUJBQUwsR0FBeUIsQ0FBekI7QUFDRDs7QUFqQ2dEOzs7ZUFxQ3BDTixtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7IHBsaXN0IH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuXG5jbGFzcyBXZWJJbnNwZWN0b3JEZWNvZGVyIGV4dGVuZHMgU3RyZWFtLlRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yIChtYXhMZW5ndGgpIHtcbiAgICBzdXBlcih7IG9iamVjdE1vZGU6IHRydWUgfSk7XG4gICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCA9IDA7XG4gICAgdGhpcy5fZnJhbWVCdWZmZXIgPSBCdWZmZXIuYWxsb2NVbnNhZmVTbG93KG1heExlbmd0aCk7XG4gIH1cblxuICBfdHJhbnNmb3JtIChkYXRhLCBlbmNvZGluZywgb25EYXRhKSB7XG4gICAgdGhpcy5fZGVjb2RlKGRhdGEpO1xuICAgIG9uRGF0YSgpO1xuICB9XG5cbiAgX2RlY29kZSAoZGF0YSkge1xuICAgIGlmIChkYXRhLldJUkZpbmFsTWVzc2FnZUtleSkge1xuICAgICAgY29uc3QgYnVmZmVyID0gZGF0YS5XSVJGaW5hbE1lc3NhZ2VLZXk7XG4gICAgICB0aGlzLl9mcmFtZUJ1ZmZlckluZGV4ICs9IHRoaXMuX3JlYWRCeXRlcyhidWZmZXIsIDAsIHRoaXMuX2ZyYW1lQnVmZmVyLCB0aGlzLl9mcmFtZUJ1ZmZlckluZGV4LCBidWZmZXIubGVuZ3RoKTtcbiAgICAgIGNvbnN0IHByZWYgPSBwbGlzdC5wYXJzZVBsaXN0KHRoaXMuX2ZyYW1lQnVmZmVyLnNsaWNlKDAsIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXgpKTtcbiAgICAgIHRoaXMucHVzaChwcmVmKTtcbiAgICAgIHRoaXMuX3Jlc2V0QnVmZmVycygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBkYXRhLldJUlBhcnRpYWxNZXNzYWdlS2V5O1xuICAgICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCArPSB0aGlzLl9yZWFkQnl0ZXMoYnVmZmVyLCAwLCB0aGlzLl9mcmFtZUJ1ZmZlciwgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCwgYnVmZmVyLmxlbmd0aCk7XG4gICAgfVxuICB9XG5cbiAgX3JlYWRCeXRlcyAoc3JjLCBzcmNJbmRleCwgdGFyZ2V0LCB0YXJnZXRJbmRleCwgbkJ5dGVzVG9CZVJlYWQpIHtcbiAgICBsZXQgYXZhaWxhYmxlQnl0ZXMgPSBNYXRoLm1pbihuQnl0ZXNUb0JlUmVhZCwgc3JjLmxlbmd0aCAtIHNyY0luZGV4KTtcbiAgICBzcmMuY29weSh0YXJnZXQsIHRhcmdldEluZGV4LCBzcmNJbmRleCwgc3JjSW5kZXggKyBhdmFpbGFibGVCeXRlcyk7XG4gICAgcmV0dXJuIGF2YWlsYWJsZUJ5dGVzO1xuICB9XG5cbiAgX3Jlc2V0QnVmZmVycyAoKSB7XG4gICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCA9IDA7XG4gIH1cbn1cblxuZXhwb3J0IHsgV2ViSW5zcGVjdG9yRGVjb2RlciB9O1xuZXhwb3J0IGRlZmF1bHQgV2ViSW5zcGVjdG9yRGVjb2RlcjtcbiJdLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLiJ9
64
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZGVjb2Rlci5qcyIsIm5hbWVzIjpbIldlYkluc3BlY3RvckRlY29kZXIiLCJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsIm1heExlbmd0aCIsIm9iamVjdE1vZGUiLCJfZnJhbWVCdWZmZXJJbmRleCIsIl9mcmFtZUJ1ZmZlciIsIkJ1ZmZlciIsImFsbG9jVW5zYWZlU2xvdyIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJfZGVjb2RlIiwiV0lSRmluYWxNZXNzYWdlS2V5IiwiYnVmZmVyIiwiX3JlYWRCeXRlcyIsImxlbmd0aCIsInByZWYiLCJwbGlzdCIsInBhcnNlUGxpc3QiLCJzbGljZSIsInB1c2giLCJfcmVzZXRCdWZmZXJzIiwiV0lSUGFydGlhbE1lc3NhZ2VLZXkiLCJzcmMiLCJzcmNJbmRleCIsInRhcmdldCIsInRhcmdldEluZGV4IiwibkJ5dGVzVG9CZVJlYWQiLCJhdmFpbGFibGVCeXRlcyIsIk1hdGgiLCJtaW4iLCJjb3B5Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL3dlYmluc3BlY3Rvci90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZGVjb2Rlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgeyBwbGlzdCB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5cblxuY2xhc3MgV2ViSW5zcGVjdG9yRGVjb2RlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvciAobWF4TGVuZ3RoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggPSAwO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlU2xvdyhtYXhMZW5ndGgpO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIHRoaXMuX2RlY29kZShkYXRhKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9kZWNvZGUgKGRhdGEpIHtcbiAgICBpZiAoZGF0YS5XSVJGaW5hbE1lc3NhZ2VLZXkpIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IGRhdGEuV0lSRmluYWxNZXNzYWdlS2V5O1xuICAgICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCArPSB0aGlzLl9yZWFkQnl0ZXMoYnVmZmVyLCAwLCB0aGlzLl9mcmFtZUJ1ZmZlciwgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCwgYnVmZmVyLmxlbmd0aCk7XG4gICAgICBjb25zdCBwcmVmID0gcGxpc3QucGFyc2VQbGlzdCh0aGlzLl9mcmFtZUJ1ZmZlci5zbGljZSgwLCB0aGlzLl9mcmFtZUJ1ZmZlckluZGV4KSk7XG4gICAgICB0aGlzLnB1c2gocHJlZik7XG4gICAgICB0aGlzLl9yZXNldEJ1ZmZlcnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYnVmZmVyID0gZGF0YS5XSVJQYXJ0aWFsTWVzc2FnZUtleTtcbiAgICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggKz0gdGhpcy5fcmVhZEJ5dGVzKGJ1ZmZlciwgMCwgdGhpcy5fZnJhbWVCdWZmZXIsIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXgsIGJ1ZmZlci5sZW5ndGgpO1xuICAgIH1cbiAgfVxuXG4gIF9yZWFkQnl0ZXMgKHNyYywgc3JjSW5kZXgsIHRhcmdldCwgdGFyZ2V0SW5kZXgsIG5CeXRlc1RvQmVSZWFkKSB7XG4gICAgbGV0IGF2YWlsYWJsZUJ5dGVzID0gTWF0aC5taW4obkJ5dGVzVG9CZVJlYWQsIHNyYy5sZW5ndGggLSBzcmNJbmRleCk7XG4gICAgc3JjLmNvcHkodGFyZ2V0LCB0YXJnZXRJbmRleCwgc3JjSW5kZXgsIHNyY0luZGV4ICsgYXZhaWxhYmxlQnl0ZXMpO1xuICAgIHJldHVybiBhdmFpbGFibGVCeXRlcztcbiAgfVxuXG4gIF9yZXNldEJ1ZmZlcnMgKCkge1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggPSAwO1xuICB9XG59XG5cbmV4cG9ydCB7IFdlYkluc3BlY3RvckRlY29kZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFdlYkluc3BlY3RvckRlY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0EsTUFBTUEsbUJBQU4sU0FBa0NDLGVBQUEsQ0FBT0MsU0FBekMsQ0FBbUQ7RUFDakRDLFdBQVcsQ0FBRUMsU0FBRixFQUFhO0lBQ3RCLE1BQU07TUFBRUMsVUFBVSxFQUFFO0lBQWQsQ0FBTjtJQUNBLEtBQUtDLGlCQUFMLEdBQXlCLENBQXpCO0lBQ0EsS0FBS0MsWUFBTCxHQUFvQkMsTUFBTSxDQUFDQyxlQUFQLENBQXVCTCxTQUF2QixDQUFwQjtFQUNEOztFQUVETSxVQUFVLENBQUVDLElBQUYsRUFBUUMsUUFBUixFQUFrQkMsTUFBbEIsRUFBMEI7SUFDbEMsS0FBS0MsT0FBTCxDQUFhSCxJQUFiOztJQUNBRSxNQUFNO0VBQ1A7O0VBRURDLE9BQU8sQ0FBRUgsSUFBRixFQUFRO0lBQ2IsSUFBSUEsSUFBSSxDQUFDSSxrQkFBVCxFQUE2QjtNQUMzQixNQUFNQyxNQUFNLEdBQUdMLElBQUksQ0FBQ0ksa0JBQXBCO01BQ0EsS0FBS1QsaUJBQUwsSUFBMEIsS0FBS1csVUFBTCxDQUFnQkQsTUFBaEIsRUFBd0IsQ0FBeEIsRUFBMkIsS0FBS1QsWUFBaEMsRUFBOEMsS0FBS0QsaUJBQW5ELEVBQXNFVSxNQUFNLENBQUNFLE1BQTdFLENBQTFCOztNQUNBLE1BQU1DLElBQUksR0FBR0MsY0FBQSxDQUFNQyxVQUFOLENBQWlCLEtBQUtkLFlBQUwsQ0FBa0JlLEtBQWxCLENBQXdCLENBQXhCLEVBQTJCLEtBQUtoQixpQkFBaEMsQ0FBakIsQ0FBYjs7TUFDQSxLQUFLaUIsSUFBTCxDQUFVSixJQUFWOztNQUNBLEtBQUtLLGFBQUw7SUFDRCxDQU5ELE1BTU87TUFDTCxNQUFNUixNQUFNLEdBQUdMLElBQUksQ0FBQ2Msb0JBQXBCO01BQ0EsS0FBS25CLGlCQUFMLElBQTBCLEtBQUtXLFVBQUwsQ0FBZ0JELE1BQWhCLEVBQXdCLENBQXhCLEVBQTJCLEtBQUtULFlBQWhDLEVBQThDLEtBQUtELGlCQUFuRCxFQUFzRVUsTUFBTSxDQUFDRSxNQUE3RSxDQUExQjtJQUNEO0VBQ0Y7O0VBRURELFVBQVUsQ0FBRVMsR0FBRixFQUFPQyxRQUFQLEVBQWlCQyxNQUFqQixFQUF5QkMsV0FBekIsRUFBc0NDLGNBQXRDLEVBQXNEO0lBQzlELElBQUlDLGNBQWMsR0FBR0MsSUFBSSxDQUFDQyxHQUFMLENBQVNILGNBQVQsRUFBeUJKLEdBQUcsQ0FBQ1IsTUFBSixHQUFhUyxRQUF0QyxDQUFyQjtJQUNBRCxHQUFHLENBQUNRLElBQUosQ0FBU04sTUFBVCxFQUFpQkMsV0FBakIsRUFBOEJGLFFBQTlCLEVBQXdDQSxRQUFRLEdBQUdJLGNBQW5EO0lBQ0EsT0FBT0EsY0FBUDtFQUNEOztFQUVEUCxhQUFhLEdBQUk7SUFDZixLQUFLbEIsaUJBQUwsR0FBeUIsQ0FBekI7RUFDRDs7QUFqQ2dEOzs7ZUFxQ3BDTixtQiJ9
@@ -53,4 +53,4 @@ var _default = WebInspectorEncoder;
53
53
  exports.default = _default;require('source-map-support').install();
54
54
 
55
55
 
56
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi93ZWJpbnNwZWN0b3IvdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWVuY29kZXIuanMiXSwibmFtZXMiOlsiV0VCSU5TUEVDVE9SX1BBUlRJQUxfUEFDS0VUX0NIVU5LX1NJWkUiLCJXZWJJbnNwZWN0b3JFbmNvZGVyIiwiU3RyZWFtIiwiVHJhbnNmb3JtIiwiY29uc3RydWN0b3IiLCJvYmplY3RNb2RlIiwiX3RyYW5zZm9ybSIsImRhdGEiLCJlbmNvZGluZyIsIm9uRGF0YSIsInBheWxvYWRCdWZmZXIiLCJwbGlzdCIsImNyZWF0ZVBsaXN0IiwiaSIsImxlbmd0aCIsIl9lbmNvZGUiLCJwb3MiLCJtZXNzYWdlTGVuZ3RoIiwiTWF0aCIsIm1pbiIsInB1c2giLCJXSVJGaW5hbE1lc3NhZ2VLZXkiLCJzbGljZSIsIldJUlBhcnRpYWxNZXNzYWdlS2V5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBLE1BQU1BLHNDQUFzQyxHQUFHLElBQS9DOztBQUVBLE1BQU1DLG1CQUFOLFNBQWtDQyxnQkFBT0MsU0FBekMsQ0FBbUQ7QUFFakRDLEVBQUFBLFdBQVcsR0FBSTtBQUNiLFVBQU07QUFBRUMsTUFBQUEsVUFBVSxFQUFFO0FBQWQsS0FBTjtBQUNEOztBQUVEQyxFQUFBQSxVQUFVLENBQUVDLElBQUYsRUFBUUMsUUFBUixFQUFrQkMsTUFBbEIsRUFBMEI7QUFDbEMsUUFBSUMsYUFBYSxHQUFHQyxlQUFNQyxXQUFOLENBQWtCTCxJQUFsQixFQUF3QixJQUF4QixDQUFwQjs7QUFDQSxTQUFLLElBQUlNLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdILGFBQWEsQ0FBQ0ksTUFBbEMsRUFBMENELENBQUMsSUFBSSxLQUFLRSxPQUFMLENBQWFMLGFBQWIsRUFBNEJHLENBQTVCLENBQS9DLEVBQStFLENBQUU7O0FBQ2pGSixJQUFBQSxNQUFNO0FBQ1A7O0FBRURNLEVBQUFBLE9BQU8sQ0FBRVIsSUFBRixFQUFRUyxHQUFSLEVBQWE7QUFDbEIsVUFBTUMsYUFBYSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU1osSUFBSSxDQUFDTyxNQUFMLEdBQWNFLEdBQXZCLEVBQTRCaEIsc0NBQTVCLENBQXRCOztBQUNBLFFBQUlpQixhQUFhLEdBQUdqQixzQ0FBcEIsRUFBNEQ7QUFDMUQsV0FBS29CLElBQUwsQ0FBVTtBQUFDQyxRQUFBQSxrQkFBa0IsRUFBRWQsSUFBSSxDQUFDZSxLQUFMLENBQVdOLEdBQVgsRUFBZ0JDLGFBQWEsR0FBR0QsR0FBaEM7QUFBckIsT0FBVjtBQUNELEtBRkQsTUFFTztBQUNMLFdBQUtJLElBQUwsQ0FBVTtBQUFDRyxRQUFBQSxvQkFBb0IsRUFBRWhCLElBQUksQ0FBQ2UsS0FBTCxDQUFXTixHQUFYLEVBQWdCQyxhQUFhLEdBQUdELEdBQWhDO0FBQXZCLE9BQVY7QUFDRDs7QUFDRCxXQUFPQyxhQUFQO0FBQ0Q7O0FBcEJnRDs7O2VBeUJwQ2hCLG1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuaW1wb3J0IHsgcGxpc3QgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuXG5jb25zdCBXRUJJTlNQRUNUT1JfUEFSVElBTF9QQUNLRVRfQ0hVTktfU0laRSA9IDgwOTY7XG5cbmNsYXNzIFdlYkluc3BlY3RvckVuY29kZXIgZXh0ZW5kcyBTdHJlYW0uVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIGxldCBwYXlsb2FkQnVmZmVyID0gcGxpc3QuY3JlYXRlUGxpc3QoZGF0YSwgdHJ1ZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXlsb2FkQnVmZmVyLmxlbmd0aDsgaSArPSB0aGlzLl9lbmNvZGUocGF5bG9hZEJ1ZmZlciwgaSkpIHt9XG4gICAgb25EYXRhKCk7XG4gIH1cblxuICBfZW5jb2RlIChkYXRhLCBwb3MpIHtcbiAgICBjb25zdCBtZXNzYWdlTGVuZ3RoID0gTWF0aC5taW4oZGF0YS5sZW5ndGggLSBwb3MsIFdFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFKTtcbiAgICBpZiAobWVzc2FnZUxlbmd0aCA8IFdFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFKSB7XG4gICAgICB0aGlzLnB1c2goe1dJUkZpbmFsTWVzc2FnZUtleTogZGF0YS5zbGljZShwb3MsIG1lc3NhZ2VMZW5ndGggKyBwb3MpfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaCh7V0lSUGFydGlhbE1lc3NhZ2VLZXk6IGRhdGEuc2xpY2UocG9zLCBtZXNzYWdlTGVuZ3RoICsgcG9zKX0pO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZUxlbmd0aDtcbiAgfVxuXG59XG5cbmV4cG9ydCB7IFdlYkluc3BlY3RvckVuY29kZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFdlYkluc3BlY3RvckVuY29kZXI7XG4iXSwiZmlsZSI6ImxpYi93ZWJpbnNwZWN0b3IvdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWVuY29kZXIuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4ifQ==
56
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZW5jb2Rlci5qcyIsIm5hbWVzIjpbIldFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFIiwiV2ViSW5zcGVjdG9yRW5jb2RlciIsIlN0cmVhbSIsIlRyYW5zZm9ybSIsImNvbnN0cnVjdG9yIiwib2JqZWN0TW9kZSIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJwYXlsb2FkQnVmZmVyIiwicGxpc3QiLCJjcmVhdGVQbGlzdCIsImkiLCJsZW5ndGgiLCJfZW5jb2RlIiwicG9zIiwibWVzc2FnZUxlbmd0aCIsIk1hdGgiLCJtaW4iLCJwdXNoIiwiV0lSRmluYWxNZXNzYWdlS2V5Iiwic2xpY2UiLCJXSVJQYXJ0aWFsTWVzc2FnZUtleSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi93ZWJpbnNwZWN0b3IvdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWVuY29kZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuaW1wb3J0IHsgcGxpc3QgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuXG5jb25zdCBXRUJJTlNQRUNUT1JfUEFSVElBTF9QQUNLRVRfQ0hVTktfU0laRSA9IDgwOTY7XG5cbmNsYXNzIFdlYkluc3BlY3RvckVuY29kZXIgZXh0ZW5kcyBTdHJlYW0uVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIGxldCBwYXlsb2FkQnVmZmVyID0gcGxpc3QuY3JlYXRlUGxpc3QoZGF0YSwgdHJ1ZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXlsb2FkQnVmZmVyLmxlbmd0aDsgaSArPSB0aGlzLl9lbmNvZGUocGF5bG9hZEJ1ZmZlciwgaSkpIHt9XG4gICAgb25EYXRhKCk7XG4gIH1cblxuICBfZW5jb2RlIChkYXRhLCBwb3MpIHtcbiAgICBjb25zdCBtZXNzYWdlTGVuZ3RoID0gTWF0aC5taW4oZGF0YS5sZW5ndGggLSBwb3MsIFdFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFKTtcbiAgICBpZiAobWVzc2FnZUxlbmd0aCA8IFdFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFKSB7XG4gICAgICB0aGlzLnB1c2goe1dJUkZpbmFsTWVzc2FnZUtleTogZGF0YS5zbGljZShwb3MsIG1lc3NhZ2VMZW5ndGggKyBwb3MpfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaCh7V0lSUGFydGlhbE1lc3NhZ2VLZXk6IGRhdGEuc2xpY2UocG9zLCBtZXNzYWdlTGVuZ3RoICsgcG9zKX0pO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZUxlbmd0aDtcbiAgfVxuXG59XG5cbmV4cG9ydCB7IFdlYkluc3BlY3RvckVuY29kZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFdlYkluc3BlY3RvckVuY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUEsTUFBTUEsc0NBQXNDLEdBQUcsSUFBL0M7O0FBRUEsTUFBTUMsbUJBQU4sU0FBa0NDLGVBQUEsQ0FBT0MsU0FBekMsQ0FBbUQ7RUFFakRDLFdBQVcsR0FBSTtJQUNiLE1BQU07TUFBRUMsVUFBVSxFQUFFO0lBQWQsQ0FBTjtFQUNEOztFQUVEQyxVQUFVLENBQUVDLElBQUYsRUFBUUMsUUFBUixFQUFrQkMsTUFBbEIsRUFBMEI7SUFDbEMsSUFBSUMsYUFBYSxHQUFHQyxjQUFBLENBQU1DLFdBQU4sQ0FBa0JMLElBQWxCLEVBQXdCLElBQXhCLENBQXBCOztJQUNBLEtBQUssSUFBSU0sQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0gsYUFBYSxDQUFDSSxNQUFsQyxFQUEwQ0QsQ0FBQyxJQUFJLEtBQUtFLE9BQUwsQ0FBYUwsYUFBYixFQUE0QkcsQ0FBNUIsQ0FBL0MsRUFBK0UsQ0FBRTs7SUFDakZKLE1BQU07RUFDUDs7RUFFRE0sT0FBTyxDQUFFUixJQUFGLEVBQVFTLEdBQVIsRUFBYTtJQUNsQixNQUFNQyxhQUFhLEdBQUdDLElBQUksQ0FBQ0MsR0FBTCxDQUFTWixJQUFJLENBQUNPLE1BQUwsR0FBY0UsR0FBdkIsRUFBNEJoQixzQ0FBNUIsQ0FBdEI7O0lBQ0EsSUFBSWlCLGFBQWEsR0FBR2pCLHNDQUFwQixFQUE0RDtNQUMxRCxLQUFLb0IsSUFBTCxDQUFVO1FBQUNDLGtCQUFrQixFQUFFZCxJQUFJLENBQUNlLEtBQUwsQ0FBV04sR0FBWCxFQUFnQkMsYUFBYSxHQUFHRCxHQUFoQztNQUFyQixDQUFWO0lBQ0QsQ0FGRCxNQUVPO01BQ0wsS0FBS0ksSUFBTCxDQUFVO1FBQUNHLG9CQUFvQixFQUFFaEIsSUFBSSxDQUFDZSxLQUFMLENBQVdOLEdBQVgsRUFBZ0JDLGFBQWEsR0FBR0QsR0FBaEM7TUFBdkIsQ0FBVjtJQUNEOztJQUNELE9BQU9DLGFBQVA7RUFDRDs7QUFwQmdEOzs7ZUF5QnBDaEIsbUIifQ==
@@ -10,12 +10,14 @@ const DTX_MESSAGE_AUX_HEADER = 0x01F0;
10
10
  const DTX_AUXILIARY_MAGIC = 0xa;
11
11
 
12
12
  const FLAG_TYPES = Object.freeze({
13
+ push: 0,
13
14
  recv: 1,
14
15
  send: 2,
15
16
  reply: 3
16
17
  });
17
18
 
18
19
  const AUX_TYPES = Object.freeze({
20
+ Text: 1,
19
21
  NSKeyed: 2,
20
22
  UInt32LE: 3,
21
23
  BigUInt64LE: 4,
@@ -116,7 +118,7 @@ class DTXMessagePayloadHeader {
116
118
 
117
119
  /**
118
120
  * @param headerBuffer
119
- * @returns {{flags: number, totalLength: bigint, auxLength: number}}
121
+ * @returns {DTXMessagePayloadHeaderObject}
120
122
  */
121
123
  static parse (headerBuffer) {
122
124
  return {
@@ -159,22 +161,33 @@ class DTXMessageAux {
159
161
 
160
162
  /**
161
163
  * Parses nskeyed Buffer into js array
162
- * @param headerBuffer
164
+ * @param {Buffer} headerBuffer
165
+ * @param {DTXMessagePayloadHeaderObject} payloadHeader
163
166
  * @returns {Array}
164
167
  */
165
- static parse (headerBuffer) {
168
+ static parse (headerBuffer, payloadHeader) {
166
169
  let cursor = 0;
167
170
  const data = [];
168
171
  const length = headerBuffer.readBigInt64LE(8);
169
172
  cursor += 16;
170
173
  while (cursor <= length) {
171
- const m = headerBuffer.readUInt32LE(cursor);
172
- if (m !== DTX_AUXILIARY_MAGIC) {
173
- throw new Error(`incorrect auxiliary magic: ${m}`);
174
+ if (payloadHeader.flags !== FLAG_TYPES.push) {
175
+ const m = headerBuffer.readUInt32LE(cursor);
176
+ cursor += 4;
177
+ if (m !== DTX_AUXILIARY_MAGIC) {
178
+ throw new Error(`incorrect auxiliary magic: ${m}`);
179
+ }
174
180
  }
175
- const type = headerBuffer.readUInt32LE(cursor + 4);
176
- cursor += 8;
181
+ const type = headerBuffer.readUInt32LE(cursor);
182
+ cursor += 4;
177
183
  switch (type) {
184
+ case AUX_TYPES.Text: {
185
+ const strLen = headerBuffer.readUInt32LE(cursor);
186
+ cursor += 4;
187
+ data.push(headerBuffer.slice(cursor, cursor + strLen));
188
+ cursor += strLen;
189
+ break;
190
+ }
178
191
  case AUX_TYPES.NSKeyed: {
179
192
  const strLen = headerBuffer.readUInt32LE(cursor);
180
193
  cursor += 4;
@@ -252,9 +265,9 @@ class DTXMessageAuxBuffer {
252
265
  */
253
266
  appendSignedLong (value) {
254
267
  const buf = Buffer.alloc(16);
255
- this._buf.writeUInt32LE(DTX_AUXILIARY_MAGIC, 0);
256
- this._buf.writeUInt32LE(6, 4);
257
- this._buf.writeBigInt64LE(value, 8);
268
+ buf.writeUInt32LE(DTX_AUXILIARY_MAGIC, 0);
269
+ buf.writeUInt32LE(6, 4);
270
+ buf.writeBigInt64LE(value, 8);
258
271
  this._buf = Buffer.concat([this._buf, buf]);
259
272
  }
260
273
 
@@ -399,17 +412,20 @@ class DTXMessage {
399
412
  return ret;
400
413
  }
401
414
  if (ret._payloadHeader.auxLength > 0) {
402
- ret.auxiliaries = DTXMessageAux.parse(payloadBuf.slice(cursor, cursor + ret._payloadHeader.auxLength));
415
+ ret.auxiliaries = DTXMessageAux.parse(payloadBuf.slice(cursor, cursor + ret._payloadHeader.auxLength), ret._payloadHeader);
403
416
  cursor += ret._payloadHeader.auxLength;
404
417
  }
405
418
 
406
419
  const data = payloadBuf.slice(cursor, cursor + payloadBuf.length);
407
- for (const fun of [unarchive, plistlib.parseBuffer]) {
408
- try {
409
- ret.selector = fun(data);
410
- break;
411
- } catch (e) {
412
- ret.selector = new InstrumentRPCParseError(data);
420
+ ret.selector = data;
421
+ if (data.length > 0) {
422
+ for (const fun of [unarchive, plistlib.parseBuffer]) {
423
+ try {
424
+ ret.selector = fun(data);
425
+ break;
426
+ } catch (e) {
427
+ ret.selector = new InstrumentRPCParseError(data);
428
+ }
413
429
  }
414
430
  }
415
431
  return ret;
@@ -418,4 +434,4 @@ class DTXMessage {
418
434
 
419
435
  export { DTXMessageHeader, DTXMessagePayloadHeader, DTXMessageAuxBuffer, DTXMessageAux, DTXMessage,
420
436
  DTX_MESSAGE_PAYLOAD_HEADER_LENGTH, DTX_MESSAGE_HEADER_LENGTH, DTX_MESSAGE_HEADER_MAGIC, DTX_MESSAGE_HEADER_MAGIC_LEN,
421
- FLAG_TYPES};
437
+ FLAG_TYPES};
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [
5
5
  "appium"
6
6
  ],
7
- "version": "2.4.0",
7
+ "version": "2.4.3",
8
8
  "author": "appium",
9
9
  "license": "Apache-2.0",
10
10
  "repository": {
@@ -56,11 +56,12 @@
56
56
  "precommit-test"
57
57
  ],
58
58
  "devDependencies": {
59
- "@appium/gulp-plugins": "^6.0.0",
60
- "@appium/eslint-config-appium": "^5.0.0",
59
+ "@appium/gulp-plugins": "^7.0.0",
60
+ "@appium/eslint-config-appium": "^6.0.0",
61
61
  "@semantic-release/git": "^10.0.1",
62
62
  "chai": "^4.1.2",
63
63
  "chai-as-promised": "^7.1.1",
64
+ "eslint-config-prettier": "^8.5.0",
64
65
  "gulp": "^4.0.0",
65
66
  "pre-commit": "^1.1.3",
66
67
  "semantic-release": "^19.0.2"