@getopenpay/openpay-js-react 0.3.13-alpha.bdbda7a → 0.3.14-alpha.7c935e9

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.
Files changed (29) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/{Resource-mNYeZF9D-DyAeU6nH.js → Resource-Cop9xaM6-Dv_SxPOu.js} +3 -3
  3. package/dist/SimpleSpanProcessor-9kV5QZN6-BuFFAds_.js +957 -0
  4. package/dist/detect-resources-Co7y4Bj7-Dksp-HtG.js +854 -0
  5. package/dist/diag-api-BcnJqpNN-GNwTWFoK.js +6 -0
  6. package/dist/{index-C6VsGa_X-DnI1zZA6.js → index-3FlcnZo4-yMXmTJu5.js} +2 -2
  7. package/dist/{index-BufYIG0q-CphSOJz1.js → index-4CupDAc7-DKrvhgQB.js} +113 -113
  8. package/dist/index-7gPFY7FO.js +8062 -0
  9. package/dist/{index-Bzsy-QHz-BSCoOj2p.js → index-BaVoXoSd-_qIivw2-.js} +24 -24
  10. package/dist/{index-SDtMvSt9-B3WXwcGr.js → index-C6oDNsIa-qsH89wY8.js} +24 -24
  11. package/dist/{index-73Zci8QM-BH36xwJQ.js → index-Cg-JZyFn-Bhh_kgPU.js} +2 -2
  12. package/dist/index-D1fimpBa-DLcjrL94.js +830 -0
  13. package/dist/{index-hlw2CLDg-CvpGBRWb.js → index-DHcUNV2Z-Bp-w3FrE.js} +12 -12
  14. package/dist/{index-rsJVRXFy-BlJGDRfL.js → index-DKsinhH7-DkgYGujo.js} +5 -5
  15. package/dist/{index-C1QTH_fF-7edQgvhb.js → index-r9zjB7aF-CyRKvbA-.js} +8 -8
  16. package/dist/index.d.ts +27 -10
  17. package/dist/index.js +9 -8
  18. package/dist/{metrics-api-Boddpk8P-5Yd9BTNs.js → metrics-api-BVvZxaKB-CF_NUVDr.js} +9 -9
  19. package/dist/{sdk-info-Bhg46kME-KwjisWfA.js → sdk-info-B9LrSOP2-Dy6PPSM1.js} +2 -2
  20. package/dist/url-t7OCg4fr-DkzPIRtq.js +797 -0
  21. package/dist/{utils-BJLZP7xv-CsKnCWfD.js → utils-BaM96hbi-CTqsgfxk.js} +4 -4
  22. package/dist/{utils-Cp6QoutJ-BvvfzCHa.js → utils-DjkZObMB-TLhaKhkW.js} +2 -2
  23. package/package.json +1 -1
  24. package/dist/SimpleSpanProcessor-CLadx1Ry-DFbqCyTE.js +0 -957
  25. package/dist/detect-resources-BVj-Nv9j-D-K1Nx4L.js +0 -854
  26. package/dist/diag-api-DlzYu3FX-C5uOnDAk.js +0 -6
  27. package/dist/index-Cgr3OZtX.js +0 -7646
  28. package/dist/index-Y8rIshZP-BFN_roTi.js +0 -830
  29. package/dist/url-DKZ7gj4s-DwKrihmA.js +0 -797
@@ -1,7 +1,7 @@
1
- import { J as c } from "./index-Cgr3OZtX.js";
2
- import { r as u } from "./SimpleSpanProcessor-CLadx1Ry-DFbqCyTE.js";
3
- import { I as b, g as x, D as S, n as _, S as w, i as P, j as C, a as M, G as O, P as T, o as E, O as j, W as A, z as B } from "./SimpleSpanProcessor-CLadx1Ry-DFbqCyTE.js";
4
- import { T as R, S as F, x as N, M as k, b as D, D as z, B as G, R as J, s as U, I as W } from "./utils-Cp6QoutJ-BvvfzCHa.js";
1
+ import { I as c } from "./index-7gPFY7FO.js";
2
+ import { r as u } from "./SimpleSpanProcessor-9kV5QZN6-BuFFAds_.js";
3
+ import { I as b, g as x, D as S, n as _, S as w, i as P, j as C, a as M, G as O, P as T, o as I, O as E, W as j, z as A } from "./SimpleSpanProcessor-9kV5QZN6-BuFFAds_.js";
4
+ import { T as R, S as F, x as N, M as k, b as D, D as z, B as G, R as U, s as W, I as H } from "./utils-DjkZObMB-TLhaKhkW.js";
5
5
  var l = function(n, r) {
6
6
  var t = typeof Symbol == "function" && n[Symbol.iterator];
7
7
  if (!t) return n;
@@ -111,11 +111,11 @@ export {
111
111
  R as PerformanceTimingNames,
112
112
  O as RandomIdGenerator,
113
113
  T as SamplingDecision,
114
- E as SimpleSpanProcessor,
115
- j as Span,
114
+ I as SimpleSpanProcessor,
115
+ E as Span,
116
116
  f as StackContextManager,
117
- A as TraceIdRatioBasedSampler,
118
- B as Tracer,
117
+ j as TraceIdRatioBasedSampler,
118
+ A as Tracer,
119
119
  g as WebTracerProvider,
120
120
  F as addSpanNetworkEvent,
121
121
  N as addSpanNetworkEvents,
@@ -123,8 +123,8 @@ export {
123
123
  D as getResource,
124
124
  z as hasKey,
125
125
  G as normalizeUrl,
126
- J as parseUrl,
127
- U as shouldPropagateTraceHeaders,
128
- W as sortResources
126
+ U as parseUrl,
127
+ W as shouldPropagateTraceHeaders,
128
+ H as sortResources
129
129
  };
130
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtaGx3MkNMRGctIX57MDAzfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IEogYXMgSm8gfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcbmltcG9ydCB7IHIgYXMgcmUgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItQ0xhZHgxUnktIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgSSBhcyBBbHdheXNPZmZTYW1wbGVyLCBnIGFzIEFsd2F5c09uU2FtcGxlciwgRCBhcyBCYXRjaFNwYW5Qcm9jZXNzb3IsIG4gYXMgQ29uc29sZVNwYW5FeHBvcnRlciwgUyBhcyBGb3JjZUZsdXNoU3RhdGUsIGkgYXMgSW5NZW1vcnlTcGFuRXhwb3J0ZXIsIGogYXMgTm9vcFNwYW5Qcm9jZXNzb3IsIGEgYXMgUGFyZW50QmFzZWRTYW1wbGVyLCBHIGFzIFJhbmRvbUlkR2VuZXJhdG9yLCBQIGFzIFNhbXBsaW5nRGVjaXNpb24sIG8gYXMgU2ltcGxlU3BhblByb2Nlc3NvciwgTyBhcyBTcGFuLCBXIGFzIFRyYWNlSWRSYXRpb0Jhc2VkU2FtcGxlciwgeiBhcyBUcmFjZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItQ0xhZHgxUnktIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgVCBhcyBQZXJmb3JtYW5jZVRpbWluZ05hbWVzLCBTIGFzIGFkZFNwYW5OZXR3b3JrRXZlbnQsIHggYXMgYWRkU3Bhbk5ldHdvcmtFdmVudHMsIE0gYXMgZ2V0RWxlbWVudFhQYXRoLCBiIGFzIGdldFJlc291cmNlLCBEIGFzIGhhc0tleSwgQiBhcyBub3JtYWxpemVVcmwsIFIgYXMgcGFyc2VVcmwsIHMgYXMgc2hvdWxkUHJvcGFnYXRlVHJhY2VIZWFkZXJzLCBJIGFzIHNvcnRSZXNvdXJjZXMgfSBmcm9tICcuL3V0aWxzLUNwNlFvdXRKLSF+ezAwNX1+LmpzJztcblxudmFyIGwgPSBmdW5jdGlvbihuLCByKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgbltTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBuO1xuICB2YXIgdCA9IGUuY2FsbChuKSwgbywgYSA9IFtdLCBzO1xuICB0cnkge1xuICAgIGZvciAoOyAociA9PT0gdm9pZCAwIHx8IHItLSA+IDApICYmICEobyA9IHQubmV4dCgpKS5kb25lOyApIGEucHVzaChvLnZhbHVlKTtcbiAgfSBjYXRjaCAoaSkge1xuICAgIHMgPSB7IGVycm9yOiBpIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG8gJiYgIW8uZG9uZSAmJiAoZSA9IHQucmV0dXJuKSAmJiBlLmNhbGwodCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChzKSB0aHJvdyBzLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYTtcbn0sIHAgPSBmdW5jdGlvbihuLCByLCBlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciB0ID0gMCwgbyA9IHIubGVuZ3RoLCBhOyB0IDwgbzsgdCsrKVxuICAgIChhIHx8ICEodCBpbiByKSkgJiYgKGEgfHwgKGEgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChyLCAwLCB0KSksIGFbdF0gPSByW3RdKTtcbiAgcmV0dXJuIG4uY29uY2F0KGEgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocikpO1xufSwgZiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBuKCkge1xuICAgICAgdGhpcy5fZW5hYmxlZCA9ICExLCB0aGlzLl9jdXJyZW50Q29udGV4dCA9IEpvO1xuICAgIH1cbiAgICByZXR1cm4gbi5wcm90b3R5cGUuX2JpbmRGdW5jdGlvbiA9IGZ1bmN0aW9uKHIsIGUpIHtcbiAgICAgIHIgPT09IHZvaWQgMCAmJiAociA9IEpvKTtcbiAgICAgIHZhciB0ID0gdGhpcywgbyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBmb3IgKHZhciBhID0gdGhpcywgcyA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcbiAgICAgICAgICBzW2ldID0gYXJndW1lbnRzW2ldO1xuICAgICAgICByZXR1cm4gdC53aXRoKHIsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBlLmFwcGx5KGEsIHMpO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwibGVuZ3RoXCIsIHtcbiAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITAsXG4gICAgICAgIHdyaXRhYmxlOiAhMSxcbiAgICAgICAgdmFsdWU6IGUubGVuZ3RoXG4gICAgICB9KSwgbztcbiAgICB9LCBuLnByb3RvdHlwZS5hY3RpdmUgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q29udGV4dDtcbiAgICB9LCBuLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24ociwgZSkge1xuICAgICAgcmV0dXJuIHIgPT09IHZvaWQgMCAmJiAociA9IHRoaXMuYWN0aXZlKCkpLCB0eXBlb2YgZSA9PSBcImZ1bmN0aW9uXCIgPyB0aGlzLl9iaW5kRnVuY3Rpb24ociwgZSkgOiBlO1xuICAgIH0sIG4ucHJvdG90eXBlLmRpc2FibGUgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q29udGV4dCA9IEpvLCB0aGlzLl9lbmFibGVkID0gITEsIHRoaXM7XG4gICAgfSwgbi5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCA/IHRoaXMgOiAodGhpcy5fZW5hYmxlZCA9ICEwLCB0aGlzLl9jdXJyZW50Q29udGV4dCA9IEpvLCB0aGlzKTtcbiAgICB9LCBuLnByb3RvdHlwZS53aXRoID0gZnVuY3Rpb24ociwgZSwgdCkge1xuICAgICAgZm9yICh2YXIgbyA9IFtdLCBhID0gMzsgYSA8IGFyZ3VtZW50cy5sZW5ndGg7IGErKylcbiAgICAgICAgb1thIC0gM10gPSBhcmd1bWVudHNbYV07XG4gICAgICB2YXIgcyA9IHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSByIHx8IEpvO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGUuY2FsbC5hcHBseShlLCBwKFt0XSwgbChvKSwgITEpKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gcztcbiAgICAgIH1cbiAgICB9LCBuO1xuICB9KClcbiksIGQgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciBuID0gZnVuY3Rpb24ociwgZSkge1xuICAgIHJldHVybiBuID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgbykge1xuICAgICAgdC5fX3Byb3RvX18gPSBvO1xuICAgIH0gfHwgZnVuY3Rpb24odCwgbykge1xuICAgICAgZm9yICh2YXIgYSBpbiBvKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobywgYSkgJiYgKHRbYV0gPSBvW2FdKTtcbiAgICB9LCBuKHIsIGUpO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24ociwgZSkge1xuICAgIGlmICh0eXBlb2YgZSAhPSBcImZ1bmN0aW9uXCIgJiYgZSAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGUpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICBuKHIsIGUpO1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gcjtcbiAgICB9XG4gICAgci5wcm90b3R5cGUgPSBlID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShlKSA6ICh0LnByb3RvdHlwZSA9IGUucHJvdG90eXBlLCBuZXcgdCgpKTtcbiAgfTtcbn0oKSwgdiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbihuKSB7XG4gICAgZChyLCBuKTtcbiAgICBmdW5jdGlvbiByKGUpIHtcbiAgICAgIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KTtcbiAgICAgIHZhciB0ID0gbi5jYWxsKHRoaXMsIGUpIHx8IHRoaXM7XG4gICAgICBpZiAoZS5jb250ZXh0TWFuYWdlcilcbiAgICAgICAgdGhyb3cgXCJjb250ZXh0TWFuYWdlciBzaG91bGQgYmUgZGVmaW5lZCBpbiByZWdpc3RlciBtZXRob2Qgbm90IGluIGNvbnN0cnVjdG9yXCI7XG4gICAgICBpZiAoZS5wcm9wYWdhdG9yKVxuICAgICAgICB0aHJvdyBcInByb3BhZ2F0b3Igc2hvdWxkIGJlIGRlZmluZWQgaW4gcmVnaXN0ZXIgbWV0aG9kIG5vdCBpbiBjb25zdHJ1Y3RvclwiO1xuICAgICAgcmV0dXJuIHQ7XG4gICAgfVxuICAgIHJldHVybiByLnByb3RvdHlwZS5yZWdpc3RlciA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KSwgZS5jb250ZXh0TWFuYWdlciA9PT0gdm9pZCAwICYmIChlLmNvbnRleHRNYW5hZ2VyID0gbmV3IGYoKSksIGUuY29udGV4dE1hbmFnZXIgJiYgZS5jb250ZXh0TWFuYWdlci5lbmFibGUoKSwgbi5wcm90b3R5cGUucmVnaXN0ZXIuY2FsbCh0aGlzLCBlKTtcbiAgICB9LCByO1xuICB9KHJlKVxuKTtcblxuZXhwb3J0IHsgcmUgYXMgQmFzaWNUcmFjZXJQcm92aWRlciwgZiBhcyBTdGFja0NvbnRleHRNYW5hZ2VyLCB2IGFzIFdlYlRyYWNlclByb3ZpZGVyIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUFVO0FBQ3hCLFNBQVMsS0FBS0MsU0FBVTtBQUN4QixTQUFjLEtBQUxDLEdBQTRCLEtBQUxDLEdBQTJCLEtBQUxD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QjtBQUMxRixNQUFFLEdBQUdBLENBQUM7QUFDTixhQUFTQyxJQUFJO0FBQ1gsV0FBSyxjQUFjO0FBQUEsSUFDckI7QUFDQSxNQUFFLFlBQVlELE1BQU0sT0FBTyxPQUFPLE9BQU9BLENBQUMsS0FBS0MsRUFBRSxZQUFZRCxFQUFFLFdBQVcsSUFBSUMsRUFBRTtBQUFBLEVBQ2xGO0FBQ0YsRUFBRSxHQUFHRTtBQUFBO0FBQUEsRUFFSCxTQUFTLEdBQUc7QUFDVixJQUFBRCxFQUFFLEdBQUcsQ0FBQztBQUNOLGFBQVMsRUFBRUYsR0FBRztBQUNaLE1BQUFBLE1BQU0sV0FBV0EsSUFBSSxDQUFDO0FBQ3RCLFVBQUlDLElBQUksRUFBRSxLQUFLLE1BQU1ELENBQUMsS0FBSztBQUMzQixVQUFJQSxFQUFFO0FBQ0osY0FBTTtBQUNSLFVBQUlBLEVBQUU7QUFDSixjQUFNO0FBQ1IsYUFBT0M7QUFBQSxJQUNUO0FBQ0EsV0FBTyxFQUFFLFVBQVUsV0FBVyxTQUFTRCxHQUFHO0FBQ3hDLE1BQUFBLE1BQU0sV0FBV0EsSUFBSSxDQUFDLElBQUlBLEVBQUUsbUJBQW1CLFdBQVdBLEVBQUUsaUJBQWlCLElBQUksRUFBRSxJQUFJQSxFQUFFLGtCQUFrQkEsRUFBRSxlQUFlLE9BQU8sR0FBRyxFQUFFLFVBQVUsU0FBUyxLQUFLLE1BQU1BLENBQUM7QUFBQSxJQUN6SyxHQUFHO0FBQUEsRUFDTCxFQUFFdEIsQ0FBRTtBQUFBOyIsCiAgIm5hbWVzIjogWyJKbyIsICJyZSIsICJJIiwgImciLCAiRCIsICJuIiwgIlMiLCAiaSIsICJqIiwgImEiLCAiRyIsICJQIiwgIm8iLCAiTyIsICJXIiwgInoiLCAiVCIsICJ4IiwgIk0iLCAiYiIsICJCIiwgIlIiLCAicyIsICJlIiwgInQiLCAiZCIsICJ2Il0KfQo=
130
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtREhjVU5WMlotIX57MDAzfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IEkgYXMgSWkgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcbmltcG9ydCB7IHIgYXMgcmUgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItOWtWNVFaTjYtIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgSSBhcyBBbHdheXNPZmZTYW1wbGVyLCBnIGFzIEFsd2F5c09uU2FtcGxlciwgRCBhcyBCYXRjaFNwYW5Qcm9jZXNzb3IsIG4gYXMgQ29uc29sZVNwYW5FeHBvcnRlciwgUyBhcyBGb3JjZUZsdXNoU3RhdGUsIGkgYXMgSW5NZW1vcnlTcGFuRXhwb3J0ZXIsIGogYXMgTm9vcFNwYW5Qcm9jZXNzb3IsIGEgYXMgUGFyZW50QmFzZWRTYW1wbGVyLCBHIGFzIFJhbmRvbUlkR2VuZXJhdG9yLCBQIGFzIFNhbXBsaW5nRGVjaXNpb24sIG8gYXMgU2ltcGxlU3BhblByb2Nlc3NvciwgTyBhcyBTcGFuLCBXIGFzIFRyYWNlSWRSYXRpb0Jhc2VkU2FtcGxlciwgeiBhcyBUcmFjZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItOWtWNVFaTjYtIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgVCBhcyBQZXJmb3JtYW5jZVRpbWluZ05hbWVzLCBTIGFzIGFkZFNwYW5OZXR3b3JrRXZlbnQsIHggYXMgYWRkU3Bhbk5ldHdvcmtFdmVudHMsIE0gYXMgZ2V0RWxlbWVudFhQYXRoLCBiIGFzIGdldFJlc291cmNlLCBEIGFzIGhhc0tleSwgQiBhcyBub3JtYWxpemVVcmwsIFIgYXMgcGFyc2VVcmwsIHMgYXMgc2hvdWxkUHJvcGFnYXRlVHJhY2VIZWFkZXJzLCBJIGFzIHNvcnRSZXNvdXJjZXMgfSBmcm9tICcuL3V0aWxzLURqa1pPYk1CLSF+ezAwNX1+LmpzJztcblxudmFyIGwgPSBmdW5jdGlvbihuLCByKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgbltTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBuO1xuICB2YXIgdCA9IGUuY2FsbChuKSwgbywgYSA9IFtdLCBzO1xuICB0cnkge1xuICAgIGZvciAoOyAociA9PT0gdm9pZCAwIHx8IHItLSA+IDApICYmICEobyA9IHQubmV4dCgpKS5kb25lOyApIGEucHVzaChvLnZhbHVlKTtcbiAgfSBjYXRjaCAoaSkge1xuICAgIHMgPSB7IGVycm9yOiBpIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG8gJiYgIW8uZG9uZSAmJiAoZSA9IHQucmV0dXJuKSAmJiBlLmNhbGwodCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChzKSB0aHJvdyBzLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYTtcbn0sIHAgPSBmdW5jdGlvbihuLCByLCBlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciB0ID0gMCwgbyA9IHIubGVuZ3RoLCBhOyB0IDwgbzsgdCsrKVxuICAgIChhIHx8ICEodCBpbiByKSkgJiYgKGEgfHwgKGEgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChyLCAwLCB0KSksIGFbdF0gPSByW3RdKTtcbiAgcmV0dXJuIG4uY29uY2F0KGEgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocikpO1xufSwgZiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBuKCkge1xuICAgICAgdGhpcy5fZW5hYmxlZCA9ICExLCB0aGlzLl9jdXJyZW50Q29udGV4dCA9IElpO1xuICAgIH1cbiAgICByZXR1cm4gbi5wcm90b3R5cGUuX2JpbmRGdW5jdGlvbiA9IGZ1bmN0aW9uKHIsIGUpIHtcbiAgICAgIHIgPT09IHZvaWQgMCAmJiAociA9IElpKTtcbiAgICAgIHZhciB0ID0gdGhpcywgbyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBmb3IgKHZhciBhID0gdGhpcywgcyA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcbiAgICAgICAgICBzW2ldID0gYXJndW1lbnRzW2ldO1xuICAgICAgICByZXR1cm4gdC53aXRoKHIsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBlLmFwcGx5KGEsIHMpO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwibGVuZ3RoXCIsIHtcbiAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITAsXG4gICAgICAgIHdyaXRhYmxlOiAhMSxcbiAgICAgICAgdmFsdWU6IGUubGVuZ3RoXG4gICAgICB9KSwgbztcbiAgICB9LCBuLnByb3RvdHlwZS5hY3RpdmUgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q29udGV4dDtcbiAgICB9LCBuLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24ociwgZSkge1xuICAgICAgcmV0dXJuIHIgPT09IHZvaWQgMCAmJiAociA9IHRoaXMuYWN0aXZlKCkpLCB0eXBlb2YgZSA9PSBcImZ1bmN0aW9uXCIgPyB0aGlzLl9iaW5kRnVuY3Rpb24ociwgZSkgOiBlO1xuICAgIH0sIG4ucHJvdG90eXBlLmRpc2FibGUgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q29udGV4dCA9IElpLCB0aGlzLl9lbmFibGVkID0gITEsIHRoaXM7XG4gICAgfSwgbi5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCA/IHRoaXMgOiAodGhpcy5fZW5hYmxlZCA9ICEwLCB0aGlzLl9jdXJyZW50Q29udGV4dCA9IElpLCB0aGlzKTtcbiAgICB9LCBuLnByb3RvdHlwZS53aXRoID0gZnVuY3Rpb24ociwgZSwgdCkge1xuICAgICAgZm9yICh2YXIgbyA9IFtdLCBhID0gMzsgYSA8IGFyZ3VtZW50cy5sZW5ndGg7IGErKylcbiAgICAgICAgb1thIC0gM10gPSBhcmd1bWVudHNbYV07XG4gICAgICB2YXIgcyA9IHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSByIHx8IElpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGUuY2FsbC5hcHBseShlLCBwKFt0XSwgbChvKSwgITEpKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gcztcbiAgICAgIH1cbiAgICB9LCBuO1xuICB9KClcbiksIGQgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciBuID0gZnVuY3Rpb24ociwgZSkge1xuICAgIHJldHVybiBuID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgbykge1xuICAgICAgdC5fX3Byb3RvX18gPSBvO1xuICAgIH0gfHwgZnVuY3Rpb24odCwgbykge1xuICAgICAgZm9yICh2YXIgYSBpbiBvKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobywgYSkgJiYgKHRbYV0gPSBvW2FdKTtcbiAgICB9LCBuKHIsIGUpO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24ociwgZSkge1xuICAgIGlmICh0eXBlb2YgZSAhPSBcImZ1bmN0aW9uXCIgJiYgZSAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGUpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICBuKHIsIGUpO1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gcjtcbiAgICB9XG4gICAgci5wcm90b3R5cGUgPSBlID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShlKSA6ICh0LnByb3RvdHlwZSA9IGUucHJvdG90eXBlLCBuZXcgdCgpKTtcbiAgfTtcbn0oKSwgdiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbihuKSB7XG4gICAgZChyLCBuKTtcbiAgICBmdW5jdGlvbiByKGUpIHtcbiAgICAgIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KTtcbiAgICAgIHZhciB0ID0gbi5jYWxsKHRoaXMsIGUpIHx8IHRoaXM7XG4gICAgICBpZiAoZS5jb250ZXh0TWFuYWdlcilcbiAgICAgICAgdGhyb3cgXCJjb250ZXh0TWFuYWdlciBzaG91bGQgYmUgZGVmaW5lZCBpbiByZWdpc3RlciBtZXRob2Qgbm90IGluIGNvbnN0cnVjdG9yXCI7XG4gICAgICBpZiAoZS5wcm9wYWdhdG9yKVxuICAgICAgICB0aHJvdyBcInByb3BhZ2F0b3Igc2hvdWxkIGJlIGRlZmluZWQgaW4gcmVnaXN0ZXIgbWV0aG9kIG5vdCBpbiBjb25zdHJ1Y3RvclwiO1xuICAgICAgcmV0dXJuIHQ7XG4gICAgfVxuICAgIHJldHVybiByLnByb3RvdHlwZS5yZWdpc3RlciA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KSwgZS5jb250ZXh0TWFuYWdlciA9PT0gdm9pZCAwICYmIChlLmNvbnRleHRNYW5hZ2VyID0gbmV3IGYoKSksIGUuY29udGV4dE1hbmFnZXIgJiYgZS5jb250ZXh0TWFuYWdlci5lbmFibGUoKSwgbi5wcm90b3R5cGUucmVnaXN0ZXIuY2FsbCh0aGlzLCBlKTtcbiAgICB9LCByO1xuICB9KHJlKVxuKTtcblxuZXhwb3J0IHsgcmUgYXMgQmFzaWNUcmFjZXJQcm92aWRlciwgZiBhcyBTdGFja0NvbnRleHRNYW5hZ2VyLCB2IGFzIFdlYlRyYWNlclByb3ZpZGVyIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUFVO0FBQ3hCLFNBQVMsS0FBS0MsU0FBVTtBQUN4QixTQUFjLEtBQUxDLEdBQTRCLEtBQUxDLEdBQTJCLEtBQUxDLEdBQThCLEtBQUxDLEdBQStCLEtBQUxDLEdBQTJCLEtBQUxDLEdBQWdDLEtBQUxDLEdBQTZCLEtBQUxDLEdBQThCLEtBQUxDLEdBQTZCLEtBQUxDLEdBQTRCLEtBQUxDLEdBQStCLEtBQUxDLEdBQWdCLEtBQUxDLEdBQW9DLEtBQUxDLFNBQW1CO0FBQ2pWLFNBQWMsS0FBTEMsR0FBa0MsS0FBTFYsR0FBK0IsS0FBTFcsR0FBZ0MsS0FBTEMsR0FBMkIsS0FBTEMsR0FBdUIsS0FBTGYsR0FBa0IsS0FBTGdCLEdBQXdCLEtBQUxDLEdBQW9CLEtBQUxDLEdBQXVDLEtBQUxwQixTQUEwQjtBQUU5TyxJQUFJLElBQUksU0FBUyxHQUFHLEdBQUc7QUFDckIsTUFBSXFCLElBQUksT0FBTyxVQUFVLGNBQWMsRUFBRSxPQUFPLFFBQVE7QUFDeEQsTUFBSSxDQUFDQSxFQUFHLFFBQU87QUFDZixNQUFJQyxJQUFJRCxFQUFFLEtBQUssQ0FBQyxHQUFHWCxHQUFHSCxJQUFJLENBQUMsR0FBR2E7QUFDOUIsTUFBSTtBQUNGLFlBQVEsTUFBTSxVQUFVLE1BQU0sTUFBTSxFQUFFVixJQUFJWSxFQUFFLEtBQUssR0FBRyxPQUFRLENBQUFmLEVBQUUsS0FBS0csRUFBRSxLQUFLO0FBQUEsRUFDNUUsU0FBU0wsR0FBRztBQUNWLElBQUFlLElBQUksRUFBRSxPQUFPZixFQUFFO0FBQUEsRUFDakIsVUFBRTtBQUNBLFFBQUk7QUFDRixNQUFBSyxLQUFLLENBQUNBLEVBQUUsU0FBU1csSUFBSUMsRUFBRSxXQUFXRCxFQUFFLEtBQUtDLENBQUM7QUFBQSxJQUM1QyxVQUFFO0FBQ0EsVUFBSUYsRUFBRyxPQUFNQSxFQUFFO0FBQUEsSUFDakI7QUFBQSxFQUNGO0FBQ0EsU0FBT2I7QUFDVCxHQUFHLElBQUksU0FBUyxHQUFHLEdBQUdjLEdBQUc7QUFDdkIsTUFBSSxVQUFVLFdBQVcsRUFBRyxVQUFTQyxJQUFJLEdBQUdaLElBQUksRUFBRSxRQUFRSCxHQUFHZSxJQUFJWixHQUFHWTtBQUNsRSxLQUFDZixLQUFLLEVBQUVlLEtBQUssUUFBUWYsTUFBTUEsSUFBSSxNQUFNLFVBQVUsTUFBTSxLQUFLLEdBQUcsR0FBR2UsQ0FBQyxJQUFJZixFQUFFZSxDQUFDLElBQUksRUFBRUEsQ0FBQztBQUNqRixTQUFPLEVBQUUsT0FBT2YsS0FBSyxNQUFNLFVBQVUsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUNwRCxHQUFHO0FBQUE7QUFBQSxFQUVELFdBQVc7QUFDVCxhQUFTLElBQUk7QUFDWCxXQUFLLFdBQVcsSUFBSSxLQUFLLGtCQUFrQlQ7QUFBQSxJQUM3QztBQUNBLFdBQU8sRUFBRSxVQUFVLGdCQUFnQixTQUFTLEdBQUd1QixHQUFHO0FBQ2hELFlBQU0sV0FBVyxJQUFJdkI7QUFDckIsVUFBSXdCLElBQUksTUFBTVosSUFBSSxXQUFXO0FBQzNCLGlCQUFTSCxJQUFJLE1BQU1hLElBQUksQ0FBQyxHQUFHZixJQUFJLEdBQUdBLElBQUksVUFBVSxRQUFRQTtBQUN0RCxVQUFBZSxFQUFFZixDQUFDLElBQUksVUFBVUEsQ0FBQztBQUNwQixlQUFPaUIsRUFBRSxLQUFLLEdBQUcsV0FBVztBQUMxQixpQkFBT0QsRUFBRSxNQUFNZCxHQUFHYSxDQUFDO0FBQUEsUUFDckIsQ0FBQztBQUFBLE1BQ0g7QUFDQSxhQUFPLE9BQU8sZUFBZVYsR0FBRyxVQUFVO0FBQUEsUUFDeEMsWUFBWTtBQUFBLFFBQ1osY0FBYztBQUFBLFFBQ2QsVUFBVTtBQUFBLFFBQ1YsT0FBT1csRUFBRTtBQUFBLE1BQ1gsQ0FBQyxHQUFHWDtBQUFBLElBQ04sR0FBRyxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ2pDLGFBQU8sS0FBSztBQUFBLElBQ2QsR0FBRyxFQUFFLFVBQVUsT0FBTyxTQUFTLEdBQUdXLEdBQUc7QUFDbkMsYUFBTyxNQUFNLFdBQVcsSUFBSSxLQUFLLE9BQU8sSUFBSSxPQUFPQSxLQUFLLGFBQWEsS0FBSyxjQUFjLEdBQUdBLENBQUMsSUFBSUE7QUFBQSxJQUNsRyxHQUFHLEVBQUUsVUFBVSxVQUFVLFdBQVc7QUFDbEMsYUFBTyxLQUFLLGtCQUFrQnZCLEdBQUksS0FBSyxXQUFXLElBQUk7QUFBQSxJQUN4RCxHQUFHLEVBQUUsVUFBVSxTQUFTLFdBQVc7QUFDakMsYUFBTyxLQUFLLFdBQVcsUUFBUSxLQUFLLFdBQVcsSUFBSSxLQUFLLGtCQUFrQkEsR0FBSTtBQUFBLElBQ2hGLEdBQUcsRUFBRSxVQUFVLE9BQU8sU0FBUyxHQUFHdUIsR0FBR0MsR0FBRztBQUN0QyxlQUFTWixJQUFJLENBQUMsR0FBR0gsSUFBSSxHQUFHQSxJQUFJLFVBQVUsUUFBUUE7QUFDNUMsUUFBQUcsRUFBRUgsSUFBSSxDQUFDLElBQUksVUFBVUEsQ0FBQztBQUN4QixVQUFJYSxJQUFJLEtBQUs7QUFDYixXQUFLLGtCQUFrQixLQUFLdEI7QUFDNUIsVUFBSTtBQUNGLGVBQU91QixFQUFFLEtBQUssTUFBTUEsR0FBRyxFQUFFLENBQUNDLENBQUMsR0FBRyxFQUFFWixDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQUEsTUFDekMsVUFBRTtBQUNBLGFBQUssa0JBQWtCVTtBQUFBLE1BQ3pCO0FBQUEsSUFDRixHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREcsSUFBb0IsMkJBQVc7QUFDaEMsTUFBSSxJQUFJLFNBQVMsR0FBR0YsR0FBRztBQUNyQixXQUFPLElBQUksT0FBTyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsRUFBRSxhQUFhLFNBQVMsU0FBU0MsR0FBR1osR0FBRztBQUN2RixNQUFBWSxFQUFFLFlBQVlaO0FBQUEsSUFDaEIsS0FBSyxTQUFTWSxHQUFHWixHQUFHO0FBQ2xCLGVBQVNILEtBQUtHLEVBQUcsUUFBTyxVQUFVLGVBQWUsS0FBS0EsR0FBR0gsQ0FBQyxNQUFNZSxFQUFFZixDQUFDLElBQUlHLEVBQUVILENBQUM7QUFBQSxJQUM1RSxHQUFHLEVBQUUsR0FBR2MsQ0FBQztBQUFBLEVBQ1g7QUFDQSxTQUFPLFNBQVMsR0FBR0EsR0FBRztBQUNwQixRQUFJLE9BQU9BLEtBQUssY0FBY0EsTUFBTTtBQUNsQyxZQUFNLElBQUksVUFBVSx5QkFBeUIsT0FBT0EsQ0FBQyxJQUFJLCtCQUErQjtBQUMxRixNQUFFLEdBQUdBLENBQUM7QUFDTixhQUFTQyxJQUFJO0FBQ1gsV0FBSyxjQUFjO0FBQUEsSUFDckI7QUFDQSxNQUFFLFlBQVlELE1BQU0sT0FBTyxPQUFPLE9BQU9BLENBQUMsS0FBS0MsRUFBRSxZQUFZRCxFQUFFLFdBQVcsSUFBSUMsRUFBRTtBQUFBLEVBQ2xGO0FBQ0YsRUFBRSxHQUFHRTtBQUFBO0FBQUEsRUFFSCxTQUFTLEdBQUc7QUFDVixJQUFBRCxFQUFFLEdBQUcsQ0FBQztBQUNOLGFBQVMsRUFBRUYsR0FBRztBQUNaLE1BQUFBLE1BQU0sV0FBV0EsSUFBSSxDQUFDO0FBQ3RCLFVBQUlDLElBQUksRUFBRSxLQUFLLE1BQU1ELENBQUMsS0FBSztBQUMzQixVQUFJQSxFQUFFO0FBQ0osY0FBTTtBQUNSLFVBQUlBLEVBQUU7QUFDSixjQUFNO0FBQ1IsYUFBT0M7QUFBQSxJQUNUO0FBQ0EsV0FBTyxFQUFFLFVBQVUsV0FBVyxTQUFTRCxHQUFHO0FBQ3hDLE1BQUFBLE1BQU0sV0FBV0EsSUFBSSxDQUFDLElBQUlBLEVBQUUsbUJBQW1CLFdBQVdBLEVBQUUsaUJBQWlCLElBQUksRUFBRSxJQUFJQSxFQUFFLGtCQUFrQkEsRUFBRSxlQUFlLE9BQU8sR0FBRyxFQUFFLFVBQVUsU0FBUyxLQUFLLE1BQU1BLENBQUM7QUFBQSxJQUN6SyxHQUFHO0FBQUEsRUFDTCxFQUFFdEIsQ0FBRTtBQUFBOyIsCiAgIm5hbWVzIjogWyJJaSIsICJyZSIsICJJIiwgImciLCAiRCIsICJuIiwgIlMiLCAiaSIsICJqIiwgImEiLCAiRyIsICJQIiwgIm8iLCAiTyIsICJXIiwgInoiLCAiVCIsICJ4IiwgIk0iLCAiYiIsICJCIiwgIlIiLCAicyIsICJlIiwgInQiLCAiZCIsICJ2Il0KfQo=
@@ -1,7 +1,7 @@
1
- import { R as l } from "./Resource-mNYeZF9D-DyAeU6nH.js";
2
- import { E as tt } from "./Resource-mNYeZF9D-DyAeU6nH.js";
3
- import { r as p } from "./diag-api-DlzYu3FX-C5uOnDAk.js";
4
- import { E as w, o as S, t as g, O as R, i as O } from "./sdk-info-Bhg46kME-KwjisWfA.js";
1
+ import { R as l } from "./Resource-Cop9xaM6-Dv_SxPOu.js";
2
+ import { E as tt } from "./Resource-Cop9xaM6-Dv_SxPOu.js";
3
+ import { r as p } from "./diag-api-BcnJqpNN-GNwTWFoK.js";
4
+ import { E as w, o as S, t as g, O as R, i as O } from "./sdk-info-B9LrSOP2-Dy6PPSM1.js";
5
5
  var L = (
6
6
  /** @class */
7
7
  function() {
@@ -327,4 +327,4 @@ export {
327
327
  Y as processDetectorSync,
328
328
  $ as serviceInstanceIdDetectorSync
329
329
  };
330
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtcnNKVlJYRnktIX57MDBlfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUiQxIH0gZnJvbSAnLi9SZXNvdXJjZS1tTlllWkY5RC0hfnswMGZ9fi5qcyc7XG5leHBvcnQgeyBFIGFzIGRlZmF1bHRTZXJ2aWNlTmFtZSB9IGZyb20gJy4vUmVzb3VyY2UtbU5ZZVpGOUQtIX57MDBmfX4uanMnO1xuaW1wb3J0IHsgciB9IGZyb20gJy4vZGlhZy1hcGktRGx6WXUzRlgtIX57MDA3fX4uanMnO1xuaW1wb3J0IHsgRSBhcyBFVCwgbyBhcyBvUywgdCBhcyB0UywgTyBhcyBPVCwgaSBhcyBpUyB9IGZyb20gJy4vc2RrLWluZm8tQmhnNDZrTUUtIX57MDBnfX4uanMnO1xuXG52YXIgVCA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gbmV3IFIkMSh7fSk7XG4gICAgfSwgZTtcbiAgfSgpXG4pLCBoID0gbmV3IFQoKSwgSSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGguZGV0ZWN0KCkpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgXyA9IG5ldyBJKCksIEggPSBfLCBGID0gaCwgWCA9IF8sIGsgPSBoLCBLID0gXywgWSA9IF8sIHEgPSBoLCBFID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBFID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbihlKSB7XG4gICAgZm9yICh2YXIgbiwgdCA9IDEsIGkgPSBhcmd1bWVudHMubGVuZ3RoOyB0IDwgaTsgdCsrKSB7XG4gICAgICBuID0gYXJndW1lbnRzW3RdO1xuICAgICAgZm9yICh2YXIgbyBpbiBuKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwgbykgJiYgKGVbb10gPSBuW29dKTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0sIEUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn0sIE4gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmRldGVjdCA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHZhciB0LCBpLCBvLCByLCB1ID0gdHlwZW9mIG5hdmlnYXRvciA8IFwidVwiICYmICgobyA9IChpID0gZ2xvYmFsLnByb2Nlc3MpID09PSBudWxsIHx8IGkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGkudmVyc2lvbnMpID09PSBudWxsIHx8IG8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IG8ubm9kZSkgPT09IHZvaWQgMCAmJiAvLyBOb2RlLmpzIHYyMSBhZGRzIGBuYXZpZ2F0b3JgXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAvLyBAdHMtaWdub3JlIGRvbid0IGhhdmUgQnVuIHR5cGVzXG4gICAgICAoKHIgPSBnbG9iYWwuQnVuKSA9PT0gbnVsbCB8fCByID09PSB2b2lkIDAgPyB2b2lkIDAgOiByLnZlcnNpb24pID09PSB2b2lkIDA7XG4gICAgICBpZiAoIXUpXG4gICAgICAgIHJldHVybiBSJDEuZW1wdHkoKTtcbiAgICAgIHZhciBhID0gKHQgPSB7fSwgdFtFVF0gPSBcImJyb3dzZXJcIiwgdFtvU10gPSBcIldlYiBCcm93c2VyXCIsIHRbdFNdID0gbmF2aWdhdG9yLnVzZXJBZ2VudCwgdCk7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0UmVzb3VyY2VBdHRyaWJ1dGVzKGEsIG4pO1xuICAgIH0sIGUucHJvdG90eXBlLl9nZXRSZXNvdXJjZUF0dHJpYnV0ZXMgPSBmdW5jdGlvbihuLCB0KSB7XG4gICAgICByZXR1cm4gblt0U10gPT09IFwiXCIgPyAoci5kZWJ1ZyhcIkJyb3dzZXJEZXRlY3RvciBmYWlsZWQ6IFVuYWJsZSB0byBmaW5kIHJlcXVpcmVkIGJyb3dzZXIgcmVzb3VyY2VzLiBcIiksIFIkMS5lbXB0eSgpKSA6IG5ldyBSJDEoRSh7fSwgbikpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgTyA9IG5ldyBOKCksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmRldGVjdCA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoTy5kZXRlY3QobikpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgSiA9IG5ldyBNKCksIEwgPSBmdW5jdGlvbihlKSB7XG4gIHZhciBuID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCB0ID0gbiAmJiBlW25dLCBpID0gMDtcbiAgaWYgKHQpIHJldHVybiB0LmNhbGwoZSk7XG4gIGlmIChlICYmIHR5cGVvZiBlLmxlbmd0aCA9PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGUgJiYgaSA+PSBlLmxlbmd0aCAmJiAoZSA9IHZvaWQgMCksIHsgdmFsdWU6IGUgJiYgZVtpKytdLCBkb25lOiAhZSB9O1xuICAgIH1cbiAgfTtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihuID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xufSwgeCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgdmFyIHQgPSB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiBlW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghdCkgcmV0dXJuIGU7XG4gIHZhciBpID0gdC5jYWxsKGUpLCBvLCByID0gW10sIHU7XG4gIHRyeSB7XG4gICAgZm9yICg7IChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShvID0gaS5uZXh0KCkpLmRvbmU7ICkgci5wdXNoKG8udmFsdWUpO1xuICB9IGNhdGNoIChhKSB7XG4gICAgdSA9IHsgZXJyb3I6IGEgfTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgbyAmJiAhby5kb25lICYmICh0ID0gaS5yZXR1cm4pICYmIHQuY2FsbChpKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHUpIHRocm93IHUuZXJyb3I7XG4gICAgfVxuICB9XG4gIHJldHVybiByO1xufSwgQyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgdGhpcy5fTUFYX0xFTkdUSCA9IDI1NSwgdGhpcy5fQ09NTUFfU0VQQVJBVE9SID0gXCIsXCIsIHRoaXMuX0xBQkVMX0tFWV9WQUxVRV9TUExJVFRFUiA9IFwiPVwiLCB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfQ0hBUlMgPSBcInNob3VsZCBiZSBhIEFTQ0lJIHN0cmluZyB3aXRoIGEgbGVuZ3RoIGdyZWF0ZXIgdGhhbiAwIGFuZCBub3QgZXhjZWVkIFwiICsgdGhpcy5fTUFYX0xFTkdUSCArIFwiIGNoYXJhY3RlcnMuXCIsIHRoaXMuX0VSUk9SX01FU1NBR0VfSU5WQUxJRF9WQUxVRSA9IFwic2hvdWxkIGJlIGEgQVNDSUkgc3RyaW5nIHdpdGggYSBsZW5ndGggbm90IGV4Y2VlZCBcIiArIHRoaXMuX01BWF9MRU5HVEggKyBcIiBjaGFyYWN0ZXJzLlwiO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24obikge1xuICAgICAgdmFyIHQgPSB7fSwgaSA9IE9UKCksIG8gPSBpLk9URUxfUkVTT1VSQ0VfQVRUUklCVVRFUywgciQxID0gaS5PVEVMX1NFUlZJQ0VfTkFNRTtcbiAgICAgIGlmIChvKVxuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciB1ID0gdGhpcy5fcGFyc2VSZXNvdXJjZUF0dHJpYnV0ZXMobyk7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0LCB1KTtcbiAgICAgICAgfSBjYXRjaCAoYSkge1xuICAgICAgICAgIHIuZGVidWcoXCJFbnZEZXRlY3RvciBmYWlsZWQ6IFwiICsgYS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgcmV0dXJuIHIkMSAmJiAodFtpU10gPSByJDEpLCBuZXcgUiQxKHQpO1xuICAgIH0sIGUucHJvdG90eXBlLl9wYXJzZVJlc291cmNlQXR0cmlidXRlcyA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHZhciB0LCBpO1xuICAgICAgaWYgKCFuKVxuICAgICAgICByZXR1cm4ge307XG4gICAgICB2YXIgbyA9IHt9LCByID0gbi5zcGxpdCh0aGlzLl9DT01NQV9TRVBBUkFUT1IsIC0xKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGZvciAodmFyIHUgPSBMKHIpLCBhID0gdS5uZXh0KCk7ICFhLmRvbmU7IGEgPSB1Lm5leHQoKSkge1xuICAgICAgICAgIHZhciBmID0gYS52YWx1ZSwgYyA9IGYuc3BsaXQodGhpcy5fTEFCRUxfS0VZX1ZBTFVFX1NQTElUVEVSLCAtMSk7XG4gICAgICAgICAgaWYgKGMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICB2YXIgcyA9IHgoYywgMiksIGQgPSBzWzBdLCB5ID0gc1sxXTtcbiAgICAgICAgICAgIGlmIChkID0gZC50cmltKCksIHkgPSB5LnRyaW0oKS5zcGxpdCgvXlwifFwiJC8pLmpvaW4oXCJcIiksICF0aGlzLl9pc1ZhbGlkQW5kTm90RW1wdHkoZCkpXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dHJpYnV0ZSBrZXkgXCIgKyB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfQ0hBUlMpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1ZhbGlkKHkpKVxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdHRyaWJ1dGUgdmFsdWUgXCIgKyB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfVkFMVUUpO1xuICAgICAgICAgICAgb1tkXSA9IGRlY29kZVVSSUNvbXBvbmVudCh5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGcpIHtcbiAgICAgICAgdCA9IHsgZXJyb3I6IGcgfTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYSAmJiAhYS5kb25lICYmIChpID0gdS5yZXR1cm4pICYmIGkuY2FsbCh1KTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBpZiAodCkgdGhyb3cgdC5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG87XG4gICAgfSwgZS5wcm90b3R5cGUuX2lzVmFsaWQgPSBmdW5jdGlvbihuKSB7XG4gICAgICByZXR1cm4gbi5sZW5ndGggPD0gdGhpcy5fTUFYX0xFTkdUSCAmJiB0aGlzLl9pc0JhZ2dhZ2VPY3RldFN0cmluZyhuKTtcbiAgICB9LCBlLnByb3RvdHlwZS5faXNCYWdnYWdlT2N0ZXRTdHJpbmcgPSBmdW5jdGlvbihuKSB7XG4gICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IG4ubGVuZ3RoOyB0KyspIHtcbiAgICAgICAgdmFyIGkgPSBuLmNoYXJDb2RlQXQodCk7XG4gICAgICAgIGlmIChpIDwgMzMgfHwgaSA9PT0gNDQgfHwgaSA9PT0gNTkgfHwgaSA9PT0gOTIgfHwgaSA+IDEyNilcbiAgICAgICAgICByZXR1cm4gITE7XG4gICAgICB9XG4gICAgICByZXR1cm4gITA7XG4gICAgfSwgZS5wcm90b3R5cGUuX2lzVmFsaWRBbmROb3RFbXB0eSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHJldHVybiBuLmxlbmd0aCA+IDAgJiYgdGhpcy5faXNWYWxpZChuKTtcbiAgICB9LCBlO1xuICB9KClcbiksIFYgPSBuZXcgQygpLCBCID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgfVxuICAgIHJldHVybiBlLnByb3RvdHlwZS5kZXRlY3QgPSBmdW5jdGlvbihuKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFYuZGV0ZWN0KG4pKTtcbiAgICB9LCBlO1xuICB9KClcbiksIFcgPSBuZXcgQigpLCBVID0gZnVuY3Rpb24oZSkge1xuICByZXR1cm4gZSAhPT0gbnVsbCAmJiB0eXBlb2YgZSA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBlLnRoZW4gPT0gXCJmdW5jdGlvblwiO1xufSwgUyA9IGZ1bmN0aW9uKGUsIG4sIHQsIGkpIHtcbiAgZnVuY3Rpb24gbyhyKSB7XG4gICAgcmV0dXJuIHIgaW5zdGFuY2VvZiB0ID8gciA6IG5ldyB0KGZ1bmN0aW9uKHUpIHtcbiAgICAgIHUocik7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5ldyAodCB8fCAodCA9IFByb21pc2UpKShmdW5jdGlvbihyLCB1KSB7XG4gICAgZnVuY3Rpb24gYShzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjKGkubmV4dChzKSk7XG4gICAgICB9IGNhdGNoIChkKSB7XG4gICAgICAgIHUoZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGYocykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYyhpLnRocm93KHMpKTtcbiAgICAgIH0gY2F0Y2ggKGQpIHtcbiAgICAgICAgdShkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gYyhzKSB7XG4gICAgICBzLmRvbmUgPyByKHMudmFsdWUpIDogbyhzLnZhbHVlKS50aGVuKGEsIGYpO1xuICAgIH1cbiAgICBjKChpID0gaS5hcHBseShlLCBbXSkpLm5leHQoKSk7XG4gIH0pO1xufSwgcCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgdmFyIHQgPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHtcbiAgICBpZiAoclswXSAmIDEpIHRocm93IHJbMV07XG4gICAgcmV0dXJuIHJbMV07XG4gIH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGksIG8sIHIsIHU7XG4gIHJldHVybiB1ID0geyBuZXh0OiBhKDApLCB0aHJvdzogYSgxKSwgcmV0dXJuOiBhKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT0gXCJmdW5jdGlvblwiICYmICh1W1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfSksIHU7XG4gIGZ1bmN0aW9uIGEoYykge1xuICAgIHJldHVybiBmdW5jdGlvbihzKSB7XG4gICAgICByZXR1cm4gZihbYywgc10pO1xuICAgIH07XG4gIH1cbiAgZnVuY3Rpb24gZihjKSB7XG4gICAgaWYgKGkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xuICAgIGZvciAoOyB0OyApIHRyeSB7XG4gICAgICBpZiAoaSA9IDEsIG8gJiYgKHIgPSBjWzBdICYgMiA/IG8ucmV0dXJuIDogY1swXSA/IG8udGhyb3cgfHwgKChyID0gby5yZXR1cm4pICYmIHIuY2FsbChvKSwgMCkgOiBvLm5leHQpICYmICEociA9IHIuY2FsbChvLCBjWzFdKSkuZG9uZSkgcmV0dXJuIHI7XG4gICAgICBzd2l0Y2ggKG8gPSAwLCByICYmIChjID0gW2NbMF0gJiAyLCByLnZhbHVlXSksIGNbMF0pIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgciA9IGM7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICByZXR1cm4gdC5sYWJlbCsrLCB7IHZhbHVlOiBjWzFdLCBkb25lOiAhMSB9O1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgdC5sYWJlbCsrLCBvID0gY1sxXSwgYyA9IFswXTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA3OlxuICAgICAgICAgIGMgPSB0Lm9wcy5wb3AoKSwgdC50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGlmIChyID0gdC50cnlzLCAhKHIgPSByLmxlbmd0aCA+IDAgJiYgcltyLmxlbmd0aCAtIDFdKSAmJiAoY1swXSA9PT0gNiB8fCBjWzBdID09PSAyKSkge1xuICAgICAgICAgICAgdCA9IDA7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNbMF0gPT09IDMgJiYgKCFyIHx8IGNbMV0gPiByWzBdICYmIGNbMV0gPCByWzNdKSkge1xuICAgICAgICAgICAgdC5sYWJlbCA9IGNbMV07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNbMF0gPT09IDYgJiYgdC5sYWJlbCA8IHJbMV0pIHtcbiAgICAgICAgICAgIHQubGFiZWwgPSByWzFdLCByID0gYztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAociAmJiB0LmxhYmVsIDwgclsyXSkge1xuICAgICAgICAgICAgdC5sYWJlbCA9IHJbMl0sIHQub3BzLnB1c2goYyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgclsyXSAmJiB0Lm9wcy5wb3AoKSwgdC50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgYyA9IG4uY2FsbChlLCB0KTtcbiAgICB9IGNhdGNoIChzKSB7XG4gICAgICBjID0gWzYsIHNdLCBvID0gMDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaSA9IHIgPSAwO1xuICAgIH1cbiAgICBpZiAoY1swXSAmIDUpIHRocm93IGNbMV07XG4gICAgcmV0dXJuIHsgdmFsdWU6IGNbMF0gPyBjWzFdIDogdm9pZCAwLCBkb25lOiAhMCB9O1xuICB9XG59LCAkID0gZnVuY3Rpb24oZSkge1xuICByZXR1cm4gZSA9PT0gdm9pZCAwICYmIChlID0ge30pLCBTKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKCkge1xuICAgIHZhciBuO1xuICAgIHJldHVybiBwKHRoaXMsIGZ1bmN0aW9uKHQpIHtcbiAgICAgIHN3aXRjaCAodC5sYWJlbCkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgcmV0dXJuIFs0LCBQcm9taXNlLmFsbCgoZS5kZXRlY3RvcnMgfHwgW10pLm1hcChmdW5jdGlvbihpKSB7XG4gICAgICAgICAgICByZXR1cm4gUyh2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgdmFyIG8sIHIkMTtcbiAgICAgICAgICAgICAgcmV0dXJuIHAodGhpcywgZnVuY3Rpb24odSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodS5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdS50cnlzLnB1c2goWzAsIDIsICwgM10pLCBbNCwgaS5kZXRlY3QoZSldO1xuICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbyA9IHUuc2VudCgpLCByLmRlYnVnKGkuY29uc3RydWN0b3IubmFtZSArIFwiIGZvdW5kIHJlc291cmNlLlwiLCBvKSwgWzIsIG9dO1xuICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gciQxID0gdS5zZW50KCksIHIuZGVidWcoaS5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgZmFpbGVkOiBcIiArIHIkMS5tZXNzYWdlKSwgWzIsIFIkMS5lbXB0eSgpXTtcbiAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgICAgLypyZXR1cm4qL1xuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSldO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgcmV0dXJuIG4gPSB0LnNlbnQoKSwgUihuKSwgWzIsIG4ucmVkdWNlKGZ1bmN0aW9uKGksIG8pIHtcbiAgICAgICAgICAgIHJldHVybiBpLm1lcmdlKG8pO1xuICAgICAgICAgIH0sIFIkMS5lbXB0eSgpKV07XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufSwgeiA9IGZ1bmN0aW9uKGUpIHtcbiAgdmFyIG47XG4gIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KTtcbiAgdmFyIHQgPSAoKG4gPSBlLmRldGVjdG9ycykgIT09IG51bGwgJiYgbiAhPT0gdm9pZCAwID8gbiA6IFtdKS5tYXAoZnVuY3Rpb24obykge1xuICAgIHRyeSB7XG4gICAgICB2YXIgciQxID0gby5kZXRlY3QoZSksIHU7XG4gICAgICBpZiAoVShyJDEpKSB7XG4gICAgICAgIHZhciBhID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIFModm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgZiwgYztcbiAgICAgICAgICAgIHJldHVybiBwKHRoaXMsIGZ1bmN0aW9uKHMpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChzLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0LCByJDFdO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgIHJldHVybiBmID0gcy5zZW50KCksIFs0LCAoYyA9IGYud2FpdEZvckFzeW5jQXR0cmlidXRlcykgPT09IG51bGwgfHwgYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYy5jYWxsKGYpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcy5zZW50KCksIFsyLCBmLmF0dHJpYnV0ZXNdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgdSA9IG5ldyBSJDEoe30sIGEoKSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdSA9IHIkMTtcbiAgICAgIHJldHVybiB1LndhaXRGb3JBc3luY0F0dHJpYnV0ZXMgPyB1LndhaXRGb3JBc3luY0F0dHJpYnV0ZXMoKS50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gci5kZWJ1ZyhvLmNvbnN0cnVjdG9yLm5hbWUgKyBcIiBmb3VuZCByZXNvdXJjZS5cIiwgdSk7XG4gICAgICB9KSA6IHIuZGVidWcoby5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgZm91bmQgcmVzb3VyY2UuXCIsIHUpLCB1O1xuICAgIH0gY2F0Y2ggKGYpIHtcbiAgICAgIHJldHVybiByLmVycm9yKG8uY29uc3RydWN0b3IubmFtZSArIFwiIGZhaWxlZDogXCIgKyBmLm1lc3NhZ2UpLCBSJDEuZW1wdHkoKTtcbiAgICB9XG4gIH0pLCBpID0gdC5yZWR1Y2UoZnVuY3Rpb24obywgcikge1xuICAgIHJldHVybiBvLm1lcmdlKHIpO1xuICB9LCBSJDEuZW1wdHkoKSk7XG4gIHJldHVybiBpLndhaXRGb3JBc3luY0F0dHJpYnV0ZXMgJiYgaS53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKCkudGhlbihmdW5jdGlvbigpIHtcbiAgICBSKHQpO1xuICB9KSwgaTtcbn0sIFIgPSBmdW5jdGlvbihlKSB7XG4gIGUuZm9yRWFjaChmdW5jdGlvbihuKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKG4uYXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgdmFyIHQgPSBKU09OLnN0cmluZ2lmeShuLmF0dHJpYnV0ZXMsIG51bGwsIDQpO1xuICAgICAgci52ZXJib3NlKHQpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgeyBSJDEgYXMgUmVzb3VyY2UsIEogYXMgYnJvd3NlckRldGVjdG9yLCBPIGFzIGJyb3dzZXJEZXRlY3RvclN5bmMsICQgYXMgZGV0ZWN0UmVzb3VyY2VzLCB6IGFzIGRldGVjdFJlc291cmNlc1N5bmMsIFcgYXMgZW52RGV0ZWN0b3IsIFYgYXMgZW52RGV0ZWN0b3JTeW5jLCBIIGFzIGhvc3REZXRlY3RvciwgRiBhcyBob3N0RGV0ZWN0b3JTeW5jLCBYIGFzIG9zRGV0ZWN0b3IsIGsgYXMgb3NEZXRlY3RvclN5bmMsIEsgYXMgcHJvY2Vzc0RldGVjdG9yLCBZIGFzIHByb2Nlc3NEZXRlY3RvclN5bmMsIHEgYXMgc2VydmljZUluc3RhbmNlSWREZXRlY3RvclN5bmMgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQVc7QUFDekIsU0FBYyxLQUFMQyxVQUErQjtBQUN4QyxTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLFNBQVU7QUFFNUQsSUFBSUM7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVNDLElBQUk7QUFBQSxJQUNiO0FBQ0EsV0FBT0EsRUFBRSxVQUFVLFNBQVMsV0FBVztBQUNyQyxhQUFPLElBQUlULEVBQUksQ0FBQyxDQUFDO0FBQUEsSUFDbkIsR0FBR1M7QUFBQSxFQUNMLEVBQUU7QUFBQSxHQUNEQyxJQUFJLElBQUlGLEVBQUUsR0FBRztBQUFBO0FBQUEsRUFFZCxXQUFXO0FBQ1QsYUFBU0MsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPQSxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ3JDLGFBQU8sUUFBUSxRQUFRQyxFQUFFLE9BQU8sQ0FBQztBQUFBLElBQ25DLEdBQUdEO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSUQsR0FBR0UsSUFBSUgsR0FBR0ksSUFBSUgsR0FBR0ksSUFBSUwsR0FBRyxJQUFJQyxHQUFH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QUc7QUFDekIsc0JBQVFBLEVBQUUsT0FBTztBQUFBLGdCQUNmLEtBQUs7QUFDSCx5QkFBTyxDQUFDLEdBQUdGLENBQUc7QUFBQSxnQkFDaEIsS0FBSztBQUNILHlCQUFPLElBQUlFLEVBQUUsS0FBSyxHQUFHLENBQUMsSUFBSUQsSUFBSSxFQUFFLDRCQUE0QixRQUFRQSxNQUFNLFNBQVMsU0FBU0EsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUFBLGdCQUN2RyxLQUFLO0FBQ0gseUJBQU9DLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVU7QUFBQSxjQUNyQztBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0gsQ0FBQztBQUFBLFFBQ0g7QUFDQSxRQUFBVCxJQUFJLElBQUluQixFQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFBQSxNQUNyQjtBQUNFLFFBQUFtQixJQUFJTztBQUNOLGFBQU9QLEVBQUUseUJBQXlCQSxFQUFFLHVCQUF1QixFQUFFLEtBQUssV0FBVztBQUMzRSxlQUFPakIsRUFBRSxNQUFNLEVBQUUsWUFBWSxPQUFPLG9CQUFvQmlCLENBQUM7QUFBQSxNQUMzRCxDQUFDLElBQUlqQixFQUFFLE1BQU0sRUFBRSxZQUFZLE9BQU8sb0JBQW9CaUIsQ0FBQyxHQUFHQTtBQUFBLElBQzVELFNBQVMsR0FBRztBQUNWLGFBQU9qQixFQUFFLE1BQU0sRUFBRSxZQUFZLE9BQU8sY0FBYyxFQUFFLE9BQU8sR0FBR0YsRUFBSSxNQUFNO0FBQUEsSUFDMUU7QUFBQSxFQUNGLENBQUMsR0FBRyxJQUFJaUIsRUFBRSxPQUFPLFNBQVMsR0FBRyxHQUFHO0FBQzlCLFdBQU8sRUFBRSxNQUFNLENBQUM7QUFBQSxFQUNsQixHQUFHakIsRUFBSSxNQUFNLENBQUM7QUFDZCxTQUFPLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxXQUFXO0FBQzVFLElBQUFzQyxFQUFFckIsQ0FBQztBQUFBLEVBQ0wsQ0FBQyxHQUFHO0FBQ04sR0FBR3FCLElBQUksU0FBUzdCLEdBQUc7QUFDakIsRUFBQUEsRUFBRSxRQUFRLFNBQVMsR0FBRztBQUNwQixRQUFJLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEdBQUc7QUFDeEMsVUFBSVEsSUFBSSxLQUFLLFVBQVUsRUFBRSxZQUFZLE1BQU0sQ0FBQztBQUM1QyxNQUFBZixFQUFFLFFBQVFlLENBQUM7QUFBQSxJQUNiO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbIlIkMSIsICJFIiwgInIiLCAiRVQiLCAib1MiLCAidFMiLCAiT1QiLCAiaVMiLCAiVCIsICJlIiwgImgiLCAiXyIsICJIIiwgIkYiLCAiWCIsICJrIiwgInEiLCAidCIsICJOIiwgInUiLCAiTyIsICJNIiwgIkoiLCAiTCIsICJ4IiwgIkMiLCAiciQxIiwgImMiLCAicyIsICJ5IiwgImciLCAiViIsICJCIiwgIlciLCAiVSIsICJTIiwgInAiLCAiJCIsICJSIl0KfQo=
330
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtREtzaW5oSDctIX57MDBlfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUiQxIH0gZnJvbSAnLi9SZXNvdXJjZS1Db3A5eGFNNi0hfnswMGZ9fi5qcyc7XG5leHBvcnQgeyBFIGFzIGRlZmF1bHRTZXJ2aWNlTmFtZSB9IGZyb20gJy4vUmVzb3VyY2UtQ29wOXhhTTYtIX57MDBmfX4uanMnO1xuaW1wb3J0IHsgciB9IGZyb20gJy4vZGlhZy1hcGktQmNuSnFwTk4tIX57MDA3fX4uanMnO1xuaW1wb3J0IHsgRSBhcyBFVCwgbyBhcyBvUywgdCBhcyB0UywgTyBhcyBPVCwgaSBhcyBpUyB9IGZyb20gJy4vc2RrLWluZm8tQjlMclNPUDItIX57MDBnfX4uanMnO1xuXG52YXIgVCA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gbmV3IFIkMSh7fSk7XG4gICAgfSwgZTtcbiAgfSgpXG4pLCBoID0gbmV3IFQoKSwgSSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGguZGV0ZWN0KCkpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgXyA9IG5ldyBJKCksIEggPSBfLCBGID0gaCwgWCA9IF8sIGsgPSBoLCBLID0gXywgWSA9IF8sIHEgPSBoLCBFID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBFID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbihlKSB7XG4gICAgZm9yICh2YXIgbiwgdCA9IDEsIGkgPSBhcmd1bWVudHMubGVuZ3RoOyB0IDwgaTsgdCsrKSB7XG4gICAgICBuID0gYXJndW1lbnRzW3RdO1xuICAgICAgZm9yICh2YXIgbyBpbiBuKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwgbykgJiYgKGVbb10gPSBuW29dKTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0sIEUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn0sIE4gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmRldGVjdCA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHZhciB0LCBpLCBvLCByLCB1ID0gdHlwZW9mIG5hdmlnYXRvciA8IFwidVwiICYmICgobyA9IChpID0gZ2xvYmFsLnByb2Nlc3MpID09PSBudWxsIHx8IGkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGkudmVyc2lvbnMpID09PSBudWxsIHx8IG8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IG8ubm9kZSkgPT09IHZvaWQgMCAmJiAvLyBOb2RlLmpzIHYyMSBhZGRzIGBuYXZpZ2F0b3JgXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAvLyBAdHMtaWdub3JlIGRvbid0IGhhdmUgQnVuIHR5cGVzXG4gICAgICAoKHIgPSBnbG9iYWwuQnVuKSA9PT0gbnVsbCB8fCByID09PSB2b2lkIDAgPyB2b2lkIDAgOiByLnZlcnNpb24pID09PSB2b2lkIDA7XG4gICAgICBpZiAoIXUpXG4gICAgICAgIHJldHVybiBSJDEuZW1wdHkoKTtcbiAgICAgIHZhciBhID0gKHQgPSB7fSwgdFtFVF0gPSBcImJyb3dzZXJcIiwgdFtvU10gPSBcIldlYiBCcm93c2VyXCIsIHRbdFNdID0gbmF2aWdhdG9yLnVzZXJBZ2VudCwgdCk7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0UmVzb3VyY2VBdHRyaWJ1dGVzKGEsIG4pO1xuICAgIH0sIGUucHJvdG90eXBlLl9nZXRSZXNvdXJjZUF0dHJpYnV0ZXMgPSBmdW5jdGlvbihuLCB0KSB7XG4gICAgICByZXR1cm4gblt0U10gPT09IFwiXCIgPyAoci5kZWJ1ZyhcIkJyb3dzZXJEZXRlY3RvciBmYWlsZWQ6IFVuYWJsZSB0byBmaW5kIHJlcXVpcmVkIGJyb3dzZXIgcmVzb3VyY2VzLiBcIiksIFIkMS5lbXB0eSgpKSA6IG5ldyBSJDEoRSh7fSwgbikpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgTyA9IG5ldyBOKCksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmRldGVjdCA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoTy5kZXRlY3QobikpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgSiA9IG5ldyBNKCksIEwgPSBmdW5jdGlvbihlKSB7XG4gIHZhciBuID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCB0ID0gbiAmJiBlW25dLCBpID0gMDtcbiAgaWYgKHQpIHJldHVybiB0LmNhbGwoZSk7XG4gIGlmIChlICYmIHR5cGVvZiBlLmxlbmd0aCA9PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGUgJiYgaSA+PSBlLmxlbmd0aCAmJiAoZSA9IHZvaWQgMCksIHsgdmFsdWU6IGUgJiYgZVtpKytdLCBkb25lOiAhZSB9O1xuICAgIH1cbiAgfTtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihuID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xufSwgeCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgdmFyIHQgPSB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiBlW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghdCkgcmV0dXJuIGU7XG4gIHZhciBpID0gdC5jYWxsKGUpLCBvLCByID0gW10sIHU7XG4gIHRyeSB7XG4gICAgZm9yICg7IChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShvID0gaS5uZXh0KCkpLmRvbmU7ICkgci5wdXNoKG8udmFsdWUpO1xuICB9IGNhdGNoIChhKSB7XG4gICAgdSA9IHsgZXJyb3I6IGEgfTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgbyAmJiAhby5kb25lICYmICh0ID0gaS5yZXR1cm4pICYmIHQuY2FsbChpKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHUpIHRocm93IHUuZXJyb3I7XG4gICAgfVxuICB9XG4gIHJldHVybiByO1xufSwgQyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgdGhpcy5fTUFYX0xFTkdUSCA9IDI1NSwgdGhpcy5fQ09NTUFfU0VQQVJBVE9SID0gXCIsXCIsIHRoaXMuX0xBQkVMX0tFWV9WQUxVRV9TUExJVFRFUiA9IFwiPVwiLCB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfQ0hBUlMgPSBcInNob3VsZCBiZSBhIEFTQ0lJIHN0cmluZyB3aXRoIGEgbGVuZ3RoIGdyZWF0ZXIgdGhhbiAwIGFuZCBub3QgZXhjZWVkIFwiICsgdGhpcy5fTUFYX0xFTkdUSCArIFwiIGNoYXJhY3RlcnMuXCIsIHRoaXMuX0VSUk9SX01FU1NBR0VfSU5WQUxJRF9WQUxVRSA9IFwic2hvdWxkIGJlIGEgQVNDSUkgc3RyaW5nIHdpdGggYSBsZW5ndGggbm90IGV4Y2VlZCBcIiArIHRoaXMuX01BWF9MRU5HVEggKyBcIiBjaGFyYWN0ZXJzLlwiO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24obikge1xuICAgICAgdmFyIHQgPSB7fSwgaSA9IE9UKCksIG8gPSBpLk9URUxfUkVTT1VSQ0VfQVRUUklCVVRFUywgciQxID0gaS5PVEVMX1NFUlZJQ0VfTkFNRTtcbiAgICAgIGlmIChvKVxuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciB1ID0gdGhpcy5fcGFyc2VSZXNvdXJjZUF0dHJpYnV0ZXMobyk7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0LCB1KTtcbiAgICAgICAgfSBjYXRjaCAoYSkge1xuICAgICAgICAgIHIuZGVidWcoXCJFbnZEZXRlY3RvciBmYWlsZWQ6IFwiICsgYS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgcmV0dXJuIHIkMSAmJiAodFtpU10gPSByJDEpLCBuZXcgUiQxKHQpO1xuICAgIH0sIGUucHJvdG90eXBlLl9wYXJzZVJlc291cmNlQXR0cmlidXRlcyA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHZhciB0LCBpO1xuICAgICAgaWYgKCFuKVxuICAgICAgICByZXR1cm4ge307XG4gICAgICB2YXIgbyA9IHt9LCByID0gbi5zcGxpdCh0aGlzLl9DT01NQV9TRVBBUkFUT1IsIC0xKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGZvciAodmFyIHUgPSBMKHIpLCBhID0gdS5uZXh0KCk7ICFhLmRvbmU7IGEgPSB1Lm5leHQoKSkge1xuICAgICAgICAgIHZhciBmID0gYS52YWx1ZSwgYyA9IGYuc3BsaXQodGhpcy5fTEFCRUxfS0VZX1ZBTFVFX1NQTElUVEVSLCAtMSk7XG4gICAgICAgICAgaWYgKGMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICB2YXIgcyA9IHgoYywgMiksIGQgPSBzWzBdLCB5ID0gc1sxXTtcbiAgICAgICAgICAgIGlmIChkID0gZC50cmltKCksIHkgPSB5LnRyaW0oKS5zcGxpdCgvXlwifFwiJC8pLmpvaW4oXCJcIiksICF0aGlzLl9pc1ZhbGlkQW5kTm90RW1wdHkoZCkpXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dHJpYnV0ZSBrZXkgXCIgKyB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfQ0hBUlMpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1ZhbGlkKHkpKVxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdHRyaWJ1dGUgdmFsdWUgXCIgKyB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfVkFMVUUpO1xuICAgICAgICAgICAgb1tkXSA9IGRlY29kZVVSSUNvbXBvbmVudCh5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGcpIHtcbiAgICAgICAgdCA9IHsgZXJyb3I6IGcgfTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYSAmJiAhYS5kb25lICYmIChpID0gdS5yZXR1cm4pICYmIGkuY2FsbCh1KTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBpZiAodCkgdGhyb3cgdC5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG87XG4gICAgfSwgZS5wcm90b3R5cGUuX2lzVmFsaWQgPSBmdW5jdGlvbihuKSB7XG4gICAgICByZXR1cm4gbi5sZW5ndGggPD0gdGhpcy5fTUFYX0xFTkdUSCAmJiB0aGlzLl9pc0JhZ2dhZ2VPY3RldFN0cmluZyhuKTtcbiAgICB9LCBlLnByb3RvdHlwZS5faXNCYWdnYWdlT2N0ZXRTdHJpbmcgPSBmdW5jdGlvbihuKSB7XG4gICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IG4ubGVuZ3RoOyB0KyspIHtcbiAgICAgICAgdmFyIGkgPSBuLmNoYXJDb2RlQXQodCk7XG4gICAgICAgIGlmIChpIDwgMzMgfHwgaSA9PT0gNDQgfHwgaSA9PT0gNTkgfHwgaSA9PT0gOTIgfHwgaSA+IDEyNilcbiAgICAgICAgICByZXR1cm4gITE7XG4gICAgICB9XG4gICAgICByZXR1cm4gITA7XG4gICAgfSwgZS5wcm90b3R5cGUuX2lzVmFsaWRBbmROb3RFbXB0eSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHJldHVybiBuLmxlbmd0aCA+IDAgJiYgdGhpcy5faXNWYWxpZChuKTtcbiAgICB9LCBlO1xuICB9KClcbiksIFYgPSBuZXcgQygpLCBCID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgfVxuICAgIHJldHVybiBlLnByb3RvdHlwZS5kZXRlY3QgPSBmdW5jdGlvbihuKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFYuZGV0ZWN0KG4pKTtcbiAgICB9LCBlO1xuICB9KClcbiksIFcgPSBuZXcgQigpLCBVID0gZnVuY3Rpb24oZSkge1xuICByZXR1cm4gZSAhPT0gbnVsbCAmJiB0eXBlb2YgZSA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBlLnRoZW4gPT0gXCJmdW5jdGlvblwiO1xufSwgUyA9IGZ1bmN0aW9uKGUsIG4sIHQsIGkpIHtcbiAgZnVuY3Rpb24gbyhyKSB7XG4gICAgcmV0dXJuIHIgaW5zdGFuY2VvZiB0ID8gciA6IG5ldyB0KGZ1bmN0aW9uKHUpIHtcbiAgICAgIHUocik7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5ldyAodCB8fCAodCA9IFByb21pc2UpKShmdW5jdGlvbihyLCB1KSB7XG4gICAgZnVuY3Rpb24gYShzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjKGkubmV4dChzKSk7XG4gICAgICB9IGNhdGNoIChkKSB7XG4gICAgICAgIHUoZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGYocykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYyhpLnRocm93KHMpKTtcbiAgICAgIH0gY2F0Y2ggKGQpIHtcbiAgICAgICAgdShkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gYyhzKSB7XG4gICAgICBzLmRvbmUgPyByKHMudmFsdWUpIDogbyhzLnZhbHVlKS50aGVuKGEsIGYpO1xuICAgIH1cbiAgICBjKChpID0gaS5hcHBseShlLCBbXSkpLm5leHQoKSk7XG4gIH0pO1xufSwgcCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgdmFyIHQgPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHtcbiAgICBpZiAoclswXSAmIDEpIHRocm93IHJbMV07XG4gICAgcmV0dXJuIHJbMV07XG4gIH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGksIG8sIHIsIHU7XG4gIHJldHVybiB1ID0geyBuZXh0OiBhKDApLCB0aHJvdzogYSgxKSwgcmV0dXJuOiBhKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT0gXCJmdW5jdGlvblwiICYmICh1W1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfSksIHU7XG4gIGZ1bmN0aW9uIGEoYykge1xuICAgIHJldHVybiBmdW5jdGlvbihzKSB7XG4gICAgICByZXR1cm4gZihbYywgc10pO1xuICAgIH07XG4gIH1cbiAgZnVuY3Rpb24gZihjKSB7XG4gICAgaWYgKGkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xuICAgIGZvciAoOyB0OyApIHRyeSB7XG4gICAgICBpZiAoaSA9IDEsIG8gJiYgKHIgPSBjWzBdICYgMiA/IG8ucmV0dXJuIDogY1swXSA/IG8udGhyb3cgfHwgKChyID0gby5yZXR1cm4pICYmIHIuY2FsbChvKSwgMCkgOiBvLm5leHQpICYmICEociA9IHIuY2FsbChvLCBjWzFdKSkuZG9uZSkgcmV0dXJuIHI7XG4gICAgICBzd2l0Y2ggKG8gPSAwLCByICYmIChjID0gW2NbMF0gJiAyLCByLnZhbHVlXSksIGNbMF0pIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgciA9IGM7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICByZXR1cm4gdC5sYWJlbCsrLCB7IHZhbHVlOiBjWzFdLCBkb25lOiAhMSB9O1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgdC5sYWJlbCsrLCBvID0gY1sxXSwgYyA9IFswXTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA3OlxuICAgICAgICAgIGMgPSB0Lm9wcy5wb3AoKSwgdC50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGlmIChyID0gdC50cnlzLCAhKHIgPSByLmxlbmd0aCA+IDAgJiYgcltyLmxlbmd0aCAtIDFdKSAmJiAoY1swXSA9PT0gNiB8fCBjWzBdID09PSAyKSkge1xuICAgICAgICAgICAgdCA9IDA7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNbMF0gPT09IDMgJiYgKCFyIHx8IGNbMV0gPiByWzBdICYmIGNbMV0gPCByWzNdKSkge1xuICAgICAgICAgICAgdC5sYWJlbCA9IGNbMV07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNbMF0gPT09IDYgJiYgdC5sYWJlbCA8IHJbMV0pIHtcbiAgICAgICAgICAgIHQubGFiZWwgPSByWzFdLCByID0gYztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAociAmJiB0LmxhYmVsIDwgclsyXSkge1xuICAgICAgICAgICAgdC5sYWJlbCA9IHJbMl0sIHQub3BzLnB1c2goYyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgclsyXSAmJiB0Lm9wcy5wb3AoKSwgdC50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgYyA9IG4uY2FsbChlLCB0KTtcbiAgICB9IGNhdGNoIChzKSB7XG4gICAgICBjID0gWzYsIHNdLCBvID0gMDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaSA9IHIgPSAwO1xuICAgIH1cbiAgICBpZiAoY1swXSAmIDUpIHRocm93IGNbMV07XG4gICAgcmV0dXJuIHsgdmFsdWU6IGNbMF0gPyBjWzFdIDogdm9pZCAwLCBkb25lOiAhMCB9O1xuICB9XG59LCAkID0gZnVuY3Rpb24oZSkge1xuICByZXR1cm4gZSA9PT0gdm9pZCAwICYmIChlID0ge30pLCBTKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKCkge1xuICAgIHZhciBuO1xuICAgIHJldHVybiBwKHRoaXMsIGZ1bmN0aW9uKHQpIHtcbiAgICAgIHN3aXRjaCAodC5sYWJlbCkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgcmV0dXJuIFs0LCBQcm9taXNlLmFsbCgoZS5kZXRlY3RvcnMgfHwgW10pLm1hcChmdW5jdGlvbihpKSB7XG4gICAgICAgICAgICByZXR1cm4gUyh2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgdmFyIG8sIHIkMTtcbiAgICAgICAgICAgICAgcmV0dXJuIHAodGhpcywgZnVuY3Rpb24odSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodS5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdS50cnlzLnB1c2goWzAsIDIsICwgM10pLCBbNCwgaS5kZXRlY3QoZSldO1xuICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbyA9IHUuc2VudCgpLCByLmRlYnVnKGkuY29uc3RydWN0b3IubmFtZSArIFwiIGZvdW5kIHJlc291cmNlLlwiLCBvKSwgWzIsIG9dO1xuICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gciQxID0gdS5zZW50KCksIHIuZGVidWcoaS5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgZmFpbGVkOiBcIiArIHIkMS5tZXNzYWdlKSwgWzIsIFIkMS5lbXB0eSgpXTtcbiAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgICAgLypyZXR1cm4qL1xuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSldO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgcmV0dXJuIG4gPSB0LnNlbnQoKSwgUihuKSwgWzIsIG4ucmVkdWNlKGZ1bmN0aW9uKGksIG8pIHtcbiAgICAgICAgICAgIHJldHVybiBpLm1lcmdlKG8pO1xuICAgICAgICAgIH0sIFIkMS5lbXB0eSgpKV07XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufSwgeiA9IGZ1bmN0aW9uKGUpIHtcbiAgdmFyIG47XG4gIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KTtcbiAgdmFyIHQgPSAoKG4gPSBlLmRldGVjdG9ycykgIT09IG51bGwgJiYgbiAhPT0gdm9pZCAwID8gbiA6IFtdKS5tYXAoZnVuY3Rpb24obykge1xuICAgIHRyeSB7XG4gICAgICB2YXIgciQxID0gby5kZXRlY3QoZSksIHU7XG4gICAgICBpZiAoVShyJDEpKSB7XG4gICAgICAgIHZhciBhID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIFModm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgZiwgYztcbiAgICAgICAgICAgIHJldHVybiBwKHRoaXMsIGZ1bmN0aW9uKHMpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChzLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0LCByJDFdO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgIHJldHVybiBmID0gcy5zZW50KCksIFs0LCAoYyA9IGYud2FpdEZvckFzeW5jQXR0cmlidXRlcykgPT09IG51bGwgfHwgYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYy5jYWxsKGYpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcy5zZW50KCksIFsyLCBmLmF0dHJpYnV0ZXNdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgdSA9IG5ldyBSJDEoe30sIGEoKSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdSA9IHIkMTtcbiAgICAgIHJldHVybiB1LndhaXRGb3JBc3luY0F0dHJpYnV0ZXMgPyB1LndhaXRGb3JBc3luY0F0dHJpYnV0ZXMoKS50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gci5kZWJ1ZyhvLmNvbnN0cnVjdG9yLm5hbWUgKyBcIiBmb3VuZCByZXNvdXJjZS5cIiwgdSk7XG4gICAgICB9KSA6IHIuZGVidWcoby5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgZm91bmQgcmVzb3VyY2UuXCIsIHUpLCB1O1xuICAgIH0gY2F0Y2ggKGYpIHtcbiAgICAgIHJldHVybiByLmVycm9yKG8uY29uc3RydWN0b3IubmFtZSArIFwiIGZhaWxlZDogXCIgKyBmLm1lc3NhZ2UpLCBSJDEuZW1wdHkoKTtcbiAgICB9XG4gIH0pLCBpID0gdC5yZWR1Y2UoZnVuY3Rpb24obywgcikge1xuICAgIHJldHVybiBvLm1lcmdlKHIpO1xuICB9LCBSJDEuZW1wdHkoKSk7XG4gIHJldHVybiBpLndhaXRGb3JBc3luY0F0dHJpYnV0ZXMgJiYgaS53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKCkudGhlbihmdW5jdGlvbigpIHtcbiAgICBSKHQpO1xuICB9KSwgaTtcbn0sIFIgPSBmdW5jdGlvbihlKSB7XG4gIGUuZm9yRWFjaChmdW5jdGlvbihuKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKG4uYXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgdmFyIHQgPSBKU09OLnN0cmluZ2lmeShuLmF0dHJpYnV0ZXMsIG51bGwsIDQpO1xuICAgICAgci52ZXJib3NlKHQpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgeyBSJDEgYXMgUmVzb3VyY2UsIEogYXMgYnJvd3NlckRldGVjdG9yLCBPIGFzIGJyb3dzZXJEZXRlY3RvclN5bmMsICQgYXMgZGV0ZWN0UmVzb3VyY2VzLCB6IGFzIGRldGVjdFJlc291cmNlc1N5bmMsIFcgYXMgZW52RGV0ZWN0b3IsIFYgYXMgZW52RGV0ZWN0b3JTeW5jLCBIIGFzIGhvc3REZXRlY3RvciwgRiBhcyBob3N0RGV0ZWN0b3JTeW5jLCBYIGFzIG9zRGV0ZWN0b3IsIGsgYXMgb3NEZXRlY3RvclN5bmMsIEsgYXMgcHJvY2Vzc0RldGVjdG9yLCBZIGFzIHByb2Nlc3NEZXRlY3RvclN5bmMsIHEgYXMgc2VydmljZUluc3RhbmNlSWREZXRlY3RvclN5bmMgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQVc7QUFDekIsU0FBYyxLQUFMQyxVQUErQjtBQUN4QyxTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLFNBQVU7QUFFNUQsSUFBSUM7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVNDLElBQUk7QUFBQSxJQUNiO0FBQ0EsV0FBT0EsRUFBRSxVQUFVLFNBQVMsV0FBVztBQUNyQyxhQUFPLElBQUlULEVBQUksQ0FBQyxDQUFDO0FBQUEsSUFDbkIsR0FBR1M7QUFBQSxFQUNMLEVBQUU7QUFBQSxHQUNEQyxJQUFJLElBQUlGLEVBQUUsR0FBRztBQUFBO0FBQUEsRUFFZCxXQUFXO0FBQ1QsYUFBU0MsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPQSxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ3JDLGFBQU8sUUFBUSxRQUFRQyxFQUFFLE9BQU8sQ0FBQztBQUFBLElBQ25DLEdBQUdEO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSUQsR0FBR0UsSUFBSUgsR0FBR0ksSUFBSUgsR0FBR0ksSUFBSUwsR0FBRyxJQUFJQyxHQUFH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QUc7QUFDekIsc0JBQVFBLEVBQUUsT0FBTztBQUFBLGdCQUNmLEtBQUs7QUFDSCx5QkFBTyxDQUFDLEdBQUdGLENBQUc7QUFBQSxnQkFDaEIsS0FBSztBQUNILHlCQUFPLElBQUlFLEVBQUUsS0FBSyxHQUFHLENBQUMsSUFBSUQsSUFBSSxFQUFFLDRCQUE0QixRQUFRQSxNQUFNLFNBQVMsU0FBU0EsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUFBLGdCQUN2RyxLQUFLO0FBQ0gseUJBQU9DLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVU7QUFBQSxjQUNyQztBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0gsQ0FBQztBQUFBLFFBQ0g7QUFDQSxRQUFBVCxJQUFJLElBQUluQixFQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFBQSxNQUNyQjtBQUNFLFFBQUFtQixJQUFJTztBQUNOLGFBQU9QLEVBQUUseUJBQXlCQSxFQUFFLHVCQUF1QixFQUFFLEtBQUssV0FBVztBQUMzRSxlQUFPakIsRUFBRSxNQUFNLEVBQUUsWUFBWSxPQUFPLG9CQUFvQmlCLENBQUM7QUFBQSxNQUMzRCxDQUFDLElBQUlqQixFQUFFLE1BQU0sRUFBRSxZQUFZLE9BQU8sb0JBQW9CaUIsQ0FBQyxHQUFHQTtBQUFBLElBQzVELFNBQVMsR0FBRztBQUNWLGFBQU9qQixFQUFFLE1BQU0sRUFBRSxZQUFZLE9BQU8sY0FBYyxFQUFFLE9BQU8sR0FBR0YsRUFBSSxNQUFNO0FBQUEsSUFDMUU7QUFBQSxFQUNGLENBQUMsR0FBRyxJQUFJaUIsRUFBRSxPQUFPLFNBQVMsR0FBRyxHQUFHO0FBQzlCLFdBQU8sRUFBRSxNQUFNLENBQUM7QUFBQSxFQUNsQixHQUFHakIsRUFBSSxNQUFNLENBQUM7QUFDZCxTQUFPLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxXQUFXO0FBQzVFLElBQUFzQyxFQUFFckIsQ0FBQztBQUFBLEVBQ0wsQ0FBQyxHQUFHO0FBQ04sR0FBR3FCLElBQUksU0FBUzdCLEdBQUc7QUFDakIsRUFBQUEsRUFBRSxRQUFRLFNBQVMsR0FBRztBQUNwQixRQUFJLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEdBQUc7QUFDeEMsVUFBSVEsSUFBSSxLQUFLLFVBQVUsRUFBRSxZQUFZLE1BQU0sQ0FBQztBQUM1QyxNQUFBZixFQUFFLFFBQVFlLENBQUM7QUFBQSxJQUNiO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbIlIkMSIsICJFIiwgInIiLCAiRVQiLCAib1MiLCAidFMiLCAiT1QiLCAiaVMiLCAiVCIsICJlIiwgImgiLCAiXyIsICJIIiwgIkYiLCAiWCIsICJrIiwgInEiLCAidCIsICJOIiwgInUiLCAiTyIsICJNIiwgIkoiLCAiTCIsICJ4IiwgIkMiLCAiciQxIiwgImMiLCAicyIsICJ5IiwgImciLCAiViIsICJCIiwgIlciLCAiVSIsICJTIiwgInAiLCAiJCIsICJSIl0KfQo=
@@ -1,8 +1,8 @@
1
- import { k as a } from "./metrics-api-Boddpk8P-5Yd9BTNs.js";
2
- import { P as d } from "./index-Cgr3OZtX.js";
3
- import { S as u } from "./utils-BJLZP7xv-CsKnCWfD.js";
4
- import { Y as b, H as w, F as E, q as F } from "./utils-BJLZP7xv-CsKnCWfD.js";
5
- import { r as c } from "./diag-api-DlzYu3FX-C5uOnDAk.js";
1
+ import { k as a } from "./metrics-api-BVvZxaKB-CF_NUVDr.js";
2
+ import { D as d } from "./index-7gPFY7FO.js";
3
+ import { S as u } from "./utils-BaM96hbi-CTqsgfxk.js";
4
+ import { Y as b, H as w, F as D, q as E } from "./utils-BaM96hbi-CTqsgfxk.js";
5
+ import { r as c } from "./diag-api-BcnJqpNN-GNwTWFoK.js";
6
6
  function f(e, t, r, i) {
7
7
  for (var n = 0, s = e.length; n < s; n++) {
8
8
  var o = e[n];
@@ -46,7 +46,7 @@ export {
46
46
  M as InstrumentationNodeModuleFile,
47
47
  w as isWrapped,
48
48
  P as registerInstrumentations,
49
- E as safeExecuteInTheMiddle,
50
- F as safeExecuteInTheMiddleAsync
49
+ D as safeExecuteInTheMiddle,
50
+ E as safeExecuteInTheMiddleAsync
51
51
  };
52
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtQzFRVEhfZkYtIX57MDBjfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGsgfSBmcm9tICcuL21ldHJpY3MtYXBpLUJvZGRwazhQLSF+ezAwZH1+LmpzJztcbmltcG9ydCB7IFAgYXMgUGUgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcbmltcG9ydCB7IFMgfSBmcm9tICcuL3V0aWxzLUJKTFpQN3h2LSF+ezAwOX1+LmpzJztcbmV4cG9ydCB7IFkgYXMgSW5zdHJ1bWVudGF0aW9uQmFzZSwgSCBhcyBpc1dyYXBwZWQsIEYgYXMgc2FmZUV4ZWN1dGVJblRoZU1pZGRsZSwgcSBhcyBzYWZlRXhlY3V0ZUluVGhlTWlkZGxlQXN5bmMgfSBmcm9tICcuL3V0aWxzLUJKTFpQN3h2LSF+ezAwOX1+LmpzJztcbmltcG9ydCB7IHIgfSBmcm9tICcuL2RpYWctYXBpLURsell1M0ZYLSF+ezAwN31+LmpzJztcblxuZnVuY3Rpb24gbChlLCByLCB0LCBvKSB7XG4gIGZvciAodmFyIG4gPSAwLCBhID0gZS5sZW5ndGg7IG4gPCBhOyBuKyspIHtcbiAgICB2YXIgaSA9IGVbbl07XG4gICAgciAmJiBpLnNldFRyYWNlclByb3ZpZGVyKHIpLCB0ICYmIGkuc2V0TWV0ZXJQcm92aWRlcih0KSwgbyAmJiBpLnNldExvZ2dlclByb3ZpZGVyICYmIGkuc2V0TG9nZ2VyUHJvdmlkZXIobyksIGkuZ2V0Q29uZmlnKCkuZW5hYmxlZCB8fCBpLmVuYWJsZSgpO1xuICB9XG59XG5mdW5jdGlvbiBjKGUpIHtcbiAgZS5mb3JFYWNoKGZ1bmN0aW9uKHIpIHtcbiAgICByZXR1cm4gci5kaXNhYmxlKCk7XG4gIH0pO1xufVxuZnVuY3Rpb24gSShlKSB7XG4gIHZhciByLCB0LCBvID0gZS50cmFjZXJQcm92aWRlciB8fCBQZS5nZXRUcmFjZXJQcm92aWRlcigpLCBuID0gZS5tZXRlclByb3ZpZGVyIHx8IGsuZ2V0TWV0ZXJQcm92aWRlcigpLCBhID0gZS5sb2dnZXJQcm92aWRlciB8fCBTLmdldExvZ2dlclByb3ZpZGVyKCksIGkgPSAodCA9IChyID0gZS5pbnN0cnVtZW50YXRpb25zKSA9PT0gbnVsbCB8fCByID09PSB2b2lkIDAgPyB2b2lkIDAgOiByLmZsYXQoKSkgIT09IG51bGwgJiYgdCAhPT0gdm9pZCAwID8gdCA6IFtdO1xuICByZXR1cm4gbChpLCBvLCBuLCBhKSwgZnVuY3Rpb24oKSB7XG4gICAgYyhpKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIG0oZSkge1xuICByZXR1cm4gci53YXJuKFwiUGF0aCBub3JtYWxpemF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgdGhpcyBwbGF0Zm9ybS4gVG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcsIGVuc3VyZSBubyBub2RlLXNwZWNpZmljIGluc3RydW1lbnRhdGlvbnMgYXJlIGxvYWRlZCwgYW5kIG5vZGUtc3BlY2lmaWMgdHlwZXMgKGUuZy4gSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUpLCBhcmUgbm90IHVzZWQgaW4gYSBicm93c2VyIGNvbnRleHQpXCIpLCBlO1xufVxudmFyIFAgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIGUociwgdCwgbywgbiwgYSkge1xuICAgICAgdGhpcy5uYW1lID0gciwgdGhpcy5zdXBwb3J0ZWRWZXJzaW9ucyA9IHQsIHRoaXMucGF0Y2ggPSBvLCB0aGlzLnVucGF0Y2ggPSBuLCB0aGlzLmZpbGVzID0gYSB8fCBbXTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0oKVxuKSwgTSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZShyLCB0LCBvLCBuKSB7XG4gICAgICB0aGlzLnN1cHBvcnRlZFZlcnNpb25zID0gdCwgdGhpcy5wYXRjaCA9IG8sIHRoaXMudW5wYXRjaCA9IG4sIHRoaXMubmFtZSA9IG0ocik7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KClcbik7XG5cbmV4cG9ydCB7IFAgYXMgSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZURlZmluaXRpb24sIE0gYXMgSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUsIEkgYXMgcmVnaXN0ZXJJbnN0cnVtZW50YXRpb25zIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFBQSxTQUFTO0FBQ2xCLFNBQVMsS0FBS0MsU0FBVTtBQUN4QixTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBYyxLQUFMQyxHQUErQixLQUFMQyxHQUFxQixLQUFMQyxHQUFrQyxLQUFMQyxTQUF3QztBQUN4SCxTQUFTLEtBQUFDLFNBQVM7QUFFbEIsU0FBU0MsRUFBRSxHQUFHRCxHQUFHRSxHQUFHQyxHQUFHO0FBQ3JCLFdBQVMsSUFBSSxHQUFHQyxJQUFJLEVBQUUsUUFBUSxJQUFJQSxHQUFHLEtBQUs7QUFDeEMsUUFBSUMsSUFBSSxFQUFFLENBQUM7QUFDWCxJQUFBTCxLQUFLSyxFQUFFLGtCQUFrQkwsQ0FBQyxHQUFHRSxLQUFLRyxFQUFFLGlCQUFpQkgsQ0FBQyxHQUFHQyxLQUFLRSxFQUFFLHFCQUFxQkEsRUFBRSxrQkFBa0JGLENBQUMsR0FBR0UsRUFBRSxVQUFVLEVBQUUsV0FBV0EsRUFBRSxPQUFPO0FBQUEsRUFDako7QUFDRjtBQUNBLFNBQVNDLEVBQUUsR0FBRztBQUNaLElBQUUsUUFBUSxTQUFTTixHQUFHO0FBQ3BCLFdBQU9BLEVBQUUsUUFBUTtBQUFBLEVBQ25CLENBQUM7QUFDSDtBQUNBLFNBQVNPLEVBQUUsR0FBRztBQUNaLE1BQUlQLEdBQUdFLEdBQUdDLElBQUksRUFBRSxrQkFBa0JULEVBQUcsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGlCQUFpQkQsRUFBRSxpQkFBaUIsR0FBR1csSUFBSSxFQUFFLGtCQUFrQlQsRUFBRSxrQkFBa0IsR0FBR1UsS0FBS0gsS0FBS0YsSUFBSSxFQUFFLHNCQUFzQixRQUFRQSxNQUFNLFNBQVMsU0FBU0EsRUFBRSxLQUFLLE9BQU8sUUFBUUUsTUFBTSxTQUFTQSxJQUFJLENBQUM7QUFDdFEsU0FBT0QsRUFBRUksR0FBR0YsR0FBRyxHQUFHQyxDQUFDLEdBQUcsV0FBVztBQUMvQixJQUFBRSxFQUFFRCxDQUFDO0FBQUEsRUFDTDtBQUNGO0FBQ0EsU0FBUyxFQUFFLEdBQUc7QUFDWixTQUFPTCxFQUFFLEtBQUsseU9BQXlPLEdBQUc7QUFDNVA7QUFDQSxJQUFJUTtBQUFBO0FBQUEsRUFFYywyQkFBVztBQUN6QixhQUFTLEVBQUVSLEdBQUdFLEdBQUdDLEdBQUcsR0FBR0MsR0FBRztBQUN4QixXQUFLLE9BQU9KLEdBQUcsS0FBSyxvQkFBb0JFLEdBQUcsS0FBSyxRQUFRQyxHQUFHLEtBQUssVUFBVSxHQUFHLEtBQUssUUFBUUMsS0FBSyxDQUFDO0FBQUEsSUFDbEc7QUFDQSxXQUFPO0FBQUEsRUFDVCxFQUFFO0FBQUEsR0FDRDtBQUFBO0FBQUEsRUFFZSwyQkFBVztBQUN6QixhQUFTLEVBQUVKLEdBQUdFLEdBQUdDLEdBQUcsR0FBRztBQUNyQixXQUFLLG9CQUFvQkQsR0FBRyxLQUFLLFFBQVFDLEdBQUcsS0FBSyxVQUFVLEdBQUcsS0FBSyxPQUFPLEVBQUVILENBQUM7QUFBQSxJQUMvRTtBQUNBLFdBQU87QUFBQSxFQUNULEVBQUU7QUFBQTsiLAogICJuYW1lcyI6IFsiayIsICJQZSIsICJTIiwgIlkiLCAiSCIsICJGIiwgInEiLCAiciIsICJsIiwgInQiLCAibyIsICJhIiwgImkiLCAiYyIsICJJIiwgIlAiXQp9Cg==
52
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtcjl6akI3YUYtIX57MDBjfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGsgfSBmcm9tICcuL21ldHJpY3MtYXBpLUJWdlp4YUtCLSF+ezAwZH1+LmpzJztcbmltcG9ydCB7IEQgYXMgRGUgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcbmltcG9ydCB7IFMgfSBmcm9tICcuL3V0aWxzLUJhTTk2aGJpLSF+ezAwOX1+LmpzJztcbmV4cG9ydCB7IFkgYXMgSW5zdHJ1bWVudGF0aW9uQmFzZSwgSCBhcyBpc1dyYXBwZWQsIEYgYXMgc2FmZUV4ZWN1dGVJblRoZU1pZGRsZSwgcSBhcyBzYWZlRXhlY3V0ZUluVGhlTWlkZGxlQXN5bmMgfSBmcm9tICcuL3V0aWxzLUJhTTk2aGJpLSF+ezAwOX1+LmpzJztcbmltcG9ydCB7IHIgfSBmcm9tICcuL2RpYWctYXBpLUJjbkpxcE5OLSF+ezAwN31+LmpzJztcblxuZnVuY3Rpb24gbChlLCByLCB0LCBvKSB7XG4gIGZvciAodmFyIG4gPSAwLCBhID0gZS5sZW5ndGg7IG4gPCBhOyBuKyspIHtcbiAgICB2YXIgaSA9IGVbbl07XG4gICAgciAmJiBpLnNldFRyYWNlclByb3ZpZGVyKHIpLCB0ICYmIGkuc2V0TWV0ZXJQcm92aWRlcih0KSwgbyAmJiBpLnNldExvZ2dlclByb3ZpZGVyICYmIGkuc2V0TG9nZ2VyUHJvdmlkZXIobyksIGkuZ2V0Q29uZmlnKCkuZW5hYmxlZCB8fCBpLmVuYWJsZSgpO1xuICB9XG59XG5mdW5jdGlvbiBjKGUpIHtcbiAgZS5mb3JFYWNoKGZ1bmN0aW9uKHIpIHtcbiAgICByZXR1cm4gci5kaXNhYmxlKCk7XG4gIH0pO1xufVxuZnVuY3Rpb24gSShlKSB7XG4gIHZhciByLCB0LCBvID0gZS50cmFjZXJQcm92aWRlciB8fCBEZS5nZXRUcmFjZXJQcm92aWRlcigpLCBuID0gZS5tZXRlclByb3ZpZGVyIHx8IGsuZ2V0TWV0ZXJQcm92aWRlcigpLCBhID0gZS5sb2dnZXJQcm92aWRlciB8fCBTLmdldExvZ2dlclByb3ZpZGVyKCksIGkgPSAodCA9IChyID0gZS5pbnN0cnVtZW50YXRpb25zKSA9PT0gbnVsbCB8fCByID09PSB2b2lkIDAgPyB2b2lkIDAgOiByLmZsYXQoKSkgIT09IG51bGwgJiYgdCAhPT0gdm9pZCAwID8gdCA6IFtdO1xuICByZXR1cm4gbChpLCBvLCBuLCBhKSwgZnVuY3Rpb24oKSB7XG4gICAgYyhpKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIG0oZSkge1xuICByZXR1cm4gci53YXJuKFwiUGF0aCBub3JtYWxpemF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgdGhpcyBwbGF0Zm9ybS4gVG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcsIGVuc3VyZSBubyBub2RlLXNwZWNpZmljIGluc3RydW1lbnRhdGlvbnMgYXJlIGxvYWRlZCwgYW5kIG5vZGUtc3BlY2lmaWMgdHlwZXMgKGUuZy4gSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUpLCBhcmUgbm90IHVzZWQgaW4gYSBicm93c2VyIGNvbnRleHQpXCIpLCBlO1xufVxudmFyIFAgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIGUociwgdCwgbywgbiwgYSkge1xuICAgICAgdGhpcy5uYW1lID0gciwgdGhpcy5zdXBwb3J0ZWRWZXJzaW9ucyA9IHQsIHRoaXMucGF0Y2ggPSBvLCB0aGlzLnVucGF0Y2ggPSBuLCB0aGlzLmZpbGVzID0gYSB8fCBbXTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0oKVxuKSwgTSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZShyLCB0LCBvLCBuKSB7XG4gICAgICB0aGlzLnN1cHBvcnRlZFZlcnNpb25zID0gdCwgdGhpcy5wYXRjaCA9IG8sIHRoaXMudW5wYXRjaCA9IG4sIHRoaXMubmFtZSA9IG0ocik7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KClcbik7XG5cbmV4cG9ydCB7IFAgYXMgSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZURlZmluaXRpb24sIE0gYXMgSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUsIEkgYXMgcmVnaXN0ZXJJbnN0cnVtZW50YXRpb25zIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFBQSxTQUFTO0FBQ2xCLFNBQVMsS0FBS0MsU0FBVTtBQUN4QixTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBYyxLQUFMQyxHQUErQixLQUFMQyxHQUFxQixLQUFMQyxHQUFrQyxLQUFMQyxTQUF3QztBQUN4SCxTQUFTLEtBQUFDLFNBQVM7QUFFbEIsU0FBU0MsRUFBRSxHQUFHRCxHQUFHRSxHQUFHQyxHQUFHO0FBQ3JCLFdBQVMsSUFBSSxHQUFHQyxJQUFJLEVBQUUsUUFBUSxJQUFJQSxHQUFHLEtBQUs7QUFDeEMsUUFBSUMsSUFBSSxFQUFFLENBQUM7QUFDWCxJQUFBTCxLQUFLSyxFQUFFLGtCQUFrQkwsQ0FBQyxHQUFHRSxLQUFLRyxFQUFFLGlCQUFpQkgsQ0FBQyxHQUFHQyxLQUFLRSxFQUFFLHFCQUFxQkEsRUFBRSxrQkFBa0JGLENBQUMsR0FBR0UsRUFBRSxVQUFVLEVBQUUsV0FBV0EsRUFBRSxPQUFPO0FBQUEsRUFDako7QUFDRjtBQUNBLFNBQVNDLEVBQUUsR0FBRztBQUNaLElBQUUsUUFBUSxTQUFTTixHQUFHO0FBQ3BCLFdBQU9BLEVBQUUsUUFBUTtBQUFBLEVBQ25CLENBQUM7QUFDSDtBQUNBLFNBQVNPLEVBQUUsR0FBRztBQUNaLE1BQUlQLEdBQUdFLEdBQUdDLElBQUksRUFBRSxrQkFBa0JULEVBQUcsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGlCQUFpQkQsRUFBRSxpQkFBaUIsR0FBR1csSUFBSSxFQUFFLGtCQUFrQlQsRUFBRSxrQkFBa0IsR0FBR1UsS0FBS0gsS0FBS0YsSUFBSSxFQUFFLHNCQUFzQixRQUFRQSxNQUFNLFNBQVMsU0FBU0EsRUFBRSxLQUFLLE9BQU8sUUFBUUUsTUFBTSxTQUFTQSxJQUFJLENBQUM7QUFDdFEsU0FBT0QsRUFBRUksR0FBR0YsR0FBRyxHQUFHQyxDQUFDLEdBQUcsV0FBVztBQUMvQixJQUFBRSxFQUFFRCxDQUFDO0FBQUEsRUFDTDtBQUNGO0FBQ0EsU0FBUyxFQUFFLEdBQUc7QUFDWixTQUFPTCxFQUFFLEtBQUsseU9BQXlPLEdBQUc7QUFDNVA7QUFDQSxJQUFJUTtBQUFBO0FBQUEsRUFFYywyQkFBVztBQUN6QixhQUFTLEVBQUVSLEdBQUdFLEdBQUdDLEdBQUcsR0FBR0MsR0FBRztBQUN4QixXQUFLLE9BQU9KLEdBQUcsS0FBSyxvQkFBb0JFLEdBQUcsS0FBSyxRQUFRQyxHQUFHLEtBQUssVUFBVSxHQUFHLEtBQUssUUFBUUMsS0FBSyxDQUFDO0FBQUEsSUFDbEc7QUFDQSxXQUFPO0FBQUEsRUFDVCxFQUFFO0FBQUEsR0FDRDtBQUFBO0FBQUEsRUFFZSwyQkFBVztBQUN6QixhQUFTLEVBQUVKLEdBQUdFLEdBQUdDLEdBQUcsR0FBRztBQUNyQixXQUFLLG9CQUFvQkQsR0FBRyxLQUFLLFFBQVFDLEdBQUcsS0FBSyxVQUFVLEdBQUcsS0FBSyxPQUFPLEVBQUVILENBQUM7QUFBQSxJQUMvRTtBQUNBLFdBQU87QUFBQSxFQUNULEVBQUU7QUFBQTsiLAogICJuYW1lcyI6IFsiayIsICJEZSIsICJTIiwgIlkiLCAiSCIsICJGIiwgInEiLCAiciIsICJsIiwgInQiLCAibyIsICJhIiwgImkiLCAiYyIsICJJIiwgIlAiXQp9Cg==
package/dist/index.d.ts CHANGED
@@ -257,14 +257,6 @@ declare enum ElementTypeEnum {
257
257
  CDE_BRIDGE = 'cde-bridge',
258
258
  }
259
259
 
260
- declare enum Environment {
261
- Local = 'local',
262
- Development = 'development',
263
- Staging = 'staging',
264
- Demo = 'demo',
265
- Production = 'production',
266
- }
267
-
268
260
  declare interface ExchangableToken extends Omit<TokenExchangeDetailsResponse, 'exchangeRates'> {
269
261
  wrapsTo?: string;
270
262
  exchange: ExchangeRateDetails;
@@ -363,7 +355,7 @@ export declare interface LoopConnectConfig {
363
355
  apiKey: string;
364
356
  entityId: string;
365
357
  merchantId?: string;
366
- environment?: Environment | `${Environment}`;
358
+ environment?: LoopEnvironment | `${LoopEnvironment}`;
367
359
  customStyles?: CustomStyles;
368
360
  onInitialized?: (detail: InitializedEvent) => void;
369
361
  onInitFailed?: (detail: InitFailedEvent) => void;
@@ -396,11 +388,20 @@ declare type LoopCryptoFlowCustomParams =
396
388
  export declare type LoopCryptoWidgetProps = {
397
389
  paymentUsdAmount: number;
398
390
  suggestedAuthorizationUsdAmount: number;
391
+ minAuthorizationUsdAmount: number;
399
392
  subscriptionRefId?: string;
400
393
  customerRefId?: string;
401
394
  invoiceRefId?: string;
402
395
  };
403
396
 
397
+ export declare enum LoopEnvironment {
398
+ Local = 'local',
399
+ Development = 'development',
400
+ Staging = 'staging',
401
+ Demo = 'demo',
402
+ Production = 'production',
403
+ }
404
+
404
405
  declare interface NetworkChangeEvent {
405
406
  id: number;
406
407
  name: string;
@@ -428,10 +429,13 @@ declare type OnValidationError = (field: AllFieldNames, errors: string[], elemen
428
429
  declare interface PayInCompleteEvent extends PayinResponse {}
429
430
 
430
431
  export declare enum PayInFailed {
432
+ // Create payment method
433
+ METHOD_CREATION_FAILED = 'methodCreationFailed',
431
434
  INSUFFICIENT_BALANCE = 'insufficientBalance',
432
435
  INSUFFICIENT_AUTHORIZATION = 'insufficientAuthorization',
433
436
  SIGNED_MESSAGE_REQUIRED = 'signedMessageRequired',
434
437
  CUSTOMER_CREATION_FAILED = 'customerCreationFailed',
438
+ // Create pay-in
435
439
  PAYMENT_FAILED = 'paymentFailed',
436
440
  TRANSACTION_FAILED = 'transactionFailed',
437
441
  }
@@ -535,6 +539,7 @@ export declare enum PayInState {
535
539
  UPDATING_AUTHORIZATION = 'updatingAuthorization',
536
540
  SIGNING_MESSAGE = 'signingMessage',
537
541
  CREATING_CUSTOMER = 'creatingCustomer',
542
+ CREATING_PAYMENT_METHOD = 'creatingPaymentMethod',
538
543
  /**
539
544
  * @deprecated State CREATING_PAYMENT is used when a payment is awaiting creation confirmation
540
545
  */
@@ -593,6 +598,15 @@ declare interface PayInStateChangeEventCreatingPayment {
593
598
  paymentMethodId: string;
594
599
  }
595
600
 
601
+ declare interface PayInStateChangeEventCreatingPaymentMethod {
602
+ token: LoopConnectToken;
603
+ walletAddress: string;
604
+ chain: BlockchainNetwork;
605
+ networkName: string;
606
+ customerId: string;
607
+ customerRefId?: string;
608
+ }
609
+
596
610
  declare type PayInStateChangeEventIdle = unknown;
597
611
 
598
612
  /**
@@ -631,6 +645,7 @@ declare type PayInStateDataMap = {
631
645
  [PayInState.UPDATING_AUTHORIZATION]: PayInStateChangeEventUpdatingAuthorization;
632
646
  [PayInState.SIGNING_MESSAGE]: PayInStateChangeEventSigningMessage;
633
647
  [PayInState.CREATING_CUSTOMER]: PayInStateChangeEventCreatingCustomer;
648
+ [PayInState.CREATING_PAYMENT_METHOD]: PayInStateChangeEventCreatingPaymentMethod;
634
649
  [PayInState.PROCESSING_PAYMENT]: PayInStateChangeEventProcessingPayment;
635
650
  [PayInState.CREATING_PAYMENT]: PayInStateChangeEventCreatingPayment;
636
651
  [PayInState.CONFIRMING_PAYMENT]: PayInStateChangeEventConfirmingPayment;
@@ -750,7 +765,7 @@ declare interface PaymentMethodTokenExchangeRate {
750
765
  timestamp: number;
751
766
  }
752
767
 
753
- declare const PaymentProcessor = z.enum(['stripe', 'airwallex', 'authorize_net']);
768
+ declare const PaymentProcessor = z.enum(['stripe', 'airwallex', 'authorize_net', 'adyen']);
754
769
 
755
770
  declare type PaymentProcessor = z.infer<typeof PaymentProcessor>;
756
771
 
@@ -817,6 +832,8 @@ declare type ProcessorSpecificSubmitSettings<T extends SubmitMethod = SubmitMeth
817
832
  'airwallex-apple-pay': ApplePayFlowCustomParams;
818
833
  'authorizenet-google-pay': GooglePayFlowCustomParams;
819
834
  'authorizenet-apple-pay': ApplePayFlowCustomParams;
835
+ 'adyen-google-pay': GooglePayFlowCustomParams;
836
+ 'adyen-apple-pay': ApplePayFlowCustomParams;
820
837
  'loop-crypto': LoopCryptoFlowCustomParams;
821
838
  paypal: PaypalFlowCustomParams;
822
839
  }[T];
package/dist/index.js CHANGED
@@ -1,16 +1,17 @@
1
- import { d as t, e as n, f as l, g as E, E as d, h as i, i as o, j as p, u as C } from "./index-Cgr3OZtX.js";
2
- import "uuid";
3
1
  import "penpal";
2
+ import { C as t, g as n, h as l, i as o, E, F as i, l as p, P as d, j as C, u as y } from "./index-7gPFY7FO.js";
3
+ import "uuid";
4
4
  import "chalk";
5
5
  export {
6
6
  t as CardCvcElement,
7
7
  n as CardElement,
8
8
  l as CardExpiryElement,
9
- E as CardNumberElement,
10
- d as ElementsForm,
9
+ o as CardNumberElement,
10
+ E as ElementsForm,
11
11
  i as FieldName,
12
- o as PayInFailed,
13
- p as PayInState,
14
- C as useOpenPayElements
12
+ p as LoopEnvironment,
13
+ d as PayInFailed,
14
+ C as PayInState,
15
+ y as useOpenPayElements
15
16
  };
16
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXguanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCB7IGQgYXMgQ2FyZEN2Y0VsZW1lbnQsIGUgYXMgQ2FyZEVsZW1lbnQsIGYgYXMgQ2FyZEV4cGlyeUVsZW1lbnQsIGcgYXMgQ2FyZE51bWJlckVsZW1lbnQsIEUgYXMgRWxlbWVudHNGb3JtLCBoIGFzIEZpZWxkTmFtZSwgaSBhcyBQYXlJbkZhaWxlZCwgaiBhcyBQYXlJblN0YXRlLCB1IGFzIHVzZU9wZW5QYXlFbGVtZW50cyB9IGZyb20gJy4vaW5kZXgtIX57MDA0fX4uanMnO1xuaW1wb3J0ICd1dWlkJztcbmltcG9ydCAncGVucGFsJztcbmltcG9ydCAnY2hhbGsnOyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQWMsS0FBTEEsR0FBMEIsS0FBTEMsR0FBdUIsS0FBTEMsR0FBNkIsS0FBTEMsR0FBNkIsS0FBTEMsR0FBd0IsS0FBTEMsR0FBcUIsS0FBTEMsR0FBdUIsS0FBTEMsR0FBc0IsS0FBTEMsU0FBK0I7QUFDck0sT0FBTztBQUNQLE9BQU87QUFDUCxPQUFPOyIsCiAgIm5hbWVzIjogWyJkIiwgImUiLCAiZiIsICJnIiwgIkUiLCAiaCIsICJpIiwgImoiLCAidSJdCn0K
17
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXguanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCAncGVucGFsJztcbmV4cG9ydCB7IEMgYXMgQ2FyZEN2Y0VsZW1lbnQsIGcgYXMgQ2FyZEVsZW1lbnQsIGggYXMgQ2FyZEV4cGlyeUVsZW1lbnQsIGkgYXMgQ2FyZE51bWJlckVsZW1lbnQsIEUgYXMgRWxlbWVudHNGb3JtLCBGIGFzIEZpZWxkTmFtZSwgbCBhcyBMb29wRW52aXJvbm1lbnQsIFAgYXMgUGF5SW5GYWlsZWQsIGogYXMgUGF5SW5TdGF0ZSwgdSBhcyB1c2VPcGVuUGF5RWxlbWVudHMgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcbmltcG9ydCAndXVpZCc7XG5pbXBvcnQgJ2NoYWxrJzsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFPO0FBQ1AsU0FBYyxLQUFMQSxHQUEwQixLQUFMQyxHQUF1QixLQUFMQyxHQUE2QixLQUFMQyxHQUE2QixHQUFtQixLQUFMQyxHQUFxQixLQUFMQyxHQUEyQixLQUFMQyxHQUF1QixLQUFMQyxHQUFzQixLQUFMQyxTQUErQjtBQUMzTixPQUFPO0FBQ1AsT0FBTzsiLAogICJuYW1lcyI6IFsiQyIsICJnIiwgImgiLCAiaSIsICJGIiwgImwiLCAiUCIsICJqIiwgInUiXQp9Cg==
@@ -1,4 +1,4 @@
1
- import { F as l, n as f, z as y, M as h } from "./index-Cgr3OZtX.js";
1
+ import { c as l, d as f, Q as y, e as h } from "./index-7gPFY7FO.js";
2
2
  var o = /* @__PURE__ */ function() {
3
3
  var t = function(n, e) {
4
4
  return t = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(r, u) {
@@ -56,7 +56,7 @@ var o = /* @__PURE__ */ function() {
56
56
  return n.prototype.add = function(e, r) {
57
57
  }, n;
58
58
  }(i)
59
- ), w = (
59
+ ), d = (
60
60
  /** @class */
61
61
  function(t) {
62
62
  o(n, t);
@@ -66,7 +66,7 @@ var o = /* @__PURE__ */ function() {
66
66
  return n.prototype.add = function(e, r) {
67
67
  }, n;
68
68
  }(i)
69
- ), d = (
69
+ ), w = (
70
70
  /** @class */
71
71
  function(t) {
72
72
  o(n, t);
@@ -122,8 +122,8 @@ var o = /* @__PURE__ */ function() {
122
122
  }
123
123
  return n;
124
124
  }(a)
125
- ), s = new b(), C = new g(), M = new d(), P = new v(), k = new w(), G = new m(), j = new O(), D = new _();
126
- function B() {
125
+ ), s = new b(), C = new g(), M = new w(), P = new v(), k = new d(), G = new m(), j = new O(), D = new _();
126
+ function E() {
127
127
  return s;
128
128
  }
129
129
  var I = (
@@ -152,9 +152,9 @@ var I = (
152
152
  h(p, f.instance());
153
153
  }, t;
154
154
  }()
155
- ), E = x.getInstance();
155
+ ), Q = x.getInstance();
156
156
  export {
157
- B as D,
158
- E as k
157
+ E as D,
158
+ Q as k
159
159
  };
160
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWV0cmljcy1hcGktQm9kZHBrOFAtIX57MDBkfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IEYgYXMgRnQsIG4gYXMgbnQsIHogYXMgemUsIE0gYXMgTXQgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIG8gPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciB0ID0gZnVuY3Rpb24oZSwgbikge1xuICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24ociwgYSkge1xuICAgICAgci5fX3Byb3RvX18gPSBhO1xuICAgIH0gfHwgZnVuY3Rpb24ociwgYSkge1xuICAgICAgZm9yICh2YXIgdSBpbiBhKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSwgdSkgJiYgKHJbdV0gPSBhW3VdKTtcbiAgICB9LCB0KGUsIG4pO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24oZSwgbikge1xuICAgIGlmICh0eXBlb2YgbiAhPSBcImZ1bmN0aW9uXCIgJiYgbiAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKG4pICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICB0KGUsIG4pO1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTtcbiAgICB9XG4gICAgZS5wcm90b3R5cGUgPSBuID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShuKSA6IChyLnByb3RvdHlwZSA9IG4ucHJvdG90eXBlLCBuZXcgcigpKTtcbiAgfTtcbn0oKSwgTyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuY3JlYXRlR2F1Z2UgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gaDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVIaXN0b2dyYW0gPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gUDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIG07XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBkO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVHYXVnZSA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBSO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIHc7XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gRztcbiAgICB9LCB0LnByb3RvdHlwZS5hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUpIHtcbiAgICB9LCB0O1xuICB9KClcbiksIGkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgfVxuICAgIHJldHVybiB0O1xuICB9KClcbiksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIGIgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIE4gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIHkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIHAgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQucHJvdG90eXBlLmFkZENhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUNhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQ7XG4gIH0oKVxuKSwgZyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbih0KSB7XG4gICAgbyhlLCB0KTtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgcmV0dXJuIHQgIT09IG51bGwgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KHApXG4pLCBDID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0ocClcbiksIEUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbiAgfShwKVxuKSwgbCA9IG5ldyBPKCksIG0gPSBuZXcgTSgpLCBoID0gbmV3IE4oKSwgUCA9IG5ldyB5KCksIGQgPSBuZXcgYigpLCB3ID0gbmV3IGcoKSwgUiA9IG5ldyBDKCksIEcgPSBuZXcgRSgpO1xuZnVuY3Rpb24gRCgpIHtcbiAgcmV0dXJuIGw7XG59XG52YXIgSSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuZ2V0TWV0ZXIgPSBmdW5jdGlvbihlLCBuLCByKSB7XG4gICAgICByZXR1cm4gbDtcbiAgICB9LCB0O1xuICB9KClcbiksIFQgPSBuZXcgSSgpLCBjID0gXCJtZXRyaWNzXCIsIFUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZSB8fCAodGhpcy5faW5zdGFuY2UgPSBuZXcgdCgpKSwgdGhpcy5faW5zdGFuY2U7XG4gICAgfSwgdC5wcm90b3R5cGUuc2V0R2xvYmFsTWV0ZXJQcm92aWRlciA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHJldHVybiBGdChjLCBlLCBudC5pbnN0YW5jZSgpKTtcbiAgICB9LCB0LnByb3RvdHlwZS5nZXRNZXRlclByb3ZpZGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gemUoYykgfHwgVDtcbiAgICB9LCB0LnByb3RvdHlwZS5nZXRNZXRlciA9IGZ1bmN0aW9uKGUsIG4sIHIpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1ldGVyUHJvdmlkZXIoKS5nZXRNZXRlcihlLCBuLCByKTtcbiAgICB9LCB0LnByb3RvdHlwZS5kaXNhYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICBNdChjLCBudC5pbnN0YW5jZSgpKTtcbiAgICB9LCB0O1xuICB9KClcbiksIGsgPSBVLmdldEluc3RhbmNlKCk7XG5cbmV4cG9ydCB7IEQsIGsgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLFNBQVU7QUFFbkQsSUFBSSxJQUFvQiwyQkFBVztBQUNqQyxNQUFJLElBQUksU0FBU0MsR0FBR0MsR0FBRztBQUNyQixXQUFPLElBQUksT0FBTyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsRUFBRSxhQUFhLFNBQVMsU0FBUyxHQUFHQyxHQUFHO0FBQ3ZGLFFBQUUsWUFBWUE7QUFBQSxJQUNoQixLQUFLLFNBQVMsR0FBR0EsR0FBRztBQUNsQixlQUFTQyxLQUFLRCxFQUFHLFFBQU8sVUFBVSxlQUFlLEtBQUtBLEdBQUdDLENBQUMsTUFB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RyxTQUFTRSxJQUFJO0FBQ1gsU0FBT0Q7QUFDVDtBQUNBLElBQUk7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsVUFBVSxXQUFXLFNBQVNuQixHQUFHQyxHQUFHLEdBQUc7QUFDOUMsYUFBT2tCO0FBQUEsSUFDVCxHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSSxXQUFXQztBQUFBO0FBQUEsRUFFN0IsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsY0FBYyxXQUFXO0FBQ2hDLGFBQU8sS0FBSyxjQUFjLEtBQUssWUFBWSxJQUFJLEVBQUUsSUFBSSxLQUFLO0FBQUEsSUFDNUQsR0FBRyxFQUFFLFVBQVUseUJBQXlCLFNBQVN2QixHQUFHO0FBQ2xELGFBQU9KLEVBQUcwQixHQUFHdEIsR0FBR0gsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUMvQixHQUFHLEVBQUUsVUFBVSxtQkFBbUIsV0FBVztBQUMzQyxhQUFPQyxFQUFHd0IsQ0FBQyxLQUFLRDtBQUFBLElBQ2xCLEdBQUcsRUFBRSxVQUFVLFdBQVcsU0FBU3JCLEdBQUdDLEdBQUcsR0FBRztBQUMxQyxhQUFPLEtBQUssaUJBQWlCLEVBQUUsU0FBU0QsR0FBR0MsR0FBRyxDQUFDO0FBQUEsSUFDakQsR0FBRyxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUFGLEVBQUd1QixHQUFHekIsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUNyQixHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDRDJCLElBQUlELEVBQUUsWUFBWTsiLAogICJuYW1lcyI6IFsiRnQiLCAibnQiLCAiemUiLCAiTXQiLCAiZSIsICJuIiwgImEiLCAidSIsICJPIiwgImgiLCAibSIsICJkIiwgIlIiLCAidyIsICJHIiwgIk0iLCAiYiIsICJOIiwgInkiLCAicCIsICJnIiwgIkMiLCAiRSIsICJsIiwgIkQiLCAiVCIsICJjIiwgIlUiLCAiayJdCn0K
160
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWV0cmljcy1hcGktQlZ2WnhhS0ItIX57MDBkfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGMgYXMgVnQsIGQgYXMgZnQsIFEgYXMgUWUsIGUgYXMgR3QgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIG8gPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciB0ID0gZnVuY3Rpb24oZSwgbikge1xuICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24ociwgYSkge1xuICAgICAgci5fX3Byb3RvX18gPSBhO1xuICAgIH0gfHwgZnVuY3Rpb24ociwgYSkge1xuICAgICAgZm9yICh2YXIgdSBpbiBhKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSwgdSkgJiYgKHJbdV0gPSBhW3VdKTtcbiAgICB9LCB0KGUsIG4pO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24oZSwgbikge1xuICAgIGlmICh0eXBlb2YgbiAhPSBcImZ1bmN0aW9uXCIgJiYgbiAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKG4pICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICB0KGUsIG4pO1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTtcbiAgICB9XG4gICAgZS5wcm90b3R5cGUgPSBuID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShuKSA6IChyLnByb3RvdHlwZSA9IG4ucHJvdG90eXBlLCBuZXcgcigpKTtcbiAgfTtcbn0oKSwgTyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuY3JlYXRlR2F1Z2UgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gaDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVIaXN0b2dyYW0gPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gUDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIG07XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBkO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVHYXVnZSA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBSO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIHc7XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gRztcbiAgICB9LCB0LnByb3RvdHlwZS5hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUpIHtcbiAgICB9LCB0O1xuICB9KClcbiksIGkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgfVxuICAgIHJldHVybiB0O1xuICB9KClcbiksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIGIgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIE4gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIHkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIHAgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQucHJvdG90eXBlLmFkZENhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUNhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQ7XG4gIH0oKVxuKSwgZyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbih0KSB7XG4gICAgbyhlLCB0KTtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgcmV0dXJuIHQgIT09IG51bGwgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KHApXG4pLCBDID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0ocClcbiksIEUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbiAgfShwKVxuKSwgbCA9IG5ldyBPKCksIG0gPSBuZXcgTSgpLCBoID0gbmV3IE4oKSwgUCA9IG5ldyB5KCksIGQgPSBuZXcgYigpLCB3ID0gbmV3IGcoKSwgUiA9IG5ldyBDKCksIEcgPSBuZXcgRSgpO1xuZnVuY3Rpb24gRCgpIHtcbiAgcmV0dXJuIGw7XG59XG52YXIgSSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuZ2V0TWV0ZXIgPSBmdW5jdGlvbihlLCBuLCByKSB7XG4gICAgICByZXR1cm4gbDtcbiAgICB9LCB0O1xuICB9KClcbiksIFQgPSBuZXcgSSgpLCBjID0gXCJtZXRyaWNzXCIsIFUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZSB8fCAodGhpcy5faW5zdGFuY2UgPSBuZXcgdCgpKSwgdGhpcy5faW5zdGFuY2U7XG4gICAgfSwgdC5wcm90b3R5cGUuc2V0R2xvYmFsTWV0ZXJQcm92aWRlciA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHJldHVybiBWdChjLCBlLCBmdC5pbnN0YW5jZSgpKTtcbiAgICB9LCB0LnByb3RvdHlwZS5nZXRNZXRlclByb3ZpZGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gUWUoYykgfHwgVDtcbiAgICB9LCB0LnByb3RvdHlwZS5nZXRNZXRlciA9IGZ1bmN0aW9uKGUsIG4sIHIpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1ldGVyUHJvdmlkZXIoKS5nZXRNZXRlcihlLCBuLCByKTtcbiAgICB9LCB0LnByb3RvdHlwZS5kaXNhYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICBHdChjLCBmdC5pbnN0YW5jZSgpKTtcbiAgICB9LCB0O1xuICB9KClcbiksIGsgPSBVLmdldEluc3RhbmNlKCk7XG5cbmV4cG9ydCB7IEQsIGsgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLFNBQVU7QUFFbkQsSUFBSSxJQUFvQiwyQkFBVztBQUNqQyxNQUFJLElBQUksU0FBU0MsR0FBR0MsR0FBRztBQUNyQixXQUFPLElBQUksT0FBTyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsRUFBRSxhQUFhLFNBQVMsU0FBUyxHQUFHQyxHQUFHO0FBQ3ZGLFFBQUUsWUFBWUE7QUFBQSxJQUNoQixLQUFLLFNBQVMsR0FBR0EsR0FBRztBQUNsQixlQUFTQyxLQUFLRCxFQUFHLFFBQU8sVUFBVSxlQUFlLEtBQUtBLEdBQUdDLENBQUMsTUFB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RyxTQUFTRSxJQUFJO0FBQ1gsU0FBT0Q7QUFDVDtBQUNBLElBQUk7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsVUFBVSxXQUFXLFNBQVNuQixHQUFHQyxHQUFHLEdBQUc7QUFDOUMsYUFBT2tCO0FBQUEsSUFDVCxHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSSxXQUFXQztBQUFBO0FBQUEsRUFFN0IsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsY0FBYyxXQUFXO0FBQ2hDLGFBQU8sS0FBSyxjQUFjLEtBQUssWUFBWSxJQUFJLEVBQUUsSUFBSSxLQUFLO0FBQUEsSUFDNUQsR0FBRyxFQUFFLFVBQVUseUJBQXlCLFNBQVN2QixHQUFHO0FBQ2xELGFBQU9KLEVBQUcwQixHQUFHdEIsR0FBR0gsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUMvQixHQUFHLEVBQUUsVUFBVSxtQkFBbUIsV0FBVztBQUMzQyxhQUFPQyxFQUFHd0IsQ0FBQyxLQUFLRDtBQUFBLElBQ2xCLEdBQUcsRUFBRSxVQUFVLFdBQVcsU0FBU3JCLEdBQUdDLEdBQUcsR0FBRztBQUMxQyxhQUFPLEtBQUssaUJBQWlCLEVBQUUsU0FBU0QsR0FBR0MsR0FBRyxDQUFDO0FBQUEsSUFDakQsR0FBRyxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUFGLEVBQUd1QixHQUFHekIsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUNyQixHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDRDJCLElBQUlELEVBQUUsWUFBWTsiLAogICJuYW1lcyI6IFsiVnQiLCAiZnQiLCAiUWUiLCAiR3QiLCAiZSIsICJuIiwgImEiLCAidSIsICJPIiwgImgiLCAibSIsICJkIiwgIlIiLCAidyIsICJHIiwgIk0iLCAiYiIsICJOIiwgInkiLCAicCIsICJnIiwgIkMiLCAiRSIsICJsIiwgIkQiLCAiVCIsICJjIiwgIlUiLCAiayJdCn0K