@anansi/core 0.22.6 → 0.22.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,15 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.22.7](/github.com/ntucker/anansi/compare/@anansi/core@0.22.6...@anansi/core@0.22.7) (2026-02-13)
7
+
8
+ ### 📦 Package
9
+
10
+ * Update all non-major dependencies ([#2959](/github.com/ntucker/anansi/issues/2959)) ([3c30092](/github.com/ntucker/anansi/commit/3c3009250189ee4f6ff6536fe388016b30076f3c))
11
+ * Update all non-major dependencies ([#2972](/github.com/ntucker/anansi/issues/2972)) ([e5d8b15](/github.com/ntucker/anansi/commit/e5d8b15ab5f4504487b59c3c87bd3302ae3c9869))
12
+ * Update react to v19.2.4 ([#2957](/github.com/ntucker/anansi/issues/2957)) ([0923388](/github.com/ntucker/anansi/commit/09233888b50c1ad49a8c6f5d3bd415cc125c4817))
13
+ * Update webpack packages ([#2968](/github.com/ntucker/anansi/issues/2968)) ([9eea8f7](/github.com/ntucker/anansi/commit/9eea8f7fa92b5d9453152b55b1f25271db7172f5))
14
+
6
15
  ## [0.22.6](/github.com/ntucker/anansi/compare/@anansi/core@0.22.5...@anansi/core@0.22.6) (2026-01-23)
7
16
 
8
17
  ### 📦 Package
package/dist/server.js CHANGED
@@ -641,4 +641,4 @@ function navigatorSpout() {
641
641
  module.exports = __webpack_exports__;
642
642
  /******/ })()
643
643
  ;
644
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFjO01BQ2pCM0QsUUFBUSxFQUFFO1FBQ1IsR0FBRy9CLFNBQVMsQ0FBQytCLFFBQVE7UUFDckI0RCxTQUFTLEVBQUVBLENBQUEsS0FBTUQ7TUFDbkIsQ0FBQztNQUNEeEosR0FBRyxlQUNEMEMsbUNBQUEsQ0FBQzZGLGdCQUFnQjtRQUFDbUIsS0FBSyxFQUFFRixjQUFlO1FBQUF0SCxRQUFBLEVBQ3JDNEIsU0FBUyxDQUFDOUQ7TUFBRyxDQUNFO0lBRXRCLENBQUM7RUFDSCxDQUFDO0FBQ0gsQzs7QUN2Q3NEO0FBSWpCO0FBQ3NDO0FBQ1I7QUFDSTtBQUNSO0FBQ0Y7QUFDWTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQGRhdGEtY2xpZW50L3JlYWN0XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQGRhdGEtY2xpZW50L3JlYWN0L3NzclwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9jcmVhdGUgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIG5vZGUtY29tbW9uanMgXCJjcnlwdG9cIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJyZWFjdC1kb20vc2VydmVyXCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3NjcmlwdHMvc3NyRXJyb3JIYW5kbGVyLnRzIiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9sYXlTcG91dHMudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcInJlYWN0XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9jc3AudHMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3QvanN4LXJ1bnRpbWVcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2RvY3VtZW50LnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9kYXRhQ2xpZW50LnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQGFuYW5zaS9yb3V0ZXJcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJoaXN0b3J5XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9yb3V0ZXIuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL3ByZWZldGNoLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9qc29uLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9hcHAuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL25hdmlnYXRvci5jb250ZXh0LnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL25hdmlnYXRvci5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9pbmRleC5zZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQGRhdGEtY2xpZW50L3JlYWN0XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBkYXRhLWNsaWVudC9yZWFjdC9zc3JcIik7IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwidmFyIGdldFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mID8gKG9iaikgPT4gKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopKSA6IChvYmopID0+IChvYmouX19wcm90b19fKTtcbnZhciBsZWFmUHJvdG90eXBlcztcbi8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuLy8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4vLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbi8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuLy8gbW9kZSAmIDE2OiByZXR1cm4gdmFsdWUgd2hlbiBpdCdzIFByb21pc2UtbGlrZVxuLy8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuX193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcblx0aWYobW9kZSAmIDEpIHZhbHVlID0gdGhpcyh2YWx1ZSk7XG5cdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG5cdGlmKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUpIHtcblx0XHRpZigobW9kZSAmIDQpICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcblx0XHRpZigobW9kZSAmIDE2KSAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIHZhbHVlO1xuXHR9XG5cdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG5cdHZhciBkZWYgPSB7fTtcblx0bGVhZlByb3RvdHlwZXMgPSBsZWFmUHJvdG90eXBlcyB8fCBbbnVsbCwgZ2V0UHJvdG8oe30pLCBnZXRQcm90byhbXSksIGdldFByb3RvKGdldFByb3RvKV07XG5cdGZvcih2YXIgY3VycmVudCA9IG1vZGUgJiAyICYmIHZhbHVlOyAodHlwZW9mIGN1cnJlbnQgPT0gJ29iamVjdCcgfHwgdHlwZW9mIGN1cnJlbnQgPT0gJ2Z1bmN0aW9uJykgJiYgIX5sZWFmUHJvdG90eXBlcy5pbmRleE9mKGN1cnJlbnQpOyBjdXJyZW50ID0gZ2V0UHJvdG8oY3VycmVudCkpIHtcblx0XHRPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjdXJyZW50KS5mb3JFYWNoKChrZXkpID0+IChkZWZba2V5XSA9ICgpID0+ICh2YWx1ZVtrZXldKSkpO1xuXHR9XG5cdGRlZlsnZGVmYXVsdCddID0gKCkgPT4gKHZhbHVlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBkZWYpO1xuXHRyZXR1cm4gbnM7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcImNyeXB0b1wiKTsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcInJlYWN0LWRvbS9zZXJ2ZXJcIik7IiwiLyoqXG4gKiBVdGlsaXRpZXMgZm9yIGhhbmRsaW5nIFNTUiBlcnJvcnMgZ3JhY2VmdWxseVxuICovXG5cbi8qKlxuICogRXh0cmFjdCBIVFRQIHN0YXR1cyBjb2RlIGZyb20gYW4gZXJyb3Igb2JqZWN0LlxuICogTG9va3MgZm9yIGEgYHN0YXR1c2AgcHJvcGVydHkgdGhhdCBpcyBhIG51bWJlciBvciBwYXJzZWFibGUgc3RyaW5nLlxuICogUmV0dXJucyA1MDAgaWYgbm8gdmFsaWQgc3RhdHVzIGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JTdGF0dXMoZXJyb3I6IHVua25vd24pOiBudW1iZXIge1xuICBpZiAoZXJyb3IgJiYgdHlwZW9mIGVycm9yID09PSAnb2JqZWN0JyAmJiAnc3RhdHVzJyBpbiBlcnJvcikge1xuICAgIGNvbnN0IHN0YXR1cyA9IChlcnJvciBhcyB7IHN0YXR1czogdW5rbm93biB9KS5zdGF0dXM7XG4gICAgaWYgKHR5cGVvZiBzdGF0dXMgPT09ICdudW1iZXInICYmIHN0YXR1cyA+PSAxMDAgJiYgc3RhdHVzIDwgNjAwKSB7XG4gICAgICByZXR1cm4gc3RhdHVzO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHN0YXR1cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KHN0YXR1cywgMTApO1xuICAgICAgaWYgKCFpc05hTihwYXJzZWQpICYmIHBhcnNlZCA+PSAxMDAgJiYgcGFyc2VkIDwgNjAwKSB7XG4gICAgICAgIHJldHVybiBwYXJzZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiA1MDA7XG59XG5cbi8qKlxuICogRXNjYXBlIEhUTUwgc3BlY2lhbCBjaGFyYWN0ZXJzIHRvIHByZXZlbnQgWFNTXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVIdG1sKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0clxuICAgIC5yZXBsYWNlKC8mL2csICcmYW1wOycpXG4gICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgIC5yZXBsYWNlKC8+L2csICcmZ3Q7JylcbiAgICAucmVwbGFjZSgvXCIvZywgJyZxdW90OycpXG4gICAgLnJlcGxhY2UoLycvZywgJyYjMDM5OycpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbmRlckVycm9yUGFnZU9wdGlvbnMge1xuICAvKiogU2hvdyBzdGFjayB0cmFjZSBpbiBvdXRwdXQgKi9cbiAgc2hvd1N0YWNrPzogYm9vbGVhbjtcbiAgLyoqIEFkZGl0aW9uYWwgaGludCBtZXNzYWdlIHRvIGRpc3BsYXkgKi9cbiAgaGludD86IHN0cmluZztcbiAgLyoqIEJhZGdlIHRleHQgdG8gZGlzcGxheSAoZS5nLiwgXCJERVYgTU9ERVwiKSAqL1xuICBiYWRnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZW5kZXIgYW4gSFRNTCBlcnJvciBwYWdlIGZvciBTU1IgZmFpbHVyZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckVycm9yUGFnZShcbiAgZXJyb3I6IHVua25vd24sXG4gIHVybDogc3RyaW5nLFxuICBzdGF0dXNDb2RlOiBudW1iZXIsXG4gIG9wdGlvbnM6IFJlbmRlckVycm9yUGFnZU9wdGlvbnMgPSB7fSxcbik6IHN0cmluZyB7XG4gIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKTtcbiAgY29uc3Qgc3RhY2sgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3Iuc3RhY2sgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHsgc2hvd1N0YWNrID0gZmFsc2UsIGhpbnQsIGJhZGdlIH0gPSBvcHRpb25zO1xuXG4gIHJldHVybiBgPCFET0NUWVBFIGh0bWw+XG48aHRtbCBsYW5nPVwiZW5cIj5cbjxoZWFkPlxuICA8bWV0YSBjaGFyc2V0PVwiVVRGLThcIj5cbiAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjBcIj5cbiAgPHRpdGxlPiR7c3RhdHVzQ29kZX0gLSBTZXJ2ZXIgRXJyb3I8L3RpdGxlPlxuICA8c3R5bGU+XG4gICAgKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuICAgIGJvZHkgeyBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7IGJhY2tncm91bmQ6ICMxYTFhMmU7IGNvbG9yOiAjZWVlOyBtaW4taGVpZ2h0OiAxMDB2aDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IDJyZW07IH1cbiAgICAuY29udGFpbmVyIHsgbWF4LXdpZHRoOiA4MDBweDsgd2lkdGg6IDEwMCU7IH1cbiAgICBoMSB7IGNvbG9yOiAjZmY2YjZiOyBmb250LXNpemU6IDIuNXJlbTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogIzRlY2RjNDsgY29sb3I6ICMxYTFhMmU7IHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOyBib3JkZXItcmFkaXVzOiA0cHg7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC51cmwgeyBjb2xvcjogIzg4ODsgZm9udC1zaXplOiAwLjlyZW07IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG4gICAgLm1lc3NhZ2UgeyBiYWNrZ3JvdW5kOiAjMTYyMTNlOyBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmZjZiNmI7IHBhZGRpbmc6IDFyZW0gMS41cmVtOyBib3JkZXItcmFkaXVzOiAwIDhweCA4cHggMDsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgLm1lc3NhZ2UgY29kZSB7IGNvbG9yOiAjZmY2YjZiOyBmb250LXNpemU6IDEuMXJlbTsgfVxuICAgIC5zdGFjayB7IGJhY2tncm91bmQ6ICMwZjBmMjM7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMS41cmVtOyBvdmVyZmxvdy14OiBhdXRvOyBmb250LWZhbWlseTogJ01vbmFjbycsICdNZW5sbycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAwLjg1cmVtOyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogI2FhYTsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG4gICAgLnJldHJ5IHsgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAgIC5yZXRyeSBhIHsgY29sb3I6ICM0ZWNkYzQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgcGFkZGluZzogMC43NXJlbSAxLjVyZW07IGJvcmRlcjogMnB4IHNvbGlkICM0ZWNkYzQ7IGJvcmRlci1yYWRpdXM6IDZweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgIC5yZXRyeSBhOmhvdmVyIHsgYmFja2dyb3VuZDogIzRlY2RjNDsgY29sb3I6ICMxYTFhMmU7IH1cbiAgICAuaGludCB7IG1hcmdpbi10b3A6IDEuNXJlbTsgY29sb3I6ICM4ODg7IGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gIDwvc3R5bGU+XG48L2hlYWQ+XG48Ym9keT5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICR7YmFkZ2UgPyBgPHNwYW4gY2xhc3M9XCJiYWRnZVwiPiR7ZXNjYXBlSHRtbChiYWRnZSl9PC9zcGFuPmAgOiAnJ31cbiAgICA8aDE+JHtzdGF0dXNDb2RlfSAtIFNlcnZlciBFcnJvcjwvaDE+XG4gICAgPHAgY2xhc3M9XCJ1cmxcIj5FcnJvciByZW5kZXJpbmc6ICR7ZXNjYXBlSHRtbCh1cmwpfTwvcD5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiPlxuICAgICAgPGNvZGU+JHtlc2NhcGVIdG1sKGVycm9yTWVzc2FnZSl9PC9jb2RlPlxuICAgIDwvZGl2PlxuICAgICR7c2hvd1N0YWNrICYmIHN0YWNrID8gYDxwcmUgY2xhc3M9XCJzdGFja1wiPiR7ZXNjYXBlSHRtbChzdGFjayl9PC9wcmU+YCA6ICcnfVxuICAgIDxkaXYgY2xhc3M9XCJyZXRyeVwiPlxuICAgICAgPGEgaHJlZj1cIiR7ZXNjYXBlSHRtbCh1cmwpfVwiPlJldHJ5PC9hPlxuICAgIDwvZGl2PlxuICAgICR7aGludCA/IGA8cCBjbGFzcz1cImhpbnRcIj4ke2VzY2FwZUh0bWwoaGludCl9PC9wPmAgOiAnJ31cbiAgPC9kaXY+XG48L2JvZHk+XG48L2h0bWw+YDtcbn1cbiIsImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB0eXBlIHsgSlNYIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyVG9QaXBlYWJsZVN0cmVhbSBhcyByZWFjdFJlbmRlciB9IGZyb20gJ3JlYWN0LWRvbS9zZXJ2ZXInO1xuXG5pbXBvcnQgeyBnZXRFcnJvclN0YXR1cyB9IGZyb20gJy4vc2NyaXB0cy9zc3JFcnJvckhhbmRsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBSZW5kZXIgfSBmcm9tICcuL3NjcmlwdHMvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbGF5U3BvdXRzKFxuICBzcG91dHM6IChwcm9wczogU2VydmVyUHJvcHMpID0+IFByb21pc2U8e1xuICAgIGFwcDogSlNYLkVsZW1lbnQ7XG4gIH0+LFxuICB7XG4gICAgdGltZW91dE1TID0gMTAwMDAsXG4gICAgb25FcnJvcixcbiAgfTogeyB0aW1lb3V0TVM/OiBudW1iZXI7IG9uRXJyb3I/OiAoZXJyb3I6IHVua25vd24pID0+IHZvaWQgfSA9IHt9LFxuKSB7XG4gIGNvbnN0IHJlbmRlcjogUmVuZGVyID0gYXN5bmMgKGNsaWVudE1hbmlmZXN0LCByZXEsIHJlcykgPT4ge1xuICAgIGNvbnN0IG5vbmNlID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDE2KS50b1N0cmluZygnYmFzZTY0Jyk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBhcHAgfSA9IGF3YWl0IHNwb3V0cyh7IGNsaWVudE1hbmlmZXN0LCByZXEsIHJlcywgbm9uY2UgfSk7XG5cbiAgICAgIGxldCBkaWRFcnJvciA9IGZhbHNlO1xuICAgICAgbGV0IGxhc3RFcnJvcjogdW5rbm93bjtcbiAgICAgIGNvbnN0IHsgcGlwZSwgYWJvcnQgfSA9IHJlYWN0UmVuZGVyKGFwcCwge1xuICAgICAgICBub25jZSxcbiAgICAgICAgLy9ib290c3RyYXBTY3JpcHRzOiBhc3NldHMuZmlsdGVyKGFzc2V0ID0+IGFzc2V0LmVuZHNXaXRoKCcuanMnKSksXG4gICAgICAgIG9uU2hlbGxSZWFkeSgpIHtcbiAgICAgICAgICAvL21hbmFnZXJzLmZvckVhY2gobWFuYWdlciA9PiBtYW5hZ2VyLmNsZWFudXAoKSk7XG4gICAgICAgICAgLy8gSWYgc29tZXRoaW5nIGVycm9yZWQgYmVmb3JlIHdlIHN0YXJ0ZWQgc3RyZWFtaW5nLCB3ZSBzZXQgdGhlIGVycm9yIGNvZGUgYXBwcm9wcmlhdGVseS5cbiAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IGRpZEVycm9yID8gZ2V0RXJyb3JTdGF0dXMobGFzdEVycm9yKSA6IDIwMDtcbiAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAndGV4dC9odG1sJyk7XG4gICAgICAgICAgcGlwZShyZXMpO1xuICAgICAgICB9LFxuICAgICAgICBvblNoZWxsRXJyb3IoZTogdW5rbm93bikge1xuICAgICAgICAgIGRpZEVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0RXJyb3IgPSBlO1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gZ2V0RXJyb3JTdGF0dXMoZSk7XG4gICAgICAgICAgcGlwZShyZXMpO1xuICAgICAgICB9LFxuICAgICAgICBvbkVycm9yKGU6IHVua25vd24pIHtcbiAgICAgICAgICBkaWRFcnJvciA9IHRydWU7XG4gICAgICAgICAgbGFzdEVycm9yID0gZTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gZ2V0RXJyb3JTdGF0dXMoZSk7XG4gICAgICAgICAgLy9waXBlKHJlcyk7IFJlbW92aW5nIHRoaXMgYXZvaWRzLCBcIlJlYWN0IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHBpcGluZyB0byBvbmUgd3JpdGFibGUgc3RyZWFtLlwiXG4gICAgICAgICAgaWYgKG9uRXJyb3IpIG9uRXJyb3IoZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIC8vIEFiYW5kb24gYW5kIHN3aXRjaCB0byBjbGllbnQgcmVuZGVyaW5nIGlmIGVub3VnaCB0aW1lIHBhc3Nlcy5cbiAgICAgIC8vIFRyeSBsb3dlcmluZyB0aGlzIHRvIHNlZSB0aGUgY2xpZW50IHJlY292ZXIuXG4gICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiAoYWJvcnQgYXMgYW55KShgVGltZW91dCBvZiAke3RpbWVvdXRNU31tcyBleGNlZWRlZGApLFxuICAgICAgICB0aW1lb3V0TVMsXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIGlmIChvbkVycm9yKSBvbkVycm9yKGUpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH07XG4gIHJldHVybiByZW5kZXI7XG59XG4iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcInJlYWN0XCIpOyIsImV4cG9ydCBpbnRlcmZhY2UgQ1NQb2xpY3kge1xuICBbZGlyZWN0aXZlOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuLy8gVE9ETzogbWVtb2l6ZSB0aGlzXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQb2xpY3kocG9saWN5T2JqOiBDU1BvbGljeSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMocG9saWN5T2JqKVxuICAgIC5tYXAoa2V5ID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgIEFycmF5LmlzQXJyYXkocG9saWN5T2JqW2tleV0pID9cbiAgICAgICAgICBbLi4ubmV3IFNldChwb2xpY3lPYmpba2V5XSkudmFsdWVzKCldLmZpbHRlcih2ID0+IHYpLmpvaW4oJyAnKVxuICAgICAgICA6IHBvbGljeU9ialtrZXldO1xuXG4gICAgICAvLyBtb3ZlIHN0cmljdCBkeW5hbWljIHRvIHRoZSBlbmQgb2YgdGhlIHBvbGljeSBpZiBpdCBleGlzdHMgdG8gYmUgYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCBjc3AyXG4gICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQ29udGVudC1TZWN1cml0eS1Qb2xpY3kvc2NyaXB0LXNyYyNzdHJpY3QtZHluYW1pY1xuICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnICYmIHZhbC5pbmNsdWRlcyhcIidzdHJpY3QtZHluYW1pYydcIikpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsID0gYCR7dmFsXG4gICAgICAgICAgLnJlcGxhY2UoL1xccz8nc3RyaWN0LWR5bmFtaWMnXFxzPy9naSwgJyAnKVxuICAgICAgICAgIC50cmltKCl9ICdzdHJpY3QtZHluYW1pYydgO1xuICAgICAgICByZXR1cm4gYCR7a2V5fSAke25ld1ZhbH1gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYCR7a2V5fSAke3ZhbH1gO1xuICAgIH0pXG4gICAgLmpvaW4oJzsgJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqb2luTm9uY2UocG9saWN5T2JqOiBDU1BvbGljeSwgbm9uY2U/OiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFub25jZSkgcmV0dXJuIHBvbGljeU9iajtcbiAgY29uc3QgcG9saWN5ID0ge1xuICAgIC4uLnBvbGljeU9iaixcbiAgfTtcbiAgaWYgKHR5cGVvZiBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9PT0gJ3N0cmluZycpIHtcbiAgICBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9IFtwb2xpY3lbJ3NjcmlwdC1zcmMnXSwgYCdub25jZS0ke25vbmNlfSdgXTtcbiAgfSBlbHNlIHtcbiAgICBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9IFsuLi5wb2xpY3lbJ3NjcmlwdC1zcmMnXSwgYCdub25jZS0ke25vbmNlfSdgXTtcbiAgfVxuICByZXR1cm4gcG9saWN5O1xufVxuIiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTsiLCJ0eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQgPSBkZWZhdWx0SGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQgPSAnYW5hbnNpLXJvb3QnLFxuICBjaGFyU2V0ID0gJ3V0Zi04JyxcbiAgc2NyaXB0cyA9IG51bGwsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5jb25zdCBkZWZhdWx0SGVhZCA9IChcbiAgPD5cbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgIDxsaW5rXG4gICAgICByZWw9XCJzaG9ydGN1dCBpY29uXCJcbiAgICAgIGhyZWY9e2Ake3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPz8gJy8nfWZhdmljb24uaWNvYH1cbiAgICAvPlxuICA8Lz5cbik7XG4iLCJpbXBvcnQgdHlwZSB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN0YXRzQ2h1bmtHcm91cCB9IGZyb20gJ3dlYnBhY2snO1xuXG5pbXBvcnQgeyBidWlsZFBvbGljeSwgam9pbk5vbmNlLCB0eXBlIENTUG9saWN5IH0gZnJvbSAnLi9jc3AuanMnO1xuaW1wb3J0IERvY3VtZW50IGZyb20gJy4vRG9jdW1lbnRDb21wb25lbnQuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZE5leHQgPSB7XG4gIG1hdGNoZWRSb3V0ZXM6IFJvdXRlPGFueT5bXTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbiAgZXh0cmFTdHlsZT86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IHsgdHlwZSBDU1BvbGljeSB9O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEb2N1bWVudFNwb3V0KG9wdGlvbnM6IHtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbiAgcm9vdElkPzogc3RyaW5nO1xuICBjaGFyU2V0Pzogc3RyaW5nO1xuICBjc1BvbGljeT86IENTUG9saWN5O1xufSk6IFNlcnZlclNwb3V0PFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgTmVlZGVkTmV4dD4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBwdWJsaWNQYXRoID0gcHJvcHMuY2xpZW50TWFuaWZlc3QucHVibGljUGF0aDtcblxuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzLmNsaWVudE1hbmlmZXN0Py5lbnRyeXBvaW50cyA/PyB7fSkubGVuZ3RoIDwgMSB8fFxuICAgICAgcHVibGljUGF0aCA9PT0gdW5kZWZpbmVkXG4gICAgKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYW5pZmVzdCBtaXNzaW5nIGVudHJpZXMgbmVlZGVkJyk7XG5cbiAgICAvLyBUT0RPOiBjb25zaWRlciB1c2luZyB0aGlzIHBhY2thZ2UgZm9yIGJ1aWxkIHN0YXRzIGluIGZ1dHVyZTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvdHJlZS9tYWluL3BhY2thZ2VzL3JlYWN0LXNlcnZlci1kb20td2VicGFja1xuICAgIGNvbnN0IGFzc2V0TWFwID0gKGFzc2V0czogeyBuYW1lOiBzdHJpbmc7IHNpemU/OiBudW1iZXIgfVtdKSA9PlxuICAgICAgYXNzZXRzLm1hcCgoeyBuYW1lIH0pID0+IGAke3B1YmxpY1BhdGh9JHtuYW1lfWApO1xuXG4gICAgY29uc3QgYXNzZXRMaXN0OiBzdHJpbmdbXSA9IFtdO1xuICAgIE9iamVjdC52YWx1ZXMocHJvcHMuY2xpZW50TWFuaWZlc3Q/LmVudHJ5cG9pbnRzID8/IHt9KS5mb3JFYWNoKFxuICAgICAgZW50cnlwb2ludCA9PiB7XG4gICAgICAgIGFzc2V0TGlzdC5wdXNoKC4uLmFzc2V0TWFwKGVudHJ5cG9pbnQuYXNzZXRzID8/IFtdKSk7XG4gICAgICB9LFxuICAgICk7XG4gICAgbmV3IFNldChcbiAgICAgIGFzc2V0TWFwKFxuICAgICAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Lm5hbWVkQ2h1bmtHcm91cHMgPz8ge30pXG4gICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+XG4gICAgICAgICAgICBuZXh0UHJvcHMubWF0Y2hlZFJvdXRlcy5zb21lKHJvdXRlID0+IG5hbWU/LmluY2x1ZGVzKHJvdXRlLm5hbWUpKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLmZsYXRNYXAoY2h1bmsgPT4gW1xuICAgICAgICAgICAgLi4uKGNodW5rLmFzc2V0cyA/PyBbXSksXG4gICAgICAgICAgICAvLyBhbnkgY2h1bmsgcHJlbG9hZHNcbiAgICAgICAgICAgIC4uLmNoaWxkcmVuQXNzZXRzKGNodW5rKSxcbiAgICAgICAgICBdKSxcbiAgICAgICksXG4gICAgKS5mb3JFYWNoKGFzc2V0ID0+IGFzc2V0TGlzdC5wdXNoKGFzc2V0KSk7XG5cbiAgICAvLyBmaW5kIGFkZGl0aW9uYWwgYXNzZXRzIHRvIHByZWxvYWQgYmFzZWQgb24gbWF0Y2hlZCByb3V0ZVxuICAgIGNvbnN0IGFzc2V0czoge1xuICAgICAgaHJlZjogc3RyaW5nO1xuICAgICAgYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICByZWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgfVtdID0gYXNzZXRMaXN0XG4gICAgICAuZmlsdGVyKGFzc2V0ID0+ICFhc3NldC5lbmRzV2l0aCgnLmhvdC11cGRhdGUuanMnKSlcbiAgICAgIC5tYXAoYXNzZXQgPT5cbiAgICAgICAgYXNzZXQuZW5kc1dpdGgoJy5jc3MnKSA/IHsgaHJlZjogYXNzZXQsIHJlbDogJ3N0eWxlc2hlZXQnIH1cbiAgICAgICAgOiBhc3NldC5lbmRzV2l0aCgnLmpzJykgPyB7IGhyZWY6IGFzc2V0LCBhczogJ3NjcmlwdCcgfVxuICAgICAgICA6IHsgaHJlZjogYXNzZXQgfSxcbiAgICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5jc1BvbGljeSkge1xuICAgICAgY29uc3QgaHR0cEVxdWl2ID1cbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyA/XG4gICAgICAgICAgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5J1xuICAgICAgICA6ICdDb250ZW50LVNlY3VyaXR5LVBvbGljeS1SZXBvcnQtT25seSc7XG5cbiAgICAgIHByb3BzLnJlcy5zZXRIZWFkZXIoXG4gICAgICAgIGh0dHBFcXVpdixcbiAgICAgICAgYnVpbGRQb2xpY3koam9pbk5vbmNlKG9wdGlvbnMuY3NQb2xpY3ksIHByb3BzLm5vbmNlKSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IChcbiAgICAgICAgPERvY3VtZW50XG4gICAgICAgICAgey4uLm9wdGlvbnN9XG4gICAgICAgICAgZXh0cmFTdHlsZT17bmV4dFByb3BzLmV4dHJhU3R5bGV9XG4gICAgICAgICAgdGl0bGU9e25leHRQcm9wcy50aXRsZSA/PyBvcHRpb25zLnRpdGxlfVxuICAgICAgICAgIGFzc2V0cz17YXNzZXRzfVxuICAgICAgICAgIHJvb3RJZD17b3B0aW9ucy5yb290SWR9XG4gICAgICAgICAgc2NyaXB0cz17bmV4dFByb3BzLnNjcmlwdHN9XG4gICAgICAgID5cbiAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgPC9Eb2N1bWVudD5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2hpbGRyZW5Bc3NldHMoY2h1bms6IFN0YXRzQ2h1bmtHcm91cCkge1xuICByZXR1cm4gY2h1bmsuY2hpbGRyZW4gP1xuICAgICAgT2JqZWN0LnZhbHVlcyhjaHVuay5jaGlsZHJlbikuZmxhdE1hcChwcmVsb2FkID0+XG4gICAgICAgIHByZWxvYWQuZmxhdE1hcChjID0+IGMuYXNzZXRzID8/IFtdKSxcbiAgICAgIClcbiAgICA6IFtdO1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDb250cm9sbGVyLFxuICB0eXBlIE1hbmFnZXIsXG4gIHR5cGUgU3RhdGUsXG4gIHR5cGUgU3RvcmUsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGF0YUNsaWVudFNwb3V0KFxuICBvcHRpb25zOiB7XG4gICAgZ2V0TWFuYWdlcnM/OiAoKSA9PiBNYW5hZ2VyW107XG4gIH0gPSB7fSxcbik6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgeyBjb250cm9sbGVyOiBDb250cm9sbGVyIH0gJiB7IHN0b3JlOiBTdG9yZTxTdGF0ZTx1bmtub3duPj4gfSxcbiAgeyBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+OyBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW10gfVxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBtYW5hZ2VycyA9IG9wdGlvbnM/LmdldE1hbmFnZXJzPy4oKSA/PyBbXG4gICAgICBuZXcgKGF3YWl0IGltcG9ydCgnQGRhdGEtY2xpZW50L3JlYWN0JykpLk5ldHdvcmtNYW5hZ2VyKCksXG4gICAgXTtcbiAgICBjb25zdCB7IGNyZWF0ZVBlcnNpc3RlZFN0b3JlIH0gPSBhd2FpdCBpbXBvcnQoJ0BkYXRhLWNsaWVudC9yZWFjdC9zc3InKTtcbiAgICBjb25zdCBbU2VydmVyRGF0YVByb3ZpZGVyLCB1c2VSZWFkeUNhY2hlU3RhdGUsIGNvbnRyb2xsZXIsIHN0b3JlXSA9XG4gICAgICBjcmVhdGVQZXJzaXN0ZWRTdG9yZShtYW5hZ2Vycyk7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBpbml0RGF0YToge1xuICAgICAgICAuLi5uZXh0UHJvcHMuaW5pdERhdGEsXG4gICAgICAgIGRhdGFjbGllbnQ6IHVzZVJlYWR5Q2FjaGVTdGF0ZSxcbiAgICAgIH0sXG4gICAgICBhcHA6IDxTZXJ2ZXJEYXRhUHJvdmlkZXI+e25leHRQcm9wcy5hcHB9PC9TZXJ2ZXJEYXRhUHJvdmlkZXI+LFxuICAgICAgLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gb25seSBpbmplY3QgaW4gbmV4dCBhbmQgbm90IGhhdmUgdG8gYWxzbyBwdXQgaGVyZVxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH07XG4gIH07XG59XG4iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcIkBhbmFuc2kvcm91dGVyXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiaGlzdG9yeVwiKTsiLCJpbXBvcnQgeyBSb3V0ZSwgUm91dGVQcm92aWRlciwgUm91dGVDb250cm9sbGVyIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSB9IGZyb20gJ2hpc3RvcnknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDcmVhdGVSb3V0ZXIsIFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJvdXRlclNwb3V0PFJlc29sdmVXaXRoPihvcHRpb25zOiB7XG4gIHJlc29sdmVXaXRoPzogYW55O1xuICB1c2VSZXNvbHZlV2l0aDogKCkgPT4gUmVzb2x2ZVdpdGg7XG4gIGNyZWF0ZVJvdXRlcjogQ3JlYXRlUm91dGVyPFJlc29sdmVXaXRoPjtcbn0pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHtcbiAgICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxSZXNvbHZlV2l0aD5bXTtcbiAgICBzZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtcztcbiAgfSAmIHtcbiAgICByb3V0ZXI6IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxSZXNvbHZlV2l0aCwgYW55Pj47XG4gIH1cbj4ge1xuICBjb25zdCBjcmVhdGVSb3V0ZUNvbXBvbmVudCA9IChcbiAgICByb3V0ZXI6IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxSZXNvbHZlV2l0aCwgYW55Pj4sXG4gICkgPT5cbiAgICBmdW5jdGlvbiBSb3V0ZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICAgICAgY29uc3QgcmVzb2x2ZVdpdGggPSBvcHRpb25zLnVzZVJlc29sdmVXaXRoKCk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxSb3V0ZVByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSByZXNvbHZlV2l0aD17cmVzb2x2ZVdpdGh9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9Sb3V0ZVByb3ZpZGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCB1cmwgPSBwcm9wcy5yZXEudXJsIHx8ICcnO1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCc/JywgMik7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJ0cy5sZW5ndGggPCAyID8gJycgOiBwYXJ0c1sxXSk7XG4gICAgY29uc3Qgcm91dGVyID0gb3B0aW9ucy5jcmVhdGVSb3V0ZXIoXG4gICAgICBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFt1cmxdIH0pLFxuICAgICk7XG4gICAgY29uc3QgbWF0Y2hlZFJvdXRlczogUm91dGU8UmVzb2x2ZVdpdGg+W10gPSByb3V0ZXIuZ2V0TWF0Y2hlZFJvdXRlcyh1cmwpO1xuXG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dCh7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIG1hdGNoZWRSb3V0ZXMsXG4gICAgICByb3V0ZXIsXG4gICAgICBzZWFyY2hQYXJhbXMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBSb3V0ZXIgPSBjcmVhdGVSb3V0ZUNvbXBvbmVudChyb3V0ZXIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogPFJvdXRlcj57bmV4dFByb3BzLmFwcH08L1JvdXRlcj4sXG4gICAgICAvLyBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBvbmx5IGluamVjdCBpbiBuZXh0IGFuZCBub3QgaGF2ZSB0byBhbHNvIHB1dCBoZXJlXG4gICAgICBtYXRjaGVkUm91dGVzLFxuICAgICAgcm91dGVyLFxuICAgICAgc2VhcmNoUGFyYW1zLFxuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ0BhbmFuc2kvcm91dGVyJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvbHZlUHJvcHMsIFNlcnZlclByb3BzIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkUHJvcHM8Um91dGVXaXRoPiA9IHtcbiAgbWF0Y2hlZFJvdXRlczogUm91dGU8Um91dGVXaXRoPltdO1xuICBzZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtcztcbn0gJiBSZXNvbHZlUHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHByZWZldGNoU3BvdXQ8RiBleHRlbmRzIHN0cmluZz4oZmllbGQ6IEYpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxcbiAgICBSb3V0ZVdpdGgsXG4gICAgTiBleHRlbmRzIE5lZWRlZFByb3BzPFJvdXRlV2l0aD4sXG4gICAgSSBleHRlbmRzIFNlcnZlclByb3BzLFxuICA+KFxuICAgIG5leHQ6IChwcm9wczogSSkgPT4gUHJvbWlzZTxcbiAgICAgIHtcbiAgICAgICAgW0sgaW4gRl06IFJvdXRlV2l0aDtcbiAgICAgIH0gJiBOXG4gICAgPixcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIChwcm9wczogSSkgPT4ge1xuICAgICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRvRmV0Y2g6IFByb21pc2U8dW5rbm93bj5bXSA9IFtdO1xuICAgICAgICBuZXh0UHJvcHMubWF0Y2hlZFJvdXRlcy5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgICAgICAvLyBQcmVsb2FkIGxhenkgY29tcG9uZW50IHNvIGl0J3MgcmVhZHkgZm9yIFNTUiByZW5kZXJcbiAgICAgICAgICBpZiAodHlwZW9mIHJvdXRlLmNvbXBvbmVudD8ucHJlbG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdG9GZXRjaC5wdXNoKHJvdXRlLmNvbXBvbmVudC5wcmVsb2FkKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIHJvdXRlLnJlc29sdmVEYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0b0ZldGNoLnB1c2goXG4gICAgICAgICAgICAgIHJvdXRlLnJlc29sdmVEYXRhKFxuICAgICAgICAgICAgICAgIG5leHRQcm9wc1tmaWVsZF0sXG4gICAgICAgICAgICAgICAgcm91dGUsXG4gICAgICAgICAgICAgICAgbmV4dFByb3BzLnNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwodG9GZXRjaCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dFByb3BzO1xuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgUmVhY3QsIHsgU3VzcGVuc2UgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG4vKiogU2VyaWFsaXplIGRhdGEgZm9yIHNhZmUgZW1iZWRkaW5nIGluIDxzY3JpcHQgdHlwZT1cImFwcGxpY2F0aW9uL2pzb25cIj4gdGFncy5cbiAqIC0gRXNjYXBlcyA8IHRvIHByZXZlbnQgPC9zY3JpcHQ+IGluamVjdGlvblxuICogLSBFc2NhcGVzIFUrMjAyOC9VKzIwMjkgbGluZSBzZXBhcmF0b3JzIGZvciBvbGRlciBicm93c2VyIGNvbXBhdGliaWxpdHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZUZvclNjcmlwdFRhZyhkYXRhOiB1bmtub3duKTogc3RyaW5nIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpXG4gICAgLnJlcGxhY2UoLzwvZywgJ1xcXFx1MDAzYycpXG4gICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcpXG4gICAgLnJlcGxhY2UoL1xcdTIwMjkvZywgJ1xcXFx1MjAyOScpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBKU09OU3BvdXQoe1xuICBpZCA9ICdhbmFuc2ktanNvbicsXG59OiB7IGlkPzogc3RyaW5nIH0gPSB7fSk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE5lZWRlZE5leHRcbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBzY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGVbXSA9IG5leHRQcm9wcy5zY3JpcHRzID8/IFtdO1xuXG4gICAgT2JqZWN0LmVudHJpZXMobmV4dFByb3BzLmluaXREYXRhID8/IHt9KS5mb3JFYWNoKChba2V5LCB1c2VEYXRhXSkgPT4ge1xuICAgICAgY29uc3QgZ2xvYmFsSWQgPSBgJHtpZH0uJHtrZXl9YDtcbiAgICAgIGNvbnN0IFNjcmlwdCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YTogYW55ID0gdXNlRGF0YSgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGVuY29kZWQgPSBzZXJpYWxpemVGb3JTY3JpcHRUYWcoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzY3JpcHRcbiAgICAgICAgICAgICAgaWQ9e2dsb2JhbElkfVxuICAgICAgICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBlbmNvZGVkLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBub25jZT17cHJvcHMubm9uY2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBUT0RPOiBVc2UgdW5pZmllZCBsb2dnaW5nXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igc2VyaWFsaXppbmcganNvbiBmb3IgJHtrZXl9YCk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNjcmlwdHMucHVzaChcbiAgICAgICAgPFN1c3BlbnNlIGtleT17Z2xvYmFsSWR9PlxuICAgICAgICAgIDxTY3JpcHQgLz5cbiAgICAgICAgPC9TdXNwZW5zZT4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiIsImltcG9ydCB0eXBlIHsgSlNYIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBhcHBTcG91dCA9XG4gIChhcHA6IEpTWC5FbGVtZW50KSA9PlxuICA8UCBleHRlbmRzIFNlcnZlclByb3BzPihwcm9wczogUCkgPT5cbiAgICBQcm9taXNlLnJlc29sdmUoeyAuLi5wcm9wcywgYXBwIH0pO1xuXG5leHBvcnQgZGVmYXVsdCBhcHBTcG91dDtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdG9yUHJvcGVydGllcyB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBOYXZpZ2F0b3JDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxOYXZpZ2F0b3JQcm9wZXJ0aWVzIHwgdW5kZWZpbmVkPihcbiAgdW5kZWZpbmVkLFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZU5hdmlnYXRvcigpOiBOYXZpZ2F0b3JQcm9wZXJ0aWVzIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTmF2aWdhdG9yQ29udGV4dCk7XG4gIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZU5hdmlnYXRvciBtdXN0IGJlIHVzZWQgd2l0aGluIGEgTmF2aWdhdG9yUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQWNjZXB0TGFuZ3VhZ2UoaGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlczogcmVhZG9ubHkgc3RyaW5nW107XG59IHtcbiAgaWYgKCFoZWFkZXIpIHtcbiAgICByZXR1cm4geyBsYW5ndWFnZTogJ2VuJywgbGFuZ3VhZ2VzOiBbJ2VuJ10gfTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IGhlYWRlclxuICAgIC5zcGxpdCgnLCcpXG4gICAgLm1hcChwYXJ0ID0+IHtcbiAgICAgIGNvbnN0IFtsYW5nLCBxUGFydF0gPSBwYXJ0LnRyaW0oKS5zcGxpdCgnOycpO1xuICAgICAgY29uc3QgcSA9IHFQYXJ0ID8gcGFyc2VGbG9hdChxUGFydC5yZXBsYWNlKCdxPScsICcnKSkgOiAxO1xuICAgICAgcmV0dXJuIHsgbGFuZzogbGFuZy50cmltKCksIHEgfTtcbiAgICB9KVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLnEgLSBhLnEpXG4gICAgLm1hcCgoeyBsYW5nIH0pID0+IGxhbmcpO1xuXG4gIHJldHVybiB7XG4gICAgbGFuZ3VhZ2U6IHBhcnNlZFswXSA/PyAnZW4nLFxuICAgIGxhbmd1YWdlczogcGFyc2VkLmxlbmd0aCA+IDAgPyBwYXJzZWQgOiBbJ2VuJ10sXG4gIH07XG59XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0b3JDb250ZXh0LCBwYXJzZUFjY2VwdExhbmd1YWdlIH0gZnJvbSAnLi9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5hdmlnYXRvclNwb3V0KCk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgeyBsYW5ndWFnZTogc3RyaW5nOyBsYW5ndWFnZXM6IHJlYWRvbmx5IHN0cmluZ1tdIH0sXG4gIE5lZWRlZE5leHRcbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgYWNjZXB0TGFuZ3VhZ2UgPSBwcm9wcy5yZXEuaGVhZGVyc1snYWNjZXB0LWxhbmd1YWdlJ107XG4gICAgY29uc3QgaGVhZGVyID1cbiAgICAgIHR5cGVvZiBhY2NlcHRMYW5ndWFnZSA9PT0gJ3N0cmluZycgPyBhY2NlcHRMYW5ndWFnZSA6IGFjY2VwdExhbmd1YWdlPy5bMF07XG4gICAgY29uc3QgbmF2aWdhdG9yUHJvcHMgPSBwYXJzZUFjY2VwdExhbmd1YWdlKGhlYWRlcik7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgLi4ubmF2aWdhdG9yUHJvcHMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgLi4ubmF2aWdhdG9yUHJvcHMsXG4gICAgICBpbml0RGF0YToge1xuICAgICAgICAuLi5uZXh0UHJvcHMuaW5pdERhdGEsXG4gICAgICAgIG5hdmlnYXRvcjogKCkgPT4gbmF2aWdhdG9yUHJvcHMsXG4gICAgICB9LFxuICAgICAgYXBwOiAoXG4gICAgICAgIDxOYXZpZ2F0b3JDb250ZXh0IHZhbHVlPXtuYXZpZ2F0b3JQcm9wc30+XG4gICAgICAgICAge25leHRQcm9wcy5hcHB9XG4gICAgICAgIDwvTmF2aWdhdG9yQ29udGV4dD5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgbGF5U3BvdXRzIH0gZnJvbSAnLi9sYXlTcG91dHMuanMnO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyBkb2N1bWVudFNwb3V0LFxuICB0eXBlIENTUG9saWN5LFxufSBmcm9tICcuL3Nwb3V0cy9kb2N1bWVudC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkYXRhQ2xpZW50U3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9kYXRhQ2xpZW50LnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJvdXRlclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcm91dGVyLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHByZWZldGNoU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBKU09OU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9qc29uLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvYXBwLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5hdmlnYXRvclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLnNlcnZlci5qcyc7XG5leHBvcnQgeyB1c2VOYXZpZ2F0b3IgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5leHBvcnQgdHlwZSB7IE5hdmlnYXRvclByb3BlcnRpZXMgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5leHBvcnQgdHlwZSB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuZXhwb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCBhcyBTcG91dCB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc2NyaXB0cy90eXBlcy5qcyc7XG4iXSwibmFtZXMiOlsiZ2V0RXJyb3JTdGF0dXMiLCJlcnJvciIsInN0YXR1cyIsInBhcnNlZCIsInBhcnNlSW50IiwiaXNOYU4iLCJlc2NhcGVIdG1sIiwic3RyIiwicmVwbGFjZSIsInJlbmRlckVycm9yUGFnZSIsInVybCIsInN0YXR1c0NvZGUiLCJvcHRpb25zIiwiZXJyb3JNZXNzYWdlIiwiRXJyb3IiLCJtZXNzYWdlIiwiU3RyaW5nIiwic3RhY2siLCJ1bmRlZmluZWQiLCJzaG93U3RhY2siLCJoaW50IiwiYmFkZ2UiLCJjcnlwdG8iLCJyZW5kZXJUb1BpcGVhYmxlU3RyZWFtIiwicmVhY3RSZW5kZXIiLCJsYXlTcG91dHMiLCJzcG91dHMiLCJ0aW1lb3V0TVMiLCJvbkVycm9yIiwicmVuZGVyIiwiY2xpZW50TWFuaWZlc3QiLCJyZXEiLCJyZXMiLCJub25jZSIsInJhbmRvbUJ5dGVzIiwidG9TdHJpbmciLCJhcHAiLCJkaWRFcnJvciIsImxhc3RFcnJvciIsInBpcGUiLCJhYm9ydCIsIm9uU2hlbGxSZWFkeSIsInNldEhlYWRlciIsIm9uU2hlbGxFcnJvciIsImUiLCJjb25zb2xlIiwic2V0VGltZW91dCIsImJ1aWxkUG9saWN5IiwicG9saWN5T2JqIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbCIsIkFycmF5IiwiaXNBcnJheSIsIlNldCIsInZhbHVlcyIsImZpbHRlciIsInYiLCJqb2luIiwiaW5jbHVkZXMiLCJuZXdWYWwiLCJ0cmltIiwiam9pbk5vbmNlIiwicG9saWN5IiwiRG9jdW1lbnQiLCJhc3NldHMiLCJoZWFkIiwiZGVmYXVsdEhlYWQiLCJjaGlsZHJlbiIsInRpdGxlIiwicm9vdElkIiwiY2hhclNldCIsInNjcmlwdHMiLCJleHRyYVN0eWxlIiwibGFuZyIsIl9qc3hzIiwiX2pzeCIsImFzc2V0IiwiaSIsInJlbCIsImlkIiwiaHJlZiIsImVuZHNXaXRoIiwic3JjIiwiYXN5bmMiLCJfRnJhZ21lbnQiLCJuYW1lIiwiY29udGVudCIsInByb2Nlc3MiLCJlbnYiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwiUmVhY3QiLCJqc3giLCJEb2N1bWVudFNwb3V0IiwibmV4dCIsInByb3BzIiwibmV4dFByb3BzIiwicHVibGljUGF0aCIsImVudHJ5cG9pbnRzIiwibGVuZ3RoIiwiYXNzZXRNYXAiLCJhc3NldExpc3QiLCJmb3JFYWNoIiwiZW50cnlwb2ludCIsInB1c2giLCJuYW1lZENodW5rR3JvdXBzIiwibWF0Y2hlZFJvdXRlcyIsInNvbWUiLCJyb3V0ZSIsImZsYXRNYXAiLCJjaHVuayIsImNoaWxkcmVuQXNzZXRzIiwiYXMiLCJjc1BvbGljeSIsImh0dHBFcXVpdiIsIk5PREVfRU5WIiwicHJlbG9hZCIsImMiLCJkYXRhQ2xpZW50U3BvdXQiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiTmV0d29ya01hbmFnZXIiLCJjcmVhdGVQZXJzaXN0ZWRTdG9yZSIsIlNlcnZlckRhdGFQcm92aWRlciIsInVzZVJlYWR5Q2FjaGVTdGF0ZSIsImNvbnRyb2xsZXIiLCJzdG9yZSIsImluaXREYXRhIiwiZGF0YWNsaWVudCIsIlJvdXRlUHJvdmlkZXIiLCJjcmVhdGVNZW1vcnlIaXN0b3J5Iiwicm91dGVyU3BvdXQiLCJjcmVhdGVSb3V0ZUNvbXBvbmVudCIsInJvdXRlciIsIlJvdXRlciIsInJlc29sdmVXaXRoIiwidXNlUmVzb2x2ZVdpdGgiLCJwYXJ0cyIsInNwbGl0Iiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiY3JlYXRlUm91dGVyIiwiaW5pdGlhbEVudHJpZXMiLCJnZXRNYXRjaGVkUm91dGVzIiwicHJlZmV0Y2hTcG91dCIsImZpZWxkIiwidG9GZXRjaCIsImNvbXBvbmVudCIsInJlc29sdmVEYXRhIiwiUHJvbWlzZSIsImFsbCIsIlN1c3BlbnNlIiwic2VyaWFsaXplRm9yU2NyaXB0VGFnIiwiZGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJKU09OU3BvdXQiLCJlbnRyaWVzIiwidXNlRGF0YSIsImdsb2JhbElkIiwiU2NyaXB0IiwiZW5jb2RlZCIsInR5cGUiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImFwcFNwb3V0IiwicmVzb2x2ZSIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDb250ZXh0IiwiTmF2aWdhdG9yQ29udGV4dCIsInVzZU5hdmlnYXRvciIsImNvbnRleHQiLCJwYXJzZUFjY2VwdExhbmd1YWdlIiwiaGVhZGVyIiwibGFuZ3VhZ2UiLCJsYW5ndWFnZXMiLCJwYXJ0IiwicVBhcnQiLCJxIiwicGFyc2VGbG9hdCIsInNvcnQiLCJhIiwiYiIsIm5hdmlnYXRvclNwb3V0IiwiYWNjZXB0TGFuZ3VhZ2UiLCJoZWFkZXJzIiwibmF2aWdhdG9yUHJvcHMiLCJuYXZpZ2F0b3IiLCJ2YWx1ZSIsImRlZmF1bHQiLCJkb2N1bWVudFNwb3V0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=
644
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFjO01BQ2pCM0QsUUFBUSxFQUFFO1FBQ1IsR0FBRy9CLFNBQVMsQ0FBQytCLFFBQVE7UUFDckI0RCxTQUFTLEVBQUVBLENBQUEsS0FBTUQ7TUFDbkIsQ0FBQztNQUNEeEosR0FBRyxlQUNEMEMsbUNBQUEsQ0FBQzZGLGdCQUFnQjtRQUFDbUIsS0FBSyxFQUFFRixjQUFlO1FBQUF0SCxRQUFBLEVBQ3JDNEIsU0FBUyxDQUFDOUQ7TUFBRyxDQUNFO0lBRXRCLENBQUM7RUFDSCxDQUFDO0FBQ0gsQzs7QUN2Q3NEO0FBSWpCO0FBQ3NDO0FBQ1I7QUFDSTtBQUNSO0FBQ0Y7QUFDWTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQGRhdGEtY2xpZW50L3JlYWN0XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQGRhdGEtY2xpZW50L3JlYWN0L3NzclwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9jcmVhdGUgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIG5vZGUtY29tbW9uanMgXCJjcnlwdG9cIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJyZWFjdC1kb20vc2VydmVyXCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3NjcmlwdHMvc3NyRXJyb3JIYW5kbGVyLnRzIiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9sYXlTcG91dHMudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcInJlYWN0XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9jc3AudHMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3QvanN4LXJ1bnRpbWVcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2RvY3VtZW50LnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9kYXRhQ2xpZW50LnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQGFuYW5zaS9yb3V0ZXJcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJoaXN0b3J5XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9yb3V0ZXIuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL3ByZWZldGNoLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9qc29uLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9hcHAuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL25hdmlnYXRvci5jb250ZXh0LnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL25hdmlnYXRvci5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9pbmRleC5zZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQGRhdGEtY2xpZW50L3JlYWN0XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBkYXRhLWNsaWVudC9yZWFjdC9zc3JcIik7IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwidmFyIGdldFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mID8gKG9iaikgPT4gKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopKSA6IChvYmopID0+IChvYmouX19wcm90b19fKTtcbnZhciBsZWFmUHJvdG90eXBlcztcbi8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuLy8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4vLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbi8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuLy8gbW9kZSAmIDE2OiByZXR1cm4gdmFsdWUgd2hlbiBpdCdzIFByb21pc2UtbGlrZVxuLy8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuX193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcblx0aWYobW9kZSAmIDEpIHZhbHVlID0gdGhpcyh2YWx1ZSk7XG5cdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG5cdGlmKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUpIHtcblx0XHRpZigobW9kZSAmIDQpICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcblx0XHRpZigobW9kZSAmIDE2KSAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIHZhbHVlO1xuXHR9XG5cdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG5cdHZhciBkZWYgPSB7fTtcblx0bGVhZlByb3RvdHlwZXMgPSBsZWFmUHJvdG90eXBlcyB8fCBbbnVsbCwgZ2V0UHJvdG8oe30pLCBnZXRQcm90byhbXSksIGdldFByb3RvKGdldFByb3RvKV07XG5cdGZvcih2YXIgY3VycmVudCA9IG1vZGUgJiAyICYmIHZhbHVlOyAodHlwZW9mIGN1cnJlbnQgPT0gJ29iamVjdCcgfHwgdHlwZW9mIGN1cnJlbnQgPT0gJ2Z1bmN0aW9uJykgJiYgIX5sZWFmUHJvdG90eXBlcy5pbmRleE9mKGN1cnJlbnQpOyBjdXJyZW50ID0gZ2V0UHJvdG8oY3VycmVudCkpIHtcblx0XHRPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjdXJyZW50KS5mb3JFYWNoKChrZXkpID0+IChkZWZba2V5XSA9ICgpID0+ICh2YWx1ZVtrZXldKSkpO1xuXHR9XG5cdGRlZlsnZGVmYXVsdCddID0gKCkgPT4gKHZhbHVlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBkZWYpO1xuXHRyZXR1cm4gbnM7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcImNyeXB0b1wiKTsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcInJlYWN0LWRvbS9zZXJ2ZXJcIik7IiwiLyoqXG4gKiBVdGlsaXRpZXMgZm9yIGhhbmRsaW5nIFNTUiBlcnJvcnMgZ3JhY2VmdWxseVxuICovXG5cbi8qKlxuICogRXh0cmFjdCBIVFRQIHN0YXR1cyBjb2RlIGZyb20gYW4gZXJyb3Igb2JqZWN0LlxuICogTG9va3MgZm9yIGEgYHN0YXR1c2AgcHJvcGVydHkgdGhhdCBpcyBhIG51bWJlciBvciBwYXJzZWFibGUgc3RyaW5nLlxuICogUmV0dXJucyA1MDAgaWYgbm8gdmFsaWQgc3RhdHVzIGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JTdGF0dXMoZXJyb3I6IHVua25vd24pOiBudW1iZXIge1xuICBpZiAoZXJyb3IgJiYgdHlwZW9mIGVycm9yID09PSAnb2JqZWN0JyAmJiAnc3RhdHVzJyBpbiBlcnJvcikge1xuICAgIGNvbnN0IHN0YXR1cyA9IChlcnJvciBhcyB7IHN0YXR1czogdW5rbm93biB9KS5zdGF0dXM7XG4gICAgaWYgKHR5cGVvZiBzdGF0dXMgPT09ICdudW1iZXInICYmIHN0YXR1cyA+PSAxMDAgJiYgc3RhdHVzIDwgNjAwKSB7XG4gICAgICByZXR1cm4gc3RhdHVzO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHN0YXR1cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KHN0YXR1cywgMTApO1xuICAgICAgaWYgKCFpc05hTihwYXJzZWQpICYmIHBhcnNlZCA+PSAxMDAgJiYgcGFyc2VkIDwgNjAwKSB7XG4gICAgICAgIHJldHVybiBwYXJzZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiA1MDA7XG59XG5cbi8qKlxuICogRXNjYXBlIEhUTUwgc3BlY2lhbCBjaGFyYWN0ZXJzIHRvIHByZXZlbnQgWFNTXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVIdG1sKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0clxuICAgIC5yZXBsYWNlKC8mL2csICcmYW1wOycpXG4gICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgIC5yZXBsYWNlKC8+L2csICcmZ3Q7JylcbiAgICAucmVwbGFjZSgvXCIvZywgJyZxdW90OycpXG4gICAgLnJlcGxhY2UoLycvZywgJyYjMDM5OycpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbmRlckVycm9yUGFnZU9wdGlvbnMge1xuICAvKiogU2hvdyBzdGFjayB0cmFjZSBpbiBvdXRwdXQgKi9cbiAgc2hvd1N0YWNrPzogYm9vbGVhbjtcbiAgLyoqIEFkZGl0aW9uYWwgaGludCBtZXNzYWdlIHRvIGRpc3BsYXkgKi9cbiAgaGludD86IHN0cmluZztcbiAgLyoqIEJhZGdlIHRleHQgdG8gZGlzcGxheSAoZS5nLiwgXCJERVYgTU9ERVwiKSAqL1xuICBiYWRnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZW5kZXIgYW4gSFRNTCBlcnJvciBwYWdlIGZvciBTU1IgZmFpbHVyZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckVycm9yUGFnZShcbiAgZXJyb3I6IHVua25vd24sXG4gIHVybDogc3RyaW5nLFxuICBzdGF0dXNDb2RlOiBudW1iZXIsXG4gIG9wdGlvbnM6IFJlbmRlckVycm9yUGFnZU9wdGlvbnMgPSB7fSxcbik6IHN0cmluZyB7XG4gIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKTtcbiAgY29uc3Qgc3RhY2sgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3Iuc3RhY2sgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHsgc2hvd1N0YWNrID0gZmFsc2UsIGhpbnQsIGJhZGdlIH0gPSBvcHRpb25zO1xuXG4gIHJldHVybiBgPCFET0NUWVBFIGh0bWw+XG48aHRtbCBsYW5nPVwiZW5cIj5cbjxoZWFkPlxuICA8bWV0YSBjaGFyc2V0PVwiVVRGLThcIj5cbiAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjBcIj5cbiAgPHRpdGxlPiR7c3RhdHVzQ29kZX0gLSBTZXJ2ZXIgRXJyb3I8L3RpdGxlPlxuICA8c3R5bGU+XG4gICAgKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuICAgIGJvZHkgeyBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7IGJhY2tncm91bmQ6ICMxYTFhMmU7IGNvbG9yOiAjZWVlOyBtaW4taGVpZ2h0OiAxMDB2aDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IDJyZW07IH1cbiAgICAuY29udGFpbmVyIHsgbWF4LXdpZHRoOiA4MDBweDsgd2lkdGg6IDEwMCU7IH1cbiAgICBoMSB7IGNvbG9yOiAjZmY2YjZiOyBmb250LXNpemU6IDIuNXJlbTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogIzRlY2RjNDsgY29sb3I6ICMxYTFhMmU7IHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOyBib3JkZXItcmFkaXVzOiA0cHg7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC51cmwgeyBjb2xvcjogIzg4ODsgZm9udC1zaXplOiAwLjlyZW07IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG4gICAgLm1lc3NhZ2UgeyBiYWNrZ3JvdW5kOiAjMTYyMTNlOyBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmZjZiNmI7IHBhZGRpbmc6IDFyZW0gMS41cmVtOyBib3JkZXItcmFkaXVzOiAwIDhweCA4cHggMDsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgLm1lc3NhZ2UgY29kZSB7IGNvbG9yOiAjZmY2YjZiOyBmb250LXNpemU6IDEuMXJlbTsgfVxuICAgIC5zdGFjayB7IGJhY2tncm91bmQ6ICMwZjBmMjM7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMS41cmVtOyBvdmVyZmxvdy14OiBhdXRvOyBmb250LWZhbWlseTogJ01vbmFjbycsICdNZW5sbycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAwLjg1cmVtOyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogI2FhYTsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG4gICAgLnJldHJ5IHsgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAgIC5yZXRyeSBhIHsgY29sb3I6ICM0ZWNkYzQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgcGFkZGluZzogMC43NXJlbSAxLjVyZW07IGJvcmRlcjogMnB4IHNvbGlkICM0ZWNkYzQ7IGJvcmRlci1yYWRpdXM6IDZweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgIC5yZXRyeSBhOmhvdmVyIHsgYmFja2dyb3VuZDogIzRlY2RjNDsgY29sb3I6ICMxYTFhMmU7IH1cbiAgICAuaGludCB7IG1hcmdpbi10b3A6IDEuNXJlbTsgY29sb3I6ICM4ODg7IGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gIDwvc3R5bGU+XG48L2hlYWQ+XG48Ym9keT5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICR7YmFkZ2UgPyBgPHNwYW4gY2xhc3M9XCJiYWRnZVwiPiR7ZXNjYXBlSHRtbChiYWRnZSl9PC9zcGFuPmAgOiAnJ31cbiAgICA8aDE+JHtzdGF0dXNDb2RlfSAtIFNlcnZlciBFcnJvcjwvaDE+XG4gICAgPHAgY2xhc3M9XCJ1cmxcIj5FcnJvciByZW5kZXJpbmc6ICR7ZXNjYXBlSHRtbCh1cmwpfTwvcD5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiPlxuICAgICAgPGNvZGU+JHtlc2NhcGVIdG1sKGVycm9yTWVzc2FnZSl9PC9jb2RlPlxuICAgIDwvZGl2PlxuICAgICR7c2hvd1N0YWNrICYmIHN0YWNrID8gYDxwcmUgY2xhc3M9XCJzdGFja1wiPiR7ZXNjYXBlSHRtbChzdGFjayl9PC9wcmU+YCA6ICcnfVxuICAgIDxkaXYgY2xhc3M9XCJyZXRyeVwiPlxuICAgICAgPGEgaHJlZj1cIiR7ZXNjYXBlSHRtbCh1cmwpfVwiPlJldHJ5PC9hPlxuICAgIDwvZGl2PlxuICAgICR7aGludCA/IGA8cCBjbGFzcz1cImhpbnRcIj4ke2VzY2FwZUh0bWwoaGludCl9PC9wPmAgOiAnJ31cbiAgPC9kaXY+XG48L2JvZHk+XG48L2h0bWw+YDtcbn1cbiIsImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB0eXBlIHsgSlNYIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyVG9QaXBlYWJsZVN0cmVhbSBhcyByZWFjdFJlbmRlciB9IGZyb20gJ3JlYWN0LWRvbS9zZXJ2ZXInO1xuXG5pbXBvcnQgeyBnZXRFcnJvclN0YXR1cyB9IGZyb20gJy4vc2NyaXB0cy9zc3JFcnJvckhhbmRsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBSZW5kZXIgfSBmcm9tICcuL3NjcmlwdHMvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbGF5U3BvdXRzKFxuICBzcG91dHM6IChwcm9wczogU2VydmVyUHJvcHMpID0+IFByb21pc2U8e1xuICAgIGFwcDogSlNYLkVsZW1lbnQ7XG4gIH0+LFxuICB7XG4gICAgdGltZW91dE1TID0gMTAwMDAsXG4gICAgb25FcnJvcixcbiAgfTogeyB0aW1lb3V0TVM/OiBudW1iZXI7IG9uRXJyb3I/OiAoZXJyb3I6IHVua25vd24pID0+IHZvaWQgfSA9IHt9LFxuKSB7XG4gIGNvbnN0IHJlbmRlcjogUmVuZGVyID0gYXN5bmMgKGNsaWVudE1hbmlmZXN0LCByZXEsIHJlcykgPT4ge1xuICAgIGNvbnN0IG5vbmNlID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDE2KS50b1N0cmluZygnYmFzZTY0Jyk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBhcHAgfSA9IGF3YWl0IHNwb3V0cyh7IGNsaWVudE1hbmlmZXN0LCByZXEsIHJlcywgbm9uY2UgfSk7XG5cbiAgICAgIGxldCBkaWRFcnJvciA9IGZhbHNlO1xuICAgICAgbGV0IGxhc3RFcnJvcjogdW5rbm93bjtcbiAgICAgIGNvbnN0IHsgcGlwZSwgYWJvcnQgfSA9IHJlYWN0UmVuZGVyKGFwcCwge1xuICAgICAgICBub25jZSxcbiAgICAgICAgLy9ib290c3RyYXBTY3JpcHRzOiBhc3NldHMuZmlsdGVyKGFzc2V0ID0+IGFzc2V0LmVuZHNXaXRoKCcuanMnKSksXG4gICAgICAgIG9uU2hlbGxSZWFkeSgpIHtcbiAgICAgICAgICAvL21hbmFnZXJzLmZvckVhY2gobWFuYWdlciA9PiBtYW5hZ2VyLmNsZWFudXAoKSk7XG4gICAgICAgICAgLy8gSWYgc29tZXRoaW5nIGVycm9yZWQgYmVmb3JlIHdlIHN0YXJ0ZWQgc3RyZWFtaW5nLCB3ZSBzZXQgdGhlIGVycm9yIGNvZGUgYXBwcm9wcmlhdGVseS5cbiAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IGRpZEVycm9yID8gZ2V0RXJyb3JTdGF0dXMobGFzdEVycm9yKSA6IDIwMDtcbiAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAndGV4dC9odG1sJyk7XG4gICAgICAgICAgcGlwZShyZXMpO1xuICAgICAgICB9LFxuICAgICAgICBvblNoZWxsRXJyb3IoZTogdW5rbm93bikge1xuICAgICAgICAgIGRpZEVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0RXJyb3IgPSBlO1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gZ2V0RXJyb3JTdGF0dXMoZSk7XG4gICAgICAgICAgcGlwZShyZXMpO1xuICAgICAgICB9LFxuICAgICAgICBvbkVycm9yKGU6IHVua25vd24pIHtcbiAgICAgICAgICBkaWRFcnJvciA9IHRydWU7XG4gICAgICAgICAgbGFzdEVycm9yID0gZTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gZ2V0RXJyb3JTdGF0dXMoZSk7XG4gICAgICAgICAgLy9waXBlKHJlcyk7IFJlbW92aW5nIHRoaXMgYXZvaWRzLCBcIlJlYWN0IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHBpcGluZyB0byBvbmUgd3JpdGFibGUgc3RyZWFtLlwiXG4gICAgICAgICAgaWYgKG9uRXJyb3IpIG9uRXJyb3IoZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIC8vIEFiYW5kb24gYW5kIHN3aXRjaCB0byBjbGllbnQgcmVuZGVyaW5nIGlmIGVub3VnaCB0aW1lIHBhc3Nlcy5cbiAgICAgIC8vIFRyeSBsb3dlcmluZyB0aGlzIHRvIHNlZSB0aGUgY2xpZW50IHJlY292ZXIuXG4gICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiAoYWJvcnQgYXMgYW55KShgVGltZW91dCBvZiAke3RpbWVvdXRNU31tcyBleGNlZWRlZGApLFxuICAgICAgICB0aW1lb3V0TVMsXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIGlmIChvbkVycm9yKSBvbkVycm9yKGUpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH07XG4gIHJldHVybiByZW5kZXI7XG59XG4iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcInJlYWN0XCIpOyIsImV4cG9ydCBpbnRlcmZhY2UgQ1NQb2xpY3kge1xuICBbZGlyZWN0aXZlOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuLy8gVE9ETzogbWVtb2l6ZSB0aGlzXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQb2xpY3kocG9saWN5T2JqOiBDU1BvbGljeSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMocG9saWN5T2JqKVxuICAgIC5tYXAoa2V5ID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgIEFycmF5LmlzQXJyYXkocG9saWN5T2JqW2tleV0pID9cbiAgICAgICAgICBbLi4ubmV3IFNldChwb2xpY3lPYmpba2V5XSkudmFsdWVzKCldLmZpbHRlcih2ID0+IHYpLmpvaW4oJyAnKVxuICAgICAgICA6IHBvbGljeU9ialtrZXldO1xuXG4gICAgICAvLyBtb3ZlIHN0cmljdCBkeW5hbWljIHRvIHRoZSBlbmQgb2YgdGhlIHBvbGljeSBpZiBpdCBleGlzdHMgdG8gYmUgYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCBjc3AyXG4gICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQ29udGVudC1TZWN1cml0eS1Qb2xpY3kvc2NyaXB0LXNyYyNzdHJpY3QtZHluYW1pY1xuICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnICYmIHZhbC5pbmNsdWRlcyhcIidzdHJpY3QtZHluYW1pYydcIikpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsID0gYCR7dmFsXG4gICAgICAgICAgLnJlcGxhY2UoL1xccz8nc3RyaWN0LWR5bmFtaWMnXFxzPy9naSwgJyAnKVxuICAgICAgICAgIC50cmltKCl9ICdzdHJpY3QtZHluYW1pYydgO1xuICAgICAgICByZXR1cm4gYCR7a2V5fSAke25ld1ZhbH1gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYCR7a2V5fSAke3ZhbH1gO1xuICAgIH0pXG4gICAgLmpvaW4oJzsgJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqb2luTm9uY2UocG9saWN5T2JqOiBDU1BvbGljeSwgbm9uY2U/OiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFub25jZSkgcmV0dXJuIHBvbGljeU9iajtcbiAgY29uc3QgcG9saWN5ID0ge1xuICAgIC4uLnBvbGljeU9iaixcbiAgfTtcbiAgaWYgKHR5cGVvZiBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9PT0gJ3N0cmluZycpIHtcbiAgICBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9IFtwb2xpY3lbJ3NjcmlwdC1zcmMnXSwgYCdub25jZS0ke25vbmNlfSdgXTtcbiAgfSBlbHNlIHtcbiAgICBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9IFsuLi5wb2xpY3lbJ3NjcmlwdC1zcmMnXSwgYCdub25jZS0ke25vbmNlfSdgXTtcbiAgfVxuICByZXR1cm4gcG9saWN5O1xufVxuIiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTsiLCJ0eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQgPSBkZWZhdWx0SGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQgPSAnYW5hbnNpLXJvb3QnLFxuICBjaGFyU2V0ID0gJ3V0Zi04JyxcbiAgc2NyaXB0cyA9IG51bGwsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5jb25zdCBkZWZhdWx0SGVhZCA9IChcbiAgPD5cbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgIDxsaW5rXG4gICAgICByZWw9XCJzaG9ydGN1dCBpY29uXCJcbiAgICAgIGhyZWY9e2Ake3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPz8gJy8nfWZhdmljb24uaWNvYH1cbiAgICAvPlxuICA8Lz5cbik7XG4iLCJpbXBvcnQgdHlwZSB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN0YXRzQ2h1bmtHcm91cCB9IGZyb20gJ3dlYnBhY2snO1xuXG5pbXBvcnQgeyBidWlsZFBvbGljeSwgam9pbk5vbmNlLCB0eXBlIENTUG9saWN5IH0gZnJvbSAnLi9jc3AuanMnO1xuaW1wb3J0IERvY3VtZW50IGZyb20gJy4vRG9jdW1lbnRDb21wb25lbnQuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZE5leHQgPSB7XG4gIG1hdGNoZWRSb3V0ZXM6IFJvdXRlPGFueT5bXTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbiAgZXh0cmFTdHlsZT86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IHsgdHlwZSBDU1BvbGljeSB9O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEb2N1bWVudFNwb3V0KG9wdGlvbnM6IHtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbiAgcm9vdElkPzogc3RyaW5nO1xuICBjaGFyU2V0Pzogc3RyaW5nO1xuICBjc1BvbGljeT86IENTUG9saWN5O1xufSk6IFNlcnZlclNwb3V0PFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgTmVlZGVkTmV4dD4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBwdWJsaWNQYXRoID0gcHJvcHMuY2xpZW50TWFuaWZlc3QucHVibGljUGF0aDtcblxuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzLmNsaWVudE1hbmlmZXN0Py5lbnRyeXBvaW50cyA/PyB7fSkubGVuZ3RoIDwgMSB8fFxuICAgICAgcHVibGljUGF0aCA9PT0gdW5kZWZpbmVkXG4gICAgKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYW5pZmVzdCBtaXNzaW5nIGVudHJpZXMgbmVlZGVkJyk7XG5cbiAgICAvLyBUT0RPOiBjb25zaWRlciB1c2luZyB0aGlzIHBhY2thZ2UgZm9yIGJ1aWxkIHN0YXRzIGluIGZ1dHVyZTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvdHJlZS9tYWluL3BhY2thZ2VzL3JlYWN0LXNlcnZlci1kb20td2VicGFja1xuICAgIGNvbnN0IGFzc2V0TWFwID0gKGFzc2V0czogeyBuYW1lOiBzdHJpbmc7IHNpemU/OiBudW1iZXIgfVtdKSA9PlxuICAgICAgYXNzZXRzLm1hcCgoeyBuYW1lIH0pID0+IGAke3B1YmxpY1BhdGh9JHtuYW1lfWApO1xuXG4gICAgY29uc3QgYXNzZXRMaXN0OiBzdHJpbmdbXSA9IFtdO1xuICAgIE9iamVjdC52YWx1ZXMocHJvcHMuY2xpZW50TWFuaWZlc3Q/LmVudHJ5cG9pbnRzID8/IHt9KS5mb3JFYWNoKFxuICAgICAgZW50cnlwb2ludCA9PiB7XG4gICAgICAgIGFzc2V0TGlzdC5wdXNoKC4uLmFzc2V0TWFwKGVudHJ5cG9pbnQuYXNzZXRzID8/IFtdKSk7XG4gICAgICB9LFxuICAgICk7XG4gICAgbmV3IFNldChcbiAgICAgIGFzc2V0TWFwKFxuICAgICAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Lm5hbWVkQ2h1bmtHcm91cHMgPz8ge30pXG4gICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+XG4gICAgICAgICAgICBuZXh0UHJvcHMubWF0Y2hlZFJvdXRlcy5zb21lKHJvdXRlID0+IG5hbWU/LmluY2x1ZGVzKHJvdXRlLm5hbWUpKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLmZsYXRNYXAoY2h1bmsgPT4gW1xuICAgICAgICAgICAgLi4uKGNodW5rLmFzc2V0cyA/PyBbXSksXG4gICAgICAgICAgICAvLyBhbnkgY2h1bmsgcHJlbG9hZHNcbiAgICAgICAgICAgIC4uLmNoaWxkcmVuQXNzZXRzKGNodW5rKSxcbiAgICAgICAgICBdKSxcbiAgICAgICksXG4gICAgKS5mb3JFYWNoKGFzc2V0ID0+IGFzc2V0TGlzdC5wdXNoKGFzc2V0KSk7XG5cbiAgICAvLyBmaW5kIGFkZGl0aW9uYWwgYXNzZXRzIHRvIHByZWxvYWQgYmFzZWQgb24gbWF0Y2hlZCByb3V0ZVxuICAgIGNvbnN0IGFzc2V0czoge1xuICAgICAgaHJlZjogc3RyaW5nO1xuICAgICAgYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICByZWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgfVtdID0gYXNzZXRMaXN0XG4gICAgICAuZmlsdGVyKGFzc2V0ID0+ICFhc3NldC5lbmRzV2l0aCgnLmhvdC11cGRhdGUuanMnKSlcbiAgICAgIC5tYXAoYXNzZXQgPT5cbiAgICAgICAgYXNzZXQuZW5kc1dpdGgoJy5jc3MnKSA/IHsgaHJlZjogYXNzZXQsIHJlbDogJ3N0eWxlc2hlZXQnIH1cbiAgICAgICAgOiBhc3NldC5lbmRzV2l0aCgnLmpzJykgPyB7IGhyZWY6IGFzc2V0LCBhczogJ3NjcmlwdCcgfVxuICAgICAgICA6IHsgaHJlZjogYXNzZXQgfSxcbiAgICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5jc1BvbGljeSkge1xuICAgICAgY29uc3QgaHR0cEVxdWl2ID1cbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyA/XG4gICAgICAgICAgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5J1xuICAgICAgICA6ICdDb250ZW50LVNlY3VyaXR5LVBvbGljeS1SZXBvcnQtT25seSc7XG5cbiAgICAgIHByb3BzLnJlcy5zZXRIZWFkZXIoXG4gICAgICAgIGh0dHBFcXVpdixcbiAgICAgICAgYnVpbGRQb2xpY3koam9pbk5vbmNlKG9wdGlvbnMuY3NQb2xpY3ksIHByb3BzLm5vbmNlKSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IChcbiAgICAgICAgPERvY3VtZW50XG4gICAgICAgICAgey4uLm9wdGlvbnN9XG4gICAgICAgICAgZXh0cmFTdHlsZT17bmV4dFByb3BzLmV4dHJhU3R5bGV9XG4gICAgICAgICAgdGl0bGU9e25leHRQcm9wcy50aXRsZSA/PyBvcHRpb25zLnRpdGxlfVxuICAgICAgICAgIGFzc2V0cz17YXNzZXRzfVxuICAgICAgICAgIHJvb3RJZD17b3B0aW9ucy5yb290SWR9XG4gICAgICAgICAgc2NyaXB0cz17bmV4dFByb3BzLnNjcmlwdHN9XG4gICAgICAgID5cbiAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgPC9Eb2N1bWVudD5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2hpbGRyZW5Bc3NldHMoY2h1bms6IFN0YXRzQ2h1bmtHcm91cCkge1xuICByZXR1cm4gY2h1bmsuY2hpbGRyZW4gP1xuICAgICAgT2JqZWN0LnZhbHVlcyhjaHVuay5jaGlsZHJlbikuZmxhdE1hcChwcmVsb2FkID0+XG4gICAgICAgIHByZWxvYWQuZmxhdE1hcChjID0+IGMuYXNzZXRzID8/IFtdKSxcbiAgICAgIClcbiAgICA6IFtdO1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDb250cm9sbGVyLFxuICB0eXBlIE1hbmFnZXIsXG4gIHR5cGUgU3RhdGUsXG4gIHR5cGUgU3RvcmUsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGF0YUNsaWVudFNwb3V0KFxuICBvcHRpb25zOiB7XG4gICAgZ2V0TWFuYWdlcnM/OiAoKSA9PiBNYW5hZ2VyW107XG4gIH0gPSB7fSxcbik6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgeyBjb250cm9sbGVyOiBDb250cm9sbGVyIH0gJiB7IHN0b3JlOiBTdG9yZTxTdGF0ZTx1bmtub3duPj4gfSxcbiAgeyBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+OyBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW10gfVxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBtYW5hZ2VycyA9IG9wdGlvbnM/LmdldE1hbmFnZXJzPy4oKSA/PyBbXG4gICAgICBuZXcgKGF3YWl0IGltcG9ydCgnQGRhdGEtY2xpZW50L3JlYWN0JykpLk5ldHdvcmtNYW5hZ2VyKCksXG4gICAgXTtcbiAgICBjb25zdCB7IGNyZWF0ZVBlcnNpc3RlZFN0b3JlIH0gPSBhd2FpdCBpbXBvcnQoJ0BkYXRhLWNsaWVudC9yZWFjdC9zc3InKTtcbiAgICBjb25zdCBbU2VydmVyRGF0YVByb3ZpZGVyLCB1c2VSZWFkeUNhY2hlU3RhdGUsIGNvbnRyb2xsZXIsIHN0b3JlXSA9XG4gICAgICBjcmVhdGVQZXJzaXN0ZWRTdG9yZShtYW5hZ2Vycyk7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBpbml0RGF0YToge1xuICAgICAgICAuLi5uZXh0UHJvcHMuaW5pdERhdGEsXG4gICAgICAgIGRhdGFjbGllbnQ6IHVzZVJlYWR5Q2FjaGVTdGF0ZSxcbiAgICAgIH0sXG4gICAgICBhcHA6IDxTZXJ2ZXJEYXRhUHJvdmlkZXI+e25leHRQcm9wcy5hcHB9PC9TZXJ2ZXJEYXRhUHJvdmlkZXI+LFxuICAgICAgLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gb25seSBpbmplY3QgaW4gbmV4dCBhbmQgbm90IGhhdmUgdG8gYWxzbyBwdXQgaGVyZVxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH07XG4gIH07XG59XG4iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcIkBhbmFuc2kvcm91dGVyXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiaGlzdG9yeVwiKTsiLCJpbXBvcnQgeyBSb3V0ZSwgUm91dGVQcm92aWRlciwgUm91dGVDb250cm9sbGVyIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSB9IGZyb20gJ2hpc3RvcnknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDcmVhdGVSb3V0ZXIsIFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJvdXRlclNwb3V0PFJlc29sdmVXaXRoPihvcHRpb25zOiB7XG4gIHJlc29sdmVXaXRoPzogYW55O1xuICB1c2VSZXNvbHZlV2l0aDogKCkgPT4gUmVzb2x2ZVdpdGg7XG4gIGNyZWF0ZVJvdXRlcjogQ3JlYXRlUm91dGVyPFJlc29sdmVXaXRoPjtcbn0pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHtcbiAgICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxSZXNvbHZlV2l0aD5bXTtcbiAgICBzZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtcztcbiAgfSAmIHtcbiAgICByb3V0ZXI6IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxSZXNvbHZlV2l0aCwgYW55Pj47XG4gIH1cbj4ge1xuICBjb25zdCBjcmVhdGVSb3V0ZUNvbXBvbmVudCA9IChcbiAgICByb3V0ZXI6IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxSZXNvbHZlV2l0aCwgYW55Pj4sXG4gICkgPT5cbiAgICBmdW5jdGlvbiBSb3V0ZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICAgICAgY29uc3QgcmVzb2x2ZVdpdGggPSBvcHRpb25zLnVzZVJlc29sdmVXaXRoKCk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxSb3V0ZVByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSByZXNvbHZlV2l0aD17cmVzb2x2ZVdpdGh9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9Sb3V0ZVByb3ZpZGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCB1cmwgPSBwcm9wcy5yZXEudXJsIHx8ICcnO1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCc/JywgMik7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJ0cy5sZW5ndGggPCAyID8gJycgOiBwYXJ0c1sxXSk7XG4gICAgY29uc3Qgcm91dGVyID0gb3B0aW9ucy5jcmVhdGVSb3V0ZXIoXG4gICAgICBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFt1cmxdIH0pLFxuICAgICk7XG4gICAgY29uc3QgbWF0Y2hlZFJvdXRlczogUm91dGU8UmVzb2x2ZVdpdGg+W10gPSByb3V0ZXIuZ2V0TWF0Y2hlZFJvdXRlcyh1cmwpO1xuXG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dCh7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIG1hdGNoZWRSb3V0ZXMsXG4gICAgICByb3V0ZXIsXG4gICAgICBzZWFyY2hQYXJhbXMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBSb3V0ZXIgPSBjcmVhdGVSb3V0ZUNvbXBvbmVudChyb3V0ZXIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogPFJvdXRlcj57bmV4dFByb3BzLmFwcH08L1JvdXRlcj4sXG4gICAgICAvLyBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBvbmx5IGluamVjdCBpbiBuZXh0IGFuZCBub3QgaGF2ZSB0byBhbHNvIHB1dCBoZXJlXG4gICAgICBtYXRjaGVkUm91dGVzLFxuICAgICAgcm91dGVyLFxuICAgICAgc2VhcmNoUGFyYW1zLFxuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ0BhbmFuc2kvcm91dGVyJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvbHZlUHJvcHMsIFNlcnZlclByb3BzIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkUHJvcHM8Um91dGVXaXRoPiA9IHtcbiAgbWF0Y2hlZFJvdXRlczogUm91dGU8Um91dGVXaXRoPltdO1xuICBzZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtcztcbn0gJiBSZXNvbHZlUHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHByZWZldGNoU3BvdXQ8RiBleHRlbmRzIHN0cmluZz4oZmllbGQ6IEYpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxcbiAgICBSb3V0ZVdpdGgsXG4gICAgTiBleHRlbmRzIE5lZWRlZFByb3BzPFJvdXRlV2l0aD4sXG4gICAgSSBleHRlbmRzIFNlcnZlclByb3BzLFxuICA+KFxuICAgIG5leHQ6IChwcm9wczogSSkgPT4gUHJvbWlzZTxcbiAgICAgIHtcbiAgICAgICAgW0sgaW4gRl06IFJvdXRlV2l0aDtcbiAgICAgIH0gJiBOXG4gICAgPixcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIChwcm9wczogSSkgPT4ge1xuICAgICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRvRmV0Y2g6IFByb21pc2U8dW5rbm93bj5bXSA9IFtdO1xuICAgICAgICBuZXh0UHJvcHMubWF0Y2hlZFJvdXRlcy5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgICAgICAvLyBQcmVsb2FkIGxhenkgY29tcG9uZW50IHNvIGl0J3MgcmVhZHkgZm9yIFNTUiByZW5kZXJcbiAgICAgICAgICBpZiAodHlwZW9mIHJvdXRlLmNvbXBvbmVudD8ucHJlbG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdG9GZXRjaC5wdXNoKHJvdXRlLmNvbXBvbmVudC5wcmVsb2FkKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIHJvdXRlLnJlc29sdmVEYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0b0ZldGNoLnB1c2goXG4gICAgICAgICAgICAgIHJvdXRlLnJlc29sdmVEYXRhKFxuICAgICAgICAgICAgICAgIG5leHRQcm9wc1tmaWVsZF0sXG4gICAgICAgICAgICAgICAgcm91dGUsXG4gICAgICAgICAgICAgICAgbmV4dFByb3BzLnNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwodG9GZXRjaCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dFByb3BzO1xuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgUmVhY3QsIHsgU3VzcGVuc2UgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG4vKiogU2VyaWFsaXplIGRhdGEgZm9yIHNhZmUgZW1iZWRkaW5nIGluIDxzY3JpcHQgdHlwZT1cImFwcGxpY2F0aW9uL2pzb25cIj4gdGFncy5cbiAqIC0gRXNjYXBlcyA8IHRvIHByZXZlbnQgPC9zY3JpcHQ+IGluamVjdGlvblxuICogLSBFc2NhcGVzIFUrMjAyOC9VKzIwMjkgbGluZSBzZXBhcmF0b3JzIGZvciBvbGRlciBicm93c2VyIGNvbXBhdGliaWxpdHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZUZvclNjcmlwdFRhZyhkYXRhOiB1bmtub3duKTogc3RyaW5nIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpXG4gICAgLnJlcGxhY2UoLzwvZywgJ1xcXFx1MDAzYycpXG4gICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcpXG4gICAgLnJlcGxhY2UoL1xcdTIwMjkvZywgJ1xcXFx1MjAyOScpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBKU09OU3BvdXQoe1xuICBpZCA9ICdhbmFuc2ktanNvbicsXG59OiB7IGlkPzogc3RyaW5nIH0gPSB7fSk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE5lZWRlZE5leHRcbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBzY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGVbXSA9IG5leHRQcm9wcy5zY3JpcHRzID8/IFtdO1xuXG4gICAgT2JqZWN0LmVudHJpZXMobmV4dFByb3BzLmluaXREYXRhID8/IHt9KS5mb3JFYWNoKChba2V5LCB1c2VEYXRhXSkgPT4ge1xuICAgICAgY29uc3QgZ2xvYmFsSWQgPSBgJHtpZH0uJHtrZXl9YDtcbiAgICAgIGNvbnN0IFNjcmlwdCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YTogYW55ID0gdXNlRGF0YSgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGVuY29kZWQgPSBzZXJpYWxpemVGb3JTY3JpcHRUYWcoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzY3JpcHRcbiAgICAgICAgICAgICAgaWQ9e2dsb2JhbElkfVxuICAgICAgICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBlbmNvZGVkLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBub25jZT17cHJvcHMubm9uY2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBUT0RPOiBVc2UgdW5pZmllZCBsb2dnaW5nXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igc2VyaWFsaXppbmcganNvbiBmb3IgJHtrZXl9YCk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNjcmlwdHMucHVzaChcbiAgICAgICAgPFN1c3BlbnNlIGtleT17Z2xvYmFsSWR9PlxuICAgICAgICAgIDxTY3JpcHQgLz5cbiAgICAgICAgPC9TdXNwZW5zZT4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiIsImltcG9ydCB0eXBlIHsgSlNYIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBhcHBTcG91dCA9XG4gIChhcHA6IEpTWC5FbGVtZW50KSA9PlxuICA8UCBleHRlbmRzIFNlcnZlclByb3BzPihwcm9wczogUCkgPT5cbiAgICBQcm9taXNlLnJlc29sdmUoeyAuLi5wcm9wcywgYXBwIH0pO1xuXG5leHBvcnQgZGVmYXVsdCBhcHBTcG91dDtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdG9yUHJvcGVydGllcyB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBOYXZpZ2F0b3JDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxOYXZpZ2F0b3JQcm9wZXJ0aWVzIHwgdW5kZWZpbmVkPihcbiAgdW5kZWZpbmVkLFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZU5hdmlnYXRvcigpOiBOYXZpZ2F0b3JQcm9wZXJ0aWVzIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTmF2aWdhdG9yQ29udGV4dCk7XG4gIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZU5hdmlnYXRvciBtdXN0IGJlIHVzZWQgd2l0aGluIGEgTmF2aWdhdG9yUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQWNjZXB0TGFuZ3VhZ2UoaGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlczogcmVhZG9ubHkgc3RyaW5nW107XG59IHtcbiAgaWYgKCFoZWFkZXIpIHtcbiAgICByZXR1cm4geyBsYW5ndWFnZTogJ2VuJywgbGFuZ3VhZ2VzOiBbJ2VuJ10gfTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IGhlYWRlclxuICAgIC5zcGxpdCgnLCcpXG4gICAgLm1hcChwYXJ0ID0+IHtcbiAgICAgIGNvbnN0IFtsYW5nLCBxUGFydF0gPSBwYXJ0LnRyaW0oKS5zcGxpdCgnOycpO1xuICAgICAgY29uc3QgcSA9IHFQYXJ0ID8gcGFyc2VGbG9hdChxUGFydC5yZXBsYWNlKCdxPScsICcnKSkgOiAxO1xuICAgICAgcmV0dXJuIHsgbGFuZzogbGFuZy50cmltKCksIHEgfTtcbiAgICB9KVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLnEgLSBhLnEpXG4gICAgLm1hcCgoeyBsYW5nIH0pID0+IGxhbmcpO1xuXG4gIHJldHVybiB7XG4gICAgbGFuZ3VhZ2U6IHBhcnNlZFswXSA/PyAnZW4nLFxuICAgIGxhbmd1YWdlczogcGFyc2VkLmxlbmd0aCA+IDAgPyBwYXJzZWQgOiBbJ2VuJ10sXG4gIH07XG59XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0b3JDb250ZXh0LCBwYXJzZUFjY2VwdExhbmd1YWdlIH0gZnJvbSAnLi9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5hdmlnYXRvclNwb3V0KCk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgeyBsYW5ndWFnZTogc3RyaW5nOyBsYW5ndWFnZXM6IHJlYWRvbmx5IHN0cmluZ1tdIH0sXG4gIE5lZWRlZE5leHRcbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgYWNjZXB0TGFuZ3VhZ2UgPSBwcm9wcy5yZXEuaGVhZGVyc1snYWNjZXB0LWxhbmd1YWdlJ107XG4gICAgY29uc3QgaGVhZGVyID1cbiAgICAgIHR5cGVvZiBhY2NlcHRMYW5ndWFnZSA9PT0gJ3N0cmluZycgPyBhY2NlcHRMYW5ndWFnZSA6IGFjY2VwdExhbmd1YWdlPy5bMF07XG4gICAgY29uc3QgbmF2aWdhdG9yUHJvcHMgPSBwYXJzZUFjY2VwdExhbmd1YWdlKGhlYWRlcik7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgLi4ubmF2aWdhdG9yUHJvcHMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgLi4ubmF2aWdhdG9yUHJvcHMsXG4gICAgICBpbml0RGF0YToge1xuICAgICAgICAuLi5uZXh0UHJvcHMuaW5pdERhdGEsXG4gICAgICAgIG5hdmlnYXRvcjogKCkgPT4gbmF2aWdhdG9yUHJvcHMsXG4gICAgICB9LFxuICAgICAgYXBwOiAoXG4gICAgICAgIDxOYXZpZ2F0b3JDb250ZXh0IHZhbHVlPXtuYXZpZ2F0b3JQcm9wc30+XG4gICAgICAgICAge25leHRQcm9wcy5hcHB9XG4gICAgICAgIDwvTmF2aWdhdG9yQ29udGV4dD5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgbGF5U3BvdXRzIH0gZnJvbSAnLi9sYXlTcG91dHMuanMnO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyBkb2N1bWVudFNwb3V0LFxuICB0eXBlIENTUG9saWN5LFxufSBmcm9tICcuL3Nwb3V0cy9kb2N1bWVudC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkYXRhQ2xpZW50U3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9kYXRhQ2xpZW50LnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJvdXRlclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcm91dGVyLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHByZWZldGNoU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBKU09OU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9qc29uLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvYXBwLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5hdmlnYXRvclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLnNlcnZlci5qcyc7XG5leHBvcnQgeyB1c2VOYXZpZ2F0b3IgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5leHBvcnQgdHlwZSB7IE5hdmlnYXRvclByb3BlcnRpZXMgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5leHBvcnQgdHlwZSB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuZXhwb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCBhcyBTcG91dCB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc2NyaXB0cy90eXBlcy5qcyc7XG4iXSwibmFtZXMiOlsiZ2V0RXJyb3JTdGF0dXMiLCJlcnJvciIsInN0YXR1cyIsInBhcnNlZCIsInBhcnNlSW50IiwiaXNOYU4iLCJlc2NhcGVIdG1sIiwic3RyIiwicmVwbGFjZSIsInJlbmRlckVycm9yUGFnZSIsInVybCIsInN0YXR1c0NvZGUiLCJvcHRpb25zIiwiZXJyb3JNZXNzYWdlIiwiRXJyb3IiLCJtZXNzYWdlIiwiU3RyaW5nIiwic3RhY2siLCJ1bmRlZmluZWQiLCJzaG93U3RhY2siLCJoaW50IiwiYmFkZ2UiLCJjcnlwdG8iLCJyZW5kZXJUb1BpcGVhYmxlU3RyZWFtIiwicmVhY3RSZW5kZXIiLCJsYXlTcG91dHMiLCJzcG91dHMiLCJ0aW1lb3V0TVMiLCJvbkVycm9yIiwicmVuZGVyIiwiY2xpZW50TWFuaWZlc3QiLCJyZXEiLCJyZXMiLCJub25jZSIsInJhbmRvbUJ5dGVzIiwidG9TdHJpbmciLCJhcHAiLCJkaWRFcnJvciIsImxhc3RFcnJvciIsInBpcGUiLCJhYm9ydCIsIm9uU2hlbGxSZWFkeSIsInNldEhlYWRlciIsIm9uU2hlbGxFcnJvciIsImUiLCJjb25zb2xlIiwic2V0VGltZW91dCIsImJ1aWxkUG9saWN5IiwicG9saWN5T2JqIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbCIsIkFycmF5IiwiaXNBcnJheSIsIlNldCIsInZhbHVlcyIsImZpbHRlciIsInYiLCJqb2luIiwiaW5jbHVkZXMiLCJuZXdWYWwiLCJ0cmltIiwiam9pbk5vbmNlIiwicG9saWN5IiwiRG9jdW1lbnQiLCJhc3NldHMiLCJoZWFkIiwiZGVmYXVsdEhlYWQiLCJjaGlsZHJlbiIsInRpdGxlIiwicm9vdElkIiwiY2hhclNldCIsInNjcmlwdHMiLCJleHRyYVN0eWxlIiwibGFuZyIsIl9qc3hzIiwiX2pzeCIsImFzc2V0IiwiaSIsInJlbCIsImlkIiwiaHJlZiIsImVuZHNXaXRoIiwic3JjIiwiYXN5bmMiLCJfRnJhZ21lbnQiLCJuYW1lIiwiY29udGVudCIsInByb2Nlc3MiLCJlbnYiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwiUmVhY3QiLCJqc3giLCJEb2N1bWVudFNwb3V0IiwibmV4dCIsInByb3BzIiwibmV4dFByb3BzIiwicHVibGljUGF0aCIsImVudHJ5cG9pbnRzIiwibGVuZ3RoIiwiYXNzZXRNYXAiLCJhc3NldExpc3QiLCJmb3JFYWNoIiwiZW50cnlwb2ludCIsInB1c2giLCJuYW1lZENodW5rR3JvdXBzIiwibWF0Y2hlZFJvdXRlcyIsInNvbWUiLCJyb3V0ZSIsImZsYXRNYXAiLCJjaHVuayIsImNoaWxkcmVuQXNzZXRzIiwiYXMiLCJjc1BvbGljeSIsImh0dHBFcXVpdiIsIk5PREVfRU5WIiwicHJlbG9hZCIsImMiLCJkYXRhQ2xpZW50U3BvdXQiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiTmV0d29ya01hbmFnZXIiLCJjcmVhdGVQZXJzaXN0ZWRTdG9yZSIsIlNlcnZlckRhdGFQcm92aWRlciIsInVzZVJlYWR5Q2FjaGVTdGF0ZSIsImNvbnRyb2xsZXIiLCJzdG9yZSIsImluaXREYXRhIiwiZGF0YWNsaWVudCIsIlJvdXRlUHJvdmlkZXIiLCJjcmVhdGVNZW1vcnlIaXN0b3J5Iiwicm91dGVyU3BvdXQiLCJjcmVhdGVSb3V0ZUNvbXBvbmVudCIsInJvdXRlciIsIlJvdXRlciIsInJlc29sdmVXaXRoIiwidXNlUmVzb2x2ZVdpdGgiLCJwYXJ0cyIsInNwbGl0Iiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiY3JlYXRlUm91dGVyIiwiaW5pdGlhbEVudHJpZXMiLCJnZXRNYXRjaGVkUm91dGVzIiwicHJlZmV0Y2hTcG91dCIsImZpZWxkIiwidG9GZXRjaCIsImNvbXBvbmVudCIsInJlc29sdmVEYXRhIiwiUHJvbWlzZSIsImFsbCIsIlN1c3BlbnNlIiwic2VyaWFsaXplRm9yU2NyaXB0VGFnIiwiZGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJKU09OU3BvdXQiLCJlbnRyaWVzIiwidXNlRGF0YSIsImdsb2JhbElkIiwiU2NyaXB0IiwiZW5jb2RlZCIsInR5cGUiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImFwcFNwb3V0IiwicmVzb2x2ZSIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDb250ZXh0IiwiTmF2aWdhdG9yQ29udGV4dCIsInVzZU5hdmlnYXRvciIsImNvbnRleHQiLCJwYXJzZUFjY2VwdExhbmd1YWdlIiwiaGVhZGVyIiwibGFuZ3VhZ2UiLCJsYW5ndWFnZXMiLCJwYXJ0IiwicVBhcnQiLCJxIiwicGFyc2VGbG9hdCIsInNvcnQiLCJhIiwiYiIsIm5hdmlnYXRvclNwb3V0IiwiYWNjZXB0TGFuZ3VhZ2UiLCJoZWFkZXJzIiwibmF2aWdhdG9yUHJvcHMiLCJuYXZpZ2F0b3IiLCJ2YWx1ZSIsImRlZmF1bHQiLCJkb2N1bWVudFNwb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==
@@ -1,3 +1,4 @@
1
+ import _JSON$parse from "core-js-pure/stable/json/parse.js";
1
2
  export default function JSONSpout({
2
3
  id = 'anansi-json'
3
4
  } = {}) {
@@ -31,11 +32,11 @@ function getDataFromEl(el, key) {
31
32
  }
32
33
  if (!(el != null && el.text)) return undefined;
33
34
  try {
34
- return JSON.parse(el.text);
35
+ return _JSON$parse(el.text);
35
36
  } catch (error) {
36
37
  console.error(`Failed to parse JSON for #${key}:`, error);
37
38
  console.error('Text content:', el.text);
38
39
  return undefined;
39
40
  }
40
41
  }
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJKU09OU3BvdXQiLCJpZCIsIm5leHQiLCJwcm9wcyIsImdldEluaXRpYWxEYXRhIiwia2V5IiwiZ2xvYmFsSWQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVsIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImdldERhdGFGcm9tRWwiLCJhZGRFdmVudExpc3RlbmVyIiwiRXJyb3IiLCJ0ZXh0IiwidW5kZWZpbmVkIiwiY29uc29sZSIsImVycm9yIiwiSlNPTiIsInBhcnNlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9qc29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENsaWVudFNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEpTT05TcG91dCh7XG4gIGlkID0gJ2FuYW5zaS1qc29uJyxcbn06IHsgaWQ/OiBzdHJpbmcgfSA9IHt9KTogQ2xpZW50U3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICB7IGdldEluaXRpYWxEYXRhOiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8YW55PiB9XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IGdldEluaXRpYWxEYXRhID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBnbG9iYWxJZCA9IGAke2lkfS4ke2tleX1gO1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBsZXQgZWw6IEhUTUxTY3JpcHRFbGVtZW50IHwgbnVsbDtcbiAgICAgICAgaWYgKChlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGdsb2JhbElkKSBhcyBhbnkpKSB7XG4gICAgICAgICAgcmVzb2x2ZShnZXREYXRhRnJvbUVsKGVsLCBnbG9iYWxJZCkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge1xuICAgICAgICAgIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZ2xvYmFsSWQpIGFzIGFueTtcbiAgICAgICAgICBpZiAoZWwpIHJlc29sdmUoZ2V0RGF0YUZyb21FbChlbCwgZ2xvYmFsSWQpKTtcbiAgICAgICAgICBlbHNlIHJlamVjdChuZXcgRXJyb3IoYGZhaWxlZCB0byBmaW5kIERPTSB3aXRoICR7a2V5fSBzdGF0ZWApKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9O1xuICAgIHJldHVybiB7IC4uLihhd2FpdCBuZXh0KHsgLi4ucHJvcHMsIGdldEluaXRpYWxEYXRhIH0pKSwgZ2V0SW5pdGlhbERhdGEgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RGF0YUZyb21FbChlbDogSFRNTFNjcmlwdEVsZW1lbnQsIGtleTogc3RyaW5nKSB7XG4gIGlmIChlbC50ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYCMke2tleX0gaXMgY29tcGxldGVseSBlbXB0eS4gVGhpcyBjb3VsZCBiZSBkdWUgdG8gQ1NQIGlzc3Vlcy5gLFxuICAgICk7XG4gIH1cbiAgaWYgKCFlbD8udGV4dCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShlbC50ZXh0KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gcGFyc2UgSlNPTiBmb3IgIyR7a2V5fTpgLCBlcnJvcik7XG4gICAgY29uc29sZS5lcnJvcignVGV4dCBjb250ZW50OicsIGVsLnRleHQpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZSxTQUFTQSxTQUFTQSxDQUFDO0VBQ2hDQyxFQUFFLEdBQUc7QUFDVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBR3JCO0VBQ0EsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUM1QixNQUFNQyxjQUFjLEdBQUlDLEdBQVcsSUFBSztNQUN0QyxNQUFNQyxRQUFRLEdBQUcsR0FBR0wsRUFBRSxJQUFJSSxHQUFHLEVBQUU7TUFDL0IsT0FBTyxJQUFJRSxPQUFPLENBQU0sQ0FBQ0MsT0FBTyxFQUFFQyxNQUFNLEtBQUs7UUFDM0MsSUFBSUMsRUFBNEI7UUFDaEMsSUFBS0EsRUFBRSxHQUFHQyxRQUFRLENBQUNDLGNBQWMsQ0FBQ04sUUFBUSxDQUFRLEVBQUc7VUFDbkRFLE9BQU8sQ0FBQ0ssYUFBYSxDQUFDSCxFQUFFLEVBQUVKLFFBQVEsQ0FBQyxDQUFDO1VBQ3BDO1FBQ0Y7UUFDQUssUUFBUSxDQUFDRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNO1VBQ2xESixFQUFFLEdBQUdDLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDTixRQUFRLENBQVE7VUFDN0MsSUFBSUksRUFBRSxFQUFFRixPQUFPLENBQUNLLGFBQWEsQ0FBQ0gsRUFBRSxFQUFFSixRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQ3hDRyxNQUFNLENBQUMsSUFBSU0sS0FBSyxDQUFDLDJCQUEyQlYsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUM7TUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTztNQUFFLElBQUksTUFBTUgsSUFBSSxDQUFDO1FBQUUsR0FBR0MsS0FBSztRQUFFQztNQUFlLENBQUMsQ0FBQyxDQUFDO01BQUVBO0lBQWUsQ0FBQztFQUMxRSxDQUFDO0FBQ0g7QUFFQSxTQUFTUyxhQUFhQSxDQUFDSCxFQUFxQixFQUFFTCxHQUFXLEVBQUU7RUFDekQsSUFBSUssRUFBRSxDQUFDTSxJQUFJLEtBQUtDLFNBQVMsRUFBRTtJQUN6QkMsT0FBTyxDQUFDQyxLQUFLLENBQ1gsSUFBSWQsR0FBRyx3REFDVCxDQUFDO0VBQ0g7RUFDQSxJQUFJLEVBQUNLLEVBQUUsWUFBRkEsRUFBRSxDQUFFTSxJQUFJLEdBQUUsT0FBT0MsU0FBUztFQUMvQixJQUFJO0lBQ0YsT0FBT0csSUFBSSxDQUFDQyxLQUFLLENBQUNYLEVBQUUsQ0FBQ00sSUFBSSxDQUFDO0VBQzVCLENBQUMsQ0FBQyxPQUFPRyxLQUFLLEVBQUU7SUFDZEQsT0FBTyxDQUFDQyxLQUFLLENBQUMsNkJBQTZCZCxHQUFHLEdBQUcsRUFBRWMsS0FBSyxDQUFDO0lBQ3pERCxPQUFPLENBQUNDLEtBQUssQ0FBQyxlQUFlLEVBQUVULEVBQUUsQ0FBQ00sSUFBSSxDQUFDO0lBQ3ZDLE9BQU9DLFNBQVM7RUFDbEI7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJKU09OU3BvdXQiLCJpZCIsIm5leHQiLCJwcm9wcyIsImdldEluaXRpYWxEYXRhIiwia2V5IiwiZ2xvYmFsSWQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVsIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImdldERhdGFGcm9tRWwiLCJhZGRFdmVudExpc3RlbmVyIiwiRXJyb3IiLCJ0ZXh0IiwidW5kZWZpbmVkIiwiY29uc29sZSIsImVycm9yIiwiX0pTT04kcGFyc2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2pzb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2xpZW50U3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSlNPTlNwb3V0KHtcbiAgaWQgPSAnYW5hbnNpLWpzb24nLFxufTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBDbGllbnRTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHsgZ2V0SW5pdGlhbERhdGE6IChrZXk6IHN0cmluZykgPT4gUHJvbWlzZTxhbnk+IH1cbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgZ2V0SW5pdGlhbERhdGEgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbElkID0gYCR7aWR9LiR7a2V5fWA7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxldCBlbDogSFRNTFNjcmlwdEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBpZiAoKGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZ2xvYmFsSWQpIGFzIGFueSkpIHtcbiAgICAgICAgICByZXNvbHZlKGdldERhdGFGcm9tRWwoZWwsIGdsb2JhbElkKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7XG4gICAgICAgICAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChnbG9iYWxJZCkgYXMgYW55O1xuICAgICAgICAgIGlmIChlbCkgcmVzb2x2ZShnZXREYXRhRnJvbUVsKGVsLCBnbG9iYWxJZCkpO1xuICAgICAgICAgIGVsc2UgcmVqZWN0KG5ldyBFcnJvcihgZmFpbGVkIHRvIGZpbmQgRE9NIHdpdGggJHtrZXl9IHN0YXRlYCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgcmV0dXJuIHsgLi4uKGF3YWl0IG5leHQoeyAuLi5wcm9wcywgZ2V0SW5pdGlhbERhdGEgfSkpLCBnZXRJbml0aWFsRGF0YSB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXREYXRhRnJvbUVsKGVsOiBIVE1MU2NyaXB0RWxlbWVudCwga2V5OiBzdHJpbmcpIHtcbiAgaWYgKGVsLnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgIyR7a2V5fSBpcyBjb21wbGV0ZWx5IGVtcHR5LiBUaGlzIGNvdWxkIGJlIGR1ZSB0byBDU1AgaXNzdWVzLmAsXG4gICAgKTtcbiAgfVxuICBpZiAoIWVsPy50ZXh0KSByZXR1cm4gdW5kZWZpbmVkO1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGVsLnRleHQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBwYXJzZSBKU09OIGZvciAjJHtrZXl9OmAsIGVycm9yKTtcbiAgICBjb25zb2xlLmVycm9yKCdUZXh0IGNvbnRlbnQ6JywgZWwudGV4dCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBRUEsZUFBZSxTQUFTQSxTQUFTQSxDQUFDO0VBQ2hDQyxFQUFFLEdBQUc7QUFDVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBR3JCO0VBQ0EsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUM1QixNQUFNQyxjQUFjLEdBQUlDLEdBQVcsSUFBSztNQUN0QyxNQUFNQyxRQUFRLEdBQUcsR0FBR0wsRUFBRSxJQUFJSSxHQUFHLEVBQUU7TUFDL0IsT0FBTyxJQUFJRSxPQUFPLENBQU0sQ0FBQ0MsT0FBTyxFQUFFQyxNQUFNLEtBQUs7UUFDM0MsSUFBSUMsRUFBNEI7UUFDaEMsSUFBS0EsRUFBRSxHQUFHQyxRQUFRLENBQUNDLGNBQWMsQ0FBQ04sUUFBUSxDQUFRLEVBQUc7VUFDbkRFLE9BQU8sQ0FBQ0ssYUFBYSxDQUFDSCxFQUFFLEVBQUVKLFFBQVEsQ0FBQyxDQUFDO1VBQ3BDO1FBQ0Y7UUFDQUssUUFBUSxDQUFDRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNO1VBQ2xESixFQUFFLEdBQUdDLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDTixRQUFRLENBQVE7VUFDN0MsSUFBSUksRUFBRSxFQUFFRixPQUFPLENBQUNLLGFBQWEsQ0FBQ0gsRUFBRSxFQUFFSixRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQ3hDRyxNQUFNLENBQUMsSUFBSU0sS0FBSyxDQUFDLDJCQUEyQlYsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUM7TUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTztNQUFFLElBQUksTUFBTUgsSUFBSSxDQUFDO1FBQUUsR0FBR0MsS0FBSztRQUFFQztNQUFlLENBQUMsQ0FBQyxDQUFDO01BQUVBO0lBQWUsQ0FBQztFQUMxRSxDQUFDO0FBQ0g7QUFFQSxTQUFTUyxhQUFhQSxDQUFDSCxFQUFxQixFQUFFTCxHQUFXLEVBQUU7RUFDekQsSUFBSUssRUFBRSxDQUFDTSxJQUFJLEtBQUtDLFNBQVMsRUFBRTtJQUN6QkMsT0FBTyxDQUFDQyxLQUFLLENBQ1gsSUFBSWQsR0FBRyx3REFDVCxDQUFDO0VBQ0g7RUFDQSxJQUFJLEVBQUNLLEVBQUUsWUFBRkEsRUFBRSxDQUFFTSxJQUFJLEdBQUUsT0FBT0MsU0FBUztFQUMvQixJQUFJO0lBQ0YsT0FBT0csV0FBQSxDQUFXVixFQUFFLENBQUNNLElBQUksQ0FBQztFQUM1QixDQUFDLENBQUMsT0FBT0csS0FBSyxFQUFFO0lBQ2RELE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDZCQUE2QmQsR0FBRyxHQUFHLEVBQUVjLEtBQUssQ0FBQztJQUN6REQsT0FBTyxDQUFDQyxLQUFLLENBQUMsZUFBZSxFQUFFVCxFQUFFLENBQUNNLElBQUksQ0FBQztJQUN2QyxPQUFPQyxTQUFTO0VBQ2xCO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,3 +1,4 @@
1
+ import _JSON$stringify from "core-js-pure/stable/json/stringify.js";
1
2
  import React, { Suspense } from 'react';
2
3
  import { jsx as _jsx } from "react/jsx-runtime";
3
4
  /** Serialize data for safe embedding in <script type="application/json"> tags.
@@ -5,7 +6,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
6
  * - Escapes U+2028/U+2029 line separators for older browser compatibility
6
7
  */
7
8
  export function serializeForScriptTag(data) {
8
- return JSON.stringify(data).replace(/</g, '\\u003c').replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029');
9
+ return _JSON$stringify(data).replace(/</g, '\\u003c').replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029');
9
10
  }
10
11
  export default function JSONSpout({
11
12
  id = 'anansi-json'
@@ -45,4 +46,4 @@ export default function JSONSpout({
45
46
  };
46
47
  };
47
48
  }
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlN1c3BlbnNlIiwianN4IiwiX2pzeCIsInNlcmlhbGl6ZUZvclNjcmlwdFRhZyIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicmVwbGFjZSIsIkpTT05TcG91dCIsImlkIiwibmV4dCIsInByb3BzIiwiX25leHRQcm9wcyRzY3JpcHRzIiwiX25leHRQcm9wcyRpbml0RGF0YSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaW5pdERhdGEiLCJmb3JFYWNoIiwia2V5IiwidXNlRGF0YSIsImdsb2JhbElkIiwiU2NyaXB0IiwiZW5jb2RlZCIsInR5cGUiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIm5vbmNlIiwiZSIsImNvbnNvbGUiLCJlcnJvciIsInB1c2giLCJjaGlsZHJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcG91dHMvanNvbi5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBTdXNwZW5zZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZE5leHQgPSB7XG4gIGluaXREYXRhPzogUmVjb3JkPHN0cmluZywgKCkgPT4gdW5rbm93bj47XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbi8qKiBTZXJpYWxpemUgZGF0YSBmb3Igc2FmZSBlbWJlZGRpbmcgaW4gPHNjcmlwdCB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiPiB0YWdzLlxuICogLSBFc2NhcGVzIDwgdG8gcHJldmVudCA8L3NjcmlwdD4gaW5qZWN0aW9uXG4gKiAtIEVzY2FwZXMgVSsyMDI4L1UrMjAyOSBsaW5lIHNlcGFyYXRvcnMgZm9yIG9sZGVyIGJyb3dzZXIgY29tcGF0aWJpbGl0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplRm9yU2NyaXB0VGFnKGRhdGE6IHVua25vd24pOiBzdHJpbmcge1xuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSlcbiAgICAucmVwbGFjZSgvPC9nLCAnXFxcXHUwMDNjJylcbiAgICAucmVwbGFjZSgvXFx1MjAyOC9nLCAnXFxcXHUyMDI4JylcbiAgICAucmVwbGFjZSgvXFx1MjAyOS9nLCAnXFxcXHUyMDI5Jyk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEpTT05TcG91dCh7XG4gIGlkID0gJ2FuYW5zaS1qc29uJyxcbn06IHsgaWQ/OiBzdHJpbmcgfSA9IHt9KTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgTmVlZGVkTmV4dFxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgIGNvbnN0IHNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZVtdID0gbmV4dFByb3BzLnNjcmlwdHMgPz8gW107XG5cbiAgICBPYmplY3QuZW50cmllcyhuZXh0UHJvcHMuaW5pdERhdGEgPz8ge30pLmZvckVhY2goKFtrZXksIHVzZURhdGFdKSA9PiB7XG4gICAgICBjb25zdCBnbG9iYWxJZCA9IGAke2lkfS4ke2tleX1gO1xuICAgICAgY29uc3QgU2NyaXB0ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSB1c2VEYXRhKCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZW5jb2RlZCA9IHNlcmlhbGl6ZUZvclNjcmlwdFRhZyhkYXRhKTtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPHNjcmlwdFxuICAgICAgICAgICAgICBpZD17Z2xvYmFsSWR9XG4gICAgICAgICAgICAgIHR5cGU9XCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgICAgICBfX2h0bWw6IGVuY29kZWQsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG5vbmNlPXtwcm9wcy5ub25jZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIFRPRE86IFVzZSB1bmlmaWVkIGxvZ2dpbmdcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBzZXJpYWxpemluZyBqc29uIGZvciAke2tleX1gKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgc2NyaXB0cy5wdXNoKFxuICAgICAgICA8U3VzcGVuc2Uga2V5PXtnbG9iYWxJZH0+XG4gICAgICAgICAgPFNjcmlwdCAvPlxuICAgICAgICA8L1N1c3BlbnNlPixcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgc2NyaXB0cyxcbiAgICB9O1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLElBQUlDLFFBQVEsUUFBUSxPQUFPO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBU3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTQyxxQkFBcUJBLENBQUNDLElBQWEsRUFBVTtFQUMzRCxPQUFPQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0YsSUFBSSxDQUFDLENBQ3hCRyxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUN4QkEsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FDN0JBLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO0FBQ2xDO0FBRUEsZUFBZSxTQUFTQyxTQUFTQSxDQUFDO0VBQ2hDQyxFQUFFLEdBQUc7QUFDVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBSXJCO0VBQ0EsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUFBLElBQUFDLGtCQUFBLEVBQUFDLG1CQUFBO0lBQzVCLE1BQU1DLFNBQVMsR0FBRyxNQUFNSixJQUFJLENBQUNDLEtBQUssQ0FBQztJQUVuQyxNQUFNSSxPQUEwQixJQUFBSCxrQkFBQSxHQUFHRSxTQUFTLENBQUNDLE9BQU8sWUFBQUgsa0JBQUEsR0FBSSxFQUFFO0lBRTFESSxNQUFNLENBQUNDLE9BQU8sRUFBQUosbUJBQUEsR0FBQ0MsU0FBUyxDQUFDSSxRQUFRLFlBQUFMLG1CQUFBLEdBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ00sT0FBTyxDQUFDLENBQUMsQ0FBQ0MsR0FBRyxFQUFFQyxPQUFPLENBQUMsS0FBSztNQUNuRSxNQUFNQyxRQUFRLEdBQUcsR0FBR2IsRUFBRSxJQUFJVyxHQUFHLEVBQUU7TUFDL0IsTUFBTUcsTUFBTSxHQUFHQSxDQUFBLEtBQU07UUFDbkIsTUFBTW5CLElBQVMsR0FBR2lCLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUk7VUFDRixNQUFNRyxPQUFPLEdBQUdyQixxQkFBcUIsQ0FBQ0MsSUFBSSxDQUFDO1VBQzNDLG9CQUNFRixJQUFBO1lBQ0VPLEVBQUUsRUFBRWEsUUFBUztZQUNiRyxJQUFJLEVBQUMsa0JBQWtCO1lBQ3ZCQyx1QkFBdUIsRUFBRTtjQUN2QkMsTUFBTSxFQUFFSDtZQUNWLENBQUU7WUFDRkksS0FBSyxFQUFFakIsS0FBSyxDQUFDaUI7VUFBTSxDQUNwQixDQUFDO1FBRU4sQ0FBQyxDQUFDLE9BQU9DLENBQUMsRUFBRTtVQUNWO1VBQ0FDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDhCQUE4QlgsR0FBRyxFQUFFLENBQUM7VUFDbERVLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUM7VUFDaEIsT0FBTyxJQUFJO1FBQ2I7TUFDRixDQUFDO01BQ0RkLE9BQU8sQ0FBQ2lCLElBQUksY0FDVjlCLElBQUEsQ0FBQ0YsUUFBUTtRQUFBaUMsUUFBQSxlQUNQL0IsSUFBQSxDQUFDcUIsTUFBTSxJQUFFO01BQUMsR0FER0QsUUFFTCxDQUNaLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixPQUFPO01BQ0wsR0FBR1IsU0FBUztNQUNaQztJQUNGLENBQUM7RUFDSCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlN1c3BlbnNlIiwianN4IiwiX2pzeCIsInNlcmlhbGl6ZUZvclNjcmlwdFRhZyIsImRhdGEiLCJfSlNPTiRzdHJpbmdpZnkiLCJyZXBsYWNlIiwiSlNPTlNwb3V0IiwiaWQiLCJuZXh0IiwicHJvcHMiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJfbmV4dFByb3BzJGluaXREYXRhIiwibmV4dFByb3BzIiwic2NyaXB0cyIsIk9iamVjdCIsImVudHJpZXMiLCJpbml0RGF0YSIsImZvckVhY2giLCJrZXkiLCJ1c2VEYXRhIiwiZ2xvYmFsSWQiLCJTY3JpcHQiLCJlbmNvZGVkIiwidHlwZSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibm9uY2UiLCJlIiwiY29uc29sZSIsImVycm9yIiwicHVzaCIsImNoaWxkcmVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9qc29uLnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuLyoqIFNlcmlhbGl6ZSBkYXRhIGZvciBzYWZlIGVtYmVkZGluZyBpbiA8c2NyaXB0IHR5cGU9XCJhcHBsaWNhdGlvbi9qc29uXCI+IHRhZ3MuXG4gKiAtIEVzY2FwZXMgPCB0byBwcmV2ZW50IDwvc2NyaXB0PiBpbmplY3Rpb25cbiAqIC0gRXNjYXBlcyBVKzIwMjgvVSsyMDI5IGxpbmUgc2VwYXJhdG9ycyBmb3Igb2xkZXIgYnJvd3NlciBjb21wYXRpYmlsaXR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVGb3JTY3JpcHRUYWcoZGF0YTogdW5rbm93bik6IHN0cmluZyB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKVxuICAgIC5yZXBsYWNlKC88L2csICdcXFxcdTAwM2MnKVxuICAgIC5yZXBsYWNlKC9cXHUyMDI4L2csICdcXFxcdTIwMjgnKVxuICAgIC5yZXBsYWNlKC9cXHUyMDI5L2csICdcXFxcdTIwMjknKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSlNPTlNwb3V0KHtcbiAgaWQgPSAnYW5hbnNpLWpzb24nLFxufTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIE9iamVjdC5lbnRyaWVzKG5leHRQcm9wcy5pbml0RGF0YSA/PyB7fSkuZm9yRWFjaCgoW2tleSwgdXNlRGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbElkID0gYCR7aWR9LiR7a2V5fWA7XG4gICAgICBjb25zdCBTY3JpcHQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHVzZURhdGEoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBlbmNvZGVkID0gc2VyaWFsaXplRm9yU2NyaXB0VGFnKGRhdGEpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8c2NyaXB0XG4gICAgICAgICAgICAgIGlkPXtnbG9iYWxJZH1cbiAgICAgICAgICAgICAgdHlwZT1cImFwcGxpY2F0aW9uL2pzb25cIlxuICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgICAgIF9faHRtbDogZW5jb2RlZCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgbm9uY2U9e3Byb3BzLm5vbmNlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gVE9ETzogVXNlIHVuaWZpZWQgbG9nZ2luZ1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHNlcmlhbGl6aW5nIGpzb24gZm9yICR7a2V5fWApO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBzY3JpcHRzLnB1c2goXG4gICAgICAgIDxTdXNwZW5zZSBrZXk9e2dsb2JhbElkfT5cbiAgICAgICAgICA8U2NyaXB0IC8+XG4gICAgICAgIDwvU3VzcGVuc2U+LFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBzY3JpcHRzLFxuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFFBQVEsUUFBUSxPQUFPO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBU3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTQyxxQkFBcUJBLENBQUNDLElBQWEsRUFBVTtFQUMzRCxPQUFPQyxlQUFBLENBQWVELElBQUksQ0FBQyxDQUN4QkUsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FDeEJBLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQzdCQSxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztBQUNsQztBQUVBLGVBQWUsU0FBU0MsU0FBU0EsQ0FBQztFQUNoQ0MsRUFBRSxHQUFHO0FBQ1UsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUlyQjtFQUNBLE9BQU9DLElBQUksSUFBSSxNQUFNQyxLQUFLLElBQUk7SUFBQSxJQUFBQyxrQkFBQSxFQUFBQyxtQkFBQTtJQUM1QixNQUFNQyxTQUFTLEdBQUcsTUFBTUosSUFBSSxDQUFDQyxLQUFLLENBQUM7SUFFbkMsTUFBTUksT0FBMEIsSUFBQUgsa0JBQUEsR0FBR0UsU0FBUyxDQUFDQyxPQUFPLFlBQUFILGtCQUFBLEdBQUksRUFBRTtJQUUxREksTUFBTSxDQUFDQyxPQUFPLEVBQUFKLG1CQUFBLEdBQUNDLFNBQVMsQ0FBQ0ksUUFBUSxZQUFBTCxtQkFBQSxHQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNNLE9BQU8sQ0FBQyxDQUFDLENBQUNDLEdBQUcsRUFBRUMsT0FBTyxDQUFDLEtBQUs7TUFDbkUsTUFBTUMsUUFBUSxHQUFHLEdBQUdiLEVBQUUsSUFBSVcsR0FBRyxFQUFFO01BQy9CLE1BQU1HLE1BQU0sR0FBR0EsQ0FBQSxLQUFNO1FBQ25CLE1BQU1sQixJQUFTLEdBQUdnQixPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJO1VBQ0YsTUFBTUcsT0FBTyxHQUFHcEIscUJBQXFCLENBQUNDLElBQUksQ0FBQztVQUMzQyxvQkFDRUYsSUFBQTtZQUNFTSxFQUFFLEVBQUVhLFFBQVM7WUFDYkcsSUFBSSxFQUFDLGtCQUFrQjtZQUN2QkMsdUJBQXVCLEVBQUU7Y0FDdkJDLE1BQU0sRUFBRUg7WUFDVixDQUFFO1lBQ0ZJLEtBQUssRUFBRWpCLEtBQUssQ0FBQ2lCO1VBQU0sQ0FDcEIsQ0FBQztRQUVOLENBQUMsQ0FBQyxPQUFPQyxDQUFDLEVBQUU7VUFDVjtVQUNBQyxPQUFPLENBQUNDLEtBQUssQ0FBQyw4QkFBOEJYLEdBQUcsRUFBRSxDQUFDO1VBQ2xEVSxPQUFPLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO1VBQ2hCLE9BQU8sSUFBSTtRQUNiO01BQ0YsQ0FBQztNQUNEZCxPQUFPLENBQUNpQixJQUFJLGNBQ1Y3QixJQUFBLENBQUNGLFFBQVE7UUFBQWdDLFFBQUEsZUFDUDlCLElBQUEsQ0FBQ29CLE1BQU0sSUFBRTtNQUFDLEdBREdELFFBRUwsQ0FDWixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTztNQUNMLEdBQUdSLFNBQVM7TUFDWkM7SUFDRixDQUFDO0VBQ0gsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anansi/core",
3
- "version": "0.22.6",
3
+ "version": "0.22.7",
4
4
  "description": "React 19 Framework",
5
5
  "homepage": "https://github.com/ntucker/anansi/tree/master/packages/core#readme",
6
6
  "repository": {
@@ -82,23 +82,23 @@
82
82
  "@types/compression": "1.8.1",
83
83
  "@types/express": "^4.17.17",
84
84
  "@types/node": "^24.0.0",
85
- "@types/react": "19.2.9",
85
+ "@types/react": "19.2.14",
86
86
  "@types/react-dom": "19.2.3",
87
87
  "@types/source-map-support": "0.5.10",
88
88
  "@types/tmp": "0.2.6",
89
89
  "@types/webpack-hot-middleware": "2.25.12",
90
90
  "@types/webpack-node-externals": "^3",
91
- "react": "19.2.3",
92
- "react-dom": "19.2.3"
91
+ "react": "19.2.4",
92
+ "react-dom": "19.2.4"
93
93
  },
94
94
  "dependencies": {
95
- "@anansi/router": "^0.10.21",
95
+ "@anansi/router": "^0.10.22",
96
96
  "@babel/runtime-corejs3": "^7.26.0",
97
97
  "chalk": "^4.1.2",
98
98
  "compression": "^1.8.1",
99
99
  "core-js-pure": "^3.40.0",
100
100
  "cross-fetch": "^4.1.0",
101
- "enhanced-resolve": "^5.18.4",
101
+ "enhanced-resolve": "^5.19.0",
102
102
  "express": "^4.22.1",
103
103
  "fs-require": "^1.6.0",
104
104
  "history": "^5.3.0",