@getopenpay/openpay-js
Version:
Accept payments through OpenPay, right on your site
286 lines • 123 kB
JavaScript
import { c as E } from "./utils-De78ey-v.js";
var tS = "1.30.1", _ = "cloud.provider", a = "cloud.account.id", A = "cloud.region", T = "cloud.availability_zone", R = "cloud.platform", M = "aws.ecs.container.arn", r = "aws.ecs.cluster.arn", L = "aws.ecs.launchtype", O = "aws.ecs.task.arn", P = "aws.ecs.task.family", s = "aws.ecs.task.revision", v = "aws.eks.cluster.arn", N = "aws.log.group.names", U = "aws.log.group.arns", C = "aws.log.stream.names", e = "aws.log.stream.arns", D = "container.name", I = "container.id", V = "container.runtime", n = "container.image.name", o = "container.image.tag", G = "deployment.environment", i = "device.id", c = "device.model.identifier", t = "device.model.name", K = "faas.name", Y = "faas.id", m = "faas.version", d = "faas.instance", F = "faas.max_memory", l = "host.id", u = "host.name", p = "host.type", H = "host.arch", W = "host.image.name", b = "host.image.id", B = "host.image.version", g = "k8s.cluster.name", k = "k8s.node.name", w = "k8s.node.uid", y = "k8s.namespace.name", f = "k8s.pod.uid", h = "k8s.pod.name", Z = "k8s.container.name", J = "k8s.replicaset.uid", X = "k8s.replicaset.name", j = "k8s.deployment.uid", x = "k8s.deployment.name", z = "k8s.statefulset.uid", q = "k8s.statefulset.name", Q = "k8s.daemonset.uid", $ = "k8s.daemonset.name", EE = "k8s.job.uid", SE = "k8s.job.name", _E = "k8s.cronjob.uid", aE = "k8s.cronjob.name", AE = "os.type", TE = "os.description", RE = "os.name", ME = "os.version", rE = "process.pid", LE = "process.executable.name", OE = "process.executable.path", PE = "process.command", sE = "process.command_line", vE = "process.command_args", NE = "process.owner", UE = "process.runtime.name", CE = "process.runtime.version", eE = "process.runtime.description", DE = "service.name", IE = "service.namespace", VE = "service.instance.id", nE = "service.version", oE = "telemetry.sdk.name", GE = "telemetry.sdk.language", iE = "telemetry.sdk.version", cE = "telemetry.auto.version", tE = "webengine.name", KE = "webengine.version", YE = "webengine.description", uS = _, pS = a, HS = A, WS = T, bS = R, BS = M, gS = r, kS = L, wS = O, yS = P, fS = s, hS = v, ZS = N, JS = U, XS = C, jS = e, xS = D, zS = I, qS = V, QS = n, $S = o, E_ = G, S_ = i, __ = c, a_ = t, A_ = K, T_ = Y, R_ = m, M_ = d, r_ = F, L_ = l, O_ = u, P_ = p, s_ = H, v_ = W, N_ = b, U_ = B, C_ = g, e_ = k, D_ = w, I_ = y, V_ = f, n_ = h, o_ = Z, G_ = J, i_ = X, c_ = j, t_ = x, K_ = z, Y_ = q, m_ = Q, d_ = $, F_ = EE, l_ = SE, u_ = _E, p_ = aE, H_ = AE, W_ = TE, b_ = RE, B_ = ME, g_ = rE, k_ = LE, w_ = OE, y_ = PE, f_ = sE, h_ = vE, Z_ = NE, KS = UE, J_ = CE, X_ = eE, j_ = DE, x_ = IE, z_ = VE, q_ = nE, YS = oE, mS = GE, dS = iE, Q_ = cE, $_ = tE, Ea = KE, Sa = YE, _a = /* @__PURE__ */ E([
_,
a,
A,
T,
R,
M,
r,
L,
O,
P,
s,
v,
N,
U,
C,
e,
D,
I,
V,
n,
o,
G,
i,
c,
t,
K,
Y,
m,
d,
F,
l,
u,
p,
H,
W,
b,
B,
g,
k,
w,
y,
f,
h,
Z,
J,
X,
j,
x,
z,
q,
Q,
$,
EE,
SE,
_E,
aE,
AE,
TE,
RE,
ME,
rE,
LE,
OE,
PE,
sE,
vE,
NE,
UE,
CE,
eE,
DE,
IE,
VE,
nE,
oE,
GE,
iE,
cE,
tE,
KE,
YE
]), mE = "alibaba_cloud", dE = "aws", FE = "azure", lE = "gcp", aa = mE, Aa = dE, Ta = FE, Ra = lE, Ma = /* @__PURE__ */ E([
mE,
dE,
FE,
lE
]), uE = "alibaba_cloud_ecs", pE = "alibaba_cloud_fc", HE = "aws_ec2", WE = "aws_ecs", bE = "aws_eks", BE = "aws_lambda", gE = "aws_elastic_beanstalk", kE = "azure_vm", wE = "azure_container_instances", yE = "azure_aks", fE = "azure_functions", hE = "azure_app_service", ZE = "gcp_compute_engine", JE = "gcp_cloud_run", XE = "gcp_kubernetes_engine", jE = "gcp_cloud_functions", xE = "gcp_app_engine", ra = uE, La = pE, Oa = HE, Pa = WE, sa = bE, va = BE, Na = gE, Ua = kE, Ca = wE, ea = yE, Da = fE, Ia = hE, Va = ZE, na = JE, oa = XE, Ga = jE, ia = xE, ca = /* @__PURE__ */ E([
uE,
pE,
HE,
WE,
bE,
BE,
gE,
kE,
wE,
yE,
fE,
hE,
ZE,
JE,
XE,
jE,
xE
]), zE = "ec2", qE = "fargate", ta = zE, Ka = qE, Ya = /* @__PURE__ */ E([
zE,
qE
]), QE = "amd64", $E = "arm32", ES = "arm64", SS = "ia64", _S = "ppc32", aS = "ppc64", AS = "x86", ma = QE, da = $E, Fa = ES, la = SS, ua = _S, pa = aS, Ha = AS, Wa = /* @__PURE__ */ E([
QE,
$E,
ES,
SS,
_S,
aS,
AS
]), TS = "windows", RS = "linux", MS = "darwin", rS = "freebsd", LS = "netbsd", OS = "openbsd", PS = "dragonflybsd", sS = "hpux", vS = "aix", NS = "solaris", US = "z_os", ba = TS, Ba = RS, ga = MS, ka = rS, wa = LS, ya = OS, fa = PS, ha = sS, Za = vS, Ja = NS, Xa = US, ja = /* @__PURE__ */ E([
TS,
RS,
MS,
rS,
LS,
OS,
PS,
sS,
vS,
NS,
US
]), CS = "cpp", eS = "dotnet", DS = "erlang", IS = "go", VS = "java", nS = "nodejs", oS = "php", GS = "python", iS = "ruby", cS = "webjs", xa = CS, za = eS, qa = DS, Qa = IS, $a = VS, EA = nS, SA = oS, _A = GS, aA = iS, FS = cS, AA = /* @__PURE__ */ E([
CS,
eS,
DS,
IS,
VS,
nS,
oS,
GS,
iS,
cS
]), S, TA = (S = {}, S[YS] = "opentelemetry", S[KS] = "browser", S[mS] = FS, S[dS] = tS, S);
export {
kS as $,
ta as A,
ca as B,
ra as C,
Ma as D,
da as E,
Fa as F,
la as G,
ma as H,
ua as I,
pa as J,
Ha as K,
Wa as L,
ga as M,
fa as N,
Za as O,
ka as P,
ha as Q,
Ba as R,
j_ as S,
wa as T,
ya as U,
Ja as V,
ba as W,
Xa as X,
ja as Y,
gS as Z,
BS as _,
TA as a,
g_ as a$,
wS as a0,
yS as a1,
fS as a2,
hS as a3,
JS as a4,
ZS as a5,
jS as a6,
XS as a7,
pS as a8,
WS as a9,
p_ as aA,
u_ as aB,
d_ as aC,
m_ as aD,
t_ as aE,
c_ as aF,
l_ as aG,
F_ as aH,
I_ as aI,
e_ as aJ,
D_ as aK,
n_ as aL,
V_ as aM,
i_ as aN,
G_ as aO,
Y_ as aP,
K_ as aQ,
W_ as aR,
b_ as aS,
H_ as aT,
B_ as aU,
y_ as aV,
h_ as aW,
f_ as aX,
k_ as aY,
w_ as aZ,
Z_ as a_,
bS as aa,
uS as ab,
HS as ac,
zS as ad,
QS as ae,
$S as af,
xS as ag,
qS as ah,
E_ as ai,
S_ as aj,
__ as ak,
a_ as al,
T_ as am,
M_ as an,
r_ as ao,
A_ as ap,
R_ as aq,
s_ as ar,
L_ as as,
N_ as at,
v_ as au,
U_ as av,
O_ as aw,
P_ as ax,
C_ as ay,
o_ as az,
mS as b,
X_ as b0,
KS as b1,
J_ as b2,
z_ as b3,
x_ as b4,
q_ as b5,
Q_ as b6,
Sa as b7,
$_ as b8,
Ea as b9,
_a as ba,
xa as bb,
za as bc,
qa as bd,
Qa as be,
$a as bf,
EA as bg,
SA as bh,
_A as bi,
aA as bj,
FS as bk,
AA as bl,
tS as bm,
YS as c,
dS as d,
Ka as e,
Ya as f,
La as g,
Oa as h,
Pa as i,
sa as j,
Na as k,
va as l,
ea as m,
Ia as n,
Ca as o,
Da as p,
Ua as q,
ia as r,
Ga as s,
na as t,
Va as u,
oa as v,
aa as w,
Aa as x,
Ta as y,
Ra as z
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic2RrLWluZm8tIX57MDBofX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGMgYXMgY3JlYXRlQ29uc3RNYXAgfSBmcm9tICcuL3V0aWxzLSF+ezAwN31+LmpzJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vIHRoaXMgaXMgYXV0b2dlbmVyYXRlZCBmaWxlLCBzZWUgc2NyaXB0cy92ZXJzaW9uLXVwZGF0ZS5qc1xudmFyIFZFUlNJT04gPSAnMS4zMC4xJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRE8gTk9UIEVESVQsIHRoaXMgaXMgYW4gQXV0by1nZW5lcmF0ZWQgZmlsZSBmcm9tIHNjcmlwdHMvc2VtY29udi90ZW1wbGF0ZXMvL3RlbXBsYXRlcy9TZW1hbnRpY0F0dHJpYnV0ZXMudHMuajJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb25zdGFudCB2YWx1ZXMgZm9yIFNlbWFudGljUmVzb3VyY2VBdHRyaWJ1dGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRlbXBvcmFyeSBsb2NhbCBjb25zdGFudHMgdG8gYXNzaWduIHRvIHRoZSBpbmRpdmlkdWFsIGV4cG9ydHMgYW5kIHRoZSBuYW1lc3BhY2VkIHZlcnNpb25cbi8vIFJlcXVpcmVkIHRvIGF2b2lkIHRoZSBuYW1lc3BhY2UgZXhwb3J0cyB1c2luZyB0aGUgdW5taW5pZmlhYmxlIGV4cG9ydCBuYW1lcyBmb3Igc29tZSBwYWNrYWdlIHR5cGVzXG52YXIgVE1QX0NMT1VEX1BST1ZJREVSID0gJ2Nsb3VkLnByb3ZpZGVyJztcbnZhciBUTVBfQ0xPVURfQUNDT1VOVF9JRCA9ICdjbG91ZC5hY2NvdW50LmlkJztcbnZhciBUTVBfQ0xPVURfUkVHSU9OID0gJ2Nsb3VkLnJlZ2lvbic7XG52YXIgVE1QX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FID0gJ2Nsb3VkLmF2YWlsYWJpbGl0eV96b25lJztcbnZhciBUTVBfQ0xPVURfUExBVEZPUk0gPSAnY2xvdWQucGxhdGZvcm0nO1xudmFyIFRNUF9BV1NfRUNTX0NPTlRBSU5FUl9BUk4gPSAnYXdzLmVjcy5jb250YWluZXIuYXJuJztcbnZhciBUTVBfQVdTX0VDU19DTFVTVEVSX0FSTiA9ICdhd3MuZWNzLmNsdXN0ZXIuYXJuJztcbnZhciBUTVBfQVdTX0VDU19MQVVOQ0hUWVBFID0gJ2F3cy5lY3MubGF1bmNodHlwZSc7XG52YXIgVE1QX0FXU19FQ1NfVEFTS19BUk4gPSAnYXdzLmVjcy50YXNrLmFybic7XG52YXIgVE1QX0FXU19FQ1NfVEFTS19GQU1JTFkgPSAnYXdzLmVjcy50YXNrLmZhbWlseSc7XG52YXIgVE1QX0FXU19FQ1NfVEFTS19SRVZJU0lPTiA9ICdhd3MuZWNzLnRhc2sucmV2aXNpb24nO1xudmFyIFRNUF9BV1NfRUtTX0NMVVNURVJfQVJOID0gJ2F3cy5la3MuY2x1c3Rlci5hcm4nO1xudmFyIFRNUF9BV1NfTE9HX0dST1VQX05BTUVTID0gJ2F3cy5sb2cuZ3JvdXAubmFtZXMnO1xudmFyIFRNUF9BV1NfTE9HX0dST1VQX0FSTlMgPSAnYXdzLmxvZy5ncm91cC5hcm5zJztcbnZhciBUTVBfQVdTX0xPR19TVFJFQU1fTkFNRVMgPSAnYXdzLmxvZy5zdHJlYW0ubmFtZXMnO1xudmFyIFRNUF9BV1NfTE9HX1NUUkVBTV9BUk5TID0gJ2F3cy5sb2cuc3RyZWFtLmFybnMnO1xudmFyIFRNUF9DT05UQUlORVJfTkFNRSA9ICdjb250YWluZXIubmFtZSc7XG52YXIgVE1QX0NPTlRBSU5FUl9JRCA9ICdjb250YWluZXIuaWQnO1xudmFyIFRNUF9DT05UQUlORVJfUlVOVElNRSA9ICdjb250YWluZXIucnVudGltZSc7XG52YXIgVE1QX0NPTlRBSU5FUl9JTUFHRV9OQU1FID0gJ2NvbnRhaW5lci5pbWFnZS5uYW1lJztcbnZhciBUTVBfQ09OVEFJTkVSX0lNQUdFX1RBRyA9ICdjb250YWluZXIuaW1hZ2UudGFnJztcbnZhciBUTVBfREVQTE9ZTUVOVF9FTlZJUk9OTUVOVCA9ICdkZXBsb3ltZW50LmVudmlyb25tZW50JztcbnZhciBUTVBfREVWSUNFX0lEID0gJ2RldmljZS5pZCc7XG52YXIgVE1QX0RFVklDRV9NT0RFTF9JREVOVElGSUVSID0gJ2RldmljZS5tb2RlbC5pZGVudGlmaWVyJztcbnZhciBUTVBfREVWSUNFX01PREVMX05BTUUgPSAnZGV2aWNlLm1vZGVsLm5hbWUnO1xudmFyIFRNUF9GQUFTX05BTUUgPSAnZmFhcy5uYW1lJztcbnZhciBUTVBfRkFBU19JRCA9ICdmYWFzLmlkJztcbnZhciBUTVBfRkFBU19WRVJTSU9OID0gJ2ZhYXMudmVyc2lvbic7XG52YXIgVE1QX0ZBQVNfSU5TVEFOQ0UgPSAnZmFhcy5pbnN0YW5jZSc7XG52YXIgVE1QX0ZBQVNfTUFYX01FTU9SWSA9ICdmYWFzLm1heF9tZW1vcnknO1xudmFyIFRNUF9IT1NUX0lEID0gJ2hvc3QuaWQnO1xudmFyIFRNUF9IT1NUX05BTUUgPSAnaG9zdC5uYW1lJztcbnZhciBUTVBfSE9TVF9UWVBFID0gJ2hvc3QudHlwZSc7XG52YXIgVE1QX0hPU1RfQVJDSCA9ICdob3N0LmFyY2gnO1xudmFyIFRNUF9IT1NUX0lNQUdFX05BTUUgPSAnaG9zdC5pbWFnZS5uYW1lJztcbnZhciBUTVBfSE9TVF9JTUFHRV9JRCA9ICdob3N0LmltYWdlLmlkJztcbnZhciBUTVBfSE9TVF9JTUFHRV9WRVJTSU9OID0gJ2hvc3QuaW1hZ2UudmVyc2lvbic7XG52YXIgVE1QX0s4U19DTFVTVEVSX05BTUUgPSAnazhzLmNsdXN0ZXIubmFtZSc7XG52YXIgVE1QX0s4U19OT0RFX05BTUUgPSAnazhzLm5vZGUubmFtZSc7XG52YXIgVE1QX0s4U19OT0RFX1VJRCA9ICdrOHMubm9kZS51aWQnO1xudmFyIFRNUF9LOFNfTkFNRVNQQUNFX05BTUUgPSAnazhzLm5hbWVzcGFjZS5uYW1lJztcbnZhciBUTVBfSzhTX1BPRF9VSUQgPSAnazhzLnBvZC51aWQnO1xudmFyIFRNUF9LOFNfUE9EX05BTUUgPSAnazhzLnBvZC5uYW1lJztcbnZhciBUTVBfSzhTX0NPTlRBSU5FUl9OQU1FID0gJ2s4cy5jb250YWluZXIubmFtZSc7XG52YXIgVE1QX0s4U19SRVBMSUNBU0VUX1VJRCA9ICdrOHMucmVwbGljYXNldC51aWQnO1xudmFyIFRNUF9LOFNfUkVQTElDQVNFVF9OQU1FID0gJ2s4cy5yZXBsaWNhc2V0Lm5hbWUnO1xudmFyIFRNUF9LOFNfREVQTE9ZTUVOVF9VSUQgPSAnazhzLmRlcGxveW1lbnQudWlkJztcbnZhciBUTVBfSzhTX0RFUExPWU1FTlRfTkFNRSA9ICdrOHMuZGVwbG95bWVudC5uYW1lJztcbnZhciBUTVBfSzhTX1NUQVRFRlVMU0VUX1VJRCA9ICdrOHMuc3RhdGVmdWxzZXQudWlkJztcbnZhciBUTVBfSzhTX1NUQVRFRlVMU0VUX05BTUUgPSAnazhzLnN0YXRlZnVsc2V0Lm5hbWUnO1xudmFyIFRNUF9LOFNfREFFTU9OU0VUX1VJRCA9ICdrOHMuZGFlbW9uc2V0LnVpZCc7XG52YXIgVE1QX0s4U19EQUVNT05TRVRfTkFNRSA9ICdrOHMuZGFlbW9uc2V0Lm5hbWUnO1xudmFyIFRNUF9LOFNfSk9CX1VJRCA9ICdrOHMuam9iLnVpZCc7XG52YXIgVE1QX0s4U19KT0JfTkFNRSA9ICdrOHMuam9iLm5hbWUnO1xudmFyIFRNUF9LOFNfQ1JPTkpPQl9VSUQgPSAnazhzLmNyb25qb2IudWlkJztcbnZhciBUTVBfSzhTX0NST05KT0JfTkFNRSA9ICdrOHMuY3JvbmpvYi5uYW1lJztcbnZhciBUTVBfT1NfVFlQRSA9ICdvcy50eXBlJztcbnZhciBUTVBfT1NfREVTQ1JJUFRJT04gPSAnb3MuZGVzY3JpcHRpb24nO1xudmFyIFRNUF9PU19OQU1FID0gJ29zLm5hbWUnO1xudmFyIFRNUF9PU19WRVJTSU9OID0gJ29zLnZlcnNpb24nO1xudmFyIFRNUF9QUk9DRVNTX1BJRCA9ICdwcm9jZXNzLnBpZCc7XG52YXIgVE1QX1BST0NFU1NfRVhFQ1VUQUJMRV9OQU1FID0gJ3Byb2Nlc3MuZXhlY3V0YWJsZS5uYW1lJztcbnZhciBUTVBfUFJPQ0VTU19FWEVDVVRBQkxFX1BBVEggPSAncHJvY2Vzcy5leGVjdXRhYmxlLnBhdGgnO1xudmFyIFRNUF9QUk9DRVNTX0NPTU1BTkQgPSAncHJvY2Vzcy5jb21tYW5kJztcbnZhciBUTVBfUFJPQ0VTU19DT01NQU5EX0xJTkUgPSAncHJvY2Vzcy5jb21tYW5kX2xpbmUnO1xudmFyIFRNUF9QUk9DRVNTX0NPTU1BTkRfQVJHUyA9ICdwcm9jZXNzLmNvbW1hbmRfYXJncyc7XG52YXIgVE1QX1BST0NFU1NfT1dORVIgPSAncHJvY2Vzcy5vd25lcic7XG52YXIgVE1QX1BST0NFU1NfUlVOVElNRV9OQU1FID0gJ3Byb2Nlc3MucnVudGltZS5uYW1lJztcbnZhciBUTVBfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04gPSAncHJvY2Vzcy5ydW50aW1lLnZlcnNpb24nO1xudmFyIFRNUF9QUk9DRVNTX1JVTlRJTUVfREVTQ1JJUFRJT04gPSAncHJvY2Vzcy5ydW50aW1lLmRlc2NyaXB0aW9uJztcbnZhciBUTVBfU0VSVklDRV9OQU1FID0gJ3NlcnZpY2UubmFtZSc7XG52YXIgVE1QX1NFUlZJQ0VfTkFNRVNQQUNFID0gJ3NlcnZpY2UubmFtZXNwYWNlJztcbnZhciBUTVBfU0VSVklDRV9JTlNUQU5DRV9JRCA9ICdzZXJ2aWNlLmluc3RhbmNlLmlkJztcbnZhciBUTVBfU0VSVklDRV9WRVJTSU9OID0gJ3NlcnZpY2UudmVyc2lvbic7XG52YXIgVE1QX1RFTEVNRVRSWV9TREtfTkFNRSA9ICd0ZWxlbWV0cnkuc2RrLm5hbWUnO1xudmFyIFRNUF9URUxFTUVUUllfU0RLX0xBTkdVQUdFID0gJ3RlbGVtZXRyeS5zZGsubGFuZ3VhZ2UnO1xudmFyIFRNUF9URUxFTUVUUllfU0RLX1ZFUlNJT04gPSAndGVsZW1ldHJ5LnNkay52ZXJzaW9uJztcbnZhciBUTVBfVEVMRU1FVFJZX0FVVE9fVkVSU0lPTiA9ICd0ZWxlbWV0cnkuYXV0by52ZXJzaW9uJztcbnZhciBUTVBfV0VCRU5HSU5FX05BTUUgPSAnd2ViZW5naW5lLm5hbWUnO1xudmFyIFRNUF9XRUJFTkdJTkVfVkVSU0lPTiA9ICd3ZWJlbmdpbmUudmVyc2lvbic7XG52YXIgVE1QX1dFQkVOR0lORV9ERVNDUklQVElPTiA9ICd3ZWJlbmdpbmUuZGVzY3JpcHRpb24nO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBjbG91ZCBwcm92aWRlci5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9DTE9VRF9QUk9WSURFUiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfQ0xPVURfUFJPVklERVIgPSBUTVBfQ0xPVURfUFJPVklERVI7XG4vKipcbiAqIFRoZSBjbG91ZCBhY2NvdW50IElEIHRoZSByZXNvdXJjZSBpcyBhc3NpZ25lZCB0by5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9DTE9VRF9BQ0NPVU5UX0lEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19DTE9VRF9BQ0NPVU5UX0lEID0gVE1QX0NMT1VEX0FDQ09VTlRfSUQ7XG4vKipcbiAqIFRoZSBnZW9ncmFwaGljYWwgcmVnaW9uIHRoZSByZXNvdXJjZSBpcyBydW5uaW5nLiBSZWZlciB0byB5b3VyIHByb3ZpZGVyJiMzOTtzIGRvY3MgdG8gc2VlIHRoZSBhdmFpbGFibGUgcmVnaW9ucywgZm9yIGV4YW1wbGUgW0FsaWJhYmEgQ2xvdWQgcmVnaW9uc10oaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL2RvYy1kZXRhaWwvNDA2NTQuaHRtKSwgW0FXUyByZWdpb25zXShodHRwczovL2F3cy5hbWF6b24uY29tL2Fib3V0LWF3cy9nbG9iYWwtaW5mcmFzdHJ1Y3R1cmUvcmVnaW9uc19hei8pLCBbQXp1cmUgcmVnaW9uc10oaHR0cHM6Ly9henVyZS5taWNyb3NvZnQuY29tL2VuLXVzL2dsb2JhbC1pbmZyYXN0cnVjdHVyZS9nZW9ncmFwaGllcy8pLCBvciBbR29vZ2xlIENsb3VkIHJlZ2lvbnNdKGh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9hYm91dC9sb2NhdGlvbnMpLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0NMT1VEX1JFR0lPTiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfQ0xPVURfUkVHSU9OID0gVE1QX0NMT1VEX1JFR0lPTjtcbi8qKlxuICogQ2xvdWQgcmVnaW9ucyBvZnRlbiBoYXZlIG11bHRpcGxlLCBpc29sYXRlZCBsb2NhdGlvbnMga25vd24gYXMgem9uZXMgdG8gaW5jcmVhc2UgYXZhaWxhYmlsaXR5LiBBdmFpbGFiaWxpdHkgem9uZSByZXByZXNlbnRzIHRoZSB6b25lIHdoZXJlIHRoZSByZXNvdXJjZSBpcyBydW5uaW5nLlxuICpcbiAqIE5vdGU6IEF2YWlsYWJpbGl0eSB6b25lcyBhcmUgY2FsbGVkICYjMzQ7em9uZXMmIzM0OyBvbiBBbGliYWJhIENsb3VkIGFuZCBHb29nbGUgQ2xvdWQuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfQ0xPVURfQVZBSUxBQklMSVRZX1pPTkUgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FID0gVE1QX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FO1xuLyoqXG4gKiBUaGUgY2xvdWQgcGxhdGZvcm0gaW4gdXNlLlxuICpcbiAqIE5vdGU6IFRoZSBwcmVmaXggb2YgdGhlIHNlcnZpY2UgU0hPVUxEIG1hdGNoIHRoZSBvbmUgc3BlY2lmaWVkIGluIGBjbG91ZC5wcm92aWRlcmAuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfQ0xPVURfUExBVEZPUk0gaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0NMT1VEX1BMQVRGT1JNID0gVE1QX0NMT1VEX1BMQVRGT1JNO1xuLyoqXG4gKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgYW4gW0VDUyBjb250YWluZXIgaW5zdGFuY2VdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25FQ1MvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL0VDU19pbnN0YW5jZXMuaHRtbCkuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfQVdTX0VDU19DT05UQUlORVJfQVJOIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19BV1NfRUNTX0NPTlRBSU5FUl9BUk4gPSBUTVBfQVdTX0VDU19DT05UQUlORVJfQVJOO1xuLyoqXG4gKiBUaGUgQVJOIG9mIGFuIFtFQ1MgY2x1c3Rlcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvY2x1c3RlcnMuaHRtbCkuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfQVdTX0VDU19DTFVTVEVSX0FSTiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfQVdTX0VDU19DTFVTVEVSX0FSTiA9IFRNUF9BV1NfRUNTX0NMVVNURVJfQVJOO1xuLyoqXG4gKiBUaGUgW2xhdW5jaCB0eXBlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9sYXVuY2hfdHlwZXMuaHRtbCkgZm9yIGFuIEVDUyB0YXNrLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0FXU19FQ1NfTEFVTkNIVFlQRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfQVdTX0VDU19MQVVOQ0hUWVBFID0gVE1QX0FXU19FQ1NfTEFVTkNIVFlQRTtcbi8qKlxuICogVGhlIEFSTiBvZiBhbiBbRUNTIHRhc2sgZGVmaW5pdGlvbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdGFza19kZWZpbml0aW9ucy5odG1sKS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9BV1NfRUNTX1RBU0tfQVJOIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfQVJOID0gVE1QX0FXU19FQ1NfVEFTS19BUk47XG4vKipcbiAqIFRoZSB0YXNrIGRlZmluaXRpb24gZmFtaWx5IHRoaXMgdGFzayBkZWZpbml0aW9uIGlzIGEgbWVtYmVyIG9mLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0FXU19FQ1NfVEFTS19GQU1JTFkgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19GQU1JTFkgPSBUTVBfQVdTX0VDU19UQVNLX0ZBTUlMWTtcbi8qKlxuICogVGhlIHJldmlzaW9uIGZvciB0aGlzIHRhc2sgZGVmaW5pdGlvbi5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9BV1NfRUNTX1RBU0tfUkVWSVNJT04gaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19SRVZJU0lPTiA9IFRNUF9BV1NfRUNTX1RBU0tfUkVWSVNJT047XG4vKipcbiAqIFRoZSBBUk4gb2YgYW4gRUtTIGNsdXN0ZXIuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfQVdTX0VLU19DTFVTVEVSX0FSTiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfQVdTX0VLU19DTFVTVEVSX0FSTiA9IFRNUF9BV1NfRUtTX0NMVVNURVJfQVJOO1xuLyoqXG4gKiBUaGUgbmFtZShzKSBvZiB0aGUgQVdTIGxvZyBncm91cChzKSBhbiBhcHBsaWNhdGlvbiBpcyB3cml0aW5nIHRvLlxuICpcbiAqIE5vdGU6IE11bHRpcGxlIGxvZyBncm91cHMgbXVzdCBiZSBzdXBwb3J0ZWQgZm9yIGNhc2VzIGxpa2UgbXVsdGktY29udGFpbmVyIGFwcGxpY2F0aW9ucywgd2hlcmUgYSBzaW5nbGUgYXBwbGljYXRpb24gaGFzIHNpZGVjYXIgY29udGFpbmVycywgYW5kIGVhY2ggd3JpdGUgdG8gdGhlaXIgb3duIGxvZyBncm91cC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9BV1NfTE9HX0dST1VQX05BTUVTIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX05BTUVTID0gVE1QX0FXU19MT0dfR1JPVVBfTkFNRVM7XG4vKipcbiAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZShzKSAoQVJOKSBvZiB0aGUgQVdTIGxvZyBncm91cChzKS5cbiAqXG4gKiBOb3RlOiBTZWUgdGhlIFtsb2cgZ3JvdXAgQVJOIGZvcm1hdCBkb2N1bWVudGF0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbG9ncy9pYW0tYWNjZXNzLWNvbnRyb2wtb3ZlcnZpZXctY3dsLmh0bWwjQ1dMX0FSTl9Gb3JtYXQpLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0FXU19MT0dfR1JPVVBfQVJOUyBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9BUk5TID0gVE1QX0FXU19MT0dfR1JPVVBfQVJOUztcbi8qKlxuICogVGhlIG5hbWUocykgb2YgdGhlIEFXUyBsb2cgc3RyZWFtKHMpIGFuIGFwcGxpY2F0aW9uIGlzIHdyaXRpbmcgdG8uXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfQVdTX0xPR19TVFJFQU1fTkFNRVMgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0FXU19MT0dfU1RSRUFNX05BTUVTID0gVE1QX0FXU19MT0dfU1RSRUFNX05BTUVTO1xuLyoqXG4gKiBUaGUgQVJOKHMpIG9mIHRoZSBBV1MgbG9nIHN0cmVhbShzKS5cbiAqXG4gKiBOb3RlOiBTZWUgdGhlIFtsb2cgc3RyZWFtIEFSTiBmb3JtYXQgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L2xvZ3MvaWFtLWFjY2Vzcy1jb250cm9sLW92ZXJ2aWV3LWN3bC5odG1sI0NXTF9BUk5fRm9ybWF0KS4gT25lIGxvZyBncm91cCBjYW4gY29udGFpbiBzZXZlcmFsIGxvZyBzdHJlYW1zLCBzbyB0aGVzZSBBUk5zIG5lY2Vzc2FyaWx5IGlkZW50aWZ5IGJvdGggYSBsb2cgZ3JvdXAgYW5kIGEgbG9nIHN0cmVhbS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9BV1NfTE9HX1NUUkVBTV9BUk5TIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9BUk5TID0gVE1QX0FXU19MT0dfU1RSRUFNX0FSTlM7XG4vKipcbiAqIENvbnRhaW5lciBuYW1lLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0NPTlRBSU5FUl9OQU1FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19DT05UQUlORVJfTkFNRSA9IFRNUF9DT05UQUlORVJfTkFNRTtcbi8qKlxuICogQ29udGFpbmVyIElELiBVc3VhbGx5IGEgVVVJRCwgYXMgZm9yIGV4YW1wbGUgdXNlZCB0byBbaWRlbnRpZnkgRG9ja2VyIGNvbnRhaW5lcnNdKGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2VuZ2luZS9yZWZlcmVuY2UvcnVuLyNjb250YWluZXItaWRlbnRpZmljYXRpb24pLiBUaGUgVVVJRCBtaWdodCBiZSBhYmJyZXZpYXRlZC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9DT05UQUlORVJfSUQgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JRCA9IFRNUF9DT05UQUlORVJfSUQ7XG4vKipcbiAqIFRoZSBjb250YWluZXIgcnVudGltZSBtYW5hZ2luZyB0aGlzIGNvbnRhaW5lci5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9DT05UQUlORVJfUlVOVElNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX1JVTlRJTUUgPSBUTVBfQ09OVEFJTkVSX1JVTlRJTUU7XG4vKipcbiAqIE5hbWUgb2YgdGhlIGltYWdlIHRoZSBjb250YWluZXIgd2FzIGJ1aWx0IG9uLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0NPTlRBSU5FUl9JTUFHRV9OQU1FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfTkFNRSA9IFRNUF9DT05UQUlORVJfSU1BR0VfTkFNRTtcbi8qKlxuICogQ29udGFpbmVyIGltYWdlIHRhZy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9DT05UQUlORVJfSU1BR0VfVEFHUyBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX1RBRyA9IFRNUF9DT05UQUlORVJfSU1BR0VfVEFHO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBbZGVwbG95bWVudCBlbnZpcm9ubWVudF0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRGVwbG95bWVudF9lbnZpcm9ubWVudCkgKGFrYSBkZXBsb3ltZW50IHRpZXIpLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQgPSBUTVBfREVQTE9ZTUVOVF9FTlZJUk9OTUVOVDtcbi8qKlxuICogQSB1bmlxdWUgaWRlbnRpZmllciByZXByZXNlbnRpbmcgdGhlIGRldmljZS5cbiAqXG4gKiBOb3RlOiBUaGUgZGV2aWNlIGlkZW50aWZpZXIgTVVTVCBvbmx5IGJlIGRlZmluZWQgdXNpbmcgdGhlIHZhbHVlcyBvdXRsaW5lZCBiZWxvdy4gVGhpcyB2YWx1ZSBpcyBub3QgYW4gYWR2ZXJ0aXNpbmcgaWRlbnRpZmllciBhbmQgTVVTVCBOT1QgYmUgdXNlZCBhcyBzdWNoLiBPbiBpT1MgKFN3aWZ0IG9yIE9iamVjdGl2ZS1DKSwgdGhpcyB2YWx1ZSBNVVNUIGJlIGVxdWFsIHRvIHRoZSBbdmVuZG9yIGlkZW50aWZpZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3Vpa2l0L3VpZGV2aWNlLzE2MjAwNTktaWRlbnRpZmllcmZvcnZlbmRvcikuIE9uIEFuZHJvaWQgKEphdmEgb3IgS290bGluKSwgdGhpcyB2YWx1ZSBNVVNUIGJlIGVxdWFsIHRvIHRoZSBGaXJlYmFzZSBJbnN0YWxsYXRpb24gSUQgb3IgYSBnbG9iYWxseSB1bmlxdWUgVVVJRCB3aGljaCBpcyBwZXJzaXN0ZWQgYWNyb3NzIHNlc3Npb25zIGluIHlvdXIgYXBwbGljYXRpb24uIE1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIFtoZXJlXShodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS90cmFpbmluZy9hcnRpY2xlcy91c2VyLWRhdGEtaWRzKSBvbiBiZXN0IHByYWN0aWNlcyBhbmQgZXhhY3QgaW1wbGVtZW50YXRpb24gZGV0YWlscy4gQ2F1dGlvbiBzaG91bGQgYmUgdGFrZW4gd2hlbiBzdG9yaW5nIHBlcnNvbmFsIGRhdGEgb3IgYW55dGhpbmcgd2hpY2ggY2FuIGlkZW50aWZ5IGEgdXNlci4gR0RQUiBhbmQgZGF0YSBwcm90ZWN0aW9uIGxhd3MgbWF5IGFwcGx5LCBlbnN1cmUgeW91IGRvIHlvdXIgb3duIGR1ZSBkaWxpZ2VuY2UuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfREVWSUNFX0lEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19ERVZJQ0VfSUQgPSBUTVBfREVWSUNFX0lEO1xuLyoqXG4gKiBUaGUgbW9kZWwgaWRlbnRpZmllciBmb3IgdGhlIGRldmljZS5cbiAqXG4gKiBOb3RlOiBJdCYjMzk7cyByZWNvbW1lbmRlZCB0aGlzIHZhbHVlIHJlcHJlc2VudHMgYSBtYWNoaW5lIHJlYWRhYmxlIHZlcnNpb24gb2YgdGhlIG1vZGVsIGlkZW50aWZpZXIgcmF0aGVyIHRoYW4gdGhlIG1hcmtldCBvciBjb25zdW1lci1mcmllbmRseSBuYW1lIG9mIHRoZSBkZXZpY2UuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfREVWSUNFX01PREVMX0lERU5USUZJRVIgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9JREVOVElGSUVSID0gVE1QX0RFVklDRV9NT0RFTF9JREVOVElGSUVSO1xuLyoqXG4gKiBUaGUgbWFya2V0aW5nIG5hbWUgZm9yIHRoZSBkZXZpY2UgbW9kZWwuXG4gKlxuICogTm90ZTogSXQmIzM5O3MgcmVjb21tZW5kZWQgdGhpcyB2YWx1ZSByZXByZXNlbnRzIGEgaHVtYW4gcmVhZGFibGUgdmVyc2lvbiBvZiB0aGUgZGV2aWNlIG1vZGVsIHJhdGhlciB0aGFuIGEgbWFjaGluZSByZWFkYWJsZSBhbHRlcm5hdGl2ZS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9ERVZJQ0VfTU9ERUxfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfREVWSUNFX01PREVMX05BTUUgPSBUTVBfREVWSUNFX01PREVMX05BTUU7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBzaW5nbGUgZnVuY3Rpb24gdGhhdCB0aGlzIHJ1bnRpbWUgaW5zdGFuY2UgZXhlY3V0ZXMuXG4gKlxuICogTm90ZTogVGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gYXMgY29uZmlndXJlZC9kZXBsb3llZCBvbiB0aGUgRmFhUyBwbGF0Zm9ybSBhbmQgaXMgdXN1YWxseSBkaWZmZXJlbnQgZnJvbSB0aGUgbmFtZSBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gKHdoaWNoIG1heSBiZSBzdG9yZWQgaW4gdGhlIFtgY29kZS5uYW1lc3BhY2VgL2Bjb2RlLmZ1bmN0aW9uYF0oLi4vLi4vdHJhY2Uvc2VtYW50aWNfY29udmVudGlvbnMvc3Bhbi1nZW5lcmFsLm1kI3NvdXJjZS1jb2RlLWF0dHJpYnV0ZXMpIHNwYW4gYXR0cmlidXRlcykuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfRkFBU19OQU1FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19GQUFTX05BTUUgPSBUTVBfRkFBU19OQU1FO1xuLyoqXG4qIFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNpbmdsZSBmdW5jdGlvbiB0aGF0IHRoaXMgcnVudGltZSBpbnN0YW5jZSBleGVjdXRlcy5cbipcbiogTm90ZTogRGVwZW5kaW5nIG9uIHRoZSBjbG91ZCBwcm92aWRlciwgdXNlOlxuXG4qICoqQVdTIExhbWJkYToqKiBUaGUgZnVuY3Rpb24gW0FSTl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dlbmVyYWwvbGF0ZXN0L2dyL2F3cy1hcm5zLWFuZC1uYW1lc3BhY2VzLmh0bWwpLlxuVGFrZSBjYXJlIG5vdCB0byB1c2UgdGhlICYjMzQ7aW52b2tlZCBBUk4mIzM0OyBkaXJlY3RseSBidXQgcmVwbGFjZSBhbnlcblthbGlhcyBzdWZmaXhdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2NvbmZpZ3VyYXRpb24tYWxpYXNlcy5odG1sKSB3aXRoIHRoZSByZXNvbHZlZCBmdW5jdGlvbiB2ZXJzaW9uLCBhcyB0aGUgc2FtZSBydW50aW1lIGluc3RhbmNlIG1heSBiZSBpbnZva2FibGUgd2l0aCBtdWx0aXBsZVxuZGlmZmVyZW50IGFsaWFzZXMuXG4qICoqR0NQOioqIFRoZSBbVVJJIG9mIHRoZSByZXNvdXJjZV0oaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL2lhbS9kb2NzL2Z1bGwtcmVzb3VyY2UtbmFtZXMpXG4qICoqQXp1cmU6KiogVGhlIFtGdWxseSBRdWFsaWZpZWQgUmVzb3VyY2UgSURdKGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL3Jlc3QvYXBpL3Jlc291cmNlcy9yZXNvdXJjZXMvZ2V0LWJ5LWlkKS5cblxuT24gc29tZSBwcm92aWRlcnMsIGl0IG1heSBub3QgYmUgcG9zc2libGUgdG8gZGV0ZXJtaW5lIHRoZSBmdWxsIElEIGF0IHN0YXJ0dXAsXG53aGljaCBpcyB3aHkgdGhpcyBmaWVsZCBjYW5ub3QgYmUgbWFkZSByZXF1aXJlZC4gRm9yIGV4YW1wbGUsIG9uIEFXUyB0aGUgYWNjb3VudCBJRFxucGFydCBvZiB0aGUgQVJOIGlzIG5vdCBhdmFpbGFibGUgd2l0aG91dCBjYWxsaW5nIGFub3RoZXIgQVdTIEFQSVxud2hpY2ggbWF5IGJlIGRlZW1lZCB0b28gc2xvdyBmb3IgYSBzaG9ydC1ydW5uaW5nIGxhbWJkYSBmdW5jdGlvbi5cbkFzIGFuIGFsdGVybmF0aXZlLCBjb25zaWRlciBzZXR0aW5nIGBmYWFzLmlkYCBhcyBhIHNwYW4gYXR0cmlidXRlIGluc3RlYWQuXG4qXG4qIEBkZXByZWNhdGVkIFVzZSBBVFRSX0NMT1VEX1JFU09VUkNFX0lEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4qL1xudmFyIFNFTVJFU0FUVFJTX0ZBQVNfSUQgPSBUTVBfRkFBU19JRDtcbi8qKlxuKiBUaGUgaW1tdXRhYmxlIHZlcnNpb24gb2YgdGhlIGZ1bmN0aW9uIGJlaW5nIGV4ZWN1dGVkLlxuKlxuKiBOb3RlOiBEZXBlbmRpbmcgb24gdGhlIGNsb3VkIHByb3ZpZGVyIGFuZCBwbGF0Zm9ybSwgdXNlOlxuXG4qICoqQVdTIExhbWJkYToqKiBUaGUgW2Z1bmN0aW9uIHZlcnNpb25dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2NvbmZpZ3VyYXRpb24tdmVyc2lvbnMuaHRtbClcbiAgKGFuIGludGVnZXIgcmVwcmVzZW50ZWQgYXMgYSBkZWNpbWFsIHN0cmluZykuXG4qICoqR29vZ2xlIENsb3VkIFJ1bjoqKiBUaGUgW3JldmlzaW9uXShodHRwczovL2Nsb3VkLmdvb2dsZS5jb20vcnVuL2RvY3MvbWFuYWdpbmcvcmV2aXNpb25zKVxuICAoaS5lLiwgdGhlIGZ1bmN0aW9uIG5hbWUgcGx1cyB0aGUgcmV2aXNpb24gc3VmZml4KS5cbiogKipHb29nbGUgQ2xvdWQgRnVuY3Rpb25zOioqIFRoZSB2YWx1ZSBvZiB0aGVcbiAgW2BLX1JFVklTSU9OYCBlbnZpcm9ubWVudCB2YXJpYWJsZV0oaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL2Z1bmN0aW9ucy9kb2NzL2Vudi12YXIjcnVudGltZV9lbnZpcm9ubWVudF92YXJpYWJsZXNfc2V0X2F1dG9tYXRpY2FsbHkpLlxuKiAqKkF6dXJlIEZ1bmN0aW9uczoqKiBOb3QgYXBwbGljYWJsZS4gRG8gbm90IHNldCB0aGlzIGF0dHJpYnV0ZS5cbipcbiogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfRkFBU19WRVJTSU9OIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4qL1xudmFyIFNFTVJFU0FUVFJTX0ZBQVNfVkVSU0lPTiA9IFRNUF9GQUFTX1ZFUlNJT047XG4vKipcbiAqIFRoZSBleGVjdXRpb24gZW52aXJvbm1lbnQgSUQgYXMgYSBzdHJpbmcsIHRoYXQgd2lsbCBiZSBwb3RlbnRpYWxseSByZXVzZWQgZm9yIG90aGVyIGludm9jYXRpb25zIHRvIHRoZSBzYW1lIGZ1bmN0aW9uL2Z1bmN0aW9uIHZlcnNpb24uXG4gKlxuICogTm90ZTogKiAqKkFXUyBMYW1iZGE6KiogVXNlIHRoZSAoZnVsbCkgbG9nIHN0cmVhbSBuYW1lLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0ZBQVNfSU5TVEFOQ0UgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0ZBQVNfSU5TVEFOQ0UgPSBUTVBfRkFBU19JTlNUQU5DRTtcbi8qKlxuICogVGhlIGFtb3VudCBvZiBtZW1vcnkgYXZhaWxhYmxlIHRvIHRoZSBzZXJ2ZXJsZXNzIGZ1bmN0aW9uIGluIE1pQi5cbiAqXG4gKiBOb3RlOiBJdCYjMzk7cyByZWNvbW1lbmRlZCB0byBzZXQgdGhpcyBhdHRyaWJ1dGUgc2luY2UgZS5nLiB0b28gbGl0dGxlIG1lbW9yeSBjYW4gZWFzaWx5IHN0b3AgYSBKYXZhIEFXUyBMYW1iZGEgZnVuY3Rpb24gZnJvbSB3b3JraW5nIGNvcnJlY3RseS4gT24gQVdTIExhbWJkYSwgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGBBV1NfTEFNQkRBX0ZVTkNUSU9OX01FTU9SWV9TSVpFYCBwcm92aWRlcyB0aGlzIGluZm9ybWF0aW9uLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0ZBQVNfTUFYX01FTU9SWSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfRkFBU19NQVhfTUVNT1JZID0gVE1QX0ZBQVNfTUFYX01FTU9SWTtcbi8qKlxuICogVW5pcXVlIGhvc3QgSUQuIEZvciBDbG91ZCwgdGhpcyBtdXN0IGJlIHRoZSBpbnN0YW5jZV9pZCBhc3NpZ25lZCBieSB0aGUgY2xvdWQgcHJvdmlkZXIuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSE9TVF9JRCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSE9TVF9JRCA9IFRNUF9IT1NUX0lEO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBob3N0LiBPbiBVbml4IHN5c3RlbXMsIGl0IG1heSBjb250YWluIHdoYXQgdGhlIGhvc3RuYW1lIGNvbW1hbmQgcmV0dXJucywgb3IgdGhlIGZ1bGx5IHF1YWxpZmllZCBob3N0bmFtZSwgb3IgYW5vdGhlciBuYW1lIHNwZWNpZmllZCBieSB0aGUgdXNlci5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9IT1NUX05BTUUgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0hPU1RfTkFNRSA9IFRNUF9IT1NUX05BTUU7XG4vKipcbiAqIFR5cGUgb2YgaG9zdC4gRm9yIENsb3VkLCB0aGlzIG11c3QgYmUgdGhlIG1hY2hpbmUgdHlwZS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9IT1NUX1RZUEUgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0hPU1RfVFlQRSA9IFRNUF9IT1NUX1RZUEU7XG4vKipcbiAqIFRoZSBDUFUgYXJjaGl0ZWN0dXJlIHRoZSBob3N0IHN5c3RlbSBpcyBydW5uaW5nIG9uLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0hPU1RfQVJDSCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSE9TVF9BUkNIID0gVE1QX0hPU1RfQVJDSDtcbi8qKlxuICogTmFtZSBvZiB0aGUgVk0gaW1hZ2Ugb3IgT1MgaW5zdGFsbCB0aGUgaG9zdCB3YXMgaW5zdGFudGlhdGVkIGZyb20uXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSE9TVF9JTUFHRV9OQU1FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19IT1NUX0lNQUdFX05BTUUgPSBUTVBfSE9TVF9JTUFHRV9OQU1FO1xuLyoqXG4gKiBWTSBpbWFnZSBJRC4gRm9yIENsb3VkLCB0aGlzIHZhbHVlIGlzIGZyb20gdGhlIHByb3ZpZGVyLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0hPU1RfSU1BR0VfSUQgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfSUQgPSBUTVBfSE9TVF9JTUFHRV9JRDtcbi8qKlxuICogVGhlIHZlcnNpb24gc3RyaW5nIG9mIHRoZSBWTSBpbWFnZSBhcyBkZWZpbmVkIGluIFtWZXJzaW9uIEF0dHJpYnV0ZXNdKFJFQURNRS5tZCN2ZXJzaW9uLWF0dHJpYnV0ZXMpLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0hPU1RfSU1BR0VfVkVSU0lPTiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9WRVJTSU9OID0gVE1QX0hPU1RfSU1BR0VfVkVSU0lPTjtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGNsdXN0ZXIuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSzhTX0NMVVNURVJfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX0NMVVNURVJfTkFNRSA9IFRNUF9LOFNfQ0xVU1RFUl9OQU1FO1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgTm9kZS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9LOFNfTk9ERV9OQU1FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19LOFNfTk9ERV9OQU1FID0gVE1QX0s4U19OT0RFX05BTUU7XG4vKipcbiAqIFRoZSBVSUQgb2YgdGhlIE5vZGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSzhTX05PREVfVUlEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19LOFNfTk9ERV9VSUQgPSBUTVBfSzhTX05PREVfVUlEO1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgbmFtZXNwYWNlIHRoYXQgdGhlIHBvZCBpcyBydW5uaW5nIGluLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0s4U19OQU1FU1BBQ0VfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX05BTUVTUEFDRV9OQU1FID0gVE1QX0s4U19OQU1FU1BBQ0VfTkFNRTtcbi8qKlxuICogVGhlIFVJRCBvZiB0aGUgUG9kLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0s4U19QT0RfVUlEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19LOFNfUE9EX1VJRCA9IFRNUF9LOFNfUE9EX1VJRDtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIFBvZC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9LOFNfUE9EX05BTUUgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0s4U19QT0RfTkFNRSA9IFRNUF9LOFNfUE9EX05BTUU7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBDb250YWluZXIgaW4gYSBQb2QgdGVtcGxhdGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSzhTX0NPTlRBSU5FUl9OQU1FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19LOFNfQ09OVEFJTkVSX05BTUUgPSBUTVBfSzhTX0NPTlRBSU5FUl9OQU1FO1xuLyoqXG4gKiBUaGUgVUlEIG9mIHRoZSBSZXBsaWNhU2V0LlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0s4U19SRVBMSUNBU0VUX1VJRCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfVUlEID0gVE1QX0s4U19SRVBMSUNBU0VUX1VJRDtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIFJlcGxpY2FTZXQuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSzhTX1JFUExJQ0FTRVRfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfTkFNRSA9IFRNUF9LOFNfUkVQTElDQVNFVF9OQU1FO1xuLyoqXG4gKiBUaGUgVUlEIG9mIHRoZSBEZXBsb3ltZW50LlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0s4U19ERVBMT1lNRU5UX1VJRCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfVUlEID0gVE1QX0s4U19ERVBMT1lNRU5UX1VJRDtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIERlcGxveW1lbnQuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSzhTX0RFUExPWU1FTlRfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfTkFNRSA9IFRNUF9LOFNfREVQTE9ZTUVOVF9OQU1FO1xuLyoqXG4gKiBUaGUgVUlEIG9mIHRoZSBTdGF0ZWZ1bFNldC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9LOFNfU1RBVEVGVUxTRVRfVUlEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19LOFNfU1RBVEVGVUxTRVRfVUlEID0gVE1QX0s4U19TVEFURUZVTFNFVF9VSUQ7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBTdGF0ZWZ1bFNldC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9LOFNfU1RBVEVGVUxTRVRfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX05BTUUgPSBUTVBfSzhTX1NUQVRFRlVMU0VUX05BTUU7XG4vKipcbiAqIFRoZSBVSUQgb2YgdGhlIERhZW1vblNldC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9LOFNfREFFTU9OU0VUX1VJRCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9VSUQgPSBUTVBfSzhTX0RBRU1PTlNFVF9VSUQ7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBEYWVtb25TZXQuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSzhTX0RBRU1PTlNFVF9OQU1FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19LOFNfREFFTU9OU0VUX05BTUUgPSBUTVBfSzhTX0RBRU1PTlNFVF9OQU1FO1xuLyoqXG4gKiBUaGUgVUlEIG9mIHRoZSBKb2IuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfSzhTX0pPQl9VSUQgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0s4U19KT0JfVUlEID0gVE1QX0s4U19KT0JfVUlEO1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgSm9iLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0s4U19KT0JfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfSzhTX0pPQl9OQU1FID0gVE1QX0s4U19KT0JfTkFNRTtcbi8qKlxuICogVGhlIFVJRCBvZiB0aGUgQ3JvbkpvYi5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9LOFNfQ1JPTkpPQl9VSUQgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0s4U19DUk9OSk9CX1VJRCA9IFRNUF9LOFNfQ1JPTkpPQl9VSUQ7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBDcm9uSm9iLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX0s4U19DUk9OSk9CX05BTUUgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX0s4U19DUk9OSk9CX05BTUUgPSBUTVBfSzhTX0NST05KT0JfTkFNRTtcbi8qKlxuICogVGhlIG9wZXJhdGluZyBzeXN0ZW0gdHlwZS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9PU19UWVBFIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19PU19UWVBFID0gVE1QX09TX1RZUEU7XG4vKipcbiAqIEh1bWFuIHJlYWRhYmxlIChub3QgaW50ZW5kZWQgdG8gYmUgcGFyc2VkKSBPUyB2ZXJzaW9uIGluZm9ybWF0aW9uLCBsaWtlIGUuZy4gcmVwb3J0ZWQgYnkgYHZlcmAgb3IgYGxzYl9yZWxlYXNlIC1hYCBjb21tYW5kcy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9PU19ERVNDUklQVElPTiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfT1NfREVTQ1JJUFRJT04gPSBUTVBfT1NfREVTQ1JJUFRJT047XG4vKipcbiAqIEh1bWFuIHJlYWRhYmxlIG9wZXJhdGluZyBzeXN0ZW0gbmFtZS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9PU19OQU1FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19PU19OQU1FID0gVE1QX09TX05BTUU7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIHN0cmluZyBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhcyBkZWZpbmVkIGluIFtWZXJzaW9uIEF0dHJpYnV0ZXNdKC4uLy4uL3Jlc291cmNlL3NlbWFudGljX2NvbnZlbnRpb25zL1JFQURNRS5tZCN2ZXJzaW9uLWF0dHJpYnV0ZXMpLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX09TX1ZFUlNJT04gaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX09TX1ZFUlNJT04gPSBUTVBfT1NfVkVSU0lPTjtcbi8qKlxuICogUHJvY2VzcyBpZGVudGlmaWVyIChQSUQpLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX1BST0NFU1NfUElEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCA9IFRNUF9QUk9DRVNTX1BJRDtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIHByb2Nlc3MgZXhlY3V0YWJsZS4gT24gTGludXggYmFzZWQgc3lzdGVtcywgY2FuIGJlIHNldCB0byB0aGUgYE5hbWVgIGluIGBwcm9jL1twaWRdL3N0YXR1c2AuIE9uIFdpbmRvd3MsIGNhbiBiZSBzZXQgdG8gdGhlIGJhc2UgbmFtZSBvZiBgR2V0UHJvY2Vzc0ltYWdlRmlsZU5hbWVXYC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9QUk9DRVNTX0VYRUNVVEFCTEVfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX05BTUUgPSBUTVBfUFJPQ0VTU19FWEVDVVRBQkxFX05BTUU7XG4vKipcbiAqIFRoZSBmdWxsIHBhdGggdG8gdGhlIHByb2Nlc3MgZXhlY3V0YWJsZS4gT24gTGludXggYmFzZWQgc3lzdGVtcywgY2FuIGJlIHNldCB0byB0aGUgdGFyZ2V0IG9mIGBwcm9jL1twaWRdL2V4ZWAuIE9uIFdpbmRvd3MsIGNhbiBiZSBzZXQgdG8gdGhlIHJlc3VsdCBvZiBgR2V0UHJvY2Vzc0ltYWdlRmlsZU5hbWVXYC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9QUk9DRVNTX0VYRUNVVEFCTEVfUEFUSCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX1BBVEggPSBUTVBfUFJPQ0VTU19FWEVDVVRBQkxFX1BBVEg7XG4vKipcbiAqIFRoZSBjb21tYW5kIHVzZWQgdG8gbGF1bmNoIHRoZSBwcm9jZXNzIChpLmUuIHRoZSBjb21tYW5kIG5hbWUpLiBPbiBMaW51eCBiYXNlZCBzeXN0ZW1zLCBjYW4gYmUgc2V0IHRvIHRoZSB6ZXJvdGggc3RyaW5nIGluIGBwcm9jL1twaWRdL2NtZGxpbmVgLiBPbiBXaW5kb3dzLCBjYW4gYmUgc2V0IHRvIHRoZSBmaXJzdCBwYXJhbWV0ZXIgZXh0cmFjdGVkIGZyb20gYEdldENvbW1hbmRMaW5lV2AuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfUFJPQ0VTU19DT01NQU5EIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkQgPSBUTVBfUFJPQ0VTU19DT01NQU5EO1xuLyoqXG4gKiBUaGUgZnVsbCBjb21tYW5kIHVzZWQgdG8gbGF1bmNoIHRoZSBwcm9jZXNzIGFzIGEgc2luZ2xlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGZ1bGwgY29tbWFuZC4gT24gV2luZG93cywgY2FuIGJlIHNldCB0byB0aGUgcmVzdWx0IG9mIGBHZXRDb21tYW5kTGluZVdgLiBEbyBub3Qgc2V0IHRoaXMgaWYgeW91IGhhdmUgdG8gYXNzZW1ibGUgaXQganVzdCBmb3IgbW9uaXRvcmluZzsgdXNlIGBwcm9jZXNzLmNvbW1hbmRfYXJnc2AgaW5zdGVhZC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9QUk9DRVNTX0NPTU1BTkRfTElORSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0xJTkUgPSBUTVBfUFJPQ0VTU19DT01NQU5EX0xJTkU7XG4vKipcbiAqIEFsbCB0aGUgY29tbWFuZCBhcmd1bWVudHMgKGluY2x1ZGluZyB0aGUgY29tbWFuZC9leGVjdXRhYmxlIGl0c2VsZikgYXMgcmVjZWl2ZWQgYnkgdGhlIHByb2Nlc3MuIE9uIExpbnV4LWJhc2VkIHN5c3RlbXMgKGFuZCBzb21lIG90aGVyIFVuaXhvaWQgc3lzdGVtcyBzdXBwb3J0aW5nIHByb2NmcyksIGNhbiBiZSBzZXQgYWNjb3JkaW5nIHRvIHRoZSBsaXN0IG9mIG51bGwtZGVsaW1pdGVkIHN0cmluZ3MgZXh0cmFjdGVkIGZyb20gYHByb2MvW3BpZF0vY21kbGluZWAuIEZvciBsaWJjLWJhc2VkIGV4ZWN1dGFibGVzLCB0aGlzIHdvdWxkIGJlIHRoZSBmdWxsIGFyZ3YgdmVjdG9yIHBhc3NlZCB0byBgbWFpbmAuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfUFJPQ0VTU19DT01NQU5EX0FSR1MgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9BUkdTID0gVE1QX1BST0NFU1NfQ09NTUFORF9BUkdTO1xuLyoqXG4gKiBUaGUgdXNlcm5hbWUgb2YgdGhlIHVzZXIgdGhhdCBvd25zIHRoZSBwcm9jZXNzLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX1BST0NFU1NfT1dORVIgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX1BST0NFU1NfT1dORVIgPSBUTVBfUFJPQ0VTU19PV05FUjtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIHJ1bnRpbWUgb2YgdGhpcyBwcm9jZXNzLiBGb3IgY29tcGlsZWQgbmF0aXZlIGJpbmFyaWVzLCB0aGlzIFNIT1VMRCBiZSB0aGUgbmFtZSBvZiB0aGUgY29tcGlsZXIuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfUFJPQ0VTU19SVU5USU1FX05BTUUgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9OQU1FID0gVE1QX1BST0NFU1NfUlVOVElNRV9OQU1FO1xuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgcnVudGltZSBvZiB0aGlzIHByb2Nlc3MsIGFzIHJldHVybmVkIGJ5IHRoZSBydW50aW1lIHdpdGhvdXQgbW9kaWZpY2F0aW9uLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX1BST0NFU1NfUlVOVElNRV9WRVJTSU9OIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfVkVSU0lPTiA9IFRNUF9QUk9DRVNTX1JVTlRJTUVfVkVSU0lPTjtcbi8qKlxuICogQW4gYWRkaXRpb25hbCBkZXNjcmlwdGlvbiBhYm91dCB0aGUgcnVudGltZSBvZiB0aGUgcHJvY2VzcywgZm9yIGV4YW1wbGUgYSBzcGVjaWZpYyB2ZW5kb3IgY3VzdG9taXphdGlvbiBvZiB0aGUgcnVudGltZSBlbnZpcm9ubWVudC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9QUk9DRVNTX1JVTlRJTUVfREVTQ1JJUFRJT04gaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9ERVNDUklQVElPTiA9IFRNUF9QUk9DRVNTX1JVTlRJTUVfREVTQ1JJUFRJT047XG4vKipcbiAqIExvZ2ljYWwgbmFtZSBvZiB0aGUgc2VydmljZS5cbiAqXG4gKiBOb3RlOiBNVVNUIGJlIHRoZSBzYW1lIGZvciBhbGwgaW5zdGFuY2VzIG9mIGhvcml6b250YWxseSBzY2FsZWQgc2VydmljZXMuIElmIHRoZSB2YWx1ZSB3YXMgbm90IHNwZWNpZmllZCwgU0RLcyBNVVNUIGZhbGxiYWNrIHRvIGB1bmtub3duX3NlcnZpY2U6YCBjb25jYXRlbmF0ZWQgd2l0aCBbYHByb2Nlc3MuZXhlY3V0YWJsZS5uYW1lYF0ocHJvY2Vzcy5tZCNwcm9jZXNzKSwgZS5nLiBgdW5rbm93bl9zZXJ2aWNlOmJhc2hgLiBJZiBgcHJvY2Vzcy5leGVjdXRhYmxlLm5hbWVgIGlzIG5vdCBhdmFpbGFibGUsIHRoZSB2YWx1ZSBNVVNUIGJlIHNldCB0byBgdW5rbm93bl9zZXJ2aWNlYC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9TRVJWSUNFX05BTUUuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19TRVJWSUNFX05BTUUgPSBUTVBfU0VSVklDRV9OQU1FO1xuLyoqXG4gKiBBIG5hbWVzcGFjZSBmb3IgYHNlcnZpY2UubmFtZWAuXG4gKlxuICogTm90ZTogQSBzdHJpbmcgdmFsdWUgaGF2aW5nIGEgbWVhbmluZyB0aGF0IGhlbHBzIHRvIGRpc3Rpbmd1aXNoIGEgZ3JvdXAgb2Ygc2VydmljZXMsIGZvciBleGFtcGxlIHRoZSB0ZWFtIG5hbWUgdGhhdCBvd25zIGEgZ3JvdXAgb2Ygc2VydmljZXMuIGBzZXJ2aWNlLm5hbWVgIGlzIGV4cGVjdGVkIHRvIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHNhbWUgbmFtZXNwYWNlLiBJZiBgc2VydmljZS5uYW1lc3BhY2VgIGlzIG5vdCBzcGVjaWZpZWQgaW4gdGhlIFJlc291cmNlIHRoZW4gYHNlcnZpY2UubmFtZWAgaXMgZXhwZWN0ZWQgdG8gYmUgdW5pcXVlIGZvciBhbGwgc2VydmljZXMgdGhhdCBoYXZlIG5vIGV4cGxpY2l0IG5hbWVzcGFjZSBkZWZpbmVkIChzbyB0aGUgZW1wdHkvdW5zcGVjaWZpZWQgbmFtZXNwYWNlIGlzIHNpbXBseSBvbmUgbW9yZSB2YWxpZCBuYW1lc3BhY2UpLiBaZXJvLWxlbmd0aCBuYW1lc3BhY2Ugc3RyaW5nIGlzIGFzc3VtZWQgZXF1YWwgdG8gdW5zcGVjaWZpZWQgbmFtZXNwYWNlLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX1NFUlZJQ0VfTkFNRVNQQUNFIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19TRVJWSUNFX05BTUVTUEFDRSA9IFRNUF9TRVJWSUNFX05BTUVTUEFDRTtcbi8qKlxuICogVGhlIHN0cmluZyBJRCBvZiB0aGUgc2VydmljZSBpbnN0YW5jZS5cbiAqXG4gKiBOb3RlOiBNVVNUIGJlIHVuaXF1ZSBmb3IgZWFjaCBpbnN0YW5jZSBvZiB0aGUgc2FtZSBgc2VydmljZS5uYW1lc3BhY2Usc2VydmljZS5uYW1lYCBwYWlyIChpbiBvdGhlciB3b3JkcyBgc2VydmljZS5uYW1lc3BhY2Usc2VydmljZS5uYW1lLHNlcnZpY2UuaW5zdGFuY2UuaWRgIHRyaXBsZXQgTVVTVCBiZSBnbG9iYWxseSB1bmlxdWUpLiBUaGUgSUQgaGVscHMgdG8gZGlzdGluZ3Vpc2ggaW5zdGFuY2VzIG9mIHRoZSBzYW1lIHNlcnZpY2UgdGhhdCBleGlzdCBhdCB0aGUgc2FtZSB0aW1lIChlLmcuIGluc3RhbmNlcyBvZiBhIGhvcml6b250YWxseSBzY2FsZWQgc2VydmljZSkuIEl0IGlzIHByZWZlcmFibGUgZm9yIHRoZSBJRCB0byBiZSBwZXJzaXN0ZW50IGFuZCBzdGF5IHRoZSBzYW1lIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIHNlcnZpY2UgaW5zdGFuY2UsIGhvd2V2ZXIgaXQgaXMgYWNjZXB0YWJsZSB0aGF0IHRoZSBJRCBpcyBlcGhlbWVyYWwgYW5kIGNoYW5nZXMgZHVyaW5nIGltcG9ydGFudCBsaWZldGltZSBldmVudHMgZm9yIHRoZSBzZXJ2aWNlIChlLmcuIHNlcnZpY2UgcmVzdGFydHMpLiBJZiB0aGUgc2VydmljZSBoYXMgbm8gaW5oZXJlbnQgdW5pcXVlIElEIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIHZhbHVlIG9mIHRoaXMgYXR0cmlidXRlIGl0IGlzIHJlY29tbWVuZGVkIHRvIGdlbmVyYXRlIGEgcmFuZG9tIFZlcnNpb24gMSBvciBWZXJzaW9uIDQgUkZDIDQxMjIgVVVJRCAoc2VydmljZXMgYWltaW5nIGZvciByZXByb2R1Y2libGUgVVVJRHMgbWF5IGFsc28gdXNlIFZlcnNpb24gNSwgc2VlIFJGQyA0MTIyIGZvciBtb3JlIHJlY29tbWVuZGF0aW9ucykuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfU0VSVklDRV9JTlNUQU5DRV9JRCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfU0VSVklDRV9JTlNUQU5DRV9JRCA9IFRNUF9TRVJWSUNFX0lOU1RBTkNFX0lEO1xuLyoqXG4gKiBUaGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIHNlcnZpY2UgQVBJIG9yIGltcGxlbWVudGF0aW9uLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX1NFUlZJQ0VfVkVSU0lPTi5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX1NFUlZJQ0VfVkVSU0lPTiA9IFRNUF9TRVJWSUNFX1ZFUlNJT047XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSB0ZWxlbWV0cnkgU0RLIGFzIGRlZmluZWQgYWJvdmUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFUVFJfVEVMRU1FVFJZX1NES19OQU1FLlxuICovXG52YXIgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FID0gVE1QX1RFTEVNRVRSWV9TREtfTkFNRTtcbi8qKlxuICogVGhlIGxhbmd1YWdlIG9mIHRoZSB0ZWxlbWV0cnkgU0RLLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX0xBTkdVQUdFID0gVE1QX1RFTEVNRVRSWV9TREtfTEFOR1VBR0U7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIHN0cmluZyBvZiB0aGUgdGVsZW1ldHJ5IFNESy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9URUxFTUVUUllfU0RLX1ZFUlNJT04uXG4gKi9cbnZhciBTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT04gPSBUTVBfVEVMRU1FVFJZX1NES19WRVJTSU9OO1xuLyoqXG4gKiBUaGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIGF1dG8gaW5zdHJ1bWVudGF0aW9uIGFnZW50LCBpZiB1c2VkLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX1RFTEVNRVRSWV9ESVNUUk9fVkVSU0lPTiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX0FVVE9fVkVSU0lPTiA9IFRNUF9URUxFTUVUUllfQVVUT19WRVJTSU9OO1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgd2ViIGVuZ2luZS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9XRUJFTkdJTkVfTkFNRSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX05BTUUgPSBUTVBfV0VCRU5HSU5FX05BTUU7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSB3ZWIgZW5naW5lLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBBVFRSX1dFQkVOR0lORV9WRVJTSU9OIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBTRU1SRVNBVFRSU19XRUJFTkdJTkVfVkVSU0lPTiA9IFRNUF9XRUJFTkdJTkVfVkVSU0lPTjtcbi8qKlxuICogQWRkaXRpb25hbCBkZXNjcmlwdGlvbiBvZiB0aGUgd2ViIGVuZ2luZSAoZS5nLiBkZXRhaWxlZCB2ZXJzaW9uIGFuZCBlZGl0aW9uIGluZm9ybWF0aW9uKS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVRUUl9XRUJFTkdJTkVfREVTQ1JJUFRJT04gaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIFNFTVJFU0FUVFJTX1dFQkVOR0lORV9ERVNDUklQVElPTiA9IFRNUF9XRUJFTkdJTkVfREVTQ1JJUFRJT047XG4vKipcbiAqIENyZWF0ZSBleHBvcnRlZCBWYWx1ZSBNYXAgZm9yIFNlbWFudGljUmVzb3VyY2VBdHRyaWJ1dGVzIHZhbHVlc1xuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBTRU1SRVNBVFRSU19YWFhYWCBjb25zdGFudHMgcmF0aGVyIHRoYW4gdGhlIFNlbWFudGljUmVzb3VyY2VBdHRyaWJ1dGVzLlhYWFhYIGZvciBidW5kbGUgbWluaWZpY2F0aW9uXG4gKi9cbnZhciBTZW1hbnRpY1Jlc291cmNlQXR0cmlidXRlcyA9IFxuLyojX19QVVJFX18qLyBjcmVhdGVDb25zdE1hcChbXG4gICAgVE1QX0NMT1VEX1BST1ZJREVSLFxuICAgIFRNUF9DTE9VRF9BQ0NPVU5UX0lELFxuICAgIFRNUF9DTE9VRF9SRUdJT04sXG4gICAgVE1QX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FLFxuICAgIFRNUF9DTE9VRF9QTEFURk9STSxcbiAgICBUTVBfQVdTX0VDU19DT05UQUlORVJfQVJOLFxuICAgIFRNUF9BV1NfRUNTX0NMVVNURVJfQVJOLFxuICAgIFRNUF9BV1NfRUNTX0xBVU5DSFRZUEUsXG4gICAgVE1QX0FXU19FQ1NfVEFTS19BUk4sXG4gICAgVE1QX0FXU19FQ1NfVEFTS19GQU1JTFksXG4gICAgVE1QX0FXU19FQ1NfVEFTS19SRVZJU0lPTixcbiAgICBUTVBfQVdTX0VLU19DTFVTVEVSX0FSTixcbiAgICBUTVBfQVdTX0xPR19HUk9VUF9OQU1FUyxcbiAgICBUTVBfQVdTX0xPR19HUk9VUF9BUk5TLFxuICAgIFRNUF9BV1NfTE9HX1NUUkVBTV9OQU1FUyxcbiAgICBUTVBfQVdTX0xPR19TVFJFQU1fQVJOUyxcbiAgICBUTVBfQ09OVEFJTkVSX05BTUUsXG4gICAgVE1QX0NPTlRBSU5FUl9JRCxcbiAgICBUTVBfQ09OVEFJTkVSX1JVTlRJTUUsXG4gICAgVE1QX0NPTlRBSU5FUl9JTUFHRV9OQU1FLFxuICAgIFRNUF9DT05UQUlORVJfSU1BR0VfVEFHLFxuICAgIFRNUF9ERVBMT1lNRU5UX0VOVklST05NRU5ULFxuICAgIFRNUF9ERVZJQ0VfSUQsXG4gICAgVE1QX0RFVklDRV9NT0RFTF9JREVOVElGSUVSLFxuICAgIFRNUF9ERVZJQ0VfTU9ERUxfTkFNRSxcbiAgICBUTVBfRkFBU19OQU1FLFxuICAgIFRNUF9GQUFTX0lELFxuICAgIFRNUF9GQUFTX1ZFUlNJT04sXG4gICAgVE1QX0ZBQVNfSU5TVEFOQ0UsXG4gICAgVE1QX0ZBQVNfTUFYX01FTU9SWSxcbiAgICBUTVBfSE9TVF9JRCxcbiAgICBUTVBfSE9TVF9OQU1FLFxuICAgIFRNUF9IT1NUX1RZUEUsXG4gICAgVE1QX0hPU1RfQVJDSCxcbiAgICBUTVBfSE9TVF9JTUFHRV9OQU1FLFxuICAgIFRNUF9IT1NUX0lNQUdFX0lELFxuICAgIFRNUF9IT1NUX0lNQUdFX1ZFUlNJT04sXG4gICAgVE1QX0s4U19DTFVTVEVSX05BTUUsXG4gICAgVE1QX0s4U19OT0RFX05BTUUsXG4gICAgVE1QX0s4U19OT0RFX1VJRCxcbiAgICBUTVBfSzhTX05BTUVTUEFDRV9OQU1FLFxuICAgIFRNUF9LOFNfUE9EX1VJRCxcbiAgICBUTVBfSzhTX1BPRF9OQU1FLFxuICAgIFRNUF9LOFNfQ09OVEFJTkVSX05BTUUsXG4gICAgVE1QX0s4U19SRVBMSUNBU0VUX1VJRCxcbiAgICBUTVBfSzhTX1JFUExJQ0FTRVRfTkFNRSxcbiAgICBUTVBfSzhTX0RFUExPWU1FTlRfVUlELFxuICAgIFRNUF9LOFNfREVQTE9ZTUVOVF9OQU1FLFxuICAgIFRNUF9LOFNfU1RBVEVGVUxTRVRfVUlELFxuICAgIFRNUF9LOFNfU1RBVEVGVUxTRVRfTkFNRSxcbiAgICBUTVBfSzhTX0RBRU1PTlNFVF9VSUQsXG4gICAgVE1QX0s4U19EQUVNT05TRVRfTkFNRSxcbiAgICBUTVBfSzhTX0pPQl9VSUQsXG4gICAgVE1QX0s4U19KT0JfTkFNRSxcbiAgICBUTVBfSzhTX0NST05KT0JfVUlELFxuICAgIFRNUF9LOFNfQ1JPTkpPQl9OQU1FLFxuICAgIFRNUF9PU19UWVBFLFxuICAgIFRNUF9PU19ERVNDUklQVElPTixcbiAgICBUTVBfT1NfTkFNRSxcbiAgICBUTVBfT1NfVkVSU0lPTixcbiAgICBUTVBfUFJPQ0VTU19QSUQsXG4gICAgVE1QX1BST0NFU1NfRVhFQ1VUQUJMRV9OQU1FLFxuICAgIFRNUF9QUk9DRVNTX0VYRUNVVEFCTEVfUEFUSCxcbiAgICBUTVBfUFJPQ0VTU19DT01NQU5ELFxuICAgIFRNUF9QUk9DRVNTX0NPTU1BTkRfTElORSxcbiAgICBUTVBfUFJPQ0VTU19DT01NQU5EX0FSR1MsXG4gICAgVE1QX1BST0NFU1NfT1dORVIsXG4gICAgVE1QX1BST0NFU1NfUlVOVElNRV9OQU1FLFxuICAgIFRNUF9QUk9DRVNTX1JVTlRJTUVfVkVSU0lPTixcbiAgICBUTVBfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OLFxuICAgIFRNUF9TRVJWSUNFX05BTUUsXG4gICAgVE1QX1NFUlZJQ0VfTkFNRVNQQUNFLFxuICAgIFRNUF9TRVJWSUNFX0lOU1RBTkNFX0lELFxuICAgIFRNUF9TRVJWSUNFX1ZFUlNJT04sXG4gICAgVE1QX1RFTEVNRVRSWV9TREtfTkFNRSxcbiAgICBUTVBfVEVMRU1FVFJZX1NES19MQU5HVUFHRSxcbiAgICBUTVBfVEVMRU1FVFJZX1NES19WRVJTSU9OLFxuICAgIFRNUF9URUxFTUVUUllfQVVUT19WRVJTSU9OLFxuICAgIFRNUF9XRUJFTkdJTkVfTkFNRSxcbiAgICBUTVBfV0VCRU5HSU5FX1ZFUlNJT04sXG4gICAgVE1QX1dFQkVOR0lORV9ERVNDUklQVElPTixcbl0pO1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnQgdmFsdWVzIGZvciBDbG91ZFByb3ZpZGVyVmFsdWVzIGVudW0gZGVmaW5pdGlvblxuICpcbiAqIE5hbWUgb2YgdGhlIGNsb3VkIHByb3ZpZGVyLlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy8gVGVtcG9yYXJ5IGxvY2FsIGNvbnN0YW50cyB0byBhc3NpZ24gdG8gdGhlIGluZGl2aWR1YWwgZXhwb3J0cyBhbmQgdGhlIG5hbWVzcGFjZWQgdmVyc2lvblxuLy8gUmVxdWlyZWQgdG8gYXZvaWQgdGhlIG5hbWVzcGFjZSBleHBvcnRzIHVzaW5nIHRoZSB1bm1pbmlmaWFibGUgZXhwb3J0IG5hbWVzIGZvciBzb21lIHBhY2thZ2UgdHlwZXNcbnZhciBUTVBfQ0xPVURQUk9WSURFUlZBTFVFU19BTElCQUJBX0NMT1VEID0gJ2FsaWJhYmFfY2xvdWQnO1xudmFyIFRNUF9DTE9VRFBST1ZJREVSVkFMVUVTX0FXUyA9ICdhd3MnO1xudmFyIFRNUF9DTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFID0gJ2F6dXJlJztcbnZhciBUTVBfQ0xPVURQUk9WSURFUlZBTFVFU19HQ1AgPSAnZ2NwJztcbi8qKlxuICogTmFtZSBvZiB0aGUgY2xvdWQgcHJvdmlkZXIuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIENMT1VEX1BST1ZJREVSX1ZBTFVFX0FMSUJBQkFfQ0xPVUQgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCA9IFRNUF9DTE9VRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQ7XG4vKipcbiAqIE5hbWUgb2YgdGhlIGNsb3VkIHByb3ZpZGVyLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBDTE9VRF9QUk9WSURFUl9WQUxVRV9BV1MgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUFJPVklERVJWQUxVRVNfQVdTID0gVE1QX0NMT1VEUFJPVklERVJWQUxVRVNfQVdTO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBjbG91ZCBwcm92aWRlci5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ0xPVURfUFJPVklERVJfVkFMVUVfQVpVUkUgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUFJPVklERVJWQUxVRVNfQVpVUkUgPSBUTVBfQ0xPVURQUk9WSURFUlZBTFVFU19BWlVSRTtcbi8qKlxuICogTmFtZSBvZiB0aGUgY2xvdWQgcHJvdmlkZXIuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIENMT1VEX1BST1ZJREVSX1ZBTFVFX0dDUCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgQ0xPVURQUk9WSURFUlZBTFVFU19HQ1AgPSBUTVBfQ0xPVURQUk9WSURFUlZBTFVFU19HQ1A7XG4vKipcbiAqIFRoZSBjb25zdGFudCBtYXAgb2YgdmFsdWVzIGZvciBDbG91ZFByb3ZpZGVyVmFsdWVzLlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBDTE9VRFBST1ZJREVSVkFMVUVTX1hYWFhYIGNvbnN0YW50cyByYXRoZXIgdGhhbiB0aGUgQ2xvdWRQcm92aWRlclZhbHVlcy5YWFhYWCBmb3IgYnVuZGxlIG1pbmlmaWNhdGlvbi5cbiAqL1xudmFyIENsb3VkUHJvdmlkZXJWYWx1ZXMgPSBcbi8qI19fUFVSRV9fKi8gY3JlYXRlQ29uc3RNYXAoW1xuICAgIFRNUF9DTE9VRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQsXG4gICAgVE1QX0NMT1VEUFJPVklERVJWQUxVRVNfQVdTLFxuICAgIFRNUF9DTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFLFxuICAgIFRNUF9DTE9VRFBST1ZJREVSVkFMVUVTX0dDUCxcbl0pO1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnQgdmFsdWVzIGZvciBDbG91ZFBsYXRmb3JtVmFsdWVzIGVudW0gZGVmaW5pdGlvblxuICpcbiAqIFRoZSBjbG91ZCBwbGF0Zm9ybSBpbiB1c2UuXG4gKlxuICogTm90ZTogVGhlIHByZWZpeCBvZiB0aGUgc2VydmljZSBTSE9VTEQgbWF0Y2ggdGhlIG9uZSBzcGVjaWZpZWQgaW4gYGNsb3VkLnByb3ZpZGVyYC5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIFRlbXBvcmFyeSBsb2NhbCBjb25zdGFudHMgdG8gYXNzaWduIHRvIHRoZSBpbmRpdmlkdWFsIGV4cG9ydHMgYW5kIHRoZSBuYW1lc3BhY2VkIHZlcnNpb25cbi8vIFJlcXVpcmVkIHRvIGF2b2lkIHRoZSBuYW1lc3BhY2UgZXhwb3J0cyB1c2luZyB0aGUgdW5taW5pZmlhYmxlIGV4cG9ydCBuYW1lcyBmb3Igc29tZSBwYWNrYWdlIHR5cGVzXG52YXIgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9FQ1MgPSAnYWxpYmFiYV9jbG91ZF9lY3MnO1xudmFyIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMgPSAnYWxpYmFiYV9jbG91ZF9mYyc7XG52YXIgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDMiA9ICdhd3NfZWMyJztcbnZhciBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUNTID0gJ2F3c19lY3MnO1xudmFyIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MgPSAnYXdzX2Vrcyc7XG52YXIgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0xBTUJEQSA9ICdhd3NfbGFtYmRhJztcbnZhciBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEsgPSAnYXdzX2VsYXN0aWNfYmVhbnN0YWxrJztcbnZhciBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9WTSA9ICdhenVyZV92bSc7XG52YXIgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQ09OVEFJTkVSX0lOU1RBTkNFUyA9ICdhenVyZV9jb250YWluZXJfaW5zdGFuY2VzJztcbnZhciBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BS1MgPSAnYXp1cmVfYWtzJztcbnZhciBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9GVU5DVElPTlMgPSAnYXp1cmVfZnVuY3Rpb25zJztcbnZhciBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BUFBfU0VSVklDRSA9ICdhenVyZV9hcHBfc2VydmljZSc7XG52YXIgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FID0gJ2djcF9jb21wdXRlX2VuZ2luZSc7XG52YXIgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX1JVTiA9ICdnY3BfY2xvdWRfcnVuJztcbnZhciBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfS1VCRVJORVRFU19FTkdJTkUgPSAnZ2NwX2t1YmVybmV0ZXNfZW5naW5lJztcbnZhciBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfRlVOQ1RJT05TID0gJ2djcF9jbG91ZF9mdW5jdGlvbnMnO1xudmFyIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9BUFBfRU5HSU5FID0gJ2djcF9hcHBfZW5naW5lJztcbi8qKlxuICogVGhlIGNsb3VkIHBsYXRmb3JtIGluIHVzZS5cbiAqXG4gKiBOb3RlOiBUaGUgcHJlZml4IG9mIHRoZSBzZXJ2aWNlIFNIT1VMRCBtYXRjaCB0aGUgb25lIHNwZWNpZmllZCBpbiBgY2xvdWQucHJvdmlkZXJgLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBDTE9VRF9QTEFURk9STV9WQUxVRV9BTElCQUJBX0NMT1VEX0VDUyBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0VDUyA9IFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRUNTO1xuLyoqXG4gKiBUaGUgY2xvdWQgcGxhdGZvcm0gaW4gdXNlLlxuICpcbiAqIE5vdGU6IFRoZSBwcmVmaXggb2YgdGhlIHNlcnZpY2UgU0hPVUxEIG1hdGNoIHRoZSBvbmUgc3BlY2lmaWVkIGluIGBjbG91ZC5wcm92aWRlcmAuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIENMT1VEX1BMQVRGT1JNX1ZBTFVFX0FMSUJBQkFfQ0xPVURfRkMgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9GQyA9IFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkM7XG4vKipcbiAqIFRoZSBjbG91ZCBwbGF0Zm9ybSBpbiB1c2UuXG4gKlxuICogTm90ZTogVGhlIHByZWZpeCBvZiB0aGUgc2VydmljZSBTSE9VTEQgbWF0Y2ggdGhlIG9uZSBzcGVjaWZpZWQgaW4gYGNsb3VkLnByb3ZpZGVyYC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ0xPVURfUExBVEZPUk1fVkFMVUVfQVdTX0VDMiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUMyID0gVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDMjtcbi8qKlxuICogVGhlIGNsb3VkIHBsYXRmb3JtIGluIHVzZS5cbiAqXG4gKiBOb3RlOiBUaGUgcHJlZml4IG9mIHRoZSBzZXJ2aWNlIFNIT1VMRCBtYXRjaCB0aGUgb25lIHNwZWNpZmllZCBpbiBgY2xvdWQucHJvdmlkZXJgLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBDTE9VRF9QTEFURk9STV9WQUxVRV9BV1NfRUNTIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQ1MgPSBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUNTO1xuLyoqXG4gKiBUaGUgY2xvdWQgcGxhdGZvcm0gaW4gdXNlLlxuICpcbiAqIE5vdGU6IFRoZSBwcmVmaXggb2YgdGhlIHNlcnZpY2UgU0hPVUxEIG1hdGNoIHRoZSBvbmUgc3BlY2lmaWVkIGluIGBjbG91ZC5wcm92aWRlcmAuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIENMT1VEX1BMQVRGT1JNX1ZBTFVFX0FXU19FS1MgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VLUyA9IFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1M7XG4vKipcbiAqIFRoZSBjbG91ZCBwbGF0Zm9ybSBpbiB1c2UuXG4gKlxuICogTm90ZTogVGhlIHByZWZpeCBvZiB0aGUgc2VydmljZSBTSE9VTEQgbWF0Y2ggdGhlIG9uZSBzcGVjaWZpZWQgaW4gYGNsb3VkLnByb3ZpZGVyYC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ0xPVURfUExBVEZPUk1fVkFMVUVfQVdTX0xBTUJEQSBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfTEFNQkRBID0gVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0xBTUJEQTtcbi8qKlxuICogVGhlIGNsb3VkIHBsYXRmb3JtIGluIHVzZS5cbiAqXG4gKiBOb3RlOiBUaGUgcHJlZml4IG9mIHRoZSBzZXJ2aWNlIFNIT1VMRCBtYXRjaCB0aGUgb25lIHNwZWNpZmllZCBpbiBgY2xvdWQucHJvdmlkZXJgLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBDTE9VRF9QTEFURk9STV9WQUxVRV9BV1NfRUxBU1RJQ19CRUFOU1RBTEsgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VMQVNUSUNfQkVBTlNUQUxLID0gVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VMQVNUSUNfQkVBTlNUQUxLO1xuLyoqXG4gKiBUaGUgY2xvdWQgcGxhdGZvcm0gaW4gdXNlLlxuICpcbiAqIE5vdGU6IFRoZSBwcmVmaXggb2YgdGhlIHNlcnZpY2UgU0hPVUxEIG1hdGNoIHRoZSBvbmUgc3BlY2lmaWVkIGluIGBjbG91ZC5wcm92aWRlcmAuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIENMT1VEX1BMQVRGT1JNX1ZBTFVFX0FaVVJFX1ZNIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX1ZNID0gVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk07XG4vKipcbiAqIFRoZSBjbG91ZCBwbGF0Zm9ybSBpbiB1c2UuXG4gKlxuICogTm90ZTogVGhlIHByZWZpeCBvZiB0aGUgc2VydmljZSBTSE9VTEQgbWF0Y2ggdGhlIG9uZSBzcGVjaWZpZWQgaW4gYGNsb3VkLnByb3ZpZGVyYC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ0xPVURfUExBVEZPUk1fVkFMVUVfQVpVUkVfQ09OVEFJTkVSX0lOU1RBTkNFUyBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9DT05UQUlORVJfSU5TVEFOQ0VTID0gVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQ09OVEFJTkVSX0lOU1RBTkNFUztcbi8qKlxuICogVGhlIGNsb3VkIHBsYXRmb3JtIGluIHVzZS5cbiAqXG4gKiBOb3RlOiBUaGUgcHJlZml4IG9mIHRoZSBzZXJ2aWNlIFNIT1VMRCBtYXRjaCB0aGUgb25lIHNwZWNpZmllZCBpbiBgY2xvdWQucHJvdmlkZXJgLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBDTE9VRF9QTEFURk9STV9WQUxVRV9BWlVSRV9BS1MgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTID0gVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTO1xuLyoqXG4gKiBUaGUgY2xvdWQgcGxhdGZvcm0gaW4gdXNlLlxuICpcbiAqIE5vdGU6IFRoZSBwcmVmaXggb2YgdGhlIHNlcnZpY2UgU0hPVUxEIG1hdGNoIHRoZSBvbmUgc3BlY2lmaWVkIGluIGBjbG91ZC5wcm92aWRlcmAuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIENMT1VEX1BMQVRGT1JNX1ZBTFVFX0FaVVJFX0ZVTkNUSU9OUyBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9GVU5DVElPTlMgPSBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9GVU5DVElPTlM7XG4vKipcbiAqIFRoZSBjbG91ZCBwbGF0Zm9ybSBpbiB1c2UuXG4gKlxuICogTm90ZTogVGhlIHByZWZpeCBvZiB0aGUgc2VydmljZSBTSE9VTEQgbWF0Y2ggdGhlIG9uZSBzcGVjaWZpZWQgaW4gYGNsb3VkLnByb3ZpZGVyYC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ0xPVURfUExBVEZPUk1fVkFMVUVfQVpVUkVfQVBQX1NFUlZJQ0UgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQVBQX1NFUlZJQ0UgPSBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BUFBfU0VSVklDRTtcbi8qKlxuICogVGhlIGNsb3VkIHBsYXRmb3JtIGluIHVzZS5cbiAqXG4gKiBOb3RlOiBUaGUgcHJlZml4IG9mIHRoZSBzZXJ2aWNlIFNIT1VMRCBtYXRjaCB0aGUgb25lIHNwZWNpZmllZCBpbiBgY2xvdWQucHJvdmlkZXJgLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBDTE9VRF9QTEFURk9STV9WQUxVRV9HQ1BfQ09NUFVURV9FTkdJTkUgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FID0gVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FO1xuLyoqXG4gKiBUaGUgY2xvdWQgcGxhdGZvcm0gaW4gdXNlLlxuICpcbiAqIE5vdGU6IFRoZSBwcmVmaXggb2YgdGhlIHNlcnZpY2UgU0hPVUxEIG1hdGNoIHRoZSBvbmUgc3BlY2lmaWVkIGluIGBjbG91ZC5wcm92aWRlcmAuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIENMT1VEX1BMQVRGT1JNX1ZBTFVFX0dDUF9DTE9VRF9SVU4gaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX1JVTiA9IFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9SVU47XG4vKipcbiAqIFRoZSBjbG91ZCBwbGF0Zm9ybSBpbiB1c2UuXG4gKlxuICogTm90ZTogVGhlIHByZWZpeCBvZiB0aGUgc2VydmljZSBTSE9VTEQgbWF0Y2ggdGhlIG9uZSBzcGVjaWZpZWQgaW4gYGNsb3VkLnByb3ZpZGVyYC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ0xPVURfUExBVEZPUk1fVkFMVUVfR0NQX0tVQkVSTkVURVNfRU5HSU5FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9LVUJFUk5FVEVTX0VOR0lORSA9IFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9LVUJFUk5FVEVTX0VOR0lORTtcbi8qKlxuICogVGhlIGNsb3VkIHBsYXRmb3JtIGluIHVzZS5cbiAqXG4gKiBOb3RlOiBUaGUgcHJlZml4IG9mIHRoZSBzZXJ2aWNlIFNIT1VMRCBtYXRjaCB0aGUgb25lIHNwZWNpZmllZCBpbiBgY2xvdWQucHJvdmlkZXJgLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBDTE9VRF9QTEFURk9STV9WQUxVRV9HQ1BfQ0xPVURfRlVOQ1RJT05TIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9GVU5DVElPTlMgPSBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfRlVOQ1RJT05TO1xuLyoqXG4gKiBUaGUgY2xvdWQgcGxhdGZvcm0gaW4gdXNlLlxuICpcbiAqIE5vdGU6IFRoZSBwcmVmaXggb2YgdGhlIHNlcnZpY2UgU0hPVUxEIG1hdGNoIHRoZSBvbmUgc3BlY2lmaWVkIGluIGBjbG91ZC5wcm92aWRlcmAuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIENMT1VEX1BMQVRGT1JNX1ZBTFVFX0dDUF9BUFBfRU5HSU5FIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9BUFBfRU5HSU5FID0gVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0FQUF9FTkdJTkU7XG4vKipcbiAqIFRoZSBjb25zdGFudCBtYXAgb2YgdmFsdWVzIGZvciBDbG91ZFBsYXRmb3JtVmFsdWVzLlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBDTE9VRFBMQVRGT1JNVkFMVUVTX1hYWFhYIGNvbnN0YW50cyByYXRoZXIgdGhhbiB0aGUgQ2xvdWRQbGF0Zm9ybVZhbHVlcy5YWFhYWCBmb3IgYnVuZGxlIG1pbmlmaWNhdGlvbi5cbiAqL1xudmFyIENsb3VkUGxhdGZvcm1WYWx1ZXMgPSBcbi8qI19fUFVSRV9fKi8gY3JlYXRlQ29uc3RNYXAoW1xuICAgIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRUNTLFxuICAgIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMsXG4gICAgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDMixcbiAgICBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUNTLFxuICAgIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MsXG4gICAgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0xBTUJEQSxcbiAgICBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEssXG4gICAgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk0sXG4gICAgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQ09OVEFJTkVSX0lOU1RBTkNFUyxcbiAgICBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BS1MsXG4gICAgVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfRlVOQ1RJT05TLFxuICAgIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0FQUF9TRVJWSUNFLFxuICAgIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DT01QVVRFX0VOR0lORSxcbiAgICBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfUlVOLFxuICAgIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9LVUJFUk5FVEVTX0VOR0lORSxcbiAgICBUTVBfQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfRlVOQ1RJT05TLFxuICAgIFRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9BUFBfRU5HSU5FLFxuXSk7XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudCB2YWx1ZXMgZm9yIEF3c0Vjc0xhdW5jaHR5cGVWYWx1ZXMgZW51bSBkZWZpbml0aW9uXG4gKlxuICogVGhlIFtsYXVuY2ggdHlwZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbGF1bmNoX3R5cGVzLmh0bWwpIGZvciBhbiBFQ1MgdGFzay5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIFRlbXBvcmFyeSBsb2NhbCBjb25zdGFudHMgdG8gYXNzaWduIHRvIHRoZSBpbmRpdmlkdWFsIGV4cG9ydHMgYW5kIHRoZSBuYW1lc3BhY2VkIHZlcnNpb25cbi8vIFJlcXVpcmVkIHRvIGF2b2lkIHRoZSBuYW1lc3BhY2UgZXhwb3J0cyB1c2luZyB0aGUgdW5taW5pZmlhYmxlIGV4cG9ydCBuYW1lcyBmb3Igc29tZSBwYWNrYWdlIHR5cGVzXG52YXIgVE1QX0FXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRUMyID0gJ2VjMic7XG52YXIgVE1QX0FXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRkFSR0FURSA9ICdmYXJnYXRlJztcbi8qKlxuICogVGhlIFtsYXVuY2ggdHlwZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbGF1bmNoX3R5cGVzLmh0bWwpIGZvciBhbiBFQ1MgdGFzay5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQVdTX0VDU19MQVVOQ0hUWVBFX1ZBTFVFX0VDMiBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIgPSBUTVBfQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzI7XG4vKipcbiAqIFRoZSBbbGF1bmNoIHR5cGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25FQ1MvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2xhdW5jaF90eXBlcy5odG1sKSBmb3IgYW4gRUNTIHRhc2suXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFXU19FQ1NfTEFVTkNIVFlQRV9WQUxVRV9GQVJHQVRFIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0ZBUkdBVEUgPSBUTVBfQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19GQVJHQVRFO1xuLyoqXG4gKiBUaGUgY29uc3RhbnQgbWFwIG9mIHZhbHVlcyBmb3IgQXdzRWNzTGF1bmNodHlwZVZhbHVlcy5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19YWFhYWCBjb25zdGFudHMgcmF0aGVyIHRoYW4gdGhlIEF3c0Vjc0xhdW5jaHR5cGVWYWx1ZXMuWFhYWFggZm9yIGJ1bmRsZSBtaW5pZmljYXRpb24uXG4gKi9cbnZhciBBd3NFY3NMYXVuY2h0eXBlVmFsdWVzID0gXG4vKiNfX1BVUkVfXyovIGNyZWF0ZUNvbnN0TWFwKFtcbiAgICBUTVBfQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIsXG4gICAgVE1QX0FXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRkFSR0FURSxcbl0pO1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnQgdmFsdWVzIGZvciBIb3N0QXJjaFZhbHVlcyBlbnVtIGRlZmluaXRpb25cbiAqXG4gKiBUaGUgQ1BVIGFyY2hpdGVjdHVyZSB0aGUgaG9zdCBzeXN0ZW0gaXMgcnVubmluZyBvbi5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIFRlbXBvcmFyeSBsb2NhbCBjb25zdGFudHMgdG8gYXNzaWduIHRvIHRoZSBpbmRpdmlkdWFsIGV4cG9ydHMgYW5kIHRoZSBuYW1lc3BhY2VkIHZlcnNpb25cbi8vIFJlcXVpcmVkIHRvIGF2b2lkIHRoZSBuYW1lc3BhY2UgZXhwb3J0cyB1c2luZyB0aGUgdW5taW5pZmlhYmxlIGV4cG9ydCBuYW1lcyBmb3Igc29tZSBwYWNrYWdlIHR5cGVzXG52YXIgVE1QX0hPU1RBUkNIVkFMVUVTX0FNRDY0ID0gJ2FtZDY0JztcbnZhciBUTVBfSE9TVEFSQ0hWQUxVRVNfQVJNMzIgPSAnYXJtMzInO1xudmFyIFRNUF9IT1NUQVJDSFZBTFVFU19BUk02NCA9ICdhcm02NCc7XG52YXIgVE1QX0hPU1RBUkNIVkFMVUVTX0lBNjQgPSAnaWE2NCc7XG52YXIgVE1QX0hPU1RBUkNIVkFMVUVTX1BQQzMyID0gJ3BwYzMyJztcbnZhciBUTVBfSE9TVEFSQ0hWQUxVRVNfUFBDNjQgPSAncHBjNjQnO1xudmFyIFRNUF9IT1NUQVJDSFZBTFVFU19YODYgPSAneDg2Jztcbi8qKlxuICogVGhlIENQVSBhcmNoaXRlY3R1cmUgdGhlIGhvc3Qgc3lzdGVtIGlzIHJ1bm5pbmcgb24uXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEhPU1RfQVJDSF9WQUxVRV9BTUQ2NCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgSE9TVEFSQ0hWQUxVRVNfQU1ENjQgPSBUTVBfSE9TVEFSQ0hWQUxVRVNfQU1ENjQ7XG4vKipcbiAqIFRoZSBDUFUgYXJjaGl0ZWN0dXJlIHRoZSBob3N0IHN5c3RlbSBpcyBydW5uaW5nIG9uLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBIT1NUX0FSQ0hfVkFMVUVfQVJNMzIgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIEhPU1RBUkNIVkFMVUVTX0FSTTMyID0gVE1QX0hPU1RBUkNIVkFMVUVTX0FSTTMyO1xuLyoqXG4gKiBUaGUgQ1BVIGFyY2hpdGVjdHVyZSB0aGUgaG9zdCBzeXN0ZW0gaXMgcnVubmluZyBvbi5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgSE9TVF9BUkNIX1ZBTFVFX0FSTTY0IGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBIT1NUQVJDSFZBTFVFU19BUk02NCA9IFRNUF9IT1NUQVJDSFZBTFVFU19BUk02NDtcbi8qKlxuICogVGhlIENQVSBhcmNoaXRlY3R1cmUgdGhlIGhvc3Qgc3lzdGVtIGlzIHJ1bm5pbmcgb24uXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEhPU1RfQVJDSF9WQUxVRV9JQTY0IGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBIT1NUQVJDSFZBTFVFU19JQTY0ID0gVE1QX0hPU1RBUkNIVkFMVUVTX0lBNjQ7XG4vKipcbiAqIFRoZSBDUFUgYXJjaGl0ZWN0dXJlIHRoZSBob3N0IHN5c3RlbSBpcyBydW5uaW5nIG9uLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBIT1NUX0FSQ0hfVkFMVUVfUFBDMzIgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIEhPU1RBUkNIVkFMVUVTX1BQQzMyID0gVE1QX0hPU1RBUkNIVkFMVUVTX1BQQzMyO1xuLyoqXG4gKiBUaGUgQ1BVIGFyY2hpdGVjdHVyZSB0aGUgaG9zdCBzeXN0ZW0gaXMgcnVubmluZyBvbi5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgSE9TVF9BUkNIX1ZBTFVFX1BQQzY0IGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBIT1NUQVJDSFZBTFVFU19QUEM2NCA9IFRNUF9IT1NUQVJDSFZBTFVFU19QUEM2NDtcbi8qKlxuICogVGhlIENQVSBhcmNoaXRlY3R1cmUgdGhlIGhvc3Qgc3lzdGVtIGlzIHJ1bm5pbmcgb24uXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIEhPU1RfQVJDSF9WQUxVRV9YODYgaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIEhPU1RBUkNIVkFMVUVTX1g4NiA9IFRNUF9IT1NUQVJDSFZBTFVFU19YODY7XG4vKipcbiAqIFRoZSBjb25zdGFudCBtYXAgb2YgdmFsdWVzIGZvciBIb3N0QXJjaFZhbHVlcy5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgSE9TVEFSQ0hWQUxVRVNfWFhYWFggY29uc3RhbnRzIHJhdGhlciB0aGFuIHRoZSBIb3N0QXJjaFZhbHVlcy5YWFhYWCBmb3IgYnVuZGxlIG1pbmlmaWNhdGlvbi5cbiAqL1xudmFyIEhvc3RBcmNoVmFsdWVzID0gXG4vKiNfX1BVUkVfXyovIGNyZWF0ZUNvbnN0TWFwKFtcbiAgICBUTVBfSE9TVEFSQ0hWQUxVRVNfQU1ENjQsXG4gICAgVE1QX0hPU1RBUkNIVkFMVUVTX0FSTTMyLFxuICAgIFRNUF9IT1NUQVJDSFZBTFVFU19BUk02NCxcbiAgICBUTVBfSE9TVEFSQ0hWQUxVRVNfSUE2NCxcbiAgICBUTVBfSE9TVEFSQ0hWQUxVRVNfUFBDMzIsXG4gICAgVE1QX0hPU1RBUkNIVkFMVUVTX1BQQzY0LFxuICAgIFRNUF9IT1NUQVJDSFZBTFVFU19YODYsXG5dKTtcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50IHZhbHVlcyBmb3IgT3NUeXBlVmFsdWVzIGVudW0gZGVmaW5pdGlvblxuICpcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vLyBUZW1wb3JhcnkgbG9jYWwgY29uc3RhbnRzIHRvIGFzc2lnbiB0byB0aGUgaW5kaXZpZHVhbCBleHBvcnRzIGFuZCB0aGUgbmFtZXNwYWNlZCB2ZXJzaW9uXG4vLyBSZXF1aXJlZCB0byBhdm9pZCB0aGUgbmFtZXNwYWNlIGV4cG9ydHMgdXNpbmcgdGhlIHVubWluaWZpYWJsZSBleHBvcnQgbmFtZXMgZm9yIHNvbWUgcGFja2FnZSB0eXBlc1xudmFyIFRNUF9PU1RZUEVWQUxVRVNfV0lORE9XUyA9ICd3aW5kb3dzJztcbnZhciBUTVBfT1NUWVBFVkFMVUVTX0xJTlVYID0gJ2xpbnV4JztcbnZhciBUTVBfT1NUWVBFVkFMVUVTX0RBUldJTiA9ICdkYXJ3aW4nO1xudmFyIFRNUF9PU1RZUEVWQUxVRVNfRlJFRUJTRCA9ICdmcmVlYnNkJztcbnZhciBUTVBfT1NUWVBFVkFMVUVTX05FVEJTRCA9ICduZXRic2QnO1xudmFyIFRNUF9PU1RZUEVWQUxVRVNfT1BFTkJTRCA9ICdvcGVuYnNkJztcbnZhciBUTVBfT1NUWVBFVkFMVUVTX0RSQUdPTkZMWUJTRCA9ICdkcmFnb25mbHlic2QnO1xudmFyIFRNUF9PU1RZUEVWQUxVRVNfSFBVWCA9ICdocHV4JztcbnZhciBUTVBfT1NUWVBFVkFMVUVTX0FJWCA9ICdhaXgnO1xudmFyIFRNUF9PU1RZUEVWQUxVRVNfU09MQVJJUyA9ICdzb2xhcmlzJztcbnZhciBUTVBfT1NUWVBFVkFMVUVTX1pfT1MgPSAnel9vcyc7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfV0lORE9XUyBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgT1NUWVBFVkFMVUVTX1dJTkRPV1MgPSBUTVBfT1NUWVBFVkFMVUVTX1dJTkRPV1M7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfTElOVVggaW4gW2luY3ViYXRpbmcgZW50cnktcG9pbnRdKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1qcy9ibG9iL21haW4vc2VtYW50aWMtY29udmVudGlvbnMvUkVBRE1FLm1kI3Vuc3RhYmxlLXNlbWNvbnZ9KS5cbiAqL1xudmFyIE9TVFlQRVZBTFVFU19MSU5VWCA9IFRNUF9PU1RZUEVWQUxVRVNfTElOVVg7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfREFSV0lOIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBPU1RZUEVWQUxVRVNfREFSV0lOID0gVE1QX09TVFlQRVZBTFVFU19EQVJXSU47XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfRlJFRUJTRCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgT1NUWVBFVkFMVUVTX0ZSRUVCU0QgPSBUTVBfT1NUWVBFVkFMVUVTX0ZSRUVCU0Q7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfTkVUQlNEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBPU1RZUEVWQUxVRVNfTkVUQlNEID0gVE1QX09TVFlQRVZBTFVFU19ORVRCU0Q7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfT1BFTkJTRCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgT1NUWVBFVkFMVUVTX09QRU5CU0QgPSBUTVBfT1NUWVBFVkFMVUVTX09QRU5CU0Q7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfRFJBR09ORkxZQlNEIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBPU1RZUEVWQUxVRVNfRFJBR09ORkxZQlNEID0gVE1QX09TVFlQRVZBTFVFU19EUkFHT05GTFlCU0Q7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfSFBVWCBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgT1NUWVBFVkFMVUVTX0hQVVggPSBUTVBfT1NUWVBFVkFMVUVTX0hQVVg7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfQUlYIGluIFtpbmN1YmF0aW5nIGVudHJ5LXBvaW50XSh7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktanMvYmxvYi9tYWluL3NlbWFudGljLWNvbnZlbnRpb25zL1JFQURNRS5tZCN1bnN0YWJsZS1zZW1jb252fSkuXG4gKi9cbnZhciBPU1RZUEVWQUxVRVNfQUlYID0gVE1QX09TVFlQRVZBTFVFU19BSVg7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfU09MQVJJUyBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgT1NUWVBFVkFMVUVTX1NPTEFSSVMgPSBUTVBfT1NUWVBFVkFMVUVTX1NPTEFSSVM7XG4vKipcbiAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIE9TX1RZUEVfVkFMVUVfWl9PUyBpbiBbaW5jdWJhdGluZyBlbnRyeS1wb2ludF0oe0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2Jsb2IvbWFpbi9zZW1hbnRpYy1jb252ZW50aW9ucy9SRUFETUUubWQjdW5zdGFibGUtc2VtY29udn0pLlxuICovXG52YXIgT1NUWVBFVkFMVUVTX1pfT1MgPSBUTVBfT1NUWVBFVkFMVUVTX1pfT1M7XG4vKipcbiAqIFRoZSBjb25zdGFudCBtYXAgb2YgdmFsdWVzIGZvciBPc1R5cGVWYWx1ZXMuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIE9TVFlQRVZBTFVFU19YWFhYWCBjb25zdGFudHMgcmF0aGVyIHRoYW4gdGhlIE9zVHlwZVZhbHVlcy5YWFhYWCBmb3IgYnVuZGxlIG1pbmlmaWNhdGlvbi5cbiAqL1xudmFyIE9zVHlwZVZhbHVlcyA9IFxuLyojX19QVVJFX18qLyBjcmVhdGVDb25zdE1hcChbXG4gICAgVE1QX09TVFlQRVZBTFVFU19XSU5ET1dTLFxuICAgIFRNUF9PU1RZUEVWQUxVRVNfTElOVVgsXG4gICAgVE1QX09TVFlQRVZBTFVFU19EQVJXSU4sXG4gICAgVE1QX09TVFlQRVZBTFVFU19GUkVFQlNELFxuICAgIFRNUF9PU1RZUEVWQUxVRVNfTkVUQlNELFxuICAgIFRNUF9PU1RZUEVWQUxVRVNfT1BFTkJTRCxcbiAgICBUTVBfT1NUWVBFVkFMVUVTX0RSQUdPTkZMWUJTRCxcbiAgICBUTVBfT1NUWVBFVkFMVUVTX0hQVVgsXG4gICAgVE1QX09TVFlQRVZBTFVFU19BSVgsXG4gICAgVE1QX09TVFlQRVZBTFVFU19TT0xBUklTLFxuICAgIFRNUF9PU1RZUEVWQUxVRVNfWl9PUyxcbl0pO1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnQgdmFsdWVzIGZvciBUZWxlbWV0cnlTZGtMYW5ndWFnZVZhbHVlcyBlbnVtIGRlZmluaXRpb25cbiAqXG4gKiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIHRlbGVtZXRyeSBTREsuXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vLyBUZW1wb3JhcnkgbG9jYWwgY29uc3RhbnRzIHRvIGFzc2lnbiB0byB0aGUgaW5kaXZpZHVhbCBleHBvcnRzIGFuZCB0aGUgbmFtZXNwYWNlZCB2ZXJzaW9uXG4vLyBSZXF1aXJlZCB0byBhdm9pZCB0aGUgbmFtZXNwYWNlIGV4cG9ydHMgdXNpbmcgdGhlIHVubWluaWZpYWJsZSBleHBvcnQgbmFtZXMgZm9yIHNvbWUgcGFja2FnZSB0eXBlc1xudmFyIFRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFAgPSAnY3BwJztcbnZhciBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRE9UTkVUID0gJ2RvdG5ldCc7XG52YXIgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORyA9ICdlcmxhbmcnO1xudmFyIFRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19HTyA9ICdnbyc7XG52YXIgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0pBVkEgPSAnamF2YSc7XG52YXIgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUyA9ICdub2RlanMnO1xudmFyIFRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFAgPSAncGhwJztcbnZhciBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUFlUSE9OID0gJ3B5dGhvbic7XG52YXIgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlkgPSAncnVieSc7XG52YXIgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1dFQkpTID0gJ3dlYmpzJztcbi8qKlxuICogVGhlIGxhbmd1YWdlIG9mIHRoZSB0ZWxlbWV0cnkgU0RLLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0NQUC5cbiAqL1xudmFyIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0NQUCA9IFRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFA7XG4vKipcbiAqIFRoZSBsYW5ndWFnZSBvZiB0aGUgdGVsZW1ldHJ5IFNESy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9ET1RORVQuXG4gKi9cbnZhciBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19ET1RORVQgPSBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRE9UTkVUO1xuLyoqXG4gKiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIHRlbGVtZXRyeSBTREsuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRVJMQU5HLlxuICovXG52YXIgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRVJMQU5HID0gVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORztcbi8qKlxuICogVGhlIGxhbmd1YWdlIG9mIHRoZSB0ZWxlbWV0cnkgU0RLLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0dPLlxuICovXG52YXIgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR08gPSBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR087XG4vKipcbiAqIFRoZSBsYW5ndWFnZSBvZiB0aGUgdGVsZW1ldHJ5IFNESy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBLlxuICovXG52YXIgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfSkFWQSA9IFRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19KQVZBO1xuLyoqXG4gKiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIHRlbGVtZXRyeSBTREsuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfTk9ERUpTLlxuICovXG52YXIgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfTk9ERUpTID0gVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUztcbi8qKlxuICogVGhlIGxhbmd1YWdlIG9mIHRoZSB0ZWxlbWV0cnkgU0RLLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BIUC5cbiAqL1xudmFyIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BIUCA9IFRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFA7XG4vKipcbiAqIFRoZSBsYW5ndWFnZSBvZiB0aGUgdGVsZW1ldHJ5IFNESy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9QWVRIT04uXG4gKi9cbnZhciBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QWVRIT04gPSBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUFlUSE9OO1xuLyoqXG4gKiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIHRlbGVtZXRyeSBTREsuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVCWS5cbiAqL1xudmFyIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlkgPSBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUlVCWTtcbi8qKlxuICogVGhlIGxhbmd1YWdlIG9mIHRoZSB0ZWxlbWV0cnkgU0RLLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1dFQkpTLlxuICovXG52YXIgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMgPSBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlM7XG4vKipcbiAqIFRoZSBjb25zdGFudCBtYXAgb2YgdmFsdWVzIGZvciBUZWxlbWV0cnlTZGtMYW5ndWFnZVZhbHVlcy5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfWFhYWFggY29uc3RhbnRzIHJhdGhlciB0aGFuIHRoZSBUZWxlbWV0cnlTZGtMYW5ndWFnZVZhbHVlcy5YWFhYWCBmb3IgYnVuZGxlIG1pbmlmaWNhdGlvbi5cbiAqL1xudmFyIFRlbGVtZXRyeVNka0xhbmd1YWdlVmFsdWVzID0gXG4vKiNfX1BVUkVfXyovIGNyZWF0ZUNvbnN0TWFwKFtcbiAgICBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfQ1BQLFxuICAgIFRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19ET1RORVQsXG4gICAgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORyxcbiAgICBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR08sXG4gICAgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0pBVkEsXG4gICAgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUyxcbiAgICBUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUEhQLFxuICAgIFRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QWVRIT04sXG4gICAgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlksXG4gICAgVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1dFQkpTLFxuXSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgX2E7XG4vKiogQ29uc3RhbnRzIGRlc2NyaWJpbmcgdGhlIFNESyBpbiB1c2UgKi9cbnZhciBTREtfSU5GTyA9IChfYSA9IHt9LFxuICAgIF9hW1NFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTkFNRV0gPSAnb3BlbnRlbGVtZXRyeScsXG4gICAgX2FbU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX05BTUVdID0gJ2Jyb3dzZXInLFxuICAgIF9hW1NFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0VdID0gVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMsXG4gICAgX2FbU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19WRVJTSU9OXSA9IFZFUlNJT04sXG4gICAgX2EpO1xuXG5leHBvcnQgeyBTRU1SRVNBVFRSU19BV1NfRUNTX0xBVU5DSFRZUEUgYXMgJCwgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIgYXMgQSwgQ2xvdWRQbGF0Zm9ybVZhbHVlcyBhcyBCLCBDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRUNTIGFzIEMsIENsb3VkUHJvdmlkZXJWYWx1ZXMgYXMgRCwgSE9TVEFSQ0hWQUxVRVNfQVJNMzIgYXMgRSwgSE9TVEFSQ0hWQUxVRVNfQVJNNjQgYXMgRiwgSE9TVEFSQ0hWQUxVRVNfSUE2NCBhcyBHLCBIT1NUQVJDSFZBTFVFU19BTUQ2NCBhcyBILCBIT1NUQVJDSFZBTFVFU19QUEMzMiBhcyBJLCBIT1NUQVJDSFZBTFVFU19QUEM2NCBhcyBKLCBIT1NUQVJDSFZBTFVFU19YODYgYXMgSywgSG9zdEFyY2hWYWx1ZXMgYXMgTCwgT1NUWVBFVkFMVUVTX0RBUldJTiBhcyBNLCBPU1RZUEVWQUxVRVNfRFJBR09ORkxZQlNEIGFzIE4sIE9TVFlQRVZBTFVFU19BSVggYXMgTywgT1NUWVBFVkFMVUVTX0ZSRUVCU0QgYXMgUCwgT1NUWVBFVkFMVUVTX0hQVVggYXMgUSwgT1NUWVBFVkFMVUVTX0xJTlVYIGFzIFIsIFNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRSBhcyBTLCBPU1RZUEVWQUxVRVNfTkVUQlNEIGFzIFQsIE9TVFlQRVZBTFVFU19PUEVOQlNEIGFzIFUsIE9TVFlQRVZBTFVFU19TT0xBUklTIGFzIFYsIE9TVFlQRVZBTFVFU19XSU5ET1dTIGFzIFcsIE9TVFlQRVZBTFVFU19aX09TIGFzIFgsIE9zVHlwZVZhbHVlcyBhcyBZLCBTRU1SRVNBVFRSU19BV1NfRUNTX0NMVVNURVJfQVJOIGFzIFosIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ09OVEFJTkVSX0FSTiBhcyBfLCBTREtfSU5GTyBhcyBhLCBTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCBhcyBhJCwgU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX0FSTiBhcyBhMCwgU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX0ZBTUlMWSBhcyBhMSwgU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX1JFVklTSU9OIGFzIGEyLCBTRU1SRVNBVFRSU19BV1NfRUtTX0NMVVNURVJfQVJOIGFzIGEzLCBTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX0FSTlMgYXMgYTQsIFNFTVJFU0FUVFJTX0FXU19MT0dfR1JPVVBfTkFNRVMgYXMgYTUsIFNFTVJFU0FUVFJTX0FXU19MT0dfU1RSRUFNX0FSTlMgYXMgYTYsIFNFTVJFU0FUVFJTX0FXU19MT0dfU1RSRUFNX05BTUVTIGFzIGE3LCBTRU1SRVNBVFRSU19DTE9VRF9BQ0NPVU5UX0lEIGFzIGE4LCBTRU1SRVNBVFRSU19DTE9VRF9BVkFJTEFCSUxJVFlfWk9ORSBhcyBhOSwgU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfTkFNRSBhcyBhQSwgU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfVUlEIGFzIGFCLCBTRU1SRVNBVFRSU19LOFNfREFFTU9OU0VUX05BTUUgYXMgYUMsIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfVUlEIGFzIGFELCBTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9OQU1FIGFzIGFFLCBTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9VSUQgYXMgYUYsIFNFTVJFU0FUVFJTX0s4U19KT0JfTkFNRSBhcyBhRywgU0VNUkVTQVRUUlNfSzhTX0pPQl9VSUQgYXMgYUgsIFNFTVJFU0FUVFJTX0s4U19OQU1FU1BBQ0VfTkFNRSBhcyBhSSwgU0VNUkVTQVRUUlNfSzhTX05PREVfTkFNRSBhcyBhSiwgU0VNUkVTQVRUUlNfSzhTX05PREVfVUlEIGFzIGFLLCBTRU1SRVNBVFRSU19LOFNfUE9EX05BTUUgYXMgYUwsIFNFTVJFU0FUVFJTX0s4U19QT0RfVUlEIGFzIGFNLCBTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9OQU1FIGFzIGFOLCBTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9VSUQgYXMgYU8sIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9OQU1FIGFzIGFQLCBTRU1SRVNBVFRSU19LOFNfU1RBVEVGVUxTRVRfVUlEIGFzIGFRLCBTRU1SRVNBVFRSU19PU19ERVNDUklQVElPTiBhcyBhUiwgU0VNUkVTQVRUUlNfT1NfTkFNRSBhcyBhUywgU0VNUkVTQVRUUlNfT1NfVFlQRSBhcyBhVCwgU0VNUkVTQVRUUlNfT1NfVkVSU0lPTiBhcyBhVSwgU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EIGFzIGFWLCBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkRfQVJHUyBhcyBhVywgU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0xJTkUgYXMgYVgsIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9OQU1FIGFzIGFZLCBTRU1SRVNBVFRSU19QUk9DRVNTX0VYRUNVVEFCTEVfUEFUSCBhcyBhWiwgU0VNUkVTQVRUUlNfUFJPQ0VTU19PV05FUiBhcyBhXywgU0VNUkVTQVRUUlNfQ0xPVURfUExBVEZPUk0gYXMgYWEsIFNFTVJFU0FUVFJTX0NMT1VEX1BST1ZJREVSIGFzIGFiLCBTRU1SRVNBVFRSU19DTE9VRF9SRUdJT04gYXMgYWMsIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JRCBhcyBhZCwgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX05BTUUgYXMgYWUsIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JTUFHRV9UQUcgYXMgYWYsIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9OQU1FIGFzIGFnLCBTRU1SRVNBVFRSU19DT05UQUlORVJfUlVOVElNRSBhcyBhaCwgU0VNUkVTQVRUUlNfREVQTE9ZTUVOVF9FTlZJUk9OTUVOVCBhcyBhaSwgU0VNUkVTQVRUUlNfREVWSUNFX0lEIGFzIGFqLCBTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfSURFTlRJRklFUiBhcyBhaywgU0VNUkVTQVRUUlNfREVWSUNFX01PREVMX05BTUUgYXMgYWwsIFNFTVJFU0FUVFJTX0ZBQVNfSUQgYXMgYW0sIFNFTVJFU0FUVFJTX0ZBQVNfSU5TVEFOQ0UgYXMgYW4sIFNFTVJFU0FUVFJTX0ZBQVNfTUFYX01FTU9SWSBhcyBhbywgU0VNUkVTQVRUUlNfRkFBU19OQU1FIGFzIGFwLCBTRU1SRVNBVFRSU19GQUFTX1ZFUlNJT04gYXMgYXEsIFNFTVJFU0FUVFJTX0hPU1RfQVJDSCBhcyBhciwgU0VNUkVTQVRUUlNfSE9TVF9JRCBhcyBhcywgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9JRCBhcyBhdCwgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9OQU1FIGFzIGF1LCBTRU1SRVNBVFRSU19IT1NUX0lNQUdFX1ZFUlNJT04gYXMgYXYsIFNFTVJFU0FUVFJTX0hPU1RfTkFNRSBhcyBhdywgU0VNUkVTQVRUUlNfSE9TVF9UWVBFIGFzIGF4LCBTRU1SRVNBVFRSU19LOFNfQ0xVU1RFUl9OQU1FIGFzIGF5LCBTRU1SRVNBVFRSU19LOFNfQ09OVEFJTkVSX05BTUUgYXMgYXosIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UgYXMgYiwgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OIGFzIGIwLCBTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfTkFNRSBhcyBiMSwgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04gYXMgYjIsIFNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQgYXMgYjMsIFNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRVNQQUNFIGFzIGI0LCBTRU1SRVNBVFRSU19TRVJWSUNFX1ZFUlNJT04gYXMgYjUsIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9BVVRPX1ZFUlNJT04gYXMgYjYsIFNFTVJFU0FUVFJTX1dFQkVOR0lORV9ERVNDUklQVElPTiBhcyBiNywgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX05BTUUgYXMgYjgsIFNFTVJFU0FUVFJTX1dFQkVOR0lORV9WRVJTSU9OIGFzIGI5LCBTZW1hbnRpY1Jlc291cmNlQXR0cmlidXRlcyBhcyBiYSwgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfQ1BQIGFzIGJiLCBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19ET1RORVQgYXMgYmMsIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORyBhcyBiZCwgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR08gYXMgYmUsIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0pBVkEgYXMgYmYsIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUyBhcyBiZywgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUEhQIGFzIGJoLCBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QWVRIT04gYXMgYmksIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlkgYXMgYmosIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1dFQkpTIGFzIGJrLCBUZWxlbWV0cnlTZGtMYW5ndWFnZVZhbHVlcyBhcyBibCwgVkVSU0lPTiBhcyBibSwgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FIGFzIGMsIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTiBhcyBkLCBBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0ZBUkdBVEUgYXMgZSwgQXdzRWNzTGF1bmNodHlwZVZhbHVlcyBhcyBmLCBDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMgYXMgZywgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUMyIGFzIGgsIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDUyBhcyBpLCBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MgYXMgaiwgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEsgYXMgaywgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfTEFNQkRBIGFzIGwsIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTIGFzIG0sIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQVBQX1NFUlZJQ0UgYXMgbiwgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9DT05UQUlORVJfSU5TVEFOQ0VTIGFzIG8sIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfRlVOQ1RJT05TIGFzIHAsIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk0gYXMgcSwgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQVBQX0VOR0lORSBhcyByLCBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9GVU5DVElPTlMgYXMgcywgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfUlVOIGFzIHQsIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FIGFzIHUsIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0tVQkVSTkVURVNfRU5HSU5FIGFzIHYsIENMT1VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCBhcyB3LCBDTE9VRFBST1ZJREVSVkFMVUVTX0FXUyBhcyB4LCBDTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFIGFzIHksIENMT1VEUFJPVklERVJWQUxVRVNfR0NQIGFzIHogfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQXNCO0FBa0JwQyxJQUFJQyxLQUFVLFVBeUJWQyxJQUFxQixrQkFDckJDLElBQXVCLG9CQUN2QkMsSUFBbUIsZ0JBQ25CQyxJQUE4QiwyQkFDOUJDLElBQXFCLGtCQUNyQkMsSUFBNEIseUJBQzVCQyxJQUEwQix1QkFDMUJDLElBQXlCLHNCQUN6QkMsSUFBdUIsb0JBQ3ZCQyxJQUEwQix1QkFDMUJDLElBQTRCLHlCQUM1QkMsSUFBMEIsdUJBQzFCQyxJQUEwQix1QkFDMUJDLElBQXlCLHNCQUN6QkMsSUFBMkIsd0JBQzNCQyxJQUEwQix1QkFDMUJDLElBQXFCLGtCQUNyQkMsSUFBbUIsZ0JBQ25CQyxJQUF3QixxQkFDeEJDLElBQTJCLHdCQUMzQkMsSUFBMEIsdUJBQzFCQyxJQUE2QiwwQkFDN0JDLElBQWdCLGFBQ2hCQyxJQUE4QiwyQkFDOUJDLElBQXdCLHFCQUN4QkMsSUFBZ0IsYUFDaEJDLElBQWMsV0FDZEMsSUFBbUIsZ0JBQ25CQyxJQUFvQixpQkFDcEJDLElBQXNCLG1CQUN0QkMsSUFBYyxXQUNkQyxJQUFnQixhQUNoQkMsSUFBZ0IsYUFDaEJDLElBQWdCLGFBQ2hCQyxJQUFzQixtQkFDdEJDLElBQW9CLGlCQUNwQkMsSUFBeUIsc0JBQ3pCQyxJQUF1QixvQkFDdkJDLElBQW9C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QUNBQztBQUFBLEVBQ0FDO0FBQUEsRUFDQUM7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQUEsRUFDQUM7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQ0osQ0FBQyxHQVFHYSxLQUFxQyxPQUNyQ0MsS0FBd0MsVUFDeENDLEtBQXdDLFVBQ3hDQyxLQUFvQyxNQUNwQ0MsS0FBc0MsUUFDdENDLEtBQXdDLFVBQ3hDQyxLQUFxQyxPQUNyQ0MsS0FBd0MsVUFDeENDLEtBQXNDLFFBQ3RDQyxLQUF1QyxTQU12Q0MsS0FBaUNWLElBTWpDVyxLQUFvQ1YsSUFNcENXLEtBQW9DVixJQU1wQ1csS0FBZ0NWLElBTWhDVyxLQUFrQ1YsSUFNbENXLEtBQW9DVixJQU1wQ1csS0FBaUNWLElBTWpDVyxLQUFvQ1YsSUFNcENXLEtBQWtDVixJQU1sQ1csS0FBbUNWLElBS25DVyxLQUNVLGdCQUFBaFIsRUFBZTtBQUFBLEVBQ3pCNFA7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQUEsRUFDQUM7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQUEsRUFDQUM7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQUEsRUFDQUM7QUFDSixDQUFDLEdBaUJHWSxHQUVBQyxNQUFZRCxJQUFLLENBQUMsR0FDbEJBLEVBQUdwSCxFQUE4QixJQUFJLGlCQUNyQ29ILEVBQUczSCxFQUFnQyxJQUFJLFdBQ3ZDMkgsRUFBR25ILEVBQWtDLElBQUlpSCxJQUN6Q0UsRUFBR2xILEVBQWlDLElBQUk5SixJQUN4Q2dSOyIsCiAgIm5hbWVzIjogWyJjcmVhdGVDb25zdE1hcCIsICJWRVJTSU9OIiwgIlRNUF9DTE9VRF9QUk9WSURFUiIsICJUTVBfQ0xPVURfQUNDT1VOVF9JRCIsICJUTVBfQ0xPVURfUkVHSU9OIiwgIlRNUF9DTE9VRF9BVkFJTEFCSUxJVFlfWk9ORSIsICJUTVBfQ0xPVURfUExBVEZPUk0iLCAiVE1QX0FXU19FQ1NfQ09OVEFJTkVSX0FSTiIsICJUTVBfQVdTX0VDU19DTFVTVEVSX0FSTiIsICJUTVBfQVdTX0VDU19MQVVOQ0hUWVBFIiwgIlRNUF9BV1NfRUNTX1RBU0tfQVJOIiwgIlRNUF9BV1NfRUNTX1RBU0tfRkFNSUxZIiwgIlRNUF9BV1NfRUNTX1RBU0tfUkVWSVNJT04iLCAiVE1QX0FXU19FS1NfQ0xVU1RFUl9BUk4iLCAiVE1QX0FXU19MT0dfR1JPVVBfTkFNRVMiLCAiVE1QX0FXU19MT0dfR1JPVVBfQVJOUyIsICJUTVBfQVdTX0xPR19TVFJFQU1fTkFNRVMiLCAiVE1QX0FXU19MT0dfU1RSRUFNX0FSTlMiLCAiVE1QX0NPTlRBSU5FUl9OQU1FIiwgIlRNUF9DT05UQUlORVJfSUQiLCAiVE1QX0NPTlRBSU5FUl9SVU5USU1FIiwgIlRNUF9DT05UQUlORVJfSU1BR0VfTkFNRSIsICJUTVBfQ09OVEFJTkVSX0lNQUdFX1RBRyIsICJUTVBfREVQTE9ZTUVOVF9FTlZJUk9OTUVOVCIsICJUTVBfREVWSUNFX0lEIiwgIlRNUF9ERVZJQ0VfTU9ERUxfSURFTlRJRklFUiIsICJUTVBfREVWSUNFX01PREVMX05BTUUiLCAiVE1QX0ZBQVNfTkFNRSIsICJUTVBfRkFBU19JRCIsICJUTVBfRkFBU19WRVJTSU9OIiwgIlRNUF9GQUFTX0lOU1RBTkNFIiwgIlRNUF9GQUFTX01BWF9NRU1PUlkiLCAiVE1QX0hPU1RfSUQiLCAiVE1QX0hPU1RfTkFNRSIsICJUTVBfSE9TVF9UWVBFIiwgIlRNUF9IT1NUX0FSQ0giLCAiVE1QX0hPU1RfSU1BR0VfTkFNRSIsICJUTVBfSE9TVF9JTUFHRV9JRCIsICJUTVBfSE9TVF9JTUFHRV9WRVJTSU9OIiwgIlRNUF9LOFNfQ0xVU1RFUl9OQU1FIiwgIlRNUF9LOFNfTk9ERV9OQU1FIiwgIlRNUF9LOFNfTk9ERV9VSUQiLCAiVE1QX0s4U19OQU1FU1BBQ0VfTkFNRSIsICJUTVBfSzhTX1BPRF9VSUQiLCAiVE1QX0s4U19QT0RfTkFNRSIsICJUTVBfSzhTX0NPTlRBSU5FUl9OQU1FIiwgIlRNUF9LOFNfUkVQTElDQVNFVF9VSUQiLCAiVE1QX0s4U19SRVBMSUNBU0VUX05BTUUiLCAiVE1QX0s4U19ERVBMT1lNRU5UX1VJRCIsICJUTVBfSzhTX0RFUExPWU1FTlRfTkFNRSIsICJUTVBfSzhTX1NUQVRFRlVMU0VUX1VJRCIsICJUTVBfSzhTX1NUQVRFRlVMU0VUX05BTUUiLCAiVE1QX0s4U19EQUVNT05TRVRfVUlEIiwgIlRNUF9LOFNfREFFTU9OU0VUX05BTUUiLCAiVE1QX0s4U19KT0JfVUlEIiwgIlRNUF9LOFNfSk9CX05BTUUiLCAiVE1QX0s4U19DUk9OSk9CX1VJRCIsICJUTVBfSzhTX0NST05KT0JfTkFNRSIsICJUTVBfT1NfVFlQRSIsICJUTVBfT1NfREVTQ1JJUFRJT04iLCAiVE1QX09TX05BTUUiLCAiVE1QX09TX1ZFUlNJT04iLCAiVE1QX1BST0NFU1NfUElEIiwgIlRNUF9QUk9DRVNTX0VYRUNVVEFCTEVfTkFNRSIsICJUTVBfUFJPQ0VTU19FWEVDVVRBQkxFX1BBVEgiLCAiVE1QX1BST0NFU1NfQ09NTUFORCIsICJUTVBfUFJPQ0VTU19DT01NQU5EX0xJTkUiLCAiVE1QX1BST0NFU1NfQ09NTUFORF9BUkdTIiwgIlRNUF9QUk9DRVNTX09XTkVSIiwgIlRNUF9QUk9DRVNTX1JVTlRJTUVfTkFNRSIsICJUTVBfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04iLCAiVE1QX1BST0NFU1NfUlVOVElNRV9ERVNDUklQVElPTiIsICJUTVBfU0VSVklDRV9OQU1FIiwgIlRNUF9TRVJWSUNFX05BTUVTUEFDRSIsICJUTVBfU0VSVklDRV9JTlNUQU5DRV9JRCIsICJUTVBfU0VSVklDRV9WRVJTSU9OIiwgIlRNUF9URUxFTUVUUllfU0RLX05BTUUiLCAiVE1QX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UiLCAiVE1QX1RFTEVNRVRSWV9TREtfVkVSU0lPTiIsICJUTVBfVEVMRU1FVFJZX0FVVE9fVkVSU0lPTiIsICJUTVBfV0VCRU5HSU5FX05BTUUiLCAiVE1QX1dFQkVOR0lORV9WRVJTSU9OIiwgIlRNUF9XRUJFTkdJTkVfREVTQ1JJUFRJT04iLCAiU0VNUkVTQVRUUlNfQ0xPVURfUFJPVklERVIiLCAiU0VNUkVTQVRUUlNfQ0xPVURfQUNDT1VOVF9JRCIsICJTRU1SRVNBVFRSU19DTE9VRF9SRUdJT04iLCAiU0VNUkVTQVRUUlNfQ0xPVURfQVZBSUxBQklMSVRZX1pPTkUiLCAiU0VNUkVTQVRUUlNfQ0xPVURfUExBVEZPUk0iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19DT05UQUlORVJfQVJOIiwgIlNFTVJFU0FUVFJTX0FXU19FQ1NfQ0xVU1RFUl9BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19MQVVOQ0hUWVBFIiwgIlNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX0ZBTUlMWSIsICJTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfUkVWSVNJT04iLCAiU0VNUkVTQVRUUlNfQVdTX0VLU19DTFVTVEVSX0FSTiIsICJTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX05BTUVTIiwgIlNFTVJFU0FUVFJTX0FXU19MT0dfR1JPVVBfQVJOUyIsICJTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9OQU1FUyIsICJTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9BUk5TIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JRCIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfUlVOVElNRSIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfTkFNRSIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfVEFHIiwgIlNFTVJFU0FUVFJTX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQiLCAiU0VNUkVTQVRUUlNfREVWSUNFX0lEIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9JREVOVElGSUVSIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9OQU1FIiwgIlNFTVJFU0FUVFJTX0ZBQVNfTkFNRSIsICJTRU1SRVNBVFRSU19GQUFTX0lEIiwgIlNFTVJFU0FUVFJTX0ZBQVNfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19GQUFTX0lOU1RBTkNFIiwgIlNFTVJFU0FUVFJTX0ZBQVNfTUFYX01FTU9SWSIsICJTRU1SRVNBVFRSU19IT1NUX0lEIiwgIlNFTVJFU0FUVFJTX0hPU1RfTkFNRSIsICJTRU1SRVNBVFRSU19IT1NUX1RZUEUiLCAiU0VNUkVTQVRUUlNfSE9TVF9BUkNIIiwgIlNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfTkFNRSIsICJTRU1SRVNBVFRSU19IT1NUX0lNQUdFX0lEIiwgIlNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19LOFNfQ0xVU1RFUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19OT0RFX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX05PREVfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19OQU1FU1BBQ0VfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfUE9EX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfUE9EX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX0NPTlRBSU5FUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19KT0JfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19KT0JfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfTkFNRSIsICJTRU1SRVNBVFRSU19PU19UWVBFIiwgIlNFTVJFU0FUVFJTX09TX0RFU0NSSVBUSU9OIiwgIlNFTVJFU0FUVFJTX09TX05BTUUiLCAiU0VNUkVTQVRUUlNfT1NfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCIsICJTRU1SRVNBVFRSU19QUk9DRVNTX0VYRUNVVEFCTEVfTkFNRSIsICJTRU1SRVNBVFRSU19QUk9DRVNTX0VYRUNVVEFCTEVfUEFUSCIsICJTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkQiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0xJTkUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0FSR1MiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19PV05FUiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfTkFNRSIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfREVTQ1JJUFRJT04iLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FIiwgIlNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRVNQQUNFIiwgIlNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQiLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTkFNRSIsICJTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX0xBTkdVQUdFIiwgIlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19URUxFTUVUUllfQVVUT19WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1dFQkVOR0lORV9OQU1FIiwgIlNFTVJFU0FUVFJTX1dFQkVOR0lORV9WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1dFQkVOR0lORV9ERVNDUklQVElPTiIsICJTZW1hbnRpY1Jlc291cmNlQXR0cmlidXRlcyIsICJUTVBfQ0xPVURQUk9WSURFUlZBTFVFU19BTElCQUJBX0NMT1VEIiwgIlRNUF9DTE9VRFBST1ZJREVSVkFMVUVTX0FXUyIsICJUTVBfQ0xPVURQUk9WSURFUlZBTFVFU19BWlVSRSIsICJUTVBfQ0xPVURQUk9WSURFUlZBTFVFU19HQ1AiLCAiQ0xPVURQUk9WSURFUlZBTFVFU19BTElCQUJBX0NMT1VEIiwgIkNMT1VEUFJPVklERVJWQUxVRVNfQVdTIiwgIkNMT1VEUFJPVklERVJWQUxVRVNfQVpVUkUiLCAiQ0xPVURQUk9WSURFUlZBTFVFU19HQ1AiLCAiQ2xvdWRQcm92aWRlclZhbHVlcyIsICJUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0VDUyIsICJUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0ZDIiwgIlRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQzIiLCAiVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDUyIsICJUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUtTIiwgIlRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19MQU1CREEiLCAiVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VMQVNUSUNfQkVBTlNUQUxLIiwgIlRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX1ZNIiwgIlRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0NPTlRBSU5FUl9JTlNUQU5DRVMiLCAiVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTIiwgIlRNUF9DTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0ZVTkNUSU9OUyIsICJUTVBfQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BUFBfU0VSVklDRSIsICJUTVBfQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ09NUFVURV9FTkdJTkUiLCAiVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX1JVTiIsICJUTVBfQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfS1VCRVJORVRFU19FTkdJTkUiLCAiVE1QX0NMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX0ZVTkNUSU9OUyIsICJUTVBfQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQVBQX0VOR0lORSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRUNTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9GQyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQzIiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUNTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VLUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19MQU1CREEiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEsiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9WTSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0NPTlRBSU5FUl9JTlNUQU5DRVMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BS1MiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9GVU5DVElPTlMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BUFBfU0VSVklDRSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DT01QVVRFX0VOR0lORSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9SVU4iLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfS1VCRVJORVRFU19FTkdJTkUiLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfRlVOQ1RJT05TIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0FQUF9FTkdJTkUiLCAiQ2xvdWRQbGF0Zm9ybVZhbHVlcyIsICJUTVBfQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIiLCAiVE1QX0FXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRkFSR0FURSIsICJBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0VDMiIsICJBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0ZBUkdBVEUiLCAiQXdzRWNzTGF1bmNodHlwZVZhbHVlcyIsICJUTVBfSE9TVEFSQ0hWQUxVRVNfQU1ENjQiLCAiVE1QX0hPU1RBUkNIVkFMVUVTX0FSTTMyIiwgIlRNUF9IT1NUQVJDSFZBTFVFU19BUk02NCIsICJUTVBfSE9TVEFSQ0hWQUxVRVNfSUE2NCIsICJUTVBfSE9TVEFSQ0hWQUxVRVNfUFBDMzIiLCAiVE1QX0hPU1RBUkNIVkFMVUVTX1BQQzY0IiwgIlRNUF9IT1NUQVJDSFZBTFVFU19YODYiLCAiSE9TVEFSQ0hWQUxVRVNfQU1ENjQiLCAiSE9TVEFSQ0hWQUxVRVNfQVJNMzIiLCAiSE9TVEFSQ0hWQUxVRVNfQVJNNjQiLCAiSE9TVEFSQ0hWQUxVRVNfSUE2NCIsICJIT1NUQVJDSFZBTFVFU19QUEMzMiIsICJIT1NUQVJDSFZBTFVFU19QUEM2NCIsICJIT1NUQVJDSFZBTFVFU19YODYiLCAiSG9zdEFyY2hWYWx1ZXMiLCAiVE1QX09TVFlQRVZBTFVFU19XSU5ET1dTIiwgIlRNUF9PU1RZUEVWQUxVRVNfTElOVVgiLCAiVE1QX09TVFlQRVZBTFVFU19EQVJXSU4iLCAiVE1QX09TVFlQRVZBTFVFU19GUkVFQlNEIiwgIlRNUF9PU1RZUEVWQUxVRVNfTkVUQlNEIiwgIlRNUF9PU1RZUEVWQUxVRVNfT1BFTkJTRCIsICJUTVBfT1NUWVBFVkFMVUVTX0RSQUdPTkZMWUJTRCIsICJUTVBfT1NUWVBFVkFMVUVTX0hQVVgiLCAiVE1QX09TVFlQRVZBTFVFU19BSVgiLCAiVE1QX09TVFlQRVZBTFVFU19TT0xBUklTIiwgIlRNUF9PU1RZUEVWQUxVRVNfWl9PUyIsICJPU1RZUEVWQUxVRVNfV0lORE9XUyIsICJPU1RZUEVWQUxVRVNfTElOVVgiLCAiT1NUWVBFVkFMVUVTX0RBUldJTiIsICJPU1RZUEVWQUxVRVNfRlJFRUJTRCIsICJPU1RZUEVWQUxVRVNfTkVUQlNEIiwgIk9TVFlQRVZBTFVFU19PUEVOQlNEIiwgIk9TVFlQRVZBTFVFU19EUkFHT05GTFlCU0QiLCAiT1NUWVBFVkFMVUVTX0hQVVgiLCAiT1NUWVBFVkFMVUVTX0FJWCIsICJPU1RZUEVWQUxVRVNfU09MQVJJUyIsICJPU1RZUEVWQUxVRVNfWl9PUyIsICJPc1R5cGVWYWx1ZXMiLCAiVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0NQUCIsICJUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRE9UTkVUIiwgIlRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19FUkxBTkciLCAiVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0dPIiwgIlRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19KQVZBIiwgIlRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19OT0RFSlMiLCAiVE1QX1RFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BIUCIsICJUTVBfVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUFlUSE9OIiwgIlRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19SVUJZIiwgIlRNUF9URUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19XRUJKUyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFAiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRE9UTkVUIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19HTyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19KQVZBIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFAiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUFlUSE9OIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlkiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMiLCAiVGVsZW1ldHJ5U2RrTGFuZ3VhZ2VWYWx1ZXMiLCAiX2EiLCAiU0RLX0lORk8iXQp9Cg==