appium-android-driver 5.2.9 → 5.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -38
- package/build/index.js +2 -4
- package/build/lib/android-helpers.js +78 -8
- package/build/lib/bootstrap.js +24 -7
- package/build/lib/commands/actions.js +2 -4
- package/build/lib/commands/alert.js +2 -4
- package/build/lib/commands/app-management.js +2 -4
- package/build/lib/commands/context.js +2 -4
- package/build/lib/commands/coverage.js +2 -4
- package/build/lib/commands/element.js +2 -4
- package/build/lib/commands/emu-console.js +2 -4
- package/build/lib/commands/execute.js +2 -4
- package/build/lib/commands/file-actions.js +2 -4
- package/build/lib/commands/find.js +2 -4
- package/build/lib/commands/general.js +2 -4
- package/build/lib/commands/ime.js +2 -4
- package/build/lib/commands/index.js +2 -4
- package/build/lib/commands/intent.js +2 -4
- package/build/lib/commands/log.js +2 -4
- package/build/lib/commands/media-projection.js +2 -4
- package/build/lib/commands/network.js +2 -4
- package/build/lib/commands/performance.js +2 -4
- package/build/lib/commands/recordscreen.js +2 -4
- package/build/lib/commands/shell.js +2 -4
- package/build/lib/commands/streamscreen.js +2 -4
- package/build/lib/commands/system-bars.js +2 -4
- package/build/lib/commands/touch.js +2 -4
- package/build/lib/desired-caps.js +2 -4
- package/build/lib/driver.js +2 -4
- package/build/lib/logger.js +2 -4
- package/build/lib/uiautomator.js +2 -4
- package/build/lib/unlock-helpers.js +2 -4
- package/build/lib/webview-helpers.js +3 -5
- package/lib/android-helpers.js +65 -4
- package/lib/bootstrap.js +25 -3
- package/lib/webview-helpers.js +1 -1
- package/package.json +45 -26
|
@@ -417,7 +417,5 @@ commands.mobileStopScreenStreaming = async function mobileStopScreenStreaming()
|
|
|
417
417
|
};
|
|
418
418
|
|
|
419
419
|
var _default = commands;
|
|
420
|
-
exports.default = _default;
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbW1hbmRzL3N0cmVhbXNjcmVlbi5qcyIsIm5hbWVzIjpbImNvbW1hbmRzIiwiUkVDT1JESU5HX0lOVEVSVkFMX1NFQyIsIlNUUkVBTUlOR19TVEFSVFVQX1RJTUVPVVRfTVMiLCJHU1RSRUFNRVJfQklOQVJZIiwic3lzdGVtIiwiaXNXaW5kb3dzIiwiR1NUX0lOU1BFQ1RfQklOQVJZIiwiUkVRVUlSRURfR1NUX1BMVUdJTlMiLCJhdmRlY19oMjY0IiwiaDI2NHBhcnNlIiwianBlZ2VuYyIsInRjcHNlcnZlcnNpbmsiLCJtdWx0aXBhcnRtdXgiLCJTQ1JFRU5SRUNPUkRfQklOQVJZIiwiR1NUX1RVVE9SSUFMX1VSTCIsIkRFRkFVTFRfSE9TVCIsIlRDUF9IT1NUIiwiREVGQVVMVF9QT1JUIiwiREVGQVVMVF9RVUFMSVRZIiwiREVGQVVMVF9CSVRSQVRFIiwiQk9VTkRBUllfU1RSSU5HIiwiQURCX1NDUkVFTl9TVFJFQU1JTkdfRkVBVFVSRSIsImNyZWF0ZVN0cmVhbWluZ0xvZ2dlciIsInN0cmVhbU5hbWUiLCJ1ZGlkIiwibG9nZ2VyIiwiZ2V0TG9nZ2VyIiwiXyIsInRydW5jYXRlIiwibGVuZ3RoIiwib21pc3Npb24iLCJ2ZXJpZnlTdHJlYW1pbmdSZXF1aXJlbWVudHMiLCJhZGIiLCJ0cmltIiwic2hlbGwiLCJFcnJvciIsImdzdHJlYW1lckNoZWNrUHJvbWlzZXMiLCJiaW5hcnlOYW1lIiwicHVzaCIsImZzIiwid2hpY2giLCJlIiwiQiIsImFsbCIsIm1vZHVsZUNoZWNrUHJvbWlzZXMiLCJuYW1lIiwibW9kTmFtZSIsInRvUGFpcnMiLCJzdGRvdXQiLCJleGVjIiwiaW5jbHVkZXMiLCJnZXREZXZpY2VJbmZvIiwibG9nIiwib3V0cHV0IiwicmVzdWx0Iiwia2V5IiwicGF0dGVybiIsIm1hdGNoIiwiZGVidWciLCJwYXJzZUludCIsImN1ckRldmljZUlkIiwiaW5pdERldmljZVN0cmVhbWluZ1Byb2MiLCJkZXZpY2VJbmZvIiwib3B0cyIsIndpZHRoIiwiaGVpZ2h0IiwiYml0UmF0ZSIsImFkanVzdGVkV2lkdGgiLCJhZGp1c3RlZEhlaWdodCIsImFkanVzdGVkQml0cmF0ZSIsInNjcmVlblJlY29yZENtZCIsImFkYkFyZ3MiLCJleGVjdXRhYmxlIiwiZGVmYXVsdEFyZ3MiLCJkZXZpY2VTdHJlYW1pbmciLCJzcGF3biIsInBhdGgiLCJvbiIsImNvZGUiLCJzaWduYWwiLCJpc1N0YXJ0ZWQiLCJkZXZpY2VTdHJlYW1pbmdMb2dnZXIiLCJlcnJvcnNMaXN0ZW5lciIsImNodW5rIiwic3RkZXJyIiwidG9TdHJpbmciLCJzdGFydHVwTGlzdGVuZXIiLCJpc0VtcHR5IiwiaW5mbyIsInV0aWwiLCJxdW90ZSIsIndhaXRGb3JDb25kaXRpb24iLCJ3YWl0TXMiLCJpbnRlcnZhbE1zIiwiZXJyb3JBbmRUaHJvdyIsIm1lc3NhZ2UiLCJyZW1vdmVMaXN0ZW5lciIsImluaXRHc3RyZWFtZXJQaXBlbGluZSIsImRldmljZVN0cmVhbWluZ1Byb2MiLCJxdWFsaXR5IiwidGNwUG9ydCIsImNvbnNpZGVyUm90YXRpb24iLCJsb2dQaXBlbGluZURldGFpbHMiLCJnc3RyZWFtZXJQaXBlbGluZSIsIlN1YlByb2Nlc3MiLCJNYXRoIiwibWF4IiwiZnBzIiwic3RkaW8iLCJnc3RyZWFtZXJMb2dnZXIiLCJnc3RPdXRwdXRMaXN0ZW5lciIsImRpZEZhaWwiLCJyZXAiLCJzdGFydCIsImNoZWNrUG9ydFN0YXR1cyIsImlnbiIsImV4dHJhY3RSZW1vdGVBZGRyZXNzIiwicmVxIiwiaGVhZGVycyIsInNvY2tldCIsInJlbW90ZUFkZHJlc3MiLCJjb25uZWN0aW9uIiwibW9iaWxlU3RhcnRTY3JlZW5TdHJlYW1pbmciLCJvcHRpb25zIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJob3N0IiwicG9ydCIsInBhdGhuYW1lIiwiaXNVbmRlZmluZWQiLCJfc2NyZWVuU3RyZWFtaW5nUHJvcHMiLCJraWxsIiwibWpwZWdTb2NrZXQiLCJtanBlZ1NlcnZlciIsInJlc29sdmUiLCJyZWplY3QiLCJuZXQiLCJjcmVhdGVDb25uZWN0aW9uIiwiaHR0cCIsImNyZWF0ZVNlcnZlciIsInJlcyIsImN1cnJlbnRQYXRobmFtZSIsInVybCIsInBhcnNlIiwid3JpdGVIZWFkIiwiQ29ubmVjdGlvbiIsIndyaXRlIiwiZW5kIiwiUHJhZ21hIiwicGlwZSIsIndhcm4iLCJsaXN0ZW4iLCJlcnJvciIsInRpbWVvdXQiLCJpc1J1bm5pbmciLCJzdG9wIiwiZGVzdHJveSIsImxpc3RlbmluZyIsImNsb3NlIiwibW9iaWxlU3RvcFNjcmVlblN0cmVhbWluZyIsImUxIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL2NvbW1hbmRzL3N0cmVhbXNjcmVlbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZnMsIHN5c3RlbSwgbG9nZ2VyLCB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYywgU3ViUHJvY2VzcyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgeyBjaGVja1BvcnRTdGF0dXMgfSBmcm9tICdwb3J0c2Nhbm5lcic7XG5pbXBvcnQgaHR0cCBmcm9tICdodHRwJztcbmltcG9ydCBuZXQgZnJvbSAnbmV0JztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCB7IHdhaXRGb3JDb25kaXRpb24gfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBzcGF3biB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHVybCBmcm9tICd1cmwnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG5jb25zdCBSRUNPUkRJTkdfSU5URVJWQUxfU0VDID0gNTtcbmNvbnN0IFNUUkVBTUlOR19TVEFSVFVQX1RJTUVPVVRfTVMgPSA1MDAwO1xuY29uc3QgR1NUUkVBTUVSX0JJTkFSWSA9IGBnc3QtbGF1bmNoLTEuMCR7c3lzdGVtLmlzV2luZG93cygpID8gJy5leGUnIDogJyd9YDtcbmNvbnN0IEdTVF9JTlNQRUNUX0JJTkFSWSA9IGBnc3QtaW5zcGVjdC0xLjAke3N5c3RlbS5pc1dpbmRvd3MoKSA/ICcuZXhlJyA6ICcnfWA7XG5jb25zdCBSRVFVSVJFRF9HU1RfUExVR0lOUyA9IHtcbiAgYXZkZWNfaDI2NDogJ2dzdC1saWJhdicsXG4gIGgyNjRwYXJzZTogJ2dzdC1wbHVnaW5zLWJhZCcsXG4gIGpwZWdlbmM6ICdnc3QtcGx1Z2lucy1nb29kJyxcbiAgdGNwc2VydmVyc2luazogJ2dzdC1wbHVnaW5zLWJhc2UnLFxuICBtdWx0aXBhcnRtdXg6ICdnc3QtcGx1Z2lucy1nb29kJyxcbn07XG5jb25zdCBTQ1JFRU5SRUNPUkRfQklOQVJZID0gJ3NjcmVlbnJlY29yZCc7XG5jb25zdCBHU1RfVFVUT1JJQUxfVVJMID0gJ2h0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9kb2N1bWVudGF0aW9uL2luc3RhbGxpbmcvaW5kZXguaHRtbCc7XG5jb25zdCBERUZBVUxUX0hPU1QgPSAnMTI3LjAuMC4xJztcbmNvbnN0IFRDUF9IT1NUID0gJzEyNy4wLjAuMSc7XG5jb25zdCBERUZBVUxUX1BPUlQgPSA4MDkzO1xuY29uc3QgREVGQVVMVF9RVUFMSVRZID0gNzA7XG5jb25zdCBERUZBVUxUX0JJVFJBVEUgPSA0MDAwMDAwOyAvLyA0IE1icHNcbmNvbnN0IEJPVU5EQVJZX1NUUklORyA9ICctLTJhZTk3NDY4ODdmMTcwYjhjZjdjMjcxMDQ3Y2UzMTRjJztcblxuY29uc3QgQURCX1NDUkVFTl9TVFJFQU1JTkdfRkVBVFVSRSA9ICdhZGJfc2NyZWVuX3N0cmVhbWluZyc7XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0cmVhbWluZ0xvZ2dlciAoc3RyZWFtTmFtZSwgdWRpZCkge1xuICByZXR1cm4gbG9nZ2VyLmdldExvZ2dlcihgJHtzdHJlYW1OYW1lfUBgICsgXy50cnVuY2F0ZSh1ZGlkLCB7XG4gICAgbGVuZ3RoOiA4LFxuICAgIG9taXNzaW9uOiAnJyxcbiAgfSkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiB2ZXJpZnlTdHJlYW1pbmdSZXF1aXJlbWVudHMgKGFkYikge1xuICBpZiAoIV8udHJpbShhd2FpdCBhZGIuc2hlbGwoWyd3aGljaCcsIFNDUkVFTlJFQ09SRF9CSU5BUlldKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHJlcXVpcmVkICcke1NDUkVFTlJFQ09SRF9CSU5BUll9JyBiaW5hcnkgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGUgZGV2aWNlIHVuZGVyIHRlc3RgKTtcbiAgfVxuXG4gIGNvbnN0IGdzdHJlYW1lckNoZWNrUHJvbWlzZXMgPSBbXTtcbiAgZm9yIChjb25zdCBiaW5hcnlOYW1lIG9mIFtHU1RSRUFNRVJfQklOQVJZLCBHU1RfSU5TUEVDVF9CSU5BUlldKSB7XG4gICAgZ3N0cmVhbWVyQ2hlY2tQcm9taXNlcy5wdXNoKChhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBmcy53aGljaChiaW5hcnlOYW1lKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgJyR7YmluYXJ5TmFtZX0nIGJpbmFyeSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBQQVRIIG9uIHRoZSBob3N0IHN5c3RlbS4gYCArXG4gICAgICAgICAgYFNlZSAke0dTVF9UVVRPUklBTF9VUkx9IGZvciBtb3JlIGRldGFpbHMgb24gaG93IHRvIGluc3RhbGwgaXQuYCk7XG4gICAgICB9XG4gICAgfSkoKSk7XG4gIH1cbiAgYXdhaXQgQi5hbGwoZ3N0cmVhbWVyQ2hlY2tQcm9taXNlcyk7XG5cbiAgY29uc3QgbW9kdWxlQ2hlY2tQcm9taXNlcyA9IFtdO1xuICBmb3IgKGNvbnN0IFtuYW1lLCBtb2ROYW1lXSBvZiBfLnRvUGFpcnMoUkVRVUlSRURfR1NUX1BMVUdJTlMpKSB7XG4gICAgbW9kdWxlQ2hlY2tQcm9taXNlcy5wdXNoKChhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoR1NUX0lOU1BFQ1RfQklOQVJZLCBbbmFtZV0pO1xuICAgICAgaWYgKCFfLmluY2x1ZGVzKHN0ZG91dCwgbW9kTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBUaGUgcmVxdWlyZWQgR1N0cmVhbWVyIHBsdWdpbiAnJHtuYW1lfScgZnJvbSAnJHttb2ROYW1lfScgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQuIGAgK1xuICAgICAgICAgIGBTZWUgJHtHU1RfVFVUT1JJQUxfVVJMfSBmb3IgbW9yZSBkZXRhaWxzIG9uIGhvdyB0byBpbnN0YWxsIGl0LmApO1xuICAgICAgfVxuICAgIH0pKCkpO1xuICB9XG4gIGF3YWl0IEIuYWxsKG1vZHVsZUNoZWNrUHJvbWlzZXMpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXREZXZpY2VJbmZvIChhZGIsIGxvZyA9IG51bGwpIHtcbiAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgYWRiLnNoZWxsKFsnZHVtcHN5cycsICdkaXNwbGF5J10pO1xuICBjb25zdCByZXN1bHQgPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCBwYXR0ZXJuXSBvZiBbXG4gICAgWyd3aWR0aCcsIC9cXGJkZXZpY2VXaWR0aD0oXFxkKykvXSxcbiAgICBbJ2hlaWdodCcsIC9cXGJkZXZpY2VIZWlnaHQ9KFxcZCspL10sXG4gICAgWydmcHMnLCAvXFxiZnBzPShcXGQrKS9dLFxuICBdKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBwYXR0ZXJuLmV4ZWMob3V0cHV0KTtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICBsb2c/LmRlYnVnKG91dHB1dCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBwYXJzZSB0aGUgZGV2aWNlICR7a2V5fSBmcm9tIHRoZSBhZGIgY29tbWFuZCBvdXRwdXQuIGAgK1xuICAgICAgICBgQ2hlY2sgdGhlIHNlcnZlciBsb2cgZm9yIG1vcmUgZGV0YWlscy5gKTtcbiAgICB9XG4gICAgcmVzdWx0W2tleV0gPSBwYXJzZUludChtYXRjaFsxXSwgMTApO1xuICB9XG4gIHJlc3VsdC51ZGlkID0gYWRiLmN1ckRldmljZUlkO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5hc3luYyBmdW5jdGlvbiBpbml0RGV2aWNlU3RyZWFtaW5nUHJvYyAoYWRiLCBsb2csIGRldmljZUluZm8sIG9wdHMgPSB7fSkge1xuICBjb25zdCB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIGJpdFJhdGUsXG4gIH0gPSBvcHRzO1xuICBjb25zdCBhZGp1c3RlZFdpZHRoID0gcGFyc2VJbnQod2lkdGgsIDEwKSB8fCBkZXZpY2VJbmZvLndpZHRoO1xuICBjb25zdCBhZGp1c3RlZEhlaWdodCA9IHBhcnNlSW50KGhlaWdodCwgMTApIHx8IGRldmljZUluZm8uaGVpZ2h0O1xuICBjb25zdCBhZGp1c3RlZEJpdHJhdGUgPSBwYXJzZUludChiaXRSYXRlLCAxMCkgfHwgREVGQVVMVF9CSVRSQVRFO1xuICBsZXQgc2NyZWVuUmVjb3JkQ21kID0gU0NSRUVOUkVDT1JEX0JJTkFSWSArXG4gICAgYCAtLW91dHB1dC1mb3JtYXQ9aDI2NGAgK1xuICAgIC8vIDUgc2Vjb25kcyBpcyBmaW5lIHRvIGRldGVjdCByb3RhdGlvbiBjaGFuZ2VzXG4gICAgYCAtLXRpbWUtbGltaXQ9JHtSRUNPUkRJTkdfSU5URVJWQUxfU0VDfWA7XG4gIGlmICh3aWR0aCB8fCBoZWlnaHQpIHtcbiAgICBzY3JlZW5SZWNvcmRDbWQgKz0gYCAtLXNpemU9JHthZGp1c3RlZFdpZHRofXgke2FkanVzdGVkSGVpZ2h0fWA7XG4gIH1cbiAgaWYgKGJpdFJhdGUpIHtcbiAgICBzY3JlZW5SZWNvcmRDbWQgKz0gYCAtLWJpdC1yYXRlPSR7YWRqdXN0ZWRCaXRyYXRlfWA7XG4gIH1cbiAgY29uc3QgYWRiQXJncyA9IFtcbiAgICAuLi5hZGIuZXhlY3V0YWJsZS5kZWZhdWx0QXJncyxcbiAgICAnZXhlYy1vdXQnLFxuICAgIC8vIFRoZSBsb29wIGlzIHJlcXVpcmVkLCBiZWNhdXNlIGJ5IGRlZmF1bHQgdGhlIG1heGltdW0gcmVjb3JkIGR1cmF0aW9uXG4gICAgLy8gZm9yIHNjcmVlbnJlY29yZCBpcyBhbHdheXMgbGltaXRlZFxuICAgIGB3aGlsZSB0cnVlOyBkbyAke3NjcmVlblJlY29yZENtZH0gLTsgZG9uZWAsXG4gIF07XG4gIGNvbnN0IGRldmljZVN0cmVhbWluZyA9IHNwYXduKGFkYi5leGVjdXRhYmxlLnBhdGgsIGFkYkFyZ3MpO1xuICBkZXZpY2VTdHJlYW1pbmcub24oJ2V4aXQnLCAoY29kZSwgc2lnbmFsKSA9PiB7XG4gICAgbG9nLmRlYnVnKGBEZXZpY2Ugc3RyZWFtaW5nIHByb2Nlc3MgZXhpdGVkIHdpdGggY29kZSAke2NvZGV9LCBzaWduYWwgJHtzaWduYWx9YCk7XG4gIH0pO1xuXG4gIGxldCBpc1N0YXJ0ZWQgPSBmYWxzZTtcbiAgY29uc3QgZGV2aWNlU3RyZWFtaW5nTG9nZ2VyID0gY3JlYXRlU3RyZWFtaW5nTG9nZ2VyKFNDUkVFTlJFQ09SRF9CSU5BUlksIGRldmljZUluZm8udWRpZCk7XG4gIGNvbnN0IGVycm9yc0xpc3RlbmVyID0gKGNodW5rKSA9PiB7XG4gICAgY29uc3Qgc3RkZXJyID0gY2h1bmsudG9TdHJpbmcoKTtcbiAgICBpZiAoXy50cmltKHN0ZGVycikpIHtcbiAgICAgIGRldmljZVN0cmVhbWluZ0xvZ2dlci5kZWJ1ZyhzdGRlcnIpO1xuICAgIH1cbiAgfTtcbiAgZGV2aWNlU3RyZWFtaW5nLnN0ZGVyci5vbignZGF0YScsIGVycm9yc0xpc3RlbmVyKTtcblxuICBjb25zdCBzdGFydHVwTGlzdGVuZXIgPSAoY2h1bmspID0+IHtcbiAgICBpZiAoIWlzU3RhcnRlZCkge1xuICAgICAgaXNTdGFydGVkID0gIV8uaXNFbXB0eShjaHVuayk7XG4gICAgfVxuICB9O1xuICBkZXZpY2VTdHJlYW1pbmcuc3Rkb3V0Lm9uKCdkYXRhJywgc3RhcnR1cExpc3RlbmVyKTtcblxuICB0cnkge1xuICAgIGxvZy5pbmZvKGBTdGFydGluZyBkZXZpY2Ugc3RyZWFtaW5nOiAke3V0aWwucXVvdGUoW2FkYi5leGVjdXRhYmxlLnBhdGgsIC4uLmFkYkFyZ3NdKX1gKTtcbiAgICBhd2FpdCB3YWl0Rm9yQ29uZGl0aW9uKCgpID0+IGlzU3RhcnRlZCwge1xuICAgICAgd2FpdE1zOiBTVFJFQU1JTkdfU1RBUlRVUF9USU1FT1VUX01TLFxuICAgICAgaW50ZXJ2YWxNczogMzAwLFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nLmVycm9yQW5kVGhyb3coXG4gICAgICBgQ2Fubm90IHN0YXJ0IHRoZSBzY3JlZW4gc3RyZWFtaW5nIHByb2Nlc3MuIE9yaWdpbmFsIGVycm9yOiAke2UubWVzc2FnZX1gKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBkZXZpY2VTdHJlYW1pbmcuc3RkZXJyLnJlbW92ZUxpc3RlbmVyKCdkYXRhJywgZXJyb3JzTGlzdGVuZXIpO1xuICAgIGRldmljZVN0cmVhbWluZy5zdGRvdXQucmVtb3ZlTGlzdGVuZXIoJ2RhdGEnLCBzdGFydHVwTGlzdGVuZXIpO1xuICB9XG4gIHJldHVybiBkZXZpY2VTdHJlYW1pbmc7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGluaXRHc3RyZWFtZXJQaXBlbGluZSAoZGV2aWNlU3RyZWFtaW5nUHJvYywgZGV2aWNlSW5mbywgbG9nLCBvcHRzID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBxdWFsaXR5LFxuICAgIHRjcFBvcnQsXG4gICAgY29uc2lkZXJSb3RhdGlvbixcbiAgICBsb2dQaXBlbGluZURldGFpbHMsXG4gIH0gPSBvcHRzO1xuICBjb25zdCBhZGp1c3RlZFdpZHRoID0gcGFyc2VJbnQod2lkdGgsIDEwKSB8fCBkZXZpY2VJbmZvLndpZHRoO1xuICBjb25zdCBhZGp1c3RlZEhlaWdodCA9IHBhcnNlSW50KGhlaWdodCwgMTApIHx8IGRldmljZUluZm8uaGVpZ2h0O1xuICBjb25zdCBnc3RyZWFtZXJQaXBlbGluZSA9IG5ldyBTdWJQcm9jZXNzKEdTVFJFQU1FUl9CSU5BUlksIFtcbiAgICAnLXYnLFxuICAgICdmZHNyYycsICdmZD0wJyxcbiAgICAnIScsICd2aWRlby94LWgyNjQsJyArXG4gICAgICBgd2lkdGg9JHtjb25zaWRlclJvdGF0aW9uID8gTWF0aC5tYXgoYWRqdXN0ZWRXaWR0aCwgYWRqdXN0ZWRIZWlnaHQpIDogYWRqdXN0ZWRXaWR0aH0sYCArXG4gICAgICBgaGVpZ2h0PSR7Y29uc2lkZXJSb3RhdGlvbiA/IE1hdGgubWF4KGFkanVzdGVkV2lkdGgsIGFkanVzdGVkSGVpZ2h0KSA6IGFkanVzdGVkSGVpZ2h0fSxgICtcbiAgICAgIGBmcmFtZXJhdGU9JHtkZXZpY2VJbmZvLmZwc30vMSxgICtcbiAgICAgICdieXRlLXN0cmVhbT10cnVlJyxcbiAgICAnIScsICdoMjY0cGFyc2UnLFxuICAgICchJywgJ3F1ZXVlJywgJ2xlYWt5PWRvd25zdHJlYW0nLFxuICAgICchJywgJ2F2ZGVjX2gyNjQnLFxuICAgICchJywgJ3F1ZXVlJywgJ2xlYWt5PWRvd25zdHJlYW0nLFxuICAgICchJywgJ2pwZWdlbmMnLCBgcXVhbGl0eT0ke3F1YWxpdHl9YCxcbiAgICAnIScsICdtdWx0aXBhcnRtdXgnLCBgYm91bmRhcnk9JHtCT1VOREFSWV9TVFJJTkd9YCxcbiAgICAnIScsICd0Y3BzZXJ2ZXJzaW5rJywgYGhvc3Q9JHtUQ1BfSE9TVH1gLCBgcG9ydD0ke3RjcFBvcnR9YCxcbiAgXSwge1xuICAgIHN0ZGlvOiBbZGV2aWNlU3RyZWFtaW5nUHJvYy5zdGRvdXQsICdwaXBlJywgJ3BpcGUnXVxuICB9KTtcbiAgZ3N0cmVhbWVyUGlwZWxpbmUub24oJ2V4aXQnLCAoY29kZSwgc2lnbmFsKSA9PiB7XG4gICAgbG9nLmRlYnVnKGBQaXBlbGluZSBzdHJlYW1pbmcgcHJvY2VzcyBleGl0ZWQgd2l0aCBjb2RlICR7Y29kZX0sIHNpZ25hbCAke3NpZ25hbH1gKTtcbiAgfSk7XG4gIGNvbnN0IGdzdHJlYW1lckxvZ2dlciA9IGNyZWF0ZVN0cmVhbWluZ0xvZ2dlcignZ3N0JywgZGV2aWNlSW5mby51ZGlkKTtcbiAgY29uc3QgZ3N0T3V0cHV0TGlzdGVuZXIgPSAoc3Rkb3V0LCBzdGRlcnIpID0+IHtcbiAgICBpZiAoXy50cmltKHN0ZGVyciB8fCBzdGRvdXQpKSB7XG4gICAgICBnc3RyZWFtZXJMb2dnZXIuZGVidWcoc3RkZXJyIHx8IHN0ZG91dCk7XG4gICAgfVxuICB9O1xuICBnc3RyZWFtZXJQaXBlbGluZS5vbignb3V0cHV0JywgZ3N0T3V0cHV0TGlzdGVuZXIpO1xuICBsZXQgZGlkRmFpbCA9IGZhbHNlO1xuICB0cnkge1xuICAgIGxvZy5pbmZvKGBTdGFydGluZyBHU3RyZWFtZXIgcGlwZWxpbmU6ICR7Z3N0cmVhbWVyUGlwZWxpbmUucmVwfWApO1xuICAgIGF3YWl0IGdzdHJlYW1lclBpcGVsaW5lLnN0YXJ0KDApO1xuICAgIGF3YWl0IHdhaXRGb3JDb25kaXRpb24oYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBjaGVja1BvcnRTdGF0dXModGNwUG9ydCwgVENQX0hPU1QpKSA9PT0gJ29wZW4nO1xuICAgICAgfSBjYXRjaCAoaWduKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICB3YWl0TXM6IFNUUkVBTUlOR19TVEFSVFVQX1RJTUVPVVRfTVMsXG4gICAgICBpbnRlcnZhbE1zOiAzMDAsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBkaWRGYWlsID0gdHJ1ZTtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdyhcbiAgICAgIGBDYW5ub3Qgc3RhcnQgdGhlIHNjcmVlbiBzdHJlYW1pbmcgcGlwZWxpbmUuIE9yaWdpbmFsIGVycm9yOiAke2UubWVzc2FnZX1gKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAoIWxvZ1BpcGVsaW5lRGV0YWlscyB8fCBkaWRGYWlsKSB7XG4gICAgICBnc3RyZWFtZXJQaXBlbGluZS5yZW1vdmVMaXN0ZW5lcignb3V0cHV0JywgZ3N0T3V0cHV0TGlzdGVuZXIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZ3N0cmVhbWVyUGlwZWxpbmU7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RSZW1vdGVBZGRyZXNzIChyZXEpIHtcbiAgcmV0dXJuIHJlcS5oZWFkZXJzWyd4LWZvcndhcmRlZC1mb3InXVxuICAgIHx8IHJlcS5zb2NrZXQucmVtb3RlQWRkcmVzc1xuICAgIHx8IHJlcS5jb25uZWN0aW9uLnJlbW90ZUFkZHJlc3NcbiAgICB8fCByZXEuY29ubmVjdGlvbi5zb2NrZXQucmVtb3RlQWRkcmVzcztcbn1cblxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFN0YXJ0U2NyZWVuU3RyZWFtaW5nT3B0aW9uc1xuICpcbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gd2lkdGggLSBUaGUgc2NhbGVkIHdpZHRoIG9mIHRoZSBkZXZpY2UncyBzY3JlZW4uIElmIHVuc2V0IHRoZW4gdGhlIHNjcmlwdCB3aWxsIGFzc2lnbiBpdFxuICogdG8gdGhlIGFjdHVhbCBzY3JlZW4gd2lkdGggbWVhc3VyZWQgaW4gcGl4ZWxzLlxuICogQHByb3BlcnR5IHs/bnVtYmVyfSBoZWlnaHQgLSBUaGUgc2NhbGVkIGhlaWdodCBvZiB0aGUgZGV2aWNlJ3Mgc2NyZWVuLiBJZiB1bnNldCB0aGVuIHRoZSBzY3JpcHQgd2lsbCBhc3NpZ24gaXRcbiAqIHRvIHRoZSBhY3R1YWwgc2NyZWVuIGhlaWdodCBtZWFzdXJlZCBpbiBwaXhlbHMuXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IGJpdFJhdGUgLSBUaGUgdmlkZW8gYml0IHJhdGUgZm9yIHRoZSB2aWRlbywgaW4gYml0cyBwZXIgc2Vjb25kLlxuICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgNDAwMDAwMCAoNCBNYi9zKS4gWW91IGNhbiBpbmNyZWFzZSB0aGUgYml0IHJhdGUgdG8gaW1wcm92ZSB2aWRlbyBxdWFsaXR5LFxuICogYnV0IGRvaW5nIHNvIHJlc3VsdHMgaW4gbGFyZ2VyIG1vdmllIGZpbGVzLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBob3N0IFsxMjcuMC4wLjFdIC0gVGhlIElQIGFkZHJlc3MvaG9zdCBuYW1lIHRvIHN0YXJ0IHRoZSBNSlBFRyBzZXJ2ZXIgb24uXG4gKiBZb3UgY2FuIHNldCBpdCB0byBgMC4wLjAuMGAgdG8gdHJpZ2dlciB0aGUgYnJvYWRjYXN0IG9uIGFsbCBhdmFpbGFibGUgbmV0d29yayBpbnRlcmZhY2VzLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBwYXRobmFtZSAtIFRoZSBIVFRQIHJlcXVlc3QgcGF0aCB0aGUgTUpQRUcgc2VydmVyIHNob3VsZCBiZSBhdmFpbGFibGUgb24uXG4gKiBJZiB1bnNldCB0aGVuIGFueSBwYXRobmFtZSBvbiB0aGUgZ2l2ZW4gYGhvc3RgL2Bwb3J0YCBjb21iaW5hdGlvbiB3aWxsIHdvcmsuIE5vdGUgdGhhdCB0aGUgdmFsdWVcbiAqIHNob3VsZCBhbHdheXMgc3RhcnQgd2l0aCBhIHNpbmdsZSBzbGFzaDogYC9gXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHRjcFBvcnQgWzgwOTRdIC0gVGhlIHBvcnQgbnVtYmVyIHRvIHN0YXJ0IHRoZSBpbnRlcm5hbCBUQ1AgTUpQRUcgYnJvYWRjYXN0IG9uLlxuICogVGhpcyB0eXBlIG9mIGJyb2FkY2FzdCBhbHdheXMgc3RhcnRzIG9uIHRoZSBsb29wYmFjayBpbnRlcmZhY2UgKGAxMjcuMC4wLjFgKS5cbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gcG9ydCBbODA5M10gLSBUaGUgcG9ydCBudW1iZXIgdG8gc3RhcnQgdGhlIE1KUEVHIHNlcnZlciBvbi5cbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gcXVhbGl0eSBbNzBdIC0gVGhlIHF1YWxpdHkgdmFsdWUgZm9yIHRoZSBzdHJlYW1lZCBKUEVHIGltYWdlcy5cbiAqIFRoaXMgbnVtYmVyIHNob3VsZCBiZSBpbiByYW5nZSBbMSwgMTAwXSwgd2hlcmUgMTAwIGlzIHRoZSBiZXN0IHF1YWxpdHkuXG4gKiBAcHJvcGVydHkgez9ib29sZWFufSBjb25zaWRlclJvdGF0aW9uIFtmYWxzZV0gLSBJZiBzZXQgdG8gYHRydWVgIHRoZW4gR1N0cmVhbWVyIHBpcGVsaW5lIHdpbGxcbiAqIGluY3JlYXNlIHRoZSBkaW1lbnNpb25zIG9mIHRoZSByZXN1bHRpbmcgaW1hZ2VzIHRvIHByb3Blcmx5IGZpdCBpbWFnZXMgaW4gYm90aCBsYW5kc2NhcGUgYW5kXG4gKiBwb3J0cmFpdCBvcmllbnRhdGlvbnMuIFNldCBpdCB0byBgdHJ1ZWAgaWYgdGhlIGRldmljZSByb3RhdGlvbiBpcyBub3QgZ29pbmcgdG8gYmUgdGhlIHNhbWUgZHVyaW5nIHRoZVxuICogYnJvYWRjYXN0aW5nIHNlc3Npb24uXG4gKiBAcHJvcGVydHkgez9ib29sZWFufSBsb2dQaXBlbGluZURldGFpbHMgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbG9nIEdTdHJlYW1lciBwaXBlbGluZSBldmVudHMgaW50b1xuICogdGhlIHN0YW5kYXJkIGxvZyBvdXRwdXQuIE1pZ2h0IGJlIHVzZWZ1bCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLlxuICovXG5cbi8qKlxuICogU3RhcnRzIGRldmljZSBzY3JlZW4gYnJvYWRjYXN0IGJ5IGNyZWF0aW5nIE1KUEVHIHNlcnZlci5cbiAqIE11bHRpcGxlIGNhbGxzIHRvIHRoaXMgbWV0aG9kIGhhdmUgbm8gZWZmZWN0IHVubGVzcyB0aGUgcHJldmlvdXMgc3RyZWFtaW5nXG4gKiBzZXNzaW9uIGlzIHN0b3BwZWQuXG4gKiBUaGlzIG1ldGhvZCBvbmx5IHdvcmtzIGlmIHRoZSBgYWRiX3NjcmVlbl9zdHJlYW1pbmdgIGZlYXR1cmUgaXNcbiAqIGVuYWJsZWQgb24gdGhlIHNlcnZlciBzaWRlLlxuICpcbiAqIEBwYXJhbSB7P1N0YXJ0U2NyZWVuU3RyZWFtaW5nT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBhdmFpbGFibGUgb3B0aW9ucy5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiBzY3JlZW4gc3RyZWFtaW5nIGhhcyBmYWlsZWQgdG8gc3RhcnQgb3JcbiAqIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhlIGhvc3Qgc3lzdGVtIG9yXG4gKiB0aGUgY29ycmVzcG9uZGluZyBzZXJ2ZXIgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC5cbiAqL1xuY29tbWFuZHMubW9iaWxlU3RhcnRTY3JlZW5TdHJlYW1pbmcgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVTdGFydFNjcmVlblN0cmVhbWluZyAob3B0aW9ucyA9IHt9KSB7XG4gIHRoaXMuZW5zdXJlRmVhdHVyZUVuYWJsZWQoQURCX1NDUkVFTl9TVFJFQU1JTkdfRkVBVFVSRSk7XG5cbiAgY29uc3Qge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBiaXRSYXRlLFxuICAgIGhvc3QgPSBERUZBVUxUX0hPU1QsXG4gICAgcG9ydCA9IERFRkFVTFRfUE9SVCxcbiAgICBwYXRobmFtZSxcbiAgICB0Y3BQb3J0ID0gREVGQVVMVF9QT1JUICsgMSxcbiAgICBxdWFsaXR5ID0gREVGQVVMVF9RVUFMSVRZLFxuICAgIGNvbnNpZGVyUm90YXRpb24gPSBmYWxzZSxcbiAgICBsb2dQaXBlbGluZURldGFpbHMgPSBmYWxzZSxcbiAgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5fc2NyZWVuU3RyZWFtaW5nUHJvcHMpKSB7XG4gICAgYXdhaXQgdmVyaWZ5U3RyZWFtaW5nUmVxdWlyZW1lbnRzKHRoaXMuYWRiKTtcbiAgfVxuICBpZiAoIV8uaXNFbXB0eSh0aGlzLl9zY3JlZW5TdHJlYW1pbmdQcm9wcykpIHtcbiAgICB0aGlzLmxvZy5pbmZvKGBUaGUgc2NyZWVuIHN0cmVhbWluZyBzZXNzaW9uIGlzIGFscmVhZHkgcnVubmluZy4gYCArXG4gICAgICBgU3RvcCBpdCBmaXJzdCBpbiBvcmRlciB0byBzdGFydCBhIG5ldyBvbmUuYCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICgoYXdhaXQgY2hlY2tQb3J0U3RhdHVzKHBvcnQsIGhvc3QpKSA9PT0gJ29wZW4nKSB7XG4gICAgdGhpcy5sb2cuaW5mbyhgVGhlIHBvcnQgIyR7cG9ydH0gYXQgJHtob3N0fSBpcyBidXN5LiBgICtcbiAgICAgIGBBc3N1bWluZyB0aGUgc2NyZWVuIHN0cmVhbWluZyBpcyBhbHJlYWR5IHJ1bm5pbmdgKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKChhd2FpdCBjaGVja1BvcnRTdGF0dXModGNwUG9ydCwgVENQX0hPU1QpKSA9PT0gJ29wZW4nKSB7XG4gICAgdGhpcy5sb2cuZXJyb3JBbmRUaHJvdyhgVGhlIHBvcnQgIyR7dGNwUG9ydH0gYXQgJHtUQ1BfSE9TVH0gaXMgYnVzeS4gYCArXG4gICAgICBgTWFrZSBzdXJlIHRoZXJlIGFyZSBubyBsZWZ0b3ZlcnMgZnJvbSBwcmV2aW91cyBzZXNzaW9ucy5gKTtcbiAgfVxuICB0aGlzLl9zY3JlZW5TdHJlYW1pbmdQcm9wcyA9IG51bGw7XG5cbiAgY29uc3QgZGV2aWNlSW5mbyA9IGF3YWl0IGdldERldmljZUluZm8odGhpcy5hZGIsIHRoaXMubG9nKTtcbiAgY29uc3QgZGV2aWNlU3RyZWFtaW5nUHJvYyA9IGF3YWl0IGluaXREZXZpY2VTdHJlYW1pbmdQcm9jKHRoaXMuYWRiLCB0aGlzLmxvZywgZGV2aWNlSW5mbywge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBiaXRSYXRlLFxuICB9KTtcbiAgbGV0IGdzdHJlYW1lclBpcGVsaW5lO1xuICB0cnkge1xuICAgIGdzdHJlYW1lclBpcGVsaW5lID0gYXdhaXQgaW5pdEdzdHJlYW1lclBpcGVsaW5lKGRldmljZVN0cmVhbWluZ1Byb2MsIGRldmljZUluZm8sIHRoaXMubG9nLCB7XG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIHF1YWxpdHksXG4gICAgICB0Y3BQb3J0LFxuICAgICAgY29uc2lkZXJSb3RhdGlvbixcbiAgICAgIGxvZ1BpcGVsaW5lRGV0YWlscyxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChkZXZpY2VTdHJlYW1pbmdQcm9jLmtpbGwoMCkpIHtcbiAgICAgIGRldmljZVN0cmVhbWluZ1Byb2Mua2lsbCgpO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG5cbiAgbGV0IG1qcGVnU29ja2V0O1xuICBsZXQgbWpwZWdTZXJ2ZXI7XG4gIHRyeSB7XG4gICAgYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbWpwZWdTb2NrZXQgPSBuZXQuY3JlYXRlQ29ubmVjdGlvbih0Y3BQb3J0LCBUQ1BfSE9TVCwgKCkgPT4ge1xuICAgICAgICB0aGlzLmxvZy5pbmZvKGBTdWNjZXNzZnVsbHkgY29ubmVjdGVkIHRvIE1KUEVHIHN0cmVhbSBhdCB0Y3A6Ly8ke1RDUF9IT1NUfToke3RjcFBvcnR9YCk7XG4gICAgICAgIG1qcGVnU2VydmVyID0gaHR0cC5jcmVhdGVTZXJ2ZXIoKHJlcSwgcmVzKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVtb3RlQWRkcmVzcyA9IGV4dHJhY3RSZW1vdGVBZGRyZXNzKHJlcSk7XG4gICAgICAgICAgY29uc3QgY3VycmVudFBhdGhuYW1lID0gdXJsLnBhcnNlKHJlcS51cmwpLnBhdGhuYW1lO1xuICAgICAgICAgIHRoaXMubG9nLmluZm8oYEdvdCBhbiBpbmNvbWluZyBzY3JlZW4gYnJhZGNhc3RpbmcgcmVxdWVzdCBmcm9tICR7cmVtb3RlQWRkcmVzc30gYCArXG4gICAgICAgICAgICBgKCR7cmVxLmhlYWRlcnNbJ3VzZXItYWdlbnQnXSB8fCAnVXNlciBBZ2VudCB1bmtub3duJ30pIGF0ICR7Y3VycmVudFBhdGhuYW1lfWApO1xuXG4gICAgICAgICAgaWYgKHBhdGhuYW1lICYmIGN1cnJlbnRQYXRobmFtZSAhPT0gcGF0aG5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMubG9nLmluZm8oJ1JlamVjdGluZyB0aGUgYnJvYWRjYXN0IHJlcXVlc3Qgc2luY2UgaXQgZG9lcyBub3QgbWF0Y2ggdGhlIGdpdmVuIHBhdGhuYW1lJyk7XG4gICAgICAgICAgICByZXMud3JpdGVIZWFkKDQwNCwge1xuICAgICAgICAgICAgICBDb25uZWN0aW9uOiAnY2xvc2UnLFxuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXMud3JpdGUoYCcke2N1cnJlbnRQYXRobmFtZX0nIGRpZCBub3QgbWF0Y2ggYW55IGtub3duIGVuZHBvaW50c2ApO1xuICAgICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMubG9nLmluZm8oJ1N0YXJ0aW5nIE1KUEVHIGJyb2FkY2FzdCcpO1xuICAgICAgICAgIHJlcy53cml0ZUhlYWQoMjAwLCB7XG4gICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCc6ICduby1zdG9yZSwgbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSwgcHJlLWNoZWNrPTAsIHBvc3QtY2hlY2s9MCwgbWF4LWFnZT0wJyxcbiAgICAgICAgICAgIFByYWdtYTogJ25vLWNhY2hlJyxcbiAgICAgICAgICAgIENvbm5lY3Rpb246ICdjbG9zZScsXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogYG11bHRpcGFydC94LW1peGVkLXJlcGxhY2U7IGJvdW5kYXJ5PSR7Qk9VTkRBUllfU1RSSU5HfWBcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIG1qcGVnU29ja2V0LnBpcGUocmVzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1qcGVnU2VydmVyLm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2cud2FybihlKTtcbiAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBtanBlZ1NlcnZlci5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2cuZGVidWcoYE1KUEVHIHNlcnZlciBhdCBodHRwOi8vJHtob3N0fToke3BvcnR9IGhhcyBiZWVuIGNsb3NlZGApO1xuICAgICAgICB9KTtcbiAgICAgICAgbWpwZWdTZXJ2ZXIub24oJ2xpc3RlbmluZycsICgpID0+IHtcbiAgICAgICAgICB0aGlzLmxvZy5pbmZvKGBTdWNjZXNzZnVsbHkgc3RhcnRlZCBNSlBFRyBzZXJ2ZXIgYXQgaHR0cDovLyR7aG9zdH06JHtwb3J0fWApO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1qcGVnU2VydmVyLmxpc3Rlbihwb3J0LCBob3N0KTtcbiAgICAgIH0pO1xuICAgICAgbWpwZWdTb2NrZXQub24oJ2Vycm9yJywgKGUpID0+IHtcbiAgICAgICAgdGhpcy5sb2cuZXJyb3IoZSk7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH0pO1xuICAgIH0pLnRpbWVvdXQoU1RSRUFNSU5HX1NUQVJUVVBfVElNRU9VVF9NUyxcbiAgICAgIGBDYW5ub3QgY29ubmVjdCB0byB0aGUgc3RyZWFtaW5nIHNlcnZlciB3aXRoaW4gJHtTVFJFQU1JTkdfU1RBUlRVUF9USU1FT1VUX01TfW1zYCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZGV2aWNlU3RyZWFtaW5nUHJvYy5raWxsKDApKSB7XG4gICAgICBkZXZpY2VTdHJlYW1pbmdQcm9jLmtpbGwoKTtcbiAgICB9XG4gICAgaWYgKGdzdHJlYW1lclBpcGVsaW5lLmlzUnVubmluZykge1xuICAgICAgYXdhaXQgZ3N0cmVhbWVyUGlwZWxpbmUuc3RvcCgpO1xuICAgIH1cbiAgICBpZiAobWpwZWdTb2NrZXQpIHtcbiAgICAgIG1qcGVnU29ja2V0LmRlc3Ryb3koKTtcbiAgICB9XG4gICAgaWYgKG1qcGVnU2VydmVyICYmIG1qcGVnU2VydmVyLmxpc3RlbmluZykge1xuICAgICAgbWpwZWdTZXJ2ZXIuY2xvc2UoKTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxuXG4gIHRoaXMuX3NjcmVlblN0cmVhbWluZ1Byb3BzID0ge1xuICAgIGRldmljZVN0cmVhbWluZ1Byb2MsXG4gICAgZ3N0cmVhbWVyUGlwZWxpbmUsXG4gICAgbWpwZWdTb2NrZXQsXG4gICAgbWpwZWdTZXJ2ZXIsXG4gIH07XG59O1xuXG4vKipcbiAqIFN0b3Agc2NyZWVuIHN0cmVhbWluZy5cbiAqIElmIG5vIHNjcmVlbiBzdHJlYW1pbmcgc2VydmVyIGhhcyBiZWVuIHN0YXJ0ZWQgdGhlbiBub3RoaW5nIGlzIGRvbmUuXG4gKi9cbmNvbW1hbmRzLm1vYmlsZVN0b3BTY3JlZW5TdHJlYW1pbmcgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVTdG9wU2NyZWVuU3RyZWFtaW5nICgvKiBvcHRpb25zID0ge30gKi8pIHtcbiAgaWYgKF8uaXNFbXB0eSh0aGlzLl9zY3JlZW5TdHJlYW1pbmdQcm9wcykpIHtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5fc2NyZWVuU3RyZWFtaW5nUHJvcHMpKSB7XG4gICAgICB0aGlzLmxvZy5kZWJ1ZyhgU2NyZWVuIHN0cmVhbWluZyBpcyBub3QgcnVubmluZy4gVGhlcmUgaXMgbm90aGluZyB0byBzdG9wYCk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBkZXZpY2VTdHJlYW1pbmdQcm9jLFxuICAgIGdzdHJlYW1lclBpcGVsaW5lLFxuICAgIG1qcGVnU29ja2V0LFxuICAgIG1qcGVnU2VydmVyLFxuICB9ID0gdGhpcy5fc2NyZWVuU3RyZWFtaW5nUHJvcHM7XG5cbiAgdHJ5IHtcbiAgICBtanBlZ1NvY2tldC5lbmQoKTtcbiAgICBpZiAobWpwZWdTZXJ2ZXIubGlzdGVuaW5nKSB7XG4gICAgICBtanBlZ1NlcnZlci5jbG9zZSgpO1xuICAgIH1cbiAgICBpZiAoZGV2aWNlU3RyZWFtaW5nUHJvYy5raWxsKDApKSB7XG4gICAgICBkZXZpY2VTdHJlYW1pbmdQcm9jLmtpbGwoJ1NJR0lOVCcpO1xuICAgIH1cbiAgICBpZiAoZ3N0cmVhbWVyUGlwZWxpbmUuaXNSdW5uaW5nKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBnc3RyZWFtZXJQaXBlbGluZS5zdG9wKCdTSUdJTlQnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2cud2FybihlKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBnc3RyZWFtZXJQaXBlbGluZS5zdG9wKCdTSUdLSUxMJyk7XG4gICAgICAgIH0gY2F0Y2ggKGUxKSB7XG4gICAgICAgICAgdGhpcy5sb2cuZXJyb3IoZTEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubG9nLmluZm8oYFN1Y2Nlc3NmdWxseSB0ZXJtaW5hdGVkIHRoZSBzY3JlZW4gc3RyZWFtaW5nIE1KUEVHIHNlcnZlcmApO1xuICB9IGZpbmFsbHkge1xuICAgIHRoaXMuX3NjcmVlblN0cmVhbWluZ1Byb3BzID0gbnVsbDtcbiAgfVxufTtcblxuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxRQUFRLEdBQUcsRUFBakI7QUFFQSxNQUFNQyxzQkFBc0IsR0FBRyxDQUEvQjtBQUNBLE1BQU1DLDRCQUE0QixHQUFHLElBQXJDO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUksaUJBQWdCQyxlQUFBLENBQU9DLFNBQVAsS0FBcUIsTUFBckIsR0FBOEIsRUFBRyxFQUEzRTtBQUNBLE1BQU1DLGtCQUFrQixHQUFJLGtCQUFpQkYsZUFBQSxDQUFPQyxTQUFQLEtBQXFCLE1BQXJCLEdBQThCLEVBQUcsRUFBOUU7QUFDQSxNQUFNRSxvQkFBb0IsR0FBRztFQUMzQkMsVUFBVSxFQUFFLFdBRGU7RUFFM0JDLFNBQVMsRUFBRSxpQkFGZ0I7RUFHM0JDLE9BQU8sRUFBRSxrQkFIa0I7RUFJM0JDLGFBQWEsRUFBRSxrQkFKWTtFQUszQkMsWUFBWSxFQUFFO0FBTGEsQ0FBN0I7QUFPQSxNQUFNQyxtQkFBbUIsR0FBRyxjQUE1QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHVFQUF6QjtBQUNBLE1BQU1DLFlBQVksR0FBRyxXQUFyQjtBQUNBLE1BQU1DLFFBQVEsR0FBRyxXQUFqQjtBQUNB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
|
|
420
|
+
exports.default = _default;
|
|
421
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIlJFQ09SRElOR19JTlRFUlZBTF9TRUMiLCJTVFJFQU1JTkdfU1RBUlRVUF9USU1FT1VUX01TIiwiR1NUUkVBTUVSX0JJTkFSWSIsInN5c3RlbSIsImlzV2luZG93cyIsIkdTVF9JTlNQRUNUX0JJTkFSWSIsIlJFUVVJUkVEX0dTVF9QTFVHSU5TIiwiYXZkZWNfaDI2NCIsImgyNjRwYXJzZSIsImpwZWdlbmMiLCJ0Y3BzZXJ2ZXJzaW5rIiwibXVsdGlwYXJ0bXV4IiwiU0NSRUVOUkVDT1JEX0JJTkFSWSIsIkdTVF9UVVRPUklBTF9VUkwiLCJERUZBVUxUX0hPU1QiLCJUQ1BfSE9TVCIsIkRFRkFVTFRfUE9SVCIsIkRFRkFVTFRfUVVBTElUWSIsIkRFRkFVTFRfQklUUkFURSIsIkJPVU5EQVJZX1NUUklORyIsIkFEQl9TQ1JFRU5fU1RSRUFNSU5HX0ZFQVRVUkUiLCJjcmVhdGVTdHJlYW1pbmdMb2dnZXIiLCJzdHJlYW1OYW1lIiwidWRpZCIsImxvZ2dlciIsImdldExvZ2dlciIsIl8iLCJ0cnVuY2F0ZSIsImxlbmd0aCIsIm9taXNzaW9uIiwidmVyaWZ5U3RyZWFtaW5nUmVxdWlyZW1lbnRzIiwiYWRiIiwidHJpbSIsInNoZWxsIiwiRXJyb3IiLCJnc3RyZWFtZXJDaGVja1Byb21pc2VzIiwiYmluYXJ5TmFtZSIsInB1c2giLCJmcyIsIndoaWNoIiwiZSIsIkIiLCJhbGwiLCJtb2R1bGVDaGVja1Byb21pc2VzIiwibmFtZSIsIm1vZE5hbWUiLCJ0b1BhaXJzIiwic3Rkb3V0IiwiZXhlYyIsImluY2x1ZGVzIiwiZ2V0RGV2aWNlSW5mbyIsImxvZyIsIm91dHB1dCIsInJlc3VsdCIsImtleSIsInBhdHRlcm4iLCJtYXRjaCIsImRlYnVnIiwicGFyc2VJbnQiLCJjdXJEZXZpY2VJZCIsImluaXREZXZpY2VTdHJlYW1pbmdQcm9jIiwiZGV2aWNlSW5mbyIsIm9wdHMiLCJ3aWR0aCIsImhlaWdodCIsImJpdFJhdGUiLCJhZGp1c3RlZFdpZHRoIiwiYWRqdXN0ZWRIZWlnaHQiLCJhZGp1c3RlZEJpdHJhdGUiLCJzY3JlZW5SZWNvcmRDbWQiLCJhZGJBcmdzIiwiZXhlY3V0YWJsZSIsImRlZmF1bHRBcmdzIiwiZGV2aWNlU3RyZWFtaW5nIiwic3Bhd24iLCJwYXRoIiwib24iLCJjb2RlIiwic2lnbmFsIiwiaXNTdGFydGVkIiwiZGV2aWNlU3RyZWFtaW5nTG9nZ2VyIiwiZXJyb3JzTGlzdGVuZXIiLCJjaHVuayIsInN0ZGVyciIsInRvU3RyaW5nIiwic3RhcnR1cExpc3RlbmVyIiwiaXNFbXB0eSIsImluZm8iLCJ1dGlsIiwicXVvdGUiLCJ3YWl0Rm9yQ29uZGl0aW9uIiwid2FpdE1zIiwiaW50ZXJ2YWxNcyIsImVycm9yQW5kVGhyb3ciLCJtZXNzYWdlIiwicmVtb3ZlTGlzdGVuZXIiLCJpbml0R3N0cmVhbWVyUGlwZWxpbmUiLCJkZXZpY2VTdHJlYW1pbmdQcm9jIiwicXVhbGl0eSIsInRjcFBvcnQiLCJjb25zaWRlclJvdGF0aW9uIiwibG9nUGlwZWxpbmVEZXRhaWxzIiwiZ3N0cmVhbWVyUGlwZWxpbmUiLCJTdWJQcm9jZXNzIiwiTWF0aCIsIm1heCIsImZwcyIsInN0ZGlvIiwiZ3N0cmVhbWVyTG9nZ2VyIiwiZ3N0T3V0cHV0TGlzdGVuZXIiLCJkaWRGYWlsIiwicmVwIiwic3RhcnQiLCJjaGVja1BvcnRTdGF0dXMiLCJpZ24iLCJleHRyYWN0UmVtb3RlQWRkcmVzcyIsInJlcSIsImhlYWRlcnMiLCJzb2NrZXQiLCJyZW1vdGVBZGRyZXNzIiwiY29ubmVjdGlvbiIsIm1vYmlsZVN0YXJ0U2NyZWVuU3RyZWFtaW5nIiwib3B0aW9ucyIsImVuc3VyZUZlYXR1cmVFbmFibGVkIiwiaG9zdCIsInBvcnQiLCJwYXRobmFtZSIsImlzVW5kZWZpbmVkIiwiX3NjcmVlblN0cmVhbWluZ1Byb3BzIiwia2lsbCIsIm1qcGVnU29ja2V0IiwibWpwZWdTZXJ2ZXIiLCJyZXNvbHZlIiwicmVqZWN0IiwibmV0IiwiY3JlYXRlQ29ubmVjdGlvbiIsImh0dHAiLCJjcmVhdGVTZXJ2ZXIiLCJyZXMiLCJjdXJyZW50UGF0aG5hbWUiLCJ1cmwiLCJwYXJzZSIsIndyaXRlSGVhZCIsIkNvbm5lY3Rpb24iLCJ3cml0ZSIsImVuZCIsIlByYWdtYSIsInBpcGUiLCJ3YXJuIiwibGlzdGVuIiwiZXJyb3IiLCJ0aW1lb3V0IiwiaXNSdW5uaW5nIiwic3RvcCIsImRlc3Ryb3kiLCJsaXN0ZW5pbmciLCJjbG9zZSIsIm1vYmlsZVN0b3BTY3JlZW5TdHJlYW1pbmciLCJlMSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9zdHJlYW1zY3JlZW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGZzLCBzeXN0ZW0sIGxvZ2dlciwgdXRpbCB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IGV4ZWMsIFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgY2hlY2tQb3J0U3RhdHVzIH0gZnJvbSAncG9ydHNjYW5uZXInO1xuaW1wb3J0IGh0dHAgZnJvbSAnaHR0cCc7XG5pbXBvcnQgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyB3YWl0Rm9yQ29uZGl0aW9uIH0gZnJvbSAnYXN5bmNib3gnO1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB1cmwgZnJvbSAndXJsJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuY29uc3QgUkVDT1JESU5HX0lOVEVSVkFMX1NFQyA9IDU7XG5jb25zdCBTVFJFQU1JTkdfU1RBUlRVUF9USU1FT1VUX01TID0gNTAwMDtcbmNvbnN0IEdTVFJFQU1FUl9CSU5BUlkgPSBgZ3N0LWxhdW5jaC0xLjAke3N5c3RlbS5pc1dpbmRvd3MoKSA/ICcuZXhlJyA6ICcnfWA7XG5jb25zdCBHU1RfSU5TUEVDVF9CSU5BUlkgPSBgZ3N0LWluc3BlY3QtMS4wJHtzeXN0ZW0uaXNXaW5kb3dzKCkgPyAnLmV4ZScgOiAnJ31gO1xuY29uc3QgUkVRVUlSRURfR1NUX1BMVUdJTlMgPSB7XG4gIGF2ZGVjX2gyNjQ6ICdnc3QtbGliYXYnLFxuICBoMjY0cGFyc2U6ICdnc3QtcGx1Z2lucy1iYWQnLFxuICBqcGVnZW5jOiAnZ3N0LXBsdWdpbnMtZ29vZCcsXG4gIHRjcHNlcnZlcnNpbms6ICdnc3QtcGx1Z2lucy1iYXNlJyxcbiAgbXVsdGlwYXJ0bXV4OiAnZ3N0LXBsdWdpbnMtZ29vZCcsXG59O1xuY29uc3QgU0NSRUVOUkVDT1JEX0JJTkFSWSA9ICdzY3JlZW5yZWNvcmQnO1xuY29uc3QgR1NUX1RVVE9SSUFMX1VSTCA9ICdodHRwczovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvZG9jdW1lbnRhdGlvbi9pbnN0YWxsaW5nL2luZGV4Lmh0bWwnO1xuY29uc3QgREVGQVVMVF9IT1NUID0gJzEyNy4wLjAuMSc7XG5jb25zdCBUQ1BfSE9TVCA9ICcxMjcuMC4wLjEnO1xuY29uc3QgREVGQVVMVF9QT1JUID0gODA5MztcbmNvbnN0IERFRkFVTFRfUVVBTElUWSA9IDcwO1xuY29uc3QgREVGQVVMVF9CSVRSQVRFID0gNDAwMDAwMDsgLy8gNCBNYnBzXG5jb25zdCBCT1VOREFSWV9TVFJJTkcgPSAnLS0yYWU5NzQ2ODg3ZjE3MGI4Y2Y3YzI3MTA0N2NlMzE0Yyc7XG5cbmNvbnN0IEFEQl9TQ1JFRU5fU1RSRUFNSU5HX0ZFQVRVUkUgPSAnYWRiX3NjcmVlbl9zdHJlYW1pbmcnO1xuXG5mdW5jdGlvbiBjcmVhdGVTdHJlYW1pbmdMb2dnZXIgKHN0cmVhbU5hbWUsIHVkaWQpIHtcbiAgcmV0dXJuIGxvZ2dlci5nZXRMb2dnZXIoYCR7c3RyZWFtTmFtZX1AYCArIF8udHJ1bmNhdGUodWRpZCwge1xuICAgIGxlbmd0aDogOCxcbiAgICBvbWlzc2lvbjogJycsXG4gIH0pKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdmVyaWZ5U3RyZWFtaW5nUmVxdWlyZW1lbnRzIChhZGIpIHtcbiAgaWYgKCFfLnRyaW0oYXdhaXQgYWRiLnNoZWxsKFsnd2hpY2gnLCBTQ1JFRU5SRUNPUkRfQklOQVJZXSkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRoZSByZXF1aXJlZCAnJHtTQ1JFRU5SRUNPUkRfQklOQVJZfScgYmluYXJ5IGlzIG5vdCBhdmFpbGFibGUgb24gdGhlIGRldmljZSB1bmRlciB0ZXN0YCk7XG4gIH1cblxuICBjb25zdCBnc3RyZWFtZXJDaGVja1Byb21pc2VzID0gW107XG4gIGZvciAoY29uc3QgYmluYXJ5TmFtZSBvZiBbR1NUUkVBTUVSX0JJTkFSWSwgR1NUX0lOU1BFQ1RfQklOQVJZXSkge1xuICAgIGdzdHJlYW1lckNoZWNrUHJvbWlzZXMucHVzaCgoYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZnMud2hpY2goYmluYXJ5TmFtZSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlICcke2JpbmFyeU5hbWV9JyBiaW5hcnkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgUEFUSCBvbiB0aGUgaG9zdCBzeXN0ZW0uIGAgK1xuICAgICAgICAgIGBTZWUgJHtHU1RfVFVUT1JJQUxfVVJMfSBmb3IgbW9yZSBkZXRhaWxzIG9uIGhvdyB0byBpbnN0YWxsIGl0LmApO1xuICAgICAgfVxuICAgIH0pKCkpO1xuICB9XG4gIGF3YWl0IEIuYWxsKGdzdHJlYW1lckNoZWNrUHJvbWlzZXMpO1xuXG4gIGNvbnN0IG1vZHVsZUNoZWNrUHJvbWlzZXMgPSBbXTtcbiAgZm9yIChjb25zdCBbbmFtZSwgbW9kTmFtZV0gb2YgXy50b1BhaXJzKFJFUVVJUkVEX0dTVF9QTFVHSU5TKSkge1xuICAgIG1vZHVsZUNoZWNrUHJvbWlzZXMucHVzaCgoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCBleGVjKEdTVF9JTlNQRUNUX0JJTkFSWSwgW25hbWVdKTtcbiAgICAgIGlmICghXy5pbmNsdWRlcyhzdGRvdXQsIG1vZE5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVGhlIHJlcXVpcmVkIEdTdHJlYW1lciBwbHVnaW4gJyR7bmFtZX0nIGZyb20gJyR7bW9kTmFtZX0nIG1vZHVsZSBpcyBub3QgaW5zdGFsbGVkLiBgICtcbiAgICAgICAgICBgU2VlICR7R1NUX1RVVE9SSUFMX1VSTH0gZm9yIG1vcmUgZGV0YWlscyBvbiBob3cgdG8gaW5zdGFsbCBpdC5gKTtcbiAgICAgIH1cbiAgICB9KSgpKTtcbiAgfVxuICBhd2FpdCBCLmFsbChtb2R1bGVDaGVja1Byb21pc2VzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RGV2aWNlSW5mbyAoYWRiLCBsb2cgPSBudWxsKSB7XG4gIGNvbnN0IG91dHB1dCA9IGF3YWl0IGFkYi5zaGVsbChbJ2R1bXBzeXMnLCAnZGlzcGxheSddKTtcbiAgY29uc3QgcmVzdWx0ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgcGF0dGVybl0gb2YgW1xuICAgIFsnd2lkdGgnLCAvXFxiZGV2aWNlV2lkdGg9KFxcZCspL10sXG4gICAgWydoZWlnaHQnLCAvXFxiZGV2aWNlSGVpZ2h0PShcXGQrKS9dLFxuICAgIFsnZnBzJywgL1xcYmZwcz0oXFxkKykvXSxcbiAgXSkge1xuICAgIGNvbnN0IG1hdGNoID0gcGF0dGVybi5leGVjKG91dHB1dCk7XG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgbG9nPy5kZWJ1ZyhvdXRwdXQpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcGFyc2UgdGhlIGRldmljZSAke2tleX0gZnJvbSB0aGUgYWRiIGNvbW1hbmQgb3V0cHV0LiBgICtcbiAgICAgICAgYENoZWNrIHRoZSBzZXJ2ZXIgbG9nIGZvciBtb3JlIGRldGFpbHMuYCk7XG4gICAgfVxuICAgIHJlc3VsdFtrZXldID0gcGFyc2VJbnQobWF0Y2hbMV0sIDEwKTtcbiAgfVxuICByZXN1bHQudWRpZCA9IGFkYi5jdXJEZXZpY2VJZDtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5pdERldmljZVN0cmVhbWluZ1Byb2MgKGFkYiwgbG9nLCBkZXZpY2VJbmZvLCBvcHRzID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBiaXRSYXRlLFxuICB9ID0gb3B0cztcbiAgY29uc3QgYWRqdXN0ZWRXaWR0aCA9IHBhcnNlSW50KHdpZHRoLCAxMCkgfHwgZGV2aWNlSW5mby53aWR0aDtcbiAgY29uc3QgYWRqdXN0ZWRIZWlnaHQgPSBwYXJzZUludChoZWlnaHQsIDEwKSB8fCBkZXZpY2VJbmZvLmhlaWdodDtcbiAgY29uc3QgYWRqdXN0ZWRCaXRyYXRlID0gcGFyc2VJbnQoYml0UmF0ZSwgMTApIHx8IERFRkFVTFRfQklUUkFURTtcbiAgbGV0IHNjcmVlblJlY29yZENtZCA9IFNDUkVFTlJFQ09SRF9CSU5BUlkgK1xuICAgIGAgLS1vdXRwdXQtZm9ybWF0PWgyNjRgICtcbiAgICAvLyA1IHNlY29uZHMgaXMgZmluZSB0byBkZXRlY3Qgcm90YXRpb24gY2hhbmdlc1xuICAgIGAgLS10aW1lLWxpbWl0PSR7UkVDT1JESU5HX0lOVEVSVkFMX1NFQ31gO1xuICBpZiAod2lkdGggfHwgaGVpZ2h0KSB7XG4gICAgc2NyZWVuUmVjb3JkQ21kICs9IGAgLS1zaXplPSR7YWRqdXN0ZWRXaWR0aH14JHthZGp1c3RlZEhlaWdodH1gO1xuICB9XG4gIGlmIChiaXRSYXRlKSB7XG4gICAgc2NyZWVuUmVjb3JkQ21kICs9IGAgLS1iaXQtcmF0ZT0ke2FkanVzdGVkQml0cmF0ZX1gO1xuICB9XG4gIGNvbnN0IGFkYkFyZ3MgPSBbXG4gICAgLi4uYWRiLmV4ZWN1dGFibGUuZGVmYXVsdEFyZ3MsXG4gICAgJ2V4ZWMtb3V0JyxcbiAgICAvLyBUaGUgbG9vcCBpcyByZXF1aXJlZCwgYmVjYXVzZSBieSBkZWZhdWx0IHRoZSBtYXhpbXVtIHJlY29yZCBkdXJhdGlvblxuICAgIC8vIGZvciBzY3JlZW5yZWNvcmQgaXMgYWx3YXlzIGxpbWl0ZWRcbiAgICBgd2hpbGUgdHJ1ZTsgZG8gJHtzY3JlZW5SZWNvcmRDbWR9IC07IGRvbmVgLFxuICBdO1xuICBjb25zdCBkZXZpY2VTdHJlYW1pbmcgPSBzcGF3bihhZGIuZXhlY3V0YWJsZS5wYXRoLCBhZGJBcmdzKTtcbiAgZGV2aWNlU3RyZWFtaW5nLm9uKCdleGl0JywgKGNvZGUsIHNpZ25hbCkgPT4ge1xuICAgIGxvZy5kZWJ1ZyhgRGV2aWNlIHN0cmVhbWluZyBwcm9jZXNzIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfSwgc2lnbmFsICR7c2lnbmFsfWApO1xuICB9KTtcblxuICBsZXQgaXNTdGFydGVkID0gZmFsc2U7XG4gIGNvbnN0IGRldmljZVN0cmVhbWluZ0xvZ2dlciA9IGNyZWF0ZVN0cmVhbWluZ0xvZ2dlcihTQ1JFRU5SRUNPUkRfQklOQVJZLCBkZXZpY2VJbmZvLnVkaWQpO1xuICBjb25zdCBlcnJvcnNMaXN0ZW5lciA9IChjaHVuaykgPT4ge1xuICAgIGNvbnN0IHN0ZGVyciA9IGNodW5rLnRvU3RyaW5nKCk7XG4gICAgaWYgKF8udHJpbShzdGRlcnIpKSB7XG4gICAgICBkZXZpY2VTdHJlYW1pbmdMb2dnZXIuZGVidWcoc3RkZXJyKTtcbiAgICB9XG4gIH07XG4gIGRldmljZVN0cmVhbWluZy5zdGRlcnIub24oJ2RhdGEnLCBlcnJvcnNMaXN0ZW5lcik7XG5cbiAgY29uc3Qgc3RhcnR1cExpc3RlbmVyID0gKGNodW5rKSA9PiB7XG4gICAgaWYgKCFpc1N0YXJ0ZWQpIHtcbiAgICAgIGlzU3RhcnRlZCA9ICFfLmlzRW1wdHkoY2h1bmspO1xuICAgIH1cbiAgfTtcbiAgZGV2aWNlU3RyZWFtaW5nLnN0ZG91dC5vbignZGF0YScsIHN0YXJ0dXBMaXN0ZW5lcik7XG5cbiAgdHJ5IHtcbiAgICBsb2cuaW5mbyhgU3RhcnRpbmcgZGV2aWNlIHN0cmVhbWluZzogJHt1dGlsLnF1b3RlKFthZGIuZXhlY3V0YWJsZS5wYXRoLCAuLi5hZGJBcmdzXSl9YCk7XG4gICAgYXdhaXQgd2FpdEZvckNvbmRpdGlvbigoKSA9PiBpc1N0YXJ0ZWQsIHtcbiAgICAgIHdhaXRNczogU1RSRUFNSU5HX1NUQVJUVVBfVElNRU9VVF9NUyxcbiAgICAgIGludGVydmFsTXM6IDMwMCxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZy5lcnJvckFuZFRocm93KFxuICAgICAgYENhbm5vdCBzdGFydCB0aGUgc2NyZWVuIHN0cmVhbWluZyBwcm9jZXNzLiBPcmlnaW5hbCBlcnJvcjogJHtlLm1lc3NhZ2V9YCk7XG4gIH0gZmluYWxseSB7XG4gICAgZGV2aWNlU3RyZWFtaW5nLnN0ZGVyci5yZW1vdmVMaXN0ZW5lcignZGF0YScsIGVycm9yc0xpc3RlbmVyKTtcbiAgICBkZXZpY2VTdHJlYW1pbmcuc3Rkb3V0LnJlbW92ZUxpc3RlbmVyKCdkYXRhJywgc3RhcnR1cExpc3RlbmVyKTtcbiAgfVxuICByZXR1cm4gZGV2aWNlU3RyZWFtaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBpbml0R3N0cmVhbWVyUGlwZWxpbmUgKGRldmljZVN0cmVhbWluZ1Byb2MsIGRldmljZUluZm8sIGxvZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgcXVhbGl0eSxcbiAgICB0Y3BQb3J0LFxuICAgIGNvbnNpZGVyUm90YXRpb24sXG4gICAgbG9nUGlwZWxpbmVEZXRhaWxzLFxuICB9ID0gb3B0cztcbiAgY29uc3QgYWRqdXN0ZWRXaWR0aCA9IHBhcnNlSW50KHdpZHRoLCAxMCkgfHwgZGV2aWNlSW5mby53aWR0aDtcbiAgY29uc3QgYWRqdXN0ZWRIZWlnaHQgPSBwYXJzZUludChoZWlnaHQsIDEwKSB8fCBkZXZpY2VJbmZvLmhlaWdodDtcbiAgY29uc3QgZ3N0cmVhbWVyUGlwZWxpbmUgPSBuZXcgU3ViUHJvY2VzcyhHU1RSRUFNRVJfQklOQVJZLCBbXG4gICAgJy12JyxcbiAgICAnZmRzcmMnLCAnZmQ9MCcsXG4gICAgJyEnLCAndmlkZW8veC1oMjY0LCcgK1xuICAgICAgYHdpZHRoPSR7Y29uc2lkZXJSb3RhdGlvbiA/IE1hdGgubWF4KGFkanVzdGVkV2lkdGgsIGFkanVzdGVkSGVpZ2h0KSA6IGFkanVzdGVkV2lkdGh9LGAgK1xuICAgICAgYGhlaWdodD0ke2NvbnNpZGVyUm90YXRpb24gPyBNYXRoLm1heChhZGp1c3RlZFdpZHRoLCBhZGp1c3RlZEhlaWdodCkgOiBhZGp1c3RlZEhlaWdodH0sYCArXG4gICAgICBgZnJhbWVyYXRlPSR7ZGV2aWNlSW5mby5mcHN9LzEsYCArXG4gICAgICAnYnl0ZS1zdHJlYW09dHJ1ZScsXG4gICAgJyEnLCAnaDI2NHBhcnNlJyxcbiAgICAnIScsICdxdWV1ZScsICdsZWFreT1kb3duc3RyZWFtJyxcbiAgICAnIScsICdhdmRlY19oMjY0JyxcbiAgICAnIScsICdxdWV1ZScsICdsZWFreT1kb3duc3RyZWFtJyxcbiAgICAnIScsICdqcGVnZW5jJywgYHF1YWxpdHk9JHtxdWFsaXR5fWAsXG4gICAgJyEnLCAnbXVsdGlwYXJ0bXV4JywgYGJvdW5kYXJ5PSR7Qk9VTkRBUllfU1RSSU5HfWAsXG4gICAgJyEnLCAndGNwc2VydmVyc2luaycsIGBob3N0PSR7VENQX0hPU1R9YCwgYHBvcnQ9JHt0Y3BQb3J0fWAsXG4gIF0sIHtcbiAgICBzdGRpbzogW2RldmljZVN0cmVhbWluZ1Byb2Muc3Rkb3V0LCAncGlwZScsICdwaXBlJ11cbiAgfSk7XG4gIGdzdHJlYW1lclBpcGVsaW5lLm9uKCdleGl0JywgKGNvZGUsIHNpZ25hbCkgPT4ge1xuICAgIGxvZy5kZWJ1ZyhgUGlwZWxpbmUgc3RyZWFtaW5nIHByb2Nlc3MgZXhpdGVkIHdpdGggY29kZSAke2NvZGV9LCBzaWduYWwgJHtzaWduYWx9YCk7XG4gIH0pO1xuICBjb25zdCBnc3RyZWFtZXJMb2dnZXIgPSBjcmVhdGVTdHJlYW1pbmdMb2dnZXIoJ2dzdCcsIGRldmljZUluZm8udWRpZCk7XG4gIGNvbnN0IGdzdE91dHB1dExpc3RlbmVyID0gKHN0ZG91dCwgc3RkZXJyKSA9PiB7XG4gICAgaWYgKF8udHJpbShzdGRlcnIgfHwgc3Rkb3V0KSkge1xuICAgICAgZ3N0cmVhbWVyTG9nZ2VyLmRlYnVnKHN0ZGVyciB8fCBzdGRvdXQpO1xuICAgIH1cbiAgfTtcbiAgZ3N0cmVhbWVyUGlwZWxpbmUub24oJ291dHB1dCcsIGdzdE91dHB1dExpc3RlbmVyKTtcbiAgbGV0IGRpZEZhaWwgPSBmYWxzZTtcbiAgdHJ5IHtcbiAgICBsb2cuaW5mbyhgU3RhcnRpbmcgR1N0cmVhbWVyIHBpcGVsaW5lOiAke2dzdHJlYW1lclBpcGVsaW5lLnJlcH1gKTtcbiAgICBhd2FpdCBnc3RyZWFtZXJQaXBlbGluZS5zdGFydCgwKTtcbiAgICBhd2FpdCB3YWl0Rm9yQ29uZGl0aW9uKGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgY2hlY2tQb3J0U3RhdHVzKHRjcFBvcnQsIFRDUF9IT1NUKSkgPT09ICdvcGVuJztcbiAgICAgIH0gY2F0Y2ggKGlnbikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAgd2FpdE1zOiBTVFJFQU1JTkdfU1RBUlRVUF9USU1FT1VUX01TLFxuICAgICAgaW50ZXJ2YWxNczogMzAwLFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgZGlkRmFpbCA9IHRydWU7XG4gICAgbG9nLmVycm9yQW5kVGhyb3coXG4gICAgICBgQ2Fubm90IHN0YXJ0IHRoZSBzY3JlZW4gc3RyZWFtaW5nIHBpcGVsaW5lLiBPcmlnaW5hbCBlcnJvcjogJHtlLm1lc3NhZ2V9YCk7XG4gIH0gZmluYWxseSB7XG4gICAgaWYgKCFsb2dQaXBlbGluZURldGFpbHMgfHwgZGlkRmFpbCkge1xuICAgICAgZ3N0cmVhbWVyUGlwZWxpbmUucmVtb3ZlTGlzdGVuZXIoJ291dHB1dCcsIGdzdE91dHB1dExpc3RlbmVyKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGdzdHJlYW1lclBpcGVsaW5lO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0UmVtb3RlQWRkcmVzcyAocmVxKSB7XG4gIHJldHVybiByZXEuaGVhZGVyc1sneC1mb3J3YXJkZWQtZm9yJ11cbiAgICB8fCByZXEuc29ja2V0LnJlbW90ZUFkZHJlc3NcbiAgICB8fCByZXEuY29ubmVjdGlvbi5yZW1vdGVBZGRyZXNzXG4gICAgfHwgcmVxLmNvbm5lY3Rpb24uc29ja2V0LnJlbW90ZUFkZHJlc3M7XG59XG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTdGFydFNjcmVlblN0cmVhbWluZ09wdGlvbnNcbiAqXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHdpZHRoIC0gVGhlIHNjYWxlZCB3aWR0aCBvZiB0aGUgZGV2aWNlJ3Mgc2NyZWVuLiBJZiB1bnNldCB0aGVuIHRoZSBzY3JpcHQgd2lsbCBhc3NpZ24gaXRcbiAqIHRvIHRoZSBhY3R1YWwgc2NyZWVuIHdpZHRoIG1lYXN1cmVkIGluIHBpeGVscy5cbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gaGVpZ2h0IC0gVGhlIHNjYWxlZCBoZWlnaHQgb2YgdGhlIGRldmljZSdzIHNjcmVlbi4gSWYgdW5zZXQgdGhlbiB0aGUgc2NyaXB0IHdpbGwgYXNzaWduIGl0XG4gKiB0byB0aGUgYWN0dWFsIHNjcmVlbiBoZWlnaHQgbWVhc3VyZWQgaW4gcGl4ZWxzLlxuICogQHByb3BlcnR5IHs/bnVtYmVyfSBiaXRSYXRlIC0gVGhlIHZpZGVvIGJpdCByYXRlIGZvciB0aGUgdmlkZW8sIGluIGJpdHMgcGVyIHNlY29uZC5cbiAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDQwMDAwMDAgKDQgTWIvcykuIFlvdSBjYW4gaW5jcmVhc2UgdGhlIGJpdCByYXRlIHRvIGltcHJvdmUgdmlkZW8gcXVhbGl0eSxcbiAqIGJ1dCBkb2luZyBzbyByZXN1bHRzIGluIGxhcmdlciBtb3ZpZSBmaWxlcy5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gaG9zdCBbMTI3LjAuMC4xXSAtIFRoZSBJUCBhZGRyZXNzL2hvc3QgbmFtZSB0byBzdGFydCB0aGUgTUpQRUcgc2VydmVyIG9uLlxuICogWW91IGNhbiBzZXQgaXQgdG8gYDAuMC4wLjBgIHRvIHRyaWdnZXIgdGhlIGJyb2FkY2FzdCBvbiBhbGwgYXZhaWxhYmxlIG5ldHdvcmsgaW50ZXJmYWNlcy5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gcGF0aG5hbWUgLSBUaGUgSFRUUCByZXF1ZXN0IHBhdGggdGhlIE1KUEVHIHNlcnZlciBzaG91bGQgYmUgYXZhaWxhYmxlIG9uLlxuICogSWYgdW5zZXQgdGhlbiBhbnkgcGF0aG5hbWUgb24gdGhlIGdpdmVuIGBob3N0YC9gcG9ydGAgY29tYmluYXRpb24gd2lsbCB3b3JrLiBOb3RlIHRoYXQgdGhlIHZhbHVlXG4gKiBzaG91bGQgYWx3YXlzIHN0YXJ0IHdpdGggYSBzaW5nbGUgc2xhc2g6IGAvYFxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0Y3BQb3J0IFs4MDk0XSAtIFRoZSBwb3J0IG51bWJlciB0byBzdGFydCB0aGUgaW50ZXJuYWwgVENQIE1KUEVHIGJyb2FkY2FzdCBvbi5cbiAqIFRoaXMgdHlwZSBvZiBicm9hZGNhc3QgYWx3YXlzIHN0YXJ0cyBvbiB0aGUgbG9vcGJhY2sgaW50ZXJmYWNlIChgMTI3LjAuMC4xYCkuXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHBvcnQgWzgwOTNdIC0gVGhlIHBvcnQgbnVtYmVyIHRvIHN0YXJ0IHRoZSBNSlBFRyBzZXJ2ZXIgb24uXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHF1YWxpdHkgWzcwXSAtIFRoZSBxdWFsaXR5IHZhbHVlIGZvciB0aGUgc3RyZWFtZWQgSlBFRyBpbWFnZXMuXG4gKiBUaGlzIG51bWJlciBzaG91bGQgYmUgaW4gcmFuZ2UgWzEsIDEwMF0sIHdoZXJlIDEwMCBpcyB0aGUgYmVzdCBxdWFsaXR5LlxuICogQHByb3BlcnR5IHs/Ym9vbGVhbn0gY29uc2lkZXJSb3RhdGlvbiBbZmFsc2VdIC0gSWYgc2V0IHRvIGB0cnVlYCB0aGVuIEdTdHJlYW1lciBwaXBlbGluZSB3aWxsXG4gKiBpbmNyZWFzZSB0aGUgZGltZW5zaW9ucyBvZiB0aGUgcmVzdWx0aW5nIGltYWdlcyB0byBwcm9wZXJseSBmaXQgaW1hZ2VzIGluIGJvdGggbGFuZHNjYXBlIGFuZFxuICogcG9ydHJhaXQgb3JpZW50YXRpb25zLiBTZXQgaXQgdG8gYHRydWVgIGlmIHRoZSBkZXZpY2Ugcm90YXRpb24gaXMgbm90IGdvaW5nIHRvIGJlIHRoZSBzYW1lIGR1cmluZyB0aGVcbiAqIGJyb2FkY2FzdGluZyBzZXNzaW9uLlxuICogQHByb3BlcnR5IHs/Ym9vbGVhbn0gbG9nUGlwZWxpbmVEZXRhaWxzIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGxvZyBHU3RyZWFtZXIgcGlwZWxpbmUgZXZlbnRzIGludG9cbiAqIHRoZSBzdGFuZGFyZCBsb2cgb3V0cHV0LiBNaWdodCBiZSB1c2VmdWwgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0cyBkZXZpY2Ugc2NyZWVuIGJyb2FkY2FzdCBieSBjcmVhdGluZyBNSlBFRyBzZXJ2ZXIuXG4gKiBNdWx0aXBsZSBjYWxscyB0byB0aGlzIG1ldGhvZCBoYXZlIG5vIGVmZmVjdCB1bmxlc3MgdGhlIHByZXZpb3VzIHN0cmVhbWluZ1xuICogc2Vzc2lvbiBpcyBzdG9wcGVkLlxuICogVGhpcyBtZXRob2Qgb25seSB3b3JrcyBpZiB0aGUgYGFkYl9zY3JlZW5fc3RyZWFtaW5nYCBmZWF0dXJlIGlzXG4gKiBlbmFibGVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS5cbiAqXG4gKiBAcGFyYW0gez9TdGFydFNjcmVlblN0cmVhbWluZ09wdGlvbnN9IG9wdGlvbnMgLSBUaGUgYXZhaWxhYmxlIG9wdGlvbnMuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgc2NyZWVuIHN0cmVhbWluZyBoYXMgZmFpbGVkIHRvIHN0YXJ0IG9yXG4gKiBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSBob3N0IHN5c3RlbSBvclxuICogdGhlIGNvcnJlc3BvbmRpbmcgc2VydmVyIGZlYXR1cmUgaXMgbm90IGVuYWJsZWQuXG4gKi9cbmNvbW1hbmRzLm1vYmlsZVN0YXJ0U2NyZWVuU3RyZWFtaW5nID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU3RhcnRTY3JlZW5TdHJlYW1pbmcgKG9wdGlvbnMgPSB7fSkge1xuICB0aGlzLmVuc3VyZUZlYXR1cmVFbmFibGVkKEFEQl9TQ1JFRU5fU1RSRUFNSU5HX0ZFQVRVUkUpO1xuXG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgYml0UmF0ZSxcbiAgICBob3N0ID0gREVGQVVMVF9IT1NULFxuICAgIHBvcnQgPSBERUZBVUxUX1BPUlQsXG4gICAgcGF0aG5hbWUsXG4gICAgdGNwUG9ydCA9IERFRkFVTFRfUE9SVCArIDEsXG4gICAgcXVhbGl0eSA9IERFRkFVTFRfUVVBTElUWSxcbiAgICBjb25zaWRlclJvdGF0aW9uID0gZmFsc2UsXG4gICAgbG9nUGlwZWxpbmVEZXRhaWxzID0gZmFsc2UsXG4gIH0gPSBvcHRpb25zO1xuXG4gIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuX3NjcmVlblN0cmVhbWluZ1Byb3BzKSkge1xuICAgIGF3YWl0IHZlcmlmeVN0cmVhbWluZ1JlcXVpcmVtZW50cyh0aGlzLmFkYik7XG4gIH1cbiAgaWYgKCFfLmlzRW1wdHkodGhpcy5fc2NyZWVuU3RyZWFtaW5nUHJvcHMpKSB7XG4gICAgdGhpcy5sb2cuaW5mbyhgVGhlIHNjcmVlbiBzdHJlYW1pbmcgc2Vzc2lvbiBpcyBhbHJlYWR5IHJ1bm5pbmcuIGAgK1xuICAgICAgYFN0b3AgaXQgZmlyc3QgaW4gb3JkZXIgdG8gc3RhcnQgYSBuZXcgb25lLmApO1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoKGF3YWl0IGNoZWNrUG9ydFN0YXR1cyhwb3J0LCBob3N0KSkgPT09ICdvcGVuJykge1xuICAgIHRoaXMubG9nLmluZm8oYFRoZSBwb3J0ICMke3BvcnR9IGF0ICR7aG9zdH0gaXMgYnVzeS4gYCArXG4gICAgICBgQXNzdW1pbmcgdGhlIHNjcmVlbiBzdHJlYW1pbmcgaXMgYWxyZWFkeSBydW5uaW5nYCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICgoYXdhaXQgY2hlY2tQb3J0U3RhdHVzKHRjcFBvcnQsIFRDUF9IT1NUKSkgPT09ICdvcGVuJykge1xuICAgIHRoaXMubG9nLmVycm9yQW5kVGhyb3coYFRoZSBwb3J0ICMke3RjcFBvcnR9IGF0ICR7VENQX0hPU1R9IGlzIGJ1c3kuIGAgK1xuICAgICAgYE1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gbGVmdG92ZXJzIGZyb20gcHJldmlvdXMgc2Vzc2lvbnMuYCk7XG4gIH1cbiAgdGhpcy5fc2NyZWVuU3RyZWFtaW5nUHJvcHMgPSBudWxsO1xuXG4gIGNvbnN0IGRldmljZUluZm8gPSBhd2FpdCBnZXREZXZpY2VJbmZvKHRoaXMuYWRiLCB0aGlzLmxvZyk7XG4gIGNvbnN0IGRldmljZVN0cmVhbWluZ1Byb2MgPSBhd2FpdCBpbml0RGV2aWNlU3RyZWFtaW5nUHJvYyh0aGlzLmFkYiwgdGhpcy5sb2csIGRldmljZUluZm8sIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgYml0UmF0ZSxcbiAgfSk7XG4gIGxldCBnc3RyZWFtZXJQaXBlbGluZTtcbiAgdHJ5IHtcbiAgICBnc3RyZWFtZXJQaXBlbGluZSA9IGF3YWl0IGluaXRHc3RyZWFtZXJQaXBlbGluZShkZXZpY2VTdHJlYW1pbmdQcm9jLCBkZXZpY2VJbmZvLCB0aGlzLmxvZywge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBxdWFsaXR5LFxuICAgICAgdGNwUG9ydCxcbiAgICAgIGNvbnNpZGVyUm90YXRpb24sXG4gICAgICBsb2dQaXBlbGluZURldGFpbHMsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZGV2aWNlU3RyZWFtaW5nUHJvYy5raWxsKDApKSB7XG4gICAgICBkZXZpY2VTdHJlYW1pbmdQcm9jLmtpbGwoKTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxuXG4gIGxldCBtanBlZ1NvY2tldDtcbiAgbGV0IG1qcGVnU2VydmVyO1xuICB0cnkge1xuICAgIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIG1qcGVnU29ja2V0ID0gbmV0LmNyZWF0ZUNvbm5lY3Rpb24odGNwUG9ydCwgVENQX0hPU1QsICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2cuaW5mbyhgU3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCB0byBNSlBFRyBzdHJlYW0gYXQgdGNwOi8vJHtUQ1BfSE9TVH06JHt0Y3BQb3J0fWApO1xuICAgICAgICBtanBlZ1NlcnZlciA9IGh0dHAuY3JlYXRlU2VydmVyKChyZXEsIHJlcykgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlbW90ZUFkZHJlc3MgPSBleHRyYWN0UmVtb3RlQWRkcmVzcyhyZXEpO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYXRobmFtZSA9IHVybC5wYXJzZShyZXEudXJsKS5wYXRobmFtZTtcbiAgICAgICAgICB0aGlzLmxvZy5pbmZvKGBHb3QgYW4gaW5jb21pbmcgc2NyZWVuIGJyYWRjYXN0aW5nIHJlcXVlc3QgZnJvbSAke3JlbW90ZUFkZHJlc3N9IGAgK1xuICAgICAgICAgICAgYCgke3JlcS5oZWFkZXJzWyd1c2VyLWFnZW50J10gfHwgJ1VzZXIgQWdlbnQgdW5rbm93bid9KSBhdCAke2N1cnJlbnRQYXRobmFtZX1gKTtcblxuICAgICAgICAgIGlmIChwYXRobmFtZSAmJiBjdXJyZW50UGF0aG5hbWUgIT09IHBhdGhuYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmxvZy5pbmZvKCdSZWplY3RpbmcgdGhlIGJyb2FkY2FzdCByZXF1ZXN0IHNpbmNlIGl0IGRvZXMgbm90IG1hdGNoIHRoZSBnaXZlbiBwYXRobmFtZScpO1xuICAgICAgICAgICAgcmVzLndyaXRlSGVhZCg0MDQsIHtcbiAgICAgICAgICAgICAgQ29ubmVjdGlvbjogJ2Nsb3NlJyxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICd0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzLndyaXRlKGAnJHtjdXJyZW50UGF0aG5hbWV9JyBkaWQgbm90IG1hdGNoIGFueSBrbm93biBlbmRwb2ludHNgKTtcbiAgICAgICAgICAgIHJlcy5lbmQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmxvZy5pbmZvKCdTdGFydGluZyBNSlBFRyBicm9hZGNhc3QnKTtcbiAgICAgICAgICByZXMud3JpdGVIZWFkKDIwMCwge1xuICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnOiAnbm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUsIHByZS1jaGVjaz0wLCBwb3N0LWNoZWNrPTAsIG1heC1hZ2U9MCcsXG4gICAgICAgICAgICBQcmFnbWE6ICduby1jYWNoZScsXG4gICAgICAgICAgICBDb25uZWN0aW9uOiAnY2xvc2UnLFxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IGBtdWx0aXBhcnQveC1taXhlZC1yZXBsYWNlOyBib3VuZGFyeT0ke0JPVU5EQVJZX1NUUklOR31gXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBtanBlZ1NvY2tldC5waXBlKHJlcyk7XG4gICAgICAgIH0pO1xuICAgICAgICBtanBlZ1NlcnZlci5vbignZXJyb3InLCAoZSkgPT4ge1xuICAgICAgICAgIHRoaXMubG9nLndhcm4oZSk7XG4gICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICB9KTtcbiAgICAgICAgbWpwZWdTZXJ2ZXIub24oJ2Nsb3NlJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9nLmRlYnVnKGBNSlBFRyBzZXJ2ZXIgYXQgaHR0cDovLyR7aG9zdH06JHtwb3J0fSBoYXMgYmVlbiBjbG9zZWRgKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1qcGVnU2VydmVyLm9uKCdsaXN0ZW5pbmcnLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2cuaW5mbyhgU3VjY2Vzc2Z1bGx5IHN0YXJ0ZWQgTUpQRUcgc2VydmVyIGF0IGh0dHA6Ly8ke2hvc3R9OiR7cG9ydH1gKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBtanBlZ1NlcnZlci5saXN0ZW4ocG9ydCwgaG9zdCk7XG4gICAgICB9KTtcbiAgICAgIG1qcGVnU29ja2V0Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgIHRoaXMubG9nLmVycm9yKGUpO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9KTtcbiAgICB9KS50aW1lb3V0KFNUUkVBTUlOR19TVEFSVFVQX1RJTUVPVVRfTVMsXG4gICAgICBgQ2Fubm90IGNvbm5lY3QgdG8gdGhlIHN0cmVhbWluZyBzZXJ2ZXIgd2l0aGluICR7U1RSRUFNSU5HX1NUQVJUVVBfVElNRU9VVF9NU31tc2ApO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGRldmljZVN0cmVhbWluZ1Byb2Mua2lsbCgwKSkge1xuICAgICAgZGV2aWNlU3RyZWFtaW5nUHJvYy5raWxsKCk7XG4gICAgfVxuICAgIGlmIChnc3RyZWFtZXJQaXBlbGluZS5pc1J1bm5pbmcpIHtcbiAgICAgIGF3YWl0IGdzdHJlYW1lclBpcGVsaW5lLnN0b3AoKTtcbiAgICB9XG4gICAgaWYgKG1qcGVnU29ja2V0KSB7XG4gICAgICBtanBlZ1NvY2tldC5kZXN0cm95KCk7XG4gICAgfVxuICAgIGlmIChtanBlZ1NlcnZlciAmJiBtanBlZ1NlcnZlci5saXN0ZW5pbmcpIHtcbiAgICAgIG1qcGVnU2VydmVyLmNsb3NlKCk7XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH1cblxuICB0aGlzLl9zY3JlZW5TdHJlYW1pbmdQcm9wcyA9IHtcbiAgICBkZXZpY2VTdHJlYW1pbmdQcm9jLFxuICAgIGdzdHJlYW1lclBpcGVsaW5lLFxuICAgIG1qcGVnU29ja2V0LFxuICAgIG1qcGVnU2VydmVyLFxuICB9O1xufTtcblxuLyoqXG4gKiBTdG9wIHNjcmVlbiBzdHJlYW1pbmcuXG4gKiBJZiBubyBzY3JlZW4gc3RyZWFtaW5nIHNlcnZlciBoYXMgYmVlbiBzdGFydGVkIHRoZW4gbm90aGluZyBpcyBkb25lLlxuICovXG5jb21tYW5kcy5tb2JpbGVTdG9wU2NyZWVuU3RyZWFtaW5nID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU3RvcFNjcmVlblN0cmVhbWluZyAoLyogb3B0aW9ucyA9IHt9ICovKSB7XG4gIGlmIChfLmlzRW1wdHkodGhpcy5fc2NyZWVuU3RyZWFtaW5nUHJvcHMpKSB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMuX3NjcmVlblN0cmVhbWluZ1Byb3BzKSkge1xuICAgICAgdGhpcy5sb2cuZGVidWcoYFNjcmVlbiBzdHJlYW1pbmcgaXMgbm90IHJ1bm5pbmcuIFRoZXJlIGlzIG5vdGhpbmcgdG8gc3RvcGApO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7XG4gICAgZGV2aWNlU3RyZWFtaW5nUHJvYyxcbiAgICBnc3RyZWFtZXJQaXBlbGluZSxcbiAgICBtanBlZ1NvY2tldCxcbiAgICBtanBlZ1NlcnZlcixcbiAgfSA9IHRoaXMuX3NjcmVlblN0cmVhbWluZ1Byb3BzO1xuXG4gIHRyeSB7XG4gICAgbWpwZWdTb2NrZXQuZW5kKCk7XG4gICAgaWYgKG1qcGVnU2VydmVyLmxpc3RlbmluZykge1xuICAgICAgbWpwZWdTZXJ2ZXIuY2xvc2UoKTtcbiAgICB9XG4gICAgaWYgKGRldmljZVN0cmVhbWluZ1Byb2Mua2lsbCgwKSkge1xuICAgICAgZGV2aWNlU3RyZWFtaW5nUHJvYy5raWxsKCdTSUdJTlQnKTtcbiAgICB9XG4gICAgaWYgKGdzdHJlYW1lclBpcGVsaW5lLmlzUnVubmluZykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZ3N0cmVhbWVyUGlwZWxpbmUuc3RvcCgnU0lHSU5UJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRoaXMubG9nLndhcm4oZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgZ3N0cmVhbWVyUGlwZWxpbmUuc3RvcCgnU0lHS0lMTCcpO1xuICAgICAgICB9IGNhdGNoIChlMSkge1xuICAgICAgICAgIHRoaXMubG9nLmVycm9yKGUxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmxvZy5pbmZvKGBTdWNjZXNzZnVsbHkgdGVybWluYXRlZCB0aGUgc2NyZWVuIHN0cmVhbWluZyBNSlBFRyBzZXJ2ZXJgKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0aGlzLl9zY3JlZW5TdHJlYW1pbmdQcm9wcyA9IG51bGw7XG4gIH1cbn07XG5cblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEsUUFBUSxHQUFHLEVBQWpCO0FBRUEsTUFBTUMsc0JBQXNCLEdBQUcsQ0FBL0I7QUFDQSxNQUFNQyw0QkFBNEIsR0FBRyxJQUFyQztBQUNBLE1BQU1DLGdCQUFnQixHQUFJLGlCQUFnQkMsZUFBQSxDQUFPQyxTQUFQLEtBQXFCLE1BQXJCLEdBQThCLEVBQUcsRUFBM0U7QUFDQSxNQUFNQyxrQkFBa0IsR0FBSSxrQkFBaUJGLGVBQUEsQ0FBT0MsU0FBUCxLQUFxQixNQUFyQixHQUE4QixFQUFHLEVBQTlFO0FBQ0EsTUFBTUUsb0JBQW9CLEdBQUc7RUFDM0JDLFVBQVUsRUFBRSxXQURlO0VBRTNCQyxTQUFTLEVBQUUsaUJBRmdCO0VBRzNCQyxPQUFPLEVBQUUsa0JBSGtCO0VBSTNCQyxhQUFhLEVBQUUsa0JBSlk7RUFLM0JDLFlBQVksRUFBRTtBQUxhLENBQTdCO0FBT0EsTUFBTUMsbUJBQW1CLEdBQUcsY0FBNUI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyx1RUFBekI7QUFDQSxNQUFNQyxZQUFZLEdBQUcsV0FBckI7QUFDQSxNQUFNQyxRQUFRLEdBQUcsV0FBakI7QUFDQSxNQUFNQyxZQUFZLEdBQUcsSUFBckI7QUFDQSxNQUFNQyxlQUFlLEdBQUcsRUFBeEI7QUFD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
|
|
@@ -118,7 +118,5 @@ commands.getSystemBars = async function getSystemBars() {
|
|
|
118
118
|
};
|
|
119
119
|
|
|
120
120
|
var _default = commands;
|
|
121
|
-
exports.default = _default;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbW1hbmRzL3N5c3RlbS1iYXJzLmpzIiwibmFtZXMiOlsiV0lORE9XX1RJVExFX1BBVFRFUk4iLCJGUkFNRV9QQVRURVJOIiwiVklFV19WSVNJQklMSVRZX1BBVFRFUk4iLCJWSUVXX1ZJU0lCTEUiLCJTVEFUVVNfQkFSX1dJTkRPV19OQU1FX1BSRUZJWCIsIk5BVklHQVRJT05fQkFSX1dJTkRPV19OQU1FX1BSRUZJWCIsIkRFRkFVTFRfV0lORE9XX1BST1BFUlRJRVMiLCJ2aXNpYmxlIiwieCIsInkiLCJ3aWR0aCIsImhlaWdodCIsImNvbW1hbmRzIiwicGFyc2VXaW5kb3dQcm9wZXJ0aWVzIiwibmFtZSIsInByb3BzIiwibG9nIiwicmVzdWx0IiwiXyIsImNsb25lRGVlcCIsInByb3BMaW5lcyIsImpvaW4iLCJmcmFtZU1hdGNoIiwiZXhlYyIsImRlYnVnIiwiRXJyb3IiLCJwYXJzZUZsb2F0IiwidmlzaWJpbGl0eU1hdGNoIiwicGFyc2VJbnQiLCJwYXJzZVdpbmRvd3MiLCJsaW5lcyIsIndpbmRvd3MiLCJjdXJyZW50V2luZG93TmFtZSIsImxpbmUiLCJzcGxpdCIsIm1hcCIsInRyaW1FbmQiLCJtYXRjaCIsInRyaW0iLCJsZW5ndGgiLCJpc0FycmF5IiwicHVzaCIsImlzRW1wdHkiLCJzdGF0dXNCYXIiLCJuYXZpZ2F0aW9uQmFyIiwidG9QYWlycyIsInN0YXJ0c1dpdGgiLCJ1bm1hdGNoZWRXaW5kb3dzIiwiZmlsdGVyIiwiaXNOaWwiLCJ3aW5kb3ciLCJuYW1lUHJlZml4IiwiaW5mbyIsImtleXMiLCJnZXRTeXN0ZW1CYXJzIiwic3Rkb3V0IiwiYWRiIiwic2hlbGwiLCJlIiwibWVzc2FnZSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9jb21tYW5kcy9zeXN0ZW0tYmFycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCBXSU5ET1dfVElUTEVfUEFUVEVSTiA9IC9eXFxzK1dpbmRvd1xccyNcXGQrXFxzV2luZG93XFx7WzAtOWEtZl0rXFxzXFx3K1xccyhbXFx3LV0rKVxcfTokLztcbmNvbnN0IEZSQU1FX1BBVFRFUk4gPSAvXFxibT9bRmZdcmFtZT1cXFsoWzAtOS4tXSspLChbMC05Li1dKylcXF1cXFsoWzAtOS4tXSspLChbMC05Li1dKylcXF0vO1xuY29uc3QgVklFV19WSVNJQklMSVRZX1BBVFRFUk4gPSAvXFxibVZpZXdWaXNpYmlsaXR5PSgweFswLTlhLWZBLUZdKykvO1xuLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvdmlldy9WaWV3I1ZJU0lCTEVcbmNvbnN0IFZJRVdfVklTSUJMRSA9IDB4MDtcbmNvbnN0IFNUQVRVU19CQVJfV0lORE9XX05BTUVfUFJFRklYID0gJ1N0YXR1c0Jhcic7XG5jb25zdCBOQVZJR0FUSU9OX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVggPSAnTmF2aWdhdGlvbkJhcic7XG5jb25zdCBERUZBVUxUX1dJTkRPV19QUk9QRVJUSUVTID0ge1xuICB2aXNpYmxlOiBmYWxzZSxcbiAgeDogMCwgeTogMCwgd2lkdGg6IDAsIGhlaWdodDogMCxcbn07XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gV2luZG93UHJvcGVydGllc1xuICogQHByb3BlcnR5IHtib29sZWFufSB2aXNpYmxlIFdoZXRoZXIgdGhlIHdpbmRvdyBpcyB2aXNpYmxlXG4gKiBAcHJvcGVydHkge251bWJlcn0geCBXaW5kb3cgeCBjb29yZGluYXRlXG4gKiBAcHJvcGVydHkge251bWJlcn0geSBXaW5kb3cgeSBjb29yZGluYXRlXG4gKiBAcHJvcGVydHkge251bWJlcn0gd2lkdGggV2luZG93IHdpZHRoXG4gKiBAcHJvcGVydHkge251bWJlcn0gaGVpZ2h0IFdpbmRvdyBoZWlnaHRcbiAqL1xuXG4vKipcbiAqIFBhcnNlcyB3aW5kb3cgcHJvcGVydGllcyBmcm9tIGFkYiBkdW1wc3lzIG91dHB1dFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB3aW5kb3cgd2hvc2UgcHJvcGVydGllcyBhcmUgYmVpbmcgcGFyc2VkXG4gKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IHByb3BzIFRoZSBsaXN0IG9mIHBhcnRpY3VsYXIgd2luZG93IHByb3BlcnR5IGxpbmVzLlxuICogQ2hlY2sgdGhlIGNvcnJlc3BvbmRpbmcgdW5pdCB0ZXN0cyBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBpbnB1dCBmb3JtYXQuXG4gKiBAcGFyYW0ge09iamVjdD99IGxvZyBMb2dnZXIgaW5zdGFuY2VcbiAqIEByZXR1cm5zIHtXaW5kb3dQcm9wZXJ0aWVzfSBQYXJzZWQgcHJvcGVydGllcyBvYmplY3RcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGVyZSB3YXMgYW4gaXNzdWUgd2hpbGUgcGFyc2luZyB0aGUgcHJvcGVydGllcyBzdHJpbmdcbiAqL1xuZnVuY3Rpb24gcGFyc2VXaW5kb3dQcm9wZXJ0aWVzIChuYW1lLCBwcm9wcywgbG9nID0gbnVsbCkge1xuICBjb25zdCByZXN1bHQgPSBfLmNsb25lRGVlcChERUZBVUxUX1dJTkRPV19QUk9QRVJUSUVTKTtcbiAgY29uc3QgcHJvcExpbmVzID0gcHJvcHMuam9pbignXFxuJyk7XG4gIGNvbnN0IGZyYW1lTWF0Y2ggPSBGUkFNRV9QQVRURVJOLmV4ZWMocHJvcExpbmVzKTtcbiAgaWYgKCFmcmFtZU1hdGNoKSB7XG4gICAgbG9nPy5kZWJ1Zyhwcm9wTGluZXMpO1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHBhcnNlIHRoZSBmcmFtZSBzaXplIGZyb20gJyR7bmFtZX0nIHdpbmRvdyBwcm9wZXJ0aWVzYCk7XG4gIH1cbiAgcmVzdWx0LnggPSBwYXJzZUZsb2F0KGZyYW1lTWF0Y2hbMV0pO1xuICByZXN1bHQueSA9IHBhcnNlRmxvYXQoZnJhbWVNYXRjaFsyXSk7XG4gIHJlc3VsdC53aWR0aCA9IHBhcnNlRmxvYXQoZnJhbWVNYXRjaFszXSkgLSByZXN1bHQueDtcbiAgcmVzdWx0LmhlaWdodCA9IHBhcnNlRmxvYXQoZnJhbWVNYXRjaFs0XSkgLSByZXN1bHQueTtcbiAgY29uc3QgdmlzaWJpbGl0eU1hdGNoID0gVklFV19WSVNJQklMSVRZX1BBVFRFUk4uZXhlYyhwcm9wTGluZXMpO1xuICBpZiAoIXZpc2liaWxpdHlNYXRjaCkge1xuICAgIGxvZz8uZGVidWcocHJvcExpbmVzKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBwYXJzZSB0aGUgdmlzaWJpbGl0eSB2YWx1ZSBmcm9tICcke25hbWV9JyB3aW5kb3cgcHJvcGVydGllc2ApO1xuICB9XG4gIHJlc3VsdC52aXNpYmxlID0gcGFyc2VJbnQodmlzaWJpbGl0eU1hdGNoWzFdLCAxNikgPT09IFZJRVdfVklTSUJMRTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyBzdGF0dXMgYW5kIG5hdmlnYXRpb24gYmFyIGluZm9ybWF0aW9uIGZyb20gdGhlIHdpbmRvdyBtYW5hZ2VyIG91dHB1dC5cbiAqXG4gKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IGxpbmVzIE91dHB1dCBmcm9tIGR1bXBzeXMgY29tbWFuZC5cbiAqIENoZWNrIHRoZSBjb3JyZXNwb25kaW5nIHVuaXQgdGVzdHMgZm9yIG1vcmUgZGV0YWlscyBvbiB0aGUgaW5wdXQgZm9ybWF0LlxuICogQHBhcmFtIHtPYmplY3Q/fSBsb2cgTG9nZ2VyIGluc3RhbmNlXG4gKiBAcmV0dXJuIHtPYmplY3R9IEFuIG9iamVjdCBjb250YWluaW5nIHR3byBpdGVtcyB3aGVyZSBrZXlzIGFyZSBzdGF0dXNCYXIgYW5kIG5hdmlnYXRpb25CYXIsXG4gKiBhbmQgdmFsdWVzIGFyZSBjb3JyZXNwb25kaW5nIFdpbmRvd1Byb3BlcnRpZXMgb2JqZWN0c1xuICogQHRocm93cyB7RXJyb3J9IElmIG5vIHdpbmRvdyBwcm9wZXJ0aWVzIGNvdWxkIGJlIHBhcnNlZFxuICovXG5mdW5jdGlvbiBwYXJzZVdpbmRvd3MgKGxpbmVzLCBsb2cgPSBudWxsKSB7XG4gIGNvbnN0IHdpbmRvd3MgPSB7fTtcbiAgbGV0IGN1cnJlbnRXaW5kb3dOYW1lID0gbnVsbDtcbiAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzLnNwbGl0KCdcXG4nKS5tYXAoXy50cmltRW5kKSkge1xuICAgIGNvbnN0IG1hdGNoID0gV0lORE9XX1RJVExFX1BBVFRFUk4uZXhlYyhsaW5lKTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGN1cnJlbnRXaW5kb3dOYW1lID0gbWF0Y2hbMV07XG4gICAgICB3aW5kb3dzW2N1cnJlbnRXaW5kb3dOYW1lXSA9IFtdO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChfLnRyaW0obGluZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICBjdXJyZW50V2luZG93TmFtZSA9IG51bGw7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudFdpbmRvd05hbWUgJiYgXy5pc0FycmF5KHdpbmRvd3NbY3VycmVudFdpbmRvd05hbWVdKSkge1xuICAgICAgd2luZG93c1tjdXJyZW50V2luZG93TmFtZV0ucHVzaChsaW5lKTtcbiAgICB9XG4gIH1cbiAgaWYgKF8uaXNFbXB0eSh3aW5kb3dzKSkge1xuICAgIGxvZz8uZGVidWcobGluZXMuam9pbignXFxuJykpO1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHBhcnNlIGFueSB3aW5kb3cgaW5mb3JtYXRpb24gZnJvbSB0aGUgZHVtcHN5cyBvdXRwdXQnKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHtzdGF0dXNCYXI6IG51bGwsIG5hdmlnYXRpb25CYXI6IG51bGx9O1xuICBmb3IgKGNvbnN0IFtuYW1lLCBwcm9wc10gb2YgXy50b1BhaXJzKHdpbmRvd3MpKSB7XG4gICAgaWYgKG5hbWUuc3RhcnRzV2l0aChTVEFUVVNfQkFSX1dJTkRPV19OQU1FX1BSRUZJWCkpIHtcbiAgICAgIHJlc3VsdC5zdGF0dXNCYXIgPSBwYXJzZVdpbmRvd1Byb3BlcnRpZXMobmFtZSwgcHJvcHMsIGxvZyk7XG4gICAgfSBlbHNlIGlmIChuYW1lLnN0YXJ0c1dpdGgoTkFWSUdBVElPTl9CQVJfV0lORE9XX05BTUVfUFJFRklYKSkge1xuICAgICAgcmVzdWx0Lm5hdmlnYXRpb25CYXIgPSBwYXJzZVdpbmRvd1Byb3BlcnRpZXMobmFtZSwgcHJvcHMsIGxvZyk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHVubWF0Y2hlZFdpbmRvd3MgPSBbXG4gICAgWydzdGF0dXNCYXInLCBTVEFUVVNfQkFSX1dJTkRPV19OQU1FX1BSRUZJWF0sXG4gICAgWyduYXZpZ2F0aW9uQmFyJywgTkFWSUdBVElPTl9CQVJfV0lORE9XX05BTUVfUFJFRklYXVxuICBdLmZpbHRlcigoW25hbWVdKSA9PiBfLmlzTmlsKHJlc3VsdFtuYW1lXSkpO1xuICBmb3IgKGNvbnN0IFt3aW5kb3csIG5hbWVQcmVmaXhdIG9mIHVubWF0Y2hlZFdpbmRvd3MpIHtcbiAgICBsb2c/LmluZm8oYE5vIHdpbmRvd3MgaGF2ZSBiZWVuIGZvdW5kIHdob3NlIHRpdGxlIG1hdGNoZXMgdG8gYCArXG4gICAgICBgJyR7bmFtZVByZWZpeH0nLiBBc3N1bWluZyBpdCBpcyBpbnZpc2libGUuIGAgK1xuICAgICAgYE9ubHkgdGhlIGZvbGxvd2luZyB3aW5kb3dzIGFyZSBhdmFpbGFibGU6ICR7Xy5rZXlzKHdpbmRvd3MpfWApO1xuICAgIHJlc3VsdFt3aW5kb3ddID0gXy5jbG9uZURlZXAoREVGQVVMVF9XSU5ET1dfUFJPUEVSVElFUyk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuY29tbWFuZHMuZ2V0U3lzdGVtQmFycyA9IGFzeW5jIGZ1bmN0aW9uIGdldFN5c3RlbUJhcnMgKCkge1xuICBsZXQgc3Rkb3V0O1xuICB0cnkge1xuICAgIHN0ZG91dCA9IGF3YWl0IHRoaXMuYWRiLnNoZWxsKFsnZHVtcHN5cycsICd3aW5kb3cnLCAnd2luZG93cyddKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJldHJpZXZlIHN5c3RlbSBiYXJzIGRldGFpbHMuIE9yaWdpbmFsIGVycm9yOiAke2UubWVzc2FnZX1gKTtcbiAgfVxuICByZXR1cm4gcGFyc2VXaW5kb3dzKHN0ZG91dCwgdGhpcy5sb2cpO1xufTtcblxuLy8gZm9yIHVuaXQgdGVzdHNcbmV4cG9ydCB7IHBhcnNlV2luZG93cywgcGFyc2VXaW5kb3dQcm9wZXJ0aWVzIH07XG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLG9CQUFvQixHQUFHLHdEQUE3QjtBQUNBLE1BQU1DLGFBQWEsR0FBRyxpRUFBdEI7QUFDQSxNQUFNQyx1QkFBdUIsR0FBRyxvQ0FBaEM7QUFFQSxNQUFNQyxZQUFZLEdBQUcsR0FBckI7QUFDQSxNQUFNQyw2QkFBNkIsR0FBRyxXQUF0QztBQUNBLE1BQU1DLGlDQUFpQyxHQUFHLGVBQTFDO0FBQ0EsTUFBTUMseUJBQXlCLEdBQUc7RUFDaENDLE9BQU8sRUFBRSxLQUR1QjtFQUVoQ0MsQ0FBQyxFQUFFLENBRjZCO0VBRTFCQyxDQUFDLEVBQUUsQ0FGdUI7RUFFcEJDLEtBQUssRUFBRSxDQUZhO0VBRVZDLE1BQU0sRUFBRTtBQUZFLENBQWxDO0FBS0EsTUFBTUMsUUFBUSxHQUFHLEVBQWpCOztBQXFCQSxTQUFTQyxxQkFBVCxDQUFnQ0MsSUFBaEMsRUFBc0NDLEtBQXRDLEVBQTZDQyxHQUFHLEdBQUcsSUFBbkQsRUFBeUQ7RUFDdkQsTUFBTUMsTUFBTSxHQUFHQyxlQUFBLENBQUVDLFNBQUYsQ0FBWWIseUJBQVosQ0FBZjs7RUFDQSxNQUFNYyxTQUFTLEdBQUdMLEtBQUssQ0FBQ00sSUFBTixDQUFXLElBQVgsQ0FBbEI7RUFDQSxNQUFNQyxVQUFVLEdBQUdyQixhQUFhLENBQUNzQixJQUFkLENBQW1CSCxTQUFuQixDQUFuQjs7RUFDQSxJQUFJLENBQUNFLFVBQUwsRUFBaUI7SUFDZk4sR0FBRyxTQUFILElB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
|
|
121
|
+
exports.default = _default;
|
|
122
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJXSU5ET1dfVElUTEVfUEFUVEVSTiIsIkZSQU1FX1BBVFRFUk4iLCJWSUVXX1ZJU0lCSUxJVFlfUEFUVEVSTiIsIlZJRVdfVklTSUJMRSIsIlNUQVRVU19CQVJfV0lORE9XX05BTUVfUFJFRklYIiwiTkFWSUdBVElPTl9CQVJfV0lORE9XX05BTUVfUFJFRklYIiwiREVGQVVMVF9XSU5ET1dfUFJPUEVSVElFUyIsInZpc2libGUiLCJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0IiwiY29tbWFuZHMiLCJwYXJzZVdpbmRvd1Byb3BlcnRpZXMiLCJuYW1lIiwicHJvcHMiLCJsb2ciLCJyZXN1bHQiLCJfIiwiY2xvbmVEZWVwIiwicHJvcExpbmVzIiwiam9pbiIsImZyYW1lTWF0Y2giLCJleGVjIiwiZGVidWciLCJFcnJvciIsInBhcnNlRmxvYXQiLCJ2aXNpYmlsaXR5TWF0Y2giLCJwYXJzZUludCIsInBhcnNlV2luZG93cyIsImxpbmVzIiwid2luZG93cyIsImN1cnJlbnRXaW5kb3dOYW1lIiwibGluZSIsInNwbGl0IiwibWFwIiwidHJpbUVuZCIsIm1hdGNoIiwidHJpbSIsImxlbmd0aCIsImlzQXJyYXkiLCJwdXNoIiwiaXNFbXB0eSIsInN0YXR1c0JhciIsIm5hdmlnYXRpb25CYXIiLCJ0b1BhaXJzIiwic3RhcnRzV2l0aCIsInVubWF0Y2hlZFdpbmRvd3MiLCJmaWx0ZXIiLCJpc05pbCIsIndpbmRvdyIsIm5hbWVQcmVmaXgiLCJpbmZvIiwia2V5cyIsImdldFN5c3RlbUJhcnMiLCJzdGRvdXQiLCJhZGIiLCJzaGVsbCIsImUiLCJtZXNzYWdlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL3N5c3RlbS1iYXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmNvbnN0IFdJTkRPV19USVRMRV9QQVRURVJOID0gL15cXHMrV2luZG93XFxzI1xcZCtcXHNXaW5kb3dcXHtbMC05YS1mXStcXHNcXHcrXFxzKFtcXHctXSspXFx9OiQvO1xuY29uc3QgRlJBTUVfUEFUVEVSTiA9IC9cXGJtP1tGZl1yYW1lPVxcWyhbMC05Li1dKyksKFswLTkuLV0rKVxcXVxcWyhbMC05Li1dKyksKFswLTkuLV0rKVxcXS87XG5jb25zdCBWSUVXX1ZJU0lCSUxJVFlfUEFUVEVSTiA9IC9cXGJtVmlld1Zpc2liaWxpdHk9KDB4WzAtOWEtZkEtRl0rKS87XG4vLyBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZC92aWV3L1ZpZXcjVklTSUJMRVxuY29uc3QgVklFV19WSVNJQkxFID0gMHgwO1xuY29uc3QgU1RBVFVTX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVggPSAnU3RhdHVzQmFyJztcbmNvbnN0IE5BVklHQVRJT05fQkFSX1dJTkRPV19OQU1FX1BSRUZJWCA9ICdOYXZpZ2F0aW9uQmFyJztcbmNvbnN0IERFRkFVTFRfV0lORE9XX1BST1BFUlRJRVMgPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwLFxufTtcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBXaW5kb3dQcm9wZXJ0aWVzXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHZpc2libGUgV2hldGhlciB0aGUgd2luZG93IGlzIHZpc2libGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB4IFdpbmRvdyB4IGNvb3JkaW5hdGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB5IFdpbmRvdyB5IGNvb3JkaW5hdGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB3aWR0aCBXaW5kb3cgd2lkdGhcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBoZWlnaHQgV2luZG93IGhlaWdodFxuICovXG5cbi8qKlxuICogUGFyc2VzIHdpbmRvdyBwcm9wZXJ0aWVzIGZyb20gYWRiIGR1bXBzeXMgb3V0cHV0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHdpbmRvdyB3aG9zZSBwcm9wZXJ0aWVzIGFyZSBiZWluZyBwYXJzZWRcbiAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gcHJvcHMgVGhlIGxpc3Qgb2YgcGFydGljdWxhciB3aW5kb3cgcHJvcGVydHkgbGluZXMuXG4gKiBDaGVjayB0aGUgY29ycmVzcG9uZGluZyB1bml0IHRlc3RzIGZvciBtb3JlIGRldGFpbHMgb24gdGhlIGlucHV0IGZvcm1hdC5cbiAqIEBwYXJhbSB7T2JqZWN0P30gbG9nIExvZ2dlciBpbnN0YW5jZVxuICogQHJldHVybnMge1dpbmRvd1Byb3BlcnRpZXN9IFBhcnNlZCBwcm9wZXJ0aWVzIG9iamVjdFxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhbiBpc3N1ZSB3aGlsZSBwYXJzaW5nIHRoZSBwcm9wZXJ0aWVzIHN0cmluZ1xuICovXG5mdW5jdGlvbiBwYXJzZVdpbmRvd1Byb3BlcnRpZXMgKG5hbWUsIHByb3BzLCBsb2cgPSBudWxsKSB7XG4gIGNvbnN0IHJlc3VsdCA9IF8uY2xvbmVEZWVwKERFRkFVTFRfV0lORE9XX1BST1BFUlRJRVMpO1xuICBjb25zdCBwcm9wTGluZXMgPSBwcm9wcy5qb2luKCdcXG4nKTtcbiAgY29uc3QgZnJhbWVNYXRjaCA9IEZSQU1FX1BBVFRFUk4uZXhlYyhwcm9wTGluZXMpO1xuICBpZiAoIWZyYW1lTWF0Y2gpIHtcbiAgICBsb2c/LmRlYnVnKHByb3BMaW5lcyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcGFyc2UgdGhlIGZyYW1lIHNpemUgZnJvbSAnJHtuYW1lfScgd2luZG93IHByb3BlcnRpZXNgKTtcbiAgfVxuICByZXN1bHQueCA9IHBhcnNlRmxvYXQoZnJhbWVNYXRjaFsxXSk7XG4gIHJlc3VsdC55ID0gcGFyc2VGbG9hdChmcmFtZU1hdGNoWzJdKTtcbiAgcmVzdWx0LndpZHRoID0gcGFyc2VGbG9hdChmcmFtZU1hdGNoWzNdKSAtIHJlc3VsdC54O1xuICByZXN1bHQuaGVpZ2h0ID0gcGFyc2VGbG9hdChmcmFtZU1hdGNoWzRdKSAtIHJlc3VsdC55O1xuICBjb25zdCB2aXNpYmlsaXR5TWF0Y2ggPSBWSUVXX1ZJU0lCSUxJVFlfUEFUVEVSTi5leGVjKHByb3BMaW5lcyk7XG4gIGlmICghdmlzaWJpbGl0eU1hdGNoKSB7XG4gICAgbG9nPy5kZWJ1Zyhwcm9wTGluZXMpO1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHBhcnNlIHRoZSB2aXNpYmlsaXR5IHZhbHVlIGZyb20gJyR7bmFtZX0nIHdpbmRvdyBwcm9wZXJ0aWVzYCk7XG4gIH1cbiAgcmVzdWx0LnZpc2libGUgPSBwYXJzZUludCh2aXNpYmlsaXR5TWF0Y2hbMV0sIDE2KSA9PT0gVklFV19WSVNJQkxFO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHN0YXR1cyBhbmQgbmF2aWdhdGlvbiBiYXIgaW5mb3JtYXRpb24gZnJvbSB0aGUgd2luZG93IG1hbmFnZXIgb3V0cHV0LlxuICpcbiAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gbGluZXMgT3V0cHV0IGZyb20gZHVtcHN5cyBjb21tYW5kLlxuICogQ2hlY2sgdGhlIGNvcnJlc3BvbmRpbmcgdW5pdCB0ZXN0cyBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBpbnB1dCBmb3JtYXQuXG4gKiBAcGFyYW0ge09iamVjdD99IGxvZyBMb2dnZXIgaW5zdGFuY2VcbiAqIEByZXR1cm4ge09iamVjdH0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdHdvIGl0ZW1zIHdoZXJlIGtleXMgYXJlIHN0YXR1c0JhciBhbmQgbmF2aWdhdGlvbkJhcixcbiAqIGFuZCB2YWx1ZXMgYXJlIGNvcnJlc3BvbmRpbmcgV2luZG93UHJvcGVydGllcyBvYmplY3RzXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgbm8gd2luZG93IHByb3BlcnRpZXMgY291bGQgYmUgcGFyc2VkXG4gKi9cbmZ1bmN0aW9uIHBhcnNlV2luZG93cyAobGluZXMsIGxvZyA9IG51bGwpIHtcbiAgY29uc3Qgd2luZG93cyA9IHt9O1xuICBsZXQgY3VycmVudFdpbmRvd05hbWUgPSBudWxsO1xuICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMuc3BsaXQoJ1xcbicpLm1hcChfLnRyaW1FbmQpKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBXSU5ET1dfVElUTEVfUEFUVEVSTi5leGVjKGxpbmUpO1xuICAgIGlmIChtYXRjaCkge1xuICAgICAgY3VycmVudFdpbmRvd05hbWUgPSBtYXRjaFsxXTtcbiAgICAgIHdpbmRvd3NbY3VycmVudFdpbmRvd05hbWVdID0gW107XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKF8udHJpbShsaW5lKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGN1cnJlbnRXaW5kb3dOYW1lID0gbnVsbDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50V2luZG93TmFtZSAmJiBfLmlzQXJyYXkod2luZG93c1tjdXJyZW50V2luZG93TmFtZV0pKSB7XG4gICAgICB3aW5kb3dzW2N1cnJlbnRXaW5kb3dOYW1lXS5wdXNoKGxpbmUpO1xuICAgIH1cbiAgfVxuICBpZiAoXy5pc0VtcHR5KHdpbmRvd3MpKSB7XG4gICAgbG9nPy5kZWJ1ZyhsaW5lcy5qb2luKCdcXG4nKSk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcGFyc2UgYW55IHdpbmRvdyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBkdW1wc3lzIG91dHB1dCcpO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0ge3N0YXR1c0JhcjogbnVsbCwgbmF2aWdhdGlvbkJhcjogbnVsbH07XG4gIGZvciAoY29uc3QgW25hbWUsIHByb3BzXSBvZiBfLnRvUGFpcnMod2luZG93cykpIHtcbiAgICBpZiAobmFtZS5zdGFydHNXaXRoKFNUQVRVU19CQVJfV0lORE9XX05BTUVfUFJFRklYKSkge1xuICAgICAgcmVzdWx0LnN0YXR1c0JhciA9IHBhcnNlV2luZG93UHJvcGVydGllcyhuYW1lLCBwcm9wcywgbG9nKTtcbiAgICB9IGVsc2UgaWYgKG5hbWUuc3RhcnRzV2l0aChOQVZJR0FUSU9OX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVgpKSB7XG4gICAgICByZXN1bHQubmF2aWdhdGlvbkJhciA9IHBhcnNlV2luZG93UHJvcGVydGllcyhuYW1lLCBwcm9wcywgbG9nKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgdW5tYXRjaGVkV2luZG93cyA9IFtcbiAgICBbJ3N0YXR1c0JhcicsIFNUQVRVU19CQVJfV0lORE9XX05BTUVfUFJFRklYXSxcbiAgICBbJ25hdmlnYXRpb25CYXInLCBOQVZJR0FUSU9OX0JBUl9XSU5ET1dfTkFNRV9QUkVGSVhdXG4gIF0uZmlsdGVyKChbbmFtZV0pID0+IF8uaXNOaWwocmVzdWx0W25hbWVdKSk7XG4gIGZvciAoY29uc3QgW3dpbmRvdywgbmFtZVByZWZpeF0gb2YgdW5tYXRjaGVkV2luZG93cykge1xuICAgIGxvZz8uaW5mbyhgTm8gd2luZG93cyBoYXZlIGJlZW4gZm91bmQgd2hvc2UgdGl0bGUgbWF0Y2hlcyB0byBgICtcbiAgICAgIGAnJHtuYW1lUHJlZml4fScuIEFzc3VtaW5nIGl0IGlzIGludmlzaWJsZS4gYCArXG4gICAgICBgT25seSB0aGUgZm9sbG93aW5nIHdpbmRvd3MgYXJlIGF2YWlsYWJsZTogJHtfLmtleXMod2luZG93cyl9YCk7XG4gICAgcmVzdWx0W3dpbmRvd10gPSBfLmNsb25lRGVlcChERUZBVUxUX1dJTkRPV19QUk9QRVJUSUVTKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5jb21tYW5kcy5nZXRTeXN0ZW1CYXJzID0gYXN5bmMgZnVuY3Rpb24gZ2V0U3lzdGVtQmFycyAoKSB7XG4gIGxldCBzdGRvdXQ7XG4gIHRyeSB7XG4gICAgc3Rkb3V0ID0gYXdhaXQgdGhpcy5hZGIuc2hlbGwoWydkdW1wc3lzJywgJ3dpbmRvdycsICd3aW5kb3dzJ10pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmV0cmlldmUgc3lzdGVtIGJhcnMgZGV0YWlscy4gT3JpZ2luYWwgZXJyb3I6ICR7ZS5tZXNzYWdlfWApO1xuICB9XG4gIHJldHVybiBwYXJzZVdpbmRvd3Moc3Rkb3V0LCB0aGlzLmxvZyk7XG59O1xuXG4vLyBmb3IgdW5pdCB0ZXN0c1xuZXhwb3J0IHsgcGFyc2VXaW5kb3dzLCBwYXJzZVdpbmRvd1Byb3BlcnRpZXMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUEsTUFBTUEsb0JBQW9CLEdBQUcsd0RBQTdCO0FBQ0EsTUFBTUMsYUFBYSxHQUFHLGlFQUF0QjtBQUNBLE1BQU1DLHVCQUF1QixHQUFHLG9DQUFoQztBQUVBLE1BQU1DLFlBQVksR0FBRyxHQUFyQjtBQUNBLE1BQU1DLDZCQUE2QixHQUFHLFdBQXRDO0FBQ0EsTUFBTUMsaUNBQWlDLEdBQUcsZUFBMUM7QUFDQSxNQUFNQyx5QkFBeUIsR0FBRztFQUNoQ0MsT0FBTyxFQUFFLEtBRHVCO0VBRWhDQyxDQUFDLEVBQUUsQ0FGNkI7RUFFMUJDLENBQUMsRUFBRSxDQUZ1QjtFQUVwQkMsS0FBSyxFQUFFLENBRmE7RUFFVkMsTUFBTSxFQUFFO0FBRkUsQ0FBbEM7QUFLQSxNQUFNQyxRQUFRLEdBQUcsRUFBakI7O0FBcUJBLFNBQVNDLHFCQUFULENBQWdDQyxJQUFoQyxFQUFzQ0MsS0FBdEMsRUFBNkNDLEdBQUcsR0FBRyxJQUFuRCxFQUF5RDtFQUN2RCxNQUFNQyxNQUFNLEdBQUdDLGVBQUEsQ0FBRUMsU0FBRixDQUFZYix5QkFBWixDQUFmOztFQUNBLE1BQU1jLFNBQVMsR0FBR0wsS0FBSyxDQUFDTSxJQUFOLENBQVcsSUFBWCxDQUFsQjtFQUNBLE1BQU1DLFVBQVUsR0FBR3JCLGFBQWEsQ0FBQ3NCLElBQWQsQ0FBbUJILFNBQW5CLENBQW5COztFQUNBLElBQUksQ0FBQ0UsVUFBTCxFQUFpQjtJQUNmTixHQUFHLFNBQUgsSUFBQUEsR0FBRyxXQUFILFlBQUFBLEdBQUcsQ0FBRVEsS0FBTCxDQUFXSixTQUFYO0lBQ0Es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
|
|
@@ -392,7 +392,5 @@ commands.doPerformMultiAction = async function doPerformMultiAction(elementId, s
|
|
|
392
392
|
|
|
393
393
|
Object.assign(extensions, commands, helpers);
|
|
394
394
|
var _default = extensions;
|
|
395
|
-
exports.default = _default;
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbW1hbmRzL3RvdWNoLmpzIiwibmFtZXMiOlsiY29tbWFuZHMiLCJoZWxwZXJzIiwiZXh0ZW5zaW9ucyIsImdldENvb3JkRGVmYXVsdCIsInZhbCIsInV0aWwiLCJoYXNWYWx1ZSIsImdldFN3aXBlVG91Y2hEdXJhdGlvbiIsIndhaXRHZXN0dXJlIiwiZHVyYXRpb24iLCJvcHRpb25zIiwibXMiLCJkb1RvdWNoQWN0aW9uIiwiYWN0aW9uIiwib3B0cyIsImVsZW1lbnQiLCJ4IiwieSIsImNvdW50IiwidGFwIiwidG91Y2hEb3duIiwidG91Y2hVcCIsInRvdWNoTW92ZSIsIkIiLCJkZWxheSIsInRvdWNoTG9uZ0NsaWNrIiwibG9nIiwid2FybiIsImVycm9yQW5kVGhyb3ciLCJkb1RvdWNoRHJhZyIsImdlc3R1cmVzIiwibG9uZ1ByZXNzIiwibW92ZVRvIiwic3RhcnRYIiwic3RhcnRZIiwiZW5kWCIsImVuZFkiLCJnZXRMb2NhdGlvbkluVmlldyIsImFwaUxldmVsIiwiYWRiIiwiZ2V0QXBpTGV2ZWwiLCJNYXRoIiwibWF4IiwiZHJhZyIsImZpeFJlbGVhc2UiLCJyZWxlYXNlIiwiXyIsImxhc3QiLCJjbG9uZSIsInJlZiIsImdlc3R1cmUiLCJyZXZlcnNlIiwibG9jIiwic2l6ZSIsImdldFNpemUiLCJ3aWR0aCIsImhlaWdodCIsInBpY2siLCJwZXJmb3JtR2VzdHVyZSIsImUiLCJpc0Vycm9yVHlwZSIsImVycm9ycyIsIk5vU3VjaEVsZW1lbnRFcnJvciIsImRlYnVnIiwiZ2V0U3dpcGVPcHRpb25zIiwidG91Y2hDb3VudCIsImRlc3RFbGVtZW50IiwibG9jUmVzdWx0Iiwic2l6ZVJlc3VsdCIsIm9mZnNldFgiLCJhYnMiLCJvZmZzZXRZIiwiZmlyc3RFbExvY2F0aW9uIiwicGVyZm9ybVRvdWNoIiwibGVuZ3RoIiwic3dpcGVPcHRzIiwic3dpcGUiLCJhY3Rpb25zIiwibWFwIiwiaGVhZCIsInBvcCIsInNsaWNlIiwicHJlc3MiLCJzaGlmdCIsIndhaXQiLCJmaXhlZEdlc3R1cmVzIiwicGFyc2VUb3VjaCIsImciLCJtdWx0aSIsInRvdWNoU3RhdGVPYmplY3RzIiwiYXN5bmNtYXAiLCJpbmNsdWRlcyIsIm9mZnNldCIsImVsZW1lbnRJZCIsInBvcyIsInRvdWNoU3RhdGVPYmplY3QiLCJ0aW1lT2Zmc2V0IiwicGFyc2VJbnQiLCJwcmV2UG9zIiwidGltZSIsInN0YXRlIiwiaXNVbmRlZmluZWQiLCJhbmRyb2lkSGVscGVycyIsInRydW5jYXRlRGVjaW1hbHMiLCJ0b3VjaCIsInBlcmZvcm1NdWx0aUFjdGlvbiIsIkVycm9yIiwic3RhdGVzIiwiZG9QZXJmb3JtTXVsdGlBY3Rpb24iLCJib290c3RyYXAiLCJzZW5kQWN0aW9uIiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL2NvbW1hbmRzL3RvdWNoLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgYW5kcm9pZEhlbHBlcnMgZnJvbSAnLi4vYW5kcm9pZC1oZWxwZXJzJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCB7IGVycm9ycywgaXNFcnJvclR5cGUgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcbmltcG9ydCB7IGFzeW5jbWFwIH0gZnJvbSAnYXN5bmNib3gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDb29yZERlZmF1bHQgKHZhbCkge1xuICAvLyBnb2luZyB0aGUgbG9uZyB3YXkgYW5kIGNoZWNraW5nIGZvciB1bmRlZmluZWQgYW5kIG51bGwgc2luY2VcbiAgLy8gd2UgY2FuJ3QgYmUgYXNzdXJlZCBgZWxJZGAgaXMgYSBzdHJpbmcgYW5kIG5vdCBhbiBpbnQuIFNhbWVcbiAgLy8gdGhpbmcgd2l0aCBkZXN0RWxlbWVudCBiZWxvdy5cbiAgcmV0dXJuIHV0aWwuaGFzVmFsdWUodmFsKSA/IHZhbCA6IDAuNTtcbn1cblxuZnVuY3Rpb24gZ2V0U3dpcGVUb3VjaER1cmF0aW9uICh3YWl0R2VzdHVyZSkge1xuICAvLyB0aGUgdG91Y2ggYWN0aW9uIGFwaSB1c2VzIG1zLCB3ZSB3YW50IHNlY29uZHNcbiAgLy8gMC44IGlzIHRoZSBkZWZhdWx0IHRpbWUgZm9yIHRoZSBvcGVyYXRpb25cbiAgbGV0IGR1cmF0aW9uID0gMC44O1xuICBpZiAodHlwZW9mIHdhaXRHZXN0dXJlLm9wdGlvbnMubXMgIT09ICd1bmRlZmluZWQnICYmIHdhaXRHZXN0dXJlLm9wdGlvbnMubXMpIHtcbiAgICBkdXJhdGlvbiA9IHdhaXRHZXN0dXJlLm9wdGlvbnMubXMgLyAxMDAwO1xuICAgIGlmIChkdXJhdGlvbiA9PT0gMCkge1xuICAgICAgLy8gc2V0IHRvIGEgdmVyeSBsb3cgbnVtYmVyLCBzaW5jZSB0aGV5IHdhbnRlZCBpdCBmYXN0XG4gICAgICAvLyBidXQgYmVsb3cgMC4xIGJlY29tZXMgMCBzdGVwcywgd2hpY2ggY2F1c2VzIGVycm9yc1xuICAgICAgZHVyYXRpb24gPSAwLjE7XG4gICAgfVxuICB9XG4gIHJldHVybiBkdXJhdGlvbjtcbn1cblxuY29tbWFuZHMuZG9Ub3VjaEFjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIGRvVG91Y2hBY3Rpb24gKGFjdGlvbiwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHsgZWxlbWVudCwgeCwgeSwgY291bnQsIG1zLCBkdXJhdGlvbiB9ID0gb3B0cztcbiAgLy8gcGFyc2VUb3VjaCBwcmVjYWxjdWxhdGVzIGFic29sdXRlIGVsZW1lbnQgcG9zaXRpb25zXG4gIC8vIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gcGFzcyBgZWxlbWVudGAgdG8gdGhlIGFmZmVjdGVkIGdlc3R1cmVzXG4gIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgY2FzZSAndGFwJzpcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnRhcChudWxsLCB4LCB5LCBjb3VudCk7XG4gICAgY2FzZSAncHJlc3MnOlxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudG91Y2hEb3duKG51bGwsIHgsIHkpO1xuICAgIGNhc2UgJ3JlbGVhc2UnOlxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudG91Y2hVcChlbGVtZW50LCB4LCB5KTtcbiAgICBjYXNlICdtb3ZlVG8nOlxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudG91Y2hNb3ZlKG51bGwsIHgsIHkpO1xuICAgIGNhc2UgJ3dhaXQnOlxuICAgICAgcmV0dXJuIGF3YWl0IEIuZGVsYXkobXMpO1xuICAgIGNhc2UgJ2xvbmdQcmVzcyc6XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy50b3VjaExvbmdDbGljayhudWxsLCB4LCB5LCBkdXJhdGlvbiB8fCAxMDAwKTtcbiAgICBjYXNlICdjYW5jZWwnOlxuICAgICAgLy8gVE9ETzogY2xhcmlmeSBiZWhhdmlvciBvZiAnY2FuY2VsJyBhY3Rpb24gYW5kIGZpeCB0aGlzXG4gICAgICB0aGlzLmxvZy53YXJuKCdDYW5jZWwgYWN0aW9uIGN1cnJlbnRseSBoYXMgbm8gZWZmZWN0Jyk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhpcy5sb2cuZXJyb3JBbmRUaHJvdyhgdW5rbm93biBhY3Rpb24gJHthY3Rpb259YCk7XG4gIH1cbn07XG5cbi8vIGRyYWcgaXMgKm5vdCogcHJlc3MtbW92ZS1yZWxlYXNlLCBzbyB3ZSBuZWVkIHRvIHRyYW5zbGF0ZVxuLy8gZHJhZyB3b3JrcyBmaW5lIGZvciBzY3JvbGwsIGFzIHdlbGxcbmhlbHBlcnMuZG9Ub3VjaERyYWcgPSBhc3luYyBmdW5jdGlvbiBkb1RvdWNoRHJhZyAoZ2VzdHVyZXMpIHtcbiAgbGV0IGxvbmdQcmVzcyA9IGdlc3R1cmVzWzBdO1xuICBsZXQgbW92ZVRvID0gZ2VzdHVyZXNbMV07XG4gIGxldCBzdGFydFggPSBsb25nUHJlc3Mub3B0aW9ucy54IHx8IDAsXG4gICAgICBzdGFydFkgPSBsb25nUHJlc3Mub3B0aW9ucy55IHx8IDAsXG4gICAgICBlbmRYID0gbW92ZVRvLm9wdGlvbnMueCB8fCAwLFxuICAgICAgZW5kWSA9IG1vdmVUby5vcHRpb25zLnkgfHwgMDtcbiAgaWYgKGxvbmdQcmVzcy5vcHRpb25zLmVsZW1lbnQpIHtcbiAgICBsZXQge3gsIHl9ID0gYXdhaXQgdGhpcy5nZXRMb2NhdGlvbkluVmlldyhsb25nUHJlc3Mub3B0aW9ucy5lbGVtZW50KTtcbiAgICBzdGFydFggKz0geCB8fCAwO1xuICAgIHN0YXJ0WSArPSB5IHx8IDA7XG4gIH1cbiAgaWYgKG1vdmVUby5vcHRpb25zLmVsZW1lbnQpIHtcbiAgICBsZXQge3gsIHl9ID0gYXdhaXQgdGhpcy5nZXRMb2NhdGlvbkluVmlldyhtb3ZlVG8ub3B0aW9ucy5lbGVtZW50KTtcbiAgICBlbmRYICs9IHggfHwgMDtcbiAgICBlbmRZICs9IHkgfHwgMDtcbiAgfVxuXG4gIGxldCBhcGlMZXZlbCA9IGF3YWl0IHRoaXMuYWRiLmdldEFwaUxldmVsKCk7XG4gIC8vIGxvbGxpcG9wIHRha2VzIGEgbGl0dGxlIGxvbmdlciB0byBnZXQgdGhpbmdzIHJvbGxpbmdcbiAgbGV0IGR1cmF0aW9uID0gYXBpTGV2ZWwgPj0gNSA/IDIgOiAxO1xuICAvLyBtYWtlIHN1cmUgdGhhdCBpZiB0aGUgbG9uZyBwcmVzcyBoYXMgYSBkdXJhdGlvbiwgd2UgdXNlIGl0LlxuICBpZiAobG9uZ1ByZXNzLm9wdGlvbnMgJiYgbG9uZ1ByZXNzLm9wdGlvbnMuZHVyYXRpb24pIHtcbiAgICBkdXJhdGlvbiA9IE1hdGgubWF4KGxvbmdQcmVzcy5vcHRpb25zLmR1cmF0aW9uIC8gMTAwMCwgZHVyYXRpb24pO1xuICB9XG5cbiAgLy8gYGRyYWdgIHdpbGwgdGFrZSBjYXJlIG9mIHdoZXRoZXIgdGhlcmUgaXMgYW4gZWxlbWVudCBvciBub3QgYXQgdGhhdCBsZXZlbFxuICByZXR1cm4gYXdhaXQgdGhpcy5kcmFnKHN0YXJ0WCwgc3RhcnRZLCBlbmRYLCBlbmRZLCBkdXJhdGlvbiwgMSwgbG9uZ1ByZXNzLm9wdGlvbnMuZWxlbWVudCwgbW92ZVRvLm9wdGlvbnMuZWxlbWVudCk7XG59O1xuXG4vLyBSZWxlYXNlIGdlc3R1cmUgbmVlZHMgZWxlbWVudCBvciBjby1vcmRpbmF0ZXMgdG8gcmVsZWFzZSBpdCBmcm9tIHRoYXQgcG9zaXRpb25cbi8vIG9yIGVsc2UgcmVsZWFzZSBnZXN0dXJlIGlzIHBlcmZvcm1lZCBmcm9tIGNlbnRlciBvZiB0aGUgc2NyZWVuLCBzbyB0byBmaXggaXRcbi8vIFRoaXMgbWV0aG9kIHNldHMgY28tb3JkaW5hdGVzL2VsZW1lbnQgdG8gcmVsZWFzZSBnZXN0dXJlIGlmIGl0IGhhcyBubyBvcHRpb25zIHNldCBhbHJlYWR5LlxuaGVscGVycy5maXhSZWxlYXNlID0gYXN5bmMgZnVuY3Rpb24gZml4UmVsZWFzZSAoZ2VzdHVyZXMpIHtcbiAgbGV0IHJlbGVhc2UgPSBfLmxhc3QoZ2VzdHVyZXMpO1xuICAvLyBzb21ldGltZXMgdGhlcmUgYXJlIG5vIG9wdGlvbnNcbiAgcmVsZWFzZS5vcHRpb25zID0gcmVsZWFzZS5vcHRpb25zIHx8IHt9O1xuICAvLyBub3RoaW5nIHRvIGRvIGlmIHJlbGVhc2Ugb3B0aW9ucyBhcmUgYWxyZWFkeSBzZXRcbiAgaWYgKHJlbGVhc2Uub3B0aW9ucy5lbGVtZW50IHx8IChyZWxlYXNlLm9wdGlvbnMueCAmJiByZWxlYXNlLm9wdGlvbnMueSkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLy8gd2l0aG91dCBjb29yZGluYXRlcywgYHJlbGVhc2VgIHVzZXMgdGhlIGNlbnRlciBvZiB0aGUgc2NyZWVuLCB3aGljaCxcbiAgLy8gZ2VuZXJhbGx5IHNwZWFraW5nLCBpcyBub3Qgd2hhdCB3ZSB3YW50XG4gIC8vIHRoZXJlZm9yZTogbG9vcCBiYWNrd2FyZHMgYW5kIHVzZSB0aGUgbGFzdCBjb21tYW5kIHdpdGggYW4gZWxlbWVudCBhbmQvb3JcbiAgLy8gb2Zmc2V0IGNvb3JkaW5hdGVzXG4gIGdlc3R1cmVzID0gXy5jbG9uZShnZXN0dXJlcyk7XG4gIGxldCByZWYgPSBudWxsO1xuICBmb3IgKGxldCBnZXN0dXJlIG9mIGdlc3R1cmVzLnJldmVyc2UoKSkge1xuICAgIGxldCBvcHRzID0gZ2VzdHVyZS5vcHRpb25zO1xuICAgIGlmIChvcHRzLmVsZW1lbnQgfHwgKG9wdHMueCAmJiBvcHRzLnkpKSB7XG4gICAgICByZWYgPSBnZXN0dXJlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGlmIChyZWYpIHtcbiAgICBsZXQgb3B0cyA9IHJlZi5vcHRpb25zO1xuICAgIGlmIChvcHRzLmVsZW1lbnQpIHtcbiAgICAgIGxldCBsb2MgPSBhd2FpdCB0aGlzLmdldExvY2F0aW9uSW5WaWV3KG9wdHMuZWxlbWVudCk7XG4gICAgICBpZiAob3B0cy54ICYmIG9wdHMueSkge1xuICAgICAgICAvLyB0aGlzIGlzIGFuIG9mZnNldCBmcm9tIHRoZSBlbGVtZW50XG4gICAgICAgIHJlbGVhc2Uub3B0aW9ucyA9IHtcbiAgICAgICAgICB4OiBsb2MueCArIG9wdHMueCxcbiAgICAgICAgICB5OiBsb2MueSArIG9wdHMueVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdGhpcyBpcyB0aGUgY2VudGVyIG9mIHRoZSBlbGVtZW50XG4gICAgICAgIGxldCBzaXplID0gYXdhaXQgdGhpcy5nZXRTaXplKG9wdHMuZWxlbWVudCk7XG4gICAgICAgIHJlbGVhc2Uub3B0aW9ucyA9IHtcbiAgICAgICAgICB4OiBsb2MueCArIHNpemUud2lkdGggLyAyLFxuICAgICAgICAgIHk6IGxvYy55ICsgc2l6ZS5oZWlnaHQgLyAyXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbGVhc2Uub3B0aW9ucyA9IF8ucGljayhvcHRzLCAneCcsICd5Jyk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZWxlYXNlO1xufTtcblxuLy8gUGVyZm9ybSBvbmUgZ2VzdHVyZVxuaGVscGVycy5wZXJmb3JtR2VzdHVyZSA9IGFzeW5jIGZ1bmN0aW9uIHBlcmZvcm1HZXN0dXJlIChnZXN0dXJlKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZG9Ub3VjaEFjdGlvbihnZXN0dXJlLmFjdGlvbiwgZ2VzdHVyZS5vcHRpb25zIHx8IHt9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIHNvbWV0aW1lIHRoZSBlbGVtZW50IGlzIG5vdCBhdmFpbGFibGUgd2hlbiByZWxlYXNpbmcsIHJldHJ5IHdpdGhvdXQgaXRcbiAgICBpZiAoaXNFcnJvclR5cGUoZSwgZXJyb3JzLk5vU3VjaEVsZW1lbnRFcnJvcikgJiYgZ2VzdHVyZS5hY3Rpb24gPT09ICdyZWxlYXNlJyAmJlxuICAgICAgICBnZXN0dXJlLm9wdGlvbnMuZWxlbWVudCkge1xuICAgICAgZGVsZXRlIGdlc3R1cmUub3B0aW9ucy5lbGVtZW50O1xuICAgICAgdGhpcy5sb2cuZGVidWcoYHJldHJ5aW5nIHJlbGVhc2Ugd2l0aG91dCBlbGVtZW50IG9wdHM6ICR7Z2VzdHVyZS5vcHRpb25zfS5gKTtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmRvVG91Y2hBY3Rpb24oZ2VzdHVyZS5hY3Rpb24sIGdlc3R1cmUub3B0aW9ucyB8fCB7fSk7XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH1cbn07XG5cbmNvbW1hbmRzLmdldFN3aXBlT3B0aW9ucyA9IGFzeW5jIGZ1bmN0aW9uIGdldFN3aXBlT3B0aW9ucyAoZ2VzdHVyZXMsIHRvdWNoQ291bnQgPSAxKSB7XG4gIGxldCBzdGFydFggPSBnZXRDb29yZERlZmF1bHQoZ2VzdHVyZXNbMF0ub3B0aW9ucy54KSxcbiAgICAgIHN0YXJ0WSA9IGdldENvb3JkRGVmYXVsdChnZXN0dXJlc1swXS5vcHRpb25zLnkpLFxuICAgICAgZW5kWCA9IGdldENvb3JkRGVmYXVsdChnZXN0dXJlc1syXS5vcHRpb25zLngpLFxuICAgICAgZW5kWSA9IGdldENvb3JkRGVmYXVsdChnZXN0dXJlc1syXS5vcHRpb25zLnkpLFxuICAgICAgZHVyYXRpb24gPSBnZXRTd2lwZVRvdWNoRHVyYXRpb24oZ2VzdHVyZXNbMV0pLFxuICAgICAgZWxlbWVudCA9IGdlc3R1cmVzWzBdLm9wdGlvbnMuZWxlbWVudCxcbiAgICAgIGRlc3RFbGVtZW50ID0gZ2VzdHVyZXNbMl0ub3B0aW9ucy5lbGVtZW50IHx8IGdlc3R1cmVzWzBdLm9wdGlvbnMuZWxlbWVudDtcblxuICAvLyB0aGVyZSdzIG5vIGRlc3RpbmF0aW9uIGVsZW1lbnQgaGFuZGxpbmcgaW4gYm9vdHN0cmFwIGFuZCBzaW5jZSBpdCBhcHBsaWVzIHRvIGFsbCBwbGF0Zm9ybXMsIHdlIGhhbmRsZSBpdCBoZXJlXG4gIGlmICh1dGlsLmhhc1ZhbHVlKGRlc3RFbGVtZW50KSkge1xuICAgIGxldCBsb2NSZXN1bHQgPSBhd2FpdCB0aGlzLmdldExvY2F0aW9uSW5WaWV3KGRlc3RFbGVtZW50KTtcbiAgICBsZXQgc2l6ZVJlc3VsdCA9IGF3YWl0IHRoaXMuZ2V0U2l6ZShkZXN0RWxlbWVudCk7XG4gICAgbGV0IG9mZnNldFggPSAoTWF0aC5hYnMoZW5kWCkgPCAxICYmIE1hdGguYWJzKGVuZFgpID4gMCkgPyBzaXplUmVzdWx0LndpZHRoICogZW5kWCA6IGVuZFg7XG4gICAgbGV0IG9mZnNldFkgPSAoTWF0aC5hYnMoZW5kWSkgPCAxICYmIE1hdGguYWJzKGVuZFkpID4gMCkgPyBzaXplUmVzdWx0LmhlaWdodCAqIGVuZFkgOiBlbmRZO1xuICAgIGVuZFggPSBsb2NSZXN1bHQueCArIG9mZnNldFg7XG4gICAgZW5kWSA9IGxvY1Jlc3VsdC55ICsgb2Zmc2V0WTtcbiAgICAvLyBpZiB0aGUgdGFyZ2V0IGVsZW1lbnQgd2FzIHByb3ZpZGVkLCB0aGUgY29vcmRpbmF0ZXMgZm9yIHRoZSBkZXN0aW5hdGlvbiBuZWVkIHRvIGJlIHJlbGF0aXZlIHRvIGl0LlxuICAgIGlmICh1dGlsLmhhc1ZhbHVlKGVsZW1lbnQpKSB7XG4gICAgICBsZXQgZmlyc3RFbExvY2F0aW9uID0gYXdhaXQgdGhpcy5nZXRMb2NhdGlvbkluVmlldyhlbGVtZW50KTtcbiAgICAgIGVuZFggLT0gZmlyc3RFbExvY2F0aW9uLng7XG4gICAgICBlbmRZIC09IGZpcnN0RWxMb2NhdGlvbi55O1xuICAgIH1cbiAgfVxuICAvLyBjbGllbnRzIGFyZSByZXNwb25zaWJsZSB0byB1c2UgdGhlc2Ugb3B0aW9ucyBjb3JyZWN0bHlcbiAgcmV0dXJuIHtzdGFydFgsIHN0YXJ0WSwgZW5kWCwgZW5kWSwgZHVyYXRpb24sIHRvdWNoQ291bnQsIGVsZW1lbnR9O1xufTtcblxuY29tbWFuZHMucGVyZm9ybVRvdWNoID0gYXN5bmMgZnVuY3Rpb24gcGVyZm9ybVRvdWNoIChnZXN0dXJlcykge1xuICAvLyBwcmVzcy13YWl0LW1vdmVUby1yZWxlYXNlIGlzIGBzd2lwZWAsIHNvIHVzZSBuYXRpdmUgbWV0aG9kXG4gIGlmIChnZXN0dXJlcy5sZW5ndGggPT09IDQgJiZcbiAgICAgIGdlc3R1cmVzWzBdLmFjdGlvbiA9PT0gJ3ByZXNzJyAmJlxuICAgICAgZ2VzdHVyZXNbMV0uYWN0aW9uID09PSAnd2FpdCcgJiZcbiAgICAgIGdlc3R1cmVzWzJdLmFjdGlvbiA9PT0gJ21vdmVUbycgJiZcbiAgICAgIGdlc3R1cmVzWzNdLmFjdGlvbiA9PT0gJ3JlbGVhc2UnKSB7XG5cbiAgICBsZXQgc3dpcGVPcHRzID0gYXdhaXQgdGhpcy5nZXRTd2lwZU9wdGlvbnMoZ2VzdHVyZXMpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnN3aXBlKHN3aXBlT3B0cy5zdGFydFgsIHN3aXBlT3B0cy5zdGFydFksIHN3aXBlT3B0cy5lbmRYLFxuICAgICAgICBzd2lwZU9wdHMuZW5kWSwgc3dpcGVPcHRzLmR1cmF0aW9uLCBzd2lwZU9wdHMudG91Y2hDb3VudCxcbiAgICAgICAgc3dpcGVPcHRzLmVsZW1lbnQpO1xuICB9XG4gIGxldCBhY3Rpb25zID0gXy5tYXAoZ2VzdHVyZXMsICdhY3Rpb24nKTtcblxuICBpZiAoYWN0aW9uc1swXSA9PT0gJ2xvbmdQcmVzcycgJiYgYWN0aW9uc1sxXSA9PT0gJ21vdmVUbycgJiYgYWN0aW9uc1syXSA9PT0gJ3JlbGVhc2UnKSB7XG4gICAgLy8gc29tZSB0aGluZ3MgYXJlIHNwZWNpYWxcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5kb1RvdWNoRHJhZyhnZXN0dXJlcyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGFjdGlvbnMubGVuZ3RoID09PSAyKSB7XG4gICAgICAvLyBgcHJlc3NgIHdpdGhvdXQgYSB3YWl0IGlzIHRvbyBzbG93IGFuZCBnZXRzIGludGVycHJldHRlZCBhcyBhIGBsb25nUHJlc3NgXG4gICAgICBpZiAoXy5oZWFkKGFjdGlvbnMpID09PSAncHJlc3MnICYmIF8ubGFzdChhY3Rpb25zKSA9PT0gJ3JlbGVhc2UnKSB7XG4gICAgICAgIGFjdGlvbnNbMF0gPSAndGFwJztcbiAgICAgICAgZ2VzdHVyZXNbMF0uYWN0aW9uID0gJ3RhcCc7XG4gICAgICB9XG5cbiAgICAgIC8vIHRoZSBgbG9uZ1ByZXNzYCBhbmQgYHRhcGAgbWV0aG9kcyByZWxlYXNlIG9uIHRoZWlyIG93blxuICAgICAgaWYgKChfLmhlYWQoYWN0aW9ucykgPT09ICd0YXAnIHx8IF8uaGVhZChhY3Rpb25zKSA9PT0gJ2xvbmdQcmVzcycpICYmIF8ubGFzdChhY3Rpb25zKSA9PT0gJ3JlbGVhc2UnKSB7XG4gICAgICAgIGdlc3R1cmVzLnBvcCgpO1xuICAgICAgICBhY3Rpb25zLnBvcCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBsb25ncHJlc3MgZm9sbG93ZWQgYnkgYW55dGhpbmcgb3RoZXIgdGhhbiByZWxlYXNlIHNob3VsZCBiZWNvbWUgYSBwcmVzcyBhbmQgd2FpdFxuICAgICAgaWYgKGFjdGlvbnNbMF0gPT09ICdsb25nUHJlc3MnKSB7XG4gICAgICAgIGFjdGlvbnMgPSBbJ3ByZXNzJywgJ3dhaXQnLCAuLi5hY3Rpb25zLnNsaWNlKDEpXTtcblxuICAgICAgICBsZXQgcHJlc3MgPSBnZXN0dXJlcy5zaGlmdCgpO1xuICAgICAgICBwcmVzcy5hY3Rpb24gPSAncHJlc3MnO1xuICAgICAgICBsZXQgd2FpdCA9IHtcbiAgICAgICAgICBhY3Rpb246ICd3YWl0JyxcbiAgICAgICAgICBvcHRpb25zOiB7bXM6IHByZXNzLm9wdGlvbnMuZHVyYXRpb24gfHwgMTAwMH1cbiAgICAgICAgfTtcbiAgICAgICAgZGVsZXRlIHByZXNzLm9wdGlvbnMuZHVyYXRpb247XG4gICAgICAgIGdlc3R1cmVzID0gW3ByZXNzLCB3YWl0LCAuLi5nZXN0dXJlc107XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGZpeGVkR2VzdHVyZXMgPSBhd2FpdCB0aGlzLnBhcnNlVG91Y2goZ2VzdHVyZXMsIGZhbHNlKTtcbiAgICAvLyBmaXggcmVsZWFzZSBhY3Rpb24gdGhlbiBwZXJmb3JtIGFsbCBhY3Rpb25zXG4gICAgaWYgKGFjdGlvbnNbYWN0aW9ucy5sZW5ndGggLSAxXSA9PT0gJ3JlbGVhc2UnKSB7XG4gICAgICBhY3Rpb25zW2FjdGlvbnMubGVuZ3RoIC0gMV0gPSBhd2FpdCB0aGlzLmZpeFJlbGVhc2UoZ2VzdHVyZXMpO1xuICAgIH1cbiAgICBmb3IgKGxldCBnIG9mIGZpeGVkR2VzdHVyZXMpIHtcbiAgICAgIGF3YWl0IHRoaXMucGVyZm9ybUdlc3R1cmUoZyk7XG4gICAgfVxuICB9XG59O1xuXG5oZWxwZXJzLnBhcnNlVG91Y2ggPSBhc3luYyBmdW5jdGlvbiBwYXJzZVRvdWNoIChnZXN0dXJlcywgbXVsdGkpIHtcbiAgLy8gYmVjYXVzZSBtdWx0aS10b3VjaCByZWxlYXNlcyBhdCB0aGUgZW5kIGJ5IGRlZmF1bHRcbiAgaWYgKG11bHRpICYmIF8ubGFzdChnZXN0dXJlcykuYWN0aW9uID09PSAncmVsZWFzZScpIHtcbiAgICBnZXN0dXJlcy5wb3AoKTtcbiAgfVxuXG4gIGxldCB0b3VjaFN0YXRlT2JqZWN0cyA9IGF3YWl0IGFzeW5jbWFwKGdlc3R1cmVzLCBhc3luYyAoZ2VzdHVyZSkgPT4ge1xuICAgIGxldCBvcHRpb25zID0gZ2VzdHVyZS5vcHRpb25zIHx8IHt9O1xuICAgIGlmIChfLmluY2x1ZGVzKFsncHJlc3MnLCAnbW92ZVRvJywgJ3RhcCcsICdsb25nUHJlc3MnXSwgZ2VzdHVyZS5hY3Rpb24pKSB7XG4gICAgICBvcHRpb25zLm9mZnNldCA9IGZhbHNlO1xuICAgICAgbGV0IGVsZW1lbnRJZCA9IGdlc3R1cmUub3B0aW9ucy5lbGVtZW50O1xuICAgICAgaWYgKGVsZW1lbnRJZCkge1xuICAgICAgICBsZXQgcG9zID0gYXdhaXQgdGhpcy5nZXRMb2NhdGlvbkluVmlldyhlbGVtZW50SWQpO1xuICAgICAgICBpZiAoZ2VzdHVyZS5vcHRpb25zLnggfHwgZ2VzdHVyZS5vcHRpb25zLnkpIHtcbiAgICAgICAgICBvcHRpb25zLnggPSBwb3MueCArIChnZXN0dXJlLm9wdGlvbnMueCB8fCAwKTtcbiAgICAgICAgICBvcHRpb25zLnkgPSBwb3MueSArIChnZXN0dXJlLm9wdGlvbnMueSB8fCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB7d2lkdGgsIGhlaWdodH0gPSBhd2FpdCB0aGlzLmdldFNpemUoZWxlbWVudElkKTtcbiAgICAgICAgICBvcHRpb25zLnggPSBwb3MueCArICh3aWR0aCAvIDIpO1xuICAgICAgICAgIG9wdGlvbnMueSA9IHBvcy55ICsgKGhlaWdodCAvIDIpO1xuICAgICAgICB9XG4gICAgICAgIGxldCB0b3VjaFN0YXRlT2JqZWN0ID0ge1xuICAgICAgICAgIGFjdGlvbjogZ2VzdHVyZS5hY3Rpb24sXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICB0aW1lT2Zmc2V0OiAwLjAwNSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRvdWNoU3RhdGVPYmplY3Q7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcHRpb25zLnggPSAoZ2VzdHVyZS5vcHRpb25zLnggfHwgMCk7XG4gICAgICAgIG9wdGlvbnMueSA9IChnZXN0dXJlLm9wdGlvbnMueSB8fCAwKTtcblxuICAgICAgICBsZXQgdG91Y2hTdGF0ZU9iamVjdCA9IHtcbiAgICAgICAgICBhY3Rpb246IGdlc3R1cmUuYWN0aW9uLFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgdGltZU9mZnNldDogMC4wMDUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB0b3VjaFN0YXRlT2JqZWN0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgb2Zmc2V0ID0gMC4wMDU7XG4gICAgICBpZiAoZ2VzdHVyZS5hY3Rpb24gPT09ICd3YWl0Jykge1xuICAgICAgICBvcHRpb25zID0gZ2VzdHVyZS5vcHRpb25zO1xuICAgICAgICBvZmZzZXQgPSAocGFyc2VJbnQoZ2VzdHVyZS5vcHRpb25zLm1zLCAxMCkgLyAxMDAwKTtcbiAgICAgIH1cbiAgICAgIGxldCB0b3VjaFN0YXRlT2JqZWN0ID0ge1xuICAgICAgICBhY3Rpb246IGdlc3R1cmUuYWN0aW9uLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICB0aW1lT2Zmc2V0OiBvZmZzZXQsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRvdWNoU3RhdGVPYmplY3Q7XG4gICAgfVxuICB9LCBmYWxzZSk7XG4gIC8vIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSB0aW1lICh3aGljaCBpcyBub3cgYW4gb2Zmc2V0KVxuICAvLyBhbmQgdGhlIHBvc2l0aW9uICh3aGljaCBtYXkgYmUgYW4gb2Zmc2V0KVxuICBsZXQgcHJldlBvcyA9IG51bGwsXG4gICAgICB0aW1lID0gMDtcbiAgZm9yIChsZXQgc3RhdGUgb2YgdG91Y2hTdGF0ZU9iamVjdHMpIHtcbiAgICBpZiAoXy5pc1VuZGVmaW5lZChzdGF0ZS5vcHRpb25zLngpICYmIF8uaXNVbmRlZmluZWQoc3RhdGUub3B0aW9ucy55KSAmJiBwcmV2UG9zICE9PSBudWxsKSB7XG4gICAgICAvLyB0aGlzIGhhcHBlbnMgd2l0aCB3YWl0XG4gICAgICBzdGF0ZS5vcHRpb25zLnggPSBwcmV2UG9zLng7XG4gICAgICBzdGF0ZS5vcHRpb25zLnkgPSBwcmV2UG9zLnk7XG4gICAgfVxuICAgIGlmIChzdGF0ZS5vcHRpb25zLm9mZnNldCAmJiBwcmV2UG9zKSB7XG4gICAgICAvLyB0aGUgY3VycmVudCBwb3NpdGlvbiBpcyBhbiBvZmZzZXRcbiAgICAgIHN0YXRlLm9wdGlvbnMueCArPSBwcmV2UG9zLng7XG4gICAgICBzdGF0ZS5vcHRpb25zLnkgKz0gcHJldlBvcy55O1xuICAgIH1cbiAgICBkZWxldGUgc3RhdGUub3B0aW9ucy5vZmZzZXQ7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHN0YXRlLm9wdGlvbnMueCkgJiYgIV8uaXNVbmRlZmluZWQoc3RhdGUub3B0aW9ucy55KSkge1xuICAgICAgcHJldlBvcyA9IHN0YXRlLm9wdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKG11bHRpKSB7XG4gICAgICBsZXQgdGltZU9mZnNldCA9IHN0YXRlLnRpbWVPZmZzZXQ7XG4gICAgICB0aW1lICs9IHRpbWVPZmZzZXQ7XG4gICAgICBzdGF0ZS50aW1lID0gYW5kcm9pZEhlbHBlcnMudHJ1bmNhdGVEZWNpbWFscyh0aW1lLCAzKTtcblxuICAgICAgLy8gbXVsdGkgZ2VzdHVyZXMgcmVxdWlyZSAndG91Y2gnIHJhdGhlciB0aGFuICdvcHRpb25zJ1xuICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHN0YXRlLm9wdGlvbnMueCkgJiYgIV8uaXNVbmRlZmluZWQoc3RhdGUub3B0aW9ucy55KSkge1xuICAgICAgICBzdGF0ZS50b3VjaCA9IHtcbiAgICAgICAgICB4OiBzdGF0ZS5vcHRpb25zLngsXG4gICAgICAgICAgeTogc3RhdGUub3B0aW9ucy55XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBkZWxldGUgc3RhdGUub3B0aW9ucztcbiAgICB9XG4gICAgZGVsZXRlIHN0YXRlLnRpbWVPZmZzZXQ7XG4gIH1cbiAgcmV0dXJuIHRvdWNoU3RhdGVPYmplY3RzO1xufTtcblxuXG5jb21tYW5kcy5wZXJmb3JtTXVsdGlBY3Rpb24gPSBhc3luYyBmdW5jdGlvbiBwZXJmb3JtTXVsdGlBY3Rpb24gKGFjdGlvbnMsIGVsZW1lbnRJZCkge1xuICAvLyBBbmRyb2lkIG5lZWRzIGF0IGxlYXN0IHR3byBhY3Rpb25zIHRvIGJlIGFibGUgdG8gcGVyZm9ybSBhIG11bHRpIHBvaW50ZXIgZ2VzdHVyZVxuICBpZiAoYWN0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ011bHRpIFBvaW50ZXIgR2VzdHVyZXMgbmVlZCBhdCBsZWFzdCB0d28gYWN0aW9ucy4gJyArXG4gICAgICAgICdVc2UgVG91Y2ggQWN0aW9ucyBmb3IgYSBzaW5nbGUgYWN0aW9uLicpO1xuICB9XG5cbiAgY29uc3Qgc3RhdGVzID0gYXdhaXQgYXN5bmNtYXAoYWN0aW9ucywgYXN5bmMgKGFjdGlvbikgPT4gYXdhaXQgdGhpcy5wYXJzZVRvdWNoKGFjdGlvbiwgdHJ1ZSksIGZhbHNlKTtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5kb1BlcmZvcm1NdWx0aUFjdGlvbihlbGVtZW50SWQsIHN0YXRlcyk7XG59O1xuXG4vKipcbiAqIFJlYXNvbiBmb3IgaXNvbGF0aW5nIGRvUGVyZm9ybU11bHRpQWN0aW9uIGZyb20gcGVyZm9ybU11bHRpQWN0aW9uIGlzIGZvciByZXVzaW5nIHBlcmZvcm1NdWx0aUFjdGlvblxuICogYWNyb3NzIGFuZHJvaWQtZHJpdmVycyAobGlrZSBhcHBpdW0tdWlhdXRvbWF0b3IyLWRyaXZlcikgYW5kIHRvIGF2b2lkIGNvZGUgZHVwbGljYXRpb24uXG4gKiBPdGhlciBhbmRyb2lkLWRyaXZlcnMgKGxpa2UgYXBwaXVtLXVpYXV0b21hdG9yMi1kcml2ZXIpIG5lZWQgdG8gb3ZlcnJpZGUgZG9QZXJmb3JtTXVsdGlBY3Rpb25cbiAqIHRvIGZhY2lsaXRhdGUgcGVyZm9ybU11bHRpQWN0aW9uLlxuICovXG5jb21tYW5kcy5kb1BlcmZvcm1NdWx0aUFjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIGRvUGVyZm9ybU11bHRpQWN0aW9uIChlbGVtZW50SWQsIHN0YXRlcykge1xuICBsZXQgb3B0cztcbiAgaWYgKGVsZW1lbnRJZCkge1xuICAgIG9wdHMgPSB7XG4gICAgICBlbGVtZW50SWQsXG4gICAgICBhY3Rpb25zOiBzdGF0ZXNcbiAgICB9O1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvb3RzdHJhcC5zZW5kQWN0aW9uKCdlbGVtZW50OnBlcmZvcm1NdWx0aVBvaW50ZXJHZXN0dXJlJywgb3B0cyk7XG4gIH0gZWxzZSB7XG4gICAgb3B0cyA9IHtcbiAgICAgIGFjdGlvbnM6IHN0YXRlc1xuICAgIH07XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm9vdHN0cmFwLnNlbmRBY3Rpb24oJ3BlcmZvcm1NdWx0aVBvaW50ZXJHZXN0dXJlJywgb3B0cyk7XG4gIH1cbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMsIGhlbHBlcnMpO1xuZXhwb3J0IHsgY29tbWFuZHMsIGhlbHBlcnMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBSUEsUUFBUSxHQUFHLEVBQWY7QUFBQSxJQUFtQkMsT0FBTyxHQUFHLEVBQTdCO0FBQUEsSUFBaUNDLFVBQVUsR0FBRyxFQUE5Qzs7OztBQUVBLFNBQVNDLGVBQVQsQ0FBMEJDLEdBQTFCLEVBQStCO0VBSTdCLE9BQU9DLGFBQUEsQ0FBS0MsUUFBTCxDQUFjRixHQUFkLElBQXFCQSxHQUFyQixHQUEyQixHQUFsQztBQUNEOztBQUVELFNBQVNHLHFCQUFULENBQWdDQyxXQUFoQyxFQUE2QztFQUczQyxJQUFJQyxRQUFRLEdBQUcsR0FBZjs7RUFDQSxJQUFJLE9BQU9ELFdBQVcsQ0FBQ0UsT0FBWixDQUFvQkMsRUFBM0IsS0FBa0MsV0FBbEMsSUFBaURILFdBQVcsQ0FBQ0UsT0FBWixDQUFvQkMsRUFBekUsRUFBNkU7SUFDM0VGLFFBQVEsR0FBR0QsV0FBVyxDQUFDRSxPQUFaLENBQW9CQyxFQUFw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
|
|
395
|
+
exports.default = _default;
|
|
396
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZ2V0Q29vcmREZWZhdWx0IiwidmFsIiwidXRpbCIsImhhc1ZhbHVlIiwiZ2V0U3dpcGVUb3VjaER1cmF0aW9uIiwid2FpdEdlc3R1cmUiLCJkdXJhdGlvbiIsIm9wdGlvbnMiLCJtcyIsImRvVG91Y2hBY3Rpb24iLCJhY3Rpb24iLCJvcHRzIiwiZWxlbWVudCIsIngiLCJ5IiwiY291bnQiLCJ0YXAiLCJ0b3VjaERvd24iLCJ0b3VjaFVwIiwidG91Y2hNb3ZlIiwiQiIsImRlbGF5IiwidG91Y2hMb25nQ2xpY2siLCJsb2ciLCJ3YXJuIiwiZXJyb3JBbmRUaHJvdyIsImRvVG91Y2hEcmFnIiwiZ2VzdHVyZXMiLCJsb25nUHJlc3MiLCJtb3ZlVG8iLCJzdGFydFgiLCJzdGFydFkiLCJlbmRYIiwiZW5kWSIsImdldExvY2F0aW9uSW5WaWV3IiwiYXBpTGV2ZWwiLCJhZGIiLCJnZXRBcGlMZXZlbCIsIk1hdGgiLCJtYXgiLCJkcmFnIiwiZml4UmVsZWFzZSIsInJlbGVhc2UiLCJfIiwibGFzdCIsImNsb25lIiwicmVmIiwiZ2VzdHVyZSIsInJldmVyc2UiLCJsb2MiLCJzaXplIiwiZ2V0U2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwicGljayIsInBlcmZvcm1HZXN0dXJlIiwiZSIsImlzRXJyb3JUeXBlIiwiZXJyb3JzIiwiTm9TdWNoRWxlbWVudEVycm9yIiwiZGVidWciLCJnZXRTd2lwZU9wdGlvbnMiLCJ0b3VjaENvdW50IiwiZGVzdEVsZW1lbnQiLCJsb2NSZXN1bHQiLCJzaXplUmVzdWx0Iiwib2Zmc2V0WCIsImFicyIsIm9mZnNldFkiLCJmaXJzdEVsTG9jYXRpb24iLCJwZXJmb3JtVG91Y2giLCJsZW5ndGgiLCJzd2lwZU9wdHMiLCJzd2lwZSIsImFjdGlvbnMiLCJtYXAiLCJoZWFkIiwicG9wIiwic2xpY2UiLCJwcmVzcyIsInNoaWZ0Iiwid2FpdCIsImZpeGVkR2VzdHVyZXMiLCJwYXJzZVRvdWNoIiwiZyIsIm11bHRpIiwidG91Y2hTdGF0ZU9iamVjdHMiLCJhc3luY21hcCIsImluY2x1ZGVzIiwib2Zmc2V0IiwiZWxlbWVudElkIiwicG9zIiwidG91Y2hTdGF0ZU9iamVjdCIsInRpbWVPZmZzZXQiLCJwYXJzZUludCIsInByZXZQb3MiLCJ0aW1lIiwic3RhdGUiLCJpc1VuZGVmaW5lZCIsImFuZHJvaWRIZWxwZXJzIiwidHJ1bmNhdGVEZWNpbWFscyIsInRvdWNoIiwicGVyZm9ybU11bHRpQWN0aW9uIiwiRXJyb3IiLCJzdGF0ZXMiLCJkb1BlcmZvcm1NdWx0aUFjdGlvbiIsImJvb3RzdHJhcCIsInNlbmRBY3Rpb24iLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvdG91Y2guanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBhbmRyb2lkSGVscGVycyBmcm9tICcuLi9hbmRyb2lkLWhlbHBlcnMnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IHsgZXJyb3JzLCBpc0Vycm9yVHlwZSB9IGZyb20gJ2FwcGl1bS9kcml2ZXInO1xuaW1wb3J0IHsgYXN5bmNtYXAgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5sZXQgY29tbWFuZHMgPSB7fSwgaGVscGVycyA9IHt9LCBleHRlbnNpb25zID0ge307XG5cbmZ1bmN0aW9uIGdldENvb3JkRGVmYXVsdCAodmFsKSB7XG4gIC8vIGdvaW5nIHRoZSBsb25nIHdheSBhbmQgY2hlY2tpbmcgZm9yIHVuZGVmaW5lZCBhbmQgbnVsbCBzaW5jZVxuICAvLyB3ZSBjYW4ndCBiZSBhc3N1cmVkIGBlbElkYCBpcyBhIHN0cmluZyBhbmQgbm90IGFuIGludC4gU2FtZVxuICAvLyB0aGluZyB3aXRoIGRlc3RFbGVtZW50IGJlbG93LlxuICByZXR1cm4gdXRpbC5oYXNWYWx1ZSh2YWwpID8gdmFsIDogMC41O1xufVxuXG5mdW5jdGlvbiBnZXRTd2lwZVRvdWNoRHVyYXRpb24gKHdhaXRHZXN0dXJlKSB7XG4gIC8vIHRoZSB0b3VjaCBhY3Rpb24gYXBpIHVzZXMgbXMsIHdlIHdhbnQgc2Vjb25kc1xuICAvLyAwLjggaXMgdGhlIGRlZmF1bHQgdGltZSBmb3IgdGhlIG9wZXJhdGlvblxuICBsZXQgZHVyYXRpb24gPSAwLjg7XG4gIGlmICh0eXBlb2Ygd2FpdEdlc3R1cmUub3B0aW9ucy5tcyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2FpdEdlc3R1cmUub3B0aW9ucy5tcykge1xuICAgIGR1cmF0aW9uID0gd2FpdEdlc3R1cmUub3B0aW9ucy5tcyAvIDEwMDA7XG4gICAgaWYgKGR1cmF0aW9uID09PSAwKSB7XG4gICAgICAvLyBzZXQgdG8gYSB2ZXJ5IGxvdyBudW1iZXIsIHNpbmNlIHRoZXkgd2FudGVkIGl0IGZhc3RcbiAgICAgIC8vIGJ1dCBiZWxvdyAwLjEgYmVjb21lcyAwIHN0ZXBzLCB3aGljaCBjYXVzZXMgZXJyb3JzXG4gICAgICBkdXJhdGlvbiA9IDAuMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGR1cmF0aW9uO1xufVxuXG5jb21tYW5kcy5kb1RvdWNoQWN0aW9uID0gYXN5bmMgZnVuY3Rpb24gZG9Ub3VjaEFjdGlvbiAoYWN0aW9uLCBvcHRzID0ge30pIHtcbiAgY29uc3QgeyBlbGVtZW50LCB4LCB5LCBjb3VudCwgbXMsIGR1cmF0aW9uIH0gPSBvcHRzO1xuICAvLyBwYXJzZVRvdWNoIHByZWNhbGN1bGF0ZXMgYWJzb2x1dGUgZWxlbWVudCBwb3NpdGlvbnNcbiAgLy8gc28gdGhlcmUgaXMgbm8gbmVlZCB0byBwYXNzIGBlbGVtZW50YCB0byB0aGUgYWZmZWN0ZWQgZ2VzdHVyZXNcbiAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICBjYXNlICd0YXAnOlxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudGFwKG51bGwsIHgsIHksIGNvdW50KTtcbiAgICBjYXNlICdwcmVzcyc6XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy50b3VjaERvd24obnVsbCwgeCwgeSk7XG4gICAgY2FzZSAncmVsZWFzZSc6XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy50b3VjaFVwKGVsZW1lbnQsIHgsIHkpO1xuICAgIGNhc2UgJ21vdmVUbyc6XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy50b3VjaE1vdmUobnVsbCwgeCwgeSk7XG4gICAgY2FzZSAnd2FpdCc6XG4gICAgICByZXR1cm4gYXdhaXQgQi5kZWxheShtcyk7XG4gICAgY2FzZSAnbG9uZ1ByZXNzJzpcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnRvdWNoTG9uZ0NsaWNrKG51bGwsIHgsIHksIGR1cmF0aW9uIHx8IDEwMDApO1xuICAgIGNhc2UgJ2NhbmNlbCc6XG4gICAgICAvLyBUT0RPOiBjbGFyaWZ5IGJlaGF2aW9yIG9mICdjYW5jZWwnIGFjdGlvbiBhbmQgZml4IHRoaXNcbiAgICAgIHRoaXMubG9nLndhcm4oJ0NhbmNlbCBhY3Rpb24gY3VycmVudGx5IGhhcyBubyBlZmZlY3QnKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aGlzLmxvZy5lcnJvckFuZFRocm93KGB1bmtub3duIGFjdGlvbiAke2FjdGlvbn1gKTtcbiAgfVxufTtcblxuLy8gZHJhZyBpcyAqbm90KiBwcmVzcy1tb3ZlLXJlbGVhc2UsIHNvIHdlIG5lZWQgdG8gdHJhbnNsYXRlXG4vLyBkcmFnIHdvcmtzIGZpbmUgZm9yIHNjcm9sbCwgYXMgd2VsbFxuaGVscGVycy5kb1RvdWNoRHJhZyA9IGFzeW5jIGZ1bmN0aW9uIGRvVG91Y2hEcmFnIChnZXN0dXJlcykge1xuICBsZXQgbG9uZ1ByZXNzID0gZ2VzdHVyZXNbMF07XG4gIGxldCBtb3ZlVG8gPSBnZXN0dXJlc1sxXTtcbiAgbGV0IHN0YXJ0WCA9IGxvbmdQcmVzcy5vcHRpb25zLnggfHwgMCxcbiAgICAgIHN0YXJ0WSA9IGxvbmdQcmVzcy5vcHRpb25zLnkgfHwgMCxcbiAgICAgIGVuZFggPSBtb3ZlVG8ub3B0aW9ucy54IHx8IDAsXG4gICAgICBlbmRZID0gbW92ZVRvLm9wdGlvbnMueSB8fCAwO1xuICBpZiAobG9uZ1ByZXNzLm9wdGlvbnMuZWxlbWVudCkge1xuICAgIGxldCB7eCwgeX0gPSBhd2FpdCB0aGlzLmdldExvY2F0aW9uSW5WaWV3KGxvbmdQcmVzcy5vcHRpb25zLmVsZW1lbnQpO1xuICAgIHN0YXJ0WCArPSB4IHx8IDA7XG4gICAgc3RhcnRZICs9IHkgfHwgMDtcbiAgfVxuICBpZiAobW92ZVRvLm9wdGlvbnMuZWxlbWVudCkge1xuICAgIGxldCB7eCwgeX0gPSBhd2FpdCB0aGlzLmdldExvY2F0aW9uSW5WaWV3KG1vdmVUby5vcHRpb25zLmVsZW1lbnQpO1xuICAgIGVuZFggKz0geCB8fCAwO1xuICAgIGVuZFkgKz0geSB8fCAwO1xuICB9XG5cbiAgbGV0IGFwaUxldmVsID0gYXdhaXQgdGhpcy5hZGIuZ2V0QXBpTGV2ZWwoKTtcbiAgLy8gbG9sbGlwb3AgdGFrZXMgYSBsaXR0bGUgbG9uZ2VyIHRvIGdldCB0aGluZ3Mgcm9sbGluZ1xuICBsZXQgZHVyYXRpb24gPSBhcGlMZXZlbCA+PSA1ID8gMiA6IDE7XG4gIC8vIG1ha2Ugc3VyZSB0aGF0IGlmIHRoZSBsb25nIHByZXNzIGhhcyBhIGR1cmF0aW9uLCB3ZSB1c2UgaXQuXG4gIGlmIChsb25nUHJlc3Mub3B0aW9ucyAmJiBsb25nUHJlc3Mub3B0aW9ucy5kdXJhdGlvbikge1xuICAgIGR1cmF0aW9uID0gTWF0aC5tYXgobG9uZ1ByZXNzLm9wdGlvbnMuZHVyYXRpb24gLyAxMDAwLCBkdXJhdGlvbik7XG4gIH1cblxuICAvLyBgZHJhZ2Agd2lsbCB0YWtlIGNhcmUgb2Ygd2hldGhlciB0aGVyZSBpcyBhbiBlbGVtZW50IG9yIG5vdCBhdCB0aGF0IGxldmVsXG4gIHJldHVybiBhd2FpdCB0aGlzLmRyYWcoc3RhcnRYLCBzdGFydFksIGVuZFgsIGVuZFksIGR1cmF0aW9uLCAxLCBsb25nUHJlc3Mub3B0aW9ucy5lbGVtZW50LCBtb3ZlVG8ub3B0aW9ucy5lbGVtZW50KTtcbn07XG5cbi8vIFJlbGVhc2UgZ2VzdHVyZSBuZWVkcyBlbGVtZW50IG9yIGNvLW9yZGluYXRlcyB0byByZWxlYXNlIGl0IGZyb20gdGhhdCBwb3NpdGlvblxuLy8gb3IgZWxzZSByZWxlYXNlIGdlc3R1cmUgaXMgcGVyZm9ybWVkIGZyb20gY2VudGVyIG9mIHRoZSBzY3JlZW4sIHNvIHRvIGZpeCBpdFxuLy8gVGhpcyBtZXRob2Qgc2V0cyBjby1vcmRpbmF0ZXMvZWxlbWVudCB0byByZWxlYXNlIGdlc3R1cmUgaWYgaXQgaGFzIG5vIG9wdGlvbnMgc2V0IGFscmVhZHkuXG5oZWxwZXJzLmZpeFJlbGVhc2UgPSBhc3luYyBmdW5jdGlvbiBmaXhSZWxlYXNlIChnZXN0dXJlcykge1xuICBsZXQgcmVsZWFzZSA9IF8ubGFzdChnZXN0dXJlcyk7XG4gIC8vIHNvbWV0aW1lcyB0aGVyZSBhcmUgbm8gb3B0aW9uc1xuICByZWxlYXNlLm9wdGlvbnMgPSByZWxlYXNlLm9wdGlvbnMgfHwge307XG4gIC8vIG5vdGhpbmcgdG8gZG8gaWYgcmVsZWFzZSBvcHRpb25zIGFyZSBhbHJlYWR5IHNldFxuICBpZiAocmVsZWFzZS5vcHRpb25zLmVsZW1lbnQgfHwgKHJlbGVhc2Uub3B0aW9ucy54ICYmIHJlbGVhc2Uub3B0aW9ucy55KSkge1xuICAgIHJldHVybjtcbiAgfVxuICAvLyB3aXRob3V0IGNvb3JkaW5hdGVzLCBgcmVsZWFzZWAgdXNlcyB0aGUgY2VudGVyIG9mIHRoZSBzY3JlZW4sIHdoaWNoLFxuICAvLyBnZW5lcmFsbHkgc3BlYWtpbmcsIGlzIG5vdCB3aGF0IHdlIHdhbnRcbiAgLy8gdGhlcmVmb3JlOiBsb29wIGJhY2t3YXJkcyBhbmQgdXNlIHRoZSBsYXN0IGNvbW1hbmQgd2l0aCBhbiBlbGVtZW50IGFuZC9vclxuICAvLyBvZmZzZXQgY29vcmRpbmF0ZXNcbiAgZ2VzdHVyZXMgPSBfLmNsb25lKGdlc3R1cmVzKTtcbiAgbGV0IHJlZiA9IG51bGw7XG4gIGZvciAobGV0IGdlc3R1cmUgb2YgZ2VzdHVyZXMucmV2ZXJzZSgpKSB7XG4gICAgbGV0IG9wdHMgPSBnZXN0dXJlLm9wdGlvbnM7XG4gICAgaWYgKG9wdHMuZWxlbWVudCB8fCAob3B0cy54ICYmIG9wdHMueSkpIHtcbiAgICAgIHJlZiA9IGdlc3R1cmU7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKHJlZikge1xuICAgIGxldCBvcHRzID0gcmVmLm9wdGlvbnM7XG4gICAgaWYgKG9wdHMuZWxlbWVudCkge1xuICAgICAgbGV0IGxvYyA9IGF3YWl0IHRoaXMuZ2V0TG9jYXRpb25JblZpZXcob3B0cy5lbGVtZW50KTtcbiAgICAgIGlmIChvcHRzLnggJiYgb3B0cy55KSB7XG4gICAgICAgIC8vIHRoaXMgaXMgYW4gb2Zmc2V0IGZyb20gdGhlIGVsZW1lbnRcbiAgICAgICAgcmVsZWFzZS5vcHRpb25zID0ge1xuICAgICAgICAgIHg6IGxvYy54ICsgb3B0cy54LFxuICAgICAgICAgIHk6IGxvYy55ICsgb3B0cy55XG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGlzIGlzIHRoZSBjZW50ZXIgb2YgdGhlIGVsZW1lbnRcbiAgICAgICAgbGV0IHNpemUgPSBhd2FpdCB0aGlzLmdldFNpemUob3B0cy5lbGVtZW50KTtcbiAgICAgICAgcmVsZWFzZS5vcHRpb25zID0ge1xuICAgICAgICAgIHg6IGxvYy54ICsgc2l6ZS53aWR0aCAvIDIsXG4gICAgICAgICAgeTogbG9jLnkgKyBzaXplLmhlaWdodCAvIDJcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVsZWFzZS5vcHRpb25zID0gXy5waWNrKG9wdHMsICd4JywgJ3knKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlbGVhc2U7XG59O1xuXG4vLyBQZXJmb3JtIG9uZSBnZXN0dXJlXG5oZWxwZXJzLnBlcmZvcm1HZXN0dXJlID0gYXN5bmMgZnVuY3Rpb24gcGVyZm9ybUdlc3R1cmUgKGdlc3R1cmUpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5kb1RvdWNoQWN0aW9uKGdlc3R1cmUuYWN0aW9uLCBnZXN0dXJlLm9wdGlvbnMgfHwge30pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gc29tZXRpbWUgdGhlIGVsZW1lbnQgaXMgbm90IGF2YWlsYWJsZSB3aGVuIHJlbGVhc2luZywgcmV0cnkgd2l0aG91dCBpdFxuICAgIGlmIChpc0Vycm9yVHlwZShlLCBlcnJvcnMuTm9TdWNoRWxlbWVudEVycm9yKSAmJiBnZXN0dXJlLmFjdGlvbiA9PT0gJ3JlbGVhc2UnICYmXG4gICAgICAgIGdlc3R1cmUub3B0aW9ucy5lbGVtZW50KSB7XG4gICAgICBkZWxldGUgZ2VzdHVyZS5vcHRpb25zLmVsZW1lbnQ7XG4gICAgICB0aGlzLmxvZy5kZWJ1ZyhgcmV0cnlpbmcgcmVsZWFzZSB3aXRob3V0IGVsZW1lbnQgb3B0czogJHtnZXN0dXJlLm9wdGlvbnN9LmApO1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZG9Ub3VjaEFjdGlvbihnZXN0dXJlLmFjdGlvbiwgZ2VzdHVyZS5vcHRpb25zIHx8IHt9KTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxufTtcblxuY29tbWFuZHMuZ2V0U3dpcGVPcHRpb25zID0gYXN5bmMgZnVuY3Rpb24gZ2V0U3dpcGVPcHRpb25zIChnZXN0dXJlcywgdG91Y2hDb3VudCA9IDEpIHtcbiAgbGV0IHN0YXJ0WCA9IGdldENvb3JkRGVmYXVsdChnZXN0dXJlc1swXS5vcHRpb25zLngpLFxuICAgICAgc3RhcnRZID0gZ2V0Q29vcmREZWZhdWx0KGdlc3R1cmVzWzBdLm9wdGlvbnMueSksXG4gICAgICBlbmRYID0gZ2V0Q29vcmREZWZhdWx0KGdlc3R1cmVzWzJdLm9wdGlvbnMueCksXG4gICAgICBlbmRZID0gZ2V0Q29vcmREZWZhdWx0KGdlc3R1cmVzWzJdLm9wdGlvbnMueSksXG4gICAgICBkdXJhdGlvbiA9IGdldFN3aXBlVG91Y2hEdXJhdGlvbihnZXN0dXJlc1sxXSksXG4gICAgICBlbGVtZW50ID0gZ2VzdHVyZXNbMF0ub3B0aW9ucy5lbGVtZW50LFxuICAgICAgZGVzdEVsZW1lbnQgPSBnZXN0dXJlc1syXS5vcHRpb25zLmVsZW1lbnQgfHwgZ2VzdHVyZXNbMF0ub3B0aW9ucy5lbGVtZW50O1xuXG4gIC8vIHRoZXJlJ3Mgbm8gZGVzdGluYXRpb24gZWxlbWVudCBoYW5kbGluZyBpbiBib290c3RyYXAgYW5kIHNpbmNlIGl0IGFwcGxpZXMgdG8gYWxsIHBsYXRmb3Jtcywgd2UgaGFuZGxlIGl0IGhlcmVcbiAgaWYgKHV0aWwuaGFzVmFsdWUoZGVzdEVsZW1lbnQpKSB7XG4gICAgbGV0IGxvY1Jlc3VsdCA9IGF3YWl0IHRoaXMuZ2V0TG9jYXRpb25JblZpZXcoZGVzdEVsZW1lbnQpO1xuICAgIGxldCBzaXplUmVzdWx0ID0gYXdhaXQgdGhpcy5nZXRTaXplKGRlc3RFbGVtZW50KTtcbiAgICBsZXQgb2Zmc2V0WCA9IChNYXRoLmFicyhlbmRYKSA8IDEgJiYgTWF0aC5hYnMoZW5kWCkgPiAwKSA/IHNpemVSZXN1bHQud2lkdGggKiBlbmRYIDogZW5kWDtcbiAgICBsZXQgb2Zmc2V0WSA9IChNYXRoLmFicyhlbmRZKSA8IDEgJiYgTWF0aC5hYnMoZW5kWSkgPiAwKSA/IHNpemVSZXN1bHQuaGVpZ2h0ICogZW5kWSA6IGVuZFk7XG4gICAgZW5kWCA9IGxvY1Jlc3VsdC54ICsgb2Zmc2V0WDtcbiAgICBlbmRZID0gbG9jUmVzdWx0LnkgKyBvZmZzZXRZO1xuICAgIC8vIGlmIHRoZSB0YXJnZXQgZWxlbWVudCB3YXMgcHJvdmlkZWQsIHRoZSBjb29yZGluYXRlcyBmb3IgdGhlIGRlc3RpbmF0aW9uIG5lZWQgdG8gYmUgcmVsYXRpdmUgdG8gaXQuXG4gICAgaWYgKHV0aWwuaGFzVmFsdWUoZWxlbWVudCkpIHtcbiAgICAgIGxldCBmaXJzdEVsTG9jYXRpb24gPSBhd2FpdCB0aGlzLmdldExvY2F0aW9uSW5WaWV3KGVsZW1lbnQpO1xuICAgICAgZW5kWCAtPSBmaXJzdEVsTG9jYXRpb24ueDtcbiAgICAgIGVuZFkgLT0gZmlyc3RFbExvY2F0aW9uLnk7XG4gICAgfVxuICB9XG4gIC8vIGNsaWVudHMgYXJlIHJlc3BvbnNpYmxlIHRvIHVzZSB0aGVzZSBvcHRpb25zIGNvcnJlY3RseVxuICByZXR1cm4ge3N0YXJ0WCwgc3RhcnRZLCBlbmRYLCBlbmRZLCBkdXJhdGlvbiwgdG91Y2hDb3VudCwgZWxlbWVudH07XG59O1xuXG5jb21tYW5kcy5wZXJmb3JtVG91Y2ggPSBhc3luYyBmdW5jdGlvbiBwZXJmb3JtVG91Y2ggKGdlc3R1cmVzKSB7XG4gIC8vIHByZXNzLXdhaXQtbW92ZVRvLXJlbGVhc2UgaXMgYHN3aXBlYCwgc28gdXNlIG5hdGl2ZSBtZXRob2RcbiAgaWYgKGdlc3R1cmVzLmxlbmd0aCA9PT0gNCAmJlxuICAgICAgZ2VzdHVyZXNbMF0uYWN0aW9uID09PSAncHJlc3MnICYmXG4gICAgICBnZXN0dXJlc1sxXS5hY3Rpb24gPT09ICd3YWl0JyAmJlxuICAgICAgZ2VzdHVyZXNbMl0uYWN0aW9uID09PSAnbW92ZVRvJyAmJlxuICAgICAgZ2VzdHVyZXNbM10uYWN0aW9uID09PSAncmVsZWFzZScpIHtcblxuICAgIGxldCBzd2lwZU9wdHMgPSBhd2FpdCB0aGlzLmdldFN3aXBlT3B0aW9ucyhnZXN0dXJlcyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc3dpcGUoc3dpcGVPcHRzLnN0YXJ0WCwgc3dpcGVPcHRzLnN0YXJ0WSwgc3dpcGVPcHRzLmVuZFgsXG4gICAgICAgIHN3aXBlT3B0cy5lbmRZLCBzd2lwZU9wdHMuZHVyYXRpb24sIHN3aXBlT3B0cy50b3VjaENvdW50LFxuICAgICAgICBzd2lwZU9wdHMuZWxlbWVudCk7XG4gIH1cbiAgbGV0IGFjdGlvbnMgPSBfLm1hcChnZXN0dXJlcywgJ2FjdGlvbicpO1xuXG4gIGlmIChhY3Rpb25zWzBdID09PSAnbG9uZ1ByZXNzJyAmJiBhY3Rpb25zWzFdID09PSAnbW92ZVRvJyAmJiBhY3Rpb25zWzJdID09PSAncmVsZWFzZScpIHtcbiAgICAvLyBzb21lIHRoaW5ncyBhcmUgc3BlY2lhbFxuICAgIHJldHVybiBhd2FpdCB0aGlzLmRvVG91Y2hEcmFnKGdlc3R1cmVzKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoYWN0aW9ucy5sZW5ndGggPT09IDIpIHtcbiAgICAgIC8vIGBwcmVzc2Agd2l0aG91dCBhIHdhaXQgaXMgdG9vIHNsb3cgYW5kIGdldHMgaW50ZXJwcmV0dGVkIGFzIGEgYGxvbmdQcmVzc2BcbiAgICAgIGlmIChfLmhlYWQoYWN0aW9ucykgPT09ICdwcmVzcycgJiYgXy5sYXN0KGFjdGlvbnMpID09PSAncmVsZWFzZScpIHtcbiAgICAgICAgYWN0aW9uc1swXSA9ICd0YXAnO1xuICAgICAgICBnZXN0dXJlc1swXS5hY3Rpb24gPSAndGFwJztcbiAgICAgIH1cblxuICAgICAgLy8gdGhlIGBsb25nUHJlc3NgIGFuZCBgdGFwYCBtZXRob2RzIHJlbGVhc2Ugb24gdGhlaXIgb3duXG4gICAgICBpZiAoKF8uaGVhZChhY3Rpb25zKSA9PT0gJ3RhcCcgfHwgXy5oZWFkKGFjdGlvbnMpID09PSAnbG9uZ1ByZXNzJykgJiYgXy5sYXN0KGFjdGlvbnMpID09PSAncmVsZWFzZScpIHtcbiAgICAgICAgZ2VzdHVyZXMucG9wKCk7XG4gICAgICAgIGFjdGlvbnMucG9wKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGxvbmdwcmVzcyBmb2xsb3dlZCBieSBhbnl0aGluZyBvdGhlciB0aGFuIHJlbGVhc2Ugc2hvdWxkIGJlY29tZSBhIHByZXNzIGFuZCB3YWl0XG4gICAgICBpZiAoYWN0aW9uc1swXSA9PT0gJ2xvbmdQcmVzcycpIHtcbiAgICAgICAgYWN0aW9ucyA9IFsncHJlc3MnLCAnd2FpdCcsIC4uLmFjdGlvbnMuc2xpY2UoMSldO1xuXG4gICAgICAgIGxldCBwcmVzcyA9IGdlc3R1cmVzLnNoaWZ0KCk7XG4gICAgICAgIHByZXNzLmFjdGlvbiA9ICdwcmVzcyc7XG4gICAgICAgIGxldCB3YWl0ID0ge1xuICAgICAgICAgIGFjdGlvbjogJ3dhaXQnLFxuICAgICAgICAgIG9wdGlvbnM6IHttczogcHJlc3Mub3B0aW9ucy5kdXJhdGlvbiB8fCAxMDAwfVxuICAgICAgICB9O1xuICAgICAgICBkZWxldGUgcHJlc3Mub3B0aW9ucy5kdXJhdGlvbjtcbiAgICAgICAgZ2VzdHVyZXMgPSBbcHJlc3MsIHdhaXQsIC4uLmdlc3R1cmVzXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgZml4ZWRHZXN0dXJlcyA9IGF3YWl0IHRoaXMucGFyc2VUb3VjaChnZXN0dXJlcywgZmFsc2UpO1xuICAgIC8vIGZpeCByZWxlYXNlIGFjdGlvbiB0aGVuIHBlcmZvcm0gYWxsIGFjdGlvbnNcbiAgICBpZiAoYWN0aW9uc1thY3Rpb25zLmxlbmd0aCAtIDFdID09PSAncmVsZWFzZScpIHtcbiAgICAgIGFjdGlvbnNbYWN0aW9ucy5sZW5ndGggLSAxXSA9IGF3YWl0IHRoaXMuZml4UmVsZWFzZShnZXN0dXJlcyk7XG4gICAgfVxuICAgIGZvciAobGV0IGcgb2YgZml4ZWRHZXN0dXJlcykge1xuICAgICAgYXdhaXQgdGhpcy5wZXJmb3JtR2VzdHVyZShnKTtcbiAgICB9XG4gIH1cbn07XG5cbmhlbHBlcnMucGFyc2VUb3VjaCA9IGFzeW5jIGZ1bmN0aW9uIHBhcnNlVG91Y2ggKGdlc3R1cmVzLCBtdWx0aSkge1xuICAvLyBiZWNhdXNlIG11bHRpLXRvdWNoIHJlbGVhc2VzIGF0IHRoZSBlbmQgYnkgZGVmYXVsdFxuICBpZiAobXVsdGkgJiYgXy5sYXN0KGdlc3R1cmVzKS5hY3Rpb24gPT09ICdyZWxlYXNlJykge1xuICAgIGdlc3R1cmVzLnBvcCgpO1xuICB9XG5cbiAgbGV0IHRvdWNoU3RhdGVPYmplY3RzID0gYXdhaXQgYXN5bmNtYXAoZ2VzdHVyZXMsIGFzeW5jIChnZXN0dXJlKSA9PiB7XG4gICAgbGV0IG9wdGlvbnMgPSBnZXN0dXJlLm9wdGlvbnMgfHwge307XG4gICAgaWYgKF8uaW5jbHVkZXMoWydwcmVzcycsICdtb3ZlVG8nLCAndGFwJywgJ2xvbmdQcmVzcyddLCBnZXN0dXJlLmFjdGlvbikpIHtcbiAgICAgIG9wdGlvbnMub2Zmc2V0ID0gZmFsc2U7XG4gICAgICBsZXQgZWxlbWVudElkID0gZ2VzdHVyZS5vcHRpb25zLmVsZW1lbnQ7XG4gICAgICBpZiAoZWxlbWVudElkKSB7XG4gICAgICAgIGxldCBwb3MgPSBhd2FpdCB0aGlzLmdldExvY2F0aW9uSW5WaWV3KGVsZW1lbnRJZCk7XG4gICAgICAgIGlmIChnZXN0dXJlLm9wdGlvbnMueCB8fCBnZXN0dXJlLm9wdGlvbnMueSkge1xuICAgICAgICAgIG9wdGlvbnMueCA9IHBvcy54ICsgKGdlc3R1cmUub3B0aW9ucy54IHx8IDApO1xuICAgICAgICAgIG9wdGlvbnMueSA9IHBvcy55ICsgKGdlc3R1cmUub3B0aW9ucy55IHx8IDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0fSA9IGF3YWl0IHRoaXMuZ2V0U2l6ZShlbGVtZW50SWQpO1xuICAgICAgICAgIG9wdGlvbnMueCA9IHBvcy54ICsgKHdpZHRoIC8gMik7XG4gICAgICAgICAgb3B0aW9ucy55ID0gcG9zLnkgKyAoaGVpZ2h0IC8gMik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHRvdWNoU3RhdGVPYmplY3QgPSB7XG4gICAgICAgICAgYWN0aW9uOiBnZXN0dXJlLmFjdGlvbixcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIHRpbWVPZmZzZXQ6IDAuMDA1LFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdG91Y2hTdGF0ZU9iamVjdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9wdGlvbnMueCA9IChnZXN0dXJlLm9wdGlvbnMueCB8fCAwKTtcbiAgICAgICAgb3B0aW9ucy55ID0gKGdlc3R1cmUub3B0aW9ucy55IHx8IDApO1xuXG4gICAgICAgIGxldCB0b3VjaFN0YXRlT2JqZWN0ID0ge1xuICAgICAgICAgIGFjdGlvbjogZ2VzdHVyZS5hY3Rpb24sXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICB0aW1lT2Zmc2V0OiAwLjAwNSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRvdWNoU3RhdGVPYmplY3Q7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBvZmZzZXQgPSAwLjAwNTtcbiAgICAgIGlmIChnZXN0dXJlLmFjdGlvbiA9PT0gJ3dhaXQnKSB7XG4gICAgICAgIG9wdGlvbnMgPSBnZXN0dXJlLm9wdGlvbnM7XG4gICAgICAgIG9mZnNldCA9IChwYXJzZUludChnZXN0dXJlLm9wdGlvbnMubXMsIDEwKSAvIDEwMDApO1xuICAgICAgfVxuICAgICAgbGV0IHRvdWNoU3RhdGVPYmplY3QgPSB7XG4gICAgICAgIGFjdGlvbjogZ2VzdHVyZS5hY3Rpb24sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHRpbWVPZmZzZXQ6IG9mZnNldCxcbiAgICAgIH07XG4gICAgICByZXR1cm4gdG91Y2hTdGF0ZU9iamVjdDtcbiAgICB9XG4gIH0sIGZhbHNlKTtcbiAgLy8gd2UgbmVlZCB0byBjaGFuZ2UgdGhlIHRpbWUgKHdoaWNoIGlzIG5vdyBhbiBvZmZzZXQpXG4gIC8vIGFuZCB0aGUgcG9zaXRpb24gKHdoaWNoIG1heSBiZSBhbiBvZmZzZXQpXG4gIGxldCBwcmV2UG9zID0gbnVsbCxcbiAgICAgIHRpbWUgPSAwO1xuICBmb3IgKGxldCBzdGF0ZSBvZiB0b3VjaFN0YXRlT2JqZWN0cykge1xuICAgIGlmIChfLmlzVW5kZWZpbmVkKHN0YXRlLm9wdGlvbnMueCkgJiYgXy5pc1VuZGVmaW5lZChzdGF0ZS5vcHRpb25zLnkpICYmIHByZXZQb3MgIT09IG51bGwpIHtcbiAgICAgIC8vIHRoaXMgaGFwcGVucyB3aXRoIHdhaXRcbiAgICAgIHN0YXRlLm9wdGlvbnMueCA9IHByZXZQb3MueDtcbiAgICAgIHN0YXRlLm9wdGlvbnMueSA9IHByZXZQb3MueTtcbiAgICB9XG4gICAgaWYgKHN0YXRlLm9wdGlvbnMub2Zmc2V0ICYmIHByZXZQb3MpIHtcbiAgICAgIC8vIHRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIGFuIG9mZnNldFxuICAgICAgc3RhdGUub3B0aW9ucy54ICs9IHByZXZQb3MueDtcbiAgICAgIHN0YXRlLm9wdGlvbnMueSArPSBwcmV2UG9zLnk7XG4gICAgfVxuICAgIGRlbGV0ZSBzdGF0ZS5vcHRpb25zLm9mZnNldDtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQoc3RhdGUub3B0aW9ucy54KSAmJiAhXy5pc1VuZGVmaW5lZChzdGF0ZS5vcHRpb25zLnkpKSB7XG4gICAgICBwcmV2UG9zID0gc3RhdGUub3B0aW9ucztcbiAgICB9XG5cbiAgICBpZiAobXVsdGkpIHtcbiAgICAgIGxldCB0aW1lT2Zmc2V0ID0gc3RhdGUudGltZU9mZnNldDtcbiAgICAgIHRpbWUgKz0gdGltZU9mZnNldDtcbiAgICAgIHN0YXRlLnRpbWUgPSBhbmRyb2lkSGVscGVycy50cnVuY2F0ZURlY2ltYWxzKHRpbWUsIDMpO1xuXG4gICAgICAvLyBtdWx0aSBnZXN0dXJlcyByZXF1aXJlICd0b3VjaCcgcmF0aGVyIHRoYW4gJ29wdGlvbnMnXG4gICAgICBpZiAoIV8uaXNVbmRlZmluZWQoc3RhdGUub3B0aW9ucy54KSAmJiAhXy5pc1VuZGVmaW5lZChzdGF0ZS5vcHRpb25zLnkpKSB7XG4gICAgICAgIHN0YXRlLnRvdWNoID0ge1xuICAgICAgICAgIHg6IHN0YXRlLm9wdGlvbnMueCxcbiAgICAgICAgICB5OiBzdGF0ZS5vcHRpb25zLnlcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBzdGF0ZS5vcHRpb25zO1xuICAgIH1cbiAgICBkZWxldGUgc3RhdGUudGltZU9mZnNldDtcbiAgfVxuICByZXR1cm4gdG91Y2hTdGF0ZU9iamVjdHM7XG59O1xuXG5cbmNvbW1hbmRzLnBlcmZvcm1NdWx0aUFjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIHBlcmZvcm1NdWx0aUFjdGlvbiAoYWN0aW9ucywgZWxlbWVudElkKSB7XG4gIC8vIEFuZHJvaWQgbmVlZHMgYXQgbGVhc3QgdHdvIGFjdGlvbnMgdG8gYmUgYWJsZSB0byBwZXJmb3JtIGEgbXVsdGkgcG9pbnRlciBnZXN0dXJlXG4gIGlmIChhY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTXVsdGkgUG9pbnRlciBHZXN0dXJlcyBuZWVkIGF0IGxlYXN0IHR3byBhY3Rpb25zLiAnICtcbiAgICAgICAgJ1VzZSBUb3VjaCBBY3Rpb25zIGZvciBhIHNpbmdsZSBhY3Rpb24uJyk7XG4gIH1cblxuICBjb25zdCBzdGF0ZXMgPSBhd2FpdCBhc3luY21hcChhY3Rpb25zLCBhc3luYyAoYWN0aW9uKSA9PiBhd2FpdCB0aGlzLnBhcnNlVG91Y2goYWN0aW9uLCB0cnVlKSwgZmFsc2UpO1xuXG4gIHJldHVybiBhd2FpdCB0aGlzLmRvUGVyZm9ybU11bHRpQWN0aW9uKGVsZW1lbnRJZCwgc3RhdGVzKTtcbn07XG5cbi8qKlxuICogUmVhc29uIGZvciBpc29sYXRpbmcgZG9QZXJmb3JtTXVsdGlBY3Rpb24gZnJvbSBwZXJmb3JtTXVsdGlBY3Rpb24gaXMgZm9yIHJldXNpbmcgcGVyZm9ybU11bHRpQWN0aW9uXG4gKiBhY3Jvc3MgYW5kcm9pZC1kcml2ZXJzIChsaWtlIGFwcGl1bS11aWF1dG9tYXRvcjItZHJpdmVyKSBhbmQgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbi5cbiAqIE90aGVyIGFuZHJvaWQtZHJpdmVycyAobGlrZSBhcHBpdW0tdWlhdXRvbWF0b3IyLWRyaXZlcikgbmVlZCB0byBvdmVycmlkZSBkb1BlcmZvcm1NdWx0aUFjdGlvblxuICogdG8gZmFjaWxpdGF0ZSBwZXJmb3JtTXVsdGlBY3Rpb24uXG4gKi9cbmNvbW1hbmRzLmRvUGVyZm9ybU11bHRpQWN0aW9uID0gYXN5bmMgZnVuY3Rpb24gZG9QZXJmb3JtTXVsdGlBY3Rpb24gKGVsZW1lbnRJZCwgc3RhdGVzKSB7XG4gIGxldCBvcHRzO1xuICBpZiAoZWxlbWVudElkKSB7XG4gICAgb3B0cyA9IHtcbiAgICAgIGVsZW1lbnRJZCxcbiAgICAgIGFjdGlvbnM6IHN0YXRlc1xuICAgIH07XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm9vdHN0cmFwLnNlbmRBY3Rpb24oJ2VsZW1lbnQ6cGVyZm9ybU11bHRpUG9pbnRlckdlc3R1cmUnLCBvcHRzKTtcbiAgfSBlbHNlIHtcbiAgICBvcHRzID0ge1xuICAgICAgYWN0aW9uczogc3RhdGVzXG4gICAgfTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib290c3RyYXAuc2VuZEFjdGlvbigncGVyZm9ybU11bHRpUG9pbnRlckdlc3R1cmUnLCBvcHRzKTtcbiAgfVxufTtcblxuT2JqZWN0LmFzc2lnbihleHRlbnNpb25zLCBjb21tYW5kcywgaGVscGVycyk7XG5leHBvcnQgeyBjb21tYW5kcywgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFJQSxRQUFRLEdBQUcsRUFBZjtBQUFBLElBQW1CQyxPQUFPLEdBQUcsRUFBN0I7QUFBQSxJQUFpQ0MsVUFBVSxHQUFHLEVBQTlDOzs7O0FBRUEsU0FBU0MsZUFBVCxDQUEwQkMsR0FBMUIsRUFBK0I7RUFJN0IsT0FBT0MsYUFBQSxDQUFLQyxRQUFMLENBQWNGLEdBQWQsSUFBcUJBLEdBQXJCLEdBQTJCLEdBQWxDO0FBQ0Q7O0FBRUQsU0FBU0cscUJBQVQsQ0FBZ0NDLFdBQWhDLEVBQTZDO0VBRzNDLElBQUlDLFFBQVEsR0FBRyxHQUFmOztFQUNBLElBQUksT0FBT0QsV0FBVyxDQUFDRSxPQUFaLENBQW9CQyxFQUEzQixLQUFrQyxXQUFsQyxJQUFpREgsV0FBVyxDQUFDRSxPQUFaLENBQW9CQyxFQUF6RSxFQUE2RTtJQUMzRUYsUUFBUSxHQUFHRCxXQUFXLENBQUNFLE9BQVosQ0FBb0JDLEVBQXBCLEdBQXlCLElBQXBDOztJQUNBLElBQUlGLFFBQVEsS0FBSyxDQUFqQixFQUFv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
|
|
@@ -295,7 +295,5 @@ let uiautomatorCapConstraints = {
|
|
|
295
295
|
let desiredCapConstraints = {};
|
|
296
296
|
Object.assign(desiredCapConstraints, commonCapConstraints, uiautomatorCapConstraints);
|
|
297
297
|
var _default = desiredCapConstraints;
|
|
298
|
-
exports.default = _default;
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2Rlc2lyZWQtY2Fwcy5qcyIsIm5hbWVzIjpbImNvbW1vbkNhcENvbnN0cmFpbnRzIiwicGxhdGZvcm1OYW1lIiwiaXNTdHJpbmciLCJpbmNsdXNpb25DYXNlSW5zZW5zaXRpdmUiLCJwcmVzZW5jZSIsImFwcCIsImFwcEFjdGl2aXR5IiwiYXBwUGFja2FnZSIsImFwcFdhaXRBY3Rpdml0eSIsImFwcFdhaXRQYWNrYWdlIiwiYXBwV2FpdER1cmF0aW9uIiwiaXNOdW1iZXIiLCJkZXZpY2VSZWFkeVRpbWVvdXQiLCJhbmRyb2lkQ292ZXJhZ2UiLCJhbmRyb2lkRGV2aWNlUmVhZHlUaW1lb3V0IiwiYW5kcm9pZERldmljZVNvY2tldCIsImFuZHJvaWRJbnN0YWxsVGltZW91dCIsImFkYlBvcnQiLCJyZW1vdGVBZGJIb3N0IiwiYWRiRXhlY1RpbWVvdXQiLCJhdmQiLCJhdmRMYXVuY2hUaW1lb3V0IiwiYXZkUmVhZHlUaW1lb3V0IiwiYXZkQXJncyIsImF2ZEVudiIsImlzT2JqZWN0IiwidXNlS2V5c3RvcmUiLCJpc0Jvb2xlYW4iLCJrZXlzdG9yZVBhdGgiLCJrZXlzdG9yZVBhc3N3b3JkIiwia2V5QWxpYXMiLCJrZXlQYXNzd29yZCIsIndlYnZpZXdEZXZ0b29sc1BvcnQiLCJlbnN1cmVXZWJ2aWV3c0hhdmVQYWdlcyIsImVuYWJsZVdlYnZpZXdEZXRhaWxzQ29sbGVjdGlvbiIsImNocm9tZURyaXZlclBvcnQiLCJjaHJvbWVkcml2ZXJQb3J0IiwiY2hyb21lZHJpdmVyUG9ydHMiLCJpc0FycmF5IiwiY2hyb21lZHJpdmVyQXJncyIsImNocm9tZWRyaXZlckV4ZWN1dGFibGUiLCJjaHJvbWVkcml2ZXJFeGVjdXRhYmxlRGlyIiwiY2hyb21lZHJpdmVyQ2hyb21lTWFwcGluZ0ZpbGUiLCJjaHJvbWVkcml2ZXJVc2VTeXN0ZW1FeGVjdXRhYmxlIiwiY2hyb21lZHJpdmVyRGlzYWJsZUJ1aWxkQ2hlY2siLCJjaHJvbWVMb2dnaW5nUHJlZnMiLCJhdXRvV2Vidmlld1RpbWVvdXQiLCJpbnRlbnRBY3Rpb24iLCJpbnRlbnRDYXRlZ29yeSIsImludGVudEZsYWdzIiwib3B0aW9uYWxJbnRlbnRBcmd1bWVudHMiLCJkb250U3RvcEFwcE9uUmVzZXQiLCJ1bmljb2RlS2V5Ym9hcmQiLCJyZXNldEtleWJvYXJkIiwibm9TaWduIiwicmVjcmVhdGVDaHJvbWVEcml2ZXJTZXNzaW9ucyIsImF1dG9MYXVuY2giLCJuYXRpdmVXZWJTY3JlZW5zaG90IiwiYW5kcm9pZFNjcmVlbnNob3RQYXRoIiwiYW5kcm9pZEluc3RhbGxQYXRoIiwiY2xlYXJTeXN0ZW1GaWxlcyIsImV4dHJhY3RDaHJvbWVBbmRyb2lkUGFja2FnZUZyb21Db250ZXh0TmFtZSIsImF1dG9HcmFudFBlcm1pc3Npb25zIiwic2hhcmVkUHJlZmVyZW5jZXMiLCJuZXR3b3JrU3BlZWQiLCJncHNFbmFibGVkIiwiaXNIZWFkbGVzcyIsInNob3dDaHJvbWVkcml2ZXJMb2ciLCJza2lwVW5sb2NrIiwiY2xlYXJEZXZpY2VMb2dzT25TdGFydCIsInVubG9ja1R5cGUiLCJ1bmxvY2tLZXkiLCJ1bmxvY2tTdHJhdGVneSIsIm90aGVyQXBwcyIsInVuaW5zdGFsbE90aGVyUGFja2FnZXMiLCJhbGxvd1Rlc3RQYWNrYWdlcyIsInBhZ2VMb2FkU3RyYXRlZ3kiLCJsb2NhbGVTY3JpcHQiLCJza2lwRGV2aWNlSW5pdGlhbGl6YXRpb24iLCJyZW1vdGVBcHBzQ2FjaGVMaW1pdCIsImJ1aWxkVG9vbHNWZXJzaW9uIiwic2tpcExvZ2NhdENhcHR1cmUiLCJjaHJvbWVPcHRpb25zIiwiZW5hYmxlUGVyZm9ybWFuY2VMb2dnaW5nIiwidXNlclByb2ZpbGUiLCJicm93c2VyTmFtZSIsImVuZm9yY2VBcHBJbnN0YWxsIiwic3VwcHJlc3NLaWxsU2VydmVyIiwiYWxsb3dPZmZsaW5lRGV2aWNlcyIsImlnbm9yZUhpZGRlbkFwaVBvbGljeUVycm9yIiwidW5sb2NrU3VjY2Vzc1RpbWVvdXQiLCJtb2NrTG9jYXRpb25BcHAiLCJsb2djYXRGb3JtYXQiLCJsb2djYXRGaWx0ZXJTcGVjcyIsImFsbG93RGVsYXlBZGIiLCJ1aWF1dG9tYXRvckNhcENvbnN0cmFpbnRzIiwiaWdub3JlVW5pbXBvcnRhbnRWaWV3cyIsImRpc2FibGVBbmRyb2lkV2F0Y2hlcnMiLCJhY2NlcHRTc2xDZXJ0cyIsImFuZHJvaWROYXR1cmFsT3JpZW50YXRpb24iLCJkaXNhYmxlV2luZG93QW5pbWF0aW9uIiwiYm9vdHN0cmFwUG9ydCIsImRlc2lyZWRDYXBDb25zdHJhaW50cyIsIk9iamVjdCIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9kZXNpcmVkLWNhcHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsibGV0IGNvbW1vbkNhcENvbnN0cmFpbnRzID0ge1xuICBwbGF0Zm9ybU5hbWU6IHtcbiAgICBpc1N0cmluZzogdHJ1ZSxcbiAgICBpbmNsdXNpb25DYXNlSW5zZW5zaXRpdmU6IFsnQW5kcm9pZCddLFxuICAgIHByZXNlbmNlOiB0cnVlXG4gIH0sXG4gIGFwcDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGFwcEFjdGl2aXR5OiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYXBwUGFja2FnZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGFwcFdhaXRBY3Rpdml0eToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGFwcFdhaXRQYWNrYWdlOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYXBwV2FpdER1cmF0aW9uOiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgZGV2aWNlUmVhZHlUaW1lb3V0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgYW5kcm9pZENvdmVyYWdlOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYW5kcm9pZERldmljZVJlYWR5VGltZW91dDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIGFuZHJvaWREZXZpY2VTb2NrZXQ6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhbmRyb2lkSW5zdGFsbFRpbWVvdXQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBhZGJQb3J0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgcmVtb3RlQWRiSG9zdDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGFkYkV4ZWNUaW1lb3V0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgYXZkOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYXZkTGF1bmNoVGltZW91dDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIGF2ZFJlYWR5VGltZW91dDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIGF2ZEFyZ3M6IHtcbiAgICAvLyBjb3VsZCBiZSBhIHN0cmluZyBvciBhbiBhcnJheVxuICB9LFxuICBhdmRFbnY6IHtcbiAgICBpc09iamVjdDogdHJ1ZVxuICB9LFxuICB1c2VLZXlzdG9yZToge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBrZXlzdG9yZVBhdGg6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBrZXlzdG9yZVBhc3N3b3JkOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAga2V5QWxpYXM6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBrZXlQYXNzd29yZDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIHdlYnZpZXdEZXZ0b29sc1BvcnQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBlbnN1cmVXZWJ2aWV3c0hhdmVQYWdlczoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBlbmFibGVXZWJ2aWV3RGV0YWlsc0NvbGxlY3Rpb246IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgLy8gdGhpcyBvbmUgaXMgZGVwcmVjYXRlZFxuICBjaHJvbWVEcml2ZXJQb3J0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgLy8gZHVwbGljYXRlIG9mIGFib3ZlIHdpdGggYmV0dGVyIHNwZWxsaW5nXG4gIGNocm9tZWRyaXZlclBvcnQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBjaHJvbWVkcml2ZXJQb3J0czoge1xuICAgIGlzQXJyYXk6IHRydWVcbiAgfSxcbiAgY2hyb21lZHJpdmVyQXJnczoge1xuICAgIGlzT2JqZWN0OiB0cnVlLFxuICB9LFxuICBjaHJvbWVkcml2ZXJFeGVjdXRhYmxlOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgY2hyb21lZHJpdmVyRXhlY3V0YWJsZURpcjoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGNocm9tZWRyaXZlckNocm9tZU1hcHBpbmdGaWxlOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgY2hyb21lZHJpdmVyVXNlU3lzdGVtRXhlY3V0YWJsZToge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBjaHJvbWVkcml2ZXJEaXNhYmxlQnVpbGRDaGVjazoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBjaHJvbWVMb2dnaW5nUHJlZnM6IHtcbiAgICBpc09iamVjdDogdHJ1ZVxuICB9LFxuICBhdXRvV2Vidmlld1RpbWVvdXQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBpbnRlbnRBY3Rpb246IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBpbnRlbnRDYXRlZ29yeToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGludGVudEZsYWdzOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgb3B0aW9uYWxJbnRlbnRBcmd1bWVudHM6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBkb250U3RvcEFwcE9uUmVzZXQ6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgdW5pY29kZUtleWJvYXJkOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHJlc2V0S2V5Ym9hcmQ6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgbm9TaWduOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHJlY3JlYXRlQ2hyb21lRHJpdmVyU2Vzc2lvbnM6IHtcbiAgICBpc0Jvb2xlYW46IGZhbHNlXG4gIH0sXG4gIGF1dG9MYXVuY2g6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgbmF0aXZlV2ViU2NyZWVuc2hvdDoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBhbmRyb2lkU2NyZWVuc2hvdFBhdGg6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhbmRyb2lkSW5zdGFsbFBhdGg6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBjbGVhclN5c3RlbUZpbGVzOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGV4dHJhY3RDaHJvbWVBbmRyb2lkUGFja2FnZUZyb21Db250ZXh0TmFtZToge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBhdXRvR3JhbnRQZXJtaXNzaW9uczoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBzaGFyZWRQcmVmZXJlbmNlczoge1xuICAgIGlzT2JqZWN0OiB0cnVlXG4gIH0sXG4gIG5ldHdvcmtTcGVlZDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGdwc0VuYWJsZWQ6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgaXNIZWFkbGVzczoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBzaG93Q2hyb21lZHJpdmVyTG9nOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHNraXBVbmxvY2s6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgY2xlYXJEZXZpY2VMb2dzT25TdGFydDoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICB1bmxvY2tUeXBlOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgdW5sb2NrS2V5OiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgdW5sb2NrU3RyYXRlZ3k6IHtcbiAgICBpc1N0cmluZzogdHJ1ZSxcbiAgICBpbmNsdXNpb25DYXNlSW5zZW5zaXRpdmU6IFsnbG9ja3NldHRpbmdzJywgJ3VpYXV0b21hdG9yJ10sXG4gIH0sXG4gIG90aGVyQXBwczoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIHVuaW5zdGFsbE90aGVyUGFja2FnZXM6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhbGxvd1Rlc3RQYWNrYWdlczoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBwYWdlTG9hZFN0cmF0ZWd5OiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgbG9jYWxlU2NyaXB0OiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgc2tpcERldmljZUluaXRpYWxpemF0aW9uOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHJlbW90ZUFwcHNDYWNoZUxpbWl0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgYnVpbGRUb29sc1ZlcnNpb246IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBza2lwTG9nY2F0Q2FwdHVyZToge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBjaHJvbWVPcHRpb25zOiB7XG4gICAgaXNPYmplY3Q6IHRydWVcbiAgfSxcbiAgZW5hYmxlUGVyZm9ybWFuY2VMb2dnaW5nOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHVzZXJQcm9maWxlOiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgYnJvd3Nlck5hbWU6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBlbmZvcmNlQXBwSW5zdGFsbDoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBzdXBwcmVzc0tpbGxTZXJ2ZXI6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgYWxsb3dPZmZsaW5lRGV2aWNlczoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBpZ25vcmVIaWRkZW5BcGlQb2xpY3lFcnJvcjoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICB1bmxvY2tTdWNjZXNzVGltZW91dDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIG1vY2tMb2NhdGlvbkFwcDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGxvZ2NhdEZvcm1hdDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGxvZ2NhdEZpbHRlclNwZWNzOiB7XG4gICAgaXNBcnJheTogdHJ1ZVxuICB9LFxuICBhbGxvd0RlbGF5QWRiOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH1cbn07XG5cbmxldCB1aWF1dG9tYXRvckNhcENvbnN0cmFpbnRzID0ge1xuICBpZ25vcmVVbmltcG9ydGFudFZpZXdzOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGRpc2FibGVBbmRyb2lkV2F0Y2hlcnM6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgYWNjZXB0U3NsQ2VydHM6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgYW5kcm9pZE5hdHVyYWxPcmllbnRhdGlvbjoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBkaXNhYmxlV2luZG93QW5pbWF0aW9uOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGJvb3RzdHJhcFBvcnQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxufTtcblxubGV0IGRlc2lyZWRDYXBDb25zdHJhaW50cyA9IHt9O1xuXG5PYmplY3QuYXNzaWduKGRlc2lyZWRDYXBDb25zdHJhaW50cywgY29tbW9uQ2FwQ29uc3RyYWludHMsXG4gICAgICAgICAgICAgIHVpYXV0b21hdG9yQ2FwQ29uc3RyYWludHMpO1xuXG5leHBvcnQgZGVmYXVsdCBkZXNpcmVkQ2FwQ29uc3RyYWludHM7XG5leHBvcnQgeyBjb21tb25DYXBDb25zdHJhaW50cyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFJQSxvQkFBb0IsR0FBRztFQUN6QkMsWUFBWSxFQUFFO0lBQ1pDLFFBQVEsRUFBRSxJQURFO0lBRVpDLHdCQUF3QixFQUFFLENBQUMsU0FBRCxDQUZkO0lBR1pDLFFBQVEsRUFBRTtFQUhFLENBRFc7RUFNekJDLEdBQUcsRUFBRTtJQUNISCxRQUFRLEVBQUU7RUFEUCxDQU5vQjtFQVN6QkksV0FBVyxFQUFFO0lBQ1hKLFFBQVEsRUFBRTtFQURDLENBVFk7RUFZekJLLFVBQVUsRUFBRTtJQUNWTCxRQUFRLEVBQUU7RUFEQSxDQVphO0VBZXpCTSxlQUFlLEVBQUU7SUFDZk4sUUFBUSxFQUFFO0VBREssQ0FmUTtFQWtCekJPLGNBQWMsRUFBRTtJQUNkUCxRQUFRLEVBQUU7RUFESSxDQWxCUztFQXFCekJRLGVBQWUsRUFBRTtJQUNmQyxRQUFRLEVBQUU7RUFESyxDQXJCUTtFQXdCekJDLGtCQUFrQixFQUFFO0lBQ2xCRCxRQUFRLEVBQUU7RUFEUSxDQXhCSztFQTJCekJFLGVBQWUsRUFBRTtJQUNmWCxRQUFRLEVBQUU7RUFESyxDQTNCUTtFQThCekJZLHlCQUF5QixFQUFFO0lBQ3pCSCxRQUFRLEVBQUU7RUFEZSxDQTlCRjtFQWlDekJJLG1CQUFtQixFQUFFO0lBQ25CYixRQUFRLEVBQUU7RUFEUyxDQWpDSTtFQW9DekJjLHFCQUFxQixFQUFFO0lBQ3JCTCxRQUFRLEVBQUU7RUFEVyxDQXBDRTtFQXVDekJNLE9BQU8sRUFBRTtJQUNQTixRQUFRLEVBQUU7RUFESCxDQXZDZ0I7RUEwQ3pCTyxhQUFhLEVBQUU7SUFDYmhCLFFBQVEsRUFBRTtFQURHLENBMUNVO0VBNkN6QmlCLGNBQWMsRUFBRTtJQUNkUixRQUFRLEVBQUU7RUFESSxDQTdDUztFQWdEekJTLEdBQUcsRUFBRTtJQUNIbEIsUUFBUSxFQUFFO0VBRFAsQ0FoRG9C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
|
|
298
|
+
exports.default = _default;
|
|
299
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tb25DYXBDb25zdHJhaW50cyIsInBsYXRmb3JtTmFtZSIsImlzU3RyaW5nIiwiaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlIiwicHJlc2VuY2UiLCJhcHAiLCJhcHBBY3Rpdml0eSIsImFwcFBhY2thZ2UiLCJhcHBXYWl0QWN0aXZpdHkiLCJhcHBXYWl0UGFja2FnZSIsImFwcFdhaXREdXJhdGlvbiIsImlzTnVtYmVyIiwiZGV2aWNlUmVhZHlUaW1lb3V0IiwiYW5kcm9pZENvdmVyYWdlIiwiYW5kcm9pZERldmljZVJlYWR5VGltZW91dCIsImFuZHJvaWREZXZpY2VTb2NrZXQiLCJhbmRyb2lkSW5zdGFsbFRpbWVvdXQiLCJhZGJQb3J0IiwicmVtb3RlQWRiSG9zdCIsImFkYkV4ZWNUaW1lb3V0IiwiYXZkIiwiYXZkTGF1bmNoVGltZW91dCIsImF2ZFJlYWR5VGltZW91dCIsImF2ZEFyZ3MiLCJhdmRFbnYiLCJpc09iamVjdCIsInVzZUtleXN0b3JlIiwiaXNCb29sZWFuIiwia2V5c3RvcmVQYXRoIiwia2V5c3RvcmVQYXNzd29yZCIsImtleUFsaWFzIiwia2V5UGFzc3dvcmQiLCJ3ZWJ2aWV3RGV2dG9vbHNQb3J0IiwiZW5zdXJlV2Vidmlld3NIYXZlUGFnZXMiLCJlbmFibGVXZWJ2aWV3RGV0YWlsc0NvbGxlY3Rpb24iLCJjaHJvbWVEcml2ZXJQb3J0IiwiY2hyb21lZHJpdmVyUG9ydCIsImNocm9tZWRyaXZlclBvcnRzIiwiaXNBcnJheSIsImNocm9tZWRyaXZlckFyZ3MiLCJjaHJvbWVkcml2ZXJFeGVjdXRhYmxlIiwiY2hyb21lZHJpdmVyRXhlY3V0YWJsZURpciIsImNocm9tZWRyaXZlckNocm9tZU1hcHBpbmdGaWxlIiwiY2hyb21lZHJpdmVyVXNlU3lzdGVtRXhlY3V0YWJsZSIsImNocm9tZWRyaXZlckRpc2FibGVCdWlsZENoZWNrIiwiY2hyb21lTG9nZ2luZ1ByZWZzIiwiYXV0b1dlYnZpZXdUaW1lb3V0IiwiaW50ZW50QWN0aW9uIiwiaW50ZW50Q2F0ZWdvcnkiLCJpbnRlbnRGbGFncyIsIm9wdGlvbmFsSW50ZW50QXJndW1lbnRzIiwiZG9udFN0b3BBcHBPblJlc2V0IiwidW5pY29kZUtleWJvYXJkIiwicmVzZXRLZXlib2FyZCIsIm5vU2lnbiIsInJlY3JlYXRlQ2hyb21lRHJpdmVyU2Vzc2lvbnMiLCJhdXRvTGF1bmNoIiwibmF0aXZlV2ViU2NyZWVuc2hvdCIsImFuZHJvaWRTY3JlZW5zaG90UGF0aCIsImFuZHJvaWRJbnN0YWxsUGF0aCIsImNsZWFyU3lzdGVtRmlsZXMiLCJleHRyYWN0Q2hyb21lQW5kcm9pZFBhY2thZ2VGcm9tQ29udGV4dE5hbWUiLCJhdXRvR3JhbnRQZXJtaXNzaW9ucyIsInNoYXJlZFByZWZlcmVuY2VzIiwibmV0d29ya1NwZWVkIiwiZ3BzRW5hYmxlZCIsImlzSGVhZGxlc3MiLCJzaG93Q2hyb21lZHJpdmVyTG9nIiwic2tpcFVubG9jayIsImNsZWFyRGV2aWNlTG9nc09uU3RhcnQiLCJ1bmxvY2tUeXBlIiwidW5sb2NrS2V5IiwidW5sb2NrU3RyYXRlZ3kiLCJvdGhlckFwcHMiLCJ1bmluc3RhbGxPdGhlclBhY2thZ2VzIiwiYWxsb3dUZXN0UGFja2FnZXMiLCJwYWdlTG9hZFN0cmF0ZWd5IiwibG9jYWxlU2NyaXB0Iiwic2tpcERldmljZUluaXRpYWxpemF0aW9uIiwicmVtb3RlQXBwc0NhY2hlTGltaXQiLCJidWlsZFRvb2xzVmVyc2lvbiIsInNraXBMb2djYXRDYXB0dXJlIiwiY2hyb21lT3B0aW9ucyIsImVuYWJsZVBlcmZvcm1hbmNlTG9nZ2luZyIsInVzZXJQcm9maWxlIiwiYnJvd3Nlck5hbWUiLCJlbmZvcmNlQXBwSW5zdGFsbCIsInN1cHByZXNzS2lsbFNlcnZlciIsImFsbG93T2ZmbGluZURldmljZXMiLCJpZ25vcmVIaWRkZW5BcGlQb2xpY3lFcnJvciIsInVubG9ja1N1Y2Nlc3NUaW1lb3V0IiwibW9ja0xvY2F0aW9uQXBwIiwibG9nY2F0Rm9ybWF0IiwibG9nY2F0RmlsdGVyU3BlY3MiLCJhbGxvd0RlbGF5QWRiIiwidWlhdXRvbWF0b3JDYXBDb25zdHJhaW50cyIsImlnbm9yZVVuaW1wb3J0YW50Vmlld3MiLCJkaXNhYmxlQW5kcm9pZFdhdGNoZXJzIiwiYWNjZXB0U3NsQ2VydHMiLCJhbmRyb2lkTmF0dXJhbE9yaWVudGF0aW9uIiwiZGlzYWJsZVdpbmRvd0FuaW1hdGlvbiIsImJvb3RzdHJhcFBvcnQiLCJkZXNpcmVkQ2FwQ29uc3RyYWludHMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi9saWIvZGVzaXJlZC1jYXBzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImxldCBjb21tb25DYXBDb25zdHJhaW50cyA9IHtcbiAgcGxhdGZvcm1OYW1lOiB7XG4gICAgaXNTdHJpbmc6IHRydWUsXG4gICAgaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlOiBbJ0FuZHJvaWQnXSxcbiAgICBwcmVzZW5jZTogdHJ1ZVxuICB9LFxuICBhcHA6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhcHBBY3Rpdml0eToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGFwcFBhY2thZ2U6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhcHBXYWl0QWN0aXZpdHk6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhcHBXYWl0UGFja2FnZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGFwcFdhaXREdXJhdGlvbjoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIGRldmljZVJlYWR5VGltZW91dDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIGFuZHJvaWRDb3ZlcmFnZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGFuZHJvaWREZXZpY2VSZWFkeVRpbWVvdXQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBhbmRyb2lkRGV2aWNlU29ja2V0OiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYW5kcm9pZEluc3RhbGxUaW1lb3V0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgYWRiUG9ydDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIHJlbW90ZUFkYkhvc3Q6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhZGJFeGVjVGltZW91dDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIGF2ZDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGF2ZExhdW5jaFRpbWVvdXQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBhdmRSZWFkeVRpbWVvdXQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBhdmRBcmdzOiB7XG4gICAgLy8gY291bGQgYmUgYSBzdHJpbmcgb3IgYW4gYXJyYXlcbiAgfSxcbiAgYXZkRW52OiB7XG4gICAgaXNPYmplY3Q6IHRydWVcbiAgfSxcbiAgdXNlS2V5c3RvcmU6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAga2V5c3RvcmVQYXRoOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAga2V5c3RvcmVQYXNzd29yZDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGtleUFsaWFzOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAga2V5UGFzc3dvcmQ6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICB3ZWJ2aWV3RGV2dG9vbHNQb3J0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgZW5zdXJlV2Vidmlld3NIYXZlUGFnZXM6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgZW5hYmxlV2Vidmlld0RldGFpbHNDb2xsZWN0aW9uOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIC8vIHRoaXMgb25lIGlzIGRlcHJlY2F0ZWRcbiAgY2hyb21lRHJpdmVyUG9ydDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIC8vIGR1cGxpY2F0ZSBvZiBhYm92ZSB3aXRoIGJldHRlciBzcGVsbGluZ1xuICBjaHJvbWVkcml2ZXJQb3J0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgY2hyb21lZHJpdmVyUG9ydHM6IHtcbiAgICBpc0FycmF5OiB0cnVlXG4gIH0sXG4gIGNocm9tZWRyaXZlckFyZ3M6IHtcbiAgICBpc09iamVjdDogdHJ1ZSxcbiAgfSxcbiAgY2hyb21lZHJpdmVyRXhlY3V0YWJsZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGNocm9tZWRyaXZlckV4ZWN1dGFibGVEaXI6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBjaHJvbWVkcml2ZXJDaHJvbWVNYXBwaW5nRmlsZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGNocm9tZWRyaXZlclVzZVN5c3RlbUV4ZWN1dGFibGU6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgY2hyb21lZHJpdmVyRGlzYWJsZUJ1aWxkQ2hlY2s6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgY2hyb21lTG9nZ2luZ1ByZWZzOiB7XG4gICAgaXNPYmplY3Q6IHRydWVcbiAgfSxcbiAgYXV0b1dlYnZpZXdUaW1lb3V0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgaW50ZW50QWN0aW9uOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgaW50ZW50Q2F0ZWdvcnk6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBpbnRlbnRGbGFnczoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIG9wdGlvbmFsSW50ZW50QXJndW1lbnRzOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgZG9udFN0b3BBcHBPblJlc2V0OiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHVuaWNvZGVLZXlib2FyZDoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICByZXNldEtleWJvYXJkOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIG5vU2lnbjoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICByZWNyZWF0ZUNocm9tZURyaXZlclNlc3Npb25zOiB7XG4gICAgaXNCb29sZWFuOiBmYWxzZVxuICB9LFxuICBhdXRvTGF1bmNoOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIG5hdGl2ZVdlYlNjcmVlbnNob3Q6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgYW5kcm9pZFNjcmVlbnNob3RQYXRoOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYW5kcm9pZEluc3RhbGxQYXRoOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgY2xlYXJTeXN0ZW1GaWxlczoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBleHRyYWN0Q2hyb21lQW5kcm9pZFBhY2thZ2VGcm9tQ29udGV4dE5hbWU6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgYXV0b0dyYW50UGVybWlzc2lvbnM6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgc2hhcmVkUHJlZmVyZW5jZXM6IHtcbiAgICBpc09iamVjdDogdHJ1ZVxuICB9LFxuICBuZXR3b3JrU3BlZWQ6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBncHNFbmFibGVkOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGlzSGVhZGxlc3M6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgc2hvd0Nocm9tZWRyaXZlckxvZzoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBza2lwVW5sb2NrOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGNsZWFyRGV2aWNlTG9nc09uU3RhcnQ6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgdW5sb2NrVHlwZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIHVubG9ja0tleToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIHVubG9ja1N0cmF0ZWd5OiB7XG4gICAgaXNTdHJpbmc6IHRydWUsXG4gICAgaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlOiBbJ2xvY2tzZXR0aW5ncycsICd1aWF1dG9tYXRvciddLFxuICB9LFxuICBvdGhlckFwcHM6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICB1bmluc3RhbGxPdGhlclBhY2thZ2VzOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYWxsb3dUZXN0UGFja2FnZXM6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgcGFnZUxvYWRTdHJhdGVneToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGxvY2FsZVNjcmlwdDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIHNraXBEZXZpY2VJbml0aWFsaXphdGlvbjoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICByZW1vdGVBcHBzQ2FjaGVMaW1pdDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIGJ1aWxkVG9vbHNWZXJzaW9uOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgc2tpcExvZ2NhdENhcHR1cmU6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgY2hyb21lT3B0aW9uczoge1xuICAgIGlzT2JqZWN0OiB0cnVlXG4gIH0sXG4gIGVuYWJsZVBlcmZvcm1hbmNlTG9nZ2luZzoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICB1c2VyUHJvZmlsZToge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIGJyb3dzZXJOYW1lOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgZW5mb3JjZUFwcEluc3RhbGw6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgc3VwcHJlc3NLaWxsU2VydmVyOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGFsbG93T2ZmbGluZURldmljZXM6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgaWdub3JlSGlkZGVuQXBpUG9saWN5RXJyb3I6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgdW5sb2NrU3VjY2Vzc1RpbWVvdXQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBtb2NrTG9jYXRpb25BcHA6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBsb2djYXRGb3JtYXQ6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBsb2djYXRGaWx0ZXJTcGVjczoge1xuICAgIGlzQXJyYXk6IHRydWVcbiAgfSxcbiAgYWxsb3dEZWxheUFkYjoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9XG59O1xuXG5sZXQgdWlhdXRvbWF0b3JDYXBDb25zdHJhaW50cyA9IHtcbiAgaWdub3JlVW5pbXBvcnRhbnRWaWV3czoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBkaXNhYmxlQW5kcm9pZFdhdGNoZXJzOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGFjY2VwdFNzbENlcnRzOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGFuZHJvaWROYXR1cmFsT3JpZW50YXRpb246IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgZGlzYWJsZVdpbmRvd0FuaW1hdGlvbjoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBib290c3RyYXBQb3J0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbn07XG5cbmxldCBkZXNpcmVkQ2FwQ29uc3RyYWludHMgPSB7fTtcblxuT2JqZWN0LmFzc2lnbihkZXNpcmVkQ2FwQ29uc3RyYWludHMsIGNvbW1vbkNhcENvbnN0cmFpbnRzLFxuICAgICAgICAgICAgICB1aWF1dG9tYXRvckNhcENvbnN0cmFpbnRzKTtcblxuZXhwb3J0IGRlZmF1bHQgZGVzaXJlZENhcENvbnN0cmFpbnRzO1xuZXhwb3J0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
|