@getopenpay/openpay-js 0.5.15 → 0.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Resource-Ds5bbQ3b.js → Resource-B7bleRFM.js} +4 -4
- package/dist/{SimpleSpanProcessor-0bSccE1S.js → SimpleSpanProcessor-iCWR2wrc.js} +37 -37
- package/dist/{detect-resources-UwRkF4Xd.js → detect-resources-D2kOb3PM.js} +12 -12
- package/dist/{diag-api-CMlZXyyv.js → diag-api-BoyoSeID.js} +1 -1
- package/dist/{index-BmKZeOoc.js → index-BPMrBQET.js} +6 -6
- package/dist/{index-BhZy-TW3.js → index-BYTBH3hu.js} +10 -10
- package/dist/{index-BZEpD-f0.js → index-Bt776KGI.js} +135 -135
- package/dist/{index-1jECpTsg.js → index-ChUHjTV-.js} +9 -9
- package/dist/{index-DFO-DCsT.js → index-Cu-H4NqV.js} +11 -11
- package/dist/index-DC5j54sB.js +7002 -0
- package/dist/{index-DsxDp11a.js → index-DKzJ38go.js} +4 -4
- package/dist/{index-JNJd_YS1.js → index-DSo9rD_X.js} +33 -33
- package/dist/{index-CDdbDQxQ.js → index-DutR89R3.js} +1 -1
- package/dist/{index-CWTkU3J-.js → index-_XOmOW58.js} +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.es.js +1 -1
- package/dist/index.umd.js +8 -8
- package/dist/{metrics-api-C9pRFfr-.js → metrics-api-CyZz_Aku.js} +28 -28
- package/dist/{suppress-tracing-B94rObkn.js → suppress-tracing-3WarLq8k.js} +1 -1
- package/dist/{url-CdPstDG9.js → url-CWnDM543.js} +8 -8
- package/dist/{utils-VJ-0MC7c.js → utils-BnYsKdhz.js} +20 -20
- package/dist/{utils--M6ihaNw.js → utils-CRswusUx.js} +1 -1
- package/package.json +1 -1
- package/dist/index-j7i6AeZa.js +0 -7005
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { g as V } from "./_commonjsHelpers-CdLE1o9f.js";
|
|
2
|
-
import { p as b, z as y, A as h, B as W, D as Q, C as j, E as J, F as w, G as X, H as k, I as q, J as $, K as x, L as Z, M as z, N as EE, O as SE, P as TE, Q as _E, R as AE, T as aE, U as RE, V as eE, W as sE, X as NE, Y as rE, Z as tE, $ as OE, a0 as ME, a1 as LE, a2 as CE, a3 as UE, a4 as DE, a5 as IE, a6 as nE, a7 as PE, a8 as iE, a9 as oE, aa as cE, ab as VE, ac as uE, ad as vE, ae as GE, af as dE, ag as lE, ah as YE, ai as BE, aj as HE, ak as bE, al as pE, am as mE, an as gE, ao as KE, ap as fE, aq as FE, ar as yE, as as hE, at as WE, au as QE, av as jE, aw as JE, ax as wE, ay as XE, az as kE, aA as qE, aB as $E, aC as xE, aD as ZE, aE as zE, aF as ES, aG as SS, aH as TS, aI as _S, aJ as AS, aK as aS, aL as RS, aM as eS, aN as sS, aO as NS, aP as rS, aQ as tS, aR as OS, aS as MS, aT as LS, aU as CS, aV as US, aW as DS, aX as IS, aY as nS, aZ as PS, a_ as iS, a$ as oS, b0 as cS, b1 as VS, b2 as uS, b3 as vS, b4 as GS, b5 as dS, b6 as lS, b7 as YS, b8 as BS, b9 as HS, ba as bS, bb as pS, bc as mS, bd as gS, be as KS, bf as fS, bg as FS, bh as yS, bi as hS, bj as WS, bk as QS, bl as jS, bm as JS, bn as wS, bo as XS, bp as kS, bq as qS, br as $S, bs as xS, bt as ZS, bu as zS, bv as ET, bw as ST, bx as TT, by as _T, bz as AT, bA as aT, bB as RT, bC as eT, bD as sT, bE as NT, bF as rT, bG as tT, bH as OT, bI as MT, bJ as LT, bK as CT, bL as UT, bM as DT, bN as IT, bO as nT, bP as PT, bQ as iT, bR as oT, bS as cT, bT as VT, bU as uT, bV as vT, bW as GT, bX as dT, bY as lT, bZ as YT, b_ as BT, b$ as HT, c0 as bT, c1 as pT, c2 as mT, c3 as gT, c4 as KT, c5 as fT, c6 as FT, c7 as yT, c8 as hT, c9 as WT, ca as QT, cb as jT, cc as JT, cd as wT, ce as XT, cf as kT, cg as qT, ch as $T, ci as xT, cj as ZT, ck as zT, cl as E_, cm as S_, cn as T_, co as __, cp as A_, cq as a_, cr as R_, cs as e_, ct as s_, cu as N_, cv as r_, cw as t_, cx as O_, cy as M_, cz as L_, cA as C_, cB as U_, cC as D_, cD as I_, cE as n_, cF as P_, cG as i_, w as o_, x as c_, v as V_, cH as u_, cI as v_, cJ as G_, cK as d_, cL as l_, cM as Y_, cN as B_, cO as H_, cP as b_, cQ as p_, cR as m_, cS as g_, cT as K_, cU as f_, c as F_, f as y_, cV as h_, k as W_, S as Q_, a as j_, cW as J_, d as w_, cX as X_, b as k_, cY as q_, g as $_, e as x_, cZ as Z_, c_ as z_, c$ as EA, d0 as SA, d1 as TA, d2 as _A, d3 as AA, d4 as aA, d5 as RA, d6 as eA, d7 as sA, d8 as NA, d9 as rA, da as tA, db as OA, dc as MA, dd as LA, de as CA, df as UA, dg as DA, dh as IA, di as nA, dj as PA, dk as iA, dl as oA, dm as cA, dn as VA, dp as uA, dq as vA, dr as GA, ds as dA, dt as lA, du as YA, dv as BA, dw as HA, dx as bA, dy as pA, dz as mA, dA as gA, dB as KA, dC as fA, dD as FA, dE as yA, dF as hA, dG as WA, dH as QA, dI as jA, dJ as JA } from "./url-
|
|
3
|
-
import { t as p, a as m, f as wA, h as XA, I as kA, j as qA, P as $A, k as xA, R as ZA, S as zA, e as Ea, T as Sa, c as Ta, i as _a, d as Aa, b as aa } from "./index-
|
|
4
|
-
import { m as g, c as Ra } from "./metrics-api-
|
|
5
|
-
import { S as ea, f as sa } from "./index-
|
|
6
|
-
import { d as K } from "./diag-api-
|
|
2
|
+
import { p as b, z as y, A as h, B as W, D as Q, C as j, E as J, F as w, G as X, H as k, I as q, J as $, K as x, L as Z, M as z, N as EE, O as SE, P as TE, Q as _E, R as AE, T as aE, U as RE, V as eE, W as sE, X as NE, Y as rE, Z as tE, $ as OE, a0 as ME, a1 as LE, a2 as CE, a3 as UE, a4 as DE, a5 as IE, a6 as nE, a7 as PE, a8 as iE, a9 as oE, aa as cE, ab as VE, ac as uE, ad as vE, ae as GE, af as dE, ag as lE, ah as YE, ai as BE, aj as HE, ak as bE, al as pE, am as mE, an as gE, ao as KE, ap as fE, aq as FE, ar as yE, as as hE, at as WE, au as QE, av as jE, aw as JE, ax as wE, ay as XE, az as kE, aA as qE, aB as $E, aC as xE, aD as ZE, aE as zE, aF as ES, aG as SS, aH as TS, aI as _S, aJ as AS, aK as aS, aL as RS, aM as eS, aN as sS, aO as NS, aP as rS, aQ as tS, aR as OS, aS as MS, aT as LS, aU as CS, aV as US, aW as DS, aX as IS, aY as nS, aZ as PS, a_ as iS, a$ as oS, b0 as cS, b1 as VS, b2 as uS, b3 as vS, b4 as GS, b5 as dS, b6 as lS, b7 as YS, b8 as BS, b9 as HS, ba as bS, bb as pS, bc as mS, bd as gS, be as KS, bf as fS, bg as FS, bh as yS, bi as hS, bj as WS, bk as QS, bl as jS, bm as JS, bn as wS, bo as XS, bp as kS, bq as qS, br as $S, bs as xS, bt as ZS, bu as zS, bv as ET, bw as ST, bx as TT, by as _T, bz as AT, bA as aT, bB as RT, bC as eT, bD as sT, bE as NT, bF as rT, bG as tT, bH as OT, bI as MT, bJ as LT, bK as CT, bL as UT, bM as DT, bN as IT, bO as nT, bP as PT, bQ as iT, bR as oT, bS as cT, bT as VT, bU as uT, bV as vT, bW as GT, bX as dT, bY as lT, bZ as YT, b_ as BT, b$ as HT, c0 as bT, c1 as pT, c2 as mT, c3 as gT, c4 as KT, c5 as fT, c6 as FT, c7 as yT, c8 as hT, c9 as WT, ca as QT, cb as jT, cc as JT, cd as wT, ce as XT, cf as kT, cg as qT, ch as $T, ci as xT, cj as ZT, ck as zT, cl as E_, cm as S_, cn as T_, co as __, cp as A_, cq as a_, cr as R_, cs as e_, ct as s_, cu as N_, cv as r_, cw as t_, cx as O_, cy as M_, cz as L_, cA as C_, cB as U_, cC as D_, cD as I_, cE as n_, cF as P_, cG as i_, w as o_, x as c_, v as V_, cH as u_, cI as v_, cJ as G_, cK as d_, cL as l_, cM as Y_, cN as B_, cO as H_, cP as b_, cQ as p_, cR as m_, cS as g_, cT as K_, cU as f_, c as F_, f as y_, cV as h_, k as W_, S as Q_, a as j_, cW as J_, d as w_, cX as X_, b as k_, cY as q_, g as $_, e as x_, cZ as Z_, c_ as z_, c$ as EA, d0 as SA, d1 as TA, d2 as _A, d3 as AA, d4 as aA, d5 as RA, d6 as eA, d7 as sA, d8 as NA, d9 as rA, da as tA, db as OA, dc as MA, dd as LA, de as CA, df as UA, dg as DA, dh as IA, di as nA, dj as PA, dk as iA, dl as oA, dm as cA, dn as VA, dp as uA, dq as vA, dr as GA, ds as dA, dt as lA, du as YA, dv as BA, dw as HA, dx as bA, dy as pA, dz as mA, dA as gA, dB as KA, dC as fA, dD as FA, dE as yA, dF as hA, dG as WA, dH as QA, dI as jA, dJ as JA } from "./url-CWnDM543.js";
|
|
3
|
+
import { t as p, a as m, f as wA, h as XA, I as kA, j as qA, P as $A, k as xA, R as ZA, S as zA, e as Ea, T as Sa, c as Ta, i as _a, d as Aa, b as aa } from "./index-DC5j54sB.js";
|
|
4
|
+
import { m as g, c as Ra } from "./metrics-api-CyZz_Aku.js";
|
|
5
|
+
import { S as ea, f as sa } from "./index-DSo9rD_X.js";
|
|
6
|
+
import { d as K } from "./diag-api-BoyoSeID.js";
|
|
7
7
|
import { A as Na, e as ra, f as ta, C as Oa, g as Ma, h as La, i as Ca, j as Ua, k as Da, l as Ia, m as na, n as Pa, o as ia, p as oa, q as ca, r as Va, s as ua, t as va, u as Ga, v as da, w as la, x as Ya, y as Ba, z as Ha, B as ba, D as pa, H as ma, E as ga, F as Ka, G as fa, I as Fa, J as ya, K as ha, L as Wa, O as Qa, M as ja, N as Ja, P as wa, Q as Xa, R as ka, T as qa, U as $a, V as xa, W as Za, X as za, Y as ER, Z as SR, _ as TR, $ as _R, a0 as AR, a1 as aR, a2 as RR, a3 as eR, a4 as sR, a5 as NR, a6 as rR, a7 as tR, a8 as OR, a9 as MR, aa as LR, ab as CR, ac as UR, ad as DR, ae as IR, af as nR, ag as PR, ah as iR, ai as oR, aj as cR, ak as VR, al as uR, am as vR, an as GR, ao as dR, ap as lR, aq as YR, ar as BR, as as HR, at as bR, au as pR, av as mR, aw as gR, ax as KR, ay as fR, az as FR, aA as yR, aB as hR, aC as WR, aD as QR, aE as jR, aF as JR, aG as wR, aH as XR, aI as kR, aJ as qR, aK as $R, aL as xR, aM as ZR, aN as zR, aO as Ee, aP as Se, aQ as Te, aR as _e, aS as Ae, aT as ae, aU as Re, aV as ee, aW as se, aX as Ne, aY as re, aZ as te, a_ as Oe, a$ as Me, b0 as Le, b1 as Ce, b2 as Ue, b3 as De, S as Ie, b4 as ne, b5 as Pe, b6 as ie, b as oe, c as ce, d as Ve, b7 as ue, b8 as ve, b9 as Ge, ba as de, bb as le, bc as Ye, bd as Be, be as He, bf as be, bg as pe, bh as me, bi as ge, bj as Ke, bk as fe, bl as Fe } from "./sdk-info-ChuKu8zW.js";
|
|
8
8
|
function ye(E, S) {
|
|
9
9
|
for (var _ = 0; _ < S.length; _++) {
|
|
@@ -29,7 +29,7 @@ var P = [
|
|
|
29
29
|
{ n: "verbose", c: "trace" }
|
|
30
30
|
], he = (
|
|
31
31
|
/** @class */
|
|
32
|
-
/* @__PURE__ */ function() {
|
|
32
|
+
/* @__PURE__ */ (function() {
|
|
33
33
|
function E() {
|
|
34
34
|
function S(A) {
|
|
35
35
|
return function() {
|
|
@@ -46,7 +46,7 @@ var P = [
|
|
|
46
46
|
this[P[_].n] = S(P[_].c);
|
|
47
47
|
}
|
|
48
48
|
return E;
|
|
49
|
-
}()
|
|
49
|
+
})()
|
|
50
50
|
), o;
|
|
51
51
|
(function(E) {
|
|
52
52
|
E[E.INT = 0] = "INT", E[E.DOUBLE = 1] = "DOUBLE";
|
|
@@ -60,7 +60,7 @@ function ke(E) {
|
|
|
60
60
|
}
|
|
61
61
|
var u = 32, qe = 512, v = ",", G = "=", $e = (
|
|
62
62
|
/** @class */
|
|
63
|
-
function() {
|
|
63
|
+
(function() {
|
|
64
64
|
function E(S) {
|
|
65
65
|
this._internalState = /* @__PURE__ */ new Map(), S && this._parse(S);
|
|
66
66
|
}
|
|
@@ -92,7 +92,7 @@ var u = 32, qe = 512, v = ",", G = "=", $e = (
|
|
|
92
92
|
var S = new E();
|
|
93
93
|
return S._internalState = new Map(this._internalState), S;
|
|
94
94
|
}, E;
|
|
95
|
-
}()
|
|
95
|
+
})()
|
|
96
96
|
);
|
|
97
97
|
function xe(E) {
|
|
98
98
|
return new $e(E);
|
|
@@ -720,13 +720,13 @@ function gr() {
|
|
|
720
720
|
}
|
|
721
721
|
var l;
|
|
722
722
|
function Kr() {
|
|
723
|
-
return l || (l = 1, function(E) {
|
|
723
|
+
return l || (l = 1, (function(E) {
|
|
724
724
|
Object.defineProperty(E, "__esModule", { value: !0 }), E.defaultServiceName = void 0;
|
|
725
725
|
var S = /* @__PURE__ */ gr();
|
|
726
726
|
Object.defineProperty(E, "defaultServiceName", { enumerable: !0, get: function() {
|
|
727
727
|
return S.defaultServiceName;
|
|
728
728
|
} });
|
|
729
|
-
}(i)), i;
|
|
729
|
+
})(i)), i;
|
|
730
730
|
}
|
|
731
731
|
var Y;
|
|
732
732
|
function fr() {
|
|
@@ -859,4 +859,4 @@ const qr = /* @__PURE__ */ ye({
|
|
|
859
859
|
export {
|
|
860
860
|
qr as d
|
|
861
861
|
};
|
|
862
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGV0ZWN0LXJlc291cmNlcy0hfnswMG59fi5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgZyBhcyBnZXRBdWdtZW50ZWROYW1lc3BhY2UgfSBmcm9tICcuL19jb21tb25qc0hlbHBlcnMtIX57MDA2fX4uanMnO1xuaW1wb3J0IHsgcCBhcyBwcm9wYWdhdGlvbiwgeiBhcyBiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmcsIEEgYXMgZGVmYXVsdFRleHRNYXBHZXR0ZXIsIEIgYXMgZGVmYXVsdFRleHRNYXBTZXR0ZXIsIEQgYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0FMTCwgQyBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQU5ZLCBFIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19FQUNIX1FVT1JVTSwgRiBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfT05FLCBHIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9RVU9SVU0sIEggYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1NFUklBTCwgSSBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfT05FLCBKIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19RVU9SVU0sIEsgYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1NFUklBTCwgTCBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVEhSRUUsIE0gYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1RXTywgTiBhcyBEQlNZU1RFTVZBTFVFU19BREFCQVMsIE8gYXMgREJTWVNURU1WQUxVRVNfQ0FDSEUsIFAgYXMgREJTWVNURU1WQUxVRVNfQ0FTU0FORFJBLCBRIGFzIERCU1lTVEVNVkFMVUVTX0NMT1VEU0NBUEUsIFIgYXMgREJTWVNURU1WQUxVRVNfQ09DS1JPQUNIREIsIFQgYXMgREJTWVNURU1WQUxVRVNfQ09MREZVU0lPTiwgVSBhcyBEQlNZU1RFTVZBTFVFU19DT1NNT1NEQiwgViBhcyBEQlNZU1RFTVZBTFVFU19DT1VDSEJBU0UsIFcgYXMgREJTWVNURU1WQUxVRVNfQ09VQ0hEQiwgWCBhcyBEQlNZU1RFTVZBTFVFU19EQjIsIFkgYXMgREJTWVNURU1WQUxVRVNfREVSQlksIFogYXMgREJTWVNURU1WQUxVRVNfRFlOQU1PREIsICQgYXMgREJTWVNURU1WQUxVRVNfRURCLCBhMCBhcyBEQlNZU1RFTVZBTFVFU19FTEFTVElDU0VBUkNILCBhMSBhcyBEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIsIGEyIGFzIERCU1lTVEVNVkFMVUVTX0ZJUkVCSVJELCBhMyBhcyBEQlNZU1RFTVZBTFVFU19GSVJTVFNRTCwgYTQgYXMgREJTWVNURU1WQUxVRVNfR0VPREUsIGE1IGFzIERCU1lTVEVNVkFMVUVTX0gyLCBhNiBhcyBEQlNZU1RFTVZBTFVFU19IQU5BREIsIGE3IGFzIERCU1lTVEVNVkFMVUVTX0hCQVNFLCBhOCBhcyBEQlNZU1RFTVZBTFVFU19ISVZFLCBhOSBhcyBEQlNZU1RFTVZBTFVFU19IU1FMREIsIGFhIGFzIERCU1lTVEVNVkFMVUVTX0lORk9STUlYLCBhYiBhcyBEQlNZU1RFTVZBTFVFU19JTkdSRVMsIGFjIGFzIERCU1lTVEVNVkFMVUVTX0lOU1RBTlREQiwgYWQgYXMgREJTWVNURU1WQUxVRVNfSU5URVJCQVNFLCBhZSBhcyBEQlNZU1RFTVZBTFVFU19NQVJJQURCLCBhZiBhcyBEQlNZU1RFTVZBTFVFU19NQVhEQiwgYWcgYXMgREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVELCBhaCBhcyBEQlNZU1RFTVZBTFVFU19NT05HT0RCLCBhaSBhcyBEQlNZU1RFTVZBTFVFU19NU1NRTCwgYWogYXMgREJTWVNURU1WQUxVRVNfTVlTUUwsIGFrIGFzIERCU1lTVEVNVkFMVUVTX05FTzRKLCBhbCBhcyBEQlNZU1RFTVZBTFVFU19ORVRFWlpBLCBhbSBhcyBEQlNZU1RFTVZBTFVFU19PUkFDTEUsIGFuIGFzIERCU1lTVEVNVkFMVUVTX09USEVSX1NRTCwgYW8gYXMgREJTWVNURU1WQUxVRVNfUEVSVkFTSVZFLCBhcCBhcyBEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UsIGFxIGFzIERCU1lTVEVNVkFMVUVTX1BPU1RHUkVTUUwsIGFyIGFzIERCU1lTVEVNVkFMVUVTX1BST0dSRVNTLCBhcyBhcyBEQlNZU1RFTVZBTFVFU19SRURJUywgYXQgYXMgREJTWVNURU1WQUxVRVNfUkVEU0hJRlQsIGF1IGFzIERCU1lTVEVNVkFMVUVTX1NRTElURSwgYXYgYXMgREJTWVNURU1WQUxVRVNfU1lCQVNFLCBhdyBhcyBEQlNZU1RFTVZBTFVFU19URVJBREFUQSwgYXggYXMgREJTWVNURU1WQUxVRVNfVkVSVElDQSwgYXkgYXMgRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzLCBheiBhcyBEYlN5c3RlbVZhbHVlcywgYUEgYXMgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0RFTEVURSwgYUIgYXMgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0VESVQsIGFDIGFzIEZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19JTlNFUlQsIGFEIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCwgYUUgYXMgRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BV1MsIGFGIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQVpVUkUsIGFHIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfR0NQLCBhSCBhcyBGQUFTVFJJR0dFUlZBTFVFU19EQVRBU09VUkNFLCBhSSBhcyBGQUFTVFJJR0dFUlZBTFVFU19IVFRQLCBhSiBhcyBGQUFTVFJJR0dFUlZBTFVFU19PVEhFUiwgYUsgYXMgRkFBU1RSSUdHRVJWQUxVRVNfUFVCU1VCLCBhTCBhcyBGQUFTVFJJR0dFUlZBTFVFU19USU1FUiwgYU0gYXMgRmFhc0RvY3VtZW50T3BlcmF0aW9uVmFsdWVzLCBhTiBhcyBGYWFzSW52b2tlZFByb3ZpZGVyVmFsdWVzLCBhTyBhcyBGYWFzVHJpZ2dlclZhbHVlcywgYVAgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMCwgYVEgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMSwgYVIgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzJfMCwgYVMgYXMgSFRUUEZMQVZPUlZBTFVFU19RVUlDLCBhVCBhcyBIVFRQRkxBVk9SVkFMVUVTX1NQRFksIGFVIGFzIEh0dHBGbGF2b3JWYWx1ZXMsIGFWIGFzIE1FU1NBR0VUWVBFVkFMVUVTX1JFQ0VJVkVELCBhVyBhcyBNRVNTQUdFVFlQRVZBTFVFU19TRU5ULCBhWCBhcyBNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfUVVFVUUsIGFZIGFzIE1FU1NBR0lOR0RFU1RJTkFUSU9OS0lORFZBTFVFU19UT1BJQywgYVogYXMgTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1BST0NFU1MsIGFfIGFzIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19SRUNFSVZFLCBhJCBhcyBNZXNzYWdlVHlwZVZhbHVlcywgYjAgYXMgTWVzc2FnaW5nRGVzdGluYXRpb25LaW5kVmFsdWVzLCBiMSBhcyBNZXNzYWdpbmdPcGVyYXRpb25WYWx1ZXMsIGIyIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19DRE1BLCBiMyBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQTIwMDBfMVhSVFQsIGI0IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FREdFLCBiNSBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRUhSUEQsIGI2IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPXzAsIGI3IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0EsIGI4IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0IsIGI5IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HUFJTLCBiYSBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1NNLCBiYiBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNEUEEsIGJjIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBLCBiZCBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQVAsIGJlIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1VQQSwgYmYgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lERU4sIGJnIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JV0xBTiwgYmggYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURSwgYmkgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURV9DQSwgYmogYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05SLCBiayBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTlJOU0EsIGJsIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19URF9TQ0RNQSwgYm0gYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1VNVFMsIGJuIGFzIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19DRUxMLCBibyBhcyBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfVU5BVkFJTEFCTEUsIGJwIGFzIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTktOT1dOLCBicSBhcyBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfV0lGSSwgYnIgYXMgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJUkVELCBicyBhcyBORVRUUkFOU1BPUlRWQUxVRVNfSU5QUk9DLCBidCBhcyBORVRUUkFOU1BPUlRWQUxVRVNfSVAsIGJ1IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9UQ1AsIGJ2IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9VRFAsIGJ3IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19PVEhFUiwgYnggYXMgTkVUVFJBTlNQT1JUVkFMVUVTX1BJUEUsIGJ5IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19VTklYLCBieiBhcyBOZXRIb3N0Q29ubmVjdGlvblN1YnR5cGVWYWx1ZXMsIGJBIGFzIE5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcywgYkIgYXMgTmV0VHJhbnNwb3J0VmFsdWVzLCBiQyBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BQk9SVEVELCBiRCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BTFJFQURZX0VYSVNUUywgYkUgYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQ0FOQ0VMTEVELCBiRiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19EQVRBX0xPU1MsIGJHIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RFQURMSU5FX0VYQ0VFREVELCBiSCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19GQUlMRURfUFJFQ09ORElUSU9OLCBiSSBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlRFUk5BTCwgYkogYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5WQUxJRF9BUkdVTUVOVCwgYksgYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfTk9UX0ZPVU5ELCBiTCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PSywgYk0gYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT1VUX09GX1JBTkdFLCBiTiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19QRVJNSVNTSU9OX0RFTklFRCwgYk8gYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUkVTT1VSQ0VfRVhIQVVTVEVELCBiUCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFVVEhFTlRJQ0FURUQsIGJRIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOQVZBSUxBQkxFLCBiUiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTklNUExFTUVOVEVELCBiUyBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTktOT1dOLCBiVCBhcyBScGNHcnBjU3RhdHVzQ29kZVZhbHVlcywgYlUgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0FUVFJJQlVURVNfVE9fR0VULCBiViBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFX0RFRklOSVRJT05TLCBiVyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU0lTVEVOVF9SRUFELCBiWCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU1VNRURfQ0FQQUNJVFksIGJZIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT1VOVCwgYlogYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0VYQ0xVU0lWRV9TVEFSVF9UQUJMRSwgYl8gYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhFUywgYiQgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhfVVBEQVRFUywgYzAgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0lOREVYX05BTUUsIGMxIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JVEVNX0NPTExFQ1RJT05fTUVUUklDUywgYzIgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xJTUlULCBjMyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfTE9DQUxfU0VDT05EQVJZX0lOREVYRVMsIGM0IGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9KRUNUSU9OLCBjNSBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfUkVBRF9DQVBBQ0lUWSwgYzYgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1BST1ZJU0lPTkVEX1dSSVRFX0NBUEFDSVRZLCBjNyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTk5FRF9DT1VOVCwgYzggYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5fRk9SV0FSRCwgYzkgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NFR01FTlQsIGNhIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUxFQ1QsIGNiIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9DT1VOVCwgY2MgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RBQkxFX05BTUVTLCBjZCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfVE9UQUxfU0VHTUVOVFMsIGNlIGFzIFNFTUFUVFJTX0FXU19MQU1CREFfSU5WT0tFRF9BUk4sIGNmIGFzIFNFTUFUVFJTX0NPREVfRklMRVBBVEgsIGNnIGFzIFNFTUFUVFJTX0NPREVfRlVOQ1RJT04sIGNoIGFzIFNFTUFUVFJTX0NPREVfTElORU5PLCBjaSBhcyBTRU1BVFRSU19DT0RFX05BTUVTUEFDRSwgY2ogYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPTlNJU1RFTkNZX0xFVkVMLCBjayBhcyBTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfREMsIGNsIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT09SRElOQVRPUl9JRCwgY20gYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0lERU1QT1RFTkNFLCBjbiBhcyBTRU1BVFRSU19EQl9DQVNTQU5EUkFfS0VZU1BBQ0UsIGNvIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9QQUdFX1NJWkUsIGNwIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9TUEVDVUxBVElWRV9FWEVDVVRJT05fQ09VTlQsIGNxIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9UQUJMRSwgY3IgYXMgU0VNQVRUUlNfREJfQ09OTkVDVElPTl9TVFJJTkcsIGNzIGFzIFNFTUFUVFJTX0RCX0hCQVNFX05BTUVTUEFDRSwgY3QgYXMgU0VNQVRUUlNfREJfSkRCQ19EUklWRVJfQ0xBU1NOQU1FLCBjdSBhcyBTRU1BVFRSU19EQl9NT05HT0RCX0NPTExFQ1RJT04sIGN2IGFzIFNFTUFUVFJTX0RCX01TU1FMX0lOU1RBTkNFX05BTUUsIGN3IGFzIFNFTUFUVFJTX0RCX05BTUUsIGN4IGFzIFNFTUFUVFJTX0RCX09QRVJBVElPTiwgY3kgYXMgU0VNQVRUUlNfREJfUkVESVNfREFUQUJBU0VfSU5ERVgsIGN6IGFzIFNFTUFUVFJTX0RCX1NRTF9UQUJMRSwgY0EgYXMgU0VNQVRUUlNfREJfU1RBVEVNRU5ULCBjQiBhcyBTRU1BVFRSU19EQl9TWVNURU0sIGNDIGFzIFNFTUFUVFJTX0RCX1VTRVIsIGNEIGFzIFNFTUFUVFJTX0VORFVTRVJfSUQsIGNFIGFzIFNFTUFUVFJTX0VORFVTRVJfUk9MRSwgY0YgYXMgU0VNQVRUUlNfRU5EVVNFUl9TQ09QRSwgY0cgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX0VTQ0FQRUQsIHcgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX01FU1NBR0UsIHggYXMgU0VNQVRUUlNfRVhDRVBUSU9OX1NUQUNLVFJBQ0UsIHYgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX1RZUEUsIGNIIGFzIFNFTUFUVFJTX0ZBQVNfQ09MRFNUQVJULCBjSSBhcyBTRU1BVFRSU19GQUFTX0NST04sIGNKIGFzIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfQ09MTEVDVElPTiwgY0sgYXMgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9OQU1FLCBjTCBhcyBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX09QRVJBVElPTiwgY00gYXMgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9USU1FLCBjTiBhcyBTRU1BVFRSU19GQUFTX0VYRUNVVElPTiwgY08gYXMgU0VNQVRUUlNfRkFBU19JTlZPS0VEX05BTUUsIGNQIGFzIFNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9QUk9WSURFUiwgY1EgYXMgU0VNQVRUUlNfRkFBU19JTlZPS0VEX1JFR0lPTiwgY1IgYXMgU0VNQVRUUlNfRkFBU19USU1FLCBjUyBhcyBTRU1BVFRSU19GQUFTX1RSSUdHRVIsIGNUIGFzIFNFTUFUVFJTX0hUVFBfQ0xJRU5UX0lQLCBjVSBhcyBTRU1BVFRSU19IVFRQX0ZMQVZPUiwgYyBhcyBTRU1BVFRSU19IVFRQX0hPU1QsIGYgYXMgU0VNQVRUUlNfSFRUUF9NRVRIT0QsIGNWIGFzIFNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSCwgayBhcyBTRU1BVFRSU19IVFRQX1JFUVVFU1RfQ09OVEVOVF9MRU5HVEhfVU5DT01QUkVTU0VELCBTIGFzIFNFTUFUVFJTX0hUVFBfUkVTUE9OU0VfQ09OVEVOVF9MRU5HVEgsIGEgYXMgU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQsIGNXIGFzIFNFTUFUVFJTX0hUVFBfUk9VVEUsIGQgYXMgU0VNQVRUUlNfSFRUUF9TQ0hFTUUsIGNYIGFzIFNFTUFUVFJTX0hUVFBfU0VSVkVSX05BTUUsIGIgYXMgU0VNQVRUUlNfSFRUUF9TVEFUVVNfQ09ERSwgY1kgYXMgU0VNQVRUUlNfSFRUUF9UQVJHRVQsIGcgYXMgU0VNQVRUUlNfSFRUUF9VUkwsIGUgYXMgU0VNQVRUUlNfSFRUUF9VU0VSX0FHRU5ULCBjWiBhcyBTRU1BVFRSU19NRVNTQUdFX0NPTVBSRVNTRURfU0laRSwgY18gYXMgU0VNQVRUUlNfTUVTU0FHRV9JRCwgYyQgYXMgU0VNQVRUUlNfTUVTU0FHRV9UWVBFLCBkMCBhcyBTRU1BVFRSU19NRVNTQUdFX1VOQ09NUFJFU1NFRF9TSVpFLCBkMSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfQ09OU1VNRVJfSUQsIGQyIGFzIFNFTUFUVFJTX01FU1NBR0lOR19DT05WRVJTQVRJT05fSUQsIGQzIGFzIFNFTUFUVFJTX01FU1NBR0lOR19ERVNUSU5BVElPTiwgZDQgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OX0tJTkQsIGQ1IGFzIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DTElFTlRfSUQsIGQ2IGFzIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DT05TVU1FUl9HUk9VUCwgZDcgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX01FU1NBR0VfS0VZLCBkOCBhcyBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfUEFSVElUSU9OLCBkOSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfVE9NQlNUT05FLCBkYSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9JRCwgZGIgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX01FU1NBR0VfUEFZTE9BRF9DT01QUkVTU0VEX1NJWkVfQllURVMsIGRjIGFzIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfU0laRV9CWVRFUywgZGQgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX09QRVJBVElPTiwgZGUgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1BST1RPQ09MLCBkZiBhcyBTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0xfVkVSU0lPTiwgZGcgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1JBQkJJVE1RX1JPVVRJTkdfS0VZLCBkaCBhcyBTRU1BVFRSU19NRVNTQUdJTkdfU1lTVEVNLCBkaSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfVEVNUF9ERVNUSU5BVElPTiwgZGogYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1VSTCwgZGsgYXMgU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9JQ0MsIGRsIGFzIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTUNDLCBkbSBhcyBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01OQywgZG4gYXMgU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9OQU1FLCBkcCBhcyBTRU1BVFRSU19ORVRfSE9TVF9DT05ORUNUSU9OX1NVQlRZUEUsIGRxIGFzIFNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fVFlQRSwgZHIgYXMgU0VNQVRUUlNfTkVUX0hPU1RfSVAsIGRzIGFzIFNFTUFUVFJTX05FVF9IT1NUX05BTUUsIGR0IGFzIFNFTUFUVFJTX05FVF9IT1NUX1BPUlQsIGR1IGFzIFNFTUFUVFJTX05FVF9QRUVSX0lQLCBkdiBhcyBTRU1BVFRSU19ORVRfUEVFUl9OQU1FLCBkdyBhcyBTRU1BVFRSU19ORVRfUEVFUl9QT1JULCBkeCBhcyBTRU1BVFRSU19ORVRfVFJBTlNQT1JULCBkeSBhcyBTRU1BVFRSU19QRUVSX1NFUlZJQ0UsIGR6IGFzIFNFTUFUVFJTX1JQQ19HUlBDX1NUQVRVU19DT0RFLCBkQSBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9DT0RFLCBkQiBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9NRVNTQUdFLCBkQyBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19SRVFVRVNUX0lELCBkRCBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19WRVJTSU9OLCBkRSBhcyBTRU1BVFRSU19SUENfTUVUSE9ELCBkRiBhcyBTRU1BVFRSU19SUENfU0VSVklDRSwgZEcgYXMgU0VNQVRUUlNfUlBDX1NZU1RFTSwgZEggYXMgU0VNQVRUUlNfVEhSRUFEX0lELCBkSSBhcyBTRU1BVFRSU19USFJFQURfTkFNRSwgZEogYXMgU2VtYW50aWNBdHRyaWJ1dGVzIH0gZnJvbSAnLi91cmwtIX57MDBkfX4uanMnO1xuaW1wb3J0IHsgdCBhcyB0cmFjZSwgYSBhcyBjb250ZXh0LCBmIGFzIERpYWdMb2dMZXZlbCwgaCBhcyBJTlZBTElEX1NQQU5JRCwgSSBhcyBJTlZBTElEX1NQQU5fQ09OVEVYVCwgaiBhcyBJTlZBTElEX1RSQUNFSUQsIFAgYXMgUHJveHlUcmFjZXIsIGsgYXMgUHJveHlUcmFjZXJQcm92aWRlciwgUiBhcyBST09UX0NPTlRFWFQsIFMgYXMgU3BhbktpbmQsIGUgYXMgU3BhblN0YXR1c0NvZGUsIFQgYXMgVHJhY2VGbGFncywgYyBhcyBjcmVhdGVDb250ZXh0S2V5LCBpIGFzIGlzU3BhbkNvbnRleHRWYWxpZCwgZCBhcyBpc1ZhbGlkU3BhbklkLCBiIGFzIGlzVmFsaWRUcmFjZUlkIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBtIGFzIG1ldHJpY3MsIGMgYXMgY3JlYXRlTm9vcE1ldGVyIH0gZnJvbSAnLi9tZXRyaWNzLWFwaS0hfnswMGZ9fi5qcyc7XG5pbXBvcnQgeyBTIGFzIFNhbXBsaW5nRGVjaXNpb24sIGYgYXMgZXNtJDIgfSBmcm9tICcuL2luZGV4LSF+ezAwbX1+LmpzJztcbmltcG9ydCB7IGQgYXMgZGlhZyB9IGZyb20gJy4vZGlhZy1hcGktIX57MDA4fX4uanMnO1xuaW1wb3J0IHsgQSBhcyBBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0VDMiwgZSBhcyBBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0ZBUkdBVEUsIGYgYXMgQXdzRWNzTGF1bmNodHlwZVZhbHVlcywgQyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRUNTLCBnIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9GQywgaCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQzIsIGkgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUNTLCBqIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VLUywgayBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FTEFTVElDX0JFQU5TVEFMSywgbCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19MQU1CREEsIG0gYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BS1MsIG4gYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BUFBfU0VSVklDRSwgbyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0NPTlRBSU5FUl9JTlNUQU5DRVMsIHAgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9GVU5DVElPTlMsIHEgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9WTSwgciBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9BUFBfRU5HSU5FLCBzIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX0ZVTkNUSU9OUywgdCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9SVU4sIHUgYXMgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ09NUFVURV9FTkdJTkUsIHYgYXMgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfS1VCRVJORVRFU19FTkdJTkUsIHcgYXMgQ0xPVURQUk9WSURFUlZBTFVFU19BTElCQUJBX0NMT1VELCB4IGFzIENMT1VEUFJPVklERVJWQUxVRVNfQVdTLCB5IGFzIENMT1VEUFJPVklERVJWQUxVRVNfQVpVUkUsIHogYXMgQ0xPVURQUk9WSURFUlZBTFVFU19HQ1AsIEIgYXMgQ2xvdWRQbGF0Zm9ybVZhbHVlcywgRCBhcyBDbG91ZFByb3ZpZGVyVmFsdWVzLCBIIGFzIEhPU1RBUkNIVkFMVUVTX0FNRDY0LCBFIGFzIEhPU1RBUkNIVkFMVUVTX0FSTTMyLCBGIGFzIEhPU1RBUkNIVkFMVUVTX0FSTTY0LCBHIGFzIEhPU1RBUkNIVkFMVUVTX0lBNjQsIEkgYXMgSE9TVEFSQ0hWQUxVRVNfUFBDMzIsIEogYXMgSE9TVEFSQ0hWQUxVRVNfUFBDNjQsIEsgYXMgSE9TVEFSQ0hWQUxVRVNfWDg2LCBMIGFzIEhvc3RBcmNoVmFsdWVzLCBPIGFzIE9TVFlQRVZBTFVFU19BSVgsIE0gYXMgT1NUWVBFVkFMVUVTX0RBUldJTiwgTiBhcyBPU1RZUEVWQUxVRVNfRFJBR09ORkxZQlNELCBQIGFzIE9TVFlQRVZBTFVFU19GUkVFQlNELCBRIGFzIE9TVFlQRVZBTFVFU19IUFVYLCBSIGFzIE9TVFlQRVZBTFVFU19MSU5VWCwgVCBhcyBPU1RZUEVWQUxVRVNfTkVUQlNELCBVIGFzIE9TVFlQRVZBTFVFU19PUEVOQlNELCBWIGFzIE9TVFlQRVZBTFVFU19TT0xBUklTLCBXIGFzIE9TVFlQRVZBTFVFU19XSU5ET1dTLCBYIGFzIE9TVFlQRVZBTFVFU19aX09TLCBZIGFzIE9zVHlwZVZhbHVlcywgWiBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX0NMVVNURVJfQVJOLCBfIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ09OVEFJTkVSX0FSTiwgJCBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX0xBVU5DSFRZUEUsIGEwIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19BUk4sIGExIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19GQU1JTFksIGEyIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19SRVZJU0lPTiwgYTMgYXMgU0VNUkVTQVRUUlNfQVdTX0VLU19DTFVTVEVSX0FSTiwgYTQgYXMgU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9BUk5TLCBhNSBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX05BTUVTLCBhNiBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9BUk5TLCBhNyBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9OQU1FUywgYTggYXMgU0VNUkVTQVRUUlNfQ0xPVURfQUNDT1VOVF9JRCwgYTkgYXMgU0VNUkVTQVRUUlNfQ0xPVURfQVZBSUxBQklMSVRZX1pPTkUsIGFhIGFzIFNFTVJFU0FUVFJTX0NMT1VEX1BMQVRGT1JNLCBhYiBhcyBTRU1SRVNBVFRSU19DTE9VRF9QUk9WSURFUiwgYWMgYXMgU0VNUkVTQVRUUlNfQ0xPVURfUkVHSU9OLCBhZCBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfSUQsIGFlIGFzIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JTUFHRV9OQU1FLCBhZiBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfVEFHLCBhZyBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfTkFNRSwgYWggYXMgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX1JVTlRJTUUsIGFpIGFzIFNFTVJFU0FUVFJTX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQsIGFqIGFzIFNFTVJFU0FUVFJTX0RFVklDRV9JRCwgYWsgYXMgU0VNUkVTQVRUUlNfREVWSUNFX01PREVMX0lERU5USUZJRVIsIGFsIGFzIFNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9OQU1FLCBhbSBhcyBTRU1SRVNBVFRSU19GQUFTX0lELCBhbiBhcyBTRU1SRVNBVFRSU19GQUFTX0lOU1RBTkNFLCBhbyBhcyBTRU1SRVNBVFRSU19GQUFTX01BWF9NRU1PUlksIGFwIGFzIFNFTVJFU0FUVFJTX0ZBQVNfTkFNRSwgYXEgYXMgU0VNUkVTQVRUUlNfRkFBU19WRVJTSU9OLCBhciBhcyBTRU1SRVNBVFRSU19IT1NUX0FSQ0gsIGFzIGFzIFNFTVJFU0FUVFJTX0hPU1RfSUQsIGF0IGFzIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfSUQsIGF1IGFzIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfTkFNRSwgYXYgYXMgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9WRVJTSU9OLCBhdyBhcyBTRU1SRVNBVFRSU19IT1NUX05BTUUsIGF4IGFzIFNFTVJFU0FUVFJTX0hPU1RfVFlQRSwgYXkgYXMgU0VNUkVTQVRUUlNfSzhTX0NMVVNURVJfTkFNRSwgYXogYXMgU0VNUkVTQVRUUlNfSzhTX0NPTlRBSU5FUl9OQU1FLCBhQSBhcyBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9OQU1FLCBhQiBhcyBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9VSUQsIGFDIGFzIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfTkFNRSwgYUQgYXMgU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9VSUQsIGFFIGFzIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX05BTUUsIGFGIGFzIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX1VJRCwgYUcgYXMgU0VNUkVTQVRUUlNfSzhTX0pPQl9OQU1FLCBhSCBhcyBTRU1SRVNBVFRSU19LOFNfSk9CX1VJRCwgYUkgYXMgU0VNUkVTQVRUUlNfSzhTX05BTUVTUEFDRV9OQU1FLCBhSiBhcyBTRU1SRVNBVFRSU19LOFNfTk9ERV9OQU1FLCBhSyBhcyBTRU1SRVNBVFRSU19LOFNfTk9ERV9VSUQsIGFMIGFzIFNFTVJFU0FUVFJTX0s4U19QT0RfTkFNRSwgYU0gYXMgU0VNUkVTQVRUUlNfSzhTX1BPRF9VSUQsIGFOIGFzIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX05BTUUsIGFPIGFzIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX1VJRCwgYVAgYXMgU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX05BTUUsIGFRIGFzIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9VSUQsIGFSIGFzIFNFTVJFU0FUVFJTX09TX0RFU0NSSVBUSU9OLCBhUyBhcyBTRU1SRVNBVFRSU19PU19OQU1FLCBhVCBhcyBTRU1SRVNBVFRSU19PU19UWVBFLCBhVSBhcyBTRU1SRVNBVFRSU19PU19WRVJTSU9OLCBhViBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkQsIGFXIGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9BUkdTLCBhWCBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkRfTElORSwgYVkgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX05BTUUsIGFaIGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9QQVRILCBhXyBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX09XTkVSLCBhJCBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCwgYjAgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OLCBiMSBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfTkFNRSwgYjIgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04sIGIzIGFzIFNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQsIFMgYXMgU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FLCBiNCBhcyBTRU1SRVNBVFRSU19TRVJWSUNFX05BTUVTUEFDRSwgYjUgYXMgU0VNUkVTQVRUUlNfU0VSVklDRV9WRVJTSU9OLCBiNiBhcyBTRU1SRVNBVFRSU19URUxFTUVUUllfQVVUT19WRVJTSU9OLCBiIGFzIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsIGMgYXMgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FLCBkIGFzIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTiwgYjcgYXMgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX0RFU0NSSVBUSU9OLCBiOCBhcyBTRU1SRVNBVFRSU19XRUJFTkdJTkVfTkFNRSwgYjkgYXMgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX1ZFUlNJT04sIGJhIGFzIFNlbWFudGljUmVzb3VyY2VBdHRyaWJ1dGVzLCBiYiBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFAsIGJjIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0RPVE5FVCwgYmQgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRVJMQU5HLCBiZSBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19HTywgYmYgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfSkFWQSwgYmcgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfTk9ERUpTLCBiaCBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFAsIGJpIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BZVEhPTiwgYmogYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUlVCWSwgYmsgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMsIGJsIGFzIFRlbGVtZXRyeVNka0xhbmd1YWdlVmFsdWVzIH0gZnJvbSAnLi9zZGstaW5mby0hfnswMGh9fi5qcyc7XG5cbmZ1bmN0aW9uIF9tZXJnZU5hbWVzcGFjZXMobiwgbSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBlID0gbVtpXTtcbiAgICAgICAgaWYgKHR5cGVvZiBlICE9PSAnc3RyaW5nJyAmJiAhQXJyYXkuaXNBcnJheShlKSkgeyBmb3IgKGNvbnN0IGsgaW4gZSkge1xuICAgICAgICAgICAgaWYgKGsgIT09ICdkZWZhdWx0JyAmJiAhKGsgaW4gbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCBrKTtcbiAgICAgICAgICAgICAgICBpZiAoZCkge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobiwgaywgZC5nZXQgPyBkIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldDogKCkgPT4gZVtrXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gfVxuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydHkobiwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgY29uc29sZU1hcCA9IFtcbiAgICB7IG46ICdlcnJvcicsIGM6ICdlcnJvcicgfSxcbiAgICB7IG46ICd3YXJuJywgYzogJ3dhcm4nIH0sXG4gICAgeyBuOiAnaW5mbycsIGM6ICdpbmZvJyB9LFxuICAgIHsgbjogJ2RlYnVnJywgYzogJ2RlYnVnJyB9LFxuICAgIHsgbjogJ3ZlcmJvc2UnLCBjOiAndHJhY2UnIH0sXG5dO1xuLyoqXG4gKiBBIHNpbXBsZSBJbW11dGFibGUgQ29uc29sZSBiYXNlZCBkaWFnbm9zdGljIGxvZ2dlciB3aGljaCB3aWxsIG91dHB1dCBhbnkgbWVzc2FnZXMgdG8gdGhlIENvbnNvbGUuXG4gKiBJZiB5b3Ugd2FudCB0byBsaW1pdCB0aGUgYW1vdW50IG9mIGxvZ2dpbmcgdG8gYSBzcGVjaWZpYyBsZXZlbCBvciBsb3dlciB1c2UgdGhlXG4gKiB7QGxpbmsgY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyfVxuICovXG52YXIgRGlhZ0NvbnNvbGVMb2dnZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRGlhZ0NvbnNvbGVMb2dnZXIoKSB7XG4gICAgICAgIGZ1bmN0aW9uIF9jb25zb2xlRnVuYyhmdW5jTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvbnNvbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU29tZSBlbnZpcm9ubWVudHMgb25seSBleHBvc2UgdGhlIGNvbnNvbGUgd2hlbiB0aGUgRjEyIGRldmVsb3BlciBjb25zb2xlIGlzIG9wZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRoZUZ1bmMgPSBjb25zb2xlW2Z1bmNOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGVGdW5jICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBOb3QgYWxsIGVudmlyb25tZW50cyBzdXBwb3J0IGFsbCBmdW5jdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGVGdW5jID0gY29uc29sZS5sb2c7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gT25lIGxhc3QgZmluYWwgY2hlY2tcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGVGdW5jID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhlRnVuYy5hcHBseShjb25zb2xlLCBhcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb25zb2xlTWFwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzW2NvbnNvbGVNYXBbaV0ubl0gPSBfY29uc29sZUZ1bmMoY29uc29sZU1hcFtpXS5jKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gRGlhZ0NvbnNvbGVMb2dnZXI7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIFRoZSBUeXBlIG9mIHZhbHVlLiBJdCBkZXNjcmliZXMgaG93IHRoZSBkYXRhIGlzIHJlcG9ydGVkLiAqL1xudmFyIFZhbHVlVHlwZTtcbihmdW5jdGlvbiAoVmFsdWVUeXBlKSB7XG4gICAgVmFsdWVUeXBlW1ZhbHVlVHlwZVtcIklOVFwiXSA9IDBdID0gXCJJTlRcIjtcbiAgICBWYWx1ZVR5cGVbVmFsdWVUeXBlW1wiRE9VQkxFXCJdID0gMV0gPSBcIkRPVUJMRVwiO1xufSkoVmFsdWVUeXBlIHx8IChWYWx1ZVR5cGUgPSB7fSkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIFZBTElEX0tFWV9DSEFSX1JBTkdFID0gJ1tfMC05YS16LSovXSc7XG52YXIgVkFMSURfS0VZID0gXCJbYS16XVwiICsgVkFMSURfS0VZX0NIQVJfUkFOR0UgKyBcInswLDI1NX1cIjtcbnZhciBWQUxJRF9WRU5ET1JfS0VZID0gXCJbYS16MC05XVwiICsgVkFMSURfS0VZX0NIQVJfUkFOR0UgKyBcInswLDI0MH1AW2Etel1cIiArIFZBTElEX0tFWV9DSEFSX1JBTkdFICsgXCJ7MCwxM31cIjtcbnZhciBWQUxJRF9LRVlfUkVHRVggPSBuZXcgUmVnRXhwKFwiXig/OlwiICsgVkFMSURfS0VZICsgXCJ8XCIgKyBWQUxJRF9WRU5ET1JfS0VZICsgXCIpJFwiKTtcbnZhciBWQUxJRF9WQUxVRV9CQVNFX1JFR0VYID0gL15bIC1+XXswLDI1NX1bIS1+XSQvO1xudmFyIElOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVggPSAvLHw9Lztcbi8qKlxuICogS2V5IGlzIG9wYXF1ZSBzdHJpbmcgdXAgdG8gMjU2IGNoYXJhY3RlcnMgcHJpbnRhYmxlLiBJdCBNVVNUIGJlZ2luIHdpdGggYVxuICogbG93ZXJjYXNlIGxldHRlciwgYW5kIGNhbiBvbmx5IGNvbnRhaW4gbG93ZXJjYXNlIGxldHRlcnMgYS16LCBkaWdpdHMgMC05LFxuICogdW5kZXJzY29yZXMgXywgZGFzaGVzIC0sIGFzdGVyaXNrcyAqLCBhbmQgZm9yd2FyZCBzbGFzaGVzIC8uXG4gKiBGb3IgbXVsdGktdGVuYW50IHZlbmRvciBzY2VuYXJpb3MsIGFuIGF0IHNpZ24gKEApIGNhbiBiZSB1c2VkIHRvIHByZWZpeCB0aGVcbiAqIHZlbmRvciBuYW1lLiBWZW5kb3JzIFNIT1VMRCBzZXQgdGhlIHRlbmFudCBJRCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXkuXG4gKiBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL3RyYWNlLWNvbnRleHQvI2tleVxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUtleShrZXkpIHtcbiAgICByZXR1cm4gVkFMSURfS0VZX1JFR0VYLnRlc3Qoa2V5KTtcbn1cbi8qKlxuICogVmFsdWUgaXMgb3BhcXVlIHN0cmluZyB1cCB0byAyNTYgY2hhcmFjdGVycyBwcmludGFibGUgQVNDSUkgUkZDMDAyMFxuICogY2hhcmFjdGVycyAoaS5lLiwgdGhlIHJhbmdlIDB4MjAgdG8gMHg3RSkgZXhjZXB0IGNvbW1hICwgYW5kID0uXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlVmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gKFZBTElEX1ZBTFVFX0JBU0VfUkVHRVgudGVzdCh2YWx1ZSkgJiZcbiAgICAgICAgIUlOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVgudGVzdCh2YWx1ZSkpO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIE1BWF9UUkFDRV9TVEFURV9JVEVNUyA9IDMyO1xudmFyIE1BWF9UUkFDRV9TVEFURV9MRU4gPSA1MTI7XG52YXIgTElTVF9NRU1CRVJTX1NFUEFSQVRPUiA9ICcsJztcbnZhciBMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIgPSAnPSc7XG4vKipcbiAqIFRyYWNlU3RhdGUgbXVzdCBiZSBhIGNsYXNzIGFuZCBub3QgYSBzaW1wbGUgb2JqZWN0IHR5cGUgYmVjYXVzZSBvZiB0aGUgc3BlY1xuICogcmVxdWlyZW1lbnQgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi90cmFjZS1jb250ZXh0LyN0cmFjZXN0YXRlLWZpZWxkKS5cbiAqXG4gKiBIZXJlIGlzIHRoZSBsaXN0IG9mIGFsbG93ZWQgbXV0YXRpb25zOlxuICogLSBOZXcga2V5LXZhbHVlIHBhaXIgc2hvdWxkIGJlIGFkZGVkIGludG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdFxuICogLSBUaGUgdmFsdWUgb2YgYW55IGtleSBjYW4gYmUgdXBkYXRlZC4gTW9kaWZpZWQga2V5cyBNVVNUIGJlIG1vdmVkIHRvIHRoZVxuICogYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxuICovXG52YXIgVHJhY2VTdGF0ZUltcGwgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVHJhY2VTdGF0ZUltcGwocmF3VHJhY2VTdGF0ZSkge1xuICAgICAgICB0aGlzLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcCgpO1xuICAgICAgICBpZiAocmF3VHJhY2VTdGF0ZSlcbiAgICAgICAgICAgIHRoaXMuX3BhcnNlKHJhd1RyYWNlU3RhdGUpO1xuICAgIH1cbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICAgICAgLy8gVE9ETzogQmVuY2htYXJrIHRoZSBkaWZmZXJlbnQgYXBwcm9hY2hlcyhtYXAgdnMgbGlzdCkgYW5kXG4gICAgICAgIC8vIHVzZSB0aGUgZmFzdGVyIG9uZS5cbiAgICAgICAgdmFyIHRyYWNlU3RhdGUgPSB0aGlzLl9jbG9uZSgpO1xuICAgICAgICBpZiAodHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5oYXMoa2V5KSkge1xuICAgICAgICAgICAgdHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5kZWxldGUoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICB0cmFjZVN0YXRlLl9pbnRlcm5hbFN0YXRlLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUudW5zZXQgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHZhciB0cmFjZVN0YXRlID0gdGhpcy5fY2xvbmUoKTtcbiAgICAgICAgdHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5kZWxldGUoa2V5KTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZS5nZXQoa2V5KTtcbiAgICB9O1xuICAgIFRyYWNlU3RhdGVJbXBsLnByb3RvdHlwZS5zZXJpYWxpemUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiB0aGlzLl9rZXlzKClcbiAgICAgICAgICAgIC5yZWR1Y2UoZnVuY3Rpb24gKGFnZywga2V5KSB7XG4gICAgICAgICAgICBhZ2cucHVzaChrZXkgKyBMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIgKyBfdGhpcy5nZXQoa2V5KSk7XG4gICAgICAgICAgICByZXR1cm4gYWdnO1xuICAgICAgICB9LCBbXSlcbiAgICAgICAgICAgIC5qb2luKExJU1RfTUVNQkVSU19TRVBBUkFUT1IpO1xuICAgIH07XG4gICAgVHJhY2VTdGF0ZUltcGwucHJvdG90eXBlLl9wYXJzZSA9IGZ1bmN0aW9uIChyYXdUcmFjZVN0YXRlKSB7XG4gICAgICAgIGlmIChyYXdUcmFjZVN0YXRlLmxlbmd0aCA+IE1BWF9UUkFDRV9TVEFURV9MRU4pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHRoaXMuX2ludGVybmFsU3RhdGUgPSByYXdUcmFjZVN0YXRlXG4gICAgICAgICAgICAuc3BsaXQoTElTVF9NRU1CRVJTX1NFUEFSQVRPUilcbiAgICAgICAgICAgIC5yZXZlcnNlKCkgLy8gU3RvcmUgaW4gcmV2ZXJzZSBzbyBuZXcga2V5cyAoLnNldCguLi4pKSB3aWxsIGJlIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nXG4gICAgICAgICAgICAucmVkdWNlKGZ1bmN0aW9uIChhZ2csIHBhcnQpIHtcbiAgICAgICAgICAgIHZhciBsaXN0TWVtYmVyID0gcGFydC50cmltKCk7IC8vIE9wdGlvbmFsIFdoaXRlc3BhY2UgKE9XUykgaGFuZGxpbmdcbiAgICAgICAgICAgIHZhciBpID0gbGlzdE1lbWJlci5pbmRleE9mKExJU1RfTUVNQkVSX0tFWV9WQUxVRV9TUExJVFRFUik7XG4gICAgICAgICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0gbGlzdE1lbWJlci5zbGljZSgwLCBpKTtcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBsaXN0TWVtYmVyLnNsaWNlKGkgKyAxLCBwYXJ0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRlS2V5KGtleSkgJiYgdmFsaWRhdGVWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgYWdnLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWdnO1xuICAgICAgICB9LCBuZXcgTWFwKCkpO1xuICAgICAgICAvLyBCZWNhdXNlIG9mIHRoZSByZXZlcnNlKCkgcmVxdWlyZW1lbnQsIHRydW5jIG11c3QgYmUgZG9uZSBhZnRlciBtYXAgaXMgY3JlYXRlZFxuICAgICAgICBpZiAodGhpcy5faW50ZXJuYWxTdGF0ZS5zaXplID4gTUFYX1RSQUNFX1NUQVRFX0lURU1TKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2ludGVybmFsU3RhdGUuZW50cmllcygpKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCkgLy8gVXNlIHJldmVyc2Ugc2FtZSBhcyBvcmlnaW5hbCB0cmFjZXN0YXRlIHBhcnNlIGNoYWluXG4gICAgICAgICAgICAgICAgLnNsaWNlKDAsIE1BWF9UUkFDRV9TVEFURV9JVEVNUykpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuX2tleXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2ludGVybmFsU3RhdGUua2V5cygpKS5yZXZlcnNlKCk7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuX2Nsb25lID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdHJhY2VTdGF0ZSA9IG5ldyBUcmFjZVN0YXRlSW1wbCgpO1xuICAgICAgICB0cmFjZVN0YXRlLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcCh0aGlzLl9pbnRlcm5hbFN0YXRlKTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICByZXR1cm4gVHJhY2VTdGF0ZUltcGw7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlVHJhY2VTdGF0ZShyYXdUcmFjZVN0YXRlKSB7XG4gICAgcmV0dXJuIG5ldyBUcmFjZVN0YXRlSW1wbChyYXdUcmFjZVN0YXRlKTtcbn1cblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vIERlZmF1bHQgZXhwb3J0LlxuY29uc3QgaW5kZXggPSB7XG4gICAgY29udGV4dDogY29udGV4dCxcbiAgICBkaWFnOiBkaWFnLFxuICAgIG1ldHJpY3M6IG1ldHJpY3MsXG4gICAgcHJvcGFnYXRpb246IHByb3BhZ2F0aW9uLFxuICAgIHRyYWNlOiB0cmFjZSxcbn07XG5cbmNvbnN0IGVzbSQxID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoLyojX19QVVJFX18qL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh7XG4gICAgX19wcm90b19fOiBudWxsLFxuICAgIERpYWdDb25zb2xlTG9nZ2VyLFxuICAgIGdldCBEaWFnTG9nTGV2ZWwgKCkgeyByZXR1cm4gRGlhZ0xvZ0xldmVsOyB9LFxuICAgIElOVkFMSURfU1BBTklELFxuICAgIElOVkFMSURfU1BBTl9DT05URVhULFxuICAgIElOVkFMSURfVFJBQ0VJRCxcbiAgICBQcm94eVRyYWNlcixcbiAgICBQcm94eVRyYWNlclByb3ZpZGVyLFxuICAgIFJPT1RfQ09OVEVYVCxcbiAgICBnZXQgU2FtcGxpbmdEZWNpc2lvbiAoKSB7IHJldHVybiBTYW1wbGluZ0RlY2lzaW9uOyB9LFxuICAgIGdldCBTcGFuS2luZCAoKSB7IHJldHVybiBTcGFuS2luZDsgfSxcbiAgICBnZXQgU3BhblN0YXR1c0NvZGUgKCkgeyByZXR1cm4gU3BhblN0YXR1c0NvZGU7IH0sXG4gICAgZ2V0IFRyYWNlRmxhZ3MgKCkgeyByZXR1cm4gVHJhY2VGbGFnczsgfSxcbiAgICBnZXQgVmFsdWVUeXBlICgpIHsgcmV0dXJuIFZhbHVlVHlwZTsgfSxcbiAgICBiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmcsXG4gICAgY29udGV4dCxcbiAgICBjcmVhdGVDb250ZXh0S2V5LFxuICAgIGNyZWF0ZU5vb3BNZXRlcixcbiAgICBjcmVhdGVUcmFjZVN0YXRlLFxuICAgIGRlZmF1bHQ6IGluZGV4LFxuICAgIGRlZmF1bHRUZXh0TWFwR2V0dGVyLFxuICAgIGRlZmF1bHRUZXh0TWFwU2V0dGVyLFxuICAgIGRpYWcsXG4gICAgaXNTcGFuQ29udGV4dFZhbGlkLFxuICAgIGlzVmFsaWRTcGFuSWQsXG4gICAgaXNWYWxpZFRyYWNlSWQsXG4gICAgbWV0cmljcyxcbiAgICBwcm9wYWdhdGlvbixcbiAgICB0cmFjZVxufSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERPIE5PVCBFRElULCB0aGlzIGlzIGFuIEF1dG8tZ2VuZXJhdGVkIGZpbGUgZnJvbSBzY3JpcHRzL3NlbWNvbnYvdGVtcGxhdGVzL3JlZ2lzdHJ5L3N0YWJsZS9hdHRyaWJ1dGVzLnRzLmoyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogUmF0ZS1saW1pdGluZyByZXN1bHQsIHNob3dzIHdoZXRoZXIgdGhlIGxlYXNlIHdhcyBhY3F1aXJlZCBvciBjb250YWlucyBhIHJlamVjdGlvbiByZWFzb25cbiAqXG4gKiBAZXhhbXBsZSBhY3F1aXJlZFxuICogQGV4YW1wbGUgcmVxdWVzdF9jYW5jZWxlZFxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUID0gJ2FzcG5ldGNvcmUucmF0ZV9saW1pdGluZy5yZXN1bHQnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFjcXVpcmVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0FDUVVJUkVEID0gXCJhY3F1aXJlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImVuZHBvaW50X2xpbWl0ZXJcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfRU5EUE9JTlRfTElNSVRFUiA9IFwiZW5kcG9pbnRfbGltaXRlclwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImdsb2JhbF9saW1pdGVyXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0dMT0JBTF9MSU1JVEVSID0gXCJnbG9iYWxfbGltaXRlclwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInJlcXVlc3RfY2FuY2VsZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfUkVRVUVTVF9DQU5DRUxFRCA9IFwicmVxdWVzdF9jYW5jZWxlZFwiO1xuLyoqXG4gKiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIHRlbGVtZXRyeSBTREsuXG4gKi9cbnZhciBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UgPSAndGVsZW1ldHJ5LnNkay5sYW5ndWFnZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiY3BwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0NQUCA9IFwiY3BwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZG90bmV0XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0RPVE5FVCA9IFwiZG90bmV0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZXJsYW5nXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0VSTEFORyA9IFwiZXJsYW5nXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZ29cIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08gPSBcImdvXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiamF2YVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBID0gXCJqYXZhXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwibm9kZWpzXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX05PREVKUyA9IFwibm9kZWpzXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicGhwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BIUCA9IFwicGhwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicHl0aG9uXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BZVEhPTiA9IFwicHl0aG9uXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicnVieVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9SVUJZID0gXCJydWJ5XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicnVzdFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9SVVNUID0gXCJydXN0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwic3dpZnRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfU1dJRlQgPSBcInN3aWZ0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwid2VianNcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfV0VCSlMgPSBcIndlYmpzXCI7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSB0ZWxlbWV0cnkgU0RLIGFzIGRlZmluZWQgYWJvdmUuXG4gKlxuICogQGV4YW1wbGUgb3BlbnRlbGVtZXRyeVxuICpcbiAqIEBub3RlIFRoZSBPcGVuVGVsZW1ldHJ5IFNESyAqKk1VU1QqKiBzZXQgdGhlIGB0ZWxlbWV0cnkuc2RrLm5hbWVgIGF0dHJpYnV0ZSB0byBgb3BlbnRlbGVtZXRyeWAuXG4gKiBJZiBhbm90aGVyIFNESywgbGlrZSBhIGZvcmsgb3IgYSB2ZW5kb3ItcHJvdmlkZWQgaW1wbGVtZW50YXRpb24sIGlzIHVzZWQsIHRoaXMgU0RLICoqTVVTVCoqIHNldCB0aGVcbiAqIGB0ZWxlbWV0cnkuc2RrLm5hbWVgIGF0dHJpYnV0ZSB0byB0aGUgZnVsbHktcXVhbGlmaWVkIGNsYXNzIG9yIG1vZHVsZSBuYW1lIG9mIHRoaXMgU0RLJ3MgbWFpbiBlbnRyeSBwb2ludFxuICogb3IgYW5vdGhlciBzdWl0YWJsZSBpZGVudGlmaWVyIGRlcGVuZGluZyBvbiB0aGUgbGFuZ3VhZ2UuXG4gKiBUaGUgaWRlbnRpZmllciBgb3BlbnRlbGVtZXRyeWAgaXMgcmVzZXJ2ZWQgYW5kICoqTVVTVCBOT1QqKiBiZSB1c2VkIGluIHRoaXMgY2FzZS5cbiAqIEFsbCBjdXN0b20gaWRlbnRpZmllcnMgKipTSE9VTEQqKiBiZSBzdGFibGUgYWNyb3NzIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiBhbiBpbXBsZW1lbnRhdGlvbi5cbiAqL1xudmFyIEFUVFJfVEVMRU1FVFJZX1NES19OQU1FID0gJ3RlbGVtZXRyeS5zZGsubmFtZSc7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIHN0cmluZyBvZiB0aGUgdGVsZW1ldHJ5IFNESy5cbiAqXG4gKiBAZXhhbXBsZSAxLjIuM1xuICovXG52YXIgQVRUUl9URUxFTUVUUllfU0RLX1ZFUlNJT04gPSAndGVsZW1ldHJ5LnNkay52ZXJzaW9uJztcbi8qKlxuICogRnVsbCB0eXBlIG5hbWUgb2YgdGhlIFtgSUV4Y2VwdGlvbkhhbmRsZXJgXShodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZG90bmV0L2FwaS9taWNyb3NvZnQuYXNwbmV0Y29yZS5kaWFnbm9zdGljcy5pZXhjZXB0aW9uaGFuZGxlcikgaW1wbGVtZW50YXRpb24gdGhhdCBoYW5kbGVkIHRoZSBleGNlcHRpb24uXG4gKlxuICogQGV4YW1wbGUgQ29udG9zby5NeUhhbmRsZXJcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19IQU5ETEVSX1RZUEUgPSAnYXNwbmV0Y29yZS5kaWFnbm9zdGljcy5oYW5kbGVyLnR5cGUnO1xuLyoqXG4gKiBBU1AuTkVUIENvcmUgZXhjZXB0aW9uIG1pZGRsZXdhcmUgaGFuZGxpbmcgcmVzdWx0XG4gKlxuICogQGV4YW1wbGUgaGFuZGxlZFxuICogQGV4YW1wbGUgdW5oYW5kbGVkXG4gKi9cbnZhciBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVCA9ICdhc3BuZXRjb3JlLmRpYWdub3N0aWNzLmV4Y2VwdGlvbi5yZXN1bHQnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFib3J0ZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVH0uXG4gICovXG52YXIgQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0FCT1JURUQgPSBcImFib3J0ZWRcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJoYW5kbGVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9IQU5ETEVEID0gXCJoYW5kbGVkXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwic2tpcHBlZFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfU0tJUFBFRCA9IFwic2tpcHBlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInVuaGFuZGxlZFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfVU5IQU5ETEVEID0gXCJ1bmhhbmRsZWRcIjtcbi8qKlxuICogUmF0ZSBsaW1pdGluZyBwb2xpY3kgbmFtZS5cbiAqXG4gKiBAZXhhbXBsZSBmaXhlZFxuICogQGV4YW1wbGUgc2xpZGluZ1xuICogQGV4YW1wbGUgdG9rZW5cbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1BPTElDWSA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucG9saWN5Jztcbi8qKlxuICogRmxhZyBpbmRpY2F0aW5nIGlmIHJlcXVlc3Qgd2FzIGhhbmRsZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHBpcGVsaW5lLlxuICpcbiAqIEBleGFtcGxlIHRydWVcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9SRVFVRVNUX0lTX1VOSEFORExFRCA9ICdhc3BuZXRjb3JlLnJlcXVlc3QuaXNfdW5oYW5kbGVkJztcbi8qKlxuICogQSB2YWx1ZSB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRoZSBtYXRjaGVkIHJvdXRlIGlzIGEgZmFsbGJhY2sgcm91dGUuXG4gKlxuICogQGV4YW1wbGUgdHJ1ZVxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JPVVRJTkdfSVNfRkFMTEJBQ0sgPSAnYXNwbmV0Y29yZS5yb3V0aW5nLmlzX2ZhbGxiYWNrJztcbi8qKlxuICogTWF0Y2ggcmVzdWx0IC0gc3VjY2VzcyBvciBmYWlsdXJlXG4gKlxuICogQGV4YW1wbGUgc3VjY2Vzc1xuICogQGV4YW1wbGUgZmFpbHVyZVxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTID0gJ2FzcG5ldGNvcmUucm91dGluZy5tYXRjaF9zdGF0dXMnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImZhaWx1cmVcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVN9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfRkFJTFVSRSA9IFwiZmFpbHVyZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInN1Y2Nlc3NcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVN9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfU1VDQ0VTUyA9IFwic3VjY2Vzc1wiO1xuLyoqXG4gKiBDbGllbnQgYWRkcmVzcyAtIGRvbWFpbiBuYW1lIGlmIGF2YWlsYWJsZSB3aXRob3V0IHJldmVyc2UgRE5TIGxvb2t1cDsgb3RoZXJ3aXNlLCBJUCBhZGRyZXNzIG9yIFVuaXggZG9tYWluIHNvY2tldCBuYW1lLlxuICpcbiAqIEBleGFtcGxlIGNsaWVudC5leGFtcGxlLmNvbVxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqXG4gKiBAbm90ZSBXaGVuIG9ic2VydmVkIGZyb20gdGhlIHNlcnZlciBzaWRlLCBhbmQgd2hlbiBjb21tdW5pY2F0aW5nIHRocm91Z2ggYW4gaW50ZXJtZWRpYXJ5LCBgY2xpZW50LmFkZHJlc3NgICoqU0hPVUxEKiogcmVwcmVzZW50IHRoZSBjbGllbnQgYWRkcmVzcyBiZWhpbmQgYW55IGludGVybWVkaWFyaWVzLCAgZm9yIGV4YW1wbGUgcHJveGllcywgaWYgaXQncyBhdmFpbGFibGUuXG4gKi9cbnZhciBBVFRSX0NMSUVOVF9BRERSRVNTID0gJ2NsaWVudC5hZGRyZXNzJztcbi8qKlxuICogQ2xpZW50IHBvcnQgbnVtYmVyLlxuICpcbiAqIEBleGFtcGxlIDY1MTIzXG4gKlxuICogQG5vdGUgV2hlbiBvYnNlcnZlZCBmcm9tIHRoZSBzZXJ2ZXIgc2lkZSwgYW5kIHdoZW4gY29tbXVuaWNhdGluZyB0aHJvdWdoIGFuIGludGVybWVkaWFyeSwgYGNsaWVudC5wb3J0YCAqKlNIT1VMRCoqIHJlcHJlc2VudCB0aGUgY2xpZW50IHBvcnQgYmVoaW5kIGFueSBpbnRlcm1lZGlhcmllcywgIGZvciBleGFtcGxlIHByb3hpZXMsIGlmIGl0J3MgYXZhaWxhYmxlLlxuICovXG52YXIgQVRUUl9DTElFTlRfUE9SVCA9ICdjbGllbnQucG9ydCc7XG4vKipcbiAqIERlc2NyaWJlcyBhIGNsYXNzIG9mIGVycm9yIHRoZSBvcGVyYXRpb24gZW5kZWQgd2l0aC5cbiAqXG4gKiBAZXhhbXBsZSB0aW1lb3V0XG4gKiBAZXhhbXBsZSBqYXZhLm5ldC5Vbmtub3duSG9zdEV4Y2VwdGlvblxuICogQGV4YW1wbGUgc2VydmVyX2NlcnRpZmljYXRlX2ludmFsaWRcbiAqIEBleGFtcGxlIDUwMFxuICpcbiAqIEBub3RlIFRoZSBgZXJyb3IudHlwZWAgKipTSE9VTEQqKiBiZSBwcmVkaWN0YWJsZSwgYW5kICoqU0hPVUxEKiogaGF2ZSBsb3cgY2FyZGluYWxpdHkuXG4gKlxuICogV2hlbiBgZXJyb3IudHlwZWAgaXMgc2V0IHRvIGEgdHlwZSAoZS5nLiwgYW4gZXhjZXB0aW9uIHR5cGUpLCBpdHNcbiAqIGNhbm9uaWNhbCBjbGFzcyBuYW1lIGlkZW50aWZ5aW5nIHRoZSB0eXBlIHdpdGhpbiB0aGUgYXJ0aWZhY3QgKipTSE9VTEQqKiBiZSB1c2VkLlxuICpcbiAqIEluc3RydW1lbnRhdGlvbnMgKipTSE9VTEQqKiBkb2N1bWVudCB0aGUgbGlzdCBvZiBlcnJvcnMgdGhleSByZXBvcnQuXG4gKlxuICogVGhlIGNhcmRpbmFsaXR5IG9mIGBlcnJvci50eXBlYCB3aXRoaW4gb25lIGluc3RydW1lbnRhdGlvbiBsaWJyYXJ5ICoqU0hPVUxEKiogYmUgbG93LlxuICogVGVsZW1ldHJ5IGNvbnN1bWVycyB0aGF0IGFnZ3JlZ2F0ZSBkYXRhIGZyb20gbXVsdGlwbGUgaW5zdHJ1bWVudGF0aW9uIGxpYnJhcmllcyBhbmQgYXBwbGljYXRpb25zXG4gKiBzaG91bGQgYmUgcHJlcGFyZWQgZm9yIGBlcnJvci50eXBlYCB0byBoYXZlIGhpZ2ggY2FyZGluYWxpdHkgYXQgcXVlcnkgdGltZSB3aGVuIG5vXG4gKiBhZGRpdGlvbmFsIGZpbHRlcnMgYXJlIGFwcGxpZWQuXG4gKlxuICogSWYgdGhlIG9wZXJhdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgaW5zdHJ1bWVudGF0aW9ucyAqKlNIT1VMRCBOT1QqKiBzZXQgYGVycm9yLnR5cGVgLlxuICpcbiAqIElmIGEgc3BlY2lmaWMgZG9tYWluIGRlZmluZXMgaXRzIG93biBzZXQgb2YgZXJyb3IgaWRlbnRpZmllcnMgKHN1Y2ggYXMgSFRUUCBvciBnUlBDIHN0YXR1cyBjb2RlcyksXG4gKiBpdCdzICoqUkVDT01NRU5ERUQqKiB0bzpcbiAqXG4gKiAgIC0gVXNlIGEgZG9tYWluLXNwZWNpZmljIGF0dHJpYnV0ZVxuICogICAtIFNldCBgZXJyb3IudHlwZWAgdG8gY2FwdHVyZSBhbGwgZXJyb3JzLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSBhcmUgZGVmaW5lZCB3aXRoaW4gdGhlIGRvbWFpbi1zcGVjaWZpYyBzZXQgb3Igbm90LlxuICovXG52YXIgQVRUUl9FUlJPUl9UWVBFID0gJ2Vycm9yLnR5cGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIl9PVEhFUlwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfRVJST1JfVFlQRX0uXG4gICovXG52YXIgRVJST1JfVFlQRV9WQUxVRV9PVEhFUiA9IFwiX09USEVSXCI7XG4vKipcbiAqICoqU0hPVUxEKiogYmUgc2V0IHRvIHRydWUgaWYgdGhlIGV4Y2VwdGlvbiBldmVudCBpcyByZWNvcmRlZCBhdCBhIHBvaW50IHdoZXJlIGl0IGlzIGtub3duIHRoYXQgdGhlIGV4Y2VwdGlvbiBpcyBlc2NhcGluZyB0aGUgc2NvcGUgb2YgdGhlIHNwYW4uXG4gKlxuICogQG5vdGUgQW4gZXhjZXB0aW9uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBlc2NhcGVkIChvciBsZWZ0KSB0aGUgc2NvcGUgb2YgYSBzcGFuLFxuICogaWYgdGhhdCBzcGFuIGlzIGVuZGVkIHdoaWxlIHRoZSBleGNlcHRpb24gaXMgc3RpbGwgbG9naWNhbGx5IFwiaW4gZmxpZ2h0XCIuXG4gKiBUaGlzIG1heSBiZSBhY3R1YWxseSBcImluIGZsaWdodFwiIGluIHNvbWUgbGFuZ3VhZ2VzIChlLmcuIGlmIHRoZSBleGNlcHRpb25cbiAqIGlzIHBhc3NlZCB0byBhIENvbnRleHQgbWFuYWdlcidzIGBfX2V4aXRfX2AgbWV0aG9kIGluIFB5dGhvbikgYnV0IHdpbGxcbiAqIHVzdWFsbHkgYmUgY2F1Z2h0IGF0IHRoZSBwb2ludCBvZiByZWNvcmRpbmcgdGhlIGV4Y2VwdGlvbiBpbiBtb3N0IGxhbmd1YWdlcy5cbiAqXG4gKiBJdCBpcyB1c3VhbGx5IG5vdCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgYXQgdGhlIHBvaW50IHdoZXJlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd25cbiAqIHdoZXRoZXIgaXQgd2lsbCBlc2NhcGUgdGhlIHNjb3BlIG9mIGEgc3Bhbi5cbiAqIEhvd2V2ZXIsIGl0IGlzIHRyaXZpYWwgdG8ga25vdyB0aGF0IGFuIGV4Y2VwdGlvblxuICogd2lsbCBlc2NhcGUsIGlmIG9uZSBjaGVja3MgZm9yIGFuIGFjdGl2ZSBleGNlcHRpb24ganVzdCBiZWZvcmUgZW5kaW5nIHRoZSBzcGFuLFxuICogYXMgZG9uZSBpbiB0aGUgW2V4YW1wbGUgZm9yIHJlY29yZGluZyBzcGFuIGV4Y2VwdGlvbnNdKGh0dHBzOi8vb3BlbnRlbGVtZXRyeS5pby9kb2NzL3NwZWNzL3NlbWNvbnYvZXhjZXB0aW9ucy9leGNlcHRpb25zLXNwYW5zLyNyZWNvcmRpbmctYW4tZXhjZXB0aW9uKS5cbiAqXG4gKiBJdCBmb2xsb3dzIHRoYXQgYW4gZXhjZXB0aW9uIG1heSBzdGlsbCBlc2NhcGUgdGhlIHNjb3BlIG9mIHRoZSBzcGFuXG4gKiBldmVuIGlmIHRoZSBgZXhjZXB0aW9uLmVzY2FwZWRgIGF0dHJpYnV0ZSB3YXMgbm90IHNldCBvciBzZXQgdG8gZmFsc2UsXG4gKiBzaW5jZSB0aGUgZXZlbnQgbWlnaHQgaGF2ZSBiZWVuIHJlY29yZGVkIGF0IGEgdGltZSB3aGVyZSBpdCB3YXMgbm90XG4gKiBjbGVhciB3aGV0aGVyIHRoZSBleGNlcHRpb24gd2lsbCBlc2NhcGUuXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9FU0NBUEVEID0gJ2V4Y2VwdGlvbi5lc2NhcGVkJztcbi8qKlxuICogVGhlIGV4Y2VwdGlvbiBtZXNzYWdlLlxuICpcbiAqIEBleGFtcGxlIERpdmlzaW9uIGJ5IHplcm9cbiAqIEBleGFtcGxlIENhbid0IGNvbnZlcnQgJ2ludCcgb2JqZWN0IHRvIHN0ciBpbXBsaWNpdGx5XG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9NRVNTQUdFID0gJ2V4Y2VwdGlvbi5tZXNzYWdlJztcbi8qKlxuICogQSBzdGFja3RyYWNlIGFzIGEgc3RyaW5nIGluIHRoZSBuYXR1cmFsIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgbGFuZ3VhZ2UgcnVudGltZS4gVGhlIHJlcHJlc2VudGF0aW9uIGlzIHRvIGJlIGRldGVybWluZWQgYW5kIGRvY3VtZW50ZWQgYnkgZWFjaCBsYW5ndWFnZSBTSUcuXG4gKlxuICogQGV4YW1wbGUgXCJFeGNlcHRpb24gaW4gdGhyZWFkIFwibWFpblwiIGphdmEubGFuZy5SdW50aW1lRXhjZXB0aW9uOiBUZXN0IGV4Y2VwdGlvblxcXFxuIGF0IGNvbS5leGFtcGxlLkdlbmVyYXRlVHJhY2UubWV0aG9kQihHZW5lcmF0ZVRyYWNlLmphdmE6MTMpXFxcXG4gYXQgY29tLmV4YW1wbGUuR2VuZXJhdGVUcmFjZS5tZXRob2RBKEdlbmVyYXRlVHJhY2UuamF2YTo5KVxcXFxuIGF0IGNvbS5leGFtcGxlLkdlbmVyYXRlVHJhY2UubWFpbihHZW5lcmF0ZVRyYWNlLmphdmE6NSlcXFxcblwiXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9TVEFDS1RSQUNFID0gJ2V4Y2VwdGlvbi5zdGFja3RyYWNlJztcbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGV4Y2VwdGlvbiAoaXRzIGZ1bGx5LXF1YWxpZmllZCBjbGFzcyBuYW1lLCBpZiBhcHBsaWNhYmxlKS4gVGhlIGR5bmFtaWMgdHlwZSBvZiB0aGUgZXhjZXB0aW9uIHNob3VsZCBiZSBwcmVmZXJyZWQgb3ZlciB0aGUgc3RhdGljIHR5cGUgaW4gbGFuZ3VhZ2VzIHRoYXQgc3VwcG9ydCBpdC5cbiAqXG4gKiBAZXhhbXBsZSBqYXZhLm5ldC5Db25uZWN0RXhjZXB0aW9uXG4gKiBAZXhhbXBsZSBPU0Vycm9yXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9UWVBFID0gJ2V4Y2VwdGlvbi50eXBlJztcbi8qKlxuICogSFRUUCByZXF1ZXN0IGhlYWRlcnMsIGA8a2V5PmAgYmVpbmcgdGhlIG5vcm1hbGl6ZWQgSFRUUCBIZWFkZXIgbmFtZSAobG93ZXJjYXNlKSwgdGhlIHZhbHVlIGJlaW5nIHRoZSBoZWFkZXIgdmFsdWVzLlxuICpcbiAqIEBleGFtcGxlIGh0dHAucmVxdWVzdC5oZWFkZXIuY29udGVudC10eXBlPVtcImFwcGxpY2F0aW9uL2pzb25cIl1cbiAqIEBleGFtcGxlIGh0dHAucmVxdWVzdC5oZWFkZXIueC1mb3J3YXJkZWQtZm9yPVtcIjEuMi4zLjRcIiwgXCIxLjIuMy41XCJdXG4gKlxuICogQG5vdGUgSW5zdHJ1bWVudGF0aW9ucyAqKlNIT1VMRCoqIHJlcXVpcmUgYW4gZXhwbGljaXQgY29uZmlndXJhdGlvbiBvZiB3aGljaCBoZWFkZXJzIGFyZSB0byBiZSBjYXB0dXJlZC4gSW5jbHVkaW5nIGFsbCByZXF1ZXN0IGhlYWRlcnMgY2FuIGJlIGEgc2VjdXJpdHkgcmlzayAtIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gaGVscHMgYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24uXG4gKiBUaGUgYFVzZXItQWdlbnRgIGhlYWRlciBpcyBhbHJlYWR5IGNhcHR1cmVkIGluIHRoZSBgdXNlcl9hZ2VudC5vcmlnaW5hbGAgYXR0cmlidXRlLiBVc2VycyAqKk1BWSoqIGV4cGxpY2l0bHkgY29uZmlndXJlIGluc3RydW1lbnRhdGlvbnMgdG8gY2FwdHVyZSB0aGVtIGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCByZWNvbW1lbmRlZC5cbiAqIFRoZSBhdHRyaWJ1dGUgdmFsdWUgKipNVVNUKiogY29uc2lzdCBvZiBlaXRoZXIgbXVsdGlwbGUgaGVhZGVyIHZhbHVlcyBhcyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc2luZ2xlLWl0ZW0gYXJyYXkgY29udGFpbmluZyBhIHBvc3NpYmx5IGNvbW1hLWNvbmNhdGVuYXRlZCBzdHJpbmcsIGRlcGVuZGluZyBvbiB0aGUgd2F5IHRoZSBIVFRQIGxpYnJhcnkgcHJvdmlkZXMgYWNjZXNzIHRvIGhlYWRlcnMuXG4gKi9cbnZhciBBVFRSX0hUVFBfUkVRVUVTVF9IRUFERVIgPSBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBcImh0dHAucmVxdWVzdC5oZWFkZXIuXCIgKyBrZXk7IH07XG4vKipcbiAqIEhUVFAgcmVxdWVzdCBtZXRob2QuXG4gKlxuICogQGV4YW1wbGUgR0VUXG4gKiBAZXhhbXBsZSBQT1NUXG4gKiBAZXhhbXBsZSBIRUFEXG4gKlxuICogQG5vdGUgSFRUUCByZXF1ZXN0IG1ldGhvZCB2YWx1ZSAqKlNIT1VMRCoqIGJlIFwia25vd25cIiB0byB0aGUgaW5zdHJ1bWVudGF0aW9uLlxuICogQnkgZGVmYXVsdCwgdGhpcyBjb252ZW50aW9uIGRlZmluZXMgXCJrbm93blwiIG1ldGhvZHMgYXMgdGhlIG9uZXMgbGlzdGVkIGluIFtSRkM5MTEwXShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5odG1sI25hbWUtbWV0aG9kcylcbiAqIGFuZCB0aGUgUEFUQ0ggbWV0aG9kIGRlZmluZWQgaW4gW1JGQzU3ODldKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1Nzg5Lmh0bWwpLlxuICpcbiAqIElmIHRoZSBIVFRQIHJlcXVlc3QgbWV0aG9kIGlzIG5vdCBrbm93biB0byBpbnN0cnVtZW50YXRpb24sIGl0ICoqTVVTVCoqIHNldCB0aGUgYGh0dHAucmVxdWVzdC5tZXRob2RgIGF0dHJpYnV0ZSB0byBgX09USEVSYC5cbiAqXG4gKiBJZiB0aGUgSFRUUCBpbnN0cnVtZW50YXRpb24gY291bGQgZW5kIHVwIGNvbnZlcnRpbmcgdmFsaWQgSFRUUCByZXF1ZXN0IG1ldGhvZHMgdG8gYF9PVEhFUmAsIHRoZW4gaXQgKipNVVNUKiogcHJvdmlkZSBhIHdheSB0byBvdmVycmlkZVxuICogdGhlIGxpc3Qgb2Yga25vd24gSFRUUCBtZXRob2RzLiBJZiB0aGlzIG92ZXJyaWRlIGlzIGRvbmUgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGVuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAqKk1VU1QqKiBiZSBuYW1lZFxuICogT1RFTF9JTlNUUlVNRU5UQVRJT05fSFRUUF9LTk9XTl9NRVRIT0RTIGFuZCBzdXBwb3J0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgY2FzZS1zZW5zaXRpdmUga25vd24gSFRUUCBtZXRob2RzXG4gKiAodGhpcyBsaXN0ICoqTVVTVCoqIGJlIGEgZnVsbCBvdmVycmlkZSBvZiB0aGUgZGVmYXVsdCBrbm93biBtZXRob2QsIGl0IGlzIG5vdCBhIGxpc3Qgb2Yga25vd24gbWV0aG9kcyBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdHMpLlxuICpcbiAqIEhUVFAgbWV0aG9kIG5hbWVzIGFyZSBjYXNlLXNlbnNpdGl2ZSBhbmQgYGh0dHAucmVxdWVzdC5tZXRob2RgIGF0dHJpYnV0ZSB2YWx1ZSAqKk1VU1QqKiBtYXRjaCBhIGtub3duIEhUVFAgbWV0aG9kIG5hbWUgZXhhY3RseS5cbiAqIEluc3RydW1lbnRhdGlvbnMgZm9yIHNwZWNpZmljIHdlYiBmcmFtZXdvcmtzIHRoYXQgY29uc2lkZXIgSFRUUCBtZXRob2RzIHRvIGJlIGNhc2UgaW5zZW5zaXRpdmUsICoqU0hPVUxEKiogcG9wdWxhdGUgYSBjYW5vbmljYWwgZXF1aXZhbGVudC5cbiAqIFRyYWNpbmcgaW5zdHJ1bWVudGF0aW9ucyB0aGF0IGRvIHNvLCAqKk1VU1QqKiBhbHNvIHNldCBgaHR0cC5yZXF1ZXN0Lm1ldGhvZF9vcmlnaW5hbGAgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLlxuICovXG52YXIgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EID0gJ2h0dHAucmVxdWVzdC5tZXRob2QnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIl9PVEhFUlwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PVEhFUiA9IFwiX09USEVSXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiQ09OTkVDVFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9DT05ORUNUID0gXCJDT05ORUNUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiREVMRVRFXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0RFTEVURSA9IFwiREVMRVRFXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiR0VUXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0dFVCA9IFwiR0VUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiSEVBRFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFEID0gXCJIRUFEXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiT1BUSU9OU1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PUFRJT05TID0gXCJPUFRJT05TXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUEFUQ0hcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUEFUQ0ggPSBcIlBBVENIXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUE9TVFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QT1NUID0gXCJQT1NUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUFVUXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BVVCA9IFwiUFVUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiVFJBQ0VcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfVFJBQ0UgPSBcIlRSQUNFXCI7XG4vKipcbiAqIE9yaWdpbmFsIEhUVFAgbWV0aG9kIHNlbnQgYnkgdGhlIGNsaWVudCBpbiB0aGUgcmVxdWVzdCBsaW5lLlxuICpcbiAqIEBleGFtcGxlIEdlVFxuICogQGV4YW1wbGUgQUNMXG4gKiBAZXhhbXBsZSBmb29cbiAqL1xudmFyIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRF9PUklHSU5BTCA9ICdodHRwLnJlcXVlc3QubWV0aG9kX29yaWdpbmFsJztcbi8qKlxuICogVGhlIG9yZGluYWwgbnVtYmVyIG9mIHJlcXVlc3QgcmVzZW5kaW5nIGF0dGVtcHQgKGZvciBhbnkgcmVhc29uLCBpbmNsdWRpbmcgcmVkaXJlY3RzKS5cbiAqXG4gKiBAZXhhbXBsZSAzXG4gKlxuICogQG5vdGUgVGhlIHJlc2VuZCBjb3VudCAqKlNIT1VMRCoqIGJlIHVwZGF0ZWQgZWFjaCB0aW1lIGFuIEhUVFAgcmVxdWVzdCBnZXRzIHJlc2VudCBieSB0aGUgY2xpZW50LCByZWdhcmRsZXNzIG9mIHdoYXQgd2FzIHRoZSBjYXVzZSBvZiB0aGUgcmVzZW5kaW5nIChlLmcuIHJlZGlyZWN0aW9uLCBhdXRob3JpemF0aW9uIGZhaWx1cmUsIDUwMyBTZXJ2ZXIgVW5hdmFpbGFibGUsIG5ldHdvcmsgaXNzdWVzLCBvciBhbnkgb3RoZXIpLlxuICovXG52YXIgQVRUUl9IVFRQX1JFUVVFU1RfUkVTRU5EX0NPVU5UID0gJ2h0dHAucmVxdWVzdC5yZXNlbmRfY291bnQnO1xuLyoqXG4gKiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMsIGA8a2V5PmAgYmVpbmcgdGhlIG5vcm1hbGl6ZWQgSFRUUCBIZWFkZXIgbmFtZSAobG93ZXJjYXNlKSwgdGhlIHZhbHVlIGJlaW5nIHRoZSBoZWFkZXIgdmFsdWVzLlxuICpcbiAqIEBleGFtcGxlIGh0dHAucmVzcG9uc2UuaGVhZGVyLmNvbnRlbnQtdHlwZT1bXCJhcHBsaWNhdGlvbi9qc29uXCJdXG4gKiBAZXhhbXBsZSBodHRwLnJlc3BvbnNlLmhlYWRlci5teS1jdXN0b20taGVhZGVyPVtcImFiY1wiLCBcImRlZlwiXVxuICpcbiAqIEBub3RlIEluc3RydW1lbnRhdGlvbnMgKipTSE9VTEQqKiByZXF1aXJlIGFuIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gb2Ygd2hpY2ggaGVhZGVycyBhcmUgdG8gYmUgY2FwdHVyZWQuIEluY2x1ZGluZyBhbGwgcmVzcG9uc2UgaGVhZGVycyBjYW4gYmUgYSBzZWN1cml0eSByaXNrIC0gZXhwbGljaXQgY29uZmlndXJhdGlvbiBoZWxwcyBhdm9pZCBsZWFraW5nIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbi5cbiAqIFVzZXJzICoqTUFZKiogZXhwbGljaXRseSBjb25maWd1cmUgaW5zdHJ1bWVudGF0aW9ucyB0byBjYXB0dXJlIHRoZW0gZXZlbiB0aG91Z2ggaXQgaXMgbm90IHJlY29tbWVuZGVkLlxuICogVGhlIGF0dHJpYnV0ZSB2YWx1ZSAqKk1VU1QqKiBjb25zaXN0IG9mIGVpdGhlciBtdWx0aXBsZSBoZWFkZXIgdmFsdWVzIGFzIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgYSBzaW5nbGUtaXRlbSBhcnJheSBjb250YWluaW5nIGEgcG9zc2libHkgY29tbWEtY29uY2F0ZW5hdGVkIHN0cmluZywgZGVwZW5kaW5nIG9uIHRoZSB3YXkgdGhlIEhUVFAgbGlicmFyeSBwcm92aWRlcyBhY2Nlc3MgdG8gaGVhZGVycy5cbiAqL1xudmFyIEFUVFJfSFRUUF9SRVNQT05TRV9IRUFERVIgPSBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBcImh0dHAucmVzcG9uc2UuaGVhZGVyLlwiICsga2V5OyB9O1xuLyoqXG4gKiBbSFRUUCByZXNwb25zZSBzdGF0dXMgY29kZV0oaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02KS5cbiAqXG4gKiBAZXhhbXBsZSAyMDBcbiAqL1xudmFyIEFUVFJfSFRUUF9SRVNQT05TRV9TVEFUVVNfQ09ERSA9ICdodHRwLnJlc3BvbnNlLnN0YXR1c19jb2RlJztcbi8qKlxuICogVGhlIG1hdGNoZWQgcm91dGUsIHRoYXQgaXMsIHRoZSBwYXRoIHRlbXBsYXRlIGluIHRoZSBmb3JtYXQgdXNlZCBieSB0aGUgcmVzcGVjdGl2ZSBzZXJ2ZXIgZnJhbWV3b3JrLlxuICpcbiAqIEBleGFtcGxlIC91c2Vycy86dXNlcklEP1xuICogQGV4YW1wbGUge2NvbnRyb2xsZXJ9L3thY3Rpb259L3tpZD99XG4gKlxuICogQG5vdGUgKipNVVNUIE5PVCoqIGJlIHBvcHVsYXRlZCB3aGVuIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgSFRUUCBzZXJ2ZXIgZnJhbWV3b3JrIGFzIHRoZSByb3V0ZSBhdHRyaWJ1dGUgc2hvdWxkIGhhdmUgbG93LWNhcmRpbmFsaXR5IGFuZCB0aGUgVVJJIHBhdGggY2FuIE5PVCBzdWJzdGl0dXRlIGl0LlxuICogKipTSE9VTEQqKiBpbmNsdWRlIHRoZSBbYXBwbGljYXRpb24gcm9vdF0oL2RvY3MvaHR0cC9odHRwLXNwYW5zLm1kI2h0dHAtc2VydmVyLWRlZmluaXRpb25zKSBpZiB0aGVyZSBpcyBvbmUuXG4gKi9cbnZhciBBVFRSX0hUVFBfUk9VVEUgPSAnaHR0cC5yb3V0ZSc7XG4vKipcbiAqIE5hbWUgb2YgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIGFjdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSBlbmQgb2YgbWlub3IgR0NcbiAqIEBleGFtcGxlIGVuZCBvZiBtYWpvciBHQ1xuICpcbiAqIEBub3RlIEdhcmJhZ2UgY29sbGVjdG9yIGFjdGlvbiBpcyBnZW5lcmFsbHkgb2J0YWluZWQgdmlhIFtHYXJiYWdlQ29sbGVjdGlvbk5vdGlmaWNhdGlvbkluZm8jZ2V0R2NBY3Rpb24oKV0oaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamRrLm1hbmFnZW1lbnQvY29tL3N1bi9tYW5hZ2VtZW50L0dhcmJhZ2VDb2xsZWN0aW9uTm90aWZpY2F0aW9uSW5mby5odG1sI2dldEdjQWN0aW9uKCkpLlxuICovXG52YXIgQVRUUl9KVk1fR0NfQUNUSU9OID0gJ2p2bS5nYy5hY3Rpb24nO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBnYXJiYWdlIGNvbGxlY3Rvci5cbiAqXG4gKiBAZXhhbXBsZSBHMSBZb3VuZyBHZW5lcmF0aW9uXG4gKiBAZXhhbXBsZSBHMSBPbGQgR2VuZXJhdGlvblxuICpcbiAqIEBub3RlIEdhcmJhZ2UgY29sbGVjdG9yIG5hbWUgaXMgZ2VuZXJhbGx5IG9idGFpbmVkIHZpYSBbR2FyYmFnZUNvbGxlY3Rpb25Ob3RpZmljYXRpb25JbmZvI2dldEdjTmFtZSgpXShodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qZGsubWFuYWdlbWVudC9jb20vc3VuL21hbmFnZW1lbnQvR2FyYmFnZUNvbGxlY3Rpb25Ob3RpZmljYXRpb25JbmZvLmh0bWwjZ2V0R2NOYW1lKCkpLlxuICovXG52YXIgQVRUUl9KVk1fR0NfTkFNRSA9ICdqdm0uZ2MubmFtZSc7XG4vKipcbiAqIE5hbWUgb2YgdGhlIG1lbW9yeSBwb29sLlxuICpcbiAqIEBleGFtcGxlIEcxIE9sZCBHZW5cbiAqIEBleGFtcGxlIEcxIEVkZW4gc3BhY2VcbiAqIEBleGFtcGxlIEcxIFN1cnZpdm9yIFNwYWNlXG4gKlxuICogQG5vdGUgUG9vbCBuYW1lcyBhcmUgZ2VuZXJhbGx5IG9idGFpbmVkIHZpYSBbTWVtb3J5UG9vbE1YQmVhbiNnZXROYW1lKCldKGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEubWFuYWdlbWVudC9qYXZhL2xhbmcvbWFuYWdlbWVudC9NZW1vcnlQb29sTVhCZWFuLmh0bWwjZ2V0TmFtZSgpKS5cbiAqL1xudmFyIEFUVFJfSlZNX01FTU9SWV9QT09MX05BTUUgPSAnanZtLm1lbW9yeS5wb29sLm5hbWUnO1xuLyoqXG4gKiBUaGUgdHlwZSBvZiBtZW1vcnkuXG4gKlxuICogQGV4YW1wbGUgaGVhcFxuICogQGV4YW1wbGUgbm9uX2hlYXBcbiAqL1xudmFyIEFUVFJfSlZNX01FTU9SWV9UWVBFID0gJ2p2bS5tZW1vcnkudHlwZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiaGVhcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSlZNX01FTU9SWV9UWVBFfS5cbiAgKi9cbnZhciBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfSEVBUCA9IFwiaGVhcFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5vbl9oZWFwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fTUVNT1JZX1RZUEV9LlxuICAqL1xudmFyIEpWTV9NRU1PUllfVFlQRV9WQUxVRV9OT05fSEVBUCA9IFwibm9uX2hlYXBcIjtcbi8qKlxuICogV2hldGhlciB0aGUgdGhyZWFkIGlzIGRhZW1vbiBvciBub3QuXG4gKi9cbnZhciBBVFRSX0pWTV9USFJFQURfREFFTU9OID0gJ2p2bS50aHJlYWQuZGFlbW9uJztcbi8qKlxuICogU3RhdGUgb2YgdGhlIHRocmVhZC5cbiAqXG4gKiBAZXhhbXBsZSBydW5uYWJsZVxuICogQGV4YW1wbGUgYmxvY2tlZFxuICovXG52YXIgQVRUUl9KVk1fVEhSRUFEX1NUQVRFID0gJ2p2bS50aHJlYWQuc3RhdGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImJsb2NrZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfQkxPQ0tFRCA9IFwiYmxvY2tlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5ld1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSlZNX1RIUkVBRF9TVEFURX0uXG4gICovXG52YXIgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9ORVcgPSBcIm5ld1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInJ1bm5hYmxlXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fVEhSRUFEX1NUQVRFfS5cbiAgKi9cbnZhciBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1JVTk5BQkxFID0gXCJydW5uYWJsZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRlcm1pbmF0ZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVEVSTUlOQVRFRCA9IFwidGVybWluYXRlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRpbWVkX3dhaXRpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVElNRURfV0FJVElORyA9IFwidGltZWRfd2FpdGluZ1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIndhaXRpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfV0FJVElORyA9IFwid2FpdGluZ1wiO1xuLyoqXG4gKiBMb2NhbCBhZGRyZXNzIG9mIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24gLSBJUCBhZGRyZXNzIG9yIFVuaXggZG9tYWluIHNvY2tldCBuYW1lLlxuICpcbiAqIEBleGFtcGxlIDEwLjEuMi44MFxuICogQGV4YW1wbGUgL3RtcC9teS5zb2NrXG4gKi9cbnZhciBBVFRSX05FVFdPUktfTE9DQUxfQUREUkVTUyA9ICduZXR3b3JrLmxvY2FsLmFkZHJlc3MnO1xuLyoqXG4gKiBMb2NhbCBwb3J0IG51bWJlciBvZiB0aGUgbmV0d29yayBjb25uZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIDY1MTIzXG4gKi9cbnZhciBBVFRSX05FVFdPUktfTE9DQUxfUE9SVCA9ICduZXR3b3JrLmxvY2FsLnBvcnQnO1xuLyoqXG4gKiBQZWVyIGFkZHJlc3Mgb2YgdGhlIG5ldHdvcmsgY29ubmVjdGlvbiAtIElQIGFkZHJlc3Mgb3IgVW5peCBkb21haW4gc29ja2V0IG5hbWUuXG4gKlxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqL1xudmFyIEFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MgPSAnbmV0d29yay5wZWVyLmFkZHJlc3MnO1xuLyoqXG4gKiBQZWVyIHBvcnQgbnVtYmVyIG9mIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24uXG4gKlxuICogQGV4YW1wbGUgNjUxMjNcbiAqL1xudmFyIEFUVFJfTkVUV09SS19QRUVSX1BPUlQgPSAnbmV0d29yay5wZWVyLnBvcnQnO1xuLyoqXG4gKiBbT1NJIGFwcGxpY2F0aW9uIGxheWVyXShodHRwczovL29zaS1tb2RlbC5jb20vYXBwbGljYXRpb24tbGF5ZXIvKSBvciBub24tT1NJIGVxdWl2YWxlbnQuXG4gKlxuICogQGV4YW1wbGUgYW1xcFxuICogQGV4YW1wbGUgaHR0cFxuICogQGV4YW1wbGUgbXF0dFxuICpcbiAqIEBub3RlIFRoZSB2YWx1ZSAqKlNIT1VMRCoqIGJlIG5vcm1hbGl6ZWQgdG8gbG93ZXJjYXNlLlxuICovXG52YXIgQVRUUl9ORVRXT1JLX1BST1RPQ09MX05BTUUgPSAnbmV0d29yay5wcm90b2NvbC5uYW1lJztcbi8qKlxuICogVGhlIGFjdHVhbCB2ZXJzaW9uIG9mIHRoZSBwcm90b2NvbCB1c2VkIGZvciBuZXR3b3JrIGNvbW11bmljYXRpb24uXG4gKlxuICogQGV4YW1wbGUgMS4xXG4gKiBAZXhhbXBsZSAyXG4gKlxuICogQG5vdGUgSWYgcHJvdG9jb2wgdmVyc2lvbiBpcyBzdWJqZWN0IHRvIG5lZ290aWF0aW9uIChmb3IgZXhhbXBsZSB1c2luZyBbQUxQTl0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzczMDEuaHRtbCkpLCB0aGlzIGF0dHJpYnV0ZSAqKlNIT1VMRCoqIGJlIHNldCB0byB0aGUgbmVnb3RpYXRlZCB2ZXJzaW9uLiBJZiB0aGUgYWN0dWFsIHByb3RvY29sIHZlcnNpb24gaXMgbm90IGtub3duLCB0aGlzIGF0dHJpYnV0ZSAqKlNIT1VMRCBOT1QqKiBiZSBzZXQuXG4gKi9cbnZhciBBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTiA9ICduZXR3b3JrLnByb3RvY29sLnZlcnNpb24nO1xuLyoqXG4gKiBbT1NJIHRyYW5zcG9ydCBsYXllcl0oaHR0cHM6Ly9vc2ktbW9kZWwuY29tL3RyYW5zcG9ydC1sYXllci8pIG9yIFtpbnRlci1wcm9jZXNzIGNvbW11bmljYXRpb24gbWV0aG9kXShodHRwczovL3dpa2lwZWRpYS5vcmcvd2lraS9JbnRlci1wcm9jZXNzX2NvbW11bmljYXRpb24pLlxuICpcbiAqIEBleGFtcGxlIHRjcFxuICogQGV4YW1wbGUgdWRwXG4gKlxuICogQG5vdGUgVGhlIHZhbHVlICoqU0hPVUxEKiogYmUgbm9ybWFsaXplZCB0byBsb3dlcmNhc2UuXG4gKlxuICogQ29uc2lkZXIgYWx3YXlzIHNldHRpbmcgdGhlIHRyYW5zcG9ydCB3aGVuIHNldHRpbmcgYSBwb3J0IG51bWJlciwgc2luY2VcbiAqIGEgcG9ydCBudW1iZXIgaXMgYW1iaWd1b3VzIHdpdGhvdXQga25vd2luZyB0aGUgdHJhbnNwb3J0LiBGb3IgZXhhbXBsZVxuICogZGlmZmVyZW50IHByb2Nlc3NlcyBjb3VsZCBiZSBsaXN0ZW5pbmcgb24gVENQIHBvcnQgMTIzNDUgYW5kIFVEUCBwb3J0IDEyMzQ1LlxuICovXG52YXIgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVCA9ICduZXR3b3JrLnRyYW5zcG9ydCc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicGlwZVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUgPSBcInBpcGVcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJxdWljXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyA9IFwicXVpY1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRjcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1RDUCA9IFwidGNwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwidWRwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQID0gXCJ1ZHBcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ1bml4XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVU5JWCA9IFwidW5peFwiO1xuLyoqXG4gKiBbT1NJIG5ldHdvcmsgbGF5ZXJdKGh0dHBzOi8vb3NpLW1vZGVsLmNvbS9uZXR3b3JrLWxheWVyLykgb3Igbm9uLU9TSSBlcXVpdmFsZW50LlxuICpcbiAqIEBleGFtcGxlIGlwdjRcbiAqIEBleGFtcGxlIGlwdjZcbiAqXG4gKiBAbm90ZSBUaGUgdmFsdWUgKipTSE9VTEQqKiBiZSBub3JtYWxpemVkIHRvIGxvd2VyY2FzZS5cbiAqL1xudmFyIEFUVFJfTkVUV09SS19UWVBFID0gJ25ldHdvcmsudHlwZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiaXB2NFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UWVBFfS5cbiAgKi9cbnZhciBORVRXT1JLX1RZUEVfVkFMVUVfSVBWNCA9IFwiaXB2NFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImlwdjZcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX05FVFdPUktfVFlQRX0uXG4gICovXG52YXIgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYgPSBcImlwdjZcIjtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGluc3RydW1lbnRhdGlvbiBzY29wZSAtIChgSW5zdHJ1bWVudGF0aW9uU2NvcGUuTmFtZWAgaW4gT1RMUCkuXG4gKlxuICogQGV4YW1wbGUgaW8ub3BlbnRlbGVtZXRyeS5jb250cmliLm1vbmdvZGJcbiAqL1xudmFyIEFUVFJfT1RFTF9TQ09QRV9OQU1FID0gJ290ZWwuc2NvcGUubmFtZSc7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBpbnN0cnVtZW50YXRpb24gc2NvcGUgLSAoYEluc3RydW1lbnRhdGlvblNjb3BlLlZlcnNpb25gIGluIE9UTFApLlxuICpcbiAqIEBleGFtcGxlIDEuMC4wXG4gKi9cbnZhciBBVFRSX09URUxfU0NPUEVfVkVSU0lPTiA9ICdvdGVsLnNjb3BlLnZlcnNpb24nO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBjb2RlLCBlaXRoZXIgXCJPS1wiIG9yIFwiRVJST1JcIi4gKipNVVNUIE5PVCoqIGJlIHNldCBpZiB0aGUgc3RhdHVzIGNvZGUgaXMgVU5TRVQuXG4gKi9cbnZhciBBVFRSX09URUxfU1RBVFVTX0NPREUgPSAnb3RlbC5zdGF0dXNfY29kZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiRVJST1JcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX09URUxfU1RBVFVTX0NPREV9LlxuICAqL1xudmFyIE9URUxfU1RBVFVTX0NPREVfVkFMVUVfRVJST1IgPSBcIkVSUk9SXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiT0tcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX09URUxfU1RBVFVTX0NPREV9LlxuICAqL1xudmFyIE9URUxfU1RBVFVTX0NPREVfVkFMVUVfT0sgPSBcIk9LXCI7XG4vKipcbiAqIERlc2NyaXB0aW9uIG9mIHRoZSBTdGF0dXMgaWYgaXQgaGFzIGEgdmFsdWUsIG90aGVyd2lzZSBub3Qgc2V0LlxuICpcbiAqIEBleGFtcGxlIHJlc291cmNlIG5vdCBmb3VuZFxuICovXG52YXIgQVRUUl9PVEVMX1NUQVRVU19ERVNDUklQVElPTiA9ICdvdGVsLnN0YXR1c19kZXNjcmlwdGlvbic7XG4vKipcbiAqIFNlcnZlciBkb21haW4gbmFtZSBpZiBhdmFpbGFibGUgd2l0aG91dCByZXZlcnNlIEROUyBsb29rdXA7IG90aGVyd2lzZSwgSVAgYWRkcmVzcyBvciBVbml4IGRvbWFpbiBzb2NrZXQgbmFtZS5cbiAqXG4gKiBAZXhhbXBsZSBleGFtcGxlLmNvbVxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqXG4gKiBAbm90ZSBXaGVuIG9ic2VydmVkIGZyb20gdGhlIGNsaWVudCBzaWRlLCBhbmQgd2hlbiBjb21tdW5pY2F0aW5nIHRocm91Z2ggYW4gaW50ZXJtZWRpYXJ5LCBgc2VydmVyLmFkZHJlc3NgICoqU0hPVUxEKiogcmVwcmVzZW50IHRoZSBzZXJ2ZXIgYWRkcmVzcyBiZWhpbmQgYW55IGludGVybWVkaWFyaWVzLCBmb3IgZXhhbXBsZSBwcm94aWVzLCBpZiBpdCdzIGF2YWlsYWJsZS5cbiAqL1xudmFyIEFUVFJfU0VSVkVSX0FERFJFU1MgPSAnc2VydmVyLmFkZHJlc3MnO1xuLyoqXG4gKiBTZXJ2ZXIgcG9ydCBudW1iZXIuXG4gKlxuICogQGV4YW1wbGUgODBcbiAqIEBleGFtcGxlIDgwODBcbiAqIEBleGFtcGxlIDQ0M1xuICpcbiAqIEBub3RlIFdoZW4gb2JzZXJ2ZWQgZnJvbSB0aGUgY2xpZW50IHNpZGUsIGFuZCB3aGVuIGNvbW11bmljYXRpbmcgdGhyb3VnaCBhbiBpbnRlcm1lZGlhcnksIGBzZXJ2ZXIucG9ydGAgKipTSE9VTEQqKiByZXByZXNlbnQgdGhlIHNlcnZlciBwb3J0IGJlaGluZCBhbnkgaW50ZXJtZWRpYXJpZXMsIGZvciBleGFtcGxlIHByb3hpZXMsIGlmIGl0J3MgYXZhaWxhYmxlLlxuICovXG52YXIgQVRUUl9TRVJWRVJfUE9SVCA9ICdzZXJ2ZXIucG9ydCc7XG4vKipcbiAqIExvZ2ljYWwgbmFtZSBvZiB0aGUgc2VydmljZS5cbiAqXG4gKiBAZXhhbXBsZSBzaG9wcGluZ2NhcnRcbiAqXG4gKiBAbm90ZSAqKk1VU1QqKiBiZSB0aGUgc2FtZSBmb3IgYWxsIGluc3RhbmNlcyBvZiBob3Jpem9udGFsbHkgc2NhbGVkIHNlcnZpY2VzLiBJZiB0aGUgdmFsdWUgd2FzIG5vdCBzcGVjaWZpZWQsIFNES3MgKipNVVNUKiogZmFsbGJhY2sgdG8gYHVua25vd25fc2VydmljZTpgIGNvbmNhdGVuYXRlZCB3aXRoIFtgcHJvY2Vzcy5leGVjdXRhYmxlLm5hbWVgXShwcm9jZXNzLm1kKSwgZS5nLiBgdW5rbm93bl9zZXJ2aWNlOmJhc2hgLiBJZiBgcHJvY2Vzcy5leGVjdXRhYmxlLm5hbWVgIGlzIG5vdCBhdmFpbGFibGUsIHRoZSB2YWx1ZSAqKk1VU1QqKiBiZSBzZXQgdG8gYHVua25vd25fc2VydmljZWAuXG4gKi9cbnZhciBBVFRSX1NFUlZJQ0VfTkFNRSA9ICdzZXJ2aWNlLm5hbWUnO1xuLyoqXG4gKiBUaGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIHNlcnZpY2UgQVBJIG9yIGltcGxlbWVudGF0aW9uLiBUaGUgZm9ybWF0IGlzIG5vdCBkZWZpbmVkIGJ5IHRoZXNlIGNvbnZlbnRpb25zLlxuICpcbiAqIEBleGFtcGxlIDIuMC4wXG4gKiBAZXhhbXBsZSBhMDFkYmVmOGFcbiAqL1xudmFyIEFUVFJfU0VSVklDRV9WRVJTSU9OID0gJ3NlcnZpY2UudmVyc2lvbic7XG4vKipcbiAqIFNpZ25hbFIgSFRUUCBjb25uZWN0aW9uIGNsb3N1cmUgc3RhdHVzLlxuICpcbiAqIEBleGFtcGxlIGFwcF9zaHV0ZG93blxuICogQGV4YW1wbGUgdGltZW91dFxuICovXG52YXIgQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTID0gJ3NpZ25hbHIuY29ubmVjdGlvbi5zdGF0dXMnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFwcF9zaHV0ZG93blwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU30uXG4gICovXG52YXIgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04gPSBcImFwcF9zaHV0ZG93blwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5vcm1hbF9jbG9zdXJlXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTfS5cbiAgKi9cbnZhciBTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX05PUk1BTF9DTE9TVVJFID0gXCJub3JtYWxfY2xvc3VyZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRpbWVvdXRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVN9LlxuICAqL1xudmFyIFNJR05BTFJfQ09OTkVDVElPTl9TVEFUVVNfVkFMVUVfVElNRU9VVCA9IFwidGltZW91dFwiO1xuLyoqXG4gKiBbU2lnbmFsUiB0cmFuc3BvcnQgdHlwZV0oaHR0cHM6Ly9naXRodWIuY29tL2RvdG5ldC9hc3BuZXRjb3JlL2Jsb2IvbWFpbi9zcmMvU2lnbmFsUi9kb2NzL3NwZWNzL1RyYW5zcG9ydFByb3RvY29scy5tZClcbiAqXG4gKiBAZXhhbXBsZSB3ZWJfc29ja2V0c1xuICogQGV4YW1wbGUgbG9uZ19wb2xsaW5nXG4gKi9cbnZhciBBVFRSX1NJR05BTFJfVFJBTlNQT1JUID0gJ3NpZ25hbHIudHJhbnNwb3J0Jztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJsb25nX3BvbGxpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9MT05HX1BPTExJTkcgPSBcImxvbmdfcG9sbGluZ1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInNlcnZlcl9zZW50X2V2ZW50c1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfU0lHTkFMUl9UUkFOU1BPUlR9LlxuICAqL1xudmFyIFNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1NFUlZFUl9TRU5UX0VWRU5UUyA9IFwic2VydmVyX3NlbnRfZXZlbnRzXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwid2ViX3NvY2tldHNcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9XRUJfU09DS0VUUyA9IFwid2ViX3NvY2tldHNcIjtcbi8qKlxuICogVGhlIFtVUkkgZnJhZ21lbnRdKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMzOTg2I3NlY3Rpb24tMy41KSBjb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZSBTZW1Db252XG4gKi9cbnZhciBBVFRSX1VSTF9GUkFHTUVOVCA9ICd1cmwuZnJhZ21lbnQnO1xuLyoqXG4gKiBBYnNvbHV0ZSBVUkwgZGVzY3JpYmluZyBhIG5ldHdvcmsgcmVzb3VyY2UgYWNjb3JkaW5nIHRvIFtSRkMzOTg2XShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjMzk4NilcbiAqXG4gKiBAZXhhbXBsZSBodHRwczovL3d3dy5mb28uYmFyL3NlYXJjaD9xPU9wZW5UZWxlbWV0cnkjU2VtQ29udlxuICogQGV4YW1wbGUgLy9sb2NhbGhvc3RcbiAqXG4gKiBAbm90ZSBGb3IgbmV0d29yayBjYWxscywgVVJMIHVzdWFsbHkgaGFzIGBzY2hlbWU6Ly9ob3N0Wzpwb3J0XVtwYXRoXVs/cXVlcnldWyNmcmFnbWVudF1gIGZvcm1hdCwgd2hlcmUgdGhlIGZyYWdtZW50IGlzIG5vdCB0cmFuc21pdHRlZCBvdmVyIEhUVFAsIGJ1dCBpZiBpdCBpcyBrbm93biwgaXQgKipTSE9VTEQqKiBiZSBpbmNsdWRlZCBuZXZlcnRoZWxlc3MuXG4gKiBgdXJsLmZ1bGxgICoqTVVTVCBOT1QqKiBjb250YWluIGNyZWRlbnRpYWxzIHBhc3NlZCB2aWEgVVJMIGluIGZvcm0gb2YgYGh0dHBzOi8vdXNlcm5hbWU6cGFzc3dvcmRAd3d3LmV4YW1wbGUuY29tL2AuIEluIHN1Y2ggY2FzZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgKipTSE9VTEQqKiBiZSByZWRhY3RlZCBhbmQgYXR0cmlidXRlJ3MgdmFsdWUgKipTSE9VTEQqKiBiZSBgaHR0cHM6Ly9SRURBQ1RFRDpSRURBQ1RFREB3d3cuZXhhbXBsZS5jb20vYC5cbiAqIGB1cmwuZnVsbGAgKipTSE9VTEQqKiBjYXB0dXJlIHRoZSBhYnNvbHV0ZSBVUkwgd2hlbiBpdCBpcyBhdmFpbGFibGUgKG9yIGNhbiBiZSByZWNvbnN0cnVjdGVkKS4gU2Vuc2l0aXZlIGNvbnRlbnQgcHJvdmlkZWQgaW4gYHVybC5mdWxsYCAqKlNIT1VMRCoqIGJlIHNjcnViYmVkIHdoZW4gaW5zdHJ1bWVudGF0aW9ucyBjYW4gaWRlbnRpZnkgaXQuXG4gKi9cbnZhciBBVFRSX1VSTF9GVUxMID0gJ3VybC5mdWxsJztcbi8qKlxuICogVGhlIFtVUkkgcGF0aF0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjMpIGNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlIC9zZWFyY2hcbiAqXG4gKiBAbm90ZSBTZW5zaXRpdmUgY29udGVudCBwcm92aWRlZCBpbiBgdXJsLnBhdGhgICoqU0hPVUxEKiogYmUgc2NydWJiZWQgd2hlbiBpbnN0cnVtZW50YXRpb25zIGNhbiBpZGVudGlmeSBpdC5cbiAqL1xudmFyIEFUVFJfVVJMX1BBVEggPSAndXJsLnBhdGgnO1xuLyoqXG4gKiBUaGUgW1VSSSBxdWVyeV0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjQpIGNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlIHE9T3BlblRlbGVtZXRyeVxuICpcbiAqIEBub3RlIFNlbnNpdGl2ZSBjb250ZW50IHByb3ZpZGVkIGluIGB1cmwucXVlcnlgICoqU0hPVUxEKiogYmUgc2NydWJiZWQgd2hlbiBpbnN0cnVtZW50YXRpb25zIGNhbiBpZGVudGlmeSBpdC5cbiAqL1xudmFyIEFUVFJfVVJMX1FVRVJZID0gJ3VybC5xdWVyeSc7XG4vKipcbiAqIFRoZSBbVVJJIHNjaGVtZV0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjEpIGNvbXBvbmVudCBpZGVudGlmeWluZyB0aGUgdXNlZCBwcm90b2NvbC5cbiAqXG4gKiBAZXhhbXBsZSBodHRwc1xuICogQGV4YW1wbGUgZnRwXG4gKiBAZXhhbXBsZSB0ZWxuZXRcbiAqL1xudmFyIEFUVFJfVVJMX1NDSEVNRSA9ICd1cmwuc2NoZW1lJztcbi8qKlxuICogVmFsdWUgb2YgdGhlIFtIVFRQIFVzZXItQWdlbnRdKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjZmllbGQudXNlci1hZ2VudCkgaGVhZGVyIHNlbnQgYnkgdGhlIGNsaWVudC5cbiAqXG4gKiBAZXhhbXBsZSBDRVJOLUxpbmVNb2RlLzIuMTUgbGlid3d3LzIuMTdiM1xuICogQGV4YW1wbGUgTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxNF83XzEgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE0LjEuMiBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMVxuICogQGV4YW1wbGUgWW91ckFwcC8xLjAuMCBncnBjLWphdmEtb2todHRwLzEuMjcuMlxuICovXG52YXIgQVRUUl9VU0VSX0FHRU5UX09SSUdJTkFMID0gJ3VzZXJfYWdlbnQub3JpZ2luYWwnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBETyBOT1QgRURJVCwgdGhpcyBpcyBhbiBBdXRvLWdlbmVyYXRlZCBmaWxlIGZyb20gc2NyaXB0cy9zZW1jb252L3RlbXBsYXRlcy9yZWdpc3Rlci9zdGFibGUvbWV0cmljcy50cy5qMlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIE51bWJlciBvZiBleGNlcHRpb25zIGNhdWdodCBieSBleGNlcHRpb24gaGFuZGxpbmcgbWlkZGxld2FyZS5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuRGlhZ25vc3RpY3NgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OUyA9ICdhc3BuZXRjb3JlLmRpYWdub3N0aWNzLmV4Y2VwdGlvbnMnO1xuLyoqXG4gKiBOdW1iZXIgb2YgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IGFjdGl2ZSBvbiB0aGUgc2VydmVyIHRoYXQgaG9sZCBhIHJhdGUgbGltaXRpbmcgbGVhc2UuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJhdGVMaW1pdGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX0FDVElWRV9SRVFVRVNUX0xFQVNFUyA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcuYWN0aXZlX3JlcXVlc3RfbGVhc2VzJztcbi8qKlxuICogTnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBxdWV1ZWQsIHdhaXRpbmcgdG8gYWNxdWlyZSBhIHJhdGUgbGltaXRpbmcgbGVhc2UuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJhdGVMaW1pdGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1FVRVVFRF9SRVFVRVNUUyA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucXVldWVkX3JlcXVlc3RzJztcbi8qKlxuICogVGhlIHRpbWUgdGhlIHJlcXVlc3Qgc3BlbnQgaW4gYSBxdWV1ZSB3YWl0aW5nIHRvIGFjcXVpcmUgYSByYXRlIGxpbWl0aW5nIGxlYXNlLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5SYXRlTGltaXRpbmdgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnJlcXVlc3QudGltZV9pbl9xdWV1ZSc7XG4vKipcbiAqIFRoZSBkdXJhdGlvbiBvZiByYXRlIGxpbWl0aW5nIGxlYXNlIGhlbGQgYnkgcmVxdWVzdHMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUmF0ZUxpbWl0aW5nYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVF9MRUFTRV9EVVJBVElPTiA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucmVxdWVzdF9sZWFzZS5kdXJhdGlvbic7XG4vKipcbiAqIE51bWJlciBvZiByZXF1ZXN0cyB0aGF0IHRyaWVkIHRvIGFjcXVpcmUgYSByYXRlIGxpbWl0aW5nIGxlYXNlLlxuICpcbiAqIEBub3RlIFJlcXVlc3RzIGNvdWxkIGJlOlxuICpcbiAqICAgLSBSZWplY3RlZCBieSBnbG9iYWwgb3IgZW5kcG9pbnQgcmF0ZSBsaW1pdGluZyBwb2xpY2llc1xuICogICAtIENhbmNlbGVkIHdoaWxlIHdhaXRpbmcgZm9yIHRoZSBsZWFzZS5cbiAqXG4gKiBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUmF0ZUxpbWl0aW5nYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVFMgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnJlcXVlc3RzJztcbi8qKlxuICogTnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgd2VyZSBhdHRlbXB0ZWQgdG8gYmUgbWF0Y2hlZCB0byBhbiBlbmRwb2ludC5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUm91dGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX0FUVEVNUFRTID0gJ2FzcG5ldGNvcmUucm91dGluZy5tYXRjaF9hdHRlbXB0cyc7XG4vKipcbiAqIER1cmF0aW9uIG9mIEhUVFAgY2xpZW50IHJlcXVlc3RzLlxuICovXG52YXIgTUVUUklDX0hUVFBfQ0xJRU5UX1JFUVVFU1RfRFVSQVRJT04gPSAnaHR0cC5jbGllbnQucmVxdWVzdC5kdXJhdGlvbic7XG4vKipcbiAqIER1cmF0aW9uIG9mIEhUVFAgc2VydmVyIHJlcXVlc3RzLlxuICovXG52YXIgTUVUUklDX0hUVFBfU0VSVkVSX1JFUVVFU1RfRFVSQVRJT04gPSAnaHR0cC5zZXJ2ZXIucmVxdWVzdC5kdXJhdGlvbic7XG4vKipcbiAqIE51bWJlciBvZiBjbGFzc2VzIGN1cnJlbnRseSBsb2FkZWQuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NMQVNTX0NPVU5UID0gJ2p2bS5jbGFzcy5jb3VudCc7XG4vKipcbiAqIE51bWJlciBvZiBjbGFzc2VzIGxvYWRlZCBzaW5jZSBKVk0gc3RhcnQuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NMQVNTX0xPQURFRCA9ICdqdm0uY2xhc3MubG9hZGVkJztcbi8qKlxuICogTnVtYmVyIG9mIGNsYXNzZXMgdW5sb2FkZWQgc2luY2UgSlZNIHN0YXJ0LlxuICovXG52YXIgTUVUUklDX0pWTV9DTEFTU19VTkxPQURFRCA9ICdqdm0uY2xhc3MudW5sb2FkZWQnO1xuLyoqXG4gKiBOdW1iZXIgb2YgcHJvY2Vzc29ycyBhdmFpbGFibGUgdG8gdGhlIEphdmEgdmlydHVhbCBtYWNoaW5lLlxuICovXG52YXIgTUVUUklDX0pWTV9DUFVfQ09VTlQgPSAnanZtLmNwdS5jb3VudCc7XG4vKipcbiAqIFJlY2VudCBDUFUgdXRpbGl6YXRpb24gZm9yIHRoZSBwcm9jZXNzIGFzIHJlcG9ydGVkIGJ5IHRoZSBKVk0uXG4gKlxuICogQG5vdGUgVGhlIHZhbHVlIHJhbmdlIGlzIFswLjAsMS4wXS4gVGhpcyB1dGlsaXphdGlvbiBpcyBub3QgZGVmaW5lZCBhcyBiZWluZyBmb3IgdGhlIHNwZWNpZmljIGludGVydmFsIHNpbmNlIGxhc3QgbWVhc3VyZW1lbnQgKHVubGlrZSBgc3lzdGVtLmNwdS51dGlsaXphdGlvbmApLiBbUmVmZXJlbmNlXShodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xNy9kb2NzL2FwaS9qZGsubWFuYWdlbWVudC9jb20vc3VuL21hbmFnZW1lbnQvT3BlcmF0aW5nU3lzdGVtTVhCZWFuLmh0bWwjZ2V0UHJvY2Vzc0NwdUxvYWQoKSkuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NQVV9SRUNFTlRfVVRJTElaQVRJT04gPSAnanZtLmNwdS5yZWNlbnRfdXRpbGl6YXRpb24nO1xuLyoqXG4gKiBDUFUgdGltZSB1c2VkIGJ5IHRoZSBwcm9jZXNzIGFzIHJlcG9ydGVkIGJ5IHRoZSBKVk0uXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NQVV9USU1FID0gJ2p2bS5jcHUudGltZSc7XG4vKipcbiAqIER1cmF0aW9uIG9mIEpWTSBnYXJiYWdlIGNvbGxlY3Rpb24gYWN0aW9ucy5cbiAqL1xudmFyIE1FVFJJQ19KVk1fR0NfRFVSQVRJT04gPSAnanZtLmdjLmR1cmF0aW9uJztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgY29tbWl0dGVkLlxuICovXG52YXIgTUVUUklDX0pWTV9NRU1PUllfQ09NTUlUVEVEID0gJ2p2bS5tZW1vcnkuY29tbWl0dGVkJztcbi8qKlxuICogTWVhc3VyZSBvZiBtYXggb2J0YWluYWJsZSBtZW1vcnkuXG4gKi9cbnZhciBNRVRSSUNfSlZNX01FTU9SWV9MSU1JVCA9ICdqdm0ubWVtb3J5LmxpbWl0Jztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgdXNlZC5cbiAqL1xudmFyIE1FVFJJQ19KVk1fTUVNT1JZX1VTRUQgPSAnanZtLm1lbW9yeS51c2VkJztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgdXNlZCwgYXMgbWVhc3VyZWQgYWZ0ZXIgdGhlIG1vc3QgcmVjZW50IGdhcmJhZ2UgY29sbGVjdGlvbiBldmVudCBvbiB0aGlzIHBvb2wuXG4gKi9cbnZhciBNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MgPSAnanZtLm1lbW9yeS51c2VkX2FmdGVyX2xhc3RfZ2MnO1xuLyoqXG4gKiBOdW1iZXIgb2YgZXhlY3V0aW5nIHBsYXRmb3JtIHRocmVhZHMuXG4gKi9cbnZhciBNRVRSSUNfSlZNX1RIUkVBRF9DT1VOVCA9ICdqdm0udGhyZWFkLmNvdW50Jztcbi8qKlxuICogTnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgYXJlIGN1cnJlbnRseSBhY3RpdmUgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TID0gJ2tlc3RyZWwuYWN0aXZlX2Nvbm5lY3Rpb25zJztcbi8qKlxuICogTnVtYmVyIG9mIFRMUyBoYW5kc2hha2VzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiBwcm9ncmVzcyBvbiB0aGUgc2VydmVyLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9BQ1RJVkVfVExTX0hBTkRTSEFLRVMgPSAna2VzdHJlbC5hY3RpdmVfdGxzX2hhbmRzaGFrZXMnO1xuLyoqXG4gKiBUaGUgZHVyYXRpb24gb2YgY29ubmVjdGlvbnMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfQ09OTkVDVElPTl9EVVJBVElPTiA9ICdrZXN0cmVsLmNvbm5lY3Rpb24uZHVyYXRpb24nO1xuLyoqXG4gKiBOdW1iZXIgb2YgY29ubmVjdGlvbnMgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZCBhbmQgYXJlIHdhaXRpbmcgdG8gc3RhcnQuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyA9ICdrZXN0cmVsLnF1ZXVlZF9jb25uZWN0aW9ucyc7XG4vKipcbiAqIE51bWJlciBvZiBIVFRQIHJlcXVlc3RzIG9uIG11bHRpcGxleGVkIGNvbm5lY3Rpb25zIChIVFRQLzIgYW5kIEhUVFAvMykgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZCBhbmQgYXJlIHdhaXRpbmcgdG8gc3RhcnQuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9SRVFVRVNUUyA9ICdrZXN0cmVsLnF1ZXVlZF9yZXF1ZXN0cyc7XG4vKipcbiAqIE51bWJlciBvZiBjb25uZWN0aW9ucyByZWplY3RlZCBieSB0aGUgc2VydmVyLlxuICpcbiAqIEBub3RlIENvbm5lY3Rpb25zIGFyZSByZWplY3RlZCB3aGVuIHRoZSBjdXJyZW50bHkgYWN0aXZlIGNvdW50IGV4Y2VlZHMgdGhlIHZhbHVlIGNvbmZpZ3VyZWQgd2l0aCBgTWF4Q29uY3VycmVudENvbm5lY3Rpb25zYC5cbiAqIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9SRUpFQ1RFRF9DT05ORUNUSU9OUyA9ICdrZXN0cmVsLnJlamVjdGVkX2Nvbm5lY3Rpb25zJztcbi8qKlxuICogVGhlIGR1cmF0aW9uIG9mIFRMUyBoYW5kc2hha2VzIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1RMU19IQU5EU0hBS0VfRFVSQVRJT04gPSAna2VzdHJlbC50bHNfaGFuZHNoYWtlLmR1cmF0aW9uJztcbi8qKlxuICogTnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgYXJlIGN1cnJlbnRseSB1cGdyYWRlZCAoV2ViU29ja2V0cykuIC5cbiAqXG4gKiBAbm90ZSBUaGUgY291bnRlciBvbmx5IHRyYWNrcyBIVFRQLzEuMSBjb25uZWN0aW9ucy5cbiAqXG4gKiBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfVVBHUkFERURfQ09OTkVDVElPTlMgPSAna2VzdHJlbC51cGdyYWRlZF9jb25uZWN0aW9ucyc7XG4vKipcbiAqIE51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgYWN0aXZlIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLkh0dHAuQ29ubmVjdGlvbnNgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX1NJR05BTFJfU0VSVkVSX0FDVElWRV9DT05ORUNUSU9OUyA9ICdzaWduYWxyLnNlcnZlci5hY3RpdmVfY29ubmVjdGlvbnMnO1xuLyoqXG4gKiBUaGUgZHVyYXRpb24gb2YgY29ubmVjdGlvbnMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuSHR0cC5Db25uZWN0aW9uc2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQ09OTkVDVElPTl9EVVJBVElPTiA9ICdzaWduYWxyLnNlcnZlci5jb25uZWN0aW9uLmR1cmF0aW9uJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4IC0tXG4gKiBUaGVzZSByZS1leHBvcnRzIGFyZSBvbmx5IG9mIGNvbnN0YW50cywgb25seSB0d28tbGV2ZWxzIGRlZXAsIGFuZFxuICogc2hvdWxkIG5vdCBjYXVzZSBwcm9ibGVtcyBmb3IgdHJlZS1zaGFrZXJzLlxuICovXG4vLyBEZXByZWNhdGVkLiBUaGVzZSBhcmUga2VwdCBhcm91bmQgZm9yIGNvbXBhdGliaWxpdHkgcHVycG9zZXNcblxuY29uc3QgZXNtID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoLyojX19QVVJFX18qL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh7XG4gICAgX19wcm90b19fOiBudWxsLFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9BQk9SVEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9IQU5ETEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9TS0lQUEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9VTkhBTkRMRUQsXG4gICAgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9BQ1FVSVJFRCxcbiAgICBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0VORFBPSU5UX0xJTUlURVIsXG4gICAgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9HTE9CQUxfTElNSVRFUixcbiAgICBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX1JFUVVFU1RfQ0FOQ0VMRUQsXG4gICAgQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVU19WQUxVRV9GQUlMVVJFLFxuICAgIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfU1VDQ0VTUyxcbiAgICBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVCxcbiAgICBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfSEFORExFUl9UWVBFLFxuICAgIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1BPTElDWSxcbiAgICBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFQsXG4gICAgQVRUUl9BU1BORVRDT1JFX1JFUVVFU1RfSVNfVU5IQU5ETEVELFxuICAgIEFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX0lTX0ZBTExCQUNLLFxuICAgIEFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVUyxcbiAgICBBVFRSX0NMSUVOVF9BRERSRVNTLFxuICAgIEFUVFJfQ0xJRU5UX1BPUlQsXG4gICAgQVRUUl9FUlJPUl9UWVBFLFxuICAgIEFUVFJfRVhDRVBUSU9OX0VTQ0FQRUQsXG4gICAgQVRUUl9FWENFUFRJT05fTUVTU0FHRSxcbiAgICBBVFRSX0VYQ0VQVElPTl9TVEFDS1RSQUNFLFxuICAgIEFUVFJfRVhDRVBUSU9OX1RZUEUsXG4gICAgQVRUUl9IVFRQX1JFUVVFU1RfSEVBREVSLFxuICAgIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRCxcbiAgICBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0RfT1JJR0lOQUwsXG4gICAgQVRUUl9IVFRQX1JFUVVFU1RfUkVTRU5EX0NPVU5ULFxuICAgIEFUVFJfSFRUUF9SRVNQT05TRV9IRUFERVIsXG4gICAgQVRUUl9IVFRQX1JFU1BPTlNFX1NUQVRVU19DT0RFLFxuICAgIEFUVFJfSFRUUF9ST1VURSxcbiAgICBBVFRSX0pWTV9HQ19BQ1RJT04sXG4gICAgQVRUUl9KVk1fR0NfTkFNRSxcbiAgICBBVFRSX0pWTV9NRU1PUllfUE9PTF9OQU1FLFxuICAgIEFUVFJfSlZNX01FTU9SWV9UWVBFLFxuICAgIEFUVFJfSlZNX1RIUkVBRF9EQUVNT04sXG4gICAgQVRUUl9KVk1fVEhSRUFEX1NUQVRFLFxuICAgIEFUVFJfTkVUV09SS19MT0NBTF9BRERSRVNTLFxuICAgIEFUVFJfTkVUV09SS19MT0NBTF9QT1JULFxuICAgIEFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MsXG4gICAgQVRUUl9ORVRXT1JLX1BFRVJfUE9SVCxcbiAgICBBVFRSX05FVFdPUktfUFJPVE9DT0xfTkFNRSxcbiAgICBBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTixcbiAgICBBVFRSX05FVFdPUktfVFJBTlNQT1JULFxuICAgIEFUVFJfTkVUV09SS19UWVBFLFxuICAgIEFUVFJfT1RFTF9TQ09QRV9OQU1FLFxuICAgIEFUVFJfT1RFTF9TQ09QRV9WRVJTSU9OLFxuICAgIEFUVFJfT1RFTF9TVEFUVVNfQ09ERSxcbiAgICBBVFRSX09URUxfU1RBVFVTX0RFU0NSSVBUSU9OLFxuICAgIEFUVFJfU0VSVkVSX0FERFJFU1MsXG4gICAgQVRUUl9TRVJWRVJfUE9SVCxcbiAgICBBVFRSX1NFUlZJQ0VfTkFNRSxcbiAgICBBVFRSX1NFUlZJQ0VfVkVSU0lPTixcbiAgICBBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVMsXG4gICAgQVRUUl9TSUdOQUxSX1RSQU5TUE9SVCxcbiAgICBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsXG4gICAgQVRUUl9URUxFTUVUUllfU0RLX05BTUUsXG4gICAgQVRUUl9URUxFTUVUUllfU0RLX1ZFUlNJT04sXG4gICAgQVRUUl9VUkxfRlJBR01FTlQsXG4gICAgQVRUUl9VUkxfRlVMTCxcbiAgICBBVFRSX1VSTF9QQVRILFxuICAgIEFUVFJfVVJMX1FVRVJZLFxuICAgIEFUVFJfVVJMX1NDSEVNRSxcbiAgICBBVFRSX1VTRVJfQUdFTlRfT1JJR0lOQUwsXG4gICAgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIsXG4gICAgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19GQVJHQVRFLFxuICAgIEF3c0Vjc0xhdW5jaHR5cGVWYWx1ZXMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0VDUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUMyLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEssXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfTEFNQkRBLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQVBQX1NFUlZJQ0UsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9DT05UQUlORVJfSU5TVEFOQ0VTLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfRlVOQ1RJT05TLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk0sXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQVBQX0VOR0lORSxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9GVU5DVElPTlMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfUlVOLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0tVQkVSTkVURVNfRU5HSU5FLFxuICAgIENMT1VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCxcbiAgICBDTE9VRFBST1ZJREVSVkFMVUVTX0FXUyxcbiAgICBDTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFLFxuICAgIENMT1VEUFJPVklERVJWQUxVRVNfR0NQLFxuICAgIENsb3VkUGxhdGZvcm1WYWx1ZXMsXG4gICAgQ2xvdWRQcm92aWRlclZhbHVlcyxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQUxMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19BTlksXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0VBQ0hfUVVPUlVNLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9PTkUsXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1FVT1JVTSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfU0VSSUFMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19PTkUsXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1FVT1JVTSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfU0VSSUFMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19USFJFRSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVFdPLFxuICAgIERCU1lTVEVNVkFMVUVTX0FEQUJBUyxcbiAgICBEQlNZU1RFTVZBTFVFU19DQUNIRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DQVNTQU5EUkEsXG4gICAgREJTWVNURU1WQUxVRVNfQ0xPVURTQ0FQRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DT0NLUk9BQ0hEQixcbiAgICBEQlNZU1RFTVZBTFVFU19DT0xERlVTSU9OLFxuICAgIERCU1lTVEVNVkFMVUVTX0NPU01PU0RCLFxuICAgIERCU1lTVEVNVkFMVUVTX0NPVUNIQkFTRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DT1VDSERCLFxuICAgIERCU1lTVEVNVkFMVUVTX0RCMixcbiAgICBEQlNZU1RFTVZBTFVFU19ERVJCWSxcbiAgICBEQlNZU1RFTVZBTFVFU19EWU5BTU9EQixcbiAgICBEQlNZU1RFTVZBTFVFU19FREIsXG4gICAgREJTWVNURU1WQUxVRVNfRUxBU1RJQ1NFQVJDSCxcbiAgICBEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIsXG4gICAgREJTWVNURU1WQUxVRVNfRklSRUJJUkQsXG4gICAgREJTWVNURU1WQUxVRVNfRklSU1RTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfR0VPREUsXG4gICAgREJTWVNURU1WQUxVRVNfSDIsXG4gICAgREJTWVNURU1WQUxVRVNfSEFOQURCLFxuICAgIERCU1lTVEVNVkFMVUVTX0hCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX0hJVkUsXG4gICAgREJTWVNURU1WQUxVRVNfSFNRTERCLFxuICAgIERCU1lTVEVNVkFMVUVTX0lORk9STUlYLFxuICAgIERCU1lTVEVNVkFMVUVTX0lOR1JFUyxcbiAgICBEQlNZU1RFTVZBTFVFU19JTlNUQU5UREIsXG4gICAgREJTWVNURU1WQUxVRVNfSU5URVJCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX01BUklBREIsXG4gICAgREJTWVNURU1WQUxVRVNfTUFYREIsXG4gICAgREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVELFxuICAgIERCU1lTVEVNVkFMVUVTX01PTkdPREIsXG4gICAgREJTWVNURU1WQUxVRVNfTVNTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfTVlTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfTkVPNEosXG4gICAgREJTWVNURU1WQUxVRVNfTkVURVpaQSxcbiAgICBEQlNZU1RFTVZBTFVFU19PUkFDTEUsXG4gICAgREJTWVNURU1WQUxVRVNfT1RIRVJfU1FMLFxuICAgIERCU1lTVEVNVkFMVUVTX1BFUlZBU0lWRSxcbiAgICBEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UsXG4gICAgREJTWVNURU1WQUxVRVNfUE9TVEdSRVNRTCxcbiAgICBEQlNZU1RFTVZBTFVFU19QUk9HUkVTUyxcbiAgICBEQlNZU1RFTVZBTFVFU19SRURJUyxcbiAgICBEQlNZU1RFTVZBTFVFU19SRURTSElGVCxcbiAgICBEQlNZU1RFTVZBTFVFU19TUUxJVEUsXG4gICAgREJTWVNURU1WQUxVRVNfU1lCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX1RFUkFEQVRBLFxuICAgIERCU1lTVEVNVkFMVUVTX1ZFUlRJQ0EsXG4gICAgRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzLFxuICAgIERiU3lzdGVtVmFsdWVzLFxuICAgIEVSUk9SX1RZUEVfVkFMVUVfT1RIRVIsXG4gICAgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0RFTEVURSxcbiAgICBGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfRURJVCxcbiAgICBGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfSU5TRVJULFxuICAgIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCxcbiAgICBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FXUyxcbiAgICBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FaVVJFLFxuICAgIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfR0NQLFxuICAgIEZBQVNUUklHR0VSVkFMVUVTX0RBVEFTT1VSQ0UsXG4gICAgRkFBU1RSSUdHRVJWQUxVRVNfSFRUUCxcbiAgICBGQUFTVFJJR0dFUlZBTFVFU19PVEhFUixcbiAgICBGQUFTVFJJR0dFUlZBTFVFU19QVUJTVUIsXG4gICAgRkFBU1RSSUdHRVJWQUxVRVNfVElNRVIsXG4gICAgRmFhc0RvY3VtZW50T3BlcmF0aW9uVmFsdWVzLFxuICAgIEZhYXNJbnZva2VkUHJvdmlkZXJWYWx1ZXMsXG4gICAgRmFhc1RyaWdnZXJWYWx1ZXMsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQU1ENjQsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQVJNMzIsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQVJNNjQsXG4gICAgSE9TVEFSQ0hWQUxVRVNfSUE2NCxcbiAgICBIT1NUQVJDSFZBTFVFU19QUEMzMixcbiAgICBIT1NUQVJDSFZBTFVFU19QUEM2NCxcbiAgICBIT1NUQVJDSFZBTFVFU19YODYsXG4gICAgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMCxcbiAgICBIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMV8xLFxuICAgIEhUVFBGTEFWT1JWQUxVRVNfSFRUUF8yXzAsXG4gICAgSFRUUEZMQVZPUlZBTFVFU19RVUlDLFxuICAgIEhUVFBGTEFWT1JWQUxVRVNfU1BEWSxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0NPTk5FQ1QsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9ERUxFVEUsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9HRVQsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFELFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1BUSU9OUyxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX09USEVSLFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUEFUQ0gsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QT1NULFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUFVULFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfVFJBQ0UsXG4gICAgSG9zdEFyY2hWYWx1ZXMsXG4gICAgSHR0cEZsYXZvclZhbHVlcyxcbiAgICBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfSEVBUCxcbiAgICBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfTk9OX0hFQVAsXG4gICAgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9CTE9DS0VELFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfTkVXLFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfUlVOTkFCTEUsXG4gICAgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9URVJNSU5BVEVELFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVElNRURfV0FJVElORyxcbiAgICBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1dBSVRJTkcsXG4gICAgTUVTU0FHRVRZUEVWQUxVRVNfUkVDRUlWRUQsXG4gICAgTUVTU0FHRVRZUEVWQUxVRVNfU0VOVCxcbiAgICBNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfUVVFVUUsXG4gICAgTUVTU0FHSU5HREVTVElOQVRJT05LSU5EVkFMVUVTX1RPUElDLFxuICAgIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19QUk9DRVNTLFxuICAgIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19SRUNFSVZFLFxuICAgIE1FVFJJQ19BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTlMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19BQ1RJVkVfUkVRVUVTVF9MRUFTRVMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19RVUVVRURfUkVRVUVTVFMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUUyxcbiAgICBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFUVVFU1RfTEVBU0VfRFVSQVRJT04sXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9BVFRFTVBUUyxcbiAgICBNRVRSSUNfSFRUUF9DTElFTlRfUkVRVUVTVF9EVVJBVElPTixcbiAgICBNRVRSSUNfSFRUUF9TRVJWRVJfUkVRVUVTVF9EVVJBVElPTixcbiAgICBNRVRSSUNfSlZNX0NMQVNTX0NPVU5ULFxuICAgIE1FVFJJQ19KVk1fQ0xBU1NfTE9BREVELFxuICAgIE1FVFJJQ19KVk1fQ0xBU1NfVU5MT0FERUQsXG4gICAgTUVUUklDX0pWTV9DUFVfQ09VTlQsXG4gICAgTUVUUklDX0pWTV9DUFVfUkVDRU5UX1VUSUxJWkFUSU9OLFxuICAgIE1FVFJJQ19KVk1fQ1BVX1RJTUUsXG4gICAgTUVUUklDX0pWTV9HQ19EVVJBVElPTixcbiAgICBNRVRSSUNfSlZNX01FTU9SWV9DT01NSVRURUQsXG4gICAgTUVUUklDX0pWTV9NRU1PUllfTElNSVQsXG4gICAgTUVUUklDX0pWTV9NRU1PUllfVVNFRCxcbiAgICBNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MsXG4gICAgTUVUUklDX0pWTV9USFJFQURfQ09VTlQsXG4gICAgTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TLFxuICAgIE1FVFJJQ19LRVNUUkVMX0FDVElWRV9UTFNfSEFORFNIQUtFUyxcbiAgICBNRVRSSUNfS0VTVFJFTF9DT05ORUNUSU9OX0RVUkFUSU9OLFxuICAgIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyxcbiAgICBNRVRSSUNfS0VTVFJFTF9RVUVVRURfUkVRVUVTVFMsXG4gICAgTUVUUklDX0tFU1RSRUxfUkVKRUNURURfQ09OTkVDVElPTlMsXG4gICAgTUVUUklDX0tFU1RSRUxfVExTX0hBTkRTSEFLRV9EVVJBVElPTixcbiAgICBNRVRSSUNfS0VTVFJFTF9VUEdSQURFRF9DT05ORUNUSU9OUyxcbiAgICBNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQUNUSVZFX0NPTk5FQ1RJT05TLFxuICAgIE1FVFJJQ19TSUdOQUxSX1NFUlZFUl9DT05ORUNUSU9OX0RVUkFUSU9OLFxuICAgIE1lc3NhZ2VUeXBlVmFsdWVzLFxuICAgIE1lc3NhZ2luZ0Rlc3RpbmF0aW9uS2luZFZhbHVlcyxcbiAgICBNZXNzYWdpbmdPcGVyYXRpb25WYWx1ZXMsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEyMDAwXzFYUlRULFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FREdFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FSFJQRCxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRVZET18wLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0EsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQixcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1BSUyxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1NNLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU0RQQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQVAsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTVVBBLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JREVOLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JV0xBTixcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTFRFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19MVEVfQ0EsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05SLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19OUk5TQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfVERfU0NETUEsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1VNVFMsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX0NFTEwsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1VOQVZBSUxBQkxFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTktOT1dOLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSUZJLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSVJFRCxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfSU5QUk9DLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19JUCxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfSVBfVENQLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9VRFAsXG4gICAgTkVUVFJBTlNQT1JUVkFMVUVTX09USEVSLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19QSVBFLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19VTklYLFxuICAgIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUsXG4gICAgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyxcbiAgICBORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9UQ1AsXG4gICAgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQLFxuICAgIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VOSVgsXG4gICAgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjQsXG4gICAgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYsXG4gICAgTmV0SG9zdENvbm5lY3Rpb25TdWJ0eXBlVmFsdWVzLFxuICAgIE5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcyxcbiAgICBOZXRUcmFuc3BvcnRWYWx1ZXMsXG4gICAgT1NUWVBFVkFMVUVTX0FJWCxcbiAgICBPU1RZUEVWQUxVRVNfREFSV0lOLFxuICAgIE9TVFlQRVZBTFVFU19EUkFHT05GTFlCU0QsXG4gICAgT1NUWVBFVkFMVUVTX0ZSRUVCU0QsXG4gICAgT1NUWVBFVkFMVUVTX0hQVVgsXG4gICAgT1NUWVBFVkFMVUVTX0xJTlVYLFxuICAgIE9TVFlQRVZBTFVFU19ORVRCU0QsXG4gICAgT1NUWVBFVkFMVUVTX09QRU5CU0QsXG4gICAgT1NUWVBFVkFMVUVTX1NPTEFSSVMsXG4gICAgT1NUWVBFVkFMVUVTX1dJTkRPV1MsXG4gICAgT1NUWVBFVkFMVUVTX1pfT1MsXG4gICAgT1RFTF9TVEFUVVNfQ09ERV9WQUxVRV9FUlJPUixcbiAgICBPVEVMX1NUQVRVU19DT0RFX1ZBTFVFX09LLFxuICAgIE9zVHlwZVZhbHVlcyxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BQk9SVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0FMUkVBRFlfRVhJU1RTLFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0NBTkNFTExFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19EQVRBX0xPU1MsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfREVBRExJTkVfRVhDRUVERUQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfRkFJTEVEX1BSRUNPTkRJVElPTixcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlRFUk5BTCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlZBTElEX0FSR1VNRU5ULFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX05PVF9GT1VORCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PSyxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PVVRfT0ZfUkFOR0UsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUEVSTUlTU0lPTl9ERU5JRUQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUkVTT1VSQ0VfRVhIQVVTVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOQVVUSEVOVElDQVRFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFWQUlMQUJMRSxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTklNUExFTUVOVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOS05PV04sXG4gICAgUnBjR3JwY1N0YXR1c0NvZGVWYWx1ZXMsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0FUVFJJQlVURVNfVE9fR0VULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9BVFRSSUJVVEVfREVGSU5JVElPTlMsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPTlNJU1RFTlRfUkVBRCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU1VNRURfQ0FQQUNJVFksXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPVU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9FWENMVVNJVkVfU1RBUlRfVEFCTEUsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhFUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfR0xPQkFMX1NFQ09OREFSWV9JTkRFWF9VUERBVEVTLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JTkRFWF9OQU1FLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JVEVNX0NPTExFQ1RJT05fTUVUUklDUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfTElNSVQsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xPQ0FMX1NFQ09OREFSWV9JTkRFWEVTLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9KRUNUSU9OLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9WSVNJT05FRF9SRUFEX0NBUEFDSVRZLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9WSVNJT05FRF9XUklURV9DQVBBQ0lUWSxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTk5FRF9DT1VOVCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTl9GT1JXQVJELFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUdNRU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUxFQ1QsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RBQkxFX0NPVU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9OQU1FUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfVE9UQUxfU0VHTUVOVFMsXG4gICAgU0VNQVRUUlNfQVdTX0xBTUJEQV9JTlZPS0VEX0FSTixcbiAgICBTRU1BVFRSU19DT0RFX0ZJTEVQQVRILFxuICAgIFNFTUFUVFJTX0NPREVfRlVOQ1RJT04sXG4gICAgU0VNQVRUUlNfQ09ERV9MSU5FTk8sXG4gICAgU0VNQVRUUlNfQ09ERV9OQU1FU1BBQ0UsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPTlNJU1RFTkNZX0xFVkVMLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT09SRElOQVRPUl9EQyxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfSUQsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0lERU1QT1RFTkNFLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9LRVlTUEFDRSxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfUEFHRV9TSVpFLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9TUEVDVUxBVElWRV9FWEVDVVRJT05fQ09VTlQsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX1RBQkxFLFxuICAgIFNFTUFUVFJTX0RCX0NPTk5FQ1RJT05fU1RSSU5HLFxuICAgIFNFTUFUVFJTX0RCX0hCQVNFX05BTUVTUEFDRSxcbiAgICBTRU1BVFRSU19EQl9KREJDX0RSSVZFUl9DTEFTU05BTUUsXG4gICAgU0VNQVRUUlNfREJfTU9OR09EQl9DT0xMRUNUSU9OLFxuICAgIFNFTUFUVFJTX0RCX01TU1FMX0lOU1RBTkNFX05BTUUsXG4gICAgU0VNQVRUUlNfREJfTkFNRSxcbiAgICBTRU1BVFRSU19EQl9PUEVSQVRJT04sXG4gICAgU0VNQVRUUlNfREJfUkVESVNfREFUQUJBU0VfSU5ERVgsXG4gICAgU0VNQVRUUlNfREJfU1FMX1RBQkxFLFxuICAgIFNFTUFUVFJTX0RCX1NUQVRFTUVOVCxcbiAgICBTRU1BVFRSU19EQl9TWVNURU0sXG4gICAgU0VNQVRUUlNfREJfVVNFUixcbiAgICBTRU1BVFRSU19FTkRVU0VSX0lELFxuICAgIFNFTUFUVFJTX0VORFVTRVJfUk9MRSxcbiAgICBTRU1BVFRSU19FTkRVU0VSX1NDT1BFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9FU0NBUEVELFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9NRVNTQUdFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9TVEFDS1RSQUNFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9UWVBFLFxuICAgIFNFTUFUVFJTX0ZBQVNfQ09MRFNUQVJULFxuICAgIFNFTUFUVFJTX0ZBQVNfQ1JPTixcbiAgICBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX0NPTExFQ1RJT04sXG4gICAgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9OQU1FLFxuICAgIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfT1BFUkFUSU9OLFxuICAgIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfVElNRSxcbiAgICBTRU1BVFRSU19GQUFTX0VYRUNVVElPTixcbiAgICBTRU1BVFRSU19GQUFTX0lOVk9LRURfTkFNRSxcbiAgICBTRU1BVFRSU19GQUFTX0lOVk9LRURfUFJPVklERVIsXG4gICAgU0VNQVRUUlNfRkFBU19JTlZPS0VEX1JFR0lPTixcbiAgICBTRU1BVFRSU19GQUFTX1RJTUUsXG4gICAgU0VNQVRUUlNfRkFBU19UUklHR0VSLFxuICAgIFNFTUFUVFJTX0hUVFBfQ0xJRU5UX0lQLFxuICAgIFNFTUFUVFJTX0hUVFBfRkxBVk9SLFxuICAgIFNFTUFUVFJTX0hUVFBfSE9TVCxcbiAgICBTRU1BVFRSU19IVFRQX01FVEhPRCxcbiAgICBTRU1BVFRSU19IVFRQX1JFUVVFU1RfQ09OVEVOVF9MRU5HVEgsXG4gICAgU0VNQVRUUlNfSFRUUF9SRVFVRVNUX0NPTlRFTlRfTEVOR1RIX1VOQ09NUFJFU1NFRCxcbiAgICBTRU1BVFRSU19IVFRQX1JFU1BPTlNFX0NPTlRFTlRfTEVOR1RILFxuICAgIFNFTUFUVFJTX0hUVFBfUkVTUE9OU0VfQ09OVEVOVF9MRU5HVEhfVU5DT01QUkVTU0VELFxuICAgIFNFTUFUVFJTX0hUVFBfUk9VVEUsXG4gICAgU0VNQVRUUlNfSFRUUF9TQ0hFTUUsXG4gICAgU0VNQVRUUlNfSFRUUF9TRVJWRVJfTkFNRSxcbiAgICBTRU1BVFRSU19IVFRQX1NUQVRVU19DT0RFLFxuICAgIFNFTUFUVFJTX0hUVFBfVEFSR0VULFxuICAgIFNFTUFUVFJTX0hUVFBfVVJMLFxuICAgIFNFTUFUVFJTX0hUVFBfVVNFUl9BR0VOVCxcbiAgICBTRU1BVFRSU19NRVNTQUdFX0NPTVBSRVNTRURfU0laRSxcbiAgICBTRU1BVFRSU19NRVNTQUdFX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0VfVFlQRSxcbiAgICBTRU1BVFRSU19NRVNTQUdFX1VOQ09NUFJFU1NFRF9TSVpFLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19DT05TVU1FUl9JRCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfQ09OVkVSU0FUSU9OX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19ERVNUSU5BVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfREVTVElOQVRJT05fS0lORCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfQ0xJRU5UX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DT05TVU1FUl9HUk9VUCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfTUVTU0FHRV9LRVksXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX1BBUlRJVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfVE9NQlNUT05FLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfQ09NUFJFU1NFRF9TSVpFX0JZVEVTLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfU0laRV9CWVRFUyxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfT1BFUkFUSU9OLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19QUk9UT0NPTCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0xfVkVSU0lPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfUkFCQklUTVFfUk9VVElOR19LRVksXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX1NZU1RFTSxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfVEVNUF9ERVNUSU5BVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfVVJMLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfSUNDLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTUNDLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTU5DLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTkFNRSxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9DT05ORUNUSU9OX1NVQlRZUEUsXG4gICAgU0VNQVRUUlNfTkVUX0hPU1RfQ09OTkVDVElPTl9UWVBFLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0lQLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX05BTUUsXG4gICAgU0VNQVRUUlNfTkVUX0hPU1RfUE9SVCxcbiAgICBTRU1BVFRSU19ORVRfUEVFUl9JUCxcbiAgICBTRU1BVFRSU19ORVRfUEVFUl9OQU1FLFxuICAgIFNFTUFUVFJTX05FVF9QRUVSX1BPUlQsXG4gICAgU0VNQVRUUlNfTkVUX1RSQU5TUE9SVCxcbiAgICBTRU1BVFRSU19QRUVSX1NFUlZJQ0UsXG4gICAgU0VNQVRUUlNfUlBDX0dSUENfU1RBVFVTX0NPREUsXG4gICAgU0VNQVRUUlNfUlBDX0pTT05SUENfRVJST1JfQ09ERSxcbiAgICBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9NRVNTQUdFLFxuICAgIFNFTUFUVFJTX1JQQ19KU09OUlBDX1JFUVVFU1RfSUQsXG4gICAgU0VNQVRUUlNfUlBDX0pTT05SUENfVkVSU0lPTixcbiAgICBTRU1BVFRSU19SUENfTUVUSE9ELFxuICAgIFNFTUFUVFJTX1JQQ19TRVJWSUNFLFxuICAgIFNFTUFUVFJTX1JQQ19TWVNURU0sXG4gICAgU0VNQVRUUlNfVEhSRUFEX0lELFxuICAgIFNFTUFUVFJTX1RIUkVBRF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ0xVU1RFUl9BUk4sXG4gICAgU0VNUkVTQVRUUlNfQVdTX0VDU19DT05UQUlORVJfQVJOLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfTEFVTkNIVFlQRSxcbiAgICBTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfQVJOLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19GQU1JTFksXG4gICAgU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX1JFVklTSU9OLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FS1NfQ0xVU1RFUl9BUk4sXG4gICAgU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9BUk5TLFxuICAgIFNFTVJFU0FUVFJTX0FXU19MT0dfR1JPVVBfTkFNRVMsXG4gICAgU0VNUkVTQVRUUlNfQVdTX0xPR19TVFJFQU1fQVJOUyxcbiAgICBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9OQU1FUyxcbiAgICBTRU1SRVNBVFRSU19DTE9VRF9BQ0NPVU5UX0lELFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1BMQVRGT1JNLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1BST1ZJREVSLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1JFR0lPTixcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfSUQsXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX1RBRyxcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfUlVOVElNRSxcbiAgICBTRU1SRVNBVFRSU19ERVBMT1lNRU5UX0VOVklST05NRU5ULFxuICAgIFNFTVJFU0FUVFJTX0RFVklDRV9JRCxcbiAgICBTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfSURFTlRJRklFUixcbiAgICBTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19GQUFTX0lELFxuICAgIFNFTVJFU0FUVFJTX0ZBQVNfSU5TVEFOQ0UsXG4gICAgU0VNUkVTQVRUUlNfRkFBU19NQVhfTUVNT1JZLFxuICAgIFNFTVJFU0FUVFJTX0ZBQVNfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19GQUFTX1ZFUlNJT04sXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9BUkNILFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfSUQsXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9JRCxcbiAgICBTRU1SRVNBVFRSU19IT1NUX0lNQUdFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19IT1NUX1RZUEUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0NMVVNURVJfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfQ09OVEFJTkVSX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9VSUQsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19KT0JfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfSk9CX1VJRCxcbiAgICBTRU1SRVNBVFRSU19LOFNfTkFNRVNQQUNFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX05PREVfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfTk9ERV9VSUQsXG4gICAgU0VNUkVTQVRUUlNfSzhTX1BPRF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19QT0RfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9VSUQsXG4gICAgU0VNUkVTQVRUUlNfT1NfREVTQ1JJUFRJT04sXG4gICAgU0VNUkVTQVRUUlNfT1NfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19PU19UWVBFLFxuICAgIFNFTVJFU0FUVFJTX09TX1ZFUlNJT04sXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5ELFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9BUkdTLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9MSU5FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9QQVRILFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfT1dORVIsXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19QSUQsXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQsXG4gICAgU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRVNQQUNFLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19URUxFTUVUUllfQVVUT19WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsXG4gICAgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19XRUJFTkdJTkVfREVTQ1JJUFRJT04sXG4gICAgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX1ZFUlNJT04sXG4gICAgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04sXG4gICAgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9OT1JNQUxfQ0xPU1VSRSxcbiAgICBTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX1RJTUVPVVQsXG4gICAgU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfTE9OR19QT0xMSU5HLFxuICAgIFNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1NFUlZFUl9TRU5UX0VWRU5UUyxcbiAgICBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9XRUJfU09DS0VUUyxcbiAgICBTZW1hbnRpY0F0dHJpYnV0ZXMsXG4gICAgU2VtYW50aWNSZXNvdXJjZUF0dHJpYnV0ZXMsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfQ1BQLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0RPVE5FVCxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19FUkxBTkcsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR08sXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfSkFWQSxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19OT0RFSlMsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUEhQLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BZVEhPTixcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19SVUJZLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1dFQkpTLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfQ1BQLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRE9UTkVULFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRVJMQU5HLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08sXG4gICAgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfTk9ERUpTLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUEhQLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUFlUSE9OLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVCWSxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1JVU1QsXG4gICAgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9TV0lGVCxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1dFQkpTLFxuICAgIFRlbGVtZXRyeVNka0xhbmd1YWdlVmFsdWVzXG59LCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pKTtcblxudmFyIGRldGVjdFJlc291cmNlcyQxID0ge307XG5cbnZhciBSZXNvdXJjZSA9IHt9O1xuXG5jb25zdCByZXF1aXJlJCQxJDEgPSAvKkBfX1BVUkVfXyovZ2V0QXVnbWVudGVkTmFtZXNwYWNlKGVzbSQxKTtcblxuY29uc3QgcmVxdWlyZSQkMSA9IC8qQF9fUFVSRV9fKi9nZXRBdWdtZW50ZWROYW1lc3BhY2UoZXNtKTtcblxuY29uc3QgcmVxdWlyZSQkMiA9IC8qQF9fUFVSRV9fKi9nZXRBdWdtZW50ZWROYW1lc3BhY2UoZXNtJDIpO1xuXG52YXIgYnJvd3NlciA9IHt9O1xuXG52YXIgZGVmYXVsdFNlcnZpY2VOYW1lID0ge307XG5cbnZhciBoYXNSZXF1aXJlZERlZmF1bHRTZXJ2aWNlTmFtZTtcblxuZnVuY3Rpb24gcmVxdWlyZURlZmF1bHRTZXJ2aWNlTmFtZSAoKSB7XG5cdGlmIChoYXNSZXF1aXJlZERlZmF1bHRTZXJ2aWNlTmFtZSkgcmV0dXJuIGRlZmF1bHRTZXJ2aWNlTmFtZTtcblx0aGFzUmVxdWlyZWREZWZhdWx0U2VydmljZU5hbWUgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGRlZmF1bHRTZXJ2aWNlTmFtZSwgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdGRlZmF1bHRTZXJ2aWNlTmFtZS5kZWZhdWx0U2VydmljZU5hbWUgPSB2b2lkIDA7XG5cdGZ1bmN0aW9uIGRlZmF1bHRTZXJ2aWNlTmFtZSQxKCkge1xuXHQgICAgcmV0dXJuICd1bmtub3duX3NlcnZpY2UnO1xuXHR9XG5cdGRlZmF1bHRTZXJ2aWNlTmFtZS5kZWZhdWx0U2VydmljZU5hbWUgPSBkZWZhdWx0U2VydmljZU5hbWUkMTtcblx0XG5cdHJldHVybiBkZWZhdWx0U2VydmljZU5hbWU7XG59XG5cbnZhciBoYXNSZXF1aXJlZEJyb3dzZXI7XG5cbmZ1bmN0aW9uIHJlcXVpcmVCcm93c2VyICgpIHtcblx0aWYgKGhhc1JlcXVpcmVkQnJvd3NlcikgcmV0dXJuIGJyb3dzZXI7XG5cdGhhc1JlcXVpcmVkQnJvd3NlciA9IDE7XG5cdChmdW5jdGlvbiAoZXhwb3J0cykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0XHRleHBvcnRzLmRlZmF1bHRTZXJ2aWNlTmFtZSA9IHZvaWQgMDtcblx0XHQvKlxuXHRcdCAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG5cdFx0ICpcblx0XHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHRcdCAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cblx0XHQgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblx0XHQgKlxuXHRcdCAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXHRcdCAqXG5cdFx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHRcdCAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcblx0XHQgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblx0XHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdFx0ICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cdFx0ICovXG5cdFx0dmFyIGRlZmF1bHRfc2VydmljZV9uYW1lXzEgPSAvKkBfX1BVUkVfXyovIHJlcXVpcmVEZWZhdWx0U2VydmljZU5hbWUoKTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0U2VydmljZU5hbWVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRlZmF1bHRfc2VydmljZV9uYW1lXzEuZGVmYXVsdFNlcnZpY2VOYW1lOyB9IH0pO1xuXHRcdFxuXHR9IChicm93c2VyKSk7XG5cdHJldHVybiBicm93c2VyO1xufVxuXG52YXIgaGFzUmVxdWlyZWRSZXNvdXJjZTtcblxuZnVuY3Rpb24gcmVxdWlyZVJlc291cmNlICgpIHtcblx0aWYgKGhhc1JlcXVpcmVkUmVzb3VyY2UpIHJldHVybiBSZXNvdXJjZTtcblx0aGFzUmVxdWlyZWRSZXNvdXJjZSA9IDE7XG5cdC8qXG5cdCAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG5cdCAqXG5cdCAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG5cdCAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cblx0ICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cdCAqXG5cdCAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXHQgKlxuXHQgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5cdCAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcblx0ICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5cdCAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcblx0ICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cdCAqL1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVzb3VyY2UsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHRSZXNvdXJjZS5SZXNvdXJjZSA9IHZvaWQgMDtcblx0Y29uc3QgYXBpXzEgPSByZXF1aXJlJCQxJDE7XG5cdGNvbnN0IHNlbWFudGljX2NvbnZlbnRpb25zXzEgPSByZXF1aXJlJCQxO1xuXHRjb25zdCBjb3JlXzEgPSByZXF1aXJlJCQyO1xuXHRjb25zdCBwbGF0Zm9ybV8xID0gLypAX19QVVJFX18qLyByZXF1aXJlQnJvd3NlcigpO1xuXHQvKipcblx0ICogQSBSZXNvdXJjZSBkZXNjcmliZXMgdGhlIGVudGl0eSBmb3Igd2hpY2ggYSBzaWduYWxzIChtZXRyaWNzIG9yIHRyYWNlKSBhcmVcblx0ICogY29sbGVjdGVkLlxuXHQgKi9cblx0bGV0IFJlc291cmNlJDEgPSBjbGFzcyBSZXNvdXJjZSB7XG5cdCAgICBjb25zdHJ1Y3Rvcihcblx0ICAgIC8qKlxuXHQgICAgICogQSBkaWN0aW9uYXJ5IG9mIGF0dHJpYnV0ZXMgd2l0aCBzdHJpbmcga2V5cyBhbmQgdmFsdWVzIHRoYXQgcHJvdmlkZVxuXHQgICAgICogaW5mb3JtYXRpb24gYWJvdXQgdGhlIGVudGl0eSBhcyBudW1iZXJzLCBzdHJpbmdzIG9yIGJvb2xlYW5zXG5cdCAgICAgKiBUT0RPOiBDb25zaWRlciB0byBhZGQgY2hlY2svdmFsaWRhdGlvbiBvbiBhdHRyaWJ1dGVzLlxuXHQgICAgICovXG5cdCAgICBhdHRyaWJ1dGVzLCBhc3luY0F0dHJpYnV0ZXNQcm9taXNlKSB7XG5cdCAgICAgICAgdmFyIF9hO1xuXHQgICAgICAgIHRoaXMuX2F0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuXHQgICAgICAgIHRoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZyA9IGFzeW5jQXR0cmlidXRlc1Byb21pc2UgIT0gbnVsbDtcblx0ICAgICAgICB0aGlzLl9zeW5jQXR0cmlidXRlcyA9IChfYSA9IHRoaXMuX2F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuXHQgICAgICAgIHRoaXMuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UgPSBhc3luY0F0dHJpYnV0ZXNQcm9taXNlID09PSBudWxsIHx8IGFzeW5jQXR0cmlidXRlc1Byb21pc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFzeW5jQXR0cmlidXRlc1Byb21pc2UudGhlbihhc3luY0F0dHJpYnV0ZXMgPT4ge1xuXHQgICAgICAgICAgICB0aGlzLl9hdHRyaWJ1dGVzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fYXR0cmlidXRlcywgYXN5bmNBdHRyaWJ1dGVzKTtcblx0ICAgICAgICAgICAgdGhpcy5hc3luY0F0dHJpYnV0ZXNQZW5kaW5nID0gZmFsc2U7XG5cdCAgICAgICAgICAgIHJldHVybiBhc3luY0F0dHJpYnV0ZXM7XG5cdCAgICAgICAgfSwgZXJyID0+IHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5kZWJ1ZyhcImEgcmVzb3VyY2UncyBhc3luYyBhdHRyaWJ1dGVzIHByb21pc2UgcmVqZWN0ZWQ6ICVzXCIsIGVycik7XG5cdCAgICAgICAgICAgIHRoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZyA9IGZhbHNlO1xuXHQgICAgICAgICAgICByZXR1cm4ge307XG5cdCAgICAgICAgfSk7XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYW4gZW1wdHkgUmVzb3VyY2Vcblx0ICAgICAqL1xuXHQgICAgc3RhdGljIGVtcHR5KCkge1xuXHQgICAgICAgIHJldHVybiBSZXNvdXJjZS5FTVBUWTtcblx0ICAgIH1cblx0ICAgIC8qKlxuXHQgICAgICogUmV0dXJucyBhIFJlc291cmNlIHRoYXQgaWRlbnRpZmllcyB0aGUgU0RLIGluIHVzZS5cblx0ICAgICAqL1xuXHQgICAgc3RhdGljIGRlZmF1bHQoKSB7XG5cdCAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZSh7XG5cdCAgICAgICAgICAgIFtzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRV06ICgwLCBwbGF0Zm9ybV8xLmRlZmF1bHRTZXJ2aWNlTmFtZSkoKSxcblx0ICAgICAgICAgICAgW3NlbWFudGljX2NvbnZlbnRpb25zXzEuU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19MQU5HVUFHRV06IGNvcmVfMS5TREtfSU5GT1tzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0VdLFxuXHQgICAgICAgICAgICBbc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUVdOiBjb3JlXzEuU0RLX0lORk9bc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUVdLFxuXHQgICAgICAgICAgICBbc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT05dOiBjb3JlXzEuU0RLX0lORk9bc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT05dLFxuXHQgICAgICAgIH0pO1xuXHQgICAgfVxuXHQgICAgZ2V0IGF0dHJpYnV0ZXMoKSB7XG5cdCAgICAgICAgdmFyIF9hO1xuXHQgICAgICAgIGlmICh0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcpIHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5lcnJvcignQWNjZXNzaW5nIHJlc291cmNlIGF0dHJpYnV0ZXMgYmVmb3JlIGFzeW5jIGF0dHJpYnV0ZXMgc2V0dGxlZCcpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5fYXR0cmlidXRlcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge307XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYSBwcm9taXNlIHRoYXQgd2lsbCBuZXZlciBiZSByZWplY3RlZC4gUmVzb2x2ZXMgd2hlbiBhbGwgYXN5bmMgYXR0cmlidXRlcyBoYXZlIGZpbmlzaGVkIGJlaW5nIGFkZGVkIHRvXG5cdCAgICAgKiB0aGlzIFJlc291cmNlJ3MgYXR0cmlidXRlcy4gVGhpcyBpcyB1c2VmdWwgaW4gZXhwb3J0ZXJzIHRvIGJsb2NrIHVudGlsIHJlc291cmNlIGRldGVjdGlvblxuXHQgICAgICogaGFzIGZpbmlzaGVkLlxuXHQgICAgICovXG5cdCAgICBhc3luYyB3YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKCkge1xuXHQgICAgICAgIGlmICh0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcpIHtcblx0ICAgICAgICAgICAgYXdhaXQgdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZTtcblx0ICAgICAgICB9XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYSBuZXcsIG1lcmdlZCB7QGxpbmsgUmVzb3VyY2V9IGJ5IG1lcmdpbmcgdGhlIGN1cnJlbnQgUmVzb3VyY2Vcblx0ICAgICAqIHdpdGggdGhlIG90aGVyIFJlc291cmNlLiBJbiBjYXNlIG9mIGEgY29sbGlzaW9uLCBvdGhlciBSZXNvdXJjZSB0YWtlc1xuXHQgICAgICogcHJlY2VkZW5jZS5cblx0ICAgICAqXG5cdCAgICAgKiBAcGFyYW0gb3RoZXIgdGhlIFJlc291cmNlIHRoYXQgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGlzLlxuXHQgICAgICogQHJldHVybnMgdGhlIG5ld2x5IG1lcmdlZCBSZXNvdXJjZS5cblx0ICAgICAqL1xuXHQgICAgbWVyZ2Uob3RoZXIpIHtcblx0ICAgICAgICB2YXIgX2E7XG5cdCAgICAgICAgaWYgKCFvdGhlcilcblx0ICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG5cdCAgICAgICAgLy8gU3BhbkF0dHJpYnV0ZXMgZnJvbSBvdGhlciByZXNvdXJjZSBvdmVyd3JpdGUgYXR0cmlidXRlcyBmcm9tIHRoaXMgcmVzb3VyY2UuXG5cdCAgICAgICAgY29uc3QgbWVyZ2VkU3luY0F0dHJpYnV0ZXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3N5bmNBdHRyaWJ1dGVzKSwgKChfYSA9IG90aGVyLl9zeW5jQXR0cmlidXRlcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogb3RoZXIuYXR0cmlidXRlcykpO1xuXHQgICAgICAgIGlmICghdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSAmJlxuXHQgICAgICAgICAgICAhb3RoZXIuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UpIHtcblx0ICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZShtZXJnZWRTeW5jQXR0cmlidXRlcyk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGNvbnN0IG1lcmdlZEF0dHJpYnV0ZXNQcm9taXNlID0gUHJvbWlzZS5hbGwoW1xuXHQgICAgICAgICAgICB0aGlzLl9hc3luY0F0dHJpYnV0ZXNQcm9taXNlLFxuXHQgICAgICAgICAgICBvdGhlci5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSxcblx0ICAgICAgICBdKS50aGVuKChbdGhpc0FzeW5jQXR0cmlidXRlcywgb3RoZXJBc3luY0F0dHJpYnV0ZXNdKSA9PiB7XG5cdCAgICAgICAgICAgIHZhciBfYTtcblx0ICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3N5bmNBdHRyaWJ1dGVzKSwgdGhpc0FzeW5jQXR0cmlidXRlcyksICgoX2EgPSBvdGhlci5fc3luY0F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG90aGVyLmF0dHJpYnV0ZXMpKSwgb3RoZXJBc3luY0F0dHJpYnV0ZXMpO1xuXHQgICAgICAgIH0pO1xuXHQgICAgICAgIHJldHVybiBuZXcgUmVzb3VyY2UobWVyZ2VkU3luY0F0dHJpYnV0ZXMsIG1lcmdlZEF0dHJpYnV0ZXNQcm9taXNlKTtcblx0ICAgIH1cblx0fTtcblx0UmVzb3VyY2UuUmVzb3VyY2UgPSBSZXNvdXJjZSQxO1xuXHRSZXNvdXJjZSQxLkVNUFRZID0gbmV3IFJlc291cmNlJDEoe30pO1xuXHRcblx0cmV0dXJuIFJlc291cmNlO1xufVxuXG52YXIgdXRpbHMgPSB7fTtcblxudmFyIGhhc1JlcXVpcmVkVXRpbHM7XG5cbmZ1bmN0aW9uIHJlcXVpcmVVdGlscyAoKSB7XG5cdGlmIChoYXNSZXF1aXJlZFV0aWxzKSByZXR1cm4gdXRpbHM7XG5cdGhhc1JlcXVpcmVkVXRpbHMgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHV0aWxzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0dXRpbHMuaXNQcm9taXNlTGlrZSA9IHZvaWQgMDtcblx0Y29uc3QgaXNQcm9taXNlTGlrZSA9ICh2YWwpID0+IHtcblx0ICAgIHJldHVybiAodmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWwudGhlbiA9PT0gJ2Z1bmN0aW9uJyk7XG5cdH07XG5cdHV0aWxzLmlzUHJvbWlzZUxpa2UgPSBpc1Byb21pc2VMaWtlO1xuXHRcblx0cmV0dXJuIHV0aWxzO1xufVxuXG52YXIgaGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXM7XG5cbmZ1bmN0aW9uIHJlcXVpcmVEZXRlY3RSZXNvdXJjZXMgKCkge1xuXHRpZiAoaGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXMpIHJldHVybiBkZXRlY3RSZXNvdXJjZXMkMTtcblx0aGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXMgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGRldGVjdFJlc291cmNlcyQxLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0ZGV0ZWN0UmVzb3VyY2VzJDEuZGV0ZWN0UmVzb3VyY2VzU3luYyA9IGRldGVjdFJlc291cmNlcyQxLmRldGVjdFJlc291cmNlcyA9IHZvaWQgMDtcblx0Y29uc3QgUmVzb3VyY2VfMSA9IC8qQF9fUFVSRV9fKi8gcmVxdWlyZVJlc291cmNlKCk7XG5cdGNvbnN0IGFwaV8xID0gcmVxdWlyZSQkMSQxO1xuXHRjb25zdCB1dGlsc18xID0gLypAX19QVVJFX18qLyByZXF1aXJlVXRpbHMoKTtcblx0LyoqXG5cdCAqIFJ1bnMgYWxsIHJlc291cmNlIGRldGVjdG9ycyBhbmQgcmV0dXJucyB0aGUgcmVzdWx0cyBtZXJnZWQgaW50byBhIHNpbmdsZSBSZXNvdXJjZS4gUHJvbWlzZVxuXHQgKiBkb2VzIG5vdCByZXNvbHZlIHVudGlsIGFsbCB0aGUgdW5kZXJseWluZyBkZXRlY3RvcnMgaGF2ZSByZXNvbHZlZCwgdW5saWtlXG5cdCAqIGRldGVjdFJlc291cmNlc1N5bmMuXG5cdCAqXG5cdCAqIEBkZXByZWNhdGVkIHVzZSBkZXRlY3RSZXNvdXJjZXNTeW5jKCkgaW5zdGVhZC5cblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciByZXNvdXJjZSBkZXRlY3Rpb25cblx0ICovXG5cdGNvbnN0IGRldGVjdFJlc291cmNlcyA9IGFzeW5jIChjb25maWcgPSB7fSkgPT4ge1xuXHQgICAgY29uc3QgcmVzb3VyY2VzID0gYXdhaXQgUHJvbWlzZS5hbGwoKGNvbmZpZy5kZXRlY3RvcnMgfHwgW10pLm1hcChhc3luYyAoZCkgPT4ge1xuXHQgICAgICAgIHRyeSB7XG5cdCAgICAgICAgICAgIGNvbnN0IHJlc291cmNlID0gYXdhaXQgZC5kZXRlY3QoY29uZmlnKTtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5kZWJ1ZyhgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZvdW5kIHJlc291cmNlLmAsIHJlc291cmNlKTtcblx0ICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBjYXRjaCAoZSkge1xuXHQgICAgICAgICAgICBhcGlfMS5kaWFnLmRlYnVnKGAke2QuY29uc3RydWN0b3IubmFtZX0gZmFpbGVkOiAke2UubWVzc2FnZX1gKTtcblx0ICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlXzEuUmVzb3VyY2UuZW1wdHkoKTtcblx0ICAgICAgICB9XG5cdCAgICB9KSk7XG5cdCAgICAvLyBGdXR1cmUgY2hlY2sgaWYgdmVyYm9zZSBsb2dnaW5nIGlzIGVuYWJsZWQgaXNzdWUgIzE5MDNcblx0ICAgIGxvZ1Jlc291cmNlcyhyZXNvdXJjZXMpO1xuXHQgICAgcmV0dXJuIHJlc291cmNlcy5yZWR1Y2UoKGFjYywgcmVzb3VyY2UpID0+IGFjYy5tZXJnZShyZXNvdXJjZSksIFJlc291cmNlXzEuUmVzb3VyY2UuZW1wdHkoKSk7XG5cdH07XG5cdGRldGVjdFJlc291cmNlcyQxLmRldGVjdFJlc291cmNlcyA9IGRldGVjdFJlc291cmNlcztcblx0LyoqXG5cdCAqIFJ1bnMgYWxsIHJlc291cmNlIGRldGVjdG9ycyBzeW5jaHJvbm91c2x5LCBtZXJnaW5nIHRoZWlyIHJlc3VsdHMuIEluIGNhc2Ugb2YgYXR0cmlidXRlIGNvbGxpc2lvbiBsYXRlciByZXNvdXJjZXMgd2lsbCB0YWtlIHByZWNlZGVuY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgcmVzb3VyY2UgZGV0ZWN0aW9uXG5cdCAqL1xuXHRjb25zdCBkZXRlY3RSZXNvdXJjZXNTeW5jID0gKGNvbmZpZyA9IHt9KSA9PiB7XG5cdCAgICB2YXIgX2E7XG5cdCAgICBjb25zdCByZXNvdXJjZXMgPSAoKF9hID0gY29uZmlnLmRldGVjdG9ycykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pLm1hcCgoZCkgPT4ge1xuXHQgICAgICAgIHRyeSB7XG5cdCAgICAgICAgICAgIGNvbnN0IHJlc291cmNlT3JQcm9taXNlID0gZC5kZXRlY3QoY29uZmlnKTtcblx0ICAgICAgICAgICAgbGV0IHJlc291cmNlO1xuXHQgICAgICAgICAgICBpZiAoKDAsIHV0aWxzXzEuaXNQcm9taXNlTGlrZSkocmVzb3VyY2VPclByb21pc2UpKSB7XG5cdCAgICAgICAgICAgICAgICBjb25zdCBjcmVhdGVQcm9taXNlID0gYXN5bmMgKCkgPT4ge1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcblx0ICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZFJlc291cmNlID0gYXdhaXQgcmVzb3VyY2VPclByb21pc2U7XG5cdCAgICAgICAgICAgICAgICAgICAgYXdhaXQgKChfYSA9IHJlc29sdmVkUmVzb3VyY2Uud2FpdEZvckFzeW5jQXR0cmlidXRlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwocmVzb2x2ZWRSZXNvdXJjZSkpO1xuXHQgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlZFJlc291cmNlLmF0dHJpYnV0ZXM7XG5cdCAgICAgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICAgICAgcmVzb3VyY2UgPSBuZXcgUmVzb3VyY2VfMS5SZXNvdXJjZSh7fSwgY3JlYXRlUHJvbWlzZSgpKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIHJlc291cmNlID0gcmVzb3VyY2VPclByb21pc2U7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgaWYgKHJlc291cmNlLndhaXRGb3JBc3luY0F0dHJpYnV0ZXMpIHtcblx0ICAgICAgICAgICAgICAgIHZvaWQgcmVzb3VyY2Vcblx0ICAgICAgICAgICAgICAgICAgICAud2FpdEZvckFzeW5jQXR0cmlidXRlcygpXG5cdCAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gYXBpXzEuZGlhZy5kZWJ1ZyhgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZvdW5kIHJlc291cmNlLmAsIHJlc291cmNlKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBhcGlfMS5kaWFnLmRlYnVnKGAke2QuY29uc3RydWN0b3IubmFtZX0gZm91bmQgcmVzb3VyY2UuYCwgcmVzb3VyY2UpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIHJldHVybiByZXNvdXJjZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgY2F0Y2ggKGUpIHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5lcnJvcihgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZhaWxlZDogJHtlLm1lc3NhZ2V9YCk7XG5cdCAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZV8xLlJlc291cmNlLmVtcHR5KCk7XG5cdCAgICAgICAgfVxuXHQgICAgfSk7XG5cdCAgICBjb25zdCBtZXJnZWRSZXNvdXJjZXMgPSByZXNvdXJjZXMucmVkdWNlKChhY2MsIHJlc291cmNlKSA9PiBhY2MubWVyZ2UocmVzb3VyY2UpLCBSZXNvdXJjZV8xLlJlc291cmNlLmVtcHR5KCkpO1xuXHQgICAgaWYgKG1lcmdlZFJlc291cmNlcy53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKSB7XG5cdCAgICAgICAgdm9pZCBtZXJnZWRSZXNvdXJjZXMud2FpdEZvckFzeW5jQXR0cmlidXRlcygpLnRoZW4oKCkgPT4ge1xuXHQgICAgICAgICAgICAvLyBGdXR1cmUgY2hlY2sgaWYgdmVyYm9zZSBsb2dnaW5nIGlzIGVuYWJsZWQgaXNzdWUgIzE5MDNcblx0ICAgICAgICAgICAgbG9nUmVzb3VyY2VzKHJlc291cmNlcyk7XG5cdCAgICAgICAgfSk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gbWVyZ2VkUmVzb3VyY2VzO1xuXHR9O1xuXHRkZXRlY3RSZXNvdXJjZXMkMS5kZXRlY3RSZXNvdXJjZXNTeW5jID0gZGV0ZWN0UmVzb3VyY2VzU3luYztcblx0LyoqXG5cdCAqIFdyaXRlcyBkZWJ1ZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGV0ZWN0ZWQgcmVzb3VyY2VzIHRvIHRoZSBsb2dnZXIgZGVmaW5lZCBpbiB0aGUgcmVzb3VyY2UgZGV0ZWN0aW9uIGNvbmZpZywgaWYgb25lIGlzIHByb3ZpZGVkLlxuXHQgKlxuXHQgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSBhcnJheSBvZiB7QGxpbmsgUmVzb3VyY2V9IHRoYXQgc2hvdWxkIGJlIGxvZ2dlZC4gRW1wdHkgZW50cmllcyB3aWxsIGJlIGlnbm9yZWQuXG5cdCAqL1xuXHRjb25zdCBsb2dSZXNvdXJjZXMgPSAocmVzb3VyY2VzKSA9PiB7XG5cdCAgICByZXNvdXJjZXMuZm9yRWFjaChyZXNvdXJjZSA9PiB7XG5cdCAgICAgICAgLy8gUHJpbnQgb25seSBwb3B1bGF0ZWQgcmVzb3VyY2VzXG5cdCAgICAgICAgaWYgKE9iamVjdC5rZXlzKHJlc291cmNlLmF0dHJpYnV0ZXMpLmxlbmd0aCA+IDApIHtcblx0ICAgICAgICAgICAgY29uc3QgcmVzb3VyY2VEZWJ1Z1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KHJlc291cmNlLmF0dHJpYnV0ZXMsIG51bGwsIDQpO1xuXHQgICAgICAgICAgICBhcGlfMS5kaWFnLnZlcmJvc2UocmVzb3VyY2VEZWJ1Z1N0cmluZyk7XG5cdCAgICAgICAgfVxuXHQgICAgfSk7XG5cdH07XG5cdFxuXHRyZXR1cm4gZGV0ZWN0UmVzb3VyY2VzJDE7XG59XG5cbnZhciBkZXRlY3RSZXNvdXJjZXNFeHBvcnRzID0gLypAX19QVVJFX18qLyByZXF1aXJlRGV0ZWN0UmVzb3VyY2VzKCk7XG5cbmNvbnN0IGRldGVjdFJlc291cmNlcyA9IC8qI19fUFVSRV9fKi9fbWVyZ2VOYW1lc3BhY2VzKHtcbiAgICBfX3Byb3RvX186IG51bGxcbn0sIFtkZXRlY3RSZXNvdXJjZXNFeHBvcnRzXSk7XG5cbmV4cG9ydCB7IGRldGVjdFJlc291cmNlcyBhcyBkIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUE2QjtBQUMzQyxTQUFTLEtBQUtDLEdBQWEsS0FBS0MsR0FBZ0MsS0FBS0MsR0FBc0IsS0FBS0MsR0FBc0IsS0FBS0MsR0FBdUMsS0FBS0MsR0FBdUMsS0FBS0MsR0FBK0MsS0FBS0MsR0FBNkMsS0FBS0MsR0FBZ0QsS0FBS0MsR0FBZ0QsS0FBS0MsR0FBdUMsS0FBS0MsR0FBMEMsS0FBS0MsR0FBMEMsS0FBS0MsR0FBeUMsS0FBS0MsR0FBdUMsS0FBS0MsSUFBdUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBMEIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBNEIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBeUIsS0FBS0MsSUFBMEIsS0FBS0MsSUFBd0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBeUIsS0FBS0MsSUFBb0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBbUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBMEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0IsTUFBTUMsSUFBb0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBK0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBK0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBNkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBbUIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBa0IsTUFBTUMsSUFBNEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBbUIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBMEIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBK0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBdUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBdUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBMkIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBd0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBMkMsTUFBTUMsSUFBNkMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBMEMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBNEIsTUFBTUMsSUFBc0MsTUFBTUMsSUFBMkMsTUFBTUMsSUFBNEMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBaUMsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUMsTUFBTUMsSUFBNkMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBNkIsTUFBTUMsSUFBNkMsTUFBTUMsSUFBZ0QsTUFBTUMsSUFBc0QsTUFBTUMsSUFBa0MsTUFBTUMsSUFBK0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBK0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBaUQsTUFBTUMsSUFBa0QsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBK0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBbUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBbUQsTUFBTUMsSUFBNkIsTUFBTUMsSUFBK0IsTUFBTUMsSUFBNkIsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBa0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBa0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBNEIsS0FBS0MsSUFBNEIsS0FBS0MsSUFBK0IsS0FBS0MsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBbUMsTUFBTUMsSUFBNkIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBNEIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBOEIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBc0IsTUFBTUMsSUFBc0MsS0FBS0MsSUFBbUQsS0FBS0MsSUFBdUMsS0FBS0MsSUFBb0QsTUFBTUMsSUFBcUIsS0FBS0MsSUFBc0IsTUFBTUMsSUFBMkIsS0FBS0MsSUFBMkIsTUFBTUMsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBMEIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBb0MsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBK0IsTUFBTUMsSUFBMEQsTUFBTUMsSUFBK0MsTUFBTUMsSUFBOEIsTUFBTUMsSUFBNkIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBMkIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBd0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBK0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBOEIsTUFBTUMsSUFBcUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBc0IsTUFBTUMsVUFBMEI7QUFDOThULFNBQVMsS0FBS0MsR0FBTyxLQUFLQyxHQUFTLEtBQUtDLElBQWMsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBaUIsS0FBS0MsSUFBYSxLQUFLQyxJQUFxQixLQUFLQyxJQUFjLEtBQUtDLElBQVUsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBWSxLQUFLQyxJQUFrQixLQUFLQyxJQUFvQixLQUFLQyxJQUFlLEtBQUtDLFVBQXNCO0FBQy9VLFNBQVMsS0FBS0MsR0FBUyxLQUFLQyxVQUF1QjtBQUNuRCxTQUFTLEtBQUtDLElBQWtCLEtBQUtDLFVBQWE7QUFDbEQsU0FBUyxLQUFLQyxTQUFZO0FBQzFCLFNBQVMsS0FBS0MsSUFBNEIsS0FBS0MsSUFBZ0MsS0FBS0MsSUFBd0IsS0FBS0MsSUFBdUMsS0FBS0MsSUFBc0MsS0FBS0MsSUFBNkIsS0FBS0MsSUFBNkIsS0FBS0MsSUFBNkIsS0FBS0MsSUFBMkMsS0FBS0MsSUFBZ0MsS0FBS0MsSUFBK0IsS0FBS0MsSUFBdUMsS0FBS0MsSUFBK0MsS0FBS0MsSUFBcUMsS0FBS0MsSUFBOEIsS0FBS0MsSUFBb0MsS0FBS0MsSUFBeUMsS0FBS0MsSUFBbUMsS0FBS0MsSUFBd0MsS0FBS0MsSUFBMkMsS0FBS0MsSUFBbUMsS0FBS0MsSUFBeUIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBeUIsS0FBS0MsSUFBcUIsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBa0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBb0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBYyxLQUFLQyxJQUFpQyxLQUFLQyxJQUFtQyxLQUFLQyxJQUFnQyxNQUFNQyxJQUE4QixNQUFNQyxJQUFpQyxNQUFNQyxJQUFtQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUE4QixNQUFNQyxJQUFxQyxNQUFNQyxJQUE0QixNQUFNQyxJQUE0QixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUFrQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUE0QixNQUFNQyxJQUErQixNQUFNQyxJQUFvQyxNQUFNQyxJQUF1QixNQUFNQyxJQUFxQyxNQUFNQyxJQUErQixNQUFNQyxJQUFxQixNQUFNQyxJQUEyQixNQUFNQyxJQUE2QixNQUFNQyxJQUF1QixNQUFNQyxJQUEwQixNQUFNQyxJQUF1QixNQUFNQyxJQUFxQixNQUFNQyxJQUEyQixNQUFNQyxJQUE2QixNQUFNQyxJQUFnQyxNQUFNQyxJQUF1QixNQUFNQyxJQUF1QixNQUFNQyxJQUE4QixNQUFNQyxJQUFnQyxNQUFNQyxJQUE4QixNQUFNQyxJQUE2QixNQUFNQyxJQUFnQyxNQUFNQyxJQUErQixNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUFnQyxNQUFNQyxJQUEyQixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUFrQyxN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QSx1Q0FBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EsNkNBQUFDO0FBQUEsRUFDQSxnREFBQUM7QUFBQSxFQUNBLGdEQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSwwQ0FBQUM7QUFBQSxFQUNBLDBDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLG1CQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLGdCQUFBQztBQUFBLEVBQ0Esd0JBQUFnYztBQUFBLEVBQ0Esb0NBQUEvYjtBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSxtQkFBQUM7QUFBQSxFQUNBLHNCQUFBc1A7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLDJCQUFBM1A7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsbUNBQUFvYjtBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxpQ0FBQUw7QUFBQSxFQUNBLGlDQUFBTTtBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0EsZ0JBQUFwTTtBQUFBLEVBQ0Esa0JBQUF2UDtBQUFBLEVBQ0EsNEJBQUFxYztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxnQ0FBQUc7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSw0QkFBQTdjO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsMENBQUFnZjtBQUFBLEVBQ0EsdURBQUFDO0FBQUEsRUFDQSxpREFBQUM7QUFBQSxFQUNBLDBDQUFBRztBQUFBLEVBQ0Esd0RBQUFEO0FBQUEsRUFDQSx1REFBQUQ7QUFBQSxFQUNBLDBDQUFBRztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSwwQ0FBQUM7QUFBQSxFQUNBLDJDQUFBQztBQUFBLEVBQ0EsbUJBQUE3Z0I7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSw4QkFBQTRhO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLHlCQUFBRTtBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxnQ0FBQWxiO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esa0JBQUEyTTtBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUJBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUJBQUFDO0FBQUEsRUFDQSw4QkFBQStOO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLGNBQUEvTjtBQUFBLEVBQ0EsaUNBQUFyTjtBQUFBLEVBQ0Esd0NBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsMkNBQUFDO0FBQUEsRUFDQSw2Q0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsMENBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSwyQ0FBQUM7QUFBQSxFQUNBLDRDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EsNkNBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSw2Q0FBQUM7QUFBQSxFQUNBLGdEQUFBQztBQUFBLEVBQ0Esc0RBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSwrQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsaURBQUFDO0FBQUEsRUFDQSxrREFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLG1EQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0Esa0JBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esa0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSw0QkFBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxtREFBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0Esb0RBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSwwREFBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxpQ0FBQXFFO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSw0QkFBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSw0QkFBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSx5Q0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsK0JBQUFD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RSxTQUFTLEdBQUc7QUFDN0MsY0FBTVEsSUFBc0IsS0FBSyxVQUFVUixFQUFTLFlBQVksTUFBTSxDQUFDO0FBQ3ZFLFFBQUEzQixFQUFNLEtBQUssUUFBUW1DLENBQW1CO0FBQUEsTUFDMUM7QUFBQSxJQUNKLENBQUM7QUFBQSxFQUNMO0FBRUEsU0FBT25EO0FBQ1I7QUFFQSxJQUFJb0QsS0FBdUMsZ0JBQUFmLEdBQXVCO0FBRWxFLE1BQU1HLEtBQStCLGdCQUFBN04sR0FBaUI7QUFBQSxFQUNsRCxXQUFXO0FBQ2YsR0FBRyxDQUFDeU8sRUFBc0IsQ0FBQzsiLAogICJuYW1lcyI6IFsiZ2V0QXVnbWVudGVkTmFtZXNwYWNlIiwgInByb3BhZ2F0aW9uIiwgImJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZyIsICJkZWZhdWx0VGV4dE1hcEdldHRlciIsICJkZWZhdWx0VGV4dE1hcFNldHRlciIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQUxMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19BTlkiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0VBQ0hfUVVPUlVNIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9PTkUiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1FVT1JVTSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfU0VSSUFMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19PTkUiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1FVT1JVTSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfU0VSSUFMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19USFJFRSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVFdPIiwgIkRCU1lTVEVNVkFMVUVTX0FEQUJBUyIsICJEQlNZU1RFTVZBTFVFU19DQUNIRSIsICJEQlNZU1RFTVZBTFVFU19DQVNTQU5EUkEiLCAiREJTWVNURU1WQUxVRVNfQ0xPVURTQ0FQRSIsICJEQlNZU1RFTVZBTFVFU19DT0NLUk9BQ0hEQiIsICJEQlNZU1RFTVZBTFVFU19DT0xERlVTSU9OIiwgIkRCU1lTVEVNVkFMVUVTX0NPU01PU0RCIiwgIkRCU1lTVEVNVkFMVUVTX0NPVUNIQkFTRSIsICJEQlNZU1RFTVZBTFVFU19DT1VDSERCIiwgIkRCU1lTVEVNVkFMVUVTX0RCMiIsICJEQlNZU1RFTVZBTFVFU19ERVJCWSIsICJEQlNZU1RFTVZBTFVFU19EWU5BTU9EQiIsICJEQlNZU1RFTVZBTFVFU19FREIiLCAiREJTWVNURU1WQUxVRVNfRUxBU1RJQ1NFQVJDSCIsICJEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIiLCAiREJTWVNURU1WQUxVRVNfRklSRUJJUkQiLCAiREJTWVNURU1WQUxVRVNfRklSU1RTUUwiLCAiREJTWVNURU1WQUxVRVNfR0VPREUiLCAiREJTWVNURU1WQUxVRVNfSDIiLCAiREJTWVNURU1WQUxVRVNfSEFOQURCIiwgIkRCU1lTVEVNVkFMVUVTX0hCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX0hJVkUiLCAiREJTWVNURU1WQUxVRVNfSFNRTERCIiwgIkRCU1lTVEVNVkFMVUVTX0lORk9STUlYIiwgIkRCU1lTVEVNVkFMVUVTX0lOR1JFUyIsICJEQlNZU1RFTVZBTFVFU19JTlNUQU5UREIiLCAiREJTWVNURU1WQUxVRVNfSU5URVJCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX01BUklBREIiLCAiREJTWVNURU1WQUxVRVNfTUFYREIiLCAiREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVEIiwgIkRCU1lTVEVNVkFMVUVTX01PTkdPREIiLCAiREJTWVNURU1WQUxVRVNfTVNTUUwiLCAiREJTWVNURU1WQUxVRVNfTVlTUUwiLCAiREJTWVNURU1WQUxVRVNfTkVPNEoiLCAiREJTWVNURU1WQUxVRVNfTkVURVpaQSIsICJEQlNZU1RFTVZBTFVFU19PUkFDTEUiLCAiREJTWVNURU1WQUxVRVNfT1RIRVJfU1FMIiwgIkRCU1lTVEVNVkFMVUVTX1BFUlZBU0lWRSIsICJEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UiLCAiREJTWVNURU1WQUxVRVNfUE9TVEdSRVNRTCIsICJEQlNZU1RFTVZBTFVFU19QUk9HUkVTUyIsICJEQlNZU1RFTVZBTFVFU19SRURJUyIsICJEQlNZU1RFTVZBTFVFU19SRURTSElGVCIsICJEQlNZU1RFTVZBTFVFU19TUUxJVEUiLCAiREJTWVNURU1WQUxVRVNfU1lCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX1RFUkFEQVRBIiwgIkRCU1lTVEVNVkFMVUVTX1ZFUlRJQ0EiLCAiRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzIiwgIkRiU3lzdGVtVmFsdWVzIiwgIkZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19ERUxFVEUiLCAiRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0VESVQiLCAiRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0lOU0VSVCIsICJGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQiLCAiRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BV1MiLCAiRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BWlVSRSIsICJGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0dDUCIsICJGQUFTVFJJR0dFUlZBTFVFU19EQVRBU09VUkNFIiwgIkZBQVNUUklHR0VSVkFMVUVTX0hUVFAiLCAiRkFBU1RSSUdHRVJWQUxVRVNfT1RIRVIiLCAiRkFBU1RSSUdHRVJWQUxVRVNfUFVCU1VCIiwgIkZBQVNUUklHR0VSVkFMVUVTX1RJTUVSIiwgIkZhYXNEb2N1bWVudE9wZXJhdGlvblZhbHVlcyIsICJGYWFzSW52b2tlZFByb3ZpZGVyVmFsdWVzIiwgIkZhYXNUcmlnZ2VyVmFsdWVzIiwgIkhUVFBGTEFWT1JWQUxVRVNfSFRUUF8xXzAiLCAiSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMSIsICJIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMl8wIiwgIkhUVFBGTEFWT1JWQUxVRVNfUVVJQyIsICJIVFRQRkxBVk9SVkFMVUVTX1NQRFkiLCAiSHR0cEZsYXZvclZhbHVlcyIsICJNRVNTQUdFVFlQRVZBTFVFU19SRUNFSVZFRCIsICJNRVNTQUdFVFlQRVZBTFVFU19TRU5UIiwgIk1FU1NBR0lOR0RFU1RJTkFUSU9OS0lORFZBTFVFU19RVUVVRSIsICJNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfVE9QSUMiLCAiTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1BST0NFU1MiLCAiTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1JFQ0VJVkUiLCAiTWVzc2FnZVR5cGVWYWx1ZXMiLCAiTWVzc2FnaW5nRGVzdGluYXRpb25LaW5kVmFsdWVzIiwgIk1lc3NhZ2luZ09wZXJhdGlvblZhbHVlcyIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQTIwMDBfMVhSVFQiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VER0UiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VIUlBEIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPXzAiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRVZET19CIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HUFJTIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HU00iLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTRFBBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBUCIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNVUEEiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lERU4iLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lXTEFOIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19MVEUiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURV9DQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTlIiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05STlNBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19URF9TQ0RNQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfVU1UUyIsICJORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfQ0VMTCIsICJORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfVU5BVkFJTEFCTEUiLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1VOS05PV04iLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJRkkiLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJUkVEIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19JTlBST0MiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX0lQIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19JUF9UQ1AiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX0lQX1VEUCIsICJORVRUUkFOU1BPUlRWQUxVRVNfT1RIRVIiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX1BJUEUiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX1VOSVgiLCAiTmV0SG9zdENvbm5lY3Rpb25TdWJ0eXBlVmFsdWVzIiwgIk5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcyIsICJOZXRUcmFuc3BvcnRWYWx1ZXMiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQUJPUlRFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BTFJFQURZX0VYSVNUUyIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19DQU5DRUxMRUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfREFUQV9MT1NTIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RFQURMSU5FX0VYQ0VFREVEIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0ZBSUxFRF9QUkVDT05ESVRJT04iLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5URVJOQUwiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5WQUxJRF9BUkdVTUVOVCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19OT1RfRk9VTkQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT0siLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT1VUX09GX1JBTkdFIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1BFUk1JU1NJT05fREVOSUVEIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1JFU09VUkNFX0VYSEFVU1RFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFVVEhFTlRJQ0FURUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5BVkFJTEFCTEUiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5JTVBMRU1FTlRFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTktOT1dOIiwgIlJwY0dycGNTdGF0dXNDb2RlVmFsdWVzIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9BVFRSSUJVVEVTX1RPX0dFVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFX0RFRklOSVRJT05TIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT05TSVNURU5UX1JFQUQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPTlNVTUVEX0NBUEFDSVRZIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT1VOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfRVhDTFVTSVZFX1NUQVJUX1RBQkxFIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9HTE9CQUxfU0VDT05EQVJZX0lOREVYRVMiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhfVVBEQVRFUyIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfSU5ERVhfTkFNRSIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfSVRFTV9DT0xMRUNUSU9OX01FVFJJQ1MiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xJTUlUIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9MT0NBTF9TRUNPTkRBUllfSU5ERVhFUyIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPSkVDVElPTiIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfUkVBRF9DQVBBQ0lUWSIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfV1JJVEVfQ0FQQUNJVFkiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5ORURfQ09VTlQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5fRk9SV0FSRCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VHTUVOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VMRUNUIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9DT1VOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfVEFCTEVfTkFNRVMiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RPVEFMX1NFR01FTlRTIiwgIlNFTUFUVFJTX0FXU19MQU1CREFfSU5WT0tFRF9BUk4iLCAiU0VNQVRUUlNfQ09ERV9GSUxFUEFUSCIsICJTRU1BVFRSU19DT0RFX0ZVTkNUSU9OIiwgIlNFTUFUVFJTX0NPREVfTElORU5PIiwgIlNFTUFUVFJTX0NPREVfTkFNRVNQQUNFIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT05TSVNURU5DWV9MRVZFTCIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfREMiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPT1JESU5BVE9SX0lEIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9JREVNUE9URU5DRSIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfS0VZU1BBQ0UiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX1BBR0VfU0laRSIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfU1BFQ1VMQVRJVkVfRVhFQ1VUSU9OX0NPVU5UIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9UQUJMRSIsICJTRU1BVFRSU19EQl9DT05ORUNUSU9OX1NUUklORyIsICJTRU1BVFRSU19EQl9IQkFTRV9OQU1FU1BBQ0UiLCAiU0VNQVRUUlNfREJfSkRCQ19EUklWRVJfQ0xBU1NOQU1FIiwgIlNFTUFUVFJTX0RCX01PTkdPREJfQ09MTEVDVElPTiIsICJTRU1BVFRSU19EQl9NU1NRTF9JTlNUQU5DRV9OQU1FIiwgIlNFTUFUVFJTX0RCX05BTUUiLCAiU0VNQVRUUlNfREJfT1BFUkFUSU9OIiwgIlNFTUFUVFJTX0RCX1JFRElTX0RBVEFCQVNFX0lOREVYIiwgIlNFTUFUVFJTX0RCX1NRTF9UQUJMRSIsICJTRU1BVFRSU19EQl9TVEFURU1FTlQiLCAiU0VNQVRUUlNfREJfU1lTVEVNIiwgIlNFTUFUVFJTX0RCX1VTRVIiLCAiU0VNQVRUUlNfRU5EVVNFUl9JRCIsICJTRU1BVFRSU19FTkRVU0VSX1JPTEUiLCAiU0VNQVRUUlNfRU5EVVNFUl9TQ09QRSIsICJTRU1BVFRSU19FWENFUFRJT05fRVNDQVBFRCIsICJTRU1BVFRSU19FWENFUFRJT05fTUVTU0FHRSIsICJTRU1BVFRSU19FWENFUFRJT05fU1RBQ0tUUkFDRSIsICJTRU1BVFRSU19FWENFUFRJT05fVFlQRSIsICJTRU1BVFRSU19GQUFTX0NPTERTVEFSVCIsICJTRU1BVFRSU19GQUFTX0NST04iLCAiU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9DT0xMRUNUSU9OIiwgIlNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfTkFNRSIsICJTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX09QRVJBVElPTiIsICJTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX1RJTUUiLCAiU0VNQVRUUlNfRkFBU19FWEVDVVRJT04iLCAiU0VNQVRUUlNfRkFBU19JTlZPS0VEX05BTUUiLCAiU0VNQVRUUlNfRkFBU19JTlZPS0VEX1BST1ZJREVSIiwgIlNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9SRUdJT04iLCAiU0VNQVRUUlNfRkFBU19USU1FIiwgIlNFTUFUVFJTX0ZBQVNfVFJJR0dFUiIsICJTRU1BVFRSU19IVFRQX0NMSUVOVF9JUCIsICJTRU1BVFRSU19IVFRQX0ZMQVZPUiIsICJTRU1BVFRSU19IVFRQX0hPU1QiLCAiU0VNQVRUUlNfSFRUUF9NRVRIT0QiLCAiU0VNQVRUUlNfSFRUUF9SRVFVRVNUX0NPTlRFTlRfTEVOR1RIIiwgIlNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQiLCAiU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSCIsICJTRU1BVFRSU19IVFRQX1JFU1BPTlNFX0NPTlRFTlRfTEVOR1RIX1VOQ09NUFJFU1NFRCIsICJTRU1BVFRSU19IVFRQX1JPVVRFIiwgIlNFTUFUVFJTX0hUVFBfU0NIRU1FIiwgIlNFTUFUVFJTX0hUVFBfU0VSVkVSX05BTUUiLCAiU0VNQVRUUlNfSFRUUF9TVEFUVVNfQ09ERSIsICJTRU1BVFRSU19IVFRQX1RBUkdFVCIsICJTRU1BVFRSU19IVFRQX1VSTCIsICJTRU1BVFRSU19IVFRQX1VTRVJfQUdFTlQiLCAiU0VNQVRUUlNfTUVTU0FHRV9DT01QUkVTU0VEX1NJWkUiLCAiU0VNQVRUUlNfTUVTU0FHRV9JRCIsICJTRU1BVFRSU19NRVNTQUdFX1RZUEUiLCAiU0VNQVRUUlNfTUVTU0FHRV9VTkNPTVBSRVNTRURfU0laRSIsICJTRU1BVFRSU19NRVNTQUdJTkdfQ09OU1VNRVJfSUQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0NPTlZFUlNBVElPTl9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfREVTVElOQVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OX0tJTkQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX0NMSUVOVF9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfQ09OU1VNRVJfR1JPVVAiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX01FU1NBR0VfS0VZIiwgIlNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9QQVJUSVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX1RPTUJTVE9ORSIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX0NPTVBSRVNTRURfU0laRV9CWVRFUyIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX1NJWkVfQllURVMiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX09QRVJBVElPTiIsICJTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0wiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1BST1RPQ09MX1ZFUlNJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1JBQkJJVE1RX1JPVVRJTkdfS0VZIiwgIlNFTUFUVFJTX01FU1NBR0lOR19TWVNURU0iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1RFTVBfREVTVElOQVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1VSTCIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX0lDQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01DQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01OQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX05BTUUiLCAiU0VNQVRUUlNfTkVUX0hPU1RfQ09OTkVDVElPTl9TVUJUWVBFIiwgIlNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fVFlQRSIsICJTRU1BVFRSU19ORVRfSE9TVF9JUCIsICJTRU1BVFRSU19ORVRfSE9TVF9OQU1FIiwgIlNFTUFUVFJTX05FVF9IT1NUX1BPUlQiLCAiU0VNQVRUUlNfTkVUX1BFRVJfSVAiLCAiU0VNQVRUUlNfTkVUX1BFRVJfTkFNRSIsICJTRU1BVFRSU19ORVRfUEVFUl9QT1JUIiwgIlNFTUFUVFJTX05FVF9UUkFOU1BPUlQiLCAiU0VNQVRUUlNfUEVFUl9TRVJWSUNFIiwgIlNFTUFUVFJTX1JQQ19HUlBDX1NUQVRVU19DT0RFIiwgIlNFTUFUVFJTX1JQQ19KU09OUlBDX0VSUk9SX0NPREUiLCAiU0VNQVRUUlNfUlBDX0pTT05SUENfRVJST1JfTUVTU0FHRSIsICJTRU1BVFRSU19SUENfSlNPTlJQQ19SRVFVRVNUX0lEIiwgIlNFTUFUVFJTX1JQQ19KU09OUlBDX1ZFUlNJT04iLCAiU0VNQVRUUlNfUlBDX01FVEhPRCIsICJTRU1BVFRSU19SUENfU0VSVklDRSIsICJTRU1BVFRSU19SUENfU1lTVEVNIiwgIlNFTUFUVFJTX1RIUkVBRF9JRCIsICJTRU1BVFRSU19USFJFQURfTkFNRSIsICJTZW1hbnRpY0F0dHJpYnV0ZXMiLCAidHJhY2UiLCAiY29udGV4dCIsICJEaWFnTG9nTGV2ZWwiLCAiSU5WQUxJRF9TUEFOSUQiLCAiSU5WQUxJRF9TUEFOX0NPTlRFWFQiLCAiSU5WQUxJRF9UUkFDRUlEIiwgIlByb3h5VHJhY2VyIiwgIlByb3h5VHJhY2VyUHJvdmlkZXIiLCAiUk9PVF9DT05URVhUIiwgIlNwYW5LaW5kIiwgIlNwYW5TdGF0dXNDb2RlIiwgIlRyYWNlRmxhZ3MiLCAiY3JlYXRlQ29udGV4dEtleSIsICJpc1NwYW5Db250ZXh0VmFsaWQiLCAiaXNWYWxpZFNwYW5JZCIsICJpc1ZhbGlkVHJhY2VJZCIsICJtZXRyaWNzIiwgImNyZWF0ZU5vb3BNZXRlciIsICJTYW1wbGluZ0RlY2lzaW9uIiwgImVzbSQyIiwgImRpYWciLCAiQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIiLCAiQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19GQVJHQVRFIiwgIkF3c0Vjc0xhdW5jaHR5cGVWYWx1ZXMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0VDUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUMyIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEsiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfTEFNQkRBIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQVBQX1NFUlZJQ0UiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9DT05UQUlORVJfSU5TVEFOQ0VTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfRlVOQ1RJT05TIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk0iLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQVBQX0VOR0lORSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9GVU5DVElPTlMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfUlVOIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0tVQkVSTkVURVNfRU5HSU5FIiwgIkNMT1VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCIsICJDTE9VRFBST1ZJREVSVkFMVUVTX0FXUyIsICJDTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFIiwgIkNMT1VEUFJPVklERVJWQUxVRVNfR0NQIiwgIkNsb3VkUGxhdGZvcm1WYWx1ZXMiLCAiQ2xvdWRQcm92aWRlclZhbHVlcyIsICJIT1NUQVJDSFZBTFVFU19BTUQ2NCIsICJIT1NUQVJDSFZBTFVFU19BUk0zMiIsICJIT1NUQVJDSFZBTFVFU19BUk02NCIsICJIT1NUQVJDSFZBTFVFU19JQTY0IiwgIkhPU1RBUkNIVkFMVUVTX1BQQzMyIiwgIkhPU1RBUkNIVkFMVUVTX1BQQzY0IiwgIkhPU1RBUkNIVkFMVUVTX1g4NiIsICJIb3N0QXJjaFZhbHVlcyIsICJPU1RZUEVWQUxVRVNfQUlYIiwgIk9TVFlQRVZBTFVFU19EQVJXSU4iLCAiT1NUWVBFVkFMVUVTX0RSQUdPTkZMWUJTRCIsICJPU1RZUEVWQUxVRVNfRlJFRUJTRCIsICJPU1RZUEVWQUxVRVNfSFBVWCIsICJPU1RZUEVWQUxVRVNfTElOVVgiLCAiT1NUWVBFVkFMVUVTX05FVEJTRCIsICJPU1RZUEVWQUxVRVNfT1BFTkJTRCIsICJPU1RZUEVWQUxVRVNfU09MQVJJUyIsICJPU1RZUEVWQUxVRVNfV0lORE9XUyIsICJPU1RZUEVWQUxVRVNfWl9PUyIsICJPc1R5cGVWYWx1ZXMiLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19DTFVTVEVSX0FSTiIsICJTRU1SRVNBVFRSU19BV1NfRUNTX0NPTlRBSU5FUl9BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19MQVVOQ0hUWVBFIiwgIlNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX0ZBTUlMWSIsICJTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfUkVWSVNJT04iLCAiU0VNUkVTQVRUUlNfQVdTX0VLU19DTFVTVEVSX0FSTiIsICJTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX0FSTlMiLCAiU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9OQU1FUyIsICJTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9BUk5TIiwgIlNFTVJFU0FUVFJTX0FXU19MT0dfU1RSRUFNX05BTUVTIiwgIlNFTVJFU0FUVFJTX0NMT1VEX0FDQ09VTlRfSUQiLCAiU0VNUkVTQVRUUlNfQ0xPVURfQVZBSUxBQklMSVRZX1pPTkUiLCAiU0VNUkVTQVRUUlNfQ0xPVURfUExBVEZPUk0iLCAiU0VNUkVTQVRUUlNfQ0xPVURfUFJPVklERVIiLCAiU0VNUkVTQVRUUlNfQ0xPVURfUkVHSU9OIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JRCIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfTkFNRSIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfVEFHIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9SVU5USU1FIiwgIlNFTVJFU0FUVFJTX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQiLCAiU0VNUkVTQVRUUlNfREVWSUNFX0lEIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9JREVOVElGSUVSIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9OQU1FIiwgIlNFTVJFU0FUVFJTX0ZBQVNfSUQiLCAiU0VNUkVTQVRUUlNfRkFBU19JTlNUQU5DRSIsICJTRU1SRVNBVFRSU19GQUFTX01BWF9NRU1PUlkiLCAiU0VNUkVTQVRUUlNfRkFBU19OQU1FIiwgIlNFTVJFU0FUVFJTX0ZBQVNfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19IT1NUX0FSQ0giLCAiU0VNUkVTQVRUUlNfSE9TVF9JRCIsICJTRU1SRVNBVFRSU19IT1NUX0lNQUdFX0lEIiwgIlNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfTkFNRSIsICJTRU1SRVNBVFRSU19IT1NUX0lNQUdFX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfSE9TVF9OQU1FIiwgIlNFTVJFU0FUVFJTX0hPU1RfVFlQRSIsICJTRU1SRVNBVFRSU19LOFNfQ0xVU1RFUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19DT05UQUlORVJfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19DUk9OSk9CX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfREFFTU9OU0VUX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0pPQl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19KT0JfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19OQU1FU1BBQ0VfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfTk9ERV9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19OT0RFX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfUE9EX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX1BPRF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX1VJRCIsICJTRU1SRVNBVFRSU19PU19ERVNDUklQVElPTiIsICJTRU1SRVNBVFRSU19PU19OQU1FIiwgIlNFTVJFU0FUVFJTX09TX1RZUEUiLCAiU0VNUkVTQVRUUlNfT1NfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkQiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0FSR1MiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0xJTkUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX05BTUUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX1BBVEgiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19PV05FUiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfREVTQ1JJUFRJT04iLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX05BTUUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9JTlNUQU5DRV9JRCIsICJTRU1SRVNBVFRSU19TRVJWSUNFX05BTUUiLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FU1BBQ0UiLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9BVVRPX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19MQU5HVUFHRSIsICJTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUUiLCAiU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1dFQkVOR0lORV9ERVNDUklQVElPTiIsICJTRU1SRVNBVFRSU19XRUJFTkdJTkVfTkFNRSIsICJTRU1SRVNBVFRSU19XRUJFTkdJTkVfVkVSU0lPTiIsICJTZW1hbnRpY1Jlc291cmNlQXR0cmlidXRlcyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFAiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRE9UTkVUIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19HTyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19KQVZBIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFAiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUFlUSE9OIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlkiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMiLCAiVGVsZW1ldHJ5U2RrTGFuZ3VhZ2VWYWx1ZXMiLCAiX21lcmdlTmFtZXNwYWNlcyIsICJuIiwgIm0iLCAiaSIsICJlIiwgImsiLCAiZCIsICJjb25zb2xlTWFwIiwgIkRpYWdDb25zb2xlTG9nZ2VyIiwgIl9jb25zb2xlRnVuYyIsICJmdW5jTmFtZSIsICJhcmdzIiwgIl9pIiwgInRoZUZ1bmMiLCAiVmFsdWVUeXBlIiwgIlZBTElEX0tFWV9DSEFSX1JBTkdFIiwgIlZBTElEX0tFWSIsICJWQUxJRF9WRU5ET1JfS0VZIiwgIlZBTElEX0tFWV9SRUdFWCIsICJWQUxJRF9WQUxVRV9CQVNFX1JFR0VYIiwgIklOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVgiLCAidmFsaWRhdGVLZXkiLCAia2V5IiwgInZhbGlkYXRlVmFsdWUiLCAidmFsdWUiLCAiTUFYX1RSQUNFX1NUQVRFX0lURU1TIiwgIk1BWF9UUkFDRV9TVEFURV9MRU4iLCAiTElTVF9NRU1CRVJTX1NFUEFSQVRPUiIsICJMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIiLCAiVHJhY2VTdGF0ZUltcGwiLCAicmF3VHJhY2VTdGF0ZSIsICJ0cmFjZVN0YXRlIiwgIl90aGlzIiwgImFnZyIsICJwYXJ0IiwgImxpc3RNZW1iZXIiLCAiY3JlYXRlVHJhY2VTdGF0ZSIsICJpbmRleCIsICJlc20kMSIsICJBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFQiLCAiQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9BQ1FVSVJFRCIsICJBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0VORFBPSU5UX0xJTUlURVIiLCAiQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9HTE9CQUxfTElNSVRFUiIsICJBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX1JFUVVFU1RfQ0FOQ0VMRUQiLCAiQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfQ1BQIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRE9UTkVUIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRVJMQU5HIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08iLCAiVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfTk9ERUpTIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUEhQIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUFlUSE9OIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVCWSIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1JVU1QiLCAiVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9TV0lGVCIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1dFQkpTIiwgIkFUVFJfVEVMRU1FVFJZX1NES19OQU1FIiwgIkFUVFJfVEVMRU1FVFJZX1NES19WRVJTSU9OIiwgIkFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19IQU5ETEVSX1RZUEUiLCAiQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0FCT1JURUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0hBTkRMRUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX1NLSVBQRUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX1VOSEFORExFRCIsICJBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19QT0xJQ1kiLCAiQVRUUl9BU1BORVRDT1JFX1JFUVVFU1RfSVNfVU5IQU5ETEVEIiwgIkFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX0lTX0ZBTExCQUNLIiwgIkFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVUyIsICJBU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTX1ZBTFVFX0ZBSUxVUkUiLCAiQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVU19WQUxVRV9TVUNDRVNTIiwgIkFUVFJfQ0xJRU5UX0FERFJFU1MiLCAiQVRUUl9DTElFTlRfUE9SVCIsICJBVFRSX0VSUk9SX1RZUEUiLCAiRVJST1JfVFlQRV9WQUxVRV9PVEhFUiIsICJBVFRSX0VYQ0VQVElPTl9FU0NBUEVEIiwgIkFUVFJfRVhDRVBUSU9OX01FU1NBR0UiLCAiQVRUUl9FWENFUFRJT05fU1RBQ0tUUkFDRSIsICJBVFRSX0VYQ0VQVElPTl9UWVBFIiwgIkFUVFJfSFRUUF9SRVFVRVNUX0hFQURFUiIsICJBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0QiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PVEhFUiIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0NPTk5FQ1QiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9ERUxFVEUiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9HRVQiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFEIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1BUSU9OUyIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BBVENIIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUE9TVCIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BVVCIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1RSQUNFIiwgIkFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRF9PUklHSU5BTCIsICJBVFRSX0hUVFBfUkVRVUVTVF9SRVNFTkRfQ09VTlQiLCAiQVRUUl9IVFRQX1JFU1BPTlNFX0hFQURFUiIsICJBVFRSX0hUVFBfUkVTUE9OU0VfU1RBVFVTX0NPREUiLCAiQVRUUl9IVFRQX1JPVVRFIiwgIkFUVFJfSlZNX0dDX0FDVElPTiIsICJBVFRSX0pWTV9HQ19OQU1FIiwgIkFUVFJfSlZNX01FTU9SWV9QT09MX05BTUUiLCAiQVRUUl9KVk1fTUVNT1JZX1RZUEUiLCAiSlZNX01FTU9SWV9UWVBFX1ZBTFVFX0hFQVAiLCAiSlZNX01FTU9SWV9UWVBFX1ZBTFVFX05PTl9IRUFQIiwgIkFUVFJfSlZNX1RIUkVBRF9EQUVNT04iLCAiQVRUUl9KVk1fVEhSRUFEX1NUQVRFIiwgIkpWTV9USFJFQURfU1RBVEVfVkFMVUVfQkxPQ0tFRCIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX05FVyIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1JVTk5BQkxFIiwgIkpWTV9USFJFQURfU1RBVEVfVkFMVUVfVEVSTUlOQVRFRCIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1RJTUVEX1dBSVRJTkciLCAiSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9XQUlUSU5HIiwgIkFUVFJfTkVUV09SS19MT0NBTF9BRERSRVNTIiwgIkFUVFJfTkVUV09SS19MT0NBTF9QT1JUIiwgIkFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MiLCAiQVRUUl9ORVRXT1JLX1BFRVJfUE9SVCIsICJBVFRSX05FVFdPUktfUFJPVE9DT0xfTkFNRSIsICJBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTiIsICJBVFRSX05FVFdPUktfVFJBTlNQT1JUIiwgIk5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUiLCAiTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyIsICJORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9UQ1AiLCAiTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQIiwgIk5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VOSVgiLCAiQVRUUl9ORVRXT1JLX1RZUEUiLCAiTkVUV09SS19UWVBFX1ZBTFVFX0lQVjQiLCAiTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYiLCAiQVRUUl9PVEVMX1NDT1BFX05BTUUiLCAiQVRUUl9PVEVMX1NDT1BFX1ZFUlNJT04iLCAiQVRUUl9PVEVMX1NUQVRVU19DT0RFIiwgIk9URUxfU1RBVFVTX0NPREVfVkFMVUVfRVJST1IiLCAiT1RFTF9TVEFUVVNfQ09ERV9WQUxVRV9PSyIsICJBVFRSX09URUxfU1RBVFVTX0RFU0NSSVBUSU9OIiwgIkFUVFJfU0VSVkVSX0FERFJFU1MiLCAiQVRUUl9TRVJWRVJfUE9SVCIsICJBVFRSX1NFUlZJQ0VfTkFNRSIsICJBVFRSX1NFUlZJQ0VfVkVSU0lPTiIsICJBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVMiLCAiU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04iLCAiU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9OT1JNQUxfQ0xPU1VSRSIsICJTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX1RJTUVPVVQiLCAiQVRUUl9TSUdOQUxSX1RSQU5TUE9SVCIsICJTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9MT05HX1BPTExJTkciLCAiU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfU0VSVkVSX1NFTlRfRVZFTlRTIiwgIlNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1dFQl9TT0NLRVRTIiwgIkFUVFJfVVJMX0ZSQUdNRU5UIiwgIkFUVFJfVVJMX0ZVTEwiLCAiQVRUUl9VUkxfUEFUSCIsICJBVFRSX1VSTF9RVUVSWSIsICJBVFRSX1VSTF9TQ0hFTUUiLCAiQVRUUl9VU0VSX0FHRU5UX09SSUdJTkFMIiwgIk1FVFJJQ19BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTlMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19BQ1RJVkVfUkVRVUVTVF9MRUFTRVMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19RVUVVRURfUkVRVUVTVFMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX0xFQVNFX0RVUkFUSU9OIiwgIk1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVFMiLCAiTUVUUklDX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9BVFRFTVBUUyIsICJNRVRSSUNfSFRUUF9DTElFTlRfUkVRVUVTVF9EVVJBVElPTiIsICJNRVRSSUNfSFRUUF9TRVJWRVJfUkVRVUVTVF9EVVJBVElPTiIsICJNRVRSSUNfSlZNX0NMQVNTX0NPVU5UIiwgIk1FVFJJQ19KVk1fQ0xBU1NfTE9BREVEIiwgIk1FVFJJQ19KVk1fQ0xBU1NfVU5MT0FERUQiLCAiTUVUUklDX0pWTV9DUFVfQ09VTlQiLCAiTUVUUklDX0pWTV9DUFVfUkVDRU5UX1VUSUxJWkFUSU9OIiwgIk1FVFJJQ19KVk1fQ1BVX1RJTUUiLCAiTUVUUklDX0pWTV9HQ19EVVJBVElPTiIsICJNRVRSSUNfSlZNX01FTU9SWV9DT01NSVRURUQiLCAiTUVUUklDX0pWTV9NRU1PUllfTElNSVQiLCAiTUVUUklDX0pWTV9NRU1PUllfVVNFRCIsICJNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MiLCAiTUVUUklDX0pWTV9USFJFQURfQ09VTlQiLCAiTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TIiwgIk1FVFJJQ19LRVNUUkVMX0FDVElWRV9UTFNfSEFORFNIQUtFUyIsICJNRVRSSUNfS0VTVFJFTF9DT05ORUNUSU9OX0RVUkFUSU9OIiwgIk1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyIsICJNRVRSSUNfS0VTVFJFTF9RVUVVRURfUkVRVUVTVFMiLCAiTUVUUklDX0tFU1RSRUxfUkVKRUNURURfQ09OTkVDVElPTlMiLCAiTUVUUklDX0tFU1RSRUxfVExTX0hBTkRTSEFLRV9EVVJBVElPTiIsICJNRVRSSUNfS0VTVFJFTF9VUEdSQURFRF9DT05ORUNUSU9OUyIsICJNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQUNUSVZFX0NPTk5FQ1RJT05TIiwgIk1FVFJJQ19TSUdOQUxSX1NFUlZFUl9DT05ORUNUSU9OX0RVUkFUSU9OIiwgImVzbSIsICJkZXRlY3RSZXNvdXJjZXMkMSIsICJSZXNvdXJjZSIsICJyZXF1aXJlJCQxJDEiLCAicmVxdWlyZSQkMSIsICJyZXF1aXJlJCQyIiwgImJyb3dzZXIiLCAiZGVmYXVsdFNlcnZpY2VOYW1lIiwgImhhc1JlcXVpcmVkRGVmYXVsdFNlcnZpY2VOYW1lIiwgInJlcXVpcmVEZWZhdWx0U2VydmljZU5hbWUiLCAiZGVmYXVsdFNlcnZpY2VOYW1lJDEiLCAiaGFzUmVxdWlyZWRCcm93c2VyIiwgInJlcXVpcmVCcm93c2VyIiwgImV4cG9ydHMiLCAiZGVmYXVsdF9zZXJ2aWNlX25hbWVfMSIsICJoYXNSZXF1aXJlZFJlc291cmNlIiwgInJlcXVpcmVSZXNvdXJjZSIsICJhcGlfMSIsICJzZW1hbnRpY19jb252ZW50aW9uc18xIiwgImNvcmVfMSIsICJwbGF0Zm9ybV8xIiwgIlJlc291cmNlJDEiLCAiYXR0cmlidXRlcyIsICJhc3luY0F0dHJpYnV0ZXNQcm9taXNlIiwgIl9hIiwgImFzeW5jQXR0cmlidXRlcyIsICJlcnIiLCAib3RoZXIiLCAibWVyZ2VkU3luY0F0dHJpYnV0ZXMiLCAibWVyZ2VkQXR0cmlidXRlc1Byb21pc2UiLCAidGhpc0FzeW5jQXR0cmlidXRlcyIsICJvdGhlckFzeW5jQXR0cmlidXRlcyIsICJ1dGlscyIsICJoYXNSZXF1aXJlZFV0aWxzIiwgInJlcXVpcmVVdGlscyIsICJpc1Byb21pc2VMaWtlIiwgInZhbCIsICJoYXNSZXF1aXJlZERldGVjdFJlc291cmNlcyIsICJyZXF1aXJlRGV0ZWN0UmVzb3VyY2VzIiwgIlJlc291cmNlXzEiLCAidXRpbHNfMSIsICJkZXRlY3RSZXNvdXJjZXMiLCAiY29uZmlnIiwgInJlc291cmNlcyIsICJyZXNvdXJjZSIsICJsb2dSZXNvdXJjZXMiLCAiYWNjIiwgImRldGVjdFJlc291cmNlc1N5bmMiLCAicmVzb3VyY2VPclByb21pc2UiLCAiY3JlYXRlUHJvbWlzZSIsICJyZXNvbHZlZFJlc291cmNlIiwgIm1lcmdlZFJlc291cmNlcyIsICJyZXNvdXJjZURlYnVnU3RyaW5nIiwgImRldGVjdFJlc291cmNlc0V4cG9ydHMiXQp9Cg==
|
|
862
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGV0ZWN0LXJlc291cmNlcy0hfnswMG59fi5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgZyBhcyBnZXRBdWdtZW50ZWROYW1lc3BhY2UgfSBmcm9tICcuL19jb21tb25qc0hlbHBlcnMtIX57MDA2fX4uanMnO1xuaW1wb3J0IHsgcCBhcyBwcm9wYWdhdGlvbiwgeiBhcyBiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmcsIEEgYXMgZGVmYXVsdFRleHRNYXBHZXR0ZXIsIEIgYXMgZGVmYXVsdFRleHRNYXBTZXR0ZXIsIEQgYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0FMTCwgQyBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQU5ZLCBFIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19FQUNIX1FVT1JVTSwgRiBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfT05FLCBHIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9RVU9SVU0sIEggYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1NFUklBTCwgSSBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfT05FLCBKIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19RVU9SVU0sIEsgYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1NFUklBTCwgTCBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVEhSRUUsIE0gYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1RXTywgTiBhcyBEQlNZU1RFTVZBTFVFU19BREFCQVMsIE8gYXMgREJTWVNURU1WQUxVRVNfQ0FDSEUsIFAgYXMgREJTWVNURU1WQUxVRVNfQ0FTU0FORFJBLCBRIGFzIERCU1lTVEVNVkFMVUVTX0NMT1VEU0NBUEUsIFIgYXMgREJTWVNURU1WQUxVRVNfQ09DS1JPQUNIREIsIFQgYXMgREJTWVNURU1WQUxVRVNfQ09MREZVU0lPTiwgVSBhcyBEQlNZU1RFTVZBTFVFU19DT1NNT1NEQiwgViBhcyBEQlNZU1RFTVZBTFVFU19DT1VDSEJBU0UsIFcgYXMgREJTWVNURU1WQUxVRVNfQ09VQ0hEQiwgWCBhcyBEQlNZU1RFTVZBTFVFU19EQjIsIFkgYXMgREJTWVNURU1WQUxVRVNfREVSQlksIFogYXMgREJTWVNURU1WQUxVRVNfRFlOQU1PREIsICQgYXMgREJTWVNURU1WQUxVRVNfRURCLCBhMCBhcyBEQlNZU1RFTVZBTFVFU19FTEFTVElDU0VBUkNILCBhMSBhcyBEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIsIGEyIGFzIERCU1lTVEVNVkFMVUVTX0ZJUkVCSVJELCBhMyBhcyBEQlNZU1RFTVZBTFVFU19GSVJTVFNRTCwgYTQgYXMgREJTWVNURU1WQUxVRVNfR0VPREUsIGE1IGFzIERCU1lTVEVNVkFMVUVTX0gyLCBhNiBhcyBEQlNZU1RFTVZBTFVFU19IQU5BREIsIGE3IGFzIERCU1lTVEVNVkFMVUVTX0hCQVNFLCBhOCBhcyBEQlNZU1RFTVZBTFVFU19ISVZFLCBhOSBhcyBEQlNZU1RFTVZBTFVFU19IU1FMREIsIGFhIGFzIERCU1lTVEVNVkFMVUVTX0lORk9STUlYLCBhYiBhcyBEQlNZU1RFTVZBTFVFU19JTkdSRVMsIGFjIGFzIERCU1lTVEVNVkFMVUVTX0lOU1RBTlREQiwgYWQgYXMgREJTWVNURU1WQUxVRVNfSU5URVJCQVNFLCBhZSBhcyBEQlNZU1RFTVZBTFVFU19NQVJJQURCLCBhZiBhcyBEQlNZU1RFTVZBTFVFU19NQVhEQiwgYWcgYXMgREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVELCBhaCBhcyBEQlNZU1RFTVZBTFVFU19NT05HT0RCLCBhaSBhcyBEQlNZU1RFTVZBTFVFU19NU1NRTCwgYWogYXMgREJTWVNURU1WQUxVRVNfTVlTUUwsIGFrIGFzIERCU1lTVEVNVkFMVUVTX05FTzRKLCBhbCBhcyBEQlNZU1RFTVZBTFVFU19ORVRFWlpBLCBhbSBhcyBEQlNZU1RFTVZBTFVFU19PUkFDTEUsIGFuIGFzIERCU1lTVEVNVkFMVUVTX09USEVSX1NRTCwgYW8gYXMgREJTWVNURU1WQUxVRVNfUEVSVkFTSVZFLCBhcCBhcyBEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UsIGFxIGFzIERCU1lTVEVNVkFMVUVTX1BPU1RHUkVTUUwsIGFyIGFzIERCU1lTVEVNVkFMVUVTX1BST0dSRVNTLCBhcyBhcyBEQlNZU1RFTVZBTFVFU19SRURJUywgYXQgYXMgREJTWVNURU1WQUxVRVNfUkVEU0hJRlQsIGF1IGFzIERCU1lTVEVNVkFMVUVTX1NRTElURSwgYXYgYXMgREJTWVNURU1WQUxVRVNfU1lCQVNFLCBhdyBhcyBEQlNZU1RFTVZBTFVFU19URVJBREFUQSwgYXggYXMgREJTWVNURU1WQUxVRVNfVkVSVElDQSwgYXkgYXMgRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzLCBheiBhcyBEYlN5c3RlbVZhbHVlcywgYUEgYXMgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0RFTEVURSwgYUIgYXMgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0VESVQsIGFDIGFzIEZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19JTlNFUlQsIGFEIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCwgYUUgYXMgRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BV1MsIGFGIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQVpVUkUsIGFHIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfR0NQLCBhSCBhcyBGQUFTVFJJR0dFUlZBTFVFU19EQVRBU09VUkNFLCBhSSBhcyBGQUFTVFJJR0dFUlZBTFVFU19IVFRQLCBhSiBhcyBGQUFTVFJJR0dFUlZBTFVFU19PVEhFUiwgYUsgYXMgRkFBU1RSSUdHRVJWQUxVRVNfUFVCU1VCLCBhTCBhcyBGQUFTVFJJR0dFUlZBTFVFU19USU1FUiwgYU0gYXMgRmFhc0RvY3VtZW50T3BlcmF0aW9uVmFsdWVzLCBhTiBhcyBGYWFzSW52b2tlZFByb3ZpZGVyVmFsdWVzLCBhTyBhcyBGYWFzVHJpZ2dlclZhbHVlcywgYVAgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMCwgYVEgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMSwgYVIgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzJfMCwgYVMgYXMgSFRUUEZMQVZPUlZBTFVFU19RVUlDLCBhVCBhcyBIVFRQRkxBVk9SVkFMVUVTX1NQRFksIGFVIGFzIEh0dHBGbGF2b3JWYWx1ZXMsIGFWIGFzIE1FU1NBR0VUWVBFVkFMVUVTX1JFQ0VJVkVELCBhVyBhcyBNRVNTQUdFVFlQRVZBTFVFU19TRU5ULCBhWCBhcyBNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfUVVFVUUsIGFZIGFzIE1FU1NBR0lOR0RFU1RJTkFUSU9OS0lORFZBTFVFU19UT1BJQywgYVogYXMgTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1BST0NFU1MsIGFfIGFzIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19SRUNFSVZFLCBhJCBhcyBNZXNzYWdlVHlwZVZhbHVlcywgYjAgYXMgTWVzc2FnaW5nRGVzdGluYXRpb25LaW5kVmFsdWVzLCBiMSBhcyBNZXNzYWdpbmdPcGVyYXRpb25WYWx1ZXMsIGIyIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19DRE1BLCBiMyBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQTIwMDBfMVhSVFQsIGI0IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FREdFLCBiNSBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRUhSUEQsIGI2IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPXzAsIGI3IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0EsIGI4IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0IsIGI5IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HUFJTLCBiYSBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1NNLCBiYiBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNEUEEsIGJjIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBLCBiZCBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQVAsIGJlIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1VQQSwgYmYgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lERU4sIGJnIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JV0xBTiwgYmggYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURSwgYmkgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURV9DQSwgYmogYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05SLCBiayBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTlJOU0EsIGJsIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19URF9TQ0RNQSwgYm0gYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1VNVFMsIGJuIGFzIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19DRUxMLCBibyBhcyBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfVU5BVkFJTEFCTEUsIGJwIGFzIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTktOT1dOLCBicSBhcyBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfV0lGSSwgYnIgYXMgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJUkVELCBicyBhcyBORVRUUkFOU1BPUlRWQUxVRVNfSU5QUk9DLCBidCBhcyBORVRUUkFOU1BPUlRWQUxVRVNfSVAsIGJ1IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9UQ1AsIGJ2IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9VRFAsIGJ3IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19PVEhFUiwgYnggYXMgTkVUVFJBTlNQT1JUVkFMVUVTX1BJUEUsIGJ5IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19VTklYLCBieiBhcyBOZXRIb3N0Q29ubmVjdGlvblN1YnR5cGVWYWx1ZXMsIGJBIGFzIE5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcywgYkIgYXMgTmV0VHJhbnNwb3J0VmFsdWVzLCBiQyBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BQk9SVEVELCBiRCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BTFJFQURZX0VYSVNUUywgYkUgYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQ0FOQ0VMTEVELCBiRiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19EQVRBX0xPU1MsIGJHIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RFQURMSU5FX0VYQ0VFREVELCBiSCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19GQUlMRURfUFJFQ09ORElUSU9OLCBiSSBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlRFUk5BTCwgYkogYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5WQUxJRF9BUkdVTUVOVCwgYksgYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfTk9UX0ZPVU5ELCBiTCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PSywgYk0gYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT1VUX09GX1JBTkdFLCBiTiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19QRVJNSVNTSU9OX0RFTklFRCwgYk8gYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUkVTT1VSQ0VfRVhIQVVTVEVELCBiUCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFVVEhFTlRJQ0FURUQsIGJRIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOQVZBSUxBQkxFLCBiUiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTklNUExFTUVOVEVELCBiUyBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTktOT1dOLCBiVCBhcyBScGNHcnBjU3RhdHVzQ29kZVZhbHVlcywgYlUgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0FUVFJJQlVURVNfVE9fR0VULCBiViBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFX0RFRklOSVRJT05TLCBiVyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU0lTVEVOVF9SRUFELCBiWCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU1VNRURfQ0FQQUNJVFksIGJZIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT1VOVCwgYlogYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0VYQ0xVU0lWRV9TVEFSVF9UQUJMRSwgYl8gYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhFUywgYiQgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhfVVBEQVRFUywgYzAgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0lOREVYX05BTUUsIGMxIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JVEVNX0NPTExFQ1RJT05fTUVUUklDUywgYzIgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xJTUlULCBjMyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfTE9DQUxfU0VDT05EQVJZX0lOREVYRVMsIGM0IGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9KRUNUSU9OLCBjNSBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfUkVBRF9DQVBBQ0lUWSwgYzYgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1BST1ZJU0lPTkVEX1dSSVRFX0NBUEFDSVRZLCBjNyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTk5FRF9DT1VOVCwgYzggYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5fRk9SV0FSRCwgYzkgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NFR01FTlQsIGNhIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUxFQ1QsIGNiIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9DT1VOVCwgY2MgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RBQkxFX05BTUVTLCBjZCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfVE9UQUxfU0VHTUVOVFMsIGNlIGFzIFNFTUFUVFJTX0FXU19MQU1CREFfSU5WT0tFRF9BUk4sIGNmIGFzIFNFTUFUVFJTX0NPREVfRklMRVBBVEgsIGNnIGFzIFNFTUFUVFJTX0NPREVfRlVOQ1RJT04sIGNoIGFzIFNFTUFUVFJTX0NPREVfTElORU5PLCBjaSBhcyBTRU1BVFRSU19DT0RFX05BTUVTUEFDRSwgY2ogYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPTlNJU1RFTkNZX0xFVkVMLCBjayBhcyBTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfREMsIGNsIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT09SRElOQVRPUl9JRCwgY20gYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0lERU1QT1RFTkNFLCBjbiBhcyBTRU1BVFRSU19EQl9DQVNTQU5EUkFfS0VZU1BBQ0UsIGNvIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9QQUdFX1NJWkUsIGNwIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9TUEVDVUxBVElWRV9FWEVDVVRJT05fQ09VTlQsIGNxIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9UQUJMRSwgY3IgYXMgU0VNQVRUUlNfREJfQ09OTkVDVElPTl9TVFJJTkcsIGNzIGFzIFNFTUFUVFJTX0RCX0hCQVNFX05BTUVTUEFDRSwgY3QgYXMgU0VNQVRUUlNfREJfSkRCQ19EUklWRVJfQ0xBU1NOQU1FLCBjdSBhcyBTRU1BVFRSU19EQl9NT05HT0RCX0NPTExFQ1RJT04sIGN2IGFzIFNFTUFUVFJTX0RCX01TU1FMX0lOU1RBTkNFX05BTUUsIGN3IGFzIFNFTUFUVFJTX0RCX05BTUUsIGN4IGFzIFNFTUFUVFJTX0RCX09QRVJBVElPTiwgY3kgYXMgU0VNQVRUUlNfREJfUkVESVNfREFUQUJBU0VfSU5ERVgsIGN6IGFzIFNFTUFUVFJTX0RCX1NRTF9UQUJMRSwgY0EgYXMgU0VNQVRUUlNfREJfU1RBVEVNRU5ULCBjQiBhcyBTRU1BVFRSU19EQl9TWVNURU0sIGNDIGFzIFNFTUFUVFJTX0RCX1VTRVIsIGNEIGFzIFNFTUFUVFJTX0VORFVTRVJfSUQsIGNFIGFzIFNFTUFUVFJTX0VORFVTRVJfUk9MRSwgY0YgYXMgU0VNQVRUUlNfRU5EVVNFUl9TQ09QRSwgY0cgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX0VTQ0FQRUQsIHcgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX01FU1NBR0UsIHggYXMgU0VNQVRUUlNfRVhDRVBUSU9OX1NUQUNLVFJBQ0UsIHYgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX1RZUEUsIGNIIGFzIFNFTUFUVFJTX0ZBQVNfQ09MRFNUQVJULCBjSSBhcyBTRU1BVFRSU19GQUFTX0NST04sIGNKIGFzIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfQ09MTEVDVElPTiwgY0sgYXMgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9OQU1FLCBjTCBhcyBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX09QRVJBVElPTiwgY00gYXMgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9USU1FLCBjTiBhcyBTRU1BVFRSU19GQUFTX0VYRUNVVElPTiwgY08gYXMgU0VNQVRUUlNfRkFBU19JTlZPS0VEX05BTUUsIGNQIGFzIFNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9QUk9WSURFUiwgY1EgYXMgU0VNQVRUUlNfRkFBU19JTlZPS0VEX1JFR0lPTiwgY1IgYXMgU0VNQVRUUlNfRkFBU19USU1FLCBjUyBhcyBTRU1BVFRSU19GQUFTX1RSSUdHRVIsIGNUIGFzIFNFTUFUVFJTX0hUVFBfQ0xJRU5UX0lQLCBjVSBhcyBTRU1BVFRSU19IVFRQX0ZMQVZPUiwgYyBhcyBTRU1BVFRSU19IVFRQX0hPU1QsIGYgYXMgU0VNQVRUUlNfSFRUUF9NRVRIT0QsIGNWIGFzIFNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSCwgayBhcyBTRU1BVFRSU19IVFRQX1JFUVVFU1RfQ09OVEVOVF9MRU5HVEhfVU5DT01QUkVTU0VELCBTIGFzIFNFTUFUVFJTX0hUVFBfUkVTUE9OU0VfQ09OVEVOVF9MRU5HVEgsIGEgYXMgU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQsIGNXIGFzIFNFTUFUVFJTX0hUVFBfUk9VVEUsIGQgYXMgU0VNQVRUUlNfSFRUUF9TQ0hFTUUsIGNYIGFzIFNFTUFUVFJTX0hUVFBfU0VSVkVSX05BTUUsIGIgYXMgU0VNQVRUUlNfSFRUUF9TVEFUVVNfQ09ERSwgY1kgYXMgU0VNQVRUUlNfSFRUUF9UQVJHRVQsIGcgYXMgU0VNQVRUUlNfSFRUUF9VUkwsIGUgYXMgU0VNQVRUUlNfSFRUUF9VU0VSX0FHRU5ULCBjWiBhcyBTRU1BVFRSU19NRVNTQUdFX0NPTVBSRVNTRURfU0laRSwgY18gYXMgU0VNQVRUUlNfTUVTU0FHRV9JRCwgYyQgYXMgU0VNQVRUUlNfTUVTU0FHRV9UWVBFLCBkMCBhcyBTRU1BVFRSU19NRVNTQUdFX1VOQ09NUFJFU1NFRF9TSVpFLCBkMSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfQ09OU1VNRVJfSUQsIGQyIGFzIFNFTUFUVFJTX01FU1NBR0lOR19DT05WRVJTQVRJT05fSUQsIGQzIGFzIFNFTUFUVFJTX01FU1NBR0lOR19ERVNUSU5BVElPTiwgZDQgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OX0tJTkQsIGQ1IGFzIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DTElFTlRfSUQsIGQ2IGFzIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DT05TVU1FUl9HUk9VUCwgZDcgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX01FU1NBR0VfS0VZLCBkOCBhcyBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfUEFSVElUSU9OLCBkOSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfVE9NQlNUT05FLCBkYSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9JRCwgZGIgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX01FU1NBR0VfUEFZTE9BRF9DT01QUkVTU0VEX1NJWkVfQllURVMsIGRjIGFzIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfU0laRV9CWVRFUywgZGQgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX09QRVJBVElPTiwgZGUgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1BST1RPQ09MLCBkZiBhcyBTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0xfVkVSU0lPTiwgZGcgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1JBQkJJVE1RX1JPVVRJTkdfS0VZLCBkaCBhcyBTRU1BVFRSU19NRVNTQUdJTkdfU1lTVEVNLCBkaSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfVEVNUF9ERVNUSU5BVElPTiwgZGogYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1VSTCwgZGsgYXMgU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9JQ0MsIGRsIGFzIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTUNDLCBkbSBhcyBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01OQywgZG4gYXMgU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9OQU1FLCBkcCBhcyBTRU1BVFRSU19ORVRfSE9TVF9DT05ORUNUSU9OX1NVQlRZUEUsIGRxIGFzIFNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fVFlQRSwgZHIgYXMgU0VNQVRUUlNfTkVUX0hPU1RfSVAsIGRzIGFzIFNFTUFUVFJTX05FVF9IT1NUX05BTUUsIGR0IGFzIFNFTUFUVFJTX05FVF9IT1NUX1BPUlQsIGR1IGFzIFNFTUFUVFJTX05FVF9QRUVSX0lQLCBkdiBhcyBTRU1BVFRSU19ORVRfUEVFUl9OQU1FLCBkdyBhcyBTRU1BVFRSU19ORVRfUEVFUl9QT1JULCBkeCBhcyBTRU1BVFRSU19ORVRfVFJBTlNQT1JULCBkeSBhcyBTRU1BVFRSU19QRUVSX1NFUlZJQ0UsIGR6IGFzIFNFTUFUVFJTX1JQQ19HUlBDX1NUQVRVU19DT0RFLCBkQSBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9DT0RFLCBkQiBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9NRVNTQUdFLCBkQyBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19SRVFVRVNUX0lELCBkRCBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19WRVJTSU9OLCBkRSBhcyBTRU1BVFRSU19SUENfTUVUSE9ELCBkRiBhcyBTRU1BVFRSU19SUENfU0VSVklDRSwgZEcgYXMgU0VNQVRUUlNfUlBDX1NZU1RFTSwgZEggYXMgU0VNQVRUUlNfVEhSRUFEX0lELCBkSSBhcyBTRU1BVFRSU19USFJFQURfTkFNRSwgZEogYXMgU2VtYW50aWNBdHRyaWJ1dGVzIH0gZnJvbSAnLi91cmwtIX57MDBkfX4uanMnO1xuaW1wb3J0IHsgdCBhcyB0cmFjZSwgYSBhcyBjb250ZXh0LCBmIGFzIERpYWdMb2dMZXZlbCwgaCBhcyBJTlZBTElEX1NQQU5JRCwgSSBhcyBJTlZBTElEX1NQQU5fQ09OVEVYVCwgaiBhcyBJTlZBTElEX1RSQUNFSUQsIFAgYXMgUHJveHlUcmFjZXIsIGsgYXMgUHJveHlUcmFjZXJQcm92aWRlciwgUiBhcyBST09UX0NPTlRFWFQsIFMgYXMgU3BhbktpbmQsIGUgYXMgU3BhblN0YXR1c0NvZGUsIFQgYXMgVHJhY2VGbGFncywgYyBhcyBjcmVhdGVDb250ZXh0S2V5LCBpIGFzIGlzU3BhbkNvbnRleHRWYWxpZCwgZCBhcyBpc1ZhbGlkU3BhbklkLCBiIGFzIGlzVmFsaWRUcmFjZUlkIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBtIGFzIG1ldHJpY3MsIGMgYXMgY3JlYXRlTm9vcE1ldGVyIH0gZnJvbSAnLi9tZXRyaWNzLWFwaS0hfnswMGZ9fi5qcyc7XG5pbXBvcnQgeyBTIGFzIFNhbXBsaW5nRGVjaXNpb24sIGYgYXMgZXNtJDIgfSBmcm9tICcuL2luZGV4LSF+ezAwbX1+LmpzJztcbmltcG9ydCB7IGQgYXMgZGlhZyB9IGZyb20gJy4vZGlhZy1hcGktIX57MDA4fX4uanMnO1xuaW1wb3J0IHsgQSBhcyBBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0VDMiwgZSBhcyBBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0ZBUkdBVEUsIGYgYXMgQXdzRWNzTGF1bmNodHlwZVZhbHVlcywgQyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRUNTLCBnIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9GQywgaCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQzIsIGkgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUNTLCBqIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VLUywgayBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FTEFTVElDX0JFQU5TVEFMSywgbCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19MQU1CREEsIG0gYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BS1MsIG4gYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BUFBfU0VSVklDRSwgbyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0NPTlRBSU5FUl9JTlNUQU5DRVMsIHAgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9GVU5DVElPTlMsIHEgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9WTSwgciBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9BUFBfRU5HSU5FLCBzIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX0ZVTkNUSU9OUywgdCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9SVU4sIHUgYXMgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ09NUFVURV9FTkdJTkUsIHYgYXMgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfS1VCRVJORVRFU19FTkdJTkUsIHcgYXMgQ0xPVURQUk9WSURFUlZBTFVFU19BTElCQUJBX0NMT1VELCB4IGFzIENMT1VEUFJPVklERVJWQUxVRVNfQVdTLCB5IGFzIENMT1VEUFJPVklERVJWQUxVRVNfQVpVUkUsIHogYXMgQ0xPVURQUk9WSURFUlZBTFVFU19HQ1AsIEIgYXMgQ2xvdWRQbGF0Zm9ybVZhbHVlcywgRCBhcyBDbG91ZFByb3ZpZGVyVmFsdWVzLCBIIGFzIEhPU1RBUkNIVkFMVUVTX0FNRDY0LCBFIGFzIEhPU1RBUkNIVkFMVUVTX0FSTTMyLCBGIGFzIEhPU1RBUkNIVkFMVUVTX0FSTTY0LCBHIGFzIEhPU1RBUkNIVkFMVUVTX0lBNjQsIEkgYXMgSE9TVEFSQ0hWQUxVRVNfUFBDMzIsIEogYXMgSE9TVEFSQ0hWQUxVRVNfUFBDNjQsIEsgYXMgSE9TVEFSQ0hWQUxVRVNfWDg2LCBMIGFzIEhvc3RBcmNoVmFsdWVzLCBPIGFzIE9TVFlQRVZBTFVFU19BSVgsIE0gYXMgT1NUWVBFVkFMVUVTX0RBUldJTiwgTiBhcyBPU1RZUEVWQUxVRVNfRFJBR09ORkxZQlNELCBQIGFzIE9TVFlQRVZBTFVFU19GUkVFQlNELCBRIGFzIE9TVFlQRVZBTFVFU19IUFVYLCBSIGFzIE9TVFlQRVZBTFVFU19MSU5VWCwgVCBhcyBPU1RZUEVWQUxVRVNfTkVUQlNELCBVIGFzIE9TVFlQRVZBTFVFU19PUEVOQlNELCBWIGFzIE9TVFlQRVZBTFVFU19TT0xBUklTLCBXIGFzIE9TVFlQRVZBTFVFU19XSU5ET1dTLCBYIGFzIE9TVFlQRVZBTFVFU19aX09TLCBZIGFzIE9zVHlwZVZhbHVlcywgWiBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX0NMVVNURVJfQVJOLCBfIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ09OVEFJTkVSX0FSTiwgJCBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX0xBVU5DSFRZUEUsIGEwIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19BUk4sIGExIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19GQU1JTFksIGEyIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19SRVZJU0lPTiwgYTMgYXMgU0VNUkVTQVRUUlNfQVdTX0VLU19DTFVTVEVSX0FSTiwgYTQgYXMgU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9BUk5TLCBhNSBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX05BTUVTLCBhNiBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9BUk5TLCBhNyBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9OQU1FUywgYTggYXMgU0VNUkVTQVRUUlNfQ0xPVURfQUNDT1VOVF9JRCwgYTkgYXMgU0VNUkVTQVRUUlNfQ0xPVURfQVZBSUxBQklMSVRZX1pPTkUsIGFhIGFzIFNFTVJFU0FUVFJTX0NMT1VEX1BMQVRGT1JNLCBhYiBhcyBTRU1SRVNBVFRSU19DTE9VRF9QUk9WSURFUiwgYWMgYXMgU0VNUkVTQVRUUlNfQ0xPVURfUkVHSU9OLCBhZCBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfSUQsIGFlIGFzIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JTUFHRV9OQU1FLCBhZiBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfVEFHLCBhZyBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfTkFNRSwgYWggYXMgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX1JVTlRJTUUsIGFpIGFzIFNFTVJFU0FUVFJTX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQsIGFqIGFzIFNFTVJFU0FUVFJTX0RFVklDRV9JRCwgYWsgYXMgU0VNUkVTQVRUUlNfREVWSUNFX01PREVMX0lERU5USUZJRVIsIGFsIGFzIFNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9OQU1FLCBhbSBhcyBTRU1SRVNBVFRSU19GQUFTX0lELCBhbiBhcyBTRU1SRVNBVFRSU19GQUFTX0lOU1RBTkNFLCBhbyBhcyBTRU1SRVNBVFRSU19GQUFTX01BWF9NRU1PUlksIGFwIGFzIFNFTVJFU0FUVFJTX0ZBQVNfTkFNRSwgYXEgYXMgU0VNUkVTQVRUUlNfRkFBU19WRVJTSU9OLCBhciBhcyBTRU1SRVNBVFRSU19IT1NUX0FSQ0gsIGFzIGFzIFNFTVJFU0FUVFJTX0hPU1RfSUQsIGF0IGFzIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfSUQsIGF1IGFzIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfTkFNRSwgYXYgYXMgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9WRVJTSU9OLCBhdyBhcyBTRU1SRVNBVFRSU19IT1NUX05BTUUsIGF4IGFzIFNFTVJFU0FUVFJTX0hPU1RfVFlQRSwgYXkgYXMgU0VNUkVTQVRUUlNfSzhTX0NMVVNURVJfTkFNRSwgYXogYXMgU0VNUkVTQVRUUlNfSzhTX0NPTlRBSU5FUl9OQU1FLCBhQSBhcyBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9OQU1FLCBhQiBhcyBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9VSUQsIGFDIGFzIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfTkFNRSwgYUQgYXMgU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9VSUQsIGFFIGFzIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX05BTUUsIGFGIGFzIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX1VJRCwgYUcgYXMgU0VNUkVTQVRUUlNfSzhTX0pPQl9OQU1FLCBhSCBhcyBTRU1SRVNBVFRSU19LOFNfSk9CX1VJRCwgYUkgYXMgU0VNUkVTQVRUUlNfSzhTX05BTUVTUEFDRV9OQU1FLCBhSiBhcyBTRU1SRVNBVFRSU19LOFNfTk9ERV9OQU1FLCBhSyBhcyBTRU1SRVNBVFRSU19LOFNfTk9ERV9VSUQsIGFMIGFzIFNFTVJFU0FUVFJTX0s4U19QT0RfTkFNRSwgYU0gYXMgU0VNUkVTQVRUUlNfSzhTX1BPRF9VSUQsIGFOIGFzIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX05BTUUsIGFPIGFzIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX1VJRCwgYVAgYXMgU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX05BTUUsIGFRIGFzIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9VSUQsIGFSIGFzIFNFTVJFU0FUVFJTX09TX0RFU0NSSVBUSU9OLCBhUyBhcyBTRU1SRVNBVFRSU19PU19OQU1FLCBhVCBhcyBTRU1SRVNBVFRSU19PU19UWVBFLCBhVSBhcyBTRU1SRVNBVFRSU19PU19WRVJTSU9OLCBhViBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkQsIGFXIGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9BUkdTLCBhWCBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkRfTElORSwgYVkgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX05BTUUsIGFaIGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9QQVRILCBhXyBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX09XTkVSLCBhJCBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCwgYjAgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OLCBiMSBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfTkFNRSwgYjIgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04sIGIzIGFzIFNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQsIFMgYXMgU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FLCBiNCBhcyBTRU1SRVNBVFRSU19TRVJWSUNFX05BTUVTUEFDRSwgYjUgYXMgU0VNUkVTQVRUUlNfU0VSVklDRV9WRVJTSU9OLCBiNiBhcyBTRU1SRVNBVFRSU19URUxFTUVUUllfQVVUT19WRVJTSU9OLCBiIGFzIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsIGMgYXMgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FLCBkIGFzIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTiwgYjcgYXMgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX0RFU0NSSVBUSU9OLCBiOCBhcyBTRU1SRVNBVFRSU19XRUJFTkdJTkVfTkFNRSwgYjkgYXMgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX1ZFUlNJT04sIGJhIGFzIFNlbWFudGljUmVzb3VyY2VBdHRyaWJ1dGVzLCBiYiBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFAsIGJjIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0RPVE5FVCwgYmQgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRVJMQU5HLCBiZSBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19HTywgYmYgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfSkFWQSwgYmcgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfTk9ERUpTLCBiaCBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFAsIGJpIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BZVEhPTiwgYmogYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUlVCWSwgYmsgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMsIGJsIGFzIFRlbGVtZXRyeVNka0xhbmd1YWdlVmFsdWVzIH0gZnJvbSAnLi9zZGstaW5mby0hfnswMGh9fi5qcyc7XG5cbmZ1bmN0aW9uIF9tZXJnZU5hbWVzcGFjZXMobiwgbSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBlID0gbVtpXTtcbiAgICAgICAgaWYgKHR5cGVvZiBlICE9PSAnc3RyaW5nJyAmJiAhQXJyYXkuaXNBcnJheShlKSkgeyBmb3IgKGNvbnN0IGsgaW4gZSkge1xuICAgICAgICAgICAgaWYgKGsgIT09ICdkZWZhdWx0JyAmJiAhKGsgaW4gbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCBrKTtcbiAgICAgICAgICAgICAgICBpZiAoZCkge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobiwgaywgZC5nZXQgPyBkIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldDogKCkgPT4gZVtrXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gfVxuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydHkobiwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgY29uc29sZU1hcCA9IFtcbiAgICB7IG46ICdlcnJvcicsIGM6ICdlcnJvcicgfSxcbiAgICB7IG46ICd3YXJuJywgYzogJ3dhcm4nIH0sXG4gICAgeyBuOiAnaW5mbycsIGM6ICdpbmZvJyB9LFxuICAgIHsgbjogJ2RlYnVnJywgYzogJ2RlYnVnJyB9LFxuICAgIHsgbjogJ3ZlcmJvc2UnLCBjOiAndHJhY2UnIH0sXG5dO1xuLyoqXG4gKiBBIHNpbXBsZSBJbW11dGFibGUgQ29uc29sZSBiYXNlZCBkaWFnbm9zdGljIGxvZ2dlciB3aGljaCB3aWxsIG91dHB1dCBhbnkgbWVzc2FnZXMgdG8gdGhlIENvbnNvbGUuXG4gKiBJZiB5b3Ugd2FudCB0byBsaW1pdCB0aGUgYW1vdW50IG9mIGxvZ2dpbmcgdG8gYSBzcGVjaWZpYyBsZXZlbCBvciBsb3dlciB1c2UgdGhlXG4gKiB7QGxpbmsgY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyfVxuICovXG52YXIgRGlhZ0NvbnNvbGVMb2dnZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRGlhZ0NvbnNvbGVMb2dnZXIoKSB7XG4gICAgICAgIGZ1bmN0aW9uIF9jb25zb2xlRnVuYyhmdW5jTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvbnNvbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU29tZSBlbnZpcm9ubWVudHMgb25seSBleHBvc2UgdGhlIGNvbnNvbGUgd2hlbiB0aGUgRjEyIGRldmVsb3BlciBjb25zb2xlIGlzIG9wZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRoZUZ1bmMgPSBjb25zb2xlW2Z1bmNOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGVGdW5jICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBOb3QgYWxsIGVudmlyb25tZW50cyBzdXBwb3J0IGFsbCBmdW5jdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGVGdW5jID0gY29uc29sZS5sb2c7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gT25lIGxhc3QgZmluYWwgY2hlY2tcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGVGdW5jID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhlRnVuYy5hcHBseShjb25zb2xlLCBhcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb25zb2xlTWFwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzW2NvbnNvbGVNYXBbaV0ubl0gPSBfY29uc29sZUZ1bmMoY29uc29sZU1hcFtpXS5jKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gRGlhZ0NvbnNvbGVMb2dnZXI7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIFRoZSBUeXBlIG9mIHZhbHVlLiBJdCBkZXNjcmliZXMgaG93IHRoZSBkYXRhIGlzIHJlcG9ydGVkLiAqL1xudmFyIFZhbHVlVHlwZTtcbihmdW5jdGlvbiAoVmFsdWVUeXBlKSB7XG4gICAgVmFsdWVUeXBlW1ZhbHVlVHlwZVtcIklOVFwiXSA9IDBdID0gXCJJTlRcIjtcbiAgICBWYWx1ZVR5cGVbVmFsdWVUeXBlW1wiRE9VQkxFXCJdID0gMV0gPSBcIkRPVUJMRVwiO1xufSkoVmFsdWVUeXBlIHx8IChWYWx1ZVR5cGUgPSB7fSkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIFZBTElEX0tFWV9DSEFSX1JBTkdFID0gJ1tfMC05YS16LSovXSc7XG52YXIgVkFMSURfS0VZID0gXCJbYS16XVwiICsgVkFMSURfS0VZX0NIQVJfUkFOR0UgKyBcInswLDI1NX1cIjtcbnZhciBWQUxJRF9WRU5ET1JfS0VZID0gXCJbYS16MC05XVwiICsgVkFMSURfS0VZX0NIQVJfUkFOR0UgKyBcInswLDI0MH1AW2Etel1cIiArIFZBTElEX0tFWV9DSEFSX1JBTkdFICsgXCJ7MCwxM31cIjtcbnZhciBWQUxJRF9LRVlfUkVHRVggPSBuZXcgUmVnRXhwKFwiXig/OlwiICsgVkFMSURfS0VZICsgXCJ8XCIgKyBWQUxJRF9WRU5ET1JfS0VZICsgXCIpJFwiKTtcbnZhciBWQUxJRF9WQUxVRV9CQVNFX1JFR0VYID0gL15bIC1+XXswLDI1NX1bIS1+XSQvO1xudmFyIElOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVggPSAvLHw9Lztcbi8qKlxuICogS2V5IGlzIG9wYXF1ZSBzdHJpbmcgdXAgdG8gMjU2IGNoYXJhY3RlcnMgcHJpbnRhYmxlLiBJdCBNVVNUIGJlZ2luIHdpdGggYVxuICogbG93ZXJjYXNlIGxldHRlciwgYW5kIGNhbiBvbmx5IGNvbnRhaW4gbG93ZXJjYXNlIGxldHRlcnMgYS16LCBkaWdpdHMgMC05LFxuICogdW5kZXJzY29yZXMgXywgZGFzaGVzIC0sIGFzdGVyaXNrcyAqLCBhbmQgZm9yd2FyZCBzbGFzaGVzIC8uXG4gKiBGb3IgbXVsdGktdGVuYW50IHZlbmRvciBzY2VuYXJpb3MsIGFuIGF0IHNpZ24gKEApIGNhbiBiZSB1c2VkIHRvIHByZWZpeCB0aGVcbiAqIHZlbmRvciBuYW1lLiBWZW5kb3JzIFNIT1VMRCBzZXQgdGhlIHRlbmFudCBJRCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXkuXG4gKiBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL3RyYWNlLWNvbnRleHQvI2tleVxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUtleShrZXkpIHtcbiAgICByZXR1cm4gVkFMSURfS0VZX1JFR0VYLnRlc3Qoa2V5KTtcbn1cbi8qKlxuICogVmFsdWUgaXMgb3BhcXVlIHN0cmluZyB1cCB0byAyNTYgY2hhcmFjdGVycyBwcmludGFibGUgQVNDSUkgUkZDMDAyMFxuICogY2hhcmFjdGVycyAoaS5lLiwgdGhlIHJhbmdlIDB4MjAgdG8gMHg3RSkgZXhjZXB0IGNvbW1hICwgYW5kID0uXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlVmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gKFZBTElEX1ZBTFVFX0JBU0VfUkVHRVgudGVzdCh2YWx1ZSkgJiZcbiAgICAgICAgIUlOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVgudGVzdCh2YWx1ZSkpO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIE1BWF9UUkFDRV9TVEFURV9JVEVNUyA9IDMyO1xudmFyIE1BWF9UUkFDRV9TVEFURV9MRU4gPSA1MTI7XG52YXIgTElTVF9NRU1CRVJTX1NFUEFSQVRPUiA9ICcsJztcbnZhciBMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIgPSAnPSc7XG4vKipcbiAqIFRyYWNlU3RhdGUgbXVzdCBiZSBhIGNsYXNzIGFuZCBub3QgYSBzaW1wbGUgb2JqZWN0IHR5cGUgYmVjYXVzZSBvZiB0aGUgc3BlY1xuICogcmVxdWlyZW1lbnQgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi90cmFjZS1jb250ZXh0LyN0cmFjZXN0YXRlLWZpZWxkKS5cbiAqXG4gKiBIZXJlIGlzIHRoZSBsaXN0IG9mIGFsbG93ZWQgbXV0YXRpb25zOlxuICogLSBOZXcga2V5LXZhbHVlIHBhaXIgc2hvdWxkIGJlIGFkZGVkIGludG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdFxuICogLSBUaGUgdmFsdWUgb2YgYW55IGtleSBjYW4gYmUgdXBkYXRlZC4gTW9kaWZpZWQga2V5cyBNVVNUIGJlIG1vdmVkIHRvIHRoZVxuICogYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxuICovXG52YXIgVHJhY2VTdGF0ZUltcGwgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVHJhY2VTdGF0ZUltcGwocmF3VHJhY2VTdGF0ZSkge1xuICAgICAgICB0aGlzLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcCgpO1xuICAgICAgICBpZiAocmF3VHJhY2VTdGF0ZSlcbiAgICAgICAgICAgIHRoaXMuX3BhcnNlKHJhd1RyYWNlU3RhdGUpO1xuICAgIH1cbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICAgICAgLy8gVE9ETzogQmVuY2htYXJrIHRoZSBkaWZmZXJlbnQgYXBwcm9hY2hlcyhtYXAgdnMgbGlzdCkgYW5kXG4gICAgICAgIC8vIHVzZSB0aGUgZmFzdGVyIG9uZS5cbiAgICAgICAgdmFyIHRyYWNlU3RhdGUgPSB0aGlzLl9jbG9uZSgpO1xuICAgICAgICBpZiAodHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5oYXMoa2V5KSkge1xuICAgICAgICAgICAgdHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5kZWxldGUoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICB0cmFjZVN0YXRlLl9pbnRlcm5hbFN0YXRlLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUudW5zZXQgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHZhciB0cmFjZVN0YXRlID0gdGhpcy5fY2xvbmUoKTtcbiAgICAgICAgdHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5kZWxldGUoa2V5KTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZS5nZXQoa2V5KTtcbiAgICB9O1xuICAgIFRyYWNlU3RhdGVJbXBsLnByb3RvdHlwZS5zZXJpYWxpemUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiB0aGlzLl9rZXlzKClcbiAgICAgICAgICAgIC5yZWR1Y2UoZnVuY3Rpb24gKGFnZywga2V5KSB7XG4gICAgICAgICAgICBhZ2cucHVzaChrZXkgKyBMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIgKyBfdGhpcy5nZXQoa2V5KSk7XG4gICAgICAgICAgICByZXR1cm4gYWdnO1xuICAgICAgICB9LCBbXSlcbiAgICAgICAgICAgIC5qb2luKExJU1RfTUVNQkVSU19TRVBBUkFUT1IpO1xuICAgIH07XG4gICAgVHJhY2VTdGF0ZUltcGwucHJvdG90eXBlLl9wYXJzZSA9IGZ1bmN0aW9uIChyYXdUcmFjZVN0YXRlKSB7XG4gICAgICAgIGlmIChyYXdUcmFjZVN0YXRlLmxlbmd0aCA+IE1BWF9UUkFDRV9TVEFURV9MRU4pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHRoaXMuX2ludGVybmFsU3RhdGUgPSByYXdUcmFjZVN0YXRlXG4gICAgICAgICAgICAuc3BsaXQoTElTVF9NRU1CRVJTX1NFUEFSQVRPUilcbiAgICAgICAgICAgIC5yZXZlcnNlKCkgLy8gU3RvcmUgaW4gcmV2ZXJzZSBzbyBuZXcga2V5cyAoLnNldCguLi4pKSB3aWxsIGJlIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nXG4gICAgICAgICAgICAucmVkdWNlKGZ1bmN0aW9uIChhZ2csIHBhcnQpIHtcbiAgICAgICAgICAgIHZhciBsaXN0TWVtYmVyID0gcGFydC50cmltKCk7IC8vIE9wdGlvbmFsIFdoaXRlc3BhY2UgKE9XUykgaGFuZGxpbmdcbiAgICAgICAgICAgIHZhciBpID0gbGlzdE1lbWJlci5pbmRleE9mKExJU1RfTUVNQkVSX0tFWV9WQUxVRV9TUExJVFRFUik7XG4gICAgICAgICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0gbGlzdE1lbWJlci5zbGljZSgwLCBpKTtcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBsaXN0TWVtYmVyLnNsaWNlKGkgKyAxLCBwYXJ0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRlS2V5KGtleSkgJiYgdmFsaWRhdGVWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgYWdnLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWdnO1xuICAgICAgICB9LCBuZXcgTWFwKCkpO1xuICAgICAgICAvLyBCZWNhdXNlIG9mIHRoZSByZXZlcnNlKCkgcmVxdWlyZW1lbnQsIHRydW5jIG11c3QgYmUgZG9uZSBhZnRlciBtYXAgaXMgY3JlYXRlZFxuICAgICAgICBpZiAodGhpcy5faW50ZXJuYWxTdGF0ZS5zaXplID4gTUFYX1RSQUNFX1NUQVRFX0lURU1TKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2ludGVybmFsU3RhdGUuZW50cmllcygpKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCkgLy8gVXNlIHJldmVyc2Ugc2FtZSBhcyBvcmlnaW5hbCB0cmFjZXN0YXRlIHBhcnNlIGNoYWluXG4gICAgICAgICAgICAgICAgLnNsaWNlKDAsIE1BWF9UUkFDRV9TVEFURV9JVEVNUykpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuX2tleXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2ludGVybmFsU3RhdGUua2V5cygpKS5yZXZlcnNlKCk7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuX2Nsb25lID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdHJhY2VTdGF0ZSA9IG5ldyBUcmFjZVN0YXRlSW1wbCgpO1xuICAgICAgICB0cmFjZVN0YXRlLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcCh0aGlzLl9pbnRlcm5hbFN0YXRlKTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICByZXR1cm4gVHJhY2VTdGF0ZUltcGw7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlVHJhY2VTdGF0ZShyYXdUcmFjZVN0YXRlKSB7XG4gICAgcmV0dXJuIG5ldyBUcmFjZVN0YXRlSW1wbChyYXdUcmFjZVN0YXRlKTtcbn1cblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vIERlZmF1bHQgZXhwb3J0LlxuY29uc3QgaW5kZXggPSB7XG4gICAgY29udGV4dDogY29udGV4dCxcbiAgICBkaWFnOiBkaWFnLFxuICAgIG1ldHJpY3M6IG1ldHJpY3MsXG4gICAgcHJvcGFnYXRpb246IHByb3BhZ2F0aW9uLFxuICAgIHRyYWNlOiB0cmFjZSxcbn07XG5cbmNvbnN0IGVzbSQxID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoLyojX19QVVJFX18qL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh7XG4gICAgX19wcm90b19fOiBudWxsLFxuICAgIERpYWdDb25zb2xlTG9nZ2VyLFxuICAgIGdldCBEaWFnTG9nTGV2ZWwgKCkgeyByZXR1cm4gRGlhZ0xvZ0xldmVsOyB9LFxuICAgIElOVkFMSURfU1BBTklELFxuICAgIElOVkFMSURfU1BBTl9DT05URVhULFxuICAgIElOVkFMSURfVFJBQ0VJRCxcbiAgICBQcm94eVRyYWNlcixcbiAgICBQcm94eVRyYWNlclByb3ZpZGVyLFxuICAgIFJPT1RfQ09OVEVYVCxcbiAgICBnZXQgU2FtcGxpbmdEZWNpc2lvbiAoKSB7IHJldHVybiBTYW1wbGluZ0RlY2lzaW9uOyB9LFxuICAgIGdldCBTcGFuS2luZCAoKSB7IHJldHVybiBTcGFuS2luZDsgfSxcbiAgICBnZXQgU3BhblN0YXR1c0NvZGUgKCkgeyByZXR1cm4gU3BhblN0YXR1c0NvZGU7IH0sXG4gICAgZ2V0IFRyYWNlRmxhZ3MgKCkgeyByZXR1cm4gVHJhY2VGbGFnczsgfSxcbiAgICBnZXQgVmFsdWVUeXBlICgpIHsgcmV0dXJuIFZhbHVlVHlwZTsgfSxcbiAgICBiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmcsXG4gICAgY29udGV4dCxcbiAgICBjcmVhdGVDb250ZXh0S2V5LFxuICAgIGNyZWF0ZU5vb3BNZXRlcixcbiAgICBjcmVhdGVUcmFjZVN0YXRlLFxuICAgIGRlZmF1bHQ6IGluZGV4LFxuICAgIGRlZmF1bHRUZXh0TWFwR2V0dGVyLFxuICAgIGRlZmF1bHRUZXh0TWFwU2V0dGVyLFxuICAgIGRpYWcsXG4gICAgaXNTcGFuQ29udGV4dFZhbGlkLFxuICAgIGlzVmFsaWRTcGFuSWQsXG4gICAgaXNWYWxpZFRyYWNlSWQsXG4gICAgbWV0cmljcyxcbiAgICBwcm9wYWdhdGlvbixcbiAgICB0cmFjZVxufSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERPIE5PVCBFRElULCB0aGlzIGlzIGFuIEF1dG8tZ2VuZXJhdGVkIGZpbGUgZnJvbSBzY3JpcHRzL3NlbWNvbnYvdGVtcGxhdGVzL3JlZ2lzdHJ5L3N0YWJsZS9hdHRyaWJ1dGVzLnRzLmoyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogUmF0ZS1saW1pdGluZyByZXN1bHQsIHNob3dzIHdoZXRoZXIgdGhlIGxlYXNlIHdhcyBhY3F1aXJlZCBvciBjb250YWlucyBhIHJlamVjdGlvbiByZWFzb25cbiAqXG4gKiBAZXhhbXBsZSBhY3F1aXJlZFxuICogQGV4YW1wbGUgcmVxdWVzdF9jYW5jZWxlZFxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUID0gJ2FzcG5ldGNvcmUucmF0ZV9saW1pdGluZy5yZXN1bHQnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFjcXVpcmVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0FDUVVJUkVEID0gXCJhY3F1aXJlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImVuZHBvaW50X2xpbWl0ZXJcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfRU5EUE9JTlRfTElNSVRFUiA9IFwiZW5kcG9pbnRfbGltaXRlclwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImdsb2JhbF9saW1pdGVyXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0dMT0JBTF9MSU1JVEVSID0gXCJnbG9iYWxfbGltaXRlclwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInJlcXVlc3RfY2FuY2VsZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfUkVRVUVTVF9DQU5DRUxFRCA9IFwicmVxdWVzdF9jYW5jZWxlZFwiO1xuLyoqXG4gKiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIHRlbGVtZXRyeSBTREsuXG4gKi9cbnZhciBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UgPSAndGVsZW1ldHJ5LnNkay5sYW5ndWFnZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiY3BwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0NQUCA9IFwiY3BwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZG90bmV0XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0RPVE5FVCA9IFwiZG90bmV0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZXJsYW5nXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0VSTEFORyA9IFwiZXJsYW5nXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZ29cIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08gPSBcImdvXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiamF2YVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBID0gXCJqYXZhXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwibm9kZWpzXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX05PREVKUyA9IFwibm9kZWpzXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicGhwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BIUCA9IFwicGhwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicHl0aG9uXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BZVEhPTiA9IFwicHl0aG9uXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicnVieVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9SVUJZID0gXCJydWJ5XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicnVzdFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9SVVNUID0gXCJydXN0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwic3dpZnRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfU1dJRlQgPSBcInN3aWZ0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwid2VianNcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfV0VCSlMgPSBcIndlYmpzXCI7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSB0ZWxlbWV0cnkgU0RLIGFzIGRlZmluZWQgYWJvdmUuXG4gKlxuICogQGV4YW1wbGUgb3BlbnRlbGVtZXRyeVxuICpcbiAqIEBub3RlIFRoZSBPcGVuVGVsZW1ldHJ5IFNESyAqKk1VU1QqKiBzZXQgdGhlIGB0ZWxlbWV0cnkuc2RrLm5hbWVgIGF0dHJpYnV0ZSB0byBgb3BlbnRlbGVtZXRyeWAuXG4gKiBJZiBhbm90aGVyIFNESywgbGlrZSBhIGZvcmsgb3IgYSB2ZW5kb3ItcHJvdmlkZWQgaW1wbGVtZW50YXRpb24sIGlzIHVzZWQsIHRoaXMgU0RLICoqTVVTVCoqIHNldCB0aGVcbiAqIGB0ZWxlbWV0cnkuc2RrLm5hbWVgIGF0dHJpYnV0ZSB0byB0aGUgZnVsbHktcXVhbGlmaWVkIGNsYXNzIG9yIG1vZHVsZSBuYW1lIG9mIHRoaXMgU0RLJ3MgbWFpbiBlbnRyeSBwb2ludFxuICogb3IgYW5vdGhlciBzdWl0YWJsZSBpZGVudGlmaWVyIGRlcGVuZGluZyBvbiB0aGUgbGFuZ3VhZ2UuXG4gKiBUaGUgaWRlbnRpZmllciBgb3BlbnRlbGVtZXRyeWAgaXMgcmVzZXJ2ZWQgYW5kICoqTVVTVCBOT1QqKiBiZSB1c2VkIGluIHRoaXMgY2FzZS5cbiAqIEFsbCBjdXN0b20gaWRlbnRpZmllcnMgKipTSE9VTEQqKiBiZSBzdGFibGUgYWNyb3NzIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiBhbiBpbXBsZW1lbnRhdGlvbi5cbiAqL1xudmFyIEFUVFJfVEVMRU1FVFJZX1NES19OQU1FID0gJ3RlbGVtZXRyeS5zZGsubmFtZSc7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIHN0cmluZyBvZiB0aGUgdGVsZW1ldHJ5IFNESy5cbiAqXG4gKiBAZXhhbXBsZSAxLjIuM1xuICovXG52YXIgQVRUUl9URUxFTUVUUllfU0RLX1ZFUlNJT04gPSAndGVsZW1ldHJ5LnNkay52ZXJzaW9uJztcbi8qKlxuICogRnVsbCB0eXBlIG5hbWUgb2YgdGhlIFtgSUV4Y2VwdGlvbkhhbmRsZXJgXShodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZG90bmV0L2FwaS9taWNyb3NvZnQuYXNwbmV0Y29yZS5kaWFnbm9zdGljcy5pZXhjZXB0aW9uaGFuZGxlcikgaW1wbGVtZW50YXRpb24gdGhhdCBoYW5kbGVkIHRoZSBleGNlcHRpb24uXG4gKlxuICogQGV4YW1wbGUgQ29udG9zby5NeUhhbmRsZXJcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19IQU5ETEVSX1RZUEUgPSAnYXNwbmV0Y29yZS5kaWFnbm9zdGljcy5oYW5kbGVyLnR5cGUnO1xuLyoqXG4gKiBBU1AuTkVUIENvcmUgZXhjZXB0aW9uIG1pZGRsZXdhcmUgaGFuZGxpbmcgcmVzdWx0XG4gKlxuICogQGV4YW1wbGUgaGFuZGxlZFxuICogQGV4YW1wbGUgdW5oYW5kbGVkXG4gKi9cbnZhciBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVCA9ICdhc3BuZXRjb3JlLmRpYWdub3N0aWNzLmV4Y2VwdGlvbi5yZXN1bHQnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFib3J0ZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVH0uXG4gICovXG52YXIgQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0FCT1JURUQgPSBcImFib3J0ZWRcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJoYW5kbGVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9IQU5ETEVEID0gXCJoYW5kbGVkXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwic2tpcHBlZFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfU0tJUFBFRCA9IFwic2tpcHBlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInVuaGFuZGxlZFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfVU5IQU5ETEVEID0gXCJ1bmhhbmRsZWRcIjtcbi8qKlxuICogUmF0ZSBsaW1pdGluZyBwb2xpY3kgbmFtZS5cbiAqXG4gKiBAZXhhbXBsZSBmaXhlZFxuICogQGV4YW1wbGUgc2xpZGluZ1xuICogQGV4YW1wbGUgdG9rZW5cbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1BPTElDWSA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucG9saWN5Jztcbi8qKlxuICogRmxhZyBpbmRpY2F0aW5nIGlmIHJlcXVlc3Qgd2FzIGhhbmRsZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHBpcGVsaW5lLlxuICpcbiAqIEBleGFtcGxlIHRydWVcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9SRVFVRVNUX0lTX1VOSEFORExFRCA9ICdhc3BuZXRjb3JlLnJlcXVlc3QuaXNfdW5oYW5kbGVkJztcbi8qKlxuICogQSB2YWx1ZSB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRoZSBtYXRjaGVkIHJvdXRlIGlzIGEgZmFsbGJhY2sgcm91dGUuXG4gKlxuICogQGV4YW1wbGUgdHJ1ZVxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JPVVRJTkdfSVNfRkFMTEJBQ0sgPSAnYXNwbmV0Y29yZS5yb3V0aW5nLmlzX2ZhbGxiYWNrJztcbi8qKlxuICogTWF0Y2ggcmVzdWx0IC0gc3VjY2VzcyBvciBmYWlsdXJlXG4gKlxuICogQGV4YW1wbGUgc3VjY2Vzc1xuICogQGV4YW1wbGUgZmFpbHVyZVxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTID0gJ2FzcG5ldGNvcmUucm91dGluZy5tYXRjaF9zdGF0dXMnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImZhaWx1cmVcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVN9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfRkFJTFVSRSA9IFwiZmFpbHVyZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInN1Y2Nlc3NcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVN9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfU1VDQ0VTUyA9IFwic3VjY2Vzc1wiO1xuLyoqXG4gKiBDbGllbnQgYWRkcmVzcyAtIGRvbWFpbiBuYW1lIGlmIGF2YWlsYWJsZSB3aXRob3V0IHJldmVyc2UgRE5TIGxvb2t1cDsgb3RoZXJ3aXNlLCBJUCBhZGRyZXNzIG9yIFVuaXggZG9tYWluIHNvY2tldCBuYW1lLlxuICpcbiAqIEBleGFtcGxlIGNsaWVudC5leGFtcGxlLmNvbVxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqXG4gKiBAbm90ZSBXaGVuIG9ic2VydmVkIGZyb20gdGhlIHNlcnZlciBzaWRlLCBhbmQgd2hlbiBjb21tdW5pY2F0aW5nIHRocm91Z2ggYW4gaW50ZXJtZWRpYXJ5LCBgY2xpZW50LmFkZHJlc3NgICoqU0hPVUxEKiogcmVwcmVzZW50IHRoZSBjbGllbnQgYWRkcmVzcyBiZWhpbmQgYW55IGludGVybWVkaWFyaWVzLCAgZm9yIGV4YW1wbGUgcHJveGllcywgaWYgaXQncyBhdmFpbGFibGUuXG4gKi9cbnZhciBBVFRSX0NMSUVOVF9BRERSRVNTID0gJ2NsaWVudC5hZGRyZXNzJztcbi8qKlxuICogQ2xpZW50IHBvcnQgbnVtYmVyLlxuICpcbiAqIEBleGFtcGxlIDY1MTIzXG4gKlxuICogQG5vdGUgV2hlbiBvYnNlcnZlZCBmcm9tIHRoZSBzZXJ2ZXIgc2lkZSwgYW5kIHdoZW4gY29tbXVuaWNhdGluZyB0aHJvdWdoIGFuIGludGVybWVkaWFyeSwgYGNsaWVudC5wb3J0YCAqKlNIT1VMRCoqIHJlcHJlc2VudCB0aGUgY2xpZW50IHBvcnQgYmVoaW5kIGFueSBpbnRlcm1lZGlhcmllcywgIGZvciBleGFtcGxlIHByb3hpZXMsIGlmIGl0J3MgYXZhaWxhYmxlLlxuICovXG52YXIgQVRUUl9DTElFTlRfUE9SVCA9ICdjbGllbnQucG9ydCc7XG4vKipcbiAqIERlc2NyaWJlcyBhIGNsYXNzIG9mIGVycm9yIHRoZSBvcGVyYXRpb24gZW5kZWQgd2l0aC5cbiAqXG4gKiBAZXhhbXBsZSB0aW1lb3V0XG4gKiBAZXhhbXBsZSBqYXZhLm5ldC5Vbmtub3duSG9zdEV4Y2VwdGlvblxuICogQGV4YW1wbGUgc2VydmVyX2NlcnRpZmljYXRlX2ludmFsaWRcbiAqIEBleGFtcGxlIDUwMFxuICpcbiAqIEBub3RlIFRoZSBgZXJyb3IudHlwZWAgKipTSE9VTEQqKiBiZSBwcmVkaWN0YWJsZSwgYW5kICoqU0hPVUxEKiogaGF2ZSBsb3cgY2FyZGluYWxpdHkuXG4gKlxuICogV2hlbiBgZXJyb3IudHlwZWAgaXMgc2V0IHRvIGEgdHlwZSAoZS5nLiwgYW4gZXhjZXB0aW9uIHR5cGUpLCBpdHNcbiAqIGNhbm9uaWNhbCBjbGFzcyBuYW1lIGlkZW50aWZ5aW5nIHRoZSB0eXBlIHdpdGhpbiB0aGUgYXJ0aWZhY3QgKipTSE9VTEQqKiBiZSB1c2VkLlxuICpcbiAqIEluc3RydW1lbnRhdGlvbnMgKipTSE9VTEQqKiBkb2N1bWVudCB0aGUgbGlzdCBvZiBlcnJvcnMgdGhleSByZXBvcnQuXG4gKlxuICogVGhlIGNhcmRpbmFsaXR5IG9mIGBlcnJvci50eXBlYCB3aXRoaW4gb25lIGluc3RydW1lbnRhdGlvbiBsaWJyYXJ5ICoqU0hPVUxEKiogYmUgbG93LlxuICogVGVsZW1ldHJ5IGNvbnN1bWVycyB0aGF0IGFnZ3JlZ2F0ZSBkYXRhIGZyb20gbXVsdGlwbGUgaW5zdHJ1bWVudGF0aW9uIGxpYnJhcmllcyBhbmQgYXBwbGljYXRpb25zXG4gKiBzaG91bGQgYmUgcHJlcGFyZWQgZm9yIGBlcnJvci50eXBlYCB0byBoYXZlIGhpZ2ggY2FyZGluYWxpdHkgYXQgcXVlcnkgdGltZSB3aGVuIG5vXG4gKiBhZGRpdGlvbmFsIGZpbHRlcnMgYXJlIGFwcGxpZWQuXG4gKlxuICogSWYgdGhlIG9wZXJhdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgaW5zdHJ1bWVudGF0aW9ucyAqKlNIT1VMRCBOT1QqKiBzZXQgYGVycm9yLnR5cGVgLlxuICpcbiAqIElmIGEgc3BlY2lmaWMgZG9tYWluIGRlZmluZXMgaXRzIG93biBzZXQgb2YgZXJyb3IgaWRlbnRpZmllcnMgKHN1Y2ggYXMgSFRUUCBvciBnUlBDIHN0YXR1cyBjb2RlcyksXG4gKiBpdCdzICoqUkVDT01NRU5ERUQqKiB0bzpcbiAqXG4gKiAgIC0gVXNlIGEgZG9tYWluLXNwZWNpZmljIGF0dHJpYnV0ZVxuICogICAtIFNldCBgZXJyb3IudHlwZWAgdG8gY2FwdHVyZSBhbGwgZXJyb3JzLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSBhcmUgZGVmaW5lZCB3aXRoaW4gdGhlIGRvbWFpbi1zcGVjaWZpYyBzZXQgb3Igbm90LlxuICovXG52YXIgQVRUUl9FUlJPUl9UWVBFID0gJ2Vycm9yLnR5cGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIl9PVEhFUlwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfRVJST1JfVFlQRX0uXG4gICovXG52YXIgRVJST1JfVFlQRV9WQUxVRV9PVEhFUiA9IFwiX09USEVSXCI7XG4vKipcbiAqICoqU0hPVUxEKiogYmUgc2V0IHRvIHRydWUgaWYgdGhlIGV4Y2VwdGlvbiBldmVudCBpcyByZWNvcmRlZCBhdCBhIHBvaW50IHdoZXJlIGl0IGlzIGtub3duIHRoYXQgdGhlIGV4Y2VwdGlvbiBpcyBlc2NhcGluZyB0aGUgc2NvcGUgb2YgdGhlIHNwYW4uXG4gKlxuICogQG5vdGUgQW4gZXhjZXB0aW9uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBlc2NhcGVkIChvciBsZWZ0KSB0aGUgc2NvcGUgb2YgYSBzcGFuLFxuICogaWYgdGhhdCBzcGFuIGlzIGVuZGVkIHdoaWxlIHRoZSBleGNlcHRpb24gaXMgc3RpbGwgbG9naWNhbGx5IFwiaW4gZmxpZ2h0XCIuXG4gKiBUaGlzIG1heSBiZSBhY3R1YWxseSBcImluIGZsaWdodFwiIGluIHNvbWUgbGFuZ3VhZ2VzIChlLmcuIGlmIHRoZSBleGNlcHRpb25cbiAqIGlzIHBhc3NlZCB0byBhIENvbnRleHQgbWFuYWdlcidzIGBfX2V4aXRfX2AgbWV0aG9kIGluIFB5dGhvbikgYnV0IHdpbGxcbiAqIHVzdWFsbHkgYmUgY2F1Z2h0IGF0IHRoZSBwb2ludCBvZiByZWNvcmRpbmcgdGhlIGV4Y2VwdGlvbiBpbiBtb3N0IGxhbmd1YWdlcy5cbiAqXG4gKiBJdCBpcyB1c3VhbGx5IG5vdCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgYXQgdGhlIHBvaW50IHdoZXJlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd25cbiAqIHdoZXRoZXIgaXQgd2lsbCBlc2NhcGUgdGhlIHNjb3BlIG9mIGEgc3Bhbi5cbiAqIEhvd2V2ZXIsIGl0IGlzIHRyaXZpYWwgdG8ga25vdyB0aGF0IGFuIGV4Y2VwdGlvblxuICogd2lsbCBlc2NhcGUsIGlmIG9uZSBjaGVja3MgZm9yIGFuIGFjdGl2ZSBleGNlcHRpb24ganVzdCBiZWZvcmUgZW5kaW5nIHRoZSBzcGFuLFxuICogYXMgZG9uZSBpbiB0aGUgW2V4YW1wbGUgZm9yIHJlY29yZGluZyBzcGFuIGV4Y2VwdGlvbnNdKGh0dHBzOi8vb3BlbnRlbGVtZXRyeS5pby9kb2NzL3NwZWNzL3NlbWNvbnYvZXhjZXB0aW9ucy9leGNlcHRpb25zLXNwYW5zLyNyZWNvcmRpbmctYW4tZXhjZXB0aW9uKS5cbiAqXG4gKiBJdCBmb2xsb3dzIHRoYXQgYW4gZXhjZXB0aW9uIG1heSBzdGlsbCBlc2NhcGUgdGhlIHNjb3BlIG9mIHRoZSBzcGFuXG4gKiBldmVuIGlmIHRoZSBgZXhjZXB0aW9uLmVzY2FwZWRgIGF0dHJpYnV0ZSB3YXMgbm90IHNldCBvciBzZXQgdG8gZmFsc2UsXG4gKiBzaW5jZSB0aGUgZXZlbnQgbWlnaHQgaGF2ZSBiZWVuIHJlY29yZGVkIGF0IGEgdGltZSB3aGVyZSBpdCB3YXMgbm90XG4gKiBjbGVhciB3aGV0aGVyIHRoZSBleGNlcHRpb24gd2lsbCBlc2NhcGUuXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9FU0NBUEVEID0gJ2V4Y2VwdGlvbi5lc2NhcGVkJztcbi8qKlxuICogVGhlIGV4Y2VwdGlvbiBtZXNzYWdlLlxuICpcbiAqIEBleGFtcGxlIERpdmlzaW9uIGJ5IHplcm9cbiAqIEBleGFtcGxlIENhbid0IGNvbnZlcnQgJ2ludCcgb2JqZWN0IHRvIHN0ciBpbXBsaWNpdGx5XG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9NRVNTQUdFID0gJ2V4Y2VwdGlvbi5tZXNzYWdlJztcbi8qKlxuICogQSBzdGFja3RyYWNlIGFzIGEgc3RyaW5nIGluIHRoZSBuYXR1cmFsIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgbGFuZ3VhZ2UgcnVudGltZS4gVGhlIHJlcHJlc2VudGF0aW9uIGlzIHRvIGJlIGRldGVybWluZWQgYW5kIGRvY3VtZW50ZWQgYnkgZWFjaCBsYW5ndWFnZSBTSUcuXG4gKlxuICogQGV4YW1wbGUgXCJFeGNlcHRpb24gaW4gdGhyZWFkIFwibWFpblwiIGphdmEubGFuZy5SdW50aW1lRXhjZXB0aW9uOiBUZXN0IGV4Y2VwdGlvblxcXFxuIGF0IGNvbS5leGFtcGxlLkdlbmVyYXRlVHJhY2UubWV0aG9kQihHZW5lcmF0ZVRyYWNlLmphdmE6MTMpXFxcXG4gYXQgY29tLmV4YW1wbGUuR2VuZXJhdGVUcmFjZS5tZXRob2RBKEdlbmVyYXRlVHJhY2UuamF2YTo5KVxcXFxuIGF0IGNvbS5leGFtcGxlLkdlbmVyYXRlVHJhY2UubWFpbihHZW5lcmF0ZVRyYWNlLmphdmE6NSlcXFxcblwiXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9TVEFDS1RSQUNFID0gJ2V4Y2VwdGlvbi5zdGFja3RyYWNlJztcbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGV4Y2VwdGlvbiAoaXRzIGZ1bGx5LXF1YWxpZmllZCBjbGFzcyBuYW1lLCBpZiBhcHBsaWNhYmxlKS4gVGhlIGR5bmFtaWMgdHlwZSBvZiB0aGUgZXhjZXB0aW9uIHNob3VsZCBiZSBwcmVmZXJyZWQgb3ZlciB0aGUgc3RhdGljIHR5cGUgaW4gbGFuZ3VhZ2VzIHRoYXQgc3VwcG9ydCBpdC5cbiAqXG4gKiBAZXhhbXBsZSBqYXZhLm5ldC5Db25uZWN0RXhjZXB0aW9uXG4gKiBAZXhhbXBsZSBPU0Vycm9yXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9UWVBFID0gJ2V4Y2VwdGlvbi50eXBlJztcbi8qKlxuICogSFRUUCByZXF1ZXN0IGhlYWRlcnMsIGA8a2V5PmAgYmVpbmcgdGhlIG5vcm1hbGl6ZWQgSFRUUCBIZWFkZXIgbmFtZSAobG93ZXJjYXNlKSwgdGhlIHZhbHVlIGJlaW5nIHRoZSBoZWFkZXIgdmFsdWVzLlxuICpcbiAqIEBleGFtcGxlIGh0dHAucmVxdWVzdC5oZWFkZXIuY29udGVudC10eXBlPVtcImFwcGxpY2F0aW9uL2pzb25cIl1cbiAqIEBleGFtcGxlIGh0dHAucmVxdWVzdC5oZWFkZXIueC1mb3J3YXJkZWQtZm9yPVtcIjEuMi4zLjRcIiwgXCIxLjIuMy41XCJdXG4gKlxuICogQG5vdGUgSW5zdHJ1bWVudGF0aW9ucyAqKlNIT1VMRCoqIHJlcXVpcmUgYW4gZXhwbGljaXQgY29uZmlndXJhdGlvbiBvZiB3aGljaCBoZWFkZXJzIGFyZSB0byBiZSBjYXB0dXJlZC4gSW5jbHVkaW5nIGFsbCByZXF1ZXN0IGhlYWRlcnMgY2FuIGJlIGEgc2VjdXJpdHkgcmlzayAtIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gaGVscHMgYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24uXG4gKiBUaGUgYFVzZXItQWdlbnRgIGhlYWRlciBpcyBhbHJlYWR5IGNhcHR1cmVkIGluIHRoZSBgdXNlcl9hZ2VudC5vcmlnaW5hbGAgYXR0cmlidXRlLiBVc2VycyAqKk1BWSoqIGV4cGxpY2l0bHkgY29uZmlndXJlIGluc3RydW1lbnRhdGlvbnMgdG8gY2FwdHVyZSB0aGVtIGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCByZWNvbW1lbmRlZC5cbiAqIFRoZSBhdHRyaWJ1dGUgdmFsdWUgKipNVVNUKiogY29uc2lzdCBvZiBlaXRoZXIgbXVsdGlwbGUgaGVhZGVyIHZhbHVlcyBhcyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc2luZ2xlLWl0ZW0gYXJyYXkgY29udGFpbmluZyBhIHBvc3NpYmx5IGNvbW1hLWNvbmNhdGVuYXRlZCBzdHJpbmcsIGRlcGVuZGluZyBvbiB0aGUgd2F5IHRoZSBIVFRQIGxpYnJhcnkgcHJvdmlkZXMgYWNjZXNzIHRvIGhlYWRlcnMuXG4gKi9cbnZhciBBVFRSX0hUVFBfUkVRVUVTVF9IRUFERVIgPSBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBcImh0dHAucmVxdWVzdC5oZWFkZXIuXCIgKyBrZXk7IH07XG4vKipcbiAqIEhUVFAgcmVxdWVzdCBtZXRob2QuXG4gKlxuICogQGV4YW1wbGUgR0VUXG4gKiBAZXhhbXBsZSBQT1NUXG4gKiBAZXhhbXBsZSBIRUFEXG4gKlxuICogQG5vdGUgSFRUUCByZXF1ZXN0IG1ldGhvZCB2YWx1ZSAqKlNIT1VMRCoqIGJlIFwia25vd25cIiB0byB0aGUgaW5zdHJ1bWVudGF0aW9uLlxuICogQnkgZGVmYXVsdCwgdGhpcyBjb252ZW50aW9uIGRlZmluZXMgXCJrbm93blwiIG1ldGhvZHMgYXMgdGhlIG9uZXMgbGlzdGVkIGluIFtSRkM5MTEwXShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5odG1sI25hbWUtbWV0aG9kcylcbiAqIGFuZCB0aGUgUEFUQ0ggbWV0aG9kIGRlZmluZWQgaW4gW1JGQzU3ODldKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1Nzg5Lmh0bWwpLlxuICpcbiAqIElmIHRoZSBIVFRQIHJlcXVlc3QgbWV0aG9kIGlzIG5vdCBrbm93biB0byBpbnN0cnVtZW50YXRpb24sIGl0ICoqTVVTVCoqIHNldCB0aGUgYGh0dHAucmVxdWVzdC5tZXRob2RgIGF0dHJpYnV0ZSB0byBgX09USEVSYC5cbiAqXG4gKiBJZiB0aGUgSFRUUCBpbnN0cnVtZW50YXRpb24gY291bGQgZW5kIHVwIGNvbnZlcnRpbmcgdmFsaWQgSFRUUCByZXF1ZXN0IG1ldGhvZHMgdG8gYF9PVEhFUmAsIHRoZW4gaXQgKipNVVNUKiogcHJvdmlkZSBhIHdheSB0byBvdmVycmlkZVxuICogdGhlIGxpc3Qgb2Yga25vd24gSFRUUCBtZXRob2RzLiBJZiB0aGlzIG92ZXJyaWRlIGlzIGRvbmUgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGVuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAqKk1VU1QqKiBiZSBuYW1lZFxuICogT1RFTF9JTlNUUlVNRU5UQVRJT05fSFRUUF9LTk9XTl9NRVRIT0RTIGFuZCBzdXBwb3J0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgY2FzZS1zZW5zaXRpdmUga25vd24gSFRUUCBtZXRob2RzXG4gKiAodGhpcyBsaXN0ICoqTVVTVCoqIGJlIGEgZnVsbCBvdmVycmlkZSBvZiB0aGUgZGVmYXVsdCBrbm93biBtZXRob2QsIGl0IGlzIG5vdCBhIGxpc3Qgb2Yga25vd24gbWV0aG9kcyBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdHMpLlxuICpcbiAqIEhUVFAgbWV0aG9kIG5hbWVzIGFyZSBjYXNlLXNlbnNpdGl2ZSBhbmQgYGh0dHAucmVxdWVzdC5tZXRob2RgIGF0dHJpYnV0ZSB2YWx1ZSAqKk1VU1QqKiBtYXRjaCBhIGtub3duIEhUVFAgbWV0aG9kIG5hbWUgZXhhY3RseS5cbiAqIEluc3RydW1lbnRhdGlvbnMgZm9yIHNwZWNpZmljIHdlYiBmcmFtZXdvcmtzIHRoYXQgY29uc2lkZXIgSFRUUCBtZXRob2RzIHRvIGJlIGNhc2UgaW5zZW5zaXRpdmUsICoqU0hPVUxEKiogcG9wdWxhdGUgYSBjYW5vbmljYWwgZXF1aXZhbGVudC5cbiAqIFRyYWNpbmcgaW5zdHJ1bWVudGF0aW9ucyB0aGF0IGRvIHNvLCAqKk1VU1QqKiBhbHNvIHNldCBgaHR0cC5yZXF1ZXN0Lm1ldGhvZF9vcmlnaW5hbGAgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLlxuICovXG52YXIgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EID0gJ2h0dHAucmVxdWVzdC5tZXRob2QnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIl9PVEhFUlwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PVEhFUiA9IFwiX09USEVSXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiQ09OTkVDVFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9DT05ORUNUID0gXCJDT05ORUNUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiREVMRVRFXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0RFTEVURSA9IFwiREVMRVRFXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiR0VUXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0dFVCA9IFwiR0VUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiSEVBRFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFEID0gXCJIRUFEXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiT1BUSU9OU1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PUFRJT05TID0gXCJPUFRJT05TXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUEFUQ0hcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUEFUQ0ggPSBcIlBBVENIXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUE9TVFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QT1NUID0gXCJQT1NUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUFVUXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BVVCA9IFwiUFVUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiVFJBQ0VcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfVFJBQ0UgPSBcIlRSQUNFXCI7XG4vKipcbiAqIE9yaWdpbmFsIEhUVFAgbWV0aG9kIHNlbnQgYnkgdGhlIGNsaWVudCBpbiB0aGUgcmVxdWVzdCBsaW5lLlxuICpcbiAqIEBleGFtcGxlIEdlVFxuICogQGV4YW1wbGUgQUNMXG4gKiBAZXhhbXBsZSBmb29cbiAqL1xudmFyIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRF9PUklHSU5BTCA9ICdodHRwLnJlcXVlc3QubWV0aG9kX29yaWdpbmFsJztcbi8qKlxuICogVGhlIG9yZGluYWwgbnVtYmVyIG9mIHJlcXVlc3QgcmVzZW5kaW5nIGF0dGVtcHQgKGZvciBhbnkgcmVhc29uLCBpbmNsdWRpbmcgcmVkaXJlY3RzKS5cbiAqXG4gKiBAZXhhbXBsZSAzXG4gKlxuICogQG5vdGUgVGhlIHJlc2VuZCBjb3VudCAqKlNIT1VMRCoqIGJlIHVwZGF0ZWQgZWFjaCB0aW1lIGFuIEhUVFAgcmVxdWVzdCBnZXRzIHJlc2VudCBieSB0aGUgY2xpZW50LCByZWdhcmRsZXNzIG9mIHdoYXQgd2FzIHRoZSBjYXVzZSBvZiB0aGUgcmVzZW5kaW5nIChlLmcuIHJlZGlyZWN0aW9uLCBhdXRob3JpemF0aW9uIGZhaWx1cmUsIDUwMyBTZXJ2ZXIgVW5hdmFpbGFibGUsIG5ldHdvcmsgaXNzdWVzLCBvciBhbnkgb3RoZXIpLlxuICovXG52YXIgQVRUUl9IVFRQX1JFUVVFU1RfUkVTRU5EX0NPVU5UID0gJ2h0dHAucmVxdWVzdC5yZXNlbmRfY291bnQnO1xuLyoqXG4gKiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMsIGA8a2V5PmAgYmVpbmcgdGhlIG5vcm1hbGl6ZWQgSFRUUCBIZWFkZXIgbmFtZSAobG93ZXJjYXNlKSwgdGhlIHZhbHVlIGJlaW5nIHRoZSBoZWFkZXIgdmFsdWVzLlxuICpcbiAqIEBleGFtcGxlIGh0dHAucmVzcG9uc2UuaGVhZGVyLmNvbnRlbnQtdHlwZT1bXCJhcHBsaWNhdGlvbi9qc29uXCJdXG4gKiBAZXhhbXBsZSBodHRwLnJlc3BvbnNlLmhlYWRlci5teS1jdXN0b20taGVhZGVyPVtcImFiY1wiLCBcImRlZlwiXVxuICpcbiAqIEBub3RlIEluc3RydW1lbnRhdGlvbnMgKipTSE9VTEQqKiByZXF1aXJlIGFuIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gb2Ygd2hpY2ggaGVhZGVycyBhcmUgdG8gYmUgY2FwdHVyZWQuIEluY2x1ZGluZyBhbGwgcmVzcG9uc2UgaGVhZGVycyBjYW4gYmUgYSBzZWN1cml0eSByaXNrIC0gZXhwbGljaXQgY29uZmlndXJhdGlvbiBoZWxwcyBhdm9pZCBsZWFraW5nIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbi5cbiAqIFVzZXJzICoqTUFZKiogZXhwbGljaXRseSBjb25maWd1cmUgaW5zdHJ1bWVudGF0aW9ucyB0byBjYXB0dXJlIHRoZW0gZXZlbiB0aG91Z2ggaXQgaXMgbm90IHJlY29tbWVuZGVkLlxuICogVGhlIGF0dHJpYnV0ZSB2YWx1ZSAqKk1VU1QqKiBjb25zaXN0IG9mIGVpdGhlciBtdWx0aXBsZSBoZWFkZXIgdmFsdWVzIGFzIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgYSBzaW5nbGUtaXRlbSBhcnJheSBjb250YWluaW5nIGEgcG9zc2libHkgY29tbWEtY29uY2F0ZW5hdGVkIHN0cmluZywgZGVwZW5kaW5nIG9uIHRoZSB3YXkgdGhlIEhUVFAgbGlicmFyeSBwcm92aWRlcyBhY2Nlc3MgdG8gaGVhZGVycy5cbiAqL1xudmFyIEFUVFJfSFRUUF9SRVNQT05TRV9IRUFERVIgPSBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBcImh0dHAucmVzcG9uc2UuaGVhZGVyLlwiICsga2V5OyB9O1xuLyoqXG4gKiBbSFRUUCByZXNwb25zZSBzdGF0dXMgY29kZV0oaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02KS5cbiAqXG4gKiBAZXhhbXBsZSAyMDBcbiAqL1xudmFyIEFUVFJfSFRUUF9SRVNQT05TRV9TVEFUVVNfQ09ERSA9ICdodHRwLnJlc3BvbnNlLnN0YXR1c19jb2RlJztcbi8qKlxuICogVGhlIG1hdGNoZWQgcm91dGUsIHRoYXQgaXMsIHRoZSBwYXRoIHRlbXBsYXRlIGluIHRoZSBmb3JtYXQgdXNlZCBieSB0aGUgcmVzcGVjdGl2ZSBzZXJ2ZXIgZnJhbWV3b3JrLlxuICpcbiAqIEBleGFtcGxlIC91c2Vycy86dXNlcklEP1xuICogQGV4YW1wbGUge2NvbnRyb2xsZXJ9L3thY3Rpb259L3tpZD99XG4gKlxuICogQG5vdGUgKipNVVNUIE5PVCoqIGJlIHBvcHVsYXRlZCB3aGVuIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgSFRUUCBzZXJ2ZXIgZnJhbWV3b3JrIGFzIHRoZSByb3V0ZSBhdHRyaWJ1dGUgc2hvdWxkIGhhdmUgbG93LWNhcmRpbmFsaXR5IGFuZCB0aGUgVVJJIHBhdGggY2FuIE5PVCBzdWJzdGl0dXRlIGl0LlxuICogKipTSE9VTEQqKiBpbmNsdWRlIHRoZSBbYXBwbGljYXRpb24gcm9vdF0oL2RvY3MvaHR0cC9odHRwLXNwYW5zLm1kI2h0dHAtc2VydmVyLWRlZmluaXRpb25zKSBpZiB0aGVyZSBpcyBvbmUuXG4gKi9cbnZhciBBVFRSX0hUVFBfUk9VVEUgPSAnaHR0cC5yb3V0ZSc7XG4vKipcbiAqIE5hbWUgb2YgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIGFjdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSBlbmQgb2YgbWlub3IgR0NcbiAqIEBleGFtcGxlIGVuZCBvZiBtYWpvciBHQ1xuICpcbiAqIEBub3RlIEdhcmJhZ2UgY29sbGVjdG9yIGFjdGlvbiBpcyBnZW5lcmFsbHkgb2J0YWluZWQgdmlhIFtHYXJiYWdlQ29sbGVjdGlvbk5vdGlmaWNhdGlvbkluZm8jZ2V0R2NBY3Rpb24oKV0oaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamRrLm1hbmFnZW1lbnQvY29tL3N1bi9tYW5hZ2VtZW50L0dhcmJhZ2VDb2xsZWN0aW9uTm90aWZpY2F0aW9uSW5mby5odG1sI2dldEdjQWN0aW9uKCkpLlxuICovXG52YXIgQVRUUl9KVk1fR0NfQUNUSU9OID0gJ2p2bS5nYy5hY3Rpb24nO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBnYXJiYWdlIGNvbGxlY3Rvci5cbiAqXG4gKiBAZXhhbXBsZSBHMSBZb3VuZyBHZW5lcmF0aW9uXG4gKiBAZXhhbXBsZSBHMSBPbGQgR2VuZXJhdGlvblxuICpcbiAqIEBub3RlIEdhcmJhZ2UgY29sbGVjdG9yIG5hbWUgaXMgZ2VuZXJhbGx5IG9idGFpbmVkIHZpYSBbR2FyYmFnZUNvbGxlY3Rpb25Ob3RpZmljYXRpb25JbmZvI2dldEdjTmFtZSgpXShodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qZGsubWFuYWdlbWVudC9jb20vc3VuL21hbmFnZW1lbnQvR2FyYmFnZUNvbGxlY3Rpb25Ob3RpZmljYXRpb25JbmZvLmh0bWwjZ2V0R2NOYW1lKCkpLlxuICovXG52YXIgQVRUUl9KVk1fR0NfTkFNRSA9ICdqdm0uZ2MubmFtZSc7XG4vKipcbiAqIE5hbWUgb2YgdGhlIG1lbW9yeSBwb29sLlxuICpcbiAqIEBleGFtcGxlIEcxIE9sZCBHZW5cbiAqIEBleGFtcGxlIEcxIEVkZW4gc3BhY2VcbiAqIEBleGFtcGxlIEcxIFN1cnZpdm9yIFNwYWNlXG4gKlxuICogQG5vdGUgUG9vbCBuYW1lcyBhcmUgZ2VuZXJhbGx5IG9idGFpbmVkIHZpYSBbTWVtb3J5UG9vbE1YQmVhbiNnZXROYW1lKCldKGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEubWFuYWdlbWVudC9qYXZhL2xhbmcvbWFuYWdlbWVudC9NZW1vcnlQb29sTVhCZWFuLmh0bWwjZ2V0TmFtZSgpKS5cbiAqL1xudmFyIEFUVFJfSlZNX01FTU9SWV9QT09MX05BTUUgPSAnanZtLm1lbW9yeS5wb29sLm5hbWUnO1xuLyoqXG4gKiBUaGUgdHlwZSBvZiBtZW1vcnkuXG4gKlxuICogQGV4YW1wbGUgaGVhcFxuICogQGV4YW1wbGUgbm9uX2hlYXBcbiAqL1xudmFyIEFUVFJfSlZNX01FTU9SWV9UWVBFID0gJ2p2bS5tZW1vcnkudHlwZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiaGVhcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSlZNX01FTU9SWV9UWVBFfS5cbiAgKi9cbnZhciBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfSEVBUCA9IFwiaGVhcFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5vbl9oZWFwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fTUVNT1JZX1RZUEV9LlxuICAqL1xudmFyIEpWTV9NRU1PUllfVFlQRV9WQUxVRV9OT05fSEVBUCA9IFwibm9uX2hlYXBcIjtcbi8qKlxuICogV2hldGhlciB0aGUgdGhyZWFkIGlzIGRhZW1vbiBvciBub3QuXG4gKi9cbnZhciBBVFRSX0pWTV9USFJFQURfREFFTU9OID0gJ2p2bS50aHJlYWQuZGFlbW9uJztcbi8qKlxuICogU3RhdGUgb2YgdGhlIHRocmVhZC5cbiAqXG4gKiBAZXhhbXBsZSBydW5uYWJsZVxuICogQGV4YW1wbGUgYmxvY2tlZFxuICovXG52YXIgQVRUUl9KVk1fVEhSRUFEX1NUQVRFID0gJ2p2bS50aHJlYWQuc3RhdGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImJsb2NrZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfQkxPQ0tFRCA9IFwiYmxvY2tlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5ld1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSlZNX1RIUkVBRF9TVEFURX0uXG4gICovXG52YXIgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9ORVcgPSBcIm5ld1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInJ1bm5hYmxlXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fVEhSRUFEX1NUQVRFfS5cbiAgKi9cbnZhciBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1JVTk5BQkxFID0gXCJydW5uYWJsZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRlcm1pbmF0ZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVEVSTUlOQVRFRCA9IFwidGVybWluYXRlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRpbWVkX3dhaXRpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVElNRURfV0FJVElORyA9IFwidGltZWRfd2FpdGluZ1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIndhaXRpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfV0FJVElORyA9IFwid2FpdGluZ1wiO1xuLyoqXG4gKiBMb2NhbCBhZGRyZXNzIG9mIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24gLSBJUCBhZGRyZXNzIG9yIFVuaXggZG9tYWluIHNvY2tldCBuYW1lLlxuICpcbiAqIEBleGFtcGxlIDEwLjEuMi44MFxuICogQGV4YW1wbGUgL3RtcC9teS5zb2NrXG4gKi9cbnZhciBBVFRSX05FVFdPUktfTE9DQUxfQUREUkVTUyA9ICduZXR3b3JrLmxvY2FsLmFkZHJlc3MnO1xuLyoqXG4gKiBMb2NhbCBwb3J0IG51bWJlciBvZiB0aGUgbmV0d29yayBjb25uZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIDY1MTIzXG4gKi9cbnZhciBBVFRSX05FVFdPUktfTE9DQUxfUE9SVCA9ICduZXR3b3JrLmxvY2FsLnBvcnQnO1xuLyoqXG4gKiBQZWVyIGFkZHJlc3Mgb2YgdGhlIG5ldHdvcmsgY29ubmVjdGlvbiAtIElQIGFkZHJlc3Mgb3IgVW5peCBkb21haW4gc29ja2V0IG5hbWUuXG4gKlxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqL1xudmFyIEFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MgPSAnbmV0d29yay5wZWVyLmFkZHJlc3MnO1xuLyoqXG4gKiBQZWVyIHBvcnQgbnVtYmVyIG9mIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24uXG4gKlxuICogQGV4YW1wbGUgNjUxMjNcbiAqL1xudmFyIEFUVFJfTkVUV09SS19QRUVSX1BPUlQgPSAnbmV0d29yay5wZWVyLnBvcnQnO1xuLyoqXG4gKiBbT1NJIGFwcGxpY2F0aW9uIGxheWVyXShodHRwczovL29zaS1tb2RlbC5jb20vYXBwbGljYXRpb24tbGF5ZXIvKSBvciBub24tT1NJIGVxdWl2YWxlbnQuXG4gKlxuICogQGV4YW1wbGUgYW1xcFxuICogQGV4YW1wbGUgaHR0cFxuICogQGV4YW1wbGUgbXF0dFxuICpcbiAqIEBub3RlIFRoZSB2YWx1ZSAqKlNIT1VMRCoqIGJlIG5vcm1hbGl6ZWQgdG8gbG93ZXJjYXNlLlxuICovXG52YXIgQVRUUl9ORVRXT1JLX1BST1RPQ09MX05BTUUgPSAnbmV0d29yay5wcm90b2NvbC5uYW1lJztcbi8qKlxuICogVGhlIGFjdHVhbCB2ZXJzaW9uIG9mIHRoZSBwcm90b2NvbCB1c2VkIGZvciBuZXR3b3JrIGNvbW11bmljYXRpb24uXG4gKlxuICogQGV4YW1wbGUgMS4xXG4gKiBAZXhhbXBsZSAyXG4gKlxuICogQG5vdGUgSWYgcHJvdG9jb2wgdmVyc2lvbiBpcyBzdWJqZWN0IHRvIG5lZ290aWF0aW9uIChmb3IgZXhhbXBsZSB1c2luZyBbQUxQTl0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzczMDEuaHRtbCkpLCB0aGlzIGF0dHJpYnV0ZSAqKlNIT1VMRCoqIGJlIHNldCB0byB0aGUgbmVnb3RpYXRlZCB2ZXJzaW9uLiBJZiB0aGUgYWN0dWFsIHByb3RvY29sIHZlcnNpb24gaXMgbm90IGtub3duLCB0aGlzIGF0dHJpYnV0ZSAqKlNIT1VMRCBOT1QqKiBiZSBzZXQuXG4gKi9cbnZhciBBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTiA9ICduZXR3b3JrLnByb3RvY29sLnZlcnNpb24nO1xuLyoqXG4gKiBbT1NJIHRyYW5zcG9ydCBsYXllcl0oaHR0cHM6Ly9vc2ktbW9kZWwuY29tL3RyYW5zcG9ydC1sYXllci8pIG9yIFtpbnRlci1wcm9jZXNzIGNvbW11bmljYXRpb24gbWV0aG9kXShodHRwczovL3dpa2lwZWRpYS5vcmcvd2lraS9JbnRlci1wcm9jZXNzX2NvbW11bmljYXRpb24pLlxuICpcbiAqIEBleGFtcGxlIHRjcFxuICogQGV4YW1wbGUgdWRwXG4gKlxuICogQG5vdGUgVGhlIHZhbHVlICoqU0hPVUxEKiogYmUgbm9ybWFsaXplZCB0byBsb3dlcmNhc2UuXG4gKlxuICogQ29uc2lkZXIgYWx3YXlzIHNldHRpbmcgdGhlIHRyYW5zcG9ydCB3aGVuIHNldHRpbmcgYSBwb3J0IG51bWJlciwgc2luY2VcbiAqIGEgcG9ydCBudW1iZXIgaXMgYW1iaWd1b3VzIHdpdGhvdXQga25vd2luZyB0aGUgdHJhbnNwb3J0LiBGb3IgZXhhbXBsZVxuICogZGlmZmVyZW50IHByb2Nlc3NlcyBjb3VsZCBiZSBsaXN0ZW5pbmcgb24gVENQIHBvcnQgMTIzNDUgYW5kIFVEUCBwb3J0IDEyMzQ1LlxuICovXG52YXIgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVCA9ICduZXR3b3JrLnRyYW5zcG9ydCc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicGlwZVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUgPSBcInBpcGVcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJxdWljXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyA9IFwicXVpY1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRjcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1RDUCA9IFwidGNwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwidWRwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQID0gXCJ1ZHBcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ1bml4XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVU5JWCA9IFwidW5peFwiO1xuLyoqXG4gKiBbT1NJIG5ldHdvcmsgbGF5ZXJdKGh0dHBzOi8vb3NpLW1vZGVsLmNvbS9uZXR3b3JrLWxheWVyLykgb3Igbm9uLU9TSSBlcXVpdmFsZW50LlxuICpcbiAqIEBleGFtcGxlIGlwdjRcbiAqIEBleGFtcGxlIGlwdjZcbiAqXG4gKiBAbm90ZSBUaGUgdmFsdWUgKipTSE9VTEQqKiBiZSBub3JtYWxpemVkIHRvIGxvd2VyY2FzZS5cbiAqL1xudmFyIEFUVFJfTkVUV09SS19UWVBFID0gJ25ldHdvcmsudHlwZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiaXB2NFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UWVBFfS5cbiAgKi9cbnZhciBORVRXT1JLX1RZUEVfVkFMVUVfSVBWNCA9IFwiaXB2NFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImlwdjZcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX05FVFdPUktfVFlQRX0uXG4gICovXG52YXIgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYgPSBcImlwdjZcIjtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGluc3RydW1lbnRhdGlvbiBzY29wZSAtIChgSW5zdHJ1bWVudGF0aW9uU2NvcGUuTmFtZWAgaW4gT1RMUCkuXG4gKlxuICogQGV4YW1wbGUgaW8ub3BlbnRlbGVtZXRyeS5jb250cmliLm1vbmdvZGJcbiAqL1xudmFyIEFUVFJfT1RFTF9TQ09QRV9OQU1FID0gJ290ZWwuc2NvcGUubmFtZSc7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBpbnN0cnVtZW50YXRpb24gc2NvcGUgLSAoYEluc3RydW1lbnRhdGlvblNjb3BlLlZlcnNpb25gIGluIE9UTFApLlxuICpcbiAqIEBleGFtcGxlIDEuMC4wXG4gKi9cbnZhciBBVFRSX09URUxfU0NPUEVfVkVSU0lPTiA9ICdvdGVsLnNjb3BlLnZlcnNpb24nO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBjb2RlLCBlaXRoZXIgXCJPS1wiIG9yIFwiRVJST1JcIi4gKipNVVNUIE5PVCoqIGJlIHNldCBpZiB0aGUgc3RhdHVzIGNvZGUgaXMgVU5TRVQuXG4gKi9cbnZhciBBVFRSX09URUxfU1RBVFVTX0NPREUgPSAnb3RlbC5zdGF0dXNfY29kZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiRVJST1JcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX09URUxfU1RBVFVTX0NPREV9LlxuICAqL1xudmFyIE9URUxfU1RBVFVTX0NPREVfVkFMVUVfRVJST1IgPSBcIkVSUk9SXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiT0tcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX09URUxfU1RBVFVTX0NPREV9LlxuICAqL1xudmFyIE9URUxfU1RBVFVTX0NPREVfVkFMVUVfT0sgPSBcIk9LXCI7XG4vKipcbiAqIERlc2NyaXB0aW9uIG9mIHRoZSBTdGF0dXMgaWYgaXQgaGFzIGEgdmFsdWUsIG90aGVyd2lzZSBub3Qgc2V0LlxuICpcbiAqIEBleGFtcGxlIHJlc291cmNlIG5vdCBmb3VuZFxuICovXG52YXIgQVRUUl9PVEVMX1NUQVRVU19ERVNDUklQVElPTiA9ICdvdGVsLnN0YXR1c19kZXNjcmlwdGlvbic7XG4vKipcbiAqIFNlcnZlciBkb21haW4gbmFtZSBpZiBhdmFpbGFibGUgd2l0aG91dCByZXZlcnNlIEROUyBsb29rdXA7IG90aGVyd2lzZSwgSVAgYWRkcmVzcyBvciBVbml4IGRvbWFpbiBzb2NrZXQgbmFtZS5cbiAqXG4gKiBAZXhhbXBsZSBleGFtcGxlLmNvbVxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqXG4gKiBAbm90ZSBXaGVuIG9ic2VydmVkIGZyb20gdGhlIGNsaWVudCBzaWRlLCBhbmQgd2hlbiBjb21tdW5pY2F0aW5nIHRocm91Z2ggYW4gaW50ZXJtZWRpYXJ5LCBgc2VydmVyLmFkZHJlc3NgICoqU0hPVUxEKiogcmVwcmVzZW50IHRoZSBzZXJ2ZXIgYWRkcmVzcyBiZWhpbmQgYW55IGludGVybWVkaWFyaWVzLCBmb3IgZXhhbXBsZSBwcm94aWVzLCBpZiBpdCdzIGF2YWlsYWJsZS5cbiAqL1xudmFyIEFUVFJfU0VSVkVSX0FERFJFU1MgPSAnc2VydmVyLmFkZHJlc3MnO1xuLyoqXG4gKiBTZXJ2ZXIgcG9ydCBudW1iZXIuXG4gKlxuICogQGV4YW1wbGUgODBcbiAqIEBleGFtcGxlIDgwODBcbiAqIEBleGFtcGxlIDQ0M1xuICpcbiAqIEBub3RlIFdoZW4gb2JzZXJ2ZWQgZnJvbSB0aGUgY2xpZW50IHNpZGUsIGFuZCB3aGVuIGNvbW11bmljYXRpbmcgdGhyb3VnaCBhbiBpbnRlcm1lZGlhcnksIGBzZXJ2ZXIucG9ydGAgKipTSE9VTEQqKiByZXByZXNlbnQgdGhlIHNlcnZlciBwb3J0IGJlaGluZCBhbnkgaW50ZXJtZWRpYXJpZXMsIGZvciBleGFtcGxlIHByb3hpZXMsIGlmIGl0J3MgYXZhaWxhYmxlLlxuICovXG52YXIgQVRUUl9TRVJWRVJfUE9SVCA9ICdzZXJ2ZXIucG9ydCc7XG4vKipcbiAqIExvZ2ljYWwgbmFtZSBvZiB0aGUgc2VydmljZS5cbiAqXG4gKiBAZXhhbXBsZSBzaG9wcGluZ2NhcnRcbiAqXG4gKiBAbm90ZSAqKk1VU1QqKiBiZSB0aGUgc2FtZSBmb3IgYWxsIGluc3RhbmNlcyBvZiBob3Jpem9udGFsbHkgc2NhbGVkIHNlcnZpY2VzLiBJZiB0aGUgdmFsdWUgd2FzIG5vdCBzcGVjaWZpZWQsIFNES3MgKipNVVNUKiogZmFsbGJhY2sgdG8gYHVua25vd25fc2VydmljZTpgIGNvbmNhdGVuYXRlZCB3aXRoIFtgcHJvY2Vzcy5leGVjdXRhYmxlLm5hbWVgXShwcm9jZXNzLm1kKSwgZS5nLiBgdW5rbm93bl9zZXJ2aWNlOmJhc2hgLiBJZiBgcHJvY2Vzcy5leGVjdXRhYmxlLm5hbWVgIGlzIG5vdCBhdmFpbGFibGUsIHRoZSB2YWx1ZSAqKk1VU1QqKiBiZSBzZXQgdG8gYHVua25vd25fc2VydmljZWAuXG4gKi9cbnZhciBBVFRSX1NFUlZJQ0VfTkFNRSA9ICdzZXJ2aWNlLm5hbWUnO1xuLyoqXG4gKiBUaGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIHNlcnZpY2UgQVBJIG9yIGltcGxlbWVudGF0aW9uLiBUaGUgZm9ybWF0IGlzIG5vdCBkZWZpbmVkIGJ5IHRoZXNlIGNvbnZlbnRpb25zLlxuICpcbiAqIEBleGFtcGxlIDIuMC4wXG4gKiBAZXhhbXBsZSBhMDFkYmVmOGFcbiAqL1xudmFyIEFUVFJfU0VSVklDRV9WRVJTSU9OID0gJ3NlcnZpY2UudmVyc2lvbic7XG4vKipcbiAqIFNpZ25hbFIgSFRUUCBjb25uZWN0aW9uIGNsb3N1cmUgc3RhdHVzLlxuICpcbiAqIEBleGFtcGxlIGFwcF9zaHV0ZG93blxuICogQGV4YW1wbGUgdGltZW91dFxuICovXG52YXIgQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTID0gJ3NpZ25hbHIuY29ubmVjdGlvbi5zdGF0dXMnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFwcF9zaHV0ZG93blwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU30uXG4gICovXG52YXIgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04gPSBcImFwcF9zaHV0ZG93blwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5vcm1hbF9jbG9zdXJlXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTfS5cbiAgKi9cbnZhciBTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX05PUk1BTF9DTE9TVVJFID0gXCJub3JtYWxfY2xvc3VyZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRpbWVvdXRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVN9LlxuICAqL1xudmFyIFNJR05BTFJfQ09OTkVDVElPTl9TVEFUVVNfVkFMVUVfVElNRU9VVCA9IFwidGltZW91dFwiO1xuLyoqXG4gKiBbU2lnbmFsUiB0cmFuc3BvcnQgdHlwZV0oaHR0cHM6Ly9naXRodWIuY29tL2RvdG5ldC9hc3BuZXRjb3JlL2Jsb2IvbWFpbi9zcmMvU2lnbmFsUi9kb2NzL3NwZWNzL1RyYW5zcG9ydFByb3RvY29scy5tZClcbiAqXG4gKiBAZXhhbXBsZSB3ZWJfc29ja2V0c1xuICogQGV4YW1wbGUgbG9uZ19wb2xsaW5nXG4gKi9cbnZhciBBVFRSX1NJR05BTFJfVFJBTlNQT1JUID0gJ3NpZ25hbHIudHJhbnNwb3J0Jztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJsb25nX3BvbGxpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9MT05HX1BPTExJTkcgPSBcImxvbmdfcG9sbGluZ1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInNlcnZlcl9zZW50X2V2ZW50c1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfU0lHTkFMUl9UUkFOU1BPUlR9LlxuICAqL1xudmFyIFNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1NFUlZFUl9TRU5UX0VWRU5UUyA9IFwic2VydmVyX3NlbnRfZXZlbnRzXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwid2ViX3NvY2tldHNcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9XRUJfU09DS0VUUyA9IFwid2ViX3NvY2tldHNcIjtcbi8qKlxuICogVGhlIFtVUkkgZnJhZ21lbnRdKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMzOTg2I3NlY3Rpb24tMy41KSBjb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZSBTZW1Db252XG4gKi9cbnZhciBBVFRSX1VSTF9GUkFHTUVOVCA9ICd1cmwuZnJhZ21lbnQnO1xuLyoqXG4gKiBBYnNvbHV0ZSBVUkwgZGVzY3JpYmluZyBhIG5ldHdvcmsgcmVzb3VyY2UgYWNjb3JkaW5nIHRvIFtSRkMzOTg2XShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjMzk4NilcbiAqXG4gKiBAZXhhbXBsZSBodHRwczovL3d3dy5mb28uYmFyL3NlYXJjaD9xPU9wZW5UZWxlbWV0cnkjU2VtQ29udlxuICogQGV4YW1wbGUgLy9sb2NhbGhvc3RcbiAqXG4gKiBAbm90ZSBGb3IgbmV0d29yayBjYWxscywgVVJMIHVzdWFsbHkgaGFzIGBzY2hlbWU6Ly9ob3N0Wzpwb3J0XVtwYXRoXVs/cXVlcnldWyNmcmFnbWVudF1gIGZvcm1hdCwgd2hlcmUgdGhlIGZyYWdtZW50IGlzIG5vdCB0cmFuc21pdHRlZCBvdmVyIEhUVFAsIGJ1dCBpZiBpdCBpcyBrbm93biwgaXQgKipTSE9VTEQqKiBiZSBpbmNsdWRlZCBuZXZlcnRoZWxlc3MuXG4gKiBgdXJsLmZ1bGxgICoqTVVTVCBOT1QqKiBjb250YWluIGNyZWRlbnRpYWxzIHBhc3NlZCB2aWEgVVJMIGluIGZvcm0gb2YgYGh0dHBzOi8vdXNlcm5hbWU6cGFzc3dvcmRAd3d3LmV4YW1wbGUuY29tL2AuIEluIHN1Y2ggY2FzZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgKipTSE9VTEQqKiBiZSByZWRhY3RlZCBhbmQgYXR0cmlidXRlJ3MgdmFsdWUgKipTSE9VTEQqKiBiZSBgaHR0cHM6Ly9SRURBQ1RFRDpSRURBQ1RFREB3d3cuZXhhbXBsZS5jb20vYC5cbiAqIGB1cmwuZnVsbGAgKipTSE9VTEQqKiBjYXB0dXJlIHRoZSBhYnNvbHV0ZSBVUkwgd2hlbiBpdCBpcyBhdmFpbGFibGUgKG9yIGNhbiBiZSByZWNvbnN0cnVjdGVkKS4gU2Vuc2l0aXZlIGNvbnRlbnQgcHJvdmlkZWQgaW4gYHVybC5mdWxsYCAqKlNIT1VMRCoqIGJlIHNjcnViYmVkIHdoZW4gaW5zdHJ1bWVudGF0aW9ucyBjYW4gaWRlbnRpZnkgaXQuXG4gKi9cbnZhciBBVFRSX1VSTF9GVUxMID0gJ3VybC5mdWxsJztcbi8qKlxuICogVGhlIFtVUkkgcGF0aF0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjMpIGNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlIC9zZWFyY2hcbiAqXG4gKiBAbm90ZSBTZW5zaXRpdmUgY29udGVudCBwcm92aWRlZCBpbiBgdXJsLnBhdGhgICoqU0hPVUxEKiogYmUgc2NydWJiZWQgd2hlbiBpbnN0cnVtZW50YXRpb25zIGNhbiBpZGVudGlmeSBpdC5cbiAqL1xudmFyIEFUVFJfVVJMX1BBVEggPSAndXJsLnBhdGgnO1xuLyoqXG4gKiBUaGUgW1VSSSBxdWVyeV0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjQpIGNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlIHE9T3BlblRlbGVtZXRyeVxuICpcbiAqIEBub3RlIFNlbnNpdGl2ZSBjb250ZW50IHByb3ZpZGVkIGluIGB1cmwucXVlcnlgICoqU0hPVUxEKiogYmUgc2NydWJiZWQgd2hlbiBpbnN0cnVtZW50YXRpb25zIGNhbiBpZGVudGlmeSBpdC5cbiAqL1xudmFyIEFUVFJfVVJMX1FVRVJZID0gJ3VybC5xdWVyeSc7XG4vKipcbiAqIFRoZSBbVVJJIHNjaGVtZV0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjEpIGNvbXBvbmVudCBpZGVudGlmeWluZyB0aGUgdXNlZCBwcm90b2NvbC5cbiAqXG4gKiBAZXhhbXBsZSBodHRwc1xuICogQGV4YW1wbGUgZnRwXG4gKiBAZXhhbXBsZSB0ZWxuZXRcbiAqL1xudmFyIEFUVFJfVVJMX1NDSEVNRSA9ICd1cmwuc2NoZW1lJztcbi8qKlxuICogVmFsdWUgb2YgdGhlIFtIVFRQIFVzZXItQWdlbnRdKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjZmllbGQudXNlci1hZ2VudCkgaGVhZGVyIHNlbnQgYnkgdGhlIGNsaWVudC5cbiAqXG4gKiBAZXhhbXBsZSBDRVJOLUxpbmVNb2RlLzIuMTUgbGlid3d3LzIuMTdiM1xuICogQGV4YW1wbGUgTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxNF83XzEgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE0LjEuMiBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMVxuICogQGV4YW1wbGUgWW91ckFwcC8xLjAuMCBncnBjLWphdmEtb2todHRwLzEuMjcuMlxuICovXG52YXIgQVRUUl9VU0VSX0FHRU5UX09SSUdJTkFMID0gJ3VzZXJfYWdlbnQub3JpZ2luYWwnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBETyBOT1QgRURJVCwgdGhpcyBpcyBhbiBBdXRvLWdlbmVyYXRlZCBmaWxlIGZyb20gc2NyaXB0cy9zZW1jb252L3RlbXBsYXRlcy9yZWdpc3Rlci9zdGFibGUvbWV0cmljcy50cy5qMlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIE51bWJlciBvZiBleGNlcHRpb25zIGNhdWdodCBieSBleGNlcHRpb24gaGFuZGxpbmcgbWlkZGxld2FyZS5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuRGlhZ25vc3RpY3NgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OUyA9ICdhc3BuZXRjb3JlLmRpYWdub3N0aWNzLmV4Y2VwdGlvbnMnO1xuLyoqXG4gKiBOdW1iZXIgb2YgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IGFjdGl2ZSBvbiB0aGUgc2VydmVyIHRoYXQgaG9sZCBhIHJhdGUgbGltaXRpbmcgbGVhc2UuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJhdGVMaW1pdGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX0FDVElWRV9SRVFVRVNUX0xFQVNFUyA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcuYWN0aXZlX3JlcXVlc3RfbGVhc2VzJztcbi8qKlxuICogTnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBxdWV1ZWQsIHdhaXRpbmcgdG8gYWNxdWlyZSBhIHJhdGUgbGltaXRpbmcgbGVhc2UuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJhdGVMaW1pdGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1FVRVVFRF9SRVFVRVNUUyA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucXVldWVkX3JlcXVlc3RzJztcbi8qKlxuICogVGhlIHRpbWUgdGhlIHJlcXVlc3Qgc3BlbnQgaW4gYSBxdWV1ZSB3YWl0aW5nIHRvIGFjcXVpcmUgYSByYXRlIGxpbWl0aW5nIGxlYXNlLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5SYXRlTGltaXRpbmdgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnJlcXVlc3QudGltZV9pbl9xdWV1ZSc7XG4vKipcbiAqIFRoZSBkdXJhdGlvbiBvZiByYXRlIGxpbWl0aW5nIGxlYXNlIGhlbGQgYnkgcmVxdWVzdHMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUmF0ZUxpbWl0aW5nYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVF9MRUFTRV9EVVJBVElPTiA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucmVxdWVzdF9sZWFzZS5kdXJhdGlvbic7XG4vKipcbiAqIE51bWJlciBvZiByZXF1ZXN0cyB0aGF0IHRyaWVkIHRvIGFjcXVpcmUgYSByYXRlIGxpbWl0aW5nIGxlYXNlLlxuICpcbiAqIEBub3RlIFJlcXVlc3RzIGNvdWxkIGJlOlxuICpcbiAqICAgLSBSZWplY3RlZCBieSBnbG9iYWwgb3IgZW5kcG9pbnQgcmF0ZSBsaW1pdGluZyBwb2xpY2llc1xuICogICAtIENhbmNlbGVkIHdoaWxlIHdhaXRpbmcgZm9yIHRoZSBsZWFzZS5cbiAqXG4gKiBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUmF0ZUxpbWl0aW5nYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVFMgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnJlcXVlc3RzJztcbi8qKlxuICogTnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgd2VyZSBhdHRlbXB0ZWQgdG8gYmUgbWF0Y2hlZCB0byBhbiBlbmRwb2ludC5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUm91dGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX0FUVEVNUFRTID0gJ2FzcG5ldGNvcmUucm91dGluZy5tYXRjaF9hdHRlbXB0cyc7XG4vKipcbiAqIER1cmF0aW9uIG9mIEhUVFAgY2xpZW50IHJlcXVlc3RzLlxuICovXG52YXIgTUVUUklDX0hUVFBfQ0xJRU5UX1JFUVVFU1RfRFVSQVRJT04gPSAnaHR0cC5jbGllbnQucmVxdWVzdC5kdXJhdGlvbic7XG4vKipcbiAqIER1cmF0aW9uIG9mIEhUVFAgc2VydmVyIHJlcXVlc3RzLlxuICovXG52YXIgTUVUUklDX0hUVFBfU0VSVkVSX1JFUVVFU1RfRFVSQVRJT04gPSAnaHR0cC5zZXJ2ZXIucmVxdWVzdC5kdXJhdGlvbic7XG4vKipcbiAqIE51bWJlciBvZiBjbGFzc2VzIGN1cnJlbnRseSBsb2FkZWQuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NMQVNTX0NPVU5UID0gJ2p2bS5jbGFzcy5jb3VudCc7XG4vKipcbiAqIE51bWJlciBvZiBjbGFzc2VzIGxvYWRlZCBzaW5jZSBKVk0gc3RhcnQuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NMQVNTX0xPQURFRCA9ICdqdm0uY2xhc3MubG9hZGVkJztcbi8qKlxuICogTnVtYmVyIG9mIGNsYXNzZXMgdW5sb2FkZWQgc2luY2UgSlZNIHN0YXJ0LlxuICovXG52YXIgTUVUUklDX0pWTV9DTEFTU19VTkxPQURFRCA9ICdqdm0uY2xhc3MudW5sb2FkZWQnO1xuLyoqXG4gKiBOdW1iZXIgb2YgcHJvY2Vzc29ycyBhdmFpbGFibGUgdG8gdGhlIEphdmEgdmlydHVhbCBtYWNoaW5lLlxuICovXG52YXIgTUVUUklDX0pWTV9DUFVfQ09VTlQgPSAnanZtLmNwdS5jb3VudCc7XG4vKipcbiAqIFJlY2VudCBDUFUgdXRpbGl6YXRpb24gZm9yIHRoZSBwcm9jZXNzIGFzIHJlcG9ydGVkIGJ5IHRoZSBKVk0uXG4gKlxuICogQG5vdGUgVGhlIHZhbHVlIHJhbmdlIGlzIFswLjAsMS4wXS4gVGhpcyB1dGlsaXphdGlvbiBpcyBub3QgZGVmaW5lZCBhcyBiZWluZyBmb3IgdGhlIHNwZWNpZmljIGludGVydmFsIHNpbmNlIGxhc3QgbWVhc3VyZW1lbnQgKHVubGlrZSBgc3lzdGVtLmNwdS51dGlsaXphdGlvbmApLiBbUmVmZXJlbmNlXShodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xNy9kb2NzL2FwaS9qZGsubWFuYWdlbWVudC9jb20vc3VuL21hbmFnZW1lbnQvT3BlcmF0aW5nU3lzdGVtTVhCZWFuLmh0bWwjZ2V0UHJvY2Vzc0NwdUxvYWQoKSkuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NQVV9SRUNFTlRfVVRJTElaQVRJT04gPSAnanZtLmNwdS5yZWNlbnRfdXRpbGl6YXRpb24nO1xuLyoqXG4gKiBDUFUgdGltZSB1c2VkIGJ5IHRoZSBwcm9jZXNzIGFzIHJlcG9ydGVkIGJ5IHRoZSBKVk0uXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NQVV9USU1FID0gJ2p2bS5jcHUudGltZSc7XG4vKipcbiAqIER1cmF0aW9uIG9mIEpWTSBnYXJiYWdlIGNvbGxlY3Rpb24gYWN0aW9ucy5cbiAqL1xudmFyIE1FVFJJQ19KVk1fR0NfRFVSQVRJT04gPSAnanZtLmdjLmR1cmF0aW9uJztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgY29tbWl0dGVkLlxuICovXG52YXIgTUVUUklDX0pWTV9NRU1PUllfQ09NTUlUVEVEID0gJ2p2bS5tZW1vcnkuY29tbWl0dGVkJztcbi8qKlxuICogTWVhc3VyZSBvZiBtYXggb2J0YWluYWJsZSBtZW1vcnkuXG4gKi9cbnZhciBNRVRSSUNfSlZNX01FTU9SWV9MSU1JVCA9ICdqdm0ubWVtb3J5LmxpbWl0Jztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgdXNlZC5cbiAqL1xudmFyIE1FVFJJQ19KVk1fTUVNT1JZX1VTRUQgPSAnanZtLm1lbW9yeS51c2VkJztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgdXNlZCwgYXMgbWVhc3VyZWQgYWZ0ZXIgdGhlIG1vc3QgcmVjZW50IGdhcmJhZ2UgY29sbGVjdGlvbiBldmVudCBvbiB0aGlzIHBvb2wuXG4gKi9cbnZhciBNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MgPSAnanZtLm1lbW9yeS51c2VkX2FmdGVyX2xhc3RfZ2MnO1xuLyoqXG4gKiBOdW1iZXIgb2YgZXhlY3V0aW5nIHBsYXRmb3JtIHRocmVhZHMuXG4gKi9cbnZhciBNRVRSSUNfSlZNX1RIUkVBRF9DT1VOVCA9ICdqdm0udGhyZWFkLmNvdW50Jztcbi8qKlxuICogTnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgYXJlIGN1cnJlbnRseSBhY3RpdmUgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TID0gJ2tlc3RyZWwuYWN0aXZlX2Nvbm5lY3Rpb25zJztcbi8qKlxuICogTnVtYmVyIG9mIFRMUyBoYW5kc2hha2VzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiBwcm9ncmVzcyBvbiB0aGUgc2VydmVyLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9BQ1RJVkVfVExTX0hBTkRTSEFLRVMgPSAna2VzdHJlbC5hY3RpdmVfdGxzX2hhbmRzaGFrZXMnO1xuLyoqXG4gKiBUaGUgZHVyYXRpb24gb2YgY29ubmVjdGlvbnMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfQ09OTkVDVElPTl9EVVJBVElPTiA9ICdrZXN0cmVsLmNvbm5lY3Rpb24uZHVyYXRpb24nO1xuLyoqXG4gKiBOdW1iZXIgb2YgY29ubmVjdGlvbnMgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZCBhbmQgYXJlIHdhaXRpbmcgdG8gc3RhcnQuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyA9ICdrZXN0cmVsLnF1ZXVlZF9jb25uZWN0aW9ucyc7XG4vKipcbiAqIE51bWJlciBvZiBIVFRQIHJlcXVlc3RzIG9uIG11bHRpcGxleGVkIGNvbm5lY3Rpb25zIChIVFRQLzIgYW5kIEhUVFAvMykgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZCBhbmQgYXJlIHdhaXRpbmcgdG8gc3RhcnQuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9SRVFVRVNUUyA9ICdrZXN0cmVsLnF1ZXVlZF9yZXF1ZXN0cyc7XG4vKipcbiAqIE51bWJlciBvZiBjb25uZWN0aW9ucyByZWplY3RlZCBieSB0aGUgc2VydmVyLlxuICpcbiAqIEBub3RlIENvbm5lY3Rpb25zIGFyZSByZWplY3RlZCB3aGVuIHRoZSBjdXJyZW50bHkgYWN0aXZlIGNvdW50IGV4Y2VlZHMgdGhlIHZhbHVlIGNvbmZpZ3VyZWQgd2l0aCBgTWF4Q29uY3VycmVudENvbm5lY3Rpb25zYC5cbiAqIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9SRUpFQ1RFRF9DT05ORUNUSU9OUyA9ICdrZXN0cmVsLnJlamVjdGVkX2Nvbm5lY3Rpb25zJztcbi8qKlxuICogVGhlIGR1cmF0aW9uIG9mIFRMUyBoYW5kc2hha2VzIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1RMU19IQU5EU0hBS0VfRFVSQVRJT04gPSAna2VzdHJlbC50bHNfaGFuZHNoYWtlLmR1cmF0aW9uJztcbi8qKlxuICogTnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgYXJlIGN1cnJlbnRseSB1cGdyYWRlZCAoV2ViU29ja2V0cykuIC5cbiAqXG4gKiBAbm90ZSBUaGUgY291bnRlciBvbmx5IHRyYWNrcyBIVFRQLzEuMSBjb25uZWN0aW9ucy5cbiAqXG4gKiBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfVVBHUkFERURfQ09OTkVDVElPTlMgPSAna2VzdHJlbC51cGdyYWRlZF9jb25uZWN0aW9ucyc7XG4vKipcbiAqIE51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgYWN0aXZlIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLkh0dHAuQ29ubmVjdGlvbnNgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX1NJR05BTFJfU0VSVkVSX0FDVElWRV9DT05ORUNUSU9OUyA9ICdzaWduYWxyLnNlcnZlci5hY3RpdmVfY29ubmVjdGlvbnMnO1xuLyoqXG4gKiBUaGUgZHVyYXRpb24gb2YgY29ubmVjdGlvbnMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuSHR0cC5Db25uZWN0aW9uc2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQ09OTkVDVElPTl9EVVJBVElPTiA9ICdzaWduYWxyLnNlcnZlci5jb25uZWN0aW9uLmR1cmF0aW9uJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4IC0tXG4gKiBUaGVzZSByZS1leHBvcnRzIGFyZSBvbmx5IG9mIGNvbnN0YW50cywgb25seSB0d28tbGV2ZWxzIGRlZXAsIGFuZFxuICogc2hvdWxkIG5vdCBjYXVzZSBwcm9ibGVtcyBmb3IgdHJlZS1zaGFrZXJzLlxuICovXG4vLyBEZXByZWNhdGVkLiBUaGVzZSBhcmUga2VwdCBhcm91bmQgZm9yIGNvbXBhdGliaWxpdHkgcHVycG9zZXNcblxuY29uc3QgZXNtID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoLyojX19QVVJFX18qL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh7XG4gICAgX19wcm90b19fOiBudWxsLFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9BQk9SVEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9IQU5ETEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9TS0lQUEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9VTkhBTkRMRUQsXG4gICAgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9BQ1FVSVJFRCxcbiAgICBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0VORFBPSU5UX0xJTUlURVIsXG4gICAgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9HTE9CQUxfTElNSVRFUixcbiAgICBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX1JFUVVFU1RfQ0FOQ0VMRUQsXG4gICAgQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVU19WQUxVRV9GQUlMVVJFLFxuICAgIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfU1VDQ0VTUyxcbiAgICBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVCxcbiAgICBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfSEFORExFUl9UWVBFLFxuICAgIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1BPTElDWSxcbiAgICBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFQsXG4gICAgQVRUUl9BU1BORVRDT1JFX1JFUVVFU1RfSVNfVU5IQU5ETEVELFxuICAgIEFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX0lTX0ZBTExCQUNLLFxuICAgIEFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVUyxcbiAgICBBVFRSX0NMSUVOVF9BRERSRVNTLFxuICAgIEFUVFJfQ0xJRU5UX1BPUlQsXG4gICAgQVRUUl9FUlJPUl9UWVBFLFxuICAgIEFUVFJfRVhDRVBUSU9OX0VTQ0FQRUQsXG4gICAgQVRUUl9FWENFUFRJT05fTUVTU0FHRSxcbiAgICBBVFRSX0VYQ0VQVElPTl9TVEFDS1RSQUNFLFxuICAgIEFUVFJfRVhDRVBUSU9OX1RZUEUsXG4gICAgQVRUUl9IVFRQX1JFUVVFU1RfSEVBREVSLFxuICAgIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRCxcbiAgICBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0RfT1JJR0lOQUwsXG4gICAgQVRUUl9IVFRQX1JFUVVFU1RfUkVTRU5EX0NPVU5ULFxuICAgIEFUVFJfSFRUUF9SRVNQT05TRV9IRUFERVIsXG4gICAgQVRUUl9IVFRQX1JFU1BPTlNFX1NUQVRVU19DT0RFLFxuICAgIEFUVFJfSFRUUF9ST1VURSxcbiAgICBBVFRSX0pWTV9HQ19BQ1RJT04sXG4gICAgQVRUUl9KVk1fR0NfTkFNRSxcbiAgICBBVFRSX0pWTV9NRU1PUllfUE9PTF9OQU1FLFxuICAgIEFUVFJfSlZNX01FTU9SWV9UWVBFLFxuICAgIEFUVFJfSlZNX1RIUkVBRF9EQUVNT04sXG4gICAgQVRUUl9KVk1fVEhSRUFEX1NUQVRFLFxuICAgIEFUVFJfTkVUV09SS19MT0NBTF9BRERSRVNTLFxuICAgIEFUVFJfTkVUV09SS19MT0NBTF9QT1JULFxuICAgIEFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MsXG4gICAgQVRUUl9ORVRXT1JLX1BFRVJfUE9SVCxcbiAgICBBVFRSX05FVFdPUktfUFJPVE9DT0xfTkFNRSxcbiAgICBBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTixcbiAgICBBVFRSX05FVFdPUktfVFJBTlNQT1JULFxuICAgIEFUVFJfTkVUV09SS19UWVBFLFxuICAgIEFUVFJfT1RFTF9TQ09QRV9OQU1FLFxuICAgIEFUVFJfT1RFTF9TQ09QRV9WRVJTSU9OLFxuICAgIEFUVFJfT1RFTF9TVEFUVVNfQ09ERSxcbiAgICBBVFRSX09URUxfU1RBVFVTX0RFU0NSSVBUSU9OLFxuICAgIEFUVFJfU0VSVkVSX0FERFJFU1MsXG4gICAgQVRUUl9TRVJWRVJfUE9SVCxcbiAgICBBVFRSX1NFUlZJQ0VfTkFNRSxcbiAgICBBVFRSX1NFUlZJQ0VfVkVSU0lPTixcbiAgICBBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVMsXG4gICAgQVRUUl9TSUdOQUxSX1RSQU5TUE9SVCxcbiAgICBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsXG4gICAgQVRUUl9URUxFTUVUUllfU0RLX05BTUUsXG4gICAgQVRUUl9URUxFTUVUUllfU0RLX1ZFUlNJT04sXG4gICAgQVRUUl9VUkxfRlJBR01FTlQsXG4gICAgQVRUUl9VUkxfRlVMTCxcbiAgICBBVFRSX1VSTF9QQVRILFxuICAgIEFUVFJfVVJMX1FVRVJZLFxuICAgIEFUVFJfVVJMX1NDSEVNRSxcbiAgICBBVFRSX1VTRVJfQUdFTlRfT1JJR0lOQUwsXG4gICAgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIsXG4gICAgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19GQVJHQVRFLFxuICAgIEF3c0Vjc0xhdW5jaHR5cGVWYWx1ZXMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0VDUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUMyLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEssXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfTEFNQkRBLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQVBQX1NFUlZJQ0UsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9DT05UQUlORVJfSU5TVEFOQ0VTLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfRlVOQ1RJT05TLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk0sXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQVBQX0VOR0lORSxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9GVU5DVElPTlMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfUlVOLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0tVQkVSTkVURVNfRU5HSU5FLFxuICAgIENMT1VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCxcbiAgICBDTE9VRFBST1ZJREVSVkFMVUVTX0FXUyxcbiAgICBDTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFLFxuICAgIENMT1VEUFJPVklERVJWQUxVRVNfR0NQLFxuICAgIENsb3VkUGxhdGZvcm1WYWx1ZXMsXG4gICAgQ2xvdWRQcm92aWRlclZhbHVlcyxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQUxMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19BTlksXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0VBQ0hfUVVPUlVNLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9PTkUsXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1FVT1JVTSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfU0VSSUFMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19PTkUsXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1FVT1JVTSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfU0VSSUFMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19USFJFRSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVFdPLFxuICAgIERCU1lTVEVNVkFMVUVTX0FEQUJBUyxcbiAgICBEQlNZU1RFTVZBTFVFU19DQUNIRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DQVNTQU5EUkEsXG4gICAgREJTWVNURU1WQUxVRVNfQ0xPVURTQ0FQRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DT0NLUk9BQ0hEQixcbiAgICBEQlNZU1RFTVZBTFVFU19DT0xERlVTSU9OLFxuICAgIERCU1lTVEVNVkFMVUVTX0NPU01PU0RCLFxuICAgIERCU1lTVEVNVkFMVUVTX0NPVUNIQkFTRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DT1VDSERCLFxuICAgIERCU1lTVEVNVkFMVUVTX0RCMixcbiAgICBEQlNZU1RFTVZBTFVFU19ERVJCWSxcbiAgICBEQlNZU1RFTVZBTFVFU19EWU5BTU9EQixcbiAgICBEQlNZU1RFTVZBTFVFU19FREIsXG4gICAgREJTWVNURU1WQUxVRVNfRUxBU1RJQ1NFQVJDSCxcbiAgICBEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIsXG4gICAgREJTWVNURU1WQUxVRVNfRklSRUJJUkQsXG4gICAgREJTWVNURU1WQUxVRVNfRklSU1RTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfR0VPREUsXG4gICAgREJTWVNURU1WQUxVRVNfSDIsXG4gICAgREJTWVNURU1WQUxVRVNfSEFOQURCLFxuICAgIERCU1lTVEVNVkFMVUVTX0hCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX0hJVkUsXG4gICAgREJTWVNURU1WQUxVRVNfSFNRTERCLFxuICAgIERCU1lTVEVNVkFMVUVTX0lORk9STUlYLFxuICAgIERCU1lTVEVNVkFMVUVTX0lOR1JFUyxcbiAgICBEQlNZU1RFTVZBTFVFU19JTlNUQU5UREIsXG4gICAgREJTWVNURU1WQUxVRVNfSU5URVJCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX01BUklBREIsXG4gICAgREJTWVNURU1WQUxVRVNfTUFYREIsXG4gICAgREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVELFxuICAgIERCU1lTVEVNVkFMVUVTX01PTkdPREIsXG4gICAgREJTWVNURU1WQUxVRVNfTVNTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfTVlTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfTkVPNEosXG4gICAgREJTWVNURU1WQUxVRVNfTkVURVpaQSxcbiAgICBEQlNZU1RFTVZBTFVFU19PUkFDTEUsXG4gICAgREJTWVNURU1WQUxVRVNfT1RIRVJfU1FMLFxuICAgIERCU1lTVEVNVkFMVUVTX1BFUlZBU0lWRSxcbiAgICBEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UsXG4gICAgREJTWVNURU1WQUxVRVNfUE9TVEdSRVNRTCxcbiAgICBEQlNZU1RFTVZBTFVFU19QUk9HUkVTUyxcbiAgICBEQlNZU1RFTVZBTFVFU19SRURJUyxcbiAgICBEQlNZU1RFTVZBTFVFU19SRURTSElGVCxcbiAgICBEQlNZU1RFTVZBTFVFU19TUUxJVEUsXG4gICAgREJTWVNURU1WQUxVRVNfU1lCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX1RFUkFEQVRBLFxuICAgIERCU1lTVEVNVkFMVUVTX1ZFUlRJQ0EsXG4gICAgRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzLFxuICAgIERiU3lzdGVtVmFsdWVzLFxuICAgIEVSUk9SX1RZUEVfVkFMVUVfT1RIRVIsXG4gICAgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0RFTEVURSxcbiAgICBGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfRURJVCxcbiAgICBGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfSU5TRVJULFxuICAgIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCxcbiAgICBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FXUyxcbiAgICBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FaVVJFLFxuICAgIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfR0NQLFxuICAgIEZBQVNUUklHR0VSVkFMVUVTX0RBVEFTT1VSQ0UsXG4gICAgRkFBU1RSSUdHRVJWQUxVRVNfSFRUUCxcbiAgICBGQUFTVFJJR0dFUlZBTFVFU19PVEhFUixcbiAgICBGQUFTVFJJR0dFUlZBTFVFU19QVUJTVUIsXG4gICAgRkFBU1RSSUdHRVJWQUxVRVNfVElNRVIsXG4gICAgRmFhc0RvY3VtZW50T3BlcmF0aW9uVmFsdWVzLFxuICAgIEZhYXNJbnZva2VkUHJvdmlkZXJWYWx1ZXMsXG4gICAgRmFhc1RyaWdnZXJWYWx1ZXMsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQU1ENjQsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQVJNMzIsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQVJNNjQsXG4gICAgSE9TVEFSQ0hWQUxVRVNfSUE2NCxcbiAgICBIT1NUQVJDSFZBTFVFU19QUEMzMixcbiAgICBIT1NUQVJDSFZBTFVFU19QUEM2NCxcbiAgICBIT1NUQVJDSFZBTFVFU19YODYsXG4gICAgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMCxcbiAgICBIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMV8xLFxuICAgIEhUVFBGTEFWT1JWQUxVRVNfSFRUUF8yXzAsXG4gICAgSFRUUEZMQVZPUlZBTFVFU19RVUlDLFxuICAgIEhUVFBGTEFWT1JWQUxVRVNfU1BEWSxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0NPTk5FQ1QsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9ERUxFVEUsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9HRVQsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFELFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1BUSU9OUyxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX09USEVSLFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUEFUQ0gsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QT1NULFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUFVULFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfVFJBQ0UsXG4gICAgSG9zdEFyY2hWYWx1ZXMsXG4gICAgSHR0cEZsYXZvclZhbHVlcyxcbiAgICBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfSEVBUCxcbiAgICBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfTk9OX0hFQVAsXG4gICAgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9CTE9DS0VELFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfTkVXLFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfUlVOTkFCTEUsXG4gICAgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9URVJNSU5BVEVELFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVElNRURfV0FJVElORyxcbiAgICBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1dBSVRJTkcsXG4gICAgTUVTU0FHRVRZUEVWQUxVRVNfUkVDRUlWRUQsXG4gICAgTUVTU0FHRVRZUEVWQUxVRVNfU0VOVCxcbiAgICBNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfUVVFVUUsXG4gICAgTUVTU0FHSU5HREVTVElOQVRJT05LSU5EVkFMVUVTX1RPUElDLFxuICAgIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19QUk9DRVNTLFxuICAgIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19SRUNFSVZFLFxuICAgIE1FVFJJQ19BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTlMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19BQ1RJVkVfUkVRVUVTVF9MRUFTRVMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19RVUVVRURfUkVRVUVTVFMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUUyxcbiAgICBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFUVVFU1RfTEVBU0VfRFVSQVRJT04sXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9BVFRFTVBUUyxcbiAgICBNRVRSSUNfSFRUUF9DTElFTlRfUkVRVUVTVF9EVVJBVElPTixcbiAgICBNRVRSSUNfSFRUUF9TRVJWRVJfUkVRVUVTVF9EVVJBVElPTixcbiAgICBNRVRSSUNfSlZNX0NMQVNTX0NPVU5ULFxuICAgIE1FVFJJQ19KVk1fQ0xBU1NfTE9BREVELFxuICAgIE1FVFJJQ19KVk1fQ0xBU1NfVU5MT0FERUQsXG4gICAgTUVUUklDX0pWTV9DUFVfQ09VTlQsXG4gICAgTUVUUklDX0pWTV9DUFVfUkVDRU5UX1VUSUxJWkFUSU9OLFxuICAgIE1FVFJJQ19KVk1fQ1BVX1RJTUUsXG4gICAgTUVUUklDX0pWTV9HQ19EVVJBVElPTixcbiAgICBNRVRSSUNfSlZNX01FTU9SWV9DT01NSVRURUQsXG4gICAgTUVUUklDX0pWTV9NRU1PUllfTElNSVQsXG4gICAgTUVUUklDX0pWTV9NRU1PUllfVVNFRCxcbiAgICBNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MsXG4gICAgTUVUUklDX0pWTV9USFJFQURfQ09VTlQsXG4gICAgTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TLFxuICAgIE1FVFJJQ19LRVNUUkVMX0FDVElWRV9UTFNfSEFORFNIQUtFUyxcbiAgICBNRVRSSUNfS0VTVFJFTF9DT05ORUNUSU9OX0RVUkFUSU9OLFxuICAgIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyxcbiAgICBNRVRSSUNfS0VTVFJFTF9RVUVVRURfUkVRVUVTVFMsXG4gICAgTUVUUklDX0tFU1RSRUxfUkVKRUNURURfQ09OTkVDVElPTlMsXG4gICAgTUVUUklDX0tFU1RSRUxfVExTX0hBTkRTSEFLRV9EVVJBVElPTixcbiAgICBNRVRSSUNfS0VTVFJFTF9VUEdSQURFRF9DT05ORUNUSU9OUyxcbiAgICBNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQUNUSVZFX0NPTk5FQ1RJT05TLFxuICAgIE1FVFJJQ19TSUdOQUxSX1NFUlZFUl9DT05ORUNUSU9OX0RVUkFUSU9OLFxuICAgIE1lc3NhZ2VUeXBlVmFsdWVzLFxuICAgIE1lc3NhZ2luZ0Rlc3RpbmF0aW9uS2luZFZhbHVlcyxcbiAgICBNZXNzYWdpbmdPcGVyYXRpb25WYWx1ZXMsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEyMDAwXzFYUlRULFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FREdFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FSFJQRCxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRVZET18wLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0EsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQixcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1BSUyxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1NNLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU0RQQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQVAsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTVVBBLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JREVOLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JV0xBTixcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTFRFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19MVEVfQ0EsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05SLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19OUk5TQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfVERfU0NETUEsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1VNVFMsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX0NFTEwsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1VOQVZBSUxBQkxFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTktOT1dOLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSUZJLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSVJFRCxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfSU5QUk9DLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19JUCxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfSVBfVENQLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9VRFAsXG4gICAgTkVUVFJBTlNQT1JUVkFMVUVTX09USEVSLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19QSVBFLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19VTklYLFxuICAgIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUsXG4gICAgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyxcbiAgICBORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9UQ1AsXG4gICAgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQLFxuICAgIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VOSVgsXG4gICAgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjQsXG4gICAgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYsXG4gICAgTmV0SG9zdENvbm5lY3Rpb25TdWJ0eXBlVmFsdWVzLFxuICAgIE5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcyxcbiAgICBOZXRUcmFuc3BvcnRWYWx1ZXMsXG4gICAgT1NUWVBFVkFMVUVTX0FJWCxcbiAgICBPU1RZUEVWQUxVRVNfREFSV0lOLFxuICAgIE9TVFlQRVZBTFVFU19EUkFHT05GTFlCU0QsXG4gICAgT1NUWVBFVkFMVUVTX0ZSRUVCU0QsXG4gICAgT1NUWVBFVkFMVUVTX0hQVVgsXG4gICAgT1NUWVBFVkFMVUVTX0xJTlVYLFxuICAgIE9TVFlQRVZBTFVFU19ORVRCU0QsXG4gICAgT1NUWVBFVkFMVUVTX09QRU5CU0QsXG4gICAgT1NUWVBFVkFMVUVTX1NPTEFSSVMsXG4gICAgT1NUWVBFVkFMVUVTX1dJTkRPV1MsXG4gICAgT1NUWVBFVkFMVUVTX1pfT1MsXG4gICAgT1RFTF9TVEFUVVNfQ09ERV9WQUxVRV9FUlJPUixcbiAgICBPVEVMX1NUQVRVU19DT0RFX1ZBTFVFX09LLFxuICAgIE9zVHlwZVZhbHVlcyxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BQk9SVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0FMUkVBRFlfRVhJU1RTLFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0NBTkNFTExFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19EQVRBX0xPU1MsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfREVBRExJTkVfRVhDRUVERUQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfRkFJTEVEX1BSRUNPTkRJVElPTixcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlRFUk5BTCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlZBTElEX0FSR1VNRU5ULFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX05PVF9GT1VORCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PSyxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PVVRfT0ZfUkFOR0UsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUEVSTUlTU0lPTl9ERU5JRUQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUkVTT1VSQ0VfRVhIQVVTVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOQVVUSEVOVElDQVRFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFWQUlMQUJMRSxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTklNUExFTUVOVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOS05PV04sXG4gICAgUnBjR3JwY1N0YXR1c0NvZGVWYWx1ZXMsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0FUVFJJQlVURVNfVE9fR0VULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9BVFRSSUJVVEVfREVGSU5JVElPTlMsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPTlNJU1RFTlRfUkVBRCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU1VNRURfQ0FQQUNJVFksXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPVU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9FWENMVVNJVkVfU1RBUlRfVEFCTEUsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhFUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfR0xPQkFMX1NFQ09OREFSWV9JTkRFWF9VUERBVEVTLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JTkRFWF9OQU1FLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JVEVNX0NPTExFQ1RJT05fTUVUUklDUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfTElNSVQsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xPQ0FMX1NFQ09OREFSWV9JTkRFWEVTLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9KRUNUSU9OLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9WSVNJT05FRF9SRUFEX0NBUEFDSVRZLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9WSVNJT05FRF9XUklURV9DQVBBQ0lUWSxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTk5FRF9DT1VOVCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTl9GT1JXQVJELFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUdNRU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUxFQ1QsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RBQkxFX0NPVU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9OQU1FUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfVE9UQUxfU0VHTUVOVFMsXG4gICAgU0VNQVRUUlNfQVdTX0xBTUJEQV9JTlZPS0VEX0FSTixcbiAgICBTRU1BVFRSU19DT0RFX0ZJTEVQQVRILFxuICAgIFNFTUFUVFJTX0NPREVfRlVOQ1RJT04sXG4gICAgU0VNQVRUUlNfQ09ERV9MSU5FTk8sXG4gICAgU0VNQVRUUlNfQ09ERV9OQU1FU1BBQ0UsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPTlNJU1RFTkNZX0xFVkVMLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT09SRElOQVRPUl9EQyxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfSUQsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0lERU1QT1RFTkNFLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9LRVlTUEFDRSxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfUEFHRV9TSVpFLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9TUEVDVUxBVElWRV9FWEVDVVRJT05fQ09VTlQsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX1RBQkxFLFxuICAgIFNFTUFUVFJTX0RCX0NPTk5FQ1RJT05fU1RSSU5HLFxuICAgIFNFTUFUVFJTX0RCX0hCQVNFX05BTUVTUEFDRSxcbiAgICBTRU1BVFRSU19EQl9KREJDX0RSSVZFUl9DTEFTU05BTUUsXG4gICAgU0VNQVRUUlNfREJfTU9OR09EQl9DT0xMRUNUSU9OLFxuICAgIFNFTUFUVFJTX0RCX01TU1FMX0lOU1RBTkNFX05BTUUsXG4gICAgU0VNQVRUUlNfREJfTkFNRSxcbiAgICBTRU1BVFRSU19EQl9PUEVSQVRJT04sXG4gICAgU0VNQVRUUlNfREJfUkVESVNfREFUQUJBU0VfSU5ERVgsXG4gICAgU0VNQVRUUlNfREJfU1FMX1RBQkxFLFxuICAgIFNFTUFUVFJTX0RCX1NUQVRFTUVOVCxcbiAgICBTRU1BVFRSU19EQl9TWVNURU0sXG4gICAgU0VNQVRUUlNfREJfVVNFUixcbiAgICBTRU1BVFRSU19FTkRVU0VSX0lELFxuICAgIFNFTUFUVFJTX0VORFVTRVJfUk9MRSxcbiAgICBTRU1BVFRSU19FTkRVU0VSX1NDT1BFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9FU0NBUEVELFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9NRVNTQUdFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9TVEFDS1RSQUNFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9UWVBFLFxuICAgIFNFTUFUVFJTX0ZBQVNfQ09MRFNUQVJULFxuICAgIFNFTUFUVFJTX0ZBQVNfQ1JPTixcbiAgICBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX0NPTExFQ1RJT04sXG4gICAgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9OQU1FLFxuICAgIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfT1BFUkFUSU9OLFxuICAgIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfVElNRSxcbiAgICBTRU1BVFRSU19GQUFTX0VYRUNVVElPTixcbiAgICBTRU1BVFRSU19GQUFTX0lOVk9LRURfTkFNRSxcbiAgICBTRU1BVFRSU19GQUFTX0lOVk9LRURfUFJPVklERVIsXG4gICAgU0VNQVRUUlNfRkFBU19JTlZPS0VEX1JFR0lPTixcbiAgICBTRU1BVFRSU19GQUFTX1RJTUUsXG4gICAgU0VNQVRUUlNfRkFBU19UUklHR0VSLFxuICAgIFNFTUFUVFJTX0hUVFBfQ0xJRU5UX0lQLFxuICAgIFNFTUFUVFJTX0hUVFBfRkxBVk9SLFxuICAgIFNFTUFUVFJTX0hUVFBfSE9TVCxcbiAgICBTRU1BVFRSU19IVFRQX01FVEhPRCxcbiAgICBTRU1BVFRSU19IVFRQX1JFUVVFU1RfQ09OVEVOVF9MRU5HVEgsXG4gICAgU0VNQVRUUlNfSFRUUF9SRVFVRVNUX0NPTlRFTlRfTEVOR1RIX1VOQ09NUFJFU1NFRCxcbiAgICBTRU1BVFRSU19IVFRQX1JFU1BPTlNFX0NPTlRFTlRfTEVOR1RILFxuICAgIFNFTUFUVFJTX0hUVFBfUkVTUE9OU0VfQ09OVEVOVF9MRU5HVEhfVU5DT01QUkVTU0VELFxuICAgIFNFTUFUVFJTX0hUVFBfUk9VVEUsXG4gICAgU0VNQVRUUlNfSFRUUF9TQ0hFTUUsXG4gICAgU0VNQVRUUlNfSFRUUF9TRVJWRVJfTkFNRSxcbiAgICBTRU1BVFRSU19IVFRQX1NUQVRVU19DT0RFLFxuICAgIFNFTUFUVFJTX0hUVFBfVEFSR0VULFxuICAgIFNFTUFUVFJTX0hUVFBfVVJMLFxuICAgIFNFTUFUVFJTX0hUVFBfVVNFUl9BR0VOVCxcbiAgICBTRU1BVFRSU19NRVNTQUdFX0NPTVBSRVNTRURfU0laRSxcbiAgICBTRU1BVFRSU19NRVNTQUdFX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0VfVFlQRSxcbiAgICBTRU1BVFRSU19NRVNTQUdFX1VOQ09NUFJFU1NFRF9TSVpFLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19DT05TVU1FUl9JRCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfQ09OVkVSU0FUSU9OX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19ERVNUSU5BVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfREVTVElOQVRJT05fS0lORCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfQ0xJRU5UX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DT05TVU1FUl9HUk9VUCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfTUVTU0FHRV9LRVksXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX1BBUlRJVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfVE9NQlNUT05FLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfQ09NUFJFU1NFRF9TSVpFX0JZVEVTLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfU0laRV9CWVRFUyxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfT1BFUkFUSU9OLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19QUk9UT0NPTCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0xfVkVSU0lPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfUkFCQklUTVFfUk9VVElOR19LRVksXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX1NZU1RFTSxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfVEVNUF9ERVNUSU5BVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfVVJMLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfSUNDLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTUNDLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTU5DLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTkFNRSxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9DT05ORUNUSU9OX1NVQlRZUEUsXG4gICAgU0VNQVRUUlNfTkVUX0hPU1RfQ09OTkVDVElPTl9UWVBFLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0lQLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX05BTUUsXG4gICAgU0VNQVRUUlNfTkVUX0hPU1RfUE9SVCxcbiAgICBTRU1BVFRSU19ORVRfUEVFUl9JUCxcbiAgICBTRU1BVFRSU19ORVRfUEVFUl9OQU1FLFxuICAgIFNFTUFUVFJTX05FVF9QRUVSX1BPUlQsXG4gICAgU0VNQVRUUlNfTkVUX1RSQU5TUE9SVCxcbiAgICBTRU1BVFRSU19QRUVSX1NFUlZJQ0UsXG4gICAgU0VNQVRUUlNfUlBDX0dSUENfU1RBVFVTX0NPREUsXG4gICAgU0VNQVRUUlNfUlBDX0pTT05SUENfRVJST1JfQ09ERSxcbiAgICBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9NRVNTQUdFLFxuICAgIFNFTUFUVFJTX1JQQ19KU09OUlBDX1JFUVVFU1RfSUQsXG4gICAgU0VNQVRUUlNfUlBDX0pTT05SUENfVkVSU0lPTixcbiAgICBTRU1BVFRSU19SUENfTUVUSE9ELFxuICAgIFNFTUFUVFJTX1JQQ19TRVJWSUNFLFxuICAgIFNFTUFUVFJTX1JQQ19TWVNURU0sXG4gICAgU0VNQVRUUlNfVEhSRUFEX0lELFxuICAgIFNFTUFUVFJTX1RIUkVBRF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ0xVU1RFUl9BUk4sXG4gICAgU0VNUkVTQVRUUlNfQVdTX0VDU19DT05UQUlORVJfQVJOLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfTEFVTkNIVFlQRSxcbiAgICBTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfQVJOLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19GQU1JTFksXG4gICAgU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX1JFVklTSU9OLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FS1NfQ0xVU1RFUl9BUk4sXG4gICAgU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9BUk5TLFxuICAgIFNFTVJFU0FUVFJTX0FXU19MT0dfR1JPVVBfTkFNRVMsXG4gICAgU0VNUkVTQVRUUlNfQVdTX0xPR19TVFJFQU1fQVJOUyxcbiAgICBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9OQU1FUyxcbiAgICBTRU1SRVNBVFRSU19DTE9VRF9BQ0NPVU5UX0lELFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1BMQVRGT1JNLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1BST1ZJREVSLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1JFR0lPTixcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfSUQsXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX1RBRyxcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfUlVOVElNRSxcbiAgICBTRU1SRVNBVFRSU19ERVBMT1lNRU5UX0VOVklST05NRU5ULFxuICAgIFNFTVJFU0FUVFJTX0RFVklDRV9JRCxcbiAgICBTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfSURFTlRJRklFUixcbiAgICBTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19GQUFTX0lELFxuICAgIFNFTVJFU0FUVFJTX0ZBQVNfSU5TVEFOQ0UsXG4gICAgU0VNUkVTQVRUUlNfRkFBU19NQVhfTUVNT1JZLFxuICAgIFNFTVJFU0FUVFJTX0ZBQVNfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19GQUFTX1ZFUlNJT04sXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9BUkNILFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfSUQsXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9JRCxcbiAgICBTRU1SRVNBVFRSU19IT1NUX0lNQUdFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19IT1NUX1RZUEUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0NMVVNURVJfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfQ09OVEFJTkVSX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9VSUQsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19KT0JfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfSk9CX1VJRCxcbiAgICBTRU1SRVNBVFRSU19LOFNfTkFNRVNQQUNFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX05PREVfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfTk9ERV9VSUQsXG4gICAgU0VNUkVTQVRUUlNfSzhTX1BPRF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19QT0RfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9VSUQsXG4gICAgU0VNUkVTQVRUUlNfT1NfREVTQ1JJUFRJT04sXG4gICAgU0VNUkVTQVRUUlNfT1NfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19PU19UWVBFLFxuICAgIFNFTVJFU0FUVFJTX09TX1ZFUlNJT04sXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5ELFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9BUkdTLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9MSU5FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9QQVRILFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfT1dORVIsXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19QSUQsXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQsXG4gICAgU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRVNQQUNFLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19URUxFTUVUUllfQVVUT19WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsXG4gICAgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19XRUJFTkdJTkVfREVTQ1JJUFRJT04sXG4gICAgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX1ZFUlNJT04sXG4gICAgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04sXG4gICAgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9OT1JNQUxfQ0xPU1VSRSxcbiAgICBTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX1RJTUVPVVQsXG4gICAgU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfTE9OR19QT0xMSU5HLFxuICAgIFNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1NFUlZFUl9TRU5UX0VWRU5UUyxcbiAgICBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9XRUJfU09DS0VUUyxcbiAgICBTZW1hbnRpY0F0dHJpYnV0ZXMsXG4gICAgU2VtYW50aWNSZXNvdXJjZUF0dHJpYnV0ZXMsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfQ1BQLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0RPVE5FVCxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19FUkxBTkcsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR08sXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfSkFWQSxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19OT0RFSlMsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUEhQLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BZVEhPTixcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19SVUJZLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1dFQkpTLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfQ1BQLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRE9UTkVULFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRVJMQU5HLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08sXG4gICAgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfTk9ERUpTLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUEhQLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUFlUSE9OLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVCWSxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1JVU1QsXG4gICAgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9TV0lGVCxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1dFQkpTLFxuICAgIFRlbGVtZXRyeVNka0xhbmd1YWdlVmFsdWVzXG59LCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pKTtcblxudmFyIGRldGVjdFJlc291cmNlcyQxID0ge307XG5cbnZhciBSZXNvdXJjZSA9IHt9O1xuXG5jb25zdCByZXF1aXJlJCQxJDEgPSAvKkBfX1BVUkVfXyovZ2V0QXVnbWVudGVkTmFtZXNwYWNlKGVzbSQxKTtcblxuY29uc3QgcmVxdWlyZSQkMSA9IC8qQF9fUFVSRV9fKi9nZXRBdWdtZW50ZWROYW1lc3BhY2UoZXNtKTtcblxuY29uc3QgcmVxdWlyZSQkMiA9IC8qQF9fUFVSRV9fKi9nZXRBdWdtZW50ZWROYW1lc3BhY2UoZXNtJDIpO1xuXG52YXIgYnJvd3NlciA9IHt9O1xuXG52YXIgZGVmYXVsdFNlcnZpY2VOYW1lID0ge307XG5cbnZhciBoYXNSZXF1aXJlZERlZmF1bHRTZXJ2aWNlTmFtZTtcblxuZnVuY3Rpb24gcmVxdWlyZURlZmF1bHRTZXJ2aWNlTmFtZSAoKSB7XG5cdGlmIChoYXNSZXF1aXJlZERlZmF1bHRTZXJ2aWNlTmFtZSkgcmV0dXJuIGRlZmF1bHRTZXJ2aWNlTmFtZTtcblx0aGFzUmVxdWlyZWREZWZhdWx0U2VydmljZU5hbWUgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGRlZmF1bHRTZXJ2aWNlTmFtZSwgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdGRlZmF1bHRTZXJ2aWNlTmFtZS5kZWZhdWx0U2VydmljZU5hbWUgPSB2b2lkIDA7XG5cdGZ1bmN0aW9uIGRlZmF1bHRTZXJ2aWNlTmFtZSQxKCkge1xuXHQgICAgcmV0dXJuICd1bmtub3duX3NlcnZpY2UnO1xuXHR9XG5cdGRlZmF1bHRTZXJ2aWNlTmFtZS5kZWZhdWx0U2VydmljZU5hbWUgPSBkZWZhdWx0U2VydmljZU5hbWUkMTtcblx0XG5cdHJldHVybiBkZWZhdWx0U2VydmljZU5hbWU7XG59XG5cbnZhciBoYXNSZXF1aXJlZEJyb3dzZXI7XG5cbmZ1bmN0aW9uIHJlcXVpcmVCcm93c2VyICgpIHtcblx0aWYgKGhhc1JlcXVpcmVkQnJvd3NlcikgcmV0dXJuIGJyb3dzZXI7XG5cdGhhc1JlcXVpcmVkQnJvd3NlciA9IDE7XG5cdChmdW5jdGlvbiAoZXhwb3J0cykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0XHRleHBvcnRzLmRlZmF1bHRTZXJ2aWNlTmFtZSA9IHZvaWQgMDtcblx0XHQvKlxuXHRcdCAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG5cdFx0ICpcblx0XHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHRcdCAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cblx0XHQgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblx0XHQgKlxuXHRcdCAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXHRcdCAqXG5cdFx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHRcdCAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcblx0XHQgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblx0XHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdFx0ICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cdFx0ICovXG5cdFx0dmFyIGRlZmF1bHRfc2VydmljZV9uYW1lXzEgPSAvKkBfX1BVUkVfXyovIHJlcXVpcmVEZWZhdWx0U2VydmljZU5hbWUoKTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0U2VydmljZU5hbWVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRlZmF1bHRfc2VydmljZV9uYW1lXzEuZGVmYXVsdFNlcnZpY2VOYW1lOyB9IH0pO1xuXHRcdFxuXHR9IChicm93c2VyKSk7XG5cdHJldHVybiBicm93c2VyO1xufVxuXG52YXIgaGFzUmVxdWlyZWRSZXNvdXJjZTtcblxuZnVuY3Rpb24gcmVxdWlyZVJlc291cmNlICgpIHtcblx0aWYgKGhhc1JlcXVpcmVkUmVzb3VyY2UpIHJldHVybiBSZXNvdXJjZTtcblx0aGFzUmVxdWlyZWRSZXNvdXJjZSA9IDE7XG5cdC8qXG5cdCAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG5cdCAqXG5cdCAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG5cdCAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cblx0ICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cdCAqXG5cdCAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXHQgKlxuXHQgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5cdCAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcblx0ICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5cdCAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcblx0ICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cdCAqL1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVzb3VyY2UsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHRSZXNvdXJjZS5SZXNvdXJjZSA9IHZvaWQgMDtcblx0Y29uc3QgYXBpXzEgPSByZXF1aXJlJCQxJDE7XG5cdGNvbnN0IHNlbWFudGljX2NvbnZlbnRpb25zXzEgPSByZXF1aXJlJCQxO1xuXHRjb25zdCBjb3JlXzEgPSByZXF1aXJlJCQyO1xuXHRjb25zdCBwbGF0Zm9ybV8xID0gLypAX19QVVJFX18qLyByZXF1aXJlQnJvd3NlcigpO1xuXHQvKipcblx0ICogQSBSZXNvdXJjZSBkZXNjcmliZXMgdGhlIGVudGl0eSBmb3Igd2hpY2ggYSBzaWduYWxzIChtZXRyaWNzIG9yIHRyYWNlKSBhcmVcblx0ICogY29sbGVjdGVkLlxuXHQgKi9cblx0bGV0IFJlc291cmNlJDEgPSBjbGFzcyBSZXNvdXJjZSB7XG5cdCAgICBjb25zdHJ1Y3Rvcihcblx0ICAgIC8qKlxuXHQgICAgICogQSBkaWN0aW9uYXJ5IG9mIGF0dHJpYnV0ZXMgd2l0aCBzdHJpbmcga2V5cyBhbmQgdmFsdWVzIHRoYXQgcHJvdmlkZVxuXHQgICAgICogaW5mb3JtYXRpb24gYWJvdXQgdGhlIGVudGl0eSBhcyBudW1iZXJzLCBzdHJpbmdzIG9yIGJvb2xlYW5zXG5cdCAgICAgKiBUT0RPOiBDb25zaWRlciB0byBhZGQgY2hlY2svdmFsaWRhdGlvbiBvbiBhdHRyaWJ1dGVzLlxuXHQgICAgICovXG5cdCAgICBhdHRyaWJ1dGVzLCBhc3luY0F0dHJpYnV0ZXNQcm9taXNlKSB7XG5cdCAgICAgICAgdmFyIF9hO1xuXHQgICAgICAgIHRoaXMuX2F0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuXHQgICAgICAgIHRoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZyA9IGFzeW5jQXR0cmlidXRlc1Byb21pc2UgIT0gbnVsbDtcblx0ICAgICAgICB0aGlzLl9zeW5jQXR0cmlidXRlcyA9IChfYSA9IHRoaXMuX2F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuXHQgICAgICAgIHRoaXMuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UgPSBhc3luY0F0dHJpYnV0ZXNQcm9taXNlID09PSBudWxsIHx8IGFzeW5jQXR0cmlidXRlc1Byb21pc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFzeW5jQXR0cmlidXRlc1Byb21pc2UudGhlbihhc3luY0F0dHJpYnV0ZXMgPT4ge1xuXHQgICAgICAgICAgICB0aGlzLl9hdHRyaWJ1dGVzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fYXR0cmlidXRlcywgYXN5bmNBdHRyaWJ1dGVzKTtcblx0ICAgICAgICAgICAgdGhpcy5hc3luY0F0dHJpYnV0ZXNQZW5kaW5nID0gZmFsc2U7XG5cdCAgICAgICAgICAgIHJldHVybiBhc3luY0F0dHJpYnV0ZXM7XG5cdCAgICAgICAgfSwgZXJyID0+IHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5kZWJ1ZyhcImEgcmVzb3VyY2UncyBhc3luYyBhdHRyaWJ1dGVzIHByb21pc2UgcmVqZWN0ZWQ6ICVzXCIsIGVycik7XG5cdCAgICAgICAgICAgIHRoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZyA9IGZhbHNlO1xuXHQgICAgICAgICAgICByZXR1cm4ge307XG5cdCAgICAgICAgfSk7XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYW4gZW1wdHkgUmVzb3VyY2Vcblx0ICAgICAqL1xuXHQgICAgc3RhdGljIGVtcHR5KCkge1xuXHQgICAgICAgIHJldHVybiBSZXNvdXJjZS5FTVBUWTtcblx0ICAgIH1cblx0ICAgIC8qKlxuXHQgICAgICogUmV0dXJucyBhIFJlc291cmNlIHRoYXQgaWRlbnRpZmllcyB0aGUgU0RLIGluIHVzZS5cblx0ICAgICAqL1xuXHQgICAgc3RhdGljIGRlZmF1bHQoKSB7XG5cdCAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZSh7XG5cdCAgICAgICAgICAgIFtzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRV06ICgwLCBwbGF0Zm9ybV8xLmRlZmF1bHRTZXJ2aWNlTmFtZSkoKSxcblx0ICAgICAgICAgICAgW3NlbWFudGljX2NvbnZlbnRpb25zXzEuU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19MQU5HVUFHRV06IGNvcmVfMS5TREtfSU5GT1tzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0VdLFxuXHQgICAgICAgICAgICBbc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUVdOiBjb3JlXzEuU0RLX0lORk9bc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUVdLFxuXHQgICAgICAgICAgICBbc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT05dOiBjb3JlXzEuU0RLX0lORk9bc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT05dLFxuXHQgICAgICAgIH0pO1xuXHQgICAgfVxuXHQgICAgZ2V0IGF0dHJpYnV0ZXMoKSB7XG5cdCAgICAgICAgdmFyIF9hO1xuXHQgICAgICAgIGlmICh0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcpIHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5lcnJvcignQWNjZXNzaW5nIHJlc291cmNlIGF0dHJpYnV0ZXMgYmVmb3JlIGFzeW5jIGF0dHJpYnV0ZXMgc2V0dGxlZCcpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5fYXR0cmlidXRlcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge307XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYSBwcm9taXNlIHRoYXQgd2lsbCBuZXZlciBiZSByZWplY3RlZC4gUmVzb2x2ZXMgd2hlbiBhbGwgYXN5bmMgYXR0cmlidXRlcyBoYXZlIGZpbmlzaGVkIGJlaW5nIGFkZGVkIHRvXG5cdCAgICAgKiB0aGlzIFJlc291cmNlJ3MgYXR0cmlidXRlcy4gVGhpcyBpcyB1c2VmdWwgaW4gZXhwb3J0ZXJzIHRvIGJsb2NrIHVudGlsIHJlc291cmNlIGRldGVjdGlvblxuXHQgICAgICogaGFzIGZpbmlzaGVkLlxuXHQgICAgICovXG5cdCAgICBhc3luYyB3YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKCkge1xuXHQgICAgICAgIGlmICh0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcpIHtcblx0ICAgICAgICAgICAgYXdhaXQgdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZTtcblx0ICAgICAgICB9XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYSBuZXcsIG1lcmdlZCB7QGxpbmsgUmVzb3VyY2V9IGJ5IG1lcmdpbmcgdGhlIGN1cnJlbnQgUmVzb3VyY2Vcblx0ICAgICAqIHdpdGggdGhlIG90aGVyIFJlc291cmNlLiBJbiBjYXNlIG9mIGEgY29sbGlzaW9uLCBvdGhlciBSZXNvdXJjZSB0YWtlc1xuXHQgICAgICogcHJlY2VkZW5jZS5cblx0ICAgICAqXG5cdCAgICAgKiBAcGFyYW0gb3RoZXIgdGhlIFJlc291cmNlIHRoYXQgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGlzLlxuXHQgICAgICogQHJldHVybnMgdGhlIG5ld2x5IG1lcmdlZCBSZXNvdXJjZS5cblx0ICAgICAqL1xuXHQgICAgbWVyZ2Uob3RoZXIpIHtcblx0ICAgICAgICB2YXIgX2E7XG5cdCAgICAgICAgaWYgKCFvdGhlcilcblx0ICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG5cdCAgICAgICAgLy8gU3BhbkF0dHJpYnV0ZXMgZnJvbSBvdGhlciByZXNvdXJjZSBvdmVyd3JpdGUgYXR0cmlidXRlcyBmcm9tIHRoaXMgcmVzb3VyY2UuXG5cdCAgICAgICAgY29uc3QgbWVyZ2VkU3luY0F0dHJpYnV0ZXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3N5bmNBdHRyaWJ1dGVzKSwgKChfYSA9IG90aGVyLl9zeW5jQXR0cmlidXRlcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogb3RoZXIuYXR0cmlidXRlcykpO1xuXHQgICAgICAgIGlmICghdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSAmJlxuXHQgICAgICAgICAgICAhb3RoZXIuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UpIHtcblx0ICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZShtZXJnZWRTeW5jQXR0cmlidXRlcyk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGNvbnN0IG1lcmdlZEF0dHJpYnV0ZXNQcm9taXNlID0gUHJvbWlzZS5hbGwoW1xuXHQgICAgICAgICAgICB0aGlzLl9hc3luY0F0dHJpYnV0ZXNQcm9taXNlLFxuXHQgICAgICAgICAgICBvdGhlci5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSxcblx0ICAgICAgICBdKS50aGVuKChbdGhpc0FzeW5jQXR0cmlidXRlcywgb3RoZXJBc3luY0F0dHJpYnV0ZXNdKSA9PiB7XG5cdCAgICAgICAgICAgIHZhciBfYTtcblx0ICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3N5bmNBdHRyaWJ1dGVzKSwgdGhpc0FzeW5jQXR0cmlidXRlcyksICgoX2EgPSBvdGhlci5fc3luY0F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG90aGVyLmF0dHJpYnV0ZXMpKSwgb3RoZXJBc3luY0F0dHJpYnV0ZXMpO1xuXHQgICAgICAgIH0pO1xuXHQgICAgICAgIHJldHVybiBuZXcgUmVzb3VyY2UobWVyZ2VkU3luY0F0dHJpYnV0ZXMsIG1lcmdlZEF0dHJpYnV0ZXNQcm9taXNlKTtcblx0ICAgIH1cblx0fTtcblx0UmVzb3VyY2UuUmVzb3VyY2UgPSBSZXNvdXJjZSQxO1xuXHRSZXNvdXJjZSQxLkVNUFRZID0gbmV3IFJlc291cmNlJDEoe30pO1xuXHRcblx0cmV0dXJuIFJlc291cmNlO1xufVxuXG52YXIgdXRpbHMgPSB7fTtcblxudmFyIGhhc1JlcXVpcmVkVXRpbHM7XG5cbmZ1bmN0aW9uIHJlcXVpcmVVdGlscyAoKSB7XG5cdGlmIChoYXNSZXF1aXJlZFV0aWxzKSByZXR1cm4gdXRpbHM7XG5cdGhhc1JlcXVpcmVkVXRpbHMgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHV0aWxzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0dXRpbHMuaXNQcm9taXNlTGlrZSA9IHZvaWQgMDtcblx0Y29uc3QgaXNQcm9taXNlTGlrZSA9ICh2YWwpID0+IHtcblx0ICAgIHJldHVybiAodmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWwudGhlbiA9PT0gJ2Z1bmN0aW9uJyk7XG5cdH07XG5cdHV0aWxzLmlzUHJvbWlzZUxpa2UgPSBpc1Byb21pc2VMaWtlO1xuXHRcblx0cmV0dXJuIHV0aWxzO1xufVxuXG52YXIgaGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXM7XG5cbmZ1bmN0aW9uIHJlcXVpcmVEZXRlY3RSZXNvdXJjZXMgKCkge1xuXHRpZiAoaGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXMpIHJldHVybiBkZXRlY3RSZXNvdXJjZXMkMTtcblx0aGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXMgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGRldGVjdFJlc291cmNlcyQxLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0ZGV0ZWN0UmVzb3VyY2VzJDEuZGV0ZWN0UmVzb3VyY2VzU3luYyA9IGRldGVjdFJlc291cmNlcyQxLmRldGVjdFJlc291cmNlcyA9IHZvaWQgMDtcblx0Y29uc3QgUmVzb3VyY2VfMSA9IC8qQF9fUFVSRV9fKi8gcmVxdWlyZVJlc291cmNlKCk7XG5cdGNvbnN0IGFwaV8xID0gcmVxdWlyZSQkMSQxO1xuXHRjb25zdCB1dGlsc18xID0gLypAX19QVVJFX18qLyByZXF1aXJlVXRpbHMoKTtcblx0LyoqXG5cdCAqIFJ1bnMgYWxsIHJlc291cmNlIGRldGVjdG9ycyBhbmQgcmV0dXJucyB0aGUgcmVzdWx0cyBtZXJnZWQgaW50byBhIHNpbmdsZSBSZXNvdXJjZS4gUHJvbWlzZVxuXHQgKiBkb2VzIG5vdCByZXNvbHZlIHVudGlsIGFsbCB0aGUgdW5kZXJseWluZyBkZXRlY3RvcnMgaGF2ZSByZXNvbHZlZCwgdW5saWtlXG5cdCAqIGRldGVjdFJlc291cmNlc1N5bmMuXG5cdCAqXG5cdCAqIEBkZXByZWNhdGVkIHVzZSBkZXRlY3RSZXNvdXJjZXNTeW5jKCkgaW5zdGVhZC5cblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciByZXNvdXJjZSBkZXRlY3Rpb25cblx0ICovXG5cdGNvbnN0IGRldGVjdFJlc291cmNlcyA9IGFzeW5jIChjb25maWcgPSB7fSkgPT4ge1xuXHQgICAgY29uc3QgcmVzb3VyY2VzID0gYXdhaXQgUHJvbWlzZS5hbGwoKGNvbmZpZy5kZXRlY3RvcnMgfHwgW10pLm1hcChhc3luYyAoZCkgPT4ge1xuXHQgICAgICAgIHRyeSB7XG5cdCAgICAgICAgICAgIGNvbnN0IHJlc291cmNlID0gYXdhaXQgZC5kZXRlY3QoY29uZmlnKTtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5kZWJ1ZyhgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZvdW5kIHJlc291cmNlLmAsIHJlc291cmNlKTtcblx0ICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBjYXRjaCAoZSkge1xuXHQgICAgICAgICAgICBhcGlfMS5kaWFnLmRlYnVnKGAke2QuY29uc3RydWN0b3IubmFtZX0gZmFpbGVkOiAke2UubWVzc2FnZX1gKTtcblx0ICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlXzEuUmVzb3VyY2UuZW1wdHkoKTtcblx0ICAgICAgICB9XG5cdCAgICB9KSk7XG5cdCAgICAvLyBGdXR1cmUgY2hlY2sgaWYgdmVyYm9zZSBsb2dnaW5nIGlzIGVuYWJsZWQgaXNzdWUgIzE5MDNcblx0ICAgIGxvZ1Jlc291cmNlcyhyZXNvdXJjZXMpO1xuXHQgICAgcmV0dXJuIHJlc291cmNlcy5yZWR1Y2UoKGFjYywgcmVzb3VyY2UpID0+IGFjYy5tZXJnZShyZXNvdXJjZSksIFJlc291cmNlXzEuUmVzb3VyY2UuZW1wdHkoKSk7XG5cdH07XG5cdGRldGVjdFJlc291cmNlcyQxLmRldGVjdFJlc291cmNlcyA9IGRldGVjdFJlc291cmNlcztcblx0LyoqXG5cdCAqIFJ1bnMgYWxsIHJlc291cmNlIGRldGVjdG9ycyBzeW5jaHJvbm91c2x5LCBtZXJnaW5nIHRoZWlyIHJlc3VsdHMuIEluIGNhc2Ugb2YgYXR0cmlidXRlIGNvbGxpc2lvbiBsYXRlciByZXNvdXJjZXMgd2lsbCB0YWtlIHByZWNlZGVuY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgcmVzb3VyY2UgZGV0ZWN0aW9uXG5cdCAqL1xuXHRjb25zdCBkZXRlY3RSZXNvdXJjZXNTeW5jID0gKGNvbmZpZyA9IHt9KSA9PiB7XG5cdCAgICB2YXIgX2E7XG5cdCAgICBjb25zdCByZXNvdXJjZXMgPSAoKF9hID0gY29uZmlnLmRldGVjdG9ycykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pLm1hcCgoZCkgPT4ge1xuXHQgICAgICAgIHRyeSB7XG5cdCAgICAgICAgICAgIGNvbnN0IHJlc291cmNlT3JQcm9taXNlID0gZC5kZXRlY3QoY29uZmlnKTtcblx0ICAgICAgICAgICAgbGV0IHJlc291cmNlO1xuXHQgICAgICAgICAgICBpZiAoKDAsIHV0aWxzXzEuaXNQcm9taXNlTGlrZSkocmVzb3VyY2VPclByb21pc2UpKSB7XG5cdCAgICAgICAgICAgICAgICBjb25zdCBjcmVhdGVQcm9taXNlID0gYXN5bmMgKCkgPT4ge1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcblx0ICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZFJlc291cmNlID0gYXdhaXQgcmVzb3VyY2VPclByb21pc2U7XG5cdCAgICAgICAgICAgICAgICAgICAgYXdhaXQgKChfYSA9IHJlc29sdmVkUmVzb3VyY2Uud2FpdEZvckFzeW5jQXR0cmlidXRlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwocmVzb2x2ZWRSZXNvdXJjZSkpO1xuXHQgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlZFJlc291cmNlLmF0dHJpYnV0ZXM7XG5cdCAgICAgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICAgICAgcmVzb3VyY2UgPSBuZXcgUmVzb3VyY2VfMS5SZXNvdXJjZSh7fSwgY3JlYXRlUHJvbWlzZSgpKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIHJlc291cmNlID0gcmVzb3VyY2VPclByb21pc2U7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgaWYgKHJlc291cmNlLndhaXRGb3JBc3luY0F0dHJpYnV0ZXMpIHtcblx0ICAgICAgICAgICAgICAgIHZvaWQgcmVzb3VyY2Vcblx0ICAgICAgICAgICAgICAgICAgICAud2FpdEZvckFzeW5jQXR0cmlidXRlcygpXG5cdCAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gYXBpXzEuZGlhZy5kZWJ1ZyhgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZvdW5kIHJlc291cmNlLmAsIHJlc291cmNlKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBhcGlfMS5kaWFnLmRlYnVnKGAke2QuY29uc3RydWN0b3IubmFtZX0gZm91bmQgcmVzb3VyY2UuYCwgcmVzb3VyY2UpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIHJldHVybiByZXNvdXJjZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgY2F0Y2ggKGUpIHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5lcnJvcihgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZhaWxlZDogJHtlLm1lc3NhZ2V9YCk7XG5cdCAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZV8xLlJlc291cmNlLmVtcHR5KCk7XG5cdCAgICAgICAgfVxuXHQgICAgfSk7XG5cdCAgICBjb25zdCBtZXJnZWRSZXNvdXJjZXMgPSByZXNvdXJjZXMucmVkdWNlKChhY2MsIHJlc291cmNlKSA9PiBhY2MubWVyZ2UocmVzb3VyY2UpLCBSZXNvdXJjZV8xLlJlc291cmNlLmVtcHR5KCkpO1xuXHQgICAgaWYgKG1lcmdlZFJlc291cmNlcy53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKSB7XG5cdCAgICAgICAgdm9pZCBtZXJnZWRSZXNvdXJjZXMud2FpdEZvckFzeW5jQXR0cmlidXRlcygpLnRoZW4oKCkgPT4ge1xuXHQgICAgICAgICAgICAvLyBGdXR1cmUgY2hlY2sgaWYgdmVyYm9zZSBsb2dnaW5nIGlzIGVuYWJsZWQgaXNzdWUgIzE5MDNcblx0ICAgICAgICAgICAgbG9nUmVzb3VyY2VzKHJlc291cmNlcyk7XG5cdCAgICAgICAgfSk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gbWVyZ2VkUmVzb3VyY2VzO1xuXHR9O1xuXHRkZXRlY3RSZXNvdXJjZXMkMS5kZXRlY3RSZXNvdXJjZXNTeW5jID0gZGV0ZWN0UmVzb3VyY2VzU3luYztcblx0LyoqXG5cdCAqIFdyaXRlcyBkZWJ1ZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGV0ZWN0ZWQgcmVzb3VyY2VzIHRvIHRoZSBsb2dnZXIgZGVmaW5lZCBpbiB0aGUgcmVzb3VyY2UgZGV0ZWN0aW9uIGNvbmZpZywgaWYgb25lIGlzIHByb3ZpZGVkLlxuXHQgKlxuXHQgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSBhcnJheSBvZiB7QGxpbmsgUmVzb3VyY2V9IHRoYXQgc2hvdWxkIGJlIGxvZ2dlZC4gRW1wdHkgZW50cmllcyB3aWxsIGJlIGlnbm9yZWQuXG5cdCAqL1xuXHRjb25zdCBsb2dSZXNvdXJjZXMgPSAocmVzb3VyY2VzKSA9PiB7XG5cdCAgICByZXNvdXJjZXMuZm9yRWFjaChyZXNvdXJjZSA9PiB7XG5cdCAgICAgICAgLy8gUHJpbnQgb25seSBwb3B1bGF0ZWQgcmVzb3VyY2VzXG5cdCAgICAgICAgaWYgKE9iamVjdC5rZXlzKHJlc291cmNlLmF0dHJpYnV0ZXMpLmxlbmd0aCA+IDApIHtcblx0ICAgICAgICAgICAgY29uc3QgcmVzb3VyY2VEZWJ1Z1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KHJlc291cmNlLmF0dHJpYnV0ZXMsIG51bGwsIDQpO1xuXHQgICAgICAgICAgICBhcGlfMS5kaWFnLnZlcmJvc2UocmVzb3VyY2VEZWJ1Z1N0cmluZyk7XG5cdCAgICAgICAgfVxuXHQgICAgfSk7XG5cdH07XG5cdFxuXHRyZXR1cm4gZGV0ZWN0UmVzb3VyY2VzJDE7XG59XG5cbnZhciBkZXRlY3RSZXNvdXJjZXNFeHBvcnRzID0gLypAX19QVVJFX18qLyByZXF1aXJlRGV0ZWN0UmVzb3VyY2VzKCk7XG5cbmNvbnN0IGRldGVjdFJlc291cmNlcyA9IC8qI19fUFVSRV9fKi9fbWVyZ2VOYW1lc3BhY2VzKHtcbiAgICBfX3Byb3RvX186IG51bGxcbn0sIFtkZXRlY3RSZXNvdXJjZXNFeHBvcnRzXSk7XG5cbmV4cG9ydCB7IGRldGVjdFJlc291cmNlcyBhcyBkIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUE2QjtBQUMzQyxTQUFTLEtBQUtDLEdBQWEsS0FBS0MsR0FBZ0MsS0FBS0MsR0FBc0IsS0FBS0MsR0FBc0IsS0FBS0MsR0FBdUMsS0FBS0MsR0FBdUMsS0FBS0MsR0FBK0MsS0FBS0MsR0FBNkMsS0FBS0MsR0FBZ0QsS0FBS0MsR0FBZ0QsS0FBS0MsR0FBdUMsS0FBS0MsR0FBMEMsS0FBS0MsR0FBMEMsS0FBS0MsR0FBeUMsS0FBS0MsR0FBdUMsS0FBS0MsSUFBdUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBMEIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBNEIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBeUIsS0FBS0MsSUFBMEIsS0FBS0MsSUFBd0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBeUIsS0FBS0MsSUFBb0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBbUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBMEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0IsTUFBTUMsSUFBb0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBK0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBK0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBNkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBbUIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBa0IsTUFBTUMsSUFBNEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBbUIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBMEIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBK0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBdUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBdUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBMkIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBd0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBMkMsTUFBTUMsSUFBNkMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBMEMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBNEIsTUFBTUMsSUFBc0MsTUFBTUMsSUFBMkMsTUFBTUMsSUFBNEMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBaUMsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUMsTUFBTUMsSUFBNkMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBNkIsTUFBTUMsSUFBNkMsTUFBTUMsSUFBZ0QsTUFBTUMsSUFBc0QsTUFBTUMsSUFBa0MsTUFBTUMsSUFBK0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBK0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBaUQsTUFBTUMsSUFBa0QsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBK0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBbUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBbUQsTUFBTUMsSUFBNkIsTUFBTUMsSUFBK0IsTUFBTUMsSUFBNkIsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBa0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBa0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBNEIsS0FBS0MsSUFBNEIsS0FBS0MsSUFBK0IsS0FBS0MsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBbUMsTUFBTUMsSUFBNkIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBNEIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBOEIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBc0IsTUFBTUMsSUFBc0MsS0FBS0MsSUFBbUQsS0FBS0MsSUFBdUMsS0FBS0MsSUFBb0QsTUFBTUMsSUFBcUIsS0FBS0MsSUFBc0IsTUFBTUMsSUFBMkIsS0FBS0MsSUFBMkIsTUFBTUMsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBMEIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBb0MsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBK0IsTUFBTUMsSUFBMEQsTUFBTUMsSUFBK0MsTUFBTUMsSUFBOEIsTUFBTUMsSUFBNkIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBMkIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBd0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBK0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBOEIsTUFBTUMsSUFBcUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBc0IsTUFBTUMsVUFBMEI7QUFDOThULFNBQVMsS0FBS0MsR0FBTyxLQUFLQyxHQUFTLEtBQUtDLElBQWMsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBaUIsS0FBS0MsSUFBYSxLQUFLQyxJQUFxQixLQUFLQyxJQUFjLEtBQUtDLElBQVUsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBWSxLQUFLQyxJQUFrQixLQUFLQyxJQUFvQixLQUFLQyxJQUFlLEtBQUtDLFVBQXNCO0FBQy9VLFNBQVMsS0FBS0MsR0FBUyxLQUFLQyxVQUF1QjtBQUNuRCxTQUFTLEtBQUtDLElBQWtCLEtBQUtDLFVBQWE7QUFDbEQsU0FBUyxLQUFLQyxTQUFZO0FBQzFCLFNBQVMsS0FBS0MsSUFBNEIsS0FBS0MsSUFBZ0MsS0FBS0MsSUFBd0IsS0FBS0MsSUFBdUMsS0FBS0MsSUFBc0MsS0FBS0MsSUFBNkIsS0FBS0MsSUFBNkIsS0FBS0MsSUFBNkIsS0FBS0MsSUFBMkMsS0FBS0MsSUFBZ0MsS0FBS0MsSUFBK0IsS0FBS0MsSUFBdUMsS0FBS0MsSUFBK0MsS0FBS0MsSUFBcUMsS0FBS0MsSUFBOEIsS0FBS0MsSUFBb0MsS0FBS0MsSUFBeUMsS0FBS0MsSUFBbUMsS0FBS0MsSUFBd0MsS0FBS0MsSUFBMkMsS0FBS0MsSUFBbUMsS0FBS0MsSUFBeUIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBeUIsS0FBS0MsSUFBcUIsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBa0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBb0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBYyxLQUFLQyxJQUFpQyxLQUFLQyxJQUFtQyxLQUFLQyxJQUFnQyxNQUFNQyxJQUE4QixNQUFNQyxJQUFpQyxNQUFNQyxJQUFtQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUE4QixNQUFNQyxJQUFxQyxNQUFNQyxJQUE0QixNQUFNQyxJQUE0QixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUFrQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUE0QixNQUFNQyxJQUErQixNQUFNQyxJQUFvQyxNQUFNQyxJQUF1QixNQUFNQyxJQUFxQyxNQUFNQyxJQUErQixNQUFNQyxJQUFxQixNQUFNQyxJQUEyQixNQUFNQyxJQUE2QixNQUFNQyxJQUF1QixNQUFNQyxJQUEwQixNQUFNQyxJQUF1QixNQUFNQyxJQUFxQixNQUFNQyxJQUEyQixNQUFNQyxJQUE2QixNQUFNQyxJQUFnQyxNQUFNQyxJQUF1QixNQUFNQyxJQUF1QixNQUFNQyxJQUE4QixNQUFNQyxJQUFnQyxNQUFNQyxJQUE4QixNQUFNQyxJQUE2QixNQUFNQyxJQUFnQyxNQUFNQyxJQUErQixNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUFnQyxNQUFNQyxJQUEyQixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUFrQyxN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QSx1Q0FBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EsNkNBQUFDO0FBQUEsRUFDQSxnREFBQUM7QUFBQSxFQUNBLGdEQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSwwQ0FBQUM7QUFBQSxFQUNBLDBDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLG1CQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVB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QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSx5Q0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsK0JBQUFD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RSxTQUFTLEdBQUc7QUFDN0MsY0FBTVEsSUFBc0IsS0FBSyxVQUFVUixFQUFTLFlBQVksTUFBTSxDQUFDO0FBQ3ZFLFFBQUEzQixFQUFNLEtBQUssUUFBUW1DLENBQW1CO0FBQUEsTUFDMUM7QUFBQSxJQUNKLENBQUM7QUFBQSxFQUNMO0FBRUEsU0FBT25EO0FBQ1I7QUFFQSxJQUFJb0QsS0FBdUMsZ0JBQUFmLEdBQXVCO0FBRWxFLE1BQU1HLEtBQStCLGdCQUFBN04sR0FBaUI7QUFBQSxFQUNsRCxXQUFXO0FBQ2YsR0FBRyxDQUFDeU8sRUFBc0IsQ0FBQzsiLAogICJuYW1lcyI6IFsiZ2V0QXVnbWVudGVkTmFtZXNwYWNlIiwgInByb3BhZ2F0aW9uIiwgImJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZyIsICJkZWZhdWx0VGV4dE1hcEdldHRlciIsICJkZWZhdWx0VGV4dE1hcFNldHRlciIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQUxMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19BTlkiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0VBQ0hfUVVPUlVNIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9PTkUiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1FVT1JVTSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfU0VSSUFMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19PTkUiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1FVT1JVTSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfU0VSSUFMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19USFJFRSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVFdPIiwgIkRCU1lTVEVNVkFMVUVTX0FEQUJBUyIsICJEQlNZU1RFTVZBTFVFU19DQUNIRSIsICJEQlNZU1RFTVZBTFVFU19DQVNTQU5EUkEiLCAiREJTWVNURU1WQUxVRVNfQ0xPVURTQ0FQRSIsICJEQlNZU1RFTVZBTFVFU19DT0NLUk9BQ0hEQiIsICJEQlNZU1RFTVZBTFVFU19DT0xERlVTSU9OIiwgIkRCU1lTVEVNVkFMVUVTX0NPU01PU0RCIiwgIkRCU1lTVEVNVkFMVUVTX0NPVUNIQkFTRSIsICJEQlNZU1RFTVZBTFVFU19DT1VDSERCIiwgIkRCU1lTVEVNVkFMVUVTX0RCMiIsICJEQlNZU1RFTVZBTFVFU19ERVJCWSIsICJEQlNZU1RFTVZBTFVFU19EWU5BTU9EQiIsICJEQlNZU1RFTVZBTFVFU19FREIiLCAiREJTWVNURU1WQUxVRVNfRUxBU1RJQ1NFQVJDSCIsICJEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIiLCAiREJTWVNURU1WQUxVRVNfRklSRUJJUkQiLCAiREJTWVNURU1WQUxVRVNfRklSU1RTUUwiLCAiREJTWVNURU1WQUxVRVNfR0VPREUiLCAiREJTWVNURU1WQUxVRVNfSDIiLCAiREJTWVNURU1WQUxVRVNfSEFOQURCIiwgIkRCU1lTVEVNVkFMVUVTX0hCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX0hJVkUiLCAiREJTWVNURU1WQUxVRVNfSFNRTERCIiwgIkRCU1lTVEVNVkFMVUVTX0lORk9STUlYIiwgIkRCU1lTVEVNVkFMVUVTX0lOR1JFUyIsICJEQlNZU1RFTVZBTFVFU19JTlNUQU5UREIiLCAiREJTWVNURU1WQUxVRVNfSU5URVJCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX01BUklBREIiLCAiREJTWVNURU1WQUxVRVNfTUFYREIiLCAiREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVEIiwgIkRCU1lTVEVNVkFMVUVTX01PTkdPREIiLCAiREJTWVNURU1WQUxVRVNfTVNTUUwiLCAiREJTWVNURU1WQUxVRVNfTVlTUUwiLCAiREJTWVNURU1WQUxVRVNfTkVPNEoiLCAiREJTWVNURU1WQUxVRVNfTkVURVpaQSIsICJEQlNZU1RFTVZBTFVFU19PUkFDTEUiLCAiREJTWVNURU1WQUxVRVNfT1RIRVJfU1FMIiwgIkRCU1lTVEVNVkFMVUVTX1BFUlZBU0lWRSIsICJEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UiLCAiREJTWVNURU1WQUxVRVNfUE9TVEdSRVNRTCIsICJEQlNZU1RFTVZBTFVFU19QUk9HUkVTUyIsICJEQlNZU1RFTVZBTFVFU19SRURJUyIsICJEQlNZU1RFTVZBTFVFU19SRURTSElGVCIsICJEQlNZU1RFTVZBTFVFU19TUUxJVEUiLCAiREJTWVNURU1WQUxVRVNfU1lCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX1RFUkFEQVRBIiwgIkRCU1lTVEVNVkFMVUVTX1ZFUlRJQ0EiLCAiRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzIiwgIkRiU3lzdGVtVmFsdWVzIiwgIkZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19ERUxFVEUiLCAiRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0VESVQiLCAiRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0lOU0VSVCIsICJGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQiLCAiRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BV1MiLCAiRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BWlVSRSIsICJGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0dDUCIsICJGQUFTVFJJR0dFUlZBTFVFU19EQVRBU09VUkNFIiwgIkZBQVNUUklHR0VSVkFMVUVTX0hUVFAiLCAiRkFBU1RSSUdHRVJWQUxVRVNfT1RIRVIiLCAiRkFBU1RSSUdHRVJWQUxVRVNfUFVCU1VCIiwgIkZBQVNUUklHR0VSVkFMVUVTX1RJTUVSIiwgIkZhYXNEb2N1bWVudE9wZXJhdGlvblZhbHVlcyIsICJGYWFzSW52b2tlZFByb3ZpZGVyVmFsdWVzIiwgIkZhYXNUcmlnZ2VyVmFsdWVzIiwgIkhUVFBGTEFWT1JWQUxVRVNfSFRUUF8xXzAiLCAiSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMSIsICJIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMl8wIiwgIkhUVFBGTEFWT1JWQUxVRVNfUVVJQyIsICJIVFRQRkxBVk9SVkFMVUVTX1NQRFkiLCAiSHR0cEZsYXZvclZhbHVlcyIsICJNRVNTQUdFVFlQRVZBTFVFU19SRUNFSVZFRCIsICJNRVNTQUdFVFlQRVZBTFVFU19TRU5UIiwgIk1FU1NBR0lOR0RFU1RJTkFUSU9OS0lORFZBTFVFU19RVUVVRSIsICJNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfVE9QSUMiLCAiTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1BST0NFU1MiLCAiTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1JFQ0VJVkUiLCAiTWVzc2FnZVR5cGVWYWx1ZXMiLCAiTWVzc2FnaW5nRGVzdGluYXRpb25LaW5kVmFsdWVzIiwgIk1lc3NhZ2luZ09wZXJhdGlvblZhbHVlcyIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQTIwMDBfMVhSVFQiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VER0UiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VIUlBEIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPXzAiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRVZET19CIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HUFJTIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HU00iLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTRFBBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBUCIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNVUEEiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lERU4iLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lXTEFOIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19MVEUiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURV9DQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTlIiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05STlNBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19URF9TQ0RNQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfVU1UUyIsICJORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfQ0VMTCIsICJORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfVU5BVkFJTEFCTEUiLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1VOS05PV04iLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJRkkiLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJUkVEIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19JTlBST0MiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX0lQIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19JUF9UQ1AiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX0lQX1VEUCIsICJORVRUUkFOU1BPUlRWQUxVRVNfT1RIRVIiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX1BJUEUiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX1VOSVgiLCAiTmV0SG9zdENvbm5lY3Rpb25TdWJ0eXBlVmFsdWVzIiwgIk5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcyIsICJOZXRUcmFuc3BvcnRWYWx1ZXMiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQUJPUlRFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BTFJFQURZX0VYSVNUUyIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19DQU5DRUxMRUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfREFUQV9MT1NTIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RFQURMSU5FX0VYQ0VFREVEIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0ZBSUxFRF9QUkVDT05ESVRJT04iLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5URVJOQUwiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5WQUxJRF9BUkdVTUVOVCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19OT1RfRk9VTkQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT0siLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT1VUX09GX1JBTkdFIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1BFUk1JU1NJT05fREVOSUVEIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1JFU09VUkNFX0VYSEFVU1RFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFVVEhFTlRJQ0FURUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5BVkFJTEFCTEUiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5JTVBMRU1FTlRFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTktOT1dOIiwgIlJwY0dycGNTdGF0dXNDb2RlVmFsdWVzIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9BVFRSSUJVVEVTX1RPX0dFVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFX0RFRklOSVRJT05TIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT05TSVNURU5UX1JFQUQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPTlNVTUVEX0NBUEFDSVRZIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT1VOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfRVhDTFVTSVZFX1NUQVJUX1RBQkxFIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9HTE9CQUxfU0VDT05EQVJZX0lOREVYRVMiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhfVVBEQVRFUyIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfSU5ERVhfTkFNRSIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfSVRFTV9DT0xMRUNUSU9OX01FVFJJQ1MiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xJTUlUIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9MT0NBTF9TRUNPTkRBUllfSU5ERVhFUyIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPSkVDVElPTiIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfUkVBRF9DQVBBQ0lUWSIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfV1JJVEVfQ0FQQUNJVFkiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5ORURfQ09VTlQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5fRk9SV0FSRCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VHTUVOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VMRUNUIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9DT1VOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfVEFCTEVfTkFNRVMiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RPVEFMX1NFR01FTlRTIiwgIlNFTUFUVFJTX0FXU19MQU1CREFfSU5WT0tFRF9BUk4iLCAiU0VNQVRUUlNfQ09ERV9GSUxFUEFUSCIsICJTRU1BVFRSU19DT0RFX0ZVTkNUSU9OIiwgIlNFTUFUVFJTX0NPREVfTElORU5PIiwgIlNFTUFUVFJTX0NPREVfTkFNRVNQQUNFIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT05TSVNURU5DWV9MRVZFTCIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfREMiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPT1JESU5BVE9SX0lEIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9JREVNUE9URU5DRSIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfS0VZU1BBQ0UiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX1BBR0VfU0laRSIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfU1BFQ1VMQVRJVkVfRVhFQ1VUSU9OX0NPVU5UIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9UQUJMRSIsICJTRU1BVFRSU19EQl9DT05ORUNUSU9OX1NUUklORyIsICJTRU1BVFRSU19EQl9IQkFTRV9OQU1FU1BBQ0UiLCAiU0VNQVRUUlNfREJfSkRCQ19EUklWRVJfQ0xBU1NOQU1FIiwgIlNFTUFUVFJTX0RCX01PTkdPREJfQ09MTEVDVElPTiIsICJTRU1BVFRSU19EQl9NU1NRTF9JTlNUQU5DRV9OQU1FIiwgIlNFTUFUVFJTX0RCX05BTUUiLCAiU0VNQVRUUlNfREJfT1BFUkFUSU9OIiwgIlNFTUFUVFJTX0RCX1JFRElTX0RBVEFCQVNFX0lOREVYIiwgIlNFTUFUVFJTX0RCX1NRTF9UQUJMRSIsICJTRU1BVFRSU19EQl9TVEFURU1FTlQiLCAiU0VNQVRUUlNfREJfU1lTVEVNIiwgIlNFTUFUVFJTX0RCX1VTRVIiLCAiU0VNQVRUUlNfRU5EVVNFUl9JRCIsICJTRU1BVFRSU19FTkRVU0VSX1JPTEUiLCAiU0VNQVRUUlNfRU5EVVNFUl9TQ09QRSIsICJTRU1BVFRSU19FWENFUFRJT05fRVNDQVBFRCIsICJTRU1BVFRSU19FWENFUFRJT05fTUVTU0FHRSIsICJTRU1BVFRSU19FWENFUFRJT05fU1RBQ0tUUkFDRSIsICJTRU1BVFRSU19FWENFUFRJT05fVFlQRSIsICJTRU1BVFRSU19GQUFTX0NPTERTVEFSVCIsICJTRU1BVFRSU19GQUFTX0NST04iLCAiU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9DT0xMRUNUSU9OIiwgIlNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfTkFNRSIsICJTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX09QRVJBVElPTiIsICJTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX1RJTUUiLCAiU0VNQVRUUlNfRkFBU19FWEVDVVRJT04iLCAiU0VNQVRUUlNfRkFBU19JTlZPS0VEX05BTUUiLCAiU0VNQVRUUlNfRkFBU19JTlZPS0VEX1BST1ZJREVSIiwgIlNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9SRUdJT04iLCAiU0VNQVRUUlNfRkFBU19USU1FIiwgIlNFTUFUVFJTX0ZBQVNfVFJJR0dFUiIsICJTRU1BVFRSU19IVFRQX0NMSUVOVF9JUCIsICJTRU1BVFRSU19IVFRQX0ZMQVZPUiIsICJTRU1BVFRSU19IVFRQX0hPU1QiLCAiU0VNQVRUUlNfSFRUUF9NRVRIT0QiLCAiU0VNQVRUUlNfSFRUUF9SRVFVRVNUX0NPTlRFTlRfTEVOR1RIIiwgIlNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQiLCAiU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSCIsICJTRU1BVFRSU19IVFRQX1JFU1BPTlNFX0NPTlRFTlRfTEVOR1RIX1VOQ09NUFJFU1NFRCIsICJTRU1BVFRSU19IVFRQX1JPVVRFIiwgIlNFTUFUVFJTX0hUVFBfU0NIRU1FIiwgIlNFTUFUVFJTX0hUVFBfU0VSVkVSX05BTUUiLCAiU0VNQVRUUlNfSFRUUF9TVEFUVVNfQ09ERSIsICJTRU1BVFRSU19IVFRQX1RBUkdFVCIsICJTRU1BVFRSU19IVFRQX1VSTCIsICJTRU1BVFRSU19IVFRQX1VTRVJfQUdFTlQiLCAiU0VNQVRUUlNfTUVTU0FHRV9DT01QUkVTU0VEX1NJWkUiLCAiU0VNQVRUUlNfTUVTU0FHRV9JRCIsICJTRU1BVFRSU19NRVNTQUdFX1RZUEUiLCAiU0VNQVRUUlNfTUVTU0FHRV9VTkNPTVBSRVNTRURfU0laRSIsICJTRU1BVFRSU19NRVNTQUdJTkdfQ09OU1VNRVJfSUQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0NPTlZFUlNBVElPTl9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfREVTVElOQVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OX0tJTkQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX0NMSUVOVF9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfQ09OU1VNRVJfR1JPVVAiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX01FU1NBR0VfS0VZIiwgIlNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9QQVJUSVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX1RPTUJTVE9ORSIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX0NPTVBSRVNTRURfU0laRV9CWVRFUyIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX1NJWkVfQllURVMiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX09QRVJBVElPTiIsICJTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0wiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1BST1RPQ09MX1ZFUlNJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1JBQkJJVE1RX1JPVVRJTkdfS0VZIiwgIlNFTUFUVFJTX01FU1NBR0lOR19TWVNURU0iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1RFTVBfREVTVElOQVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1VSTCIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX0lDQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01DQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01OQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX05BTUUiLCAiU0VNQVRUUlNfTkVUX0hPU1RfQ09OTkVDVElPTl9TVUJUWVBFIiwgIlNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fVFlQRSIsICJTRU1BVFRSU19ORVRfSE9TVF9JUCIsICJTRU1BVFRSU19ORVRfSE9TVF9OQU1FIiwgIlNFTUFUVFJTX05FVF9IT1NUX1BPUlQiLCAiU0VNQVRUUlNfTkVUX1BFRVJfSVAiLCAiU0VNQVRUUlNfTkVUX1BFRVJfTkFNRSIsICJTRU1BVFRSU19ORVRfUEVFUl9QT1JUIiwgIlNFTUFUVFJTX05FVF9UUkFOU1BPUlQiLCAiU0VNQVRUUlNfUEVFUl9TRVJWSUNFIiwgIlNFTUFUVFJTX1JQQ19HUlBDX1NUQVRVU19DT0RFIiwgIlNFTUFUVFJTX1JQQ19KU09OUlBDX0VSUk9SX0NPREUiLCAiU0VNQVRUUlNfUlBDX0pTT05SUENfRVJST1JfTUVTU0FHRSIsICJTRU1BVFRSU19SUENfSlNPTlJQQ19SRVFVRVNUX0lEIiwgIlNFTUFUVFJTX1JQQ19KU09OUlBDX1ZFUlNJT04iLCAiU0VNQVRUUlNfUlBDX01FVEhPRCIsICJTRU1BVFRSU19SUENfU0VSVklDRSIsICJTRU1BVFRSU19SUENfU1lTVEVNIiwgIlNFTUFUVFJTX1RIUkVBRF9JRCIsICJTRU1BVFRSU19USFJFQURfTkFNRSIsICJTZW1hbnRpY0F0dHJpYnV0ZXMiLCAidHJhY2UiLCAiY29udGV4dCIsICJEaWFnTG9nTGV2ZWwiLCAiSU5WQUxJRF9TUEFOSUQiLCAiSU5WQUxJRF9TUEFOX0NPTlRFWFQiLCAiSU5WQUxJRF9UUkFDRUlEIiwgIlByb3h5VHJhY2VyIiwgIlByb3h5VHJhY2VyUHJvdmlkZXIiLCAiUk9PVF9DT05URVhUIiwgIlNwYW5LaW5kIiwgIlNwYW5TdGF0dXNDb2RlIiwgIlRyYWNlRmxhZ3MiLCAiY3JlYXRlQ29udGV4dEtleSIsICJpc1NwYW5Db250ZXh0VmFsaWQiLCAiaXNWYWxpZFNwYW5JZCIsICJpc1ZhbGlkVHJhY2VJZCIsICJtZXRyaWNzIiwgImNyZWF0ZU5vb3BNZXRlciIsICJTYW1wbGluZ0RlY2lzaW9uIiwgImVzbSQyIiwgImRpYWciLCAiQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIiLCAiQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19GQVJHQVRFIiwgIkF3c0Vjc0xhdW5jaHR5cGVWYWx1ZXMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0VDUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUMyIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEsiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfTEFNQkRBIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQVBQX1NFUlZJQ0UiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9DT05UQUlORVJfSU5TVEFOQ0VTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfRlVOQ1RJT05TIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk0iLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQVBQX0VOR0lORSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9GVU5DVElPTlMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfUlVOIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0tVQkVSTkVURVNfRU5HSU5FIiwgIkNMT1VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCIsICJDTE9VRFBST1ZJREVSVkFMVUVTX0FXUyIsICJDTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFIiwgIkNMT1VEUFJPVklERVJWQUxVRVNfR0NQIiwgIkNsb3VkUGxhdGZvcm1WYWx1ZXMiLCAiQ2xvdWRQcm92aWRlclZhbHVlcyIsICJIT1NUQVJDSFZBTFVFU19BTUQ2NCIsICJIT1NUQVJDSFZBTFVFU19BUk0zMiIsICJIT1NUQVJDSFZBTFVFU19BUk02NCIsICJIT1NUQVJDSFZBTFVFU19JQTY0IiwgIkhPU1RBUkNIVkFMVUVTX1BQQzMyIiwgIkhPU1RBUkNIVkFMVUVTX1BQQzY0IiwgIkhPU1RBUkNIVkFMVUVTX1g4NiIsICJIb3N0QXJjaFZhbHVlcyIsICJPU1RZUEVWQUxVRVNfQUlYIiwgIk9TVFlQRVZBTFVFU19EQVJXSU4iLCAiT1NUWVBFVkFMVUVTX0RSQUdPTkZMWUJTRCIsICJPU1RZUEVWQUxVRVNfRlJFRUJTRCIsICJPU1RZUEVWQUxVRVNfSFBVWCIsICJPU1RZUEVWQUxVRVNfTElOVVgiLCAiT1NUWVBFVkFMVUVTX05FVEJTRCIsICJPU1RZUEVWQUxVRVNfT1BFTkJTRCIsICJPU1RZUEVWQUxVRVNfU09MQVJJUyIsICJPU1RZUEVWQUxVRVNfV0lORE9XUyIsICJPU1RZUEVWQUxVRVNfWl9PUyIsICJPc1R5cGVWYWx1ZXMiLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19DTFVTVEVSX0FSTiIsICJTRU1SRVNBVFRSU19BV1NfRUNTX0NPTlRBSU5FUl9BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19MQVVOQ0hUWVBFIiwgIlNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX0ZBTUlMWSIsICJTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfUkVWSVNJT04iLCAiU0VNUkVTQVRUUlNfQVdTX0VLU19DTFVTVEVSX0FSTiIsICJTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX0FSTlMiLCAiU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9OQU1FUyIsICJTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9BUk5TIiwgIlNFTVJFU0FUVFJTX0FXU19MT0dfU1RSRUFNX05BTUVTIiwgIlNFTVJFU0FUVFJTX0NMT1VEX0FDQ09VTlRfSUQiLCAiU0VNUkVTQVRUUlNfQ0xPVURfQVZBSUxBQklMSVRZX1pPTkUiLCAiU0VNUkVTQVRUUlNfQ0xPVURfUExBVEZPUk0iLCAiU0VNUkVTQVRUUlNfQ0xPVURfUFJPVklERVIiLCAiU0VNUkVTQVRUUlNfQ0xPVURfUkVHSU9OIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JRCIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfTkFNRSIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfVEFHIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9SVU5USU1FIiwgIlNFTVJFU0FUVFJTX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQiLCAiU0VNUkVTQVRUUlNfREVWSUNFX0lEIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9JREVOVElGSUVSIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9OQU1FIiwgIlNFTVJFU0FUVFJTX0ZBQVNfSUQiLCAiU0VNUkVTQVRUUlNfRkFBU19JTlNUQU5DRSIsICJTRU1SRVNBVFRSU19GQUFTX01BWF9NRU1PUlkiLCAiU0VNUkVTQVRUUlNfRkFBU19OQU1FIiwgIlNFTVJFU0FUVFJTX0ZBQVNfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19IT1NUX0FSQ0giLCAiU0VNUkVTQVRUUlNfSE9TVF9JRCIsICJTRU1SRVNBVFRSU19IT1NUX0lNQUdFX0lEIiwgIlNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfTkFNRSIsICJTRU1SRVNBVFRSU19IT1NUX0lNQUdFX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfSE9TVF9OQU1FIiwgIlNFTVJFU0FUVFJTX0hPU1RfVFlQRSIsICJTRU1SRVNBVFRSU19LOFNfQ0xVU1RFUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19DT05UQUlORVJfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19DUk9OSk9CX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfREFFTU9OU0VUX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0pPQl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19KT0JfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19OQU1FU1BBQ0VfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfTk9ERV9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19OT0RFX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfUE9EX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX1BPRF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX1VJRCIsICJTRU1SRVNBVFRSU19PU19ERVNDUklQVElPTiIsICJTRU1SRVNBVFRSU19PU19OQU1FIiwgIlNFTVJFU0FUVFJTX09TX1RZUEUiLCAiU0VNUkVTQVRUUlNfT1NfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkQiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0FSR1MiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0xJTkUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX05BTUUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX1BBVEgiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19PV05FUiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfREVTQ1JJUFRJT04iLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX05BTUUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9JTlNUQU5DRV9JRCIsICJTRU1SRVNBVFRSU19TRVJWSUNFX05BTUUiLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FU1BBQ0UiLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9BVVRPX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19MQU5HVUFHRSIsICJTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUUiLCAiU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1dFQkVOR0lORV9ERVNDUklQVElPTiIsICJTRU1SRVNBVFRSU19XRUJFTkdJTkVfTkFNRSIsICJTRU1SRVNBVFRSU19XRUJFTkdJTkVfVkVSU0lPTiIsICJTZW1hbnRpY1Jlc291cmNlQXR0cmlidXRlcyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFAiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRE9UTkVUIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19HTyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19KQVZBIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFAiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUFlUSE9OIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlkiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMiLCAiVGVsZW1ldHJ5U2RrTGFuZ3VhZ2VWYWx1ZXMiLCAiX21lcmdlTmFtZXNwYWNlcyIsICJuIiwgIm0iLCAiaSIsICJlIiwgImsiLCAiZCIsICJjb25zb2xlTWFwIiwgIkRpYWdDb25zb2xlTG9nZ2VyIiwgIl9jb25zb2xlRnVuYyIsICJmdW5jTmFtZSIsICJhcmdzIiwgIl9pIiwgInRoZUZ1bmMiLCAiVmFsdWVUeXBlIiwgIlZBTElEX0tFWV9DSEFSX1JBTkdFIiwgIlZBTElEX0tFWSIsICJWQUxJRF9WRU5ET1JfS0VZIiwgIlZBTElEX0tFWV9SRUdFWCIsICJWQUxJRF9WQUxVRV9CQVNFX1JFR0VYIiwgIklOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVgiLCAidmFsaWRhdGVLZXkiLCAia2V5IiwgInZhbGlkYXRlVmFsdWUiLCAidmFsdWUiLCAiTUFYX1RSQUNFX1NUQVRFX0lURU1TIiwgIk1BWF9UUkFDRV9TVEFURV9MRU4iLCAiTElTVF9NRU1CRVJTX1NFUEFSQVRPUiIsICJMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIiLCAiVHJhY2VTdGF0ZUltcGwiLCAicmF3VHJhY2VTdGF0ZSIsICJ0cmFjZVN0YXRlIiwgIl90aGlzIiwgImFnZyIsICJwYXJ0IiwgImxpc3RNZW1iZXIiLCAiY3JlYXRlVHJhY2VTdGF0ZSIsICJpbmRleCIsICJlc20kMSIsICJBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFQiLCAiQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9BQ1FVSVJFRCIsICJBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0VORFBPSU5UX0xJTUlURVIiLCAiQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9HTE9CQUxfTElNSVRFUiIsICJBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX1JFUVVFU1RfQ0FOQ0VMRUQiLCAiQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfQ1BQIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRE9UTkVUIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRVJMQU5HIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08iLCAiVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfTk9ERUpTIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUEhQIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUFlUSE9OIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVCWSIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1JVU1QiLCAiVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9TV0lGVCIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1dFQkpTIiwgIkFUVFJfVEVMRU1FVFJZX1NES19OQU1FIiwgIkFUVFJfVEVMRU1FVFJZX1NES19WRVJTSU9OIiwgIkFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19IQU5ETEVSX1RZUEUiLCAiQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0FCT1JURUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0hBTkRMRUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX1NLSVBQRUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX1VOSEFORExFRCIsICJBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19QT0xJQ1kiLCAiQVRUUl9BU1BORVRDT1JFX1JFUVVFU1RfSVNfVU5IQU5ETEVEIiwgIkFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX0lTX0ZBTExCQUNLIiwgIkFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVUyIsICJBU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTX1ZBTFVFX0ZBSUxVUkUiLCAiQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVU19WQUxVRV9TVUNDRVNTIiwgIkFUVFJfQ0xJRU5UX0FERFJFU1MiLCAiQVRUUl9DTElFTlRfUE9SVCIsICJBVFRSX0VSUk9SX1RZUEUiLCAiRVJST1JfVFlQRV9WQUxVRV9PVEhFUiIsICJBVFRSX0VYQ0VQVElPTl9FU0NBUEVEIiwgIkFUVFJfRVhDRVBUSU9OX01FU1NBR0UiLCAiQVRUUl9FWENFUFRJT05fU1RBQ0tUUkFDRSIsICJBVFRSX0VYQ0VQVElPTl9UWVBFIiwgIkFUVFJfSFRUUF9SRVFVRVNUX0hFQURFUiIsICJBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0QiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PVEhFUiIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0NPTk5FQ1QiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9ERUxFVEUiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9HRVQiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFEIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1BUSU9OUyIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BBVENIIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUE9TVCIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BVVCIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1RSQUNFIiwgIkFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRF9PUklHSU5BTCIsICJBVFRSX0hUVFBfUkVRVUVTVF9SRVNFTkRfQ09VTlQiLCAiQVRUUl9IVFRQX1JFU1BPTlNFX0hFQURFUiIsICJBVFRSX0hUVFBfUkVTUE9OU0VfU1RBVFVTX0NPREUiLCAiQVRUUl9IVFRQX1JPVVRFIiwgIkFUVFJfSlZNX0dDX0FDVElPTiIsICJBVFRSX0pWTV9HQ19OQU1FIiwgIkFUVFJfSlZNX01FTU9SWV9QT09MX05BTUUiLCAiQVRUUl9KVk1fTUVNT1JZX1RZUEUiLCAiSlZNX01FTU9SWV9UWVBFX1ZBTFVFX0hFQVAiLCAiSlZNX01FTU9SWV9UWVBFX1ZBTFVFX05PTl9IRUFQIiwgIkFUVFJfSlZNX1RIUkVBRF9EQUVNT04iLCAiQVRUUl9KVk1fVEhSRUFEX1NUQVRFIiwgIkpWTV9USFJFQURfU1RBVEVfVkFMVUVfQkxPQ0tFRCIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX05FVyIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1JVTk5BQkxFIiwgIkpWTV9USFJFQURfU1RBVEVfVkFMVUVfVEVSTUlOQVRFRCIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1RJTUVEX1dBSVRJTkciLCAiSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9XQUlUSU5HIiwgIkFUVFJfTkVUV09SS19MT0NBTF9BRERSRVNTIiwgIkFUVFJfTkVUV09SS19MT0NBTF9QT1JUIiwgIkFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MiLCAiQVRUUl9ORVRXT1JLX1BFRVJfUE9SVCIsICJBVFRSX05FVFdPUktfUFJPVE9DT0xfTkFNRSIsICJBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTiIsICJBVFRSX05FVFdPUktfVFJBTlNQT1JUIiwgIk5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUiLCAiTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyIsICJORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9UQ1AiLCAiTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQIiwgIk5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VOSVgiLCAiQVRUUl9ORVRXT1JLX1RZUEUiLCAiTkVUV09SS19UWVBFX1ZBTFVFX0lQVjQiLCAiTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYiLCAiQVRUUl9PVEVMX1NDT1BFX05BTUUiLCAiQVRUUl9PVEVMX1NDT1BFX1ZFUlNJT04iLCAiQVRUUl9PVEVMX1NUQVRVU19DT0RFIiwgIk9URUxfU1RBVFVTX0NPREVfVkFMVUVfRVJST1IiLCAiT1RFTF9TVEFUVVNfQ09ERV9WQUxVRV9PSyIsICJBVFRSX09URUxfU1RBVFVTX0RFU0NSSVBUSU9OIiwgIkFUVFJfU0VSVkVSX0FERFJFU1MiLCAiQVRUUl9TRVJWRVJfUE9SVCIsICJBVFRSX1NFUlZJQ0VfTkFNRSIsICJBVFRSX1NFUlZJQ0VfVkVSU0lPTiIsICJBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVMiLCAiU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04iLCAiU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9OT1JNQUxfQ0xPU1VSRSIsICJTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX1RJTUVPVVQiLCAiQVRUUl9TSUdOQUxSX1RSQU5TUE9SVCIsICJTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9MT05HX1BPTExJTkciLCAiU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfU0VSVkVSX1NFTlRfRVZFTlRTIiwgIlNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1dFQl9TT0NLRVRTIiwgIkFUVFJfVVJMX0ZSQUdNRU5UIiwgIkFUVFJfVVJMX0ZVTEwiLCAiQVRUUl9VUkxfUEFUSCIsICJBVFRSX1VSTF9RVUVSWSIsICJBVFRSX1VSTF9TQ0hFTUUiLCAiQVRUUl9VU0VSX0FHRU5UX09SSUdJTkFMIiwgIk1FVFJJQ19BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTlMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19BQ1RJVkVfUkVRVUVTVF9MRUFTRVMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19RVUVVRURfUkVRVUVTVFMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX0xFQVNFX0RVUkFUSU9OIiwgIk1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVFMiLCAiTUVUUklDX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9BVFRFTVBUUyIsICJNRVRSSUNfSFRUUF9DTElFTlRfUkVRVUVTVF9EVVJBVElPTiIsICJNRVRSSUNfSFRUUF9TRVJWRVJfUkVRVUVTVF9EVVJBVElPTiIsICJNRVRSSUNfSlZNX0NMQVNTX0NPVU5UIiwgIk1FVFJJQ19KVk1fQ0xBU1NfTE9BREVEIiwgIk1FVFJJQ19KVk1fQ0xBU1NfVU5MT0FERUQiLCAiTUVUUklDX0pWTV9DUFVfQ09VTlQiLCAiTUVUUklDX0pWTV9DUFVfUkVDRU5UX1VUSUxJWkFUSU9OIiwgIk1FVFJJQ19KVk1fQ1BVX1RJTUUiLCAiTUVUUklDX0pWTV9HQ19EVVJBVElPTiIsICJNRVRSSUNfSlZNX01FTU9SWV9DT01NSVRURUQiLCAiTUVUUklDX0pWTV9NRU1PUllfTElNSVQiLCAiTUVUUklDX0pWTV9NRU1PUllfVVNFRCIsICJNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MiLCAiTUVUUklDX0pWTV9USFJFQURfQ09VTlQiLCAiTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TIiwgIk1FVFJJQ19LRVNUUkVMX0FDVElWRV9UTFNfSEFORFNIQUtFUyIsICJNRVRSSUNfS0VTVFJFTF9DT05ORUNUSU9OX0RVUkFUSU9OIiwgIk1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyIsICJNRVRSSUNfS0VTVFJFTF9RVUVVRURfUkVRVUVTVFMiLCAiTUVUUklDX0tFU1RSRUxfUkVKRUNURURfQ09OTkVDVElPTlMiLCAiTUVUUklDX0tFU1RSRUxfVExTX0hBTkRTSEFLRV9EVVJBVElPTiIsICJNRVRSSUNfS0VTVFJFTF9VUEdSQURFRF9DT05ORUNUSU9OUyIsICJNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQUNUSVZFX0NPTk5FQ1RJT05TIiwgIk1FVFJJQ19TSUdOQUxSX1NFUlZFUl9DT05ORUNUSU9OX0RVUkFUSU9OIiwgImVzbSIsICJkZXRlY3RSZXNvdXJjZXMkMSIsICJSZXNvdXJjZSIsICJyZXF1aXJlJCQxJDEiLCAicmVxdWlyZSQkMSIsICJyZXF1aXJlJCQyIiwgImJyb3dzZXIiLCAiZGVmYXVsdFNlcnZpY2VOYW1lIiwgImhhc1JlcXVpcmVkRGVmYXVsdFNlcnZpY2VOYW1lIiwgInJlcXVpcmVEZWZhdWx0U2VydmljZU5hbWUiLCAiZGVmYXVsdFNlcnZpY2VOYW1lJDEiLCAiaGFzUmVxdWlyZWRCcm93c2VyIiwgInJlcXVpcmVCcm93c2VyIiwgImV4cG9ydHMiLCAiZGVmYXVsdF9zZXJ2aWNlX25hbWVfMSIsICJoYXNSZXF1aXJlZFJlc291cmNlIiwgInJlcXVpcmVSZXNvdXJjZSIsICJhcGlfMSIsICJzZW1hbnRpY19jb252ZW50aW9uc18xIiwgImNvcmVfMSIsICJwbGF0Zm9ybV8xIiwgIlJlc291cmNlJDEiLCAiYXR0cmlidXRlcyIsICJhc3luY0F0dHJpYnV0ZXNQcm9taXNlIiwgIl9hIiwgImFzeW5jQXR0cmlidXRlcyIsICJlcnIiLCAib3RoZXIiLCAibWVyZ2VkU3luY0F0dHJpYnV0ZXMiLCAibWVyZ2VkQXR0cmlidXRlc1Byb21pc2UiLCAidGhpc0FzeW5jQXR0cmlidXRlcyIsICJvdGhlckFzeW5jQXR0cmlidXRlcyIsICJ1dGlscyIsICJoYXNSZXF1aXJlZFV0aWxzIiwgInJlcXVpcmVVdGlscyIsICJpc1Byb21pc2VMaWtlIiwgInZhbCIsICJoYXNSZXF1aXJlZERldGVjdFJlc291cmNlcyIsICJyZXF1aXJlRGV0ZWN0UmVzb3VyY2VzIiwgIlJlc291cmNlXzEiLCAidXRpbHNfMSIsICJkZXRlY3RSZXNvdXJjZXMiLCAiY29uZmlnIiwgInJlc291cmNlcyIsICJyZXNvdXJjZSIsICJsb2dSZXNvdXJjZXMiLCAiYWNjIiwgImRldGVjdFJlc291cmNlc1N5bmMiLCAicmVzb3VyY2VPclByb21pc2UiLCAiY3JlYXRlUHJvbWlzZSIsICJyZXNvbHZlZFJlc291cmNlIiwgIm1lcmdlZFJlc291cmNlcyIsICJyZXNvdXJjZURlYnVnU3RyaW5nIiwgImRldGVjdFJlc291cmNlc0V4cG9ydHMiXQp9Cg==
|