@carto/kepler.gl 0.0.65-alpha.labels → 0.0.65-alpha.labels.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -258,6 +258,7 @@ function MapContainerFactory(MapPopover, MapControl, Editor) {
258
258
  return;
259
259
  }
260
260
 
261
+ throw error;
261
262
  var errorMessage = "An error in deck.gl: ".concat(error === null || error === void 0 ? void 0 : error.message, " in ").concat(layer === null || layer === void 0 ? void 0 : layer.id);
262
263
  var notificationId = "".concat(layer === null || layer === void 0 ? void 0 : layer.id, "-").concat(error === null || error === void 0 ? void 0 : error.message); // Throttle error notifications, as React doesn't like too many state changes from here.
263
264
 
@@ -685,4 +686,4 @@ function MapContainerFactory(MapPopover, MapControl, Editor) {
685
686
  MapContainer.displayName = 'MapContainer';
686
687
  return MapContainer;
687
688
  }
688
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21hcC1jb250YWluZXIuanMiXSwibmFtZXMiOlsidHJhY2tlcnMiLCJQRVJGX0RFQlVHIiwid2luZG93IiwibG9jYXRpb24iLCJzZWFyY2giLCJpbmNsdWRlcyIsImRyYXdDb3VudCIsInZpZXdwb3J0Q2hhbmdlQ291bnQiLCJMYXllciIsIlRpbGVMYXllciIsIk1BUF9TVFlMRSIsImNvbnRhaW5lciIsImRpc3BsYXkiLCJwb3NpdGlvbiIsIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwicG9pbnRlckV2ZW50cyIsIk1BUEJPWEdMX1NUWUxFX1VQREFURSIsIk1BUEJPWEdMX1JFTkRFUiIsIlRSQU5TSVRJT05fRFVSQVRJT04iLCJBdHRyaWJ1dGlvbiIsIk1hcENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiTWFwUG9wb3ZlckZhY3RvcnkiLCJNYXBDb250cm9sRmFjdG9yeSIsIkVkaXRvckZhY3RvcnkiLCJNYXBQb3BvdmVyIiwiTWFwQ29udHJvbCIsIkVkaXRvciIsIk1hcENvbnRhaW5lciIsInByb3BzIiwiZGltZW5zaW9ucyIsInByaW1hcnkiLCJpc0V4cG9ydCIsIm1hcFN0YXRlQWN0aW9ucyIsInVwZGF0ZU1hcCIsImxheWVycyIsImxheWVyRGF0YSIsIm1hcExheWVycyIsImxheWVyT3JkZXIiLCJwb3B1cFNldHRpbmdzIiwibGF5ZXJzU2VsZWN0b3IiLCJsYXllckRhdGFTZWxlY3RvciIsIm1hcExheWVyc1NlbGVjdG9yIiwicG9wdXBTZXR0aW5nc1NlbGVjdG9yIiwicHJlcGFyZUxheWVyc1RvUmVuZGVyIiwicHJlcGFyZUxheWVyc0ZvckRlY2siLCJmaWx0ZXJzIiwiZmlsdGVyc1NlbGVjdG9yIiwiZmlsdGVyIiwiZiIsInR5cGUiLCJGSUxURVJfVFlQRVMiLCJwb2x5Z29uIiwibGF5ZXJPcmRlclNlbGVjdG9yIiwibGF5ZXJzVG9SZW5kZXJTZWxlY3RvciIsImdlbmVyYXRlTWFwYm94TGF5ZXJzIiwidmlzU3RhdGVBY3Rpb25zIiwib25MYXllckNsaWNrIiwiaWR4IiwiY29sb3JEb21haW4iLCJsYXllckNvbmZpZ0NoYW5nZSIsImxheWVySWQiLCJpbmRleCIsIm1hcEluZGV4IiwidG9nZ2xlTGF5ZXJGb3JNYXAiLCJwcmV2aW91c0xheWVycyIsIl91cGRhdGVNYXBib3hMYXllcnMiLCJvbk1hcFN0eWxlTG9hZGVkIiwiX21hcCIsIm1hcGJveCIsImdldE1hcCIsIm9uIiwiX29uTWFwYm94U3R5bGVVcGRhdGUiLCJvbk1hcFJlbmRlciIsImdldE1hcGJveFJlZiIsImdsIiwibGF5ZXJCbGVuZGluZyIsImVycm9yIiwibGF5ZXIiLCJtZXNzYWdlIiwic2V0U3RhdGUiLCJjb250ZXh0TG9zdCIsImVycm9yTWVzc2FnZSIsImlkIiwibm90aWZpY2F0aW9uSWQiLCJfZGVja0dMRXJyb3JzRWxhcHNlZCIsImxhc3RTaG93biIsIkRhdGUiLCJub3ciLCJUSFJPVFRMRV9OT1RJRklDQVRJT05fVElNRSIsInVpU3RhdGVBY3Rpb25zIiwiYWRkTm90aWZpY2F0aW9uIiwidmlld1N0YXRlIiwiaW5jcmVtZW50IiwicmVzdFZpZXdTdGF0ZSIsIm5leHQiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJvblZpZXdTdGF0ZUNoYW5nZSIsInBhbmVsSWQiLCJ0b2dnbGVNYXBDb250cm9sIiwiX2RlY2siLCJfcmVmIiwiX2hhc1JlbmRlcmVkIiwiX21vdXNlUG9zaXRpb24iLCJjdXJyZW50IiwiX2hhbmRsZVJlc2l6ZSIsInN0YXRlIiwib2ZmIiwib25EZWNrSW5pdGlhbGl6ZWQiLCJsYXllcnNUb1JlbmRlciIsInZpZXdwb3J0IiwibG5nTGF0Iiwic2NyZWVuQ29vcmQiLCJwcm9qZWN0IiwieCIsInkiLCJsYXllcnNGb3JEZWNrIiwibWFwU3RhdGUiLCJtYXBTdHlsZSIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibWFwYm94QXBpVXJsIiwibWFza1BvbHlnb24iLCJkZWNrR2xMYXllcnMiLCJkZWNrR2xQcm9wcyIsImxlbmd0aCIsImRhdGFMYXllcnMiLCJzbGljZSIsInJldmVyc2UiLCJyZWR1Y2UiLCJvdmVybGF5cyIsImxheWVyQ2FsbGJhY2tzIiwib25TZXRMYXllckRvbWFpbiIsInZhbCIsIl9vbkxheWVyU2V0RG9tYWluIiwibGF5ZXJPdmVybGF5IiwiY29uY2F0IiwibGF5ZXJzT25Ub3AiLCJwdXNoIiwiU29saWRQb2x5Z29uTGF5ZXIiLCJNQVNLX0xBWUVSX0lEIiwib3BlcmF0aW9uIiwiT1BFUkFUSU9OIiwiTUFTSyIsImRhdGEiLCJkYXRhQ29tcGFyYXRvciIsIm9sZERhdGEiLCJnZXRQb2x5Z29uIiwiZCIsImdldEZpbGxDb2xvciIsInZpc2libGVMYXllckdyb3VwcyIsIlRocmVlREJ1aWxkaW5nTGF5ZXIiLCJ0aHJlZURCdWlsZGluZ0NvbG9yIiwidXBkYXRlVHJpZ2dlcnMiLCJoYXNSZW5kZXJlZCIsInJlc2V0SGFzUmVuZGVyZWQiLCJfb25WaWV3cG9ydENoYW5nZSIsIm9wdHMiLCJfb25CZWZvcmVSZW5kZXIiLCJvbkxheWVySG92ZXIiLCJfb25EZWNrRXJyb3IiLCJjb21wIiwiZGVjayIsIl9vbkRlY2tJbml0aWFsaXplZCIsImlzTmFOIiwidmlzaWJpbGl0eUJ5Wm9vbSIsIm1pbiIsIm1heCIsImN1cnJlbnRab29tUmFuZ2UiLCJNYXRoIiwicm91bmQiLCJ6b29tIiwibWFwYm94TGF5ZXJzIiwibWFwYm94TGF5ZXJzU2VsZWN0b3IiLCJPYmplY3QiLCJrZXlzIiwiaXNTdHlsZUxvYWRlZCIsIk1hcENvbXBvbmVudCIsImRhdGFzZXRzIiwibWFwQ29udHJvbHMiLCJsb2NhbGUiLCJpbnRlcmFjdGlvbkNvbmZpZyIsImVkaXRvciIsImxheWVyc0ZvckRlY2tTZWxlY3RvciIsIm1hcFByb3BzIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidHJhbnNmb3JtUmVxdWVzdCIsImlzRWRpdCIsIm1hcERyYXciLCJhY3RpdmUiLCJoYXNHZW9jb2RlckxheWVyIiwiZmluZCIsImwiLCJHRU9DT0RFUl9MQVlFUl9JRCIsImlzU3BsaXQiLCJCb29sZWFuIiwibW91c2VQb3NpdGlvbiIsIkxPQ0FMRV9DT0RFUyIsImRyYWdSb3RhdGUiLCJyZWFkT25seSIsInNjYWxlIiwiZ2VvY29kZXIiLCJlbmFibGVkIiwidG9nZ2xlUGVyc3BlY3RpdmUiLCJ0b2dnbGVTcGxpdE1hcCIsIl9oYW5kbGVNYXBUb2dnbGVMYXllciIsIl90b2dnbGVNYXBDb250cm9sIiwic2V0RWRpdG9yTW9kZSIsInNldExvY2FsZSIsInRvZ2dsZUVkaXRvclZpc2liaWxpdHkiLCJfc2V0TWFwYm94TWFwIiwiYm90dG9tTWFwU3R5bGUiLCJob3ZlckluZm8iLCJ1bmRlZmluZWQiLCJldnQiLCJwb2ludCIsIl9yZW5kZXJEZWNrT3ZlcmxheSIsIl9yZW5kZXJNYXBib3hPdmVybGF5cyIsInBvbHlnb25GaWx0ZXJzIiwiZGVsZXRlRmVhdHVyZSIsInNldFNlbGVjdGVkRmVhdHVyZSIsInNldEZlYXR1cmVzIiwic2V0UG9seWdvbkZpbHRlckxheWVyIiwidmlzaWJsZSIsInRvcE1hcFN0eWxlIiwiX3JlbmRlck1hcFBvcG92ZXIiLCJnbG9iZSIsIl9yZW5kZXJNYXAiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwic3RyaW5nIiwiYXJyYXlPZiIsImFueSIsImJvb2wiLCJjbGlja2VkIiwib25NYXBUb2dnbGVMYXllciIsImZ1bmMiLCJudW1iZXIiLCJNYXBib3hHTE1hcCIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBT0E7O0FBQ0E7O0FBR0E7Ozs7Ozs7Ozs7OztBQUNBLElBQU1BLFFBQVEsR0FBRyxFQUFqQjtBQUNBLElBQU1DLFVBQVUsY0FBR0MsTUFBSCxn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LFdBQVcsRUFBRTJKLHNCQUFVUyxJQTNCTjtBQTRCakJuSyxJQUFBQSxZQUFZLEVBQUUwSixzQkFBVVMsSUE1QlA7QUE2QmpCL0ssSUFBQUEsS0FBSyxFQUFFc0ssc0JBQVVVLE1BN0JBO0FBOEJqQnZNLElBQUFBLGFBQWEsRUFBRTZMLHNCQUFVQztBQTlCUixHQUZxRDtBQUFBLG1DQUNwRXpNLFlBRG9FLGtCQW1DbEQ7QUFDcEJvSixJQUFBQSxZQUFZLEVBQUUrRCxzQkFETTtBQUVwQnBILElBQUFBLFdBQVcsRUFBRSxFQUZPO0FBR3BCN0QsSUFBQUEsS0FBSyxFQUFFLENBSGE7QUFJcEIvQixJQUFBQSxPQUFPLEVBQUU7QUFKVyxHQW5Da0Q7QUE4ZjFFSCxFQUFBQSxZQUFZLENBQUNvTixXQUFiLEdBQTJCLGNBQTNCO0FBRUEsU0FBT3BOLFlBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbi8vIGxpYnJhcmllc1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgTWFwYm94R0xNYXAgZnJvbSAncmVhY3QtbWFwLWdsJztcbmltcG9ydCBEZWNrR0wgZnJvbSAnQGRlY2suZ2wvcmVhY3QnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHtPUEVSQVRJT04sIExheWVyfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7U29saWRQb2x5Z29uTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5pbXBvcnQge1RpbGVMYXllcn0gZnJvbSAnQGRlY2suZ2wvZ2VvLWxheWVycyc7XG5pbXBvcnQge2Vycm9yTm90aWZpY2F0aW9ufSBmcm9tICd1dGlscy9ub3RpZmljYXRpb25zLXV0aWxzJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IE1hcFBvcG92ZXJGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvbWFwL21hcC1wb3BvdmVyJztcbmltcG9ydCBNYXBDb250cm9sRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL21hcC9tYXAtY29udHJvbCc7XG5pbXBvcnQge1N0eWxlZE1hcENvbnRhaW5lciwgU3R5bGVkQXR0cmJ1dGlvbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgRWRpdG9yRmFjdG9yeSBmcm9tICcuL2VkaXRvci9lZGl0b3InO1xuXG4vLyB1dGlsc1xuaW1wb3J0IHtnZW5lcmF0ZU1hcGJveExheWVycywgdXBkYXRlTWFwYm94TGF5ZXJzfSBmcm9tICdsYXllcnMvbWFwYm94LXV0aWxzJztcbmltcG9ydCB7c2V0TGF5ZXJCbGVuZGluZ30gZnJvbSAndXRpbHMvZ2wtdXRpbHMnO1xuaW1wb3J0IHt0cmFuc2Zvcm1SZXF1ZXN0fSBmcm9tICd1dGlscy9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LXV0aWxzJztcbmltcG9ydCB7cmVuZGVyRGVja0dsTGF5ZXIsIHByZXBhcmVMYXllcnNUb1JlbmRlciwgcHJlcGFyZUxheWVyc0ZvckRlY2t9IGZyb20gJ3V0aWxzL2xheWVyLXV0aWxzJztcblxuLy8gZGVmYXVsdC1zZXR0aW5nc1xuaW1wb3J0IFRocmVlREJ1aWxkaW5nTGF5ZXIgZnJvbSAnZGVja2dsLWxheWVycy8zZC1idWlsZGluZy1sYXllci8zZC1idWlsZGluZy1sYXllcic7XG5pbXBvcnQge1xuICBGSUxURVJfVFlQRVMsXG4gIEdFT0NPREVSX0xBWUVSX0lELFxuICBNQVNLX0xBWUVSX0lELFxuICBUSFJPVFRMRV9OT1RJRklDQVRJT05fVElNRVxufSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCB7b2JzZXJ2ZURpbWVuc2lvbnMsIHVub2JzZXJ2ZURpbWVuc2lvbnN9IGZyb20gJy4uL3V0aWxzL29ic2VydmUtZGltZW5zaW9ucyc7XG5pbXBvcnQge0xPQ0FMRV9DT0RFU30gZnJvbSAnbG9jYWxpemF0aW9uL2xvY2FsZXMnO1xuXG4vLyBQZXJmb3JtYW5jZSBkZWJ1Z2dpbmdcbmltcG9ydCB7Y3JlYXRlVHJhY2tlciwgY3JlYXRlTGF5ZXJVcGRhdGVUcmFja2VyLCByZW5kZXJQZXJmb3JtYW5jZVN0YXRzfSBmcm9tICcuL3BlcmZvcm1hbmNlJztcbmNvbnN0IHRyYWNrZXJzID0ge307XG5jb25zdCBQRVJGX0RFQlVHID0gd2luZG93Py5sb2NhdGlvbj8uc2VhcmNoPy5pbmNsdWRlcygnUEVSRl9ERUJVRycpO1xuaWYgKFBFUkZfREVCVUcpIHtcbiAgdHJhY2tlcnMuZHJhd0NvdW50ID0gY3JlYXRlVHJhY2tlcignZHJhd3MnKTtcbiAgdHJhY2tlcnMudmlld3BvcnRDaGFuZ2VDb3VudCA9IGNyZWF0ZVRyYWNrZXIoJ3ZpZXdwb3J0IGNoYW5nZXMnKTtcbiAgY3JlYXRlTGF5ZXJVcGRhdGVUcmFja2VyKCdzdGF0ZSB1cGRhdGVzJywgW0xheWVyLCBUaWxlTGF5ZXJdKTtcbn1cblxuLyoqIEB0eXBlIHt7W2tleTogc3RyaW5nXTogUmVhY3QuQ1NTUHJvcGVydGllc319ICovXG5jb25zdCBNQVBfU1RZTEUgPSB7XG4gIGNvbnRhaW5lcjoge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgaGVpZ2h0OiAnMTAwJSdcbiAgfSxcbiAgdG9wOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAnMHB4JyxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBoZWlnaHQ6ICcxMDAlJ1xuICB9XG59O1xuXG5jb25zdCBNQVBCT1hHTF9TVFlMRV9VUERBVEUgPSAnc3R5bGUubG9hZCc7XG5jb25zdCBNQVBCT1hHTF9SRU5ERVIgPSAncmVuZGVyJztcbmNvbnN0IFRSQU5TSVRJT05fRFVSQVRJT04gPSAwO1xuXG5leHBvcnQgY29uc3QgQXR0cmlidXRpb24gPSAoKSA9PiAoXG4gIDxTdHlsZWRBdHRyYnV0aW9uPlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYXR0cml0aW9uLWxvZ29cIj5cbiAgICAgIEJhc2VtYXAgYnk6XG4gICAgICA8YVxuICAgICAgICBjbGFzc05hbWU9XCJtYXBib3hnbC1jdHJsLWxvZ29cIlxuICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIk1hcGJveCBsb2dvXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJhdHRyaXRpb24tbGlua1wiPlxuICAgICAgPGEgaHJlZj1cImh0dHBzOi8va2VwbGVyLmdsL3BvbGljeS9cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgIMKpIGtlcGxlci5nbCB8eycgJ31cbiAgICAgIDwvYT5cbiAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2Fib3V0L21hcHMvXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxuICAgICAgICDCqSBNYXBib3ggfHsnICd9XG4gICAgICA8L2E+XG4gICAgICA8YSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgIMKpIE9wZW5TdHJlZXRNYXAgfHsnICd9XG4gICAgICA8L2E+XG4gICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9tYXAtZmVlZGJhY2svXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxuICAgICAgICA8c3Ryb25nPkltcHJvdmUgdGhpcyBtYXA8L3N0cm9uZz5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9TdHlsZWRBdHRyYnV0aW9uPlxuKTtcblxuTWFwQ29udGFpbmVyRmFjdG9yeS5kZXBzID0gW01hcFBvcG92ZXJGYWN0b3J5LCBNYXBDb250cm9sRmFjdG9yeSwgRWRpdG9yRmFjdG9yeV07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1hcENvbnRhaW5lckZhY3RvcnkoTWFwUG9wb3ZlciwgTWFwQ29udHJvbCwgRWRpdG9yKSB7XG4gIGNsYXNzIE1hcENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIC8vIHJlcXVpcmVkXG4gICAgICBkYXRhc2V0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIGludGVyYWN0aW9uQ29uZmlnOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBsYXllckJsZW5kaW5nOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBsYXllck9yZGVyOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KS5pc1JlcXVpcmVkLFxuICAgICAgbGF5ZXJEYXRhOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KS5pc1JlcXVpcmVkLFxuICAgICAgbGF5ZXJzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KS5pc1JlcXVpcmVkLFxuICAgICAgZmlsdGVyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcbiAgICAgIG1hcFN0YXRlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBDb250cm9sczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgbWFwU3R5bGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBtYXBib3hBcGlVcmw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB2aXNTdGF0ZUFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1hcFN0YXRlQWN0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgdWlTdGF0ZUFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcblxuICAgICAgLy8gb3B0aW9uYWxcbiAgICAgIHByaW1hcnk6IFByb3BUeXBlcy5ib29sLCAvLyBwcmltYXJ5IG9uZSB3aWxsIGJlIHJlcG9ydGluZyBpdHMgc2l6ZSB0byBhcHBTdGF0ZVxuICAgICAgcmVhZE9ubHk6IFByb3BUeXBlcy5ib29sLFxuICAgICAgaXNFeHBvcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgY2xpY2tlZDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIGhvdmVySW5mbzogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIG1hcExheWVyczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIG9uTWFwVG9nZ2xlTGF5ZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25NYXBTdHlsZUxvYWRlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbk1hcFJlbmRlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBnZXRNYXBib3hSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBwb3B1cFNldHRpbmdzOiBQcm9wVHlwZXMub2JqZWN0XG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBNYXBDb21wb25lbnQ6IE1hcGJveEdMTWFwLFxuICAgICAgZGVja0dsUHJvcHM6IHt9LFxuICAgICAgaW5kZXg6IDAsXG4gICAgICBwcmltYXJ5OiB0cnVlXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAgIHRoaXMucHJldmlvdXNMYXllcnMgPSB7XG4gICAgICAgIC8vIFtsYXllcnMuaWRdOiBtYXBib3hMYXllckNvbmZpZ1xuICAgICAgfTtcblxuICAgICAgdGhpcy5fZGVjayA9IG51bGw7XG4gICAgICB0aGlzLl9yZWYgPSBjcmVhdGVSZWYoKTtcblxuICAgICAgLy8gUmVuZGVyIGxpbWl0aW5nIG1lY2hhbmlzbVxuICAgICAgdGhpcy5faGFzUmVuZGVyZWQgPSBjcmVhdGVSZWYoKTtcbiAgICAgIHRoaXMuX21vdXNlUG9zaXRpb24gPSBjcmVhdGVSZWYoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIG9ic2VydmVEaW1lbnNpb25zKHRoaXMuX3JlZi5jdXJyZW50LCB0aGlzLl9oYW5kbGVSZXNpemUpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IGNvbnRleHRMb3N0ID0gdGhpcy5zdGF0ZT8uY29udGV4dExvc3Q7XG5cbiAgICAgIGlmIChjb250ZXh0TG9zdCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGlkLXVwZGF0ZS1zZXQtc3RhdGVcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7Y29udGV4dExvc3Q6IGZhbHNlfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAvLyB1bmJpbmQgbWFwYm94Z2wgZXZlbnQgbGlzdGVuZXJcbiAgICAgIGlmICh0aGlzLl9tYXApIHtcbiAgICAgICAgdGhpcy5fbWFwLm9mZihNQVBCT1hHTF9TVFlMRV9VUERBVEUpO1xuICAgICAgICB0aGlzLl9tYXAub2ZmKE1BUEJPWEdMX1JFTkRFUik7XG4gICAgICB9XG4gICAgICB1bm9ic2VydmVEaW1lbnNpb25zKHRoaXMuX3JlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICBfaGFuZGxlUmVzaXplID0gZGltZW5zaW9ucyA9PiB7XG4gICAgICBjb25zdCB7cHJpbWFyeSwgaXNFeHBvcnR9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmIChwcmltYXJ5KSB7XG4gICAgICAgIGNvbnN0IHttYXBTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKCFpc0V4cG9ydCAmJiBkaW1lbnNpb25zICYmIGRpbWVuc2lvbnMud2lkdGggPiAwICYmIGRpbWVuc2lvbnMuaGVpZ2h0ID4gMCkge1xuICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucy51cGRhdGVNYXAoZGltZW5zaW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbGF5ZXJzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYXllcnM7XG4gICAgbGF5ZXJEYXRhU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYXllckRhdGE7XG4gICAgbWFwTGF5ZXJzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5tYXBMYXllcnM7XG4gICAgbGF5ZXJPcmRlclNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMubGF5ZXJPcmRlcjtcbiAgICBwb3B1cFNldHRpbmdzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5wb3B1cFNldHRpbmdzO1xuXG4gICAgbGF5ZXJzVG9SZW5kZXJTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgdGhpcy5sYXllcnNTZWxlY3RvcixcbiAgICAgIHRoaXMubGF5ZXJEYXRhU2VsZWN0b3IsXG4gICAgICB0aGlzLm1hcExheWVyc1NlbGVjdG9yLFxuICAgICAgdGhpcy5wb3B1cFNldHRpbmdzU2VsZWN0b3IsXG4gICAgICBwcmVwYXJlTGF5ZXJzVG9SZW5kZXJcbiAgICApO1xuICAgIGxheWVyc0ZvckRlY2tTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgdGhpcy5sYXllcnNTZWxlY3RvcixcbiAgICAgIHRoaXMubGF5ZXJEYXRhU2VsZWN0b3IsXG4gICAgICBwcmVwYXJlTGF5ZXJzRm9yRGVja1xuICAgICk7XG4gICAgZmlsdGVyc1NlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZmlsdGVycztcbiAgICBwb2x5Z29uRmlsdGVycyA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuZmlsdGVyc1NlbGVjdG9yLCBmaWx0ZXJzID0+XG4gICAgICBmaWx0ZXJzLmZpbHRlcihmID0+IGYudHlwZSA9PT0gRklMVEVSX1RZUEVTLnBvbHlnb24pXG4gICAgKTtcblxuICAgIG1hcGJveExheWVyc1NlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB0aGlzLmxheWVyc1NlbGVjdG9yLFxuICAgICAgdGhpcy5sYXllckRhdGFTZWxlY3RvcixcbiAgICAgIHRoaXMubGF5ZXJPcmRlclNlbGVjdG9yLFxuICAgICAgdGhpcy5sYXllcnNUb1JlbmRlclNlbGVjdG9yLFxuICAgICAgZ2VuZXJhdGVNYXBib3hMYXllcnNcbiAgICApO1xuXG4gICAgLyogY29tcG9uZW50IHByaXZhdGUgZnVuY3Rpb25zICovXG4gICAgX29uQ2xvc2VNYXBQb3BvdmVyID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMub25MYXllckNsaWNrKG51bGwpO1xuICAgIH07XG5cbiAgICBfb25MYXllclNldERvbWFpbiA9IChpZHgsIGNvbG9yRG9tYWluKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5sYXllckNvbmZpZ0NoYW5nZSh0aGlzLnByb3BzLmxheWVyc1tpZHhdLCB7XG4gICAgICAgIGNvbG9yRG9tYWluXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX2hhbmRsZU1hcFRvZ2dsZUxheWVyID0gbGF5ZXJJZCA9PiB7XG4gICAgICBjb25zdCB7aW5kZXg6IG1hcEluZGV4ID0gMCwgdmlzU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnMudG9nZ2xlTGF5ZXJGb3JNYXAobWFwSW5kZXgsIGxheWVySWQpO1xuICAgIH07XG5cbiAgICBfb25NYXBib3hTdHlsZVVwZGF0ZSA9ICgpID0+IHtcbiAgICAgIC8vIGZvcmNlIHJlZnJlc2ggbWFwYm94Z2wgbGF5ZXJzXG4gICAgICB0aGlzLnByZXZpb3VzTGF5ZXJzID0ge307XG4gICAgICB0aGlzLl91cGRhdGVNYXBib3hMYXllcnMoKTtcblxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLm9uTWFwU3R5bGVMb2FkZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbk1hcFN0eWxlTG9hZGVkKHRoaXMuX21hcCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9zZXRNYXBib3hNYXAgPSBtYXBib3ggPT4ge1xuICAgICAgaWYgKCF0aGlzLl9tYXAgJiYgbWFwYm94KSB7XG4gICAgICAgIHRoaXMuX21hcCA9IG1hcGJveC5nZXRNYXAoKTtcbiAgICAgICAgLy8gaSBub3RpY2VkIGluIGNlcnRhaW4gY29udGV4dCB3ZSBkb24ndCBhY2Nlc3MgdGhlIGFjdHVhbCBtYXAgZWxlbWVudFxuICAgICAgICBpZiAoIXRoaXMuX21hcCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBiaW5kIG1hcGJveGdsIGV2ZW50IGxpc3RlbmVyXG4gICAgICAgIHRoaXMuX21hcC5vbihNQVBCT1hHTF9TVFlMRV9VUERBVEUsIHRoaXMuX29uTWFwYm94U3R5bGVVcGRhdGUpO1xuXG4gICAgICAgIHRoaXMuX21hcC5vbihNQVBCT1hHTF9SRU5ERVIsICgpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMub25NYXBSZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMub25NYXBSZW5kZXIodGhpcy5fbWFwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5wcm9wcy5nZXRNYXBib3hSZWYpIHtcbiAgICAgICAgLy8gVGhlIHBhcmVudCBjb21wb25lbnQgY2FuIGdhaW4gYWNjZXNzIHRvIG91ciBNYXBib3hHbE1hcCBieVxuICAgICAgICAvLyBwcm92aWRpbmcgdGhpcyBjYWxsYmFjay4gTm90ZSB0aGF0ICdtYXBib3gnIHdpbGwgYmUgbnVsbCB3aGVuIHRoZVxuICAgICAgICAvLyByZWYgaXMgdW5zZXQgKGUuZy4gd2hlbiBhIHNwbGl0IG1hcCBpcyBjbG9zZWQpLlxuICAgICAgICB0aGlzLnByb3BzLmdldE1hcGJveFJlZihtYXBib3gsIHRoaXMucHJvcHMuaW5kZXgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfb25EZWNrSW5pdGlhbGl6ZWQoZ2wpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uRGVja0luaXRpYWxpemVkKSB7XG4gICAgICAgIHRoaXMucHJvcHMub25EZWNrSW5pdGlhbGl6ZWQodGhpcy5fZGVjaywgZ2wpO1xuICAgICAgfVxuICAgIH1cblxuICAgIF9vbkJlZm9yZVJlbmRlciA9ICh7Z2x9KSA9PiB7XG4gICAgICBzZXRMYXllckJsZW5kaW5nKGdsLCB0aGlzLnByb3BzLmxheWVyQmxlbmRpbmcpO1xuICAgIH07XG5cbiAgICBfb25EZWNrRXJyb3IgPSAoZXJyb3IsIGxheWVyKSA9PiB7XG4gICAgICBpZiAoZXJyb3I/Lm1lc3NhZ2UgPT09ICdXZWJHTCBjb250ZXh0IGlzIGxvc3QnKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2NvbnRleHRMb3N0OiB0cnVlfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYEFuIGVycm9yIGluIGRlY2suZ2w6ICR7ZXJyb3I/Lm1lc3NhZ2V9IGluICR7bGF5ZXI/LmlkfWA7XG4gICAgICBjb25zdCBub3RpZmljYXRpb25JZCA9IGAke2xheWVyPy5pZH0tJHtlcnJvcj8ubWVzc2FnZX1gO1xuXG4gICAgICAvLyBUaHJvdHRsZSBlcnJvciBub3RpZmljYXRpb25zLCBhcyBSZWFjdCBkb2Vzbid0IGxpa2UgdG9vIG1hbnkgc3RhdGUgY2hhbmdlcyBmcm9tIGhlcmUuXG4gICAgICB0aGlzLl9kZWNrR0xFcnJvcnNFbGFwc2VkID0gdGhpcy5fZGVja0dMRXJyb3JzRWxhcHNlZCB8fCB7fTtcbiAgICAgIGNvbnN0IGxhc3RTaG93biA9IHRoaXMuX2RlY2tHTEVycm9yc0VsYXBzZWRbbm90aWZpY2F0aW9uSWRdO1xuICAgICAgaWYgKCFsYXN0U2hvd24gfHwgbGFzdFNob3duIDwgRGF0ZS5ub3coKSAtIFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FKSB7XG4gICAgICAgIHRoaXMuX2RlY2tHTEVycm9yc0VsYXBzZWRbbm90aWZpY2F0aW9uSWRdID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBDcmVhdGUgbmV3IGVycm9yIG5vdGlmaWNhdGlvbiBvciB1cGRhdGUgZXhpc3Rpbmcgb25lIHdpdGggc2FtZSBpZC5cbiAgICAgICAgLy8gVXBkYXRlIGlzIHJlcXVpcmVkIHRvIHByZXNlcnZlIHRoZSBvcmRlciBvZiBub3RpZmljYXRpb25zIGFzIHRoZXkgcHJvYmFibHkgYXJlIGdvaW5nIHRvIFwianVtcFwiIGJhc2VkIG9uIG9yZGVyIG9mIGVycm9ycy5cbiAgICAgICAgY29uc3Qge3VpU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIHVpU3RhdGVBY3Rpb25zLmFkZE5vdGlmaWNhdGlvbihcbiAgICAgICAgICBlcnJvck5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICBpZDogbm90aWZpY2F0aW9uSWRcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvKiBjb21wb25lbnQgcmVuZGVyIGZ1bmN0aW9ucyAqL1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICAgIF9yZW5kZXJNYXBQb3BvdmVyKGxheWVyc1RvUmVuZGVyKSB7XG4gICAgICAvLyBPdmVycmlkZW4gaW4gQnVpbGRlcjogZmVhdHVyZXMvYnVpbGRlci91aS9LZXBsZXJHbC9NYXBDb250YWluZXIvTWFwQ29udGFpbmVyLnRzeFxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG5cbiAgICBfZ2V0SG92ZXJYWSh2aWV3cG9ydCwgbG5nTGF0KSB7XG4gICAgICBjb25zdCBzY3JlZW5Db29yZCA9ICF2aWV3cG9ydCB8fCAhbG5nTGF0ID8gbnVsbCA6IHZpZXdwb3J0LnByb2plY3QobG5nTGF0KTtcbiAgICAgIHJldHVybiBzY3JlZW5Db29yZCAmJiB7eDogc2NyZWVuQ29vcmRbMF0sIHk6IHNjcmVlbkNvb3JkWzFdfTtcbiAgICB9XG5cbiAgICBfcmVuZGVyRGVja092ZXJsYXkobGF5ZXJzRm9yRGVjaykge1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIGxheWVyRGF0YSxcbiAgICAgICAgbGF5ZXJPcmRlcixcbiAgICAgICAgbGF5ZXJzLFxuICAgICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgIG1hc2tQb2x5Z29uXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIHRyYWNrZXJzLmRyYXdDb3VudD8uaW5jcmVtZW50KCk7XG5cbiAgICAgIC8vIGluaXRpYWxpc2UgbGF5ZXJzIGZyb20gcHJvcHMgaWYgZXhpc3RzXG4gICAgICBsZXQgZGVja0dsTGF5ZXJzID0gdGhpcy5wcm9wcy5kZWNrR2xQcm9wcz8ubGF5ZXJzIHx8IFtdO1xuXG4gICAgICAvLyB3YWl0IHVudGlsIGRhdGEgaXMgcmVhZHkgYmVmb3JlIHJlbmRlciBkYXRhIGxheWVyc1xuICAgICAgaWYgKGxheWVyRGF0YSAmJiBsYXllckRhdGEubGVuZ3RoKSB7XG4gICAgICAgIC8vIGxhc3QgbGF5ZXIgcmVuZGVyIGZpcnN0XG4gICAgICAgIGNvbnN0IGRhdGFMYXllcnMgPSBsYXllck9yZGVyXG4gICAgICAgICAgLnNsaWNlKClcbiAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgLmZpbHRlcihpZHggPT4gbGF5ZXJzRm9yRGVja1tsYXllcnNbaWR4XS5pZF0pXG4gICAgICAgICAgLnJlZHVjZSgob3ZlcmxheXMsIGlkeCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5ZXJDYWxsYmFja3MgPSB7XG4gICAgICAgICAgICAgIG9uU2V0TGF5ZXJEb21haW46IHZhbCA9PiB0aGlzLl9vbkxheWVyU2V0RG9tYWluKGlkeCwgdmFsKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGxheWVyT3ZlcmxheSA9IHJlbmRlckRlY2tHbExheWVyKHRoaXMucHJvcHMsIGxheWVyQ2FsbGJhY2tzLCBpZHgpO1xuICAgICAgICAgICAgcmV0dXJuIG92ZXJsYXlzLmNvbmNhdChsYXllck92ZXJsYXkgfHwgW10pO1xuICAgICAgICAgIH0sIFtdKTtcbiAgICAgICAgZGVja0dsTGF5ZXJzID0gZGVja0dsTGF5ZXJzLmNvbmNhdChkYXRhTGF5ZXJzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucHJvcHMuZGVja0dsUHJvcHM/LmxheWVyc09uVG9wKSB7XG4gICAgICAgIGRlY2tHbExheWVycyA9IGRlY2tHbExheWVycy5jb25jYXQodGhpcy5wcm9wcy5kZWNrR2xQcm9wcy5sYXllcnNPblRvcCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtYXNrUG9seWdvbikge1xuICAgICAgICBkZWNrR2xMYXllcnMucHVzaChcbiAgICAgICAgICBuZXcgU29saWRQb2x5Z29uTGF5ZXIoe1xuICAgICAgICAgICAgaWQ6IE1BU0tfTEFZRVJfSUQsXG4gICAgICAgICAgICBvcGVyYXRpb246IE9QRVJBVElPTi5NQVNLLFxuICAgICAgICAgICAgZGF0YTogW21hc2tQb2x5Z29uXSxcbiAgICAgICAgICAgIGRhdGFDb21wYXJhdG9yOiAoZGF0YSwgb2xkRGF0YSkgPT4gZGF0YVswXSA9PT0gb2xkRGF0YVswXSxcbiAgICAgICAgICAgIGdldFBvbHlnb246IGQgPT4gZCxcbiAgICAgICAgICAgIGdldEZpbGxDb2xvcjogWzI1NSwgMjU1LCAyNTUsIDI1NV1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAobWFwU3R5bGUudmlzaWJsZUxheWVyR3JvdXBzWyczZCBidWlsZGluZyddKSB7XG4gICAgICAgIGRlY2tHbExheWVycy5wdXNoKFxuICAgICAgICAgIG5ldyBUaHJlZURCdWlsZGluZ0xheWVyKHtcbiAgICAgICAgICAgIGlkOiAnX2tlcGxlcmdsXzNkLWJ1aWxkaW5nJyxcbiAgICAgICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICAgICAgdGhyZWVEQnVpbGRpbmdDb2xvcjogbWFwU3R5bGUudGhyZWVEQnVpbGRpbmdDb2xvcixcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7XG4gICAgICAgICAgICAgIGdldEZpbGxDb2xvcjogbWFwU3R5bGUudGhyZWVEQnVpbGRpbmdDb2xvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIExpbWl0IHJlbmRlcnNcbiAgICAgIGNvbnN0IGhhc1JlbmRlcmVkID0gdGhpcy5faGFzUmVuZGVyZWQ7XG4gICAgICBjb25zdCByZXNldEhhc1JlbmRlcmVkID0gKCkgPT4gKGhhc1JlbmRlcmVkLmN1cnJlbnQgPSBmYWxzZSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RGVja0dMXG4gICAgICAgICAgY29udHJvbGxlcj17dHJ1ZX1cbiAgICAgICAgICB7Li4udGhpcy5wcm9wcy5kZWNrR2xQcm9wc31cbiAgICAgICAgICB2aWV3U3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgIG9uVmlld1N0YXRlQ2hhbmdlPXsoe3ZpZXdTdGF0ZX0pID0+IHtcbiAgICAgICAgICAgIC8vIExpbWl0IHVwZGF0ZXMgKHByZXZlbnRzIGZyZWV6ZXMgd2hlbiBkZXYgdG9vbHMgb3BlbilcbiAgICAgICAgICAgIGlmICghaGFzUmVuZGVyZWQuY3VycmVudCkge1xuICAgICAgICAgICAgICBoYXNSZW5kZXJlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5fb25WaWV3cG9ydENoYW5nZSh2aWV3U3RhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJkZWZhdWx0LWRlY2tnbC1vdmVybGF5XCJcbiAgICAgICAgICBsYXllcnM9e2RlY2tHbExheWVyc31cbiAgICAgICAgICBvbkJlZm9yZVJlbmRlcj17b3B0cyA9PiB7XG4gICAgICAgICAgICByZXNldEhhc1JlbmRlcmVkKCk7XG4gICAgICAgICAgICB0aGlzLl9vbkJlZm9yZVJlbmRlcihvcHRzKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uSG92ZXI9e3Zpc1N0YXRlQWN0aW9ucy5vbkxheWVySG92ZXJ9XG4gICAgICAgICAgb25DbGljaz17dmlzU3RhdGVBY3Rpb25zLm9uTGF5ZXJDbGlja31cbiAgICAgICAgICBvbkVycm9yPXt0aGlzLl9vbkRlY2tFcnJvcn1cbiAgICAgICAgICByZWY9e2NvbXAgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbXAgJiYgY29tcC5kZWNrICYmIGNvbXAuZGVjayAhPT0gdGhpcy5fZGVjaykge1xuICAgICAgICAgICAgICB0aGlzLl9kZWNrID0gY29tcC5kZWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25XZWJHTEluaXRpYWxpemVkPXtnbCA9PiB0aGlzLl9vbkRlY2tJbml0aWFsaXplZChnbCl9XG4gICAgICAgICAgbGF5ZXJGaWx0ZXI9eyh7bGF5ZXIsIHZpZXdwb3J0fSkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBpc05hTihsYXllci5wcm9wcy52aXNpYmlsaXR5Qnlab29tPy5taW4pIHx8XG4gICAgICAgICAgICAgIGlzTmFOKGxheWVyLnByb3BzLnZpc2liaWxpdHlCeVpvb20/Lm1heClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRab29tUmFuZ2UgPSBNYXRoLnJvdW5kKG1hcFN0YXRlLnpvb20pO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICBsYXllci5wcm9wcy52aXNpYmlsaXR5Qnlab29tLm1pbiA8PSBjdXJyZW50Wm9vbVJhbmdlICYmXG4gICAgICAgICAgICAgIGxheWVyLnByb3BzLnZpc2liaWxpdHlCeVpvb20ubWF4ID49IGN1cnJlbnRab29tUmFuZ2VcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgX3VwZGF0ZU1hcGJveExheWVycygpIHtcbiAgICAgIGNvbnN0IG1hcGJveExheWVycyA9IHRoaXMubWFwYm94TGF5ZXJzU2VsZWN0b3IodGhpcy5wcm9wcyk7XG4gICAgICBpZiAoIU9iamVjdC5rZXlzKG1hcGJveExheWVycykubGVuZ3RoICYmICFPYmplY3Qua2V5cyh0aGlzLnByZXZpb3VzTGF5ZXJzKS5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVNYXBib3hMYXllcnModGhpcy5fbWFwLCBtYXBib3hMYXllcnMsIHRoaXMucHJldmlvdXNMYXllcnMpO1xuXG4gICAgICB0aGlzLnByZXZpb3VzTGF5ZXJzID0gbWFwYm94TGF5ZXJzO1xuICAgIH1cblxuICAgIF9yZW5kZXJNYXBib3hPdmVybGF5cygpIHtcbiAgICAgIGlmICh0aGlzLl9tYXAgJiYgdGhpcy5fbWFwLmlzU3R5bGVMb2FkZWQoKSkge1xuICAgICAgICB0aGlzLl91cGRhdGVNYXBib3hMYXllcnMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfb25WaWV3cG9ydENoYW5nZSA9IHZpZXdTdGF0ZSA9PiB7XG4gICAgICB0cmFja2Vycy52aWV3cG9ydENoYW5nZUNvdW50Py5pbmNyZW1lbnQoKTtcbiAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0LCAuLi5yZXN0Vmlld1N0YXRlfSA9IHZpZXdTdGF0ZTtcbiAgICAgIGNvbnN0IHtwcmltYXJ5LCBpc0V4cG9ydH0gPSB0aGlzLnByb3BzO1xuICAgICAgLy8gcmVhY3QtbWFwLWdsIHNlbmRzIDAsMCBkaW1lbnNpb25zIGR1cmluZyBpbml0aWFsaXphdGlvblxuICAgICAgLy8gYWZ0ZXIgd2UgaGF2ZSByZWNlaXZlZCBwcm9wZXIgZGltZW5zaW9ucyBmcm9tIG9ic2VydmVEaW1lbnNpb25zXG4gICAgICBjb25zdCBuZXh0ID0ge1xuICAgICAgICAuLi4od2lkdGggPiAwICYmIGhlaWdodCA+IDAgPyB2aWV3U3RhdGUgOiByZXN0Vmlld1N0YXRlKSxcbiAgICAgICAgLy8gZW5hYmxpbmcgdHJhbnNpdGlvbiBpbiB0d28gbWFwcyBtYXkgbGVhZCB0byBlbmRsZXNzIHVwZGF0ZSBsb29wc1xuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb246IHByaW1hcnkgPyBUUkFOU0lUSU9OX0RVUkFUSU9OIDogMFxuICAgICAgfTtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5vblZpZXdTdGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aGlzLnByb3BzLm9uVmlld1N0YXRlQ2hhbmdlKG5leHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRXhwb3J0KSB7XG4gICAgICAgIHRoaXMucHJvcHMubWFwU3RhdGVBY3Rpb25zLnVwZGF0ZU1hcChuZXh0KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3RvZ2dsZU1hcENvbnRyb2wgPSBwYW5lbElkID0+IHtcbiAgICAgIGNvbnN0IHtpbmRleCwgdWlTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcblxuICAgICAgdWlTdGF0ZUFjdGlvbnMudG9nZ2xlTWFwQ29udHJvbChwYW5lbElkLCBpbmRleCk7XG4gICAgfTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbiAgICBfcmVuZGVyTWFwKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlQWN0aW9ucyxcbiAgICAgICAgbGF5ZXJzLFxuICAgICAgICBNYXBDb21wb25lbnQsXG4gICAgICAgIGRhdGFzZXRzLFxuICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICBtYXBDb250cm9scyxcbiAgICAgICAgaXNFeHBvcnQsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgICAgaW50ZXJhY3Rpb25Db25maWcsXG4gICAgICAgIGVkaXRvcixcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIHByaW1hcnlcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBjb25zdCBsYXllcnNUb1JlbmRlciA9IHRoaXMubGF5ZXJzVG9SZW5kZXJTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IGxheWVyc0ZvckRlY2sgPSB0aGlzLmxheWVyc0ZvckRlY2tTZWxlY3Rvcih0aGlzLnByb3BzKTtcblxuICAgICAgY29uc3QgbWFwUHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcFN0YXRlLFxuICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlLFxuICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICB0cmFuc2Zvcm1SZXF1ZXN0XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBpc0VkaXQgPSAobWFwQ29udHJvbHMubWFwRHJhdyB8fCB7fSkuYWN0aXZlO1xuXG4gICAgICBjb25zdCBoYXNHZW9jb2RlckxheWVyID0gbGF5ZXJzLmZpbmQobCA9PiBsLmlkID09PSBHRU9DT0RFUl9MQVlFUl9JRCk7XG4gICAgICBjb25zdCBpc1NwbGl0ID0gQm9vbGVhbihtYXBTdGF0ZS5pc1NwbGl0KTtcbiAgICAgIGNvbnN0IG1vdXNlUG9zaXRpb24gPSB0aGlzLl9tb3VzZVBvc2l0aW9uO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxNYXBDb250cm9sXG4gICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICBhdmFpbGFibGVMb2NhbGVzPXtPYmplY3Qua2V5cyhMT0NBTEVfQ09ERVMpfVxuICAgICAgICAgICAgZHJhZ1JvdGF0ZT17bWFwU3RhdGUuZHJhZ1JvdGF0ZX1cbiAgICAgICAgICAgIGlzU3BsaXQ9e2lzU3BsaXR9XG4gICAgICAgICAgICBwcmltYXJ5PXtwcmltYXJ5fVxuICAgICAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgICAgICBsYXllcnNUb1JlbmRlcj17bGF5ZXJzVG9SZW5kZXJ9XG4gICAgICAgICAgICBtYXBJbmRleD17aW5kZXh9XG4gICAgICAgICAgICBtYXBDb250cm9scz17bWFwQ29udHJvbHN9XG4gICAgICAgICAgICByZWFkT25seT17dGhpcy5wcm9wcy5yZWFkT25seX1cbiAgICAgICAgICAgIHNjYWxlPXttYXBTdGF0ZS5zY2FsZSB8fCAxfVxuICAgICAgICAgICAgdG9wPXtpbnRlcmFjdGlvbkNvbmZpZy5nZW9jb2RlciAmJiBpbnRlcmFjdGlvbkNvbmZpZy5nZW9jb2Rlci5lbmFibGVkID8gNTIgOiAwfVxuICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICBsb2NhbGU9e2xvY2FsZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlUGVyc3BlY3RpdmU9e21hcFN0YXRlQWN0aW9ucy50b2dnbGVQZXJzcGVjdGl2ZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlU3BsaXRNYXA9e21hcFN0YXRlQWN0aW9ucy50b2dnbGVTcGxpdE1hcH1cbiAgICAgICAgICAgIG9uTWFwVG9nZ2xlTGF5ZXI9e3RoaXMuX2hhbmRsZU1hcFRvZ2dsZUxheWVyfVxuICAgICAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sPXt0aGlzLl90b2dnbGVNYXBDb250cm9sfVxuICAgICAgICAgICAgb25TZXRFZGl0b3JNb2RlPXt2aXNTdGF0ZUFjdGlvbnMuc2V0RWRpdG9yTW9kZX1cbiAgICAgICAgICAgIG9uU2V0TG9jYWxlPXt1aVN0YXRlQWN0aW9ucy5zZXRMb2NhbGV9XG4gICAgICAgICAgICBvblRvZ2dsZUVkaXRvclZpc2liaWxpdHk9e3Zpc1N0YXRlQWN0aW9ucy50b2dnbGVFZGl0b3JWaXNpYmlsaXR5fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPE1hcENvbXBvbmVudFxuICAgICAgICAgICAgey4uLm1hcFByb3BzfVxuICAgICAgICAgICAga2V5PVwiYm90dG9tXCJcbiAgICAgICAgICAgIHJlZj17dGhpcy5fc2V0TWFwYm94TWFwfVxuICAgICAgICAgICAgbWFwU3R5bGU9e21hcFN0eWxlLmJvdHRvbU1hcFN0eWxlfVxuICAgICAgICAgICAgZ2V0Q3Vyc29yPXt0aGlzLnByb3BzLmhvdmVySW5mbyA/ICgpID0+ICdwb2ludGVyJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIG9uTW91c2VNb3ZlPXtldnQgPT4ge1xuICAgICAgICAgICAgICAvLyBTZW5kaW5nIG1vdXNlIG1vdmUgdXBkYXRlcyB2aWEgUmVkdXggaXMgZXhwZW5zaXZlLiBTdG9yZVxuICAgICAgICAgICAgICAvLyBsb2NhbGx5IGFuZCByZWx5IG9uIGRlY2suZ2wgdG8gZHJpdmUgcmVuZGVyIHVwZGF0ZXNcbiAgICAgICAgICAgICAgLy8gU2VlIEJ1aWxkZXI6IGZlYXR1cmVzL2J1aWxkZXIvdWkvS2VwbGVyR2wvTWFwQ29udGFpbmVyL01hcENvbnRhaW5lci50c3hcbiAgICAgICAgICAgICAgbW91c2VQb3NpdGlvbi5jdXJyZW50ID0ge21vdXNlUG9zaXRpb246IGV2dC5wb2ludH07XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtQRVJGX0RFQlVHICYmIHJlbmRlclBlcmZvcm1hbmNlU3RhdHMoKX1cbiAgICAgICAgICAgIHt0aGlzLl9yZW5kZXJEZWNrT3ZlcmxheShsYXllcnNGb3JEZWNrKX1cbiAgICAgICAgICAgIHt0aGlzLl9yZW5kZXJNYXBib3hPdmVybGF5cygpfVxuICAgICAgICAgICAgPEVkaXRvclxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgIGZpbHRlcnM9e3RoaXMucG9seWdvbkZpbHRlcnModGhpcy5wcm9wcyl9XG4gICAgICAgICAgICAgIGlzRW5hYmxlZD17aXNFZGl0fVxuICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgbGF5ZXJzVG9SZW5kZXI9e2xheWVyc1RvUmVuZGVyfVxuICAgICAgICAgICAgICBvbkRlbGV0ZUZlYXR1cmU9e3Zpc1N0YXRlQWN0aW9ucy5kZWxldGVGZWF0dXJlfVxuICAgICAgICAgICAgICBvblNlbGVjdD17dmlzU3RhdGVBY3Rpb25zLnNldFNlbGVjdGVkRmVhdHVyZX1cbiAgICAgICAgICAgICAgb25VcGRhdGU9e3Zpc1N0YXRlQWN0aW9ucy5zZXRGZWF0dXJlc31cbiAgICAgICAgICAgICAgb25Ub2dnbGVQb2x5Z29uRmlsdGVyPXt2aXNTdGF0ZUFjdGlvbnMuc2V0UG9seWdvbkZpbHRlckxheWVyfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IGlzRWRpdCA/ICdhbGwnIDogJ25vbmUnLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGVkaXRvci52aXNpYmxlID8gJ2Jsb2NrJyA6ICdub25lJ1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L01hcENvbXBvbmVudD5cbiAgICAgICAgICB7bWFwU3R5bGUudG9wTWFwU3R5bGUgfHwgaGFzR2VvY29kZXJMYXllciA/IChcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e01BUF9TVFlMRS50b3B9PlxuICAgICAgICAgICAgICA8TWFwQ29tcG9uZW50IHsuLi5tYXBQcm9wc30ga2V5PVwidG9wXCIgbWFwU3R5bGU9e21hcFN0eWxlLnRvcE1hcFN0eWxlfT5cbiAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVyRGVja092ZXJsYXkoe1tHRU9DT0RFUl9MQVlFUl9JRF06IHRydWV9KX1cbiAgICAgICAgICAgICAgPC9NYXBDb21wb25lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7dGhpcy5fcmVuZGVyTWFwUG9wb3ZlcihsYXllcnNUb1JlbmRlcil9XG4gICAgICAgICAgeyFpc1NwbGl0IHx8IGluZGV4ID09PSAxID8gPEF0dHJpYnV0aW9uIC8+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHttYXBTdGF0ZSwgbWFwU3R5bGV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGNvbnRleHRMb3N0ID0gdGhpcy5zdGF0ZT8uY29udGV4dExvc3Q7XG5cbiAgICAgIGlmIChjb250ZXh0TG9zdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lciByZWY9e3RoaXMuX3JlZn0gc3R5bGU9e01BUF9TVFlMRS5jb250YWluZXJ9IGdsb2JlPXttYXBTdGF0ZS5nbG9iZX0+XG4gICAgICAgICAge21hcFN0eWxlLmJvdHRvbU1hcFN0eWxlICYmIHRoaXMuX3JlbmRlck1hcCgpfVxuICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgTWFwQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ01hcENvbnRhaW5lcic7XG5cbiAgcmV0dXJuIE1hcENvbnRhaW5lcjtcbn1cbiJdfQ==
689
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21hcC1jb250YWluZXIuanMiXSwibmFtZXMiOlsidHJhY2tlcnMiLCJQRVJGX0RFQlVHIiwid2luZG93IiwibG9jYXRpb24iLCJzZWFyY2giLCJpbmNsdWRlcyIsImRyYXdDb3VudCIsInZpZXdwb3J0Q2hhbmdlQ291bnQiLCJMYXllciIsIlRpbGVMYXllciIsIk1BUF9TVFlMRSIsImNvbnRhaW5lciIsImRpc3BsYXkiLCJwb3NpdGlvbiIsIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwicG9pbnRlckV2ZW50cyIsIk1BUEJPWEdMX1NUWUxFX1VQREFURSIsIk1BUEJPWEdMX1JFTkRFUiIsIlRSQU5TSVRJT05fRFVSQVRJT04iLCJBdHRyaWJ1dGlvbiIsIk1hcENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiTWFwUG9wb3ZlckZhY3RvcnkiLCJNYXBDb250cm9sRmFjdG9yeSIsIkVkaXRvckZhY3RvcnkiLCJNYXBQb3BvdmVyIiwiTWFwQ29udHJvbCIsIkVkaXRvciIsIk1hcENvbnRhaW5lciIsInByb3BzIiwiZGltZW5zaW9ucyIsInByaW1hcnkiLCJpc0V4cG9ydCIsIm1hcFN0YXRlQWN0aW9ucyIsInVwZGF0ZU1hcCIsImxheWVycyIsImxheWVyRGF0YSIsIm1hcExheWVycyIsImxheWVyT3JkZXIiLCJwb3B1cFNldHRpbmdzIiwibGF5ZXJzU2VsZWN0b3IiLCJsYXllckRhdGFTZWxlY3RvciIsIm1hcExheWVyc1NlbGVjdG9yIiwicG9wdXBTZXR0aW5nc1NlbGVjdG9yIiwicHJlcGFyZUxheWVyc1RvUmVuZGVyIiwicHJlcGFyZUxheWVyc0ZvckRlY2siLCJmaWx0ZXJzIiwiZmlsdGVyc1NlbGVjdG9yIiwiZmlsdGVyIiwiZiIsInR5cGUiLCJGSUxURVJfVFlQRVMiLCJwb2x5Z29uIiwibGF5ZXJPcmRlclNlbGVjdG9yIiwibGF5ZXJzVG9SZW5kZXJTZWxlY3RvciIsImdlbmVyYXRlTWFwYm94TGF5ZXJzIiwidmlzU3RhdGVBY3Rpb25zIiwib25MYXllckNsaWNrIiwiaWR4IiwiY29sb3JEb21haW4iLCJsYXllckNvbmZpZ0NoYW5nZSIsImxheWVySWQiLCJpbmRleCIsIm1hcEluZGV4IiwidG9nZ2xlTGF5ZXJGb3JNYXAiLCJwcmV2aW91c0xheWVycyIsIl91cGRhdGVNYXBib3hMYXllcnMiLCJvbk1hcFN0eWxlTG9hZGVkIiwiX21hcCIsIm1hcGJveCIsImdldE1hcCIsIm9uIiwiX29uTWFwYm94U3R5bGVVcGRhdGUiLCJvbk1hcFJlbmRlciIsImdldE1hcGJveFJlZiIsImdsIiwibGF5ZXJCbGVuZGluZyIsImVycm9yIiwibGF5ZXIiLCJtZXNzYWdlIiwic2V0U3RhdGUiLCJjb250ZXh0TG9zdCIsImVycm9yTWVzc2FnZSIsImlkIiwibm90aWZpY2F0aW9uSWQiLCJfZGVja0dMRXJyb3JzRWxhcHNlZCIsImxhc3RTaG93biIsIkRhdGUiLCJub3ciLCJUSFJPVFRMRV9OT1RJRklDQVRJT05fVElNRSIsInVpU3RhdGVBY3Rpb25zIiwiYWRkTm90aWZpY2F0aW9uIiwidmlld1N0YXRlIiwiaW5jcmVtZW50IiwicmVzdFZpZXdTdGF0ZSIsIm5leHQiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJvblZpZXdTdGF0ZUNoYW5nZSIsInBhbmVsSWQiLCJ0b2dnbGVNYXBDb250cm9sIiwiX2RlY2siLCJfcmVmIiwiX2hhc1JlbmRlcmVkIiwiX21vdXNlUG9zaXRpb24iLCJjdXJyZW50IiwiX2hhbmRsZVJlc2l6ZSIsInN0YXRlIiwib2ZmIiwib25EZWNrSW5pdGlhbGl6ZWQiLCJsYXllcnNUb1JlbmRlciIsInZpZXdwb3J0IiwibG5nTGF0Iiwic2NyZWVuQ29vcmQiLCJwcm9qZWN0IiwieCIsInkiLCJsYXllcnNGb3JEZWNrIiwibWFwU3RhdGUiLCJtYXBTdHlsZSIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibWFwYm94QXBpVXJsIiwibWFza1BvbHlnb24iLCJkZWNrR2xMYXllcnMiLCJkZWNrR2xQcm9wcyIsImxlbmd0aCIsImRhdGFMYXllcnMiLCJzbGljZSIsInJldmVyc2UiLCJyZWR1Y2UiLCJvdmVybGF5cyIsImxheWVyQ2FsbGJhY2tzIiwib25TZXRMYXllckRvbWFpbiIsInZhbCIsIl9vbkxheWVyU2V0RG9tYWluIiwibGF5ZXJPdmVybGF5IiwiY29uY2F0IiwibGF5ZXJzT25Ub3AiLCJwdXNoIiwiU29saWRQb2x5Z29uTGF5ZXIiLCJNQVNLX0xBWUVSX0lEIiwib3BlcmF0aW9uIiwiT1BFUkFUSU9OIiwiTUFTSyIsImRhdGEiLCJkYXRhQ29tcGFyYXRvciIsIm9sZERhdGEiLCJnZXRQb2x5Z29uIiwiZCIsImdldEZpbGxDb2xvciIsInZpc2libGVMYXllckdyb3VwcyIsIlRocmVlREJ1aWxkaW5nTGF5ZXIiLCJ0aHJlZURCdWlsZGluZ0NvbG9yIiwidXBkYXRlVHJpZ2dlcnMiLCJoYXNSZW5kZXJlZCIsInJlc2V0SGFzUmVuZGVyZWQiLCJfb25WaWV3cG9ydENoYW5nZSIsIm9wdHMiLCJfb25CZWZvcmVSZW5kZXIiLCJvbkxheWVySG92ZXIiLCJfb25EZWNrRXJyb3IiLCJjb21wIiwiZGVjayIsIl9vbkRlY2tJbml0aWFsaXplZCIsImlzTmFOIiwidmlzaWJpbGl0eUJ5Wm9vbSIsIm1pbiIsIm1heCIsImN1cnJlbnRab29tUmFuZ2UiLCJNYXRoIiwicm91bmQiLCJ6b29tIiwibWFwYm94TGF5ZXJzIiwibWFwYm94TGF5ZXJzU2VsZWN0b3IiLCJPYmplY3QiLCJrZXlzIiwiaXNTdHlsZUxvYWRlZCIsIk1hcENvbXBvbmVudCIsImRhdGFzZXRzIiwibWFwQ29udHJvbHMiLCJsb2NhbGUiLCJpbnRlcmFjdGlvbkNvbmZpZyIsImVkaXRvciIsImxheWVyc0ZvckRlY2tTZWxlY3RvciIsIm1hcFByb3BzIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidHJhbnNmb3JtUmVxdWVzdCIsImlzRWRpdCIsIm1hcERyYXciLCJhY3RpdmUiLCJoYXNHZW9jb2RlckxheWVyIiwiZmluZCIsImwiLCJHRU9DT0RFUl9MQVlFUl9JRCIsImlzU3BsaXQiLCJCb29sZWFuIiwibW91c2VQb3NpdGlvbiIsIkxPQ0FMRV9DT0RFUyIsImRyYWdSb3RhdGUiLCJyZWFkT25seSIsInNjYWxlIiwiZ2VvY29kZXIiLCJlbmFibGVkIiwidG9nZ2xlUGVyc3BlY3RpdmUiLCJ0b2dnbGVTcGxpdE1hcCIsIl9oYW5kbGVNYXBUb2dnbGVMYXllciIsIl90b2dnbGVNYXBDb250cm9sIiwic2V0RWRpdG9yTW9kZSIsInNldExvY2FsZSIsInRvZ2dsZUVkaXRvclZpc2liaWxpdHkiLCJfc2V0TWFwYm94TWFwIiwiYm90dG9tTWFwU3R5bGUiLCJob3ZlckluZm8iLCJ1bmRlZmluZWQiLCJldnQiLCJwb2ludCIsIl9yZW5kZXJEZWNrT3ZlcmxheSIsIl9yZW5kZXJNYXBib3hPdmVybGF5cyIsInBvbHlnb25GaWx0ZXJzIiwiZGVsZXRlRmVhdHVyZSIsInNldFNlbGVjdGVkRmVhdHVyZSIsInNldEZlYXR1cmVzIiwic2V0UG9seWdvbkZpbHRlckxheWVyIiwidmlzaWJsZSIsInRvcE1hcFN0eWxlIiwiX3JlbmRlck1hcFBvcG92ZXIiLCJnbG9iZSIsIl9yZW5kZXJNYXAiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwic3RyaW5nIiwiYXJyYXlPZiIsImFueSIsImJvb2wiLCJjbGlja2VkIiwib25NYXBUb2dnbGVMYXllciIsImZ1bmMiLCJudW1iZXIiLCJNYXBib3hHTE1hcCIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBT0E7O0FBQ0E7O0FBR0E7Ozs7Ozs7Ozs7OztBQUNBLElBQU1BLFFBQVEsR0FBRyxFQUFqQjtBQUNBLElBQU1DLFVBQVUsY0FBR0MsTUFBSCxnRUFBRyxRQUFRQyxRQUFYLDhFQUFHLGlCQUFrQkMsTUFBckIsMERBQUcsc0JBQTBCQyxRQUExQixDQUFtQyxZQUFuQyxDQUFuQjs7QUFDQSxJQUFJSixVQUFKLEVBQWdCO0FBQ2RELEVBQUFBLFFBQVEsQ0FBQ00sU0FBVCxHQUFxQixnQ0FBYyxPQUFkLENBQXJCO0FBQ0FOLEVBQUFBLFFBQVEsQ0FBQ08sbUJBQVQsR0FBK0IsZ0NBQWMsa0JBQWQsQ0FBL0I7QUFDQSw2Q0FBeUIsZUFBekIsRUFBMEMsQ0FBQ0MsV0FBRCxFQUFRQyxvQkFBUixDQUExQztBQUNEO0FBRUQ7OztBQUNBLElBQU1DLFNBQVMsR0FBRztBQUNoQkMsRUFBQUEsU0FBUyxFQUFFO0FBQ1RDLElBQUFBLE9BQU8sRUFBRSxjQURBO0FBRVRDLElBQUFBLFFBQVEsRUFBRSxVQUZEO0FBR1RDLElBQUFBLEtBQUssRUFBRSxNQUhFO0FBSVRDLElBQUFBLE1BQU0sRUFBRTtBQUpDLEdBREs7QUFPaEJDLEVBQUFBLEdBQUcsRUFBRTtBQUNISCxJQUFBQSxRQUFRLEVBQUUsVUFEUDtBQUVIRyxJQUFBQSxHQUFHLEVBQUUsS0FGRjtBQUdIQyxJQUFBQSxhQUFhLEVBQUUsTUFIWjtBQUlISCxJQUFBQSxLQUFLLEVBQUUsTUFKSjtBQUtIQyxJQUFBQSxNQUFNLEVBQUU7QUFMTDtBQVBXLENBQWxCO0FBZ0JBLElBQU1HLHFCQUFxQixHQUFHLFlBQTlCO0FBQ0EsSUFBTUMsZUFBZSxHQUFHLFFBQXhCO0FBQ0EsSUFBTUMsbUJBQW1CLEdBQUcsQ0FBNUI7O0FBRU8sSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQWM7QUFBQSxzQkFDekIsZ0NBQUMsa0NBQUQscUJBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGlDQUVFO0FBQ0UsSUFBQSxTQUFTLEVBQUMsb0JBRFo7QUFFRSxJQUFBLE1BQU0sRUFBQyxRQUZUO0FBR0UsSUFBQSxHQUFHLEVBQUMscUJBSE47QUFJRSxJQUFBLElBQUksRUFBQyx5QkFKUDtBQUtFLGtCQUFXO0FBTGIsSUFGRixDQURGLGVBV0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFO0FBQUcsSUFBQSxJQUFJLEVBQUMsMkJBQVI7QUFBb0MsSUFBQSxNQUFNLEVBQUMsUUFBM0M7QUFBb0QsSUFBQSxHQUFHLEVBQUM7QUFBeEQseUJBQ2dCLEdBRGhCLENBREYsZUFJRTtBQUFHLElBQUEsSUFBSSxFQUFDLG9DQUFSO0FBQTZDLElBQUEsTUFBTSxFQUFDLFFBQXBEO0FBQTZELElBQUEsR0FBRyxFQUFDO0FBQWpFLHNCQUNhLEdBRGIsQ0FKRixlQU9FO0FBQUcsSUFBQSxJQUFJLEVBQUMsd0NBQVI7QUFBaUQsSUFBQSxNQUFNLEVBQUMsUUFBeEQ7QUFBaUUsSUFBQSxHQUFHLEVBQUM7QUFBckUsNkJBQ29CLEdBRHBCLENBUEYsZUFVRTtBQUFHLElBQUEsSUFBSSxFQUFDLHNDQUFSO0FBQStDLElBQUEsTUFBTSxFQUFDLFFBQXREO0FBQStELElBQUEsR0FBRyxFQUFDO0FBQW5FLGtCQUNFLG1FQURGLENBVkYsQ0FYRixDQUR5QjtBQUFBLENBQXBCOzs7QUE2QlBDLG1CQUFtQixDQUFDQyxJQUFwQixHQUEyQixDQUFDQyxzQkFBRCxFQUFvQkMsc0JBQXBCLEVBQXVDQyxrQkFBdkMsQ0FBM0I7O0FBRWUsU0FBU0osbUJBQVQsQ0FBNkJLLFVBQTdCLEVBQXlDQyxVQUF6QyxFQUFxREMsTUFBckQsRUFBNkQ7QUFBQSxNQUNwRUMsWUFEb0U7QUFBQTs7QUFBQTs7QUEwQ3hFLDBCQUFZQyxNQUFaLEVBQW1CO0FBQUE7O0FBQUE7QUFDakIsZ0NBQU1BLE1BQU47QUFEaUIsd0dBcUNILFVBQUFDLFVBQVUsRUFBSTtBQUFBLDBCQUNBLE1BQUtELEtBREw7QUFBQSxZQUNyQkUsT0FEcUIsZUFDckJBLE9BRHFCO0FBQUEsWUFDWkMsUUFEWSxlQUNaQSxRQURZOztBQUU1QixZQUFJRCxPQUFKLEVBQWE7QUFBQSxjQUNKRSxlQURJLEdBQ2UsTUFBS0osS0FEcEIsQ0FDSkksZUFESTs7QUFFWCxjQUFJLENBQUNELFFBQUQsSUFBYUYsVUFBYixJQUEyQkEsVUFBVSxDQUFDbEIsS0FBWCxHQUFtQixDQUE5QyxJQUFtRGtCLFVBQVUsQ0FBQ2pCLE1BQVgsR0FBb0IsQ0FBM0UsRUFBOEU7QUFDNUVvQixZQUFBQSxlQUFlLENBQUNDLFNBQWhCLENBQTBCSixVQUExQjtBQUNEO0FBQ0Y7QUFDRixPQTdDa0I7QUFBQSx5R0ErQ0YsVUFBQUQsS0FBSztBQUFBLGVBQUlBLEtBQUssQ0FBQ00sTUFBVjtBQUFBLE9BL0NIO0FBQUEsNEdBZ0RDLFVBQUFOLEtBQUs7QUFBQSxlQUFJQSxLQUFLLENBQUNPLFNBQVY7QUFBQSxPQWhETjtBQUFBLDRHQWlEQyxVQUFBUCxLQUFLO0FBQUEsZUFBSUEsS0FBSyxDQUFDUSxTQUFWO0FBQUEsT0FqRE47QUFBQSw2R0FrREUsVUFBQVIsS0FBSztBQUFBLGVBQUlBLEtBQUssQ0FBQ1MsVUFBVjtBQUFBLE9BbERQO0FBQUEsZ0hBbURLLFVBQUFULEtBQUs7QUFBQSxlQUFJQSxLQUFLLENBQUNVLGFBQVY7QUFBQSxPQW5EVjtBQUFBLGlIQXFETSw4QkFDdkIsTUFBS0MsY0FEa0IsRUFFdkIsTUFBS0MsaUJBRmtCLEVBR3ZCLE1BQUtDLGlCQUhrQixFQUl2QixNQUFLQyxxQkFKa0IsRUFLdkJDLGlDQUx1QixDQXJETjtBQUFBLGdIQTRESyw4QkFDdEIsTUFBS0osY0FEaUIsRUFFdEIsTUFBS0MsaUJBRmlCLEVBR3RCSSxnQ0FIc0IsQ0E1REw7QUFBQSwwR0FpRUQsVUFBQWhCLEtBQUs7QUFBQSxlQUFJQSxLQUFLLENBQUNpQixPQUFWO0FBQUEsT0FqRUo7QUFBQSx5R0FrRUYsOEJBQWUsTUFBS0MsZUFBcEIsRUFBcUMsVUFBQUQsT0FBTztBQUFBLGVBQzNEQSxPQUFPLENBQUNFLE1BQVIsQ0FBZSxVQUFBQyxDQUFDO0FBQUEsaUJBQUlBLENBQUMsQ0FBQ0MsSUFBRixLQUFXQyw4QkFBYUMsT0FBNUI7QUFBQSxTQUFoQixDQUQyRDtBQUFBLE9BQTVDLENBbEVFO0FBQUEsK0dBc0VJLDhCQUNyQixNQUFLWixjQURnQixFQUVyQixNQUFLQyxpQkFGZ0IsRUFHckIsTUFBS1ksa0JBSGdCLEVBSXJCLE1BQUtDLHNCQUpnQixFQUtyQkMsaUNBTHFCLENBdEVKO0FBQUEsNkdBK0VFLFlBQU07QUFDekIsY0FBSzFCLEtBQUwsQ0FBVzJCLGVBQVgsQ0FBMkJDLFlBQTNCLENBQXdDLElBQXhDO0FBQ0QsT0FqRmtCO0FBQUEsNEdBbUZDLFVBQUNDLEdBQUQsRUFBTUMsV0FBTixFQUFzQjtBQUN4QyxjQUFLOUIsS0FBTCxDQUFXMkIsZUFBWCxDQUEyQkksaUJBQTNCLENBQTZDLE1BQUsvQixLQUFMLENBQVdNLE1BQVgsQ0FBa0J1QixHQUFsQixDQUE3QyxFQUFxRTtBQUNuRUMsVUFBQUEsV0FBVyxFQUFYQTtBQURtRSxTQUFyRTtBQUdELE9BdkZrQjtBQUFBLGdIQXlGSyxVQUFBRSxPQUFPLEVBQUk7QUFBQSwyQkFDYyxNQUFLaEMsS0FEbkI7QUFBQSw4Q0FDMUJpQyxLQUQwQjtBQUFBLFlBQ25CQyxRQURtQixtQ0FDUixDQURRO0FBQUEsWUFDTFAsZUFESyxnQkFDTEEsZUFESztBQUVqQ0EsUUFBQUEsZUFBZSxDQUFDUSxpQkFBaEIsQ0FBa0NELFFBQWxDLEVBQTRDRixPQUE1QztBQUNELE9BNUZrQjtBQUFBLCtHQThGSSxZQUFNO0FBQzNCO0FBQ0EsY0FBS0ksY0FBTCxHQUFzQixFQUF0Qjs7QUFDQSxjQUFLQyxtQkFBTDs7QUFFQSxZQUFJLE9BQU8sTUFBS3JDLEtBQUwsQ0FBV3NDLGdCQUFsQixLQUF1QyxVQUEzQyxFQUF1RDtBQUNyRCxnQkFBS3RDLEtBQUwsQ0FBV3NDLGdCQUFYLENBQTRCLE1BQUtDLElBQWpDO0FBQ0Q7QUFDRixPQXRHa0I7QUFBQSx3R0F3R0gsVUFBQUMsTUFBTSxFQUFJO0FBQ3hCLFlBQUksQ0FBQyxNQUFLRCxJQUFOLElBQWNDLE1BQWxCLEVBQTBCO0FBQ3hCLGdCQUFLRCxJQUFMLEdBQVlDLE1BQU0sQ0FBQ0MsTUFBUCxFQUFaLENBRHdCLENBRXhCOztBQUNBLGNBQUksQ0FBQyxNQUFLRixJQUFWLEVBQWdCO0FBQ2Q7QUFDRCxXQUx1QixDQU14Qjs7O0FBQ0EsZ0JBQUtBLElBQUwsQ0FBVUcsRUFBVixDQUFhdkQscUJBQWIsRUFBb0MsTUFBS3dELG9CQUF6Qzs7QUFFQSxnQkFBS0osSUFBTCxDQUFVRyxFQUFWLENBQWF0RCxlQUFiLEVBQThCLFlBQU07QUFDbEMsZ0JBQUksT0FBTyxNQUFLWSxLQUFMLENBQVc0QyxXQUFsQixLQUFrQyxVQUF0QyxFQUFrRDtBQUNoRCxvQkFBSzVDLEtBQUwsQ0FBVzRDLFdBQVgsQ0FBdUIsTUFBS0wsSUFBNUI7QUFDRDtBQUNGLFdBSkQ7QUFLRDs7QUFFRCxZQUFJLE1BQUt2QyxLQUFMLENBQVc2QyxZQUFmLEVBQTZCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBLGdCQUFLN0MsS0FBTCxDQUFXNkMsWUFBWCxDQUF3QkwsTUFBeEIsRUFBZ0MsTUFBS3hDLEtBQUwsQ0FBV2lDLEtBQTNDO0FBQ0Q7QUFDRixPQS9Ia0I7QUFBQSwwR0F1SUQsZ0JBQVU7QUFBQSxZQUFSYSxFQUFRLFFBQVJBLEVBQVE7QUFDMUIsdUNBQWlCQSxFQUFqQixFQUFxQixNQUFLOUMsS0FBTCxDQUFXK0MsYUFBaEM7QUFDRCxPQXpJa0I7QUFBQSx1R0EySUosVUFBQ0MsS0FBRCxFQUFRQyxLQUFSLEVBQWtCO0FBQy9CLFlBQUksQ0FBQUQsS0FBSyxTQUFMLElBQUFBLEtBQUssV0FBTCxZQUFBQSxLQUFLLENBQUVFLE9BQVAsTUFBbUIsdUJBQXZCLEVBQWdEO0FBQzlDLGdCQUFLQyxRQUFMLENBQWM7QUFBQ0MsWUFBQUEsV0FBVyxFQUFFO0FBQWQsV0FBZDs7QUFDQTtBQUNEOztBQUVELGNBQU1KLEtBQU47QUFDQSxZQUFNSyxZQUFZLGtDQUEyQkwsS0FBM0IsYUFBMkJBLEtBQTNCLHVCQUEyQkEsS0FBSyxDQUFFRSxPQUFsQyxpQkFBZ0RELEtBQWhELGFBQWdEQSxLQUFoRCx1QkFBZ0RBLEtBQUssQ0FBRUssRUFBdkQsQ0FBbEI7QUFDQSxZQUFNQyxjQUFjLGFBQU1OLEtBQU4sYUFBTUEsS0FBTix1QkFBTUEsS0FBSyxDQUFFSyxFQUFiLGNBQW1CTixLQUFuQixhQUFtQkEsS0FBbkIsdUJBQW1CQSxLQUFLLENBQUVFLE9BQTFCLENBQXBCLENBUitCLENBVS9COztBQUNBLGNBQUtNLG9CQUFMLEdBQTRCLE1BQUtBLG9CQUFMLElBQTZCLEVBQXpEO0FBQ0EsWUFBTUMsU0FBUyxHQUFHLE1BQUtELG9CQUFMLENBQTBCRCxjQUExQixDQUFsQjs7QUFDQSxZQUFJLENBQUNFLFNBQUQsSUFBY0EsU0FBUyxHQUFHQyxJQUFJLENBQUNDLEdBQUwsS0FBYUMsMkNBQTNDLEVBQXVFO0FBQ3JFLGdCQUFLSixvQkFBTCxDQUEwQkQsY0FBMUIsSUFBNENHLElBQUksQ0FBQ0MsR0FBTCxFQUE1QyxDQURxRSxDQUdyRTtBQUNBOztBQUpxRSxjQUs5REUsY0FMOEQsR0FLNUMsTUFBSzdELEtBTHVDLENBSzlENkQsY0FMOEQ7QUFNckVBLFVBQUFBLGNBQWMsQ0FBQ0MsZUFBZixDQUNFLDJDQUFrQjtBQUNoQlosWUFBQUEsT0FBTyxFQUFFRyxZQURPO0FBRWhCQyxZQUFBQSxFQUFFLEVBQUVDO0FBRlksV0FBbEIsQ0FERjtBQU1EO0FBQ0YsT0FyS2tCO0FBQUEsNEdBd1RDLFVBQUFRLFNBQVMsRUFBSTtBQUFBOztBQUMvQixpQ0FBQTlGLFFBQVEsQ0FBQ08sbUJBQVQsZ0ZBQThCd0YsU0FBOUI7QUFEK0IsWUFFeEJqRixLQUZ3QixHQUVXZ0YsU0FGWCxDQUV4QmhGLEtBRndCO0FBQUEsWUFFakJDLE1BRmlCLEdBRVcrRSxTQUZYLENBRWpCL0UsTUFGaUI7QUFBQSxZQUVOaUYsYUFGTSw2Q0FFV0YsU0FGWDtBQUFBLDJCQUdILE1BQUsvRCxLQUhGO0FBQUEsWUFHeEJFLE9BSHdCLGdCQUd4QkEsT0FId0I7QUFBQSxZQUdmQyxRQUhlLGdCQUdmQSxRQUhlLEVBSS9CO0FBQ0E7O0FBQ0EsWUFBTStELElBQUksbUNBQ0puRixLQUFLLEdBQUcsQ0FBUixJQUFhQyxNQUFNLEdBQUcsQ0FBdEIsR0FBMEIrRSxTQUExQixHQUFzQ0UsYUFEbEM7QUFFUjtBQUNBRSxVQUFBQSxrQkFBa0IsRUFBRWpFLE9BQU8sR0FBR2IsbUJBQUgsR0FBeUI7QUFINUMsVUFBVjs7QUFLQSxZQUFJLE9BQU8sTUFBS1csS0FBTCxDQUFXb0UsaUJBQWxCLEtBQXdDLFVBQTVDLEVBQXdEO0FBQ3RELGdCQUFLcEUsS0FBTCxDQUFXb0UsaUJBQVgsQ0FBNkJGLElBQTdCO0FBQ0Q7O0FBRUQsWUFBSSxDQUFDL0QsUUFBTCxFQUFlO0FBQ2IsZ0JBQUtILEtBQUwsQ0FBV0ksZUFBWCxDQUEyQkMsU0FBM0IsQ0FBcUM2RCxJQUFyQztBQUNEO0FBQ0YsT0ExVWtCO0FBQUEsNEdBNFVDLFVBQUFHLE9BQU8sRUFBSTtBQUFBLDJCQUNHLE1BQUtyRSxLQURSO0FBQUEsWUFDdEJpQyxLQURzQixnQkFDdEJBLEtBRHNCO0FBQUEsWUFDZjRCLGNBRGUsZ0JBQ2ZBLGNBRGU7QUFHN0JBLFFBQUFBLGNBQWMsQ0FBQ1MsZ0JBQWYsQ0FBZ0NELE9BQWhDLEVBQXlDcEMsS0FBekM7QUFDRCxPQWhWa0I7QUFHakIsWUFBS0csY0FBTCxHQUFzQixDQUNwQjtBQURvQixPQUF0QjtBQUlBLFlBQUttQyxLQUFMLEdBQWEsSUFBYjtBQUNBLFlBQUtDLElBQUwsZ0JBQVksdUJBQVosQ0FSaUIsQ0FVakI7O0FBQ0EsWUFBS0MsWUFBTCxnQkFBb0IsdUJBQXBCO0FBQ0EsWUFBS0MsY0FBTCxnQkFBc0IsdUJBQXRCO0FBWmlCO0FBYWxCOztBQXZEdUU7QUFBQTtBQUFBLGFBeUR4RSw2QkFBb0I7QUFDbEIsa0RBQWtCLEtBQUtGLElBQUwsQ0FBVUcsT0FBNUIsRUFBcUMsS0FBS0MsYUFBMUM7QUFDRDtBQTNEdUU7QUFBQTtBQUFBLGFBNkR4RSw4QkFBcUI7QUFBQTs7QUFDbkIsWUFBTXhCLFdBQVcsa0JBQUcsS0FBS3lCLEtBQVIsZ0RBQUcsWUFBWXpCLFdBQWhDOztBQUVBLFlBQUlBLFdBQUosRUFBaUI7QUFDZjtBQUNBLGVBQUtELFFBQUwsQ0FBYztBQUFDQyxZQUFBQSxXQUFXLEVBQUU7QUFBZCxXQUFkO0FBQ0Q7QUFDRjtBQXBFdUU7QUFBQTtBQUFBLGFBc0V4RSxnQ0FBdUI7QUFDckI7QUFDQSxZQUFJLEtBQUtiLElBQVQsRUFBZTtBQUNiLGVBQUtBLElBQUwsQ0FBVXVDLEdBQVYsQ0FBYzNGLHFCQUFkOztBQUNBLGVBQUtvRCxJQUFMLENBQVV1QyxHQUFWLENBQWMxRixlQUFkO0FBQ0Q7O0FBQ0Qsb0RBQW9CLEtBQUtvRixJQUFMLENBQVVHLE9BQTlCO0FBQ0Q7QUE3RXVFO0FBQUE7QUFBQSxhQTJLeEUsNEJBQW1CN0IsRUFBbkIsRUFBdUI7QUFDckIsWUFBSSxLQUFLOUMsS0FBTCxDQUFXK0UsaUJBQWYsRUFBa0M7QUFDaEMsZUFBSy9FLEtBQUwsQ0FBVytFLGlCQUFYLENBQTZCLEtBQUtSLEtBQWxDLEVBQXlDekIsRUFBekM7QUFDRDtBQUNGO0FBL0t1RTtBQUFBO0FBQUE7QUFpTnhFOztBQUVBO0FBQ0EsaUNBQWtCa0MsY0FBbEIsRUFBa0M7QUFDaEM7QUFDQSxlQUFPLElBQVA7QUFDRDtBQUVEOztBQXpOd0U7QUFBQTtBQUFBLGFBMk54RSxxQkFBWUMsUUFBWixFQUFzQkMsTUFBdEIsRUFBOEI7QUFDNUIsWUFBTUMsV0FBVyxHQUFHLENBQUNGLFFBQUQsSUFBYSxDQUFDQyxNQUFkLEdBQXVCLElBQXZCLEdBQThCRCxRQUFRLENBQUNHLE9BQVQsQ0FBaUJGLE1BQWpCLENBQWxEO0FBQ0EsZUFBT0MsV0FBVyxJQUFJO0FBQUNFLFVBQUFBLENBQUMsRUFBRUYsV0FBVyxDQUFDLENBQUQsQ0FBZjtBQUFvQkcsVUFBQUEsQ0FBQyxFQUFFSCxXQUFXLENBQUMsQ0FBRDtBQUFsQyxTQUF0QjtBQUNEO0FBOU51RTtBQUFBO0FBQUEsYUFnT3hFLDRCQUFtQkksYUFBbkIsRUFBa0M7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQSwyQkFXNUIsS0FBS3ZGLEtBWHVCO0FBQUEsWUFFOUJ3RixRQUY4QixnQkFFOUJBLFFBRjhCO0FBQUEsWUFHOUJDLFFBSDhCLGdCQUc5QkEsUUFIOEI7QUFBQSxZQUk5QmxGLFNBSjhCLGdCQUk5QkEsU0FKOEI7QUFBQSxZQUs5QkUsVUFMOEIsZ0JBSzlCQSxVQUw4QjtBQUFBLFlBTTlCSCxNQU44QixnQkFNOUJBLE1BTjhCO0FBQUEsWUFPOUJxQixlQVA4QixnQkFPOUJBLGVBUDhCO0FBQUEsWUFROUIrRCxvQkFSOEIsZ0JBUTlCQSxvQkFSOEI7QUFBQSxZQVM5QkMsWUFUOEIsZ0JBUzlCQSxZQVQ4QjtBQUFBLFlBVTlCQyxXQVY4QixnQkFVOUJBLFdBVjhCO0FBWWhDLCtCQUFBM0gsUUFBUSxDQUFDTSxTQUFULDRFQUFvQnlGLFNBQXBCLEdBWmdDLENBY2hDOztBQUNBLFlBQUk2QixZQUFZLEdBQUcsK0JBQUs3RixLQUFMLENBQVc4RixXQUFYLGdGQUF3QnhGLE1BQXhCLEtBQWtDLEVBQXJELENBZmdDLENBaUJoQzs7QUFDQSxZQUFJQyxTQUFTLElBQUlBLFNBQVMsQ0FBQ3dGLE1BQTNCLEVBQW1DO0FBQ2pDO0FBQ0EsY0FBTUMsVUFBVSxHQUFHdkYsVUFBVSxDQUMxQndGLEtBRGdCLEdBRWhCQyxPQUZnQixHQUdoQi9FLE1BSGdCLENBR1QsVUFBQVUsR0FBRztBQUFBLG1CQUFJMEQsYUFBYSxDQUFDakYsTUFBTSxDQUFDdUIsR0FBRCxDQUFOLENBQVl5QixFQUFiLENBQWpCO0FBQUEsV0FITSxFQUloQjZDLE1BSmdCLENBSVQsVUFBQ0MsUUFBRCxFQUFXdkUsR0FBWCxFQUFtQjtBQUN6QixnQkFBTXdFLGNBQWMsR0FBRztBQUNyQkMsY0FBQUEsZ0JBQWdCLEVBQUUsMEJBQUFDLEdBQUc7QUFBQSx1QkFBSSxNQUFJLENBQUNDLGlCQUFMLENBQXVCM0UsR0FBdkIsRUFBNEIwRSxHQUE1QixDQUFKO0FBQUE7QUFEQSxhQUF2QjtBQUdBLGdCQUFNRSxZQUFZLEdBQUcsbUNBQWtCLE1BQUksQ0FBQ3pHLEtBQXZCLEVBQThCcUcsY0FBOUIsRUFBOEN4RSxHQUE5QyxDQUFyQjtBQUNBLG1CQUFPdUUsUUFBUSxDQUFDTSxNQUFULENBQWdCRCxZQUFZLElBQUksRUFBaEMsQ0FBUDtBQUNELFdBVmdCLEVBVWQsRUFWYyxDQUFuQjtBQVdBWixVQUFBQSxZQUFZLEdBQUdBLFlBQVksQ0FBQ2EsTUFBYixDQUFvQlYsVUFBcEIsQ0FBZjtBQUNEOztBQUVELHNDQUFJLEtBQUtoRyxLQUFMLENBQVc4RixXQUFmLG1EQUFJLHVCQUF3QmEsV0FBNUIsRUFBeUM7QUFDdkNkLFVBQUFBLFlBQVksR0FBR0EsWUFBWSxDQUFDYSxNQUFiLENBQW9CLEtBQUsxRyxLQUFMLENBQVc4RixXQUFYLENBQXVCYSxXQUEzQyxDQUFmO0FBQ0Q7O0FBRUQsWUFBSWYsV0FBSixFQUFpQjtBQUNmQyxVQUFBQSxZQUFZLENBQUNlLElBQWIsQ0FDRSxJQUFJQyx5QkFBSixDQUFzQjtBQUNwQnZELFlBQUFBLEVBQUUsRUFBRXdELDhCQURnQjtBQUVwQkMsWUFBQUEsU0FBUyxFQUFFQyxnQkFBVUMsSUFGRDtBQUdwQkMsWUFBQUEsSUFBSSxFQUFFLENBQUN0QixXQUFELENBSGM7QUFJcEJ1QixZQUFBQSxjQUFjLEVBQUUsd0JBQUNELElBQUQsRUFBT0UsT0FBUDtBQUFBLHFCQUFtQkYsSUFBSSxDQUFDLENBQUQsQ0FBSixLQUFZRSxPQUFPLENBQUMsQ0FBRCxDQUF0QztBQUFBLGFBSkk7QUFLcEJDLFlBQUFBLFVBQVUsRUFBRSxvQkFBQUMsQ0FBQztBQUFBLHFCQUFJQSxDQUFKO0FBQUEsYUFMTztBQU1wQkMsWUFBQUEsWUFBWSxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU4sRUFBVyxHQUFYLEVBQWdCLEdBQWhCO0FBTk0sV0FBdEIsQ0FERjtBQVVEOztBQUVELFlBQUk5QixRQUFRLENBQUMrQixrQkFBVCxDQUE0QixhQUE1QixDQUFKLEVBQWdEO0FBQzlDM0IsVUFBQUEsWUFBWSxDQUFDZSxJQUFiLENBQ0UsSUFBSWEsMEJBQUosQ0FBd0I7QUFDdEJuRSxZQUFBQSxFQUFFLEVBQUUsdUJBRGtCO0FBRXRCb0MsWUFBQUEsb0JBQW9CLEVBQXBCQSxvQkFGc0I7QUFHdEJDLFlBQUFBLFlBQVksRUFBWkEsWUFIc0I7QUFJdEIrQixZQUFBQSxtQkFBbUIsRUFBRWpDLFFBQVEsQ0FBQ2lDLG1CQUpSO0FBS3RCQyxZQUFBQSxjQUFjLEVBQUU7QUFDZEosY0FBQUEsWUFBWSxFQUFFOUIsUUFBUSxDQUFDaUM7QUFEVDtBQUxNLFdBQXhCLENBREY7QUFXRCxTQS9EK0IsQ0FpRWhDOzs7QUFDQSxZQUFNRSxXQUFXLEdBQUcsS0FBS25ELFlBQXpCOztBQUNBLFlBQU1vRCxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CO0FBQUEsaUJBQU9ELFdBQVcsQ0FBQ2pELE9BQVosR0FBc0IsS0FBN0I7QUFBQSxTQUF6Qjs7QUFDQSw0QkFDRSxnQ0FBQyxrQkFBRDtBQUNFLFVBQUEsVUFBVSxFQUFFO0FBRGQsV0FFTSxLQUFLM0UsS0FBTCxDQUFXOEYsV0FGakI7QUFHRSxVQUFBLFNBQVMsRUFBRU4sUUFIYjtBQUlFLFVBQUEsaUJBQWlCLEVBQUUsa0NBQWlCO0FBQUEsZ0JBQWZ6QixTQUFlLFNBQWZBLFNBQWU7O0FBQ2xDO0FBQ0EsZ0JBQUksQ0FBQzZELFdBQVcsQ0FBQ2pELE9BQWpCLEVBQTBCO0FBQ3hCaUQsY0FBQUEsV0FBVyxDQUFDakQsT0FBWixHQUFzQixJQUF0Qjs7QUFDQSxjQUFBLE1BQUksQ0FBQ21ELGlCQUFMLENBQXVCL0QsU0FBdkI7QUFDRDtBQUNGLFdBVkg7QUFXRSxVQUFBLEVBQUUsRUFBQyx3QkFYTDtBQVlFLFVBQUEsTUFBTSxFQUFFOEIsWUFaVjtBQWFFLFVBQUEsY0FBYyxFQUFFLHdCQUFBa0MsSUFBSSxFQUFJO0FBQ3RCRixZQUFBQSxnQkFBZ0I7O0FBQ2hCLFlBQUEsTUFBSSxDQUFDRyxlQUFMLENBQXFCRCxJQUFyQjtBQUNELFdBaEJIO0FBaUJFLFVBQUEsT0FBTyxFQUFFcEcsZUFBZSxDQUFDc0csWUFqQjNCO0FBa0JFLFVBQUEsT0FBTyxFQUFFdEcsZUFBZSxDQUFDQyxZQWxCM0I7QUFtQkUsVUFBQSxPQUFPLEVBQUUsS0FBS3NHLFlBbkJoQjtBQW9CRSxVQUFBLEdBQUcsRUFBRSxhQUFBQyxJQUFJLEVBQUk7QUFDWCxnQkFBSUEsSUFBSSxJQUFJQSxJQUFJLENBQUNDLElBQWIsSUFBcUJELElBQUksQ0FBQ0MsSUFBTCxLQUFjLE1BQUksQ0FBQzdELEtBQTVDLEVBQW1EO0FBQ2pELGNBQUEsTUFBSSxDQUFDQSxLQUFMLEdBQWE0RCxJQUFJLENBQUNDLElBQWxCO0FBQ0Q7QUFDRixXQXhCSDtBQXlCRSxVQUFBLGtCQUFrQixFQUFFLDRCQUFBdEYsRUFBRTtBQUFBLG1CQUFJLE1BQUksQ0FBQ3VGLGtCQUFMLENBQXdCdkYsRUFBeEIsQ0FBSjtBQUFBLFdBekJ4QjtBQTBCRSxVQUFBLFdBQVcsRUFBRSw0QkFBdUI7QUFBQTs7QUFBQSxnQkFBckJHLEtBQXFCLFNBQXJCQSxLQUFxQjtBQUFBLGdCQUFkZ0MsUUFBYyxTQUFkQSxRQUFjOztBQUNsQyxnQkFDRXFELEtBQUssMEJBQUNyRixLQUFLLENBQUNqRCxLQUFOLENBQVl1SSxnQkFBYiwwREFBQyxzQkFBOEJDLEdBQS9CLENBQUwsSUFDQUYsS0FBSywyQkFBQ3JGLEtBQUssQ0FBQ2pELEtBQU4sQ0FBWXVJLGdCQUFiLDJEQUFDLHVCQUE4QkUsR0FBL0IsQ0FGUCxFQUdFO0FBQ0EscUJBQU8sSUFBUDtBQUNEOztBQUNELGdCQUFNQyxnQkFBZ0IsR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdwRCxRQUFRLENBQUNxRCxJQUFwQixDQUF6QjtBQUVBLG1CQUNFNUYsS0FBSyxDQUFDakQsS0FBTixDQUFZdUksZ0JBQVosQ0FBNkJDLEdBQTdCLElBQW9DRSxnQkFBcEMsSUFDQXpGLEtBQUssQ0FBQ2pELEtBQU4sQ0FBWXVJLGdCQUFaLENBQTZCRSxHQUE3QixJQUFvQ0MsZ0JBRnRDO0FBSUQ7QUF2Q0gsV0FERjtBQTJDRDtBQS9VdUU7QUFBQTtBQUFBLGFBaVZ4RSwrQkFBc0I7QUFDcEIsWUFBTUksWUFBWSxHQUFHLEtBQUtDLG9CQUFMLENBQTBCLEtBQUsvSSxLQUEvQixDQUFyQjs7QUFDQSxZQUFJLENBQUNnSixNQUFNLENBQUNDLElBQVAsQ0FBWUgsWUFBWixFQUEwQi9DLE1BQTNCLElBQXFDLENBQUNpRCxNQUFNLENBQUNDLElBQVAsQ0FBWSxLQUFLN0csY0FBakIsRUFBaUMyRCxNQUEzRSxFQUFtRjtBQUNqRjtBQUNEOztBQUVELDZDQUFtQixLQUFLeEQsSUFBeEIsRUFBOEJ1RyxZQUE5QixFQUE0QyxLQUFLMUcsY0FBakQ7QUFFQSxhQUFLQSxjQUFMLEdBQXNCMEcsWUFBdEI7QUFDRDtBQTFWdUU7QUFBQTtBQUFBLGFBNFZ4RSxpQ0FBd0I7QUFDdEIsWUFBSSxLQUFLdkcsSUFBTCxJQUFhLEtBQUtBLElBQUwsQ0FBVTJHLGFBQVYsRUFBakIsRUFBNEM7QUFDMUMsZUFBSzdHLG1CQUFMO0FBQ0Q7QUFDRjtBQWhXdUU7QUFBQTtBQUFBO0FBNFh4RTtBQUNBLDRCQUFhO0FBQUEsMkJBbUJQLEtBQUtyQyxLQW5CRTtBQUFBLFlBRVR3RixRQUZTLGdCQUVUQSxRQUZTO0FBQUEsWUFHVEMsUUFIUyxnQkFHVEEsUUFIUztBQUFBLFlBSVRyRixlQUpTLGdCQUlUQSxlQUpTO0FBQUEsWUFLVEUsTUFMUyxnQkFLVEEsTUFMUztBQUFBLFlBTVQ2SSxZQU5TLGdCQU1UQSxZQU5TO0FBQUEsWUFPVEMsUUFQUyxnQkFPVEEsUUFQUztBQUFBLFlBUVQxRCxvQkFSUyxnQkFRVEEsb0JBUlM7QUFBQSxZQVNUQyxZQVRTLGdCQVNUQSxZQVRTO0FBQUEsWUFVVDBELFdBVlMsZ0JBVVRBLFdBVlM7QUFBQSxZQVdUbEosUUFYUyxnQkFXVEEsUUFYUztBQUFBLFlBWVRtSixNQVpTLGdCQVlUQSxNQVpTO0FBQUEsWUFhVHpGLGNBYlMsZ0JBYVRBLGNBYlM7QUFBQSxZQWNUbEMsZUFkUyxnQkFjVEEsZUFkUztBQUFBLFlBZVQ0SCxpQkFmUyxnQkFlVEEsaUJBZlM7QUFBQSxZQWdCVEMsTUFoQlMsZ0JBZ0JUQSxNQWhCUztBQUFBLFlBaUJUdkgsS0FqQlMsZ0JBaUJUQSxLQWpCUztBQUFBLFlBa0JUL0IsT0FsQlMsZ0JBa0JUQSxPQWxCUztBQXFCWCxZQUFNOEUsY0FBYyxHQUFHLEtBQUt2RCxzQkFBTCxDQUE0QixLQUFLekIsS0FBakMsQ0FBdkI7QUFDQSxZQUFNdUYsYUFBYSxHQUFHLEtBQUtrRSxxQkFBTCxDQUEyQixLQUFLekosS0FBaEMsQ0FBdEI7O0FBRUEsWUFBTTBKLFFBQVEsbUNBQ1RsRSxRQURTO0FBRVp6RyxVQUFBQSxLQUFLLEVBQUUsTUFGSztBQUdaQyxVQUFBQSxNQUFNLEVBQUUsTUFISTtBQUlaMkssVUFBQUEscUJBQXFCLEVBQUUsSUFKWDtBQUtaakUsVUFBQUEsb0JBQW9CLEVBQXBCQSxvQkFMWTtBQU1aQyxVQUFBQSxZQUFZLEVBQVpBLFlBTlk7QUFPWmlFLFVBQUFBLGdCQUFnQixFQUFoQkE7QUFQWSxVQUFkOztBQVVBLFlBQU1DLE1BQU0sR0FBRyxDQUFDUixXQUFXLENBQUNTLE9BQVosSUFBdUIsRUFBeEIsRUFBNEJDLE1BQTNDO0FBRUEsWUFBTUMsZ0JBQWdCLEdBQUcxSixNQUFNLENBQUMySixJQUFQLENBQVksVUFBQUMsQ0FBQztBQUFBLGlCQUFJQSxDQUFDLENBQUM1RyxFQUFGLEtBQVM2RyxrQ0FBYjtBQUFBLFNBQWIsQ0FBekI7QUFDQSxZQUFNQyxPQUFPLEdBQUdDLE9BQU8sQ0FBQzdFLFFBQVEsQ0FBQzRFLE9BQVYsQ0FBdkI7QUFDQSxZQUFNRSxhQUFhLEdBQUcsS0FBSzVGLGNBQTNCO0FBRUEsNEJBQ0UsK0VBQ0UsZ0NBQUMsVUFBRDtBQUNFLFVBQUEsUUFBUSxFQUFFMEUsUUFEWjtBQUVFLFVBQUEsZ0JBQWdCLEVBQUVKLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZc0IscUJBQVosQ0FGcEI7QUFHRSxVQUFBLFVBQVUsRUFBRS9FLFFBQVEsQ0FBQ2dGLFVBSHZCO0FBSUUsVUFBQSxPQUFPLEVBQUVKLE9BSlg7QUFLRSxVQUFBLE9BQU8sRUFBRWxLLE9BTFg7QUFNRSxVQUFBLFFBQVEsRUFBRUMsUUFOWjtBQU9FLFVBQUEsTUFBTSxFQUFFRyxNQVBWO0FBUUUsVUFBQSxjQUFjLEVBQUUwRSxjQVJsQjtBQVNFLFVBQUEsUUFBUSxFQUFFL0MsS0FUWjtBQVVFLFVBQUEsV0FBVyxFQUFFb0gsV0FWZjtBQVdFLFVBQUEsUUFBUSxFQUFFLEtBQUtySixLQUFMLENBQVd5SyxRQVh2QjtBQVlFLFVBQUEsS0FBSyxFQUFFakYsUUFBUSxDQUFDa0YsS0FBVCxJQUFrQixDQVozQjtBQWFFLFVBQUEsR0FBRyxFQUFFbkIsaUJBQWlCLENBQUNvQixRQUFsQixJQUE4QnBCLGlCQUFpQixDQUFDb0IsUUFBbEIsQ0FBMkJDLE9BQXpELEdBQW1FLEVBQW5FLEdBQXdFLENBYi9FO0FBY0UsVUFBQSxNQUFNLEVBQUVwQixNQWRWO0FBZUUsVUFBQSxNQUFNLEVBQUVGLE1BZlY7QUFnQkUsVUFBQSxtQkFBbUIsRUFBRWxKLGVBQWUsQ0FBQ3lLLGlCQWhCdkM7QUFpQkUsVUFBQSxnQkFBZ0IsRUFBRXpLLGVBQWUsQ0FBQzBLLGNBakJwQztBQWtCRSxVQUFBLGdCQUFnQixFQUFFLEtBQUtDLHFCQWxCekI7QUFtQkUsVUFBQSxrQkFBa0IsRUFBRSxLQUFLQyxpQkFuQjNCO0FBb0JFLFVBQUEsZUFBZSxFQUFFckosZUFBZSxDQUFDc0osYUFwQm5DO0FBcUJFLFVBQUEsV0FBVyxFQUFFcEgsY0FBYyxDQUFDcUgsU0FyQjlCO0FBc0JFLFVBQUEsd0JBQXdCLEVBQUV2SixlQUFlLENBQUN3SjtBQXRCNUMsVUFERixlQXlCRSxnQ0FBQyxZQUFELGdDQUNNekIsUUFETjtBQUVFLFVBQUEsR0FBRyxFQUFDLFFBRk47QUFHRSxVQUFBLEdBQUcsRUFBRSxLQUFLMEIsYUFIWjtBQUlFLFVBQUEsUUFBUSxFQUFFM0YsUUFBUSxDQUFDNEYsY0FKckI7QUFLRSxVQUFBLFNBQVMsRUFBRSxLQUFLckwsS0FBTCxDQUFXc0wsU0FBWCxHQUF1QjtBQUFBLG1CQUFNLFNBQU47QUFBQSxXQUF2QixHQUF5Q0MsU0FMdEQ7QUFNRSxVQUFBLFdBQVcsRUFBRSxxQkFBQUMsR0FBRyxFQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBbEIsWUFBQUEsYUFBYSxDQUFDM0YsT0FBZCxHQUF3QjtBQUFDMkYsY0FBQUEsYUFBYSxFQUFFa0IsR0FBRyxDQUFDQztBQUFwQixhQUF4QjtBQUNEO0FBWEgsWUFhR3ZOLFVBQVUsSUFBSSwwQ0FiakIsRUFjRyxLQUFLd04sa0JBQUwsQ0FBd0JuRyxhQUF4QixDQWRILEVBZUcsS0FBS29HLHFCQUFMLEVBZkgsZUFnQkUsZ0NBQUMsTUFBRDtBQUNFLFVBQUEsS0FBSyxFQUFFMUosS0FEVDtBQUVFLFVBQUEsUUFBUSxFQUFFbUgsUUFGWjtBQUdFLFVBQUEsTUFBTSxFQUFFSSxNQUhWO0FBSUUsVUFBQSxPQUFPLEVBQUUsS0FBS29DLGNBQUwsQ0FBb0IsS0FBSzVMLEtBQXpCLENBSlg7QUFLRSxVQUFBLFNBQVMsRUFBRTZKLE1BTGI7QUFNRSxVQUFBLE1BQU0sRUFBRXZKLE1BTlY7QUFPRSxVQUFBLGNBQWMsRUFBRTBFLGNBUGxCO0FBUUUsVUFBQSxlQUFlLEVBQUVyRCxlQUFlLENBQUNrSyxhQVJuQztBQVNFLFVBQUEsUUFBUSxFQUFFbEssZUFBZSxDQUFDbUssa0JBVDVCO0FBVUUsVUFBQSxRQUFRLEVBQUVuSyxlQUFlLENBQUNvSyxXQVY1QjtBQVdFLFVBQUEscUJBQXFCLEVBQUVwSyxlQUFlLENBQUNxSyxxQkFYekM7QUFZRSxVQUFBLEtBQUssRUFBRTtBQUNMOU0sWUFBQUEsYUFBYSxFQUFFMkssTUFBTSxHQUFHLEtBQUgsR0FBVyxNQUQzQjtBQUVML0ssWUFBQUEsUUFBUSxFQUFFLFVBRkw7QUFHTEQsWUFBQUEsT0FBTyxFQUFFMkssTUFBTSxDQUFDeUMsT0FBUCxHQUFpQixPQUFqQixHQUEyQjtBQUgvQjtBQVpULFVBaEJGLENBekJGLEVBNERHeEcsUUFBUSxDQUFDeUcsV0FBVCxJQUF3QmxDLGdCQUF4QixnQkFDQztBQUFLLFVBQUEsS0FBSyxFQUFFckwsU0FBUyxDQUFDTTtBQUF0Qix3QkFDRSxnQ0FBQyxZQUFELGdDQUFrQnlLLFFBQWxCO0FBQTRCLFVBQUEsR0FBRyxFQUFDLEtBQWhDO0FBQXNDLFVBQUEsUUFBUSxFQUFFakUsUUFBUSxDQUFDeUc7QUFBekQsWUFDRyxLQUFLUixrQkFBTCxzQ0FBMEJ2QixrQ0FBMUIsRUFBOEMsSUFBOUMsRUFESCxDQURGLENBREQsR0FNRyxJQWxFTixFQW1FRyxLQUFLZ0MsaUJBQUwsQ0FBdUJuSCxjQUF2QixDQW5FSCxFQW9FRyxDQUFDb0YsT0FBRCxJQUFZbkksS0FBSyxLQUFLLENBQXRCLGdCQUEwQixnQ0FBQyxXQUFELE9BQTFCLEdBQTRDLElBcEUvQyxDQURGO0FBd0VEO0FBN2V1RTtBQUFBO0FBQUEsYUErZXhFLGtCQUFTO0FBQUE7O0FBQUEsMkJBQ3NCLEtBQUtqQyxLQUQzQjtBQUFBLFlBQ0F3RixRQURBLGdCQUNBQSxRQURBO0FBQUEsWUFDVUMsUUFEVixnQkFDVUEsUUFEVjtBQUVQLFlBQU1yQyxXQUFXLG1CQUFHLEtBQUt5QixLQUFSLGlEQUFHLGFBQVl6QixXQUFoQzs7QUFFQSxZQUFJQSxXQUFKLEVBQWlCO0FBQ2YsaUJBQU8sSUFBUDtBQUNEOztBQUVELDRCQUNFLGdDQUFDLG9DQUFEO0FBQW9CLFVBQUEsR0FBRyxFQUFFLEtBQUtvQixJQUE5QjtBQUFvQyxVQUFBLEtBQUssRUFBRTdGLFNBQVMsQ0FBQ0MsU0FBckQ7QUFBZ0UsVUFBQSxLQUFLLEVBQUU0RyxRQUFRLENBQUM0RztBQUFoRixXQUNHM0csUUFBUSxDQUFDNEYsY0FBVCxJQUEyQixLQUFLZ0IsVUFBTCxFQUQ5QixDQURGO0FBS0Q7QUE1ZnVFO0FBQUE7QUFBQSxJQUMvQ0MsZ0JBRCtDOztBQUFBLG1DQUNwRXZNLFlBRG9FLGVBRXJEO0FBQ2pCO0FBQ0FxSixJQUFBQSxRQUFRLEVBQUVtRCxzQkFBVUMsTUFGSDtBQUdqQmpELElBQUFBLGlCQUFpQixFQUFFZ0Qsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBSG5CO0FBSWpCMUosSUFBQUEsYUFBYSxFQUFFd0osc0JBQVVHLE1BQVYsQ0FBaUJELFVBSmY7QUFLakJoTSxJQUFBQSxVQUFVLEVBQUU4TCxzQkFBVUksT0FBVixDQUFrQkosc0JBQVVLLEdBQTVCLEVBQWlDSCxVQUw1QjtBQU1qQmxNLElBQUFBLFNBQVMsRUFBRWdNLHNCQUFVSSxPQUFWLENBQWtCSixzQkFBVUssR0FBNUIsRUFBaUNILFVBTjNCO0FBT2pCbk0sSUFBQUEsTUFBTSxFQUFFaU0sc0JBQVVJLE9BQVYsQ0FBa0JKLHNCQUFVSyxHQUE1QixFQUFpQ0gsVUFQeEI7QUFRakJ4TCxJQUFBQSxPQUFPLEVBQUVzTCxzQkFBVUksT0FBVixDQUFrQkosc0JBQVVLLEdBQTVCLEVBQWlDSCxVQVJ6QjtBQVNqQmpILElBQUFBLFFBQVEsRUFBRStHLHNCQUFVQyxNQUFWLENBQWlCQyxVQVRWO0FBVWpCcEQsSUFBQUEsV0FBVyxFQUFFa0Qsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBVmI7QUFXakJoSCxJQUFBQSxRQUFRLEVBQUU4RyxzQkFBVUMsTUFBVixDQUFpQkMsVUFYVjtBQVlqQi9HLElBQUFBLG9CQUFvQixFQUFFNkcsc0JBQVVHLE1BQVYsQ0FBaUJELFVBWnRCO0FBYWpCOUcsSUFBQUEsWUFBWSxFQUFFNEcsc0JBQVVHLE1BYlA7QUFjakIvSyxJQUFBQSxlQUFlLEVBQUU0SyxzQkFBVUMsTUFBVixDQUFpQkMsVUFkakI7QUFlakJyTSxJQUFBQSxlQUFlLEVBQUVtTSxzQkFBVUMsTUFBVixDQUFpQkMsVUFmakI7QUFnQmpCNUksSUFBQUEsY0FBYyxFQUFFMEksc0JBQVVDLE1BQVYsQ0FBaUJDLFVBaEJoQjtBQWtCakI7QUFDQXZNLElBQUFBLE9BQU8sRUFBRXFNLHNCQUFVTSxJQW5CRjtBQW1CUTtBQUN6QnBDLElBQUFBLFFBQVEsRUFBRThCLHNCQUFVTSxJQXBCSDtBQXFCakIxTSxJQUFBQSxRQUFRLEVBQUVvTSxzQkFBVU0sSUFyQkg7QUFzQmpCQyxJQUFBQSxPQUFPLEVBQUVQLHNCQUFVQyxNQXRCRjtBQXVCakJsQixJQUFBQSxTQUFTLEVBQUVpQixzQkFBVUMsTUF2Qko7QUF3QmpCaE0sSUFBQUEsU0FBUyxFQUFFK0wsc0JBQVVDLE1BeEJKO0FBeUJqQk8sSUFBQUEsZ0JBQWdCLEVBQUVSLHNCQUFVUyxJQXpCWDtBQTBCakIxSyxJQUFBQSxnQkFBZ0IsRUFBRWlLLHNCQUFVUyxJQTFCWDtBQTJCakJwSyxJQUFBQSxXQUFXLEVBQUUySixzQkFBVVMsSUEzQk47QUE0QmpCbkssSUFBQUEsWUFBWSxFQUFFMEosc0JBQVVTLElBNUJQO0FBNkJqQi9LLElBQUFBLEtBQUssRUFBRXNLLHNCQUFVVSxNQTdCQTtBQThCakJ2TSxJQUFBQSxhQUFhLEVBQUU2TCxzQkFBVUM7QUE5QlIsR0FGcUQ7QUFBQSxtQ0FDcEV6TSxZQURvRSxrQkFtQ2xEO0FBQ3BCb0osSUFBQUEsWUFBWSxFQUFFK0Qsc0JBRE07QUFFcEJwSCxJQUFBQSxXQUFXLEVBQUUsRUFGTztBQUdwQjdELElBQUFBLEtBQUssRUFBRSxDQUhhO0FBSXBCL0IsSUFBQUEsT0FBTyxFQUFFO0FBSlcsR0FuQ2tEO0FBK2YxRUgsRUFBQUEsWUFBWSxDQUFDb04sV0FBYixHQUEyQixjQUEzQjtBQUVBLFNBQU9wTixZQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vLyBsaWJyYXJpZXNcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IE1hcGJveEdMTWFwIGZyb20gJ3JlYWN0LW1hcC1nbCc7XG5pbXBvcnQgRGVja0dMIGZyb20gJ0BkZWNrLmdsL3JlYWN0JztcbmltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ3Jlc2VsZWN0JztcbmltcG9ydCB7T1BFUkFUSU9OLCBMYXllcn0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge1NvbGlkUG9seWdvbkxheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtUaWxlTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2dlby1sYXllcnMnO1xuaW1wb3J0IHtlcnJvck5vdGlmaWNhdGlvbn0gZnJvbSAndXRpbHMvbm90aWZpY2F0aW9ucy11dGlscyc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCBNYXBQb3BvdmVyRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL21hcC9tYXAtcG9wb3Zlcic7XG5pbXBvcnQgTWFwQ29udHJvbEZhY3RvcnkgZnJvbSAnY29tcG9uZW50cy9tYXAvbWFwLWNvbnRyb2wnO1xuaW1wb3J0IHtTdHlsZWRNYXBDb250YWluZXIsIFN0eWxlZEF0dHJidXRpb259IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IEVkaXRvckZhY3RvcnkgZnJvbSAnLi9lZGl0b3IvZWRpdG9yJztcblxuLy8gdXRpbHNcbmltcG9ydCB7Z2VuZXJhdGVNYXBib3hMYXllcnMsIHVwZGF0ZU1hcGJveExheWVyc30gZnJvbSAnbGF5ZXJzL21hcGJveC11dGlscyc7XG5pbXBvcnQge3NldExheWVyQmxlbmRpbmd9IGZyb20gJ3V0aWxzL2dsLXV0aWxzJztcbmltcG9ydCB7dHJhbnNmb3JtUmVxdWVzdH0gZnJvbSAndXRpbHMvbWFwLXN0eWxlLXV0aWxzL21hcGJveC11dGlscyc7XG5pbXBvcnQge3JlbmRlckRlY2tHbExheWVyLCBwcmVwYXJlTGF5ZXJzVG9SZW5kZXIsIHByZXBhcmVMYXllcnNGb3JEZWNrfSBmcm9tICd1dGlscy9sYXllci11dGlscyc7XG5cbi8vIGRlZmF1bHQtc2V0dGluZ3NcbmltcG9ydCBUaHJlZURCdWlsZGluZ0xheWVyIGZyb20gJ2RlY2tnbC1sYXllcnMvM2QtYnVpbGRpbmctbGF5ZXIvM2QtYnVpbGRpbmctbGF5ZXInO1xuaW1wb3J0IHtcbiAgRklMVEVSX1RZUEVTLFxuICBHRU9DT0RFUl9MQVlFUl9JRCxcbiAgTUFTS19MQVlFUl9JRCxcbiAgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUVcbn0gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbXBvcnQge29ic2VydmVEaW1lbnNpb25zLCB1bm9ic2VydmVEaW1lbnNpb25zfSBmcm9tICcuLi91dGlscy9vYnNlcnZlLWRpbWVuc2lvbnMnO1xuaW1wb3J0IHtMT0NBTEVfQ09ERVN9IGZyb20gJ2xvY2FsaXphdGlvbi9sb2NhbGVzJztcblxuLy8gUGVyZm9ybWFuY2UgZGVidWdnaW5nXG5pbXBvcnQge2NyZWF0ZVRyYWNrZXIsIGNyZWF0ZUxheWVyVXBkYXRlVHJhY2tlciwgcmVuZGVyUGVyZm9ybWFuY2VTdGF0c30gZnJvbSAnLi9wZXJmb3JtYW5jZSc7XG5jb25zdCB0cmFja2VycyA9IHt9O1xuY29uc3QgUEVSRl9ERUJVRyA9IHdpbmRvdz8ubG9jYXRpb24/LnNlYXJjaD8uaW5jbHVkZXMoJ1BFUkZfREVCVUcnKTtcbmlmIChQRVJGX0RFQlVHKSB7XG4gIHRyYWNrZXJzLmRyYXdDb3VudCA9IGNyZWF0ZVRyYWNrZXIoJ2RyYXdzJyk7XG4gIHRyYWNrZXJzLnZpZXdwb3J0Q2hhbmdlQ291bnQgPSBjcmVhdGVUcmFja2VyKCd2aWV3cG9ydCBjaGFuZ2VzJyk7XG4gIGNyZWF0ZUxheWVyVXBkYXRlVHJhY2tlcignc3RhdGUgdXBkYXRlcycsIFtMYXllciwgVGlsZUxheWVyXSk7XG59XG5cbi8qKiBAdHlwZSB7e1trZXk6IHN0cmluZ106IFJlYWN0LkNTU1Byb3BlcnRpZXN9fSAqL1xuY29uc3QgTUFQX1NUWUxFID0ge1xuICBjb250YWluZXI6IHtcbiAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogJzEwMCUnXG4gIH0sXG4gIHRvcDoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogJzBweCcsXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgaGVpZ2h0OiAnMTAwJSdcbiAgfVxufTtcblxuY29uc3QgTUFQQk9YR0xfU1RZTEVfVVBEQVRFID0gJ3N0eWxlLmxvYWQnO1xuY29uc3QgTUFQQk9YR0xfUkVOREVSID0gJ3JlbmRlcic7XG5jb25zdCBUUkFOU0lUSU9OX0RVUkFUSU9OID0gMDtcblxuZXhwb3J0IGNvbnN0IEF0dHJpYnV0aW9uID0gKCkgPT4gKFxuICA8U3R5bGVkQXR0cmJ1dGlvbj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImF0dHJpdGlvbi1sb2dvXCI+XG4gICAgICBCYXNlbWFwIGJ5OlxuICAgICAgPGFcbiAgICAgICAgY2xhc3NOYW1lPVwibWFwYm94Z2wtY3RybC1sb2dvXCJcbiAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJNYXBib3ggbG9nb1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYXR0cml0aW9uLWxpbmtcIj5cbiAgICAgIDxhIGhyZWY9XCJodHRwczovL2tlcGxlci5nbC9wb2xpY3kvXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxuICAgICAgICDCqSBrZXBsZXIuZ2wgfHsnICd9XG4gICAgICA8L2E+XG4gICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9hYm91dC9tYXBzL1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgwqkgTWFwYm94IHx7JyAnfVxuICAgICAgPC9hPlxuICAgICAgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxuICAgICAgICDCqSBPcGVuU3RyZWV0TWFwIHx7JyAnfVxuICAgICAgPC9hPlxuICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vbWFwLWZlZWRiYWNrL1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgPHN0cm9uZz5JbXByb3ZlIHRoaXMgbWFwPC9zdHJvbmc+XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvU3R5bGVkQXR0cmJ1dGlvbj5cbik7XG5cbk1hcENvbnRhaW5lckZhY3RvcnkuZGVwcyA9IFtNYXBQb3BvdmVyRmFjdG9yeSwgTWFwQ29udHJvbEZhY3RvcnksIEVkaXRvckZhY3RvcnldO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBNYXBDb250YWluZXJGYWN0b3J5KE1hcFBvcG92ZXIsIE1hcENvbnRyb2wsIEVkaXRvcikge1xuICBjbGFzcyBNYXBDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICAvLyByZXF1aXJlZFxuICAgICAgZGF0YXNldHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBpbnRlcmFjdGlvbkNvbmZpZzogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgbGF5ZXJCbGVuZGluZzogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgbGF5ZXJPcmRlcjogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcbiAgICAgIGxheWVyRGF0YTogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcbiAgICAgIGxheWVyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcbiAgICAgIGZpbHRlcnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLmlzUmVxdWlyZWQsXG4gICAgICBtYXBTdGF0ZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgbWFwQ29udHJvbHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1hcFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgbWFwYm94QXBpVXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdmlzU3RhdGVBY3Rpb25zOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBTdGF0ZUFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIHVpU3RhdGVBY3Rpb25zOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG5cbiAgICAgIC8vIG9wdGlvbmFsXG4gICAgICBwcmltYXJ5OiBQcm9wVHlwZXMuYm9vbCwgLy8gcHJpbWFyeSBvbmUgd2lsbCBiZSByZXBvcnRpbmcgaXRzIHNpemUgdG8gYXBwU3RhdGVcbiAgICAgIHJlYWRPbmx5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgIGlzRXhwb3J0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgIGNsaWNrZWQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBob3ZlckluZm86IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBtYXBMYXllcnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBvbk1hcFRvZ2dsZUxheWVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uTWFwU3R5bGVMb2FkZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25NYXBSZW5kZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgZ2V0TWFwYm94UmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIGluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgcG9wdXBTZXR0aW5nczogUHJvcFR5cGVzLm9iamVjdFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgTWFwQ29tcG9uZW50OiBNYXBib3hHTE1hcCxcbiAgICAgIGRlY2tHbFByb3BzOiB7fSxcbiAgICAgIGluZGV4OiAwLFxuICAgICAgcHJpbWFyeTogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICB0aGlzLnByZXZpb3VzTGF5ZXJzID0ge1xuICAgICAgICAvLyBbbGF5ZXJzLmlkXTogbWFwYm94TGF5ZXJDb25maWdcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuX2RlY2sgPSBudWxsO1xuICAgICAgdGhpcy5fcmVmID0gY3JlYXRlUmVmKCk7XG5cbiAgICAgIC8vIFJlbmRlciBsaW1pdGluZyBtZWNoYW5pc21cbiAgICAgIHRoaXMuX2hhc1JlbmRlcmVkID0gY3JlYXRlUmVmKCk7XG4gICAgICB0aGlzLl9tb3VzZVBvc2l0aW9uID0gY3JlYXRlUmVmKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBvYnNlcnZlRGltZW5zaW9ucyh0aGlzLl9yZWYuY3VycmVudCwgdGhpcy5faGFuZGxlUmVzaXplKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCBjb250ZXh0TG9zdCA9IHRoaXMuc3RhdGU/LmNvbnRleHRMb3N0O1xuXG4gICAgICBpZiAoY29udGV4dExvc3QpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRpZC11cGRhdGUtc2V0LXN0YXRlXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2NvbnRleHRMb3N0OiBmYWxzZX0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgLy8gdW5iaW5kIG1hcGJveGdsIGV2ZW50IGxpc3RlbmVyXG4gICAgICBpZiAodGhpcy5fbWFwKSB7XG4gICAgICAgIHRoaXMuX21hcC5vZmYoTUFQQk9YR0xfU1RZTEVfVVBEQVRFKTtcbiAgICAgICAgdGhpcy5fbWFwLm9mZihNQVBCT1hHTF9SRU5ERVIpO1xuICAgICAgfVxuICAgICAgdW5vYnNlcnZlRGltZW5zaW9ucyh0aGlzLl9yZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgX2hhbmRsZVJlc2l6ZSA9IGRpbWVuc2lvbnMgPT4ge1xuICAgICAgY29uc3Qge3ByaW1hcnksIGlzRXhwb3J0fSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAocHJpbWFyeSkge1xuICAgICAgICBjb25zdCB7bWFwU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGlmICghaXNFeHBvcnQgJiYgZGltZW5zaW9ucyAmJiBkaW1lbnNpb25zLndpZHRoID4gMCAmJiBkaW1lbnNpb25zLmhlaWdodCA+IDApIHtcbiAgICAgICAgICBtYXBTdGF0ZUFjdGlvbnMudXBkYXRlTWFwKGRpbWVuc2lvbnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGxheWVyc1NlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMubGF5ZXJzO1xuICAgIGxheWVyRGF0YVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMubGF5ZXJEYXRhO1xuICAgIG1hcExheWVyc1NlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMubWFwTGF5ZXJzO1xuICAgIGxheWVyT3JkZXJTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmxheWVyT3JkZXI7XG4gICAgcG9wdXBTZXR0aW5nc1NlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMucG9wdXBTZXR0aW5ncztcblxuICAgIGxheWVyc1RvUmVuZGVyU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMubGF5ZXJzU2VsZWN0b3IsXG4gICAgICB0aGlzLmxheWVyRGF0YVNlbGVjdG9yLFxuICAgICAgdGhpcy5tYXBMYXllcnNTZWxlY3RvcixcbiAgICAgIHRoaXMucG9wdXBTZXR0aW5nc1NlbGVjdG9yLFxuICAgICAgcHJlcGFyZUxheWVyc1RvUmVuZGVyXG4gICAgKTtcbiAgICBsYXllcnNGb3JEZWNrU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMubGF5ZXJzU2VsZWN0b3IsXG4gICAgICB0aGlzLmxheWVyRGF0YVNlbGVjdG9yLFxuICAgICAgcHJlcGFyZUxheWVyc0ZvckRlY2tcbiAgICApO1xuICAgIGZpbHRlcnNTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmZpbHRlcnM7XG4gICAgcG9seWdvbkZpbHRlcnMgPSBjcmVhdGVTZWxlY3Rvcih0aGlzLmZpbHRlcnNTZWxlY3RvciwgZmlsdGVycyA9PlxuICAgICAgZmlsdGVycy5maWx0ZXIoZiA9PiBmLnR5cGUgPT09IEZJTFRFUl9UWVBFUy5wb2x5Z29uKVxuICAgICk7XG5cbiAgICBtYXBib3hMYXllcnNTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgdGhpcy5sYXllcnNTZWxlY3RvcixcbiAgICAgIHRoaXMubGF5ZXJEYXRhU2VsZWN0b3IsXG4gICAgICB0aGlzLmxheWVyT3JkZXJTZWxlY3RvcixcbiAgICAgIHRoaXMubGF5ZXJzVG9SZW5kZXJTZWxlY3RvcixcbiAgICAgIGdlbmVyYXRlTWFwYm94TGF5ZXJzXG4gICAgKTtcblxuICAgIC8qIGNvbXBvbmVudCBwcml2YXRlIGZ1bmN0aW9ucyAqL1xuICAgIF9vbkNsb3NlTWFwUG9wb3ZlciA9ICgpID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLm9uTGF5ZXJDbGljayhudWxsKTtcbiAgICB9O1xuXG4gICAgX29uTGF5ZXJTZXREb21haW4gPSAoaWR4LCBjb2xvckRvbWFpbikgPT4ge1xuICAgICAgdGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMubGF5ZXJDb25maWdDaGFuZ2UodGhpcy5wcm9wcy5sYXllcnNbaWR4XSwge1xuICAgICAgICBjb2xvckRvbWFpblxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9oYW5kbGVNYXBUb2dnbGVMYXllciA9IGxheWVySWQgPT4ge1xuICAgICAgY29uc3Qge2luZGV4OiBtYXBJbmRleCA9IDAsIHZpc1N0YXRlQWN0aW9uc30gPSB0aGlzLnByb3BzO1xuICAgICAgdmlzU3RhdGVBY3Rpb25zLnRvZ2dsZUxheWVyRm9yTWFwKG1hcEluZGV4LCBsYXllcklkKTtcbiAgICB9O1xuXG4gICAgX29uTWFwYm94U3R5bGVVcGRhdGUgPSAoKSA9PiB7XG4gICAgICAvLyBmb3JjZSByZWZyZXNoIG1hcGJveGdsIGxheWVyc1xuICAgICAgdGhpcy5wcmV2aW91c0xheWVycyA9IHt9O1xuICAgICAgdGhpcy5fdXBkYXRlTWFwYm94TGF5ZXJzKCk7XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5vbk1hcFN0eWxlTG9hZGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRoaXMucHJvcHMub25NYXBTdHlsZUxvYWRlZCh0aGlzLl9tYXApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfc2V0TWFwYm94TWFwID0gbWFwYm94ID0+IHtcbiAgICAgIGlmICghdGhpcy5fbWFwICYmIG1hcGJveCkge1xuICAgICAgICB0aGlzLl9tYXAgPSBtYXBib3guZ2V0TWFwKCk7XG4gICAgICAgIC8vIGkgbm90aWNlZCBpbiBjZXJ0YWluIGNvbnRleHQgd2UgZG9uJ3QgYWNjZXNzIHRoZSBhY3R1YWwgbWFwIGVsZW1lbnRcbiAgICAgICAgaWYgKCF0aGlzLl9tYXApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gYmluZCBtYXBib3hnbCBldmVudCBsaXN0ZW5lclxuICAgICAgICB0aGlzLl9tYXAub24oTUFQQk9YR0xfU1RZTEVfVVBEQVRFLCB0aGlzLl9vbk1hcGJveFN0eWxlVXBkYXRlKTtcblxuICAgICAgICB0aGlzLl9tYXAub24oTUFQQk9YR0xfUkVOREVSLCAoKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLm9uTWFwUmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLm9uTWFwUmVuZGVyKHRoaXMuX21hcCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucHJvcHMuZ2V0TWFwYm94UmVmKSB7XG4gICAgICAgIC8vIFRoZSBwYXJlbnQgY29tcG9uZW50IGNhbiBnYWluIGFjY2VzcyB0byBvdXIgTWFwYm94R2xNYXAgYnlcbiAgICAgICAgLy8gcHJvdmlkaW5nIHRoaXMgY2FsbGJhY2suIE5vdGUgdGhhdCAnbWFwYm94JyB3aWxsIGJlIG51bGwgd2hlbiB0aGVcbiAgICAgICAgLy8gcmVmIGlzIHVuc2V0IChlLmcuIHdoZW4gYSBzcGxpdCBtYXAgaXMgY2xvc2VkKS5cbiAgICAgICAgdGhpcy5wcm9wcy5nZXRNYXBib3hSZWYobWFwYm94LCB0aGlzLnByb3BzLmluZGV4KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX29uRGVja0luaXRpYWxpemVkKGdsKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5vbkRlY2tJbml0aWFsaXplZCkge1xuICAgICAgICB0aGlzLnByb3BzLm9uRGVja0luaXRpYWxpemVkKHRoaXMuX2RlY2ssIGdsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfb25CZWZvcmVSZW5kZXIgPSAoe2dsfSkgPT4ge1xuICAgICAgc2V0TGF5ZXJCbGVuZGluZyhnbCwgdGhpcy5wcm9wcy5sYXllckJsZW5kaW5nKTtcbiAgICB9O1xuXG4gICAgX29uRGVja0Vycm9yID0gKGVycm9yLCBsYXllcikgPT4ge1xuICAgICAgaWYgKGVycm9yPy5tZXNzYWdlID09PSAnV2ViR0wgY29udGV4dCBpcyBsb3N0Jykge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtjb250ZXh0TG9zdDogdHJ1ZX0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycm9yO1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYEFuIGVycm9yIGluIGRlY2suZ2w6ICR7ZXJyb3I/Lm1lc3NhZ2V9IGluICR7bGF5ZXI/LmlkfWA7XG4gICAgICBjb25zdCBub3RpZmljYXRpb25JZCA9IGAke2xheWVyPy5pZH0tJHtlcnJvcj8ubWVzc2FnZX1gO1xuXG4gICAgICAvLyBUaHJvdHRsZSBlcnJvciBub3RpZmljYXRpb25zLCBhcyBSZWFjdCBkb2Vzbid0IGxpa2UgdG9vIG1hbnkgc3RhdGUgY2hhbmdlcyBmcm9tIGhlcmUuXG4gICAgICB0aGlzLl9kZWNrR0xFcnJvcnNFbGFwc2VkID0gdGhpcy5fZGVja0dMRXJyb3JzRWxhcHNlZCB8fCB7fTtcbiAgICAgIGNvbnN0IGxhc3RTaG93biA9IHRoaXMuX2RlY2tHTEVycm9yc0VsYXBzZWRbbm90aWZpY2F0aW9uSWRdO1xuICAgICAgaWYgKCFsYXN0U2hvd24gfHwgbGFzdFNob3duIDwgRGF0ZS5ub3coKSAtIFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FKSB7XG4gICAgICAgIHRoaXMuX2RlY2tHTEVycm9yc0VsYXBzZWRbbm90aWZpY2F0aW9uSWRdID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBDcmVhdGUgbmV3IGVycm9yIG5vdGlmaWNhdGlvbiBvciB1cGRhdGUgZXhpc3Rpbmcgb25lIHdpdGggc2FtZSBpZC5cbiAgICAgICAgLy8gVXBkYXRlIGlzIHJlcXVpcmVkIHRvIHByZXNlcnZlIHRoZSBvcmRlciBvZiBub3RpZmljYXRpb25zIGFzIHRoZXkgcHJvYmFibHkgYXJlIGdvaW5nIHRvIFwianVtcFwiIGJhc2VkIG9uIG9yZGVyIG9mIGVycm9ycy5cbiAgICAgICAgY29uc3Qge3VpU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIHVpU3RhdGVBY3Rpb25zLmFkZE5vdGlmaWNhdGlvbihcbiAgICAgICAgICBlcnJvck5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICBpZDogbm90aWZpY2F0aW9uSWRcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvKiBjb21wb25lbnQgcmVuZGVyIGZ1bmN0aW9ucyAqL1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICAgIF9yZW5kZXJNYXBQb3BvdmVyKGxheWVyc1RvUmVuZGVyKSB7XG4gICAgICAvLyBPdmVycmlkZW4gaW4gQnVpbGRlcjogZmVhdHVyZXMvYnVpbGRlci91aS9LZXBsZXJHbC9NYXBDb250YWluZXIvTWFwQ29udGFpbmVyLnRzeFxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG5cbiAgICBfZ2V0SG92ZXJYWSh2aWV3cG9ydCwgbG5nTGF0KSB7XG4gICAgICBjb25zdCBzY3JlZW5Db29yZCA9ICF2aWV3cG9ydCB8fCAhbG5nTGF0ID8gbnVsbCA6IHZpZXdwb3J0LnByb2plY3QobG5nTGF0KTtcbiAgICAgIHJldHVybiBzY3JlZW5Db29yZCAmJiB7eDogc2NyZWVuQ29vcmRbMF0sIHk6IHNjcmVlbkNvb3JkWzFdfTtcbiAgICB9XG5cbiAgICBfcmVuZGVyRGVja092ZXJsYXkobGF5ZXJzRm9yRGVjaykge1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIGxheWVyRGF0YSxcbiAgICAgICAgbGF5ZXJPcmRlcixcbiAgICAgICAgbGF5ZXJzLFxuICAgICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgIG1hc2tQb2x5Z29uXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIHRyYWNrZXJzLmRyYXdDb3VudD8uaW5jcmVtZW50KCk7XG5cbiAgICAgIC8vIGluaXRpYWxpc2UgbGF5ZXJzIGZyb20gcHJvcHMgaWYgZXhpc3RzXG4gICAgICBsZXQgZGVja0dsTGF5ZXJzID0gdGhpcy5wcm9wcy5kZWNrR2xQcm9wcz8ubGF5ZXJzIHx8IFtdO1xuXG4gICAgICAvLyB3YWl0IHVudGlsIGRhdGEgaXMgcmVhZHkgYmVmb3JlIHJlbmRlciBkYXRhIGxheWVyc1xuICAgICAgaWYgKGxheWVyRGF0YSAmJiBsYXllckRhdGEubGVuZ3RoKSB7XG4gICAgICAgIC8vIGxhc3QgbGF5ZXIgcmVuZGVyIGZpcnN0XG4gICAgICAgIGNvbnN0IGRhdGFMYXllcnMgPSBsYXllck9yZGVyXG4gICAgICAgICAgLnNsaWNlKClcbiAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgLmZpbHRlcihpZHggPT4gbGF5ZXJzRm9yRGVja1tsYXllcnNbaWR4XS5pZF0pXG4gICAgICAgICAgLnJlZHVjZSgob3ZlcmxheXMsIGlkeCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5ZXJDYWxsYmFja3MgPSB7XG4gICAgICAgICAgICAgIG9uU2V0TGF5ZXJEb21haW46IHZhbCA9PiB0aGlzLl9vbkxheWVyU2V0RG9tYWluKGlkeCwgdmFsKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGxheWVyT3ZlcmxheSA9IHJlbmRlckRlY2tHbExheWVyKHRoaXMucHJvcHMsIGxheWVyQ2FsbGJhY2tzLCBpZHgpO1xuICAgICAgICAgICAgcmV0dXJuIG92ZXJsYXlzLmNvbmNhdChsYXllck92ZXJsYXkgfHwgW10pO1xuICAgICAgICAgIH0sIFtdKTtcbiAgICAgICAgZGVja0dsTGF5ZXJzID0gZGVja0dsTGF5ZXJzLmNvbmNhdChkYXRhTGF5ZXJzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucHJvcHMuZGVja0dsUHJvcHM/LmxheWVyc09uVG9wKSB7XG4gICAgICAgIGRlY2tHbExheWVycyA9IGRlY2tHbExheWVycy5jb25jYXQodGhpcy5wcm9wcy5kZWNrR2xQcm9wcy5sYXllcnNPblRvcCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtYXNrUG9seWdvbikge1xuICAgICAgICBkZWNrR2xMYXllcnMucHVzaChcbiAgICAgICAgICBuZXcgU29saWRQb2x5Z29uTGF5ZXIoe1xuICAgICAgICAgICAgaWQ6IE1BU0tfTEFZRVJfSUQsXG4gICAgICAgICAgICBvcGVyYXRpb246IE9QRVJBVElPTi5NQVNLLFxuICAgICAgICAgICAgZGF0YTogW21hc2tQb2x5Z29uXSxcbiAgICAgICAgICAgIGRhdGFDb21wYXJhdG9yOiAoZGF0YSwgb2xkRGF0YSkgPT4gZGF0YVswXSA9PT0gb2xkRGF0YVswXSxcbiAgICAgICAgICAgIGdldFBvbHlnb246IGQgPT4gZCxcbiAgICAgICAgICAgIGdldEZpbGxDb2xvcjogWzI1NSwgMjU1LCAyNTUsIDI1NV1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAobWFwU3R5bGUudmlzaWJsZUxheWVyR3JvdXBzWyczZCBidWlsZGluZyddKSB7XG4gICAgICAgIGRlY2tHbExheWVycy5wdXNoKFxuICAgICAgICAgIG5ldyBUaHJlZURCdWlsZGluZ0xheWVyKHtcbiAgICAgICAgICAgIGlkOiAnX2tlcGxlcmdsXzNkLWJ1aWxkaW5nJyxcbiAgICAgICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICAgICAgdGhyZWVEQnVpbGRpbmdDb2xvcjogbWFwU3R5bGUudGhyZWVEQnVpbGRpbmdDb2xvcixcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7XG4gICAgICAgICAgICAgIGdldEZpbGxDb2xvcjogbWFwU3R5bGUudGhyZWVEQnVpbGRpbmdDb2xvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIExpbWl0IHJlbmRlcnNcbiAgICAgIGNvbnN0IGhhc1JlbmRlcmVkID0gdGhpcy5faGFzUmVuZGVyZWQ7XG4gICAgICBjb25zdCByZXNldEhhc1JlbmRlcmVkID0gKCkgPT4gKGhhc1JlbmRlcmVkLmN1cnJlbnQgPSBmYWxzZSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RGVja0dMXG4gICAgICAgICAgY29udHJvbGxlcj17dHJ1ZX1cbiAgICAgICAgICB7Li4udGhpcy5wcm9wcy5kZWNrR2xQcm9wc31cbiAgICAgICAgICB2aWV3U3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgIG9uVmlld1N0YXRlQ2hhbmdlPXsoe3ZpZXdTdGF0ZX0pID0+IHtcbiAgICAgICAgICAgIC8vIExpbWl0IHVwZGF0ZXMgKHByZXZlbnRzIGZyZWV6ZXMgd2hlbiBkZXYgdG9vbHMgb3BlbilcbiAgICAgICAgICAgIGlmICghaGFzUmVuZGVyZWQuY3VycmVudCkge1xuICAgICAgICAgICAgICBoYXNSZW5kZXJlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5fb25WaWV3cG9ydENoYW5nZSh2aWV3U3RhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJkZWZhdWx0LWRlY2tnbC1vdmVybGF5XCJcbiAgICAgICAgICBsYXllcnM9e2RlY2tHbExheWVyc31cbiAgICAgICAgICBvbkJlZm9yZVJlbmRlcj17b3B0cyA9PiB7XG4gICAgICAgICAgICByZXNldEhhc1JlbmRlcmVkKCk7XG4gICAgICAgICAgICB0aGlzLl9vbkJlZm9yZVJlbmRlcihvcHRzKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uSG92ZXI9e3Zpc1N0YXRlQWN0aW9ucy5vbkxheWVySG92ZXJ9XG4gICAgICAgICAgb25DbGljaz17dmlzU3RhdGVBY3Rpb25zLm9uTGF5ZXJDbGlja31cbiAgICAgICAgICBvbkVycm9yPXt0aGlzLl9vbkRlY2tFcnJvcn1cbiAgICAgICAgICByZWY9e2NvbXAgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbXAgJiYgY29tcC5kZWNrICYmIGNvbXAuZGVjayAhPT0gdGhpcy5fZGVjaykge1xuICAgICAgICAgICAgICB0aGlzLl9kZWNrID0gY29tcC5kZWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25XZWJHTEluaXRpYWxpemVkPXtnbCA9PiB0aGlzLl9vbkRlY2tJbml0aWFsaXplZChnbCl9XG4gICAgICAgICAgbGF5ZXJGaWx0ZXI9eyh7bGF5ZXIsIHZpZXdwb3J0fSkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBpc05hTihsYXllci5wcm9wcy52aXNpYmlsaXR5Qnlab29tPy5taW4pIHx8XG4gICAgICAgICAgICAgIGlzTmFOKGxheWVyLnByb3BzLnZpc2liaWxpdHlCeVpvb20/Lm1heClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRab29tUmFuZ2UgPSBNYXRoLnJvdW5kKG1hcFN0YXRlLnpvb20pO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICBsYXllci5wcm9wcy52aXNpYmlsaXR5Qnlab29tLm1pbiA8PSBjdXJyZW50Wm9vbVJhbmdlICYmXG4gICAgICAgICAgICAgIGxheWVyLnByb3BzLnZpc2liaWxpdHlCeVpvb20ubWF4ID49IGN1cnJlbnRab29tUmFuZ2VcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgX3VwZGF0ZU1hcGJveExheWVycygpIHtcbiAgICAgIGNvbnN0IG1hcGJveExheWVycyA9IHRoaXMubWFwYm94TGF5ZXJzU2VsZWN0b3IodGhpcy5wcm9wcyk7XG4gICAgICBpZiAoIU9iamVjdC5rZXlzKG1hcGJveExheWVycykubGVuZ3RoICYmICFPYmplY3Qua2V5cyh0aGlzLnByZXZpb3VzTGF5ZXJzKS5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVNYXBib3hMYXllcnModGhpcy5fbWFwLCBtYXBib3hMYXllcnMsIHRoaXMucHJldmlvdXNMYXllcnMpO1xuXG4gICAgICB0aGlzLnByZXZpb3VzTGF5ZXJzID0gbWFwYm94TGF5ZXJzO1xuICAgIH1cblxuICAgIF9yZW5kZXJNYXBib3hPdmVybGF5cygpIHtcbiAgICAgIGlmICh0aGlzLl9tYXAgJiYgdGhpcy5fbWFwLmlzU3R5bGVMb2FkZWQoKSkge1xuICAgICAgICB0aGlzLl91cGRhdGVNYXBib3hMYXllcnMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfb25WaWV3cG9ydENoYW5nZSA9IHZpZXdTdGF0ZSA9PiB7XG4gICAgICB0cmFja2Vycy52aWV3cG9ydENoYW5nZUNvdW50Py5pbmNyZW1lbnQoKTtcbiAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0LCAuLi5yZXN0Vmlld1N0YXRlfSA9IHZpZXdTdGF0ZTtcbiAgICAgIGNvbnN0IHtwcmltYXJ5LCBpc0V4cG9ydH0gPSB0aGlzLnByb3BzO1xuICAgICAgLy8gcmVhY3QtbWFwLWdsIHNlbmRzIDAsMCBkaW1lbnNpb25zIGR1cmluZyBpbml0aWFsaXphdGlvblxuICAgICAgLy8gYWZ0ZXIgd2UgaGF2ZSByZWNlaXZlZCBwcm9wZXIgZGltZW5zaW9ucyBmcm9tIG9ic2VydmVEaW1lbnNpb25zXG4gICAgICBjb25zdCBuZXh0ID0ge1xuICAgICAgICAuLi4od2lkdGggPiAwICYmIGhlaWdodCA+IDAgPyB2aWV3U3RhdGUgOiByZXN0Vmlld1N0YXRlKSxcbiAgICAgICAgLy8gZW5hYmxpbmcgdHJhbnNpdGlvbiBpbiB0d28gbWFwcyBtYXkgbGVhZCB0byBlbmRsZXNzIHVwZGF0ZSBsb29wc1xuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb246IHByaW1hcnkgPyBUUkFOU0lUSU9OX0RVUkFUSU9OIDogMFxuICAgICAgfTtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5vblZpZXdTdGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aGlzLnByb3BzLm9uVmlld1N0YXRlQ2hhbmdlKG5leHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRXhwb3J0KSB7XG4gICAgICAgIHRoaXMucHJvcHMubWFwU3RhdGVBY3Rpb25zLnVwZGF0ZU1hcChuZXh0KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3RvZ2dsZU1hcENvbnRyb2wgPSBwYW5lbElkID0+IHtcbiAgICAgIGNvbnN0IHtpbmRleCwgdWlTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcblxuICAgICAgdWlTdGF0ZUFjdGlvbnMudG9nZ2xlTWFwQ29udHJvbChwYW5lbElkLCBpbmRleCk7XG4gICAgfTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbiAgICBfcmVuZGVyTWFwKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlQWN0aW9ucyxcbiAgICAgICAgbGF5ZXJzLFxuICAgICAgICBNYXBDb21wb25lbnQsXG4gICAgICAgIGRhdGFzZXRzLFxuICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICBtYXBDb250cm9scyxcbiAgICAgICAgaXNFeHBvcnQsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgICAgaW50ZXJhY3Rpb25Db25maWcsXG4gICAgICAgIGVkaXRvcixcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIHByaW1hcnlcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBjb25zdCBsYXllcnNUb1JlbmRlciA9IHRoaXMubGF5ZXJzVG9SZW5kZXJTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IGxheWVyc0ZvckRlY2sgPSB0aGlzLmxheWVyc0ZvckRlY2tTZWxlY3Rvcih0aGlzLnByb3BzKTtcblxuICAgICAgY29uc3QgbWFwUHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcFN0YXRlLFxuICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlLFxuICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICB0cmFuc2Zvcm1SZXF1ZXN0XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBpc0VkaXQgPSAobWFwQ29udHJvbHMubWFwRHJhdyB8fCB7fSkuYWN0aXZlO1xuXG4gICAgICBjb25zdCBoYXNHZW9jb2RlckxheWVyID0gbGF5ZXJzLmZpbmQobCA9PiBsLmlkID09PSBHRU9DT0RFUl9MQVlFUl9JRCk7XG4gICAgICBjb25zdCBpc1NwbGl0ID0gQm9vbGVhbihtYXBTdGF0ZS5pc1NwbGl0KTtcbiAgICAgIGNvbnN0IG1vdXNlUG9zaXRpb24gPSB0aGlzLl9tb3VzZVBvc2l0aW9uO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxNYXBDb250cm9sXG4gICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICBhdmFpbGFibGVMb2NhbGVzPXtPYmplY3Qua2V5cyhMT0NBTEVfQ09ERVMpfVxuICAgICAgICAgICAgZHJhZ1JvdGF0ZT17bWFwU3RhdGUuZHJhZ1JvdGF0ZX1cbiAgICAgICAgICAgIGlzU3BsaXQ9e2lzU3BsaXR9XG4gICAgICAgICAgICBwcmltYXJ5PXtwcmltYXJ5fVxuICAgICAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgICAgICBsYXllcnNUb1JlbmRlcj17bGF5ZXJzVG9SZW5kZXJ9XG4gICAgICAgICAgICBtYXBJbmRleD17aW5kZXh9XG4gICAgICAgICAgICBtYXBDb250cm9scz17bWFwQ29udHJvbHN9XG4gICAgICAgICAgICByZWFkT25seT17dGhpcy5wcm9wcy5yZWFkT25seX1cbiAgICAgICAgICAgIHNjYWxlPXttYXBTdGF0ZS5zY2FsZSB8fCAxfVxuICAgICAgICAgICAgdG9wPXtpbnRlcmFjdGlvbkNvbmZpZy5nZW9jb2RlciAmJiBpbnRlcmFjdGlvbkNvbmZpZy5nZW9jb2Rlci5lbmFibGVkID8gNTIgOiAwfVxuICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICBsb2NhbGU9e2xvY2FsZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlUGVyc3BlY3RpdmU9e21hcFN0YXRlQWN0aW9ucy50b2dnbGVQZXJzcGVjdGl2ZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlU3BsaXRNYXA9e21hcFN0YXRlQWN0aW9ucy50b2dnbGVTcGxpdE1hcH1cbiAgICAgICAgICAgIG9uTWFwVG9nZ2xlTGF5ZXI9e3RoaXMuX2hhbmRsZU1hcFRvZ2dsZUxheWVyfVxuICAgICAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sPXt0aGlzLl90b2dnbGVNYXBDb250cm9sfVxuICAgICAgICAgICAgb25TZXRFZGl0b3JNb2RlPXt2aXNTdGF0ZUFjdGlvbnMuc2V0RWRpdG9yTW9kZX1cbiAgICAgICAgICAgIG9uU2V0TG9jYWxlPXt1aVN0YXRlQWN0aW9ucy5zZXRMb2NhbGV9XG4gICAgICAgICAgICBvblRvZ2dsZUVkaXRvclZpc2liaWxpdHk9e3Zpc1N0YXRlQWN0aW9ucy50b2dnbGVFZGl0b3JWaXNpYmlsaXR5fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPE1hcENvbXBvbmVudFxuICAgICAgICAgICAgey4uLm1hcFByb3BzfVxuICAgICAgICAgICAga2V5PVwiYm90dG9tXCJcbiAgICAgICAgICAgIHJlZj17dGhpcy5fc2V0TWFwYm94TWFwfVxuICAgICAgICAgICAgbWFwU3R5bGU9e21hcFN0eWxlLmJvdHRvbU1hcFN0eWxlfVxuICAgICAgICAgICAgZ2V0Q3Vyc29yPXt0aGlzLnByb3BzLmhvdmVySW5mbyA/ICgpID0+ICdwb2ludGVyJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIG9uTW91c2VNb3ZlPXtldnQgPT4ge1xuICAgICAgICAgICAgICAvLyBTZW5kaW5nIG1vdXNlIG1vdmUgdXBkYXRlcyB2aWEgUmVkdXggaXMgZXhwZW5zaXZlLiBTdG9yZVxuICAgICAgICAgICAgICAvLyBsb2NhbGx5IGFuZCByZWx5IG9uIGRlY2suZ2wgdG8gZHJpdmUgcmVuZGVyIHVwZGF0ZXNcbiAgICAgICAgICAgICAgLy8gU2VlIEJ1aWxkZXI6IGZlYXR1cmVzL2J1aWxkZXIvdWkvS2VwbGVyR2wvTWFwQ29udGFpbmVyL01hcENvbnRhaW5lci50c3hcbiAgICAgICAgICAgICAgbW91c2VQb3NpdGlvbi5jdXJyZW50ID0ge21vdXNlUG9zaXRpb246IGV2dC5wb2ludH07XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtQRVJGX0RFQlVHICYmIHJlbmRlclBlcmZvcm1hbmNlU3RhdHMoKX1cbiAgICAgICAgICAgIHt0aGlzLl9yZW5kZXJEZWNrT3ZlcmxheShsYXllcnNGb3JEZWNrKX1cbiAgICAgICAgICAgIHt0aGlzLl9yZW5kZXJNYXBib3hPdmVybGF5cygpfVxuICAgICAgICAgICAgPEVkaXRvclxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgIGZpbHRlcnM9e3RoaXMucG9seWdvbkZpbHRlcnModGhpcy5wcm9wcyl9XG4gICAgICAgICAgICAgIGlzRW5hYmxlZD17aXNFZGl0fVxuICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgbGF5ZXJzVG9SZW5kZXI9e2xheWVyc1RvUmVuZGVyfVxuICAgICAgICAgICAgICBvbkRlbGV0ZUZlYXR1cmU9e3Zpc1N0YXRlQWN0aW9ucy5kZWxldGVGZWF0dXJlfVxuICAgICAgICAgICAgICBvblNlbGVjdD17dmlzU3RhdGVBY3Rpb25zLnNldFNlbGVjdGVkRmVhdHVyZX1cbiAgICAgICAgICAgICAgb25VcGRhdGU9e3Zpc1N0YXRlQWN0aW9ucy5zZXRGZWF0dXJlc31cbiAgICAgICAgICAgICAgb25Ub2dnbGVQb2x5Z29uRmlsdGVyPXt2aXNTdGF0ZUFjdGlvbnMuc2V0UG9seWdvbkZpbHRlckxheWVyfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IGlzRWRpdCA/ICdhbGwnIDogJ25vbmUnLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGVkaXRvci52aXNpYmxlID8gJ2Jsb2NrJyA6ICdub25lJ1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L01hcENvbXBvbmVudD5cbiAgICAgICAgICB7bWFwU3R5bGUudG9wTWFwU3R5bGUgfHwgaGFzR2VvY29kZXJMYXllciA/IChcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e01BUF9TVFlMRS50b3B9PlxuICAgICAgICAgICAgICA8TWFwQ29tcG9uZW50IHsuLi5tYXBQcm9wc30ga2V5PVwidG9wXCIgbWFwU3R5bGU9e21hcFN0eWxlLnRvcE1hcFN0eWxlfT5cbiAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVyRGVja092ZXJsYXkoe1tHRU9DT0RFUl9MQVlFUl9JRF06IHRydWV9KX1cbiAgICAgICAgICAgICAgPC9NYXBDb21wb25lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7dGhpcy5fcmVuZGVyTWFwUG9wb3ZlcihsYXllcnNUb1JlbmRlcil9XG4gICAgICAgICAgeyFpc1NwbGl0IHx8IGluZGV4ID09PSAxID8gPEF0dHJpYnV0aW9uIC8+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHttYXBTdGF0ZSwgbWFwU3R5bGV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGNvbnRleHRMb3N0ID0gdGhpcy5zdGF0ZT8uY29udGV4dExvc3Q7XG5cbiAgICAgIGlmIChjb250ZXh0TG9zdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lciByZWY9e3RoaXMuX3JlZn0gc3R5bGU9e01BUF9TVFlMRS5jb250YWluZXJ9IGdsb2JlPXttYXBTdGF0ZS5nbG9iZX0+XG4gICAgICAgICAge21hcFN0eWxlLmJvdHRvbU1hcFN0eWxlICYmIHRoaXMuX3JlbmRlck1hcCgpfVxuICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgTWFwQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ01hcENvbnRhaW5lcic7XG5cbiAgcmV0dXJuIE1hcENvbnRhaW5lcjtcbn1cbiJdfQ==
@@ -134,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
134
134
  // an empty string which will allow us to retrieve the latest umd version
135
135
 
136
136
  exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
137
- var KEPLER_GL_VERSION = "0.0.65-alpha.labels";
137
+ var KEPLER_GL_VERSION = "0.0.65-alpha.labels.3";
138
138
  exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
139
139
  var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
140
140
  exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
@@ -899,4 +899,4 @@ var ZOOM_LEVEL_LIMITS = {
899
899
  max: 21
900
900
  };
901
901
  exports.ZOOM_LEVEL_LIMITS = ZOOM_LEVEL_LIMITS;
902
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy5qcyJdLCJuYW1lcyI6WyJBQ1RJT05fUFJFRklYIiwiQ0xPVURGUk9OVCIsIklDT05fUFJFRklYIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsIkRBVEFfVEFCTEVfSUQiLCJERUxFVEVfREFUQV9JRCIsIkFERF9EQVRBX0lEIiwiRVhQT1JUX0lNQUdFX0lEIiwiRVhQT1JUX0RBVEFfSUQiLCJBRERfTUFQX1NUWUxFX0lEIiwiRVhQT1JUX01BUF9JRCIsIlNBVkVfTUFQX0lEIiwiT1ZFUldSSVRFX01BUF9JRCIsIlNIQVJFX01BUF9JRCIsIktFUExFUl9HTF9OQU1FIiwiS0VQTEVSX0dMX1ZFUlNJT04iLCJLRVBMRVJfR0xfV0VCU0lURSIsIkRJTUVOU0lPTlMiLCJzaWRlUGFuZWwiLCJ3aWR0aCIsIm1hcmdpbiIsInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCIsImhlYWRlckhlaWdodCIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiVEhFTUUiLCJsaWdodCIsImRhcmsiLCJiYXNlIiwiU0lERUJBUl9QQU5FTFMiLCJpZCIsImxhYmVsIiwiaWNvbkNvbXBvbmVudCIsIkxheWVycyIsIm9uQ2xpY2siLCJGaWx0ZXJGdW5uZWwiLCJDdXJzb3JDbGljayIsIlNldHRpbmdzIiwiUEFORUxTIiwiREVGQVVMVF9MQVlFUl9HUk9VUFMiLCJzbHVnIiwiZmlsdGVyIiwibWF0Y2giLCJkZWZhdWx0VmlzaWJpbGl0eSIsIkRFRkFVTFRfTUFQX1NUWUxFUyIsInVybCIsImljb24iLCJsYXllckdyb3VwcyIsIkdFT0pTT05fRklFTERTIiwiZ2VvanNvbiIsIklDT05fRklFTERTIiwiVFJJUF9QT0lOVF9GSUVMRFMiLCJUUklQX0FSQ19GSUVMRFMiLCJsYXQwIiwibG5nMCIsImxhdDEiLCJsbmcxIiwiRklMVEVSX1RZUEVTIiwicmFuZ2UiLCJzZWxlY3QiLCJpbnB1dCIsInRpbWVSYW5nZSIsIm11bHRpU2VsZWN0IiwicG9seWdvbiIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsInF1YW50aWxlIiwicXVhbnRpemUiLCJsaW5lYXIiLCJzcXJ0IiwibG9nIiwicG9pbnQiLCJjdXN0b20iLCJsb2dhcml0aG1pYyIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJBTExfRklFTERfVFlQRVMiLCJkYXRlIiwiaW50ZWdlciIsInJlYWwiLCJzdHJpbmciLCJ0aW1lc3RhbXAiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiREVTQ0VORElORyIsIlVOU09SVCIsIlRBQkxFX09QVElPTiIsIlNPUlRfQVNDIiwiU09SVF9ERVMiLCJQSU4iLCJVTlBJTiIsIkNPUFkiLCJUQUJMRV9PUFRJT05fTElTVCIsInZhbHVlIiwiZGlzcGxheSIsIkFycm93VXAiLCJjb25kaXRpb24iLCJwcm9wcyIsInNvcnRNb2RlIiwiQXJyb3dEb3duIiwiQ2FuY2VsIiwiaXNTb3J0ZWQiLCJQaW4iLCJpc1Bpbm5lZCIsIkNsaXBib2FyZCIsIk9SQU5HRSIsIlBJTksiLCJQVVJQTEUiLCJCTFVFIiwiQkxVRTIiLCJCTFVFMyIsIkdSRUVOIiwiUkVEIiwiRklMRURfVFlQRV9ESVNQTEFZIiwiY29sb3IiLCJGSUVMRF9DT0xPUlMiLCJISUdITElHSF9DT0xPUl8zRCIsIkNIQU5ORUxfU0NBTEVTIiwicmFkaXVzIiwic2l6ZSIsImN1c3RvbU1hcmtlciIsImNvbG9yQWdnciIsInNpemVBZ2dyIiwiaWRlbnRpdHkiLCJBR0dSRUdBVElPTl9UWVBFUyIsImNvdW50IiwiYXZlcmFnZSIsIm1heGltdW0iLCJtaW5pbXVtIiwibWVkaWFuIiwic3RkZXYiLCJzdW0iLCJ2YXJpYW5jZSIsIm1vZGUiLCJjb3VudFVuaXF1ZSIsImFueVZhbHVlIiwiRklFTERfVFlQRVNfQUdHUkVHQVRPUlMiLCJGSUVMRF9BR0dSRUdBVE9SUyIsImRpc3BsYXlOYW1lIiwibGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyIsImxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zIiwib3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJub3RTdXBwb3J0ZWRTY2FsZU9wdHMiLCJub3RTdXBwb3J0QWdnck9wdHMiLCJERUZBVUxUX0FHR1JFR0FUSU9OIiwiRklFTERfT1BUUyIsInR5cGUiLCJzY2FsZSIsImZvcm1hdCIsImxlZ2VuZCIsImQiLCJ0b29sdGlwIiwiVE9PTFRJUF9GT1JNQVRfVFlQRVMiLCJOT05FIiwiREVDSU1BTCIsIlBFUkNFTlRBR0UiLCJEQVRFIiwiREFURV9USU1FIiwiQk9PTEVBTiIsIkNIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEUyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2N1Iiwia2V5IiwiZnQiLCJsZW5ndGgiLCJERUZBVUxUX0xBWUVSX0NPTE9SIiwidHJpcEFyYyIsImJlZ2ludHJpcF9sYXQiLCJkcm9wb2ZmX2xhdCIsInJlcXVlc3RfbGF0IiwiREVGQVVMVF9UT09MVElQX0ZJRUxEUyIsIk5PX1ZBTFVFX0NPTE9SIiwiVU5LTk9XTl9DT0xPUiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsIm5vcm1hbCIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJoaWRkZW4iLCJtYXBXIiwibWFwSCIsIk1hdGgiLCJyb3VuZCIsIkVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TIiwiYXZhaWxhYmxlIiwiRVhQT1JUX0RBVEFfVFlQRSIsIkNTViIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsInRvTG93ZXJDYXNlIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsIkpTT04iLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVMiLCJSRUFEIiwiRURJVCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJlbnRyaWVzIiwibWFwIiwiZW50cnkiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TIiwiREVGQVVMVF9VVUlEX0NPVU5UIiwiREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsImVycm9yIiwid2FybmluZyIsInN1Y2Nlc3MiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJmaWxlIiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJCQVNFX1NQRUVEIiwiRlBTIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpbmNyZW1lbnRhbCIsImludGVydmFsIiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJHRU9DT0RFUl9MQVlFUl9JRCIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiR0VPQ09ERVJfSUNPTl9TSVpFIiwiRURJVE9SX01PREVTIiwiUkVBRF9PTkxZIiwiRWRpdG9yTW9kZXMiLCJEUkFXX1BPTFlHT04iLCJEUkFXX1JFQ1RBTkdMRSIsIkVESVRfVkVSVEVYIiwiRURJVE9SX0FWQUlMQUJMRV9MQVlFUlMiLCJMQVlFUl9UWVBFUyIsImhleGFnb24iLCJhcmMiLCJsaW5lIiwiaGV4YWdvbklkIiwiTUFYX0dQVV9GSUxURVJTIiwiTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04iLCJNQVBfSU5GT19DSEFSQUNURVIiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiTE9BRElOR19NRVRIT0RTIiwidXBsb2FkIiwic3RvcmFnZSIsIkRBVEFTRVRfRk9STUFUUyIsInJvdyIsImNzdiIsImtlcGxlcmdsIiwiTUFQX0NPTlRST0xTIiwidmlzaWJsZUxheWVycyIsIm1hcExlZ2VuZCIsInRvZ2dsZTNkIiwic3BsaXRNYXAiLCJtYXBEcmF3IiwibWFwTG9jYWxlIiwiTUFTS19MQVlFUl9JRCIsIlpPT01fTEVWRUxfTElNSVRTIiwibWluIiwibWF4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUFVQTs7QUFXQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFTyxJQUFNQSxhQUFhLEdBQUcsY0FBdEI7O0FBQ0EsSUFBTUMsVUFBVSxHQUFHLGlEQUFuQjs7QUFDQSxJQUFNQyxXQUFXLGFBQU1ELFVBQU4sYUFBakI7O0FBQ0EsSUFBTUUsc0JBQXNCLEdBQUcsd0JBQS9CLEMsQ0FFUDs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGFBQWEsR0FBRyxXQUF0QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsY0FBYyxHQUFHLFlBQXZCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxXQUFXLEdBQUcsU0FBcEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGVBQWUsR0FBRyxhQUF4QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsY0FBYyxHQUFHLFlBQXZCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxnQkFBZ0IsR0FBRyxhQUF6QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsYUFBYSxHQUFHLFdBQXRCO0FBQ1A7QUFDQTtBQUNBO0FB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QU1DLGVBQWUsR0FBRywyQkFBVTtBQUN2Q0MsRUFBQUEsR0FBRyxFQUFFLElBRGtDO0FBRXZDOU4sRUFBQUEsT0FBTyxFQUFFLElBRjhCO0FBR3ZDK04sRUFBQUEsR0FBRyxFQUFFLElBSGtDO0FBSXZDQyxFQUFBQSxRQUFRLEVBQUU7QUFKNkIsQ0FBVixDQUF4Qjs7QUFPQSxJQUFNQyxZQUFZLEdBQUcsMkJBQVU7QUFDcENDLEVBQUFBLGFBQWEsRUFBRSxJQURxQjtBQUVwQ0MsRUFBQUEsU0FBUyxFQUFFLElBRnlCO0FBR3BDQyxFQUFBQSxRQUFRLEVBQUUsSUFIMEI7QUFJcENDLEVBQUFBLFFBQVEsRUFBRSxJQUowQjtBQUtwQ0MsRUFBQUEsT0FBTyxFQUFFLElBTDJCO0FBTXBDQyxFQUFBQSxTQUFTLEVBQUU7QUFOeUIsQ0FBVixDQUFyQjs7QUFTQSxJQUFNQyxhQUFhLEdBQUcsWUFBdEI7O0FBRUEsSUFBTUMsaUJBQWlCLEdBQUc7QUFDL0JDLEVBQUFBLEdBQUcsRUFBRSxDQUQwQjtBQUUvQkMsRUFBQUEsR0FBRyxFQUFFO0FBRjBCLENBQTFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuaW1wb3J0IHtFZGl0b3JNb2Rlc30gZnJvbSAncmVhY3QtbWFwLWdsLWRyYXcnO1xuXG5pbXBvcnQge1xuICBzY2FsZUxpbmVhcixcbiAgc2NhbGVRdWFudGl6ZSxcbiAgc2NhbGVRdWFudGlsZSxcbiAgc2NhbGVPcmRpbmFsLFxuICBzY2FsZVNxcnQsXG4gIHNjYWxlTG9nLFxuICBzY2FsZVBvaW50LFxuICBzY2FsZVRocmVzaG9sZFxufSBmcm9tICdkMy1zY2FsZSc7XG5pbXBvcnQge1xuICBMYXllcnMsXG4gIEZpbHRlckZ1bm5lbCxcbiAgU2V0dGluZ3MsXG4gIEN1cnNvckNsaWNrLFxuICBQaW4sXG4gIEFycm93RG93bixcbiAgQXJyb3dVcCxcbiAgQ2xpcGJvYXJkLFxuICBDYW5jZWxcbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtnZXRIVE1MTWFwTW9kZVRpbGVVcmx9IGZyb20gJ3V0aWxzL3V0aWxzJztcbmltcG9ydCB7VE9PTFRJUF9GT1JNQVRfVFlQRVN9IGZyb20gJy4vdG9vbHRpcCc7XG5pbXBvcnQge0xBWUVSX1RZUEVTfSBmcm9tICdsYXllcnMvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMlxuICB9XG59O1xuXG4vKipcbiAqIFRoZW1lIG5hbWUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGBLZXBsZXJHbGAgYHByb3AudGhlbWVgLlxuICogQXZhaWxhYmxlIHRoZW1lcyBhcmUgYFRIRU1FLmxpZ2h0YCBhbmQgYFRIRU1FLmRhcmtgLiBEZWZhdWx0IHRoZW1lIGlzIGBUSEVNRS5kYXJrYFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7b2JqZWN0fVxuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBjb25zdCBNYXAgPSAoKSA9PiA8S2VwbGVyR2wgdGhlbWU9e1RIRU1FLmxpZ2h0fSBpZD1cIm1hcFwiLz5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgVEhFTUUgPSBrZXlNaXJyb3Ioe1xuICBsaWdodDogbnVsbCxcbiAgZGFyazogbnVsbCxcbiAgYmFzZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTSURFQkFSX1BBTkVMUyA9IFtcbiAge1xuICAgIGlkOiAnbGF5ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMubGF5ZXInLFxuICAgIGljb25Db21wb25lbnQ6IExheWVycyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ZpbHRlcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5maWx0ZXInLFxuICAgIGljb25Db21wb25lbnQ6IEZpbHRlckZ1bm5lbCxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ludGVyYWN0aW9uJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmludGVyYWN0aW9uJyxcbiAgICBpY29uQ29tcG9uZW50OiBDdXJzb3JDbGljayxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21hcCcsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5iYXNlbWFwJyxcbiAgICBpY29uQ29tcG9uZW50OiBTZXR0aW5ncyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH1cbl07XG5cbi8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbmV4cG9ydCBjb25zdCBQQU5FTFMgPSBTSURFQkFSX1BBTkVMUztcblxuLy8gTUFQIFNUWUxFU1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFMgPSBbXG4gIHtcbiAgICBzbHVnOiAnbGFiZWwnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0obGFiZWx8cGxhY2UtfHBvaS0pKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAncm9hZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShyb2FkfHJhaWx3YXl8dHVubmVsfHN0cmVldHxicmlkZ2UpKSg/IS4qbGFiZWwpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdib3JkZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9ib3JkZXJ8Ym91bmRhcmllcy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2J1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYnVpbGRpbmcvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3dhdGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHdhdGVyfHN0cmVhbXxmZXJyeSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdsYW5kJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHBhcmtzfGxhbmRjb3ZlcnxpbmR1c3RyaWFsfHNhbmR8aGlsbHNoYWRlKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJzNkIGJ1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfU1RZTEVTID0gW1xuICB7XG4gICAgaWQ6ICdkYXJrJyxcbiAgICBsYWJlbDogJ0RhcmsnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYmJmNmw5azMwMnNsOTZ0eXZrYTA5JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9EQVJLX1YyLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ2xpZ2h0JyxcbiAgICBsYWJlbDogJ0xpZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pvcWI5ajMzOWsxZjJzbDl0NWljNWJuNCcsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTElHSFRfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ5bDAza3AxdHVsMnNtZjV2MnRiZGQ0JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9NVVRFRF9MSUdIVC5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZF9uaWdodCcsXG4gICAgbGFiZWw6ICdNdXRlZCBOaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnhobGlrbWFqMWIyc295emV2bnl3Z3MnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX05JR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ3NhdGVsbGl0ZScsXG4gICAgbGFiZWw6ICdTYXRlbGxpdGUnLFxuICAgIHVybDogYG1hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXY5YCxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9TQVRFTExJVEUucG5nYFxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgR0VPSlNPTl9GSUVMRFMgPSB7XG4gIGdlb2pzb246IFsnX2dlb2pzb24nLCAnYWxsX3BvaW50cycsICdnZW9qc29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBJQ09OX0ZJRUxEUyA9IHtcbiAgaWNvbjogWydpY29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBUUklQX1BPSU5UX0ZJRUxEUyA9IFtcbiAgWydsYXQnLCAnbG5nJ10sXG4gIFsnbGF0JywgJ2xvbiddLFxuICBbJ2xhdGl0dWRlJywgJ2xvbmdpdHVkZSddXG5dO1xuXG5leHBvcnQgY29uc3QgVFJJUF9BUkNfRklFTERTID0ge1xuICBsYXQwOiAnYmVnaW50cmlwJyxcbiAgbG5nMDogJ2JlZ2ludHJpcCcsXG4gIGxhdDE6ICdkcm9wb2ZmJyxcbiAgbG5nMTogJ2Ryb3BvZmYnXG59O1xuXG5leHBvcnQgY29uc3QgRklMVEVSX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgcmFuZ2U6IG51bGwsXG4gIHNlbGVjdDogbnVsbCxcbiAgaW5wdXQ6IG51bGwsXG4gIHRpbWVSYW5nZTogbnVsbCxcbiAgbXVsdGlTZWxlY3Q6IG51bGwsXG4gIHBvbHlnb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBvcmRpbmFsOiBudWxsLFxuICBxdWFudGlsZTogbnVsbCxcbiAgcXVhbnRpemU6IG51bGwsXG4gIGxpbmVhcjogbnVsbCxcbiAgc3FydDogbnVsbCxcbiAgbG9nOiBudWxsLFxuXG4gIC8vIG9yZGluYWwgZG9tYWluIHRvIGxpbmVhciByYW5nZVxuICBwb2ludDogbnVsbCxcbiAgY3VzdG9tOiBudWxsLFxuICAvLyBVSS1vbmx5IHR5cGUsIHJlc29sdmluZyBhcyBjdXN0b21cbiAgbG9nYXJpdGhtaWM6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgU0NBTEVfRlVOQyA9IHtcbiAgW1NDQUxFX1RZUEVTLmxpbmVhcl06IHNjYWxlTGluZWFyLFxuICBbU0NBTEVfVFlQRVMucXVhbnRpemVdOiBzY2FsZVF1YW50aXplLFxuICBbU0NBTEVfVFlQRVMucXVhbnRpbGVdOiBzY2FsZVF1YW50aWxlLFxuICBbU0NBTEVfVFlQRVMub3JkaW5hbF06IHNjYWxlT3JkaW5hbCxcbiAgW1NDQUxFX1RZUEVTLnNxcnRdOiBzY2FsZVNxcnQsXG4gIFtTQ0FMRV9UWVBFUy5sb2ddOiBzY2FsZUxvZyxcbiAgW1NDQUxFX1RZUEVTLnBvaW50XTogc2NhbGVQb2ludCxcbiAgW1NDQUxFX1RZUEVTLmN1c3RvbV06IHNjYWxlVGhyZXNob2xkXG59O1xuXG5leHBvcnQgY29uc3QgQUxMX0ZJRUxEX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgYm9vbGVhbjogbnVsbCxcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogbnVsbCxcbiAgcmVhbDogbnVsbCxcbiAgc3RyaW5nOiBudWxsLFxuICB0aW1lc3RhbXA6IG51bGwsXG4gIHBvaW50OiBudWxsXG59KTtcblxuLy8gRGF0YSBUYWJsZVxuZXhwb3J0IGNvbnN0IFNPUlRfT1JERVIgPSBrZXlNaXJyb3Ioe1xuICBBU0NFTkRJTkc6IG51bGwsXG4gIERFU0NFTkRJTkc6IG51bGwsXG4gIFVOU09SVDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT04gPSBrZXlNaXJyb3Ioe1xuICBTT1JUX0FTQzogbnVsbCxcbiAgU09SVF9ERVM6IG51bGwsXG4gIFVOU09SVDogbnVsbCxcbiAgUElOOiBudWxsLFxuICBVTlBJTjogbnVsbCxcbiAgQ09QWTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT05fTElTVCA9IFtcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9BU0MsXG4gICAgZGlzcGxheTogJ1NvcnQgQXNjZW5kaW5nJyxcbiAgICBpY29uOiBBcnJvd1VwLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuQVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlNPUlRfREVTLFxuICAgIGRpc3BsYXk6ICdTb3J0IERlc2NlbmRpbmcnLFxuICAgIGljb246IEFycm93RG93bixcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLnNvcnRNb2RlICE9PSBTT1JUX09SREVSLkRFU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uVU5TT1JULFxuICAgIGRpc3BsYXk6ICdVbnNvcnQgQ29sdW1uJyxcbiAgICBpY29uOiBDYW5jZWwsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1NvcnRlZFxuICB9LFxuICB7dmFsdWU6IFRBQkxFX09QVElPTi5QSU4sIGRpc3BsYXk6ICdQaW4gQ29sdW1uJywgaWNvbjogUGluLCBjb25kaXRpb246IHByb3BzID0+ICFwcm9wcy5pc1Bpbm5lZH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOUElOLFxuICAgIGRpc3BsYXk6ICdVbnBpbiBDb2x1bW4nLFxuICAgIGljb246IENhbmNlbCxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzUGlubmVkXG4gIH0sXG4gIHt2YWx1ZTogVEFCTEVfT1BUSU9OLkNPUFksIGRpc3BsYXk6ICdDb3B5IENvbHVtbicsIGljb246IENsaXBib2FyZH1cbl07XG5cbmNvbnN0IE9SQU5HRSA9ICcyNDgsIDE5NCwgMjgnO1xuY29uc3QgUElOSyA9ICcyMzEsIDE4OSwgMTk0JztcbmNvbnN0IFBVUlBMRSA9ICcxNjAsIDEwNiwgMjA2JztcbmNvbnN0IEJMVUUgPSAnMTQwLCAyMTAsIDIwNSc7XG5jb25zdCBCTFVFMiA9ICcxMDYsIDE2MCwgMjA2JztcbmNvbnN0IEJMVUUzID0gJzAsIDE3MiwgMjM3JztcbmNvbnN0IEdSRUVOID0gJzEwNiwgMTYwLCA1Nic7XG5jb25zdCBSRUQgPSAnMjM3LCA4OCwgMTA2JztcblxuZXhwb3J0IGNvbnN0IEZJTEVEX1RZUEVfRElTUExBWSA9IHtcbiAgW0FMTF9GSUVMRF9UWVBFUy5ib29sZWFuXToge1xuICAgIGxhYmVsOiAnYm9vbCcsXG4gICAgY29sb3I6IFBJTktcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5kYXRlXToge1xuICAgIGxhYmVsOiAnZGF0ZScsXG4gICAgY29sb3I6IFBVUlBMRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmdlb2pzb25dOiB7XG4gICAgbGFiZWw6ICdnZW8nLFxuICAgIGNvbG9yOiBCTFVFMlxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJdOiB7XG4gICAgbGFiZWw6ICdpbnQnLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5yZWFsXToge1xuICAgIGxhYmVsOiAnZmxvYXQnLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgbGFiZWw6ICdzdHJpbmcnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIGxhYmVsOiAndGltZScsXG4gICAgY29sb3I6IEdSRUVOXG4gIH0sXG4gIC8vIGZpZWxkIHBhaXJzXG4gIFtBTExfRklFTERfVFlQRVMucG9pbnRdOiB7XG4gICAgbGFiZWw6ICdwb2ludCcsXG4gICAgY29sb3I6IEJMVUUzXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRCA9IFsyNTUsIDI1NSwgMjU1LCA2MF07XG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRVMgPSBrZXlNaXJyb3Ioe1xuICBjb2xvcjogbnVsbCxcbiAgcmFkaXVzOiBudWxsLFxuICBzaXplOiBudWxsLFxuICBjdXN0b21NYXJrZXI6IG51bGwsXG4gIGNvbG9yQWdncjogbnVsbCxcbiAgc2l6ZUFnZ3I6IG51bGwsXG4gIGlkZW50aXR5OiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX1RZUEVTID0ge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnLFxuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnLFxuICBtYXhpbXVtOiAnbWF4aW11bScsXG4gIG1pbmltdW06ICdtaW5pbXVtJyxcbiAgbWVkaWFuOiAnbWVkaWFuJyxcbiAgc3RkZXY6ICdzdGRldicsXG4gIHN1bTogJ3N1bScsXG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnLFxuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJyxcbiAgY291bnRVbmlxdWU6ICdjb3VudCB1bmlxdWUnLFxuICBhbnlWYWx1ZTogJ2FueV92YWx1ZSdcbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyA9IHtcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogW1xuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN1bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZVxuICBdLFxuICByZWFsOiBbXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuY291bnQsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3VtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXG4gIF0sXG4gIHN0cmluZzogW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGUsIEFHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXSxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbFxufTtcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0FHR1JFR0FUT1JTID0gW1xuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIGRpc3BsYXlOYW1lOiAnQ09VTlQnXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FWRydcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIGRpc3BsYXlOYW1lOiAnTUFYJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgZGlzcGxheU5hbWU6ICdNSU4nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgZGlzcGxheU5hbWU6ICdTVERFVidcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5zdW0sXG4gICAgZGlzcGxheU5hbWU6ICdTVU0nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2UsXG4gICAgZGlzcGxheU5hbWU6ICdWQVJJQU5DRSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tb2RlLFxuICAgIGRpc3BsYXlOYW1lOiAnTU9ERSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FOWSBWQUxVRSdcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmN1c3RvbU1hcmtlcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmlkZW50aXR5XTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcblxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jdXN0b21NYXJrZXJdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICAvLyBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmxpbmVhcl0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGVdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtcbiAgICAgIFNDQUxFX1RZUEVTLnF1YW50aXplLFxuICAgICAgU0NBTEVfVFlQRVMucXVhbnRpbGUsXG4gICAgICBTQ0FMRV9UWVBFUy5jdXN0b21cbiAgICBdXG4gIH0sXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY3VzdG9tTWFya2VyXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIHN0cmluZzoge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIHJlYWw6IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICB0aW1lc3RhbXA6IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgaW50ZWdlcjoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBkYXRlOiB7XG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoZnQgPT4gT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoKVxuICB9KSxcbiAge31cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUyA9IFtdO1xuXG5leHBvcnQgY29uc3QgTk9fVkFMVUVfQ09MT1IgPSBbMCwgMCwgMCwgMF07XG5leHBvcnQgY29uc3QgVU5LTk9XTl9DT0xPUiA9IFsxMzQsIDE0MSwgMTQ1XTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogRVhQT1JUX0lNR19SQVRJT1MuU0NSRUVOLFxuICAgIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9PcmlnaW5hbFNjcmVlbicsXG4gICAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG4gIH0sXG4gIHtcbiAgICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvQ3VzdG9tJyxcbiAgICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbiAgfSxcbiAge1xuICAgIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5GT1VSX0JZX1RIUkVFLFxuICAgIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gICAgfSlcbiAgfSxcbiAge1xuICAgIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TSVhURUVOX0JZX05JTkUsXG4gICAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgICB9KVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogUkVTT0xVVElPTlMuT05FX1gsXG4gICAgbGFiZWw6ICcxeCcsXG4gICAgYXZhaWxhYmxlOiB0cnVlLFxuICAgIHNjYWxlOiAxLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IHNjcmVlbkhcbiAgICB9KVxuICB9LFxuICB7XG4gICAgaWQ6IFJFU09MVVRJT05TLlRXT19YLFxuICAgIGxhYmVsOiAnMngnLFxuICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICBzY2FsZTogMixcbiAgICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICAgIGhlaWdodDogc2NyZWVuSCAqIDJcbiAgICB9KVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChlbnRyeSA9PiAoe1xuICBpZDogZW50cnlbMF0sXG4gIGxhYmVsOiBlbnRyeVsxXS50b0xvd2VyQ2FzZSgpLFxuICBhdmFpbGFibGU6IHRydWVcbn0pKTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfSFRNTF9NQVBfTU9ERVMpLm1hcChlbnRyeSA9PiAoe1xuICBpZDogZW50cnlbMF0sXG4gIGxhYmVsOiBgbW9kYWwuZXhwb3J0TWFwLmh0bWwuJHtlbnRyeVsxXS50b0xvd2VyQ2FzZSgpfWAsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG59KSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1VVSURfQ09VTlQgPSA2O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSA9ICdNRVNTQUdFX05PVF9QUk9WSURFRCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGluZm86IG51bGwsXG4gIGVycm9yOiBudWxsLFxuICB3YXJuaW5nOiBudWxsLFxuICBzdWNjZXNzOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyA9IGtleU1pcnJvcih7XG4gIGdsb2JhbDogbnVsbCxcbiAgZmlsZTogbnVsbFxufSk7XG5cbi8vIE1pbmltdW0gdGltZSBiZXR3ZWVuIGlkZW50aWNhbCBub3RpZmljYXRpb25zIGFib3V0IGRlY2suZ2wgZXJyb3JzXG5leHBvcnQgY29uc3QgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUgPSAyNTAwO1xuXG4vLyBBbmltYXRpb25cbmV4cG9ydCBjb25zdCBCQVNFX1NQRUVEID0gNjAwO1xuZXhwb3J0IGNvbnN0IEZQUyA9IDYwO1xuXG4vKipcbiAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICogMS4gZnJlZVxuICogIHwtPiAgfC0+XG4gKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3Zpbmcgd2luZG93XG4gKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDIuIGluY3JlbWVudGFsXG4gKiB8ICAgIHwtPlxuICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMy4gcG9pbnRcbiAqIG8gLT4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3ZpbmcgcG9pbnRcbiAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogNC4gaW50ZXJ2YWxcbiAqIG8gfj4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gKiBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBhdCBhIGludGVydmFsIHdoZW4gdGhlIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAqL1xuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9XSU5ET1cgPSBrZXlNaXJyb3Ioe1xuICBmcmVlOiBudWxsLFxuICBpbmNyZW1lbnRhbDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGludGVydmFsOiBudWxsXG59KTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVfRk9STUFUID0gJ01NL0REL1lZIEhIOm1tOnNzYSc7XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9SQU5HRSA9IFswLCAxMF07XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9TVEVQID0gMC4wMDE7XG5cbi8vIEdlb2NvZGVyXG5leHBvcnQgY29uc3QgR0VPQ09ERVJfREFUQVNFVF9OQU1FID0gJ2dlb2NvZGVyX2RhdGFzZXQnO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0xBWUVSX0lEID0gJ2dlb2NvZGVyX2xheWVyJztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9HRU9fT0ZGU0VUID0gMC4wNTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX0NPTE9SID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIFdlIGNvdWxkIHVzZSBkaXJlY3RseSByZWFjdC1tYXAtZ2wtZHJhdyBFZGl0b3JNb2RlIGJ1dCB0aGlzIHdvdWxkXG4vLyBjcmVhdGUgYSBkaXJlY3QgZGVwZW5kZW5jeSB3aXRoIHJlYWN0LW1hcC1nbC1kcmF3XG4vLyBDcmVhdGVkIHRoaXMgbWFwIHRvIGJlIGluZGVwZW5kZW50IGZyb20gcmVhY3QtbWFwLWdsLWRyYXdcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIFJFQURfT05MWTogRWRpdG9yTW9kZXMuUkVBRF9PTkxZLFxuICBEUkFXX1BPTFlHT046IEVkaXRvck1vZGVzLkRSQVdfUE9MWUdPTixcbiAgRFJBV19SRUNUQU5HTEU6IEVkaXRvck1vZGVzLkRSQVdfUkVDVEFOR0xFLFxuICBFRElUOiBFZGl0b3JNb2Rlcy5FRElUX1ZFUlRFWFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTID0gW1xuICBMQVlFUl9UWVBFUy5wb2ludCxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbixcbiAgTEFZRVJfVFlQRVMuYXJjLFxuICBMQVlFUl9UWVBFUy5saW5lLFxuICBMQVlFUl9UWVBFUy5oZXhhZ29uSWRcbl07XG4vLyBHUFUgRmlsdGVyaW5nXG4vKipcbiAqIE1heCBudW1iZXIgb2YgZmlsdGVyIHZhbHVlIGJ1ZmZlcnMgdGhhdCBkZWNrLmdsIHByb3ZpZGVzXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfR1BVX0ZJTFRFUlMgPSA0O1xuZXhwb3J0IGNvbnN0IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OID0ge1xuICB3aWR0aDogMzAwLFxuICBoZWlnaHQ6IDIwMFxufTtcblxuZXhwb3J0IGNvbnN0IE1BUF9JTkZPX0NIQVJBQ1RFUiA9IHtcbiAgdGl0bGU6IDEwMCxcbiAgZGVzY3JpcHRpb246IDEwMFxufTtcblxuLy8gTG9hZCBkYXRhXG5leHBvcnQgY29uc3QgTE9BRElOR19NRVRIT0RTID0ga2V5TWlycm9yKHtcbiAgdXBsb2FkOiBudWxsLFxuICBzdG9yYWdlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERBVEFTRVRfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIHJvdzogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgY3N2OiBudWxsLFxuICBrZXBsZXJnbDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVBfQ09OVFJPTFMgPSBrZXlNaXJyb3Ioe1xuICB2aXNpYmxlTGF5ZXJzOiBudWxsLFxuICBtYXBMZWdlbmQ6IG51bGwsXG4gIHRvZ2dsZTNkOiBudWxsLFxuICBzcGxpdE1hcDogbnVsbCxcbiAgbWFwRHJhdzogbnVsbCxcbiAgbWFwTG9jYWxlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IE1BU0tfTEFZRVJfSUQgPSAnbWFza19sYXllcic7XG5cbmV4cG9ydCBjb25zdCBaT09NX0xFVkVMX0xJTUlUUyA9IHtcbiAgbWluOiAwLFxuICBtYXg6IDIxXG59O1xuIl19
902
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy5qcyJdLCJuYW1lcyI6WyJBQ1RJT05fUFJFRklYIiwiQ0xPVURGUk9OVCIsIklDT05fUFJFRklYIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsIkRBVEFfVEFCTEVfSUQiLCJERUxFVEVfREFUQV9JRCIsIkFERF9EQVRBX0lEIiwiRVhQT1JUX0lNQUdFX0lEIiwiRVhQT1JUX0RBVEFfSUQiLCJBRERfTUFQX1NUWUxFX0lEIiwiRVhQT1JUX01BUF9JRCIsIlNBVkVfTUFQX0lEIiwiT1ZFUldSSVRFX01BUF9JRCIsIlNIQVJFX01BUF9JRCIsIktFUExFUl9HTF9OQU1FIiwiS0VQTEVSX0dMX1ZFUlNJT04iLCJLRVBMRVJfR0xfV0VCU0lURSIsIkRJTUVOU0lPTlMiLCJzaWRlUGFuZWwiLCJ3aWR0aCIsIm1hcmdpbiIsInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCIsImhlYWRlckhlaWdodCIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiVEhFTUUiLCJsaWdodCIsImRhcmsiLCJiYXNlIiwiU0lERUJBUl9QQU5FTFMiLCJpZCIsImxhYmVsIiwiaWNvbkNvbXBvbmVudCIsIkxheWVycyIsIm9uQ2xpY2siLCJGaWx0ZXJGdW5uZWwiLCJDdXJzb3JDbGljayIsIlNldHRpbmdzIiwiUEFORUxTIiwiREVGQVVMVF9MQVlFUl9HUk9VUFMiLCJzbHVnIiwiZmlsdGVyIiwibWF0Y2giLCJkZWZhdWx0VmlzaWJpbGl0eSIsIkRFRkFVTFRfTUFQX1NUWUxFUyIsInVybCIsImljb24iLCJsYXllckdyb3VwcyIsIkdFT0pTT05fRklFTERTIiwiZ2VvanNvbiIsIklDT05fRklFTERTIiwiVFJJUF9QT0lOVF9GSUVMRFMiLCJUUklQX0FSQ19GSUVMRFMiLCJsYXQwIiwibG5nMCIsImxhdDEiLCJsbmcxIiwiRklMVEVSX1RZUEVTIiwicmFuZ2UiLCJzZWxlY3QiLCJpbnB1dCIsInRpbWVSYW5nZSIsIm11bHRpU2VsZWN0IiwicG9seWdvbiIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsInF1YW50aWxlIiwicXVhbnRpemUiLCJsaW5lYXIiLCJzcXJ0IiwibG9nIiwicG9pbnQiLCJjdXN0b20iLCJsb2dhcml0aG1pYyIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJBTExfRklFTERfVFlQRVMiLCJkYXRlIiwiaW50ZWdlciIsInJlYWwiLCJzdHJpbmciLCJ0aW1lc3RhbXAiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiREVTQ0VORElORyIsIlVOU09SVCIsIlRBQkxFX09QVElPTiIsIlNPUlRfQVNDIiwiU09SVF9ERVMiLCJQSU4iLCJVTlBJTiIsIkNPUFkiLCJUQUJMRV9PUFRJT05fTElTVCIsInZhbHVlIiwiZGlzcGxheSIsIkFycm93VXAiLCJjb25kaXRpb24iLCJwcm9wcyIsInNvcnRNb2RlIiwiQXJyb3dEb3duIiwiQ2FuY2VsIiwiaXNTb3J0ZWQiLCJQaW4iLCJpc1Bpbm5lZCIsIkNsaXBib2FyZCIsIk9SQU5HRSIsIlBJTksiLCJQVVJQTEUiLCJCTFVFIiwiQkxVRTIiLCJCTFVFMyIsIkdSRUVOIiwiUkVEIiwiRklMRURfVFlQRV9ESVNQTEFZIiwiY29sb3IiLCJGSUVMRF9DT0xPUlMiLCJISUdITElHSF9DT0xPUl8zRCIsIkNIQU5ORUxfU0NBTEVTIiwicmFkaXVzIiwic2l6ZSIsImN1c3RvbU1hcmtlciIsImNvbG9yQWdnciIsInNpemVBZ2dyIiwiaWRlbnRpdHkiLCJBR0dSRUdBVElPTl9UWVBFUyIsImNvdW50IiwiYXZlcmFnZSIsIm1heGltdW0iLCJtaW5pbXVtIiwibWVkaWFuIiwic3RkZXYiLCJzdW0iLCJ2YXJpYW5jZSIsIm1vZGUiLCJjb3VudFVuaXF1ZSIsImFueVZhbHVlIiwiRklFTERfVFlQRVNfQUdHUkVHQVRPUlMiLCJGSUVMRF9BR0dSRUdBVE9SUyIsImRpc3BsYXlOYW1lIiwibGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyIsImxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zIiwib3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJub3RTdXBwb3J0ZWRTY2FsZU9wdHMiLCJub3RTdXBwb3J0QWdnck9wdHMiLCJERUZBVUxUX0FHR1JFR0FUSU9OIiwiRklFTERfT1BUUyIsInR5cGUiLCJzY2FsZSIsImZvcm1hdCIsImxlZ2VuZCIsImQiLCJ0b29sdGlwIiwiVE9PTFRJUF9GT1JNQVRfVFlQRVMiLCJOT05FIiwiREVDSU1BTCIsIlBFUkNFTlRBR0UiLCJEQVRFIiwiREFURV9USU1FIiwiQk9PTEVBTiIsIkNIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEUyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2N1Iiwia2V5IiwiZnQiLCJsZW5ndGgiLCJERUZBVUxUX0xBWUVSX0NPTE9SIiwidHJpcEFyYyIsImJlZ2ludHJpcF9sYXQiLCJkcm9wb2ZmX2xhdCIsInJlcXVlc3RfbGF0IiwiREVGQVVMVF9UT09MVElQX0ZJRUxEUyIsIk5PX1ZBTFVFX0NPTE9SIiwiVU5LTk9XTl9DT0xPUiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsIm5vcm1hbCIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJoaWRkZW4iLCJtYXBXIiwibWFwSCIsIk1hdGgiLCJyb3VuZCIsIkVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TIiwiYXZhaWxhYmxlIiwiRVhQT1JUX0RBVEFfVFlQRSIsIkNTViIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsInRvTG93ZXJDYXNlIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsIkpTT04iLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVMiLCJSRUFEIiwiRURJVCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJlbnRyaWVzIiwibWFwIiwiZW50cnkiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TIiwiREVGQVVMVF9VVUlEX0NPVU5UIiwiREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsImVycm9yIiwid2FybmluZyIsInN1Y2Nlc3MiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJmaWxlIiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJCQVNFX1NQRUVEIiwiRlBTIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpbmNyZW1lbnRhbCIsImludGVydmFsIiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJHRU9DT0RFUl9MQVlFUl9JRCIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiR0VPQ09ERVJfSUNPTl9TSVpFIiwiRURJVE9SX01PREVTIiwiUkVBRF9PTkxZIiwiRWRpdG9yTW9kZXMiLCJEUkFXX1BPTFlHT04iLCJEUkFXX1JFQ1RBTkdMRSIsIkVESVRfVkVSVEVYIiwiRURJVE9SX0FWQUlMQUJMRV9MQVlFUlMiLCJMQVlFUl9UWVBFUyIsImhleGFnb24iLCJhcmMiLCJsaW5lIiwiaGV4YWdvbklkIiwiTUFYX0dQVV9GSUxURVJTIiwiTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04iLCJNQVBfSU5GT19DSEFSQUNURVIiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiTE9BRElOR19NRVRIT0RTIiwidXBsb2FkIiwic3RvcmFnZSIsIkRBVEFTRVRfRk9STUFUUyIsInJvdyIsImNzdiIsImtlcGxlcmdsIiwiTUFQX0NPTlRST0xTIiwidmlzaWJsZUxheWVycyIsIm1hcExlZ2VuZCIsInRvZ2dsZTNkIiwic3BsaXRNYXAiLCJtYXBEcmF3IiwibWFwTG9jYWxlIiwiTUFTS19MQVlFUl9JRCIsIlpPT01fTEVWRUxfTElNSVRTIiwibWluIiwibWF4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUFVQTs7QUFXQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFTyxJQUFNQSxhQUFhLEdBQUcsY0FBdEI7O0FBQ0EsSUFBTUMsVUFBVSxHQUFHLGlEQUFuQjs7QUFDQSxJQUFNQyxXQUFXLGFBQU1ELFVBQU4sYUFBakI7O0FBQ0EsSUFBTUUsc0JBQXNCLEdBQUcsd0JBQS9CLEMsQ0FFUDs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGFBQWEsR0FBRyxXQUF0QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsY0FBYyxHQUFHLFlBQXZCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxXQUFXLEdBQUcsU0FBcEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGVBQWUsR0FBRyxhQUF4QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsY0FBYyxHQUFHLFlBQXZCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxnQkFBZ0IsR0FBRyxhQUF6QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsYUFBYSxHQUFHLFdBQXRCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxXQUFXLEdBQUcsU0FBcEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGdCQUFnQixHQUFHLGNBQXpCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxZQUFZLEdBQUcsVUFBckI7O0FBRUEsSUFBTUMsY0FBYyxHQUFHLFdBQXZCLEMsQ0FFUDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsaUJBQWlCLEdBQUcsdUJBQTFCOztBQUNBLElBQU1DLGlCQUFpQixHQUFHLG1CQUExQjs7QUFFQSxJQUFNQyxVQUFVLEdBQUc7QUFDeEJDLEVBQUFBLFNBQVMsRUFBRTtBQUNUQyxJQUFBQSxLQUFLLEVBQUUsR0FERTtBQUVUQyxJQUFBQSxNQUFNLEVBQUU7QUFBQ0MsTUFBQUEsR0FBRyxFQUFFLEVBQU47QUFBVUMsTUFBQUEsSUFBSSxFQUFFLEVBQWhCO0FBQW9CQyxNQUFBQSxNQUFNLEVBQUUsRUFBNUI7QUFBZ0NDLE1BQUFBLEtBQUssRUFBRTtBQUF2QyxLQUZDO0FBR1RDLElBQUFBLFlBQVksRUFBRTtBQUhMLEdBRGE7QUFNeEJDLEVBQUFBLFVBQVUsRUFBRTtBQUNWUCxJQUFBQSxLQUFLLEVBQUUsR0FERztBQUVWUSxJQUFBQSxPQUFPLEVBQUU7QUFGQztBQU5ZLENBQW5CO0FBWVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsS0FBSyxHQUFHLDJCQUFVO0FBQzdCQyxFQUFBQSxLQUFLLEVBQUUsSUFEc0I7QUFFN0JDLEVBQUFBLElBQUksRUFBRSxJQUZ1QjtBQUc3QkMsRUFBQUEsSUFBSSxFQUFFO0FBSHVCLENBQVYsQ0FBZDs7QUFNQSxJQUFNQyxjQUFjLEdBQUcsQ0FDNUI7QUFDRUMsRUFBQUEsRUFBRSxFQUFFLE9BRE47QUFFRUMsRUFBQUEsS0FBSyxFQUFFLHNCQUZUO0FBR0VDLEVBQUFBLGFBQWEsRUFBRUMsYUFIakI7QUFJRUMsRUFBQUEsT0FBTyxFQUFFO0FBSlgsQ0FENEIsRUFPNUI7QUFDRUosRUFBQUEsRUFBRSxFQUFFLFFBRE47QUFFRUMsRUFBQUEsS0FBSyxFQUFFLHVCQUZUO0FBR0VDLEVBQUFBLGFBQWEsRUFBRUcsbUJBSGpCO0FBSUVELEVBQUFBLE9BQU8sRUFBRTtBQUpYLENBUDRCLEVBYTVCO0FBQ0VKLEVBQUFBLEVBQUUsRUFBRSxhQUROO0FBRUVDLEVBQUFBLEtBQUssRUFBRSw0QkFGVDtBQUdFQyxFQUFBQSxhQUFhLEVBQUVJLGtCQUhqQjtBQUlFRixFQUFBQSxPQUFPLEVBQUU7QUFKWCxDQWI0QixFQW1CNUI7QUFDRUosRUFBQUEsRUFBRSxFQUFFLEtBRE47QUFFRUMsRUFBQUEsS0FBSyxFQUFFLHdCQUZUO0FBR0VDLEVBQUFBLGFBQWEsRUFBRUssZUFIakI7QUFJRUgsRUFBQUEsT0FBTyxFQUFFO0FBSlgsQ0FuQjRCLENBQXZCLEMsQ0EyQlA7OztBQUNPLElBQU1JLE1BQU0sR0FBR1QsY0FBZixDLENBRVA7OztBQUVPLElBQU1VLG9CQUFvQixHQUFHLENBQ2xDO0FBQ0VDLEVBQUFBLElBQUksRUFBRSxPQURSO0FBRUVDLEVBQUFBLE1BQU0sRUFBRTtBQUFBLFFBQUVYLEVBQUYsUUFBRUEsRUFBRjtBQUFBLFdBQVVBLEVBQUUsQ0FBQ1ksS0FBSCxDQUFTLHlCQUFULENBQVY7QUFBQSxHQUZWO0FBR0VDLEVBQUFBLGlCQUFpQixFQUFFO0FBSHJCLENBRGtDLEVBTWxDO0FBQ0VILEVBQUFBLElBQUksRUFBRSxNQURSO0FBRUVDLEVBQUFBLE1BQU0sRUFBRTtBQUFBLFFBQUVYLEVBQUYsU0FBRUEsRUFBRjtBQUFBLFdBQVVBLEVBQUUsQ0FBQ1ksS0FBSCxDQUFTLG9EQUFULENBQVY7QUFBQSxHQUZWO0FBR0VDLEVBQUFBLGlCQUFpQixFQUFFO0FBSHJCLENBTmtDLEVBV2xDO0FBQ0VILEVBQUFBLElBQUksRUFBRSxRQURSO0FBRUVDLEVBQUFBLE1BQU0sRUFBRTtBQUFBLFFBQUVYLEVBQUYsU0FBRUEsRUFBRjtBQUFBLFdBQVVBLEVBQUUsQ0FBQ1ksS0FBSCxDQUFTLG1CQUFULENBQVY7QUFBQSxHQUZWO0FBR0VDLEVBQUFBLGlCQUFpQixFQUFFO0FBSHJCLENBWGtDLEVBZ0JsQztBQUNFSCxFQUFBQSxJQUFJLEVBQUUsVUFEUjtBQUVFQyxFQUFBQSxNQUFNLEVBQUU7QUFBQSxRQUFFWCxFQUFGLFNBQUVBLEVBQUY7QUFBQSxXQUFVQSxFQUFFLENBQUNZLEtBQUgsQ0FBUyxVQUFULENBQVY7QUFBQSxHQUZWO0FBR0VDLEVBQUFBLGlCQUFpQixFQUFFO0FBSHJCLENBaEJrQyxFQXFCbEM7QUFDRUgsRUFBQUEsSUFBSSxFQUFFLE9BRFI7QUFFRUMsRUFBQUEsTUFBTSxFQUFFO0FBQUEsUUFBRVgsRUFBRixTQUFFQSxFQUFGO0FBQUEsV0FBVUEsRUFBRSxDQUFDWSxLQUFILENBQVMsMEJBQVQsQ0FBVjtBQUFBLEdBRlY7QUFHRUMsRUFBQUEsaUJBQWlCLEVBQUU7QUFIckIsQ0FyQmtDLEVBMEJsQztBQUNFSCxFQUFBQSxJQUFJLEVBQUUsTUFEUjtBQUVFQyxFQUFBQSxNQUFNLEVBQUU7QUFBQSxRQUFFWCxFQUFGLFNBQUVBLEVBQUY7QUFBQSxXQUFVQSxFQUFFLENBQUNZLEtBQUgsQ0FBUyxpREFBVCxDQUFWO0FBQUEsR0FGVjtBQUdFQyxFQUFBQSxpQkFBaUIsRUFBRTtBQUhyQixDQTFCa0MsRUErQmxDO0FBQ0VILEVBQUFBLElBQUksRUFBRSxhQURSO0FBRUVDLEVBQUFBLE1BQU0sRUFBRTtBQUFBLFdBQU0sS0FBTjtBQUFBLEdBRlY7QUFHRUUsRUFBQUEsaUJBQWlCLEVBQUU7QUFIckIsQ0EvQmtDLENBQTdCOztBQXNDQSxJQUFNQyxrQkFBa0IsR0FBRyxDQUNoQztBQUNFZCxFQUFBQSxFQUFFLEVBQUUsTUFETjtBQUVFQyxFQUFBQSxLQUFLLEVBQUUsTUFGVDtBQUdFYyxFQUFBQSxHQUFHLEVBQUUsb0RBSFA7QUFJRUMsRUFBQUEsSUFBSSxZQUFLL0MsV0FBTCxzQkFKTjtBQUtFZ0QsRUFBQUEsV0FBVyxFQUFFUjtBQUxmLENBRGdDLEVBUWhDO0FBQ0VULEVBQUFBLEVBQUUsRUFBRSxPQUROO0FBRUVDLEVBQUFBLEtBQUssRUFBRSxPQUZUO0FBR0VjLEVBQUFBLEdBQUcsRUFBRSxvREFIUDtBQUlFQyxFQUFBQSxJQUFJLFlBQUsvQyxXQUFMLHVCQUpOO0FBS0VnRCxFQUFBQSxXQUFXLEVBQUVSO0FBTGYsQ0FSZ0MsRUFlaEM7QUFDRVQsRUFBQUEsRUFBRSxFQUFFLE9BRE47QUFFRUMsRUFBQUEsS0FBSyxFQUFFLGFBRlQ7QUFHRWMsRUFBQUEsR0FBRyxFQUFFLG9EQUhQO0FBSUVDLEVBQUFBLElBQUksWUFBSy9DLFdBQUwsMEJBSk47QUFLRWdELEVBQUFBLFdBQVcsRUFBRVI7QUFMZixDQWZnQyxFQXNCaEM7QUFDRVQsRUFBQUEsRUFBRSxFQUFFLGFBRE47QUFFRUMsRUFBQUEsS0FBSyxFQUFFLGFBRlQ7QUFHRWMsRUFBQUEsR0FBRyxFQUFFLG9EQUhQO0FBSUVDLEVBQUFBLElBQUksWUFBSy9DLFdBQUwsMEJBSk47QUFLRWdELEVBQUFBLFdBQVcsRUFBRVI7QUFMZixDQXRCZ0MsRUE2QmhDO0FBQ0VULEVBQUFBLEVBQUUsRUFBRSxXQUROO0FBRUVDLEVBQUFBLEtBQUssRUFBRSxXQUZUO0FBR0VjLEVBQUFBLEdBQUcsdUNBSEw7QUFJRUMsRUFBQUEsSUFBSSxZQUFLL0MsV0FBTDtBQUpOLENBN0JnQyxDQUEzQjs7QUFxQ0EsSUFBTWlELGNBQWMsR0FBRztBQUM1QkMsRUFBQUEsT0FBTyxFQUFFLENBQUMsVUFBRCxFQUFhLFlBQWIsRUFBMkIsU0FBM0I7QUFEbUIsQ0FBdkI7O0FBSUEsSUFBTUMsV0FBVyxHQUFHO0FBQ3pCSixFQUFBQSxJQUFJLEVBQUUsQ0FBQyxNQUFEO0FBRG1CLENBQXBCOztBQUlBLElBQU1LLGlCQUFpQixHQUFHLENBQy9CLENBQUMsS0FBRCxFQUFRLEtBQVIsQ0FEK0IsRUFFL0IsQ0FBQyxLQUFELEVBQVEsS0FBUixDQUYrQixFQUcvQixDQUFDLFVBQUQsRUFBYSxXQUFiLENBSCtCLENBQTFCOztBQU1BLElBQU1DLGVBQWUsR0FBRztBQUM3QkMsRUFBQUEsSUFBSSxFQUFFLFdBRHVCO0FBRTdCQyxFQUFBQSxJQUFJLEVBQUUsV0FGdUI7QUFHN0JDLEVBQUFBLElBQUksRUFBRSxTQUh1QjtBQUk3QkMsRUFBQUEsSUFBSSxFQUFFO0FBSnVCLENBQXhCOztBQU9BLElBQU1DLFlBQVksR0FBRywyQkFBVTtBQUNwQ0MsRUFBQUEsS0FBSyxFQUFFLElBRDZCO0FBRXBDQyxFQUFBQSxNQUFNLEVBQUUsSUFGNEI7QUFHcENDLEVBQUFBLEtBQUssRUFBRSxJQUg2QjtBQUlwQ0MsRUFBQUEsU0FBUyxFQUFFLElBSnlCO0FBS3BDQyxFQUFBQSxXQUFXLEVBQUUsSUFMdUI7QUFNcENDLEVBQUFBLE9BQU8sRUFBRTtBQU4yQixDQUFWLENBQXJCOztBQVNBLElBQU1DLFdBQVcsR0FBRywyQkFBVTtBQUNuQ0MsRUFBQUEsT0FBTyxFQUFFLElBRDBCO0FBRW5DQyxFQUFBQSxRQUFRLEVBQUUsSUFGeUI7QUFHbkNDLEVBQUFBLFFBQVEsRUFBRSxJQUh5QjtBQUluQ0MsRUFBQUEsTUFBTSxFQUFFLElBSjJCO0FBS25DQyxFQUFBQSxJQUFJLEVBQUUsSUFMNkI7QUFNbkNDLEVBQUFBLEdBQUcsRUFBRSxJQU44QjtBQVFuQztBQUNBQyxFQUFBQSxLQUFLLEVBQUUsSUFUNEI7QUFVbkNDLEVBQUFBLE1BQU0sRUFBRSxJQVYyQjtBQVduQztBQUNBQyxFQUFBQSxXQUFXLEVBQUU7QUFac0IsQ0FBVixDQUFwQjs7QUFlQSxJQUFNQyxVQUFVLG9FQUNwQlYsV0FBVyxDQUFDSSxNQURRLEVBQ0NPLG9CQURELGlEQUVwQlgsV0FBVyxDQUFDRyxRQUZRLEVBRUdTLHNCQUZILGlEQUdwQlosV0FBVyxDQUFDRSxRQUhRLEVBR0dXLHNCQUhILGlEQUlwQmIsV0FBVyxDQUFDQyxPQUpRLEVBSUVhLHFCQUpGLGlEQUtwQmQsV0FBVyxDQUFDSyxJQUxRLEVBS0RVLGtCQUxDLGlEQU1wQmYsV0FBVyxDQUFDTSxHQU5RLEVBTUZVLGlCQU5FLGlEQU9wQmhCLFdBQVcsQ0FBQ08sS0FQUSxFQU9BVSxtQkFQQSxpREFRcEJqQixXQUFXLENBQUNRLE1BUlEsRUFRQ1UsdUJBUkQsZUFBaEI7O0FBV0EsSUFBTUMsZUFBZSxHQUFHLDJCQUFVO0FBQ3ZDLGFBQVMsSUFEOEI7QUFFdkNDLEVBQUFBLElBQUksRUFBRSxJQUZpQztBQUd2Q25DLEVBQUFBLE9BQU8sRUFBRSxJQUg4QjtBQUl2Q29DLEVBQUFBLE9BQU8sRUFBRSxJQUo4QjtBQUt2Q0MsRUFBQUEsSUFBSSxFQUFFLElBTGlDO0FBTXZDQyxFQUFBQSxNQUFNLEVBQUUsSUFOK0I7QUFPdkNDLEVBQUFBLFNBQVMsRUFBRSxJQVA0QjtBQVF2Q2pCLEVBQUFBLEtBQUssRUFBRTtBQVJnQyxDQUFWLENBQXhCLEMsQ0FXUDs7O0FBQ08sSUFBTWtCLFVBQVUsR0FBRywyQkFBVTtBQUNsQ0MsRUFBQUEsU0FBUyxFQUFFLElBRHVCO0FBRWxDQyxFQUFBQSxVQUFVLEVBQUUsSUFGc0I7QUFHbENDLEVBQUFBLE1BQU0sRUFBRTtBQUgwQixDQUFWLENBQW5COztBQU1BLElBQU1DLFlBQVksR0FBRywyQkFBVTtBQUNwQ0MsRUFBQUEsUUFBUSxFQUFFLElBRDBCO0FBRXBDQyxFQUFBQSxRQUFRLEVBQUUsSUFGMEI7QUFHcENILEVBQUFBLE1BQU0sRUFBRSxJQUg0QjtBQUlwQ0ksRUFBQUEsR0FBRyxFQUFFLElBSitCO0FBS3BDQyxFQUFBQSxLQUFLLEVBQUUsSUFMNkI7QUFNcENDLEVBQUFBLElBQUksRUFBRTtBQU44QixDQUFWLENBQXJCOztBQVNBLElBQU1DLGlCQUFpQixHQUFHLENBQy9CO0FBQ0VDLEVBQUFBLEtBQUssRUFBRVAsWUFBWSxDQUFDQyxRQUR0QjtBQUVFTyxFQUFBQSxPQUFPLEVBQUUsZ0JBRlg7QUFHRXZELEVBQUFBLElBQUksRUFBRXdELGNBSFI7QUFJRUMsRUFBQUEsU0FBUyxFQUFFLG1CQUFBQyxLQUFLO0FBQUEsV0FBSUEsS0FBSyxDQUFDQyxRQUFOLEtBQW1CaEIsVUFBVSxDQUFDQyxTQUFsQztBQUFBO0FBSmxCLENBRCtCLEVBTy9CO0FBQ0VVLEVBQUFBLEtBQUssRUFBRVAsWUFBWSxDQUFDRSxRQUR0QjtBQUVFTSxFQUFBQSxPQUFPLEVBQUUsaUJBRlg7QUFHRXZELEVBQUFBLElBQUksRUFBRTRELGdCQUhSO0FBSUVILEVBQUFBLFNBQVMsRUFBRSxtQkFBQUMsS0FBSztBQUFBLFdBQUlBLEtBQUssQ0FBQ0MsUUFBTixLQUFtQmhCLFVBQVUsQ0FBQ0UsVUFBbEM7QUFBQTtBQUpsQixDQVArQixFQWEvQjtBQUNFUyxFQUFBQSxLQUFLLEVBQUVQLFlBQVksQ0FBQ0QsTUFEdEI7QUFFRVMsRUFBQUEsT0FBTyxFQUFFLGVBRlg7QUFHRXZELEVBQUFBLElBQUksRUFBRTZELGFBSFI7QUFJRUosRUFBQUEsU0FBUyxFQUFFLG1CQUFBQyxLQUFLO0FBQUEsV0FBSUEsS0FBSyxDQUFDSSxRQUFWO0FBQUE7QUFKbEIsQ0FiK0IsRUFtQi9CO0FBQUNSLEVBQUFBLEtBQUssRUFBRVAsWUFBWSxDQUFDRyxHQUFyQjtBQUEwQkssRUFBQUEsT0FBTyxFQUFFLFlBQW5DO0FBQWlEdkQsRUFBQUEsSUFBSSxFQUFFK0QsVUFBdkQ7QUFBNEROLEVBQUFBLFNBQVMsRUFBRSxtQkFBQUMsS0FBSztBQUFBLFdBQUksQ0FBQ0EsS0FBSyxDQUFDTSxRQUFYO0FBQUE7QUFBNUUsQ0FuQitCLEVBb0IvQjtBQUNFVixFQUFBQSxLQUFLLEVBQUVQLFlBQVksQ0FBQ0ksS0FEdEI7QUFFRUksRUFBQUEsT0FBTyxFQUFFLGNBRlg7QUFHRXZELEVBQUFBLElBQUksRUFBRTZELGFBSFI7QUFJRUosRUFBQUEsU0FBUyxFQUFFLG1CQUFBQyxLQUFLO0FBQUEsV0FBSUEsS0FBSyxDQUFDTSxRQUFWO0FBQUE7QUFKbEIsQ0FwQitCLEVBMEIvQjtBQUFDVixFQUFBQSxLQUFLLEVBQUVQLFlBQVksQ0FBQ0ssSUFBckI7QUFBMkJHLEVBQUFBLE9BQU8sRUFBRSxhQUFwQztBQUFtRHZELEVBQUFBLElBQUksRUFBRWlFO0FBQXpELENBMUIrQixDQUExQjs7QUE2QlAsSUFBTUMsTUFBTSxHQUFHLGNBQWY7QUFDQSxJQUFNQyxJQUFJLEdBQUcsZUFBYjtBQUNBLElBQU1DLE1BQU0sR0FBRyxlQUFmO0FBQ0EsSUFBTUMsSUFBSSxHQUFHLGVBQWI7QUFDQSxJQUFNQyxLQUFLLEdBQUcsZUFBZDtBQUNBLElBQU1DLEtBQUssR0FBRyxhQUFkO0FBQ0EsSUFBTUMsS0FBSyxHQUFHLGNBQWQ7QUFDQSxJQUFNQyxHQUFHLEdBQUcsY0FBWjtBQUVPLElBQU1DLGtCQUFrQixvRkFDNUJyQyxlQUFlLFdBRGEsRUFDRjtBQUN6QnBELEVBQUFBLEtBQUssRUFBRSxNQURrQjtBQUV6QjBGLEVBQUFBLEtBQUssRUFBRVI7QUFGa0IsQ0FERSx5REFLNUI5QixlQUFlLENBQUNDLElBTFksRUFLTDtBQUN0QnJELEVBQUFBLEtBQUssRUFBRSxNQURlO0FBRXRCMEYsRUFBQUEsS0FBSyxFQUFFUDtBQUZlLENBTEsseURBUzVCL0IsZUFBZSxDQUFDbEMsT0FUWSxFQVNGO0FBQ3pCbEIsRUFBQUEsS0FBSyxFQUFFLEtBRGtCO0FBRXpCMEYsRUFBQUEsS0FBSyxFQUFFTDtBQUZrQixDQVRFLHlEQWE1QmpDLGVBQWUsQ0FBQ0UsT0FiWSxFQWFGO0FBQ3pCdEQsRUFBQUEsS0FBSyxFQUFFLEtBRGtCO0FBRXpCMEYsRUFBQUEsS0FBSyxFQUFFVDtBQUZrQixDQWJFLHlEQWlCNUI3QixlQUFlLENBQUNHLElBakJZLEVBaUJMO0FBQ3RCdkQsRUFBQUEsS0FBSyxFQUFFLE9BRGU7QUFFdEIwRixFQUFBQSxLQUFLLEVBQUVUO0FBRmUsQ0FqQksseURBcUI1QjdCLGVBQWUsQ0FBQ0ksTUFyQlksRUFxQkg7QUFDeEJ4RCxFQUFBQSxLQUFLLEVBQUUsUUFEaUI7QUFFeEIwRixFQUFBQSxLQUFLLEVBQUVOO0FBRmlCLENBckJHLHlEQXlCNUJoQyxlQUFlLENBQUNLLFNBekJZLEVBeUJBO0FBQzNCekQsRUFBQUEsS0FBSyxFQUFFLE1BRG9CO0FBRTNCMEYsRUFBQUEsS0FBSyxFQUFFSDtBQUZvQixDQXpCQSx5REE4QjVCbkMsZUFBZSxDQUFDWixLQTlCWSxFQThCSjtBQUN2QnhDLEVBQUFBLEtBQUssRUFBRSxPQURnQjtBQUV2QjBGLEVBQUFBLEtBQUssRUFBRUo7QUFGZ0IsQ0E5QkksdUJBQXhCOztBQW9DQSxJQUFNSyxZQUFZLEdBQUc7QUFDMUIsYUFBU0g7QUFEaUIsQ0FBckI7O0FBR0EsSUFBTUksaUJBQWlCLEdBQUcsQ0FBQyxHQUFELEVBQU0sR0FBTixFQUFXLEdBQVgsRUFBZ0IsRUFBaEIsQ0FBMUI7O0FBQ0EsSUFBTUMsY0FBYyxHQUFHLDJCQUFVO0FBQ3RDSCxFQUFBQSxLQUFLLEVBQUUsSUFEK0I7QUFFdENJLEVBQUFBLE1BQU0sRUFBRSxJQUY4QjtBQUd0Q0MsRUFBQUEsSUFBSSxFQUFFLElBSGdDO0FBSXRDQyxFQUFBQSxZQUFZLEVBQUUsSUFKd0I7QUFLdENDLEVBQUFBLFNBQVMsRUFBRSxJQUwyQjtBQU10Q0MsRUFBQUEsUUFBUSxFQUFFLElBTjRCO0FBT3RDQyxFQUFBQSxRQUFRLEVBQUU7QUFQNEIsQ0FBVixDQUF2Qjs7QUFVQSxJQUFNQyxpQkFBaUIsR0FBRztBQUMvQjtBQUNBQyxFQUFBQSxLQUFLLEVBQUUsT0FGd0I7QUFHL0I7QUFDQUMsRUFBQUEsT0FBTyxFQUFFLFNBSnNCO0FBSy9CQyxFQUFBQSxPQUFPLEVBQUUsU0FMc0I7QUFNL0JDLEVBQUFBLE9BQU8sRUFBRSxTQU5zQjtBQU8vQkMsRUFBQUEsTUFBTSxFQUFFLFFBUHVCO0FBUS9CQyxFQUFBQSxLQUFLLEVBQUUsT0FSd0I7QUFTL0JDLEVBQUFBLEdBQUcsRUFBRSxLQVQwQjtBQVUvQkMsRUFBQUEsUUFBUSxFQUFFLFVBVnFCO0FBVy9CO0FBQ0FDLEVBQUFBLElBQUksRUFBRSxNQVp5QjtBQWEvQkMsRUFBQUEsV0FBVyxFQUFFLGNBYmtCO0FBYy9CQyxFQUFBQSxRQUFRLEVBQUU7QUFkcUIsQ0FBMUI7O0FBaUJBLElBQU1DLHVCQUF1QixHQUFHO0FBQ3JDM0QsRUFBQUEsSUFBSSxFQUFFLElBRCtCO0FBRXJDbkMsRUFBQUEsT0FBTyxFQUFFLElBRjRCO0FBR3JDb0MsRUFBQUEsT0FBTyxFQUFFLENBQ1A4QyxpQkFBaUIsQ0FBQ0MsS0FEWCxFQUVQRCxpQkFBaUIsQ0FBQ0UsT0FGWCxFQUdQRixpQkFBaUIsQ0FBQ0csT0FIWCxFQUlQSCxpQkFBaUIsQ0FBQ0ksT0FKWCxFQUtQSixpQkFBaUIsQ0FBQ00sS0FMWCxFQU1QTixpQkFBaUIsQ0FBQ08sR0FOWCxFQU9QUCxpQkFBaUIsQ0FBQ1EsUUFQWCxDQUg0QjtBQVlyQ3JELEVBQUFBLElBQUksRUFBRSxDQUNKNkMsaUJBQWlCLENBQUNDLEtBRGQsRUFFSkQsaUJBQWlCLENBQUNFLE9BRmQsRUFHSkYsaUJBQWlCLENBQUNHLE9BSGQsRUFJSkgsaUJBQWlCLENBQUNJLE9BSmQsRUFLSkosaUJBQWlCLENBQUNNLEtBTGQsRUFNSk4saUJBQWlCLENBQUNPLEdBTmQsRUFPSlAsaUJBQWlCLENBQUNRLFFBUGQsQ0FaK0I7QUFxQnJDcEQsRUFBQUEsTUFBTSxFQUFFLENBQUM0QyxpQkFBaUIsQ0FBQ1MsSUFBbkIsRUFBeUJULGlCQUFpQixDQUFDVyxRQUEzQyxDQXJCNkI7QUFzQnJDdEQsRUFBQUEsU0FBUyxFQUFFLElBdEIwQjtBQXVCckNqQixFQUFBQSxLQUFLLEVBQUU7QUF2QjhCLENBQWhDOztBQTBCQSxJQUFNeUUsaUJBQWlCLEdBQUcsQ0FDL0I7QUFDRWxILEVBQUFBLEVBQUUsRUFBRXFHLGlCQUFpQixDQUFDQyxLQUR4QjtBQUVFYSxFQUFBQSxXQUFXLEVBQUU7QUFGZixDQUQrQixFQUsvQjtBQUNFbkgsRUFBQUEsRUFBRSxFQUFFcUcsaUJBQWlCLENBQUNFLE9BRHhCO0FBRUVZLEVBQUFBLFdBQVcsRUFBRTtBQUZmLENBTCtCLEVBUy9CO0FBQ0VuSCxFQUFBQSxFQUFFLEVBQUVxRyxpQkFBaUIsQ0FBQ0csT0FEeEI7QUFFRVcsRUFBQUEsV0FBVyxFQUFFO0FBRmYsQ0FUK0IsRUFhL0I7QUFDRW5ILEVBQUFBLEVBQUUsRUFBRXFHLGlCQUFpQixDQUFDSSxPQUR4QjtBQUVFVSxFQUFBQSxXQUFXLEVBQUU7QUFGZixDQWIrQixFQWlCL0I7QUFDRW5ILEVBQUFBLEVBQUUsRUFBRXFHLGlCQUFpQixDQUFDTSxLQUR4QjtBQUVFUSxFQUFBQSxXQUFXLEVBQUU7QUFGZixDQWpCK0IsRUFxQi9CO0FBQ0VuSCxFQUFBQSxFQUFFLEVBQUVxRyxpQkFBaUIsQ0FBQ08sR0FEeEI7QUFFRU8sRUFBQUEsV0FBVyxFQUFFO0FBRmYsQ0FyQitCLEVBeUIvQjtBQUNFbkgsRUFBQUEsRUFBRSxFQUFFcUcsaUJBQWlCLENBQUNRLFFBRHhCO0FBRUVNLEVBQUFBLFdBQVcsRUFBRTtBQUZmLENBekIrQixFQTZCL0I7QUFDRW5ILEVBQUFBLEVBQUUsRUFBRXFHLGlCQUFpQixDQUFDUyxJQUR4QjtBQUVFSyxFQUFBQSxXQUFXLEVBQUU7QUFGZixDQTdCK0IsRUFpQy9CO0FBQ0VuSCxFQUFBQSxFQUFFLEVBQUVxRyxpQkFBaUIsQ0FBQ1csUUFEeEI7QUFFRUcsRUFBQUEsV0FBVyxFQUFFO0FBRmYsQ0FqQytCLENBQTFCOztBQXVDQSxJQUFNQyx5QkFBeUIsd0ZBQ25DdEIsY0FBYyxDQUFDSCxLQURvQixFQUNaLENBQUN6RCxXQUFXLENBQUNHLFFBQWIsRUFBdUJILFdBQVcsQ0FBQ0UsUUFBbkMsRUFBNkNGLFdBQVcsQ0FBQ1EsTUFBekQsQ0FEWSwyREFFbkNvRCxjQUFjLENBQUNDLE1BRm9CLEVBRVgsQ0FBQzdELFdBQVcsQ0FBQ0ssSUFBYixDQUZXLDJEQUduQ3VELGNBQWMsQ0FBQ0UsSUFIb0IsRUFHYixDQUFDOUQsV0FBVyxDQUFDSSxNQUFiLEVBQXFCSixXQUFXLENBQUNLLElBQWpDLEVBQXVDTCxXQUFXLENBQUNNLEdBQW5ELENBSGEsMkRBSW5Dc0QsY0FBYyxDQUFDRyxZQUpvQixFQUlMLENBQUMvRCxXQUFXLENBQUNDLE9BQWIsQ0FKSywyREFLbkMyRCxjQUFjLENBQUNNLFFBTG9CLEVBS1QsRUFMUyx5QkFBL0I7O0FBUUEsSUFBTWlCLDZCQUE2Qix3RkFDdkN2QixjQUFjLENBQUNJLFNBRHdCLHVGQUVyQ0csaUJBQWlCLENBQUNDLEtBRm1CLEVBRVgsQ0FBQ3BFLFdBQVcsQ0FBQ1EsTUFBYixDQUZXLDJEQUdyQzJELGlCQUFpQixDQUFDRSxPQUhtQixFQUdULENBQUNyRSxXQUFXLENBQUNHLFFBQWIsRUFBdUJILFdBQVcsQ0FBQ0UsUUFBbkMsRUFBNkNGLFdBQVcsQ0FBQ1EsTUFBekQsQ0FIUywyREFJckMyRCxpQkFBaUIsQ0FBQ0csT0FKbUIsRUFJVCxDQUFDdEUsV0FBVyxDQUFDRyxRQUFiLEVBQXVCSCxXQUFXLENBQUNFLFFBQW5DLEVBQTZDRixXQUFXLENBQUNRLE1BQXpELENBSlMsMkRBS3JDMkQsaUJBQWlCLENBQUNJLE9BTG1CLEVBS1QsQ0FBQ3ZFLFdBQVcsQ0FBQ0csUUFBYixFQUF1QkgsV0FBVyxDQUFDRSxRQUFuQyxFQUE2Q0YsV0FBVyxDQUFDUSxNQUF6RCxDQUxTLDJEQU1yQzJELGlCQUFpQixDQUFDSyxNQU5tQixFQU1WLENBQUN4RSxXQUFXLENBQUNHLFFBQWIsRUFBdUJILFdBQVcsQ0FBQ0UsUUFBbkMsRUFBNkNGLFdBQVcsQ0FBQ1EsTUFBekQsQ0FOVSwyREFPckMyRCxpQkFBaUIsQ0FBQ00sS0FQbUIsRUFPWCxDQUFDekUsV0FBVyxDQUFDRyxRQUFiLEVBQXVCSCxXQUFXLENBQUNFLFFBQW5DLEVBQTZDRixXQUFXLENBQUNRLE1BQXpELENBUFcsMkRBUXJDMkQsaUJBQWlCLENBQUNPLEdBUm1CLEVBUWIsQ0FBQzFFLFdBQVcsQ0FBQ0csUUFBYixFQUF1QkgsV0FBVyxDQUFDRSxRQUFuQyxFQUE2Q0YsV0FBVyxDQUFDUSxNQUF6RCxDQVJhLDJEQVNyQzJELGlCQUFpQixDQUFDUSxRQVRtQixFQVNSLENBQUMzRSxXQUFXLENBQUNHLFFBQWIsRUFBdUJILFdBQVcsQ0FBQ0UsUUFBbkMsRUFBNkNGLFdBQVcsQ0FBQ1EsTUFBekQsQ0FUUSxvRkFZdkNvRCxjQUFjLENBQUNLLFFBWndCLHVGQWFyQ0UsaUJBQWlCLENBQUNDLEtBYm1CLEVBYVgsQ0FBQ3BFLFdBQVcsQ0FBQ0ksTUFBYixFQUFxQkosV0FBVyxDQUFDSyxJQUFqQyxFQUF1Q0wsV0FBVyxDQUFDTSxHQUFuRCxDQWJXLDJEQWNyQzZELGlCQUFpQixDQUFDRSxPQWRtQixFQWNULENBQUNyRSxXQUFXLENBQUNJLE1BQWIsRUFBcUJKLFdBQVcsQ0FBQ0ssSUFBakMsRUFBdUNMLFdBQVcsQ0FBQ00sR0FBbkQsQ0FkUywyREFlckM2RCxpQkFBaUIsQ0FBQ0csT0FmbUIsRUFlVCxDQUFDdEUsV0FBVyxDQUFDSSxNQUFiLEVBQXFCSixXQUFXLENBQUNLLElBQWpDLEVBQXVDTCxXQUFXLENBQUNNLEdBQW5ELENBZlMsMkRBZ0JyQzZELGlCQUFpQixDQUFDSSxPQWhCbUIsRUFnQlQsQ0FBQ3ZFLFdBQVcsQ0FBQ0ksTUFBYixFQUFxQkosV0FBVyxDQUFDSyxJQUFqQyxFQUF1Q0wsV0FBVyxDQUFDTSxHQUFuRCxDQWhCUywyREFpQnJDNkQsaUJBQWlCLENBQUNLLE1BakJtQixFQWlCVixDQUFDeEUsV0FBVyxDQUFDSSxNQUFiLEVBQXFCSixXQUFXLENBQUNLLElBQWpDLEVBQXVDTCxXQUFXLENBQUNNLEdBQW5ELENBakJVLDJEQWtCckM2RCxpQkFBaUIsQ0FBQ00sS0FsQm1CLEVBa0JYLENBQUN6RSxXQUFXLENBQUNJLE1BQWIsRUFBcUJKLFdBQVcsQ0FBQ0ssSUFBakMsRUFBdUNMLFdBQVcsQ0FBQ00sR0FBbkQsQ0FsQlcsMkRBbUJyQzZELGlCQUFpQixDQUFDTyxHQW5CbUIsRUFtQmIsQ0FBQzFFLFdBQVcsQ0FBQ0ksTUFBYixFQUFxQkosV0FBVyxDQUFDSyxJQUFqQyxFQUF1Q0wsV0FBVyxDQUFDTSxHQUFuRCxDQW5CYSwyREFvQnJDNkQsaUJBQWlCLENBQUNRLFFBcEJtQixFQW9CUixDQUFDM0UsV0FBVyxDQUFDSSxNQUFiLEVBQXFCSixXQUFXLENBQUNLLElBQWpDLEVBQXVDTCxXQUFXLENBQUNNLEdBQW5ELENBcEJRLGtEQUFuQzs7QUF3QkEsSUFBTThFLDBCQUEwQix3RkFDcEN4QixjQUFjLENBQUNILEtBRHFCLEVBQ2IsQ0FBQ3pELFdBQVcsQ0FBQ0MsT0FBYixDQURhLDJEQUVwQzJELGNBQWMsQ0FBQ0MsTUFGcUIsRUFFWixDQUFDN0QsV0FBVyxDQUFDTyxLQUFiLENBRlksMkRBR3BDcUQsY0FBYyxDQUFDRSxJQUhxQixFQUdkLENBQUM5RCxXQUFXLENBQUNPLEtBQWIsQ0FIYywyREFJcENxRCxjQUFjLENBQUNHLFlBSnFCLEVBSU4sQ0FBQy9ELFdBQVcsQ0FBQ0MsT0FBYixDQUpNLDJEQUtwQzJELGNBQWMsQ0FBQ00sUUFMcUIsRUFLVixFQUxVLHlCQUFoQzs7QUFRQSxJQUFNbUIsOEJBQThCLHdGQUV4Q3pCLGNBQWMsQ0FBQ0ksU0FGeUIseUZBR3RDRyxpQkFBaUIsQ0FBQ1MsSUFIb0IsRUFHYixDQUFDNUUsV0FBVyxDQUFDQyxPQUFiLENBSGEsNERBSXRDa0UsaUJBQWlCLENBQUNXLFFBSm9CLEVBSVQsQ0FBQzlFLFdBQVcsQ0FBQ0MsT0FBYixDQUpTLDREQUt0Q2tFLGlCQUFpQixDQUFDVSxXQUxvQixFQUtOLENBQy9CN0UsV0FBVyxDQUFDRyxRQURtQixFQUUvQkgsV0FBVyxDQUFDRSxRQUZtQixFQUcvQkYsV0FBVyxDQUFDUSxNQUhtQixDQUxNLHFGQVl4Q29ELGNBQWMsQ0FBQ0ssUUFaeUIseUZBYXRDRSxpQkFBaUIsQ0FBQ1MsSUFib0IsRUFhYixDQUFDNUUsV0FBVyxDQUFDQyxPQUFiLENBYmEsNERBY3RDa0UsaUJBQWlCLENBQUNXLFFBZG9CLEVBY1QsQ0FBQzlFLFdBQVcsQ0FBQ0MsT0FBYixDQWRTLG1EQUFwQzs7QUFrQkEsSUFBTXFGLHFCQUFxQix3RkFDL0IxQixjQUFjLENBQUNILEtBRGdCLEVBQ1IsRUFEUSwyREFFL0JHLGNBQWMsQ0FBQ0MsTUFGZ0IsRUFFUCxFQUZPLDJEQUcvQkQsY0FBYyxDQUFDRSxJQUhnQixFQUdULEVBSFMsMkRBSS9CRixjQUFjLENBQUNHLFlBSmdCLEVBSUQsRUFKQywyREFLL0JILGNBQWMsQ0FBQ00sUUFMZ0IsRUFLTCxFQUxLLHlCQUEzQjs7QUFRQSxJQUFNcUIsa0JBQWtCLG9GQUM1QjNCLGNBQWMsQ0FBQ0ksU0FEYSxFQUNELEVBREMseURBRTVCSixjQUFjLENBQUNLLFFBRmEsRUFFRixFQUZFLHVCQUF4QjtBQUtQO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTXVCLG1CQUFtQixzRkFDN0I1QixjQUFjLENBQUNJLFNBRGMsdUNBRTNCRyxpQkFBaUIsQ0FBQ0MsS0FGUyxFQUVELENBQUNwRSxXQUFXLENBQUNHLFFBQWIsRUFBdUJILFdBQVcsQ0FBQ0UsUUFBbkMsRUFBNkNGLFdBQVcsQ0FBQ1EsTUFBekQsQ0FGQywyREFJN0JvRCxjQUFjLENBQUNLLFFBSmMsdUNBSzNCRSxpQkFBaUIsQ0FBQ0MsS0FMUyxFQUtELENBQUNwRSxXQUFXLENBQUNJLE1BQWIsRUFBcUJKLFdBQVcsQ0FBQ0ssSUFBakMsRUFBdUNMLFdBQVcsQ0FBQ00sR0FBbkQsQ0FMQyx5QkFBekI7QUFTUDtBQUNBO0FBQ0E7OztBQUNPLElBQU1tRixVQUFVLEdBQUc7QUFDeEJsRSxFQUFBQSxNQUFNLEVBQUU7QUFDTm1FLElBQUFBLElBQUksRUFBRSxhQURBO0FBRU5DLElBQUFBLEtBQUssa0NBQ0FQLDBCQURBLEdBRUFDLDhCQUZBLENBRkM7QUFNTk8sSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLE1BQU0sRUFBRSxnQkFBQUMsQ0FBQztBQUFBLGVBQUlBLENBQUo7QUFBQSxPQURIO0FBRU5DLE1BQUFBLE9BQU8sRUFBRTtBQUZIO0FBTkYsR0FEZ0I7QUFZeEJ6RSxFQUFBQSxJQUFJLEVBQUU7QUFDSm9FLElBQUFBLElBQUksRUFBRSxXQURGO0FBRUpDLElBQUFBLEtBQUssa0NBQ0FULHlCQURBLEdBRUFDLDZCQUZBLENBRkQ7QUFNSlMsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLE1BQU0sRUFBRSxnQkFBQUMsQ0FBQztBQUFBLGVBQUlBLENBQUo7QUFBQSxPQURIO0FBRU5DLE1BQUFBLE9BQU8sRUFBRSxDQUNQQyw4QkFBcUJDLElBRGQsRUFFUEQsOEJBQXFCRSxPQUZkLEVBR1BGLDhCQUFxQkcsVUFIZDtBQUZIO0FBTkosR0Faa0I7QUEyQnhCM0UsRUFBQUEsU0FBUyxFQUFFO0FBQ1RrRSxJQUFBQSxJQUFJLEVBQUUsTUFERztBQUVUQyxJQUFBQSxLQUFLLGtDQUNBVCx5QkFEQSxHQUVBSyxrQkFGQSxDQUZJO0FBTVRLLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxNQUFNLEVBQUUsZ0JBQUFDLENBQUM7QUFBQSxlQUFJQSxDQUFKO0FBQUEsT0FESDtBQUVOQyxNQUFBQSxPQUFPLEVBQUUsQ0FDUEMsOEJBQXFCQyxJQURkLEVBRVBELDhCQUFxQkksSUFGZCxFQUdQSiw4QkFBcUJLLFNBSGQ7QUFGSDtBQU5DLEdBM0JhO0FBMEN4QmhGLEVBQUFBLE9BQU8sRUFBRTtBQUNQcUUsSUFBQUEsSUFBSSxFQUFFLFdBREM7QUFFUEMsSUFBQUEsS0FBSyxrQ0FDQVQseUJBREEsR0FFQUMsNkJBRkEsQ0FGRTtBQU1QUyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsTUFBTSxFQUFFLGdCQUFBQyxDQUFDO0FBQUEsZUFBSUEsQ0FBSjtBQUFBLE9BREg7QUFFTkMsTUFBQUEsT0FBTyxFQUFFLENBQ1BDLDhCQUFxQkMsSUFEZCxFQUVQRCw4QkFBcUJFLE9BRmQsRUFHUEYsOEJBQXFCRyxVQUhkO0FBRkg7QUFORCxHQTFDZTtBQXlEeEIsYUFBUztBQUNQVCxJQUFBQSxJQUFJLEVBQUUsU0FEQztBQUVQQyxJQUFBQSxLQUFLLGtDQUNBUCwwQkFEQSxHQUVBQyw4QkFGQSxDQUZFO0FBTVBPLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxNQUFNLEVBQUUsZ0JBQUFDLENBQUM7QUFBQSxlQUFJQSxDQUFKO0FBQUEsT0FESDtBQUVOQyxNQUFBQSxPQUFPLEVBQUUsQ0FBQ0MsOEJBQXFCQyxJQUF0QixFQUE0QkQsOEJBQXFCTSxPQUFqRDtBQUZIO0FBTkQsR0F6RGU7QUFvRXhCbEYsRUFBQUEsSUFBSSxFQUFFO0FBQ0p1RSxJQUFBQSxLQUFLLGtDQUNBUCwwQkFEQSxHQUVBQyw4QkFGQSxDQUREO0FBS0pPLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxNQUFNLEVBQUUsZ0JBQUFDLENBQUM7QUFBQSxlQUFJQSxDQUFKO0FBQUEsT0FESDtBQUVOQyxNQUFBQSxPQUFPLEVBQUUsQ0FBQ0MsOEJBQXFCQyxJQUF0QixFQUE0QkQsOEJBQXFCSSxJQUFqRDtBQUZIO0FBTEosR0FwRWtCO0FBOEV4Qm5ILEVBQUFBLE9BQU8sRUFBRTtBQUNQeUcsSUFBQUEsSUFBSSxFQUFFLFVBREM7QUFFUEMsSUFBQUEsS0FBSyxrQ0FDQUwscUJBREEsR0FFQUMsa0JBRkEsQ0FGRTtBQU1QSyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsTUFBTSxFQUFFLGdCQUFBQyxDQUFDO0FBQUEsZUFBSSxLQUFKO0FBQUEsT0FESDtBQUVOQyxNQUFBQSxPQUFPLEVBQUU7QUFGSDtBQU5EO0FBOUVlLENBQW5COztBQTJGQSxJQUFNUSw4QkFBOEIsR0FBR0MsTUFBTSxDQUFDQyxJQUFQLENBQVk3QyxjQUFaLEVBQTRCOEMsTUFBNUIsQ0FDNUMsVUFBQ0MsSUFBRCxFQUFPQyxHQUFQO0FBQUEseUNBQ0tELElBREwsNENBRUdDLEdBRkgsRUFFU0osTUFBTSxDQUFDQyxJQUFQLENBQVloQixVQUFaLEVBQXdCaEgsTUFBeEIsQ0FBK0IsVUFBQW9JLEVBQUU7QUFBQSxXQUFJTCxNQUFNLENBQUNDLElBQVAsQ0FBWWhCLFVBQVUsQ0FBQ29CLEVBQUQsQ0FBVixDQUFlbEIsS0FBZixDQUFxQmlCLEdBQXJCLENBQVosRUFBdUNFLE1BQTNDO0FBQUEsR0FBakMsQ0FGVDtBQUFBLENBRDRDLEVBSzVDLEVBTDRDLENBQXZDOztBQVFBLElBQU1DLG1CQUFtQixHQUFHO0FBQ2pDQyxFQUFBQSxPQUFPLEVBQUUsU0FEd0I7QUFFakNDLEVBQUFBLGFBQWEsRUFBRSxTQUZrQjtBQUdqQ0MsRUFBQUEsV0FBVyxFQUFFLFNBSG9CO0FBSWpDQyxFQUFBQSxXQUFXLEVBQUU7QUFKb0IsQ0FBNUIsQyxDQU9QOzs7QUFDTyxJQUFNQyxzQkFBc0IsR0FBRyxFQUEvQjs7QUFFQSxJQUFNQyxjQUFjLEdBQUcsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsRUFBVSxDQUFWLENBQXZCOztBQUNBLElBQU1DLGFBQWEsR0FBRyxDQUFDLEdBQUQsRUFBTSxHQUFOLEVBQVcsR0FBWCxDQUF0Qjs7QUFFQSxJQUFNQyxlQUFlLEdBQUc7QUFDN0JDLEVBQUFBLFFBQVEsRUFBRTtBQUNSekosSUFBQUEsS0FBSyxFQUFFLHdCQURDO0FBRVIwSixJQUFBQSxTQUFTLEVBQUUsQ0FBQyxXQUFELEVBQWMsV0FBZCxDQUZIO0FBR1JDLElBQUFBLGFBQWEsRUFBRTtBQUhQLEdBRG1CO0FBTTdCQyxFQUFBQSxNQUFNLEVBQUU7QUFDTjtBQUNBO0FBQ0E1SixJQUFBQSxLQUFLLEVBQUUsc0JBSEQ7QUFJTjBKLElBQUFBLFNBQVMsRUFBRSxDQUFDLFdBQUQsRUFBYyxxQkFBZCxFQUFxQyxLQUFyQyxFQUE0QyxxQkFBNUMsQ0FKTDtBQUtOQyxJQUFBQSxhQUFhLEVBQUUsQ0FBQyxVQUFELEVBQWEsVUFBYjtBQUxULEdBTnFCO0FBYTdCRSxFQUFBQSxXQUFXLEVBQUU7QUFDWDdKLElBQUFBLEtBQUssRUFBRSwyQkFESTtBQUVYMEosSUFBQUEsU0FBUyxFQUFFLENBQUMsS0FBRCxFQUFRLHFCQUFSLEVBQStCLFdBQS9CLEVBQTRDLFdBQTVDLENBRkE7QUFHWEMsSUFBQUEsYUFBYSxFQUFFLENBQUMsZUFBRCxFQUFrQixVQUFsQjtBQUhKO0FBYmdCLENBQXhCOztBQW9CQSxJQUFNRyxvQkFBb0IsR0FBRyxDQUE3Qjs7QUFFQSxJQUFNQyxXQUFXLEdBQUcsMkJBQVU7QUFDbkNDLEVBQUFBLEtBQUssRUFBRSxJQUQ0QjtBQUVuQ0MsRUFBQUEsS0FBSyxFQUFFO0FBRjRCLENBQVYsQ0FBcEI7O0FBS0EsSUFBTUMsaUJBQWlCLEdBQUcsMkJBQVU7QUFDekNDLEVBQUFBLE1BQU0sRUFBRSxJQURpQztBQUV6Q0MsRUFBQUEsYUFBYSxFQUFFLElBRjBCO0FBR3pDQyxFQUFBQSxlQUFlLEVBQUUsSUFId0I7QUFJekNDLEVBQUFBLE1BQU0sRUFBRTtBQUppQyxDQUFWLENBQTFCOztBQU9BLElBQU1DLHdCQUF3QixHQUFHLENBQ3RDO0FBQ0V4SyxFQUFBQSxFQUFFLEVBQUVtSyxpQkFBaUIsQ0FBQ0MsTUFEeEI7QUFFRW5LLEVBQUFBLEtBQUssRUFBRSx1Q0FGVDtBQUdFd0ssRUFBQUEsT0FBTyxFQUFFLGlCQUFDQyxPQUFELEVBQVVDLE9BQVY7QUFBQSxXQUF1QjtBQUFDekwsTUFBQUEsS0FBSyxFQUFFd0wsT0FBUjtBQUFpQkUsTUFBQUEsTUFBTSxFQUFFRDtBQUF6QixLQUF2QjtBQUFBO0FBSFgsQ0FEc0MsRUFNdEM7QUFDRTNLLEVBQUFBLEVBQUUsRUFBRW1LLGlCQUFpQixDQUFDSSxNQUR4QjtBQUVFTSxFQUFBQSxNQUFNLEVBQUUsSUFGVjtBQUdFNUssRUFBQUEsS0FBSyxFQUFFLCtCQUhUO0FBSUV3SyxFQUFBQSxPQUFPLEVBQUUsaUJBQUNLLElBQUQsRUFBT0MsSUFBUDtBQUFBLFdBQWlCO0FBQUM3TCxNQUFBQSxLQUFLLEVBQUU0TCxJQUFSO0FBQWNGLE1BQUFBLE1BQU0sRUFBRUc7QUFBdEIsS0FBakI7QUFBQTtBQUpYLENBTnNDLEVBWXRDO0FBQ0UvSyxFQUFBQSxFQUFFLEVBQUVtSyxpQkFBaUIsQ0FBQ0UsYUFEeEI7QUFFRXBLLEVBQUFBLEtBQUssRUFBRSw0QkFGVDtBQUdFd0ssRUFBQUEsT0FBTyxFQUFFLGlCQUFDQyxPQUFELEVBQVVDLE9BQVY7QUFBQSxXQUF1QjtBQUM5QnpMLE1BQUFBLEtBQUssRUFBRXdMLE9BRHVCO0FBRTlCRSxNQUFBQSxNQUFNLEVBQUVJLElBQUksQ0FBQ0MsS0FBTCxDQUFXUCxPQUFPLEdBQUcsSUFBckI7QUFGc0IsS0FBdkI7QUFBQTtBQUhYLENBWnNDLEVBb0J0QztBQUNFMUssRUFBQUEsRUFBRSxFQUFFbUssaUJBQWlCLENBQUNHLGVBRHhCO0FBRUVySyxFQUFBQSxLQUFLLEVBQUUsNkJBRlQ7QUFHRXdLLEVBQUFBLE9BQU8sRUFBRSxpQkFBQ0MsT0FBRCxFQUFVQyxPQUFWO0FBQUEsV0FBdUI7QUFDOUJ6TCxNQUFBQSxLQUFLLEVBQUV3TCxPQUR1QjtBQUU5QkUsTUFBQUEsTUFBTSxFQUFFSSxJQUFJLENBQUNDLEtBQUwsQ0FBV1AsT0FBTyxHQUFHLE1BQXJCO0FBRnNCLEtBQXZCO0FBQUE7QUFIWCxDQXBCc0MsQ0FBakM7O0FBOEJBLElBQU1RLDZCQUE2QixHQUFHLENBQzNDO0FBQ0VsTCxFQUFBQSxFQUFFLEVBQUVnSyxXQUFXLENBQUNDLEtBRGxCO0FBRUVoSyxFQUFBQSxLQUFLLEVBQUUsSUFGVDtBQUdFa0wsRUFBQUEsU0FBUyxFQUFFLElBSGI7QUFJRXRELEVBQUFBLEtBQUssRUFBRSxDQUpUO0FBS0U0QyxFQUFBQSxPQUFPLEVBQUUsaUJBQUNDLE9BQUQsRUFBVUMsT0FBVjtBQUFBLFdBQXVCO0FBQzlCekwsTUFBQUEsS0FBSyxFQUFFd0wsT0FEdUI7QUFFOUJFLE1BQUFBLE1BQU0sRUFBRUQ7QUFGc0IsS0FBdkI7QUFBQTtBQUxYLENBRDJDLEVBVzNDO0FBQ0UzSyxFQUFBQSxFQUFFLEVBQUVnSyxXQUFXLENBQUNFLEtBRGxCO0FBRUVqSyxFQUFBQSxLQUFLLEVBQUUsSUFGVDtBQUdFa0wsRUFBQUEsU0FBUyxFQUFFLElBSGI7QUFJRXRELEVBQUFBLEtBQUssRUFBRSxDQUpUO0FBS0U0QyxFQUFBQSxPQUFPLEVBQUUsaUJBQUNDLE9BQUQsRUFBVUMsT0FBVjtBQUFBLFdBQXVCO0FBQzlCekwsTUFBQUEsS0FBSyxFQUFFd0wsT0FBTyxHQUFHLENBRGE7QUFFOUJFLE1BQUFBLE1BQU0sRUFBRUQsT0FBTyxHQUFHO0FBRlksS0FBdkI7QUFBQTtBQUxYLENBWDJDLENBQXRDOztBQXVCQSxJQUFNUyxnQkFBZ0IsR0FBRywyQkFBVTtBQUN4Q0MsRUFBQUEsR0FBRyxFQUFFLElBRG1DLENBRXhDO0FBQ0E7QUFDQTtBQUNBOztBQUx3QyxDQUFWLENBQXpCOztBQVFBLElBQU1DLHdCQUF3QixHQUFHLENBQ3RDO0FBQ0V0TCxFQUFBQSxFQUFFLEVBQUVvTCxnQkFBZ0IsQ0FBQ0MsR0FEdkI7QUFFRXBMLEVBQUFBLEtBQUssRUFBRW1MLGdCQUFnQixDQUFDQyxHQUFqQixDQUFxQkUsV0FBckIsRUFGVDtBQUdFSixFQUFBQSxTQUFTLEVBQUU7QUFIYixDQURzQyxDQU10QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBekJzQyxDQUFqQyxDLENBNEJQOzs7QUFDTyxJQUFNSyxrQkFBa0IsR0FBRywyQkFBVTtBQUMxQ0MsRUFBQUEsSUFBSSxFQUFFLElBRG9DO0FBRTFDQyxFQUFBQSxJQUFJLEVBQUU7QUFGb0MsQ0FBVixDQUEzQjs7QUFLQSxJQUFNQyxxQkFBcUIsR0FBRywyQkFBVTtBQUM3Q0MsRUFBQUEsSUFBSSxFQUFFLElBRHVDO0FBRTdDQyxFQUFBQSxJQUFJLEVBQUU7QUFGdUMsQ0FBVixDQUE5QixDLENBS1A7OztBQUNPLElBQU1DLHlCQUF5QixHQUFHcEQsTUFBTSxDQUFDcUQsT0FBUCxDQUFlUCxrQkFBZixFQUFtQ1EsR0FBbkMsQ0FBdUMsVUFBQUMsS0FBSztBQUFBLFNBQUs7QUFDeEZqTSxJQUFBQSxFQUFFLEVBQUVpTSxLQUFLLENBQUMsQ0FBRCxDQUQrRTtBQUV4RmhNLElBQUFBLEtBQUssRUFBRWdNLEtBQUssQ0FBQyxDQUFELENBQUwsQ0FBU1YsV0FBVCxFQUZpRjtBQUd4RkosSUFBQUEsU0FBUyxFQUFFO0FBSDZFLEdBQUw7QUFBQSxDQUE1QyxDQUFsQzs7QUFNQSxJQUFNZSw0QkFBNEIsR0FBR3hELE1BQU0sQ0FBQ3FELE9BQVAsQ0FBZUoscUJBQWYsRUFBc0NLLEdBQXRDLENBQTBDLFVBQUFDLEtBQUs7QUFBQSxTQUFLO0FBQzlGak0sSUFBQUEsRUFBRSxFQUFFaU0sS0FBSyxDQUFDLENBQUQsQ0FEcUY7QUFFOUZoTSxJQUFBQSxLQUFLLGlDQUEwQmdNLEtBQUssQ0FBQyxDQUFELENBQUwsQ0FBU1YsV0FBVCxFQUExQixDQUZ5RjtBQUc5RkosSUFBQUEsU0FBUyxFQUFFLElBSG1GO0FBSTlGcEssSUFBQUEsR0FBRyxFQUFFLGtDQUFzQmtMLEtBQUssQ0FBQyxDQUFELENBQTNCO0FBSnlGLEdBQUw7QUFBQSxDQUEvQyxDQUFyQzs7QUFPQSxJQUFNRSxrQkFBa0IsR0FBRyxDQUEzQjs7QUFFQSxJQUFNQyw0QkFBNEIsR0FBRyxzQkFBckM7O0FBRUEsSUFBTUMsMEJBQTBCLEdBQUcsMkJBQVU7QUFDbERDLEVBQUFBLElBQUksRUFBRSxJQUQ0QztBQUVsREMsRUFBQUEsS0FBSyxFQUFFLElBRjJDO0FBR2xEQyxFQUFBQSxPQUFPLEVBQUUsSUFIeUM7QUFJbERDLEVBQUFBLE9BQU8sRUFBRTtBQUp5QyxDQUFWLENBQW5DOztBQU9BLElBQU1DLDJCQUEyQixHQUFHLDJCQUFVO0FBQ25EQyxFQUFBQSxNQUFNLEVBQUUsSUFEMkM7QUFFbkRDLEVBQUFBLElBQUksRUFBRTtBQUY2QyxDQUFWLENBQXBDLEMsQ0FLUDs7O0FBQ08sSUFBTUMsMEJBQTBCLEdBQUcsSUFBbkMsQyxDQUVQOzs7QUFDTyxJQUFNQyxVQUFVLEdBQUcsR0FBbkI7O0FBQ0EsSUFBTUMsR0FBRyxHQUFHLEVBQVo7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsZ0JBQWdCLEdBQUcsMkJBQVU7QUFDeENDLEVBQUFBLElBQUksRUFBRSxJQURrQztBQUV4Q0MsRUFBQUEsV0FBVyxFQUFFLElBRjJCO0FBR3hDekssRUFBQUEsS0FBSyxFQUFFLElBSGlDO0FBSXhDMEssRUFBQUEsUUFBUSxFQUFFO0FBSjhCLENBQVYsQ0FBekI7O0FBTUEsSUFBTUMsbUJBQW1CLEdBQUcsb0JBQTVCOztBQUNBLElBQU1DLG1CQUFtQixHQUFHLENBQUMsQ0FBRCxFQUFJLEVBQUosQ0FBNUI7O0FBQ0EsSUFBTUMsa0JBQWtCLEdBQUcsS0FBM0IsQyxDQUVQOzs7QUFDTyxJQUFNQyxxQkFBcUIsR0FBRyxrQkFBOUI7O0FBQ0EsSUFBTUMsaUJBQWlCLEdBQUcsZ0JBQTFCOztBQUNBLElBQU1DLG1CQUFtQixHQUFHLElBQTVCOztBQUNBLElBQU1DLG1CQUFtQixHQUFHLENBQUMsR0FBRCxFQUFNLENBQU4sRUFBUyxDQUFULENBQTVCOztBQUNBLElBQU1DLGtCQUFrQixHQUFHLEVBQTNCLEMsQ0FFUDtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLFlBQVksR0FBRztBQUMxQkMsRUFBQUEsU0FBUyxFQUFFQyw0QkFBWUQsU0FERztBQUUxQkUsRUFBQUEsWUFBWSxFQUFFRCw0QkFBWUMsWUFGQTtBQUcxQkMsRUFBQUEsY0FBYyxFQUFFRiw0QkFBWUUsY0FIRjtBQUkxQm5DLEVBQUFBLElBQUksRUFBRWlDLDRCQUFZRztBQUpRLENBQXJCOztBQU9BLElBQU1DLHVCQUF1QixHQUFHLENBQ3JDQyxtQkFBWTFMLEtBRHlCLEVBRXJDMEwsbUJBQVlDLE9BRnlCLEVBR3JDRCxtQkFBWUUsR0FIeUIsRUFJckNGLG1CQUFZRyxJQUp5QixFQUtyQ0gsbUJBQVlJLFNBTHlCLENBQWhDLEMsQ0FPUDs7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGVBQWUsR0FBRyxDQUF4Qjs7QUFDQSxJQUFNQyx1QkFBdUIsR0FBRztBQUNyQ3ZQLEVBQUFBLEtBQUssRUFBRSxHQUQ4QjtBQUVyQzBMLEVBQUFBLE1BQU0sRUFBRTtBQUY2QixDQUFoQzs7QUFLQSxJQUFNOEQsa0JBQWtCLEdBQUc7QUFDaENDLEVBQUFBLEtBQUssRUFBRSxHQUR5QjtBQUVoQ0MsRUFBQUEsV0FBVyxFQUFFO0FBRm1CLENBQTNCLEMsQ0FLUDs7O0FBQ08sSUFBTUMsZUFBZSxHQUFHLDJCQUFVO0FBQ3ZDQyxFQUFBQSxNQUFNLEVBQUUsSUFEK0I7QUFFdkNDLEVBQUFBLE9BQU8sRUFBRTtBQUY4QixDQUFWLENBQXhCOztBQUtBLElBQU1DLGVBQWUsR0FBRywyQkFBVTtBQUN2Q0MsRUFBQUEsR0FBRyxFQUFFLElBRGtDO0FBRXZDOU4sRUFBQUEsT0FBTyxFQUFFLElBRjhCO0FBR3ZDK04sRUFBQUEsR0FBRyxFQUFFLElBSGtDO0FBSXZDQyxFQUFBQSxRQUFRLEVBQUU7QUFKNkIsQ0FBVixDQUF4Qjs7QUFPQSxJQUFNQyxZQUFZLEdBQUcsMkJBQVU7QUFDcENDLEVBQUFBLGFBQWEsRUFBRSxJQURxQjtBQUVwQ0MsRUFBQUEsU0FBUyxFQUFFLElBRnlCO0FBR3BDQyxFQUFBQSxRQUFRLEVBQUUsSUFIMEI7QUFJcENDLEVBQUFBLFFBQVEsRUFBRSxJQUowQjtBQUtwQ0MsRUFBQUEsT0FBTyxFQUFFLElBTDJCO0FBTXBDQyxFQUFBQSxTQUFTLEVBQUU7QUFOeUIsQ0FBVixDQUFyQjs7QUFTQSxJQUFNQyxhQUFhLEdBQUcsWUFBdEI7O0FBRUEsSUFBTUMsaUJBQWlCLEdBQUc7QUFDL0JDLEVBQUFBLEdBQUcsRUFBRSxDQUQwQjtBQUUvQkMsRUFBQUEsR0FBRyxFQUFFO0FBRjBCLENBQTFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuaW1wb3J0IHtFZGl0b3JNb2Rlc30gZnJvbSAncmVhY3QtbWFwLWdsLWRyYXcnO1xuXG5pbXBvcnQge1xuICBzY2FsZUxpbmVhcixcbiAgc2NhbGVRdWFudGl6ZSxcbiAgc2NhbGVRdWFudGlsZSxcbiAgc2NhbGVPcmRpbmFsLFxuICBzY2FsZVNxcnQsXG4gIHNjYWxlTG9nLFxuICBzY2FsZVBvaW50LFxuICBzY2FsZVRocmVzaG9sZFxufSBmcm9tICdkMy1zY2FsZSc7XG5pbXBvcnQge1xuICBMYXllcnMsXG4gIEZpbHRlckZ1bm5lbCxcbiAgU2V0dGluZ3MsXG4gIEN1cnNvckNsaWNrLFxuICBQaW4sXG4gIEFycm93RG93bixcbiAgQXJyb3dVcCxcbiAgQ2xpcGJvYXJkLFxuICBDYW5jZWxcbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtnZXRIVE1MTWFwTW9kZVRpbGVVcmx9IGZyb20gJ3V0aWxzL3V0aWxzJztcbmltcG9ydCB7VE9PTFRJUF9GT1JNQVRfVFlQRVN9IGZyb20gJy4vdG9vbHRpcCc7XG5pbXBvcnQge0xBWUVSX1RZUEVTfSBmcm9tICdsYXllcnMvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMlxuICB9XG59O1xuXG4vKipcbiAqIFRoZW1lIG5hbWUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGBLZXBsZXJHbGAgYHByb3AudGhlbWVgLlxuICogQXZhaWxhYmxlIHRoZW1lcyBhcmUgYFRIRU1FLmxpZ2h0YCBhbmQgYFRIRU1FLmRhcmtgLiBEZWZhdWx0IHRoZW1lIGlzIGBUSEVNRS5kYXJrYFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7b2JqZWN0fVxuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBjb25zdCBNYXAgPSAoKSA9PiA8S2VwbGVyR2wgdGhlbWU9e1RIRU1FLmxpZ2h0fSBpZD1cIm1hcFwiLz5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgVEhFTUUgPSBrZXlNaXJyb3Ioe1xuICBsaWdodDogbnVsbCxcbiAgZGFyazogbnVsbCxcbiAgYmFzZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTSURFQkFSX1BBTkVMUyA9IFtcbiAge1xuICAgIGlkOiAnbGF5ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMubGF5ZXInLFxuICAgIGljb25Db21wb25lbnQ6IExheWVycyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ZpbHRlcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5maWx0ZXInLFxuICAgIGljb25Db21wb25lbnQ6IEZpbHRlckZ1bm5lbCxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ludGVyYWN0aW9uJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmludGVyYWN0aW9uJyxcbiAgICBpY29uQ29tcG9uZW50OiBDdXJzb3JDbGljayxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21hcCcsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5iYXNlbWFwJyxcbiAgICBpY29uQ29tcG9uZW50OiBTZXR0aW5ncyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH1cbl07XG5cbi8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbmV4cG9ydCBjb25zdCBQQU5FTFMgPSBTSURFQkFSX1BBTkVMUztcblxuLy8gTUFQIFNUWUxFU1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFMgPSBbXG4gIHtcbiAgICBzbHVnOiAnbGFiZWwnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0obGFiZWx8cGxhY2UtfHBvaS0pKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAncm9hZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShyb2FkfHJhaWx3YXl8dHVubmVsfHN0cmVldHxicmlkZ2UpKSg/IS4qbGFiZWwpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdib3JkZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9ib3JkZXJ8Ym91bmRhcmllcy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2J1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYnVpbGRpbmcvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3dhdGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHdhdGVyfHN0cmVhbXxmZXJyeSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdsYW5kJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHBhcmtzfGxhbmRjb3ZlcnxpbmR1c3RyaWFsfHNhbmR8aGlsbHNoYWRlKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJzNkIGJ1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfU1RZTEVTID0gW1xuICB7XG4gICAgaWQ6ICdkYXJrJyxcbiAgICBsYWJlbDogJ0RhcmsnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYmJmNmw5azMwMnNsOTZ0eXZrYTA5JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9EQVJLX1YyLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ2xpZ2h0JyxcbiAgICBsYWJlbDogJ0xpZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pvcWI5ajMzOWsxZjJzbDl0NWljNWJuNCcsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTElHSFRfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ5bDAza3AxdHVsMnNtZjV2MnRiZGQ0JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9NVVRFRF9MSUdIVC5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZF9uaWdodCcsXG4gICAgbGFiZWw6ICdNdXRlZCBOaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnhobGlrbWFqMWIyc295emV2bnl3Z3MnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX05JR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ3NhdGVsbGl0ZScsXG4gICAgbGFiZWw6ICdTYXRlbGxpdGUnLFxuICAgIHVybDogYG1hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXY5YCxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9TQVRFTExJVEUucG5nYFxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgR0VPSlNPTl9GSUVMRFMgPSB7XG4gIGdlb2pzb246IFsnX2dlb2pzb24nLCAnYWxsX3BvaW50cycsICdnZW9qc29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBJQ09OX0ZJRUxEUyA9IHtcbiAgaWNvbjogWydpY29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBUUklQX1BPSU5UX0ZJRUxEUyA9IFtcbiAgWydsYXQnLCAnbG5nJ10sXG4gIFsnbGF0JywgJ2xvbiddLFxuICBbJ2xhdGl0dWRlJywgJ2xvbmdpdHVkZSddXG5dO1xuXG5leHBvcnQgY29uc3QgVFJJUF9BUkNfRklFTERTID0ge1xuICBsYXQwOiAnYmVnaW50cmlwJyxcbiAgbG5nMDogJ2JlZ2ludHJpcCcsXG4gIGxhdDE6ICdkcm9wb2ZmJyxcbiAgbG5nMTogJ2Ryb3BvZmYnXG59O1xuXG5leHBvcnQgY29uc3QgRklMVEVSX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgcmFuZ2U6IG51bGwsXG4gIHNlbGVjdDogbnVsbCxcbiAgaW5wdXQ6IG51bGwsXG4gIHRpbWVSYW5nZTogbnVsbCxcbiAgbXVsdGlTZWxlY3Q6IG51bGwsXG4gIHBvbHlnb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBvcmRpbmFsOiBudWxsLFxuICBxdWFudGlsZTogbnVsbCxcbiAgcXVhbnRpemU6IG51bGwsXG4gIGxpbmVhcjogbnVsbCxcbiAgc3FydDogbnVsbCxcbiAgbG9nOiBudWxsLFxuXG4gIC8vIG9yZGluYWwgZG9tYWluIHRvIGxpbmVhciByYW5nZVxuICBwb2ludDogbnVsbCxcbiAgY3VzdG9tOiBudWxsLFxuICAvLyBVSS1vbmx5IHR5cGUsIHJlc29sdmluZyBhcyBjdXN0b21cbiAgbG9nYXJpdGhtaWM6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgU0NBTEVfRlVOQyA9IHtcbiAgW1NDQUxFX1RZUEVTLmxpbmVhcl06IHNjYWxlTGluZWFyLFxuICBbU0NBTEVfVFlQRVMucXVhbnRpemVdOiBzY2FsZVF1YW50aXplLFxuICBbU0NBTEVfVFlQRVMucXVhbnRpbGVdOiBzY2FsZVF1YW50aWxlLFxuICBbU0NBTEVfVFlQRVMub3JkaW5hbF06IHNjYWxlT3JkaW5hbCxcbiAgW1NDQUxFX1RZUEVTLnNxcnRdOiBzY2FsZVNxcnQsXG4gIFtTQ0FMRV9UWVBFUy5sb2ddOiBzY2FsZUxvZyxcbiAgW1NDQUxFX1RZUEVTLnBvaW50XTogc2NhbGVQb2ludCxcbiAgW1NDQUxFX1RZUEVTLmN1c3RvbV06IHNjYWxlVGhyZXNob2xkXG59O1xuXG5leHBvcnQgY29uc3QgQUxMX0ZJRUxEX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgYm9vbGVhbjogbnVsbCxcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogbnVsbCxcbiAgcmVhbDogbnVsbCxcbiAgc3RyaW5nOiBudWxsLFxuICB0aW1lc3RhbXA6IG51bGwsXG4gIHBvaW50OiBudWxsXG59KTtcblxuLy8gRGF0YSBUYWJsZVxuZXhwb3J0IGNvbnN0IFNPUlRfT1JERVIgPSBrZXlNaXJyb3Ioe1xuICBBU0NFTkRJTkc6IG51bGwsXG4gIERFU0NFTkRJTkc6IG51bGwsXG4gIFVOU09SVDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT04gPSBrZXlNaXJyb3Ioe1xuICBTT1JUX0FTQzogbnVsbCxcbiAgU09SVF9ERVM6IG51bGwsXG4gIFVOU09SVDogbnVsbCxcbiAgUElOOiBudWxsLFxuICBVTlBJTjogbnVsbCxcbiAgQ09QWTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT05fTElTVCA9IFtcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9BU0MsXG4gICAgZGlzcGxheTogJ1NvcnQgQXNjZW5kaW5nJyxcbiAgICBpY29uOiBBcnJvd1VwLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuQVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlNPUlRfREVTLFxuICAgIGRpc3BsYXk6ICdTb3J0IERlc2NlbmRpbmcnLFxuICAgIGljb246IEFycm93RG93bixcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLnNvcnRNb2RlICE9PSBTT1JUX09SREVSLkRFU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uVU5TT1JULFxuICAgIGRpc3BsYXk6ICdVbnNvcnQgQ29sdW1uJyxcbiAgICBpY29uOiBDYW5jZWwsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1NvcnRlZFxuICB9LFxuICB7dmFsdWU6IFRBQkxFX09QVElPTi5QSU4sIGRpc3BsYXk6ICdQaW4gQ29sdW1uJywgaWNvbjogUGluLCBjb25kaXRpb246IHByb3BzID0+ICFwcm9wcy5pc1Bpbm5lZH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOUElOLFxuICAgIGRpc3BsYXk6ICdVbnBpbiBDb2x1bW4nLFxuICAgIGljb246IENhbmNlbCxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzUGlubmVkXG4gIH0sXG4gIHt2YWx1ZTogVEFCTEVfT1BUSU9OLkNPUFksIGRpc3BsYXk6ICdDb3B5IENvbHVtbicsIGljb246IENsaXBib2FyZH1cbl07XG5cbmNvbnN0IE9SQU5HRSA9ICcyNDgsIDE5NCwgMjgnO1xuY29uc3QgUElOSyA9ICcyMzEsIDE4OSwgMTk0JztcbmNvbnN0IFBVUlBMRSA9ICcxNjAsIDEwNiwgMjA2JztcbmNvbnN0IEJMVUUgPSAnMTQwLCAyMTAsIDIwNSc7XG5jb25zdCBCTFVFMiA9ICcxMDYsIDE2MCwgMjA2JztcbmNvbnN0IEJMVUUzID0gJzAsIDE3MiwgMjM3JztcbmNvbnN0IEdSRUVOID0gJzEwNiwgMTYwLCA1Nic7XG5jb25zdCBSRUQgPSAnMjM3LCA4OCwgMTA2JztcblxuZXhwb3J0IGNvbnN0IEZJTEVEX1RZUEVfRElTUExBWSA9IHtcbiAgW0FMTF9GSUVMRF9UWVBFUy5ib29sZWFuXToge1xuICAgIGxhYmVsOiAnYm9vbCcsXG4gICAgY29sb3I6IFBJTktcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5kYXRlXToge1xuICAgIGxhYmVsOiAnZGF0ZScsXG4gICAgY29sb3I6IFBVUlBMRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmdlb2pzb25dOiB7XG4gICAgbGFiZWw6ICdnZW8nLFxuICAgIGNvbG9yOiBCTFVFMlxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJdOiB7XG4gICAgbGFiZWw6ICdpbnQnLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5yZWFsXToge1xuICAgIGxhYmVsOiAnZmxvYXQnLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgbGFiZWw6ICdzdHJpbmcnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIGxhYmVsOiAndGltZScsXG4gICAgY29sb3I6IEdSRUVOXG4gIH0sXG4gIC8vIGZpZWxkIHBhaXJzXG4gIFtBTExfRklFTERfVFlQRVMucG9pbnRdOiB7XG4gICAgbGFiZWw6ICdwb2ludCcsXG4gICAgY29sb3I6IEJMVUUzXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRCA9IFsyNTUsIDI1NSwgMjU1LCA2MF07XG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRVMgPSBrZXlNaXJyb3Ioe1xuICBjb2xvcjogbnVsbCxcbiAgcmFkaXVzOiBudWxsLFxuICBzaXplOiBudWxsLFxuICBjdXN0b21NYXJrZXI6IG51bGwsXG4gIGNvbG9yQWdncjogbnVsbCxcbiAgc2l6ZUFnZ3I6IG51bGwsXG4gIGlkZW50aXR5OiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX1RZUEVTID0ge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnLFxuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnLFxuICBtYXhpbXVtOiAnbWF4aW11bScsXG4gIG1pbmltdW06ICdtaW5pbXVtJyxcbiAgbWVkaWFuOiAnbWVkaWFuJyxcbiAgc3RkZXY6ICdzdGRldicsXG4gIHN1bTogJ3N1bScsXG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnLFxuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJyxcbiAgY291bnRVbmlxdWU6ICdjb3VudCB1bmlxdWUnLFxuICBhbnlWYWx1ZTogJ2FueV92YWx1ZSdcbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyA9IHtcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogW1xuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN1bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZVxuICBdLFxuICByZWFsOiBbXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuY291bnQsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3VtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXG4gIF0sXG4gIHN0cmluZzogW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGUsIEFHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXSxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbFxufTtcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0FHR1JFR0FUT1JTID0gW1xuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIGRpc3BsYXlOYW1lOiAnQ09VTlQnXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FWRydcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIGRpc3BsYXlOYW1lOiAnTUFYJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgZGlzcGxheU5hbWU6ICdNSU4nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgZGlzcGxheU5hbWU6ICdTVERFVidcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5zdW0sXG4gICAgZGlzcGxheU5hbWU6ICdTVU0nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2UsXG4gICAgZGlzcGxheU5hbWU6ICdWQVJJQU5DRSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tb2RlLFxuICAgIGRpc3BsYXlOYW1lOiAnTU9ERSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FOWSBWQUxVRSdcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmN1c3RvbU1hcmtlcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmlkZW50aXR5XTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcblxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jdXN0b21NYXJrZXJdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICAvLyBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmxpbmVhcl0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGVdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtcbiAgICAgIFNDQUxFX1RZUEVTLnF1YW50aXplLFxuICAgICAgU0NBTEVfVFlQRVMucXVhbnRpbGUsXG4gICAgICBTQ0FMRV9UWVBFUy5jdXN0b21cbiAgICBdXG4gIH0sXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY3VzdG9tTWFya2VyXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIHN0cmluZzoge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIHJlYWw6IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICB0aW1lc3RhbXA6IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgaW50ZWdlcjoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBkYXRlOiB7XG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoZnQgPT4gT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoKVxuICB9KSxcbiAge31cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUyA9IFtdO1xuXG5leHBvcnQgY29uc3QgTk9fVkFMVUVfQ09MT1IgPSBbMCwgMCwgMCwgMF07XG5leHBvcnQgY29uc3QgVU5LTk9XTl9DT0xPUiA9IFsxMzQsIDE0MSwgMTQ1XTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogRVhQT1JUX0lNR19SQVRJT1MuU0NSRUVOLFxuICAgIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9PcmlnaW5hbFNjcmVlbicsXG4gICAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG4gIH0sXG4gIHtcbiAgICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvQ3VzdG9tJyxcbiAgICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbiAgfSxcbiAge1xuICAgIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5GT1VSX0JZX1RIUkVFLFxuICAgIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gICAgfSlcbiAgfSxcbiAge1xuICAgIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TSVhURUVOX0JZX05JTkUsXG4gICAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgICB9KVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogUkVTT0xVVElPTlMuT05FX1gsXG4gICAgbGFiZWw6ICcxeCcsXG4gICAgYXZhaWxhYmxlOiB0cnVlLFxuICAgIHNjYWxlOiAxLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IHNjcmVlbkhcbiAgICB9KVxuICB9LFxuICB7XG4gICAgaWQ6IFJFU09MVVRJT05TLlRXT19YLFxuICAgIGxhYmVsOiAnMngnLFxuICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICBzY2FsZTogMixcbiAgICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICAgIGhlaWdodDogc2NyZWVuSCAqIDJcbiAgICB9KVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChlbnRyeSA9PiAoe1xuICBpZDogZW50cnlbMF0sXG4gIGxhYmVsOiBlbnRyeVsxXS50b0xvd2VyQ2FzZSgpLFxuICBhdmFpbGFibGU6IHRydWVcbn0pKTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfSFRNTF9NQVBfTU9ERVMpLm1hcChlbnRyeSA9PiAoe1xuICBpZDogZW50cnlbMF0sXG4gIGxhYmVsOiBgbW9kYWwuZXhwb3J0TWFwLmh0bWwuJHtlbnRyeVsxXS50b0xvd2VyQ2FzZSgpfWAsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG59KSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1VVSURfQ09VTlQgPSA2O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSA9ICdNRVNTQUdFX05PVF9QUk9WSURFRCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGluZm86IG51bGwsXG4gIGVycm9yOiBudWxsLFxuICB3YXJuaW5nOiBudWxsLFxuICBzdWNjZXNzOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyA9IGtleU1pcnJvcih7XG4gIGdsb2JhbDogbnVsbCxcbiAgZmlsZTogbnVsbFxufSk7XG5cbi8vIE1pbmltdW0gdGltZSBiZXR3ZWVuIGlkZW50aWNhbCBub3RpZmljYXRpb25zIGFib3V0IGRlY2suZ2wgZXJyb3JzXG5leHBvcnQgY29uc3QgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUgPSAyNTAwO1xuXG4vLyBBbmltYXRpb25cbmV4cG9ydCBjb25zdCBCQVNFX1NQRUVEID0gNjAwO1xuZXhwb3J0IGNvbnN0IEZQUyA9IDYwO1xuXG4vKipcbiAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICogMS4gZnJlZVxuICogIHwtPiAgfC0+XG4gKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3Zpbmcgd2luZG93XG4gKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDIuIGluY3JlbWVudGFsXG4gKiB8ICAgIHwtPlxuICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMy4gcG9pbnRcbiAqIG8gLT4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3ZpbmcgcG9pbnRcbiAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogNC4gaW50ZXJ2YWxcbiAqIG8gfj4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gKiBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBhdCBhIGludGVydmFsIHdoZW4gdGhlIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAqL1xuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9XSU5ET1cgPSBrZXlNaXJyb3Ioe1xuICBmcmVlOiBudWxsLFxuICBpbmNyZW1lbnRhbDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGludGVydmFsOiBudWxsXG59KTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVfRk9STUFUID0gJ01NL0REL1lZIEhIOm1tOnNzYSc7XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9SQU5HRSA9IFswLCAxMF07XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9TVEVQID0gMC4wMDE7XG5cbi8vIEdlb2NvZGVyXG5leHBvcnQgY29uc3QgR0VPQ09ERVJfREFUQVNFVF9OQU1FID0gJ2dlb2NvZGVyX2RhdGFzZXQnO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0xBWUVSX0lEID0gJ2dlb2NvZGVyX2xheWVyJztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9HRU9fT0ZGU0VUID0gMC4wNTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX0NPTE9SID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIFdlIGNvdWxkIHVzZSBkaXJlY3RseSByZWFjdC1tYXAtZ2wtZHJhdyBFZGl0b3JNb2RlIGJ1dCB0aGlzIHdvdWxkXG4vLyBjcmVhdGUgYSBkaXJlY3QgZGVwZW5kZW5jeSB3aXRoIHJlYWN0LW1hcC1nbC1kcmF3XG4vLyBDcmVhdGVkIHRoaXMgbWFwIHRvIGJlIGluZGVwZW5kZW50IGZyb20gcmVhY3QtbWFwLWdsLWRyYXdcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIFJFQURfT05MWTogRWRpdG9yTW9kZXMuUkVBRF9PTkxZLFxuICBEUkFXX1BPTFlHT046IEVkaXRvck1vZGVzLkRSQVdfUE9MWUdPTixcbiAgRFJBV19SRUNUQU5HTEU6IEVkaXRvck1vZGVzLkRSQVdfUkVDVEFOR0xFLFxuICBFRElUOiBFZGl0b3JNb2Rlcy5FRElUX1ZFUlRFWFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTID0gW1xuICBMQVlFUl9UWVBFUy5wb2ludCxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbixcbiAgTEFZRVJfVFlQRVMuYXJjLFxuICBMQVlFUl9UWVBFUy5saW5lLFxuICBMQVlFUl9UWVBFUy5oZXhhZ29uSWRcbl07XG4vLyBHUFUgRmlsdGVyaW5nXG4vKipcbiAqIE1heCBudW1iZXIgb2YgZmlsdGVyIHZhbHVlIGJ1ZmZlcnMgdGhhdCBkZWNrLmdsIHByb3ZpZGVzXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfR1BVX0ZJTFRFUlMgPSA0O1xuZXhwb3J0IGNvbnN0IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OID0ge1xuICB3aWR0aDogMzAwLFxuICBoZWlnaHQ6IDIwMFxufTtcblxuZXhwb3J0IGNvbnN0IE1BUF9JTkZPX0NIQVJBQ1RFUiA9IHtcbiAgdGl0bGU6IDEwMCxcbiAgZGVzY3JpcHRpb246IDEwMFxufTtcblxuLy8gTG9hZCBkYXRhXG5leHBvcnQgY29uc3QgTE9BRElOR19NRVRIT0RTID0ga2V5TWlycm9yKHtcbiAgdXBsb2FkOiBudWxsLFxuICBzdG9yYWdlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERBVEFTRVRfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIHJvdzogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgY3N2OiBudWxsLFxuICBrZXBsZXJnbDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVBfQ09OVFJPTFMgPSBrZXlNaXJyb3Ioe1xuICB2aXNpYmxlTGF5ZXJzOiBudWxsLFxuICBtYXBMZWdlbmQ6IG51bGwsXG4gIHRvZ2dsZTNkOiBudWxsLFxuICBzcGxpdE1hcDogbnVsbCxcbiAgbWFwRHJhdzogbnVsbCxcbiAgbWFwTG9jYWxlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IE1BU0tfTEFZRVJfSUQgPSAnbWFza19sYXllcic7XG5cbmV4cG9ydCBjb25zdCBaT09NX0xFVkVMX0xJTUlUUyA9IHtcbiAgbWluOiAwLFxuICBtYXg6IDIxXG59O1xuIl19