appium-ios-device 2.4.1 → 2.4.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.
Files changed (32) hide show
  1. package/build/lib/afc/index.js +1 -1
  2. package/build/lib/afc/protocol.js +1 -1
  3. package/build/lib/afc/streams.js +1 -1
  4. package/build/lib/afc/transformer/afcdecoder.js +1 -1
  5. package/build/lib/afc/transformer/afcencoder.js +1 -1
  6. package/build/lib/installation-proxy/index.js +1 -1
  7. package/build/lib/instrument/headers.js +31 -14
  8. package/build/lib/instrument/index.js +1 -1
  9. package/build/lib/instrument/transformer/dtx-decode.js +1 -1
  10. package/build/lib/instrument/transformer/dtx-encode.js +1 -1
  11. package/build/lib/instrument/transformer/nskeyed.js +1 -1
  12. package/build/lib/lockdown/index.js +1 -1
  13. package/build/lib/logger.js +1 -1
  14. package/build/lib/mcinstall/index.js +1 -1
  15. package/build/lib/notification-proxy/index.js +1 -1
  16. package/build/lib/plist-service/index.js +1 -1
  17. package/build/lib/plist-service/transformer/plist-service-decoder.js +1 -1
  18. package/build/lib/plist-service/transformer/plist-service-encoder.js +1 -1
  19. package/build/lib/services.js +1 -1
  20. package/build/lib/ssl-helper.js +1 -1
  21. package/build/lib/syslog/transformer/syslog-decoder.js +1 -1
  22. package/build/lib/usbmux/index.js +1 -1
  23. package/build/lib/usbmux/transformer/usbmux-decoder.js +1 -1
  24. package/build/lib/usbmux/transformer/usbmux-encoder.js +1 -1
  25. package/build/lib/util/transformer/length-based-splitter.js +1 -1
  26. package/build/lib/util/transformer/stream-logger.js +1 -1
  27. package/build/lib/utilities.js +1 -1
  28. package/build/lib/webinspector/index.js +1 -1
  29. package/build/lib/webinspector/transformer/webinspector-decoder.js +1 -1
  30. package/build/lib/webinspector/transformer/webinspector-encoder.js +1 -1
  31. package/lib/instrument/headers.js +31 -15
  32. package/package.json +1 -1
@@ -60,4 +60,4 @@ async function enableSSLHandshakeOnly(socket, key, cert) {
60
60
  }require('source-map-support').install();
61
61
 
62
62
 
63
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3NzbC1oZWxwZXIuanMiLCJuYW1lcyI6WyJIQU5EU0hBS0VfVElNRU9VVF9NUyIsInVwZ3JhZGVUb1NTTCIsInNvY2tldCIsImtleSIsImNlcnQiLCJ0bHMiLCJUTFNTb2NrZXQiLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJzZWN1cmVDb250ZXh0IiwiY3JlYXRlU2VjdXJlQ29udGV4dCIsImVuYWJsZVNTTEhhbmRzaGFrZU9ubHkiLCJzc2xTb2NrZXQiLCJjb25uZWN0IiwiQiIsInJlc29sdmUiLCJyZWplY3QiLCJ0aW1lb3V0SGFuZGxlciIsInNldFRpbWVvdXQiLCJkZXN0cm95ZWQiLCJlbmQiLCJFcnJvciIsIm9uY2UiLCJjbGVhclRpbWVvdXQiLCJfaGFuZGxlIiwicmVhZFN0b3AiLCJuZXQiLCJTb2NrZXQiLCJmZCJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9zc2wtaGVscGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0bHMgZnJvbSAndGxzJztcbmltcG9ydCBuZXQgZnJvbSAnbmV0JztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcblxuY29uc3QgSEFORFNIQUtFX1RJTUVPVVRfTVMgPSAxMDAwMDtcblxuZnVuY3Rpb24gdXBncmFkZVRvU1NMIChzb2NrZXQsIGtleSwgY2VydCkge1xuICByZXR1cm4gbmV3IHRscy5UTFNTb2NrZXQoc29ja2V0LCB7XG4gICAgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSxcbiAgICBzZWN1cmVDb250ZXh0OiB0bHMuY3JlYXRlU2VjdXJlQ29udGV4dCh7XG4gICAgICBrZXksXG4gICAgICBjZXJ0XG4gICAgfSlcbiAgfSk7XG59XG5cbi8qKlxuICogQWZ0ZXIgdGhlIHNzbCBwcm90b2NvbCBpcyBzdWNjZXNzZnVsbHkgaGFuZHNoYWtlLCBjbG9zZSB0aGUgc3NsIHByb3RvY29sIGNoYW5uZWwgYW5kIHVzZSB0ZXh0IHRyYW5zbWlzc2lvblxuICogQHBhcmFtIHNvY2tldFxuICogQHBhcmFtIGtleVxuICogQHBhcmFtIGNlcnRcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNvY2tldD59IER1cGxpY2F0ZSB0aGUgaW5wdXQgc29ja2V0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGVuYWJsZVNTTEhhbmRzaGFrZU9ubHkgKHNvY2tldCwga2V5LCBjZXJ0KSB7XG4gIGNvbnN0IHNzbFNvY2tldCA9IHRscy5jb25uZWN0KHtcbiAgICBzb2NrZXQsXG4gICAgc2VjdXJlQ29udGV4dDogdGxzLmNyZWF0ZVNlY3VyZUNvbnRleHQoe1xuICAgICAga2V5LFxuICAgICAgY2VydFxuICAgIH0pLFxuICAgIHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsXG4gIH0pO1xuXG4gIC8vIHN0b3AgcmVjZWl2aW5nIGRhdGEgYWZ0ZXIgc3VjY2Vzc2Z1bCBoYW5kc2hha2VcbiAgYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHRpbWVvdXRIYW5kbGVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXNzbFNvY2tldC5kZXN0cm95ZWQpIHtcbiAgICAgICAgc3NsU29ja2V0LmVuZCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoJ3NzbCBoYW5kc2hha2UgZXJyb3InKSk7XG4gICAgfSwgSEFORFNIQUtFX1RJTUVPVVRfTVMpO1xuXG4gICAgc3NsU29ja2V0Lm9uY2UoJ3NlY3VyZUNvbm5lY3QnLCAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dEhhbmRsZXIpO1xuICAgICAgc3NsU29ja2V0Ll9oYW5kbGUucmVhZFN0b3AoKTtcbiAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgfSk7XG4gIH0pO1xuICAvLyBEdXBsaWNhdGUgdGhlIHNvY2tldC4gUmV0dXJuIGEgbmV3IHNvY2tldCBvYmplY3QgY29ubmVjdGVkIHRvIHRoZSBzYW1lIHN5c3RlbSByZXNvdXJjZVxuICByZXR1cm4gbmV0LlNvY2tldCh7ZmQ6IHNvY2tldC5faGFuZGxlLmZkfSk7XG59XG5cblxuZXhwb3J0IHsgdXBncmFkZVRvU1NMLCBlbmFibGVTU0xIYW5kc2hha2VPbmx5IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLG9CQUFvQixHQUFHLEtBQTdCOztBQUVBLFNBQVNDLFlBQVQsQ0FBdUJDLE1BQXZCLEVBQStCQyxHQUEvQixFQUFvQ0MsSUFBcEMsRUFBMEM7RUFDeEMsT0FBTyxJQUFJQyxhQUFJQyxTQUFSLENBQWtCSixNQUFsQixFQUEwQjtJQUMvQkssa0JBQWtCLEVBQUUsS0FEVztJQUUvQkMsYUFBYSxFQUFFSCxhQUFJSSxtQkFBSixDQUF3QjtNQUNyQ04sR0FEcUM7TUFFckNDO0lBRnFDLENBQXhCO0VBRmdCLENBQTFCLENBQVA7QUFPRDs7QUFTRCxlQUFlTSxzQkFBZixDQUF1Q1IsTUFBdkMsRUFBK0NDLEdBQS9DLEVBQW9EQyxJQUFwRCxFQUEwRDtFQUN4RCxNQUFNTyxTQUFTLEdBQUdOLGFBQUlPLE9BQUosQ0FBWTtJQUM1QlYsTUFENEI7SUFFNUJNLGFBQWEsRUFBRUgsYUFBSUksbUJBQUosQ0FBd0I7TUFDckNOLEdBRHFDO01BRXJDQztJQUZxQyxDQUF4QixDQUZhO0lBTTVCRyxrQkFBa0IsRUFBRTtFQU5RLENBQVosQ0FBbEI7O0VBVUEsTUFBTSxJQUFJTSxpQkFBSixDQUFNLENBQUNDLE9BQUQsRUFBVUMsTUFBVixLQUFxQjtJQUMvQixNQUFNQyxjQUFjLEdBQUdDLFVBQVUsQ0FBQyxNQUFNO01BQ3RDLElBQUksQ0FBQ04sU0FBUyxDQUFDTyxTQUFmLEVBQTBCO1FBQ3hCUCxTQUFTLENBQUNRLEdBQVY7TUFDRDs7TUFDRCxPQUFPSixNQUFNLENBQUMsSUFBSUssS0FBSixDQUFVLHFCQUFWLENBQUQsQ0FBYjtJQUNELENBTGdDLEVBSzlCcEIsb0JBTDhCLENBQWpDO0lBT0FXLFNBQVMsQ0FBQ1UsSUFBVixDQUFlLGVBQWYsRUFBZ0MsTUFBTTtNQUNwQ0MsWUFBWSxDQUFDTixjQUFELENBQVo7O01BQ0FMLFNBQVMsQ0FBQ1ksT0FBVixDQUFrQkMsUUFBbEI7O01BQ0EsT0FBT1YsT0FBTyxFQUFkO0lBQ0QsQ0FKRDtFQUtELENBYkssQ0FBTjtFQWVBLE9BQU9XLGFBQUlDLE1BQUosQ0FBVztJQUFDQyxFQUFFLEVBQUV6QixNQUFNLENBQUNxQixPQUFQLENBQWVJO0VBQXBCLENBQVgsQ0FBUDtBQUNEIn0=
63
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3NzbC1oZWxwZXIuanMiLCJuYW1lcyI6WyJIQU5EU0hBS0VfVElNRU9VVF9NUyIsInVwZ3JhZGVUb1NTTCIsInNvY2tldCIsImtleSIsImNlcnQiLCJ0bHMiLCJUTFNTb2NrZXQiLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJzZWN1cmVDb250ZXh0IiwiY3JlYXRlU2VjdXJlQ29udGV4dCIsImVuYWJsZVNTTEhhbmRzaGFrZU9ubHkiLCJzc2xTb2NrZXQiLCJjb25uZWN0IiwiQiIsInJlc29sdmUiLCJyZWplY3QiLCJ0aW1lb3V0SGFuZGxlciIsInNldFRpbWVvdXQiLCJkZXN0cm95ZWQiLCJlbmQiLCJFcnJvciIsIm9uY2UiLCJjbGVhclRpbWVvdXQiLCJfaGFuZGxlIiwicmVhZFN0b3AiLCJuZXQiLCJTb2NrZXQiLCJmZCJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9zc2wtaGVscGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0bHMgZnJvbSAndGxzJztcbmltcG9ydCBuZXQgZnJvbSAnbmV0JztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcblxuY29uc3QgSEFORFNIQUtFX1RJTUVPVVRfTVMgPSAxMDAwMDtcblxuZnVuY3Rpb24gdXBncmFkZVRvU1NMIChzb2NrZXQsIGtleSwgY2VydCkge1xuICByZXR1cm4gbmV3IHRscy5UTFNTb2NrZXQoc29ja2V0LCB7XG4gICAgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSxcbiAgICBzZWN1cmVDb250ZXh0OiB0bHMuY3JlYXRlU2VjdXJlQ29udGV4dCh7XG4gICAgICBrZXksXG4gICAgICBjZXJ0XG4gICAgfSlcbiAgfSk7XG59XG5cbi8qKlxuICogQWZ0ZXIgdGhlIHNzbCBwcm90b2NvbCBpcyBzdWNjZXNzZnVsbHkgaGFuZHNoYWtlLCBjbG9zZSB0aGUgc3NsIHByb3RvY29sIGNoYW5uZWwgYW5kIHVzZSB0ZXh0IHRyYW5zbWlzc2lvblxuICogQHBhcmFtIHNvY2tldFxuICogQHBhcmFtIGtleVxuICogQHBhcmFtIGNlcnRcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNvY2tldD59IER1cGxpY2F0ZSB0aGUgaW5wdXQgc29ja2V0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGVuYWJsZVNTTEhhbmRzaGFrZU9ubHkgKHNvY2tldCwga2V5LCBjZXJ0KSB7XG4gIGNvbnN0IHNzbFNvY2tldCA9IHRscy5jb25uZWN0KHtcbiAgICBzb2NrZXQsXG4gICAgc2VjdXJlQ29udGV4dDogdGxzLmNyZWF0ZVNlY3VyZUNvbnRleHQoe1xuICAgICAga2V5LFxuICAgICAgY2VydFxuICAgIH0pLFxuICAgIHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsXG4gIH0pO1xuXG4gIC8vIHN0b3AgcmVjZWl2aW5nIGRhdGEgYWZ0ZXIgc3VjY2Vzc2Z1bCBoYW5kc2hha2VcbiAgYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHRpbWVvdXRIYW5kbGVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXNzbFNvY2tldC5kZXN0cm95ZWQpIHtcbiAgICAgICAgc3NsU29ja2V0LmVuZCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoJ3NzbCBoYW5kc2hha2UgZXJyb3InKSk7XG4gICAgfSwgSEFORFNIQUtFX1RJTUVPVVRfTVMpO1xuXG4gICAgc3NsU29ja2V0Lm9uY2UoJ3NlY3VyZUNvbm5lY3QnLCAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dEhhbmRsZXIpO1xuICAgICAgc3NsU29ja2V0Ll9oYW5kbGUucmVhZFN0b3AoKTtcbiAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgfSk7XG4gIH0pO1xuICAvLyBEdXBsaWNhdGUgdGhlIHNvY2tldC4gUmV0dXJuIGEgbmV3IHNvY2tldCBvYmplY3QgY29ubmVjdGVkIHRvIHRoZSBzYW1lIHN5c3RlbSByZXNvdXJjZVxuICByZXR1cm4gbmV0LlNvY2tldCh7ZmQ6IHNvY2tldC5faGFuZGxlLmZkfSk7XG59XG5cblxuZXhwb3J0IHsgdXBncmFkZVRvU1NMLCBlbmFibGVTU0xIYW5kc2hha2VPbmx5IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLG9CQUFvQixHQUFHLEtBQTdCOztBQUVBLFNBQVNDLFlBQVQsQ0FBdUJDLE1BQXZCLEVBQStCQyxHQUEvQixFQUFvQ0MsSUFBcEMsRUFBMEM7RUFDeEMsT0FBTyxJQUFJQyxZQUFBLENBQUlDLFNBQVIsQ0FBa0JKLE1BQWxCLEVBQTBCO0lBQy9CSyxrQkFBa0IsRUFBRSxLQURXO0lBRS9CQyxhQUFhLEVBQUVILFlBQUEsQ0FBSUksbUJBQUosQ0FBd0I7TUFDckNOLEdBRHFDO01BRXJDQztJQUZxQyxDQUF4QjtFQUZnQixDQUExQixDQUFQO0FBT0Q7O0FBU0QsZUFBZU0sc0JBQWYsQ0FBdUNSLE1BQXZDLEVBQStDQyxHQUEvQyxFQUFvREMsSUFBcEQsRUFBMEQ7RUFDeEQsTUFBTU8sU0FBUyxHQUFHTixZQUFBLENBQUlPLE9BQUosQ0FBWTtJQUM1QlYsTUFENEI7SUFFNUJNLGFBQWEsRUFBRUgsWUFBQSxDQUFJSSxtQkFBSixDQUF3QjtNQUNyQ04sR0FEcUM7TUFFckNDO0lBRnFDLENBQXhCLENBRmE7SUFNNUJHLGtCQUFrQixFQUFFO0VBTlEsQ0FBWixDQUFsQjs7RUFVQSxNQUFNLElBQUlNLGlCQUFKLENBQU0sQ0FBQ0MsT0FBRCxFQUFVQyxNQUFWLEtBQXFCO0lBQy9CLE1BQU1DLGNBQWMsR0FBR0MsVUFBVSxDQUFDLE1BQU07TUFDdEMsSUFBSSxDQUFDTixTQUFTLENBQUNPLFNBQWYsRUFBMEI7UUFDeEJQLFNBQVMsQ0FBQ1EsR0FBVjtNQUNEOztNQUNELE9BQU9KLE1BQU0sQ0FBQyxJQUFJSyxLQUFKLENBQVUscUJBQVYsQ0FBRCxDQUFiO0lBQ0QsQ0FMZ0MsRUFLOUJwQixvQkFMOEIsQ0FBakM7SUFPQVcsU0FBUyxDQUFDVSxJQUFWLENBQWUsZUFBZixFQUFnQyxNQUFNO01BQ3BDQyxZQUFZLENBQUNOLGNBQUQsQ0FBWjs7TUFDQUwsU0FBUyxDQUFDWSxPQUFWLENBQWtCQyxRQUFsQjs7TUFDQSxPQUFPVixPQUFPLEVBQWQ7SUFDRCxDQUpEO0VBS0QsQ0FiSyxDQUFOO0VBZUEsT0FBT1csWUFBQSxDQUFJQyxNQUFKLENBQVc7SUFBQ0MsRUFBRSxFQUFFekIsTUFBTSxDQUFDcUIsT0FBUCxDQUFlSTtFQUFwQixDQUFYLENBQVA7QUFDRCJ9
@@ -120,4 +120,4 @@ var _default = SyslogDecoder;
120
120
  exports.default = _default;require('source-map-support').install();
121
121
 
122
122
 
123
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3N5c2xvZy90cmFuc2Zvcm1lci9zeXNsb2ctZGVjb2Rlci5qcyIsIm5hbWVzIjpbIk5FV19MSU5FX0NPREUiLCJOVUxMX0RFTElNRVRFUl9DT0RFIiwiQkFDS1NMQVNIX0NPREUiLCJjb2RlUG9pbnRBdCIsIlNISUZUU19NQVBQSU5HIiwiRVNDQVBFX1RPS0VOX0xFTiIsIkVTQ0FQRV9UT0tFTl9QQVRURVJOIiwidG9VdGY4Qnl0ZSIsImVzY2FwZWRDaGFyIiwibW9kaWZpZXIiLCJzaGlmdCIsImlzTmFOIiwidW5lc2NhcGUiLCJsb2dCdWZmZXIiLCJwYXJzZVV0ZjhDaGFycyIsInN0YXJ0IiwiY3Vyc29yIiwidG9rZW4iLCJVaW50OEFycmF5IiwidXRmOENoYXJzQXNCeXRlcyIsImxlbmd0aCIsImNvcHkiLCJ0b2tlblN0ciIsIkJ1ZmZlciIsImZyb20iLCJ0b1N0cmluZyIsInRva2VuTWF0Y2giLCJleGVjIiwiYnl0ZSIsInB1c2giLCJpbmRleCIsInJlc3VsdCIsImJ5dGVzVmlldyIsIm5ld0luZGV4IiwiY2hhcnMiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJTeXNsb2dEZWNvZGVyIiwiU3RyZWFtIiwiVHJhbnNmb3JtIiwiY29uc3RydWN0b3IiLCJidWZmZXJMZW5ndGgiLCJvYmplY3RNb2RlIiwiYnVmZmVySW5kZXgiLCJidWZmZXIiLCJhbGxvY1Vuc2FmZSIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJfZGVjb2RlIiwiaSIsInN0cmluZ0J1ZmZlciJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9zeXNsb2cvdHJhbnNmb3JtZXIvc3lzbG9nLWRlY29kZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuXG5jb25zdCBORVdfTElORV9DT0RFID0gMHgwQTtcbmNvbnN0IE5VTExfREVMSU1FVEVSX0NPREUgPSAweDAwO1xuY29uc3QgQkFDS1NMQVNIX0NPREUgPSAnXFxcXCcuY29kZVBvaW50QXQoMCk7XG5jb25zdCBTSElGVFNfTUFQUElORyA9IHtcbiAgJy0nOiAweDgwLFxuICAnXic6IDB4NDAsXG59O1xuY29uc3QgRVNDQVBFX1RPS0VOX0xFTiA9IDQ7XG5jb25zdCBFU0NBUEVfVE9LRU5fUEFUVEVSTiA9IC9cXFxcTSgtfFxcXikoLikvO1xuXG5cbmZ1bmN0aW9uIHRvVXRmOEJ5dGUgKGVzY2FwZWRDaGFyLCBtb2RpZmllcikge1xuICBjb25zdCBzaGlmdCA9IFNISUZUU19NQVBQSU5HW21vZGlmaWVyXTtcbiAgcmV0dXJuIGlzTmFOKHNoaWZ0KSA/IG51bGwgOiBlc2NhcGVkQ2hhci5jb2RlUG9pbnRBdCgwKSArIHNoaWZ0O1xufVxuXG4vKipcbiAqIFVuZXNjYXBlcyB1dGY4LWVuY29kZWQgY2hhcmFjdGVycywgc28gdGhlIG91dHB1dCBsb29rc1xuICogbGlrZSBhIHZhbGlkIHN0cmluZy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hcHBpdW0vYXBwaXVtL2lzc3Vlcy8xNDQ3NlxuICogZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcn0gbG9nQnVmZmVyIEEgc2luZ2xlIGVzY2FwZWQgbG9nIGxpbmVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB1bmVzY2FwZWQgc3RyaW5nIG9yIHRoZSBzYW1lIHN0cmluZyBpZiBubyB1bmVzY2FwaW5nXG4gKiBpcyBuZWNlc3NhcnkuXG4gKi9cbmZ1bmN0aW9uIHVuZXNjYXBlIChsb2dCdWZmZXIpIHtcbiAgY29uc3QgcGFyc2VVdGY4Q2hhcnMgPSAoc3RhcnQpID0+IHtcbiAgICBsZXQgY3Vyc29yID0gc3RhcnQ7XG4gICAgY29uc3QgdG9rZW4gPSBuZXcgVWludDhBcnJheShFU0NBUEVfVE9LRU5fTEVOKTtcbiAgICBjb25zdCB1dGY4Q2hhcnNBc0J5dGVzID0gW107XG4gICAgd2hpbGUgKGN1cnNvciA8PSBsb2dCdWZmZXIubGVuZ3RoIC0gRVNDQVBFX1RPS0VOX0xFTikge1xuICAgICAgbG9nQnVmZmVyLmNvcHkodG9rZW4sIDAsIGN1cnNvciwgY3Vyc29yICsgRVNDQVBFX1RPS0VOX0xFTik7XG4gICAgICBjb25zdCB0b2tlblN0ciA9IEJ1ZmZlci5mcm9tKHRva2VuKS50b1N0cmluZygnbGF0aW4xJyk7XG4gICAgICBjb25zdCB0b2tlbk1hdGNoID0gRVNDQVBFX1RPS0VOX1BBVFRFUk4uZXhlYyh0b2tlblN0cik7XG4gICAgICBpZiAoIXRva2VuTWF0Y2gpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zdCBieXRlID0gdG9VdGY4Qnl0ZSh0b2tlbk1hdGNoWzJdLCB0b2tlbk1hdGNoWzFdKTtcbiAgICAgIGlmIChieXRlID09PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdXRmOENoYXJzQXNCeXRlcy5wdXNoKGJ5dGUpO1xuICAgICAgY3Vyc29yICs9IEVTQ0FQRV9UT0tFTl9MRU47XG4gICAgfVxuICAgIHJldHVybiB1dGY4Q2hhcnNBc0J5dGVzLmxlbmd0aFxuICAgICAgPyBbY3Vyc29yLCBCdWZmZXIuZnJvbSh1dGY4Q2hhcnNBc0J5dGVzKS50b1N0cmluZygndXRmOCcpXVxuICAgICAgOiBbc3RhcnQsIG51bGxdO1xuICB9O1xuXG4gIGxldCBpbmRleCA9IDA7XG4gIGxldCByZXN1bHQgPSAnJztcbiAgY29uc3QgYnl0ZXNWaWV3ID0gbmV3IFVpbnQ4QXJyYXkobG9nQnVmZmVyKTtcbiAgd2hpbGUgKGluZGV4IDwgYnl0ZXNWaWV3Lmxlbmd0aCkge1xuICAgIGlmIChieXRlc1ZpZXdbaW5kZXhdID09PSBCQUNLU0xBU0hfQ09ERSkge1xuICAgICAgY29uc3QgW25ld0luZGV4LCBjaGFyc10gPSBwYXJzZVV0ZjhDaGFycyhpbmRleCk7XG4gICAgICBpZiAobmV3SW5kZXggPiBpbmRleCkge1xuICAgICAgICByZXN1bHQgKz0gY2hhcnM7XG4gICAgICAgIGluZGV4ID0gbmV3SW5kZXg7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXN1bHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlc1ZpZXdbaW5kZXgrK10pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuXG5jbGFzcyBTeXNsb2dEZWNvZGVyIGV4dGVuZHMgU3RyZWFtLlRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IgKGJ1ZmZlckxlbmd0aCkge1xuICAgIHN1cGVyKHsgb2JqZWN0TW9kZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmJ1ZmZlckluZGV4ID0gMDtcbiAgICB0aGlzLmJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShidWZmZXJMZW5ndGgpO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIHRoaXMuX2RlY29kZShkYXRhKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9kZWNvZGUgKGRhdGEpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIC8vIERvbid0IHN0b3JlIHRoZSBudWxsIGRlbGltZXRlciBtZXNzYWdlc1xuICAgICAgaWYgKGRhdGFbaV0gPT09IE5VTExfREVMSU1FVEVSX0NPREUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICAvLyBQdXNoIHRoZSBkYXRhIHdoZW4gbmV3IGxpbmUgaXMgc2VudFxuICAgICAgaWYgKGRhdGFbaV0gPT09IE5FV19MSU5FX0NPREUpIHtcbiAgICAgICAgaWYgKHRoaXMuYnVmZmVySW5kZXggPiAwKSB7XG4gICAgICAgICAgY29uc3Qgc3RyaW5nQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKHRoaXMuYnVmZmVySW5kZXgpO1xuICAgICAgICAgIHRoaXMuYnVmZmVyLmNvcHkoc3RyaW5nQnVmZmVyLCAwLCAwLCB0aGlzLmJ1ZmZlckluZGV4KTtcbiAgICAgICAgICB0aGlzLnB1c2godW5lc2NhcGUoc3RyaW5nQnVmZmVyKSwgJ3V0ZjgnKTtcbiAgICAgICAgICB0aGlzLmJ1ZmZlckluZGV4ID0gMDtcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnVmZmVyW3RoaXMuYnVmZmVySW5kZXhdID0gZGF0YVtpXTtcbiAgICAgIHRoaXMuYnVmZmVySW5kZXgrKztcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsgU3lzbG9nRGVjb2RlciwgdW5lc2NhcGUgfTtcbmV4cG9ydCBkZWZhdWx0IFN5c2xvZ0RlY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLGFBQWEsR0FBRyxJQUF0QjtBQUNBLE1BQU1DLG1CQUFtQixHQUFHLElBQTVCO0FBQ0EsTUFBTUMsY0FBYyxHQUFHLEtBQUtDLFdBQUwsQ0FBaUIsQ0FBakIsQ0FBdkI7QUFDQSxNQUFNQyxjQUFjLEdBQUc7RUFDckIsS0FBSyxJQURnQjtFQUVyQixLQUFLO0FBRmdCLENBQXZCO0FBSUEsTUFBTUMsZ0JBQWdCLEdBQUcsQ0FBekI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyxjQUE3Qjs7QUFHQSxTQUFTQyxVQUFULENBQXFCQyxXQUFyQixFQUFrQ0MsUUFBbEMsRUFBNEM7RUFDMUMsTUFBTUMsS0FBSyxHQUFHTixjQUFjLENBQUNLLFFBQUQsQ0FBNUI7RUFDQSxPQUFPRSxLQUFLLENBQUNELEtBQUQsQ0FBTCxHQUFlLElBQWYsR0FBc0JGLFdBQVcsQ0FBQ0wsV0FBWixDQUF3QixDQUF4QixJQUE2Qk8sS0FBMUQ7QUFDRDs7QUFXRCxTQUFTRSxRQUFULENBQW1CQyxTQUFuQixFQUE4QjtFQUM1QixNQUFNQyxjQUFjLEdBQUlDLEtBQUQsSUFBVztJQUNoQyxJQUFJQyxNQUFNLEdBQUdELEtBQWI7SUFDQSxNQUFNRSxLQUFLLEdBQUcsSUFBSUMsVUFBSixDQUFlYixnQkFBZixDQUFkO0lBQ0EsTUFBTWMsZ0JBQWdCLEdBQUcsRUFBekI7O0lBQ0EsT0FBT0gsTUFBTSxJQUFJSCxTQUFTLENBQUNP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
123
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3N5c2xvZy90cmFuc2Zvcm1lci9zeXNsb2ctZGVjb2Rlci5qcyIsIm5hbWVzIjpbIk5FV19MSU5FX0NPREUiLCJOVUxMX0RFTElNRVRFUl9DT0RFIiwiQkFDS1NMQVNIX0NPREUiLCJjb2RlUG9pbnRBdCIsIlNISUZUU19NQVBQSU5HIiwiRVNDQVBFX1RPS0VOX0xFTiIsIkVTQ0FQRV9UT0tFTl9QQVRURVJOIiwidG9VdGY4Qnl0ZSIsImVzY2FwZWRDaGFyIiwibW9kaWZpZXIiLCJzaGlmdCIsImlzTmFOIiwidW5lc2NhcGUiLCJsb2dCdWZmZXIiLCJwYXJzZVV0ZjhDaGFycyIsInN0YXJ0IiwiY3Vyc29yIiwidG9rZW4iLCJVaW50OEFycmF5IiwidXRmOENoYXJzQXNCeXRlcyIsImxlbmd0aCIsImNvcHkiLCJ0b2tlblN0ciIsIkJ1ZmZlciIsImZyb20iLCJ0b1N0cmluZyIsInRva2VuTWF0Y2giLCJleGVjIiwiYnl0ZSIsInB1c2giLCJpbmRleCIsInJlc3VsdCIsImJ5dGVzVmlldyIsIm5ld0luZGV4IiwiY2hhcnMiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJTeXNsb2dEZWNvZGVyIiwiU3RyZWFtIiwiVHJhbnNmb3JtIiwiY29uc3RydWN0b3IiLCJidWZmZXJMZW5ndGgiLCJvYmplY3RNb2RlIiwiYnVmZmVySW5kZXgiLCJidWZmZXIiLCJhbGxvY1Vuc2FmZSIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJfZGVjb2RlIiwiaSIsInN0cmluZ0J1ZmZlciJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9zeXNsb2cvdHJhbnNmb3JtZXIvc3lzbG9nLWRlY29kZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuXG5jb25zdCBORVdfTElORV9DT0RFID0gMHgwQTtcbmNvbnN0IE5VTExfREVMSU1FVEVSX0NPREUgPSAweDAwO1xuY29uc3QgQkFDS1NMQVNIX0NPREUgPSAnXFxcXCcuY29kZVBvaW50QXQoMCk7XG5jb25zdCBTSElGVFNfTUFQUElORyA9IHtcbiAgJy0nOiAweDgwLFxuICAnXic6IDB4NDAsXG59O1xuY29uc3QgRVNDQVBFX1RPS0VOX0xFTiA9IDQ7XG5jb25zdCBFU0NBUEVfVE9LRU5fUEFUVEVSTiA9IC9cXFxcTSgtfFxcXikoLikvO1xuXG5cbmZ1bmN0aW9uIHRvVXRmOEJ5dGUgKGVzY2FwZWRDaGFyLCBtb2RpZmllcikge1xuICBjb25zdCBzaGlmdCA9IFNISUZUU19NQVBQSU5HW21vZGlmaWVyXTtcbiAgcmV0dXJuIGlzTmFOKHNoaWZ0KSA/IG51bGwgOiBlc2NhcGVkQ2hhci5jb2RlUG9pbnRBdCgwKSArIHNoaWZ0O1xufVxuXG4vKipcbiAqIFVuZXNjYXBlcyB1dGY4LWVuY29kZWQgY2hhcmFjdGVycywgc28gdGhlIG91dHB1dCBsb29rc1xuICogbGlrZSBhIHZhbGlkIHN0cmluZy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hcHBpdW0vYXBwaXVtL2lzc3Vlcy8xNDQ3NlxuICogZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcn0gbG9nQnVmZmVyIEEgc2luZ2xlIGVzY2FwZWQgbG9nIGxpbmVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB1bmVzY2FwZWQgc3RyaW5nIG9yIHRoZSBzYW1lIHN0cmluZyBpZiBubyB1bmVzY2FwaW5nXG4gKiBpcyBuZWNlc3NhcnkuXG4gKi9cbmZ1bmN0aW9uIHVuZXNjYXBlIChsb2dCdWZmZXIpIHtcbiAgY29uc3QgcGFyc2VVdGY4Q2hhcnMgPSAoc3RhcnQpID0+IHtcbiAgICBsZXQgY3Vyc29yID0gc3RhcnQ7XG4gICAgY29uc3QgdG9rZW4gPSBuZXcgVWludDhBcnJheShFU0NBUEVfVE9LRU5fTEVOKTtcbiAgICBjb25zdCB1dGY4Q2hhcnNBc0J5dGVzID0gW107XG4gICAgd2hpbGUgKGN1cnNvciA8PSBsb2dCdWZmZXIubGVuZ3RoIC0gRVNDQVBFX1RPS0VOX0xFTikge1xuICAgICAgbG9nQnVmZmVyLmNvcHkodG9rZW4sIDAsIGN1cnNvciwgY3Vyc29yICsgRVNDQVBFX1RPS0VOX0xFTik7XG4gICAgICBjb25zdCB0b2tlblN0ciA9IEJ1ZmZlci5mcm9tKHRva2VuKS50b1N0cmluZygnbGF0aW4xJyk7XG4gICAgICBjb25zdCB0b2tlbk1hdGNoID0gRVNDQVBFX1RPS0VOX1BBVFRFUk4uZXhlYyh0b2tlblN0cik7XG4gICAgICBpZiAoIXRva2VuTWF0Y2gpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zdCBieXRlID0gdG9VdGY4Qnl0ZSh0b2tlbk1hdGNoWzJdLCB0b2tlbk1hdGNoWzFdKTtcbiAgICAgIGlmIChieXRlID09PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdXRmOENoYXJzQXNCeXRlcy5wdXNoKGJ5dGUpO1xuICAgICAgY3Vyc29yICs9IEVTQ0FQRV9UT0tFTl9MRU47XG4gICAgfVxuICAgIHJldHVybiB1dGY4Q2hhcnNBc0J5dGVzLmxlbmd0aFxuICAgICAgPyBbY3Vyc29yLCBCdWZmZXIuZnJvbSh1dGY4Q2hhcnNBc0J5dGVzKS50b1N0cmluZygndXRmOCcpXVxuICAgICAgOiBbc3RhcnQsIG51bGxdO1xuICB9O1xuXG4gIGxldCBpbmRleCA9IDA7XG4gIGxldCByZXN1bHQgPSAnJztcbiAgY29uc3QgYnl0ZXNWaWV3ID0gbmV3IFVpbnQ4QXJyYXkobG9nQnVmZmVyKTtcbiAgd2hpbGUgKGluZGV4IDwgYnl0ZXNWaWV3Lmxlbmd0aCkge1xuICAgIGlmIChieXRlc1ZpZXdbaW5kZXhdID09PSBCQUNLU0xBU0hfQ09ERSkge1xuICAgICAgY29uc3QgW25ld0luZGV4LCBjaGFyc10gPSBwYXJzZVV0ZjhDaGFycyhpbmRleCk7XG4gICAgICBpZiAobmV3SW5kZXggPiBpbmRleCkge1xuICAgICAgICByZXN1bHQgKz0gY2hhcnM7XG4gICAgICAgIGluZGV4ID0gbmV3SW5kZXg7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXN1bHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlc1ZpZXdbaW5kZXgrK10pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuXG5jbGFzcyBTeXNsb2dEZWNvZGVyIGV4dGVuZHMgU3RyZWFtLlRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IgKGJ1ZmZlckxlbmd0aCkge1xuICAgIHN1cGVyKHsgb2JqZWN0TW9kZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmJ1ZmZlckluZGV4ID0gMDtcbiAgICB0aGlzLmJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShidWZmZXJMZW5ndGgpO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIHRoaXMuX2RlY29kZShkYXRhKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9kZWNvZGUgKGRhdGEpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIC8vIERvbid0IHN0b3JlIHRoZSBudWxsIGRlbGltZXRlciBtZXNzYWdlc1xuICAgICAgaWYgKGRhdGFbaV0gPT09IE5VTExfREVMSU1FVEVSX0NPREUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICAvLyBQdXNoIHRoZSBkYXRhIHdoZW4gbmV3IGxpbmUgaXMgc2VudFxuICAgICAgaWYgKGRhdGFbaV0gPT09IE5FV19MSU5FX0NPREUpIHtcbiAgICAgICAgaWYgKHRoaXMuYnVmZmVySW5kZXggPiAwKSB7XG4gICAgICAgICAgY29uc3Qgc3RyaW5nQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKHRoaXMuYnVmZmVySW5kZXgpO1xuICAgICAgICAgIHRoaXMuYnVmZmVyLmNvcHkoc3RyaW5nQnVmZmVyLCAwLCAwLCB0aGlzLmJ1ZmZlckluZGV4KTtcbiAgICAgICAgICB0aGlzLnB1c2godW5lc2NhcGUoc3RyaW5nQnVmZmVyKSwgJ3V0ZjgnKTtcbiAgICAgICAgICB0aGlzLmJ1ZmZlckluZGV4ID0gMDtcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnVmZmVyW3RoaXMuYnVmZmVySW5kZXhdID0gZGF0YVtpXTtcbiAgICAgIHRoaXMuYnVmZmVySW5kZXgrKztcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsgU3lzbG9nRGVjb2RlciwgdW5lc2NhcGUgfTtcbmV4cG9ydCBkZWZhdWx0IFN5c2xvZ0RlY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLGFBQWEsR0FBRyxJQUF0QjtBQUNBLE1BQU1DLG1CQUFtQixHQUFHLElBQTVCO0FBQ0EsTUFBTUMsY0FBYyxHQUFHLEtBQUtDLFdBQUwsQ0FBaUIsQ0FBakIsQ0FBdkI7QUFDQSxNQUFNQyxjQUFjLEdBQUc7RUFDckIsS0FBSyxJQURnQjtFQUVyQixLQUFLO0FBRmdCLENBQXZCO0FBSUEsTUFBTUMsZ0JBQWdCLEdBQUcsQ0FBekI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyxjQUE3Qjs7QUFHQSxTQUFTQyxVQUFULENBQXFCQyxXQUFyQixFQUFrQ0MsUUFBbEMsRUFBNEM7RUFDMUMsTUFBTUMsS0FBSyxHQUFHTixjQUFjLENBQUNLLFFBQUQsQ0FBNUI7RUFDQSxPQUFPRSxLQUFLLENBQUNELEtBQUQsQ0FBTCxHQUFlLElBQWYsR0FBc0JGLFdBQVcsQ0FBQ0wsV0FBWixDQUF3QixDQUF4QixJQUE2Qk8sS0FBMUQ7QUFDRDs7QUFXRCxTQUFTRSxRQUFULENBQW1CQyxTQUFuQixFQUE4QjtFQUM1QixNQUFNQyxjQUFjLEdBQUlDLEtBQUQsSUFBVztJQUNoQyxJQUFJQyxNQUFNLEdBQUdELEtBQWI7SUFDQSxNQUFNRSxLQUFLLEdBQUcsSUFBSUMsVUFBSixDQUFlYixnQkFBZixDQUFkO0lBQ0EsTUFBTWMsZ0JBQWdCLEdBQUcsRUFBekI7O0lBQ0EsT0FBT0gsTUFBTSxJQUFJSCxTQUFTLENBQUNP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
@@ -283,4 +283,4 @@ var _default = Usbmux;
283
283
  exports.default = _default;require('source-map-support').install();
284
284
 
285
285
 
286
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3VzYm11eC9pbmRleC5qcyIsIm5hbWVzIjpbIk1BWF9GUkFNRV9TSVpFIiwiTUIiLCJVU0JNVVhfUkVTVUxUIiwiT0siLCJCQURDT01NQU5EIiwiQkFEREVWIiwiQ09OTlJFRlVTRUQiLCJuYW1lIiwidmVyc2lvbiIsInJlcXVpcmUiLCJwYXRoIiwicmVzb2x2ZSIsIl9fZGlybmFtZSIsImVyciIsIkRFRkFVTFRfVVNCTVVYRF9TT0NLRVQiLCJERUZBVUxUX1VTQk1VWERfUE9SVCIsIkRFRkFVTFRfVVNCTVVYRF9IT1NUIiwiUFJPR19OQU1FIiwiQ0xJRU5UX1ZFUlNJT05fU1RSSU5HIiwic3dhcDE2IiwidmFsIiwiZ2V0RGVmYXVsdFNvY2tldCIsIm9wdHMiLCJzb2NrZXRQYXRoIiwic29ja2V0UG9ydCIsInNvY2tldEhvc3QiLCJ0aW1lb3V0Iiwic29ja2V0IiwiZnMiLCJleGlzdHMiLCJuZXQiLCJjcmVhdGVDb25uZWN0aW9uIiwicHJvY2VzcyIsInBsYXRmb3JtIiwidGVzdCIsIm9zIiwicmVsZWFzZSIsIkVycm9yIiwiQiIsInJlamVjdCIsIm9uY2UiLCJVc2JtdXgiLCJCYXNlU2VydmljZVNvY2tldCIsImNvbnN0cnVjdG9yIiwic29ja2V0Q2xpZW50IiwiX2RlY29kZXIiLCJVc2JtdXhEZWNvZGVyIiwiX3NwbGl0dGVyIiwiTGVuZ3RoQmFzZWRTcGxpdHRlciIsInJlYWRhYmxlU3RyZWFtIiwibGl0dGxlRW5kaWFuIiwibWF4RnJhbWVMZW5ndGgiLCJsZW5ndGhGaWVsZE9mZnNldCIsImxlbmd0aEZpZWxkTGVuZ3RoIiwibGVuZ3RoQWRqdXN0bWVudCIsIl9zb2NrZXRDbGllbnQiLCJwaXBlIiwiX2VuY29kZXIiLCJVc2JtdXhFbmNvZGVyIiwiX2Fzc2lnbkNsaWVudEZhaWx1cmVIYW5kbGVycyIsIl90YWciLCJfcmVzcG9uc2VDYWxsYmFja3MiLCJvbiIsIl9oYW5kbGVEYXRhIiwiYmluZCIsImRhdGEiLCJjYiIsImhlYWRlciIsInRhZyIsIl8iLCJub29wIiwicmVhZEJVSUQiLCJyZWNlaXZlUHJvbWlzZSIsIl9yZWNlaXZlUGxpc3RQcm9taXNlIiwicGF5bG9hZCIsIkJVSUQiLCJKU09OIiwic3RyaW5naWZ5IiwiX3NlbmRQbGlzdCIsIk1lc3NhZ2VUeXBlIiwiUHJvZ05hbWUiLCJDbGllbnRWZXJzaW9uU3RyaW5nIiwicmVhZFBhaXJSZWNvcmQiLCJ1ZGlkIiwiUGFpclJlY29yZERhdGEiLCJwbGlzdCIsInBhcnNlUGxpc3QiLCJQYWlyUmVjb3JkSUQiLCJqc29uIiwid3JpdGUiLCJyZXNwb25zZUNhbGxiYWNrIiwiZSIsInNldFRpbWVvdXQiLCJsaXN0RGV2aWNlcyIsIkRldmljZUxpc3QiLCJmaW5kRGV2aWNlIiwiZGV2aWNlcyIsImZpbmQiLCJkZXZpY2UiLCJQcm9wZXJ0aWVzIiwiU2VyaWFsTnVtYmVyIiwiY29ubmVjdExvY2tkb3duIiwiY29ubmVjdCIsIkRldmljZUlEIiwiTE9DS0RPV05fUE9SVCIsIkxvY2tkb3duIiwiUGxpc3RTZXJ2aWNlIiwiZGV2aWNlSUQiLCJwb3J0IiwiTnVtYmVyIiwic2h1dGRvd24iLCJ1bnBpcGUiLCJQb3J0TnVtYmVyIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL3VzYm11eC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCB7IHBsaXN0LCBmcyB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgTGVuZ3RoQmFzZWRTcGxpdHRlciBmcm9tICcuLi91dGlsL3RyYW5zZm9ybWVyL2xlbmd0aC1iYXNlZC1zcGxpdHRlcic7XG5pbXBvcnQgVXNibXV4RGVjb2RlciBmcm9tICcuL3RyYW5zZm9ybWVyL3VzYm11eC1kZWNvZGVyLmpzJztcbmltcG9ydCBVc2JtdXhFbmNvZGVyIGZyb20gJy4vdHJhbnNmb3JtZXIvdXNibXV4LWVuY29kZXIuanMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgUGxpc3RTZXJ2aWNlIGZyb20gJy4uL3BsaXN0LXNlcnZpY2UnO1xuaW1wb3J0IHsgTG9ja2Rvd24sIExPQ0tET1dOX1BPUlQgfSBmcm9tICcuLi9sb2NrZG93bic7XG5pbXBvcnQgeyBCYXNlU2VydmljZVNvY2tldCB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5pbXBvcnQgeyBNQiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cblxuY29uc3QgTUFYX0ZSQU1FX1NJWkUgPSAxICogTUI7XG5cbmNvbnN0IFVTQk1VWF9SRVNVTFQgPSB7XG4gIE9LOiAwLFxuICBCQURDT01NQU5EOiAxLFxuICBCQURERVY6IDIsXG4gIENPTk5SRUZVU0VEOiAzLFxufTtcblxubGV0IG5hbWUsIHZlcnNpb247XG50cnkge1xuICAvLyBmaXJzdCB0cnkgYXNzdW1pbmcgdGhpcyBpcyBpbiB0aGUgYGJ1aWxkYCBmb2xkZXJcbiAgKHsgbmFtZSwgdmVyc2lvbiB9ID0gcmVxdWlyZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnLi4nLCAncGFja2FnZS5qc29uJykpKTtcbn0gY2F0Y2ggKGVycikge1xuICAvLyB0aGVuIHRyeSBhc3N1bWluZyBpdCBpcyBub3RcbiAgKHsgbmFtZSwgdmVyc2lvbiB9ID0gcmVxdWlyZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAncGFja2FnZS5qc29uJykpKTtcbn1cblxuY29uc3QgREVGQVVMVF9VU0JNVVhEX1NPQ0tFVCA9ICcvdmFyL3J1bi91c2JtdXhkJztcbmNvbnN0IERFRkFVTFRfVVNCTVVYRF9QT1JUID0gMjcwMTU7XG5jb25zdCBERUZBVUxUX1VTQk1VWERfSE9TVCA9ICcxMjcuMC4wLjEnO1xuY29uc3QgUFJPR19OQU1FID0gbmFtZTtcbmNvbnN0IENMSUVOVF9WRVJTSU9OX1NUUklORyA9IGAke25hbWV9LSR7dmVyc2lvbn1gO1xuXG5mdW5jdGlvbiBzd2FwMTYgKHZhbCkge1xuICByZXR1cm4gKCh2YWwgJiAweEZGKSA8PCA4KSB8ICgodmFsID4+IDgpICYgMHhGRik7XG59XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU29ja2V0T3B0aW9uc1xuICogQHByb3BlcnR5IHs/c3RyaW5nfSBzb2NrZXRQYXRoIFsvdmFyL3J1bi91c2JtdXhkXSBUaGUgZnVsbCBwYXRoIHRvIHRoZSB1c2JtdXhkIFVuaXggc29ja2V0XG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHNvY2tldFBvcnQgWzI3MDE1XSBUaGUgcG9ydCBudW1iZXIgdG8gY29ubmVjdCB0byBpZiBydW5uaW5nIG9uIFdpbmRvd3NcbiAqIG9yIGluIFdTTDEgbW9kZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBzb2NrZXRIb3N0IFsxMjcuMC4wLjFdIFRoZSBob3N0IG5hbWUgdG8gY29ubmVjdCB0byBpZiBydW5uaW5nIG9uIFdpbmRvd3NcbiAqIG9yIGluIFdTTDEgbW9kZVxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFs1MDAwXSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB3YWl0IHVudGlsXG4gKiB0aGUgc29ja2V0IGlzIGNvbm5lY3RlZFxuICovXG5cbi8qKlxuICogQ29ubmVjdHMgYSBzb2NrZXQgdG8gdXNibXV4ZCBzZXJ2aWNlXG4gKlxuICogQHBhcmFtIHs/U29ja2V0T3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBhY2Nlc3NpbmcgdGhlIHNvY2tldCBvclxuICogYSBjb25uZWN0aW9uIGVycm9yIGhhcHBlbmVkXG4gKiBAdGhyb3dzIHtCLlRpbWVvdXRFcnJvcn0gaWYgY29ubmVjdGlvbiB0aW1lb3V0IGhhcHBlbmVkXG4gKiBAcmV0dXJucyB7bmV0LlNvY2tldH0gQ29ubmVjdGVkIHNvY2tldCBpbnN0YW5jZVxuICovXG5hc3luYyBmdW5jdGlvbiBnZXREZWZhdWx0U29ja2V0IChvcHRzID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHNvY2tldFBhdGggPSBERUZBVUxUX1VTQk1VWERfU09DS0VULFxuICAgIHNvY2tldFBvcnQgPSBERUZBVUxUX1VTQk1VWERfUE9SVCxcbiAgICBzb2NrZXRIb3N0ID0gREVGQVVMVF9VU0JNVVhEX0hPU1QsXG4gICAgdGltZW91dCA9IDUwMDAsXG4gIH0gPSBvcHRzO1xuXG4gIGxldCBzb2NrZXQ7XG4gIGlmIChhd2FpdCBmcy5leGlzdHMoc29ja2V0UGF0aCkpIHtcbiAgICBzb2NrZXQgPSBuZXQuY3JlYXRlQ29ubmVjdGlvbihzb2NrZXRQYXRoKTtcbiAgfSBlbHNlIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInXG4gICAgICB8fCAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ2xpbnV4JyAmJiAvbWljcm9zb2Z0L2kudGVzdChvcy5yZWxlYXNlKCkpKSkge1xuICAgIC8vIENvbm5lY3QgdG8gdXNibXV4ZCB3aGVuIHJ1bm5pbmcgb24gV1NMMVxuICAgIHNvY2tldCA9IG5ldC5jcmVhdGVDb25uZWN0aW9uKHNvY2tldFBvcnQsIHNvY2tldEhvc3QpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHVzYm11eGQgc29ja2V0IGF0ICcke3NvY2tldFBhdGh9JyBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgYWNjZXNzaWJsZWApO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCByZWplY3QpO1xuICAgIHNvY2tldC5vbmNlKCdjb25uZWN0JywgKCkgPT4gcmVzb2x2ZShzb2NrZXQpKTtcbiAgfSkudGltZW91dCh0aW1lb3V0KTtcbn1cblxuXG5jbGFzcyBVc2JtdXggZXh0ZW5kcyBCYXNlU2VydmljZVNvY2tldCB7XG4gIGNvbnN0cnVjdG9yIChzb2NrZXRDbGllbnQpIHtcbiAgICBzdXBlcihzb2NrZXRDbGllbnQpO1xuXG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBVc2JtdXhEZWNvZGVyKCk7XG4gICAgdGhpcy5fc3BsaXR0ZXIgPSBuZXcgTGVuZ3RoQmFzZWRTcGxpdHRlcih7XG4gICAgICByZWFkYWJsZVN0cmVhbTogc29ja2V0Q2xpZW50LFxuICAgICAgbGl0dGxlRW5kaWFuOiB0cnVlLFxuICAgICAgbWF4RnJhbWVMZW5ndGg6IE1BWF9GUkFNRV9TSVpFLFxuICAgICAgbGVuZ3RoRmllbGRPZmZzZXQ6IDAsXG4gICAgICBsZW5ndGhGaWVsZExlbmd0aDogNCxcbiAgICAgIGxlbmd0aEFkanVzdG1lbnQ6IDAsXG4gICAgfSk7XG4gICAgdGhpcy5fc29ja2V0Q2xpZW50LnBpcGUodGhpcy5fc3BsaXR0ZXIpLnBpcGUodGhpcy5fZGVjb2Rlcik7XG5cbiAgICB0aGlzLl9lbmNvZGVyID0gbmV3IFVzYm11eEVuY29kZXIoKTtcbiAgICB0aGlzLl9lbmNvZGVyLnBpcGUodGhpcy5fc29ja2V0Q2xpZW50KTtcbiAgICB0aGlzLl9hc3NpZ25DbGllbnRGYWlsdXJlSGFuZGxlcnModGhpcy5fZW5jb2Rlcik7XG5cbiAgICB0aGlzLl90YWcgPSAwO1xuICAgIHRoaXMuX3Jlc3BvbnNlQ2FsbGJhY2tzID0ge307XG4gICAgdGhpcy5fZGVjb2Rlci5vbignZGF0YScsIHRoaXMuX2hhbmRsZURhdGEuYmluZCh0aGlzKSk7XG4gIH1cblxuICBfaGFuZGxlRGF0YSAoZGF0YSkge1xuICAgIGNvbnN0IGNiID0gdGhpcy5fcmVzcG9uc2VDYWxsYmFja3NbZGF0YS5oZWFkZXIudGFnXSB8fCBfLm5vb3A7XG4gICAgY2IoZGF0YSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJvbWlzZS9wcmVmZXItYXdhaXQtdG8tY2FsbGJhY2tzXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgQlVJRCBvZiB0aGUgaG9zdCBjb21wdXRlciBmcm9tIHVzYm11eGRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFt0aW1lb3V0PTUwMDBdIHRoZSB0aW1lb3V0IG9mIHJlY2VpdmluZyBhIHJlc3BvbnNlIGZyb20gdXNibXV4ZFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgYXN5bmMgcmVhZEJVSUQgKHRpbWVvdXQgPSA1MDAwKSB7XG4gICAgY29uc3Qge3RhZywgcmVjZWl2ZVByb21pc2V9ID0gdGhpcy5fcmVjZWl2ZVBsaXN0UHJvbWlzZSh0aW1lb3V0LCAoZGF0YSkgPT4ge1xuICAgICAgaWYgKGRhdGEucGF5bG9hZC5CVUlEKSB7XG4gICAgICAgIHJldHVybiBkYXRhLnBheWxvYWQuQlVJRDtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWApO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc2VuZFBsaXN0KHtcbiAgICAgIHRhZyxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgTWVzc2FnZVR5cGU6ICdSZWFkQlVJRCcsXG4gICAgICAgIFByb2dOYW1lOiBQUk9HX05BTUUsXG4gICAgICAgIENsaWVudFZlcnNpb25TdHJpbmc6IENMSUVOVF9WRVJTSU9OX1NUUklOR1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF3YWl0IHJlY2VpdmVQcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBwYWlyIHJlY29yZCBvZiBhIGRldmljZS4gSXQgd2lsbCByZXR1cm4gbnVsbCBpZiBpdCBkb2Vzbid0IGV4aXN0c1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdWRpZCB0aGUgdWRpZCBvZiB0aGUgZGV2aWNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIHVzYm11eGRcbiAgICogQHJldHVybnMgez9PYmplY3R9XG4gICAqL1xuICBhc3luYyByZWFkUGFpclJlY29yZCAodWRpZCwgdGltZW91dCA9IDUwMDApIHtcbiAgICBjb25zdCB7dGFnLCByZWNlaXZlUHJvbWlzZX0gPSB0aGlzLl9yZWNlaXZlUGxpc3RQcm9taXNlKHRpbWVvdXQsIChkYXRhKSA9PiB7XG4gICAgICBpZiAoIWRhdGEucGF5bG9hZC5QYWlyUmVjb3JkRGF0YSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBwbGlzdC5wYXJzZVBsaXN0KGRhdGEucGF5bG9hZC5QYWlyUmVjb3JkRGF0YSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGRhdGE6ICR7SlNPTi5zdHJpbmdpZnkoZGF0YSl9YCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl9zZW5kUGxpc3Qoe1xuICAgICAgdGFnLFxuICAgICAgcGF5bG9hZDoge1xuICAgICAgICBNZXNzYWdlVHlwZTogJ1JlYWRQYWlyUmVjb3JkJyxcbiAgICAgICAgUGFpclJlY29yZElEOiB1ZGlkLFxuICAgICAgICBQcm9nTmFtZTogUFJPR19OQU1FLFxuICAgICAgICBDbGllbnRWZXJzaW9uU3RyaW5nOiBDTElFTlRfVkVSU0lPTl9TVFJJTkdcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYXdhaXQgcmVjZWl2ZVByb21pc2U7XG4gIH1cblxuICBfc2VuZFBsaXN0IChqc29uKSB7XG4gICAgdGhpcy5fZW5jb2Rlci53cml0ZShqc29uKTtcbiAgfVxuXG4gIF9yZWNlaXZlUGxpc3RQcm9taXNlICh0aW1lb3V0ID0gNTAwMCwgcmVzcG9uc2VDYWxsYmFjaykge1xuICAgIGNvbnN0IHRhZyA9IHRoaXMuX3RhZysrO1xuICAgIGNvbnN0IHJlY2VpdmVQcm9taXNlID0gbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5fcmVzcG9uc2VDYWxsYmFja3NbdGFnXSA9IChkYXRhKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVzb2x2ZShyZXNwb25zZUNhbGxiYWNrKGRhdGEpKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBFcnJvcihgRmFpbGVkIHRvIHJlY2VpdmUgYW55IGRhdGEgd2l0aGluIHRoZSB0aW1lb3V0OiAke3RpbWVvdXR9YCkpLCB0aW1lb3V0KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge3RhZywgcmVjZWl2ZVByb21pc2V9O1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RzIGFsbCBkZXZpY2VzIGNvbm5lY3RlZCB0byB0aGUgaG9zdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3RpbWVvdXQ9NTAwMF0gdGhlIHRpbWVvdXQgb2YgcmVjZWl2aW5nIGEgcmVzcG9uc2UgZnJvbSB1c2JtdXhkXG4gICAqIEByZXR1cm5zIHtBcnJheX1cbiAgICovXG4gIGFzeW5jIGxpc3REZXZpY2VzICh0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IHt0YWcsIHJlY2VpdmVQcm9taXNlfSA9IHRoaXMuX3JlY2VpdmVQbGlzdFByb21pc2UodGltZW91dCwgKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhLnBheWxvYWQuRGV2aWNlTGlzdCkge1xuICAgICAgICByZXR1cm4gZGF0YS5wYXlsb2FkLkRldmljZUxpc3Q7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgZGF0YTogJHtKU09OLnN0cmluZ2lmeShkYXRhKX1gKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3NlbmRQbGlzdCh7XG4gICAgICB0YWcsXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIE1lc3NhZ2VUeXBlOiAnTGlzdERldmljZXMnLFxuICAgICAgICBQcm9nTmFtZTogUFJPR19OQU1FLFxuICAgICAgICBDbGllbnRWZXJzaW9uU3RyaW5nOiBDTElFTlRfVkVSU0lPTl9TVFJJTkdcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhd2FpdCByZWNlaXZlUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb29rcyBmb3IgYSBkZXZpY2Ugd2l0aCB0aGUgcGFzc2VkIHVkaWQuIEl0IHdpbGwgcmV0dXJuIHVuZGVmaW5lZCBpZiB0aGUgZGV2aWNlIGlzIG5vdCBmb3VuZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdWRpZCB0aGUgdWRpZCBvZiB0aGUgZGV2aWNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIHVzYm11eGRcbiAgICogQHJldHVybnMgez9PYmplY3R9XG4gICAqL1xuICBhc3luYyBmaW5kRGV2aWNlICh1ZGlkLCB0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IGRldmljZXMgPSBhd2FpdCB0aGlzLmxpc3REZXZpY2VzKHRpbWVvdXQpO1xuICAgIHJldHVybiBfLmZpbmQoZGV2aWNlcywgKGRldmljZSkgPT4gZGV2aWNlLlByb3BlcnRpZXMuU2VyaWFsTnVtYmVyID09PSB1ZGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25uZWN0cyB0byB0aGUgbG9ja2Rvd25kIG9uIHRoZSBkZXZpY2UgYW5kIHJldHVybnMgYSBMb2NrZG93biBjbGllbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgdGhlIHVkaWQgb2YgdGhlIGRldmljZVxuICAgKiBAcGFyYW0ge251bWJlcn0gW3RpbWVvdXQ9NTAwMF0gdGhlIHRpbWVvdXQgb2YgcmVjZWl2aW5nIGEgcmVzcG9uc2UgZnJvbSB1c2JtdXhkXG4gICAqIEByZXR1cm5zIHtMb2NrZG93bn1cbiAgICovXG4gIGFzeW5jIGNvbm5lY3RMb2NrZG93biAodWRpZCwgdGltZW91dCA9IDUwMDApIHtcbiAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCB0aGlzLmZpbmREZXZpY2UodWRpZCwgdGltZW91dCk7XG4gICAgaWYgKCFkZXZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgdGhlIGV4cGVjdGVkIGRldmljZSAnJHt1ZGlkfSdgKTtcbiAgICB9XG4gICAgY29uc3Qgc29ja2V0ID0gYXdhaXQgdGhpcy5jb25uZWN0KGRldmljZS5Qcm9wZXJ0aWVzLkRldmljZUlELCBMT0NLRE9XTl9QT1JULCB0aW1lb3V0KTtcbiAgICByZXR1cm4gbmV3IExvY2tkb3duKG5ldyBQbGlzdFNlcnZpY2Uoc29ja2V0KSk7XG4gIH1cblxuICAvKipcbiAgICogQ29ubmVjdHMgdG8gYSBjZXJ0YWluIHBvcnQgb24gdGhlIGRldmljZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGV2aWNlSUQgdGhlIGRldmljZSBpZCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlIHByb3BlcnRpZXMgb2YgYSBkZXZpY2VcbiAgICogQHBhcmFtIHtudW1iZXJ9IHBvcnQgdGhlIHBvcnQgbnVtYmVyIHRoYXQgd2FudHMgdG8gYmUgY29ubmVjdGVkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIHVzYm11eGRcbiAgICogQHJldHVybnMge25ldC5Tb2NrZXR8T2JqZWN0fSBUaGUgc29ja2V0IG9yIHRoZSBvYmplY3QgcmV0dXJuZWQgaW4gdGhlIGNhbGxiYWNrIGlmIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBleGlzdHNcbiAgICovXG4gIGFzeW5jIGNvbm5lY3QgKGRldmljZUlELCBwb3J0LCB0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IHt0YWcsIHJlY2VpdmVQcm9taXNlfSA9IHRoaXMuX3JlY2VpdmVQbGlzdFByb21pc2UodGltZW91dCwgKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhLnBheWxvYWQuTWVzc2FnZVR5cGUgIT09ICdSZXN1bHQnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWApO1xuICAgICAgfVxuICAgICAgaWYgKGRhdGEucGF5bG9hZC5OdW1iZXIgPT09IFVTQk1VWF9SRVNVTFQuT0spIHtcbiAgICAgICAgdGhpcy5fc3BsaXR0ZXIuc2h1dGRvd24oKTtcbiAgICAgICAgdGhpcy5fc29ja2V0Q2xpZW50LnVucGlwZSh0aGlzLl9zcGxpdHRlcik7XG4gICAgICAgIHRoaXMuX3NwbGl0dGVyLnVucGlwZSh0aGlzLl9kZWNvZGVyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvY2tldENsaWVudDtcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5wYXlsb2FkLk51bWJlciA9PT0gVVNCTVVYX1JFU1VMVC5DT05OUkVGVVNFRCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbm5lY3Rpb24gd2FzIHJlZnVzZWQgdG8gcG9ydCAke3BvcnR9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgZGF0YTogJHtKU09OLnN0cmluZ2lmeShkYXRhKX1gKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX3NlbmRQbGlzdCh7XG4gICAgICB0YWcsXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIE1lc3NhZ2VUeXBlOiAnQ29ubmVjdCcsXG4gICAgICAgIFByb2dOYW1lOiBQUk9HX05BTUUsXG4gICAgICAgIENsaWVudFZlcnNpb25TdHJpbmc6IENMSUVOVF9WRVJTSU9OX1NUUklORyxcbiAgICAgICAgRGV2aWNlSUQ6IGRldmljZUlELFxuICAgICAgICBQb3J0TnVtYmVyOiBzd2FwMTYocG9ydClcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhd2FpdCByZWNlaXZlUHJvbWlzZTtcbiAgfVxufVxuXG5leHBvcnQgeyBVc2JtdXgsIGdldERlZmF1bHRTb2NrZXQgfTtcbmV4cG9ydCBkZWZhdWx0IFVzYm11eDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FB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
286
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3VzYm11eC9pbmRleC5qcyIsIm5hbWVzIjpbIk1BWF9GUkFNRV9TSVpFIiwiTUIiLCJVU0JNVVhfUkVTVUxUIiwiT0siLCJCQURDT01NQU5EIiwiQkFEREVWIiwiQ09OTlJFRlVTRUQiLCJuYW1lIiwidmVyc2lvbiIsInJlcXVpcmUiLCJwYXRoIiwicmVzb2x2ZSIsIl9fZGlybmFtZSIsImVyciIsIkRFRkFVTFRfVVNCTVVYRF9TT0NLRVQiLCJERUZBVUxUX1VTQk1VWERfUE9SVCIsIkRFRkFVTFRfVVNCTVVYRF9IT1NUIiwiUFJPR19OQU1FIiwiQ0xJRU5UX1ZFUlNJT05fU1RSSU5HIiwic3dhcDE2IiwidmFsIiwiZ2V0RGVmYXVsdFNvY2tldCIsIm9wdHMiLCJzb2NrZXRQYXRoIiwic29ja2V0UG9ydCIsInNvY2tldEhvc3QiLCJ0aW1lb3V0Iiwic29ja2V0IiwiZnMiLCJleGlzdHMiLCJuZXQiLCJjcmVhdGVDb25uZWN0aW9uIiwicHJvY2VzcyIsInBsYXRmb3JtIiwidGVzdCIsIm9zIiwicmVsZWFzZSIsIkVycm9yIiwiQiIsInJlamVjdCIsIm9uY2UiLCJVc2JtdXgiLCJCYXNlU2VydmljZVNvY2tldCIsImNvbnN0cnVjdG9yIiwic29ja2V0Q2xpZW50IiwiX2RlY29kZXIiLCJVc2JtdXhEZWNvZGVyIiwiX3NwbGl0dGVyIiwiTGVuZ3RoQmFzZWRTcGxpdHRlciIsInJlYWRhYmxlU3RyZWFtIiwibGl0dGxlRW5kaWFuIiwibWF4RnJhbWVMZW5ndGgiLCJsZW5ndGhGaWVsZE9mZnNldCIsImxlbmd0aEZpZWxkTGVuZ3RoIiwibGVuZ3RoQWRqdXN0bWVudCIsIl9zb2NrZXRDbGllbnQiLCJwaXBlIiwiX2VuY29kZXIiLCJVc2JtdXhFbmNvZGVyIiwiX2Fzc2lnbkNsaWVudEZhaWx1cmVIYW5kbGVycyIsIl90YWciLCJfcmVzcG9uc2VDYWxsYmFja3MiLCJvbiIsIl9oYW5kbGVEYXRhIiwiYmluZCIsImRhdGEiLCJjYiIsImhlYWRlciIsInRhZyIsIl8iLCJub29wIiwicmVhZEJVSUQiLCJyZWNlaXZlUHJvbWlzZSIsIl9yZWNlaXZlUGxpc3RQcm9taXNlIiwicGF5bG9hZCIsIkJVSUQiLCJKU09OIiwic3RyaW5naWZ5IiwiX3NlbmRQbGlzdCIsIk1lc3NhZ2VUeXBlIiwiUHJvZ05hbWUiLCJDbGllbnRWZXJzaW9uU3RyaW5nIiwicmVhZFBhaXJSZWNvcmQiLCJ1ZGlkIiwiUGFpclJlY29yZERhdGEiLCJwbGlzdCIsInBhcnNlUGxpc3QiLCJQYWlyUmVjb3JkSUQiLCJqc29uIiwid3JpdGUiLCJyZXNwb25zZUNhbGxiYWNrIiwiZSIsInNldFRpbWVvdXQiLCJsaXN0RGV2aWNlcyIsIkRldmljZUxpc3QiLCJmaW5kRGV2aWNlIiwiZGV2aWNlcyIsImZpbmQiLCJkZXZpY2UiLCJQcm9wZXJ0aWVzIiwiU2VyaWFsTnVtYmVyIiwiY29ubmVjdExvY2tkb3duIiwiY29ubmVjdCIsIkRldmljZUlEIiwiTE9DS0RPV05fUE9SVCIsIkxvY2tkb3duIiwiUGxpc3RTZXJ2aWNlIiwiZGV2aWNlSUQiLCJwb3J0IiwiTnVtYmVyIiwic2h1dGRvd24iLCJ1bnBpcGUiLCJQb3J0TnVtYmVyIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL3VzYm11eC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCB7IHBsaXN0LCBmcyB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgTGVuZ3RoQmFzZWRTcGxpdHRlciBmcm9tICcuLi91dGlsL3RyYW5zZm9ybWVyL2xlbmd0aC1iYXNlZC1zcGxpdHRlcic7XG5pbXBvcnQgVXNibXV4RGVjb2RlciBmcm9tICcuL3RyYW5zZm9ybWVyL3VzYm11eC1kZWNvZGVyLmpzJztcbmltcG9ydCBVc2JtdXhFbmNvZGVyIGZyb20gJy4vdHJhbnNmb3JtZXIvdXNibXV4LWVuY29kZXIuanMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgUGxpc3RTZXJ2aWNlIGZyb20gJy4uL3BsaXN0LXNlcnZpY2UnO1xuaW1wb3J0IHsgTG9ja2Rvd24sIExPQ0tET1dOX1BPUlQgfSBmcm9tICcuLi9sb2NrZG93bic7XG5pbXBvcnQgeyBCYXNlU2VydmljZVNvY2tldCB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5pbXBvcnQgeyBNQiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cblxuY29uc3QgTUFYX0ZSQU1FX1NJWkUgPSAxICogTUI7XG5cbmNvbnN0IFVTQk1VWF9SRVNVTFQgPSB7XG4gIE9LOiAwLFxuICBCQURDT01NQU5EOiAxLFxuICBCQURERVY6IDIsXG4gIENPTk5SRUZVU0VEOiAzLFxufTtcblxubGV0IG5hbWUsIHZlcnNpb247XG50cnkge1xuICAvLyBmaXJzdCB0cnkgYXNzdW1pbmcgdGhpcyBpcyBpbiB0aGUgYGJ1aWxkYCBmb2xkZXJcbiAgKHsgbmFtZSwgdmVyc2lvbiB9ID0gcmVxdWlyZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnLi4nLCAncGFja2FnZS5qc29uJykpKTtcbn0gY2F0Y2ggKGVycikge1xuICAvLyB0aGVuIHRyeSBhc3N1bWluZyBpdCBpcyBub3RcbiAgKHsgbmFtZSwgdmVyc2lvbiB9ID0gcmVxdWlyZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAncGFja2FnZS5qc29uJykpKTtcbn1cblxuY29uc3QgREVGQVVMVF9VU0JNVVhEX1NPQ0tFVCA9ICcvdmFyL3J1bi91c2JtdXhkJztcbmNvbnN0IERFRkFVTFRfVVNCTVVYRF9QT1JUID0gMjcwMTU7XG5jb25zdCBERUZBVUxUX1VTQk1VWERfSE9TVCA9ICcxMjcuMC4wLjEnO1xuY29uc3QgUFJPR19OQU1FID0gbmFtZTtcbmNvbnN0IENMSUVOVF9WRVJTSU9OX1NUUklORyA9IGAke25hbWV9LSR7dmVyc2lvbn1gO1xuXG5mdW5jdGlvbiBzd2FwMTYgKHZhbCkge1xuICByZXR1cm4gKCh2YWwgJiAweEZGKSA8PCA4KSB8ICgodmFsID4+IDgpICYgMHhGRik7XG59XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU29ja2V0T3B0aW9uc1xuICogQHByb3BlcnR5IHs/c3RyaW5nfSBzb2NrZXRQYXRoIFsvdmFyL3J1bi91c2JtdXhkXSBUaGUgZnVsbCBwYXRoIHRvIHRoZSB1c2JtdXhkIFVuaXggc29ja2V0XG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHNvY2tldFBvcnQgWzI3MDE1XSBUaGUgcG9ydCBudW1iZXIgdG8gY29ubmVjdCB0byBpZiBydW5uaW5nIG9uIFdpbmRvd3NcbiAqIG9yIGluIFdTTDEgbW9kZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBzb2NrZXRIb3N0IFsxMjcuMC4wLjFdIFRoZSBob3N0IG5hbWUgdG8gY29ubmVjdCB0byBpZiBydW5uaW5nIG9uIFdpbmRvd3NcbiAqIG9yIGluIFdTTDEgbW9kZVxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFs1MDAwXSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB3YWl0IHVudGlsXG4gKiB0aGUgc29ja2V0IGlzIGNvbm5lY3RlZFxuICovXG5cbi8qKlxuICogQ29ubmVjdHMgYSBzb2NrZXQgdG8gdXNibXV4ZCBzZXJ2aWNlXG4gKlxuICogQHBhcmFtIHs/U29ja2V0T3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBhY2Nlc3NpbmcgdGhlIHNvY2tldCBvclxuICogYSBjb25uZWN0aW9uIGVycm9yIGhhcHBlbmVkXG4gKiBAdGhyb3dzIHtCLlRpbWVvdXRFcnJvcn0gaWYgY29ubmVjdGlvbiB0aW1lb3V0IGhhcHBlbmVkXG4gKiBAcmV0dXJucyB7bmV0LlNvY2tldH0gQ29ubmVjdGVkIHNvY2tldCBpbnN0YW5jZVxuICovXG5hc3luYyBmdW5jdGlvbiBnZXREZWZhdWx0U29ja2V0IChvcHRzID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHNvY2tldFBhdGggPSBERUZBVUxUX1VTQk1VWERfU09DS0VULFxuICAgIHNvY2tldFBvcnQgPSBERUZBVUxUX1VTQk1VWERfUE9SVCxcbiAgICBzb2NrZXRIb3N0ID0gREVGQVVMVF9VU0JNVVhEX0hPU1QsXG4gICAgdGltZW91dCA9IDUwMDAsXG4gIH0gPSBvcHRzO1xuXG4gIGxldCBzb2NrZXQ7XG4gIGlmIChhd2FpdCBmcy5leGlzdHMoc29ja2V0UGF0aCkpIHtcbiAgICBzb2NrZXQgPSBuZXQuY3JlYXRlQ29ubmVjdGlvbihzb2NrZXRQYXRoKTtcbiAgfSBlbHNlIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInXG4gICAgICB8fCAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ2xpbnV4JyAmJiAvbWljcm9zb2Z0L2kudGVzdChvcy5yZWxlYXNlKCkpKSkge1xuICAgIC8vIENvbm5lY3QgdG8gdXNibXV4ZCB3aGVuIHJ1bm5pbmcgb24gV1NMMVxuICAgIHNvY2tldCA9IG5ldC5jcmVhdGVDb25uZWN0aW9uKHNvY2tldFBvcnQsIHNvY2tldEhvc3QpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHVzYm11eGQgc29ja2V0IGF0ICcke3NvY2tldFBhdGh9JyBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgYWNjZXNzaWJsZWApO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCByZWplY3QpO1xuICAgIHNvY2tldC5vbmNlKCdjb25uZWN0JywgKCkgPT4gcmVzb2x2ZShzb2NrZXQpKTtcbiAgfSkudGltZW91dCh0aW1lb3V0KTtcbn1cblxuXG5jbGFzcyBVc2JtdXggZXh0ZW5kcyBCYXNlU2VydmljZVNvY2tldCB7XG4gIGNvbnN0cnVjdG9yIChzb2NrZXRDbGllbnQpIHtcbiAgICBzdXBlcihzb2NrZXRDbGllbnQpO1xuXG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBVc2JtdXhEZWNvZGVyKCk7XG4gICAgdGhpcy5fc3BsaXR0ZXIgPSBuZXcgTGVuZ3RoQmFzZWRTcGxpdHRlcih7XG4gICAgICByZWFkYWJsZVN0cmVhbTogc29ja2V0Q2xpZW50LFxuICAgICAgbGl0dGxlRW5kaWFuOiB0cnVlLFxuICAgICAgbWF4RnJhbWVMZW5ndGg6IE1BWF9GUkFNRV9TSVpFLFxuICAgICAgbGVuZ3RoRmllbGRPZmZzZXQ6IDAsXG4gICAgICBsZW5ndGhGaWVsZExlbmd0aDogNCxcbiAgICAgIGxlbmd0aEFkanVzdG1lbnQ6IDAsXG4gICAgfSk7XG4gICAgdGhpcy5fc29ja2V0Q2xpZW50LnBpcGUodGhpcy5fc3BsaXR0ZXIpLnBpcGUodGhpcy5fZGVjb2Rlcik7XG5cbiAgICB0aGlzLl9lbmNvZGVyID0gbmV3IFVzYm11eEVuY29kZXIoKTtcbiAgICB0aGlzLl9lbmNvZGVyLnBpcGUodGhpcy5fc29ja2V0Q2xpZW50KTtcbiAgICB0aGlzLl9hc3NpZ25DbGllbnRGYWlsdXJlSGFuZGxlcnModGhpcy5fZW5jb2Rlcik7XG5cbiAgICB0aGlzLl90YWcgPSAwO1xuICAgIHRoaXMuX3Jlc3BvbnNlQ2FsbGJhY2tzID0ge307XG4gICAgdGhpcy5fZGVjb2Rlci5vbignZGF0YScsIHRoaXMuX2hhbmRsZURhdGEuYmluZCh0aGlzKSk7XG4gIH1cblxuICBfaGFuZGxlRGF0YSAoZGF0YSkge1xuICAgIGNvbnN0IGNiID0gdGhpcy5fcmVzcG9uc2VDYWxsYmFja3NbZGF0YS5oZWFkZXIudGFnXSB8fCBfLm5vb3A7XG4gICAgY2IoZGF0YSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJvbWlzZS9wcmVmZXItYXdhaXQtdG8tY2FsbGJhY2tzXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgQlVJRCBvZiB0aGUgaG9zdCBjb21wdXRlciBmcm9tIHVzYm11eGRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFt0aW1lb3V0PTUwMDBdIHRoZSB0aW1lb3V0IG9mIHJlY2VpdmluZyBhIHJlc3BvbnNlIGZyb20gdXNibXV4ZFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgYXN5bmMgcmVhZEJVSUQgKHRpbWVvdXQgPSA1MDAwKSB7XG4gICAgY29uc3Qge3RhZywgcmVjZWl2ZVByb21pc2V9ID0gdGhpcy5fcmVjZWl2ZVBsaXN0UHJvbWlzZSh0aW1lb3V0LCAoZGF0YSkgPT4ge1xuICAgICAgaWYgKGRhdGEucGF5bG9hZC5CVUlEKSB7XG4gICAgICAgIHJldHVybiBkYXRhLnBheWxvYWQuQlVJRDtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWApO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc2VuZFBsaXN0KHtcbiAgICAgIHRhZyxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgTWVzc2FnZVR5cGU6ICdSZWFkQlVJRCcsXG4gICAgICAgIFByb2dOYW1lOiBQUk9HX05BTUUsXG4gICAgICAgIENsaWVudFZlcnNpb25TdHJpbmc6IENMSUVOVF9WRVJTSU9OX1NUUklOR1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF3YWl0IHJlY2VpdmVQcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBwYWlyIHJlY29yZCBvZiBhIGRldmljZS4gSXQgd2lsbCByZXR1cm4gbnVsbCBpZiBpdCBkb2Vzbid0IGV4aXN0c1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdWRpZCB0aGUgdWRpZCBvZiB0aGUgZGV2aWNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIHVzYm11eGRcbiAgICogQHJldHVybnMgez9PYmplY3R9XG4gICAqL1xuICBhc3luYyByZWFkUGFpclJlY29yZCAodWRpZCwgdGltZW91dCA9IDUwMDApIHtcbiAgICBjb25zdCB7dGFnLCByZWNlaXZlUHJvbWlzZX0gPSB0aGlzLl9yZWNlaXZlUGxpc3RQcm9taXNlKHRpbWVvdXQsIChkYXRhKSA9PiB7XG4gICAgICBpZiAoIWRhdGEucGF5bG9hZC5QYWlyUmVjb3JkRGF0YSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBwbGlzdC5wYXJzZVBsaXN0KGRhdGEucGF5bG9hZC5QYWlyUmVjb3JkRGF0YSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGRhdGE6ICR7SlNPTi5zdHJpbmdpZnkoZGF0YSl9YCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl9zZW5kUGxpc3Qoe1xuICAgICAgdGFnLFxuICAgICAgcGF5bG9hZDoge1xuICAgICAgICBNZXNzYWdlVHlwZTogJ1JlYWRQYWlyUmVjb3JkJyxcbiAgICAgICAgUGFpclJlY29yZElEOiB1ZGlkLFxuICAgICAgICBQcm9nTmFtZTogUFJPR19OQU1FLFxuICAgICAgICBDbGllbnRWZXJzaW9uU3RyaW5nOiBDTElFTlRfVkVSU0lPTl9TVFJJTkdcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYXdhaXQgcmVjZWl2ZVByb21pc2U7XG4gIH1cblxuICBfc2VuZFBsaXN0IChqc29uKSB7XG4gICAgdGhpcy5fZW5jb2Rlci53cml0ZShqc29uKTtcbiAgfVxuXG4gIF9yZWNlaXZlUGxpc3RQcm9taXNlICh0aW1lb3V0ID0gNTAwMCwgcmVzcG9uc2VDYWxsYmFjaykge1xuICAgIGNvbnN0IHRhZyA9IHRoaXMuX3RhZysrO1xuICAgIGNvbnN0IHJlY2VpdmVQcm9taXNlID0gbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5fcmVzcG9uc2VDYWxsYmFja3NbdGFnXSA9IChkYXRhKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVzb2x2ZShyZXNwb25zZUNhbGxiYWNrKGRhdGEpKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBFcnJvcihgRmFpbGVkIHRvIHJlY2VpdmUgYW55IGRhdGEgd2l0aGluIHRoZSB0aW1lb3V0OiAke3RpbWVvdXR9YCkpLCB0aW1lb3V0KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge3RhZywgcmVjZWl2ZVByb21pc2V9O1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RzIGFsbCBkZXZpY2VzIGNvbm5lY3RlZCB0byB0aGUgaG9zdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3RpbWVvdXQ9NTAwMF0gdGhlIHRpbWVvdXQgb2YgcmVjZWl2aW5nIGEgcmVzcG9uc2UgZnJvbSB1c2JtdXhkXG4gICAqIEByZXR1cm5zIHtBcnJheX1cbiAgICovXG4gIGFzeW5jIGxpc3REZXZpY2VzICh0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IHt0YWcsIHJlY2VpdmVQcm9taXNlfSA9IHRoaXMuX3JlY2VpdmVQbGlzdFByb21pc2UodGltZW91dCwgKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhLnBheWxvYWQuRGV2aWNlTGlzdCkge1xuICAgICAgICByZXR1cm4gZGF0YS5wYXlsb2FkLkRldmljZUxpc3Q7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgZGF0YTogJHtKU09OLnN0cmluZ2lmeShkYXRhKX1gKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3NlbmRQbGlzdCh7XG4gICAgICB0YWcsXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIE1lc3NhZ2VUeXBlOiAnTGlzdERldmljZXMnLFxuICAgICAgICBQcm9nTmFtZTogUFJPR19OQU1FLFxuICAgICAgICBDbGllbnRWZXJzaW9uU3RyaW5nOiBDTElFTlRfVkVSU0lPTl9TVFJJTkdcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhd2FpdCByZWNlaXZlUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb29rcyBmb3IgYSBkZXZpY2Ugd2l0aCB0aGUgcGFzc2VkIHVkaWQuIEl0IHdpbGwgcmV0dXJuIHVuZGVmaW5lZCBpZiB0aGUgZGV2aWNlIGlzIG5vdCBmb3VuZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdWRpZCB0aGUgdWRpZCBvZiB0aGUgZGV2aWNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIHVzYm11eGRcbiAgICogQHJldHVybnMgez9PYmplY3R9XG4gICAqL1xuICBhc3luYyBmaW5kRGV2aWNlICh1ZGlkLCB0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IGRldmljZXMgPSBhd2FpdCB0aGlzLmxpc3REZXZpY2VzKHRpbWVvdXQpO1xuICAgIHJldHVybiBfLmZpbmQoZGV2aWNlcywgKGRldmljZSkgPT4gZGV2aWNlLlByb3BlcnRpZXMuU2VyaWFsTnVtYmVyID09PSB1ZGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25uZWN0cyB0byB0aGUgbG9ja2Rvd25kIG9uIHRoZSBkZXZpY2UgYW5kIHJldHVybnMgYSBMb2NrZG93biBjbGllbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgdGhlIHVkaWQgb2YgdGhlIGRldmljZVxuICAgKiBAcGFyYW0ge251bWJlcn0gW3RpbWVvdXQ9NTAwMF0gdGhlIHRpbWVvdXQgb2YgcmVjZWl2aW5nIGEgcmVzcG9uc2UgZnJvbSB1c2JtdXhkXG4gICAqIEByZXR1cm5zIHtMb2NrZG93bn1cbiAgICovXG4gIGFzeW5jIGNvbm5lY3RMb2NrZG93biAodWRpZCwgdGltZW91dCA9IDUwMDApIHtcbiAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCB0aGlzLmZpbmREZXZpY2UodWRpZCwgdGltZW91dCk7XG4gICAgaWYgKCFkZXZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgdGhlIGV4cGVjdGVkIGRldmljZSAnJHt1ZGlkfSdgKTtcbiAgICB9XG4gICAgY29uc3Qgc29ja2V0ID0gYXdhaXQgdGhpcy5jb25uZWN0KGRldmljZS5Qcm9wZXJ0aWVzLkRldmljZUlELCBMT0NLRE9XTl9QT1JULCB0aW1lb3V0KTtcbiAgICByZXR1cm4gbmV3IExvY2tkb3duKG5ldyBQbGlzdFNlcnZpY2Uoc29ja2V0KSk7XG4gIH1cblxuICAvKipcbiAgICogQ29ubmVjdHMgdG8gYSBjZXJ0YWluIHBvcnQgb24gdGhlIGRldmljZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGV2aWNlSUQgdGhlIGRldmljZSBpZCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlIHByb3BlcnRpZXMgb2YgYSBkZXZpY2VcbiAgICogQHBhcmFtIHtudW1iZXJ9IHBvcnQgdGhlIHBvcnQgbnVtYmVyIHRoYXQgd2FudHMgdG8gYmUgY29ubmVjdGVkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIHVzYm11eGRcbiAgICogQHJldHVybnMge25ldC5Tb2NrZXR8T2JqZWN0fSBUaGUgc29ja2V0IG9yIHRoZSBvYmplY3QgcmV0dXJuZWQgaW4gdGhlIGNhbGxiYWNrIGlmIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBleGlzdHNcbiAgICovXG4gIGFzeW5jIGNvbm5lY3QgKGRldmljZUlELCBwb3J0LCB0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IHt0YWcsIHJlY2VpdmVQcm9taXNlfSA9IHRoaXMuX3JlY2VpdmVQbGlzdFByb21pc2UodGltZW91dCwgKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhLnBheWxvYWQuTWVzc2FnZVR5cGUgIT09ICdSZXN1bHQnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWApO1xuICAgICAgfVxuICAgICAgaWYgKGRhdGEucGF5bG9hZC5OdW1iZXIgPT09IFVTQk1VWF9SRVNVTFQuT0spIHtcbiAgICAgICAgdGhpcy5fc3BsaXR0ZXIuc2h1dGRvd24oKTtcbiAgICAgICAgdGhpcy5fc29ja2V0Q2xpZW50LnVucGlwZSh0aGlzLl9zcGxpdHRlcik7XG4gICAgICAgIHRoaXMuX3NwbGl0dGVyLnVucGlwZSh0aGlzLl9kZWNvZGVyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvY2tldENsaWVudDtcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5wYXlsb2FkLk51bWJlciA9PT0gVVNCTVVYX1JFU1VMVC5DT05OUkVGVVNFRCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbm5lY3Rpb24gd2FzIHJlZnVzZWQgdG8gcG9ydCAke3BvcnR9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgZGF0YTogJHtKU09OLnN0cmluZ2lmeShkYXRhKX1gKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX3NlbmRQbGlzdCh7XG4gICAgICB0YWcsXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIE1lc3NhZ2VUeXBlOiAnQ29ubmVjdCcsXG4gICAgICAgIFByb2dOYW1lOiBQUk9HX05BTUUsXG4gICAgICAgIENsaWVudFZlcnNpb25TdHJpbmc6IENMSUVOVF9WRVJTSU9OX1NUUklORyxcbiAgICAgICAgRGV2aWNlSUQ6IGRldmljZUlELFxuICAgICAgICBQb3J0TnVtYmVyOiBzd2FwMTYocG9ydClcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhd2FpdCByZWNlaXZlUHJvbWlzZTtcbiAgfVxufVxuXG5leHBvcnQgeyBVc2JtdXgsIGdldERlZmF1bHRTb2NrZXQgfTtcbmV4cG9ydCBkZWZhdWx0IFVzYm11eDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FB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
@@ -49,4 +49,4 @@ var _default = UsbmuxDecoder;
49
49
  exports.default = _default;require('source-map-support').install();
50
50
 
51
51
 
52
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3VzYm11eC90cmFuc2Zvcm1lci91c2JtdXgtZGVjb2Rlci5qcyIsIm5hbWVzIjpbIkhFQURFUl9MRU5HVEgiLCJVc2JtdXhEZWNvZGVyIiwiU3RyZWFtIiwiVHJhbnNmb3JtIiwiY29uc3RydWN0b3IiLCJvYmplY3RNb2RlIiwiX3RyYW5zZm9ybSIsImRhdGEiLCJlbmNvZGluZyIsIm9uRGF0YSIsIl9kZWNvZGUiLCJoZWFkZXIiLCJsZW5ndGgiLCJyZWFkVUludDMyTEUiLCJ2ZXJzaW9uIiwidHlwZSIsInRhZyIsInBheWxvYWQiLCJzbGljZSIsInB1c2giLCJwbGlzdCIsInBhcnNlUGxpc3QiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvdXNibXV4L3RyYW5zZm9ybWVyL3VzYm11eC1kZWNvZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7IHBsaXN0IH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuY29uc3QgSEVBREVSX0xFTkdUSCA9IDE2O1xuXG5jbGFzcyBVc2JtdXhEZWNvZGVyIGV4dGVuZHMgU3RyZWFtLlRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHN1cGVyKHsgb2JqZWN0TW9kZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIF90cmFuc2Zvcm0gKGRhdGEsIGVuY29kaW5nLCBvbkRhdGEpIHtcbiAgICB0aGlzLl9kZWNvZGUoZGF0YSk7XG4gICAgb25EYXRhKCk7XG4gIH1cblxuICBfZGVjb2RlIChkYXRhKSB7XG4gICAgY29uc3QgaGVhZGVyID0ge1xuICAgICAgbGVuZ3RoOiBkYXRhLnJlYWRVSW50MzJMRSgwKSxcbiAgICAgIHZlcnNpb246IGRhdGEucmVhZFVJbnQzMkxFKDQpLFxuICAgICAgdHlwZTogZGF0YS5yZWFkVUludDMyTEUoOCksXG4gICAgICB0YWc6IGRhdGEucmVhZFVJbnQzMkxFKDEyKVxuICAgIH07XG5cbiAgICBsZXQgcGF5bG9hZCA9IGRhdGEuc2xpY2UoSEVBREVSX0xFTkdUSCwgZGF0YS5sZW5ndGgpO1xuICAgIHRoaXMucHVzaCh7IGhlYWRlciwgcGF5bG9hZDogcGxpc3QucGFyc2VQbGlzdChwYXlsb2FkKSB9KTtcbiAgfVxuXG59XG5cbmV4cG9ydCB7IFVzYm11eERlY29kZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFVzYm11eERlY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUEsTUFBTUEsYUFBYSxHQUFHLEVBQXRCOztBQUVBLE1BQU1DLGFBQU4sU0FBNEJDLGdCQUFPQyxTQUFuQyxDQUE2QztFQUUzQ0MsV0FBVyxHQUFJO0lBQ2IsTUFBTTtNQUFFQyxVQUFVLEVBQUU7SUFBZCxDQUFOO0VBQ0Q7O0VBRURDLFVBQVUsQ0FBRUMsSUFBRixFQUFRQyxRQUFSLEVBQWtCQyxNQUFsQixFQUEwQjtJQUNsQyxLQUFLQyxPQUFMLENBQWFILElBQWI7O0lBQ0FFLE1BQU07RUFDUDs7RUFFREMsT0FBTyxDQUFFSCxJQUFGLEVBQVE7SUFDYixNQUFNSSxNQUFNLEdBQUc7TUFDYkMsTUFBTSxFQUFFTCxJQUFJLENBQUNNLFlBQUwsQ0FBa0IsQ0FBbEIsQ0FESztNQUViQyxPQUFPLEVBQUVQLElBQUksQ0FBQ00sWUFBTCxDQUFrQixDQUFsQixDQUZJO01BR2JFLElBQUksRUFBRVIsSUFBSSxDQUFDTSxZQUFMLENBQWtCLENBQWxCLENBSE87TUFJYkcsR0FBRyxFQUFFVCxJQUFJLENBQUNNLFlBQUwsQ0FBa0IsRUFBbEI7SUFKUSxDQUFmO0lBT0EsSUFBSUksT0FBTyxHQUFHVixJQUFJLENBQUNXLEtBQUwsQ0FBV2xCLGFBQVgsRUFBMEJPLElBQUksQ0FBQ0ssTUFBL0IsQ0FBZDtJQUNBLEtBQUtPLElBQUwsQ0FBVTtNQUFFUixNQUFGO01BQVVNLE9BQU8sRUFBRUcsZUFBTUMsVUFBTixDQUFpQkosT0FBakI7SUFBbkIsQ0FBVjtFQUNEOztBQXJCMEM7OztlQTBCOUJoQixhIn0=
52
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3VzYm11eC90cmFuc2Zvcm1lci91c2JtdXgtZGVjb2Rlci5qcyIsIm5hbWVzIjpbIkhFQURFUl9MRU5HVEgiLCJVc2JtdXhEZWNvZGVyIiwiU3RyZWFtIiwiVHJhbnNmb3JtIiwiY29uc3RydWN0b3IiLCJvYmplY3RNb2RlIiwiX3RyYW5zZm9ybSIsImRhdGEiLCJlbmNvZGluZyIsIm9uRGF0YSIsIl9kZWNvZGUiLCJoZWFkZXIiLCJsZW5ndGgiLCJyZWFkVUludDMyTEUiLCJ2ZXJzaW9uIiwidHlwZSIsInRhZyIsInBheWxvYWQiLCJzbGljZSIsInB1c2giLCJwbGlzdCIsInBhcnNlUGxpc3QiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvdXNibXV4L3RyYW5zZm9ybWVyL3VzYm11eC1kZWNvZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7IHBsaXN0IH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuY29uc3QgSEVBREVSX0xFTkdUSCA9IDE2O1xuXG5jbGFzcyBVc2JtdXhEZWNvZGVyIGV4dGVuZHMgU3RyZWFtLlRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHN1cGVyKHsgb2JqZWN0TW9kZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIF90cmFuc2Zvcm0gKGRhdGEsIGVuY29kaW5nLCBvbkRhdGEpIHtcbiAgICB0aGlzLl9kZWNvZGUoZGF0YSk7XG4gICAgb25EYXRhKCk7XG4gIH1cblxuICBfZGVjb2RlIChkYXRhKSB7XG4gICAgY29uc3QgaGVhZGVyID0ge1xuICAgICAgbGVuZ3RoOiBkYXRhLnJlYWRVSW50MzJMRSgwKSxcbiAgICAgIHZlcnNpb246IGRhdGEucmVhZFVJbnQzMkxFKDQpLFxuICAgICAgdHlwZTogZGF0YS5yZWFkVUludDMyTEUoOCksXG4gICAgICB0YWc6IGRhdGEucmVhZFVJbnQzMkxFKDEyKVxuICAgIH07XG5cbiAgICBsZXQgcGF5bG9hZCA9IGRhdGEuc2xpY2UoSEVBREVSX0xFTkdUSCwgZGF0YS5sZW5ndGgpO1xuICAgIHRoaXMucHVzaCh7IGhlYWRlciwgcGF5bG9hZDogcGxpc3QucGFyc2VQbGlzdChwYXlsb2FkKSB9KTtcbiAgfVxuXG59XG5cbmV4cG9ydCB7IFVzYm11eERlY29kZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFVzYm11eERlY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUEsTUFBTUEsYUFBYSxHQUFHLEVBQXRCOztBQUVBLE1BQU1DLGFBQU4sU0FBNEJDLGVBQUEsQ0FBT0MsU0FBbkMsQ0FBNkM7RUFFM0NDLFdBQVcsR0FBSTtJQUNiLE1BQU07TUFBRUMsVUFBVSxFQUFFO0lBQWQsQ0FBTjtFQUNEOztFQUVEQyxVQUFVLENBQUVDLElBQUYsRUFBUUMsUUFBUixFQUFrQkMsTUFBbEIsRUFBMEI7SUFDbEMsS0FBS0MsT0FBTCxDQUFhSCxJQUFiOztJQUNBRSxNQUFNO0VBQ1A7O0VBRURDLE9BQU8sQ0FBRUgsSUFBRixFQUFRO0lBQ2IsTUFBTUksTUFBTSxHQUFHO01BQ2JDLE1BQU0sRUFBRUwsSUFBSSxDQUFDTSxZQUFMLENBQWtCLENBQWxCLENBREs7TUFFYkMsT0FBTyxFQUFFUCxJQUFJLENBQUNNLFlBQUwsQ0FBa0IsQ0FBbEIsQ0FGSTtNQUdiRSxJQUFJLEVBQUVSLElBQUksQ0FBQ00sWUFBTCxDQUFrQixDQUFsQixDQUhPO01BSWJHLEdBQUcsRUFBRVQsSUFBSSxDQUFDTSxZQUFMLENBQWtCLEVBQWxCO0lBSlEsQ0FBZjtJQU9BLElBQUlJLE9BQU8sR0FBR1YsSUFBSSxDQUFDVyxLQUFMLENBQVdsQixhQUFYLEVBQTBCTyxJQUFJLENBQUNLLE1BQS9CLENBQWQ7SUFDQSxLQUFLTyxJQUFMLENBQVU7TUFBRVIsTUFBRjtNQUFVTSxPQUFPLEVBQUVHLGNBQUEsQ0FBTUMsVUFBTixDQUFpQkosT0FBakI7SUFBbkIsQ0FBVjtFQUNEOztBQXJCMEM7OztlQTBCOUJoQixhIn0=
@@ -53,4 +53,4 @@ var _default = UsbmuxEncoder;
53
53
  exports.default = _default;require('source-map-support').install();
54
54
 
55
55
 
56
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3VzYm11eC90cmFuc2Zvcm1lci91c2JtdXgtZW5jb2Rlci5qcyIsIm5hbWVzIjpbIkhFQURFUl9MRU5HVEgiLCJWRVJTSU9OIiwiVFlQRSIsIlVzYm11eEVuY29kZXIiLCJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsIm9iamVjdE1vZGUiLCJfdHJhbnNmb3JtIiwiZGF0YSIsImVuY29kaW5nIiwib25EYXRhIiwiX2VuY29kZSIsInBheWxvYWRCdWZmZXIiLCJCdWZmZXIiLCJmcm9tIiwicGxpc3QiLCJjcmVhdGVQbGlzdCIsInBheWxvYWQiLCJoZWFkZXIiLCJsZW5ndGgiLCJ2ZXJzaW9uIiwidHlwZSIsInRhZyIsImhlYWRlckJ1ZmZlciIsImFsbG9jVW5zYWZlIiwid3JpdGVVSW50MzJMRSIsInB1c2giLCJjb25jYXQiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvdXNibXV4L3RyYW5zZm9ybWVyL3VzYm11eC1lbmNvZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7IHBsaXN0IH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuY29uc3QgSEVBREVSX0xFTkdUSCA9IDE2O1xuY29uc3QgVkVSU0lPTiA9IDE7XG5jb25zdCBUWVBFID0gODtcblxuY2xhc3MgVXNibXV4RW5jb2RlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIHRoaXMuX2VuY29kZShkYXRhKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9lbmNvZGUgKGRhdGEpIHtcbiAgICBjb25zdCBwYXlsb2FkQnVmZmVyID0gQnVmZmVyLmZyb20ocGxpc3QuY3JlYXRlUGxpc3QoZGF0YS5wYXlsb2FkLCBmYWxzZSkpO1xuXG4gICAgY29uc3QgaGVhZGVyID0ge1xuICAgICAgbGVuZ3RoOiBIRUFERVJfTEVOR1RIICsgcGF5bG9hZEJ1ZmZlci5sZW5ndGgsXG4gICAgICB2ZXJzaW9uOiBWRVJTSU9OLFxuICAgICAgdHlwZTogVFlQRSxcbiAgICAgIHRhZzogZGF0YS50YWdcbiAgICB9O1xuXG4gICAgY29uc3QgaGVhZGVyQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKEhFQURFUl9MRU5HVEgpO1xuICAgIGhlYWRlckJ1ZmZlci53cml0ZVVJbnQzMkxFKGhlYWRlci5sZW5ndGgsIDApO1xuICAgIGhlYWRlckJ1ZmZlci53cml0ZVVJbnQzMkxFKGhlYWRlci52ZXJzaW9uLCA0KTtcbiAgICBoZWFkZXJCdWZmZXIud3JpdGVVSW50MzJMRShoZWFkZXIudHlwZSwgOCk7XG4gICAgaGVhZGVyQnVmZmVyLndyaXRlVUludDMyTEUoaGVhZGVyLnRhZywgMTIpO1xuXG4gICAgdGhpcy5wdXNoKEJ1ZmZlci5jb25jYXQoW2hlYWRlckJ1ZmZlciwgcGF5bG9hZEJ1ZmZlcl0sIGhlYWRlckJ1ZmZlci5sZW5ndGggKyBwYXlsb2FkQnVmZmVyLmxlbmd0aCkpO1xuICB9XG59XG5cbmV4cG9ydCB7IFVzYm11eEVuY29kZXJ9O1xuZXhwb3J0IGRlZmF1bHQgVXNibXV4RW5jb2RlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQSxNQUFNQSxhQUFhLEdBQUcsRUFBdEI7QUFDQSxNQUFNQyxPQUFPLEdBQUcsQ0FBaEI7QUFDQSxNQUFNQyxJQUFJLEdBQUcsQ0FBYjs7QUFFQSxNQUFNQyxhQUFOLFNBQTRCQyxnQkFBT0MsU0FBbkMsQ0FBNkM7RUFDM0NDLFdBQVcsR0FBSTtJQUNiLE1BQU07TUFBRUMsVUFBVSxFQUFFO0lBQWQsQ0FBTjtFQUNEOztFQUVEQyxVQUFVLENBQUVDLElBQUYsRUFBUUMsUUFBUixFQUFrQkMsTUFBbEIsRUFBMEI7SUFDbEMsS0FBS0MsT0FBTCxDQUFhSCxJQUFiOztJQUNBRSxNQUFNO0VBQ1A7O0VBRURDLE9BQU8sQ0FBRUgsSUFBRixFQUFRO0lBQ2IsTUFBTUksYUFBYSxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWUMsZUFBTUMsV0FBTixDQUFrQlIsSUFBSSxDQUFDUyxPQUF2QixFQUFnQyxLQUFoQyxDQUFaLENBQXRCO0lBRUEsTUFBTUMsTUFBTSxHQUFHO01BQ2JDLE1BQU0sRUFBRXBCLGFBQWEsR0FBR2EsYUFBYSxDQUFDTyxNQUR6QjtNQUViQyxPQUFPLEVBQUVwQixPQUZJO01BR2JxQixJQUFJLEVBQUVwQixJQUhPO01BSWJxQixHQUFHLEVBQUVkLElBQUksQ0FBQ2M7SUFKRyxDQUFmO0lBT0EsTUFBTUMsWUFBWSxHQUFHVixNQUFNLENBQUNXLFdBQVAsQ0FBbUJ6QixhQUFuQixDQUFyQjtJQUNBd0IsWUFBWSxDQUFDRSxhQUFiLENBQTJCUCxNQUFNLENBQUNDLE1BQWxDLEVBQTBDLENBQTFDO0lBQ0FJLFlBQVksQ0FBQ0UsYUFBYixDQUEyQlAsTUFBTSxDQUFDRSxPQUFsQyxFQUEyQyxDQUEzQztJQUNBRyxZQUFZLENBQUNFLGFBQWIsQ0FBMkJQLE1BQU0sQ0FBQ0csSUFBbEMsRUFBd0MsQ0FBeEM7SUFDQUUsWUFBWSxDQUFDRSxhQUFiLENBQTJCUCxNQUFNLENBQUNJLEdBQWxDLEVBQXVDLEVBQXZDO0lBRUEsS0FBS0ksSUFBTCxDQUFVYixNQUFNLENBQUNjLE1BQVAsQ0FBYyxDQUFDSixZQUFELEVBQWVYLGFBQWYsQ0FBZCxFQUE2Q1csWUFBWSxDQUFDSixNQUFiLEdBQXNCUCxhQUFhLENBQUNPLE1BQWpGLENBQVY7RUFDRDs7QUEzQjBDOzs7ZUErQjlCakIsYSJ9
56
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3VzYm11eC90cmFuc2Zvcm1lci91c2JtdXgtZW5jb2Rlci5qcyIsIm5hbWVzIjpbIkhFQURFUl9MRU5HVEgiLCJWRVJTSU9OIiwiVFlQRSIsIlVzYm11eEVuY29kZXIiLCJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsIm9iamVjdE1vZGUiLCJfdHJhbnNmb3JtIiwiZGF0YSIsImVuY29kaW5nIiwib25EYXRhIiwiX2VuY29kZSIsInBheWxvYWRCdWZmZXIiLCJCdWZmZXIiLCJmcm9tIiwicGxpc3QiLCJjcmVhdGVQbGlzdCIsInBheWxvYWQiLCJoZWFkZXIiLCJsZW5ndGgiLCJ2ZXJzaW9uIiwidHlwZSIsInRhZyIsImhlYWRlckJ1ZmZlciIsImFsbG9jVW5zYWZlIiwid3JpdGVVSW50MzJMRSIsInB1c2giLCJjb25jYXQiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvdXNibXV4L3RyYW5zZm9ybWVyL3VzYm11eC1lbmNvZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7IHBsaXN0IH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuY29uc3QgSEVBREVSX0xFTkdUSCA9IDE2O1xuY29uc3QgVkVSU0lPTiA9IDE7XG5jb25zdCBUWVBFID0gODtcblxuY2xhc3MgVXNibXV4RW5jb2RlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIHRoaXMuX2VuY29kZShkYXRhKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9lbmNvZGUgKGRhdGEpIHtcbiAgICBjb25zdCBwYXlsb2FkQnVmZmVyID0gQnVmZmVyLmZyb20ocGxpc3QuY3JlYXRlUGxpc3QoZGF0YS5wYXlsb2FkLCBmYWxzZSkpO1xuXG4gICAgY29uc3QgaGVhZGVyID0ge1xuICAgICAgbGVuZ3RoOiBIRUFERVJfTEVOR1RIICsgcGF5bG9hZEJ1ZmZlci5sZW5ndGgsXG4gICAgICB2ZXJzaW9uOiBWRVJTSU9OLFxuICAgICAgdHlwZTogVFlQRSxcbiAgICAgIHRhZzogZGF0YS50YWdcbiAgICB9O1xuXG4gICAgY29uc3QgaGVhZGVyQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKEhFQURFUl9MRU5HVEgpO1xuICAgIGhlYWRlckJ1ZmZlci53cml0ZVVJbnQzMkxFKGhlYWRlci5sZW5ndGgsIDApO1xuICAgIGhlYWRlckJ1ZmZlci53cml0ZVVJbnQzMkxFKGhlYWRlci52ZXJzaW9uLCA0KTtcbiAgICBoZWFkZXJCdWZmZXIud3JpdGVVSW50MzJMRShoZWFkZXIudHlwZSwgOCk7XG4gICAgaGVhZGVyQnVmZmVyLndyaXRlVUludDMyTEUoaGVhZGVyLnRhZywgMTIpO1xuXG4gICAgdGhpcy5wdXNoKEJ1ZmZlci5jb25jYXQoW2hlYWRlckJ1ZmZlciwgcGF5bG9hZEJ1ZmZlcl0sIGhlYWRlckJ1ZmZlci5sZW5ndGggKyBwYXlsb2FkQnVmZmVyLmxlbmd0aCkpO1xuICB9XG59XG5cbmV4cG9ydCB7IFVzYm11eEVuY29kZXJ9O1xuZXhwb3J0IGRlZmF1bHQgVXNibXV4RW5jb2RlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQSxNQUFNQSxhQUFhLEdBQUcsRUFBdEI7QUFDQSxNQUFNQyxPQUFPLEdBQUcsQ0FBaEI7QUFDQSxNQUFNQyxJQUFJLEdBQUcsQ0FBYjs7QUFFQSxNQUFNQyxhQUFOLFNBQTRCQyxlQUFBLENBQU9DLFNBQW5DLENBQTZDO0VBQzNDQyxXQUFXLEdBQUk7SUFDYixNQUFNO01BQUVDLFVBQVUsRUFBRTtJQUFkLENBQU47RUFDRDs7RUFFREMsVUFBVSxDQUFFQyxJQUFGLEVBQVFDLFFBQVIsRUFBa0JDLE1BQWxCLEVBQTBCO0lBQ2xDLEtBQUtDLE9BQUwsQ0FBYUgsSUFBYjs7SUFDQUUsTUFBTTtFQUNQOztFQUVEQyxPQUFPLENBQUVILElBQUYsRUFBUTtJQUNiLE1BQU1JLGFBQWEsR0FBR0MsTUFBTSxDQUFDQyxJQUFQLENBQVlDLGNBQUEsQ0FBTUMsV0FBTixDQUFrQlIsSUFBSSxDQUFDUyxPQUF2QixFQUFnQyxLQUFoQyxDQUFaLENBQXRCO0lBRUEsTUFBTUMsTUFBTSxHQUFHO01BQ2JDLE1BQU0sRUFBRXBCLGFBQWEsR0FBR2EsYUFBYSxDQUFDTyxNQUR6QjtNQUViQyxPQUFPLEVBQUVwQixPQUZJO01BR2JxQixJQUFJLEVBQUVwQixJQUhPO01BSWJxQixHQUFHLEVBQUVkLElBQUksQ0FBQ2M7SUFKRyxDQUFmO0lBT0EsTUFBTUMsWUFBWSxHQUFHVixNQUFNLENBQUNXLFdBQVAsQ0FBbUJ6QixhQUFuQixDQUFyQjtJQUNBd0IsWUFBWSxDQUFDRSxhQUFiLENBQTJCUCxNQUFNLENBQUNDLE1BQWxDLEVBQTBDLENBQTFDO0lBQ0FJLFlBQVksQ0FBQ0UsYUFBYixDQUEyQlAsTUFBTSxDQUFDRSxPQUFsQyxFQUEyQyxDQUEzQztJQUNBRyxZQUFZLENBQUNFLGFBQWIsQ0FBMkJQLE1BQU0sQ0FBQ0csSUFBbEMsRUFBd0MsQ0FBeEM7SUFDQUUsWUFBWSxDQUFDRSxhQUFiLENBQTJCUCxNQUFNLENBQUNJLEdBQWxDLEVBQXVDLEVBQXZDO0lBRUEsS0FBS0ksSUFBTCxDQUFVYixNQUFNLENBQUNjLE1BQVAsQ0FBYyxDQUFDSixZQUFELEVBQWVYLGFBQWYsQ0FBZCxFQUE2Q1csWUFBWSxDQUFDSixNQUFiLEdBQXNCUCxhQUFhLENBQUNPLE1BQWpGLENBQVY7RUFDRDs7QUEzQjBDOzs7ZUErQjlCakIsYSJ9
@@ -131,4 +131,4 @@ var _default = LengthBasedSplitter;
131
131
  exports.default = _default;require('source-map-support').install();
132
132
 
133
133
 
134
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3V0aWwvdHJhbnNmb3JtZXIvbGVuZ3RoLWJhc2VkLXNwbGl0dGVyLmpzIiwibmFtZXMiOlsiTGVuZ3RoQmFzZWRTcGxpdHRlciIsIlN0cmVhbSIsIlRyYW5zZm9ybSIsImNvbnN0cnVjdG9yIiwib3B0cyIsInJlYWRhYmxlU3RyZWFtIiwibGl0dGxlRW5kaWFuIiwibWF4RnJhbWVMZW5ndGgiLCJsZW5ndGhGaWVsZE9mZnNldCIsImxlbmd0aEZpZWxkTGVuZ3RoIiwibGVuZ3RoQWRqdXN0bWVudCIsImlzU2h1dGRvd24iLCJfZnJhbWVCdWZmZXJJbmRleCIsIl9mcmFtZUJ1ZmZlciIsIkJ1ZmZlciIsImFsbG9jVW5zYWZlU2xvdyIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJpIiwibGVuZ3RoIiwiX2RlY29kZSIsIl9wdXNoQmFjayIsInBvcyIsImJ1ZmZlck1hcmtlciIsImJ5dGVzVG9SZWFkIiwiTWF0aCIsIm1heCIsIm5CeXRlc1JlYWQiLCJfcmVhZEJ5dGVzIiwibWVzc2FnZUxlbmd0aCIsIl9yZWFkTGVuZ3RoIiwiRXJyb3IiLCJjb21wbGV0ZU1lc3NhZ2VMZW5ndGgiLCJtZXNzYWdlIiwiYWxsb2NVbnNhZmUiLCJjb3B5IiwicHVzaCIsIl9yZXNldEJ1ZmZlcnMiLCJzcmMiLCJzcmNJbmRleCIsInRhcmdldCIsInRhcmdldEluZGV4IiwibkJ5dGVzVG9CZVJlYWQiLCJhdmFpbGFibGVCeXRlcyIsIm1pbiIsInN0YXJ0IiwiZW5kIiwibG9nIiwiZXJyb3IiLCJsZWZ0b3ZlciIsInByb2Nlc3MiLCJuZXh0VGljayIsInVuc2hpZnQiLCJzaHV0ZG93biIsImluZGV4IiwicmVhZFVJbnQzMkxFIiwicmVhZFVJbnQzMkJFIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL3V0aWwvdHJhbnNmb3JtZXIvbGVuZ3RoLWJhc2VkLXNwbGl0dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCBsb2cgZnJvbSAnLi4vLi4vbG9nZ2VyJztcblxuY2xhc3MgTGVuZ3RoQmFzZWRTcGxpdHRlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvciAob3B0cykge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCB7XG4gICAgICByZWFkYWJsZVN0cmVhbSxcbiAgICAgIGxpdHRsZUVuZGlhbixcbiAgICAgIG1heEZyYW1lTGVuZ3RoLFxuICAgICAgbGVuZ3RoRmllbGRPZmZzZXQsXG4gICAgICBsZW5ndGhGaWVsZExlbmd0aCxcbiAgICAgIGxlbmd0aEFkanVzdG1lbnQsXG4gICAgfSA9IG9wdHM7XG5cbiAgICB0aGlzLnJlYWRhYmxlU3RyZWFtID0gcmVhZGFibGVTdHJlYW07XG4gICAgdGhpcy5saXR0bGVFbmRpYW4gPSBsaXR0bGVFbmRpYW47XG4gICAgdGhpcy5tYXhGcmFtZUxlbmd0aCA9IG1heEZyYW1lTGVuZ3RoO1xuICAgIHRoaXMubGVuZ3RoRmllbGRPZmZzZXQgPSBsZW5ndGhGaWVsZE9mZnNldDtcbiAgICB0aGlzLmxlbmd0aEZpZWxkTGVuZ3RoID0gbGVuZ3RoRmllbGRMZW5ndGg7XG4gICAgdGhpcy5sZW5ndGhBZGp1c3RtZW50ID0gbGVuZ3RoQWRqdXN0bWVudDtcblxuICAgIHRoaXMuaXNTaHV0ZG93biA9IGZhbHNlO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggPSAwO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlU2xvdyhtYXhGcmFtZUxlbmd0aCk7XG4gIH1cblxuICBfdHJhbnNmb3JtIChkYXRhLCBlbmNvZGluZywgb25EYXRhKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSA9IHRoaXMuX2RlY29kZShkYXRhLCBpKSkge1xuICAgICAgaWYgKHRoaXMuaXNTaHV0ZG93bikge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHVzaEJhY2soaSwgZGF0YS5sZW5ndGgsIGRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9kZWNvZGUgKGRhdGEsIHBvcykge1xuICAgIGxldCBidWZmZXJNYXJrZXIgPSBwb3M7XG5cbiAgICBsZXQgYnl0ZXNUb1JlYWQgPSBNYXRoLm1heCgodGhpcy5sZW5ndGhGaWVsZE9mZnNldCArIHRoaXMubGVuZ3RoRmllbGRMZW5ndGgpIC0gdGhpcy5fZnJhbWVCdWZmZXJJbmRleCwgMCk7XG4gICAgbGV0IG5CeXRlc1JlYWQgPSBieXRlc1RvUmVhZCA9PT0gMCA/IDAgOiB0aGlzLl9yZWFkQnl0ZXMoZGF0YSwgYnVmZmVyTWFya2VyLCB0aGlzLl9mcmFtZUJ1ZmZlciwgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCwgYnl0ZXNUb1JlYWQpO1xuICAgIGJ1ZmZlck1hcmtlciArPSBuQnl0ZXNSZWFkO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggKz0gbkJ5dGVzUmVhZDtcblxuICAgIGlmICh0aGlzLl9mcmFtZUJ1ZmZlckluZGV4IDwgdGhpcy5sZW5ndGhGaWVsZE9mZnNldCkge1xuICAgICAgcmV0dXJuIGJ1ZmZlck1hcmtlcjtcbiAgICB9XG5cbiAgICBjb25zdCBtZXNzYWdlTGVuZ3RoID0gdGhpcy5fcmVhZExlbmd0aCh0aGlzLl9mcmFtZUJ1ZmZlciwgdGhpcy5sZW5ndGhGaWVsZE9mZnNldCwgdGhpcy5saXR0bGVFbmRpYW4pO1xuICAgIGlmIChtZXNzYWdlTGVuZ3RoID4gdGhpcy5tYXhGcmFtZUxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgZnJhbWUgaXMgYmlnZ2VyIHRoYW4gZXhwZWN0ZWQuIExlbmd0aDogJHttZXNzYWdlTGVuZ3RofSwgbWF4OiAke3RoaXMubWF4RnJhbWVMZW5ndGh9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcGxldGVNZXNzYWdlTGVuZ3RoID0gbWVzc2FnZUxlbmd0aCArIHRoaXMubGVuZ3RoQWRqdXN0bWVudCArIHRoaXMubGVuZ3RoRmllbGRPZmZzZXQ7XG5cbiAgICBieXRlc1RvUmVhZCA9IGNvbXBsZXRlTWVzc2FnZUxlbmd0aCAtIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXg7XG4gICAgbkJ5dGVzUmVhZCA9IGJ5dGVzVG9SZWFkID09PSAwID8gMCA6IHRoaXMuX3JlYWRCeXRlcyhkYXRhLCBidWZmZXJNYXJrZXIsIHRoaXMuX2ZyYW1lQnVmZmVyLCB0aGlzLl9mcmFtZUJ1ZmZlckluZGV4LCBieXRlc1RvUmVhZCk7XG4gICAgYnVmZmVyTWFya2VyICs9IG5CeXRlc1JlYWQ7XG4gICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCArPSBuQnl0ZXNSZWFkO1xuXG4gICAgaWYgKHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggPCBjb21wbGV0ZU1lc3NhZ2VMZW5ndGgpIHtcbiAgICAgIHJldHVybiBidWZmZXJNYXJrZXI7XG4gICAgfVxuXG4gICAgY29uc3QgbWVzc2FnZSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSh0aGlzLl9mcmFtZUJ1ZmZlckluZGV4KTtcbiAgICB0aGlzLl9mcmFtZUJ1ZmZlci5jb3B5KG1lc3NhZ2UsIDAsIDAsIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXgpO1xuXG4gICAgdGhpcy5wdXNoKG1lc3NhZ2UpO1xuICAgIHRoaXMuX3Jlc2V0QnVmZmVycygpO1xuICAgIHJldHVybiBidWZmZXJNYXJrZXI7XG4gIH1cblxuICBfcmVhZEJ5dGVzIChzcmMsIHNyY0luZGV4LCB0YXJnZXQsIHRhcmdldEluZGV4LCBuQnl0ZXNUb0JlUmVhZCkge1xuICAgIGxldCBhdmFpbGFibGVCeXRlcyA9IE1hdGgubWluKG5CeXRlc1RvQmVSZWFkLCBzcmMubGVuZ3RoIC0gc3JjSW5kZXgpO1xuICAgIHNyYy5jb3B5KHRhcmdldCwgdGFyZ2V0SW5kZXgsIHNyY0luZGV4LCBzcmNJbmRleCArIGF2YWlsYWJsZUJ5dGVzKTtcbiAgICByZXR1cm4gYXZhaWxhYmxlQnl0ZXM7XG4gIH1cbiAgX3Jlc2V0QnVmZmVycyAoKSB7XG4gICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCA9IDA7XG4gIH1cblxuICBfcHVzaEJhY2sgKHN0YXJ0LCBlbmQsIGRhdGEpIHtcbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICAgIGxvZy5lcnJvcignTW9yZSBkYXRhIHdhcyByZWFkIHRoYW4gdGhlIGJ1ZmZlciBzaXplLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuJyk7XG4gICAgfVxuICAgIGlmIChzdGFydCA9PT0gZW5kKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxlZnRvdmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKGVuZCAtIHN0YXJ0KTtcbiAgICBkYXRhLmNvcHkobGVmdG92ZXIsIDAsIHN0YXJ0LCBlbmQpO1xuICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4gdGhpcy5yZWFkYWJsZVN0cmVhbS51bnNoaWZ0KGxlZnRvdmVyKSk7XG4gIH1cblxuICBzaHV0ZG93biAoKSB7XG4gICAgdGhpcy5pc1NodXRkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIF9yZWFkTGVuZ3RoIChkYXRhLCBpbmRleCwgbGl0dGxlRW5kaWFuKSB7XG4gICAgc3dpdGNoICh0aGlzLmxlbmd0aEZpZWxkTGVuZ3RoKSB7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIHJldHVybiBsaXR0bGVFbmRpYW4gPyBkYXRhLnJlYWRVSW50MzJMRShpbmRleCkgOiBkYXRhLnJlYWRVSW50MzJCRShpbmRleCk7XG4gICAgICBjYXNlIDg6XG4gICAgICAgIHJldHVybiBsaXR0bGVFbmRpYW4gPyBkYXRhLnJlYWRVSW50MzJMRShpbmRleCkgOiBkYXRhLnJlYWRVSW50MzJCRShpbmRleCArIDQpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMubGVuZ3RoRmllbGRMZW5ndGh9IGlzIG5vdCBzdXBwb3J0ZWQuIE9ubHkgNCBhbmQgOCBhcmUgc3VwcG9ydGVkIGF0IHRoZSBtb21lbnRgKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsg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
134
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3V0aWwvdHJhbnNmb3JtZXIvbGVuZ3RoLWJhc2VkLXNwbGl0dGVyLmpzIiwibmFtZXMiOlsiTGVuZ3RoQmFzZWRTcGxpdHRlciIsIlN0cmVhbSIsIlRyYW5zZm9ybSIsImNvbnN0cnVjdG9yIiwib3B0cyIsInJlYWRhYmxlU3RyZWFtIiwibGl0dGxlRW5kaWFuIiwibWF4RnJhbWVMZW5ndGgiLCJsZW5ndGhGaWVsZE9mZnNldCIsImxlbmd0aEZpZWxkTGVuZ3RoIiwibGVuZ3RoQWRqdXN0bWVudCIsImlzU2h1dGRvd24iLCJfZnJhbWVCdWZmZXJJbmRleCIsIl9mcmFtZUJ1ZmZlciIsIkJ1ZmZlciIsImFsbG9jVW5zYWZlU2xvdyIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJpIiwibGVuZ3RoIiwiX2RlY29kZSIsIl9wdXNoQmFjayIsInBvcyIsImJ1ZmZlck1hcmtlciIsImJ5dGVzVG9SZWFkIiwiTWF0aCIsIm1heCIsIm5CeXRlc1JlYWQiLCJfcmVhZEJ5dGVzIiwibWVzc2FnZUxlbmd0aCIsIl9yZWFkTGVuZ3RoIiwiRXJyb3IiLCJjb21wbGV0ZU1lc3NhZ2VMZW5ndGgiLCJtZXNzYWdlIiwiYWxsb2NVbnNhZmUiLCJjb3B5IiwicHVzaCIsIl9yZXNldEJ1ZmZlcnMiLCJzcmMiLCJzcmNJbmRleCIsInRhcmdldCIsInRhcmdldEluZGV4IiwibkJ5dGVzVG9CZVJlYWQiLCJhdmFpbGFibGVCeXRlcyIsIm1pbiIsInN0YXJ0IiwiZW5kIiwibG9nIiwiZXJyb3IiLCJsZWZ0b3ZlciIsInByb2Nlc3MiLCJuZXh0VGljayIsInVuc2hpZnQiLCJzaHV0ZG93biIsImluZGV4IiwicmVhZFVJbnQzMkxFIiwicmVhZFVJbnQzMkJFIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL3V0aWwvdHJhbnNmb3JtZXIvbGVuZ3RoLWJhc2VkLXNwbGl0dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCBsb2cgZnJvbSAnLi4vLi4vbG9nZ2VyJztcblxuY2xhc3MgTGVuZ3RoQmFzZWRTcGxpdHRlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvciAob3B0cykge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCB7XG4gICAgICByZWFkYWJsZVN0cmVhbSxcbiAgICAgIGxpdHRsZUVuZGlhbixcbiAgICAgIG1heEZyYW1lTGVuZ3RoLFxuICAgICAgbGVuZ3RoRmllbGRPZmZzZXQsXG4gICAgICBsZW5ndGhGaWVsZExlbmd0aCxcbiAgICAgIGxlbmd0aEFkanVzdG1lbnQsXG4gICAgfSA9IG9wdHM7XG5cbiAgICB0aGlzLnJlYWRhYmxlU3RyZWFtID0gcmVhZGFibGVTdHJlYW07XG4gICAgdGhpcy5saXR0bGVFbmRpYW4gPSBsaXR0bGVFbmRpYW47XG4gICAgdGhpcy5tYXhGcmFtZUxlbmd0aCA9IG1heEZyYW1lTGVuZ3RoO1xuICAgIHRoaXMubGVuZ3RoRmllbGRPZmZzZXQgPSBsZW5ndGhGaWVsZE9mZnNldDtcbiAgICB0aGlzLmxlbmd0aEZpZWxkTGVuZ3RoID0gbGVuZ3RoRmllbGRMZW5ndGg7XG4gICAgdGhpcy5sZW5ndGhBZGp1c3RtZW50ID0gbGVuZ3RoQWRqdXN0bWVudDtcblxuICAgIHRoaXMuaXNTaHV0ZG93biA9IGZhbHNlO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggPSAwO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlU2xvdyhtYXhGcmFtZUxlbmd0aCk7XG4gIH1cblxuICBfdHJhbnNmb3JtIChkYXRhLCBlbmNvZGluZywgb25EYXRhKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSA9IHRoaXMuX2RlY29kZShkYXRhLCBpKSkge1xuICAgICAgaWYgKHRoaXMuaXNTaHV0ZG93bikge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHVzaEJhY2soaSwgZGF0YS5sZW5ndGgsIGRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9kZWNvZGUgKGRhdGEsIHBvcykge1xuICAgIGxldCBidWZmZXJNYXJrZXIgPSBwb3M7XG5cbiAgICBsZXQgYnl0ZXNUb1JlYWQgPSBNYXRoLm1heCgodGhpcy5sZW5ndGhGaWVsZE9mZnNldCArIHRoaXMubGVuZ3RoRmllbGRMZW5ndGgpIC0gdGhpcy5fZnJhbWVCdWZmZXJJbmRleCwgMCk7XG4gICAgbGV0IG5CeXRlc1JlYWQgPSBieXRlc1RvUmVhZCA9PT0gMCA/IDAgOiB0aGlzLl9yZWFkQnl0ZXMoZGF0YSwgYnVmZmVyTWFya2VyLCB0aGlzLl9mcmFtZUJ1ZmZlciwgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCwgYnl0ZXNUb1JlYWQpO1xuICAgIGJ1ZmZlck1hcmtlciArPSBuQnl0ZXNSZWFkO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggKz0gbkJ5dGVzUmVhZDtcblxuICAgIGlmICh0aGlzLl9mcmFtZUJ1ZmZlckluZGV4IDwgdGhpcy5sZW5ndGhGaWVsZE9mZnNldCkge1xuICAgICAgcmV0dXJuIGJ1ZmZlck1hcmtlcjtcbiAgICB9XG5cbiAgICBjb25zdCBtZXNzYWdlTGVuZ3RoID0gdGhpcy5fcmVhZExlbmd0aCh0aGlzLl9mcmFtZUJ1ZmZlciwgdGhpcy5sZW5ndGhGaWVsZE9mZnNldCwgdGhpcy5saXR0bGVFbmRpYW4pO1xuICAgIGlmIChtZXNzYWdlTGVuZ3RoID4gdGhpcy5tYXhGcmFtZUxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgZnJhbWUgaXMgYmlnZ2VyIHRoYW4gZXhwZWN0ZWQuIExlbmd0aDogJHttZXNzYWdlTGVuZ3RofSwgbWF4OiAke3RoaXMubWF4RnJhbWVMZW5ndGh9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcGxldGVNZXNzYWdlTGVuZ3RoID0gbWVzc2FnZUxlbmd0aCArIHRoaXMubGVuZ3RoQWRqdXN0bWVudCArIHRoaXMubGVuZ3RoRmllbGRPZmZzZXQ7XG5cbiAgICBieXRlc1RvUmVhZCA9IGNvbXBsZXRlTWVzc2FnZUxlbmd0aCAtIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXg7XG4gICAgbkJ5dGVzUmVhZCA9IGJ5dGVzVG9SZWFkID09PSAwID8gMCA6IHRoaXMuX3JlYWRCeXRlcyhkYXRhLCBidWZmZXJNYXJrZXIsIHRoaXMuX2ZyYW1lQnVmZmVyLCB0aGlzLl9mcmFtZUJ1ZmZlckluZGV4LCBieXRlc1RvUmVhZCk7XG4gICAgYnVmZmVyTWFya2VyICs9IG5CeXRlc1JlYWQ7XG4gICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCArPSBuQnl0ZXNSZWFkO1xuXG4gICAgaWYgKHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggPCBjb21wbGV0ZU1lc3NhZ2VMZW5ndGgpIHtcbiAgICAgIHJldHVybiBidWZmZXJNYXJrZXI7XG4gICAgfVxuXG4gICAgY29uc3QgbWVzc2FnZSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSh0aGlzLl9mcmFtZUJ1ZmZlckluZGV4KTtcbiAgICB0aGlzLl9mcmFtZUJ1ZmZlci5jb3B5KG1lc3NhZ2UsIDAsIDAsIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXgpO1xuXG4gICAgdGhpcy5wdXNoKG1lc3NhZ2UpO1xuICAgIHRoaXMuX3Jlc2V0QnVmZmVycygpO1xuICAgIHJldHVybiBidWZmZXJNYXJrZXI7XG4gIH1cblxuICBfcmVhZEJ5dGVzIChzcmMsIHNyY0luZGV4LCB0YXJnZXQsIHRhcmdldEluZGV4LCBuQnl0ZXNUb0JlUmVhZCkge1xuICAgIGxldCBhdmFpbGFibGVCeXRlcyA9IE1hdGgubWluKG5CeXRlc1RvQmVSZWFkLCBzcmMubGVuZ3RoIC0gc3JjSW5kZXgpO1xuICAgIHNyYy5jb3B5KHRhcmdldCwgdGFyZ2V0SW5kZXgsIHNyY0luZGV4LCBzcmNJbmRleCArIGF2YWlsYWJsZUJ5dGVzKTtcbiAgICByZXR1cm4gYXZhaWxhYmxlQnl0ZXM7XG4gIH1cbiAgX3Jlc2V0QnVmZmVycyAoKSB7XG4gICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCA9IDA7XG4gIH1cblxuICBfcHVzaEJhY2sgKHN0YXJ0LCBlbmQsIGRhdGEpIHtcbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICAgIGxvZy5lcnJvcignTW9yZSBkYXRhIHdhcyByZWFkIHRoYW4gdGhlIGJ1ZmZlciBzaXplLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuJyk7XG4gICAgfVxuICAgIGlmIChzdGFydCA9PT0gZW5kKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxlZnRvdmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKGVuZCAtIHN0YXJ0KTtcbiAgICBkYXRhLmNvcHkobGVmdG92ZXIsIDAsIHN0YXJ0LCBlbmQpO1xuICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4gdGhpcy5yZWFkYWJsZVN0cmVhbS51bnNoaWZ0KGxlZnRvdmVyKSk7XG4gIH1cblxuICBzaHV0ZG93biAoKSB7XG4gICAgdGhpcy5pc1NodXRkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIF9yZWFkTGVuZ3RoIChkYXRhLCBpbmRleCwgbGl0dGxlRW5kaWFuKSB7XG4gICAgc3dpdGNoICh0aGlzLmxlbmd0aEZpZWxkTGVuZ3RoKSB7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIHJldHVybiBsaXR0bGVFbmRpYW4gPyBkYXRhLnJlYWRVSW50MzJMRShpbmRleCkgOiBkYXRhLnJlYWRVSW50MzJCRShpbmRleCk7XG4gICAgICBjYXNlIDg6XG4gICAgICAgIHJldHVybiBsaXR0bGVFbmRpYW4gPyBkYXRhLnJlYWRVSW50MzJMRShpbmRleCkgOiBkYXRhLnJlYWRVSW50MzJCRShpbmRleCArIDQpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMubGVuZ3RoRmllbGRMZW5ndGh9IGlzIG5vdCBzdXBwb3J0ZWQuIE9ubHkgNCBhbmQgOCBhcmUgc3VwcG9ydGVkIGF0IHRoZSBtb21lbnRgKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsg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
@@ -74,4 +74,4 @@ var _default = StreamLogger;
74
74
  exports.default = _default;require('source-map-support').install();
75
75
 
76
76
 
77
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3V0aWwvdHJhbnNmb3JtZXIvc3RyZWFtLWxvZ2dlci5qcyIsIm5hbWVzIjpbIk1JTl9QUklOVEFCTEVfQ0hBUiIsIk1BWF9QUklOVEFCTEVfQ0hBUiIsIkNIQVJBQ1RFUlNfUEVSX0xJTkUiLCJTdHJlYW1Mb2dnZXIiLCJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsImRpcmVjdGlvbiIsInZlcmJvc2UiLCJvYmplY3RNb2RlIiwiX2RpcmVjdGlvbiIsIl92ZXJib3NlIiwiX3RyYW5zZm9ybSIsImRhdGEiLCJlbmNvZGluZyIsIm9uRGF0YSIsIl9sb2ciLCJlcnIiLCJsb2ciLCJkZWJ1ZyIsIm1lc3NhZ2UiLCJwdXNoIiwiU0VORCIsImxlbmd0aCIsImkiLCJoZXgiLCJjaGFyIiwiaiIsImNoYXJDb2RlIiwiXyIsInBhZFN0YXJ0IiwidG9TdHJpbmciLCJ0b1VwcGVyQ2FzZSIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsImpvaW4iLCJSRUNFSVZFIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL3V0aWwvdHJhbnNmb3JtZXIvc3RyZWFtLWxvZ2dlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZyBmcm9tICcuLi8uLi9sb2dnZXInO1xuXG5cbmNvbnN0IE1JTl9QUklOVEFCTEVfQ0hBUiA9IDMyO1xuY29uc3QgTUFYX1BSSU5UQUJMRV9DSEFSID0gMTI2O1xuXG5jb25zdCBDSEFSQUNURVJTX1BFUl9MSU5FID0gMTk7XG5cbmNsYXNzIFN0cmVhbUxvZ2dlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvciAoZGlyZWN0aW9uLCB2ZXJib3NlID0gZmFsc2UpIHtcbiAgICBzdXBlcih7IG9iamVjdE1vZGU6IHRydWUgfSk7XG5cbiAgICB0aGlzLl9kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgdGhpcy5fdmVyYm9zZSA9IHZlcmJvc2U7XG4gIH1cblxuICBfdHJhbnNmb3JtIChkYXRhLCBlbmNvZGluZywgb25EYXRhKSB7XG4gICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuX2xvZyhkYXRhKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBpbiBjYXNlIHNvbWV0aGluZyBnb2VzIHdyb25nLCBsb2cgaXQgc28gd2UgY2FuIGZpeCB0aGUgcGFyc2luZ1xuICAgICAgICAvLyBhbmQgYWxzbyBhbGxvdyBldmVyeXRoaW5nIHRvIGNvbnRpbnVlIHdpdGhvdXQgaW50ZXJydXB0aW9uXG4gICAgICAgIGxvZy5kZWJ1ZyhgRXJyb3IgbG9nZ2luZyBkYXRhOiAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucHVzaChkYXRhKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9sb2cgKGRhdGEpIHtcbiAgICBsb2cuZGVidWcoYERhdGEgJHt0aGlzLl9kaXJlY3Rpb24gPT09IFN0cmVhbUxvZ2dlci5TRU5EID8gJ3NlbnQnIDogJ3JlY2VpdmVkJ30sIGxlbmd0aDogJHtkYXRhLmxlbmd0aH1gKTtcblxuICAgIC8vIGZvcm1hdCBhcyB1c2VkIGJ5IGlvcy13ZWJraXQtZGVidWctcHJveHkgYXMgd2VsbCBhcyB0b29scyBsaWtlIHNvY2F0XG4gICAgLy8gcHJpbnQgb3V0IHRoZSBkYXRhIGluIHR3byBzZWN0aW9ucywgb25lIHRoZSBoZXhhZGVjaW1hbCByZW5kZXJpbmdzIG9mIHRoZSBjaGFyYWN0ZXJzLFxuICAgIC8vIHRoZSBvdGhlciB0aGUgcHJpbnRhYmxlIGNoYXJhY3RlcnMgKHdpdGggJy4nIGZvciB1bnByaW50YWJsZSBjaGFyYWN0ZXJzKS5cbiAgICBsZXQgaSA9IDA7XG4gICAgd2hpbGUgKGkgPCBkYXRhLmxlbmd0aCkge1xuICAgICAgbGV0IGhleCA9IFtdLCBjaGFyID0gW107XG4gICAgICAvLyBjcmVhdGUgZWFjaCBsaW5lIG9mIHRleHQgdG8gb3V0cHV0XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IENIQVJBQ1RFUlNfUEVSX0xJTkU7IGorKykge1xuICAgICAgICBpZiAoaSA+PSBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgIC8vIGZpbGwgaW4gdGhlIGNoYXJjb2RlIHNlY3Rpb24gd2l0aCBibGFua3MsIGZvciBmb3JtYXR0aW5nLFxuICAgICAgICAgIC8vIHdoZW4gdGhlcmUgaXMgbm8gbW9yZSBkYXRhXG4gICAgICAgICAgaGV4W2pdID0gJyAgJztcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGFyQ29kZSA9IGRhdGFbaSsrXTtcbiAgICAgICAgLy8gaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24sIGZvcmNlZCBpbnRvIDIgcGxhY2VzXG4gICAgICAgIGhleFtqXSA9IF8ucGFkU3RhcnQoY2hhckNvZGUudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCksIDIsICcwJyk7XG4gICAgICAgIC8vIGNoYXJhY3RlciByZXByZXNlbnRhdGlvbiwgd2l0aCAnLicgd2hlbiB1bnByaW50YWJsZVxuICAgICAgICBjaGFyW2pdID0gY2hhckNvZGUgPCBNSU5fUFJJTlRBQkxFX0NIQVIgfHwgY2hhckNvZGUgPiBNQVhfUFJJTlRBQkxFX0NIQVJcbiAgICAgICAgICA/ICcuJ1xuICAgICAgICAgIDogU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSk7XG4gICAgICB9XG4gICAgICBsb2cuZGVidWcoYCR7aGV4LmpvaW4oJyAnKX0gJHtjaGFyLmpvaW4oJycpfWApO1xuICAgIH1cbiAgfVxufVxuXG5TdHJlYW1Mb2dnZXIuU0VORCA9IDA7XG5TdHJlYW1Mb2dnZXIuUkVDRUlWRSA9IDE7XG5cbmV4cG9ydCB7IFN0cmVhbUxvZ2dlciB9O1xuZXhwb3J0IGRlZmF1bHQgU3RyZWFtTG9nZ2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7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
77
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3V0aWwvdHJhbnNmb3JtZXIvc3RyZWFtLWxvZ2dlci5qcyIsIm5hbWVzIjpbIk1JTl9QUklOVEFCTEVfQ0hBUiIsIk1BWF9QUklOVEFCTEVfQ0hBUiIsIkNIQVJBQ1RFUlNfUEVSX0xJTkUiLCJTdHJlYW1Mb2dnZXIiLCJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsImRpcmVjdGlvbiIsInZlcmJvc2UiLCJvYmplY3RNb2RlIiwiX2RpcmVjdGlvbiIsIl92ZXJib3NlIiwiX3RyYW5zZm9ybSIsImRhdGEiLCJlbmNvZGluZyIsIm9uRGF0YSIsIl9sb2ciLCJlcnIiLCJsb2ciLCJkZWJ1ZyIsIm1lc3NhZ2UiLCJwdXNoIiwiU0VORCIsImxlbmd0aCIsImkiLCJoZXgiLCJjaGFyIiwiaiIsImNoYXJDb2RlIiwiXyIsInBhZFN0YXJ0IiwidG9TdHJpbmciLCJ0b1VwcGVyQ2FzZSIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsImpvaW4iLCJSRUNFSVZFIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL3V0aWwvdHJhbnNmb3JtZXIvc3RyZWFtLWxvZ2dlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZyBmcm9tICcuLi8uLi9sb2dnZXInO1xuXG5cbmNvbnN0IE1JTl9QUklOVEFCTEVfQ0hBUiA9IDMyO1xuY29uc3QgTUFYX1BSSU5UQUJMRV9DSEFSID0gMTI2O1xuXG5jb25zdCBDSEFSQUNURVJTX1BFUl9MSU5FID0gMTk7XG5cbmNsYXNzIFN0cmVhbUxvZ2dlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvciAoZGlyZWN0aW9uLCB2ZXJib3NlID0gZmFsc2UpIHtcbiAgICBzdXBlcih7IG9iamVjdE1vZGU6IHRydWUgfSk7XG5cbiAgICB0aGlzLl9kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgdGhpcy5fdmVyYm9zZSA9IHZlcmJvc2U7XG4gIH1cblxuICBfdHJhbnNmb3JtIChkYXRhLCBlbmNvZGluZywgb25EYXRhKSB7XG4gICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuX2xvZyhkYXRhKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBpbiBjYXNlIHNvbWV0aGluZyBnb2VzIHdyb25nLCBsb2cgaXQgc28gd2UgY2FuIGZpeCB0aGUgcGFyc2luZ1xuICAgICAgICAvLyBhbmQgYWxzbyBhbGxvdyBldmVyeXRoaW5nIHRvIGNvbnRpbnVlIHdpdGhvdXQgaW50ZXJydXB0aW9uXG4gICAgICAgIGxvZy5kZWJ1ZyhgRXJyb3IgbG9nZ2luZyBkYXRhOiAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucHVzaChkYXRhKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9sb2cgKGRhdGEpIHtcbiAgICBsb2cuZGVidWcoYERhdGEgJHt0aGlzLl9kaXJlY3Rpb24gPT09IFN0cmVhbUxvZ2dlci5TRU5EID8gJ3NlbnQnIDogJ3JlY2VpdmVkJ30sIGxlbmd0aDogJHtkYXRhLmxlbmd0aH1gKTtcblxuICAgIC8vIGZvcm1hdCBhcyB1c2VkIGJ5IGlvcy13ZWJraXQtZGVidWctcHJveHkgYXMgd2VsbCBhcyB0b29scyBsaWtlIHNvY2F0XG4gICAgLy8gcHJpbnQgb3V0IHRoZSBkYXRhIGluIHR3byBzZWN0aW9ucywgb25lIHRoZSBoZXhhZGVjaW1hbCByZW5kZXJpbmdzIG9mIHRoZSBjaGFyYWN0ZXJzLFxuICAgIC8vIHRoZSBvdGhlciB0aGUgcHJpbnRhYmxlIGNoYXJhY3RlcnMgKHdpdGggJy4nIGZvciB1bnByaW50YWJsZSBjaGFyYWN0ZXJzKS5cbiAgICBsZXQgaSA9IDA7XG4gICAgd2hpbGUgKGkgPCBkYXRhLmxlbmd0aCkge1xuICAgICAgbGV0IGhleCA9IFtdLCBjaGFyID0gW107XG4gICAgICAvLyBjcmVhdGUgZWFjaCBsaW5lIG9mIHRleHQgdG8gb3V0cHV0XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IENIQVJBQ1RFUlNfUEVSX0xJTkU7IGorKykge1xuICAgICAgICBpZiAoaSA+PSBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgIC8vIGZpbGwgaW4gdGhlIGNoYXJjb2RlIHNlY3Rpb24gd2l0aCBibGFua3MsIGZvciBmb3JtYXR0aW5nLFxuICAgICAgICAgIC8vIHdoZW4gdGhlcmUgaXMgbm8gbW9yZSBkYXRhXG4gICAgICAgICAgaGV4W2pdID0gJyAgJztcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGFyQ29kZSA9IGRhdGFbaSsrXTtcbiAgICAgICAgLy8gaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24sIGZvcmNlZCBpbnRvIDIgcGxhY2VzXG4gICAgICAgIGhleFtqXSA9IF8ucGFkU3RhcnQoY2hhckNvZGUudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCksIDIsICcwJyk7XG4gICAgICAgIC8vIGNoYXJhY3RlciByZXByZXNlbnRhdGlvbiwgd2l0aCAnLicgd2hlbiB1bnByaW50YWJsZVxuICAgICAgICBjaGFyW2pdID0gY2hhckNvZGUgPCBNSU5fUFJJTlRBQkxFX0NIQVIgfHwgY2hhckNvZGUgPiBNQVhfUFJJTlRBQkxFX0NIQVJcbiAgICAgICAgICA/ICcuJ1xuICAgICAgICAgIDogU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSk7XG4gICAgICB9XG4gICAgICBsb2cuZGVidWcoYCR7aGV4LmpvaW4oJyAnKX0gJHtjaGFyLmpvaW4oJycpfWApO1xuICAgIH1cbiAgfVxufVxuXG5TdHJlYW1Mb2dnZXIuU0VORCA9IDA7XG5TdHJlYW1Mb2dnZXIuUkVDRUlWRSA9IDE7XG5cbmV4cG9ydCB7IFN0cmVhbUxvZ2dlciB9O1xuZXhwb3J0IGRlZmF1bHQgU3RyZWFtTG9nZ2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUdBLE1BQU1BLGtCQUFrQixHQUFHLEVBQTNCO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsR0FBM0I7QUFFQSxNQUFNQyxtQkFBbUIsR0FBRyxFQUE1Qjs7QUFFQSxNQUFNQyxZQUFOLFNBQTJCQyxlQUFBLENBQU9DLFNBQWxDLENBQTRDO0VBQzFDQyxXQUFXLENBQUVDLFNBQUYsRUFBYUMsT0FBTyxHQUFHLEtBQXZCLEVBQThCO0lBQ3ZDLE1BQU07TUFBRUMsVUFBVSxFQUFFO0lBQWQsQ0FBTjtJQUVBLEtBQUtDLFVBQUwsR0FBa0JILFNBQWxCO0lBQ0EsS0FBS0ksUUFBTCxHQUFnQkgsT0FBaEI7RUFDRDs7RUFFREksVUFBVSxDQUFFQyxJQUFGLEVBQVFDLFFBQVIsRUFBa0JDLE1BQWxCLEVBQTBCO0lBQ2xDLElBQUksS0FBS0osUUFBVCxFQUFtQjtNQUNqQixJQUFJO1FBQ0YsS0FBS0ssSUFBTCxDQUFVSCxJQUFWO01BQ0QsQ0FGRCxDQUVFLE9BQU9JLEdBQVAsRUFBWTtRQUdaQyxlQUFBLENBQUlDLEtBQUosQ0FBVyx1QkFBc0JGLEdBQUcsQ0FBQ0csT0FBUSxFQUE3QztNQUNEO0lBQ0Y7O0lBRUQsS0FBS0MsSUFBTCxDQUFVUixJQUFWO0lBQ0FFLE1BQU07RUFDUDs7RUFFREMsSUFBSSxDQUFFSCxJQUFGLEVBQVE7SUFDVkssZUFBQSxDQUFJQyxLQUFKLENBQVcsUUFBTyxLQUFLVCxVQUFMLEtBQW9CUCxZQUFZLENBQUNtQixJQUFqQyxHQUF3QyxNQUF4QyxHQUFpRCxVQUFXLGFBQVlULElBQUksQ0FBQ1UsTUFBTyxFQUF0Rzs7SUFLQSxJQUFJQyxDQUFDLEdBQUcsQ0FBUjs7SUFDQSxPQUFPQSxDQUFDLEdBQUdYLElBQUksQ0FBQ1UsTUFBaEIsRUFBd0I7TUFDdEIsSUFBSUUsR0FBRyxHQUFHLEVBQVY7TUFBQSxJQUFjQyxJQUFJLEdBQUcsRUFBckI7O01BRUEsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHekIsbUJBQXBCLEVBQXlDeUIsQ0FBQyxFQUExQyxFQUE4QztRQUM1QyxJQUFJSCxDQUFDLElBQUlYLElBQUksQ0FBQ1UsTUFBZCxFQUFzQjtVQUdwQkUsR0FBRyxDQUFDRSxDQUFELENBQUgsR0FBUyxJQUFUO1VBQ0E7UUFDRDs7UUFDRCxNQUFNQyxRQUFRLEdBQUdmLElBQUksQ0FBQ1csQ0FBQyxFQUFGLENBQXJCO1FBRUFDLEdBQUcsQ0FBQ0UsQ0FBRCxDQUFILEdBQVNFLGVBQUEsQ0FBRUMsUUFBRixDQUFXRixRQUFRLENBQUNHLFFBQVQsQ0FBa0IsRUFBbEIsRUFBc0JDLFdBQXRCLEVBQVgsRUFBZ0QsQ0FBaEQsRUFBbUQsR0FBbkQsQ0FBVDtRQUVBTixJQUFJLENBQUNDLENBQUQsQ0FBSixHQUFVQyxRQUFRLEdBQUc1QixrQkFBWCxJQUFpQzRCLFFBQVEsR0FBRzNCLGtCQUE1QyxHQUNOLEdBRE0sR0FFTmdDLE1BQU0sQ0FBQ0MsWUFBUCxDQUFvQk4sUUFBcEIsQ0FGSjtNQUdEOztNQUNEVixlQUFBLENBQUlDLEtBQUosQ0FBVyxHQUFFTSxHQUFHLENBQUNVLElBQUosQ0FBUyxHQUFULENBQWMsSUFBR1QsSUFBSSxDQUFDUyxJQUFMLENBQVUsRUFBVixDQUFjLEVBQTVDO0lBQ0Q7RUFDRjs7QUFsRHlDOzs7QUFxRDVDaEMsWUFBWSxDQUFDbUIsSUFBYixHQUFvQixDQUFwQjtBQUNBbkIsWUFBWSxDQUFDaUMsT0FBYixHQUF1QixDQUF2QjtlQUdlakMsWSJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3V0aWxpdGllcy5qcyIsIm5hbWVzIjpbIkxPQ0tET1dOX1JFUVVFU1QiLCJERVZJQ0VfVElNRSIsIktleSIsIkRFVklDRV9VVENfT0ZGU0VUIiwiREVWSUNFX1RJTUVfWk9ORSIsIkRFVklDRV9WRVJTSU9OIiwiREVWSUNFX05BTUUiLCJnZXRDb25uZWN0ZWREZXZpY2VzIiwic29ja2V0IiwidXNibXV4IiwiVXNibXV4IiwiZSIsImxvZyIsImRlYnVnIiwiZGV2aWNlcyIsImxpc3REZXZpY2VzIiwidWRpZHMiLCJtYXAiLCJkZXZpY2UiLCJQcm9wZXJ0aWVzIiwiU2VyaWFsTnVtYmVyIiwiXyIsInVuaXEiLCJjbG9zZSIsImdldE9TVmVyc2lvbiIsInVkaWQiLCJsb2NrZG93biIsImNvbm5lY3RMb2NrZG93biIsImdldFZhbHVlIiwiZ2V0RGV2aWNlTmFtZSIsImdldERldmljZUluZm8iLCJnZXREZXZpY2VUaW1lIiwic3RhcnRMb2NrZG93blNlc3Npb24iLCJ0aW1lc3RhbXAiLCJ1dGNPZmZzZXQiLCJ0aW1lWm9uZSIsInBhaXJSZWNvcmQiLCJyZWFkUGFpclJlY29yZCIsIkVycm9yIiwic3RhcnRTZXNzaW9uIiwiSG9zdElEIiwiU3lzdGVtQlVJRCIsImVuYWJsZVNlc3Npb25TU0wiLCJIb3N0UHJpdmF0ZUtleSIsIkhvc3RDZXJ0aWZpY2F0ZSIsImNvbm5lY3RQb3J0U1NMIiwicG9ydCIsImhhbmRzaGFrZU9ubHkiLCJmaW5kRGV2aWNlIiwiY29ubmVjdCIsIkRldmljZUlEIiwidW5kZWZpbmVkIiwiY29ubmVjdFBvcnQiXSwic291cmNlUm9vdCI6Ii4uLy4uIiwic291cmNlcyI6WyJsaWIvdXRpbGl0aWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBVc2JtdXgsIHsgZ2V0RGVmYXVsdFNvY2tldCB9IGZyb20gJy4vdXNibXV4JztcbmltcG9ydCB7IHVwZ3JhZGVUb1NTTCwgZW5hYmxlU1NMSGFuZHNoYWtlT25seSB9IGZyb20gJy4vc3NsLWhlbHBlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zYW1kbWFyc2hhbGwvaU9TLUludGVybmFscy9ibG9iL21hc3Rlci9sb2NrYm90L2xvY2tib3QvbG9ja2Rvd25fa2V5cy5oXG5jb25zdCBMT0NLRE9XTl9SRVFVRVNUID0ge1xuICBERVZJQ0VfVElNRTogeyBLZXk6ICdUaW1lSW50ZXJ2YWxTaW5jZTE5NzAnIH0sXG4gIERFVklDRV9VVENfT0ZGU0VUOiB7IEtleTogJ1RpbWVab25lT2Zmc2V0RnJvbVVUQycgfSxcbiAgREVWSUNFX1RJTUVfWk9ORTogeyBLZXk6ICdUaW1lWm9uZScgfSxcbiAgREVWSUNFX1ZFUlNJT046IHsgS2V5OiAnUHJvZHVjdFZlcnNpb24nIH0sXG4gIERFVklDRV9OQU1FOiB7IEtleTogJ0RldmljZU5hbWUnIH1cbn07XG5cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHVkaWRzIG9mIHRoZSBjb25uZWN0ZWQgZGV2aWNlc1xuICpcbiAqIEBwYXJhbSB7P25ldC5Tb2NrZXR9IHNvY2tldCB0aGUgc29ja2V0IG9mIHVzYm11eGQuIEl0IHdpbGwgZGVmYXVsdCB0byAvdmFyL3J1bi91c2JtdXhkIGlmIGl0IGlzIG5vdCBwYXNzZWRcbiAqIEByZXR1cm5zIHtBcnJheS48c3RyaW5nPn0gVGhlIGxpc3Qgb2YgZGV2aWNlIHNlcmlhbCBudW1iZXJzICh1ZGlkKSBvclxuICogYW4gZW1wdHkgbGlzdCBpZiBubyBkZXZpY2VzIGFyZSBjb25uZWN0ZWRcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0Q29ubmVjdGVkRGV2aWNlcyAoc29ja2V0ID0gbnVsbCkge1xuICBsZXQgdXNibXV4O1xuICB0cnkge1xuICAgIHVzYm11eCA9IG5ldyBVc2JtdXgoc29ja2V0IHx8IGF3YWl0IGdldERlZmF1bHRTb2NrZXQoKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2cuZGVidWcoZSk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgZGV2aWNlcyA9IGF3YWl0IHVzYm11eC5saXN0RGV2aWNlcygpO1xuICAgIGNvbnN0IHVkaWRzID0gZGV2aWNlcy5tYXAoKGRldmljZSkgPT4gZGV2aWNlLlByb3BlcnRpZXMuU2VyaWFsTnVtYmVyKTtcbiAgICByZXR1cm4gXy51bmlxKHVkaWRzKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB1c2JtdXguY2xvc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgb3MgdmVyc2lvbiBvZiB0aGUgZGV2aWNlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgRGV2aWNlIFVESURcbiAqIEBwYXJhbSB7P25ldC5Tb2NrZXR9IHNvY2tldCB0aGUgc29ja2V0IG9mIHVzYm11eGQuIEl0IHdpbGwgZGVmYXVsdCB0byAvdmFyL3J1bi91c2JtdXhkIGlmIGl0IGlzIG5vdCBwYXNzZWRcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldE9TVmVyc2lvbiAodWRpZCwgc29ja2V0ID0gbnVsbCkge1xuICBjb25zdCB1c2JtdXggPSBuZXcgVXNibXV4KHNvY2tldCB8fCBhd2FpdCBnZXREZWZhdWx0U29ja2V0KCkpO1xuICB0cnkge1xuICAgIC8vIGxvY2tkb3duIGRvZXNuJ3QgbmVlZCB0byBiZSBjbG9zZWQgc2luY2UgaXQgdXNlcyB0aGUgc2FtZSBzb2NrZXQgdXNibXV4IHVzZXNcbiAgICBjb25zdCBsb2NrZG93biA9IGF3YWl0IHVzYm11eC5jb25uZWN0TG9ja2Rvd24odWRpZCk7XG4gICAgcmV0dXJuIGF3YWl0IGxvY2tkb3duLmdldFZhbHVlKExPQ0tET1dOX1JFUVVFU1QuREVWSUNFX1ZFUlNJT04pO1xuICB9IGZpbmFsbHkge1xuICAgIHVzYm11eC5jbG9zZSgpO1xuICB9XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBuYW1lIG9mIHRoZSBkZXZpY2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdWRpZCBEZXZpY2UgVURJRFxuICogQHBhcmFtIHs/bmV0LlNvY2tldH0gc29ja2V0IHRoZSBzb2NrZXQgb2YgdXNibXV4ZC4gSXQgd2lsbCBkZWZhdWx0IHRvIC92YXIvcnVuL3VzYm11eGQgaWYgaXQgaXMgbm90IHBhc3NlZFxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0RGV2aWNlTmFtZSAodWRpZCwgc29ja2V0ID0gbnVsbCkge1xuICBjb25zdCB1c2JtdXggPSBuZXcgVXNibXV4KHNvY2tldCB8fCBhd2FpdCBnZXREZWZhdWx0U29ja2V0KCkpO1xuICB0cnkge1xuICAgIC8vIGxvY2tkb3duIGRvZXNuJ3QgbmVlZCB0byBiZSBjbG9zZWQgc2luY2UgaXQgdXNlcyB0aGUgc2FtZSBzb2NrZXQgdXNibXV4IHVzZXNcbiAgICBjb25zdCBsb2NrZG93biA9IGF3YWl0IHVzYm11eC5jb25uZWN0TG9ja2Rvd24odWRpZCk7XG4gICAgcmV0dXJuIGF3YWl0IGxvY2tkb3duLmdldFZhbHVlKExPQ0tET1dOX1JFUVVFU1QuREVWSUNFX05BTUUpO1xuICB9IGZpbmFsbHkge1xuICAgIHVzYm11eC5jbG9zZSgpO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBhbGwgYXZhaWxhYmxlIGRldmljZSB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSB1ZGlkIERldmljZSBVRElEXG4gKiBAcGFyYW0gez9uZXQuU29ja2V0fSBzb2NrZXQgdGhlIHNvY2tldCBvZiB1c2JtdXhkLiBJdCB3aWxsIGRlZmF1bHQgdG8gL3Zhci9ydW4vdXNibXV4ZCBpZiBpdCBpcyBub3QgcGFzc2VkXG4gKiBAcmV0dXJucyB7b2JqZWN0fSBSZXR1cm5zIGF2YWlsYWJsZSBkZWZhdWx0IGRldmljZSB2YWx1ZXMgdmlhIGxvY2tkb3duLlxuICogZS5nLlxuICoge1xuICogICBcIkJhc2ViYW5kQ2VydElkXCI9PjM4NDAxNDk1MjgsXG4gKiAgIFwiQmFzZWJhbmRLZXlIYXNoSW5mb3JtYXRpb25cIj0+XG4gKiAgICAge1wiQUtleVN0YXR1c1wiPT4yLFxuICogICAgIFwiU0tleUhhc2hcIj0+e1xuICogICAgICAgXCJ0eXBlXCI9PlwiQnVmZmVyXCIsXG4gKiAgICAgICBcImRhdGFcIj0+WzE4NywgMjM5LCAuLi4uXX0sXG4gKiAgICAgXCJTS2V5U3RhdHVzXCI9PjB9LFxuICogICBcIkJhc2ViYW5kU2VyaWFsTnVtYmVyXCI9PntcInR5cGVcIj0+XCJCdWZmZXJcIiwgXCJkYXRhXCI9PlsuLi5dfSxcbiAqICAgXCJCYXNlYmFuZFZlcnNpb25cIj0+XCIxMS4wMS4wMlwiLFxuICogICBcIkJvYXJkSWRcIj0+MixcbiAqICAgXCJCdWlsZFZlcnNpb25cIj0+XCIxOUM1NlwiLFxuICogICBcIkNQVUFyY2hpdGVjdHVyZVwiPT5cImFybTY0XCIsXG4gKiAgIFwiQ2hpcElEXCI9PjMyNzY4LFxuICogICBcIkRldmljZUNsYXNzXCI9PlwiaVBob25lXCIsXG4gKiAgIFwiRGV2aWNlQ29sb3JcIj0+XCIjYzhjYWNhXCIsXG4gKiAgIFwiRGV2aWNlTmFtZVwiPT5cImthenVcIixcbiAqICAgXCJEaWVJRFwiPT4xMTExMTExMTExMTExLFxuICogICBcIkhhcmR3YXJlTW9kZWxcIj0+XCJONjl1QVBcIixcbiAqICAgXCJIYXNTaURQXCI9PnRydWUsXG4gKiAgIFwiUGFydGl0aW9uVHlwZVwiPT5cIkdVSURfcGFydGl0aW9uX3NjaGVtZVwiLFxuICogICBcIlByb2R1Y3ROYW1lXCI9PlwiaVBob25lIE9TXCIsXG4gKiAgIFwiUHJvZHVjdFR5cGVcIj0+XCJpUGhvbmU4LDRcIixcbiAqICAgXCJQcm9kdWN0VmVyc2lvblwiPT5cIjE1LjJcIixcbiAqICAgXCJQcm9kdWN0aW9uU09DXCI9PnRydWUsXG4gKiAgIFwiUHJvdG9jb2xWZXJzaW9uXCI9PlwiMlwiLFxuICogICBcIlN1cHBvcnRlZERldmljZUZhbWlsaWVzXCI9PlsxXSxcbiAqICAgXCJUZWxlcGhvbnlDYXBhYmlsaXR5XCI9PnRydWUsXG4gKiAgIFwiVW5pcXVlQ2hpcElEXCI9PjExMTExMTExMTExMTEsXG4gKiAgIFwiVW5pcXVlRGV2aWNlSURcIj0+XCJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXCIsXG4gKiAgIFwiV2lGaUFkZHJlc3NcIj0+XCIwMDowMDowMDowMDowMDowMFwiXG4gKiB9XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldERldmljZUluZm8gKHVkaWQsIHNvY2tldCA9IG51bGwpIHtcbiAgY29uc3QgdXNibXV4ID0gbmV3IFVzYm11eChzb2NrZXQgfHwgYXdhaXQgZ2V0RGVmYXVsdFNvY2tldCgpKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBsb2NrZG93biA9IGF3YWl0IHVzYm11eC5jb25uZWN0TG9ja2Rvd24odWRpZCk7XG4gICAgcmV0dXJuIGF3YWl0IGxvY2tkb3duLmdldFZhbHVlKCk7XG4gIH0gZmluYWxseSB7XG4gICAgdXNibXV4LmNsb3NlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEZXZpY2VUaW1lXG4gKlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHRpbWVzdGFtcCBVbml4IHRpbWVzdGFtcCBpbiBzZWNvbmRzIHNpbmNlIDE5NzAtMDEtMDFUMDA6MDA6MDBaXG4gKiBAcHJvcGVydHkge251bWJlcn0gdXRjT2Zmc2V0IFRoZSBkaWZmZXJlbmNlIGluIG1pbnV0ZXMgYmV0d2VlbiB0aGUgVVRDIHRpbWUgYW5kIHRoZSBsb2NhbCBkZXZpY2UgdGltZS5cbiAqIENhbiBiZSBuZWdhdGl2ZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aW1lWm9uZSBUaW1lIHpvbmUgbmFtZSBjb25maWd1cmVkIG9uIHRoZSBkZXZpY2UsIGZvciBleGFtcGxlIGBFdXJvcGUvUGFyaXNgXG4gKi9cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGxvY2FsIHRpbWUgZnJvbSB0aGUgZGV2aWNlIHVuZGVyIHRlc3RcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdWRpZCBEZXZpY2UgVURJRFxuICogQHBhcmFtIHs/bmV0LlNvY2tldH0gc29ja2V0IHRoZSBzb2NrZXQgb2YgdXNibXV4ZC4gSXQgd2lsbCBkZWZhdWx0IHRvIC92YXIvcnVuL3VzYm11eGQgaWYgaXQgaXMgbm90IHBhc3NlZFxuICogQHJldHVybnMge0RldmljZVRpbWV9XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldERldmljZVRpbWUgKHVkaWQsIHNvY2tldCA9IG51bGwpIHtcbiAgY29uc3QgbG9ja2Rvd24gPSBhd2FpdCBzdGFydExvY2tkb3duU2Vzc2lvbih1ZGlkLCBzb2NrZXQpO1xuICB0cnkge1xuICAgIHJldHVybiB7XG4gICAgICB0aW1lc3RhbXA6IGF3YWl0IGxvY2tkb3duLmdldFZhbHVlKExPQ0tET1dOX1JFUVVFU1QuREVWSUNFX1RJTUUpLFxuICAgICAgLy8gQXBwbGUgcmV0dXJucyB1dGNPZmZzZXQgaW4gc2Vjb25kcyB3aGljaCBkb2VzbnQgY29tcGx5IHdpdGggdGhlIGdlbmVyYWwgc3RhbmRhcmRcbiAgICAgIHV0Y09mZnNldDogYXdhaXQgbG9ja2Rvd24uZ2V0VmFsdWUoTE9DS0RPV05fUkVRVUVTVC5ERVZJQ0VfVVRDX09GRlNFVCkgLyA2MCxcbiAgICAgIHRpbWVab25lOiBhd2FpdCBsb2NrZG93bi5nZXRWYWx1ZShMT0NLRE9XTl9SRVFVRVNULkRFVklDRV9USU1FX1pPTkUpLFxuICAgIH07XG4gIH0gZmluYWxseSB7XG4gICAgbG9ja2Rvd24uY2xvc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIFN0YXJ0cyBhIGxvY2tkb3duIHNlc3Npb24gb24gdGhlIGdpdmVuIGRldmljZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1ZGlkIERldmljZSBVRElEXG4gKiBAcGFyYW0gez9uZXQuU29ja2V0fSBzb2NrZXQgdGhlIHNvY2tldCBvZiB1c2JtdXhkLiBJdCB3aWxsIGRlZmF1bHQgdG8gL3Zhci9ydW4vdXNibXV4ZCBpZiBpdCBpcyBub3QgcGFzc2VkXG4gKiBAcmV0dXJucyB7TG9ja2Rvd259XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHN0YXJ0TG9ja2Rvd25TZXNzaW9uICh1ZGlkLCBzb2NrZXQgPSBudWxsKSB7XG4gIGNvbnN0IHVzYm11eCA9IG5ldyBVc2JtdXgoc29ja2V0IHx8IGF3YWl0IGdldERlZmF1bHRTb2NrZXQoKSk7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFpclJlY29yZCA9IGF3YWl0IHVzYm11eC5yZWFkUGFpclJlY29yZCh1ZGlkKTtcbiAgICBpZiAoIXBhaXJSZWNvcmQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgYSBwYWlyIHJlY29yZCBmb3IgZGV2aWNlICcke3VkaWR9Jy4gUGxlYXNlIGZpcnN0IHBhaXIgd2l0aCB0aGUgZGV2aWNlYCk7XG4gICAgfVxuICAgIC8vIGxvY2tkb3duIGRvZXNuJ3QgbmVlZCB0byBiZSBjbG9zZWQgc2luY2UgaXQgdXNlcyB0aGUgc2FtZSBzb2NrZXQgdXNibXV4IHVzZXNcbiAgICBjb25zdCBsb2NrZG93biA9IGF3YWl0IHVzYm11eC5jb25uZWN0TG9ja2Rvd24odWRpZCk7XG4gICAgYXdhaXQgbG9ja2Rvd24uc3RhcnRTZXNzaW9uKHBhaXJSZWNvcmQuSG9zdElELCBwYWlyUmVjb3JkLlN5c3RlbUJVSUQpO1xuICAgIGxvY2tkb3duLmVuYWJsZVNlc3Npb25TU0wocGFpclJlY29yZC5Ib3N0UHJpdmF0ZUtleSwgcGFpclJlY29yZC5Ib3N0Q2VydGlmaWNhdGUpO1xuICAgIHJldHVybiBsb2NrZG93bjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHVzYm11eC5jbG9zZSgpO1xuICAgIHRocm93IGU7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25uZWN0cyB0byBhIGdpdmVuIHBvcnQgd2l0aCB0aGUgY2VydHMgYW5kIGtleXMgdXNlZCBpbiB0aGUgcGFpcmluZyBwcm9jZXNzXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHVkaWQgRGV2aWNlIFVESURcbiAqIEBwYXJhbSB7bnVtYmVyfSBwb3J0IFBvcnQgdG8gY29ubmVjdFxuICogQHBhcmFtIHs/bmV0LlNvY2tldH0gc29ja2V0IHRoZSBzb2NrZXQgb2YgdXNibXV4ZC4gSXQgd2lsbCBkZWZhdWx0IHRvIC92YXIvcnVuL3VzYm11eGQgaWYgaXQgaXMgbm90IHBhc3NlZFxuICogQHBhcmFtIHtib29sZWFufSBoYW5kc2hha2VPbmx5IG9ubHkgaGFuZHNoYWtlIGFuZCByZXR1cm4gdGhlIGluaXRpYWwgc29ja2V0XG4gKiBAcmV0dXJucyB7dGxzLlRMU1NvY2tldHxPYmplY3R9IFRoZSBzb2NrZXQgb3IgdGhlIG9iamVjdCByZXR1cm5lZCBpbiB0aGUgY2FsbGJhY2sgaWYgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGV4aXN0c1xuICovXG5hc3luYyBmdW5jdGlvbiBjb25uZWN0UG9ydFNTTCAodWRpZCwgcG9ydCwgc29ja2V0ID0gbnVsbCwgaGFuZHNoYWtlT25seSA9IGZhbHNlKSB7XG4gIGNvbnN0IHVzYm11eCA9IG5ldyBVc2JtdXgoc29ja2V0IHx8IGF3YWl0IGdldERlZmF1bHRTb2NrZXQoKSk7XG4gIHRyeSB7XG4gICAgY29uc3QgZGV2aWNlID0gYXdhaXQgdXNibXV4LmZpbmREZXZpY2UodWRpZCk7XG4gICAgaWYgKCFkZXZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgdGhlIGV4cGVjdGVkIGRldmljZSAnJHt1ZGlkfSdgKTtcbiAgICB9XG4gICAgY29uc3QgcGFpclJlY29yZCA9IGF3YWl0IHVzYm11eC5yZWFkUGFpclJlY29yZCh1ZGlkKTtcbiAgICBpZiAoIXBhaXJSZWNvcmQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgYSBwYWlyIHJlY29yZCBmb3IgZGV2aWNlICcke3VkaWR9Jy4gUGxlYXNlIGZpcnN0IHBhaXIgd2l0aCB0aGUgZGV2aWNlYCk7XG4gICAgfVxuICAgIGNvbnN0IHNvY2tldCA9IGF3YWl0IHVzYm11eC5jb25uZWN0KGRldmljZS5Qcm9wZXJ0aWVzLkRldmljZUlELCBwb3J0LCB1bmRlZmluZWQpO1xuICAgIHJldHVybiBoYW5kc2hha2VPbmx5ID9cbiAgICAgIGF3YWl0IGVuYWJsZVNTTEhhbmRzaGFrZU9ubHkoc29ja2V0LCBwYWlyUmVjb3JkLkhvc3RQcml2YXRlS2V5LCBwYWlyUmVjb3JkLkhvc3RDZXJ0aWZpY2F0ZSkgOlxuICAgICAgdXBncmFkZVRvU1NMKHNvY2tldCwgcGFpclJlY29yZC5Ib3N0UHJpdmF0ZUtleSwgcGFpclJlY29yZC5Ib3N0Q2VydGlmaWNhdGUpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdXNibXV4LmNsb3NlKCk7XG4gICAgdGhyb3cgZTtcbiAgfVxufVxuXG4vKipcbiAqIENvbm5lY3RzIHRvIGEgZ2l2ZW4gcG9ydFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1ZGlkIERldmljZSBVRElEXG4gKiBAcGFyYW0ge251bWJlcn0gcG9ydCBQb3J0IHRvIGNvbm5lY3RcbiAqIEBwYXJhbSB7P25ldC5Tb2NrZXR9IHNvY2tldCB0aGUgc29ja2V0IG9mIHVzYm11eGQuIEl0IHdpbGwgZGVmYXVsdCB0byAvdmFyL3J1bi91c2JtdXhkIGlmIGl0IGlzIG5vdCBwYXNzZWRcbiAqIEByZXR1cm5zIHtuZXQuU29ja2V0fE9iamVjdH0gVGhlIHNvY2tldCBvciB0aGUgb2JqZWN0IHJldHVybmVkIGluIHRoZSBjYWxsYmFjayBpZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gZXhpc3RzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGNvbm5lY3RQb3J0ICh1ZGlkLCBwb3J0LCBzb2NrZXQgPSBudWxsKSB7XG4gIGNvbnN0IHVzYm11eCA9IG5ldyBVc2JtdXgoc29ja2V0IHx8IGF3YWl0IGdldERlZmF1bHRTb2NrZXQoKSk7XG4gIHRyeSB7XG4gICAgY29uc3QgZGV2aWNlID0gYXdhaXQgdXNibXV4LmZpbmREZXZpY2UodWRpZCk7XG4gICAgaWYgKCFkZXZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgdGhlIGV4cGVjdGVkIGRldmljZSAke3VkaWR9YCk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB1c2JtdXguY29ubmVjdChkZXZpY2UuUHJvcGVydGllcy5EZXZpY2VJRCwgcG9ydCwgdW5kZWZpbmVkKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHVzYm11eC5jbG9zZSgpO1xuICAgIHRocm93IGU7XG4gIH1cbn1cblxuZXhwb3J0IHtcbiAgZ2V0Q29ubmVjdGVkRGV2aWNlcywgZ2V0T1NWZXJzaW9uLCBnZXREZXZpY2VOYW1lLCBnZXREZXZpY2VUaW1lLFxuICBzdGFydExvY2tkb3duU2Vzc2lvbiwgY29ubmVjdFBvcnQsIGNvbm5lY3RQb3J0U1NMLCBnZXREZXZpY2VJbmZvXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBR0EsTUFBTUEsZ0JBQWdCLEdBQUc7RUFDdkJDLFdBQVcsRUFBRTtJQUFFQyxHQUFHLEVBQUU7RUFBUCxDQURVO0VBRXZCQyxpQkFBaUIsRUFBRTtJQUFFRCxHQUFHLEVBQUU7RUFBUCxDQUZJO0VBR3ZCRSxnQkFBZ0IsRUFBRTtJQUFFRixHQUFHLEVBQUU7RUFBUCxDQUhLO0VBSXZCRyxjQUFjLEVBQUU7SUFBRUgsR0FBRyxFQUFFO0VBQVAsQ0FKTztFQUt2QkksV0FBVyxFQUFFO0lBQUVKLEdBQUcsRUFBRTtFQUFQO0FBTFUsQ0FBekI7O0FBZ0JBLGVBQWVLLG1CQUFmLENBQW9DQyxNQUFNLEdBQUcsSUFBN0MsRUFBbUQ7RUFDakQsSUFBSUMsTUFBSjs7RUFDQSxJQUFJO0lBQ0ZBLE1BQU0sR0FBRyxJQUFJQyxlQUFKLENBQVdGLE1BQU0sS0FBSSxNQUFNLCtCQUFWLENBQWpCLENBQVQ7RUFDRCxDQUZELENBRUUsT0FBT0csQ0FBUCxFQUFVO0lBQ1ZDLGdCQUFJQyxLQUFKLENBQVVGLENBQVY7O0lBQ0EsT0FBTyxFQUFQO0VBQ0Q7O0VBQ0QsSUFBSTtJQUNGLE1BQU1HLE9BQU8sR0FBRyxNQUFNTCxNQUFNLENBQUNNLFdBQVAsRUFBdEI7SUFDQSxNQUFN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
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci9pbmRleC5qcyIsIm5hbWVzIjpbIldFQl9JTlNQRUNUT1JfU0VSVklDRV9OQU1FIiwiTUFYX0ZSQU1FX1NJWkUiLCJNQiIsIlBBUlRJQUxfTUVTU0FHRV9TVVBQT1JUX0RFUFJFQ0FUSU9OX1ZFUlNJT04iLCJXZWJJbnNwZWN0b3JTZXJ2aWNlIiwiQmFzZVNlcnZpY2VTb2NrZXQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJtYWpvck9zVmVyc2lvbiIsImlzU2ltdWxhdG9yIiwic29ja2V0Q2h1bmtTaXplIiwidmVyYm9zZSIsInZlcmJvc2VIZXhEdW1wIiwic29ja2V0Q2xpZW50IiwibWF4RnJhbWVMZW5ndGgiLCJfIiwiaXNGdW5jdGlvbiIsInNldE1heFNlbmRGcmFnbWVudCIsImlzTmlsIiwibG9nIiwiZGVidWciLCJ3YXJuIiwiX3ZlcmJvc2UiLCJfaXNTaW11bGF0b3IiLCJfbWFqb3JPc1ZlcnNpb24iLCJfaW5pdGlhbGl6ZVBhcnRpYWxNZXNzYWdlU3VwcG9ydCIsIl9pbml0aWFsaXplRnVsbE1lc3NhZ2VTdXBwb3J0IiwiX2RlY29kZXIiLCJQbGlzdFNlcnZpY2VEZWNvZGVyIiwiX3NvY2tldENsaWVudCIsInBpcGUiLCJTdHJlYW1Mb2dnZXIiLCJSRUNFSVZFIiwiX3NwbGl0dGVyIiwiTGVuZ3RoQmFzZWRTcGxpdHRlciIsInJlYWRhYmxlU3RyZWFtIiwibGl0dGxlRW5kaWFuIiwibGVuZ3RoRmllbGRPZmZzZXQiLCJsZW5ndGhGaWVsZExlbmd0aCIsImxlbmd0aEFkanVzdG1lbnQiLCJfZW5jb2RlciIsIlBsaXN0U2VydmljZUVuY29kZXIiLCJTRU5EIiwiV2ViSW5zcGVjdG9yRGVjb2RlciIsIldlYkluc3BlY3RvckVuY29kZXIiLCJzZW5kTWVzc2FnZSIsInJwY09iamVjdCIsIkVycm9yIiwidXRpbCIsImpzb25TdHJpbmdpZnkiLCJ3cml0ZSIsImxpc3Rlbk1lc3NhZ2UiLCJvbkRhdGEiLCJvbiIsImRhdGEiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvd2ViaW5zcGVjdG9yL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXZWJJbnNwZWN0b3JEZWNvZGVyIGZyb20gJy4vdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWRlY29kZXInO1xuaW1wb3J0IFdlYkluc3BlY3RvckVuY29kZXIgZnJvbSAnLi90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZW5jb2Rlcic7XG5pbXBvcnQgUGxpc3RTZXJ2aWNlRGVjb2RlciBmcm9tICcuLi9wbGlzdC1zZXJ2aWNlL3RyYW5zZm9ybWVyL3BsaXN0LXNlcnZpY2UtZGVjb2Rlcic7XG5pbXBvcnQgUGxpc3RTZXJ2aWNlRW5jb2RlciBmcm9tICcuLi9wbGlzdC1zZXJ2aWNlL3RyYW5zZm9ybWVyL3BsaXN0LXNlcnZpY2UtZW5jb2Rlcic7XG5pbXBvcnQgTGVuZ3RoQmFzZWRTcGxpdHRlciBmcm9tICcuLi91dGlsL3RyYW5zZm9ybWVyL2xlbmd0aC1iYXNlZC1zcGxpdHRlcic7XG5pbXBvcnQgU3RyZWFtTG9nZ2VyIGZyb20gJy4uL3V0aWwvdHJhbnNmb3JtZXIvc3RyZWFtLWxvZ2dlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgeyBNQiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBCYXNlU2VydmljZVNvY2tldCB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5cblxuY29uc3QgV0VCX0lOU1BFQ1RPUl9TRVJWSUNFX05BTUUgPSAnY29tLmFwcGxlLndlYmluc3BlY3Rvcic7XG5jb25zdCBNQVhfRlJBTUVfU0laRSA9IDIwICogTUI7XG5cbmNvbnN0IFBBUlRJQUxfTUVTU0FHRV9TVVBQT1JUX0RFUFJFQ0FUSU9OX1ZFUlNJT04gPSAxMTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBXZWJJbnNwZWN0b3JTZXJ2aWNlT3B0aW9uc1xuICpcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBtYWpvck9zVmVyc2lvbiBUaGUgbWFqb3IgdmVyc2lvbiBvZiB0aGUgb3MgdmVyc2lvblxuICogQHByb3BlcnR5IHtib29sZWFufSBpc1NpbXVsYXRvciBXaGV0aGVyIHRoZSBkZXZpY2UgaXMgYSBzaW11bGF0b3JcbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gc29ja2V0Q2h1bmtTaXplIFNpemUsIGluIGJ5dGVzIG9mIHRoZSBjaHVua3MgdG8gc2VuZCB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhbCBkZXZpY2UgKG9ubHkgaU9TIDExKykuIERlZmF1bHRzIHRvXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjM4NCBieXRlcyAodGhlIFRMU1NvY2tldCBtYXgpLlxuICogQHByb3BlcnR5IHtib29sZWFufSB2ZXJib3NlIFR1cm4gb24gbG9nZ2luZyBvZiBlYWNoIG1lc3NhZ2Ugc2VudCBvciByZWNlaXZlZC5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0cyB0byBmYWxzZVxuICogQHByb3BlcnR5IHtib29sZWFufSB2ZXJib3NlSGV4RHVtcCBUdXJuIG9uIGxvZ2dpbmcgb2YgX2FsbF8gY29tbXVuaWNhdGlvbiBhc1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXggZHVtcC4gRGVmYXVsdHMgdG8gZmFsc2VcbiAqIEBwcm9wZXJ0eSB7Kn0gc29ja2V0Q2xpZW50IFRoZSBzb2NrZXQgY2xpZW50IHdoZXJlIHRoZSBjb21tdW5pY2F0aW9uIHdpbGwgaGFwcGVuXG4gKiBAcHJvcGVydHkge251bWJlcn0gbWF4RnJhbWVMZW5ndGggWzIwICogMTAyNCAqIDEwMjRdIC0gVGhlIG1heGltdW0gc2l6ZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJ5dGVzIG9mIGEgc2luZ2xlIGRhdGEgZnJhbWVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZGV2aWNlIGNvbW11bmljYXRpb24gcHJvdG9jb2xcbiAqL1xuXG5jbGFzcyBXZWJJbnNwZWN0b3JTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2VTb2NrZXQge1xuICAvKipcbiAgICogVGhlIG1haW4gc2VydmljZSBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSB3ZWJpbnNwZWN0b3JkXG4gICAqXG4gICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yU2VydmljZU9wdGlvbnN9XG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgbWFqb3JPc1ZlcnNpb24sXG4gICAgICBpc1NpbXVsYXRvciA9IGZhbHNlLFxuICAgICAgc29ja2V0Q2h1bmtTaXplLFxuICAgICAgdmVyYm9zZSA9IGZhbHNlLFxuICAgICAgdmVyYm9zZUhleER1bXAgPSBmYWxzZSxcbiAgICAgIHNvY2tldENsaWVudCxcbiAgICAgIG1heEZyYW1lTGVuZ3RoID0gTUFYX0ZSQU1FX1NJWkUsXG4gICAgfSA9IG9wdHM7XG5cbiAgICBzdXBlcihzb2NrZXRDbGllbnQpO1xuXG4gICAgLy8gc2V0IHRoZSBsYXJnZXN0IGZyYWdtZW50IHNpemUgZm9yIHRoZSBzb2NrZXQsIGlmIHRoZSBvcHRpb24gaXMgdGhlcmVcbiAgICBpZiAoXy5pc0Z1bmN0aW9uKHNvY2tldENsaWVudC5zZXRNYXhTZW5kRnJhZ21lbnQpICYmICFfLmlzTmlsKHNvY2tldENodW5rU2l6ZSkgJiYgc29ja2V0Q2h1bmtTaXplID4gMCkge1xuICAgICAgaWYgKHNvY2tldENsaWVudC5zZXRNYXhTZW5kRnJhZ21lbnQoc29ja2V0Q2h1bmtTaXplKSkge1xuICAgICAgICBsb2cuZGVidWcoYE1heGltdW0gVExTIGZyYWdtZW50IHNpemUgc2V0IHRvICcke3NvY2tldENodW5rU2l6ZX0nYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBhbnl0aGluZyBvdmVyIHRoZSBfYWN0dWFsXyBtYXhpbXVtIHdpbGwgZmFpbCwgYW5kIHRoaW5ncyB3aWxsIHJlbWFpbiB0aGUgc2FtZVxuICAgICAgICBsb2cud2FybihgVW5hYmxlIHRvIHNldCBUTFMgZnJhZ21lbnQgc2l6ZSB0byAnJHtzb2NrZXRDaHVua1NpemV9J2ApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3ZlcmJvc2UgPSB2ZXJib3NlO1xuICAgIHRoaXMuX2lzU2ltdWxhdG9yID0gaXNTaW11bGF0b3I7XG4gICAgdGhpcy5fbWFqb3JPc1ZlcnNpb24gPSBtYWpvck9zVmVyc2lvbjtcblxuICAgIGlmICghaXNTaW11bGF0b3IgJiYgbWFqb3JPc1ZlcnNpb24gPCBQQVJUSUFMX01FU1NBR0VfU1VQUE9SVF9ERVBSRUNBVElPTl9WRVJTSU9OKSB7XG4gICAgICB0aGlzLl9pbml0aWFsaXplUGFydGlhbE1lc3NhZ2VTdXBwb3J0KHZlcmJvc2VIZXhEdW1wLCBtYXhGcmFtZUxlbmd0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVGdWxsTWVzc2FnZVN1cHBvcnQodmVyYm9zZUhleER1bXAsIG1heEZyYW1lTGVuZ3RoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW50aWFsaXplcyB0aGUgZGF0YSBmbG93IGZvciBpT1MgMTErLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZlcmJvc2UgLSB3aGV0aGVyIHRvIHByaW50IG91dCB0aGUgaGV4IGR1bXAgZm9yIGNvbW11bmljYXRpb25cbiAgICogQHBhcmFtIHtudW1iZXJ9IG1heEZyYW1lTGVuZ3RoIC0gVGhlIG1heGltdW0gc2l6ZSBpbiBieXRlcyBvZiBhIHNpbmdsZSBkYXRhIGZyYW1lXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBkZXZpY2UgY29tbXVuaWNhdGlvbiBwcm90b2NvbFxuICAgKi9cbiAgX2luaXRpYWxpemVGdWxsTWVzc2FnZVN1cHBvcnQgKHZlcmJvc2UsIG1heEZyYW1lTGVuZ3RoKSB7XG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBQbGlzdFNlcnZpY2VEZWNvZGVyKCk7XG4gICAgdGhpcy5fc29ja2V0Q2xpZW50XG4gICAgICAvLyBsb2cgZmlyc3QsIGluIGNhc2UgdGhlcmUgaXMgYSBwcm9ibGVtIGluIHByb2Nlc3NpbmdcbiAgICAgIC5waXBlKG5ldyBTdHJlYW1Mb2dnZXIoU3RyZWFtTG9nZ2VyLlJFQ0VJVkUsIHZlcmJvc2UpKVxuICAgICAgLnBpcGUodGhpcy5fc3BsaXR0ZXIgPSBuZXcgTGVuZ3RoQmFzZWRTcGxpdHRlcih7XG4gICAgICAgIHJlYWRhYmxlU3RyZWFtOiB0aGlzLl9zb2NrZXRDbGllbnQsXG4gICAgICAgIGxpdHRsZUVuZGlhbjogZmFsc2UsXG4gICAgICAgIG1heEZyYW1lTGVuZ3RoLFxuICAgICAgICBsZW5ndGhGaWVsZE9mZnNldDogMCxcbiAgICAgICAgbGVuZ3RoRmllbGRMZW5ndGg6IDQsXG4gICAgICAgIGxlbmd0aEFkanVzdG1lbnQ6IDQsXG4gICAgICB9KSlcbiAgICAgIC5waXBlKHRoaXMuX2RlY29kZXIpO1xuXG4gICAgdGhpcy5fZW5jb2RlciA9IG5ldyBQbGlzdFNlcnZpY2VFbmNvZGVyKCk7XG4gICAgdGhpcy5fZW5jb2RlclxuICAgICAgLnBpcGUobmV3IFN0cmVhbUxvZ2dlcihTdHJlYW1Mb2dnZXIuU0VORCwgdmVyYm9zZSkpXG4gICAgICAucGlwZSh0aGlzLl9zb2NrZXRDbGllbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGlhbGl6ZXMgdGhlIGRhdGEgZmxvdyBmb3IgaU9TIDwgMTEsIHdoZXJlIGRhdGEgaXMgc2VwYXJhdGVkIGludG8gcGFydGlhbFxuICAgKiBtZXNzYWdlcyBiZWZvcmUgc2VuZGluZy5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSB2ZXJib3NlIC0gd2hldGhlciB0byBwcmludCBvdXQgdGhlIGhleCBkdW1wIGZvciBjb21tdW5pY2F0aW9uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhGcmFtZUxlbmd0aCAtIFRoZSBtYXhpbXVtIHNpemUgaW4gYnl0ZXMgb2YgYSBzaW5nbGUgZGF0YSBmcmFtZVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZGV2aWNlIGNvbW11bmljYXRpb24gcHJvdG9jb2xcbiAgICovXG4gIF9pbml0aWFsaXplUGFydGlhbE1lc3NhZ2VTdXBwb3J0ICh2ZXJib3NlLCBtYXhGcmFtZUxlbmd0aCkge1xuICAgIC8vIDFNQiBhcyBidWZmZXIgZm9yIGJ1bGRpbmcgd2ViaW5zcGVjdG9yIGZ1bGwgbWVzc2FnZXMuIFdlIGNhbiBpbmNyZWFzZSB0aGUgdmFsdWUgaWYgbW9yZSBidWZmZXIgaXMgbmVlZGVkXG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBXZWJJbnNwZWN0b3JEZWNvZGVyKE1CKTtcbiAgICB0aGlzLl9zb2NrZXRDbGllbnRcbiAgICAgIC8vIGxvZyBmaXJzdCwgaW4gY2FzZSB0aGVyZSBpcyBhIHByb2JsZW0gaW4gcHJvY2Vzc2luZ1xuICAgICAgLnBpcGUobmV3IFN0cmVhbUxvZ2dlcihTdHJlYW1Mb2dnZXIuUkVDRUlWRSwgdmVyYm9zZSkpXG4gICAgICAucGlwZSh0aGlzLl9zcGxpdHRlciA9IG5ldyBMZW5ndGhCYXNlZFNwbGl0dGVyKHtcbiAgICAgICAgcmVhZGFibGVTdHJlYW06IHRoaXMuX3NvY2tldENsaWVudCxcbiAgICAgICAgbGl0dGxlRW5kaWFuOiBmYWxzZSxcbiAgICAgICAgbWF4RnJhbWVMZW5ndGgsXG4gICAgICAgIGxlbmd0aEZpZWxkT2Zmc2V0OiAwLFxuICAgICAgICBsZW5ndGhGaWVsZExlbmd0aDogNCxcbiAgICAgICAgbGVuZ3RoQWRqdXN0bWVudDogNCxcbiAgICAgIH0pKVxuICAgICAgLnBpcGUobmV3IFBsaXN0U2VydmljZURlY29kZXIoKSlcbiAgICAgIC5waXBlKHRoaXMuX2RlY29kZXIpO1xuXG4gICAgdGhpcy5fZW5jb2RlciA9IG5ldyBXZWJJbnNwZWN0b3JFbmNvZGVyKCk7XG4gICAgdGhpcy5fZW5jb2RlclxuICAgICAgLnBpcGUobmV3IFBsaXN0U2VydmljZUVuY29kZXIoKSlcbiAgICAgIC5waXBlKG5ldyBTdHJlYW1Mb2dnZXIoU3RyZWFtTG9nZ2VyLlNFTkQsIHZlcmJvc2UpKVxuICAgICAgLnBpcGUodGhpcy5fc29ja2V0Q2xpZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kcyBhbiBvYmplY3QgdG8gdGhlIHdlYmluc3BlY3RvcmQgc29ja2V0XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBycGNPYmplY3QgVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgc2VudFxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgb2JqZWN0IGlzIG51bGwgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBzZW5kTWVzc2FnZSAocnBjT2JqZWN0KSB7XG4gICAgaWYgKF8uaXNOaWwocnBjT2JqZWN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc2VuZCBhIG51bGwgb2JqZWN0Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHtcbiAgICAgIGxvZy5kZWJ1ZygnU2VuZGluZyBtZXNzYWdlIHRvIFdlYiBJbnNwZWN0b3I6Jyk7XG4gICAgICBsb2cuZGVidWcodXRpbC5qc29uU3RyaW5naWZ5KHJwY09iamVjdCkpO1xuICAgIH1cblxuICAgIHRoaXMuX2VuY29kZXIud3JpdGUocnBjT2JqZWN0KTtcblxuICAgIC8vIHdyaXRlIGFuIGVtcHR5IG1lc3NhZ2UsIHdoaWNoIG9uIHJlYWwgZGV2aWNlcyBlbnN1cmVzIHRoZSBhY3R1YWwgbWVzc2FnZVxuICAgIC8vIGdldHMgc2VudCB0byB0aGUgZGV2aWNlLiB3aXRob3V0IHRoaXMgaXQgd2lsbCBwZXJpb2RpY2FsbHkgaGFuZyB3aXRoXG4gICAgLy8gbm90aGluZyBzZW50XG4gICAgLy8gaG93ZXZlciwgdGhpcyBjYXVzZXMgd2ViaW5zcGVjdG9yZCB0byBjcmFzaCBvbiBkZXZpY2VzIHJ1bm5pbmcgaU9TIDEwXG4gICAgaWYgKCF0aGlzLl9pc1NpbXVsYXRvciAmJiB0aGlzLl9tYWpvck9zVmVyc2lvbiA+PSBQQVJUSUFMX01FU1NBR0VfU1VQUE9SVF9ERVBSRUNBVElPTl9WRVJTSU9OKSB7XG4gICAgICB0aGlzLl9lbmNvZGVyLndyaXRlKCcgJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGNhbGxlZCBkdXJpbmcgbWVzc2FnZSBsaXN0ZW5pbmdcbiAgICogQG5hbWUgTWVzc2FnZUNhbGxiYWNrXG4gICAqIEBmdW5jdGlvblxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBycGMgb2JqZWN0IHRoYXQgaXMgc2VudCBmcm9tIHRoZSB3ZWJpbnNwZWN0b3JkXG4gICovXG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBtZXNzYWdlcyBjb21pbmcgZnJvbSB3ZWJpbnNwZWN0b3JkXG4gICAqIEBwYXJhbSB7TWVzc2FnZUNhbGxiYWNrfSBjYWxsYmFja1xuICAgKi9cbiAgbGlzdGVuTWVzc2FnZSAob25EYXRhKSB7XG4gICAgdGhpcy5fZGVjb2Rlci5vbignZGF0YScsIChkYXRhKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdmVyYm9zZSkge1xuICAgICAgICBsb2cuZGVidWcoJ1JlY2VpdmVkIG1lc3NhZ2UgZnJvbSBXZWIgSW5zcGVjdG9yOicpO1xuICAgICAgICBsb2cuZGVidWcodXRpbC5qc29uU3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgIH1cbiAgICAgIG9uRGF0YShkYXRhKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgeyBXZWJJbnNwZWN0b3JTZXJ2aWNlLCBXRUJfSU5TUEVDVE9SX1NFUlZJQ0VfTkFNRSB9O1xuZXhwb3J0IGRlZmF1bHQgV2ViSW5zcGVjdG9yU2VydmljZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7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
142
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci9pbmRleC5qcyIsIm5hbWVzIjpbIldFQl9JTlNQRUNUT1JfU0VSVklDRV9OQU1FIiwiTUFYX0ZSQU1FX1NJWkUiLCJNQiIsIlBBUlRJQUxfTUVTU0FHRV9TVVBQT1JUX0RFUFJFQ0FUSU9OX1ZFUlNJT04iLCJXZWJJbnNwZWN0b3JTZXJ2aWNlIiwiQmFzZVNlcnZpY2VTb2NrZXQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJtYWpvck9zVmVyc2lvbiIsImlzU2ltdWxhdG9yIiwic29ja2V0Q2h1bmtTaXplIiwidmVyYm9zZSIsInZlcmJvc2VIZXhEdW1wIiwic29ja2V0Q2xpZW50IiwibWF4RnJhbWVMZW5ndGgiLCJfIiwiaXNGdW5jdGlvbiIsInNldE1heFNlbmRGcmFnbWVudCIsImlzTmlsIiwibG9nIiwiZGVidWciLCJ3YXJuIiwiX3ZlcmJvc2UiLCJfaXNTaW11bGF0b3IiLCJfbWFqb3JPc1ZlcnNpb24iLCJfaW5pdGlhbGl6ZVBhcnRpYWxNZXNzYWdlU3VwcG9ydCIsIl9pbml0aWFsaXplRnVsbE1lc3NhZ2VTdXBwb3J0IiwiX2RlY29kZXIiLCJQbGlzdFNlcnZpY2VEZWNvZGVyIiwiX3NvY2tldENsaWVudCIsInBpcGUiLCJTdHJlYW1Mb2dnZXIiLCJSRUNFSVZFIiwiX3NwbGl0dGVyIiwiTGVuZ3RoQmFzZWRTcGxpdHRlciIsInJlYWRhYmxlU3RyZWFtIiwibGl0dGxlRW5kaWFuIiwibGVuZ3RoRmllbGRPZmZzZXQiLCJsZW5ndGhGaWVsZExlbmd0aCIsImxlbmd0aEFkanVzdG1lbnQiLCJfZW5jb2RlciIsIlBsaXN0U2VydmljZUVuY29kZXIiLCJTRU5EIiwiV2ViSW5zcGVjdG9yRGVjb2RlciIsIldlYkluc3BlY3RvckVuY29kZXIiLCJzZW5kTWVzc2FnZSIsInJwY09iamVjdCIsIkVycm9yIiwidXRpbCIsImpzb25TdHJpbmdpZnkiLCJ3cml0ZSIsImxpc3Rlbk1lc3NhZ2UiLCJvbkRhdGEiLCJvbiIsImRhdGEiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvd2ViaW5zcGVjdG9yL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXZWJJbnNwZWN0b3JEZWNvZGVyIGZyb20gJy4vdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWRlY29kZXInO1xuaW1wb3J0IFdlYkluc3BlY3RvckVuY29kZXIgZnJvbSAnLi90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZW5jb2Rlcic7XG5pbXBvcnQgUGxpc3RTZXJ2aWNlRGVjb2RlciBmcm9tICcuLi9wbGlzdC1zZXJ2aWNlL3RyYW5zZm9ybWVyL3BsaXN0LXNlcnZpY2UtZGVjb2Rlcic7XG5pbXBvcnQgUGxpc3RTZXJ2aWNlRW5jb2RlciBmcm9tICcuLi9wbGlzdC1zZXJ2aWNlL3RyYW5zZm9ybWVyL3BsaXN0LXNlcnZpY2UtZW5jb2Rlcic7XG5pbXBvcnQgTGVuZ3RoQmFzZWRTcGxpdHRlciBmcm9tICcuLi91dGlsL3RyYW5zZm9ybWVyL2xlbmd0aC1iYXNlZC1zcGxpdHRlcic7XG5pbXBvcnQgU3RyZWFtTG9nZ2VyIGZyb20gJy4uL3V0aWwvdHJhbnNmb3JtZXIvc3RyZWFtLWxvZ2dlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgeyBNQiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBCYXNlU2VydmljZVNvY2tldCB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5cblxuY29uc3QgV0VCX0lOU1BFQ1RPUl9TRVJWSUNFX05BTUUgPSAnY29tLmFwcGxlLndlYmluc3BlY3Rvcic7XG5jb25zdCBNQVhfRlJBTUVfU0laRSA9IDIwICogTUI7XG5cbmNvbnN0IFBBUlRJQUxfTUVTU0FHRV9TVVBQT1JUX0RFUFJFQ0FUSU9OX1ZFUlNJT04gPSAxMTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBXZWJJbnNwZWN0b3JTZXJ2aWNlT3B0aW9uc1xuICpcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBtYWpvck9zVmVyc2lvbiBUaGUgbWFqb3IgdmVyc2lvbiBvZiB0aGUgb3MgdmVyc2lvblxuICogQHByb3BlcnR5IHtib29sZWFufSBpc1NpbXVsYXRvciBXaGV0aGVyIHRoZSBkZXZpY2UgaXMgYSBzaW11bGF0b3JcbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gc29ja2V0Q2h1bmtTaXplIFNpemUsIGluIGJ5dGVzIG9mIHRoZSBjaHVua3MgdG8gc2VuZCB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhbCBkZXZpY2UgKG9ubHkgaU9TIDExKykuIERlZmF1bHRzIHRvXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjM4NCBieXRlcyAodGhlIFRMU1NvY2tldCBtYXgpLlxuICogQHByb3BlcnR5IHtib29sZWFufSB2ZXJib3NlIFR1cm4gb24gbG9nZ2luZyBvZiBlYWNoIG1lc3NhZ2Ugc2VudCBvciByZWNlaXZlZC5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0cyB0byBmYWxzZVxuICogQHByb3BlcnR5IHtib29sZWFufSB2ZXJib3NlSGV4RHVtcCBUdXJuIG9uIGxvZ2dpbmcgb2YgX2FsbF8gY29tbXVuaWNhdGlvbiBhc1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXggZHVtcC4gRGVmYXVsdHMgdG8gZmFsc2VcbiAqIEBwcm9wZXJ0eSB7Kn0gc29ja2V0Q2xpZW50IFRoZSBzb2NrZXQgY2xpZW50IHdoZXJlIHRoZSBjb21tdW5pY2F0aW9uIHdpbGwgaGFwcGVuXG4gKiBAcHJvcGVydHkge251bWJlcn0gbWF4RnJhbWVMZW5ndGggWzIwICogMTAyNCAqIDEwMjRdIC0gVGhlIG1heGltdW0gc2l6ZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJ5dGVzIG9mIGEgc2luZ2xlIGRhdGEgZnJhbWVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZGV2aWNlIGNvbW11bmljYXRpb24gcHJvdG9jb2xcbiAqL1xuXG5jbGFzcyBXZWJJbnNwZWN0b3JTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2VTb2NrZXQge1xuICAvKipcbiAgICogVGhlIG1haW4gc2VydmljZSBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSB3ZWJpbnNwZWN0b3JkXG4gICAqXG4gICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yU2VydmljZU9wdGlvbnN9XG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgbWFqb3JPc1ZlcnNpb24sXG4gICAgICBpc1NpbXVsYXRvciA9IGZhbHNlLFxuICAgICAgc29ja2V0Q2h1bmtTaXplLFxuICAgICAgdmVyYm9zZSA9IGZhbHNlLFxuICAgICAgdmVyYm9zZUhleER1bXAgPSBmYWxzZSxcbiAgICAgIHNvY2tldENsaWVudCxcbiAgICAgIG1heEZyYW1lTGVuZ3RoID0gTUFYX0ZSQU1FX1NJWkUsXG4gICAgfSA9IG9wdHM7XG5cbiAgICBzdXBlcihzb2NrZXRDbGllbnQpO1xuXG4gICAgLy8gc2V0IHRoZSBsYXJnZXN0IGZyYWdtZW50IHNpemUgZm9yIHRoZSBzb2NrZXQsIGlmIHRoZSBvcHRpb24gaXMgdGhlcmVcbiAgICBpZiAoXy5pc0Z1bmN0aW9uKHNvY2tldENsaWVudC5zZXRNYXhTZW5kRnJhZ21lbnQpICYmICFfLmlzTmlsKHNvY2tldENodW5rU2l6ZSkgJiYgc29ja2V0Q2h1bmtTaXplID4gMCkge1xuICAgICAgaWYgKHNvY2tldENsaWVudC5zZXRNYXhTZW5kRnJhZ21lbnQoc29ja2V0Q2h1bmtTaXplKSkge1xuICAgICAgICBsb2cuZGVidWcoYE1heGltdW0gVExTIGZyYWdtZW50IHNpemUgc2V0IHRvICcke3NvY2tldENodW5rU2l6ZX0nYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBhbnl0aGluZyBvdmVyIHRoZSBfYWN0dWFsXyBtYXhpbXVtIHdpbGwgZmFpbCwgYW5kIHRoaW5ncyB3aWxsIHJlbWFpbiB0aGUgc2FtZVxuICAgICAgICBsb2cud2FybihgVW5hYmxlIHRvIHNldCBUTFMgZnJhZ21lbnQgc2l6ZSB0byAnJHtzb2NrZXRDaHVua1NpemV9J2ApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3ZlcmJvc2UgPSB2ZXJib3NlO1xuICAgIHRoaXMuX2lzU2ltdWxhdG9yID0gaXNTaW11bGF0b3I7XG4gICAgdGhpcy5fbWFqb3JPc1ZlcnNpb24gPSBtYWpvck9zVmVyc2lvbjtcblxuICAgIGlmICghaXNTaW11bGF0b3IgJiYgbWFqb3JPc1ZlcnNpb24gPCBQQVJUSUFMX01FU1NBR0VfU1VQUE9SVF9ERVBSRUNBVElPTl9WRVJTSU9OKSB7XG4gICAgICB0aGlzLl9pbml0aWFsaXplUGFydGlhbE1lc3NhZ2VTdXBwb3J0KHZlcmJvc2VIZXhEdW1wLCBtYXhGcmFtZUxlbmd0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVGdWxsTWVzc2FnZVN1cHBvcnQodmVyYm9zZUhleER1bXAsIG1heEZyYW1lTGVuZ3RoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW50aWFsaXplcyB0aGUgZGF0YSBmbG93IGZvciBpT1MgMTErLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZlcmJvc2UgLSB3aGV0aGVyIHRvIHByaW50IG91dCB0aGUgaGV4IGR1bXAgZm9yIGNvbW11bmljYXRpb25cbiAgICogQHBhcmFtIHtudW1iZXJ9IG1heEZyYW1lTGVuZ3RoIC0gVGhlIG1heGltdW0gc2l6ZSBpbiBieXRlcyBvZiBhIHNpbmdsZSBkYXRhIGZyYW1lXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBkZXZpY2UgY29tbXVuaWNhdGlvbiBwcm90b2NvbFxuICAgKi9cbiAgX2luaXRpYWxpemVGdWxsTWVzc2FnZVN1cHBvcnQgKHZlcmJvc2UsIG1heEZyYW1lTGVuZ3RoKSB7XG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBQbGlzdFNlcnZpY2VEZWNvZGVyKCk7XG4gICAgdGhpcy5fc29ja2V0Q2xpZW50XG4gICAgICAvLyBsb2cgZmlyc3QsIGluIGNhc2UgdGhlcmUgaXMgYSBwcm9ibGVtIGluIHByb2Nlc3NpbmdcbiAgICAgIC5waXBlKG5ldyBTdHJlYW1Mb2dnZXIoU3RyZWFtTG9nZ2VyLlJFQ0VJVkUsIHZlcmJvc2UpKVxuICAgICAgLnBpcGUodGhpcy5fc3BsaXR0ZXIgPSBuZXcgTGVuZ3RoQmFzZWRTcGxpdHRlcih7XG4gICAgICAgIHJlYWRhYmxlU3RyZWFtOiB0aGlzLl9zb2NrZXRDbGllbnQsXG4gICAgICAgIGxpdHRsZUVuZGlhbjogZmFsc2UsXG4gICAgICAgIG1heEZyYW1lTGVuZ3RoLFxuICAgICAgICBsZW5ndGhGaWVsZE9mZnNldDogMCxcbiAgICAgICAgbGVuZ3RoRmllbGRMZW5ndGg6IDQsXG4gICAgICAgIGxlbmd0aEFkanVzdG1lbnQ6IDQsXG4gICAgICB9KSlcbiAgICAgIC5waXBlKHRoaXMuX2RlY29kZXIpO1xuXG4gICAgdGhpcy5fZW5jb2RlciA9IG5ldyBQbGlzdFNlcnZpY2VFbmNvZGVyKCk7XG4gICAgdGhpcy5fZW5jb2RlclxuICAgICAgLnBpcGUobmV3IFN0cmVhbUxvZ2dlcihTdHJlYW1Mb2dnZXIuU0VORCwgdmVyYm9zZSkpXG4gICAgICAucGlwZSh0aGlzLl9zb2NrZXRDbGllbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGlhbGl6ZXMgdGhlIGRhdGEgZmxvdyBmb3IgaU9TIDwgMTEsIHdoZXJlIGRhdGEgaXMgc2VwYXJhdGVkIGludG8gcGFydGlhbFxuICAgKiBtZXNzYWdlcyBiZWZvcmUgc2VuZGluZy5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSB2ZXJib3NlIC0gd2hldGhlciB0byBwcmludCBvdXQgdGhlIGhleCBkdW1wIGZvciBjb21tdW5pY2F0aW9uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhGcmFtZUxlbmd0aCAtIFRoZSBtYXhpbXVtIHNpemUgaW4gYnl0ZXMgb2YgYSBzaW5nbGUgZGF0YSBmcmFtZVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZGV2aWNlIGNvbW11bmljYXRpb24gcHJvdG9jb2xcbiAgICovXG4gIF9pbml0aWFsaXplUGFydGlhbE1lc3NhZ2VTdXBwb3J0ICh2ZXJib3NlLCBtYXhGcmFtZUxlbmd0aCkge1xuICAgIC8vIDFNQiBhcyBidWZmZXIgZm9yIGJ1bGRpbmcgd2ViaW5zcGVjdG9yIGZ1bGwgbWVzc2FnZXMuIFdlIGNhbiBpbmNyZWFzZSB0aGUgdmFsdWUgaWYgbW9yZSBidWZmZXIgaXMgbmVlZGVkXG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBXZWJJbnNwZWN0b3JEZWNvZGVyKE1CKTtcbiAgICB0aGlzLl9zb2NrZXRDbGllbnRcbiAgICAgIC8vIGxvZyBmaXJzdCwgaW4gY2FzZSB0aGVyZSBpcyBhIHByb2JsZW0gaW4gcHJvY2Vzc2luZ1xuICAgICAgLnBpcGUobmV3IFN0cmVhbUxvZ2dlcihTdHJlYW1Mb2dnZXIuUkVDRUlWRSwgdmVyYm9zZSkpXG4gICAgICAucGlwZSh0aGlzLl9zcGxpdHRlciA9IG5ldyBMZW5ndGhCYXNlZFNwbGl0dGVyKHtcbiAgICAgICAgcmVhZGFibGVTdHJlYW06IHRoaXMuX3NvY2tldENsaWVudCxcbiAgICAgICAgbGl0dGxlRW5kaWFuOiBmYWxzZSxcbiAgICAgICAgbWF4RnJhbWVMZW5ndGgsXG4gICAgICAgIGxlbmd0aEZpZWxkT2Zmc2V0OiAwLFxuICAgICAgICBsZW5ndGhGaWVsZExlbmd0aDogNCxcbiAgICAgICAgbGVuZ3RoQWRqdXN0bWVudDogNCxcbiAgICAgIH0pKVxuICAgICAgLnBpcGUobmV3IFBsaXN0U2VydmljZURlY29kZXIoKSlcbiAgICAgIC5waXBlKHRoaXMuX2RlY29kZXIpO1xuXG4gICAgdGhpcy5fZW5jb2RlciA9IG5ldyBXZWJJbnNwZWN0b3JFbmNvZGVyKCk7XG4gICAgdGhpcy5fZW5jb2RlclxuICAgICAgLnBpcGUobmV3IFBsaXN0U2VydmljZUVuY29kZXIoKSlcbiAgICAgIC5waXBlKG5ldyBTdHJlYW1Mb2dnZXIoU3RyZWFtTG9nZ2VyLlNFTkQsIHZlcmJvc2UpKVxuICAgICAgLnBpcGUodGhpcy5fc29ja2V0Q2xpZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kcyBhbiBvYmplY3QgdG8gdGhlIHdlYmluc3BlY3RvcmQgc29ja2V0XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBycGNPYmplY3QgVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgc2VudFxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgb2JqZWN0IGlzIG51bGwgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBzZW5kTWVzc2FnZSAocnBjT2JqZWN0KSB7XG4gICAgaWYgKF8uaXNOaWwocnBjT2JqZWN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc2VuZCBhIG51bGwgb2JqZWN0Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHtcbiAgICAgIGxvZy5kZWJ1ZygnU2VuZGluZyBtZXNzYWdlIHRvIFdlYiBJbnNwZWN0b3I6Jyk7XG4gICAgICBsb2cuZGVidWcodXRpbC5qc29uU3RyaW5naWZ5KHJwY09iamVjdCkpO1xuICAgIH1cblxuICAgIHRoaXMuX2VuY29kZXIud3JpdGUocnBjT2JqZWN0KTtcblxuICAgIC8vIHdyaXRlIGFuIGVtcHR5IG1lc3NhZ2UsIHdoaWNoIG9uIHJlYWwgZGV2aWNlcyBlbnN1cmVzIHRoZSBhY3R1YWwgbWVzc2FnZVxuICAgIC8vIGdldHMgc2VudCB0byB0aGUgZGV2aWNlLiB3aXRob3V0IHRoaXMgaXQgd2lsbCBwZXJpb2RpY2FsbHkgaGFuZyB3aXRoXG4gICAgLy8gbm90aGluZyBzZW50XG4gICAgLy8gaG93ZXZlciwgdGhpcyBjYXVzZXMgd2ViaW5zcGVjdG9yZCB0byBjcmFzaCBvbiBkZXZpY2VzIHJ1bm5pbmcgaU9TIDEwXG4gICAgaWYgKCF0aGlzLl9pc1NpbXVsYXRvciAmJiB0aGlzLl9tYWpvck9zVmVyc2lvbiA+PSBQQVJUSUFMX01FU1NBR0VfU1VQUE9SVF9ERVBSRUNBVElPTl9WRVJTSU9OKSB7XG4gICAgICB0aGlzLl9lbmNvZGVyLndyaXRlKCcgJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGNhbGxlZCBkdXJpbmcgbWVzc2FnZSBsaXN0ZW5pbmdcbiAgICogQG5hbWUgTWVzc2FnZUNhbGxiYWNrXG4gICAqIEBmdW5jdGlvblxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBycGMgb2JqZWN0IHRoYXQgaXMgc2VudCBmcm9tIHRoZSB3ZWJpbnNwZWN0b3JkXG4gICovXG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBtZXNzYWdlcyBjb21pbmcgZnJvbSB3ZWJpbnNwZWN0b3JkXG4gICAqIEBwYXJhbSB7TWVzc2FnZUNhbGxiYWNrfSBjYWxsYmFja1xuICAgKi9cbiAgbGlzdGVuTWVzc2FnZSAob25EYXRhKSB7XG4gICAgdGhpcy5fZGVjb2Rlci5vbignZGF0YScsIChkYXRhKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdmVyYm9zZSkge1xuICAgICAgICBsb2cuZGVidWcoJ1JlY2VpdmVkIG1lc3NhZ2UgZnJvbSBXZWIgSW5zcGVjdG9yOicpO1xuICAgICAgICBsb2cuZGVidWcodXRpbC5qc29uU3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgIH1cbiAgICAgIG9uRGF0YShkYXRhKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgeyBXZWJJbnNwZWN0b3JTZXJ2aWNlLCBXRUJfSU5TUEVDVE9SX1NFUlZJQ0VfTkFNRSB9O1xuZXhwb3J0IGRlZmF1bHQgV2ViSW5zcGVjdG9yU2VydmljZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSwwQkFBMEIsR0FBRyx3QkFBbkM7O0FBQ0EsTUFBTUMsY0FBYyxHQUFHLEtBQUtDLGFBQTVCO0FBRUEsTUFBTUMsMkNBQTJDLEdBQUcsRUFBcEQ7O0FBb0JBLE1BQU1DLG1CQUFOLFNBQWtDQyw4QkFBbEMsQ0FBb0Q7RUFNbERDLFdBQVcsQ0FBRUMsSUFBSSxHQUFHLEVBQVQsRUFBYTtJQUN0QixNQUFNO01BQ0pDLGNBREk7TUFFSkMsV0FBVyxHQUFHLEtBRlY7TUFHSkMsZUFISTtNQUlKQyxPQUFPLEdBQUcsS0FKTjtNQUtKQyxjQUFjLEdBQUcsS0FMYjtNQU1KQyxZQU5JO01BT0pDLGNBQWMsR0FBR2I7SUFQYixJQVFGTSxJQVJKO0lBVUEsTUFBTU0sWUFBTjs7SUFHQSxJQUFJRSxlQUFBLENBQUVDLFVBQUYsQ0FBYUgsWUFBWSxDQUFDSSxrQkFBMUIsS0FBaUQsQ0FBQ0YsZUFBQSxDQUFFRyxLQUFGLENBQVFSLGVBQVIsQ0FBbEQsSUFBOEVBLGVBQWUsR0FBRyxDQUFwRyxFQUF1RztNQUNyRyxJQUFJRyxZQUFZLENBQUNJLGtCQUFiLENBQWdDUCxlQUFoQyxDQUFKLEVBQXNEO1FBQ3BEUyxlQUFBLENBQUlDLEtBQUosQ0FBVyxxQ0FBb0NWLGVBQWdCLEdBQS9EO01BQ0QsQ0FGRCxNQUVPO1FBRUxTLGVBQUEsQ0FBSUUsSUFBSixDQUFVLHVDQUFzQ1gsZUFBZ0IsR0FBaEU7TUFDRDtJQUNGOztJQUVELEtBQUtZLFFBQUwsR0FBZ0JYLE9BQWhCO0lBQ0EsS0FBS1ksWUFBTCxHQUFvQmQsV0FBcEI7SUFDQSxLQUFLZSxlQUFMLEdBQXVCaEIsY0FBdkI7O0lBRUEsSUFBSSxDQUFDQyxXQUFELElBQWdCRCxjQUFjLEdBQUdMLDJDQUFyQyxFQUFrRjtNQUNoRixLQUFLc0IsZ0NBQUwsQ0FBc0NiLGNBQXRDLEVBQXNERSxjQUF0RDtJQUNELENBRkQsTUFFTztNQUNMLEtBQUtZLDZCQUFMLENBQW1DZCxjQUFuQyxFQUFtREUsY0FBbkQ7SUFDRDtFQUNGOztFQVNEWSw2QkFBNkIsQ0FBRWYsT0FBRixFQUFXRyxjQUFYLEVBQTJCO0lBQ3RELEtBQUthLFFBQUwsR0FBZ0IsSUFBSUMsNEJBQUosRUFBaEI7O0lBQ0EsS0FBS0MsYUFBTCxDQUVHQyxJQUZILENBRVEsSUFBSUMscUJBQUosQ0FBaUJBLHFCQUFBLENBQWFDLE9BQTlCLEVBQXVDckIsT0FBdkMsQ0FGUixFQUdHbUIsSUFISCxDQUdRLEtBQUtHLFNBQUwsR0FBaUIsSUFBSUMsNEJBQUosQ0FBd0I7TUFDN0NDLGNBQWMsRUFBRSxLQUFLTixhQUR3QjtNQUU3Q08sWUFBWSxFQUFFLEtBRitCO01BRzdDdEIsY0FINkM7TUFJN0N1QixpQkFBaUIsRUFBRSxDQUowQjtNQUs3Q0MsaUJBQWlCLEVBQUUsQ0FMMEI7TUFNN0NDLGdCQUFnQixFQUFFO0lBTjJCLENBQXhCLENBSHpCLEVBV0dULElBWEgsQ0FXUSxLQUFLSCxRQVhiOztJQWFBLEtBQUthLFFBQUwsR0FBZ0IsSUFBSUMsNEJBQUosRUFBaEI7O0lBQ0EsS0FBS0QsUUFBTCxDQUNHVixJQURILENBQ1EsSUFBSUMscUJBQUosQ0FBaUJBLHFCQUFBLENBQWFXLElBQTlCLEVBQW9DL0IsT0FBcEMsQ0FEUixFQUVHbUIsSUFGSCxDQUVRLEtBQUtELGFBRmI7RUFHRDs7RUFVREosZ0NBQWdDLENBQUVkLE9BQUYsRUFBV0csY0FBWCxFQUEyQjtJQUV6RCxLQUFLYSxRQUFMLEdBQWdCLElBQUlnQiw0QkFBSixDQUF3QnpDLGFBQXhCLENBQWhCOztJQUNBLEtBQUsyQixhQUFMLENBRUdDLElBRkgsQ0FFUSxJQUFJQyxxQkFBSixDQUFpQkEscUJBQUEsQ0FBYUMsT0FBOUIsRUFBdUNyQixPQUF2QyxDQUZSLEVBR0dtQixJQUhILENBR1EsS0FBS0csU0FBTCxHQUFpQixJQUFJQyw0QkFBSixDQUF3QjtNQUM3Q0MsY0FBYyxFQUFFLEtBQUtOLGFBRHdCO01BRTdDTyxZQUFZLEVBQUUsS0FGK0I7TUFHN0N0QixjQUg2QztNQUk3Q3VCLGlCQUFpQixFQUFFLENBSjBCO01BSzdDQyxpQkFBaUIsRUFBRSxDQUwwQjtNQU03Q0MsZ0JBQWdCLEVBQUU7SUFOMkIsQ0FBeEIsQ0FIekIsRUFXR1QsSUFYSCxDQVdRLElBQUlGLDRCQUFKLEVBWFIsRUFZR0UsSUFaSCxDQVlRLEtBQUtILFFBWmI7O0lBY0EsS0FBS2EsUUFBTCxHQUFnQixJQUFJSSw0QkFBSixFQUFoQjs7SUFDQSxLQUFLSixRQUFMLENBQ0dWLElBREgsQ0FDUSxJQUFJVyw0QkFBSixFQURSLEVBRUdYLElBRkgsQ0FFUSxJQUFJQyxxQkFBSixDQUFpQkEscUJBQUEsQ0FBYVcsSUFBOUIsRUFBb0MvQixPQUFwQyxDQUZSLEVBR0dtQixJQUhILENBR1EsS0FBS0QsYUFIYjtFQUlEOztFQU9EZ0IsV0FBVyxDQUFFQyxTQUFGLEVBQWE7SUFDdEIsSUFBSS9CLGVBQUEsQ0FBRUcsS0FBRixDQUFRNEIsU0FBUixDQUFKLEVBQXdCO01BQ3RCLE1BQU0sSUFBSUMsS0FBSixDQUFVLDJCQUFWLENBQU47SUFDRDs7SUFFRCxJQUFJLEtBQUt6QixRQUFULEVBQW1CO01BQ2pCSCxlQUFBLENBQUlDLEtBQUosQ0FBVSxtQ0FBVjs7TUFDQUQsZUFBQSxDQUFJQyxLQUFKLENBQVU0QixhQUFBLENBQUtDLGFBQUwsQ0FBbUJILFNBQW5CLENBQVY7SUFDRDs7SUFFRCxLQUFLTixRQUFMLENBQWNVLEtBQWQsQ0FBb0JKLFNBQXBCOztJQU1BLElBQUksQ0FBQyxLQUFLdkIsWUFBTixJQUFzQixLQUFLQyxlQUFMLElBQXdCckIsMkNBQWxELEVBQStGO01BQzdGLEtBQUtxQyxRQUFMLENBQWNVLEtBQWQsQ0FBb0IsR0FBcEI7SUFDRDtFQUNGOztFQVlEQyxhQUFhLENBQUVDLE1BQUYsRUFBVTtJQUNyQixLQUFLekIsUUFBTCxDQUFjMEIsRUFBZCxDQUFpQixNQUFqQixFQUEwQkMsSUFBRCxJQUFVO01BQ2pDLElBQUksS0FBS2hDLFFBQVQsRUFBbUI7UUFDakJILGVBQUEsQ0FBSUMsS0FBSixDQUFVLHNDQUFWOztRQUNBRCxlQUFBLENBQUlDLEtBQUosQ0FBVTRCLGFBQUEsQ0FBS0MsYUFBTCxDQUFtQkssSUFBbkIsQ0FBVjtNQUNEOztNQUNERixNQUFNLENBQUNFLElBQUQsQ0FBTjtJQUNELENBTkQ7RUFPRDs7QUFoSmlEOzs7ZUFvSnJDbEQsbUIifQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZGVjb2Rlci5qcyIsIm5hbWVzIjpbIldlYkluc3BlY3RvckRlY29kZXIiLCJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsIm1heExlbmd0aCIsIm9iamVjdE1vZGUiLCJfZnJhbWVCdWZmZXJJbmRleCIsIl9mcmFtZUJ1ZmZlciIsIkJ1ZmZlciIsImFsbG9jVW5zYWZlU2xvdyIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJfZGVjb2RlIiwiV0lSRmluYWxNZXNzYWdlS2V5IiwiYnVmZmVyIiwiX3JlYWRCeXRlcyIsImxlbmd0aCIsInByZWYiLCJwbGlzdCIsInBhcnNlUGxpc3QiLCJzbGljZSIsInB1c2giLCJfcmVzZXRCdWZmZXJzIiwiV0lSUGFydGlhbE1lc3NhZ2VLZXkiLCJzcmMiLCJzcmNJbmRleCIsInRhcmdldCIsInRhcmdldEluZGV4IiwibkJ5dGVzVG9CZVJlYWQiLCJhdmFpbGFibGVCeXRlcyIsIk1hdGgiLCJtaW4iLCJjb3B5Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL3dlYmluc3BlY3Rvci90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZGVjb2Rlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgeyBwbGlzdCB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5cblxuY2xhc3MgV2ViSW5zcGVjdG9yRGVjb2RlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvciAobWF4TGVuZ3RoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggPSAwO1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlU2xvdyhtYXhMZW5ndGgpO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIHRoaXMuX2RlY29kZShkYXRhKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9kZWNvZGUgKGRhdGEpIHtcbiAgICBpZiAoZGF0YS5XSVJGaW5hbE1lc3NhZ2VLZXkpIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IGRhdGEuV0lSRmluYWxNZXNzYWdlS2V5O1xuICAgICAgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCArPSB0aGlzLl9yZWFkQnl0ZXMoYnVmZmVyLCAwLCB0aGlzLl9mcmFtZUJ1ZmZlciwgdGhpcy5fZnJhbWVCdWZmZXJJbmRleCwgYnVmZmVyLmxlbmd0aCk7XG4gICAgICBjb25zdCBwcmVmID0gcGxpc3QucGFyc2VQbGlzdCh0aGlzLl9mcmFtZUJ1ZmZlci5zbGljZSgwLCB0aGlzLl9mcmFtZUJ1ZmZlckluZGV4KSk7XG4gICAgICB0aGlzLnB1c2gocHJlZik7XG4gICAgICB0aGlzLl9yZXNldEJ1ZmZlcnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYnVmZmVyID0gZGF0YS5XSVJQYXJ0aWFsTWVzc2FnZUtleTtcbiAgICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggKz0gdGhpcy5fcmVhZEJ5dGVzKGJ1ZmZlciwgMCwgdGhpcy5fZnJhbWVCdWZmZXIsIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXgsIGJ1ZmZlci5sZW5ndGgpO1xuICAgIH1cbiAgfVxuXG4gIF9yZWFkQnl0ZXMgKHNyYywgc3JjSW5kZXgsIHRhcmdldCwgdGFyZ2V0SW5kZXgsIG5CeXRlc1RvQmVSZWFkKSB7XG4gICAgbGV0IGF2YWlsYWJsZUJ5dGVzID0gTWF0aC5taW4obkJ5dGVzVG9CZVJlYWQsIHNyYy5sZW5ndGggLSBzcmNJbmRleCk7XG4gICAgc3JjLmNvcHkodGFyZ2V0LCB0YXJnZXRJbmRleCwgc3JjSW5kZXgsIHNyY0luZGV4ICsgYXZhaWxhYmxlQnl0ZXMpO1xuICAgIHJldHVybiBhdmFpbGFibGVCeXRlcztcbiAgfVxuXG4gIF9yZXNldEJ1ZmZlcnMgKCkge1xuICAgIHRoaXMuX2ZyYW1lQnVmZmVySW5kZXggPSAwO1xuICB9XG59XG5cbmV4cG9ydCB7IFdlYkluc3BlY3RvckRlY29kZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFdlYkluc3BlY3RvckRlY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0EsTUFBTUEsbUJBQU4sU0FBa0NDLGdCQUFPQyxTQUF6QyxDQUFtRDtFQUNqREMsV0FBVyxDQUFFQyxTQUFGLEVBQWE7SUFDdEIsTUFBTTtNQUFFQyxVQUFVLEVBQUU7SUFBZCxDQUFOO0lBQ0EsS0FBS0MsaUJBQUwsR0FBeUIsQ0FBekI7SUFDQSxLQUFLQyxZQUFMLEdBQW9CQyxNQUFNLENBQUNDLGVBQVAsQ0FBdUJMLFNBQXZCLENBQXBCO0VBQ0Q7O0VBRURNLFVBQVUsQ0FBRUMsSUFBRixFQUFRQyxRQUFSLEVBQWtCQyxNQUFsQixFQUEwQjtJQUNsQyxLQUFLQyxPQUFMLENBQWFILElBQWI7O0lBQ0FFLE1BQU07RUFDUDs7RUFFREMsT0FBTyxDQUFFSCxJQUFGLEVBQVE7SUFDYixJQUFJQSxJQUFJLENBQUNJLGtCQUFULEVBQTZCO01BQzNCLE1BQU1DLE1BQU0sR0FBR0wsSUFBSSxDQUFDSSxrQkFBcEI7TUFDQSxLQUFLVCxpQkFBTCxJQUEwQixLQUFLVyxVQUFMLENBQWdCRCxNQUFoQixFQUF3QixDQUF4QixFQUEyQixLQUFLVCxZQUFoQyxFQUE4QyxLQUFLRCxpQkFBbkQsRUFBc0VVLE1BQU0sQ0FBQ0UsTUFBN0UsQ0FBMUI7O01BQ0EsTUFBTUMsSUFBSSxHQUFHQyxlQUFNQyxVQUFOLENBQWlCLEtBQUtkLFlBQUwsQ0FBa0JlLEtBQWxCLENBQXdCLENBQXhCLEVBQTJCLEtBQUtoQixpQkFBaEMsQ0FBakIsQ0FBYjs7TUFDQSxLQUFLaUIsSUFBTCxDQUFVSixJQUFWOztNQUNBLEtBQUtLLGFBQUw7SUFDRCxDQU5ELE1BTU87TUFDTCxNQUFNUixNQUFNLEdBQUdMLElBQUksQ0FBQ2Msb0JBQXBCO01BQ0EsS0FBS25CLGlCQUFMLElBQTBCLEtBQUtXLFVBQUwsQ0FBZ0JELE1BQWhCLEVBQXdCLENBQXhCLEVBQTJCLEtBQUtULFlBQWhDLEVBQThDLEtBQUtELGlCQUFuRCxFQUFzRVUsTUFBTSxDQUFDRSxNQUE3RSxDQUExQjtJQUNEO0VBQ0Y7O0VBRURELFVBQVUsQ0FBRVMsR0FBRixFQUFPQyxRQUFQLEVBQWlCQyxNQUFqQixFQUF5QkMsV0FBekIsRUFBc0NDLGNBQXRDLEVBQXNEO0lBQzlELElBQUlDLGNBQWMsR0FBR0MsSUFBSSxDQUFDQyxHQUFMLENBQVNILGNBQVQsRUFBeUJKLEdBQUcsQ0FBQ1IsTUFBSixHQUFhUyxRQUF0QyxDQUFyQjtJQUNBRCxHQUFHLENBQUNRLElBQUosQ0FBU04sTUFBVCxFQUFpQkMsV0FBakIsRUFBOEJGLFFBQTlCLEVBQXdDQSxRQUFRLEdBQUdJLGNBQW5EO0lBQ0EsT0FBT0EsY0FBUDtFQUNEOztFQUVEUCxhQUFhLEdBQUk7SUFDZixLQUFLbEIsaUJBQUwsR0FBeUIsQ0FBekI7RUFDRDs7QUFqQ2dEOzs7ZUFxQ3BDTixtQiJ9
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZW5jb2Rlci5qcyIsIm5hbWVzIjpbIldFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFIiwiV2ViSW5zcGVjdG9yRW5jb2RlciIsIlN0cmVhbSIsIlRyYW5zZm9ybSIsImNvbnN0cnVjdG9yIiwib2JqZWN0TW9kZSIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJwYXlsb2FkQnVmZmVyIiwicGxpc3QiLCJjcmVhdGVQbGlzdCIsImkiLCJsZW5ndGgiLCJfZW5jb2RlIiwicG9zIiwibWVzc2FnZUxlbmd0aCIsIk1hdGgiLCJtaW4iLCJwdXNoIiwiV0lSRmluYWxNZXNzYWdlS2V5Iiwic2xpY2UiLCJXSVJQYXJ0aWFsTWVzc2FnZUtleSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi93ZWJpbnNwZWN0b3IvdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWVuY29kZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuaW1wb3J0IHsgcGxpc3QgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuXG5jb25zdCBXRUJJTlNQRUNUT1JfUEFSVElBTF9QQUNLRVRfQ0hVTktfU0laRSA9IDgwOTY7XG5cbmNsYXNzIFdlYkluc3BlY3RvckVuY29kZXIgZXh0ZW5kcyBTdHJlYW0uVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIGxldCBwYXlsb2FkQnVmZmVyID0gcGxpc3QuY3JlYXRlUGxpc3QoZGF0YSwgdHJ1ZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXlsb2FkQnVmZmVyLmxlbmd0aDsgaSArPSB0aGlzLl9lbmNvZGUocGF5bG9hZEJ1ZmZlciwgaSkpIHt9XG4gICAgb25EYXRhKCk7XG4gIH1cblxuICBfZW5jb2RlIChkYXRhLCBwb3MpIHtcbiAgICBjb25zdCBtZXNzYWdlTGVuZ3RoID0gTWF0aC5taW4oZGF0YS5sZW5ndGggLSBwb3MsIFdFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFKTtcbiAgICBpZiAobWVzc2FnZUxlbmd0aCA8IFdFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFKSB7XG4gICAgICB0aGlzLnB1c2goe1dJUkZpbmFsTWVzc2FnZUtleTogZGF0YS5zbGljZShwb3MsIG1lc3NhZ2VMZW5ndGggKyBwb3MpfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaCh7V0lSUGFydGlhbE1lc3NhZ2VLZXk6IGRhdGEuc2xpY2UocG9zLCBtZXNzYWdlTGVuZ3RoICsgcG9zKX0pO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZUxlbmd0aDtcbiAgfVxuXG59XG5cbmV4cG9ydCB7IFdlYkluc3BlY3RvckVuY29kZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFdlYkluc3BlY3RvckVuY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUEsTUFBTUEsc0NBQXNDLEdBQUcsSUFBL0M7O0FBRUEsTUFBTUMsbUJBQU4sU0FBa0NDLGdCQUFPQyxTQUF6QyxDQUFtRDtFQUVqREMsV0FBVyxHQUFJO0lBQ2IsTUFBTTtNQUFFQyxVQUFVLEVBQUU7SUFBZCxDQUFOO0VBQ0Q7O0VBRURDLFVBQVUsQ0FBRUMsSUFBRixFQUFRQyxRQUFSLEVBQWtCQyxNQUFsQixFQUEwQjtJQUNsQyxJQUFJQyxhQUFhLEdBQUdDLGVBQU1DLFdBQU4sQ0FBa0JMLElBQWxCLEVBQXdCLElBQXhCLENBQXBCOztJQUNBLEtBQUssSUFBSU0sQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0gsYUFBYSxDQUFDSSxNQUFsQyxFQUEwQ0QsQ0FBQyxJQUFJLEtBQUtFLE9BQUwsQ0FBYUwsYUFBYixFQUE0QkcsQ0FBNUIsQ0FBL0MsRUFBK0UsQ0FBRTs7SUFDakZKLE1BQU07RUFDUDs7RUFFRE0sT0FBTyxDQUFFUixJQUFGLEVBQVFTLEdBQVIsRUFBYTtJQUNsQixNQUFNQyxhQUFhLEdBQUdDLElBQUksQ0FBQ0MsR0FBTCxDQUFTWixJQUFJLENBQUNPLE1BQUwsR0FBY0UsR0FBdkIsRUFBNEJoQixzQ0FBNUIsQ0FBdEI7O0lBQ0EsSUFBSWlCLGFBQWEsR0FBR2pCLHNDQUFwQixFQUE0RDtNQUMxRCxLQUFLb0IsSUFBTCxDQUFVO1FBQUNDLGtCQUFrQixFQUFFZCxJQUFJLENBQUNlLEtBQUwsQ0FBV04sR0FBWCxFQUFnQkMsYUFBYSxHQUFHRCxHQUFoQztNQUFyQixDQUFWO0lBQ0QsQ0FGRCxNQUVPO01BQ0wsS0FBS0ksSUFBTCxDQUFVO1FBQUNHLG9CQUFvQixFQUFFaEIsSUFBSSxDQUFDZSxLQUFMLENBQVdOLEdBQVgsRUFBZ0JDLGFBQWEsR0FBR0QsR0FBaEM7TUFBdkIsQ0FBVjtJQUNEOztJQUNELE9BQU9DLGFBQVA7RUFDRDs7QUFwQmdEOzs7ZUF5QnBDaEIsbUIifQ==
56
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3dlYmluc3BlY3Rvci90cmFuc2Zvcm1lci93ZWJpbnNwZWN0b3ItZW5jb2Rlci5qcyIsIm5hbWVzIjpbIldFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFIiwiV2ViSW5zcGVjdG9yRW5jb2RlciIsIlN0cmVhbSIsIlRyYW5zZm9ybSIsImNvbnN0cnVjdG9yIiwib2JqZWN0TW9kZSIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJwYXlsb2FkQnVmZmVyIiwicGxpc3QiLCJjcmVhdGVQbGlzdCIsImkiLCJsZW5ndGgiLCJfZW5jb2RlIiwicG9zIiwibWVzc2FnZUxlbmd0aCIsIk1hdGgiLCJtaW4iLCJwdXNoIiwiV0lSRmluYWxNZXNzYWdlS2V5Iiwic2xpY2UiLCJXSVJQYXJ0aWFsTWVzc2FnZUtleSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi93ZWJpbnNwZWN0b3IvdHJhbnNmb3JtZXIvd2ViaW5zcGVjdG9yLWVuY29kZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuaW1wb3J0IHsgcGxpc3QgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuXG5jb25zdCBXRUJJTlNQRUNUT1JfUEFSVElBTF9QQUNLRVRfQ0hVTktfU0laRSA9IDgwOTY7XG5cbmNsYXNzIFdlYkluc3BlY3RvckVuY29kZXIgZXh0ZW5kcyBTdHJlYW0uVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIGxldCBwYXlsb2FkQnVmZmVyID0gcGxpc3QuY3JlYXRlUGxpc3QoZGF0YSwgdHJ1ZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXlsb2FkQnVmZmVyLmxlbmd0aDsgaSArPSB0aGlzLl9lbmNvZGUocGF5bG9hZEJ1ZmZlciwgaSkpIHt9XG4gICAgb25EYXRhKCk7XG4gIH1cblxuICBfZW5jb2RlIChkYXRhLCBwb3MpIHtcbiAgICBjb25zdCBtZXNzYWdlTGVuZ3RoID0gTWF0aC5taW4oZGF0YS5sZW5ndGggLSBwb3MsIFdFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFKTtcbiAgICBpZiAobWVzc2FnZUxlbmd0aCA8IFdFQklOU1BFQ1RPUl9QQVJUSUFMX1BBQ0tFVF9DSFVOS19TSVpFKSB7XG4gICAgICB0aGlzLnB1c2goe1dJUkZpbmFsTWVzc2FnZUtleTogZGF0YS5zbGljZShwb3MsIG1lc3NhZ2VMZW5ndGggKyBwb3MpfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaCh7V0lSUGFydGlhbE1lc3NhZ2VLZXk6IGRhdGEuc2xpY2UocG9zLCBtZXNzYWdlTGVuZ3RoICsgcG9zKX0pO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZUxlbmd0aDtcbiAgfVxuXG59XG5cbmV4cG9ydCB7IFdlYkluc3BlY3RvckVuY29kZXIgfTtcbmV4cG9ydCBkZWZhdWx0IFdlYkluc3BlY3RvckVuY29kZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUEsTUFBTUEsc0NBQXNDLEdBQUcsSUFBL0M7O0FBRUEsTUFBTUMsbUJBQU4sU0FBa0NDLGVBQUEsQ0FBT0MsU0FBekMsQ0FBbUQ7RUFFakRDLFdBQVcsR0FBSTtJQUNiLE1BQU07TUFBRUMsVUFBVSxFQUFFO0lBQWQsQ0FBTjtFQUNEOztFQUVEQyxVQUFVLENBQUVDLElBQUYsRUFBUUMsUUFBUixFQUFrQkMsTUFBbEIsRUFBMEI7SUFDbEMsSUFBSUMsYUFBYSxHQUFHQyxjQUFBLENBQU1DLFdBQU4sQ0FBa0JMLElBQWxCLEVBQXdCLElBQXhCLENBQXBCOztJQUNBLEtBQUssSUFBSU0sQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0gsYUFBYSxDQUFDSSxNQUFsQyxFQUEwQ0QsQ0FBQyxJQUFJLEtBQUtFLE9BQUwsQ0FBYUwsYUFBYixFQUE0QkcsQ0FBNUIsQ0FBL0MsRUFBK0UsQ0FBRTs7SUFDakZKLE1BQU07RUFDUDs7RUFFRE0sT0FBTyxDQUFFUixJQUFGLEVBQVFTLEdBQVIsRUFBYTtJQUNsQixNQUFNQyxhQUFhLEdBQUdDLElBQUksQ0FBQ0MsR0FBTCxDQUFTWixJQUFJLENBQUNPLE1BQUwsR0FBY0UsR0FBdkIsRUFBNEJoQixzQ0FBNUIsQ0FBdEI7O0lBQ0EsSUFBSWlCLGFBQWEsR0FBR2pCLHNDQUFwQixFQUE0RDtNQUMxRCxLQUFLb0IsSUFBTCxDQUFVO1FBQUNDLGtCQUFrQixFQUFFZCxJQUFJLENBQUNlLEtBQUwsQ0FBV04sR0FBWCxFQUFnQkMsYUFBYSxHQUFHRCxHQUFoQztNQUFyQixDQUFWO0lBQ0QsQ0FGRCxNQUVPO01BQ0wsS0FBS0ksSUFBTCxDQUFVO1FBQUNHLG9CQUFvQixFQUFFaEIsSUFBSSxDQUFDZSxLQUFMLENBQVdOLEdBQVgsRUFBZ0JDLGFBQWEsR0FBR0QsR0FBaEM7TUFBdkIsQ0FBVjtJQUNEOztJQUNELE9BQU9DLGFBQVA7RUFDRDs7QUFwQmdEOzs7ZUF5QnBDaEIsbUIifQ==