@getopenpay/openpay-js 0.5.13 → 0.5.15

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 (47) hide show
  1. package/dist/{ExportResult-B-YLKMaU.js → ExportResult-BacsqwKA.js} +1 -1
  2. package/dist/{Resource-BZeevyoh.js → Resource-Ds5bbQ3b.js} +4 -4
  3. package/dist/SimpleSpanProcessor-0bSccE1S.js +910 -0
  4. package/dist/_commonjsHelpers-CdLE1o9f.js +30 -0
  5. package/dist/detect-resources-UwRkF4Xd.js +862 -0
  6. package/dist/{diag-api-CHLb_Weo.js → diag-api-CMlZXyyv.js} +2 -2
  7. package/dist/index-1jECpTsg.js +147 -0
  8. package/dist/index-BZEpD-f0.js +6718 -0
  9. package/dist/index-BhZy-TW3.js +430 -0
  10. package/dist/index-BmKZeOoc.js +1619 -0
  11. package/dist/index-CDdbDQxQ.js +6 -0
  12. package/dist/index-CWTkU3J-.js +18 -0
  13. package/dist/index-DFO-DCsT.js +127 -0
  14. package/dist/index-DsxDp11a.js +28 -0
  15. package/dist/index-JNJd_YS1.js +1012 -0
  16. package/dist/index-j7i6AeZa.js +7005 -0
  17. package/dist/index.d.ts +29 -4
  18. package/dist/index.es.js +2 -2
  19. package/dist/index.umd.js +45 -45
  20. package/dist/lifecycle-D1BdEbZs.js +119 -0
  21. package/dist/{metrics-api-ClKmMX3Y.js → metrics-api-C9pRFfr-.js} +2 -2
  22. package/dist/sdk-info-ChuKu8zW.js +285 -0
  23. package/dist/suppress-tracing-B94rObkn.js +17 -0
  24. package/dist/url-CdPstDG9.js +798 -0
  25. package/dist/utils--M6ihaNw.js +101 -0
  26. package/dist/utils-De78ey-v.js +12 -0
  27. package/dist/utils-VJ-0MC7c.js +270 -0
  28. package/package.json +4 -4
  29. package/dist/SimpleSpanProcessor-CwJD-GjM.js +0 -957
  30. package/dist/_commonjsHelpers-f76XedMs.js +0 -25
  31. package/dist/detect-resources-BatabDmW.js +0 -854
  32. package/dist/index-ByaN1AdQ.js +0 -6685
  33. package/dist/index-CU4AI3HW.js +0 -52
  34. package/dist/index-Cb34s3AM.js +0 -1599
  35. package/dist/index-CmtkHZgE.js +0 -330
  36. package/dist/index-CtZ-xuHu.js +0 -7041
  37. package/dist/index-D5OCmVN-.js +0 -19
  38. package/dist/index-DLJd6nUV.js +0 -150
  39. package/dist/index-DjekHBls.js +0 -431
  40. package/dist/index-DoKHV9rR.js +0 -130
  41. package/dist/index-_ZTp3kCj.js +0 -830
  42. package/dist/lifecycle-BjQ-7GLm.js +0 -119
  43. package/dist/sdk-info-DYuuxEVK.js +0 -484
  44. package/dist/url-BAeEv8aD.js +0 -797
  45. package/dist/utils--qqdHZ_b.js +0 -142
  46. package/dist/utils-Bf8wDuNo.js +0 -381
  47. package/dist/utils-CX5YT7yI.js +0 -14
@@ -1,130 +0,0 @@
1
- import { R as u } from "./index-CtZ-xuHu.js";
2
- import { B as c } from "./SimpleSpanProcessor-CwJD-GjM.js";
3
- import { A as g, b as x, a as S, C as b, F as w, I as P, N as C, P as T, R as O, d as M, S as A, e as E, c as R, T as N } from "./SimpleSpanProcessor-CwJD-GjM.js";
4
- import { P as F, a as j, b as k, g as I, c as W, h as U, n as X, p as z, s as D, d as G } from "./utils--qqdHZ_b.js";
5
- var l = function(n, r) {
6
- var e = typeof Symbol == "function" && n[Symbol.iterator];
7
- if (!e) return n;
8
- var t = e.call(n), o, a = [], s;
9
- try {
10
- for (; (r === void 0 || r-- > 0) && !(o = t.next()).done; ) a.push(o.value);
11
- } catch (i) {
12
- s = { error: i };
13
- } finally {
14
- try {
15
- o && !o.done && (e = t.return) && e.call(t);
16
- } finally {
17
- if (s) throw s.error;
18
- }
19
- }
20
- return a;
21
- }, p = function(n, r, e) {
22
- if (e || arguments.length === 2) for (var t = 0, o = r.length, a; t < o; t++)
23
- (a || !(t in r)) && (a || (a = Array.prototype.slice.call(r, 0, t)), a[t] = r[t]);
24
- return n.concat(a || Array.prototype.slice.call(r));
25
- }, f = (
26
- /** @class */
27
- function() {
28
- function n() {
29
- this._enabled = !1, this._currentContext = u;
30
- }
31
- return n.prototype._bindFunction = function(r, e) {
32
- r === void 0 && (r = u);
33
- var t = this, o = function() {
34
- for (var a = this, s = [], i = 0; i < arguments.length; i++)
35
- s[i] = arguments[i];
36
- return t.with(r, function() {
37
- return e.apply(a, s);
38
- });
39
- };
40
- return Object.defineProperty(o, "length", {
41
- enumerable: !1,
42
- configurable: !0,
43
- writable: !1,
44
- value: e.length
45
- }), o;
46
- }, n.prototype.active = function() {
47
- return this._currentContext;
48
- }, n.prototype.bind = function(r, e) {
49
- return r === void 0 && (r = this.active()), typeof e == "function" ? this._bindFunction(r, e) : e;
50
- }, n.prototype.disable = function() {
51
- return this._currentContext = u, this._enabled = !1, this;
52
- }, n.prototype.enable = function() {
53
- return this._enabled ? this : (this._enabled = !0, this._currentContext = u, this);
54
- }, n.prototype.with = function(r, e, t) {
55
- for (var o = [], a = 3; a < arguments.length; a++)
56
- o[a - 3] = arguments[a];
57
- var s = this._currentContext;
58
- this._currentContext = r || u;
59
- try {
60
- return e.call.apply(e, p([t], l(o), !1));
61
- } finally {
62
- this._currentContext = s;
63
- }
64
- }, n;
65
- }()
66
- ), d = /* @__PURE__ */ function() {
67
- var n = function(r, e) {
68
- return n = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, o) {
69
- t.__proto__ = o;
70
- } || function(t, o) {
71
- for (var a in o) Object.prototype.hasOwnProperty.call(o, a) && (t[a] = o[a]);
72
- }, n(r, e);
73
- };
74
- return function(r, e) {
75
- if (typeof e != "function" && e !== null)
76
- throw new TypeError("Class extends value " + String(e) + " is not a constructor or null");
77
- n(r, e);
78
- function t() {
79
- this.constructor = r;
80
- }
81
- r.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t());
82
- };
83
- }(), v = (
84
- /** @class */
85
- function(n) {
86
- d(r, n);
87
- function r(e) {
88
- e === void 0 && (e = {});
89
- var t = n.call(this, e) || this;
90
- if (e.contextManager)
91
- throw "contextManager should be defined in register method not in constructor";
92
- if (e.propagator)
93
- throw "propagator should be defined in register method not in constructor";
94
- return t;
95
- }
96
- return r.prototype.register = function(e) {
97
- e === void 0 && (e = {}), e.contextManager === void 0 && (e.contextManager = new f()), e.contextManager && e.contextManager.enable(), n.prototype.register.call(this, e);
98
- }, r;
99
- }(c)
100
- );
101
- export {
102
- g as AlwaysOffSampler,
103
- x as AlwaysOnSampler,
104
- c as BasicTracerProvider,
105
- S as BatchSpanProcessor,
106
- b as ConsoleSpanExporter,
107
- w as ForceFlushState,
108
- P as InMemorySpanExporter,
109
- C as NoopSpanProcessor,
110
- T as ParentBasedSampler,
111
- F as PerformanceTimingNames,
112
- O as RandomIdGenerator,
113
- M as SamplingDecision,
114
- A as SimpleSpanProcessor,
115
- E as Span,
116
- f as StackContextManager,
117
- R as TraceIdRatioBasedSampler,
118
- N as Tracer,
119
- v as WebTracerProvider,
120
- j as addSpanNetworkEvent,
121
- k as addSpanNetworkEvents,
122
- I as getElementXPath,
123
- W as getResource,
124
- U as hasKey,
125
- X as normalizeUrl,
126
- z as parseUrl,
127
- D as shouldPropagateTraceHeaders,
128
- G as sortResources
129
- };
130
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDA3fX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUk9PVF9DT05URVhUIH0gZnJvbSAnLi9pbmRleC0hfnswMDZ9fi5qcyc7XG5pbXBvcnQgeyBCIGFzIEJhc2ljVHJhY2VyUHJvdmlkZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgQSBhcyBBbHdheXNPZmZTYW1wbGVyLCBiIGFzIEFsd2F5c09uU2FtcGxlciwgYSBhcyBCYXRjaFNwYW5Qcm9jZXNzb3IsIEMgYXMgQ29uc29sZVNwYW5FeHBvcnRlciwgRiBhcyBGb3JjZUZsdXNoU3RhdGUsIEkgYXMgSW5NZW1vcnlTcGFuRXhwb3J0ZXIsIE4gYXMgTm9vcFNwYW5Qcm9jZXNzb3IsIFAgYXMgUGFyZW50QmFzZWRTYW1wbGVyLCBSIGFzIFJhbmRvbUlkR2VuZXJhdG9yLCBkIGFzIFNhbXBsaW5nRGVjaXNpb24sIFMgYXMgU2ltcGxlU3BhblByb2Nlc3NvciwgZSBhcyBTcGFuLCBjIGFzIFRyYWNlSWRSYXRpb0Jhc2VkU2FtcGxlciwgVCBhcyBUcmFjZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgUCBhcyBQZXJmb3JtYW5jZVRpbWluZ05hbWVzLCBhIGFzIGFkZFNwYW5OZXR3b3JrRXZlbnQsIGIgYXMgYWRkU3Bhbk5ldHdvcmtFdmVudHMsIGcgYXMgZ2V0RWxlbWVudFhQYXRoLCBjIGFzIGdldFJlc291cmNlLCBoIGFzIGhhc0tleSwgbiBhcyBub3JtYWxpemVVcmwsIHAgYXMgcGFyc2VVcmwsIHMgYXMgc2hvdWxkUHJvcGFnYXRlVHJhY2VIZWFkZXJzLCBkIGFzIHNvcnRSZXNvdXJjZXMgfSBmcm9tICcuL3V0aWxzLSF+ezAwOH1+LmpzJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBfX3JlYWQgPSAodW5kZWZpbmVkICYmIHVuZGVmaW5lZC5fX3JlYWQpIHx8IGZ1bmN0aW9uIChvLCBuKSB7XG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xuICAgIGlmICghbSkgcmV0dXJuIG87XG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XG4gICAgdHJ5IHtcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxuICAgIGZpbmFsbHkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XG4gICAgfVxuICAgIHJldHVybiBhcjtcbn07XG52YXIgX19zcHJlYWRBcnJheSA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fc3ByZWFkQXJyYXkpIHx8IGZ1bmN0aW9uICh0bywgZnJvbSwgcGFjaykge1xuICAgIGlmIChwYWNrIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIGZvciAodmFyIGkgPSAwLCBsID0gZnJvbS5sZW5ndGgsIGFyOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGlmIChhciB8fCAhKGkgaW4gZnJvbSkpIHtcbiAgICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XG4gICAgICAgICAgICBhcltpXSA9IGZyb21baV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRvLmNvbmNhdChhciB8fCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSk7XG59O1xuLyoqXG4gKiBTdGFjayBDb250ZXh0IE1hbmFnZXIgZm9yIG1hbmFnaW5nIHRoZSBzdGF0ZSBpbiB3ZWJcbiAqIGl0IGRvZXNuJ3QgZnVsbHkgc3VwcG9ydCB0aGUgYXN5bmMgY2FsbHMgdGhvdWdoXG4gKi9cbnZhciBTdGFja0NvbnRleHRNYW5hZ2VyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFN0YWNrQ29udGV4dE1hbmFnZXIoKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB3aGV0aGVyIHRoZSBjb250ZXh0IG1hbmFnZXIgaXMgZW5hYmxlZCBvciBub3RcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEtlZXBzIHRoZSByZWZlcmVuY2UgdG8gY3VycmVudCBjb250ZXh0XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9jdXJyZW50Q29udGV4dCA9IFJPT1RfQ09OVEVYVDtcbiAgICB9XG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGV4dFxuICAgICAqIEBwYXJhbSB0YXJnZXQgRnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2l0aGluIHRoZSBjb250ZXh0XG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBTdGFja0NvbnRleHRNYW5hZ2VyLnByb3RvdHlwZS5fYmluZEZ1bmN0aW9uID0gZnVuY3Rpb24gKGNvbnRleHQsIHRhcmdldCkge1xuICAgICAgICBpZiAoY29udGV4dCA9PT0gdm9pZCAwKSB7IGNvbnRleHQgPSBST09UX0NPTlRFWFQ7IH1cbiAgICAgICAgdmFyIG1hbmFnZXIgPSB0aGlzO1xuICAgICAgICB2YXIgY29udGV4dFdyYXBwZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1hbmFnZXIud2l0aChjb250ZXh0LCBmdW5jdGlvbiAoKSB7IHJldHVybiB0YXJnZXQuYXBwbHkoX3RoaXMsIGFyZ3MpOyB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnRleHRXcmFwcGVyLCAnbGVuZ3RoJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICB2YWx1ZTogdGFyZ2V0Lmxlbmd0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjb250ZXh0V3JhcHBlcjtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGFjdGl2ZSBjb250ZXh0XG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuYWN0aXZlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudENvbnRleHQ7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBCaW5kcyBhIHRoZSBjZXJ0YWluIGNvbnRleHQgb3IgdGhlIGFjdGl2ZSBvbmUgdG8gdGhlIHRhcmdldCBmdW5jdGlvbiBhbmQgdGhlbiByZXR1cm5zIHRoZSB0YXJnZXRcbiAgICAgKiBAcGFyYW0gY29udGV4dCBBIGNvbnRleHQgKHNwYW4pIHRvIGJlIGJpbmQgdG8gdGFyZ2V0XG4gICAgICogQHBhcmFtIHRhcmdldCBhIGZ1bmN0aW9uIG9yIGV2ZW50IGVtaXR0ZXIuIFdoZW4gdGFyZ2V0IG9yIG9uZSBvZiBpdHMgY2FsbGJhY2tzIGlzIGNhbGxlZCxcbiAgICAgKiAgdGhlIHByb3ZpZGVkIGNvbnRleHQgd2lsbCBiZSB1c2VkIGFzIHRoZSBhY3RpdmUgY29udGV4dCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBjYWxsLlxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoY29udGV4dCwgdGFyZ2V0KSB7XG4gICAgICAgIC8vIGlmIG5vIHNwZWNpZmljIGNvbnRleHQgdG8gcHJvcGFnYXRlIGlzIGdpdmVuLCB3ZSB1c2UgdGhlIGN1cnJlbnQgb25lXG4gICAgICAgIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnRleHQgPSB0aGlzLmFjdGl2ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYmluZEZ1bmN0aW9uKGNvbnRleHQsIHRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIERpc2FibGUgdGhlIGNvbnRleHQgbWFuYWdlciAoY2xlYXJzIHRoZSBjdXJyZW50IGNvbnRleHQpXG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSBST09UX0NPTlRFWFQ7XG4gICAgICAgIHRoaXMuX2VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBFbmFibGVzIHRoZSBjb250ZXh0IG1hbmFnZXIgYW5kIGNyZWF0ZXMgYSBkZWZhdWx0KHJvb3QpIGNvbnRleHRcbiAgICAgKi9cbiAgICBTdGFja0NvbnRleHRNYW5hZ2VyLnByb3RvdHlwZS5lbmFibGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLl9lbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSBST09UX0NPTlRFWFQ7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQ2FsbHMgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIFtmbl0gd2l0aCB0aGUgcHJvdmlkZWQgW2NvbnRleHRdLiBJZiBbY29udGV4dF0gaXMgdW5kZWZpbmVkIHRoZW4gaXQgd2lsbCB1c2UgdGhlIHdpbmRvdy5cbiAgICAgKiBUaGUgY29udGV4dCB3aWxsIGJlIHNldCBhcyBhY3RpdmVcbiAgICAgKiBAcGFyYW0gY29udGV4dFxuICAgICAqIEBwYXJhbSBmbiBDYWxsYmFjayBmdW5jdGlvblxuICAgICAqIEBwYXJhbSB0aGlzQXJnIG9wdGlvbmFsIHJlY2VpdmVyIHRvIGJlIHVzZWQgZm9yIGNhbGxpbmcgZm5cbiAgICAgKiBAcGFyYW0gYXJncyBvcHRpb25hbCBhcmd1bWVudHMgZm9yd2FyZGVkIHRvIGZuXG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUud2l0aCA9IGZ1bmN0aW9uIChjb250ZXh0LCBmbiwgdGhpc0FyZykge1xuICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBfaSA9IDM7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgYXJnc1tfaSAtIDNdID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJldmlvdXNDb250ZXh0ID0gdGhpcy5fY3VycmVudENvbnRleHQ7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gY29udGV4dCB8fCBST09UX0NPTlRFWFQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZm4uY2FsbC5hcHBseShmbiwgX19zcHJlYWRBcnJheShbdGhpc0FyZ10sIF9fcmVhZChhcmdzKSwgZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gcHJldmlvdXNDb250ZXh0O1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gU3RhY2tDb250ZXh0TWFuYWdlcjtcbn0oKSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgX19leHRlbmRzID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19leHRlbmRzKSB8fCAoZnVuY3Rpb24gKCkge1xuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxuICAgICAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcbiAgICAgICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgfTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBiICE9PSBcImZ1bmN0aW9uXCIgJiYgYiAhPT0gbnVsbClcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGIpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICAgICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcbiAgICAgICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XG4gICAgICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcbiAgICB9O1xufSkoKTtcbi8qKlxuICogVGhpcyBjbGFzcyByZXByZXNlbnRzIGEgd2ViIHRyYWNlciB3aXRoIHtAbGluayBTdGFja0NvbnRleHRNYW5hZ2VyfVxuICovXG52YXIgV2ViVHJhY2VyUHJvdmlkZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFdlYlRyYWNlclByb3ZpZGVyLCBfc3VwZXIpO1xuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYSBuZXcgVHJhY2VyIGluc3RhbmNlLlxuICAgICAqIEBwYXJhbSBjb25maWcgV2ViIFRyYWNlciBjb25maWdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBXZWJUcmFjZXJQcm92aWRlcihjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGNvbmZpZykgfHwgdGhpcztcbiAgICAgICAgaWYgKGNvbmZpZy5jb250ZXh0TWFuYWdlcikge1xuICAgICAgICAgICAgdGhyb3cgKCdjb250ZXh0TWFuYWdlciBzaG91bGQgYmUgZGVmaW5lZCBpbiByZWdpc3RlciBtZXRob2Qgbm90IGluJyArXG4gICAgICAgICAgICAgICAgJyBjb25zdHJ1Y3RvcicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWcucHJvcGFnYXRvcikge1xuICAgICAgICAgICAgdGhyb3cgJ3Byb3BhZ2F0b3Igc2hvdWxkIGJlIGRlZmluZWQgaW4gcmVnaXN0ZXIgbWV0aG9kIG5vdCBpbiBjb25zdHJ1Y3Rvcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciB0aGlzIFRyYWNlclByb3ZpZGVyIGZvciB1c2Ugd2l0aCB0aGUgT3BlblRlbGVtZXRyeSBBUEkuXG4gICAgICogVW5kZWZpbmVkIHZhbHVlcyBtYXkgYmUgcmVwbGFjZWQgd2l0aCBkZWZhdWx0cywgYW5kXG4gICAgICogbnVsbCB2YWx1ZXMgd2lsbCBiZSBza2lwcGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIG9iamVjdCBmb3IgU0RLIHJlZ2lzdHJhdGlvblxuICAgICAqL1xuICAgIFdlYlRyYWNlclByb3ZpZGVyLnByb3RvdHlwZS5yZWdpc3RlciA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIGlmIChjb25maWcuY29udGV4dE1hbmFnZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uZmlnLmNvbnRleHRNYW5hZ2VyID0gbmV3IFN0YWNrQ29udGV4dE1hbmFnZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLmNvbnRleHRNYW5hZ2VyKSB7XG4gICAgICAgICAgICBjb25maWcuY29udGV4dE1hbmFnZXIuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5yZWdpc3Rlci5jYWxsKHRoaXMsIGNvbmZpZyk7XG4gICAgfTtcbiAgICByZXR1cm4gV2ViVHJhY2VyUHJvdmlkZXI7XG59KEJhc2ljVHJhY2VyUHJvdmlkZXIpKTtcblxuZXhwb3J0IHsgQmFzaWNUcmFjZXJQcm92aWRlciwgU3RhY2tDb250ZXh0TWFuYWdlciwgV2ViVHJhY2VyUHJvdmlkZXIgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQW9CO0FBQ2xDLFNBQVMsS0FBS0MsU0FBMkI7QUFDekMsU0FBYyxLQUFMQyxHQUE0QixLQUFMQyxHQUEyQixLQUFMQyxHQUE4QixLQUFMQyxHQUErQixLQUFMQyxHQUEyQixLQUFMQyxHQUFnQyxLQUFMQyxHQUE2QixLQUFMQyxHQUE4QixLQUFMQyxHQUE2QixLQUFMQyxHQUE0QixLQUFMQyxHQUErQixLQUFMQyxHQUFnQixLQUFMQyxHQUFvQyxLQUFMQyxTQUFtQjtBQUNqVixTQUFjLEtBQUxOLEdBQWtDLEtBQUxMLEdBQStCLEtBQUxELEdBQWdDLEtBQUxhLEdBQTJCLEtBQUxGLEdBQXVCLEtBQUxHLEdBQWtCLEtBQUxDLEdBQXdCLEtBQUxDLEdBQW9CLEtBQUxDLEdBQXVDLEtBQUxULFNBQTBCO0FBaUI5TyxJQUFJVSxJQUE0QyxTQUFVQyxHQUFHSixHQUFHO0FBQzVELE1BQUlLLElBQUksT0FBTyxVQUFXLGNBQWNELEVBQUUsT0FBTyxRQUFRO0FBQ3pELE1BQUksQ0FBQ0MsRUFBRyxRQUFPRDtBQUNmLE1BQUlFLElBQUlELEVBQUUsS0FBS0QsQ0FBQyxHQUFHRyxHQUFHQyxJQUFLLENBQUMsR0FBR2I7QUFDL0IsTUFBSTtBQUNBLFlBQVFLLE1BQU0sVUFBVUEsTUFBTSxNQUFNLEVBQUVPLElBQUlELEVBQUUsS0FBSyxHQUFHLE9BQU0sQ0FBQUUsRUFBRyxLQUFLRCxFQUFFLEtBQUs7QUFBQSxFQUM3RSxTQUNPRSxHQUFPO0FBQUUsSUFBQWQsSUFBSSxFQUFFLE9BQU9jLEVBQU07QUFBQSxFQUFHLFVBQ3RDO0FBQ0ksUUFBSTtBQUNBLE1BQUlG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LElBRWhEZ0IsRUFBTyxrQkFDUEEsRUFBTyxlQUFlLE9BQU8sR0FFakNELEVBQU8sVUFBVSxTQUFTLEtBQUssTUFBTUMsQ0FBTTtBQUFBLElBQy9DLEdBQ09GO0FBQUEsRUFDWCxFQUFFOUMsQ0FBbUI7QUFBQTsiLAogICJuYW1lcyI6IFsiUk9PVF9DT05URVhUIiwgIkJhc2ljVHJhY2VyUHJvdmlkZXIiLCAiQSIsICJiIiwgImEiLCAiQyIsICJGIiwgIkkiLCAiTiIsICJQIiwgIlIiLCAiZCIsICJTIiwgImUiLCAiYyIsICJUIiwgImciLCAiaCIsICJuIiwgInAiLCAicyIsICJfX3JlYWQiLCAibyIsICJtIiwgImkiLCAiciIsICJhciIsICJlcnJvciIsICJfX3NwcmVhZEFycmF5IiwgInRvIiwgImZyb20iLCAicGFjayIsICJsIiwgIlN0YWNrQ29udGV4dE1hbmFnZXIiLCAiY29udGV4dCIsICJ0YXJnZXQiLCAibWFuYWdlciIsICJjb250ZXh0V3JhcHBlciIsICJfdGhpcyIsICJhcmdzIiwgIl9pIiwgImZuIiwgInRoaXNBcmciLCAicHJldmlvdXNDb250ZXh0IiwgIl9fZXh0ZW5kcyIsICJleHRlbmRTdGF0aWNzIiwgIl9fIiwgIldlYlRyYWNlclByb3ZpZGVyIiwgIl9zdXBlciIsICJjb25maWciXQp9Cg==