@anansi/webpack-config 10.0.11 → 10.0.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/CHANGELOG.md CHANGED
@@ -3,6 +3,15 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ### [10.0.12](https://github.com/ntucker/anansi/compare/@anansi/webpack-config@10.0.11...@anansi/webpack-config@10.0.12) (2022-02-06)
7
+
8
+
9
+ ### 🐛 Bug Fix
10
+
11
+ * Some cases of hot reloading broke ([e66d4b5](https://github.com/ntucker/anansi/commit/e66d4b5319dd8d11fba00531cd7a0770de49ceca))
12
+
13
+
14
+
6
15
  ### [10.0.11](https://github.com/ntucker/anansi/compare/@anansi/webpack-config@10.0.10...@anansi/webpack-config@10.0.11) (2022-02-06)
7
16
 
8
17
  **Note:** Version bump only for package @anansi/webpack-config
@@ -208,7 +208,9 @@ function tryApplyUpdates(onHotUpdateSuccess) {
208
208
  } // we know it's hot, so dismiss error
209
209
 
210
210
 
211
- onHotUpdateSuccess();
211
+ if (typeof onHotUpdateSuccess === 'function') {
212
+ onHotUpdateSuccess();
213
+ }
212
214
 
213
215
  if (!isUpdateAvailable() || !canApplyUpdates()) {
214
216
  return;
@@ -295,4 +297,4 @@ function runWithRetry(callback, maxRetries) {
295
297
 
296
298
  executeWithRetryAndTimeout(0);
297
299
  }
298
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL0Vycm9yT3ZlcmxheUVudHJ5LmpzIl0sIm5hbWVzIjpbInN0cmlwQW5zaSIsInJlcXVpcmUiLCJsYXVuY2hFZGl0b3JFbmRwb2ludCIsImZvcm1hdFdlYnBhY2tNZXNzYWdlcyIsInJ1bldpdGhQYXRjaGVkVXJsIiwiRXJyb3JPdmVybGF5Iiwic2V0RWRpdG9ySGFuZGxlciIsImVkaXRvckhhbmRsZXIiLCJlcnJvckxvY2F0aW9uIiwiZmV0Y2giLCJ3aW5kb3ciLCJlbmNvZGVVUklDb21wb25lbnQiLCJmaWxlTmFtZSIsImxpbmVOdW1iZXIiLCJjb2xOdW1iZXIiLCJoYWRSdW50aW1lRXJyb3IiLCJzdGFydFJlcG9ydGluZ1J1bnRpbWVFcnJvcnMiLCJvbkVycm9yIiwiZmlsZW5hbWUiLCJtb2R1bGUiLCJob3QiLCJkaXNwb3NlIiwic3RvcFJlcG9ydGluZ1J1bnRpbWVFcnJvcnMiLCJpc0ZpcnN0Q29tcGlsYXRpb24iLCJtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoIiwiaGFzQ29tcGlsZUVycm9ycyIsImNsZWFyT3V0ZGF0ZWRFcnJvcnMiLCJjb25zb2xlIiwiY2xlYXIiLCJoYW5kbGVTdWNjZXNzIiwiaXNIb3RVcGRhdGUiLCJ0cnlBcHBseVVwZGF0ZXMiLCJvbkhvdFVwZGF0ZVN1Y2Nlc3MiLCJ0cnlEaXNtaXNzRXJyb3JPdmVybGF5IiwiaGFuZGxlV2FybmluZ3MiLCJ3YXJuaW5ncyIsInByaW50V2FybmluZ3MiLCJmb3JtYXR0ZWQiLCJtYXAiLCJlcnJvck9iak9yTWVzc2FnZSIsIm1vZHVsZU5hbWUiLCJtZXNzYWdlIiwiam9pbiIsImVycm9ycyIsIndhcm4iLCJpIiwibGVuZ3RoIiwib25TdWNjZXNzZnVsSG90VXBkYXRlIiwiaGFuZGxlRXJyb3JzIiwicmVwb3J0QnVpbGRFcnJvciIsImVycm9yIiwiZGlzbWlzc0J1aWxkRXJyb3IiLCJoYW5kbGVBdmFpbGFibGVIYXNoIiwiaGFzaCIsImNvbXBpbGVNZXNzYWdlSGFuZGxlciIsInR5cGUiLCJkYXRhIiwibG9jYXRpb24iLCJyZWxvYWQiLCJpc1VwZGF0ZUF2YWlsYWJsZSIsIl9fd2VicGFja19oYXNoX18iLCJjYW5BcHBseVVwZGF0ZXMiLCJzdGF0dXMiLCJjYW5BY2NlcHRFcnJvcnMiLCJoYXNSZWFjdFJlZnJlc2giLCJwcm9jZXNzIiwiZW52IiwiRkFTVF9SRUZSRVNIIiwiaW5kZXhPZiIsImhhbmRsZUFwcGx5VXBkYXRlcyIsImVyciIsInVwZGF0ZWRNb2R1bGVzIiwiaGF2ZUVycm9ycyIsIm5lZWRzRm9yY2VkUmVsb2FkIiwicmVzdWx0IiwiY2hlY2siLCJ0aGVuIiwiTk9ERV9FTlYiLCJzZXR1cE92ZXJsYXkiLCJfX3JlYWN0UmVmcmVzaE92ZXJsYXlJbmplY3RlZCIsIl9fcmVhY3RfcmVmcmVzaF9zb2NrZXRfXyIsInJ1bldpdGhSZXRyeSIsImluaXRTb2NrZXQiLCJpbml0IiwiX19yZXNvdXJjZVF1ZXJ5IiwiY2FsbGJhY2siLCJtYXhSZXRyaWVzIiwiZXhlY3V0ZVdpdGhSZXRyeUFuZFRpbWVvdXQiLCJjdXJyZW50Q291bnQiLCJzZXRUaW1lb3V0IiwiTWF0aCIsInBvdyJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBLElBQUlBLFNBQVMsR0FBR0MsT0FBTyxDQUFDLFlBQUQsQ0FBdkI7O0FBQ0EsSUFBSUMsb0JBQW9CLEdBQUdELE9BQU8sQ0FBQyxzQ0FBRCxDQUFsQzs7QUFDQSxJQUFJRSxxQkFBcUIsR0FBR0YsT0FBTyxDQUFDLHVDQUFELENBQW5DOztBQUNBLElBQUlHLGlCQUFpQixHQUFHSCxPQUFPLENBQUMsNERBQUQsQ0FBL0I7O0FBQ0EsSUFBSUksWUFBWSxHQUFHSixPQUFPLENBQUMscUJBQUQsQ0FBMUI7O0FBRUFJLFlBQVksQ0FBQ0MsZ0JBQWIsQ0FBOEIsU0FBU0MsYUFBVCxDQUF1QkMsYUFBdkIsRUFBc0M7QUFDbEU7QUFDQUMsRUFBQUEsS0FBSyxDQUNIUCxvQkFBb0Is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QVNFLFlBQVQsQ0FBc0JJLFFBQXRCLEVBQWdDQyxVQUFoQyxFQUE0QztBQUMxQyxXQUFTQywwQkFBVCxDQUFvQ0MsWUFBcEMsRUFBa0Q7QUFDaEQsUUFBSTtBQUNGLFVBQUlBLFlBQVksR0FBR0YsVUFBVSxHQUFHLENBQWhDLEVBQW1DO0FBQ2pDM0QsUUFBQUEsT0FBTyxDQUFDaUIsSUFBUixDQUFhLHNEQUFiO0FBQ0E7QUFDRDs7QUFFRHlDLE1BQUFBLFFBQVE7QUFDVCxLQVBELENBT0UsT0FBT2YsR0FBUCxFQUFZO0FBQ1ptQixNQUFBQSxVQUFVLENBQUMsWUFBWTtBQUNyQkYsUUFBQUEsMEJBQTBCLENBQUNDLFlBQVksR0FBRyxDQUFoQixDQUExQjtBQUNELE9BRlMsRUFFUEUsSUFBSSxDQUFDQyxHQUFMLENBQVMsRUFBVCxFQUFhSCxZQUFiLENBRk8sQ0FBVjtBQUdEO0FBQ0Y7O0FBRURELEVBQUFBLDBCQUEwQixDQUFDLENBQUQsQ0FBMUI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBfX3JlYWN0X3JlZnJlc2hfc29ja2V0X18sIF9fcmVzb3VyY2VRdWVyeSAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTUtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2NyZWF0ZS1yZWFjdC1hcHAvYmxvYi9tYXN0ZXIvcGFja2FnZXMvcmVhY3QtZGV2LXV0aWxzL3dlYnBhY2tIb3REZXZDbGllbnQuanNcbiAqL1xuXG4vLyBUaGlzIGlzIGFkYXB0ZWQgdG8gaG9vayBjcmVhdGUtcmVhY3QtYXBwIGRpcmVjdGx5IGludG8gcmVhY3QtcmVmcmVzaCdzIGV4aXN0aW5nIHNvY2tldCBjb25uZWN0aW9uc1xuXG52YXIgc3RyaXBBbnNpID0gcmVxdWlyZSgnc3RyaXAtYW5zaScpO1xudmFyIGxhdW5jaEVkaXRvckVuZHBvaW50ID0gcmVxdWlyZSgncmVhY3QtZGV2LXV0aWxzL2xhdW5jaEVkaXRvckVuZHBvaW50Jyk7XG52YXIgZm9ybWF0V2VicGFja01lc3NhZ2VzID0gcmVxdWlyZSgncmVhY3QtZGV2LXV0aWxzL2Zvcm1hdFdlYnBhY2tNZXNzYWdlcycpO1xudmFyIHJ1bldpdGhQYXRjaGVkVXJsID0gcmVxdWlyZSgnQHBtbW13aC9yZWFjdC1yZWZyZXNoLXdlYnBhY2stcGx1Z2luL2NsaWVudC91dGlscy9wYXRjaFVybCcpO1xudmFyIEVycm9yT3ZlcmxheSA9IHJlcXVpcmUoJ3JlYWN0LWVycm9yLW92ZXJsYXknKTtcblxuRXJyb3JPdmVybGF5LnNldEVkaXRvckhhbmRsZXIoZnVuY3Rpb24gZWRpdG9ySGFuZGxlcihlcnJvckxvY2F0aW9uKSB7XG4gIC8vIEtlZXAgdGhpcyBzeW5jIHdpdGggZXJyb3JPdmVybGF5TWlkZGxld2FyZS5qc1xuICBmZXRjaChcbiAgICBsYXVuY2hFZGl0b3JFbmRwb2ludCArXG4gICAgICAnP2ZpbGVOYW1lPScgK1xuICAgICAgd2luZG93LmVuY29kZVVSSUNvbXBvbmVudChlcnJvckxvY2F0aW9uLmZpbGVOYW1lKSArXG4gICAgICAnJmxpbmVOdW1iZXI9JyArXG4gICAgICB3aW5kb3cuZW5jb2RlVVJJQ29tcG9uZW50KGVycm9yTG9jYXRpb24ubGluZU51bWJlciB8fCAxKSArXG4gICAgICAnJmNvbE51bWJlcj0nICtcbiAgICAgIHdpbmRvdy5lbmNvZGVVUklDb21wb25lbnQoZXJyb3JMb2NhdGlvbi5jb2xOdW1iZXIgfHwgMSksXG4gICk7XG59KTtcblxuLy8gV2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGlmIHRoZXJlIGhhcyBiZWVuIGEgcnVudGltZSBlcnJvci5cbi8vIEVzc2VudGlhbGx5LCB3ZSBjYW5ub3QgZ3VhcmFudGVlIGFwcGxpY2F0aW9uIHN0YXRlIHdhcyBub3QgY29ycnVwdGVkIGJ5IHRoZVxuLy8gcnVudGltZSBlcnJvci4gVG8gcHJldmVudCBjb25mdXNpbmcgYmVoYXZpb3IsIHdlIGZvcmNpYmx5IHJlbG9hZCB0aGUgZW50aXJlXG4vLyBhcHBsaWNhdGlvbi4gVGhpcyBpcyBoYW5kbGVkIGJlbG93IHdoZW4gd2UgYXJlIG5vdGlmaWVkIG9mIGEgY29tcGlsZSAoY29kZVxuLy8gY2hhbmdlKS5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svY3JlYXRlLXJlYWN0LWFwcC9pc3N1ZXMvMzA5NlxudmFyIGhhZFJ1bnRpbWVFcnJvciA9IGZhbHNlO1xuRXJyb3JPdmVybGF5LnN0YXJ0UmVwb3J0aW5nUnVudGltZUVycm9ycyh7XG4gIG9uRXJyb3I6IGZ1bmN0aW9uICgpIHtcbiAgICBoYWRSdW50aW1lRXJyb3IgPSB0cnVlO1xuICB9LFxuICBmaWxlbmFtZTogJy9zdGF0aWMvanMvYnVuZGxlLmpzJyxcbn0pO1xuXG5pZiAobW9kdWxlLmhvdCAmJiB0eXBlb2YgbW9kdWxlLmhvdC5kaXNwb3NlID09PSAnZnVuY3Rpb24nKSB7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgLy8gVE9ETzogd2h5IGRvIHdlIG5lZWQgdGhpcz9cbiAgICBFcnJvck92ZXJsYXkuc3RvcFJlcG9ydGluZ1J1bnRpbWVFcnJvcnMoKTtcbiAgfSk7XG59XG5cbi8vIFJlbWVtYmVyIHNvbWUgc3RhdGUgcmVsYXRlZCB0byBob3QgbW9kdWxlIHJlcGxhY2VtZW50LlxudmFyIGlzRmlyc3RDb21waWxhdGlvbiA9IHRydWU7XG52YXIgbW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCA9IG51bGw7XG52YXIgaGFzQ29tcGlsZUVycm9ycyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjbGVhck91dGRhdGVkRXJyb3JzKCkge1xuICAvLyBDbGVhbiB1cCBvdXRkYXRlZCBjb21waWxlIGVycm9ycywgaWYgYW55LlxuICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBjb25zb2xlLmNsZWFyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKGhhc0NvbXBpbGVFcnJvcnMpIHtcbiAgICAgIGNvbnNvbGUuY2xlYXIoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU3VjY2Vzc2Z1bCBjb21waWxhdGlvbi5cbmZ1bmN0aW9uIGhhbmRsZVN1Y2Nlc3MoKSB7XG4gIGNsZWFyT3V0ZGF0ZWRFcnJvcnMoKTtcblxuICB2YXIgaXNIb3RVcGRhdGUgPSAhaXNGaXJzdENvbXBpbGF0aW9uO1xuICBpc0ZpcnN0Q29tcGlsYXRpb24gPSBmYWxzZTtcbiAgaGFzQ29tcGlsZUVycm9ycyA9IGZhbHNlO1xuXG4gIC8vIEF0dGVtcHQgdG8gYXBwbHkgaG90IHVwZGF0ZXMgb3IgcmVsb2FkLlxuICBpZiAoaXNIb3RVcGRhdGUpIHtcbiAgICB0cnlBcHBseVVwZGF0ZXMoZnVuY3Rpb24gb25Ib3RVcGRhdGVTdWNjZXNzKCkge1xuICAgICAgLy8gT25seSBkaXNtaXNzIGl0IHdoZW4gd2UncmUgc3VyZSBpdCdzIGEgaG90IHVwZGF0ZS5cbiAgICAgIC8vIE90aGVyd2lzZSBpdCB3b3VsZCBmbGlja2VyIHJpZ2h0IGJlZm9yZSB0aGUgcmVsb2FkLlxuICAgICAgdHJ5RGlzbWlzc0Vycm9yT3ZlcmxheSgpO1xuICAgIH0pO1xuICB9XG59XG5cbi8vIENvbXBpbGF0aW9uIHdpdGggd2FybmluZ3MgKGUuZy4gRVNMaW50KS5cbmZ1bmN0aW9uIGhhbmRsZVdhcm5pbmdzKHdhcm5pbmdzKSB7XG4gIGNsZWFyT3V0ZGF0ZWRFcnJvcnMoKTtcblxuICB2YXIgaXNIb3RVcGRhdGUgPSAhaXNGaXJzdENvbXBpbGF0aW9uO1xuICBpc0ZpcnN0Q29tcGlsYXRpb24gPSBmYWxzZTtcbiAgaGFzQ29tcGlsZUVycm9ycyA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHByaW50V2FybmluZ3MoKSB7XG4gICAgLy8gUHJpbnQgd2FybmluZ3MgdG8gdGhlIGNvbnNvbGUuXG4gICAgdmFyIGZvcm1hdHRlZCA9IGZvcm1hdFdlYnBhY2tNZXNzYWdlcyh7XG4gICAgICB3YXJuaW5nczogd2FybmluZ3MubWFwKGVycm9yT2JqT3JNZXNzYWdlID0+XG4gICAgICAgIFtlcnJvck9iak9yTWVzc2FnZS5tb2R1bGVOYW1lLCBlcnJvck9iak9yTWVzc2FnZS5tZXNzYWdlXS5qb2luKCdcXG4nKSxcbiAgICAgICksXG4gICAgICBlcnJvcnM6IFtdLFxuICAgIH0pO1xuXG4gICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgY29uc29sZS53YXJuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZvcm1hdHRlZC53YXJuaW5ncy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaSA9PT0gNSkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICdUaGVyZSB3ZXJlIG1vcmUgd2FybmluZ3MgaW4gb3RoZXIgZmlsZXMuXFxuJyArXG4gICAgICAgICAgICAgICdZb3UgY2FuIGZpbmQgYSBjb21wbGV0ZSBsb2cgaW4gdGhlIHRlcm1pbmFsLicsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLndhcm4oc3RyaXBBbnNpKGZvcm1hdHRlZC53YXJuaW5nc1tpXSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaW50V2FybmluZ3MoKTtcblxuICAvLyBBdHRlbXB0IHRvIGFwcGx5IGhvdCB1cGRhdGVzIG9yIHJlbG9hZC5cbiAgaWYgKGlzSG90VXBkYXRlKSB7XG4gICAgdHJ5QXBwbHlVcGRhdGVzKGZ1bmN0aW9uIG9uU3VjY2Vzc2Z1bEhvdFVwZGF0ZSgpIHtcbiAgICAgIC8vIE9ubHkgZGlzbWlzcyBpdCB3aGVuIHdlJ3JlIHN1cmUgaXQncyBhIGhvdCB1cGRhdGUuXG4gICAgICAvLyBPdGhlcndpc2UgaXQgd291bGQgZmxpY2tlciByaWdodCBiZWZvcmUgdGhlIHJlbG9hZC5cbiAgICAgIHRyeURpc21pc3NFcnJvck92ZXJsYXkoKTtcbiAgICB9KTtcbiAgfVxufVxuXG4vLyBDb21waWxhdGlvbiB3aXRoIGVycm9ycyAoZS5nLiBzeW50YXggZXJyb3Igb3IgbWlzc2luZyBtb2R1bGVzKS5cbmZ1bmN0aW9uIGhhbmRsZUVycm9ycyhlcnJvcnMpIHtcbiAgY2xlYXJPdXRkYXRlZEVycm9ycygpO1xuXG4gIGlzRmlyc3RDb21waWxhdGlvbiA9IGZhbHNlO1xuICBoYXNDb21waWxlRXJyb3JzID0gdHJ1ZTtcblxuICAvLyBcIk1hc3NhZ2VcIiB3ZWJwYWNrIG1lc3NhZ2VzLlxuICB2YXIgZm9ybWF0dGVkID0gZm9ybWF0V2VicGFja01lc3NhZ2VzKHtcbiAgICBlcnJvcnM6IGVycm9ycy5tYXAoZXJyb3JPYmpPck1lc3NhZ2UgPT5cbiAgICAgIFtlcnJvck9iak9yTWVzc2FnZS5tb2R1bGVOYW1lLCBlcnJvck9iak9yTWVzc2FnZS5tZXNzYWdlXS5qb2luKCdcXG4nKSxcbiAgICApLFxuICAgIHdhcm5pbmdzOiBbXSxcbiAgfSk7XG5cbiAgLy8gT25seSBzaG93IHRoZSBmaXJzdCBlcnJvci5cbiAgRXJyb3JPdmVybGF5LnJlcG9ydEJ1aWxkRXJyb3IoZm9ybWF0dGVkLmVycm9yc1swXSk7XG5cbiAgLy8gQWxzbyBsb2cgdGhlbSB0byB0aGUgY29uc29sZS5cbiAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgY29uc29sZS5lcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9ybWF0dGVkLmVycm9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc29sZS5lcnJvcihzdHJpcEFuc2koZm9ybWF0dGVkLmVycm9yc1tpXSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERvIG5vdCBhdHRlbXB0IHRvIHJlbG9hZCBub3cuXG4gIC8vIFdlIHdpbGwgcmVsb2FkIG9uIG5leHQgc3VjY2VzcyBpbnN0ZWFkLlxufVxuXG5mdW5jdGlvbiB0cnlEaXNtaXNzRXJyb3JPdmVybGF5KCkge1xuICBpZiAoIWhhc0NvbXBpbGVFcnJvcnMpIHtcbiAgICBFcnJvck92ZXJsYXkuZGlzbWlzc0J1aWxkRXJyb3IoKTtcbiAgfVxufVxuXG4vLyBUaGVyZSBpcyBhIG5ld2VyIHZlcnNpb24gb2YgdGhlIGNvZGUgYXZhaWxhYmxlLlxuZnVuY3Rpb24gaGFuZGxlQXZhaWxhYmxlSGFzaChoYXNoKSB7XG4gIC8vIFVwZGF0ZSBsYXN0IGtub3duIGNvbXBpbGF0aW9uIGhhc2guXG4gIG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2ggPSBoYXNoO1xufVxuXG4vLyBIYW5kbGUgbWVzc2FnZXMgZnJvbSB0aGUgc2VydmVyLlxuZnVuY3Rpb24gY29tcGlsZU1lc3NhZ2VIYW5kbGVyKG1lc3NhZ2UpIHtcbiAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICBjYXNlICdoYXNoJzpcbiAgICAgIGhhbmRsZUF2YWlsYWJsZUhhc2gobWVzc2FnZS5kYXRhKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3N0aWxsLW9rJzpcbiAgICBjYXNlICdvayc6XG4gICAgICBoYW5kbGVTdWNjZXNzKCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdjb250ZW50LWNoYW5nZWQnOlxuICAgICAgLy8gVHJpZ2dlcmVkIHdoZW4gYSBmaWxlIGZyb20gYGNvbnRlbnRCYXNlYCBjaGFuZ2VkLlxuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnd2FybmluZ3MnOlxuICAgICAgaGFuZGxlV2FybmluZ3MobWVzc2FnZS5kYXRhKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Vycm9ycyc6XG4gICAgICBoYW5kbGVFcnJvcnMobWVzc2FnZS5kYXRhKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgLy8gRG8gbm90aGluZy5cbiAgfVxufVxuXG4vLyBJcyB0aGVyZSBhIG5ld2VyIHZlcnNpb24gb2YgdGhpcyBjb2RlIGF2YWlsYWJsZT9cbmZ1bmN0aW9uIGlzVXBkYXRlQXZhaWxhYmxlKCkge1xuICAvKiBnbG9iYWxzIF9fd2VicGFja19oYXNoX18gKi9cbiAgLy8gX193ZWJwYWNrX2hhc2hfXyBpcyB0aGUgaGFzaCBvZiB0aGUgY3VycmVudCBjb21waWxhdGlvbi5cbiAgLy8gSXQncyBhIGdsb2JhbCB2YXJpYWJsZSBpbmplY3RlZCBieSB3ZWJwYWNrLlxuICByZXR1cm4gbW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCAhPT0gX193ZWJwYWNrX2hhc2hfXztcbn1cblxuLy8gd2VicGFjayBkaXNhbGxvd3MgdXBkYXRlcyBpbiBvdGhlciBzdGF0ZXMuXG5mdW5jdGlvbiBjYW5BcHBseVVwZGF0ZXMoKSB7XG4gIHJldHVybiBtb2R1bGUuaG90LnN0YXR1cygpID09PSAnaWRsZSc7XG59XG5cbmZ1bmN0aW9uIGNhbkFjY2VwdEVycm9ycygpIHtcbiAgLy8gTk9URTogVGhpcyB2YXIgaXMgaW5qZWN0ZWQgYnkgV2VicGFjaydzIERlZmluZVBsdWdpbiwgYW5kIGlzIGEgYm9vbGVhbiBpbnN0ZWFkIG9mIHN0cmluZy5cbiAgY29uc3QgaGFzUmVhY3RSZWZyZXNoID0gcHJvY2Vzcy5lbnYuRkFTVF9SRUZSRVNIO1xuXG4gIGNvbnN0IHN0YXR1cyA9IG1vZHVsZS5ob3Quc3RhdHVzKCk7XG4gIC8vIFJlYWN0IHJlZnJlc2ggY2FuIGhhbmRsZSBob3QtcmVsb2FkaW5nIG92ZXIgZXJyb3JzLlxuICAvLyBIb3dldmVyLCB3aGVuIGhvdC1yZWxvYWQgc3RhdHVzIGlzIGFib3J0IG9yIGZhaWwsXG4gIC8vIGl0IGluZGljYXRlcyB0aGUgY3VycmVudCB1cGRhdGUgY2Fubm90IGJlIGFwcGxpZWQgc2FmZWx5LFxuICAvLyBhbmQgdGh1cyB3ZSBzaG91bGQgYmFpbCBvdXQgdG8gYSBmb3JjZWQgcmVsb2FkIGZvciBjb25zaXN0ZW5jeS5cbiAgcmV0dXJuIGhhc1JlYWN0UmVmcmVzaCAmJiBbJ2Fib3J0JywgJ2ZhaWwnXS5pbmRleE9mKHN0YXR1cykgPT09IC0xO1xufVxuXG4vLyBBdHRlbXB0IHRvIHVwZGF0ZSBjb2RlIG9uIHRoZSBmbHksIGZhbGwgYmFjayB0byBhIGhhcmQgcmVsb2FkLlxuZnVuY3Rpb24gdHJ5QXBwbHlVcGRhdGVzKG9uSG90VXBkYXRlU3VjY2Vzcykge1xuICBpZiAoIW1vZHVsZS5ob3QpIHtcbiAgICAvLyBIb3RNb2R1bGVSZXBsYWNlbWVudFBsdWdpbiBpcyBub3QgaW4gd2VicGFjayBjb25maWd1cmF0aW9uLlxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyB3ZSBrbm93IGl0J3MgaG90LCBzbyBkaXNtaXNzIGVycm9yXG4gIG9uSG90VXBkYXRlU3VjY2VzcygpO1xuXG4gIGlmICghaXNVcGRhdGVBdmFpbGFibGUoKSB8fCAhY2FuQXBwbHlVcGRhdGVzKCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVBcHBseVVwZGF0ZXMoZXJyLCB1cGRhdGVkTW9kdWxlcykge1xuICAgIGNvbnN0IGhhdmVFcnJvcnMgPSBlcnIgfHwgaGFkUnVudGltZUVycm9yO1xuICAgIC8vIFdoZW4gdGhlcmUgaXMgbm8gZXJyb3IgYnV0IHVwZGF0ZWRNb2R1bGVzIGlzIHVuYXZhaWxhYmxlLFxuICAgIC8vIGl0IGluZGljYXRlcyBhIGNyaXRpY2FsIGZhaWx1cmUgaW4gaG90LXJlbG9hZGluZyxcbiAgICAvLyBlLmcuIHNlcnZlciBpcyBub3QgcmVhZHkgdG8gc2VydmUgbmV3IGJ1bmRsZSxcbiAgICAvLyBhbmQgaGVuY2Ugd2UgbmVlZCB0byBkbyBhIGZvcmNlZCByZWxvYWQuXG4gICAgY29uc3QgbmVlZHNGb3JjZWRSZWxvYWQgPSAhZXJyICYmICF1cGRhdGVkTW9kdWxlcztcbiAgICBpZiAoKGhhdmVFcnJvcnMgJiYgIWNhbkFjY2VwdEVycm9ycygpKSB8fCBuZWVkc0ZvcmNlZFJlbG9hZCkge1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygb25Ib3RVcGRhdGVTdWNjZXNzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBNYXliZSB3ZSB3YW50IHRvIGRvIHNvbWV0aGluZy5cbiAgICAgIG9uSG90VXBkYXRlU3VjY2VzcygpO1xuICAgIH1cblxuICAgIGlmIChpc1VwZGF0ZUF2YWlsYWJsZSgpKSB7XG4gICAgICAvLyBXaGlsZSB3ZSB3ZXJlIHVwZGF0aW5nLCB0aGVyZSB3YXMgYSBuZXcgdXBkYXRlISBEbyBpdCBhZ2Fpbi5cbiAgICAgIHRyeUFwcGx5VXBkYXRlcygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGh0dHBzOi8vd2VicGFjay5naXRodWIuaW8vZG9jcy9ob3QtbW9kdWxlLXJlcGxhY2VtZW50Lmh0bWwjY2hlY2tcbiAgdmFyIHJlc3VsdCA9IG1vZHVsZS5ob3QuY2hlY2soLyogYXV0b0FwcGx5ICovIHRydWUsIGhhbmRsZUFwcGx5VXBkYXRlcyk7XG5cbiAgLy8gLy8gd2VicGFjayAyIHJldHVybnMgYSBQcm9taXNlIGluc3RlYWQgb2YgaW52b2tpbmcgYSBjYWxsYmFja1xuICBpZiAocmVzdWx0ICYmIHJlc3VsdC50aGVuKSB7XG4gICAgcmVzdWx0LnRoZW4oXG4gICAgICBmdW5jdGlvbiAodXBkYXRlZE1vZHVsZXMpIHtcbiAgICAgICAgaGFuZGxlQXBwbHlVcGRhdGVzKG51bGwsIHVwZGF0ZWRNb2R1bGVzKTtcbiAgICAgIH0sXG4gICAgICBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIGhhbmRsZUFwcGx5VXBkYXRlcyhlcnIsIG51bGwpO1xuICAgICAgfSxcbiAgICApO1xuICB9XG59XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIHJ1bldpdGhQYXRjaGVkVXJsKGZ1bmN0aW9uIHNldHVwT3ZlcmxheSgpIHtcbiAgICAvLyBPbmx5IHJlZ2lzdGVyIGlmIG5vIG90aGVyIG92ZXJsYXkgaGF2ZSBiZWVuIHJlZ2lzdGVyZWRcbiAgICBpZiAoIXdpbmRvdy5fX3JlYWN0UmVmcmVzaE92ZXJsYXlJbmplY3RlZCAmJiBfX3JlYWN0X3JlZnJlc2hfc29ja2V0X18pIHtcbiAgICAgIC8vIFJlZ2lzdGVycyBoYW5kbGVycyBmb3IgY29tcGlsZSBlcnJvcnMgd2l0aCByZXRyeSAtXG4gICAgICAvLyBUaGlzIGlzIHRvIHByZXZlbnQgbWlzbWF0Y2hpbmcgaW5qZWN0aW9uIG9yZGVyIGNhdXNpbmcgZXJyb3JzIHRvIGJlIHRocm93blxuICAgICAgcnVuV2l0aFJldHJ5KGZ1bmN0aW9uIGluaXRTb2NrZXQoKSB7XG4gICAgICAgIF9fcmVhY3RfcmVmcmVzaF9zb2NrZXRfXy5pbml0KGNvbXBpbGVNZXNzYWdlSGFuZGxlciwgX19yZXNvdXJjZVF1ZXJ5KTtcbiAgICAgIH0sIDMpO1xuICAgICAgLy8gUmVnaXN0ZXJzIGhhbmRsZXJzIGZvciBydW50aW1lIGVycm9yc1xuICAgICAgLypoYW5kbGVFcnJvcihmdW5jdGlvbiBoYW5kbGVFcnJvcihlcnJvcikge1xuICAgICAgICBoYXNSdW50aW1lRXJyb3JzID0gdHJ1ZTtcbiAgICAgICAgX19yZWFjdF9yZWZyZXNoX2Vycm9yX292ZXJsYXlfXy5oYW5kbGVSdW50aW1lRXJyb3IoZXJyb3IpO1xuICAgICAgfSk7XG4gICAgICBoYW5kbGVVbmhhbmRsZWRSZWplY3Rpb24oZnVuY3Rpb24gaGFuZGxlVW5oYW5kbGVkUHJvbWlzZVJlamVjdGlvbihlcnJvcikge1xuICAgICAgICBoYXNSdW50aW1lRXJyb3JzID0gdHJ1ZTtcbiAgICAgICAgX19yZWFjdF9yZWZyZXNoX2Vycm9yX292ZXJsYXlfXy5oYW5kbGVSdW50aW1lRXJyb3IoZXJyb3IpO1xuICAgICAgfSk7Ki9cblxuICAgICAgLy8gTWFyayBvdmVybGF5IGFzIGluamVjdGVkIHRvIHByZXZlbnQgZG91YmxlLWluamVjdGlvblxuICAgICAgd2luZG93Ll9fcmVhY3RSZWZyZXNoT3ZlcmxheUluamVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuZnVuY3Rpb24gcnVuV2l0aFJldHJ5KGNhbGxiYWNrLCBtYXhSZXRyaWVzKSB7XG4gIGZ1bmN0aW9uIGV4ZWN1dGVXaXRoUmV0cnlBbmRUaW1lb3V0KGN1cnJlbnRDb3VudCkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoY3VycmVudENvdW50ID4gbWF4UmV0cmllcyAtIDEpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbUmVhY3QgUmVmcmVzaF0gRmFpbGVkIHNldCB1cCB0aGUgc29ja2V0IGNvbm5lY3Rpb24uJyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBleGVjdXRlV2l0aFJldHJ5QW5kVGltZW91dChjdXJyZW50Q291bnQgKyAxKTtcbiAgICAgIH0sIE1hdGgucG93KDEwLCBjdXJyZW50Q291bnQpKTtcbiAgICB9XG4gIH1cblxuICBleGVjdXRlV2l0aFJldHJ5QW5kVGltZW91dCgwKTtcbn1cbiJdfQ==
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL0Vycm9yT3ZlcmxheUVudHJ5LmpzIl0sIm5hbWVzIjpbInN0cmlwQW5zaSIsInJlcXVpcmUiLCJsYXVuY2hFZGl0b3JFbmRwb2ludCIsImZvcm1hdFdlYnBhY2tNZXNzYWdlcyIsInJ1bldpdGhQYXRjaGVkVXJsIiwiRXJyb3JPdmVybGF5Iiwic2V0RWRpdG9ySGFuZGxlciIsImVkaXRvckhhbmRsZXIiLCJlcnJvckxvY2F0aW9uIiwiZmV0Y2giLCJ3aW5kb3ciLCJlbmNvZGVVUklDb21wb25lbnQiLCJmaWxlTmFtZSIsImxpbmVOdW1iZXIiLCJjb2xOdW1iZXIiLCJoYWRSdW50aW1lRXJyb3IiLCJzdGFydFJlcG9ydGluZ1J1bnRpbWVFcnJvcnMiLCJvbkVycm9yIiwiZmlsZW5hbWUiLCJtb2R1bGUiLCJob3QiLCJkaXNwb3NlIiwic3RvcFJlcG9ydGluZ1J1bnRpbWVFcnJvcnMiLCJpc0ZpcnN0Q29tcGlsYXRpb24iLCJtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoIiwiaGFzQ29tcGlsZUVycm9ycyIsImNsZWFyT3V0ZGF0ZWRFcnJvcnMiLCJjb25zb2xlIiwiY2xlYXIiLCJoYW5kbGVTdWNjZXNzIiwiaXNIb3RVcGRhdGUiLCJ0cnlBcHBseVVwZGF0ZXMiLCJvbkhvdFVwZGF0ZVN1Y2Nlc3MiLCJ0cnlEaXNtaXNzRXJyb3JPdmVybGF5IiwiaGFuZGxlV2FybmluZ3MiLCJ3YXJuaW5ncyIsInByaW50V2FybmluZ3MiLCJmb3JtYXR0ZWQiLCJtYXAiLCJlcnJvck9iak9yTWVzc2FnZSIsIm1vZHVsZU5hbWUiLCJtZXNzYWdlIiwiam9pbiIsImVycm9ycyIsIndhcm4iLCJpIiwibGVuZ3RoIiwib25TdWNjZXNzZnVsSG90VXBkYXRlIiwiaGFuZGxlRXJyb3JzIiwicmVwb3J0QnVpbGRFcnJvciIsImVycm9yIiwiZGlzbWlzc0J1aWxkRXJyb3IiLCJoYW5kbGVBdmFpbGFibGVIYXNoIiwiaGFzaCIsImNvbXBpbGVNZXNzYWdlSGFuZGxlciIsInR5cGUiLCJkYXRhIiwibG9jYXRpb24iLCJyZWxvYWQiLCJpc1VwZGF0ZUF2YWlsYWJsZSIsIl9fd2VicGFja19oYXNoX18iLCJjYW5BcHBseVVwZGF0ZXMiLCJzdGF0dXMiLCJjYW5BY2NlcHRFcnJvcnMiLCJoYXNSZWFjdFJlZnJlc2giLCJwcm9jZXNzIiwiZW52IiwiRkFTVF9SRUZSRVNIIiwiaW5kZXhPZiIsImhhbmRsZUFwcGx5VXBkYXRlcyIsImVyciIsInVwZGF0ZWRNb2R1bGVzIiwiaGF2ZUVycm9ycyIsIm5lZWRzRm9yY2VkUmVsb2FkIiwicmVzdWx0IiwiY2hlY2siLCJ0aGVuIiwiTk9ERV9FTlYiLCJzZXR1cE92ZXJsYXkiLCJfX3JlYWN0UmVmcmVzaE92ZXJsYXlJbmplY3RlZCIsIl9fcmVhY3RfcmVmcmVzaF9zb2NrZXRfXyIsInJ1bldpdGhSZXRyeSIsImluaXRTb2NrZXQiLCJpbml0IiwiX19yZXNvdXJjZVF1ZXJ5IiwiY2FsbGJhY2siLCJtYXhSZXRyaWVzIiwiZXhlY3V0ZVdpdGhSZXRyeUFuZFRpbWVvdXQiLCJjdXJyZW50Q291bnQiLCJzZXRUaW1lb3V0IiwiTWF0aCIsInBvdyJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBLElBQUlBLFNBQVMsR0FBR0MsT0FBTyxDQUFDLFlBQUQsQ0FBdkI7O0FBQ0EsSUFBSUMsb0JBQW9CLEdBQUdELE9BQU8sQ0FBQyxzQ0FBRCxDQUFsQzs7QUFDQSxJQUFJRSxxQkFBcUIsR0FBR0YsT0FBTyxDQUFDLHVDQUFELENBQW5DOztBQUNBLElBQUlHLGlCQUFpQixHQUFHSCxPQUFPLENBQUMsNERBQUQsQ0FBL0I7O0FBQ0EsSUFBSUksWUFBWSxHQUFHSixPQUFPLENBQUMscUJBQUQsQ0FBMUI7O0FBRUFJLFlBQVksQ0FBQ0MsZ0JBQWIsQ0FBOEIsU0FBU0MsYUFBVCxDQUF1QkMsYUFBdkIsRUFBc0M7QUFDbEU7QUFDQUMsRUFBQUEsS0FBSyxDQUNIUCxvQkFBb0Is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dUMsSUFBdkM7QUFDRDtBQUNGLEdBckJnQixDQUFqQjtBQXNCRDs7QUFDRCxTQUFTRSxZQUFULENBQXNCSSxRQUF0QixFQUFnQ0MsVUFBaEMsRUFBNEM7QUFDMUMsV0FBU0MsMEJBQVQsQ0FBb0NDLFlBQXBDLEVBQWtEO0FBQ2hELFFBQUk7QUFDRixVQUFJQSxZQUFZLEdBQUdGLFVBQVUsR0FBRyxDQUFoQyxFQUFtQztBQUNqQzNELFFBQUFBLE9BQU8sQ0FBQ2lCLElBQVIsQ0FBYSxzREFBYjtBQUNBO0FBQ0Q7O0FBRUR5QyxNQUFBQSxRQUFRO0FBQ1QsS0FQRCxDQU9FLE9BQU9mLEdBQVAsRUFBWTtBQUNabUIsTUFBQUEsVUFBVSxDQUFDLFlBQVk7QUFDckJGLFFBQUFBLDBCQUEwQixDQUFDQyxZQUFZLEdBQUcsQ0FBaEIsQ0FBMUI7QUFDRCxPQUZTLEVBRVBFLElBQUksQ0FBQ0MsR0FBTCxDQUFTLEVBQVQsRUFBYUgsWUFBYixDQUZPLENBQVY7QUFHRDtBQUNGOztBQUVERCxFQUFBQSwwQkFBMEIsQ0FBQyxDQUFELENBQTFCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgX19yZWFjdF9yZWZyZXNoX3NvY2tldF9fLCBfX3Jlc291cmNlUXVlcnkgKi9cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE1LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9jcmVhdGUtcmVhY3QtYXBwL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL3JlYWN0LWRldi11dGlscy93ZWJwYWNrSG90RGV2Q2xpZW50LmpzXG4gKi9cblxuLy8gVGhpcyBpcyBhZGFwdGVkIHRvIGhvb2sgY3JlYXRlLXJlYWN0LWFwcCBkaXJlY3RseSBpbnRvIHJlYWN0LXJlZnJlc2gncyBleGlzdGluZyBzb2NrZXQgY29ubmVjdGlvbnNcblxudmFyIHN0cmlwQW5zaSA9IHJlcXVpcmUoJ3N0cmlwLWFuc2knKTtcbnZhciBsYXVuY2hFZGl0b3JFbmRwb2ludCA9IHJlcXVpcmUoJ3JlYWN0LWRldi11dGlscy9sYXVuY2hFZGl0b3JFbmRwb2ludCcpO1xudmFyIGZvcm1hdFdlYnBhY2tNZXNzYWdlcyA9IHJlcXVpcmUoJ3JlYWN0LWRldi11dGlscy9mb3JtYXRXZWJwYWNrTWVzc2FnZXMnKTtcbnZhciBydW5XaXRoUGF0Y2hlZFVybCA9IHJlcXVpcmUoJ0BwbW1td2gvcmVhY3QtcmVmcmVzaC13ZWJwYWNrLXBsdWdpbi9jbGllbnQvdXRpbHMvcGF0Y2hVcmwnKTtcbnZhciBFcnJvck92ZXJsYXkgPSByZXF1aXJlKCdyZWFjdC1lcnJvci1vdmVybGF5Jyk7XG5cbkVycm9yT3ZlcmxheS5zZXRFZGl0b3JIYW5kbGVyKGZ1bmN0aW9uIGVkaXRvckhhbmRsZXIoZXJyb3JMb2NhdGlvbikge1xuICAvLyBLZWVwIHRoaXMgc3luYyB3aXRoIGVycm9yT3ZlcmxheU1pZGRsZXdhcmUuanNcbiAgZmV0Y2goXG4gICAgbGF1bmNoRWRpdG9yRW5kcG9pbnQgK1xuICAgICAgJz9maWxlTmFtZT0nICtcbiAgICAgIHdpbmRvdy5lbmNvZGVVUklDb21wb25lbnQoZXJyb3JMb2NhdGlvbi5maWxlTmFtZSkgK1xuICAgICAgJyZsaW5lTnVtYmVyPScgK1xuICAgICAgd2luZG93LmVuY29kZVVSSUNvbXBvbmVudChlcnJvckxvY2F0aW9uLmxpbmVOdW1iZXIgfHwgMSkgK1xuICAgICAgJyZjb2xOdW1iZXI9JyArXG4gICAgICB3aW5kb3cuZW5jb2RlVVJJQ29tcG9uZW50KGVycm9yTG9jYXRpb24uY29sTnVtYmVyIHx8IDEpLFxuICApO1xufSk7XG5cbi8vIFdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBpZiB0aGVyZSBoYXMgYmVlbiBhIHJ1bnRpbWUgZXJyb3IuXG4vLyBFc3NlbnRpYWxseSwgd2UgY2Fubm90IGd1YXJhbnRlZSBhcHBsaWNhdGlvbiBzdGF0ZSB3YXMgbm90IGNvcnJ1cHRlZCBieSB0aGVcbi8vIHJ1bnRpbWUgZXJyb3IuIFRvIHByZXZlbnQgY29uZnVzaW5nIGJlaGF2aW9yLCB3ZSBmb3JjaWJseSByZWxvYWQgdGhlIGVudGlyZVxuLy8gYXBwbGljYXRpb24uIFRoaXMgaXMgaGFuZGxlZCBiZWxvdyB3aGVuIHdlIGFyZSBub3RpZmllZCBvZiBhIGNvbXBpbGUgKGNvZGVcbi8vIGNoYW5nZSkuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2NyZWF0ZS1yZWFjdC1hcHAvaXNzdWVzLzMwOTZcbnZhciBoYWRSdW50aW1lRXJyb3IgPSBmYWxzZTtcbkVycm9yT3ZlcmxheS5zdGFydFJlcG9ydGluZ1J1bnRpbWVFcnJvcnMoe1xuICBvbkVycm9yOiBmdW5jdGlvbiAoKSB7XG4gICAgaGFkUnVudGltZUVycm9yID0gdHJ1ZTtcbiAgfSxcbiAgZmlsZW5hbWU6ICcvc3RhdGljL2pzL2J1bmRsZS5qcycsXG59KTtcblxuaWYgKG1vZHVsZS5ob3QgJiYgdHlwZW9mIG1vZHVsZS5ob3QuZGlzcG9zZSA9PT0gJ2Z1bmN0aW9uJykge1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIC8vIFRPRE86IHdoeSBkbyB3ZSBuZWVkIHRoaXM/XG4gICAgRXJyb3JPdmVybGF5LnN0b3BSZXBvcnRpbmdSdW50aW1lRXJyb3JzKCk7XG4gIH0pO1xufVxuXG4vLyBSZW1lbWJlciBzb21lIHN0YXRlIHJlbGF0ZWQgdG8gaG90IG1vZHVsZSByZXBsYWNlbWVudC5cbnZhciBpc0ZpcnN0Q29tcGlsYXRpb24gPSB0cnVlO1xudmFyIG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2ggPSBudWxsO1xudmFyIGhhc0NvbXBpbGVFcnJvcnMgPSBmYWxzZTtcblxuZnVuY3Rpb24gY2xlYXJPdXRkYXRlZEVycm9ycygpIHtcbiAgLy8gQ2xlYW4gdXAgb3V0ZGF0ZWQgY29tcGlsZSBlcnJvcnMsIGlmIGFueS5cbiAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgY29uc29sZS5jbGVhciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmIChoYXNDb21waWxlRXJyb3JzKSB7XG4gICAgICBjb25zb2xlLmNsZWFyKCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFN1Y2Nlc3NmdWwgY29tcGlsYXRpb24uXG5mdW5jdGlvbiBoYW5kbGVTdWNjZXNzKCkge1xuICBjbGVhck91dGRhdGVkRXJyb3JzKCk7XG5cbiAgdmFyIGlzSG90VXBkYXRlID0gIWlzRmlyc3RDb21waWxhdGlvbjtcbiAgaXNGaXJzdENvbXBpbGF0aW9uID0gZmFsc2U7XG4gIGhhc0NvbXBpbGVFcnJvcnMgPSBmYWxzZTtcblxuICAvLyBBdHRlbXB0IHRvIGFwcGx5IGhvdCB1cGRhdGVzIG9yIHJlbG9hZC5cbiAgaWYgKGlzSG90VXBkYXRlKSB7XG4gICAgdHJ5QXBwbHlVcGRhdGVzKGZ1bmN0aW9uIG9uSG90VXBkYXRlU3VjY2VzcygpIHtcbiAgICAgIC8vIE9ubHkgZGlzbWlzcyBpdCB3aGVuIHdlJ3JlIHN1cmUgaXQncyBhIGhvdCB1cGRhdGUuXG4gICAgICAvLyBPdGhlcndpc2UgaXQgd291bGQgZmxpY2tlciByaWdodCBiZWZvcmUgdGhlIHJlbG9hZC5cbiAgICAgIHRyeURpc21pc3NFcnJvck92ZXJsYXkoKTtcbiAgICB9KTtcbiAgfVxufVxuXG4vLyBDb21waWxhdGlvbiB3aXRoIHdhcm5pbmdzIChlLmcuIEVTTGludCkuXG5mdW5jdGlvbiBoYW5kbGVXYXJuaW5ncyh3YXJuaW5ncykge1xuICBjbGVhck91dGRhdGVkRXJyb3JzKCk7XG5cbiAgdmFyIGlzSG90VXBkYXRlID0gIWlzRmlyc3RDb21waWxhdGlvbjtcbiAgaXNGaXJzdENvbXBpbGF0aW9uID0gZmFsc2U7XG4gIGhhc0NvbXBpbGVFcnJvcnMgPSBmYWxzZTtcblxuICBmdW5jdGlvbiBwcmludFdhcm5pbmdzKCkge1xuICAgIC8vIFByaW50IHdhcm5pbmdzIHRvIHRoZSBjb25zb2xlLlxuICAgIHZhciBmb3JtYXR0ZWQgPSBmb3JtYXRXZWJwYWNrTWVzc2FnZXMoe1xuICAgICAgd2FybmluZ3M6IHdhcm5pbmdzLm1hcChlcnJvck9iak9yTWVzc2FnZSA9PlxuICAgICAgICBbZXJyb3JPYmpPck1lc3NhZ2UubW9kdWxlTmFtZSwgZXJyb3JPYmpPck1lc3NhZ2UubWVzc2FnZV0uam9pbignXFxuJyksXG4gICAgICApLFxuICAgICAgZXJyb3JzOiBbXSxcbiAgICB9KTtcblxuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGNvbnNvbGUud2FybiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JtYXR0ZWQud2FybmluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGkgPT09IDUpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAnVGhlcmUgd2VyZSBtb3JlIHdhcm5pbmdzIGluIG90aGVyIGZpbGVzLlxcbicgK1xuICAgICAgICAgICAgICAnWW91IGNhbiBmaW5kIGEgY29tcGxldGUgbG9nIGluIHRoZSB0ZXJtaW5hbC4nLFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS53YXJuKHN0cmlwQW5zaShmb3JtYXR0ZWQud2FybmluZ3NbaV0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcmludFdhcm5pbmdzKCk7XG5cbiAgLy8gQXR0ZW1wdCB0byBhcHBseSBob3QgdXBkYXRlcyBvciByZWxvYWQuXG4gIGlmIChpc0hvdFVwZGF0ZSkge1xuICAgIHRyeUFwcGx5VXBkYXRlcyhmdW5jdGlvbiBvblN1Y2Nlc3NmdWxIb3RVcGRhdGUoKSB7XG4gICAgICAvLyBPbmx5IGRpc21pc3MgaXQgd2hlbiB3ZSdyZSBzdXJlIGl0J3MgYSBob3QgdXBkYXRlLlxuICAgICAgLy8gT3RoZXJ3aXNlIGl0IHdvdWxkIGZsaWNrZXIgcmlnaHQgYmVmb3JlIHRoZSByZWxvYWQuXG4gICAgICB0cnlEaXNtaXNzRXJyb3JPdmVybGF5KCk7XG4gICAgfSk7XG4gIH1cbn1cblxuLy8gQ29tcGlsYXRpb24gd2l0aCBlcnJvcnMgKGUuZy4gc3ludGF4IGVycm9yIG9yIG1pc3NpbmcgbW9kdWxlcykuXG5mdW5jdGlvbiBoYW5kbGVFcnJvcnMoZXJyb3JzKSB7XG4gIGNsZWFyT3V0ZGF0ZWRFcnJvcnMoKTtcblxuICBpc0ZpcnN0Q29tcGlsYXRpb24gPSBmYWxzZTtcbiAgaGFzQ29tcGlsZUVycm9ycyA9IHRydWU7XG5cbiAgLy8gXCJNYXNzYWdlXCIgd2VicGFjayBtZXNzYWdlcy5cbiAgdmFyIGZvcm1hdHRlZCA9IGZvcm1hdFdlYnBhY2tNZXNzYWdlcyh7XG4gICAgZXJyb3JzOiBlcnJvcnMubWFwKGVycm9yT2JqT3JNZXNzYWdlID0+XG4gICAgICBbZXJyb3JPYmpPck1lc3NhZ2UubW9kdWxlTmFtZSwgZXJyb3JPYmpPck1lc3NhZ2UubWVzc2FnZV0uam9pbignXFxuJyksXG4gICAgKSxcbiAgICB3YXJuaW5nczogW10sXG4gIH0pO1xuXG4gIC8vIE9ubHkgc2hvdyB0aGUgZmlyc3QgZXJyb3IuXG4gIEVycm9yT3ZlcmxheS5yZXBvcnRCdWlsZEVycm9yKGZvcm1hdHRlZC5lcnJvcnNbMF0pO1xuXG4gIC8vIEFsc28gbG9nIHRoZW0gdG8gdGhlIGNvbnNvbGUuXG4gIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGNvbnNvbGUuZXJyb3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZvcm1hdHRlZC5lcnJvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnNvbGUuZXJyb3Ioc3RyaXBBbnNpKGZvcm1hdHRlZC5lcnJvcnNbaV0pKTtcbiAgICB9XG4gIH1cblxuICAvLyBEbyBub3QgYXR0ZW1wdCB0byByZWxvYWQgbm93LlxuICAvLyBXZSB3aWxsIHJlbG9hZCBvbiBuZXh0IHN1Y2Nlc3MgaW5zdGVhZC5cbn1cblxuZnVuY3Rpb24gdHJ5RGlzbWlzc0Vycm9yT3ZlcmxheSgpIHtcbiAgaWYgKCFoYXNDb21waWxlRXJyb3JzKSB7XG4gICAgRXJyb3JPdmVybGF5LmRpc21pc3NCdWlsZEVycm9yKCk7XG4gIH1cbn1cblxuLy8gVGhlcmUgaXMgYSBuZXdlciB2ZXJzaW9uIG9mIHRoZSBjb2RlIGF2YWlsYWJsZS5cbmZ1bmN0aW9uIGhhbmRsZUF2YWlsYWJsZUhhc2goaGFzaCkge1xuICAvLyBVcGRhdGUgbGFzdCBrbm93biBjb21waWxhdGlvbiBoYXNoLlxuICBtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoID0gaGFzaDtcbn1cblxuLy8gSGFuZGxlIG1lc3NhZ2VzIGZyb20gdGhlIHNlcnZlci5cbmZ1bmN0aW9uIGNvbXBpbGVNZXNzYWdlSGFuZGxlcihtZXNzYWdlKSB7XG4gIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgY2FzZSAnaGFzaCc6XG4gICAgICBoYW5kbGVBdmFpbGFibGVIYXNoKG1lc3NhZ2UuZGF0YSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdGlsbC1vayc6XG4gICAgY2FzZSAnb2snOlxuICAgICAgaGFuZGxlU3VjY2VzcygpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnY29udGVudC1jaGFuZ2VkJzpcbiAgICAgIC8vIFRyaWdnZXJlZCB3aGVuIGEgZmlsZSBmcm9tIGBjb250ZW50QmFzZWAgY2hhbmdlZC5cbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3dhcm5pbmdzJzpcbiAgICAgIGhhbmRsZVdhcm5pbmdzKG1lc3NhZ2UuZGF0YSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlcnJvcnMnOlxuICAgICAgaGFuZGxlRXJyb3JzKG1lc3NhZ2UuZGF0YSk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgIC8vIERvIG5vdGhpbmcuXG4gIH1cbn1cblxuLy8gSXMgdGhlcmUgYSBuZXdlciB2ZXJzaW9uIG9mIHRoaXMgY29kZSBhdmFpbGFibGU/XG5mdW5jdGlvbiBpc1VwZGF0ZUF2YWlsYWJsZSgpIHtcbiAgLyogZ2xvYmFscyBfX3dlYnBhY2tfaGFzaF9fICovXG4gIC8vIF9fd2VicGFja19oYXNoX18gaXMgdGhlIGhhc2ggb2YgdGhlIGN1cnJlbnQgY29tcGlsYXRpb24uXG4gIC8vIEl0J3MgYSBnbG9iYWwgdmFyaWFibGUgaW5qZWN0ZWQgYnkgd2VicGFjay5cbiAgcmV0dXJuIG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2ggIT09IF9fd2VicGFja19oYXNoX187XG59XG5cbi8vIHdlYnBhY2sgZGlzYWxsb3dzIHVwZGF0ZXMgaW4gb3RoZXIgc3RhdGVzLlxuZnVuY3Rpb24gY2FuQXBwbHlVcGRhdGVzKCkge1xuICByZXR1cm4gbW9kdWxlLmhvdC5zdGF0dXMoKSA9PT0gJ2lkbGUnO1xufVxuXG5mdW5jdGlvbiBjYW5BY2NlcHRFcnJvcnMoKSB7XG4gIC8vIE5PVEU6IFRoaXMgdmFyIGlzIGluamVjdGVkIGJ5IFdlYnBhY2sncyBEZWZpbmVQbHVnaW4sIGFuZCBpcyBhIGJvb2xlYW4gaW5zdGVhZCBvZiBzdHJpbmcuXG4gIGNvbnN0IGhhc1JlYWN0UmVmcmVzaCA9IHByb2Nlc3MuZW52LkZBU1RfUkVGUkVTSDtcblxuICBjb25zdCBzdGF0dXMgPSBtb2R1bGUuaG90LnN0YXR1cygpO1xuICAvLyBSZWFjdCByZWZyZXNoIGNhbiBoYW5kbGUgaG90LXJlbG9hZGluZyBvdmVyIGVycm9ycy5cbiAgLy8gSG93ZXZlciwgd2hlbiBob3QtcmVsb2FkIHN0YXR1cyBpcyBhYm9ydCBvciBmYWlsLFxuICAvLyBpdCBpbmRpY2F0ZXMgdGhlIGN1cnJlbnQgdXBkYXRlIGNhbm5vdCBiZSBhcHBsaWVkIHNhZmVseSxcbiAgLy8gYW5kIHRodXMgd2Ugc2hvdWxkIGJhaWwgb3V0IHRvIGEgZm9yY2VkIHJlbG9hZCBmb3IgY29uc2lzdGVuY3kuXG4gIHJldHVybiBoYXNSZWFjdFJlZnJlc2ggJiYgWydhYm9ydCcsICdmYWlsJ10uaW5kZXhPZihzdGF0dXMpID09PSAtMTtcbn1cblxuLy8gQXR0ZW1wdCB0byB1cGRhdGUgY29kZSBvbiB0aGUgZmx5LCBmYWxsIGJhY2sgdG8gYSBoYXJkIHJlbG9hZC5cbmZ1bmN0aW9uIHRyeUFwcGx5VXBkYXRlcyhvbkhvdFVwZGF0ZVN1Y2Nlc3MpIHtcbiAgaWYgKCFtb2R1bGUuaG90KSB7XG4gICAgLy8gSG90TW9kdWxlUmVwbGFjZW1lbnRQbHVnaW4gaXMgbm90IGluIHdlYnBhY2sgY29uZmlndXJhdGlvbi5cbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gd2Uga25vdyBpdCdzIGhvdCwgc28gZGlzbWlzcyBlcnJvclxuICBpZiAodHlwZW9mIG9uSG90VXBkYXRlU3VjY2VzcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG9uSG90VXBkYXRlU3VjY2VzcygpO1xuICB9XG5cbiAgaWYgKCFpc1VwZGF0ZUF2YWlsYWJsZSgpIHx8ICFjYW5BcHBseVVwZGF0ZXMoKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUFwcGx5VXBkYXRlcyhlcnIsIHVwZGF0ZWRNb2R1bGVzKSB7XG4gICAgY29uc3QgaGF2ZUVycm9ycyA9IGVyciB8fCBoYWRSdW50aW1lRXJyb3I7XG4gICAgLy8gV2hlbiB0aGVyZSBpcyBubyBlcnJvciBidXQgdXBkYXRlZE1vZHVsZXMgaXMgdW5hdmFpbGFibGUsXG4gICAgLy8gaXQgaW5kaWNhdGVzIGEgY3JpdGljYWwgZmFpbHVyZSBpbiBob3QtcmVsb2FkaW5nLFxuICAgIC8vIGUuZy4gc2VydmVyIGlzIG5vdCByZWFkeSB0byBzZXJ2ZSBuZXcgYnVuZGxlLFxuICAgIC8vIGFuZCBoZW5jZSB3ZSBuZWVkIHRvIGRvIGEgZm9yY2VkIHJlbG9hZC5cbiAgICBjb25zdCBuZWVkc0ZvcmNlZFJlbG9hZCA9ICFlcnIgJiYgIXVwZGF0ZWRNb2R1bGVzO1xuICAgIGlmICgoaGF2ZUVycm9ycyAmJiAhY2FuQWNjZXB0RXJyb3JzKCkpIHx8IG5lZWRzRm9yY2VkUmVsb2FkKSB7XG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvbkhvdFVwZGF0ZVN1Y2Nlc3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vIE1heWJlIHdlIHdhbnQgdG8gZG8gc29tZXRoaW5nLlxuICAgICAgb25Ib3RVcGRhdGVTdWNjZXNzKCk7XG4gICAgfVxuXG4gICAgaWYgKGlzVXBkYXRlQXZhaWxhYmxlKCkpIHtcbiAgICAgIC8vIFdoaWxlIHdlIHdlcmUgdXBkYXRpbmcsIHRoZXJlIHdhcyBhIG5ldyB1cGRhdGUhIERvIGl0IGFnYWluLlxuICAgICAgdHJ5QXBwbHlVcGRhdGVzKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gaHR0cHM6Ly93ZWJwYWNrLmdpdGh1Yi5pby9kb2NzL2hvdC1tb2R1bGUtcmVwbGFjZW1lbnQuaHRtbCNjaGVja1xuICB2YXIgcmVzdWx0ID0gbW9kdWxlLmhvdC5jaGVjaygvKiBhdXRvQXBwbHkgKi8gdHJ1ZSwgaGFuZGxlQXBwbHlVcGRhdGVzKTtcblxuICAvLyAvLyB3ZWJwYWNrIDIgcmV0dXJucyBhIFByb21pc2UgaW5zdGVhZCBvZiBpbnZva2luZyBhIGNhbGxiYWNrXG4gIGlmIChyZXN1bHQgJiYgcmVzdWx0LnRoZW4pIHtcbiAgICByZXN1bHQudGhlbihcbiAgICAgIGZ1bmN0aW9uICh1cGRhdGVkTW9kdWxlcykge1xuICAgICAgICBoYW5kbGVBcHBseVVwZGF0ZXMobnVsbCwgdXBkYXRlZE1vZHVsZXMpO1xuICAgICAgfSxcbiAgICAgIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgaGFuZGxlQXBwbHlVcGRhdGVzKGVyciwgbnVsbCk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgcnVuV2l0aFBhdGNoZWRVcmwoZnVuY3Rpb24gc2V0dXBPdmVybGF5KCkge1xuICAgIC8vIE9ubHkgcmVnaXN0ZXIgaWYgbm8gb3RoZXIgb3ZlcmxheSBoYXZlIGJlZW4gcmVnaXN0ZXJlZFxuICAgIGlmICghd2luZG93Ll9fcmVhY3RSZWZyZXNoT3ZlcmxheUluamVjdGVkICYmIF9fcmVhY3RfcmVmcmVzaF9zb2NrZXRfXykge1xuICAgICAgLy8gUmVnaXN0ZXJzIGhhbmRsZXJzIGZvciBjb21waWxlIGVycm9ycyB3aXRoIHJldHJ5IC1cbiAgICAgIC8vIFRoaXMgaXMgdG8gcHJldmVudCBtaXNtYXRjaGluZyBpbmplY3Rpb24gb3JkZXIgY2F1c2luZyBlcnJvcnMgdG8gYmUgdGhyb3duXG4gICAgICBydW5XaXRoUmV0cnkoZnVuY3Rpb24gaW5pdFNvY2tldCgpIHtcbiAgICAgICAgX19yZWFjdF9yZWZyZXNoX3NvY2tldF9fLmluaXQoY29tcGlsZU1lc3NhZ2VIYW5kbGVyLCBfX3Jlc291cmNlUXVlcnkpO1xuICAgICAgfSwgMyk7XG4gICAgICAvLyBSZWdpc3RlcnMgaGFuZGxlcnMgZm9yIHJ1bnRpbWUgZXJyb3JzXG4gICAgICAvKmhhbmRsZUVycm9yKGZ1bmN0aW9uIGhhbmRsZUVycm9yKGVycm9yKSB7XG4gICAgICAgIGhhc1J1bnRpbWVFcnJvcnMgPSB0cnVlO1xuICAgICAgICBfX3JlYWN0X3JlZnJlc2hfZXJyb3Jfb3ZlcmxheV9fLmhhbmRsZVJ1bnRpbWVFcnJvcihlcnJvcik7XG4gICAgICB9KTtcbiAgICAgIGhhbmRsZVVuaGFuZGxlZFJlamVjdGlvbihmdW5jdGlvbiBoYW5kbGVVbmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uKGVycm9yKSB7XG4gICAgICAgIGhhc1J1bnRpbWVFcnJvcnMgPSB0cnVlO1xuICAgICAgICBfX3JlYWN0X3JlZnJlc2hfZXJyb3Jfb3ZlcmxheV9fLmhhbmRsZVJ1bnRpbWVFcnJvcihlcnJvcik7XG4gICAgICB9KTsqL1xuXG4gICAgICAvLyBNYXJrIG92ZXJsYXkgYXMgaW5qZWN0ZWQgdG8gcHJldmVudCBkb3VibGUtaW5qZWN0aW9uXG4gICAgICB3aW5kb3cuX19yZWFjdFJlZnJlc2hPdmVybGF5SW5qZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSk7XG59XG5mdW5jdGlvbiBydW5XaXRoUmV0cnkoY2FsbGJhY2ssIG1heFJldHJpZXMpIHtcbiAgZnVuY3Rpb24gZXhlY3V0ZVdpdGhSZXRyeUFuZFRpbWVvdXQoY3VycmVudENvdW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChjdXJyZW50Q291bnQgPiBtYXhSZXRyaWVzIC0gMSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tSZWFjdCBSZWZyZXNoXSBGYWlsZWQgc2V0IHVwIHRoZSBzb2NrZXQgY29ubmVjdGlvbi4nKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjYWxsYmFjaygpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGV4ZWN1dGVXaXRoUmV0cnlBbmRUaW1lb3V0KGN1cnJlbnRDb3VudCArIDEpO1xuICAgICAgfSwgTWF0aC5wb3coMTAsIGN1cnJlbnRDb3VudCkpO1xuICAgIH1cbiAgfVxuXG4gIGV4ZWN1dGVXaXRoUmV0cnlBbmRUaW1lb3V0KDApO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anansi/webpack-config",
3
- "version": "10.0.11",
3
+ "version": "10.0.12",
4
4
  "description": "Production ready webpack for React",
5
5
  "main": "lib/index.js",
6
6
  "types": "./index.d.ts",
@@ -167,5 +167,5 @@
167
167
  "optional": true
168
168
  }
169
169
  },
170
- "gitHead": "5111b5f3e286ff5200f8dbf8c1af330d0291c9c2"
170
+ "gitHead": "6d316953f1f8fd444dfcea2fcd938a2ccf6968fc"
171
171
  }