@projectcor/maia-components 2.38.3 → 2.39.0

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.
@@ -410,7 +410,8 @@ export var AbmSkillModal = function AbmSkillModal(_ref) {
410
410
  });
411
411
  document.dispatchEvent(new CustomEvent(SKILL_USE_AFTER_SAVE_EVENT, {
412
412
  detail: {
413
- skill: savedSkill
413
+ skill: savedSkill,
414
+ useFirstAgent: true
414
415
  }
415
416
  }));
416
417
  }
@@ -707,4 +708,4 @@ export var AbmSkillModal = function AbmSkillModal(_ref) {
707
708
  }) : null]
708
709
  }), container);
709
710
  };
710
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkNyb3NzIiwiRmlsZVVwbG9hZCIsInVzZVRyYW5zbGF0aW9uIiwiQmFja2Ryb3AiLCJMb2FkZXIiLCJTd2l0Y2giLCJTRUNUSU9OUyIsInVzZVVzZXIiLCJpc0NvbGxhYm9yYXRvclJvbGUiLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZVNuYWNrQmFyTWFuYWdlciIsImZvcm1hdERhdGUiLCJjcmVhdGVTa2lsbCIsInVwZGF0ZVNraWxsIiwiZGVsZXRlU2tpbGwiLCJnZXRVbml0RmlsZVNpemUiLCJnZXRTa2lsbENvbnRlbnRCeXRlTGVuZ3RoIiwiaXNTa2lsbENvbnRlbnRPdmVyTGltaXQiLCJTS0lMTF9DT05URU5UX01BWF9CWVRFUyIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJTQ0FTTUJ5dGVDb3VudGVyIiwiU0NBU01DYW5jZWxCdXR0b24iLCJTQ0FTTUNsb3NlQnV0dG9uIiwiU0NBU01Cb2R5IiwiU0NBU01EZWxldGVTbG90IiwiU0NBU01GaWVsZEJveCIsIlNDQVNNRmllbGRJbnB1dCIsIlNDQVNNRmllbGRMYWJlbCIsIlNDQVNNRmllbGRUZXh0YXJlYSIsIlNDQVNNRm9vdGVyIiwiU0NBU01IZWFkZXIiLCJTQ0FTTUhlYWRlclRpdGxlIiwiU0NBU01IaWRkZW5GaWxlSW5wdXQiLCJTQ0FTTUluc3RydWN0aW9uc0ZpZWxkIiwiU0NBU01JbnN0cnVjdGlvbnNIZWFkZXIiLCJTQ0FTTUluc3RydWN0aW9uc1BhbmVsIiwiU0NBU01JbnN0cnVjdGlvbnNUZXh0YXJlYSIsIlNDQVNNSW5zdHJ1Y3Rpb25zVGl0bGUiLCJTQ0FTTU1ldGFkYXRhSXRlbSIsIlNDQVNNUHJldmlld0JvZHkiLCJTQ0FTTVByZXZpZXdDb250ZW50Qm94IiwiU0NBU01QcmV2aWV3Q29udGVudFBhbmVsIiwiU0NBU01QcmV2aWV3RGVzY3JpcHRpb24iLCJTQ0FTTVByZXZpZXdIZWFkaW5nQmxvY2siLCJTQ0FTTVByZXZpZXdNZXRhZGF0YUxhYmVsIiwiU0NBU01QcmV2aWV3TWV0YWRhdGFSb3ciLCJTQ0FTTVByZXZpZXdNZXRhZGF0YVZhbHVlIiwiU0NBU01QcmV2aWV3TmFtZSIsIlNDQVNNU2F2ZU91dGxpbmVkQnV0dG9uIiwiU0NBU01TYXZlUHJpbWFyeUJ1dHRvbiIsIlNDQVNNU3dpdGNoTGFiZWwiLCJTQ0FTTVN3aXRjaFJvdyIsIlNDQVNNVXBsb2FkQnV0dG9uIiwiU0NBU01Vc2VTa2lsbEJ1dHRvbiIsIlNDQVNNV3JhcHBlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIlNLSUxMX1VTRV9BRlRFUl9TQVZFX0VWRU5UIiwicmVzb2x2ZVNraWxsQWJtT3B0aW9uIiwic2tpbGxWYWx1ZXMiLCJpc1JlYWRPbmx5IiwiaXNFZGl0aW5nIiwiaW5pdGlhbFZhbHVlcyIsImdlbmVyYWwiLCJpZCIsInVuZGVmaW5lZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImNvbnRlbnQiLCJhY2Nlc3NfdHlwZSIsImVtcHR5QmFzZWxpbmUiLCJwYXJzZURlc2NyaXB0aW9uRnJvbUNvbnRlbnQiLCJmcm9udG1hdHRlck1hdGNoIiwibWF0Y2giLCJkZXNjcmlwdGlvbk1hdGNoIiwidHJpbSIsIkFibVNraWxsTW9kYWwiLCJfcmVmIiwiX3ZhbHVlcyRnZW5lcmFsIiwiX3ZhbHVlcyRnZW5lcmFsMiIsIl92YWx1ZXMkZ2VuZXJhbDMiLCJfdmFsdWVzJGdlbmVyYWw0IiwiX3ZhbHVlcyRnZW5lcmFsNSIsIl92YWx1ZXMkZ2VuZXJhbDciLCJfdmFsdWVzJGdlbmVyYWwwIiwiX3ZhbHVlcyRnZW5lcmFsMSIsImFkZFNraWxsIiwidXBkYXRlU2tpbGxJbkxpc3QiLCJyZW1vdmVTa2lsbCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJ1c2VyIiwiZXZlbnRBbXBsaXR1ZGUiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzT3BlbiIsInNldElzT3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNTdWJtaXR0aW5nIiwic2V0SXNTdWJtaXR0aW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93RGVsZXRlIiwic2V0U2hvd0RlbGV0ZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwicGVuZGluZ1VwbG9hZCIsInNldFBlbmRpbmdVcGxvYWQiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInZhbHVlcyIsInNldFZhbHVlcyIsImZpbGVJbnB1dFJlZiIsImluaXRpYWxSZWYiLCJpc1NoYXJlZFNraWxsIiwiaXNTaGFyZWQiLCJjYW5TaGFyZVdpdGhDb21wYW55Iiwicm9sZV9pZCIsImFjY2Vzc1R5cGUiLCJlZmZlY3RpdmVBY2Nlc3NUeXBlIiwic2tpbGxJZCIsImNvbnRlbnRCeXRlcyIsImlzT3ZlckxpbWl0IiwiaXNWYWxpZCIsImhhc0NoYW5nZXMiLCJjdXJyZW50IiwiY3JlYXRlZEJ5TGFiZWwiLCJfdmFsdWVzJGdlbmVyYWw2IiwiY3JlYXRlZEJ5IiwiY3JlYXRlZF9ieV9uYW1lIiwiY29uY2F0IiwiZmlyc3ROYW1lIiwibGFzdE5hbWUiLCJsYXN0VXBkYXRlZExhYmVsIiwiX3ZhbHVlcyRnZW5lcmFsOCIsIl92YWx1ZXMkZ2VuZXJhbDkiLCJ1cGRhdGVkQXQiLCJ1cGRhdGVkX2F0IiwiY3JlYXRlZF9hdCIsInBhcnNlZCIsIkRhdGUiLCJOdW1iZXIiLCJpc05hTiIsImdldFRpbWUiLCJoYW5kbGVDbG9zZSIsImhhbmRsZUNhbmNlbCIsImFpQ2hhdFNraWxsQWJtQ2FuY2VsIiwib3B0aW9uIiwiaGFuZGxlQmFja2Ryb3BDbGljayIsImV2ZW50IiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsImhhbmRsZVNldFNraWxsVmFsdWVzIiwiX3NraWxsVmFsdWVzJHZhbHVlcyIsIl9za2lsbFZhbHVlcyR2YWx1ZXMyIiwiX3NraWxsVmFsdWVzJHZhbHVlczMiLCJfcmVmMiIsImRldGFpbCIsImFuYWx5dGljc1NvdXJjZSIsImluY29taW5nR2VuZXJhbCIsIl9vYmplY3RTcHJlYWQiLCJpbmNvbWluZ05hbWUiLCJpbmNvbWluZ0Rlc2NyaXB0aW9uIiwiaW5jb21pbmdDb250ZW50IiwiaW5jb21pbmdBY2Nlc3NUeXBlIiwicGFyc2VkRGVzY3JpcHRpb24iLCJlZGl0aW5nQmFzZWxpbmUiLCJpbnRlbnQiLCJpbmNvbWluZ1ZhbHVlcyIsInNvdXJjZSIsImFpQ2hhdFNraWxsQWJtQWNjZXNzIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImNsaWNrIiwiaGFuZGxlQ2hhbmdlRmllbGQiLCJmaWVsZCIsInZhbHVlIiwibGVuZ3RoIiwicHJldiIsIl9kZWZpbmVQcm9wZXJ0eSIsImhhbmRsZUFjY2Vzc1R5cGVDaGFuZ2UiLCJjaGVja2VkIiwiaGFuZGxlVXBsb2FkQ2xpY2siLCJfZmlsZUlucHV0UmVmJGN1cnJlbnQyIiwiaGFuZGxlRmlsZUNoYW5nZSIsIl9yZWYzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfZXZlbnQkdGFyZ2V0JGZpbGVzIiwiZmlsZSIsImlzTWFya2Rvd24iLCJ0ZXh0IiwiYmFzZU5hbWUiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsIm5leHQiLCJmaWxlcyIsImFicnVwdCIsInRlc3QiLCJhaUNoYXRTa2lsbFVwbG9hZCIsInJlc3VsdCIsInNpemUiLCJzZW50IiwicmVwbGFjZSIsIl9wcmV2JGdlbmVyYWwiLCJfcHJldiRnZW5lcmFsMiIsIl9wcmV2JGdlbmVyYWwzIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJwZXJzaXN0U2tpbGwiLCJfcmVmNCIsIl9jYWxsZWUyIiwicGF5bG9hZCIsInVwZGF0ZWQiLCJjcmVhdGVkIiwiX2NvbnRleHQyIiwiaGFuZGxlU2F2ZSIsIl9yZWY1IiwiX2NhbGxlZTMiLCJzYXZlZFNraWxsIiwiX3QyIiwiX2NvbnRleHQzIiwiYWlDaGF0U2tpbGxBYm1Db25maXJtIiwiYWN0aW9uIiwic2tpbGxfaWQiLCJmaW5pc2giLCJoYW5kbGVTYXZlQW5kVXNlIiwiX3JlZjYiLCJfY2FsbGVlNCIsIl90MyIsIl9jb250ZXh0NCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsInNraWxsIiwiaGFuZGxlQ29uZmlybURlbGV0ZSIsIl9yZWY3IiwiX2NhbGxlZTUiLCJfdDQiLCJfY29udGV4dDUiLCJhaUNoYXRTa2lsbEFibURlbGV0ZSIsImhhbmRsZUVkaXRGcm9tVmlldyIsImhhbmRsZVVzZVNraWxsIiwiYWlDaGF0U2tpbGxVc2UiLCJpc19zaGFyZWQiLCJ1c2VGaXJzdEFnZW50IiwiY29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJlZGl0T3JDcmVhdGVUaXRsZSIsInZpZXdUaXRsZSIsIm1vZGFsVGl0bGUiLCJwcmV2aWV3Qm9keSIsImNoaWxkcmVuIiwiekluZGV4Iiwib25DbGljayIsInN0b3BQcm9wYWdhdGlvbiIsInR5cGUiLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0IiwiJGhlaWdodCIsImh0bWxGb3IiLCJtYXhMZW5ndGgiLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIiwib25DaGFuZ2UiLCIkY2xpcE92ZXJmbG93IiwicmVmIiwiYWNjZXB0IiwiJG92ZXJMaW1pdCIsInVzZWQiLCJtYXgiLCJvbkNsb3NlIiwiaGFuZGxlcnMiLCJoYW5kbGVDb25maXJtQWN0aW9uIiwiY2hhdCIsInRpdGxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0FibVNraWxsTW9kYWwvQWJtU2tpbGxNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQ2hhbmdlRXZlbnQsIE1vdXNlRXZlbnQsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBGaWxlVXBsb2FkIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvRmlsZVVwbG9hZCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSAnLi4vLi4vYXRvbXMvQmFja2Ryb3AnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tICcuLi8uLi9hdG9tcy9Td2l0Y2gnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VVc2VyLCBpc0NvbGxhYm9yYXRvclJvbGUgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuaW1wb3J0IHsgY3JlYXRlU2tpbGwgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1NraWxscy9jcmVhdGVTa2lsbCdcbmltcG9ydCB7IHVwZGF0ZVNraWxsIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9Ta2lsbHMvdXBkYXRlU2tpbGwnXG5pbXBvcnQgeyBkZWxldGVTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvU2tpbGxzL2RlbGV0ZVNraWxsJ1xuaW1wb3J0IHsgU2tpbGwsIFNraWxsQWNjZXNzVHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NraWxsJ1xuaW1wb3J0IHsgZ2V0VW5pdEZpbGVTaXplIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ2V0VW5pdEZpbGVTaXplJ1xuaW1wb3J0IHtcbiAgZ2V0U2tpbGxDb250ZW50Qnl0ZUxlbmd0aCxcbiAgaXNTa2lsbENvbnRlbnRPdmVyTGltaXQsXG4gIFNLSUxMX0NPTlRFTlRfTUFYX0JZVEVTLFxufSBmcm9tICcuLi8uLi8uLi91dGlscy9za2lsbENvbnRlbnRTaXplJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uL0RlbGV0ZVF1ZXN0aW9uTW9kYWwvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7XG4gIFNDQVNNQnl0ZUNvdW50ZXIsXG4gIFNDQVNNQ2FuY2VsQnV0dG9uLFxuICBTQ0FTTUNsb3NlQnV0dG9uLFxuICBTQ0FTTUJvZHksXG4gIFNDQVNNRGVsZXRlU2xvdCxcbiAgU0NBU01GaWVsZEJveCxcbiAgU0NBU01GaWVsZElucHV0LFxuICBTQ0FTTUZpZWxkTGFiZWwsXG4gIFNDQVNNRmllbGRUZXh0YXJlYSxcbiAgU0NBU01Gb290ZXIsXG4gIFNDQVNNSGVhZGVyLFxuICBTQ0FTTUhlYWRlclRpdGxlLFxuICBTQ0FTTUhpZGRlbkZpbGVJbnB1dCxcbiAgU0NBU01JbnN0cnVjdGlvbnNGaWVsZCxcbiAgU0NBU01JbnN0cnVjdGlvbnNIZWFkZXIsXG4gIFNDQVNNSW5zdHJ1Y3Rpb25zUGFuZWwsXG4gIFNDQVNNSW5zdHJ1Y3Rpb25zVGV4dGFyZWEsXG4gIFNDQVNNSW5zdHJ1Y3Rpb25zVGl0bGUsXG4gIFNDQVNNTWV0YWRhdGFJdGVtLFxuICBTQ0FTTVByZXZpZXdCb2R5LFxuICBTQ0FTTVByZXZpZXdDb250ZW50Qm94LFxuICBTQ0FTTVByZXZpZXdDb250ZW50UGFuZWwsXG4gIFNDQVNNUHJldmlld0Rlc2NyaXB0aW9uLFxuICBTQ0FTTVByZXZpZXdIZWFkaW5nQmxvY2ssXG4gIFNDQVNNUHJldmlld01ldGFkYXRhTGFiZWwsXG4gIFNDQVNNUHJldmlld01ldGFkYXRhUm93LFxuICBTQ0FTTVByZXZpZXdNZXRhZGF0YVZhbHVlLFxuICBTQ0FTTVByZXZpZXdOYW1lLFxuICBTQ0FTTVNhdmVPdXRsaW5lZEJ1dHRvbixcbiAgU0NBU01TYXZlUHJpbWFyeUJ1dHRvbixcbiAgU0NBU01Td2l0Y2hMYWJlbCxcbiAgU0NBU01Td2l0Y2hSb3csXG4gIFNDQVNNVXBsb2FkQnV0dG9uLFxuICBTQ0FTTVVzZVNraWxsQnV0dG9uLFxuICBTQ0FTTVdyYXBwZXIsXG59IGZyb20gJy4vQWJtU2tpbGxNb2RhbC5zdHlsZXMnXG5cbmV4cG9ydCBjb25zdCBTS0lMTF9VU0VfQUZURVJfU0FWRV9FVkVOVCA9ICdtYWlhLXVzZS1za2lsbC1hZnRlci1zYXZlJ1xuXG50eXBlIFNraWxsTW9kYWxHZW5lcmFsID0ge1xuICBpZD86IHN0cmluZ1xuICBuYW1lPzogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgYWNjZXNzX3R5cGU/OiBTa2lsbEFjY2Vzc1R5cGVcbiAgY3JlYXRlZF9ieV9uYW1lPzogc3RyaW5nXG4gIGNyZWF0ZWRfYXQ/OiBzdHJpbmdcbiAgdXBkYXRlZF9hdD86IHN0cmluZ1xufVxuXG50eXBlIFNraWxsTW9kYWxWYWx1ZXMgPSB7XG4gIGlzRWRpdGluZzogYm9vbGVhblxuICBpc1JlYWRPbmx5PzogYm9vbGVhblxuICBpc1NoYXJlZD86IGJvb2xlYW5cbiAgaW50ZW50PzogJ2dlbmVyYXRlJyB8ICd3cml0ZScgfCAndXBsb2FkJ1xuICBnZW5lcmFsPzogU2tpbGxNb2RhbEdlbmVyYWxcbn1cblxudHlwZSBTa2lsbEFibU9wdGlvbiA9ICdjcmVhdGUnIHwgJ2VkaXQnIHwgJ3ZpZXcnXG50eXBlIFNraWxsQWJtQWNjZXNzU291cmNlID0gJ2NhdGFsb2cnIHwgJ2Ryb3Bkb3duJyB8ICdlbXB0eSdcblxuY29uc3QgcmVzb2x2ZVNraWxsQWJtT3B0aW9uID0gKHNraWxsVmFsdWVzOiBTa2lsbE1vZGFsVmFsdWVzKTogU2tpbGxBYm1PcHRpb24gPT4ge1xuICBpZiAoc2tpbGxWYWx1ZXMuaXNSZWFkT25seSkgcmV0dXJuICd2aWV3J1xuICBpZiAoc2tpbGxWYWx1ZXMuaXNFZGl0aW5nKSByZXR1cm4gJ2VkaXQnXG4gIHJldHVybiAnY3JlYXRlJ1xufVxuXG50eXBlIEFibVNraWxsTW9kYWxQcm9wcyA9IHtcbiAgYWRkU2tpbGw/OiAoc2tpbGw6IFNraWxsKSA9PiB2b2lkXG4gIHVwZGF0ZVNraWxsSW5MaXN0PzogKHNraWxsOiBTa2lsbCkgPT4gdm9pZFxuICByZW1vdmVTa2lsbD86IChza2lsbElkOiBzdHJpbmcpID0+IHZvaWRcbn1cblxuY29uc3QgaW5pdGlhbFZhbHVlczogU2tpbGxNb2RhbFZhbHVlcyA9IHtcbiAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgZ2VuZXJhbDoge1xuICAgIGlkOiB1bmRlZmluZWQsXG4gICAgbmFtZTogJycsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIGNvbnRlbnQ6ICcnLFxuICAgIGFjY2Vzc190eXBlOiAnb25seV9tZScsXG4gIH0sXG59XG5cbnR5cGUgU2tpbGxGb3JtQmFzZWxpbmUgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICBhY2Nlc3NfdHlwZTogU2tpbGxBY2Nlc3NUeXBlXG59XG5cbmNvbnN0IGVtcHR5QmFzZWxpbmU6IFNraWxsRm9ybUJhc2VsaW5lID0ge1xuICBuYW1lOiAnJyxcbiAgZGVzY3JpcHRpb246ICcnLFxuICBjb250ZW50OiAnJyxcbiAgYWNjZXNzX3R5cGU6ICdvbmx5X21lJyxcbn1cblxuY29uc3QgcGFyc2VEZXNjcmlwdGlvbkZyb21Db250ZW50ID0gKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGZyb250bWF0dGVyTWF0Y2ggPSBjb250ZW50Lm1hdGNoKC9eLS0tXFxzKlxcbihbXFxzXFxTXSo/KVxcbi0tLS8pXG4gIGlmICghZnJvbnRtYXR0ZXJNYXRjaCkgcmV0dXJuICcnXG4gIGNvbnN0IGRlc2NyaXB0aW9uTWF0Y2ggPSBmcm9udG1hdHRlck1hdGNoWzFdLm1hdGNoKC9eZGVzY3JpcHRpb246XFxzKiguKykkL20pXG4gIHJldHVybiBkZXNjcmlwdGlvbk1hdGNoID8gZGVzY3JpcHRpb25NYXRjaFsxXS50cmltKCkgOiAnJ1xufVxuXG5leHBvcnQgY29uc3QgQWJtU2tpbGxNb2RhbCA9ICh7IGFkZFNraWxsLCB1cGRhdGVTa2lsbEluTGlzdCwgcmVtb3ZlU2tpbGwgfTogQWJtU2tpbGxNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJTdWNjZXNzLCBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1N1Ym1pdHRpbmcsIHNldElzU3VibWl0dGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3Nob3dEZWxldGUsIHNldFNob3dEZWxldGVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtwZW5kaW5nVXBsb2FkLCBzZXRQZW5kaW5nVXBsb2FkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbdmFsdWVzLCBzZXRWYWx1ZXNdID0gdXNlU3RhdGU8U2tpbGxNb2RhbFZhbHVlcz4oaW5pdGlhbFZhbHVlcylcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGluaXRpYWxSZWYgPSB1c2VSZWY8U2tpbGxGb3JtQmFzZWxpbmU+KGVtcHR5QmFzZWxpbmUpXG5cbiAgY29uc3QgaXNSZWFkT25seSA9ICEhdmFsdWVzLmlzUmVhZE9ubHlcbiAgY29uc3QgaXNTaGFyZWRTa2lsbCA9ICEhdmFsdWVzLmlzU2hhcmVkXG4gIGNvbnN0IGNhblNoYXJlV2l0aENvbXBhbnkgPSAhaXNDb2xsYWJvcmF0b3JSb2xlKHVzZXIucm9sZV9pZCkgJiYgIWlzUmVhZE9ubHlcblxuICBjb25zdCBuYW1lID0gdmFsdWVzLmdlbmVyYWw/Lm5hbWUgfHwgJydcbiAgY29uc3QgZGVzY3JpcHRpb24gPSB2YWx1ZXMuZ2VuZXJhbD8uZGVzY3JpcHRpb24gfHwgJydcbiAgY29uc3QgY29udGVudCA9IHZhbHVlcy5nZW5lcmFsPy5jb250ZW50IHx8ICcnXG4gIGNvbnN0IGFjY2Vzc1R5cGU6IFNraWxsQWNjZXNzVHlwZSA9IHZhbHVlcy5nZW5lcmFsPy5hY2Nlc3NfdHlwZSB8fCAnb25seV9tZSdcbiAgY29uc3QgZWZmZWN0aXZlQWNjZXNzVHlwZTogU2tpbGxBY2Nlc3NUeXBlID0gY2FuU2hhcmVXaXRoQ29tcGFueSA/IGFjY2Vzc1R5cGUgOiAnb25seV9tZSdcbiAgY29uc3Qgc2tpbGxJZCA9IHZhbHVlcy5nZW5lcmFsPy5pZFxuICBjb25zdCBjb250ZW50Qnl0ZXMgPSB1c2VNZW1vKCgpID0+IGdldFNraWxsQ29udGVudEJ5dGVMZW5ndGgoY29udGVudCksIFtjb250ZW50XSlcbiAgY29uc3QgaXNPdmVyTGltaXQgPSBjb250ZW50Qnl0ZXMgPiBTS0lMTF9DT05URU5UX01BWF9CWVRFU1xuICBjb25zdCBpc1ZhbGlkID0gISFuYW1lLnRyaW0oKSAmJiAhIWNvbnRlbnQudHJpbSgpICYmICFpc092ZXJMaW1pdFxuICBjb25zdCBoYXNDaGFuZ2VzID1cbiAgICBuYW1lLnRyaW0oKSAhPT0gaW5pdGlhbFJlZi5jdXJyZW50Lm5hbWUgfHxcbiAgICBkZXNjcmlwdGlvbi50cmltKCkgIT09IGluaXRpYWxSZWYuY3VycmVudC5kZXNjcmlwdGlvbiB8fFxuICAgIGNvbnRlbnQudHJpbSgpICE9PSBpbml0aWFsUmVmLmN1cnJlbnQuY29udGVudCB8fFxuICAgIChjYW5TaGFyZVdpdGhDb21wYW55ICYmIGVmZmVjdGl2ZUFjY2Vzc1R5cGUgIT09IGluaXRpYWxSZWYuY3VycmVudC5hY2Nlc3NfdHlwZSlcblxuICBjb25zdCBjcmVhdGVkQnlMYWJlbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGNyZWF0ZWRCeSA9IHZhbHVlcy5nZW5lcmFsPy5jcmVhdGVkX2J5X25hbWU/LnRyaW0oKVxuICAgIGlmIChjcmVhdGVkQnkpIHJldHVybiBjcmVhdGVkQnlcbiAgICByZXR1cm4gaXNTaGFyZWRTa2lsbCA/ICcnIDogYCR7dXNlci5maXJzdE5hbWV9ICR7dXNlci5sYXN0TmFtZX1gLnRyaW0oKVxuICB9LCBbdmFsdWVzLmdlbmVyYWw/LmNyZWF0ZWRfYnlfbmFtZSwgdXNlci5maXJzdE5hbWUsIHVzZXIubGFzdE5hbWUsIGlzU2hhcmVkU2tpbGxdKVxuXG4gIGNvbnN0IGxhc3RVcGRhdGVkTGFiZWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB1cGRhdGVkQXQgPSB2YWx1ZXMuZ2VuZXJhbD8udXBkYXRlZF9hdCB8fCB2YWx1ZXMuZ2VuZXJhbD8uY3JlYXRlZF9hdFxuICAgIGlmICghdXBkYXRlZEF0KSByZXR1cm4gJydcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZSh1cGRhdGVkQXQpXG4gICAgaWYgKE51bWJlci5pc05hTihwYXJzZWQuZ2V0VGltZSgpKSkgcmV0dXJuICcnXG4gICAgcmV0dXJuIGZvcm1hdERhdGUocGFyc2VkKVxuICB9LCBbdmFsdWVzLmdlbmVyYWw/LnVwZGF0ZWRfYXQsIHZhbHVlcy5nZW5lcmFsPy5jcmVhdGVkX2F0XSlcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgc2V0U2hvd0RlbGV0ZShmYWxzZSlcbiAgICBzZXRQZW5kaW5nVXBsb2FkKGZhbHNlKVxuICAgIHNldFZhbHVlcyhpbml0aWFsVmFsdWVzKVxuICAgIGluaXRpYWxSZWYuY3VycmVudCA9IGVtcHR5QmFzZWxpbmVcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlQ2FuY2VsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbEFibUNhbmNlbCwgeyBvcHRpb246IHJlc29sdmVTa2lsbEFibU9wdGlvbih2YWx1ZXMpIH0pXG4gICAgaGFuZGxlQ2xvc2UoKVxuICB9LCBbZXZlbnRBbXBsaXR1ZGUsIGhhbmRsZUNsb3NlLCB2YWx1ZXNdKVxuXG4gIGNvbnN0IGhhbmRsZUJhY2tkcm9wQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC50YXJnZXQgPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgaGFuZGxlQ2FuY2VsKClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtoYW5kbGVDYW5jZWxdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNldFNraWxsVmFsdWVzID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHsgc2tpbGxWYWx1ZXMsIGFuYWx5dGljc1NvdXJjZSB9ID0gZXZlbnQuZGV0YWlsIHx8IHt9XG4gICAgICBpZiAoIXNraWxsVmFsdWVzKSByZXR1cm5cblxuICAgICAgY29uc3QgaW5jb21pbmdHZW5lcmFsID0ge1xuICAgICAgICAuLi5pbml0aWFsVmFsdWVzLmdlbmVyYWwsXG4gICAgICAgIC4uLnNraWxsVmFsdWVzLnZhbHVlcz8uZ2VuZXJhbCxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGluY29taW5nTmFtZSA9IChpbmNvbWluZ0dlbmVyYWwubmFtZSB8fCAnJykudHJpbSgpXG4gICAgICBjb25zdCBpbmNvbWluZ0Rlc2NyaXB0aW9uID0gKGluY29taW5nR2VuZXJhbC5kZXNjcmlwdGlvbiB8fCAnJykudHJpbSgpXG4gICAgICBjb25zdCBpbmNvbWluZ0NvbnRlbnQgPSAoaW5jb21pbmdHZW5lcmFsLmNvbnRlbnQgfHwgJycpLnRyaW0oKVxuICAgICAgY29uc3QgaW5jb21pbmdBY2Nlc3NUeXBlOiBTa2lsbEFjY2Vzc1R5cGUgPSBpc0NvbGxhYm9yYXRvclJvbGUodXNlci5yb2xlX2lkKVxuICAgICAgICA/ICdvbmx5X21lJ1xuICAgICAgICA6IGluY29taW5nR2VuZXJhbC5hY2Nlc3NfdHlwZSB8fCAnb25seV9tZSdcbiAgICAgIGNvbnN0IHBhcnNlZERlc2NyaXB0aW9uID1cbiAgICAgICAgaW5jb21pbmdEZXNjcmlwdGlvbiB8fCAoaW5jb21pbmdDb250ZW50ID8gcGFyc2VEZXNjcmlwdGlvbkZyb21Db250ZW50KGluY29taW5nQ29udGVudCkgOiAnJylcblxuICAgICAgY29uc3QgZWRpdGluZ0Jhc2VsaW5lOiBTa2lsbEZvcm1CYXNlbGluZSA9IHtcbiAgICAgICAgbmFtZTogaW5jb21pbmdOYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogcGFyc2VkRGVzY3JpcHRpb24sXG4gICAgICAgIGNvbnRlbnQ6IGluY29taW5nQ29udGVudCxcbiAgICAgICAgYWNjZXNzX3R5cGU6IGluY29taW5nQWNjZXNzVHlwZSxcbiAgICAgIH1cbiAgICAgIGluaXRpYWxSZWYuY3VycmVudCA9IHNraWxsVmFsdWVzLnZhbHVlcz8uaXNFZGl0aW5nID8gZWRpdGluZ0Jhc2VsaW5lIDogZW1wdHlCYXNlbGluZVxuXG4gICAgICBzZXRWYWx1ZXMoe1xuICAgICAgICAuLi5pbml0aWFsVmFsdWVzLFxuICAgICAgICAuLi5za2lsbFZhbHVlcy52YWx1ZXMsXG4gICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAuLi5pbmNvbWluZ0dlbmVyYWwsXG4gICAgICAgICAgZGVzY3JpcHRpb246IHBhcnNlZERlc2NyaXB0aW9uLFxuICAgICAgICAgIGFjY2Vzc190eXBlOiBpbmNvbWluZ0FjY2Vzc1R5cGUsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgc2V0UGVuZGluZ1VwbG9hZChza2lsbFZhbHVlcy52YWx1ZXM/LmludGVudCA9PT0gJ3VwbG9hZCcpXG4gICAgICBzZXRJc09wZW4oISFza2lsbFZhbHVlcy5pc09wZW4pXG5cbiAgICAgIGlmIChza2lsbFZhbHVlcy5pc09wZW4pIHtcbiAgICAgICAgY29uc3QgaW5jb21pbmdWYWx1ZXMgPSB7IC4uLmluaXRpYWxWYWx1ZXMsIC4uLnNraWxsVmFsdWVzLnZhbHVlcyB9XG4gICAgICAgIGNvbnN0IHNvdXJjZTogU2tpbGxBYm1BY2Nlc3NTb3VyY2UgPVxuICAgICAgICAgIGFuYWx5dGljc1NvdXJjZSA9PT0gJ2Ryb3Bkb3duJyB8fCBhbmFseXRpY3NTb3VyY2UgPT09ICdlbXB0eScgfHwgYW5hbHl0aWNzU291cmNlID09PSAnY2F0YWxvZydcbiAgICAgICAgICAgID8gYW5hbHl0aWNzU291cmNlXG4gICAgICAgICAgICA6ICdjYXRhbG9nJ1xuICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U2tpbGxBYm1BY2Nlc3MsIHtcbiAgICAgICAgICBvcHRpb246IHJlc29sdmVTa2lsbEFibU9wdGlvbihpbmNvbWluZ1ZhbHVlcyksXG4gICAgICAgICAgc291cmNlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywgaGFuZGxlU2V0U2tpbGxWYWx1ZXMpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywgaGFuZGxlU2V0U2tpbGxWYWx1ZXMpXG4gICAgfVxuICB9LCBbZXZlbnRBbXBsaXR1ZGUsIHVzZXIucm9sZV9pZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuICYmIHBlbmRpbmdVcGxvYWQpIHtcbiAgICAgIHNldFBlbmRpbmdVcGxvYWQoZmFsc2UpXG4gICAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKVxuICAgIH1cbiAgfSwgW2lzT3BlbiwgcGVuZGluZ1VwbG9hZF0pXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlRmllbGQgPSAoZmllbGQ6ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY29udGVudCcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoZmllbGQgPT09ICdjb250ZW50JyAmJiBpc1NraWxsQ29udGVudE92ZXJMaW1pdCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggLSBjb250ZW50Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdteVNraWxscy5jb250ZW50U2l6ZUVycm9yJykpXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0VmFsdWVzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBnZW5lcmFsOiB7IC4uLnByZXYuZ2VuZXJhbCwgW2ZpZWxkXTogdmFsdWUgfSxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUFjY2Vzc1R5cGVDaGFuZ2UgPSAoY2hlY2tlZDogYm9vbGVhbikgPT4ge1xuICAgIGlmICghY2FuU2hhcmVXaXRoQ29tcGFueSkgcmV0dXJuXG4gICAgc2V0VmFsdWVzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBnZW5lcmFsOiB7XG4gICAgICAgIC4uLnByZXYuZ2VuZXJhbCxcbiAgICAgICAgYWNjZXNzX3R5cGU6IGNoZWNrZWQgPyAnY29tcGFueScgOiAnb25seV9tZScsXG4gICAgICB9LFxuICAgIH0pKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVXBsb2FkQ2xpY2sgPSAoKSA9PiB7XG4gICAgZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVDaGFuZ2UgPSBhc3luYyAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlcz8uWzBdXG4gICAgaWYgKGZpbGVJbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICBmaWxlSW5wdXRSZWYuY3VycmVudC52YWx1ZSA9ICcnXG4gICAgfVxuICAgIGlmICghZmlsZSkgcmV0dXJuXG5cbiAgICBjb25zdCBpc01hcmtkb3duID0gL1xcLihtZHxtYXJrZG93bikkL2kudGVzdChmaWxlLm5hbWUpXG4gICAgaWYgKCFpc01hcmtkb3duKSB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U2tpbGxVcGxvYWQsIHsgcmVzdWx0OiAndHlwZV9lcnJvcicgfSlcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMudXBsb2FkRXJyb3InKSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWxlLnNpemUgPiBTS0lMTF9DT05URU5UX01BWF9CWVRFUykge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFNraWxsVXBsb2FkLCB7IHJlc3VsdDogJ3NpemVfZXJyb3InIH0pXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLnVwbG9hZFNpemVFcnJvcicpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCBmaWxlLnRleHQoKVxuICAgICAgaWYgKGlzU2tpbGxDb250ZW50T3ZlckxpbWl0KHRleHQpKSB7XG4gICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbFVwbG9hZCwgeyByZXN1bHQ6ICdzaXplX2Vycm9yJyB9KVxuICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLnVwbG9hZFNpemVFcnJvcicpKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGNvbnN0IGJhc2VOYW1lID0gZmlsZS5uYW1lLnJlcGxhY2UoL1xcLihtZHxtYXJrZG93bikkL2ksICcnKVxuICAgICAgY29uc3QgcGFyc2VkRGVzY3JpcHRpb24gPSBwYXJzZURlc2NyaXB0aW9uRnJvbUNvbnRlbnQodGV4dClcbiAgICAgIHNldFZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAuLi5wcmV2LmdlbmVyYWwsXG4gICAgICAgICAgY29udGVudDogdGV4dCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcHJldi5nZW5lcmFsPy5kZXNjcmlwdGlvbj8udHJpbSgpXG4gICAgICAgICAgICA/IHByZXYuZ2VuZXJhbC5kZXNjcmlwdGlvblxuICAgICAgICAgICAgOiBwYXJzZWREZXNjcmlwdGlvbiB8fCBwcmV2LmdlbmVyYWw/LmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgIG5hbWU6IHByZXYuZ2VuZXJhbD8ubmFtZT8udHJpbSgpID8gcHJldi5nZW5lcmFsLm5hbWUgOiBiYXNlTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pKVxuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFNraWxsVXBsb2FkLCB7IHJlc3VsdDogJ3N1Y2Nlc3MnIH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMudXBsb2FkRXJyb3InKSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBwZXJzaXN0U2tpbGwgPSBhc3luYyAoKTogUHJvbWlzZTxTa2lsbCB8IG51bGw+ID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgbmFtZTogbmFtZS50cmltKCksXG4gICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24udHJpbSgpLFxuICAgICAgY29udGVudDogY29udGVudC50cmltKCksXG4gICAgICBhY2Nlc3NfdHlwZTogZWZmZWN0aXZlQWNjZXNzVHlwZSxcbiAgICB9XG5cbiAgICBpZiAodmFsdWVzLmlzRWRpdGluZyAmJiBza2lsbElkKSB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgdXBkYXRlU2tpbGwoc2tpbGxJZCwgcGF5bG9hZClcbiAgICAgIHVwZGF0ZVNraWxsSW5MaXN0Py4odXBkYXRlZClcbiAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdteVNraWxscy51cGRhdGVTdWNjZXNzJykpXG4gICAgICByZXR1cm4gdXBkYXRlZFxuICAgIH1cblxuICAgIGNvbnN0IGNyZWF0ZWQgPSBhd2FpdCBjcmVhdGVTa2lsbChwYXlsb2FkKVxuICAgIGFkZFNraWxsPy4oY3JlYXRlZClcbiAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnbXlTa2lsbHMuY3JlYXRlU3VjY2VzcycpKVxuICAgIHJldHVybiBjcmVhdGVkXG4gIH1cblxuICBjb25zdCBoYW5kbGVTYXZlID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmcgfHwgIWhhc0NoYW5nZXMpIHJldHVyblxuICAgIHNldElzU3VibWl0dGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzYXZlZFNraWxsID0gYXdhaXQgcGVyc2lzdFNraWxsKClcbiAgICAgIGlmIChzYXZlZFNraWxsKSB7XG4gICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbEFibUNvbmZpcm0sIHtcbiAgICAgICAgICBvcHRpb246IHZhbHVlcy5pc0VkaXRpbmcgPyAnZWRpdCcgOiAnY3JlYXRlJyxcbiAgICAgICAgICBhY3Rpb246ICdzYXZlJyxcbiAgICAgICAgICBhY2Nlc3NfdHlwZTogZWZmZWN0aXZlQWNjZXNzVHlwZSxcbiAgICAgICAgICBza2lsbF9pZDogc2F2ZWRTa2lsbC5pZCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGhhbmRsZUNsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih2YWx1ZXMuaXNFZGl0aW5nID8gdCgnbXlTa2lsbHMudXBkYXRlRXJyb3InKSA6IHQoJ215U2tpbGxzLmNyZWF0ZUVycm9yJykpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzU3VibWl0dGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVTYXZlQW5kVXNlID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmcpIHJldHVyblxuICAgIHNldElzU3VibWl0dGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzYXZlZFNraWxsID0gYXdhaXQgcGVyc2lzdFNraWxsKClcbiAgICAgIGlmIChzYXZlZFNraWxsKSB7XG4gICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbEFibUNvbmZpcm0sIHtcbiAgICAgICAgICBvcHRpb246IHZhbHVlcy5pc0VkaXRpbmcgPyAnZWRpdCcgOiAnY3JlYXRlJyxcbiAgICAgICAgICBhY3Rpb246ICdzYXZlX2FuZF91c2UnLFxuICAgICAgICAgIGFjY2Vzc190eXBlOiBlZmZlY3RpdmVBY2Nlc3NUeXBlLFxuICAgICAgICAgIHNraWxsX2lkOiBzYXZlZFNraWxsLmlkLFxuICAgICAgICB9KVxuICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudChTS0lMTF9VU0VfQUZURVJfU0FWRV9FVkVOVCwge1xuICAgICAgICAgICAgZGV0YWlsOiB7IHNraWxsOiBzYXZlZFNraWxsIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgaGFuZGxlQ2xvc2UoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHZhbHVlcy5pc0VkaXRpbmcgPyB0KCdteVNraWxscy51cGRhdGVFcnJvcicpIDogdCgnbXlTa2lsbHMuY3JlYXRlRXJyb3InKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNTdWJtaXR0aW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbmZpcm1EZWxldGUgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFza2lsbElkKSByZXR1cm5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgZGVsZXRlU2tpbGwoc2tpbGxJZClcbiAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbEFibURlbGV0ZSwgeyBza2lsbF9pZDogc2tpbGxJZCwgc291cmNlOiAnbW9kYWwnIH0pXG4gICAgICByZW1vdmVTa2lsbD8uKHNraWxsSWQpXG4gICAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnbXlTa2lsbHMuZGVsZXRlU3VjY2VzcycpKVxuICAgICAgaGFuZGxlQ2xvc2UoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLmRlbGV0ZUVycm9yJykpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRWRpdEZyb21WaWV3ID0gKCkgPT4ge1xuICAgIHNldFZhbHVlcyhwcmV2ID0+ICh7IC4uLnByZXYsIGlzUmVhZE9ubHk6IGZhbHNlIH0pKVxuICB9XG5cbiAgLyoqIFNraWxsIGFqZW5hIGVuIG1vZG8gbGVjdHVyYTogYWJyZSB1biBjaGF0IG51ZXZvIGNvbiBlbCBwcmltZXIgYWdlbnRlIHkgbGEgbWVuY2nDs24geWEgcHVlc3RhLiAqL1xuICBjb25zdCBoYW5kbGVVc2VTa2lsbCA9ICgpID0+IHtcbiAgICBpZiAoIXNraWxsSWQpIHJldHVyblxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbFVzZSwge1xuICAgICAgc2tpbGxfaWQ6IHNraWxsSWQsXG4gICAgICBhY2Nlc3NfdHlwZTogYWNjZXNzVHlwZSxcbiAgICAgIHNvdXJjZTogJ3ZpZXdfbW9kYWwnLFxuICAgICAgaXNfc2hhcmVkOiBpc1NoYXJlZFNraWxsLFxuICAgIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudChTS0lMTF9VU0VfQUZURVJfU0FWRV9FVkVOVCwge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBza2lsbDogeyBpZDogc2tpbGxJZCwgbmFtZSwgZGVzY3JpcHRpb24sIGNvbnRlbnQsIGFjY2Vzc190eXBlOiBhY2Nlc3NUeXBlIH0sXG4gICAgICAgICAgdXNlRmlyc3RBZ2VudDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICAgIGhhbmRsZUNsb3NlKClcbiAgfVxuXG4gIGlmICghaXNPcGVuKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1yb290LWFjdGlvbnMnKVxuICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuIG51bGxcblxuICBjb25zdCBlZGl0T3JDcmVhdGVUaXRsZSA9IHZhbHVlcy5pc0VkaXRpbmcgPyB0KCdteVNraWxscy5lZGl0VGl0bGUnKSA6IHQoJ215U2tpbGxzLmNyZWF0ZVRpdGxlJylcbiAgY29uc3Qgdmlld1RpdGxlID0gaXNTaGFyZWRTa2lsbCA/IHQoJ215U2tpbGxzLnZpZXdUaXRsZScpIDogdCgnbXlTa2lsbHMudmlld093blRpdGxlJylcbiAgY29uc3QgbW9kYWxUaXRsZSA9IGlzUmVhZE9ubHkgPyB2aWV3VGl0bGUgOiBlZGl0T3JDcmVhdGVUaXRsZVxuXG4gIGNvbnN0IHByZXZpZXdCb2R5ID0gKFxuICAgIDxTQ0FTTVByZXZpZXdCb2R5PlxuICAgICAgPFNDQVNNUHJldmlld0hlYWRpbmdCbG9jaz5cbiAgICAgICAgPFNDQVNNUHJldmlld05hbWU+e25hbWV9PC9TQ0FTTVByZXZpZXdOYW1lPlxuICAgICAgICB7ZGVzY3JpcHRpb24gPyA8U0NBU01QcmV2aWV3RGVzY3JpcHRpb24+e2Rlc2NyaXB0aW9ufTwvU0NBU01QcmV2aWV3RGVzY3JpcHRpb24+IDogbnVsbH1cbiAgICAgIDwvU0NBU01QcmV2aWV3SGVhZGluZ0Jsb2NrPlxuXG4gICAgICA8U0NBU01QcmV2aWV3TWV0YWRhdGFSb3c+XG4gICAgICAgIHtjcmVhdGVkQnlMYWJlbCA/IChcbiAgICAgICAgICA8U0NBU01NZXRhZGF0YUl0ZW0+XG4gICAgICAgICAgICA8U0NBU01QcmV2aWV3TWV0YWRhdGFMYWJlbD57dCgnbXlTa2lsbHMuY3JlYXRlZEJ5Jyl9PC9TQ0FTTVByZXZpZXdNZXRhZGF0YUxhYmVsPlxuICAgICAgICAgICAgPFNDQVNNUHJldmlld01ldGFkYXRhVmFsdWU+e2NyZWF0ZWRCeUxhYmVsfTwvU0NBU01QcmV2aWV3TWV0YWRhdGFWYWx1ZT5cbiAgICAgICAgICA8L1NDQVNNTWV0YWRhdGFJdGVtPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2xhc3RVcGRhdGVkTGFiZWwgPyAoXG4gICAgICAgICAgPFNDQVNNTWV0YWRhdGFJdGVtPlxuICAgICAgICAgICAgPFNDQVNNUHJldmlld01ldGFkYXRhTGFiZWw+e3QoJ215U2tpbGxzLmxhc3RVcGRhdGVkJyl9PC9TQ0FTTVByZXZpZXdNZXRhZGF0YUxhYmVsPlxuICAgICAgICAgICAgPFNDQVNNUHJldmlld01ldGFkYXRhVmFsdWU+e2xhc3RVcGRhdGVkTGFiZWx9PC9TQ0FTTVByZXZpZXdNZXRhZGF0YVZhbHVlPlxuICAgICAgICAgIDwvU0NBU01NZXRhZGF0YUl0ZW0+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IWlzU2hhcmVkU2tpbGwgPyAoXG4gICAgICAgICAgPFNDQVNNTWV0YWRhdGFJdGVtPlxuICAgICAgICAgICAgPFNDQVNNUHJldmlld01ldGFkYXRhTGFiZWw+e3QoJ215U2tpbGxzLmVuYWJsZWRMYWJlbCcpfTwvU0NBU01QcmV2aWV3TWV0YWRhdGFMYWJlbD5cbiAgICAgICAgICAgIDxTQ0FTTVByZXZpZXdNZXRhZGF0YVZhbHVlPlxuICAgICAgICAgICAgICB7YWNjZXNzVHlwZSA9PT0gJ2NvbXBhbnknID8gdCgnbXlTa2lsbHMudmlzaWJpbGl0eUV2ZXJ5b25lJykgOiB0KCdteVNraWxscy52aXNpYmlsaXR5T25seU1lJyl9XG4gICAgICAgICAgICA8L1NDQVNNUHJldmlld01ldGFkYXRhVmFsdWU+XG4gICAgICAgICAgPC9TQ0FTTU1ldGFkYXRhSXRlbT5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1NDQVNNUHJldmlld01ldGFkYXRhUm93PlxuXG4gICAgICA8U0NBU01QcmV2aWV3Q29udGVudFBhbmVsPlxuICAgICAgICA8U0NBU01JbnN0cnVjdGlvbnNUaXRsZT57dCgnbXlTa2lsbHMuaW5zdHJ1Y3Rpb25zTGFiZWwnKX08L1NDQVNNSW5zdHJ1Y3Rpb25zVGl0bGU+XG4gICAgICAgIDxTQ0FTTVByZXZpZXdDb250ZW50Qm94Pntjb250ZW50fTwvU0NBU01QcmV2aWV3Q29udGVudEJveD5cbiAgICAgIDwvU0NBU01QcmV2aWV3Q29udGVudFBhbmVsPlxuICAgIDwvU0NBU01QcmV2aWV3Qm9keT5cbiAgKVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPEJhY2tkcm9wIHpJbmRleD17MTExMn0gb25DbGljaz17aGFuZGxlQmFja2Ryb3BDbGlja30+XG4gICAgICA8U0NBU01XcmFwcGVyIG9uQ2xpY2s9e2V2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfT5cbiAgICAgICAgPFNDQVNNSGVhZGVyPlxuICAgICAgICAgIDxTQ0FTTUhlYWRlclRpdGxlPnttb2RhbFRpdGxlfTwvU0NBU01IZWFkZXJUaXRsZT5cbiAgICAgICAgICA8U0NBU01DbG9zZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlQ2FuY2VsfSBhcmlhLWxhYmVsPXt0KCdteVNraWxscy5jbG9zZScpfT5cbiAgICAgICAgICAgIDxDcm9zcyBjb2xvcj1cIiNhNmE2YTZcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgPC9TQ0FTTUNsb3NlQnV0dG9uPlxuICAgICAgICA8L1NDQVNNSGVhZGVyPlxuXG4gICAgICAgIHtpc1JlYWRPbmx5ID8gKFxuICAgICAgICAgIHByZXZpZXdCb2R5XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFNDQVNNQm9keT5cbiAgICAgICAgICAgIDxTQ0FTTUZpZWxkQm94ICRoZWlnaHQ9ezUwfT5cbiAgICAgICAgICAgICAgPFNDQVNNRmllbGRMYWJlbCBodG1sRm9yPVwic2tpbGwtbmFtZS1pbnB1dFwiPnt0KCdteVNraWxscy5uYW1lTGFiZWwnKX08L1NDQVNNRmllbGRMYWJlbD5cbiAgICAgICAgICAgICAgPFNDQVNNRmllbGRJbnB1dFxuICAgICAgICAgICAgICAgIGlkPVwic2tpbGwtbmFtZS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIG1heExlbmd0aD17MTUwfVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdteVNraWxscy5uYW1lUGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17bmFtZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiBoYW5kbGVDaGFuZ2VGaWVsZCgnbmFtZScsIGV2ZW50LnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NDQVNNRmllbGRCb3g+XG5cbiAgICAgICAgICAgIDxTQ0FTTUZpZWxkQm94ICRoZWlnaHQ9ezEyMH0gJGNsaXBPdmVyZmxvdz5cbiAgICAgICAgICAgICAgPFNDQVNNRmllbGRMYWJlbCBodG1sRm9yPVwic2tpbGwtZGVzY3JpcHRpb24taW5wdXRcIj57dCgnbXlTa2lsbHMuZGVzY3JpcHRpb25MYWJlbCcpfTwvU0NBU01GaWVsZExhYmVsPlxuICAgICAgICAgICAgICA8U0NBU01GaWVsZFRleHRhcmVhXG4gICAgICAgICAgICAgICAgaWQ9XCJza2lsbC1kZXNjcmlwdGlvbi1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoPXs1MDB9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ215U2tpbGxzLmRlc2NyaXB0aW9uUGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17ZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzU3VibWl0dGluZ31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4gaGFuZGxlQ2hhbmdlRmllbGQoJ2Rlc2NyaXB0aW9uJywgZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU0NBU01GaWVsZEJveD5cblxuICAgICAgICAgICAge2NhblNoYXJlV2l0aENvbXBhbnkgPyAoXG4gICAgICAgICAgICAgIDxTQ0FTTVN3aXRjaFJvdz5cbiAgICAgICAgICAgICAgICA8U3dpdGNoXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXthY2Nlc3NUeXBlID09PSAnY29tcGFueSd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQWNjZXNzVHlwZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdteVNraWxscy5zaGFyZVdpdGhDb21wYW55Jyl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8U0NBU01Td2l0Y2hMYWJlbD57dCgnbXlTa2lsbHMuc2hhcmVXaXRoQ29tcGFueScpfTwvU0NBU01Td2l0Y2hMYWJlbD5cbiAgICAgICAgICAgICAgPC9TQ0FTTVN3aXRjaFJvdz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgICA8U0NBU01JbnN0cnVjdGlvbnNQYW5lbD5cbiAgICAgICAgICAgICAgPFNDQVNNSW5zdHJ1Y3Rpb25zSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxTQ0FTTUluc3RydWN0aW9uc1RpdGxlPnt0KCdteVNraWxscy5pbnN0cnVjdGlvbnNMYWJlbCcpfTwvU0NBU01JbnN0cnVjdGlvbnNUaXRsZT5cbiAgICAgICAgICAgICAgICA8U0NBU01VcGxvYWRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVVwbG9hZENsaWNrfSBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfT5cbiAgICAgICAgICAgICAgICAgIDxGaWxlVXBsb2FkIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gY29sb3I9XCIjMDhDXCIgLz5cbiAgICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy51cGxvYWRNZCcpfVxuICAgICAgICAgICAgICAgIDwvU0NBU01VcGxvYWRCdXR0b24+XG4gICAgICAgICAgICAgICAgPFNDQVNNSGlkZGVuRmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICByZWY9e2ZpbGVJbnB1dFJlZn1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICAgIGFjY2VwdD1cIi5tZCwubWFya2Rvd24sdGV4dC9tYXJrZG93blwiXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDQVNNSW5zdHJ1Y3Rpb25zSGVhZGVyPlxuXG4gICAgICAgICAgICAgIDxTQ0FTTUluc3RydWN0aW9uc0ZpZWxkPlxuICAgICAgICAgICAgICAgIDxTQ0FTTUluc3RydWN0aW9uc1RleHRhcmVhXG4gICAgICAgICAgICAgICAgICBpZD1cInNraWxsLWNvbnRlbnQtaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ215U2tpbGxzLmNvbnRlbnRQbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IGhhbmRsZUNoYW5nZUZpZWxkKCdjb250ZW50JywgZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDQVNNSW5zdHJ1Y3Rpb25zRmllbGQ+XG4gICAgICAgICAgICAgIDxTQ0FTTUJ5dGVDb3VudGVyICRvdmVyTGltaXQ9e2lzT3ZlckxpbWl0fSBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuYnl0ZXNDb3VudGVyJywge1xuICAgICAgICAgICAgICAgICAgdXNlZDogZ2V0VW5pdEZpbGVTaXplKGNvbnRlbnRCeXRlcyksXG4gICAgICAgICAgICAgICAgICBtYXg6IGdldFVuaXRGaWxlU2l6ZShTS0lMTF9DT05URU5UX01BWF9CWVRFUyksXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDwvU0NBU01CeXRlQ291bnRlcj5cbiAgICAgICAgICAgIDwvU0NBU01JbnN0cnVjdGlvbnNQYW5lbD5cbiAgICAgICAgICA8L1NDQVNNQm9keT5cbiAgICAgICAgKX1cblxuICAgICAgICA8U0NBU01Gb290ZXI+XG4gICAgICAgICAge2lzUmVhZE9ubHkgJiYgaXNTaGFyZWRTa2lsbCA/IChcbiAgICAgICAgICAgIDxTQ0FTTVVzZVNraWxsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVVc2VTa2lsbH0+XG4gICAgICAgICAgICAgIHt0KCdteVNraWxscy51c2VTa2lsbCcpfVxuICAgICAgICAgICAgPC9TQ0FTTVVzZVNraWxsQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAge2lzUmVhZE9ubHkgJiYgIWlzU2hhcmVkU2tpbGwgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8U0NBU01EZWxldGVTbG90PlxuICAgICAgICAgICAgICAgIDxTQ0FTTUNhbmNlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0RlbGV0ZSh0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuZGVsZXRlJyl9XG4gICAgICAgICAgICAgICAgPC9TQ0FTTUNhbmNlbEJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9TQ0FTTURlbGV0ZVNsb3Q+XG4gICAgICAgICAgICAgIDxTQ0FTTVNhdmVQcmltYXJ5QnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVFZGl0RnJvbVZpZXd9PlxuICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy5lZGl0Jyl9XG4gICAgICAgICAgICAgIDwvU0NBU01TYXZlUHJpbWFyeUJ1dHRvbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgeyFpc1JlYWRPbmx5ID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge3ZhbHVlcy5pc0VkaXRpbmcgPyAoXG4gICAgICAgICAgICAgICAgPFNDQVNNRGVsZXRlU2xvdD5cbiAgICAgICAgICAgICAgICAgIDxTQ0FTTUNhbmNlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0RlbGV0ZSh0cnVlKX0gZGlzYWJsZWQ9e2lzU3VibWl0dGluZ30+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy5kZWxldGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvU0NBU01DYW5jZWxCdXR0b24+XG4gICAgICAgICAgICAgICAgPC9TQ0FTTURlbGV0ZVNsb3Q+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8U0NBU01TYXZlT3V0bGluZWRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVNhdmVBbmRVc2V9IGRpc2FibGVkPXshaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgICAgIHtpc1N1Ym1pdHRpbmcgPyA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+IDogdCgnbXlTa2lsbHMuc2F2ZUFuZFVzZScpfVxuICAgICAgICAgICAgICA8L1NDQVNNU2F2ZU91dGxpbmVkQnV0dG9uPlxuICAgICAgICAgICAgICA8U0NBU01TYXZlUHJpbWFyeUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNhdmV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc1ZhbGlkIHx8IGlzU3VibWl0dGluZyB8fCAhaGFzQ2hhbmdlc31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpc1N1Ym1pdHRpbmcgPyA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+IDogdCgnbXlTa2lsbHMuc2F2ZScpfVxuICAgICAgICAgICAgICA8L1NDQVNNU2F2ZVByaW1hcnlCdXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ0FTTUZvb3Rlcj5cbiAgICAgIDwvU0NBU01XcmFwcGVyPlxuXG4gICAgICB7c2hvd0RlbGV0ZSAmJiBza2lsbElkID8gKFxuICAgICAgICA8RGVsZXRlUXVlc3Rpb25Nb2RhbFxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFNob3dEZWxldGUoZmFsc2UpfVxuICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICBoYW5kbGVDb25maXJtQWN0aW9uOiBoYW5kbGVDb25maXJtRGVsZXRlLFxuICAgICAgICAgIH19XG4gICAgICAgICAgY2hhdD17eyB0aXRsZTogbmFtZSwgaWQ6IHNraWxsSWQgfX1cbiAgICAgICAgICBhY3Rpb249XCJza2lsbFwiXG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICA8L0JhY2tkcm9wPixcbiAgICBjb250YWluZXJcbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLFNBQWtDQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ2xHLFNBQVNDLFlBQVksUUFBUSxXQUFXO0FBQ3hDLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsVUFBVSxRQUFRLDZDQUE2QztBQUN4RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsc0JBQXNCO0FBQy9DLFNBQVNDLE1BQU0sUUFBUSxvQkFBb0I7QUFDM0MsU0FBU0MsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTQyxRQUFRLFFBQVEsMkJBQTJCO0FBQ3BELFNBQVNDLE9BQU8sRUFBRUMsa0JBQWtCLFFBQVEsMkJBQTJCO0FBQ3ZFLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5QjtBQUMxRCxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsVUFBVSxRQUFRLHFCQUFxQjtBQUNoRCxTQUFTQyxXQUFXLFFBQVEsMkNBQTJDO0FBQ3ZFLFNBQVNDLFdBQVcsUUFBUSwyQ0FBMkM7QUFDdkUsU0FBU0MsV0FBVyxRQUFRLDJDQUEyQztBQUV2RSxTQUFTQyxlQUFlLFFBQVEsZ0NBQWdDO0FBQ2hFLFNBQ0VDLHlCQUF5QixFQUN6QkMsdUJBQXVCLEVBQ3ZCQyx1QkFBdUIsUUFDbEIsaUNBQWlDO0FBQ3hDLFNBQVNDLG1CQUFtQixRQUFRLDRDQUE0QztBQUNoRixTQUNFQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixFQUNqQkMsZ0JBQWdCLEVBQ2hCQyxTQUFTLEVBQ1RDLGVBQWUsRUFDZkMsYUFBYSxFQUNiQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsa0JBQWtCLEVBQ2xCQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsZ0JBQWdCLEVBQ2hCQyxv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
711
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkNyb3NzIiwiRmlsZVVwbG9hZCIsInVzZVRyYW5zbGF0aW9uIiwiQmFja2Ryb3AiLCJMb2FkZXIiLCJTd2l0Y2giLCJTRUNUSU9OUyIsInVzZVVzZXIiLCJpc0NvbGxhYm9yYXRvclJvbGUiLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZVNuYWNrQmFyTWFuYWdlciIsImZvcm1hdERhdGUiLCJjcmVhdGVTa2lsbCIsInVwZGF0ZVNraWxsIiwiZGVsZXRlU2tpbGwiLCJnZXRVbml0RmlsZVNpemUiLCJnZXRTa2lsbENvbnRlbnRCeXRlTGVuZ3RoIiwiaXNTa2lsbENvbnRlbnRPdmVyTGltaXQiLCJTS0lMTF9DT05URU5UX01BWF9CWVRFUyIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJTQ0FTTUJ5dGVDb3VudGVyIiwiU0NBU01DYW5jZWxCdXR0b24iLCJTQ0FTTUNsb3NlQnV0dG9uIiwiU0NBU01Cb2R5IiwiU0NBU01EZWxldGVTbG90IiwiU0NBU01GaWVsZEJveCIsIlNDQVNNRmllbGRJbnB1dCIsIlNDQVNNRmllbGRMYWJlbCIsIlNDQVNNRmllbGRUZXh0YXJlYSIsIlNDQVNNRm9vdGVyIiwiU0NBU01IZWFkZXIiLCJTQ0FTTUhlYWRlclRpdGxlIiwiU0NBU01IaWRkZW5GaWxlSW5wdXQiLCJTQ0FTTUluc3RydWN0aW9uc0ZpZWxkIiwiU0NBU01JbnN0cnVjdGlvbnNIZWFkZXIiLCJTQ0FTTUluc3RydWN0aW9uc1BhbmVsIiwiU0NBU01JbnN0cnVjdGlvbnNUZXh0YXJlYSIsIlNDQVNNSW5zdHJ1Y3Rpb25zVGl0bGUiLCJTQ0FTTU1ldGFkYXRhSXRlbSIsIlNDQVNNUHJldmlld0JvZHkiLCJTQ0FTTVByZXZpZXdDb250ZW50Qm94IiwiU0NBU01QcmV2aWV3Q29udGVudFBhbmVsIiwiU0NBU01QcmV2aWV3RGVzY3JpcHRpb24iLCJTQ0FTTVByZXZpZXdIZWFkaW5nQmxvY2siLCJTQ0FTTVByZXZpZXdNZXRhZGF0YUxhYmVsIiwiU0NBU01QcmV2aWV3TWV0YWRhdGFSb3ciLCJTQ0FTTVByZXZpZXdNZXRhZGF0YVZhbHVlIiwiU0NBU01QcmV2aWV3TmFtZSIsIlNDQVNNU2F2ZU91dGxpbmVkQnV0dG9uIiwiU0NBU01TYXZlUHJpbWFyeUJ1dHRvbiIsIlNDQVNNU3dpdGNoTGFiZWwiLCJTQ0FTTVN3aXRjaFJvdyIsIlNDQVNNVXBsb2FkQnV0dG9uIiwiU0NBU01Vc2VTa2lsbEJ1dHRvbiIsIlNDQVNNV3JhcHBlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIlNLSUxMX1VTRV9BRlRFUl9TQVZFX0VWRU5UIiwicmVzb2x2ZVNraWxsQWJtT3B0aW9uIiwic2tpbGxWYWx1ZXMiLCJpc1JlYWRPbmx5IiwiaXNFZGl0aW5nIiwiaW5pdGlhbFZhbHVlcyIsImdlbmVyYWwiLCJpZCIsInVuZGVmaW5lZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImNvbnRlbnQiLCJhY2Nlc3NfdHlwZSIsImVtcHR5QmFzZWxpbmUiLCJwYXJzZURlc2NyaXB0aW9uRnJvbUNvbnRlbnQiLCJmcm9udG1hdHRlck1hdGNoIiwibWF0Y2giLCJkZXNjcmlwdGlvbk1hdGNoIiwidHJpbSIsIkFibVNraWxsTW9kYWwiLCJfcmVmIiwiX3ZhbHVlcyRnZW5lcmFsIiwiX3ZhbHVlcyRnZW5lcmFsMiIsIl92YWx1ZXMkZ2VuZXJhbDMiLCJfdmFsdWVzJGdlbmVyYWw0IiwiX3ZhbHVlcyRnZW5lcmFsNSIsIl92YWx1ZXMkZ2VuZXJhbDciLCJfdmFsdWVzJGdlbmVyYWwwIiwiX3ZhbHVlcyRnZW5lcmFsMSIsImFkZFNraWxsIiwidXBkYXRlU2tpbGxJbkxpc3QiLCJyZW1vdmVTa2lsbCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJ1c2VyIiwiZXZlbnRBbXBsaXR1ZGUiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzT3BlbiIsInNldElzT3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNTdWJtaXR0aW5nIiwic2V0SXNTdWJtaXR0aW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93RGVsZXRlIiwic2V0U2hvd0RlbGV0ZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwicGVuZGluZ1VwbG9hZCIsInNldFBlbmRpbmdVcGxvYWQiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInZhbHVlcyIsInNldFZhbHVlcyIsImZpbGVJbnB1dFJlZiIsImluaXRpYWxSZWYiLCJpc1NoYXJlZFNraWxsIiwiaXNTaGFyZWQiLCJjYW5TaGFyZVdpdGhDb21wYW55Iiwicm9sZV9pZCIsImFjY2Vzc1R5cGUiLCJlZmZlY3RpdmVBY2Nlc3NUeXBlIiwic2tpbGxJZCIsImNvbnRlbnRCeXRlcyIsImlzT3ZlckxpbWl0IiwiaXNWYWxpZCIsImhhc0NoYW5nZXMiLCJjdXJyZW50IiwiY3JlYXRlZEJ5TGFiZWwiLCJfdmFsdWVzJGdlbmVyYWw2IiwiY3JlYXRlZEJ5IiwiY3JlYXRlZF9ieV9uYW1lIiwiY29uY2F0IiwiZmlyc3ROYW1lIiwibGFzdE5hbWUiLCJsYXN0VXBkYXRlZExhYmVsIiwiX3ZhbHVlcyRnZW5lcmFsOCIsIl92YWx1ZXMkZ2VuZXJhbDkiLCJ1cGRhdGVkQXQiLCJ1cGRhdGVkX2F0IiwiY3JlYXRlZF9hdCIsInBhcnNlZCIsIkRhdGUiLCJOdW1iZXIiLCJpc05hTiIsImdldFRpbWUiLCJoYW5kbGVDbG9zZSIsImhhbmRsZUNhbmNlbCIsImFpQ2hhdFNraWxsQWJtQ2FuY2VsIiwib3B0aW9uIiwiaGFuZGxlQmFja2Ryb3BDbGljayIsImV2ZW50IiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsImhhbmRsZVNldFNraWxsVmFsdWVzIiwiX3NraWxsVmFsdWVzJHZhbHVlcyIsIl9za2lsbFZhbHVlcyR2YWx1ZXMyIiwiX3NraWxsVmFsdWVzJHZhbHVlczMiLCJfcmVmMiIsImRldGFpbCIsImFuYWx5dGljc1NvdXJjZSIsImluY29taW5nR2VuZXJhbCIsIl9vYmplY3RTcHJlYWQiLCJpbmNvbWluZ05hbWUiLCJpbmNvbWluZ0Rlc2NyaXB0aW9uIiwiaW5jb21pbmdDb250ZW50IiwiaW5jb21pbmdBY2Nlc3NUeXBlIiwicGFyc2VkRGVzY3JpcHRpb24iLCJlZGl0aW5nQmFzZWxpbmUiLCJpbnRlbnQiLCJpbmNvbWluZ1ZhbHVlcyIsInNvdXJjZSIsImFpQ2hhdFNraWxsQWJtQWNjZXNzIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImNsaWNrIiwiaGFuZGxlQ2hhbmdlRmllbGQiLCJmaWVsZCIsInZhbHVlIiwibGVuZ3RoIiwicHJldiIsIl9kZWZpbmVQcm9wZXJ0eSIsImhhbmRsZUFjY2Vzc1R5cGVDaGFuZ2UiLCJjaGVja2VkIiwiaGFuZGxlVXBsb2FkQ2xpY2siLCJfZmlsZUlucHV0UmVmJGN1cnJlbnQyIiwiaGFuZGxlRmlsZUNoYW5nZSIsIl9yZWYzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfZXZlbnQkdGFyZ2V0JGZpbGVzIiwiZmlsZSIsImlzTWFya2Rvd24iLCJ0ZXh0IiwiYmFzZU5hbWUiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsIm5leHQiLCJmaWxlcyIsImFicnVwdCIsInRlc3QiLCJhaUNoYXRTa2lsbFVwbG9hZCIsInJlc3VsdCIsInNpemUiLCJzZW50IiwicmVwbGFjZSIsIl9wcmV2JGdlbmVyYWwiLCJfcHJldiRnZW5lcmFsMiIsIl9wcmV2JGdlbmVyYWwzIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJwZXJzaXN0U2tpbGwiLCJfcmVmNCIsIl9jYWxsZWUyIiwicGF5bG9hZCIsInVwZGF0ZWQiLCJjcmVhdGVkIiwiX2NvbnRleHQyIiwiaGFuZGxlU2F2ZSIsIl9yZWY1IiwiX2NhbGxlZTMiLCJzYXZlZFNraWxsIiwiX3QyIiwiX2NvbnRleHQzIiwiYWlDaGF0U2tpbGxBYm1Db25maXJtIiwiYWN0aW9uIiwic2tpbGxfaWQiLCJmaW5pc2giLCJoYW5kbGVTYXZlQW5kVXNlIiwiX3JlZjYiLCJfY2FsbGVlNCIsIl90MyIsIl9jb250ZXh0NCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsInNraWxsIiwidXNlRmlyc3RBZ2VudCIsImhhbmRsZUNvbmZpcm1EZWxldGUiLCJfcmVmNyIsIl9jYWxsZWU1IiwiX3Q0IiwiX2NvbnRleHQ1IiwiYWlDaGF0U2tpbGxBYm1EZWxldGUiLCJoYW5kbGVFZGl0RnJvbVZpZXciLCJoYW5kbGVVc2VTa2lsbCIsImFpQ2hhdFNraWxsVXNlIiwiaXNfc2hhcmVkIiwiY29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJlZGl0T3JDcmVhdGVUaXRsZSIsInZpZXdUaXRsZSIsIm1vZGFsVGl0bGUiLCJwcmV2aWV3Qm9keSIsImNoaWxkcmVuIiwiekluZGV4Iiwib25DbGljayIsInN0b3BQcm9wYWdhdGlvbiIsInR5cGUiLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0IiwiJGhlaWdodCIsImh0bWxGb3IiLCJtYXhMZW5ndGgiLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIiwib25DaGFuZ2UiLCIkY2xpcE92ZXJmbG93IiwicmVmIiwiYWNjZXB0IiwiJG92ZXJMaW1pdCIsInVzZWQiLCJtYXgiLCJvbkNsb3NlIiwiaGFuZGxlcnMiLCJoYW5kbGVDb25maXJtQWN0aW9uIiwiY2hhdCIsInRpdGxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0FibVNraWxsTW9kYWwvQWJtU2tpbGxNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQ2hhbmdlRXZlbnQsIE1vdXNlRXZlbnQsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBGaWxlVXBsb2FkIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvRmlsZVVwbG9hZCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSAnLi4vLi4vYXRvbXMvQmFja2Ryb3AnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tICcuLi8uLi9hdG9tcy9Td2l0Y2gnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VVc2VyLCBpc0NvbGxhYm9yYXRvclJvbGUgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuaW1wb3J0IHsgY3JlYXRlU2tpbGwgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1NraWxscy9jcmVhdGVTa2lsbCdcbmltcG9ydCB7IHVwZGF0ZVNraWxsIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9Ta2lsbHMvdXBkYXRlU2tpbGwnXG5pbXBvcnQgeyBkZWxldGVTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvU2tpbGxzL2RlbGV0ZVNraWxsJ1xuaW1wb3J0IHsgU2tpbGwsIFNraWxsQWNjZXNzVHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NraWxsJ1xuaW1wb3J0IHsgZ2V0VW5pdEZpbGVTaXplIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ2V0VW5pdEZpbGVTaXplJ1xuaW1wb3J0IHtcbiAgZ2V0U2tpbGxDb250ZW50Qnl0ZUxlbmd0aCxcbiAgaXNTa2lsbENvbnRlbnRPdmVyTGltaXQsXG4gIFNLSUxMX0NPTlRFTlRfTUFYX0JZVEVTLFxufSBmcm9tICcuLi8uLi8uLi91dGlscy9za2lsbENvbnRlbnRTaXplJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uL0RlbGV0ZVF1ZXN0aW9uTW9kYWwvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7XG4gIFNDQVNNQnl0ZUNvdW50ZXIsXG4gIFNDQVNNQ2FuY2VsQnV0dG9uLFxuICBTQ0FTTUNsb3NlQnV0dG9uLFxuICBTQ0FTTUJvZHksXG4gIFNDQVNNRGVsZXRlU2xvdCxcbiAgU0NBU01GaWVsZEJveCxcbiAgU0NBU01GaWVsZElucHV0LFxuICBTQ0FTTUZpZWxkTGFiZWwsXG4gIFNDQVNNRmllbGRUZXh0YXJlYSxcbiAgU0NBU01Gb290ZXIsXG4gIFNDQVNNSGVhZGVyLFxuICBTQ0FTTUhlYWRlclRpdGxlLFxuICBTQ0FTTUhpZGRlbkZpbGVJbnB1dCxcbiAgU0NBU01JbnN0cnVjdGlvbnNGaWVsZCxcbiAgU0NBU01JbnN0cnVjdGlvbnNIZWFkZXIsXG4gIFNDQVNNSW5zdHJ1Y3Rpb25zUGFuZWwsXG4gIFNDQVNNSW5zdHJ1Y3Rpb25zVGV4dGFyZWEsXG4gIFNDQVNNSW5zdHJ1Y3Rpb25zVGl0bGUsXG4gIFNDQVNNTWV0YWRhdGFJdGVtLFxuICBTQ0FTTVByZXZpZXdCb2R5LFxuICBTQ0FTTVByZXZpZXdDb250ZW50Qm94LFxuICBTQ0FTTVByZXZpZXdDb250ZW50UGFuZWwsXG4gIFNDQVNNUHJldmlld0Rlc2NyaXB0aW9uLFxuICBTQ0FTTVByZXZpZXdIZWFkaW5nQmxvY2ssXG4gIFNDQVNNUHJldmlld01ldGFkYXRhTGFiZWwsXG4gIFNDQVNNUHJldmlld01ldGFkYXRhUm93LFxuICBTQ0FTTVByZXZpZXdNZXRhZGF0YVZhbHVlLFxuICBTQ0FTTVByZXZpZXdOYW1lLFxuICBTQ0FTTVNhdmVPdXRsaW5lZEJ1dHRvbixcbiAgU0NBU01TYXZlUHJpbWFyeUJ1dHRvbixcbiAgU0NBU01Td2l0Y2hMYWJlbCxcbiAgU0NBU01Td2l0Y2hSb3csXG4gIFNDQVNNVXBsb2FkQnV0dG9uLFxuICBTQ0FTTVVzZVNraWxsQnV0dG9uLFxuICBTQ0FTTVdyYXBwZXIsXG59IGZyb20gJy4vQWJtU2tpbGxNb2RhbC5zdHlsZXMnXG5cbmV4cG9ydCBjb25zdCBTS0lMTF9VU0VfQUZURVJfU0FWRV9FVkVOVCA9ICdtYWlhLXVzZS1za2lsbC1hZnRlci1zYXZlJ1xuXG50eXBlIFNraWxsTW9kYWxHZW5lcmFsID0ge1xuICBpZD86IHN0cmluZ1xuICBuYW1lPzogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgYWNjZXNzX3R5cGU/OiBTa2lsbEFjY2Vzc1R5cGVcbiAgY3JlYXRlZF9ieV9uYW1lPzogc3RyaW5nXG4gIGNyZWF0ZWRfYXQ/OiBzdHJpbmdcbiAgdXBkYXRlZF9hdD86IHN0cmluZ1xufVxuXG50eXBlIFNraWxsTW9kYWxWYWx1ZXMgPSB7XG4gIGlzRWRpdGluZzogYm9vbGVhblxuICBpc1JlYWRPbmx5PzogYm9vbGVhblxuICBpc1NoYXJlZD86IGJvb2xlYW5cbiAgaW50ZW50PzogJ2dlbmVyYXRlJyB8ICd3cml0ZScgfCAndXBsb2FkJ1xuICBnZW5lcmFsPzogU2tpbGxNb2RhbEdlbmVyYWxcbn1cblxudHlwZSBTa2lsbEFibU9wdGlvbiA9ICdjcmVhdGUnIHwgJ2VkaXQnIHwgJ3ZpZXcnXG50eXBlIFNraWxsQWJtQWNjZXNzU291cmNlID0gJ2NhdGFsb2cnIHwgJ2Ryb3Bkb3duJyB8ICdlbXB0eSdcblxuY29uc3QgcmVzb2x2ZVNraWxsQWJtT3B0aW9uID0gKHNraWxsVmFsdWVzOiBTa2lsbE1vZGFsVmFsdWVzKTogU2tpbGxBYm1PcHRpb24gPT4ge1xuICBpZiAoc2tpbGxWYWx1ZXMuaXNSZWFkT25seSkgcmV0dXJuICd2aWV3J1xuICBpZiAoc2tpbGxWYWx1ZXMuaXNFZGl0aW5nKSByZXR1cm4gJ2VkaXQnXG4gIHJldHVybiAnY3JlYXRlJ1xufVxuXG50eXBlIEFibVNraWxsTW9kYWxQcm9wcyA9IHtcbiAgYWRkU2tpbGw/OiAoc2tpbGw6IFNraWxsKSA9PiB2b2lkXG4gIHVwZGF0ZVNraWxsSW5MaXN0PzogKHNraWxsOiBTa2lsbCkgPT4gdm9pZFxuICByZW1vdmVTa2lsbD86IChza2lsbElkOiBzdHJpbmcpID0+IHZvaWRcbn1cblxuY29uc3QgaW5pdGlhbFZhbHVlczogU2tpbGxNb2RhbFZhbHVlcyA9IHtcbiAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgZ2VuZXJhbDoge1xuICAgIGlkOiB1bmRlZmluZWQsXG4gICAgbmFtZTogJycsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIGNvbnRlbnQ6ICcnLFxuICAgIGFjY2Vzc190eXBlOiAnb25seV9tZScsXG4gIH0sXG59XG5cbnR5cGUgU2tpbGxGb3JtQmFzZWxpbmUgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICBhY2Nlc3NfdHlwZTogU2tpbGxBY2Nlc3NUeXBlXG59XG5cbmNvbnN0IGVtcHR5QmFzZWxpbmU6IFNraWxsRm9ybUJhc2VsaW5lID0ge1xuICBuYW1lOiAnJyxcbiAgZGVzY3JpcHRpb246ICcnLFxuICBjb250ZW50OiAnJyxcbiAgYWNjZXNzX3R5cGU6ICdvbmx5X21lJyxcbn1cblxuY29uc3QgcGFyc2VEZXNjcmlwdGlvbkZyb21Db250ZW50ID0gKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGZyb250bWF0dGVyTWF0Y2ggPSBjb250ZW50Lm1hdGNoKC9eLS0tXFxzKlxcbihbXFxzXFxTXSo/KVxcbi0tLS8pXG4gIGlmICghZnJvbnRtYXR0ZXJNYXRjaCkgcmV0dXJuICcnXG4gIGNvbnN0IGRlc2NyaXB0aW9uTWF0Y2ggPSBmcm9udG1hdHRlck1hdGNoWzFdLm1hdGNoKC9eZGVzY3JpcHRpb246XFxzKiguKykkL20pXG4gIHJldHVybiBkZXNjcmlwdGlvbk1hdGNoID8gZGVzY3JpcHRpb25NYXRjaFsxXS50cmltKCkgOiAnJ1xufVxuXG5leHBvcnQgY29uc3QgQWJtU2tpbGxNb2RhbCA9ICh7IGFkZFNraWxsLCB1cGRhdGVTa2lsbEluTGlzdCwgcmVtb3ZlU2tpbGwgfTogQWJtU2tpbGxNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJTdWNjZXNzLCBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1N1Ym1pdHRpbmcsIHNldElzU3VibWl0dGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3Nob3dEZWxldGUsIHNldFNob3dEZWxldGVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtwZW5kaW5nVXBsb2FkLCBzZXRQZW5kaW5nVXBsb2FkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbdmFsdWVzLCBzZXRWYWx1ZXNdID0gdXNlU3RhdGU8U2tpbGxNb2RhbFZhbHVlcz4oaW5pdGlhbFZhbHVlcylcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGluaXRpYWxSZWYgPSB1c2VSZWY8U2tpbGxGb3JtQmFzZWxpbmU+KGVtcHR5QmFzZWxpbmUpXG5cbiAgY29uc3QgaXNSZWFkT25seSA9ICEhdmFsdWVzLmlzUmVhZE9ubHlcbiAgY29uc3QgaXNTaGFyZWRTa2lsbCA9ICEhdmFsdWVzLmlzU2hhcmVkXG4gIGNvbnN0IGNhblNoYXJlV2l0aENvbXBhbnkgPSAhaXNDb2xsYWJvcmF0b3JSb2xlKHVzZXIucm9sZV9pZCkgJiYgIWlzUmVhZE9ubHlcblxuICBjb25zdCBuYW1lID0gdmFsdWVzLmdlbmVyYWw/Lm5hbWUgfHwgJydcbiAgY29uc3QgZGVzY3JpcHRpb24gPSB2YWx1ZXMuZ2VuZXJhbD8uZGVzY3JpcHRpb24gfHwgJydcbiAgY29uc3QgY29udGVudCA9IHZhbHVlcy5nZW5lcmFsPy5jb250ZW50IHx8ICcnXG4gIGNvbnN0IGFjY2Vzc1R5cGU6IFNraWxsQWNjZXNzVHlwZSA9IHZhbHVlcy5nZW5lcmFsPy5hY2Nlc3NfdHlwZSB8fCAnb25seV9tZSdcbiAgY29uc3QgZWZmZWN0aXZlQWNjZXNzVHlwZTogU2tpbGxBY2Nlc3NUeXBlID0gY2FuU2hhcmVXaXRoQ29tcGFueSA/IGFjY2Vzc1R5cGUgOiAnb25seV9tZSdcbiAgY29uc3Qgc2tpbGxJZCA9IHZhbHVlcy5nZW5lcmFsPy5pZFxuICBjb25zdCBjb250ZW50Qnl0ZXMgPSB1c2VNZW1vKCgpID0+IGdldFNraWxsQ29udGVudEJ5dGVMZW5ndGgoY29udGVudCksIFtjb250ZW50XSlcbiAgY29uc3QgaXNPdmVyTGltaXQgPSBjb250ZW50Qnl0ZXMgPiBTS0lMTF9DT05URU5UX01BWF9CWVRFU1xuICBjb25zdCBpc1ZhbGlkID0gISFuYW1lLnRyaW0oKSAmJiAhIWNvbnRlbnQudHJpbSgpICYmICFpc092ZXJMaW1pdFxuICBjb25zdCBoYXNDaGFuZ2VzID1cbiAgICBuYW1lLnRyaW0oKSAhPT0gaW5pdGlhbFJlZi5jdXJyZW50Lm5hbWUgfHxcbiAgICBkZXNjcmlwdGlvbi50cmltKCkgIT09IGluaXRpYWxSZWYuY3VycmVudC5kZXNjcmlwdGlvbiB8fFxuICAgIGNvbnRlbnQudHJpbSgpICE9PSBpbml0aWFsUmVmLmN1cnJlbnQuY29udGVudCB8fFxuICAgIChjYW5TaGFyZVdpdGhDb21wYW55ICYmIGVmZmVjdGl2ZUFjY2Vzc1R5cGUgIT09IGluaXRpYWxSZWYuY3VycmVudC5hY2Nlc3NfdHlwZSlcblxuICBjb25zdCBjcmVhdGVkQnlMYWJlbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGNyZWF0ZWRCeSA9IHZhbHVlcy5nZW5lcmFsPy5jcmVhdGVkX2J5X25hbWU/LnRyaW0oKVxuICAgIGlmIChjcmVhdGVkQnkpIHJldHVybiBjcmVhdGVkQnlcbiAgICByZXR1cm4gaXNTaGFyZWRTa2lsbCA/ICcnIDogYCR7dXNlci5maXJzdE5hbWV9ICR7dXNlci5sYXN0TmFtZX1gLnRyaW0oKVxuICB9LCBbdmFsdWVzLmdlbmVyYWw/LmNyZWF0ZWRfYnlfbmFtZSwgdXNlci5maXJzdE5hbWUsIHVzZXIubGFzdE5hbWUsIGlzU2hhcmVkU2tpbGxdKVxuXG4gIGNvbnN0IGxhc3RVcGRhdGVkTGFiZWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB1cGRhdGVkQXQgPSB2YWx1ZXMuZ2VuZXJhbD8udXBkYXRlZF9hdCB8fCB2YWx1ZXMuZ2VuZXJhbD8uY3JlYXRlZF9hdFxuICAgIGlmICghdXBkYXRlZEF0KSByZXR1cm4gJydcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZSh1cGRhdGVkQXQpXG4gICAgaWYgKE51bWJlci5pc05hTihwYXJzZWQuZ2V0VGltZSgpKSkgcmV0dXJuICcnXG4gICAgcmV0dXJuIGZvcm1hdERhdGUocGFyc2VkKVxuICB9LCBbdmFsdWVzLmdlbmVyYWw/LnVwZGF0ZWRfYXQsIHZhbHVlcy5nZW5lcmFsPy5jcmVhdGVkX2F0XSlcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgc2V0U2hvd0RlbGV0ZShmYWxzZSlcbiAgICBzZXRQZW5kaW5nVXBsb2FkKGZhbHNlKVxuICAgIHNldFZhbHVlcyhpbml0aWFsVmFsdWVzKVxuICAgIGluaXRpYWxSZWYuY3VycmVudCA9IGVtcHR5QmFzZWxpbmVcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlQ2FuY2VsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbEFibUNhbmNlbCwgeyBvcHRpb246IHJlc29sdmVTa2lsbEFibU9wdGlvbih2YWx1ZXMpIH0pXG4gICAgaGFuZGxlQ2xvc2UoKVxuICB9LCBbZXZlbnRBbXBsaXR1ZGUsIGhhbmRsZUNsb3NlLCB2YWx1ZXNdKVxuXG4gIGNvbnN0IGhhbmRsZUJhY2tkcm9wQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC50YXJnZXQgPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgaGFuZGxlQ2FuY2VsKClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtoYW5kbGVDYW5jZWxdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNldFNraWxsVmFsdWVzID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHsgc2tpbGxWYWx1ZXMsIGFuYWx5dGljc1NvdXJjZSB9ID0gZXZlbnQuZGV0YWlsIHx8IHt9XG4gICAgICBpZiAoIXNraWxsVmFsdWVzKSByZXR1cm5cblxuICAgICAgY29uc3QgaW5jb21pbmdHZW5lcmFsID0ge1xuICAgICAgICAuLi5pbml0aWFsVmFsdWVzLmdlbmVyYWwsXG4gICAgICAgIC4uLnNraWxsVmFsdWVzLnZhbHVlcz8uZ2VuZXJhbCxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGluY29taW5nTmFtZSA9IChpbmNvbWluZ0dlbmVyYWwubmFtZSB8fCAnJykudHJpbSgpXG4gICAgICBjb25zdCBpbmNvbWluZ0Rlc2NyaXB0aW9uID0gKGluY29taW5nR2VuZXJhbC5kZXNjcmlwdGlvbiB8fCAnJykudHJpbSgpXG4gICAgICBjb25zdCBpbmNvbWluZ0NvbnRlbnQgPSAoaW5jb21pbmdHZW5lcmFsLmNvbnRlbnQgfHwgJycpLnRyaW0oKVxuICAgICAgY29uc3QgaW5jb21pbmdBY2Nlc3NUeXBlOiBTa2lsbEFjY2Vzc1R5cGUgPSBpc0NvbGxhYm9yYXRvclJvbGUodXNlci5yb2xlX2lkKVxuICAgICAgICA/ICdvbmx5X21lJ1xuICAgICAgICA6IGluY29taW5nR2VuZXJhbC5hY2Nlc3NfdHlwZSB8fCAnb25seV9tZSdcbiAgICAgIGNvbnN0IHBhcnNlZERlc2NyaXB0aW9uID1cbiAgICAgICAgaW5jb21pbmdEZXNjcmlwdGlvbiB8fCAoaW5jb21pbmdDb250ZW50ID8gcGFyc2VEZXNjcmlwdGlvbkZyb21Db250ZW50KGluY29taW5nQ29udGVudCkgOiAnJylcblxuICAgICAgY29uc3QgZWRpdGluZ0Jhc2VsaW5lOiBTa2lsbEZvcm1CYXNlbGluZSA9IHtcbiAgICAgICAgbmFtZTogaW5jb21pbmdOYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogcGFyc2VkRGVzY3JpcHRpb24sXG4gICAgICAgIGNvbnRlbnQ6IGluY29taW5nQ29udGVudCxcbiAgICAgICAgYWNjZXNzX3R5cGU6IGluY29taW5nQWNjZXNzVHlwZSxcbiAgICAgIH1cbiAgICAgIGluaXRpYWxSZWYuY3VycmVudCA9IHNraWxsVmFsdWVzLnZhbHVlcz8uaXNFZGl0aW5nID8gZWRpdGluZ0Jhc2VsaW5lIDogZW1wdHlCYXNlbGluZVxuXG4gICAgICBzZXRWYWx1ZXMoe1xuICAgICAgICAuLi5pbml0aWFsVmFsdWVzLFxuICAgICAgICAuLi5za2lsbFZhbHVlcy52YWx1ZXMsXG4gICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAuLi5pbmNvbWluZ0dlbmVyYWwsXG4gICAgICAgICAgZGVzY3JpcHRpb246IHBhcnNlZERlc2NyaXB0aW9uLFxuICAgICAgICAgIGFjY2Vzc190eXBlOiBpbmNvbWluZ0FjY2Vzc1R5cGUsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgc2V0UGVuZGluZ1VwbG9hZChza2lsbFZhbHVlcy52YWx1ZXM/LmludGVudCA9PT0gJ3VwbG9hZCcpXG4gICAgICBzZXRJc09wZW4oISFza2lsbFZhbHVlcy5pc09wZW4pXG5cbiAgICAgIGlmIChza2lsbFZhbHVlcy5pc09wZW4pIHtcbiAgICAgICAgY29uc3QgaW5jb21pbmdWYWx1ZXMgPSB7IC4uLmluaXRpYWxWYWx1ZXMsIC4uLnNraWxsVmFsdWVzLnZhbHVlcyB9XG4gICAgICAgIGNvbnN0IHNvdXJjZTogU2tpbGxBYm1BY2Nlc3NTb3VyY2UgPVxuICAgICAgICAgIGFuYWx5dGljc1NvdXJjZSA9PT0gJ2Ryb3Bkb3duJyB8fCBhbmFseXRpY3NTb3VyY2UgPT09ICdlbXB0eScgfHwgYW5hbHl0aWNzU291cmNlID09PSAnY2F0YWxvZydcbiAgICAgICAgICAgID8gYW5hbHl0aWNzU291cmNlXG4gICAgICAgICAgICA6ICdjYXRhbG9nJ1xuICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U2tpbGxBYm1BY2Nlc3MsIHtcbiAgICAgICAgICBvcHRpb246IHJlc29sdmVTa2lsbEFibU9wdGlvbihpbmNvbWluZ1ZhbHVlcyksXG4gICAgICAgICAgc291cmNlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywgaGFuZGxlU2V0U2tpbGxWYWx1ZXMpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywgaGFuZGxlU2V0U2tpbGxWYWx1ZXMpXG4gICAgfVxuICB9LCBbZXZlbnRBbXBsaXR1ZGUsIHVzZXIucm9sZV9pZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuICYmIHBlbmRpbmdVcGxvYWQpIHtcbiAgICAgIHNldFBlbmRpbmdVcGxvYWQoZmFsc2UpXG4gICAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKVxuICAgIH1cbiAgfSwgW2lzT3BlbiwgcGVuZGluZ1VwbG9hZF0pXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlRmllbGQgPSAoZmllbGQ6ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY29udGVudCcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoZmllbGQgPT09ICdjb250ZW50JyAmJiBpc1NraWxsQ29udGVudE92ZXJMaW1pdCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggLSBjb250ZW50Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdteVNraWxscy5jb250ZW50U2l6ZUVycm9yJykpXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0VmFsdWVzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBnZW5lcmFsOiB7IC4uLnByZXYuZ2VuZXJhbCwgW2ZpZWxkXTogdmFsdWUgfSxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUFjY2Vzc1R5cGVDaGFuZ2UgPSAoY2hlY2tlZDogYm9vbGVhbikgPT4ge1xuICAgIGlmICghY2FuU2hhcmVXaXRoQ29tcGFueSkgcmV0dXJuXG4gICAgc2V0VmFsdWVzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBnZW5lcmFsOiB7XG4gICAgICAgIC4uLnByZXYuZ2VuZXJhbCxcbiAgICAgICAgYWNjZXNzX3R5cGU6IGNoZWNrZWQgPyAnY29tcGFueScgOiAnb25seV9tZScsXG4gICAgICB9LFxuICAgIH0pKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVXBsb2FkQ2xpY2sgPSAoKSA9PiB7XG4gICAgZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVDaGFuZ2UgPSBhc3luYyAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlcz8uWzBdXG4gICAgaWYgKGZpbGVJbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICBmaWxlSW5wdXRSZWYuY3VycmVudC52YWx1ZSA9ICcnXG4gICAgfVxuICAgIGlmICghZmlsZSkgcmV0dXJuXG5cbiAgICBjb25zdCBpc01hcmtkb3duID0gL1xcLihtZHxtYXJrZG93bikkL2kudGVzdChmaWxlLm5hbWUpXG4gICAgaWYgKCFpc01hcmtkb3duKSB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U2tpbGxVcGxvYWQsIHsgcmVzdWx0OiAndHlwZV9lcnJvcicgfSlcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMudXBsb2FkRXJyb3InKSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWxlLnNpemUgPiBTS0lMTF9DT05URU5UX01BWF9CWVRFUykge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFNraWxsVXBsb2FkLCB7IHJlc3VsdDogJ3NpemVfZXJyb3InIH0pXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLnVwbG9hZFNpemVFcnJvcicpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCBmaWxlLnRleHQoKVxuICAgICAgaWYgKGlzU2tpbGxDb250ZW50T3ZlckxpbWl0KHRleHQpKSB7XG4gICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbFVwbG9hZCwgeyByZXN1bHQ6ICdzaXplX2Vycm9yJyB9KVxuICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLnVwbG9hZFNpemVFcnJvcicpKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGNvbnN0IGJhc2VOYW1lID0gZmlsZS5uYW1lLnJlcGxhY2UoL1xcLihtZHxtYXJrZG93bikkL2ksICcnKVxuICAgICAgY29uc3QgcGFyc2VkRGVzY3JpcHRpb24gPSBwYXJzZURlc2NyaXB0aW9uRnJvbUNvbnRlbnQodGV4dClcbiAgICAgIHNldFZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAuLi5wcmV2LmdlbmVyYWwsXG4gICAgICAgICAgY29udGVudDogdGV4dCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcHJldi5nZW5lcmFsPy5kZXNjcmlwdGlvbj8udHJpbSgpXG4gICAgICAgICAgICA/IHByZXYuZ2VuZXJhbC5kZXNjcmlwdGlvblxuICAgICAgICAgICAgOiBwYXJzZWREZXNjcmlwdGlvbiB8fCBwcmV2LmdlbmVyYWw/LmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgIG5hbWU6IHByZXYuZ2VuZXJhbD8ubmFtZT8udHJpbSgpID8gcHJldi5nZW5lcmFsLm5hbWUgOiBiYXNlTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pKVxuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFNraWxsVXBsb2FkLCB7IHJlc3VsdDogJ3N1Y2Nlc3MnIH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMudXBsb2FkRXJyb3InKSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBwZXJzaXN0U2tpbGwgPSBhc3luYyAoKTogUHJvbWlzZTxTa2lsbCB8IG51bGw+ID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgbmFtZTogbmFtZS50cmltKCksXG4gICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24udHJpbSgpLFxuICAgICAgY29udGVudDogY29udGVudC50cmltKCksXG4gICAgICBhY2Nlc3NfdHlwZTogZWZmZWN0aXZlQWNjZXNzVHlwZSxcbiAgICB9XG5cbiAgICBpZiAodmFsdWVzLmlzRWRpdGluZyAmJiBza2lsbElkKSB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgdXBkYXRlU2tpbGwoc2tpbGxJZCwgcGF5bG9hZClcbiAgICAgIHVwZGF0ZVNraWxsSW5MaXN0Py4odXBkYXRlZClcbiAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdteVNraWxscy51cGRhdGVTdWNjZXNzJykpXG4gICAgICByZXR1cm4gdXBkYXRlZFxuICAgIH1cblxuICAgIGNvbnN0IGNyZWF0ZWQgPSBhd2FpdCBjcmVhdGVTa2lsbChwYXlsb2FkKVxuICAgIGFkZFNraWxsPy4oY3JlYXRlZClcbiAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnbXlTa2lsbHMuY3JlYXRlU3VjY2VzcycpKVxuICAgIHJldHVybiBjcmVhdGVkXG4gIH1cblxuICBjb25zdCBoYW5kbGVTYXZlID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmcgfHwgIWhhc0NoYW5nZXMpIHJldHVyblxuICAgIHNldElzU3VibWl0dGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzYXZlZFNraWxsID0gYXdhaXQgcGVyc2lzdFNraWxsKClcbiAgICAgIGlmIChzYXZlZFNraWxsKSB7XG4gICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbEFibUNvbmZpcm0sIHtcbiAgICAgICAgICBvcHRpb246IHZhbHVlcy5pc0VkaXRpbmcgPyAnZWRpdCcgOiAnY3JlYXRlJyxcbiAgICAgICAgICBhY3Rpb246ICdzYXZlJyxcbiAgICAgICAgICBhY2Nlc3NfdHlwZTogZWZmZWN0aXZlQWNjZXNzVHlwZSxcbiAgICAgICAgICBza2lsbF9pZDogc2F2ZWRTa2lsbC5pZCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGhhbmRsZUNsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih2YWx1ZXMuaXNFZGl0aW5nID8gdCgnbXlTa2lsbHMudXBkYXRlRXJyb3InKSA6IHQoJ215U2tpbGxzLmNyZWF0ZUVycm9yJykpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzU3VibWl0dGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVTYXZlQW5kVXNlID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmcpIHJldHVyblxuICAgIHNldElzU3VibWl0dGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzYXZlZFNraWxsID0gYXdhaXQgcGVyc2lzdFNraWxsKClcbiAgICAgIGlmIChzYXZlZFNraWxsKSB7XG4gICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbEFibUNvbmZpcm0sIHtcbiAgICAgICAgICBvcHRpb246IHZhbHVlcy5pc0VkaXRpbmcgPyAnZWRpdCcgOiAnY3JlYXRlJyxcbiAgICAgICAgICBhY3Rpb246ICdzYXZlX2FuZF91c2UnLFxuICAgICAgICAgIGFjY2Vzc190eXBlOiBlZmZlY3RpdmVBY2Nlc3NUeXBlLFxuICAgICAgICAgIHNraWxsX2lkOiBzYXZlZFNraWxsLmlkLFxuICAgICAgICB9KVxuICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudChTS0lMTF9VU0VfQUZURVJfU0FWRV9FVkVOVCwge1xuICAgICAgICAgICAgZGV0YWlsOiB7IHNraWxsOiBzYXZlZFNraWxsLCB1c2VGaXJzdEFnZW50OiB0cnVlIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgaGFuZGxlQ2xvc2UoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHZhbHVlcy5pc0VkaXRpbmcgPyB0KCdteVNraWxscy51cGRhdGVFcnJvcicpIDogdCgnbXlTa2lsbHMuY3JlYXRlRXJyb3InKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNTdWJtaXR0aW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbmZpcm1EZWxldGUgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFza2lsbElkKSByZXR1cm5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgZGVsZXRlU2tpbGwoc2tpbGxJZClcbiAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbEFibURlbGV0ZSwgeyBza2lsbF9pZDogc2tpbGxJZCwgc291cmNlOiAnbW9kYWwnIH0pXG4gICAgICByZW1vdmVTa2lsbD8uKHNraWxsSWQpXG4gICAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnbXlTa2lsbHMuZGVsZXRlU3VjY2VzcycpKVxuICAgICAgaGFuZGxlQ2xvc2UoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLmRlbGV0ZUVycm9yJykpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRWRpdEZyb21WaWV3ID0gKCkgPT4ge1xuICAgIHNldFZhbHVlcyhwcmV2ID0+ICh7IC4uLnByZXYsIGlzUmVhZE9ubHk6IGZhbHNlIH0pKVxuICB9XG5cbiAgLyoqIFNraWxsIGFqZW5hIGVuIG1vZG8gbGVjdHVyYTogYWJyZSB1biBjaGF0IG51ZXZvIGNvbiBlbCBwcmltZXIgYWdlbnRlIHkgbGEgbWVuY2nDs24geWEgcHVlc3RhLiAqL1xuICBjb25zdCBoYW5kbGVVc2VTa2lsbCA9ICgpID0+IHtcbiAgICBpZiAoIXNraWxsSWQpIHJldHVyblxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTa2lsbFVzZSwge1xuICAgICAgc2tpbGxfaWQ6IHNraWxsSWQsXG4gICAgICBhY2Nlc3NfdHlwZTogYWNjZXNzVHlwZSxcbiAgICAgIHNvdXJjZTogJ3ZpZXdfbW9kYWwnLFxuICAgICAgaXNfc2hhcmVkOiBpc1NoYXJlZFNraWxsLFxuICAgIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudChTS0lMTF9VU0VfQUZURVJfU0FWRV9FVkVOVCwge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBza2lsbDogeyBpZDogc2tpbGxJZCwgbmFtZSwgZGVzY3JpcHRpb24sIGNvbnRlbnQsIGFjY2Vzc190eXBlOiBhY2Nlc3NUeXBlIH0sXG4gICAgICAgICAgdXNlRmlyc3RBZ2VudDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICAgIGhhbmRsZUNsb3NlKClcbiAgfVxuXG4gIGlmICghaXNPcGVuKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1yb290LWFjdGlvbnMnKVxuICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuIG51bGxcblxuICBjb25zdCBlZGl0T3JDcmVhdGVUaXRsZSA9IHZhbHVlcy5pc0VkaXRpbmcgPyB0KCdteVNraWxscy5lZGl0VGl0bGUnKSA6IHQoJ215U2tpbGxzLmNyZWF0ZVRpdGxlJylcbiAgY29uc3Qgdmlld1RpdGxlID0gaXNTaGFyZWRTa2lsbCA/IHQoJ215U2tpbGxzLnZpZXdUaXRsZScpIDogdCgnbXlTa2lsbHMudmlld093blRpdGxlJylcbiAgY29uc3QgbW9kYWxUaXRsZSA9IGlzUmVhZE9ubHkgPyB2aWV3VGl0bGUgOiBlZGl0T3JDcmVhdGVUaXRsZVxuXG4gIGNvbnN0IHByZXZpZXdCb2R5ID0gKFxuICAgIDxTQ0FTTVByZXZpZXdCb2R5PlxuICAgICAgPFNDQVNNUHJldmlld0hlYWRpbmdCbG9jaz5cbiAgICAgICAgPFNDQVNNUHJldmlld05hbWU+e25hbWV9PC9TQ0FTTVByZXZpZXdOYW1lPlxuICAgICAgICB7ZGVzY3JpcHRpb24gPyA8U0NBU01QcmV2aWV3RGVzY3JpcHRpb24+e2Rlc2NyaXB0aW9ufTwvU0NBU01QcmV2aWV3RGVzY3JpcHRpb24+IDogbnVsbH1cbiAgICAgIDwvU0NBU01QcmV2aWV3SGVhZGluZ0Jsb2NrPlxuXG4gICAgICA8U0NBU01QcmV2aWV3TWV0YWRhdGFSb3c+XG4gICAgICAgIHtjcmVhdGVkQnlMYWJlbCA/IChcbiAgICAgICAgICA8U0NBU01NZXRhZGF0YUl0ZW0+XG4gICAgICAgICAgICA8U0NBU01QcmV2aWV3TWV0YWRhdGFMYWJlbD57dCgnbXlTa2lsbHMuY3JlYXRlZEJ5Jyl9PC9TQ0FTTVByZXZpZXdNZXRhZGF0YUxhYmVsPlxuICAgICAgICAgICAgPFNDQVNNUHJldmlld01ldGFkYXRhVmFsdWU+e2NyZWF0ZWRCeUxhYmVsfTwvU0NBU01QcmV2aWV3TWV0YWRhdGFWYWx1ZT5cbiAgICAgICAgICA8L1NDQVNNTWV0YWRhdGFJdGVtPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2xhc3RVcGRhdGVkTGFiZWwgPyAoXG4gICAgICAgICAgPFNDQVNNTWV0YWRhdGFJdGVtPlxuICAgICAgICAgICAgPFNDQVNNUHJldmlld01ldGFkYXRhTGFiZWw+e3QoJ215U2tpbGxzLmxhc3RVcGRhdGVkJyl9PC9TQ0FTTVByZXZpZXdNZXRhZGF0YUxhYmVsPlxuICAgICAgICAgICAgPFNDQVNNUHJldmlld01ldGFkYXRhVmFsdWU+e2xhc3RVcGRhdGVkTGFiZWx9PC9TQ0FTTVByZXZpZXdNZXRhZGF0YVZhbHVlPlxuICAgICAgICAgIDwvU0NBU01NZXRhZGF0YUl0ZW0+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IWlzU2hhcmVkU2tpbGwgPyAoXG4gICAgICAgICAgPFNDQVNNTWV0YWRhdGFJdGVtPlxuICAgICAgICAgICAgPFNDQVNNUHJldmlld01ldGFkYXRhTGFiZWw+e3QoJ215U2tpbGxzLmVuYWJsZWRMYWJlbCcpfTwvU0NBU01QcmV2aWV3TWV0YWRhdGFMYWJlbD5cbiAgICAgICAgICAgIDxTQ0FTTVByZXZpZXdNZXRhZGF0YVZhbHVlPlxuICAgICAgICAgICAgICB7YWNjZXNzVHlwZSA9PT0gJ2NvbXBhbnknID8gdCgnbXlTa2lsbHMudmlzaWJpbGl0eUV2ZXJ5b25lJykgOiB0KCdteVNraWxscy52aXNpYmlsaXR5T25seU1lJyl9XG4gICAgICAgICAgICA8L1NDQVNNUHJldmlld01ldGFkYXRhVmFsdWU+XG4gICAgICAgICAgPC9TQ0FTTU1ldGFkYXRhSXRlbT5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1NDQVNNUHJldmlld01ldGFkYXRhUm93PlxuXG4gICAgICA8U0NBU01QcmV2aWV3Q29udGVudFBhbmVsPlxuICAgICAgICA8U0NBU01JbnN0cnVjdGlvbnNUaXRsZT57dCgnbXlTa2lsbHMuaW5zdHJ1Y3Rpb25zTGFiZWwnKX08L1NDQVNNSW5zdHJ1Y3Rpb25zVGl0bGU+XG4gICAgICAgIDxTQ0FTTVByZXZpZXdDb250ZW50Qm94Pntjb250ZW50fTwvU0NBU01QcmV2aWV3Q29udGVudEJveD5cbiAgICAgIDwvU0NBU01QcmV2aWV3Q29udGVudFBhbmVsPlxuICAgIDwvU0NBU01QcmV2aWV3Qm9keT5cbiAgKVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPEJhY2tkcm9wIHpJbmRleD17MTExMn0gb25DbGljaz17aGFuZGxlQmFja2Ryb3BDbGlja30+XG4gICAgICA8U0NBU01XcmFwcGVyIG9uQ2xpY2s9e2V2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfT5cbiAgICAgICAgPFNDQVNNSGVhZGVyPlxuICAgICAgICAgIDxTQ0FTTUhlYWRlclRpdGxlPnttb2RhbFRpdGxlfTwvU0NBU01IZWFkZXJUaXRsZT5cbiAgICAgICAgICA8U0NBU01DbG9zZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlQ2FuY2VsfSBhcmlhLWxhYmVsPXt0KCdteVNraWxscy5jbG9zZScpfT5cbiAgICAgICAgICAgIDxDcm9zcyBjb2xvcj1cIiNhNmE2YTZcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgPC9TQ0FTTUNsb3NlQnV0dG9uPlxuICAgICAgICA8L1NDQVNNSGVhZGVyPlxuXG4gICAgICAgIHtpc1JlYWRPbmx5ID8gKFxuICAgICAgICAgIHByZXZpZXdCb2R5XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFNDQVNNQm9keT5cbiAgICAgICAgICAgIDxTQ0FTTUZpZWxkQm94ICRoZWlnaHQ9ezUwfT5cbiAgICAgICAgICAgICAgPFNDQVNNRmllbGRMYWJlbCBodG1sRm9yPVwic2tpbGwtbmFtZS1pbnB1dFwiPnt0KCdteVNraWxscy5uYW1lTGFiZWwnKX08L1NDQVNNRmllbGRMYWJlbD5cbiAgICAgICAgICAgICAgPFNDQVNNRmllbGRJbnB1dFxuICAgICAgICAgICAgICAgIGlkPVwic2tpbGwtbmFtZS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIG1heExlbmd0aD17MTUwfVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdteVNraWxscy5uYW1lUGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17bmFtZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiBoYW5kbGVDaGFuZ2VGaWVsZCgnbmFtZScsIGV2ZW50LnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NDQVNNRmllbGRCb3g+XG5cbiAgICAgICAgICAgIDxTQ0FTTUZpZWxkQm94ICRoZWlnaHQ9ezEyMH0gJGNsaXBPdmVyZmxvdz5cbiAgICAgICAgICAgICAgPFNDQVNNRmllbGRMYWJlbCBodG1sRm9yPVwic2tpbGwtZGVzY3JpcHRpb24taW5wdXRcIj57dCgnbXlTa2lsbHMuZGVzY3JpcHRpb25MYWJlbCcpfTwvU0NBU01GaWVsZExhYmVsPlxuICAgICAgICAgICAgICA8U0NBU01GaWVsZFRleHRhcmVhXG4gICAgICAgICAgICAgICAgaWQ9XCJza2lsbC1kZXNjcmlwdGlvbi1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoPXs1MDB9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ215U2tpbGxzLmRlc2NyaXB0aW9uUGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17ZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzU3VibWl0dGluZ31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4gaGFuZGxlQ2hhbmdlRmllbGQoJ2Rlc2NyaXB0aW9uJywgZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU0NBU01GaWVsZEJveD5cblxuICAgICAgICAgICAge2NhblNoYXJlV2l0aENvbXBhbnkgPyAoXG4gICAgICAgICAgICAgIDxTQ0FTTVN3aXRjaFJvdz5cbiAgICAgICAgICAgICAgICA8U3dpdGNoXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXthY2Nlc3NUeXBlID09PSAnY29tcGFueSd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQWNjZXNzVHlwZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdteVNraWxscy5zaGFyZVdpdGhDb21wYW55Jyl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8U0NBU01Td2l0Y2hMYWJlbD57dCgnbXlTa2lsbHMuc2hhcmVXaXRoQ29tcGFueScpfTwvU0NBU01Td2l0Y2hMYWJlbD5cbiAgICAgICAgICAgICAgPC9TQ0FTTVN3aXRjaFJvdz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgICA8U0NBU01JbnN0cnVjdGlvbnNQYW5lbD5cbiAgICAgICAgICAgICAgPFNDQVNNSW5zdHJ1Y3Rpb25zSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxTQ0FTTUluc3RydWN0aW9uc1RpdGxlPnt0KCdteVNraWxscy5pbnN0cnVjdGlvbnNMYWJlbCcpfTwvU0NBU01JbnN0cnVjdGlvbnNUaXRsZT5cbiAgICAgICAgICAgICAgICA8U0NBU01VcGxvYWRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVVwbG9hZENsaWNrfSBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfT5cbiAgICAgICAgICAgICAgICAgIDxGaWxlVXBsb2FkIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gY29sb3I9XCIjMDhDXCIgLz5cbiAgICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy51cGxvYWRNZCcpfVxuICAgICAgICAgICAgICAgIDwvU0NBU01VcGxvYWRCdXR0b24+XG4gICAgICAgICAgICAgICAgPFNDQVNNSGlkZGVuRmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICByZWY9e2ZpbGVJbnB1dFJlZn1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICAgIGFjY2VwdD1cIi5tZCwubWFya2Rvd24sdGV4dC9tYXJrZG93blwiXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDQVNNSW5zdHJ1Y3Rpb25zSGVhZGVyPlxuXG4gICAgICAgICAgICAgIDxTQ0FTTUluc3RydWN0aW9uc0ZpZWxkPlxuICAgICAgICAgICAgICAgIDxTQ0FTTUluc3RydWN0aW9uc1RleHRhcmVhXG4gICAgICAgICAgICAgICAgICBpZD1cInNraWxsLWNvbnRlbnQtaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ215U2tpbGxzLmNvbnRlbnRQbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IGhhbmRsZUNoYW5nZUZpZWxkKCdjb250ZW50JywgZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDQVNNSW5zdHJ1Y3Rpb25zRmllbGQ+XG4gICAgICAgICAgICAgIDxTQ0FTTUJ5dGVDb3VudGVyICRvdmVyTGltaXQ9e2lzT3ZlckxpbWl0fSBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuYnl0ZXNDb3VudGVyJywge1xuICAgICAgICAgICAgICAgICAgdXNlZDogZ2V0VW5pdEZpbGVTaXplKGNvbnRlbnRCeXRlcyksXG4gICAgICAgICAgICAgICAgICBtYXg6IGdldFVuaXRGaWxlU2l6ZShTS0lMTF9DT05URU5UX01BWF9CWVRFUyksXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDwvU0NBU01CeXRlQ291bnRlcj5cbiAgICAgICAgICAgIDwvU0NBU01JbnN0cnVjdGlvbnNQYW5lbD5cbiAgICAgICAgICA8L1NDQVNNQm9keT5cbiAgICAgICAgKX1cblxuICAgICAgICA8U0NBU01Gb290ZXI+XG4gICAgICAgICAge2lzUmVhZE9ubHkgJiYgaXNTaGFyZWRTa2lsbCA/IChcbiAgICAgICAgICAgIDxTQ0FTTVVzZVNraWxsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVVc2VTa2lsbH0+XG4gICAgICAgICAgICAgIHt0KCdteVNraWxscy51c2VTa2lsbCcpfVxuICAgICAgICAgICAgPC9TQ0FTTVVzZVNraWxsQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAge2lzUmVhZE9ubHkgJiYgIWlzU2hhcmVkU2tpbGwgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8U0NBU01EZWxldGVTbG90PlxuICAgICAgICAgICAgICAgIDxTQ0FTTUNhbmNlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0RlbGV0ZSh0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuZGVsZXRlJyl9XG4gICAgICAgICAgICAgICAgPC9TQ0FTTUNhbmNlbEJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9TQ0FTTURlbGV0ZVNsb3Q+XG4gICAgICAgICAgICAgIDxTQ0FTTVNhdmVQcmltYXJ5QnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVFZGl0RnJvbVZpZXd9PlxuICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy5lZGl0Jyl9XG4gICAgICAgICAgICAgIDwvU0NBU01TYXZlUHJpbWFyeUJ1dHRvbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgeyFpc1JlYWRPbmx5ID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge3ZhbHVlcy5pc0VkaXRpbmcgPyAoXG4gICAgICAgICAgICAgICAgPFNDQVNNRGVsZXRlU2xvdD5cbiAgICAgICAgICAgICAgICAgIDxTQ0FTTUNhbmNlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0RlbGV0ZSh0cnVlKX0gZGlzYWJsZWQ9e2lzU3VibWl0dGluZ30+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy5kZWxldGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvU0NBU01DYW5jZWxCdXR0b24+XG4gICAgICAgICAgICAgICAgPC9TQ0FTTURlbGV0ZVNsb3Q+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8U0NBU01TYXZlT3V0bGluZWRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVNhdmVBbmRVc2V9IGRpc2FibGVkPXshaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgICAgIHtpc1N1Ym1pdHRpbmcgPyA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+IDogdCgnbXlTa2lsbHMuc2F2ZUFuZFVzZScpfVxuICAgICAgICAgICAgICA8L1NDQVNNU2F2ZU91dGxpbmVkQnV0dG9uPlxuICAgICAgICAgICAgICA8U0NBU01TYXZlUHJpbWFyeUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNhdmV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc1ZhbGlkIHx8IGlzU3VibWl0dGluZyB8fCAhaGFzQ2hhbmdlc31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpc1N1Ym1pdHRpbmcgPyA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+IDogdCgnbXlTa2lsbHMuc2F2ZScpfVxuICAgICAgICAgICAgICA8L1NDQVNNU2F2ZVByaW1hcnlCdXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ0FTTUZvb3Rlcj5cbiAgICAgIDwvU0NBU01XcmFwcGVyPlxuXG4gICAgICB7c2hvd0RlbGV0ZSAmJiBza2lsbElkID8gKFxuICAgICAgICA8RGVsZXRlUXVlc3Rpb25Nb2RhbFxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFNob3dEZWxldGUoZmFsc2UpfVxuICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICBoYW5kbGVDb25maXJtQWN0aW9uOiBoYW5kbGVDb25maXJtRGVsZXRlLFxuICAgICAgICAgIH19XG4gICAgICAgICAgY2hhdD17eyB0aXRsZTogbmFtZSwgaWQ6IHNraWxsSWQgfX1cbiAgICAgICAgICBhY3Rpb249XCJza2lsbFwiXG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICA8L0JhY2tkcm9wPixcbiAgICBjb250YWluZXJcbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLFNBQWtDQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ2xHLFNBQVNDLFlBQVksUUFBUSxXQUFXO0FBQ3hDLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsVUFBVSxRQUFRLDZDQUE2QztBQUN4RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsc0JBQXNCO0FBQy9DLFNBQVNDLE1BQU0sUUFBUSxvQkFBb0I7QUFDM0MsU0FBU0MsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTQyxRQUFRLFFBQVEsMkJBQTJCO0FBQ3BELFNBQVNDLE9BQU8sRUFBRUMsa0JBQWtCLFFBQVEsMkJBQTJCO0FBQ3ZFLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5QjtBQUMxRCxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsVUFBVSxRQUFRLHFCQUFxQjtBQUNoRCxTQUFTQyxXQUFXLFFBQVEsMkNBQTJDO0FBQ3ZFLFNBQVNDLFdBQVcsUUFBUSwyQ0FBMkM7QUFDdkUsU0FBU0MsV0FBVyxRQUFRLDJDQUEyQztBQUV2RSxTQUFTQyxlQUFlLFFBQVEsZ0NBQWdDO0FBQ2hFLFNBQ0VDLHlCQUF5QixFQUN6QkMsdUJBQXVCLEVBQ3ZCQyx1QkFBdUIsUUFDbEIsaUNBQWlDO0FBQ3hDLFNBQVNDLG1CQUFtQixRQUFRLDRDQUE0QztBQUNoRixTQUNFQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixFQUNqQkMsZ0JBQWdCLEVBQ2hCQyxTQUFTLEVBQ1RDLGVBQWUsRUFDZkMsYUFBYSxFQUNiQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsa0JBQWtCLEVBQ2xCQyxXQUFXLEVBQ1hDLFdBQVcs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