var Wl = Object.defineProperty; var Rl = (l, d, U) => d in l ? Wl(l, d, { enumerable: !0, configurable: !0, writable: !0, value: U }) : l[d] = U; var q = (l, d, U) => (Rl(l, typeof d != "symbol" ? d + "" : d, U), U); import { defineComponent as P, ref as s, watch as C, onMounted as e, openBlock as j, createElementBlock as A, toRaw as K, computed as r, onUnmounted as Nl, createBlock as _, mergeProps as f, createCommentVNode as $, createVNode as bl, withDirectives as cl, createElementVNode as Fl, renderSlot as Jl, vShow as Gl, shallowRef as g, isRef as Ml } from "vue"; import * as D from "pdfjs-dist"; const v = "internal-link", ml = "link", Tl = "file-attachment", Xl = "form-text", Yl = "form-select", Sl = "form-checkbox", Bl = "form-radio", hl = "form-button", ll = ["click", "dblclick", "mouseover", "input", "change"]; function O(l, d, U) { const Z = []; if (U) for (const F of U) F[l] === d && Z.push(F); return Z; } function a(l, d) { return { type: l, data: d }; } function w(l, d) { switch (l.type) { case "textarea": case "text": return a(Xl, { fieldName: l.name, value: l.value }); case "select-one": case "select-multiple": const U = []; for (const F of l.options) U.push({ value: F.value, label: F.label }); const Z = []; for (const F of l.selectedOptions) Z.push({ value: F.value, label: F.label }); return a(Yl, { fieldName: l.name, value: Z, options: U }); case "checkbox": return a(Sl, { fieldName: l.name, checked: l.checked }); case "radio": return a(Bl, { fieldName: l.name, ...d }); case "button": return a(hl, { fieldName: l.name, ...d }); } } function zl(l) { return a(Tl, l.file); } async function yl(l, d) { if (l.dest) { let U; if (typeof l.dest == "string" ? U = await d.getDestination(l.dest) : U = l.dest, !Array.isArray(U)) return console.warn(`Destination "${U}" is not a valid destination (dest="${l.dest}")`), a(v, { referencedPage: null, offset: null }); let Z = null; U.length === 5 && (Z = { left: l.dest[2], bottom: l.dest[3] }); const [F] = U; if (Number.isInteger(F)) return a(v, { referencedPage: Number(F) + 1, offset: Z }); if (typeof F == "object") { const Q = await d.getPageIndex(F); return a(v, { referencedPage: Q + 1, offset: Z }); } else return console.warn( `Destination "${F}" is not a valid destination (dest="${l.dest}")` ), a(v, { referencedPage: null, offset: null }); } else if (l.url) return a(ml, { url: l.url, unsafeUrl: l.unsafeUrl }); } function Ul(l) { for (const d of l.getElementsByTagName("span")) { let U = d.textContent; const Z = JSON.parse(d.dataset.l10nArgs ?? "{}"); if (U) for (const F in Z) U = U.replace(`{{${F}}}`, Z[F]); d.textContent = U; } } function Ll(l, d, U) { var F; let Z = l.target.parentNode; if (Z.tagName === "DIV" && (Z = Z.firstChild), Z.className === "linkAnnotation" && l.type === "click") { const Q = (F = Z.dataset) == null ? void 0 : F.annotationId; if (Q) return yl(O("id", Q, U)[0], d); } else if (Z.className.includes("popupAnnotation") || Z.className.includes("textAnnotation")) Ul(Z); else if (Z.className.includes("fileAttachmentAnnotation")) { Ul(Z); const Q = Z.dataset.annotationId; if (Q && l.type === "dblclick") return zl(O("id", Q, U)[0]); } else if (Z.className.includes("textWidgetAnnotation") && l.type === "input") { let Q = Z.getElementsByTagName("input")[0]; return Q || (Q = Z.getElementsByTagName("textarea")[0]), w(Q); } else { if (Z.className.includes("choiceWidgetAnnotation") && l.type === "input") return w(Z.getElementsByTagName("select")[0]); if (Z.className.includes("buttonWidgetAnnotation checkBox") && l.type === "change") return w(Z.getElementsByTagName("input")[0]); if (Z.className.includes("buttonWidgetAnnotation radioButton") && l.type === "change") { const Q = Z.dataset.annotationId; if (Q) { const W = O("id", Q, U)[0], Y = []; for (const M of O("fieldName", W.fieldName, U)) M.buttonValue && Y.push(M.buttonValue); return w(Z.getElementsByTagName("input")[0], { value: W.buttonValue, defaultValue: W.fieldValue, options: Y }); } } else if (Z.className.includes("buttonWidgetAnnotation pushButton") && l.type === "click") { const Q = Z.dataset.annotationId; if (Q) { const W = O("id", Q, U)[0]; return W.resetForm ? w( { name: W.fieldName, type: "button" }, { actions: W.actions, reset: !0 } ) : w( { name: W.fieldName, type: "button" }, { actions: W.actions, reset: !1 } ); } } } } class dl { constructor() { q(this, "externalLinkEnabled"); this.externalLinkEnabled = !0; } /** * @type {number} */ get pagesCount() { return 0; } /** * @type {number} */ get page() { return 0; } /** * @param {number} _value */ set page(d) { } /** * @type {number} */ get rotation() { return 0; } /** * @param {number} _value */ set rotation(d) { } /** * @type {boolean} */ get isInPresentationMode() { return !1; } /** * @param {string|Array} _dest - The named, or explicit, PDF destination. */ async goToDestination(d) { } /** * @param {number|string} _val - The page number, or page label. */ goToPage(d) { } /** * @param {HTMLAnchorElement} link * @param {string} url * @param {boolean} [_newWindow] */ addLinkAttributes(d, U, Z = !1) { } /** * @param _dest - The PDF destination object. * @returns {string} The hyperlink to the PDF object. */ getDestinationHash(d) { return "#"; } /** * @param _hash - The PDF parameters/hash. * @returns {string} The hyperlink to the PDF object. */ getAnchorUrl(d) { return "#"; } /** * @param {string} _hash */ setHash(d) { } /** * @param {string} _action */ executeNamedAction(d) { } /** * @param {Object} _action */ executeSetOCGState(d) { } /** * @param {number} _pageNum - page number. * @param {Object} _pageRef - reference to the page. */ cachePageRef(d, U) { } } const al = /* @__PURE__ */ P({ __name: "AnnotationLayer", props: { page: {}, viewport: {}, document: {}, annotationsFilter: {}, annotationsMap: {}, imageResourcesPath: {}, hideForms: { type: Boolean }, enableScripting: { type: Boolean }, intent: {} }, emits: ["annotation", "annotationLoaded"], setup(l, { emit: d }) { const U = l, Z = d, F = s(), Q = s(); function W(X) { const V = Ll(X, U.document, Q.value); Promise.resolve(V).then((R) => { R && Z("annotation", R); }); } async function Y() { var V; return await ((V = K(U.document)) == null ? void 0 : V.getFieldObjects()); } async function M() { var V; return await ((V = K(U.document)) == null ? void 0 : V.hasJSActions()); } async function G() { const X = U.page; let V = await (X == null ? void 0 : X.getAnnotations({ intent: U.intent })); if (U.annotationsFilter) { const R = U.annotationsFilter; V = V.filter((m) => { const J = m.subtype, T = m.fieldType ? `${J}.${m.fieldType}` : null; return (R == null ? void 0 : R.includes(J)) || T !== null && (R == null ? void 0 : R.includes(T)); }); } return V; } async function B() { var S, p; (p = (S = F.value).replaceChildren) == null || p.call(S); for (const z of ll) F.value.removeEventListener(z, W); const X = K(U.document), V = U.page, R = U.viewport; Q.value = await G(); const m = /* @__PURE__ */ new Map([]); for (const z of Q.value) if (z.subtype === "Widget" && z.fieldType === "Btn" && z.pushButton) { const n = z.rect[2] - z.rect[0], I = z.rect[3] - z.rect[1], N = document.createElement("canvas"); N.setAttribute("width", (n * R.scale).toString()), N.setAttribute("height", (I * R.scale).toString()), m.set(z.id, N); } const J = X.annotationStorage; if (U.annotationsMap) for (const [z, n] of Object.entries(U.annotationsMap)) J.setValue(z, n); const T = { accessibilityManager: void 0, annotationCanvasMap: m, div: F.value, page: V, viewport: R.clone({ dontFlip: !0 }), annotationEditorUIManager: null, l10n: null, structTreeLayer: null }, h = { annotations: Q.value, viewport: R.clone({ dontFlip: !0 }), linkService: new dl(), annotationCanvasMap: m, div: F.value, annotationStorage: J, renderForms: !U.hideForms, page: V, enableScripting: !1, hasJSActions: await M(), fieldObjects: await Y(), downloadManager: null, imageResourcesPath: U.imageResourcesPath }; new D.AnnotationLayer(T).render(h).then(async () => { Z("annotationLoaded", await G()); }); for (const z of ll) F.value.addEventListener(z, W); } return C(() => U.viewport, () => { U.page && U.viewport && F.value && B(); }), e(() => { U.page && U.viewport && F.value && B(); }), (X, V) => (j(), A("div", { ref_key: "layer", ref: F, class: "annotationLayer", style: { display: "block" } }, null, 512)); } }); function pl(l, d, U) { const Z = []; for (const B of l.items) if (B.hasEOL) if (B.str.endsWith("-")) { const X = B.str.lastIndexOf("-"); Z.push(B.str.substring(0, X)); } else Z.push(B.str, ` `); else Z.push(B.str); const F = Z.join("").replace(/\n/g, " "), Q = ["g"]; U.ignoreCase && Q.push("i"); let W = d.trim().replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); U.completeWords && (W = `\\b${W}\\b`); const Y = new RegExp(W, Q.join("")), M = []; let G; for (; (G = Y.exec(F)) !== null; ) M.push([G.index, G[0].length, G[0]]); return M; } function kl(l, d) { function U(M) { return M.hasEOL ? M.str.endsWith("-") ? -1 : 1 : 0; } let Z = 0, F = 0; const Q = d.items, W = Q.length - 1, Y = []; for (let M = 0; M < l.length; M++) { let G = l[M][0]; for (; Z !== W && G >= F + Q[Z].str.length; ) { const V = Q[Z]; F += V.str.length + U(V), Z++; } const B = { idx: Z, offset: G - F }; for (G += l[M][1]; Z !== W && G > F + Q[Z].str.length; ) { const V = Q[Z]; F += V.str.length + U(V), Z++; } const X = { idx: Z, offset: G - F }; Y.push({ start: B, end: X, str: l[M][2], oindex: l[M][0] }); } return Y; } function Dl(l, d, U) { function Z(F, Q = -1, W = -1) { const Y = d.items[F], M = []; let G = "", B = "", X = "", V = U[F]; if (!V) return; if (V.nodeType === Node.TEXT_NODE) { const J = document.createElement("span"); V.before(J), J.append(V), U[F] = J, V = J; } Q >= 0 && W >= 0 ? G = Y.str.substring(Q, W) : Q < 0 && W < 0 ? G = Y.str : Q >= 0 ? G = Y.str.substring(Q) : W >= 0 && (G = Y.str.substring(0, W)); const R = document.createTextNode(G), m = document.createElement("span"); if (m.className = "highlight appended", m.append(R), M.push(m), Q > 0) if (V.childNodes.length === 1 && V.childNodes[0].nodeType === Node.TEXT_NODE) { B = Y.str.substring(0, Q); const J = document.createTextNode(B); M.unshift(J); } else { let J = 0; const T = []; for (const h of V.childNodes) { const y = h.nodeType === Node.TEXT_NODE ? h.nodeValue : h.firstChild.nodeValue; J += y.length, J <= Q ? T.push(h) : Q >= J - y.length && W <= J && T.push(document.createTextNode(y.substring(0, Q - (J - y.length)))); } M.unshift(...T); } if (W > 0) { X = Y.str.substring(W); const J = document.createTextNode(X); M.push(J); } V.replaceChildren(...M); } for (const F of l) if (F.start.idx === F.end.idx) Z(F.start.idx, F.start.offset, F.end.offset); else for (let Q = F.start.idx, W = F.end.idx; Q <= W; Q++) Q === F.start.idx ? Z(Q, F.start.offset) : Q === F.end.idx ? Z(Q, -1, F.end.offset) : Z(Q); } function nl(l, d) { const U = l.items.map((Z) => Z.str); for (let Z = 0; Z < d.length; Z++) { const F = d[Z]; if (F && F.nodeType !== Node.TEXT_NODE) { const Q = document.createTextNode(U[Z]); F.replaceChildren(Q); } } } function Il(l, d, U) { const Z = []; for (const F of l) { const Q = pl(d, F, U); Z.push(...kl(Q, d)); } return Z; } const ul = /* @__PURE__ */ P({ __name: "TextLayer", props: { page: {}, viewport: {}, highlightText: {}, highlightOptions: {}, hightlightPages: {} }, emits: ["highlight", "textLoaded"], setup(l, { emit: d }) { const U = l, Z = d, F = s(), Q = s(); let W = []; function Y() { return Object.assign( {}, { ignoreCase: !0, completeWords: !1 }, U.highlightOptions ); } async function M(V = !1) { const R = U.page, m = await (R == null ? void 0 : R.getTextContent()); if (m && (V && nl(m, W), U.highlightText && (!U.hightlightPages || U.hightlightPages.includes(R.pageNumber)))) { const J = typeof U.highlightText == "string" ? [U.highlightText] : U.highlightText, T = Il( J, m, Y() ); Dl(T, m, W), Z("highlight", { matches: T, textContent: m, textDivs: W, page: (R == null ? void 0 : R.pageNumber) || 1 }); } } function G() { var T, h; (h = (T = F.value).replaceChildren) == null || h.call(T); const V = U.page, R = U.viewport, m = V == null ? void 0 : V.streamTextContent({ includeMarkedContent: !0, disableNormalization: !0 }), J = new D.TextLayer({ container: F.value, textContentSource: m, viewport: R }); J.render().then(async () => { var p; W = J.textDivs; const y = await (V == null ? void 0 : V.getTextContent()); Z("textLoaded", { textDivs: W, textContent: y }); const S = document.createElement("div"); S.className = "endOfContent", (p = F.value) == null || p.appendChild(S), Q.value = S, M(); }); } function B() { Q.value && Q.value.classList.add("active"); } function X() { Q.value && Q.value.classList.remove("active"); } return C( () => U.viewport, (V) => { U.page && U.viewport && F.value && G(); } ), C( () => [U.highlightText, U.highlightOptions], (V) => { M(!0); }, { deep: !0 } ), e(() => { U.page && U.viewport && F.value && G(); }), (V, R) => (j(), A("div", { ref_key: "layer", ref: F, class: "textLayer", style: { display: "block" }, onMousedown: B, onMouseup: X }, null, 544)); } }), sl = /* @__PURE__ */ P({ __name: "XFALayer", props: { page: {}, document: {}, viewport: {} }, emits: ["xfaLoaded"], setup(l, { emit: d }) { const U = l, Z = d, F = s(); async function Q() { var G, B; (B = (G = F.value).replaceChildren) == null || B.call(G); const W = K(U.document), Y = U.page, M = U.viewport; if (W.isPureXfa) { const X = await Y.getXfa(), V = { div: F.value, viewport: M.clone({ dontFlip: !0 }), linkService: new dl(), annotationStorage: W == null ? void 0 : W.annotationStorage, xfaHtml: X }; D.XfaLayer.render(V), Z("xfaLoaded"); } } return C(() => U.viewport, (W) => { U.page && U.viewport && F.value && Q(); }), e(() => { U.page && U.viewport && F.value && Q(); }), (W, Y) => (j(), A("div", { ref_key: "layer", ref: F, style: { display: "block" } }, null, 512)); } }); const El = /* @__PURE__ */ Fl("canvas", { dir: "ltr", style: { display: "block" }, role: "main" }, null, -1), Zl = /* @__PURE__ */ P({ __name: "VuePDF", props: { pdf: {}, page: { default: 1 }, scale: { default: 1 }, rotation: {}, fitParent: { type: Boolean }, width: {}, height: {}, textLayer: { type: Boolean }, autoDestroy: { type: Boolean, default: !1 }, imageResourcesPath: {}, hideForms: { type: Boolean }, intent: { default: "display" }, annotationLayer: { type: Boolean }, annotationsFilter: {}, annotationsMap: {}, watermarkText: {}, watermarkOptions: {}, highlightText: {}, highlightOptions: {}, highlightPages: {} }, emits: ["annotation", "highlight", "loaded", "textLoaded", "annotationLoaded", "xfaLoaded"], setup(l, { expose: d, emit: U }) { const Z = l, F = U, Q = s(), W = s(), Y = s(!1); let M; const G = r(() => ({ viewport: void 0, document: void 0, page: void 0 })), B = r(() => ({ annotationsMap: Z.annotationsMap, annotationsFilter: Z.annotationsFilter, imageResourcesPath: Z.imageResourcesPath, hideForms: Z.hideForms, intent: Z.intent })), X = r(() => ({ highlightText: Z.highlightText, highlightOptions: Z.highlightOptions, highlightPages: Z.highlightPages })); function V() { return Object.assign( {}, { columns: 4, rows: 4, rotation: 45, fontSize: 18, color: "rgba(211, 210, 211, 0.4)" }, Z.watermarkOptions ); } function R(N) { if (!(typeof N == "number" && N % 90 === 0)) return 0; const b = N / 90; return b > 4 ? R(N - 360) : b < 0 ? R(N + 360) : N; } function m(N) { let b = Z.scale; if (Z.fitParent) { const c = Q.value.parentNode.clientWidth, L = N.getViewport({ scale: 1 }).width; b = c / L; } else if (Z.width) { const c = N.getViewport({ scale: 1 }).width; b = Z.width / c; } else if (Z.height) { const c = N.getViewport({ scale: 1 }).height; b = Z.height / c; } return b; } function J(N = 1) { if (!Z.watermarkText) return; const b = T(); if (!b) return; const c = b.getContext("2d"); if (!c) return; const L = V(), E = Z.watermarkText, k = L.columns, i = L.rows, u = k * i, t = L.rotation, o = L.fontSize * N; c.font = `${o}px Trebuchet MS`, c.fillStyle = L.color; for (let x = 0; x < u; x++) { const H = x % k * (b.width / k) + b.width / (k * 2), Ql = Math.floor(x / k) * (b.height / i) + b.height / (i * 2), Vl = c.measureText(E).width; c.save(), c.translate(H, Ql), c.rotate(-t * (Math.PI / 180)), c.fillText(E, -Vl / 2, o / 2), c.restore(); } } function T() { var b; let N = null; return (b = Q.value) == null || b.childNodes.forEach((c) => { c.tagName === "CANVAS" && (N = c); }), N; } function h(N) { var E; let b; const c = T(); c && (c == null ? void 0 : c.getAttribute("role")) === "main" ? b = c : (b = document.createElement("canvas"), b.style.display = "block", b.setAttribute("dir", "ltr")); const L = window.devicePixelRatio || 1; return b.width = Math.floor(N.width * L), b.height = Math.floor(N.height * L), b.style.width = `${Math.floor(N.width)}px`, b.style.height = `${Math.floor(N.height)}px`, (E = Q.value) == null || E.style.setProperty("--scale-factor", `${N.scale}`), W.value.style.width = `${Math.floor(N.width)}px`, W.value.style.height = `${Math.floor(N.height)}px`, W.value.style.top = "0", W.value.style.left = "0", Y.value = !0, b; } function y() { M && M.cancel(); } function S(N) { var b; (b = K(G.value.document)) == null || b.getPage(N).then((c) => { var H; y(); const L = c.getViewport(), E = { scale: m(c), rotation: R((Z.rotation || 0) + L.rotation) }, k = c.getViewport(E), i = T(), u = h(k), t = window.devicePixelRatio || 1, o = t !== 1 ? [t, 0, 0, t, 0, 0] : void 0, x = { canvasContext: u.getContext("2d"), viewport: k, annotationMode: Z.hideForms ? D.AnnotationMode.ENABLE : D.AnnotationMode.ENABLE_FORMS, transform: o, intent: Z.intent }; (u == null ? void 0 : u.getAttribute("role")) !== "main" ? i && ((H = Q.value) == null || H.replaceChild(u, i)) : u.removeAttribute("role"), G.value.page = c, G.value.viewport = k, M = c.render(x), M.promise.then(() => { Y.value = !1, J(k.scale), F("loaded", G.value.viewport); }).catch(() => { }); }); } function p(N) { N.promise.then(async (b) => { G.value.document = b, S(Z.page); }); } C( () => Z.pdf, (N) => { N !== void 0 && p(N); } ), C( () => [ Z.scale, Z.width, Z.height, Z.rotation, Z.page, Z.hideForms, Z.intent ], () => { S(Z.page); } ), e(() => { Z.pdf !== void 0 && p(Z.pdf); }), Nl(() => { var N; Z.autoDestroy && ((N = Z.pdf) == null || N.destroy()); }); function z() { var N; (N = Z.pdf) == null || N.destroy(); } function n() { S(Z.page); } function I() { y(); } return d({ reload: n, cancel: I, destroy: z }), (N, b) => (j(), A("div", { ref_key: "container", ref: Q, style: { position: "relative", display: "block" } }, [ El, N.annotationLayer ? (j(), _(al, f({ key: 0 }, { ...G.value, ...B.value }, { onAnnotation: b[0] || (b[0] = (c) => F("annotation", c)), onAnnotationLoaded: b[1] || (b[1] = (c) => F("annotationLoaded", c)) }), null, 16)) : $("", !0), N.textLayer ? (j(), _(ul, f({ key: 1 }, { ...G.value, ...X.value }, { onHighlight: b[2] || (b[2] = (c) => F("highlight", c)), onTextLoaded: b[3] || (b[3] = (c) => F("textLoaded", c)) }), null, 16)) : $("", !0), bl(sl, f({ ...G.value }, { onXfaLoaded: b[4] || (b[4] = (c) => F("xfaLoaded")) }), null, 16), cl(Fl("div", { ref_key: "loadingLayer", ref: W, style: { position: "absolute" } }, [ Jl(N.$slots, "default") ], 512), [ [Gl, Y.value] ]) ], 512)); } }), Cl = "data:application/javascript;base64,LyoqCiAqIEBsaWNzdGFydCBUaGUgZm9sbG93aW5nIGlzIHRoZSBlbnRpcmUgbGljZW5zZSBub3RpY2UgZm9yIHRoZQogKiBKYXZhU2NyaXB0IGNvZGUgaW4gdGhpcyBwYWdlCiAqCiAqIENvcHlyaWdodCAyMDI0IE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBAbGljZW5kIFRoZSBhYm92ZSBpcyB0aGUgZW50aXJlIGxpY2Vuc2Ugbm90aWNlIGZvciB0aGUKICogSmF2YVNjcmlwdCBjb2RlIGluIHRoaXMgcGFnZQogKi92YXIgZT17ZDoodCxpKT0+e2Zvcih2YXIgYSBpbiBpKWUubyhpLGEpJiYhZS5vKHQsYSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGEse2VudW1lcmFibGU6ITAsZ2V0OmlbYV19KX0sbzooZSx0KT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9LF9fd2VicGFja19leHBvcnRzX18gPSBnbG9iYWxUaGlzLnBkZmpzV29ya2VyID0ge307ZS5kKF9fd2VicGFja19leHBvcnRzX18se1dvcmtlck1lc3NhZ2VIYW5kbGVyOigpPT5Xb3JrZXJNZXNzYWdlSGFuZGxlcn0pO2NvbnN0IHQ9ISgib2JqZWN0IiE9dHlwZW9mIHByb2Nlc3N8fHByb2Nlc3MrIiIhPSJbb2JqZWN0IHByb2Nlc3NdInx8cHJvY2Vzcy52ZXJzaW9ucy5ud3x8cHJvY2Vzcy52ZXJzaW9ucy5lbGVjdHJvbiYmcHJvY2Vzcy50eXBlJiYiYnJvd3NlciIhPT1wcm9jZXNzLnR5cGUpLGk9WzEsMCwwLDEsMCwwXSxhPVsuMDAxLDAsMCwuMDAxLDAsMF0scz0xLjM1LHI9LjM1LG49LjI1OTI1OTI1OTI1OTI1OTI0LGc9MSxvPTIsYz00LEM9OCxoPTE2LGw9NjQsUT0xMjgsRT0yNTYsdT0icGRmanNfaW50ZXJuYWxfZWRpdG9yXyIsZD0zLGY9OSxwPTEzLG09MTUseT17UFJJTlQ6NCxNT0RJRllfQ09OVEVOVFM6OCxDT1BZOjE2LE1PRElGWV9BTk5PVEFUSU9OUzozMixGSUxMX0lOVEVSQUNUSVZFX0ZPUk1TOjI1NixDT1BZX0ZPUl9BQ0NFU1NJQklMSVRZOjUxMixBU1NFTUJMRToxMDI0LFBSSU5UX0hJR0hfUVVBTElUWToyMDQ4fSx3PTAsRD00LGI9MSxGPTIsUz0zLGs9MSxSPTIsTj0zLEc9NCx4PTUsVT02LE09NyxMPTgsSD05LEo9MTAsWT0xMSx2PTEyLFQ9MTMsSz0xNCxxPTE1LE89MTYsVz0xNyxYPTIwLGo9Ikdyb3VwIixaPSJSIixWPTEsej0yLF89NCwkPTE2LEFBPTMyLGVBPTEyOCx0QT01MTIsaUE9MSxhQT0yLHNBPTQwOTYsckE9ODE5MixuQT0zMjc2OCxnQT02NTUzNixvQT0xMzEwNzIsSUE9MTA0ODU3NixjQT0yMDk3MTUyLENBPTgzODg2MDgsaEE9MTY3NzcyMTYsbEE9MSxCQT0yLFFBPTMsRUE9NCx1QT01LGRBPXtFOiJNb3VzZSBFbnRlciIsWDoiTW91c2UgRXhpdCIsRDoiTW91c2UgRG93biIsVToiTW91c2UgVXAiLEZvOiJGb2N1cyIsQmw6IkJsdXIiLFBPOiJQYWdlT3BlbiIsUEM6IlBhZ2VDbG9zZSIsUFY6IlBhZ2VWaXNpYmxlIixQSToiUGFnZUludmlzaWJsZSIsSzoiS2V5c3Ryb2tlIixGOiJGb3JtYXQiLFY6IlZhbGlkYXRlIixDOiJDYWxjdWxhdGUifSxmQT17V0M6IldpbGxDbG9zZSIsV1M6IldpbGxTYXZlIixEUzoiRGlkU2F2ZSIsV1A6IldpbGxQcmludCIsRFA6IkRpZFByaW50In0scEE9e086IlBhZ2VPcGVuIixDOiJQYWdlQ2xvc2UifSxtQT17RVJST1JTOjAsV0FSTklOR1M6MSxJTkZPUzo1fSx5QT0xLHdBPTIsREE9MyxiQT00LEZBPTUsU0E9NixrQT03LFJBPTgsTkE9OSxHQT0xMCx4QT0xMSxVQT0xMixNQT0xMyxMQT0xNCxIQT0xNSxKQT0xNixZQT0xNyx2QT0xOCxUQT0xOSxLQT0yMCxxQT0yMSxPQT0yMixQQT0yMyxXQT0yNCxYQT0yNSxqQT0yNixaQT0yNyxWQT0yOCx6QT0yOSxfQT0zMCwkQT0zMSxBZT0zMixlZT0zMyx0ZT0zNCxpZT0zNSxhZT0zNixzZT0zNyxyZT0zOCxuZT0zOSxnZT00MCxvZT00MSxJZT00MixjZT00MyxDZT00NCxoZT00NSxsZT00NixCZT00NyxRZT00OCxFZT00OSx1ZT01MCxkZT01MSxmZT01MixwZT01MyxtZT01NCx5ZT01NSx3ZT01NixEZT01NyxiZT01OCxGZT01OSxTZT02MCxrZT02MSxSZT02MixOZT02MyxHZT02NCx4ZT02NSxVZT02NixNZT02NyxMZT02OCxIZT02OSxKZT03MCxZZT03MSx2ZT03MixUZT03MyxLZT03NCxxZT03NSxPZT03NixQZT03NyxXZT04MCxYZT04MSxqZT04MyxaZT04NCxWZT04NSx6ZT04NixfZT04NywkZT04OCxBdD04OSxldD05MCx0dD05MSxpdD05MixhdD05MyxzdD0xLHJ0PTI7bGV0IG50PW1BLldBUk5JTkdTO2Z1bmN0aW9uIGdldFZlcmJvc2l0eUxldmVsKCl7cmV0dXJuIG50fWZ1bmN0aW9uIGluZm8oZSl7bnQ+PW1BLklORk9TJiZjb25zb2xlLmxvZyhgSW5mbzogJHtlfWApfWZ1bmN0aW9uIHdhcm4oZSl7bnQ+PW1BLldBUk5JTkdTJiZjb25zb2xlLmxvZyhgV2FybmluZzogJHtlfWApfWZ1bmN0aW9uIHVucmVhY2hhYmxlKGUpe3Rocm93IG5ldyBFcnJvcihlKX1mdW5jdGlvbiBhc3NlcnQoZSx0KXtlfHx1bnJlYWNoYWJsZSh0KX1mdW5jdGlvbiBjcmVhdGVWYWxpZEFic29sdXRlVXJsKGUsdD1udWxsLGk9bnVsbCl7aWYoIWUpcmV0dXJuIG51bGw7dHJ5e2lmKGkmJiJzdHJpbmciPT10eXBlb2YgZSl7aWYoaS5hZGREZWZhdWx0UHJvdG9jb2wmJmUuc3RhcnRzV2l0aCgid3d3LiIpKXtjb25zdCB0PWUubWF0Y2goL1wuL2cpO3Q/Lmxlbmd0aD49MiYmKGU9YGh0dHA6Ly8ke2V9YCl9aWYoaS50cnlDb252ZXJ0RW5jb2RpbmcpdHJ5e2U9c3RyaW5nVG9VVEY4U3RyaW5nKGUpfWNhdGNoe319Y29uc3QgYT10P25ldyBVUkwoZSx0KTpuZXcgVVJMKGUpO2lmKGZ1bmN0aW9uIF9pc1ZhbGlkUHJvdG9jb2woZSl7c3dpdGNoKGU/LnByb3RvY29sKXtjYXNlImh0dHA6IjpjYXNlImh0dHBzOiI6Y2FzZSJmdHA6IjpjYXNlIm1haWx0bzoiOmNhc2UidGVsOiI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19KGEpKXJldHVybiBhfWNhdGNoe31yZXR1cm4gbnVsbH1mdW5jdGlvbiBzaGFkb3coZSx0LGksYT0hMSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6aSxlbnVtZXJhYmxlOiFhLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMX0pO3JldHVybiBpfWNvbnN0IGd0PWZ1bmN0aW9uIEJhc2VFeGNlcHRpb25DbG9zdXJlKCl7ZnVuY3Rpb24gQmFzZUV4Y2VwdGlvbihlLHQpe3RoaXMubWVzc2FnZT1lO3RoaXMubmFtZT10fUJhc2VFeGNlcHRpb24ucHJvdG90eXBlPW5ldyBFcnJvcjtCYXNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yPUJhc2VFeGNlcHRpb247cmV0dXJuIEJhc2VFeGNlcHRpb259KCk7Y2xhc3MgUGFzc3dvcmRFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsIlBhc3N3b3JkRXhjZXB0aW9uIik7dGhpcy5jb2RlPXR9fWNsYXNzIFVua25vd25FcnJvckV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiVW5rbm93bkVycm9yRXhjZXB0aW9uIik7dGhpcy5kZXRhaWxzPXR9fWNsYXNzIEludmFsaWRQREZFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJJbnZhbGlkUERGRXhjZXB0aW9uIil9fWNsYXNzIE1pc3NpbmdQREZFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJNaXNzaW5nUERGRXhjZXB0aW9uIil9fWNsYXNzIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uIik7dGhpcy5zdGF0dXM9dH19Y2xhc3MgRm9ybWF0RXJyb3IgZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJGb3JtYXRFcnJvciIpfX1jbGFzcyBBYm9ydEV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkFib3J0RXhjZXB0aW9uIil9fWZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoZSl7Im9iamVjdCI9PXR5cGVvZiBlJiZ2b2lkIDAhPT1lPy5sZW5ndGh8fHVucmVhY2hhYmxlKCJJbnZhbGlkIGFyZ3VtZW50IGZvciBieXRlc1RvU3RyaW5nIik7Y29uc3QgdD1lLmxlbmd0aCxpPTgxOTI7aWYodDxpKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZSk7Y29uc3QgYT1bXTtmb3IobGV0IHM9MDtzPHQ7cys9aSl7Y29uc3Qgcj1NYXRoLm1pbihzK2ksdCksbj1lLnN1YmFycmF5KHMscik7YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKSl9cmV0dXJuIGEuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9CeXRlcyhlKXsic3RyaW5nIiE9dHlwZW9mIGUmJnVucmVhY2hhYmxlKCJJbnZhbGlkIGFyZ3VtZW50IGZvciBzdHJpbmdUb0J5dGVzIik7Y29uc3QgdD1lLmxlbmd0aCxpPW5ldyBVaW50OEFycmF5KHQpO2ZvcihsZXQgYT0wO2E8dDsrK2EpaVthXT0yNTUmZS5jaGFyQ29kZUF0KGEpO3JldHVybiBpfWZ1bmN0aW9uIHN0cmluZzMyKGUpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIG9iamVjdFNpemUoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmxlbmd0aH1jbGFzcyBGZWF0dXJlVGVzdHtzdGF0aWMgZ2V0IGlzTGl0dGxlRW5kaWFuKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0xpdHRsZUVuZGlhbiIsZnVuY3Rpb24gaXNMaXR0bGVFbmRpYW4oKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KDQpO2VbMF09MTtyZXR1cm4gMT09PW5ldyBVaW50MzJBcnJheShlLmJ1ZmZlciwwLDEpWzBdfSgpKX1zdGF0aWMgZ2V0IGlzRXZhbFN1cHBvcnRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNFdmFsU3VwcG9ydGVkIixmdW5jdGlvbiBpc0V2YWxTdXBwb3J0ZWQoKXt0cnl7bmV3IEZ1bmN0aW9uKCIiKTtyZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19KCkpfXN0YXRpYyBnZXQgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQoKXtyZXR1cm4gc2hhZG93KHRoaXMsImlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkIiwidW5kZWZpbmVkIiE9dHlwZW9mIE9mZnNjcmVlbkNhbnZhcyl9c3RhdGljIGdldCBpc0ltYWdlRGVjb2RlclN1cHBvcnRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNJbWFnZURlY29kZXJTdXBwb3J0ZWQiLCJ1bmRlZmluZWQiIT10eXBlb2YgSW1hZ2VEZWNvZGVyKX1zdGF0aWMgZ2V0IHBsYXRmb3JtKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJiJzdHJpbmciPT10eXBlb2YgbmF2aWdhdG9yPy5wbGF0Zm9ybT9zaGFkb3codGhpcywicGxhdGZvcm0iLHtpc01hYzpuYXZpZ2F0b3IucGxhdGZvcm0uaW5jbHVkZXMoIk1hYyIpLGlzV2luZG93czpuYXZpZ2F0b3IucGxhdGZvcm0uaW5jbHVkZXMoIldpbiIpLGlzRmlyZWZveDoic3RyaW5nIj09dHlwZW9mIG5hdmlnYXRvcj8udXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJGaXJlZm94Iil9KTpzaGFkb3codGhpcywicGxhdGZvcm0iLHtpc01hYzohMSxpc1dpbmRvd3M6ITEsaXNGaXJlZm94OiExfSl9c3RhdGljIGdldCBpc0NTU1JvdW5kU3VwcG9ydGVkKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0NTU1JvdW5kU3VwcG9ydGVkIixnbG9iYWxUaGlzLkNTUz8uc3VwcG9ydHM/Ligid2lkdGg6IHJvdW5kKDEuNXB4LCAxcHgpIikpfX1jb25zdCBvdD1BcnJheS5mcm9tKEFycmF5KDI1Nikua2V5cygpLChlPT5lLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpKTtjbGFzcyBVdGlse3N0YXRpYyBtYWtlSGV4Q29sb3IoZSx0LGkpe3JldHVybmAjJHtvdFtlXX0ke290W3RdfSR7b3RbaV19YH1zdGF0aWMgc2NhbGVNaW5NYXgoZSx0KXtsZXQgaTtpZihlWzBdKXtpZihlWzBdPDApe2k9dFswXTt0WzBdPXRbMl07dFsyXT1pfXRbMF0qPWVbMF07dFsyXSo9ZVswXTtpZihlWzNdPDApe2k9dFsxXTt0WzFdPXRbM107dFszXT1pfXRbMV0qPWVbM107dFszXSo9ZVszXX1lbHNle2k9dFswXTt0WzBdPXRbMV07dFsxXT1pO2k9dFsyXTt0WzJdPXRbM107dFszXT1pO2lmKGVbMV08MCl7aT10WzFdO3RbMV09dFszXTt0WzNdPWl9dFsxXSo9ZVsxXTt0WzNdKj1lWzFdO2lmKGVbMl08MCl7aT10WzBdO3RbMF09dFsyXTt0WzJdPWl9dFswXSo9ZVsyXTt0WzJdKj1lWzJdfXRbMF0rPWVbNF07dFsxXSs9ZVs1XTt0WzJdKz1lWzRdO3RbM10rPWVbNV19c3RhdGljIHRyYW5zZm9ybShlLHQpe3JldHVybltlWzBdKnRbMF0rZVsyXSp0WzFdLGVbMV0qdFswXStlWzNdKnRbMV0sZVswXSp0WzJdK2VbMl0qdFszXSxlWzFdKnRbMl0rZVszXSp0WzNdLGVbMF0qdFs0XStlWzJdKnRbNV0rZVs0XSxlWzFdKnRbNF0rZVszXSp0WzVdK2VbNV1dfXN0YXRpYyBhcHBseVRyYW5zZm9ybShlLHQpe3JldHVybltlWzBdKnRbMF0rZVsxXSp0WzJdK3RbNF0sZVswXSp0WzFdK2VbMV0qdFszXSt0WzVdXX1zdGF0aWMgYXBwbHlJbnZlcnNlVHJhbnNmb3JtKGUsdCl7Y29uc3QgaT10WzBdKnRbM10tdFsxXSp0WzJdO3JldHVyblsoZVswXSp0WzNdLWVbMV0qdFsyXSt0WzJdKnRbNV0tdFs0XSp0WzNdKS9pLCgtZVswXSp0WzFdK2VbMV0qdFswXSt0WzRdKnRbMV0tdFs1XSp0WzBdKS9pXX1zdGF0aWMgZ2V0QXhpYWxBbGlnbmVkQm91bmRpbmdCb3goZSx0KXtjb25zdCBpPXRoaXMuYXBwbHlUcmFuc2Zvcm0oZSx0KSxhPXRoaXMuYXBwbHlUcmFuc2Zvcm0oZS5zbGljZSgyLDQpLHQpLHM9dGhpcy5hcHBseVRyYW5zZm9ybShbZVswXSxlWzNdXSx0KSxyPXRoaXMuYXBwbHlUcmFuc2Zvcm0oW2VbMl0sZVsxXV0sdCk7cmV0dXJuW01hdGgubWluKGlbMF0sYVswXSxzWzBdLHJbMF0pLE1hdGgubWluKGlbMV0sYVsxXSxzWzFdLHJbMV0pLE1hdGgubWF4KGlbMF0sYVswXSxzWzBdLHJbMF0pLE1hdGgubWF4KGlbMV0sYVsxXSxzWzFdLHJbMV0pXX1zdGF0aWMgaW52ZXJzZVRyYW5zZm9ybShlKXtjb25zdCB0PWVbMF0qZVszXS1lWzFdKmVbMl07cmV0dXJuW2VbM10vdCwtZVsxXS90LC1lWzJdL3QsZVswXS90LChlWzJdKmVbNV0tZVs0XSplWzNdKS90LChlWzRdKmVbMV0tZVs1XSplWzBdKS90XX1zdGF0aWMgc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUoZSl7Y29uc3QgdD1bZVswXSxlWzJdLGVbMV0sZVszXV0saT1lWzBdKnRbMF0rZVsxXSp0WzJdLGE9ZVswXSp0WzFdK2VbMV0qdFszXSxzPWVbMl0qdFswXStlWzNdKnRbMl0scj1lWzJdKnRbMV0rZVszXSp0WzNdLG49KGkrcikvMixnPU1hdGguc3FydCgoaStyKSoqMi00KihpKnItcyphKSkvMixvPW4rZ3x8MSxjPW4tZ3x8MTtyZXR1cm5bTWF0aC5zcXJ0KG8pLE1hdGguc3FydChjKV19c3RhdGljIG5vcm1hbGl6ZVJlY3QoZSl7Y29uc3QgdD1lLnNsaWNlKDApO2lmKGVbMF0+ZVsyXSl7dFswXT1lWzJdO3RbMl09ZVswXX1pZihlWzFdPmVbM10pe3RbMV09ZVszXTt0WzNdPWVbMV19cmV0dXJuIHR9c3RhdGljIGludGVyc2VjdChlLHQpe2NvbnN0IGk9TWF0aC5tYXgoTWF0aC5taW4oZVswXSxlWzJdKSxNYXRoLm1pbih0WzBdLHRbMl0pKSxhPU1hdGgubWluKE1hdGgubWF4KGVbMF0sZVsyXSksTWF0aC5tYXgodFswXSx0WzJdKSk7aWYoaT5hKXJldHVybiBudWxsO2NvbnN0IHM9TWF0aC5tYXgoTWF0aC5taW4oZVsxXSxlWzNdKSxNYXRoLm1pbih0WzFdLHRbM10pKSxyPU1hdGgubWluKE1hdGgubWF4KGVbMV0sZVszXSksTWF0aC5tYXgodFsxXSx0WzNdKSk7cmV0dXJuIHM+cj9udWxsOltpLHMsYSxyXX1zdGF0aWMjQShlLHQsaSxhLHMscixuLGcsbyxjKXtpZihvPD0wfHxvPj0xKXJldHVybjtjb25zdCBDPTEtbyxoPW8qbyxsPWgqbyxRPUMqKEMqKEMqZSszKm8qdCkrMypoKmkpK2wqYSxFPUMqKEMqKEMqcyszKm8qcikrMypoKm4pK2wqZztjWzBdPU1hdGgubWluKGNbMF0sUSk7Y1sxXT1NYXRoLm1pbihjWzFdLEUpO2NbMl09TWF0aC5tYXgoY1syXSxRKTtjWzNdPU1hdGgubWF4KGNbM10sRSl9c3RhdGljI2UoZSx0LGksYSxzLHIsbixnLG8sYyxDLGgpe2lmKE1hdGguYWJzKG8pPDFlLTEyKXtNYXRoLmFicyhjKT49MWUtMTImJnRoaXMuI0EoZSx0LGksYSxzLHIsbixnLC1DL2MsaCk7cmV0dXJufWNvbnN0IGw9YyoqMi00KkMqbztpZihsPDApcmV0dXJuO2NvbnN0IFE9TWF0aC5zcXJ0KGwpLEU9MipvO3RoaXMuI0EoZSx0LGksYSxzLHIsbixnLCgtYytRKS9FLGgpO3RoaXMuI0EoZSx0LGksYSxzLHIsbixnLCgtYy1RKS9FLGgpfXN0YXRpYyBiZXppZXJCb3VuZGluZ0JveChlLHQsaSxhLHMscixuLGcsbyl7aWYobyl7b1swXT1NYXRoLm1pbihvWzBdLGUsbik7b1sxXT1NYXRoLm1pbihvWzFdLHQsZyk7b1syXT1NYXRoLm1heChvWzJdLGUsbik7b1szXT1NYXRoLm1heChvWzNdLHQsZyl9ZWxzZSBvPVtNYXRoLm1pbihlLG4pLE1hdGgubWluKHQsZyksTWF0aC5tYXgoZSxuKSxNYXRoLm1heCh0LGcpXTt0aGlzLiNlKGUsaSxzLG4sdCxhLHIsZywzKigzKihpLXMpLWUrbiksNiooZS0yKmkrcyksMyooaS1lKSxvKTt0aGlzLiNlKGUsaSxzLG4sdCxhLHIsZywzKigzKihhLXIpLXQrZyksNioodC0yKmErciksMyooYS10KSxvKTtyZXR1cm4gb319Y29uc3QgSXQ9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDcyOCw3MTEsNzEwLDcyOSw3MzMsNzMxLDczMCw3MzIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODIyNiw4MjI0LDgyMjUsODIzMCw4MjEyLDgyMTEsNDAyLDgyNjAsODI0OSw4MjUwLDg3MjIsODI0MCw4MjIyLDgyMjAsODIyMSw4MjE2LDgyMTcsODIxOCw4NDgyLDY0MjU3LDY0MjU4LDMyMSwzMzgsMzUyLDM3NiwzODEsMzA1LDMyMiwzMzksMzUzLDM4MiwwLDgzNjRdO2Z1bmN0aW9uIHN0cmluZ1RvUERGU3RyaW5nKGUpe2lmKGVbMF0+PSLDryIpe2xldCB0O2lmKCLDviI9PT1lWzBdJiYiw78iPT09ZVsxXSl7dD0idXRmLTE2YmUiO2UubGVuZ3RoJTI9PTEmJihlPWUuc2xpY2UoMCwtMSkpfWVsc2UgaWYoIsO/Ij09PWVbMF0mJiLDviI9PT1lWzFdKXt0PSJ1dGYtMTZsZSI7ZS5sZW5ndGglMj09MSYmKGU9ZS5zbGljZSgwLC0xKSl9ZWxzZSLDryI9PT1lWzBdJiYiwrsiPT09ZVsxXSYmIsK/Ij09PWVbMl0mJih0PSJ1dGYtOCIpO2lmKHQpdHJ5e2NvbnN0IGk9bmV3IFRleHREZWNvZGVyKHQse2ZhdGFsOiEwfSksYT1zdHJpbmdUb0J5dGVzKGUpLHM9aS5kZWNvZGUoYSk7cmV0dXJuIHMuaW5jbHVkZXMoIhsiKT9zLnJlcGxhY2VBbGwoL1x4MWJbXlx4MWJdKig/Olx4MWJ8JCkvZywiIik6c31jYXRjaChlKXt3YXJuKGBzdHJpbmdUb1BERlN0cmluZzogIiR7ZX0iLmApfX1jb25zdCB0PVtdO2ZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhO2krKyl7Y29uc3Qgcz1lLmNoYXJDb2RlQXQoaSk7aWYoMjc9PT1zKXtmb3IoOysraTxhJiYyNyE9PWUuY2hhckNvZGVBdChpKTspO2NvbnRpbnVlfWNvbnN0IHI9SXRbc107dC5wdXNoKHI/U3RyaW5nLmZyb21DaGFyQ29kZShyKTplLmNoYXJBdChpKSl9cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9VVEY4U3RyaW5nKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGUpKX1mdW5jdGlvbiB1dGY4U3RyaW5nVG9TdHJpbmcoZSl7cmV0dXJuIHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlKSl9ZnVuY3Rpb24gaXNBcnJheUVxdWFsKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspaWYoZVtpXSE9PXRbaV0pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZ2V0TW9kaWZpY2F0aW9uRGF0ZShlPW5ldyBEYXRlKXtyZXR1cm5bZS5nZXRVVENGdWxsWWVhcigpLnRvU3RyaW5nKCksKGUuZ2V0VVRDTW9udGgoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxlLmdldFVUQ0RhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxlLmdldFVUQ0hvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENTZWNvbmRzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIildLmpvaW4oIiIpfWxldCBjdD1udWxsLEN0PW51bGw7Y29uc3QgaHQ9MCxsdD0xLEJ0PTIsUXQ9MyxFdD00LHV0PTUsZHQ9NixmdD03LHB0PTg7ZnVuY3Rpb24gdG9IZXhVdGlsKGUpe3JldHVybiBVaW50OEFycmF5LnByb3RvdHlwZS50b0hleD9lLnRvSGV4KCk6QXJyYXkuZnJvbShlLChlPT5vdFtlXSkpLmpvaW4oIiIpfWNvbnN0IG10PVN5bWJvbCgiQ0lSQ1VMQVJfUkVGIikseXQ9U3ltYm9sKCJFT0YiKTtsZXQgd3Q9T2JqZWN0LmNyZWF0ZShudWxsKSxEdD1PYmplY3QuY3JlYXRlKG51bGwpLGJ0PU9iamVjdC5jcmVhdGUobnVsbCk7Y2xhc3MgTmFtZXtjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWU9ZX1zdGF0aWMgZ2V0KGUpe3JldHVybiBEdFtlXXx8PW5ldyBOYW1lKGUpfX1jbGFzcyBDbWR7Y29uc3RydWN0b3IoZSl7dGhpcy5jbWQ9ZX1zdGF0aWMgZ2V0KGUpe3JldHVybiB3dFtlXXx8PW5ldyBDbWQoZSl9fWNvbnN0IEZ0PWZ1bmN0aW9uIG5vblNlcmlhbGl6YWJsZUNsb3N1cmUoKXtyZXR1cm4gRnR9O2NsYXNzIERpY3R7Y29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9tYXA9bmV3IE1hcDt0aGlzLnhyZWY9ZTt0aGlzLm9iaklkPW51bGw7dGhpcy5zdXBwcmVzc0VuY3J5cHRpb249ITE7dGhpcy5fX25vblNlcmlhbGl6YWJsZV9fPUZ0fWFzc2lnblhyZWYoZSl7dGhpcy54cmVmPWV9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fbWFwLnNpemV9Z2V0KGUsdCxpKXtsZXQgYT10aGlzLl9tYXAuZ2V0KGUpO2lmKHZvaWQgMD09PWEmJnZvaWQgMCE9PXQpe2E9dGhpcy5fbWFwLmdldCh0KTt2b2lkIDA9PT1hJiZ2b2lkIDAhPT1pJiYoYT10aGlzLl9tYXAuZ2V0KGkpKX1yZXR1cm4gYSBpbnN0YW5jZW9mIFJlZiYmdGhpcy54cmVmP3RoaXMueHJlZi5mZXRjaChhLHRoaXMuc3VwcHJlc3NFbmNyeXB0aW9uKTphfWFzeW5jIGdldEFzeW5jKGUsdCxpKXtsZXQgYT10aGlzLl9tYXAuZ2V0KGUpO2lmKHZvaWQgMD09PWEmJnZvaWQgMCE9PXQpe2E9dGhpcy5fbWFwLmdldCh0KTt2b2lkIDA9PT1hJiZ2b2lkIDAhPT1pJiYoYT10aGlzLl9tYXAuZ2V0KGkpKX1yZXR1cm4gYSBpbnN0YW5jZW9mIFJlZiYmdGhpcy54cmVmP3RoaXMueHJlZi5mZXRjaEFzeW5jKGEsdGhpcy5zdXBwcmVzc0VuY3J5cHRpb24pOmF9Z2V0QXJyYXkoZSx0LGkpe2xldCBhPXRoaXMuX21hcC5nZXQoZSk7aWYodm9pZCAwPT09YSYmdm9pZCAwIT09dCl7YT10aGlzLl9tYXAuZ2V0KHQpO3ZvaWQgMD09PWEmJnZvaWQgMCE9PWkmJihhPXRoaXMuX21hcC5nZXQoaSkpfWEgaW5zdGFuY2VvZiBSZWYmJnRoaXMueHJlZiYmKGE9dGhpcy54cmVmLmZldGNoKGEsdGhpcy5zdXBwcmVzc0VuY3J5cHRpb24pKTtpZihBcnJheS5pc0FycmF5KGEpKXthPWEuc2xpY2UoKTtmb3IobGV0IGU9MCx0PWEubGVuZ3RoO2U8dDtlKyspYVtlXWluc3RhbmNlb2YgUmVmJiZ0aGlzLnhyZWYmJihhW2VdPXRoaXMueHJlZi5mZXRjaChhW2VdLHRoaXMuc3VwcHJlc3NFbmNyeXB0aW9uKSl9cmV0dXJuIGF9Z2V0UmF3KGUpe3JldHVybiB0aGlzLl9tYXAuZ2V0KGUpfWdldEtleXMoKXtyZXR1cm5bLi4udGhpcy5fbWFwLmtleXMoKV19Z2V0UmF3VmFsdWVzKCl7cmV0dXJuWy4uLnRoaXMuX21hcC52YWx1ZXMoKV19c2V0KGUsdCl7dGhpcy5fbWFwLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fbWFwLmhhcyhlKX0qW1N5bWJvbC5pdGVyYXRvcl0oKXtmb3IoY29uc3RbZSx0XW9mIHRoaXMuX21hcCl5aWVsZFtlLHQgaW5zdGFuY2VvZiBSZWYmJnRoaXMueHJlZj90aGlzLnhyZWYuZmV0Y2godCx0aGlzLnN1cHByZXNzRW5jcnlwdGlvbik6dF19c3RhdGljIGdldCBlbXB0eSgpe2NvbnN0IGU9bmV3IERpY3QobnVsbCk7ZS5zZXQ9KGUsdCk9Pnt1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIGBzZXRgIG9uIHRoZSBlbXB0eSBkaWN0aW9uYXJ5LiIpfTtyZXR1cm4gc2hhZG93KHRoaXMsImVtcHR5IixlKX1zdGF0aWMgbWVyZ2Uoe3hyZWY6ZSxkaWN0QXJyYXk6dCxtZXJnZVN1YkRpY3RzOmk9ITF9KXtjb25zdCBhPW5ldyBEaWN0KGUpLHM9bmV3IE1hcDtmb3IoY29uc3QgZSBvZiB0KWlmKGUgaW5zdGFuY2VvZiBEaWN0KWZvcihjb25zdFt0LGFdb2YgZS5fbWFwKXtsZXQgZT1zLmdldCh0KTtpZih2b2lkIDA9PT1lKXtlPVtdO3Muc2V0KHQsZSl9ZWxzZSBpZighKGkmJmEgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtlLnB1c2goYSl9Zm9yKGNvbnN0W3QsaV1vZiBzKXtpZigxPT09aS5sZW5ndGh8fCEoaVswXWluc3RhbmNlb2YgRGljdCkpe2EuX21hcC5zZXQodCxpWzBdKTtjb250aW51ZX1jb25zdCBzPW5ldyBEaWN0KGUpO2Zvcihjb25zdCBlIG9mIGkpZm9yKGNvbnN0W3QsaV1vZiBlLl9tYXApcy5fbWFwLmhhcyh0KXx8cy5fbWFwLnNldCh0LGkpO3Muc2l6ZT4wJiZhLl9tYXAuc2V0KHQscyl9cy5jbGVhcigpO3JldHVybiBhLnNpemU+MD9hOkRpY3QuZW1wdHl9Y2xvbmUoKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZik7Zm9yKGNvbnN0IHQgb2YgdGhpcy5nZXRLZXlzKCkpZS5zZXQodCx0aGlzLmdldFJhdyh0KSk7cmV0dXJuIGV9ZGVsZXRlKGUpe2RlbGV0ZSB0aGlzLl9tYXBbZV19fWNsYXNzIFJlZntjb25zdHJ1Y3RvcihlLHQpe3RoaXMubnVtPWU7dGhpcy5nZW49dH10b1N0cmluZygpe3JldHVybiAwPT09dGhpcy5nZW4/YCR7dGhpcy5udW19UmA6YCR7dGhpcy5udW19UiR7dGhpcy5nZW59YH1zdGF0aWMgZnJvbVN0cmluZyhlKXtjb25zdCB0PWJ0W2VdO2lmKHQpcmV0dXJuIHQ7Y29uc3QgaT0vXihcZCspUihcZCopJC8uZXhlYyhlKTtyZXR1cm4gaSYmIjAiIT09aVsxXT9idFtlXT1uZXcgUmVmKHBhcnNlSW50KGlbMV0pLGlbMl0/cGFyc2VJbnQoaVsyXSk6MCk6bnVsbH1zdGF0aWMgZ2V0KGUsdCl7Y29uc3QgaT0wPT09dD9gJHtlfVJgOmAke2V9UiR7dH1gO3JldHVybiBidFtpXXx8PW5ldyBSZWYoZSx0KX19Y2xhc3MgUmVmU2V0e2NvbnN0cnVjdG9yKGU9bnVsbCl7dGhpcy5fc2V0PW5ldyBTZXQoZT8uX3NldCl9aGFzKGUpe3JldHVybiB0aGlzLl9zZXQuaGFzKGUudG9TdHJpbmcoKSl9cHV0KGUpe3RoaXMuX3NldC5hZGQoZS50b1N0cmluZygpKX1yZW1vdmUoZSl7dGhpcy5fc2V0LmRlbGV0ZShlLnRvU3RyaW5nKCkpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuX3NldC52YWx1ZXMoKX1jbGVhcigpe3RoaXMuX3NldC5jbGVhcigpfX1jbGFzcyBSZWZTZXRDYWNoZXtjb25zdHJ1Y3Rvcigpe3RoaXMuX21hcD1uZXcgTWFwfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuX21hcC5zaXplfWdldChlKXtyZXR1cm4gdGhpcy5fbWFwLmdldChlLnRvU3RyaW5nKCkpfWhhcyhlKXtyZXR1cm4gdGhpcy5fbWFwLmhhcyhlLnRvU3RyaW5nKCkpfXB1dChlLHQpe3RoaXMuX21hcC5zZXQoZS50b1N0cmluZygpLHQpfXB1dEFsaWFzKGUsdCl7dGhpcy5fbWFwLnNldChlLnRvU3RyaW5nKCksdGhpcy5nZXQodCkpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuX21hcC52YWx1ZXMoKX1jbGVhcigpe3RoaXMuX21hcC5jbGVhcigpfSp2YWx1ZXMoKXt5aWVsZCp0aGlzLl9tYXAudmFsdWVzKCl9Kml0ZW1zKCl7Zm9yKGNvbnN0W2UsdF1vZiB0aGlzLl9tYXApeWllbGRbUmVmLmZyb21TdHJpbmcoZSksdF19fWZ1bmN0aW9uIGlzTmFtZShlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgTmFtZSYmKHZvaWQgMD09PXR8fGUubmFtZT09PXQpfWZ1bmN0aW9uIGlzQ21kKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBDbWQmJih2b2lkIDA9PT10fHxlLmNtZD09PXQpfWZ1bmN0aW9uIGlzRGljdChlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgRGljdCYmKHZvaWQgMD09PXR8fGlzTmFtZShlLmdldCgiVHlwZSIpLHQpKX1mdW5jdGlvbiBpc1JlZnNFcXVhbChlLHQpe3JldHVybiBlLm51bT09PXQubnVtJiZlLmdlbj09PXQuZ2VufWNsYXNzIEJhc2VTdHJlYW17Z2V0IGxlbmd0aCgpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBnZXR0ZXIgYGxlbmd0aGAgYWNjZXNzZWQiKX1nZXQgaXNFbXB0eSgpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBnZXR0ZXIgYGlzRW1wdHlgIGFjY2Vzc2VkIil9Z2V0IGlzRGF0YUxvYWRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNEYXRhTG9hZGVkIiwhMCl9Z2V0Qnl0ZSgpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGdldEJ5dGVgIGNhbGxlZCIpfWdldEJ5dGVzKGUpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGdldEJ5dGVzYCBjYWxsZWQiKX1hc3luYyBnZXRJbWFnZURhdGEoZSx0KXtyZXR1cm4gdGhpcy5nZXRCeXRlcyhlLHQpfWFzeW5jIGFzeW5jR2V0Qnl0ZXMoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBhc3luY0dldEJ5dGVzYCBjYWxsZWQiKX1nZXQgaXNBc3luYygpe3JldHVybiExfWdldCBjYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlcigpe3JldHVybiExfWFzeW5jIGdldFRyYW5zZmVyYWJsZUltYWdlKCl7cmV0dXJuIG51bGx9cGVla0J5dGUoKXtjb25zdCBlPXRoaXMuZ2V0Qnl0ZSgpOy0xIT09ZSYmdGhpcy5wb3MtLTtyZXR1cm4gZX1wZWVrQnl0ZXMoZSl7Y29uc3QgdD10aGlzLmdldEJ5dGVzKGUpO3RoaXMucG9zLT10Lmxlbmd0aDtyZXR1cm4gdH1nZXRVaW50MTYoKXtjb25zdCBlPXRoaXMuZ2V0Qnl0ZSgpLHQ9dGhpcy5nZXRCeXRlKCk7cmV0dXJuLTE9PT1lfHwtMT09PXQ/LTE6KGU8PDgpK3R9Z2V0SW50MzIoKXtyZXR1cm4odGhpcy5nZXRCeXRlKCk8PDI0KSsodGhpcy5nZXRCeXRlKCk8PDE2KSsodGhpcy5nZXRCeXRlKCk8PDgpK3RoaXMuZ2V0Qnl0ZSgpfWdldEJ5dGVSYW5nZShlLHQpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGdldEJ5dGVSYW5nZWAgY2FsbGVkIil9Z2V0U3RyaW5nKGUpe3JldHVybiBieXRlc1RvU3RyaW5nKHRoaXMuZ2V0Qnl0ZXMoZSkpfXNraXAoZSl7dGhpcy5wb3MrPWV8fDF9cmVzZXQoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGByZXNldGAgY2FsbGVkIil9bW92ZVN0YXJ0KCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgbW92ZVN0YXJ0YCBjYWxsZWQiKX1tYWtlU3ViU3RyZWFtKGUsdCxpPW51bGwpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYG1ha2VTdWJTdHJlYW1gIGNhbGxlZCIpfWdldEJhc2VTdHJlYW1zKCl7cmV0dXJuIG51bGx9fWNvbnN0IFN0PS9eWzEtOV1cLlxkJC8sa3Q9MioqMzEtMSxSdD0tKDIqKjMxKTtmdW5jdGlvbiBnZXRMb29rdXBUYWJsZUZhY3RvcnkoZSl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoZSl7dD1PYmplY3QuY3JlYXRlKG51bGwpO2UodCk7ZT1udWxsfXJldHVybiB0fX1jbGFzcyBNaXNzaW5nRGF0YUV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoYE1pc3NpbmcgZGF0YSBbJHtlfSwgJHt0fSlgLCJNaXNzaW5nRGF0YUV4Y2VwdGlvbiIpO3RoaXMuYmVnaW49ZTt0aGlzLmVuZD10fX1jbGFzcyBQYXJzZXJFT0ZFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJQYXJzZXJFT0ZFeGNlcHRpb24iKX19Y2xhc3MgWFJlZkVudHJ5RXhjZXB0aW9uIGV4dGVuZHMgZ3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiWFJlZkVudHJ5RXhjZXB0aW9uIil9fWNsYXNzIFhSZWZQYXJzZUV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIlhSZWZQYXJzZUV4Y2VwdGlvbiIpfX1mdW5jdGlvbiBhcnJheUJ1ZmZlcnNUb0J5dGVzKGUpe2NvbnN0IHQ9ZS5sZW5ndGg7aWYoMD09PXQpcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO2lmKDE9PT10KXJldHVybiBuZXcgVWludDhBcnJheShlWzBdKTtsZXQgaT0wO2ZvcihsZXQgYT0wO2E8dDthKyspaSs9ZVthXS5ieXRlTGVuZ3RoO2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoaSk7bGV0IHM9MDtmb3IobGV0IGk9MDtpPHQ7aSsrKXtjb25zdCB0PW5ldyBVaW50OEFycmF5KGVbaV0pO2Euc2V0KHQscyk7cys9dC5ieXRlTGVuZ3RofXJldHVybiBhfWZ1bmN0aW9uIGdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6ZSxrZXk6dCxnZXRBcnJheTppPSExLHN0b3BXaGVuRm91bmQ6YT0hMH0pe2xldCBzO2NvbnN0IHI9bmV3IFJlZlNldDtmb3IoO2UgaW5zdGFuY2VvZiBEaWN0JiYoIWUub2JqSWR8fCFyLmhhcyhlLm9iaklkKSk7KXtlLm9iaklkJiZyLnB1dChlLm9iaklkKTtjb25zdCBuPWk/ZS5nZXRBcnJheSh0KTplLmdldCh0KTtpZih2b2lkIDAhPT1uKXtpZihhKXJldHVybiBuOyhzfHw9W10pLnB1c2gobil9ZT1lLmdldCgiUGFyZW50Iil9cmV0dXJuIHN9Y29uc3QgTnQ9WyIiLCJDIiwiQ0MiLCJDQ0MiLCJDRCIsIkQiLCJEQyIsIkRDQyIsIkRDQ0MiLCJDTSIsIiIsIlgiLCJYWCIsIlhYWCIsIlhMIiwiTCIsIkxYIiwiTFhYIiwiTFhYWCIsIlhDIiwiIiwiSSIsIklJIiwiSUlJIiwiSVYiLCJWIiwiVkkiLCJWSUkiLCJWSUlJIiwiSVgiXTtmdW5jdGlvbiB0b1JvbWFuTnVtZXJhbHMoZSx0PSExKXthc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihlKSYmZT4wLCJUaGUgbnVtYmVyIHNob3VsZCBiZSBhIHBvc2l0aXZlIGludGVnZXIuIik7Y29uc3QgaT0iTSIucmVwZWF0KGUvMWUzfDApK050W2UlMWUzLzEwMHwwXStOdFsxMCsoZSUxMDAvMTB8MCldK050WzIwK2UlMTBdO3JldHVybiB0P2kudG9Mb3dlckNhc2UoKTppfWZ1bmN0aW9uIGxvZzIoZSl7cmV0dXJuIGU+MD9NYXRoLmNlaWwoTWF0aC5sb2cyKGUpKTowfWZ1bmN0aW9uIHJlYWRJbnQ4KGUsdCl7cmV0dXJuIGVbdF08PDI0Pj4yNH1mdW5jdGlvbiByZWFkVWludDE2KGUsdCl7cmV0dXJuIGVbdF08PDh8ZVt0KzFdfWZ1bmN0aW9uIHJlYWRVaW50MzIoZSx0KXtyZXR1cm4oZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8ZVt0KzNdKT4+PjB9ZnVuY3Rpb24gaXNXaGl0ZVNwYWNlKGUpe3JldHVybiAzMj09PWV8fDk9PT1lfHwxMz09PWV8fDEwPT09ZX1mdW5jdGlvbiBpc051bWJlckFycmF5KGUsdCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/KG51bGw9PT10fHxlLmxlbmd0aD09PXQpJiZlLmV2ZXJ5KChlPT4ibnVtYmVyIj09dHlwZW9mIGUpKTpBcnJheUJ1ZmZlci5pc1ZpZXcoZSkmJigwPT09ZS5sZW5ndGh8fCJudW1iZXIiPT10eXBlb2YgZVswXSkmJihudWxsPT09dHx8ZS5sZW5ndGg9PT10KX1mdW5jdGlvbiBsb29rdXBNYXRyaXgoZSx0KXtyZXR1cm4gaXNOdW1iZXJBcnJheShlLDYpP2U6dH1mdW5jdGlvbiBsb29rdXBSZWN0KGUsdCl7cmV0dXJuIGlzTnVtYmVyQXJyYXkoZSw0KT9lOnR9ZnVuY3Rpb24gbG9va3VwTm9ybWFsUmVjdChlLHQpe3JldHVybiBpc051bWJlckFycmF5KGUsNCk/VXRpbC5ub3JtYWxpemVSZWN0KGUpOnR9ZnVuY3Rpb24gcGFyc2VYRkFQYXRoKGUpe2NvbnN0IHQ9LyguKylcWyhcZCspXF0kLztyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcCgoZT0+e2NvbnN0IGk9ZS5tYXRjaCh0KTtyZXR1cm4gaT97bmFtZTppWzFdLHBvczpwYXJzZUludChpWzJdLDEwKX06e25hbWU6ZSxwb3M6MH19KSl9ZnVuY3Rpb24gZXNjYXBlUERGTmFtZShlKXtjb25zdCB0PVtdO2xldCBpPTA7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSsrKXtjb25zdCBzPWUuY2hhckNvZGVBdChhKTtpZihzPDMzfHxzPjEyNnx8MzU9PT1zfHw0MD09PXN8fDQxPT09c3x8NjA9PT1zfHw2Mj09PXN8fDkxPT09c3x8OTM9PT1zfHwxMjM9PT1zfHwxMjU9PT1zfHw0Nz09PXN8fDM3PT09cyl7aTxhJiZ0LnB1c2goZS5zdWJzdHJpbmcoaSxhKSk7dC5wdXNoKGAjJHtzLnRvU3RyaW5nKDE2KX1gKTtpPWErMX19aWYoMD09PXQubGVuZ3RoKXJldHVybiBlO2k8ZS5sZW5ndGgmJnQucHVzaChlLnN1YnN0cmluZyhpLGUubGVuZ3RoKSk7cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gZXNjYXBlU3RyaW5nKGUpe3JldHVybiBlLnJlcGxhY2VBbGwoLyhbKClcXFxuXHJdKS9nLChlPT4iXG4iPT09ZT8iXFxuIjoiXHIiPT09ZT8iXFxyIjpgXFwke2V9YCkpfWZ1bmN0aW9uIF9jb2xsZWN0SlMoZSx0LGksYSl7aWYoIWUpcmV0dXJuO2xldCBzPW51bGw7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoYS5oYXMoZSkpcmV0dXJuO3M9ZTthLnB1dChzKTtlPXQuZmV0Y2goZSl9aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgcyBvZiBlKV9jb2xsZWN0SlMocyx0LGksYSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgRGljdCl7aWYoaXNOYW1lKGUuZ2V0KCJTIiksIkphdmFTY3JpcHQiKSl7Y29uc3QgdD1lLmdldCgiSlMiKTtsZXQgYTt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbT9hPXQuZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiB0JiYoYT10KTthJiY9c3RyaW5nVG9QREZTdHJpbmcoYSkucmVwbGFjZUFsbCgiXDAiLCIiKTthJiZpLnB1c2goYSl9X2NvbGxlY3RKUyhlLmdldFJhdygiTmV4dCIpLHQsaSxhKX1zJiZhLnJlbW92ZShzKX1mdW5jdGlvbiBjb2xsZWN0QWN0aW9ucyhlLHQsaSl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpLHM9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiQUEiLHN0b3BXaGVuRm91bmQ6ITF9KTtpZihzKWZvcihsZXQgdD1zLmxlbmd0aC0xO3Q+PTA7dC0tKXtjb25zdCByPXNbdF07aWYociBpbnN0YW5jZW9mIERpY3QpZm9yKGNvbnN0IHQgb2Ygci5nZXRLZXlzKCkpe2NvbnN0IHM9aVt0XTtpZighcyljb250aW51ZTtjb25zdCBuPVtdO19jb2xsZWN0SlMoci5nZXRSYXcodCksZSxuLG5ldyBSZWZTZXQpO24ubGVuZ3RoPjAmJihhW3NdPW4pfX1pZih0LmhhcygiQSIpKXtjb25zdCBpPVtdO19jb2xsZWN0SlModC5nZXQoIkEiKSxlLGksbmV3IFJlZlNldCk7aS5sZW5ndGg+MCYmKGEuQWN0aW9uPWkpfXJldHVybiBvYmplY3RTaXplKGEpPjA/YTpudWxsfWNvbnN0IEd0PXs2MDoiJmx0OyIsNjI6IiZndDsiLDM4OiImYW1wOyIsMzQ6IiZxdW90OyIsMzk6IiZhcG9zOyJ9O2Z1bmN0aW9uKmNvZGVQb2ludEl0ZXIoZSl7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXtjb25zdCBpPWUuY29kZVBvaW50QXQodCk7aT41NTI5NSYmKGk8NTczNDR8fGk+NjU1MzMpJiZ0Kys7eWllbGQgaX19ZnVuY3Rpb24gZW5jb2RlVG9YbWxTdHJpbmcoZSl7Y29uc3QgdD1bXTtsZXQgaT0wO2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzO2ErKyl7Y29uc3Qgcz1lLmNvZGVQb2ludEF0KGEpO2lmKDMyPD1zJiZzPD0xMjYpe2NvbnN0IHI9R3Rbc107aWYocil7aTxhJiZ0LnB1c2goZS5zdWJzdHJpbmcoaSxhKSk7dC5wdXNoKHIpO2k9YSsxfX1lbHNle2k8YSYmdC5wdXNoKGUuc3Vic3RyaW5nKGksYSkpO3QucHVzaChgJiN4JHtzLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfTtgKTtzPjU1Mjk1JiYoczw1NzM0NHx8cz42NTUzMykmJmErKztpPWErMX19aWYoMD09PXQubGVuZ3RoKXJldHVybiBlO2k8ZS5sZW5ndGgmJnQucHVzaChlLnN1YnN0cmluZyhpLGUubGVuZ3RoKSk7cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gdmFsaWRhdGVGb250TmFtZShlLHQ9ITEpe2NvbnN0IGk9L14oInwnKS4qKCJ8JykkLy5leGVjKGUpO2lmKGkmJmlbMV09PT1pWzJdKXtpZihuZXcgUmVnRXhwKGBbXlxcXFxdJHtpWzFdfWApLnRlc3QoZS5zbGljZSgxLC0xKSkpe3QmJndhcm4oYEZvbnRGYW1pbHkgY29udGFpbnMgdW5lc2NhcGVkICR7aVsxXX06ICR7ZX0uYCk7cmV0dXJuITF9fWVsc2UgZm9yKGNvbnN0IGkgb2YgZS5zcGxpdCgvWyBcdF0rLykpaWYoL14oXGR8KC0oXGR8LSkpKS8udGVzdChpKXx8IS9eW1x3LVxcXSskLy50ZXN0KGkpKXt0JiZ3YXJuKGBGb250RmFtaWx5IGNvbnRhaW5zIGludmFsaWQgPGN1c3RvbS1pZGVudD46ICR7ZX0uYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gdmFsaWRhdGVDU1NGb250KGUpe2NvbnN0IHQ9bmV3IFNldChbIjEwMCIsIjIwMCIsIjMwMCIsIjQwMCIsIjUwMCIsIjYwMCIsIjcwMCIsIjgwMCIsIjkwMCIsIjEwMDAiLCJub3JtYWwiLCJib2xkIiwiYm9sZGVyIiwibGlnaHRlciJdKSx7Zm9udEZhbWlseTppLGZvbnRXZWlnaHQ6YSxpdGFsaWNBbmdsZTpzfT1lO2lmKCF2YWxpZGF0ZUZvbnROYW1lKGksITApKXJldHVybiExO2NvbnN0IHI9YT9hLnRvU3RyaW5nKCk6IiI7ZS5mb250V2VpZ2h0PXQuaGFzKHIpP3I6IjQwMCI7Y29uc3Qgbj1wYXJzZUZsb2F0KHMpO2UuaXRhbGljQW5nbGU9aXNOYU4obil8fG48LTkwfHxuPjkwPyIxNCI6cy50b1N0cmluZygpO3JldHVybiEwfWZ1bmN0aW9uIHJlY292ZXJKc1VSTChlKXtjb25zdCB0PW5ldyBSZWdFeHAoIl5cXHMqKCIrWyJhcHAubGF1bmNoVVJMIiwid2luZG93Lm9wZW4iLCJ4ZmEuaG9zdC5nb3RvVVJMIl0uam9pbigifCIpLnJlcGxhY2VBbGwoIi4iLCJcXC4iKSsiKVxcKCg/Oid8XCIpKFteJ1wiXSopKD86J3xcIikoPzosXFxzKihcXHcrKVxcKXxcXCkpIiwiaSIpLmV4ZWMoZSk7cmV0dXJuIHQ/LlsyXT97dXJsOnRbMl0sbmV3V2luZG93OiJhcHAubGF1bmNoVVJMIj09PXRbMV0mJiJ0cnVlIj09PXRbM119Om51bGx9ZnVuY3Rpb24gbnVtYmVyVG9TdHJpbmcoZSl7aWYoTnVtYmVyLmlzSW50ZWdlcihlKSlyZXR1cm4gZS50b1N0cmluZygpO2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSk7cmV0dXJuIHQlMTAwPT0wPyh0LzEwMCkudG9TdHJpbmcoKTp0JTEwPT0wP2UudG9GaXhlZCgxKTplLnRvRml4ZWQoMil9ZnVuY3Rpb24gZ2V0TmV3QW5ub3RhdGlvbnNNYXAoZSl7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1uZXcgTWFwO2Zvcihjb25zdFtpLGFdb2YgZSl7aWYoIWkuc3RhcnRzV2l0aCh1KSljb250aW51ZTtsZXQgZT10LmdldChhLnBhZ2VJbmRleCk7aWYoIWUpe2U9W107dC5zZXQoYS5wYWdlSW5kZXgsZSl9ZS5wdXNoKGEpfXJldHVybiB0LnNpemU+MD90Om51bGx9ZnVuY3Rpb24gc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShlKXtyZXR1cm4gZnVuY3Rpb24gaXNBc2NpaShlKXtyZXR1cm4vXltceDAwLVx4N0ZdKiQvLnRlc3QoZSl9KGUpP2U6c3RyaW5nVG9VVEYxNlN0cmluZyhlLCEwKX1mdW5jdGlvbiBzdHJpbmdUb1VURjE2SGV4U3RyaW5nKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPWUuY2hhckNvZGVBdChpKTt0LnB1c2gob3RbYT4+OCYyNTVdLG90WzI1NSZhXSl9cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9VVEYxNlN0cmluZyhlLHQ9ITEpe2NvbnN0IGk9W107dCYmaS5wdXNoKCLDvsO/Iik7Zm9yKGxldCB0PTAsYT1lLmxlbmd0aDt0PGE7dCsrKXtjb25zdCBhPWUuY2hhckNvZGVBdCh0KTtpLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhPj44JjI1NSksU3RyaW5nLmZyb21DaGFyQ29kZSgyNTUmYSkpfXJldHVybiBpLmpvaW4oIiIpfWZ1bmN0aW9uIGdldFJvdGF0aW9uTWF0cml4KGUsdCxpKXtzd2l0Y2goZSl7Y2FzZSA5MDpyZXR1cm5bMCwxLC0xLDAsdCwwXTtjYXNlIDE4MDpyZXR1cm5bLTEsMCwwLC0xLHQsaV07Y2FzZSAyNzA6cmV0dXJuWzAsLTEsMSwwLDAsaV07ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcm90YXRpb24iKX19ZnVuY3Rpb24gZ2V0U2l6ZUluQnl0ZXMoZSl7cmV0dXJuIE1hdGguY2VpbChNYXRoLmNlaWwoTWF0aC5sb2cyKDErZSkpLzgpfWNsYXNzIFN0cmVhbSBleHRlbmRzIEJhc2VTdHJlYW17Y29uc3RydWN0b3IoZSx0LGksYSl7c3VwZXIoKTt0aGlzLmJ5dGVzPWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6bmV3IFVpbnQ4QXJyYXkoZSk7dGhpcy5zdGFydD10fHwwO3RoaXMucG9zPXRoaXMuc3RhcnQ7dGhpcy5lbmQ9dCtpfHx0aGlzLmJ5dGVzLmxlbmd0aDt0aGlzLmRpY3Q9YX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuZW5kLXRoaXMuc3RhcnR9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMubGVuZ3RofWdldEJ5dGUoKXtyZXR1cm4gdGhpcy5wb3M+PXRoaXMuZW5kPy0xOnRoaXMuYnl0ZXNbdGhpcy5wb3MrK119Z2V0Qnl0ZXMoZSl7Y29uc3QgdD10aGlzLmJ5dGVzLGk9dGhpcy5wb3MsYT10aGlzLmVuZDtpZighZSlyZXR1cm4gdC5zdWJhcnJheShpLGEpO2xldCBzPWkrZTtzPmEmJihzPWEpO3RoaXMucG9zPXM7cmV0dXJuIHQuc3ViYXJyYXkoaSxzKX1nZXRCeXRlUmFuZ2UoZSx0KXtlPDAmJihlPTApO3Q+dGhpcy5lbmQmJih0PXRoaXMuZW5kKTtyZXR1cm4gdGhpcy5ieXRlcy5zdWJhcnJheShlLHQpfXJlc2V0KCl7dGhpcy5wb3M9dGhpcy5zdGFydH1tb3ZlU3RhcnQoKXt0aGlzLnN0YXJ0PXRoaXMucG9zfW1ha2VTdWJTdHJlYW0oZSx0LGk9bnVsbCl7cmV0dXJuIG5ldyBTdHJlYW0odGhpcy5ieXRlcy5idWZmZXIsZSx0LGkpfX1jbGFzcyBTdHJpbmdTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoZSl7c3VwZXIoc3RyaW5nVG9CeXRlcyhlKSl9fWNsYXNzIE51bGxTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoKXtzdXBlcihuZXcgVWludDhBcnJheSgwKSl9fWNsYXNzIENodW5rZWRTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKG5ldyBVaW50OEFycmF5KGUpLDAsZSxudWxsKTt0aGlzLmNodW5rU2l6ZT10O3RoaXMuX2xvYWRlZENodW5rcz1uZXcgU2V0O3RoaXMubnVtQ2h1bmtzPU1hdGguY2VpbChlL3QpO3RoaXMubWFuYWdlcj1pO3RoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoPTA7dGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuaz0tMX1nZXRNaXNzaW5nQ2h1bmtzKCl7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MCxpPXRoaXMubnVtQ2h1bmtzO3Q8aTsrK3QpdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyh0KXx8ZS5wdXNoKHQpO3JldHVybiBlfWdldCBudW1DaHVua3NMb2FkZWQoKXtyZXR1cm4gdGhpcy5fbG9hZGVkQ2h1bmtzLnNpemV9Z2V0IGlzRGF0YUxvYWRlZCgpe3JldHVybiB0aGlzLm51bUNodW5rc0xvYWRlZD09PXRoaXMubnVtQ2h1bmtzfW9uUmVjZWl2ZURhdGEoZSx0KXtjb25zdCBpPXRoaXMuY2h1bmtTaXplO2lmKGUlaSE9MCl0aHJvdyBuZXcgRXJyb3IoYEJhZCBiZWdpbiBvZmZzZXQ6ICR7ZX1gKTtjb25zdCBhPWUrdC5ieXRlTGVuZ3RoO2lmKGElaSE9MCYmYSE9PXRoaXMuYnl0ZXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgQmFkIGVuZCBvZmZzZXQ6ICR7YX1gKTt0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheSh0KSxlKTtjb25zdCBzPU1hdGguZmxvb3IoZS9pKSxyPU1hdGguZmxvb3IoKGEtMSkvaSkrMTtmb3IobGV0IGU9cztlPHI7KytlKXRoaXMuX2xvYWRlZENodW5rcy5hZGQoZSl9b25SZWNlaXZlUHJvZ3Jlc3NpdmVEYXRhKGUpe2xldCB0PXRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoO2NvbnN0IGk9TWF0aC5mbG9vcih0L3RoaXMuY2h1bmtTaXplKTt0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheShlKSx0KTt0Kz1lLmJ5dGVMZW5ndGg7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9dDtjb25zdCBhPXQ+PXRoaXMuZW5kP3RoaXMubnVtQ2h1bmtzOk1hdGguZmxvb3IodC90aGlzLmNodW5rU2l6ZSk7Zm9yKGxldCBlPWk7ZTxhOysrZSl0aGlzLl9sb2FkZWRDaHVua3MuYWRkKGUpfWVuc3VyZUJ5dGUoZSl7aWYoZTx0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aClyZXR1cm47Y29uc3QgdD1NYXRoLmZsb29yKGUvdGhpcy5jaHVua1NpemUpO2lmKCEodD50aGlzLm51bUNodW5rcykmJnQhPT10aGlzLmxhc3RTdWNjZXNzZnVsRW5zdXJlQnl0ZUNodW5rKXtpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyh0KSl0aHJvdyBuZXcgTWlzc2luZ0RhdGFFeGNlcHRpb24oZSxlKzEpO3RoaXMubGFzdFN1Y2Nlc3NmdWxFbnN1cmVCeXRlQ2h1bms9dH19ZW5zdXJlUmFuZ2UoZSx0KXtpZihlPj10KXJldHVybjtpZih0PD10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aClyZXR1cm47Y29uc3QgaT1NYXRoLmZsb29yKGUvdGhpcy5jaHVua1NpemUpO2lmKGk+dGhpcy5udW1DaHVua3MpcmV0dXJuO2NvbnN0IGE9TWF0aC5taW4oTWF0aC5mbG9vcigodC0xKS90aGlzLmNodW5rU2l6ZSkrMSx0aGlzLm51bUNodW5rcyk7Zm9yKGxldCBzPWk7czxhOysrcylpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhzKSl0aHJvdyBuZXcgTWlzc2luZ0RhdGFFeGNlcHRpb24oZSx0KX1uZXh0RW1wdHlDaHVuayhlKXtjb25zdCB0PXRoaXMubnVtQ2h1bmtzO2ZvcihsZXQgaT0wO2k8dDsrK2kpe2NvbnN0IGE9KGUraSkldDtpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhhKSlyZXR1cm4gYX1yZXR1cm4gbnVsbH1oYXNDaHVuayhlKXtyZXR1cm4gdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhlKX1nZXRCeXRlKCl7Y29uc3QgZT10aGlzLnBvcztpZihlPj10aGlzLmVuZClyZXR1cm4tMTtlPj10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVCeXRlKGUpO3JldHVybiB0aGlzLmJ5dGVzW3RoaXMucG9zKytdfWdldEJ5dGVzKGUpe2NvbnN0IHQ9dGhpcy5ieXRlcyxpPXRoaXMucG9zLGE9dGhpcy5lbmQ7aWYoIWUpe2E+dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlUmFuZ2UoaSxhKTtyZXR1cm4gdC5zdWJhcnJheShpLGEpfWxldCBzPWkrZTtzPmEmJihzPWEpO3M+dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlUmFuZ2UoaSxzKTt0aGlzLnBvcz1zO3JldHVybiB0LnN1YmFycmF5KGkscyl9Z2V0Qnl0ZVJhbmdlKGUsdCl7ZTwwJiYoZT0wKTt0PnRoaXMuZW5kJiYodD10aGlzLmVuZCk7dD50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShlLHQpO3JldHVybiB0aGlzLmJ5dGVzLnN1YmFycmF5KGUsdCl9bWFrZVN1YlN0cmVhbShlLHQsaT1udWxsKXt0P2UrdD50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShlLGUrdCk6ZT49dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlQnl0ZShlKTtmdW5jdGlvbiBDaHVua2VkU3RyZWFtU3Vic3RyZWFtKCl7fUNodW5rZWRTdHJlYW1TdWJzdHJlYW0ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodGhpcyk7Q2h1bmtlZFN0cmVhbVN1YnN0cmVhbS5wcm90b3R5cGUuZ2V0TWlzc2luZ0NodW5rcz1mdW5jdGlvbigpe2NvbnN0IGU9dGhpcy5jaHVua1NpemUsdD1NYXRoLmZsb29yKHRoaXMuc3RhcnQvZSksaT1NYXRoLmZsb29yKCh0aGlzLmVuZC0xKS9lKSsxLGE9W107Zm9yKGxldCBlPXQ7ZTxpOysrZSl0aGlzLl9sb2FkZWRDaHVua3MuaGFzKGUpfHxhLnB1c2goZSk7cmV0dXJuIGF9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShDaHVua2VkU3RyZWFtU3Vic3RyZWFtLnByb3RvdHlwZSwiaXNEYXRhTG9hZGVkIix7Z2V0KCl7cmV0dXJuIHRoaXMubnVtQ2h1bmtzTG9hZGVkPT09dGhpcy5udW1DaHVua3N8fDA9PT10aGlzLmdldE1pc3NpbmdDaHVua3MoKS5sZW5ndGh9LGNvbmZpZ3VyYWJsZTohMH0pO2NvbnN0IGE9bmV3IENodW5rZWRTdHJlYW1TdWJzdHJlYW07YS5wb3M9YS5zdGFydD1lO2EuZW5kPWUrdHx8dGhpcy5lbmQ7YS5kaWN0PWk7cmV0dXJuIGF9Z2V0QmFzZVN0cmVhbXMoKXtyZXR1cm5bdGhpc119fWNsYXNzIENodW5rZWRTdHJlYW1NYW5hZ2Vye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5sZW5ndGg9dC5sZW5ndGg7dGhpcy5jaHVua1NpemU9dC5yYW5nZUNodW5rU2l6ZTt0aGlzLnN0cmVhbT1uZXcgQ2h1bmtlZFN0cmVhbSh0aGlzLmxlbmd0aCx0aGlzLmNodW5rU2l6ZSx0aGlzKTt0aGlzLnBkZk5ldHdvcmtTdHJlYW09ZTt0aGlzLmRpc2FibGVBdXRvRmV0Y2g9dC5kaXNhYmxlQXV0b0ZldGNoO3RoaXMubXNnSGFuZGxlcj10Lm1zZ0hhbmRsZXI7dGhpcy5jdXJyUmVxdWVzdElkPTA7dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0PW5ldyBNYXA7dGhpcy5fcmVxdWVzdHNCeUNodW5rPW5ldyBNYXA7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3Q9bmV3IE1hcDt0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aD0wO3RoaXMuYWJvcnRlZD0hMTt0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5PVByb21pc2Uud2l0aFJlc29sdmVycygpfXNlbmRSZXF1ZXN0KGUsdCl7Y29uc3QgaT10aGlzLnBkZk5ldHdvcmtTdHJlYW0uZ2V0UmFuZ2VSZWFkZXIoZSx0KTtpLmlzU3RyZWFtaW5nU3VwcG9ydGVkfHwoaS5vblByb2dyZXNzPXRoaXMub25Qcm9ncmVzcy5iaW5kKHRoaXMpKTtsZXQgYT1bXSxzPTA7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e2NvbnN0IHJlYWRDaHVuaz0oe3ZhbHVlOnIsZG9uZTpufSk9Pnt0cnl7aWYobil7Y29uc3QgdD1hcnJheUJ1ZmZlcnNUb0J5dGVzKGEpO2E9bnVsbDtlKHQpO3JldHVybn1zKz1yLmJ5dGVMZW5ndGg7aS5pc1N0cmVhbWluZ1N1cHBvcnRlZCYmdGhpcy5vblByb2dyZXNzKHtsb2FkZWQ6c30pO2EucHVzaChyKTtpLnJlYWQoKS50aGVuKHJlYWRDaHVuayx0KX1jYXRjaChlKXt0KGUpfX07aS5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9KSkudGhlbigodD0+e3RoaXMuYWJvcnRlZHx8dGhpcy5vblJlY2VpdmVEYXRhKHtjaHVuazp0LGJlZ2luOmV9KX0pKX1yZXF1ZXN0QWxsQ2h1bmtzKGU9ITEpe2lmKCFlKXtjb25zdCBlPXRoaXMuc3RyZWFtLmdldE1pc3NpbmdDaHVua3MoKTt0aGlzLl9yZXF1ZXN0Q2h1bmtzKGUpfXJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2V9X3JlcXVlc3RDaHVua3MoZSl7Y29uc3QgdD10aGlzLmN1cnJSZXF1ZXN0SWQrKyxpPW5ldyBTZXQ7dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0LnNldCh0LGkpO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5zdHJlYW0uaGFzQ2h1bmsodCl8fGkuYWRkKHQpO2lmKDA9PT1pLnNpemUpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGE9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3Quc2V0KHQsYSk7Y29uc3Qgcz1bXTtmb3IoY29uc3QgZSBvZiBpKXtsZXQgaT10aGlzLl9yZXF1ZXN0c0J5Q2h1bmsuZ2V0KGUpO2lmKCFpKXtpPVtdO3RoaXMuX3JlcXVlc3RzQnlDaHVuay5zZXQoZSxpKTtzLnB1c2goZSl9aS5wdXNoKHQpfWlmKHMubGVuZ3RoPjApe2NvbnN0IGU9dGhpcy5ncm91cENodW5rcyhzKTtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPXQuYmVnaW5DaHVuayp0aGlzLmNodW5rU2l6ZSxpPU1hdGgubWluKHQuZW5kQ2h1bmsqdGhpcy5jaHVua1NpemUsdGhpcy5sZW5ndGgpO3RoaXMuc2VuZFJlcXVlc3QoZSxpKS5jYXRjaChhLnJlamVjdCl9fXJldHVybiBhLnByb21pc2UuY2F0Y2goKGU9PntpZighdGhpcy5hYm9ydGVkKXRocm93IGV9KSl9Z2V0U3RyZWFtKCl7cmV0dXJuIHRoaXMuc3RyZWFtfXJlcXVlc3RSYW5nZShlLHQpe3Q9TWF0aC5taW4odCx0aGlzLmxlbmd0aCk7Y29uc3QgaT10aGlzLmdldEJlZ2luQ2h1bmsoZSksYT10aGlzLmdldEVuZENodW5rKHQpLHM9W107Zm9yKGxldCBlPWk7ZTxhOysrZSlzLnB1c2goZSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RDaHVua3Mocyl9cmVxdWVzdFJhbmdlcyhlPVtdKXtjb25zdCB0PVtdO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9dGhpcy5nZXRCZWdpbkNodW5rKGkuYmVnaW4pLGE9dGhpcy5nZXRFbmRDaHVuayhpLmVuZCk7Zm9yKGxldCBpPWU7aTxhOysraSl0LmluY2x1ZGVzKGkpfHx0LnB1c2goaSl9dC5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLXR9KSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RDaHVua3ModCl9Z3JvdXBDaHVua3MoZSl7Y29uc3QgdD1bXTtsZXQgaT0tMSxhPS0xO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyOysrcyl7Y29uc3Qgcj1lW3NdO2k8MCYmKGk9cik7aWYoYT49MCYmYSsxIT09cil7dC5wdXNoKHtiZWdpbkNodW5rOmksZW5kQ2h1bms6YSsxfSk7aT1yfXMrMT09PWUubGVuZ3RoJiZ0LnB1c2goe2JlZ2luQ2h1bms6aSxlbmRDaHVuazpyKzF9KTthPXJ9cmV0dXJuIHR9b25Qcm9ncmVzcyhlKXt0aGlzLm1zZ0hhbmRsZXIuc2VuZCgiRG9jUHJvZ3Jlc3MiLHtsb2FkZWQ6dGhpcy5zdHJlYW0ubnVtQ2h1bmtzTG9hZGVkKnRoaXMuY2h1bmtTaXplK2UubG9hZGVkLHRvdGFsOnRoaXMubGVuZ3RofSl9b25SZWNlaXZlRGF0YShlKXtjb25zdCB0PWUuY2h1bmssaT12b2lkIDA9PT1lLmJlZ2luLGE9aT90aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aDplLmJlZ2luLHM9YSt0LmJ5dGVMZW5ndGgscj1NYXRoLmZsb29yKGEvdGhpcy5jaHVua1NpemUpLG49czx0aGlzLmxlbmd0aD9NYXRoLmZsb29yKHMvdGhpcy5jaHVua1NpemUpOk1hdGguY2VpbChzL3RoaXMuY2h1bmtTaXplKTtpZihpKXt0aGlzLnN0cmVhbS5vblJlY2VpdmVQcm9ncmVzc2l2ZURhdGEodCk7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9c31lbHNlIHRoaXMuc3RyZWFtLm9uUmVjZWl2ZURhdGEoYSx0KTt0aGlzLnN0cmVhbS5pc0RhdGFMb2FkZWQmJnRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucmVzb2x2ZSh0aGlzLnN0cmVhbSk7Y29uc3QgZz1bXTtmb3IobGV0IGU9cjtlPG47KytlKXtjb25zdCB0PXRoaXMuX3JlcXVlc3RzQnlDaHVuay5nZXQoZSk7aWYodCl7dGhpcy5fcmVxdWVzdHNCeUNodW5rLmRlbGV0ZShlKTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PXRoaXMuX2NodW5rc05lZWRlZEJ5UmVxdWVzdC5nZXQoaSk7dC5oYXMoZSkmJnQuZGVsZXRlKGUpO3Quc2l6ZT4wfHxnLnB1c2goaSl9fX1pZighdGhpcy5kaXNhYmxlQXV0b0ZldGNoJiYwPT09dGhpcy5fcmVxdWVzdHNCeUNodW5rLnNpemUpe2xldCBlO2lmKDE9PT10aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQpe2NvbnN0IHQ9dGhpcy5zdHJlYW0ubnVtQ2h1bmtzLTE7dGhpcy5zdHJlYW0uaGFzQ2h1bmsodCl8fChlPXQpfWVsc2UgZT10aGlzLnN0cmVhbS5uZXh0RW1wdHlDaHVuayhuKTtOdW1iZXIuaXNJbnRlZ2VyKGUpJiZ0aGlzLl9yZXF1ZXN0Q2h1bmtzKFtlXSl9Zm9yKGNvbnN0IGUgb2YgZyl7Y29uc3QgdD10aGlzLl9wcm9taXNlc0J5UmVxdWVzdC5nZXQoZSk7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3QuZGVsZXRlKGUpO3QucmVzb2x2ZSgpfXRoaXMubXNnSGFuZGxlci5zZW5kKCJEb2NQcm9ncmVzcyIse2xvYWRlZDp0aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQqdGhpcy5jaHVua1NpemUsdG90YWw6dGhpcy5sZW5ndGh9KX1vbkVycm9yKGUpe3RoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucmVqZWN0KGUpfWdldEJlZ2luQ2h1bmsoZSl7cmV0dXJuIE1hdGguZmxvb3IoZS90aGlzLmNodW5rU2l6ZSl9Z2V0RW5kQ2h1bmsoZSl7cmV0dXJuIE1hdGguZmxvb3IoKGUtMSkvdGhpcy5jaHVua1NpemUpKzF9YWJvcnQoZSl7dGhpcy5hYm9ydGVkPSEwO3RoaXMucGRmTmV0d29ya1N0cmVhbT8uY2FuY2VsQWxsUmVxdWVzdHMoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcHJvbWlzZXNCeVJlcXVlc3QudmFsdWVzKCkpdC5yZWplY3QoZSl9fWNsYXNzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm5hbWU9ZTt0aGlzLm51bUNvbXBzPXR9Z2V0UmdiKGUsdCl7Y29uc3QgaT1uZXcgVWludDhDbGFtcGVkQXJyYXkoMyk7dGhpcy5nZXRSZ2JJdGVtKGUsdCxpLDApO3JldHVybiBpfWdldFJnYkl0ZW0oZSx0LGksYSl7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlLmdldFJnYkl0ZW0iKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlLmdldFJnYkJ1ZmZlciIpfWdldE91dHB1dExlbmd0aChlLHQpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgQ29sb3JTcGFjZS5nZXRPdXRwdXRMZW5ndGgiKX1pc1Bhc3N0aHJvdWdoKGUpe3JldHVybiExfWlzRGVmYXVsdERlY29kZShlLHQpe3JldHVybiBDb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZShlLHRoaXMubnVtQ29tcHMpfWZpbGxSZ2IoZSx0LGksYSxzLHIsbixnLG8pe2NvbnN0IGM9dCppO2xldCBDPW51bGw7Y29uc3QgaD0xPDxuLGw9aSE9PXN8fHQhPT1hO2lmKHRoaXMuaXNQYXNzdGhyb3VnaChuKSlDPWc7ZWxzZSBpZigxPT09dGhpcy5udW1Db21wcyYmYz5oJiYiRGV2aWNlR3JheSIhPT10aGlzLm5hbWUmJiJEZXZpY2VSR0IiIT09dGhpcy5uYW1lKXtjb25zdCB0PW48PTg/bmV3IFVpbnQ4QXJyYXkoaCk6bmV3IFVpbnQxNkFycmF5KGgpO2ZvcihsZXQgZT0wO2U8aDtlKyspdFtlXT1lO2NvbnN0IGk9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMqaCk7dGhpcy5nZXRSZ2JCdWZmZXIodCwwLGgsaSwwLG4sMCk7aWYobCl7Qz1uZXcgVWludDhBcnJheSgzKmMpO2xldCBlPTA7Zm9yKGxldCB0PTA7dDxjOysrdCl7Y29uc3QgYT0zKmdbdF07Q1tlKytdPWlbYV07Q1tlKytdPWlbYSsxXTtDW2UrK109aVthKzJdfX1lbHNle2xldCB0PTA7Zm9yKGxldCBhPTA7YTxjOysrYSl7Y29uc3Qgcz0zKmdbYV07ZVt0KytdPWlbc107ZVt0KytdPWlbcysxXTtlW3QrK109aVtzKzJdO3QrPW99fX1lbHNlIGlmKGwpe0M9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMqYyk7dGhpcy5nZXRSZ2JCdWZmZXIoZywwLGMsQywwLG4sMCl9ZWxzZSB0aGlzLmdldFJnYkJ1ZmZlcihnLDAsYSpyLGUsMCxuLG8pO2lmKEMpaWYobCkhZnVuY3Rpb24gcmVzaXplUmdiSW1hZ2UoZSx0LGksYSxzLHIsbil7bj0xIT09bj8wOm47Y29uc3QgZz1pL3Msbz1hL3I7bGV0IGMsQz0wO2NvbnN0IGg9bmV3IFVpbnQxNkFycmF5KHMpLGw9MyppO2ZvcihsZXQgZT0wO2U8cztlKyspaFtlXT0zKk1hdGguZmxvb3IoZSpnKTtmb3IobGV0IGk9MDtpPHI7aSsrKXtjb25zdCBhPU1hdGguZmxvb3IoaSpvKSpsO2ZvcihsZXQgaT0wO2k8cztpKyspe2M9YStoW2ldO3RbQysrXT1lW2MrK107dFtDKytdPWVbYysrXTt0W0MrK109ZVtjKytdO0MrPW59fX0oQyxlLHQsaSxhLHMsbyk7ZWxzZXtsZXQgdD0wLGk9MDtmb3IobGV0IHM9MCxuPWEqcjtzPG47cysrKXtlW3QrK109Q1tpKytdO2VbdCsrXT1DW2krK107ZVt0KytdPUNbaSsrXTt0Kz1vfX19Z2V0IHVzZXNaZXJvVG9PbmVSYW5nZSgpe3JldHVybiBzaGFkb3codGhpcywidXNlc1plcm9Ub09uZVJhbmdlIiwhMCl9c3RhdGljIF9jYWNoZShlLHQsaSxhKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuX2NhY2hlIC0gZXhwZWN0ZWQgImxvY2FsQ29sb3JTcGFjZUNhY2hlIiBhcmd1bWVudC4nKTtpZighYSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuX2NhY2hlIC0gZXhwZWN0ZWQgInBhcnNlZENvbG9yU3BhY2UiIGFyZ3VtZW50LicpO2xldCBzLHI7aWYoZSBpbnN0YW5jZW9mIFJlZil7cj1lO2U9dC5mZXRjaChlKX1lIGluc3RhbmNlb2YgTmFtZSYmKHM9ZS5uYW1lKTsoc3x8cikmJmkuc2V0KHMscixhKX1zdGF0aWMgZ2V0Q2FjaGVkKGUsdCxpKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuZ2V0Q2FjaGVkIC0gZXhwZWN0ZWQgImxvY2FsQ29sb3JTcGFjZUNhY2hlIiBhcmd1bWVudC4nKTtpZihlIGluc3RhbmNlb2YgUmVmKXtjb25zdCBhPWkuZ2V0QnlSZWYoZSk7aWYoYSlyZXR1cm4gYTt0cnl7ZT10LmZldGNoKGUpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlfX1pZihlIGluc3RhbmNlb2YgTmFtZSl7Y29uc3QgdD1pLmdldEJ5TmFtZShlLm5hbWUpO2lmKHQpcmV0dXJuIHR9cmV0dXJuIG51bGx9c3RhdGljIGFzeW5jIHBhcnNlQXN5bmMoe2NzOmUseHJlZjp0LHJlc291cmNlczppPW51bGwscGRmRnVuY3Rpb25GYWN0b3J5OmEsbG9jYWxDb2xvclNwYWNlQ2FjaGU6c30pe2NvbnN0IHI9dGhpcy5fcGFyc2UoZSx0LGksYSk7dGhpcy5fY2FjaGUoZSx0LHMscik7cmV0dXJuIHJ9c3RhdGljIHBhcnNlKHtjczplLHhyZWY6dCxyZXNvdXJjZXM6aT1udWxsLHBkZkZ1bmN0aW9uRmFjdG9yeTphLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnN9KXtjb25zdCByPXRoaXMuZ2V0Q2FjaGVkKGUsdCxzKTtpZihyKXJldHVybiByO2NvbnN0IG49dGhpcy5fcGFyc2UoZSx0LGksYSk7dGhpcy5fY2FjaGUoZSx0LHMsbik7cmV0dXJuIG59c3RhdGljIF9wYXJzZShlLHQsaT1udWxsLGEpe2lmKChlPXQuZmV0Y2hJZlJlZihlKSlpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJHIjpjYXNlIkRldmljZUdyYXkiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTtjYXNlIlJHQiI6Y2FzZSJEZXZpY2VSR0IiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMucmdiO2Nhc2UiRGV2aWNlUkdCQSI6cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5yZ2JhO2Nhc2UiQ01ZSyI6Y2FzZSJEZXZpY2VDTVlLIjpyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmNteWs7Y2FzZSJQYXR0ZXJuIjpyZXR1cm4gbmV3IFBhdHRlcm5DUyhudWxsKTtkZWZhdWx0OmlmKGkgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBzPWkuZ2V0KCJDb2xvclNwYWNlIik7aWYocyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHI9cy5nZXQoZS5uYW1lKTtpZihyKXtpZihyIGluc3RhbmNlb2YgTmFtZSlyZXR1cm4gdGhpcy5fcGFyc2Uocix0LGksYSk7ZT1yO2JyZWFrfX19d2FybihgVW5yZWNvZ25pemVkIENvbG9yU3BhY2U6ICR7ZS5uYW1lfWApO3JldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheX1pZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBzPXQuZmV0Y2hJZlJlZihlWzBdKS5uYW1lO2xldCByLG4sZyxvLGMsQztzd2l0Y2gocyl7Y2FzZSJHIjpjYXNlIkRldmljZUdyYXkiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTtjYXNlIlJHQiI6Y2FzZSJEZXZpY2VSR0IiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMucmdiO2Nhc2UiQ01ZSyI6Y2FzZSJEZXZpY2VDTVlLIjpyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmNteWs7Y2FzZSJDYWxHcmF5IjpyPXQuZmV0Y2hJZlJlZihlWzFdKTtvPXIuZ2V0QXJyYXkoIldoaXRlUG9pbnQiKTtjPXIuZ2V0QXJyYXkoIkJsYWNrUG9pbnQiKTtDPXIuZ2V0KCJHYW1tYSIpO3JldHVybiBuZXcgQ2FsR3JheUNTKG8sYyxDKTtjYXNlIkNhbFJHQiI6cj10LmZldGNoSWZSZWYoZVsxXSk7bz1yLmdldEFycmF5KCJXaGl0ZVBvaW50Iik7Yz1yLmdldEFycmF5KCJCbGFja1BvaW50Iik7Qz1yLmdldEFycmF5KCJHYW1tYSIpO2NvbnN0IGg9ci5nZXRBcnJheSgiTWF0cml4Iik7cmV0dXJuIG5ldyBDYWxSR0JDUyhvLGMsQyxoKTtjYXNlIklDQ0Jhc2VkIjpjb25zdCBsPXQuZmV0Y2hJZlJlZihlWzFdKS5kaWN0O249bC5nZXQoIk4iKTtjb25zdCBRPWwuZ2V0KCJBbHRlcm5hdGUiKTtpZihRKXtjb25zdCBlPXRoaXMuX3BhcnNlKFEsdCxpLGEpO2lmKGUubnVtQ29tcHM9PT1uKXJldHVybiBlO3dhcm4oIklDQ0Jhc2VkIGNvbG9yIHNwYWNlOiBJZ25vcmluZyBpbmNvcnJlY3QgL0FsdGVybmF0ZSBlbnRyeS4iKX1pZigxPT09bilyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmdyYXk7aWYoMz09PW4pcmV0dXJuIHRoaXMuc2luZ2xldG9ucy5yZ2I7aWYoND09PW4pcmV0dXJuIHRoaXMuc2luZ2xldG9ucy5jbXlrO2JyZWFrO2Nhc2UiUGF0dGVybiI6Zz1lWzFdfHxudWxsO2cmJihnPXRoaXMuX3BhcnNlKGcsdCxpLGEpKTtyZXR1cm4gbmV3IFBhdHRlcm5DUyhnKTtjYXNlIkkiOmNhc2UiSW5kZXhlZCI6Zz10aGlzLl9wYXJzZShlWzFdLHQsaSxhKTtjb25zdCBFPU1hdGgubWF4KDAsTWF0aC5taW4odC5mZXRjaElmUmVmKGVbMl0pLDI1NSkpLHU9dC5mZXRjaElmUmVmKGVbM10pO3JldHVybiBuZXcgSW5kZXhlZENTKGcsRSx1KTtjYXNlIlNlcGFyYXRpb24iOmNhc2UiRGV2aWNlTiI6Y29uc3QgZD10LmZldGNoSWZSZWYoZVsxXSk7bj1BcnJheS5pc0FycmF5KGQpP2QubGVuZ3RoOjE7Zz10aGlzLl9wYXJzZShlWzJdLHQsaSxhKTtjb25zdCBmPWEuY3JlYXRlKGVbM10pO3JldHVybiBuZXcgQWx0ZXJuYXRlQ1MobixnLGYpO2Nhc2UiTGFiIjpyPXQuZmV0Y2hJZlJlZihlWzFdKTtvPXIuZ2V0QXJyYXkoIldoaXRlUG9pbnQiKTtjPXIuZ2V0QXJyYXkoIkJsYWNrUG9pbnQiKTtjb25zdCBwPXIuZ2V0QXJyYXkoIlJhbmdlIik7cmV0dXJuIG5ldyBMYWJDUyhvLGMscCk7ZGVmYXVsdDp3YXJuKGBVbmltcGxlbWVudGVkIENvbG9yU3BhY2Ugb2JqZWN0OiAke3N9YCk7cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5ncmF5fX13YXJuKGBVbnJlY29nbml6ZWQgQ29sb3JTcGFjZSBvYmplY3Q6ICR7ZX1gKTtyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmdyYXl9c3RhdGljIGlzRGVmYXVsdERlY29kZShlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiEwO2lmKDIqdCE9PWUubGVuZ3RoKXt3YXJuKCJUaGUgZGVjb2RlIG1hcCBpcyBub3QgdGhlIGNvcnJlY3QgbGVuZ3RoIik7cmV0dXJuITB9Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCs9MilpZigwIT09ZVt0XXx8MSE9PWVbdCsxXSlyZXR1cm4hMTtyZXR1cm4hMH1zdGF0aWMgZ2V0IHNpbmdsZXRvbnMoKXtyZXR1cm4gc2hhZG93KHRoaXMsInNpbmdsZXRvbnMiLHtnZXQgZ3JheSgpe3JldHVybiBzaGFkb3codGhpcywiZ3JheSIsbmV3IERldmljZUdyYXlDUyl9LGdldCByZ2IoKXtyZXR1cm4gc2hhZG93KHRoaXMsInJnYiIsbmV3IERldmljZVJnYkNTKX0sZ2V0IHJnYmEoKXtyZXR1cm4gc2hhZG93KHRoaXMsInJnYmEiLG5ldyBEZXZpY2VSZ2JhQ1MpfSxnZXQgY215aygpe3JldHVybiBzaGFkb3codGhpcywiY215ayIsbmV3IERldmljZUNteWtDUyl9fSl9fWNsYXNzIEFsdGVybmF0ZUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoIkFsdGVybmF0ZSIsZSk7dGhpcy5iYXNlPXQ7dGhpcy50aW50Rm49aTt0aGlzLnRtcEJ1Zj1uZXcgRmxvYXQzMkFycmF5KHQubnVtQ29tcHMpfWdldFJnYkl0ZW0oZSx0LGksYSl7Y29uc3Qgcz10aGlzLnRtcEJ1Zjt0aGlzLnRpbnRGbihlLHQscywwKTt0aGlzLmJhc2UuZ2V0UmdiSXRlbShzLDAsaSxhKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz10aGlzLnRpbnRGbixvPXRoaXMuYmFzZSxjPTEvKCgxPDxyKS0xKSxDPW8ubnVtQ29tcHMsaD1vLnVzZXNaZXJvVG9PbmVSYW5nZSxsPShvLmlzUGFzc3Rocm91Z2goOCl8fCFoKSYmMD09PW47bGV0IFE9bD9zOjA7Y29uc3QgRT1sP2E6bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEMqaSksdT10aGlzLm51bUNvbXBzLGQ9bmV3IEZsb2F0MzJBcnJheSh1KSxmPW5ldyBGbG9hdDMyQXJyYXkoQyk7bGV0IHAsbTtmb3IocD0wO3A8aTtwKyspe2ZvcihtPTA7bTx1O20rKylkW21dPWVbdCsrXSpjO2coZCwwLGYsMCk7aWYoaClmb3IobT0wO208QzttKyspRVtRKytdPTI1NSpmW21dO2Vsc2V7by5nZXRSZ2JJdGVtKGYsMCxFLFEpO1ErPUN9fWx8fG8uZ2V0UmdiQnVmZmVyKEUsMCxpLGEscyw4LG4pfWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiB0aGlzLmJhc2UuZ2V0T3V0cHV0TGVuZ3RoKGUqdGhpcy5iYXNlLm51bUNvbXBzL3RoaXMubnVtQ29tcHMsdCl9fWNsYXNzIFBhdHRlcm5DUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSl7c3VwZXIoIlBhdHRlcm4iLG51bGwpO3RoaXMuYmFzZT1lfWlzRGVmYXVsdERlY29kZShlLHQpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgUGF0dGVybkNTLmlzRGVmYXVsdERlY29kZSIpfX1jbGFzcyBJbmRleGVkQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiSW5kZXhlZCIsMSk7dGhpcy5iYXNlPWU7Y29uc3QgYT1lLm51bUNvbXBzKih0KzEpO3RoaXMubG9va3VwPW5ldyBVaW50OEFycmF5KGEpO2lmKGkgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtjb25zdCBlPWkuZ2V0Qnl0ZXMoYSk7dGhpcy5sb29rdXAuc2V0KGUpfWVsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW5kZXhlZENTIC0gdW5yZWNvZ25pemVkIGxvb2t1cCB0YWJsZTogJHtpfWApO2ZvcihsZXQgZT0wO2U8YTsrK2UpdGhpcy5sb29rdXBbZV09MjU1JmkuY2hhckNvZGVBdChlKX19Z2V0UmdiSXRlbShlLHQsaSxhKXtjb25zdCBzPXRoaXMuYmFzZS5udW1Db21wcyxyPWVbdF0qczt0aGlzLmJhc2UuZ2V0UmdiQnVmZmVyKHRoaXMubG9va3VwLHIsMSxpLGEsOCwwKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz10aGlzLmJhc2Usbz1nLm51bUNvbXBzLGM9Zy5nZXRPdXRwdXRMZW5ndGgobyxuKSxDPXRoaXMubG9va3VwO2ZvcihsZXQgcj0wO3I8aTsrK3Ipe2NvbnN0IGk9ZVt0KytdKm87Zy5nZXRSZ2JCdWZmZXIoQyxpLDEsYSxzLDgsbik7cys9Y319Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIHRoaXMuYmFzZS5nZXRPdXRwdXRMZW5ndGgoZSp0aGlzLmJhc2UubnVtQ29tcHMsdCl9aXNEZWZhdWx0RGVjb2RlKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuITA7aWYoMiE9PWUubGVuZ3RoKXt3YXJuKCJEZWNvZGUgbWFwIGxlbmd0aCBpcyBub3QgY29ycmVjdCIpO3JldHVybiEwfWlmKCFOdW1iZXIuaXNJbnRlZ2VyKHQpfHx0PDEpe3dhcm4oIkJpdHMgcGVyIGNvbXBvbmVudCBpcyBub3QgY29ycmVjdCIpO3JldHVybiEwfXJldHVybiAwPT09ZVswXSYmZVsxXT09PSgxPDx0KS0xfX1jbGFzcyBEZXZpY2VHcmF5Q1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkRldmljZUdyYXkiLDEpfWdldFJnYkl0ZW0oZSx0LGksYSl7Y29uc3Qgcz0yNTUqZVt0XTtpW2FdPWlbYSsxXT1pW2ErMl09c31nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz0yNTUvKCgxPDxyKS0xKTtsZXQgbz10LGM9cztmb3IobGV0IHQ9MDt0PGk7Kyt0KXtjb25zdCB0PWcqZVtvKytdO2FbYysrXT10O2FbYysrXT10O2FbYysrXT10O2MrPW59fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlKigzK3QpfX1jbGFzcyBEZXZpY2VSZ2JDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoKXtzdXBlcigiRGV2aWNlUkdCIiwzKX1nZXRSZ2JJdGVtKGUsdCxpLGEpe2lbYV09MjU1KmVbdF07aVthKzFdPTI1NSplW3QrMV07aVthKzJdPTI1NSplW3QrMl19Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2lmKDg9PT1yJiYwPT09bil7YS5zZXQoZS5zdWJhcnJheSh0LHQrMyppKSxzKTtyZXR1cm59Y29uc3QgZz0yNTUvKCgxPDxyKS0xKTtsZXQgbz10LGM9cztmb3IobGV0IHQ9MDt0PGk7Kyt0KXthW2MrK109ZyplW28rK107YVtjKytdPWcqZVtvKytdO2FbYysrXT1nKmVbbysrXTtjKz1ufX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KS8zfDB9aXNQYXNzdGhyb3VnaChlKXtyZXR1cm4gOD09PWV9fWNsYXNzIERldmljZVJnYmFDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoKXtzdXBlcigiRGV2aWNlUkdCQSIsNCl9Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIDQqZX1pc1Bhc3N0aHJvdWdoKGUpe3JldHVybiA4PT09ZX1maWxsUmdiKGUsdCxpLGEscyxyLG4sZyxvKXtpIT09c3x8dCE9PWE/ZnVuY3Rpb24gcmVzaXplUmdiYUltYWdlKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9aS9zLG89YS9yO2xldCBjPTA7Y29uc3QgQz1uZXcgVWludDE2QXJyYXkocyk7aWYoMT09PW4pe2ZvcihsZXQgZT0wO2U8cztlKyspQ1tlXT1NYXRoLmZsb29yKGUqZyk7Y29uc3QgYT1uZXcgVWludDMyQXJyYXkoZS5idWZmZXIpLG49bmV3IFVpbnQzMkFycmF5KHQuYnVmZmVyKSxoPUZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuPzE2Nzc3MjE1OjQyOTQ5NjcwNDA7Zm9yKGxldCBlPTA7ZTxyO2UrKyl7Y29uc3QgdD1hLnN1YmFycmF5KE1hdGguZmxvb3IoZSpvKSppKTtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bYysrXXw9dFtDW2VdXSZofX1lbHNle2NvbnN0IGE9NCxuPWkqYTtmb3IobGV0IGU9MDtlPHM7ZSsrKUNbZV09TWF0aC5mbG9vcihlKmcpKmE7Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3QgYT1lLnN1YmFycmF5KE1hdGguZmxvb3IoaSpvKSpuKTtmb3IobGV0IGU9MDtlPHM7ZSsrKXtjb25zdCBpPUNbZV07dFtjKytdPWFbaV07dFtjKytdPWFbaSsxXTt0W2MrK109YVtpKzJdfX19fShnLGUsdCxpLGEscyxvKTpmdW5jdGlvbiBjb3B5UmdiYUltYWdlKGUsdCxpKXtpZigxPT09aSl7Y29uc3QgaT1uZXcgVWludDMyQXJyYXkoZS5idWZmZXIpLGE9bmV3IFVpbnQzMkFycmF5KHQuYnVmZmVyKSxzPUZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuPzE2Nzc3MjE1OjQyOTQ5NjcwNDA7Zm9yKGxldCBlPTAsdD1pLmxlbmd0aDtlPHQ7ZSsrKWFbZV18PWlbZV0mc31lbHNle2xldCBpPTA7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSs9NCl7dFtpKytdPWVbYV07dFtpKytdPWVbYSsxXTt0W2krK109ZVthKzJdfX19KGcsZSxvKX19Y2xhc3MgRGV2aWNlQ215a0NTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCJEZXZpY2VDTVlLIiw0KX0jdChlLHQsaSxhLHMpe2NvbnN0IHI9ZVt0XSppLG49ZVt0KzFdKmksZz1lW3QrMl0qaSxvPWVbdCszXSppO2Fbc109MjU1K3IqKC00LjM4NzMzMjM4NDYwOTk4OCpyKzU0LjQ4NjE1MTk0MTg5MTc2Km4rMTguODIyOTA1MDIxNjUzMDIqZysyMTIuMjU2NjI0NTE2Mzk1ODUqby0yODUuMjMzMTAyNjEzNzAwNCkrbiooMS43MTQ5NzYzNDc3MzYyMTM0Km4tNS42MDk2NzM2OTA0MDQ3MzE1KmcrLTE3Ljg3Mzg3MDg2MTQxNTQ0NCpvLTUuNDk3MDA2NDI3MTk2MzY2KStnKigtMi41MjE3MzQwMTMxNjgzMDMzKmctMjEuMjQ4OTIzMzM3MzUzMDczKm8rMTcuNTExOTI3MDg0MTgxMykrbyooLTIxLjg2MTIyMTQ3NDYzNjA1Km8tMTg5LjQ4MTgwODM1OTIyNzQ3KTthW3MrMV09MjU1K3IqKDguODQxMDQxNDIyMDM2MTQ5KnIrNjAuMTE4MDI3MDQ1NTk3MzY2Km4rNi44NzE0MjU1OTIwNDkwMDcqZyszMS4xNTkxMDAxMzAwNTU5MjIqby03OS4yOTcwODQ0ODE2NTQ4KStuKigtMTUuMzEwMzYxMzA2OTY3ODE3Km4rMTcuNTc1MjUxMjYxMTA5NDgyKmcrMTMxLjM1MjUwOTEyNDkzOTc2Km8tMTkwLjk0NTMzMDI1ODg5NTEpK2cqKDQuNDQ0MzM5MTAyODUyNzM5KmcrOS44NjMyODYxNDkzNDA1Km8tMjQuODY3NDE1ODI1NTU4NzgpK28qKC0yMC43MzczMjU0NzExODEwMzQqby0xODcuODA0NTM3MDk3MTk1NzgpO2FbcysyXT0yNTUrciooLjg4NDI1MjI0MzAwMDMyOTYqcis4LjA3ODY3NzUwMzExMjkyOCpuKzMwLjg5OTc4MzA5NzAzNzI5KmctLjIzODgzMjM4Njg5MTc4OTM0Km8tMTQuMTgzNTc2Nzk5NjczMjg2KStuKigxMC40OTU5MzI3MzQzMjA3MipuKzYzLjAyMzc4NDk0NzU0MDUyKmcrNTAuNjA2OTU3NjU2MzYwNzM0Km8tMTEyLjIzODg0MjUzNzE5MjQ4KStnKiguMDMyOTYwNDExMTQ4NzMyMTcqZysxMTUuNjAzODQ0NDk2NDY2NDEqby0xOTMuNTgyMDkzNTY4NjE1MDUpK28qKC0yMi4zMzgxNjgwNzMwOTg4NipvLTE4MC4xMjYxMzk3NDcwODM2Nyl9Z2V0UmdiSXRlbShlLHQsaSxhKXt0aGlzLiN0KGUsdCwxLGksYSl9Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9MS8oKDE8PHIpLTEpO2ZvcihsZXQgcj0wO3I8aTtyKyspe3RoaXMuI3QoZSx0LGcsYSxzKTt0Kz00O3MrPTMrbn19Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUvNCooMyt0KXwwfX1jbGFzcyBDYWxHcmF5Q1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiQ2FsR3JheSIsMSk7aWYoIWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJXaGl0ZVBvaW50IG1pc3NpbmcgLSByZXF1aXJlZCBmb3IgY29sb3Igc3BhY2UgQ2FsR3JheSIpO1t0aGlzLlhXLHRoaXMuWVcsdGhpcy5aV109ZTtbdGhpcy5YQix0aGlzLllCLHRoaXMuWkJdPXR8fFswLDAsMF07dGhpcy5HPWl8fDE7aWYodGhpcy5YVzwwfHx0aGlzLlpXPDB8fDEhPT10aGlzLllXKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMgZm9yICR7dGhpcy5uYW1lfSwgbm8gZmFsbGJhY2sgYXZhaWxhYmxlYCk7aWYodGhpcy5YQjwwfHx0aGlzLllCPDB8fHRoaXMuWkI8MCl7aW5mbyhgSW52YWxpZCBCbGFja1BvaW50IGZvciAke3RoaXMubmFtZX0sIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0LmApO3RoaXMuWEI9dGhpcy5ZQj10aGlzLlpCPTB9MD09PXRoaXMuWEImJjA9PT10aGlzLllCJiYwPT09dGhpcy5aQnx8d2FybihgJHt0aGlzLm5hbWV9LCBCbGFja1BvaW50OiBYQjogJHt0aGlzLlhCfSwgWUI6ICR7dGhpcy5ZQn0sIFpCOiAke3RoaXMuWkJ9LCBvbmx5IGRlZmF1bHQgdmFsdWVzIGFyZSBzdXBwb3J0ZWQuYCk7aWYodGhpcy5HPDEpe2luZm8oYEludmFsaWQgR2FtbWE6ICR7dGhpcy5HfSBmb3IgJHt0aGlzLm5hbWV9LCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdC5gKTt0aGlzLkc9MX19I3QoZSx0LGksYSxzKXtjb25zdCByPShlW3RdKnMpKip0aGlzLkcsbj10aGlzLllXKnIsZz1NYXRoLm1heCgyOTUuOCpuKiouMzMzMzMzMzMzMzMzMzMzMy00MC44LDApO2lbYV09ZztpW2ErMV09ZztpW2ErMl09Z31nZXRSZ2JJdGVtKGUsdCxpLGEpe3RoaXMuI3QoZSx0LGksYSwxKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz0xLygoMTw8ciktMSk7Zm9yKGxldCByPTA7cjxpOysrcil7dGhpcy4jdChlLHQsYSxzLGcpO3QrPTE7cys9MytufX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KX19Y2xhc3MgQ2FsUkdCQ1MgZXh0ZW5kcyBDb2xvclNwYWNle3N0YXRpYyNpPW5ldyBGbG9hdDMyQXJyYXkoWy44OTUxLC4yNjY0LC0uMTYxNCwtLjc1MDIsMS43MTM1LC4wMzY3LC4wMzg5LC0uMDY4NSwxLjAyOTZdKTtzdGF0aWMjYT1uZXcgRmxvYXQzMkFycmF5KFsuOTg2OTkyOSwtLjE0NzA1NDMsLjE1OTk2MjcsLjQzMjMwNTMsLjUxODM2MDMsLjA0OTI5MTIsLS4wMDg1Mjg3LC4wNDAwNDI4LC45Njg0ODY3XSk7c3RhdGljI3M9bmV3IEZsb2F0MzJBcnJheShbMy4yNDA0NTQyLC0xLjUzNzEzODUsLS40OTg1MzE0LC0uOTY5MjY2LDEuODc2MDEwOCwuMDQxNTU2LC4wNTU2NDM0LC0uMjA0MDI1OSwxLjA1NzIyNTJdKTtzdGF0aWMjcj1uZXcgRmxvYXQzMkFycmF5KFsxLDEsMV0pO3N0YXRpYyNuPW5ldyBGbG9hdDMyQXJyYXkoMyk7c3RhdGljI2c9bmV3IEZsb2F0MzJBcnJheSgzKTtzdGF0aWMjbz1uZXcgRmxvYXQzMkFycmF5KDMpO3N0YXRpYyNJPSgyNC8xMTYpKiozLzg7Y29uc3RydWN0b3IoZSx0LGksYSl7c3VwZXIoIkNhbFJHQiIsMyk7aWYoIWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJXaGl0ZVBvaW50IG1pc3NpbmcgLSByZXF1aXJlZCBmb3IgY29sb3Igc3BhY2UgQ2FsUkdCIik7Y29uc3RbcyxyLG5dPXRoaXMud2hpdGVQb2ludD1lLFtnLG8sY109dGhpcy5ibGFja1BvaW50PXR8fG5ldyBGbG9hdDMyQXJyYXkoMyk7W3RoaXMuR1IsdGhpcy5HRyx0aGlzLkdCXT1pfHxuZXcgRmxvYXQzMkFycmF5KFsxLDEsMV0pO1t0aGlzLk1YQSx0aGlzLk1ZQSx0aGlzLk1aQSx0aGlzLk1YQix0aGlzLk1ZQix0aGlzLk1aQix0aGlzLk1YQyx0aGlzLk1ZQyx0aGlzLk1aQ109YXx8bmV3IEZsb2F0MzJBcnJheShbMSwwLDAsMCwxLDAsMCwwLDFdKTtpZihzPDB8fG48MHx8MSE9PXIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIFdoaXRlUG9pbnQgY29tcG9uZW50cyBmb3IgJHt0aGlzLm5hbWV9LCBubyBmYWxsYmFjayBhdmFpbGFibGVgKTtpZihnPDB8fG88MHx8YzwwKXtpbmZvKGBJbnZhbGlkIEJsYWNrUG9pbnQgZm9yICR7dGhpcy5uYW1lfSBbJHtnfSwgJHtvfSwgJHtjfV0sIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0LmApO3RoaXMuYmxhY2tQb2ludD1uZXcgRmxvYXQzMkFycmF5KDMpfWlmKHRoaXMuR1I8MHx8dGhpcy5HRzwwfHx0aGlzLkdCPDApe2luZm8oYEludmFsaWQgR2FtbWEgWyR7dGhpcy5HUn0sICR7dGhpcy5HR30sICR7dGhpcy5HQn1dIGZvciAke3RoaXMubmFtZX0sIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0LmApO3RoaXMuR1I9dGhpcy5HRz10aGlzLkdCPTF9fSNjKGUsdCxpKXtpWzBdPWVbMF0qdFswXStlWzFdKnRbMV0rZVsyXSp0WzJdO2lbMV09ZVszXSp0WzBdK2VbNF0qdFsxXStlWzVdKnRbMl07aVsyXT1lWzZdKnRbMF0rZVs3XSp0WzFdK2VbOF0qdFsyXX0jQyhlLHQsaSl7aVswXT0xKnRbMF0vZVswXTtpWzFdPTEqdFsxXS9lWzFdO2lbMl09MSp0WzJdL2VbMl19I2goZSx0LGkpe2lbMF09Ljk1MDQ3KnRbMF0vZVswXTtpWzFdPTEqdFsxXS9lWzFdO2lbMl09MS4wODg4Myp0WzJdL2VbMl19I2woZSl7cmV0dXJuIGU8PS4wMDMxMzA4P3RoaXMuI0IoMCwxLDEyLjkyKmUpOmU+PS45OTU1NDUyNT8xOnRoaXMuI0IoMCwxLDEuMDU1KmUqKigxLzIuNCktLjA1NSl9I0IoZSx0LGkpe3JldHVybiBNYXRoLm1heChlLE1hdGgubWluKHQsaSkpfSNRKGUpe3JldHVybiBlPDA/LXRoaXMuI1EoLWUpOmU+OD8oKGUrMTYpLzExNikqKjM6ZSpDYWxSR0JDUy4jSX0jRShlLHQsaSl7aWYoMD09PWVbMF0mJjA9PT1lWzFdJiYwPT09ZVsyXSl7aVswXT10WzBdO2lbMV09dFsxXTtpWzJdPXRbMl07cmV0dXJufWNvbnN0IGE9dGhpcy4jUSgwKSxzPSgxLWEpLygxLXRoaXMuI1EoZVswXSkpLHI9MS1zLG49KDEtYSkvKDEtdGhpcy4jUShlWzFdKSksZz0xLW4sbz0oMS1hKS8oMS10aGlzLiNRKGVbMl0pKSxjPTEtbztpWzBdPXRbMF0qcytyO2lbMV09dFsxXSpuK2c7aVsyXT10WzJdKm8rY30jdShlLHQsaSl7aWYoMT09PWVbMF0mJjE9PT1lWzJdKXtpWzBdPXRbMF07aVsxXT10WzFdO2lbMl09dFsyXTtyZXR1cm59Y29uc3QgYT1pO3RoaXMuI2MoQ2FsUkdCQ1MuI2ksdCxhKTtjb25zdCBzPUNhbFJHQkNTLiNuO3RoaXMuI0MoZSxhLHMpO3RoaXMuI2MoQ2FsUkdCQ1MuI2EscyxpKX0jZChlLHQsaSl7Y29uc3QgYT1pO3RoaXMuI2MoQ2FsUkdCQ1MuI2ksdCxhKTtjb25zdCBzPUNhbFJHQkNTLiNuO3RoaXMuI2goZSxhLHMpO3RoaXMuI2MoQ2FsUkdCQ1MuI2EscyxpKX0jdChlLHQsaSxhLHMpe2NvbnN0IHI9dGhpcy4jQigwLDEsZVt0XSpzKSxuPXRoaXMuI0IoMCwxLGVbdCsxXSpzKSxnPXRoaXMuI0IoMCwxLGVbdCsyXSpzKSxvPTE9PT1yPzE6cioqdGhpcy5HUixjPTE9PT1uPzE6bioqdGhpcy5HRyxDPTE9PT1nPzE6ZyoqdGhpcy5HQixoPXRoaXMuTVhBKm8rdGhpcy5NWEIqYyt0aGlzLk1YQypDLGw9dGhpcy5NWUEqbyt0aGlzLk1ZQipjK3RoaXMuTVlDKkMsUT10aGlzLk1aQSpvK3RoaXMuTVpCKmMrdGhpcy5NWkMqQyxFPUNhbFJHQkNTLiNnO0VbMF09aDtFWzFdPWw7RVsyXT1RO2NvbnN0IHU9Q2FsUkdCQ1MuI287dGhpcy4jdSh0aGlzLndoaXRlUG9pbnQsRSx1KTtjb25zdCBkPUNhbFJHQkNTLiNnO3RoaXMuI0UodGhpcy5ibGFja1BvaW50LHUsZCk7Y29uc3QgZj1DYWxSR0JDUy4jbzt0aGlzLiNkKENhbFJHQkNTLiNyLGQsZik7Y29uc3QgcD1DYWxSR0JDUy4jZzt0aGlzLiNjKENhbFJHQkNTLiNzLGYscCk7aVthXT0yNTUqdGhpcy4jbChwWzBdKTtpW2ErMV09MjU1KnRoaXMuI2wocFsxXSk7aVthKzJdPTI1NSp0aGlzLiNsKHBbMl0pfWdldFJnYkl0ZW0oZSx0LGksYSl7dGhpcy4jdChlLHQsaSxhLDEpfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtjb25zdCBnPTEvKCgxPDxyKS0xKTtmb3IobGV0IHI9MDtyPGk7KytyKXt0aGlzLiN0KGUsdCxhLHMsZyk7dCs9MztzKz0zK259fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlKigzK3QpLzN8MH19Y2xhc3MgTGFiQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiTGFiIiwzKTtpZighZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIldoaXRlUG9pbnQgbWlzc2luZyAtIHJlcXVpcmVkIGZvciBjb2xvciBzcGFjZSBMYWIiKTtbdGhpcy5YVyx0aGlzLllXLHRoaXMuWlddPWU7W3RoaXMuYW1pbix0aGlzLmFtYXgsdGhpcy5ibWluLHRoaXMuYm1heF09aXx8Wy0xMDAsMTAwLC0xMDAsMTAwXTtbdGhpcy5YQix0aGlzLllCLHRoaXMuWkJdPXR8fFswLDAsMF07aWYodGhpcy5YVzwwfHx0aGlzLlpXPDB8fDEhPT10aGlzLllXKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMsIG5vIGZhbGxiYWNrIGF2YWlsYWJsZSIpO2lmKHRoaXMuWEI8MHx8dGhpcy5ZQjwwfHx0aGlzLlpCPDApe2luZm8oIkludmFsaWQgQmxhY2tQb2ludCwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQiKTt0aGlzLlhCPXRoaXMuWUI9dGhpcy5aQj0wfWlmKHRoaXMuYW1pbj50aGlzLmFtYXh8fHRoaXMuYm1pbj50aGlzLmJtYXgpe2luZm8oIkludmFsaWQgUmFuZ2UsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0cyIpO3RoaXMuYW1pbj0tMTAwO3RoaXMuYW1heD0xMDA7dGhpcy5ibWluPS0xMDA7dGhpcy5ibWF4PTEwMH19I2YoZSl7cmV0dXJuIGU+PTYvMjk/ZSoqMzoxMDgvODQxKihlLTQvMjkpfSNwKGUsdCxpLGEpe3JldHVybiBpK2UqKGEtaSkvdH0jdChlLHQsaSxhLHMpe2xldCByPWVbdF0sbj1lW3QrMV0sZz1lW3QrMl07aWYoITEhPT1pKXtyPXRoaXMuI3AocixpLDAsMTAwKTtuPXRoaXMuI3AobixpLHRoaXMuYW1pbix0aGlzLmFtYXgpO2c9dGhpcy4jcChnLGksdGhpcy5ibWluLHRoaXMuYm1heCl9bj50aGlzLmFtYXg/bj10aGlzLmFtYXg6bjx0aGlzLmFtaW4mJihuPXRoaXMuYW1pbik7Zz50aGlzLmJtYXg/Zz10aGlzLmJtYXg6Zzx0aGlzLmJtaW4mJihnPXRoaXMuYm1pbik7Y29uc3Qgbz0ocisxNikvMTE2LGM9bytuLzUwMCxDPW8tZy8yMDAsaD10aGlzLlhXKnRoaXMuI2YoYyksbD10aGlzLllXKnRoaXMuI2YobyksUT10aGlzLlpXKnRoaXMuI2YoQyk7bGV0IEUsdSxkO2lmKHRoaXMuWlc8MSl7RT0zLjEzMzkqaCstMS42MTcqbCstLjQ5MDYqUTt1PS0uOTc4NSpoKzEuOTE2KmwrLjAzMzMqUTtkPS4wNzIqaCstLjIyOSpsKzEuNDA1NypRfWVsc2V7RT0zLjI0MDYqaCstMS41MzcyKmwrLS40OTg2KlE7dT0tLjk2ODkqaCsxLjg3NTgqbCsuMDQxNSpRO2Q9LjA1NTcqaCstLjIwNCpsKzEuMDU3KlF9YVtzXT0yNTUqTWF0aC5zcXJ0KEUpO2FbcysxXT0yNTUqTWF0aC5zcXJ0KHUpO2FbcysyXT0yNTUqTWF0aC5zcXJ0KGQpfWdldFJnYkl0ZW0oZSx0LGksYSl7dGhpcy4jdChlLHQsITEsaSxhKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz0oMTw8ciktMTtmb3IobGV0IHI9MDtyPGk7cisrKXt0aGlzLiN0KGUsdCxnLGEscyk7dCs9MztzKz0zK259fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlKigzK3QpLzN8MH1pc0RlZmF1bHREZWNvZGUoZSx0KXtyZXR1cm4hMH1nZXQgdXNlc1plcm9Ub09uZVJhbmdlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJ1c2VzWmVyb1RvT25lUmFuZ2UiLCExKX19ZnVuY3Rpb24gaGV4VG9JbnQoZSx0KXtsZXQgaT0wO2ZvcihsZXQgYT0wO2E8PXQ7YSsrKWk9aTw8OHxlW2FdO3JldHVybiBpPj4+MH1mdW5jdGlvbiBoZXhUb1N0cihlLHQpe3JldHVybiAxPT09dD9TdHJpbmcuZnJvbUNoYXJDb2RlKGVbMF0sZVsxXSk6Mz09PXQ/U3RyaW5nLmZyb21DaGFyQ29kZShlWzBdLGVbMV0sZVsyXSxlWzNdKTpTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmUuc3ViYXJyYXkoMCx0KzEpKX1mdW5jdGlvbiBhZGRIZXgoZSx0LGkpe2xldCBhPTA7Zm9yKGxldCBzPWk7cz49MDtzLS0pe2ErPWVbc10rdFtzXTtlW3NdPTI1NSZhO2E+Pj04fX1mdW5jdGlvbiBpbmNIZXgoZSx0KXtsZXQgaT0xO2ZvcihsZXQgYT10O2E+PTAmJmk+MDthLS0pe2krPWVbYV07ZVthXT0yNTUmaTtpPj49OH19Y29uc3QgeHQ9MTY7Y2xhc3MgQmluYXJ5Q01hcFN0cmVhbXtjb25zdHJ1Y3RvcihlKXt0aGlzLmJ1ZmZlcj1lO3RoaXMucG9zPTA7dGhpcy5lbmQ9ZS5sZW5ndGg7dGhpcy50bXBCdWY9bmV3IFVpbnQ4QXJyYXkoMTkpfXJlYWRCeXRlKCl7cmV0dXJuIHRoaXMucG9zPj10aGlzLmVuZD8tMTp0aGlzLmJ1ZmZlclt0aGlzLnBvcysrXX1yZWFkTnVtYmVyKCl7bGV0IGUsdD0wO2Rve2NvbnN0IGk9dGhpcy5yZWFkQnl0ZSgpO2lmKGk8MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInVuZXhwZWN0ZWQgRU9GIGluIGJjbWFwIik7ZT0hKDEyOCZpKTt0PXQ8PDd8MTI3Jml9d2hpbGUoIWUpO3JldHVybiB0fXJlYWRTaWduZWQoKXtjb25zdCBlPXRoaXMucmVhZE51bWJlcigpO3JldHVybiAxJmU/fihlPj4+MSk6ZT4+PjF9cmVhZEhleChlLHQpe2Uuc2V0KHRoaXMuYnVmZmVyLnN1YmFycmF5KHRoaXMucG9zLHRoaXMucG9zK3QrMSkpO3RoaXMucG9zKz10KzF9cmVhZEhleE51bWJlcihlLHQpe2xldCBpO2NvbnN0IGE9dGhpcy50bXBCdWY7bGV0IHM9MDtkb3tjb25zdCBlPXRoaXMucmVhZEJ5dGUoKTtpZihlPDApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ1bmV4cGVjdGVkIEVPRiBpbiBiY21hcCIpO2k9ISgxMjgmZSk7YVtzKytdPTEyNyZlfXdoaWxlKCFpKTtsZXQgcj10LG49MCxnPTA7Zm9yKDtyPj0wOyl7Zm9yKDtnPDgmJmEubGVuZ3RoPjA7KXtufD1hWy0tc108PGc7Zys9N31lW3JdPTI1NSZuO3ItLTtuPj49ODtnLT04fX1yZWFkSGV4U2lnbmVkKGUsdCl7dGhpcy5yZWFkSGV4TnVtYmVyKGUsdCk7Y29uc3QgaT0xJmVbdF0/MjU1OjA7bGV0IGE9MDtmb3IobGV0IHM9MDtzPD10O3MrKyl7YT0oMSZhKTw8OHxlW3NdO2Vbc109YT4+MV5pfX1yZWFkU3RyaW5nKCl7Y29uc3QgZT10aGlzLnJlYWROdW1iZXIoKSx0PW5ldyBBcnJheShlKTtmb3IobGV0IGk9MDtpPGU7aSsrKXRbaV09dGhpcy5yZWFkTnVtYmVyKCk7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoLi4udCl9fWNsYXNzIEJpbmFyeUNNYXBSZWFkZXJ7YXN5bmMgcHJvY2VzcyhlLHQsaSl7Y29uc3QgYT1uZXcgQmluYXJ5Q01hcFN0cmVhbShlKSxzPWEucmVhZEJ5dGUoKTt0LnZlcnRpY2FsPSEhKDEmcyk7bGV0IHI9bnVsbDtjb25zdCBuPW5ldyBVaW50OEFycmF5KHh0KSxnPW5ldyBVaW50OEFycmF5KHh0KSxvPW5ldyBVaW50OEFycmF5KHh0KSxjPW5ldyBVaW50OEFycmF5KHh0KSxDPW5ldyBVaW50OEFycmF5KHh0KTtsZXQgaCxsO2Zvcig7KGw9YS5yZWFkQnl0ZSgpKT49MDspe2NvbnN0IGU9bD4+NTtpZig3PT09ZSl7c3dpdGNoKDMxJmwpe2Nhc2UgMDphLnJlYWRTdHJpbmcoKTticmVhaztjYXNlIDE6cj1hLnJlYWRTdHJpbmcoKX1jb250aW51ZX1jb25zdCBpPSEhKDE2JmwpLHM9MTUmbDtpZihzKzE+eHQpdGhyb3cgbmV3IEVycm9yKCJCaW5hcnlDTWFwUmVhZGVyLnByb2Nlc3M6IEludmFsaWQgZGF0YVNpemUuIik7Y29uc3QgUT0xLEU9YS5yZWFkTnVtYmVyKCk7c3dpdGNoKGUpe2Nhc2UgMDphLnJlYWRIZXgobixzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO3QuYWRkQ29kZXNwYWNlUmFuZ2UocysxLGhleFRvSW50KG4scyksaGV4VG9JbnQoZyxzKSk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KGcscyk7YS5yZWFkSGV4TnVtYmVyKG4scyk7YWRkSGV4KG4sZyxzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO3QuYWRkQ29kZXNwYWNlUmFuZ2UocysxLGhleFRvSW50KG4scyksaGV4VG9JbnQoZyxzKSl9YnJlYWs7Y2FzZSAxOmEucmVhZEhleChuLHMpO2EucmVhZEhleE51bWJlcihnLHMpO2FkZEhleChnLG4scyk7YS5yZWFkTnVtYmVyKCk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KGcscyk7YS5yZWFkSGV4TnVtYmVyKG4scyk7YWRkSGV4KG4sZyxzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO2EucmVhZE51bWJlcigpfWJyZWFrO2Nhc2UgMjphLnJlYWRIZXgobyxzKTtoPWEucmVhZE51bWJlcigpO3QubWFwT25lKGhleFRvSW50KG8scyksaCk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KG8scyk7aWYoIWkpe2EucmVhZEhleE51bWJlcihDLHMpO2FkZEhleChvLEMscyl9aD1hLnJlYWRTaWduZWQoKSsoaCsxKTt0Lm1hcE9uZShoZXhUb0ludChvLHMpLGgpfWJyZWFrO2Nhc2UgMzphLnJlYWRIZXgobixzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO2g9YS5yZWFkTnVtYmVyKCk7dC5tYXBDaWRSYW5nZShoZXhUb0ludChuLHMpLGhleFRvSW50KGcscyksaCk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KGcscyk7aWYoaSluLnNldChnKTtlbHNle2EucmVhZEhleE51bWJlcihuLHMpO2FkZEhleChuLGcscyl9YS5yZWFkSGV4TnVtYmVyKGcscyk7YWRkSGV4KGcsbixzKTtoPWEucmVhZE51bWJlcigpO3QubWFwQ2lkUmFuZ2UoaGV4VG9JbnQobixzKSxoZXhUb0ludChnLHMpLGgpfWJyZWFrO2Nhc2UgNDphLnJlYWRIZXgobyxRKTthLnJlYWRIZXgoYyxzKTt0Lm1hcE9uZShoZXhUb0ludChvLFEpLGhleFRvU3RyKGMscykpO2ZvcihsZXQgZT0xO2U8RTtlKyspe2luY0hleChvLFEpO2lmKCFpKXthLnJlYWRIZXhOdW1iZXIoQyxRKTthZGRIZXgobyxDLFEpfWluY0hleChjLHMpO2EucmVhZEhleFNpZ25lZChDLHMpO2FkZEhleChjLEMscyk7dC5tYXBPbmUoaGV4VG9JbnQobyxRKSxoZXhUb1N0cihjLHMpKX1icmVhaztjYXNlIDU6YS5yZWFkSGV4KG4sUSk7YS5yZWFkSGV4TnVtYmVyKGcsUSk7YWRkSGV4KGcsbixRKTthLnJlYWRIZXgoYyxzKTt0Lm1hcEJmUmFuZ2UoaGV4VG9JbnQobixRKSxoZXhUb0ludChnLFEpLGhleFRvU3RyKGMscykpO2ZvcihsZXQgZT0xO2U8RTtlKyspe2luY0hleChnLFEpO2lmKGkpbi5zZXQoZyk7ZWxzZXthLnJlYWRIZXhOdW1iZXIobixRKTthZGRIZXgobixnLFEpfWEucmVhZEhleE51bWJlcihnLFEpO2FkZEhleChnLG4sUSk7YS5yZWFkSGV4KGMscyk7dC5tYXBCZlJhbmdlKGhleFRvSW50KG4sUSksaGV4VG9JbnQoZyxRKSxoZXhUb1N0cihjLHMpKX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgQmluYXJ5Q01hcFJlYWRlci5wcm9jZXNzIC0gdW5rbm93biB0eXBlOiAke2V9YCl9fXJldHVybiByP2kocik6dH19Y29uc3QgVXQ9bmV3IFVpbnQ4QXJyYXkoMCk7Y2xhc3MgRGVjb2RlU3RyZWFtIGV4dGVuZHMgQmFzZVN0cmVhbXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpO3RoaXMuX3Jhd01pbkJ1ZmZlckxlbmd0aD1lfHwwO3RoaXMucG9zPTA7dGhpcy5idWZmZXJMZW5ndGg9MDt0aGlzLmVvZj0hMTt0aGlzLmJ1ZmZlcj1VdDt0aGlzLm1pbkJ1ZmZlckxlbmd0aD01MTI7aWYoZSlmb3IoO3RoaXMubWluQnVmZmVyTGVuZ3RoPGU7KXRoaXMubWluQnVmZmVyTGVuZ3RoKj0yfWdldCBpc0VtcHR5KCl7Zm9yKDshdGhpcy5lb2YmJjA9PT10aGlzLmJ1ZmZlckxlbmd0aDspdGhpcy5yZWFkQmxvY2soKTtyZXR1cm4gMD09PXRoaXMuYnVmZmVyTGVuZ3RofWVuc3VyZUJ1ZmZlcihlKXtjb25zdCB0PXRoaXMuYnVmZmVyO2lmKGU8PXQuYnl0ZUxlbmd0aClyZXR1cm4gdDtsZXQgaT10aGlzLm1pbkJ1ZmZlckxlbmd0aDtmb3IoO2k8ZTspaSo9Mjtjb25zdCBhPW5ldyBVaW50OEFycmF5KGkpO2Euc2V0KHQpO3JldHVybiB0aGlzLmJ1ZmZlcj1hfWdldEJ5dGUoKXtjb25zdCBlPXRoaXMucG9zO2Zvcig7dGhpcy5idWZmZXJMZW5ndGg8PWU7KXtpZih0aGlzLmVvZilyZXR1cm4tMTt0aGlzLnJlYWRCbG9jaygpfXJldHVybiB0aGlzLmJ1ZmZlclt0aGlzLnBvcysrXX1nZXRCeXRlcyhlLHQ9bnVsbCl7Y29uc3QgaT10aGlzLnBvcztsZXQgYTtpZihlKXt0aGlzLmVuc3VyZUJ1ZmZlcihpK2UpO2E9aStlO2Zvcig7IXRoaXMuZW9mJiZ0aGlzLmJ1ZmZlckxlbmd0aDxhOyl0aGlzLnJlYWRCbG9jayh0KTtjb25zdCBzPXRoaXMuYnVmZmVyTGVuZ3RoO2E+cyYmKGE9cyl9ZWxzZXtmb3IoOyF0aGlzLmVvZjspdGhpcy5yZWFkQmxvY2sodCk7YT10aGlzLmJ1ZmZlckxlbmd0aH10aGlzLnBvcz1hO3JldHVybiB0aGlzLmJ1ZmZlci5zdWJhcnJheShpLGEpfWFzeW5jIGdldEltYWdlRGF0YShlLHQ9bnVsbCl7aWYoIXRoaXMuY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIpcmV0dXJuIHRoaXMuZ2V0Qnl0ZXMoZSx0KTtjb25zdCBpPWF3YWl0IHRoaXMuc3RyZWFtLmFzeW5jR2V0Qnl0ZXMoKTtyZXR1cm4gdGhpcy5kZWNvZGVJbWFnZShpLHQpfXJlc2V0KCl7dGhpcy5wb3M9MH1tYWtlU3ViU3RyZWFtKGUsdCxpPW51bGwpe2lmKHZvaWQgMD09PXQpZm9yKDshdGhpcy5lb2Y7KXRoaXMucmVhZEJsb2NrKCk7ZWxzZXtjb25zdCBpPWUrdDtmb3IoO3RoaXMuYnVmZmVyTGVuZ3RoPD1pJiYhdGhpcy5lb2Y7KXRoaXMucmVhZEJsb2NrKCl9cmV0dXJuIG5ldyBTdHJlYW0odGhpcy5idWZmZXIsZSx0LGkpfWdldEJhc2VTdHJlYW1zKCl7cmV0dXJuIHRoaXMuc3RyP3RoaXMuc3RyLmdldEJhc2VTdHJlYW1zKCk6bnVsbH19Y2xhc3MgU3RyZWFtc1NlcXVlbmNlU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdD1udWxsKXtlPWUuZmlsdGVyKChlPT5lIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpO2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgZSlpKz10IGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtP3QuX3Jhd01pbkJ1ZmZlckxlbmd0aDp0Lmxlbmd0aDtzdXBlcihpKTt0aGlzLnN0cmVhbXM9ZTt0aGlzLl9vbkVycm9yPXR9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0cmVhbXM7aWYoMD09PWUubGVuZ3RoKXt0aGlzLmVvZj0hMDtyZXR1cm59Y29uc3QgdD1lLnNoaWZ0KCk7bGV0IGk7dHJ5e2k9dC5nZXRCeXRlcygpfWNhdGNoKGUpe2lmKHRoaXMuX29uRXJyb3Ipe3RoaXMuX29uRXJyb3IoZSx0LmRpY3Q/Lm9iaklkKTtyZXR1cm59dGhyb3cgZX1jb25zdCBhPXRoaXMuYnVmZmVyTGVuZ3RoLHM9YStpLmxlbmd0aDt0aGlzLmVuc3VyZUJ1ZmZlcihzKS5zZXQoaSxhKTt0aGlzLmJ1ZmZlckxlbmd0aD1zfWdldEJhc2VTdHJlYW1zKCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBvZiB0aGlzLnN0cmVhbXMpe2NvbnN0IGk9dC5nZXRCYXNlU3RyZWFtcygpO2kmJmUucHVzaCguLi5pKX1yZXR1cm4gZS5sZW5ndGg+MD9lOm51bGx9fWNsYXNzIEFzY2lpODVTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXt0JiYodCo9LjgpO3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLmlucHV0PW5ldyBVaW50OEFycmF5KDUpfXJlYWRCbG9jaygpe2NvbnN0IGU9dGhpcy5zdHI7bGV0IHQ9ZS5nZXRCeXRlKCk7Zm9yKDtpc1doaXRlU3BhY2UodCk7KXQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10fHwxMjY9PT10KXt0aGlzLmVvZj0hMDtyZXR1cm59Y29uc3QgaT10aGlzLmJ1ZmZlckxlbmd0aDtsZXQgYSxzO2lmKDEyMj09PXQpe2E9dGhpcy5lbnN1cmVCdWZmZXIoaSs0KTtmb3Iocz0wO3M8NDsrK3MpYVtpK3NdPTA7dGhpcy5idWZmZXJMZW5ndGgrPTR9ZWxzZXtjb25zdCByPXRoaXMuaW5wdXQ7clswXT10O2ZvcihzPTE7czw1Oysrcyl7dD1lLmdldEJ5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZSh0KTspdD1lLmdldEJ5dGUoKTtyW3NdPXQ7aWYoLTE9PT10fHwxMjY9PT10KWJyZWFrfWE9dGhpcy5lbnN1cmVCdWZmZXIoaStzLTEpO3RoaXMuYnVmZmVyTGVuZ3RoKz1zLTE7aWYoczw1KXtmb3IoO3M8NTsrK3MpcltzXT0xMTc7dGhpcy5lb2Y9ITB9bGV0IG49MDtmb3Iocz0wO3M8NTsrK3Mpbj04NSpuKyhyW3NdLTMzKTtmb3Iocz0zO3M+PTA7LS1zKXthW2krc109MjU1Jm47bj4+PTh9fX19Y2xhc3MgQXNjaWlIZXhTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXt0JiYodCo9LjUpO3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLmZpcnN0RGlnaXQ9LTF9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcyg4ZTMpO2lmKCFlLmxlbmd0aCl7dGhpcy5lb2Y9ITA7cmV0dXJufWNvbnN0IHQ9ZS5sZW5ndGgrMT4+MSxpPXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoK3QpO2xldCBhPXRoaXMuYnVmZmVyTGVuZ3RoLHM9dGhpcy5maXJzdERpZ2l0O2Zvcihjb25zdCB0IG9mIGUpe2xldCBlO2lmKHQ+PTQ4JiZ0PD01NyllPTE1JnQ7ZWxzZXtpZighKHQ+PTY1JiZ0PD03MHx8dD49OTcmJnQ8PTEwMikpe2lmKDYyPT09dCl7dGhpcy5lb2Y9ITA7YnJlYWt9Y29udGludWV9ZT05KygxNSZ0KX1pZihzPDApcz1lO2Vsc2V7aVthKytdPXM8PDR8ZTtzPS0xfX1pZihzPj0wJiZ0aGlzLmVvZil7aVthKytdPXM8PDQ7cz0tMX10aGlzLmZpcnN0RGlnaXQ9czt0aGlzLmJ1ZmZlckxlbmd0aD1hfX1jb25zdCBNdD0tMSxMdD1bWy0xLC0xXSxbLTEsLTFdLFs3LDhdLFs3LDddLFs2LDZdLFs2LDZdLFs2LDVdLFs2LDVdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdXSxIdD1bWy0xLC0xXSxbMTIsLTJdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbMTEsMTc5Ml0sWzExLDE3OTJdLFsxMiwxOTg0XSxbMTIsMjA0OF0sWzEyLDIxMTJdLFsxMiwyMTc2XSxbMTIsMjI0MF0sWzEyLDIzMDRdLFsxMSwxODU2XSxbMTEsMTg1Nl0sWzExLDE5MjBdLFsxMSwxOTIwXSxbMTIsMjM2OF0sWzEyLDI0MzJdLFsxMiwyNDk2XSxbMTIsMjU2MF1dLEp0PVtbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFs4LDI5XSxbOCwyOV0sWzgsMzBdLFs4LDMwXSxbOCw0NV0sWzgsNDVdLFs4LDQ2XSxbOCw0Nl0sWzcsMjJdLFs3LDIyXSxbNywyMl0sWzcsMjJdLFs3LDIzXSxbNywyM10sWzcsMjNdLFs3LDIzXSxbOCw0N10sWzgsNDddLFs4LDQ4XSxbOCw0OF0sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNywyMF0sWzcsMjBdLFs3LDIwXSxbNywyMF0sWzgsMzNdLFs4LDMzXSxbOCwzNF0sWzgsMzRdLFs4LDM1XSxbOCwzNV0sWzgsMzZdLFs4LDM2XSxbOCwzN10sWzgsMzddLFs4LDM4XSxbOCwzOF0sWzcsMTldLFs3LDE5XSxbNywxOV0sWzcsMTldLFs4LDMxXSxbOCwzMV0sWzgsMzJdLFs4LDMyXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs4LDUzXSxbOCw1M10sWzgsNTRdLFs4LDU0XSxbNywyNl0sWzcsMjZdLFs3LDI2XSxbNywyNl0sWzgsMzldLFs4LDM5XSxbOCw0MF0sWzgsNDBdLFs4LDQxXSxbOCw0MV0sWzgsNDJdLFs4LDQyXSxbOCw0M10sWzgsNDNdLFs4LDQ0XSxbOCw0NF0sWzcsMjFdLFs3LDIxXSxbNywyMV0sWzcsMjFdLFs3LDI4XSxbNywyOF0sWzcsMjhdLFs3LDI4XSxbOCw2MV0sWzgsNjFdLFs4LDYyXSxbOCw2Ml0sWzgsNjNdLFs4LDYzXSxbOCwwXSxbOCwwXSxbOCwzMjBdLFs4LDMyMF0sWzgsMzg0XSxbOCwzODRdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzcsMjddLFs3LDI3XSxbNywyN10sWzcsMjddLFs4LDU5XSxbOCw1OV0sWzgsNjBdLFs4LDYwXSxbOSwxNDcyXSxbOSwxNTM2XSxbOSwxNjAwXSxbOSwxNzI4XSxbNywxOF0sWzcsMThdLFs3LDE4XSxbNywxOF0sWzcsMjRdLFs3LDI0XSxbNywyNF0sWzcsMjRdLFs4LDQ5XSxbOCw0OV0sWzgsNTBdLFs4LDUwXSxbOCw1MV0sWzgsNTFdLFs4LDUyXSxbOCw1Ml0sWzcsMjVdLFs3LDI1XSxbNywyNV0sWzcsMjVdLFs4LDU1XSxbOCw1NV0sWzgsNTZdLFs4LDU2XSxbOCw1N10sWzgsNTddLFs4LDU4XSxbOCw1OF0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs4LDQ0OF0sWzgsNDQ4XSxbOCw1MTJdLFs4LDUxMl0sWzksNzA0XSxbOSw3NjhdLFs4LDY0MF0sWzgsNjQwXSxbOCw1NzZdLFs4LDU3Nl0sWzksODMyXSxbOSw4OTZdLFs5LDk2MF0sWzksMTAyNF0sWzksMTA4OF0sWzksMTE1Ml0sWzksMTIxNl0sWzksMTI4MF0sWzksMTM0NF0sWzksMTQwOF0sWzcsMjU2XSxbNywyNTZdLFs3LDI1Nl0sWzcsMjU2XSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddXSxZdD1bWy0xLC0xXSxbLTEsLTFdLFsxMiwtMl0sWzEyLC0yXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFsxMSwxNzkyXSxbMTEsMTc5Ml0sWzExLDE3OTJdLFsxMSwxNzkyXSxbMTIsMTk4NF0sWzEyLDE5ODRdLFsxMiwyMDQ4XSxbMTIsMjA0OF0sWzEyLDIxMTJdLFsxMiwyMTEyXSxbMTIsMjE3Nl0sWzEyLDIxNzZdLFsxMiwyMjQwXSxbMTIsMjI0MF0sWzEyLDIzMDRdLFsxMiwyMzA0XSxbMTEsMTg1Nl0sWzExLDE4NTZdLFsxMSwxODU2XSxbMTEsMTg1Nl0sWzExLDE5MjBdLFsxMSwxOTIwXSxbMTEsMTkyMF0sWzExLDE5MjBdLFsxMiwyMzY4XSxbMTIsMjM2OF0sWzEyLDI0MzJdLFsxMiwyNDMyXSxbMTIsMjQ5Nl0sWzEyLDI0OTZdLFsxMiwyNTYwXSxbMTIsMjU2MF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMiw1Ml0sWzEyLDUyXSxbMTMsNjQwXSxbMTMsNzA0XSxbMTMsNzY4XSxbMTMsODMyXSxbMTIsNTVdLFsxMiw1NV0sWzEyLDU2XSxbMTIsNTZdLFsxMywxMjgwXSxbMTMsMTM0NF0sWzEzLDE0MDhdLFsxMywxNDcyXSxbMTIsNTldLFsxMiw1OV0sWzEyLDYwXSxbMTIsNjBdLFsxMywxNTM2XSxbMTMsMTYwMF0sWzExLDI0XSxbMTEsMjRdLFsxMSwyNF0sWzExLDI0XSxbMTEsMjVdLFsxMSwyNV0sWzExLDI1XSxbMTEsMjVdLFsxMywxNjY0XSxbMTMsMTcyOF0sWzEyLDMyMF0sWzEyLDMyMF0sWzEyLDM4NF0sWzEyLDM4NF0sWzEyLDQ0OF0sWzEyLDQ0OF0sWzEzLDUxMl0sWzEzLDU3Nl0sWzEyLDUzXSxbMTIsNTNdLFsxMiw1NF0sWzEyLDU0XSxbMTMsODk2XSxbMTMsOTYwXSxbMTMsMTAyNF0sWzEzLDEwODhdLFsxMywxMTUyXSxbMTMsMTIxNl0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdXSx2dD1bWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFsxMSwyM10sWzExLDIzXSxbMTIsNTBdLFsxMiw1MV0sWzEyLDQ0XSxbMTIsNDVdLFsxMiw0Nl0sWzEyLDQ3XSxbMTIsNTddLFsxMiw1OF0sWzEyLDYxXSxbMTIsMjU2XSxbMTAsMTZdLFsxMCwxNl0sWzEwLDE2XSxbMTAsMTZdLFsxMCwxN10sWzEwLDE3XSxbMTAsMTddLFsxMCwxN10sWzEyLDQ4XSxbMTIsNDldLFsxMiw2Ml0sWzEyLDYzXSxbMTIsMzBdLFsxMiwzMV0sWzEyLDMyXSxbMTIsMzNdLFsxMiw0MF0sWzEyLDQxXSxbMTEsMjJdLFsxMSwyMl0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFsxMiwxMjhdLFsxMiwxOTJdLFsxMiwyNl0sWzEyLDI3XSxbMTIsMjhdLFsxMiwyOV0sWzExLDE5XSxbMTEsMTldLFsxMSwyMF0sWzExLDIwXSxbMTIsMzRdLFsxMiwzNV0sWzEyLDM2XSxbMTIsMzddLFsxMiwzOF0sWzEyLDM5XSxbMTEsMjFdLFsxMSwyMV0sWzEyLDQyXSxbMTIsNDNdLFsxMCwwXSxbMTAsMF0sWzEwLDBdLFsxMCwwXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdXSxUdD1bWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbNiw5XSxbNiw4XSxbNSw3XSxbNSw3XSxbNCw2XSxbNCw2XSxbNCw2XSxbNCw2XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXV07Y2xhc3MgQ0NJVFRGYXhEZWNvZGVye2NvbnN0cnVjdG9yKGUsdD17fSl7aWYoIWV8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm5leHQpdGhyb3cgbmV3IEVycm9yKCdDQ0lUVEZheERlY29kZXIgLSBpbnZhbGlkICJzb3VyY2UiIHBhcmFtZXRlci4nKTt0aGlzLnNvdXJjZT1lO3RoaXMuZW9mPSExO3RoaXMuZW5jb2Rpbmc9dC5LfHwwO3RoaXMuZW9saW5lPXQuRW5kT2ZMaW5lfHwhMTt0aGlzLmJ5dGVBbGlnbj10LkVuY29kZWRCeXRlQWxpZ258fCExO3RoaXMuY29sdW1ucz10LkNvbHVtbnN8fDE3Mjg7dGhpcy5yb3dzPXQuUm93c3x8MDt0aGlzLmVvYmxvY2s9dC5FbmRPZkJsb2NrPz8hMDt0aGlzLmJsYWNrPXQuQmxhY2tJczF8fCExO3RoaXMuY29kaW5nTGluZT1uZXcgVWludDMyQXJyYXkodGhpcy5jb2x1bW5zKzEpO3RoaXMucmVmTGluZT1uZXcgVWludDMyQXJyYXkodGhpcy5jb2x1bW5zKzIpO3RoaXMuY29kaW5nTGluZVswXT10aGlzLmNvbHVtbnM7dGhpcy5jb2RpbmdQb3M9MDt0aGlzLnJvdz0wO3RoaXMubmV4dExpbmUyRD10aGlzLmVuY29kaW5nPDA7dGhpcy5pbnB1dEJpdHM9MDt0aGlzLmlucHV0QnVmPTA7dGhpcy5vdXRwdXRCaXRzPTA7dGhpcy5yb3dzRG9uZT0hMTtsZXQgaTtmb3IoOzA9PT0oaT10aGlzLl9sb29rQml0cygxMikpOyl0aGlzLl9lYXRCaXRzKDEpOzE9PT1pJiZ0aGlzLl9lYXRCaXRzKDEyKTtpZih0aGlzLmVuY29kaW5nPjApe3RoaXMubmV4dExpbmUyRD0hdGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX19cmVhZE5leHRDaGFyKCl7aWYodGhpcy5lb2YpcmV0dXJuLTE7Y29uc3QgZT10aGlzLnJlZkxpbmUsdD10aGlzLmNvZGluZ0xpbmUsaT10aGlzLmNvbHVtbnM7bGV0IGEscyxyLG4sZztpZigwPT09dGhpcy5vdXRwdXRCaXRzKXt0aGlzLnJvd3NEb25lJiYodGhpcy5lb2Y9ITApO2lmKHRoaXMuZW9mKXJldHVybi0xO3RoaXMuZXJyPSExO2xldCByLGcsbztpZih0aGlzLm5leHRMaW5lMkQpe2ZvcihuPTA7dFtuXTxpOysrbillW25dPXRbbl07ZVtuKytdPWk7ZVtuXT1pO3RbMF09MDt0aGlzLmNvZGluZ1Bvcz0wO2E9MDtzPTA7Zm9yKDt0W3RoaXMuY29kaW5nUG9zXTxpOyl7cj10aGlzLl9nZXRUd29EaW1Db2RlKCk7c3dpdGNoKHIpe2Nhc2UgMDp0aGlzLl9hZGRQaXhlbHMoZVthKzFdLHMpO2VbYSsxXTxpJiYoYSs9Mik7YnJlYWs7Y2FzZSAxOnI9Zz0wO2lmKHMpe2Rve3IrPW89dGhpcy5fZ2V0QmxhY2tDb2RlKCl9d2hpbGUobz49NjQpO2Rve2crPW89dGhpcy5fZ2V0V2hpdGVDb2RlKCl9d2hpbGUobz49NjQpfWVsc2V7ZG97cis9bz10aGlzLl9nZXRXaGl0ZUNvZGUoKX13aGlsZShvPj02NCk7ZG97Zys9bz10aGlzLl9nZXRCbGFja0NvZGUoKX13aGlsZShvPj02NCl9dGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK3Iscyk7dFt0aGlzLmNvZGluZ1Bvc108aSYmdGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK2csMV5zKTtmb3IoO2VbYV08PXRbdGhpcy5jb2RpbmdQb3NdJiZlW2FdPGk7KWErPTI7YnJlYWs7Y2FzZSA3OnRoaXMuX2FkZFBpeGVscyhlW2FdKzMscyk7c149MTtpZih0W3RoaXMuY29kaW5nUG9zXTxpKXsrK2E7Zm9yKDtlW2FdPD10W3RoaXMuY29kaW5nUG9zXSYmZVthXTxpOylhKz0yfWJyZWFrO2Nhc2UgNTp0aGlzLl9hZGRQaXhlbHMoZVthXSsyLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDM6dGhpcy5fYWRkUGl4ZWxzKGVbYV0rMSxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpeysrYTtmb3IoO2VbYV08PXRbdGhpcy5jb2RpbmdQb3NdJiZlW2FdPGk7KWErPTJ9YnJlYWs7Y2FzZSAyOnRoaXMuX2FkZFBpeGVscyhlW2FdLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDg6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMyxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDY6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMixzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDQ6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMSxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIE10OnRoaXMuX2FkZFBpeGVscyhpLDApO3RoaXMuZW9mPSEwO2JyZWFrO2RlZmF1bHQ6aW5mbygiYmFkIDJkIGNvZGUiKTt0aGlzLl9hZGRQaXhlbHMoaSwwKTt0aGlzLmVycj0hMH19fWVsc2V7dFswXT0wO3RoaXMuY29kaW5nUG9zPTA7cz0wO2Zvcig7dFt0aGlzLmNvZGluZ1Bvc108aTspe3I9MDtpZihzKWRve3IrPW89dGhpcy5fZ2V0QmxhY2tDb2RlKCl9d2hpbGUobz49NjQpO2Vsc2UgZG97cis9bz10aGlzLl9nZXRXaGl0ZUNvZGUoKX13aGlsZShvPj02NCk7dGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK3Iscyk7c149MX19bGV0IGM9ITE7dGhpcy5ieXRlQWxpZ24mJih0aGlzLmlucHV0Qml0cyY9LTgpO2lmKHRoaXMuZW9ibG9ja3x8dGhpcy5yb3chPT10aGlzLnJvd3MtMSl7cj10aGlzLl9sb29rQml0cygxMik7aWYodGhpcy5lb2xpbmUpZm9yKDtyIT09TXQmJjEhPT1yOyl7dGhpcy5fZWF0Qml0cygxKTtyPXRoaXMuX2xvb2tCaXRzKDEyKX1lbHNlIGZvcig7MD09PXI7KXt0aGlzLl9lYXRCaXRzKDEpO3I9dGhpcy5fbG9va0JpdHMoMTIpfWlmKDE9PT1yKXt0aGlzLl9lYXRCaXRzKDEyKTtjPSEwfWVsc2Ugcj09PU10JiYodGhpcy5lb2Y9ITApfWVsc2UgdGhpcy5yb3dzRG9uZT0hMDtpZighdGhpcy5lb2YmJnRoaXMuZW5jb2Rpbmc+MCYmIXRoaXMucm93c0RvbmUpe3RoaXMubmV4dExpbmUyRD0hdGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX1pZih0aGlzLmVvYmxvY2smJmMmJnRoaXMuYnl0ZUFsaWduKXtyPXRoaXMuX2xvb2tCaXRzKDEyKTtpZigxPT09cil7dGhpcy5fZWF0Qml0cygxMik7aWYodGhpcy5lbmNvZGluZz4wKXt0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfWlmKHRoaXMuZW5jb2Rpbmc+PTApZm9yKG49MDtuPDQ7KytuKXtyPXRoaXMuX2xvb2tCaXRzKDEyKTsxIT09ciYmaW5mbygiYmFkIHJ0YyBjb2RlOiAiK3IpO3RoaXMuX2VhdEJpdHMoMTIpO2lmKHRoaXMuZW5jb2Rpbmc+MCl7dGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX19dGhpcy5lb2Y9ITB9fWVsc2UgaWYodGhpcy5lcnImJnRoaXMuZW9saW5lKXtmb3IoOzspe3I9dGhpcy5fbG9va0JpdHMoMTMpO2lmKHI9PT1NdCl7dGhpcy5lb2Y9ITA7cmV0dXJuLTF9aWYocj4+MT09MSlicmVhazt0aGlzLl9lYXRCaXRzKDEpfXRoaXMuX2VhdEJpdHMoMTIpO2lmKHRoaXMuZW5jb2Rpbmc+MCl7dGhpcy5fZWF0Qml0cygxKTt0aGlzLm5leHRMaW5lMkQ9ISgxJnIpfX10aGlzLm91dHB1dEJpdHM9dFswXT4wP3RbdGhpcy5jb2RpbmdQb3M9MF06dFt0aGlzLmNvZGluZ1Bvcz0xXTt0aGlzLnJvdysrfWlmKHRoaXMub3V0cHV0Qml0cz49OCl7Zz0xJnRoaXMuY29kaW5nUG9zPzA6MjU1O3RoaXMub3V0cHV0Qml0cy09ODtpZigwPT09dGhpcy5vdXRwdXRCaXRzJiZ0W3RoaXMuY29kaW5nUG9zXTxpKXt0aGlzLmNvZGluZ1BvcysrO3RoaXMub3V0cHV0Qml0cz10W3RoaXMuY29kaW5nUG9zXS10W3RoaXMuY29kaW5nUG9zLTFdfX1lbHNle3I9ODtnPTA7ZG97aWYoIm51bWJlciIhPXR5cGVvZiB0aGlzLm91dHB1dEJpdHMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdJbnZhbGlkIC9DQ0lUVEZheERlY29kZSBkYXRhLCAib3V0cHV0Qml0cyIgbXVzdCBiZSBhIG51bWJlci4nKTtpZih0aGlzLm91dHB1dEJpdHM+cil7Zzw8PXI7MSZ0aGlzLmNvZGluZ1Bvc3x8KGd8PTI1NT4+OC1yKTt0aGlzLm91dHB1dEJpdHMtPXI7cj0wfWVsc2V7Zzw8PXRoaXMub3V0cHV0Qml0czsxJnRoaXMuY29kaW5nUG9zfHwoZ3w9MjU1Pj44LXRoaXMub3V0cHV0Qml0cyk7ci09dGhpcy5vdXRwdXRCaXRzO3RoaXMub3V0cHV0Qml0cz0wO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe3RoaXMuY29kaW5nUG9zKys7dGhpcy5vdXRwdXRCaXRzPXRbdGhpcy5jb2RpbmdQb3NdLXRbdGhpcy5jb2RpbmdQb3MtMV19ZWxzZSBpZihyPjApe2c8PD1yO3I9MH19fXdoaWxlKHIpfXRoaXMuYmxhY2smJihnXj0yNTUpO3JldHVybiBnfV9hZGRQaXhlbHMoZSx0KXtjb25zdCBpPXRoaXMuY29kaW5nTGluZTtsZXQgYT10aGlzLmNvZGluZ1BvcztpZihlPmlbYV0pe2lmKGU+dGhpcy5jb2x1bW5zKXtpbmZvKCJyb3cgaXMgd3JvbmcgbGVuZ3RoIik7dGhpcy5lcnI9ITA7ZT10aGlzLmNvbHVtbnN9MSZhXnQmJisrYTtpW2FdPWV9dGhpcy5jb2RpbmdQb3M9YX1fYWRkUGl4ZWxzTmVnKGUsdCl7Y29uc3QgaT10aGlzLmNvZGluZ0xpbmU7bGV0IGE9dGhpcy5jb2RpbmdQb3M7aWYoZT5pW2FdKXtpZihlPnRoaXMuY29sdW1ucyl7aW5mbygicm93IGlzIHdyb25nIGxlbmd0aCIpO3RoaXMuZXJyPSEwO2U9dGhpcy5jb2x1bW5zfTEmYV50JiYrK2E7aVthXT1lfWVsc2UgaWYoZTxpW2FdKXtpZihlPDApe2luZm8oImludmFsaWQgY29kZSIpO3RoaXMuZXJyPSEwO2U9MH1mb3IoO2E+MCYmZTxpW2EtMV07KS0tYTtpW2FdPWV9dGhpcy5jb2RpbmdQb3M9YX1fZmluZFRhYmxlQ29kZShlLHQsaSxhKXtjb25zdCBzPWF8fDA7Zm9yKGxldCBhPWU7YTw9dDsrK2Epe2xldCBlPXRoaXMuX2xvb2tCaXRzKGEpO2lmKGU9PT1NdClyZXR1cm5bITAsMSwhMV07YTx0JiYoZTw8PXQtYSk7aWYoIXN8fGU+PXMpe2NvbnN0IHQ9aVtlLXNdO2lmKHRbMF09PT1hKXt0aGlzLl9lYXRCaXRzKGEpO3JldHVyblshMCx0WzFdLCEwXX19fXJldHVyblshMSwwLCExXX1fZ2V0VHdvRGltQ29kZSgpe2xldCBlLHQ9MDtpZih0aGlzLmVvYmxvY2spe3Q9dGhpcy5fbG9va0JpdHMoNyk7ZT1MdFt0XTtpZihlPy5bMF0+MCl7dGhpcy5fZWF0Qml0cyhlWzBdKTtyZXR1cm4gZVsxXX19ZWxzZXtjb25zdCBlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoMSw3LEx0KTtpZihlWzBdJiZlWzJdKXJldHVybiBlWzFdfWluZm8oIkJhZCB0d28gZGltIGNvZGUiKTtyZXR1cm4gTXR9X2dldFdoaXRlQ29kZSgpe2xldCBlLHQ9MDtpZih0aGlzLmVvYmxvY2spe3Q9dGhpcy5fbG9va0JpdHMoMTIpO2lmKHQ9PT1NdClyZXR1cm4gMTtlPXQ+PjU9PTA/SHRbdF06SnRbdD4+M107aWYoZVswXT4wKXt0aGlzLl9lYXRCaXRzKGVbMF0pO3JldHVybiBlWzFdfX1lbHNle2xldCBlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoMSw5LEp0KTtpZihlWzBdKXJldHVybiBlWzFdO2U9dGhpcy5fZmluZFRhYmxlQ29kZSgxMSwxMixIdCk7aWYoZVswXSlyZXR1cm4gZVsxXX1pbmZvKCJiYWQgd2hpdGUgY29kZSIpO3RoaXMuX2VhdEJpdHMoMSk7cmV0dXJuIDF9X2dldEJsYWNrQ29kZSgpe2xldCBlLHQ7aWYodGhpcy5lb2Jsb2NrKXtlPXRoaXMuX2xvb2tCaXRzKDEzKTtpZihlPT09TXQpcmV0dXJuIDE7dD1lPj43PT0wP1l0W2VdOmU+Pjk9PTAmJmU+PjchPTA/dnRbKGU+PjEpLTY0XTpUdFtlPj43XTtpZih0WzBdPjApe3RoaXMuX2VhdEJpdHModFswXSk7cmV0dXJuIHRbMV19fWVsc2V7bGV0IGU9dGhpcy5fZmluZFRhYmxlQ29kZSgyLDYsVHQpO2lmKGVbMF0pcmV0dXJuIGVbMV07ZT10aGlzLl9maW5kVGFibGVDb2RlKDcsMTIsdnQsNjQpO2lmKGVbMF0pcmV0dXJuIGVbMV07ZT10aGlzLl9maW5kVGFibGVDb2RlKDEwLDEzLFl0KTtpZihlWzBdKXJldHVybiBlWzFdfWluZm8oImJhZCBibGFjayBjb2RlIik7dGhpcy5fZWF0Qml0cygxKTtyZXR1cm4gMX1fbG9va0JpdHMoZSl7bGV0IHQ7Zm9yKDt0aGlzLmlucHV0Qml0czxlOyl7aWYoLTE9PT0odD10aGlzLnNvdXJjZS5uZXh0KCkpKXJldHVybiAwPT09dGhpcy5pbnB1dEJpdHM/TXQ6dGhpcy5pbnB1dEJ1Zjw8ZS10aGlzLmlucHV0Qml0cyY2NTUzNT4+MTYtZTt0aGlzLmlucHV0QnVmPXRoaXMuaW5wdXRCdWY8PDh8dDt0aGlzLmlucHV0Qml0cys9OH1yZXR1cm4gdGhpcy5pbnB1dEJ1Zj4+dGhpcy5pbnB1dEJpdHMtZSY2NTUzNT4+MTYtZX1fZWF0Qml0cyhlKXsodGhpcy5pbnB1dEJpdHMtPWUpPDAmJih0aGlzLmlucHV0Qml0cz0wKX19Y2xhc3MgQ0NJVFRGYXhTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDtpIGluc3RhbmNlb2YgRGljdHx8KGk9RGljdC5lbXB0eSk7Y29uc3QgYT17bmV4dDooKT0+ZS5nZXRCeXRlKCl9O3RoaXMuY2NpdHRGYXhEZWNvZGVyPW5ldyBDQ0lUVEZheERlY29kZXIoYSx7SzppLmdldCgiSyIpLEVuZE9mTGluZTppLmdldCgiRW5kT2ZMaW5lIiksRW5jb2RlZEJ5dGVBbGlnbjppLmdldCgiRW5jb2RlZEJ5dGVBbGlnbiIpLENvbHVtbnM6aS5nZXQoIkNvbHVtbnMiKSxSb3dzOmkuZ2V0KCJSb3dzIiksRW5kT2ZCbG9jazppLmdldCgiRW5kT2ZCbG9jayIpLEJsYWNrSXMxOmkuZ2V0KCJCbGFja0lzMSIpfSl9cmVhZEJsb2NrKCl7Zm9yKDshdGhpcy5lb2Y7KXtjb25zdCBlPXRoaXMuY2NpdHRGYXhEZWNvZGVyLnJlYWROZXh0Q2hhcigpO2lmKC0xPT09ZSl7dGhpcy5lb2Y9ITA7cmV0dXJufXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoKzEpO3RoaXMuYnVmZmVyW3RoaXMuYnVmZmVyTGVuZ3RoKytdPWV9fX1jb25zdCBLdD1uZXcgSW50MzJBcnJheShbMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0pLHF0PW5ldyBJbnQzMkFycmF5KFszLDQsNSw2LDcsOCw5LDEwLDY1NTQ3LDY1NTQ5LDY1NTUxLDY1NTUzLDEzMTA5MSwxMzEwOTUsMTMxMDk5LDEzMTEwMywxOTY2NDMsMTk2NjUxLDE5NjY1OSwxOTY2NjcsMjYyMjExLDI2MjIyNywyNjIyNDMsMjYyMjU5LDMyNzgxMSwzMjc4NDMsMzI3ODc1LDMyNzkwNywyNTgsMjU4LDI1OF0pLE90PW5ldyBJbnQzMkFycmF5KFsxLDIsMyw0LDY1NTQxLDY1NTQzLDEzMTA4MSwxMzEwODUsMTk2NjI1LDE5NjYzMywyNjIxNzcsMjYyMTkzLDMyNzc0NSwzMjc3NzcsMzkzMzQ1LDM5MzQwOSw0NTkwMDksNDU5MTM3LDUyNDgwMSw1MjUwNTcsNTkwODQ5LDU5MTM2MSw2NTc0MDksNjU4NDMzLDcyNDk5Myw3MjcwNDEsNzk0NjI1LDc5ODcyMSw4NjgzNTMsODc2NTQ1XSksUHQ9W25ldyBJbnQzMkFycmF5KFs0NTkwMDgsNTI0MzY4LDUyNDMwNCw1MjQ1NjgsNDU5MDI0LDUyNDQwMCw1MjQzMzYsNTkwMDE2LDQ1OTAxNiw1MjQzODQsNTI0MzIwLDU4OTk4NCw1MjQyODgsNTI0NDE2LDUyNDM1Miw1OTAwNDgsNDU5MDEyLDUyNDM3Niw1MjQzMTIsNTg5OTY4LDQ1OTAyOCw1MjQ0MDgsNTI0MzQ0LDU5MDAzMiw0NTkwMjAsNTI0MzkyLDUyNDMyOCw1OWU0LDUyNDI5Niw1MjQ0MjQsNTI0MzYwLDU5MDA2NCw0NTkwMTAsNTI0MzcyLDUyNDMwOCw1MjQ1NzIsNDU5MDI2LDUyNDQwNCw1MjQzNDAsNTkwMDI0LDQ1OTAxOCw1MjQzODgsNTI0MzI0LDU4OTk5Miw1MjQyOTIsNTI0NDIwLDUyNDM1Niw1OTAwNTYsNDU5MDE0LDUyNDM4MCw1MjQzMTYsNTg5OTc2LDQ1OTAzMCw1MjQ0MTIsNTI0MzQ4LDU5MDA0MCw0NTkwMjIsNTI0Mzk2LDUyNDMzMiw1OTAwMDgsNTI0MzAwLDUyNDQyOCw1MjQzNjQsNTkwMDcyLDQ1OTAwOSw1MjQzNzAsNTI0MzA2LDUyNDU3MCw0NTkwMjUsNTI0NDAyLDUyNDMzOCw1OTAwMjAsNDU5MDE3LDUyNDM4Niw1MjQzMjIsNTg5OTg4LDUyNDI5MCw1MjQ0MTgsNTI0MzU0LDU5MDA1Miw0NTkwMTMsNTI0Mzc4LDUyNDMxNCw1ODk5NzIsNDU5MDI5LDUyNDQxMCw1MjQzNDYsNTkwMDM2LDQ1OTAyMSw1MjQzOTQsNTI0MzMwLDU5MDAwNCw1MjQyOTgsNTI0NDI2LDUyNDM2Miw1OTAwNjgsNDU5MDExLDUyNDM3NCw1MjQzMTAsNTI0NTc0LDQ1OTAyNyw1MjQ0MDYsNTI0MzQyLDU5MDAyOCw0NTkwMTksNTI0MzkwLDUyNDMyNiw1ODk5OTYsNTI0Mjk0LDUyNDQyMiw1MjQzNTgsNTkwMDYwLDQ1OTAxNSw1MjQzODIsNTI0MzE4LDU4OTk4MCw0NTkwMzEsNTI0NDE0LDUyNDM1MCw1OTAwNDQsNDU5MDIzLDUyNDM5OCw1MjQzMzQsNTkwMDEyLDUyNDMwMiw1MjQ0MzAsNTI0MzY2LDU5MDA3Niw0NTkwMDgsNTI0MzY5LDUyNDMwNSw1MjQ1NjksNDU5MDI0LDUyNDQwMSw1MjQzMzcsNTkwMDE4LDQ1OTAxNiw1MjQzODUsNTI0MzIxLDU4OTk4Niw1MjQyODksNTI0NDE3LDUyNDM1Myw1OTAwNTAsNDU5MDEyLDUyNDM3Nyw1MjQzMTMsNTg5OTcwLDQ1OTAyOCw1MjQ0MDksNTI0MzQ1LDU5MDAzNCw0NTkwMjAsNTI0MzkzLDUyNDMyOSw1OTAwMDIsNTI0Mjk3LDUyNDQyNSw1MjQzNjEsNTkwMDY2LDQ1OTAxMCw1MjQzNzMsNTI0MzA5LDUyNDU3Myw0NTkwMjYsNTI0NDA1LDUyNDM0MSw1OTAwMjYsNDU5MDE4LDUyNDM4OSw1MjQzMjUsNTg5OTk0LDUyNDI5Myw1MjQ0MjEsNTI0MzU3LDU5MDA1OCw0NTkwMTQsNTI0MzgxLDUyNDMxNyw1ODk5NzgsNDU5MDMwLDUyNDQxMyw1MjQzNDksNTkwMDQyLDQ1OTAyMiw1MjQzOTcsNTI0MzMzLDU5MDAxMCw1MjQzMDEsNTI0NDI5LDUyNDM2NSw1OTAwNzQsNDU5MDA5LDUyNDM3MSw1MjQzMDcsNTI0NTcxLDQ1OTAyNSw1MjQ0MDMsNTI0MzM5LDU5MDAyMiw0NTkwMTcsNTI0Mzg3LDUyNDMyMyw1ODk5OTAsNTI0MjkxLDUyNDQxOSw1MjQzNTUsNTkwMDU0LDQ1OTAxMyw1MjQzNzksNTI0MzE1LDU4OTk3NCw0NTkwMjksNTI0NDExLDUyNDM0Nyw1OTAwMzgsNDU5MDIxLDUyNDM5NSw1MjQzMzEsNTkwMDA2LDUyNDI5OSw1MjQ0MjcsNTI0MzYzLDU5MDA3MCw0NTkwMTEsNTI0Mzc1LDUyNDMxMSw1MjQ1NzUsNDU5MDI3LDUyNDQwNyw1MjQzNDMsNTkwMDMwLDQ1OTAxOSw1MjQzOTEsNTI0MzI3LDU4OTk5OCw1MjQyOTUsNTI0NDIzLDUyNDM1OSw1OTAwNjIsNDU5MDE1LDUyNDM4Myw1MjQzMTksNTg5OTgyLDQ1OTAzMSw1MjQ0MTUsNTI0MzUxLDU5MDA0Niw0NTkwMjMsNTI0Mzk5LDUyNDMzNSw1OTAwMTQsNTI0MzAzLDUyNDQzMSw1MjQzNjcsNTkwMDc4LDQ1OTAwOCw1MjQzNjgsNTI0MzA0LDUyNDU2OCw0NTkwMjQsNTI0NDAwLDUyNDMzNiw1OTAwMTcsNDU5MDE2LDUyNDM4NCw1MjQzMjAsNTg5OTg1LDUyNDI4OCw1MjQ0MTYsNTI0MzUyLDU5MDA0OSw0NTkwMTIsNTI0Mzc2LDUyNDMxMiw1ODk5NjksNDU5MDI4LDUyNDQwOCw1MjQzNDQsNTkwMDMzLDQ1OTAyMCw1MjQzOTIsNTI0MzI4LDU5MDAwMSw1MjQyOTYsNTI0NDI0LDUyNDM2MCw1OTAwNjUsNDU5MDEwLDUyNDM3Miw1MjQzMDgsNTI0NTcyLDQ1OTAyNiw1MjQ0MDQsNTI0MzQwLDU5MDAyNSw0NTkwMTgsNTI0Mzg4LDUyNDMyNCw1ODk5OTMsNTI0MjkyLDUyNDQyMCw1MjQzNTYsNTkwMDU3LDQ1OTAxNCw1MjQzODAsNTI0MzE2LDU4OTk3Nyw0NTkwMzAsNTI0NDEyLDUyNDM0OCw1OTAwNDEsNDU5MDIyLDUyNDM5Niw1MjQzMzIsNTkwMDA5LDUyNDMwMCw1MjQ0MjgsNTI0MzY0LDU5MDA3Myw0NTkwMDksNTI0MzcwLDUyNDMwNiw1MjQ1NzAsNDU5MDI1LDUyNDQwMiw1MjQzMzgsNTkwMDIxLDQ1OTAxNyw1MjQzODYsNTI0MzIyLDU4OTk4OSw1MjQyOTAsNTI0NDE4LDUyNDM1NCw1OTAwNTMsNDU5MDEzLDUyNDM3OCw1MjQzMTQsNTg5OTczLDQ1OTAyOSw1MjQ0MTAsNTI0MzQ2LDU5MDAzNyw0NTkwMjEsNTI0Mzk0LDUyNDMzMCw1OTAwMDUsNTI0Mjk4LDUyNDQyNiw1MjQzNjIsNTkwMDY5LDQ1OTAxMSw1MjQzNzQsNTI0MzEwLDUyNDU3NCw0NTkwMjcsNTI0NDA2LDUyNDM0Miw1OTAwMjksNDU5MDE5LDUyNDM5MCw1MjQzMjYsNTg5OTk3LDUyNDI5NCw1MjQ0MjIsNTI0MzU4LDU5MDA2MSw0NTkwMTUsNTI0MzgyLDUyNDMxOCw1ODk5ODEsNDU5MDMxLDUyNDQxNCw1MjQzNTAsNTkwMDQ1LDQ1OTAyMyw1MjQzOTgsNTI0MzM0LDU5MDAxMyw1MjQzMDIsNTI0NDMwLDUyNDM2Niw1OTAwNzcsNDU5MDA4LDUyNDM2OSw1MjQzMDUsNTI0NTY5LDQ1OTAyNCw1MjQ0MDEsNTI0MzM3LDU5MDAxOSw0NTkwMTYsNTI0Mzg1LDUyNDMyMSw1ODk5ODcsNTI0Mjg5LDUyNDQxNyw1MjQzNTMsNTkwMDUxLDQ1OTAxMiw1MjQzNzcsNTI0MzEzLDU4OTk3MSw0NTkwMjgsNTI0NDA5LDUyNDM0NSw1OTAwMzUsNDU5MDIwLDUyNDM5Myw1MjQzMjksNTkwMDAzLDUyNDI5Nyw1MjQ0MjUsNTI0MzYxLDU5MDA2Nyw0NTkwMTAsNTI0MzczLDUyNDMwOSw1MjQ1NzMsNDU5MDI2LDUyNDQwNSw1MjQzNDEsNTkwMDI3LDQ1OTAxOCw1MjQzODksNTI0MzI1LDU4OTk5NSw1MjQyOTMsNTI0NDIxLDUyNDM1Nyw1OTAwNTksNDU5MDE0LDUyNDM4MSw1MjQzMTcsNTg5OTc5LDQ1OTAzMCw1MjQ0MTMsNTI0MzQ5LDU5MDA0Myw0NTkwMjIsNTI0Mzk3LDUyNDMzMyw1OTAwMTEsNTI0MzAxLDUyNDQyOSw1MjQzNjUsNTkwMDc1LDQ1OTAwOSw1MjQzNzEsNTI0MzA3LDUyNDU3MSw0NTkwMjUsNTI0NDAzLDUyNDMzOSw1OTAwMjMsNDU5MDE3LDUyNDM4Nyw1MjQzMjMsNTg5OTkxLDUyNDI5MSw1MjQ0MTksNTI0MzU1LDU5MDA1NSw0NTkwMTMsNTI0Mzc5LDUyNDMxNSw1ODk5NzUsNDU5MDI5LDUyNDQxMSw1MjQzNDcsNTkwMDM5LDQ1OTAyMSw1MjQzOTUsNTI0MzMxLDU5MDAwNyw1MjQyOTksNTI0NDI3LDUyNDM2Myw1OTAwNzEsNDU5MDExLDUyNDM3NSw1MjQzMTEsNTI0NTc1LDQ1OTAyNyw1MjQ0MDcsNTI0MzQzLDU5MDAzMSw0NTkwMTksNTI0MzkxLDUyNDMyNyw1ODk5OTksNTI0Mjk1LDUyNDQyMyw1MjQzNTksNTkwMDYzLDQ1OTAxNSw1MjQzODMsNTI0MzE5LDU4OTk4Myw0NTkwMzEsNTI0NDE1LDUyNDM1MSw1OTAwNDcsNDU5MDIzLDUyNDM5OSw1MjQzMzUsNTkwMDE1LDUyNDMwMyw1MjQ0MzEsNTI0MzY3LDU5MDA3OV0pLDldLFd0PVtuZXcgSW50MzJBcnJheShbMzI3NjgwLDMyNzY5NiwzMjc2ODgsMzI3NzA0LDMyNzY4NCwzMjc3MDAsMzI3NjkyLDMyNzcwOCwzMjc2ODIsMzI3Njk4LDMyNzY5MCwzMjc3MDYsMzI3Njg2LDMyNzcwMiwzMjc2OTQsMCwzMjc2ODEsMzI3Njk3LDMyNzY4OSwzMjc3MDUsMzI3Njg1LDMyNzcwMSwzMjc2OTMsMzI3NzA5LDMyNzY4MywzMjc2OTksMzI3NjkxLDMyNzcwNywzMjc2ODcsMzI3NzAzLDMyNzY5NSwwXSksNV07Y2xhc3MgRmxhdGVTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7Y29uc3QgaT1lLmdldEJ5dGUoKSxhPWUuZ2V0Qnl0ZSgpO2lmKC0xPT09aXx8LTE9PT1hKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoOCE9KDE1JmkpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoKChpPDw4KSthKSUzMSE9MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEJhZCBGQ0hFQ0sgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoMzImYSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEZESUNUIGJpdCBzZXQgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7dGhpcy5jb2RlU2l6ZT0wO3RoaXMuY29kZUJ1Zj0wfWFzeW5jIGdldEltYWdlRGF0YShlLHQpe2NvbnN0IGk9YXdhaXQgdGhpcy5hc3luY0dldEJ5dGVzKCk7cmV0dXJuIGk/LnN1YmFycmF5KDAsZSl8fHRoaXMuZ2V0Qnl0ZXMoZSl9YXN5bmMgYXN5bmNHZXRCeXRlcygpe3RoaXMuc3RyLnJlc2V0KCk7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcygpO3RyeXtjb25zdHtyZWFkYWJsZTp0LHdyaXRhYmxlOml9PW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJkZWZsYXRlIiksYT1pLmdldFdyaXRlcigpO2F3YWl0IGEucmVhZHk7YS53cml0ZShlKS50aGVuKChhc3luYygpPT57YXdhaXQgYS5yZWFkeTthd2FpdCBhLmNsb3NlKCl9KSkuY2F0Y2goKCgpPT57fSkpO2NvbnN0IHM9W107bGV0IHI9MDtmb3IgYXdhaXQoY29uc3QgZSBvZiB0KXtzLnB1c2goZSk7cis9ZS5ieXRlTGVuZ3RofWNvbnN0IG49bmV3IFVpbnQ4QXJyYXkocik7bGV0IGc9MDtmb3IoY29uc3QgZSBvZiBzKXtuLnNldChlLGcpO2crPWUuYnl0ZUxlbmd0aH1yZXR1cm4gbn1jYXRjaHt0aGlzLnN0cj1uZXcgU3RyZWFtKGUsMixlLmxlbmd0aCx0aGlzLnN0ci5kaWN0KTt0aGlzLnJlc2V0KCk7cmV0dXJuIG51bGx9fWdldCBpc0FzeW5jKCl7cmV0dXJuITB9Z2V0Qml0cyhlKXtjb25zdCB0PXRoaXMuc3RyO2xldCBpLGE9dGhpcy5jb2RlU2l6ZSxzPXRoaXMuY29kZUJ1Zjtmb3IoO2E8ZTspe2lmKC0xPT09KGk9dC5nZXRCeXRlKCkpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbSIpO3N8PWk8PGE7YSs9OH1pPXMmKDE8PGUpLTE7dGhpcy5jb2RlQnVmPXM+PmU7dGhpcy5jb2RlU2l6ZT1hLT1lO3JldHVybiBpfWdldENvZGUoZSl7Y29uc3QgdD10aGlzLnN0cixpPWVbMF0sYT1lWzFdO2xldCBzLHI9dGhpcy5jb2RlU2l6ZSxuPXRoaXMuY29kZUJ1Zjtmb3IoO3I8YSYmLTEhPT0ocz10LmdldEJ5dGUoKSk7KXtufD1zPDxyO3IrPTh9Y29uc3QgZz1pW24mKDE8PGEpLTFdLG89Zz4+MTYsYz02NTUzNSZnO2lmKG88MXx8cjxvKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbSIpO3RoaXMuY29kZUJ1Zj1uPj5vO3RoaXMuY29kZVNpemU9ci1vO3JldHVybiBjfWdlbmVyYXRlSHVmZm1hblRhYmxlKGUpe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGksYT0wO2ZvcihpPTA7aTx0OysraSllW2ldPmEmJihhPWVbaV0pO2NvbnN0IHM9MTw8YSxyPW5ldyBJbnQzMkFycmF5KHMpO2ZvcihsZXQgbj0xLGc9MCxvPTI7bjw9YTsrK24sZzw8PTEsbzw8PTEpZm9yKGxldCBhPTA7YTx0OysrYSlpZihlW2FdPT09bil7bGV0IGU9MCx0PWc7Zm9yKGk9MDtpPG47KytpKXtlPWU8PDF8MSZ0O3Q+Pj0xfWZvcihpPWU7aTxzO2krPW8pcltpXT1uPDwxNnxhOysrZ31yZXR1cm5bcixhXX0jbShlKXtpbmZvKGUpO3RoaXMuZW9mPSEwfXJlYWRCbG9jaygpe2xldCBlLHQsaTtjb25zdCBhPXRoaXMuc3RyO3RyeXt0PXRoaXMuZ2V0Qml0cygzKX1jYXRjaChlKXt0aGlzLiNtKGUubWVzc2FnZSk7cmV0dXJufTEmdCYmKHRoaXMuZW9mPSEwKTt0Pj49MTtpZigwPT09dCl7bGV0IHQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWxldCBpPXQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWl8PXQ8PDg7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWxldCBzPXQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufXN8PXQ8PDg7aWYocyE9PSg2NTUzNSZ+aSkmJigwIT09aXx8MCE9PXMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIHVuY29tcHJlc3NlZCBibG9jayBsZW5ndGggaW4gZmxhdGUgc3RyZWFtIik7dGhpcy5jb2RlQnVmPTA7dGhpcy5jb2RlU2l6ZT0wO2NvbnN0IHI9dGhpcy5idWZmZXJMZW5ndGgsbj1yK2k7ZT10aGlzLmVuc3VyZUJ1ZmZlcihuKTt0aGlzLmJ1ZmZlckxlbmd0aD1uO2lmKDA9PT1pKS0xPT09YS5wZWVrQnl0ZSgpJiYodGhpcy5lb2Y9ITApO2Vsc2V7Y29uc3QgdD1hLmdldEJ5dGVzKGkpO2Uuc2V0KHQscik7dC5sZW5ndGg8aSYmKHRoaXMuZW9mPSEwKX1yZXR1cm59bGV0IHMscjtpZigxPT09dCl7cz1QdDtyPVd0fWVsc2V7aWYoMiE9PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIGJsb2NrIHR5cGUgaW4gZmxhdGUgc3RyZWFtIik7e2NvbnN0IGU9dGhpcy5nZXRCaXRzKDUpKzI1Nyx0PXRoaXMuZ2V0Qml0cyg1KSsxLGE9dGhpcy5nZXRCaXRzKDQpKzQsbj1uZXcgVWludDhBcnJheShLdC5sZW5ndGgpO2xldCBnO2ZvcihnPTA7ZzxhOysrZyluW0t0W2ddXT10aGlzLmdldEJpdHMoMyk7Y29uc3Qgbz10aGlzLmdlbmVyYXRlSHVmZm1hblRhYmxlKG4pO2k9MDtnPTA7Y29uc3QgYz1lK3QsQz1uZXcgVWludDhBcnJheShjKTtsZXQgaCxsLFE7Zm9yKDtnPGM7KXtjb25zdCBlPXRoaXMuZ2V0Q29kZShvKTtpZigxNj09PWUpe2g9MjtsPTM7UT1pfWVsc2UgaWYoMTc9PT1lKXtoPTM7bD0zO1E9aT0wfWVsc2V7aWYoMTghPT1lKXtDW2crK109aT1lO2NvbnRpbnVlfWg9NztsPTExO1E9aT0wfWxldCB0PXRoaXMuZ2V0Qml0cyhoKStsO2Zvcig7dC0tID4wOylDW2crK109UX1zPXRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUoQy5zdWJhcnJheSgwLGUpKTtyPXRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUoQy5zdWJhcnJheShlLGMpKX19ZT10aGlzLmJ1ZmZlcjtsZXQgbj1lP2UubGVuZ3RoOjAsZz10aGlzLmJ1ZmZlckxlbmd0aDtmb3IoOzspe2xldCB0PXRoaXMuZ2V0Q29kZShzKTtpZih0PDI1Nil7aWYoZysxPj1uKXtlPXRoaXMuZW5zdXJlQnVmZmVyKGcrMSk7bj1lLmxlbmd0aH1lW2crK109dDtjb250aW51ZX1pZigyNTY9PT10KXt0aGlzLmJ1ZmZlckxlbmd0aD1nO3JldHVybn10LT0yNTc7dD1xdFt0XTtsZXQgYT10Pj4xNjthPjAmJihhPXRoaXMuZ2V0Qml0cyhhKSk7aT0oNjU1MzUmdCkrYTt0PXRoaXMuZ2V0Q29kZShyKTt0PU90W3RdO2E9dD4+MTY7YT4wJiYoYT10aGlzLmdldEJpdHMoYSkpO2NvbnN0IG89KDY1NTM1JnQpK2E7aWYoZytpPj1uKXtlPXRoaXMuZW5zdXJlQnVmZmVyKGcraSk7bj1lLmxlbmd0aH1mb3IobGV0IHQ9MDt0PGk7Kyt0LCsrZyllW2ddPWVbZy1vXX19fWNvbnN0IFh0PVt7cWU6MjIwMTcsbm1wczoxLG5scHM6MSxzd2l0Y2hGbGFnOjF9LHtxZToxMzMxMyxubXBzOjIsbmxwczo2LHN3aXRjaEZsYWc6MH0se3FlOjYxNDUsbm1wczozLG5scHM6OSxzd2l0Y2hGbGFnOjB9LHtxZToyNzUzLG5tcHM6NCxubHBzOjEyLHN3aXRjaEZsYWc6MH0se3FlOjEzMTMsbm1wczo1LG5scHM6Mjksc3dpdGNoRmxhZzowfSx7cWU6NTQ1LG5tcHM6MzgsbmxwczozMyxzd2l0Y2hGbGFnOjB9LHtxZToyMjAxNyxubXBzOjcsbmxwczo2LHN3aXRjaEZsYWc6MX0se3FlOjIxNTA1LG5tcHM6OCxubHBzOjE0LHN3aXRjaEZsYWc6MH0se3FlOjE4NDMzLG5tcHM6OSxubHBzOjE0LHN3aXRjaEZsYWc6MH0se3FlOjE0MzM3LG5tcHM6MTAsbmxwczoxNCxzd2l0Y2hGbGFnOjB9LHtxZToxMjI4OSxubXBzOjExLG5scHM6MTcsc3dpdGNoRmxhZzowfSx7cWU6OTIxNyxubXBzOjEyLG5scHM6MTgsc3dpdGNoRmxhZzowfSx7cWU6NzE2OSxubXBzOjEzLG5scHM6MjAsc3dpdGNoRmxhZzowfSx7cWU6NTYzMyxubXBzOjI5LG5scHM6MjEsc3dpdGNoRmxhZzowfSx7cWU6MjIwMTcsbm1wczoxNSxubHBzOjE0LHN3aXRjaEZsYWc6MX0se3FlOjIxNTA1LG5tcHM6MTYsbmxwczoxNCxzd2l0Y2hGbGFnOjB9LHtxZToyMDczNyxubXBzOjE3LG5scHM6MTUsc3dpdGNoRmxhZzowfSx7cWU6MTg0MzMsbm1wczoxOCxubHBzOjE2LHN3aXRjaEZsYWc6MH0se3FlOjE0MzM3LG5tcHM6MTksbmxwczoxNyxzd2l0Y2hGbGFnOjB9LHtxZToxMzMxMyxubXBzOjIwLG5scHM6MTgsc3dpdGNoRmxhZzowfSx7cWU6MTIyODksbm1wczoyMSxubHBzOjE5LHN3aXRjaEZsYWc6MH0se3FlOjEwMjQxLG5tcHM6MjIsbmxwczoxOSxzd2l0Y2hGbGFnOjB9LHtxZTo5MjE3LG5tcHM6MjMsbmxwczoyMCxzd2l0Y2hGbGFnOjB9LHtxZTo4NzA1LG5tcHM6MjQsbmxwczoyMSxzd2l0Y2hGbGFnOjB9LHtxZTo3MTY5LG5tcHM6MjUsbmxwczoyMixzd2l0Y2hGbGFnOjB9LHtxZTo2MTQ1LG5tcHM6MjYsbmxwczoyMyxzd2l0Y2hGbGFnOjB9LHtxZTo1NjMzLG5tcHM6MjcsbmxwczoyNCxzd2l0Y2hGbGFnOjB9LHtxZTo1MTIxLG5tcHM6MjgsbmxwczoyNSxzd2l0Y2hGbGFnOjB9LHtxZTo0NjA5LG5tcHM6MjksbmxwczoyNixzd2l0Y2hGbGFnOjB9LHtxZTo0MzUzLG5tcHM6MzAsbmxwczoyNyxzd2l0Y2hGbGFnOjB9LHtxZToyNzUzLG5tcHM6MzEsbmxwczoyOCxzd2l0Y2hGbGFnOjB9LHtxZToyNDk3LG5tcHM6MzIsbmxwczoyOSxzd2l0Y2hGbGFnOjB9LHtxZToyMjA5LG5tcHM6MzMsbmxwczozMCxzd2l0Y2hGbGFnOjB9LHtxZToxMzEzLG5tcHM6MzQsbmxwczozMSxzd2l0Y2hGbGFnOjB9LHtxZToxMDg5LG5tcHM6MzUsbmxwczozMixzd2l0Y2hGbGFnOjB9LHtxZTo2NzMsbm1wczozNixubHBzOjMzLHN3aXRjaEZsYWc6MH0se3FlOjU0NSxubXBzOjM3LG5scHM6MzQsc3dpdGNoRmxhZzowfSx7cWU6MzIxLG5tcHM6MzgsbmxwczozNSxzd2l0Y2hGbGFnOjB9LHtxZToyNzMsbm1wczozOSxubHBzOjM2LHN3aXRjaEZsYWc6MH0se3FlOjEzMyxubXBzOjQwLG5scHM6Mzcsc3dpdGNoRmxhZzowfSx7cWU6NzMsbm1wczo0MSxubHBzOjM4LHN3aXRjaEZsYWc6MH0se3FlOjM3LG5tcHM6NDIsbmxwczozOSxzd2l0Y2hGbGFnOjB9LHtxZToyMSxubXBzOjQzLG5scHM6NDAsc3dpdGNoRmxhZzowfSx7cWU6OSxubXBzOjQ0LG5scHM6NDEsc3dpdGNoRmxhZzowfSx7cWU6NSxubXBzOjQ1LG5scHM6NDIsc3dpdGNoRmxhZzowfSx7cWU6MSxubXBzOjQ1LG5scHM6NDMsc3dpdGNoRmxhZzowfSx7cWU6MjIwMTcsbm1wczo0NixubHBzOjQ2LHN3aXRjaEZsYWc6MH1dO2NsYXNzIEFyaXRobWV0aWNEZWNvZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRhdGE9ZTt0aGlzLmJwPXQ7dGhpcy5kYXRhRW5kPWk7dGhpcy5jaGlnaD1lW3RdO3RoaXMuY2xvdz0wO3RoaXMuYnl0ZUluKCk7dGhpcy5jaGlnaD10aGlzLmNoaWdoPDw3JjY1NTM1fHRoaXMuY2xvdz4+OSYxMjc7dGhpcy5jbG93PXRoaXMuY2xvdzw8NyY2NTUzNTt0aGlzLmN0LT03O3RoaXMuYT0zMjc2OH1ieXRlSW4oKXtjb25zdCBlPXRoaXMuZGF0YTtsZXQgdD10aGlzLmJwO2lmKDI1NT09PWVbdF0paWYoZVt0KzFdPjE0Myl7dGhpcy5jbG93Kz02NTI4MDt0aGlzLmN0PTh9ZWxzZXt0Kys7dGhpcy5jbG93Kz1lW3RdPDw5O3RoaXMuY3Q9Nzt0aGlzLmJwPXR9ZWxzZXt0Kys7dGhpcy5jbG93Kz10PHRoaXMuZGF0YUVuZD9lW3RdPDw4OjY1MjgwO3RoaXMuY3Q9ODt0aGlzLmJwPXR9aWYodGhpcy5jbG93PjY1NTM1KXt0aGlzLmNoaWdoKz10aGlzLmNsb3c+PjE2O3RoaXMuY2xvdyY9NjU1MzV9fXJlYWRCaXQoZSx0KXtsZXQgaT1lW3RdPj4xLGE9MSZlW3RdO2NvbnN0IHM9WHRbaV0scj1zLnFlO2xldCBuLGc9dGhpcy5hLXI7aWYodGhpcy5jaGlnaDxyKWlmKGc8cil7Zz1yO249YTtpPXMubm1wc31lbHNle2c9cjtuPTFeYTsxPT09cy5zd2l0Y2hGbGFnJiYoYT1uKTtpPXMubmxwc31lbHNle3RoaXMuY2hpZ2gtPXI7aWYoMCE9KDMyNzY4JmcpKXt0aGlzLmE9ZztyZXR1cm4gYX1pZihnPHIpe249MV5hOzE9PT1zLnN3aXRjaEZsYWcmJihhPW4pO2k9cy5ubHBzfWVsc2V7bj1hO2k9cy5ubXBzfX1kb3swPT09dGhpcy5jdCYmdGhpcy5ieXRlSW4oKTtnPDw9MTt0aGlzLmNoaWdoPXRoaXMuY2hpZ2g8PDEmNjU1MzV8dGhpcy5jbG93Pj4xNSYxO3RoaXMuY2xvdz10aGlzLmNsb3c8PDEmNjU1MzU7dGhpcy5jdC0tfXdoaWxlKDA9PSgzMjc2OCZnKSk7dGhpcy5hPWc7ZVt0XT1pPDwxfGE7cmV0dXJuIG59fWNsYXNzIEpiaWcyRXJyb3IgZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJKYmlnMkVycm9yIil9fWNsYXNzIENvbnRleHRDYWNoZXtnZXRDb250ZXh0cyhlKXtyZXR1cm4gZSBpbiB0aGlzP3RoaXNbZV06dGhpc1tlXT1uZXcgSW50OEFycmF5KDY1NTM2KX19Y2xhc3MgRGVjb2RpbmdDb250ZXh0e2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRhdGE9ZTt0aGlzLnN0YXJ0PXQ7dGhpcy5lbmQ9aX1nZXQgZGVjb2Rlcigpe3JldHVybiBzaGFkb3codGhpcywiZGVjb2RlciIsbmV3IEFyaXRobWV0aWNEZWNvZGVyKHRoaXMuZGF0YSx0aGlzLnN0YXJ0LHRoaXMuZW5kKSl9Z2V0IGNvbnRleHRDYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiY29udGV4dENhY2hlIixuZXcgQ29udGV4dENhY2hlKX19ZnVuY3Rpb24gZGVjb2RlSW50ZWdlcihlLHQsaSl7Y29uc3QgYT1lLmdldENvbnRleHRzKHQpO2xldCBzPTE7ZnVuY3Rpb24gcmVhZEJpdHMoZSl7bGV0IHQ9MDtmb3IobGV0IHI9MDtyPGU7cisrKXtjb25zdCBlPWkucmVhZEJpdChhLHMpO3M9czwyNTY/czw8MXxlOjUxMSYoczw8MXxlKXwyNTY7dD10PDwxfGV9cmV0dXJuIHQ+Pj4wfWNvbnN0IHI9cmVhZEJpdHMoMSksbj1yZWFkQml0cygxKT9yZWFkQml0cygxKT9yZWFkQml0cygxKT9yZWFkQml0cygxKT9yZWFkQml0cygxKT9yZWFkQml0cygzMikrNDQzNjpyZWFkQml0cygxMikrMzQwOnJlYWRCaXRzKDgpKzg0OnJlYWRCaXRzKDYpKzIwOnJlYWRCaXRzKDQpKzQ6cmVhZEJpdHMoMik7bGV0IGc7MD09PXI/Zz1uOm4+MCYmKGc9LW4pO3JldHVybiBnPj1SdCYmZzw9a3Q/ZzpudWxsfWZ1bmN0aW9uIGRlY29kZUlBSUQoZSx0LGkpe2NvbnN0IGE9ZS5nZXRDb250ZXh0cygiSUFJRCIpO2xldCBzPTE7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7cz1zPDwxfHQucmVhZEJpdChhLHMpfXJldHVybiBpPDMxP3MmKDE8PGkpLTE6MjE0NzQ4MzY0NyZzfWNvbnN0IGp0PVsiU3ltYm9sRGljdGlvbmFyeSIsbnVsbCxudWxsLG51bGwsIkludGVybWVkaWF0ZVRleHRSZWdpb24iLG51bGwsIkltbWVkaWF0ZVRleHRSZWdpb24iLCJJbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb24iLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiUGF0dGVybkRpY3Rpb25hcnkiLG51bGwsbnVsbCxudWxsLCJJbnRlcm1lZGlhdGVIYWxmdG9uZVJlZ2lvbiIsbnVsbCwiSW1tZWRpYXRlSGFsZnRvbmVSZWdpb24iLCJJbW1lZGlhdGVMb3NzbGVzc0hhbGZ0b25lUmVnaW9uIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiSW50ZXJtZWRpYXRlR2VuZXJpY1JlZ2lvbiIsbnVsbCwiSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbiIsIkltbWVkaWF0ZUxvc3NsZXNzR2VuZXJpY1JlZ2lvbiIsIkludGVybWVkaWF0ZUdlbmVyaWNSZWZpbmVtZW50UmVnaW9uIixudWxsLCJJbW1lZGlhdGVHZW5lcmljUmVmaW5lbWVudFJlZ2lvbiIsIkltbWVkaWF0ZUxvc3NsZXNzR2VuZXJpY1JlZmluZW1lbnRSZWdpb24iLG51bGwsbnVsbCxudWxsLG51bGwsIlBhZ2VJbmZvcm1hdGlvbiIsIkVuZE9mUGFnZSIsIkVuZE9mU3RyaXBlIiwiRW5kT2ZGaWxlIiwiUHJvZmlsZXMiLCJUYWJsZXMiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiRXh0ZW5zaW9uIl0sWnQ9W1t7eDotMSx5Oi0yfSx7eDowLHk6LTJ9LHt4OjEseTotMn0se3g6LTIseTotMX0se3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4OjIseTotMX0se3g6LTQseTowfSx7eDotMyx5OjB9LHt4Oi0yLHk6MH0se3g6LTEseTowfV0sW3t4Oi0xLHk6LTJ9LHt4OjAseTotMn0se3g6MSx5Oi0yfSx7eDoyLHk6LTJ9LHt4Oi0yLHk6LTF9LHt4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDoyLHk6LTF9LHt4Oi0zLHk6MH0se3g6LTIseTowfSx7eDotMSx5OjB9XSxbe3g6LTEseTotMn0se3g6MCx5Oi0yfSx7eDoxLHk6LTJ9LHt4Oi0yLHk6LTF9LHt4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotMix5OjB9LHt4Oi0xLHk6MH1dLFt7eDotMyx5Oi0xfSx7eDotMix5Oi0xfSx7eDotMSx5Oi0xfSx7eDowLHk6LTF9LHt4OjEseTotMX0se3g6LTQseTowfSx7eDotMyx5OjB9LHt4Oi0yLHk6MH0se3g6LTEseTowfV1dLFZ0PVt7Y29kaW5nOlt7eDowLHk6LTF9LHt4OjEseTotMX0se3g6LTEseTowfV0scmVmZXJlbmNlOlt7eDowLHk6LTF9LHt4OjEseTotMX0se3g6LTEseTowfSx7eDowLHk6MH0se3g6MSx5OjB9LHt4Oi0xLHk6MX0se3g6MCx5OjF9LHt4OjEseToxfV19LHtjb2Rpbmc6W3t4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotMSx5OjB9XSxyZWZlcmVuY2U6W3t4OjAseTotMX0se3g6LTEseTowfSx7eDowLHk6MH0se3g6MSx5OjB9LHt4OjAseToxfSx7eDoxLHk6MX1dfV0senQ9WzM5NzE3LDE5NDEsMjI5LDQwNV0sX3Q9WzMyLDhdO2Z1bmN0aW9uIGRlY29kZUJpdG1hcChlLHQsaSxhLHMscixuLGcpe2lmKGUpe3JldHVybiBkZWNvZGVNTVJCaXRtYXAobmV3IFJlYWRlcihnLmRhdGEsZy5zdGFydCxnLmVuZCksdCxpLCExKX1pZigwPT09YSYmIXImJiFzJiY0PT09bi5sZW5ndGgmJjM9PT1uWzBdLngmJi0xPT09blswXS55JiYtMz09PW5bMV0ueCYmLTE9PT1uWzFdLnkmJjI9PT1uWzJdLngmJi0yPT09blsyXS55JiYtMj09PW5bM10ueCYmLTI9PT1uWzNdLnkpcmV0dXJuIGZ1bmN0aW9uIGRlY29kZUJpdG1hcFRlbXBsYXRlMChlLHQsaSl7Y29uc3QgYT1pLmRlY29kZXIscz1pLmNvbnRleHRDYWNoZS5nZXRDb250ZXh0cygiR0IiKSxyPVtdO2xldCBuLGcsbyxjLEMsaCxsO2ZvcihnPTA7Zzx0O2crKyl7Qz1yW2ddPW5ldyBVaW50OEFycmF5KGUpO2g9ZzwxP0M6cltnLTFdO2w9ZzwyP0M6cltnLTJdO249bFswXTw8MTN8bFsxXTw8MTJ8bFsyXTw8MTF8aFswXTw8N3xoWzFdPDw2fGhbMl08PDV8aFszXTw8NDtmb3Iobz0wO288ZTtvKyspe0Nbb109Yz1hLnJlYWRCaXQocyxuKTtuPSgzMTczNSZuKTw8MXwobyszPGU/bFtvKzNdPDwxMTowKXwobys0PGU/aFtvKzRdPDw0OjApfGN9fXJldHVybiByfSh0LGksZyk7Y29uc3Qgbz0hIXIsYz1adFthXS5jb25jYXQobik7Yy5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLnktdC55fHxlLngtdC54fSkpO2NvbnN0IEM9Yy5sZW5ndGgsaD1uZXcgSW50OEFycmF5KEMpLGw9bmV3IEludDhBcnJheShDKSxRPVtdO2xldCBFLHUsZD0wLGY9MCxwPTAsbT0wO2Zvcih1PTA7dTxDO3UrKyl7aFt1XT1jW3VdLng7bFt1XT1jW3VdLnk7Zj1NYXRoLm1pbihmLGNbdV0ueCk7cD1NYXRoLm1heChwLGNbdV0ueCk7bT1NYXRoLm1pbihtLGNbdV0ueSk7dTxDLTEmJmNbdV0ueT09PWNbdSsxXS55JiZjW3VdLng9PT1jW3UrMV0ueC0xP2R8PTE8PEMtMS11OlEucHVzaCh1KX1jb25zdCB5PVEubGVuZ3RoLHc9bmV3IEludDhBcnJheSh5KSxEPW5ldyBJbnQ4QXJyYXkoeSksYj1uZXcgVWludDE2QXJyYXkoeSk7Zm9yKEU9MDtFPHk7RSsrKXt1PVFbRV07d1tFXT1jW3VdLng7RFtFXT1jW3VdLnk7YltFXT0xPDxDLTEtdX1jb25zdCBGPS1mLFM9LW0saz10LXAsUj16dFthXTtsZXQgTj1uZXcgVWludDhBcnJheSh0KTtjb25zdCBHPVtdLHg9Zy5kZWNvZGVyLFU9Zy5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoIkdCIik7bGV0IE0sTCxILEosWSx2PTAsVD0wO2ZvcihsZXQgZT0wO2U8aTtlKyspe2lmKHMpe3ZePXgucmVhZEJpdChVLFIpO2lmKHYpe0cucHVzaChOKTtjb250aW51ZX19Tj1uZXcgVWludDhBcnJheShOKTtHLnB1c2goTik7Zm9yKE09MDtNPHQ7TSsrKXtpZihvJiZyW2VdW01dKXtOW01dPTA7Y29udGludWV9aWYoTT49RiYmTTxrJiZlPj1TKXtUPVQ8PDEmZDtmb3IodT0wO3U8eTt1Kyspe0w9ZStEW3VdO0g9TSt3W3VdO0o9R1tMXVtIXTtpZihKKXtKPWJbdV07VHw9Sn19fWVsc2V7VD0wO1k9Qy0xO2Zvcih1PTA7dTxDO3UrKyxZLS0pe0g9TStoW3VdO2lmKEg+PTAmJkg8dCl7TD1lK2xbdV07aWYoTD49MCl7Sj1HW0xdW0hdO0omJihUfD1KPDxZKX19fX1jb25zdCBpPXgucmVhZEJpdChVLFQpO05bTV09aX19cmV0dXJuIEd9ZnVuY3Rpb24gZGVjb2RlUmVmaW5lbWVudChlLHQsaSxhLHMscixuLGcsbyl7bGV0IGM9VnRbaV0uY29kaW5nOzA9PT1pJiYoYz1jLmNvbmNhdChbZ1swXV0pKTtjb25zdCBDPWMubGVuZ3RoLGg9bmV3IEludDMyQXJyYXkoQyksbD1uZXcgSW50MzJBcnJheShDKTtsZXQgUTtmb3IoUT0wO1E8QztRKyspe2hbUV09Y1tRXS54O2xbUV09Y1tRXS55fWxldCBFPVZ0W2ldLnJlZmVyZW5jZTswPT09aSYmKEU9RS5jb25jYXQoW2dbMV1dKSk7Y29uc3QgdT1FLmxlbmd0aCxkPW5ldyBJbnQzMkFycmF5KHUpLGY9bmV3IEludDMyQXJyYXkodSk7Zm9yKFE9MDtRPHU7USsrKXtkW1FdPUVbUV0ueDtmW1FdPUVbUV0ueX1jb25zdCBwPWFbMF0ubGVuZ3RoLG09YS5sZW5ndGgseT1fdFtpXSx3PVtdLEQ9by5kZWNvZGVyLGI9by5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoIkdSIik7bGV0IEY9MDtmb3IobGV0IGk9MDtpPHQ7aSsrKXtpZihuKXtGXj1ELnJlYWRCaXQoYix5KTtpZihGKXRocm93IG5ldyBKYmlnMkVycm9yKCJwcmVkaWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiKX1jb25zdCB0PW5ldyBVaW50OEFycmF5KGUpO3cucHVzaCh0KTtmb3IobGV0IG49MDtuPGU7bisrKXtsZXQgZyxvLGM9MDtmb3IoUT0wO1E8QztRKyspe2c9aStsW1FdO289bitoW1FdO2c8MHx8bzwwfHxvPj1lP2M8PD0xOmM9Yzw8MXx3W2ddW29dfWZvcihRPTA7UTx1O1ErKyl7Zz1pK2ZbUV0tcjtvPW4rZFtRXS1zO2c8MHx8Zz49bXx8bzwwfHxvPj1wP2M8PD0xOmM9Yzw8MXxhW2ddW29dfWNvbnN0IEU9RC5yZWFkQml0KGIsYyk7dFtuXT1FfX1yZXR1cm4gd31mdW5jdGlvbiBkZWNvZGVUZXh0UmVnaW9uKGUsdCxpLGEscyxyLG4sZyxvLGMsQyxoLGwsUSxFLHUsZCxmLHApe2lmKGUmJnQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInJlZmluZW1lbnQgd2l0aCBIdWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQiKTtjb25zdCBtPVtdO2xldCB5LHc7Zm9yKHk9MDt5PGE7eSsrKXt3PW5ldyBVaW50OEFycmF5KGkpO2lmKHMpZm9yKGxldCBlPTA7ZTxpO2UrKyl3W2VdPXM7bS5wdXNoKHcpfWNvbnN0IEQ9ZC5kZWNvZGVyLGI9ZC5jb250ZXh0Q2FjaGU7bGV0IEY9ZT8tUS50YWJsZURlbHRhVC5kZWNvZGUocCk6LWRlY29kZUludGVnZXIoYiwiSUFEVCIsRCksUz0wO3k9MDtmb3IoO3k8cjspe0YrPWU/US50YWJsZURlbHRhVC5kZWNvZGUocCk6ZGVjb2RlSW50ZWdlcihiLCJJQURUIixEKTtTKz1lP1EudGFibGVGaXJzdFMuZGVjb2RlKHApOmRlY29kZUludGVnZXIoYiwiSUFGUyIsRCk7bGV0IGE9Uztmb3IoOzspe2xldCBzPTA7bj4xJiYocz1lP3AucmVhZEJpdHMoZik6ZGVjb2RlSW50ZWdlcihiLCJJQUlUIixEKSk7Y29uc3Qgcj1uKkYrcyxTPWU/US5zeW1ib2xJRFRhYmxlLmRlY29kZShwKTpkZWNvZGVJQUlEKGIsRCxvKSxrPXQmJihlP3AucmVhZEJpdCgpOmRlY29kZUludGVnZXIoYiwiSUFSSSIsRCkpO2xldCBSPWdbU10sTj1SWzBdLmxlbmd0aCxHPVIubGVuZ3RoO2lmKGspe2NvbnN0IGU9ZGVjb2RlSW50ZWdlcihiLCJJQVJEVyIsRCksdD1kZWNvZGVJbnRlZ2VyKGIsIklBUkRIIixEKTtOKz1lO0crPXQ7Uj1kZWNvZGVSZWZpbmVtZW50KE4sRyxFLFIsKGU+PjEpK2RlY29kZUludGVnZXIoYiwiSUFSRFgiLEQpLCh0Pj4xKStkZWNvZGVJbnRlZ2VyKGIsIklBUkRZIixEKSwhMSx1LGQpfWxldCB4PTA7Yz8xJmg/eD1HLTE6YSs9Ry0xOmg+MT9hKz1OLTE6eD1OLTE7Y29uc3QgVT1yLSgxJmg/MDpHLTEpLE09YS0oMiZoP04tMTowKTtsZXQgTCxILEo7aWYoYylmb3IoTD0wO0w8RztMKyspe3c9bVtNK0xdO2lmKCF3KWNvbnRpbnVlO0o9UltMXTtjb25zdCBlPU1hdGgubWluKGktVSxOKTtzd2l0Y2gobCl7Y2FzZSAwOmZvcihIPTA7SDxlO0grKyl3W1UrSF18PUpbSF07YnJlYWs7Y2FzZSAyOmZvcihIPTA7SDxlO0grKyl3W1UrSF1ePUpbSF07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgb3BlcmF0b3IgJHtsfSBpcyBub3Qgc3VwcG9ydGVkYCl9fWVsc2UgZm9yKEg9MDtIPEc7SCsrKXt3PW1bVStIXTtpZih3KXtKPVJbSF07c3dpdGNoKGwpe2Nhc2UgMDpmb3IoTD0wO0w8TjtMKyspd1tNK0xdfD1KW0xdO2JyZWFrO2Nhc2UgMjpmb3IoTD0wO0w8TjtMKyspd1tNK0xdXj1KW0xdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoYG9wZXJhdG9yICR7bH0gaXMgbm90IHN1cHBvcnRlZGApfX19eSsrO2NvbnN0IFk9ZT9RLnRhYmxlRGVsdGFTLmRlY29kZShwKTpkZWNvZGVJbnRlZ2VyKGIsIklBRFMiLEQpO2lmKG51bGw9PT1ZKWJyZWFrO2ErPXgrWStDfX1yZXR1cm4gbX1mdW5jdGlvbiByZWFkU2VnbWVudEhlYWRlcihlLHQpe2NvbnN0IGk9e307aS5udW1iZXI9cmVhZFVpbnQzMihlLHQpO2NvbnN0IGE9ZVt0KzRdLHM9NjMmYTtpZighanRbc10pdGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgc2VnbWVudCB0eXBlOiAiK3MpO2kudHlwZT1zO2kudHlwZU5hbWU9anRbc107aS5kZWZlcnJlZE5vblJldGFpbj0hISgxMjgmYSk7Y29uc3Qgcj0hISg2NCZhKSxuPWVbdCs1XTtsZXQgZz1uPj41Jjc7Y29uc3Qgbz1bMzEmbl07bGV0IGM9dCs2O2lmKDc9PT1uKXtnPTUzNjg3MDkxMSZyZWFkVWludDMyKGUsYy0xKTtjKz0zO2xldCB0PWcrNz4+MztvWzBdPWVbYysrXTtmb3IoOy0tdD4wOylvLnB1c2goZVtjKytdKX1lbHNlIGlmKDU9PT1ufHw2PT09bil0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCByZWZlcnJlZC10byBmbGFncyIpO2kucmV0YWluQml0cz1vO2xldCBDPTQ7aS5udW1iZXI8PTI1Nj9DPTE6aS5udW1iZXI8PTY1NTM2JiYoQz0yKTtjb25zdCBoPVtdO2xldCBsLFE7Zm9yKGw9MDtsPGc7bCsrKXtsZXQgdDt0PTE9PT1DP2VbY106Mj09PUM/cmVhZFVpbnQxNihlLGMpOnJlYWRVaW50MzIoZSxjKTtoLnB1c2godCk7Yys9Q31pLnJlZmVycmVkVG89aDtpZihyKXtpLnBhZ2VBc3NvY2lhdGlvbj1yZWFkVWludDMyKGUsYyk7Yys9NH1lbHNlIGkucGFnZUFzc29jaWF0aW9uPWVbYysrXTtpLmxlbmd0aD1yZWFkVWludDMyKGUsYyk7Yys9NDtpZig0Mjk0OTY3Mjk1PT09aS5sZW5ndGgpe2lmKDM4IT09cyl0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCB1bmtub3duIHNlZ21lbnQgbGVuZ3RoIik7e2NvbnN0IHQ9cmVhZFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbihlLGMpLGE9ISEoMSZlW2MrJHRdKSxzPTYscj1uZXcgVWludDhBcnJheShzKTtpZighYSl7clswXT0yNTU7clsxXT0xNzJ9clsyXT10LmhlaWdodD4+PjI0JjI1NTtyWzNdPXQuaGVpZ2h0Pj4xNiYyNTU7cls0XT10LmhlaWdodD4+OCYyNTU7cls1XT0yNTUmdC5oZWlnaHQ7Zm9yKGw9YyxRPWUubGVuZ3RoO2w8UTtsKyspe2xldCB0PTA7Zm9yKDt0PHMmJnJbdF09PT1lW2wrdF07KXQrKztpZih0PT09cyl7aS5sZW5ndGg9bCtzO2JyZWFrfX1pZig0Mjk0OTY3Mjk1PT09aS5sZW5ndGgpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInNlZ21lbnQgZW5kIHdhcyBub3QgZm91bmQiKX19aS5oZWFkZXJFbmQ9YztyZXR1cm4gaX1mdW5jdGlvbiByZWFkU2VnbWVudHMoZSx0LGksYSl7Y29uc3Qgcz1bXTtsZXQgcj1pO2Zvcig7cjxhOyl7Y29uc3QgaT1yZWFkU2VnbWVudEhlYWRlcih0LHIpO3I9aS5oZWFkZXJFbmQ7Y29uc3QgYT17aGVhZGVyOmksZGF0YTp0fTtpZighZS5yYW5kb21BY2Nlc3Mpe2Euc3RhcnQ9cjtyKz1pLmxlbmd0aDthLmVuZD1yfXMucHVzaChhKTtpZig1MT09PWkudHlwZSlicmVha31pZihlLnJhbmRvbUFjY2Vzcylmb3IobGV0IGU9MCx0PXMubGVuZ3RoO2U8dDtlKyspe3NbZV0uc3RhcnQ9cjtyKz1zW2VdLmhlYWRlci5sZW5ndGg7c1tlXS5lbmQ9cn1yZXR1cm4gc31mdW5jdGlvbiByZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGUsdCl7cmV0dXJue3dpZHRoOnJlYWRVaW50MzIoZSx0KSxoZWlnaHQ6cmVhZFVpbnQzMihlLHQrNCkseDpyZWFkVWludDMyKGUsdCs4KSx5OnJlYWRVaW50MzIoZSx0KzEyKSxjb21iaW5hdGlvbk9wZXJhdG9yOjcmZVt0KzE2XX19Y29uc3QgJHQ9MTc7ZnVuY3Rpb24gcHJvY2Vzc1NlZ21lbnQoZSx0KXtjb25zdCBpPWUuaGVhZGVyLGE9ZS5kYXRhLHM9ZS5lbmQ7bGV0IHIsbixnLG8sYz1lLnN0YXJ0O3N3aXRjaChpLnR5cGUpe2Nhc2UgMDpjb25zdCBlPXt9LHQ9cmVhZFVpbnQxNihhLGMpO2UuaHVmZm1hbj0hISgxJnQpO2UucmVmaW5lbWVudD0hISgyJnQpO2UuaHVmZm1hbkRIU2VsZWN0b3I9dD4+MiYzO2UuaHVmZm1hbkRXU2VsZWN0b3I9dD4+NCYzO2UuYml0bWFwU2l6ZVNlbGVjdG9yPXQ+PjYmMTtlLmFnZ3JlZ2F0aW9uSW5zdGFuY2VzU2VsZWN0b3I9dD4+NyYxO2UuYml0bWFwQ29kaW5nQ29udGV4dFVzZWQ9ISEoMjU2JnQpO2UuYml0bWFwQ29kaW5nQ29udGV4dFJldGFpbmVkPSEhKDUxMiZ0KTtlLnRlbXBsYXRlPXQ+PjEwJjM7ZS5yZWZpbmVtZW50VGVtcGxhdGU9dD4+MTImMTtjKz0yO2lmKCFlLmh1ZmZtYW4pe289MD09PWUudGVtcGxhdGU/NDoxO249W107Zm9yKGc9MDtnPG87ZysrKXtuLnB1c2goe3g6cmVhZEludDgoYSxjKSx5OnJlYWRJbnQ4KGEsYysxKX0pO2MrPTJ9ZS5hdD1ufWlmKGUucmVmaW5lbWVudCYmIWUucmVmaW5lbWVudFRlbXBsYXRlKXtuPVtdO2ZvcihnPTA7ZzwyO2crKyl7bi5wdXNoKHt4OnJlYWRJbnQ4KGEsYykseTpyZWFkSW50OChhLGMrMSl9KTtjKz0yfWUucmVmaW5lbWVudEF0PW59ZS5udW1iZXJPZkV4cG9ydGVkU3ltYm9scz1yZWFkVWludDMyKGEsYyk7Yys9NDtlLm51bWJlck9mTmV3U3ltYm9scz1yZWFkVWludDMyKGEsYyk7Yys9NDtyPVtlLGkubnVtYmVyLGkucmVmZXJyZWRUbyxhLGMsc107YnJlYWs7Y2FzZSA2OmNhc2UgNzpjb25zdCBDPXt9O0MuaW5mbz1yZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGEsYyk7Yys9JHQ7Y29uc3QgaD1yZWFkVWludDE2KGEsYyk7Yys9MjtDLmh1ZmZtYW49ISEoMSZoKTtDLnJlZmluZW1lbnQ9ISEoMiZoKTtDLmxvZ1N0cmlwU2l6ZT1oPj4yJjM7Qy5zdHJpcFNpemU9MTw8Qy5sb2dTdHJpcFNpemU7Qy5yZWZlcmVuY2VDb3JuZXI9aD4+NCYzO0MudHJhbnNwb3NlZD0hISg2NCZoKTtDLmNvbWJpbmF0aW9uT3BlcmF0b3I9aD4+NyYzO0MuZGVmYXVsdFBpeGVsVmFsdWU9aD4+OSYxO0MuZHNPZmZzZXQ9aDw8MTc+PjI3O0MucmVmaW5lbWVudFRlbXBsYXRlPWg+PjE1JjE7aWYoQy5odWZmbWFuKXtjb25zdCBlPXJlYWRVaW50MTYoYSxjKTtjKz0yO0MuaHVmZm1hbkZTPTMmZTtDLmh1ZmZtYW5EUz1lPj4yJjM7Qy5odWZmbWFuRFQ9ZT4+NCYzO0MuaHVmZm1hblJlZmluZW1lbnREVz1lPj42JjM7Qy5odWZmbWFuUmVmaW5lbWVudERIPWU+PjgmMztDLmh1ZmZtYW5SZWZpbmVtZW50RFg9ZT4+MTAmMztDLmh1ZmZtYW5SZWZpbmVtZW50RFk9ZT4+MTImMztDLmh1ZmZtYW5SZWZpbmVtZW50U2l6ZVNlbGVjdG9yPSEhKDE2Mzg0JmUpfWlmKEMucmVmaW5lbWVudCYmIUMucmVmaW5lbWVudFRlbXBsYXRlKXtuPVtdO2ZvcihnPTA7ZzwyO2crKyl7bi5wdXNoKHt4OnJlYWRJbnQ4KGEsYykseTpyZWFkSW50OChhLGMrMSl9KTtjKz0yfUMucmVmaW5lbWVudEF0PW59Qy5udW1iZXJPZlN5bWJvbEluc3RhbmNlcz1yZWFkVWludDMyKGEsYyk7Yys9NDtyPVtDLGkucmVmZXJyZWRUbyxhLGMsc107YnJlYWs7Y2FzZSAxNjpjb25zdCBsPXt9LFE9YVtjKytdO2wubW1yPSEhKDEmUSk7bC50ZW1wbGF0ZT1RPj4xJjM7bC5wYXR0ZXJuV2lkdGg9YVtjKytdO2wucGF0dGVybkhlaWdodD1hW2MrK107bC5tYXhQYXR0ZXJuSW5kZXg9cmVhZFVpbnQzMihhLGMpO2MrPTQ7cj1bbCxpLm51bWJlcixhLGMsc107YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmNvbnN0IEU9e307RS5pbmZvPXJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oYSxjKTtjKz0kdDtjb25zdCB1PWFbYysrXTtFLm1tcj0hISgxJnUpO0UudGVtcGxhdGU9dT4+MSYzO0UuZW5hYmxlU2tpcD0hISg4JnUpO0UuY29tYmluYXRpb25PcGVyYXRvcj11Pj40Jjc7RS5kZWZhdWx0UGl4ZWxWYWx1ZT11Pj43JjE7RS5ncmlkV2lkdGg9cmVhZFVpbnQzMihhLGMpO2MrPTQ7RS5ncmlkSGVpZ2h0PXJlYWRVaW50MzIoYSxjKTtjKz00O0UuZ3JpZE9mZnNldFg9NDI5NDk2NzI5NSZyZWFkVWludDMyKGEsYyk7Yys9NDtFLmdyaWRPZmZzZXRZPTQyOTQ5NjcyOTUmcmVhZFVpbnQzMihhLGMpO2MrPTQ7RS5ncmlkVmVjdG9yWD1yZWFkVWludDE2KGEsYyk7Yys9MjtFLmdyaWRWZWN0b3JZPXJlYWRVaW50MTYoYSxjKTtjKz0yO3I9W0UsaS5yZWZlcnJlZFRvLGEsYyxzXTticmVhaztjYXNlIDM4OmNhc2UgMzk6Y29uc3QgZD17fTtkLmluZm89cmVhZFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbihhLGMpO2MrPSR0O2NvbnN0IGY9YVtjKytdO2QubW1yPSEhKDEmZik7ZC50ZW1wbGF0ZT1mPj4xJjM7ZC5wcmVkaWN0aW9uPSEhKDgmZik7aWYoIWQubW1yKXtvPTA9PT1kLnRlbXBsYXRlPzQ6MTtuPVtdO2ZvcihnPTA7ZzxvO2crKyl7bi5wdXNoKHt4OnJlYWRJbnQ4KGEsYykseTpyZWFkSW50OChhLGMrMSl9KTtjKz0yfWQuYXQ9bn1yPVtkLGEsYyxzXTticmVhaztjYXNlIDQ4OmNvbnN0IHA9e3dpZHRoOnJlYWRVaW50MzIoYSxjKSxoZWlnaHQ6cmVhZFVpbnQzMihhLGMrNCkscmVzb2x1dGlvblg6cmVhZFVpbnQzMihhLGMrOCkscmVzb2x1dGlvblk6cmVhZFVpbnQzMihhLGMrMTIpfTs0Mjk0OTY3Mjk1PT09cC5oZWlnaHQmJmRlbGV0ZSBwLmhlaWdodDtjb25zdCBtPWFbYysxNl07cmVhZFVpbnQxNihhLGMrMTcpO3AubG9zc2xlc3M9ISEoMSZtKTtwLnJlZmluZW1lbnQ9ISEoMiZtKTtwLmRlZmF1bHRQaXhlbFZhbHVlPW0+PjImMTtwLmNvbWJpbmF0aW9uT3BlcmF0b3I9bT4+MyYzO3AucmVxdWlyZXNCdWZmZXI9ISEoMzImbSk7cC5jb21iaW5hdGlvbk9wZXJhdG9yT3ZlcnJpZGU9ISEoNjQmbSk7cj1bcF07YnJlYWs7Y2FzZSA0OTpjYXNlIDUwOmNhc2UgNTE6Y2FzZSA2MjpicmVhaztjYXNlIDUzOnI9W2kubnVtYmVyLGEsYyxzXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKGBzZWdtZW50IHR5cGUgJHtpLnR5cGVOYW1lfSgke2kudHlwZX0pIGlzIG5vdCBpbXBsZW1lbnRlZGApfWNvbnN0IEM9Im9uIitpLnR5cGVOYW1lO0MgaW4gdCYmdFtDXS5hcHBseSh0LHIpfWZ1bmN0aW9uIHByb2Nlc3NTZWdtZW50cyhlLHQpe2ZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhO2krKylwcm9jZXNzU2VnbWVudChlW2ldLHQpfWNsYXNzIFNpbXBsZVNlZ21lbnRWaXNpdG9ye29uUGFnZUluZm9ybWF0aW9uKGUpe3RoaXMuY3VycmVudFBhZ2VJbmZvPWU7Y29uc3QgdD1lLndpZHRoKzc+PjMsaT1uZXcgVWludDhDbGFtcGVkQXJyYXkodCplLmhlaWdodCk7ZS5kZWZhdWx0UGl4ZWxWYWx1ZSYmaS5maWxsKDI1NSk7dGhpcy5idWZmZXI9aX1kcmF3Qml0bWFwKGUsdCl7Y29uc3QgaT10aGlzLmN1cnJlbnRQYWdlSW5mbyxhPWUud2lkdGgscz1lLmhlaWdodCxyPWkud2lkdGgrNz4+MyxuPWkuY29tYmluYXRpb25PcGVyYXRvck92ZXJyaWRlP2UuY29tYmluYXRpb25PcGVyYXRvcjppLmNvbWJpbmF0aW9uT3BlcmF0b3IsZz10aGlzLmJ1ZmZlcixvPTEyOD4+KDcmZS54KTtsZXQgYyxDLGgsbCxRPWUueSpyKyhlLng+PjMpO3N3aXRjaChuKXtjYXNlIDA6Zm9yKGM9MDtjPHM7YysrKXtoPW87bD1RO2ZvcihDPTA7QzxhO0MrKyl7dFtjXVtDXSYmKGdbbF18PWgpO2g+Pj0xO2lmKCFoKXtoPTEyODtsKyt9fVErPXJ9YnJlYWs7Y2FzZSAyOmZvcihjPTA7YzxzO2MrKyl7aD1vO2w9UTtmb3IoQz0wO0M8YTtDKyspe3RbY11bQ10mJihnW2xdXj1oKTtoPj49MTtpZighaCl7aD0xMjg7bCsrfX1RKz1yfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoYG9wZXJhdG9yICR7bn0gaXMgbm90IHN1cHBvcnRlZGApfX1vbkltbWVkaWF0ZUdlbmVyaWNSZWdpb24oZSx0LGksYSl7Y29uc3Qgcz1lLmluZm8scj1uZXcgRGVjb2RpbmdDb250ZXh0KHQsaSxhKSxuPWRlY29kZUJpdG1hcChlLm1tcixzLndpZHRoLHMuaGVpZ2h0LGUudGVtcGxhdGUsZS5wcmVkaWN0aW9uLG51bGwsZS5hdCxyKTt0aGlzLmRyYXdCaXRtYXAocyxuKX1vbkltbWVkaWF0ZUxvc3NsZXNzR2VuZXJpY1JlZ2lvbigpe3RoaXMub25JbW1lZGlhdGVHZW5lcmljUmVnaW9uKC4uLmFyZ3VtZW50cyl9b25TeW1ib2xEaWN0aW9uYXJ5KGUsdCxpLGEscyxyKXtsZXQgbixnO2lmKGUuaHVmZm1hbil7bj1mdW5jdGlvbiBnZXRTeW1ib2xEaWN0aW9uYXJ5SHVmZm1hblRhYmxlcyhlLHQsaSl7bGV0IGEscyxyLG4sZz0wO3N3aXRjaChlLmh1ZmZtYW5ESFNlbGVjdG9yKXtjYXNlIDA6Y2FzZSAxOmE9Z2V0U3RhbmRhcmRUYWJsZShlLmh1ZmZtYW5ESFNlbGVjdG9yKzQpO2JyZWFrO2Nhc2UgMzphPWdldEN1c3RvbUh1ZmZtYW5UYWJsZShnLHQsaSk7ZysrO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBESCBzZWxlY3RvciIpfXN3aXRjaChlLmh1ZmZtYW5EV1NlbGVjdG9yKXtjYXNlIDA6Y2FzZSAxOnM9Z2V0U3RhbmRhcmRUYWJsZShlLmh1ZmZtYW5EV1NlbGVjdG9yKzIpO2JyZWFrO2Nhc2UgMzpzPWdldEN1c3RvbUh1ZmZtYW5UYWJsZShnLHQsaSk7ZysrO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBEVyBzZWxlY3RvciIpfWlmKGUuYml0bWFwU2l6ZVNlbGVjdG9yKXtyPWdldEN1c3RvbUh1ZmZtYW5UYWJsZShnLHQsaSk7ZysrfWVsc2Ugcj1nZXRTdGFuZGFyZFRhYmxlKDEpO249ZS5hZ2dyZWdhdGlvbkluc3RhbmNlc1NlbGVjdG9yP2dldEN1c3RvbUh1ZmZtYW5UYWJsZShnLHQsaSk6Z2V0U3RhbmRhcmRUYWJsZSgxKTtyZXR1cm57dGFibGVEZWx0YUhlaWdodDphLHRhYmxlRGVsdGFXaWR0aDpzLHRhYmxlQml0bWFwU2l6ZTpyLHRhYmxlQWdncmVnYXRlSW5zdGFuY2VzOm59fShlLGksdGhpcy5jdXN0b21UYWJsZXMpO2c9bmV3IFJlYWRlcihhLHMscil9bGV0IG89dGhpcy5zeW1ib2xzO298fCh0aGlzLnN5bWJvbHM9bz17fSk7Y29uc3QgYz1bXTtmb3IoY29uc3QgZSBvZiBpKXtjb25zdCB0PW9bZV07dCYmYy5wdXNoKC4uLnQpfWNvbnN0IEM9bmV3IERlY29kaW5nQ29udGV4dChhLHMscik7b1t0XT1mdW5jdGlvbiBkZWNvZGVTeW1ib2xEaWN0aW9uYXJ5KGUsdCxpLGEscyxyLG4sZyxvLGMsQyxoKXtpZihlJiZ0KXRocm93IG5ldyBKYmlnMkVycm9yKCJzeW1ib2wgcmVmaW5lbWVudCB3aXRoIEh1ZmZtYW4gaXMgbm90IHN1cHBvcnRlZCIpO2NvbnN0IGw9W107bGV0IFE9MCxFPWxvZzIoaS5sZW5ndGgrYSk7Y29uc3QgdT1DLmRlY29kZXIsZD1DLmNvbnRleHRDYWNoZTtsZXQgZixwO2lmKGUpe2Y9Z2V0U3RhbmRhcmRUYWJsZSgxKTtwPVtdO0U9TWF0aC5tYXgoRSwxKX1mb3IoO2wubGVuZ3RoPGE7KXtRKz1lP3IudGFibGVEZWx0YUhlaWdodC5kZWNvZGUoaCk6ZGVjb2RlSW50ZWdlcihkLCJJQURIIix1KTtsZXQgYT0wLHM9MDtjb25zdCBmPWU/cC5sZW5ndGg6MDtmb3IoOzspe2NvbnN0IGY9ZT9yLnRhYmxlRGVsdGFXaWR0aC5kZWNvZGUoaCk6ZGVjb2RlSW50ZWdlcihkLCJJQURXIix1KTtpZihudWxsPT09ZilicmVhazthKz1mO3MrPWE7bGV0IG07aWYodCl7Y29uc3Qgcz1kZWNvZGVJbnRlZ2VyKGQsIklBQUkiLHUpO2lmKHM+MSltPWRlY29kZVRleHRSZWdpb24oZSx0LGEsUSwwLHMsMSxpLmNvbmNhdChsKSxFLDAsMCwxLDAscixvLGMsQywwLGgpO2Vsc2V7Y29uc3QgZT1kZWNvZGVJQUlEKGQsdSxFKSx0PWRlY29kZUludGVnZXIoZCwiSUFSRFgiLHUpLHM9ZGVjb2RlSW50ZWdlcihkLCJJQVJEWSIsdSk7bT1kZWNvZGVSZWZpbmVtZW50KGEsUSxvLGU8aS5sZW5ndGg/aVtlXTpsW2UtaS5sZW5ndGhdLHQscywhMSxjLEMpfWwucHVzaChtKX1lbHNlIGlmKGUpcC5wdXNoKGEpO2Vsc2V7bT1kZWNvZGVCaXRtYXAoITEsYSxRLG4sITEsbnVsbCxnLEMpO2wucHVzaChtKX19aWYoZSYmIXQpe2NvbnN0IGU9ci50YWJsZUJpdG1hcFNpemUuZGVjb2RlKGgpO2guYnl0ZUFsaWduKCk7bGV0IHQ7aWYoMD09PWUpdD1yZWFkVW5jb21wcmVzc2VkQml0bWFwKGgscyxRKTtlbHNle2NvbnN0IGk9aC5lbmQsYT1oLnBvc2l0aW9uK2U7aC5lbmQ9YTt0PWRlY29kZU1NUkJpdG1hcChoLHMsUSwhMSk7aC5lbmQ9aTtoLnBvc2l0aW9uPWF9Y29uc3QgaT1wLmxlbmd0aDtpZihmPT09aS0xKWwucHVzaCh0KTtlbHNle2xldCBlLGEscyxyLG4sZz0wO2ZvcihlPWY7ZTxpO2UrKyl7cj1wW2VdO3M9ZytyO249W107Zm9yKGE9MDthPFE7YSsrKW4ucHVzaCh0W2FdLnN1YmFycmF5KGcscykpO2wucHVzaChuKTtnPXN9fX19Y29uc3QgbT1bXSx5PVtdO2xldCB3LEQsYj0hMTtjb25zdCBGPWkubGVuZ3RoK2E7Zm9yKDt5Lmxlbmd0aDxGOyl7bGV0IHQ9ZT9mLmRlY29kZShoKTpkZWNvZGVJbnRlZ2VyKGQsIklBRVgiLHUpO2Zvcig7dC0tOyl5LnB1c2goYik7Yj0hYn1mb3Iodz0wLEQ9aS5sZW5ndGg7dzxEO3crKyl5W3ddJiZtLnB1c2goaVt3XSk7Zm9yKGxldCBlPTA7ZTxhO3crKyxlKyspeVt3XSYmbS5wdXNoKGxbZV0pO3JldHVybiBtfShlLmh1ZmZtYW4sZS5yZWZpbmVtZW50LGMsZS5udW1iZXJPZk5ld1N5bWJvbHMsZS5udW1iZXJPZkV4cG9ydGVkU3ltYm9scyxuLGUudGVtcGxhdGUsZS5hdCxlLnJlZmluZW1lbnRUZW1wbGF0ZSxlLnJlZmluZW1lbnRBdCxDLGcpfW9uSW1tZWRpYXRlVGV4dFJlZ2lvbihlLHQsaSxhLHMpe2NvbnN0IHI9ZS5pbmZvO2xldCBuLGc7Y29uc3Qgbz10aGlzLnN5bWJvbHMsYz1bXTtmb3IoY29uc3QgZSBvZiB0KXtjb25zdCB0PW9bZV07dCYmYy5wdXNoKC4uLnQpfWNvbnN0IEM9bG9nMihjLmxlbmd0aCk7aWYoZS5odWZmbWFuKXtnPW5ldyBSZWFkZXIoaSxhLHMpO249ZnVuY3Rpb24gZ2V0VGV4dFJlZ2lvbkh1ZmZtYW5UYWJsZXMoZSx0LGksYSxzKXtjb25zdCByPVtdO2ZvcihsZXQgZT0wO2U8PTM0O2UrKyl7Y29uc3QgdD1zLnJlYWRCaXRzKDQpO3IucHVzaChuZXcgSHVmZm1hbkxpbmUoW2UsdCwwLDBdKSl9Y29uc3Qgbj1uZXcgSHVmZm1hblRhYmxlKHIsITEpO3IubGVuZ3RoPTA7Zm9yKGxldCBlPTA7ZTxhOyl7Y29uc3QgdD1uLmRlY29kZShzKTtpZih0Pj0zMil7bGV0IGksYSxuO3N3aXRjaCh0KXtjYXNlIDMyOmlmKDA9PT1lKXRocm93IG5ldyBKYmlnMkVycm9yKCJubyBwcmV2aW91cyB2YWx1ZSBpbiBzeW1ib2wgSUQgdGFibGUiKTthPXMucmVhZEJpdHMoMikrMztpPXJbZS0xXS5wcmVmaXhMZW5ndGg7YnJlYWs7Y2FzZSAzMzphPXMucmVhZEJpdHMoMykrMztpPTA7YnJlYWs7Y2FzZSAzNDphPXMucmVhZEJpdHMoNykrMTE7aT0wO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgY29kZSBsZW5ndGggaW4gc3ltYm9sIElEIHRhYmxlIil9Zm9yKG49MDtuPGE7bisrKXtyLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtlLGksMCwwXSkpO2UrK319ZWxzZXtyLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtlLHQsMCwwXSkpO2UrK319cy5ieXRlQWxpZ24oKTtjb25zdCBnPW5ldyBIdWZmbWFuVGFibGUociwhMSk7bGV0IG8sYyxDLGg9MDtzd2l0Y2goZS5odWZmbWFuRlMpe2Nhc2UgMDpjYXNlIDE6bz1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkZTKzYpO2JyZWFrO2Nhc2UgMzpvPWdldEN1c3RvbUh1ZmZtYW5UYWJsZShoLHQsaSk7aCsrO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBGUyBzZWxlY3RvciIpfXN3aXRjaChlLmh1ZmZtYW5EUyl7Y2FzZSAwOmNhc2UgMTpjYXNlIDI6Yz1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkRTKzgpO2JyZWFrO2Nhc2UgMzpjPWdldEN1c3RvbUh1ZmZtYW5UYWJsZShoLHQsaSk7aCsrO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBEUyBzZWxlY3RvciIpfXN3aXRjaChlLmh1ZmZtYW5EVCl7Y2FzZSAwOmNhc2UgMTpjYXNlIDI6Qz1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkRUKzExKTticmVhaztjYXNlIDM6Qz1nZXRDdXN0b21IdWZmbWFuVGFibGUoaCx0LGkpO2grKzticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIEh1ZmZtYW4gRFQgc2VsZWN0b3IiKX1pZihlLnJlZmluZW1lbnQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInJlZmluZW1lbnQgd2l0aCBIdWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQiKTtyZXR1cm57c3ltYm9sSURUYWJsZTpnLHRhYmxlRmlyc3RTOm8sdGFibGVEZWx0YVM6Yyx0YWJsZURlbHRhVDpDfX0oZSx0LHRoaXMuY3VzdG9tVGFibGVzLGMubGVuZ3RoLGcpfWNvbnN0IGg9bmV3IERlY29kaW5nQ29udGV4dChpLGEscyksbD1kZWNvZGVUZXh0UmVnaW9uKGUuaHVmZm1hbixlLnJlZmluZW1lbnQsci53aWR0aCxyLmhlaWdodCxlLmRlZmF1bHRQaXhlbFZhbHVlLGUubnVtYmVyT2ZTeW1ib2xJbnN0YW5jZXMsZS5zdHJpcFNpemUsYyxDLGUudHJhbnNwb3NlZCxlLmRzT2Zmc2V0LGUucmVmZXJlbmNlQ29ybmVyLGUuY29tYmluYXRpb25PcGVyYXRvcixuLGUucmVmaW5lbWVudFRlbXBsYXRlLGUucmVmaW5lbWVudEF0LGgsZS5sb2dTdHJpcFNpemUsZyk7dGhpcy5kcmF3Qml0bWFwKHIsbCl9b25JbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb24oKXt0aGlzLm9uSW1tZWRpYXRlVGV4dFJlZ2lvbiguLi5hcmd1bWVudHMpfW9uUGF0dGVybkRpY3Rpb25hcnkoZSx0LGksYSxzKXtsZXQgcj10aGlzLnBhdHRlcm5zO3J8fCh0aGlzLnBhdHRlcm5zPXI9e30pO2NvbnN0IG49bmV3IERlY29kaW5nQ29udGV4dChpLGEscyk7clt0XT1mdW5jdGlvbiBkZWNvZGVQYXR0ZXJuRGljdGlvbmFyeShlLHQsaSxhLHMscil7Y29uc3Qgbj1bXTtpZighZSl7bi5wdXNoKHt4Oi10LHk6MH0pOzA9PT1zJiZuLnB1c2goe3g6LTMseTotMX0se3g6Mix5Oi0yfSx7eDotMix5Oi0yfSl9Y29uc3QgZz1kZWNvZGVCaXRtYXAoZSwoYSsxKSp0LGkscywhMSxudWxsLG4sciksbz1bXTtmb3IobGV0IGU9MDtlPD1hO2UrKyl7Y29uc3QgYT1bXSxzPXQqZSxyPXMrdDtmb3IobGV0IGU9MDtlPGk7ZSsrKWEucHVzaChnW2VdLnN1YmFycmF5KHMscikpO28ucHVzaChhKX1yZXR1cm4gb30oZS5tbXIsZS5wYXR0ZXJuV2lkdGgsZS5wYXR0ZXJuSGVpZ2h0LGUubWF4UGF0dGVybkluZGV4LGUudGVtcGxhdGUsbil9b25JbW1lZGlhdGVIYWxmdG9uZVJlZ2lvbihlLHQsaSxhLHMpe2NvbnN0IHI9dGhpcy5wYXR0ZXJuc1t0WzBdXSxuPWUuaW5mbyxnPW5ldyBEZWNvZGluZ0NvbnRleHQoaSxhLHMpLG89ZnVuY3Rpb24gZGVjb2RlSGFsZnRvbmVSZWdpb24oZSx0LGksYSxzLHIsbixnLG8sYyxDLGgsbCxRLEUpe2lmKG4pdGhyb3cgbmV3IEpiaWcyRXJyb3IoInNraXAgaXMgbm90IHN1cHBvcnRlZCIpO2lmKDAhPT1nKXRocm93IG5ldyBKYmlnMkVycm9yKGBvcGVyYXRvciAiJHtnfSIgaXMgbm90IHN1cHBvcnRlZCBpbiBoYWxmdG9uZSByZWdpb25gKTtjb25zdCB1PVtdO2xldCBkLGYscDtmb3IoZD0wO2Q8cztkKyspe3A9bmV3IFVpbnQ4QXJyYXkoYSk7aWYocilmb3IoZj0wO2Y8YTtmKyspcFtmXT1yO3UucHVzaChwKX1jb25zdCBtPXQubGVuZ3RoLHk9dFswXSx3PXlbMF0ubGVuZ3RoLEQ9eS5sZW5ndGgsYj1sb2cyKG0pLEY9W107aWYoIWUpe0YucHVzaCh7eDppPD0xPzM6Mix5Oi0xfSk7MD09PWkmJkYucHVzaCh7eDotMyx5Oi0xfSx7eDoyLHk6LTJ9LHt4Oi0yLHk6LTJ9KX1jb25zdCBTPVtdO2xldCBrLFIsTixHLHgsVSxNLEwsSCxKLFk7ZSYmKGs9bmV3IFJlYWRlcihFLmRhdGEsRS5zdGFydCxFLmVuZCkpO2ZvcihkPWItMTtkPj0wO2QtLSl7Uj1lP2RlY29kZU1NUkJpdG1hcChrLG8sYywhMCk6ZGVjb2RlQml0bWFwKCExLG8sYyxpLCExLG51bGwsRixFKTtTW2RdPVJ9Zm9yKE49MDtOPGM7TisrKWZvcihHPTA7RzxvO0crKyl7eD0wO1U9MDtmb3IoZj1iLTE7Zj49MDtmLS0pe3hePVNbZl1bTl1bR107VXw9eDw8Zn1NPXRbVV07TD1DK04qUStHKmw+Pjg7SD1oK04qbC1HKlE+Pjg7aWYoTD49MCYmTCt3PD1hJiZIPj0wJiZIK0Q8PXMpZm9yKGQ9MDtkPEQ7ZCsrKXtZPXVbSCtkXTtKPU1bZF07Zm9yKGY9MDtmPHc7ZisrKVlbTCtmXXw9SltmXX1lbHNle2xldCBlLHQ7Zm9yKGQ9MDtkPEQ7ZCsrKXt0PUgrZDtpZighKHQ8MHx8dD49cykpe1k9dVt0XTtKPU1bZF07Zm9yKGY9MDtmPHc7ZisrKXtlPUwrZjtlPj0wJiZlPGEmJihZW2VdfD1KW2ZdKX19fX19cmV0dXJuIHV9KGUubW1yLHIsZS50ZW1wbGF0ZSxuLndpZHRoLG4uaGVpZ2h0LGUuZGVmYXVsdFBpeGVsVmFsdWUsZS5lbmFibGVTa2lwLGUuY29tYmluYXRpb25PcGVyYXRvcixlLmdyaWRXaWR0aCxlLmdyaWRIZWlnaHQsZS5ncmlkT2Zmc2V0WCxlLmdyaWRPZmZzZXRZLGUuZ3JpZFZlY3RvclgsZS5ncmlkVmVjdG9yWSxnKTt0aGlzLmRyYXdCaXRtYXAobixvKX1vbkltbWVkaWF0ZUxvc3NsZXNzSGFsZnRvbmVSZWdpb24oKXt0aGlzLm9uSW1tZWRpYXRlSGFsZnRvbmVSZWdpb24oLi4uYXJndW1lbnRzKX1vblRhYmxlcyhlLHQsaSxhKXtsZXQgcz10aGlzLmN1c3RvbVRhYmxlcztzfHwodGhpcy5jdXN0b21UYWJsZXM9cz17fSk7c1tlXT1mdW5jdGlvbiBkZWNvZGVUYWJsZXNTZWdtZW50KGUsdCxpKXtjb25zdCBhPWVbdF0scz00Mjk0OTY3Mjk1JnJlYWRVaW50MzIoZSx0KzEpLHI9NDI5NDk2NzI5NSZyZWFkVWludDMyKGUsdCs1KSxuPW5ldyBSZWFkZXIoZSx0KzksaSksZz0xKyhhPj4xJjcpLG89MSsoYT4+NCY3KSxjPVtdO2xldCBDLGgsbD1zO2Rve0M9bi5yZWFkQml0cyhnKTtoPW4ucmVhZEJpdHMobyk7Yy5wdXNoKG5ldyBIdWZmbWFuTGluZShbbCxDLGgsMF0pKTtsKz0xPDxofXdoaWxlKGw8cik7Qz1uLnJlYWRCaXRzKGcpO2MucHVzaChuZXcgSHVmZm1hbkxpbmUoW3MtMSxDLDMyLDAsImxvd2VyIl0pKTtDPW4ucmVhZEJpdHMoZyk7Yy5wdXNoKG5ldyBIdWZmbWFuTGluZShbcixDLDMyLDBdKSk7aWYoMSZhKXtDPW4ucmVhZEJpdHMoZyk7Yy5wdXNoKG5ldyBIdWZmbWFuTGluZShbQywwXSkpfXJldHVybiBuZXcgSHVmZm1hblRhYmxlKGMsITEpfSh0LGksYSl9fWNsYXNzIEh1ZmZtYW5MaW5le2NvbnN0cnVjdG9yKGUpe2lmKDI9PT1lLmxlbmd0aCl7dGhpcy5pc09PQj0hMDt0aGlzLnJhbmdlTG93PTA7dGhpcy5wcmVmaXhMZW5ndGg9ZVswXTt0aGlzLnJhbmdlTGVuZ3RoPTA7dGhpcy5wcmVmaXhDb2RlPWVbMV07dGhpcy5pc0xvd2VyUmFuZ2U9ITF9ZWxzZXt0aGlzLmlzT09CPSExO3RoaXMucmFuZ2VMb3c9ZVswXTt0aGlzLnByZWZpeExlbmd0aD1lWzFdO3RoaXMucmFuZ2VMZW5ndGg9ZVsyXTt0aGlzLnByZWZpeENvZGU9ZVszXTt0aGlzLmlzTG93ZXJSYW5nZT0ibG93ZXIiPT09ZVs0XX19fWNsYXNzIEh1ZmZtYW5UcmVlTm9kZXtjb25zdHJ1Y3RvcihlKXt0aGlzLmNoaWxkcmVuPVtdO2lmKGUpe3RoaXMuaXNMZWFmPSEwO3RoaXMucmFuZ2VMZW5ndGg9ZS5yYW5nZUxlbmd0aDt0aGlzLnJhbmdlTG93PWUucmFuZ2VMb3c7dGhpcy5pc0xvd2VyUmFuZ2U9ZS5pc0xvd2VyUmFuZ2U7dGhpcy5pc09PQj1lLmlzT09CfWVsc2UgdGhpcy5pc0xlYWY9ITF9YnVpbGRUcmVlKGUsdCl7Y29uc3QgaT1lLnByZWZpeENvZGU+PnQmMTtpZih0PD0wKXRoaXMuY2hpbGRyZW5baV09bmV3IEh1ZmZtYW5UcmVlTm9kZShlKTtlbHNle2xldCBhPXRoaXMuY2hpbGRyZW5baV07YXx8KHRoaXMuY2hpbGRyZW5baV09YT1uZXcgSHVmZm1hblRyZWVOb2RlKG51bGwpKTthLmJ1aWxkVHJlZShlLHQtMSl9fWRlY29kZU5vZGUoZSl7aWYodGhpcy5pc0xlYWYpe2lmKHRoaXMuaXNPT0IpcmV0dXJuIG51bGw7Y29uc3QgdD1lLnJlYWRCaXRzKHRoaXMucmFuZ2VMZW5ndGgpO3JldHVybiB0aGlzLnJhbmdlTG93Kyh0aGlzLmlzTG93ZXJSYW5nZT8tdDp0KX1jb25zdCB0PXRoaXMuY2hpbGRyZW5bZS5yZWFkQml0KCldO2lmKCF0KXRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIEh1ZmZtYW4gZGF0YSIpO3JldHVybiB0LmRlY29kZU5vZGUoZSl9fWNsYXNzIEh1ZmZtYW5UYWJsZXtjb25zdHJ1Y3RvcihlLHQpe3R8fHRoaXMuYXNzaWduUHJlZml4Q29kZXMoZSk7dGhpcy5yb290Tm9kZT1uZXcgSHVmZm1hblRyZWVOb2RlKG51bGwpO2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGg7dDxpO3QrKyl7Y29uc3QgaT1lW3RdO2kucHJlZml4TGVuZ3RoPjAmJnRoaXMucm9vdE5vZGUuYnVpbGRUcmVlKGksaS5wcmVmaXhMZW5ndGgtMSl9fWRlY29kZShlKXtyZXR1cm4gdGhpcy5yb290Tm9kZS5kZWNvZGVOb2RlKGUpfWFzc2lnblByZWZpeENvZGVzKGUpe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGk9MDtmb3IobGV0IGE9MDthPHQ7YSsrKWk9TWF0aC5tYXgoaSxlW2FdLnByZWZpeExlbmd0aCk7Y29uc3QgYT1uZXcgVWludDMyQXJyYXkoaSsxKTtmb3IobGV0IGk9MDtpPHQ7aSsrKWFbZVtpXS5wcmVmaXhMZW5ndGhdKys7bGV0IHMscixuLGc9MSxvPTA7YVswXT0wO2Zvcig7Zzw9aTspe289bythW2ctMV08PDE7cz1vO3I9MDtmb3IoO3I8dDspe249ZVtyXTtpZihuLnByZWZpeExlbmd0aD09PWcpe24ucHJlZml4Q29kZT1zO3MrK31yKyt9ZysrfX19Y29uc3QgQWk9e307ZnVuY3Rpb24gZ2V0U3RhbmRhcmRUYWJsZShlKXtsZXQgdCxpPUFpW2VdO2lmKGkpcmV0dXJuIGk7c3dpdGNoKGUpe2Nhc2UgMTp0PVtbMCwxLDQsMF0sWzE2LDIsOCwyXSxbMjcyLDMsMTYsNl0sWzY1ODA4LDMsMzIsN11dO2JyZWFrO2Nhc2UgMjp0PVtbMCwxLDAsMF0sWzEsMiwwLDJdLFsyLDMsMCw2XSxbMyw0LDMsMTRdLFsxMSw1LDYsMzBdLFs3NSw2LDMyLDYyXSxbNiw2M11dO2JyZWFrO2Nhc2UgMzp0PVtbLTI1Niw4LDgsMjU0XSxbMCwxLDAsMF0sWzEsMiwwLDJdLFsyLDMsMCw2XSxbMyw0LDMsMTRdLFsxMSw1LDYsMzBdLFstMjU3LDgsMzIsMjU1LCJsb3dlciJdLFs3NSw3LDMyLDEyNl0sWzYsNjJdXTticmVhaztjYXNlIDQ6dD1bWzEsMSwwLDBdLFsyLDIsMCwyXSxbMywzLDAsNl0sWzQsNCwzLDE0XSxbMTIsNSw2LDMwXSxbNzYsNSwzMiwzMV1dO2JyZWFrO2Nhc2UgNTp0PVtbLTI1NSw3LDgsMTI2XSxbMSwxLDAsMF0sWzIsMiwwLDJdLFszLDMsMCw2XSxbNCw0LDMsMTRdLFsxMiw1LDYsMzBdLFstMjU2LDcsMzIsMTI3LCJsb3dlciJdLFs3Niw2LDMyLDYyXV07YnJlYWs7Y2FzZSA2OnQ9W1stMjA0OCw1LDEwLDI4XSxbLTEwMjQsNCw5LDhdLFstNTEyLDQsOCw5XSxbLTI1Niw0LDcsMTBdLFstMTI4LDUsNiwyOV0sWy02NCw1LDUsMzBdLFstMzIsNCw1LDExXSxbMCwyLDcsMF0sWzEyOCwzLDcsMl0sWzI1NiwzLDgsM10sWzUxMiw0LDksMTJdLFsxMDI0LDQsMTAsMTNdLFstMjA0OSw2LDMyLDYyLCJsb3dlciJdLFsyMDQ4LDYsMzIsNjNdXTticmVhaztjYXNlIDc6dD1bWy0xMDI0LDQsOSw4XSxbLTUxMiwzLDgsMF0sWy0yNTYsNCw3LDldLFstMTI4LDUsNiwyNl0sWy02NCw1LDUsMjddLFstMzIsNCw1LDEwXSxbMCw0LDUsMTFdLFszMiw1LDUsMjhdLFs2NCw1LDYsMjldLFsxMjgsNCw3LDEyXSxbMjU2LDMsOCwxXSxbNTEyLDMsOSwyXSxbMTAyNCwzLDEwLDNdLFstMTAyNSw1LDMyLDMwLCJsb3dlciJdLFsyMDQ4LDUsMzIsMzFdXTticmVhaztjYXNlIDg6dD1bWy0xNSw4LDMsMjUyXSxbLTcsOSwxLDUwOF0sWy01LDgsMSwyNTNdLFstMyw5LDAsNTA5XSxbLTIsNywwLDEyNF0sWy0xLDQsMCwxMF0sWzAsMiwxLDBdLFsyLDUsMCwyNl0sWzMsNiwwLDU4XSxbNCwzLDQsNF0sWzIwLDYsMSw1OV0sWzIyLDQsNCwxMV0sWzM4LDQsNSwxMl0sWzcwLDUsNiwyN10sWzEzNCw1LDcsMjhdLFsyNjIsNiw3LDYwXSxbMzkwLDcsOCwxMjVdLFs2NDYsNiwxMCw2MV0sWy0xNiw5LDMyLDUxMCwibG93ZXIiXSxbMTY3MCw5LDMyLDUxMV0sWzIsMV1dO2JyZWFrO2Nhc2UgOTp0PVtbLTMxLDgsNCwyNTJdLFstMTUsOSwyLDUwOF0sWy0xMSw4LDIsMjUzXSxbLTcsOSwxLDUwOV0sWy01LDcsMSwxMjRdLFstMyw0LDEsMTBdLFstMSwzLDEsMl0sWzEsMywxLDNdLFszLDUsMSwyNl0sWzUsNiwxLDU4XSxbNywzLDUsNF0sWzM5LDYsMiw1OV0sWzQzLDQsNSwxMV0sWzc1LDQsNiwxMl0sWzEzOSw1LDcsMjddLFsyNjcsNSw4LDI4XSxbNTIzLDYsOCw2MF0sWzc3OSw3LDksMTI1XSxbMTI5MSw2LDExLDYxXSxbLTMyLDksMzIsNTEwLCJsb3dlciJdLFszMzM5LDksMzIsNTExXSxbMiwwXV07YnJlYWs7Y2FzZSAxMDp0PVtbLTIxLDcsNCwxMjJdLFstNSw4LDAsMjUyXSxbLTQsNywwLDEyM10sWy0zLDUsMCwyNF0sWy0yLDIsMiwwXSxbMiw1LDAsMjVdLFszLDYsMCw1NF0sWzQsNywwLDEyNF0sWzUsOCwwLDI1M10sWzYsMiw2LDFdLFs3MCw1LDUsMjZdLFsxMDIsNiw1LDU1XSxbMTM0LDYsNiw1Nl0sWzE5OCw2LDcsNTddLFszMjYsNiw4LDU4XSxbNTgyLDYsOSw1OV0sWzEwOTQsNiwxMCw2MF0sWzIxMTgsNywxMSwxMjVdLFstMjIsOCwzMiwyNTQsImxvd2VyIl0sWzQxNjYsOCwzMiwyNTVdLFsyLDJdXTticmVhaztjYXNlIDExOnQ9W1sxLDEsMCwwXSxbMiwyLDEsMl0sWzQsNCwwLDEyXSxbNSw0LDEsMTNdLFs3LDUsMSwyOF0sWzksNSwyLDI5XSxbMTMsNiwyLDYwXSxbMTcsNywyLDEyMl0sWzIxLDcsMywxMjNdLFsyOSw3LDQsMTI0XSxbNDUsNyw1LDEyNV0sWzc3LDcsNiwxMjZdLFsxNDEsNywzMiwxMjddXTticmVhaztjYXNlIDEyOnQ9W1sxLDEsMCwwXSxbMiwyLDAsMl0sWzMsMywxLDZdLFs1LDUsMCwyOF0sWzYsNSwxLDI5XSxbOCw2LDEsNjBdLFsxMCw3LDAsMTIyXSxbMTEsNywxLDEyM10sWzEzLDcsMiwxMjRdLFsxNyw3LDMsMTI1XSxbMjUsNyw0LDEyNl0sWzQxLDgsNSwyNTRdLFs3Myw4LDMyLDI1NV1dO2JyZWFrO2Nhc2UgMTM6dD1bWzEsMSwwLDBdLFsyLDMsMCw0XSxbMyw0LDAsMTJdLFs0LDUsMCwyOF0sWzUsNCwxLDEzXSxbNywzLDMsNV0sWzE1LDYsMSw1OF0sWzE3LDYsMiw1OV0sWzIxLDYsMyw2MF0sWzI5LDYsNCw2MV0sWzQ1LDYsNSw2Ml0sWzc3LDcsNiwxMjZdLFsxNDEsNywzMiwxMjddXTticmVhaztjYXNlIDE0OnQ9W1stMiwzLDAsNF0sWy0xLDMsMCw1XSxbMCwxLDAsMF0sWzEsMywwLDZdLFsyLDMsMCw3XV07YnJlYWs7Y2FzZSAxNTp0PVtbLTI0LDcsNCwxMjRdLFstOCw2LDIsNjBdLFstNCw1LDEsMjhdLFstMiw0LDAsMTJdLFstMSwzLDAsNF0sWzAsMSwwLDBdLFsxLDMsMCw1XSxbMiw0LDAsMTNdLFszLDUsMSwyOV0sWzUsNiwyLDYxXSxbOSw3LDQsMTI1XSxbLTI1LDcsMzIsMTI2LCJsb3dlciJdLFsyNSw3LDMyLDEyN11dO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoYHN0YW5kYXJkIHRhYmxlIEIuJHtlfSBkb2VzIG5vdCBleGlzdGApfWZvcihsZXQgZT0wLGk9dC5sZW5ndGg7ZTxpO2UrKyl0W2VdPW5ldyBIdWZmbWFuTGluZSh0W2VdKTtpPW5ldyBIdWZmbWFuVGFibGUodCwhMCk7QWlbZV09aTtyZXR1cm4gaX1jbGFzcyBSZWFkZXJ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuZGF0YT1lO3RoaXMuc3RhcnQ9dDt0aGlzLmVuZD1pO3RoaXMucG9zaXRpb249dDt0aGlzLnNoaWZ0PS0xO3RoaXMuY3VycmVudEJ5dGU9MH1yZWFkQml0KCl7aWYodGhpcy5zaGlmdDwwKXtpZih0aGlzLnBvc2l0aW9uPj10aGlzLmVuZCl0aHJvdyBuZXcgSmJpZzJFcnJvcigiZW5kIG9mIGRhdGEgd2hpbGUgcmVhZGluZyBiaXQiKTt0aGlzLmN1cnJlbnRCeXRlPXRoaXMuZGF0YVt0aGlzLnBvc2l0aW9uKytdO3RoaXMuc2hpZnQ9N31jb25zdCBlPXRoaXMuY3VycmVudEJ5dGU+PnRoaXMuc2hpZnQmMTt0aGlzLnNoaWZ0LS07cmV0dXJuIGV9cmVhZEJpdHMoZSl7bGV0IHQsaT0wO2Zvcih0PWUtMTt0Pj0wO3QtLSlpfD10aGlzLnJlYWRCaXQoKTw8dDtyZXR1cm4gaX1ieXRlQWxpZ24oKXt0aGlzLnNoaWZ0PS0xfW5leHQoKXtyZXR1cm4gdGhpcy5wb3NpdGlvbj49dGhpcy5lbmQ/LTE6dGhpcy5kYXRhW3RoaXMucG9zaXRpb24rK119fWZ1bmN0aW9uIGdldEN1c3RvbUh1ZmZtYW5UYWJsZShlLHQsaSl7bGV0IGE9MDtmb3IobGV0IHM9MCxyPXQubGVuZ3RoO3M8cjtzKyspe2NvbnN0IHI9aVt0W3NdXTtpZihyKXtpZihlPT09YSlyZXR1cm4gcjthKyt9fXRocm93IG5ldyBKYmlnMkVycm9yKCJjYW4ndCBmaW5kIGN1c3RvbSBIdWZmbWFuIHRhYmxlIil9ZnVuY3Rpb24gcmVhZFVuY29tcHJlc3NlZEJpdG1hcChlLHQsaSl7Y29uc3QgYT1bXTtmb3IobGV0IHM9MDtzPGk7cysrKXtjb25zdCBpPW5ldyBVaW50OEFycmF5KHQpO2EucHVzaChpKTtmb3IobGV0IGE9MDthPHQ7YSsrKWlbYV09ZS5yZWFkQml0KCk7ZS5ieXRlQWxpZ24oKX1yZXR1cm4gYX1mdW5jdGlvbiBkZWNvZGVNTVJCaXRtYXAoZSx0LGksYSl7Y29uc3Qgcz1uZXcgQ0NJVFRGYXhEZWNvZGVyKGUse0s6LTEsQ29sdW1uczp0LFJvd3M6aSxCbGFja0lzMTohMCxFbmRPZkJsb2NrOmF9KSxyPVtdO2xldCBuLGc9ITE7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7Y29uc3QgZT1uZXcgVWludDhBcnJheSh0KTtyLnB1c2goZSk7bGV0IGk9LTE7Zm9yKGxldCBhPTA7YTx0O2ErKyl7aWYoaTwwKXtuPXMucmVhZE5leHRDaGFyKCk7aWYoLTE9PT1uKXtuPTA7Zz0hMH1pPTd9ZVthXT1uPj5pJjE7aS0tfX1pZihhJiYhZyl7Y29uc3QgZT01O2ZvcihsZXQgdD0wO3Q8ZSYmLTEhPT1zLnJlYWROZXh0Q2hhcigpO3QrKyk7fXJldHVybiByfWNsYXNzIEpiaWcySW1hZ2V7cGFyc2VDaHVua3MoZSl7cmV0dXJuIGZ1bmN0aW9uIHBhcnNlSmJpZzJDaHVua3MoZSl7Y29uc3QgdD1uZXcgU2ltcGxlU2VnbWVudFZpc2l0b3I7Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPWVbaV07cHJvY2Vzc1NlZ21lbnRzKHJlYWRTZWdtZW50cyh7fSxhLmRhdGEsYS5zdGFydCxhLmVuZCksdCl9cmV0dXJuIHQuYnVmZmVyfShlKX1wYXJzZShlKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZDogSmJpZzJJbWFnZS5wYXJzZSIpfX1jbGFzcyBKYmlnMlN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHJlYW09ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMubWF5YmVMZW5ndGg9dDt0aGlzLnBhcmFtcz1pfWdldCBieXRlcygpe3JldHVybiBzaGFkb3codGhpcywiYnl0ZXMiLHRoaXMuc3RyZWFtLmdldEJ5dGVzKHRoaXMubWF5YmVMZW5ndGgpKX1lbnN1cmVCdWZmZXIoZSl7fXJlYWRCbG9jaygpe3RoaXMuZGVjb2RlSW1hZ2UoKX1kZWNvZGVJbWFnZShlKXtpZih0aGlzLmVvZilyZXR1cm4gdGhpcy5idWZmZXI7ZXx8PXRoaXMuYnl0ZXM7Y29uc3QgdD1uZXcgSmJpZzJJbWFnZSxpPVtdO2lmKHRoaXMucGFyYW1zIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT10aGlzLnBhcmFtcy5nZXQoIkpCSUcyR2xvYmFscyIpO2lmKGUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtjb25zdCB0PWUuZ2V0Qnl0ZXMoKTtpLnB1c2goe2RhdGE6dCxzdGFydDowLGVuZDp0Lmxlbmd0aH0pfX1pLnB1c2goe2RhdGE6ZSxzdGFydDowLGVuZDplLmxlbmd0aH0pO2NvbnN0IGE9dC5wYXJzZUNodW5rcyhpKSxzPWEubGVuZ3RoO2ZvcihsZXQgZT0wO2U8cztlKyspYVtlXV49MjU1O3RoaXMuYnVmZmVyPWE7dGhpcy5idWZmZXJMZW5ndGg9czt0aGlzLmVvZj0hMDtyZXR1cm4gdGhpcy5idWZmZXJ9Z2V0IGNhbkFzeW5jRGVjb2RlSW1hZ2VGcm9tQnVmZmVyKCl7cmV0dXJuIHRoaXMuc3RyZWFtLmlzQXN5bmN9fWZ1bmN0aW9uIGNvbnZlcnRUb1JHQkEoZSl7c3dpdGNoKGUua2luZCl7Y2FzZSBiOnJldHVybiBjb252ZXJ0QmxhY2tBbmRXaGl0ZVRvUkdCQShlKTtjYXNlIEY6cmV0dXJuIGZ1bmN0aW9uIGNvbnZlcnRSR0JUb1JHQkEoe3NyYzplLHNyY1Bvczp0PTAsZGVzdDppLGRlc3RQb3M6YT0wLHdpZHRoOnMsaGVpZ2h0OnJ9KXtsZXQgbj0wO2NvbnN0IGc9cypyKjMsbz1nPj4yLGM9bmV3IFVpbnQzMkFycmF5KGUuYnVmZmVyLHQsbyk7aWYoRmVhdHVyZVRlc3QuaXNMaXR0bGVFbmRpYW4pe2Zvcig7bjxvLTI7bis9MyxhKz00KXtjb25zdCBlPWNbbl0sdD1jW24rMV0scz1jW24rMl07aVthXT00Mjc4MTkwMDgwfGU7aVthKzFdPWU+Pj4yNHx0PDw4fDQyNzgxOTAwODA7aVthKzJdPXQ+Pj4xNnxzPDwxNnw0Mjc4MTkwMDgwO2lbYSszXT1zPj4+OHw0Mjc4MTkwMDgwfWZvcihsZXQgcz00Km4scj10K2c7czxyO3MrPTMpaVthKytdPWVbc118ZVtzKzFdPDw4fGVbcysyXTw8MTZ8NDI3ODE5MDA4MH1lbHNle2Zvcig7bjxvLTI7bis9MyxhKz00KXtjb25zdCBlPWNbbl0sdD1jW24rMV0scz1jW24rMl07aVthXT0yNTV8ZTtpW2ErMV09ZTw8MjR8dD4+Pjh8MjU1O2lbYSsyXT10PDwxNnxzPj4+MTZ8MjU1O2lbYSszXT1zPDw4fDI1NX1mb3IobGV0IHM9NCpuLHI9dCtnO3M8cjtzKz0zKWlbYSsrXT1lW3NdPDwyNHxlW3MrMV08PDE2fGVbcysyXTw8OHwyNTV9cmV0dXJue3NyY1Bvczp0K2csZGVzdFBvczphfX0oZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gY29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoe3NyYzplLHNyY1Bvczp0PTAsZGVzdDppLHdpZHRoOmEsaGVpZ2h0OnMsbm9uQmxhY2tDb2xvcjpyPTQyOTQ5NjcyOTUsaW52ZXJzZURlY29kZTpuPSExfSl7Y29uc3QgZz1GZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj80Mjc4MTkwMDgwOjI1NSxbbyxjXT1uP1tyLGddOltnLHJdLEM9YT4+MyxoPTcmYSxsPWUubGVuZ3RoO2k9bmV3IFVpbnQzMkFycmF5KGkuYnVmZmVyKTtsZXQgUT0wO2ZvcihsZXQgYT0wO2E8czthKyspe2Zvcihjb25zdCBhPXQrQzt0PGE7dCsrKXtjb25zdCBhPXQ8bD9lW3RdOjI1NTtpW1ErK109MTI4JmE/YzpvO2lbUSsrXT02NCZhP2M6bztpW1ErK109MzImYT9jOm87aVtRKytdPTE2JmE/YzpvO2lbUSsrXT04JmE/YzpvO2lbUSsrXT00JmE/YzpvO2lbUSsrXT0yJmE/YzpvO2lbUSsrXT0xJmE/YzpvfWlmKDA9PT1oKWNvbnRpbnVlO2NvbnN0IGE9dDxsP2VbdCsrXToyNTU7Zm9yKGxldCBlPTA7ZTxoO2UrKylpW1ErK109YSYxPDw3LWU/YzpvfXJldHVybntzcmNQb3M6dCxkZXN0UG9zOlF9fWNsYXNzIEpwZWdFcnJvciBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkpwZWdFcnJvciIpfX1jbGFzcyBETkxNYXJrZXJFcnJvciBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiRE5MTWFya2VyRXJyb3IiKTt0aGlzLnNjYW5MaW5lcz10fX1jbGFzcyBFT0lNYXJrZXJFcnJvciBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkVPSU1hcmtlckVycm9yIil9fWNvbnN0IGVpPW5ldyBVaW50OEFycmF5KFswLDEsOCwxNiw5LDIsMywxMCwxNywyNCwzMiwyNSwxOCwxMSw0LDUsMTIsMTksMjYsMzMsNDAsNDgsNDEsMzQsMjcsMjAsMTMsNiw3LDE0LDIxLDI4LDM1LDQyLDQ5LDU2LDU3LDUwLDQzLDM2LDI5LDIyLDE1LDIzLDMwLDM3LDQ0LDUxLDU4LDU5LDUyLDQ1LDM4LDMxLDM5LDQ2LDUzLDYwLDYxLDU0LDQ3LDU1LDYyLDYzXSksdGk9NDAxNyxpaT03OTksYWk9MzQwNixzaT0yMjc2LHJpPTE1Njcsbmk9Mzc4NCxnaT01NzkzLG9pPTI4OTY7ZnVuY3Rpb24gYnVpbGRIdWZmbWFuVGFibGUoZSx0KXtsZXQgaSxhLHM9MCxyPTE2O2Zvcig7cj4wJiYhZVtyLTFdOylyLS07Y29uc3Qgbj1be2NoaWxkcmVuOltdLGluZGV4OjB9XTtsZXQgZyxvPW5bMF07Zm9yKGk9MDtpPHI7aSsrKXtmb3IoYT0wO2E8ZVtpXTthKyspe289bi5wb3AoKTtvLmNoaWxkcmVuW28uaW5kZXhdPXRbc107Zm9yKDtvLmluZGV4PjA7KW89bi5wb3AoKTtvLmluZGV4Kys7bi5wdXNoKG8pO2Zvcig7bi5sZW5ndGg8PWk7KXtuLnB1c2goZz17Y2hpbGRyZW46W10saW5kZXg6MH0pO28uY2hpbGRyZW5bby5pbmRleF09Zy5jaGlsZHJlbjtvPWd9cysrfWlmKGkrMTxyKXtuLnB1c2goZz17Y2hpbGRyZW46W10saW5kZXg6MH0pO28uY2hpbGRyZW5bby5pbmRleF09Zy5jaGlsZHJlbjtvPWd9fXJldHVybiBuWzBdLmNoaWxkcmVufWZ1bmN0aW9uIGdldEJsb2NrQnVmZmVyT2Zmc2V0KGUsdCxpKXtyZXR1cm4gNjQqKChlLmJsb2Nrc1BlckxpbmUrMSkqdCtpKX1mdW5jdGlvbiBkZWNvZGVTY2FuKGUsdCxpLGEscyxyLG4sZyxvLGM9ITEpe2NvbnN0IEM9aS5tY3VzUGVyTGluZSxoPWkucHJvZ3Jlc3NpdmUsbD10O2xldCBRPTAsRT0wO2Z1bmN0aW9uIHJlYWRCaXQoKXtpZihFPjApe0UtLTtyZXR1cm4gUT4+RSYxfVE9ZVt0KytdO2lmKDI1NT09PVEpe2NvbnN0IGE9ZVt0KytdO2lmKGEpe2lmKDIyMD09PWEmJmMpe2NvbnN0IGE9cmVhZFVpbnQxNihlLHQrPTIpO3QrPTI7aWYoYT4wJiZhIT09aS5zY2FuTGluZXMpdGhyb3cgbmV3IEROTE1hcmtlckVycm9yKCJGb3VuZCBETkwgbWFya2VyICgweEZGREMpIHdoaWxlIHBhcnNpbmcgc2NhbiBkYXRhIixhKX1lbHNlIGlmKDIxNz09PWEpe2lmKGMpe2NvbnN0IGU9cCooOD09PWkucHJlY2lzaW9uPzg6MCk7aWYoZT4wJiZNYXRoLnJvdW5kKGkuc2NhbkxpbmVzL2UpPj01KXRocm93IG5ldyBETkxNYXJrZXJFcnJvcigiRm91bmQgRU9JIG1hcmtlciAoMHhGRkQ5KSB3aGlsZSBwYXJzaW5nIHNjYW4gZGF0YSwgcG9zc2libHkgY2F1c2VkIGJ5IGluY29ycmVjdCBgc2NhbkxpbmVzYCBwYXJhbWV0ZXIiLGUpfXRocm93IG5ldyBFT0lNYXJrZXJFcnJvcigiRm91bmQgRU9JIG1hcmtlciAoMHhGRkQ5KSB3aGlsZSBwYXJzaW5nIHNjYW4gZGF0YSIpfXRocm93IG5ldyBKcGVnRXJyb3IoYHVuZXhwZWN0ZWQgbWFya2VyICR7KFE8PDh8YSkudG9TdHJpbmcoMTYpfWApfX1FPTc7cmV0dXJuIFE+Pj43fWZ1bmN0aW9uIGRlY29kZUh1ZmZtYW4oZSl7bGV0IHQ9ZTtmb3IoOzspe3Q9dFtyZWFkQml0KCldO3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJudW1iZXIiOnJldHVybiB0O2Nhc2Uib2JqZWN0Ijpjb250aW51ZX10aHJvdyBuZXcgSnBlZ0Vycm9yKCJpbnZhbGlkIGh1ZmZtYW4gc2VxdWVuY2UiKX19ZnVuY3Rpb24gcmVjZWl2ZShlKXtsZXQgdD0wO2Zvcig7ZT4wOyl7dD10PDwxfHJlYWRCaXQoKTtlLS19cmV0dXJuIHR9ZnVuY3Rpb24gcmVjZWl2ZUFuZEV4dGVuZChlKXtpZigxPT09ZSlyZXR1cm4gMT09PXJlYWRCaXQoKT8xOi0xO2NvbnN0IHQ9cmVjZWl2ZShlKTtyZXR1cm4gdD49MTw8ZS0xP3Q6dCsoLTE8PGUpKzF9bGV0IHU9MDtsZXQgZCxmPTA7bGV0IHA9MDtmdW5jdGlvbiBkZWNvZGVNY3UoZSx0LGksYSxzKXtjb25zdCByPWklQztwPShpL0N8MCkqZS52K2E7Y29uc3Qgbj1yKmUuaCtzO3QoZSxnZXRCbG9ja0J1ZmZlck9mZnNldChlLHAsbikpfWZ1bmN0aW9uIGRlY29kZUJsb2NrKGUsdCxpKXtwPWkvZS5ibG9ja3NQZXJMaW5lfDA7Y29uc3QgYT1pJWUuYmxvY2tzUGVyTGluZTt0KGUsZ2V0QmxvY2tCdWZmZXJPZmZzZXQoZSxwLGEpKX1jb25zdCBtPWEubGVuZ3RoO2xldCB5LHcsRCxiLEYsUztTPWg/MD09PXI/MD09PWc/ZnVuY3Rpb24gZGVjb2RlRENGaXJzdChlLHQpe2NvbnN0IGk9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZURDKSxhPTA9PT1pPzA6cmVjZWl2ZUFuZEV4dGVuZChpKTw8bztlLmJsb2NrRGF0YVt0XT1lLnByZWQrPWF9OmZ1bmN0aW9uIGRlY29kZURDU3VjY2Vzc2l2ZShlLHQpe2UuYmxvY2tEYXRhW3RdfD1yZWFkQml0KCk8PG99OjA9PT1nP2Z1bmN0aW9uIGRlY29kZUFDRmlyc3QoZSx0KXtpZih1PjApe3UtLTtyZXR1cm59bGV0IGk9cjtjb25zdCBhPW47Zm9yKDtpPD1hOyl7Y29uc3QgYT1kZWNvZGVIdWZmbWFuKGUuaHVmZm1hblRhYmxlQUMpLHM9MTUmYSxyPWE+PjQ7aWYoMD09PXMpe2lmKHI8MTUpe3U9cmVjZWl2ZShyKSsoMTw8ciktMTticmVha31pKz0xNjtjb250aW51ZX1pKz1yO2NvbnN0IG49ZWlbaV07ZS5ibG9ja0RhdGFbdCtuXT1yZWNlaXZlQW5kRXh0ZW5kKHMpKigxPDxvKTtpKyt9fTpmdW5jdGlvbiBkZWNvZGVBQ1N1Y2Nlc3NpdmUoZSx0KXtsZXQgaT1yO2NvbnN0IGE9bjtsZXQgcyxnLGM9MDtmb3IoO2k8PWE7KXtjb25zdCBhPXQrZWlbaV0scj1lLmJsb2NrRGF0YVthXTwwPy0xOjE7c3dpdGNoKGYpe2Nhc2UgMDpnPWRlY29kZUh1ZmZtYW4oZS5odWZmbWFuVGFibGVBQyk7cz0xNSZnO2M9Zz4+NDtpZigwPT09cylpZihjPDE1KXt1PXJlY2VpdmUoYykrKDE8PGMpO2Y9NH1lbHNle2M9MTY7Zj0xfWVsc2V7aWYoMSE9PXMpdGhyb3cgbmV3IEpwZWdFcnJvcigiaW52YWxpZCBBQ24gZW5jb2RpbmciKTtkPXJlY2VpdmVBbmRFeHRlbmQocyk7Zj1jPzI6M31jb250aW51ZTtjYXNlIDE6Y2FzZSAyOmlmKGUuYmxvY2tEYXRhW2FdKWUuYmxvY2tEYXRhW2FdKz1yKihyZWFkQml0KCk8PG8pO2Vsc2V7Yy0tOzA9PT1jJiYoZj0yPT09Zj8zOjApfWJyZWFrO2Nhc2UgMzppZihlLmJsb2NrRGF0YVthXSllLmJsb2NrRGF0YVthXSs9cioocmVhZEJpdCgpPDxvKTtlbHNle2UuYmxvY2tEYXRhW2FdPWQ8PG87Zj0wfWJyZWFrO2Nhc2UgNDplLmJsb2NrRGF0YVthXSYmKGUuYmxvY2tEYXRhW2FdKz1yKihyZWFkQml0KCk8PG8pKX1pKyt9aWYoND09PWYpe3UtLTswPT09dSYmKGY9MCl9fTpmdW5jdGlvbiBkZWNvZGVCYXNlbGluZShlLHQpe2NvbnN0IGk9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZURDKSxhPTA9PT1pPzA6cmVjZWl2ZUFuZEV4dGVuZChpKTtlLmJsb2NrRGF0YVt0XT1lLnByZWQrPWE7bGV0IHM9MTtmb3IoO3M8NjQ7KXtjb25zdCBpPWRlY29kZUh1ZmZtYW4oZS5odWZmbWFuVGFibGVBQyksYT0xNSZpLHI9aT4+NDtpZigwPT09YSl7aWYocjwxNSlicmVhaztzKz0xNjtjb250aW51ZX1zKz1yO2NvbnN0IG49ZWlbc107ZS5ibG9ja0RhdGFbdCtuXT1yZWNlaXZlQW5kRXh0ZW5kKGEpO3MrK319O2xldCBrLFI9MDtjb25zdCBOPTE9PT1tP2FbMF0uYmxvY2tzUGVyTGluZSphWzBdLmJsb2Nrc1BlckNvbHVtbjpDKmkubWN1c1BlckNvbHVtbjtsZXQgRyx4O2Zvcig7Ujw9Tjspe2NvbnN0IGk9cz9NYXRoLm1pbihOLVIscyk6TjtpZihpPjApe2Zvcih3PTA7dzxtO3crKylhW3ddLnByZWQ9MDt1PTA7aWYoMT09PW0pe3k9YVswXTtmb3IoRj0wO0Y8aTtGKyspe2RlY29kZUJsb2NrKHksUyxSKTtSKyt9fWVsc2UgZm9yKEY9MDtGPGk7RisrKXtmb3Iodz0wO3c8bTt3Kyspe3k9YVt3XTtHPXkuaDt4PXkudjtmb3IoRD0wO0Q8eDtEKyspZm9yKGI9MDtiPEc7YisrKWRlY29kZU1jdSh5LFMsUixELGIpfVIrK319RT0wO2s9ZmluZE5leHRGaWxlTWFya2VyKGUsdCk7aWYoIWspYnJlYWs7aWYoay5pbnZhbGlkKXt3YXJuKGBkZWNvZGVTY2FuIC0gJHtpPjA/InVuZXhwZWN0ZWQiOiJleGNlc3NpdmUifSBNQ1UgZGF0YSwgY3VycmVudCBtYXJrZXIgaXM6ICR7ay5pbnZhbGlkfWApO3Q9ay5vZmZzZXR9aWYoIShrLm1hcmtlcj49NjU0ODgmJmsubWFya2VyPD02NTQ5NSkpYnJlYWs7dCs9Mn1yZXR1cm4gdC1sfWZ1bmN0aW9uIHF1YW50aXplQW5kSW52ZXJzZShlLHQsaSl7Y29uc3QgYT1lLnF1YW50aXphdGlvblRhYmxlLHM9ZS5ibG9ja0RhdGE7bGV0IHIsbixnLG8sYyxDLGgsbCxRLEUsdSxkLGYscCxtLHksdztpZighYSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJtaXNzaW5nIHJlcXVpcmVkIFF1YW50aXphdGlvbiBUYWJsZS4iKTtmb3IobGV0IGU9MDtlPDY0O2UrPTgpe1E9c1t0K2VdO0U9c1t0K2UrMV07dT1zW3QrZSsyXTtkPXNbdCtlKzNdO2Y9c1t0K2UrNF07cD1zW3QrZSs1XTttPXNbdCtlKzZdO3k9c1t0K2UrN107USo9YVtlXTtpZigwIT0oRXx1fGR8ZnxwfG18eSkpe0UqPWFbZSsxXTt1Kj1hW2UrMl07ZCo9YVtlKzNdO2YqPWFbZSs0XTtwKj1hW2UrNV07bSo9YVtlKzZdO3kqPWFbZSs3XTtyPWdpKlErMTI4Pj44O249Z2kqZisxMjg+Pjg7Zz11O289bTtjPW9pKihFLXkpKzEyOD4+ODtsPW9pKihFK3kpKzEyOD4+ODtDPWQ8PDQ7aD1wPDw0O3I9cituKzE+PjE7bj1yLW47dz1nKm5pK28qcmkrMTI4Pj44O2c9ZypyaS1vKm5pKzEyOD4+ODtvPXc7Yz1jK2grMT4+MTtoPWMtaDtsPWwrQysxPj4xO0M9bC1DO3I9citvKzE+PjE7bz1yLW87bj1uK2crMT4+MTtnPW4tZzt3PWMqc2krbCphaSsyMDQ4Pj4xMjtjPWMqYWktbCpzaSsyMDQ4Pj4xMjtsPXc7dz1DKmlpK2gqdGkrMjA0OD4+MTI7Qz1DKnRpLWgqaWkrMjA0OD4+MTI7aD13O2lbZV09citsO2lbZSs3XT1yLWw7aVtlKzFdPW4raDtpW2UrNl09bi1oO2lbZSsyXT1nK0M7aVtlKzVdPWctQztpW2UrM109bytjO2lbZSs0XT1vLWN9ZWxzZXt3PWdpKlErNTEyPj4xMDtpW2VdPXc7aVtlKzFdPXc7aVtlKzJdPXc7aVtlKzNdPXc7aVtlKzRdPXc7aVtlKzVdPXc7aVtlKzZdPXc7aVtlKzddPXd9fWZvcihsZXQgZT0wO2U8ODsrK2Upe1E9aVtlXTtFPWlbZSs4XTt1PWlbZSsxNl07ZD1pW2UrMjRdO2Y9aVtlKzMyXTtwPWlbZSs0MF07bT1pW2UrNDhdO3k9aVtlKzU2XTtpZigwIT0oRXx1fGR8ZnxwfG18eSkpe3I9Z2kqUSsyMDQ4Pj4xMjtuPWdpKmYrMjA0OD4+MTI7Zz11O289bTtjPW9pKihFLXkpKzIwNDg+PjEyO2w9b2kqKEUreSkrMjA0OD4+MTI7Qz1kO2g9cDtyPTQxMTIrKHIrbisxPj4xKTtuPXItbjt3PWcqbmkrbypyaSsyMDQ4Pj4xMjtnPWcqcmktbypuaSsyMDQ4Pj4xMjtvPXc7Yz1jK2grMT4+MTtoPWMtaDtsPWwrQysxPj4xO0M9bC1DO3I9citvKzE+PjE7bz1yLW87bj1uK2crMT4+MTtnPW4tZzt3PWMqc2krbCphaSsyMDQ4Pj4xMjtjPWMqYWktbCpzaSsyMDQ4Pj4xMjtsPXc7dz1DKmlpK2gqdGkrMjA0OD4+MTI7Qz1DKnRpLWgqaWkrMjA0OD4+MTI7aD13O1E9citsO3k9ci1sO0U9bitoO209bi1oO3U9ZytDO3A9Zy1DO2Q9bytjO2Y9by1jO1E8MTY/UT0wOlE+PTQwODA/UT0yNTU6UT4+PTQ7RTwxNj9FPTA6RT49NDA4MD9FPTI1NTpFPj49NDt1PDE2P3U9MDp1Pj00MDgwP3U9MjU1OnU+Pj00O2Q8MTY/ZD0wOmQ+PTQwODA/ZD0yNTU6ZD4+PTQ7ZjwxNj9mPTA6Zj49NDA4MD9mPTI1NTpmPj49NDtwPDE2P3A9MDpwPj00MDgwP3A9MjU1OnA+Pj00O208MTY/bT0wOm0+PTQwODA/bT0yNTU6bT4+PTQ7eTwxNj95PTA6eT49NDA4MD95PTI1NTp5Pj49NDtzW3QrZV09UTtzW3QrZSs4XT1FO3NbdCtlKzE2XT11O3NbdCtlKzI0XT1kO3NbdCtlKzMyXT1mO3NbdCtlKzQwXT1wO3NbdCtlKzQ4XT1tO3NbdCtlKzU2XT15fWVsc2V7dz1naSpRKzgxOTI+PjE0O3c9dzwtMjA0MD8wOnc+PTIwMjQ/MjU1OncrMjA1Nj4+NDtzW3QrZV09dztzW3QrZSs4XT13O3NbdCtlKzE2XT13O3NbdCtlKzI0XT13O3NbdCtlKzMyXT13O3NbdCtlKzQwXT13O3NbdCtlKzQ4XT13O3NbdCtlKzU2XT13fX19ZnVuY3Rpb24gYnVpbGRDb21wb25lbnREYXRhKGUsdCl7Y29uc3QgaT10LmJsb2Nrc1BlckxpbmUsYT10LmJsb2Nrc1BlckNvbHVtbixzPW5ldyBJbnQxNkFycmF5KDY0KTtmb3IobGV0IGU9MDtlPGE7ZSsrKWZvcihsZXQgYT0wO2E8aTthKyspe3F1YW50aXplQW5kSW52ZXJzZSh0LGdldEJsb2NrQnVmZmVyT2Zmc2V0KHQsZSxhKSxzKX1yZXR1cm4gdC5ibG9ja0RhdGF9ZnVuY3Rpb24gZmluZE5leHRGaWxlTWFya2VyKGUsdCxpPXQpe2NvbnN0IGE9ZS5sZW5ndGgtMTtsZXQgcz1pPHQ/aTp0O2lmKHQ+PWEpcmV0dXJuIG51bGw7Y29uc3Qgcj1yZWFkVWludDE2KGUsdCk7aWYocj49NjU0NzImJnI8PTY1NTM0KXJldHVybntpbnZhbGlkOm51bGwsbWFya2VyOnIsb2Zmc2V0OnR9O2xldCBuPXJlYWRVaW50MTYoZSxzKTtmb3IoOyEobj49NjU0NzImJm48PTY1NTM0KTspe2lmKCsrcz49YSlyZXR1cm4gbnVsbDtuPXJlYWRVaW50MTYoZSxzKX1yZXR1cm57aW52YWxpZDpyLnRvU3RyaW5nKDE2KSxtYXJrZXI6bixvZmZzZXQ6c319ZnVuY3Rpb24gcHJlcGFyZUNvbXBvbmVudHMoZSl7Y29uc3QgdD1NYXRoLmNlaWwoZS5zYW1wbGVzUGVyTGluZS84L2UubWF4SCksaT1NYXRoLmNlaWwoZS5zY2FuTGluZXMvOC9lLm1heFYpO2Zvcihjb25zdCBhIG9mIGUuY29tcG9uZW50cyl7Y29uc3Qgcz1NYXRoLmNlaWwoTWF0aC5jZWlsKGUuc2FtcGxlc1BlckxpbmUvOCkqYS5oL2UubWF4SCkscj1NYXRoLmNlaWwoTWF0aC5jZWlsKGUuc2NhbkxpbmVzLzgpKmEudi9lLm1heFYpLG49dCphLmgsZz02NCooaSphLnYpKihuKzEpO2EuYmxvY2tEYXRhPW5ldyBJbnQxNkFycmF5KGcpO2EuYmxvY2tzUGVyTGluZT1zO2EuYmxvY2tzUGVyQ29sdW1uPXJ9ZS5tY3VzUGVyTGluZT10O2UubWN1c1BlckNvbHVtbj1pfWZ1bmN0aW9uIHJlYWREYXRhQmxvY2soZSx0KXtjb25zdCBpPXJlYWRVaW50MTYoZSx0KTtsZXQgYT0odCs9MikraS0yO2NvbnN0IHM9ZmluZE5leHRGaWxlTWFya2VyKGUsYSx0KTtpZihzPy5pbnZhbGlkKXt3YXJuKCJyZWFkRGF0YUJsb2NrIC0gaW5jb3JyZWN0IGxlbmd0aCwgY3VycmVudCBtYXJrZXIgaXM6ICIrcy5pbnZhbGlkKTthPXMub2Zmc2V0fWNvbnN0IHI9ZS5zdWJhcnJheSh0LGEpO3JldHVybnthcHBEYXRhOnIsbmV3T2Zmc2V0OnQrPXIubGVuZ3RofX1mdW5jdGlvbiBza2lwRGF0YShlLHQpe2NvbnN0IGk9cmVhZFVpbnQxNihlLHQpLGE9KHQrPTIpK2ktMixzPWZpbmROZXh0RmlsZU1hcmtlcihlLGEsdCk7cmV0dXJuIHM/LmludmFsaWQ/cy5vZmZzZXQ6YX1jbGFzcyBKcGVnSW1hZ2V7Y29uc3RydWN0b3Ioe2RlY29kZVRyYW5zZm9ybTplPW51bGwsY29sb3JUcmFuc2Zvcm06dD0tMX09e30pe3RoaXMuX2RlY29kZVRyYW5zZm9ybT1lO3RoaXMuX2NvbG9yVHJhbnNmb3JtPXR9c3RhdGljIGNhblVzZUltYWdlRGVjb2RlcihlLHQ9LTEpe2xldCBpPTAsYT1udWxsLHM9cmVhZFVpbnQxNihlLGkpO2krPTI7aWYoNjU0OTYhPT1zKXRocm93IG5ldyBKcGVnRXJyb3IoIlNPSSBub3QgZm91bmQiKTtzPXJlYWRVaW50MTYoZSxpKTtpKz0yO0E6Zm9yKDs2NTQ5NyE9PXM7KXtzd2l0Y2gocyl7Y2FzZSA2NTQ3MjpjYXNlIDY1NDczOmNhc2UgNjU0NzQ6YT1lW2krN107YnJlYWsgQTtjYXNlIDY1NTM1OjI1NSE9PWVbaV0mJmktLX1pPXNraXBEYXRhKGUsaSk7cz1yZWFkVWludDE2KGUsaSk7aSs9Mn1yZXR1cm4gNCE9PWEmJigzIT09YXx8MCE9PXQpfXBhcnNlKGUse2RubFNjYW5MaW5lczp0PW51bGx9PXt9KXtsZXQgaSxhLHM9MCxyPW51bGwsbj1udWxsLGc9MDtjb25zdCBvPVtdLGM9W10sQz1bXTtsZXQgaD1yZWFkVWludDE2KGUscyk7cys9MjtpZig2NTQ5NiE9PWgpdGhyb3cgbmV3IEpwZWdFcnJvcigiU09JIG5vdCBmb3VuZCIpO2g9cmVhZFVpbnQxNihlLHMpO3MrPTI7QTpmb3IoOzY1NDk3IT09aDspe2xldCBsLFEsRTtzd2l0Y2goaCl7Y2FzZSA2NTUwNDpjYXNlIDY1NTA1OmNhc2UgNjU1MDY6Y2FzZSA2NTUwNzpjYXNlIDY1NTA4OmNhc2UgNjU1MDk6Y2FzZSA2NTUxMDpjYXNlIDY1NTExOmNhc2UgNjU1MTI6Y2FzZSA2NTUxMzpjYXNlIDY1NTE0OmNhc2UgNjU1MTU6Y2FzZSA2NTUxNjpjYXNlIDY1NTE3OmNhc2UgNjU1MTg6Y2FzZSA2NTUxOTpjYXNlIDY1NTM0OmNvbnN0e2FwcERhdGE6dSxuZXdPZmZzZXQ6ZH09cmVhZERhdGFCbG9jayhlLHMpO3M9ZDs2NTUwND09PWgmJjc0PT09dVswXSYmNzA9PT11WzFdJiY3Mz09PXVbMl0mJjcwPT09dVszXSYmMD09PXVbNF0mJihyPXt2ZXJzaW9uOnttYWpvcjp1WzVdLG1pbm9yOnVbNl19LGRlbnNpdHlVbml0czp1WzddLHhEZW5zaXR5OnVbOF08PDh8dVs5XSx5RGVuc2l0eTp1WzEwXTw8OHx1WzExXSx0aHVtYldpZHRoOnVbMTJdLHRodW1iSGVpZ2h0OnVbMTNdLHRodW1iRGF0YTp1LnN1YmFycmF5KDE0LDE0KzMqdVsxMl0qdVsxM10pfSk7NjU1MTg9PT1oJiY2NT09PXVbMF0mJjEwMD09PXVbMV0mJjExMT09PXVbMl0mJjk4PT09dVszXSYmMTAxPT09dVs0XSYmKG49e3ZlcnNpb246dVs1XTw8OHx1WzZdLGZsYWdzMDp1WzddPDw4fHVbOF0sZmxhZ3MxOnVbOV08PDh8dVsxMF0sdHJhbnNmb3JtQ29kZTp1WzExXX0pO2JyZWFrO2Nhc2UgNjU0OTk6Y29uc3QgZj1yZWFkVWludDE2KGUscyk7cys9Mjtjb25zdCBwPWYrcy0yO2xldCBtO2Zvcig7czxwOyl7Y29uc3QgdD1lW3MrK10saT1uZXcgVWludDE2QXJyYXkoNjQpO2lmKHQ+PjQ9PTApZm9yKFE9MDtRPDY0O1ErKyl7bT1laVtRXTtpW21dPWVbcysrXX1lbHNle2lmKHQ+PjQhPTEpdGhyb3cgbmV3IEpwZWdFcnJvcigiRFFUIC0gaW52YWxpZCB0YWJsZSBzcGVjIik7Zm9yKFE9MDtRPDY0O1ErKyl7bT1laVtRXTtpW21dPXJlYWRVaW50MTYoZSxzKTtzKz0yfX1vWzE1JnRdPWl9YnJlYWs7Y2FzZSA2NTQ3MjpjYXNlIDY1NDczOmNhc2UgNjU0NzQ6aWYoaSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJPbmx5IHNpbmdsZSBmcmFtZSBKUEVHcyBzdXBwb3J0ZWQiKTtzKz0yO2k9e307aS5leHRlbmRlZD02NTQ3Mz09PWg7aS5wcm9ncmVzc2l2ZT02NTQ3ND09PWg7aS5wcmVjaXNpb249ZVtzKytdO2NvbnN0IHk9cmVhZFVpbnQxNihlLHMpO3MrPTI7aS5zY2FuTGluZXM9dHx8eTtpLnNhbXBsZXNQZXJMaW5lPXJlYWRVaW50MTYoZSxzKTtzKz0yO2kuY29tcG9uZW50cz1bXTtpLmNvbXBvbmVudElkcz17fTtjb25zdCB3PWVbcysrXTtsZXQgRD0wLGI9MDtmb3IobD0wO2w8dztsKyspe2NvbnN0IHQ9ZVtzXSxhPWVbcysxXT4+NCxyPTE1JmVbcysxXTtEPGEmJihEPWEpO2I8ciYmKGI9cik7Y29uc3Qgbj1lW3MrMl07RT1pLmNvbXBvbmVudHMucHVzaCh7aDphLHY6cixxdWFudGl6YXRpb25JZDpuLHF1YW50aXphdGlvblRhYmxlOm51bGx9KTtpLmNvbXBvbmVudElkc1t0XT1FLTE7cys9M31pLm1heEg9RDtpLm1heFY9YjtwcmVwYXJlQ29tcG9uZW50cyhpKTticmVhaztjYXNlIDY1NDc2OmNvbnN0IEY9cmVhZFVpbnQxNihlLHMpO3MrPTI7Zm9yKGw9MjtsPEY7KXtjb25zdCB0PWVbcysrXSxpPW5ldyBVaW50OEFycmF5KDE2KTtsZXQgYT0wO2ZvcihRPTA7UTwxNjtRKysscysrKWErPWlbUV09ZVtzXTtjb25zdCByPW5ldyBVaW50OEFycmF5KGEpO2ZvcihRPTA7UTxhO1ErKyxzKyspcltRXT1lW3NdO2wrPTE3K2E7KHQ+PjQ9PTA/QzpjKVsxNSZ0XT1idWlsZEh1ZmZtYW5UYWJsZShpLHIpfWJyZWFrO2Nhc2UgNjU1MDE6cys9MjthPXJlYWRVaW50MTYoZSxzKTtzKz0yO2JyZWFrO2Nhc2UgNjU0OTg6Y29uc3QgUz0xPT0rK2cmJiF0O3MrPTI7Y29uc3Qgaz1lW3MrK10sUj1bXTtmb3IobD0wO2w8aztsKyspe2NvbnN0IHQ9ZVtzKytdLGE9aS5jb21wb25lbnRJZHNbdF0scj1pLmNvbXBvbmVudHNbYV07ci5pbmRleD10O2NvbnN0IG49ZVtzKytdO3IuaHVmZm1hblRhYmxlREM9Q1tuPj40XTtyLmh1ZmZtYW5UYWJsZUFDPWNbMTUmbl07Ui5wdXNoKHIpfWNvbnN0IE49ZVtzKytdLEc9ZVtzKytdLHg9ZVtzKytdO3RyeXtzKz1kZWNvZGVTY2FuKGUscyxpLFIsYSxOLEcseD4+NCwxNSZ4LFMpfWNhdGNoKHQpe2lmKHQgaW5zdGFuY2VvZiBETkxNYXJrZXJFcnJvcil7d2FybihgJHt0Lm1lc3NhZ2V9IC0tIGF0dGVtcHRpbmcgdG8gcmUtcGFyc2UgdGhlIEpQRUcgaW1hZ2UuYCk7cmV0dXJuIHRoaXMucGFyc2UoZSx7ZG5sU2NhbkxpbmVzOnQuc2NhbkxpbmVzfSl9aWYodCBpbnN0YW5jZW9mIEVPSU1hcmtlckVycm9yKXt3YXJuKGAke3QubWVzc2FnZX0gLS0gaWdub3JpbmcgdGhlIHJlc3Qgb2YgdGhlIGltYWdlIGRhdGEuYCk7YnJlYWsgQX10aHJvdyB0fWJyZWFrO2Nhc2UgNjU1MDA6cys9NDticmVhaztjYXNlIDY1NTM1OjI1NSE9PWVbc10mJnMtLTticmVhaztkZWZhdWx0OmNvbnN0IFU9ZmluZE5leHRGaWxlTWFya2VyKGUscy0yLHMtMyk7aWYoVT8uaW52YWxpZCl7d2FybigiSnBlZ0ltYWdlLnBhcnNlIC0gdW5leHBlY3RlZCBkYXRhLCBjdXJyZW50IG1hcmtlciBpczogIitVLmludmFsaWQpO3M9VS5vZmZzZXQ7YnJlYWt9aWYoIVV8fHM+PWUubGVuZ3RoLTEpe3dhcm4oIkpwZWdJbWFnZS5wYXJzZSAtIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgaW1hZ2UgZGF0YSB3aXRob3V0IGZpbmRpbmcgYW4gRU9JIG1hcmtlciAoMHhGRkQ5KS4iKTticmVhayBBfXRocm93IG5ldyBKcGVnRXJyb3IoIkpwZWdJbWFnZS5wYXJzZSAtIHVua25vd24gbWFya2VyOiAiK2gudG9TdHJpbmcoMTYpKX1oPXJlYWRVaW50MTYoZSxzKTtzKz0yfWlmKCFpKXRocm93IG5ldyBKcGVnRXJyb3IoIkpwZWdJbWFnZS5wYXJzZSAtIG5vIGZyYW1lIGRhdGEgZm91bmQuIik7dGhpcy53aWR0aD1pLnNhbXBsZXNQZXJMaW5lO3RoaXMuaGVpZ2h0PWkuc2NhbkxpbmVzO3RoaXMuamZpZj1yO3RoaXMuYWRvYmU9bjt0aGlzLmNvbXBvbmVudHM9W107Zm9yKGNvbnN0IGUgb2YgaS5jb21wb25lbnRzKXtjb25zdCB0PW9bZS5xdWFudGl6YXRpb25JZF07dCYmKGUucXVhbnRpemF0aW9uVGFibGU9dCk7dGhpcy5jb21wb25lbnRzLnB1c2goe2luZGV4OmUuaW5kZXgsb3V0cHV0OmJ1aWxkQ29tcG9uZW50RGF0YSgwLGUpLHNjYWxlWDplLmgvaS5tYXhILHNjYWxlWTplLnYvaS5tYXhWLGJsb2Nrc1BlckxpbmU6ZS5ibG9ja3NQZXJMaW5lLGJsb2Nrc1BlckNvbHVtbjplLmJsb2Nrc1BlckNvbHVtbn0pfXRoaXMubnVtQ29tcG9uZW50cz10aGlzLmNvbXBvbmVudHMubGVuZ3RofV9nZXRMaW5lYXJpemVkQmxvY2tEYXRhKGUsdCxpPSExKXtjb25zdCBhPXRoaXMud2lkdGgvZSxzPXRoaXMuaGVpZ2h0L3Q7bGV0IHIsbixnLG8sYyxDLGgsbCxRLEUsdSxkPTA7Y29uc3QgZj10aGlzLmNvbXBvbmVudHMubGVuZ3RoLHA9ZSp0KmYsbT1uZXcgVWludDhDbGFtcGVkQXJyYXkocCkseT1uZXcgVWludDMyQXJyYXkoZSksdz00Mjk0OTY3Mjg4O2xldCBEO2ZvcihoPTA7aDxmO2grKyl7cj10aGlzLmNvbXBvbmVudHNbaF07bj1yLnNjYWxlWCphO2c9ci5zY2FsZVkqcztkPWg7dT1yLm91dHB1dDtvPXIuYmxvY2tzUGVyTGluZSsxPDwzO2lmKG4hPT1EKXtmb3IoYz0wO2M8ZTtjKyspe2w9MHxjKm47eVtjXT0obCZ3KTw8M3w3Jmx9RD1ufWZvcihDPTA7Qzx0O0MrKyl7bD0wfEMqZztFPW8qKGwmdyl8KDcmbCk8PDM7Zm9yKGM9MDtjPGU7YysrKXttW2RdPXVbRSt5W2NdXTtkKz1mfX19bGV0IGI9dGhpcy5fZGVjb2RlVHJhbnNmb3JtO2l8fDQhPT1mfHxifHwoYj1uZXcgSW50MzJBcnJheShbLTI1NiwyNTUsLTI1NiwyNTUsLTI1NiwyNTUsLTI1NiwyNTVdKSk7aWYoYilmb3IoaD0wO2g8cDspZm9yKGw9MCxRPTA7bDxmO2wrKyxoKyssUSs9MiltW2hdPShtW2hdKmJbUV0+PjgpK2JbUSsxXTtyZXR1cm4gbX1nZXQgX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkKCl7cmV0dXJuIHRoaXMuYWRvYmU/ISF0aGlzLmFkb2JlLnRyYW5zZm9ybUNvZGU6Mz09PXRoaXMubnVtQ29tcG9uZW50cz8wIT09dGhpcy5fY29sb3JUcmFuc2Zvcm0mJig4MiE9PXRoaXMuY29tcG9uZW50c1swXS5pbmRleHx8NzEhPT10aGlzLmNvbXBvbmVudHNbMV0uaW5kZXh8fDY2IT09dGhpcy5jb21wb25lbnRzWzJdLmluZGV4KToxPT09dGhpcy5fY29sb3JUcmFuc2Zvcm19X2NvbnZlcnRZY2NUb1JnYihlKXtsZXQgdCxpLGE7Zm9yKGxldCBzPTAscj1lLmxlbmd0aDtzPHI7cys9Myl7dD1lW3NdO2k9ZVtzKzFdO2E9ZVtzKzJdO2Vbc109dC0xNzkuNDU2KzEuNDAyKmE7ZVtzKzFdPXQrMTM1LjQ1OS0uMzQ0KmktLjcxNCphO2VbcysyXT10LTIyNi44MTYrMS43NzIqaX1yZXR1cm4gZX1fY29udmVydFljY1RvUmdiYShlLHQpe2ZvcihsZXQgaT0wLGE9MCxzPWUubGVuZ3RoO2k8cztpKz0zLGErPTQpe2NvbnN0IHM9ZVtpXSxyPWVbaSsxXSxuPWVbaSsyXTt0W2FdPXMtMTc5LjQ1NisxLjQwMipuO3RbYSsxXT1zKzEzNS40NTktLjM0NCpyLS43MTQqbjt0W2ErMl09cy0yMjYuODE2KzEuNzcyKnI7dFthKzNdPTI1NX1yZXR1cm4gdH1fY29udmVydFljY2tUb1JnYihlKXtsZXQgdCxpLGEscyxyPTA7Zm9yKGxldCBuPTAsZz1lLmxlbmd0aDtuPGc7bis9NCl7dD1lW25dO2k9ZVtuKzFdO2E9ZVtuKzJdO3M9ZVtuKzNdO2VbcisrXT1pKigtNjYwNjM1NjY5NDIwMzY0ZS0xOSppKy4wMDA0MzcxMzA0NzU5MjYyMzIqYS01NDA4MDYxMDA2NDU5OWUtMTgqdCsuMDAwNDg0NDk3OTcxMjAyODEqcy0uMTU0MzYyMTUxODcxMTI2KS0xMjIuNjcxOTU0MDY4OTQrYSooLS4wMDA5NTc5NjQzNzg0NDU3NzMqYSsuMDAwODE3MDc2OTExMzQ2NjI1KnQtLjAwNDc3MjcxNDA1NDA4NzQ3KnMrMS41MzM4MDI1MzIyMTczNCkrdCooLjAwMDk2MTI1MDE4NDEzMDY4OCp0LS4wMDI2NjI1NzMzMjI4MzkzMypzKy40ODM1NzA4ODQ1MTI2NSkrcyooLS4wMDAzMzYxOTcxNzc2MTgzOTQqcysuNDg0NzkxNTYxNDkwNzc2KTtlW3IrK109MTA3LjI2ODAzOTM5NzcyNCtpKigyMTk5MjcxMDQ1MjU3NDFlLTE5KmktLjAwMDY0MDk5MjAxODI5Nzk0NSphKy4wMDA2NTkzOTcwMDEyNDU1NzcqdCsuMDAwNDI2MTA1NjUyOTM4ODM3KnMtLjE3NjQ5MTc5MjQ2Mjg3NSkrYSooLS4wMDA3NzgyNjk5NDE1MTM2ODMqYSsuMDAxMzA4NzIyNjE0MDgyNzUqdCsuMDAwNzcwNDgyNjMxODAxMTMyKnMtLjE1MTA1MTQ5Mjc3NTU2MikrdCooLjAwMTI2OTM1MzY4MTE0ODQzKnQtLjAwMjY1MDkwMTg5MDEwODk4KnMrLjI1ODAyOTEwMjA2ODQ1KStzKigtLjAwMDMxODkxMzExNzU4ODMyOCpzLS4yMTM3NDI0MDAzMjM2NjUpO2VbcisrXT1pKigtLjAwMDU3MDExNTE5Njk3MzY3NyppLTI2MzQwOTA1MTAwNDU4OWUtMTkqYSsuMDAyMDc0MTA4ODExNTAxMip0LS4wMDI4ODI2MDIzNjg1MzQ0MipzKy44MTQyNzI5NjgzNTkyOTUpLTIwLjgxMDAxMjU0Njk0NythKigtMTUzNDk2MDU3NDQwOTc1ZS0xOSphLS4wMDAxMzI2ODkwNDM5NjE0NDYqdCsuMDAwNTYwODMzNjkxMjQyODEyKnMtLjE5NTE1MjAyNzUzNDA0OSkrdCooLjAwMTc0NDE4MTMyOTI3NTgyKnQtLjAwMjU1MjQzMzIxNDM5MzQ3KnMrLjExNjkzNTAyMDQ2NTE0NSkrcyooLS4wMDAzNDM1MzE5OTY1MTA1NTUqcysuMjQxNjUyNjAyMzI0MDcpfXJldHVybiBlLnN1YmFycmF5KDAscil9X2NvbnZlcnRZY2NrVG9SZ2JhKGUpe2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGg7dDxpO3QrPTQpe2NvbnN0IGk9ZVt0XSxhPWVbdCsxXSxzPWVbdCsyXSxyPWVbdCszXTtlW3RdPWEqKC02NjA2MzU2Njk0MjAzNjRlLTE5KmErLjAwMDQzNzEzMDQ3NTkyNjIzMipzLTU0MDgwNjEwMDY0NTk5ZS0xOCppKy4wMDA0ODQ0OTc5NzEyMDI4MSpyLS4xNTQzNjIxNTE4NzExMjYpLTEyMi42NzE5NTQwNjg5NCtzKigtLjAwMDk1Nzk2NDM3ODQ0NTc3MypzKy4wMDA4MTcwNzY5MTEzNDY2MjUqaS0uMDA0NzcyNzE0MDU0MDg3NDcqcisxLjUzMzgwMjUzMjIxNzM0KStpKiguMDAwOTYxMjUwMTg0MTMwNjg4KmktLjAwMjY2MjU3MzMyMjgzOTMzKnIrLjQ4MzU3MDg4NDUxMjY1KStyKigtLjAwMDMzNjE5NzE3NzYxODM5NCpyKy40ODQ3OTE1NjE0OTA3NzYpO2VbdCsxXT0xMDcuMjY4MDM5Mzk3NzI0K2EqKDIxOTkyNzEwNDUyNTc0MWUtMTkqYS0uMDAwNjQwOTkyMDE4Mjk3OTQ1KnMrLjAwMDY1OTM5NzAwMTI0NTU3NyppKy4wMDA0MjYxMDU2NTI5Mzg4Mzcqci0uMTc2NDkxNzkyNDYyODc1KStzKigtLjAwMDc3ODI2OTk0MTUxMzY4MypzKy4wMDEzMDg3MjI2MTQwODI3NSppKy4wMDA3NzA0ODI2MzE4MDExMzIqci0uMTUxMDUxNDkyNzc1NTYyKStpKiguMDAxMjY5MzUzNjgxMTQ4NDMqaS0uMDAyNjUwOTAxODkwMTA4OTgqcisuMjU4MDI5MTAyMDY4NDUpK3IqKC0uMDAwMzE4OTEzMTE3NTg4MzI4KnItLjIxMzc0MjQwMDMyMzY2NSk7ZVt0KzJdPWEqKC0uMDAwNTcwMTE1MTk2OTczNjc3KmEtMjYzNDA5MDUxMDA0NTg5ZS0xOSpzKy4wMDIwNzQxMDg4MTE1MDEyKmktLjAwMjg4MjYwMjM2ODUzNDQyKnIrLjgxNDI3Mjk2ODM1OTI5NSktMjAuODEwMDEyNTQ2OTQ3K3MqKC0xNTM0OTYwNTc0NDA5NzVlLTE5KnMtLjAwMDEzMjY4OTA0Mzk2MTQ0NippKy4wMDA1NjA4MzM2OTEyNDI4MTIqci0uMTk1MTUyMDI3NTM0MDQ5KStpKiguMDAxNzQ0MTgxMzI5Mjc1ODIqaS0uMDAyNTUyNDMzMjE0MzkzNDcqcisuMTE2OTM1MDIwNDY1MTQ1KStyKigtLjAwMDM0MzUzMTk5NjUxMDU1NSpyKy4yNDE2NTI2MDIzMjQwNyk7ZVt0KzNdPTI1NX1yZXR1cm4gZX1fY29udmVydFljY2tUb0NteWsoZSl7bGV0IHQsaSxhO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyO3MrPTQpe3Q9ZVtzXTtpPWVbcysxXTthPWVbcysyXTtlW3NdPTQzNC40NTYtdC0xLjQwMiphO2VbcysxXT0xMTkuNTQxLXQrLjM0NCppKy43MTQqYTtlW3MrMl09NDgxLjgxNi10LTEuNzcyKml9cmV0dXJuIGV9X2NvbnZlcnRDbXlrVG9SZ2IoZSl7bGV0IHQsaSxhLHMscj0wO2ZvcihsZXQgbj0wLGc9ZS5sZW5ndGg7bjxnO24rPTQpe3Q9ZVtuXTtpPWVbbisxXTthPWVbbisyXTtzPWVbbiszXTtlW3IrK109MjU1K3QqKC02NzQ3MTQ3MDczNjAyNDQxZS0yMCp0Ky4wMDA4Mzc5MjYyMTIxMDEzNzI3KmkrLjAwMDI4OTQ3MTgxODg2NDMyOTQqYSsuMDAzMjY0MjMxMDU3NTM3ODA2KnMtMS4xMTg1NjExODY3MjAzOTM3KStpKigyNjM3NDEwNzYxNjA4OTQwNWUtMjEqaS04NjI2OTQ5MTU4NjM4NTcyZS0yMCphLS4wMDAyNzQ4NzY5MDY3NDk5NDkxKnMtLjAyMTU1Njg4Nzk0OTc4OTY3KSthKigtMzg3ODA5OTIxMjg2OTM2M2UtMjAqYS0uMDAwMzI2NzgwODI3OTQ4NTI4NipzKy4wNjg2NzQyMjM4NTk1MzQ1KS1zKiguMDAwMzM2MTk3MTc3NjE4MzkzNypzKy43NDMwNjU5MTUxMzQyMjU0KTtlW3IrK109MjU1K3QqKC4wMDAxMzU5NjM3MjgxMzU4ODg0OCp0Ky4wMDA5MjQ1MzcxMzI1NzM1ODUqaSsuMDAwMTA1NjczNTk2MTg2ODM1OTMqYSsuMDAwNDc5MTg2NDY4NzQzNjUxMipzLS4zMTA5Njg5NTg3NTE1ODc1KStpKigtLjAwMDIzNTQ1MzQ2MTA4MzcwMzQ0KmkrLjAwMDI3MDI4NDUyNTM1MzQ3MTQqYSsuMDAyMDIwMDMwODk3NzMwNzE1NipzLS43NDg4MDUyMTY3MDE1NDk0KSthKig2ODM0ODE1OTk4MjM1NjYyZS0yMCphKy4wMDAxNTE2ODQ1MjM2MzQ2MDk3MypzLS4wOTc1MTkyNzc3NDcyODkzMyktcyooLjAwMDMxODkxMzExNzU4ODMyODEqcysuNzM2NDg4MzgwNzczMzE2OCk7ZVtyKytdPTI1NSt0KigxMzU5ODY1MDQxMTM4NTMwN2UtMjEqdCsuMDAwMTI0MjM5NTYxNzU0OTA4NTEqaSsuMDAwNDc1MTk4NTA5NzU4MzU4OSphLTM2NzI5MzE3NDc2NjMwNDIyZS0yMipzLS4wNTU2MjE4Njk4MDI2NDAzNCkraSooLjAwMDE2MTQxMzgwNTk4NzI0Njc2KmkrLjAwMDk2OTIyMzkxMzA3MjUxODYqYSsuMDAwNzc4MjY5MjQ1MDAzNjI1MypzLS40NDAxNTIzMjM2NzUyNjQ2MykrYSooNS4wNjg4ODI5MTQwNjg3NjllLTcqYSsuMDAxNzc3ODM2OTAxMTM3NTA3MSpzLS43NTkxNDU0NjQ5NzQ5NjA5KS1zKiguMDAwMzQzNTMxOTk2NTEwNTU1MypzKy43MDYzNzcwMTg2MTYwMTQ0KX1yZXR1cm4gZS5zdWJhcnJheSgwLHIpfV9jb252ZXJ0Q215a1RvUmdiYShlKXtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kz00KXtjb25zdCBpPWVbdF0sYT1lW3QrMV0scz1lW3QrMl0scj1lW3QrM107ZVt0XT0yNTUraSooLTY3NDcxNDcwNzM2MDI0NDFlLTIwKmkrLjAwMDgzNzkyNjIxMjEwMTM3MjcqYSsuMDAwMjg5NDcxODE4ODY0MzI5NCpzKy4wMDMyNjQyMzEwNTc1Mzc4MDYqci0xLjExODU2MTE4NjcyMDM5MzcpK2EqKDI2Mzc0MTA3NjE2MDg5NDA1ZS0yMSphLTg2MjY5NDkxNTg2Mzg1NzJlLTIwKnMtLjAwMDI3NDg3NjkwNjc0OTk0OTEqci0uMDIxNTU2ODg3OTQ5Nzg5NjcpK3MqKC0zODc4MDk5MjEyODY5MzYzZS0yMCpzLS4wMDAzMjY3ODA4Mjc5NDg1Mjg2KnIrLjA2ODY3NDIyMzg1OTUzNDUpLXIqKC4wMDAzMzYxOTcxNzc2MTgzOTM3KnIrLjc0MzA2NTkxNTEzNDIyNTQpO2VbdCsxXT0yNTUraSooLjAwMDEzNTk2MzcyODEzNTg4ODQ4KmkrLjAwMDkyNDUzNzEzMjU3MzU4NSphKy4wMDAxMDU2NzM1OTYxODY4MzU5MypzKy4wMDA0NzkxODY0Njg3NDM2NTEyKnItLjMxMDk2ODk1ODc1MTU4NzUpK2EqKC0uMDAwMjM1NDUzNDYxMDgzNzAzNDQqYSsuMDAwMjcwMjg0NTI1MzUzNDcxNCpzKy4wMDIwMjAwMzA4OTc3MzA3MTU2KnItLjc0ODgwNTIxNjcwMTU0OTQpK3MqKDY4MzQ4MTU5OTgyMzU2NjJlLTIwKnMrLjAwMDE1MTY4NDUyMzYzNDYwOTczKnItLjA5NzUxOTI3Nzc0NzI4OTMzKS1yKiguMDAwMzE4OTEzMTE3NTg4MzI4MSpyKy43MzY0ODgzODA3NzMzMTY4KTtlW3QrMl09MjU1K2kqKDEzNTk4NjUwNDExMzg1MzA3ZS0yMSppKy4wMDAxMjQyMzk1NjE3NTQ5MDg1MSphKy4wMDA0NzUxOTg1MDk3NTgzNTg5KnMtMzY3MjkzMTc0NzY2MzA0MjJlLTIyKnItLjA1NTYyMTg2OTgwMjY0MDM0KSthKiguMDAwMTYxNDEzODA1OTg3MjQ2NzYqYSsuMDAwOTY5MjIzOTEzMDcyNTE4NipzKy4wMDA3NzgyNjkyNDUwMDM2MjUzKnItLjQ0MDE1MjMyMzY3NTI2NDYzKStzKig1LjA2ODg4MjkxNDA2ODc2OWUtNypzKy4wMDE3Nzc4MzY5MDExMzc1MDcxKnItLjc1OTE0NTQ2NDk3NDk2MDkpLXIqKC4wMDAzNDM1MzE5OTY1MTA1NTUzKnIrLjcwNjM3NzAxODYxNjAxNDQpO2VbdCszXT0yNTV9cmV0dXJuIGV9Z2V0RGF0YSh7d2lkdGg6ZSxoZWlnaHQ6dCxmb3JjZVJHQkE6aT0hMSxmb3JjZVJHQjphPSExLGlzU291cmNlUERGOnM9ITF9KXtpZih0aGlzLm51bUNvbXBvbmVudHM+NCl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJVbnN1cHBvcnRlZCBjb2xvciBtb2RlIik7Y29uc3Qgcj10aGlzLl9nZXRMaW5lYXJpemVkQmxvY2tEYXRhKGUsdCxzKTtpZigxPT09dGhpcy5udW1Db21wb25lbnRzJiYoaXx8YSkpe2NvbnN0IGU9ci5sZW5ndGgqKGk/NDozKSx0PW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtsZXQgYT0wO2lmKGkpIWZ1bmN0aW9uIGdyYXlUb1JHQkEoZSx0KXtpZihGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbilmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspdFtpXT02NTc5MyplW2ldfDQyNzgxOTAwODA7ZWxzZSBmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspdFtpXT0xNjg0MzAwOCplW2ldfDI1NX0ocixuZXcgVWludDMyQXJyYXkodC5idWZmZXIpKTtlbHNlIGZvcihjb25zdCBlIG9mIHIpe3RbYSsrXT1lO3RbYSsrXT1lO3RbYSsrXT1lfXJldHVybiB0fWlmKDM9PT10aGlzLm51bUNvbXBvbmVudHMmJnRoaXMuX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkKXtpZihpKXtjb25zdCBlPW5ldyBVaW50OENsYW1wZWRBcnJheShyLmxlbmd0aC8zKjQpO3JldHVybiB0aGlzLl9jb252ZXJ0WWNjVG9SZ2JhKHIsZSl9cmV0dXJuIHRoaXMuX2NvbnZlcnRZY2NUb1JnYihyKX1pZig0PT09dGhpcy5udW1Db21wb25lbnRzKXtpZih0aGlzLl9pc0NvbG9yQ29udmVyc2lvbk5lZWRlZClyZXR1cm4gaT90aGlzLl9jb252ZXJ0WWNja1RvUmdiYShyKTphP3RoaXMuX2NvbnZlcnRZY2NrVG9SZ2Iocik6dGhpcy5fY29udmVydFljY2tUb0NteWsocik7aWYoaSlyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYmEocik7aWYoYSlyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYihyKX1yZXR1cm4gcn19Y2xhc3MgSnBlZ1N0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtzdGF0aWMjeT1GZWF0dXJlVGVzdC5pc0ltYWdlRGVjb2RlclN1cHBvcnRlZDtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHJlYW09ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMubWF5YmVMZW5ndGg9dDt0aGlzLnBhcmFtcz1pfXN0YXRpYyBnZXQgY2FuVXNlSW1hZ2VEZWNvZGVyKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjYW5Vc2VJbWFnZURlY29kZXIiLHRoaXMuI3k/SW1hZ2VEZWNvZGVyLmlzVHlwZVN1cHBvcnRlZCgiaW1hZ2UvanBlZyIpOlByb21pc2UucmVzb2x2ZSghMSkpfXN0YXRpYyBzZXRPcHRpb25zKHtpc0ltYWdlRGVjb2RlclN1cHBvcnRlZDplPSExfSl7dGhpcy4jeT1lfWdldCBieXRlcygpe3JldHVybiBzaGFkb3codGhpcywiYnl0ZXMiLHRoaXMuc3RyZWFtLmdldEJ5dGVzKHRoaXMubWF5YmVMZW5ndGgpKX1lbnN1cmVCdWZmZXIoZSl7fXJlYWRCbG9jaygpe3RoaXMuZGVjb2RlSW1hZ2UoKX1nZXQganBlZ09wdGlvbnMoKXtjb25zdCBlPXtkZWNvZGVUcmFuc2Zvcm06dm9pZCAwLGNvbG9yVHJhbnNmb3JtOnZvaWQgMH0sdD10aGlzLmRpY3QuZ2V0QXJyYXkoIkQiLCJEZWNvZGUiKTtpZigodGhpcy5mb3JjZVJHQkF8fHRoaXMuZm9yY2VSR0IpJiZBcnJheS5pc0FycmF5KHQpKXtjb25zdCBpPXRoaXMuZGljdC5nZXQoIkJQQyIsIkJpdHNQZXJDb21wb25lbnQiKXx8OCxhPXQubGVuZ3RoLHM9bmV3IEludDMyQXJyYXkoYSk7bGV0IHI9ITE7Y29uc3Qgbj0oMTw8aSktMTtmb3IobGV0IGU9MDtlPGE7ZSs9Mil7c1tlXT0yNTYqKHRbZSsxXS10W2VdKXwwO3NbZSsxXT10W2VdKm58MDsyNTY9PT1zW2VdJiYwPT09c1tlKzFdfHwocj0hMCl9ciYmKGUuZGVjb2RlVHJhbnNmb3JtPXMpfWlmKHRoaXMucGFyYW1zIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgdD10aGlzLnBhcmFtcy5nZXQoIkNvbG9yVHJhbnNmb3JtIik7TnVtYmVyLmlzSW50ZWdlcih0KSYmKGUuY29sb3JUcmFuc2Zvcm09dCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJqcGVnT3B0aW9ucyIsZSl9I3coZSl7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aC0xO3Q8aTt0KyspaWYoMjU1PT09ZVt0XSYmMjE2PT09ZVt0KzFdKXt0PjAmJihlPWUuc3ViYXJyYXkodCkpO2JyZWFrfXJldHVybiBlfWRlY29kZUltYWdlKGUpe2lmKHRoaXMuZW9mKXJldHVybiB0aGlzLmJ1ZmZlcjtlPXRoaXMuI3coZXx8dGhpcy5ieXRlcyk7Y29uc3QgdD1uZXcgSnBlZ0ltYWdlKHRoaXMuanBlZ09wdGlvbnMpO3QucGFyc2UoZSk7Y29uc3QgaT10LmdldERhdGEoe3dpZHRoOnRoaXMuZHJhd1dpZHRoLGhlaWdodDp0aGlzLmRyYXdIZWlnaHQsZm9yY2VSR0JBOnRoaXMuZm9yY2VSR0JBLGZvcmNlUkdCOnRoaXMuZm9yY2VSR0IsaXNTb3VyY2VQREY6ITB9KTt0aGlzLmJ1ZmZlcj1pO3RoaXMuYnVmZmVyTGVuZ3RoPWkubGVuZ3RoO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY31hc3luYyBnZXRUcmFuc2ZlcmFibGVJbWFnZSgpe2lmKCFhd2FpdCBKcGVnU3RyZWFtLmNhblVzZUltYWdlRGVjb2RlcilyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMuanBlZ09wdGlvbnM7aWYoZS5kZWNvZGVUcmFuc2Zvcm0pcmV0dXJuIG51bGw7bGV0IHQ7dHJ5e2NvbnN0IGk9dGhpcy5jYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlciYmYXdhaXQgdGhpcy5zdHJlYW0uYXN5bmNHZXRCeXRlcygpfHx0aGlzLmJ5dGVzO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IGE9dGhpcy4jdyhpKTtpZighSnBlZ0ltYWdlLmNhblVzZUltYWdlRGVjb2RlcihhLGUuY29sb3JUcmFuc2Zvcm0pKXJldHVybiBudWxsO3Q9bmV3IEltYWdlRGVjb2Rlcih7ZGF0YTphLHR5cGU6ImltYWdlL2pwZWciLHByZWZlckFuaW1hdGlvbjohMX0pO3JldHVybihhd2FpdCB0LmRlY29kZSgpKS5pbWFnZX1jYXRjaChlKXt3YXJuKGBnZXRUcmFuc2ZlcmFibGVJbWFnZSAtIGZhaWxlZDogIiR7ZX0iLmApO3JldHVybiBudWxsfWZpbmFsbHl7dD8uY2xvc2UoKX19fXZhciBJaSxjaT0oSWk9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudD9kb2N1bWVudC5jdXJyZW50U2NyaXB0Py5zcmM6dm9pZCAwLGZ1bmN0aW9uKGU9e30pe3ZhciB0LGksYT1lO25ldyBQcm9taXNlKCgoZSxhKT0+e3Q9ZTtpPWF9KSk7YS5kZWNvZGU9ZnVuY3Rpb24oZSx7bnVtQ29tcG9uZW50czp0PTQsaXNJbmRleGVkQ29sb3JtYXA6aT0hMSxzbWFza0luRGF0YTpzPSExfSl7Y29uc3Qgcj1lLmxlbmd0aCxuPWEuX21hbGxvYyhyKTthLkhFQVBVOC5zZXQoZSxuKTtjb25zdCBnPWEuX2pwMl9kZWNvZGUobixyLHQ+MD90OjAsISFpLCEhcyk7YS5fZnJlZShuKTtpZihnKXtjb25zdHtlcnJvck1lc3NhZ2VzOmV9PWE7aWYoZSl7ZGVsZXRlIGEuZXJyb3JNZXNzYWdlcztyZXR1cm4gZX1yZXR1cm4iVW5rbm93biBlcnJvciJ9Y29uc3R7aW1hZ2VEYXRhOm99PWE7YS5pbWFnZURhdGE9bnVsbDtyZXR1cm4gb307dmFyIHMscj1PYmplY3QuYXNzaWduKHt9LGEpLG49Ii4vdGhpcy5wcm9ncmFtIixnPSIiOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJihnPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKTtJaSYmKGc9SWkpO2c9Zy5zdGFydHNXaXRoKCJibG9iOiIpPyIiOmcuc3Vic3RyKDAsZy5yZXBsYWNlKC9bPyNdLiovLCIiKS5sYXN0SW5kZXhPZigiLyIpKzEpO3ZhciBvLGMsQyxoLGwsUT1hLnByaW50fHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpLEU9YS5wcmludEVycnx8Y29uc29sZS5lcnJvci5iaW5kKGNvbnNvbGUpO09iamVjdC5hc3NpZ24oYSxyKTtyPW51bGw7YS5hcmd1bWVudHMmJmEuYXJndW1lbnRzO2EudGhpc1Byb2dyYW0mJihuPWEudGhpc1Byb2dyYW0pO2EucXVpdCYmYS5xdWl0O2Eud2FzbUJpbmFyeSYmKG89YS53YXNtQmluYXJ5KTtmdW5jdGlvbiB0cnlQYXJzZUFzRGF0YVVSSShlKXtpZihpc0RhdGFVUkkoZSkpcmV0dXJuIGZ1bmN0aW9uIGludEFycmF5RnJvbUJhc2U2NChlKXtmb3IodmFyIHQ9YXRvYihlKSxpPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoKSxhPTA7YTx0Lmxlbmd0aDsrK2EpaVthXT10LmNoYXJDb2RlQXQoYSk7cmV0dXJuIGl9KGUuc2xpY2UoRC5sZW5ndGgpKX1mdW5jdGlvbiB1cGRhdGVNZW1vcnlWaWV3cygpe3ZhciBlPWMuYnVmZmVyO2EuSEVBUDg9Qz1uZXcgSW50OEFycmF5KGUpO2EuSEVBUDE2PW5ldyBJbnQxNkFycmF5KGUpO2EuSEVBUFU4PWg9bmV3IFVpbnQ4QXJyYXkoZSk7YS5IRUFQVTE2PW5ldyBVaW50MTZBcnJheShlKTthLkhFQVAzMj1uZXcgSW50MzJBcnJheShlKTthLkhFQVBVMzI9bD1uZXcgVWludDMyQXJyYXkoZSk7YS5IRUFQRjMyPW5ldyBGbG9hdDMyQXJyYXkoZSk7YS5IRUFQRjY0PW5ldyBGbG9hdDY0QXJyYXkoZSl9dmFyIHUsZD1bXSxmPVtdLHA9W10sbT0wLHk9bnVsbCx3PW51bGwsRD0iZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCIsaXNEYXRhVVJJPWU9PmUuc3RhcnRzV2l0aChEKTtmdW5jdGlvbiBpbnN0YW50aWF0ZVN5bmMoZSx0KXt2YXIgaSxhPWZ1bmN0aW9uIGdldEJpbmFyeVN5bmMoZSl7aWYoZT09dSYmbylyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobyk7dmFyIHQ9dHJ5UGFyc2VBc0RhdGFVUkkoZSk7aWYodClyZXR1cm4gdDtpZihzKXJldHVybiBzKGUpO3Rocm93J3N5bmMgZmV0Y2hpbmcgb2YgdGhlIHdhc20gZmFpbGVkOiB5b3UgY2FuIHByZWxvYWQgaXQgdG8gTW9kdWxlWyJ3YXNtQmluYXJ5Il0gbWFudWFsbHksIG9yIGVtY2MucHkgd2lsbCBkbyB0aGF0IGZvciB5b3Ugd2hlbiBnZW5lcmF0aW5nIEhUTUwgKGJ1dCBub3QgSlMpJ30oZSk7aT1uZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGEpO3JldHVybltuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoaSx0KSxpXX12YXIgY2FsbFJ1bnRpbWVDYWxsYmFja3M9ZT0+e2Zvcig7ZS5sZW5ndGg+MDspZS5zaGlmdCgpKGEpfTthLm5vRXhpdFJ1bnRpbWU7dmFyIGIsZ3Jvd01lbW9yeT1lPT57dmFyIHQ9KGUtYy5idWZmZXIuYnl0ZUxlbmd0aCs2NTUzNSkvNjU1MzY7dHJ5e2MuZ3Jvdyh0KTt1cGRhdGVNZW1vcnlWaWV3cygpO3JldHVybiAxfWNhdGNoKGUpe319LEY9e30sZ2V0RW52U3RyaW5ncz0oKT0+e2lmKCFnZXRFbnZTdHJpbmdzLnN0cmluZ3Mpe3ZhciBlPXtVU0VSOiJ3ZWJfdXNlciIsTE9HTkFNRToid2ViX3VzZXIiLFBBVEg6Ii8iLFBXRDoiLyIsSE9NRToiL2hvbWUvd2ViX3VzZXIiLExBTkc6KCJvYmplY3QiPT10eXBlb2YgbmF2aWdhdG9yJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdfHwiQyIpLnJlcGxhY2UoIi0iLCJfIikrIi5VVEYtOCIsXzpufHwiLi90aGlzLnByb2dyYW0ifTtmb3IodmFyIHQgaW4gRil2b2lkIDA9PT1GW3RdP2RlbGV0ZSBlW3RdOmVbdF09Rlt0XTt2YXIgaT1bXTtmb3IodmFyIHQgaW4gZSlpLnB1c2goYCR7dH09JHtlW3RdfWApO2dldEVudlN0cmluZ3Muc3RyaW5ncz1pfXJldHVybiBnZXRFbnZTdHJpbmdzLnN0cmluZ3N9LFM9W251bGwsW10sW11dLGs9InVuZGVmaW5lZCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoInV0ZjgiKTp2b2lkIDAsVVRGOEFycmF5VG9TdHJpbmc9KGUsdCxpKT0+e2Zvcih2YXIgYT10K2kscz10O2Vbc10mJiEocz49YSk7KSsrcztpZihzLXQ+MTYmJmUuYnVmZmVyJiZrKXJldHVybiBrLmRlY29kZShlLnN1YmFycmF5KHQscykpO2Zvcih2YXIgcj0iIjt0PHM7KXt2YXIgbj1lW3QrK107aWYoMTI4Jm4pe3ZhciBnPTYzJmVbdCsrXTtpZigxOTIhPSgyMjQmbikpe3ZhciBvPTYzJmVbdCsrXTtpZigobj0yMjQ9PSgyNDAmbik/KDE1Jm4pPDwxMnxnPDw2fG86KDcmbik8PDE4fGc8PDEyfG88PDZ8NjMmZVt0KytdKTw2NTUzNilyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pO2Vsc2V7dmFyIGM9bi02NTUzNjtyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fGM+PjEwLDU2MzIwfDEwMjMmYyl9fWVsc2Ugcis9U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmbik8PDZ8Zyl9ZWxzZSByKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pfXJldHVybiByfSxwcmludENoYXI9KGUsdCk9Pnt2YXIgaT1TW2VdO2lmKDA9PT10fHwxMD09PXQpeygxPT09ZT9ROkUpKFVURjhBcnJheVRvU3RyaW5nKGksMCkpO2kubGVuZ3RoPTB9ZWxzZSBpLnB1c2godCl9LFVURjhUb1N0cmluZz0oZSx0KT0+ZT9VVEY4QXJyYXlUb1N0cmluZyhoLGUsdCk6IiIsUj17YzooZSx0LGkpPT5oLmNvcHlXaXRoaW4oZSx0LHQraSksZzpmdW5jdGlvbiBfY29weV9waXhlbHNfMShlLHQpe2U+Pj0yO2NvbnN0IGk9YS5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHQpLHM9YS5IRUFQMzIuc3ViYXJyYXkoZSxlK3QpO2kuc2V0KHMpfSxmOmZ1bmN0aW9uIF9jb3B5X3BpeGVsc18zKGUsdCxpLHMpe2U+Pj0yO3Q+Pj0yO2k+Pj0yO2NvbnN0IHI9YS5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMqcyksbj1hLkhFQVAzMi5zdWJhcnJheShlLGUrcyksZz1hLkhFQVAzMi5zdWJhcnJheSh0LHQrcyksbz1hLkhFQVAzMi5zdWJhcnJheShpLGkrcyk7Zm9yKGxldCBlPTA7ZTxzO2UrKyl7clszKmVdPW5bZV07clszKmUrMV09Z1tlXTtyWzMqZSsyXT1vW2VdfX0sZTpmdW5jdGlvbiBfY29weV9waXhlbHNfNChlLHQsaSxzLHIpe2U+Pj0yO3Q+Pj0yO2k+Pj0yO3M+Pj0yO2NvbnN0IG49YS5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDQqciksZz1hLkhFQVAzMi5zdWJhcnJheShlLGUrciksbz1hLkhFQVAzMi5zdWJhcnJheSh0LHQrciksYz1hLkhFQVAzMi5zdWJhcnJheShpLGkrciksQz1hLkhFQVAzMi5zdWJhcnJheShzLHMrcik7Zm9yKGxldCBlPTA7ZTxyO2UrKyl7bls0KmVdPWdbZV07bls0KmUrMV09b1tlXTtuWzQqZSsyXT1jW2VdO25bNCplKzNdPUNbZV19fSxrOmU9Pnt2YXIgdD1oLmxlbmd0aCxpPTIxNDc0ODM2NDg7aWYoKGU+Pj49MCk+aSlyZXR1cm4hMTtmb3IodmFyIGEscyxyPTE7cjw9NDtyKj0yKXt2YXIgbj10KigxKy4yL3IpO249TWF0aC5taW4obixlKzEwMDY2MzI5Nik7dmFyIGc9TWF0aC5taW4oaSwoYT1NYXRoLm1heChlLG4pKSsoKHM9NjU1MzYpLWElcyklcyk7aWYoZ3Jvd01lbW9yeShnKSlyZXR1cm4hMH1yZXR1cm4hMX0sbDooZSx0KT0+e3ZhciBpPTA7Z2V0RW52U3RyaW5ncygpLmZvckVhY2goKChhLHMpPT57dmFyIHI9dCtpO2xbZSs0KnM+PjJdPXI7KChlLHQpPT57Zm9yKHZhciBpPTA7aTxlLmxlbmd0aDsrK2kpQ1t0KytdPWUuY2hhckNvZGVBdChpKTtDW3RdPTB9KShhLHIpO2krPWEubGVuZ3RoKzF9KSk7cmV0dXJuIDB9LG06KGUsdCk9Pnt2YXIgaT1nZXRFbnZTdHJpbmdzKCk7bFtlPj4yXT1pLmxlbmd0aDt2YXIgYT0wO2kuZm9yRWFjaCgoZT0+YSs9ZS5sZW5ndGgrMSkpO2xbdD4+Ml09YTtyZXR1cm4gMH0sbjplPT41MixqOmZ1bmN0aW9uIF9mZF9zZWVrKGUsdCxpLGEscyl7cmV0dXJuIDcwfSxiOihlLHQsaSxhKT0+e2Zvcih2YXIgcz0wLHI9MDtyPGk7cisrKXt2YXIgbj1sW3Q+PjJdLGc9bFt0KzQ+PjJdO3QrPTg7Zm9yKHZhciBvPTA7bzxnO28rKylwcmludENoYXIoZSxoW24rb10pO3MrPWd9bFthPj4yXT1zO3JldHVybiAwfSxvOmZ1bmN0aW9uIF9ncmF5X3RvX3JnYmEoZSx0KXtlPj49Mjtjb25zdCBpPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSg0KnQpLHM9YS5IRUFQMzIuc3ViYXJyYXkoZSxlK3QpO2ZvcihsZXQgZT0wO2U8dDtlKyspe2lbNCplXT1pWzQqZSsxXT1pWzQqZSsyXT1zW2VdO2lbNCplKzNdPTI1NX19LGk6ZnVuY3Rpb24gX2dyYXlhX3RvX3JnYmEoZSx0LGkpe2U+Pj0yO3Q+Pj0yO2NvbnN0IHM9YS5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDQqaSkscj1hLkhFQVAzMi5zdWJhcnJheShlLGUraSksbj1hLkhFQVAzMi5zdWJhcnJheSh0LHQraSk7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7c1s0KmVdPXNbNCplKzFdPXNbNCplKzJdPXJbZV07c1s0KmUrM109bltlXX19LGQ6ZnVuY3Rpb24gX2pzUHJpbnRXYXJuaW5nKGUpe2NvbnN0IHQ9VVRGOFRvU3RyaW5nKGUpOyhhLndhcm58fGNvbnNvbGUud2FybikoYE9wZW5KUEVHOiAke3R9YCl9LGg6ZnVuY3Rpb24gX3JnYl90b19yZ2JhKGUsdCxpLHMpe2U+Pj0yO3Q+Pj0yO2k+Pj0yO2NvbnN0IHI9YS5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDQqcyksbj1hLkhFQVAzMi5zdWJhcnJheShlLGUrcyksZz1hLkhFQVAzMi5zdWJhcnJheSh0LHQrcyksbz1hLkhFQVAzMi5zdWJhcnJheShpLGkrcyk7Zm9yKGxldCBlPTA7ZTxzO2UrKyl7cls0KmVdPW5bZV07cls0KmUrMV09Z1tlXTtyWzQqZSsyXT1vW2VdO3JbNCplKzNdPTI1NX19LGE6ZnVuY3Rpb24gX3N0b3JlRXJyb3JNZXNzYWdlKGUpe2NvbnN0IHQ9VVRGOFRvU3RyaW5nKGUpO2EuZXJyb3JNZXNzYWdlcz9hLmVycm9yTWVzc2FnZXMrPSJcbiIrdDphLmVycm9yTWVzc2FnZXM9dH19LE49ZnVuY3Rpb24gY3JlYXRlV2FzbSgpe3ZhciBlPWZ1bmN0aW9uIGdldFdhc21JbXBvcnRzKCl7cmV0dXJue2E6Un19KCk7ZnVuY3Rpb24gcmVjZWl2ZUluc3RhbmNlKGUsdCl7Tj1lLmV4cG9ydHM7Yz1OLnA7dXBkYXRlTWVtb3J5Vmlld3MoKTshZnVuY3Rpb24gYWRkT25Jbml0KGUpe2YudW5zaGlmdChlKX0oTi5xKTshZnVuY3Rpb24gcmVtb3ZlUnVuRGVwZW5kZW5jeShlKXttLS07YS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzPy4obSk7aWYoMD09bSl7aWYobnVsbCE9PXkpe2NsZWFySW50ZXJ2YWwoeSk7eT1udWxsfWlmKHcpe3ZhciB0PXc7dz1udWxsO3QoKX19fSgpO3JldHVybiBOfSFmdW5jdGlvbiBhZGRSdW5EZXBlbmRlbmN5KGUpe20rKzthLm1vbml0b3JSdW5EZXBlbmRlbmNpZXM/LihtKX0oKTtpZihhLmluc3RhbnRpYXRlV2FzbSl0cnl7cmV0dXJuIGEuaW5zdGFudGlhdGVXYXNtKGUscmVjZWl2ZUluc3RhbmNlKX1jYXRjaChlKXtFKGBNb2R1bGUuaW5zdGFudGlhdGVXYXNtIGNhbGxiYWNrIGZhaWxlZCB3aXRoIGVycm9yOiAke2V9YCk7aShlKX11fHwodT0iZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LEFHRnpiUUVBQUFBQnpnRWFZQU4vZjM4QmYyQUVmMzkvZndGL1lBRi9BR0FDZjM4QVlBRi9BWDlnQTM5L2Z3QmdBbjkvQVg5Z0JIOS9mMzhBWUFOL2ZuOEJmbUFGZjM5L2YzOEJmMkFDZm44QmYyQUNmbjhCZm1BRmYzOS9mMzhBWUFOL2ZuOEJmMkFBQVg5Z0IzOS9mMzkvZjM4QmYyQUpmMzkvZjM5L2YzOS9BWDlnQzM5L2YzOS9mMzkvZjM5L0FYOWdCbjkvZjM5L2Z3Ri9ZQVovZkg5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUFoL2YzOS9mMzkvZndGL1lBQUFZQVovZjM5L2YzOEFZQWQvZjM5L2YzOS9BR0FDZkg4QmZBSmJEd0ZoQVdFQUFnRmhBV0lBQVFGaEFXTUFCUUZoQVdRQUFnRmhBV1VBREFGaEFXWUFCd0ZoQVdjQUF3RmhBV2dBQndGaEFXa0FCUUZoQVdvQUNRRmhBV3NBQkFGaEFXd0FCZ0ZoQVcwQUJnRmhBVzRBQkFGaEFXOEFBd1BBQWI0QkJ3SUZBQVlFQUFVR0JBVUJCQXdGRkFZQ0FnSUNBQVlRRVFRQ0NoSUNCUUlFQndRQ0RnSUNEUVlDRlFNSEFBQUVBd0VXQ1FrREFBa0dBUVFFQlFVT0R3RUJBd0FEQmdJUUJCY1lBZ2NHQXdjSEFRRUNBQVFaQkFZSEJBOE1BQVFDQWdJQUJnQUdBUUVCQVFFQkFRRUFBQUFBQUFZREFnSUNBd01EQXdNQUF4TUlCQTRFQUFnREF3a0VDQW9MQ0FBQUFRRUJBUUVCQVFFTkFRQUVCQVVKRHdFU0VRRUFBQVlEQXdFRkJRVUZCUVVGQlFFTEFRRUJBUUVCQVFFQkNnUUZBWEFCYm00RkJ3RUJnZ0tBZ0FJR0NBRi9BVUdRMlFVTEJ4c0dBWEFDQUFGeEFFRUJjZ0NZQVFGekFCQUJkQUVBQVhVQWx3RUp2UUVCQUVFQkMyMVJ6QUhDQVhOek5xY0JuQUdaQVlzQmlnR0pBWWdCaHdHR0FZVUJoQUZTZ1FHQUFYOStmWHg3ZW5sNGQzWjF5d0hLQWNrQnlBSEhBY1lCUU1VQnhBRkFRTU1Cd1FIQUFiOEJ2Z0c5QWJ3QnV3RzZBYmtCc3dHb0FhWUJwUUdrQWFNQm9nR2hBYUFCbndHZUFaMEJtd0dhQVVsS1RGSklnd0ZUT0ZDQ0FVOUZSazRySjZzQnFnR3NBYlFCdUFHMUFhOEJxUUd0QWE0QnRnRzNBWEN3QWJFQnNnRlJsZ0dWQVl3QmpnR05BWklCa3dHVUFaQUJqd0VLa1pvT3ZnR0NBZ0VEZnlNQVFaQUVheUlFSkFBQ1FDQUFSUTBBQWtBQ1FBSkFBa0FnQVVFQmF3NEVBQUVFQWdRTElBQkJER29oQVF3Q0N5QUFRUkJxSVFFZ0FFRUVhaUVBREFFTElBQkJGR29oQVNBQVFRaHFJUUFMSUFFb0FnQWlCVVVOQUNBQ1JRMEFJQUFvQWdBaEJpQUVRUUJCZ0FRUUZTSUJJQU0yQW93RUl3QkJvQUZySWdBa0FDQUFJQUUyQXBRQklBQkIvd00yQXBnQklBQkJBRUdRQVJBVklnQkJmellDVENBQVFlWUFOZ0lrSUFCQmZ6WUNVQ0FBSUFCQm53RnFOZ0lzSUFBZ0FFR1VBV28yQWxRZ0FVRUFPZ0FBSUFBZ0FpQURRZWNBUWVnQUVHc2dBRUdnQVdva0FDQUJRUUE2QVA4RElBRWdCaUFGRVFNQUN5QUVRWkFFYWlRQUM5QUNBUVYvSUFBRVFDQUFRUVJySWdNb0FnQWlCQ0VCSUFNaEFpQUFRUWhyS0FJQUlnQWdBRUYrY1NJQVJ3UkFJQUlnQUdzaUFpZ0NCQ0lCSUFJb0FnZ2lCVFlDQ0NBRklBRTJBZ1FnQUNBRWFpRUJDeUFESUFScUlnQW9BZ0FpQXlBQUlBTnFRUVJyS0FJQVJ3UkFJQUFvQWdRaUJDQUFLQUlJSWdBMkFnZ2dBQ0FFTmdJRUlBRWdBMm9oQVFzZ0FpQUJOZ0lBSUFJZ0FVRjhjV3BCQkdzZ0FVRUJjallDQUNBQ0FuOGdBaWdDQUVFSWF5SUFRZjhBVFFSQUlBQkJBM1pCQVdzTUFRc2dBR2NoQXlBQVFSMGdBMnQyUVFSeklBTkJBblJyUWU0QWFpQUFRZjhmVFEwQUdrRS9JQUJCSGlBRGEzWkJBbk1nQTBFQmRHdEJ4d0JxSWdBZ0FFRS9UeHNMSWdGQkJIUWlBRUdneHdGcU5nSUVJQUlnQUVHb3h3RnFJZ0FvQWdBMkFnZ2dBQ0FDTmdJQUlBSW9BZ2dnQWpZQ0JFR296d0ZCcU04QktRTUFRZ0VnQWEyR2hEY0RBQXNMeVFJQkJIOGdBVUVBTmdJQUFrQWdBa1VOQUNBQklBSnFJUU1DUUNBQ1FSQkpCRUFnQUNFQkRBRUxBa0FnQUNBQ2FpQUJUUTBBSUFBZ0EwOE5BQ0FBSVFFTUFRc2dBMEVRYXlFR0lBQWdBa0Z3Y1NJRmFpRUJJQU1nQldzaEF3TkFJQVlnQkdzZ0FDQUVhdjBBQUFEOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOURROE9EUXdMQ2drSUJ3WUZCQU1DQVFEOUN3QUFJQVJCRUdvaUJDQUZSdzBBQ3lBQ0lBVkdEUUVMQWtBZ0FrRURjU0lHUlFSQUlBVWhCQXdCQzBFQUlRQWdCU0VFQTBBZ0EwRUJheUlESUFFdEFBQTZBQUFnQkVFQmFpRUVJQUZCQVdvaEFTQUFRUUZxSWdBZ0JrY05BQXNMSUFVZ0FtdEJmRXNOQUFOQUlBTkJBV3NnQVMwQUFEb0FBQ0FEUVFKcklBRXRBQUU2QUFBZ0EwRURheUFCTFFBQ09nQUFJQU5CQkdzaUF5QUJMUUFET2dBQUlBRkJCR29oQVNBRVFRUnFJZ1FnQWtjTkFBc0xDNEFFQVFOL0lBSkJnQVJQQkVBZ0FDQUJJQUlRQWlBQUR3c2dBQ0FDYWlFREFrQWdBQ0FCYzBFRGNVVUVRQUpBSUFCQkEzRkZCRUFnQUNFQ0RBRUxJQUpGQkVBZ0FDRUNEQUVMSUFBaEFnTkFJQUlnQVMwQUFEb0FBQ0FCUVFGcUlRRWdBa0VCYWlJQ1FRTnhSUTBCSUFJZ0Ewa05BQXNMQWtBZ0EwRjhjU0lFUWNBQVNRMEFJQUlnQkVGQWFpSUZTdzBBQTBBZ0FpQUJLQUlBTmdJQUlBSWdBU2dDQkRZQ0JDQUNJQUVvQWdnMkFnZ2dBaUFCS0FJTU5nSU1JQUlnQVNnQ0VEWUNFQ0FDSUFFb0FoUTJBaFFnQWlBQktBSVlOZ0lZSUFJZ0FTZ0NIRFlDSENBQ0lBRW9BaUEyQWlBZ0FpQUJLQUlrTmdJa0lBSWdBU2dDS0RZQ0tDQUNJQUVvQWl3MkFpd2dBaUFCS0FJd05nSXdJQUlnQVNnQ05EWUNOQ0FDSUFFb0FqZzJBamdnQWlBQktBSThOZ0k4SUFGQlFHc2hBU0FDUVVCcklnSWdCVTBOQUFzTElBSWdCRThOQVFOQUlBSWdBU2dDQURZQ0FDQUJRUVJxSVFFZ0FrRUVhaUlDSUFSSkRRQUxEQUVMSUFOQkJFa0VRQ0FBSVFJTUFRc2dBQ0FEUVFScklnUkxCRUFnQUNFQ0RBRUxJQUFoQWdOQUlBSWdBUzBBQURvQUFDQUNJQUV0QUFFNkFBRWdBaUFCTFFBQ09nQUNJQUlnQVMwQUF6b0FBeUFCUVFScUlRRWdBa0VFYWlJQ0lBUk5EUUFMQ3lBQ0lBTkpCRUFEUUNBQ0lBRXRBQUE2QUFBZ0FVRUJhaUVCSUFKQkFXb2lBaUFEUncwQUN3c2dBQXN3QVFGL0FrQWdBRVVOQUNBQlJRMEFRUWdnQUNBQmJDSUJFQ1VpQUFSQUlBQkJBQ0FCRUJVYUN5QUFJUUlMSUFJTEVRQWdBRVVFUUVFQUR3dEJDQ0FBRUNVTDhnSUNBbjhCZmdKQUlBSkZEUUFnQUNBQk9nQUFJQUFnQW1vaUEwRUJheUFCT2dBQUlBSkJBMGtOQUNBQUlBRTZBQUlnQUNBQk9nQUJJQU5CQTJzZ0FUb0FBQ0FEUVFKcklBRTZBQUFnQWtFSFNRMEFJQUFnQVRvQUF5QURRUVJySUFFNkFBQWdBa0VKU1EwQUlBQkJBQ0FBYTBFRGNTSUVhaUlESUFGQi93RnhRWUdDaEFoc0lnRTJBZ0FnQXlBQ0lBUnJRWHh4SWdScUlnSkJCR3NnQVRZQ0FDQUVRUWxKRFFBZ0F5QUJOZ0lJSUFNZ0FUWUNCQ0FDUVFocklBRTJBZ0FnQWtFTWF5QUJOZ0lBSUFSQkdVa05BQ0FESUFFMkFoZ2dBeUFCTmdJVUlBTWdBVFlDRUNBRElBRTJBZ3dnQWtFUWF5QUJOZ0lBSUFKQkZHc2dBVFlDQUNBQ1FSaHJJQUUyQWdBZ0FrRWNheUFCTmdJQUlBUWdBMEVFY1VFWWNpSUVheUlDUVNCSkRRQWdBYTFDZ1lDQWdCQitJUVVnQXlBRWFpRUJBMEFnQVNBRk53TVlJQUVnQlRjREVDQUJJQVUzQXdnZ0FTQUZOd01BSUFGQklHb2hBU0FDUVNCcklnSkJIMHNOQUFzTElBQUxKd0VCZnlNQVFSQnJJZ01rQUNBRElBSTJBZ3dnQUNBQklBSkJBRUVBRUdzZ0EwRVFhaVFBQytnRkFRbC9JQUZGQkVCQkFBOExBbjhnQUVVRVFFRUlJQUVRSlF3QkN5QUJSUVJBSUFBUUVFRUFEQUVMQWtBZ0FVRkhTdzBBSUFBQ2YwRUlJQUZCQTJwQmZIRWdBVUVJVFJzaUIwRUlhaUVCQWtBQ2Z3SkFJQUJCQkdzaUNpSUVLQUlBSWdVZ0JHb2lBaWdDQUNJSklBSWdDV29pQ0VFRWF5Z0NBRWNFUUNBSUlBRWdCR29pQTBFUWFrOEVRQ0FDS0FJRUlnVWdBaWdDQ0NJQ05nSUlJQUlnQlRZQ0JDQURJQWdnQTJzaUFqWUNBQ0FESUFKQmZIRnFRUVJySUFKQkFYSTJBZ0FnQXdKL0lBTW9BZ0JCQ0dzaUFrSC9BRTBFUUNBQ1FRTjJRUUZyREFFTElBSkJIU0FDWnlJRmEzWkJCSE1nQlVFQ2RHdEI3Z0JxSUFKQi94OU5EUUFhUVQ4Z0FrRWVJQVZyZGtFQ2N5QUZRUUYwYTBISEFHb2lBaUFDUVQ5UEd3c2lBa0VFZENJRlFhREhBV28yQWdRZ0F5QUZRYWpIQVdvaUJTZ0NBRFlDQ0NBRklBTTJBZ0FnQXlnQ0NDQUROZ0lFUWFqUEFVR296d0VwQXdCQ0FTQUNyWWFFTndNQUlBUWdBVFlDQUF3RUN5QURJQWhMRFFFZ0FpZ0NCQ0lCSUFJb0FnZ2lBellDQ0NBRElBRTJBZ1FnQkNBRklBbHFJZ0UyQWdBTUF3c2dCU0FCUVJCcVR3UkFJQVFnQVRZQ0FDQUVJQUZCZkhGcVFRUnJJQUUyQWdBZ0FTQUVhaUlESUFVZ0FXc2lBVFlDQUNBRElBRkJmSEZxUVFScklBRkJBWEkyQWdBZ0F3Si9JQU1vQWdCQkNHc2lBVUgvQUUwRVFDQUJRUU4yUVFGckRBRUxJQUZCSFNBQlp5SUVhM1pCQkhNZ0JFRUNkR3RCN2dCcUlBRkIveDlORFFBYVFUOGdBVUVlSUFScmRrRUNjeUFFUVFGMGEwSEhBR29pQVNBQlFUOVBHd3NpQVVFRWRDSUVRYURIQVdvMkFnUWdBeUFFUWFqSEFXb2lCQ2dDQURZQ0NDQUVJQU0yQWdBZ0F5Z0NDQ0FETmdJRVFhalBBVUdvendFcEF3QkNBU0FCcllhRU53TUFRUUVNQkF0QkFTQUJJQVZORFFFYUMwRUFDd3dCQ3lBRUlBRkJmSEZxUVFScklBRTJBZ0JCQVFzTkFScEJDQ0FIRUNVaUFVVU5BQ0FCSUFBZ0J5QUtLQUlBUVFocklnWWdCaUFIU3hzUUVob2dBQkFRSUFFaEJnc2dCZ3NMTndFQ2Z5TUFRUkJySWdFa0FDQUFCSDhnQVVFTWFrRVFJQUFRYkNFQVFRQWdBU2dDRENBQUd3VkJBQXNoQWlBQlFSQnFKQUFnQWdzWEFDQUFMUUFBUVNCeFJRUkFJQUVnQWlBQUVEMGFDd3U4QkFFRmZ5QUNJQUFvQWpBaUJVMEVRQ0FCSUFBb0FpUWdBaEFTR2lBQUlBQW9BaVFnQW1vMkFpUWdBQ0FBS0FJd0lBSnJOZ0l3SUFBZ0FDa0RPQ0FDclh3M0F6Z2dBZzhMSUFBdEFFUkJCSEVFUUNBQklBQW9BaVFnQlJBU0dpQUFLQUl3SVFFZ0FFRUFOZ0l3SUFBZ0FTQUFLQUlrYWpZQ0pDQUFJQUFwQXpnZ0FhMThOd000SUFWQmZ5QUZHdzhMQWtBZ0JRUkFJQUVnQUNnQ0pDQUZFQkloQkNBQUlBQW9BaUFpQnpZQ0pDQUFLQUl3SVFFZ0FFRUFOZ0l3SUFBZ0FDa0RPQ0FCclh3M0F6Z2dBaUFCYXlFQ0lBRWdCR29oQVF3QkN5QUFJQUFvQWlBaUJ6WUNKQXNDUUFKQUEwQUNRQ0FBS0FJQUlRUWdBQ2dDRUNFR0FrQWdBQ2dDUUNJSUlBSkxCRUFnQUNBSElBZ2dCQ0FHRVFBQUlnWTJBakFnQmtGL1JnUkFEQVlMSUFJZ0JrME5BaUFCSUFBb0FpUWdCaEFTR2lBQUlBQW9BaUFpQnpZQ0pDQUFLQUl3SVFRTUFRc2dBQ0FCSUFJZ0JDQUdFUUFBSWdRMkFqQWdCRUYvUmdSQURBVUxJQUlnQkUwTkF5QUFJQUFvQWlBaUJ6WUNKQ0FFSVFZTElBQkJBRFlDTUNBQUlBQXBBemdnQksxOE53TTRJQUVnQkdvaEFTQUNJQVJySVFJZ0JTQUdhaUVGREFFTEN5QUJJQUFvQWlRZ0FoQVNHaUFBSUFBb0FpUWdBbW8yQWlRZ0FDQUFLQUl3SUFKck5nSXdJQUFnQUNrRE9DQUNyWHczQXpnZ0FpQUZhZzhMSUFCQkFEWUNNQ0FBSUFBb0FpQTJBaVFnQUNBQUtRTTRJQVN0ZkRjRE9DQUVJQVZxRHdzZ0EwRUVRWnYxQUVFQUVBOGdBRUVBTmdJd0lBQWdBQ2dDUkVFRWNqWUNSQ0FGUVg4Z0JSc0xpd2NDRFg4QmZpQUFLQUlRSWdkQklFOEVRQ0FBS1FNSXB3OExBa0FnQUNnQ0dDSUNRUVJPQkVBZ0FDZ0NBQ0lCS0FJQUlRUWdBQ0FDUVFScklnVTJBaGdnQUNBQlFRUnFOZ0lBREFFTFFYOUJBQ0FBS0FJY0d5RUVJQUpCQUV3RVFDQUNJUVVNQVFzZ0FrRUJjU0VNSUFBb0FnQWhBUUpBSUFKQkFVWUVRQ0FCSVFZTUFRc2dBa0grLy8vL0IzRWhDZ05BSUFBZ0FVRUJhallDQUNBQkxRQUFJUWtnQUNBQlFRSnFJZ1kyQWdBZ0FDQUNRUUZyTmdJWUlBRXRBQUVoQVNBQUlBSkJBbXNpQWpZQ0dDQUVRZjhCSUFOMFFYOXpjU0FKSUFOMGNrR0EvZ01nQTNSQmYzTnhJQUVnQTBFSWNuUnlJUVFnQTBFUWFpRURJQVloQVNBRlFRSnFJZ1VnQ2tjTkFBc0xRUUFoQlNBTVJRMEFJQUFnQmtFQmFqWUNBQ0FHTFFBQUlRRWdBQ0FDUVFGck5nSVlJQVJCL3dFZ0EzUkJmM054SUFFZ0EzUnlJUVFMSUFBb0FoUWhBU0FBSUFSQkdIWWlDa0gvQVVZMkFoUWdBRUVIUVFnZ0FSc2lBVUVIUVFnZ0JFSC9BWEVpQmtIL0FVWWJhaUlDUVFkQkNDQUVRUWgyUWY4QmNTSURRZjhCUmh0cUlnbEJCMEVJSUFSQkVIWkIvd0Z4SWdSQi93RkdHeUFIYW1vaUNEWUNFQ0FBSUFBcEF3Z2dBeUFCZENBRUlBSjBjaUFLSUFsMGNpQUdjcTBnQjYyR2hDSU9Od01JSUFoQkgwMEVRQUpBSUFWQkJFNEVRQ0FBS0FJQUlnRW9BZ0FoQWlBQUlBVkJCR3MyQWhnZ0FDQUJRUVJxTmdJQURBRUxRUUFoQTBGL1FRQWdBQ2dDSEJzaEFpQUZRUUJNRFFBZ0JVRUJjU0VOSUFBb0FnQWhBUUpBSUFWQkFVWUVRQ0FCSVFRTUFRc2dCVUgrLy8vL0IzRWhDVUVBSVFZRFFDQUFJQUZCQVdvMkFnQWdBUzBBQUNFTElBQWdBVUVDYWlJRU5nSUFJQUFnQlVFQmF6WUNHQ0FCTFFBQklRRWdBQ0FGUVFKcklnVTJBaGdnQWtIL0FTQURkRUYvYzNFZ0N5QURkSEpCZ1A0RElBTjBRWDl6Y1NBQklBTkJDSEowY2lFQ0lBTkJFR29oQXlBRUlRRWdCa0VDYWlJR0lBbEhEUUFMQ3lBTlJRMEFJQUFnQkVFQmFqWUNBQ0FFTFFBQUlRRWdBQ0FGUVFGck5nSVlJQUpCL3dFZ0EzUkJmM054SUFFZ0EzUnlJUUlMSUFBZ0FrRVlkaUlCUWY4QlJqWUNGQ0FBUVFkQkNDQUtRZjhCUmhzaUJFRUhRUWdnQWtIL0FYRWlCa0gvQVVZYmFpSUZRUWRCQ0NBQ1FRaDJRZjhCY1NJRFFmOEJSaHRxSWdkQkIwRUlJQUpCRUhaQi93RnhJZ0pCL3dGR0d5QUlhbW8yQWhBZ0FDQURJQVIwSUFJZ0JYUnlJQUVnQjNSeUlBWnlyU0FJcllZZ0RvUWlEamNEQ0FzZ0RxY0xhd0VCZnlNQVFZQUNheUlGSkFBQ1FDQUNJQU5NRFFBZ0JFR0F3QVJ4RFFBZ0JTQUJJQUlnQTJzaUEwR0FBaUFEUVlBQ1NTSUJHeEFWR2lBQlJRUkFBMEFnQUNBRlFZQUNFQmtnQTBHQUFtc2lBMEgvQVVzTkFBc0xJQUFnQlNBREVCa0xJQVZCZ0FKcUpBQUxNUUFnQVFKL0lBSW9Ba3hCQUVnRVFDQUFJQUVnQWhBOURBRUxJQUFnQVNBQ0VEMExJZ0JHQkVBUEN5QUFJQUZ1R2dzWEFDQUFJQUVnQWlBRElBUWdCU0FHSUFkQkFSQW1HZ3VoQVFFRWZ5QUJRUUJNQkVCQkFBOExJQUFvQWd3aEFpQUFLQUlRSVFNRFFDQUJJUVVDUUNBRERRQWdBQ0FDUVFoMFFZRCtBM0VpQWpZQ0RDQUFRUWRCQ0NBQ1FZRCtBMFliSWdNMkFoQWdBQ2dDQ0NJQklBQW9BZ1JQRFFBZ0FDQUJRUUZxTmdJSUlBQWdBaUFCTFFBQWNpSUNOZ0lNQ3lBQUlBTkJBV3NpQXpZQ0VDQUNJQU4yUVFGeElBVkJBV3NpQVhRZ0JISWhCQ0FGUVFGTERRQUxJQVFMSGdBZ0FDZ0NEQVJBSUFCQkFEWUNLQU5BSUFBb0FoaEJBRW9OQUFzTEMyb0JBMzhnQUFSQUlBQW9BaGdpQVFSQUlBQW9BaEFpQWdSL1FRQWhBUU5BSUFBb0FoZ2dBVUUwYkdvb0Fpd2lBd1JBSUFNUUVDQUFLQUlRSVFJTElBRkJBV29pQVNBQ1NRMEFDeUFBS0FJWUJTQUJDeEFRQ3lBQUtBSWNJZ0VFUUNBQkVCQUxJQUFRRUFzTGtoVUJEMzhDUUFKQUlBQW9BZ3hGQkVCQkFTRVBJQUFvQWdSQkFFb05BU0FBS0FJSVFRRktEUUVNQWd0QkFTRU5JQUFvQWdoQkFFb05BQ0FBS0FJRVFRSklEUUVMSUFBb0FnQWlDQ0FOUVFWMGFpRUVBa0FnQUNnQ0VDSUhJQUFvQWhRaUNrOE5BQ0FFSUFkQkJuUnFJUUVDUUNBS0lBZHJRUU54SWdaRkJFQWdCeUVDREFFTElBY2hBZ05BSUFFZ0FmMEFCQUQ5REZoMm5UOVlkcDAvV0hhZFAxaDJuVC85NWdIOUN3UUFJQUVnQWYwQUJCRDlERmgyblQ5WWRwMC9XSGFkUDFoMm5ULzk1Z0g5Q3dRUUlBRkJRR3NoQVNBQ1FRRnFJUUlnQTBFQmFpSURJQVpIRFFBTEN5QUhJQXByUVh4TERRQURRQ0FCSUFIOUFBUUEvUXhZZHAwL1dIYWRQMWgyblQ5WWRwMC8vZVlCL1FzRUFDQUJJQUg5QUFRUS9ReFlkcDAvV0hhZFAxaDJuVDlZZHAwLy9lWUIvUXNFRUNBQklBSDlBQVJBL1F4WWRwMC9XSGFkUDFoMm5UOVlkcDAvL2VZQi9Rc0VRQ0FCSUFIOUFBUlEvUXhZZHAwL1dIYWRQMWgyblQ5WWRwMC8vZVlCL1FzRVVDQUJJQUg5QUFTQUFmME1XSGFkUDFoMm5UOVlkcDAvV0hhZFAvM21BZjBMQklBQklBRWdBZjBBQkpBQi9ReFlkcDAvV0hhZFAxaDJuVDlZZHAwLy9lWUIvUXNFa0FFZ0FTQUIvUUFFd0FIOURGaDJuVDlZZHAwL1dIYWRQMWgyblQvOTVnSDlDd1RBQVNBQklBSDlBQVRRQWYwTVdIYWRQMWgyblQ5WWRwMC9XSGFkUC8zbUFmMExCTkFCSUFGQmdBSnFJUUVnQWtFRWFpSUNJQXBIRFFBTEN5QUlJQTlCQlhScUlRVUNRQ0FBS0FJWUlnWWdBQ2dDSENJTFR3MEFJQVVnQmtFR2RHb2hBUUpBSUFzZ0JtdEJBM0VpQ0VVRVFDQUdJUUlNQVF0QkFDRURJQVloQWdOQUlBRWdBZjBBQkFEOURBQVkwRDhBR05BL0FCalFQd0FZMEQvOTVnSDlDd1FBSUFFZ0FmMEFCQkQ5REFBWTBEOEFHTkEvQUJqUVB3QVkwRC85NWdIOUN3UVFJQUZCUUdzaEFTQUNRUUZxSVFJZ0EwRUJhaUlESUFoSERRQUxDeUFHSUF0clFYeExEUUFEUUNBQklBSDlBQVFBL1F3QUdOQS9BQmpRUHdBWTBEOEFHTkEvL2VZQi9Rc0VBQ0FCSUFIOUFBUVEvUXdBR05BL0FCalFQd0FZMEQ4QUdOQS8vZVlCL1FzRUVDQUJJQUg5QUFSQS9Rd0FHTkEvQUJqUVB3QVkwRDhBR05BLy9lWUIvUXNFUUNBQklBSDlBQVJRL1F3QUdOQS9BQmpRUHdBWTBEOEFHTkEvL2VZQi9Rc0VVQ0FCSUFIOUFBU0FBZjBNQUJqUVB3QVkwRDhBR05BL0FCalFQLzNtQWYwTEJJQUJJQUVnQWYwQUJKQUIvUXdBR05BL0FCalFQd0FZMEQ4QUdOQS8vZVlCL1FzRWtBRWdBU0FCL1FBRXdBSDlEQUFZMEQ4QUdOQS9BQmpRUHdBWTBELzk1Z0g5Q3dUQUFTQUJJQUg5QUFUUUFmME1BQmpRUHdBWTBEOEFHTkEvQUJqUVAvM21BZjBMQk5BQklBRkJnQUpxSVFFZ0FrRUVhaUlDSUF0SERRQUxDeUFLSUFBb0FnZ2lDU0FBS0FJRUlnNGdEV3NpQUNBQUlBbEtHeUlJSUFnZ0Nrc2JJUXdnQkVFZ2FpRUJBbjhnQjBVRVFDQU1SUVJBUVFBaEF5QUJEQUlMSUFRZ0JQMEFCQUFnQmYwQUJBQWdCUDBBQkNEOTVBSDlERlVUNHo1VkUrTStWUlBqUGxVVDR6Nzk1Z0g5NVFIOUN3UUFJQVFnQlAwQUJCQWdCZjBBQkJBZ0JQMEFCREQ5NUFIOURGVVQ0ejVWRStNK1ZSUGpQbFVUNHo3OTVnSDk1UUg5Q3dRUVFRRWhBeUFFUWVBQWFnd0JDeUFCSUFjaUEwRUdkR29MSVFJZ0F5QU1TUVJBQTBBZ0FrRWdheUlBSUFEOUFBUUFJQUpCUUdyOUFBUUFJQUw5QUFRQS9lUUIvUXhWRStNK1ZSUGpQbFVUNHo1VkUrTSsvZVlCL2VVQi9Rc0VBQ0FDUVJCcklnQWdBUDBBQkFBZ0FrRXdhLzBBQkFBZ0F2MEFCQkQ5NUFIOURGVVQ0ejVWRStNK1ZSUGpQbFVUNHo3OTVnSDk1UUg5Q3dRQUlBSkJRR3NoQWlBRFFRRnFJZ01nREVjTkFBc0xJQWdnQ2s4aURVVUVRQ0FDUVNCcklnQWdBUDBBQkFBZ0FrRkFhdjBBQkFEOURGVVRZejlWRTJNL1ZSTmpQMVVUWXovOTVnSDk1UUg5Q3dRQUlBSkJFR3NpQUNBQS9RQUVBQ0FDUVRCci9RQUVBUDBNVlJOalAxVVRZejlWRTJNL1ZSTmpQLzNtQWYzbEFmMExCQUFMSUFzZ0RpQUpJQTlySWdBZ0FDQU9TaHNpRGlBTElBNUpHeUVKSUFWQklHb2hBaUFKQW44Z0JrVUVRQ0FKUlFSQUlBSWhBMEVBREFJTElBVWdCZjBBQkFBZ0JQMEFCQUFnQmYwQUJDRDk1QUg5REhZR1lqOTJCbUkvZGdaaVAzWUdZai85NWdIOTVRSDlDd1FBSUFVZ0JmMEFCQkFnQlAwQUJCQWdCZjBBQkREOTVBSDlESFlHWWo5MkJtSS9kZ1ppUDNZR1lqLzk1Z0g5NVFIOUN3UVFJQVZCNEFCcUlRTkJBUXdCQ3lBQ0lBWkJCblJxSVFNZ0Jnc2lBRXNFUUFOQUlBTkJJR3NpQ0NBSS9RQUVBQ0FEUVVCcS9RQUVBQ0FEL1FBRUFQM2tBZjBNZGdaaVAzWUdZajkyQm1JL2RnWmlQLzNtQWYzbEFmMExCQUFnQTBFUWF5SUlJQWo5QUFRQUlBTkJNR3Y5QUFRQUlBUDlBQVFRL2VRQi9ReDJCbUkvZGdaaVAzWUdZajkyQm1JLy9lWUIvZVVCL1FzRUFDQURRVUJySVFNZ0FFRUJhaUlBSUFsSERRQUxDeUFMSUE1TklnaEZCRUFnQTBFZ2F5SUFJQUQ5QUFRQUlBTkJRR3I5QUFRQS9ReDJCdUkvZGdiaVAzWUc0ajkyQnVJLy9lWUIvZVVCL1FzRUFDQURRUkJySWdBZ0FQMEFCQUFnQTBFd2EvMEFCQUQ5REhZRzRqOTJCdUkvZGdiaVAzWUc0ai85NWdIOTVRSDlDd1FBQ3dKQUlBZEZCRUFnREVVRVFFRUFJUWNNQWdzZ0JDQUUvUUFFQUNBRi9RQUVBQ0FFL1FBRUlQM2tBZjBNcmdGWlBhNEJXVDJ1QVZrOXJnRlpQZjNtQWYza0FmMExCQUFnQkNBRS9RQUVFQ0FGL1FBRUVDQUUvUUFFTVAza0FmME1yZ0ZaUGE0QldUMnVBVms5cmdGWlBmM21BZjNrQWYwTEJCQWdCRUhnQUdvaEFVRUJJUWNNQVFzZ0FTQUhRUVowYWlFQkN5QUhJQXhKQkVBRFFDQUJRU0JySWdBZ0FQMEFCQUFnQVVGQWF2MEFCQUFnQWYwQUJBRDk1QUg5REs0QldUMnVBVms5cmdGWlBhNEJXVDM5NWdIOTVBSDlDd1FBSUFGQkVHc2lBQ0FBL1FBRUFDQUJRVEJyL1FBRUFDQUIvUUFFRVAza0FmME1yZ0ZaUGE0QldUMnVBVms5cmdGWlBmM21BZjNrQWYwTEJBQWdBVUZBYXlFQklBZEJBV29pQnlBTVJ3MEFDd3NnRFVVRVFDQUJRU0JySWdBZ0FQMEFCQUFnQVVGQWF2MEFCQUQ5REs0QjJUMnVBZGs5cmdIWlBhNEIyVDM5NWdIOTVBSDlDd1FBSUFGQkVHc2lBQ0FBL1FBRUFDQUJRVEJyL1FBRUFQME1yZ0haUGE0QjJUMnVBZGs5cmdIWlBmM21BZjNrQWYwTEJBQUxBa0FnQmtVRVFDQUpSUVJBUVFBaEJnd0NDeUFGSUFYOUFBUUFJQVQ5QUFRQUlBWDlBQVFnL2VRQi9ReHpCc3MvY3diTFAzTUd5ejl6QnNzLy9lWUIvZVFCL1FzRUFDQUZJQVg5QUFRUUlBVDlBQVFRSUFYOUFBUXcvZVFCL1F4ekJzcy9jd2JMUDNNR3l6OXpCc3MvL2VZQi9lUUIvUXNFRUNBRlFlQUFhaUVDUVFFaEJnd0JDeUFDSUFaQkJuUnFJUUlMSUFZZ0NVa0VRQU5BSUFKQklHc2lBQ0FBL1FBRUFDQUNRVUJxL1FBRUFDQUMvUUFFQVAza0FmME1jd2JMUDNNR3l6OXpCc3MvY3diTFAvM21BZjNrQWYwTEJBQWdBa0VRYXlJQUlBRDlBQVFBSUFKQk1HdjlBQVFBSUFMOUFBUVEvZVFCL1F4ekJzcy9jd2JMUDNNR3l6OXpCc3MvL2VZQi9lUUIvUXNFQUNBQ1FVQnJJUUlnQmtFQmFpSUdJQWxIRFFBTEN5QUlEUUFnQWtFZ2F5SUFJQUQ5QUFRQUlBSkJRR3I5QUFRQS9ReHpCa3RBY3daTFFITUdTMEJ6Qmt0QS9lWUIvZVFCL1FzRUFDQUNRUkJySWdBZ0FQMEFCQUFnQWtFd2EvMEFCQUQ5REhNR1MwQnpCa3RBY3daTFFITUdTMEQ5NWdIOTVBSDlDd1FBQ3d0ZEFRUi9JQUFFUUNBQUtBSVVJZ0VnQUNnQ0VDSUNiQVJBQTBBZ0FDZ0NHQ0FEUVFKMGFpZ0NBQ0lFQkVBZ0JCQVFJQUFvQWhBaEFpQUFLQUlVSVFFTElBTkJBV29pQXlBQklBSnNTUTBBQ3dzZ0FDZ0NHQkFRSUFBUUVBc0xoUUVCQW44Q1FBSkFJQUFvQWdRaUF5QUFLQUlBSWdSSEJFQWdBQ2dDQ0NFRERBRUxJQUFnQTBFS2FpSUVOZ0lFSUFBb0FnZ2dCRUVDZEJBWElnTkZEUUVnQUNBRE5nSUlJQUFvQWdBaEJBc2dBeUFFUVFKMGFpQUJOZ0lBSUFBZ0JFRUJhallDQUVFQkR3c2dBQ2dDQ0JBUUlBQkNBRGNDQUNBQ1FRRkIwaTVCQUJBUFFRQUxrd1FDQm44Q2ZnSkFBa0FEUUNBQUlBQkJBV3R4RFFFZ0FVRkhTdzBCSUFCQkNDQUFRUWhMSWdjYklRQkJxTThCS1FNQUlnZ0NmMEVJSUFGQkEycEJmSEVnQVVFSVRSc2lBVUgvQUUwRVFDQUJRUU4yUVFGckRBRUxJQUZuSVFNZ0FVRWRJQU5yZGtFRWN5QURRUUowYTBIdUFHb2dBVUgvSDAwTkFCcEJQeUFCUVI0Z0EydDJRUUp6SUFOQkFYUnJRY2NBYWlJRElBTkJQMDhiQ3lJRHJZZ2lDVUlBVWdSQUEwQWdDU0FKZWlJSWlDRUpBbjRnQXlBSXAyb2lBMEVFZENJRVFhakhBV29vQWdBaUFpQUVRYURIQVdvaUJVY0VRQ0FDSUFBZ0FSQThJZ1FOQmlBQ0tBSUVJZ1FnQWlnQ0NDSUdOZ0lJSUFZZ0JEWUNCQ0FDSUFVMkFnZ2dBaUFGS0FJRU5nSUVJQVVnQWpZQ0JDQUNLQUlFSUFJMkFnZ2dBMEVCYWlFRElBbENBWWdNQVF0QnFNOEJRYWpQQVNrREFFSitJQU90aVlNM0F3QWdDVUlCaFFzaUNVSUFVZzBBQzBHb3p3RXBBd0FoQ0F0QlB5QUllYWRySVFVQ1FDQUlVQVJBUVFBaEFnd0JDeUFGUVFSMElnUkJxTWNCYWlnQ0FDRUNJQWhDZ0lDQWdBUlVEUUJCNHdBaEF5QUNJQVJCb01jQmFpSUdSZzBBQTBBZ0EwVU5BU0FDSUFBZ0FSQThJZ1FOQkNBRFFRRnJJUU1nQWlnQ0NDSUNJQVpIRFFBTEN5QUJJQUJCTUdwQk1DQUhHMm9RYlEwQUN5QUNSUTBBSUFJZ0JVRUVkRUdneHdGcUlnTkdEUUFEUUNBQ0lBQWdBUkE4SWdRTkFpQUNLQUlJSWdJZ0EwY05BQXNMUVFBaEJBc2dCQXZhSXdJcmZ3TjdBa0FnQUNnQ0FDSUpJQU5KRFFBZ0FTQURUdzBBSUFFZ0NVOE5BQ0FBS0FJRUlna2dCRWtOQUNBQ0lBUlBEUUFnQWlBSlR3MEFJQVZCSEdzaEp5QUFLQUlJSWhsQkFuUWhFU0FIUVFKMElROGdCa0VDZENFZklBVkJCR3NoS0NBQ0lBQW9BZ3h1SVI0Z0dTQVpJQUVnR1c0aUtXd2dBV3RxSVNvZ0JrRUlSeUVqSUFJaEhRTkFJQUFvQWd3aUNTRUtJQUlnSFVZRVFDQUpJQUlnQ1hCcklRb0xJQW9nQkNBZGF5SU1JQW9nREVrYkloTkJmSEVoR3lBVFFRTnhJUllnRTBGNGNTRXJJQk5CQjNFaEpDQVRRUUZySVJvZ0dTQUpRUUowSUFwQkFuUnJRUVJxYkNFZ0lBWkJBa1lnRTBFQlJuRWhMQ0FKSUFwcklCbHNJU1VnSnlBUElCMGdBbXNpREd3aUNXb2hKaUFKSUNocUlTMGdCU0FKYWlFdUlBVWdCeUFNYkVFQ2RHb2hIQ0FwSVNFZ0FTRVlBMEFnS2lBWklBRWdHRVliSWd3Z0F5QVlheUlKSUFrZ0RFc2JJUkFnR1NBTWF5RUpJQ0ZCQW5RaURTQUFLQUlZSUFBb0FoQWdIbXhCQW5ScWFpZ0NBQ0VTQWtBQ1FDQUlCRUFDUUFKQUFrQUNRQUpBSUJJRVFDQVNJQ1ZCQW5ScUlBbEJBblJxSVFvZ0dDQUJheUVOSUFaQkFVWU5CQ0FjSUFZZ0RXeEJBblJxSVFzZ0VFRUJSZzBESUN3TkFpQWpEUUVnRUVFSFRRMEJJQk5GRFFnZ0ppQU5JQjlzYWlBUVFRVjBhaUVWSUJJZ0lDQVFRUUowYWlBTVFRSjBhMm9oSWlBUVFYeHhJUTFCQUNFU0RBVUxJQVpCQVVjRVFDQVRSUTBJSUJCQmZIRWhEU0FRUVFOeElRd2dIQ0FZSUFGcklBWnNRUUowYWlFTFFRQWhFaUFRUVFGclFRTkpJUlFEUUFKQUlCQkZEUUJCQUNFSlFRQWhDa0VBSVE0Z0ZFVUVRQU5BSUFzZ0JpQUtiRUVDZEdwQkFEWUNBQ0FMSUFwQkFYSWdCbXhCQW5ScVFRQTJBZ0FnQ3lBS1FRSnlJQVpzUVFKMGFrRUFOZ0lBSUFzZ0NrRURjaUFHYkVFQ2RHcEJBRFlDQUNBS1FRUnFJUW9nRGtFRWFpSU9JQTFIRFFBTEN5QU1SUTBBQTBBZ0N5QUdJQXBzUVFKMGFrRUFOZ0lBSUFwQkFXb2hDaUFKUVFGcUlna2dERWNOQUFzTElBc2dEMm9oQ3lBVElCSkJBV29pRWtjTkFBc01DQXNnRTBVTkJ5QVFRUUowSVF3Z0hDQVlJQUZyUVFKMGFpRUxRUUFoQ1NBYVFRZFBCRUFEUUNBTFFRQWdEQkFWSUE5cVFRQWdEQkFWSUE5cVFRQWdEQkFWSUE5cVFRQWdEQkFWSUE5cVFRQWdEQkFWSUE5cVFRQWdEQkFWSUE5cVFRQWdEQkFWSUE5cVFRQWdEQkFWSUE5cUlRc2dDVUVJYWlJSklDdEhEUUFMQzBFQUlRa2dKRVVOQndOQUlBdEJBQ0FNRUJVZ0Qyb2hDeUFKUVFGcUlna2dKRWNOQUFzTUJ3c2dFMFVOQmlBUVFYeHhJUlFnRUVFRGNTRVNRUUFoRFNBUVFRRnJRUU5KSVJjTUJRdEJBQ0VKSUJCQmZIRWlEZ1JBQTBBZ0N5QUpRUU4wYWlBS0lBbEJBblJxS0FJQU5nSUFJQXNnQ1VFQmNpSVVRUU4wYWlBS0lCUkJBblJxS0FJQU5nSUFJQXNnQ1VFQ2NpSVVRUU4wYWlBS0lCUkJBblJxS0FJQU5nSUFJQXNnQ1VFRGNpSVVRUU4wYWlBS0lCUkJBblJxS0FJQU5nSUFJQWxCQkdvaUNTQU9TUTBBQ3dzZ0NTQVFUdzBGQWtBZ0VDQUpheUlVUVJCSkRRQWdMaUFOSUI5c0lnMXFJQWxCQTNScUlCSWdJR29pRGlBUUlBeHJRUUowYWtrRVFDQU9JQWtnREd0QkFuUnFJQTBnTFdvZ0VFRURkR3BKRFFFTElBb2dDVUVDZEdvaERTQUovUkg5REFBQUFBQUJBQUFBQWdBQUFBTUFBQUQ5cmdFaE5DQUpJQlJCZkhFaURHb2hDVUVBSVE0RFFDQUxJRFJCQWYyckFTSTEvUnNBUVFKMGFpQU5JQTVCQW5ScS9RQUNBQ0kyL1ZvQ0FBQWdDeUExL1JzQlFRSjBhaUEyL1ZvQ0FBRWdDeUExL1JzQ1FRSjBhaUEyL1ZvQ0FBSWdDeUExL1JzRFFRSjBhaUEyL1ZvQ0FBTWdOUDBNQkFBQUFBUUFBQUFFQUFBQUJBQUFBUDJ1QVNFMElBNUJCR29pRGlBTVJ3MEFDeUFNSUJSR0RRWUxRUUFoRENBSklRNGdFQ0FKYTBFRGNTSU5CRUFEUUNBTElBNUJBM1JxSUFvZ0RrRUNkR29vQWdBMkFnQWdEa0VCYWlFT0lBeEJBV29pRENBTlJ3MEFDd3NnQ1NBUWEwRjhTdzBGQTBBZ0N5QU9RUU4wYWlBS0lBNUJBblJxS0FJQU5nSUFJQXNnRGtFQmFpSUpRUU4wYWlBS0lBbEJBblJxS0FJQU5nSUFJQXNnRGtFQ2FpSUpRUU4wYWlBS0lBbEJBblJxS0FJQU5nSUFJQXNnRGtFRGFpSUpRUU4wYWlBS0lBbEJBblJxS0FJQU5nSUFJQTVCQkdvaURpQVFSdzBBQ3d3RkN5QVRSUTBFUVFBaENTQWFRUU5QQkVBRFFDQUxJQW9vQWdBMkFnQWdDeUFQYWlJTUlBb2dFV29pRFNnQ0FEWUNBQ0FNSUE5cUlnd2dEU0FSYWlJTktBSUFOZ0lBSUF3Z0Qyb2lEQ0FOSUJGcUlnMG9BZ0EyQWdBZ0RTQVJhaUVLSUF3Z0Qyb2hDeUFKUVFScUlna2dHMGNOQUFzTFFRQWhDU0FXUlEwRUEwQWdDeUFLS0FJQU5nSUFJQW9nRVdvaENpQUxJQTlxSVFzZ0NVRUJhaUlKSUJaSERRQUxEQVFMSUJ3Z0RVRUNkR29oQ3lBUVFRUkhCRUFnRTBVTkJDQVFRUUowSVFsQkFDRU9JQnBCQTA4RVFBTkFJQXNnQ2lBSkVCSWhNQ0FLSUJGcUlnMGdFV29pQ3lBUmFpSVNJQkZxSVFvZ01DQVBhaUFOSUFrUUVpQVBhaUFMSUFrUUVpQVBhaUFTSUFrUUVpQVBhaUVMSUE1QkJHb2lEaUFiUncwQUN3dEJBQ0VPSUJaRkRRUURRQ0FMSUFvZ0NSQVNJVEVnQ2lBUmFpRUtJREVnRDJvaEN5QU9RUUZxSWc0Z0ZrY05BQXNNQkFzZ0UwVU5BMEVBSVFrZ0drRURUd1JBQTBBZ0N5QUsvUUFDQVAwTEFnQWdDeUFQYWlJTUlBb2dFV29pRGYwQUFnRDlDd0lBSUF3Z0Qyb2lEQ0FOSUJGcUlnMzlBQUlBL1FzQ0FDQU1JQTlxSWd3Z0RTQVJhaUlOL1FBQ0FQMExBZ0FnRFNBUmFpRUtJQXdnRDJvaEN5QUpRUVJxSWdrZ0cwY05BQXNMUVFBaENTQVdSUTBEQTBBZ0N5QUsvUUFDQVAwTEFnQWdDaUFSYWlFS0lBc2dEMm9oQ3lBSlFRRnFJZ2tnRmtjTkFBc01Bd3NEUUVFQUlRa2dEUVJBQTBBZ0N5QUpRUVYwYWlBS0lBbEJBblJxS0FJQU5nSUFJQXNnQ1VFQmNpSU1RUVYwYWlBS0lBeEJBblJxS0FJQU5nSUFJQXNnQ1VFQ2NpSU1RUVYwYWlBS0lBeEJBblJxS0FJQU5nSUFJQXNnQ1VFRGNpSU1RUVYwYWlBS0lBeEJBblJxS0FJQU5nSUFJQWxCQkdvaUNTQU5TUTBBQ3dzQ1FDQUpJQkJQRFFBQ1FDQVFJQWxySWhSQkNFOEVRQUpBSUFzZ0NVRUZkR29nSWlBUklCSnNhazhOQUNBS0lBbEJBblJxSUJVZ0R5QVNiR3BQRFFBZ0NTRU1EQUlMSUFuOUVmME1BQUFBQUFFQUFBQUNBQUFBQXdBQUFQMnVBU0UwSUFrZ0ZFRjhjU0lYYWlFTVFRQWhEZ05BSUFzZ05FRUQvYXNCSWpYOUd3QkJBblJxSUFvZ0NTQU9ha0VDZEdyOUFBSUFJamI5V2dJQUFDQUxJRFg5R3dGQkFuUnFJRGI5V2dJQUFTQUxJRFg5R3dKQkFuUnFJRGI5V2dJQUFpQUxJRFg5R3dOQkFuUnFJRGI5V2dJQUF5QTAvUXdFQUFBQUJBQUFBQVFBQUFBRUFBQUEvYTRCSVRRZ0RrRUVhaUlPSUJkSERRQUxJQlFnRjBZTkFnd0JDeUFKSVF3TFFRQWhEaUFRSUF3aUNXdEJBM0VpRkFSQUEwQWdDeUFKUVFWMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFsQkFXb2hDU0FPUVFGcUlnNGdGRWNOQUFzTElBd2dFR3RCZkVzTkFBTkFJQXNnQ1VFRmRHb2dDaUFKUVFKMGFpZ0NBRFlDQUNBTElBbEJBV29pREVFRmRHb2dDaUFNUVFKMGFpZ0NBRFlDQUNBTElBbEJBbW9pREVFRmRHb2dDaUFNUVFKMGFpZ0NBRFlDQUNBTElBbEJBMm9pREVFRmRHb2dDaUFNUVFKMGFpZ0NBRFlDQUNBSlFRUnFJZ2tnRUVjTkFBc0xJQW9nRVdvaENpQUxJQTlxSVFzZ0V5QVNRUUZxSWhKSERRQUxEQUlMSUJKRkJFQkJBU0FBS0FJSUlBQW9BZ3hzUVFKMEVCTWlFa1VFUUVFQUR3c2dBQ2dDR0NBQUtBSVFJQjVzUVFKMGFpQU5haUFTTmdJQUN5QVNJQ1ZCQW5ScUlBbEJBblJxSVFzZ0dDQUJheUVKQWtBQ1FBSkFBa0FnQmtFQlJ3UkFJQndnQmlBSmJFRUNkR29oQ2lBUVFRRkdEUUVnSXcwQ0lCQkJCMDBOQWlBVFJRMEdJQ1lnQ1NBZmJHb2dFRUVGZEdvaElpQWdJQkJCQW5ScUlBeEJBblJySVM4Z0VFRjhjU0VVUVFBaERBTkFRUUFoQ1NBVUJFQURRQ0FMSUFsQkFuUnFJQW9nQ1VFRmRHb29BZ0EyQWdBZ0N5QUpRUUZ5SWcxQkFuUnFJQW9nRFVFRmRHb29BZ0EyQWdBZ0N5QUpRUUp5SWcxQkFuUnFJQW9nRFVFRmRHb29BZ0EyQWdBZ0N5QUpRUU55SWcxQkFuUnFJQW9nRFVFRmRHb29BZ0EyQWdBZ0NVRUVhaUlKSUJSSkRRQUxDd0pBSUFrZ0VFOE5BQUpBSUJBZ0NXc2lGMEVJVHdSQUFrQWdDeUFKUVFKMGFpQWlJQXdnRDJ4cVR3MEFJQW9nQ1VFRmRHb2dFaUF2SUF3Z0VXeHFhazhOQUNBSklRME1BZ3NnQ2YwUi9Rd0FBQUFBQVFBQUFBSUFBQUFEQUFBQS9hNEJJVFFnQ1NBWFFYeHhJaFZxSVExQkFDRU9BMEFnQ3lBSklBNXFRUUowYWlBS0lEUkJBLzJyQVNJMS9Sc0RRUUowYWlBS0lEWDlHd0pCQW5ScUlBb2dOZjBiQVVFQ2RHb2dDaUExL1JzQVFRSjBhdjBKQWdEOVZnSUFBZjFXQWdBQy9WWUNBQVA5Q3dJQUlEVDlEQVFBQUFBRUFBQUFCQUFBQUFRQUFBRDlyZ0VoTkNBT1FRUnFJZzRnRlVjTkFBc2dGU0FYUmcwQ0RBRUxJQWtoRFF0QkFDRU9JQkFnRFNJSmEwRURjU0lYQkVBRFFDQUxJQWxCQW5ScUlBb2dDVUVGZEdvb0FnQTJBZ0FnQ1VFQmFpRUpJQTVCQVdvaURpQVhSdzBBQ3dzZ0RTQVFhMEY4U3cwQUEwQWdDeUFKUVFKMGFpQUtJQWxCQlhScUtBSUFOZ0lBSUFzZ0NVRUJhaUlOUVFKMGFpQUtJQTFCQlhScUtBSUFOZ0lBSUFzZ0NVRUNhaUlOUVFKMGFpQUtJQTFCQlhScUtBSUFOZ0lBSUFzZ0NVRURhaUlOUVFKMGFpQUtJQTFCQlhScUtBSUFOZ0lBSUFsQkJHb2lDU0FRUncwQUN3c2dDeUFSYWlFTElBb2dEMm9oQ2lBVElBeEJBV29pREVjTkFBc01CZ3NnSENBSlFRSjBhaUVLSUJCQkJFWU5BaUFUUlEwRklCQkJBblFoQ1VFQUlRNGdHa0VEVHdSQUEwQWdDeUFLSUFrUUVpRXlJQW9nRDJvaURTQVBhaUlMSUE5cUloSWdEMm9oQ2lBeUlCRnFJQTBnQ1JBU0lCRnFJQXNnQ1JBU0lCRnFJQklnQ1JBU0lCRnFJUXNnRGtFRWFpSU9JQnRIRFFBTEMwRUFJUTRnRmtVTkJRTkFJQXNnQ2lBSkVCSWhNeUFLSUE5cUlRb2dNeUFSYWlFTElBNUJBV29pRGlBV1J3MEFDd3dGQ3lBVFJRMEVRUUFoQ1NBYVFRTlBCRUFEUUNBTElBb29BZ0EyQWdBZ0N5QVJhaUlNSUFvZ0Qyb2lEU2dDQURZQ0FDQU1JQkZxSWd3Z0RTQVBhaUlOS0FJQU5nSUFJQXdnRVdvaURDQU5JQTlxSWcwb0FnQTJBZ0FnRENBUmFpRUxJQTBnRDJvaENpQUpRUVJxSWdrZ0cwY05BQXNMUVFBaENTQVdSUTBFQTBBZ0N5QUtLQUlBTmdJQUlBc2dFV29oQ3lBS0lBOXFJUW9nQ1VFQmFpSUpJQlpIRFFBTERBUUxJQk5GRFFNZ0VFRjhjU0VVSUJCQkEzRWhFa0VBSVEwZ0VFRUJhMEVEU1NFWERBRUxJQk5GRFFKQkFDRUpJQnBCQTA4RVFBTkFJQXNnQ3YwQUFnRDlDd0lBSUFzZ0VXb2lEQ0FLSUE5cUlnMzlBQUlBL1FzQ0FDQU1JQkZxSWd3Z0RTQVBhaUlOL1FBQ0FQMExBZ0FnRENBUmFpSU1JQTBnRDJvaURmMEFBZ0Q5Q3dJQUlBMGdEMm9oQ2lBTUlCRnFJUXNnQ1VFRWFpSUpJQnRIRFFBTEMwRUFJUWtnRmtVTkFnTkFJQXNnQ3YwQUFnRDlDd0lBSUFvZ0Qyb2hDaUFMSUJGcUlRc2dDVUVCYWlJSklCWkhEUUFMREFJTEEwQUNRQ0FRUlEwQVFRQWhEa0VBSVFsQkFDRU1JQmRGQkVBRFFDQUxJQWxCQW5ScUlBb2dCaUFKYkVFQ2RHb29BZ0EyQWdBZ0N5QUpRUUZ5SWhWQkFuUnFJQW9nQmlBVmJFRUNkR29vQWdBMkFnQWdDeUFKUVFKeUloVkJBblJxSUFvZ0JpQVZiRUVDZEdvb0FnQTJBZ0FnQ3lBSlFRTnlJaFZCQW5ScUlBb2dCaUFWYkVFQ2RHb29BZ0EyQWdBZ0NVRUVhaUVKSUF4QkJHb2lEQ0FVUncwQUN3c2dFa1VOQUFOQUlBc2dDVUVDZEdvZ0NpQUdJQWxzUVFKMGFpZ0NBRFlDQUNBSlFRRnFJUWtnRGtFQmFpSU9JQkpIRFFBTEN5QUxJQkZxSVFzZ0NpQVBhaUVLSUJNZ0RVRUJhaUlOUncwQUN3d0JDd05BQWtBZ0VFVU5BRUVBSVE1QkFDRUpRUUFoRENBWFJRUkFBMEFnQ3lBR0lBbHNRUUowYWlBS0lBbEJBblJxS0FJQU5nSUFJQXNnQ1VFQmNpSVZJQVpzUVFKMGFpQUtJQlZCQW5ScUtBSUFOZ0lBSUFzZ0NVRUNjaUlWSUFac1FRSjBhaUFLSUJWQkFuUnFLQUlBTmdJQUlBc2dDVUVEY2lJVklBWnNRUUowYWlBS0lCVkJBblJxS0FJQU5nSUFJQWxCQkdvaENTQU1RUVJxSWd3Z0ZFY05BQXNMSUJKRkRRQURRQ0FMSUFZZ0NXeEJBblJxSUFvZ0NVRUNkR29vQWdBMkFnQWdDVUVCYWlFSklBNUJBV29pRGlBU1J3MEFDd3NnQ2lBUmFpRUtJQXNnRDJvaEN5QU5RUUZxSWcwZ0UwY05BQXNMSUNGQkFXb2hJU0FRSUJocUloZ2dBMGtOQUFzZ0hrRUJhaUVlSUJNZ0hXb2lIU0FFU1EwQUN3dEJBUXZETXdVbWZ3OStBWHNCZlFGOEl3QkIwQUJySWc0a0FDQU9RWkQvQXpZQ0tDQUFLQUpzSUFBb0FtaHNJUmNDZndKQUFrQUNRQ0FBS0FJSUlndEJDRWNFUUVFQUlBdEJnQUpIRFFRYUlBNUIyZjhETmdJb0RBRUxJQUF0QUVSQkFYRU5BQ0FYUVFGeElTSWdGMEY4Y1NFUElCZEJBV3V0UW93c2ZpSXhRaUNJcDBFQVJ5RWpJREduSVNRZ0RrSE5BR29oSlNBT1Fjd0FhaUVvSUE1QnlBQnFJU2tnRjBFa1NTRXFRWkQvQXlFTEFrQUNRQUpBQTBBQ1FDQUxRWlAvQTBZTkFBSkFBMEFnQ1NrRENDSXhVQVIrUWdBRklERWdDU2tET0gwTFVBUkFJQUJCd0FBMkFnZ01Bd3NnQ1NBQUtBSVFRUUlnQ2hBYVFRSkhCRUFnQ2tFQlFaWVNRUUFRRDBFQURBc0xJQUFvQWhBZ0RrRWtha0VDRUJFZ0RpZ0NKQ0lMUVFGTkJFQWdDa0VCUVljdVFRQVFEMEVBREFzTEFrQWdEaWdDS0VHQWdRSkdCRUFnQ1NrRENDSXhVQVIrUWdBRklERWdDU2tET0gwTFVBMEJJQTRvQWlRaEN3c2dBQ2dDQ0NJVVFSQnhCRUFnQUNBQUtBSVlJQXRyUVFKck5nSVlDeUFPSUF0QkFtc2lFallDSkVIZ3ZRRWhEQ0FPS0FJb0lRMERRQ0FNSWdzb0FnQWlHQVJBSUF0QkRHb2hEQ0FOSUJoSERRRUxDeUFMS0FJRUlCUnhSUVJBSUFwQkFVSDhLRUVBRUE5QkFBd01Dd0pBSUFBb0FoUWdFazhFUUNBQUtBSVFJUXdNQVFzZ0NTa0RDQ0l4VUFSK1FnQUZJREVnQ1NrRE9IMExJQkt0VXdSQUlBcEJBVUdNTEVFQUVBOUJBQXdOQ3lBQUtBSVFJQTRvQWlRUUZ5SU1SUVJBSUFBb0FoQVFFQ0FBUWdBM0F4QWdDa0VCUWRRbFFRQVFEMEVBREEwTElBQWdERFlDRUNBQUlBNG9BaVFpRWpZQ0ZBc2dDU0FNSUJJZ0NoQWFJZ3dnRGlnQ0pFY0VRQ0FLUVFGQmxoSkJBQkFQUVFBTURBc2dDeWdDQ0NJTFJRUkFJQXBCQVVIYTFnQkJBQkFQUVFBTURBc2dBQ0FBS0FJUUlBd2dDaUFMRVFFQVJRUkFJQTRnRGlnQ0tEWUNJQ0FLUVFGQmxPZ0FJQTVCSUdvUUQwRUFEQXdMSUFrcEF6Z2hNU0FPS0FJa0lSRWdBQ2dDeUFFaUZDZ0NLQ0lTSUFBb0Fzd0JJZ3hCS0d3aURXb2lGaWdDRkNJY1FRRnFJaDBnRmlnQ0hDSUxTd1JBSUJZQ2Z5QUxzME1BQU1oQ2tpSkJRd0FBZ0U5ZElFRkRBQUFBQUdCeEJFQWdRYWtNQVF0QkFBc2lDellDSENBV0tBSVlJQXRCR0d3UUZ5RUxJQlFvQWlnaUVpQU5haUVXSUF0RkRRTWdGaUFMTmdJWUlCWW9BaFFpSEVFQmFpRWRDeUFOSUJKcUlnMG9BaGdnSEVFWWJHb2lDeUFSUVFScU5nSVFJQXNnTWFjZ0VXdEJCR3NpREt3M0F3Z2dDeUFZT3dFQUlBMGdIVFlDRkFKQUlCaEJrUDhEUncwQUlBMG9BaEFpQ3dSQUlBc2dEU2dDREVFWWJHb2dESzAzQXdBTElBa3BBemluSUE0b0FpUnJRUVJyclNJeElBQXBBekJYRFFBZ0FDQXhOd013Q3lBQUxRQkVRUVJ4QkVBZ0NTQUFOUUlZSUFvZ0NTZ0NLQkVJQUNBQU5RSVlVZ1JBSUFwQkFVR1dFa0VBRUE5QkFBd05DeUFPUVpQL0F6WUNLQXdFQ3lBSklBQW9BaEJCQWlBS0VCcEJBa2NFUUNBS1FRRkJsaEpCQUJBUFFRQU1EQXNnQUNnQ0VDQU9RU2hxUVFJUUVTQU9LQUlvUVpQL0EwY05BUXdEQ3dzZ0FFSEFBRFlDQ0F3QkN5QVdLQUlZRUJBZ0ZDZ0NLQ0FNUVNoc2FpSUFRUUEyQWh3Z0FFSUFOd0lVSUFwQkFVR0ZIVUVBRUE5QkFBd0lDd0pBSUFrcEF3Z2lNVkFFZmtJQUJTQXhJQWtwQXpoOUMxQUVRQ0FBS0FJSVFjQUFSZzBCQ3dKQUFrQWdBQzBBUkNJTFFRUnhSUVJBSUFBb0Fzd0JRWXdzYkNFTUlBQW9BcHdCSVM0Q1FBSkFJQUFvQWpnRVFDQUpLUU1JSWpGUUJINUNBQVVnTVNBSktRTTRmUXVuSVJNTUFRc2dBQ2dDR0NJVFFRSkpEUUVMSUFBZ0UwRUNheUlUTmdJWUN5QXVJQXhxSVJnZ0UwVU5BU0FKS1FNSUlqRlFCSDVDQUFVZ01TQUpLUU00ZlFzZ0U2MVRCRUFnQUNnQ3VBRUVRQ0FLUVFGQnVTeEJBQkFQUVFBTURRc2dDa0VDUWJrc1FRQVFEd3NnQUNnQ0dDSU5RWDVQQkVBZ0NrRUJRZjRLUVFBUUQwRUFEQXdMQWtBZ0dDZ0MzQ3NpREFSQUlCZ29BdUFySWd0QmZTQU5hMHNFUUNBS1FRRkJsZ2xCQUJBUFFRQU1EZ3NnRENBTElBMXFRUUpxRUJjaUN3UkFJQmdnQ3pZQzNDc01CQXNnR0NnQzNDc1FFQ0FZUVFBMkF0d3JEQUVMSUJnZ0RVRUNhaEFVSWdzMkF0d3JJQXNOQWdzZ0NrRUJRWWN2UVFBUUQwRUFEQXNMSUFCQkNEWUNDQ0FBSUF0QitnRnhPZ0JFREFFTElBQW9Bc2dCSWhZRVFDQVdLQUlvSWhJZ0FDZ0N6QUVpRkVFb2JDSVJhaUlNS0FJUUlBd29BZ3hCR0d4cUlnc2dDU2tET0NJeVFnSjlJakUzQXdnZ0N5QXlJQUExQWhoOE53TVFJQUFvQWhnaERRSkFJQXdvQWhRaUhFRUJhaUlkSUF3b0Fod2lDMDBFUUNBTUtBSVlJUXdNQVFzZ0RBSi9JQXV6UXdBQXlFS1NJa0ZEQUFDQVQxMGdRVU1BQUFBQVlIRUVRQ0JCcVF3QkMwRUFDeUlMTmdJY0lBd29BaGdnQzBFWWJCQVhJUXdnRmlnQ0tDSVNJQkZxSVFzZ0RFVU5CaUFMSUF3MkFoZ2dDeWdDRkNJY1FRRnFJUjBMSUF3Z0hFRVliR29pQ3lBTlFRSnFOZ0lRSUFzZ01jUTNBd2dnQzBHVC93TTdBUUFnRVNBU2FpQWROZ0lVQ3lBQUtBSVlJUXdDUUNBVFJRUkFRUUFoRXd3QkN5QUpJQmdvQXR3cklCZ29BdUFyYWlBTUlBb1FHaUVUSUFBb0FoZ2hEQXNnQUVFSVFjQUFJQXdnRTBZYk5nSUlJQmdnR0NnQzRDc2dFMm8yQXVBcklBQXRBRVFpQzBFSmNVRUJSdzBBSUFBZ0MwRUljam9BUkNBQUtBTE1BU0VOSUFrb0FoeEJBa1lOQUNBSktRTTRJakZDZjFFTkFBSkFBMEJCQUNFTUlBa2dEa0hHQUdvaUMwRUNJQW9RR2tFQ1J3MEJJQXNnRGtGQWEwRUNFQkVnRGlnQ1FFR1Evd05IRFFGQmxoSWhFaUFKSUF0QkFpQUtFQnBCQWtjTkNTQUxJQTVCUEdwQkFoQVJJQTRvQWp4QkNrY0VRRUdITGlFU0RBb0xJQTVCQ0RZQ1BDQUpJQTVCeGdCcVFRZ2dDaEFhSWdzZ0RpZ0NQRWNOQ1NBTFFRaEhCRUJCdlI0aEVnd0tDeUFPUWNZQWFpQU9RVGhxUVFJUUVTQXBJQTVCTkdwQkJCQVJJQ2dnRGtFd2FrRUJFQkVnSlNBT1FTeHFRUUVRRVNBTklBNG9BamhIQkVBZ0RpZ0NOQ0lMUVE1SkRRSWdEaUFMUVF4cklnczJBalFnQ1NBTHJTQUtJQWtvQWlnUkNBQWdEalVDTkZFTkFRd0NDd3NnRGlnQ01DQU9LQUlzUmlFTUN5QUpJREVnQ2lBSktBSXNFUTBBUlEwSUlBeEZEUUFnQUNBQUxRQkVRZTRCY1VFUWNqb0FSQUpBSUJkRkRRQWdBQ2dDbkFFaEUwRUFJUXNDUUNBcURRQWdFMEhZSzJvaURDQWthaUFNU1NBamNnMEFBMEFnRXlBTFFZd3NiR29pSENnQzJDc2lIZjBSSUJNZ0MwRUJja0dNTEd4cUloZ29BdGdySWhiOUhBRWdFeUFMUVFKeVFZd3NiR29pRVNnQzJDc2lGUDBjQWlBVElBdEJBM0pCakN4c2FpSU5LQUxZS3lJTS9Sd0QvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvVGdpUVAwYkFFRUJjUVJBSUJ4QjJDdHFJQjFCQVdvMkFnQUxJRUQ5R3dGQkFYRUVRQ0FZUWRncmFpQVdRUUZxTmdJQUN5QkEvUnNDUVFGeEJFQWdFVUhZSzJvZ0ZFRUJhallDQUFzZ1FQMGJBMEVCY1FSQUlBMUIyQ3RxSUF4QkFXbzJBZ0FMSUF0QkJHb2lDeUFQUncwQUN5QVhJQThpQzBZTkFRc2dDMEVCY2lFTUlDSUVRQ0FUSUF0QmpDeHNhaUlOS0FMWUt5SUxCRUFnRFVIWUsyb2dDMEVCYWpZQ0FBc2dEQ0VMQ3lBTUlCZEdEUUFEUUNBVElBdEJqQ3hzYWlJTktBTFlLeUlNQkVBZ0RVSFlLMm9nREVFQmFqWUNBQXNnRFVIazF3QnFJZzBvQWdBaURBUkFJQTBnREVFQmFqWUNBQXNnQzBFQ2FpSUxJQmRIRFFBTEN5QUtRUUpCbE1RQVFRQVFEd3NnQUMwQVJFRUJjUTBBSUFrZ0FDZ0NFRUVDSUFvUUdrRUNSd1JBQWtBZ0FDZ0N6QUZCQVdvZ0YwY05BQ0FYUlEwQUlBQW9BcHdCSVF4QkFDRUxBMEFnRENBTFFZd3NiR29pQ1NnQzFDdEZCRUFnQ1NnQzJDdEZEUWdMSUF0QkFXb2lDeUFYUncwQUN3c2dDa0VCUVpZU1FRQVFEMEVBREFrTElBQW9BaEFnRGtFb2FrRUNFQkVnRGlnQ0tDRUxJQUF0QUVSQkFYRU5BaUFMUWRuL0EwY05BUXdDQ3dzZ0RpZ0NLQ0VMQ3lBTFFkbi9BMGNOQWlBQUtBSUlRWUFDUmcwQ0lBQkJnQUkyQWdnZ0FFRUFOZ0xNQVF3Q0N5QUxLQUlZRUJBZ0ZpZ0NLQ0FVUVNoc2FpSUFRUUEyQWh3Z0FFSUFOd0lVSUFwQkFVR0ZIVUVBRUE5QkFBd0VDeUFPSUFzMkFoQWdDa0VFUWVmUkFDQU9RUkJxRUE4Z0FDQUxOZ0xNQVNBT1Fkbi9BellDS0NBQVFZQUNOZ0lJQ3lBQUtBTE1BU0VMSUFBb0Fwd0JJUWtDUUFKQUlBQXRBRVJCQVhFTkFBSkFBa0FnQ3lBWFR3MEFJQWtnQzBHTUxHeHFJUk1EUUNBVEtBTGNLdzBCSUFBZ0MwRUJhaUlMTmdMTUFTQVRRWXdzYWlFVElBc2dGMGNOQUFzTUFRc2dDeUFYUncwQkN5QUlRUUEyQWdBTUFRc0NRQUpBSUFwQkFTQUpJQXRCakN4c2FpSVJLQUswS0FSL1FadzBCU0FSTFFDSUxFRUNjVVVOQWdKQUlCRW9BcWdvSWc5RkJFQkJBQ0VNREFFTElCRW9BcXdvSVFsQkFDRU1RUUFoQ3lBUFFRUlBCRUFnRDBGOGNTRUwvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJVUJCQUNFU0EwQWdDU0FTUVFOMGFpSU1RUnhxSUF4QkZHb2dERUVNYWlBTS9Ra0NCUDFXQWdBQi9WWUNBQUw5VmdJQUF5QkEvYTRCSVVBZ0VrRUVhaUlTSUF0SERRQUxJRUFnUUNCQS9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9hNEJJa0FnUUNCQS9RMEVCUVlIQUFFQ0F3QUJBZ01BQVFJRC9hNEIvUnNBSVF3Z0N5QVBSZzBCQ3dOQUlBa2dDMEVEZEdvb0FnUWdER29oRENBTFFRRnFJZ3NnRDBjTkFBc0xJQkVnREJBVUlnazJBclFvSUFrTkFVR1hIZ3RCQUJBUElBcEJBVUgxUEVFQUVBOUJBQXdGQ3lBUklBdzJBcndvSUJFb0Fxd29JUWtnRVNnQ3FDZ2lEQVJBUVFBaEVrRUFJUXNEUUNBSklBdEJBM1FpRkdvaURTZ0NBQ0lQQkVBZ0VTZ0N0Q2dnRW1vZ0R5QU5LQUlFRUJJYUlCRW9BcXdvSUJScUlna29BZ1FoTHlBSktBSUFFQkFnRVNnQ3JDZ2lDU0FVYWtJQU53SUFJQzhnRW1vaEVpQVJLQUtvS0NFTUN5QUxRUUZxSWdzZ0RFa05BQXNMSUJGQkFEWUNxQ2dnQ1JBUUlCRkJBRFlDckNnZ0VTQVJLQUswS0RZQ3NDZ2dFU0FSS0FLOEtEWUN1Q2dMQW45QkFDRW9JQUFvQXRBQklnc29BaHdpSmlnQ1RDQUFLQUxNQVNJSlFZd3NiR29vQXRBcklSc2dDeWdDR0NJVUtBSVlJU2NnQ3lnQ0ZDZ0NBQ0llSUNZb0FnUWdKaWdDRENJTElBa2dDU0FtS0FJWUlnbHVJZ3dnQ1d4cmJHb2lEU0FVS0FJQUlna2dDU0FOU1JzaUR6WUNBQ0FlUVg4Z0N5QU5haUlKSUFrZ0RVa2JJZ3NnRkNnQ0NDSUpJQWtnQzBzYklnazJBZ2dDUUNBSklBOUtJQTlCQUU1eFJRUkFJQXBCQVVHQk0wRUFFQThNQVFzZ0hpZ0NGQ0VRSUI0Z0ppZ0NDQ0FNSUNZb0FoQWlDMnhxSWc4Z0ZDZ0NCQ0lKSUFrZ0Qwa2JJZ3cyQWdRZ0hrRi9JQXNnRDJvaUNTQUpJQTlKR3lJTElCUW9BZ3dpQ1NBSklBdExHeUlKTmdJTUlBa2dERW9nREVFQVRuRkZCRUFnQ2tFQlFkc3lRUUFRRHd3QkN3SkFJQnNvQWdRRVFDQWVLQUlRRFFGQkFRd0RDeUFLUVFGQjFTaEJBQkFQREFFTEFrQUNRQU5BSUNkQkFEWUNKQ0FRSUNjMEFnQWlOVUlCZlNJeElCNDBBZ0I4SURWL1BnSUFJQkFnSnpRQ0JDSTBRZ0Y5SWpJZ0hqUUNCSHdnTkg4K0FnUWdFQ0F4SUI0MEFnaDhJRFYvUGdJSUlCNDBBZ3doTVNBUUlDZzJBaEFnRUNBeElESjhJRFIvUGdJTUlCQWdHeWdDQkNJTE5nSVVJQkJCQVNBTElDWW9BbEFpQ1dzZ0NTQUxTeHMyQWhnZ0VDZ0NOQkFRSUJCQkFEWUNSQ0FRL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1FzQ05DQUxRWmdCYkNFTUFrQWdFQ2dDSENJSlJRUkFJQkFnREJBVUlnazJBaHdnQ1VVTkJTQVFJQXcyQWlBZ0NVRUFJQXdRRlJvTUFRc2dEQ0FRS0FJZ1RRMEFJQWtnREJBWElndEZCRUFnQ2tFQlFZQVhRUUFRRHlBUUtBSWNFQkFnRUVJQU53SWNEQVVMSUJBZ0N6WUNIQ0FMSUJBb0FpQWlDV3BCQUNBTUlBbHJFQlVhSUJBZ0REWUNJQXNnRUNnQ0ZDSUxCRUFnRzBHd0Iyb2hIU0FiUWF3R2FpRVlJQnRCSEdvaEZ5QVFLQUljSVJwQkFDRXJBMEFnR2tKL0lBdEJBV3NpQ2EwaU00WkNmNFVpTWlBUU5BSUFmQ0F6aDZjaUZqWUNBQ0FhSURJZ0VEUUNCSHdnTTRlbkloRTJBZ1FnR2lBeUlCQTBBZ2g4SURPSElqR25JaFEyQWdnZ0dpQXlJQkEwQWd4OElET0hJalNuSWcwMkFnd2dNY1JDQVNBWUlDdEJBblFpREdvb0FnQWlINjBpTVlaOFFnRjlJREdIcHlBZmRDSVBRUUJJRFFRZ05NUkNmeUFNSUIxcUtBSUFJaUN0SWpHR1FuK0ZmQ0F4aDZjZ0lIUWlERUVBU0EwRUlCb2dERUYvSUNCMElCRnhJaE5ySUNCMVFRQWdEU0FSUnhzaUREWUNGQ0FhSUE5QmZ5QWZkQ0FXY1NJaWF5QWZkVUVBSUJRZ0ZrY2JJZzgyQWhBQ1FDQVBSUTBBSUErdElBeXRma0lnaUZBTkFBd0VDeUFNSUE5c0lpTkI1OHlaTTA4TkF5QWpRU2hzSVNFZ0dpQXJCSDhnSUVFQmF5RWdJQjlCQVdzaEh5QVRyRUlCZkVJQmlLY2hFeUFpckVJQmZFSUJpS2NoSWtFREJVRUJDellDR0NBYVFSeHFJUlZDQVNBTHJTSTJoaUUzUW44Z0d5Z0NEQ0lMSUNBZ0N5QWdTUnNpTEswaVBJWkNmNFVoUFVKL0lCc29BZ2dpQ3lBZklBc2dIMGtiSWkydElqNkdRbitGSVQ5QkFDRXBBMEFDZmlBclJRUkFJRElnRURRQ0JId2dNNGNoT0NBeUlCQTBBZ0I4SURPSElUbEJBQ0VMSURJaU1TRTZJRE1NQVFzZ055QXBRUUZxSWd0QkFYYXRJRE9HUW4rRmZDSTZJQkEwQWdSOElEYUhJVGdnTnlBTFFRRnhyU0F6aGtKL2hYd2lNU0FRTkFJQWZDQTJoeUU1SURZTElUc2dFRFFDQ0NFMUlCQTBBZ3doTkNBVklEZytBZ1FnRlNBNVBnSUFJQlVnQ3pZQ0VDQVZJRFFnT253Z080YytBZ3dnRlNBeElEVjhJRHVIUGdJSVFRQWhEQUpBSUJzb0FoUkZEUUFnQzBVTkFFRUNRUUVnQzBFRFJoc2hEQXRFQUFBQUFBQUE4RDhoUWdKQUlDY29BaGdnREdvZ0Z5Z0NBQ0lNYXlJTFFZQUlUZ1JBUkFBQUFBQUFBT0IvSVVJZ0MwSC9EMGtFUUNBTFFmOEhheUVMREFJTFJBQUFBQUFBQVBCL0lVSkIvUmNnQ3lBTFFmMFhUeHRCL2c5cklRc01BUXNnQzBHQmVFb05BRVFBQUFBQUFBQmdBeUZDSUF0QnVIQkxCRUFnQzBISkIyb2hDd3dCQzBRQUFBQUFBQUFBQUNGQ1FmQm9JQXNnQzBId2FFMGJRWklQYWlFTEN5QVZJQmNvQWdTM1JBQUFBQUFBQUVBL29rUUFBQUFBQUFEd1A2QWdRaUFMUWY4SGFxMUNOSWEvb3FLMk9BSWdJQlVnRENBYktBS2tCbXBCQVdzMkFod2dGU2dDRkNFTEFrQUNRQUpBSUNORkRRQWdDdzBBSUJVZ0lSQVVJZ3MyQWhRZ0MwVUVRQ0FLUVFGQmxCVkJBQkFQREFvTElBdEJBQ0FoRUJVYUlCVWdJVFlDR0F3QkN5QWhJQlVvQWhoTEJFQWdDeUFoRUJjaURFVUVRQ0FLUVFGQmxCVkJBQkFQSUJVb0FoUVFFQ0FWUWdBM0FoUU1DZ3NnRlNBTU5nSVVJQXdnRlNnQ0dDSUxha0VBSUNFZ0Myc1FGUm9nRlNBaE5nSVlDeUFqUlEwQkN5QVZLQUlVSVF0QkFDRWtBMEFnQ3lBa0lDUWdHaWdDRUNJTWJpSVdJQXhzYXlJTklCOTBJQ0pxSWc4Z0ZTZ0NBQ0lNSUF3Z0QwZ2JJaEUyQWdBZ0N5QVdJQ0IwSUJOcUlnOGdGU2dDQkNJTUlBd2dEMGdiSWhRMkFnUWdDeUFOUVFGcUlCOTBJQ0pxSWc4Z0ZTZ0NDQ0lNSUF3Z0Qwb2JJZzAyQWdnZ0N5QVdRUUZxSUNCMElCTnFJZzhnRlNnQ0RDSU1JQXdnRDBvYklndzJBZ3dnQ3lBL0lBMnNmQ0EraDZjZ0VTQXRkU0lXYXlBdGRDQXRkU0lQTmdJUUlBc2dQU0FNckh3Z1BJZW5JQlFnTEhVaUVXc2dMSFFnTEhVaUREWUNGQ0FNSUE5c0lpV3RRZ2FHUWlDSVFnQlNCRUFnQ2tFQlFlVVZRUUFRRHd3SkN5QWxRUVowSVEwQ1FBSi9Ba0FnQ3lnQ0dDSU1EUUFnSlVVTkFDQUxJQTBRRkNJTU5nSVlJQXhGRFFzZ0RFRUFJQTBRRlJvZ0MwRWNhZ3dCQ3lBTklBc29BaHhORFFFZ0RDQU5FQmNpRDBVRVFDQUxLQUlZRUJBZ0MwSUFOd0lZSUFwQkFVSGpFa0VBRUE4TUN3c2dDeUFQTmdJWUlBOGdDeWdDSENJTWFrRUFJQTBnREdzUUZSb2dDMEVjYWdzZ0RUWUNBQXNnQ3lnQ0ZDRU5JQXNvQWhBaER5QUxBbjhnQ3lnQ0lDSU1SUVJBSUE4Z0RTQUtFR01NQVFzZ0RDQVBJQTBnQ2hCaEN6WUNJQ0FMS0FJVUlRMGdDeWdDRUNFUElBc0NmeUFMS0FJa0lneEZCRUFnRHlBTklBb1FZd3dCQ3lBTUlBOGdEU0FLRUdFTE5nSWtJQ1VFUUVFQUlSSURRQ0FTSUFzb0FoQWlEVzRoSEFKQUlBc29BaGdnRWtFR2RHb2lHU2dDQUNJVUJFQWdHU2dDT0NFUElCa29BZ1FoRENBWktBSXdJU29nR1NnQ1BCQVFJQm45REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5Q3dJb0lCbENBRGNDT0NBWi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9Rc0NHQ0FaL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1FzQ0NDQVpJQlEyQWdBZ0dTQXFOZ0l3SUNvRVFDQVVRUUFnS2tFWWJCQVZHZ3NnR1NBUE5nSTRJQmtnRERZQ0JBd0JDeUFaUVFwQkdCQVRJZ3cyQWdBZ0RFVU5DeUFaUVFvMkFqQUxJQmtnRWlBTklCeHNheUFXYWlJVUlDMTBJZzhnQ3lnQ0FDSU1JQXdnRDBnYk5nSUlJQmtnRVNBY2FpSU5JQ3gwSWc4Z0N5Z0NCQ0lNSUF3Z0QwZ2JOZ0lNSUJrZ0ZFRUJhaUF0ZENJUElBc29BZ2dpRENBTUlBOUtHellDRUNBWklBMUJBV29nTEhRaUR5QUxLQUlNSWd3Z0RDQVBTaHMyQWhRZ0VrRUJhaUlTSUNWSERRQUxDeUFMUVNocUlRc2dKRUVCYWlJa0lDTkhEUUFMQ3lBWFFRaHFJUmNnRlVFa2FpRVZJQ2xCQVdvaUtTQWFLQUlZU1EwQUN5QWFRWmdCYWlFYUlBa2hDeUFyUVFGcUlpc2dFQ2dDRkVrTkFBc0xJQ2RCTkdvaEp5QVFRY3dBYWlFUUlCdEJ1QWhxSVJzZ0tFRUJhaUlvSUI0b0FoQkpEUUFMUVFFTUF3c2dDa0VCUVpRV1FRQVFEd3dCQ3lBS1FRRkJzeEZCQUJBUEMwRUFDMFVFUUNBS1FRRkJ3aHRCQUJBUFFRQU1CQXNnQUNnQ3pBRWhDU0FPSUFBb0FtZ2dBQ2dDYkd3MkFnUWdEaUFKUVFGcU5nSUFJQXBCQkVHKzF3QWdEaEFQSUFFZ0FDZ0N6QUUyQWdBZ0NFRUJOZ0lBSUFJRVFDQUNJQUFvQXRBQlFRQVFWQ0lCTmdJQVFRQWdBVUYvUmcwRUdnc2dBeUFBS0FMUUFTZ0NGQ2dDQUNJQktBSUFOZ0lBSUFRZ0FTZ0NCRFlDQUNBRklBRW9BZ2cyQWdBZ0JpQUJLQUlNTmdJQUlBY2dBU2dDRURZQ0FDQUFJQUFvQWdoQmdBRnlOZ0lJQzBFQkRBSUxJQXBCQVNBU1FRQVFEd3NnQ2tFQlFlUWJRUUFRRDBFQUN5RXdJQTVCMEFCcUpBQWdNQXZlRUFJTmZ3SitBa0FnQUNnQ0lDSUZEUUFDUUNBQUtBSVFJZ2xCQlVvRVFDQUpJUU1NQVFzQ1FBSkFJQUFvQWhRaUFrRUZUZ1JBSUFBb0FnQWlBU2dDQUNFRklBQWdBVUVFYWpZQ0FDQUNRUVJySVFjTUFRc2dBa0VBVEFSQVFYOGhCUXdDQ3lBQUtBSUFJUUVDZnlBQ1FRRkdCRUJCZnlFR1FRQU1BUXRCZnlFR0lBSkJBV3NpQTBFQmNTRU5Ba0FnQWtFQ1JnUkFRUUFoQlNBQ0lRUU1BUXNnQTBGK2NTRUxRUUFoQlNBQklRTWdBaUVFQTBBZ0FDQURRUUZxTmdJQUlBTXRBQUFoRENBQUlBTkJBbW9pQVRZQ0FDQUFJQVJCQVdzMkFoUWdBeTBBQVNFRElBQWdCRUVDYXlJRU5nSVVJQVpCL3dFZ0JYUkJmM054SUF3Z0JYUnlRWUQrQXlBRmRFRi9jM0VnQXlBRlFRaHlkSEloQmlBRlFSQnFJUVVnQVNFRElBaEJBbW9pQ0NBTFJ3MEFDd3NnRFFSQUlBQWdBVUVCYWlJRE5nSUFJQUV0QUFBaEFTQUFJQVJCQVdzMkFoUWdCa0gvQVNBRmRFRi9jM0VnQVNBRmRISWhCaUFESVFFTElBSkJBM1JCQ0dzTElRVWdBQ0FCUVFGcU5nSUFJQVpCL3dFZ0JYUkJmM054SUFFdEFBQkJEM0lnQlhSeUlRVUxJQUFnQnpZQ0ZBc2dBQ2dDR0NFQklBQWdCVUVZZGlJSFFmOEJSallDR0NBQUlBa2dCVUVRZGtIL0FYRWlDRUgvQVVZaUNpQUZRUWgyUWY4QmNTSUxRZjhCUmlJTUlBRWdCVUgvQVhFaUJFSC9BVVlpQW1wcWFpSUJhMEVnYWlJRE5nSVFJQUFnQUNrRENDQUVRUWRCQ0NBQ0czUWdDM0pCQjBFSUlBd2JkQ0FJY2tFSFFRZ2dDaHQwSUFkeXJTQUJJQWxyUVNCcXJZYUVOd01JUVFBaEJTQURRUVpJRFFFTElBQW9BaHdpQVVFQ2RFR2duUUZxS0FJQUlRSUNmaUFBS1FNSUlnNUNBRk1FUUVFTUlBRkJBV29nQVVFTFRoc2hCQ0FEUVFGcklRTkJmeUFDZEVGL2MwRUJkQ0VCUWdFTUFRc2dBVUVCYTBFQUlBRkJBVW9iSVFRZ0RrRS9JQUpycllpblFYOGdBblJCZjNOeFFRRjBRUUZ5SVFFZ0F5QUNRUUZxSWdKcklRTWdBcTBMSVE4Z0FDQUROZ0lRSUFBZ0JEWUNIQ0FBSUE0Z0Q0WTNBd2dnQUNBQnJDQUFLUU1vUWtDRGhEY0RLRUVCSVFVZ0EwRUdTQTBBSUFBb0Fod2lBVUVDZEVHZ25RRnFLQUlBSVFJQ2ZpQUFLUU1JSWc1Q0FGTUVRRUVNSUFGQkFXb2dBVUVMVGhzaEJDQURRUUZySVFOQmZ5QUNkRUYvYzBFQmRDRUJRZ0VNQVFzZ0FVRUJhMEVBSUFGQkFVb2JJUVFnRGtFL0lBSnJyWWluUVg4Z0FuUkJmM054UVFGMFFRRnlJUUVnQXlBQ1FRRnFJZ0pySVFNZ0FxMExJUThnQUNBRE5nSVFJQUFnQkRZQ0hDQUFJQTRnRDRZM0F3Z2dBQ0FBS1FNb1F2OUFneUFCckVJSGhvUTNBeWhCQWlFRklBTkJCa2dOQUNBQUtBSWNJZ0ZCQW5SQm9KMEJhaWdDQUNFQ0FuNGdBQ2tEQ0NJT1FnQlRCRUJCRENBQlFRRnFJQUZCQzA0YklRUWdBMEVCYXlFRFFYOGdBblJCZjNOQkFYUWhBVUlCREFFTElBRkJBV3RCQUNBQlFRRktHeUVFSUE1QlB5QUNhNjJJcDBGL0lBSjBRWDl6Y1VFQmRFRUJjaUVCSUFNZ0FrRUJhaUlDYXlFRElBS3RDeUVQSUFBZ0F6WUNFQ0FBSUFRMkFod2dBQ0FPSUErR053TUlJQUFnQUNrREtFTC8vMENESUFHc1FnNkdoRGNES0VFRElRVWdBMEVHU0EwQUlBQW9BaHdpQVVFQ2RFR2duUUZxS0FJQUlRSUNmaUFBS1FNSUlnNUNBRk1FUUVFTUlBRkJBV29nQVVFTFRoc2hCQ0FEUVFGcklRTkJmeUFDZEVGL2MwRUJkQ0VCUWdFTUFRc2dBVUVCYTBFQUlBRkJBVW9iSVFRZ0RrRS9JQUpycllpblFYOGdBblJCZjNOeFFRRjBRUUZ5SVFFZ0F5QUNRUUZxSWdKcklRTWdBcTBMSVE4Z0FDQUROZ0lRSUFBZ0JEWUNIQ0FBSUE0Z0Q0WTNBd2dnQUNBQUtRTW9Rdi8vLzBDRElBR3NRaFdHaERjREtFRUVJUVVnQTBFR1NBMEFJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUFLUU1vUXYvLy8vOUFneUFCckVJY2hvUTNBeWhCQlNFRklBTkJCa2dOQUNBQUtBSWNJZ0ZCQW5SQm9KMEJhaWdDQUNFQ0FuNGdBQ2tEQ0NJT1FnQlRCRUJCRENBQlFRRnFJQUZCQzA0YklRUWdBMEVCYXlFRFFYOGdBblJCZjNOQkFYUWhBVUlCREFFTElBRkJBV3RCQUNBQlFRRktHeUVFSUE1QlB5QUNhNjJJcDBGL0lBSjBRWDl6Y1VFQmRFRUJjaUVCSUFNZ0FrRUJhaUlDYXlFRElBS3RDeUVQSUFBZ0F6WUNFQ0FBSUFRMkFod2dBQ0FPSUErR053TUlJQUFnQUNrREtFTC8vLy8vLzBDRElBR3RRaU9HaERjREtFRUdJUVVnQTBFR1NBMEFJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUFLUU1vUXYvLy8vLy8vMENESUFHdFFpcUdoRGNES0VFSElRVWdBMEVHU0EwQUlBQW9BaHdpQVVFQ2RFR2duUUZxS0FJQUlRSUNmaUFBS1FNSUlnNUNBRk1FUUVFTUlBRkJBV29nQVVFTFRoc2hCQ0FEUVFGcklRTkJmeUFDZEVGL2MwRUJkQ0VCUWdFTUFRc2dBVUVCYTBFQUlBRkJBVW9iSVFRZ0RrRS9JQUpycllpblFYOGdBblJCZjNOeFFRRjBRUUZ5SVFFZ0F5QUNRUUZxSWdKcklRTWdBcTBMSVE4Z0FDQUROZ0lRSUFBZ0JEWUNIQ0FBSUE0Z0Q0WTNBd2dnQUNBQUtRTW9Rdi8vLy8vLy8vOUFneUFCclVJeGhvUTNBeWhCQ0NFRkN5QUFJQVZCQVdzMkFpQWdBQ0FBS1FNb0lnNUNCNGczQXlnZ0RxZEIvd0J4Q3lJQkFYOGdBQVJBSUFBb0Fnd2lBUVJBSUFFUUVDQUFRUUEyQWd3TElBQVFFQXNMaWdFQ0FYNEZmd0pBSUFCQ2dJQ0FnQkJVQkVBZ0FDRUNEQUVMQTBBZ0FVRUJheUlCSUFCQ0NvQWlBa0wyQVg0Z0FIeW5RVEJ5T2dBQUlBQkMvLy8vLzU4QlZpRUdJQUloQUNBR0RRQUxDeUFDUWdCU0JFQWdBcWNoQXdOQUlBRkJBV3NpQVNBRFFRcHVJZ1JCOWdGc0lBTnFRVEJ5T2dBQUlBTkJDVXNoQnlBRUlRTWdCdzBBQ3dzZ0FRdjU0Z0VFZW44R2V3aCtBWDBqQUVFUWF5Sk9KQUFDUUNBQUxRQUlRWUFCY1VVTkFDQUFLQUxNQVNBQlJ3MEFJQUFvQXB3QklBRkJqQ3hzYWlKUEtBTGNLeUlWUlFSQUlFOFFMZ3dCQ3lBQUtBTElBUm9nQUNnQzBBRWhHU0FBS0FKTUlnZEZCRUFnQUNnQ1NDRUhDeUFIS0FJQUlRWWdCeWdDQkNFTElBY29BZ2doQ1NBSEtBSU1JUTBnQUNnQ1BDRUhJQUFvQWtBaENDQlBLQUxnS3lFS0l3QkJFR3NpUUNRQUlCa2dBVFlDSkNBWktBSWNLQUpNSVF3Z0dVRUJOZ0pBSUJrZ0RUWUNQQ0FaSUFrMkFqZ2dHU0FMTmdJMElCa2dCallDTUNBWklBd2dBVUdNTEd4cU5nSWdJQmtvQWtRUUVFRUFJUXNnR1VFQU5nSkVBa0FnQndSQVFRUWdHU2dDR0NnQ0VCQVRJZ3RGQkVBTUFndEJBQ0VOUVFBaENTQUhRUVJQQkVBZ0IwRjhjU0VNUVFBaEFRTkFJQXNnQ0NBSlFRSjBhaUlHS0FJQVFRSjBha0VCTmdJQUlBc2dCaWdDQkVFQ2RHcEJBVFlDQUNBTElBWW9BZ2hCQW5ScVFRRTJBZ0FnQ3lBR0tBSU1RUUowYWtFQk5nSUFJQWxCQkdvaENTQUJRUVJxSWdFZ0RFY05BQXNMSUFkQkEzRWlBUVJBQTBBZ0N5QUlJQWxCQW5ScUtBSUFRUUowYWtFQk5nSUFJQWxCQVdvaENTQU5RUUZxSWcwZ0FVY05BQXNMSUJrZ0N6WUNSQXNDUUFKQUlCa29BaGdpQmlnQ0VDSU5SUTBBUVFBaENRSkFBMEFDUUNBTEJFQWdDeUFKUVFKMGFpZ0NBRVVOQVFzZ0JpZ0NHQ0FKUVRSc2FpSUJOUUlFSW9ZQlFnRjlJb29CSUJrMUFqeDhJSVlCZ0NHTEFTQUJOUUlBSW9jQlFnRjlJb2dCSUJrMUFqaDhJSWNCZ0NHTUFTQ0tBU0FaTlFJMGZDQ0dBWUFoaGdFZ0dTZ0NGQ2dDQUNnQ0ZDQUpRY3dBYkdvaUFTZ0NGQ0FCS0FJWWF5SUhRUjlMRFFBQ1FDQ0lBU0FaTlFJd2ZDQ0hBWUNuSWdnZ0FTZ0NBR3NpREVFQUlBZ2dERThiSUFkMkRRQWdoZ0duSWdnZ0FTZ0NCR3NpREVFQUlBZ2dERThiSUFkMkRRQWdBU2dDQ0NJSUlJd0JwMnNpREVFQUlBZ2dERThiSUFkMkRRQWdBU2dDRENJQklJc0JwMnNpQ0VFQUlBRWdDRThiSUFkMlJRMEJDeUFaUVFBMkFrQU1BZ3NnQ1VFQmFpSUpJQTFIRFFBTElCa29Ba0JGRFFBZ0RVVU5BVUVBSVEwRFFDQVpLQUlVS0FJQUtBSVVJQTFCekFCc2FpSUJLQUljSUFFb0FoaEJtQUZzYWlJSFFaUUJheWdDQUNFR0lBZEJqQUZyS0FJQUlRc2dCMEdZQVdzb0FnQWhDU0FIUVpBQmF5Z0NBQ0VJQWtBZ0dTZ0NSQ0lIQkVBZ0J5QU5RUUowYWlnQ0FFVU5BUXNnQ3lBR2F5RUhJQWdnQ1dzaENRSkFJQVlnQzBZTkFDQUhyU0FKclg1Q0lJaFFEUUFnQlVFQlFaUVdRUUFRRHd3R0N5QUhJQWxzSWdkQmdJQ0FnQVJQQkVBZ0JVRUJRWlFXUVFBUUR3d0dDeUFCSUFkQkFuUWlCellDTEFKL0FrQUNRQUpBSUFFb0FpUWlCZ1JBSUFjZ0FTZ0NNRTBOQlNBQktBSW9EUUVMSUFFZ0J4QVlJZ2MyQWlRZ0IwRUJJQUVvQWl3aUJ4dEZEUUVnQVNBSE5nSXdJQUZCS0dvTUF3c2dCaEFRSUFFZ0FTZ0NMQkFZSWdjMkFpUWdCdzBCSUFGQkFEWUNNQ0FCUWdBM0FpZ0xJQVZCQVVHVUZrRUFFQThNQndzZ0FTQUJLQUlzTmdJd0lBRkJLR29MUVFFMkFnQUxJQTFCQVdvaURTQVpLQUlZSWdZb0FoQkpEUUFMREFFTElBMUZEUUFnQmlnQ0dDRVBJQmtvQWhRb0FnQW9BaFFoRmtFQUlRRURRQUpBSUFzRVFDQUxJQUZCQW5ScUtBSUFSUTBCQ3lBV0lBRkJ6QUJzYWlJSElBY29BZ0FpQ1NBUElBRkJOR3hxSWdnMUFnQWloZ0ZDQVgwaWlnRWdHVFVDTUh3Z2hnR0FweUlNSUFrZ0RFc2JJZ2syQWpnZ0J5QUhLQUlFSWd3Z0NEVUNCQ0tIQVVJQmZTS0xBU0FaTlFJMGZDQ0hBWUNuSWdnZ0NDQU1TUnNpQ0RZQ1BDQUhJQWNvQWdnaURDQ0tBU0FaTlFJNGZDQ0dBWUNuSWhjZ0RDQVhTUnNpRERZQ1FDQUhJQWNvQWd3aUZ5Q0xBU0FaTlFJOGZDQ0hBWUNuSWc0Z0RpQVhTeHNpRnpZQ1JDQUpJQXhMRFFNZ0NDQVhTdzBESUFjb0FoUWlEa1VOQUNBT3JTR0xBU0FYclNHSUFTQU1yU0dNQVNBSXJTR05BU0FKclNHSkFTQUhLQUljSVFsQ0FDR0hBUU5BSUFrZ2h3R25JZ2hCbUFGc2FpSUhRbjhnRGlBSVFYOXphcTBpaGdHR1FuK0ZJb29CSUlnQmZDQ0dBWWcrQXBRQklBY2dpZ0VnakFGOElJWUJpRDRDa0FFZ0J5Q0tBU0NOQVh3Z2hnR0lQZ0tNQVNBSElJa0JJSW9CZkNDR0FZZytBb2dCSUljQlFnRjhJb2NCSUlzQlVnMEFDd3NnQVVFQmFpSUJJQTFIRFFBTEN5QkFRUUEyQWdnZ0dTZ0NIQ0VCUVFGQkNCQVRJaHNFUUNBYklBRTJBZ1FnR3lBR05nSUFDeUFiUlEwQklCa29BaVFoRVNBWktBSVVLQUlBSVNBakFFSHdBR3NpRXlRQUlCRkJqQ3hzSWdFZ0d5Z0NCQ0lJS0FKTWFpSWNLQUtrQXlFb0FuOGdHeWdDQUNJZUlSY2dCU0V6UVFBaERTTUFRU0JySWc4a0FDQUJJQWdvQWt4cUloMG9BcVFESVJnQ1FDQVhLQUlRSWhaQmtBUnNFQlFpREVVTkFBSkFJQlpCQW5RUUZDSUxSUVJBSUF3aEN3d0JDd0ovSUFnb0Frd2dFVUdNTEd4cUlna29BcVFESWhwQkFXb2lBVUh3QVJBVElnY0VRQUpBSUFFRVFDQVhLQUlRSVE0Z0J5RUJBMEFnQVNBek5nTHNBU0FCSUE1QkVCQVRJZ1kyQXNnQklBWkZEUUlnQVNBWEtBSVFJaDgyQXNRQlFRQWhCa0VBSVE0Z0h3UkFBMEFnQVNnQ3lBRWdCa0VFZEdvaURpQUpLQUxRS3lBR1FiZ0liR29pSHlnQ0JFRVFFQk1pSVRZQ0RDQWhSUTBFSUE0Z0h5Z0NCRFlDQ0NBR1FRRnFJZ1lnRnlnQ0VDSU9TUTBBQ3dzZ0FVSHdBV29oQVNBU0lCcEdJWE1nRWtFQmFpRVNJSE5GRFFBTEN5QUhEQUlMSUFjb0FnUWlBUVJBSUFFUUVDQUhRUUEyQWdRTElBY2hBVUVBSVFrRFFDQUJLQUxJQVNJR0JFQkJBQ0VPSUFFb0FzUUJJaElFZndOQUlBWW9BZ3dpSHdSQUlCOFFFQ0FHUVFBMkFnd2dBU2dDeEFFaEVnc2dCa0VRYWlFR0lBNUJBV29pRGlBU1NRMEFDeUFCS0FMSUFRVWdCZ3NRRUNBQlFRQTJBc2dCQ3lBQlFmQUJhaUVCSUFrZ0drWWhkQ0FKUVFGcUlRa2dkRVVOQUFzZ0J4QVFDMEVBQ3lJSEJFQUNRQ0FXUlEwQVFRQWhDU0FNSVFZZ0ZrRUVUd1JBSUFZZ0ZrRjhjU0lKUVpBRWJHb2hCaUFNSVFFRFFDQUxJQkJCQW5ScUlBSDlFZjBNQUFBQUFCQUNBQUFnQkFBQU1BWUFBUDJ1QWYwTEFnQWdBVUhBRUdvaEFTQVFRUVJxSWhBZ0NVY05BQXNnQ1NBV1JnMEJDd05BSUFzZ0NVRUNkR29nQmpZQ0FDQUdRWkFFYWlFR0lBbEJBV29pQ1NBV1J3MEFDd3NnQ3lFT1FRQWhFaUFJS0FKTUlCRkJqQ3hzYWlnQzBDc2hBU0FYS0FJWUlRa2dEeUFJS0FJRUlBZ29BZ3dnRVNBUklBZ29BaGdpQm00aUN5QUdiR3RzYWlJR0lCY29BZ0FpRUNBR0lCQkxHellDRkNBUFFYOGdCaUFJS0FJTWFpSVFJQVlnRUVzYklnWWdGeWdDQ0NJUUlBWWdFRWtiTmdJUUlBOGdDQ2dDQ0NBSUtBSVFJQXRzYWlJR0lCY29BZ1FpQ3lBR0lBdExHellDRENBUFFYOGdCaUFJS0FJUWFpSUxJQVlnQzBzYklnWWdGeWdDRENJTElBWWdDMGtiTmdJSUlBOUJBRFlDR0NBUFFRQTJBaHdnRDBILy8vLy9CellDQkNBUFFmLy8vLzhITmdJQUlCY29BaEFFUUFOQUlBNEVmeUFPSUJKQkFuUnFLQUlBQlVFQUN5RUxJQWsxQWdRaWhnRkNBWDBpaWdFZ0R6VUNDSHdnaGdHQUlZc0JJQWsxQWdBaWh3RkNBWDBpaUFFZ0R6VUNFSHdnaHdHQUlZd0JJSW9CSUE4MUFneDhJSVlCZ0NHR0FTQ0lBU0FQTlFJVWZDQ0hBWUFoaHdFZ0FTZ0NCQ0lJSUE4b0FoeExCRUFnRHlBSU5nSWNJQUVvQWdRaENBc2dDQVJBSUlzQlF2Ly8vLzhQZ3lHS0FTQ01BVUwvLy8vL0Q0TWhpd0VnaGdGQy8vLy8vdytESVlnQklJY0JRdi8vLy84UGd5R01BU0FCUWJBSGFpRWZJQUZCckFacUlTRkJBQ0VhQTBBZ0h5QWFRUUowSWhCcUtBSUFJUVlnRUNBaGFpZ0NBQ0VSUVFBaEVDQUxCRUFnQ3lBR05nSUVJQXNnRVRZQ0FDQUxRUWhxSVJBTEFrQWdFU0FJUVFGcklnaHFJZ3RCSDBzTkFDQUpLQUlBSWlKQmZ5QUxka3NOQUNBUElBOG9BZ1FpSnlBaUlBdDBJZ3NnQ3lBblN4czJBZ1FMQWtBZ0JpQUlhaUlMUVI5TERRQWdDU2dDQkNJaVFYOGdDM1pMRFFBZ0R5QVBLQUlBSWljZ0lpQUxkQ0lMSUFzZ0owc2JOZ0lBQzBFQUlRc2dpZ0ZDZnlBSXJTS0dBWVpDZjRVaWh3RjhJSVlCaUNLTkFVTC8vLy8vRDROQ0FTQUdyU0tKQVlaOFFnRjlJSWtCaUtjZ2h3RWdpQUY4SUlZQmlLY2lJaUFHZG10QmZ5QUdkbkZCQUNBaUlJMEJwMGNiSVFZZ2h3RWdpd0Y4SUlZQmlDS05BVUwvLy8vL0Q0TkNBU0FSclNLSkFZWjhRZ0Y5SUlrQmlLY2dod0VnakFGOElJWUJpS2NpSWlBUmRtdEJmeUFSZG5GQkFDQWlJSTBCcDBjYklSRWdFQVJBSUJBZ0JqWUNCQ0FRSUJFMkFnQWdFRUVJYWlFTEN5QUdJQkZzSWdZZ0R5Z0NHRXNFUUNBUElBWTJBaGdMSUJwQkFXb2lHaUFCS0FJRVNRMEFDd3NnQ1VFMGFpRUpJQUZCdUFocUlRRWdFa0VCYWlJU0lCY29BaEJKRFFBTEN5QVlRUUZxSVNFZ0R5Z0NIQ0VSSUE4b0FoZ2hFaUFIUVFBMkFnUUNRQ0FkS0FJSVFRRnFJZ0d0SUJFZ0VpQVdiQ0lpYkNJYXJYNUNJSWhRQkVBZ0J5QUJJQnBzSWdFMkFnZ2dCeUFCUVFJUUV5SUJOZ0lFSUFFTkFRc2dEQkFRSUE0UUVDQUhLQUlFSWdFRVFDQUJFQkFnQjBFQU5nSUVDeUFoUlFSQUlBY2hDd3dEQzBFQUlRc2dCeUVCQTBBZ0FTZ0N5QUVpQ1FSQVFRQWhCaUFCS0FMRUFTSVFCSDhEUUNBSktBSU1JZ2dFUUNBSUVCQWdDVUVBTmdJTUlBRW9Bc1FCSVJBTElBbEJFR29oQ1NBR1FRRnFJZ1lnRUVrTkFBc2dBU2dDeUFFRklBa0xFQkFnQVVFQU5nTElBUXNnQVVId0FXb2hBU0FMSUJoR0lYVWdDMEVCYWlFTElIVkZEUUFMSUFjaEN3d0NDeUFYS0FJWUlSY2dCeUFQS0FJVUlpYzJBc3dCSUFjZ0R5Z0NEQ0l3TmdMUUFTQUhJQThvQWhBaUxUWUMxQUVnQnlBUEtBSUlJaXMyQXRnQklBY2dHallDRENBSElDSTJBaEFnQnlBU05nSVVRUUVoSHlBSFFRRTJBaGdnRmdSQUlBY29Bc2dCSVFGQkFDRUlJQmNoQ3dOQUlBNGdDRUVDZEdvb0FnQWhDU0FCSUFzb0FnQTJBZ0FnQVNBTEtBSUVOZ0lFQWtBZ0FTZ0NDQ0lOUlEwQUlBRW9BZ3doQmlBTlFRRkhCRUFnRFVGK2NTRXZRUUFoRUFOQUlBWWdDU2dDQURZQ0FDQUdJQWtvQWdRMkFnUWdCaUFKS0FJSU5nSUlJQVlnQ1NnQ0REWUNEQ0FHSUFrb0FoQTJBaEFnQmlBSktBSVVOZ0lVSUFZZ0NTZ0NHRFlDR0NBR0lBa29BaHcyQWh3Z0JrRWdhaUVHSUFsQklHb2hDU0FRUVFKcUloQWdMMGNOQUFzTElBMUJBWEZGRFFBZ0JpQUpLQUlBTmdJQUlBWWdDU2dDQkRZQ0JDQUdJQWtvQWdnMkFnZ2dCaUFKS0FJTU5nSU1DeUFMUVRScUlRc2dBVUVRYWlFQklBaEJBV29pQ0NBV1J3MEFDd3NnSVVFQlN3UkFJQWNoRFFOQUlBMGdLellDeUFNZ0RTQXROZ0xFQXlBTklEQTJBc0FESUEwZ0p6WUN2QU1nRFVFQk5nS0lBaUFOSUJJMkFvUUNJQTBnSWpZQ2dBSWdEU0FhTmdMOEFTQVdCRUFnRFNnQ3VBTWhBVUVBSVFnZ0Z5RUxBMEFnRGlBSVFRSjBhaWdDQUNFSklBRWdDeWdDQURZQ0FDQUJJQXNvQWdRMkFnUUNRQ0FCS0FJSUlpRkZEUUFnQVNnQ0RDRUdJQ0ZCQVVjRVFDQWhRWDV4SVM5QkFDRVFBMEFnQmlBSktBSUFOZ0lBSUFZZ0NTZ0NCRFlDQkNBR0lBa29BZ2cyQWdnZ0JpQUpLQUlNTmdJTUlBWWdDU2dDRURZQ0VDQUdJQWtvQWhRMkFoUWdCaUFKS0FJWU5nSVlJQVlnQ1NnQ0hEWUNIQ0FHUVNCcUlRWWdDVUVnYWlFSklCQkJBbW9pRUNBdlJ3MEFDd3NnSVVFQmNVVU5BQ0FHSUFrb0FnQTJBZ0FnQmlBSktBSUVOZ0lFSUFZZ0NTZ0NDRFlDQ0NBR0lBa29BZ3cyQWd3TElBdEJOR29oQ3lBQlFSQnFJUUVnQ0VFQmFpSUlJQlpIRFFBTEN5QU5JQTBwQWdRM0F2UUJJQmdnSDBjaGRpQU5RZkFCYWlFTklCOUJBV29oSHlCMkRRQUxDeUFNRUJBZ0RoQVFJQjBvQXFRRElRc0NRQ0FkTFFDSUxFRUVjUVJBSUF0QmYwWU5BU0FkUWFnRGFpRUdJQjBvQWdnaEFVRUFJUkFnQnlFSkEwQWdCaWdDSkNFTklBbEJBVFlDTENBSklBMDJBbFFnQ1NBR0tBSUFOZ0l3SUFZb0FnUWhEU0FKUWdBM0FrUWdDU0FOTmdJMElBa2dCaWdDRERZQ1BDQUpJQVlvQWhBMkFrQWdCaWdDQ0NFTklBa2dFallDVENBSklBMGdBU0FCSUExTEd6WUNPQ0FHUVpRQmFpRUdJQWxCOEFGcUlRa2dDeUFRUmlGM0lCQkJBV29oRUNCM1JRMEFDd3dCQ3lBTFFYOUdEUUFnSFNnQ0NDRUdJQjBvQWdRaERTQUhJUWtnQ3dSQUlBdEJBV3BCZm5FaENFRUFJUUVEUUNBSlFnQTNBa1FnQ1VFQU5nSTBJQWxDQVRjQ0xDQUpJQTAyQWxRZ0NTQVJOZ0k4SUFrZ0RUWUN4QUlnQ1NBU05nSk1JQWtnQmpZQ09DQUpRZ0EzQXJRQ0lBbEJBRFlDcEFJZ0NVSUJOd0tjQWlBSklCRTJBcXdDSUFrZ0JqWUNxQUlnQ1NBU05nSzhBaUFKSUFrb0FzUUJOZ0pBSUFrZ0NTZ0N0QU0yQXJBQ0lBbEI0QU5xSVFrZ0FVRUNhaUlCSUFoSERRQUxDeUFMUVFGeERRQWdDVUlBTndKRUlBbEJBRFlDTkNBSlFnRTNBaXdnQ1NBTk5nSlVJQWtnRVRZQ1BDQUpJQkkyQWt3Z0NTQUdOZ0k0SUFrZ0NTZ0N4QUUyQWtBTElBY2hEUXdDQ3lBTUVCQUxJQXNRRUFzZ0QwRWdhaVFBUVFBZ0RTSUhSUTBBR2lBb1FRRnFJUTRnRlNFZElBY2hDd0pBQWtBRFFDQUxLQUpVUVg5R0RRSWdIaWdDRUVFQ2RCQVVJZ0ZGRFFJZ0FVRUJJQjRvQWhCQkFuUVFGU0VKSUFzUVZ3UkFBMEFnSUNnQ0ZDRUlBa0FDUUNBTEtBSW9JQndvQWd4UERRQWdDeWdDSUNJQklBZ2dDeWdDSEVITUFHeHFJZ1lvQWhoUERRQWdCaWdDSENBQlFaZ0JiR29pRFNnQ0dFVU5BQ0FOUVJ4cUlRaEJBQ0VCQWtBRFFDQVpJQXNvQWh3Z0N5Z0NJQ0FJSUFGQkpHeHFJZ1lvQWhBZ0JpZ0NGQ0FMS0FJa1FTaHNhaUlHS0FJQUlBWW9BZ1FnQmlnQ0NDQUdLQUlNRURsRkJFQWdBVUVCYWlJQklBMG9BaGhKRFFFTUFnc0xJQWtnQ3lnQ0hFRUNkR3BCQURZQ0FDQVRRUUEyQW1nZ0d5Z0NCQ0FnS0FJVUlCd2dDeUFUUWV3QWFpQWRJQk5CNkFCcUlBb2dNeEJXUlEwR0lBc29BaUFoQ0NBTEtBSWNJUllnRXlnQ2FDRWFJQk1vQW13RVFDQVRRUUEyQW1nZ0lDZ0NGQ0FXUWN3QWJHb29BaHdnQ0VHWUFXeHFJaDhvQWhnaUFRUi9JQW9nR21zaEdDQUtJQjFxSVNFZ0gwRWNhaUVNUVFBaEVVRUFJUThnR2lBZGFpSWlJUklEUUFKQUlBd29BZ2dnRENnQ0FFWU5BQ0FNS0FJTUlBd29BZ1JHRFFBZ0RDZ0NGQ0FMS0FJa1FTaHNhaUlHS0FJVUlBWW9BaEJzSWloRkRRQWdCaWdDR0NFQlFRQWhGZ05BSUE4RVFDQUJRUUEyQWpRTElBRW9BaVFpRndSQUlBRW9BZ0FoQ0FKQUlBRWdBU2dDS0NJR0JIOGdDQ0FHUVJoc2FpSUlRUlJyS0FJQUlBaEJER3NvQWdCSEJFQWdDRUVZYXlFSURBSUxJQVpCQVdvRlFRRUxOZ0lvQ3dKQUEwQUNRQUpBQWtBZ0NDZ0NGQ0lOSUJKQmYzTkxEUUFnRHcwQUlBMGdFbW9nSVUwTkFRc2dDeWdDSENFR0lBc29BaUFoRnlBTEtBSWtJUThnR3lnQ0JDZ0NhQVJBSUJNZ0JqWUNXQ0FUSUJjMkFsUWdFeUFSTmdKUUlCTWdEellDVENBVElCWTJBa2dnRXlBWU5nSkVJQk1nRFRZQ1FDQXpRUUZCOHUwQUlCTkJRR3NRRHd3UkN5QVRJQVkyQWpnZ0V5QVhOZ0kwSUJNZ0VUWUNNQ0FUSUE4MkFpd2dFeUFXTmdJb0lCTWdHRFlDSkNBVElBMDJBaUFnTTBFQ1FmTHRBQ0FUUVNCcUVBOGdBVUVBTmdJMElBZ2dDQ2dDRUNJR0lBZ29BZ1JxTmdJRUlBRWdBU2dDSkNJTklBWnJJaGMyQWlSQkFTRVBJQVlnRFVZTkFTQUJJQUVvQWloQkFXb2lDRFlDS0F3REN5QUJLQUlFSVJBZ0FTZ0NOQ0lQSUFFb0FqaEhCSDhnRndVZ0VDQVBRUUYwUVFGeUlnWkJBM1FRRnlJUVJRUkFJRE5CQVVHQUNFRUFFQThNRVFzZ0FTQUdOZ0k0SUFFZ0VEWUNCQ0FCS0FJMElROGdDQ2dDRkNFTklBRW9BaVFMSVFZZ0VDQVBRUU4wYWlJWElBMDJBZ1FnRnlBU05nSUFJQUVnRDBFQmFqWUNOQ0FJSUFnb0FnQWdEV28yQWdBZ0NDQUlLQUlRSWhBZ0NDZ0NCR29pRHpZQ0JDQUJJQVlnRUdzaUZ6WUNKQ0FJSUE4MkFnZ2dEU0FTYWlFU1FRQWhEeUFHSUJCR0RRQWdBU0FCS0FJb1FRRnFOZ0lvSUFoQkdHb2hDQXNnRncwQUN5QUJLQUlvSVFnTElBRWdDRFlDTEFzZ0FVRkFheUVCSUJaQkFXb2lGaUFvUncwQUN5QWZLQUlZSVFFTElBeEJKR29oRENBUlFRRnFJaEVnQVVrTkFBc2dDeWdDSENFV0lBc29BaUFoQ0NBWUlCSWdJbXNnRHhzRlFRQUxJQnBxSVJvTElCNG9BaGdnRmtFMGJHb2lBU0FJSUFFb0FpUWlBU0FCSUFoSkd6WUNKQXdDQ3lBZ0tBSVVJUWdMSUJOQkFEWUNhQ0FiS0FJRUlBZ2dIQ0FMSUJOQjdBQnFJQjBnRTBIb0FHb2dDaUF6RUZaRkRRUWdDeWdDSENFV0lCTW9BbWdoR2lBVEtBSnNSUTBBQWtBZ0lDZ0NGQ0FXUWN3QWJHb29BaHdnQ3lnQ0lDSWlRWmdCYkdvaUFTZ0NHQ0lvUlFSQVFRQWhGd3dCQ3lBS0lCcHJJUkFnQVVFY2FpRU1JQXNvQWlRaElVRUFJUmRCQUNFWUEwQUNRQ0FNS0FJSUlBd29BZ0JHRFFBZ0RDZ0NEQ0FNS0FJRVJnMEFJQXdvQWhRZ0lVRW9iR29pQVNnQ0ZDQUJLQUlRYkNJblJRMEFJQUVvQWhnaEVVRUFJUjhEUUNBUktBSWtJZ0VFUUNBUktBSUFJUWdDUUNBUklCRW9BaWdpRWdSL0lBZ2dFa0VZYkdvaUNFRVVheWdDQUNBSVFReHJLQUlBUndSQUlBaEJHR3NoQ0F3Q0N5QVNRUUZxQlVFQkN5SVNOZ0lvQ3dKQUFrQWdDQ2dDRkNJUElCZHFJZzBnRDBrTkFDQU5JQkJMRFFBRFFDQU5JUmNnQ0NBSUtBSVFJZzBnQ0NnQ0JHbzJBZ1FnQVNBTmF5RUdJQUVnRFVZTkFpQVJJQkpCQVdvaUVqWUNLQ0FJS0FJc0lnOGdGMm9pRFNBUFR3UkFJQWhCR0dvaENDQUdJUUVnRFNBUVRRMEJDd3NnRVNBR05nSWtDeUFiS0FJRUtBSm9JUUVnRXlBV05nSVlJQk1nSWpZQ0ZDQVRJQmcyQWhBZ0V5QWhOZ0lNSUJNZ0h6WUNDQ0FUSUJBMkFnUWdFeUFQTmdJQUlETkJBVUVDSUFFYlFaM3RBQ0FURUE4Z0FRMEtJQXNvQWh3aEZnd0ZDeUFSSUFZMkFpUUxJQkZCUUdzaEVTQWZRUUZxSWg4Z0owY05BQXNMSUF4QkpHb2hEQ0FZUVFGcUloZ2dLRWNOQUFzTElCY2dHbW9oR2dzQ1FDQUpJQlpCQW5ScUtBSUFSUTBBSUI0b0FoZ2dGa0UwYkdvaUFTZ0NKQTBBSUFFZ0lDZ0NGQ0FXUWN3QWJHb29BaGhCQVdzMkFpUUxJQW9nR21zaENpQWFJQjFxSVIwZ0N4QlhEUUFMQ3lBSkVCQWdDMEh3QVdvaEN5QWpRUUZxSWlNZ0hDZ0NwQU5ORFFBTElBY2dEaEE2SUVBZ0hTQVZhellDQ0VFQkRBSUxJQWNnRGhBNklBa1FFRUVBREFFTElBY2dEaEE2UVFBTElYZ2dFMEh3QUdva0FDQWJFQ3dnZUVVTkFTQVpLQUlnS0FMUUt5RUpJQmtvQWhRb0FnQWlGaWdDRkNFZElFQkJBVFlDREVFQUlRMUJBQ0VWSUJrb0FpQWlBU2dDRENBQktBSUlSZ1JBSUFrb0FoQkJCSFpCQVhFaEZRc0NRQ0FXS0FJUUlqRkZEUUFEUUFKQUlCa29Ba1FpQVFSQUlBRWdEVUVDZEdvb0FnQkZEUUVMSUVCQkRHb2hFMEVBSVRFQ1FDQWRLQUlZSWdGRkRRQWdHU2dDTENFUUEwQWdIU2dDSENBeFFaZ0JiR29pRENnQ0dDSUxCRUFnREVFY2FpRVNJQXdvQWhRaEFTQU1LQUlRSVJkQkFDRU9BMEFnQVNBWGJBUkFJQklnRGtFa2JHb2hEMEVBSVFnRFFDQVpJQjBvQWhBZ01TQVBLQUlRSUE4b0FoUWdDRUVvYkdvaUJ5Z0NBQ0FIS0FJRUlBY29BZ2dnQnlnQ0RCQTVJUVlnQnlnQ0ZDSUxJQWNvQWhBaUNtd2hBUUpBSUFZRVFDQUJSUTBCUVFBaENnTkFBa0FnR1NBZEtBSVFJREVnRHlnQ0VDQUhLQUlZSUFwQkJuUnFJZ1lvQWdnZ0JpZ0NEQ0FHS0FJUUlBWW9BaFFRT1VVRVFDQUdLQUk4SWdGRkRRRWdBUkFRSUFaQkFEWUNQQXdCQ3lBWktBSkFSUVJBSUFZb0Fqd05BU0FHS0FJUUlBWW9BZ2hHRFFFZ0JpZ0NGQ0FHS0FJTVJnMEJDMEVCUVN3UUV5SUJSUVJBSUVCQkFEWUNEQXdLQ3lBWktBSkFJUXNnQVVFQU5nSWtJQUVnRXpZQ0hDQUJJQWsyQWhRZ0FTQWROZ0lRSUFFZ0R6WUNEQ0FCSUFZMkFnZ2dBU0F4TmdJRUlBRWdDellDQUNBQklCVTJBaWdnQVNBek5nSWdJQUVnRUNnQ0JFRUJTallDR0NBUVFRNGdBUkF0SUVBb0FneEZEUWtMSUFwQkFXb2lDaUFIS0FJVUlBY29BaEJzU1EwQUN3d0JDeUFCUlEwQVFRQWhGd05BSUFjb0FoZ2dGMEVHZEdvaUFTZ0NQQ0lHQkVBZ0JoQVFJQUZCQURZQ1BDQUhLQUlRSVFvZ0J5Z0NGQ0VMQ3lBWFFRRnFJaGNnQ2lBTGJFa05BQXNMSUFoQkFXb2lDQ0FNS0FJVUlnRWdEQ2dDRUNJWGJFa05BQXNnRENnQ0dDRUxDeUFPUVFGcUlnNGdDMGtOQUFzZ0hTZ0NHQ0VCQ3lBeFFRRnFJakVnQVVrTkFBc0xJRUFvQWd4RkRRSWdGaWdDRUNFeEN5QUpRYmdJYWlFSklCMUJ6QUJxSVIwZ0RVRUJhaUlOSURGSkRRQUxDMEVBSVRFZ0dTZ0NMQkFnSUVBb0FneEZEUUVDUUNBWktBSkFEUUFnR1NnQ0dDSWRLQUlRUlEwQVFRQWhDUU5BSUJrb0FoUW9BZ0FvQWhRZ0NVSE1BR3hxSWdFb0Fod2dIU2dDR0NBSlFUUnNhaWdDSkVHWUFXeHFJZ2NvQW9nQklRWWdCeWdDa0FFaEN5QUhLQUtNQVNFS0lBY29BcFFCSVFjZ0FTZ0NOQkFRSUFGQkFEWUNOQUpBSUJrb0FrUWlEUVJBSUEwZ0NVRUNkR29vQWdCRkRRRUxJQVlnQzBZTkFDQUhJQXBHRFFBZ0J5QUtheUlIclNBTElBWnJJZ2F0ZmtJZ2lFSUFVZ1JBSUROQkFVR1VGa0VBRUE4TUJRc2dCaUFIYkNJSFFZQ0FnSUFFVHdSQUlETkJBVUdVRmtFQUVBOE1CUXNnQVNBSFFRSjBFQmdpQVRZQ05DQUJEUUFnTTBFQlFaUVdRUUFRRHd3RUN5QUpRUUZxSWdrZ0dTZ0NHQ0lkS0FJUVNRMEFDd3NnR1NnQ0lDRWRJQmtvQWhRb0FnQWlGeWdDRUFSQUlCY29BaFFoQ1NBZEtBTFFLeUVkSUJrb0FoZ29BaGdoRFVFQUlRc0RRQUpBSUJrb0FrUWlBUVJBSUFFZ0MwRUNkR29vQWdCRkRRRUxJQTBvQWlSQkFXb2hBU0FkS0FJVVFRRkdCRUFnQVNFZVFRQWhCa0VBSVF6OURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBaGdBRWpBRUVnYXlJbEpBQUNRQUpBSUJrb0FrQUVRRUVCSVFjZ0FVRUJSZzBDSUFrb0Fod2lEQ0FKS0FJWVFaZ0JiR29pQVVHUUFXc29BZ0FpRUNBQlFaZ0JheWdDQUNJVFJnMENJQXdvQWdRaEVTQU1LQUlNSVJnZ0RDZ0NBQ0VhSUF3b0FnZ2hHeUFaS0FJc0lnNG9BZ1FoRmlBZVFRRnJJZ29oRlNBTUlRY0NRQ0FLUVFSUEJFQWdDa0VEY1NFVklBY2dDa0Y4Y1NJSVFaZ0JiR29oQjBFQUlRRURRQ0NBQVNBTUlBRkJtQUZzYWlJR1FlZ0VhaUFHUWRBRGFpQUdRYmdDYWlBRy9Ra0NvQUg5VmdJQUFmMVdBZ0FDL1ZZQ0FBTWdCa0hnQkdvZ0JrSElBMm9nQmtHd0Ftb2dCdjBKQXBnQi9WWUNBQUg5VmdJQUF2MVdBZ0FEL2JFQi9ia0JJQVpCN0FScUlBWkIxQU5xSUFaQnZBSnFJQWI5Q1FLa0FmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQXlBR1FlUUVhaUFHUWN3RGFpQUdRYlFDYWlBRy9Ra0NuQUg5VmdJQUFmMVdBZ0FDL1ZZQ0FBUDlzUUg5dVFFaGdBRWdBVUVFYWlJQklBaEhEUUFMSUlBQklJQUJJSUFCL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL2JrQklvQUJJSUFCSUlBQi9RMEVCUVlIQUFFQ0F3QUJBZ01BQVFJRC9ia0IvUnNBSVFZZ0NDQUtSZzBCQ3dOQUlBWWdCeWdDb0FFZ0J5Z0NtQUZySWdFZ0FTQUdTUnNpQVNBSEtBS2tBU0FIS0FLY0FXc2lCaUFCSUFaTEd5RUdJQWRCbUFGcUlRY2dGVUVCYXlJVkRRQUxDMEVBSVFjZ0JrSC8vLzgvU3cwQ0lDVWdCa0VGZENJU0VERWlEellDRUNBUFJRMENJQ1VnRHpZQ0FDQUtCRUFnRUNBVGF5RVFJQmdnRVdzaENDQWJJQnBySVFFRFFDQUpLQUlrSVJNZ0pTQUlJaFUyQWdnZ0pTQUJJZ2MyQWhnZ0RDZ0NuQUVoQmlBTUtBS2tBU0VJSUF3b0FxQUJJUUVnSlNBTUtBS1lBU0lSUVFKdk5nSWNJQ1VnQVNBUmF5SUJJQWRyTmdJVUFrQWdGa0VDU0NJYVJTQUlJQVpySWdoQkFVdHhSUVJBUVFBaEJpQUlSUTBCQTBBZ0pVRVFhaUFUSUFZZ0VHeEJBblJxRUYwZ0JrRUJhaUlHSUFoSERRQUxEQUVMSUFnZ0ZpQUlJQlpKR3lJUlFRRnJJUnNnQ0NBUmJpRVlRUUFoQndOQVFTUVFGQ0lHUlEwRklDWDlBQUlRSVlBQklBWWdFellDR0NBR0lCQTJBaFFnQmlBQk5nSVFJQVlnZ0FIOUN3SUFJQVlnQnlBWWJEWUNIQ0FISUJ0R0lSOGdCaUFJSUFkQkFXb2lCeUFZYkNBZkd6WUNJQ0FHSUJJUU1TSWZOZ0lBSUI5RkJFQkJBQ0VISUE0UUlDQUdFQkFnRHhBUURBY0xJQTVCQ2lBR0VDMGdCeUFSUncwQUN5QU9FQ0FMSUNVZ0NDQVZhellDQkNBbElBd29BcHdCUVFKdk5nSU1Ba0FnR2tVZ0FVRUJTM0ZGQkVCQkNDRUhRUUFoQmlBQlFRaFBCRUFEUUNBbElCTWdCa0VDZEdvZ0VFRUlFREFnQnlJR1FRaHFJZ2NnQVUwTkFBc0xJQUVnQmswTkFTQWxJQk1nQmtFQ2RHb2dFQ0FCSUFackVEQU1BUXNnQVNBV0lBRWdGa2tiSWhWQkFXc2hHQ0FCSUJWdUlSRkJBQ0VIQTBCQkpCQVVJZ1pGRFFVZ0pmMEFBZ0FoZ0FFZ0JpQVROZ0lZSUFZZ0VEWUNGQ0FHSUFnMkFoQWdCaUNBQWYwTEFnQWdCaUFISUJGc05nSWNJQWNnR0VZaEdpQUdJQUVnQjBFQmFpSUhJQkZzSUJvYk5nSWdJQVlnRWhBeElobzJBZ0FnR2tVRVFFRUFJUWNnRGhBZ0lBWVFFQ0FQRUJBTUJ3c2dEa0VMSUFZUUxTQUhJQlZIRFFBTElBNFFJQXNnREVHWUFXb2hEQ0FLUVFGcklnb05BQXNMUVFFaEJ5QVBFQkFNQWd0QkFTRUhJQWtvQWh3aUNDQWVRWmdCYkdvaU5VR1lBV3NpWHlnQ0FDQTFRWkFCYXlnQ0FFWU5BU0ExUVpRQmF5SmdLQUlBSURWQmpBRnJLQUlBUmcwQklBZ29BZ1FoRGlBSUtBSU1JUThnQ0NnQ0FDRVdJQWdvQWdnaEVDQUpLQUpFSVNFZ0NTZ0NRQ0VpSUFrb0Fqd2hLQ0FKS0FJNElUQWdDU0FlRUZ3aU9VVUVRRUVBSVFjTUFnc0NRQUpBSUI1QkFVY0VRQUpBQWtBZ0hrRUJheUlLUVFSSkJFQWdDaUVCSUFnaEJ3d0JDeUFLUVFOeElRRWdDQ0FLUVh4eEloVkJtQUZzYWlFSEEwQWdnQUVnQ0NBTVFaZ0JiR29pQmtIb0JHb2dCa0hRQTJvZ0JrRzRBbW9nQnYwSkFxQUIvVllDQUFIOVZnSUFBdjFXQWdBRElBWkI0QVJxSUFaQnlBTnFJQVpCc0FKcUlBYjlDUUtZQWYxV0FnQUIvVllDQUFMOVZnSUFBLzJ4QWYyNUFTQUdRZXdFYWlBR1FkUURhaUFHUWJ3Q2FpQUcvUWtDcEFIOVZnSUFBZjFXQWdBQy9WWUNBQU1nQmtIa0JHb2dCa0hNQTJvZ0JrRzBBbW9nQnYwSkFwd0IvVllDQUFIOVZnSUFBdjFXQWdBRC9iRUIvYmtCSVlBQklBeEJCR29pRENBVlJ3MEFDeUNBQVNDQUFTQ0FBZjBOQ0FrS0N3d05EZzhBQVFJREFBRUNBLzI1QVNLQUFTQ0FBU0NBQWYwTkJBVUdCd0FCQWdNQUFRSURBQUVDQS8yNUFmMGJBQ0VHSUFvZ0ZVWU5BUXNEUUNBR0lBY29BcUFCSUFjb0FwZ0JheUlLSUFZZ0Nrc2JJZ1lnQnlnQ3BBRWdCeWdDbkFGcklnb2dCaUFLU3hzaEJpQUhRWmdCYWlFSElBRkJBV3NpQVEwQUN3c2dCa0dBZ0lDQUFVOE5BaUFHUVFSMEVERWlGRVVOQWdKQUlCNUZEUUFnRHlBT2F5RVNJQkFnRm1zaEdpQVVRUVJySVRzZ0ZFRUVhaUVrSUJSQkRHb2hLU0FVUVJ4cUlVTWdGRUVZYWlFZklCUkJGR29oSUNBVVFReHJJVVFnRkVFSWFpRXFJQlJCRUdvaE5pQVVRUkJySVRjZ0ZFRUlheUZCSUNHdElZWUJJQ0t0SVljQklDaXRJWW9CSURDdElZc0JRUUVoUmdOQUlBZ29BcHdCSWdGQkFtOGhSeUFJS0FLWUFTSUhRUUp2SVR3Z0NDZ0NwQUVnQVdzaUp5QVNheUVzSUFnb0FxQUJJQWRySWkwZ0dtc2hMaUF3SWd3aEJ5QW9JZ1loQ2lBaUlnRWhPaUFoSWc4aEVRSkFJQWtvQWhRaUZTQkdSZzBBSUJVZ1Jtc2hGVUVBSVFwQkFDRUhJQXdFUUVKL0lCV3RJb2dCaGtKL2hTQ0xBWHdnaUFHSXB5RUhDeUFvQkVCQ2Z5QVZyU0tJQVlaQ2Y0VWdpZ0Y4SUlnQmlLY2hDZ3RCQUNFUFFRQWhBU0FpQkVCQ2Z5QVZyU0tJQVlaQ2Y0VWdod0Y4SUlnQmlLY2hBUXNnSVFSQVFuOGdGYTBpaUFHR1FuK0ZJSVlCZkNDSUFZaW5JUThMUVFBaE9rRUFJUXhCQVNBVlFRRnJkQ0lPSURCSkJFQWdNQ0FPYTYxQ2Z5QVZyU0tJQVlaQ2Y0VjhJSWdCaUtjaERBc2dEaUFpU1FSQUlDSWdEbXV0UW44Z0ZhMGlpQUdHUW4rRmZDQ0lBWWluSVRvTFFRQWhFVUVBSVFZZ0RpQW9TUVJBSUNnZ0RtdXRRbjhnRmEwaWlBR0dRbitGZkNDSUFZaW5JUVlMSUE0Z0lVOE5BQ0FoSUE1cnJVSi9JQld0SW9nQmhrSi9oWHdnaUFHSXB5RVJDMEYvSURvZ0NDZ0N0QUVpRldzaURrRUFJQTRnT2swYklnNUJBbW9pRmlBT0lCWkxHeUlPSUM0Z0RpQXVTUnNpTkVGL0lBRWdDQ2dDMkFFaUUyc2lEa0VBSUFFZ0RrOGJJZ0ZCQW1vaURpQUJJQTVMR3lJQklCb2dBU0FhU1JzaUppQThHMEVCZENJQklDWWdOQ0E4RzBFQmRFRUJjaUlPSUFFZ0Rrc2JJa2dnTFVraEdDQU1JQlZySWdGQkFDQUJJQXhOR3lJQlFRSnJJZ3hCQUNBQklBeFBHeUlRSUFjZ0Uyc2lBVUVBSUFFZ0IwMGJJZ0ZCQW1zaURFRUFJQUVnREU4YkloWWdQQnRCQVhRaURDQVdJQkFnUEJ0QkFYUkJBWElpSzBraEx5QUtJQWdvQXJnQklodHJJaFZCQUNBS0lCVlBHeUlLUVFKckloVkJBQ0FLSUJWUEd5SVZJU01nQmlBSUtBTGNBU0lLYXlJT1FRQWdCaUFPVHhzaUJrRUNheUlPUVFBZ0JpQU9UeHNpRGlFOVFYOGdEeUFiYXlJR1FRQWdCaUFQVFJzaUJrRUNhaUlQSUFZZ0Qwc2JJZ1lnRWlBR0lCSkpHeUliSVQ1QmZ5QVJJQXBySWdaQkFDQUdJQkZOR3lJR1FRSnFJZ29nQmlBS1N4c2lCaUFzSUFZZ0xFa2JJaHdoUHlCSEJFQWdGU0U5SUJ3aFBpQWJJVDhnRGlFakN5QklJQzBnR0JzaFNTQU1JQ3NnTHhzaEdDQVNJQnhxSVZBZ0RpQVNhaUZSSUNjRVFDQVVJQlpCQTNRaUJtb2lSVUVFYWlBN0lDNUJBM1FpQ21vaVVpQVdJQzVJSWd3YklWTWdCaUFrYWlJR0lDWWdMaUFtSUM1SUd5SVBJQWNnRXlBSElCTkpHMEVDSUFFZ0FVRUNUeHRxSWdGcUloTWdCMnRCQW1zaUVVRURkQ0lyYWlBR1NTQXBJQWNnQVd0QkEzUnFJZ0VnSzJvZ0FVbHlJQkZCLy8vLy93RkxjaUZVSURRZ0drRUJheUFhSURSS0d5RXZRUUFoRVNBYVFRRktJQzVCQUVweUlWVWdKQ0E4UVFKMElnRnJJQkJCQTNScUlWWWdBU0JGYWlGWElCWWdCMEYvY3lBVGFpSktRWHh4SWpKcUlUZ2dGa0VCYWlJVElESnFJVUlnR2lBMGFpRllJQkFnR21vaFdTQVcvUkg5REFBQUFBQUJBQUFBQWdBQUFBTUFBQUQ5cmdFaGd3RWdGQ0FZUVFKMGFpRmFJRUVnR2tFRGRDSUJhaUZMSUFFZ08yb2hUQ0FLSUVGcUlVMGdHa1VnTGtFQlJuRWhXeUFVSUVsQkFuUWlBV29oWENBQklEdHFJVjBnRS8wUi9Rd0FBQUFBQVFBQUFBSUFBQUFEQUFBQS9hNEJJWVFCSURzZ0ZpQXVJQXdiUVFOMGFpRmVBMEFDUUFKQUlCRWdHMGtnRVNBVlQzRU5BQ0FSSUZCSklCRWdVVTl4RFFBZ0VVRUJhaUVyREFFTElDMGdTRXNFUUNCZFFRQTJBZ0FnWEVFQU5nSUFDeUE1SUJZZ0VTQW1JQkZCQVdvaUt5QlhRUUpCQUJBZUlEa2dXU0FSSUZnZ0t5QldRUUpCQUJBZUFrQUNRQUpBSUR4RkJFQWdWVVVOQXlBV0lDWk9EUUlDUUFKQUlCWkJBRW9FUUNCZUtBSUFJUWNNQVFzZ0pDZ0NBQ0lISVFFZ0ZrRUFTQTBCQ3lBSElRRWdVeWdDQUNFSEN5QkZJRVVvQWdBZ0FTQUhha0VDYWtFQ2RXczJBZ0FnRXlJSElBOU9EUUZCQUNFSElJUUJJWUFCSUlNQklZSUJJQk1oQVNBV0lRb2dTa0VVU1NCVWNrVUVRQU5BSUJRZ2dBRkJBZjJyQVNLQkFmMGJBRUVDZEdvaUFTQVVJSUVCL1JzRFFRSjBhaUlHSUJRZ2dRSDlHd0pCQW5ScUlnb2dGQ0NCQWYwYkFVRUNkR29pRENBQi9Ra0NBUDFXQWdBQi9WWUNBQUw5VmdJQUF5QVVJSUlCUVFIOXF3SDlEQUVBQUFBQkFBQUFBUUFBQUFFQUFBRDlVQ0tGQWYwYkEwRUNkR29nRkNDRkFmMGJBa0VDZEdvZ0ZDQ0ZBZjBiQVVFQ2RHb2dGQ0NGQWYwYkFFRUNkR3I5Q1FJQS9WWUNBQUg5VmdJQUF2MVdBZ0FESUJRZ2dRSDlEQUVBQUFBQkFBQUFBUUFBQUFFQUFBRDlVQ0tCQWYwYkEwRUNkR29nRkNDQkFmMGJBa0VDZEdvZ0ZDQ0JBZjBiQVVFQ2RHb2dGQ0NCQWYwYkFFRUNkR3I5Q1FJQS9WWUNBQUg5VmdJQUF2MVdBZ0FEL2E0Qi9Rd0NBQUFBQWdBQUFBSUFBQUFDQUFBQS9hNEJRUUw5ckFIOXNRRWlnUUg5V2dJQUFDQU1JSUVCL1ZvQ0FBRWdDaUNCQWYxYUFnQUNJQVlnZ1FIOVdnSUFBeUNDQWYwTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTR0NBU0NBQWYwTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTR0FBU0FIUVFScUlnY2dNa2NOQUFzZ1FpRUJJRGdoQ2lBUElRY2dNaUJLUmcwQ0N3TkFJQlFnQVVFRGRHb2lCeUFIS0FJQUlCUWdDa0VEZEdvb0FnUWdCeWdDQkdwQkFtcEJBblZyTmdJQUlBRWlDa0VCYWlJQklBOUhEUUFMSUE4aEJ3d0JDd0pBSUZ0RkJFQWdGaUlISUNaT0RRRURRQ0FVSUFkQkEzUnFJZ0VvQWdRaEJpQUJJQVlDZndKQUlBZEJBRTRFUUNBQklFMGdCeUF1U0Jzb0FnQWhPaUFIUVFGcUlRRU1BUXNnRkNnQ0FDRTZRUUFoQVNBVUlBZEJBV29pQncwQkdnc2dBU0F1VGdSQUlBRWhCeUJOREFFTElCUWdBU0lIUVFOMGFnc29BZ0FnT21wQkFtcEJBblZyTmdJRUlBY2dKa2dOQUFzTUFRc2dGQ0FVS0FJQVFRSnROZ0lBREFNTElCQWlCeUEwVGcwQ0EwQWdGQ0FIUVFOMGFpSUJLQUlBSVFvQ2Z5QUhRUUJJQkVBZ0pDZ0NBQ0VHSUNRTUFRc2dGQ0FIUVFOMGFrRUVhaUJNSUFjZ0drZ2JLQUlBSVFZZ0pDQUhSUTBBR2lCTUlBRkJCR3NnQnlBYVNoc0xJUXdnQVNBTUtBSUFJQVpxUVFGMUlBcHFOZ0lBSUFkQkFXb2lCeUEwUncwQUN3d0NDeUFISUNaT0RRQURRQ0FVSUFkQkEzUnFJZ0VnQVNnQ0FBSi9Ba0FnQjBFQVNnUkFJRHNnQnlBdUlBY2dMa2diUVFOMGFpZ0NBQ0VLREFFTElDUW9BZ0FoQ2lBa0lBZEJBRWdOQVJvTElGSWdCeUF1VGcwQUdpQVVJQWRCQTNScVFRUnFDeWdDQUNBS2FrRUNha0VDZFdzMkFnQWdCMEVCYWlJSElDWkhEUUFMQ3lBUUlEUk9EUUFnTHlBUUlnRWlCMG9FUUFOQUlCUWdCMEVEZEdvaUFTQUJLQUlFSUJRZ0IwRUJhaUlIUVFOMGFpZ0NBQ0FCS0FJQWFrRUJkV28yQWdRZ0J5QXZSdzBBQ3lBdklRRUxJQUVnTkU0TkFBTkFBbjhDUUNBQklnZEJBRTRFUUNBVUlBRkJBM1JxSUVzZ0FTQWFTQnNvQWdBaERDQUJRUUZxSVFvTUFRc2dGQ2dDQUNFTVFRQWhDaUFVSUFkQkFXb2lBUTBCR2dzZ0NpQWFUZ1JBSUFvaEFTQkxEQUVMSUJRZ0NpSUJRUU4wYWdzaEJpQVVJQWRCQTNScUlnY2dCeWdDQkNBR0tBSUFJQXhxUVFGMWFqWUNCQ0FCSURSSURRQUxDeUE1SUJnZ0VTQkpJQ3NnV2tFQlFRQkJBQkFtUlEwR0N5QXJJaEVnSjBjTkFBc0xJQWhCbUFGcUlRZ2dQa0VCZENJQklEOUJBWFJCQVhJaUJ5QUJJQWRMR3lJQklDY2dBU0FuU1JzaFNDQkRJQlZCQlhRaUFXb2dPeUFzUVFWMElnZHFJQlVnTEVnaUJoc2hTaUFCSUI5cUlBY2dRV29nQmhzaFN5QUJJQ0JxSUFjZ1JHb2dCaHNoVENBQklEWnFJQWNnTjJvZ0Joc2hUU0FjSUJKQkFXc2dFaUFjU2hzaERDQXNRUUJLSWc4Z0VrRUJTbkloVWlBQklCUnFJaXNnUjBFRWRHb2hVeUFwSUJKQkEzUWlHa0VJYXlJK1FRQWdFa0VBVEJ0QkFuUWlDbW9oVkNBS0lDcHFJVlVnQ2lBa2FpRldJQW9nRkdvaFZ5QXBRUUFnTEVFRGRDSUtRUWhySWo4Z0R4dEJBblFpRDJvaFdDQVBJQ3BxSVZrZ0R5QWthaUZhSUE4Z0ZHb2hXeUFVUVFRZ1IwRUNkR3RCQW5ScUlBNUJCWFJxSVZ3Z0d5QXNJQnNnTEVnYklROGdGVUVCYWlFUUlCUWdJMEVCZENJV0lEMUJBWFJCQVhJaUV5QVRJQlpMR3lKZFFRUjBhaUZlSUFFZ0tXb2hQU0FCSUNwcUlTTWdBU0FrYWlFdklCcEJBV3NoT0NBYVFRSnJJVUlnR2tFRGF5RXVJQlFnRWtFRmRHb2hZU0FhUVFScklUUWdDa0VGYXlGaUlBcEJCbXNoWXlBS1FRZHJJV1FnRWtVZ0xFRUJSbkVoWlNBcElBZEJFR3NpQVdvaEppQUJJQ3BxSVRvZ0FTQWthaUU4SUFFZ0ZHb2hSU0FwSUQ1QkFuUWlBV29oYUNBQklDcHFJV2tnQVNBa2FpRnFJQUVnRkdvaGF5QTdJQlVnTENBR0cwRUZkQ0lCYWlGc0lBRWdRV29oRXlBQklFUnFJUkVnQVNBM2FpRnRJQ2tnUDBFQ2RDSUJhaUZ1SUFFZ0ttb2hieUFCSUNScUlYQWdBU0FVYWlGeEEwQUNRQUpBQW44Q1FDQVlJaFlnU1VrRVFDQTVJQllnRlVFRUlFa2dGbXNpQVNBQlFRUlBHeUFXYWlJWUlCc2dVMEVCUVFnUUhpQTVJQllnVVNBWUlGQWdYRUVCUVFnUUhpQkhSUVJBSUZKRkRRVWdGU0FiVGcwRUFuOGdGVUVBU2dSQUlHMG9BZ0FoQnlBVElRWWdFU0VLSUd3TUFRc2dOaWdDQUNFSElCVkJBRWdOQXlBZklRWWdJQ0VLSUVNTElYa2dLeUFyS0FJQUlBY2dUU2dDQUdwQkFtcEJBblZyTmdJQUlDOGdMeWdDQUNBS0tBSUFJRXdvQWdCcVFRSnFRUUoxYXpZQ0FDQWpJQ01vQWdBZ0JpZ0NBQ0JMS0FJQWFrRUNha0VDZFdzMkFnQWdTaWdDQUNFSElIa29BZ0FNQXdzZ1pRUkFJQlFnRkNnQ0FFRUNiVFlDQUNBa0lDUW9BZ0JCQW0wMkFnQWdLaUFxS0FJQVFRSnROZ0lBSUNrZ0tTZ0NBRUVDYlRZQ0FBd0ZDeUFiSUJVaUIwb0VRQU5BSUFkQkEzUWhBUUovQWtBZ0IwRUFTQVJBSUFkQmYwWU5BU0FVSUFGQkFuUnFJZ0VnQVNnQ0VDQVVLQUlBUVFGMFFRSnFRUUoxYXpZQ0VDQUJJQUVvQWhRZ0pDZ0NBRUVCZEVFQ2FrRUNkV3MyQWhRZ0FTQUJLQUlZSUNvb0FnQkJBWFJCQW1wQkFuVnJOZ0lZSUNrb0FnQkJBWFJCQW1vaEJpQUJRUnhxREFJTElDd2dCMEVCYWlJR1RBUkFJQlFnQVVFQ2RHb2lDaUFLS0FJUUlCUWdBU0EvSUFjZ0xFZ2lCaHRCQW5ScUtBSUFJSEVvQWdCcVFRSnFRUUoxYXpZQ0VDQUtJQW9vQWhRZ0ZDQUJRUUZ5SUdRZ0JodEJBblJxS0FJQUlIQW9BZ0JxUVFKcVFRSjFhellDRkNBS0lBb29BaGdnRkNBQlFRSnlJR01nQmh0QkFuUnFLQUlBSUc4b0FnQnFRUUpxUVFKMWF6WUNHQ0FVSUFGQkEzSWdZaUFHRzBFQ2RHb29BZ0FnYmlnQ0FHcEJBbW9oQmlBS1FSeHFEQUlMSUJRZ0FVRUNkR29pQVNBQktBSVFJQUVvQWdBZ0ZDQUdRUVYwYWlJR0tBSUFha0VDYWtFQ2RXczJBaEFnQVNBQktBSVVJQUVvQWdRZ0JpZ0NCR3BCQW1wQkFuVnJOZ0lVSUFFZ0FTZ0NHQ0FCS0FJSUlBWW9BZ2hxUVFKcVFRSjFhellDR0NBQktBSU1JQVlvQWd4cVFRSnFJUVlnQVVFY2Fnd0JDeUEzSURjb0FnQWdGQ2dDQUNCYktBSUFha0VDYWtFQ2RXczJBZ0FnUkNCRUtBSUFJQ1FvQWdBZ1dpZ0NBR3BCQW1wQkFuVnJOZ0lBSUVFZ1FTZ0NBQ0FxS0FJQUlGa29BZ0JxUVFKcVFRSjFhellDQUNBcEtBSUFJRmdvQWdCcVFRSnFJUVlnT3dzaUFTQUJLQUlBSUFaQkFuVnJOZ0lBSUFkQkFXb2lCeUFiUncwQUN3c2dIQ0FPSWdkTURRUURRQ0FIUVFOMElRRUNmeUFIUVFCSUJFQWdGQ0FCUVFKMGFpSUJJQUVvQWdBZ05pZ0NBRUVCZEVFQmRXbzJBZ0FnQVNBQktBSUVJQlFvQWhSQkFYUkJBWFZxTmdJRUlBRWdBU2dDQ0NBVUtBSVlRUUYwUVFGMWFqWUNDQ0FVS0FJY1FRRjBJUW9nQVVFTWFnd0JDeUFIQkVBZ0ZDQUJRUUowYWlJR0lBWW9BZ0FnWVNBR0lBY2dFa29pTWh0QkVHc29BZ0FnRkNBQlFRUnlJRFFnQnlBU1NDSUtHMEVDZEdvb0FnQnFRUUYxYWpZQ0FDQUdJQVlvQWdRZ1JDQWFJQUVnTWh0QkFuUWlNbW9vQWdBZ0ZDQUJRUVZ5SUM0Z0NodEJBblJxS0FJQWFrRUJkV28yQWdRZ0JpQUdLQUlJSURJZ1FXb29BZ0FnRkNBQlFRWnlJRUlnQ2h0QkFuUnFLQUlBYWtFQmRXbzJBZ2dnTWlBN2FpZ0NBQ0FVSUFGQkIzSWdPQ0FLRzBFQ2RHb29BZ0JxSVFvZ0JrRU1hZ3dCQ3lBVUlCUW9BZ0FnTmlnQ0FDQVVRUVFnTkNBSElCSklJZ0ViUVFKMGFpZ0NBR3BCQVhWcU5nSUFJQ1FnSkNnQ0FDQVVLQUlVSUJSQkJTQXVJQUViUVFKMGFpZ0NBR3BCQVhWcU5nSUFJQ29nS2lnQ0FDQVVLQUlZSUJSQkJpQkNJQUViUVFKMGFpZ0NBR3BCQVhWcU5nSUFJQlFvQWh3Z0ZFRUhJRGdnQVJ0QkFuUnFLQUlBYWlFS0lDa0xJZ0VnQVNnQ0FDQUtRUUYxYWpZQ0FDQUhRUUZxSWdjZ0hFY05BQXNNQkFzZ0xTRWFJQ2NoRWlCR1FRRnFJa1lnSGtjTkJRd0dDeUFySUNzb0FnQWdCMEVCZEVFQ2FrRUNkV3MyQWdBZ0x5QXZLQUlBSUNBb0FnQkJBWFJCQW1wQkFuVnJOZ0lBSUNNZ0l5Z0NBQ0FmS0FJQVFRRjBRUUpxUVFKMWF6WUNBQ0JES0FJQUlnY0xJUUVnUFNBOUtBSUFJQUVnQjJwQkFtcEJBblZyTmdJQUlCVWhCaUFRSWdFaUJ5QVBTQVJBQTBBZ0ZDQUJRUVYwYWlJSElBZjlBQUlBSURZZ0JrRUZkR3I5QUFJQUlBZjlBQUlRL2E0Qi9Rd0NBQUFBQWdBQUFBSUFBQUFDQUFBQS9hNEJRUUw5ckFIOXNRSDlDd0lBSUFFaUJrRUJhaUlCSUE5SERRQUxJQThoQndzZ0J5QWJUZzBBQTBBZ0IwRURkQ0VCSUFjZ0xFZ2hCZ0pBSUFkQkFFd0VRQ0EyS0FJQUlRb2dCMEVBVGdSQUlCUWdBVUVDZENJQmFpSXlJRElvQWdBZ0NpQUJJRFpxSUVVZ0Joc29BZ0JxUVFKcVFRSjFhellDQUNBQklDUnFJZ29nQ2lnQ0FDQWdLQUlBSUFFZ0lHb2dQQ0FHR3lnQ0FHcEJBbXBCQW5Wck5nSUFJQUVnS21vaUNpQUtLQUlBSUI4b0FnQWdBU0FmYWlBNklBWWJLQUlBYWtFQ2FrRUNkV3MyQWdBZ1F5Z0NBQ0FCSUVOcUlDWWdCaHNvQWdCcVFRSnFJUVlnQVNBcGFpRUJEQUlMSUJRZ0FVRUNkQ0lCYWlJR0lBWW9BZ0FnQ2tFQmRFRUNha0VDZFdzMkFnQWdBU0FrYWlJR0lBWW9BZ0FnRkNnQ0ZFRUJkRUVDYWtFQ2RXczJBZ0FnQVNBcWFpSUdJQVlvQWdBZ0ZDZ0NHRUVCZEVFQ2FrRUNkV3MyQWdBZ0FTQXBhaUVCSUJRb0FoeEJBWFJCQW1vaEJnd0JDeUFVSUFjZ0xDQUdHMEVEZEVFRWEwRUNkQ0lLYWlnQ0FDRXlJQVpGQkVBZ0ZDQUJRUUowSWdGcUlnWWdCaWdDQUNBeUlFVW9BZ0JxUVFKcVFRSjFhellDQUNBQklDUnFJZ1lnQmlnQ0FDQUtJQ1JxS0FJQUlEd29BZ0JxUVFKcVFRSjFhellDQUNBQklDcHFJZ1lnQmlnQ0FDQUtJQ3BxS0FJQUlEb29BZ0JxUVFKcVFRSjFhellDQUNBQklDbHFJUUVnQ2lBcGFpZ0NBQ0FtS0FJQWFrRUNhaUVHREFFTElCUWdBVUVDZENJQmFpSUdJQVlvQWdBZ01pQUdLQUlRYWtFQ2FrRUNkV3MyQWdBZ0FTQWthaUlHSUFZb0FnQWdDaUFrYWlnQ0FDQUdLQUlRYWtFQ2FrRUNkV3MyQWdBZ0FTQXFhaUlHSUFZb0FnQWdDaUFxYWlnQ0FDQUdLQUlRYWtFQ2FrRUNkV3MyQWdBZ0NpQXBhaWdDQUNBQklDbHFJZ0VvQWhCcVFRSnFJUVlMSUFFZ0FTZ0NBQ0FHUVFKMWF6WUNBQ0FIUVFGcUlnY2dHMGNOQUFzTElBNGdIRTROQUNBTUlBNGlBU0lIU2dSQUEwQWdGQ0FCUVFWMGFpSUhJQWY5QUFJZ0lBZjlBQUlBL2E0QlFRSDlyQUVnQi8wQUFoRDlyZ0g5Q3dJUUlBRkJBV29pQVNBTVJ3MEFDeUFNSVFjTElBY2dIRTROQUFOQUlFTWdCMEVEZENJQlFRSjBhaUl5QW44Z0IwRUFTQVJBSUJRb0FnQWhCaUFIUVg5SEJFQWdOaUFCUVFKMElnRnFJZ29nQ2lnQ0FDQUdhallDQUNBQklDQnFJZ1lnQmlnQ0FDQWtLQUlBYWpZQ0FDQUJJQjlxSWdFZ0FTZ0NBQ0FxS0FJQWFqWUNBQ0FwS0FJQURBSUxJRFlnQVVFQ2RDSUJhaUlLSUFvb0FnQWdWeWdDQUNBR2FrRUJkV28yQWdBZ0FTQWdhaUlHSUFZb0FnQWdWaWdDQUNBa0tBSUFha0VCZFdvMkFnQWdBU0FmYWlJQklBRW9BZ0FnVlNnQ0FDQXFLQUlBYWtFQmRXbzJBZ0FnVkNnQ0FDQXBLQUlBYWtFQmRRd0JDeUFCSUQ0Z0J5QVNTQnNoQmlBU0lBZEJBV29pWmt3RVFDQTJJQUZCQW5RaUNtb2lBU0FCS0FJQUlHc29BZ0FnRkNBR1FRSjBhaUlCS0FJQWFrRUJkV28yQWdBZ0NpQWdhaUlHSUFZb0FnQWdhaWdDQUNBQktBSUVha0VCZFdvMkFnQWdDaUFmYWlJR0lBWW9BZ0FnYVNnQ0FDQUJLQUlJYWtFQmRXbzJBZ0FnYUNnQ0FDQUJLQUlNYWtFQmRRd0JDeUEySUFGQkFuUWlDbW9pQVNBQktBSUFJQlFnWmtFRmRHb2lBU2dDQUNBVUlBWkJBblJxSWdZb0FnQnFRUUYxYWpZQ0FDQUtJQ0JxSW1ZZ1ppZ0NBQ0FCS0FJRUlBWW9BZ1JxUVFGMWFqWUNBQ0FLSUI5cUlnb2dDaWdDQUNBQktBSUlJQVlvQWdocVFRRjFhallDQUNBQktBSU1JQVlvQWd4cVFRRjFDeUF5S0FJQWFqWUNBQ0FIUVFGcUlnY2dIRWNOQUFzTElEa2dGaUJkSUJnZ1NDQmVRUUZCQkVFQUVDWU5BQXNMREFJTElCUVFFRUVCSVFjTElEa2dOVUVRYXlnQ0FDSUJJRjhvQWdBaUJtc2dOVUVNYXlnQ0FDQmdLQUlBSWdwcklEVkJDR3NvQWdBaUNDQUdheUExUVFScktBSUFJQXBySUFrb0FqUkJBU0FJSUFGckVCNGdPUkFqREFNTElEa1FJeUFVRUJCQkFDRUhEQUlMSURrUUkwRUFJUWNNQVF0QkFDRUhJQTRRSUNBUEVCQUxJQ1ZCSUdva0FDQUhEUUVNQlFzZ0FTRUlRUUFoRHYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNHQUFTTUFRVUJxSWh3a0FBSkFBbjhDUUNBWktBSkFCRUFnQ1NnQ0hDSVZJQWtvQWhoQm1BRnNhaUlCUVpnQmF5Z0NBQ0VhSUFGQmtBRnJLQUlBSVJzZ0ZTZ0NCQ0VNSUJVb0Fnd2hlaUFWS0FJQUlSQWdGU2dDQ0NFVFFRRWhCeUFaS0FJc0loOG9BZ1FoS3lBSVFRRkdEUU5CQUNFR0lBaEJBV3NpRmlFSUlCVWhBUUpBSUJaQkJFOEVRQ0FXUVFOeElRZ2dBU0FXUVh4eElncEJtQUZzYWlFQlFRQWhCd05BSUlBQklCVWdCMEdZQVd4cUlnWkI2QVJxSUFaQjBBTnFJQVpCdUFKcUlBYjlDUUtnQWYxV0FnQUIvVllDQUFMOVZnSUFBeUFHUWVBRWFpQUdRY2dEYWlBR1FiQUNhaUFHL1FrQ21BSDlWZ0lBQWYxV0FnQUMvVllDQUFQOXNRSDl1UUVnQmtIc0JHb2dCa0hVQTJvZ0JrRzhBbW9nQnYwSkFxUUIvVllDQUFIOVZnSUFBdjFXQWdBRElBWkI1QVJxSUFaQnpBTnFJQVpCdEFKcUlBYjlDUUtjQWYxV0FnQUIvVllDQUFMOVZnSUFBLzJ4QWYyNUFTR0FBU0FIUVFScUlnY2dDa2NOQUFzZ2dBRWdnQUVnZ0FIOURRZ0pDZ3NNRFE0UEFBRUNBd0FCQWdQOXVRRWlnQUVnZ0FFZ2dBSDlEUVFGQmdjQUFRSURBQUVDQXdBQkFnUDl1UUg5R3dBaEJpQUtJQlpHRFFFTEEwQWdCaUFCS0FLZ0FTQUJLQUtZQVdzaUJ5QUdJQWRMR3lJSElBRW9BcVFCSUFFb0Fwd0JheUlHSUFZZ0Iwa2JJUVlnQVVHWUFXb2hBU0FJUVFGcklnZ05BQXNMUVFBaEJ5QUdRZi8vL3o5TERRTWdIQ0FHUVFWMElrWVFHQ0lCTmdJZ0lBRkZEUU1nSENBQk5nSUFJQlpGQkVCQkFTRUhJQUVRRUF3RUN5QjZJQXhySVE4Z0V5QVFheUVPUVFJZ0swRUJkaUlCSUFGQkFrMGJJVWNnQ1NnQ0pDSUtJQnRCSEd3aVRTQWFRUnhzSWw5cmFpRXZJQW9nRzBFWWJDSmdJQnBCR0d3aVVtdHFJVDBnQ2lBYlFSUnNJbE1nR2tFVWJDSlVhMm9oUGlBS0lCdEJCSFFpVlNBYVFRUjBJbFpyYWlFL0lBb2dHMEVNYkNKWElCcEJER3dpV0d0cUlUZ2dHeUFhYXlJUVFRZHNJVWtnRUVFR2JDRkZJQkJCQld3aE1pQVFRUU5zSVVnZ0VFRUJkQ0ZRSUFvZ0VFRURkQ0pSYWlGQ0lBb2dFRUVDZENKQmFpRVVJQkJCQlhRaFdTQVEvUkVoaEFFRFFDQWNJQTgyQWdnZ0hDQU9JZ0UyQWlnZ0ZTZ0NuQUVoSkNBVktBS2tBU0VwSUJVb0FxQUJJUjRnRlNnQ21BRWhJQ0FjUVFBMkFqZ2dIQ0FCTmdJMElCeEJBRFlDTUNBY0lDQkJBbThpR0RZQ0xDQWNJQjRnSUdzaURpQUJheUlUTmdJOElCd2dFellDSkFKQUlDdEJBa2dpV2tVZ0tTQWtheUlQUVE5TGNVVUVRRUVBSVFjZ0NpRUdJQTlCQ0VrTkFTQS9JQVlnVXlBZVFRSjBJZ0ZxSUZRZ0lFRUNkQ0lJYW10cUlqcEpJRDRnQmlBQklGVnFJQWdnVm1wcmFpSkRTWEVnUFNCRFNTQS9JQVlnQVNCZ2FpQUlJRkpxYTJvaVBFbHhjaUF2SUVOSklEOGdCaUFCSUUxcUlBZ2dYMnByYWlKRVNYRnlJVnNnUFNCRVNTQXZJRHhKY1NGY0lENGdSRWtnTHlBNlNYRWhYU0E4SUQ1TElEb2dQVXR4SVY0Z1FpQUdJQUVnVjJvZ0NDQllhbXRxSWtwSklEZ2dCaUFCSUZGcUlBaHJhaUpMU1hFaFlTQVVJRXBKSURnZ0JpQWJJQjVxSUJvZ0lHcHJRUUowYWlKTVNYRWhZaUFVSUV0SklFSWdURWx4SVdNZ0JpQUJJQWhyYWlFcUlBNUJmSEVoQ0NBY0tBSWdJaE1nRGtFRmRHb2lFVUVRYXlFbElCRkJGR3NoTENBUlFSaHJJUzRnRVVFY2F5RTJJQkZCQkdzaE9TQVJRUWhySVRzZ0VVRU1heUUwUVFBaEdDQVRRUXhxSWlNZ0hpQWdRWDl6YWlJTVFRVjBJZ0ZxSUNOSklBeEIvLy8vUDBzaURDQVRRUVJxSWlFZ0FXb2dJVWtnQVNBVGFpQVRTWEp5SUJOQkNHb2lJaUFCYWlBaVNYSnlJQTVCeUFKSmNpRmtJQk5CRkdvaUtDQUJhaUFvU1NBVFFSQnFJaWNnQVdvZ0owbHlJQXh5SUJOQkdHb2lNQ0FCYWlBd1NYSWdFMEVjYWlJdElBRnFJQzFKY2lBT1FkUUFTWEloWlFOQUlBY2hEQ0FjUVNCcUlnRWdCaUFRUVFnUU95QUJFQ0lDUUNBT1JRMEFJQmdnV1d3aEIwRUFJUUVDUUFKQUlHUU5BQ0JoSUFZZ05ra2dFeUFISUNwcUlqZEpjU0FHSUFjZ1Ntb2lFa2tnS2lBNFMzRWdGQ0FxU1NBR0lBY2dUR29pSmtseElBWWdCeUJMYWlJMVNTQXFJRUpMY1hKeWNpQUdJQzVKSUNFZ04wbHhjaUFHSUN4SklDSWdOMGx4Y2lBR0lDVkpJQ01nTjBseGNpQmpjaUJpY2lBVElDWkpJQWNnRkdvaU55QTJTWEZ5SUNFZ0pra2dMaUEzUzNGeUlDSWdKa2tnTENBM1MzRnlJQ01nSmtrZ0pTQTNTM0Z5Y2cwQUlCTWdOVWtnQnlCQ2FpSW1JRFpKY1EwQUlDRWdOVWtnSmlBdVNYRU5BQ0FpSURWSklDWWdMRWx4RFFBZ0l5QTFTU0FsSUNaTGNRMEFJQWNnT0dvaUppQTJTU0FTSUJOTGNRMEFJQ1lnTGtrZ0VpQWhTM0VOQUNBbUlDeEpJQklnSWt0eERRQWdFaUFqU3lBbElDWkxjUTBBQTBBZ0JpQUJRUUowYWlBVElBRkJCWFJxSWhMOUNRSUFJQklxQWlEOUlBRWdFa0ZBYXlvQ0FQMGdBaUFTS2dKZy9TQUQvUXNDQUNBR0lBRWdFR3BCQW5ScUlCTDlDUUlFSUJJcUFpVDlJQUVnRWlvQ1JQMGdBaUFTS2dKay9TQUQvUXNDQUNBR0lBRWdVR3BCQW5ScUlCTDlDUUlJSUJJcUFpajlJQUVnRWlvQ1NQMGdBaUFTS2dKby9TQUQvUXNDQUNBR0lBRWdTR3BCQW5ScUlCTDlDUUlNSUJJcUFpejlJQUVnRWlvQ1RQMGdBaUFTS2dKcy9TQUQvUXNDQUNBQlFRUnFJZ0VnQ0VjTkFBc2dDQ0lCSUE1R0RRRUxBMEFnQmlBQlFRSjBhaUFUSUFGQkJYUnFJaElxQWdBNEFnQWdCaUFCSUJCcVFRSjBhaUFTS2dJRU9BSUFJQVlnQVNCUWFrRUNkR29nRWlvQ0NEZ0NBQ0FHSUFFZ1NHcEJBblJxSUJJcUFndzRBZ0FnQVVFQmFpSUJJQTVIRFFBTEMwRUFJUUVDUUNCbERRQWdYQ0FISUQ1cUloSWdORWtnSnlBSElEcHFJaVpKY1NCYklBY2dQMm9pTlNBMFNTQW5JQWNnUTJvaU4wbHhjaUFvSURkSklEVWdPMGx4Y2lBd0lEZEpJRFVnT1VseGNpQXRJRGRKSUJFZ05VdHhjaUJlY2lCZGNuSWdFaUE3U1NBbUlDaExjWElnRWlBNVNTQW1JREJMY1hJZ0ppQXRTeUFSSUJKTGNYSnlEUUFnQnlBOWFpSVNJRFJKSUNjZ0J5QThhaUltU1hFTkFDQVNJRHRKSUNZZ0tFdHhEUUFnRWlBNVNTQW1JREJMY1EwQUlDWWdMVXNnRVNBU1MzRU5BQ0FISUM5cUloSWdORWtnSnlBSElFUnFJZ2RKY1EwQUlCSWdPMGtnQnlBb1MzRU5BQ0FTSURsSklBY2dNRXR4RFFBZ0J5QXRTeUFSSUJKTGNRMEFBMEFnQmlBQklFRnFRUUowYWlBVElBRkJCWFJxSWdmOUNRSVFJQWNxQWpEOUlBRWdCeW9DVVAwZ0FpQUhLZ0p3L1NBRC9Rc0NBQ0FHSUFFZ01tcEJBblJxSUFmOUNRSVVJQWNxQWpUOUlBRWdCeW9DVlAwZ0FpQUhLZ0owL1NBRC9Rc0NBQ0FHSUFFZ1JXcEJBblJxSUFmOUNRSVlJQWNxQWpqOUlBRWdCeW9DV1AwZ0FpQUhLZ0o0L1NBRC9Rc0NBQ0FHSUFFZ1NXcEJBblJxSUFmOUNRSWNJQWNxQWp6OUlBRWdCeW9DWFAwZ0FpQUhLZ0o4L1NBRC9Rc0NBQ0FCUVFScUlnRWdDRWNOQUFzZ0NDSUJJQTVHRFFFTEEwQWdCaUFCSUVGcVFRSjBhaUFUSUFGQkJYUnFJZ2NxQWhBNEFnQWdCaUFCSURKcVFRSjBhaUFIS2dJVU9BSUFJQVlnQVNCRmFrRUNkR29nQnlvQ0dEZ0NBQ0FHSUFFZ1NXcEJBblJxSUFjcUFodzRBZ0FnQVVFQmFpSUJJQTVIRFFBTEN5QVlRUUZxSVJnZ0RFRUlhaUVISUFZZ1VVRUNkR29oQmlBTVFROXFJQTlKRFFBTERBRUxJQThnRDBFRGRpSUhJQ3NnQnlBclNSc2lFbTVCZUhFaEVTQVBRWGh4SVFkQkFDRUlJQW9oQmdOQVFUQVFGQ0lNUlEwRUlBd2dSaEFZSWlNMkFnQWdJMFVFUUNBZkVDQWdEQkFRUVFBTUJnc2dEQ0FHTmdJb0lBd2dFRFlDSkNBTUlBNDJBaUFnRENBVE5nSWNJQXhCQURZQ0dDQU1JQUUyQWhRZ0RFRUFOZ0lRSUF3Z0dEWUNEQ0FNSUFFMkFnZ2dEQ0FUTmdJRUlBd2dCeUFJSUJGc2F5QVJJQWhCQVdvaUNDQVNSaHNpSXpZQ0xDQWZRUXdnREJBdElBWWdFQ0FqYkVFQ2RHb2hCaUFJSUJKSERRQUxJQjhRSUFzQ1FDQUhJQTlQRFFBZ0hFRWdhaUlCSUFZZ0VDQVBJQWRySWhnUU95QUJFQ0lnRGtVTkFDQWNLQUlnSWlNZ0hrRUZkRUVCSUJnZ0dFRUJUUnNpRWtFQ2RHb2dJRUVGZEd0cVFTQnJJUjRnRWtFRGNTRWdJQkpCZkhFaERDQkJJQkpCQVd0c0lTRkJBQ0VJQTBBZ0l5QUlRUVYwYWlFVFFRQWhCd0pBQWtBZ0dFRUVTUTBBSUI0Z0JpQUlRUUowSWhGcUlnRWdCaUFSSUNGcWFpSVJJQUVnRVVrYlN3UkFJQ01nQVNBUklBRWdFVXNiUVFScVNRMEJDeUFJL1JFaGdRSDlEQUFBQUFBQkFBQUFBZ0FBQUFNQUFBQWhnQUZCQUNFQkEwQWdCaUNBQVNDRUFmMjFBU0NCQWYydUFTS0NBZjBiQUVFQ2RHb2dFeUFCUVFKMGF2MEFBZ0FpZ3dIOUh3QTRBZ0FnQmlDQ0FmMGJBVUVDZEdvZ2d3SDlId0U0QWdBZ0JpQ0NBZjBiQWtFQ2RHb2dnd0g5SHdJNEFnQWdCaUNDQWYwYkEwRUNkR29nZ3dIOUh3TTRBZ0FnZ0FIOURBUUFBQUFFQUFBQUJBQUFBQVFBQUFEOXJnRWhnQUVnQVVFRWFpSUJJQXhIRFFBTElBd2lCeUFTUmcwQkMwRUFJUkVnQnlFQklDQUVRQU5BSUFZZ0FTQVFiQ0FJYWtFQ2RHb2dFeUFCUVFKMGFpb0NBRGdDQUNBQlFRRnFJUUVnRVVFQmFpSVJJQ0JIRFFBTEN5QUhJQkpyUVh4TERRQURRQ0FHSUFFZ0VHd2dDR3BCQW5ScUlCTWdBVUVDZEdvcUFnQTRBZ0FnQmlBQlFRRnFJZ2NnRUd3Z0NHcEJBblJxSUJNZ0IwRUNkR29xQWdBNEFnQWdCaUFCUVFKcUlnY2dFR3dnQ0dwQkFuUnFJQk1nQjBFQ2RHb3FBZ0E0QWdBZ0JpQUJRUU5xSWdjZ0VHd2dDR3BCQW5ScUlCTWdCMEVDZEdvcUFnQTRBZ0FnR0NBQlFRUnFJZ0ZIRFFBTEN5QUlRUUZxSWdnZ0RrY05BQXNMSUJ3Z0R5QWNLQUlJSWd4ckloTTJBZ1FnRlNnQ25BRWhBU0FjUVFBMkFoQWdIQ0FNTmdJVUlCeEJBRFlDR0NBY0lCTTJBaHdnSENBQlFRSnZJaGcyQWd3Q1FDQmFSU0FPUVE5TGNVVUVRQ0FLSVFFZ0RrRUlTUTBCSUE5QmZuRWhJU0FQUVFGeElTSWdFMEYrY1NFb0lCTkJBWEVoSnlBTVFYNXhJVEFnREVFQmNTRXRJQ2tnSkVGL2Myb2hJeUFjS0FJQUloSWdHRUVGZENJSGFpRWdJQklnQjJ0QklHb2hIaUFNSUJCc1FRSjBJU29nRGlFSUEwQkJBQ0VHUVFBaEJ3SkFBa0FDUUNBTURnSUNBUUFMQTBBZ0lDQUdRUVowYWlJUklBRWdCaUFRYkVFQ2RHb2lKZjBBQWdEOUN3SUFJQkVnSmYwQUFoRDlDd0lRSUNBZ0JrRUJjaUlSUVFaMGFpSWxJQUVnRUNBUmJFRUNkR29pRWYwQUFoRDlDd0lRSUNVZ0VmMEFBZ0Q5Q3dJQUlBWkJBbW9oQmlBSFFRSnFJZ2NnTUVjTkFBc0xJQzFGRFFBZ0lDQUdRUVowYWlJSElBRWdCaUFRYkVFQ2RHb2lCdjBBQWdEOUN3SUFJQWNnQnYwQUFoRDlDd0lRQ3dKQUlBd2dEMFlOQUNBQklDcHFJUWRCQUNFR1FRQWhFU0FNSUNOSEJFQURRQ0FlSUFaQkJuUnFJaVVnQnlBR0lCQnNRUUowYWlJcy9RQUNBUDBMQWdBZ0pTQXMvUUFDRVAwTEFoQWdIaUFHUVFGeUlpVkJCblJxSWl3Z0J5QVFJQ1ZzUVFKMGFpSWwvUUFDRVAwTEFoQWdMQ0FsL1FBQ0FQMExBZ0FnQmtFQ2FpRUdJQkZCQW1vaUVTQW9SdzBBQ3dzZ0owVU5BQ0FlSUFaQkJuUnFJaEVnQnlBR0lCQnNRUUowYWlJSC9RQUNBUDBMQWdBZ0VTQUgvUUFDRVAwTEFoQUxJQndRSWdKQUlBOUZEUUJCQUNFR1FRQWhCeUFqQkVBRFFDQUJJQVlnRUd4QkFuUnFJaEVnRWlBR1FRVjBhaUlsL1FBQ0FQMExBZ0FnRVNBbC9RQUNFUDBMQWhBZ0FTQUdRUUZ5SWhFZ0VHeEJBblJxSWlVZ0VpQVJRUVYwYWlJUi9RQUNFUDBMQWhBZ0pTQVIvUUFDQVAwTEFnQWdCa0VDYWlFR0lBZEJBbW9pQnlBaFJ3MEFDd3NnSWtVTkFDQUJJQVlnRUd4QkFuUnFJZ2NnRWlBR1FRVjBhaUlHL1FBQ0FQMExBZ0FnQnlBRy9RQUNFUDBMQWhBTElBRkJJR29oQVNBSVFRaHJJZ2hCQjBzTkFBc01BUXRCQVNBT1FRTjJJZ0VnUnlBQklFZEpHeUlJSUFoQkFVMGJJUkVnRGlBSWJrRjRjU0VTSUE1QmVIRWhJRUVBSVFjZ0NpRUJBMEJCTUJBVUlnWkZEUVFnQmlCR0VCZ2lIallDQUNBZVJRUkFJQjhRSUNBR0VCQkJBQXdHQ3lBR0lBRTJBaWdnQmlBUU5nSWtJQVlnRHpZQ0lDQUdJQk0yQWh3Z0JrRUFOZ0lZSUFZZ0REWUNGQ0FHUVFBMkFoQWdCaUFZTmdJTUlBWWdERFlDQ0NBR0lCTTJBZ1FnQmlBZ0lBY2dFbXhySUJJZ0IwRUJhaUlISUFoR0d5SWVOZ0lzSUI5QkRTQUdFQzBnQVNBZVFRSjBhaUVCSUFjZ0VVY05BQXNnSHhBZ0N3SkFJQTVCQjNFaUVrVU5BQ0FZUVFWMElTQWdIQ2dDQUNFSUFrQWdERVVOQUNBSUlDQnFJUkVnRWtFQ2RDRVlRUUFoQmlBTVFRRkhCRUFnREVGK2NTRWVRUUFoQndOQUlCRWdCa0VHZEdvZ0FTQUdJQkJzUVFKMGFpQVlFQklhSUJFZ0JrRUJjaUlqUVFaMGFpQUJJQkFnSTJ4QkFuUnFJQmdRRWhvZ0JrRUNhaUVHSUFkQkFtb2lCeUFlUncwQUN3c2dERUVCY1VVTkFDQVJJQVpCQm5ScUlBRWdCaUFRYkVFQ2RHb2dHQkFTR2dzQ1FDQU1JQTlHRFFBZ0NDQWdhMEVnYWlFSElBRWdEQ0FRYkVFQ2RHb2hFU0FTUVFKMElSaEJBQ0VHSUF3Z0tTQWtRWDl6YWtjRVFDQVRRWDV4SVNCQkFDRU1BMEFnQnlBR1FRWjBhaUFSSUFZZ0VHeEJBblJxSUJnUUVob2dCeUFHUVFGeUloNUJCblJxSUJFZ0VDQWViRUVDZEdvZ0dCQVNHaUFHUVFKcUlRWWdERUVDYWlJTUlDQkhEUUFMQ3lBVFFRRnhSUTBBSUFjZ0JrRUdkR29nRVNBR0lCQnNRUUowYWlBWUVCSWFDeUFjRUNJZ0QwVU5BQ0FTUVFKMElRZEJBQ0VHSUNSQkFXb2dLVWNFUUNBUFFYNXhJUXhCQUNFUkEwQWdBU0FHSUJCc1FRSjBhaUFJSUFaQkJYUnFJQWNRRWhvZ0FTQUdRUUZ5SWhNZ0VHeEJBblJxSUFnZ0UwRUZkR29nQnhBU0dpQUdRUUpxSVFZZ0VVRUNhaUlSSUF4SERRQUxDeUFQUVFGeFJRMEFJQUVnQmlBUWJFRUNkR29nQ0NBR1FRVjBhaUFIRUJJYUN5QVZRWmdCYWlFVklCWkJBV3NpRmcwQUMwRUJEQUlMUVFFaEJ5QUpLQUljSWd3Z0NFR1lBV3hxSWlOQm1BRnJJaThvQWdBZ0kwR1FBV3NvQWdCR0RRSWdJMEdVQVdzaVBTZ0NBQ0FqUVl3QmF5Z0NBRVlOQWlBTUtBSUVJUThnRENnQ0RDRVdJQXdvQWdBaEVDQU1LQUlJSVJNZ0NTZ0NSQ0VTSUFrb0FrQWhFU0FKS0FJOElSb2dDU2dDT0NFZklBa2dDQkJjSWg1RkJFQkJBQ0VIREFNTElBaEJBVVlFUUNBZUlDTkJFR3NvQWdBaUFTQXZLQUlBSWdacklDTkJER3NvQWdBZ1BTZ0NBQ0lLYXlBalFRaHJLQUlBSWdnZ0Jtc2dJMEVFYXlnQ0FDQUtheUFKS0FJMFFRRWdDQ0FCYXhBZUlCNFFJd3dEQzBFQUlRWUNRQUpBSUFoQkFXc2lDa0VFU1FSQUlBb2hCeUFNSVFFTUFRc2dDa0VEY1NFSElBd2dDa0Y4Y1NJVlFaZ0JiR29oQVFOQUlJQUJJQXdnRGtHWUFXeHFJZ1pCNkFScUlBWkIwQU5xSUFaQnVBSnFJQWI5Q1FLZ0FmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQXlBR1FlQUVhaUFHUWNnRGFpQUdRYkFDYWlBRy9Ra0NtQUg5VmdJQUFmMVdBZ0FDL1ZZQ0FBUDlzUUg5dVFFZ0JrSHNCR29nQmtIVUEyb2dCa0c4QW1vZ0J2MEpBcVFCL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJQVpCNUFScUlBWkJ6QU5xSUFaQnRBSnFJQWI5Q1FLY0FmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQS8yeEFmMjVBU0dBQVNBT1FRUnFJZzRnRlVjTkFBc2dnQUVnZ0FFZ2dBSDlEUWdKQ2dzTURRNFBBQUVDQXdBQkFnUDl1UUVpZ0FFZ2dBRWdnQUg5RFFRRkJnY0FBUUlEQUFFQ0F3QUJBZ1A5dVFIOUd3QWhCaUFLSUJWR0RRRUxBMEFnQmlBQktBS2dBU0FCS0FLWUFXc2lDaUFHSUFwTEd5SUdJQUVvQXFRQklBRW9BcHdCYXlJS0lBWWdDa3NiSVFZZ0FVR1lBV29oQVNBSFFRRnJJZ2NOQUFzTEFrQWdCa0dBZ0lEQUFFOE5BQ0FjSUFaQkJYUVFHQ0loTmdJZ0lDRkZEUUFnSENBaE5nSUFBa0FnQ0FSQUlCWWdEMnNoQ2lBVElCQnJJUVlnSVVFZ2FpRStJQWl0SVljQklCS3RJWW9CSUJHdElZc0JJQnF0SVlnQklCK3RJWXdCSUFrb0FoUWlRcTBoalFGQ0FTR0dBUU5BSUJ3Z0NqWUNDQ0FjSUFZMkFpZ2dEQ2dDcEFFaEJ5QU1LQUtnQVNFSUlBd29BcHdCSVFFZ0hDQU1LQUtZQVNJVlFRSnZJaUkyQWl3Z0hDQUJRUUp2SWo4MkFnd2dIQ0FJSUJWcklpQWdCbXNpS0RZQ0pDQWNJQWNnQVdzaUV5QUtheUk0TmdJRUlCOGlGaUVJSUJvaUFTRU9JQkVpQnlFWUlCSWlGU0VQQWtBZ2hnRWdqUUZSRFFBZ1FpQ0dBYWRySVJCQkFDRU9RUUFoQ0NBV0JFQkNmeUFRclNLSkFZWkNmNFVnakFGOElJa0JpS2NoQ0FzZ0dnUkFRbjhnRUswaWlRR0dRbitGSUlnQmZDQ0pBWWluSVE0TFFRQWhGVUVBSVFjZ0VRUkFRbjhnRUswaWlRR0dRbitGSUlzQmZDQ0pBWWluSVFjTElCSUVRRUovSUJDdElva0Joa0ovaFNDS0FYd2dpUUdJcHlFVkMwRUFJUmhCQUNFV1FRRWdFRUVCYTNRaUd5QWZTUVJBSUI4Z0cydXRRbjhnRUswaWlRR0dRbitGZkNDSkFZaW5JUllMSUJFZ0cwc0VRQ0FSSUJ0cnJVSi9JQkN0SW9rQmhrSi9oWHdnaVFHSXB5RVlDMEVBSVE5QkFDRUJJQm9nRzBzRVFDQWFJQnRyclVKL0lCQ3RJb2tCaGtKL2hYd2dpUUdJcHlFQkN5QVNJQnRORFFBZ0VpQWJhNjFDZnlBUXJTS0pBWVpDZjRWOElJa0JpS2NoRHd0QmZ5QVlJQXdvQXJRQkloQnJJaHRCQUNBWUlCdFBHeUlZUVFScUloc2dHQ0FiU3hzaUdDQW9JQmdnS0VrYklpMUJmeUFISUF3b0F0Z0JJaGhySWh0QkFDQUhJQnRQR3lJSFFRUnFJaHNnQnlBYlN4c2lCeUFHSUFZZ0Iwc2JJaXNnSWh0QkFYUWlCeUFySUMwZ0lodEJBWFJCQVhJaUd5QUhJQnRMR3lJb0lDQkpJUlFnRmlBUWF5SUhRUUFnQnlBV1RSc2lCMEVFYXlJV1FRQWdCeUFXVHhzaUp5QUlJQmhySWdkQkFDQUhJQWhOR3lJSFFRUnJJZ2hCQUNBSElBaFBHeUl3SUNJYlFRRjBJaGdnTUNBbklDSWJRUUYwUVFGeUlpUkpJU2tnRGlBTUtBSzRBU0lXYXlJSFFRQWdCeUFPVFJzaUIwRUVheUlJUVFBZ0J5QUlUeHNpQ0NFUUlBRWdEQ2dDM0FFaURtc2lCMEVBSUFFZ0IwOGJJZ0ZCQkdzaUIwRUFJQUVnQjA4YklnRWhCMEYvSUJVZ0Ztc2lGa0VBSUJVZ0ZrOGJJaFZCQkdvaUZpQVZJQlpMR3lJVklBb2dDaUFWU3hzaUZpRVZRWDhnRHlBT2F5SU9RUUFnRGlBUFRSc2lEa0VFYWlJUElBNGdEMHNiSWc0Z09DQU9JRGhKR3lJYklROGdQd1JBSUFFaEVDQVdJUThnR3lFVklBZ2hCd3NnS0NBZ0lCUWJJU2dnR0NBa0lDa2JJUmdnSENBdE5nSThJQndnSnpZQ09DQWNJQ3MyQWpRZ0hDQXdOZ0l3QWtBZ0UwRUlTUVJBUVFjaEJrRUFJUTRNQVFzZ1BpQWlRUVYwSWc1cklDZEJCblJxSVRnZ0RpQWhhaUF3UVFaMGFpRVVJQVlnTFdvaExTQUdJQ2RxSVNjZ0NpQWJhaUVrSUFFZ0Ntb2hLU0FoSUJoQkJYUnFJU3BCQUNFT0EwQUNRQUpBSUE0Z0Zra2dEa0VIY2lJR0lBaFBjUTBBSUE0Z0pFa2dCaUFwVDNFTkFDQU9RUWhxSVE0TUFRdEJDQ0FUSUE1cklnWWdCa0VJVHhzaEpVRUFJUVlEUUNBZUlEQWdCaUFPYWlJaUlDc2dJa0VCYWlJc0lCUWdCa0VDZENJdWFrRVFRUUFRSGlBZUlDY2dJaUF0SUN3Z0xpQTRha0VRUVFBUUhpQUdRUUZxSWdZZ0pVY05BQXNnSEVFZ2FoQWlJQjRnR0NBT0lDZ2dEa0VJYWlJT0lDcEJDRUVCUVFBUUprVU5CUXNnRGtFSGNpSUdJQk5KRFFBTEN3SkFJQTRnRTA4TkFDQU9JQlpKSUFZZ0NFOXhSUVJBSUE0Z0NpQWJhazhOQVNBR0lBRWdDbXBKRFFFTElCeEJJR29oQmtFQUlTSWdFeUFPYXlJd0JFQURRQ0FlSUFZb0FoQWlMU0FPSUNKcUlpY2dCaWdDRkNBblFRRnFJaXNnSWtFQ2RDSTRJQVlvQWdBZ0JpZ0NERUVGZEdvZ0xVRUdkR3BxUVJCQkFCQWVJQjRnQmlnQ0dDSXRJQVlvQWdnaUZHb2dKeUFHS0FJY0lCUnFJQ3NnQmlnQ0FDQUdLQUlNUVFWMGF5QXRRUVowYWlBNGFrRWdha0VRUVFBUUhpQWlRUUZxSWlJZ01FY05BQXNMSUFZUUlpQWVJQmdnRGlBb0lCTWdJU0FZUVFWMGFrRUlRUUZCQUJBbVJRMERDeUFjSUJzMkFod2dIQ0FCTmdJWUlCd2dGallDRkNBY0lBZzJBaEFnR0NBb1NRUkFJQlZCQVhRaUJpQVBRUUYwUVFGeUloVWdCaUFWU3hzaUJpQVRJQVlnRTBrYklRWWdQaUEvUVFWMEloVnJJQUZCQm5ScUlRNGdGU0FoYWlBSVFRWjBhaUVWSUFvZ0cyb2hEeUFCSUFwcUlRb2dJU0FRUVFGMElnRWdCMEVCZEVFQmNpSUhJQUVnQjBrYklnZEJCWFJxSVJBRFFDQWVJQmdnQ0VFSUlDZ2dHR3NpQVNBQlFRaFBHeUFZYWlJQklCWWdGVUVCUVJBUUhpQWVJQmdnQ2lBQklBOGdEa0VCUVJBUUhpQWNFQ0lnSGlBWUlBY2dBU0FHSUJCQkFVRUlRUUFRSmtVTkJDQVlRUWhxSWhnZ0tFa05BQXNMSUF4Qm1BRnFJUXdnSUNFR0lCTWhDaUNHQVVJQmZDS0dBU0NIQVZJTkFBc0xRUUVoQnlBZUlDTkJFR3NvQWdBaUFTQXZLQUlBSWdacklDTkJER3NvQWdBZ1BTZ0NBQ0lLYXlBalFRaHJLQUlBSWdnZ0Jtc2dJMEVFYXlnQ0FDQUtheUFKS0FJMFFRRWdDQ0FCYXhBZUlCNFFJeUFoRUJBTUJBc2dIaEFqSUNFUUVFRUFJUWNNQXdzZ0hoQWpRUUFoQnd3Q0N5QWZFQ0JCQUFzaEJ5QWNLQUlnRUJBTElCeEJRR3NrQUNBSERRQU1CQXNnSFVHNENHb2hIU0FOUVRScUlRMGdDVUhNQUdvaENTQUxRUUZxSWdzZ0Z5Z0NFRWtOQUFzZ0dTZ0NJQ0VkSUJrb0FoUW9BZ0FoRndzQ1FDQWRLQUlRSWdsRkRRQWdHU2dDUkEwQUlCY29BaFFpRFNnQ0hDRUJBa0FDUUFKQUlCa29Ba0FpQmdSQUlCY29BaEFpQzBFRFNRMENBa0FnRFNnQ0dDSUhJQTBvQW1SR0JFQWdCeUFOS0FLd0FVWU5BUXNnTTBFQlFkVEtBRUVBRUE4TUJ3c0NRQ0FaS0FJWUtBSVlJZ29vQWlRaUNDQUtLQUpZUncwQUlBZ2dDaWdDakFGSERRQWdBU0FIUVpnQmJDSUthaUlCUVl3QmF5Z0NBQ0FCUVpRQmF5Z0NBR3NnQVVHUUFXc29BZ0FnQVVHWUFXc29BZ0JyYkNJQklBMG9BbWdnQ21vaUIwR01BV3NvQWdBZ0IwR1VBV3NvQWdCcklBZEJrQUZyS0FJQUlBZEJtQUZyS0FJQWEyeEhEUUFnRFNnQ3RBRWdDbW9pQjBHTUFXc29BZ0FnQjBHVUFXc29BZ0JySUFkQmtBRnJLQUlBSUFkQm1BRnJLQUlBYTJ3Z0FVWU5BZ3NnTTBFQlFkVEtBRUVBRUE4TUJnc2dGeWdDRUNJTFFRTkpEUUVDUUNBWktBSVlLQUlZSWdjb0FpUWlDaUFIS0FKWVJ3MEFJQW9nQnlnQ2pBRWlDRWNOQUNBQklBcEJtQUZzSWdkcUlnRW9BcFFCSUFFb0Fvd0JheUFCS0FLUUFTQUJLQUtJQVd0c0lnRWdCeUFOS0FKb2FpSUhLQUtVQVNBSEtBS01BV3NnQnlnQ2tBRWdCeWdDaUFGcmJFY05BQ0FOS0FLMEFTQUlRWmdCYkdvaUJ5Z0NsQUVnQnlnQ2pBRnJJQWNvQXBBQklBY29Bb2dCYTJ3Z0FVWU5BUXNnTTBFQlFkVEtBRUVBRUE4TUJRc2dDVUVDUmdSQUlCMG9BdWdyUlEwRElBdEJBblFRRkNJTFJRMEZJQmNvQWhBaUNFVU5BaUFaS0FKQUJFQkJBQ0VYQWtBZ0NFRU1TUVJBUVFBaEJnd0JDeUFOUVNScUlRb0NRQ0FMSUEwZ0NFSE1BR3hxUVNSclR3MEFJQW9nQ3lBSVFRSjBhazhOQUVFQUlRWU1BUXNnRFVHSUFtb2hEQ0FOUWJ3QmFpRVZJQTFCOEFCcUlRNGdEU0FJUVh4eElnWkJ6QUJzYWlFTlFRQWhDUU5BSUFzZ0NVRUNkR29nRENBSlFjd0FiQ0lIYWlBSElCVnFJQWNnRG1vZ0J5QUthdjBKQWdEOVZnSUFBZjFXQWdBQy9WWUNBQVA5Q3dJQUlBbEJCR29pQ1NBR1J3MEFDeUFHSUFoR0RRUUxBa0FnQ0VFRGNTSUhSUVJBSUFZaENRd0JDeUFHSVFrRFFDQUxJQWxCQW5ScUlBMG9BaVEyQWdBZ0NVRUJhaUVKSUExQnpBQnFJUTBnRjBFQmFpSVhJQWRIRFFBTEN5QUdJQWhyUVh4TERRTWdDMEVNYWlFR0lBdEJDR29oQ2lBTFFRUnFJUXdEUUNBTElBbEJBblFpQjJvZ0RTZ0NKRFlDQUNBSElBeHFJQTBvQW5BMkFnQWdCeUFLYWlBTktBSzhBVFlDQUNBR0lBZHFJQTBvQW9nQ05nSUFJQTFCc0FKcUlRMGdDVUVFYWlJSklBaEhEUUFMREFNTFFRQWhGd0pBSUFoQkRFa0VRRUVBSVFZTUFRc2dEVUUwYWlFS0FrQWdDeUFOSUFoQnpBQnNha0VVYTA4TkFDQUtJQXNnQ0VFQ2RHcFBEUUJCQUNFR0RBRUxJQTFCbUFKcUlRd2dEVUhNQVdvaEZTQU5RWUFCYWlFT0lBMGdDRUY4Y1NJR1Fjd0FiR29oRFVFQUlRa0RRQ0FMSUFsQkFuUnFJQXdnQ1VITUFHd2lCMm9nQnlBVmFpQUhJQTVxSUFjZ0NtcjlDUUlBL1ZZQ0FBSDlWZ0lBQXYxV0FnQUQvUXNDQUNBSlFRUnFJZ2tnQmtjTkFBc2dCaUFJUmcwREN3SkFJQWhCQTNFaUIwVUVRQ0FHSVFrTUFRc2dCaUVKQTBBZ0N5QUpRUUowYWlBTktBSTBOZ0lBSUFsQkFXb2hDU0FOUWN3QWFpRU5JQmRCQVdvaUZ5QUhSdzBBQ3dzZ0JpQUlhMEY4U3cwQ0lBdEJER29oQmlBTFFRaHFJUW9nQzBFRWFpRU1BMEFnQ3lBSlFRSjBJZ2RxSUEwb0FqUTJBZ0FnQnlBTWFpQU5LQUtBQVRZQ0FDQUhJQXBxSUEwb0Fzd0JOZ0lBSUFZZ0Iyb2dEU2dDbUFJMkFnQWdEVUd3QW1vaERTQUpRUVJxSWdrZ0NFY05BQXNNQWdzZ0hTZ0MwQ3NvQWhSQkFVWUVRQ0FHQkVBZ0RTZ0NKQ0FOS0FKd0lBMG9BcndCSUFFUVh3d0VDeUFOS0FJMElBMG9Bb0FCSUEwb0Fzd0JJQUVRWHd3REN5QUdCRUFnRFNnQ0pDQU5LQUp3SUEwb0Fyd0JJQUVRWGd3REN5QU5LQUkwSUEwb0FvQUJJQTBvQXN3QklBRVFYZ3dDQ3lCQUlBczJBZ0FnTTBFQlFaSExBQ0JBRUE4TUFRc2dHU2dDR0NnQ0dDZ0NJQm9DZnlBZEtBTG9LeUVIUVFBaERrRUFJQWhCQTNRUUZDSU5SUTBBR2dKQUlBRkZEUUFnQ0VVTkFDQU5JQWhCQW5ScUlSTWdDRUY4Y1NFUElBaEJBM0VoRENBSVFRRnJJUkFEUUVFQUlSZEJBQ0VKSUJCQkEwOEVRQU5BSUEwZ0YwRUNkQ0lHYWlBR0lBdHFLQUlBS2dJQU9BSUFJQTBnQmtFRWNpSUthaUFLSUF0cUtBSUFLZ0lBT0FJQUlBMGdCa0VJY2lJS2FpQUtJQXRxS0FJQUtnSUFPQUlBSUEwZ0JrRU1jaUlHYWlBR0lBdHFLQUlBS2dJQU9BSUFJQmRCQkdvaEZ5QUpRUVJxSWdrZ0QwY05BQXNMUVFBaENpQU1CRUFEUUNBTklCZEJBblFpQm1vZ0JpQUxhaWdDQUNvQ0FEZ0NBQ0FYUVFGcUlSY2dDa0VCYWlJS0lBeEhEUUFMQzBFQUlRWWdCeUVYQTBBZ0V5QUdRUUowSWhKcUlnbEJBRFlDQUVNQUFBQUFJWTRCUVFBaENrRUFJUllnRUVFQ1N3UkFBMEFnQ1NBWEtnSUFJQTBnQ2tFQ2RHb2lGU29DQUpRZ2pnR1NJbzRCT0FJQUlBa2dGeW9DQkNBVktnSUVsQ0NPQVpJaWpnRTRBZ0FnQ1NBWEtnSUlJQlVxQWdpVUlJNEJraUtPQVRnQ0FDQUpJQmNxQWd3Z0ZTb0NESlFnamdHU0lvNEJPQUlBSUFwQkJHb2hDaUFYUVJCcUlSY2dGa0VFYWlJV0lBOUhEUUFMQzBFQUlSVWdEQVJBQTBBZ0NTQVhLZ0lBSUEwZ0NrRUNkR29xQWdDVUlJNEJraUtPQVRnQ0FDQUtRUUZxSVFvZ0YwRUVhaUVYSUJWQkFXb2lGU0FNUncwQUN3c2dDeUFTYWlJS0lBb29BZ0FpQ2tFRWFqWUNBQ0FLSUk0Qk9BSUFJQVpCQVdvaUJpQUlSdzBBQ3lBT1FRRnFJZzRnQVVjTkFBc0xJQTBRRUVFQkN5RjdJQXNRRUNCN1JRMENDeUFaS0FJVUtBSUFJaFlvQWhCRkJFQkJBU0V4REFJTElCa29BaUFvQXRBckloZEJ1QWhxSVJNZ0YwRzBDR29oRWlBWktBSkVJUkFnRmlnQ0ZDRUhJQmtvQWhnb0FoZ2hDa0VBSVFnRFFBSkFJQkFFUUNBUUlBaEJBblJxS0FJQVJRMEJDeUFIS0FJY0lnRWdDaWdDSkVHWUFXeHFJUXNDZnlBWktBSkFSUVJBSUFzb0FwUUJJQXNvQW93QmF5RUdJQXNvQXBBQklBc29Bb2dCYXlFQlFRQWhERUUwREFFTElBRWdCeWdDR0VHWUFXeHFJZ1pCa0FGcktBSUFJQXNvQWdnZ0N5Z0NBR3NpQVNBR1FaZ0JheWdDQUdwcklRd2dDeWdDRENBTEtBSUVheUVHUVNRTElRa2dDaWdDR0NFTEFuOGdDaWdDSUFSQVFRRWdDMEVCYTNRaUMwRUJheUVkUVFBZ0Myc01BUXRCZnlBTGRFRi9jeUVkUVFBTElROGdBVVVOQUNBR1JRMEFJQWNnQ1dvb0FnQWhDU0FYS0FJVVFRRkdCRUFnRXlBSVFiZ0liQ0lMYWlFUklBc2dFbW9oR0NBQlFRRnhJUm9nQVVFQ2RDRXpJQUZCZkhFaURrRUNkQ0ViSUIzOUVTR0NBU0FQL1JFaGdBRkJBQ0VWSUFGQkJFa2hId05BQWtBQ1FBSkFJQjhOQUNBSklCRkpJQmdnQ1NBemFrbHhEUUFnQ1NBYmFpRU5JQmY5Q1FLMENDR0RBVUVBSVFzRFFDQUpJQXRCQW5ScUlpQWdnQUVnZ3dFZ0lQMEFBZ0Q5cmdFaWhBRWdnZ0g5dGdFZ2hBRWdnQUg5T2YxUy9Rc0NBQ0FMUVFScUlnc2dEa2NOQUFzZ0RpSUxJQUZHRFFJTUFRc2dDU0VOUVFBaEN3c2dDMEVCY2lFSklCb0VRQ0FOSUE4Z0Z5Z0N0QWdnRFNnQ0FHb2lDeUFkSUFzZ0hVZ2JJQXNnRDBnYk5nSUFJQTFCQkdvaERTQUpJUXNMSUFFZ0NVWU5BQU5BSUEwZ0R5QVhLQUswQ0NBTktBSUFhaUlKSUIwZ0NTQWRTQnNnQ1NBUFNCczJBZ0FnRFNBUElCY29BclFJSUEwb0FnUnFJZ2tnSFNBSklCMUlHeUFKSUE5SUd6WUNCQ0FOUVFocUlRMGdDMEVDYWlJTElBRkhEUUFMQ3lBTklBeEJBblJxSVFrZ0ZVRUJhaUlWSUFaSERRQUxEQUVMSUIyc0lZWUJJQStzSVljQlFRQWhGUU5BUVFBaEN3TkFJQWtDZnlBZElBa3FBZ0FpamdGREFBQUFUMTROQUJvZ0R5Q09BVU1BQUFEUFhRMEFHaUNIQVNBWE5BSzBDQUovSUk0QmtDS09BWXREQUFBQVQxMEVRQ0NPQWFnTUFRdEJnSUNBZ0hnTHJId2lpZ0VnaGdFZ2hnRWdpZ0ZWR3lDSEFTQ0tBVlVicHdzMkFnQWdDVUVFYWlFSklBdEJBV29pQ3lBQlJ3MEFDeUFKSUF4QkFuUnFJUWtnRlVFQmFpSVZJQVpIRFFBTEN5QUhRY3dBYWlFSElCZEJ1QWhxSVJjZ0NrRTBhaUVLUVFFaE1TQUlRUUZxSWdnZ0ZpZ0NFRWtOQUFzTUFRc2dCVUVCUVpvWlFRQVFEd3NnUUVFUWFpUUFJREZGQkVBZ1R4QXVJQUFnQUNnQ0NFR0FnQUp5TmdJSUlBVkJBVUh3MUFCQkFCQVBEQUVMQWtBZ0FrVU5BQUovSUFJaEIwRUFJUVlDUUNBQUtBTFFBU0lWUVFFUVZDSUJRWDlHRFFBZ0FTQURTdzBBUVFFZ0ZTZ0NHQ0lCS0FJUVJRMEJHaUFCS0FJWUlRZ2dGU2dDRkNnQ0FDZ0NGQ0VYQTBBZ0NDZ0NHQ0lCUVFkeElRSWdBVUVEZGlFRElCY29BaHdpQmlBSUtBSWtRWmdCYkdvaEFRSi9JQlVvQWtBRVFDQUdJQmNvQWhoQm1BRnNhaUlHUVpBQmF5Z0NBQ0FCS0FJSUlBRW9BZ0JySWdzZ0JrR1lBV3NvQWdCcWF5RU1JQUVvQWd3Z0FTZ0NCR3NoQ1VFa0RBRUxJQUVvQXBRQklBRW9Bb3dCYXlFSklBRW9BcEFCSUFFb0FvZ0JheUVMUVFBaERFRTBDeUFYYWlnQ0FDRUJBa0FDUUFKQUFrQUNRRUVFSUFNZ0FrRUFSMm9pQWlBQ1FRTkdHMEVCYXc0RUFRSUVBQVFMSUFsRkRRTWdDeUFNYWlFR0lBdEJBblFoQWlBSlFRUlBCRUFnQ1VGOGNTRUtRUUFoQ3dOQUlBY2dBU0FDRUJJaEJ5QUJJQVpCQW5RaUEyb2lEU0FEYWlJTUlBTnFJZzRnQTJvaEFTQUNJQWRxSUEwZ0FoQVNJQUpxSUF3Z0FoQVNJQUpxSUE0Z0FoQVNJQUpxSVFjZ0MwRUVhaUlMSUFwSERRQUxDMEVBSVFzZ0NVRURjU0lEUlEwREEwQWdCeUFCSUFJUUVpRUhJQUVnQmtFQ2RHb2hBU0FDSUFkcUlRY2dDMEVCYWlJTElBTkhEUUFMREFNTElBbEZJQXRGY2lFQ0lBZ29BaUJGRFFFZ0FnMENJQXRCQW5RaERpQUxRWHh4SWdOQkFuUWhEMEVBSVEwRFFBSkFBa0FDUUNBTFFRUkpEUUFnQVNBSElBdHFTU0FCSUE1cUlBZExjUTBBSUFNZ0Iyb2hmQ0FCSUE5cUlRWkJBQ0VLQTBBZ0J5QUthaUFCSUFwQkFuUnEvUUFDQVAwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwTkFBUUlEQUFBQUFBQUFBQUFBQUFBQVAxYUFBQUFJQXBCQkdvaUNpQURSdzBBQ3lCOElRY2dBeUlDSUF0R0RRSU1BUXNnQVNFR1FRQWhBZ3RCQUNFS0lBc2dBaUlCYTBFSGNTSVdCRUFEUUNBSElBWW9BZ0E2QUFBZ0FVRUJhaUVCSUFkQkFXb2hCeUFHUVFScUlRWWdDa0VCYWlJS0lCWkhEUUFMQ3lBQ0lBdHJRWGhMRFFBRFFDQUhJQVlvQWdBNkFBQWdCeUFHS0FJRU9nQUJJQWNnQmlnQ0NEb0FBaUFISUFZb0FndzZBQU1nQnlBR0tBSVFPZ0FFSUFjZ0JpZ0NGRG9BQlNBSElBWW9BaGc2QUFZZ0J5QUdLQUljT2dBSElBZEJDR29oQnlBR1FTQnFJUVlnQVVFSWFpSUJJQXRIRFFBTEN5QUdJQXhCQW5ScUlRRWdEVUVCYWlJTklBbEhEUUFMREFJTElBbEZJQXRGY2lFQ0lBZ29BaUFFUUNBQ0RRSWdDMEVDZENFT0lBdEJBWFFoRHlBTFFYeHhJZ05CQW5RaEZpQURRUUYwSVJCQkFDRU5BMEFDUUFKQUFrQWdDMEVFU1EwQUlBRWdCeUFQYWtrZ0FTQU9haUFIUzNFTkFDQUJJQlpxSVFZZ0J5QVFhaUY5UVFBaENnTkFJQWNnQ2tFQmRHb2dBU0FLUVFKMGF2MEFBZ0Q5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5RFFBQkJBVUlDUXdOQUFFQUFRQUJBQUg5V3dFQUFDQUtRUVJxSWdvZ0EwY05BQXNnZlNFSElBTWlBaUFMUmcwQ0RBRUxJQUVoQmtFQUlRSUxRUUFoQ2lBTElBSWlBV3RCQjNFaUV3UkFBMEFnQnlBR0tBSUFPd0VBSUFGQkFXb2hBU0FIUVFKcUlRY2dCa0VFYWlFR0lBcEJBV29pQ2lBVFJ3MEFDd3NnQWlBTGEwRjRTdzBBQTBBZ0J5QUdLQUlBT3dFQUlBY2dCaWdDQkRzQkFpQUhJQVlvQWdnN0FRUWdCeUFHS0FJTU93RUdJQWNnQmlnQ0VEc0JDQ0FISUFZb0FoUTdBUW9nQnlBR0tBSVlPd0VNSUFjZ0JpZ0NIRHNCRGlBSFFSQnFJUWNnQmtFZ2FpRUdJQUZCQ0dvaUFTQUxSdzBBQ3dzZ0JpQU1RUUowYWlFQklBMUJBV29pRFNBSlJ3MEFDd3dDQ3lBQ0RRRWdDMEVDZENFT0lBdEJBWFFoRHlBTFFYeHhJZ05CQW5RaEZpQURRUUYwSVJCQkFDRU5BMEFDUUFKQUFrQWdDMEVFU1EwQUlBRWdCeUFQYWtrZ0FTQU9haUFIUzNFTkFDQUJJQlpxSVFZZ0J5QVFhaUYrUVFBaENnTkFJQWNnQ2tFQmRHb2dBU0FLUVFKMGF2MEFBZ0Q5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5RFFBQkJBVUlDUXdOQUFFQUFRQUJBQUg5V3dFQUFDQUtRUVJxSWdvZ0EwY05BQXNnZmlFSElBTWlBaUFMUmcwQ0RBRUxJQUVoQmtFQUlRSUxRUUFoQ2lBTElBSWlBV3RCQjNFaUV3UkFBMEFnQnlBR0tBSUFPd0VBSUFGQkFXb2hBU0FIUVFKcUlRY2dCa0VFYWlFR0lBcEJBV29pQ2lBVFJ3MEFDd3NnQWlBTGEwRjRTdzBBQTBBZ0J5QUdLQUlBT3dFQUlBY2dCaWdDQkRzQkFpQUhJQVlvQWdnN0FRUWdCeUFHS0FJTU93RUdJQWNnQmlnQ0VEc0JDQ0FISUFZb0FoUTdBUW9nQnlBR0tBSVlPd0VNSUFjZ0JpZ0NIRHNCRGlBSFFSQnFJUWNnQmtFZ2FpRUdJQUZCQ0dvaUFTQUxSdzBBQ3dzZ0JpQU1RUUowYWlFQklBMUJBV29pRFNBSlJ3MEFDd3dCQ3lBQ0RRQWdDMEVDZENFT0lBdEJmSEVpQTBFQ2RDRVBRUUFoRFFOQUFrQUNRQUpBSUF0QkJFa05BQ0FCSUFjZ0MycEpJQUVnRG1vZ0IwdHhEUUFnQXlBSGFpRi9JQUVnRDJvaEJrRUFJUW9EUUNBSElBcHFJQUVnQ2tFQ2RHcjlBQUlBL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1EwQUJBZ01BQUFBQUFBQUFBQUFBQUFBL1ZvQUFBQWdDa0VFYWlJS0lBTkhEUUFMSUg4aEJ5QURJZ0lnQzBZTkFnd0JDeUFCSVFaQkFDRUNDMEVBSVFvZ0N5QUNJZ0ZyUVFkeEloWUVRQU5BSUFjZ0JpZ0NBRG9BQUNBQlFRRnFJUUVnQjBFQmFpRUhJQVpCQkdvaEJpQUtRUUZxSWdvZ0ZrY05BQXNMSUFJZ0MydEJlRXNOQUFOQUlBY2dCaWdDQURvQUFDQUhJQVlvQWdRNkFBRWdCeUFHS0FJSU9nQUNJQWNnQmlnQ0REb0FBeUFISUFZb0FoQTZBQVFnQnlBR0tBSVVPZ0FGSUFjZ0JpZ0NHRG9BQmlBSElBWW9BaHc2QUFjZ0IwRUlhaUVISUFaQklHb2hCaUFCUVFocUlnRWdDMGNOQUFzTElBWWdERUVDZEdvaEFTQU5RUUZxSWcwZ0NVY05BQXNMSUJkQnpBQnFJUmNnQ0VFMGFpRUlRUUVoQmlCeVFRRnFJbklnRlNnQ0dDZ0NFRWtOQUFzTElBWUxSUTBCSUU4b0F0d3JJZ0ZGRFFBZ0FSQVFJRTlDQURjQzNDc0xJQUFnQUMwQVJFSCtBWEU2QUVRZ0FDQUFLQUlJUWY5K2NUWUNDRUVCSVdjZ0JDa0RDQ0tHQVZBRWZrSUFCU0NHQVNBRUtRTTRmUXRRSUFBb0FnZ2lBVUhBQUVaeERRQWdBVUdBQWtZTkFDQUVJRTVCQ21wQkFpQUZFQnBCQWtjRVFDQUZRUUZCQWlBQUtBSzRBUnRCbGhKQkFCQVBJQUFvQXJnQlJTRm5EQUVMSUU1QkNtb2dUa0VNYWtFQ0VCRWdUaWdDRENJQlFaRC9BMFlOQUNBQlFkbi9BMFlFUUNBQVFZQUNOZ0lJSUFCQkFEWUN6QUVNQVFzZ0JDa0RDQ0tHQVZBRWZrSUFCU0NHQVNBRUtRTTRmUXRRQkVBZ0FFSEFBRFlDQ0NBRlFRSkJyRDlCQUJBUERBRUxRUUFoWnlBRlFRRkI3RDVCQUJBUEN5Qk9RUkJxSkFBZ1p3c0xBQ0FBQkVBZ0FCQVFDd3UwQVFFQmZ5QUFLQUlNUlFSQUlBSWdBQ2dDSkNBQkVRTUFEd3NDUUVFSUVCUWlBMFVOQUNBRElBSTJBZ1FnQXlBQk5nSUFRUWdRRkNJQlJRUkFJQU1RRUE4TElBRWdBellDQUNBQUlBQW9BZ1JCNUFCc0lnSTJBaWdEUUNBQUtBSVlJQUpLRFFBTElBRWdBQ2dDRkRZQ0JDQUFJQUUyQWhRZ0FDQUFLQUlZUVFGcU5nSVlJQUFvQWh3aUFVVU5BQ0FCS0FJQVFRQTJBZ2dnQUNBQktBSUVOZ0ljSUFBZ0FDZ0NJRUVCYXpZQ0lDQUJFQkFMQy9vQ0FRUi9Ba0FnQUVVTkFDQUFLQUtzS0NJQkJFQWdBQ2dDcUNnaUFnUkFRUUFoQVFOQUlBQW9BcXdvSUFGQkEzUnFLQUlBSWdNRVFDQURFQkFnQUNnQ3FDZ2hBZ3NnQVVFQmFpSUJJQUpKRFFBTElBQW9BcXdvSVFFTElBQkJBRFlDcUNnZ0FSQVFJQUJCQURZQ3JDZ0xJQUFvQXJRb0lnRUVRQ0FCRUJBZ0FFRUFOZ0swS0FzZ0FDZ0MwQ3NpQVFSQUlBRVFFQ0FBUVFBMkF0QXJDeUFBS0FMc0t5SUJCRUFnQVJBUUlBQkJBRFlDN0NzTElBQW9BdWdySWdFRVFDQUJFQkFnQUVFQU5nTG9Ld3NnQUNnQy9Dc2lBUVJBSUFFUUVDQUFRUUEyQW9Rc0lBQkNBRGNDL0NzTElBQW9BdkFySWdFRVFDQUFLQUwwS3lJREJIOUJBQ0VDQTBBZ0FTZ0NEQ0lFQkVBZ0JCQVFJQUZCQURZQ0RDQUFLQUwwS3lFREN5QUJRUlJxSVFFZ0FrRUJhaUlDSUFOSkRRQUxJQUFvQXZBckJTQUJDeEFRSUFCQkFEWUM4Q3NMSUFBb0F1UXJJZ0VFUUNBQkVCQWdBRUVBTmdMa0t3c2dBQ2dDM0NzaUFVVU5BQ0FCRUJBZ0FFSUFOd0xjS3dzTHlBY0NFWDhCZmlBQUtBSVFJZ2hCSUU4RVFDQUFLUU1JcHc4TEFrQWdBQ2dDRkNJRFFRUk9CRUFnQUNnQ0FDSUNRUU5yS0FJQUlRRWdBQ0FEUVFScklnTTJBaFFnQUNBQ1FRUnJOZ0lBREFFTElBTkJBRXdFUUF3QkN5QURRUUZ4SVEwZ0FDZ0NBQ0VDQWtBZ0EwRUJSZ1JBUVJnaEJBd0JDeUFEUWY3Ly8vOEhjU0VKUVJnaEJBTkFJQUFnQWtFQmF5SUdOZ0lBSUFJdEFBQWhEQ0FBSUFKQkFtc2lBallDQUNBQUlBTkJBV3MyQWhRZ0JpMEFBQ0VHSUFBZ0EwRUNheUlETmdJVUlBd2dCSFFnQVhJZ0JpQUVRUWhyZEhJaEFTQUVRUkJySVFRZ0JVRUNhaUlGSUFsSERRQUxDeUFOQkVBZ0FDQUNRUUZyTmdJQUlBSXRBQUFoRGlBQUlBTkJBV3MyQWhRZ0RpQUVkQ0FCY2lFQkMwRUFJUU1MSUFBb0FoZ2hBaUFBSUFGQi93RnhJZ2xCandGTE5nSVlJQUJCQjBFSUlBRkJnSUNBK0FkeFFZQ0FnUGdIUmh0QkNDQUNHeUlDUVFoQkIwRUlJQUZCZ0lEOEEzRkJnSUQ4QTBZYklBRkIvLy8vLzNoTkcyb2lCRUVJUVFkQkNDQUJRWUQrQVhGQmdQNEJSaHNnQVVFUWRrSC9BWEVpQlVHUEFVMGJhaUlHUVFoQkIwRUlJQUZCL3dCeFFmOEFSaHNnQVVFSWRrSC9BWEVpQjBHUEFVMGJJQWhxYWlJS05nSVFJQUFnQUNrRENDQUZJQUowSUFGQkdIWnlJQWNnQkhSeUlBa2dCblJ5clNBSXJZYUVJaEkzQXdnZ0NrRWZUUVJBQWtBZ0EwRUVUZ1JBSUFBb0FnQWlBa0VEYXlnQ0FDRUJJQUFnQTBFRWF6WUNGQ0FBSUFKQkJHczJBZ0FNQVFzZ0EwRUFUQVJBUVFBaEFRd0JDeUFEUVFGeElSQWdBQ2dDQUNFQ0FrQWdBMEVCUmdSQVFSZ2hCRUVBSVFFTUFRc2dBMEgrLy8vL0IzRWhCa0VZSVFSQkFDRUJRUUFoQlFOQUlBQWdBa0VCYXlJSE5nSUFJQUl0QUFBaER5QUFJQUpCQW1zaUFqWUNBQ0FBSUFOQkFXczJBaFFnQnkwQUFDRUhJQUFnQTBFQ2F5SUROZ0lVSUE4Z0JIUWdBWElnQnlBRVFRaHJkSEloQVNBRVFSQnJJUVFnQlVFQ2FpSUZJQVpIRFFBTEN5QVFSUTBBSUFBZ0FrRUJhellDQUNBQ0xRQUFJUkVnQUNBRFFRRnJOZ0lVSUJFZ0JIUWdBWEloQVFzZ0FDQUJRZjhCY1NJQ1FZOEJTellDR0NBQVFRaEJCMEVJSUFGQmdJQ0ErQWR4UVlDQWdQZ0hSaHNnQ1VHUEFVMGJJZ05CQ0VFSFFRZ2dBVUdBZ1B3RGNVR0FnUHdEUmhzZ0FVSC8vLy8vZUUwYmFpSUVRUWhCQjBFSUlBRkJnUDRCY1VHQS9nRkdHeUFCUVJCMlFmOEJjU0lGUVk4QlRSdHFJZ2hCQ0VFSFFRZ2dBVUgvQUhGQi93QkdHeUFCUVFoMlFmOEJjU0lKUVk4QlRSc2dDbXBxTmdJUUlBQWdCU0FEZENBQlFSaDJjaUFKSUFSMGNpQUNJQWgwY3EwZ0NxMkdJQktFSWhJM0F3Z0xJQktuQzhrVUFoMS9CbnNnQUNnQ0NDSUtJQUFvQWdScUlRZ0NRQ0FBS0FJTVJRUkFJQWhCQWtnTkFTQURRUUJNRFFFZ0FDZ0NBQ0lGSUFoQkJHc2lCa0VCZGlJTVFRSjBJZ2tnQVNBS1FRSjBhaUlISUFOQkFuUWlCR3BxUVFScVNTQUZJQXhCQTNScVFRaHFJZ0FnQjBFRWFrdHhJQVVnQVNBRWFpQUpha0VFYWtrZ0FVRUVhaUFBU1hGeUlSSWdDRUVFU1NJVUlBSkJBVWR5SVJVZ0FrRUJSaUFHUVFWTGNTRVdJQWhCL1AvLy93ZHhJUk1nQ0VFQmNTRVhJQXBCQVdvaER5QUlRUU54SVJFZ0FTQUZheUVZSUFVZ0NFRUNkR29oR1NBRklBaEJBV3NpQUVFQ2RHb2hHaUFNUVFGcUlodEJmSEVpRUVFQmRDRUxJQUlnQ214QkFuUWhIQ0FBUVFGMklBSnNRUUowSVIwRFFDQUJLQUlBSUFFZ0hHb29BZ0FpQ1VFQmFrRUJkV3NoQndKQUlCUUVRQ0FKSVFSQkFDRUdEQUVMUVFBaEJnSkFBbjlCQUNBV1JRMEFHa0VBSUJJTkFCb2dDZjBSSVNJZ0IvMFJJU0g5REFBQUFBQUNBQUFBQkFBQUFBWUFBQUFoSlVFQUlRQURRQ0FCSUFCQkFuUnEvUUFDQkNFa0lBRWdBQ0FQYWtFQ2RHcjlBQUlBSVNNZ0JTQUFRUU4wYWlJRUlDSDlXZ0lBQXlBRVFRaHFJQ1FnSXlBaUlDUDlEUXdORGc4UUVSSVRGQlVXRnhnWkdoc2lKUDJ1QWYwTUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQVAydUFVRUMvYXdCL2JFQklpTDlXZ0lBQUNBRVFSQnFJQ0w5V2dJQUFTQUVRUmhxSUNMOVdnSUFBaUFGSUNYOURBRUFBQUFCQUFBQUFRQUFBQUVBQUFEOVVDSW0vUnNBUVFKMGFpQWlJQ0VnSXYwTkRBME9EeEFSRWhNVUZSWVhHQmthRy8ydUFVRUIvYXdCSUNUOXJnRWlJZjFhQWdBQUlBVWdKdjBiQVVFQ2RHb2dJZjFhQWdBQklBVWdKdjBiQWtFQ2RHb2dJZjFhQWdBQ0lBVWdKdjBiQTBFQ2RHb2dJZjFhQWdBRElDWDlEQWdBQUFBSUFBQUFDQUFBQUFnQUFBRDlyZ0VoSlNBaUlTRWdJeUVpSUFCQkJHb2lBQ0FRUncwQUN5QWkvUnNESVFRZ0lmMGJBeUVISUJBZ0cwWU5BU0FMSVFZZ0JDRUpJQkFMSVFBRFFDQUJJQUJCQVdvaUNpQUNiRUVDZEdvb0FnQWhIaUFCSUFBZ0Qyb2dBbXhCQW5ScUtBSUFJUVFnQlNBR1FRSjBhaUlPSUFjMkFnQWdEaUFISUI0Z0JDQUpha0VDYWtFQ2RXc2lCMnBCQVhVZ0NXbzJBZ1FnQmtFQ2FpRUdJQUFnREVjaEh5QUVJUWtnQ2lFQUlCOE5BQXNNQVFzZ0N5RUdDeUFGSUFaQkFuUnFJQWMyQWdCQmZDRUFJQmNFZnlBYUlBRWdIV29vQWdBZ0JFRUJha0VCZFdzaUFEWUNBQ0FBSUFkcVFRRjFJUWRCZUFWQmZBc2dHV29nQkNBSGFqWUNBRUVBSVFaQkFDRUFRUUFoQkFKQUlCVWdHQ0FOUVFKMGFrRVFTWEpGQkVBRFFDQUJJQUJCQW5RaUJHb2dCQ0FGYXYwQUFnRDlDd0lBSUFCQkJHb2lBQ0FUUncwQUN5QVRJZ1FnQ0VZTkFRc2dCQ0VBSUJFRVFBTkFJQUVnQUNBQ2JFRUNkR29nQlNBQVFRSjBhaWdDQURZQ0FDQUFRUUZxSVFBZ0JrRUJhaUlHSUJGSERRQUxDeUFFSUFoclFYeExEUUFEUUNBQklBQWdBbXhCQW5ScUlBVWdBRUVDZEdvb0FnQTJBZ0FnQVNBQVFRRnFJZ1FnQW14QkFuUnFJQVVnQkVFQ2RHb29BZ0EyQWdBZ0FTQUFRUUpxSWdRZ0FteEJBblJxSUFVZ0JFRUNkR29vQWdBMkFnQWdBU0FBUVFOcUlnUWdBbXhCQW5ScUlBVWdCRUVDZEdvb0FnQTJBZ0FnQUVFRWFpSUFJQWhIRFFBTEN5QUJRUVJxSVFFZ0RVRUJhaUlOSUFOSERRQUxEQUVMQWtBQ1FBSkFJQWhCQVdzT0FnQUJBZ3NnQTBFQVRBMENRUUFoQWdKQUlBTkJCRWtFUUNBQklRQU1BUXNnQVNBRFFmei8vLzhIY1NJQ1FRSjBhaUVBQTBBZ0FTQUdRUUowYWlJRUlBVDlBQUlBSWlIOUd3QkJBbTM5RVNBaC9Sc0JRUUp0L1J3QklDSDlHd0pCQW0zOUhBSWdJZjBiQTBFQ2JmMGNBLzBMQWdBZ0JrRUVhaUlHSUFKSERRQUxJQUlnQTBZTkF3c0RRQ0FBSUFBb0FnQkJBbTAyQWdBZ0FFRUVhaUVBSUFKQkFXb2lBaUFEUncwQUN3d0NDeUFEUVFCTURRRWdBQ2dDQUNFSklBSWdDbXhCQW5RaEJ3TkFJQWtnQVNnQ0FDQUJJQWRxSWdRb0FnQkJBV3BCQVhWcklnQTJBZ1FnQ1NBQUlBUW9BZ0JxSWdBMkFnQWdBU0FBTmdJQUlBRWdBa0VDZEdvZ0NTZ0NCRFlDQUNBQlFRUnFJUUVnQmtFQmFpSUdJQU5IRFFBTERBRUxJQWhCQTBnTkFDQURRUUJNRFFBZ0FDZ0NBQ0lGSUFnZ0NFRUJjU0lVUlNJR2EwRUVheUlKUVFGMklndEJBblFpQnlBQklBTkJBblFpQUdwcVNTQUZJQXRCQTNScVFReHFJZ1FnQVVFRWFrdHhJQVZCQkdvZ0FDQUJJQXBCQW5ScUlnQnFJQWRxUVFocVNTQUFRUWhxSUFSSmNYSWhGU0FDUVFGSElBaEJCRWx5SVJZZ0FrRUJSaUFKUVFWTGNTRVhJQWhCL1AvLy93ZHhJUkFnQ0VFRGNTRVJJQUVnQldzaEdDQUZJQWhCQW5ScVFRUnJJUmtnQlNBSVFRSnJJZ0JCQW5ScUlSb2dDMEVCYWlJU1FYeHhJZ3hCQVhJaEV5QU1RUUYwUVFGeUlRc2dBaUFLYkVFQ2RDRWJJQUFnQm10QkFra2hIQ0FJUVFGMlFRRnJJQUpzUVFKMElSMERRQ0FGSUFFb0FnQWdBU0FiYWlJUElBSkJBblJxS0FJQUlna2dEeWdDQUNJQWFrRUNha0VDZFdzaUJ5QUFhallDQUVFQklRUUNRQ0FjQkVBZ0NTRUdEQUVMQWtBQ2YwRUJJQmRGRFFBYVFRRWdGUTBBR2lBSi9SRWhJU0FIL1JFaElrRUFJUUFEUUNBRklBQkJBM1JxSWdjZ0FTQUFRUUowSWdScS9RQUNCQ0FoSUFRZ0QycjlBQUlJSWlIOURRd05EZzhRRVJJVEZCVVdGeGdaR2hzaUpDQWgvYTRCL1F3Q0FBQUFBZ0FBQUFJQUFBQUNBQUFBL2E0QlFRTDlyQUg5c1FFaUl5QWpJQ0lnSS8wTkRBME9EeEFSRWhNVUZSWVhHQmthRy8ydUFVRUIvYXdCSUNUOXJnRWlKUDBOQkFVR0J4Z1pHaHNJQ1FvTEhCMGVILzBMQWhRZ0J5QWlJQ1Q5RFF3TkRnOFFFUklUQUFFQ0F4UVZGaGNnSS8wTkFBRUNBd1FGQmdjUUVSSVREQTBPRC8wTEFnUWdJeUVpSUFCQkJHb2lBQ0FNUncwQUN5QWgvUnNESVFZZ0l2MGJBeUVISUF3Z0VrWU5BU0FMSVFRZ0JpRUpJQk1MSVFBRFFDQUJJQUFnQW14QkFuUnFLQUlBSVI0Z0R5QUFRUUZxSWdvZ0FteEJBblJxS0FJQUlRWWdCU0FFUVFKMGFpSU9JQWMyQWdBZ0RpQUhJQjRnQmlBSmFrRUNha0VDZFdzaUIycEJBWFVnQ1dvMkFnUWdCRUVDYWlFRUlBQWdFa2NoSUNBS0lRQWdCaUVKSUNBTkFBc01BUXNnQ3lFRUN5QVlJQTFCQW5ScUlRa2dCU0FFUVFKMGFpQUhOZ0lBQWtBZ0ZFVUVRQ0FhSUFFZ0hXb29BZ0FnQmtFQmFrRUJkV3NpQUNBSGFrRUJkU0FHYWpZQ0FBd0JDeUFHSUFkcUlRQUxJQmtnQURZQ0FFRUFJUVpCQUNFQVFRQWhCQUpBSUJZZ0NVRVFTWEpGQkVBRFFDQUJJQUJCQW5RaUJHb2dCQ0FGYXYwQUFnRDlDd0lBSUFCQkJHb2lBQ0FRUncwQUN5QVFJZ1FnQ0VZTkFRc2dCQ0VBSUJFRVFBTkFJQUVnQUNBQ2JFRUNkR29nQlNBQVFRSjBhaWdDQURZQ0FDQUFRUUZxSVFBZ0JrRUJhaUlHSUJGSERRQUxDeUFFSUFoclFYeExEUUFEUUNBQklBQWdBbXhCQW5ScUlBVWdBRUVDZEdvb0FnQTJBZ0FnQVNBQVFRRnFJZ1FnQW14QkFuUnFJQVVnQkVFQ2RHb29BZ0EyQWdBZ0FTQUFRUUpxSWdRZ0FteEJBblJxSUFVZ0JFRUNkR29vQWdBMkFnQWdBU0FBUVFOcUlnUWdBbXhCQW5ScUlBVWdCRUVDZEdvb0FnQTJBZ0FnQUVFRWFpSUFJQWhIRFFBTEN5QUJRUVJxSVFFZ0RVRUJhaUlOSUFOSERRQUxDd3MzQVFKL0l3QkJFR3NpQVNRQUlBQUVmeUFCUVF4cVFTQWdBQkJzSVFCQkFDQUJLQUlNSUFBYkJVRUFDeUVDSUFGQkVHb2tBQ0FDQ3hzQkFYOGdBQVJBSUFBb0FnZ2lBUVJBSUFFUUVBc2dBQkFRQ3dzeEFRSi9RUUZCREJBVElnQUVRQ0FBUVFvMkFnUWdBRUVLUVFRUUV5SUJOZ0lJSUFFRVFDQUFEd3NnQUJBUUMwRUFDeThCQVg4Z0FBUkFJQUFvQWdRaUFRUkFJQUFvQWdBZ0FSRUNBQXNnQUNnQ0lCQVFJQUJCQURZQ0lDQUFFQkFMQ3lvQUlBQUVRQ0FBS0FJd0lBQkJGRUVRSUFBb0Frd2JhaWdDQUJFQ0FDQUFRUUEyQWpBZ0FCQVFDd3RUQVFKL0lBQkJBRFlDTUNBQUlBQW9BaUEyQWlRZ0FTQUFLQUlBSUFBb0Fod1JDZ0FoQkNBQUtBSkVJUUlnQkVVRVFDQUFJQUpCQkhJMkFrUkJBQThMSUFBZ0FUY0RPQ0FBSUFKQmUzRTJBa1JCQVF1R0F3SUZmd3ArSXdCQklHc2lBeVFBQWtBZ0FDZ0NFQ0lGUlFSQVFRRWhBZ3dCQ3dKQUlBQTBBZ0FpQjBJQVV3MEFJQUEwQWdRaUNFSUFVdzBBSUFBMEFnZ2lDVUlBVXcwQUlBQTBBZ3dpQ2tJQVV3MEFJQUFvQWhnaEFDQUhRZ0Y5SVF3Z0NFSUJmU0VOSUFsQ0FYMGhDU0FLUWdGOUlRb0RRQ0FBSUF3Z0FDZ0NBQ0lDclNJSGZDQUhnQ0lMUGdJUUlBQWdEU0FBS0FJRUlnYXRJZ2Q4SUFlQUlnNCtBaFJDQVNBQU5RSW9JZ2VHSWc5Q0FYMGlDQ0FKSUFLc0loQjhJQkIveEh3Z0I0ZW5JQWdnQzhSOElBZUhwMnNpQWtFQVNBUkFJQU1nQWpZQ0JDQURJQVEyQWdBZ0FVRUJRZFBrQUNBREVBOUJBQ0VDREFNTElBQWdBallDQ0NBSUlBb2dCcXdpQzN3Z0MzL0VmQ0FIaDZjZ0RzUWdEM3hDQVgwZ0I0ZW5heUlDUVFCSUJFQWdBeUFDTmdJVUlBTWdCRFlDRUNBQlFRRkJtT1VBSUFOQkVHb1FEMEVBSVFJTUF3c2dBQ0FDTmdJTUlBQkJOR29oQUVFQklRSWdCRUVCYWlJRUlBVkhEUUFMREFFTElBRkJBVUduTTBFQUVBOExJQU5CSUdva0FDQUNDOWNHQVFaL0lBQUVRQUpBSUFBb0FnQUVRQ0FBS0FJTUlnRUVRQ0FCRUM0Z0FDZ0NEQkFRSUFCQkFEWUNEQXNnQUNnQ0VDSUJCRUFnQVJBUUlBQkNBRGNERUFzZ0FDZ0NRQkFRSUFCQ0FEY0NQQXdCQ3lBQUtBSXNJZ0VFUUNBQkVCQWdBRUVBTmdJc0N5QUFLQUlnSWdFRVFDQUJFQkFnQUVJQU53TWdDeUFBS0FJMElnRkZEUUFnQVJBUUlBQkNBRGNDTkFzZ0FDZ0MwQUVRVlNBQUtBS2NBU0lCQkVBZ0FDZ0NhQ0FBS0FKc2JDSURCSDhEUUNBQkVDNGdBVUdNTEdvaEFTQUNRUUZxSWdJZ0EwY05BQXNnQUNnQ25BRUZJQUVMRUJBZ0FFRUFOZ0tjQVFzZ0FDZ0NkQ0lCQkVBZ0FDZ0NjQ0lDQkVCQkFDRUJBMEFnQUNnQ2RDQUJRUU4wYWlnQ0FDSURCRUFnQXhBUUlBQW9BbkFoQWdzZ0FVRUJhaUlCSUFKSkRRQUxJQUFvQW5RaEFRc2dBRUVBTmdKd0lBRVFFQ0FBUVFBMkFuUUxJQUFvQW9nQkVCQWdBRUVBTmdKNElBQkJBRFlDaUFFZ0FDZ0NaQkFRSUFCQkFEWUNaQ0FBTFFDOEFVRUNjVVVFUUNBQUtBS29BUkFRQ3lBQVFkQUFha0VBUWZBQUVCVWFJQUFvQXNBQkVESWdBRUVBTmdMQUFTQUFLQUxFQVJBeUlBQkJBRFlDd0FFZ0FDZ0N5QUVpQVFSQUlBRW9BaHdpQWdSQUlBSVFFQ0FCUVFBMkFod0xJQUVvQWlnaUFnUkFJQUVvQWlRRVFBTkFJQUlnQlVFb2JDSURhaWdDSkNJRUJFQWdCQkFRSUFFb0FpZ2lBaUFEYWtFQU5nSWtDeUFDSUFOcUtBSVFJZ1FFUUNBRUVCQWdBU2dDS0NJQ0lBTnFRUUEyQWhBTElBSWdBMm9vQWhnaUJBUkFJQVFRRUNBQktBSW9JZ0lnQTJwQkFEWUNHQXNnQlVFQmFpSUZJQUVvQWlSSkRRQUxDeUFDRUJBZ0FVRUFOZ0lvQ3lBQkVCQUxJQUJCQURZQ3lBRWdBQ2dDU0JBaElBQkJBRFlDU0NBQUtBSk1FQ0VnQUVFQU5nSk1JQUFvQXRRQklnTUVRQUpBSUFNb0FnaEZEUUFnQXlnQ0RBUkFJQU5CQURZQ0tBTkFJQU1vQWhoQkFFb05BQXNMSUFOQkFUWUNFQ0FES0FJQUVCQWdBeWdDSENJQ1JRMEFBMEFnQWlnQ0JDRUJJQUlRRUNBRElBRTJBaHdnQVNJQ0RRQUxDeUFES0FJa0lnSUVRQ0FDS0FJRUlnVkJBRW9FUUVFQUlRRURRQ0FDS0FJQUlBRkJER3hxSWdRb0FnZ2lCZ1JBSUFRb0FnUWdCaEVDQUNBQ0tBSUVJUVVMSUFGQkFXb2lBU0FGU0EwQUN3c2dBaWdDQUJBUUlBSVFFQXNnQXhBUUN5QUFRUUEyQXRRQklBQVFFQXNMNWdNQ0NIOEVmaUFBS0FJVUtBSUFLQUlVSUFGQnpBQnNhaUlKS0FJTUlnZ2dBQ2dDR0NnQ0dDQUJRVFJzYWlJS05RSUVJaEJDQVgwaUVpQUFOUUk4ZkNBUWdLY2lDeUFJSUF0Skd5RU1JQWtvQWdnaUNDQUtOUUlBSWhGQ0FYMGlFeUFBTlFJNGZDQVJnS2NpQ2lBSUlBcEpHeUVLSUFrb0FnUWlDQ0FTSUFBMUFqUjhJQkNBcHlJTElBZ2dDMHNiSVFzZ0NTZ0NBQ0lJSUJNZ0FEVUNNSHdnRVlDbklnMGdDQ0FOU3hzaERVRUFJUWdnQUNnQ0lDZ0MwQ3NnQVVHNENHeHFLQUlVSVE0Q1FDQUpLQUlVUVFBZ0FtdEJmeUFDRzJvaUFrVUVRQ0FLSVFBZ0RTRUlJQXNoQVF3QkN5QURRUUZ4SUFKQkFXc2lEM1FpQ1NBTlNRUkFJQTBnQ1d1dFFuOGdBcTBpRUlaQ2Y0VjhJQkNJcHlFSUMwRUFJUUJCQUNFQklBTkJBWFlnRDNRaUF5QUxTUVJBSUFzZ0EydXRRbjhnQXEwaUVJWkNmNFY4SUJDSXB5RUJDeUFKSUFwSkJFQWdDaUFKYTYxQ2Z5QUNyU0lRaGtKL2hYd2dFSWluSVFBTElBTWdERThFUUVFQUlRd01BUXNnRENBRGE2MUNmeUFDclNJUWhrSi9oWHdnRUlpbklRd0xRWDhnQUVFQ1FRTWdEa0VCUmhzaUFtb2lBeUFBSUFOTEd5QUVTMEYvSUFJZ0RHb2lBQ0FBSUF4Skd5QUZTM0VnQ0NBQ2F5SUFRUUFnQUNBSVRSc2dCa2x4SUFFZ0Ftc2lBRUVBSUFBZ0FVMGJJQWRKY1F1aUFRRUdmeUFBQkVBZ0FDZ0NCQ0lDQkVBZ0FoQVFJQUJCQURZQ0JBc2dBUVJBSUFBaEFnTkFJQUlvQXNnQklnTUVRRUVBSVFVZ0FpZ0N4QUVpQkFSL0EwQWdBeWdDRENJR0JFQWdCaEFRSUFOQkFEWUNEQ0FDS0FMRUFTRUVDeUFEUVJCcUlRTWdCVUVCYWlJRklBUkpEUUFMSUFJb0FzZ0JCU0FEQ3hBUUlBSkJBRFlDeUFFTElBSkI4QUZxSVFJZ0IwRUJhaUlISUFGSERRQUxDeUFBRUJBTEM5VVpBaE4vQTNzZ0FDZ0NBQ0lLSUFBb0Fnd2lEVUVGZENJRmFpRUdJQW9nQldzaEZpQUFLQUlRSVFVZ0FDZ0NIQ0VMSUFBb0FoUWhDU0FBS0FJSUlRNENRQUpBQWtBQ1FDQURRUWhKRFFBZ0FVRVBjUTBBSUFaQkQzRkZEUUVMSUFVZ0NVOE5BZ0pBQWtBZ0EwRUJhdzRDQUFFREN3SkFJQWtnQldzaUNFRVlTUTBBSUFFZ0JVRUNkR29oQnlBTlFRVjBJZ1FnQ2lBRlFRWjBhbW9nQVNBSlFRSjBha2tFUUNBSElBb2dDVUVHZEdvZ0JHcEJQR3RKRFFFTElBWDlFZjBNQUFBQUFBRUFBQUFDQUFBQUF3QUFBUDJ1QVNFWUlBVWdDRUY4Y1NJUGFpRUZRUUFoQkFOQUlBWWdHRUVFL2FzQkloZjlHd0JCQW5ScUlBY2dCRUVDZEdyOUFBSUFJaG45SHdBNEFnQWdCaUFYL1JzQlFRSjBhaUFaL1I4Qk9BSUFJQVlnRi8wYkFrRUNkR29nR2YwZkFqZ0NBQ0FHSUJmOUd3TkJBblJxSUJuOUh3TTRBZ0FnR1AwTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTRVlJQVJCQkdvaUJDQVBSdzBBQ3lBSUlBOUdEUVFMSUFVaEJDQUpJQVZyUVFOeElnY0VRRUVBSVFnRFFDQUdJQVJCQm5ScUlBRWdCRUVDZEdvcUFnQTRBZ0FnQkVFQmFpRUVJQWhCQVdvaUNDQUhSdzBBQ3dzZ0JTQUphMEY4U3cwREEwQWdCaUFFUVFaMGFpQUJJQVJCQW5ScUtnSUFPQUlBSUFZZ0JFRUJhaUlGUVFaMGFpQUJJQVZCQW5ScUtnSUFPQUlBSUFZZ0JFRUNhaUlGUVFaMGFpQUJJQVZCQW5ScUtnSUFPQUlBSUFZZ0JFRURhaUlGUVFaMGFpQUJJQVZCQW5ScUtnSUFPQUlBSUFSQkJHb2lCQ0FKUncwQUN3d0RDeUFCSUFKQkFuUnFJUWdDUUNBSklBVnJJZzlCUEVrRVFDQUZJUVFNQVFzZ0NpQUZRUVowSUExQkJYUnFhaUlFSUFrZ0JVRi9jMm9pQjBFR2RDSVFhaUFFU1FSQUlBVWhCQXdCQ3lBRVFRUnFJZ1FnRUdvZ0JFa0VRQ0FGSVFRTUFRc2dCMEgvLy84ZlN3UkFJQVVoQkF3QkN5QU5RUVYwSWdRZ0NpQUZRUVowYW1vaUJ5QUJJQUlnQ1dwQkFuUnFTU0FLSUFsQkJuUnFJQVJxUVRocklnUWdBU0FDSUFWcVFRSjBha3R4QkVBZ0JTRUVEQUVMSUFjZ0FTQUpRUUowYWtrZ0FTQUZRUUowYWlBRVNYRUVRQ0FGSVFRTUFRc2dCZjBSL1F3QUFBQUFBUUFBQUFJQUFBQURBQUFBL2E0QklSZ2dCU0FQUVh4eEloQnFJUVJCQUNFSEEwQWdCaUFZUVFUOXF3RWlGLzBiQUVFQ2RHb2lFU0FCSUFVZ0IycEJBblFpREdyOUFBSUFJaG45SHdBNEFnQWdCaUFYL1JzQlFRSjBhaUlUSUJuOUh3RTRBZ0FnQmlBWC9Sc0NRUUowYWlJVUlCbjlId0k0QWdBZ0JpQVgvUnNEUVFKMGFpSVZJQm45SHdNNEFnQWdFU0FJSUF4cS9RQUNBQ0lYL1I4QU9BSUVJQk1nRi8wZkFUZ0NCQ0FVSUJmOUh3STRBZ1FnRlNBWC9SOERPQUlFSUJqOURBUUFBQUFFQUFBQUJBQUFBQVFBQUFEOXJnRWhHQ0FIUVFScUlnY2dFRWNOQUFzZ0R5QVFSZzBEQ3lBRVFRRnFJUVVnQ1NBRWEwRUJjUVJBSUFZZ0JFRUdkR29pQnlBQklBUkJBblFpQkdvcUFnQTRBZ0FnQnlBRUlBaHFLZ0lBT0FJRUlBVWhCQXNnQlNBSlJnMENBMEFnQmlBRVFRWjBhaUlGSUFFZ0JFRUNkQ0lIYWlvQ0FEZ0NBQ0FGSUFjZ0NHb3FBZ0E0QWdRZ0JpQUVRUUZxSWdWQkJuUnFJZ2NnQVNBRlFRSjBJZ1ZxS2dJQU9BSUFJQWNnQlNBSWFpb0NBRGdDQkNBRVFRSnFJZ1FnQ1VjTkFBc01BZ3NnQlNBSlR3MEJJQUVnQWtFQ2RHb2hDQU5BSUFZZ0JVRUdkR29pQkNBQklBVkJBblJxS2dJQU9BSUFJQVFnQVNBQ0lBVnFJZ2RCQW5ScUtnSUFPQUlFSUFRZ0FTQUNJQWRxSWdkQkFuUnFLZ0lBT0FJSUlBUWdBU0FDSUFkcUlnZEJBblJxS2dJQU9BSU1JQVFnQVNBQ0lBZHFJZ2RCQW5ScUtnSUFPQUlRSUFRZ0FTQUNJQWRxSWdkQkFuUnFLZ0lBT0FJVUlBUWdBU0FDSUFkcVFRSjBJZ2RxS2dJQU9BSVlJQVFnQnlBSWFpb0NBRGdDSENBRlFRRnFJZ1VnQ1VjTkFBc01BUXNnQVNBQ1FRSjBhaUVJSUFOQkEwWWhCeUFEUVFSR0lROGdBMEVGUmlFUUlBTkJCMFloRVFOQUlBWWdCVUVHZEdvaUJDQUJJQVZCQW5ScUtnSUFPQUlBSUFRZ0FTQUNJQVZxSWd4QkFuUnFLZ0lBT0FJRUlBUWdBU0FDSUF4cUlneEJBblJxS2dJQU9BSUlBa0FnQncwQUlBUWdBU0FDSUF4cUlneEJBblJxS2dJQU9BSU1JQThOQUNBRUlBRWdBaUFNYWlJTVFRSjBhaW9DQURnQ0VDQVFEUUFnQkNBQklBSWdER29pREVFQ2RHb3FBZ0E0QWhRZ0EwRUdSZzBBSUFRZ0FTQUNJQXhxUVFKMElneHFLZ0lBT0FJWUlCRU5BQ0FFSUFnZ0RHb3FBZ0E0QWh3TElBVkJBV29pQlNBSlJ3MEFDd3NnRmtFZ2FpRUdJQUVnRGtFQ2RHb2hCQ0FBS0FJWUlRVUNRQUpBQWtBZ0EwRUlTUTBBSUFSQkQzRU5BQ0FHUVE5eFJRMEJDeUFGSUF0UERRRUNRQUpBQWtBZ0EwRUJhdzRDQUFFQ0N3SkFJQXNnQldzaUFFRWNTUTBBSUFvZ0JVRUdkRUVnY2lBTlFRVjBJZ0pyYWlBQklBc2dEbXBCQW5ScVNRUkFJQUVnQlNBT2FrRUNkR29nQzBFR2RDQUNheUFLYWtFY2Ewa05BUXNnQkNBRlFRSjBhaUVESUFYOUVmME1BQUFBQUFFQUFBQUNBQUFBQXdBQUFQMnVBU0VZSUFVZ0FFRjhjU0lCYWlFRlFRQWhBZ05BSUFZZ0dFRUUvYXNCSWhmOUd3QkJBblJxSUFNZ0FrRUNkR3I5QUFJQUlobjlId0E0QWdBZ0JpQVgvUnNCUVFKMGFpQVovUjhCT0FJQUlBWWdGLzBiQWtFQ2RHb2dHZjBmQWpnQ0FDQUdJQmY5R3dOQkFuUnFJQm45SHdNNEFnQWdHUDBNQkFBQUFBUUFBQUFFQUFBQUJBQUFBUDJ1QVNFWUlBSkJCR29pQWlBQlJ3MEFDeUFBSUFGR0RRUUxJQVVoQWlBTElBVnJRUU54SWdBRVFFRUFJUUVEUUNBR0lBSkJCblJxSUFRZ0FrRUNkR29xQWdBNEFnQWdBa0VCYWlFQ0lBRkJBV29pQVNBQVJ3MEFDd3NnQlNBTGEwRjhTdzBEQTBBZ0JpQUNRUVowYWlBRUlBSkJBblJxS2dJQU9BSUFJQVlnQWtFQmFpSUFRUVowYWlBRUlBQkJBblJxS2dJQU9BSUFJQVlnQWtFQ2FpSUFRUVowYWlBRUlBQkJBblJxS2dJQU9BSUFJQVlnQWtFRGFpSUFRUVowYWlBRUlBQkJBblJxS2dJQU9BSUFJQUpCQkdvaUFpQUxSdzBBQ3d3REN5QUVJQUpCQW5ScUlRTUNRQ0FMSUFWcklnQkJ4QUJKQkVBZ0JTRUNEQUVMSUFvZ0JVRUdkQ0lKUVNCeUlBMUJCWFFpQ0d0cUlnY2dDeUFGUVg5emFpSVBRUVowSWhCcUlBZEpCRUFnQlNFQ0RBRUxJQW9nQ1VFa2NpQUlhMm9pQ1NBUWFpQUpTUVJBSUFVaEFnd0JDeUFQUWYvLy94OUxCRUFnQlNFQ0RBRUxJQW9nQlVFR2RFRWdjaUFOUVFWMElnbHJhaUlOSUFFZ0N5QU9haUlJSUFKcVFRSjBha2tnQzBFR2RDQUpheUFLYWtFWWF5SUpJQUVnRGtFQ2RHb2dCVUVDZEdvaUNpQUNRUUowYWt0eEJFQWdCU0VDREFFTElBMGdBU0FJUVFKMGFra2dDU0FLUzNFRVFDQUZJUUlNQVFzZ0JmMFIvUXdBQUFBQUFRQUFBQUlBQUFBREFBQUEvYTRCSVJnZ0JTQUFRWHh4SWdscUlRSkJBQ0VCQTBBZ0JpQVlRUVQ5cXdFaUYvMGJBRUVDZEdvaUNpQUVJQUVnQldwQkFuUWlEV3I5QUFJQUlobjlId0E0QWdBZ0JpQVgvUnNCUVFKMGFpSU9JQm45SHdFNEFnQWdCaUFYL1JzQ1FRSjBhaUlJSUJuOUh3STRBZ0FnQmlBWC9Sc0RRUUowYWlJSElCbjlId000QWdBZ0NpQURJQTFxL1FBQ0FDSVgvUjhBT0FJRUlBNGdGLzBmQVRnQ0JDQUlJQmY5SHdJNEFnUWdCeUFYL1I4RE9BSUVJQmo5REFRQUFBQUVBQUFBQkFBQUFBUUFBQUQ5cmdFaEdDQUJRUVJxSWdFZ0NVY05BQXNnQUNBSlJnMERDeUFDUVFGcUlRQWdDeUFDYTBFQmNRUkFJQVlnQWtFR2RHb2lBU0FFSUFKQkFuUWlBbW9xQWdBNEFnQWdBU0FDSUFOcUtnSUFPQUlFSUFBaEFnc2dBQ0FMUmcwQ0EwQWdCaUFDUVFaMGFpSUFJQVFnQWtFQ2RDSUJhaW9DQURnQ0FDQUFJQUVnQTJvcUFnQTRBZ1FnQmlBQ1FRRnFJZ0JCQm5ScUlnRWdCQ0FBUVFKMElnQnFLZ0lBT0FJQUlBRWdBQ0FEYWlvQ0FEZ0NCQ0FDUVFKcUlnSWdDMGNOQUFzTUFnc2dCQ0FDUVFKMGFpRUJJQU5CQTBZaENTQURRUVJHSVFvZ0EwRUZSaUVOSUFOQkIwWWhEZ05BSUFZZ0JVRUdkR29pQUNBRUlBVkJBblJxS2dJQU9BSUFJQUFnQkNBQ0lBVnFJZ2hCQW5ScUtnSUFPQUlFSUFBZ0JDQUNJQWhxSWdoQkFuUnFLZ0lBT0FJSUFrQWdDUTBBSUFBZ0JDQUNJQWhxSWdoQkFuUnFLZ0lBT0FJTUlBb05BQ0FBSUFRZ0FpQUlhaUlJUVFKMGFpb0NBRGdDRUNBTkRRQWdBQ0FFSUFJZ0NHb2lDRUVDZEdvcUFnQTRBaFFnQTBFR1JnMEFJQUFnQkNBQ0lBaHFRUUowSWdocUtnSUFPQUlZSUE0TkFDQUFJQUVnQ0dvcUFnQTRBaHdMSUFWQkFXb2lCU0FMUncwQUN3d0JDeUFGSUF0UERRQWdCQ0FDUVFKMGFpRUJBMEFnQmlBRlFRWjBhaUlBSUFRZ0JVRUNkR29xQWdBNEFnQWdBQ0FFSUFJZ0JXb2lBMEVDZEdvcUFnQTRBZ1FnQUNBRUlBSWdBMm9pQTBFQ2RHb3FBZ0E0QWdnZ0FDQUVJQUlnQTJvaUEwRUNkR29xQWdBNEFnd2dBQ0FFSUFJZ0Eyb2lBMEVDZEdvcUFnQTRBaEFnQUNBRUlBSWdBMm9pQTBFQ2RHb3FBZ0E0QWhRZ0FDQUVJQUlnQTJwQkFuUWlBMm9xQWdBNEFoZ2dBQ0FCSUFOcUtnSUFPQUljSUFWQkFXb2lCU0FMUncwQUN3c0xtd01CQkg4Z0FTQUFRUVJxSWdScVFRRnJRUUFnQVd0eElnVWdBbW9nQUNBQUtBSUFJZ0ZxUVFSclRRUi9JQUFvQWdRaUF5QUFLQUlJSWdZMkFnZ2dCaUFETmdJRUlBUWdCVWNFUUNBQUlBQkJCR3NvQWdCQmZuRnJJZ01nQlNBRWF5SUVJQU1vQWdCcUlnVTJBZ0FnQXlBRlFYeHhha0VFYXlBRk5nSUFJQUFnQkdvaUFDQUJJQVJySWdFMkFnQUxBbjhnQVNBQ1FSaHFUd1JBSUFBZ0FtcEJDR29pQXlBQklBSnJRUWhySWdFMkFnQWdBeUFCUVh4eGFrRUVheUFCUVFGeU5nSUFJQU1DZnlBREtBSUFRUWhySWdGQi93Qk5CRUFnQVVFRGRrRUJhd3dCQ3lBQlp5RUVJQUZCSFNBRWEzWkJCSE1nQkVFQ2RHdEI3Z0JxSUFGQi94OU5EUUFhUVQ4Z0FVRWVJQVJyZGtFQ2N5QUVRUUYwYTBISEFHb2lBU0FCUVQ5UEd3c2lBVUVFZENJRVFhREhBV28yQWdRZ0F5QUVRYWpIQVdvaUJDZ0NBRFlDQ0NBRUlBTTJBZ0FnQXlnQ0NDQUROZ0lFUWFqUEFVR296d0VwQXdCQ0FTQUJyWWFFTndNQUlBQWdBa0VJYWlJQk5nSUFJQUFnQVVGOGNXb01BUXNnQUNBQmFndEJCR3NnQVRZQ0FDQUFRUVJxQlVFQUN3dkNBUUVEZndKQUlBRWdBaWdDRUNJREJIOGdBd1VnQWhBK0RRRWdBaWdDRUFzZ0FpZ0NGQ0lFYTBzRVFDQUNJQUFnQVNBQ0tBSWtFUUFBRHdzQ1FBSkFJQUlvQWxCQkFFZ05BQ0FCUlEwQUlBRWhBd05BSUFBZ0Eyb2lCVUVCYXkwQUFFRUtSd1JBSUFOQkFXc2lBdzBCREFJTEN5QUNJQUFnQXlBQ0tBSWtFUUFBSWdRZ0Ewa05BaUFCSUFOcklRRWdBaWdDRkNFRURBRUxJQUFoQlVFQUlRTUxJQVFnQlNBQkVCSWFJQUlnQWlnQ0ZDQUJhallDRkNBQklBTnFJUVFMSUFRTFdRRUJmeUFBSUFBb0FrZ2lBVUVCYXlBQmNqWUNTQ0FBS0FJQUlnRkJDSEVFUUNBQUlBRkJJSEkyQWdCQmZ3OExJQUJDQURjQ0JDQUFJQUFvQWl3aUFUWUNIQ0FBSUFFMkFoUWdBQ0FCSUFBb0FqQnFOZ0lRUVFBTHpBSUJCSDhnQVNBQS9RQUNBUDBMQWdBZ0FTZ0NHQ0lDQkVBZ0FTZ0NFQ0lEQkg5QkFDRUNBMEFnQVNnQ0dDQUNRVFJzYWlnQ0xDSUVCRUFnQkJBUUlBRW9BaEFoQXdzZ0FrRUJhaUlDSUFOSkRRQUxJQUVvQWhnRklBSUxFQkFnQVVFQU5nSVlDeUFCSUFBb0FoQWlBallDRUNBQklBSkJOR3dRRkNJQ05nSVlJQUlFUUNBQktBSVFCRUJCQUNFREEwQWdBaUFEUVRSc0lnVnFJZ0lnQUNnQ0dDQUZhaUlFL1FBQ0FQMExBZ0FnQWlBRUtBSXdOZ0l3SUFJZ0JQMEFBaUQ5Q3dJZ0lBSWdCUDBBQWhEOUN3SVFJQUVvQWhnaUFpQUZha0VBTmdJc0lBTkJBV29pQXlBQktBSVFTUTBBQ3dzZ0FTQUFLQUlVTmdJVUlBRWdBQ2dDSUNJQ05nSWdJQUlFUUNBQklBSVFGQ0lDTmdJY0lBSkZCRUFnQVVJQU53SWNEd3NnQWlBQUtBSWNJQUFvQWlBUUVob1BDeUFCUVFBMkFod1BDeUFCUVFBMkFoQWdBVUVBTmdJWUN3UUFRUUVMeGdFQkEzOERRQ0FBUVFSMElnRkJwTWNCYWlBQlFhREhBV29pQWpZQ0FDQUJRYWpIQVdvZ0FqWUNBQ0FBUVFGcUlnQkJ3QUJIRFFBTFFUQVFiUm9qQUVFUWF5SUFKQUFDUUNBQVFReHFJQUJCQ0dvUURBMEFRYkRQQVVFSUlBQW9BZ3hCQW5SQkJHb1FKU0lCTmdJQUlBRkZEUUJCQ0NBQUtBSUlFQ1VpQVFSQVFiRFBBU2dDQUNJQ0lBQW9BZ3hCQW5ScVFRQTJBZ0FnQWlBQkVBdEZEUUVMUWJEUEFVRUFOZ0lBQ3lBQVFSQnFKQUJCek04QlFTbzJBZ0JCbE5BQlFkalFBVFlDQUF1UUJnSUZmd043SXdCQkVHc2lCaVFBQW44Z0FDZ0NDRUVRUmdSQUlBQW9BcHdCSUFBb0Fzd0JRWXdzYkdvTUFRc2dBQ2dDREFzaEFBSkFJQU1vQWdBaUJVVUVRRUVBSVFJZ0JFRUJRY0FUUVFBUUR3d0JDeUFBS0FMUUt5RUpJQU1nQlVFQmF6WUNBQ0FDSUFaQkRHcEJBUkFSSUFrZ0FVRzRDR3hxSWdjZ0JpZ0NEQ0lBUVFWMk5nS2tCaUFISUFCQkgzRWlBVFlDR0NBQ1FRRnFJUUFnQXdKL0FuOENRQUovQWtBQ1FDQUJEZ0lBQXdFTElBTW9BZ0FNQVFzZ0F5Z0NBRUVCZGdzaUJVSGlBRThFZnlBR1F1R0FnSUNRRERjQ0JDQUdJQVUyQWdBZ0JFRUNRY1g0QUNBR0VBOGdCeWdDR0FVZ0FRc0VRQ0FGSWdFTkFVRUFEQUlMSUFVRVFDQUhRUnhxSVFGQkFDRUNBMEFnQUNBR1FReHFRUUVRRVNBQ1FlQUFUUVJBSUFZb0Fnd2hCQ0FCSUFKQkEzUnFJZ2hCQURZQ0JDQUlJQVJCQTNZMkFnQUxJQUJCQVdvaEFDQUNRUUZxSWdJZ0JVY05BQXNMUVFBaEFpQURLQUlBSWdBZ0JVa05BeUFBSUFWckRBSUxJQWRCSEdvaEJFRUFJUUlEUUNBQUlBWkJER3BCQWhBUklBSkI0QUJOQkVBZ0JDQUNRUU4wYWlJRklBWW9BZ3dpQ0VIL0QzRTJBZ1FnQlNBSVFRdDJOZ0lBQ3lBQVFRSnFJUUFnQWtFQmFpSUNJQUZIRFFBTElBRkJBWFFMSVFCQkFDRUNJQU1vQWdBaUFTQUFTUTBCSUFFZ0FHc0xOZ0lBUVFFaEFpQUhLQUlZUVFGSERRQWdCMEVjYWlFRUlBZjlDUUljSVF3Z0J5Z0NJQ0VEL1F3QkFBQUFBZ0FBQUFNQUFBQUVBQUFBSVF0QkFDRUJBMEFnQkNBQlFRTjBhaUlBUVJocUlBd2dDLzBNLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzJ1QVNJSy9Sc0FRUU51L1JFZ0N2MGJBVUVEYnYwY0FTQUsvUnNDUVFOdS9Sd0NJQXI5R3dOQkEyNzlIQVA5c1FIOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOXVBRWlDdjFhQWdBQ0lBQkJFR29nQ3YxYUFnQUJJQUJCQ0dvZ0N2MWFBZ0FBSUFRZ0FVRUVhaUlCUVFOMGFpSUZJQXI5V2dJQUF5QUFJQU0yQWh3Z0FDQUROZ0lVSUFBZ0F6WUNEQ0FGSUFNMkFnUWdDLzBNQkFBQUFBUUFBQUFFQUFBQUJBQUFBUDJ1QVNFTElBRkI0QUJIRFFBTEN5QUdRUkJxSkFBZ0FndWZCZ0VHZnlNQVFTQnJJZ1lrQUFKL0lBQW9BZ2hCRUVZRVFDQUFLQUtjQVNBQUtBTE1BVUdNTEd4cURBRUxJQUFvQWd3TElRVUNRQ0FES0FJQVFRUk5CRUJCQUNFQUlBUkJBVUdkRTBFQUVBOE1BUXNnQWlBRktBTFFLeUFCUWJnSWJHb2lCU0lKUVFScVFRRVFFU0FGSUFVb0FnUkJBV29pQnpZQ0JDQUhRU0pQQkVBZ0JrRWhOZ0lFSUFZZ0J6WUNBQ0FFUVFGQitUa2dCaEFQUVFBaEFBd0JDeUFISUFBb0FxQUJJZ2hOQkVBZ0JpQUhOZ0lZSUFZZ0NEWUNGQ0FHSUFFMkFoQWdCRUVCUWJUN0FDQUdRUkJxRUE4Z0FDQUFLQUlJUVlDQUFuSTJBZ2hCQUNFQURBRUxJQUpCQVdvZ0JVRUlha0VCRUJFZ0JTQUZLQUlJUVFKcU5nSUlJQUpCQW1vZ0JVRU1ha0VCRUJFZ0JTQUZLQUlNUVFKcUlnQTJBZ3dDUUFKQUlBVW9BZ2dpQVVFS1N3MEFJQUJCQ2tzTkFDQUFJQUZxUVExSkRRRUxRUUFoQUNBRVFRRkJ3eWxCQUJBUERBRUxJQUpCQTJvZ0JVRVFha0VCRUJFZ0JTMEFFRUdBQVhFRVFFRUFJUUFnQkVFQlFZc3lRUUFRRHd3QkN5QUNRUVJxSUFWQkZHcEJBUkFSSUFVb0FoUkJBazhFUUVFQUlRQWdCRUVCUWNveFFRQVFEd3dCQ3lBRElBTW9BZ0JCQldzaUJ6WUNBRUVCSVFBZ0JTZ0NCQ0VCSUFVdEFBQkJBWEZGQkVBZ0FVVU5BU0FGUWJBSGFpRUJJQVZCckFacUlRSkJBQ0VGQTBBZ0FpQUZRUUowSWdCcVFRODJBZ0FnQUNBQmFrRVBOZ0lBUVFFaEFDQUZRUUZxSWdVZ0NTZ0NCRWtOQUFzTUFRc2dBU0FIVFFSQUFrQWdBVVVFUUVFQUlRRU1BUXNnQWtFRmFpQUdRUnhxUVFFUUVTQUZJQVlvQWh3aUFFRUVkallDc0FjZ0JTQUFRUTl4TmdLc0JpQUZLQUlFSWdGQkFrOEVRQ0FGUWJBSGFpRUhJQVZCckFacUlRZ2dBa0VHYWlFQVFRRWhCUU5BSUFBZ0JrRWNha0VCRUJFQ1FDQUdLQUljSWdGQkVFOEVRQ0FCUVE5eElnSU5BUXRCQUNFQUlBUkJBVUh3TFVFQUVBOE1CUXNnQ0NBRlFRSjBJZ3BxSUFJMkFnQWdCeUFLYWlBQlFRUjJOZ0lBSUFCQkFXb2hBQ0FGUVFGcUlnVWdDU2dDQkNJQlNRMEFDd3NnQXlnQ0FDRUhDeUFESUFjZ0FXczJBZ0JCQVNFQURBRUxRUUFoQUNBRVFRRkJuUk5CQUJBUEN5QUdRU0JxSkFBZ0FBdFNBQ0FCSUFBdEFBQTZBQWNnQVNBQUxRQUJPZ0FHSUFFZ0FDMEFBam9BQlNBQklBQXRBQU02QUFRZ0FTQUFMUUFFT2dBRElBRWdBQzBBQlRvQUFpQUJJQUF0QUFZNkFBRWdBU0FBTFFBSE9nQUFDNUlCQVFSL0lBQWdBVFlDb0FFQ1FDQUFLQUpJSWdORkRRQWdBeWdDR0NJR1JRMEFJQUFvQWd3aUJFVU5BQ0FFS0FMUUswVU5BQ0FES0FJUUlnUkZCRUJCQVE4TFFRQWhBd05BSUFFZ0FDZ0NEQ2dDMENzZ0EwRzRDR3hxS0FJRVR3UkFJQUpCQVVHaXhRQkJBQkFQUVFBUEN5QUdJQU5CTkd4cUlBRTJBaWhCQVNFRklBTkJBV29pQXlBRVJ3MEFDd3NnQlF1c0J3SUpmd2grSXdCQkVHc2lDaVFBQWtBZ0FrVUVRQ0FEUVFGQit0VUFRUUFRRHd3QkN5QUNLQUlRSWdzZ0FDZ0NTQ0lHS0FJUVNRUkFJQU5CQVVHMXpnQkJBQkFQREFFTElBUWdBQ2dDYUNJRklBQW9BbXhzSWdkUEJFQWdDaUFFTmdJQUlBb2dCMEVCYXpZQ0JDQURRUUZCOS9vQUlBb1FEMEVBSVFVTUFRc2dBaUFBS0FKVUlBUWdCU0FFSUFWdUlnZHNheUlJSUFBb0FseHNhaUlGTmdJQUlBSWdCU0FHS0FJQUlnWWdCU0FHU3hzaUJqWUNBQ0FDSUFBb0FsUWdBQ2dDWENBSVFRRnFiR29pQlRZQ0NDQUNJQVVnQUNnQ1NDZ0NDQ0lJSUFVZ0NFa2JJZ2cyQWdnZ0FpQUFLQUpZSUFBb0FtQWdCMnhxSWdVMkFnUWdBaUFGSUFBb0FrZ29BZ1FpQ1NBRklBbExHeUlKTmdJRUlBSWdBQ2dDV0NBQUtBSmdJQWRCQVdwc2FpSUZOZ0lNSUFJZ0JTQUFLQUpJS0FJTUlnY2dCU0FIU1JzaUJUWUNEQ0FBS0FKSUlnd29BaEFpQndSQUlBV3NRZ0Y5SVJFZ0NLeENBWDBoRWlBSnJVSUJmU0VUSUFhdFFnRjlJUlFnRENnQ0dDRUlJQUlvQWhnaEJVRUFJUVlEUUNBRklBZ2dCa0UwYkdvb0FpZ2lDVFlDS0NBRklCUWdCU2dDQUNJTXJTSU9mQ0FPZ0NJVlBnSVFJQVVnRXlBRktBSUVJZzJ0SWc1OElBNkFJaEErQWhRZ0JVSi9JQW10SWc2R0lnOGdFTVI5SUE2SHB5QVBJQkVnRGF3aUVId2dFSC9FZlNBT2g2ZHJOZ0lNSUFVZ0R5QVZ4SDBnRG9lbklBOGdFaUFNckNJUGZDQVBmOFI5SUE2SHAyczJBZ2dnQlVFMGFpRUZJQVpCQVdvaUJpQUhSdzBBQ3dzZ0J5QUxTUVJBSUFJb0FoZ2hCUU5BSUFVZ0IwRTBiQ0lHYWlnQ0xCQVFJQUlvQWhnaUJTQUdha0VBTmdJc0lBZEJBV29pQnlBQ0tBSVFTUTBBQ3lBQ0lBQW9Ba2dvQWhBMkFoQUxJQUFvQWt3aUJRUkFJQVVRSVFzZ0FFRUJRU1FRRXlJSE5nSk1RUUFoQlNBSFJRMEFJQUlnQnhBL0lBQWdCRFlDTENBQUtBTEFBVUVYSUFNUUpFVU5BQ0FBS0FMQUFTSUVLQUlBSVFZZ0JDZ0NDQ0VIQWtBZ0JnUkFRUUVoQlNBR1FRRnhJUXNnQmtFQlJnUi9RUUFGSUFaQmZuRWhDRUVBSVFZRFFBSi9RUUFnQlVVTkFCcEJBQ0FBSUFFZ0F5QUhLQUlBRVFBQVJRMEFHaUFBSUFFZ0F5QUhLQUlFRVFBQVFRQkhDeUVGSUFkQkNHb2hCeUFHUVFKcUlnWWdDRWNOQUFzZ0JVRUJjd3NoQmdKQUFrQWdDd1JBSUFZTkFTQUFJQUVnQXlBSEtBSUFFUUFBUVFCSElRVUxJQVJCQURZQ0FDQUZRUUZ4UlEwQkRBTUxJQVJCQURZQ0FBc2dBQ2dDU0JBaFFRQWhCU0FBUVFBMkFrZ01BZ3NnQkVFQU5nSUFDeUFBSUFJUVJ5RUZDeUFLUVJCcUpBQWdCUXZ5QXdFRmZ3SkFBa0FnQUNnQ1BDSUNSUVJBSUFFb0FoQU5BVUVCRHdzZ0FrRTBiQkFVSWdWRkRRRWdBU2dDRUFSQUlBRW9BaGdoQWdOQUlBSWdBMEUwYkNJRWFpZ0NMQkFRSUFFb0FoZ2lBaUFFYWtFQU5nSXNJQU5CQVdvaUF5QUJLQUlRSWdSSkRRQUxDeUFCSUFBb0Fqd0VmeUFBS0FKTUtBSVlJUU5CQUNFQ0EwQWdCU0FDUVRSc2FpSUVJQU1nQUNnQ1FDQUNRUUowYWlnQ0FFRTBiQ0lHYWlJRC9RQUNBUDBMQWdBZ0JDQURLQUl3TmdJd0lBUWdBLzBBQWlEOUN3SWdJQVFnQS8wQUFoRDlDd0lRSUFRZ0FDZ0NUQ2dDR0NJRElBWnFJZ1lvQWlRMkFpUWdCQ0FHS0FJc05nSXNJQVpCQURZQ0xDQUNRUUZxSWdJZ0FDZ0NQQ0lHU1EwQUN5QUJLQUlRQlNBRUN3Ui9JQUFvQWt3b0FoZ2hBa0VBSVFNRFFDQUNJQU5CTkd3aUJHb29BaXdRRUNBQUtBSk1LQUlZSWdJZ0JHcEJBRFlDTENBRFFRRnFJZ01nQVNnQ0VFa05BQXNnQUNnQ1BBVWdCZ3MyQWhBZ0FTZ0NHQkFRSUFFZ0JUWUNHRUVCRHdzZ0FTZ0NHQ0VFSUFBb0Frd29BaGdoQTBFQUlRSURRQ0FFSUFKQk5Hd2lCV29pQkNBRElBVnFLQUlrTmdJa0lBUW9BaXdRRUNBQktBSVlJZ1FnQldvZ0FDZ0NUQ2dDR0NJRElBVnFJZ1VvQWl3MkFpd2dCVUVBTmdJc0lBSkJBV29pQWlBQktBSVFTUTBBQzBFQkR3c2dBQ2dDU0JBaElBQkJBRFlDU0VFQUM4NEVBUWgvQWtBZ0FrVU5BQUpBSUFBb0FxQUJJZ1ZGRFFBZ0FDZ0NTQ0lFUlEwQUlBUW9BaEJGRFFBZ0JDZ0NHQ2dDS0NBRlJ3MEFJQUlvQWhBaUNFVU5BQ0FDS0FJWUlnWW9BaWdOQUNBR0tBSXNEUUJCQUNFRUlBaEJDRThFUUNBSVFYaHhJUWtEUUNBR0lBUkJOR3hxSUFVMkFpZ2dCaUFFUVFGeVFUUnNhaUFGTmdJb0lBWWdCRUVDY2tFMGJHb2dCVFlDS0NBR0lBUkJBM0pCTkd4cUlBVTJBaWdnQmlBRVFRUnlRVFJzYWlBRk5nSW9JQVlnQkVFRmNrRTBiR29nQlRZQ0tDQUdJQVJCQm5KQk5HeHFJQVUyQWlnZ0JpQUVRUWR5UVRSc2FpQUZOZ0lvSUFSQkNHb2hCQ0FLUVFocUlnb2dDVWNOQUFzTElBaEJCM0VpQ0FSQUEwQWdCaUFFUVRSc2FpQUZOZ0lvSUFSQkFXb2hCQ0FMUVFGcUlnc2dDRWNOQUFzTElBSWdBeEEzRFFCQkFBOExJQUFvQWt3aUJVVUVRQ0FBUVFGQkpCQVRJZ1UyQWt3Z0JVVU5BUXNnQWlBRkVEOGdBQ2dDd0FGQkZpQURFQ1JGRFFBZ0FDZ0N3QUVpQmlnQ0FDRUVJQVlvQWdnaEJRSkFJQVFFUUVFQklRY2dCRUVCY1NFSUlBUkJBVVlFZjBFQUJTQUVRWDV4SVFsQkFDRUVBMEFDZjBFQUlBZEZEUUFhUVFBZ0FDQUJJQU1nQlNnQ0FCRUFBRVVOQUJvZ0FDQUJJQU1nQlNnQ0JCRUFBRUVBUndzaEJ5QUZRUWhxSVFVZ0JFRUNhaUlFSUFsSERRQUxJQWRCQVhNTElRUUNRQUpBSUFnRVFDQUVEUUVnQUNBQklBTWdCU2dDQUJFQUFFRUFSeUVIQ3lBR1FRQTJBZ0FnQjBFQmNVVU5BUXdEQ3lBR1FRQTJBZ0FMSUFBb0FrZ1FJU0FBUVFBMkFraEJBQThMSUFaQkFEWUNBQXNnQUNBQ0VFY2hCd3NnQnd2NEJBRUdmd0pBUVFGQk1CQVRJZ0lFZnlBQ0lBQW9Bc2dCSWdIOUFBTUEvUXNEQUNBQ0lBRXBBeEEzQXhBZ0FpQUJLQUlZSWdFMkFoZ2dBaUFCUVJoc0VCUWlBVFlDSENBQlJRUkFJQUlRRUVFQUR3c0NRQ0FBS0FMSUFTZ0NIQ0lEQkVBZ0FTQURJQUlvQWhoQkdHd1FFaG9NQVFzZ0FSQVFJQUpCQURZQ0hBc2dBaUFBS0FMSUFTZ0NKQ0lCTmdJa0lBSWdBVUVvRUJNaUFUWUNLQ0FCUlFSQUlBSW9BaHdRRUNBQ0VCQkJBQThMQWtBZ0FDZ0N5QUVvQWlnRVFDQUNLQUlrUlEwQkEwQWdBU0FGUVNoc0lnTnFJQUFvQXNnQktBSW9JQU5xS0FJVUlnRTJBaFFnQVVFWWJCQVVJUUVnQWlnQ0tDSUVJQU5xSWdZZ0FUWUNHQ0FCUlFSQUlBVUVmMEVBSVFFRFFDQUNLQUlvSUFGQktHeHFLQUlZRUJBZ0FVRUJhaUlCSUFWSERRQUxJQUlvQWlnRklBUUxFQkFNQlFzQ1FDQUFLQUxJQVNnQ0tDQURhaWdDR0NJRUJFQWdBU0FFSUFZb0FoUkJHR3dRRWhvZ0FpZ0NLQ0VCREFFTElBRVFFQ0FDS0FJb0lnRWdBMnBCQURZQ0dBc2dBU0FEYWlBQUtBTElBU2dDS0NBRGFpZ0NCQ0lCTmdJRUlBRkJHR3dRRkNFQklBSW9BaWdpQkNBRGFpSUdJQUUyQWhBZ0FVVUVRQ0FGQkg5QkFDRUJBMEFnQVVFb2JDSUFJQUlvQWlocUtBSVlFQkFnQWlnQ0tDQUFhaWdDRUJBUUlBRkJBV29pQVNBRlJ3MEFDeUFDS0FJb0JTQUVDeEFRREFVTEFrQWdBQ2dDeUFFb0FpZ2dBMm9vQWhBaUJBUkFJQUVnQkNBR0tBSUVRUmhzRUJJYUlBSW9BaWdoQVF3QkN5QUJFQkFnQWlnQ0tDSUJJQU5xUVFBMkFoQUxJQUVnQTJwQ0FEY0NJQ0FGUVFGcUlnVWdBaWdDSkVrTkFBc01BUXNnQVJBUUlBSkJBRFlDS0FzZ0FnVkJBQXNQQ3lBQ0tBSWNFQkFnQWhBUVFRQUxvQVlDRG44QmV5TUFRUkJySWdna0FDQUFLQUpJS0FJUUlRMGdDRUVCUVRnUUV5SUJOZ0lNQWtBZ0FVVU5BQ0FCSUFBb0FrZ29BaEFpQ1RZQ0dDQUJJQUQ5QUFKVS9Rc0NBQ0FCSUFBb0FtZzJBaEFnQUNnQ2JDRUNJQUZCQURZQ05DQUJJQUkyQWhRZ0FTQUFLQUlNSWd3b0FnQTJBaUFnQVNBTUtBSUVOZ0lrSUFFZ0RDZ0NDRFlDS0NBQklBd29BaEEyQWl3Z0FTQUpRYmdJRUJNaUFEWUNNQ0FBQkVBZ0RRUkFBMEFnRGtHNENHd2lBQ0FCS0FJd2FpSUZJQXdvQXRBcklBQnFJZ1Q5QUFJQUlnLzlDd0lFSUFVZ0JDZ0NFRFlDRkNBRklBUW9BaFEyQWhnZ0QvMGJBU0lBUVNCTkJFQWdCVUcwQjJvZ0JFR3dCMm9nQUJBU0dpQUZRYkFHYWlBRVFhd0dhaUFFS0FJRUVCSWFDeUFGSUFRb0FoZ2lBRFlDSENBRklBUW9BcVFHTmdLb0JrRUJJUVlDUUNBQVFRRkhCRUFnQkNnQ0JFRURiQ0lBUVFOclFkOEFTdzBCSUFCQkFtc2hCZ3NnQlVHa0Eyb2hDU0FGUVNCcUlRb2dCRUVjYWlFTFFRQWhBQUpBSUFaQkNFa05BQ0FFSUFaQkEzUnFRUnhxSUFwTEJFQWdDeUFGSUFaQkFuUnFRYVFEYWtrTkFRc2dCa0Y4Y1NFQVFRQWhBZ05BSUFvZ0FrRUNkQ0lEYWlBTElBSkJBM1JxSWdkQkhHb2dCMEVVYWlBSFFReHFJQWY5Q1FJRS9WWUNBQUg5VmdJQUF2MVdBZ0FEL1FzQ0FDQURJQWxxSUFkQkdHb2dCMEVRYWlBSFFRaHFJQWY5Q1FJQS9WWUNBQUg5VmdJQUF2MVdBZ0FEL1FzQ0FDQUNRUVJxSWdJZ0FFY05BQXNnQUNBR1JnMEJDeUFBUVFGeUlRTWdCa0VCY1FSQUlBb2dBRUVDZENJQ2FpQUxJQUJCQTNScUlnQW9BZ1EyQWdBZ0FpQUphaUFBS0FJQU5nSUFJQU1oQUFzZ0F5QUdSZzBBQTBBZ0NpQUFRUUowSWdKcUlBc2dBRUVEZEdvaUF5Z0NCRFlDQUNBQ0lBbHFJQU1vQWdBMkFnQWdDaUFBUVFGcUlnTkJBblFpQW1vZ0N5QURRUU4wYWlJREtBSUVOZ0lBSUFJZ0NXb2dBeWdDQURZQ0FDQUFRUUpxSWdBZ0JrY05BQXNMSUFVZ0JDZ0NxQVkyQXF3R0lBNUJBV29pRGlBTlJ3MEFDd3NnQVNFRERBRUxJQWhCREdvRVFDQUlLQUlNSWdFb0FqQWlBQVIvSUFBUUVDQUlLQUlNQlNBQkN4QVFJQWhCQURZQ0RBc0xJQWhCRUdva0FDQURDL2tFQVFoL0l3QkJnQUpySWdNa0FDQUFCRUJCL0F4QkVTQUNFQjBnQXlBQUtBSUFOZ0x3QVNBQ1Fab1JJQU5COEFGcUVCWWdBeUFBS0FJRU5nTGdBU0FDUWFjUklBTkI0QUZxRUJZZ0F5QUFLQUlJTmdMUUFTQUNRWUkzSUFOQjBBRnFFQllnQXlBQUtBSVFOZ0xBQVNBQ1FmMFFJQU5Cd0FGcUVCWWdBVUVBU2dSQUEwQWdBQ2dDMENzaEJDQURJQWMyQXJBQklBSkJvZzBnQTBHd0FXb1FGaUFESUFRZ0IwRzRDR3hxSWdRb0FnQTJBcUFCSUFKQm1SRWdBMEdnQVdvUUZpQURJQVFvQWdRMkFwQUJJQUpCOURjZ0EwR1FBV29RRmlBRElBUW9BZ2cyQW9BQklBSkJvRFlnQTBHQUFXb1FGaUFESUFRb0FndzJBbkFnQWtHd05pQURRZkFBYWhBV0lBTWdCQ2dDRURZQ1lDQUNRWWdSSUFOQjRBQnFFQllnQXlBRUtBSVVOZ0pRSUFKQnRqZ2dBMEhRQUdvUUZrSFZDMEVYSUFJUUhTQUVLQUlFQkVBZ0JFR3dCMm9oQmlBRVFhd0dhaUVJUVFBaEJRTkFJQWdnQlVFQ2RDSUphaWdDQUNFS0lBTWdCaUFKYWlnQ0FEWUNSQ0FESUFvMkFrQWdBa0dMRENBRFFVQnJFQllnQlVFQmFpSUZJQVFvQWdSSkRRQUxDeUFDRUc0Z0F5QUVLQUlZTmdJd0lBSkJ3RFlnQTBFd2FoQVdJQU1nQkNnQ3BBWTJBaUFnQWtIeE5pQURRU0JxRUJaQkFTRUdRZTBMUVJRZ0FoQWRBa0FnQkNnQ0dFRUJSd1JBSUFRb0FnUWlCVUVBVEEwQklBVkJBMnhCQW1zaEJnc2dCRUVjYWlFSVFRQWhCUU5BSUFNZ0NDQUZRUU4wYWlrQ0FFSWdpVGNERUNBQ1FZc01JQU5CRUdvUUZpQUZRUUZxSWdVZ0JrY05BQXNMSUFJUWJpQURJQVFvQXFnR05nSUFJQUpCNERZZ0F4QVdRWmtNUVFVZ0FoQWRJQWRCQVdvaUJ5QUJSdzBBQ3d0Qm1neEJCQ0FDRUIwTElBTkJnQUpxSkFBTDVnb0RDWDhCZXdGK0l3QkJzQUZySWdVa0FBSkFJQUZCZ0FOeEJFQkJuaTFCQ3lBQ0VCME1BUXNDUUNBQlFRRnhSUTBBSUFBb0FrZ2lCa1VOQUNNQVFkQUFheUlESkFCQjdneEJEU0FDRUIwZ0EwRUFPZ0JQSUFOQkNUb0FUaUFESUFZcEFnQTNBa1FnQXlBRFFjNEFhaUlFTmdKQUlBSkJoamtnQTBGQWF4QVdJQU1nQmlrQ0NEY0NOQ0FESUFRMkFqQWdBa0gxT0NBRFFUQnFFQllnQXlBR0tBSVFOZ0lrSUFNZ0JEWUNJQ0FDUVpNM0lBTkJJR29RRmdKQUlBWW9BaGhGRFFBZ0JpZ0NFRVVOQUFOQUlBTWdBMEhPQUdvaUNqWUNFQ0FESUFjMkFoUWdBa0dPRFNBRFFSQnFFQllnQmlnQ0dDQUhRVFJzYWlFSUl3QkJNR3NpQkNRQUlBUkJDVHNBTGlBRVFRazZBQzBnQkNBSUtRSUFOd0lrSUFRZ0JFRXRhaUlKTmdJZ0lBSkJ6ellnQkVFZ2FoQVdJQVFnQ0NnQ0dEWUNGQ0FFSUFrMkFoQWdBa0hGT0NBRVFSQnFFQllnQkNBSUtBSWdOZ0lFSUFRZ0NUWUNBQ0FDUWFvNElBUVFGaUFFUVRCcUpBQWdBeUFLTmdJQUlBSkJsQXdnQXhBV0lBZEJBV29pQnlBR0tBSVFTUTBBQ3d0Qm5BeEJBaUFDRUIwZ0EwSFFBR29rQUFzQ1FDQUJRUUp4UlEwQUlBQW9Ba2hGRFFCQitRMUJKQ0FDRUIwZ0JTQUFLUUpVTndPZ0FTQUNRZWNSSUFWQm9BRnFFQllnQlNBQUtRSmNOd09RQVNBQ1FjVVJJQVZCa0FGcUVCWWdCU0FBS1FOb053T0FBU0FDUWRjUklBVkJnQUZxRUJZZ0FDZ0NEQ0FBS0FKSUtBSVFJQUlRUzBHY0RFRUNJQUlRSFFzQ1FDQUJRUWh4UlEwQUlBQW9Ba2hGRFFBZ0FDZ0NhQ0FBS0FKc2JDSUVSUTBBSUFBb0Fwd0JJUU1EUUNBRElBQW9Ba2dvQWhBZ0FoQkxJQU5CakN4cUlRTWdDMEVCYWlJTElBUkhEUUFMQ3lBQlFSQnhSUTBBSUFBb0FzZ0JJUUZCMHcxQkpTQUNFQjBnQlNBQi9RQURBUDBMQkhBZ0FrSEpLeUFGUWZBQWFoQVdRY0VOUVJFZ0FoQWRBa0FnQVNnQ0hFVU5BQ0FCS0FJWVJRMEFRUUFoQXdOQUlBRW9BaHdnQTBFWWJHb2lBQzhCQUNFRUlBQXBBd2doRFNBRklBQW9BaEEyQW1BZ0JTQU5Od05ZSUFVZ0JEWUNVQ0FDUVlzNElBVkIwQUJxRUJZZ0EwRUJhaUlESUFFb0FoaEpEUUFMQzBHYURFRUVJQUlRSFFKQUlBRW9BaWdpQkVVTkFDQUJLQUlrSWdkRkRRQkJBQ0VEUVFBaEFBSkFJQWRCQkU4RVFDQUhRWHh4SVFBRFFDQUVJQU5CQTNKQktHeHFRUVJxSUFRZ0EwRUNja0VvYkdwQkJHb2dCQ0FEUVFGeVFTaHNha0VFYWlBRUlBTkJLR3hxL1FrQ0JQMVdBZ0FCL1ZZQ0FBTDlWZ0lBQXlBTS9hNEJJUXdnQTBFRWFpSURJQUJIRFFBTElBd2dEQ0FNL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL2E0Qklnd2dEQ0FNL1EwRUJRWUhBQUVDQXdBQkFnTUFBUUlEL2E0Qi9Sc0FJUU1nQUNBSFJnMEJDd05BSUFRZ0FFRW9iR29vQWdRZ0Eyb2hBeUFBUVFGcUlnQWdCMGNOQUFzTElBTkZEUUJCc0ExQkVDQUNFQjBnQVNnQ0pBUkFJQUVvQWlnaEFFRUFJUWNEUUNBRklBQWdCMEVvYkNJRWFpZ0NCQ0lHTmdKRUlBVWdCellDUUNBQ1FkRTRJQVZCUUdzUUZpQUJLQUlvSVFBQ1FDQUdSUTBBUVFBaEF5QUFJQVJxS0FJUVJRMEFBMEFnQVNnQ0tDQUVhaWdDRUNBRFFSaHNhaUlBL1FBREFDRU1JQVVnQUNrREVEY0RPQ0FGSUF6OUN3TW9JQVVnQXpZQ0lDQUNRYVhSQUNBRlFTQnFFQllnQTBFQmFpSURJQVpIRFFBTElBRW9BaWdoQUFzQ1FDQUFJQVJxSWdZb0FoaEZEUUJCQUNFRElBWW9BaFJGRFFBRFFDQUFJQVJxS0FJWUlBTkJHR3hxSWdBdkFRQWhCaUFBS1FNSUlRMGdCU0FBS0FJUU5nSVFJQVVnRFRjRENDQUZJQVkyQWdBZ0FrR0xPQ0FGRUJZZ0EwRUJhaUlESUFFb0FpZ2lBQ0FFYWlnQ0ZFa05BQXNMSUFkQkFXb2lCeUFCS0FJa1NRMEFDd3RCbWd4QkJDQUNFQjBMUVp3TVFRSWdBaEFkQ3lBRlFiQUJhaVFBQzQ4Q0FRTi9Ba0JCQVVIb0FSQVRJZ0VFZnlBQlFRRTJBZ0FnQVVFQk5nSzRBU0FCSUFFdEFMd0JRUVp5T2dDOEFTQUJRUUZCakN3UUV5SUFOZ0lNSUFCRkRRRWdBVUVCUWVnSEVCTWlBRFlDRUNBQVJRMEJJQUZDQURjRE1DQUJRWDgyQWl3Z0FVSG9CellDRkFKQVFRRkJNQkFUSWdBRVFDQUFRUUEyQWhnZ0FFSGtBRFlDSUNBQVFlUUFRUmdRRXlJQ05nSWNJQUlOQVNBQUVCQUxJQUZCQURZQ3lBRU1BZ3NnQUVFQU5nSW9JQUVnQURZQ3lBRWdBUkF6SWdBMkFzUUJJQUJGRFFFZ0FSQXpJZ0EyQXNBQklBQkZEUUVDUUJDUkFVVU5BQXNnQVVFQUVHWWlBRFlDMUFFZ0FFVUVRQ0FCUVFBUVppSUFOZ0xVQVNBQVJRMENDeUFCQlVFQUN3OExJQUVRT0VFQUM0MEpBZ2wvQVg0akFFSFFBV3NpQnlRQUlBQW9Ba2doQ1FKQUFrQUNRQ0FBS0FKb1FRRkhEUUFnQUNnQ2JFRUJSdzBBSUFBb0Fwd0JLQUxjS3cwQkN5QUFLQUlJUVFoR0RRQWdCa0VCUWVIT0FFRUFFQThNQVFzQ1FDQUJLQUlRSWd4RkRRQWdBQ2dDb0FFaENpQUJLQUlZSVFzZ0RFRUlUd1JBSUF4QmVIRWhEd05BSUFzZ0NFRTBiR29nQ2pZQ0tDQUxJQWhCQVhKQk5HeHFJQW8yQWlnZ0N5QUlRUUp5UVRSc2FpQUtOZ0lvSUFzZ0NFRURja0UwYkdvZ0NqWUNLQ0FMSUFoQkJISkJOR3hxSUFvMkFpZ2dDeUFJUVFWeVFUUnNhaUFLTmdJb0lBc2dDRUVHY2tFMGJHb2dDallDS0NBTElBaEJCM0pCTkd4cUlBbzJBaWdnQ0VFSWFpRUlJQTVCQ0dvaURpQVBSdzBBQ3dzZ0RFRUhjU0lNUlEwQUEwQWdDeUFJUVRSc2FpQUtOZ0lvSUFoQkFXb2hDQ0FOUVFGcUlnMGdERWNOQUFzTElBSWdBM0lnQkhJZ0JYSkZCRUFnQmtFRVFhOHdRUUFRRHlBQVFnQTNBaHdnQUNBQUtRSm9Od0lrSUFFZ0NmMEFBZ0Q5Q3dJQUlBRWdCaEEzSVFnTUFRc2dBa0VBU0FSQUlBY2dBallDQUNBR1FRRkJ4OTBBSUFjUUQwRUFJUWdNQVFzZ0FpQUpLQUlJSWdoTEJFQWdCeUFJTmdJVUlBY2dBallDRUNBR1FRRkJtK0VBSUFkQkVHb1FEMEVBSVFnTUFRc0NRQ0FDSUFrb0FnQWlDRWtFUUNBSElBZzJBc1FCSUFjZ0FqWUN3QUVnQmtFQ1FmdmpBQ0FIUWNBQmFoQVBJQUJCQURZQ0hDQUpLQUlBSVFJTUFRc2dBQ0FDSUFBb0FsUnJJQUFvQWx4dU5nSWNDeUFCSUFJMkFnQWdBMEVBU0FSQUlBY2dBellDSUNBR1FRRkJoOTBBSUFkQklHb1FEMEVBSVFnTUFRc2dBeUFKS0FJTUlnSkxCRUFnQnlBQ05nSTBJQWNnQXpZQ01DQUdRUUZCN3Q4QUlBZEJNR29RRDBFQUlRZ01BUXNDUUNBRElBa29BZ1FpQWtrRVFDQUhJQUkyQXJRQklBY2dBellDc0FFZ0JrRUNRY3ppQUNBSFFiQUJhaEFQSUFCQkFEWUNJQ0FKS0FJRUlRTU1BUXNnQUNBRElBQW9BbGhySUFBb0FtQnVOZ0lnQ3lBQklBTTJBZ1JCQUNFSUlBUkJBRXdFUUNBSElBUTJBa0FnQmtFQlFjWGNBQ0FIUVVCckVBOE1BUXNnQkNBSktBSUFJZ0pKQkVBZ0J5QUNOZ0pVSUFjZ0JEWUNVQ0FHUVFGQm91TUFJQWRCMEFCcUVBOE1BUXNDUUNBRUlBa29BZ2dpQWtzRVFDQUhJQUkyQXFRQklBY2dCRFlDb0FFZ0JrRUNRY1BnQUNBSFFhQUJhaEFQSUFBZ0FDZ0NhRFlDSkNBSktBSUlJUVFNQVFzZ0FDQUFOUUpjSWhBZ0JDQUFLQUpVYTYxOFFnRjlJQkNBUGdJa0N5QUJJQVEyQWdnZ0JVRUFUQVJBSUFjZ0JUWUNZQ0FHUVFGQmd0d0FJQWRCNEFCcUVBOE1BUXNnQlNBSktBSUVJZ0pKQkVBZ0J5QUNOZ0owSUFjZ0JUWUNjQ0FHUVFGQjh1RUFJQWRCOEFCcUVBOE1BUXNDUUNBRklBa29BZ3dpQWtzRVFDQUhJQUkyQXBRQklBY2dCVFlDa0FFZ0JrRUNRWlhmQUNBSFFaQUJhaEFQSUFBZ0FDZ0NiRFlDS0NBSktBSU1JUVVNQVFzZ0FDQUFOUUpnSWhBZ0JTQUFLQUpZYTYxOFFnRjlJQkNBUGdJb0N5QUJJQVUyQWd3Z0FDQUFMUUJFUVFKeU9nQkVJQUVnQmhBM0lnaEZCRUJCQUNFSURBRUxJQWNnQWYwQUFnRDlDd1NBQVNBR1FRUkJ0RGtnQjBHQUFXb1FEd3NnQjBIUUFXb2tBQ0FJQzVVQ0FRZC9Jd0JCSUdzaUJTUUFBbjhnQUNnQ1NDSUVSUVJBSUFOQkFVSEY1Z0JCQUJBUFFRQU1BUXRCQUVFRUlBUW9BaEFRRXlJRVJRMEFHaUFCQkVBZ0FDZ0NTQ0VJQTBBQ1FBSkFJQUlnQmtFQ2RHb29BZ0FpQnlBSUtBSVFUd1JBSUFVZ0J6WUNFQ0FEUVFGQitSRWdCVUVRYWhBUERBRUxJQVFnQjBFQ2RHb2lDU2dDQUVVTkFTQUZJQWMyQWdBZ0EwRUJRWTBhSUFVUUR3c2dCQkFRUVFBTUF3c2dDVUVCTmdJQUlBWkJBV29pQmlBQlJ3MEFDd3NnQkJBUUlBQW9Ba0FRRUFKQUlBRUVRQ0FBSUFGQkFuUWlCQkFVSWdNMkFrQWdBMFVFUUNBQVFRQTJBanhCQUF3REN5QURJQUlnQkJBU0dnd0JDeUFBUVFBMkFrQUxJQUFnQVRZQ1BFRUJDeUVLSUFWQklHb2tBQ0FLQzd3RkFRZC9JQUZCQVVFa0VCTWlCRFlDU0FKQUFrQWdCRVVOQUFKQUlBRW9Bc1FCUVJJZ0F4QWtCRUFnQVNnQ3hBRkJFeUFERUNRTkFRc01BZ3NnQVNnQ3hBRWlCeWdDQUNFR0lBY29BZ2doQkFKQUlBWUVRRUVCSVFVZ0JrRUJSd1JBSUFaQmZuRWhDUU5BQW45QkFDQUZSUTBBR2tFQUlBRWdBQ0FESUFRb0FnQVJBQUJGRFFBYUlBRWdBQ0FESUFRb0FnUVJBQUJCQUVjTElRVWdCRUVJYWlFRUlBaEJBbW9pQ0NBSlJ3MEFDd3NDUUFKQUlBWkJBWEVFUUNBRlJRMEJJQUVnQUNBRElBUW9BZ0FSQUFCQkFFY2hCUXNnQjBFQU5nSUFJQVZGRFFFTUF3c2dCMEVBTmdJQUN3d0RDeUFIUVFBMkFnQUxBa0FnQVNnQ3dBRkJGQ0FERUNRRVFDQUJLQUxBQVVFVklBTVFKQTBCQ3d3Q0N5QUJLQUxBQVNJSEtBSUFJUVlnQnlnQ0NDRUVBa0FnQmdSQVFRRWhCU0FHUVFGeElRa2dCa0VCUmdSL1FRQUZJQVpCZm5FaEJrRUFJUWdEUUFKL1FRQWdCVVVOQUJwQkFDQUJJQUFnQXlBRUtBSUFFUUFBUlEwQUdpQUJJQUFnQXlBRUtBSUVFUUFBUVFCSEN5RUZJQVJCQ0dvaEJDQUlRUUpxSWdnZ0JrY05BQXNnQlVVTElRWUNRQUpBSUFrRVFDQUdEUUVnQVNBQUlBTWdCQ2dDQUJFQUFFRUFSeUVGQ3lBSFFRQTJBZ0FnQlVVTkFRd0RDeUFIUVFBMkFnQUxEQU1MSUFkQkFEWUNBQXNnQWtFQlFTUVFFeUlBTmdJQUlBQkZEUUFnQVNnQ1NDQUFFRDhnQVNnQ3lBRWdBU2dDYkNBQktBSm9iQ0lBTmdJa0lBQkJLQkFUSVFNZ0FTZ0N5QUVpQUNBRE5nSW9Ba0FnQTBVTkFDQUFLQUlrUlFSQVFRRVBDMEVBSVFRRFFDQURJQVJCS0d3aUJXb2lBRUVBTmdJVUlBQkI1QUEyQWh4QjVBQkJHQkFUSVFBZ0JTQUJLQUxJQVNJSEtBSW9JZ05xSUFBMkFoZ2dBRVVOQVVFQklRb2dCRUVCYWlJRUlBY29BaVJKRFFBTERBRUxJQUlvQWdBUUlVRUFJUW9nQWtFQU5nSUFDeUFLRHdzZ0FTZ0NTQkFoSUFGQkFEWUNTRUVBQ3dJQUN3UUFRUUVMTkFBQ1FDQUFSUTBBSUFGRkRRQWdBQ0FCS0FJRU5nS2tBU0FBSUFFb0FnQTJBcUFCSUFBZ0FTZ0N1RUJCQW5FMkF1QUJDd3UwQlFFSWZ5QUFLQUlZSWdRb0FoQWlDVVVFUUVFQUR3c2dCQ2dDR0NFRklBQW9BaFFvQWdBb0FoUWhCQUpBQWtBZ0FVVUVRRUVBSVFFRFFDQUZLQUlZSVFJZ0JDZ0NIQ0FFS0FJWVFaZ0JiR29pQUVHTUFXc29BZ0FpQnlBQVFaUUJheWdDQUNJSWF5RURJQUJCa0FGcktBSUFJQUJCbUFGcktBSUFheUVBQWtBZ0J5QUlSZzBBSUFDdElBT3Rma0lnaUZBTkFBd0VDeUFBSUFOc0lRTUNRRUVFSUFKQkEzWWdBa0VIY1VFQVIyb2lBQ0FBUVFOR0d5SUNSUTBBSUFLdElBT3Rma0lnaUZBTkFBd0VDMEYvSVFBZ0FpQURiQ0lDSUFGQmYzTkxEUUlnQkVITUFHb2hCQ0FGUVRScUlRVWdBU0FDYWlJQklRQWdCa0VCYWlJR0lBbEhEUUFMREFFTFFRQWhBU0FBS0FKQVJRUkFBMEFnQlNnQ0dDRUNJQVFvQWh3Z0JDZ0NHRUdZQVd4cUlnQkJCR3NvQWdBaUJ5QUFRUXhyS0FJQUlnaHJJUU1nQUVFSWF5Z0NBQ0FBUVJCcktBSUFheUVBQWtBZ0J5QUlSZzBBSUFDdElBT3Rma0lnaUZBTkFBd0VDeUFBSUFOc0lRTUNRRUVFSUFKQkEzWWdBa0VIY1VFQVIyb2lBQ0FBUVFOR0d5SUNSUTBBSUFLdElBT3Rma0lnaUZBTkFBd0VDMEYvSVFBZ0FpQURiQ0lDSUFGQmYzTkxEUUlnQkVITUFHb2hCQ0FGUVRScUlRVWdBU0FDYWlJQklRQWdCa0VCYWlJR0lBbEhEUUFMREFFTEEwQWdCU2dDR0NFQ0lBUW9BaHdnQkNnQ0dFR1lBV3hxSWdCQmpBRnJLQUlBSWdjZ0FFR1VBV3NvQWdBaUNHc2hBeUFBUVpBQmF5Z0NBQ0FBUVpnQmF5Z0NBR3NoQUFKQUlBY2dDRVlOQUNBQXJTQURyWDVDSUloUURRQU1Bd3NnQUNBRGJDRURBa0JCQkNBQ1FRTjJJQUpCQjNGQkFFZHFJZ0FnQUVFRFJoc2lBa1VOQUNBQ3JTQURyWDVDSUloUURRQU1Bd3RCZnlFQUlBSWdBMndpQWlBQlFYOXpTdzBCSUFSQnpBQnFJUVFnQlVFMGFpRUZJQUVnQW1vaUFTRUFJQVpCQVdvaUJpQUpSdzBBQ3dzZ0FBOExRWDhMMmdRQkMzOGdBQVJBSUFBb0FoUWlBUVJBSUFFb0FnQWlCUVJBSUFVb0FoUWhBeUFGS0FJUUJIOUJFRUVSSUFBdEFDaEJBWEViSVFnRFFDQURLQUljSWdJRVFDQURLQUlnSWdGQm1BRnVJUXBCQUNFSklBRkJtQUZQQkg4RFFDQUNLQUl3SWdFRVFDQUNLQUkwSWdaQktHNGhCMEVBSVFRZ0JrRW9Ud1IvQTBBZ0FTZ0NJQkFwSUFGQkFEWUNJQ0FCS0FJa0VDa2dBVUVBTmdJa0lBRWdDQkVDQUNBQlFTaHFJUUVnQkVFQmFpSUVJQWRIRFFBTElBSW9BakFGSUFFTEVCQWdBa0VBTmdJd0N5QUNLQUpVSWdFRVFDQUNLQUpZSWdaQktHNGhCMEVBSVFRZ0JrRW9Ud1IvQTBBZ0FTZ0NJQkFwSUFGQkFEWUNJQ0FCS0FJa0VDa2dBVUVBTmdJa0lBRWdDQkVDQUNBQlFTaHFJUUVnQkVFQmFpSUVJQWRIRFFBTElBSW9BbFFGSUFFTEVCQWdBa0VBTmdKVUN5QUNLQUo0SWdFRVFDQUNLQUo4SWdaQktHNGhCMEVBSVFRZ0JrRW9Ud1IvQTBBZ0FTZ0NJQkFwSUFGQkFEWUNJQ0FCS0FJa0VDa2dBVUVBTmdJa0lBRWdDQkVDQUNBQlFTaHFJUUVnQkVFQmFpSUVJQWRIRFFBTElBSW9BbmdGSUFFTEVCQWdBa0VBTmdKNEN5QUNRWmdCYWlFQ0lBbEJBV29pQ1NBS1J3MEFDeUFES0FJY0JTQUNDeEFRSUFOQkFEWUNIQXNDUUNBREtBSW9SUTBBSUFNb0FpUWlBVVVOQUNBQkVCQWdBLzBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDBMQWlRTElBTW9BalFRRUNBRFFjd0FhaUVESUF0QkFXb2lDeUFGS0FJUVNRMEFDeUFGS0FJVUJTQURDeEFRSUFWQkFEWUNGQ0FBS0FJVUtBSUFFQkFnQUNnQ0ZDSUJRUUEyQWdBTElBRVFFQ0FBUVFBMkFoUUxJQUFvQWtRUUVDQUFFQkFMQzhzVEFSVi9Jd0JCSUdzaUR5UUFJQThnQlRZQ0dDQUJJQU1vQWh4QnpBQnNhaWdDSENBREtBSWdRWmdCYkdvaEVRSkFBa0FnQXlnQ0tBMEFJQkVvQWhoRkRRQWdFVUVjYWlFSkEwQUNRQ0FKS0FJSUlBa29BZ0JIQkg4Z0NTZ0NEQ0FKS0FJRVJnVkJBUXNOQUNBREtBSWtJZ0VnQ1NnQ0dFRW9iazhFUUNBSVFRRkJnaFZCQUJBUERBUUxJQWtvQWhRZ0FVRW9iR29pQVNnQ0lCQmlJQUVvQWlRUVlpQUJLQUlVSUFFb0FoQnNJZzFGRFFBZ0FTZ0NHQ0VCSUExQkNFOEVRQ0FOUVhoeElRdEJBQ0VLQTBBZ0FVSUFOd0xvQXlBQlFnQTNBcWdESUFGQ0FEY0M2QUlnQVVJQU53S29BaUFCUWdBM0F1Z0JJQUZDQURjQ3FBRWdBVUlBTndKb0lBRkNBRGNDS0NBQlFZQUVhaUVCSUFwQkNHb2lDaUFMUncwQUN3dEJBQ0VLSUExQkIzRWlEVVVOQUFOQUlBRkNBRGNDS0NBQlFVQnJJUUVnQ2tFQmFpSUtJQTFIRFFBTEN5QUpRU1JxSVFrZ0RFRUJhaUlNSUJFb0FoaEpEUUFMQ3lBRklRMENRQ0FDTFFBQVFRSnhSUTBBSUFkQkJVMEVRQ0FJUVFKQnNSOUJBQkFQREFFTEFrQWdCUzBBQUVIL0FVWUVRQ0FGTFFBQlFaRUJSZzBCQ3lBSVFRSkIyeDlCQUJBUERBRUxJQThnQlVFR2FpSU5OZ0lZQzBFVUVCUWlDMFVOQUFKL0lBQXRBR3hCQVhFRVFDQUFRU2hxSVFjZ0FDZ0NLQ0VOSUFCQkxHb01BUXNnQWkwQWlDeEJBbkVFUUNBQ1FiQW9haUVISUFJb0FyQW9JUTBnQWtHOEtHb01BUXNnRHlBRklBZHFJQTFyTmdJY0lBOUJHR29oQnlBUFFSeHFDeUlTS0FJQUlRQWdDMElBTndJTUlBc2dEVFlDQ0NBTElBMDJBZ0FnQ3lBQUlBMXFOZ0lFSUF0QkFSQWZSUVJBSUFzUVpCb2dDeWdDQ0NBTEtBSUFheUVhSUFzUUxDQWFJQTFxSVFFQ1FDQUNMUUFBUVFSeFJRMEFJQWNvQWdBZ0VpZ0NBQ0FCYTJwQkFVMEVRQ0FJUVFKQm1DRkJBQkFQREFFTEFrQWdBUzBBQUVIL0FVWUVRQ0FCTFFBQlFaSUJSZzBCQ3lBSVFRSkJ3aUZCQUJBUERBRUxJQUZCQW1vaEFRc2dFaUFTS0FJQUlBY29BZ0FnQVd0cU5nSUFJQWNnQVRZQ0FDQUVRUUEyQWdBZ0JpQVBLQUlZSUFWck5nSUFRUUVoRnd3QkN5QVJLQUlZQkVBZ0VVRWNhaUVRQTBBZ0F5Z0NKQ0VBSUJBb0FoUWhBUUpBSUJBb0FnZ2dFQ2dDQUVjRWZ5QVFLQUlNSUJBb0FnUkdCVUVCQ3cwQUlBRWdBRUVvYkdvaUZDZ0NGQ0FVS0FJUWJDSVlSUTBBSUJRb0FoZ2hDVUVBSVJVRFFBSkFBbjhnQ1NnQ0tFVUVRQ0FMSUJRb0FpQWdGU0FES0FJb1FRRnFFR0FNQVFzZ0MwRUJFQjhMUlFSQUlBbEJBRFlDSkF3QkN5QUpLQUlvUlFSQVFRQWhBUU5BSUFFaUFFRUJhaUVCSUFzZ0ZDZ0NKQ0FWSUFBUVlFVU5BQXNnRUNnQ0hDRUJJQWxCQXpZQ0lDQUpJQUUyQWhnZ0NTQUJJQUJyUVFGcU5nSWNDeUFKQW45QkFTQUxRUUVRSDBVTkFCcEJBaUFMUVFFUUgwVU5BQm9nQzBFQ0VCOGlBRUVEUndSQUlBQkJBMm9NQVFzZ0MwRUZFQjhpQUVFZlJ3UkFJQUJCQm1vTUFRc2dDMEVIRUI5QkpXb0xOZ0lrUVFBaEFRTkFJQUVpQUVFQmFpRUJJQXRCQVJBZkRRQUxJQWtnQ1NnQ0lDQUFhallDSUFKQUFrQUNmeUFKS0FJb0lnQkZCRUFnQWlnQzBDc2dBeWdDSEVHNENHeHFLQUlRSVFBZ0NTZ0NNRVVFUUNBSktBSUFRZkFCRUJjaUFVVU5CQ0FKSUFFMkFnQWdBU0FKS0FJd1FSaHNha0VBUWZBQkVCVWFJQWxCQ2pZQ01Bc2dDU2dDQUNJQi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9Rc0NBQ0FCUWdBM0FoQkJBVUVLUWUwQUlBQkJBWEViSUFCQkJIRWJJUXBCQUF3QkN5QUpLQUlBSWdFZ0FFRUJheUlNUVJoc2FpSUtLQUlFSUFvb0FneEhEUUVnQWlnQzBDc2dBeWdDSEVHNENHeHFLQUlRSVFvZ0NTZ0NNQ0lNSUFCQkFXcEpCSDhnQVNBTVFRcHFJZ3hCR0d3UUZ5SUJSUTBESUFrZ0FUWUNBQ0FCSUFrb0FqQkJHR3hxUVFCQjhBRVFGUm9nQ1NBTU5nSXdJQWtvQWdBRklBRUxJQUJCR0d4cUlnSDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlDd0lBSUFGQ0FEY0NFQUovUVFFZ0NrRUVjUTBBR2tIdEFDQUtRUUZ4UlEwQUdrRUNRUUpCQVNBQlFReHJLQUlBSWdwQkNrWWJJQXBCQVVZYkN5RUtJQUFMSVF3Z0FTQUtOZ0lNQ3lBSktBSWtJUUFnQWlnQzBDc2dBeWdDSEVHNENHeHFMUUFRUWNBQWNRUkFBMEFnREVFWWJDSU9JQWtvQWdCcUlBQkJBU0FNR3lJVE5nSVFJQWtvQWlBaEZrRUFJUW9nQUNFQklCTkJBazhFUUFOQUlBcEJBV29oQ2lBQlFRTkxJUnNnQVVFQmRpRUJJQnNOQUFzTElBb2dGbW9pQVVFaFR3UkFJQThnQVRZQ0VDQUlRUUZCdlBRQUlBOUJFR29RRHd3REN5QUxJQUVRSHlFS0lBa29BZ0FpQVNBT2FpSU9JQW8yQWhRZ0FDQU9LQUlRYXlJQVFRQk1EUU1nQWlnQzBDc2dBeWdDSEVHNENHeHFLQUlRSVFvZ0NTZ0NNQ0lPSUF4QkFtcEpCRUFnQVNBT1FRcHFJZzVCR0d3UUZ5SUJSUTBESUFrZ0FUWUNBQ0FCSUFrb0FqQkJHR3hxUVFCQjhBRVFGUm9nQ1NBT05nSXdJQWtvQWdBaEFRc2dBU0FNUVFGcUlneEJHR3hxSWdIOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOUN3SUFJQUZDQURjQ0VDQUJBbjlCQVNBS1FRUnhEUUFhUWUwQUlBcEJBWEZGRFFBYVFRSkJBa0VCSUFGQkRHc29BZ0FpQVVFS1Joc2dBVUVCUmhzTE5nSU1EQUFMQUFzRFFDQU1RUmhzSWc0Z0NTZ0NBR29pQVNBQktBSU1JQUVvQWdScklnRWdBQ0FBSUFGS0d5SUJOZ0lRSUFrb0FpQWhFMEVBSVFvZ0FVRUNUd1JBQTBBZ0NrRUJhaUVLSUFGQkEwc2hIQ0FCUVFGMklRRWdIQTBBQ3dzZ0NpQVRhaUlCUVNGUEJFQWdEeUFCTmdJQUlBaEJBVUc4OUFBZ0R4QVBEQUlMSUFzZ0FSQWZJUW9nQ1NnQ0FDSUJJQTVxSWc0Z0NqWUNGQ0FBSUE0b0FoQnJJZ0JCQUV3TkFpQUNLQUxRS3lBREtBSWNRYmdJYkdvb0FoQWhDaUFKS0FJd0lnNGdERUVDYWtrRVFDQUJJQTVCQ21vaURrRVliQkFYSWdGRkRRSWdDU0FCTmdJQUlBRWdDU2dDTUVFWWJHcEJBRUh3QVJBVkdpQUpJQTQyQWpBZ0NTZ0NBQ0VCQ3lBQklBeEJBV29pREVFWWJHb2lBZjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDBMQWdBZ0FVSUFOd0lRSUFFQ2YwRUJJQXBCQkhFTkFCcEI3UUFnQ2tFQmNVVU5BQnBCQWtFQ1FRRWdBVUVNYXlnQ0FDSUJRUXBHR3lBQlFRRkdHd3MyQWd3TUFBc0FDeUFMRUN3TUJRc2dDVUZBYXlFSklCVkJBV29pRlNBWVJ3MEFDd3NnRUVFa2FpRVFJQmxCQVdvaUdTQVJLQUlZU1EwQUN3c2dDeEJrUlFSQUlBc1FMQXdCQ3lBTEtBSUlJQXNvQWdCcklSMGdDeEFzSUIwZ0RXb2hBUUpBSUFJdEFBQkJCSEZGRFFBZ0J5Z0NBQ0FTS0FJQUlBRnJha0VCVFFSQUlBaEJBa0dZSVVFQUVBOE1BUXNDUUNBQkxRQUFRZjhCUmdSQUlBRXRBQUZCa2dGR0RRRUxJQWhCQWtIQ0lVRUFFQThNQVFzZ0FVRUNhaUVCQ3lBU0lCSW9BZ0FnQnlnQ0FDQUJhMm8yQWdBZ0J5QUJOZ0lBUVFFaEZ5QUVRUUUyQWdBZ0JpQVBLQUlZSUFWck5nSUFDeUFQUVNCcUpBQWdGd3VXSkFJVWZ3NStBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FBS0FKVURnVUFBUUlEQkFvTEFrQWdBQ2dDTkNJR0lBQW9Bc1FCSWdGSkJFQWdBQ2dDUUNJSElBRkJBV3BKRFFFTElBQW9BdXdCUVFGQjlEOUJBQkFQREF3TElBQW9BaXhGQkVBZ0FDZ0NKQ0VDUVFBaEFRd0ZDeUFBUVFBMkFpd2dBQ2dDUkNFRFFRRWhBUXdFQ3dKQUlBQW9BalFpQmlBQUtBTEVBU0lCU1FSQUlBQW9Ba0FpQnlBQlFRRnFTUTBCQ3lBQUtBTHNBVUVCUWFIQUFFRUFFQThNQ3dzZ0FDZ0NMRVVFUUNBQUtBSWtJUVJCQUNFQkRBZ0xJQUJCQURZQ0xDQUFLQUl3SVFOQkFTRUJEQWNMQWtBZ0FDZ0NOQ0lFSUFBb0FzUUJJZ3BKQkVBZ0FDZ0NRQ0lPSUFwQkFXcEpEUUVMSUFBb0F1d0JRUUZCcU1FQVFRQVFEd3dLQ3lBQUtBSXNSUVJBSUFBb0FpZ2hDd3dHQ3lBQVFnQTNBdVFCSUFCQkFEWUNMQ0FBS0FMSUFTRU1BMEFnRENBSFFRUjBhaUlGS0FJSUlnOEVRQ0FGS0FJTUlSSkJBQ0VCQTBBQ1FDQVBJQUZCZjNOcUloQWdFaUFCUVFSMGFpSVJLQUlBYWlJSlFSOUxEUUFnQlNnQ0FDSVRRWDhnQ1haTERRQWdBQ0FDSUJNZ0NYUWlDU0FDSUFsSkd5QUpJQUliSWdJMkF1UUJDd0pBSUJFb0FnUWdFR29pQ1VFZlN3MEFJQVVvQWdRaUVFRi9JQWwyU3cwQUlBQWdBeUFRSUFsMElna2dBeUFKU1JzZ0NTQURHeUlETmdMb0FRc2dBVUVCYWlJQklBOUhEUUFMQ3lBSFFRRnFJZ2NnQ2tjTkFBc2dBa1VOQnlBRFJRMEhJQUF0QUFCRkJFQWdBQ0FBS0FMUUFUWUNiQ0FBSUFBb0Fzd0JOZ0prSUFBZ0FDZ0MyQUUyQW5BZ0FDQUFLQUxVQVRZQ2FBc2dBQ2dDTUNFRlFRRWhBUXdGQ3dKQUlBQW9BalFpQlNBQUtBTEVBU0lKU1FSQUlBQW9Ba0FpRWlBSlFRRnFTUTBCQ3lBQUtBTHNBVUVCUWZ2QUFFRUFFQThNQ1FzZ0FDZ0NMRVVFUUNBQUtBTElBU0lOSUFBb0Fod2lCRUVFZEdvaEN5QUFLQUlvSVFnTUJBc2dBRUlBTndMa0FTQUFRUUEyQWl3Z0FDZ0N5QUVoRFFOQUlBMGdCa0VFZEdvaUNpZ0NDQ0lPQkVBZ0NpZ0NEQ0VRUVFBaEFRTkFBa0FnRGlBQlFYOXphaUlSSUJBZ0FVRUVkR29pRXlnQ0FHb2lERUVmU3cwQUlBb29BZ0FpRkVGL0lBeDJTdzBBSUFBZ0FpQVVJQXgwSWd3Z0FpQU1TUnNnRENBQ0d5SUNOZ0xrQVFzQ1FDQVRLQUlFSUJGcUlneEJIMHNOQUNBS0tBSUVJaEZCZnlBTWRrc05BQ0FBSUFNZ0VTQU1kQ0lNSUFNZ0RFa2JJQXdnQXhzaUF6WUM2QUVMSUFGQkFXb2lBU0FPUncwQUN3c2dCa0VCYWlJR0lBbEhEUUFMSUFKRkRRWWdBMFVOQmdKQUlBQXRBQUFFUUNBQUtBSnNJUVlNQVFzZ0FDQUFLQUxRQVNJR05nSnNJQUFnQUNnQ3pBRTJBbVFnQUNBQUtBTFlBVFlDY0NBQUlBQW9BdFFCTmdKb0MwRUJJUUVNQXdzQ1FDQUFLQUkwSWdZZ0FDZ0N4QUVpQVVrRVFDQUFLQUpBSWc4Z0FVRUJha2tOQVFzZ0FDZ0M3QUZCQVVIT3dBQkJBQkFQREFZTElBQW9BaXhGQkVBZ0FDZ0N5QUVnQUNnQ0hDSUdRUVIwYWlFRklBQW9BaWdoQjBFQUlRRU1BZ3NnQUNBR05nSWNJQUJCQURZQ0xFRUJJUUVNQVFzRFFBSi9Ba0FnQVVVRVFDQUNRUUZxSVFJTUFRc2dBQ0FETmdJb0lBQW9BamdnQTAwTkNTQUFLQUl3SVFSQkFBd0JDMEVCQ3lFQkEwQUNRQUpBQWtBQ1FDQUJSUVJBSUFBZ0JEWUNJQ0FFSUFBb0FqeFBEUUVnQUNBR05nSWNJQVloQVVFQUlRVU1CQXNnQUNBQ05nSWtJQUFvQWt3Z0FrMEVRQ0FBS0FJY0lRRkJBU0VGREFRTElBQW9BaEFnQUNnQ0lHd2dBQ2dDRENBQUtBSW9iR29nQUNnQ0ZDQUFLQUljYkdvZ0FDZ0NHQ0FDYkdvaUFTQUFLQUlJVHdSQURBd0xJQUFvQWdRZ0FVRUJkR29pQVM4QkFBMEJEQTBMSUFBb0FpaEJBV29oQXd3QkMwRUFJUUVNQXd0QkFTRUJEQUlMQTBBQ1FBSkFBa0FnQlVVRVFDQUJJQWRQRFFFZ0FDZ0NJQ0lGSUFBb0FzZ0JJQUZCQkhScUlnMG9BZ2hQRFFNZ0FDMEFBRVVFUUNBQUlBMG9BZ3dnQlVFRWRHb2lBU2dDRENBQktBSUliRFlDVEFzZ0FDZ0NTQ0VDUVFFaEFRd0ZDeUFBSUFGQkFXb2lBVFlDSEF3QkN5QUFLQUlnUVFGcUlRUkJBQ0VCREFNTFFRQWhCUXdCQzBFQklRVU1BQXNBQ3dBTEFBc0RRQUovQWtBZ0FVVUVRQ0FBSUFkQkFXb2lCellDS0F3QkN5QUdJQTlQRFFnZ0FFSUFOd0xrQVNBQUtBTElBU0FHUVFSMGFpSUZLQUlJSWd0RkRRZ2dCU2dDRENFS1FRQWhBa0VBSVFSQkFDRUJBMEFDUUNBTElBRkJmM05xSWdrZ0NpQUJRUVIwYWlJT0tBSUFhaUlJUVI5TERRQWdCU2dDQUNJTVFYOGdDSFpMRFFBZ0FDQUVJQXdnQ0hRaUNDQUVJQWhKR3lBSUlBUWJJZ1EyQXVRQkN3SkFJQTRvQWdRZ0NXb2lDRUVmU3cwQUlBVW9BZ1FpQ1VGL0lBaDJTdzBBSUFBZ0FpQUpJQWgwSWdnZ0FpQUlTUnNnQ0NBQ0d5SUNOZ0xvQVFzZ0FVRUJhaUlCSUF0SERRQUxJQVJGRFFZZ0FrVU5CZ0pBSUFBdEFBQUVRQ0FBS0FKc0lRSU1BUXNnQUNBQUtBTFFBU0lDTmdKc0lBQWdBQ2dDekFFMkFtUWdBQ0FBS0FMWUFUWUNjQ0FBSUFBb0F0UUJOZ0pvQzBFQURBRUxRUUVMSVFFRFFBSkFBa0FDUUFKQUlBRkZCRUFnQUNBQ05nTGdBU0FDSUFBb0FuQlBEUUVnQUNnQ1pDRU5RUUFoQVF3RUN5QUFLQUk0SUFkTkJFQWdBQ2dDSUNFRFFRRWhBUXdFQ3lBQUtBSVFJQUFvQWlCc0lBQW9BZ3dnQjJ4cUlBQW9BaFFnQm14cUlBQW9BaGdnQUNnQ0pHeHFJZ0VnQUNnQ0NFOEVRQXdMQ3lBQUtBSUVJQUZCQVhScUlnRXZBUUFOQVF3TUN5QUFJQVpCQVdvaUJqWUNIQXdCQzBFQUlRRU1Bd3RCQVNFQkRBSUxBMEFDUUFKQUFrQWdBQUovSUFGRkJFQWdBQ0FOTmdMY0FTQU5JQUFvQW1oUERRSWdBQ2dDTUF3QkN5QURRUUZxQ3lJRE5nSWdJQUFvQWp3aUFTQUZLQUlJSWdRZ0FTQUVTUnNnQTBzRVFDQUZLQUlBSWdFZ0FhMGlIaUFFSUFOQmYzTnFJZ2l0SWhhR0loY2dGb2luUncwRElBVW9BZ1FpQkVKL0lCYUlwM0VnQkVjTkF5QUVyU0lWSUJhR0loaENBWDBpR1NBQU5RTFlBWHdnR0lBaEh5QVpJQUFvQXRBQklnbXRmQ0FZZ0NFYUlCZENBWDBpR3lBQU5RTFVBWHdnRjRBaElDQWJJQUFvQXN3QklnNnRmQ0FYZ0NFY0lBRkNmeUFGS0FJTUlBTkJCSFJxSWdzb0FnQWlDaUFJYXEwaUhZaW5jU0FCUncwRElBUWdGU0FMS0FJRUlnRWdDR3F0SWhXR0lpRWdGWWluUncwRElBQW9BdUFCSWdTdElpSWdJWUpDQUZJRVFDQUVJQWxIRFFSQ2Z5QVZoa0ovaFNBYVF2Ly8vLzhQZ3lBV2hvTlFEUVFMSUFBb0F0d0JJZ1N0SWhVZ0hpQWRob0pDQUZJRVFDQUVJQTVIRFFSQ2Z5QWRoa0ovaFNBY1F2Ly8vLzhQZ3lBV2hvTlFEUVFMSUFzb0FnZ2lCRVVOQXlBTEtBSU1SUTBESUJ5bklnc2dJS2RHRFFNZ0dxY2lDQ0FmcDBZTkF5QUFJQUFvQWtRaUJ6WUNLQ0FBSUJVZ0czd2dGNENuSUFwMklBc2dDblpySUJrZ0lud2dHSUNuSUFGMklBZ2dBWFpySUFSc2FqWUNKRUVCSVFFTUJRc2dBQ2dDM0FFaUFTQUFLQUxrQVNJRWFpQUJJQVJ3YXlFTkRBRUxJQUFvQXVBQklnRWdBQ2dDNkFFaUJHb2dBU0FFY0dzaEFrRUFJUUVNQXd0QkFDRUJEQUVMUVFFaEFRd0FDd0FMQUFzQUN3TkFBbjhDUUNBQlJRUkFJQUFnQ0VFQmFpSUlOZ0lvREFFTElBQWdCallDNEFFZ0FDZ0NjQ0FHVFEwSElBQW9BbVFoRDBFQURBRUxRUUVMSVFFRFFBSkFBa0FDUUFKQUlBRkZCRUFnQUNBUE5nTGNBU0FQSUFBb0FtaFBEUUVnQUNBRk5nSWNJQVVoQkVFQUlRRU1CQXNnQUNnQ09DQUlUUVJBSUFBb0FpQWhCMEVCSVFFTUJBc2dBQ2dDRUNBQUtBSWdiQ0FBS0FJTUlBaHNhaUFBS0FJVUlBUnNhaUFBS0FJWUlBQW9BaVJzYWlJQklBQW9BZ2hQQkVBTUNnc2dBQ2dDQkNBQlFRRjBhaUlCTHdFQURRRU1Dd3NnQUNnQzRBRWlBU0FBS0FMb0FTSUdhaUFCSUFad2F5RUdEQUVMUVFBaEFRd0RDMEVCSVFFTUFnc0RRQUpBQWtBQ1FBSkFJQUZGQkVBZ0JDQVNUdzBDSUFBZ0FDZ0NNQ0lITmdJZ0lBMGdCRUVFZEdvaEN3d0JDeUFBSUFkQkFXb2lCellDSUFzZ0FDZ0NQQ0lCSUFzb0FnZ2lBaUFCSUFKSkd5QUhTd1JBSUFzb0FnQWlBU0FCclNJZUlBSWdCMEYvYzJvaUNxMGlGb1lpRnlBV2lLZEhEUU1nQ3lnQ0JDSUNRbjhnRm9pbmNTQUNSdzBESUFLdEloVWdGb1lpR0VJQmZTSVpJQUExQXRnQmZDQVlnQ0VmSUJrZ0FDZ0MwQUVpRHExOElCaUFJUm9nRjBJQmZTSWJJQUExQXRRQmZDQVhnQ0VnSUJzZ0FDZ0N6QUVpREsxOElCZUFJUndnQVVKL0lBc29BZ3dnQjBFRWRHb2lBeWdDQUNJSklBcHFyU0lkaUtkeElBRkhEUU1nQWlBVklBTW9BZ1FpQVNBS2FxMGlGWVlpSVNBVmlLZEhEUU1nQUNnQzRBRWlBcTBpSWlBaGdrSUFVZ1JBSUFJZ0RrY05CRUovSUJXR1FuK0ZJQnBDLy8vLy93K0RJQmFHZzFBTkJBc2dBQ2dDM0FFaUFxMGlGU0FlSUIyR2drSUFVZ1JBSUFJZ0RFY05CRUovSUIyR1FuK0ZJQnhDLy8vLy93K0RJQmFHZzFBTkJBc2dBeWdDQ0NJQ1JRMERJQU1vQWd4RkRRTWdIS2NpQXlBZ3AwWU5BeUFhcHlJS0lCK25SZzBESUFBZ0FDZ0NSQ0lJTmdJb0lBQWdGU0FiZkNBWGdLY2dDWFlnQXlBSmRtc2dHU0FpZkNBWWdLY2dBWFlnQ2lBQmRtc2dBbXhxTmdJa1FRRWhBUXdGQ3lBQUlBUkJBV29pQkRZQ0hBd0JDeUFBS0FMY0FTSUJJQUFvQXVRQklnSnFJQUVnQW5CcklROUJBQ0VCREFNTFFRQWhBUXdCQzBFQklRRU1BQXNBQ3dBTEFBc0RRQUovQWtBZ0FVVUVRQ0FBSUF0QkFXb2lDellDS0F3QkN5QUFJQVUyQWlBZ0FDZ0NQQ0FGVFEwR0lBQW9BbXdoQ0VFQURBRUxRUUVMSVFFRFFBSkFBa0FDUUFKQUlBRkZCRUFnQUNBSU5nTGdBU0FJSUFBb0FuQlBEUUVnQUNnQ1pDRU5RUUFoQVF3RUN5QUFLQUk0SUF0TkJFQWdBQ2dDSENFR1FRRWhBUXdFQ3lBQUtBSVFJQUFvQWlCc0lBQW9BZ3dnQzJ4cUlBQW9BaFFnQUNnQ0hHeHFJQUFvQWhnZ0FDZ0NKR3hxSWdFZ0FDZ0NDRThFUUF3SkN5QUFLQUlFSUFGQkFYUnFJZ0V2QVFBTkFRd0tDeUFBS0FJZ1FRRnFJUVVNQVF0QkFDRUJEQU1MUVFFaEFRd0NDd05BQWtBQ1FBSkFBa0FnQVVVRVFDQUFJQTAyQXR3QklBMGdBQ2dDYUU4TkFpQUFJQVEyQWh3Z0JDRUdEQUVMSUFBZ0JrRUJhaUlHTmdJY0N5QUdJQTVKQkVBZ0FDZ0NJQ0lISUFBb0FzZ0JJQVpCQkhScUlnRW9BZ2dpQTA4TkF5QUJLQUlBSWdJZ0FxMGlIaUFESUFkQmYzTnFJZ3F0SWhhR0loY2dGb2luUncwRElBRW9BZ1FpQTBKL0lCYUlwM0VnQTBjTkF5QURyU0lWSUJhR0loaENBWDBpR1NBQU5RTFlBWHdnR0lBaEh5QVpJQUFvQXRBQklnK3RmQ0FZZ0NFYUlCZENBWDBpR3lBQU5RTFVBWHdnRjRBaElDQWJJQUFvQXN3QklnbXRmQ0FYZ0NFY0lBSkNmeUFCS0FJTUlBZEJCSFJxSWdFb0FnQWlCeUFLYXEwaUhZaW5jU0FDUncwRElBTWdGU0FCS0FJRUlnSWdDbXF0SWhXR0lpRWdGWWluUncwRElBQW9BdUFCSWdPdElpSWdJWUpDQUZJRVFDQURJQTlIRFFSQ2Z5QVZoa0ovaFNBYVF2Ly8vLzhQZ3lBV2hvTlFEUVFMSUFBb0F0d0JJZ090SWhVZ0hpQWRob0pDQUZJRVFDQURJQWxIRFFSQ2Z5QWRoa0ovaFNBY1F2Ly8vLzhQZ3lBV2hvTlFEUVFMSUFFb0FnZ2lBMFVOQXlBQktBSU1SUTBESUJ5bklnRWdJS2RHRFFNZ0dxY2lDaUFmcDBZTkF5QUFJQUFvQWtRaUN6WUNLQ0FBSUJVZ0czd2dGNENuSUFkMklBRWdCM1pySUJrZ0lud2dHSUNuSUFKMklBb2dBblpySUFOc2FqWUNKRUVCSVFFTUJRc2dBQ2dDM0FFaUFTQUFLQUxrQVNJQ2FpQUJJQUp3YXlFTkRBRUxJQUFvQXVBQklnRWdBQ2dDNkFFaUFtb2dBU0FDY0dzaENFRUFJUUVNQXd0QkFDRUJEQUVMUVFFaEFRd0FDd0FMQUFzQUN3TkFBbjhDUUNBQlJRUkFJQVJCQVdvaEJBd0JDeUFBSUFNMkFpQWdBQ2dDUENBRFRRMEZJQUFvQWtRaEFrRUFEQUVMUVFFTElRRURRQUpBQWtBQ1FBSkFJQUZGQkVBZ0FDQUNOZ0lvSUFJZ0FDZ0NPRThOQVNBQUlBWTJBaHdnQmlFQlFRQWhCUXdFQ3lBQUlBUTJBaVFnQUNnQ1RDQUVUUVJBSUFBb0Fod2hBVUVCSVFVTUJBc2dBQ2dDRUNBQUtBSWdiQ0FBS0FJTUlBQW9BaWhzYWlBQUtBSVVJQUFvQWh4c2FpQUFLQUlZSUFSc2FpSUJJQUFvQWdoUEJFQU1DQXNnQUNnQ0JDQUJRUUYwYWlJQkx3RUFEUUVNQ1FzZ0FDZ0NJRUVCYWlFRERBRUxRUUFoQVF3REMwRUJJUUVNQWdzRFFBSkFBa0FDUUNBRlJRUkFJQUVnQjA4TkFTQUFLQUlnSWdVZ0FDZ0N5QUVnQVVFRWRHb2lEU2dDQ0U4TkF5QUFMUUFBUlFSQUlBQWdEU2dDRENBRlFRUjBhaUlCS0FJTUlBRW9BZ2hzTmdKTUN5QUFLQUpJSVFSQkFTRUJEQVVMSUFBZ0FVRUJhaUlCTmdJY0RBRUxJQUFvQWloQkFXb2hBa0VBSVFFTUF3dEJBQ0VGREFFTFFRRWhCUXdBQ3dBTEFBc0FDMEVBRHdzZ0FDZ0M3QUZCQVVHYUNrRUFFQThMUVFBUEN5QUJRUUU3QVFCQkFRdVJDd0VLZndKQUlBRW9BZ0FnQkVFRGJDSU1kaUlHUVpDQWdBRnhEUUFnQUNBQVFSeHFJZzRnQUNnQ2JDQUdRZThEY1dvdEFBQkJBblJxSWdvMkFtZ2dBQ0FBS0FJRUlBb29BZ0FpQ1NnQ0FDSUlheUlHTmdJRUFrQWdDQ0FBS0FJQUlnZEJFSFpMQkVBZ0NTZ0NCQ0VMSUFBZ0NEWUNCQ0FLSUFsQkNFRU1JQVlnQ0VraUJodHFLQUlBTmdJQUlBc2dDMFVnQmhzaENTQUFLQUlJSVFZRFFBSkFJQVlOQUNBQUtBSVFJZ1pCQVdvaEN5QUdMUUFCSVFvZ0JpMEFBRUgvQVVZRVFDQUtRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FIUVlEK0Eyb2hCMEVJSVFZTUFnc2dBQ0FMTmdJUUlBY2dDa0VKZEdvaEIwRUhJUVlNQVFzZ0FDQUxOZ0lRUVFnaEJpQUhJQXBCQ0hScUlRY0xJQUFnQmtFQmF5SUdOZ0lJSUFBZ0IwRUJkQ0lITmdJQUlBQWdDRUVCZENJSU5nSUVJQWhCZ0lBQ1NRMEFDeUFJSVFZTUFRc2dBQ0FISUFoQkVIUnJJZ2MyQWdBZ0JrR0FnQUp4UlFSQUlBa29BZ1FoQ3lBS0lBbEJERUVJSUFZZ0NFa2lDQnRxS0FJQU5nSUFJQXRGSUFzZ0NCc2hDU0FBS0FJSUlRZ0RRQUpBSUFnTkFDQUFLQUlRSWdoQkFXb2hDeUFJTFFBQklRb2dDQzBBQUVIL0FVWUVRQ0FLUVpBQlR3UkFJQUFnQUNnQ0RFRUJhallDRENBSFFZRCtBMm9oQjBFSUlRZ01BZ3NnQUNBTE5nSVFJQWNnQ2tFSmRHb2hCMEVISVFnTUFRc2dBQ0FMTmdJUVFRZ2hDQ0FISUFwQkNIUnFJUWNMSUFBZ0NFRUJheUlJTmdJSUlBQWdCMEVCZENJSE5nSUFJQUFnQmtFQmRDSUdOZ0lFSUFaQmdJQUNTUTBBQ3d3QkN5QUpLQUlFSVFrTElBbEZEUUFnQUNBT0lBRW9BZ1FnREVFUmFuWkJCSEVnQVVFRWF5SU5LQUlBSUF4QkUycDJRUUZ4SUFFb0FnQWlDQ0FNUVJCcWRrSEFBSEVnQ0NBTWRrR3FBWEZ5SUFnZ0RFRU1ha0VPSUFRYmRrRVFjWEp5Y2lJUFFkQzVBV290QUFCQkFuUnFJZ3MyQW1nZ0FDQUdJQXNvQWdBaUNpZ0NBQ0lJYXlJR05nSUVBa0FnQ0NBSFFSQjJTd1JBSUFvb0FnUWhDU0FBSUFnMkFnUWdDeUFLUVFoQkRDQUdJQWhKSWdZYmFpZ0NBRFlDQUNBSklBbEZJQVliSVFvZ0FDZ0NDQ0VHQTBBQ1FDQUdEUUFnQUNnQ0VDSUdRUUZxSVFzZ0JpMEFBU0VKSUFZdEFBQkIvd0ZHQkVBZ0NVR1FBVThFUUNBQUlBQW9BZ3hCQVdvMkFnd2dCMEdBL2dOcUlRZEJDQ0VHREFJTElBQWdDellDRUNBSElBbEJDWFJxSVFkQkJ5RUdEQUVMSUFBZ0N6WUNFRUVJSVFZZ0J5QUpRUWgwYWlFSEN5QUFJQVpCQVdzaUJqWUNDQ0FBSUFkQkFYUWlCellDQUNBQUlBaEJBWFFpQ0RZQ0JDQUlRWUNBQWtrTkFBc01BUXNnQUNBSElBaEJFSFJySWdrMkFnQWdCa0dBZ0FKeFJRUkFJQW9vQWdRaEJ5QUxJQXBCREVFSUlBWWdDRWtpQ0J0cUtBSUFOZ0lBSUFkRklBY2dDQnNoQ2lBQUtBSUlJUWNEUUFKQUlBY05BQ0FBS0FJUUlnZEJBV29oQ3lBSExRQUJJUWdnQnkwQUFFSC9BVVlFUUNBSVFaQUJUd1JBSUFBZ0FDZ0NERUVCYWpZQ0RDQUpRWUQrQTJvaENVRUlJUWNNQWdzZ0FDQUxOZ0lRSUFrZ0NFRUpkR29oQ1VFSElRY01BUXNnQUNBTE5nSVFRUWdoQnlBSklBaEJDSFJxSVFrTElBQWdCMEVCYXlJSE5nSUlJQUFnQ1VFQmRDSUpOZ0lBSUFBZ0JrRUJkQ0lHTmdJRUlBWkJnSUFDU1EwQUN3d0JDeUFLS0FJRUlRb0xJQUpCQUNBRGF5QURJQW9nRDBIUXV3RnFMUUFBY3lJREd6WUNBQ0FOSUEwb0FnQkJJQ0FNZEhJMkFnQWdBU0FCS0FJQUlBTkJFM1JCRUhJZ0RIUnlOZ0lBSUFFZ0FTZ0NCRUVJSUF4MGNqWUNCQ0FFSUFWeVJRUkFJQUZCZmlBQUtBSjhhMEVDZEdvaUFpQUNLQUlFUVlDQUFuSTJBZ1FnQWlBQ0tBSUFJQU5CSDNSeVFZQ0FCSEkyQWdBZ0FrRUVheUlDSUFJb0FnQkJnSUFJY2pZQ0FBc2dCRUVEUncwQUlBRWdBQ2dDZkVFQ2RHb2lBRUVFYWlBQUtBSUVRUVJ5TmdJQUlBQWdBQ2dDREVFQmNqWUNEQ0FBSUFBb0FnZ2dBMEVTZEhKQkFuSTJBZ2dMQzZzTEFRbC9Ba0FnQVNnQ0FDQUVRUU5zSWcxMklnZEJrSUNBQVhFTkFDQUhRZThEY1NJSFJRMEFJQUFnQUVFY2FpSU9JQUFvQW13Z0Iyb3RBQUJCQW5ScUlnczJBbWdnQUNBQUtBSUVJQXNvQWdBaUNpZ0NBQ0lKYXlJSE5nSUVBa0FnQ1NBQUtBSUFJZ2hCRUhaTEJFQWdDaWdDQkNFTUlBQWdDVFlDQkNBTElBcEJDRUVNSUFjZ0NVa2lCeHRxS0FJQU5nSUFJQXdnREVVZ0J4c2hDaUFBS0FJSUlRY0RRQUpBSUFjTkFDQUFLQUlRSWdkQkFXb2hEQ0FITFFBQklRc2dCeTBBQUVIL0FVWUVRQ0FMUVpBQlR3UkFJQUFnQUNnQ0RFRUJhallDRENBSVFZRCtBMm9oQ0VFSUlRY01BZ3NnQUNBTU5nSVFJQWdnQzBFSmRHb2hDRUVISVFjTUFRc2dBQ0FNTmdJUVFRZ2hCeUFJSUF0QkNIUnFJUWdMSUFBZ0IwRUJheUlITmdJSUlBQWdDRUVCZENJSU5nSUFJQUFnQ1VFQmRDSUpOZ0lFSUFsQmdJQUNTUTBBQ3lBSklRY01BUXNnQUNBSUlBbEJFSFJySWdnMkFnQWdCMEdBZ0FKeFJRUkFJQW9vQWdRaERDQUxJQXBCREVFSUlBY2dDVWtpQ1J0cUtBSUFOZ0lBSUF4RklBd2dDUnNoQ2lBQUtBSUlJUWtEUUFKQUlBa05BQ0FBS0FJUUlnbEJBV29oRENBSkxRQUJJUXNnQ1MwQUFFSC9BVVlFUUNBTFFaQUJUd1JBSUFBZ0FDZ0NERUVCYWpZQ0RDQUlRWUQrQTJvaENFRUlJUWtNQWdzZ0FDQU1OZ0lRSUFnZ0MwRUpkR29oQ0VFSElRa01BUXNnQUNBTU5nSVFRUWdoQ1NBSUlBdEJDSFJxSVFnTElBQWdDVUVCYXlJSk5nSUlJQUFnQ0VFQmRDSUlOZ0lBSUFBZ0IwRUJkQ0lITmdJRUlBZEJnSUFDU1EwQUN3d0JDeUFLS0FJRUlRb0xBa0FnQ2tVTkFDQUFJQTRnQVNnQ0JDQU5RUkZxZGtFRWNTQUJRUVJySWc4b0FnQWdEVUVUYW5aQkFYRWdBU2dDQUNJSklBMUJFR3AyUWNBQWNTQUpJQTEyUWFvQmNYSWdDU0FOUVF4cVFRNGdCQnQyUVJCeGNuSnlJZ3BCMExrQmFpMEFBRUVDZEdvaUREWUNhQ0FBSUFjZ0RDZ0NBQ0lMS0FJQUlnbHJJZ2MyQWdRZ0NrSFF1d0ZxTFFBQUlRNENRQ0FKSUFoQkVIWkxCRUFnQ3lnQ0JDRUtJQUFnQ1RZQ0JDQU1JQXRCQ0VFTUlBY2dDVWtpQnh0cUtBSUFOZ0lBSUFvZ0NrVWdCeHNoQ3lBQUtBSUlJUWNEUUFKQUlBY05BQ0FBS0FJUUlnZEJBV29oRENBSExRQUJJUW9nQnkwQUFFSC9BVVlFUUNBS1FaQUJUd1JBSUFBZ0FDZ0NERUVCYWpZQ0RDQUlRWUQrQTJvaENFRUlJUWNNQWdzZ0FDQU1OZ0lRSUFnZ0NrRUpkR29oQ0VFSElRY01BUXNnQUNBTU5nSVFRUWdoQnlBSUlBcEJDSFJxSVFnTElBQWdCMEVCYXlJSE5nSUlJQUFnQ0VFQmRDSUlOZ0lBSUFBZ0NVRUJkQ0lKTmdJRUlBbEJnSUFDU1EwQUN3d0JDeUFBSUFnZ0NVRVFkR3NpQ2pZQ0FDQUhRWUNBQW5GRkJFQWdDeWdDQkNFSUlBd2dDMEVNUVFnZ0J5QUpTU0lKRzJvb0FnQTJBZ0FnQ0VVZ0NDQUpHeUVMSUFBb0FnZ2hDQU5BQWtBZ0NBMEFJQUFvQWhBaUNFRUJhaUVNSUFndEFBRWhDU0FJTFFBQVFmOEJSZ1JBSUFsQmtBRlBCRUFnQUNBQUtBSU1RUUZxTmdJTUlBcEJnUDREYWlFS1FRZ2hDQXdDQ3lBQUlBdzJBaEFnQ2lBSlFRbDBhaUVLUVFjaENBd0JDeUFBSUF3MkFoQkJDQ0VJSUFvZ0NVRUlkR29oQ2dzZ0FDQUlRUUZySWdnMkFnZ2dBQ0FLUVFGMElnbzJBZ0FnQUNBSFFRRjBJZ2MyQWdRZ0IwR0FnQUpKRFFBTERBRUxJQXNvQWdRaEN3c2dBa0VBSUFOcklBTWdDeUFPY3lJQ0d6WUNBQ0FQSUE4b0FnQkJJQ0FOZEhJMkFnQWdBU0FCS0FJQUlBSkJFM1JCRUhJZ0RYUnlOZ0lBSUFFZ0FTZ0NCRUVJSUExMGNqWUNCQ0FFSUFaeVJRUkFJQUVnQlVFQ2RHc2lBQ0FBS0FJRVFZQ0FBbkkyQWdRZ0FDQUFLQUlBSUFKQkgzUnlRWUNBQkhJMkFnQWdBRUVFYXlJQUlBQW9BZ0JCZ0lBSWNqWUNBQXNnQkVFRFJ3MEFJQUVnQlVFQ2RHb2lBQ0FBS0FJRVFRRnlOZ0lFSUFBZ0FDZ0NBQ0FDUVJKMGNrRUNjallDQUNBQVFRUnJJZ0FnQUNnQ0FFRUVjallDQUFzZ0FTQUJLQUlBUVlDQWdBRWdEWFJ5TmdJQUN3dXRBUUFnQUVId25RRTJBbVFnQUVId25RRTJBbUFnQUVId25RRTJBbHdnQUVId25RRTJBbGdnQUVId25RRTJBbFFnQUVId25RRTJBbEFnQUVId25RRTJBa3dnQUVId25RRTJBa2dnQUVId25RRTJBa1FnQUVId25RRTJBa0FnQUVId25RRTJBandnQUVId25RRTJBamdnQUVId25RRTJBalFnQUVId25RRTJBakFnQUVId25RRTJBaXdnQUVId25RRTJBaWdnQUVId25RRTJBaVFnQUVId25RRTJBaUFnQUVId25RRTJBaHdMa2dZQ0NYOEVmaUFBSUFFMkFnQWdBUDBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDBMQXdnZ0FDQUROZ0ljSUFBZ0FrRUJheUlGTmdJWUlBRkJBM0VoQ2dKL0lBSkJBRXdFUUNBQklRUWdBd3dCQ3lBQUlBRkJBV29pQkRZQ0FDQUJMUUFBQ3lFQlFRZ2hCeUFBUVFnMkFoQWdBQ0FCclNJTk53TUlJQUFnRFVML0FZTWlEa0wvQVZFaUNUWUNGQUpBSUFwQkEwWU5BQ0FBSUFKQkFtc2lDRFlDR0FKL0lBSkJBa2dFUUNBRUlRRWdBd3dCQ3lBQUlBUkJBV29pQVRZQ0FDQUVMUUFBQ3lFRUlBQkJEMEVRSUE1Qy93RlJHeUlITmdJUUlBQWdCSzBpRGtML0FZTWlEMEwvQVZFaUNUWUNGQ0FBSUE1Q0NJWWdEWVFpRFRjRENDQUtRUUpHQkVBZ0FTRUVJQVVoQWlBSUlRVU1BUXNnQUNBQ1FRTnJJZ3MyQWhnZ0FBSi9JQUpCQTBnRVFDQUJJUVlnQXd3QkN5QUFJQUZCQVdvaUJqWUNBQ0FCTFFBQUM2MGlEa0wvQVlNaUVFTC9BVkVpQ1RZQ0ZDQUFRUWRCQ0NBUFF2OEJVUnNnQjJvaUFUWUNFQ0FBSUE0Z0I2MkdJQTJFSWcwM0F3Z2dDa0VCUmdSQUlBWWhCQ0FCSVFjZ0NDRUNJQXNoQlF3QkN5QUFJQUpCQkdzaUJUWUNHQ0FBQW44Z0FrRUVTQVJBSUFZaEJDQUREQUVMSUFBZ0JrRUJhaUlFTmdJQUlBWXRBQUFMclNJT1F2OEJnMEwvQVZFaUNUWUNGQ0FBUVFkQkNDQVFRdjhCVVJzZ0FXb2lCellDRUNBQUlBNGdBYTJHSUEyRUlnMDNBd2dnQ3lFQ0N3SkFJQUpCQlU0RVFDQUVLQUlBSVFNZ0FDQUNRUVZyTmdJWUlBQWdCRUVFYWpZQ0FBd0JDMEVBSVFGQmYwRUFJQU1iSVFNZ0FrRUNTQTBBQTBBZ0FDQUVRUUZxSWdJMkFnQWdCQzBBQUNFRUlBQWdCVUVCYXlJR05nSVlJQU5CL3dFZ0FYUkJmM054SUFRZ0FYUnlJUU1nQVVFSWFpRUJJQVZCQVVzaERDQUNJUVFnQmlFRklBd05BQXNMSUFBZ0EwRVlkaUlCUWY4QlJqWUNGQ0FBUVFkQkNDQUpHeUlDUVFkQkNDQURRZjhCY1NJRVFmOEJSaHRxSWdWQkIwRUlJQU5CQ0haQi93RnhJZ1pCL3dGR0cyb2lDRUVIUVFnZ0EwRVFka0gvQVhFaUEwSC9BVVliSUFkcWFqWUNFQ0FBSUFZZ0FuUWdBeUFGZEhJZ0FTQUlkSElnQkhLdElBZXRoaUFOaERjRENBdTJCUUlTZndKK0FuOGdBQ2dDSENBQlFaZ0JiR29pQWtHUUFXc29BZ0FnQWtHWUFXc29BZ0JySWdNaEJTQUNRWXdCYXlnQ0FDQUNRWlFCYXlnQ0FHc2lBaUVHUWNBQUlBTWdBMEhBQUU4YklRTkJ3QUFnQWlBQ1FjQUFUeHNoQkFKQUlBVkZEUUFnQmtVTkFDQURSUTBBSUFSRkRRQkJmeUFFYmtFQ2RpQURTUTBBUVFGQkhCQVRJZ0lnQkRZQ0RDQUNJQU0yQWdnZ0FpQUdOZ0lFSUFJZ0JUWUNBQ0FDSUFTdEloUWdCcTE4UWdGOUlCU0FJaFNuSWdRMkFoUWdBaUFEclNJVklBV3RmRUlCZlNBVmdDSVZweUlETmdJUUFrQWdGRUwvLy8vL0Q0TWdGVUwvLy8vL0Q0TitRaUNJcHcwQUlBSkJCQ0FESUFSc0VCTWlBellDR0NBRFJRMEFJQUlNQWdzZ0FoQVFDMEVBQ3lJSlJRUkFRUUFQQ3dKQUlBRUVRQU5BSUE1Qm1BRnNJZzhnQUNnQ0hHb2lCU2dDR0NJQ0JFQWdCVUVjYWlFUUlBVW9BaFFoQXlBRktBSVFJUVJCQUNFS0EwQWdBeUFFYkFSQUlCQWdDa0VrYkdvaEJrRUFJUXNEUUNBR0tBSVVJQXRCS0d4cUlnZ29BaFFpQWlBSUtBSVFJZ2RzQkVCQkFDRUVBMEFnQ0NnQ0dDQUVRUVowYWlJREtBSThJaEVFUUNBREtBSU1JUWNnQXlnQ0ZDRVNJQU1vQWhBaERDQURLQUlJSWhNZ0JpZ0NBR3NoQXlBR0tBSVFJZzFCQVhFRVFDQUFLQUljSUE5cUlnSkJrQUZyS0FJQUlBTnFJQUpCbUFGcktBSUFheUVEQ3lBSElBWW9BZ1JySVFJZ0RVRUNjUVJBSUFJZ0FDZ0NIQ0FQYWlJTlFZd0JheWdDQUdvZ0RVR1VBV3NvQWdCcklRSUxJQWtnQXlBQ0lBTWdEQ0FUYXlJTWFpQVNJQWRySUFKcUlCRkJBU0FNUVFBUUprVU5DU0FJS0FJUUlRY2dDQ2dDRkNFQ0N5QUVRUUZxSWdRZ0FpQUhiRWtOQUFzZ0JTZ0NFQ0VFSUFVb0FoUWhBd3NnQzBFQmFpSUxJQU1nQkd4SkRRQUxJQVVvQWhnaEFnc2dDa0VCYWlJS0lBSkpEUUFMQ3lBT1FRRnFJZzRnQVVjTkFBc0xJQWtQQ3lBSkVDTkJBQXZRREFJUWZ3WjdJQUFvQWdnaUN5QUFLQUlFYWlFSEFrQWdBQ2dDREVVRVFDQUhRUUpJRFFFZ0FTZ0NBQ0FCSUF0QkFuUnFJZzBvQWdBaUJFRUJha0VCZFdzaEF5QUFLQUlBSVFZQ1FDQUhRUVJKQkVBZ0JDRUNEQUVMSUFkQkJHc2lBRUVCZGlJSlFRRnFJUXdDUUNBQVFSWkpCRUJCQVNFQURBRUxJQVlnQVNBTFFRSjBhaUlGSUFsQkFuUWlBbXBCQ0dwSklBWWdDVUVEZEdwQkNHb2lBQ0FGUVFScVMzRUVRRUVCSVFBTUFRc2dCaUFCSUFKcVFRaHFTU0FCUVFScUlBQkpjUVJBUVFFaEFBd0JDeUFNUWZ6Ly8vOEhjU0lGUVFGeUlRQWdCVUVCZENFSUlBVDlFU0VTSUFQOUVTRVQvUXdBQUFBQUFnQUFBQVFBQUFBR0FBQUFJUlpCQUNFQ0EwQWdBU0FDUVFKMFFRUnlJZ05xL1FBQ0FDRVZJQU1nRFdyOUFBSUFJUlFnQmlBQ1FRTjBhaUlESUJQOVdnSUFBeUFEUVFocUlCVWdGQ0FTSUJUOURRd05EZzhRRVJJVEZCVVdGeGdaR2hzaUZmMnVBZjBNQWdBQUFBSUFBQUFDQUFBQUFnQUFBUDJ1QVVFQy9hd0IvYkVCSWhMOVdnSUFBQ0FEUVJCcUlCTDlXZ0lBQVNBRFFSaHFJQkw5V2dJQUFpQUdJQmI5REFFQUFBQUJBQUFBQVFBQUFBRUFBQUQ5VUNJWC9Sc0FRUUowYWlBU0lCTWdFdjBOREEwT0R4QVJFaE1VRlJZWEdCa2FHLzJ1QVVFQi9hd0JJQlg5cmdFaUUvMWFBZ0FBSUFZZ0YvMGJBVUVDZEdvZ0UvMWFBZ0FCSUFZZ0YvMGJBa0VDZEdvZ0UvMWFBZ0FDSUFZZ0YvMGJBMEVDZEdvZ0UvMWFBZ0FESUJiOURBZ0FBQUFJQUFBQUNBQUFBQWdBQUFEOXJnRWhGaUFTSVJNZ0ZDRVNJQUpCQkdvaUFpQUZSdzBBQ3lBUy9Sc0RJUUlnRS8wYkF5RURJQVVnREVZTkFTQUNJUVFMQTBBZ0FTQUFRUUowSWdKcUtBSUFJUWtnQWlBTmFpZ0NBQ0VDSUFZZ0NFRUNkR29pQlNBRE5nSUFJQVVnQXlBSklBSWdCR3BCQW1wQkFuVnJJZ05xUVFGMUlBUnFOZ0lFSUFoQkFtb2hDQ0FBSUF4SElSQWdBaUVFSUFCQkFXb2hBQ0FRRFFBTEN5QUdJQWhCQW5ScUlBTTJBZ0JCZkNFQUlBZEJBWEVFZnlBR0lBZEJBV3NpQUVFQ2RHb2dBU0FBUVFGMGFpZ0NBQ0FDUVFGcVFRRjFheUlBTmdJQUlBQWdBMnBCQVhVaEEwRjRCVUY4Q3lBR0lBZEJBblFpQUdwcUlBSWdBMm8yQWdBZ0FTQUdJQUFRRWhvUEN3SkFBa0FDUUNBSFFRRnJEZ0lBQVFJTElBRWdBU2dDQUVFQ2JUWUNBQThMSUFBb0FnQWlCQ0FCS0FJQUlBRWdDMEVDZEdvaUF5Z0NBRUVCYWtFQmRXc2lBRFlDQkNBRUlBQWdBeWdDQUdvMkFnQWdBU0FFS1FJQU53SUFEd3NnQjBFRFNBMEFJQUFvQWdBaUNpQUJLQUlBSUFFZ0MwRUNkR29pRGlnQ0JDSUVJQTRvQWdBaUFHcEJBbXBCQW5WcklnTWdBR28yQWdCQkFTRUlBa0FnQjBFQ2F5SUdJQWRCQVhFaURFVWlBR3RCQWtrRVFDQUVJUUlNQVFzZ0J5QUFhMEVFYXlJQVFRRjJJZ0pCQVdvaER3SkFBa0FnQUVFV1NRMEFJQXBCQkdvaUJTQUJJQUpCQW5RaUFHcEJDR3BKSUFvZ0FrRURkR3BCREdvaUFpQUJRUVJxUzNFTkFDQUZJQUFnQVNBTFFRSjBhaUlBYWtFTWFra2dBRUVJYWlBQ1NYRU5BQ0FQUVh4eElnVkJBWEloQUNBRlFRRjBRUUZ5SVFnZ0JQMFJJUk1nQS8wUklSSkJBQ0VDQTBBZ0NpQUNRUU4wYWlJRUlBRWdBa0VDZENJRGF2MEFBZ1FnRXlBRElBNXEvUUFDQ0NJVC9RME1EUTRQRUJFU0V4UVZGaGNZR1JvYkloVWdFLzJ1QWYwTUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQVAydUFVRUMvYXdCL2JFQkloUWdGQ0FTSUJUOURRd05EZzhRRVJJVEZCVVdGeGdaR2h2OXJnRkJBZjJzQVNBVi9hNEJJaFg5RFFRRkJnY1lHUm9iQ0FrS0N4d2RIaC85Q3dJVUlBUWdFaUFWL1EwTURRNFBFQkVTRXdBQkFnTVVGUllYSUJUOURRQUJBZ01FQlFZSEVCRVNFd3dORGcvOUN3SUVJQlFoRWlBQ1FRUnFJZ0lnQlVjTkFBc2dFLzBiQXlFQ0lCTDlHd01oQXlBRklBOUdEUUlnQWlFRURBRUxRUUVoQUFzRFFDQUJJQUJCQW5ScUtBSUFJUTBnRGlBQVFRRnFJZ1ZCQW5ScUtBSUFJUUlnQ2lBSVFRSjBhaUlKSUFNMkFnQWdDU0FESUEwZ0FpQUVha0VDYWtFQ2RXc2lBMnBCQVhVZ0JHbzJBZ1FnQ0VFQ2FpRUlJQUFnRDBjaEVTQUNJUVFnQlNFQUlCRU5BQXNMSUFvZ0NFRUNkR29nQXpZQ0FBSkFJQXhGQkVBZ0NpQUdRUUowYWlBQklBZEJBWFJxUVFScktBSUFJQUpCQVdwQkFYVnJJZ0FnQTJwQkFYVWdBbW8yQWdBTUFRc2dBaUFEYWlFQUN5QUtJQWRCQW5RaUEycEJCR3NnQURZQ0FDQUJJQW9nQXhBU0dnc0xvQWNEQTMwRGV3Si9JQU5CQ0U4RVFDQURRUU4ySVFzRFFDQUIvUUFFQUNFSElBQWdBUDBBQkFBaUNDQUMvUUFFQUNJSi9ReThkTE0vdkhTelA3eDBzeis4ZExNLy9lWUIvZVFCL1FzRUFDQUJJQWdnQi8wTXp6R3dQczh4c0Q3UE1iQSt6ekd3UHYzbUFmM2xBU0FKL1F6aDBUWS80ZEUyUCtIUk5qL2gwVFkvL2VZQi9lVUIvUXNFQUNBQ0lBZ2dCLzBNNWREaVArWFE0ai9sME9JLzVkRGlQLzNtQWYza0FmMExCQUFnQWYwQUJCQWhCeUFBSUFEOUFBUVFJZ2dnQXYwQUJCQWlDZjBNdkhTelA3eDBzeis4ZExNL3ZIU3pQLzNtQWYza0FmMExCQkFnQVNBSUlBZjlETTh4c0Q3UE1iQSt6ekd3UHM4eHNENzk1Z0g5NVFFZ0NmME00ZEUyUCtIUk5qL2gwVFkvNGRFMlAvM21BZjNsQWYwTEJCQWdBaUFJSUFmOURPWFE0ai9sME9JLzVkRGlQK1hRNGovOTVnSDk1QUg5Q3dRUUlBSkJJR29oQWlBQlFTQnFJUUVnQUVFZ2FpRUFJQXBCQVdvaUNpQUxSdzBBQ3dzQ1FDQURRUWR4SWdORkRRQWdBU29DQUNFRUlBQWdBaW9DQUNJR1E3eDBzeitVSUFBcUFnQWlCWkk0QWdBZ0FTQUZJQVJEenpHd3ZwU1NJQVpENGRFMnY1U1NPQUlBSUFJZ0JTQUVRK1hRNGorVWtqZ0NBQ0FEUVFGR0RRQWdBU29DQkNFRUlBQWdBaW9DQkNJR1E3eDBzeitVSUFBcUFnUWlCWkk0QWdRZ0FTQUZJQVJEenpHd3ZwU1NJQVpENGRFMnY1U1NPQUlFSUFJZ0JTQUVRK1hRNGorVWtqZ0NCQ0FEUVFKR0RRQWdBU29DQ0NFRUlBQWdBaW9DQ0NJR1E3eDBzeitVSUFBcUFnZ2lCWkk0QWdnZ0FTQUZJQVJEenpHd3ZwU1NJQVpENGRFMnY1U1NPQUlJSUFJZ0JTQUVRK1hRNGorVWtqZ0NDQ0FEUVFOR0RRQWdBU29DRENFRUlBQWdBaW9DRENJR1E3eDBzeitVSUFBcUFnd2lCWkk0QWd3Z0FTQUZJQVJEenpHd3ZwU1NJQVpENGRFMnY1U1NPQUlNSUFJZ0JTQUVRK1hRNGorVWtqZ0NEQ0FEUVFSR0RRQWdBU29DRUNFRUlBQWdBaW9DRUNJR1E3eDBzeitVSUFBcUFoQWlCWkk0QWhBZ0FTQUZJQVJEenpHd3ZwU1NJQVpENGRFMnY1U1NPQUlRSUFJZ0JTQUVRK1hRNGorVWtqZ0NFQ0FEUVFWR0RRQWdBU29DRkNFRUlBQWdBaW9DRkNJR1E3eDBzeitVSUFBcUFoUWlCWkk0QWhRZ0FTQUZJQVJEenpHd3ZwU1NJQVpENGRFMnY1U1NPQUlVSUFJZ0JTQUVRK1hRNGorVWtqZ0NGQ0FEUVFaR0RRQWdBU29DR0NFRUlBQWdBaW9DR0NJR1E3eDBzeitVSUFBcUFoZ2lCWkk0QWhnZ0FTQUZJQVJEenpHd3ZwU1NJQVpENGRFMnY1U1NPQUlZSUFJZ0JTQUVRK1hRNGorVWtqZ0NHQXNMNEFFQ0JuOERld0pBSUFORkRRQWdBMEVFVHdSQUlBTkJmSEVoQmdOQUlBQWdCRUVDZENJRmFpSUhJQWY5QUFJQUlBSWdCV29pQi8wQUFnQWlDeUFCSUFWcUlnWDlBQUlBSWd6OXJnRkJBdjJzQWYyeEFTSUtJQXY5cmdIOUN3SUFJQVVnQ3YwTEFnQWdCeUFLSUF6OXJnSDlDd0lBSUFSQkJHb2lCQ0FHUncwQUN5QURJQVpHRFFFTEEwQWdBQ0FHUVFKMElnUnFJZ1VnQlNnQ0FDQUNJQVJxSWdVb0FnQWlCeUFCSUFScUlnZ29BZ0FpQ1dwQkFuVnJJZ1FnQjJvMkFnQWdDQ0FFTmdJQUlBVWdCQ0FKYWpZQ0FDQUdRUUZxSWdZZ0EwY05BQXNMQzkwQkFRUi9Jd0JCZ0FGcklnWWtBQ0FHSVFVQ1FDQUJLQUlNSUFKQkJIUnFJZ0lvQWdBaUJFVUVRQ0FDSVFFTUFRc0RRQ0FGSUFJMkFnQWdCVUVFYWlFRklBUWlBU0lDS0FJQUlnUU5BQXNMUVFBaEJBTkFJQUVvQWdnaUFpQUVTQVJBSUFFZ0JEWUNDQ0FFSVFJTEFrQWdBaUFEVGcwQUEwQWdBaUFCS0FJRVRnMEJBa0FnQUVFQkVCOEVRQ0FCSUFJMkFnUU1BUXNnQWtFQmFpRUNDeUFDSUFOSURRQUxDeUFCSUFJMkFnZ2dCU0FHUndSQUlBVkJCR3NpQlNnQ0FDRUJJQUloQkF3QkN3c2dBU2dDQkNFSElBWkJnQUZxSkFBZ0J5QURTQXY5QmdFTGZ5TUFRWUFDYXlJS0pBQUNRQ0FBUlFSQVFRQWhBQXdCQ3dKQUlBRWdBQ2dDQUVZRVFDQUFLQUlFSUFKR0RRRUxJQUFnQWpZQ0JDQUFJQUUyQWdBZ0NpQUNOZ0lBSUFvZ0FUWUNnQUVnQWlFRUlBRWhCUU5BSUFvZ0J5SU1RUUZxSWdkQkFuUWlDR29nQkVFQmFrRUNiU0lKTmdJQUlBcEJnQUZxSUFocUlBVkJBV3BCQW0waUNEWUNBQ0FHSUFRZ0JXd2lDMm9oQmlBSklRUWdDQ0VGSUF0QkFVc05BQXNnQUNBR05nSUlBa0FDUUFKQUFrQWdCa1VFUUNBQUtBSU1JZ1JGRFFJZ0FFRU1haUVGREFFTElBWkJCSFFpQkNBQUtBSVFUUTBESUFBb0Fnd2dCQkFYSWdFTkFpQURRUUZCbWpGQkFCQVBJQUJCREdvaUJTZ0NBQ0lFUlEwQkN5QUVFQkFnQlVFQU5nSUFDeUFBRUJCQkFDRUFEQU1MSUFBZ0FUWUNEQ0FCSUFBb0FoQWlBbXBCQUNBRUlBSnJFQlVhSUFBZ0JEWUNFQ0FBS0FJRUlRSWdBQ2dDQUNFQkN5QUFLQUlNSVFVZ0RBUkFRUUFoQXlBRklBRWdBbXhCQkhScUlnUWhCZ05BQWtBZ0NpQURRUUowSWdGcUtBSUFJZ2hCQUV3TkFDQUlRUUZySVF0QkFDRUpBa0FDUUNBS1FZQUJhaUFCYWlnQ0FDSUNRUUJNQkVBZ0NFRUJjU0VOUVFBaEJ5QUlRUUZIRFFFZ0JpRUJEQUlMQTBBZ0JpRUJJQUloQmdOQUFrQWdCU0FFTmdJQUlBWkJBVVlFUUNBRlFSQnFJUVVnQkVFUWFpRUVEQUVMSUFVZ0JEWUNFQ0FFUVJCcUlRUWdCVUVnYWlFRklBWkJBa29oRGlBR1FRSnJJUVlnRGcwQkN3c2dCQ0FCSUFKQkJIUnFJQWtnQ1NBTFJuSkJBWEVpQnhzaEJpQUVJQUVnQnhzaEJDQUpRUUZxSWdrZ0NFY05BQXNNQWdzZ0NFSCsvLy8vQjNFaENBTkFJQWNnQzBZaEFTQUhRUUpxSVFjZ0JDQUdJQUViSWdRaEJpQUVJUUVnQ1VFQ2FpSUpJQWhIRFFBTEN5QU5SUVJBSUFRaEJnd0JDeUFFSUFFZ0FrRUVkR29nQnlBSElBdEdja0VCY1NJQ0d5RUdJQVFnQVNBQ0d5RUVDeUFEUVFGcUlnTWdERWNOQUFzTElBVkJBRFlDQUFzZ0FDZ0NDQ0lCUlEwQUlBQW9BZ3doQkNBQlFRUlBCRUFnQVVGOGNTRUNRUUFoQlFOQUlBUkJBRFlDUENBRVF1Y0hOd0kwSUFSQkFEWUNMQ0FFUXVjSE53SWtJQVJCQURZQ0hDQUVRdWNITndJVUlBUkJBRFlDRENBRVF1Y0hOd0lFSUFSQlFHc2hCQ0FGUVFScUlnVWdBa2NOQUFzTElBRkJBM0VpQVVVTkFFRUFJUVVEUUNBRVFRQTJBZ3dnQkVMbkJ6Y0NCQ0FFUVJCcUlRUWdCVUVCYWlJRklBRkhEUUFMQ3lBS1FZQUNhaVFBSUFBTHNRRUJBMzhDUUNBQVJRMEFJQUFvQWdnaUFVVU5BQ0FBS0FJTUlRQWdBVUVFVHdSQUlBRkJmSEVoQXdOQUlBQkJBRFlDUENBQVF1Y0hOd0kwSUFCQkFEWUNMQ0FBUXVjSE53SWtJQUJCQURZQ0hDQUFRdWNITndJVUlBQkJBRFlDRENBQVF1Y0hOd0lFSUFCQlFHc2hBQ0FDUVFScUlnSWdBMGNOQUFzTElBRkJBM0VpQVVVTkFFRUFJUUlEUUNBQVFRQTJBZ3dnQUVMbkJ6Y0NCQ0FBUVJCcUlRQWdBa0VCYWlJQ0lBRkhEUUFMQ3d2N0JRRVFmeU1BUVlBQ2F5SUlKQUFDZjBFQlFSUVFFeUlHUlFSQUlBSkJBVUgwTUVFQUVBOUJBQXdCQ3lBR0lBRTJBZ1FnQmlBQU5nSUFJQWdnQVRZQ0FDQUlJQUEyQW9BQkEwQWdDQ0FGSWcxQkFXb2lCVUVDZENJSGFpQUJRUUZxUVFKdElnTTJBZ0FnQ0VHQUFXb2dCMm9nQUVFQmFrRUNiU0lITmdJQUlBUWdBQ0FCYkNJSmFpRUVJQU1oQVNBSElRQWdDVUVCU3cwQUN5QUdJQVEyQWdnZ0JFVUVRQ0FHRUJCQkFBd0JDeUFHSUFSQkVCQVRJZ00yQWd3Z0EwVUVRQ0FDUVFGQjJocEJBQkFQSUFZUUVFRUFEQUVMSUFZZ0JpZ0NDQ0lMUVFSME5nSVFJQU1oQUNBTkJFQWdBeUFHS0FJRUlBWW9BZ0JzUVFSMGFpSUVJUUVEUUFKQUlBZ2dEa0VDZENJQ2FpZ0NBQ0lKUVFCTURRQWdDVUVCYXlFTVFRQWhCd0pBSUFoQmdBRnFJQUpxS0FJQUlnSkJBRXdFUUVFQUlRVWdDVUVCUndSQUlBbEIvdi8vL3dkeElRb0RRQ0FGSUF4R0lROGdCVUVDYWlFRklBRWdCQ0FQR3lJRUlRRWdCMEVDYWlJSElBcEhEUUFMQ3lBSlFRRnhEUUVnQkNFQkRBSUxBMEFnQkNFRklBSWhCQU5BQWtBZ0FDQUJOZ0lBSUFSQkFVWUVRQ0FBUVJCcUlRQWdBVUVRYWlFQkRBRUxJQUFnQVRZQ0VDQUJRUkJxSVFFZ0FFRWdhaUVBSUFSQkFrb2hFQ0FFUVFKcklRUWdFQTBCQ3dzZ0FTQUZJQUpCQkhScUlBY2dCeUFNUm5KQkFYRWlDaHNoQkNBQklBVWdDaHNoQVNBSFFRRnFJZ2NnQ1VjTkFBc01BUXNnQVNBRUlBSkJCSFJxSUFVZ0JTQU1SbkpCQVhFaUJSc2hFU0FCSUFRZ0JSc2hBU0FSSVFRTElBNUJBV29pRGlBTlJ3MEFDd3NnQUVFQU5nSUFBa0FnQzBVTkFDQUxRUVJQQkVBZ0MwRjhjU0VBUVFBaEFRTkFJQU5CQURZQ1BDQURRdWNITndJMElBTkJBRFlDTENBRFF1Y0hOd0lrSUFOQkFEWUNIQ0FEUXVjSE53SVVJQU5CQURZQ0RDQURRdWNITndJRUlBTkJRR3NoQXlBQlFRUnFJZ0VnQUVjTkFBc0xJQXRCQTNFaUFFVU5BRUVBSVFFRFFDQURRUUEyQWd3Z0EwTG5CemNDQkNBRFFSQnFJUU1nQVVFQmFpSUJJQUJIRFFBTEN5QUdDeUVTSUFoQmdBSnFKQUFnRWd0VEFRRi9BbjhnQUMwQURFSC9BVVlFUUNBQVFvRCtnNER3QURjQ0RFRUFJQUFvQWdnaUFTQUFLQUlFVHcwQkdpQUFJQUZCQVdvMkFnZ2dBQ0FCTFFBQVFZRCtBM0kyQWd3TElBQkJBRFlDRUVFQkN3dCtBZ0YvQVg0Z0FMMGlBMEkwaUtkQi93OXhJZ0pCL3c5SEJId2dBa1VFUUNBQklBQkVBQUFBQUFBQUFBQmhCSDlCQUFVZ0FFUUFBQUFBQUFEd1E2SWdBUkJsSVFBZ0FTZ0NBRUZBYWdzMkFnQWdBQThMSUFFZ0FrSCtCMnMyQWdBZ0EwTC8vLy8vLy8vL2g0Qi9nMEtBZ0lDQWdJQ0E4RCtFdndVZ0FBc0xTUUVCZndKQVFRRkJMQkFUSWdFRVFDQUJRUUEyQWhBQ1FDQUFRUUJNQkVBZ0FVRUJRUWdRRXlJQU5nSWtJQUJGRFFFTUF3c2dBVUVBTmdJTUN5QUJFQkFMUVFBaEFRc2dBUXVSQWdBZ0FFVUVRRUVBRHdzQ2Z3SkFJQUZCL3dCTkRRQUNRRUdVMEFFb0FnQW9BZ0JGQkVBZ0FVR0FmM0ZCZ0w4RFJnMENEQUVMSUFGQi93OU5CRUFnQUNBQlFUOXhRWUFCY2pvQUFTQUFJQUZCQm5aQndBRnlPZ0FBUVFJTUF3c2dBVUdBUUhGQmdNQURSeUFCUVlDd0EwOXhSUVJBSUFBZ0FVRS9jVUdBQVhJNkFBSWdBQ0FCUVF4MlFlQUJjam9BQUNBQUlBRkJCblpCUDNGQmdBRnlPZ0FCUVFNTUF3c2dBVUdBZ0FSclFmLy9QMDBFUUNBQUlBRkJQM0ZCZ0FGeU9nQURJQUFnQVVFU2RrSHdBWEk2QUFBZ0FDQUJRUVoyUVQ5eFFZQUJjam9BQWlBQUlBRkJESFpCUDNGQmdBRnlPZ0FCUVFRTUF3c0xRWlRIQVVFWk5nSUFRWDhNQVFzZ0FDQUJPZ0FBUVFFTEM3d0NBQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FVRUphdzRTQUFnSkNnZ0pBUUlEQkFvSkNnb0lDUVVHQndzZ0FpQUNLQUlBSWdGQkJHbzJBZ0FnQUNBQktBSUFOZ0lBRHdzZ0FpQUNLQUlBSWdGQkJHbzJBZ0FnQUNBQk1nRUFOd01BRHdzZ0FpQUNLQUlBSWdGQkJHbzJBZ0FnQUNBQk13RUFOd01BRHdzZ0FpQUNLQUlBSWdGQkJHbzJBZ0FnQUNBQk1BQUFOd01BRHdzZ0FpQUNLQUlBSWdGQkJHbzJBZ0FnQUNBQk1RQUFOd01BRHdzZ0FpQUNLQUlBUVFkcVFYaHhJZ0ZCQ0dvMkFnQWdBQ0FCS3dNQU9RTUFEd3NnQUNBQ0lBTVJBd0FMRHdzZ0FpQUNLQUlBSWdGQkJHbzJBZ0FnQUNBQk5BSUFOd01BRHdzZ0FpQUNLQUlBSWdGQkJHbzJBZ0FnQUNBQk5RSUFOd01BRHdzZ0FpQUNLQUlBUVFkcVFYaHhJZ0ZCQ0dvMkFnQWdBQ0FCS1FNQU53TUFDM01CQm44Z0FDZ0NBQ0lETEFBQVFUQnJJZ0ZCQ1VzRVFFRUFEd3NEUUVGL0lRUWdBa0hNbWJQbUFFMEVRRUYvSUFFZ0FrRUtiQ0lGYWlBQklBVkIvLy8vL3dkelN4c2hCQXNnQUNBRFFRRnFJZ1UyQWdBZ0F5d0FBU0VHSUFRaEFpQUZJUU1nQmtFd2F5SUJRUXBKRFFBTElBSUx0QlFDRlg4QmZpTUFRVUJxSWdna0FDQUlJQUUyQWp3Z0NFRW5haUVXSUFoQktHb2hFUUpBQWtBQ1FBSkFBMEJCQUNFSEEwQWdBU0VOSUFjZ0RrSC8vLy8vQjNOS0RRSWdCeUFPYWlFT0FrQUNRQUpBQWtBZ0FTSUhMUUFBSWdzRVFBTkFBa0FDUUNBTFFmOEJjU0lCUlFSQUlBY2hBUXdCQ3lBQlFTVkhEUUVnQnlFTEEwQWdDeTBBQVVFbFJ3UkFJQXNoQVF3Q0N5QUhRUUZxSVFjZ0N5MEFBaUVaSUF0QkFtb2lBU0VMSUJsQkpVWU5BQXNMSUFjZ0RXc2lCeUFPUWYvLy8vOEhjeUlYU2cwSklBQUVRQ0FBSUEwZ0J4QVpDeUFIRFFjZ0NDQUJOZ0k4SUFGQkFXb2hCMEYvSVJBQ1FDQUJMQUFCUVRCcklnbEJDVXNOQUNBQkxRQUNRU1JIRFFBZ0FVRURhaUVIUVFFaEVpQUpJUkFMSUFnZ0J6WUNQRUVBSVF3Q1FDQUhMQUFBSWd0QklHc2lBVUVmU3dSQUlBY2hDUXdCQ3lBSElRbEJBU0FCZENJQlFZblJCSEZGRFFBRFFDQUlJQWRCQVdvaUNUWUNQQ0FCSUF4eUlRd2dCeXdBQVNJTFFTQnJJZ0ZCSUU4TkFTQUpJUWRCQVNBQmRDSUJRWW5SQkhFTkFBc0xBa0FnQzBFcVJnUkFBbjhDUUNBSkxBQUJRVEJySWdGQkNVc05BQ0FKTFFBQ1FTUkhEUUFDZnlBQVJRUkFJQVFnQVVFQ2RHcEJDallDQUVFQURBRUxJQU1nQVVFRGRHb29BZ0FMSVE4Z0NVRURhaUVCUVFFTUFRc2dFZzBHSUFsQkFXb2hBU0FBUlFSQUlBZ2dBVFlDUEVFQUlSSkJBQ0VQREFNTElBSWdBaWdDQUNJSFFRUnFOZ0lBSUFjb0FnQWhEMEVBQ3lFU0lBZ2dBVFlDUENBUFFRQk9EUUZCQUNBUGF5RVBJQXhCZ01BQWNpRU1EQUVMSUFoQlBHb1FhU0lQUVFCSURRb2dDQ2dDUENFQkMwRUFJUWRCZnlFS0FuOUJBQ0FCTFFBQVFTNUhEUUFhSUFFdEFBRkJLa1lFUUFKL0FrQWdBU3dBQWtFd2F5SUpRUWxMRFFBZ0FTMEFBMEVrUncwQUlBRkJCR29oQVFKL0lBQkZCRUFnQkNBSlFRSjBha0VLTmdJQVFRQU1BUXNnQXlBSlFRTjBhaWdDQUFzTUFRc2dFZzBHSUFGQkFtb2hBVUVBSUFCRkRRQWFJQUlnQWlnQ0FDSUpRUVJxTmdJQUlBa29BZ0FMSVFvZ0NDQUJOZ0k4SUFwQkFFNE1BUXNnQ0NBQlFRRnFOZ0k4SUFoQlBHb1FhU0VLSUFnb0Fqd2hBVUVCQ3lFVEEwQWdCeUVVUVJ3aENTQUJJaGdzQUFBaUIwSDdBR3RCUmtrTkN5QUJRUUZxSVFFZ0J5QVVRVHBzYWtHL3dBRnFMUUFBSWdkQkFXdEJDRWtOQUFzZ0NDQUJOZ0k4QWtBZ0IwRWJSd1JBSUFkRkRRd2dFRUVBVGdSQUlBQkZCRUFnQkNBUVFRSjBhaUFITmdJQURBd0xJQWdnQXlBUVFRTjBhaWtEQURjRE1Bd0NDeUFBUlEwSUlBaEJNR29nQnlBQ0lBWVFhQXdCQ3lBUVFRQk9EUXRCQUNFSElBQkZEUWdMSUFBdEFBQkJJSEVOQ3lBTVFmLy9lM0VpQ3lBTUlBeEJnTUFBY1JzaERFRUFJUkJCc0FnaEZTQVJJUWtDUUFKQUFuOENRQUpBQWtBQ1FBSkFBa0FDZndKQUFrQUNRQUpBQWtBQ1FBSkFJQmdzQUFBaUIwRlRjU0FISUFkQkQzRkJBMFliSUFjZ0ZCc2lCMEhZQUdzT0lRUVdGaFlXRmhZV0ZoQVdDUVlRRUJBV0JoWVdGaFlDQlFNV0Znb1dBUllXQkFBTEFrQWdCMEhCQUdzT0J4QVdDeFlRRUJBQUN5QUhRZE1BUmcwTERCVUxJQWdwQXpBaEhFR3dDQXdGQzBFQUlRY0NRQUpBQWtBQ1FBSkFBa0FDUUNBVVFmOEJjUTRJQUFFQ0F3UWNCUVljQ3lBSUtBSXdJQTQyQWdBTUd3c2dDQ2dDTUNBT05nSUFEQm9MSUFnb0FqQWdEcXczQXdBTUdRc2dDQ2dDTUNBT093RUFEQmdMSUFnb0FqQWdEam9BQUF3WEN5QUlLQUl3SUE0MkFnQU1GZ3NnQ0NnQ01DQU9yRGNEQUF3VkMwRUlJQW9nQ2tFSVRSc2hDaUFNUVFoeUlReEIrQUFoQndzZ0VTRUJJQWdwQXpBaUhFSUFVZ1JBSUFkQklIRWhEUU5BSUFGQkFXc2lBU0FjcDBFUGNVSFF4QUZxTFFBQUlBMXlPZ0FBSUJ4Q0QxWWhHaUFjUWdTSUlSd2dHZzBBQ3dzZ0FTRU5JQWdwQXpCUURRTWdERUVJY1VVTkF5QUhRUVIyUWJBSWFpRVZRUUloRUF3REN5QVJJUUVnQ0NrRE1DSWNRZ0JTQkVBRFFDQUJRUUZySWdFZ0hLZEJCM0ZCTUhJNkFBQWdIRUlIVmlFYklCeENBNGdoSENBYkRRQUxDeUFCSVEwZ0RFRUljVVVOQWlBS0lCRWdBV3NpQVVFQmFpQUJJQXBJR3lFS0RBSUxJQWdwQXpBaUhFSUFVd1JBSUFoQ0FDQWNmU0ljTndNd1FRRWhFRUd3Q0F3QkN5QU1RWUFRY1FSQVFRRWhFRUd4Q0F3QkMwR3lDRUd3Q0NBTVFRRnhJaEFiQ3lFVklCd2dFUkFxSVEwTElCTWdDa0VBU0hFTkVTQU1RZi8vZTNFZ0RDQVRHeUVNQWtBZ0NDa0RNQ0ljUWdCU0RRQWdDZzBBSUJFaERVRUFJUW9NRGdzZ0NpQWNVQ0FSSUExcmFpSUJJQUVnQ2tnYklRb01EUXNnQ0NrRE1DRWNEQXNMQW45Qi8vLy8vd2NnQ2lBS1FmLy8vLzhIVHhzaURDSUhRUUJISVFrQ1FBSkFBa0FnQ0NnQ01DSUJRWVFNSUFFYklnMGlBVUVEY1VVTkFDQUhSUTBBQTBBZ0FTMEFBRVVOQWlBSFFRRnJJZ2RCQUVjaENTQUJRUUZxSWdGQkEzRkZEUUVnQncwQUN3c2dDVVVOQVFKQUlBRXRBQUJGRFFBZ0IwRUVTUTBBQTBCQmdJS0VDQ0FCS0FJQUlnbHJJQWx5UVlDQmdvUjRjVUdBZ1lLRWVFY05BaUFCUVFScUlRRWdCMEVFYXlJSFFRTkxEUUFMQ3lBSFJRMEJDd05BSUFFZ0FTMEFBRVVOQWhvZ0FVRUJhaUVCSUFkQkFXc2lCdzBBQ3d0QkFBc2lBU0FOYXlBTUlBRWJJZ0VnRFdvaENTQUtRUUJPQkVBZ0N5RU1JQUVoQ2d3TUN5QUxJUXdnQVNFS0lBa3RBQUFORHd3TEN5QUlLUU13SWh4Q0FGSU5BVUlBSVJ3TUNRc2dDZ1JBSUFnb0FqQU1BZ3RCQUNFSElBQkJJQ0FQUVFBZ0RCQWNEQUlMSUFoQkFEWUNEQ0FJSUJ3K0FnZ2dDQ0FJUVFocUlnYzJBakJCZnlFS0lBY0xJUXRCQUNFSEEwQUNRQ0FMS0FJQUlnMUZEUUFnQ0VFRWFpQU5FR2NpRFVFQVNBMFBJQTBnQ2lBSGEwc05BQ0FMUVFScUlRc2dCeUFOYWlJSElBcEpEUUVMQzBFOUlRa2dCMEVBU0EwTUlBQkJJQ0FQSUFjZ0RCQWNJQWRGQkVCQkFDRUhEQUVMUVFBaENTQUlLQUl3SVFzRFFDQUxLQUlBSWcxRkRRRWdDRUVFYWlJS0lBMFFaeUlOSUFscUlna2dCMHNOQVNBQUlBb2dEUkFaSUF0QkJHb2hDeUFISUFsTERRQUxDeUFBUVNBZ0R5QUhJQXhCZ01BQWN4QWNJQThnQnlBSElBOUlHeUVIREFnTElCTWdDa0VBU0hFTkNVRTlJUWtnQUNBSUt3TXdJQThnQ2lBTUlBY2dCUkVUQUNJSFFRQk9EUWNNQ2dzZ0J5MEFBU0VMSUFkQkFXb2hCd3dBQ3dBTElBQU5DU0FTUlEwRFFRRWhCd05BSUFRZ0IwRUNkR29vQWdBaUFBUkFJQU1nQjBFRGRHb2dBQ0FDSUFZUWFFRUJJUTRnQjBFQmFpSUhRUXBIRFFFTUN3c0xRUUVoRGlBSFFRcFBEUWtEUUNBRUlBZEJBblJxS0FJQURRRWdCMEVCYWlJSFFRcEhEUUFMREFrTFFSd2hDUXdHQ3lBSUlCdzhBQ2RCQVNFS0lCWWhEU0FMSVF3TElBb2dDU0FOYXlJTElBb2dDMG9iSWdvZ0VFSC8vLy8vQjNOS0RRTkJQU0VKSUE4Z0NpQVFhaUlCSUFFZ0QwZ2JJZ2NnRjBvTkJDQUFRU0FnQnlBQklBd1FIQ0FBSUJVZ0VCQVpJQUJCTUNBSElBRWdERUdBZ0FSekVCd2dBRUV3SUFvZ0MwRUFFQndnQUNBTklBc1FHU0FBUVNBZ0J5QUJJQXhCZ01BQWN4QWNJQWdvQWp3aEFRd0JDd3NMUVFBaERnd0RDMEU5SVFrTFFaVEhBU0FKTmdJQUMwRi9JUTRMSUFoQlFHc2tBQ0FPQzZnQ0FRUi9Jd0JCMEFGcklnVWtBQ0FGSUFJMkFzd0JJQVZCb0FGcUlnSkJBRUVvRUJVYUlBVWdCU2dDekFFMkFzZ0JBa0JCQUNBQklBVkJ5QUZxSUFWQjBBQnFJQUlnQXlBRUVHcEJBRWdOQUNBQUtBSk1RUUJJSVFnZ0FDQUFLQUlBSWdkQlgzRTJBZ0FDZndKQUFrQWdBQ2dDTUVVRVFDQUFRZEFBTmdJd0lBQkJBRFlDSENBQVFnQTNBeEFnQUNnQ0xDRUdJQUFnQlRZQ0xBd0JDeUFBS0FJUURRRUxRWDhnQUJBK0RRRWFDeUFBSUFFZ0JVSElBV29nQlVIUUFHb2dCVUdnQVdvZ0F5QUVFR29MSVFFZ0JnUi9JQUJCQUVFQUlBQW9BaVFSQUFBYUlBQkJBRFlDTUNBQUlBWTJBaXdnQUVFQU5nSWNJQUFvQWhRYUlBQkNBRGNERUVFQUJTQUJDeG9nQUNBQUtBSUFJQWRCSUhGeU5nSUFJQWdOQUFzZ0JVSFFBV29rQUFzbkFRRi9RUndoQXlBQlFRTnhCSDlCSEFVZ0FDQUJJQUlRSlNJQU5nSUFRUUJCTUNBQUd3c0wvUU1CQlg4Q2YwSGd4QUVvQWdBaUFpQUFRUWRxUVhoeElnRkJCMnBCZUhFaUEyb2hBQUpBSUFOQkFDQUFJQUpORzBVRVFDQUFQd0JCRUhSTkRRRWdBQkFLRFFFTFFaVEhBVUV3TmdJQVFYOE1BUXRCNE1RQklBQTJBZ0FnQWdzaUFrRi9Sd1JBSUFFZ0Ftb2lBRUVFYTBFUU5nSUFJQUJCRUdzaUEwRVFOZ0lBQWtBQ2YwR2d6d0VvQWdBaUFRUi9JQUVvQWdnRlFRQUxJQUpHQkVBZ0FpQUNRUVJyS0FJQVFYNXhheUlFUVFScktBSUFJUVVnQVNBQU5nSUlJQVFnQlVGK2NXc2lBQ0FBS0FJQWFrRUVheTBBQUVFQmNRUkFJQUFvQWdRaUFTQUFLQUlJSWdRMkFnZ2dCQ0FCTmdJRUlBQWdBeUFBYXlJQk5nSUFEQU1MSUFKQkVHc01BUXNnQWtFUU5nSUFJQUlnQURZQ0NDQUNJQUUyQWdRZ0FrRVFOZ0lNUWFEUEFTQUNOZ0lBSUFKQkVHb0xJZ0FnQXlBQWF5SUJOZ0lBQ3lBQUlBRkJmSEZxUVFScklBRkJBWEkyQWdBZ0FBSi9JQUFvQWdCQkNHc2lBVUgvQUUwRVFDQUJRUU4yUVFGckRBRUxJQUZCSFNBQlp5SURhM1pCQkhNZ0EwRUNkR3RCN2dCcUlBRkIveDlORFFBYVFUOGdBVUVlSUFOcmRrRUNjeUFEUVFGMGEwSEhBR29pQVNBQlFUOVBHd3NpQVVFRWRDSURRYURIQVdvMkFnUWdBQ0FEUWFqSEFXb2lBeWdDQURZQ0NDQURJQUEyQWdBZ0FDZ0NDQ0FBTmdJRVFhalBBVUdvendFcEF3QkNBU0FCcllhRU53TUFDeUFDUVg5SEM3MEJBUUovQWtBZ0FDZ0NUQ0lCUVFCT0JFQWdBVVVOQVVITXp3RW9BZ0FnQVVILy8vLy9BM0ZIRFFFTEFrQWdBQ2dDVUVFS1JnMEFJQUFvQWhRaUFTQUFLQUlRUmcwQUlBQWdBVUVCYWpZQ0ZDQUJRUW82QUFBUEN5QUFFRzhQQ3lBQVFjd0FhaUlCSUFFb0FnQWlBa0gvLy8vL0F5QUNHellDQUFKQUFrQWdBQ2dDVUVFS1JnMEFJQUFvQWhRaUFpQUFLQUlRUmcwQUlBQWdBa0VCYWpZQ0ZDQUNRUW82QUFBTUFRc2dBQkJ2Q3lBQktBSUFHaUFCUVFBMkFnQUxmQUVDZnlNQVFSQnJJZ0VrQUNBQlFRbzZBQThDUUFKQUlBQW9BaEFpQWdSL0lBSUZJQUFRUGcwQ0lBQW9BaEFMSUFBb0FoUWlBa1lOQUNBQUtBSlFRUXBHRFFBZ0FDQUNRUUZxTmdJVUlBSkJDam9BQUF3QkN5QUFJQUZCRDJwQkFTQUFLQUlrRVFBQVFRRkhEUUFnQVMwQUR4b0xJQUZCRUdva0FBdXdBZ0VDZnlBQUJFQWdBQ2dDQUJBNElBQkJBRFlDQUNBQUtBSklJZ0VFUUNBQkVCQWdBRUVBTmdKSUN5QUFLQUpFSWdFRVFDQUJFQkFnQUVFQU5nSkVDeUFBS0FKc0lnRUVRQ0FCRUJBZ0FFRUFOZ0pzQ3lBQUtBSjBJZ0VFUUNBQktBSUFJZ0lFUUNBQ0VCQWdBQ2dDZENJQlFRQTJBZ0FMSUFFUUVDQUFRUUEyQW5RTElBQW9BbmdpQVFSQUlBRW9BZ3dpQWdSQUlBSVFFQ0FBS0FKNElnRkJBRFlDREFzZ0FTZ0NCQ0lDQkVBZ0FoQVFJQUFvQW5naUFVRUFOZ0lFQ3lBQktBSUlJZ0lFUUNBQ0VCQWdBQ2dDZUNJQlFRQTJBZ2dMSUFFb0FnQWlBZ1JBSUFJUUVDQUFLQUo0SWdGQkFEWUNBQXNnQVJBUUlBQkJBRFlDZUFzZ0FDZ0NCQ0lCQkVBZ0FSQXlJQUJCQURZQ0JBc2dBQ2dDQ0NJQkJFQWdBUkF5SUFCQkFEWUNDQXNnQUJBUUN3dUxHd0llZndWN0l3QkI4QUZySWdra0FFRUJJUTRDUUNBQUtBSUFLQUk4RFFBZ0FDZ0NnQUVOQUFKQUFrQWdBQ2dDZENJSVJRUkFJQUFvQW5naEJBd0JDeUFCS0FJUUlRTWdDQzhCQkNFR0FrQWdBQ2dDZUNJRVJRMEFJQVFvQWd4RkRRQWdCQzBBRWlFREN3SkFJQVlFUUNBSUtBSUFJUWdEUUNBSUlBVkJCbXhxSWdvdkFRQWlCeUFEVHdSQUlBa2dBellDdEFFZ0NTQUhOZ0t3QVNBQ1FRRkJvT1lBSUFsQnNBRnFFQTlCQUNFT0RBWUxBa0FnQ2k4QkJDSUtSUTBBSUFwQi8vOERSZzBBSUFwQkFXc2lDaUFEU1EwQUlBa2dBellDcEFFZ0NTQUtOZ0tnQVNBQ1FRRkJvT1lBSUFsQm9BRnFFQTlCQUNFT0RBWUxJQVZCQVdvaUJTQUdSdzBBQ3d3QkN5QUREUUlNQVFzRFFDQURRUUZySVFOQkFDRUZBMEFnQ0NBRlFRWnNhaThCQUNBRFJ3UkFJQVZCQVdvaUJTQUdSdzBCREFRTEN5QUREUUFMQ3dKQUlBUkZEUUFnQkNnQ0RDSUtSUTBBQWtBQ1FDQUVMUUFTSWdnRVFFRUFJUVZCQVNFSEEwQWdBU2dDRUNJRElBb2dCVUVDZEdvdkFRQWlCRTBFUUNBSklBTTJBcFFCSUFrZ0JEWUNrQUVnQWtFQlFhRG1BQ0FKUVpBQmFoQVBRUUFoQndzZ0JVRUJhaUlGSUFoSERRQUxJQWhCQkJBVElnTkZEUUZCQUNFRkEwQUNRQ0FLSUFWQkFuUnFJZ1F0QUFJaUJrRUNUd1JBSUFrZ0JqWUNSQ0FKSUFVMkFrQWdBa0VCUWN2WkFDQUpRVUJyRUE5QkFDRUhEQUVMSUFnZ0JDMEFBeUlFVFFSQUlBa2dCRFlDZ0FFZ0FrRUJRWlBaQUNBSlFZQUJhaEFQUVFBaEJ3d0JDeUFESUFSQkFuUnFJUXNDUUNBR1FRRkhJZ3dOQUNBTEtBSUFSUTBBSUFrZ0JEWUNVQ0FDUVFGQnZOVUFJQWxCMEFCcUVBOUJBQ0VIREFFTEFrQWdCZzBBSUFSRkRRQWdDU0FFTmdKa0lBa2dCVFlDWUNBQ1FRRkJpdGdBSUFsQjRBQnFFQTlCQUNFSERBRUxBa0FnREEwQUlBUWdCVVlOQUNBSklBUTJBbmdnQ1NBRk5nSjBJQWtnQlRZQ2NDQUNRUUZCcnRnQUlBbEI4QUJxRUE5QkFDRUhEQUVMSUF0QkFUWUNBQXNnQlVFQmFpSUZJQWhIRFFBTFFRQWhCUU5BQWtBQ1FDQURJQVZCQW5RaUJHb29BZ0JGQkVBZ0JDQUthaTBBQWcwQkN5QUZRUUZxSWdVZ0NFY05BaUFIUlEwQklBRW9BaEJCQVVjTkJVRUFJUVVEUUNBRElBVkJBblJxS0FJQUJFQWdDQ0FGUVFGcUlnVkhEUUVNQndzTFFRQWhCeUFDUVFKQjdzVUFRUUFRRHlBSVFSQlBCRUFnQ0VId0FYRWhCMEVBSVFRRFFDQUtJQVJCQW5ScUlnWkJBVG9BQWlBR0lBUTZBQU1nQmtFQk9nQStJQVpCQVRvQU9pQUdRUUU2QURZZ0JrRUJPZ0F5SUFaQkFUb0FMaUFHUVFFNkFDb2dCa0VCT2dBbUlBWkJBVG9BSWlBR1FRRTZBQjRnQmtFQk9nQWFJQVpCQVRvQUZpQUdRUUU2QUJJZ0JrRUJPZ0FPSUFaQkFUb0FDaUFHUVFFNkFBWWdCaUFFUVFGeU9nQUhJQVlnQkVFUGNqb0FQeUFHSUFSQkRuSTZBRHNnQmlBRVFRMXlPZ0EzSUFZZ0JFRU1jam9BTXlBR0lBUkJDM0k2QUM4Z0JpQUVRUXB5T2dBcklBWWdCRUVKY2pvQUp5QUdJQVJCQ0hJNkFDTWdCaUFFUVFkeU9nQWZJQVlnQkVFR2Nqb0FHeUFHSUFSQkJYSTZBQmNnQmlBRVFRUnlPZ0FUSUFZZ0JFRURjam9BRHlBR0lBUkJBbkk2QUFzZ0JFRVFhaUlFSUFkSERRQUxJQWNnQ0VZTkJnc0RRQ0FLSUFkQkFuUnFJZ1FnQnpvQUF5QUVRUUU2QUFJZ0IwRUJhaUlISUFoSERRQUxEQVVMSUFrZ0JUWUNNQ0FDUVFGQnlOSUFJQWxCTUdvUUQwRUFJUWNnQlVFQmFpSUZJQWhIRFFFTEN5QURFQkJCQUNFT0RBVUxJQWhCQkJBVElnTU5BUXRCQUNFT0lBSkJBVUdLMndCQkFCQVBEQU1MSUFNUUVBc0NRQ0FBS0FKNElnTkZEUUFnQXlnQ0RDSVBSUVJBSUFNb0FnUVFFQ0FBS0FKNEtBSUlFQkFnQUNnQ2VDZ0NBQkFRSUFBb0FuZ2lBeWdDRENJRUJIOGdCQkFRSUFBb0FuZ0ZJQU1MRUJBZ0FFRUFOZ0o0REFFTElBRW9BaGdoRFFKQUFrQWdBeTBBRWlJS0JFQWdBeWdDQUNFVUlBTW9BZ1FoQmlBREtBSUlJUWhCQUNFRkFrQURRQ0FOSUE4Z0JVRUNkR292QVFCQk5HeHFLQUlzQkVBZ0NpQUZRUUZxSWdWSERRRU1BZ3NMSUFrZ0JUWUNJQ0FDUVFGQnd1Y0FJQWxCSUdvUUQwRUFJUTRNQmdzZ0NrRTBiQkFVSWd0RkRRRkJBQ0VGQTBBZ0R5QUZRUUowYWlJREx3RUFJUWNnQ3lBRExRQUNCSDhnQXkwQUF3VWdCUXRCTkd4cUlnUWdEU0FIUVRSc2FpSUQvUUFDQVAwTEFnQWdCQ0FES0FJd05nSXdJQVFnQS8wQUFpRDlDd0lnSUFRZ0EvMEFBaEQ5Q3dJUUlBc2dCVUUwYkdvaUJDQURLQUlJSUFNb0FneHNRUUowRUJnaUF6WUNMQ0FEUlFSQUlBVUVRQ0FGUWYvL0EzRWhBQU5BSUFCQk5Hd2dDMnBCQ0dzb0FnQVFFQ0FBUVFGcklnQU5BQXNMSUFzUUVFRUFJUTRnQWtFQlFZN25BRUVBRUE4TUJ3c2dCQ0FGSUFocUxRQUFOZ0lZSUFRZ0JTQUdhaTBBQURZQ0lDQUZRUUZxSWdVZ0NrY05BQXNnQUNnQ2VDOEJFQ0lRUVFGcklSSURRQ0FMSUJOQk5HeHFJZ01vQWd3Z0F5Z0NDR3doQmlBTklBOGdFMEVDZEdvaUJDOEJBRUUwYkdvb0Fpd2hDQUpBSUFRdEFBSkZCRUFnQmtVTkFTQURLQUlzSVFWQkFDRUhRUUFoQkFKQUlBWkJCRWtOQUNBRklBaHJRUkJKRFFBZ0JrRjhjU0VFUVFBaEF3TkFJQVVnQTBFQ2RDSU1haUFJSUF4cS9RQUNBUDBMQWdBZ0EwRUVhaUlESUFSSERRQUxJQVFnQmtZTkFnc2dCQ0VESUFaQkEzRWlEQVJBQTBBZ0JTQURRUUowSWhGcUlBZ2dFV29vQWdBMkFnQWdBMEVCYWlFRElBZEJBV29pQnlBTVJ3MEFDd3NnQkNBR2EwRjhTdzBCQTBBZ0JTQURRUUowSWdScUlBUWdDR29vQWdBMkFnQWdCU0FFUVFScUlnZHFJQWNnQ0dvb0FnQTJBZ0FnQlNBRVFRaHFJZ2RxSUFjZ0NHb29BZ0EyQWdBZ0JTQUVRUXhxSWdScUlBUWdDR29vQWdBMkFnQWdBMEVFYWlJRElBWkhEUUFMREFFTElBWkZEUUFnRkNBRUxRQURJZ05CQW5ScUlRUWdDeUFEUVRSc2FpZ0NMQ0VGUVFBaEF5QUdRUUZIQkVBZ0JrRitjU0VWUVFBaERBTkFJQVVnQTBFQ2RDSUhhaUFFSUFjZ0NHb29BZ0FpRVNBU0lCQWdFVW9iUVFBZ0VVRUFUaHNnQ214QkFuUnFLQUlBTmdJQUlBVWdCMEVFY2lJSGFpQUVJQWNnQ0dvb0FnQWlCeUFTSUFjZ0VFZ2JRUUFnQjBFQVRoc2dDbXhCQW5ScUtBSUFOZ0lBSUFOQkFtb2hBeUFNUVFKcUlnd2dGVWNOQUFzTElBWkJBWEZGRFFBZ0JTQURRUUowSWdOcUlBUWdBeUFJYWlnQ0FDSURJQklnQXlBUVNCdEJBQ0FEUVFCT0d5QUtiRUVDZEdvb0FnQTJBZ0FMSUJOQkFXb2lFeUFLUncwQUN3d0NDeUFLUVRSc0VCUWlDdzBCQzBFQUlRNGdBa0VCUVk3bkFFRUFFQThNQXdzZ0FTZ0NFQ0lEQkVCQkFDRUZBMEFnRFNBRlFUUnNhaWdDTENJRUJFQWdCQkFRQ3lBRlFRRnFJZ1VnQTBjTkFBc0xJQTBRRUNBQklBbzJBaEFnQVNBTE5nSVlDeUFBS0FKMElnVkZEUUVnQlNnQ0FDRUhJQVV2QVFRaUN3UkFJQWRCS21vaEVpQUhRU1JxSVJNZ0IwRWVhaUVSSUFkQkdHb2hGQ0FIUVJKcUlSVWdCMEVNYWlFV0lBZEJCbW9oRnlBTFFRSnJJUmhCQUNFRlFRRWhCQU5BQWtBZ0FTZ0NFQ0lESUFjZ0JVRUdiR29pRFM4QkFDSUdUUVJBSUFrZ0F6WUNGQ0FKSUFZMkFoQWdBa0VDUWN3M0lBbEJFR29RRHd3QkN5QU5Md0VFSWdoQkFXcEIvLzhEY1VFQlRRUkFJQUVvQWhnZ0JrRTBiR29nRFM4QkFqc0JNQXdCQ3lBSVFRRnJJZ3BCLy84RGNTSVBJQU5QQkVBZ0NTQUROZ0lFSUFrZ0R6WUNBQ0FDUVFKQm96Y2dDUkFQREFFTEFrQWdCaUFQUmcwQUlBMHZBUUlOQUNBSklBRW9BaGdpQ0NBR1FUUnNhaUlES0FJd05nTG9BU0FKSUFQOUFBSWcvUXNEMkFFZ0NTQUQvUUFDRVAwTEE4Z0JJQWtnQS8wQUFnRDlDd080QVNBRElBZ2dEMEUwYkNJTWFpSUlLUUlJTndJSUlBTWdDQ2tDRURjQ0VDQURJQWdwQWhnM0FoZ2dBeUFJS1FJZ053SWdJQU1nQ0NrQ0tEY0NLQ0FESUFnb0FqQTJBakFnQXlBSUtRSUFOd0lBSUFFb0FoZ2dER29pQXlBSi9RQUR1QUg5Q3dJQUlBTWdDZjBBQTlnQi9Rc0NJQ0FESUFuOUFBUElBZjBMQWhBZ0F5QUpLQUxvQVRZQ01DQUZRUUZxSUF0UERRQWdCQ0VJSUJnZ0JXdEIvLzhEY1NJRFFRZFBCRUFnQkNBRFFRRnFJaGxCK1A4SGNTSVFhaUVJSUFyOUVDRWtJQWI5RUNFalFRQWhEQU5BSUNNZ0pDQVNJQVFnREdwQkJtd2lBMm9pR2lBRElCTnFJaHNnQXlBUmFpSWNJQU1nRkdvaUhTQURJQlZxSWg0Z0F5QVdhaUlmSUFNZ0Yyb2lJQ0FESUFkcUlnUDlDQUVBL1ZVQkFBSDlWUUVBQXYxVkFRQUQvVlVCQUFUOVZRRUFCZjFWQVFBRy9WVUJBQWNpSVNBai9TNGdJU0FrL1MwaUpmMU8vVkloSWlBaElDUDlMU0FsL1ZBaUlmMFpBRUVCY1FSQUlBTWdJdjFaQVFBQUN5QWgvUmtCUVFGeEJFQWdJQ0FpL1ZrQkFBRUxJQ0g5R1FKQkFYRUVRQ0FmSUNMOVdRRUFBZ3NnSWYwWkEwRUJjUVJBSUI0Z0l2MVpBUUFEQ3lBaC9Sa0VRUUZ4QkVBZ0hTQWkvVmtCQUFRTElDSDlHUVZCQVhFRVFDQWNJQ0w5V1FFQUJRc2dJZjBaQmtFQmNRUkFJQnNnSXYxWkFRQUdDeUFoL1JrSFFRRnhCRUFnR2lBaS9Wa0JBQWNMSUF4QkNHb2lEQ0FRUncwQUN5QVFJQmxHRFFFTEEwQWdDaUVEQWtBZ0JpQUhJQWhCQm14cUlnd3ZBUUFpRUVjRVFDQUdJUU1nRHlBUVJ3MEJDeUFNSUFNN0FRQUxJQXNnQ0VFQmFpSUlRZi8vQTNGSERRQUxDeUFCS0FJWUlBWkJOR3hxSUEwdkFRSTdBVEFMSUFSQkFXb2hCQ0FGUVFGcUlnVWdDMGNOQUFzZ0FDZ0NkQ0lGS0FJQUlRY0xJQWNFZnlBSEVCQWdBQ2dDZEFVZ0JRc1FFQ0FBUVFBMkFuUU1BUXRCQUNFT0lBSkJBVUdoeGdCQkFCQVBDeUFKUWZBQmFpUUFJQTRMNlFFQkJuOGpBRUVnYXlJRUpBQUNmd0pBSUFBb0Fqd2lBd1JBUVFFaEJRTkFJQUFvQWt3b0FoZ2dBQ2dDUUNBQ1FRSjBhaWdDQUNJR1FUUnNhaWdDTEVVRVFDQUVJQVkyQWhBZ0FVRUNRZG81SUFSQkVHb1FEMEVBSVFVZ0FDZ0NQQ0VEQ3lBQ1FRRnFJZ0lnQTBrTkFBc01BUXRCQVNFRlFRRWdBQ2dDVENJREtBSVFSUTBCR2dOQUlBTW9BaGdnQWtFMGJHb29BaXhGQkVBZ0JDQUNOZ0lBSUFGQkFrSGFPU0FFRUE5QkFDRUZJQUFvQWt3aEF3c2dBa0VCYWlJQ0lBTW9BaEJKRFFBTEMwRUJJQVVOQUJvZ0FVRUJRYjhWUVFBUUQwRUFDeUVISUFSQklHb2tBQ0FIQ3dRQVFYOExoZ2NDRm44Q2ZpQUFLQUlZSWhBb0FoQkZCRUJCQVE4TElCQW9BaGdoRFNBQUtBSVVLQUlBS0FJVUlRc0RRQ0FCSUEwb0FpUWlBallDSkNBTEtBSWNJZ1lnQWtHWUFXeHFJUU1DUUFKQUFuOGdBQ2dDUUNJUkJFQWdCaUFMS0FJWVFaZ0JiR29pQWtHUUFXc29BZ0FnQWtHWUFXc29BZ0JySVF3Z0EwRU1haUVHSUFOQkJHb2hCQ0FES0FJSUlRSWdBeWdDQUNFRlFTUU1BUXNnQTBHVUFXb2hCaUFEUVl3QmFpRUVJQU1vQXBBQklnSWdBeWdDaUFFaUJXc2hERUUwQ3lBTGFpZ0NBQ0lTUlEwQUlBUW9BZ0FoQnlBR0tBSUFJUWtnQWlBRmF5RUdJQUVvQWdnaUEwSi9JQUUxQWlnaUdJWkNmNFVpR1NBQk5RSVFmQ0FZaUtjaUNHb2hCQUovSUFVZ0NFc0VRQ0FGSUFocklRNUJBQ0VJUVFBZ0FpQUVUUTBCR2lBR0lBUWdCV3NpQm1zTUFRc2dDQ0FGYXlFSUlBSWdCRTBFUUNBR0lBaHJJUVpCQUNFT1FRQU1BUXRCQUNFT0lBTWhCaUFDSUFSckN5RVZJQWtnQjJzaEFpQUJLQUlNSWdRZ0dTQUJOUUlVZkNBWWlLY2lDbW9oQlFKL0lBY2dDa3NFUUNBSElBcHJJUTlCQUNFS1FRQWdCU0FKVHcwQkdpQUNJQVVnQjJzaUFtc01BUXNnQ2lBSGF5RUtJQVVnQ1U4RVFDQUNJQXBySVFKQkFDRVBRUUFNQVF0QkFDRVBJQVFoQWlBSklBVnJDeUVIUVFBaEJTQUlRUUJJRFFFZ0NrRUFTQTBCSUJWQkFFZ05BU0FIUVFCSURRRWdCa0VBU0EwQklBSkJBRWdOQVNBRElBOXNJQTVxSVFjZ0NpQU1iQ0FJYWlFSkFrQUNRQUpBSUFFb0Fpd2lDQTBBSUFrTkFDQUhEUUFnQXlBTVJ3MEFJQU1nQmtjTkFDQUNJQVJIRFFFZ0FTQUxRU1JCTkNBUkcyb2lBaWdDQURZQ0xDQUNRUUEyQWdBTUF3c2dDQTBCQ3lBRVJRMENJQVN0SUFPdGZrSWdpS2NOQWlBRElBUnNJZ05CLy8vLy93TkxEUUlnQVNBRFFRSjBFQmdpQXpZQ0xDQURSUTBDSUFZZ0FTZ0NDQ0lFUmlBQktBSU1JZ1VnQWtaeERRQWdBMEVBSUFRZ0JXeEJBblFRRlJvTElBSkZEUUFnQWtFQmNTRVhJQVpCQW5RaEJpQUJLQUlzSUFkQkFuUnFJUVFnRWlBSlFRSjBhaUVGSUFKQkFVY0VRQ0FDUWY3Ly8vOEhjU0VIUVFBaEFnTkFJQVFnQlNBR0VCSWhGaUFGSUF4QkFuUWlDV29pQ0NBSmFpRUZJQllnQVNnQ0NFRUNkR29nQ0NBR0VCSWdBU2dDQ0VFQ2RHb2hCQ0FDUVFKcUlnSWdCMGNOQUFzTElCZEZEUUFnQkNBRklBWVFFaG9MSUF0QnpBQnFJUXNnRFVFMGFpRU5JQUZCTkdvaEFVRUJJUVVnRkVFQmFpSVVJQkFvQWhCSkRRRUxDeUFGQzlVU0FnbC9ESDRqQUVHZ0FXc2lCU1FBQWtBZ0FrRWpUUVJBUVFBaEFpQURRUUZCdGk1QkFCQVBEQUVMSUFKQkpHc2lBaUFDUVFOdUlnbEJBMnhIQkVCQkFDRUNJQU5CQVVHMkxrRUFFQThNQVFzZ0FDZ0NTQ0VHSUFFZ0JVR2NBV29pQWtFQ0VCRWdBQ0FGS0FLY0FUc0JVQ0FCUVFKcUlBWkJDR3BCQkJBUklBRkJCbW9nQmtFTWFrRUVFQkVnQVVFS2FpQUdRUVFRRVNBQlFRNXFJQVpCQkdwQkJCQVJJQUZCRW1vZ0FFSGNBR3BCQkJBUklBRkJGbW9nQUVIZ0FHcEJCQkFSSUFGQkdtb2dBRUhVQUdwQkJCQVJJQUZCSG1vZ0FFSFlBR3BCQkJBUklBRkJJbW9nQWtFQ0VCRUNRQUpBQWtBZ0JTZ0NuQUVpQWtHQWdBRk5CRUFnQmlBQ05nSVFJQUlnQ1VjRVFDQUZJQWsyQW9RQklBVWdBallDZ0FFZ0EwRUJRWkh3QUNBRlFZQUJhaEFQUVFBaEFnd0ZDeUFHS0FJRUlnSWdCaWdDRENJSVNTQUdLQUlJSWdzZ0JpZ0NBQ0lFUzNGRkJFQWdCU0FJclNBQ3JYMDNBM2dnQlNBTHJTQUVyWDAzQTNBZ0EwRUJRZHZzQUNBRlFmQUFhaEFQUVFBaEFnd0ZDeUFBS0FKY0lnZEJBQ0FBS0FKZ0lnb2JSUVJBSUFVZ0NqWUNCQ0FGSUFjMkFnQWdBMEVCUVlQeEFDQUZFQTlCQUNFQ0RBVUxBa0FDUUNBQUtBSlVJZ3dnQkVzTkFFRi9JQWNnREdvaUJ5QUhJQXhKR3lBRVRRMEFJQUFvQWxnaUJ5QUNTdzBBUVg4Z0J5QUthaUlLSUFjZ0Nrc2JJQUpMRFFFTFFRQWhBaUFEUVFGQjFoUkJBQkFQREFVTEFrQWdBQ2dDNEFFTkFDQUFLQUxZQVNJSFJRMEFJQUFvQXR3QklncEZEUUFnQ3lBRWF5SUVJQWRHSUFnZ0Ftc2lBaUFLUm5FTkFDQUZJQUkyQW13Z0JTQUVOZ0pvSUFVZ0NqWUNaQ0FGSUFjMkFtQWdBMEVCUWNQb0FDQUZRZUFBYWhBUFFRQWhBZ3dGQ3lBR0lBbEJOQkFUSWdRMkFoZ2dCRVVOQVFKQUlBWW9BaEJGRFFBZ0FVRWthaUFGUVpnQmFpSUNRUUVRRVNBRUlBVW9BcGdCSWdsQkIzWWlDallDSUNBRUlBbEIvd0J4UVFGcUlndzJBaGdnQUNnQzRBRWhDeUFCUVNWcUlBSkJBUkFSSUFRZ0JTZ0NtQUUyQWdBZ0FVRW1haUFDUVFFUUVTQUVJQVVvQXBnQklnZzJBZ1JCQUNFQ0lBUW9BZ0FpQjBHQUFtdEJnWDVKQkVCQkFDRUpEQVVMUVFBaENTQUlRWUFDYTBHQmZra05CQ0FFS0FJWUlnaEJIMHNOQXlBRVFRQTJBaVFnQkNBQUtBS2dBVFlDS0VFQklRa2dCaWdDRUVFQlRRMEFRUUFnQ2lBTEd5RUtRUUFnRENBTEd5RUxJQUZCSjJvaEFRTkFJQUVnQlVHWUFXcEJBUkFSSUFRZ0JTZ0NtQUVpQjBFSGRpSUlOZ0pVSUFRZ0IwSC9BSEZCQVdvaUJ6WUNUQUpBSUFBb0F1QUJEUUFnQUMwQXZBRkJCSEVOQUNBSElBdEdJQWdnQ2taeERRQWdCU0FJTmdKVUlBVWdCellDVUNBRklBazJBa3dnQlNBS05nSklJQVVnQ3pZQ1JDQUZJQWsyQWtBZ0EwRUNRY2Z1QUNBRlFVQnJFQThMSUFGQkFXb2dCVUdZQVdvaUNFRUJFQkVnQkNBRktBS1lBVFlDTkNBQlFRSnFJQWhCQVJBUklBUWdCU2dDbUFFaUNEWUNPQ0FFS0FJMElnZEJnQUpyUVlGK1NRMEZJQWhCZ0FKclFZQitUUTBGSUFRb0Frd2lDRUVnVHcwRUlBRkJBMm9oQVNBRVFRQTJBbGdnQkNBQUtBS2dBVFlDWENBRVFUUnFJUVFnQ1VFQmFpSUpJQVlvQWhCSkRRQUxDMEVBSVFJZ0FDZ0NYQ0lJUlEwRUlBQW9BbUFpQzBVTkJDQUFJQWl0SWcxQ0FYMGlEeUFHS0FJSUlBQW9BbFFpQjJ1dGZDQU5nS2NpQVRZQ2FDQUFJQXV0SWc1Q0FYMGlFQ0FHS0FJTUlBQW9BbGdpQ211dGZDQU9nS2NpQkRZQ2JBSkFBa0FnQVVVTkFDQUVSUTBBUWYvL0F5QUViaUFCVHcwQkN5QUZJQVEyQWhRZ0JTQUJOZ0lRSUFOQkFVRzE2UUFnQlVFUWFoQVBEQVVMSUFFZ0JHd2hDUUpBSUFBdEFFUkJBbkVFUUNBQUlBQW9BaHdnQjJzZ0NHNDJBaHdnQUNBQUtBSWdJQXBySUF0dU5nSWdJQUFnRHlBQUtBSWtJQWRyclh3Z0RZQStBaVFnQUNBUUlBQW9BaWdnQ211dGZDQU9nRDRDS0F3QkN5QUFJQVEyQWlnZ0FDQUJOZ0lrSUFCQ0FEY0NIQXNnQUNBSlFZd3NFQk1pQVRZQ25BRWdBVVVFUUNBRFFRRkJ6UjFCQUJBUERBVUxJQVlvQWhCQnVBZ1FFeUVCSUFBb0Fnd2dBVFlDMENzZ0FDZ0NEQ2dDMEN0RkJFQWdBMEVCUWMwZFFRQVFEd3dGQzBFS1FSUVFFeUVCSUFBb0Fnd2dBVFlDOENzZ0FDZ0NEQ0lCS0FMd0swVUVRQ0FEUVFGQnpSMUJBQkFQREFVTElBRkJDallDK0N0QkNrRVVFQk1oQVNBQUtBSU1JQUUyQXZ3cklBQW9BZ3dpQVNnQy9DdEZCRUFnQTBFQlFjMGRRUUFRRHd3RkN5QUJRUW8yQW9Rc0FrQWdCaWdDRUNJRVJRMEFJQVlvQWhnaENFRUFJUUVnQkVFQlJ3UkFJQVJCZm5FaEN3TkFJQWdnQVVFMGJHb2lCeWdDSUVVRVFDQUFLQUlNS0FMUUt5QUJRYmdJYkdwQkFTQUhLQUlZUVFGcmREWUN0QWdMSUFnZ0FVRUJjaUlIUVRSc2FpSUtLQUlnUlFSQUlBQW9BZ3dvQXRBcklBZEJ1QWhzYWtFQklBb29BaGhCQVd0ME5nSzBDQXNnQVVFQ2FpRUJJQUpCQW1vaUFpQUxSdzBBQ3dzZ0JFRUJjVVVOQUNBSUlBRkJOR3hxSWdJb0FpQU5BQ0FBS0FJTUtBTFFLeUFCUWJnSWJHcEJBU0FDS0FJWVFRRnJkRFlDdEFnTElBa0VRQ0FBS0FLY0FTRUJRUUFoQWdOQUlBRWdCaWdDRUVHNENCQVRJZ1EyQXRBcklBUkZCRUJCQUNFQ0lBTkJBVUhOSFVFQUVBOE1Cd3NnQVVHTUxHb2hBU0FDUVFGcUlnSWdDVWtOQUFzTElBQkJCRFlDQ0NBR0tBSVFJZ01FUUVGL0lBQW9BbGdpQVNBQUtBSmdJZ0lnQUNnQ2JFRUJhMnhxSWdRZ0Ftb2lBaUFDSUFSSkd5SUNJQVlvQWd3aUJDQUNJQVJKRzYwaEVFRi9JQUFvQWxRaUFpQUFLQUpjSWdRZ0FDZ0NhRUVCYTJ4cUlnQWdCR29pQkNBQUlBUkxHeUlBSUFZb0FnZ2lCQ0FBSUFSSkc2MGhFU0FCSUFZb0FnUWlBQ0FBSUFGSkc2MGhFaUFDSUFZb0FnQWlBQ0FBSUFKSkc2MGhFeUFHS0FJWUlRQkJBQ0VCQTBBZ0FDQUFOUUlFSWcxQ0FYMGlGQ0FTZkNBTmdDSVZQZ0lVSUFBZ0FEVUNBQ0lPUWdGOUloWWdFM3dnRG9BaUZ6NENFQ0FBUW44Z0FEVUNLQ0lQaGtKL2hTSVlJQkFnRkh3Z0RZQWdGWDFDLy8vLy93K0RmQ0FQaUQ0Q0RDQUFJQkVnRm53Z0RvQWdGMzFDLy8vLy93K0RJQmg4SUErSVBnSUlJQUJCTkdvaEFDQUJRUUZxSWdFZ0EwY05BQXNMUVFFaEFnd0VDeUFGSUFJMkFwQUJJQU5CQVVIMk95QUZRWkFCYWhBUFFRQWhBZ3dEQzBFQUlRSWdCa0VBTmdJUUlBTkJBVUhOSFVFQUVBOE1BZ3NnQlNBSU5nSTBJQVVnQ1RZQ01DQURRUUZCdC9NQUlBVkJNR29RRHd3QkN5QUZJQWcyQWlnZ0JTQUhOZ0lrSUFVZ0NUWUNJQ0FEUVFGQmtlc0FJQVZCSUdvUUR3c2dCVUdnQVdva0FDQUNDNTREQVFkL0l3QkJFR3NpQmlRQUFuOGdBaUFDUVFGQkFpQUFLQUpJS0FJUUlnaEJnUUpKR3lJSFFRRjBRUVZxSWdSdUlnVWdCR3hHSUFJZ0JFOXhSUVJBSUFOQkFVR0tJMEVBRUE5QkFBd0JDd0ovSUFBb0FnaEJFRVlFUUNBQUtBS2NBU0FBS0FMTUFVR01MR3hxREFFTElBQW9BZ3dMSVFSQkFDRUFJQVF0QUlnc0lnSkJCSEVFUUNBRUtBS2tBMEVCYWlFQUN5QUFJQVZxSWdWQklFOEVRQ0FHSUFVMkFnQWdBMEVCUVlzN0lBWVFEMEVBREFFTElBUWdBa0VFY2pvQWlDd2dBQ0FGU1FSQUlBUWdBRUdVQVd4cVFhZ0RhaUVDQTBBZ0FTQUNRUUVRRVNBQlFRRnFJZ0VnQWtFRWFpQUhFQkVnQVNBSGFpSUJJQUpCQ0dwQkFoQVJJQUlnQWlnQ0NDSURJQVFvQWdnaUNTQURJQWxKR3pZQ0NDQUJRUUpxSUFKQkRHcEJBUkFSSUFGQkEyb2lBU0FDUVJCcUlBY1FFU0FCSUFkcUlnRWdCa0VNYWtFQkVCRWdBaUFHS0FJTU5nSWtJQUlnQWlnQ0VDSURJQWdnQXlBSVNSczJBaEFnQWtHVUFXb2hBaUFCUVFGcUlRRWdBRUVCYWlJQUlBVkhEUUFMQ3lBRUlBVkJBV3MyQXFRRFFRRUxJUW9nQmtFUWFpUUFJQW9MN0FFQkJIOGpBRUVRYXlJRUpBQUNmd0pBSUFFZ0JFRUlhZ0ovSUFBb0FrZ29BaEJCZ0FKTkJFQWdBZ1JBUVg4aEJVRUJEQUlMSUFOQkFVRytJMEVBRUE5QkFBd0RDeUFDUVFGTkRRRkJmaUVGUVFJTElnWVFFU0FFSUFJZ0JXbzJBZ3dnQkNnQ0NDSUNJQUFvQWtnb0FoQWlCVThFUUNBRUlBVTJBZ1FnQkNBQ05nSUFJQU5CQVVIR09pQUVFQTlCQUF3Q0N5QUFJQUlnQVNBR2FpQUVRUXhxSUFNUVFrVUVRQ0FEUVFGQnZpTkJBQkFQUVFBTUFndEJBU0FFS0FJTVJRMEJHaUFEUVFGQnZpTkJBQkFQUVFBTUFRc2dBMEVCUWI0alFRQVFEMEVBQ3lFSElBUkJFR29rQUNBSEM5a0JBUVIvSXdCQkVHc2lCQ1FBSUFRZ0FqWUNEQUpBQWtBZ0FFRUFJQUVnQkVFTWFpQURFRUpGRFFBZ0JDZ0NEQTBBQW44Z0FDZ0NDRUVRUmdSQUlBQW9BcHdCSUFBb0Fzd0JRWXdzYkdvTUFRc2dBQ2dDREFzaEIwRUJJUVVnQUNnQ1NDZ0NFRUVDU1EwQklBY29BdEFySWdKQkhHb2hCa0VCSVFFZ0FpRURBMEFnQXlBQ0tBSVlOZ0xRQ0NBRElBSW9BcVFHTmdMY0RpQURRZFFJYWlBR1FZZ0dFQklhSUFOQnVBaHFJUU1nQVVFQmFpSUJJQUFvQWtnb0FoQkpEUUFMREFFTElBTkJBVUhXSWtFQUVBOExJQVJCRUdva0FDQUZDOVlCQVFOL0l3QkJFR3NpQkNRQUFrQWdBa0VCUVFJZ0FDZ0NTQ2dDRUNJR1FZRUNTUnNpQlVFQ2FrY0VRRUVBSVFBZ0EwRUJRWW9nUVFBUUR3d0JDd0ovSUFBb0FnaEJFRVlFUUNBQUtBS2NBU0FBS0FMTUFVR01MR3hxREFFTElBQW9BZ3dMSVFJZ0FTQUVRUXhxSUFVUUVVRUJJUUFnQVNBRmFpSUZJQVJCQ0dwQkFSQVJJQVlnQkNnQ0RDSUJUUVJBSUFRZ0JqWUNCQ0FFSUFFMkFnQWdBMEVCUWRqdkFDQUVFQTlCQUNFQURBRUxJQVZCQVdvZ0FpZ0MwQ3NnQVVHNENHeHFRYWdHYWtFQkVCRUxJQVJCRUdva0FDQUFDNFFDQVFWL0l3QkJFR3NpQkNRQUFuOGdBQ2dDQ0VFUVJnUkFJQUFvQXB3QklBQW9Bc3dCUVl3c2JHb01BUXNnQUNnQ0RBc2hCZ0pBSUFKQkFVRUNJQUFvQWtnaUJ5Z0NFRUdCQWtrYklnVk5CRUJCQUNFQ0lBTkJBVUdrSTBFQUVBOE1BUXNnQkNBRlFYOXpJQUpxTmdJTUlBRWdCRUVJYWlBRkVCRWdCQ2dDQ0NJSUlBY29BaEJQQkVCQkFDRUNJQU5CQVVHQTZRQkJBQkFQREFFTFFRRWhBaUFCSUFWcUlnRWdCaWdDMENzZ0NFRzRDR3hxUVFFUUVTQUFJQVFvQWdnZ0FVRUJhaUFFUVF4cUlBTVFRMFVFUUVFQUlRSWdBMEVCUWFRalFRQVFEd3dCQ3lBRUtBSU1SUTBBUVFBaEFpQURRUUZCcENOQkFCQVBDeUFFUVJCcUpBQWdBZ3VzQmdFSGZ5TUFRUkJySWdZa0FDQUdJQUkyQWd3Z0FDZ0NTQ0VKQW44Z0FDZ0NDRUVRUmdSQUlBQW9BcHdCSUFBb0Fzd0JRWXdzYkdvTUFRc2dBQ2dDREFzaUJDQUVMUUNJTEVFQmNqb0FpQ3dDUUNBQ1FRUk5CRUFnQTBFQlFid2lRUUFRRHd3QkN5QUJJQVJCQVJBUklBUW9BZ0JCQ0U4RVFDQURRUUZCbWlKQkFCQVBEQUVMSUFGQkFXb2dCa0VJYWtFQkVCRWdCQ0FHS0FJSUlnSTJBZ1FnQWtFRlRnUkFJQU5CQVVIeElVRUFFQThnQkVGL05nSUVDeUFCUVFKcUlBUkJDR3BCQWhBUklBUW9BZ2dpQjBHQWdBUnJRWUNBZkUwRVFDQUdJQWMyQWdBZ0EwRUJRYWs5SUFZUUR3d0JDeUFFSUFBb0FxUUJJZ0lnQnlBQ0d6WUNEQ0FCUVFScUlBUkJFR3BCQVJBUklBUW9BaEJCQWs4RVFDQURRUUZCaHlwQkFCQVBEQUVMSUFGQkJXb2hBaUFHSUFZb0FneEJCV3MyQWd3Q1FDQUpLQUlRSWdkRkRRQWdCQ2dDQUVFQmNTRUlJQVFvQXRBcklRUkJBQ0VKSUFkQkNFOEVRQ0FIUVhoeElRRURRQ0FFSUFWQnVBaHNhaUFJTmdJQUlBUWdCVUVCY2tHNENHeHFJQWcyQWdBZ0JDQUZRUUp5UWJnSWJHb2dDRFlDQUNBRUlBVkJBM0pCdUFoc2FpQUlOZ0lBSUFRZ0JVRUVja0c0Q0d4cUlBZzJBZ0FnQkNBRlFRVnlRYmdJYkdvZ0NEWUNBQ0FFSUFWQkJuSkJ1QWhzYWlBSU5nSUFJQVFnQlVFSGNrRzRDR3hxSUFnMkFnQWdCVUVJYWlFRklBcEJDR29pQ2lBQlJ3MEFDd3NnQjBFSGNTSUJSUTBBQTBBZ0JDQUZRYmdJYkdvZ0NEWUNBQ0FGUVFGcUlRVWdDVUVCYWlJSklBRkhEUUFMQzBFQUlRVWdBRUVBSUFJZ0JrRU1haUFERUVORkJFQWdBMEVCUWJ3aVFRQVFEd3dCQ3lBR0tBSU1CRUFnQTBFQlFid2lRUUFRRHd3QkN3Si9JQUFvQWdoQkVFWUVRQ0FBS0FLY0FTQUFLQUxNQVVHTUxHeHFEQUVMSUFBb0Fnd0xJUUVnQUNnQ1NDZ0NFRUVDVHdSQUlBRW9BdEFySWdFb0FnUkJBblFoQnlBQlFiQUhhaUVLSUFGQnJBWnFJUU5CQVNFSklBRWhBZ05BSUFJZ0FmMEFBZ1Q5Q3dLOENDQUNJQUVvQWhRMkFzd0lJQUpCNUE1cUlBTWdCeEFTR2lBQ1FlZ1BhaUFLSUFjUUVob2dBa0c0Q0dvaEFpQUpRUUZxSWdrZ0FDZ0NTQ2dDRUVrTkFBc0xRUUVoQlFzZ0JrRVFhaVFBSUFVTDdBa0JCbjhqQUVId0FHc2lCQ1FBSUFSQkFEWUNhQUpBSUFKQkNFY0VRQ0FEUVFGQnZSNUJBQkFQSUFOQkFVRzlIa0VBRUE4TUFRc2dBU0FBUWN3QmFrRUNFQkVnQVVFQ2FpQUVRZXdBYWtFRUVCRWdBVUVHYWlBRVFlUUFha0VCRUJFZ0FVRUhhaUFFUWVnQWFrRUJFQkVnQUNnQ3pBRWlBaUFBS0FKb0lnZ2dBQ2dDYkd4UEJFQWdCQ0FDTmdKZ0lBTkJBVUdkT3lBRVFlQUFhaEFQREFFTElBQW9BcHdCSUFKQmpDeHNhaUVGSUFJZ0NHNGhCeUFFS0FKa0lRRUNRQ0FBS0FJc0lnWkJBRTRnQWlBR1IzRU5BQ0FGS0FMVUswRUJhaUlHSUFGR0RRQWdCQ0FHTmdKWUlBUWdBVFlDVkNBRUlBSTJBbEFnQTBFQlFiVTdJQVJCMEFCcUVBOUJBQ0VGREFFTElBVWdBVFlDMUNzQ1FBSkFJQVFvQW13aUFVRUJhMEVNVFFSL0lBRkJERWNOQVNBRVFRdzJBakFnQTBFQ1FlWFhBQ0FFUVRCcUVBOGdCQ2dDYkFVZ0FRdEZCRUFnQTBFRVFiTFBBRUVBRUE4Z0FFRUJOZ0k0Q3dKQUFrQUNRQUpBSUFVb0F0Z3JJZ0VFUUNBRUtBSmtJZ1lnQVVrTkFTQUVJQUUyQWlRZ0JDQUdOZ0lnSUFOQkFVR0ZKeUFFUVNCcUVBOGdBRUVCTmdJNFFRQWhCUXdIQ3lBRUtBSm9JZ1lOQVF3REN5QUVLQUpvSWdaRkRRRUxJQVFnQmlBQUxRQkVRUVIyUVFGeGFpSUJOZ0pvSUFRb0FtUWlCaUFGS0FMWUt5SUpRUUZyU3dSQUlBUWdDVFlDQkNBRUlBWTJBZ0FnQTBFQlFhSW1JQVFRRHlBQVFRRTJBamhCQUNFRkRBVUxJQUVnQmswRVFDQUVJQUUyQWhRZ0JDQUdOZ0lRSUFOQkFVSHBKeUFFUVJCcUVBOGdBRUVCTmdJNFFRQWhCUXdGQ3lBRklBRTJBdGdyQ3lBQklBUW9BbVJCQVdwSERRQWdBQ0FBTFFCRVFRRnlPZ0JFQ3lBRUtBSnNJUUVnQUVFUU5nSUlJQUJCQUNBQlFReHJJQUFvQWpnYk5nSVlBa0FnQUNnQ0xDSUJRWDlHQkVCQkJDRUZJQUlnQnlBSWJHc2lBU0FBS0FJY1NRMEJJQUVnQUNnQ0pFOE5BU0FISUFBb0FpQkpEUUVnQnlBQUtBSW9UMEVDZENFRkRBRUxJQUFvQXN3QklBRkhRUUowSVFVTElBQWdBQzBBUkVIN0FYRWdCWEk2QUVSQkFTRUZJQUFvQXNnQklnRkZEUUlnQVNnQ0tDSUdJQUFvQXN3QklnSkJLR3hxSWdjZ0FqWUNBQ0FISUFRb0FtUWlDRFlDRENBRUtBSm9JZ0VFUUNBSElBRTJBZ1FnQnlBRUtBSm9JZ0UyQWdnZ0J5Z0NFQ0lDUlFSQUlBRkJHQkFUSVFFZ0FDZ0N5QUVvQWlnZ0FDZ0N6QUZCS0d4cUlBRTJBaEFnQVEwRVFRQWhCU0FEUVFGQnlUUkJBQkFQREFRTElBSWdBVUVZYkJBWElRRWdBQ2dDeUFFb0FpZ2dBQ2dDekFGQktHeHFJUUlnQVVVRVFDQUNLQUlRRUJCQkFDRUZJQUFvQXNnQktBSW9JQUFvQXN3QlFTaHNha0VBTmdJUUlBTkJBVUhKTkVFQUVBOE1CQXNnQWlBQk5nSVFEQU1MSUFjb0FoQWlBVVVFUUNBSFFRbzJBZ2hCQ2tFWUVCTWhBU0FBS0FMSUFTZ0NLQ0lHSUFBb0Fzd0JJZ0pCS0d4cUlnY2dBVFlDRUNBQlJRMENJQVFvQW1RaENBc2dDQ0FHSUFKQktHeHFJZ0lvQWdoSkRRSWdBaUFJUVFGcUlnSTJBZ2dnQVNBQ1FSaHNFQmNoQVNBQUtBTElBU2dDS0NBQUtBTE1BVUVvYkdvaEFpQUJSUVJBSUFJb0FoQVFFRUVBSVFVZ0FDZ0N5QUVvQWlnZ0FDZ0N6QUZCS0d4cUlnQkJBRFlDQ0NBQVFRQTJBaEFnQTBFQlFjazBRUUFRRHd3REN5QUNJQUUyQWhBTUFnc2dCQ0FCTmdKQUlBTkJBVUh5MlFBZ0JFRkFheEFQUVFBaEJRd0JDMEVBSVFVZ0IwRUFOZ0lJSUFOQkFVSEpORUVBRUE4TElBUkI4QUJxSkFBZ0JRdXJCd0VJZnlNQVFkQUFheUlFSkFBZ0JFRUJOZ0pNQWtBQ1FDQUFLQUxJQVNJRktBSW9JZ01OQUNBRklBQW9BbXdnQUNnQ2FHd2lBellDSkNBRFFTZ1FFeUVESUFBb0FzZ0JJZ1VnQXpZQ0tDQURSUVJBUVFBaEJRd0NDeUFGS0FJa1JRMEFBMEJCQUNFRklBTWdCa0VvYkNJSGFpSURRUUEyQWhRZ0EwSGtBRFlDSEVIa0FFRVlFQk1oQ1NBSElBQW9Bc2dCSWdnb0FpZ2lBMm9nQ1RZQ0dDQUpSUTBDSUFaQkFXb2lCaUFJS0FJa1NRMEFDd3NnQUNnQ0xDRUpBa0FnQXlnQ0VFVU5BQUpBSUFNZ0NVRW9iR29pQXlnQ0JFVUVRQ0FCSUFBcEF6QkNBbndnQWhBMkRRRkJBQ0VGSUFKQkFVR25LVUVBRUE4TUF3c2dBU0FES0FJUUtRTUFRZ0o4SUFJUU5nMEFRUUFoQlNBQ1FRRkJweWxCQUJBUERBSUxJQUFvQWdoQmdBSkhEUUFnQUVFSU5nSUlDd0pBSUFBb0Ftd2dBQ2dDYUd3aUIwVU5BQ0FBS0FLY0FTRUZRUUFoQXlBSFFRaFBCRUFnQjBGNGNTRUlRUUFoQmdOQUlBVWdBMEdNTEd4cVFYODJBdFFySUFVZ0EwRUJja0dNTEd4cVFYODJBdFFySUFVZ0EwRUNja0dNTEd4cVFYODJBdFFySUFVZ0EwRURja0dNTEd4cVFYODJBdFFySUFVZ0EwRUVja0dNTEd4cVFYODJBdFFySUFVZ0EwRUZja0dNTEd4cVFYODJBdFFySUFVZ0EwRUdja0dNTEd4cVFYODJBdFFySUFVZ0EwRUhja0dNTEd4cVFYODJBdFFySUFOQkNHb2hBeUFHUVFocUlnWWdDRWNOQUFzTElBZEJCM0VpQmtVTkFBTkFJQVVnQTBHTUxHeHFRWDgyQXRRcklBTkJBV29oQXlBS1FRRnFJZ29nQmtjTkFBc0xRUUFoQlNBQUlBUkJ5QUJxUVFBZ0JFSEVBR29nQkVGQWF5QUVRVHhxSUFSQk9Hb2dCRUUwYWlBRVFjd0FhaUFCSUFJUUowVU5BQ0FKUVFGcUlRY0RRQUpBSUFRb0FreEZEUUFnQUNBRUtBSklJZ05CQUVFQUlBRWdBaEFyUlEwQ0lBQW9BbWdoQ0NBQUtBSnNJUW9nQkNBRFFRRnFJZ1kyQWlBZ0JDQUlJQXBzTmdJa0lBSkJCRUdnMXdBZ0JFRWdhaEFQSUFBb0F0QUJJQUFvQWt3b0FoZ1FkRVVOQWlBQUtBS2NBU0FEUVl3c2JHb2lCU2dDM0NzaUNBUkFJQWdRRUNBRlFnQTNBdHdyQ3lBRUlBWTJBaEFnQWtFRVFlYjhBQ0FFUVJCcUVBOGdBeUFKUmdSQUlBRWdBQ2dDeUFFcEF3aENBbndnQWhBMkRRRkJBQ0VGSUFKQkFVR25LVUVBRUE4TUF3c2dCQ0FITmdJRUlBUWdCallDQUNBQ1FRSkIzZVVBSUFRUUQwRUFJUVVnQUNBRVFjZ0Fha0VBSUFSQnhBQnFJQVJCUUdzZ0JFRThhaUFFUVRocUlBUkJOR29nQkVITUFHb2dBU0FDRUNjTkFRd0NDd3NnQUNBQ0VISWhCUXNnQkVIUUFHb2tBQ0FGQzhnR0FnZC9BWDRqQUVIUUFHc2lBeVFBSUFOQkFUWUNUQUpBQWtBZ0FDZ0NhQ0lFUVFGSERRQWdBQ2dDYkVFQlJ3MEFJQUFvQWxRTkFDQUFLQUpZRFFBZ0FDZ0NUQ0lGS0FJQURRQWdCU2dDQkEwQUlBVW9BZ2dnQUNnQ1hFY05BQ0FGS0FJTUlBQW9BbUJIRFFCQkFDRUVJQUFnQTBISUFHcEJBQ0FEUWNRQWFpQURRVUJySUFOQlBHb2dBMEU0YWlBRFFUUnFJQU5CekFCcUlBRWdBaEFuUlEwQkFrQWdBQ0FES0FKSVFRQkJBQ0FCSUFJUUt3UkFJQUFvQWt3aUFTZ0NFQTBCUVFFaEJBd0RDeUFDUVFGQmtjSUFRUUFRRHd3Q0N5QUJLQUlZSVFGQkFDRUNBMEFnQVNBQ1FUUnNJZ1JxS0FJc0VCQWdBQ2dDVENJRktBSVlJZ0VnQkdvaUJpQUFLQUxRQVNJSEtBSVVLQUlBS0FJVUlBSkJ6QUJzYWlJSUtBSWtOZ0lzSUFZZ0J5Z0NHQ2dDR0NBRWFpZ0NKRFlDSkNBSVFRQTJBaVJCQVNFRUlBSkJBV29pQWlBRktBSVFTUTBBQ3d3QkN3TkFBa0FDZndKQUlBUkJBVWNOQUNBQUtBSnNRUUZIRFFBZ0FDZ0NuQUVvQXR3clJRMEFJQU5CQURZQ1NDQUFRUUEyQXN3QklBQWdBQ2dDQ0VHQUFYSTJBZ2hCQUF3QkMwRUFJUVFnQUNBRFFjZ0Fha0VBSUFOQnhBQnFJQU5CUUdzZ0EwRThhaUFEUVRocUlBTkJOR29nQTBITUFHb2dBU0FDRUNkRkRRTWdBeWdDVEVVTkFTQURLQUpJQ3lJSFFRRnFJUVFnQUNBSFFRQkJBQ0FCSUFJUUt5RUpJQUFvQW1nZ0FDZ0NiR3doQlNBSlJRUkFJQU1nQlRZQ0JDQURJQVEyQWdBZ0FrRUJRWmM1SUFNUUQwRUFJUVFNQXdzZ0F5QUZOZ0lrSUFNZ0JEWUNJQ0FDUVFSQm9OY0FJQU5CSUdvUUR5QUFLQUxRQVNBQUtBSk1LQUlZRUhSRkJFQkJBQ0VFREFNTEFrQUNRQ0FBS0FKb1FRRkhEUUFnQUNnQ2JFRUJSdzBBSUFBb0Frd2lCU2dDQUNBQUtBSklJZ1lvQWdCSERRRWdCU2dDQkNBR0tBSUVSdzBCSUFVb0FnZ2dCaWdDQ0VjTkFTQUZLQUlNSUFZb0FneEhEUUVMSUFBb0Fwd0JJQWRCakN4c2FpSUZLQUxjS3lJR1JRMEFJQVlRRUNBRlFnQTNBdHdyQ3lBRElBUTJBaEFnQWtFRVFlYjhBQ0FEUVJCcUVBOGdBU2tEQ0NJS1VBUitRZ0FGSUFvZ0FTa0RPSDBMVUFSQUlBQW9BZ2hCd0FCR0RRRUxJQWhCQVdvaUNDQUFLQUpvSWdRZ0FDZ0NiR3hIRFFFTEN5QUFJQUlRY2lFRUN5QURRZEFBYWlRQUlBUUx0UVlCREg4Z0FDZ0NTQ0VKQWtBZ0FDZ0NhQ0FBS0FKc2JDSU1CRUFnQ1NnQ0VDSUJRYmdJYkNFTklBRWdBV3hCQW5RaENpQUFLQUlNSVFRZ0FDZ0NuQUVoQXdOQUlBTW9BdEFySVFzZ0F5QUVRWXdzRUJJaUFVRUFOZ0xvS3lBQlFYODJBdFFySUFGQkFEWUNzQ2dnQVVFQU5nS0VMQ0FCUVFBMkF2QXJJQUZDQURjQytDc2dBU0FMTmdMUUt5QUJJQUV0QUlnc1Fmd0JjVG9BaUN3Z0JDZ0M2Q3NFUUNBQklBb1FGQ0lETmdMb0t5QURSUVJBUVFBUEN5QURJQVFvQXVncklBb1FFaG9MSUFFZ0JDZ0MrQ3RCRkd3aUJSQVVJZ00yQXZBclFRQWhDQ0FEUlEwQ0lBTWdCQ2dDOENzZ0JSQVNHaUFFS0FMMEt5SUdCRUFnQkNnQzhDc2hBeUFCS0FMd0t5RUZRUUFoQndOQUlBTW9BZ3dFUUNBRklBTW9BaEFRRkNJR05nSU1JQVpGQkVCQkFBOExJQVlnQXlnQ0RDQURLQUlRRUJJYUlBUW9BdlFySVFZTElBRWdBU2dDK0N0QkFXbzJBdmdySUFWQkZHb2hCU0FEUVJScUlRTWdCMEVCYWlJSElBWkpEUUFMQ3lBQklBUW9Bb1FzUVJSc0lnVVFGQ0lETmdMOEt5QURSUTBDSUFNZ0JDZ0MvQ3NnQlJBU0dpQUJJQVFvQW9Rc0lnZzJBb1FzSUFnRVFDQUVLQUw4S3lFRElBRW9BdndySVFWQkFDRUhBMEFnQXlnQ0NDSUdCRUFnQlNBQktBTHdLeUFHSUFRb0F2QXJhMm8yQWdnTElBTW9BZ3dpQmdSQUlBVWdBU2dDOENzZ0JpQUVLQUx3SzJ0cU5nSU1DeUFGUVJScUlRVWdBMEVVYWlFRElBZEJBV29pQnlBSVJ3MEFDd3NnQ3lBRUtBTFFLeUFORUJJYUlBRkJqQ3hxSVFNZ0RrRUJhaUlPSUF4SERRQUxDMEVCSVFnZ0FBSi9RUUJCQVVISUFCQVRJZ0ZGRFFBYUlBRWdBUzBBS0VIK0FYRkJBWEk2QUNnZ0FVRUJRUVFRRXlJRU5nSVVJQUVnQkEwQUdpQUJFQkJCQUFzaUFUWUMwQUVnQVVVRVFFRUFEd3NnQUNnQzFBRWhCVUVBSVFRZ0FTQUFRZEFBYWpZQ0hDQUJJQWsyQWhoQkFVSFFCaEFUSVFNZ0FTZ0NGQ0FETmdJQUFrQWdBMFVOQUNBSktBSVFRY3dBRUJNaEF5QUJLQUlVS0FJQUlnY2dBellDRkNBRFJRMEFJQWNnQ1NnQ0VEWUNFQ0FBS0FLa0FTRUVJQUVnQlRZQ0xDQUJJQVEyQWdCQkFTRUVDeUFFRFFBZ0FDZ0MwQUVRVlVFQUlRZ2dBRUVBTmdMUUFTQUNRUUZCd2h0QkFCQVBDeUFJQzlVU0F3eC9BWDBCZmlNQVFUQnJJZ2drQUNBQVFRRTJBZ2dDZndKQUFrQWdBU0FJUVNocUlnVkJBaUFDRUJwQkFrY05BQ0FGSUFoQkxHcEJBaEFSSUFnb0FpeEJ6LzREUncwQUlBQkJBallDQ0NBQUtBTElBU0FCS1FNNFFnSjlJaEEzQXdBZ0NDQVFOd01RSUFKQkJFSHUzZ0FnQ0VFUWFoQVBJQUFvQXNnQklnTXBBd0FoRUNBREtBSVlJZ2RCQVdvaUJTQURLQUlnSWdSTkJFQWdBeWdDSENFRURBSUxJQU1DZnlBRXMwTUFBTWhDa2lJUFF3QUFnRTlkSUE5REFBQUFBR0J4QkVBZ0Q2a01BUXRCQUFzaUJUWUNJQ0FES0FJY0lBVkJHR3dRRnlJRUJFQWdBeUFFTmdJY0lBTW9BaGdpQjBFQmFpRUZEQUlMSUFNb0Fod1FFQ0FEUVFBMkFpQWdBMElBTndNWUlBSkJBVUdwSFVFQUVBOExJQUpCQVVHMTlRQkJBQkFQUVFBTUFRc2dCQ0FIUVJoc2FpSUVRUUkyQWhBZ0JDQVF4RGNEQ0NBRVFjLytBenNCQUNBRElBVTJBaGdnQVNBQUtBSVFRUUlnQWhBYVFRSkhCRUFnQWtFQlFaWVNRUUFRRDBFQURBRUxJQUFvQWhBZ0NFRW9ha0VDRUJFQ1FBSkFJQWdvQWlnaUJFR1Evd05IQkVBRFFFSGd2UUVoQnlBRVFmLzlBMDBFUUNBSUlBUTJBZ0FnQWtFQlFjb1FJQWdRRDBFQURBVUxBMEFnQnlJRktBSUFJZ01FUUNBRlFReHFJUWNnQXlBRVJ3MEJDd3NDUUFKQUlBTU5BRUVDSVFZZ0FrRUNRZlVjUVFBUUQwR1dFaUVIQWtBQ1FDQUJJQUFvQWhCQkFpQUNFQnBCQWtjTkFBTkFJQUFvQWhBZ0NFRXNha0VDRUJGQjRMMEJJUU1nQ0NnQ0xDSUVRWUQrQTA4RVFBTkFJQU1pQlNnQ0FDSU1CRUFnQTBFTWFpRURJQVFnREVjTkFRc0xJQVVvQWdRZ0FDZ0NDSEZGQkVCQi9DZ2hCd3dEQ3lBTUJFQWdERUdRL3dOR0JFQWdDRUdRL3dNMkFpZ01Cd3NnQVNrRE9DRVFJQUFvQXNnQklnTW9BaGdpQlVFQmFpSUVJQU1vQWlBaUIwMEVRQ0FES0FJY0lRY01CUXNnQXdKL0lBZXpRd0FBeUVLU0lnOURBQUNBVDEwZ0QwTUFBQUFBWUhFRVFDQVBxUXdCQzBFQUN5SUZOZ0lnSUFNb0Fod2dCVUVZYkJBWElnY0VRQ0FESUFjMkFod2dBeWdDR0NJRlFRRnFJUVFNQlFzZ0F5Z0NIQkFRSUFOQkFEWUNJQ0FEUWdBM0F4aEJxUjBoQnd3REN5QUdRUUpxSVFZTElBRWdBQ2dDRUVFQ0lBSVFHa0VDUmcwQUN3c2dBa0VCSUFkQkFCQVBJQUpCQVVIOXlBQkJBQkFQUVFBTUJ3c2dCeUFGUVJoc2FpSUZJQVkyQWhBZ0JTQVFweUFHYTZ3M0F3Z2dCVUVBT3dFQUlBTWdCRFlDR0NBSUlBdzJBaWhCNEwwQklRUURRQ0FFSWdVb0FnQWlBMFVOQVNBRVFReHFJUVFnQXlBTVJ3MEFDd3NnQlNnQ0JDQUFLQUlJY1VVRVFDQUNRUUZCL0NoQkFCQVBRUUFNQmdzZ0FTQUFLQUlRUVFJZ0FoQWFRUUpIQkVBZ0FrRUJRWllTUVFBUUQwRUFEQVlMSUFBb0FoQWdDRUVrYWtFQ0VCRWdDQ2dDSkNJRVFRRk5CRUFnQWtFQlFhRXVRUUFRRDBFQURBWUxJQWdnQkVFQ2F5SUhOZ0lrSUFBb0FoQWhCQ0FBS0FJVUlBZEpCRUFnQkNBSEVCY2lCRVVFUUNBQUtBSVFFQkFnQUVJQU53TVFJQUpCQVVIVUpVRUFFQTlCQUF3SEN5QUFJQVEyQWhBZ0FDQUlLQUlrSWdjMkFoUUxJQUVnQkNBSElBSVFHaUlFSUFnb0FpUkhCRUFnQWtFQlFaWVNRUUFRRDBFQURBWUxJQUFnQUNnQ0VDQUVJQUlnQlNnQ0NCRUJBRVVFUUNBQ1FRRkJxQkpCQUJBUFFRQU1CZ3NnQVNrRE9DRVFJQWdvQWlRaERBSkFJQUFvQXNnQklnVW9BaGdpQmtFQmFpSUhJQVVvQWlBaUJFMEVRQ0FGS0FJY0lRUU1BUXNnQlFKL0lBU3pRd0FBeUVLU0lnOURBQUNBVDEwZ0QwTUFBQUFBWUhFRVFDQVBxUXdCQzBFQUN5SUVOZ0lnSUFVb0Fod2dCRUVZYkJBWElnUkZEUVVnQlNBRU5nSWNJQVVvQWhnaUJrRUJhaUVIQ3lBRUlBWkJHR3hxSWdRZ0RFRUVhallDRUNBRUlCQ25JQXhyUVFScnJEY0RDQ0FFSUFNN0FRQWdCU0FITmdJWUlBRWdBQ2dDRUVFQ0lBSVFHa0VDUndSQUlBSkJBVUdXRWtFQUVBOUJBQXdHQzBFQklBb2dBMEhjL2dOR0d5RUtRUUVnQ3lBRFFkTCtBMFliSVF0QkFTQU5JQU5CMGY0RFJoc2hEU0FBS0FJUUlBaEJLR3BCQWhBUklBZ29BaWdpQkVHUS93TkhEUUVMQ3lBTkRRRUxJQUpCQVVHWUpFRUFFQTlCQUF3Q0N5QUxSUVJBSUFKQkFVSEdKRUVBRUE5QkFBd0NDeUFLUlFSQUlBSkJBVUgwSkVFQUVBOUJBQXdDQzBFQUlRTkJBQ0VOSXdCQkVHc2lCQ1FBUVFFaEJ3SkFJQUF0QUx3QlFRRnhSUTBBQWtBZ0FDZ0NjQ0lMUlEwQUFrQURRQ0FBS0FKMElBMUJBM1JxSWdVb0FnQWlDZ1JBSUFNZ0JTZ0NCQ0lHYXlJRlFRQWdBeUFGVHhzaEJTQURJQVpKQkVBZ0JpQURheUVMSUFNZ0Ntb2hDZ05BSUF0QkJFa0VRRUdPS3lFRERBVUxJQW9nQkVFTWFrRUVFQkVnQkNnQ0RDSURRWDl6SUFsSkJFQkI5Q29oQXd3RkN5QURJQXRCQkdzaUJtc2dCU0FESUFaTElnd2JJUVVnQXlBSmFpRUpJQVlnQTJzaEN5QUtRUUFnQXlBTUcycEJCR29oQ2lBRElBWkpEUUFMSUFBb0FuQWhDd3NnQlNFREN5QU5RUUZxSWcwZ0Mwa05BQXNnQTBVTkFVRUFJUWNnQWtFQlFla1dRUUFRRHd3Q0MwRUFJUWNnQWtFQklBTkJBQkFQREFFTElBQWdDUkFVSWdNMkFvZ0JJQU5GQkVCQkFDRUhJQUpCQVVHK0lFRUFFQThNQVFzZ0FDQUpOZ0o4SUFBb0FuUWhCZ0pBSUFBb0FuQWlDZ1JBUVFBaENVRUFJUU5CQUNFRkEwQWdCaUFGUVFOMElnMXFJZ3dvQWdBaUN3UkFJQUFvQW9nQklBTnFJUW9DZnlBTUtBSUVJZ1lnQ1UwRVFDQUtJQXNnQmhBU0dpQURJQVpxSVFNZ0NTQUdhd3dCQ3lBS0lBc2dDUkFTR2lBRElBbHFJUU1nQmlBSmF5SUdCRUFnQ1NBTGFpRUpBMEFnQmtFRVNRMEdJQWtnQkVFSWFrRUVFQkVnQ1VFRWFpRUpJQUFvQW9nQklBTnFJUW9nQmtFRWF5SUdJQVFvQWdnaUMwa0VRQ0FLSUFrZ0JoQVNHaUFESUFacUlRTWdCQ2dDQ0NBR2F3d0RDeUFLSUFrZ0N4QVNHaUFFS0FJSUlnb2dBMm9oQXlBSklBcHFJUWtnQmlBS2F5SUdEUUFMQzBFQUN5RUpJQUFvQW5RZ0RXb29BZ0FRRUNBQUtBSjBJZ1lnRFdwQ0FEY0NBQ0FBS0FKd0lRb0xJQVZCQVdvaUJTQUtTUTBBQ3lBQUtBSjhJUWtnQUNnQ2lBRWhBd3NnQUNBSk5nS1FBU0FBSUFNMkFuZ2dBRUVBTmdKd0lBWVFFQ0FBUVFBMkFuUU1BUXRCQUNFSElBSkJBVUdPSzBFQUVBOExJQVJCRUdva0FDQUhSUVJBSUFKQkFVR1BQVUVBRUE5QkFBd0NDeUFDUVFSQjk5WUFRUUFRRHlBQUtBTElBU0FCS1FNNFF2Ny8vLzhQZkVMLy8vLy9ENE0zQXdnZ0FFRUlOZ0lJUVFFTUFRc2dCU2dDSEJBUUlBVkJBRFlDSUNBRlFnQTNBeGdnQWtFQlFha2RRUUFRRDBFQUN5RU9JQWhCTUdva0FDQU9DeHdBSUFBb0FnaEZJQUFvQXNBQlFRQkhJQUFvQXNRQlFRQkhjWEVMQkFCQkFBc1BBQ0FBQkVBZ0FDQUJOZ0s0QVFzTGp3RUJCSDhnQUNnQ0dDSUJCRUFnQUNnQ0hDSURRVFJ1SVFRZ0EwRTBUd1IvUVFBaEF3TkFJQUVvQWdBaUFnUkFJQUpCQVdzUUVDQUJRUUEyQWdBTElBRW9BZ1FpQWdSQUlBSVFFQ0FCUVFBMkFnUUxJQUVvQWdnaUFnUkFJQUlRRUNBQlFRQTJBZ2dMSUFGQk5Hb2hBU0FEUVFGcUlnTWdCRWNOQUFzZ0FDZ0NHQVVnQVFzUUVDQUFRUUEyQWhnTEM0WUJBUVIvSUFBb0FoZ2lBUVJBSUFBb0Fod2lBa0hBQUU4RWZ5QUNRUVoySVFSQkFDRUNBMEFnQVNnQ0FDSURCRUFnQXhBUUlBRkJBRFlDQUFzZ0FTZ0NCQ0lEQkVBZ0F4QVFJQUZCQURZQ0JBc2dBU2dDUEJBUUlBRkJBRFlDUENBQlFVQnJJUUVnQWtFQmFpSUNJQVJIRFFBTElBQW9BaGdGSUFFTEVCQWdBRUVBTmdJWUN3cy9BUUYvSUFBRVFDQUFLQUowSWdFRVFDQUJFQkFnQUVFQU5nSjBDeUFBS0FKNElnRUVRQ0FCRUJBZ0FFRUFOZ0o0Q3lBQUtBS1VBUkFRSUFBUUVBc0x3YVlGQkZ4L0Fuc0dmZ0Y5SXdCQjRBQnJJaU1rQUNBQUtBSUlJUm9DUUFKQUFrQUNRQ0FBS0FJQVJRUkFJQm9nR2lnQ0VDQWFLQUlJYXlBYUtBSVVJQm9vQWd4cmJFRUNkQ0lHRUJnaUF6WUNQQ0FEUlFSQUlBQW9BaVFhSUFBb0FpQkJBVUhSUEVFQUVBOGdBQ2dDSkJvZ0FFRWNhaUVRREFNTElBTkJBQ0FHRUJVYURBRUxJQm9vQWp3aUEwVU5BQ0FERUJBZ0drRUFOZ0k4Q3lBQUtBSVFJaklvQWh3Z01pZ0NHRUdZQVd4cUlnTkJtQUZyS0FJQUlUVWdBMEdRQVdzb0FnQWhOaUFBS0FJVUlTOGdBQ2dDRENFd0lBQW9BZ1FoTnlBQUtBSWNLQUlBUlEwQ0lBQkJIR29oRUFKQUFuOUJBQ0FCS0FJRUlnTkJBRXdOQUJvZ0FTZ0NBQ0VHQWtBRFFDQUdJQWRCREd4cUlnUW9BZ0JGRFFFZ0IwRUJhaUlISUFOSERRQUxRUUFNQVFzZ0JDZ0NCQXNpQkEwQVFRRkJuQUVRRXlJRVJRUkFJQUFvQWlCQkFVR1FNRUVBRUE4TUFnc2dCRUVBTmdLTUFTQUJLQUlFSWdOQi8vLy8vd2RIQkg4Q2Z5QUJLQUlBSVFZZ0EwRUFTZ1JBQTBBZ0JpQUpRUXhzYWlJSEtBSUFSUVJBSUFjb0FnZ2lBd1IvSUFjb0FnUWdBeEVDQUNBQktBSUFCU0FHQ3lBSlFReHNhaUlCUVE4MkFnZ2dBU0FFTmdJRVFRRU1Bd3NnQ1VFQmFpSUpJQU5IRFFBTEMwRUFJQVlnQTBFTWJFRU1haEFYSWdORkRRQWFJQUVnQXpZQ0FDQURJQUVvQWdRaUJrRU1iR29pQTBFUE5nSUlJQU1nQkRZQ0JDQURRUUEyQWdBZ0FTQUdRUUZxTmdJRVFRRUxCVUVBQ3cwQUlBQW9BaUJCQVVHTVAwRUFFQThnQkNnQ2RDSUJCRUFnQVJBUUlBUkJBRFlDZEFzZ0JDZ0NlQ0lCQkVBZ0FSQVFJQVJCQURZQ2VBc2dCQ2dDbEFFUUVDQUVFQkFNQVFzZ0JDQUFLQUlZTmdLUUFTQUFLQUlvSVNzZ0FDZ0NKQ0VoSUFBb0FpQWhIU0F2S0FLb0JpRVJJREFvQWhBaEFRSkFBa0FnTHlnQ0VDSVdRY0FBY1FSQUlCWWhDaU1BUWJBQ2F5SVBKQUFDUUNBUkJFQWdJUVJBUVFBaEJ5QWRRUUZCZ1JoQkFCQVBEQUlMUVFBaEJ5QWRRUUZCZ1JoQkFCQVBEQUVMSUFRb0FuUWhCd0pBQWtBZ0dpZ0NGQ0FhS0FJTWF5SURJQm9vQWhBZ0dpZ0NDR3NpQm13aUFTQUVLQUtFQVVzRVFDQUhFQkFnQkNBQlFRSjBJaEVRR0NJSE5nSjBJQWRGQkVCQkFDRUhEQVFMSUFRZ0FUWUNoQUVNQVFzZ0IwVU5BU0FCUVFKMElSRUxJQWRCQUNBUkVCVWFDeUFFS0FKNElRY0NRQ0FFS0FLSUFVSFBGRXNOQUNBSEVCQWdCRUhBMGdBUUdDSUhOZ0o0SUFjTkFFRUFJUWNNQVFzZ0JFSFFGRFlDaUFFZ0IwRUFRY0RTQUJBVkdpQUVJQU0yQW9BQklBUWdCallDZkNBYUtBSVlJZ0pGQkVCQkFTRUhEQUVMSUJvb0Fod2hEVUVCSVFjQ1FBSkFBa0FDUUFKQUlCb29BalFpQXdSQUlCb29BZ1FoQ1VFQUlRZEJBQ0VCQWtBZ0EwRUVUd1JBSUFOQmZIRWhBUU5BSUFrZ0NFRURkR29pQmtFY2FpQUdRUlJxSUFaQkRHb2dCdjBKQWdUOVZnSUFBZjFXQWdBQy9WWUNBQU1nWHYydUFTRmVJQWhCQkdvaUNDQUJSdzBBQ3lCZUlGNGdYdjBOQ0FrS0N3d05EZzhBQVFJREFBRUNBLzJ1QVNKZUlGNGdYdjBOQkFVR0J3QUJBZ01BQVFJREFBRUNBLzJ1QWYwYkFDRUhJQUVnQTBZTkFRc0RRQ0FKSUFGQkEzUnFLQUlFSUFkcUlRY2dBVUVCYWlJQklBTkhEUUFMQ3lBRFFRRkdCRUFnQkNnQ2tBRkZEUVVMSUFjZ0JDZ0NtQUZORFFFZ0JDZ0NsQUVnQnhBWEloRU5Ba0VBSVFjTUJnc2dCQ2dDa0FGRkRRVUxJQVFvQXBRQkloRU5BVUVBSVFjTUJBc2dCQ0FITmdLWUFTQUVJQkUyQXBRQkN5QWFLQUkwUlFSQVFRQWhCd3dDQ3lBYUtBSUVJUWhCQUNFSFFRQWhBUU5BSUFjZ0VXb2dDQ0FCUVFOMElnTnFJZ1lvQWdBZ0JpZ0NCQkFTR2lBYUtBSUVJZ2dnQTJvb0FnUWdCMm9oQnlBQlFRRnFJZ0VnR2lnQ05Fa05BQXNNQVFzZ0dpZ0NCQ2dDQUNFUkMwRUFJUUZCQUNFSUFuOUJBQ0FhS0FJb0lnTkZEUUFhSUJvb0FnQWlCaWdDQ0NFSVFRQWdBMEVCUmcwQUdpQUdLQUlnQ3lFRElBSWdEV3NoUlFKQUlBTWdDR29pQ0VVRVFFRUFJUWtNQVF0QkFTRUJJQm9vQWdBaUF5Z0NBQ0VGUVFBaENTQUlRUUZHQkVCQkFDRUJEQUVMSUFNb0FoZ2hDUXNnUlVFQmFpRVdJQVFvQW5RaERpQUVLQUo0SVJRZ0dpZ0NEQ0VTSUJvb0FoUWhHQ0FhS0FJSUlTUWdHaWdDRUNFckFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRkZEUUFnQ1EwQUlDRkZEUUVnSFVFQ1FhSFFBRUVBRUE5QkFTRUlEQUlMSUFoQkJFa05BU0FoQkVBZ0R5QUlOZ0p3SUIxQkFVSDh4Z0FnRDBId0FHb1FEd3dJQ3lBUElBZzJBbUFnSFVFQlFmekdBQ0FQUWVBQWFoQVBRUUFoQnd3SUN5QWRRUUpCb2RBQVFRQVFEeUFhS0FJWUlnRkJIa3NOQVVFQklRd2dBU0FXVHcwRERBVUxJQm9vQWhnaUFVRWVUUTBCSUNGRkRRQWdEeUFCTmdJZ0lCMUJBVUdiMndBZ0QwRWdhaEFQREFVTElBOGdBVFlDQUNBZFFRRkJtOXNBSUE4UUQwRUFJUWNNQlFzZ0FTQVdTUTBCSUFoQkFra0VRQ0FJSVF3TUFRc2dBU0FXUndSQUlBZ2hEQXdCQzBFQklReEJrTWNCTFFBQURRQWdJVVVFUUVHUXh3RkJBVG9BQUNBUElBZzJBa0FnSFVFQ1FhYk1BQ0FQUVVCckVBOE1BUXRCa01jQkxRQUFSUVJBUVpESEFVRUJPZ0FBSUE4Z0NEWUNVQ0FkUVFKQnBzd0FJQTlCMEFCcUVBOExDd0pBQWtBZ0JVRUNTUTBBSUFVZ0Iwc05BQ0FGSUFscUlBZE5EUUVMSUNFRVFFRUFJUWNnSFVFQlFjTEdBRUVBRUE4TUJRdEJBQ0VISUIxQkFVSEN4Z0JCQUJBUERBUUxBa0FDUUNBRklCRnFJaE5CQVdzdEFBQkJCSFFnRTBFQ2F5MEFBRUVQY1hJaUJrRUNTUTBBSUFVZ0JrZ05BQ0FHUWZBZlNRMEJDeUFoQkVCQkFDRUhJQjFCQVVIVzhnQkJBQkFQREFVTFFRQWhCeUFkUVFGQjF2SUFRUUFRRHd3RUN5QWFLQUljSVNZZ0QwRUFOZ0tRQWlBUFFRQTJBcGdDSUE5Q0FEY0RpQUlnRDBJQU53T29BaUFQUWdBM0Fwd0NJQThnQmtFQmF5SUhOZ0tVQWlBUElBVWdFV29nQm1zaUFUWUNnQUpDL3dFaFlDQUdRUUpQQkVBZ0FURUFBQ0ZnQzBFSUlRTWdEMEVJTmdLUUFpQVBJQVpCQW1zaUNEWUNsQUlnRHlCZ1FnK0VJR0FnQjBFQlJoc2lZRGNEaUFJZ0R5QUJJQVpCQVVwcUlnYzJBb0FDSUE4Z1lFTC9BVkVpRFRZQ21BSUNmd0pBSUFGQkEzRWlBa0VEUmcwQVF2OEJJV0VnRFFSQVFRQWdCeTBBQUVHUEFVc05BaG9MSUFaQkEwNEVRQ0FITVFBQUlXRUxJQThnQmtFRGF5SU5OZ0tVQWlBUFFROUJFQ0JnUXY4QlVTSUxHeUlETmdLUUFpQVBJQWNnQmtFQ1Ntb2lBVFlDZ0FJZ0R5QmhRZytFSUdFZ0NFRUJSaHNpWVVML0FWRTJBcGdDSUE4Z1lFSUhRZ2dnQ3h1R0lHR0VJbUEzQTRnQ0lBSkJBa1lOQUNCaFF2OEJVUVJBUVFBZ0FTMEFBRUdQQVVzTkFob0xRdjhCSVdJZ0JrRUVUZ1JBSUFFeEFBQWhZZ3NnRHlBR1FRUnJJZ2MyQXBRQ0lBOGdBU0FHUVFOS2FpSUJOZ0tBQWlBUElHSkNENFFnWWlBTlFRRkdHeUppUXY4QlVUWUNtQUlnRHlBRFFRZEJDQ0JoUXY4QlVTSUlHMm9pQXpZQ2tBSWdEeUJnUWdkQ0NDQUlHNFlnWW9RaVlEY0RpQUlnQWtFQlJnMEFRdjhCSVdFZ1lrTC9BVkVFUUVFQUlBRXRBQUJCandGTERRSWFDeUFHUVFWT0JFQWdBVEVBQUNGaEN5QVBJQVpCQldzMkFwUUNJQThnQVNBR1FRUkthallDZ0FJZ0R5QmhRZytFSUdFZ0IwRUJSaHNpWVVML0FWRTJBcGdDSUE4Z0EwRUhRUWdnWWtML0FWRWlBUnRxSWdNMkFwQUNJQThnWUVJSFFnZ2dBUnVHSUdHRUltQTNBNGdDQ3lBUElHQkJ3QUFnQTJ1dGhqY0RpQUpCQVF0RkJFQWdJUVJBUVFBaEJ5QWRRUUZCZzlVQVFRQVFEd3dGQzBFQUlRY2dIVUVCUVlQVkFFRUFFQThNQkFzZ0t5QWtheUVWSUE4Z0JrRUNheUlMTmdMMEFTQVBJQVVnRVdvaUFrRURheUlETmdMZ0FTQVBJQUpCQW1zdEFBQWlHVUdQQVVzaURUWUMrQUVnRHlBWlFRUjJyU0pnTndQb0FTQVBRUU5CQkNCZ1FnZURRZ2RSR3lJQk5nTHdBU0FEUVFOeFFRRnFJZ2NnQ3lBSElBdElHeUVJQWtBQ1FDQUdRUUpNQkVBZ0R5QUxJQWhySWdJMkF2UUJEQUVMSUE4Z0FrRUVheUlITmdMZ0FTQVBJQU10QUFBaUYwR1BBVXNpRFRZQytBRWdEeUFYclNKaElBR3RoaUJnaENKZ053UG9BU0FQUVFoQkIwRUlJR0ZDL3dDRFF2OEFVUnNnR1VHUEFVMGJJQUZxSWdFMkF2QUJBa0FnQ0VFQlJnUkFJQWNoQXd3QkN5QVBJQUpCQldzaUF6WUM0QUVnRHlBSExRQUFJaGxCandGTElnMDJBdmdCSUE4Z0dhMGlZU0FCcllZZ1lJUWlZRGNENkFFZ0QwRUlRUWRCQ0NCaFF2OEFnMEwvQUZFYklCZEJqd0ZOR3lBQmFpSUJOZ0x3QVNBSVFRSkdEUUFnRHlBQ1FRWnJJZ2MyQXVBQklBOGdBeTBBQUNJWFFZOEJTeUlOTmdMNEFTQVBJQmV0SW1FZ0FhMkdJR0NFSW1BM0ErZ0JJQTlCQ0VFSFFRZ2dZVUwvQUlOQy93QlJHeUFaUVk4QlRSc2dBV29pQVRZQzhBRWdDRUVEUmdSQUlBY2hBd3dCQ3lBUElBSkJCMnNpQXpZQzRBRWdEeUFITVFBQUltRkNqd0ZXSWcwMkF2Z0JJQThnWVNBQnJZWWdZSVFpWURjRDZBRWdEMEVJUVFkQkNDQmhRdjhBZzBML0FGRWJJQmRCandGTkd5QUJhaUlCTmdMd0FRc2dEeUFMSUFocklnSTJBdlFCSUFGQklFc05BUXNDUUNBQ1FRUk9CRUFnQTBFRGF5Z0NBQ0VISUE4Z0FrRUVhellDOUFFZ0R5QURRUVJyTmdMZ0FRd0JDeUFDUVFCTUJFQkJBQ0VIREFFTElBSkJBWEVoUndKQUlBSkJBVVlFUUVFWUlRaEJBQ0VIREFFTElBSkIvdi8vL3dkeElSZEJHQ0VJUVFBaEIwRUFJUXNEUUNBUElBTkJBV3NpSHpZQzRBRWdBeTBBQUNGR0lBOGdBMEVDYXlJRE5nTGdBU0FQSUFKQkFXczJBdlFCSUI4dEFBQWhIeUFQSUFKQkFtc2lBallDOUFFZ1JpQUlkQ0FIY2lBZklBaEJDR3QwY2lFSElBaEJFR3NoQ0NBTFFRSnFJZ3NnRjBjTkFBc0xJRWRGRFFBZ0R5QURRUUZyTmdMZ0FTQURMUUFBSVVnZ0R5QUNRUUZyTmdMMEFTQklJQWgwSUFkeUlRY0xJQThnQjBIL0FYRWlBMEdQQVVzMkF2Z0JJQTlCQjBFSUlBZEJnSUNBK0FkeFFZQ0FnUGdIUmh0QkNDQU5HeUlDUVFoQkIwRUlJQWRCZ0lEOEEzRkJnSUQ4QTBZYklBZEIvLy8vLzNoTkcyb2lDRUVJUVFkQkNDQUhRWUQrQVhGQmdQNEJSaHNnQjBFUWRrSC9BWEVpRFVHUEFVMGJhaUlMUVFoQkIwRUlJQWRCL3dCeFFmOEFSaHNnQjBFSWRrSC9BWEVpR1VHUEFVMGJJQUZxYWpZQzhBRWdEeUFOSUFKMElBZEJHSFp5SUJrZ0NIUnlJQU1nQzNSeXJTQUJyWVlnWUlRM0ErZ0JDeUFQUWNBQmFpQVJJQVVnQm10Qi93RVFXd0ovUVFBZ0RFRUNTUTBBR2lBUFFhQUJhaUFUSUFsQkFCQmJRUUFnREVFQ1JnMEFHa0lBSVdCQ0FDRmlJQTlCQVRZQ21BRWdEMEVBTmdLUUFTQVBRZ0EzQTRnQklBOGdDVUVCYXlJR05nS1VBU0FQSUFVZ0VXb2dDV29pQTBFQmF5SUJOZ0tBQVNBQlFRTnhJUVVDUUNBSlFRQk1CRUFnQVNFRERBRUxJQThnQTBFQ2F5SUROZ0tBQVNBQk1RQUFJV0FMSUE4Z1lEY0RpQUVnRHlCZ1FvOEJWaUlSTmdLWUFTQVBRUWRCQ0NCZ1F2OEFnMEwvQUZFYklnMDJBcEFCQWtBZ0JVVU5BQ0FQSUFsQkFtc2lBallDbEFFQ1FDQUpRUUpJQkVBZ0F5RUhEQUVMSUE4Z0EwRUJheUlITmdLQUFTQURNUUFBSVdJTElBOGdZa0tQQVZZaUVUWUNtQUVnRHlCaUlBMnRoaUJnaENKaE53T0lBU0FQUVFoQkIwRUlJR0pDL3dDRFF2OEFVUnNnWUVLUEFWZ2JJQTFxSWcwMkFwQUJJQVZCQVVZRVFDQUhJUU1nWVNGZ0lBWWhDU0FDSVFZTUFRc2dEeUFKUVFOcklnZzJBcFFCQWtBZ0NVRURTQVJBSUFjaEFRd0JDeUFQSUFkQkFXc2lBVFlDZ0FFZ0J6RUFBQ0ZqQ3lBUElHTkNqd0ZXSWhFMkFwZ0JJQThnWXlBTnJZWWdZWVFpWURjRGlBRWdEMEVJUVFkQkNDQmpRdjhBZzBML0FGRWJJR0pDandGWUd5QU5haUlOTmdLUUFTQUZRUUpHQkVBZ0FTRURJQUloQ1NBSUlRWU1BUXNnRHlBSlFRUnJJZ1kyQXBRQlFnQWhZZ0pBSUFsQkJFZ0VRQ0FCSVFNTUFRc2dEeUFCUVFGcklnTTJBb0FCSUFFeEFBQWhZZ3NnRHlCaVFvOEJWaUlSTmdLWUFTQVBJR0lnRGEyR0lHQ0VJbUEzQTRnQklBOUJDRUVIUVFnZ1lrTC9BSU5DL3dCUkd5QmpRbzhCV0JzZ0RXb2lEVFlDa0FFZ0NDRUpDeUFOUVNCTkJFQUNRQ0FKUVFWT0JFQWdBMEVEYXlnQ0FDRUhJQThnQ1VFRmF6WUNsQUVnRHlBRFFRUnJOZ0tBQVF3QkMwRUFJUWNnQ1VFQ1NBMEFRUmdoQ1FOQUlBOGdBMEVCYXlJQk5nS0FBU0FETFFBQUlVa2dEeUFHUVFGcklnSTJBcFFCSUVrZ0NYUWdCM0loQnlBR1FRRkxJVW9nQVNFRElBbEJDR3NoQ1NBQ0lRWWdTZzBBQ3dzZ0R5QUhRZjhCY1NJQlFZOEJTellDbUFFZ0QwRUhRUWdnQjBHQWdJRDRCM0ZCZ0lDQStBZEdHMEVJSUJFYklnTkJDRUVIUVFnZ0IwR0FnUHdEY1VHQWdQd0RSaHNnQjBILy8vLy9lRTBiYWlJR1FRaEJCMEVJSUFkQmdQNEJjVUdBL2dGR0d5QUhRUkIyUWY4QmNTSUpRWThCVFJ0cUlnSkJDRUVIUVFnZ0IwSC9BSEZCL3dCR0d5QUhRUWgyUWY4QmNTSUlRWThCVFJzZ0RXcHFOZ0tRQVNBUElBa2dBM1FnQjBFWWRuSWdDQ0FHZEhJZ0FTQUNkSEt0SUEydGhpQmdoRGNEaUFFTFFRRUxJVEVnR0NBU2F5RWZJQlpCQVdvaExDQVVRUUE2QU1BUUlCUkJ3QkJxSVFzZ0QwR0FBbW9RS0NFQ0lCVkJBRW9FUUNBbVFRRnJJUk1nRkNFRElBc2hDRUVBSVJFZ0RpRUdRUUFoRFFOQUlBMGhCU0FSUVFoMElBOUI0QUZxRUM5Qi93QnhRUUYwY2tHZy9RQnFMd0VBSVFFQ1FDQVJEUUFnQVVFQUlBSkJBbXNpQjBGL1Joc2hBU0FDUVFGS0JFQWdCeUVDREFFTElBOUJnQUpxRUNnaEFnc2dEeWtENkFFaFpDQVBLQUx3QVNGTElBTWdBeWdDQUNBQlFRUjJJaGhCQTNFZ0FVRUNka0V3Y1hJZ0luUnlJaFkyQWdBZ0FVRUZka0VIY1NBQlFSQnhJaDVCQkhaeUlSRWdTeUFCUVFkeElnZHJJUTBnWkNBSHJZZ2lZS2NoQ1VFQUlRY2dGU0FGUVFKeVNnUkFJQkZCQ0hRZ0NVSC9BSEZCQVhSeVFhRDlBR292QVFBaEJ3SkFJQkVOQUNBSFFRQWdBa0VDYXlJSlFYOUdHeUVISUFKQkFVb0VRQ0FKSVFJTUFRc2dEMEdBQW1vUUtDRUNDeUFIUVFSMlFRRnhJQWRCQlhaQkIzRnlJUkVnRFNBSFFRZHhJZ2xySVEwZ1lDQUpyWWdpWUtjaENRc2dBeUFIUVFKMFFZQUdjU0FIUVRCeGNpQWlRUVJxZENBV2NqWUNBQUpBSUFkQkFuWkJBbkVnQVVFRGRrRUJjWElpRjBFRFJ3MEFRUVJCQXlBQ1FRSnJJaFpCZjBZYklSY2dBa0VCU2dSQUlCWWhBZ3dCQ3lBUFFZQUNhaEFvSVFJTEFuOGdGMFVFUUNBUFFvR0FnSUFRTndKNFFRQU1BUXNnRjBFQ1RRUkFJQTlCQVNBSlFRZHhRZFNkQVdvdEFBQWlGa0VGZGtGL0lCWkJBblpCQjNFaUdYUkJmM01nQ1NBV1FRTnhJZ2wyY1dwQkFXb2lGaUFYUVFGR0loY2JOZ0o4SUE4Z0ZrRUJJQmNiTmdKNElBa2dHV29NQVFzZ0NTQUpRUWR4UWRTZEFXb3RBQUFpRmtFRGNTSVpkaUVKSUJkQkEwWUVRQ0FXUVFWMlFRRnFJUmNnR1VFRFJnUkFJQThnQ1VFQmNVRUNjallDZkNBUElCZEJmeUFXUVFKMlFRZHhJaFowUVg5eklBbEJBWFp4YWpZQ2VDQVdRUVJxREFJTElBOGdGeUFKSUFsQkIzRkIxSjBCYWkwQUFDSUpRUU54SWhKMklpQkJmeUFXUVFKMlFRZHhJaFowUVg5emNXbzJBbmdnRDBGL0lBbEJBblpCQjNFaUYzUkJmM01nSUNBV2RuRWdDVUVGZG1wQkFXbzJBbndnRmlBWmFpQVNhaUFYYWd3QkN5QVBJQWtnQ1VFSGNVSFVuUUZxTFFBQUlnbEJBM0VpRW5ZaUlFRi9JQlpCQW5aQkIzRWlGM1JCZjNOeElCWkJCWFpxUVFOcU5nSjRJQTlCZnlBSlFRSjJRUWR4SWhaMFFYOXpJQ0FnRjNaeElBbEJCWFpxUVFOcU5nSjhJQklnR1dvZ0Yyb2dGbW9MSVFrQ1FDQXNJQThvQW5naUdVOEVRQ0FQS0FKOEloSWdMRTBOQVFzZ0lRUkFRUUFoQnlBZFFRRkJtZllBUVFBUUR3d0hDMEVBSVFjZ0hVRUJRWm4yQUVFQUVBOE1CZ3NnRHlBTklBbHJOZ0x3QVNBUElHQWdDYTJJTndQb0FTQUhRZkFCY1NBWVFROXhja0gvQVVIL0FTQUZRUVJxSWcwZ0ZXdEJBWFIySUEwZ0ZVd2JJZ2tnQ1VIVkFIRWdIMEVCU2hzaUNVRi9jM0VFUUNBaEJFQkJBQ0VISUIxQkFVR3YyZ0JCQUJBUERBY0xRUUFoQnlBZFFRRkJyOW9BUVFBUUR3d0dDd0pBQWtBZ0hnUkFJQTlCd0FGcUVCc2hGeUFQSUE4b0F0QUJJQmtnQVVFVGRFRWZkV29pRm1zMkF0QUJJQThnRHlrRHlBRWdGcTJJTndQSUFTQVhRWDhnRm5SQmYzTnhJQUZCQ0haQkFYRWdGblJ5UVFGeVFRSnFJQk4wSUJkQkgzUnlJUllNQVF0QkFDRVdJQWxCQVhGRkRRRUxJQVlnRmpZQ0FBc0NRQ0FCUVNCeEJFQWdEMEhBQVdvUUd5RVhJQThnRHlnQzBBRWdHU0FCUVJKMFFSOTFhaUlXYXpZQzBBRWdEeUFQS1FQSUFTQVdyWWczQThnQklBWWdGVUVDZEdvZ0YwRi9JQlowUVg5emNTQUJRUWwyUVFGeElCWjBja0VCY2lJV1FRSnFJQk4wSUJkQkgzUnlOZ0lBSUFoQklDQVdaMnNpRmlBSUxRQUFRZjhBY1NJWElCWWdGMHNiUVlBQmNqb0FBQXdCQ3lBSlFRSnhSUTBBSUFZZ0ZVRUNkR3BCQURZQ0FBc2dCa0VFYWlFWEFrQUNRQ0FCUWNBQWNRUkFJQTlCd0FGcUVCc2hHQ0FQSUE4b0F0QUJJQmtnQVVFUmRFRWZkV29pRm1zMkF0QUJJQThnRHlrRHlBRWdGcTJJTndQSUFTQVlRWDhnRm5SQmYzTnhJQUZCQ25aQkFYRWdGblJ5UVFGeVFRSnFJQk4wSUJoQkgzUnlJUllNQVF0QkFDRVdJQWxCQkhGRkRRRUxJQmNnRmpZQ0FBc2dDRUVBT2dBQkFrQWdBVUdBQVhFRVFDQVBRY0FCYWhBYklSZ2dEeUFQS0FMUUFTQVpJQUZCRUhSQkgzVnFJaFpyTmdMUUFTQVBJQThwQThnQklCYXRpRGNEeUFFZ0Z5QVZRUUowYWlBWVFYOGdGblJCZjNOeElBRkJDM1pCQVhFZ0ZuUnlRUUZ5SWdGQkFtb2dFM1FnR0VFZmRISTJBZ0FnQ0VHZ2Z5QUJaMnM2QUFFTUFRc2dDVUVJY1VVTkFDQVhJQlZCQW5ScVFRQTJBZ0FMSUFaQkNHb2hBUUpBQWtBZ0IwRVFjUVJBSUE5QndBRnFFQnNoR1NBUElBOG9BdEFCSUJJZ0IwRVRkRUVmZFdvaUZtczJBdEFCSUE4Z0R5a0R5QUVnRnEySU53UElBU0FaUVg4Z0ZuUkJmM054SUFkQkNIWkJBWEVnRm5SeVFRRnlRUUpxSUJOMElCbEJIM1J5SVJjTUFRdEJBQ0VYSUFsQkVIRkZEUUVMSUFFZ0Z6WUNBQXNDUUNBSFFTQnhCRUFnRDBIQUFXb1FHeUVaSUE4Z0R5Z0MwQUVnRWlBSFFSSjBRUjkxYWlJV2F6WUMwQUVnRHlBUEtRUElBU0FXcllnM0E4Z0JJQUVnRlVFQ2RHb2dHVUYvSUJaMFFYOXpjU0FIUVFsMlFRRnhJQlowY2tFQmNpSUJRUUpxSUJOMElCbEJIM1J5TmdJQUlBaEJJQ0FCWjJzaUFTQUlMUUFCUWY4QWNTSVdJQUVnRmtzYlFZQUJjam9BQVF3QkN5QUpRU0J4UlEwQUlBRWdGVUVDZEdwQkFEWUNBQXNnQmtFTWFpRUJBa0FDUUNBSFFjQUFjUVJBSUE5QndBRnFFQnNoR1NBUElBOG9BdEFCSUJJZ0IwRVJkRUVmZFdvaUZtczJBdEFCSUE4Z0R5a0R5QUVnRnEySU53UElBU0FaUVg4Z0ZuUkJmM054SUFkQkNuWkJBWEVnRm5SeVFRRnlRUUpxSUJOMElCbEJIM1J5SVJjTUFRdEJBQ0VYSUFsQndBQnhSUTBCQ3lBQklCYzJBZ0FMSUFoQkFtb2lDRUVBT2dBQUFrQWdCMEdBQVhFRVFDQVBRY0FCYWhBYklSWWdEeUFQS0FMUUFTQVNJQWRCRUhSQkgzVnFJZ2xyTmdMUUFTQVBJQThwQThnQklBbXRpRGNEeUFFZ0FTQVZRUUowYWlBV1FYOGdDWFJCZjNOeElBZEJDM1pCQVhFZ0NYUnlRUUZ5SWdGQkFtb2dFM1FnRmtFZmRISTJBZ0FnQ0VHZ2Z5QUJaMnM2QUFBTUFRc2dDVUdBQVVrTkFDQUJJQlZCQW5ScVFRQTJBZ0FMSUNKQkVITWhJaUFESUFWQkJIRnFJUU1nQmtFUWFpRUdJQTBnRlVnTkFBc0xJQXBCQ0hFaE9DQVVRYkFNYWlFb0lCUkJvQWhxSVNrZ0ZFR1FCR29oSlNBZlFRTk9CRUFnRlVFRGJDRTVJQlZCQVhRaE9pQW1RUUZySVNCQkF5QW1RUUpySWdGMElTMUJBU0FCZENFdUlCVkJCMnBCQVhaQi9QLy8vd2R4UVFScUlUMGdLeUFrUVg5emFpSUJRUU4ySWdOQkFuUWlQa0VFYWlFN0lBTkJBV29pUDBIOC8vLy9BM0VpSEVFQ2RDRThJQnhCQTNRaEVpQUJRUmhKSVVCQkFpRVpBMEFnR1NFVElBc3RBQUFoRmlBTFFRQTZBQUFnSWtGdmNVRUNjeUVpQWtBZ0ZVRUFUQVJBSUJOQkFtb2hHUXdCQ3lBbElCUWdFMEVFY1JzaEVTQVRRUUpxSVJrZ0RpQVRJQlZzUVFKMGFpRUlRUUFoQ2lBTElRWkJBQ0VOQTBBZ0RTRUZJQVl0QUFGQkJYWkJCSEVnQ2lBV1FRZDJjbklpQTBFSWRDQVBRZUFCYWhBdlFmOEFjVUVCZEhKQm9JMEJhaThCQUNFQkFrQWdBdzBBSUFGQkFDQUNRUUpySWdOQmYwWWJJUUVnQWtFQlNnUkFJQU1oQWd3QkN5QVBRWUFDYWhBb0lRSUxJQThwQStnQklXVWdEeWdDOEFFaFRDQVJJQkVvQWdBZ0FVRUVka0VEY1NBQlFRSjJRVEJ4Y2lBaWRISWlDVFlDQUNBQlFjQUFjU0lxUVFWMklBRkJnQUZ4SWlkQkJuWnlJUW9nVENBQlFRZHhJZ05ySVJjZ1pTQURyWWdpWUtjaERVRUFJUmdDUUNBVklBVkJBbkpNQkVCQkFDRUhEQUVMSUFvZ0JpMEFBa0VGZGtFRWNTQUdMUUFCUVFkMmNuSWlBMEVJZENBTlFmOEFjVUVCZEhKQm9JMEJhaThCQUNFSEFrQWdBdzBBSUFkQkFDQUNRUUpySWdOQmYwWWJJUWNnQWtFQlNnUkFJQU1oQWd3QkN5QVBRWUFDYWhBb0lRSUxJQWRCQlhZZ0IwRUdkbkpCQW5FaENpQVhJQWRCQjNFaUEyc2hGeUJnSUFPdGlDSmdweUVOQ3lBUklBZEJBblJCZ0FaeElBZEJNSEZ5SUNKQkJHcDBJQWx5TmdJQVFRRWhDVUVCSVFNQ1FDQUhRUUoyUVFKeElBRkJBM1pCQVhGeUloNUZEUUFnRFNBTlFRZHhRZFNkQVdvdEFBQWlBMEVEY1NJTmRpRUpJQjVCQTBjRVFFRUJJQWxCZnlBRFFRSjJRUWR4SWhoMFFYOXpjU0FEUVFWMmFrRUJhaUlESUI1QkFVWWlIaHNoQ1NBRFFRRWdIaHNoQXlBTklCaHFJUmdNQVFzZ0NVRUhjVUhVblFGcUxRQUFJaDVCQTNFaU15QU5JQU5CQW5aQkIzRWlHMnBxSUI1QkFuWkJCM0VpRFdvaEdDQUpJRE4ySWdsQmZ5QWJkRUYvYzNFZ0EwRUZkbXBCQVdvaEEwRi9JQTEwUVg5eklBa2dHM1p4SUI1QkJYWnFRUUZxSVFrTElBOGdGeUFZYXpZQzhBRWdEeUJnSUJpdGlEY0Q2QUVnQVVId0FYRWlEU0FOUVFGcmNRUkFJQU1nRmtIL0FIRWlGaUFHTFFBQlFmOEFjU0lYSUJZZ0Ywc2JJaFpCQW1zaUYwRUFJQllnRjA4YmFpRURDeUFIUWZBQmNTSVhJQmRCQVd0eEJFQWdDU0FHTFFBQlFmOEFjU0lXSUFZdEFBSkIvd0J4SWhnZ0ZpQVlTeHNpRmtFQ2EwRUFJQlpCQWtzYmFpRUpDeUFESUN4TklBa2dMRTF4UlFSQUlDRUVRRUVBSVFjZ0hVRUJRZjMyQUVFQUVBOE1DUXRCQUNFSElCMUJBVUg5OWdCQkFCQVBEQWdMSUFZdEFBSWhGaUFHUVFBN0FBRWdGeUFOUVFSMmNrSC9BVUgvQVNBRlFRUnFJZzBnRld0QkFYUjJJQTBnRlV3YkloZEIxUUJ4SUJjZ0dTQWZTaHNpR0VGL2MzRUVRQ0FoQkVCQkFDRUhJQjFCQVVHdjJnQkJBQkFQREFrTFFRQWhCeUFkUVFGQnI5b0FRUUFRRHd3SUN3SkFBa0FnQVVFUWNRUkFJQTlCd0FGcUVCc2hIaUFQSUE4b0F0QUJJQU1nQVVFVGRFRWZkV29pRjJzMkF0QUJJQThnRHlrRHlBRWdGNjJJTndQSUFTQWVRWDhnRjNSQmYzTnhJQUZCQ0haQkFYRWdGM1J5UVFGeVFRSnFJQ0IwSUI1QkgzUnlJUmNNQVF0QkFDRVhJQmhCQVhGRkRRRUxJQWdnRnpZQ0FBc0NRQ0FCUVNCeEJFQWdEMEhBQVdvUUd5RWVJQThnRHlnQzBBRWdBeUFCUVJKMFFSOTFhaUlYYXpZQzBBRWdEeUFQS1FQSUFTQVhyWWczQThnQklBZ2dGVUVDZEdvZ0hrRi9JQmQwUVg5emNTQUJRUWwyUVFGeElCZDBja0VCY2lJWFFRSnFJQ0IwSUI1QkgzUnlOZ0lBSUFaQklDQVhaMnNpRnlBR0xRQUFRZjhBY1NJZUlCY2dIa3NiUVlBQmNqb0FBQXdCQ3lBWVFRSnhSUTBBSUFnZ0ZVRUNkR3BCQURZQ0FBc2dDRUVFYWlFZUFrQUNRQ0FxQkVBZ0QwSEFBV29RR3lFYklBOGdEeWdDMEFFZ0F5QUJRUkYwUVI5MWFpSVhhellDMEFFZ0R5QVBLUVBJQVNBWHJZZzNBOGdCSUJ0QmZ5QVhkRUYvYzNFZ0FVRUtka0VCY1NBWGRISkJBWEpCQW1vZ0lIUWdHMEVmZEhJaEZ3d0JDMEVBSVJjZ0dFRUVjVVVOQVFzZ0hpQVhOZ0lBQ3dKQUlDY0VRQ0FQUWNBQmFoQWJJUmNnRHlBUEtBTFFBU0FESUFGQkVIUkJIM1ZxSWdOck5nTFFBU0FQSUE4cEE4Z0JJQU90aURjRHlBRWdIaUFWUVFKMGFpQVhRWDhnQTNSQmYzTnhJQUZCQzNaQkFYRWdBM1J5UVFGeUlnRkJBbW9nSUhRZ0YwRWZkSEkyQWdBZ0JrR2dmeUFCWjJzNkFBRU1BUXNnR0VFSWNVVU5BQ0FlSUJWQkFuUnFRUUEyQWdBTElBaEJDR29oQVFKQUFrQWdCMEVRY1FSQUlBOUJ3QUZxRUJzaEZ5QVBJQThvQXRBQklBa2dCMEVUZEVFZmRXb2lBMnMyQXRBQklBOGdEeWtEeUFFZ0E2MklOd1BJQVNBWFFYOGdBM1JCZjNOeElBZEJDSFpCQVhFZ0EzUnlRUUZ5UVFKcUlDQjBJQmRCSDNSeUlRTU1BUXRCQUNFRElCaEJFSEZGRFFFTElBRWdBellDQUFzQ1FDQUhRU0J4QkVBZ0QwSEFBV29RR3lFWElBOGdEeWdDMEFFZ0NTQUhRUkowUVI5MWFpSURhellDMEFFZ0R5QVBLUVBJQVNBRHJZZzNBOGdCSUFFZ0ZVRUNkR29nRjBGL0lBTjBRWDl6Y1NBSFFRbDJRUUZ4SUFOMGNrRUJjaUlCUVFKcUlDQjBJQmRCSDNSeU5nSUFJQVpCSUNBQloyc2lBU0FHTFFBQlFmOEFjU0lESUFFZ0Ewc2JRWUFCY2pvQUFRd0JDeUFZUVNCeFJRMEFJQUVnRlVFQ2RHcEJBRFlDQUFzZ0NFRU1haUVCQWtBQ1FDQUhRY0FBY1FSQUlBOUJ3QUZxRUJzaEZ5QVBJQThvQXRBQklBa2dCMEVSZEVFZmRXb2lBMnMyQXRBQklBOGdEeWtEeUFFZ0E2MklOd1BJQVNBWFFYOGdBM1JCZjNOeElBZEJDblpCQVhFZ0EzUnlRUUZ5UVFKcUlDQjBJQmRCSDNSeUlRTU1BUXRCQUNFRElCaEJ3QUJ4UlEwQkN5QUJJQU0yQWdBTElBWkJBbW9oQmdKQUlBZEJnQUZ4QkVBZ0QwSEFBV29RR3lFWElBOGdEeWdDMEFFZ0NTQUhRUkIwUVI5MWFpSURhellDMEFFZ0R5QVBLUVBJQVNBRHJZZzNBOGdCSUFFZ0ZVRUNkR29nRjBGL0lBTjBRWDl6Y1NBSFFRdDJRUUZ4SUFOMGNrRUJjaUlCUVFKcUlDQjBJQmRCSDNSeU5nSUFJQVpCb0g4Z0FXZHJPZ0FBREFFTElCaEJnQUZKRFFBZ0FTQVZRUUowYWtFQU5nSUFDeUFpUVJCeklTSWdFU0FGUVFSeGFpRVJJQWhCRUdvaENDQU5JQlZJRFFBTEN3SkFJQXhCQWtrTkFDQVRRUUp4UlEwQUlCbEJCSEVoQXdKQUFuOENRQUpBSURFRVFDQVVJQ1VnQXhzaEZrRUFJUmdnRlVFQVRBMEJJQTRnRTBFQ2F5QVZiRUVDZEdvaEVRTkFJQTlCZ0FGcUVDOGhCMEVBSVFFZ0ZpZ0NBQ0lJQkVBZ0VTQVlRUUowYWlFQlFRQWhDVUVQSVFZRFFBSkFJQVlnQ0hGRkRRQWdCa0dSb3NTSUFYRWlEU0FJY1FSQUlBRWdBU2dDQUNBSFFYOXpRUUZ4SUNCMGN5QXVjallDQUNBSFFRRjJJUWNMSUExQkFYUWdDSEVFUUNBQklCVkJBblJxSWdVZ0JTZ0NBQ0FIUVg5elFRRnhJQ0IwY3lBdWNqWUNBQ0FIUVFGMklRY0xJQTFCQW5RZ0NIRUVRQ0FCSURwQkFuUnFJZ1VnQlNnQ0FDQUhRWDl6UVFGeElDQjBjeUF1Y2pZQ0FDQUhRUUYySVFjTElBMUJBM1FnQ0hGRkRRQWdBU0E1UVFKMGFpSU5JQTBvQWdBZ0IwRi9jMEVCY1NBZ2RITWdMbkkyQWdBZ0IwRUJkaUVIQ3lBQlFRUnFJUUVnQmtFRWRDRUdJQWxCQVdvaUNVRUlSdzBBQ3lBSWFTRUJDeUFXUVFScUlSWWdEeUFQS0FLUUFTQUJhellDa0FFZ0R5QVBLUU9JQVNBQnJZZzNBNGdCSUJoQkNHb2lHQ0FWU0EwQUN3c2dLU0FvSUFNYklRVWdGQ0FsSUFNYklSWWdBMFVoR0NBVlFRQk1EUU5CQUNFRElFQU5BU0FGSUJZZ08ycEpJQllnQlNBN2FpSUhTWEVOQVVFQUlBVWlBU0FXSWdZZ1BtcEJDR3BKSUFaQkJHb2dCMGx4RFFJYUlBWWdQR29oQmlBQklEeHFJUUg5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFoWGtFQUlRY0RRQ0FGSUFkQkFuUWlBMm9pQ1NBRElCWnFJZ1A5QUFJQUlsOUJCUDJ0QVNCZlFRVDlxd0VnWGlCZi9RME1EUTRQRUJFU0V4UVZGaGNZR1JvYlFSejlyUUg5VVAxUUlGLzlVQ0plL1FzQ0FDQUpJRjRnQS8wQUFnUkJIUDJyQWYxUUlsNUJBZjJ0QWYwTWQzZDNkM2QzZDNkM2QzZDNkM2QzZC8xT0lGNUJBZjJyQWYwTTd1N3U3dTd1N3U3dTd1N3U3dTd1N3YxTy9WQWdYdjFRSUYvOVQvMExBZ0FnWHlGZUlBZEJCR29pQnlBY1J3MEFDeUFjSUQ5R0RRTWdFaUVESUY3OUd3TU1BZ3NnQTBVaEdDQXBJQ2dnQXhzaEJRd0NDeUFGSVFFZ0ZpRUdRUUFMSVFjRFFDQUhRUngySVFrZ0FTQUdLQUlBSWdkQkJIWWdDU0FIUVFSMGNuSWdCM0lpQ1RZQ0FDQUJJQWtnQmlnQ0JFRWNkSElpQ1VFQmRrSDM3dDI3QjNFZ0NVRUJkRUh1M2J2M2ZuRnlJQWx5SUFkQmYzTnhOZ0lBSUFGQkJHb2hBU0FHUVFScUlRWWdBMEVJYWlJRElCVklEUUFMQ3lBVFFRWkpEUUJCQUNFSlFRQWhFU0FXSVFFZ0tTQW9JQmdiSWhzaEJ5QVVJQ1VnR0JzaUZ5RUdBa0FnRlVFQVRDSU5EUUFEUUNBQlFRUnFJUU1nQnlnQ0FDRUlJQUVvQWdBaEFTQUhJRGdFZnlBSUJTQUJRUVIwSUJGQkhIWnlJQUZCQkhaeUlBTW9BZ0JCSEhSeUlBRnlRUU4wUVlpUm9zUjRjU0FJY2dzZ0JpZ0NBRUYvYzNFMkFnQWdCa0VFYWlFR0lBZEJCR29oQnlBQklSRWdBeUVCSUFsQkNHb2lDU0FWU0EwQUN5QU5EUUFnRGlBVFFRWnJJQlZzUVFKMGFpRkJRUUFoSGlBWElSRURRRUVBSVFNZ0d5Z0NBQ0lCQkVBZ0ZTQWVheUZDUVFBaEIwRUFJUW9EUUNBSElVMGdEMEdnQVdvUUd5RUhBa0FnQ2lBS1FRUnFJZ1lnUWlBR0lCNXFJQlZJR3lJelRpSkRCRUJCQUNFR0RBRUxJQkVvQWdCQmYzTWhLaUJCSUFvZ0huSkJBblJxSVJoQkFDRUdRUThnQ2lJSlFRSjBJa1IwSWcwaENBTkFBa0FnQVNBSWNVVU5BQ0FJUVpHaXhJZ0JjU0luSUFGeEJFQWdCMEVCY1FSQUlBTWdKM0loQTBFeUlBbEJBblIwSUNweElBRnlJUUVMSUFkQkFYWWhCeUFHUVFGcUlRWUxJQUVnSjBFQmRDSTBjUVJBSUFkQkFYRUVRQ0FESURSeUlRTWdBVUgwQUNBSlFRSjBkQ0FxY1hJaEFRc2dCMEVCZGlFSElBWkJBV29oQmdzZ0FTQW5RUUowSWpSeEJFQWdCMEVCY1FSQUlBTWdOSEloQXlBQlFlZ0JJQWxCQW5SMElDcHhjaUVCQ3lBSFFRRjJJUWNnQmtFQmFpRUdDeUFCSUNkQkEzUWlKM0ZGRFFBZ0IwRUJjUVJBSUFNZ0ozSWhBeUFCUWNBQklBbEJBblIwSUNweGNpRUJDeUFHUVFGcUlRWWdCMEVCZGlFSEN5QUlRUVIwSVFnZ0NVRUJhaUlKSUROSURRQUxJQU1nUkhaQi8vOERjVVVOQUNCRERRQURRQUpBSUFNZ0RYRkZEUUFnRFVHUm9zU0lBWEVpQ1NBRGNRUkFJQmdnR0NnQ0FDQUhRUjkwY2lBdGNqWUNBQ0FIUVFGMklRY2dCa0VCYWlFR0N5QUpRUUYwSUFOeEJFQWdHQ0FWUVFKMGFpSUlJQWdvQWdBZ0IwRWZkSElnTFhJMkFnQWdCMEVCZGlFSElBWkJBV29oQmdzZ0NVRUNkQ0FEY1FSQUlCZ2dPa0VDZEdvaUNDQUlLQUlBSUFkQkgzUnlJQzF5TmdJQUlBZEJBWFloQnlBR1FRRnFJUVlMSUFsQkEzUWdBM0ZGRFFBZ0dDQTVRUUowYWlJSklBa29BZ0FnQjBFZmRISWdMWEkyQWdBZ0JrRUJhaUVHSUFkQkFYWWhCd3NnRFVFRWRDRU5JQmhCQkdvaEdDQUtRUUZxSWdvZ00wZ05BQXNMSUE4Z0R5Z0NzQUVnQm1zMkFyQUJJQThnRHlrRHFBRWdCcTJJTndPb0FVRUJJUWRCQkNFS0lFMUJBWEZGRFFBTElCc2dHeWdDQkNBRFFSdDJRUTV4SUFOQkhYWnlJQU5CSEhaeUlCRW9BZ1JCZjNOeGNqWUNCQXNnRVNnQ0FDQURjaUlEUVFOMlFaR2l4SWdCY1NJQlFRUjJJQUZCQkhSeUlBRnlJUVlnSGdSQUlBVkJCR3NpQnlBSEtBSUFJQlpCQkdzb0FnQkJmM01nQVVFY2RIRnlOZ0lBQ3lBRklBVW9BZ0FnQmlBV0tBSUFRWDl6Y1hJMkFnQWdCU0FGS0FJRUlCWW9BZ1JCZjNNZ0EwRWZkbkZ5TmdJRUlCdEJCR29oR3lBUlFRUnFJUkVnQlVFRWFpRUZJQlpCQkdvaEZpQWVRUWhxSWg0Z0ZVZ05BQXNMSUJkQkFDQTlFQlVhQ3lBWklCOUlEUUFMQ3dKQUlBeEJBa2tOQUFKQUlCOUJBM0ZCQVdzaUZrRUNTU0F4Y1FSQUlCVkJBRXdOQVVFQklDWkJBbXQwSVFJZ0RpQWZRZnovL3dkeElCVnNRUUowYWlFUklDVWdGQ0FmUVFSeEd5RUZJQ1pCQVdzaENFRUFJUW9nRlVFTWJDRU1JQlZCQTNRaEN3TkFJQTlCZ0FGcUVDOGhCMEVBSVFFZ0JTZ0NBQ0lEQkVBZ0VTQUtRUUowYWlFQlFROGhCa0VBSVFrRFFBSkFJQU1nQm5GRkRRQWdCa0dSb3NTSUFYRWlEU0FEY1FSQUlBRWdBU2dDQUNBSFFYOXpRUUZ4SUFoMGN5QUNjallDQUNBSFFRRjJJUWNMSUExQkFYUWdBM0VFUUNBQklCVkJBblJxSWgwZ0hTZ0NBQ0FIUVg5elFRRnhJQWgwY3lBQ2NqWUNBQ0FIUVFGMklRY0xJQTFCQW5RZ0EzRUVRQ0FCSUF0cUloMGdIU2dDQUNBSFFYOXpRUUZ4SUFoMGN5QUNjallDQUNBSFFRRjJJUWNMSUExQkEzUWdBM0ZGRFFBZ0FTQU1haUlOSUEwb0FnQWdCMEYvYzBFQmNTQUlkSE1nQW5JMkFnQWdCMEVCZGlFSEN5QUJRUVJxSVFFZ0JrRUVkQ0VHSUFsQkFXb2lDVUVJUncwQUN5QURhU0VCQ3lBRlFRUnFJUVVnRHlBUEtBS1FBU0FCYXpZQ2tBRWdEeUFQS1FPSUFTQUJyWWczQTRnQklBcEJDR29pQ2lBVlNBMEFDd3NnRmtFQlN3MEFJQlZCQUV3TkFDQWxJQlFnSDBFRWNTSUJHeUVKSUNnZ0tTQUJHeUVDUVFBaEF3Si9Ba0FnS3lBa1FYOXphaUlCUVRoSkRRQWdBaUFKSUFGQkFYWkIvUC8vL3dkeElnWkJCR29pQjJwSklBa2dBaUFIYWlJSFNYRU5BQ0FDSUFZZ0NXcEJDR3BKSUFsQkJHb2dCMGx4RFFBZ0FVRURka0VCYWlJTlFmei8vLzhEY1NJSVFRTjBJUU1nQ1NBSVFRSjBJZ0ZxSVFZZ0FTQUNhaUVCL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSVY1QkFDRUhBMEFnQWlBSFFRSjBJaFpxSWhFZ0NTQVdhaUlXL1FBQ0FDSmZRUVQ5clFFZ1gwRUUvYXNCSUY0Z1gvME5EQTBPRHhBUkVoTVVGUllYR0JrYUcwRWMvYTBCL1ZEOVVDQmYvVkFpWHYwTEFnQWdFU0JlSUJiOUFBSUVRUno5cXdIOVVDSmVRUUg5clFIOURIZDNkM2QzZDNkM2QzZDNkM2QzZDNmOVRpQmVRUUg5cXdIOURPN3U3dTd1N3U3dTd1N3U3dTd1N3U3OVR2MVFJRjc5VUNCZi9VLzlDd0lBSUY4aFhpQUhRUVJxSWdjZ0NFY05BQXNnQ0NBTlJnMENJRjc5R3dNTUFRc2dBaUVCSUFraEJrRUFDeUVIQTBBZ0IwRWNkaUVKSUFFZ0JpZ0NBQ0lIUVFSMklBa2dCMEVFZEhKeUlBZHlJZ2syQWdBZ0FTQUpJQVlvQWdSQkhIUnlJZ2xCQVhaQjkrN2R1d2R4SUFsQkFYUkI3dDI3OTM1eGNpQUpjaUFIUVg5emNUWUNBQ0FCUVFScUlRRWdCa0VFYWlFR0lBTkJDR29pQXlBVlNBMEFDd3NnSHlBZlFRRnFRUU54YTBFRGEwRUFJQjlCQmtvYkloRWdIMDROQUVFRElDWkJBbXQwSVJrZ0t5QWtRWDl6YWlJQlFRTjJJZ05CQW5RaUswRUVhaUVkSUFOQkFXb2lBMEg4Ly8vL0EzRWlFa0VDZENFaElCSkJBM1FoRmlBVlFReHNJU3dnRlVFRGRDRXRJQUZCR0VraEppQURJQkpHSVJzRFFBSkFBa0FDUUFKQUFuOENRQ0FmSUJGcklnRkJBV3NpQTBFRFR3UkFRWDhoRnlBQlFRVklEUVVnRlVFQVRBMEdJQ1VnRkNBUlFRUnhJZ0ViSVFJZ0tDQXBJQUViSVFrZ09BUkFRUUFoQmlBbURRUWdBaUFKSUIxcVNTQUNJQjFxSUFsTGNRMEVJQUlnSVdvaEFTQUpJQ0ZxSVFjRFFDQUpJQVpCQW5RaUEyb2lDQ0FJL1FBQ0FDQUNJQU5xL1FBQ0FQMVAvUXNDQUNBR1FRUnFJZ1lnRWtjTkFBc2dGaUVHSUJzTkJnd0ZDeUFVSUNVZ0FSc2hEVUVBSVFNZ0pnMEJJQWtnRFNBZGFra2dEU0FKSUIxcUlnRkpjUTBCSUFrZ0RTQXJha0VJYWtrZ0RVRUVhaUFCU1hFTkFTQUpJQUlnSFdwSklBRWdBa3R4RFFFZ0FpQWhhaUVJSUFrZ0lXb2hBU0FOSUNGcUlRZjlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWhYa0VBSVFZRFFDQUpJQVpCQW5RaUEyb2lCU0FESUExcUlnejlBQUlBSWw5QkJQMnRBU0JmUVFUOXF3RWdYaUJmL1EwTURRNFBFQkVTRXhRVkZoY1lHUm9iUVJ6OXJRSDlVUDFRSUF6OUFBSUVRUno5cXdIOVVDQmYvVkJCQS8yckFmME1pSWlJaUlpSWlJaUlpSWlJaUlpSWlQMU9JQVg5QUFJQS9WQWdBaUFEYXYwQUFnRDlULzBMQWdBZ1h5RmVJQVpCQkdvaUJpQVNSdzBBQ3lBYkRRVWdGaUVESUY3OUd3TU1BZ3NnQTBFQ2RFSGNuUUZxS0FJQUlSY01CQXNnRFNFSElBa2hBU0FDSVFoQkFBc2hCZ05BSUFaQkhIWWhDU0FCSUFFb0FnQWdCeWdDQUNJR1FRUjJJQWtnQmtFRWRISnlJQWNvQWdSQkhIUnlJQVp5UVFOMFFZaVJvc1I0Y1hJZ0NDZ0NBRUYvYzNFMkFnQWdDRUVFYWlFSUlBRkJCR29oQVNBSFFRUnFJUWNnQTBFSWFpSURJQlZJRFFBTERBSUxJQWtoQnlBQ0lRRUxBMEFnQnlBSEtBSUFJQUVvQWdCQmYzTnhOZ0lBSUFGQkJHb2hBU0FIUVFScUlRY2dCa0VJYWlJR0lCVklEUUFMQ3lBVlFRQk1EUUFnSlNBVUlCRkJCSEVpQVJzaENpQW9JQ2tnQVJzaEFpQVVJQ1VnQVJzaEV5QXBJQ2dnQVJzaEhpQU9JQkVnRld4QkFuUnFJUzVCQUNFRkEwQkJBQ0VESUFJb0FnQWdGM0VpQVFSQUlCVWdCV3NoS2tFQUlRZEJBQ0VOQTBBZ0J5Rk9JQTlCb0FGcUVCc2hCd0pBSUEwZ0RVRUVhaUlHSUNvZ0JTQUdhaUFWU0JzaUpFNGlKd1JBUVFBaEJnd0JDeUFYSUFvb0FnQkJmM054SVJnZ0xpQUZJQTF5UVFKMGFpRUxRUUFoQmtFUElBMGlDVUVDZENJY2RDSWdJUWdEUUFKQUlBRWdDSEZGRFFBZ0NFR1Jvc1NJQVhFaUlpQUJjUVJBSUFkQkFYRUVRQ0FESUNKeUlRTkJNaUFKUVFKMGRDQVljU0FCY2lFQkN5QUhRUUYySVFjZ0JrRUJhaUVHQ3lBQklDSkJBWFFpTVhFRVFDQUhRUUZ4QkVBZ0F5QXhjaUVESUFGQjlBQWdDVUVDZEhRZ0dIRnlJUUVMSUFkQkFYWWhCeUFHUVFGcUlRWUxJQUVnSWtFQ2RDSXhjUVJBSUFkQkFYRUVRQ0FESURGeUlRTWdBVUhvQVNBSlFRSjBkQ0FZY1hJaEFRc2dCMEVCZGlFSElBWkJBV29oQmdzZ0FTQWlRUU4wSWlKeFJRMEFJQWRCQVhFRVFDQURJQ0p5SVFNZ0FVSEFBU0FKUVFKMGRDQVljWEloQVFzZ0JrRUJhaUVHSUFkQkFYWWhCd3NnQ0VFRWRDRUlJQWxCQVdvaUNTQWtTQTBBQ3lBRElCeDJRZi8vQTNGRkRRQWdKdzBBQTBBQ1FDQURJQ0J4UlEwQUlDQkJrYUxFaUFGeElna2dBM0VFUUNBTElBc29BZ0FnQjBFZmRISWdHWEkyQWdBZ0IwRUJkaUVISUFaQkFXb2hCZ3NnQ1VFQmRDQURjUVJBSUFzZ0ZVRUNkR29pQ0NBSUtBSUFJQWRCSDNSeUlCbHlOZ0lBSUFkQkFYWWhCeUFHUVFGcUlRWUxJQWxCQW5RZ0EzRUVRQ0FMSUMxcUlnZ2dDQ2dDQUNBSFFSOTBjaUFaY2pZQ0FDQUhRUUYySVFjZ0JrRUJhaUVHQ3lBSlFRTjBJQU54UlEwQUlBc2dMR29pQ1NBSktBSUFJQWRCSDNSeUlCbHlOZ0lBSUFaQkFXb2hCaUFIUVFGMklRY0xJQ0JCQkhRaElDQUxRUVJxSVFzZ0RVRUJhaUlOSUNSSURRQUxDeUFQSUE4b0FyQUJJQVpyTmdLd0FTQVBJQThwQTZnQklBYXRpRGNEcUFGQkFTRUhRUVFoRFNCT1FRRnhSUTBBQ3lBQ0lBSW9BZ1FnQTBFYmRrRU9jU0FEUVIxMmNpQURRUngyY2lBS0tBSUVRWDl6Y1hJMkFnUUxJQW9vQWdBZ0EzSWlBMEVEZGtHUm9zU0lBWEVpQVVFRWRpQUJRUVIwY2lBQmNpRUdJQVVFUUNBZVFRUnJJZ2NnQnlnQ0FDQVRRUVJyS0FJQVFYOXpJQUZCSEhSeGNqWUNBQXNnSGlBZUtBSUFJQVlnRXlnQ0FFRi9jM0Z5TmdJQUlCNGdIaWdDQkNBVEtBSUVRWDl6SUFOQkgzWnhjallDQkNBQ1FRUnFJUUlnQ2tFRWFpRUtJQjVCQkdvaEhpQVRRUVJxSVJNZ0JVRUlhaUlGSUJWSURRQUxDeUFSUVFScUloRWdIMGdOQUFzTFFRRWhCeUFmUVFCTURRTWdGVUVBVEEwRElCVkIvUC8vL3dkeElnWkJBblFoQWlBVlFRUkpJUWhCQUNFSkEwQWdEaUFKSUJWc1FRSjBhaUVEQWtBQ1FDQUlCRUFnQXlFSFFRQWhBUXdCQ3lBQ0lBTnFJUWRCQUNFQkEwQWdBeUFCUVFKMGFpSU5JQTM5QUFJQUlsNzlEUC8vLzMvLy8vOS8vLy8vZi8vLy8zLzlUaUpmL2FFQklGOGdYdjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZMOUN3SUFJQUZCQkdvaUFTQUdSdzBBQ3lBR0lnRWdGVVlOQVFzRFFDQUhRUUFnQnlnQ0FDSURRZi8vLy84SGNTSU5heUFOSUFOQkFFZ2JOZ0lBSUFkQkJHb2hCeUFCUVFGcUlnRWdGVWNOQUFzTFFRRWhCeUFKUVFGcUlna2dIMGNOQUFzTUF3c2dJVVVOQUNBUElCb29BaGcyQWpRZ0R5QVdOZ0l3SUIxQkFVSGN4d0FnRDBFd2FoQVBEQUVMSUE4Z0FUWUNGQ0FQSUJZMkFoQWdIVUVCUWR6SEFDQVBRUkJxRUE5QkFDRUhEQUVMUVFBaEJ3c2dEMEd3QW1va0FDQUhEUUVNQXdzZ0JDQUJRUWwwUWRDcEFXbzJBbXdDZnlBRUtBSjBJUUVDUUFKQUlCb29BaEFnR2lnQ0NHc2lCU0FhS0FJVUlCb29BZ3hySWdsc0lnTWdCQ2dDaEFGTEJFQWdBUkFRSUFRZ0EwRUNkQkFZSWdFMkFuUkJBQ0FCUlEwREdpQUVJQU0yQW9RQkRBRUxJQUZGRFFFTElBRkJBQ0FEUVFKMEVCVWFDeUFFS0FKNElRRUNRQ0FGUVFKcUlnWWdDVUVEYWtFQ2RpSU1RUUpxYkNJRElBUW9Bb2dCVFFSQUlBTkJBblFoQ0F3QkN5QUJFQkFnQkNBRFFRSjBJZ2dRR0NJQk5nSjRJQUVOQUVFQURBRUxJQVFnQXpZQ2lBRWdBVUVBSUFnUUZSb0NRQ0FHUlEwQUlBUW9BbmdpQnlFQkFrQWdCa0VFVHdSQUlBY2dCa0Y4Y1NJTlFRSjBhaUVCUVFBaENBTkFJQWNnQ0VFQ2RHcjlEQUFBSUVrQUFDQkpBQUFnU1FBQUlFbjlDd0lBSUFoQkJHb2lDQ0FOUncwQUN5QUdJQTFHRFFFTEEwQWdBVUdBZ0lESkJEWUNBQ0FCUVFScUlRRWdEVUVCYWlJTklBWkhEUUFMQ3lBSElBeEJBV29nQm14QkFuUnFJUU5CQUNFTkFrQUNRQ0FHUVFSSkJFQWdBeUVCREFFTElBTWdCa0Y4Y1NJTlFRSjBhaUVCUVFBaENBTkFJQU1nQ0VFQ2RHcjlEQUFBSUVrQUFDQkpBQUFnU1FBQUlFbjlDd0lBSUFoQkJHb2lDQ0FOUncwQUN5QUdJQTFHRFFFTEEwQWdBVUdBZ0lESkJEWUNBQ0FCUVFScUlRRWdEVUVCYWlJTklBWkhEUUFMQ3lBSlFRTnhJZ0ZGRFFBZ0JrVU5BRUdBZ0lESUJFR0FnSURBQkVHQWdJQ0FCQ0FCUVFKR0d5QUJRUUZHR3lFTElBY2dCaUFNYkVFQ2RHb2hBMEVBSVEwQ1FDQUdRUVJKQkVBZ0F5RUJEQUVMSUFNZ0JrRjhjU0lOUVFKMGFpRUJJQXY5RVNGZlFRQWhDQU5BSUFNZ0NFRUNkR29nWC8wTEFnQWdDRUVFYWlJSUlBMUhEUUFMSUFZZ0RVWU5BUXNEUUNBQklBczJBZ0FnQVVFRWFpRUJJQTFCQVdvaURTQUdSdzBBQ3dzZ0JDQUpOZ0tBQVNBRUlBVTJBbnhCQVF0RkRRSWdHaWdDSENBUmFpSVpRUjlPQkVBZ0lVVU5BaUFqSUJrMkFoQWdIVUVDUWRYQkFDQWpRUkJxRUE4TUF3c2dCQkJhUVFBaEFTQUVRYkNwQVRZQ1pDQUVRZENlQVRZQ1lDQUVRZkNlQVRZQ0hBSkFBa0FDUUFKQUlCb29BalFpQjBFQlN3MEFJQVFvQXBBQlJRMENJQWNOQUF3QkN5QWFLQUlFSVFNZ0IwRUVUd1JBSUFkQmZIRWhBa0VBSVFZRFFDQURJQVpCQTNScUlnRkJIR29nQVVFVWFpQUJRUXhxSUFIOUNRSUUvVllDQUFIOVZnSUFBdjFXQWdBRElGNzlyZ0VoWGlBR1FRUnFJZ1lnQWtjTkFBc2dYaUJlSUY3OURRZ0pDZ3NNRFE0UEFBRUNBd0FCQWdQOXJnRWlYaUJlSUY3OURRUUZCZ2NBQVFJREFBRUNBd0FCQWdQOXJnSDlHd0FoQVNBQ0lBZEdEUUVMQTBBZ0F5QUNRUU4wYWlnQ0JDQUJhaUVCSUFKQkFXb2lBaUFIUncwQUN3c2dBVUVDYWlJRElBUW9BcGdCU3dSQUlBUW9BcFFCSUFNUUZ5SUdSUTBGSUFRZ0JqWUNsQUVnQVNBR2FrRUFPd0FBSUFRZ0F6WUNtQUVnR2lnQ05DRUhDeUFFS0FLVUFTRWVJQWRGRFFFZ0dpZ0NCQ0VHUVFBaEFrRUFJUUVEUUNBQ0lCNXFJQVlnQVVFRGRDSURhaUlHS0FJQUlBWW9BZ1FRRWhvZ0dpZ0NCQ0lHSUFOcUtBSUVJQUpxSVFJZ0FVRUJhaUlCSUJvb0FqUkpEUUFMREFFTElBZEJBVWNOQVNBYUtBSUVLQUlBSVI0TElCb29BandpQVFSQUlBUW9BblFoTENBRUlBRTJBblFMSUJvb0Fpd0VRQ0FXUVFoeElTVWdCRUVjYWlFUElCWkJBWEVoTFNBV1FRSnhSU0V1UVFJaEh3TkFJQjRnS0dvaEFTQWFLQUlBSUNsQkdHeHFJaUFvQWdBaEF3SkFJQzBnSDBFQ1NTQVpJQm9vQWh4QkJHdE1jWEVpSWdSQUlBUWdBVFlDRkNBRUlBRWdBMm9pQXpZQ0dDQUVJQU12QUFBN0FYQWdBMEgvQVRvQUFDQUVLQUlZUWY4Qk9nQUJJQVJCQURZQ0NDQUVRUUEyQWdBZ0JDQUJOZ0lRREFFTElBUWdBVFlDRkNBRUlBRWdBMm9pQmpZQ0dDQUVJQVl2QUFBN0FYQWdCa0gvQVRvQUFDQUVLQUlZUWY4Qk9nQUJJQVFnQkVFY2FqWUNhQ0FFSUFFMkFoQWdCRUVBTmdJTUlBUWdBd1IvSUFFdEFBQkJFSFFGUVlDQS9BY0xJZ00yQWdCQkFTRUdJQUZCQVdvaENTQUJMUUFCSVFjQ2Z5QUJMUUFBUWY4QlJnUkFJQWRCa0FGUEJFQWdCRUVCTmdJTUlBTkJnUDREY2d3Q0N5QUVJQWsyQWhCQkFDRUdJQWRCQ1hRZ0Eyb01BUXNnQkNBSk5nSVFJQWRCQ0hRZ0EzSUxJUUVnQkNBR05nSUlJQVJCZ0lBQ05nSUVJQVFnQVVFSGREWUNBQXNnSUNnQ0FDRXFBa0FnR1VFQVRBMEFJQ0FvQWdoRkRRQWdJaUF1Y2lFblFRQWhKZ05BQWtBQ1FBSkFBa0FDUUNBZlFRRnJEZ0lCQWdBTElDSUVRRUVCSUJsMElnRkJBWFlnQVhJaEVTQUVLQUo4SWdWQkFuUWlEU0FFS0FKNGFrRU1haUVCSUFRb0FuUWhCa0VBSVFnZ0JDZ0NnQUVpQTBFRVR3UkFJQVZGRFFVZ0JVRURiQ0VDSUFWQkFYUWhERUVBSUJGcklRa0RRQ0FNUVFKMElRdEJBQ0VEQTBBQ1FDQUJJZ2NvQWdBaUFVVU5BQUpBSUFGQmtJQ0FBWEVOQUNBQlFlOERjVVVOQUNBRUtBSUFJUUVDUUNBRUtBSUlJaEFOQUNBQlFmOEJSaUVLSUFRb0FoQWlFQzBBQUNFQkFrQWdDa1VFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRREFFTElBRkJqd0ZOQkVBZ0JDQUJOZ0lBSUFRZ0VFRUJhallDRUVFSElSQU1BZ3RCL3dFaEFTQUVRZjhCTmdJQUMwRUlJUkFMSUFRZ0VFRUJheUlRTmdJSUFrQWdBU0FRZGtFQmNVVU5BQUpBSUJBTkFDQUJRZjhCUmlFS0lBUW9BaEFpRUMwQUFDRUJBa0FnQ2tVRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdFRUVCYWpZQ0VFRUhJUkFNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVJBTElBUWdFRUVCYXlJUU5nSUlJQVlnQ1NBUklBRWdFSFpCQVhFaUVCczJBZ0FnQkNnQ2ZDRUJJQWRCQkdzaUNpQUtLQUlBUVNCeU5nSUFJQWNnQnlnQ0JFRUljallDQkNBSElBY29BZ0FnRUVFVGRISkJFSEkyQWdBZ0pRMEFJQWRCZmlBQmEwRUNkR29pQVNBQktBSUVRWUNBQW5JMkFnUWdBU0FCS0FJQUlCQkJIM1J5UVlDQUJISTJBZ0FnQVVFRWF5SUJJQUVvQWdCQmdJQUljallDQUFzZ0J5QUhLQUlBUVlDQWdBRnlJZ0UyQWdBTEFrQWdBVUdBZ1lBSWNRMEFJQUZCK0I1eFJRMEFJQVFvQWdBaEFRSkFJQVFvQWdnaUVBMEFJQUZCL3dGR0lRb2dCQ2dDRUNJUUxRQUFJUUVDUUNBS1JRUkFJQVFnQVRZQ0FDQUVJQkJCQVdvMkFoQU1BUXNnQVVHUEFVMEVRQ0FFSUFFMkFnQWdCQ0FRUVFGcU5nSVFRUWNoRUF3Q0MwSC9BU0VCSUFSQi93RTJBZ0FMUVFnaEVBc2dCQ0FRUVFGckloQTJBZ2dnQndKL0lBRWdFSFpCQVhGRkJFQWdCeWdDQUF3QkN3SkFJQkFOQUNBQlFmOEJSaUVLSUFRb0FoQWlFQzBBQUNFQkFrQWdDa1VFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRREFFTElBRkJqd0ZOQkVBZ0JDQUJOZ0lBSUFRZ0VFRUJhallDRUVFSElSQU1BZ3RCL3dFaEFTQUVRZjhCTmdJQUMwRUlJUkFMSUFRZ0VFRUJheUlRTmdJSUlBWWdEV29nQ1NBUklBRWdFSFpCQVhFaUFSczJBZ0FnQjBFRWF5SVFJQkFvQWdCQmdBSnlOZ0lBSUFjZ0J5Z0NCRUhBQUhJMkFnUWdCeWdDQUNBQlFSWjBja0dBQVhJTFFZQ0FnQWh5SWdFMkFnQUxBa0FnQVVHQWlJREFBSEVOQUNBQlFjRDNBWEZGRFFBZ0JDZ0NBQ0VCQWtBZ0JDZ0NDQ0lRRFFBZ0FVSC9BVVloQ2lBRUtBSVFJaEF0QUFBaEFRSkFJQXBGQkVBZ0JDQUJOZ0lBSUFRZ0VFRUJhallDRUF3QkN5QUJRWThCVFFSQUlBUWdBVFlDQUNBRUlCQkJBV28yQWhCQkJ5RVFEQUlMUWY4QklRRWdCRUgvQVRZQ0FBdEJDQ0VRQ3lBRUlCQkJBV3NpRURZQ0NDQUhBbjhnQVNBUWRrRUJjVVVFUUNBSEtBSUFEQUVMQWtBZ0VBMEFJQUZCL3dGR0lRb2dCQ2dDRUNJUUxRQUFJUUVDUUNBS1JRUkFJQVFnQVRZQ0FDQUVJQkJCQVdvMkFoQU1BUXNnQVVHUEFVMEVRQ0FFSUFFMkFnQWdCQ0FRUVFGcU5nSVFRUWNoRUF3Q0MwSC9BU0VCSUFSQi93RTJBZ0FMUVFnaEVBc2dCQ0FRUVFGckloQTJBZ2dnQmlBTGFpQUpJQkVnQVNBUWRrRUJjU0lCR3pZQ0FDQUhRUVJySWhBZ0VDZ0NBRUdBRUhJMkFnQWdCeUFIS0FJRVFZQUVjallDQkNBSEtBSUFJQUZCR1hSeVFZQUljZ3RCZ0lDQXdBQnlJZ0UyQWdBTElBRkJnTUNBZ0FSeERRQWdBVUdBdkE5eFJRMEFJQVFvQWdBaEFRSkFJQVFvQWdnaUVBMEFJQUZCL3dGR0lRb2dCQ2dDRUNJUUxRQUFJUUVDUUNBS1JRUkFJQVFnQVRZQ0FDQUVJQkJCQVdvMkFoQU1BUXNnQVVHUEFVMEVRQ0FFSUFFMkFnQWdCQ0FRUVFGcU5nSVFRUWNoRUF3Q0MwSC9BU0VCSUFSQi93RTJBZ0FMUVFnaEVBc2dCQ0FRUVFGckloQTJBZ2dnQVNBUWRrRUJjUVJBSUFZZ0FrRUNkR29oVHdKQUlCQU5BQ0FCUWY4QlJpRVVJQVFvQWhBaUVDMEFBQ0VCQWtBZ0ZFVUVRQ0FFSUFFMkFnQWdCQ0FRUVFGcU5nSVFEQUVMSUFGQmp3Rk5CRUFnQkNBQk5nSUFJQVFnRUVFQmFqWUNFRUVISVJBTUFndEIvd0VoQVNBRVFmOEJOZ0lBQzBFSUlSQUxJQVFnRUVFQmF5SVFOZ0lJSUU4Z0NTQVJJQUVnRUhaQkFYRWlFQnMyQWdBZ0JDZ0NmQ0VCSUFkQkJHc2lDaUFLS0FJQVFZQ0FBWEkyQWdBZ0J5QUhLQUlFUVlBZ2NqWUNCQ0FISUFjb0FnQWdFRUVjZEhKQmdNQUFjallDQUNBSElBRkJBblJxSWdFZ0FTZ0NCRUVFY2pZQ0JDQUJJQUVvQWd4QkFYSTJBZ3dnQVNBQktBSUlJQkJCRW5SeVFRSnlOZ0lJQ3lBSElBY29BZ0JCZ0lDQWdBUnlOZ0lBQ3lBR1FRUnFJUVlnQjBFRWFpRUJJQU5CQVdvaUF5QUZSdzBBQ3lBSFFReHFJUUVnQmlBQ1FRSjBhaUVHSUFoQkJHb2lDQ0FFS0FLQUFTSURRWHh4U1EwQUN3c2dBeUFJVFEwRElBVkZEUU5CQUNFVFFRQWdFV3NoQ3lBRElSQURRQUpBSUFnZ0VFWUVRQ0FJSVJBTUFRc2dBVUVFYXlFTUlBRW9BZ0FoRFVFQUlRSURRQUpBSUEwZ0FrRURiQ0lIZGlJSlFaQ0FnQUZ4RFFBZ0NVSHZBM0ZGRFFBZ0JDZ0NBQ0VEQWtBZ0JDZ0NDQ0lKRFFBZ0EwSC9BVWNoRUNBRUtBSVFJZ2t0QUFBaEF3SkFJQkJGQkVBZ0EwR1FBVThFUUVIL0FTRURJQVJCL3dFMkFnQU1BZ3NnQkNBRE5nSUFJQVFnQ1VFQmFqWUNFRUVISVFrTUFnc2dCQ0FETmdJQUlBUWdDVUVCYWpZQ0VBdEJDQ0VKQ3lBRUlBbEJBV3NpQ1RZQ0NBSkFJQU1nQ1haQkFYRkZEUUFnQmlBQ0lBVnNRUUowYWlGUUFrQWdDUTBBSUFOQi93RkhJUTBnQkNnQ0VDSUpMUUFBSVFNQ1FDQU5SUVJBSUFOQmtBRlBCRUJCL3dFaEF5QUVRZjhCTmdJQURBSUxJQVFnQXpZQ0FDQUVJQWxCQVdvMkFoQkJCeUVKREFJTElBUWdBellDQUNBRUlBbEJBV28yQWhBTFFRZ2hDUXNnQkNBSlFRRnJJZ2syQWdnZ1VDQUxJQkVnQXlBSmRrRUJjU0lKR3pZQ0FDQUVLQUo4SVJBZ0RDQU1LQUlBUVNBZ0IzUnlOZ0lBSUFFZ0FTZ0NBQ0FKUVJOMFFSQnlJQWQwY2pZQ0FDQUJJQUVvQWdSQkNDQUhkSEkyQWdRZ0FpQWxja1VFUUNBQlFYNGdFR3RCQW5ScUlnTWdBeWdDQkVHQWdBSnlOZ0lFSUFNZ0F5Z0NBQ0FKUVI5MGNrR0FnQVJ5TmdJQUlBTkJCR3NpQXlBREtBSUFRWUNBQ0hJMkFnQUxJQUpCQTBjTkFDQUJJQkJCQW5ScUlnTWdBeWdDQkVFRWNqWUNCQ0FESUFNb0FneEJBWEkyQWd3Z0F5QURLQUlJSUFsQkVuUnlRUUp5TmdJSUN5QUJJQUVvQWdCQmdJQ0FBU0FIZEhJaURUWUNBQ0FFS0FLQUFTRURDeUFESVJBZ0FrRUJhaUlDSUFNZ0NHdEpEUUFMQ3lBR1FRUnFJUVlnQVVFRWFpRUJJQk5CQVdvaUV5QUZSdzBBQ3d3REMwRUFJUWRCQUNFTlFRQWhGd0pBQWtBQ1FBSkFJQVFvQW53aUVFSEFBRWNOQUNBRUtBS0FBVUhBQUVjTkFFRUFRUUVnR1hRaUFVRUJkaUFCY2lJUmF5RUZJQVJCSEdvaEVDQUVLQUo0UVl3Q2FpRUdJQVFvQWdnaENDQUVLQUlFSVFNZ0JDZ0NBQ0VDSUFRb0FtZ2hEQ0FFS0FKMElRRWdGa0VJY1EwQkEwQkJBQ0VYQTBBZ0FTRUpJQVlpQnlnQ0FDSUdCRUFDUUNBR1FaQ0FnQUZ4RFFBZ0JrSHZBM0VpQVVVTkFDQURJQkFnQkNnQ2JDQUJhaTBBQUVFQ2RHb2lEQ2dDQUNJTEtBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTEJFQWdDeWdDQkNFS0lBd2dDMEVJUVF3Z0FTQURTeUlVRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUU1nQ0MwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUFvZ0NrVWdGQnNNQVFzZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1VVRVFDQUxLQUlFSVFvZ0RDQUxRUXhCQ0NBQklBTkxJaFFiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBU0FJTFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQVVFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QUtSU0FLSUJRYkRBRUxJQXNvQWdRTEJIOGdBeUFRSUFjb0FnUkJFWFpCQkhFZ0IwRUVheUlLS0FJQVFSTjJRUUZ4SUFaQkRuWkJFSEVnQmtFUWRrSEFBSEVnQmtHcUFYRnljbkp5SWhSQjBMa0JhaTBBQUVFQ2RHb2lEQ2dDQUNJTEtBSUFJZ0ZySVFNZ0ZFSFF1d0ZxTFFBQUlSTWdDU0FGSUJFQ2Z5QUJJQUpCRUhaTEJFQWdDeWdDQkNFVUlBd2dDMEVJUVF3Z0FTQURTeUlPRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUU1nQ0MwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUJRZ0ZFVWdEaHNNQVFzZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1VVRVFDQUxLQUlFSVJRZ0RDQUxRUXhCQ0NBQklBTkxJZzRiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBU0FJTFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQVVFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QVVSU0FVSUE0YkRBRUxJQXNvQWdRTElCTnpJZ0ViTmdJQUlBb2dDaWdDQUVFZ2NqWUNBQ0FISUFjb0FnUkJDSEkyQWdRZ0IwR01BbXNpQ3lBTEtBSUFRWUNBQ0hJMkFnQWdCMEdFQW1zaUN5QUxLQUlBUVlDQUFuSTJBZ0FnQjBHSUFtc2lDeUFMS0FJQUlBRkJIM1J5UVlDQUJISTJBZ0FnQmlBQlFSTjBja0VRY2dVZ0JndEJnSUNBQVhJaEJnc0NRQ0FHUVlDQmdBaHhEUUFnQmtINEhuRkZEUUFnQXlBUUlBUW9BbXdnQmtFRGRpSVVRZThEY1dvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhDaUFNSUF0QkNFRU1JQUVnQTBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QUtJQXBGSUJNYkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRUtJQXdnQzBFTVFRZ2dBU0FEU3lJVEcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQ2tVZ0NpQVRHd3dCQ3lBTEtBSUVDd1IvSUFNZ0VDQUhLQUlFUVJSMlFRUnhJQWRCQkdzaUNpZ0NBRUVXZGtFQmNTQUdRUTkyUVJCeElBWkJFM1pCd0FCeElCUkJxZ0Z4Y25KeWNpSVVRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURJQlJCMExzQmFpMEFBQ0VUSUFrZ0JTQVJBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhGQ0FNSUF0QkNFRU1JQUVnQTBzaURodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVVJQlJGSUE0YkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRVVJQXdnQzBFTVFRZ2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRkVVZ0ZDQU9Hd3dCQ3lBTEtBSUVDeUFUY3lJQkd6WUNnQUlnQ2lBS0tBSUFRWUFDY2pZQ0FDQUhJQWNvQWdSQndBQnlOZ0lFSUFZZ0FVRVdkSEpCZ0FGeUJTQUdDMEdBZ0lBSWNpRUdDd0pBSUFaQmdJaUF3QUJ4RFFBZ0JrSEE5d0Z4UlEwQUlBTWdFQ0FFS0FKc0lBWkJCbllpRkVIdkEzRnFMUUFBUVFKMGFpSU1LQUlBSWdzb0FnQWlBV3NoQXdKL0lBRWdBa0VRZGtzRVFDQUxLQUlFSVFvZ0RDQUxRUWhCRENBQklBTkxJaE1iYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBeUFJTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nQ2lBS1JTQVRHd3dCQ3lBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4UlFSQUlBc29BZ1FoQ2lBTUlBdEJERUVJSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRUJJQWd0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBcEZJQW9nRXhzTUFRc2dDeWdDQkFzRWZ5QURJQkFnQnlnQ0JFRVhka0VFY1NBSFFRUnJJZ29vQWdCQkdYWkJBWEVnQmtFU2RrRVFjU0FHUVJaMlFjQUFjU0FVUWFvQmNYSnljbklpRkVIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdzb0FnQWlBV3NoQXlBVVFkQzdBV290QUFBaEV5QUpJQVVnRVFKL0lBRWdBa0VRZGtzRVFDQUxLQUlFSVJRZ0RDQUxRUWhCRENBQklBTkxJZzRiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBeUFJTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRkNBVVJTQU9Hd3dCQ3lBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4UlFSQUlBc29BZ1FoRkNBTUlBdEJERUVJSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRUJJQWd0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElCUkZJQlFnRGhzTUFRc2dDeWdDQkFzZ0UzTWlBUnMyQW9BRUlBb2dDaWdDQUVHQUVISTJBZ0FnQnlBSEtBSUVRWUFFY2pZQ0JDQUdJQUZCR1hSeVFZQUljZ1VnQmd0QmdJQ0F3QUJ5SVFZTEFrQWdCa0dBd0lDQUJIRU5BQ0FHUVlDOEQzRkZEUUFnQXlBUUlBUW9BbXdnQmtFSmRpSVVRZThEY1dvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhDaUFNSUF0QkNFRU1JQUVnQTBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QUtJQXBGSUJNYkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRUtJQXdnQzBFTVFRZ2dBU0FEU3lJVEcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQ2tVZ0NpQVRHd3dCQ3lBTEtBSUVDd1IvSUFNZ0VDQUhLQUlFUVJwMlFRUnhJQWRCQkdzaUNpZ0NBRUVjZGtFQmNTQUdRUlYyUVJCeElBWkJHWFpCd0FCeElCUkJxZ0Z4Y25KeWNpSVVRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURJQlJCMExzQmFpMEFBQ0VUSUFrZ0JTQVJBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhGQ0FNSUF0QkNFRU1JQUVnQTBzaURodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVVJQlJGSUE0YkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRVVJQXdnQzBFTVFRZ2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRkVVZ0ZDQU9Hd3dCQ3lBTEtBSUVDeUFUY3lJQkd6WUNnQVlnQ2lBS0tBSUFRWUNBQVhJMkFnQWdCeUFIS0FJRVFZQWdjallDQkNBSElBY29Bb1FDUVFSeU5nS0VBaUFISUFjb0Fvd0NRUUZ5TmdLTUFpQUhJQWNvQW9nQ0lBRkJFblJ5UVFKeU5nS0lBaUFHSUFGQkhIUnlRWURBQUhJRklBWUxRWUNBZ0lBRWNpRUdDeUFISUFZMkFnQUxJQWRCQkdvaEJpQUpRUVJxSVFFZ0YwRUJhaUlYUWNBQVJ3MEFDeUFIUVF4cUlRWWdDVUdFQm1vaEFTQU5RVHhKSVZFZ0RVRUVhaUVOSUZFTkFBc01BZ3RCQVNBWmRDSUJRUUYySUFGeUlRMGdCQ2dDZUNJSklCQkJBblJxUVF4cUlRWWdCQ2dDZ0FFaEFTQUVLQUlJSVFnZ0JDZ0NCQ0VESUFRb0FnQWhBaUFFS0FKb0lRd2dCQ2dDZENFUkFrQWdGa0VJY1FSQUFrQWdBVUVFU1EwQUlCQUVRRUVBSUExcklSUWdCRUVjYWlFRklCQkJER3doRXlBUVFRTjBJUlVEUUVFQUlRc0RRQ0FHSWdrb0FnQWlCZ1JBQWtBZ0JrR1FnSUFCY1EwQUlBWkI3d054SWdGRkRRQWdBeUFGSUFRb0Ftd2dBV290QUFCQkFuUnFJZ3dvQWdBaUNpZ0NBQ0lCYXlFREFuOGdBU0FDUVJCMlRRUkFJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRUVRQ0FLS0FJRURBSUxJQW9vQWdRaERpQU1JQXBCREVFSUlBRWdBMHNpRWh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFvZ0NDMEFBU0VCSUFndEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFvMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSUN5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQTVGSUE0Z0Voc01BUXNnQ2lnQ0JDRU9JQXdnQ2tFSVFRd2dBU0FEU3lJU0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFNZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQU5CQ0hRZ0Ftb2hBZ3dCQ3lBRFFZOEJUUVJBSUFRZ0NqWUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElBNGdEa1VnRWhzTEJIOGdBeUFGSUFrb0FnUkJFWFpCQkhFZ0NVRUVheUlPS0FJQVFSTjJRUUZ4SUFaQkRuWkJFSEVnQmtFUWRrSEFBSEVnQmtHcUFYRnljbkp5SWhKQjBMa0JhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNZ0VrSFF1d0ZxTFFBQUlSZ2dFU0FVSUEwQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFU0lBd2dDa0VNUVFnZ0FTQURTeUliRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dFa1VnRWlBYkd3d0JDeUFLS0FJRUlSSWdEQ0FLUVFoQkRDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0VpQVNSU0FiR3dzZ0dITWlBUnMyQWdBZ0RpQU9LQUlBUVNCeU5nSUFJQWtnQ1NnQ0JFRUljallDQkNBR0lBRkJFM1J5UVJCeUJTQUdDMEdBZ0lBQmNpRUdDd0pBSUFaQmdJR0FDSEVOQUNBR1FmZ2VjVVVOQUNBRElBVWdCQ2dDYkNBR1FRTjJJaEpCN3dOeGFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VPSUF3Z0NrRU1RUWdnQVNBRFN5SVlHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0RrVWdEaUFZR3d3QkN5QUtLQUlFSVE0Z0RDQUtRUWhCRENBQklBTkxJaGdiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRGlBT1JTQVlHd3NFZnlBRElBVWdDU2dDQkVFVWRrRUVjU0FKUVFScklnNG9BZ0JCRm5aQkFYRWdCa0VQZGtFUWNTQUdRUk4yUWNBQWNTQVNRYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ29vQWdBaUFXc2hBeUFTUWRDN0FXb3RBQUFoR0NBUklCQkJBblJxSUJRZ0RRSi9JQUVnQWtFUWRrMEVRQ0FDSUFGQkVIUnJJUUlnQTBHQWdBSnhCRUFnQ2lnQ0JBd0NDeUFLS0FJRUlSSWdEQ0FLUVF4QkNDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQVNBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBS05nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFTUlNBU0lCc2JEQUVMSUFvb0FnUWhFaUFNSUFwQkNFRU1JQUVnQTBzaUd4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFRElBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBbzJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVNJQkpGSUJzYkN5QVljeUlCR3pZQ0FDQU9JQTRvQWdCQmdBSnlOZ0lBSUFrZ0NTZ0NCRUhBQUhJMkFnUWdCaUFCUVJaMGNrR0FBWElGSUFZTFFZQ0FnQWh5SVFZTEFrQWdCa0dBaUlEQUFIRU5BQ0FHUWNEM0FYRkZEUUFnQXlBRklBUW9BbXdnQmtFR2RpSVNRZThEY1dvdEFBQkJBblJxSWd3b0FnQWlDaWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJUUVJBSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkVFUUNBS0tBSUVEQUlMSUFvb0FnUWhEaUFNSUFwQkRFRUlJQUVnQTBzaUdCdHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFQklBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBbzJBaEFnQVVFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUE1RklBNGdHQnNNQVFzZ0NpZ0NCQ0VPSUF3Z0NrRUlRUXdnQVNBRFN5SVlHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRTWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWd3QkN5QURRWThCVFFSQUlBUWdDallDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQTRnRGtVZ0dCc0xCSDhnQXlBRklBa29BZ1JCRjNaQkJIRWdDVUVFYXlJT0tBSUFRUmwyUVFGeElBWkJFblpCRUhFZ0JrRVdka0hBQUhFZ0VrR3FBWEZ5Y25KeUloSkIwTGtCYWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTWdFa0hRdXdGcUxRQUFJUmdnRVNBVmFpQVVJQTBDZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VTSUF3Z0NrRU1RUWdnQVNBRFN5SWJHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0VrVWdFaUFiR3d3QkN5QUtLQUlFSVJJZ0RDQUtRUWhCRENBQklBTkxJaHNiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRWlBU1JTQWJHd3NnR0hNaUFSczJBZ0FnRGlBT0tBSUFRWUFRY2pZQ0FDQUpJQWtvQWdSQmdBUnlOZ0lFSUFZZ0FVRVpkSEpCZ0FoeUJTQUdDMEdBZ0lEQUFISWhCZ3NDUUNBR1FZREFnSUFFY1EwQUlBWkJnTHdQY1VVTkFDQURJQVVnQkNnQ2JDQUdRUWwySWhKQjd3TnhhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFT0lBd2dDa0VNUVFnZ0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dEa1VnRGlBWUd3d0JDeUFLS0FJRUlRNGdEQ0FLUVFoQkRDQUJJQU5MSWhnYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0RpQU9SU0FZR3dzRWZ5QURJQVVnQ1NnQ0JFRWFka0VFY1NBSlFRUnJJZzRvQWdCQkhIWkJBWEVnQmtFVmRrRVFjU0FHUVJsMlFjQUFjU0FTUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdvb0FnQWlBV3NoQXlBU1FkQzdBV290QUFBaEdDQVJJQk5xSUJRZ0RRSi9JQUVnQWtFUWRrMEVRQ0FDSUFGQkVIUnJJUUlnQTBHQWdBSnhCRUFnQ2lnQ0JBd0NDeUFLS0FJRUlSSWdEQ0FLUVF4QkNDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQVNBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBS05nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFTUlNBU0lCc2JEQUVMSUFvb0FnUWhFaUFNSUFwQkNFRU1JQUVnQTBzaUd4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFRElBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBbzJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVNJQkpGSUJzYkN5QVljeUlLR3pZQ0FDQU9JQTRvQWdCQmdJQUJjallDQUNBSklBa29BZ1JCZ0NCeU5nSUVJQVFvQW54QkFuUWdDV29pQVNBQktBSUVRUVJ5TmdJRUlBRWdBU2dDREVFQmNqWUNEQ0FCSUFFb0FnZ2dDa0VTZEhKQkFuSTJBZ2dnQmlBS1FSeDBja0dBd0FCeUJTQUdDMEdBZ0lDQUJISWhCZ3NnQ1NBR05nSUFDeUFKUVFScUlRWWdFVUVFYWlFUklBdEJBV29pQ3lBUVJ3MEFDeUFKUVF4cUlRWWdFU0FUYWlFUklBZEJCR29pQnlBRUtBS0FBU0lCUVh4eFNRMEFDd3dCQzBFRUlBRkJmSEVpQmlBR1FRUk5HMEVCYXlJR1FYeHhRUVJxSVFjZ0NTQUdRUUYwUVhoeGFrRVVhaUVHQ3lBRUlBZzJBZ2dnQkNBRE5nSUVJQVFnQWpZQ0FDQUVJQXcyQW1nZ0VFVU5BU0FCSUFkTkRRRURRQ0FCSUFkR0lWSkJBQ0VJSUFjaEFTQlNSUVJBQTBBZ0JDQUdJQkVnQ0NBUWJFRUNkR29nRFNBSUlBUW9BbnhCQW1wQkFSQlpJQWhCQVdvaUNDQUVLQUtBQVNJQklBZHJTUTBBQ3dzZ0JrRUVhaUVHSUJGQkJHb2hFU0FYUVFGcUloY2dFRWNOQUFzTUFRc0NRQ0FCUVFSSkRRQWdFQVJBUVFBZ0RXc2hGQ0FFUVJ4cUlRVWdFRUVNYkNFVElCQkJBM1FoRlFOQVFRQWhDd05BSUFZaUNTZ0NBQ0lHQkVBQ1FDQUdRWkNBZ0FGeERRQWdCa0h2QTNFaUFVVU5BQ0FESUFVZ0JDZ0NiQ0FCYWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTUNmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRU9JQXdnQ2tFTVFRZ2dBU0FEU3lJU0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRGtVZ0RpQVNHd3dCQ3lBS0tBSUVJUTRnRENBS1FRaEJEQ0FCSUFOTEloSWJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdEaUFPUlNBU0d3c0VmeUFESUFVZ0NTZ0NCRUVSZGtFRWNTQUpRUVJySWc0b0FnQkJFM1pCQVhFZ0JrRU9ka0VRY1NBR1FSQjJRY0FBY1NBR1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnb29BZ0FpQVdzaEF5QVNRZEM3QVdvdEFBQWhHQ0FSSUJRZ0RRSi9JQUVnQWtFUWRrMEVRQ0FDSUFGQkVIUnJJUUlnQTBHQWdBSnhCRUFnQ2lnQ0JBd0NDeUFLS0FJRUlSSWdEQ0FLUVF4QkNDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQVNBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBS05nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFTUlNBU0lCc2JEQUVMSUFvb0FnUWhFaUFNSUFwQkNFRU1JQUVnQTBzaUd4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFRElBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBbzJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVNJQkpGSUJzYkN5QVljeUlLR3pZQ0FDQU9JQTRvQWdCQklISTJBZ0FnQ1NBSktBSUVRUWh5TmdJRUlBbEJmaUFFS0FKOGEwRUNkR29pQVNBQktBSUVRWUNBQW5JMkFnUWdBU0FCS0FJQUlBcEJIM1J5UVlDQUJISTJBZ0FnQVVFRWF5SUJJQUVvQWdCQmdJQUljallDQUNBR0lBcEJFM1J5UVJCeUJTQUdDMEdBZ0lBQmNpRUdDd0pBSUFaQmdJR0FDSEVOQUNBR1FmZ2VjVVVOQUNBRElBVWdCQ2dDYkNBR1FRTjJJaEpCN3dOeGFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VPSUF3Z0NrRU1RUWdnQVNBRFN5SVlHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0RrVWdEaUFZR3d3QkN5QUtLQUlFSVE0Z0RDQUtRUWhCRENBQklBTkxJaGdiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRGlBT1JTQVlHd3NFZnlBRElBVWdDU2dDQkVFVWRrRUVjU0FKUVFScklnNG9BZ0JCRm5aQkFYRWdCa0VQZGtFUWNTQUdRUk4yUWNBQWNTQVNRYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ29vQWdBaUFXc2hBeUFTUWRDN0FXb3RBQUFoR0NBUklCQkJBblJxSUJRZ0RRSi9JQUVnQWtFUWRrMEVRQ0FDSUFGQkVIUnJJUUlnQTBHQWdBSnhCRUFnQ2lnQ0JBd0NDeUFLS0FJRUlSSWdEQ0FLUVF4QkNDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQVNBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBS05nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFTUlNBU0lCc2JEQUVMSUFvb0FnUWhFaUFNSUFwQkNFRU1JQUVnQTBzaUd4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFRElBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBbzJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVNJQkpGSUJzYkN5QVljeUlCR3pZQ0FDQU9JQTRvQWdCQmdBSnlOZ0lBSUFrZ0NTZ0NCRUhBQUhJMkFnUWdCaUFCUVJaMGNrR0FBWElGSUFZTFFZQ0FnQWh5SVFZTEFrQWdCa0dBaUlEQUFIRU5BQ0FHUWNEM0FYRkZEUUFnQXlBRklBUW9BbXdnQmtFR2RpSVNRZThEY1dvdEFBQkJBblJxSWd3b0FnQWlDaWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJUUVJBSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkVFUUNBS0tBSUVEQUlMSUFvb0FnUWhEaUFNSUFwQkRFRUlJQUVnQTBzaUdCdHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFQklBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBbzJBaEFnQVVFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUE1RklBNGdHQnNNQVFzZ0NpZ0NCQ0VPSUF3Z0NrRUlRUXdnQVNBRFN5SVlHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRTWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWd3QkN5QURRWThCVFFSQUlBUWdDallDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQTRnRGtVZ0dCc0xCSDhnQXlBRklBa29BZ1JCRjNaQkJIRWdDVUVFYXlJT0tBSUFRUmwyUVFGeElBWkJFblpCRUhFZ0JrRVdka0hBQUhFZ0VrR3FBWEZ5Y25KeUloSkIwTGtCYWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTWdFa0hRdXdGcUxRQUFJUmdnRVNBVmFpQVVJQTBDZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VTSUF3Z0NrRU1RUWdnQVNBRFN5SWJHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0VrVWdFaUFiR3d3QkN5QUtLQUlFSVJJZ0RDQUtRUWhCRENBQklBTkxJaHNiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRWlBU1JTQWJHd3NnR0hNaUFSczJBZ0FnRGlBT0tBSUFRWUFRY2pZQ0FDQUpJQWtvQWdSQmdBUnlOZ0lFSUFZZ0FVRVpkSEpCZ0FoeUJTQUdDMEdBZ0lEQUFISWhCZ3NDUUNBR1FZREFnSUFFY1EwQUlBWkJnTHdQY1VVTkFDQURJQVVnQkNnQ2JDQUdRUWwySWhKQjd3TnhhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFT0lBd2dDa0VNUVFnZ0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dEa1VnRGlBWUd3d0JDeUFLS0FJRUlRNGdEQ0FLUVFoQkRDQUJJQU5MSWhnYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0RpQU9SU0FZR3dzRWZ5QURJQVVnQ1NnQ0JFRWFka0VFY1NBSlFRUnJJZzRvQWdCQkhIWkJBWEVnQmtFVmRrRVFjU0FHUVJsMlFjQUFjU0FTUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdvb0FnQWlBV3NoQXlBU1FkQzdBV290QUFBaEdDQVJJQk5xSUJRZ0RRSi9JQUVnQWtFUWRrMEVRQ0FDSUFGQkVIUnJJUUlnQTBHQWdBSnhCRUFnQ2lnQ0JBd0NDeUFLS0FJRUlSSWdEQ0FLUVF4QkNDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQVNBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBS05nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFTUlNBU0lCc2JEQUVMSUFvb0FnUWhFaUFNSUFwQkNFRU1JQUVnQTBzaUd4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFRElBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBbzJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVNJQkpGSUJzYkN5QVljeUlLR3pZQ0FDQU9JQTRvQWdCQmdJQUJjallDQUNBSklBa29BZ1JCZ0NCeU5nSUVJQVFvQW54QkFuUWdDV29pQVNBQktBSUVRUVJ5TmdJRUlBRWdBU2dDREVFQmNqWUNEQ0FCSUFFb0FnZ2dDa0VTZEhKQkFuSTJBZ2dnQmlBS1FSeDBja0dBd0FCeUJTQUdDMEdBZ0lDQUJISWhCZ3NnQ1NBR05nSUFDeUFKUVFScUlRWWdFVUVFYWlFUklBdEJBV29pQ3lBUVJ3MEFDeUFKUVF4cUlRWWdFU0FUYWlFUklBZEJCR29pQnlBRUtBS0FBU0lCUVh4eFNRMEFDd3dCQzBFRUlBRkJmSEVpQmlBR1FRUk5HMEVCYXlJR1FYeHhRUVJxSVFjZ0NTQUdRUUYwUVhoeGFrRVVhaUVHQ3lBRUlBZzJBZ2dnQkNBRE5nSUVJQVFnQWpZQ0FDQUVJQXcyQW1nZ0VFVU5BQ0FCSUFkTkRRQURRQ0FCSUFkR0lWTkJBQ0VJSUFjaEFTQlRSUVJBQTBBZ0JDQUdJQkVnQ0NBUWJFRUNkR29nRFNBSUlBUW9BbnhCQW1wQkFCQlpJQWhCQVdvaUNDQUVLQUtBQVNJQklBZHJTUTBBQ3dzZ0JrRUVhaUVHSUJGQkJHb2hFU0FYUVFGcUloY2dFRWNOQUFzTERBSUxBMEJCQUNFWEEwQWdBU0VKSUFZaUJ5Z0NBQ0lHQkVBQ1FDQUdRWkNBZ0FGeERRQWdCa0h2QTNFaUFVVU5BQ0FESUJBZ0JDZ0NiQ0FCYWkwQUFFRUNkR29pRENnQ0FDSUxLQUlBSWdGcklRTUNmeUFCSUFKQkVIWkxCRUFnQ3lnQ0JDRUtJQXdnQzBFSVFRd2dBU0FEU3lJVUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFNZ0NDMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQURRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElBb2dDa1VnRkJzTUFRc2dBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NVVUVRQ0FMS0FJRUlRb2dEQ0FMUVF4QkNDQUJJQU5MSWhRYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQVNBSUxRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFLUlNBS0lCUWJEQUVMSUFzb0FnUUxCSDhnQXlBUUlBY29BZ1JCRVhaQkJIRWdCMEVFYXlJS0tBSUFRUk4yUVFGeElBWkJEblpCRUhFZ0JrRVFka0hBQUhFZ0JrR3FBWEZ5Y25KeUloUkIwTGtCYWkwQUFFRUNkR29pRENnQ0FDSUxLQUlBSWdGcklRTWdGRUhRdXdGcUxRQUFJUk1nQ1NBRklCRUNmeUFCSUFKQkVIWkxCRUFnQ3lnQ0JDRVVJQXdnQzBFSVFRd2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFNZ0NDMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQURRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElCUWdGRVVnRGhzTUFRc2dBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NVVUVRQ0FMS0FJRUlSUWdEQ0FMUVF4QkNDQUJJQU5MSWc0YmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQVNBSUxRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFVUlNBVUlBNGJEQUVMSUFzb0FnUUxJQk56SWdFYk5nSUFJQW9nQ2lnQ0FFRWdjallDQUNBSElBY29BZ1JCQ0hJMkFnUWdCaUFCUVJOMGNrRVFjZ1VnQmd0QmdJQ0FBWEloQmdzQ1FDQUdRWUNCZ0FoeERRQWdCa0g0SG5GRkRRQWdBeUFRSUFRb0Ftd2dCa0VEZGlJVVFlOERjV290QUFCQkFuUnFJZ3dvQWdBaUN5Z0NBQ0lCYXlFREFuOGdBU0FDUVJCMlN3UkFJQXNvQWdRaENpQU1JQXRCQ0VFTUlBRWdBMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VESUFndEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBS0lBcEZJQk1iREFFTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkJFQWdDeWdDQkNFS0lBd2dDMEVNUVFnZ0FTQURTeUlURzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUUVnQ0MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dDa1VnQ2lBVEd3d0JDeUFMS0FJRUN3Ui9JQU1nRUNBSEtBSUVRUlIyUVFSeElBZEJCR3NpQ2lnQ0FFRVdka0VCY1NBR1FROTJRUkJ4SUFaQkUzWkJ3QUJ4SUJSQnFnRnhjbkp5Y2lJVVFkQzVBV290QUFCQkFuUnFJZ3dvQWdBaUN5Z0NBQ0lCYXlFRElCUkIwTHNCYWkwQUFDRVRJQWtnQlNBUkFuOGdBU0FDUVJCMlN3UkFJQXNvQWdRaEZDQU1JQXRCQ0VFTUlBRWdBMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VESUFndEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBVUlCUkZJQTRiREFFTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkJFQWdDeWdDQkNFVUlBd2dDMEVNUVFnZ0FTQURTeUlPRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUUVnQ0MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dGRVVnRkNBT0d3d0JDeUFMS0FJRUN5QVRjeUlCR3pZQ2dBSWdDaUFLS0FJQVFZQUNjallDQUNBSElBY29BZ1JCd0FCeU5nSUVJQVlnQVVFV2RISkJnQUZ5QlNBR0MwR0FnSUFJY2lFR0N3SkFJQVpCZ0lpQXdBQnhEUUFnQmtIQTl3RnhSUTBBSUFNZ0VDQUVLQUpzSUFaQkJuWWlGRUh2QTNGcUxRQUFRUUowYWlJTUtBSUFJZ3NvQWdBaUFXc2hBd0ovSUFFZ0FrRVFka3NFUUNBTEtBSUVJUW9nRENBTFFRaEJEQ0FCSUFOTEloTWJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEF5QUlMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQU5CQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdDaUFLUlNBVEd3d0JDeUFDSUFGQkVIUnJJUUlnQTBHQWdBSnhSUVJBSUFzb0FnUWhDaUFNSUF0QkRFRUlJQUVnQTBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFQklBZ3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBVUVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFwRklBb2dFeHNNQVFzZ0N5Z0NCQXNFZnlBRElCQWdCeWdDQkVFWGRrRUVjU0FIUVFScklnb29BZ0JCR1haQkFYRWdCa0VTZGtFUWNTQUdRUloyUWNBQWNTQVVRYW9CY1hKeWNuSWlGRUhRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ3NvQWdBaUFXc2hBeUFVUWRDN0FXb3RBQUFoRXlBSklBVWdFUUovSUFFZ0FrRVFka3NFUUNBTEtBSUVJUlFnRENBTFFRaEJEQ0FCSUFOTElnNGJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEF5QUlMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQU5CQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdGQ0FVUlNBT0d3d0JDeUFDSUFGQkVIUnJJUUlnQTBHQWdBSnhSUVJBSUFzb0FnUWhGQ0FNSUF0QkRFRUlJQUVnQTBzaURodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFQklBZ3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBVUVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUJSRklCUWdEaHNNQVFzZ0N5Z0NCQXNnRTNNaUFSczJBb0FFSUFvZ0NpZ0NBRUdBRUhJMkFnQWdCeUFIS0FJRVFZQUVjallDQkNBR0lBRkJHWFJ5UVlBSWNnVWdCZ3RCZ0lDQXdBQnlJUVlMQWtBZ0JrR0F3SUNBQkhFTkFDQUdRWUM4RDNGRkRRQWdBeUFRSUFRb0Ftd2dCa0VKZGlJVVFlOERjV290QUFCQkFuUnFJZ3dvQWdBaUN5Z0NBQ0lCYXlFREFuOGdBU0FDUVJCMlN3UkFJQXNvQWdRaENpQU1JQXRCQ0VFTUlBRWdBMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VESUFndEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBS0lBcEZJQk1iREFFTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkJFQWdDeWdDQkNFS0lBd2dDMEVNUVFnZ0FTQURTeUlURzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUUVnQ0MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dDa1VnQ2lBVEd3d0JDeUFMS0FJRUN3Ui9JQU1nRUNBSEtBSUVRUnAyUVFSeElBZEJCR3NpQ2lnQ0FFRWNka0VCY1NBR1FSVjJRUkJ4SUFaQkdYWkJ3QUJ4SUJSQnFnRnhjbkp5Y2lJVVFkQzVBV290QUFCQkFuUnFJZ3dvQWdBaUN5Z0NBQ0lCYXlFRElCUkIwTHNCYWkwQUFDRVRJQWtnQlNBUkFuOGdBU0FDUVJCMlN3UkFJQXNvQWdRaEZDQU1JQXRCQ0VFTUlBRWdBMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VESUFndEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBVUlCUkZJQTRiREFFTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkJFQWdDeWdDQkNFVUlBd2dDMEVNUVFnZ0FTQURTeUlPRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUUVnQ0MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dGRVVnRkNBT0d3d0JDeUFMS0FJRUN5QVRjeUlCR3pZQ2dBWWdDaUFLS0FJQVFZQ0FBWEkyQWdBZ0J5QUhLQUlFUVlBZ2NqWUNCQ0FISUFjb0FvUUNRUVJ5TmdLRUFpQUhJQWNvQW93Q1FRRnlOZ0tNQWlBSElBY29Bb2dDSUFGQkVuUnlRUUp5TmdLSUFpQUdJQUZCSEhSeVFZREFBSElGSUFZTFFZQ0FnSUFFY2lFR0N5QUhJQVkyQWdBTElBZEJCR29oQmlBSlFRUnFJUUVnRjBFQmFpSVhRY0FBUncwQUN5QUhRUXhxSVFZZ0NVR0VCbW9oQVNBTlFUeEpJVlFnRFVFRWFpRU5JRlFOQUFzTElBUWdDRFlDQ0NBRUlBTTJBZ1FnQkNBQ05nSUFJQVFnRERZQ2FBc01BZ3NnSWdSQVFRRWdHWFJCQVhZaENTQUVLQUo4SWhGQkFuUWlEQ0FFS0FKNGFrRU1haUVCSUFRb0FuUWhCa0VBSVEwZ0JDZ0NnQUVpQTBFRVR3UkFJQkZGRFFRZ0VVRURiQ0VGSUJGQkFYUWhDMEVBSUFscklRSURRQ0FMUVFKMElRcEJBQ0VEQTBBQ1FDQUJJZ2NvQWdBaUFVVU5BQ0FCUVpDQWdBRnhRUkJHQkVBZ0JDZ0NBQ0VCQWtBZ0JDZ0NDQ0lRRFFBZ0FVSC9BVVloRUNBRUtBSVFJZ2d0QUFBaEFRSkFJQkJGQkVBZ0JDQUJOZ0lBSUFRZ0NFRUJhallDRUF3QkN5QUJRWThCVFFSQUlBUWdBVFlDQUNBRUlBaEJBV28yQWhCQkJ5RVFEQUlMUWY4QklRRWdCRUgvQVRZQ0FBdEJDQ0VRQ3lBRUlCQkJBV3NpQ0RZQ0NDQUdJQUlnQ1NBQklBaDJRUUZ4SUFZb0FnQWlBVUVmZGtZYklBRnFOZ0lBSUFjZ0J5Z0NBRUdBZ01BQWNpSUJOZ0lBQ3lBQlFZQ0JnQWh4UVlBQlJnUkFJQVFvQWdBaEFRSkFJQVFvQWdnaUVBMEFJQUZCL3dGR0lSQWdCQ2dDRUNJSUxRQUFJUUVDUUNBUVJRUkFJQVFnQVRZQ0FDQUVJQWhCQVdvMkFoQU1BUXNnQVVHUEFVMEVRQ0FFSUFFMkFnQWdCQ0FJUVFGcU5nSVFRUWNoRUF3Q0MwSC9BU0VCSUFSQi93RTJBZ0FMUVFnaEVBc2dCQ0FRUVFGcklnZzJBZ2dnQmlBTWFpSVFJQUlnQ1NBQklBaDJRUUZ4SUJBb0FnQWlBVUVmZGtZYklBRnFOZ0lBSUFjZ0J5Z0NBRUdBZ0lBRWNpSUJOZ0lBQ3lBQlFZQ0lnTUFBY1VHQUNFWUVRQ0FFS0FJQUlRRUNRQ0FFS0FJSUloQU5BQ0FCUWY4QlJpRVFJQVFvQWhBaUNDMEFBQ0VCQWtBZ0VFVUVRQ0FFSUFFMkFnQWdCQ0FJUVFGcU5nSVFEQUVMSUFGQmp3Rk5CRUFnQkNBQk5nSUFJQVFnQ0VFQmFqWUNFRUVISVJBTUFndEIvd0VoQVNBRVFmOEJOZ0lBQzBFSUlSQUxJQVFnRUVFQmF5SUlOZ0lJSUFZZ0Ntb2lFQ0FDSUFrZ0FTQUlka0VCY1NBUUtBSUFJZ0ZCSDNaR0d5QUJhallDQUNBSElBY29BZ0JCZ0lDQUlISWlBVFlDQUFzZ0FVR0F3SUNBQkhGQmdNQUFSdzBBSUFZZ0JVRUNkR29oRUNBRUtBSUFJUUVDUUNBRUtBSUlJZ2dOQUNBQlFmOEJSaUVVSUFRb0FoQWlDQzBBQUNFQkFrQWdGRVVFUUNBRUlBRTJBZ0FnQkNBSVFRRnFOZ0lRREFFTElBRkJqd0ZOQkVBZ0JDQUJOZ0lBSUFRZ0NFRUJhallDRUVFSElRZ01BZ3RCL3dFaEFTQUVRZjhCTmdJQUMwRUlJUWdMSUFRZ0NFRUJheUlJTmdJSUlCQWdBaUFKSUFFZ0NIWkJBWEVnRUNnQ0FDSUJRUjkyUmhzZ0FXbzJBZ0FnQnlBSEtBSUFRWUNBZ0lBQ2NqWUNBQXNnQmtFRWFpRUdJQWRCQkdvaEFTQURRUUZxSWdNZ0VVY05BQXNnQjBFTWFpRUJJQVlnQlVFQ2RHb2hCaUFOUVFScUlnMGdCQ2dDZ0FFaUEwRjhjVWtOQUFzTElBTWdEVTBOQWlBUlJRMENRUUFoRTBFQUlBbHJJUVVnQXlFSEEwQUNRQ0FISUExR0JFQWdEU0VIREFFTElBRW9BZ0FoRUVFQUlRSURRRUdRZ0lBQklBSkJBMndpQjNRZ0VIRkJFQ0FIZEVZRVFDQUdJQUlnRVd4QkFuUnFJUkFnQkNnQ0FDRURBa0FnQkNnQ0NDSUlEUUFnQTBIL0FVY2hEQ0FFS0FJUUlnZ3RBQUFoQXdKQUlBeEZCRUFnQTBHUUFVOEVRRUgvQVNFRElBUkIvd0UyQWdBTUFnc2dCQ0FETmdJQUlBUWdDRUVCYWpZQ0VFRUhJUWdNQWdzZ0JDQUROZ0lBSUFRZ0NFRUJhallDRUF0QkNDRUlDeUFFSUFoQkFXc2lDRFlDQ0NBUUlBVWdDU0FESUFoMlFRRnhJQkFvQWdBaUEwRWZka1liSUFOcU5nSUFJQUVnQVNnQ0FFR0FnTUFBSUFkMGNpSVFOZ0lBSUFRb0FvQUJJUU1MSUFNaEJ5QUNRUUZxSWdJZ0F5QU5hMGtOQUFzTElBWkJCR29oQmlBQlFRUnFJUUVnRTBFQmFpSVRJQkZIRFFBTERBSUxJQVFvQW5naENDQUVLQUowSVFjZ0JDZ0NnQUVoQXdKQUlBUW9BbndpREVIQUFFY05BQ0FEUWNBQVJ3MEFJQWhCakFKcUlRTkJBQ0VUUVFCQkFTQVpkRUVCZGlJRmF5RU1JQVFvQWdnaEFpQUVLQUlFSVFZZ0JDZ0NBQ0VCSUFRb0FtZ2hEUU5BUVFBaENBTkFJQWNoQ1NBREloQW9BZ0FpQndSQUlBTWhWU0FIUVpDQWdBRnhRUkJHQkVBZ0JpQVBRUkJCRDBFT0lBZEI3d054R3lBSFFZQ0F3QUJ4RzBFQ2RHb2lEU2dDQUNJUktBSUFJZ05ySVFZQ2Z5QURJQUZCRUhaTEJFQWdFU2dDQkNFTElBMGdFVUVJUVF3Z0F5QUdTeUlLRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnSkJBV29oRVNBQ0xRQUJJUVlnQWkwQUFFSC9BVVlFUUNBR1FaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlNQWdzZ0JDQVJOZ0lRSUFaQkNYUWdBV29oQVVFSElRSU1BUXNnQkNBUk5nSVFRUWdoQWlBR1FRaDBJQUZxSVFFTElBSkJBV3NoQWlBQlFRRjBJUUVnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVHSUFzZ0MwVWdDaHNNQVFzZ0FTQURRUkIwYXlFQklBWkJnSUFDY1VVRVFDQVJLQUlFSVFzZ0RTQVJRUXhCQ0NBRElBWkxJZ29iYWlnQ0FEWUNBQU5BQWtBZ0FnMEFJQVFvQWhBaUFrRUJhaUVSSUFJdEFBRWhBeUFDTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBRkJnUDREYWlFQlFRZ2hBZ3dDQ3lBRUlCRTJBaEFnQTBFSmRDQUJhaUVCUVFjaEFnd0JDeUFFSUJFMkFoQkJDQ0VDSUFOQkNIUWdBV29oQVFzZ0FrRUJheUVDSUFGQkFYUWhBU0FHUVFGMElnWkJnSUFDU1EwQUN5QUxSU0FMSUFvYkRBRUxJQkVvQWdRTElRTWdDU0FNSUFVZ0F5QUpLQUlBSWhGQkgzWkdHeUFSYWpZQ0FDQUhRWUNBd0FCeUlRY0xJQWRCZ0lHQUNIRkJnQUZHQkVBZ0JpQVBRUkJCRDBFT0lBZEIrQjV4R3lBSFFZQ0FnQVJ4RzBFQ2RHb2lEU2dDQUNJUktBSUFJZ05ySVFZQ2Z5QURJQUZCRUhaTEJFQWdFU2dDQkNFTElBMGdFVUVJUVF3Z0F5QUdTeUlLRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnSkJBV29oRVNBQ0xRQUJJUVlnQWkwQUFFSC9BVVlFUUNBR1FaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlNQWdzZ0JDQVJOZ0lRSUFaQkNYUWdBV29oQVVFSElRSU1BUXNnQkNBUk5nSVFRUWdoQWlBR1FRaDBJQUZxSVFFTElBSkJBV3NoQWlBQlFRRjBJUUVnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVHSUFzZ0MwVWdDaHNNQVFzZ0FTQURRUkIwYXlFQklBWkJnSUFDY1VVRVFDQVJLQUlFSVFzZ0RTQVJRUXhCQ0NBRElBWkxJZ29iYWlnQ0FEWUNBQU5BQWtBZ0FnMEFJQVFvQWhBaUFrRUJhaUVSSUFJdEFBRWhBeUFDTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBRkJnUDREYWlFQlFRZ2hBZ3dDQ3lBRUlCRTJBaEFnQTBFSmRDQUJhaUVCUVFjaEFnd0JDeUFFSUJFMkFoQkJDQ0VDSUFOQkNIUWdBV29oQVFzZ0FrRUJheUVDSUFGQkFYUWhBU0FHUVFGMElnWkJnSUFDU1EwQUN5QUxSU0FMSUFvYkRBRUxJQkVvQWdRTElRTWdDU0FNSUFVZ0F5QUpLQUtBQWlJUlFSOTJSaHNnRVdvMkFvQUNJQWRCZ0lDQUJISWhCd3NnQjBHQWlJREFBSEZCZ0FoR0JFQWdCaUFQUVJCQkQwRU9JQWRCd1BjQmNSc2dCMEdBZ0lBZ2NSdEJBblJxSWcwb0FnQWlFU2dDQUNJRGF5RUdBbjhnQXlBQlFSQjJTd1JBSUJFb0FnUWhDeUFOSUJGQkNFRU1JQU1nQmtzaUNodHFLQUlBTmdJQUEwQUNRQ0FDRFFBZ0JDZ0NFQ0lDUVFGcUlSRWdBaTBBQVNFR0lBSXRBQUJCL3dGR0JFQWdCa0dRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQVVHQS9nTnFJUUZCQ0NFQ0RBSUxJQVFnRVRZQ0VDQUdRUWwwSUFGcUlRRkJCeUVDREFFTElBUWdFVFlDRUVFSUlRSWdCa0VJZENBQmFpRUJDeUFDUVFGcklRSWdBVUVCZENFQklBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEJpQUxJQXRGSUFvYkRBRUxJQUVnQTBFUWRHc2hBU0FHUVlDQUFuRkZCRUFnRVNnQ0JDRUxJQTBnRVVFTVFRZ2dBeUFHU3lJS0cyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ0pCQVdvaEVTQUNMUUFCSVFNZ0FpMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTUFnc2dCQ0FSTmdJUUlBTkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQVJOZ0lRUVFnaEFpQURRUWgwSUFGcUlRRUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0JrRUJkQ0lHUVlDQUFra05BQXNnQzBVZ0N5QUtHd3dCQ3lBUktBSUVDeUVESUFrZ0RDQUZJQU1nQ1NnQ2dBUWlFVUVmZGtZYklCRnFOZ0tBQkNBSFFZQ0FnQ0J5SVFjTElGVWdCMEdBd0lDQUJIRkJnTUFBUmdSL0lBWWdEMEVRUVE5QkRpQUhRWUM4RDNFYklBZEJnSUNBZ0FKeEcwRUNkR29pRFNnQ0FDSVJLQUlBSWdOcklRWUNmeUFESUFGQkVIWkxCRUFnRVNnQ0JDRUxJQTBnRVVFSVFRd2dBeUFHU3lJS0cyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ0pCQVdvaEVTQUNMUUFCSVFZZ0FpMEFBRUgvQVVZRVFDQUdRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTUFnc2dCQ0FSTmdJUUlBWkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQVJOZ0lRUVFnaEFpQUdRUWgwSUFGcUlRRUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFR0lBc2dDMFVnQ2hzTUFRc2dBU0FEUVJCMGF5RUJJQVpCZ0lBQ2NVVUVRQ0FSS0FJRUlRc2dEU0FSUVF4QkNDQURJQVpMSWdvYmFpZ0NBRFlDQUFOQUFrQWdBZzBBSUFRb0FoQWlBa0VCYWlFUklBSXRBQUVoQXlBQ0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUZCZ1A0RGFpRUJRUWdoQWd3Q0N5QUVJQkUyQWhBZ0EwRUpkQ0FCYWlFQlFRY2hBZ3dCQ3lBRUlCRTJBaEJCQ0NFQ0lBTkJDSFFnQVdvaEFRc2dBa0VCYXlFQ0lBRkJBWFFoQVNBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFMUlNBTElBb2JEQUVMSUJFb0FnUUxJUU1nQ1NBTUlBVWdBeUFKS0FLQUJpSVJRUjkyUmhzZ0VXbzJBb0FHSUFkQmdJQ0FnQUp5QlNBSEN6WUNBQXNnRUVFRWFpRURJQWxCQkdvaEJ5QUlRUUZxSWdoQndBQkhEUUFMSUJCQkRHb2hBeUFKUVlRR2FpRUhJQk5CUEVraFZpQVRRUVJxSVJNZ1ZnMEFDeUFFSUFJMkFnZ2dCQ0FHTmdJRUlBUWdBVFlDQUNBRUlBMDJBbWdNQWd0QkFTQVpkRUVCZGlFTElBZ2dERUVDZENJT2FrRU1haUVKSUFRb0FnZ2hBaUFFS0FJRUlRWWdCQ2dDQUNFQklBUW9BbWdoRFVFQUlSRUNRQ0FEUVFSSkRRQWdEQVJBSUF4QkEyd2hGQ0FNUVFGMElSZEJBQ0FMYXlFS0EwQWdGMEVDZENFU1FRQWhDQU5BSUFraUJTZ0NBQ0lRQkVBZ0VFR1FnSUFCY1VFUVJnUkFJQVlnRDBFUVFROUJEaUFRUWU4RGNSc2dFRUdBZ01BQWNSdEJBblJxSWcwb0FnQWlDU2dDQUNJRGF5RUdBbjhnQXlBQlFSQjJUUVJBSUFFZ0EwRVFkR3NoQVNBR1FZQ0FBbkVFUUNBSktBSUVEQUlMSUFrb0FnUWhFeUFOSUFsQkRFRUlJQU1nQmtzaUZSdHFLQUlBTmdJQUEwQUNRQ0FDRFFBZ0JDZ0NFQ0lKUVFGcUlRSWdDUzBBQVNFRElBa3RBQUJCL3dGSEJFQWdCQ0FDTmdJUVFRZ2hBaUFEUVFoMElBRnFJUUVNQVFzZ0EwR1BBVTBFUUNBRUlBSTJBaEFnQTBFSmRDQUJhaUVCUVFjaEFnd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FVR0EvZ05xSVFGQkNDRUNDeUFDUVFGcklRSWdBVUVCZENFQklBWkJBWFFpQmtHQWdBSkpEUUFMSUJORklCTWdGUnNNQVFzZ0NTZ0NCQ0VUSUEwZ0NVRUlRUXdnQXlBR1N5SVZHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdsQkFXb2hBaUFKTFFBQklRWWdDUzBBQUVIL0FVY0VRQ0FFSUFJMkFoQkJDQ0VDSUFaQkNIUWdBV29oQVF3QkN5QUdRWThCVFFSQUlBUWdBallDRUNBR1FRbDBJQUZxSVFGQkJ5RUNEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlMSUFKQkFXc2hBaUFCUVFGMElRRWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUdJQk1nRTBVZ0ZSc0xJUU1nQnlBS0lBc2dBeUFIS0FJQUlnbEJIM1pHR3lBSmFqWUNBQ0FRUVlDQXdBQnlJUkFMSUJCQmdJR0FDSEZCZ0FGR0JFQWdCaUFQUVJCQkQwRU9JQkJCK0I1eEd5QVFRWUNBZ0FSeEcwRUNkR29pRFNnQ0FDSUpLQUlBSWdOcklRWUNmeUFESUFGQkVIWk5CRUFnQVNBRFFSQjBheUVCSUFaQmdJQUNjUVJBSUFrb0FnUU1BZ3NnQ1NnQ0JDRVRJQTBnQ1VFTVFRZ2dBeUFHU3lJVkcyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ2xCQVdvaEFpQUpMUUFCSVFNZ0NTMEFBRUgvQVVjRVFDQUVJQUkyQWhCQkNDRUNJQU5CQ0hRZ0FXb2hBUXdCQ3lBRFFZOEJUUVJBSUFRZ0FqWUNFQ0FEUVFsMElBRnFJUUZCQnlFQ0RBRUxJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0JrRUJkQ0lHUVlDQUFra05BQXNnRTBVZ0V5QVZHd3dCQ3lBSktBSUVJUk1nRFNBSlFRaEJEQ0FESUFaTEloVWJhaWdDQURZQ0FBTkFBa0FnQWcwQUlBUW9BaEFpQ1VFQmFpRUNJQWt0QUFFaEJpQUpMUUFBUWY4QlJ3UkFJQVFnQWpZQ0VFRUlJUUlnQmtFSWRDQUJhaUVCREFFTElBWkJqd0ZOQkVBZ0JDQUNOZ0lRSUFaQkNYUWdBV29oQVVFSElRSU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBRkJnUDREYWlFQlFRZ2hBZ3NnQWtFQmF5RUNJQUZCQVhRaEFTQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRWWdFeUFUUlNBVkd3c2hBeUFISUE1cUlna2dDaUFMSUFNZ0NTZ0NBQ0lKUVI5MlJoc2dDV28yQWdBZ0VFR0FnSUFFY2lFUUN5QVFRWUNJZ01BQWNVR0FDRVlFUUNBR0lBOUJFRUVQUVE0Z0VFSEE5d0Z4R3lBUVFZQ0FnQ0J4RzBFQ2RHb2lEU2dDQUNJSktBSUFJZ05ySVFZQ2Z5QURJQUZCRUhaTkJFQWdBU0FEUVJCMGF5RUJJQVpCZ0lBQ2NRUkFJQWtvQWdRTUFnc2dDU2dDQkNFVElBMGdDVUVNUVFnZ0F5QUdTeUlWRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnbEJBV29oQWlBSkxRQUJJUU1nQ1MwQUFFSC9BVWNFUUNBRUlBSTJBaEJCQ0NFQ0lBTkJDSFFnQVdvaEFRd0JDeUFEUVk4QlRRUkFJQVFnQWpZQ0VDQURRUWwwSUFGcUlRRkJCeUVDREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTElBSkJBV3NoQWlBQlFRRjBJUUVnQmtFQmRDSUdRWUNBQWtrTkFBc2dFMFVnRXlBVkd3d0JDeUFKS0FJRUlSTWdEU0FKUVFoQkRDQURJQVpMSWhVYmFpZ0NBRFlDQUFOQUFrQWdBZzBBSUFRb0FoQWlDVUVCYWlFQ0lBa3RBQUVoQmlBSkxRQUFRZjhCUndSQUlBUWdBallDRUVFSUlRSWdCa0VJZENBQmFpRUJEQUVMSUFaQmp3Rk5CRUFnQkNBQ05nSVFJQVpCQ1hRZ0FXb2hBVUVISVFJTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFGQmdQNERhaUVCUVFnaEFnc2dBa0VCYXlFQ0lBRkJBWFFoQVNBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFZZ0V5QVRSU0FWR3dzaEF5QUhJQkpxSWdrZ0NpQUxJQU1nQ1NnQ0FDSUpRUjkyUmhzZ0NXbzJBZ0FnRUVHQWdJQWdjaUVRQ3lBRklCQkJnTUNBZ0FSeFFZREFBRVlFZnlBR0lBOUJFRUVQUVE0Z0VFR0F2QTl4R3lBUVFZQ0FnSUFDY1J0QkFuUnFJZzBvQWdBaUNTZ0NBQ0lEYXlFR0FuOGdBeUFCUVJCMlRRUkFJQUVnQTBFUWRHc2hBU0FHUVlDQUFuRUVRQ0FKS0FJRURBSUxJQWtvQWdRaEV5QU5JQWxCREVFSUlBTWdCa3NpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUNEUUFnQkNnQ0VDSUpRUUZxSVFJZ0NTMEFBU0VESUFrdEFBQkIvd0ZIQkVBZ0JDQUNOZ0lRUVFnaEFpQURRUWgwSUFGcUlRRU1BUXNnQTBHUEFVMEVRQ0FFSUFJMkFoQWdBMEVKZENBQmFpRUJRUWNoQWd3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQVVHQS9nTnFJUUZCQ0NFQ0N5QUNRUUZySVFJZ0FVRUJkQ0VCSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQk5GSUJNZ0ZSc01BUXNnQ1NnQ0JDRVRJQTBnQ1VFSVFRd2dBeUFHU3lJVkcyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ2xCQVdvaEFpQUpMUUFCSVFZZ0NTMEFBRUgvQVVjRVFDQUVJQUkyQWhCQkNDRUNJQVpCQ0hRZ0FXb2hBUXdCQ3lBR1FZOEJUUVJBSUFRZ0FqWUNFQ0FHUVFsMElBRnFJUUZCQnlFQ0RBRUxJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFR0lCTWdFMFVnRlJzTElRTWdCeUFVUVFKMGFpSUpJQW9nQ3lBRElBa29BZ0FpQ1VFZmRrWWJJQWxxTmdJQUlCQkJnSUNBZ0FKeUJTQVFDellDQUFzZ0JVRUVhaUVKSUFkQkJHb2hCeUFJUVFGcUlnZ2dERWNOQUFzZ0JVRU1haUVKSUFjZ0ZFRUNkR29oQnlBUlFRUnFJaEVnQkNnQ2dBRWlBMEY4Y1VrTkFBc01BUXRCQkNBRFFYeHhJZ2tnQ1VFRVRSdEJBV3NpQ1VGOGNVRUVhaUVSSUFnZ0NVRUJkRUY0Y1dwQkZHb2hDUXNnQkNBQ05nSUlJQVFnQmpZQ0JDQUVJQUUyQWdBZ0JDQU5OZ0pvSUF4RkRRRWdBeUFSVFEwQlFRQWhFMEVBSUF0cklSUWdBeUVCQTBBQ1FDQUJJQkZHQkVBZ0VTRUJEQUVMSUFrb0FnQWhBa0VBSVJBRFFFR1FnSUFCSUJCQkEyd2lDSFFnQW5GQkVDQUlkRVlFUUNBSElBd2dFR3hCQW5ScUlRVWdCQ0FQUVJCQkQwRU9JQUlnQ0hZaUFVSHZBM0ViSUFGQmdJREFBSEViUVFKMGFpSU5OZ0pvSUFRZ0JDZ0NCQ0FOS0FJQUlnSW9BZ0FpQVdzaUF6WUNCQUovSUFFZ0JDZ0NBQ0lHUVJCMlN3UkFJQUlvQWdRaENpQUVJQUUyQWdRZ0RTQUNRUWhCRENBQklBTkxJZzRiYWlnQ0FEWUNBQ0FFS0FJSUlRSURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hEU0FDTFFBQklRTWdBaTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBR1FZRCtBMm9oQmtFSUlRSU1BZ3NnQkNBTk5nSVFJQU5CQ1hRZ0Jtb2hCa0VISVFJTUFRc2dCQ0FOTmdJUVFRZ2hBaUFEUVFoMElBWnFJUVlMSUFRZ0FrRUJheUlDTmdJSUlBUWdCa0VCZENJR05nSUFJQVFnQVVFQmRDSUJOZ0lFSUFGQmdJQUNTUTBBQ3lBS0lBcEZJQTRiREFFTElBUWdCaUFCUVJCMGF5SUdOZ0lBSUFOQmdJQUNjVVVFUUNBQ0tBSUVJUW9nRFNBQ1FReEJDQ0FCSUFOTElnNGJhaWdDQURZQ0FDQUVLQUlJSVFJRFFBSkFJQUlOQUNBRUtBSVFJZ0pCQVdvaERTQUNMUUFCSVFFZ0FpMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FHUVlEK0Eyb2hCa0VJSVFJTUFnc2dCQ0FOTmdJUUlBRkJDWFFnQm1vaEJrRUhJUUlNQVFzZ0JDQU5OZ0lRUVFnaEFpQUJRUWgwSUFacUlRWUxJQVFnQWtFQmF5SUNOZ0lJSUFRZ0JrRUJkQ0lHTmdJQUlBUWdBMEVCZENJRE5nSUVJQU5CZ0lBQ1NRMEFDeUFLUlNBS0lBNGJEQUVMSUFJb0FnUUxJUUVnQlNBVUlBc2dBU0FGS0FJQUlnTkJIM1pHR3lBRGFqWUNBQ0FKSUFrb0FnQkJnSURBQUNBSWRISWlBallDQUNBRUtBS0FBU0VEQ3lBUVFRRnFJaEFnQXlJQklCRnJTUTBBQ3dzZ0NVRUVhaUVKSUFkQkJHb2hCeUFUUVFGcUloTWdERWNOQUFzTUFRdEJBQ0VSUVFBaEZ3SkFBa0FDUUFKQUlBUW9BbndpRkVIQUFFY05BQ0FFS0FLQUFVSEFBRWNOQUVFQVFRRWdHWFFpQVVFQmRpQUJjaUlVYXlFVElBUkI1QUJxSVFnZ0JFSGdBR29oRUNBRVFSeHFJUXNnQkNnQ2VFR01BbW9oQmlBRUtBSUlJUVVnQkNnQ0JDRUJJQVFvQWdBaEFpQUVLQUpvSVFrZ0JDZ0NkQ0VESUJaQkNIRU5BUU5BUVFBaERBTkFJQU1oRVFKQUFrQUNmd0pBQWtBZ0JpSU5LQUlBSWdaRkJFQWdBU0FRS0FJQUlnTW9BZ0FpQm1zaEFRSi9JQVlnQWtFUWRrc0VRQ0FES0FJRUlRY2dFQ0FEUVFoQkRDQUJJQVpKSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlBMEVCYWlFSklBTXRBQUVoQVNBRExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0J5QUhSU0FLR3d3QkN5QUNJQVpCRUhScklRSWdBVUdBZ0FKeFJRUkFJQU1vQWdRaEJ5QVFJQU5CREVFSUlBRWdCa2tpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdDVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0NUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0Noc01BUXNnQXlnQ0JBdEZCRUFnRUNFSkRBWUxJQUVnQ0NnQ0FDSURLQUlBSWdacklRRUNmeUFHSUFKQkVIWkxCRUFnQXlnQ0JDRUhJQWdnQTBFSVFRd2dBU0FHU1NJS0cyb29BZ0FpQXpZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQ1VFQmFpRUZJQWt0QUFFaEFTQUpMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdCeUFIUlNBS0d3d0JDeUFDSUFaQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFNb0FnUWhCeUFJSUFOQkRFRUlJQUVnQmtraUNodHFLQUlBSWdNMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdsQkFXb2hCU0FKTFFBQklRWWdDUzBBQUVIL0FVWUVRQ0FHUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQVpCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0IwVWdCeUFLR3d3QkN5QURLQUlFQ3lFS0lBRWdBeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJTd1JBSUFNb0FnUWhCeUFJSUFOQkNFRU1JQUVnQmtraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lEUVFGcUlRa2dBeTBBQVNFQklBTXRBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdDVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEFTQUhJQWRGSUE0YkRBRUxJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQXlnQ0JDRUhJQWdnQTBFTVFRZ2dBU0FHU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFNZ0JpMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FKTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQjBVZ0J5QU9Hd3dCQ3lBREtBSUVDeUVEUVFBaEJpQUlJUWtDUUFKQUFrQUNmd0pBQWtBZ0F5QUtRUUYwY2c0RUFBRURCUW9MSUFFZ0N5QU5LQUlFUVJGMlFRUnhJQTFCQkdzaUJ5Z0NBRUVUZGtFQmNYSWlEa0hRdVFGcUxRQUFRUUowYWlJSktBSUFJZ01vQWdBaUJtc2hBUUovSUFZZ0FrRVFka3NFUUNBREtBSUVJUW9nQ1NBRFFRaEJEQ0FCSUFaSkloSWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQTBFQmFpRUpJQU10QUFFaEFTQURMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdDaUFLUlNBU0d3d0JDeUFDSUFaQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFNb0FnUWhDaUFKSUFOQkRFRUlJQUVnQmtraUVodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQ1RZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdDVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dFaHNNQVFzZ0F5Z0NCQXNoQXlBUklCTWdGQ0FESUE1QjBMc0JhaTBBQUhNaUF4czJBZ0FnQnlBSEtBSUFRU0J5TmdJQUlBMGdEU2dDQkVFSWNqWUNCQ0FOUVl3Q2F5SUdJQVlvQWdCQmdJQUljallDQUNBTlFZUUNheUlHSUFZb0FnQkJnSUFDY2pZQ0FDQU5RWWdDYXlJR0lBWW9BZ0FnQTBFZmRISkJnSUFFY2pZQ0FDQURRUk4wSVZjZ0FTQUxJQVFvQW13dEFBSkJBblJxSWdjb0FnQWlBeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJTd1JBSUFNb0FnUWhDU0FISUFOQkNFRU1JQUVnQmtraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lEUVFGcUlRY2dBeTBBQVNFQklBTXRBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQnpZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCellDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEFTQUpJQWxGSUE0YkRBRUxJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQXlnQ0JDRUpJQWNnQTBFTVFRZ2dBU0FHU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaEJ5QUdMUUFCSVFNZ0JpMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FITmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUhOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQ1VVZ0NTQU9Hd3dCQ3lBREtBSUVDeUVESUZkQkVISWlCaUFEUlEwQkdnc2dBU0FMSUEwb0FnUkJGSFpCQkhFZ0RVRUVheUlKS0FJQVFSWjJRUUZ4SUFaQkQzWkJFSEVnQmtFVGRrSEFBSEVnQmtFRGRrR3FBWEZ5Y25KeUloSkIwTGtCYWkwQUFFRUNkR29pQ2lnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRU9JQW9nQjBFSVFRd2dBU0FEU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBNGdEa1VnQ2hzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRNGdDaUFIUVF4QkNDQUJJQU5KSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFPUlNBT0lBb2JEQUVMSUFjb0FnUUxJUU1nRVNBVElCUWdBeUFTUWRDN0FXb3RBQUJ6SWdNYk5nS0FBaUFKSUFrb0FnQkJnQUp5TmdJQUlBMGdEU2dDQkVIQUFISTJBZ1FnQmlBRFFSWjBja0dBQVhJTElRWWdBU0FMSUFRb0Ftd2dCa0VHZGtIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlBMnNoQVFKL0lBTWdBa0VRZGtzRVFDQUhLQUlFSVFvZ0NTQUhRUWhCRENBQklBTkpJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVKSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBazJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnQ2lBS1JTQU9Hd3dCQ3lBQ0lBTkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Ewa2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUWtnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0NUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQ1RZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nRGhzTUFRc2dCeWdDQkF0RkRRRUxJQUVnQ3lBTktBSUVRUmQyUVFSeElBMUJCR3NpQ1NnQ0FFRVpka0VCY1NBR1FSSjJRUkJ4SUFaQkZuWkJ3QUJ4SUFaQkJuWkJxZ0Z4Y25KeWNpSVNRZEM1QVdvdEFBQkJBblJxSWdvb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhEaUFLSUFkQkNFRU1JQUVnQTBraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQU9JQTVGSUFvYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRU9JQW9nQjBFTVFRZ2dBU0FEU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnRGtVZ0RpQUtHd3dCQ3lBSEtBSUVDeUVESUJFZ0V5QVVJQU1nRWtIUXV3RnFMUUFBY3lJREd6WUNnQVFnQ1NBSktBSUFRWUFRY2pZQ0FDQU5JQTBvQWdSQmdBUnlOZ0lFSUFZZ0EwRVpkSEpCZ0FoeUlRWUxJQUVnQ3lBRUtBSnNJQVpCQ1haQjd3TnhhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTEJFQWdCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQURTU0lPRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFvZ0NrVWdEaHNNQVFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQUhLQUlFSVFvZ0NTQUhRUXhCQ0NBQklBTkpJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUE0YkRBRUxJQWNvQWdRTFJRMEZDeUFCSUFzZ0RTZ0NCRUVhZGtFRWNTQU5RUVJySWc0b0FnQkJISFpCQVhFZ0JrRVZka0VRY1NBR1FSbDJRY0FBY1NBR1FRbDJRYW9CY1hKeWNuSWlDa0hRdVFGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUEyc2hBU0FESUFKQkVIWkxCRUFnQnlnQ0JDRVNJQWtnQjBFSVFRd2dBU0FEU1NJVkcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklCSWdFa1VnRlJzTUJBc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NRMEJJQWNvQWdRaEVpQUpJQWRCREVFSUlBRWdBMGtpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQkpGSUJJZ0ZSc01Bd3NDUUNBR1FaQ0FnQUZ4RFFBZ0FTQUxJQVFvQW13Z0JrSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQTJzaEFRSi9JQU1nQWtFUWRrc0VRQ0FIS0FJRUlRb2dDU0FIUVFoQkRDQUJJQU5KSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQVNBSExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFFZ0NpQUtSU0FPR3d3QkN5QUNJQU5CRUhScklRSWdBVUdBZ0FKeFJRUkFJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdBMGtpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0Roc01BUXNnQnlnQ0JBdEZEUUFnQVNBTElBMG9BZ1JCRVhaQkJIRWdEVUVFYXlJS0tBSUFRUk4yUVFGeElBWkJEblpCRUhFZ0JrRVFka0hBQUhFZ0JrR3FBWEZ5Y25KeUloSkIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRU9JQWtnQjBFSVFRd2dBU0FEU1NJVkcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBNGdEa1VnRlJzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRNGdDU0FIUVF4QkNDQUJJQU5KSWhVYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFPUlNBT0lCVWJEQUVMSUFjb0FnUUxJUU1nRVNBVElCUWdBeUFTUWRDN0FXb3RBQUJ6SWdNYk5nSUFJQW9nQ2lnQ0FFRWdjallDQUNBTklBMG9BZ1JCQ0hJMkFnUWdEVUdNQW1zaUJ5QUhLQUlBUVlDQUNISTJBZ0FnRFVHRUFtc2lCeUFIS0FJQVFZQ0FBbkkyQWdBZ0RVR0lBbXNpQnlBSEtBSUFJQU5CSDNSeVFZQ0FCSEkyQWdBZ0JpQURRUk4wY2tFUWNpRUdDd0pBSUFaQmdJR0FDSEVOQUNBQklBc2dCQ2dDYkNBR1FRTjJJZzVCN3dOeGFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBRFNTSVNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQW9nQ2tVZ0Voc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUW9nQ1NBSFFReEJDQ0FCSUFOSkloSWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQkliREFFTElBY29BZ1FMUlEwQUlBRWdDeUFOS0FJRVFSUjJRUVJ4SUExQkJHc2lDaWdDQUVFV2RrRUJjU0FHUVE5MlFSQnhJQVpCRTNaQndBQnhJQTVCcWdGeGNuSnljaUlTUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoRGlBSklBZEJDRUVNSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FPSUE1RklCVWJEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VPSUFrZ0IwRU1RUWdnQVNBRFNTSVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RrVWdEaUFWR3d3QkN5QUhLQUlFQ3lFRElCRWdFeUFVSUFNZ0VrSFF1d0ZxTFFBQWN5SURHellDZ0FJZ0NpQUtLQUlBUVlBQ2NqWUNBQ0FOSUEwb0FnUkJ3QUJ5TmdJRUlBWWdBMEVXZEhKQmdBRnlJUVlMQWtBZ0JrR0FpSURBQUhFTkFDQUJJQXNnQkNnQ2JDQUdRUVoySWc1Qjd3TnhhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTEJFQWdCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQURTU0lTRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFvZ0NrVWdFaHNNQVFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQUhLQUlFSVFvZ0NTQUhRUXhCQ0NBQklBTkpJaEliYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUJJYkRBRUxJQWNvQWdRTFJRMEFJQUVnQ3lBTktBSUVRUmQyUVFSeElBMUJCR3NpQ2lnQ0FFRVpka0VCY1NBR1FSSjJRUkJ4SUFaQkZuWkJ3QUJ4SUE1QnFnRnhjbkp5Y2lJU1FkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaERpQUpJQWRCQ0VFTUlBRWdBMGtpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBT0lBNUZJQlViREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFT0lBa2dCMEVNUVFnZ0FTQURTU0lWRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dEa1VnRGlBVkd3d0JDeUFIS0FJRUN5RURJQkVnRXlBVUlBTWdFa0hRdXdGcUxRQUFjeUlER3pZQ2dBUWdDaUFLS0FJQVFZQVFjallDQUNBTklBMG9BZ1JCZ0FSeU5nSUVJQVlnQTBFWmRISkJnQWh5SVFZTElBWkJnTUNBZ0FSeERRTWdBU0FMSUFRb0Ftd2dCa0VKZGlJU1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUFTZ0NBQ0lEYXlFSEFuOGdBeUFDUVJCMlN3UkFJQUVvQWdRaENpQUpJQUZCQ0VFTUlBTWdCMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQnlBS0lBcEZJQTRiREFFTElBSWdBMEVRZEdzaEFpQUhRWUNBQW5GRkJFQWdBU2dDQkNFS0lBa2dBVUVNUVFnZ0F5QUhTeUlPRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnTkJBV29oQlNBRExRQUJJUUVnQXkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQjBFQmRDSUhRWUNBQWtrTkFBc2dDa1VnQ2lBT0d3d0JDeUFCS0FJRUMwVUVRQ0FISVFFTUJBc2dCeUFMSUEwb0FnUkJHblpCQkhFZ0RVRUVheUlPS0FJQVFSeDJRUUZ4SUFaQkZYWkJFSEVnQmtFWmRrSEFBSEVnRWtHcUFYRnljbkp5SWdwQjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ0ZySVFNZ0FTQUNRUkIyU3dSQUlBY29BZ1FoRWlBSklBZEJDRUVNSUFFZ0Ewc2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElCSWdFa1VnRlJzTUF3c2dBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NVVU5BU0FESVFFTElBY29BZ1FNQVFzZ0J5Z0NCQ0VTSUFrZ0IwRU1RUWdnQVNBRFN5SVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQkpGSUJJZ0ZSc0xJUU1nRVNBVElCUWdBeUFLUWRDN0FXb3RBQUJ6SWdNYk5nS0FCaUFPSUE0b0FnQkJnSUFCY2pZQ0FDQU5JQTBvQWdSQmdDQnlOZ0lFSUEwZ0RTZ0NoQUpCQkhJMkFvUUNJQTBnRFNnQ2pBSkJBWEkyQW93Q0lBMGdEU2dDaUFJZ0EwRVNkSEpCQW5JMkFvZ0NJQVlnQTBFY2RISkJnTUFBY2lFR0N5QU5JQVpCLy8vL3RudHhOZ0lBQ3lBTlFRUnFJUVlnRVVFRWFpRURJQXhCQVdvaURFSEFBRWNOQUFzZ0RVRU1haUVHSUJGQmhBWnFJUU1nRjBFOFNTRllJQmRCQkdvaEZ5QllEUUFMREFJTFFRRWdHWFFpQVVFQmRpQUJjaUVPSUFRb0FuZ2lCeUFVUVFKMGFrRU1haUVESUFRb0FvQUJJUVlnQkNnQ0NDRUZJQVFvQWdRaEFTQUVLQUlBSVFJZ0JDZ0NhQ0VKSUFRb0FuUWhDd0pBQWtBZ0ZrRUljUVJBSUFaQkJFa05BaUFVUlEwQklBUkI1QUJxSVJBZ0JFSGdBR29oRFNBVVFRTnNJUnNnRkVFQmRDRWtRUUFnRG1zaEZTQUVRUnhxSVJJRFFFRUFJUmdEUUFKQUFrQUNmd0pBSUFNaUNDZ0NBQ0lEQkVBQ1FDQURRWkNBZ0FGeERRQWdBU0FTSUFRb0Ftd2dBMEh2QTNGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUJtc2hBUUovSUFZZ0FrRVFkazBFUUNBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4QkVBZ0J5Z0NCQXdDQ3lBSEtBSUVJUXdnQ1NBSFFReEJDQ0FCSUFaSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEJpQUhMUUFBUWY4QlJ3UkFJQVFnQlRZQ0VFRUlJUVVnQmtFSWRDQUNhaUVDREFFTElBWkJqd0ZOQkVBZ0JDQUZOZ0lRSUFaQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBTVJTQU1JQW9iREFFTElBY29BZ1FoRENBSklBZEJDRUVNSUFFZ0Jra2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FNSUF4RklBb2JDMFVOQUNBQklCSWdDQ2dDQkVFUmRrRUVjU0FJUVFScklnd29BZ0JCRTNaQkFYRWdBMEVPZGtFUWNTQURRUkIyUWNBQWNTQURRYW9CY1hKeWNuSWlFMEhRdVFGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUJtc2hBUUovSUFZZ0FrRVFkazBFUUNBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4QkVBZ0J5Z0NCQXdDQ3lBSEtBSUVJUW9nQ1NBSFFReEJDQ0FCSUFaSklod2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEJpQUhMUUFBUWY4QlJ3UkFJQVFnQlRZQ0VFRUlJUVVnQmtFSWRDQUNhaUVDREFFTElBWkJqd0ZOQkVBZ0JDQUZOZ0lRSUFaQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQndiREFFTElBY29BZ1FoQ2lBSklBZEJDRUVNSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FLSUFwRklCd2JDeUVHSUFzZ0ZTQU9JQVlnRTBIUXV3RnFMUUFBY3lJR0d6WUNBQ0FNSUF3b0FnQkJJSEkyQWdBZ0NDQUlLQUlFUVFoeU5nSUVJQU1nQmtFVGRISkJFSEloQXdzQ1FDQURRWUNCZ0FoeERRQWdBU0FTSUFRb0Ftd2dBMEVEZGlJS1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnRXhzTFJRMEFJQUVnRWlBSUtBSUVRUlIyUVFSeElBaEJCR3NpRENnQ0FFRVdka0VCY1NBRFFROTJRUkJ4SUFOQkUzWkJ3QUJ4SUFwQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0hCc01BUXNnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FHU1NJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnSEJzTElRWWdDeUFVUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnWWJOZ0lBSUF3Z0RDZ0NBRUdBQW5JMkFnQWdDQ0FJS0FJRVFjQUFjallDQkNBRElBWkJGblJ5UVlBQmNpRURDd0pBSUFOQmdJaUF3QUJ4RFFBZ0FTQVNJQVFvQW13Z0EwRUdkaUlLUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnRXhzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lURzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdFeHNMUlEwQUlBRWdFaUFJS0FJRVFSZDJRUVJ4SUFoQkJHc2lEQ2dDQUVFWmRrRUJjU0FEUVJKMlFSQnhJQU5CRm5aQndBQnhJQXBCcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nSEJzTUFRc2dCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdIQnNMSVFZZ0N5QWtRUUowYWlBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdZYk5nSUFJQXdnRENnQ0FFR0FFSEkyQWdBZ0NDQUlLQUlFUVlBRWNqWUNCQ0FESUFaQkdYUnlRWUFJY2lFREN5QURRWURBZ0lBRWNRMERJQUVnRWlBRUtBSnNJQU5CQ1hZaUNrSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnRW9BZ0FpQm1zaEJ3Si9JQVlnQWtFUWRrMEVRQ0FDSUFaQkVIUnJJUUlnQjBHQWdBSnhCRUFnQVNnQ0JBd0NDeUFCS0FJRUlRd2dDU0FCUVF4QkNDQUdJQWRMSWhNYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFRklBWXRBQUVoQVNBR0xRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBSFFRRjBJZ2RCZ0lBQ1NRMEFDeUFNUlNBTUlCTWJEQUVMSUFFb0FnUWhEQ0FKSUFGQkNFRU1JQVlnQjBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEJ5QU1JQXhGSUJNYkMwVUVRQ0FISVFFTUJBc2dCeUFTSUFnb0FnUkJHblpCQkhFZ0NFRUVheUlNS0FJQVFSeDJRUUZ4SUFOQkZYWkJFSEVnQTBFWmRrSEFBSEVnQ2tHcUFYRnljbkp5SWhOQjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJS0tBSUFJZ0ZySVFZZ0FTQUNRUkIyVFFSQUlBSWdBVUVRZEdzaEFpQUdRWUNBQW5FRVFDQUdJUUVNQXdzZ0NpZ0NCQ0VISUFrZ0NrRU1RUWdnQVNBR1N5SWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdWQkFXb2hDaUFGTFFBQklRRWdCUzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQWRGSUFjZ0hCc01Bd3NnQ2lnQ0JDRUhJQWtnQ2tFSVFRd2dBU0FHU3lJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1ZCQVdvaENpQUZMUUFCSVFZZ0JTMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUZJQVpCQ0hRZ0Ftb2hBZ3dCQ3lBR1FZOEJUUVJBSUFRZ0NqWUNFQ0FHUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQnlBSFJTQWNHd3dDQ3lBQklBMG9BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBTklBWkJERUVJSUFFZ0Ewa2lEQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnREJzTUFRc2dCaWdDQkNFSElBMGdCa0VJUVF3Z0FTQURTU0lNRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFjZ0IwVWdEQnNMUlFSQUlBMGhDUXdFQ3lBQklCQW9BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBUUlBWkJERUVJSUFFZ0Ewa2lEQnRxS0FJQUlnWTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnbEJBV29oQlNBSkxRQUJJUU1nQ1MwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dCMFVnQnlBTUd3d0JDeUFHS0FJRUlRY2dFQ0FHUVFoQkRDQUJJQU5KSWd3YmFpZ0NBQ0lHTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lKUVFGcUlRVWdDUzBBQVNFQklBa3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUhJQWRGSUF3YkN5RU1JQUVnQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBUUlBWkJERUVJSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnQ2hzTUFRc2dCaWdDQkNFSElCQWdCa0VJUVF3Z0FTQURTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFjZ0IwVWdDaHNMSVFaQkFDRURJQkFoQ1FKQUFrQUNRQUovQWtBQ1FDQUdJQXhCQVhSeURnUUFBUU1GQ0FzZ0FTQVNJQWdvQWdSQkVYWkJCSEVnQ0VFRWF5SUhLQUlBUVJOMlFRRnhjaUlLUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoRENBSklBWkJERUVJSUFFZ0Ewa2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnRXhzTUFRc2dCaWdDQkNFTUlBa2dCa0VJUVF3Z0FTQURTU0lURzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUF3Z0RFVWdFeHNMSVFNZ0N5QVZJQTRnQXlBS1FkQzdBV290QUFCeklnTWJOZ0lBSUFjZ0J5Z0NBRUVnY2pZQ0FDQUlJQWdvQWdSQkNISTJBZ1FnQTBFVGRDRlpJQUVnRWlBRUtBSnNMUUFDUVFKMGFpSUhLQUlBSWdZb0FnQWlBMnNoQVFKL0lBTWdBa0VRZGswRVFDQUNJQU5CRUhScklRSWdBVUdBZ0FKeEJFQWdCaWdDQkF3Q0N5QUdLQUlFSVFrZ0J5QUdRUXhCQ0NBQklBTkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUJrRUJhaUVISUFZdEFBRWhBeUFHTFFBQVFmOEJSd1JBSUFRZ0J6WUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FITmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUpSU0FKSUFvYkRBRUxJQVlvQWdRaENTQUhJQVpCQ0VFTUlBRWdBMGtpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFjZ0JpMEFBU0VCSUFZdEFBQkIvd0ZIQkVBZ0JDQUhOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFjMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBSklBbEZJQW9iQ3lFR0lGbEJFSElpQXlBR1JRMEJHZ3NnQVNBU0lBZ29BZ1JCRkhaQkJIRWdDRUVFYXlJSktBSUFRUloyUVFGeElBTkJEM1pCRUhFZ0EwRVRka0hBQUhFZ0EwRURka0dxQVhGeWNuSnlJaE5CMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lIS0FJQUlnWnJJUUVDZnlBR0lBSkJFSFpOQkVBZ0FpQUdRUkIwYXlFQ0lBRkJnSUFDY1FSQUlBY29BZ1FNQWdzZ0J5Z0NCQ0VLSUF3Z0IwRU1RUWdnQVNBR1NTSU1HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRWWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFaQkNIUWdBbW9oQWd3QkN5QUdRWThCVFFSQUlBUWdCVFlDRUNBR1FRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NrVWdDaUFNR3d3QkN5QUhLQUlFSVFvZ0RDQUhRUWhCRENBQklBWkpJZ3diYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQ2lBS1JTQU1Hd3NoQmlBTElCUkJBblJxSUJVZ0RpQUdJQk5CMExzQmFpMEFBSE1pQmhzMkFnQWdDU0FKS0FJQVFZQUNjallDQUNBSUlBZ29BZ1JCd0FCeU5nSUVJQU1nQmtFV2RISkJnQUZ5Q3lFRElBRWdFaUFFS0FKc0lBTkJCblpCN3dOeGFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnWnJJUUVDZnlBR0lBSkJFSFpOQkVBZ0FpQUdRUkIwYXlFQ0lBRkJnSUFDY1FSQUlBY29BZ1FNQWdzZ0J5Z0NCQ0VNSUFrZ0IwRU1RUWdnQVNBR1NTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hDU0FITFFBQklRWWdCeTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFaQkNIUWdBbW9oQWd3QkN5QUdRWThCVFFSQUlBUWdDVFlDRUNBR1FRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RFVWdEQ0FLR3d3QkN5QUhLQUlFSVF3Z0NTQUhRUWhCRENBQklBWkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVKSUFjdEFBRWhBU0FITFFBQVFmOEJSd1JBSUFRZ0NUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FKTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnRENBTVJTQUtHd3RGRFFFTElBRWdFaUFJS0FJRVFSZDJRUVJ4SUFoQkJHc2lDU2dDQUVFWmRrRUJjU0FEUVJKMlFSQnhJQU5CRm5aQndBQnhJQU5CQm5aQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ3dvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQU1JQWRCREVFSUlBRWdCa2tpREJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0RCc01BUXNnQnlnQ0JDRUtJQXdnQjBFSVFRd2dBU0FHU1NJTUcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnREJzTElRWWdDeUFrUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnWWJOZ0lBSUFrZ0NTZ0NBRUdBRUhJMkFnQWdDQ0FJS0FJRVFZQUVjallDQkNBRElBWkJHWFJ5UVlBSWNpRURDeUFCSUJJZ0JDZ0NiQ0FEUVFsMlFlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0Noc01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnQ2hzTFJRMERDeUFCSUJJZ0NDZ0NCRUVhZGtFRWNTQUlRUVJySWd3b0FnQkJISFpCQVhFZ0EwRVZka0VRY1NBRFFSbDJRY0FBY1NBRFFRbDJRYW9CY1hKeWNuSWlFMEhRdVFGcUxRQUFRUUowYWlJSktBSUFJZ29vQWdBaUJtc2hBU0FHSUFKQkVIWk5CRUFnQWlBR1FSQjBheUVDSUFGQmdJQUNjUTBCSUFvb0FnUWhCeUFKSUFwQkRFRUlJQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lGUVFGcUlRb2dCUzBBQVNFR0lBVXRBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBbzJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dIQnNNQWdzZ0NpZ0NCQ0VISUFrZ0NrRUlRUXdnQVNBR1NTSWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdWQkFXb2hDaUFGTFFBQklRRWdCUzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQWNnQjBVZ0hCc01BUXNnQ2lnQ0JBc2hCaUFMSUJ0QkFuUnFJQlVnRGlBR0lCTkIwTHNCYWkwQUFITWlCeHMyQWdBZ0RDQU1LQUlBUVlDQUFYSTJBZ0FnQ0NBSUtBSUVRWUFnY2pZQ0JDQUVLQUo4UVFKMElBaHFJZ1lnQmlnQ0JFRUVjallDQkNBR0lBWW9BZ3hCQVhJMkFnd2dCaUFHS0FJSUlBZEJFblJ5UVFKeU5nSUlJQU1nQjBFY2RISkJnTUFBY2lFREN5QUlJQU5CLy8vL3RudHhOZ0lBQ3lBSVFRUnFJUU1nQzBFRWFpRUxJQmhCQVdvaUdDQVVSdzBBQ3lBSVFReHFJUU1nQ3lBYlFRSjBhaUVMSUJGQkJHb2lFU0FFS0FLQUFTSUdRWHh4U1EwQUN3d0NDd0pBSUFaQkJFa05BQ0FVQkVBZ0JFSGtBR29oRUNBRVFlQUFhaUVOSUJSQkEyd2hHeUFVUVFGMElTUkJBQ0FPYXlFVklBUkJIR29oRWdOQVFRQWhHQU5BQWtBQ1FBSi9Ba0FnQXlJSUtBSUFJZ01FUUFKQUlBTkJrSUNBQVhFTkFDQUJJQklnQkNnQ2JDQURRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dDaHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0Noc0xSUTBBSUFFZ0VpQUlLQUlFUVJGMlFRUnhJQWhCQkdzaURDZ0NBRUVUZGtFQmNTQURRUTUyUVJCeElBTkJFSFpCd0FCeElBTkJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dIQnNNQVFzZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBR1NTSWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0hCc0xJUVlnQ3lBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdjYk5nSUFJQXdnRENnQ0FFRWdjallDQUNBSUlBZ29BZ1JCQ0hJMkFnUWdDRUYrSUFRb0FueHJRUUowYWlJR0lBWW9BZ1JCZ0lBQ2NqWUNCQ0FHSUFZb0FnQWdCMEVmZEhKQmdJQUVjallDQUNBR1FRUnJJZ1lnQmlnQ0FFR0FnQWh5TmdJQUlBTWdCMEVUZEhKQkVISWhBd3NDUUNBRFFZQ0JnQWh4RFFBZ0FTQVNJQVFvQW13Z0EwRURkaUlLUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnRXhzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lURzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdFeHNMUlEwQUlBRWdFaUFJS0FJRVFSUjJRUVJ4SUFoQkJHc2lEQ2dDQUVFV2RrRUJjU0FEUVE5MlFSQnhJQU5CRTNaQndBQnhJQXBCcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nSEJzTUFRc2dCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdIQnNMSVFZZ0N5QVVRUUowYWlBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdZYk5nSUFJQXdnRENnQ0FFR0FBbkkyQWdBZ0NDQUlLQUlFUWNBQWNqWUNCQ0FESUFaQkZuUnlRWUFCY2lFREN3SkFJQU5CZ0lpQXdBQnhEUUFnQVNBU0lBUW9BbXdnQTBFR2RpSUtRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dFeHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSVRHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0V4c0xSUTBBSUFFZ0VpQUlLQUlFUVJkMlFRUnhJQWhCQkdzaURDZ0NBRUVaZGtFQmNTQURRUkoyUVJCeElBTkJGblpCd0FCeElBcEJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dIQnNNQVFzZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBR1NTSWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0hCc0xJUVlnQ3lBa1FRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBd2dEQ2dDQUVHQUVISTJBZ0FnQ0NBSUtBSUVRWUFFY2pZQ0JDQURJQVpCR1hSeVFZQUljaUVEQ3lBRFFZREFnSUFFY1EwRElBRWdFaUFFS0FKc0lBTkJDWFlpQ2tIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdFb0FnQWlCbXNoQndKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdCMEdBZ0FKeEJFQWdBU2dDQkF3Q0N5QUJLQUlFSVF3Z0NTQUJRUXhCQ0NBR0lBZExJaE1iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUJrRUJhaUVGSUFZdEFBRWhBU0FHTFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFIUVFGMElnZEJnSUFDU1EwQUN5QU1SU0FNSUJNYkRBRUxJQUVvQWdRaERDQUpJQUZCQ0VFTUlBWWdCMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQnlBTUlBeEZJQk1iQzBVRVFDQUhJUUVNQkFzZ0J5QVNJQWdvQWdSQkduWkJCSEVnQ0VFRWF5SU1LQUlBUVJ4MlFRRnhJQU5CRlhaQkVIRWdBMEVaZGtIQUFIRWdDa0dxQVhGeWNuSnlJaE5CMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lLS0FJQUlnRnJJUVlnQVNBQ1FSQjJUUVJBSUFJZ0FVRVFkR3NoQWlBR1FZQ0FBbkVFUUNBR0lRRU1Bd3NnQ2lnQ0JDRUhJQWtnQ2tFTVFRZ2dBU0FHU3lJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1ZCQVdvaENpQUZMUUFCSVFFZ0JTMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBZEZJQWNnSEJzTUF3c2dDaWdDQkNFSElBa2dDa0VJUVF3Z0FTQUdTeUljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnVkJBV29oQ2lBRkxRQUJJUVlnQlMwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFRklBWkJDSFFnQW1vaEFnd0JDeUFHUVk4QlRRUkFJQVFnQ2pZQ0VDQUdRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dCeUFIUlNBY0d3d0NDeUFCSUEwb0FnQWlCaWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJUUVJBSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVFUUNBR0tBSUVEQUlMSUFZb0FnUWhCeUFOSUFaQkRFRUlJQUVnQTBraURCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGSEJFQWdCQ0FKTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dEQnNNQVFzZ0JpZ0NCQ0VISUEwZ0JrRUlRUXdnQVNBRFNTSU1HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hDU0FHTFFBQklRRWdCaTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQWNnQjBVZ0RCc0xSUVJBSUEwaENRd0VDeUFCSUJBb0FnQWlCaWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJUUVJBSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVFUUNBR0tBSUVEQUlMSUFZb0FnUWhCeUFRSUFaQkRFRUlJQUVnQTBraURCdHFLQUlBSWdZMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdsQkFXb2hCU0FKTFFBQklRTWdDUzBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWd3QkN5QURRWThCVFFSQUlBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0IwVWdCeUFNR3d3QkN5QUdLQUlFSVFjZ0VDQUdRUWhCRENBQklBTkpJZ3diYWlnQ0FDSUdOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUpRUUZxSVFVZ0NTMEFBU0VCSUFrdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBSElBZEZJQXdiQ3lFTUlBRWdCaWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJUUVJBSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVFUUNBR0tBSUVEQUlMSUFZb0FnUWhCeUFRSUFaQkRFRUlJQUVnQTBraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGSEJFQWdCQ0FKTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dDaHNNQVFzZ0JpZ0NCQ0VISUJBZ0JrRUlRUXdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hDU0FHTFFBQklRRWdCaTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQWNnQjBVZ0Noc0xJUVpCQUNFRElCQWhDUUpBQWtBQ1FBSi9Ba0FDUUNBR0lBeEJBWFJ5RGdRQUFRTUZDQXNnQVNBU0lBZ29BZ1JCRVhaQkJIRWdDRUVFYXlJSEtBSUFRUk4yUVFGeGNpSUtRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCaWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJUUVJBSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVFUUNBR0tBSUVEQUlMSUFZb0FnUWhEQ0FKSUFaQkRFRUlJQUVnQTBraUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGSEJFQWdCQ0FKTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dFeHNNQVFzZ0JpZ0NCQ0VNSUFrZ0JrRUlRUXdnQVNBRFNTSVRHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hDU0FHTFFBQklRRWdCaTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQXdnREVVZ0V4c0xJUU1nQ3lBVklBNGdBeUFLUWRDN0FXb3RBQUJ6SWdZYk5nSUFJQWNnQnlnQ0FFRWdjallDQUNBSUlBZ29BZ1JCQ0hJMkFnUWdDRUYrSUFRb0FueHJRUUowYWlJRElBTW9BZ1JCZ0lBQ2NqWUNCQ0FESUFNb0FnQWdCa0VmZEhKQmdJQUVjallDQUNBRFFRUnJJZ01nQXlnQ0FFR0FnQWh5TmdJQUlBWkJFM1FoV2lBQklCSWdCQ2dDYkMwQUFrRUNkR29pQnlnQ0FDSUdLQUlBSWdOcklRRUNmeUFESUFKQkVIWk5CRUFnQWlBRFFSQjBheUVDSUFGQmdJQUNjUVJBSUFZb0FnUU1BZ3NnQmlnQ0JDRUpJQWNnQmtFTVFRZ2dBU0FEU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaEJ5QUdMUUFCSVFNZ0JpMEFBRUgvQVVjRVFDQUVJQWMyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3dCQ3lBRFFZOEJUUVJBSUFRZ0J6WUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQ1VVZ0NTQUtHd3dCQ3lBR0tBSUVJUWtnQnlBR1FRaEJEQ0FCSUFOSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQmtFQmFpRUhJQVl0QUFFaEFTQUdMUUFBUWY4QlJ3UkFJQVFnQnpZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUhOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRRWdDU0FKUlNBS0d3c2hCaUJhUVJCeUlnTWdCa1VOQVJvTElBRWdFaUFJS0FJRVFSUjJRUVJ4SUFoQkJHc2lDU2dDQUVFV2RrRUJjU0FEUVE5MlFSQnhJQU5CRTNaQndBQnhJQU5CQTNaQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ3dvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQU1JQWRCREVFSUlBRWdCa2tpREJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0RCc01BUXNnQnlnQ0JDRUtJQXdnQjBFSVFRd2dBU0FHU1NJTUcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnREJzTElRWWdDeUFVUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnWWJOZ0lBSUFrZ0NTZ0NBRUdBQW5JMkFnQWdDQ0FJS0FJRVFjQUFjallDQkNBRElBWkJGblJ5UVlBQmNnc2hBeUFCSUJJZ0JDZ0NiQ0FEUVFaMlFlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFrZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFrMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0Noc01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaENTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnQ2hzTFJRMEJDeUFCSUJJZ0NDZ0NCRUVYZGtFRWNTQUlRUVJySWdrb0FnQkJHWFpCQVhFZ0EwRVNka0VRY1NBRFFSWjJRY0FBY1NBRFFRWjJRYW9CY1hKeWNuSWlFMEhRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ2NvQWdBaUJtc2hBUUovSUFZZ0FrRVFkazBFUUNBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4QkVBZ0J5Z0NCQXdDQ3lBSEtBSUVJUW9nRENBSFFReEJDQ0FCSUFaSklnd2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEJpQUhMUUFBUWY4QlJ3UkFJQVFnQlRZQ0VFRUlJUVVnQmtFSWRDQUNhaUVDREFFTElBWkJqd0ZOQkVBZ0JDQUZOZ0lRSUFaQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQXdiREFFTElBY29BZ1FoQ2lBTUlBZEJDRUVNSUFFZ0Jra2lEQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FLSUFwRklBd2JDeUVHSUFzZ0pFRUNkR29nRlNBT0lBWWdFMEhRdXdGcUxRQUFjeUlHR3pZQ0FDQUpJQWtvQWdCQmdCQnlOZ0lBSUFnZ0NDZ0NCRUdBQkhJMkFnUWdBeUFHUVJsMGNrR0FDSEloQXdzZ0FTQVNJQVFvQW13Z0EwRUpka0h2QTNGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUJtc2hBUUovSUFZZ0FrRVFkazBFUUNBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4QkVBZ0J5Z0NCQXdDQ3lBSEtBSUVJUXdnQ1NBSFFReEJDQ0FCSUFaSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEJpQUhMUUFBUWY4QlJ3UkFJQVFnQlRZQ0VFRUlJUVVnQmtFSWRDQUNhaUVDREFFTElBWkJqd0ZOQkVBZ0JDQUZOZ0lRSUFaQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBTVJTQU1JQW9iREFFTElBY29BZ1FoRENBSklBZEJDRUVNSUFFZ0Jra2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FNSUF4RklBb2JDMFVOQXdzZ0FTQVNJQWdvQWdSQkduWkJCSEVnQ0VFRWF5SU1LQUlBUVJ4MlFRRnhJQU5CRlhaQkVIRWdBMEVaZGtIQUFIRWdBMEVKZGtHcUFYRnljbkp5SWhOQjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJS0tBSUFJZ1pySVFFZ0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FTkFTQUtLQUlFSVFjZ0NTQUtRUXhCQ0NBQklBWkpJaHdiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUJVRUJhaUVLSUFVdEFBRWhCaUFGTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FLTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUhSU0FISUJ3YkRBSUxJQW9vQWdRaEJ5QUpJQXBCQ0VFTUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUZRUUZxSVFvZ0JTMEFBU0VCSUFVdEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFvMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBSElBZEZJQndiREFFTElBb29BZ1FMSVFZZ0N5QWJRUUowYWlBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdjYk5nSUFJQXdnRENnQ0FFR0FnQUZ5TmdJQUlBZ2dDQ2dDQkVHQUlISTJBZ1FnQkNnQ2ZFRUNkQ0FJYWlJR0lBWW9BZ1JCQkhJMkFnUWdCaUFHS0FJTVFRRnlOZ0lNSUFZZ0JpZ0NDQ0FIUVJKMGNrRUNjallDQ0NBRElBZEJISFJ5UVlEQUFISWhBd3NnQ0NBRFFmLy8vN1o3Y1RZQ0FBc2dDRUVFYWlFRElBdEJCR29oQ3lBWVFRRnFJaGdnRkVjTkFBc2dDRUVNYWlFRElBc2dHMEVDZEdvaEN5QVJRUVJxSWhFZ0JDZ0NnQUVpQmtGOGNVa05BQXNNQVF0QkJDQUdRWHh4SWdNZ0EwRUVUUnRCQVdzaUEwRjhjVUVFYWlFUklBY2dBMEVCZEVGNGNXcEJGR29oQXdzZ0JDQUZOZ0lJSUFRZ0FUWUNCQ0FFSUFJMkFnQWdCQ0FKTmdKb0lCUkZEUVFnQmlBUlRRMEVBMEJCQUNFRklCRWdCQ2dDZ0FGSEJFQURRQ0FFSUFNZ0N5QUZJQlJzUVFKMGFpQU9JQVZCQUJCWUlBVkJBV29pQlNBRUtBS0FBU0FSYTBrTkFBc0xJQU1nQXlnQ0FFSC8vLysyZTNFMkFnQWdDMEVFYWlFTElBTkJCR29oQXlBWFFRRnFJaGNnRkVjTkFBc01CQXRCQkNBR1FYeHhJZ01nQTBFRVRSdEJBV3NpQTBGOGNVRUVhaUVSSUFjZ0EwRUJkRUY0Y1dwQkZHb2hBd3NnQkNBRk5nSUlJQVFnQVRZQ0JDQUVJQUkyQWdBZ0JDQUpOZ0pvSUJSRkRRSWdCaUFSVFEwQ0EwQkJBQ0VGSUJFZ0JDZ0NnQUZIQkVBRFFDQUVJQU1nQ3lBRklCUnNRUUowYWlBT0lBVkJBUkJZSUFWQkFXb2lCU0FFS0FLQUFTQVJhMGtOQUFzTElBTWdBeWdDQUVILy8vKzJlM0UyQWdBZ0MwRUVhaUVMSUFOQkJHb2hBeUFYUVFGcUloY2dGRWNOQUFzTUFnc0RRRUVBSVF3RFFDQURJUkVDUUFKQUFuOENRQUpBSUFZaURTZ0NBQ0lHUlFSQUlBRWdFQ2dDQUNJREtBSUFJZ1pySVFFQ2Z5QUdJQUpCRUhaTEJFQWdBeWdDQkNFSElCQWdBMEVJUVF3Z0FTQUdTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnTkJBV29oQ1NBRExRQUJJUUVnQXkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUpOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBSk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFjZ0IwVWdDaHNNQVFzZ0FpQUdRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQURLQUlFSVFjZ0VDQURRUXhCQ0NBQklBWkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUJrRUJhaUVKSUFZdEFBRWhBeUFHTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFrMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUhSU0FISUFvYkRBRUxJQU1vQWdRTFJRUkFJQkFoQ1F3R0N5QUJJQWdvQWdBaUF5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlN3UkFJQU1vQWdRaEJ5QUlJQU5CQ0VFTUlBRWdCa2tpQ2h0cUtBSUFJZ00yQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2xCQVdvaEJTQUpMUUFCSVFFZ0NTMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBY2dCMFVnQ2hzTUFRc2dBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FES0FJRUlRY2dDQ0FEUVF4QkNDQUJJQVpKSWdvYmFpZ0NBQ0lETmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lKUVFGcUlRVWdDUzBBQVNFR0lBa3RBQUJCL3dGR0JFQWdCa0dRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUdRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdCa0VJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dDaHNNQVFzZ0F5Z0NCQXNoQ2lBQklBTW9BZ0FpQm1zaEFRSi9JQVlnQWtFUWRrc0VRQ0FES0FJRUlRY2dDQ0FEUVFoQkRDQUJJQVpKSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlBMEVCYWlFSklBTXRBQUVoQVNBRExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0J5QUhSU0FPR3d3QkN5QUNJQVpCRUhScklRSWdBVUdBZ0FKeFJRUkFJQU1vQWdRaEJ5QUlJQU5CREVFSUlBRWdCa2tpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdDVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0NUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0Roc01BUXNnQXlnQ0JBc2hBMEVBSVFZZ0NDRUpBa0FDUUFKQUFuOENRQUpBSUFNZ0NrRUJkSElPQkFBQkF3VUtDeUFCSUFzZ0RTZ0NCRUVSZGtFRWNTQU5RUVJySWdjb0FnQkJFM1pCQVhGeUlnNUIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSURLQUlBSWdacklRRUNmeUFHSUFKQkVIWkxCRUFnQXlnQ0JDRUtJQWtnQTBFSVFRd2dBU0FHU1NJU0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ05CQVdvaENTQURMUUFCSVFFZ0F5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FKTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUpOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnRWhzTUFRc2dBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FES0FJRUlRb2dDU0FEUVF4QkNDQUJJQVpKSWhJYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFSklBWXRBQUVoQXlBR0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lCSWJEQUVMSUFNb0FnUUxJUU1nRVNBVElCUWdBeUFPUWRDN0FXb3RBQUJ6SWdNYk5nSUFJQWNnQnlnQ0FFRWdjallDQUNBTklBMG9BZ1JCQ0hJMkFnUWdBMEVUZENGYklBRWdDeUFFS0FKc0xRQUNRUUowYWlJSEtBSUFJZ01vQWdBaUJtc2hBUUovSUFZZ0FrRVFka3NFUUNBREtBSUVJUWtnQnlBRFFRaEJEQ0FCSUFaSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQTBFQmFpRUhJQU10QUFFaEFTQURMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFjMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWMyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdDU0FKUlNBT0d3d0JDeUFDSUFaQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFNb0FnUWhDU0FISUFOQkRFRUlJQUVnQmtraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRY2dCaTBBQVNFRElBWXRBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQnpZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCellDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFsRklBa2dEaHNNQVFzZ0F5Z0NCQXNoQXlCYlFSQnlJZ1lnQTBVTkFSb0xJQUVnQ3lBTktBSUVRUlIyUVFSeElBMUJCR3NpQ1NnQ0FFRVdka0VCY1NBR1FROTJRUkJ4SUFaQkUzWkJ3QUJ4SUFaQkEzWkJxZ0Z4Y25KeWNpSVNRZEM1QVdvdEFBQkJBblJxSWdvb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhEaUFLSUFkQkNFRU1JQUVnQTBraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQU9JQTVGSUFvYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRU9JQW9nQjBFTVFRZ2dBU0FEU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnRGtVZ0RpQUtHd3dCQ3lBSEtBSUVDeUVESUJFZ0V5QVVJQU1nRWtIUXV3RnFMUUFBY3lJREd6WUNnQUlnQ1NBSktBSUFRWUFDY2pZQ0FDQU5JQTBvQWdSQndBQnlOZ0lFSUFZZ0EwRVdkSEpCZ0FGeUN5RUdJQUVnQ3lBRUtBSnNJQVpCQm5aQjd3TnhhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTEJFQWdCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQURTU0lPRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQ1NBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUpOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBSk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFvZ0NrVWdEaHNNQVFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQUhLQUlFSVFvZ0NTQUhRUXhCQ0NBQklBTkpJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVKSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFrMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUE0YkRBRUxJQWNvQWdRTFJRMEJDeUFCSUFzZ0RTZ0NCRUVYZGtFRWNTQU5RUVJySWdrb0FnQkJHWFpCQVhFZ0JrRVNka0VRY1NBR1FSWjJRY0FBY1NBR1FRWjJRYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJS0tBSUFJZ2NvQWdBaUEyc2hBUUovSUFNZ0FrRVFka3NFUUNBSEtBSUVJUTRnQ2lBSFFRaEJEQ0FCSUFOSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEFTQUhMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRRWdEaUFPUlNBS0d3d0JDeUFDSUFOQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFjb0FnUWhEaUFLSUFkQkRFRUlJQUVnQTBraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUE1RklBNGdDaHNNQVFzZ0J5Z0NCQXNoQXlBUklCTWdGQ0FESUJKQjBMc0JhaTBBQUhNaUF4czJBb0FFSUFrZ0NTZ0NBRUdBRUhJMkFnQWdEU0FOS0FJRVFZQUVjallDQkNBR0lBTkJHWFJ5UVlBSWNpRUdDeUFCSUFzZ0JDZ0NiQ0FHUVFsMlFlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaENpQUpJQWRCQ0VFTUlBRWdBMGtpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBS0lBcEZJQTRiREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFS0lBa2dCMEVNUVFnZ0FTQURTU0lPRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dDa1VnQ2lBT0d3d0JDeUFIS0FJRUMwVU5CUXNnQVNBTElBMG9BZ1JCR25aQkJIRWdEVUVFYXlJT0tBSUFRUngyUVFGeElBWkJGWFpCRUhFZ0JrRVpka0hBQUhFZ0JrRUpka0dxQVhGeWNuSnlJZ3BCMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVnQXlBQ1FSQjJTd1JBSUFjb0FnUWhFaUFKSUFkQkNFRU1JQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQVNJQkpGSUJVYkRBUUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRU5BU0FIS0FJRUlSSWdDU0FIUVF4QkNDQUJJQU5KSWhVYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFTUlNBU0lCVWJEQU1MQWtBZ0JrR1FnSUFCY1EwQUlBRWdDeUFFS0FKc0lBWkI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FEU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBb2dDa1VnRGhzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQU5KSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lBNGJEQUVMSUFjb0FnUUxSUTBBSUFFZ0N5QU5LQUlFUVJGMlFRUnhJQTFCQkdzaUNpZ0NBRUVUZGtFQmNTQUdRUTUyUVJCeElBWkJFSFpCd0FCeElBWkJxZ0Z4Y25KeWNpSVNRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhEaUFKSUFkQkNFRU1JQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQU9JQTVGSUJVYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRU9JQWtnQjBFTVFRZ2dBU0FEU1NJVkcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnRGtVZ0RpQVZHd3dCQ3lBSEtBSUVDeUVESUJFZ0V5QVVJQU1nRWtIUXV3RnFMUUFBY3lJREd6WUNBQ0FLSUFvb0FnQkJJSEkyQWdBZ0RTQU5LQUlFUVFoeU5nSUVJQVlnQTBFVGRISkJFSEloQmdzQ1FDQUdRWUNCZ0FoeERRQWdBU0FMSUFRb0Ftd2dCa0VEZGlJT1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaENpQUpJQWRCQ0VFTUlBRWdBMGtpRWh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBS0lBcEZJQkliREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFS0lBa2dCMEVNUVFnZ0FTQURTU0lTRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dDa1VnQ2lBU0d3d0JDeUFIS0FJRUMwVU5BQ0FCSUFzZ0RTZ0NCRUVVZGtFRWNTQU5RUVJySWdvb0FnQkJGblpCQVhFZ0JrRVBka0VRY1NBR1FSTjJRY0FBY1NBT1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQTJzaEFRSi9JQU1nQWtFUWRrc0VRQ0FIS0FJRUlRNGdDU0FIUVFoQkRDQUJJQU5KSWhVYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQVNBSExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFFZ0RpQU9SU0FWR3d3QkN5QUNJQU5CRUhScklRSWdBVUdBZ0FKeFJRUkFJQWNvQWdRaERpQUpJQWRCREVFSUlBRWdBMGtpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQTVGSUE0Z0ZSc01BUXNnQnlnQ0JBc2hBeUFSSUJNZ0ZDQURJQkpCMExzQmFpMEFBSE1pQXhzMkFvQUNJQW9nQ2lnQ0FFR0FBbkkyQWdBZ0RTQU5LQUlFUWNBQWNqWUNCQ0FHSUFOQkZuUnlRWUFCY2lFR0N3SkFJQVpCZ0lpQXdBQnhEUUFnQVNBTElBUW9BbXdnQmtFR2RpSU9RZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhDaUFKSUFkQkNFRU1JQUVnQTBraUVodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUtJQXBGSUJJYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRUtJQWtnQjBFTVFRZ2dBU0FEU1NJU0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQ2tVZ0NpQVNHd3dCQ3lBSEtBSUVDMFVOQUNBQklBc2dEU2dDQkVFWGRrRUVjU0FOUVFScklnb29BZ0JCR1haQkFYRWdCa0VTZGtFUWNTQUdRUloyUWNBQWNTQU9RYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUEyc2hBUUovSUFNZ0FrRVFka3NFUUNBSEtBSUVJUTRnQ1NBSFFRaEJEQ0FCSUFOSkloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEFTQUhMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRRWdEaUFPUlNBVkd3d0JDeUFDSUFOQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFjb0FnUWhEaUFKSUFkQkRFRUlJQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUE1RklBNGdGUnNNQVFzZ0J5Z0NCQXNoQXlBUklCTWdGQ0FESUJKQjBMc0JhaTBBQUhNaUF4czJBb0FFSUFvZ0NpZ0NBRUdBRUhJMkFnQWdEU0FOS0FJRVFZQUVjallDQkNBR0lBTkJHWFJ5UVlBSWNpRUdDeUFHUVlEQWdJQUVjUTBESUFFZ0N5QUVLQUpzSUFaQkNYWWlFa0h2QTNGcUxRQUFRUUowYWlJSktBSUFJZ0VvQWdBaUEyc2hCd0ovSUFNZ0FrRVFka3NFUUNBQktBSUVJUW9nQ1NBQlFRaEJEQ0FESUFkTElnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEFTQUhMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRY2dDaUFLUlNBT0d3d0JDeUFDSUFOQkVIUnJJUUlnQjBHQWdBSnhSUVJBSUFFb0FnUWhDaUFKSUFGQkRFRUlJQU1nQjBzaURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lEUVFGcUlRVWdBeTBBQVNFQklBTXRBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBZEJBWFFpQjBHQWdBSkpEUUFMSUFwRklBb2dEaHNNQVFzZ0FTZ0NCQXRGQkVBZ0J5RUJEQVFMSUFjZ0N5QU5LQUlFUVJwMlFRUnhJQTFCQkdzaURpZ0NBRUVjZGtFQmNTQUdRUlYyUVJCeElBWkJHWFpCd0FCeElCSkJxZ0Z4Y25KeWNpSUtRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJQmF5RURJQUVnQWtFUWRrc0VRQ0FIS0FJRUlSSWdDU0FIUVFoQkRDQUJJQU5MSWhVYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFTSUJKRklCVWJEQU1MSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGRFFFZ0F5RUJDeUFIS0FJRURBRUxJQWNvQWdRaEVpQUpJQWRCREVFSUlBRWdBMHNpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBU1JTQVNJQlViQ3lFRElCRWdFeUFVSUFNZ0NrSFF1d0ZxTFFBQWN5SURHellDZ0FZZ0RpQU9LQUlBUVlDQUFYSTJBZ0FnRFNBTktBSUVRWUFnY2pZQ0JDQU5JQTBvQW9RQ1FRUnlOZ0tFQWlBTklBMG9Bb3dDUVFGeU5nS01BaUFOSUEwb0FvZ0NJQU5CRW5SeVFRSnlOZ0tJQWlBR0lBTkJISFJ5UVlEQUFISWhCZ3NnRFNBR1FmLy8vN1o3Y1RZQ0FBc2dEVUVFYWlFR0lCRkJCR29oQXlBTVFRRnFJZ3hCd0FCSERRQUxJQTFCREdvaEJpQVJRWVFHYWlFRElCZEJQRWtoWENBWFFRUnFJUmNnWEEwQUN3c2dCQ0FGTmdJSUlBUWdBVFlDQkNBRUlBSTJBZ0FnQkNBSk5nSm9Dd0pBSUJaQklIRkZEUUFnQkNBRVFlUUFhallDYUNBRUlBUW9BZ1FnQkNnQ1pDSUdLQUlBSWdGcklnSTJBZ1FDUUNBQklBUW9BZ0FpQlVFUWRrc0VRQ0FFSUFFMkFnUWdCQ0FHUVFoQkRDQUJJQUpMRzJvb0FnQWlCallDWkNBRUtBSUlJUUlEUUFKQUlBSU5BQ0FFS0FJUUlnZEJBV29oQ1NBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUZRWUQrQTJvaEJVRUlJUUlNQWdzZ0JDQUpOZ0lRSUFOQkNYUWdCV29oQlVFSElRSU1BUXNnQkNBSk5nSVFRUWdoQWlBRFFRaDBJQVZxSVFVTElBUWdBa0VCYXlJQ05nSUlJQVFnQlVFQmRDSUZOZ0lBSUFRZ0FVRUJkQ0lCTmdJRUlBRkJnSUFDU1EwQUN5QUJJUUlNQVFzZ0JDQUZJQUZCRUhScklnVTJBZ0FnQWtHQWdBSnhEUUFnQkNBR1FReEJDQ0FCSUFKTEcyb29BZ0FpQmpZQ1pDQUVLQUlJSVFFRFFBSkFJQUVOQUNBRUtBSVFJZ0ZCQVdvaEJ5QUJMUUFCSVFNZ0FTMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FGUVlEK0Eyb2hCVUVJSVFFTUFnc2dCQ0FITmdJUUlBTkJDWFFnQldvaEJVRUhJUUVNQVFzZ0JDQUhOZ0lRUVFnaEFTQURRUWgwSUFWcUlRVUxJQVFnQVVFQmF5SUJOZ0lJSUFRZ0JVRUJkQ0lGTmdJQUlBUWdBa0VCZENJQ05nSUVJQUpCZ0lBQ1NRMEFDd3NnQkNBQ0lBWW9BZ0FpQVdzaUFqWUNCQUpBSUFFZ0JVRVFka3NFUUNBRUlBRTJBZ1FnQkNBR1FRaEJEQ0FCSUFKTEcyb29BZ0FpQmpZQ1pDQUVLQUlJSVFJRFFBSkFJQUlOQUNBRUtBSVFJZ2RCQVdvaENTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FGUVlEK0Eyb2hCVUVJSVFJTUFnc2dCQ0FKTmdJUUlBTkJDWFFnQldvaEJVRUhJUUlNQVFzZ0JDQUpOZ0lRUVFnaEFpQURRUWgwSUFWcUlRVUxJQVFnQWtFQmF5SUNOZ0lJSUFRZ0JVRUJkQ0lGTmdJQUlBUWdBVUVCZENJQk5nSUVJQUZCZ0lBQ1NRMEFDeUFCSVFJTUFRc2dCQ0FGSUFGQkVIUnJJZ1UyQWdBZ0FrR0FnQUp4RFFBZ0JDQUdRUXhCQ0NBQklBSkxHMm9vQWdBaUJqWUNaQ0FFS0FJSUlRRURRQUpBSUFFTkFDQUVLQUlRSWdGQkFXb2hCeUFCTFFBQklRTWdBUzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBRlFZRCtBMm9oQlVFSUlRRU1BZ3NnQkNBSE5nSVFJQU5CQ1hRZ0JXb2hCVUVISVFFTUFRc2dCQ0FITmdJUVFRZ2hBU0FEUVFoMElBVnFJUVVMSUFRZ0FVRUJheUlCTmdJSUlBUWdCVUVCZENJRk5nSUFJQVFnQWtFQmRDSUNOZ0lFSUFKQmdJQUNTUTBBQ3dzZ0JDQUNJQVlvQWdBaUFXc2lBallDQkFKQUlBRWdCVUVRZGtzRVFDQUVJQUUyQWdRZ0JDQUdRUWhCRENBQklBSkxHMm9vQWdBaUJqWUNaQ0FFS0FJSUlRSURRQUpBSUFJTkFDQUVLQUlRSWdkQkFXb2hDU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBRlFZRCtBMm9oQlVFSUlRSU1BZ3NnQkNBSk5nSVFJQU5CQ1hRZ0JXb2hCVUVISVFJTUFRc2dCQ0FKTmdJUVFRZ2hBaUFEUVFoMElBVnFJUVVMSUFRZ0FrRUJheUlDTmdJSUlBUWdCVUVCZENJRk5nSUFJQVFnQVVFQmRDSUJOZ0lFSUFGQmdJQUNTUTBBQ3lBQklRSU1BUXNnQkNBRklBRkJFSFJySWdVMkFnQWdBa0dBZ0FKeERRQWdCQ0FHUVF4QkNDQUJJQUpMRzJvb0FnQWlCallDWkNBRUtBSUlJUUVEUUFKQUlBRU5BQ0FFS0FJUUlnRkJBV29oQnlBQkxRQUJJUU1nQVMwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUZRWUQrQTJvaEJVRUlJUUVNQWdzZ0JDQUhOZ0lRSUFOQkNYUWdCV29oQlVFSElRRU1BUXNnQkNBSE5nSVFRUWdoQVNBRFFRaDBJQVZxSVFVTElBUWdBVUVCYXlJQk5nSUlJQVFnQlVFQmRDSUZOZ0lBSUFRZ0FrRUJkQ0lDTmdJRUlBSkJnSUFDU1EwQUN3c2dCQ0FDSUFZb0FnQWlBV3NpQWpZQ0JDQUJJQVZCRUhaTEJFQWdCQ0FCTmdJRUlBUWdCa0VJUVF3Z0FTQUNTeHRxS0FJQU5nSmtJQVFvQWdnaEFnTkFBa0FnQWcwQUlBUW9BaEFpQmtFQmFpRUhJQVl0QUFFaEF5QUdMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFWQmdQNERhaUVGUVFnaEFnd0NDeUFFSUFjMkFoQWdBMEVKZENBRmFpRUZRUWNoQWd3QkN5QUVJQWMyQWhCQkNDRUNJQU5CQ0hRZ0JXb2hCUXNnQkNBQ1FRRnJJZ0kyQWdnZ0JDQUZRUUYwSWdVMkFnQWdCQ0FCUVFGMElnRTJBZ1FnQVVHQWdBSkpEUUFMREFFTElBUWdCU0FCUVJCMGF5SUhOZ0lBSUFKQmdJQUNjUTBBSUFRZ0JrRU1RUWdnQVNBQ1N4dHFLQUlBTmdKa0lBUW9BZ2doQlFOQUFrQWdCUTBBSUFRb0FoQWlBMEVCYWlFR0lBTXRBQUVoQVNBRExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQWRCZ1A0RGFpRUhRUWdoQlF3Q0N5QUVJQVkyQWhBZ0FVRUpkQ0FIYWlFSFFRY2hCUXdCQ3lBRUlBWTJBaEJCQ0NFRklBRkJDSFFnQjJvaEJ3c2dCQ0FGUVFGcklnVTJBZ2dnQkNBSFFRRjBJZ2MyQWdBZ0JDQUNRUUYwSWdJMkFnUWdBa0dBZ0FKSkRRQUxDd3NnSncwQUlBUVFXaUFFUWJDcEFUWUNaQ0FFUWRDZUFUWUNZQ0FFUWZDZUFUWUNIQXRCQUNBZlFRRnFJZ0VnQVVFRFJpSUJHeUVmSUJrZ0FXc2hHU0FtUVFGcUlpWWdJQ2dDQ0U4TkFTQVpRUUJLRFFBTEN5QW9JQ3BxSVNnZ0JDZ0NHQ0FFTHdGd093QUFJQ2xCQVdvaUtTQWFLQUlzU1EwQUN3c0NRQ0FyUlEwQUFrQWdCQ2dDR0NJQklBUW9BaEFpQTBFQ2Frc0VRQ0FoUlEwQklDTWdBU0FFS0FJVUlnWnJOZ0k0SUNNZ0F5QUdhellDTkNBaklBRWdBMnRCQW1zMkFqQWdIVUVDUVpEeUFDQWpRVEJxRUE4TUFnc2dCQ2dDRENJQlFRTkpEUUVnSVFSQUlDTWdBVFlDVUNBZFFRSkI2VFVnSTBIUUFHb1FEd3dDQ3lBaklBRTJBa0FnSFVFQ1FlazFJQ05CUUdzUUR3d0JDeUFqSUFFZ0JDZ0NGQ0lHYXpZQ0tDQWpJQU1nQm1zMkFpUWdJeUFCSUFOclFRSnJOZ0lnSUIxQkFrR1E4Z0FnSTBFZ2FoQVBDeUFhS0FJOFJRMEFJQVFnTERZQ2RBc2dNQ2dDQkNFQklCb29BZ3doWFNBYUtBSUlJREFvQWdCcklRZ2dNQ2dDRUNJR1FRRnhCRUFnTWlnQ0hDQTNRWmdCYkdvaUIwR1FBV3NvQWdBZ0NHb2dCMEdZQVdzb0FnQnJJUWdMSUYwZ0FXc2hBeUFHUVFKeEJFQWdNaWdDSENBM1FaZ0JiR29pQVVHTUFXc29BZ0FnQTJvZ0FVR1VBV3NvQWdCcklRTUxJQm9vQWp3aUJpRUNJQVpGQkVBZ0JDZ0NkQ0VDQ3lBRUtBS0FBU0VXSUFRb0Fud2hEUUpBSUM4b0FxZ0dJZ2RGRFFBZ0ZrVWdEVVZ5SVFFZ0IwRWVUQVJBSUFFTkFVRUFJUkFEUUNBTklCQnNJUVJCQUNFQkEwQWdBaUFCSUFScVFRSjBhaUlSS0FJQUlna2dDVUVmZFNJRmN5QUZheUlGSUFkMkJFQWdFVUVBSUFVZ0x5Z0NxQVoySWhGcklCRWdDVUVBU0JzMkFnQUxJQUZCQVdvaUFTQU5SdzBBQ3lBUVFRRnFJaEFnRmtjTkFBc01BUXNnQVEwQUlBSkJBQ0FOSUJac1FRSjBFQlVhQ3lBR0JFQWdEU0FXYkNFR0lDOG9BaFJCQVVZRVFDQUdSUTBGUVFBaEFTQUdRUVJQQkVBZ0JrRjhjU0VCUVFBaEJBTkFJQUlnQkVFQ2RHb2lBeUFEL1FBQ0FDSmUvUnNBUVFKdC9SRWdYdjBiQVVFQ2JmMGNBU0JlL1JzQ1FRSnQvUndDSUY3OUd3TkJBbTM5SEFQOUN3SUFJQVJCQkdvaUJDQUJSdzBBQ3lBQklBWkdEUVlMQTBBZ0FpQUJRUUowYWlJRElBTW9BZ0JCQW0wMkFnQWdBVUVCYWlJQklBWkhEUUFMREFVTElBWkZEUVFnTUNvQ0lFTUFBQUEvbENGbVFRQWhCQUpBSUFaQkJFa0VRQ0FDSVFFTUFRc2dBaUFHUVh4eElnUkJBblJxSVFFZ1p2MFRJVjVCQUNFREEwQWdBaUFEUVFKMGFpSUhJRjRnQi8wQUFnRDkrZ0g5NWdIOUN3SUFJQU5CQkdvaUF5QUVSdzBBQ3lBRUlBWkdEUVVMQTBBZ0FTQm1JQUVvQWdDeWxEZ0NBQ0FCUVFScUlRRWdCRUVCYWlJRUlBWkhEUUFMREFRTElEWWdOV3NoRVNBdktBSVVRUUZIRFFJZ0ZrVU5BeUF5S0FJa0lnWWdBeUFSYkNJRFFRSjBhaUFJUVFKMGFpRUpJQTFCZkhFaURFRUJheUlCUVFSeElRc2dOaUFOSURWcWEwRUNkQ0VhSUFGQkFuWkJBV3BCL3YvLy93ZHhJUjBnQXlBSWFrRUNkQ0FHYWlBQ2F5RUtRUUFoQ0NBQlFRTkhJUlFEUUVFQUlRRUNRQ0FNUlEwQUlBZ2dEV3doQXlBSklBZ2dFV3hCQW5ScUlRWkJBQ0VISUJRRVFBTkFJQVlnQVVFQ2RHb2dBaUFCSUFOcVFRSjBhdjBBQWdBaVh2MGJBRUVDYmYwUklGNzlHd0ZCQW0zOUhBRWdYdjBiQWtFQ2JmMGNBaUJlL1JzRFFRSnQvUndEL1FzQ0FDQUdJQUZCQkhJaUJFRUNkR29nQWlBRElBUnFRUUowYXYwQUFnQWlYdjBiQUVFQ2JmMFJJRjc5R3dGQkFtMzlIQUVnWHYwYkFrRUNiZjBjQWlCZS9Sc0RRUUp0L1J3RC9Rc0NBQ0FCUVFocUlRRWdCMEVDYWlJSElCMUhEUUFMQ3lBTERRQWdCaUFCUVFKMGFpQUNJQUVnQTJwQkFuUnEvUUFDQUNKZS9Sc0FRUUp0L1JFZ1h2MGJBVUVDYmYwY0FTQmUvUnNDUVFKdC9Sd0NJRjc5R3dOQkFtMzlIQVA5Q3dJQUlBRkJCR29oQVFzQ1FDQUJJQTFQRFFBZ0NDQU5iQ0VESUFrZ0NDQVJiRUVDZEdvaEJ3SkFJQTBnQVdzaUVFRUVTUVJBSUFFaEJBd0JDeUFLSUFnZ0dteHFRUkJKQkVBZ0FTRUVEQUVMSUFFZ0VFRjhjU0lGYWlFRVFRQWhCZ05BSUFjZ0FTQUdhaUloUVFKMGFpQUNJQU1nSVdwQkFuUnEvUUFDQUNKZS9Sc0FRUUp0L1JFZ1h2MGJBVUVDYmYwY0FTQmUvUnNDUVFKdC9Sd0NJRjc5R3dOQkFtMzlIQVA5Q3dJQUlBWkJCR29pQmlBRlJ3MEFDeUFGSUJCR0RRRUxJQVJCQVdvaEFTQU5JQVJyUVFGeEJFQWdCeUFFUVFKMGFpQUNJQU1nQkdwQkFuUnFLQUlBUVFKdE5nSUFJQUVoQkFzZ0FTQU5SZzBBQTBBZ0J5QUVRUUowYWlBQ0lBTWdCR3BCQW5ScUtBSUFRUUp0TmdJQUlBY2dCRUVCYWlJQlFRSjBhaUFDSUFFZ0EycEJBblJxS0FJQVFRSnROZ0lBSUFSQkFtb2lCQ0FOUncwQUN3c2dDRUVCYWlJSUlCWkhEUUFMREFNTElDTWdHVFlDQUNBZFFRSkIxY0VBSUNNUUR3c2dFQ2dDQUVFQU5nSUFEQUVMSUJaRkRRQWdEVVVOQUNBeUtBSWtJQU1nRVd4QkFuUnFJQWhCQW5ScUlRY2dEVUY4Y1NJRFFRSjBJUVlnTUNvQ0lFTUFBQUEvbENKbS9STWhYa0VBSVJBZ0RVRUVTU0VJQTBBQ1FBSkFJQWdFUUNBQ0lRa2dCeUVCUVFBaEJBd0JDeUFHSUFkcUlRRWdBaUFHYWlFSlFRQWhCQU5BSUFjZ0JFRUNkQ0lGYWlCZUlBSWdCV3I5QUFJQS9mb0IvZVlCL1FzQ0FDQUVRUVJxSWdRZ0EwY05BQXNnQ1NFQ0lBTWlCQ0FOUmcwQkN5QUpJUUlEUUNBQklHWWdBaWdDQUxLVU9BSUFJQUZCQkdvaEFTQUNRUVJxSVFJZ0JFRUJhaUlFSUExSERRQUxDeUFISUJGQkFuUnFJUWNnRUVFQmFpSVFJQlpIRFFBTEN5QUFFQkFnSTBIZ0FHb2tBQXZXQkFFSmZ5QUFLQUlzUVFoUEJFQWdBQ2dDS0NFRlFRZ2hDZ05BSUFBb0FneEJCWFFoQ0NBQUtBSUFJUVFnQUNnQ0pDRURBa0FnQUNnQ0ZDSUdJQUFvQWhBaUFVME5BQ0FFSUFocUlRY2dBVUVCYWlFQ0lBWWdBV3RCQVhFRVFDQUhJQUZCQm5ScUlna2dCU0FCSUFOc1FRSjBhaUlCL1FBQ0FQMExBZ0FnQ1NBQi9RQUNFUDBMQWhBZ0FpRUJDeUFDSUFaR0RRQURRQ0FISUFGQkJuUnFJZ0lnQlNBQklBTnNRUUowYWlJSi9RQUNBUDBMQWdBZ0FpQUovUUFDRVAwTEFoQWdCeUFCUVFGcUlnSkJCblJxSWdrZ0JTQUNJQU5zUVFKMGFpSUMvUUFDRVAwTEFoQWdDU0FDL1FBQ0FQMExBZ0FnQVVFQ2FpSUJJQVpIRFFBTEN3SkFJQUFvQWh3aUJpQUFLQUlZSWdGTkRRQWdCQ0FJYTBFZ2FpRUhJQVVnQUNnQ0NDQURiRUVDZEdvaENDQUJRUUZxSVFJZ0JpQUJhMEVCY1FSQUlBY2dBVUVHZEdvaUJDQUlJQUVnQTJ4QkFuUnFJZ0g5QUFJQS9Rc0NBQ0FFSUFIOUFBSVEvUXNDRUNBQ0lRRUxJQUlnQmtZTkFBTkFJQWNnQVVFR2RHb2lBaUFJSUFFZ0EyeEJBblJxSWdUOUFBSUEvUXNDQUNBQ0lBVDlBQUlRL1FzQ0VDQUhJQUZCQVdvaUFrRUdkR29pQkNBSUlBSWdBMnhCQW5ScUlnTDlBQUlRL1FzQ0VDQUVJQUw5QUFJQS9Rc0NBQ0FCUVFKcUlnRWdCa2NOQUFzTElBQVFJa0VBSVFFZ0FDZ0NJQVJBQTBBZ0JTQUFLQUlrSUFGc1FRSjBhaUlDSUFBb0FnQWdBVUVGZEdvaUEvMEFBZ0Q5Q3dJQUlBSWdBLzBBQWhEOUN3SVFJQUZCQVdvaUFTQUFLQUlnU1EwQUN3c2dCVUVnYWlFRklBcEJDR29pQ2lBQUtBSXNUUTBBQ3dzZ0FDZ0NBQkFRSUFBUUVBdjNEUUVsZnlBQUtBSXNRUWhQQkVBZ0FDZ0NKQ0lLUVFWMElSNGdDa0VIYkNFV0lBcEJCbXdoRnlBS1FRVnNJUmdnQ2tFRGJDRVpJQXBCQVhRaEdpQUFLQUlvSWdFZ0NrRWNiR29oSHlBQklBcEJHR3hxSVNBZ0FTQUtRUlJzYWlFaElBRWdDa0VFZEdvaElpQUJJQXBCREd4cUlTTWdBU0FLUVFOMElpUnFJU1VnQVNBS1FRSjBJaHRxSVNaQkNDRWNBMEFnQUNBQklBQW9BaVJCQ0JBN0lBQVFJZ0pBSUFBb0FpQWlDMFVOQUNBZElCNXNJUWdnQUNnQ0FDRUdRUUFoQkFKQUFrQWdDMEhvQWtrTkFDQUdRUXhxSWc0Z0MwRUJheUlDUVFWMElnTnFJQTVKRFFBZ0JrRUlhaUlQSUFOcUlBOUpEUUFnQXlBR2FpQUdTUTBBSUFaQkJHb2lFQ0FEYWlBUVNRMEFJQUpCLy8vL1Awc05BQ0FCSUFnZ0ptb2lBeUFMUVFKMElnVnFJZ3hKSUFNZ0FTQUZhaUlIU1hFTkFDQUJJQWdnSldvaUFpQUZhaUlOU1NBQ0lBZEpjUTBBSUFFZ0JTQUlJQ05xSWdscUlnVkpJQWNnQ1V0eERRQWdCaUFIU1NBQklBWWdDMEVGZEdvaUVVRWNheUlTU1hFTkFDQUJJQkZCR0dzaUUwa2dCeUFRUzNFTkFDQUJJQkZCRkdzaUZFa2dCeUFQUzNFTkFDQUhJQTVMSUFFZ0VVRVFheUlIU1hFTkFDQURJQTFKSUFJZ0RFbHhEUUFnQXlBRlNTQUpJQXhKY1EwQUlBTWdFa2tnQmlBTVNYRU5BQ0FESUJOSklBd2dFRXR4RFFBZ0F5QVVTU0FNSUE5TGNRMEFJQU1nQjBrZ0RDQU9TM0VOQUNBQ0lBVkpJQWtnRFVseERRQWdBaUFTU1NBR0lBMUpjUTBBSUFJZ0Uwa2dEU0FRUzNFTkFDQUNJQlJKSUEwZ0QwdHhEUUFnQWlBSFNTQU5JQTVMY1EwQUlBa2dFa2tnQlNBR1MzRU5BQ0FKSUJOSklBVWdFRXR4RFFBZ0NTQVVTU0FGSUE5TGNRMEFJQWNnQ1VzZ0JTQU9TM0VOQUNBTFFmei8vLzhBY1NFRVFRQWhBd05BSUFFZ0EwRUNkR29nQmlBRFFRVjBhaUlDL1FrQ0FDQUNLZ0lnL1NBQklBSkJRR3NxQWdEOUlBSWdBaW9DWVAwZ0EvMExBZ0FnQVNBRElBcHFRUUowYWlBQy9Ra0NCQ0FDS2dJay9TQUJJQUlxQWtUOUlBSWdBaW9DWlAwZ0EvMExBZ0FnQVNBRElCcHFRUUowYWlBQy9Ra0NDQ0FDS2dJby9TQUJJQUlxQWtqOUlBSWdBaW9DYVAwZ0EvMExBZ0FnQVNBRElCbHFRUUowYWlBQy9Ra0NEQ0FDS2dJcy9TQUJJQUlxQWt6OUlBSWdBaW9DYlAwZ0EvMExBZ0FnQTBFRWFpSURJQVJIRFFBTElBUWdDMFlOQVFzRFFDQUJJQVJCQW5ScUlBWWdCRUVGZEdvaUF5b0NBRGdDQUNBQklBUWdDbXBCQW5ScUlBTXFBZ1E0QWdBZ0FTQUVJQnBxUVFKMGFpQURLZ0lJT0FJQUlBRWdCQ0FaYWtFQ2RHb2dBeW9DRERnQ0FDQUVRUUZxSWdRZ0MwY05BQXNMSUFBb0FnQWhCa0VBSVFRQ1FDQUxRZHdBU1EwQUlBWkJIR29pRHlBTFFRRnJJZ0pCQlhRaUEyb2dEMGtOQUNBR1FSaHFJaEFnQTJvZ0VFa05BQ0FHUVJCcUloRWdBMm9nRVVrTkFDQUdRUlJxSWhJZ0Eyb2dFa2tOQUNBQ1FmLy8vejlMRFFBZ0NDQWlhaUlESUFnZ0lXb2lBaUFMUVFKMElnVnFJZ3hKSUFJZ0F5QUZhaUlIU1hFTkFDQURJQWdnSUdvaUNTQUZhaUlOU1NBSElBbExjUTBBSUFNZ0NDQWZhaUlJSUFWcUlnVkpJQWNnQ0V0eERRQWdBeUFHSUF0QkJYUnFJZzVCREdzaUUwa2dCeUFSUzNFTkFDQURJQTVCQ0dzaUZFa2dCeUFTUzNFTkFDQURJQTVCQkdzaUZVa2dCeUFRUzNFTkFDQURJQTVKSUFjZ0QwdHhEUUFnQWlBTlNTQUpJQXhKY1EwQUlBSWdCVWtnQ0NBTVNYRU5BQ0FDSUJOSklBd2dFVXR4RFFBZ0FpQVVTU0FNSUJKTGNRMEFJQUlnRlVrZ0RDQVFTM0VOQUNBQ0lBNUpJQXdnRDB0eERRQWdDQ0FOU1NBRklBbExjUTBBSUFrZ0Uwa2dEU0FSUzNFTkFDQUpJQlJKSUEwZ0VrdHhEUUFnQ1NBVlNTQU5JQkJMY1EwQUlBa2dEa2tnRFNBUFMzRU5BQ0FJSUJOSklBVWdFVXR4RFFBZ0NDQVVTU0FGSUJKTGNRMEFJQWdnRlVrZ0JTQVFTM0VOQUNBSUlBNUpJQVVnRDB0eERRQWdDMEg4Ly8vL0FIRWhCRUVBSVFNRFFDQUJJQU1nRzJwQkFuUnFJQVlnQTBFRmRHb2lBdjBKQWhBZ0Fpb0NNUDBnQVNBQ0tnSlEvU0FDSUFJcUFuRDlJQVA5Q3dJQUlBRWdBeUFZYWtFQ2RHb2dBdjBKQWhRZ0Fpb0NOUDBnQVNBQ0tnSlUvU0FDSUFJcUFuVDlJQVA5Q3dJQUlBRWdBeUFYYWtFQ2RHb2dBdjBKQWhnZ0Fpb0NPUDBnQVNBQ0tnSlkvU0FDSUFJcUFuajlJQVA5Q3dJQUlBRWdBeUFXYWtFQ2RHb2dBdjBKQWh3Z0Fpb0NQUDBnQVNBQ0tnSmMvU0FDSUFJcUFuejlJQVA5Q3dJQUlBTkJCR29pQXlBRVJ3MEFDeUFFSUF0R0RRRUxBMEFnQVNBRUlCdHFRUUowYWlBR0lBUkJCWFJxSWdNcUFoQTRBZ0FnQVNBRUlCaHFRUUowYWlBREtnSVVPQUlBSUFFZ0JDQVhha0VDZEdvZ0F5b0NHRGdDQUNBQklBUWdGbXBCQW5ScUlBTXFBaHc0QWdBZ0JFRUJhaUlFSUF0SERRQUxDeUFkUVFGcUlSMGdBU0FrUVFKMGFpRUJJQnhCQ0dvaUhDQUFLQUlzVFEwQUN3c2dBQ2dDQUJBUUlBQVFFQXR6QVFKL0lBQW9BaHdpQVVFSWFpSURJQUFvQWlBaUFrMEVRQU5BSUFBZ0FDZ0NHQ0FCUVFKMGFpQUFLQUlVUVFnUU1DQURJZ0ZCQ0dvaUF5QUFLQUlnSWdKTkRRQUxDeUFCSUFKSkJFQWdBQ0FBS0FJWUlBRkJBblJxSUFBb0FoUWdBaUFCYXhBd0N5QUFLQUlBRUJBZ0FCQVFDMFFBSUFBb0Fod2lBU0FBS0FJZ1NRUkFBMEFnQUNBQUtBSVlJQUFvQWhRZ0FXeEJBblJxRUYwZ0FVRUJhaUlCSUFBb0FpQkpEUUFMQ3lBQUtBSUFFQkFnQUJBUUM2Z0JBUVYvSUFBb0FsUWlBeWdDQUNFRklBTW9BZ1FpQkNBQUtBSVVJQUFvQWh3aUIyc2lCaUFFSUFaSkd5SUdCRUFnQlNBSElBWVFFaG9nQXlBREtBSUFJQVpxSWdVMkFnQWdBeUFES0FJRUlBWnJJZ1EyQWdRTElBUWdBaUFDSUFSTEd5SUVCRUFnQlNBQklBUVFFaG9nQXlBREtBSUFJQVJxSWdVMkFnQWdBeUFES0FJRUlBUnJOZ0lFQ3lBRlFRQTZBQUFnQUNBQUtBSXNJZ0UyQWh3Z0FDQUJOZ0lVSUFJTG5nVUNCbjRFZnlBQklBRW9BZ0JCQjJwQmVIRWlBVUVRYWpZQ0FDQUFJUXNnQVNrREFDRURJQUVwQXdnaEJ5TUFRU0JySWdna0FDQUhRdi8vLy8vLy96K0RJUVFDZmlBSFFqQ0lRdi8vQVlNaUJhY2lDa0dCK0FCclFmMFBUUVJBSUFSQ0JJWWdBMEk4aUlRaEFpQUtRWUQ0QUd1dElRVUNRQ0FEUXYvLy8vLy8vLy8vRDRNaUEwS0JnSUNBZ0lDQWdBaGFCRUFnQWtJQmZDRUNEQUVMSUFOQ2dJQ0FnSUNBZ0lBSVVnMEFJQUpDQVlNZ0Fud2hBZ3RDQUNBQ0lBSkMvLy8vLy8vLy93ZFdJZ0FiSVFJZ0FLMGdCWHdNQVFzQ1FDQURJQVNFVUEwQUlBVkMvLzhCVWcwQUlBUkNCSVlnQTBJOGlJUkNnSUNBZ0lDQWdBU0VJUUpDL3c4TUFRdEMvdzhnQ2tIK2h3RkxEUUFhUWdCQmdQZ0FRWUg0QUNBRlVDSUJHeUlBSUFwcklnbEI4QUJLRFFBYUlBTWhBaUFFSUFSQ2dJQ0FnSUNBd0FDRUlBRWJJZ1loQkFKQVFZQUJJQWxySWdGQndBQnhCRUFnQXlBQlFVQnFyWVloQkVJQUlRSU1BUXNnQVVVTkFDQUVJQUd0SWdXR0lBSkJ3QUFnQVd1dGlJUWhCQ0FDSUFXR0lRSUxJQWdnQWpjREVDQUlJQVEzQXhnQ1FDQUpRY0FBY1FSQUlBWWdDVUZBYXEySUlRTkNBQ0VHREFFTElBbEZEUUFnQmtIQUFDQUphNjJHSUFNZ0NhMGlBb2lFSVFNZ0JpQUNpQ0VHQ3lBSUlBTTNBd0FnQ0NBR053TUlJQWdwQXdoQ0JJWWdDQ2tEQUNJQ1FqeUloQ0VEQWtBZ0FDQUtSeUFJS1FNUUlBZ3BBeGlFUWdCU2NhMGdBa0wvLy8vLy8vLy8vdytEaENJQ1FvR0FnSUNBZ0lDQUNGb0VRQ0FEUWdGOElRTU1BUXNnQWtLQWdJQ0FnSUNBZ0FoU0RRQWdBMElCZ3lBRGZDRURDeUFEUW9DQWdJQ0FnSUFJaFNBRElBTkMvLy8vLy8vLy93ZFdJZ0FiSVFJZ0FLMExJUU1nQ0VFZ2FpUUFJQXNnQjBLQWdJQ0FnSUNBZ0lCL2d5QURRalNHaENBQ2hMODVBd0FMaGhnREUzOEJmQU4rSXdCQnNBUnJJZ3drQUNBTVFRQTJBaXdDUUNBQnZTSWFRZ0JUQkVCQkFTRVJRYm9JSVJNZ0Fab2lBYjBoR2d3QkN5QUVRWUFRY1FSQVFRRWhFVUc5Q0NFVERBRUxRY0FJUWJzSUlBUkJBWEVpRVJzaEV5QVJSU0VWQ3dKQUlCcENnSUNBZ0lDQWdQai9BSU5DZ0lDQWdJQ0FnUGovQUZFRVFDQUFRU0FnQWlBUlFRTnFJZ01nQkVILy8zdHhFQndnQUNBVElCRVFHU0FBUVpJSlFmWUtJQVZCSUhFaUJSdEIrd2xCK2dvZ0JSc2dBU0FCWWh0QkF4QVpJQUJCSUNBQ0lBTWdCRUdBd0FCekVCd2dBeUFDSUFJZ0EwZ2JJUW9NQVFzZ0RFRVFhaUVTQWtBQ2Z3SkFJQUVnREVFc2FoQmxJZ0VnQWFBaUFVUUFBQUFBQUFBQUFHSUVRQ0FNSUF3b0Fpd2lCa0VCYXpZQ0xDQUZRU0J5SWc1QjRRQkhEUUVNQXdzZ0JVRWdjaUlPUWVFQVJnMENJQXdvQWl3aENVRUdJQU1nQTBFQVNCc01BUXNnRENBR1FSMXJJZ2syQWl3Z0FVUUFBQUFBQUFDd1FhSWhBVUVHSUFNZ0EwRUFTQnNMSVFzZ0RFRXdha0dnQWtFQUlBbEJBRTRiYWlJTklRY0RRQ0FIQW44Z0FVUUFBQUFBQUFEd1FXTWdBVVFBQUFBQUFBQUFBR1p4QkVBZ0Fhc01BUXRCQUFzaUF6WUNBQ0FIUVFScUlRY2dBU0FEdUtGRUFBQUFBR1hOelVHaUlnRkVBQUFBQUFBQUFBQmlEUUFMQWtBZ0NVRUFUQVJBSUFraEF5QUhJUVlnRFNFSURBRUxJQTBoQ0NBSklRTURRRUVkSUFNZ0EwRWRUeHNoQXdKQUlBZEJCR3NpQmlBSVNRMEFJQU90SVJ4Q0FDRWFBMEFnQmlBYVF2Ly8vLzhQZ3lBR05RSUFJQnlHZkNJYlFvQ1U2OXdEZ0NJYVFvRHNsS01NZmlBYmZENENBQ0FHUVFScklnWWdDRThOQUFzZ0cwS0FsT3ZjQTFRTkFDQUlRUVJySWdnZ0dqNENBQXNEUUNBSUlBY2lCa2tFUUNBR1FRUnJJZ2NvQWdCRkRRRUxDeUFNSUF3b0Fpd2dBMnNpQXpZQ0xDQUdJUWNnQTBFQVNnMEFDd3NnQTBFQVNBUkFJQXRCR1dwQkNXNUJBV29oRHlBT1FlWUFSaUVRQTBCQkNVRUFJQU5ySWdNZ0EwRUpUeHNoQ2dKQUlBWWdDRTBFUUNBSUtBSUFSVUVDZENFSERBRUxRWUNVNjl3RElBcDJJUlJCZnlBS2RFRi9jeUVXUVFBaEF5QUlJUWNEUUNBSElBTWdCeWdDQUNJWElBcDJhallDQUNBV0lCZHhJQlJzSVFNZ0IwRUVhaUlISUFaSkRRQUxJQWdvQWdCRlFRSjBJUWNnQTBVTkFDQUdJQU0yQWdBZ0JrRUVhaUVHQ3lBTUlBd29BaXdnQ21vaUF6WUNMQ0FOSUFjZ0NHb2lDQ0FRR3lJSElBOUJBblJxSUFZZ0JpQUhhMEVDZFNBUFNoc2hCaUFEUVFCSURRQUxDMEVBSVFNQ1FDQUdJQWhORFFBZ0RTQUlhMEVDZFVFSmJDRURRUW9oQnlBSUtBSUFJZ3BCQ2trTkFBTkFJQU5CQVdvaEF5QUtJQWRCQ213aUIwOE5BQXNMSUFzZ0EwRUFJQTVCNWdCSEcyc2dEa0huQUVZZ0MwRUFSM0ZySWdjZ0JpQU5hMEVDZFVFSmJFRUphMGdFUUNBTVFUQnFRWVJnUWFSaUlBbEJBRWdiYWlBSFFZRElBR29pQ2tFSmJTSVBRUUowYWlFSlFRb2hCeUFQUVhkc0lBcHFJZ3BCQjB3RVFBTkFJQWRCQ213aEJ5QUtRUUZxSWdwQkNFY05BQXNMQWtBZ0NTZ0NBQ0lRSUJBZ0IyNGlEeUFIYkNJS1JpQUpRUVJxSWhRZ0JrWnhEUUFnRUNBS2F5RVFBa0FnRDBFQmNVVUVRRVFBQUFBQUFBQkFReUVCSUFkQmdKVHIzQU5IRFFFZ0NDQUpUdzBCSUFsQkJHc3RBQUJCQVhGRkRRRUxSQUVBQUFBQUFFQkRJUUVMUkFBQUFBQUFBT0EvUkFBQUFBQUFBUEEvUkFBQUFBQUFBUGcvSUFZZ0ZFWWJSQUFBQUFBQUFQZy9JQkFnQjBFQmRpSVVSaHNnRUNBVVNSc2hHUUpBSUJVTkFDQVRMUUFBUVMxSERRQWdHWm9oR1NBQm1pRUJDeUFKSUFvMkFnQWdBU0Fab0NBQllRMEFJQWtnQnlBS2FpSUROZ0lBSUFOQmdKVHIzQU5QQkVBRFFDQUpRUUEyQWdBZ0NDQUpRUVJySWdsTEJFQWdDRUVFYXlJSVFRQTJBZ0FMSUFrZ0NTZ0NBRUVCYWlJRE5nSUFJQU5CLzVQcjNBTkxEUUFMQ3lBTklBaHJRUUoxUVFsc0lRTkJDaUVISUFnb0FnQWlDa0VLU1EwQUEwQWdBMEVCYWlFRElBb2dCMEVLYkNJSFR3MEFDd3NnQ1VFRWFpSUhJQVlnQmlBSFN4c2hCZ3NEUUNBR0lnY2dDRTBpQ2tVRVFDQUdRUVJySWdZb0FnQkZEUUVMQ3dKQUlBNUI1d0JIQkVBZ0JFRUljU0VKREFFTElBTkJmM05CZnlBTFFRRWdDeHNpQmlBRFNpQURRWHRLY1NJSkd5QUdhaUVMUVg5QmZpQUpHeUFGYWlFRklBUkJDSEVpQ1EwQVFYY2hCZ0pBSUFvTkFDQUhRUVJyS0FJQUlnNUZEUUJCQ2lFS1FRQWhCaUFPUVFwd0RRQURRQ0FHSWdsQkFXb2hCaUFPSUFwQkNtd2lDbkJGRFFBTElBbEJmM01oQmdzZ0J5QU5hMEVDZFVFSmJDRUtJQVZCWDNGQnhnQkdCRUJCQUNFSklBc2dCaUFLYWtFSmF5SUdRUUFnQmtFQVNoc2lCaUFHSUF0S0d5RUxEQUVMUVFBaENTQUxJQU1nQ21vZ0JtcEJDV3NpQmtFQUlBWkJBRW9iSWdZZ0JpQUxTaHNoQ3d0QmZ5RUtJQXRCL2YvLy93ZEIvdi8vL3djZ0NTQUxjaUlRRzBvTkFTQUxJQkJCQUVkcVFRRnFJUTRDUUNBRlFWOXhJaFZCeGdCR0JFQWdBeUFPUWYvLy8vOEhjMG9OQXlBRFFRQWdBMEVBU2hzaEJnd0JDeUFTSUFNZ0EwRWZkU0lHY3lBR2E2MGdFaEFxSWdaclFRRk1CRUFEUUNBR1FRRnJJZ1pCTURvQUFDQVNJQVpyUVFKSURRQUxDeUFHUVFKcklnOGdCVG9BQUNBR1FRRnJRUzFCS3lBRFFRQklHem9BQUNBU0lBOXJJZ1lnRGtILy8vLy9CM05LRFFJTElBWWdEbW9pQXlBUlFmLy8vLzhIYzBvTkFTQUFRU0FnQWlBRElCRnFJZ01nQkJBY0lBQWdFeUFSRUJrZ0FFRXdJQUlnQXlBRVFZQ0FCSE1RSEFKQUFrQUNRQ0FWUWNZQVJnUkFJQXhCRUdwQkNYSWhCU0FOSUFnZ0NDQU5TeHNpQ1NFSUEwQWdDRFVDQUNBRkVDb2hCZ0pBSUFnZ0NVY0VRQ0FHSUF4QkVHcE5EUUVEUUNBR1FRRnJJZ1pCTURvQUFDQUdJQXhCRUdwTERRQUxEQUVMSUFVZ0JrY05BQ0FHUVFGcklnWkJNRG9BQUFzZ0FDQUdJQVVnQm1zUUdTQUlRUVJxSWdnZ0RVME5BQXNnRUFSQUlBQkJnZ3hCQVJBWkN5QUhJQWhORFFFZ0MwRUFUQTBCQTBBZ0NEVUNBQ0FGRUNvaUJpQU1RUkJxU3dSQUEwQWdCa0VCYXlJR1FUQTZBQUFnQmlBTVFSQnFTdzBBQ3dzZ0FDQUdRUWtnQ3lBTFFRbE9HeEFaSUF0QkNXc2hCaUFJUVFScUlnZ2dCMDhOQXlBTFFRbEtJUmdnQmlFTElCZ05BQXNNQWdzQ1FDQUxRUUJJRFFBZ0J5QUlRUVJxSUFjZ0NFc2JJUTBnREVFUWFrRUpjaUVGSUFnaEJ3TkFJQVVnQnpVQ0FDQUZFQ29pQmtZRVFDQUdRUUZySWdaQk1Eb0FBQXNDUUNBSElBaEhCRUFnQmlBTVFSQnFUUTBCQTBBZ0JrRUJheUlHUVRBNkFBQWdCaUFNUVJCcVN3MEFDd3dCQ3lBQUlBWkJBUkFaSUFaQkFXb2hCaUFKSUF0eVJRMEFJQUJCZ2d4QkFSQVpDeUFBSUFZZ0JTQUdheUlHSUFzZ0JpQUxTQnNRR1NBTElBWnJJUXNnQjBFRWFpSUhJQTFQRFFFZ0MwRUFUZzBBQ3dzZ0FFRXdJQXRCRW1wQkVrRUFFQndnQUNBUElCSWdEMnNRR1F3Q0N5QUxJUVlMSUFCQk1DQUdRUWxxUVFsQkFCQWNDeUFBUVNBZ0FpQURJQVJCZ01BQWN4QWNJQU1nQWlBQ0lBTklHeUVLREFFTElCTWdCVUVhZEVFZmRVRUpjV29oQ0FKQUlBTkJDMHNOQUVFTUlBTnJJUVpFQUFBQUFBQUFNRUFoR1FOQUlCbEVBQUFBQUFBQU1FQ2lJUmtnQmtFQmF5SUdEUUFMSUFndEFBQkJMVVlFUUNBWklBR2FJQm1ob0pvaEFRd0JDeUFCSUJtZ0lCbWhJUUVMSUJJZ0RDZ0NMQ0lISUFkQkgzVWlCbk1nQm11dElCSVFLaUlHUmdSQUlBWkJBV3NpQmtFd09nQUFDeUFSUVFKeUlRc2dCVUVnY1NFTklBWkJBbXNpQ1NBRlFROXFPZ0FBSUFaQkFXdEJMVUVySUFkQkFFZ2JPZ0FBSUFSQkNIRWhCaUFNUVJCcUlRY0RRQ0FISWdVQ2Z5QUJtVVFBQUFBQUFBRGdRV01FUUNBQnFnd0JDMEdBZ0lDQWVBc2lCMEhReEFGcUxRQUFJQTF5T2dBQUlBRWdCN2VoUkFBQUFBQUFBREJBb2lFQkFrQWdCVUVCYWlJSElBeEJFR3ByUVFGSERRQUNRQ0FHRFFBZ0EwRUFTZzBBSUFGRUFBQUFBQUFBQUFCaERRRUxJQVZCTGpvQUFTQUZRUUpxSVFjTElBRkVBQUFBQUFBQUFBQmlEUUFMUVg4aENrSDkvLy8vQnlBTElCSWdDV3NpQm1vaURXc2dBMGdOQUNBQVFTQWdBaUFOSUFOQkFtb2dCeUFNUVJCcUlnZHJJZ1VnQlVFQ2F5QURTQnNnQlNBREd5SUthaUlESUFRUUhDQUFJQWdnQ3hBWklBQkJNQ0FDSUFNZ0JFR0FnQVJ6RUJ3Z0FDQUhJQVVRR1NBQVFUQWdDaUFGYTBFQVFRQVFIQ0FBSUFrZ0JoQVpJQUJCSUNBQ0lBTWdCRUdBd0FCekVCd2dBeUFDSUFJZ0EwZ2JJUW9MSUF4QnNBUnFKQUFnQ2dzRUFFSUFDd1FBUVFBTG53TUJDWDlCNWdvaEFBSkFBMEFnQUMwQUFDSUJSUTBCSUFGQlBVWU5BU0FBUVFGcUlnQkJBM0VOQUFzQ1FBSkFRWUNDaEFnZ0FDZ0NBQ0lDYXlBQ2NrR0FnWUtFZUhGQmdJR0NoSGhIRFFBRFFFR0Fnb1FJSUFKQnZmcjA2UU56SWdGcklBRnlRWUNCZ29SNGNVR0FnWUtFZUVjTkFTQUFLQUlFSVFJZ0FFRUVhaUlCSVFBZ0FrR0Fnb1FJSUFKcmNrR0FnWUtFZUhGQmdJR0NoSGhHRFFBTERBRUxJQUFoQVFzRFFDQUJJZ0F0QUFBaUFrVU5BU0FBUVFGcUlRRWdBa0U5UncwQUN3c2dBQ0lCUWVZS1JnUkFRUUFQQ3dKQUlBRkI1Z3BySWdCQjVncHFMUUFBRFFCQnNNOEJLQUlBSWdSRkRRQWdCQ2dDQUNJRlJRMEFBMEFDUUFKL0lBVWhBa0htQ2lFR1FRQWdBQ0lCUlEwQUdrSG1DaTBBQUNJREJIOENRQU5BSUFNZ0FpMEFBQ0lIUncwQklBZEZEUUVnQVVFQmF5SUJSUTBCSUFKQkFXb2hBaUFHTFFBQklRTWdCa0VCYWlFR0lBTU5BQXRCQUNFREN5QURCVUVBQ3lBQ0xRQUFhd3RGQkVBZ0FDQUZhaUlCTFFBQVFUMUdEUUVMSUFRb0FnUWhCU0FFUVFScUlRUWdCUTBCREFJTEN5QUJRUUZxSVFnTElBZ0xDUUFnQUNnQ1BCQU5DODRDQVFoL0l3QkJJR3NpQXlRQUlBTWdBQ2dDSENJRU5nSVFJQUFvQWhRaEJTQURJQUkyQWh3Z0F5QUJOZ0lZSUFNZ0JTQUVheUlCTmdJVUlBRWdBbW9oQlVFQ0lRWWdBMEVRYWlFQkFuOERRQUpBQWtBQ1FDQUFLQUk4SUFFZ0JpQURRUXhxRUFFaUJBUi9RWlRIQVNBRU5nSUFRWDhGUVFBTFJRUkFJQVVnQXlnQ0RDSUhSZzBCSUFkQkFFNE5BZ3dEQ3lBRlFYOUhEUUlMSUFBZ0FDZ0NMQ0lCTmdJY0lBQWdBVFlDRkNBQUlBRWdBQ2dDTUdvMkFoQWdBZ3dEQ3lBQklBY2dBU2dDQkNJSVN5SUpRUU4wYWlJRUlBY2dDRUVBSUFrYmF5SUlJQVFvQWdCcU5nSUFJQUZCREVFRUlBa2JhaUlCSUFFb0FnQWdDR3MyQWdBZ0JTQUhheUVGSUFZZ0NXc2hCaUFFSVFFTUFRc0xJQUJCQURZQ0hDQUFRZ0EzQXhBZ0FDQUFLQUlBUVNCeU5nSUFRUUFnQmtFQ1JnMEFHaUFDSUFFb0FnUnJDeUVLSUFOQklHb2tBQ0FLQzFZQkFuOGdBQ2dDUENFRUl3QkJFR3NpQUNRQUlBUWdBYWNnQVVJZ2lLY2dBa0gvQVhFZ0FFRUlhaEFKSWdJRWYwR1V4d0VnQWpZQ0FFRi9CVUVBQ3lFQ0lBQXBBd2doQVNBQVFSQnFKQUJDZnlBQklBSWJDd1lBSUFBUUFBc0dBQ0FBRUFNTDhuNEZBbncyZndoN0EzNEdmU01BUWVEQUFHc2lHQ1FBSUJoQkFEWUNJRUVDSVF3Q1FBSkFJQUFvQWdBaUIwR05sSnpVQUVZTkFDQUhRZitmL1k4RlJ3UkFBa0FnQjBHQWdJRGdBRWNOQUNBQUtBSUVRZXFnZ1lFQ1J3MEFJQUFvQWdoQmpaU2MxQUJHRFFJTFFjMElFQUJCQVNFTURBSUxRUUFoREFzQ2YwRUFRUUZCNEFBUUV5SUhSUTBBR2lBSFFRRTJBa3dDUUFKQUFrQUNRQ0FNRGdNQUF3RURDeUFIUWNNQU5nSllJQWRCeEFBMkFsUWdCMEhGQURZQ1VDQUhRY1lBTmdJUUlBZEJ4d0EyQWdRZ0IwSElBRFlDSENBSFFja0FOZ0lZSUFkQnlnQTJBaFFnQjBITEFEWUNBQ0FIUWN3QU5nSmNJQWRCelFBMkFpd2dCMEhPQURZQ0tDQUhRYzhBTmdJa0lBZEIwQUEyQWlBZ0IwSFJBRFlDRENBSFFkSUFOZ0lJSUFjUVRTSUlOZ0l3SUFnTkFRd0NDeUFIUWRNQU5nSllJQWRCMUFBMkFsUWdCMEhWQURZQ1VDQUhRZFlBTmdJUUlBZEIxd0EyQWdRZ0IwSFlBRFlDWENBSFFka0FOZ0lzSUFkQjJnQTJBaWdnQjBIYkFEWUNKQ0FIUWR3QU5nSWdJQWRCM1FBMkFod2dCMEhlQURZQ0dDQUhRZDhBTmdJVUlBZEI0QUEyQWd3Z0IwSGhBRFlDQ0NBSFFlSUFOZ0lBSUFjQ2YwRUJRWWdCRUJNaUNBUkFJQWdRVFNJT05nSUFBa0FnRGtVTkFDQUkvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUXNDYkNBSVFRQTZBSHdnQ0JBeklnNDJBZ1FnRGtVTkFDQUlFRE1pRGpZQ0NDQU9SUTBBSUFnTUFnc2dDQkJ3QzBFQUN5SUlOZ0l3SUFoRkRRRUxJQWRCQVRZQ1NDQUhRUUUyQWtBZ0IwRUFOZ0k4SUFkQ0FEY0NOQ0FIUVFFMkFrUWdCd3dCQ3lBSEVCQkJBQXNpQ0FSQUlBaEJBRFlDUENBSVFlTUFOZ0pJQ3lBSUJFQWdDRUVBTmdJNElBaEI1QUEyQWtRTElBZ0VRQ0FJUVFBMkFqUWdDRUhsQURZQ1FBc2dHRUVrYWlJSEJFQWdCMEVBUWJqQUFCQVZJZ2RCQURZQ3VFQWdCMEovTndLSVFBc2dBd1JBSUJnZ0dDZ0MzRUJCQVhJMkF0eEFDeUFZSUFFMkFod2dHQ0FBTmdJWUlCZ2dBRFlDRkVFQklReEJBQ0VCQWtBZ0dFRVVhaUlIUlEwQVFRRkJ5QUFRRXlJQUJIOENmeUFBUVlDQXdBQTJBa0FnQUVHQWdNQUFFQlFpRGpZQ0lDQU9SUVJBSUFBUUVFRUFEQUVMSUFBZ0RqWUNKQ0FBUVFJMkFod2dBRUVETmdJWUlBQkJCRFlDRkNBQVFRVTJBaEFnQUVFR05nSXNJQUJCQ0RZQ0tDQUFJQUFvQWtSQkFuSTJBa1FnQUFzRlFRQUxJZ0JGRFFBZ0FBUkFJQUJCQURZQ0JDQUFJQWMyQWdBTElBYzFBZ2doUlNBQUJFQWdBQ0JGTndNSUN3SkFJQUJGRFFBZ0FDMEFSRUVDY1VVTkFDQUFRVDgyQWhBTElBQUVRQ0FBUWNFQU5nSVlDeUFBQkVBZ0FFSENBRFlDSEFzZ0FDRUJDeUFCSVFBQ2Z5QVlRU1JxSVFFQ1FDQUlSUTBBSUFGRkRRQWdDQ2dDVEVVRVFDQUlRVFJxUVFGQnRNa0FRUUFRRDBFQURBSUxJQWdvQWpBZ0FTQUlLQUlZRVFNQVFRRWhDd3NnQ3d0RkJFQkIzQWdRQUNBQUVEUWdDQkExREFFTEFuOGdHRUVnYWlFQlFRQWhCd0pBSUFCRkRRQWdDRVVOQUNBSUtBSk1SUVJBSUFoQk5HcEJBVUdGeWdCQkFCQVBRUUFNQWdzZ0FDQUlLQUl3SUFFZ0NFRTBhaUFJS0FJQUVRRUFJUWNMSUFjTFJRUkFRZmdJRUFBZ0FCQTBJQWdRTlNBWUtBSWdFQ0VNQVFzZ0dDZ0NJQ0VCUVFBaEJ3SkFJQWhGRFFBZ0FFVU5BQ0FJS0FKTVJRMEFJQWdvQWpBZ0FDQUJJQWhCTkdvZ0NDZ0NCQkVCQUNFSEN3SkFJQWNFUUVFQUlRY0NRQ0FJUlEwQUlBQkZEUUFnQ0NnQ1RFVU5BQ0FJS0FJd0lBQWdDRUUwYWlBSUtBSVFFUUFBSVFjTElBY05BUXRCL3drUUFDQUlFRFVnQUJBMElCZ29BaUFRSVF3QkN5QUFFRFFnQ0JBMUlCZ29BaUFpRFNnQ0hDSUFCRUFnQUJBUUlCZ29BaUFpRFVJQU53SWNDeUFOS0FJUUlTRUNRQUpBSUFKRkJFQUNRQ0FFUlEwQUlDRkJCRWNOQUVFQklSbEJCQ0VoREFNTEFrQUNRQ0FOS0FJVUlnRkJBMFlOQUNBaFFRTkhEUUFnRFNnQ0dDSUFLQUlBSUFBb0FnUkhEUUVnQUNnQ05FRUJSZzBCSUExQkF6WUNGQXdEQ3lBaFFRSkxEUUFnRFVFQ05nSVVEQU1MQWtBQ1FDQUJRUU5yRGdNREFRQUVDeU1BUVJCcklnNGtBQUpBQWtBQ1FDQU5LQUlRUVFSSkRRQWdEU2dDR0NJQUtBSUFJZ0VnQUNnQ05FY05BQ0FCSUFBb0FtaEhEUUFnQVNBQUtBS2NBVWNOQUNBQUtBSUVJZ0VnQUNnQ09FY05BQ0FCSUFBb0FteEhEUUFnQVNBQUtBS2dBVVlOQVFzZ0RrR0hDRFlDQkNBT1FiZ0tOZ0lBUWVqRUFVSHRQU0FPRUJZTUFRc0NRQ0FBS0FJTUlBQW9BZ2hzSWdoRkJFQWdBQ2dDeUFFaEFRd0JDME1BQUlBL1FYOGdBQ2dDdEFGMFFYOXpzNVVoU0VNQUFJQS9RWDhnQUNnQ2dBRjBRWDl6czVVaFNrTUFBSUEvUVg4Z0FDZ0NUSFJCZjNPemxTRkxRd0FBZ0Q5QmZ5QUFLQUlZZEVGL2M3T1ZJVWtnQUNnQ3lBRWhBU0FBS0FLVUFTRUNJQUFvQW1BaENpQUFLQUlzSVFkQkFDRUFBa0FnQ0VFSVNRMEFJQWNnQ2lBSVFRSjBJZ3RxSWc5SklBb2dCeUFMYWlJWFNYRU5BQ0FDSUJkSklBY2dBaUFMYWlJSlNYRU5BQ0FCSUJkSklBY2dBU0FMYWlJTFNYRU5BQ0FDSUE5SklBa2dDa3R4RFFBZ0FTQVBTU0FLSUF0SmNRMEFJQUVnQ1VrZ0FpQUxTWEVOQUNBSVFYeHhJUUFnU1AwVElUMGdTdjBUSVQ0Z1MvMFRJVU1nU2YwVElVQkJBQ0VMQTBBZ0FpQUxRUUowSWc5cUloZjlBQUlBSVVFZ0NpQVBhaUlKL1FBQ0FDRkNJQWNnRDJvaUVQME1BQUNBUHdBQWdEOEFBSUEvQUFDQVB5QkFJQkQ5QUFJQS9mb0IvZVlCL2VVQi9Rd0FBSDlEQUFCL1F3QUFmME1BQUg5RC9lWUIvUXdBQUlBL0FBQ0FQd0FBZ0Q4QUFJQS9JRDBnQVNBUGF2MEFBZ0Q5K2dIOTVnSDk1UUVpUC8zbUFmMzRBZjBMQWdBZ0NmME1BQUNBUHdBQWdEOEFBSUEvQUFDQVB5QkRJRUw5K2dIOTVnSDk1UUg5REFBQWYwTUFBSDlEQUFCL1F3QUFmMFA5NWdFZ1AvM21BZjM0QWYwTEFnQWdGLzBNQUFDQVB3QUFnRDhBQUlBL0FBQ0FQeUErSUVIOStnSDk1Z0g5NVFIOURBQUFmME1BQUg5REFBQi9Rd0FBZjBQOTVnRWdQLzNtQWYzNEFmMExBZ0FnQzBFRWFpSUxJQUJIRFFBTElBQWdDRVlOQVFzRFFBSi9Rd0FBZ0Q4Z1NTQUhJQUJCQW5RaUMyb2lEeWdDQUxLVWswTUFBSDlEbEVNQUFJQS9JRWdnQVNBTGFpZ0NBTEtVa3lKTWxDSk5pME1BQUFCUFhRUkFJRTJvREFFTFFZQ0FnSUI0Q3lFWElBSWdDMm9pQ1NnQ0FDRVFJQW9nQzJvaUN5Z0NBQ0VNSUE4Z0Z6WUNBQ0FMQW45REFBQ0FQeUJMSUF5eWxKTkRBQUIvUTVRZ1RKUWlUWXREQUFBQVQxMEVRQ0JOcUF3QkMwR0FnSUNBZUFzMkFnQWdDUUovUXdBQWdEOGdTaUFRc3BTVFF3QUFmME9VSUV5VUlreUxRd0FBQUU5ZEJFQWdUS2dNQVF0QmdJQ0FnSGdMTmdJQUlBQkJBV29pQUNBSVJ3MEFDd3NnQVJBUUlBMG9BaGdpQUVFSU5nS0FBU0FBUVFnMkFrd2dBRUVJTmdJWUlBQkJBRFlDeUFFZ0RVRUJOZ0lVSUEwZ0RTZ0NFRUVCYXlJQU5nSVFJQUJCQkVrTkFFRURJUUFEUUNBTktBSVlJQUJCTkd4cUlnRWdBU2dDWkRZQ01DQUJJQUg5QUFKVS9Rc0NJQ0FCSUFIOUFBSkUvUXNDRUNBQklBSDlBQUkwL1FzQ0FDQUFRUUZxSWdBZ0RTZ0NFRWtOQUFzTElBNUJFR29rQUF3REN5TUFRUkJySWdza0FBSkFBa0FDUUNBTktBSVFRUU5KRFFBZ0RTZ0NHQ0lBS0FJQUlnRWdBQ2dDTkVjTkFDQUJJQUFvQW1oSERRQWdBQ2dDQkNJQklBQW9BamhIRFFBZ0FTQUFLQUpzUmcwQkN5QUxRY1VJTmdJRUlBdEJ1QW8yQWdCQjZNUUJRWmMrSUFzUUZnd0JDd0pBSUFBb0Fnd2dBQ2dDQ0d3aUFrVU5BRUYvSUFBb0FoZ2lDblJCZjNNaEFVRUFRUUVnQ2tFQmEzUWlDaUFBS0FLSUFSc2hEMEVBSUFvZ0FDZ0NWQnNoRnlBQUtBS1VBU0VLSUFBb0FtQWhCeUFBS0FJc0lRNUJBQ0VBQWtBZ0FrRUVTUTBBSUE0Z0J5QUNRUUowSWdocUlnbEpJQWNnQ0NBT2FpSVFTWEVOQUNBS0lCQkpJQTRnQ0NBS2FpSUlTWEVOQUNBSElBaEpJQWtnQ2t0eERRQWdBa0Y4Y1NFQUlBSDlFU0UvSUEvOUVTRkFJQmY5RVNGQlFRQWhDQU5BSUE0Z0NFRUNkQ0lKYWlJUUlEOGdDU0FLYWlJTS9RQUNBQ0JBL2JFQi9mb0JJajM5REdsMHN6OXBkTE0vYVhTelAybDBzei85NWdFZ0J5QUphaUlKL1FBQ0FDQkIvYkVCL2ZvQklqNzlETE5aR3JpeldScTRzMWthdUxOWkdyajk1Z0VnRVAwQUFnRDkrZ0VpUS8za0FmM2tBZjBNQUFBQVB3QUFBRDhBQUFBL0FBQUFQLzNrQWYzNEFTSkMvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvYmdCSUQ4Z1F2MDUvVkw5Q3dJQUlBa2dQeUE5L1F3WjBEYS9HZEEydnhuUU5yOFowRGEvL2VZQklFUDlETlVKZ0QvVkNZQS8xUW1BUDlVSmdELzk1Z0VnUHYwTUp6R3d2aWN4c0w0bk1iQytKekd3dnYzbUFmM2tBZjNrQWYwTUFBQUFQd0FBQUQ4QUFBQS9BQUFBUC8za0FmMzRBU0pDL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL2JnQklEOGdRdjA1L1ZMOUN3SUFJQXdnUHlBOS9ReTlOd2EzdlRjR3Q3MDNCcmU5TndhMy9lWUJJRVA5REdiMGZ6OW05SDgvWnZSL1AyYjBmei85NWdFZ1B2ME1OZExpUHpYUzRqODEwdUkvTmRMaVAvM21BZjNrQWYza0FmME1BQUFBUHdBQUFEOEFBQUEvQUFBQVAvM2tBZjM0QVNJOS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9iZ0JJRDhnUGYwNS9WTDlDd0lBSUFoQkJHb2lDQ0FBUncwQUN5QUFJQUpHRFFFTEEwQUNmeUFLSUFCQkFuUWlDR29pQ1NnQ0FDQVBhN0lpU0VOcGRMTS9sQ0FISUFocUloQW9BZ0FnRjJ1eUlrcERzMWthdUpRZ0NDQU9haUlNS0FJQXNpSkxrcEpEQUFBQVA1SWlTWXREQUFBQVQxMEVRQ0JKcUF3QkMwR0FnSUNBZUFzaENDQU1JQUVnQ0VFQUlBaEJBRW9iSUFFZ0NFZ2JOZ0lBSUJBZ0FRSi9JRWhER2RBMnY1UWdTMFBWQ1lBL2xDQktReWN4c0w2VWtwSkRBQUFBUDVJaVNZdERBQUFBVDEwRVFDQkpxQXdCQzBHQWdJQ0FlQXNpQ0VFQUlBaEJBRW9iSUFFZ0NFZ2JOZ0lBSUFrZ0FRSi9JRWhEdlRjR3Q1UWdTME5tOUg4L2xDQktRelhTNGorVWtwSkRBQUFBUDVJaVNJdERBQUFBVDEwRVFDQklxQXdCQzBHQWdJQ0FlQXNpQ0VFQUlBaEJBRW9iSUFFZ0NFZ2JOZ0lBSUFCQkFXb2lBQ0FDUncwQUN3c2dEVUVCTmdJVUN5QUxRUkJxSkFBTUFnc2dJU0FDSUFJZ0lVc2JJU0ZCQVNFWkRBRUxBa0FDUUFKL0FrQUNRQ0FOS0FJWUlnRW9BZ0JCQVVjTkFBSkFBa0FnQVNnQ05FRUJhdzRDQVFBQ0N5QUJLQUpvUVFKSERRRUNRQ0FCS0FJRVFRRkhEUUFnQVNnQ09FRUNSdzBBSUFFb0FteEJBa2NOQUVFQUlRc2dEU0lYS0FJWUlnQW9BaGdoQVNBQUtBS1VBU0VSSUFBb0FtQWhDaUFBS0FJc0lSQWdBQ2dDQ0NJTklBQW9BZ3dpQW14QkFuUWlBQkFZSVFjZ0FCQVlJUWdnQUJBWUlRNENRQUpBQWtBQ1FBSkFBa0FnQjBVTkFDQUlSUTBBSUE1RkRRQkJmeUFCZEVGL2N5RUpRUUVnQVVFQmEzUWhEQ0FDSUJjb0FnUkJBWEVpQUdzaEhpQVhLQUlBUVFGeElSc2dBRVVOQXlBTlJRMERBbjlCQUNBTWE3SzdJZ1ZFYXJ4MGt4Z0UxaitpSUFWRURBSXJoeGJaNWoraW9DSUdtVVFBQUFBQUFBRGdRV01FUUNBR3Fnd0JDMEdBZ0lDQWVBc2hGQUovSUFWRUp6RUlyQnhhL0QraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5RWFJQTFCQ0VraE9BSi9JQVZFTzk5UGpaZHU5aitpSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lFZElEZ05BU0FJSUFkclFSQkpEUUVnRGlBSGEwRVFTUTBCSUFjZ0VHdEJFRWtOQVNBT0lBaHJRUkJKRFFFZ0NDQVFhMEVRU1EwQklBNGdFR3RCRUVrTkFTQU9JQTFCZkhFaUMwRUNkQ0lDYWlFQklBSWdCMm9oQUNBYS9SRWhQaUFVL1JFaFF5QUovUkVoUHlBZC9SRWhRQU5BSUFjZ0QwRUNkQ0lUYXYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBUUlCTnEvUUFDQUNJOUlFRDlyZ0VpUVNBLy9iWUJJRUg5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5T2YxUy9Rc0NBQ0FJSUJOcS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlEMGdRLzJ4QVNKQklELzl0Z0VnUWYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WTDlDd0lBSUE0Z0UycjlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdQU0ErL2E0QklqMGdQLzIyQVNBOS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9UbjlVdjBMQWdBZ0QwRUVhaUlQSUF0SERRQUxJQUlnRUdvaEVDQUNJQWhxSVFJZ0N5QU5SZzBFREFJTElBY1FFQ0FJRUJBZ0RoQVFEQVFMSUFjaEFDQUlJUUlnRGlFQkN3TkFJQUFnRUNnQ0FDSVBJQjFxSWhNZ0NTQUpJQk5LRzBFQUlCTkJBRTRiTmdJQUlBSWdEeUFVYXlJVElBa2dDU0FUU2h0QkFDQVRRUUJPR3pZQ0FDQUJJQThnR21vaUR5QUpJQWtnRDBvYlFRQWdEMEVBVGhzMkFnQWdBVUVFYWlFQklBSkJCR29oQWlBQVFRUnFJUUFnRUVFRWFpRVFJQXRCQVdvaUN5QU5SdzBBQ3d3QkN5QU9JUUVnQ0NFQ0lBY2hBQXNnRFNBYmF5RWFBa0FnSGtGK2NTSWRCSDhDZjBFQUlBeHJzcnNpQlVScXZIU1RHQVRXUDZJZ0JVUU1BaXVIRnRubVA2S2dJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUVpSUJwQmZuRWlIRUVCYXlFNUFuOGdCVVFuTVFpc0hGcjhQNklpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSVNNZ09VRitjU0U2QW44Z0JVUTczMCtObDI3MlA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJU1FnSFVFQmF5RWxJRHBCQW1vaEppQU5RUUowSVEwRFFDQUJJQTFxSVE4Z0FpQU5haUVUSUFBZ0RXb2hDeUFOSUJCcUlSUWdHd1JBSUFBZ0VDZ0NBQ0lWSUNScUloSWdDU0FKSUJKS0cwRUFJQkpCQUU0Yk5nSUFJQUlnRlNBaWF5SVNJQWtnQ1NBU1NodEJBQ0FTUVFCT0d6WUNBQ0FCSUJVZ0kyb2lGU0FKSUFrZ0ZVb2JRUUFnRlVFQVRoczJBZ0FnQ2lnQ0FDRVdJQXNDZnlBUktBSUFJQXhyc3JzaUJVUTczMCtObDI3MlA2SWlCcGxFQUFBQUFBQUE0RUZqQkVBZ0Jxb01BUXRCZ0lDQWdIZ0xJQlFvQWdBaUZXb2lFaUFKSUFrZ0Vrb2JRUUFnRWtFQVRoczJBZ0FnRXlBVkFuOGdGaUFNYTdLN0lnWkVhcngwa3hnRTFqK2lJQVZFREFJcmh4Ylo1aitpb0NJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF0ckloSWdDU0FKSUJKS0cwRUFJQkpCQUU0Yk5nSUFJQThDZnlBR1JDY3hDS3djV3Z3L29pSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2dGV29pRlNBSklBa2dGVW9iUVFBZ0ZVRUFUaHMyQWdBZ0QwRUVhaUVQSUJOQkJHb2hFeUFMUVFScUlRc2dGRUVFYWlFVUlBSkJCR29oQWlBUVFRUnFJUkFnQVVFRWFpRUJJQUJCQkdvaEFBdEJBQ0VWSUJ3RWZ3TkFJQW9vQWdBaEh5QUFBbjhnRVNnQ0FDQU1hN0s3SWdWRU85OVBqWmR1OWoraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5QVFLQUlBSWhKcUloWWdDU0FKSUJaS0cwRUFJQlpCQUU0Yk5nSUFJQUlnRWdKL0lCOGdER3V5dXlJR1JHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMYXlJV0lBa2dDU0FXU2h0QkFDQVdRUUJPR3pZQ0FDQUJBbjhnQmtRbk1RaXNIRnI4UDZJaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElCSnFJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lBSUFvb0FnQWhIeUFBQW44Z0VTZ0NBQ0FNYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFRS0FJRUloSnFJaFlnQ1NBSklCWktHMEVBSUJaQkFFNGJOZ0lFSUFJZ0VnSi9JQjhnREd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SVdJQWtnQ1NBV1NodEJBQ0FXUVFCT0d6WUNCQ0FCQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQkpxSWhJZ0NTQUpJQkpLRzBFQUlCSkJBRTRiTmdJRUlBb29BZ0FoSHlBTEFuOGdFU2dDQUNBTWE3SzdJZ1ZFTzk5UGpaZHU5aitpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lBVUtBSUFJaEpxSWhZZ0NTQUpJQlpLRzBFQUlCWkJBRTRiTmdJQUlCTWdFZ0ovSUI4Z0RHdXl1eUlHUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xheUlXSUFrZ0NTQVdTaHRCQUNBV1FRQk9HellDQUNBUEFuOGdCa1FuTVFpc0hGcjhQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSUJKcUloSWdDU0FKSUJKS0cwRUFJQkpCQUU0Yk5nSUFJQW9vQWdBaEh5QUxBbjhnRVNnQ0FDQU1hN0s3SWdWRU85OVBqWmR1OWoraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5QVVLQUlFSWhKcUloWWdDU0FKSUJaS0cwRUFJQlpCQUU0Yk5nSUVJQk1nRWdKL0lCOGdER3V5dXlJR1JHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMYXlJV0lBa2dDU0FXU2h0QkFDQVdRUUJPR3pZQ0JDQVBBbjhnQmtRbk1RaXNIRnI4UDZJaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElCSnFJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lFSUJGQkJHb2hFU0FLUVFScUlRb2dEMEVJYWlFUElCTkJDR29oRXlBTFFRaHFJUXNnRkVFSWFpRVVJQUZCQ0dvaEFTQUNRUWhxSVFJZ0FFRUlhaUVBSUJCQkNHb2hFQ0FWUVFKcUloVWdIRWtOQUFzZ0pnVkJBQXNnR2trRWZ5QUtLQUlBSVJZZ0FBSi9JQkVvQWdBZ0RHdXl1eUlGUkR2ZlQ0Mlhidlkvb2lJR21VUUFBQUFBQUFEZ1FXTUVRQ0FHcWd3QkMwR0FnSUNBZUFzZ0VDZ0NBQ0lWYWlJU0lBa2dDU0FTU2h0QkFDQVNRUUJPR3pZQ0FDQUNJQlVDZnlBV0lBeHJzcnNpQmtScXZIU1RHQVRXUDZJZ0JVUU1BaXVIRnRubVA2S2dJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDMnNpRWlBSklBa2dFa29iUVFBZ0VrRUFUaHMyQWdBZ0FRSi9JQVpFSnpFSXJCeGEvRCtpSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lBVmFpSVZJQWtnQ1NBVlNodEJBQ0FWUVFCT0d6WUNBQ0FLS0FJQUlSVWdDd0ovSUJFb0FnQWdER3V5dXlJRlJEdmZUNDJYYnZZL29pSUdtVVFBQUFBQUFBRGdRV01FUUNBR3Fnd0JDMEdBZ0lDQWVBc2dGQ2dDQUNJTGFpSVVJQWtnQ1NBVVNodEJBQ0FVUVFCT0d6WUNBQ0FUSUFzQ2Z5QVZJQXhyc3JzaUJrUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0QzJzaUV5QUpJQWtnRTBvYlFRQWdFMEVBVGhzMkFnQWdEd0ovSUFaRUp6RUlyQnhhL0QraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5QUxhaUlMSUFrZ0NTQUxTaHRCQUNBTFFRQk9HellDQUNBUlFRUnFJUkVnQ2tFRWFpRUtJQUpCQkdvaEFpQVFRUVJxSVJBZ0FFRUVhaUVBSUFGQkJHb0ZJQUVMSUExcUlRRWdBaUFOYWlFQ0lBQWdEV29oQUNBTklCQnFJUkFnSUVFQ2FpSWdJQjFKRFFBTElDVkJmbkZCQW1vRlFRQUxJQjVQRFFBZ0d3UkFJQUFDZjBFQUlBeHJzcnNpQlVRNzMwK05sMjcyUDZJaUJwbEVBQUFBQUFBQTRFRmpCRUFnQnFvTUFRdEJnSUNBZ0hnTElCQW9BZ0FpQzJvaURTQUpJQWtnRFVvYlFRQWdEVUVBVGhzMkFnQWdBaUFMQW44Z0JVUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0QzJzaURTQUpJQWtnRFVvYlFRQWdEVUVBVGhzMkFnQWdBUUovSUFWRUp6RUlyQnhhL0QraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5QUxhaUlMSUFrZ0NTQUxTaHRCQUNBTFFRQk9HellDQUNBQ1FRUnFJUUlnRUVFRWFpRVFJQUZCQkdvaEFTQUFRUVJxSVFBTElCcEJmbkVpSUFSL0lDQkJBV3NpQzBGK2NTRTdBa0FDZjBFQUlDQkJEMGtOQUJwQkFDQUFJQUlnQzBFQmRpSVVRUU4wUVFocUloTnFJZ3RKSUFJZ0FDQVRhaUlOU1hFTkFCcEJBQ0FCSUExSklBQWdBU0FUYWlJUFNYRU5BQnBCQUNBQUlCQWdFMm9pRTBrZ0RTQVFTM0VOQUJwQkFDQUtJQTFKSUFBZ0NpQVVRUUowUVFScUloNXFJaHRKY1EwQUdrRUFJQTBnRVVzZ0FDQVJJQjVxSWcxSmNRMEFHa0VBSUFJZ0Qwa2dBU0FMU1hFTkFCcEJBQ0FDSUJOSklBc2dFRXR4RFFBYVFRQWdDaUFMU1NBQ0lCdEpjUTBBR2tFQUlBSWdEVWtnQ3lBUlMzRU5BQnBCQUNBQklCTkpJQThnRUV0eERRQWFRUUFnQ2lBUFNTQUJJQnRKY1EwQUdrRUFJQUVnRFVrZ0R5QVJTM0VOQUJvZ0NpQVVRUUZxSWhaQi9QLy8vd2R4SWh0QkFuUWlJbW9oQ3lBQklCdEJBM1FpSG1vaERTQUFJQjVxSVE4Z0NmMFJJVDhnRFAwUklVTkJBQ0VUQTBBZ0VDQVRRUU4wSWhSQkdISWlIV29pSXlBUUlCUkJFSElpSEdvaUpDQVFJQlJCQ0hJaUZXb2lKU0FRSUJScUlpYjlDUUlBL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJVDBDZnlBUklCTkJBblFpSDJyOUFBSUFJRVA5c1FIOStnRWlQdjFmSWtEOUREdmZUNDJYYnZZL085OVBqWmR1OWovOThnRWlRZjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzaEp5QUtJQjlxL1FBQ0FDRkNJQUFnRkdvaUgvME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDQTlBbjhnUWYwaEFDSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlFU0FuL1J3QkFuOGdQaUErL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL1Y4aVFmME1POTlQalpkdTlqODczMCtObDI3MlAvM3lBU0krL1NFQUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMGNBZ0ovSUQ3OUlRRWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndESWtUOXJnRWlQaUEvL2JZQklENzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTSWo3OVdnSUFBQ0FBSUJWcUlpY2dQdjFhQWdBQklBQWdIR29pS1NBKy9Wb0NBQUlnQUNBZGFpSXFJRDc5V2dJQUF3Si9JRUlnUS8yeEFmMzZBU0krL1Y4aVF2ME1hcngwa3hnRTFqOXF2SFNUR0FUV1AvM3lBU0JBL1F3TUFpdUhGdG5tUHd3Q0s0Y1cyZVkvL2ZJQi9mQUJJa0Q5SVFFaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElTZ2dBaUFVYWlJci9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlEMENmeUJBL1NFQUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMFJJQ2o5SEFFQ2Z5QSsvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvVjhpUVAwTWFyeDBreGdFMWo5cXZIU1RHQVRXUC8zeUFTQkIvUXdNQWl1SEZ0bm1Qd3dDSzRjVzJlWS8vZklCL2ZBQklqNzlJUUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3Q0FuOGdQdjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBTWlRZjJ4QVNJK0lELzl0Z0VnUHYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WSWlQdjFhQWdBQUlBSWdGV29pS0NBKy9Wb0NBQUVnQWlBY2FpSXNJRDc5V2dJQUFpQUNJQjFxSWkwZ1B2MWFBZ0FEQW44Z1F2ME1KekVJckJ4YS9EOG5NUWlzSEZyOFAvM3lBU0krL1NFQklnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5RXVJQUVnRkdvaUZQME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDQTlBbjhnUHYwaEFDSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlFU0F1L1J3QkFuOGdRUDBNSnpFSXJCeGEvRDhuTVFpc0hGcjhQLzN5QVNJOS9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBjQWdKL0lEMzlJUUVpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3RElrRDlyZ0VpUFNBLy9iWUJJRDM5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5T2YxU0lqMzlXZ0lBQUNBQklCVnFJaFVnUGYxYUFnQUJJQUVnSEdvaUhDQTkvVm9DQUFJZ0FTQWRhaUlkSUQzOVdnSUFBeUFmL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUNOQkJHb2dKRUVFYWlBbFFRUnFJQ2I5Q1FJRS9WWUNBQUg5VmdJQUF2MVdBZ0FESWo0Z1JQMnVBU0k5SUQvOXRnRWdQZjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZJaVBmMWFBZ1FBSUNjZ1BmMWFBZ1FCSUNrZ1BmMWFBZ1FDSUNvZ1BmMWFBZ1FESUN2OURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ1BpQkIvYkVCSWowZ1AvMjJBU0E5L1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1RuOVVpSTkvVm9DQkFBZ0tDQTkvVm9DQkFFZ0xDQTkvVm9DQkFJZ0xTQTkvVm9DQkFNZ0ZQME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDQStJRUQ5cmdFaVBTQS8vYllCSUQzOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVNJajM5V2dJRUFDQVZJRDM5V2dJRUFTQWNJRDM5V2dJRUFpQWRJRDM5V2dJRUF5QVRRUVJxSWhNZ0cwY05BQXNnRVNBaWFpRVJJQkFnSG1vaEVDQUNJQjVxSVFJZ0ZpQWJSZ1JBSUE4aEFDQU5JUUVnQ3lFS0RBSUxJQThoQUNBTklRRWdDeUVLSUJ0QkFYUUxJUXNEUUNBS0tBSUFJUk1nQUFKL0lCRW9BZ0FnREd1eXV5SUZSRHZmVDQyWGJ2WS9vaUlHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNnRUNnQ0FDSU5haUlQSUFrZ0NTQVBTaHRCQUNBUFFRQk9HellDQUNBQ0lBMENmeUFUSUF4cnNyc2lCa1JxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMyc2lEeUFKSUFrZ0Qwb2JRUUFnRDBFQVRoczJBZ0FnQVFKL0lBWkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFOYWlJTklBa2dDU0FOU2h0QkFDQU5RUUJPR3pZQ0FDQUtLQUlBSVJNZ0FBSi9JQkVvQWdBZ0RHdXl1eUlGUkR2ZlQ0Mlhidlkvb2lJR21VUUFBQUFBQUFEZ1FXTUVRQ0FHcWd3QkMwR0FnSUNBZUFzZ0VDZ0NCQ0lOYWlJUElBa2dDU0FQU2h0QkFDQVBRUUJPR3pZQ0JDQUNJQTBDZnlBVElBeHJzcnNpQmtScXZIU1RHQVRXUDZJZ0JVUU1BaXVIRnRubVA2S2dJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDMnNpRHlBSklBa2dEMG9iUVFBZ0QwRUFUaHMyQWdRZ0FRSi9JQVpFSnpFSXJCeGEvRCtpSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lBTmFpSU5JQWtnQ1NBTlNodEJBQ0FOUVFCT0d6WUNCQ0FSUVFScUlSRWdDa0VFYWlFS0lBRkJDR29oQVNBQ1FRaHFJUUlnQUVFSWFpRUFJQkJCQ0dvaEVDQUxRUUpxSWdzZ0lFa05BQXNMSUR0QkFtb0ZRUUFMSUJwUERRQWdDaWdDQUNFTElBQUNmeUFSS0FJQUlBeHJzcnNpQlVRNzMwK05sMjcyUDZJaUJwbEVBQUFBQUFBQTRFRmpCRUFnQnFvTUFRdEJnSUNBZ0hnTElCQW9BZ0FpQUdvaUNpQUpJQWtnQ2tvYlFRQWdDa0VBVGhzMkFnQWdBaUFBQW44Z0N5QU1hN0s3SWdaRWFyeDBreGdFMWoraUlBVkVEQUlyaHhiWjVqK2lvQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXRySWdJZ0NTQUNJQWxJRzBFQUlBSkJBRTRiTmdJQUlBRUNmeUFHUkNjeENLd2NXdncvb2lJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzZ0FHb2lBQ0FKSUFBZ0NVZ2JRUUFnQUVFQVRoczJBZ0FMSUJjb0FoZ29BaXdRRUNBWEtBSVlJZ0FnQnpZQ0xDQUFLQUpnRUJBZ0Z5Z0NHQ0lBSUFnMkFtQWdBQ2dDbEFFUUVDQVhLQUlZSWdBZ0RqWUNsQUVnQUNBQS9RQUNBQ0kvL1FzQ2FDQUFJRC85Q3dJMElCZEJBVFlDRkFzTUJ3c2dBU2dDQkVFQlJ3MEJJQUVvQWpoQkFVY05BU0FCS0FKc1FRRkhEUUVnQVNnQ0dDRUFJQUVvQXBRQklRSWdBU2dDWUNFSElBRW9BaXdoRENBQktBSUlJZ29nQVNnQ0RDSVdiRUVDZENJQkVCZ2hEeUFCRUJnaEZ5QUJFQmdoQ1NBUFJRMEZJQmRGRFFVZ0NVVU5CU0FXQkVBZ0NpQU5LQUlBUVFGeEloOXJJU0lDZjBFQVFRRWdBRUVCYTNRaUZHdXl1eUlGUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCcGxFQUFBQUFBQUE0RUZqQkVBZ0Jxb01BUXRCZ0lDQWdIZ0xJU2RCZnlBQWRDRThJQ0pCZm5FaUhVRUJheUlLUVFGMklnQkJBV29oSXdKL0lBVkVKekVJckJ4YS9EK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUVwSUFwQmZuRWhDaUFBUVFKMElRZ2dBRUVEZENFQUlDTkJmSEVoR3lBOFFYOXpJUkVDZnlBRlJEdmZUNDJYYnZZL29pSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hLaUFLUVFKcUlTUWdDRUVFYWlFbElBQkJDR29oSUNBYlFRSjBJU1lnRzBFRGRDRWVJQnRCQVhRaEVDQVIvUkVoUHlBVS9SRWhReUFkUVFkSklTZ2dEeUVLSUJjaEFDQUpJUTREUUNBZkJFQWdDaUFNS0FJQUlnRWdLbW9pQ0NBUklBZ2dFVWdiUVFBZ0NFRUFUaHMyQWdBZ0FDQUJJQ2RySWdnZ0VTQUlJQkZJRzBFQUlBaEJBRTRiTmdJQUlBNGdBU0FwYWlJQklCRWdBU0FSU0J0QkFDQUJRUUJPR3pZQ0FDQU9RUVJxSVE0Z0NrRUVhaUVLSUF4QkJHb2hEQ0FBUVFScUlRQUxBbjhDZnlBZFJRUkFJQWNoQVNBT0lRc2dDaUVJUVFBTUFRdEJBQ0VaQWtBQ1FDQW9EUUFnQ2lBQUlDQnFJZ0ZKSUFBZ0NpQWdhaUlJU1hFTkFDQUtJQTRnSUdvaUMwa2dDQ0FPUzNFTkFDQUtJQXdnSUdvaUdra2dDQ0FNUzNFTkFDQUhJQWhKSUFvZ0J5QWxhaUljU1hFTkFDQUNJQWhKSUFvZ0FpQWxhaUlJU1hFTkFDQUFJQXRKSUFFZ0RrdHhEUUFnQUNBYVNTQUJJQXhMY1EwQUlBQWdIRWtnQVNBSFMzRU5BQ0FBSUFoSklBRWdBa3R4RFFBZ0RpQWFTU0FMSUF4TGNRMEFJQTRnSEVrZ0J5QUxTWEVOQUNBQ0lBdEpJQWdnRGt0eERRQWdCeUFtYWlFQklBNGdIbW9oQ3lBS0lCNXFJUWdEUUNBTUlCbEJBM1FpR2tFWWNpSWNhaUlySUF3Z0drRVFjaUlWYWlJc0lBd2dHa0VJY2lJU2FpSXRJQXdnR21vaUx2MEpBZ0Q5VmdJQUFmMVdBZ0FDL1ZZQ0FBTWhQUUovSUFJZ0dVRUNkQ0l2YXYwQUFnQWdRLzJ4QWYzNkFTSSsvVjhpUVAwTU85OVBqWmR1OWo4NzMwK05sMjcyUC8zeUFTSkIvU0VCSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lFd0lBY2dMMnI5QUFJQUlVSWdDaUFhYWlJdi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlEMENmeUJCL1NFQUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMFJJREQ5SEFFQ2Z5QStJRDc5RFFnSkNnc01EUTRQQUFFQ0F3QUJBZ1A5WHlKQi9RdzczMCtObDI3MlB6dmZUNDJYYnZZLy9mSUJJajc5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0NBbjhnUHYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQU1pUlAydUFTSStJRC85dGdFZ1B2ME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVklpUHYxYUFnQUFJQW9nRW1vaU1DQSsvVm9DQUFFZ0NpQVZhaUl5SUQ3OVdnSUFBaUFLSUJ4cUlqTWdQdjFhQWdBREFuOGdRaUJEL2JFQi9mb0JJajc5WHlKQy9ReHF2SFNUR0FUV1AycThkSk1ZQk5ZLy9mSUJJRUQ5REF3Q0s0Y1cyZVkvREFJcmh4Ylo1ai85OGdIOThBRWlRUDBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzaE1TQUFJQnBxSWpUOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ1BRSi9JRUQ5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9SRWdNZjBjQVFKL0lENzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlEUWdKQ2dzTURRNFBBQUVDQXdBQkFnUDlYeUpBL1F4cXZIU1RHQVRXUDJxOGRKTVlCTlkvL2ZJQklFSDlEQXdDSzRjVzJlWS9EQUlyaHhiWjVqLzk4Z0g5OEFFaVB2MGhBQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFJQ2Z5QSsvU0VCSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wY0F5SkIvYkVCSWo0Z1AvMjJBU0ErL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1RuOVVpSSsvVm9DQUFBZ0FDQVNhaUl4SUQ3OVdnSUFBU0FBSUJWcUlqVWdQdjFhQWdBQ0lBQWdIR29pTmlBKy9Wb0NBQU1DZnlCQy9Rd25NUWlzSEZyOFB5Y3hDS3djV3Z3Ly9mSUJJajc5SVFFaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElUY2dEaUFhYWlJYS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlEMENmeUErL1NFQUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMFJJRGY5SEFFQ2Z5QkEvUXduTVFpc0hGcjhQeWN4Q0t3Y1d2dy8vZklCSWozOUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndDQW44Z1BmMGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFNaVFQMnVBU0k5SUQvOXRnRWdQZjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZJaVBmMWFBZ0FBSUE0Z0Vtb2lFaUE5L1ZvQ0FBRWdEaUFWYWlJVklEMzlXZ0lBQWlBT0lCeHFJaHdnUGYxYUFnQURJQy85REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnSzBFRWFpQXNRUVJxSUMxQkJHb2dMdjBKQWdUOVZnSUFBZjFXQWdBQy9WWUNBQU1pUGlCRS9hNEJJajBnUC8yMkFTQTkvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvVG45VWlJOS9Wb0NCQUFnTUNBOS9Wb0NCQUVnTWlBOS9Wb0NCQUlnTXlBOS9Wb0NCQU1nTlAwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBK0lFSDlzUUVpUFNBLy9iWUJJRDM5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5T2YxU0lqMzlXZ0lFQUNBeElEMzlXZ0lFQVNBMUlEMzlXZ0lFQWlBMklEMzlXZ0lFQXlBYS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlENGdRUDJ1QVNJOUlELzl0Z0VnUGYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WSWlQZjFhQWdRQUlCSWdQZjFhQWdRQklCVWdQZjFhQWdRQ0lCd2dQZjFhQWdRRElCbEJCR29pR1NBYlJ3MEFDeUFDSUNacUlRSWdEQ0FlYWlFTUlBQWdIbW9oQUNBUUlSa2dKQ0FiSUNOR0RRSWFEQUVMSUFvaENDQU9JUXNnQnlFQkN3TkFJQUVvQWdBaERpQUlBbjhnQWlnQ0FDQVVhN0s3SWdWRU85OVBqWmR1OWoraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5QU1LQUlBSWdwcUlnY2dFU0FISUJGSUcwRUFJQWRCQUU0Yk5nSUFJQUFnQ2dKL0lBNGdGR3V5dXlJR1JHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMYXlJSElCRWdCeUFSU0J0QkFDQUhRUUJPR3pZQ0FDQUxBbjhnQmtRbk1RaXNIRnI4UDZJaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElBcHFJZ29nRVNBS0lCRklHMEVBSUFwQkFFNGJOZ0lBSUFFb0FnQWhEaUFJQW44Z0FpZ0NBQ0FVYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFNS0FJRUlncHFJZ2NnRVNBSElCRklHMEVBSUFkQkFFNGJOZ0lFSUFBZ0NnSi9JQTRnRkd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SUhJQkVnQnlBUlNCdEJBQ0FIUVFCT0d6WUNCQ0FMQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQXBxSWdvZ0VTQUtJQkZJRzBFQUlBcEJBRTRiTmdJRUlBSkJCR29oQWlBQlFRUnFJUUVnQzBFSWFpRUxJQUJCQ0dvaEFDQUlRUWhxSVFnZ0RFRUlhaUVNSUJsQkFtb2lHU0FkU1EwQUN5QWtDeUFpVHdSQUlBRWhCeUFJSVFvZ0N3d0JDeUFCS0FJQUlRNGdDQUovSUFJb0FnQWdGR3V5dXlJRlJEdmZUNDJYYnZZL29pSUdtVVFBQUFBQUFBRGdRV01FUUNBR3Fnd0JDMEdBZ0lDQWVBc2dEQ2dDQUNJS2FpSUhJQkVnQnlBUlNCdEJBQ0FIUVFCT0d6WUNBQ0FBSUFvQ2Z5QU9JQlJyc3JzaUJrUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0QzJzaUJ5QVJJQWNnRVVnYlFRQWdCMEVBVGhzMkFnQWdDd0ovSUFaRUp6RUlyQnhhL0QraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5QUthaUlLSUJFZ0NpQVJTQnRCQUNBS1FRQk9HellDQUNBQ1FRUnFJUUlnQVVFRWFpRUhJQUJCQkdvaEFDQUlRUVJxSVFvZ0RFRUVhaUVNSUF0QkJHb0xJUTRnRTBFQmFpSVRJQlpIRFFBTEN5QU5LQUlZS0FJc0VCQWdEU2dDR0NJQUlBODJBaXdnQUNnQ1lCQVFJQTBvQWhnaUFDQVhOZ0pnSUFBb0FwUUJFQkFnRFNnQ0dDSUFJQWsyQXBRQklBQWdBUDBBQWdBaVAvMExBbWdnQUNBLy9Rc0NOQ0FOUVFFMkFoUkJBQ0VaREFZTElBRW9BbWhCQVVjTkFDQUJLQUlFUVFGSERRQWdBU2dDT0VFQlJ3MEFJQUVvQW14QkFVY05BQ0FCS0FJWUlRSWdBU2dDbEFFaENDQUJLQUpnSVF3Z0FTZ0NMQ0VBSUFFb0Fnd2dBU2dDQ0d3aUYwRUNkQ0lCRUJnaEJ5QUJFQmdoRHlBQkVCZ2hEZ0pBSUFkRkRRQWdEMFVOQUNBT1JRMEFJQmRGRFFSQmZ5QUNkRUYvY3lFWlFRRWdBa0VCYTNRaEVTQVhRUWhKRFFJZ0R5QUhhMEVRU1EwQ0lBNGdCMnRCRUVrTkFpQUhJQUJyUVJCSkRRSWdCeUFNYTBFUVNRMENJQWNnQ0d0QkVFa05BaUFPSUE5clFSQkpEUUlnRHlBQWEwRVFTUTBDSUE4Z0RHdEJFRWtOQWlBUElBaHJRUkJKRFFJZ0RpQUFhMEVRU1EwQ0lBNGdER3RCRUVrTkFpQU9JQWhyUVJCSkRRSWdDQ0FYUVh4eElncEJBblFpQ1dvaEN5QUpJQTVxSVFFZ0J5QUphaUVDSUJuOUVTRS9JQkg5RVNFOUEwQUNmeUFJSUJOQkFuUWlFR3I5QUFJQUlEMzlzUUg5K2dFaVB2MWZJa0Q5RER2ZlQ0MlhidlkvTzk5UGpaZHU5ai85OGdFaVFmMGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNoRkNBTUlCQnEvUUFDQUNGQ0lBY2dFR3I5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUNBUWF2MEFBZ0FpUXdKL0lFSDlJUUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1JFZ0ZQMGNBUUovSUQ0Z1B2ME5DQWtLQ3d3TkRnOEFBUUlEQUFFQ0EvMWZJajc5RER2ZlQ0MlhidlkvTzk5UGpaZHU5ai85OGdFaVFmMGhBQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFJQ2Z5QkIvU0VCSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wY0EvMnVBU0pCSUQvOXRnRWdRZjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZMOUN3SUFBbjhnUWlBOS9iRUIvZm9CSWtIOVh5SkMvUXhxdkhTVEdBVFdQMnE4ZEpNWUJOWS8vZklCSUVEOURBd0NLNGNXMmVZL0RBSXJoeGJaNWovOThnSDk4QUVpUVAwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hGQ0FQSUJCcS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlFTUNmeUJBL1NFQUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMFJJQlQ5SEFFQ2Z5QkIvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvVjhpUVAwTWFyeDBreGdFMWo5cXZIU1RHQVRXUC8zeUFTQSsvUXdNQWl1SEZ0bm1Qd3dDSzRjVzJlWS8vZklCL2ZBQklqNzlJUUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3Q0FuOGdQdjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBUDlzUUVpUGlBLy9iWUJJRDc5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5T2YxUy9Rc0NBQUovSUVMOURDY3hDS3djV3Z3L0p6RUlyQnhhL0QvOThnRWlQdjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzaEZDQU9JQkJxL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUVNQ2Z5QSsvU0VBSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wUklCVDlIQUVDZnlCQS9Rd25NUWlzSEZyOFB5Y3hDS3djV3Z3Ly9mSUJJajc5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0NBbjhnUHYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQVA5cmdFaVBpQS8vYllCSUQ3OURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVMvUXNDQUNBVFFRUnFJaE1nQ2tjTkFBc2dDaUFYUmcwRUlBa2dER29oRENBQUlBbHFJUUFnQ1NBUGFnd0RDeUFIRUJBZ0R4QVFJQTRRRUF3RkN5QVlRYmtETmdJRUlCaEJ1QW8yQWdCQjZNUUJRY0krSUJnUUZnd0VDeUFISVFJZ0RpRUJJQWdoQ3lBUEN5RUlBMEFnRENnQ0FDRVRJQUlDZnlBTEtBSUFJQkZyc3JzaUJVUTczMCtObDI3MlA2SWlCcGxFQUFBQUFBQUE0RUZqQkVBZ0Jxb01BUXRCZ0lDQWdIZ0xJQUFvQWdBaUNXb2lFQ0FaSUJBZ0dVZ2JRUUFnRUVFQVRoczJBZ0FnQ0NBSkFuOGdFeUFSYTdLN0lnWkVhcngwa3hnRTFqK2lJQVZFREFJcmh4Ylo1aitpb0NJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF0ckloQWdHU0FRSUJsSUcwRUFJQkJCQUU0Yk5nSUFJQUVDZnlBR1JDY3hDS3djV3Z3L29pSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2dDV29pQ1NBWklBa2dHVWdiUVFBZ0NVRUFUaHMyQWdBZ0FVRUVhaUVCSUFoQkJHb2hDQ0FDUVFScUlRSWdDMEVFYWlFTElBeEJCR29oRENBQVFRUnFJUUFnQ2tFQmFpSUtJQmRIRFFBTEN5QU5LQUlZS0FJc0VCQWdEU2dDR0NJQUlBYzJBaXdnQUNnQ1lCQVFJQTBvQWhnaUFDQVBOZ0pnSUFBb0FwUUJFQkFnRFNnQ0dDQU9OZ0tVQVNBTlFRRTJBaFJCQUNFWkRBRUxJQThRRUNBWEVCQWdDUkFRQ3lBWUtBSWdJUUFDUUNBRERRQWdJVVVOQUNBQUtBSVlJUTVCQUNFVEEwQWdEaUFUUVRSc2FpSURLQUlZSWdKQkNFY0VRQUpBSUFKQkIwMEVRQ0FES0FJTUlBTW9BZ2hzSVFFZ0F5Z0NMQ0VLSUFNb0FpQUVRQ0FCUlEwQ1FRRWdBa0VCYTNTdElVVkJBQ0VISUFGQkJFOEVRQ0FCUVh4eElRY2dSZjBTSVQ5QkFDRU1BMEFnQ2lBTVFRSjBhaUlDSUFMOUFBSUFJajM5eHdGQkIvM0xBU0krL1IwQUlELzlIUUFpUm4vOUVpQSsvUjBCSUQvOUhRRWlSMy85SGdFZ1BTQS8vUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvY2NCUVFmOXl3RWlQZjBkQUNCR2YvMFNJRDM5SFFFZ1IzLzlIZ0g5RFFBQkFnTUlDUW9MRUJFU0V4Z1pHaHY5Q3dJQUlBeEJCR29pRENBSFJ3MEFDeUFCSUFkR0RRTUxBMEFnQ2lBSFFRSjBhaUlDSUFJMEFnQkNCNFlnUlg4K0FnQWdCMEVCYWlJSElBRkhEUUFMREFJTElBRkZEUUZCZnlBQ2RFRi9jNjBoUlVFQUlRY2dBVUVFVHdSQUlBRkJmSEVoQnlCRi9SSWhQMEVBSVF3RFFDQUtJQXhCQW5ScUlnSWdBdjBBQWdBaVBmM0pBZjBNL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDNWQVNJKy9SMEFJRC85SFFBaVJvRDlFaUErL1IwQklELzlIUUVpUjREOUhnRWdQU0EvL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL2NrQi9Rei9BQUFBQUFBQUFQOEFBQUFBQUFBQS9kVUJJajM5SFFBZ1JvRDlFaUE5L1IwQklFZUEvUjRCL1EwQUFRSURDQWtLQ3hBUkVoTVlHUm9iL1FzQ0FDQU1RUVJxSWd3Z0IwY05BQXNnQVNBSFJnMENDd05BSUFvZ0IwRUNkR29pQWlBQ05RSUFRdjhCZmlCRmdENENBQ0FIUVFGcUlnY2dBVWNOQUFzTUFRc2dBa0VJYXlFS0lBTW9BZ3dnQXlnQ0NHd2hBU0FES0FJc0lRZ2dBeWdDSUFSQUlBRkZEUUZCQUNFSElBRkJCRThFUUNBQlFYeHhJUWRCQUNFQ0EwQWdDQ0FDUVFKMGFpSUxJQXY5QUFJQUlBcjlyQUg5Q3dJQUlBSkJCR29pQWlBSFJ3MEFDeUFCSUFkR0RRSUxBMEFnQ0NBSFFRSjBhaUlDSUFJb0FnQWdDblUyQWdBZ0IwRUJhaUlISUFGSERRQUxEQUVMSUFGRkRRQkJBQ0VISUFGQkJFOEVRQ0FCUVh4eElRZEJBQ0VDQTBBZ0NDQUNRUUowYWlJTElBdjlBQUlBSUFyOXJRSDlDd0lBSUFKQkJHb2lBaUFIUncwQUN5QUJJQWRHRFFFTEEwQWdDQ0FIUVFKMGFpSUNJQUlvQWdBZ0NuWTJBZ0FnQjBFQmFpSUhJQUZIRFFBTEN5QURRUWcyQWhnTElCTkJBV29pRXlBaFJ3MEFDd3NnQUNnQ0RDQUFLQUlJYkNFQkFrQWdHVVVFUUNBQUtBSVVRUUpHQkVBZ0FDZ0NFRUVCUmdSQUlBQW9BaGdvQWl3Z0FSQU9EQU1MSUFSRkRRSWdBQ2dDR0NJQUtBSXNJQUFvQW1BZ0FSQUlEQUlMSUFBb0FoZ2lBQ2dDTENBQUtBSmdJQUFvQXBRQklBRVFCd3dCQ3dKQUFrQUNRQ0FoUVFGckRnUUFBd0VDQXdzZ0FDZ0NHQ2dDTENBQkVBWU1BZ3NnQUNnQ0dDSUFLQUlzSUFBb0FtQWdBQ2dDbEFFZ0FSQUZEQUVMSUFBb0FoZ2lBQ2dDTENBQUtBSmdJQUFvQXBRQklBQW9Bc2dCSUFFUUJBc2dHQ2dDSUJBaFFRQWhEQXNnR0VIZ3dBQnFKQUFnREFzSUFFRUlJQUFRSlF1ckFnSUNmZ0ovUW44aEF5QUFMUUJFUVFoeFJRUkFJQUFnQUNnQ0lDSUdOZ0lrQWtBQ1FBSkFJQUFnQUNnQ01DSUZCSDhEUUNBR0lBVWdBQ2dDQUNBQUtBSVVFUUFBSWdWQmYwWU5BaUFBSUFBb0FpUWdCV29pQmpZQ0pDQUFJQUFvQWpBZ0JXc2lCVFlDTUNBRkRRQUxJQUFvQWlBRklBWUxOZ0lrSUFGQ0FGVU5BVUlBSVFNTUFnc2dBQ0FBS0FKRVFRaHlOZ0pFSUFKQkJFR0I5UUJCQUJBUElBQkJBRFlDTUNBQUlBQW9Ba1JCQ0hJMkFrUkNmdzhMUWdBaEF3TkFJQUVnQUNnQ0FDQUFLQUlZRVFzQUlnUkNmMUVFUUNBQ1FRUkI4dlFBUVFBUUR5QUFJQUFvQWtSQkNISTJBa1FnQUNBQUtRTTRJQU44TndNNFFuOGdBeUFEVUJzUEN5QURJQVI4SVFNZ0FTQUVmU0lCUWdCVkRRQUxDeUFBSUFBcEF6Z2dBM3czQXpnTElBTUxJd0VCZnlBQklBRW9BZ0FnQVNnQ0NDSUJJQUNuSWdJZ0FTQUNTUnRxTmdJRVFRRUxQQUlDZndGK0lBRW9BZ0FnQVNnQ0NHb2lBeUFCS0FJRUlnSkdCRUJDZnc4TElBRWdBaUFBcDJvMkFnUWdBeUFDYTZ3aUJDQUFJQUFnQkZVYkM1Z0RBZ0orQW44Z0FDZ0NNQ0lGSUFHbklnWlBCRUFnQUNBRklBWnJOZ0l3SUFBZ0FDZ0NKQ0FHYWpZQ0pDQUFJQUFwQXpnZ0FYdzNBemdnQVE4TElBQXRBRVJCQkhFRVFDQUFRUUEyQWpBZ0FDQUFLQUlrSUFWcU5nSWtJQUFnQmEwaUFTQUFLUU00ZkRjRE9DQUJRbjhnQlJzUEN3SkFJQVZGQkVBTUFRc2dBRUVBTmdJd0lBQWdBQ2dDSURZQ0pDQUJJQVd0SWdOOUlRRUxJQUZDQUZVRVFBTkFJQUFwQXdnZ0FDa0RPQ0FCSUFOOGZGUUVRQ0FDUVFSQm0vVUFRUUFRRHlBQVFRQTJBakFnQUNBQUtBSWdOZ0lrSUFBZ0FDa0RPQ0FEZkNJRE53TTRJQUFwQXdnaUFTQURmU0VFSUFFZ0FDZ0NBQ0FBS0FJY0VRb0FJUVVnQUNnQ1JDRUNJQUFnQlFSL0lBQWdBVGNET0NBQ1FYdHhCU0FDQzBFRWNqWUNSRUovSUFRZ0FTQURVUnNQQ3lBQklBQW9BZ0FnQUNnQ0dCRUxBQ0lFUW45UkJFQWdBa0VFUVp2MUFFRUFFQThnQUNBQUtBSkVRUVJ5TmdKRUlBQWdBQ2tET0NBRGZEY0RPRUovSUFNZ0ExQWJEd3NnQXlBRWZDRURJQUVnQkgwaUFVSUFWUTBBQ3dzZ0FDQUFLUU00SUFOOE53TTRJQU1MbXdFQkJYOUJBU0FDS0FJSUlnY2dCMEVCVFJzaEJDQUNLQUlFSWdNZ0FpZ0NBR3NoQmdOQUlBUWlCVUVCZENFRUlBVWdCbXNnQVVrTkFBc2dCU0FIUndSQUlBVVFGQ0lEUlFSQVFYOFBDeUFDS0FJQUlnUUVRQ0FESUFRZ0JoQVNHaUFDS0FJQUVCQUxJQUlnQlRZQ0NDQUNJQU0yQWdBZ0FpQURJQVpxSWdNMkFnUUxJQU1nQUNBQkVCSWFJQUlnQWlnQ0JDQUJhallDQkNBQkMwWUJBbjhnQWlnQ0FDQUNLQUlJYWlJRUlBSW9BZ1FpQTBZRVFFRi9Ed3NnQUNBRElBUWdBMnNpQUNBQklBQWdBVWtiSWdBUUVob2dBaUFDS0FJRUlBQnFOZ0lFSUFBTHFnSUJCSDhqQUVFUWF5SUVKQUFDUUNBQUtBSjBEUUFnQWtFQlRRUkFJQU5CQVVIN3dnQkJBQkFQREFFTElBRWdCRUVNYWtFQ0VCRWdCQ2dDRENJR1FmLy9BM0VpQjBVRVFDQURRUUZCbk1NQVFRQVFEd3dCQ3lBQ0lBZEJCbXhCQW1wSkJFQWdBMEVCUWZ2Q0FFRUFFQThNQVFzZ0JrRUdiQkFVSWdORkRRQWdBRUVJRUJRaUFqWUNkQ0FDUlFSQUlBTVFFQXdCQ3lBQ0lBTTJBZ0FnQWlBRUx3RU1JZ0k3QVFRZ0FrVUVRRUVCSVFVTUFRdEJBQ0VDQTBBZ0FVRUNhaUFFUVF4cUlnVkJBaEFSSUFNZ0FrRUdiR29pQmlBRUtBSU1Pd0VBSUFGQkJHb2dCVUVDRUJFZ0JpQUVLQUlNT3dFQ0lBRkJCbW9pQVNBRlFRSVFFU0FHSUFRb0FndzdBUVJCQVNFRklBSkJBV29pQWlBQUtBSjBMd0VFU1EwQUN3c2dCRUVRYWlRQUlBVUw4QUVCQlg4akFFRVFheUlFSkFBQ2Z5QUFLQUo0SWdWRkJFQWdBMEVCUWMzQ0FFRUFFQTlCQUF3QkN5QUZLQUlNQkVBZ0EwRUJRZHZWQUVFQUVBOUJBQXdCQ3lBQ0lBVXRBQklpQlVFQ2RDSUdTUVJBSUFOQkFVR3N3Z0JCQUJBUFFRQU1BUXRCQUNBR0VCUWlBa1VOQUJvZ0JRUkFRUUFoQXdOQUlBRWdCRUVNYWlJSFFRSVFFU0FDSUFOQkFuUnFJZ1lnQkNnQ0REc0JBQ0FCUVFKcUlBZEJBUkFSSUFZZ0JDZ0NERG9BQWlBQlFRTnFJQWRCQVJBUklBWWdCQ2dDRERvQUF5QUJRUVJxSVFFZ0EwRUJhaUlESUFWSERRQUxDeUFBS0FKNElBSTJBZ3hCQVFzaENDQUVRUkJxSkFBZ0NBdndBd0VKZnlNQVFSQnJJZ1VrQUFKQUlBSkJBMGtOQUNBQUtBSjREUUFnQVNBRlFReHFRUUlRRVNBRkx3RU1JZ2xCZ1FoclFmOTNUUVJBSUFVZ0NUWUNBQ0FEUVFGQnRCb2dCUkFQREFFTElBRkJBbW9nQlVFTWFrRUJFQkVnQlM4QkRDSUlSUVJBSUFOQkFVSFVGMEVBRUE4TUFRc2dDRUVEYWlBQ1N3MEFJQWdnQ1d4QkFuUVFGQ0lIUlEwQUlBZ1FGQ0lLUlFSQUlBY1FFQXdCQ3lBSUVCUWlDMFVFUUNBSEVCQWdDaEFRREFFTFFSUVFGQ0lHUlFSQUlBY1FFQ0FLRUJBZ0N4QVFEQUVMSUFGQkEyb2hBeUFHSUFvMkFnZ2dCaUFMTmdJRUlBWWdDVHNCRUNBR0lBYzJBZ0FnQlNnQ0RDRU1JQVpCQURZQ0RDQUdJQXc2QUJJZ0FDQUdOZ0o0QTBBZ0F5QUZRUXhxUVFFUUVTQUVJQXBxSUFVdEFBeEIvd0J4UVFGcU9nQUFJQVFnQzJvZ0JTZ0NERUdBQVhGQkIzWTZBQUFnQTBFQmFpRURJQVJCQVdvaUJDQUlSdzBBQ3lBSlJRUkFRUUVoQkF3QkMwRUFJUVlEUUVFQUlRUkJBQ0VBQTBBZ0FrRUVJQVFnQ21vdEFBQkJCMnBCQTNZaUJDQUVRUVJQR3lJRUlBTWdBV3RxU0FSQVFRQWhCQXdEQ3lBRElBVkJER29nQkJBUklBY2dCU2dDRERZQ0FDQUhRUVJxSVFjZ0F5QUVhaUVESUFCQkFXb2lBRUgvL3dOeElnUWdDRWtOQUF0QkFTRUVJQVpCQVdvaUJrSC8vd054SUFsSkRRQUxDeUFGUVJCcUpBQWdCQXVZQVFFQ2Z5TUFRUkJySWdVa0FDQUFLQUlZSWdSQi93RkhCRUFnQlNBRU5nSUFJQU5CQWtIa0V5QUZFQThMQWtBQ1FDQUNJQUFvQWhSR0JFQWdBZzBCUVFFaEJBd0NDMEVBSVFRZ0EwRUJRYnZzQUVFQUVBOE1BUXRCQUNFQ0EwQkJBU0VFSUFFZ0FDZ0NTQ0FDUVF4c2FrRUlha0VCRUJFZ0FVRUJhaUVCSUFKQkFXb2lBaUFBS0FJVVNRMEFDd3NnQlVFUWFpUUFJQVFMamdZQkJuOGpBRUhRQUdzaUJDUUFBa0FnQWtFQ1RRUkFJQU5CQVVHYjdBQkJBQkFQREFFTElBQXRBSHdFUUNBRFFRUkI3dElBUVFBUUQwRUJJUVlNQVF0QkFTRUdJQUVnQUVFb2FrRUJFQkVnQVVFQmFpQUFRVFJxUVFFUUVTQUJRUUpxSUFCQkxHcEJBUkFSSUFGQkEyb2hCUUpBQWtBQ1FBSkFBa0FnQUNnQ0tDSUhRUUZyRGdJQUFRSUxJQUpCQmswRVFDQUVJQUkyQWhBZ0EwRUJRY0R4QUNBRVFSQnFFQTlCQUNFR0RBVUxBa0FnQWtFSFJnMEFJQUFvQWpCQkRrWU5BQ0FFSUFJMkFqQWdBMEVDUWNEeEFDQUVRVEJxRUE4TElBVWdBRUV3YWtFRUVCRWdBQ2dDTUVFT1J3MERRU1FRRkNJRlJRUkFRUUFoQmlBRFFRRkJzenhCQUJBUERBVUxJQVZCRGpZQ0FDQUVRUUEyQWtBZ0JFRUFOZ0k0SUFSQkFEWUNTQ0FFUVFBMkFqd2dCRUVBTmdKRUlBUkJBRFlDVEVHdzZwQUNJUVlnQkVHdzZwQUNOZ0kwSUFWQmdJeVZvZ1EyQWdRQ2Z5QUNRUWRIQkVBZ0FrRWpSZ1JBSUFGQkIyb2dCRUhNQUdwQkJCQVJJQUZCQzJvZ0JFSElBR3BCQkJBUklBRkJEMm9nQkVIRUFHcEJCQkFSSUFGQkUyb2dCRUZBYTBFRUVCRWdBVUVYYWlBRVFUeHFRUVFRRVNBQlFSdHFJQVJCT0dwQkJCQVJJQUZCSDJvZ0JFRTBha0VFRUJFZ0JVRUFOZ0lFSUFRb0FqUWhCaUFFS0FJNElRSWdCQ2dDUUNFRElBUW9BandoQnlBRUtBSkVJUWdnQkNnQ1RDRUpJQVFvQWtnTUFnc2dCQ0FDTmdJZ0lBTkJBa0hrOFFBZ0JFRWdhaEFQQzBFQUlRSkJBQ0VEUVFBaEIwRUFDeUVCSUFVZ0J6WUNHQ0FGSUFnMkFoQWdCU0FKTmdJSUlBVWdCallDSUNBRklBSTJBaHdnQlNBRE5nSVVJQVVnQVRZQ0RDQUFRUUEyQW5BZ0FDQUZOZ0pzREFNTElBQWdBa0VEYXlJQk5nSndJQUJCQVNBQkVCTWlBellDYkNBRFJRMEJJQUpCQTB3TkFrRUFJUUlEUUNBRklBUkJ6QUJxUVFFUUVTQUFLQUpzSUFKcUlBUW9Ba3c2QUFBZ0JVRUJhaUVGSUFKQkFXb2lBaUFCUncwQUN3d0NDeUFIUVFOSkRRSWdCQ0FITmdJQUlBTkJCRUhiOXdBZ0JCQVBEQUlMUVFBaEJpQUFRUUEyQW5BTUFRdEJBU0VHSUFCQkFUb0FmQXNnQkVIUUFHb2tBQ0FHQzdRREFRTi9Jd0JCSUdzaUJDUUFBa0FnQUNnQ1NBUkFJQU5CQWtHTk5VRUFFQTlCQVNFQ0RBRUxJQUpCRGtjRVFFRUFJUUlnQTBFQlFmcnJBRUVBRUE4TUFRc2dBU0FBUVJCcVFRUVFFU0FCUVFScUlBQkJER3BCQkJBUklBRkJDR29nQUVFVWFrRUNFQkVnQUNnQ0RDRUZBa0FnQkFKL0lBQW9BaEFpQmtVRVFDQUFLQUlVREFFTElBQW9BaFFpQWlBRlJRMEFHaUFDRFFGQkFBczJBZ2dnQkNBR05nSUVJQVFnQlRZQ0FDQURRUUZCM3VvQUlBUVFEMEVBSVFJTUFRc2dBa0dCZ0FGclFmLy9mazBFUUVFQUlRSWdBMEVCUVlqcUFFRUFFQThNQVFzZ0FDQUNRUXdRRXlJQ05nSklJQUpGQkVCQkFDRUNJQU5CQVVHdDZnQkJBQkFQREFFTFFRRWhBaUFCUVFwcUlBQkJHR3BCQVJBUklBRkJDMm9nQUVFY2FrRUJFQkVnQUNnQ0hDSUZRUWRIQkVBZ0JDQUZOZ0lRSUFOQkJFR2QrZ0FnQkVFUWFoQVBDeUFCUVF4cUlBQkJJR3BCQVJBUklBRkJEV29nQUVFa2FrRUJFQkVnQUNnQ0FDSUJJQUV0QUx3QlFmc0JjU0FBS0FJWVFmOEJSa0VDZEhJNkFMd0JJQUFvQWdBaUFTQUFLQUlNTmdMWUFTQUJJQUFvQWhBMkF0d0JJQUJCQVRvQWhRRUxJQVJCSUdva0FDQUNDN29FQVFaL0l3QkJFR3NpQmlRQUFuOGdBQzBBWkVFQ2NVVUVRQ0FEUVFGQmtkUUFRUUFRRDBFQURBRUxJQUJCQURZQ2FBSkFBa0FDUUNBQ0JFQURRQ0FDUVFkTkJFQWdBMEVCUWJrWlFRQVFEd3dGQ3lBQklBWkJER29pQlVFRUVCRWdCaWdDRENFRUlBRkJCR29nQlVFRUVCRkJDQ0VISUFZb0Fnd2hCUUpBQWtBQ1FBSkFJQVFPQWdFQUF3c2dBa0VRU1FSQVFlRVpJUVFNQndzZ0FVRUlhaUFHUVFocVFRUVFFU0FHS0FJSUJFQkJ5ajhoQkF3SEN5QUJRUXhxSUFaQkRHcEJCQkFSSUFZb0Fnd2lCQTBCUWJJWUlRUU1CZ3NnQTBFQlFiSVlRUUFRRHd3R0MwRVFJUWNMSUFRZ0Iwa0VRQ0FEUVFGQmhjVUFRUUFRRHd3RkN5QUNJQVJKQkVBZ0EwRUJRYjNFQUVFQUVBOUJBQXdHQ3dKQUFrQWdBQ0FCSUFkcUlBUWdCMnNnQXdKL0FrQUNRQUpBSUFWQjhkaTltd1pNQkVBZ0JVSGp4c0dUQmtZTkFTQUZRZWJLa1pzR1JnMERJQVZCOE1LMW13WkhEUVZCNE1BQkRBUUxJQVZCOHRpTmd3ZEdEUUZCd01BQklBVkI4c2loeXdaR0RRTWFJQVZCOHRpOW13WkhEUVJCeU1BQkRBTUxRZERBQVF3Q0MwSFl3QUVNQVF0QjZNQUJDeWdDQkJFQkFBMEJRUUFNQndzZ0FDQUFLQUpvUWYvLy8vOEhjallDYUF0QkFTQUlJQVZCOHNpaHl3WkdHeUVJSUFFZ0JHb2hBU0FDSUFScklnSU5BQXNnQ0EwQkN5QURRUUZCMmNNQVFRQVFEMEVBREFNTElBQkJBVG9BaEFFZ0FDQUFLQUprUVFSeU5nSmtRUUVNQWdzZ0EwRUJJQVJCQUJBUEN5QURRUUZCbmc1QkFCQVBRUUFMSVFrZ0JrRVFhaVFBSUFrTDRnRUJBWDhnQUNnQ1pFRUJSd1JBSUFOQkFVRysxQUJCQUJBUFFRQVBDd0pBSUFKQkIwMEVRQXdCQ3lBQklBQkJPR3BCQkJBUklBRkJCR29nQUVFOGFrRUVFQkVnQWtFRGNRUkFEQUVMSUFBZ0FrRUlheUlDUVFKMklnUTJBa0FDUUNBQ1JRMEFJQUFnQkVFRUVCTWlBallDUkNBQ1JRUkFJQU5CQVVHcEVFRUFFQTlCQUE4TElBQW9Ba0JGRFFBZ0FVRUlhaUVEUVFBaEFnTkFJQU1nQUNnQ1JDQUNRUUowYWtFRUVCRWdBMEVFYWlFRElBSkJBV29pQWlBQUtBSkFTUTBBQ3dzZ0FDQUFLQUprUVFKeU5nSmtRUUVQQ3lBRFFRRkJxaTFCQUJBUFFRQUx4QUVCQW44Z0FDQUFLQUlnSWdRMkFpUUNRQ0FBS0FJd0lnTUVRQU5BSUFRZ0F5QUFLQUlBSUFBb0FoUVJBQUFpQTBGL1JnMENJQUFnQUNnQ0pDQURhaUlFTmdJa0lBQWdBQ2dDTUNBRGF5SUROZ0l3SUFNTkFBc2dBQ2dDSUNFRUN5QUFRUUEyQWpBZ0FDQUVOZ0lrSUFFZ0FDZ0NBQ0FBS0FJY0VRb0FSUVJBSUFBZ0FDZ0NSRUVJY2pZQ1JFRUFEd3NnQUNBQk53TTRRUUVQQ3lBQUlBQW9Ba1JCQ0hJMkFrUWdBa0VFUVlIMUFFRUFFQThnQUNBQUtBSkVRUWh5TmdKRVFRQUxnZ0VCQW44akFFRVFheUlFSkFBQ2Z5QUFLQUprQkVBZ0EwRUJRZHZUQUVFQUVBOUJBQXdCQ3lBQ1FRUkhCRUFnQTBFQlFjNHRRUUFRRDBFQURBRUxJQUVnQkVFTWFrRUVFQkVnQkNnQ0RFR0tqcXJvQUVjRVFDQURRUUZCOWlWQkFCQVBRUUFNQVFzZ0FDQUFLQUprUVFGeU5nSmtRUUVMSVFVZ0JFRVFhaVFBSUFVTERRQWdBQ2dDQUNBQklBSVFSUXNKQUNBQUtBSUFFRW9MQ1FBZ0FDZ0NBQkJKQ3cwQUlBQW9BZ0FnQVNBQ0VFd0xRUUVCZnlBQ0JIOGdBMEVDUWR2TEFFRUFFQThnQUNnQ0FDQUJJQUlnQXlBRUVFWkZCRUFnQTBFQlFha3ZRUUFRRDBFQUR3c2dBQ0FDSUFNUWNRVkJBQXNMRlFBZ0FDZ0NBQ0FCSUFJZ0F5QUVJQVVnQmhCT0N3OEFJQUFvQWdBZ0FTQUNJQU1RVHdzVEFDQUFLQUlBSUFFZ0FpQURJQVFnQlJBckN4MEFJQUFvQWdBZ0FTQUNJQU1nQkNBRklBWWdCeUFJSUFrZ0NoQW5DK29FQVFkL0FrQWdBU2dDQ0VFMUlBTVFKRVVOQUNBQktBSUVJZ2NvQWdBaEJTQUhLQUlJSVFRQ1FDQUZCRUJCQVNFR0lBVkJBVWNFUUNBRlFYNXhJUW9EUUFKL1FRQWdCa1VOQUJwQkFDQUJJQUFnQXlBRUtBSUFFUUFBUlEwQUdpQUJJQUFnQXlBRUtBSUVFUUFBUVFCSEN5RUdJQVJCQ0dvaEJDQUpRUUpxSWdrZ0NrY05BQXNMQWtBZ0JVRUJjUVJBSUFaRkRRRWdBU0FBSUFNZ0JDZ0NBQkVBQUVFQVJ5RUdDeUFIUVFBMkFnQWdCa1VOQXd3Q0N5QUhRUUEyQWdCQkFBOExJQWRCQURZQ0FBc2dBU2dDQ0NJSEtBSUFJUVVnQnlnQ0NDRUVBa0FDUUFKL0FrQWdCUVJBUVFFaEJpQUZRUUZ4SVFnZ0JVRUJSdzBCUVFBTUFnc2dCMEVBTmdJQURBSUxJQVZCZm5FaEJVRUFJUWtEUUFKL1FRQWdCa1VOQUJwQkFDQUJJQUFnQXlBRUtBSUFFUUFBUlEwQUdpQUJJQUFnQXlBRUtBSUVFUUFBUVFCSEN5RUdJQVJCQ0dvaEJDQUpRUUpxSWdrZ0JVY05BQXNnQmtVTElRVWdDQVJBSUFVTkFpQUJJQUFnQXlBRUtBSUFFUUFBUVFCSElRWUxJQWRCQURZQ0FFRUFJUWdnQmtVTkFnc2dBUzBBaEFGRkJFQWdBMEVCUWIzV0FFRUFFQTlCQUE4TElBRXRBSVVCUlFSQUlBTkJBVUdnMWdCQkFCQVBRUUFQQ3lBQUlBRW9BZ0FnQWlBREVGQWhDQ0FDUlEwQklBSW9BZ0FpQUVVTkFVRUJJUVFDUUFKQUFrQUNRQUpBQWtBZ0FTZ0NNRUVNYXc0TkF3UUVCQVVBQVFRRUJBUUVBZ1FMUVFJaEJBd0VDMEVESVFRTUF3dEJCQ0VFREFJTFFRVWhCQXdCQzBGL0lRUUxJQUFnQkRZQ0ZDQUJLQUpzSWdORkRRRWdBQ0FETmdJY0lBSW9BZ0FnQVNnQ2NEWUNJQ0FCUVFBMkFtd2dDQThMSUFkQkFEWUNBRUVBSVFnTElBZ0w1QWtDQ244QmZpTUFRZkFBYXlJREpBQkJnQWdoQ0FKL0FrQkJBVUdBQ0JBVElnWUVRQ0FEUWR3QWFpRUxJQU5CN0FCcUlRa0RRQUpBQWtBQ1FDQUJJQU5CNkFCcUlnUkJDQ0FDRUJwQkNFY05BQ0FFSUFOQjJBQnFRUVFRRVNBSklBdEJCQkFSUVFnaEJRSkFBa0FDUUFKQUFrQWdBeWdDV0E0Q0FBRUVDeUFCS1FNSUlnMVFCSDVDQUFVZ0RTQUJLUU00ZlFzaURVTDQvLy8vRDFNTkFTQUNRUUZCeWo5QkFCQVBEQVFMSUFFZ0EwSG9BR29pQkVFSUlBSVFHa0VJUncwRElBUWdBMEhrQUdwQkJCQVJJQU1vQW1SRkRRRWdBa0VCUWNvL1FRQVFEd3dEQ3lBRElBMm5RUWhxTmdKWURBRUxJQWtnQTBIWUFHcEJCQkFSUVJBaEJRc2dBeWdDWENJRVFlUGt3Tk1HUmdSQUlBQW9BbVFpQVVFRWNRUkFJQUFnQVVFSWNqWUNaQXdDQ3lBQ1FRRkJyU3RCQUJBUElBWVFFRUVBREFjTElBTW9BbGdpQjBVRVFDQUNRUUZCc2hoQkFCQVBJQVlRRUVFQURBY0xJQVVnQjBzRVFDQURJQVEyQWdRZ0F5QUhOZ0lBSUFKQkFVSDY1d0FnQXhBUERBWUxBa0FDZndKL0FrQUNmd0pBQWtBQ1FBSkFBa0FnQkVIeDJMMmJCa3dFUUNBRVFlUEd3Wk1HUmcwQ0lBUkI1c3FSbXdaR0RRUWdCRUh3d3JXYkJrY05BVUhnd0FFTUJnc2dCRUdmd01EU0Jrd0VRQ0FFUWZMWXZac0dSZzBGUWNEQUFTQUVRZkxJb2NzR1JnMEdHaUFFUWZEeTBiTUdSdzBCUWFqQUFRd0lDeUFFUWZMWWpZTUhSZzBDSUFSQm9NREEwZ1pHRFFaQnNNQUJJQVJCNk9UQTB3WkdEUWNhQ3lBQUtBSmtJZ1JCQVhFTkNDQUNRUUZCL0E1QkFCQVBJQVlRRUVFQURBOExRZERBQVF3REMwSFl3QUVNQWd0QjZNQUJEQUVMUWNqQUFRc2hDaUFESUFSQi93RnhOZ0pNSUFNZ0JFRVlkallDUUNBRElBUkJDSFpCL3dGeE5nSklJQU1nQkVFUWRrSC9BWEUyQWtRZ0FrRUNRY2tPSUFOQlFHc1FEeUFISUFWcklnVWdBQzBBWkVFRWNRMENHaUFESUFNb0Fsd2lCRUVZZGpZQ01DQURJQVJCL3dGeE5nSThJQU1nQkVFUWRrSC9BWEUyQWpRZ0F5QUVRUWgyUWY4QmNUWUNPQ0FDUVFKQjJqTWdBMEV3YWhBUElBQWdBQ2dDWkVILy8vLy9CM0kyQW1RZ0FTQUZyU0lOSUFJZ0FTZ0NLQkVJQUNBTlVRMEhJQUpCQVVHU0hFRUFFQThnQmhBUVFRQU1DZ3RCb01BQkN5RUtJQWNnQldzTElRVWdBU2tEQ0NJTlVBUitRZ0FGSUEwZ0FTa0RPSDBMSUFXdFV3UkFJQU1vQWxnaEJDQURLQUpjSVFBZ0F5QUJLUU1JSWcxUUJINUNBQVVnRFNBQktRTTRmUXMrQWlnZ0F5QUZOZ0lrSUFNZ0FFSC9BWEUyQWlBZ0F5QUFRUmgyTmdJVUlBTWdCRFlDRUNBRElBQkJDSFpCL3dGeE5nSWNJQU1nQUVFUWRrSC9BWEUyQWhnZ0FrRUJRYzMxQUNBRFFSQnFFQThNQndzZ0JTQUlUUVJBSUFZaEJBd0VDeUFGSVFnZ0JpQUZFQmNpQkEwRElBWVFFQ0FDUVFGQi93OUJBQkFQUVFBTUJ3c2dCRUVDY1VVRVFDQUNRUUZCd2c5QkFCQVBJQVlRRUVFQURBY0xJQUFnQkVILy8vLy9CM0kyQW1RZ0FTQUhJQVZyclNJTklBSWdBU2dDS0JFSUFDQU5VUTBESUFBdEFHUkJDSEZGRFFFZ0FrRUNRWkljUVFBUUR3c2dCaEFRUVFFTUJRc2dBa0VCUVpJY1FRQVFEeUFHRUJCQkFBd0VDeUFCSUFRZ0JTQUNFQm9nQlVjRVFDQUNRUUZCeEJ4QkFCQVBJQVFRRUVFQURBUUxJQUFnQkNJR0lBVWdBaUFLS0FJRUVRRUFEUUFMSUFRUUVFRUFEQUlMSUFKQkFVR2lKVUVBRUE5QkFBd0JDeUFHRUJCQkFBc2hEQ0FEUWZBQWFpUUFJQXdMNWdFQkJuOGdBQ2dDQ0VFMUlBSVFKQVJBQWtBZ0FDZ0NDQ0lHS0FJQUlRTWdCaWdDQ0NFRkFrQUNRQUovQWtBZ0F3UkFRUUVoQkNBRFFRRnhJUWNnQTBFQlJ3MEJRUUFNQWdzZ0JrRUFOZ0lBREFJTElBTkJmbkVoQXdOQUFuOUJBQ0FFUlEwQUdrRUFJQUFnQVNBQ0lBVW9BZ0FSQUFCRkRRQWFJQUFnQVNBQ0lBVW9BZ1FSQUFCQkFFY0xJUVFnQlVFSWFpRUZJQWhCQW1vaUNDQURSdzBBQ3lBRVJRc2hBeUFIQkVBZ0F3MENJQUFnQVNBQ0lBVW9BZ0FSQUFCQkFFY2hCQXNnQmtFQU5nSUFJQVJGRFFJTElBQW9BZ0FhUVFFUEN5QUdRUUEyQWdBTEMwRUFDd29BSUFBb0FnQWFRUUFMRkFBZ0FDZ0NBQ0lBQkVBZ0FDQUJOZ0s0QVFzTElRQWdBQ2dDQUNBQkVGTWdBRUVBT2dCOElBQWdBU2dDdUVCQkFYRTJBb0FCQ3pJQUlBSkZCRUJCQUE4TElBQW9BZ0FnQVNBQ0lBTVFTRVVFUUNBRFFRRkJxUzlCQUJBUFFRQVBDeUFBSUFJZ0F4QnhDMmtDQW44QmZDTUFRUkJySWdNa0FDQUNCRUFEUUNBQUlBTkJDR29RUkNBQkFuOGdBeXNEQ0NJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzMkFnQWdBVUVFYWlFQklBQkJDR29oQUNBRVFRRnFJZ1FnQWtjTkFBc0xJQU5CRUdva0FBdUVBUUlDZndGOUl3QkJFR3NpQXlRQUlBSUVRQU5BSUFNZ0FDMEFBRG9BRHlBRElBQXRBQUU2QUE0Z0F5QUFMUUFDT2dBTklBTWdBQzBBQXpvQURDQUJBbjhnQXlvQ0RDSUZpME1BQUFCUFhRUkFJQVdvREFFTFFZQ0FnSUI0Q3pZQ0FDQUJRUVJxSVFFZ0FFRUVhaUVBSUFSQkFXb2lCQ0FDUncwQUN3c2dBMEVRYWlRQUMwc0JBbjhqQUVFUWF5SURKQUFnQWdSQUEwQWdBQ0FEUVF4cVFRUVFFU0FCSUFNb0FndzJBZ0FnQVVFRWFpRUJJQUJCQkdvaEFDQUVRUUZxSWdRZ0FrY05BQXNMSUFOQkVHb2tBQXRMQVFKL0l3QkJFR3NpQXlRQUlBSUVRQU5BSUFBZ0EwRU1ha0VDRUJFZ0FTQURLQUlNTmdJQUlBRkJCR29oQVNBQVFRSnFJUUFnQkVFQmFpSUVJQUpIRFFBTEN5QURRUkJxSkFBTFNnRUNmeU1BUVJCcklnTWtBQ0FDQkVBRFFDQUFJQU5CQ0dvUVJDQUJJQU1yQXdpMk9BSUFJQUZCQkdvaEFTQUFRUWhxSVFBZ0JFRUJhaUlFSUFKSERRQUxDeUFEUVJCcUpBQUxhQUVDZnlNQVFSQnJJZ01rQUNBQ0JFQURRQ0FESUFBdEFBQTZBQThnQXlBQUxRQUJPZ0FPSUFNZ0FDMEFBam9BRFNBRElBQXRBQU02QUF3Z0FTQURLZ0lNT0FJQUlBRkJCR29oQVNBQVFRUnFJUUFnQkVFQmFpSUVJQUpIRFFBTEN5QURRUkJxSkFBTFRBRUNmeU1BUVJCcklnTWtBQ0FDQkVBRFFDQUFJQU5CREdwQkJCQVJJQUVnQXlnQ0RMTTRBZ0FnQVVFRWFpRUJJQUJCQkdvaEFDQUVRUUZxSWdRZ0FrY05BQXNMSUFOQkVHb2tBQXRNQVFKL0l3QkJFR3NpQXlRQUlBSUVRQU5BSUFBZ0EwRU1ha0VDRUJFZ0FTQURLQUlNc3pnQ0FDQUJRUVJxSVFFZ0FFRUNhaUVBSUFSQkFXb2lCQ0FDUncwQUN3c2dBMEVRYWlRQUM2b0lBZzEvQVhzakFFRVFheUlJSkFBQ2Z5QUFLQUlJUVJCR0JFQWdBQ2dDbkFFZ0FDZ0N6QUZCakN4c2Fnd0JDeUFBS0FJTUN5RUpBa0FnQWtVRVFDQURRUUZCOEI5QkFCQVBEQUVMSUFBb0FrZ2hCa0VCSVFRZ0FTQUlRUWhxUVFFUUVTQUlLQUlJSWdWQkFrOEVRQ0FEUVFKQnhzZ0FRUUFRRHd3QkN5QUNJQVZCQVdwSEJFQkJBQ0VFSUFOQkFrSHdIMEVBRUE4TUFRc0NRQ0FHS0FJUUlnTkZEUUFnQ1NnQzBDc2hCQ0FEUVFoUEJFQWdBMEY0Y1NFR1FRQWhBZ05BSUFSQkFEWUN2RU1nQkVFQU5nS0VPeUFFUVFBMkFzd3lJQVJCQURZQ2xDb2dCRUVBTmdMY0lTQUVRUUEyQXFRWklBUkJBRFlDN0JBZ0JFRUFOZ0swQ0NBRVFjRERBR29oQkNBQ1FRaHFJZ0lnQmtjTkFBc0xJQU5CQjNFaUEwVU5BRUVBSVFJRFFDQUVRUUEyQXJRSUlBUkJ1QWhxSVFRZ0FrRUJhaUlDSUFOSERRQUxDeUFKS0FMb0t5SUNCSDhnQWhBUUlBbEJBRFlDNkNzZ0NDZ0NDQVVnQlF0RkJFQkJBU0VFREFFTEEwQWdBVUVCYWlJQklBaEJER3BCQVJBUkFrQWdDU2dDZ0N4RkRRQWdDU2dDL0NzaUF5Z0NBQ0FJS0FJTVJ3MEFJQU1vQWdRaUJTQUFLQUpJSWdZb0FoQkhEUUFnQXlnQ0NDSUNCRUJCQUNFRUlBSW9BaEFnQlNBRmJDSUZJQUlvQWdCQkFuUkIwTDBCYWlnQ0FHeEhEUU1nQ1NBRlFRSjBFQlFpQnpZQzZDc2dCMFVOQXlBQ0tBSU1JQWNnQlNBQ0tBSUFRUUowUVlEQUFXb29BZ0FSQlFBTElBTW9BZ3dpQWtVTkFFRUFJUVFnQWlnQ0VDQUdLQUlRSWdNZ0FpZ0NBRUVDZEVIUXZRRnFLQUlBYkVjTkFpQURRUUowRUJRaUJVVU5BaUFDS0FJTUlBVWdBeUFDS0FJQVFRSjBRWkRBQVdvb0FnQVJCUUFDUUNBR0tBSVFJZ2RGRFFBZ0NTZ0MwQ3NoQkVFQUlRc0NRQUpBSUFkQkJFa05BQ0FFUWJRSWFpSU1JQVVnQjBFQ2RHcEpCRUFnQlNBRUlBZEJ1QWhzYWtrTkFRc2dCRUhjSVdvaERTQUVRYVFaYWlFT0lBUkI3QkJxSVE4Z0JTQUhRWHh4SWdaQkFuUnFJUUlnQkNBR1FiZ0liR29oQkVFQUlRTURRQ0FNSUFOQnVBaHNJZ3BxSUFVZ0EwRUNkR3I5QUFJQUloSDlXZ0lBQUNBS0lBOXFJQkg5V2dJQUFTQUtJQTVxSUJIOVdnSUFBaUFLSUExcUlCSDlXZ0lBQXlBRFFRUnFJZ01nQmtjTkFBc2dCaUFIUmcwQ0RBRUxJQVVoQWtFQUlRWUxJQWNnQmlJRGEwRUhjU0lLQkVBRFFDQUVJQUlvQWdBMkFyUUlJQU5CQVdvaEF5QUVRYmdJYWlFRUlBSkJCR29oQWlBTFFRRnFJZ3NnQ2tjTkFBc0xJQVlnQjJ0QmVFc05BQU5BSUFRZ0FpZ0NBRFlDdEFnZ0JDQUNLQUlFTmdMc0VDQUVJQUlvQWdnMkFxUVpJQVFnQWlnQ0REWUMzQ0VnQkNBQ0tBSVFOZ0tVS2lBRUlBSW9BaFEyQXN3eUlBUWdBaWdDR0RZQ2hEc2dCQ0FDS0FJY05nSzhReUFFUWNEREFHb2hCQ0FDUVNCcUlRSWdBMEVJYWlJRElBZEhEUUFMQ3lBRkVCQUxRUUVoQkNBUVFRRnFJaEFnQ0NnQ0NFa05BQXNMSUFoQkVHb2tBQ0FFQ3dRQVFuOEx2d2tCQzM4akFFRVFheUlGSkFBQ2Z5QUFLQUlJUVJCR0JFQWdBQ2dDbkFFZ0FDZ0N6QUZCakN4c2Fnd0JDeUFBS0FJTUN5RUhBbjhnQWtFQlRRUkFJQU5CQVVIWUkwRUFFQTlCQUF3QkN5QUJJQVZCREdwQkFoQVJJQVVvQWd3RVFDQURRUUpCOEN4QkFCQVBRUUVNQVFzZ0FrRUdUUVJBSUFOQkFVSFlJMEVBRUE5QkFBd0JDeUFCUVFKcUlBVkJDR3BCQVJBUklBY29BdndySWdraEFBSkFBa0FDUUNBSEtBS0FMQ0lHUlEwQUlBVW9BZ2doQ0FOQUlBQW9BZ0FnQ0VZTkFTQUFRUlJxSVFBZ0JFRUJhaUlFSUFaSERRQUxEQUVMSUFRZ0JrY05BUXNnQnlnQ2hDd2dCa1lFZnlBSElBWkJDbW9pQURZQ2hDd2dDU0FBUVJSc0VCY2lBRVVFUUNBSEtBTDhLeEFRSUFkQkFEWUNoQ3dnQjBJQU53TDhLeUFEUVFGQjhpTkJBQkFQUVFBTUF3c2dCeUFBTmdMOEt5QUFJQWNvQW9Bc0lnUkJGR3hxUVFBZ0J5Z0NoQ3dnQkd0QkZHd1FGUm9nQnlnQy9Dc2hDU0FIS0FLQUxBVWdCZ3RCRkd3Z0NXb2hBRUVCSVFzTElBQWdCU2dDQ0RZQ0FDQUJRUU5xSUFWQkRHcEJBaEFSSUFVb0Fnd0VRQ0FEUVFKQjhDeEJBQkFQUVFFTUFRc2dBVUVGYWlBRlFRUnFRUUlRRVNBRktBSUVJZ1JCQWs4RVFDQURRUUpCcUJkQkFCQVBRUUVNQVFzZ0FrRUhheUVHSUFRRVFDQUJRUWRxSVFKQkFDRUpBMEFnQmtFQ1RRUkFJQU5CQVVIWUkwRUFFQTlCQUF3REN5QUNJQVZCREdwQkFSQVJJQVVvQWd4QkFVY0VRQ0FEUVFKQnNpcEJBQkFQUVFFTUF3c2dBa0VCYWlBRlFRSVFFU0FBSUFVb0FnQWlCRUgvL3dGeElnRTJBZ1FnQmtFRGF5SUlJQVJCRDNaQkFXb2lCaUFCYkVFQ2FpSUtTUVJBSUFOQkFVSFlJMEVBRUE5QkFBd0RDeUFDUVFOcUlRSkJBQ0VFSUFFRVFBTkFJQUlnQlVFTWFpQUdFQkVnQkNBRktBSU1Sd1JBSUFOQkFrSGFMMEVBRUE5QkFRd0ZDeUFDSUFacUlRSWdCRUVCYWlJRUlBQW9BZ1JKRFFBTEN5QUNJQVZCQWhBUklBVWdCU2dDQUNJRVFmLy9BWEVpQVRZQ0FDQUFLQUlFSUFGSEJFQWdBMEVDUWRnWVFRQVFEMEVCREFNTElBZ2dDbXNpQ2lBRVFROTJRUUZxSWdZZ0FXeEJBMm9pREVrRVFDQURRUUZCMkNOQkFCQVBRUUFNQXdzZ0FrRUNhaUVDUVFBaEJDQUJCRUFEUUNBQ0lBVkJER29nQmhBUklBUWdCU2dDREVjRVFDQURRUUpCMmk5QkFCQVBRUUVNQlFzZ0FpQUdhaUVDSUFSQkFXb2lCQ0FBS0FJRVNRMEFDd3NnQWlBRlFReHFRUU1RRVNBRktBSU1JUVlnQUVJQU53SUlJQUFnQmtHQWdBUnhSU0FBTFFBUVFmNEJjWEk2QUJBZ0JTQUdRZjhCY1NJSU5nSUlBa0FnQ0VVTkFDQUhLQUwwS3lJTkJFQWdCeWdDOENzaEJFRUFJUUVEUUNBSUlBUW9BZ2hHQkVBZ0FDQUVOZ0lJREFNTElBUkJGR29oQkNBQlFRRnFJZ0VnRFVjTkFBc0xJQU5CQVVIWUkwRUFFQTlCQUF3REN5QUZJQVpCQ0haQi93RnhJZ1kyQWdnQ1FDQUdSUTBBSUFjb0F2UXJJZ2dFUUNBSEtBTHdLeUVFUVFBaEFRTkFJQVlnQkNnQ0NFWUVRQ0FBSUFRMkFnd01Bd3NnQkVFVWFpRUVJQUZCQVdvaUFTQUlSdzBBQ3dzZ0EwRUJRZGdqUVFBUUQwRUFEQU1MSUFvZ0RHc2hCaUFDUVFOcUlRSWdDVUVCYWlJSklBVW9BZ1JKRFFBTEN5QUdCRUFnQTBFQlFkZ2pRUUFRRDBFQURBRUxRUUVnQzBVTkFCb2dCeUFIS0FLQUxFRUJhallDZ0N4QkFRc2hEaUFGUVJCcUpBQWdEZ3YxQVFFRmZ5TUFRUkJySWdRa0FBSkFJQUlnQUNnQ1NDZ0NFQ0lHUVFKcVJ3UkFJQU5CQVVId0lrRUFFQThNQVFzZ0FTQUVRUXhxUVFJUUVTQUdJQVFvQWd4SEJFQWdBMEVCUWZBaVFRQVFEd3dCQ3lBR1JRUkFRUUVoQlF3QkN5QUJRUUpxSVFJZ0FDZ0NTQ2dDR0NFQVFRQWhBUU5BSUFJZ0JFRUlha0VCRUJFZ0FDQUVLQUlJSWdWQi93QnhJZ2RCQVdvaUNEWUNHQ0FBSUFWQkIzWkJBWEUyQWlBZ0IwRWZUd1JBSUFRZ0NEWUNCQ0FFSUFFMkFnQWdBMEVCUWJmekFDQUVFQTlCQUNFRkRBSUxJQUJCTkdvaEFFRUJJUVVnQWtFQmFpRUNJQUZCQVdvaUFTQUdSdzBBQ3dzZ0JFRVFhaVFBSUFVTG1BVUJDbjhqQUVFUWF5SUhKQUFDZnlBQUtBSUlRUkJHQkVBZ0FDZ0NuQUVnQUNnQ3pBRkJqQ3hzYWd3QkN5QUFLQUlNQ3lFRkFuOGdBa0VCVFFSQUlBTkJBVUh4SGtFQUVBOUJBQXdCQ3lBQklBZEJER3BCQWhBUkFrQWdCeWdDREFSQUlBTkJBa0dHRzBFQUVBOE1BUXNnQWtFR1RRUkFJQU5CQVVIeEhrRUFFQTlCQUF3Q0N5QUJRUUpxSUFkQkRHcEJBaEFSSUFVb0F2QXJJUVFnQnkwQURDRUtBa0FDUUFKQUlBVW9BdlFySWdaRkJFQWdCQ0VBREFFTElBUWhBQU5BSUFBb0FnZ2dDa1lOQVNBQVFSUnFJUUFnQ0VFQmFpSUlJQVpIRFFBTERBRUxJQVlnQ0VjTkFRc2dCU2dDK0NzZ0JrWUVRQ0FGSUFaQkNtb2lBRFlDK0NzZ0JDQUFRUlJzRUJjaEFDQUZLQUx3S3lFRUlBQkZCRUFnQkJBUUlBVkJBRFlDK0NzZ0JVSUFOd0x3S3lBRFFRRkJpeDlCQUJBUFFRQU1CQXNDUUNBQUlBUkdEUUFnQlNnQ2dDd2lDMFVOQUNBRktBTDhLeUVNUVFBaENBTkFJQXdnQ0VFVWJHb2lCaWdDQ0NJSkJFQWdCaUFBSUFrZ0JHdHFOZ0lJQ3lBR0tBSU1JZ2tFUUNBR0lBQWdDU0FFYTJvMkFnd0xJQWhCQVdvaUNDQUxSdzBBQ3dzZ0JTQUFOZ0x3S3lBQUlBVW9BdlFySWdSQkZHeHFRUUFnQlNnQytDc2dCR3RCRkd3UUZSb2dCU2dDOUNzaEJpQUZLQUx3S3lFRUN5QUZJQVpCQVdvMkF2UXJJQVFnQmtFVWJHb2hBQXNnQUNnQ0RDSUVCRUFnQkJBUUlBQkNBRGNDREFzZ0FDQUtOZ0lJSUFBZ0J5Z0NEQ0lFUVFwMlFRTnhOZ0lBSUFBZ0JFRUlka0VEY1RZQ0JDQUJRUVJxSUFkQkRHcEJBaEFSSUFjb0Fnd0VRQ0FEUVFKQnZSWkJBQkFQREFFTElBQWdBa0VHYXlJQ0VCUWlCRFlDRENBRVJRUkFJQU5CQVVIeEhrRUFFQTlCQUF3Q0N5QUVJQUZCQm1vZ0FoQVNHaUFBSUFJMkFoQUxRUUVMSVEwZ0IwRVFhaVFBSUEwTEp3QkJBU0VCSUFJZ0FDZ0NTQ2dDRUVFQ2RFY0VmeUFEUVFGQjF5RkJBQkFQUVFBRlFRRUxDNnNEQVFWL0l3QkJFR3NpQmlRQUFuOGdBa0VCVFFSQUlBTkJBVUg5SFVFQUVBOUJBQXdCQ3lBQUxRQzhBVUVCY1FSQUlBTkJBVUdKM2dCQkFCQVBRUUFNQVFzZ0FDZ0NuQUVnQUNnQ3pBRkJqQ3hzYWlJQUlBQXRBSWdzUVFKeU9nQ0lMQ0FCSUFaQkRHcEJBUkFSQWtBZ0FDZ0NyQ2dpQkVVRVFDQUFJQVlvQWd4QkFXb2lCVUVJRUJNaUJEWUNyQ2dnQkVVRVFDQURRUUZCbHg1QkFCQVBRUUFNQXdzZ0FDQUZOZ0tvS0F3QkN5QUdLQUlNSWdVZ0FDZ0NxQ2hKRFFBZ0JDQUZRUUZxSWdSQkEzUVFGeUlGUlFSQUlBTkJBVUdYSGtFQUVBOUJBQXdDQ3lBQUlBVTJBcXdvSUFVZ0FDZ0NxQ2dpQjBFRGRHcEJBQ0FFSUFkclFRTjBFQlVhSUFBZ0JEWUNxQ2dnQUNnQ3JDZ2hCQXNnQkNBR0tBSU1JZ1ZCQTNScUtBSUFCRUFnQmlBRk5nSUFJQU5CQVVHOU5TQUdFQTlCQUF3QkN5QUNRUUZySWdJUUZDRUVJQUFvQXF3b0lnQWdCaWdDRENJRlFRTjBhaUFFTmdJQUlBUkZCRUFnQTBFQlFaY2VRUUFRRDBFQURBRUxJQUFnQlVFRGRHb2dBallDQkNBQUlBWW9BZ3hCQTNScUtBSUFJQUZCQVdvZ0FoQVNHa0VCQ3lFSUlBWkJFR29rQUNBSUMvVUNBUVYvSXdCQkVHc2lCaVFBQW44Z0FrRUJUUVJBSUFOQkFVR2tJRUVBRUE5QkFBd0JDeUFBSUFBdEFMd0JRUUZ5T2dDOEFTQUJJQVpCREdwQkFSQVJBa0FnQUNnQ2RDSUVSUVJBSUFBZ0JpZ0NERUVCYWlJRlFRZ1FFeUlFTmdKMElBUkZCRUFnQTBFQlFiNGdRUUFRRDBFQURBTUxJQUFnQlRZQ2NBd0JDeUFHS0FJTUlnVWdBQ2dDY0VrTkFDQUVJQVZCQVdvaUJFRURkQkFYSWdWRkJFQWdBMEVCUWI0Z1FRQVFEMEVBREFJTElBQWdCVFlDZENBRklBQW9BbkFpQjBFRGRHcEJBQ0FFSUFkclFRTjBFQlVhSUFBZ0JEWUNjQ0FBS0FKMElRUUxJQVFnQmlnQ0RDSUZRUU4wYWlnQ0FBUkFJQVlnQlRZQ0FDQURRUUZCMHpVZ0JoQVBRUUFNQVFzZ0FrRUJheUlDRUJRaEJDQUFLQUowSWdBZ0JpZ0NEQ0lGUVFOMGFpQUVOZ0lBSUFSRkJFQWdBMEVCUWI0Z1FRQVFEMEVBREFFTElBQWdCVUVEZEdvZ0FqWUNCQ0FBSUFZb0FneEJBM1JxS0FJQUlBRkJBV29nQWhBU0drRUJDeUVJSUFaQkVHb2tBQ0FJQzZBQkFRUi9Jd0JCRUdzaUJDUUFBbjhnQWtVRVFDQURRUUZCMXg1QkFCQVBRUUFNQVFzZ0FTQUVRUXhxUVFFUUVVRUJJQUpCQVdzaUJVVU5BQnBCQUNFQVFRQWhBZ05BSUFGQkFXb2lBU0FFUVFocVFRRVFFU0FFS0FJSUlnWkJHSFJCSDNVZ0JrSC9BSEVnQW5KQkIzUnhJUUlnQUVFQmFpSUFJQVZIRFFBTFFRRWdBa1VOQUJvZ0EwRUJRZGNlUVFBUUQwRUFDeUVISUFSQkVHb2tBQ0FIQ3hzQVFRRWhBQ0FDQkg5QkFRVWdBMEVCUWY0Z1FRQVFEMEVBQ3d1QUFRRUJmeU1BUVJCcklnQWtBRUVCSVFRQ1FDQUNRUUZOQkVCQkFDRUVJQU5CQVVIa0lFRUFFQThNQVFzZ0FTQUFRUXhxUVFFUUVTQUJRUUZxSUFCQkNHcEJBUkFSSUFKQkFtc2dBQ2dDQ0NJQlFRVjJRUUp4SUFGQkJIWkJBM0ZxUVFKcWNFVU5BRUVBSVFRZ0EwRUJRZVFnUVFBUUR3c2dBRUVRYWlRQUlBUUxCQUJCQUFzTG9yd0JJUUJCZ0FnTGtYVmpZVzV1YjNRZ1lXeHNiMk5oZEdVZ2IzQnFYM1JqWkY5elpXZGZaR0YwWVY5amFIVnVhMTkwS2lCaGNuSmhlUUF0S3lBZ0lEQllNSGdBTFRCWUt6QllJREJZTFRCNEt6QjRJREI0QUZWdWEyNXZkMjRnWm05eWJXRjBBRVpoYVd4bFpDQjBieUJ6WlhSMWNDQjBhR1VnWkdWamIyUmxjZ0JHWVdsc1pXUWdkRzhnY21WaFpDQjBhR1VnYUdWaFpHVnlBRzVoYmdBcWJGOTBhV3hsWDJ4bGJpQStJRlZKVGxSZlRVRllJQzBnVDFCS1gwTlBUVTFQVGw5RFFreExYMFJCVkVGZlJWaFVVa0VnTFNCd1gyb3lheTArYlY5emNHVmphV1pwWTE5d1lYSmhiUzV0WDJSbFkyOWtaWEl1YlY5emIzUmZiR1Z1WjNSb0FHbHVaZ0JHWVdsc1pXUWdkRzhnWkdWamIyUmxJSFJvWlNCcGJXRm5aUUJKYm5aaGJHbGtJR0ZqWTJWemN5QjBieUJ3YVMwK2FXNWpiSFZrWlFBdmRHMXdMMjl3Wlc1cWNHVm5MM055WXk5aWFXNHZZMjl0Ylc5dUwyTnZiRzl5TG1NQVFVeE1YME5RVlZNQVQxQktYMDVWVFY5VVNGSkZRVVJUQUU1QlRnQkpUa1lBY0Y5cU1tc3RQbTFmYzNCbFkybG1hV05mY0dGeVlXMHViVjlrWldOdlpHVnlMbTFmYzI5MFgyeGxibWQwYUNBK0lGVkpUbFJmVFVGWUlDMGdUMUJLWDBOUFRVMVBUbDlEUWt4TFgwUkJWRUZmUlZoVVVrRUFDUWtKSUhCeVpXTmphVzUwYzJsNlpTQW9keXhvS1QwQUNRa0pJSE4wWlhCemFYcGxjeUFvYlN4bEtUMEFMZ0FvYm5Wc2JDa0FLQ1ZrTENWa0tTQUFKWE45Q2dBSkNTQjlDZ0JiUkVWV1hTQkVkVzF3SUdGdUlHbHRZV2RsWDJOdmJYQmZhR1ZoWkdWeUlITjBjblZqZENCN0NnQmJSRVZXWFNCRWRXMXdJR0Z1SUdsdFlXZGxYMmhsWVdSbGNpQnpkSEoxWTNRZ2V3b0FTVzFoWjJVZ2FXNW1ieUI3Q2dBSklHUmxabUYxYkhRZ2RHbHNaU0I3Q2dBbGN3a2dZMjl0Y0c5dVpXNTBJQ1ZrSUhzS0FBa0pJR052YlhBZ0pXUWdld29BQ1NCVWFXeGxJR2x1WkdWNE9pQjdDZ0FKSUUxaGNtdGxjaUJzYVhOME9pQjdDZ0JEYjJSbGMzUnlaV0Z0SUdsdVpHVjRJR1p5YjIwZ2JXRnBiaUJvWldGa1pYSTZJSHNLQUVOdlpHVnpkSEpsWVcwZ2FXNW1ieUJtY205dElHMWhhVzRnYUdWaFpHVnlPaUI3Q2dCVGRISmxZVzBnWlhKeWIzSWdkMmhwYkdVZ2NtVmhaR2x1WnlCS1VESWdTR1ZoWkdWeUlHSnZlQW9BUm05MWJtUWdZU0J0YVhOd2JHRmpaV1FnSnlWakpXTWxZeVZqSnlCaWIzZ2diM1YwYzJsa1pTQnFjREpvSUdKdmVBb0FUV0ZzWm05eWJXVmtJRXBRTWlCbWFXeGxJR1p2Y20xaGREb2dabWx5YzNRZ1ltOTRJRzExYzNRZ1ltVWdTbEJGUnlBeU1EQXdJSE5wWjI1aGRIVnlaU0JpYjNnS0FFMWhiR1p2Y20xbFpDQktVRElnWm1sc1pTQm1iM0p0WVhRNklITmxZMjl1WkNCaWIzZ2diWFZ6ZENCaVpTQm1hV3hsSUhSNWNHVWdZbTk0Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCMGJ5Qm9ZVzVrYkdVZ2FuQmxaekl3TURBZ1ltOTRDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0IzYVhSb0lFWlVXVkFnUW05NENnQkJJRzFoY210bGNpQkpSQ0IzWVhNZ1pYaHdaV04wWldRZ0tEQjRabVl0TFNrZ2FXNXpkR1ZoWkNCdlppQWxMamg0Q2dBSkNTQnRZM1E5SlhnS0FBa0pDU0JqWW14cmMzUjVQU1VqZUFvQUNRa0pJR056ZEhrOUpTTjRDZ0FKQ1NCd2NtYzlKU040Q2dCSmJuUmxaMlZ5SUc5MlpYSm1iRzkzQ2dBSklIUmtlRDBsZFN3Z2RHUjVQU1YxQ2dBSklIUjNQU1YxTENCMGFEMGxkUW9BQ1NCMGVEQTlKWFVzSUhSNU1EMGxkUW9BU1c1MllXeHBaQ0JqYjIxd2IyNWxiblFnYVc1a1pYZzZJQ1YxQ2dCVGRISmxZVzBnZEc5dklITm9iM0owQ2dCTllYSnJaWElnYUdGdVpHeGxjaUJtZFc1amRHbHZiaUJtWVdsc1pXUWdkRzhnY21WaFpDQjBhR1VnYldGeWEyVnlJSE5sWjIxbGJuUUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJR1p2Y2lCamRYSnlaVzUwSUhCeVpXTnBibU4wSUdOdlpHVmliRzlqYXlCbGJHVnRaVzUwQ2dCRmNuSnZjaUJ5WldGa2FXNW5JRk5RUTI5a0lGTlFRMjlqSUdWc1pXMWxiblFLQUVWeWNtOXlJSEpsWVdScGJtY2dVMUZqWkNCdmNpQlRVV05qSUdWc1pXMWxiblFLQUVFZ1FsQkRReUJvWldGa1pYSWdZbTk0SUdseklHRjJZV2xzWVdKc1pTQmhiSFJvYjNWbmFDQkNVRU1nWjJsMlpXNGdZbmtnZEdobElFbElSRklnWW05NElDZ2xaQ2tnYVc1a2FXTmhkR1VnWTI5dGNHOXVaVzUwY3lCaWFYUWdaR1Z3ZEdnZ2FYTWdZMjl1YzNSaGJuUUtBRVZ5Y205eUlIZHBkR2dnVTBsYUlHMWhjbXRsY2pvZ2FXeHNaV2RoYkNCMGFXeGxJRzltWm5ObGRBb0FTVzUyWVd4cFpDQndjbVZqYVc1amRBb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnYUdGdVpHeGxJR0poYm1RZ2NISmxZMmx1ZEhNS0FFWmhhV3hsWkNCMGJ5QmtaV052WkdVZ1lXeHNJSFZ6WldRZ1kyOXRjRzl1Wlc1MGN3b0FVMmw2WlNCdlppQmpiMlJsSUdKc2IyTnJJR1JoZEdFZ1pYaGpaV1ZrY3lCemVYTjBaVzBnYkdsdGFYUnpDZ0JUYVhwbElHOW1JSFJwYkdVZ1pHRjBZU0JsZUdObFpXUnpJSE41YzNSbGJTQnNhVzFwZEhNS0FFTmhibTV2ZENCMFlXdGxJR2x1SUdOb1lYSm5aU0J0ZFd4MGFYQnNaU0JOUTFRZ2JXRnlhMlZ5Y3dvQVEyOXljblZ3ZEdWa0lGQlFUU0J0WVhKclpYSnpDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0JtYjNJZ2RHbHNaU0J5WlhOdmJIVjBhVzl1Y3dvQVEyRnVibTkwSUhSaGEyVWdhVzRnWTJoaGNtZGxJRzExYkhScGNHeGxJR052Ykd4bFkzUnBiMjV6Q2dCSmJuWmhiR2xrSUZCRFRGSWdZbTk0TGlCU1pYQnZjblJ6SURBZ2NHRnNaWFIwWlNCamIyeDFiVzV6Q2dCWFpTQmtieUJ1YjNRZ2MzVndjRzl5ZENCU1Qwa2dhVzRnWkdWamIyUnBibWNnU0ZRZ1kyOWtaV0pzYjJOcmN3b0FRMkZ1Ym05MElHaGhibVJzWlNCaWIzZ2diMllnZFc1a1pXWnBibVZrSUhOcGVtVnpDZ0JEWVc1dWIzUWdkR0ZyWlNCcGJpQmphR0Z5WjJVZ1kyOXNiR1ZqZEdsdmJuTWdkMmwwYUc5MWRDQnpZVzFsSUc1MWJXSmxjaUJ2WmlCcGJtUnBlR1Z6Q2dCSmJuWmhiR2xrSUhScGJHVmpMVDUzYVc1ZmVIaDRJSFpoYkhWbGN3b0FRMkZ1Ym05MElHaGhibVJzWlNCaWIzZ2diMllnYkdWemN5QjBhR0Z1SURnZ1lubDBaWE1LQUVOaGJtNXZkQ0JvWVc1a2JHVWdXRXdnWW05NElHOW1JR3hsYzNNZ2RHaGhiaUF4TmlCaWVYUmxjd29BUTI5dGNHOXVaVzUwSUdsdVpHVjRJQ1YxSUhWelpXUWdjMlYyWlhKaGJDQjBhVzFsY3dvQVNXNTJZV3hwWkNCUVEweFNJR0p2ZUM0Z1VtVndiM0owY3lBbFpDQmxiblJ5YVdWekNnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQjBieUJqY21WaGRHVWdWR0ZuTFhSeVpXVWdibTlrWlhNS0FFTmhibTV2ZENCMFlXdGxJR2x1SUdOb1lYSm5aU0J0WTNRZ1pHRjBZU0IzYVhSb2FXNGdiWFZzZEdsd2JHVWdUVU5VSUhKbFkyOXlaSE1LQUVOaGJtNXZkQ0JrWldOdlpHVWdkR2xzWlN3Z2JXVnRiM0o1SUdWeWNtOXlDZ0J2Y0dwZmFqSnJYMkZ3Y0d4NVgyNWlYM1JwYkdWZmNHRnlkSE5mWTI5eWNtVmpkR2x2YmlCbGNuSnZjZ29BVUhKdllteGxiU0IzYVhSb0lITnJhWEJ3YVc1bklFcFFSVWN5TURBd0lHSnZlQ3dnYzNSeVpXRnRJR1Z5Y205eUNnQlFjbTlpYkdWdElIZHBkR2dnY21WaFpHbHVaeUJLVUVWSE1qQXdNQ0JpYjNnc0lITjBjbVZoYlNCbGNuSnZjZ29BVlc1cmJtOTNiaUJ0WVhKclpYSUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJSFJ2SUdGa1pDQjBiQ0J0WVhKclpYSUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJSFJ2SUdGa1pDQnRhQ0J0WVhKclpYSUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJSFJ2SUhSaGEyVWdhVzRnWTJoaGNtZGxJRk5KV2lCdFlYSnJaWElLQUVWeWNtOXlJSEpsWVdScGJtY2dVRkJVSUcxaGNtdGxjZ29BVG05MElHVnViM1ZuYUNCdFpXMXZjbmtnZEc4Z2NtVmhaQ0JRVUZRZ2JXRnlhMlZ5Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRk5QVkNCdFlYSnJaWElLQUVWeWNtOXlJSEpsWVdScGJtY2dVRXhVSUcxaGNtdGxjZ29BUlhKeWIzSWdjbVZoWkdsdVp5Qk5RMVFnYldGeWEyVnlDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0IwYnlCeVpXRmtJRTFEVkNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2MzQmhZMlVnWm05eUlHVjRjR1ZqZEdWa0lGTlBVQ0J0WVhKclpYSUtBRVY0Y0dWamRHVmtJRk5QVUNCdFlYSnJaWElLQUVWeWNtOXlJSEpsWVdScGJtY2dUVU5QSUcxaGNtdGxjZ29BUlhKeWIzSWdjbVZoWkdsdVp5QlNSMDRnYldGeWEyVnlDZ0JGY25KdmNpQnlaV0ZrYVc1bklGQlFUU0J0WVhKclpYSUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJSFJ2SUhKbFlXUWdVRkJOSUcxaGNtdGxjZ29BUlhKeWIzSWdjbVZoWkdsdVp5QlVURTBnYldGeWEyVnlDZ0JGY25KdmNpQnlaV0ZrYVc1bklGQk1UU0J0WVhKclpYSUtBRTV2ZENCbGJtOTFaMmdnYzNCaFkyVWdabTl5SUdWNGNHVmpkR1ZrSUVWUVNDQnRZWEpyWlhJS0FFVjRjR1ZqZEdWa0lFVlFTQ0J0WVhKclpYSUtBRVZ5Y205eUlISmxZV1JwYm1jZ1ExSkhJRzFoY210bGNnb0FWVzVyYm05M2JpQndjbTluY21WemMybHZiaUJ2Y21SbGNpQnBiaUJEVDBRZ2JXRnlhMlZ5Q2dCVmJtdHViM2R1SUZOamIyUWdkbUZzZFdVZ2FXNGdRMDlFSUcxaGNtdGxjZ29BUlhKeWIzSWdjbVZoWkdsdVp5QkRUMFFnYldGeWEyVnlDZ0JGY25KdmNpQnlaV0ZrYVc1bklGRkRSQ0J0WVhKclpYSUtBRU55Y205eUlISmxZV1JwYm1jZ1EwSkVJRzFoY210bGNnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCUVQwTWdiV0Z5YTJWeUNnQkZjbkp2Y2lCeVpXRmthVzVuSUVOUFF5QnRZWEpyWlhJS0FFVnljbTl5SUhKbFlXUnBibWNnVVVORElHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJOUTBNZ2JXRnlhMlZ5Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCMGJ5QnlaV0ZrSUUxRFF5QnRZWEpyWlhJS0FISmxjWFZwY21Wa0lGTkpXaUJ0WVhKclpYSWdibTkwSUdadmRXNWtJR2x1SUcxaGFXNGdhR1ZoWkdWeUNnQnlaWEYxYVhKbFpDQkRUMFFnYldGeWEyVnlJRzV2ZENCbWIzVnVaQ0JwYmlCdFlXbHVJR2hsWVdSbGNnb0FjbVZ4ZFdseVpXUWdVVU5FSUcxaGNtdGxjaUJ1YjNRZ1ptOTFibVFnYVc0Z2JXRnBiaUJvWldGa1pYSUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJSFJ2SUdoaGJtUnNaU0JxY0dWbk1qQXdNQ0JtYVd4bElHaGxZV1JsY2dvQVRtOTBJR1Z1YjNWbmFDQnRaVzF2Y25rZ2RHOGdjbVZoWkNCb1pXRmtaWElLQUVWeWNtOXlJSGRwZEdnZ1NsQWdVMmxuYm1GMGRYSmxJRG9nWW1Ga0lHMWhaMmxqSUc1MWJXSmxjZ29BU1c0Z1UwOVVJRzFoY210bGNpd2dWRkJUYjNRZ0tDVmtLU0JwY3lCdWIzUWdkbUZzYVdRZ2NtVm5ZWEprY3lCMGJ5QjBhR1VnWTNWeWNtVnVkQ0J1ZFcxaVpYSWdiMllnZEdsc1pTMXdZWEowSUNnbFpDa3NJR2RwZG1sdVp5QjFjQW9BU1c0Z1UwOVVJRzFoY210bGNpd2dWRkJUYjNRZ0tDVmtLU0JwY3lCdWIzUWdkbUZzYVdRZ2NtVm5ZWEprY3lCMGJ5QjBhR1VnY0hKbGRtbHZkWE1nYm5WdFltVnlJRzltSUhScGJHVXRjR0Z5ZENBb0pXUXBMQ0JuYVhacGJtY2dkWEFLQUVsdUlGTlBWQ0J0WVhKclpYSXNJRlJRVTI5MElDZ2xaQ2tnYVhNZ2JtOTBJSFpoYkdsa0lISmxaMkZ5WkhNZ2RHOGdkR2hsSUdOMWNuSmxiblFnYm5WdFltVnlJRzltSUhScGJHVXRjR0Z5ZENBb2FHVmhaR1Z5S1NBb0pXUXBMQ0JuYVhacGJtY2dkWEFLQUhScGJHVnpJSEpsY1hWcGNtVWdZWFFnYkdWaGMzUWdiMjVsSUhKbGMyOXNkWFJwYjI0S0FFMWhjbXRsY2lCcGN5QnViM1FnWTI5dGNHeHBZVzUwSUhkcGRHZ2dhWFJ6SUhCdmMybDBhVzl1Q2dCUWNtOWliR1Z0SUhkcGRHZ2djMlZsYXlCbWRXNWpkR2x2YmdvQVJYSnliM0lnY21WaFpHbHVaeUJUVUVOdlpDQlRVRU52WXlCbGJHVnRaVzUwTENCSmJuWmhiR2xrSUdOaWJHdDNMMk5pYkd0b0lHTnZiV0pwYm1GMGFXOXVDZ0JKYm5aaGJHbGtJRzExYkhScGNHeGxJR052YlhCdmJtVnVkQ0IwY21GdWMyWnZjbTFoZEdsdmJnb0FRMkZ1Ym05MElIUmhhMlVnYVc0Z1kyaGhjbWRsSUdOdmJHeGxZM1JwYjI1eklHOTBhR1Z5SUhSb1lXNGdZWEp5WVhrZ1pHVmpiM0p5Wld4aGRHbHZiZ29BVkc5dklHeGhjbWRsSUhaaGJIVmxJR1p2Y2lCT2NIQnRDZ0JPYjNRZ1pXNXZkV2RvSUdKNWRHVnpJSFJ2SUhKbFlXUWdUbkJ3YlFvQVltRmtJSEJzWVdObFpDQnFjR1ZuSUdOdlpHVnpkSEpsWVcwS0FBa2dUV0ZwYmlCb1pXRmtaWElnYzNSaGNuUWdjRzl6YVhScGIyNDlKV3hzYVFvSklFMWhhVzRnYUdWaFpHVnlJR1Z1WkNCd2IzTnBkR2x2YmowbGJHeHBDZ0JOWVhKclpYSWdjMmw2WlNCcGJtTnZibk5wYzNSbGJuUWdkMmwwYUNCemRISmxZVzBnYkdWdVozUm9DZ0JVYVd4bElIQmhjblFnYkdWdVozUm9JSE5wZW1VZ2FXNWpiMjV6YVhOMFpXNTBJSGRwZEdnZ2MzUnlaV0Z0SUd4bGJtZDBhQW9BUTJGdWJtOTBJSFJoYTJVZ2FXNGdZMmhoY21kbElHMTFiSFJwY0d4bElHUmhkR0VnYzNCaGJtNXBibWNLQUZkeWIyNW5JR1pzWVdjS0FFVnljbTl5SUhkcGRHZ2dSbFJaVUNCemFXZHVZWFIxY21VZ1FtOTRJSE5wZW1VS0FFVnljbTl5SUhkcGRHZ2dTbEFnYzJsbmJtRjBkWEpsSUVKdmVDQnphWHBsQ2dCSmJuWmhiR2xrSUhCeVpXTnBibU4wSUhOcGVtVUtBRWx1WTI5dWMybHpkR1Z1ZENCdFlYSnJaWElnYzJsNlpRb0FTVzUyWVd4cFpDQnRZWEpyWlhJZ2MybDZaUW9BUlhKeWIzSWdkMmwwYUNCVFNWb2diV0Z5YTJWeUlITnBlbVVLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklHRmtaQ0JoSUc1bGR5QjJZV3hwWkdGMGFXOXVJSEJ5YjJObFpIVnlaUW9BVG05MElHVnViM1ZuYUNCdFpXMXZjbmtnZEc4Z1pHVmpiMlJsSUhScGJHVUtBRVpoYVd4bFpDQjBieUJrWldOdlpHVWdkR2hsSUdOdlpHVnpkSEpsWVcwZ2FXNGdkR2hsSUVwUU1pQm1hV3hsQ2dCRFlXNXViM1FnZEdGclpTQnBiaUJqYUdGeVoyVWdZMjlzYkdWamRHbHZibk1nZDJsMGFDQnBibVJwZUNCemFIVm1abXhsQ2dCRFlXNXViM1FnWVd4c2IyTmhkR1VnVkdsbGNpQXhJR2hoYm1Sc1pRb0FUbThnWkdWamIyUmxaQ0JoY21WaElIQmhjbUZ0WlhSbGNuTXNJSE5sZENCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUhSdklIUm9aU0IzYUc5c1pTQnBiV0ZuWlFvQVRtOTBJR1Z1YjNWbmFDQnRaVzF2Y25rZ2RHOGdZM0psWVhSbElGUmhaeTEwY21WbENnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQjBieUJ5WldsdWFYUnBZV3hwZW1VZ2RHaGxJSFJoWnlCMGNtVmxDZ0JGY25KdmNpQnlaV0ZrYVc1bklGTlFRMjlrSUZOUVEyOWpJR1ZzWlcxbGJuUXNJRWx1ZG1Gc2FXUWdkSEpoYm5ObWIzSnRZWFJwYjI0Z1ptOTFibVFLQUVWeWNtOXlJSEpsWVdScGJtY2dVMUJEYjJRZ1UxQkRiMk1nWld4bGJXVnVkQzRnVlc1emRYQndiM0owWldRZ1RXbDRaV1FnU0ZRZ1kyOWtaUzFpYkc5amF5QnpkSGxzWlNCbWIzVnVaQW9BVkdsc1pTQlpJR052YjNKa2FXNWhkR1Z6SUdGeVpTQnViM1FnYzNWd2NHOXlkR1ZrQ2dCVWFXeGxJRmdnWTI5dmNtUnBibUYwWlhNZ1lYSmxJRzV2ZENCemRYQndiM0owWldRS0FFbHRZV2RsSUdOdmIzSmthVzVoZEdWeklHRmliM1psSUVsT1ZGOU5RVmdnWVhKbElHNXZkQ0J6ZFhCd2IzSjBaV1FLQUVwUVJVY3lNREF3SUVobFlXUmxjaUJpYjNnZ2JtOTBJSEpsWVdRZ2VXVjBMQ0FuSldNbFl5VmpKV01uSUdKdmVDQjNhV3hzSUdKbElHbG5ibTl5WldRS0FHOXdhbDlxTW10ZmJXVnlaMlZmY0hCMEtDa2dhR0Z6SUdGc2NtVmhaSGtnWW1WbGJpQmpZV3hzWldRS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlIUnZJSEpsWVdRZ1UwOVVJRzFoY210bGNpNGdWR2xzWlNCcGJtUmxlQ0JoYkd4dlkyRjBhVzl1SUdaaGFXeGxaQW9BU1dkdWIzSnBibWNnYVdoa2NpQmliM2d1SUVacGNuTjBJR2xvWkhJZ1ltOTRJR0ZzY21WaFpIa2djbVZoWkFvQVduQndkQ0FsZFNCaGJISmxZV1I1SUhKbFlXUUtBRnB3Y0cwZ0pYVWdZV3h5WldGa2VTQnlaV0ZrQ2dCUVZFVlNUU0JqYUdWamF5Qm1ZV2xzZFhKbE9pQWxaQ0J6ZVc1MGFHVjBhWHBsWkNBd2VFWkdJRzFoY210bGNuTWdjbVZoWkFvQUNRa0pJR05pYkd0M1BUSmVKV1FLQUFrSkNTQmpZbXhyYUQweVhpVmtDZ0FKQ1FrZ2NXNTBjM1I1UFNWa0NnQWxjeUJrZUQwbFpDd2daSGs5SldRS0FBa0pDU0J5YjJsemFHbG1kRDBsWkFvQUNRa0pJRzUxYldkaWFYUnpQU1ZrQ2dBSkNTQnVkVzFzWVhsbGNuTTlKV1FLQUNWeklHNTFiV052YlhCelBTVmtDZ0J2Y0dwZmFuQXlYMkZ3Y0d4NVgyTmtaV1k2SUdGamJqMGxaQ3dnYm5WdFkyOXRjSE05SldRS0FHOXdhbDlxY0RKZllYQndiSGxmWTJSbFpqb2dZMjQ5SldRc0lHNTFiV052YlhCelBTVmtDZ0FKQ1FrZ2JuVnRjbVZ6YjJ4MWRHbHZibk05SldRS0FBa0pJSFI1Y0dVOUpTTjRMQ0J3YjNNOUpXeHNhU3dnYkdWdVBTVmtDZ0FsY3lCeloyNWtQU1ZrQ2dBSkNRa2djVzFtWW1sa1BTVmtDZ0FsY3lCd2NtVmpQU1ZrQ2dBSkNTQnVZaUJ2WmlCMGFXeGxMWEJoY25RZ2FXNGdkR2xzWlNCYkpXUmRQU1ZrQ2dBbGN5QjRNVDBsWkN3Z2VURTlKV1FLQUNWeklIZ3dQU1ZrTENCNU1EMGxaQW9BUm1GcGJHVmtJSFJ2SUdSbFkyOWtaU0IwYVd4bElDVmtMeVZrQ2dCVFpYUjBhVzVuSUdSbFkyOWthVzVuSUdGeVpXRWdkRzhnSldRc0pXUXNKV1FzSldRS0FFWmhhV3hsWkNCMGJ5QmtaV052WkdVZ1kyOXRjRzl1Wlc1MElDVmtDZ0JKYm5aaGJHbGtJSFpoYkhWbElHWnZjaUJ1ZFcxeVpYTnZiSFYwYVc5dWN5QTZJQ1ZrTENCdFlYZ2dkbUZzZFdVZ2FYTWdjMlYwSUdsdUlHOXdaVzVxY0dWbkxtZ2dZWFFnSldRS0FFbHVkbUZzYVdRZ1kyOXRjRzl1Wlc1MElHNTFiV0psY2pvZ0pXUXNJSEpsWjJGeVpHbHVaeUIwYUdVZ2JuVnRZbVZ5SUc5bUlHTnZiWEJ2Ym1WdWRITWdKV1FLQUZSdmJ5QnRZVzU1SUZCUFEzTWdKV1FLQUVsdWRtRnNhV1FnZEdsc1pTQnVkVzFpWlhJZ0pXUUtBRWx1ZG1Gc2FXUWdkR2xzWlNCd1lYSjBJR2x1WkdWNElHWnZjaUIwYVd4bElHNTFiV0psY2lBbFpDNGdSMjkwSUNWa0xDQmxlSEJsWTNSbFpDQWxaQW9BUlhKeWIzSWdkMmwwYUNCVFNWb2diV0Z5YTJWeU9pQnVkVzFpWlhJZ2IyWWdZMjl0Y0c5dVpXNTBJR2x6SUdsc2JHVm5ZV3dnTFQ0Z0pXUUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJR1p2Y2lCamFXVnNZV0lLQUVOaGJtNXZkQ0JoYkd4dlkyRjBaU0JqWW14ckxUNWtaV052WkdWa1gyUmhkR0VLQUVaaGFXeGxaQ0IwYnlCdFpYSm5aU0JRVUZRZ1pHRjBZUW9BUm1GcGJHVmtJSFJ2SUcxbGNtZGxJRkJRVFNCa1lYUmhDZ0JKYm5aaGJHbGtJRzUxYldKbGNpQnZaaUJzWVhsbGNuTWdhVzRnUTA5RUlHMWhjbXRsY2lBNklDVmtJRzV2ZENCcGJpQnlZVzVuWlNCYk1TMDJOVFV6TlYwS0FDVnpPaVZrT21OdmJHOXlYMk50ZVd0ZmRHOWZjbWRpQ2dsRFFVNGdUazlVSUVOUFRsWkZVbFFLQUNWek9pVmtPbU52Ykc5eVgyVnplV05qWDNSdlgzSm5ZZ29KUTBGT0lFNVBWQ0JEVDA1V1JWSlVDZ0FsY3pvbFpEcGpiMnh2Y2w5emVXTmpYM1J2WDNKbllnb0pRMEZPSUU1UFZDQkRUMDVXUlZKVUNnQlRkSEpsWVcwZ2RHOXZJSE5vYjNKMExDQmxlSEJsWTNSbFpDQlRUMVFLQUZWdVlXSnNaU0IwYnlCelpYUWdkREVnYUdGdVpHeGxJR0Z6SUZSTVV3b0FVM1J5WldGdElHUnZaWE1nYm05MElHVnVaQ0IzYVhSb0lFVlBRd29BUTJGdWJtOTBJR2hoYm1Sc1pTQmliM2dnYzJsNlpYTWdhR2xuYUdWeUlIUm9ZVzRnTWw0ek1nb0FiM0JxWDNCcFgyNWxlSFJmYkhKamNDZ3BPaUJwYm5aaGJHbGtJR052YlhCdWJ6QXZZMjl0Y0c1dk1Rb0FiM0JxWDNCcFgyNWxlSFJmY214amNDZ3BPaUJwYm5aaGJHbGtJR052YlhCdWJ6QXZZMjl0Y0c1dk1Rb0FiM0JxWDNCcFgyNWxlSFJmWTNCeWJDZ3BPaUJwYm5aaGJHbGtJR052YlhCdWJ6QXZZMjl0Y0c1dk1Rb0FiM0JxWDNCcFgyNWxlSFJmY0dOeWJDZ3BPaUJwYm5aaGJHbGtJR052YlhCdWJ6QXZZMjl0Y0c1dk1Rb0FiM0JxWDNCcFgyNWxlSFJmY25CamJDZ3BPaUJwYm5aaGJHbGtJR052YlhCdWJ6QXZZMjl0Y0c1dk1Rb0FiM0JxWDNReFgyUmxZMjlrWlY5allteHJLQ2s2SUhWdWMzVndjRzl5ZEdWa0lHSndibTlmY0d4MWMxOXZibVVnUFNBbFpDQStQU0F6TVFvQVJtRnBiR1ZrSUhSdklHUmxZMjlrWlNCMGFXeGxJREV2TVFvQVNXNXpkV1ptYVdOcFpXNTBJR1JoZEdFZ1ptOXlJRU5OUVZBZ1ltOTRMZ29BVG1WbFpDQjBieUJ5WldGa0lHRWdVRU5NVWlCaWIzZ2dZbVZtYjNKbElIUm9aU0JEVFVGUUlHSnZlQzRLQUVsdWMzVm1abWxqYVdWdWRDQmtZWFJoSUdadmNpQkRSRVZHSUdKdmVDNEtBRTUxYldKbGNpQnZaaUJqYUdGdWJtVnNJR1JsYzJOeWFYQjBhVzl1SUdseklHVnhkV0ZzSUhSdklIcGxjbThnYVc0Z1EwUkZSaUJpYjNndUNnQlRkSEpsWVcwZ1pYSnliM0lnZDJocGJHVWdjbVZoWkdsdVp5QktVRElnU0dWaFpHVnlJR0p2ZURvZ2JtOGdKMmxvWkhJbklHSnZlQzRLQUU1dmJpQmpiMjVtYjNKdFlXNTBJR052WkdWemRISmxZVzBnVkZCemIzUTlQVlJPYzI5MExnb0FVM1J5WldGdElHVnljbTl5SUhkb2FXeGxJSEpsWVdScGJtY2dTbEF5SUVobFlXUmxjaUJpYjNnNklHSnZlQ0JzWlc1bmRHZ2dhWE1nYVc1amIyNXphWE4wWlc1MExnb0FRbTk0SUd4bGJtZDBhQ0JwY3lCcGJtTnZibk5wYzNSbGJuUXVDZ0JTWlhOdmJIVjBhVzl1SUdaaFkzUnZjaUJwY3lCbmNtVmhkR1Z5SUhSb1lXNGdkR2hsSUcxaGVHbHRkVzBnY21WemIyeDFkR2x2YmlCcGJpQjBhR1VnWTI5dGNHOXVaVzUwTGdvQVEyOXRjRzl1Wlc1MElHMWhjSEJwYm1jZ2MyVmxiWE1nZDNKdmJtY3VJRlJ5ZVdsdVp5QjBieUJqYjNKeVpXTjBMZ29BU1c1amIyMXdiR1YwWlNCamFHRnVibVZzSUdSbFptbHVhWFJwYjI1ekxnb0FUV0ZzWm05eWJXVmtJRWhVSUdOdlpHVmliRzlqYXk0Z1NXNTJZV3hwWkNCamIyUmxZbXh2WTJzZ2JHVnVaM1JvSUhaaGJIVmxjeTRLQUZkbElHUnZJRzV2ZENCemRYQndiM0owSUcxdmNtVWdkR2hoYmlBeklHTnZaR2x1WnlCd1lYTnpaWE1nYVc0Z1lXNGdTRlFnWTI5a1pXSnNiMk5yT3lCVWFHbHpJR052WkdWaWJHOWphM01nYUdGeklDVmtJSEJoYzNObGN5NEtBRTFoYkdadmNtMWxaQ0JJVkNCamIyUmxZbXh2WTJzdUlFUmxZMjlrYVc1bklIUm9hWE1nWTI5a1pXSnNiMk5ySUdseklITjBiM0J3WldRdUlGUm9aWEpsSUdGeVpTQWxaQ0I2WlhKdklHSnBkSEJzWVc1bGN5QnBiaUFsWkNCaWFYUndiR0Z1WlhNdUNnQkRZVzV1YjNRZ2RHRnJaU0JwYmlCamFHRnlaMlVnYlhWc2RHbHdiR1VnZEhKaGJuTm1iM0p0WVhScGIyNGdjM1JoWjJWekxnb0FWVzVyYm05M2JpQnRZWEpyWlhJZ2FHRnpJR0psWlc0Z1pHVjBaV04wWldRZ1lXNWtJR2RsYm1WeVlYUmxaQ0JsY25KdmNpNEtBRU52WkdWaklIQnliM1pwWkdWa0lIUnZJSFJvWlNCdmNHcGZjMlYwZFhCZlpHVmpiMlJsY2lCbWRXNWpkR2x2YmlCcGN5QnViM1FnWVNCa1pXTnZiWEJ5WlhOemIzSWdhR0Z1Wkd4bGNpNEtBRU52WkdWaklIQnliM1pwWkdWa0lIUnZJSFJvWlNCdmNHcGZjbVZoWkY5b1pXRmtaWElnWm5WdVkzUnBiMjRnYVhNZ2JtOTBJR0VnWkdWamIyMXdjbVZ6YzI5eUlHaGhibVJzWlhJdUNnQlVhV3hsY3lCa2IyNG5kQ0JoYkd3Z2FHRjJaU0IwYUdVZ2MyRnRaU0JrYVcxbGJuTnBiMjR1SUZOcmFYQWdkR2hsSUUxRFZDQnpkR1Z3TGdvQVRuVnRZbVZ5SUc5bUlHTnZiWEJ2Ym1WdWRITWdLQ1ZrS1NCcGN5QnBibU52Ym5OcGMzUmxiblFnZDJsMGFDQmhJRTFEVkM0Z1UydHBjQ0IwYUdVZ1RVTlVJSE4wWlhBdUNnQktVRElnWW05NElIZG9hV05vSUdGeVpTQmhablJsY2lCMGFHVWdZMjlrWlhOMGNtVmhiU0IzYVd4c0lHNXZkQ0JpWlNCeVpXRmtJR0o1SUhSb2FYTWdablZ1WTNScGIyNHVDZ0JOWVd4bWIzSnRaV1FnU0ZRZ1kyOWtaV0pzYjJOckxpQlhhR1Z1SUhSb1pTQnVkVzFpWlhJZ2IyWWdlbVZ5YnlCd2JHRnVaWE1nWW1sMGNHeGhibVZ6SUdseklHVnhkV0ZzSUhSdklIUm9aU0J1ZFcxaVpYSWdiMllnWW1sMGNHeGhibVZ6TENCdmJteDVJSFJvWlNCamJHVmhiblZ3SUhCaGMzTWdiV0ZyWlhNZ2MyVnVjMlVzSUdKMWRDQjNaU0JvWVhabElDVmtJSEJoYzNObGN5QnBiaUIwYUdseklHTnZaR1ZpYkc5amF5NGdWR2hsY21WbWIzSmxMQ0J2Ym14NUlIUm9aU0JqYkdWaGJuVndJSEJoYzNNZ2QybHNiQ0JpWlNCa1pXTnZaR1ZrTGlCVWFHbHpJRzFsYzNOaFoyVWdkMmxzYkNCdWIzUWdZbVVnWkdsemNHeGhlV1ZrSUdGbllXbHVMZ29BU1cxaFoyVWdhR0Z6SUd4bGMzTWdZMjl0Y0c5dVpXNTBjeUIwYUdGdUlHTnZaR1Z6ZEhKbFlXMHVDZ0JPWldWa0lIUnZJR1JsWTI5a1pTQjBhR1VnYldGcGJpQm9aV0ZrWlhJZ1ltVm1iM0psSUdKbFoybHVJSFJ2SUdSbFkyOWtaU0IwYUdVZ2NtVnRZV2x1YVc1bklHTnZaR1Z6ZEhKbFlXMHVDZ0JRYzI5MElIWmhiSFZsSUc5bUlIUm9aU0JqZFhKeVpXNTBJSFJwYkdVdGNHRnlkQ0JwY3lCbGNYVmhiQ0IwYnlCNlpYSnZMQ0IzWlNCaGMzTjFiV2x1WnlCcGRDQnBjeUIwYUdVZ2JHRnpkQ0IwYVd4bExYQmhjblFnYjJZZ2RHaGxJR052WkdWemRISmxZVzB1Q2dCQklHMWhiR1p2Y20xbFpDQmpiMlJsWW14dlkyc2dkR2hoZENCb1lYTWdiVzl5WlNCMGFHRnVJRzl1WlNCamIyUnBibWNnY0dGemN5d2dZblYwSUhwbGNtOGdiR1Z1WjNSb0lHWnZjaUF5Ym1RZ1lXNWtJSEJ2ZEdWdWRHbGhiR3g1SUhSb1pTQXpjbVFnY0dGemN5QnBiaUJoYmlCSVZDQmpiMlJsWW14dlkyc3VDZ0FKQ1FrZ2RHbHNaUzF3WVhKMFd5VmtYVG9nYzNSaGNsOXdiM005Sld4c2FTd2daVzVrWDJobFlXUmxjajBsYkd4cExDQmxibVJmY0c5elBTVnNiR2t1Q2dCVWFXeGxJQ1YxSUdoaGN5QlVVSE52ZENBOVBTQXdJR0Z1WkNCVVRuTnZkQ0E5UFNBd0xDQmlkWFFnYm04Z2IzUm9aWElnZEdsc1pTMXdZWEowY3lCM1pYSmxJR1p2ZFc1a0xpQkZUME1nYVhNZ1lXeHpieUJ0YVhOemFXNW5MZ29BUTI5dGNHOXVaVzUwSUNWa0lHUnZaWE51SjNRZ2FHRjJaU0JoSUcxaGNIQnBibWN1Q2dCQklHTnZibVp2Y20xcGJtY2dTbEF5SUhKbFlXUmxjaUJ6YUdGc2JDQnBaMjV2Y21VZ1lXeHNJRU52Ykc5MWNpQlRjR1ZqYVdacFkyRjBhVzl1SUdKdmVHVnpJR0ZtZEdWeUlIUm9aU0JtYVhKemRDd2djMjhnZDJVZ2FXZHViM0psSUhSb2FYTWdiMjVsTGdvQVZHaGxJSE5wWjI1aGRIVnlaU0JpYjNnZ2JYVnpkQ0JpWlNCMGFHVWdabWx5YzNRZ1ltOTRJR2x1SUhSb1pTQm1hV3hsTGdvQVZHaGxJQ0JpYjNnZ2JYVnpkQ0JpWlNCMGFHVWdabWx5YzNRZ1ltOTRJR2x1SUhSb1pTQm1hV3hsTGdvQVZHaGxJR1owZVhBZ1ltOTRJRzExYzNRZ1ltVWdkR2hsSUhObFkyOXVaQ0JpYjNnZ2FXNGdkR2hsSUdacGJHVXVDZ0JHWVdsc1pXUWdkRzhnWkdWamIyUmxMZ29BVFdGc1ptOXliV1ZrSUVoVUlHTnZaR1ZpYkc5amF5NGdTVzVqYjNKeVpXTjBJRTFGVENCelpXZHRaVzUwSUhObGNYVmxibU5sTGdvQVEyOXRjRzl1Wlc1MElDVmtJR2x6SUcxaGNIQmxaQ0IwZDJsalpTNEtBRTl1YkhrZ2IyNWxJRU5OUVZBZ1ltOTRJR2x6SUdGc2JHOTNaV1F1Q2dCWFpTQnVaV1ZrSUdGdUlHbHRZV2RsSUhCeVpYWnBiM1Z6YkhrZ1kzSmxZWFJsWkM0S0FFbElSRklnWW05NFgyMXBjM05wYm1jdUlGSmxjWFZwY21Wa0xnb0FTbEF5U0NCaWIzZ2diV2x6YzJsdVp5NGdVbVZ4ZFdseVpXUXVDZ0JPYjNRZ2MzVnlaU0JvYjNjZ2RHaGhkQ0JvWVhCd1pXNWxaQzRLQUUxaGFXNGdhR1ZoWkdWeUlHaGhjeUJpWldWdUlHTnZjbkpsWTNSc2VTQmtaV052WkdWa0xnb0FWR2xzWlNBbFpDOGxaQ0JvWVhNZ1ltVmxiaUJrWldOdlpHVmtMZ29BU0dWaFpHVnlJRzltSUhScGJHVWdKV1FnTHlBbFpDQm9ZWE1nWW1WbGJpQnlaV0ZrTGdvQVJXMXdkSGtnVTA5VUlHMWhjbXRsY2lCa1pYUmxZM1JsWkRvZ1VITnZkRDBsWkM0S0FFUnBjbVZqZENCMWMyVWdZWFFnSXlWa0lHaHZkMlYyWlhJZ2NHTnZiRDBsWkM0S0FFbHRjR3hsYldWdWRHRjBhVzl1SUd4cGJXbDBZWFJwYjI0NklHWnZjaUJ3WVd4bGRIUmxJRzFoY0hCcGJtY3NJSEJqYjJ4YkpXUmRJSE5vYjNWc1pDQmlaU0JsY1hWaGJDQjBieUFsWkN3Z1luVjBJR2x6SUdWeGRXRnNJSFJ2SUNWa0xnb0FTVzUyWVd4cFpDQmpiMjF3YjI1bGJuUXZjR0ZzWlhSMFpTQnBibVJsZUNCbWIzSWdaR2x5WldOMElHMWhjSEJwYm1jZ0pXUXVDZ0JKYm5aaGJHbGtJSFpoYkhWbElHWnZjaUJqYldGd1d5VmtYUzV0ZEhsd0lEMGdKV1F1Q2dCUWMyOTBJSFpoYkhWbElHbHpJRzV2ZENCamIzSnlaV04wSUhKbFoyRnlaSE1nZEc4Z2RHaGxJRXBRUlVjeU1EQXdJRzV2Y20wNklDVmtMZ29BVFdGc1ptOXliV1ZrSUVoVUlHTnZaR1ZpYkc5amF5NGdWa3hESUdOdlpHVWdjSEp2WkhWalpYTWdjMmxuYm1sbWFXTmhiblFnYzJGdGNHeGxjeUJ2ZFhSemFXUmxJSFJvWlNCamIyUmxZbXh2WTJzZ1lYSmxZUzRLQUZWdVpYaHdaV04wWldRZ1QwOU5MZ29BTXpJZ1ltbDBjeUJoY21VZ2JtOTBJR1Z1YjNWbmFDQjBieUJrWldOdlpHVWdkR2hwY3lCamIyUmxZbXh2WTJzc0lITnBibU5sSUhSb1pTQnVkVzFpWlhJZ2IyWWdZbWwwY0d4aGJtVXNJQ1ZrTENCcGN5QnNZWEpuWlhJZ2RHaGhiaUF6TUM0S0FFSnZkSFJ2YlNCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVURTlKV1FwSUhOb2IzVnNaQ0JpWlNBK0lEQXVDZ0JTYVdkb2RDQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlREU5SldRcElITm9iM1ZzWkNCaVpTQStJREF1Q2dCVmNDQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlVEE5SldRcElITm9iM1ZzWkNCaVpTQStQU0F3TGdvQVRHVm1kQ0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZURBOUpXUXBJSE5vYjNWc1pDQmlaU0ErUFNBd0xnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCUVVGUWdiV0Z5YTJWeU9pQndZV05yWlhRZ2FHVmhaR1Z5SUdoaGRtVWdZbVZsYmlCd2NtVjJhVzkxYzJ4NUlHWnZkVzVrSUdsdUlIUm9aU0J0WVdsdUlHaGxZV1JsY2lBb1VGQk5JRzFoY210bGNpa3VDZ0JUZEdGeWRDQjBieUJ5WldGa0lHb3lheUJ0WVdsdUlHaGxZV1JsY2lBb0pXeHNaQ2t1Q2dCQ2IzUjBiMjBnY0c5emFYUnBiMjRnYjJZZ2RHaGxJR1JsWTI5a1pXUWdZWEpsWVNBb2NtVm5hVzl1WDNreFBTVmtLU0JwY3lCdmRYUnphV1JsSUhSb1pTQnBiV0ZuWlNCaGNtVmhJQ2haYzJsNlBTVmtLUzRLQUZWd0lIQnZjMmwwYVc5dUlHOW1JSFJvWlNCa1pXTnZaR1ZrSUdGeVpXRWdLSEpsWjJsdmJsOTVNRDBsWkNrZ2FYTWdiM1YwYzJsa1pTQjBhR1VnYVcxaFoyVWdZWEpsWVNBb1dYTnBlajBsWkNrdUNnQlNhV2RvZENCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVERTlKV1FwSUdseklHOTFkSE5wWkdVZ2RHaGxJR2x0WVdkbElHRnlaV0VnS0ZoemFYbzlKV1FwTGdvQVRHVm1kQ0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZURBOUpXUXBJR2x6SUc5MWRITnBaR1VnZEdobElHbHRZV2RsSUdGeVpXRWdLRmh6YVhvOUpXUXBMZ29BUW05MGRHOXRJSEJ2YzJsMGFXOXVJRzltSUhSb1pTQmtaV052WkdWa0lHRnlaV0VnS0hKbFoybHZibDk1TVQwbFpDa2dhWE1nYjNWMGMybGtaU0IwYUdVZ2FXMWhaMlVnWVhKbFlTQW9XVTl6YVhvOUpXUXBMZ29BVlhBZ2NHOXphWFJwYjI0Z2IyWWdkR2hsSUdSbFkyOWtaV1FnWVhKbFlTQW9jbVZuYVc5dVgza3dQU1ZrS1NCcGN5QnZkWFJ6YVdSbElIUm9aU0JwYldGblpTQmhjbVZoSUNoWlQzTnBlajBsWkNrdUNnQlNhV2RvZENCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVERTlKV1FwSUdseklHOTFkSE5wWkdVZ2RHaGxJR2x0WVdkbElHRnlaV0VnS0ZoUGMybDZQU1ZrS1M0S0FFeGxablFnY0c5emFYUnBiMjRnYjJZZ2RHaGxJR1JsWTI5a1pXUWdZWEpsWVNBb2NtVm5hVzl1WDNnd1BTVmtLU0JwY3lCdmRYUnphV1JsSUhSb1pTQnBiV0ZuWlNCaGNtVmhJQ2hZVDNOcGVqMGxaQ2t1Q2dCVGFYcGxJSGdnYjJZZ2RHaGxJR1JsWTI5a1pXUWdZMjl0Y0c5dVpXNTBJR2x0WVdkbElHbHpJR2x1WTI5eWNtVmpkQ0FvWTI5dGNGc2xaRjB1ZHowbFpDa3VDZ0JUYVhwbElIa2diMllnZEdobElHUmxZMjlrWldRZ1kyOXRjRzl1Wlc1MElHbHRZV2RsSUdseklHbHVZMjl5Y21WamRDQW9ZMjl0Y0ZzbFpGMHVhRDBsWkNrdUNnQlVhV3hsSUhKbFlXUXNJR1JsWTI5a1pXUWdZVzVrSUhWd1pHRjBaV1FnYVhNZ2JtOTBJSFJvWlNCa1pYTnBjbVZrSUc5dVpTQW9KV1FnZG5NZ0pXUXBMZ29BU1c1MllXeHBaQ0JqYjIxd2IyNWxiblFnYVc1a1pYZ2dKV1FnS0Q0OUlDVmtLUzRLQUc5d2FsOXlaV0ZrWDJobFlXUmxjaWdwSUhOb2IzVnNaQ0JpWlNCallXeHNaV1FnWW1WbWIzSmxJRzl3YWw5elpYUmZaR1ZqYjJSbFpGOWpiMjF3YjI1bGJuUnpLQ2t1Q2dCTlpXMXZjbmtnWVd4c2IyTmhkR2x2YmlCbVlXbHNkWEpsSUdsdUlHOXdhbDlxY0RKZllYQndiSGxmY0dOc2NpZ3BMZ29BYVcxaFoyVXRQbU52YlhCeld5VmtYUzVrWVhSaElEMDlJRTVWVEV3Z2FXNGdiM0JxWDJwd01sOWhjSEJzZVY5d1kyeHlLQ2t1Q2dCcGJuWmhiR2xrSUdKdmVDQnphWHBsSUNWa0lDZ2xlQ2tLQUVaaGFXd2dkRzhnY21WaFpDQjBhR1VnWTNWeWNtVnVkQ0J0WVhKclpYSWdjMlZuYldWdWRDQW9KU040S1FvQVJYSnliM0lnZDJsMGFDQlRTVm9nYldGeWEyVnlPaUJKU0VSU0lIY29KWFVwSUdnb0pYVXBJSFp6TGlCVFNWb2dkeWdsZFNrZ2FDZ2xkU2tLQUVWeWNtOXlJSEpsWVdScGJtY2dRMDlESUcxaGNtdGxjaUFvWW1Ga0lHNTFiV0psY2lCdlppQmpiMjF3YjI1bGJuUnpLUW9BU1c1MllXeHBaQ0J1ZFcxaVpYSWdiMllnZEdsc1pYTWdPaUFsZFNCNElDVjFJQ2h0WVhocGJYVnRJR1pwZUdWa0lHSjVJR3B3WldjeU1EQXdJRzV2Y20wZ2FYTWdOalUxTXpVZ2RHbHNaWE1wQ2dCSmJuWmhiR2xrSUc1MWJXSmxjaUJ2WmlCamIyMXdiMjVsYm5SeklDaHBhR1J5S1FvQVRtOTBJR1Z1YjNWbmFDQnRaVzF2Y25rZ2RHOGdhR0Z1Wkd4bElHbHRZV2RsSUdobFlXUmxjaUFvYVdoa2Npa0tBRmR5YjI1bklIWmhiSFZsY3lCbWIzSTZJSGNvSldRcElHZ29KV1FwSUc1MWJXTnZiWEJ6S0NWa0tTQW9hV2hrY2lrS0FFbHVkbUZzYVdRZ2RtRnNkV1Z6SUdadmNpQmpiMjF3SUQwZ0pXUWdPaUJrZUQwbGRTQmtlVDBsZFNBb2MyaHZkV3hrSUdKbElHSmxkSGRsWlc0Z01TQmhibVFnTWpVMUlHRmpZMjl5WkdsdVp5QjBieUIwYUdVZ1NsQkZSekl3TURBZ2JtOXliU2tLQUVKaFpDQnBiV0ZuWlNCb1pXRmtaWElnWW05NElDaGlZV1FnYzJsNlpTa0tBRUpoWkNCRFQweFNJR2hsWVdSbGNpQmliM2dnS0dKaFpDQnphWHBsS1FvQVFtRmtJRUpRUTBNZ2FHVmhaR1Z5SUdKdmVDQW9ZbUZrSUhOcGVtVXBDZ0JGY25KdmNpQjNhWFJvSUZOSldpQnRZWEpyWlhJNklHNWxaMkYwYVhabElHOXlJSHBsY204Z2FXMWhaMlVnYzJsNlpTQW9KV3hzWkNCNElDVnNiR1FwQ2dCemEybHdPaUJ6WldkdFpXNTBJSFJ2YnlCc2IyNW5JQ2dsWkNrZ2QybDBhQ0J0WVhnZ0tDVmtLU0JtYjNJZ1kyOWtaV0pzYjJOcklDVmtJQ2h3UFNWa0xDQmlQU1ZrTENCeVBTVmtMQ0JqUFNWa0tRb0FjbVZoWkRvZ2MyVm5iV1Z1ZENCMGIyOGdiRzl1WnlBb0pXUXBJSGRwZEdnZ2JXRjRJQ2dsWkNrZ1ptOXlJR052WkdWaWJHOWpheUFsWkNBb2NEMGxaQ3dnWWowbFpDd2djajBsWkN3Z1l6MGxaQ2tLQUVSbGMzQnBkR1VnU2xBeUlFSlFReUU5TWpVMUxDQndjbVZqYVhOcGIyNGdZVzVrTDI5eUlITm5ibVFnZG1Gc2RXVnpJR1p2Y2lCamIyMXdXeVZrWFNCcGN5QmthV1ptWlhKbGJuUWdkR2hoYmlCamIyMXdXekJkT2dvZ0lDQWdJQ0FnSUZzd1hTQndjbVZqS0NWa0tTQnpaMjVrS0NWa0tTQmJKV1JkSUhCeVpXTW9KV1FwSUhObmJtUW9KV1FwQ2dCaVlXUWdZMjl0Y0c5dVpXNTBJRzUxYldKbGNpQnBiaUJTUjA0Z0tDVmtJSGRvWlc0Z2RHaGxjbVVnWVhKbElHOXViSGtnSldRcENnQkZjbkp2Y2lCM2FYUm9JRk5KV2lCdFlYSnJaWEk2SUc1MWJXSmxjaUJ2WmlCamIyMXdiMjVsYm5RZ2FYTWdibTkwSUdOdmJYQmhkR2xpYkdVZ2QybDBhQ0IwYUdVZ2NtVnRZV2x1YVc1bklHNTFiV0psY2lCdlppQndZWEpoYldWMFpYSnpJQ2dnSldRZ2RuTWdKV1FwQ2dCRmNuSnZjaUIzYVhSb0lGTkpXaUJ0WVhKclpYSTZJR2x1ZG1Gc2FXUWdkR2xzWlNCemFYcGxJQ2gwWkhnNklDVmtMQ0IwWkhrNklDVmtLUW9BUW1Ga0lFTlBURklnYUdWaFpHVnlJR0p2ZUNBb1ltRmtJSE5wZW1VNklDVmtLUW9BUW1Ga0lFTlBURklnYUdWaFpHVnlJR0p2ZUNBb1EwbEZUR0ZpTENCaVlXUWdjMmw2WlRvZ0pXUXBDZ0JRVkVWU1RTQmphR1ZqYXlCbVlXbHNkWEpsT2lBbFpDQnlaVzFoYVc1cGJtY2dZbmwwWlhNZ2FXNGdZMjlrWlNCaWJHOWpheUFvSldRZ2RYTmxaQ0F2SUNWa0tRb0FUV0ZzWm05eWJXVmtJRWhVSUdOdlpHVmliRzlqYXk0Z1QyNWxJRzltSUhSb1pTQm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVJR2x6SUc1dmRDQnRaWFE2SURJZ1BEMGdVMk4xY0NBOFBTQnRhVzRvVEdOMWNDd2dOREEzT1NrS0FFbHVkbUZzYVdRZ2RtRnNkV1Z6SUdadmNpQmpiMjF3SUQwZ0pXUWdPaUJ3Y21WalBTVjFJQ2h6YUc5MWJHUWdZbVVnWW1WMGQyVmxiaUF4SUdGdVpDQXpPQ0JoWTJOdmNtUnBibWNnZEc4Z2RHaGxJRXBRUlVjeU1EQXdJRzV2Y20wdUlFOXdaVzVLY0dWbklHOXViSGtnYzNWd2NHOXlkSE1nZFhBZ2RHOGdNekVwQ2dCSmJuWmhiR2xrSUdKcGRDQnVkVzFpWlhJZ0pXUWdhVzRnYjNCcVgzUXlYM0psWVdSZmNHRmphMlYwWDJobFlXUmxjaWdwQ2dCVGRISmxZVzBnWlhKeWIzSWhDZ0JGY25KdmNpQnZiaUIzY21sMGFXNW5JSE4wY21WaGJTRUtBRk4wY21WaGJTQnlaV0ZqYUdWa0lHbDBjeUJsYm1RZ0lRb0FSWGh3WldOMFpXUWdZU0JUVDBNZ2JXRnlhMlZ5SUFvQVNXNTJZV3hwWkNCaWIzZ2djMmw2WlNBbFpDQm1iM0lnWW05NElDY2xZeVZqSldNbFl5Y3VJRTVsWldRZ0pXUWdZbmwwWlhNc0lDVmtJR0o1ZEdWeklISmxiV0ZwYm1sdVp5QUtBRTFoYkdadmNtMWxaQ0JJVkNCamIyUmxZbXh2WTJzdUlFUmxZMjlrYVc1bklIUm9hWE1nWTI5a1pXSnNiMk5ySUdseklITjBiM0J3WldRdUlGVmZjU0JwY3lCc1lYSm5aWElnZEdoaGJpQjZaWEp2SUdKcGRIQnNZVzVsY3lBcklERWdDZ0JOWVd4bWIzSnRaV1FnU0ZRZ1kyOWtaV0pzYjJOckxpQkVaV052WkdsdVp5QjBhR2x6SUdOdlpHVmliRzlqYXlCcGN5QnpkRzl3Y0dWa0xpQlZYM0VnYVhOc1lYSm5aWElnZEdoaGJpQmlhWFJ3YkdGdVpYTWdLeUF4SUFvQVEwOU1VaUJDVDFnZ2JXVjBhQ0IyWVd4MVpTQnBjeUJ1YjNRZ1lTQnlaV2QxYkdGeUlIWmhiSFZsSUNnbFpDa3NJSE52SUhkbElIZHBiR3dnYVdkdWIzSmxJSFJvWlNCbGJuUnBjbVVnUTI5c2IzVnlJRk53WldOcFptbGpZWFJwYjI0Z1ltOTRMaUFLQUZkb2FXeGxJSEpsWVdScGJtY2dRME5RWDFGT1ZGTlVXU0JsYkdWdFpXNTBJR2x1YzJsa1pTQlJRMFFnYjNJZ1VVTkRJRzFoY210bGNpQnpaV2R0Wlc1MExDQnVkVzFpWlhJZ2IyWWdjM1ZpWW1GdVpITWdLQ1ZrS1NCcGN5Qm5jbVZoZEdWeUlIUnZJRTlRU2w5S01rdGZUVUZZUWtGT1JGTWdLQ1ZrS1M0Z1UyOGdkMlVnYkdsdGFYUWdkR2hsSUc1MWJXSmxjaUJ2WmlCbGJHVnRaVzUwY3lCemRHOXlaV1FnZEc4Z1QxQktYMG95UzE5TlFWaENRVTVFVXlBb0pXUXBJR0Z1WkNCemEybHdJSFJvWlNCeVpYTjBMaUFLQUVwUU1pQkpTRVJTSUdKdmVEb2dZMjl0Y0hKbGMzTnBiMjRnZEhsd1pTQnBibVJwWTJGMFpTQjBhR0YwSUhSb1pTQm1hV3hsSUdseklHNXZkQ0JoSUdOdmJtWnZjbTFwYm1jZ1NsQXlJR1pwYkdVZ0tDVmtLU0FLQUZScGJHVWdhVzVrWlhnZ2NISnZkbWxrWldRZ1lua2dkR2hsSUhWelpYSWdhWE1nYVc1amIzSnlaV04wSUNWa0lDaHRZWGdnUFNBbFpDa2dDZ0JGY25KdmNpQmtaV052WkdsdVp5QmpiMjF3YjI1bGJuUWdKV1F1Q2xSb1pTQnVkVzFpWlhJZ2IyWWdjbVZ6YjJ4MWRHbHZibk1nZEc4Z2NtVnRiM1psSUNnbFpDa2dhWE1nWjNKbFlYUmxjaUJ2Y2lCbGNYVmhiQ0IwYUdGdUlIUm9aU0J1ZFcxaVpYSWdiMllnY21WemIyeDFkR2x2Ym5NZ2IyWWdkR2hwY3lCamIyMXdiMjVsYm5RZ0tDVmtLUXBOYjJScFpua2dkR2hsSUdOd1gzSmxaSFZqWlNCd1lYSmhiV1YwWlhJdUNnb0FTVzFoWjJVZ1pHRjBZU0JvWVhNZ1ltVmxiaUIxY0dSaGRHVmtJSGRwZEdnZ2RHbHNaU0FsWkM0S0NnQkJvUDBBQzRBZ0l3Q2xBRU1BWmdDREFPNm9GQURmMkNNQXZoQkRBUC8xZ3dCK0lGVUFYMUVqQURVQVF3Qk9SSU1BenNRVUFNL01Jd0QrNGtNQS81bURBSllBeFFBL01TTUFwUUJEQUY1RWd3RE95QlFBM3hFakFQNzBRd0QvL0lNQW5nQlZBSGNBSXdBMUFFTUEvL0dEQUs2SUZBQzNBQ01BL3ZoREFPL2tnd0NPaU1VQUh4RWpBS1VBUXdCbUFJTUE3cWdVQU45VUl3QytFRU1BN3lLREFINGdWUUIvSWlNQU5RQkRBRTVFZ3dET3hCUUF2eEVqQVA3aVF3RDNBSU1BbGdERkFEOGlJd0NsQUVNQVhrU0RBTTdJRkFEWEFDTUEvdlJEQVArNmd3Q2VBRlVBYndBakFEVUFRd0QvNW9NQXJvZ1VBSytpSXdEKytFTUE1d0NEQUk2SXhRQXZJZ0lBeFFDRUFINGdBZ0RPeENRQTl3QUNBUDZpUkFCV0FBSUFuZ0FVQU5jQUFnQytFSVFBWmdBQ0FLNklKQURmRVFJQTdxaEVBRFlBQWdDT2lCUUFIeEVDQU1VQWhBQnVBQUlBem9na0FQK0lBZ0QrdUVRQVRrUUNBSllBRkFDM0FBSUEvdVNFQUY1RUFnQ21BQ1FBNXdBQ0FONVVSQUF1SWdJQVBnQVVBSGNBQWdERkFJUUFmaUFDQU03RUpBRC84UUlBL3FKRUFGWUFBZ0NlQUJRQXZ4RUNBTDRRaEFCbUFBSUFyb2drQU84aUFnRHVxRVFBTmdBQ0FJNklGQUIvSWdJQXhRQ0VBRzRBQWdET2lDUUE3K1FDQVA2NFJBQk9SQUlBbGdBVUFLK2lBZ0QrNUlRQVhrUUNBS1lBSkFEZjJBSUEzbFJFQUM0aUFnQStBQlFBWDFFQ0FGVUFoQUJtQUFJQTNvZ2tBUDh5QWdEK0VVUUFUa1FDQUs0QUZBQzNBQUlBZmpHRUFGNVJBZ0RHQUNRQTF3QUNBTzRnUkFBZUVRSUFuZ0FVQUhjQUFnQlZBSVFBWGxRQ0FNNUVKQURuQUFJQS92RkVBRFlBQWdDbUFCUUFYMVVDQVA1MGhBQStFUUlBdmlBa0FIOTBBZ0RleEVRQS8vZ0NBSllBRkFBdklnSUFWUUNFQUdZQUFnRGVpQ1FBOXdBQ0FQNFJSQUJPUkFJQXJnQVVBSStJQWdCK01ZUUFYbEVDQU1ZQUpBRFB5QUlBN2lCRUFCNFJBZ0NlQUJRQWJ3QUNBRlVBaEFCZVZBSUF6a1FrQU4vUkFnRCs4VVFBTmdBQ0FLWUFGQUIvSWdJQS9uU0VBRDRSQWdDK0lDUUF2eUlDQU43RVJBRHZJZ0lBbGdBVUFEOHlBd0RlMVAzMC8vd1VBRDRSVlFDUGlBTUF2aktGQU9jQUpRQmVVZjZxZjNJREFNNUUvZmp2UkJRQWZtUkZBSytpQXdDbUFGMVYzNW45OFRZQS92VnZZZ01BM3RIOTlQL21GQUIrY1ZVQXY3RURBSzZJaFFEZjFTVUFUa1QrOG45bUF3REdBUDM0NytJVUFGNVVSUUNmRVFNQWxnQmRWYy9JL2ZFZUVlN0lad0FEQU43VS9mVC84eFFBUGhGVkFMOFJBd0MrTW9VQTM5Z2xBRjVSL3FvdklnTUF6a1Q5K1BjQUZBQitaRVVBbjVnREFLWUFYVlhYQVAzeE5nRCs5VzlFQXdEZTBmMzAvN2tVQUg1eFZRQzNBQU1Bcm9pRkFOL2NKUUJPUlA3eWR3QURBTVlBL2ZqdjVCUUFYbFJGQUg5ekF3Q1dBRjFWdjdqOThSNFI3c2cvTWdJQXBRQ0VBSDVBQWdEZUVDUUEzeEVDQVA1eVJBQldBQUlBcnFnVUFMK3lBZ0NXQUlRQVpnQUNBTVlBSkFEbkFBSUE3c2hFQUM0aUFnQ09pQlFBZHdBQ0FLVUFoQUJ1QUFJQXpvZ2tBUGNBQWdEK2tVUUFOZ0FDQUs2aUZBQ3ZxZ0lBL3JpRUFGNEFBZ0MrQUNRQXo4UUNBTzVFUkFELzlBSUFQaUlVQUI4UkFnQ2xBSVFBZmtBQ0FONFFKQUQvbVFJQS9uSkVBRllBQWdDdXFCUUF0d0FDQUpZQWhBQm1BQUlBeGdBa0FOY0FBZ0R1eUVRQUxpSUNBSTZJRkFCUFJBSUFwUUNFQUc0QUFnRE9pQ1FBNytJQ0FQNlJSQUEyQUFJQXJxSVVBSDlFQWdEK3VJUUFYZ0FDQUw0QUpBQ2ZBQUlBN2tSRUFQOTJBZ0ErSWhRQVB6RURBTVlBaFFELzJmM3lmbVQrOGIrWkF3Q3VvaVVBNzJiOTlGWUE3dUovY3dNQXZwaEZBUGNBL2ZobUFQNTJuNGdEQUk2SUZRRGYxYVVBTGlMZW1FOUVBd0Mrc29VQS8vejk4bTRpbGdDM0FBTUFycW9sQU4vUi9mUTJBTjdVYjJRREFLNm9SUUR2NnYzNFhrVHU2SDl4QXdBK01oVUF6OFNsQVAvNnpvZy9NUU1BeGdDRkFQOTMvZkorWlA3eHY3TURBSzZpSlFEbkFQMzBWZ0R1NG5jQUF3QyttRVVBNytUOStHWUEvblovWmdNQWpvZ1ZBTmNBcFFBdUl0NllQek1EQUw2eWhRRC9kZjN5YmlLV0FKK1JBd0N1cWlVQTM1bjk5RFlBM3RSZlVRTUFycWhGQU8vcy9maGVSTzdvZjNJREFENHlGUUMvc2FVQS8vUE9pQjhSQXdEZVZQM3lIaEVVQUg1ay92alB6QU1BdnBGRkFPOGlKUUF1SXY3emo0Z0RBTVlBaFFEM0FCUUFYaEgrL0srb0F3Q21BRFVBMzhqOThUNHgvbVp2WkFNQXpzajk4di8xRkFCbUFQNzB2N29EQUs0aVJRRG5BQ1VBUGpMKzZuOXpBd0Mrc29VQTMxVVVBRllBZm5HZkVRTUFsZ0ExQU0vRS9mRStNKzdvVDBRREFONVUvZkllRVJRQWZtVCsrTCtaQXdDK2tVVUE3K0lsQUM0aS92Ti9aZ01BeGdDRkFPL2tGQUJlRWY3OG41Z0RBS1lBTlFEWEFQM3hQakgrWm04aUF3RE95UDN5LzdrVUFHWUEvdlMzQUFNQXJpSkZBTi9SSlFBK012N3Fkd0FEQUw2eWhRRHY3QlFBVmdCK2NYOXlBd0NXQURVQXY3ajk4VDR6N3VoZlZQengzdEg5K3RjQS9QZ1dBUDMvZjNUODlINXgvZk8vcy96eTcrcnU2RTlFL1BHdUlnVUF2N2o4K1BjQS92eDNBUHowWGhIOTlYOTEvUExmMk83aVB6UDg4YjZ5L2ZyUGlQejQvL3Y5LzM5ei9QUnVBUDN6dHdEODh1OW0vdmsvTWZ6eG5nQUZBTCs2L1BqLy9mNzJad0Q4OUNZQS9mV1BpUHp5Mzl6ZTFDOGkvUEhlMGYzNno4VDgrQllBL2Y5L2N2ejBmbkg5ODcrWi9QTHY3TzdvUndEODhhNGlCUUNuQVB6NC8vZisvRmNBL1BSZUVmMzFsd0Q4OHQvVjd1STNBUHp4dnJMOStzY0EvUGovL3YzL2YyYjg5RzRBL2ZPdnFQenk1d0QrK1Q4eS9QR2VBQVVBdjdIOCtPL2svdlpmVlB6MEpnRDk5WWNBL1BMZm1kN1VIeEVUQUdVQVF3RGVBSU1BallnakFFNUVFd0NsQUVNQXJvaURBRFVBSXdEWEFCTUF4UUJEQUo0QWd3QlZBQ01BTGlJVEFKVUFRd0IrQUlNQS9oQWpBSGNBRXdCbEFFTUF6b2lEQUkySUl3QWVFUk1BcFFCREFGNEFnd0ExQUNNQTV3QVRBTVVBUXdDK0FJTUFWUUFqQVA4UkV3Q1ZBRU1BUGdDREFPNUFJd0N2b2hNQVpRQkRBTjRBZ3dDTmlDTUFUa1FUQUtVQVF3Q3VpSU1BTlFBakFPOUVFd0RGQUVNQW5nQ0RBRlVBSXdBdUloTUFsUUJEQUg0QWd3RCtFQ01BdHdBVEFHVUFRd0RPaUlNQWpZZ2pBQjRSRXdDbEFFTUFYZ0NEQURVQUl3RFB4Qk1BeFFCREFMNEFnd0JWQUNNQTl3QVRBSlVBUXdBK0FJTUE3a0FqQUc4QUFRQ0VBQUVBVmdBQkFCUUFBUURYQUFFQUpBQUJBSllBQVFCRkFBRUFkd0FCQUlRQUFRREdBQUVBRkFBQkFJK0lBUUFrQUFFQTl3QUJBRFVBQVFBdklnRUFoQUFCQVA1QUFRQVVBQUVBdHdBQkFDUUFBUUMvQUFFQVJRQUJBR2NBQVFDRUFBRUFwZ0FCQUJRQUFRQlBSQUVBSkFBQkFPY0FBUUExQUFFQVB4RUJBSVFBQVFCV0FBRUFGQUFCQU04QUFRQWtBQUVBbGdBQkFFVUFBUUJ2QUFFQWhBQUJBTVlBQVFBVUFBRUFud0FCQUNRQUFRRHZBQUVBTlFBQkFEOHlBUUNFQUFFQS9rQUJBQlFBQVFDdkFBRUFKQUFCQVA5RUFRQkZBQUVBWHdBQkFJUUFBUUNtQUFFQUZBQUJBSDhBQVFBa0FBRUEzd0FCQURVQUFRQWZFUUVBSkFBQkFGWUFBUUNGQUFFQXZ3QUJBQlFBQVFEM0FBRUF4Z0FCQUhjQUFRQWtBQUVBLy9nQkFFVUFBUUIvQUFFQUZBQUJBTjhBQVFDbUFBRUFQekVCQUNRQUFRQXVJZ0VBaFFBQkFMY0FBUUFVQUFFQTcwUUJBSzZpQVFCbkFBRUFKQUFCQVA5UkFRQkZBQUVBbHdBQkFCUUFBUURQQUFFQU5nQUJBRDhpQVFBa0FBRUFWZ0FCQUlVQUFRQy9zZ0VBRkFBQkFPOUFBUURHQUFFQWJ3QUJBQ1FBQVFEL2NnRUFSUUFCQUo4QUFRQVVBQUVBMXdBQkFLWUFBUUJQUkFFQUpBQUJBQzRpQVFDRkFBRUFyNmdCQUJRQUFRRG5BQUVBcnFJQkFGOEFBUUFrQUFFQS8wUUJBRVVBQVFDUGlBRUFGQUFCQUsrcUFRQTJBQUVBSHhFQ0FQNzRKQUJXQUFJQXRnQ0ZBUDltQWdET0FCUUFIaEVDQUpZQU5RQ3ZxQUlBOWdBa0FENHhBZ0NtQUVVQXY3TUNBTDZ5RkFELzlRSUFaZ0IrVVY5VUFnRCs4aVFBTGlJQ0FLNGloUUR2UkFJQXhnQVVBUC8wQWdCMkFEVUFmMFFDQU41QUpBQStNZ0lBbmdCRkFOY0FBZ0MraUJRQS8vb0NBRjRSL3ZGUFJBSUEvdmdrQUZZQUFnQzJBSVVBNzhnQ0FNNEFGQUFlRVFJQWxnQTFBSStJQWdEMkFDUUFQakVDQUtZQVJRRGZSQUlBdnJJVUFQK29BZ0JtQUg1UmJ3QUNBUDd5SkFBdUlnSUFyaUtGQU9jQUFnREdBQlFBNytJQ0FIWUFOUUIvY2dJQTNrQWtBRDR5QWdDZUFFVUF2N0VDQUw2SUZBRC9jd0lBWGhIKzhUOHpBUUNFQUFFQTdpQUJBTVVBQVFEUHhBRUFSQUFCQVA4eUFRQVZBQUVBajRnQkFJUUFBUUJtQUFFQUpRQUJBSzhBQVFCRUFBRUE3eUlCQUtZQUFRQmZBQUVBaEFBQkFFNUVBUURGQUFFQXo4d0JBRVFBQVFEM0FBRUFGUUFCQUc4QUFRQ0VBQUVBVmdBQkFDVUFBUUNmQUFFQVJBQUJBTjhBQVFEK01BRUFMeUlCQUlRQUFRRHVJQUVBeFFBQkFNL0lBUUJFQUFFQS94RUJBQlVBQVFCM0FBRUFoQUFCQUdZQUFRQWxBQUVBZndBQkFFUUFBUURuQUFFQXBnQUJBRGNBQVFDRUFBRUFUa1FCQU1VQUFRQzNBQUVBUkFBQkFMOEFBUUFWQUFFQVB3QUJBSVFBQVFCV0FBRUFKUUFCQUpjQUFRQkVBQUVBMXdBQkFQNHdBUUFmRVFJQTdxaEVBSTZJQWdEV0FNVUEvL01DQVA3OEpRQStBQUlBdGdCVkFOL1lBZ0QrK0VRQVpnQUNBSDRnaFFEL21RSUE1Z0QxQURZQUFnQ21BQlVBbndBQ0FQN3lSQUIyQUFJQXprVEZBUDkyQWdEKzhTVUFUa1FDQUs0QVZRRFB5QUlBL3ZSRUFGNUVBZ0MrRUlVQTcrUUNBTjVVOVFBZUVRSUFsZ0FWQUM4aUFnRHVxRVFBam9nQ0FOWUF4UUQvK2dJQS92d2xBRDRBQWdDMkFGVUF2eEVDQVA3NFJBQm1BQUlBZmlDRkFPOGlBZ0RtQVBVQU5nQUNBS1lBRlFCL0lnSUEvdkpFQUhZQUFnRE9STVVBLzlVQ0FQN3hKUUJPUkFJQXJnQlZBRzhBQWdEKzlFUUFYa1FDQUw0UWhRRGZFUUlBM2xUMUFCNFJBZ0NXQUJVQVgxRURBUFlBRkFBZUVVUUFqb2lsQU4vVUF3Q3VvbFVBLzNZa0FENGl0Z0N2cWdNQTVnQVVBUC8xUkFCbUFJVUF6OHdEQUo0QXhRRHZSQ1FBTmdEKytIOHhBd0R1NkJRQS8vRkVBSFlBcFFEUHhBTUFmaUpWQU4vUkpBQk9SUDcwWDFFREFOWUFGQUR2NGtRQVhrU0ZBTDhpQXdDV0FNVUEzOGdrQUM0aS92SnZJZ01BOWdBVUFCNFJSQUNPaUtVQXY3RURBSzZpVlFEL015UUFQaUsyQUsrb0F3RG1BQlFBLzdsRUFHWUFoUUMvcUFNQW5nREZBTy9rSkFBMkFQNzRiMlFEQU83b0ZBRC8vRVFBZGdDbEFNL0lBd0IrSWxVQTcrb2tBRTVFL3ZSL2RBTUExZ0FVQVAvNlJBQmVSSVVBdjdJREFKWUF4UURmUkNRQUxpTCs4ajh4OHdEKyt2M3hOZ0FFQUw0eWRRRGZFZk1BM2xUOTh1L2sxUUIrY2Y3OGYzUHpBUDd6L2ZnZUVRUUFsZ0JWQUwreDh3RE9BTFVBMzlqOTlHWUEvcmxmVlBNQS9uYjk4U1lBQkFDbUFIVUFud0R6QUs0QS9mTC85OVVBUmdEKzlYOTA4d0RtQVAzNEZnQUVBSVlBVlFDUGlQTUF4Z0MxQU8vaS9mUmVFZTZvUHhIekFQNzYvZkUyQUFRQXZqSjFBTi9SOHdEZVZQM3kvL3ZWQUg1eC92eC9SUE1BL3ZQOStCNFJCQUNXQUZVQWYzTHpBTTRBdFFEdkl2MzBaZ0QrdVU5RTh3RCtkdjN4SmdBRUFLWUFkUUMvRWZNQXJnRDk4di8vMVFCR0FQNzFQekx6QU9ZQS9mZ1dBQVFBaGdCVkFHOEE4d0RHQUxVQXY3ajk5RjRSN3FndklnQkJySjBCQzZRZUFRQUFBQUVBQUFBQkFBQUFBZ0FBQUFJQUFBQUNBQUFBQXdBQUFBTUFBQUFFQUFBQUJRQUFBTGNoUWlGbklVSWhFUkVSRVRNek16TjNkM2QzQUFBQUFBQUFBQUFCVmdBQUFBQUFBQkJQQUFBZ1R3QUFBVllBQUFFQUFBQWdUd0FBRUU4QUFBRTBBQUFBQUFBQU1FOEFBTEJQQUFBQk5BQUFBUUFBQUVCUEFBREFUd0FBQVJnQUFBQUFBQUJRVHdBQUVGQUFBQUVZQUFBQkFBQUFZRThBQUNCUUFBREJDZ0FBQUFBQUFIQlBBQUJ3VUFBQXdRb0FBQUVBQUFDQVR3QUFnRkFBQUNFRkFBQUFBQUFBa0U4QUFKQlNBQUFoQlFBQUFRQUFBS0JQQUFDZ1VnQUFJUUlBQUFBQUFBQ3dVd0FBRUZNQUFDRUNBQUFCQUFBQXdGTUFBQ0JUQUFBQlZnQUFBQUFBQU5CUEFBREFUd0FBQVZZQUFBRUFBQURnVHdBQXNFOEFBQUZVQUFBQUFBQUE4RThBQUxCUUFBQUJWQUFBQVFBQUFBQlFBQURBVUFBQUFVZ0FBQUFBQUFBUVVBQUFzRkFBQUFGSUFBQUJBQUFBSUZBQUFNQlFBQUFCT0FBQUFBQUFBREJRQUFDd1VBQUFBVGdBQUFFQUFBQkFVQUFBd0ZBQUFBRXdBQUFBQUFBQVVGQUFBQkJSQUFBQk1BQUFBUUFBQUdCUUFBQWdVUUFBQVNRQUFBQUFBQUJ3VUFBQU1GRUFBQUVrQUFBQkFBQUFnRkFBQUVCUkFBQUJIQUFBQUFBQUFKQlFBQUJ3VVFBQUFSd0FBQUVBQUFDZ1VBQUFnRkVBQUFFV0FBQUFBQUFBa0ZJQUFKQlJBQUFCRmdBQUFRQUFBS0JTQUFDZ1VRQUFBVllBQUFBQUFBRFFVQUFBd0ZBQUFBRldBQUFCQUFBQTRGQUFBTEJRQUFBQlZBQUFBQUFBQVBCUUFBQ3dVQUFBQVZRQUFBRUFBQUFBVVFBQXdGQUFBQUZSQUFBQUFBQUFFRkVBQU5CUUFBQUJVUUFBQVFBQUFDQlJBQURnVUFBQUFVZ0FBQUFBQUFBd1VRQUE4RkFBQUFGSUFBQUJBQUFBUUZFQUFBQlJBQUFCT0FBQUFBQUFBRkJSQUFBUVVRQUFBVGdBQUFFQUFBQmdVUUFBSUZFQUFBRTBBQUFBQUFBQWNGRUFBREJSQUFBQk5BQUFBUUFBQUlCUkFBQkFVUUFBQVRBQUFBQUFBQUNRVVFBQVVGRUFBQUV3QUFBQkFBQUFvRkVBQUdCUkFBQUJLQUFBQUFBQUFMQlJBQUJRVVFBQUFTZ0FBQUVBQUFEQVVRQUFZRkVBQUFFa0FBQUFBQUFBMEZFQUFIQlJBQUFCSkFBQUFRQUFBT0JSQUFDQVVRQUFBU0lBQUFBQUFBRHdVUUFBa0ZFQUFBRWlBQUFCQUFBQUFGSUFBS0JSQUFBQkhBQUFBQUFBQUJCU0FBQ3dVUUFBQVJ3QUFBRUFBQUFnVWdBQXdGRUFBQUVZQUFBQUFBQUFNRklBQU5CUkFBQUJHQUFBQVFBQUFFQlNBQURnVVFBQUFSWUFBQUFBQUFCUVVnQUE4RkVBQUFFV0FBQUJBQUFBWUZJQUFBQlNBQUFCRkFBQUFBQUFBSEJTQUFBUVVnQUFBUlFBQUFFQUFBQ0FVZ0FBSUZJQUFBRVNBQUFBQUFBQWtGSUFBREJTQUFBQkVnQUFBUUFBQUtCU0FBQkFVZ0FBQVJFQUFBQUFBQUN3VWdBQVVGSUFBQUVSQUFBQkFBQUF3RklBQUdCU0FBREJDZ0FBQUFBQUFOQlNBQUJ3VWdBQXdRb0FBQUVBQUFEZ1VnQUFnRklBQU1FSkFBQUFBQUFBOEZJQUFKQlNBQURCQ1FBQUFRQUFBQUJUQUFDZ1VnQUFvUWdBQUFBQUFBQVFVd0FBc0ZJQUFLRUlBQUFCQUFBQUlGTUFBTUJTQUFBaEJRQUFBQUFBQURCVEFBRFFVZ0FBSVFVQUFBRUFBQUJBVXdBQTRGSUFBRUVFQUFBQUFBQUFVRk1BQVBCU0FBQkJCQUFBQVFBQUFHQlRBQUFBVXdBQW9RSUFBQUFBQUFCd1V3QUFFRk1BQUtFQ0FBQUJBQUFBZ0ZNQUFDQlRBQUFoQWdBQUFBQUFBSkJUQUFBd1V3QUFJUUlBQUFFQUFBQ2dVd0FBUUZNQUFFRUJBQUFBQUFBQXNGTUFBRkJUQUFCQkFRQUFBUUFBQU1CVEFBQmdVd0FBRVFFQUFBQUFBQURRVXdBQWNGTUFBQkVCQUFBQkFBQUE0Rk1BQUlCVEFBQ0ZBQUFBQUFBQUFQQlRBQUNRVXdBQWhRQUFBQUVBQUFBQVZBQUFvRk1BQUVrQUFBQUFBQUFBRUZRQUFMQlRBQUJKQUFBQUFRQUFBQ0JVQUFEQVV3QUFKUUFBQUFBQUFBQXdWQUFBMEZNQUFDVUFBQUFCQUFBQVFGUUFBT0JUQUFBVkFBQUFBQUFBQUZCVUFBRHdVd0FBRlFBQUFBRUFBQUJnVkFBQUFGUUFBQWtBQUFBQUFBQUFjRlFBQUJCVUFBQUpBQUFBQVFBQUFJQlVBQUFnVkFBQUJRQUFBQUFBQUFDUVZBQUFNRlFBQUFVQUFBQUJBQUFBb0ZRQUFFQlVBQUFCQUFBQUFBQUFBSkJVQUFCUVZBQUFBUUFBQUFFQUFBQ2dWQUFBWUZRQUFBRldBQUFBQUFBQXNGUUFBTEJVQUFBQlZnQUFBUUFBQU1CVUFBREFWQUFBQUFFREF3RUNBd01GQmdjSEJnWUhCd0FCQXdNQkFnTURCUVlIQndZR0J3Y0ZCZ2NIQmdZSEJ3Z0lDQWdJQ0FnSUJRWUhCd1lHQndjSUNBZ0lDQWdJQ0FFQ0F3TUNBZ01EQmdZSEJ3WUdCd2NCQWdNREFnSURBd1lHQndjR0JnY0hCZ1lIQndZR0J3Y0lDQWdJQ0FnSUNBWUdCd2NHQmdjSENBZ0lDQWdJQ0FnREF3UUVBd01FQkFjSEJ3Y0hCd2NIQXdNRUJBTURCQVFIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hDQWdJQ0FnSUNBZ0hCd2NIQndjSEJ3Z0lDQWdJQ0FnSUF3TUVCQU1EQkFRSEJ3Y0hCd2NIQndNREJBUURBd1FFQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2dJQ0FnSUNBZ0lCd2NIQndjSEJ3Y0lDQWdJQ0FnSUNBRUNBd01DQWdNREJnWUhCd1lHQndjQkFnTURBZ0lEQXdZR0J3Y0dCZ2NIQmdZSEJ3WUdCd2NJQ0FnSUNBZ0lDQVlHQndjR0JnY0hDQWdJQ0FnSUNBZ0NBZ01EQWdJREF3WUdCd2NHQmdjSEFnSURBd0lDQXdNR0JnY0hCZ1lIQndZR0J3Y0dCZ2NIQ0FnSUNBZ0lDQWdHQmdjSEJnWUhCd2dJQ0FnSUNBZ0lBd01FQkFNREJBUUhCd2NIQndjSEJ3TURCQVFEQXdRRUJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndnSUNBZ0lDQWdJQndjSEJ3Y0hCd2NJQ0FnSUNBZ0lDQU1EQkFRREF3UUVCd2NIQndjSEJ3Y0RBd1FFQXdNRUJBY0hCd2NIQndjSEJ3Y0hCd2NIQndjSUNBZ0lDQWdJQ0FjSEJ3Y0hCd2NIQ0FnSUNBZ0lDQWdBQVFVR0FRSUdCZ01EQndjREF3Y0hBQUVGQmdFQ0JnWURBd2NIQXdNSEJ3TURCd2NEQXdjSEJBUUhCd1FFQndjREF3Y0hBd01IQndRRUJ3Y0VCQWNIQVFJR0JnSUNCZ1lEQXdjSEF3TUhCd0VDQmdZQ0FnWUdBd01IQndNREJ3Y0RBd2NIQXdNSEJ3UUVCd2NFQkFjSEF3TUhCd01EQndjRUJBY0hCQVFIQndVR0NBZ0dCZ2dJQndjSUNBY0hDQWdGQmdnSUJnWUlDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnR0JnZ0lCZ1lJQ0FjSENBZ0hCd2dJQmdZSUNBWUdDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUFRSUdCZ0lDQmdZREF3Y0hBd01IQndFQ0JnWUNBZ1lHQXdNSEJ3TURCd2NEQXdjSEF3TUhCd1FFQndjRUJBY0hBd01IQndNREJ3Y0VCQWNIQkFRSEJ3SUNCZ1lDQWdZR0F3TUhCd01EQndjQ0FnWUdBZ0lHQmdNREJ3Y0RBd2NIQXdNSEJ3TURCd2NFQkFjSEJBUUhCd01EQndjREF3Y0hCQVFIQndRRUJ3Y0dCZ2dJQmdZSUNBY0hDQWdIQndnSUJnWUlDQVlHQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCZ1lJQ0FZR0NBZ0hCd2dJQndjSUNBWUdDQWdHQmdnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQUFCQXdNQkFnTURCUVlIQndZR0J3Y0FBUU1EQVFJREF3VUdCd2NHQmdjSEJRWUhCd1lHQndjSUNBZ0lDQWdJQ0FVR0J3Y0dCZ2NIQ0FnSUNBZ0lDQWdCQWdNREFnSURBd1lHQndjR0JnY0hBUUlEQXdJQ0F3TUdCZ2NIQmdZSEJ3WUdCd2NHQmdjSENBZ0lDQWdJQ0FnR0JnY0hCZ1lIQndnSUNBZ0lDQWdJQXdNRUJBTURCQVFIQndjSEJ3Y0hCd01EQkFRREF3UUVCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Z0lDQWdJQ0FnSUJ3Y0hCd2NIQndjSUNBZ0lDQWdJQ0FNREJBUURBd1FFQndjSEJ3Y0hCd2NEQXdRRUF3TUVCQWNIQndjSEJ3Y0hCd2NIQndjSEJ3Y0lDQWdJQ0FnSUNBY0hCd2NIQndjSENBZ0lDQWdJQ0FnQkFnTURBZ0lEQXdZR0J3Y0dCZ2NIQVFJREF3SUNBd01HQmdjSEJnWUhCd1lHQndjR0JnY0hDQWdJQ0FnSUNBZ0dCZ2NIQmdZSEJ3Z0lDQWdJQ0FnSUFnSURBd0lDQXdNR0JnY0hCZ1lIQndJQ0F3TUNBZ01EQmdZSEJ3WUdCd2NHQmdjSEJnWUhCd2dJQ0FnSUNBZ0lCZ1lIQndZR0J3Y0lDQWdJQ0FnSUNBTURCQVFEQXdRRUJ3Y0hCd2NIQndjREF3UUVBd01FQkFjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NJQ0FnSUNBZ0lDQWNIQndjSEJ3Y0hDQWdJQ0FnSUNBZ0RBd1FFQXdNRUJBY0hCd2NIQndjSEF3TUVCQU1EQkFRSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQ0FnSUNBZ0lDQWdIQndjSEJ3Y0hCd2dJQ0FnSUNBZ0lBQU1CQkFNR0JBY0JCQUlGQkFjRkJ3QURBUVFEQmdRSEFRUUNCUVFIQlFjQkJBSUZCQWNGQndJRkFnVUZCd1VIQVFRQ0JRUUhCUWNDQlFJRkJRY0ZCd01HQkFjR0NBY0lCQWNGQndjSUJ3Z0RCZ1FIQmdnSENBUUhCUWNIQ0FjSUJBY0ZCd2NJQndnRkJ3VUhCd2dIQ0FRSEJRY0hDQWNJQlFjRkJ3Y0lCd2dCQkFJRkJBY0ZCd0lGQWdVRkJ3VUhBUVFDQlFRSEJRY0NCUUlGQlFjRkJ3SUZBZ1VGQndVSEFnVUNCUVVIQlFjQ0JRSUZCUWNGQndJRkFnVUZCd1VIQkFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQVFIQlFjSENBY0lCUWNGQndjSUJ3Z0ZCd1VIQndnSENBVUhCUWNIQ0FjSUJRY0ZCd2NJQndnRkJ3VUhCd2dIQ0FNR0JBY0dDQWNJQkFjRkJ3Y0lCd2dEQmdRSEJnZ0hDQVFIQlFjSENBY0lCQWNGQndjSUJ3Z0ZCd1VIQndnSENBUUhCUWNIQ0FjSUJRY0ZCd2NJQndnR0NBY0lDQWdJQ0FjSUJ3Z0lDQWdJQmdnSENBZ0lDQWdIQ0FjSUNBZ0lDQWNJQndnSUNBZ0lCd2dIQ0FnSUNBZ0hDQWNJQ0FnSUNBY0lCd2dJQ0FnSUJBY0ZCd2NJQndnRkJ3VUhCd2dIQ0FRSEJRY0hDQWNJQlFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQVVIQlFjSENBY0lCUWNGQndjSUJ3Z0ZCd1VIQndnSENBY0lCd2dJQ0FnSUJ3Z0hDQWdJQ0FnSENBY0lDQWdJQ0FjSUJ3Z0lDQWdJQndnSENBZ0lDQWdIQ0FjSUNBZ0lDQWNJQndnSUNBZ0lCd2dIQ0FnSUNBZ0pDUW9LQ1FrS0Nnd01EUXNNREEwTENRa0tDZ2tKQ2dvTURBc05EQXdMRFF3TURRME1EQXNMREFrTkNna01DZ3NNREFzTERBd05EUXdKQ3dvSkRBb05DUWtLQ2drSkNnb01EQTBMREF3TkN3a0pDZ29KQ1FvS0RBd0xEUXdNQ3cwTURBME5EQXdMQ3d3SkRRb0pEQW9MREF3TEN3d01EUTBNQ1FzS0NRd0tEUW9LQ2dvS0Nnb0tEUXNOQ3cwTERRc0tDZ2tKQ2dvSkNRMExEQXdOQ3d3TURRME5EUXNMQ3dzTkNnMEtDZ3NLQ3cwTkRBd0xDd3dNRFFvTUNRb0xDUXdLQ2drSkNnb0pDUXNOREF3TERRd01DZ29LQ2dvS0Nnb0xEUXNOQ3cwTERRc0xEQXdORFF3TUN3b01DUW9OQ1F3TEN3c0xEUTBORFFzS0N3b0tEUW9OQUVIWnV3RUxOd0VBQVFBQkFBRUFBQUVCQUFBQkFRQUJBQUVBQVFBQkFBQUFBQUVCQVFFQUFBQUFBQUVBQVFBQUFBQUJBUUVCQUFBQUFRQUJBUUVBUVptOEFRczNBUUFCQUFFQUFRQUFBUUVBQUFFQkFBRUFBUUFCQUFFQUFBQUFBUUVCQVFBQUFBQUFBUUFCQUFBQUFBRUJBUUVBQUFBQkFBRUJBUUJCMmJ3QkN3Y0JBQUVBQVFBQkFFSHB2QUVMbFFJQkFBRUFBUUFCQUFBQUFBRUJBUUVBQUFBQUFBRUFBUUFBQUFBQkFRRUJBQUFBQUFBQkFBRUJBUUFBQVFFQUFBQUJBQUVBQVFBQkFRRUJBUUVCQVFFQUFRQUJBQUVBQVFBQUFBQUJBUUVCQUFFQUFBRUJBQUVBQUFBQUFRRUJBUUFCQUFFQkFRRUJBZ0FBQUFRQUFBQUVBQUFBQ0FBQUFKRC9BQUFNQUFBQUdBQUFBRkwvQUFBVUFBQUFHUUFBQUZQL0FBQVVBQUFBR2dBQUFGNy9BQUFVQUFBQUd3QUFBRnovQUFBVUFBQUFIQUFBQUYzL0FBQVVBQUFBSFFBQUFGLy9BQUFVQUFBQUhnQUFBRkgvQUFBQ0FBQUFId0FBQUZYL0FBQUVBQUFBSUFBQUFGZi9BQUFFQUFBQUlRQUFBRmovQUFBUUFBQUFJZ0FBQUdEL0FBQUVBQUFBSXdBQUFHSC9BQUFRQUFBQUpBQUFBSkgvQUVHSXZ3RUxaV1AvQUFBRUFBQUFKUUFBQUdUL0FBQVVBQUFBSmdBQUFIVC9BQUFVQUFBQUp3QUFBSGovQUFBRUFBQUFLQUFBQUZEL0FBQUVBQUFBS1FBQUFGbi9BQUFFQUFBQUtnQUFBSFgvQUFBVUFBQUFLd0FBQUhmL0FBQVVBQUFBTEFBQUFBQUFBQUFVQUVHQXdBRUxOUzBBQUFBdUFBQUFMd0FBQURBQUFBQXhBQUFBTWdBQUFETUFBQUEwQUFBQUlDQlFhallBQUFCd2VYUm1Od0FBQUdneWNHbzRBRUhBd0FFTE1uSmthR2s1QUFBQWNteHZZem9BQUFCalkzQmlPd0FBQUhKc1kzQThBQUFBY0dGdFl6MEFBQUJtWldSalBnQUFBUGhpQUVHQXdRRUxRUmtBQ3dBWkdSa0FBQUFBQlFBQUFBQUFBQWtBQUFBQUN3QUFBQUFBQUFBQUdRQUtDaGtaR1FNS0J3QUJBQWtMR0FBQUNRWUxBQUFMQUFZWkFBQUFHUmtaQUVIUndRRUxJUTRBQUFBQUFBQUFBQmtBQ3cwWkdSa0FEUUFBQWdBSkRnQUFBQWtBRGdBQURnQkJpOElCQ3dFTUFFR1h3Z0VMRlJNQUFBQUFFd0FBQUFBSkRBQUFBQUFBREFBQURBQkJ4Y0lCQ3dFUUFFSFJ3Z0VMRlE4QUFBQUVEd0FBQUFBSkVBQUFBQUFBRUFBQUVBQkIvOElCQ3dFU0FFR0x3d0VMSGhFQUFBQUFFUUFBQUFBSkVnQUFBQUFBRWdBQUVnQUFHZ0FBQUJvYUdnQkJ3c01CQ3c0YUFBQUFHaG9hQUFBQUFBQUFDUUJCODhNQkN3RVVBRUgvd3dFTEZSY0FBQUFBRndBQUFBQUpGQUFBQUFBQUZBQUFGQUJCcmNRQkN3RVdBRUc1eEFFTEp4VUFBQUFBRlFBQUFBQUpGZ0FBQUFBQUZnQUFGZ0FBTURFeU16UTFOamM0T1VGQ1EwUkZSZ0JCNE1RQkN3bVFiQUVBQUFBQUFBVUFRZlRFQVFzQmFRQkJqTVVCQ3dwcUFBQUFhd0FBQUhob0FFR2t4UUVMQVFJQVFiVEZBUXNJLy8vLy8vLy8vLzhBUWZqRkFRc0JCUUJCaE1ZQkN3RnNBRUdjeGdFTERtb0FBQUJ0QUFBQWlHZ0FBQUFFQUVHMHhnRUxBUUVBUWNUR0FRc0YvLy8vL3dvPSIpO3JldHVybiByZWNlaXZlSW5zdGFuY2UoaW5zdGFudGlhdGVTeW5jKHUsZSlbMF0pfSgpO04ucSxhLl9tYWxsb2M9Ti5yLGEuX2ZyZWU9Ti5zLGEuX2pwMl9kZWNvZGU9Ti51O3c9ZnVuY3Rpb24gcnVuQ2FsbGVyKCl7Ynx8cnVuKCk7Ynx8KHc9cnVuQ2FsbGVyKX07ZnVuY3Rpb24gcnVuKCl7aWYoIShtPjApKXshZnVuY3Rpb24gcHJlUnVuKCl7aWYoYS5wcmVSdW4peyJmdW5jdGlvbiI9PXR5cGVvZiBhLnByZVJ1biYmKGEucHJlUnVuPVthLnByZVJ1bl0pO2Zvcig7YS5wcmVSdW4ubGVuZ3RoOyllPWEucHJlUnVuLnNoaWZ0KCksZC51bnNoaWZ0KGUpfXZhciBlO2NhbGxSdW50aW1lQ2FsbGJhY2tzKGQpfSgpO2lmKCEobT4wKSlpZihhLnNldFN0YXR1cyl7YS5zZXRTdGF0dXMoIlJ1bm5pbmcuLi4iKTtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7YS5zZXRTdGF0dXMoIiIpfSksMSk7ZG9SdW4oKX0pLDEpfWVsc2UgZG9SdW4oKX1mdW5jdGlvbiBkb1J1bigpe2lmKCFiKXtiPSEwO2EuY2FsbGVkUnVuPSEwOyFmdW5jdGlvbiBpbml0UnVudGltZSgpe2NhbGxSdW50aW1lQ2FsbGJhY2tzKGYpfSgpO3QoYSk7YS5vblJ1bnRpbWVJbml0aWFsaXplZCYmYS5vblJ1bnRpbWVJbml0aWFsaXplZCgpOyFmdW5jdGlvbiBwb3N0UnVuKCl7aWYoYS5wb3N0UnVuKXsiZnVuY3Rpb24iPT10eXBlb2YgYS5wb3N0UnVuJiYoYS5wb3N0UnVuPVthLnBvc3RSdW5dKTtmb3IoO2EucG9zdFJ1bi5sZW5ndGg7KWU9YS5wb3N0UnVuLnNoaWZ0KCkscC51bnNoaWZ0KGUpfXZhciBlO2NhbGxSdW50aW1lQ2FsbGJhY2tzKHApfSgpfX19aWYoYS5wcmVJbml0KXsiZnVuY3Rpb24iPT10eXBlb2YgYS5wcmVJbml0JiYoYS5wcmVJbml0PVthLnByZUluaXRdKTtmb3IoO2EucHJlSW5pdC5sZW5ndGg+MDspYS5wcmVJbml0LnBvcCgpKCl9cnVuKCk7cmV0dXJuIGF9KTtjb25zdCBDaT1jaTtjbGFzcyBKcHhFcnJvciBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkpweEVycm9yIil9fWNsYXNzIEpweEltYWdle3N0YXRpYyNEPW51bGw7c3RhdGljIGRlY29kZShlLHQpe3R8fD17fTt0aGlzLiNEfHw9Q2koe3dhcm59KTtjb25zdCBpPXRoaXMuI0QuZGVjb2RlKGUsdCk7aWYoInN0cmluZyI9PXR5cGVvZiBpKXRocm93IG5ldyBKcHhFcnJvcihpKTtyZXR1cm4gaX1zdGF0aWMgY2xlYW51cCgpe3RoaXMuI0Q9bnVsbH1zdGF0aWMgcGFyc2VJbWFnZVByb3BlcnRpZXMoZSl7bGV0IHQ9ZS5nZXRCeXRlKCk7Zm9yKDt0Pj0wOyl7Y29uc3QgaT10O3Q9ZS5nZXRCeXRlKCk7aWYoNjUzNjE9PT0oaTw8OHx0KSl7ZS5za2lwKDQpO2NvbnN0IHQ9ZS5nZXRJbnQzMigpPj4+MCxpPWUuZ2V0SW50MzIoKT4+PjAsYT1lLmdldEludDMyKCk+Pj4wLHM9ZS5nZXRJbnQzMigpPj4+MDtlLnNraXAoMTYpO3JldHVybnt3aWR0aDp0LWEsaGVpZ2h0OmktcyxiaXRzUGVyQ29tcG9uZW50OjgsY29tcG9uZW50c0NvdW50OmUuZ2V0VWludDE2KCl9fX10aHJvdyBuZXcgSnB4RXJyb3IoIk5vIHNpemUgbWFya2VyIGZvdW5kIGluIEpQWCBzdHJlYW0iKX19Y2xhc3MgSnB4U3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcih0KTt0aGlzLnN0cmVhbT1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5tYXliZUxlbmd0aD10O3RoaXMucGFyYW1zPWl9Z2V0IGJ5dGVzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJieXRlcyIsdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpfWVuc3VyZUJ1ZmZlcihlKXt9cmVhZEJsb2NrKGUpe3RoaXMuZGVjb2RlSW1hZ2UobnVsbCxlKX1kZWNvZGVJbWFnZShlLHQpe2lmKHRoaXMuZW9mKXJldHVybiB0aGlzLmJ1ZmZlcjtlfHw9dGhpcy5ieXRlczt0aGlzLmJ1ZmZlcj1KcHhJbWFnZS5kZWNvZGUoZSx0KTt0aGlzLmJ1ZmZlckxlbmd0aD10aGlzLmJ1ZmZlci5sZW5ndGg7dGhpcy5lb2Y9ITA7cmV0dXJuIHRoaXMuYnVmZmVyfWdldCBjYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlcigpe3JldHVybiB0aGlzLnN0cmVhbS5pc0FzeW5jfX1jbGFzcyBMWldTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLmNhY2hlZERhdGE9MDt0aGlzLmJpdHNDYWNoZWQ9MDtjb25zdCBhPTQwOTYscz17ZWFybHlDaGFuZ2U6aSxjb2RlTGVuZ3RoOjksbmV4dENvZGU6MjU4LGRpY3Rpb25hcnlWYWx1ZXM6bmV3IFVpbnQ4QXJyYXkoYSksZGljdGlvbmFyeUxlbmd0aHM6bmV3IFVpbnQxNkFycmF5KGEpLGRpY3Rpb25hcnlQcmV2Q29kZXM6bmV3IFVpbnQxNkFycmF5KGEpLGN1cnJlbnRTZXF1ZW5jZTpuZXcgVWludDhBcnJheShhKSxjdXJyZW50U2VxdWVuY2VMZW5ndGg6MH07Zm9yKGxldCBlPTA7ZTwyNTY7KytlKXtzLmRpY3Rpb25hcnlWYWx1ZXNbZV09ZTtzLmRpY3Rpb25hcnlMZW5ndGhzW2VdPTF9dGhpcy5sendTdGF0ZT1zfXJlYWRCaXRzKGUpe2xldCB0PXRoaXMuYml0c0NhY2hlZCxpPXRoaXMuY2FjaGVkRGF0YTtmb3IoO3Q8ZTspe2NvbnN0IGU9dGhpcy5zdHIuZ2V0Qnl0ZSgpO2lmKC0xPT09ZSl7dGhpcy5lb2Y9ITA7cmV0dXJuIG51bGx9aT1pPDw4fGU7dCs9OH10aGlzLmJpdHNDYWNoZWQ9dC09ZTt0aGlzLmNhY2hlZERhdGE9aTt0aGlzLmxhc3RDb2RlPW51bGw7cmV0dXJuIGk+Pj50JigxPDxlKS0xfXJlYWRCbG9jaygpe2xldCBlLHQsaSxhPTEwMjQ7Y29uc3Qgcz10aGlzLmx6d1N0YXRlO2lmKCFzKXJldHVybjtjb25zdCByPXMuZWFybHlDaGFuZ2U7bGV0IG49cy5uZXh0Q29kZTtjb25zdCBnPXMuZGljdGlvbmFyeVZhbHVlcyxvPXMuZGljdGlvbmFyeUxlbmd0aHMsYz1zLmRpY3Rpb25hcnlQcmV2Q29kZXM7bGV0IEM9cy5jb2RlTGVuZ3RoLGg9cy5wcmV2Q29kZTtjb25zdCBsPXMuY3VycmVudFNlcXVlbmNlO2xldCBRPXMuY3VycmVudFNlcXVlbmNlTGVuZ3RoLEU9MCx1PXRoaXMuYnVmZmVyTGVuZ3RoLGQ9dGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGgrYSk7Zm9yKGU9MDtlPDUxMjtlKyspe2NvbnN0IGU9dGhpcy5yZWFkQml0cyhDKSxzPVE+MDtpZihlPDI1Nil7bFswXT1lO1E9MX1lbHNle2lmKCEoZT49MjU4KSl7aWYoMjU2PT09ZSl7Qz05O249MjU4O1E9MDtjb250aW51ZX10aGlzLmVvZj0hMDtkZWxldGUgdGhpcy5sendTdGF0ZTticmVha31pZihlPG4pe1E9b1tlXTtmb3IodD1RLTEsaT1lO3Q+PTA7dC0tKXtsW3RdPWdbaV07aT1jW2ldfX1lbHNlIGxbUSsrXT1sWzBdfWlmKHMpe2Nbbl09aDtvW25dPW9baF0rMTtnW25dPWxbMF07bisrO0M9bityJm4rci0xP0M6MHxNYXRoLm1pbihNYXRoLmxvZyhuK3IpLy42OTMxNDcxODA1NTk5NDUzKzEsMTIpfWg9ZTtFKz1RO2lmKGE8RSl7ZG97YSs9NTEyfXdoaWxlKGE8RSk7ZD10aGlzLmVuc3VyZUJ1ZmZlcih0aGlzLmJ1ZmZlckxlbmd0aCthKX1mb3IodD0wO3Q8UTt0KyspZFt1KytdPWxbdF19cy5uZXh0Q29kZT1uO3MuY29kZUxlbmd0aD1DO3MucHJldkNvZGU9aDtzLmN1cnJlbnRTZXF1ZW5jZUxlbmd0aD1RO3RoaXMuYnVmZmVyTGVuZ3RoPXV9fWNsYXNzIFByZWRpY3RvclN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIGU7Y29uc3QgYT10aGlzLnByZWRpY3Rvcj1pLmdldCgiUHJlZGljdG9yIil8fDE7aWYoYTw9MSlyZXR1cm4gZTtpZigyIT09YSYmKGE8MTB8fGE+MTUpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5zdXBwb3J0ZWQgcHJlZGljdG9yOiAke2F9YCk7dGhpcy5yZWFkQmxvY2s9Mj09PWE/dGhpcy5yZWFkQmxvY2tUaWZmOnRoaXMucmVhZEJsb2NrUG5nO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDtjb25zdCBzPXRoaXMuY29sb3JzPWkuZ2V0KCJDb2xvcnMiKXx8MSxyPXRoaXMuYml0cz1pLmdldCgiQlBDIiwiQml0c1BlckNvbXBvbmVudCIpfHw4LG49dGhpcy5jb2x1bW5zPWkuZ2V0KCJDb2x1bW5zIil8fDE7dGhpcy5waXhCeXRlcz1zKnIrNz4+Mzt0aGlzLnJvd0J5dGVzPW4qcypyKzc+PjM7cmV0dXJuIHRoaXN9cmVhZEJsb2NrVGlmZigpe2NvbnN0IGU9dGhpcy5yb3dCeXRlcyx0PXRoaXMuYnVmZmVyTGVuZ3RoLGk9dGhpcy5lbnN1cmVCdWZmZXIodCtlKSxhPXRoaXMuYml0cyxzPXRoaXMuY29sb3JzLHI9dGhpcy5zdHIuZ2V0Qnl0ZXMoZSk7dGhpcy5lb2Y9IXIubGVuZ3RoO2lmKHRoaXMuZW9mKXJldHVybjtsZXQgbixnPTAsbz0wLGM9MCxDPTAsaD10O2lmKDE9PT1hJiYxPT09cylmb3Iobj0wO248ZTsrK24pe2xldCBlPXJbbl1eZztlXj1lPj4xO2VePWU+PjI7ZV49ZT4+NDtnPSgxJmUpPDw3O2lbaCsrXT1lfWVsc2UgaWYoOD09PWEpe2ZvcihuPTA7bjxzOysrbilpW2grK109cltuXTtmb3IoO248ZTsrK24pe2lbaF09aVtoLXNdK3Jbbl07aCsrfX1lbHNlIGlmKDE2PT09YSl7Y29uc3QgdD0yKnM7Zm9yKG49MDtuPHQ7KytuKWlbaCsrXT1yW25dO2Zvcig7bjxlO24rPTIpe2NvbnN0IGU9KCgyNTUmcltuXSk8PDgpKygyNTUmcltuKzFdKSsoKDI1NSZpW2gtdF0pPDw4KSsoMjU1JmlbaC10KzFdKTtpW2grK109ZT4+OCYyNTU7aVtoKytdPTI1NSZlfX1lbHNle2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkocysxKSxoPSgxPDxhKS0xO2xldCBsPTAsUT10O2NvbnN0IEU9dGhpcy5jb2x1bW5zO2ZvcihuPTA7bjxFOysrbilmb3IobGV0IHQ9MDt0PHM7Kyt0KXtpZihjPGEpe2c9Zzw8OHwyNTUmcltsKytdO2MrPTh9ZVt0XT1lW3RdKyhnPj5jLWEpJmg7Yy09YTtvPW88PGF8ZVt0XTtDKz1hO2lmKEM+PTgpe2lbUSsrXT1vPj5DLTgmMjU1O0MtPTh9fUM+MCYmKGlbUSsrXT0obzw8OC1DKSsoZyYoMTw8OC1DKS0xKSl9dGhpcy5idWZmZXJMZW5ndGgrPWV9cmVhZEJsb2NrUG5nKCl7Y29uc3QgZT10aGlzLnJvd0J5dGVzLHQ9dGhpcy5waXhCeXRlcyxpPXRoaXMuc3RyLmdldEJ5dGUoKSxhPXRoaXMuc3RyLmdldEJ5dGVzKGUpO3RoaXMuZW9mPSFhLmxlbmd0aDtpZih0aGlzLmVvZilyZXR1cm47Y29uc3Qgcz10aGlzLmJ1ZmZlckxlbmd0aCxyPXRoaXMuZW5zdXJlQnVmZmVyKHMrZSk7bGV0IG49ci5zdWJhcnJheShzLWUscyk7MD09PW4ubGVuZ3RoJiYobj1uZXcgVWludDhBcnJheShlKSk7bGV0IGcsbyxjLEM9cztzd2l0Y2goaSl7Y2FzZSAwOmZvcihnPTA7ZzxlOysrZylyW0MrK109YVtnXTticmVhaztjYXNlIDE6Zm9yKGc9MDtnPHQ7KytnKXJbQysrXT1hW2ddO2Zvcig7ZzxlOysrZyl7cltDXT1yW0MtdF0rYVtnXSYyNTU7QysrfWJyZWFrO2Nhc2UgMjpmb3IoZz0wO2c8ZTsrK2cpcltDKytdPW5bZ10rYVtnXSYyNTU7YnJlYWs7Y2FzZSAzOmZvcihnPTA7Zzx0OysrZylyW0MrK109KG5bZ10+PjEpK2FbZ107Zm9yKDtnPGU7KytnKXtyW0NdPShuW2ddK3JbQy10XT4+MSkrYVtnXSYyNTU7QysrfWJyZWFrO2Nhc2UgNDpmb3IoZz0wO2c8dDsrK2cpe289bltnXTtjPWFbZ107cltDKytdPW8rY31mb3IoO2c8ZTsrK2cpe289bltnXTtjb25zdCBlPW5bZy10XSxpPXJbQy10XSxzPWkrby1lO2xldCBoPXMtaTtoPDAmJihoPS1oKTtsZXQgbD1zLW87bDwwJiYobD0tbCk7bGV0IFE9cy1lO1E8MCYmKFE9LVEpO2M9YVtnXTtyW0MrK109aDw9bCYmaDw9UT9pK2M6bDw9UT9vK2M6ZStjfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbnN1cHBvcnRlZCBwcmVkaWN0b3I6ICR7aX1gKX10aGlzLmJ1ZmZlckxlbmd0aCs9ZX19Y2xhc3MgUnVuTGVuZ3RoU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0fXJlYWRCbG9jaygpe2NvbnN0IGU9dGhpcy5zdHIuZ2V0Qnl0ZXMoMik7aWYoIWV8fGUubGVuZ3RoPDJ8fDEyOD09PWVbMF0pe3RoaXMuZW9mPSEwO3JldHVybn1sZXQgdCxpPXRoaXMuYnVmZmVyTGVuZ3RoLGE9ZVswXTtpZihhPDEyOCl7dD10aGlzLmVuc3VyZUJ1ZmZlcihpK2ErMSk7dFtpKytdPWVbMV07aWYoYT4wKXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGVzKGEpO3Quc2V0KGUsaSk7aSs9YX19ZWxzZXthPTI1Ny1hO2NvbnN0IHM9ZVsxXTt0PXRoaXMuZW5zdXJlQnVmZmVyKGkrYSsxKTtmb3IobGV0IGU9MDtlPGE7ZSsrKXRbaSsrXT1zfXRoaXMuYnVmZmVyTGVuZ3RoPWl9fWNsYXNzIFBhcnNlcntjb25zdHJ1Y3Rvcih7bGV4ZXI6ZSx4cmVmOnQsYWxsb3dTdHJlYW1zOmk9ITEscmVjb3ZlcnlNb2RlOmE9ITF9KXt0aGlzLmxleGVyPWU7dGhpcy54cmVmPXQ7dGhpcy5hbGxvd1N0cmVhbXM9aTt0aGlzLnJlY292ZXJ5TW9kZT1hO3RoaXMuaW1hZ2VDYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuX2ltYWdlSWQ9MDt0aGlzLnJlZmlsbCgpfXJlZmlsbCgpe3RoaXMuYnVmMT10aGlzLmxleGVyLmdldE9iaigpO3RoaXMuYnVmMj10aGlzLmxleGVyLmdldE9iaigpfXNoaWZ0KCl7aWYodGhpcy5idWYyIGluc3RhbmNlb2YgQ21kJiYiSUQiPT09dGhpcy5idWYyLmNtZCl7dGhpcy5idWYxPXRoaXMuYnVmMjt0aGlzLmJ1ZjI9bnVsbH1lbHNle3RoaXMuYnVmMT10aGlzLmJ1ZjI7dGhpcy5idWYyPXRoaXMubGV4ZXIuZ2V0T2JqKCl9fXRyeVNoaWZ0KCl7dHJ5e3RoaXMuc2hpZnQoKTtyZXR1cm4hMH1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtyZXR1cm4hMX19Z2V0T2JqKGU9bnVsbCl7Y29uc3QgdD10aGlzLmJ1ZjE7dGhpcy5zaGlmdCgpO2lmKHQgaW5zdGFuY2VvZiBDbWQpc3dpdGNoKHQuY21kKXtjYXNlIkJJIjpyZXR1cm4gdGhpcy5tYWtlSW5saW5lSW1hZ2UoZSk7Y2FzZSJbIjpjb25zdCBpPVtdO2Zvcig7IWlzQ21kKHRoaXMuYnVmMSwiXSIpJiZ0aGlzLmJ1ZjEhPT15dDspaS5wdXNoKHRoaXMuZ2V0T2JqKGUpKTtpZih0aGlzLmJ1ZjE9PT15dCl7aWYodGhpcy5yZWNvdmVyeU1vZGUpcmV0dXJuIGk7dGhyb3cgbmV3IFBhcnNlckVPRkV4Y2VwdGlvbigiRW5kIG9mIGZpbGUgaW5zaWRlIGFycmF5LiIpfXRoaXMuc2hpZnQoKTtyZXR1cm4gaTtjYXNlIjw8Ijpjb25zdCBhPW5ldyBEaWN0KHRoaXMueHJlZik7Zm9yKDshaXNDbWQodGhpcy5idWYxLCI+PiIpJiZ0aGlzLmJ1ZjEhPT15dDspe2lmKCEodGhpcy5idWYxIGluc3RhbmNlb2YgTmFtZSkpe2luZm8oIk1hbGZvcm1lZCBkaWN0aW9uYXJ5OiBrZXkgbXVzdCBiZSBhIG5hbWUgb2JqZWN0Iik7dGhpcy5zaGlmdCgpO2NvbnRpbnVlfWNvbnN0IHQ9dGhpcy5idWYxLm5hbWU7dGhpcy5zaGlmdCgpO2lmKHRoaXMuYnVmMT09PXl0KWJyZWFrO2Euc2V0KHQsdGhpcy5nZXRPYmooZSkpfWlmKHRoaXMuYnVmMT09PXl0KXtpZih0aGlzLnJlY292ZXJ5TW9kZSlyZXR1cm4gYTt0aHJvdyBuZXcgUGFyc2VyRU9GRXhjZXB0aW9uKCJFbmQgb2YgZmlsZSBpbnNpZGUgZGljdGlvbmFyeS4iKX1pZihpc0NtZCh0aGlzLmJ1ZjIsInN0cmVhbSIpKXJldHVybiB0aGlzLmFsbG93U3RyZWFtcz90aGlzLm1ha2VTdHJlYW0oYSxlKTphO3RoaXMuc2hpZnQoKTtyZXR1cm4gYTtkZWZhdWx0OnJldHVybiB0fWlmKE51bWJlci5pc0ludGVnZXIodCkpe2lmKE51bWJlci5pc0ludGVnZXIodGhpcy5idWYxKSYmaXNDbWQodGhpcy5idWYyLCJSIikpe2NvbnN0IGU9UmVmLmdldCh0LHRoaXMuYnVmMSk7dGhpcy5zaGlmdCgpO3RoaXMuc2hpZnQoKTtyZXR1cm4gZX1yZXR1cm4gdH1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJmU/ZS5kZWNyeXB0U3RyaW5nKHQpOnR9ZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQoZSl7Y29uc3R7a25vd25Db21tYW5kczp0fT10aGlzLmxleGVyLGk9ZS5wb3M7bGV0IGEscyxyPTA7Zm9yKDstMSE9PShhPWUuZ2V0Qnl0ZSgpKTspaWYoMD09PXIpcj02OT09PWE/MTowO2Vsc2UgaWYoMT09PXIpcj03Mz09PWE/MjowO2Vsc2UgaWYoMzI9PT1hfHwxMD09PWF8fDEzPT09YSl7cz1lLnBvcztjb25zdCBpPWUucGVla0J5dGVzKDE1KSxuPWkubGVuZ3RoO2lmKDA9PT1uKWJyZWFrO2ZvcihsZXQgZT0wO2U8bjtlKyspe2E9aVtlXTtpZigoMCE9PWF8fDA9PT1pW2UrMV0pJiYoMTAhPT1hJiYxMyE9PWEmJihhPDMyfHxhPjEyNykpKXtyPTA7YnJlYWt9fWlmKDIhPT1yKWNvbnRpbnVlO2lmKCF0KXt3YXJuKCJmaW5kRGVmYXVsdElubGluZVN0cmVhbUVuZCAtIGBsZXhlci5rbm93bkNvbW1hbmRzYCBpcyB1bmRlZmluZWQuIik7Y29udGludWV9Y29uc3QgZz1uZXcgTGV4ZXIobmV3IFN0cmVhbShpLnNsaWNlKCkpLHQpO2cuX2hleFN0cmluZ1dhcm49KCk9Pnt9O2xldCBvPTA7Zm9yKDs7KXtjb25zdCBlPWcuZ2V0T2JqKCk7aWYoZT09PXl0KXtyPTA7YnJlYWt9aWYoZSBpbnN0YW5jZW9mIENtZCl7Y29uc3QgaT10W2UuY21kXTtpZighaSl7cj0wO2JyZWFrfWlmKGkudmFyaWFibGVBcmdzP288PWkubnVtQXJnczpvPT09aS5udW1BcmdzKWJyZWFrO289MH1lbHNlIG8rK31pZigyPT09cilicmVha31lbHNlIHI9MDtpZigtMT09PWEpe3dhcm4oImZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kOiBSZWFjaGVkIHRoZSBlbmQgb2YgdGhlIHN0cmVhbSB3aXRob3V0IGZpbmRpbmcgYSB2YWxpZCBFSSBtYXJrZXIiKTtpZihzKXt3YXJuKCcuLi4gdHJ5aW5nIHRvIHJlY292ZXIgYnkgdXNpbmcgdGhlIGxhc3QgIkVJIiBvY2N1cnJlbmNlLicpO2Uuc2tpcCgtKGUucG9zLXMpKX19bGV0IG49NDtlLnNraXAoLW4pO2E9ZS5wZWVrQnl0ZSgpO2Uuc2tpcChuKTtpc1doaXRlU3BhY2UoYSl8fG4tLTtyZXR1cm4gZS5wb3Mtbi1pfWZpbmREQ1REZWNvZGVJbmxpbmVTdHJlYW1FbmQoZSl7Y29uc3QgdD1lLnBvcztsZXQgaSxhLHM9ITE7Zm9yKDstMSE9PShpPWUuZ2V0Qnl0ZSgpKTspaWYoMjU1PT09aSl7c3dpdGNoKGUuZ2V0Qnl0ZSgpKXtjYXNlIDA6YnJlYWs7Y2FzZSAyNTU6ZS5za2lwKC0xKTticmVhaztjYXNlIDIxNzpzPSEwO2JyZWFrO2Nhc2UgMTkyOmNhc2UgMTkzOmNhc2UgMTk0OmNhc2UgMTk1OmNhc2UgMTk3OmNhc2UgMTk4OmNhc2UgMTk5OmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMjA3OmNhc2UgMTk2OmNhc2UgMjA0OmNhc2UgMjE4OmNhc2UgMjE5OmNhc2UgMjIwOmNhc2UgMjIxOmNhc2UgMjIyOmNhc2UgMjIzOmNhc2UgMjI0OmNhc2UgMjI1OmNhc2UgMjI2OmNhc2UgMjI3OmNhc2UgMjI4OmNhc2UgMjI5OmNhc2UgMjMwOmNhc2UgMjMxOmNhc2UgMjMyOmNhc2UgMjMzOmNhc2UgMjM0OmNhc2UgMjM1OmNhc2UgMjM2OmNhc2UgMjM3OmNhc2UgMjM4OmNhc2UgMjM5OmNhc2UgMjU0OmE9ZS5nZXRVaW50MTYoKTthPjI/ZS5za2lwKGEtMik6ZS5za2lwKC0yKX1pZihzKWJyZWFrfWNvbnN0IHI9ZS5wb3MtdDtpZigtMT09PWkpe3dhcm4oIklubGluZSBEQ1REZWNvZGUgaW1hZ2Ugc3RyZWFtOiBFT0kgbWFya2VyIG5vdCBmb3VuZCwgc2VhcmNoaW5nIGZvciAvRUkvIGluc3RlYWQuIik7ZS5za2lwKC1yKTtyZXR1cm4gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChlKX10aGlzLmlubGluZVN0cmVhbVNraXBFSShlKTtyZXR1cm4gcn1maW5kQVNDSUk4NURlY29kZUlubGluZVN0cmVhbUVuZChlKXtjb25zdCB0PWUucG9zO2xldCBpO2Zvcig7LTEhPT0oaT1lLmdldEJ5dGUoKSk7KWlmKDEyNj09PWkpe2NvbnN0IHQ9ZS5wb3M7aT1lLnBlZWtCeXRlKCk7Zm9yKDtpc1doaXRlU3BhY2UoaSk7KXtlLnNraXAoKTtpPWUucGVla0J5dGUoKX1pZig2Mj09PWkpe2Uuc2tpcCgpO2JyZWFrfWlmKGUucG9zPnQpe2NvbnN0IHQ9ZS5wZWVrQnl0ZXMoMik7aWYoNjk9PT10WzBdJiY3Mz09PXRbMV0pYnJlYWt9fWNvbnN0IGE9ZS5wb3MtdDtpZigtMT09PWkpe3dhcm4oIklubGluZSBBU0NJSTg1RGVjb2RlIGltYWdlIHN0cmVhbTogRU9EIG1hcmtlciBub3QgZm91bmQsIHNlYXJjaGluZyBmb3IgL0VJLyBpbnN0ZWFkLiIpO2Uuc2tpcCgtYSk7cmV0dXJuIHRoaXMuZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQoZSl9dGhpcy5pbmxpbmVTdHJlYW1Ta2lwRUkoZSk7cmV0dXJuIGF9ZmluZEFTQ0lJSGV4RGVjb2RlSW5saW5lU3RyZWFtRW5kKGUpe2NvbnN0IHQ9ZS5wb3M7bGV0IGk7Zm9yKDstMSE9PShpPWUuZ2V0Qnl0ZSgpKSYmNjIhPT1pOyk7Y29uc3QgYT1lLnBvcy10O2lmKC0xPT09aSl7d2FybigiSW5saW5lIEFTQ0lJSGV4RGVjb2RlIGltYWdlIHN0cmVhbTogRU9EIG1hcmtlciBub3QgZm91bmQsIHNlYXJjaGluZyBmb3IgL0VJLyBpbnN0ZWFkLiIpO2Uuc2tpcCgtYSk7cmV0dXJuIHRoaXMuZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQoZSl9dGhpcy5pbmxpbmVTdHJlYW1Ta2lwRUkoZSk7cmV0dXJuIGF9aW5saW5lU3RyZWFtU2tpcEVJKGUpe2xldCB0LGk9MDtmb3IoOy0xIT09KHQ9ZS5nZXRCeXRlKCkpOylpZigwPT09aSlpPTY5PT09dD8xOjA7ZWxzZSBpZigxPT09aSlpPTczPT09dD8yOjA7ZWxzZSBpZigyPT09aSlicmVha31tYWtlSW5saW5lSW1hZ2UoZSl7Y29uc3QgdD10aGlzLmxleGVyLGk9dC5zdHJlYW0sYT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBzO2Zvcig7IWlzQ21kKHRoaXMuYnVmMSwiSUQiKSYmdGhpcy5idWYxIT09eXQ7KXtpZighKHRoaXMuYnVmMSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRGljdGlvbmFyeSBrZXkgbXVzdCBiZSBhIG5hbWUgb2JqZWN0Iik7Y29uc3QgdD10aGlzLmJ1ZjEubmFtZTt0aGlzLnNoaWZ0KCk7aWYodGhpcy5idWYxPT09eXQpYnJlYWs7YVt0XT10aGlzLmdldE9iaihlKX0tMSE9PXQuYmVnaW5JbmxpbmVJbWFnZVBvcyYmKHM9aS5wb3MtdC5iZWdpbklubGluZUltYWdlUG9zKTtjb25zdCByPXRoaXMueHJlZi5mZXRjaElmUmVmKGEuRnx8YS5GaWx0ZXIpO2xldCBuO2lmKHIgaW5zdGFuY2VvZiBOYW1lKW49ci5uYW1lO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSl7Y29uc3QgZT10aGlzLnhyZWYuZmV0Y2hJZlJlZihyWzBdKTtlIGluc3RhbmNlb2YgTmFtZSYmKG49ZS5uYW1lKX1jb25zdCBnPWkucG9zO2xldCBvLGM7c3dpdGNoKG4pe2Nhc2UiRENUIjpjYXNlIkRDVERlY29kZSI6bz10aGlzLmZpbmREQ1REZWNvZGVJbmxpbmVTdHJlYW1FbmQoaSk7YnJlYWs7Y2FzZSJBODUiOmNhc2UiQVNDSUk4NURlY29kZSI6bz10aGlzLmZpbmRBU0NJSTg1RGVjb2RlSW5saW5lU3RyZWFtRW5kKGkpO2JyZWFrO2Nhc2UiQUh4IjpjYXNlIkFTQ0lJSGV4RGVjb2RlIjpvPXRoaXMuZmluZEFTQ0lJSGV4RGVjb2RlSW5saW5lU3RyZWFtRW5kKGkpO2JyZWFrO2RlZmF1bHQ6bz10aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGkpfWlmKG88MWUzJiZzPjApe2NvbnN0IGU9aS5wb3M7aS5wb3M9dC5iZWdpbklubGluZUltYWdlUG9zO2M9ZnVuY3Rpb24gZ2V0SW5saW5lSW1hZ2VDYWNoZUtleShlKXtjb25zdCB0PVtdLGk9ZS5sZW5ndGg7bGV0IGE9MDtmb3IoO2E8aS0xOyl0LnB1c2goZVthKytdPDw4fGVbYSsrXSk7YTxpJiZ0LnB1c2goZVthXSk7cmV0dXJuIGkrIl8iK1N0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCx0KX0oaS5nZXRCeXRlcyhzK28pKTtpLnBvcz1lO2NvbnN0IGE9dGhpcy5pbWFnZUNhY2hlW2NdO2lmKHZvaWQgMCE9PWEpe3RoaXMuYnVmMj1DbWQuZ2V0KCJFSSIpO3RoaXMuc2hpZnQoKTthLnJlc2V0KCk7cmV0dXJuIGF9fWNvbnN0IEM9bmV3IERpY3QodGhpcy54cmVmKTtmb3IoY29uc3QgZSBpbiBhKUMuc2V0KGUsYVtlXSk7bGV0IGg9aS5tYWtlU3ViU3RyZWFtKGcsbyxDKTtlJiYoaD1lLmNyZWF0ZVN0cmVhbShoLG8pKTtoPXRoaXMuZmlsdGVyKGgsQyxvKTtoLmRpY3Q9QztpZih2b2lkIDAhPT1jKXtoLmNhY2hlS2V5PSJpbmxpbmVfaW1nXyIrICsrdGhpcy5faW1hZ2VJZDt0aGlzLmltYWdlQ2FjaGVbY109aH10aGlzLmJ1ZjI9Q21kLmdldCgiRUkiKTt0aGlzLnNoaWZ0KCk7cmV0dXJuIGh9I2IoZSl7Y29uc3R7c3RyZWFtOnR9PXRoaXMubGV4ZXI7dC5wb3M9ZTtjb25zdCBpPW5ldyBVaW50OEFycmF5KFsxMDEsMTEwLDEwMF0pLGE9aS5sZW5ndGgscz1bbmV3IFVpbnQ4QXJyYXkoWzExNSwxMTYsMTE0LDEwMSw5NywxMDldKSxuZXcgVWludDhBcnJheShbMTE1LDExNiwxMDEsOTcsMTA5XSksbmV3IFVpbnQ4QXJyYXkoWzExNSwxMTYsMTE0LDEwMSw5N10pXSxyPTktYTtmb3IoO3QucG9zPHQuZW5kOyl7Y29uc3Qgbj10LnBlZWtCeXRlcygyMDQ4KSxnPW4ubGVuZ3RoLTk7aWYoZzw9MClicmVhaztsZXQgbz0wO2Zvcig7bzxnOyl7bGV0IGc9MDtmb3IoO2c8YSYmbltvK2ddPT09aVtnXTspZysrO2lmKGc+PWEpe2xldCBhPSExO2Zvcihjb25zdCBlIG9mIHMpe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IHM9MDtmb3IoO3M8dCYmbltvK2crc109PT1lW3NdOylzKys7aWYocz49cil7YT0hMDticmVha31pZihzPj10KXtpZihpc1doaXRlU3BhY2UobltvK2crc10pKXtpbmZvKGBGb3VuZCAiJHtieXRlc1RvU3RyaW5nKFsuLi5pLC4uLmVdKX0iIHdoZW4gc2VhcmNoaW5nIGZvciBlbmRzdHJlYW0gY29tbWFuZC5gKTthPSEwfWJyZWFrfX1pZihhKXt0LnBvcys9bztyZXR1cm4gdC5wb3MtZX19bysrfXQucG9zKz1nfXJldHVybi0xfW1ha2VTdHJlYW0oZSx0KXtjb25zdCBpPXRoaXMubGV4ZXI7bGV0IGE9aS5zdHJlYW07aS5za2lwVG9OZXh0TGluZSgpO2NvbnN0IHM9YS5wb3MtMTtsZXQgcj1lLmdldCgiTGVuZ3RoIik7aWYoIU51bWJlci5pc0ludGVnZXIocikpe2luZm8oYEJhZCBsZW5ndGggIiR7ciYmci50b1N0cmluZygpfSIgaW4gc3RyZWFtLmApO3I9MH1hLnBvcz1zK3I7aS5uZXh0Q2hhcigpO2lmKHRoaXMudHJ5U2hpZnQoKSYmaXNDbWQodGhpcy5idWYyLCJlbmRzdHJlYW0iKSl0aGlzLnNoaWZ0KCk7ZWxzZXtyPXRoaXMuI2Iocyk7aWYocjwwKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTWlzc2luZyBlbmRzdHJlYW0gY29tbWFuZC4iKTtpLm5leHRDaGFyKCk7dGhpcy5zaGlmdCgpO3RoaXMuc2hpZnQoKX10aGlzLnNoaWZ0KCk7YT1hLm1ha2VTdWJTdHJlYW0ocyxyLGUpO3QmJihhPXQuY3JlYXRlU3RyZWFtKGEscikpO2E9dGhpcy5maWx0ZXIoYSxlLHIpO2EuZGljdD1lO3JldHVybiBhfWZpbHRlcihlLHQsaSl7bGV0IGE9dC5nZXQoIkYiLCJGaWx0ZXIiKSxzPXQuZ2V0KCJEUCIsIkRlY29kZVBhcm1zIik7aWYoYSBpbnN0YW5jZW9mIE5hbWUpe0FycmF5LmlzQXJyYXkocykmJndhcm4oIi9EZWNvZGVQYXJtcyBzaG91bGQgbm90IGJlIGFuIEFycmF5LCB3aGVuIC9GaWx0ZXIgaXMgYSBOYW1lLiIpO3JldHVybiB0aGlzLm1ha2VGaWx0ZXIoZSxhLm5hbWUsaSxzKX1sZXQgcj1pO2lmKEFycmF5LmlzQXJyYXkoYSkpe2NvbnN0IHQ9YSxpPXM7Zm9yKGxldCBuPTAsZz10Lmxlbmd0aDtuPGc7KytuKXthPXRoaXMueHJlZi5mZXRjaElmUmVmKHRbbl0pO2lmKCEoYSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgQmFkIGZpbHRlciBuYW1lICIke2F9ImApO3M9bnVsbDtBcnJheS5pc0FycmF5KGkpJiZuIGluIGkmJihzPXRoaXMueHJlZi5mZXRjaElmUmVmKGlbbl0pKTtlPXRoaXMubWFrZUZpbHRlcihlLGEubmFtZSxyLHMpO3I9bnVsbH19cmV0dXJuIGV9bWFrZUZpbHRlcihlLHQsaSxhKXtpZigwPT09aSl7d2FybihgRW1wdHkgIiR7dH0iIHN0cmVhbS5gKTtyZXR1cm4gbmV3IE51bGxTdHJlYW19dHJ5e3N3aXRjaCh0KXtjYXNlIkZsIjpjYXNlIkZsYXRlRGVjb2RlIjpyZXR1cm4gYT9uZXcgUHJlZGljdG9yU3RyZWFtKG5ldyBGbGF0ZVN0cmVhbShlLGkpLGksYSk6bmV3IEZsYXRlU3RyZWFtKGUsaSk7Y2FzZSJMWlciOmNhc2UiTFpXRGVjb2RlIjpsZXQgdD0xO2lmKGEpe2EuaGFzKCJFYXJseUNoYW5nZSIpJiYodD1hLmdldCgiRWFybHlDaGFuZ2UiKSk7cmV0dXJuIG5ldyBQcmVkaWN0b3JTdHJlYW0obmV3IExaV1N0cmVhbShlLGksdCksaSxhKX1yZXR1cm4gbmV3IExaV1N0cmVhbShlLGksdCk7Y2FzZSJEQ1QiOmNhc2UiRENURGVjb2RlIjpyZXR1cm4gbmV3IEpwZWdTdHJlYW0oZSxpLGEpO2Nhc2UiSlBYIjpjYXNlIkpQWERlY29kZSI6cmV0dXJuIG5ldyBKcHhTdHJlYW0oZSxpLGEpO2Nhc2UiQTg1IjpjYXNlIkFTQ0lJODVEZWNvZGUiOnJldHVybiBuZXcgQXNjaWk4NVN0cmVhbShlLGkpO2Nhc2UiQUh4IjpjYXNlIkFTQ0lJSGV4RGVjb2RlIjpyZXR1cm4gbmV3IEFzY2lpSGV4U3RyZWFtKGUsaSk7Y2FzZSJDQ0YiOmNhc2UiQ0NJVFRGYXhEZWNvZGUiOnJldHVybiBuZXcgQ0NJVFRGYXhTdHJlYW0oZSxpLGEpO2Nhc2UiUkwiOmNhc2UiUnVuTGVuZ3RoRGVjb2RlIjpyZXR1cm4gbmV3IFJ1bkxlbmd0aFN0cmVhbShlLGkpO2Nhc2UiSkJJRzJEZWNvZGUiOnJldHVybiBuZXcgSmJpZzJTdHJlYW0oZSxpLGEpfXdhcm4oYEZpbHRlciAiJHt0fSIgaXMgbm90IHN1cHBvcnRlZC5gKTtyZXR1cm4gZX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGBJbnZhbGlkIHN0cmVhbTogIiR7ZX0iYCk7cmV0dXJuIG5ldyBOdWxsU3RyZWFtfX19Y29uc3QgaGk9WzEsMCwwLDAsMCwwLDAsMCwwLDEsMSwwLDEsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMiwwLDAsMiwyLDAsMCwwLDAsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdO2Z1bmN0aW9uIHRvSGV4RGlnaXQoZSl7cmV0dXJuIGU+PTQ4JiZlPD01Nz8xNSZlOmU+PTY1JiZlPD03MHx8ZT49OTcmJmU8PTEwMj85KygxNSZlKTotMX1jbGFzcyBMZXhlcntjb25zdHJ1Y3RvcihlLHQ9bnVsbCl7dGhpcy5zdHJlYW09ZTt0aGlzLm5leHRDaGFyKCk7dGhpcy5zdHJCdWY9W107dGhpcy5rbm93bkNvbW1hbmRzPXQ7dGhpcy5faGV4U3RyaW5nTnVtV2Fybj0wO3RoaXMuYmVnaW5JbmxpbmVJbWFnZVBvcz0tMX1uZXh0Q2hhcigpe3JldHVybiB0aGlzLmN1cnJlbnRDaGFyPXRoaXMuc3RyZWFtLmdldEJ5dGUoKX1wZWVrQ2hhcigpe3JldHVybiB0aGlzLnN0cmVhbS5wZWVrQnl0ZSgpfWdldE51bWJlcigpe2xldCBlPXRoaXMuY3VycmVudENoYXIsdD0hMSxpPTAsYT0xO2lmKDQ1PT09ZSl7YT0tMTtlPXRoaXMubmV4dENoYXIoKTs0NT09PWUmJihlPXRoaXMubmV4dENoYXIoKSl9ZWxzZSA0Mz09PWUmJihlPXRoaXMubmV4dENoYXIoKSk7aWYoMTA9PT1lfHwxMz09PWUpZG97ZT10aGlzLm5leHRDaGFyKCl9d2hpbGUoMTA9PT1lfHwxMz09PWUpO2lmKDQ2PT09ZSl7aT0xMDtlPXRoaXMubmV4dENoYXIoKX1pZihlPDQ4fHxlPjU3KXtjb25zdCB0PWBJbnZhbGlkIG51bWJlcjogJHtTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfSAoY2hhckNvZGUgJHtlfSlgO2lmKGlzV2hpdGVTcGFjZShlKXx8LTE9PT1lKXtpbmZvKGBMZXhlci5nZXROdW1iZXIgLSAiJHt0fSIuYCk7cmV0dXJuIDB9dGhyb3cgbmV3IEZvcm1hdEVycm9yKHQpfWxldCBzPWUtNDgscj0wLG49MTtmb3IoOyhlPXRoaXMubmV4dENoYXIoKSk+PTA7KWlmKGU+PTQ4JiZlPD01Nyl7Y29uc3QgYT1lLTQ4O2lmKHQpcj0xMCpyK2E7ZWxzZXswIT09aSYmKGkqPTEwKTtzPTEwKnMrYX19ZWxzZSBpZig0Nj09PWUpe2lmKDAhPT1pKWJyZWFrO2k9MX1lbHNlIGlmKDQ1PT09ZSl3YXJuKCJCYWRseSBmb3JtYXR0ZWQgbnVtYmVyOiBtaW51cyBzaWduIGluIHRoZSBtaWRkbGUiKTtlbHNle2lmKDY5IT09ZSYmMTAxIT09ZSlicmVhaztlPXRoaXMucGVla0NoYXIoKTtpZig0Mz09PWV8fDQ1PT09ZSl7bj00NT09PWU/LTE6MTt0aGlzLm5leHRDaGFyKCl9ZWxzZSBpZihlPDQ4fHxlPjU3KWJyZWFrO3Q9ITB9MCE9PWkmJihzLz1pKTt0JiYocyo9MTAqKihuKnIpKTtyZXR1cm4gYSpzfWdldFN0cmluZygpe2xldCBlPTEsdD0hMTtjb25zdCBpPXRoaXMuc3RyQnVmO2kubGVuZ3RoPTA7bGV0IGE9dGhpcy5uZXh0Q2hhcigpO2Zvcig7Oyl7bGV0IHM9ITE7c3dpdGNoKDB8YSl7Y2FzZS0xOndhcm4oIlVudGVybWluYXRlZCBzdHJpbmciKTt0PSEwO2JyZWFrO2Nhc2UgNDA6KytlO2kucHVzaCgiKCIpO2JyZWFrO2Nhc2UgNDE6aWYoMD09LS1lKXt0aGlzLm5leHRDaGFyKCk7dD0hMH1lbHNlIGkucHVzaCgiKSIpO2JyZWFrO2Nhc2UgOTI6YT10aGlzLm5leHRDaGFyKCk7c3dpdGNoKGEpe2Nhc2UtMTp3YXJuKCJVbnRlcm1pbmF0ZWQgc3RyaW5nIik7dD0hMDticmVhaztjYXNlIDExMDppLnB1c2goIlxuIik7YnJlYWs7Y2FzZSAxMTQ6aS5wdXNoKCJcciIpO2JyZWFrO2Nhc2UgMTE2OmkucHVzaCgiXHQiKTticmVhaztjYXNlIDk4OmkucHVzaCgiXGIiKTticmVhaztjYXNlIDEwMjppLnB1c2goIlxmIik7YnJlYWs7Y2FzZSA5MjpjYXNlIDQwOmNhc2UgNDE6aS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYSkpO2JyZWFrO2Nhc2UgNDg6Y2FzZSA0OTpjYXNlIDUwOmNhc2UgNTE6Y2FzZSA1MjpjYXNlIDUzOmNhc2UgNTQ6Y2FzZSA1NTpsZXQgZT0xNSZhO2E9dGhpcy5uZXh0Q2hhcigpO3M9ITA7aWYoYT49NDgmJmE8PTU1KXtlPShlPDwzKSsoMTUmYSk7YT10aGlzLm5leHRDaGFyKCk7aWYoYT49NDgmJmE8PTU1KXtzPSExO2U9KGU8PDMpKygxNSZhKX19aS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpO2JyZWFrO2Nhc2UgMTM6MTA9PT10aGlzLnBlZWtDaGFyKCkmJnRoaXMubmV4dENoYXIoKTticmVhaztjYXNlIDEwOmJyZWFrO2RlZmF1bHQ6aS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYSkpfWJyZWFrO2RlZmF1bHQ6aS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYSkpfWlmKHQpYnJlYWs7c3x8KGE9dGhpcy5uZXh0Q2hhcigpKX1yZXR1cm4gaS5qb2luKCIiKX1nZXROYW1lKCl7bGV0IGUsdDtjb25zdCBpPXRoaXMuc3RyQnVmO2kubGVuZ3RoPTA7Zm9yKDsoZT10aGlzLm5leHRDaGFyKCkpPj0wJiYhaGlbZV07KWlmKDM1PT09ZSl7ZT10aGlzLm5leHRDaGFyKCk7aWYoaGlbZV0pe3dhcm4oIkxleGVyX2dldE5hbWU6IE5VTUJFUiBTSUdOICgjKSBzaG91bGQgYmUgZm9sbG93ZWQgYnkgYSBoZXhhZGVjaW1hbCBudW1iZXIuIik7aS5wdXNoKCIjIik7YnJlYWt9Y29uc3QgYT10b0hleERpZ2l0KGUpO2lmKC0xIT09YSl7dD1lO2U9dGhpcy5uZXh0Q2hhcigpO2NvbnN0IHM9dG9IZXhEaWdpdChlKTtpZigtMT09PXMpe3dhcm4oYExleGVyX2dldE5hbWU6IElsbGVnYWwgZGlnaXQgKCR7U3RyaW5nLmZyb21DaGFyQ29kZShlKX0pIGluIGhleGFkZWNpbWFsIG51bWJlci5gKTtpLnB1c2goIiMiLFN0cmluZy5mcm9tQ2hhckNvZGUodCkpO2lmKGhpW2VdKWJyZWFrO2kucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTtjb250aW51ZX1pLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhPDw0fHMpKX1lbHNlIGkucHVzaCgiIyIsU3RyaW5nLmZyb21DaGFyQ29kZShlKSl9ZWxzZSBpLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShlKSk7aS5sZW5ndGg+MTI3JiZ3YXJuKGBOYW1lIHRva2VuIGlzIGxvbmdlciB0aGFuIGFsbG93ZWQgYnkgdGhlIHNwZWM6ICR7aS5sZW5ndGh9YCk7cmV0dXJuIE5hbWUuZ2V0KGkuam9pbigiIikpfV9oZXhTdHJpbmdXYXJuKGUpezUhPXRoaXMuX2hleFN0cmluZ051bVdhcm4rKz90aGlzLl9oZXhTdHJpbmdOdW1XYXJuPjV8fHdhcm4oYGdldEhleFN0cmluZyAtIGlnbm9yaW5nIGludmFsaWQgY2hhcmFjdGVyOiAke2V9YCk6d2FybigiZ2V0SGV4U3RyaW5nIC0gaWdub3JpbmcgYWRkaXRpb25hbCBpbnZhbGlkIGNoYXJhY3RlcnMuIil9Z2V0SGV4U3RyaW5nKCl7Y29uc3QgZT10aGlzLnN0ckJ1ZjtlLmxlbmd0aD0wO2xldCB0PXRoaXMuY3VycmVudENoYXIsaT0tMSxhPS0xO3RoaXMuX2hleFN0cmluZ051bVdhcm49MDtmb3IoOzspe2lmKHQ8MCl7d2FybigiVW50ZXJtaW5hdGVkIGhleCBzdHJpbmciKTticmVha31pZig2Mj09PXQpe3RoaXMubmV4dENoYXIoKTticmVha31pZigxIT09aGlbdF0pe2E9dG9IZXhEaWdpdCh0KTtpZigtMT09PWEpdGhpcy5faGV4U3RyaW5nV2Fybih0KTtlbHNlIGlmKC0xPT09aSlpPWE7ZWxzZXtlLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShpPDw0fGEpKTtpPS0xfXQ9dGhpcy5uZXh0Q2hhcigpfWVsc2UgdD10aGlzLm5leHRDaGFyKCl9LTEhPT1pJiZlLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShpPDw0KSk7cmV0dXJuIGUuam9pbigiIil9Z2V0T2JqKCl7bGV0IGU9ITEsdD10aGlzLmN1cnJlbnRDaGFyO2Zvcig7Oyl7aWYodDwwKXJldHVybiB5dDtpZihlKTEwIT09dCYmMTMhPT10fHwoZT0hMSk7ZWxzZSBpZigzNz09PXQpZT0hMDtlbHNlIGlmKDEhPT1oaVt0XSlicmVhazt0PXRoaXMubmV4dENoYXIoKX1zd2l0Y2goMHx0KXtjYXNlIDQ4OmNhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNTI6Y2FzZSA1MzpjYXNlIDU0OmNhc2UgNTU6Y2FzZSA1NjpjYXNlIDU3OmNhc2UgNDM6Y2FzZSA0NTpjYXNlIDQ2OnJldHVybiB0aGlzLmdldE51bWJlcigpO2Nhc2UgNDA6cmV0dXJuIHRoaXMuZ2V0U3RyaW5nKCk7Y2FzZSA0NzpyZXR1cm4gdGhpcy5nZXROYW1lKCk7Y2FzZSA5MTp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoIlsiKTtjYXNlIDkzOnRoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldCgiXSIpO2Nhc2UgNjA6dD10aGlzLm5leHRDaGFyKCk7aWYoNjA9PT10KXt0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoIjw8Iil9cmV0dXJuIHRoaXMuZ2V0SGV4U3RyaW5nKCk7Y2FzZSA2Mjp0PXRoaXMubmV4dENoYXIoKTtpZig2Mj09PXQpe3RoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldCgiPj4iKX1yZXR1cm4gQ21kLmdldCgiPiIpO2Nhc2UgMTIzOnRoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldCgieyIpO2Nhc2UgMTI1OnRoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldCgifSIpO2Nhc2UgNDE6dGhpcy5uZXh0Q2hhcigpO3Rocm93IG5ldyBGb3JtYXRFcnJvcihgSWxsZWdhbCBjaGFyYWN0ZXI6ICR7dH1gKX1sZXQgaT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO2lmKHQ8MzJ8fHQ+MTI3KXtjb25zdCBlPXRoaXMucGVla0NoYXIoKTtpZihlPj0zMiYmZTw9MTI3KXt0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoaSl9fWNvbnN0IGE9dGhpcy5rbm93bkNvbW1hbmRzO2xldCBzPXZvaWQgMCE9PWE/LltpXTtmb3IoOyh0PXRoaXMubmV4dENoYXIoKSk+PTAmJiFoaVt0XTspe2NvbnN0IGU9aStTdHJpbmcuZnJvbUNoYXJDb2RlKHQpO2lmKHMmJnZvaWQgMD09PWFbZV0pYnJlYWs7aWYoMTI4PT09aS5sZW5ndGgpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBDb21tYW5kIHRva2VuIHRvbyBsb25nOiAke2kubGVuZ3RofWApO2k9ZTtzPXZvaWQgMCE9PWE/LltpXX1pZigidHJ1ZSI9PT1pKXJldHVybiEwO2lmKCJmYWxzZSI9PT1pKXJldHVybiExO2lmKCJudWxsIj09PWkpcmV0dXJuIG51bGw7IkJJIj09PWkmJih0aGlzLmJlZ2luSW5saW5lSW1hZ2VQb3M9dGhpcy5zdHJlYW0ucG9zKTtyZXR1cm4gQ21kLmdldChpKX1za2lwVG9OZXh0TGluZSgpe2xldCBlPXRoaXMuY3VycmVudENoYXI7Zm9yKDtlPj0wOyl7aWYoMTM9PT1lKXtlPXRoaXMubmV4dENoYXIoKTsxMD09PWUmJnRoaXMubmV4dENoYXIoKTticmVha31pZigxMD09PWUpe3RoaXMubmV4dENoYXIoKTticmVha31lPXRoaXMubmV4dENoYXIoKX19fWNsYXNzIExpbmVhcml6YXRpb257c3RhdGljIGNyZWF0ZShlKXtmdW5jdGlvbiBnZXRJbnQoZSx0LGk9ITEpe2NvbnN0IGE9ZS5nZXQodCk7aWYoTnVtYmVyLmlzSW50ZWdlcihhKSYmKGk/YT49MDphPjApKXJldHVybiBhO3Rocm93IG5ldyBFcnJvcihgVGhlICIke3R9IiBwYXJhbWV0ZXIgaW4gdGhlIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLmApfWNvbnN0IHQ9bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKGUpLHhyZWY6bnVsbH0pLGk9dC5nZXRPYmooKSxhPXQuZ2V0T2JqKCkscz10LmdldE9iaigpLHI9dC5nZXRPYmooKTtsZXQgbixnO2lmKCEoTnVtYmVyLmlzSW50ZWdlcihpKSYmTnVtYmVyLmlzSW50ZWdlcihhKSYmaXNDbWQocywib2JqIikmJnIgaW5zdGFuY2VvZiBEaWN0JiYibnVtYmVyIj09dHlwZW9mKG49ci5nZXQoIkxpbmVhcml6ZWQiKSkmJm4+MCkpcmV0dXJuIG51bGw7aWYoKGc9Z2V0SW50KHIsIkwiKSkhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoJ1RoZSAiTCIgcGFyYW1ldGVyIGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgZG9lcyBub3QgZXF1YWwgdGhlIHN0cmVhbSBsZW5ndGguJyk7cmV0dXJue2xlbmd0aDpnLGhpbnRzOmZ1bmN0aW9uIGdldEhpbnRzKGUpe2NvbnN0IHQ9ZS5nZXQoIkgiKTtsZXQgaTtpZihBcnJheS5pc0FycmF5KHQpJiYoMj09PShpPXQubGVuZ3RoKXx8ND09PWkpKXtmb3IobGV0IGU9MDtlPGk7ZSsrKXtjb25zdCBpPXRbZV07aWYoIShOdW1iZXIuaXNJbnRlZ2VyKGkpJiZpPjApKXRocm93IG5ldyBFcnJvcihgSGludCAoJHtlfSkgaW4gdGhlIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLmApfXJldHVybiB0fXRocm93IG5ldyBFcnJvcigiSGludCBhcnJheSBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuIil9KHIpLG9iamVjdE51bWJlckZpcnN0OmdldEludChyLCJPIiksZW5kRmlyc3Q6Z2V0SW50KHIsIkUiKSxudW1QYWdlczpnZXRJbnQociwiTiIpLG1haW5YUmVmRW50cmllc09mZnNldDpnZXRJbnQociwiVCIpLHBhZ2VGaXJzdDpyLmhhcygiUCIpP2dldEludChyLCJQIiwhMCk6MH19fWNvbnN0IGxpPVsiQWRvYmUtR0IxLVVDUzIiLCJBZG9iZS1DTlMxLVVDUzIiLCJBZG9iZS1KYXBhbjEtVUNTMiIsIkFkb2JlLUtvcmVhMS1VQ1MyIiwiNzgtRVVDLUgiLCI3OC1FVUMtViIsIjc4LUgiLCI3OC1SS1NKLUgiLCI3OC1SS1NKLVYiLCI3OC1WIiwiNzhtcy1SS1NKLUgiLCI3OG1zLVJLU0otViIsIjgzcHYtUktTSi1IIiwiOTBtcy1SS1NKLUgiLCI5MG1zLVJLU0otViIsIjkwbXNwLVJLU0otSCIsIjkwbXNwLVJLU0otViIsIjkwcHYtUktTSi1IIiwiOTBwdi1SS1NKLVYiLCJBZGQtSCIsIkFkZC1SS1NKLUgiLCJBZGQtUktTSi1WIiwiQWRkLVYiLCJBZG9iZS1DTlMxLTAiLCJBZG9iZS1DTlMxLTEiLCJBZG9iZS1DTlMxLTIiLCJBZG9iZS1DTlMxLTMiLCJBZG9iZS1DTlMxLTQiLCJBZG9iZS1DTlMxLTUiLCJBZG9iZS1DTlMxLTYiLCJBZG9iZS1HQjEtMCIsIkFkb2JlLUdCMS0xIiwiQWRvYmUtR0IxLTIiLCJBZG9iZS1HQjEtMyIsIkFkb2JlLUdCMS00IiwiQWRvYmUtR0IxLTUiLCJBZG9iZS1KYXBhbjEtMCIsIkFkb2JlLUphcGFuMS0xIiwiQWRvYmUtSmFwYW4xLTIiLCJBZG9iZS1KYXBhbjEtMyIsIkFkb2JlLUphcGFuMS00IiwiQWRvYmUtSmFwYW4xLTUiLCJBZG9iZS1KYXBhbjEtNiIsIkFkb2JlLUtvcmVhMS0wIiwiQWRvYmUtS29yZWExLTEiLCJBZG9iZS1Lb3JlYTEtMiIsIkI1LUgiLCJCNS1WIiwiQjVwYy1IIiwiQjVwYy1WIiwiQ05TLUVVQy1IIiwiQ05TLUVVQy1WIiwiQ05TMS1IIiwiQ05TMS1WIiwiQ05TMi1IIiwiQ05TMi1WIiwiRVRISy1CNS1IIiwiRVRISy1CNS1WIiwiRVRlbi1CNS1IIiwiRVRlbi1CNS1WIiwiRVRlbm1zLUI1LUgiLCJFVGVubXMtQjUtViIsIkVVQy1IIiwiRVVDLVYiLCJFeHQtSCIsIkV4dC1SS1NKLUgiLCJFeHQtUktTSi1WIiwiRXh0LVYiLCJHQi1FVUMtSCIsIkdCLUVVQy1WIiwiR0ItSCIsIkdCLVYiLCJHQkstRVVDLUgiLCJHQkstRVVDLVYiLCJHQksySy1IIiwiR0JLMkstViIsIkdCS3AtRVVDLUgiLCJHQktwLUVVQy1WIiwiR0JULUVVQy1IIiwiR0JULUVVQy1WIiwiR0JULUgiLCJHQlQtViIsIkdCVHBjLUVVQy1IIiwiR0JUcGMtRVVDLVYiLCJHQnBjLUVVQy1IIiwiR0JwYy1FVUMtViIsIkgiLCJIS2RsYS1CNS1IIiwiSEtkbGEtQjUtViIsIkhLZGxiLUI1LUgiLCJIS2RsYi1CNS1WIiwiSEtnY2NzLUI1LUgiLCJIS2djY3MtQjUtViIsIkhLbTMxNC1CNS1IIiwiSEttMzE0LUI1LVYiLCJIS200NzEtQjUtSCIsIkhLbTQ3MS1CNS1WIiwiSEtzY3MtQjUtSCIsIkhLc2NzLUI1LVYiLCJIYW5rYWt1IiwiSGlyYWdhbmEiLCJLU0MtRVVDLUgiLCJLU0MtRVVDLVYiLCJLU0MtSCIsIktTQy1Kb2hhYi1IIiwiS1NDLUpvaGFiLVYiLCJLU0MtViIsIktTQ21zLVVIQy1IIiwiS1NDbXMtVUhDLUhXLUgiLCJLU0Ntcy1VSEMtSFctViIsIktTQ21zLVVIQy1WIiwiS1NDcGMtRVVDLUgiLCJLU0NwYy1FVUMtViIsIkthdGFrYW5hIiwiTldQLUgiLCJOV1AtViIsIlJLU0otSCIsIlJLU0otViIsIlJvbWFuIiwiVW5pQ05TLVVDUzItSCIsIlVuaUNOUy1VQ1MyLVYiLCJVbmlDTlMtVVRGMTYtSCIsIlVuaUNOUy1VVEYxNi1WIiwiVW5pQ05TLVVURjMyLUgiLCJVbmlDTlMtVVRGMzItViIsIlVuaUNOUy1VVEY4LUgiLCJVbmlDTlMtVVRGOC1WIiwiVW5pR0ItVUNTMi1IIiwiVW5pR0ItVUNTMi1WIiwiVW5pR0ItVVRGMTYtSCIsIlVuaUdCLVVURjE2LVYiLCJVbmlHQi1VVEYzMi1IIiwiVW5pR0ItVVRGMzItViIsIlVuaUdCLVVURjgtSCIsIlVuaUdCLVVURjgtViIsIlVuaUpJUy1VQ1MyLUgiLCJVbmlKSVMtVUNTMi1IVy1IIiwiVW5pSklTLVVDUzItSFctViIsIlVuaUpJUy1VQ1MyLVYiLCJVbmlKSVMtVVRGMTYtSCIsIlVuaUpJUy1VVEYxNi1WIiwiVW5pSklTLVVURjMyLUgiLCJVbmlKSVMtVVRGMzItViIsIlVuaUpJUy1VVEY4LUgiLCJVbmlKSVMtVVRGOC1WIiwiVW5pSklTMjAwNC1VVEYxNi1IIiwiVW5pSklTMjAwNC1VVEYxNi1WIiwiVW5pSklTMjAwNC1VVEYzMi1IIiwiVW5pSklTMjAwNC1VVEYzMi1WIiwiVW5pSklTMjAwNC1VVEY4LUgiLCJVbmlKSVMyMDA0LVVURjgtViIsIlVuaUpJU1Byby1VQ1MyLUhXLVYiLCJVbmlKSVNQcm8tVUNTMi1WIiwiVW5pSklTUHJvLVVURjgtViIsIlVuaUpJU1gwMjEzLVVURjMyLUgiLCJVbmlKSVNYMDIxMy1VVEYzMi1WIiwiVW5pSklTWDAyMTMyMDA0LVVURjMyLUgiLCJVbmlKSVNYMDIxMzIwMDQtVVRGMzItViIsIlVuaUtTLVVDUzItSCIsIlVuaUtTLVVDUzItViIsIlVuaUtTLVVURjE2LUgiLCJVbmlLUy1VVEYxNi1WIiwiVW5pS1MtVVRGMzItSCIsIlVuaUtTLVVURjMyLVYiLCJVbmlLUy1VVEY4LUgiLCJVbmlLUy1VVEY4LVYiLCJWIiwiV1AtU3ltYm9sIl0sQmk9MioqMjQtMTtjbGFzcyBDTWFwe2NvbnN0cnVjdG9yKGU9ITEpe3RoaXMuY29kZXNwYWNlUmFuZ2VzPVtbXSxbXSxbXSxbXV07dGhpcy5udW1Db2Rlc3BhY2VSYW5nZXM9MDt0aGlzLl9tYXA9W107dGhpcy5uYW1lPSIiO3RoaXMudmVydGljYWw9ITE7dGhpcy51c2VDTWFwPW51bGw7dGhpcy5idWlsdEluQ01hcD1lfWFkZENvZGVzcGFjZVJhbmdlKGUsdCxpKXt0aGlzLmNvZGVzcGFjZVJhbmdlc1tlLTFdLnB1c2godCxpKTt0aGlzLm51bUNvZGVzcGFjZVJhbmdlcysrfW1hcENpZFJhbmdlKGUsdCxpKXtpZih0LWU+QmkpdGhyb3cgbmV3IEVycm9yKCJtYXBDaWRSYW5nZSAtIGlnbm9yaW5nIGRhdGEgYWJvdmUgTUFYX01BUF9SQU5HRS4iKTtmb3IoO2U8PXQ7KXRoaXMuX21hcFtlKytdPWkrK31tYXBCZlJhbmdlKGUsdCxpKXtpZih0LWU+QmkpdGhyb3cgbmV3IEVycm9yKCJtYXBCZlJhbmdlIC0gaWdub3JpbmcgZGF0YSBhYm92ZSBNQVhfTUFQX1JBTkdFLiIpO2NvbnN0IGE9aS5sZW5ndGgtMTtmb3IoO2U8PXQ7KXt0aGlzLl9tYXBbZSsrXT1pO2NvbnN0IHQ9aS5jaGFyQ29kZUF0KGEpKzE7dD4yNTU/aT1pLnN1YnN0cmluZygwLGEtMSkrU3RyaW5nLmZyb21DaGFyQ29kZShpLmNoYXJDb2RlQXQoYS0xKSsxKSsiXDAiOmk9aS5zdWJzdHJpbmcoMCxhKStTdHJpbmcuZnJvbUNoYXJDb2RlKHQpfX1tYXBCZlJhbmdlVG9BcnJheShlLHQsaSl7aWYodC1lPkJpKXRocm93IG5ldyBFcnJvcigibWFwQmZSYW5nZVRvQXJyYXkgLSBpZ25vcmluZyBkYXRhIGFib3ZlIE1BWF9NQVBfUkFOR0UuIik7Y29uc3QgYT1pLmxlbmd0aDtsZXQgcz0wO2Zvcig7ZTw9dCYmczxhOyl7dGhpcy5fbWFwW2VdPWlbcysrXTsrK2V9fW1hcE9uZShlLHQpe3RoaXMuX21hcFtlXT10fWxvb2t1cChlKXtyZXR1cm4gdGhpcy5fbWFwW2VdfWNvbnRhaW5zKGUpe3JldHVybiB2b2lkIDAhPT10aGlzLl9tYXBbZV19Zm9yRWFjaChlKXtjb25zdCB0PXRoaXMuX21hcCxpPXQubGVuZ3RoO2lmKGk8PTY1NTM2KWZvcihsZXQgYT0wO2E8aTthKyspdm9pZCAwIT09dFthXSYmZShhLHRbYV0pO2Vsc2UgZm9yKGNvbnN0IGkgaW4gdCllKGksdFtpXSl9Y2hhckNvZGVPZihlKXtjb25zdCB0PXRoaXMuX21hcDtpZih0Lmxlbmd0aDw9NjU1MzYpcmV0dXJuIHQuaW5kZXhPZihlKTtmb3IoY29uc3QgaSBpbiB0KWlmKHRbaV09PT1lKXJldHVybiAwfGk7cmV0dXJuLTF9Z2V0TWFwKCl7cmV0dXJuIHRoaXMuX21hcH1yZWFkQ2hhckNvZGUoZSx0LGkpe2xldCBhPTA7Y29uc3Qgcz10aGlzLmNvZGVzcGFjZVJhbmdlcztmb3IobGV0IHI9MCxuPXMubGVuZ3RoO3I8bjtyKyspe2E9KGE8PDh8ZS5jaGFyQ29kZUF0KHQrcikpPj4+MDtjb25zdCBuPXNbcl07Zm9yKGxldCBlPTAsdD1uLmxlbmd0aDtlPHQ7KXtjb25zdCB0PW5bZSsrXSxzPW5bZSsrXTtpZihhPj10JiZhPD1zKXtpLmNoYXJjb2RlPWE7aS5sZW5ndGg9cisxO3JldHVybn19fWkuY2hhcmNvZGU9MDtpLmxlbmd0aD0xfWdldENoYXJDb2RlTGVuZ3RoKGUpe2NvbnN0IHQ9dGhpcy5jb2Rlc3BhY2VSYW5nZXM7Zm9yKGxldCBpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPXRbaV07Zm9yKGxldCB0PTAscz1hLmxlbmd0aDt0PHM7KXtjb25zdCBzPWFbdCsrXSxyPWFbdCsrXTtpZihlPj1zJiZlPD1yKXJldHVybiBpKzF9fXJldHVybiAxfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5fbWFwLmxlbmd0aH1nZXQgaXNJZGVudGl0eUNNYXAoKXtpZigiSWRlbnRpdHktSCIhPT10aGlzLm5hbWUmJiJJZGVudGl0eS1WIiE9PXRoaXMubmFtZSlyZXR1cm4hMTtpZig2NTUzNiE9PXRoaXMuX21hcC5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBlPTA7ZTw2NTUzNjtlKyspaWYodGhpcy5fbWFwW2VdIT09ZSlyZXR1cm4hMTtyZXR1cm4hMH19Y2xhc3MgSWRlbnRpdHlDTWFwIGV4dGVuZHMgQ01hcHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCk7dGhpcy52ZXJ0aWNhbD1lO3RoaXMuYWRkQ29kZXNwYWNlUmFuZ2UodCwwLDY1NTM1KX1tYXBDaWRSYW5nZShlLHQsaSl7dW5yZWFjaGFibGUoInNob3VsZCBub3QgY2FsbCBtYXBDaWRSYW5nZSIpfW1hcEJmUmFuZ2UoZSx0LGkpe3VucmVhY2hhYmxlKCJzaG91bGQgbm90IGNhbGwgbWFwQmZSYW5nZSIpfW1hcEJmUmFuZ2VUb0FycmF5KGUsdCxpKXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBjYWxsIG1hcEJmUmFuZ2VUb0FycmF5Iil9bWFwT25lKGUsdCl7dW5yZWFjaGFibGUoInNob3VsZCBub3QgY2FsbCBtYXBDaWRPbmUiKX1sb29rdXAoZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSkmJmU8PTY1NTM1P2U6dm9pZCAwfWNvbnRhaW5zKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPD02NTUzNX1mb3JFYWNoKGUpe2ZvcihsZXQgdD0wO3Q8PTY1NTM1O3QrKyllKHQsdCl9Y2hhckNvZGVPZihlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKSYmZTw9NjU1MzU/ZTotMX1nZXRNYXAoKXtjb25zdCBlPW5ldyBBcnJheSg2NTUzNik7Zm9yKGxldCB0PTA7dDw9NjU1MzU7dCsrKWVbdF09dDtyZXR1cm4gZX1nZXQgbGVuZ3RoKCl7cmV0dXJuIDY1NTM2fWdldCBpc0lkZW50aXR5Q01hcCgpe3VucmVhY2hhYmxlKCJzaG91bGQgbm90IGFjY2VzcyAuaXNJZGVudGl0eUNNYXAiKX19ZnVuY3Rpb24gc3RyVG9JbnQoZSl7bGV0IHQ9MDtmb3IobGV0IGk9MDtpPGUubGVuZ3RoO2krKyl0PXQ8PDh8ZS5jaGFyQ29kZUF0KGkpO3JldHVybiB0Pj4+MH1mdW5jdGlvbiBleHBlY3RTdHJpbmcoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTWFsZm9ybWVkIENNYXA6IGV4cGVjdGVkIHN0cmluZy4iKX1mdW5jdGlvbiBleHBlY3RJbnQoZSl7aWYoIU51bWJlci5pc0ludGVnZXIoZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNYWxmb3JtZWQgQ01hcDogZXhwZWN0ZWQgaW50LiIpfWZ1bmN0aW9uIHBhcnNlQmZDaGFyKGUsdCl7Zm9yKDs7KXtsZXQgaT10LmdldE9iaigpO2lmKGk9PT15dClicmVhaztpZihpc0NtZChpLCJlbmRiZmNoYXIiKSlyZXR1cm47ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IGE9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2V4cGVjdFN0cmluZyhpKTtjb25zdCBzPWk7ZS5tYXBPbmUoYSxzKX19ZnVuY3Rpb24gcGFyc2VCZlJhbmdlKGUsdCl7Zm9yKDs7KXtsZXQgaT10LmdldE9iaigpO2lmKGk9PT15dClicmVhaztpZihpc0NtZChpLCJlbmRiZnJhbmdlIikpcmV0dXJuO2V4cGVjdFN0cmluZyhpKTtjb25zdCBhPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtleHBlY3RTdHJpbmcoaSk7Y29uc3Qgcz1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7aWYoTnVtYmVyLmlzSW50ZWdlcihpKXx8InN0cmluZyI9PXR5cGVvZiBpKXtjb25zdCB0PU51bWJlci5pc0ludGVnZXIoaSk/U3RyaW5nLmZyb21DaGFyQ29kZShpKTppO2UubWFwQmZSYW5nZShhLHMsdCl9ZWxzZXtpZighaXNDbWQoaSwiWyIpKWJyZWFrO3tpPXQuZ2V0T2JqKCk7Y29uc3Qgcj1bXTtmb3IoOyFpc0NtZChpLCJdIikmJmkhPT15dDspe3IucHVzaChpKTtpPXQuZ2V0T2JqKCl9ZS5tYXBCZlJhbmdlVG9BcnJheShhLHMscil9fX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgYmYgcmFuZ2UuIil9ZnVuY3Rpb24gcGFyc2VDaWRDaGFyKGUsdCl7Zm9yKDs7KXtsZXQgaT10LmdldE9iaigpO2lmKGk9PT15dClicmVhaztpZihpc0NtZChpLCJlbmRjaWRjaGFyIikpcmV0dXJuO2V4cGVjdFN0cmluZyhpKTtjb25zdCBhPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtleHBlY3RJbnQoaSk7Y29uc3Qgcz1pO2UubWFwT25lKGEscyl9fWZ1bmN0aW9uIHBhcnNlQ2lkUmFuZ2UoZSx0KXtmb3IoOzspe2xldCBpPXQuZ2V0T2JqKCk7aWYoaT09PXl0KWJyZWFrO2lmKGlzQ21kKGksImVuZGNpZHJhbmdlIikpcmV0dXJuO2V4cGVjdFN0cmluZyhpKTtjb25zdCBhPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtleHBlY3RTdHJpbmcoaSk7Y29uc3Qgcz1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7ZXhwZWN0SW50KGkpO2NvbnN0IHI9aTtlLm1hcENpZFJhbmdlKGEscyxyKX19ZnVuY3Rpb24gcGFyc2VDb2Rlc3BhY2VSYW5nZShlLHQpe2Zvcig7Oyl7bGV0IGk9dC5nZXRPYmooKTtpZihpPT09eXQpYnJlYWs7aWYoaXNDbWQoaSwiZW5kY29kZXNwYWNlcmFuZ2UiKSlyZXR1cm47aWYoInN0cmluZyIhPXR5cGVvZiBpKWJyZWFrO2NvbnN0IGE9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2lmKCJzdHJpbmciIT10eXBlb2YgaSlicmVhaztjb25zdCBzPXN0clRvSW50KGkpO2UuYWRkQ29kZXNwYWNlUmFuZ2UoaS5sZW5ndGgsYSxzKX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgY29kZXNwYWNlIHJhbmdlLiIpfWZ1bmN0aW9uIHBhcnNlV01vZGUoZSx0KXtjb25zdCBpPXQuZ2V0T2JqKCk7TnVtYmVyLmlzSW50ZWdlcihpKSYmKGUudmVydGljYWw9ISFpKX1mdW5jdGlvbiBwYXJzZUNNYXBOYW1lKGUsdCl7Y29uc3QgaT10LmdldE9iaigpO2kgaW5zdGFuY2VvZiBOYW1lJiYoZS5uYW1lPWkubmFtZSl9YXN5bmMgZnVuY3Rpb24gcGFyc2VDTWFwKGUsdCxpLGEpe2xldCBzLHI7QTpmb3IoOzspdHJ5e2NvbnN0IGk9dC5nZXRPYmooKTtpZihpPT09eXQpYnJlYWs7aWYoaSBpbnN0YW5jZW9mIE5hbWUpeyJXTW9kZSI9PT1pLm5hbWU/cGFyc2VXTW9kZShlLHQpOiJDTWFwTmFtZSI9PT1pLm5hbWUmJnBhcnNlQ01hcE5hbWUoZSx0KTtzPWl9ZWxzZSBpZihpIGluc3RhbmNlb2YgQ21kKXN3aXRjaChpLmNtZCl7Y2FzZSJlbmRjbWFwIjpicmVhayBBO2Nhc2UidXNlY21hcCI6cyBpbnN0YW5jZW9mIE5hbWUmJihyPXMubmFtZSk7YnJlYWs7Y2FzZSJiZWdpbmNvZGVzcGFjZXJhbmdlIjpwYXJzZUNvZGVzcGFjZVJhbmdlKGUsdCk7YnJlYWs7Y2FzZSJiZWdpbmJmY2hhciI6cGFyc2VCZkNoYXIoZSx0KTticmVhaztjYXNlImJlZ2luY2lkY2hhciI6cGFyc2VDaWRDaGFyKGUsdCk7YnJlYWs7Y2FzZSJiZWdpbmJmcmFuZ2UiOnBhcnNlQmZSYW5nZShlLHQpO2JyZWFrO2Nhc2UiYmVnaW5jaWRyYW5nZSI6cGFyc2VDaWRSYW5nZShlLHQpfX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJJbnZhbGlkIGNNYXAgZGF0YTogIitlKTtjb250aW51ZX0hYSYmciYmKGE9cik7cmV0dXJuIGE/ZXh0ZW5kQ01hcChlLGksYSk6ZX1hc3luYyBmdW5jdGlvbiBleHRlbmRDTWFwKGUsdCxpKXtlLnVzZUNNYXA9YXdhaXQgY3JlYXRlQnVpbHRJbkNNYXAoaSx0KTtpZigwPT09ZS5udW1Db2Rlc3BhY2VSYW5nZXMpe2NvbnN0IHQ9ZS51c2VDTWFwLmNvZGVzcGFjZVJhbmdlcztmb3IobGV0IGk9MDtpPHQubGVuZ3RoO2krKyllLmNvZGVzcGFjZVJhbmdlc1tpXT10W2ldLnNsaWNlKCk7ZS5udW1Db2Rlc3BhY2VSYW5nZXM9ZS51c2VDTWFwLm51bUNvZGVzcGFjZVJhbmdlc31lLnVzZUNNYXAuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtlLmNvbnRhaW5zKHQpfHxlLm1hcE9uZSh0LGkpfSkpO3JldHVybiBlfWFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUJ1aWx0SW5DTWFwKGUsdCl7aWYoIklkZW50aXR5LUgiPT09ZSlyZXR1cm4gbmV3IElkZW50aXR5Q01hcCghMSwyKTtpZigiSWRlbnRpdHktViI9PT1lKXJldHVybiBuZXcgSWRlbnRpdHlDTWFwKCEwLDIpO2lmKCFsaS5pbmNsdWRlcyhlKSl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gQ01hcCBuYW1lOiAiK2UpO2lmKCF0KXRocm93IG5ldyBFcnJvcigiQnVpbHQtaW4gQ01hcCBwYXJhbWV0ZXJzIGFyZSBub3QgcHJvdmlkZWQuIik7Y29uc3R7Y01hcERhdGE6aSxpc0NvbXByZXNzZWQ6YX09YXdhaXQgdChlKSxzPW5ldyBDTWFwKCEwKTtpZihhKXJldHVybihuZXcgQmluYXJ5Q01hcFJlYWRlcikucHJvY2VzcyhpLHMsKGU9PmV4dGVuZENNYXAocyx0LGUpKSk7Y29uc3Qgcj1uZXcgTGV4ZXIobmV3IFN0cmVhbShpKSk7cmV0dXJuIHBhcnNlQ01hcChzLHIsdCxudWxsKX1jbGFzcyBDTWFwRmFjdG9yeXtzdGF0aWMgYXN5bmMgY3JlYXRlKHtlbmNvZGluZzplLGZldGNoQnVpbHRJbkNNYXA6dCx1c2VDTWFwOml9KXtpZihlIGluc3RhbmNlb2YgTmFtZSlyZXR1cm4gY3JlYXRlQnVpbHRJbkNNYXAoZS5uYW1lLHQpO2lmKGUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtjb25zdCBhPWF3YWl0IHBhcnNlQ01hcChuZXcgQ01hcCxuZXcgTGV4ZXIoZSksdCxpKTtyZXR1cm4gYS5pc0lkZW50aXR5Q01hcD9jcmVhdGVCdWlsdEluQ01hcChhLm5hbWUsdCk6YX10aHJvdyBuZXcgRXJyb3IoIkVuY29kaW5nIHJlcXVpcmVkLiIpfX1jb25zdCBRaT1bIi5ub3RkZWYiLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXJpZ2h0IiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrIiwicGx1cyIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJhdCIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYnJhY2tldGxlZnQiLCJiYWNrc2xhc2giLCJicmFja2V0cmlnaHQiLCJhc2NpaWNpcmN1bSIsInVuZGVyc2NvcmUiLCJxdW90ZWxlZnQiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiZXhjbGFtZG93biIsImNlbnQiLCJzdGVybGluZyIsImZyYWN0aW9uIiwieWVuIiwiZmxvcmluIiwic2VjdGlvbiIsImN1cnJlbmN5IiwicXVvdGVzaW5nbGUiLCJxdW90ZWRibGxlZnQiLCJndWlsbGVtb3RsZWZ0IiwiZ3VpbHNpbmdsbGVmdCIsImd1aWxzaW5nbHJpZ2h0IiwiZmkiLCJmbCIsImVuZGFzaCIsImRhZ2dlciIsImRhZ2dlcmRibCIsInBlcmlvZGNlbnRlcmVkIiwicGFyYWdyYXBoIiwiYnVsbGV0IiwicXVvdGVzaW5nbGJhc2UiLCJxdW90ZWRibGJhc2UiLCJxdW90ZWRibHJpZ2h0IiwiZ3VpbGxlbW90cmlnaHQiLCJlbGxpcHNpcyIsInBlcnRob3VzYW5kIiwicXVlc3Rpb25kb3duIiwiZ3JhdmUiLCJhY3V0ZSIsImNpcmN1bWZsZXgiLCJ0aWxkZSIsIm1hY3JvbiIsImJyZXZlIiwiZG90YWNjZW50IiwiZGllcmVzaXMiLCJyaW5nIiwiY2VkaWxsYSIsImh1bmdhcnVtbGF1dCIsIm9nb25layIsImNhcm9uIiwiZW1kYXNoIiwiQUUiLCJvcmRmZW1pbmluZSIsIkxzbGFzaCIsIk9zbGFzaCIsIk9FIiwib3JkbWFzY3VsaW5lIiwiYWUiLCJkb3RsZXNzaSIsImxzbGFzaCIsIm9zbGFzaCIsIm9lIiwiZ2VybWFuZGJscyIsIm9uZXN1cGVyaW9yIiwibG9naWNhbG5vdCIsIm11IiwidHJhZGVtYXJrIiwiRXRoIiwib25laGFsZiIsInBsdXNtaW51cyIsIlRob3JuIiwib25lcXVhcnRlciIsImRpdmlkZSIsImJyb2tlbmJhciIsImRlZ3JlZSIsInRob3JuIiwidGhyZWVxdWFydGVycyIsInR3b3N1cGVyaW9yIiwicmVnaXN0ZXJlZCIsIm1pbnVzIiwiZXRoIiwibXVsdGlwbHkiLCJ0aHJlZXN1cGVyaW9yIiwiY29weXJpZ2h0IiwiQWFjdXRlIiwiQWNpcmN1bWZsZXgiLCJBZGllcmVzaXMiLCJBZ3JhdmUiLCJBcmluZyIsIkF0aWxkZSIsIkNjZWRpbGxhIiwiRWFjdXRlIiwiRWNpcmN1bWZsZXgiLCJFZGllcmVzaXMiLCJFZ3JhdmUiLCJJYWN1dGUiLCJJY2lyY3VtZmxleCIsIklkaWVyZXNpcyIsIklncmF2ZSIsIk50aWxkZSIsIk9hY3V0ZSIsIk9jaXJjdW1mbGV4IiwiT2RpZXJlc2lzIiwiT2dyYXZlIiwiT3RpbGRlIiwiU2Nhcm9uIiwiVWFjdXRlIiwiVWNpcmN1bWZsZXgiLCJVZGllcmVzaXMiLCJVZ3JhdmUiLCJZYWN1dGUiLCJZZGllcmVzaXMiLCJaY2Fyb24iLCJhYWN1dGUiLCJhY2lyY3VtZmxleCIsImFkaWVyZXNpcyIsImFncmF2ZSIsImFyaW5nIiwiYXRpbGRlIiwiY2NlZGlsbGEiLCJlYWN1dGUiLCJlY2lyY3VtZmxleCIsImVkaWVyZXNpcyIsImVncmF2ZSIsImlhY3V0ZSIsImljaXJjdW1mbGV4IiwiaWRpZXJlc2lzIiwiaWdyYXZlIiwibnRpbGRlIiwib2FjdXRlIiwib2NpcmN1bWZsZXgiLCJvZGllcmVzaXMiLCJvZ3JhdmUiLCJvdGlsZGUiLCJzY2Fyb24iLCJ1YWN1dGUiLCJ1Y2lyY3VtZmxleCIsInVkaWVyZXNpcyIsInVncmF2ZSIsInlhY3V0ZSIsInlkaWVyZXNpcyIsInpjYXJvbiJdLEVpPVsiLm5vdGRlZiIsInNwYWNlIiwiZXhjbGFtc21hbGwiLCJIdW5nYXJ1bWxhdXRzbWFsbCIsImRvbGxhcm9sZHN0eWxlIiwiZG9sbGFyc3VwZXJpb3IiLCJhbXBlcnNhbmRzbWFsbCIsIkFjdXRlc21hbGwiLCJwYXJlbmxlZnRzdXBlcmlvciIsInBhcmVucmlnaHRzdXBlcmlvciIsInR3b2RvdGVubGVhZGVyIiwib25lZG90ZW5sZWFkZXIiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsImZyYWN0aW9uIiwiemVyb29sZHN0eWxlIiwib25lb2xkc3R5bGUiLCJ0d29vbGRzdHlsZSIsInRocmVlb2xkc3R5bGUiLCJmb3Vyb2xkc3R5bGUiLCJmaXZlb2xkc3R5bGUiLCJzaXhvbGRzdHlsZSIsInNldmVub2xkc3R5bGUiLCJlaWdodG9sZHN0eWxlIiwibmluZW9sZHN0eWxlIiwiY29sb24iLCJzZW1pY29sb24iLCJjb21tYXN1cGVyaW9yIiwidGhyZWVxdWFydGVyc2VtZGFzaCIsInBlcmlvZHN1cGVyaW9yIiwicXVlc3Rpb25zbWFsbCIsImFzdXBlcmlvciIsImJzdXBlcmlvciIsImNlbnRzdXBlcmlvciIsImRzdXBlcmlvciIsImVzdXBlcmlvciIsImlzdXBlcmlvciIsImxzdXBlcmlvciIsIm1zdXBlcmlvciIsIm5zdXBlcmlvciIsIm9zdXBlcmlvciIsInJzdXBlcmlvciIsInNzdXBlcmlvciIsInRzdXBlcmlvciIsImZmIiwiZmkiLCJmbCIsImZmaSIsImZmbCIsInBhcmVubGVmdGluZmVyaW9yIiwicGFyZW5yaWdodGluZmVyaW9yIiwiQ2lyY3VtZmxleHNtYWxsIiwiaHlwaGVuc3VwZXJpb3IiLCJHcmF2ZXNtYWxsIiwiQXNtYWxsIiwiQnNtYWxsIiwiQ3NtYWxsIiwiRHNtYWxsIiwiRXNtYWxsIiwiRnNtYWxsIiwiR3NtYWxsIiwiSHNtYWxsIiwiSXNtYWxsIiwiSnNtYWxsIiwiS3NtYWxsIiwiTHNtYWxsIiwiTXNtYWxsIiwiTnNtYWxsIiwiT3NtYWxsIiwiUHNtYWxsIiwiUXNtYWxsIiwiUnNtYWxsIiwiU3NtYWxsIiwiVHNtYWxsIiwiVXNtYWxsIiwiVnNtYWxsIiwiV3NtYWxsIiwiWHNtYWxsIiwiWXNtYWxsIiwiWnNtYWxsIiwiY29sb25tb25ldGFyeSIsIm9uZWZpdHRlZCIsInJ1cGlhaCIsIlRpbGRlc21hbGwiLCJleGNsYW1kb3duc21hbGwiLCJjZW50b2xkc3R5bGUiLCJMc2xhc2hzbWFsbCIsIlNjYXJvbnNtYWxsIiwiWmNhcm9uc21hbGwiLCJEaWVyZXNpc3NtYWxsIiwiQnJldmVzbWFsbCIsIkNhcm9uc21hbGwiLCJEb3RhY2NlbnRzbWFsbCIsIk1hY3JvbnNtYWxsIiwiZmlndXJlZGFzaCIsImh5cGhlbmluZmVyaW9yIiwiT2dvbmVrc21hbGwiLCJSaW5nc21hbGwiLCJDZWRpbGxhc21hbGwiLCJvbmVxdWFydGVyIiwib25laGFsZiIsInRocmVlcXVhcnRlcnMiLCJxdWVzdGlvbmRvd25zbWFsbCIsIm9uZWVpZ2h0aCIsInRocmVlZWlnaHRocyIsImZpdmVlaWdodGhzIiwic2V2ZW5laWdodGhzIiwib25ldGhpcmQiLCJ0d290aGlyZHMiLCJ6ZXJvc3VwZXJpb3IiLCJvbmVzdXBlcmlvciIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsImZvdXJzdXBlcmlvciIsImZpdmVzdXBlcmlvciIsInNpeHN1cGVyaW9yIiwic2V2ZW5zdXBlcmlvciIsImVpZ2h0c3VwZXJpb3IiLCJuaW5lc3VwZXJpb3IiLCJ6ZXJvaW5mZXJpb3IiLCJvbmVpbmZlcmlvciIsInR3b2luZmVyaW9yIiwidGhyZWVpbmZlcmlvciIsImZvdXJpbmZlcmlvciIsImZpdmVpbmZlcmlvciIsInNpeGluZmVyaW9yIiwic2V2ZW5pbmZlcmlvciIsImVpZ2h0aW5mZXJpb3IiLCJuaW5laW5mZXJpb3IiLCJjZW50aW5mZXJpb3IiLCJkb2xsYXJpbmZlcmlvciIsInBlcmlvZGluZmVyaW9yIiwiY29tbWFpbmZlcmlvciIsIkFncmF2ZXNtYWxsIiwiQWFjdXRlc21hbGwiLCJBY2lyY3VtZmxleHNtYWxsIiwiQXRpbGRlc21hbGwiLCJBZGllcmVzaXNzbWFsbCIsIkFyaW5nc21hbGwiLCJBRXNtYWxsIiwiQ2NlZGlsbGFzbWFsbCIsIkVncmF2ZXNtYWxsIiwiRWFjdXRlc21hbGwiLCJFY2lyY3VtZmxleHNtYWxsIiwiRWRpZXJlc2lzc21hbGwiLCJJZ3JhdmVzbWFsbCIsIklhY3V0ZXNtYWxsIiwiSWNpcmN1bWZsZXhzbWFsbCIsIklkaWVyZXNpc3NtYWxsIiwiRXRoc21hbGwiLCJOdGlsZGVzbWFsbCIsIk9ncmF2ZXNtYWxsIiwiT2FjdXRlc21hbGwiLCJPY2lyY3VtZmxleHNtYWxsIiwiT3RpbGRlc21hbGwiLCJPZGllcmVzaXNzbWFsbCIsIk9Fc21hbGwiLCJPc2xhc2hzbWFsbCIsIlVncmF2ZXNtYWxsIiwiVWFjdXRlc21hbGwiLCJVY2lyY3VtZmxleHNtYWxsIiwiVWRpZXJlc2lzc21hbGwiLCJZYWN1dGVzbWFsbCIsIlRob3Juc21hbGwiLCJZZGllcmVzaXNzbWFsbCJdLHVpPVsiLm5vdGRlZiIsInNwYWNlIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwiZnJhY3Rpb24iLCJ6ZXJvb2xkc3R5bGUiLCJvbmVvbGRzdHlsZSIsInR3b29sZHN0eWxlIiwidGhyZWVvbGRzdHlsZSIsImZvdXJvbGRzdHlsZSIsImZpdmVvbGRzdHlsZSIsInNpeG9sZHN0eWxlIiwic2V2ZW5vbGRzdHlsZSIsImVpZ2h0b2xkc3R5bGUiLCJuaW5lb2xkc3R5bGUiLCJjb2xvbiIsInNlbWljb2xvbiIsImNvbW1hc3VwZXJpb3IiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwicGVyaW9kc3VwZXJpb3IiLCJhc3VwZXJpb3IiLCJic3VwZXJpb3IiLCJjZW50c3VwZXJpb3IiLCJkc3VwZXJpb3IiLCJlc3VwZXJpb3IiLCJpc3VwZXJpb3IiLCJsc3VwZXJpb3IiLCJtc3VwZXJpb3IiLCJuc3VwZXJpb3IiLCJvc3VwZXJpb3IiLCJyc3VwZXJpb3IiLCJzc3VwZXJpb3IiLCJ0c3VwZXJpb3IiLCJmZiIsImZpIiwiZmwiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsInBhcmVucmlnaHRpbmZlcmlvciIsImh5cGhlbnN1cGVyaW9yIiwiY29sb25tb25ldGFyeSIsIm9uZWZpdHRlZCIsInJ1cGlhaCIsImNlbnRvbGRzdHlsZSIsImZpZ3VyZWRhc2giLCJoeXBoZW5pbmZlcmlvciIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsIm9uZWVpZ2h0aCIsInRocmVlZWlnaHRocyIsImZpdmVlaWdodGhzIiwic2V2ZW5laWdodGhzIiwib25ldGhpcmQiLCJ0d290aGlyZHMiLCJ6ZXJvc3VwZXJpb3IiLCJvbmVzdXBlcmlvciIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsImZvdXJzdXBlcmlvciIsImZpdmVzdXBlcmlvciIsInNpeHN1cGVyaW9yIiwic2V2ZW5zdXBlcmlvciIsImVpZ2h0c3VwZXJpb3IiLCJuaW5lc3VwZXJpb3IiLCJ6ZXJvaW5mZXJpb3IiLCJvbmVpbmZlcmlvciIsInR3b2luZmVyaW9yIiwidGhyZWVpbmZlcmlvciIsImZvdXJpbmZlcmlvciIsImZpdmVpbmZlcmlvciIsInNpeGluZmVyaW9yIiwic2V2ZW5pbmZlcmlvciIsImVpZ2h0aW5mZXJpb3IiLCJuaW5laW5mZXJpb3IiLCJjZW50aW5mZXJpb3IiLCJkb2xsYXJpbmZlcmlvciIsInBlcmlvZGluZmVyaW9yIiwiY29tbWFpbmZlcmlvciJdLGRpPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwiZnJhY3Rpb24iLCJ6ZXJvb2xkc3R5bGUiLCJvbmVvbGRzdHlsZSIsInR3b29sZHN0eWxlIiwidGhyZWVvbGRzdHlsZSIsImZvdXJvbGRzdHlsZSIsImZpdmVvbGRzdHlsZSIsInNpeG9sZHN0eWxlIiwic2V2ZW5vbGRzdHlsZSIsImVpZ2h0b2xkc3R5bGUiLCJuaW5lb2xkc3R5bGUiLCJjb2xvbiIsInNlbWljb2xvbiIsImNvbW1hc3VwZXJpb3IiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwicGVyaW9kc3VwZXJpb3IiLCJxdWVzdGlvbnNtYWxsIiwiIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiIiwiIiwiIiwiaXN1cGVyaW9yIiwiIiwiIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwiIiwiIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiIiwiZmYiLCJmaSIsImZsIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCIiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJDaXJjdW1mbGV4c21hbGwiLCJoeXBoZW5zdXBlcmlvciIsIkdyYXZlc21hbGwiLCJBc21hbGwiLCJCc21hbGwiLCJDc21hbGwiLCJEc21hbGwiLCJFc21hbGwiLCJGc21hbGwiLCJHc21hbGwiLCJIc21hbGwiLCJJc21hbGwiLCJKc21hbGwiLCJLc21hbGwiLCJMc21hbGwiLCJNc21hbGwiLCJOc21hbGwiLCJPc21hbGwiLCJQc21hbGwiLCJRc21hbGwiLCJSc21hbGwiLCJTc21hbGwiLCJUc21hbGwiLCJVc21hbGwiLCJWc21hbGwiLCJXc21hbGwiLCJYc21hbGwiLCJZc21hbGwiLCJac21hbGwiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiVGlsZGVzbWFsbCIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsImV4Y2xhbWRvd25zbWFsbCIsImNlbnRvbGRzdHlsZSIsIkxzbGFzaHNtYWxsIiwiIiwiIiwiU2Nhcm9uc21hbGwiLCJaY2Fyb25zbWFsbCIsIkRpZXJlc2lzc21hbGwiLCJCcmV2ZXNtYWxsIiwiQ2Fyb25zbWFsbCIsIiIsIkRvdGFjY2VudHNtYWxsIiwiIiwiIiwiTWFjcm9uc21hbGwiLCIiLCIiLCJmaWd1cmVkYXNoIiwiaHlwaGVuaW5mZXJpb3IiLCIiLCIiLCJPZ29uZWtzbWFsbCIsIlJpbmdzbWFsbCIsIkNlZGlsbGFzbWFsbCIsIiIsIiIsIiIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsInF1ZXN0aW9uZG93bnNtYWxsIiwib25lZWlnaHRoIiwidGhyZWVlaWdodGhzIiwiZml2ZWVpZ2h0aHMiLCJzZXZlbmVpZ2h0aHMiLCJvbmV0aGlyZCIsInR3b3RoaXJkcyIsIiIsIiIsInplcm9zdXBlcmlvciIsIm9uZXN1cGVyaW9yIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIiwiQWdyYXZlc21hbGwiLCJBYWN1dGVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBdGlsZGVzbWFsbCIsIkFkaWVyZXNpc3NtYWxsIiwiQXJpbmdzbWFsbCIsIkFFc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWdyYXZlc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklncmF2ZXNtYWxsIiwiSWFjdXRlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJFdGhzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPYWN1dGVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPdGlsZGVzbWFsbCIsIk9kaWVyZXNpc3NtYWxsIiwiT0VzbWFsbCIsIk9zbGFzaHNtYWxsIiwiVWdyYXZlc21hbGwiLCJVYWN1dGVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIllhY3V0ZXNtYWxsIiwiVGhvcm5zbWFsbCIsIllkaWVyZXNpc3NtYWxsIl0sZmk9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbXNtYWxsIiwiSHVuZ2FydW1sYXV0c21hbGwiLCJjZW50b2xkc3R5bGUiLCJkb2xsYXJvbGRzdHlsZSIsImRvbGxhcnN1cGVyaW9yIiwiYW1wZXJzYW5kc21hbGwiLCJBY3V0ZXNtYWxsIiwicGFyZW5sZWZ0c3VwZXJpb3IiLCJwYXJlbnJpZ2h0c3VwZXJpb3IiLCJ0d29kb3RlbmxlYWRlciIsIm9uZWRvdGVubGVhZGVyIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJmcmFjdGlvbiIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbG9uIiwic2VtaWNvbG9uIiwiIiwidGhyZWVxdWFydGVyc2VtZGFzaCIsIiIsInF1ZXN0aW9uc21hbGwiLCIiLCIiLCIiLCIiLCJFdGhzbWFsbCIsIiIsIiIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsIm9uZWVpZ2h0aCIsInRocmVlZWlnaHRocyIsImZpdmVlaWdodGhzIiwic2V2ZW5laWdodGhzIiwib25ldGhpcmQiLCJ0d290aGlyZHMiLCIiLCIiLCIiLCIiLCIiLCIiLCJmZiIsImZpIiwiZmwiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsIiIsInBhcmVucmlnaHRpbmZlcmlvciIsIkNpcmN1bWZsZXhzbWFsbCIsImh5cGhlbmluZmVyaW9yIiwiR3JhdmVzbWFsbCIsIkFzbWFsbCIsIkJzbWFsbCIsIkNzbWFsbCIsIkRzbWFsbCIsIkVzbWFsbCIsIkZzbWFsbCIsIkdzbWFsbCIsIkhzbWFsbCIsIklzbWFsbCIsIkpzbWFsbCIsIktzbWFsbCIsIkxzbWFsbCIsIk1zbWFsbCIsIk5zbWFsbCIsIk9zbWFsbCIsIlBzbWFsbCIsIlFzbWFsbCIsIlJzbWFsbCIsIlNzbWFsbCIsIlRzbWFsbCIsIlVzbWFsbCIsIlZzbWFsbCIsIldzbWFsbCIsIlhzbWFsbCIsIllzbWFsbCIsIlpzbWFsbCIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJUaWxkZXNtYWxsIiwiIiwiIiwiYXN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiIiwiIiwiIiwiIiwiQWFjdXRlc21hbGwiLCJBZ3JhdmVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBZGllcmVzaXNzbWFsbCIsIkF0aWxkZXNtYWxsIiwiQXJpbmdzbWFsbCIsIkNjZWRpbGxhc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVncmF2ZXNtYWxsIiwiRWNpcmN1bWZsZXhzbWFsbCIsIkVkaWVyZXNpc3NtYWxsIiwiSWFjdXRlc21hbGwiLCJJZ3JhdmVzbWFsbCIsIkljaXJjdW1mbGV4c21hbGwiLCJJZGllcmVzaXNzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2FjdXRlc21hbGwiLCJPZ3JhdmVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPZGllcmVzaXNzbWFsbCIsIk90aWxkZXNtYWxsIiwiVWFjdXRlc21hbGwiLCJVZ3JhdmVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIiIsImVpZ2h0c3VwZXJpb3IiLCJmb3VyaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJlaWdodGluZmVyaW9yIiwic2V2ZW5pbmZlcmlvciIsIlNjYXJvbnNtYWxsIiwiIiwiY2VudGluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCIiLCJEaWVyZXNpc3NtYWxsIiwiIiwiQ2Fyb25zbWFsbCIsIm9zdXBlcmlvciIsImZpdmVpbmZlcmlvciIsIiIsImNvbW1haW5mZXJpb3IiLCJwZXJpb2RpbmZlcmlvciIsIllhY3V0ZXNtYWxsIiwiIiwiZG9sbGFyaW5mZXJpb3IiLCIiLCIiLCJUaG9ybnNtYWxsIiwiIiwibmluZWluZmVyaW9yIiwiemVyb2luZmVyaW9yIiwiWmNhcm9uc21hbGwiLCJBRXNtYWxsIiwiT3NsYXNoc21hbGwiLCJxdWVzdGlvbmRvd25zbWFsbCIsIm9uZWluZmVyaW9yIiwiTHNsYXNoc21hbGwiLCIiLCIiLCIiLCIiLCIiLCIiLCJDZWRpbGxhc21hbGwiLCIiLCIiLCIiLCIiLCIiLCJPRXNtYWxsIiwiZmlndXJlZGFzaCIsImh5cGhlbnN1cGVyaW9yIiwiIiwiIiwiIiwiIiwiZXhjbGFtZG93bnNtYWxsIiwiIiwiWWRpZXJlc2lzc21hbGwiLCIiLCJvbmVzdXBlcmlvciIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsImZvdXJzdXBlcmlvciIsImZpdmVzdXBlcmlvciIsInNpeHN1cGVyaW9yIiwic2V2ZW5zdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9zdXBlcmlvciIsIiIsImVzdXBlcmlvciIsInJzdXBlcmlvciIsInRzdXBlcmlvciIsIiIsIiIsImlzdXBlcmlvciIsInNzdXBlcmlvciIsImRzdXBlcmlvciIsIiIsIiIsIiIsIiIsIiIsImxzdXBlcmlvciIsIk9nb25la3NtYWxsIiwiQnJldmVzbWFsbCIsIk1hY3JvbnNtYWxsIiwiYnN1cGVyaW9yIiwibnN1cGVyaW9yIiwibXN1cGVyaW9yIiwiY29tbWFzdXBlcmlvciIsInBlcmlvZHN1cGVyaW9yIiwiRG90YWNjZW50c21hbGwiLCJSaW5nc21hbGwiLCIiLCIiLCIiLCIiXSxwaT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3Rlc2luZ2xlIiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrIiwicGx1cyIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJhdCIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYnJhY2tldGxlZnQiLCJiYWNrc2xhc2giLCJicmFja2V0cmlnaHQiLCJhc2NpaWNpcmN1bSIsInVuZGVyc2NvcmUiLCJncmF2ZSIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCIiLCJBZGllcmVzaXMiLCJBcmluZyIsIkNjZWRpbGxhIiwiRWFjdXRlIiwiTnRpbGRlIiwiT2RpZXJlc2lzIiwiVWRpZXJlc2lzIiwiYWFjdXRlIiwiYWdyYXZlIiwiYWNpcmN1bWZsZXgiLCJhZGllcmVzaXMiLCJhdGlsZGUiLCJhcmluZyIsImNjZWRpbGxhIiwiZWFjdXRlIiwiZWdyYXZlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJpYWN1dGUiLCJpZ3JhdmUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsIm50aWxkZSIsIm9hY3V0ZSIsIm9ncmF2ZSIsIm9jaXJjdW1mbGV4Iiwib2RpZXJlc2lzIiwib3RpbGRlIiwidWFjdXRlIiwidWdyYXZlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJkYWdnZXIiLCJkZWdyZWUiLCJjZW50Iiwic3RlcmxpbmciLCJzZWN0aW9uIiwiYnVsbGV0IiwicGFyYWdyYXBoIiwiZ2VybWFuZGJscyIsInJlZ2lzdGVyZWQiLCJjb3B5cmlnaHQiLCJ0cmFkZW1hcmsiLCJhY3V0ZSIsImRpZXJlc2lzIiwibm90ZXF1YWwiLCJBRSIsIk9zbGFzaCIsImluZmluaXR5IiwicGx1c21pbnVzIiwibGVzc2VxdWFsIiwiZ3JlYXRlcmVxdWFsIiwieWVuIiwibXUiLCJwYXJ0aWFsZGlmZiIsInN1bW1hdGlvbiIsInByb2R1Y3QiLCJwaSIsImludGVncmFsIiwib3JkZmVtaW5pbmUiLCJvcmRtYXNjdWxpbmUiLCJPbWVnYSIsImFlIiwib3NsYXNoIiwicXVlc3Rpb25kb3duIiwiZXhjbGFtZG93biIsImxvZ2ljYWxub3QiLCJyYWRpY2FsIiwiZmxvcmluIiwiYXBwcm94ZXF1YWwiLCJEZWx0YSIsImd1aWxsZW1vdGxlZnQiLCJndWlsbGVtb3RyaWdodCIsImVsbGlwc2lzIiwic3BhY2UiLCJBZ3JhdmUiLCJBdGlsZGUiLCJPdGlsZGUiLCJPRSIsIm9lIiwiZW5kYXNoIiwiZW1kYXNoIiwicXVvdGVkYmxsZWZ0IiwicXVvdGVkYmxyaWdodCIsInF1b3RlbGVmdCIsInF1b3RlcmlnaHQiLCJkaXZpZGUiLCJsb3plbmdlIiwieWRpZXJlc2lzIiwiWWRpZXJlc2lzIiwiZnJhY3Rpb24iLCJjdXJyZW5jeSIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicGVydGhvdXNhbmQiLCJBY2lyY3VtZmxleCIsIkVjaXJjdW1mbGV4IiwiQWFjdXRlIiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsImFwcGxlIiwiT2dyYXZlIiwiVWFjdXRlIiwiVWNpcmN1bWZsZXgiLCJVZ3JhdmUiLCJkb3RsZXNzaSIsImNpcmN1bWZsZXgiLCJ0aWxkZSIsIm1hY3JvbiIsImJyZXZlIiwiZG90YWNjZW50IiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiJdLG1pPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVyaWdodCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwicXVvdGVsZWZ0IiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsImV4Y2xhbWRvd24iLCJjZW50Iiwic3RlcmxpbmciLCJmcmFjdGlvbiIsInllbiIsImZsb3JpbiIsInNlY3Rpb24iLCJjdXJyZW5jeSIsInF1b3Rlc2luZ2xlIiwicXVvdGVkYmxsZWZ0IiwiZ3VpbGxlbW90bGVmdCIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCIiLCJlbmRhc2giLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsIiIsInBhcmFncmFwaCIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicXVvdGVkYmxyaWdodCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJwZXJ0aG91c2FuZCIsIiIsInF1ZXN0aW9uZG93biIsIiIsImdyYXZlIiwiYWN1dGUiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsImRpZXJlc2lzIiwiIiwicmluZyIsImNlZGlsbGEiLCIiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsImVtZGFzaCIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIkFFIiwiIiwib3JkZmVtaW5pbmUiLCIiLCIiLCIiLCIiLCJMc2xhc2giLCJPc2xhc2giLCJPRSIsIm9yZG1hc2N1bGluZSIsIiIsIiIsIiIsIiIsIiIsImFlIiwiIiwiIiwiIiwiZG90bGVzc2kiLCIiLCIiLCJsc2xhc2giLCJvc2xhc2giLCJvZSIsImdlcm1hbmRibHMiLCIiLCIiLCIiLCIiXSx5aT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3Rlc2luZ2xlIiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrIiwicGx1cyIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJhdCIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYnJhY2tldGxlZnQiLCJiYWNrc2xhc2giLCJicmFja2V0cmlnaHQiLCJhc2NpaWNpcmN1bSIsInVuZGVyc2NvcmUiLCJncmF2ZSIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCJidWxsZXQiLCJFdXJvIiwiYnVsbGV0IiwicXVvdGVzaW5nbGJhc2UiLCJmbG9yaW4iLCJxdW90ZWRibGJhc2UiLCJlbGxpcHNpcyIsImRhZ2dlciIsImRhZ2dlcmRibCIsImNpcmN1bWZsZXgiLCJwZXJ0aG91c2FuZCIsIlNjYXJvbiIsImd1aWxzaW5nbGxlZnQiLCJPRSIsImJ1bGxldCIsIlpjYXJvbiIsImJ1bGxldCIsImJ1bGxldCIsInF1b3RlbGVmdCIsInF1b3RlcmlnaHQiLCJxdW90ZWRibGxlZnQiLCJxdW90ZWRibHJpZ2h0IiwiYnVsbGV0IiwiZW5kYXNoIiwiZW1kYXNoIiwidGlsZGUiLCJ0cmFkZW1hcmsiLCJzY2Fyb24iLCJndWlsc2luZ2xyaWdodCIsIm9lIiwiYnVsbGV0IiwiemNhcm9uIiwiWWRpZXJlc2lzIiwic3BhY2UiLCJleGNsYW1kb3duIiwiY2VudCIsInN0ZXJsaW5nIiwiY3VycmVuY3kiLCJ5ZW4iLCJicm9rZW5iYXIiLCJzZWN0aW9uIiwiZGllcmVzaXMiLCJjb3B5cmlnaHQiLCJvcmRmZW1pbmluZSIsImd1aWxsZW1vdGxlZnQiLCJsb2dpY2Fsbm90IiwiaHlwaGVuIiwicmVnaXN0ZXJlZCIsIm1hY3JvbiIsImRlZ3JlZSIsInBsdXNtaW51cyIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsImFjdXRlIiwibXUiLCJwYXJhZ3JhcGgiLCJwZXJpb2RjZW50ZXJlZCIsImNlZGlsbGEiLCJvbmVzdXBlcmlvciIsIm9yZG1hc2N1bGluZSIsImd1aWxsZW1vdHJpZ2h0Iiwib25lcXVhcnRlciIsIm9uZWhhbGYiLCJ0aHJlZXF1YXJ0ZXJzIiwicXVlc3Rpb25kb3duIiwiQWdyYXZlIiwiQWFjdXRlIiwiQWNpcmN1bWZsZXgiLCJBdGlsZGUiLCJBZGllcmVzaXMiLCJBcmluZyIsIkFFIiwiQ2NlZGlsbGEiLCJFZ3JhdmUiLCJFYWN1dGUiLCJFY2lyY3VtZmxleCIsIkVkaWVyZXNpcyIsIklncmF2ZSIsIklhY3V0ZSIsIkljaXJjdW1mbGV4IiwiSWRpZXJlc2lzIiwiRXRoIiwiTnRpbGRlIiwiT2dyYXZlIiwiT2FjdXRlIiwiT2NpcmN1bWZsZXgiLCJPdGlsZGUiLCJPZGllcmVzaXMiLCJtdWx0aXBseSIsIk9zbGFzaCIsIlVncmF2ZSIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWRpZXJlc2lzIiwiWWFjdXRlIiwiVGhvcm4iLCJnZXJtYW5kYmxzIiwiYWdyYXZlIiwiYWFjdXRlIiwiYWNpcmN1bWZsZXgiLCJhdGlsZGUiLCJhZGllcmVzaXMiLCJhcmluZyIsImFlIiwiY2NlZGlsbGEiLCJlZ3JhdmUiLCJlYWN1dGUiLCJlY2lyY3VtZmxleCIsImVkaWVyZXNpcyIsImlncmF2ZSIsImlhY3V0ZSIsImljaXJjdW1mbGV4IiwiaWRpZXJlc2lzIiwiZXRoIiwibnRpbGRlIiwib2dyYXZlIiwib2FjdXRlIiwib2NpcmN1bWZsZXgiLCJvdGlsZGUiLCJvZGllcmVzaXMiLCJkaXZpZGUiLCJvc2xhc2giLCJ1Z3JhdmUiLCJ1YWN1dGUiLCJ1Y2lyY3VtZmxleCIsInVkaWVyZXNpcyIsInlhY3V0ZSIsInRob3JuIiwieWRpZXJlc2lzIl0sd2k9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbSIsInVuaXZlcnNhbCIsIm51bWJlcnNpZ24iLCJleGlzdGVudGlhbCIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJzdWNodGhhdCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3Rlcmlza21hdGgiLCJwbHVzIiwiY29tbWEiLCJtaW51cyIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiY29uZ3J1ZW50IiwiQWxwaGEiLCJCZXRhIiwiQ2hpIiwiRGVsdGEiLCJFcHNpbG9uIiwiUGhpIiwiR2FtbWEiLCJFdGEiLCJJb3RhIiwidGhldGExIiwiS2FwcGEiLCJMYW1iZGEiLCJNdSIsIk51IiwiT21pY3JvbiIsIlBpIiwiVGhldGEiLCJSaG8iLCJTaWdtYSIsIlRhdSIsIlVwc2lsb24iLCJzaWdtYTEiLCJPbWVnYSIsIlhpIiwiUHNpIiwiWmV0YSIsImJyYWNrZXRsZWZ0IiwidGhlcmVmb3JlIiwiYnJhY2tldHJpZ2h0IiwicGVycGVuZGljdWxhciIsInVuZGVyc2NvcmUiLCJyYWRpY2FsZXgiLCJhbHBoYSIsImJldGEiLCJjaGkiLCJkZWx0YSIsImVwc2lsb24iLCJwaGkiLCJnYW1tYSIsImV0YSIsImlvdGEiLCJwaGkxIiwia2FwcGEiLCJsYW1iZGEiLCJtdSIsIm51Iiwib21pY3JvbiIsInBpIiwidGhldGEiLCJyaG8iLCJzaWdtYSIsInRhdSIsInVwc2lsb24iLCJvbWVnYTEiLCJvbWVnYSIsInhpIiwicHNpIiwiemV0YSIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJzaW1pbGFyIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiRXVybyIsIlVwc2lsb24xIiwibWludXRlIiwibGVzc2VxdWFsIiwiZnJhY3Rpb24iLCJpbmZpbml0eSIsImZsb3JpbiIsImNsdWIiLCJkaWFtb25kIiwiaGVhcnQiLCJzcGFkZSIsImFycm93Ym90aCIsImFycm93bGVmdCIsImFycm93dXAiLCJhcnJvd3JpZ2h0IiwiYXJyb3dkb3duIiwiZGVncmVlIiwicGx1c21pbnVzIiwic2Vjb25kIiwiZ3JlYXRlcmVxdWFsIiwibXVsdGlwbHkiLCJwcm9wb3J0aW9uYWwiLCJwYXJ0aWFsZGlmZiIsImJ1bGxldCIsImRpdmlkZSIsIm5vdGVxdWFsIiwiZXF1aXZhbGVuY2UiLCJhcHByb3hlcXVhbCIsImVsbGlwc2lzIiwiYXJyb3d2ZXJ0ZXgiLCJhcnJvd2hvcml6ZXgiLCJjYXJyaWFnZXJldHVybiIsImFsZXBoIiwiSWZyYWt0dXIiLCJSZnJha3R1ciIsIndlaWVyc3RyYXNzIiwiY2lyY2xlbXVsdGlwbHkiLCJjaXJjbGVwbHVzIiwiZW1wdHlzZXQiLCJpbnRlcnNlY3Rpb24iLCJ1bmlvbiIsInByb3BlcnN1cGVyc2V0IiwicmVmbGV4c3VwZXJzZXQiLCJub3RzdWJzZXQiLCJwcm9wZXJzdWJzZXQiLCJyZWZsZXhzdWJzZXQiLCJlbGVtZW50Iiwibm90ZWxlbWVudCIsImFuZ2xlIiwiZ3JhZGllbnQiLCJyZWdpc3RlcnNlcmlmIiwiY29weXJpZ2h0c2VyaWYiLCJ0cmFkZW1hcmtzZXJpZiIsInByb2R1Y3QiLCJyYWRpY2FsIiwiZG90bWF0aCIsImxvZ2ljYWxub3QiLCJsb2dpY2FsYW5kIiwibG9naWNhbG9yIiwiYXJyb3dkYmxib3RoIiwiYXJyb3dkYmxsZWZ0IiwiYXJyb3dkYmx1cCIsImFycm93ZGJscmlnaHQiLCJhcnJvd2RibGRvd24iLCJsb3plbmdlIiwiYW5nbGVsZWZ0IiwicmVnaXN0ZXJzYW5zIiwiY29weXJpZ2h0c2FucyIsInRyYWRlbWFya3NhbnMiLCJzdW1tYXRpb24iLCJwYXJlbmxlZnR0cCIsInBhcmVubGVmdGV4IiwicGFyZW5sZWZ0YnQiLCJicmFja2V0bGVmdHRwIiwiYnJhY2tldGxlZnRleCIsImJyYWNrZXRsZWZ0YnQiLCJicmFjZWxlZnR0cCIsImJyYWNlbGVmdG1pZCIsImJyYWNlbGVmdGJ0IiwiYnJhY2VleCIsIiIsImFuZ2xlcmlnaHQiLCJpbnRlZ3JhbCIsImludGVncmFsdHAiLCJpbnRlZ3JhbGV4IiwiaW50ZWdyYWxidCIsInBhcmVucmlnaHR0cCIsInBhcmVucmlnaHRleCIsInBhcmVucmlnaHRidCIsImJyYWNrZXRyaWdodHRwIiwiYnJhY2tldHJpZ2h0ZXgiLCJicmFja2V0cmlnaHRidCIsImJyYWNlcmlnaHR0cCIsImJyYWNlcmlnaHRtaWQiLCJicmFjZXJpZ2h0YnQiLCIiXSxEaT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiYTEiLCJhMiIsImEyMDIiLCJhMyIsImE0IiwiYTUiLCJhMTE5IiwiYTExOCIsImExMTciLCJhMTEiLCJhMTIiLCJhMTMiLCJhMTQiLCJhMTUiLCJhMTYiLCJhMTA1IiwiYTE3IiwiYTE4IiwiYTE5IiwiYTIwIiwiYTIxIiwiYTIyIiwiYTIzIiwiYTI0IiwiYTI1IiwiYTI2IiwiYTI3IiwiYTI4IiwiYTYiLCJhNyIsImE4IiwiYTkiLCJhMTAiLCJhMjkiLCJhMzAiLCJhMzEiLCJhMzIiLCJhMzMiLCJhMzQiLCJhMzUiLCJhMzYiLCJhMzciLCJhMzgiLCJhMzkiLCJhNDAiLCJhNDEiLCJhNDIiLCJhNDMiLCJhNDQiLCJhNDUiLCJhNDYiLCJhNDciLCJhNDgiLCJhNDkiLCJhNTAiLCJhNTEiLCJhNTIiLCJhNTMiLCJhNTQiLCJhNTUiLCJhNTYiLCJhNTciLCJhNTgiLCJhNTkiLCJhNjAiLCJhNjEiLCJhNjIiLCJhNjMiLCJhNjQiLCJhNjUiLCJhNjYiLCJhNjciLCJhNjgiLCJhNjkiLCJhNzAiLCJhNzEiLCJhNzIiLCJhNzMiLCJhNzQiLCJhMjAzIiwiYTc1IiwiYTIwNCIsImE3NiIsImE3NyIsImE3OCIsImE3OSIsImE4MSIsImE4MiIsImE4MyIsImE4NCIsImE5NyIsImE5OCIsImE5OSIsImExMDAiLCIiLCJhODkiLCJhOTAiLCJhOTMiLCJhOTQiLCJhOTEiLCJhOTIiLCJhMjA1IiwiYTg1IiwiYTIwNiIsImE4NiIsImE4NyIsImE4OCIsImE5NSIsImE5NiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsImExMDEiLCJhMTAyIiwiYTEwMyIsImExMDQiLCJhMTA2IiwiYTEwNyIsImExMDgiLCJhMTEyIiwiYTExMSIsImExMTAiLCJhMTA5IiwiYTEyMCIsImExMjEiLCJhMTIyIiwiYTEyMyIsImExMjQiLCJhMTI1IiwiYTEyNiIsImExMjciLCJhMTI4IiwiYTEyOSIsImExMzAiLCJhMTMxIiwiYTEzMiIsImExMzMiLCJhMTM0IiwiYTEzNSIsImExMzYiLCJhMTM3IiwiYTEzOCIsImExMzkiLCJhMTQwIiwiYTE0MSIsImExNDIiLCJhMTQzIiwiYTE0NCIsImExNDUiLCJhMTQ2IiwiYTE0NyIsImExNDgiLCJhMTQ5IiwiYTE1MCIsImExNTEiLCJhMTUyIiwiYTE1MyIsImExNTQiLCJhMTU1IiwiYTE1NiIsImExNTciLCJhMTU4IiwiYTE1OSIsImExNjAiLCJhMTYxIiwiYTE2MyIsImExNjQiLCJhMTk2IiwiYTE2NSIsImExOTIiLCJhMTY2IiwiYTE2NyIsImExNjgiLCJhMTY5IiwiYTE3MCIsImExNzEiLCJhMTcyIiwiYTE3MyIsImExNjIiLCJhMTc0IiwiYTE3NSIsImExNzYiLCJhMTc3IiwiYTE3OCIsImExNzkiLCJhMTkzIiwiYTE4MCIsImExOTkiLCJhMTgxIiwiYTIwMCIsImExODIiLCIiLCJhMjAxIiwiYTE4MyIsImExODQiLCJhMTk3IiwiYTE4NSIsImExOTQiLCJhMTk4IiwiYTE4NiIsImExOTUiLCJhMTg3IiwiYTE4OCIsImExODkiLCJhMTkwIiwiYTE5MSIsIiJdO2Z1bmN0aW9uIGdldEVuY29kaW5nKGUpe3N3aXRjaChlKXtjYXNlIldpbkFuc2lFbmNvZGluZyI6cmV0dXJuIHlpO2Nhc2UiU3RhbmRhcmRFbmNvZGluZyI6cmV0dXJuIG1pO2Nhc2UiTWFjUm9tYW5FbmNvZGluZyI6cmV0dXJuIHBpO2Nhc2UiU3ltYm9sU2V0RW5jb2RpbmciOnJldHVybiB3aTtjYXNlIlphcGZEaW5nYmF0c0VuY29kaW5nIjpyZXR1cm4gRGk7Y2FzZSJFeHBlcnRFbmNvZGluZyI6cmV0dXJuIGRpO2Nhc2UiTWFjRXhwZXJ0RW5jb2RpbmciOnJldHVybiBmaTtkZWZhdWx0OnJldHVybiBudWxsfX1jb25zdCBiaT1bIi5ub3RkZWYiLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXJpZ2h0IiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrIiwicGx1cyIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJhdCIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYnJhY2tldGxlZnQiLCJiYWNrc2xhc2giLCJicmFja2V0cmlnaHQiLCJhc2NpaWNpcmN1bSIsInVuZGVyc2NvcmUiLCJxdW90ZWxlZnQiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiZXhjbGFtZG93biIsImNlbnQiLCJzdGVybGluZyIsImZyYWN0aW9uIiwieWVuIiwiZmxvcmluIiwic2VjdGlvbiIsImN1cnJlbmN5IiwicXVvdGVzaW5nbGUiLCJxdW90ZWRibGxlZnQiLCJndWlsbGVtb3RsZWZ0IiwiZ3VpbHNpbmdsbGVmdCIsImd1aWxzaW5nbHJpZ2h0IiwiZmkiLCJmbCIsImVuZGFzaCIsImRhZ2dlciIsImRhZ2dlcmRibCIsInBlcmlvZGNlbnRlcmVkIiwicGFyYWdyYXBoIiwiYnVsbGV0IiwicXVvdGVzaW5nbGJhc2UiLCJxdW90ZWRibGJhc2UiLCJxdW90ZWRibHJpZ2h0IiwiZ3VpbGxlbW90cmlnaHQiLCJlbGxpcHNpcyIsInBlcnRob3VzYW5kIiwicXVlc3Rpb25kb3duIiwiZ3JhdmUiLCJhY3V0ZSIsImNpcmN1bWZsZXgiLCJ0aWxkZSIsIm1hY3JvbiIsImJyZXZlIiwiZG90YWNjZW50IiwiZGllcmVzaXMiLCJyaW5nIiwiY2VkaWxsYSIsImh1bmdhcnVtbGF1dCIsIm9nb25layIsImNhcm9uIiwiZW1kYXNoIiwiQUUiLCJvcmRmZW1pbmluZSIsIkxzbGFzaCIsIk9zbGFzaCIsIk9FIiwib3JkbWFzY3VsaW5lIiwiYWUiLCJkb3RsZXNzaSIsImxzbGFzaCIsIm9zbGFzaCIsIm9lIiwiZ2VybWFuZGJscyIsIm9uZXN1cGVyaW9yIiwibG9naWNhbG5vdCIsIm11IiwidHJhZGVtYXJrIiwiRXRoIiwib25laGFsZiIsInBsdXNtaW51cyIsIlRob3JuIiwib25lcXVhcnRlciIsImRpdmlkZSIsImJyb2tlbmJhciIsImRlZ3JlZSIsInRob3JuIiwidGhyZWVxdWFydGVycyIsInR3b3N1cGVyaW9yIiwicmVnaXN0ZXJlZCIsIm1pbnVzIiwiZXRoIiwibXVsdGlwbHkiLCJ0aHJlZXN1cGVyaW9yIiwiY29weXJpZ2h0IiwiQWFjdXRlIiwiQWNpcmN1bWZsZXgiLCJBZGllcmVzaXMiLCJBZ3JhdmUiLCJBcmluZyIsIkF0aWxkZSIsIkNjZWRpbGxhIiwiRWFjdXRlIiwiRWNpcmN1bWZsZXgiLCJFZGllcmVzaXMiLCJFZ3JhdmUiLCJJYWN1dGUiLCJJY2lyY3VtZmxleCIsIklkaWVyZXNpcyIsIklncmF2ZSIsIk50aWxkZSIsIk9hY3V0ZSIsIk9jaXJjdW1mbGV4IiwiT2RpZXJlc2lzIiwiT2dyYXZlIiwiT3RpbGRlIiwiU2Nhcm9uIiwiVWFjdXRlIiwiVWNpcmN1bWZsZXgiLCJVZGllcmVzaXMiLCJVZ3JhdmUiLCJZYWN1dGUiLCJZZGllcmVzaXMiLCJaY2Fyb24iLCJhYWN1dGUiLCJhY2lyY3VtZmxleCIsImFkaWVyZXNpcyIsImFncmF2ZSIsImFyaW5nIiwiYXRpbGRlIiwiY2NlZGlsbGEiLCJlYWN1dGUiLCJlY2lyY3VtZmxleCIsImVkaWVyZXNpcyIsImVncmF2ZSIsImlhY3V0ZSIsImljaXJjdW1mbGV4IiwiaWRpZXJlc2lzIiwiaWdyYXZlIiwibnRpbGRlIiwib2FjdXRlIiwib2NpcmN1bWZsZXgiLCJvZGllcmVzaXMiLCJvZ3JhdmUiLCJvdGlsZGUiLCJzY2Fyb24iLCJ1YWN1dGUiLCJ1Y2lyY3VtZmxleCIsInVkaWVyZXNpcyIsInVncmF2ZSIsInlhY3V0ZSIsInlkaWVyZXNpcyIsInpjYXJvbiIsImV4Y2xhbXNtYWxsIiwiSHVuZ2FydW1sYXV0c21hbGwiLCJkb2xsYXJvbGRzdHlsZSIsImRvbGxhcnN1cGVyaW9yIiwiYW1wZXJzYW5kc21hbGwiLCJBY3V0ZXNtYWxsIiwicGFyZW5sZWZ0c3VwZXJpb3IiLCJwYXJlbnJpZ2h0c3VwZXJpb3IiLCJ0d29kb3RlbmxlYWRlciIsIm9uZWRvdGVubGVhZGVyIiwiemVyb29sZHN0eWxlIiwib25lb2xkc3R5bGUiLCJ0d29vbGRzdHlsZSIsInRocmVlb2xkc3R5bGUiLCJmb3Vyb2xkc3R5bGUiLCJmaXZlb2xkc3R5bGUiLCJzaXhvbGRzdHlsZSIsInNldmVub2xkc3R5bGUiLCJlaWdodG9sZHN0eWxlIiwibmluZW9sZHN0eWxlIiwiY29tbWFzdXBlcmlvciIsInRocmVlcXVhcnRlcnNlbWRhc2giLCJwZXJpb2RzdXBlcmlvciIsInF1ZXN0aW9uc21hbGwiLCJhc3VwZXJpb3IiLCJic3VwZXJpb3IiLCJjZW50c3VwZXJpb3IiLCJkc3VwZXJpb3IiLCJlc3VwZXJpb3IiLCJpc3VwZXJpb3IiLCJsc3VwZXJpb3IiLCJtc3VwZXJpb3IiLCJuc3VwZXJpb3IiLCJvc3VwZXJpb3IiLCJyc3VwZXJpb3IiLCJzc3VwZXJpb3IiLCJ0c3VwZXJpb3IiLCJmZiIsImZmaSIsImZmbCIsInBhcmVubGVmdGluZmVyaW9yIiwicGFyZW5yaWdodGluZmVyaW9yIiwiQ2lyY3VtZmxleHNtYWxsIiwiaHlwaGVuc3VwZXJpb3IiLCJHcmF2ZXNtYWxsIiwiQXNtYWxsIiwiQnNtYWxsIiwiQ3NtYWxsIiwiRHNtYWxsIiwiRXNtYWxsIiwiRnNtYWxsIiwiR3NtYWxsIiwiSHNtYWxsIiwiSXNtYWxsIiwiSnNtYWxsIiwiS3NtYWxsIiwiTHNtYWxsIiwiTXNtYWxsIiwiTnNtYWxsIiwiT3NtYWxsIiwiUHNtYWxsIiwiUXNtYWxsIiwiUnNtYWxsIiwiU3NtYWxsIiwiVHNtYWxsIiwiVXNtYWxsIiwiVnNtYWxsIiwiV3NtYWxsIiwiWHNtYWxsIiwiWXNtYWxsIiwiWnNtYWxsIiwiY29sb25tb25ldGFyeSIsIm9uZWZpdHRlZCIsInJ1cGlhaCIsIlRpbGRlc21hbGwiLCJleGNsYW1kb3duc21hbGwiLCJjZW50b2xkc3R5bGUiLCJMc2xhc2hzbWFsbCIsIlNjYXJvbnNtYWxsIiwiWmNhcm9uc21hbGwiLCJEaWVyZXNpc3NtYWxsIiwiQnJldmVzbWFsbCIsIkNhcm9uc21hbGwiLCJEb3RhY2NlbnRzbWFsbCIsIk1hY3JvbnNtYWxsIiwiZmlndXJlZGFzaCIsImh5cGhlbmluZmVyaW9yIiwiT2dvbmVrc21hbGwiLCJSaW5nc21hbGwiLCJDZWRpbGxhc21hbGwiLCJxdWVzdGlvbmRvd25zbWFsbCIsIm9uZWVpZ2h0aCIsInRocmVlZWlnaHRocyIsImZpdmVlaWdodGhzIiwic2V2ZW5laWdodGhzIiwib25ldGhpcmQiLCJ0d290aGlyZHMiLCJ6ZXJvc3VwZXJpb3IiLCJmb3Vyc3VwZXJpb3IiLCJmaXZlc3VwZXJpb3IiLCJzaXhzdXBlcmlvciIsInNldmVuc3VwZXJpb3IiLCJlaWdodHN1cGVyaW9yIiwibmluZXN1cGVyaW9yIiwiemVyb2luZmVyaW9yIiwib25laW5mZXJpb3IiLCJ0d29pbmZlcmlvciIsInRocmVlaW5mZXJpb3IiLCJmb3VyaW5mZXJpb3IiLCJmaXZlaW5mZXJpb3IiLCJzaXhpbmZlcmlvciIsInNldmVuaW5mZXJpb3IiLCJlaWdodGluZmVyaW9yIiwibmluZWluZmVyaW9yIiwiY2VudGluZmVyaW9yIiwiZG9sbGFyaW5mZXJpb3IiLCJwZXJpb2RpbmZlcmlvciIsImNvbW1haW5mZXJpb3IiLCJBZ3JhdmVzbWFsbCIsIkFhY3V0ZXNtYWxsIiwiQWNpcmN1bWZsZXhzbWFsbCIsIkF0aWxkZXNtYWxsIiwiQWRpZXJlc2lzc21hbGwiLCJBcmluZ3NtYWxsIiwiQUVzbWFsbCIsIkNjZWRpbGxhc21hbGwiLCJFZ3JhdmVzbWFsbCIsIkVhY3V0ZXNtYWxsIiwiRWNpcmN1bWZsZXhzbWFsbCIsIkVkaWVyZXNpc3NtYWxsIiwiSWdyYXZlc21hbGwiLCJJYWN1dGVzbWFsbCIsIkljaXJjdW1mbGV4c21hbGwiLCJJZGllcmVzaXNzbWFsbCIsIkV0aHNtYWxsIiwiTnRpbGRlc21hbGwiLCJPZ3JhdmVzbWFsbCIsIk9hY3V0ZXNtYWxsIiwiT2NpcmN1bWZsZXhzbWFsbCIsIk90aWxkZXNtYWxsIiwiT2RpZXJlc2lzc21hbGwiLCJPRXNtYWxsIiwiT3NsYXNoc21hbGwiLCJVZ3JhdmVzbWFsbCIsIlVhY3V0ZXNtYWxsIiwiVWNpcmN1bWZsZXhzbWFsbCIsIlVkaWVyZXNpc3NtYWxsIiwiWWFjdXRlc21hbGwiLCJUaG9ybnNtYWxsIiwiWWRpZXJlc2lzc21hbGwiLCIwMDEuMDAwIiwiMDAxLjAwMSIsIjAwMS4wMDIiLCIwMDEuMDAzIiwiQmxhY2siLCJCb2xkIiwiQm9vayIsIkxpZ2h0IiwiTWVkaXVtIiwiUmVndWxhciIsIlJvbWFuIiwiU2VtaWJvbGQiXSxGaT0zOTEsU2k9W251bGwse2lkOiJoc3RlbSIsbWluOjIsc3RhY2tDbGVhcmluZzohMCxzdGVtOiEwfSxudWxsLHtpZDoidnN0ZW0iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITAsc3RlbTohMH0se2lkOiJ2bW92ZXRvIixtaW46MSxzdGFja0NsZWFyaW5nOiEwfSx7aWQ6InJsaW5ldG8iLG1pbjoyLHJlc2V0U3RhY2s6ITB9LHtpZDoiaGxpbmV0byIsbWluOjEscmVzZXRTdGFjazohMH0se2lkOiJ2bGluZXRvIixtaW46MSxyZXNldFN0YWNrOiEwfSx7aWQ6InJyY3VydmV0byIsbWluOjYscmVzZXRTdGFjazohMH0sbnVsbCx7aWQ6ImNhbGxzdWJyIixtaW46MSx1bmRlZlN0YWNrOiEwfSx7aWQ6InJldHVybiIsbWluOjAsdW5kZWZTdGFjazohMH0sbnVsbCxudWxsLHtpZDoiZW5kY2hhciIsbWluOjAsc3RhY2tDbGVhcmluZzohMH0sbnVsbCxudWxsLG51bGwse2lkOiJoc3RlbWhtIixtaW46MixzdGFja0NsZWFyaW5nOiEwLHN0ZW06ITB9LHtpZDoiaGludG1hc2siLG1pbjowLHN0YWNrQ2xlYXJpbmc6ITB9LHtpZDoiY250cm1hc2siLG1pbjowLHN0YWNrQ2xlYXJpbmc6ITB9LHtpZDoicm1vdmV0byIsbWluOjIsc3RhY2tDbGVhcmluZzohMH0se2lkOiJobW92ZXRvIixtaW46MSxzdGFja0NsZWFyaW5nOiEwfSx7aWQ6InZzdGVtaG0iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITAsc3RlbTohMH0se2lkOiJyY3VydmVsaW5lIixtaW46OCxyZXNldFN0YWNrOiEwfSx7aWQ6InJsaW5lY3VydmUiLG1pbjo4LHJlc2V0U3RhY2s6ITB9LHtpZDoidnZjdXJ2ZXRvIixtaW46NCxyZXNldFN0YWNrOiEwfSx7aWQ6ImhoY3VydmV0byIsbWluOjQscmVzZXRTdGFjazohMH0sbnVsbCx7aWQ6ImNhbGxnc3ViciIsbWluOjEsdW5kZWZTdGFjazohMH0se2lkOiJ2aGN1cnZldG8iLG1pbjo0LHJlc2V0U3RhY2s6ITB9LHtpZDoiaHZjdXJ2ZXRvIixtaW46NCxyZXNldFN0YWNrOiEwfV0sa2k9W251bGwsbnVsbCxudWxsLHtpZDoiYW5kIixtaW46MixzdGFja0RlbHRhOi0xfSx7aWQ6Im9yIixtaW46MixzdGFja0RlbHRhOi0xfSx7aWQ6Im5vdCIsbWluOjEsc3RhY2tEZWx0YTowfSxudWxsLG51bGwsbnVsbCx7aWQ6ImFicyIsbWluOjEsc3RhY2tEZWx0YTowfSx7aWQ6ImFkZCIsbWluOjIsc3RhY2tEZWx0YTotMSxzdGFja0ZuKGUsdCl7ZVt0LTJdPWVbdC0yXStlW3QtMV19fSx7aWQ6InN1YiIsbWluOjIsc3RhY2tEZWx0YTotMSxzdGFja0ZuKGUsdCl7ZVt0LTJdPWVbdC0yXS1lW3QtMV19fSx7aWQ6ImRpdiIsbWluOjIsc3RhY2tEZWx0YTotMSxzdGFja0ZuKGUsdCl7ZVt0LTJdPWVbdC0yXS9lW3QtMV19fSxudWxsLHtpZDoibmVnIixtaW46MSxzdGFja0RlbHRhOjAsc3RhY2tGbihlLHQpe2VbdC0xXT0tZVt0LTFdfX0se2lkOiJlcSIsbWluOjIsc3RhY2tEZWx0YTotMX0sbnVsbCxudWxsLHtpZDoiZHJvcCIsbWluOjEsc3RhY2tEZWx0YTotMX0sbnVsbCx7aWQ6InB1dCIsbWluOjIsc3RhY2tEZWx0YTotMn0se2lkOiJnZXQiLG1pbjoxLHN0YWNrRGVsdGE6MH0se2lkOiJpZmVsc2UiLG1pbjo0LHN0YWNrRGVsdGE6LTN9LHtpZDoicmFuZG9tIixtaW46MCxzdGFja0RlbHRhOjF9LHtpZDoibXVsIixtaW46MixzdGFja0RlbHRhOi0xLHN0YWNrRm4oZSx0KXtlW3QtMl09ZVt0LTJdKmVbdC0xXX19LG51bGwse2lkOiJzcXJ0IixtaW46MSxzdGFja0RlbHRhOjB9LHtpZDoiZHVwIixtaW46MSxzdGFja0RlbHRhOjF9LHtpZDoiZXhjaCIsbWluOjIsc3RhY2tEZWx0YTowfSx7aWQ6ImluZGV4IixtaW46MixzdGFja0RlbHRhOjB9LHtpZDoicm9sbCIsbWluOjMsc3RhY2tEZWx0YTotMn0sbnVsbCxudWxsLG51bGwse2lkOiJoZmxleCIsbWluOjcscmVzZXRTdGFjazohMH0se2lkOiJmbGV4IixtaW46MTMscmVzZXRTdGFjazohMH0se2lkOiJoZmxleDEiLG1pbjo5LHJlc2V0U3RhY2s6ITB9LHtpZDoiZmxleDEiLG1pbjoxMSxyZXNldFN0YWNrOiEwfV07Y2xhc3MgQ0ZGUGFyc2Vye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmJ5dGVzPWUuZ2V0Qnl0ZXMoKTt0aGlzLnByb3BlcnRpZXM9dDt0aGlzLnNlYWNBbmFseXNpc0VuYWJsZWQ9ISFpfXBhcnNlKCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMsdD1uZXcgQ0ZGO3RoaXMuY2ZmPXQ7Y29uc3QgaT10aGlzLnBhcnNlSGVhZGVyKCksYT10aGlzLnBhcnNlSW5kZXgoaS5lbmRQb3MpLHM9dGhpcy5wYXJzZUluZGV4KGEuZW5kUG9zKSxyPXRoaXMucGFyc2VJbmRleChzLmVuZFBvcyksbj10aGlzLnBhcnNlSW5kZXgoci5lbmRQb3MpLGc9dGhpcy5wYXJzZURpY3Qocy5vYmouZ2V0KDApKSxvPXRoaXMuY3JlYXRlRGljdChDRkZUb3BEaWN0LGcsdC5zdHJpbmdzKTt0LmhlYWRlcj1pLm9iajt0Lm5hbWVzPXRoaXMucGFyc2VOYW1lSW5kZXgoYS5vYmopO3Quc3RyaW5ncz10aGlzLnBhcnNlU3RyaW5nSW5kZXgoci5vYmopO3QudG9wRGljdD1vO3QuZ2xvYmFsU3VickluZGV4PW4ub2JqO3RoaXMucGFyc2VQcml2YXRlRGljdCh0LnRvcERpY3QpO3QuaXNDSURGb250PW8uaGFzTmFtZSgiUk9TIik7Y29uc3QgYz1vLmdldEJ5TmFtZSgiQ2hhclN0cmluZ3MiKSxDPXRoaXMucGFyc2VJbmRleChjKS5vYmosaD1vLmdldEJ5TmFtZSgiRm9udE1hdHJpeCIpO2gmJihlLmZvbnRNYXRyaXg9aCk7Y29uc3QgbD1vLmdldEJ5TmFtZSgiRm9udEJCb3giKTtpZihsKXtlLmFzY2VudD1NYXRoLm1heChsWzNdLGxbMV0pO2UuZGVzY2VudD1NYXRoLm1pbihsWzFdLGxbM10pO2UuYXNjZW50U2NhbGVkPSEwfWxldCBRLEU7aWYodC5pc0NJREZvbnQpe2NvbnN0IGU9dGhpcy5wYXJzZUluZGV4KG8uZ2V0QnlOYW1lKCJGREFycmF5IikpLm9iajtmb3IobGV0IGk9MCxhPWUuY291bnQ7aTxhOysraSl7Y29uc3QgYT1lLmdldChpKSxzPXRoaXMuY3JlYXRlRGljdChDRkZUb3BEaWN0LHRoaXMucGFyc2VEaWN0KGEpLHQuc3RyaW5ncyk7dGhpcy5wYXJzZVByaXZhdGVEaWN0KHMpO3QuZmRBcnJheS5wdXNoKHMpfUU9bnVsbDtRPXRoaXMucGFyc2VDaGFyc2V0cyhvLmdldEJ5TmFtZSgiY2hhcnNldCIpLEMuY291bnQsdC5zdHJpbmdzLCEwKTt0LmZkU2VsZWN0PXRoaXMucGFyc2VGRFNlbGVjdChvLmdldEJ5TmFtZSgiRkRTZWxlY3QiKSxDLmNvdW50KX1lbHNle1E9dGhpcy5wYXJzZUNoYXJzZXRzKG8uZ2V0QnlOYW1lKCJjaGFyc2V0IiksQy5jb3VudCx0LnN0cmluZ3MsITEpO0U9dGhpcy5wYXJzZUVuY29kaW5nKG8uZ2V0QnlOYW1lKCJFbmNvZGluZyIpLGUsdC5zdHJpbmdzLFEuY2hhcnNldCl9dC5jaGFyc2V0PVE7dC5lbmNvZGluZz1FO2NvbnN0IHU9dGhpcy5wYXJzZUNoYXJTdHJpbmdzKHtjaGFyU3RyaW5nczpDLGxvY2FsU3VickluZGV4Om8ucHJpdmF0ZURpY3Quc3VicnNJbmRleCxnbG9iYWxTdWJySW5kZXg6bi5vYmosZmRTZWxlY3Q6dC5mZFNlbGVjdCxmZEFycmF5OnQuZmRBcnJheSxwcml2YXRlRGljdDpvLnByaXZhdGVEaWN0fSk7dC5jaGFyU3RyaW5ncz11LmNoYXJTdHJpbmdzO3Quc2VhY3M9dS5zZWFjczt0LndpZHRocz11LndpZHRocztyZXR1cm4gdH1wYXJzZUhlYWRlcigpe2xldCBlPXRoaXMuYnl0ZXM7Y29uc3QgdD1lLmxlbmd0aDtsZXQgaT0wO2Zvcig7aTx0JiYxIT09ZVtpXTspKytpO2lmKGk+PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIENGRiBoZWFkZXIiKTtpZigwIT09aSl7aW5mbygiY2ZmIGRhdGEgaXMgc2hpZnRlZCIpO2U9ZS5zdWJhcnJheShpKTt0aGlzLmJ5dGVzPWV9Y29uc3QgYT1lWzBdLHM9ZVsxXSxyPWVbMl0sbj1lWzNdO3JldHVybntvYmo6bmV3IENGRkhlYWRlcihhLHMscixuKSxlbmRQb3M6cn19cGFyc2VEaWN0KGUpe2xldCB0PTA7ZnVuY3Rpb24gcGFyc2VPcGVyYW5kKCl7bGV0IGk9ZVt0KytdO2lmKDMwPT09aSlyZXR1cm4gZnVuY3Rpb24gcGFyc2VGbG9hdE9wZXJhbmQoKXtsZXQgaT0iIjtjb25zdCBhPTE1LHM9WyIwIiwiMSIsIjIiLCIzIiwiNCIsIjUiLCI2IiwiNyIsIjgiLCI5IiwiLiIsIkUiLCJFLSIsbnVsbCwiLSJdLHI9ZS5sZW5ndGg7Zm9yKDt0PHI7KXtjb25zdCByPWVbdCsrXSxuPXI+PjQsZz0xNSZyO2lmKG49PT1hKWJyZWFrO2krPXNbbl07aWYoZz09PWEpYnJlYWs7aSs9c1tnXX1yZXR1cm4gcGFyc2VGbG9hdChpKX0oKTtpZigyOD09PWkpe2k9ZVt0KytdO2k9KGk8PDI0fGVbdCsrXTw8MTYpPj4xNjtyZXR1cm4gaX1pZigyOT09PWkpe2k9ZVt0KytdO2k9aTw8OHxlW3QrK107aT1pPDw4fGVbdCsrXTtpPWk8PDh8ZVt0KytdO3JldHVybiBpfWlmKGk+PTMyJiZpPD0yNDYpcmV0dXJuIGktMTM5O2lmKGk+PTI0NyYmaTw9MjUwKXJldHVybiAyNTYqKGktMjQ3KStlW3QrK10rMTA4O2lmKGk+PTI1MSYmaTw9MjU0KXJldHVybi0yNTYqKGktMjUxKS1lW3QrK10tMTA4O3dhcm4oJ0NGRlBhcnNlcl9wYXJzZURpY3Q6ICInK2krJyIgaXMgYSByZXNlcnZlZCBjb21tYW5kLicpO3JldHVybiBOYU59bGV0IGk9W107Y29uc3QgYT1bXTt0PTA7Y29uc3Qgcz1lLmxlbmd0aDtmb3IoO3Q8czspe2xldCBzPWVbdF07aWYoczw9MjEpezEyPT09cyYmKHM9czw8OHxlWysrdF0pO2EucHVzaChbcyxpXSk7aT1bXTsrK3R9ZWxzZSBpLnB1c2gocGFyc2VPcGVyYW5kKCkpfXJldHVybiBhfXBhcnNlSW5kZXgoZSl7Y29uc3QgdD1uZXcgQ0ZGSW5kZXgsaT10aGlzLmJ5dGVzLGE9aVtlKytdPDw4fGlbZSsrXSxzPVtdO2xldCByLG4sZz1lO2lmKDAhPT1hKXtjb25zdCB0PWlbZSsrXSxvPWUrKGErMSkqdC0xO2ZvcihyPTAsbj1hKzE7cjxuOysrcil7bGV0IGE9MDtmb3IobGV0IHM9MDtzPHQ7KytzKXthPDw9ODthKz1pW2UrK119cy5wdXNoKG8rYSl9Zz1zW2FdfWZvcihyPTAsbj1zLmxlbmd0aC0xO3I8bjsrK3Ipe2NvbnN0IGU9c1tyXSxhPXNbcisxXTt0LmFkZChpLnN1YmFycmF5KGUsYSkpfXJldHVybntvYmo6dCxlbmRQb3M6Z319cGFyc2VOYW1lSW5kZXgoZSl7Y29uc3QgdD1bXTtmb3IobGV0IGk9MCxhPWUuY291bnQ7aTxhOysraSl7Y29uc3QgYT1lLmdldChpKTt0LnB1c2goYnl0ZXNUb1N0cmluZyhhKSl9cmV0dXJuIHR9cGFyc2VTdHJpbmdJbmRleChlKXtjb25zdCB0PW5ldyBDRkZTdHJpbmdzO2ZvcihsZXQgaT0wLGE9ZS5jb3VudDtpPGE7KytpKXtjb25zdCBhPWUuZ2V0KGkpO3QuYWRkKGJ5dGVzVG9TdHJpbmcoYSkpfXJldHVybiB0fWNyZWF0ZURpY3QoZSx0LGkpe2NvbnN0IGE9bmV3IGUoaSk7Zm9yKGNvbnN0W2UsaV1vZiB0KWEuc2V0QnlLZXkoZSxpKTtyZXR1cm4gYX1wYXJzZUNoYXJTdHJpbmcoZSx0LGksYSl7aWYoIXR8fGUuY2FsbERlcHRoPjEwKXJldHVybiExO2xldCBzPWUuc3RhY2tTaXplO2NvbnN0IHI9ZS5zdGFjaztsZXQgbj10Lmxlbmd0aDtmb3IobGV0IGc9MDtnPG47KXtjb25zdCBvPXRbZysrXTtsZXQgYz1udWxsO2lmKDEyPT09byl7Y29uc3QgZT10W2crK107aWYoMD09PWUpe3RbZy0yXT0xMzk7dFtnLTFdPTIyO3M9MH1lbHNlIGM9a2lbZV19ZWxzZSBpZigyOD09PW8pe3Jbc109KHRbZ108PDI0fHRbZysxXTw8MTYpPj4xNjtnKz0yO3MrK31lbHNlIGlmKDE0PT09byl7aWYocz49NCl7cy09NDtpZih0aGlzLnNlYWNBbmFseXNpc0VuYWJsZWQpe2Uuc2VhYz1yLnNsaWNlKHMscys0KTtyZXR1cm4hMX19Yz1TaVtvXX1lbHNlIGlmKG8+PTMyJiZvPD0yNDYpe3Jbc109by0xMzk7cysrfWVsc2UgaWYobz49MjQ3JiZvPD0yNTQpe3Jbc109bzwyNTE/KG8tMjQ3PDw4KSt0W2ddKzEwODotKG8tMjUxPDw4KS10W2ddLTEwODtnKys7cysrfWVsc2UgaWYoMjU1PT09byl7cltzXT0odFtnXTw8MjR8dFtnKzFdPDwxNnx0W2crMl08PDh8dFtnKzNdKS82NTUzNjtnKz00O3MrK31lbHNlIGlmKDE5PT09b3x8MjA9PT1vKXtlLmhpbnRzKz1zPj4xO2lmKDA9PT1lLmhpbnRzKXt0LmNvcHlXaXRoaW4oZy0xLGcsLTEpO2ctPTE7bi09MTtjb250aW51ZX1nKz1lLmhpbnRzKzc+PjM7cyU9MjtjPVNpW29dfWVsc2V7aWYoMTA9PT1vfHwyOT09PW8pe2NvbnN0IHQ9MTA9PT1vP2k6YTtpZighdCl7Yz1TaVtvXTt3YXJuKCJNaXNzaW5nIHN1YnJzSW5kZXggZm9yICIrYy5pZCk7cmV0dXJuITF9bGV0IG49MzI3Njg7dC5jb3VudDwxMjQwP249MTA3OnQuY291bnQ8MzM5MDAmJihuPTExMzEpO2NvbnN0IGc9clstLXNdK247aWYoZzwwfHxnPj10LmNvdW50fHxpc05hTihnKSl7Yz1TaVtvXTt3YXJuKCJPdXQgb2YgYm91bmRzIHN1YnJJbmRleCBmb3IgIitjLmlkKTtyZXR1cm4hMX1lLnN0YWNrU2l6ZT1zO2UuY2FsbERlcHRoKys7aWYoIXRoaXMucGFyc2VDaGFyU3RyaW5nKGUsdC5nZXQoZyksaSxhKSlyZXR1cm4hMTtlLmNhbGxEZXB0aC0tO3M9ZS5zdGFja1NpemU7Y29udGludWV9aWYoMTE9PT1vKXtlLnN0YWNrU2l6ZT1zO3JldHVybiEwfWlmKDA9PT1vJiZnPT09dC5sZW5ndGgpe3RbZy0xXT0xNDtjPVNpWzE0XX1lbHNle2lmKDk9PT1vKXt0LmNvcHlXaXRoaW4oZy0xLGcsLTEpO2ctPTE7bi09MTtjb250aW51ZX1jPVNpW29dfX1pZihjKXtpZihjLnN0ZW0pe2UuaGludHMrPXM+PjE7aWYoMz09PW98fDIzPT09byllLmhhc1ZTdGVtcz0hMDtlbHNlIGlmKGUuaGFzVlN0ZW1zJiYoMT09PW98fDE4PT09bykpe3dhcm4oIkNGRiBzdGVtIGhpbnRzIGFyZSBpbiB3cm9uZyBvcmRlciIpO3RbZy0xXT0xPT09bz8zOjIzfX1pZigibWluImluIGMmJiFlLnVuZGVmU3RhY2smJnM8Yy5taW4pe3dhcm4oIk5vdCBlbm91Z2ggcGFyYW1ldGVycyBmb3IgIitjLmlkKyI7IGFjdHVhbDogIitzKyIsIGV4cGVjdGVkOiAiK2MubWluKTtpZigwPT09cyl7dFtnLTFdPTE0O3JldHVybiEwfXJldHVybiExfWlmKGUuZmlyc3RTdGFja0NsZWFyaW5nJiZjLnN0YWNrQ2xlYXJpbmcpe2UuZmlyc3RTdGFja0NsZWFyaW5nPSExO3MtPWMubWluO3M+PTImJmMuc3RlbT9zJT0yOnM+MSYmd2FybigiRm91bmQgdG9vIG1hbnkgcGFyYW1ldGVycyBmb3Igc3RhY2stY2xlYXJpbmcgY29tbWFuZCIpO3M+MCYmKGUud2lkdGg9cltzLTFdKX1pZigic3RhY2tEZWx0YSJpbiBjKXsic3RhY2tGbiJpbiBjJiZjLnN0YWNrRm4ocixzKTtzKz1jLnN0YWNrRGVsdGF9ZWxzZSBpZihjLnN0YWNrQ2xlYXJpbmcpcz0wO2Vsc2UgaWYoYy5yZXNldFN0YWNrKXtzPTA7ZS51bmRlZlN0YWNrPSExfWVsc2UgaWYoYy51bmRlZlN0YWNrKXtzPTA7ZS51bmRlZlN0YWNrPSEwO2UuZmlyc3RTdGFja0NsZWFyaW5nPSExfX19bjx0Lmxlbmd0aCYmdC5maWxsKDE0LG4pO2Uuc3RhY2tTaXplPXM7cmV0dXJuITB9cGFyc2VDaGFyU3RyaW5ncyh7Y2hhclN0cmluZ3M6ZSxsb2NhbFN1YnJJbmRleDp0LGdsb2JhbFN1YnJJbmRleDppLGZkU2VsZWN0OmEsZmRBcnJheTpzLHByaXZhdGVEaWN0OnJ9KXtjb25zdCBuPVtdLGc9W10sbz1lLmNvdW50O2ZvcihsZXQgYz0wO2M8bztjKyspe2NvbnN0IG89ZS5nZXQoYyksQz17Y2FsbERlcHRoOjAsc3RhY2tTaXplOjAsc3RhY2s6W10sdW5kZWZTdGFjazohMCxoaW50czowLGZpcnN0U3RhY2tDbGVhcmluZzohMCxzZWFjOm51bGwsd2lkdGg6bnVsbCxoYXNWU3RlbXM6ITF9O2xldCBoPSEwLGw9bnVsbCxRPXI7aWYoYSYmcy5sZW5ndGgpe2NvbnN0IGU9YS5nZXRGREluZGV4KGMpO2lmKC0xPT09ZSl7d2FybigiR2x5cGggaW5kZXggaXMgbm90IGluIGZkIHNlbGVjdC4iKTtoPSExfWlmKGU+PXMubGVuZ3RoKXt3YXJuKCJJbnZhbGlkIGZkIGluZGV4IGZvciBnbHlwaCBpbmRleC4iKTtoPSExfWlmKGgpe1E9c1tlXS5wcml2YXRlRGljdDtsPVEuc3VicnNJbmRleH19ZWxzZSB0JiYobD10KTtoJiYoaD10aGlzLnBhcnNlQ2hhclN0cmluZyhDLG8sbCxpKSk7aWYobnVsbCE9PUMud2lkdGgpe2NvbnN0IGU9US5nZXRCeU5hbWUoIm5vbWluYWxXaWR0aFgiKTtnW2NdPWUrQy53aWR0aH1lbHNle2NvbnN0IGU9US5nZXRCeU5hbWUoImRlZmF1bHRXaWR0aFgiKTtnW2NdPWV9bnVsbCE9PUMuc2VhYyYmKG5bY109Qy5zZWFjKTtofHxlLnNldChjLG5ldyBVaW50OEFycmF5KFsxNF0pKX1yZXR1cm57Y2hhclN0cmluZ3M6ZSxzZWFjczpuLHdpZHRoczpnfX1lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KGUpe2NvbnN0IHQ9dGhpcy5jcmVhdGVEaWN0KENGRlByaXZhdGVEaWN0LFtdLGUuc3RyaW5ncyk7ZS5zZXRCeUtleSgxOCxbMCwwXSk7ZS5wcml2YXRlRGljdD10fXBhcnNlUHJpdmF0ZURpY3QoZSl7aWYoIWUuaGFzTmFtZSgiUHJpdmF0ZSIpKXt0aGlzLmVtcHR5UHJpdmF0ZURpY3Rpb25hcnkoZSk7cmV0dXJufWNvbnN0IHQ9ZS5nZXRCeU5hbWUoIlByaXZhdGUiKTtpZighQXJyYXkuaXNBcnJheSh0KXx8MiE9PXQubGVuZ3RoKXtlLnJlbW92ZUJ5TmFtZSgiUHJpdmF0ZSIpO3JldHVybn1jb25zdCBpPXRbMF0sYT10WzFdO2lmKDA9PT1pfHxhPj10aGlzLmJ5dGVzLmxlbmd0aCl7dGhpcy5lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KGUpO3JldHVybn1jb25zdCBzPWEraSxyPXRoaXMuYnl0ZXMuc3ViYXJyYXkoYSxzKSxuPXRoaXMucGFyc2VEaWN0KHIpLGc9dGhpcy5jcmVhdGVEaWN0KENGRlByaXZhdGVEaWN0LG4sZS5zdHJpbmdzKTtlLnByaXZhdGVEaWN0PWc7MD09PWcuZ2V0QnlOYW1lKCJFeHBhbnNpb25GYWN0b3IiKSYmZy5zZXRCeU5hbWUoIkV4cGFuc2lvbkZhY3RvciIsLjA2KTtpZighZy5nZXRCeU5hbWUoIlN1YnJzIikpcmV0dXJuO2NvbnN0IG89Zy5nZXRCeU5hbWUoIlN1YnJzIiksYz1hK287aWYoMD09PW98fGM+PXRoaXMuYnl0ZXMubGVuZ3RoKXt0aGlzLmVtcHR5UHJpdmF0ZURpY3Rpb25hcnkoZSk7cmV0dXJufWNvbnN0IEM9dGhpcy5wYXJzZUluZGV4KGMpO2cuc3VicnNJbmRleD1DLm9ian1wYXJzZUNoYXJzZXRzKGUsdCxpLGEpe2lmKDA9PT1lKXJldHVybiBuZXcgQ0ZGQ2hhcnNldCghMCxHaS5JU09fQURPQkUsUWkpO2lmKDE9PT1lKXJldHVybiBuZXcgQ0ZGQ2hhcnNldCghMCxHaS5FWFBFUlQsRWkpO2lmKDI9PT1lKXJldHVybiBuZXcgQ0ZGQ2hhcnNldCghMCxHaS5FWFBFUlRfU1VCU0VULHVpKTtjb25zdCBzPXRoaXMuYnl0ZXMscj1lLG49c1tlKytdLGc9W2E/MDoiLm5vdGRlZiJdO2xldCBvLGMsQzt0LT0xO3N3aXRjaChuKXtjYXNlIDA6Zm9yKEM9MDtDPHQ7QysrKXtvPXNbZSsrXTw8OHxzW2UrK107Zy5wdXNoKGE/bzppLmdldChvKSl9YnJlYWs7Y2FzZSAxOmZvcig7Zy5sZW5ndGg8PXQ7KXtvPXNbZSsrXTw8OHxzW2UrK107Yz1zW2UrK107Zm9yKEM9MDtDPD1jO0MrKylnLnB1c2goYT9vKys6aS5nZXQobysrKSl9YnJlYWs7Y2FzZSAyOmZvcig7Zy5sZW5ndGg8PXQ7KXtvPXNbZSsrXTw8OHxzW2UrK107Yz1zW2UrK108PDh8c1tlKytdO2ZvcihDPTA7Qzw9YztDKyspZy5wdXNoKGE/bysrOmkuZ2V0KG8rKykpfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIGNoYXJzZXQgZm9ybWF0Iil9Y29uc3QgaD1lLGw9cy5zdWJhcnJheShyLGgpO3JldHVybiBuZXcgQ0ZGQ2hhcnNldCghMSxuLGcsbCl9cGFyc2VFbmNvZGluZyhlLHQsaSxhKXtjb25zdCBzPU9iamVjdC5jcmVhdGUobnVsbCkscj10aGlzLmJ5dGVzO2xldCBuLGcsbyxjPSExLEM9bnVsbDtpZigwPT09ZXx8MT09PWUpe2M9ITA7bj1lO2NvbnN0IHQ9ZT9kaTptaTtmb3IoZz0wLG89YS5sZW5ndGg7ZzxvO2crKyl7Y29uc3QgZT10LmluZGV4T2YoYVtnXSk7LTEhPT1lJiYoc1tlXT1nKX19ZWxzZXtjb25zdCB0PWU7bj1yW2UrK107c3dpdGNoKDEyNyZuKXtjYXNlIDA6Y29uc3QgdD1yW2UrK107Zm9yKGc9MTtnPD10O2crKylzW3JbZSsrXV09ZzticmVhaztjYXNlIDE6Y29uc3QgaT1yW2UrK107bGV0IGE9MTtmb3IoZz0wO2c8aTtnKyspe2NvbnN0IHQ9cltlKytdLGk9cltlKytdO2ZvcihsZXQgZT10O2U8PXQraTtlKyspc1tlXT1hKyt9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVua25vd24gZW5jb2RpbmcgZm9ybWF0OiAke259IGluIENGRmApfWNvbnN0IG89ZTtpZigxMjgmbil7clt0XSY9MTI3OyFmdW5jdGlvbiByZWFkU3VwcGxlbWVudCgpe2NvbnN0IHQ9cltlKytdO2ZvcihnPTA7Zzx0O2crKyl7Y29uc3QgdD1yW2UrK10sbj0ocltlKytdPDw4KSsoMjU1JnJbZSsrXSk7c1t0XT1hLmluZGV4T2YoaS5nZXQobikpfX0oKX1DPXIuc3ViYXJyYXkodCxvKX1uJj0xMjc7cmV0dXJuIG5ldyBDRkZFbmNvZGluZyhjLG4scyxDKX1wYXJzZUZEU2VsZWN0KGUsdCl7Y29uc3QgaT10aGlzLmJ5dGVzLGE9aVtlKytdLHM9W107bGV0IHI7c3dpdGNoKGEpe2Nhc2UgMDpmb3Iocj0wO3I8dDsrK3Ipe2NvbnN0IHQ9aVtlKytdO3MucHVzaCh0KX1icmVhaztjYXNlIDM6Y29uc3Qgbj1pW2UrK108PDh8aVtlKytdO2ZvcihyPTA7cjxuOysrcil7bGV0IHQ9aVtlKytdPDw4fGlbZSsrXTtpZigwPT09ciYmMCE9PXQpe3dhcm4oInBhcnNlRkRTZWxlY3Q6IFRoZSBmaXJzdCByYW5nZSBtdXN0IGhhdmUgYSBmaXJzdCBHSUQgb2YgMCAtLSB0cnlpbmcgdG8gcmVjb3Zlci4iKTt0PTB9Y29uc3QgYT1pW2UrK10sbj1pW2VdPDw4fGlbZSsxXTtmb3IobGV0IGU9dDtlPG47KytlKXMucHVzaChhKX1lKz0yO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBwYXJzZUZEU2VsZWN0OiBVbmtub3duIGZvcm1hdCAiJHthfSIuYCl9aWYocy5sZW5ndGghPT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigicGFyc2VGRFNlbGVjdDogSW52YWxpZCBmb250IGRhdGEuIik7cmV0dXJuIG5ldyBDRkZGRFNlbGVjdChhLHMpfX1jbGFzcyBDRkZ7Y29uc3RydWN0b3IoKXt0aGlzLmhlYWRlcj1udWxsO3RoaXMubmFtZXM9W107dGhpcy50b3BEaWN0PW51bGw7dGhpcy5zdHJpbmdzPW5ldyBDRkZTdHJpbmdzO3RoaXMuZ2xvYmFsU3VickluZGV4PW51bGw7dGhpcy5lbmNvZGluZz1udWxsO3RoaXMuY2hhcnNldD1udWxsO3RoaXMuY2hhclN0cmluZ3M9bnVsbDt0aGlzLmZkQXJyYXk9W107dGhpcy5mZFNlbGVjdD1udWxsO3RoaXMuaXNDSURGb250PSExfWR1cGxpY2F0ZUZpcnN0R2x5cGgoKXtpZih0aGlzLmNoYXJTdHJpbmdzLmNvdW50Pj02NTUzNSl7d2FybigiTm90IGVub3VnaCBzcGFjZSBpbiBjaGFyc3RyaW5ncyB0byBkdXBsaWNhdGUgZmlyc3QgZ2x5cGguIik7cmV0dXJufWNvbnN0IGU9dGhpcy5jaGFyU3RyaW5ncy5nZXQoMCk7dGhpcy5jaGFyU3RyaW5ncy5hZGQoZSk7dGhpcy5pc0NJREZvbnQmJnRoaXMuZmRTZWxlY3QuZmRTZWxlY3QucHVzaCh0aGlzLmZkU2VsZWN0LmZkU2VsZWN0WzBdKX1oYXNHbHlwaElkKGUpe2lmKGU8MHx8ZT49dGhpcy5jaGFyU3RyaW5ncy5jb3VudClyZXR1cm4hMTtyZXR1cm4gdGhpcy5jaGFyU3RyaW5ncy5nZXQoZSkubGVuZ3RoPjB9fWNsYXNzIENGRkhlYWRlcntjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLm1ham9yPWU7dGhpcy5taW5vcj10O3RoaXMuaGRyU2l6ZT1pO3RoaXMub2ZmU2l6ZT1hfX1jbGFzcyBDRkZTdHJpbmdze2NvbnN0cnVjdG9yKCl7dGhpcy5zdHJpbmdzPVtdfWdldChlKXtyZXR1cm4gZT49MCYmZTw9MzkwP2JpW2VdOmUtRmk8PXRoaXMuc3RyaW5ncy5sZW5ndGg/dGhpcy5zdHJpbmdzW2UtRmldOmJpWzBdfWdldFNJRChlKXtsZXQgdD1iaS5pbmRleE9mKGUpO2lmKC0xIT09dClyZXR1cm4gdDt0PXRoaXMuc3RyaW5ncy5pbmRleE9mKGUpO3JldHVybi0xIT09dD90K0ZpOi0xfWFkZChlKXt0aGlzLnN0cmluZ3MucHVzaChlKX1nZXQgY291bnQoKXtyZXR1cm4gdGhpcy5zdHJpbmdzLmxlbmd0aH19Y2xhc3MgQ0ZGSW5kZXh7Y29uc3RydWN0b3IoKXt0aGlzLm9iamVjdHM9W107dGhpcy5sZW5ndGg9MH1hZGQoZSl7dGhpcy5sZW5ndGgrPWUubGVuZ3RoO3RoaXMub2JqZWN0cy5wdXNoKGUpfXNldChlLHQpe3RoaXMubGVuZ3RoKz10Lmxlbmd0aC10aGlzLm9iamVjdHNbZV0ubGVuZ3RoO3RoaXMub2JqZWN0c1tlXT10fWdldChlKXtyZXR1cm4gdGhpcy5vYmplY3RzW2VdfWdldCBjb3VudCgpe3JldHVybiB0aGlzLm9iamVjdHMubGVuZ3RofX1jbGFzcyBDRkZEaWN0e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5rZXlUb05hbWVNYXA9ZS5rZXlUb05hbWVNYXA7dGhpcy5uYW1lVG9LZXlNYXA9ZS5uYW1lVG9LZXlNYXA7dGhpcy5kZWZhdWx0cz1lLmRlZmF1bHRzO3RoaXMudHlwZXM9ZS50eXBlczt0aGlzLm9wY29kZXM9ZS5vcGNvZGVzO3RoaXMub3JkZXI9ZS5vcmRlcjt0aGlzLnN0cmluZ3M9dDt0aGlzLnZhbHVlcz1PYmplY3QuY3JlYXRlKG51bGwpfXNldEJ5S2V5KGUsdCl7aWYoIShlIGluIHRoaXMua2V5VG9OYW1lTWFwKSlyZXR1cm4hMTtpZigwPT09dC5sZW5ndGgpcmV0dXJuITA7Zm9yKGNvbnN0IGkgb2YgdClpZihpc05hTihpKSl7d2FybihgSW52YWxpZCBDRkZEaWN0IHZhbHVlOiAiJHt0fSIgZm9yIGtleSAiJHtlfSIuYCk7cmV0dXJuITB9Y29uc3QgaT10aGlzLnR5cGVzW2VdOyJudW0iIT09aSYmInNpZCIhPT1pJiYib2Zmc2V0IiE9PWl8fCh0PXRbMF0pO3RoaXMudmFsdWVzW2VdPXQ7cmV0dXJuITB9c2V0QnlOYW1lKGUsdCl7aWYoIShlIGluIHRoaXMubmFtZVRvS2V5TWFwKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgZGljdGlvbmFyeSBuYW1lICIke2V9ImApO3RoaXMudmFsdWVzW3RoaXMubmFtZVRvS2V5TWFwW2VdXT10fWhhc05hbWUoZSl7cmV0dXJuIHRoaXMubmFtZVRvS2V5TWFwW2VdaW4gdGhpcy52YWx1ZXN9Z2V0QnlOYW1lKGUpe2lmKCEoZSBpbiB0aGlzLm5hbWVUb0tleU1hcCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGRpY3Rpb25hcnkgbmFtZSAke2V9ImApO2NvbnN0IHQ9dGhpcy5uYW1lVG9LZXlNYXBbZV07cmV0dXJuIHQgaW4gdGhpcy52YWx1ZXM/dGhpcy52YWx1ZXNbdF06dGhpcy5kZWZhdWx0c1t0XX1yZW1vdmVCeU5hbWUoZSl7ZGVsZXRlIHRoaXMudmFsdWVzW3RoaXMubmFtZVRvS2V5TWFwW2VdXX1zdGF0aWMgY3JlYXRlVGFibGVzKGUpe2NvbnN0IHQ9e2tleVRvTmFtZU1hcDp7fSxuYW1lVG9LZXlNYXA6e30sZGVmYXVsdHM6e30sdHlwZXM6e30sb3Bjb2Rlczp7fSxvcmRlcjpbXX07Zm9yKGNvbnN0IGkgb2YgZSl7Y29uc3QgZT1BcnJheS5pc0FycmF5KGlbMF0pPyhpWzBdWzBdPDw4KStpWzBdWzFdOmlbMF07dC5rZXlUb05hbWVNYXBbZV09aVsxXTt0Lm5hbWVUb0tleU1hcFtpWzFdXT1lO3QudHlwZXNbZV09aVsyXTt0LmRlZmF1bHRzW2VdPWlbM107dC5vcGNvZGVzW2VdPUFycmF5LmlzQXJyYXkoaVswXSk/aVswXTpbaVswXV07dC5vcmRlci5wdXNoKGUpfXJldHVybiB0fX1jb25zdCBSaT1bW1sxMiwzMF0sIlJPUyIsWyJzaWQiLCJzaWQiLCJudW0iXSxudWxsXSxbWzEyLDIwXSwiU3ludGhldGljQmFzZSIsIm51bSIsbnVsbF0sWzAsInZlcnNpb24iLCJzaWQiLG51bGxdLFsxLCJOb3RpY2UiLCJzaWQiLG51bGxdLFtbMTIsMF0sIkNvcHlyaWdodCIsInNpZCIsbnVsbF0sWzIsIkZ1bGxOYW1lIiwic2lkIixudWxsXSxbMywiRmFtaWx5TmFtZSIsInNpZCIsbnVsbF0sWzQsIldlaWdodCIsInNpZCIsbnVsbF0sW1sxMiwxXSwiaXNGaXhlZFBpdGNoIiwibnVtIiwwXSxbWzEyLDJdLCJJdGFsaWNBbmdsZSIsIm51bSIsMF0sW1sxMiwzXSwiVW5kZXJsaW5lUG9zaXRpb24iLCJudW0iLC0xMDBdLFtbMTIsNF0sIlVuZGVybGluZVRoaWNrbmVzcyIsIm51bSIsNTBdLFtbMTIsNV0sIlBhaW50VHlwZSIsIm51bSIsMF0sW1sxMiw2XSwiQ2hhcnN0cmluZ1R5cGUiLCJudW0iLDJdLFtbMTIsN10sIkZvbnRNYXRyaXgiLFsibnVtIiwibnVtIiwibnVtIiwibnVtIiwibnVtIiwibnVtIl0sWy4wMDEsMCwwLC4wMDEsMCwwXV0sWzEzLCJVbmlxdWVJRCIsIm51bSIsbnVsbF0sWzUsIkZvbnRCQm94IixbIm51bSIsIm51bSIsIm51bSIsIm51bSJdLFswLDAsMCwwXV0sW1sxMiw4XSwiU3Ryb2tlV2lkdGgiLCJudW0iLDBdLFsxNCwiWFVJRCIsImFycmF5IixudWxsXSxbMTUsImNoYXJzZXQiLCJvZmZzZXQiLDBdLFsxNiwiRW5jb2RpbmciLCJvZmZzZXQiLDBdLFsxNywiQ2hhclN0cmluZ3MiLCJvZmZzZXQiLDBdLFsxOCwiUHJpdmF0ZSIsWyJvZmZzZXQiLCJvZmZzZXQiXSxudWxsXSxbWzEyLDIxXSwiUG9zdFNjcmlwdCIsInNpZCIsbnVsbF0sW1sxMiwyMl0sIkJhc2VGb250TmFtZSIsInNpZCIsbnVsbF0sW1sxMiwyM10sIkJhc2VGb250QmxlbmQiLCJkZWx0YSIsbnVsbF0sW1sxMiwzMV0sIkNJREZvbnRWZXJzaW9uIiwibnVtIiwwXSxbWzEyLDMyXSwiQ0lERm9udFJldmlzaW9uIiwibnVtIiwwXSxbWzEyLDMzXSwiQ0lERm9udFR5cGUiLCJudW0iLDBdLFtbMTIsMzRdLCJDSURDb3VudCIsIm51bSIsODcyMF0sW1sxMiwzNV0sIlVJREJhc2UiLCJudW0iLG51bGxdLFtbMTIsMzddLCJGRFNlbGVjdCIsIm9mZnNldCIsbnVsbF0sW1sxMiwzNl0sIkZEQXJyYXkiLCJvZmZzZXQiLG51bGxdLFtbMTIsMzhdLCJGb250TmFtZSIsInNpZCIsbnVsbF1dO2NsYXNzIENGRlRvcERpY3QgZXh0ZW5kcyBDRkZEaWN0e3N0YXRpYyBnZXQgdGFibGVzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJ0YWJsZXMiLHRoaXMuY3JlYXRlVGFibGVzKFJpKSl9Y29uc3RydWN0b3IoZSl7c3VwZXIoQ0ZGVG9wRGljdC50YWJsZXMsZSk7dGhpcy5wcml2YXRlRGljdD1udWxsfX1jb25zdCBOaT1bWzYsIkJsdWVWYWx1ZXMiLCJkZWx0YSIsbnVsbF0sWzcsIk90aGVyQmx1ZXMiLCJkZWx0YSIsbnVsbF0sWzgsIkZhbWlseUJsdWVzIiwiZGVsdGEiLG51bGxdLFs5LCJGYW1pbHlPdGhlckJsdWVzIiwiZGVsdGEiLG51bGxdLFtbMTIsOV0sIkJsdWVTY2FsZSIsIm51bSIsLjAzOTYyNV0sW1sxMiwxMF0sIkJsdWVTaGlmdCIsIm51bSIsN10sW1sxMiwxMV0sIkJsdWVGdXp6IiwibnVtIiwxXSxbMTAsIlN0ZEhXIiwibnVtIixudWxsXSxbMTEsIlN0ZFZXIiwibnVtIixudWxsXSxbWzEyLDEyXSwiU3RlbVNuYXBIIiwiZGVsdGEiLG51bGxdLFtbMTIsMTNdLCJTdGVtU25hcFYiLCJkZWx0YSIsbnVsbF0sW1sxMiwxNF0sIkZvcmNlQm9sZCIsIm51bSIsMF0sW1sxMiwxN10sIkxhbmd1YWdlR3JvdXAiLCJudW0iLDBdLFtbMTIsMThdLCJFeHBhbnNpb25GYWN0b3IiLCJudW0iLC4wNl0sW1sxMiwxOV0sImluaXRpYWxSYW5kb21TZWVkIiwibnVtIiwwXSxbMjAsImRlZmF1bHRXaWR0aFgiLCJudW0iLDBdLFsyMSwibm9taW5hbFdpZHRoWCIsIm51bSIsMF0sWzE5LCJTdWJycyIsIm9mZnNldCIsbnVsbF1dO2NsYXNzIENGRlByaXZhdGVEaWN0IGV4dGVuZHMgQ0ZGRGljdHtzdGF0aWMgZ2V0IHRhYmxlcygpe3JldHVybiBzaGFkb3codGhpcywidGFibGVzIix0aGlzLmNyZWF0ZVRhYmxlcyhOaSkpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKENGRlByaXZhdGVEaWN0LnRhYmxlcyxlKTt0aGlzLnN1YnJzSW5kZXg9bnVsbH19Y29uc3QgR2k9e0lTT19BRE9CRTowLEVYUEVSVDoxLEVYUEVSVF9TVUJTRVQ6Mn07Y2xhc3MgQ0ZGQ2hhcnNldHtjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLnByZWRlZmluZWQ9ZTt0aGlzLmZvcm1hdD10O3RoaXMuY2hhcnNldD1pO3RoaXMucmF3PWF9fWNsYXNzIENGRkVuY29kaW5ne2NvbnN0cnVjdG9yKGUsdCxpLGEpe3RoaXMucHJlZGVmaW5lZD1lO3RoaXMuZm9ybWF0PXQ7dGhpcy5lbmNvZGluZz1pO3RoaXMucmF3PWF9fWNsYXNzIENGRkZEU2VsZWN0e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5mb3JtYXQ9ZTt0aGlzLmZkU2VsZWN0PXR9Z2V0RkRJbmRleChlKXtyZXR1cm4gZTwwfHxlPj10aGlzLmZkU2VsZWN0Lmxlbmd0aD8tMTp0aGlzLmZkU2VsZWN0W2VdfX1jbGFzcyBDRkZPZmZzZXRUcmFja2Vye2NvbnN0cnVjdG9yKCl7dGhpcy5vZmZzZXRzPU9iamVjdC5jcmVhdGUobnVsbCl9aXNUcmFja2luZyhlKXtyZXR1cm4gZSBpbiB0aGlzLm9mZnNldHN9dHJhY2soZSx0KXtpZihlIGluIHRoaXMub2Zmc2V0cyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEFscmVhZHkgdHJhY2tpbmcgbG9jYXRpb24gb2YgJHtlfWApO3RoaXMub2Zmc2V0c1tlXT10fW9mZnNldChlKXtmb3IoY29uc3QgdCBpbiB0aGlzLm9mZnNldHMpdGhpcy5vZmZzZXRzW3RdKz1lfXNldEVudHJ5TG9jYXRpb24oZSx0LGkpe2lmKCEoZSBpbiB0aGlzLm9mZnNldHMpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgTm90IHRyYWNraW5nIGxvY2F0aW9uIG9mICR7ZX1gKTtjb25zdCBhPWkuZGF0YSxzPXRoaXMub2Zmc2V0c1tlXTtmb3IobGV0IGU9MCxpPXQubGVuZ3RoO2U8aTsrK2Upe2NvbnN0IGk9NSplK3Mscj1pKzEsbj1pKzIsZz1pKzMsbz1pKzQ7aWYoMjkhPT1hW2ldfHwwIT09YVtyXXx8MCE9PWFbbl18fDAhPT1hW2ddfHwwIT09YVtvXSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIndyaXRpbmcgdG8gYW4gb2Zmc2V0IHRoYXQgaXMgbm90IGVtcHR5Iik7Y29uc3QgYz10W2VdO2FbaV09Mjk7YVtyXT1jPj4yNCYyNTU7YVtuXT1jPj4xNiYyNTU7YVtnXT1jPj44JjI1NTthW29dPTI1NSZjfX19Y2xhc3MgQ0ZGQ29tcGlsZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5jZmY9ZX1jb21waWxlKCl7Y29uc3QgZT10aGlzLmNmZix0PXtkYXRhOltdLGxlbmd0aDowLGFkZChlKXt0cnl7dGhpcy5kYXRhLnB1c2goLi4uZSl9Y2F0Y2h7dGhpcy5kYXRhPXRoaXMuZGF0YS5jb25jYXQoZSl9dGhpcy5sZW5ndGg9dGhpcy5kYXRhLmxlbmd0aH19LGk9dGhpcy5jb21waWxlSGVhZGVyKGUuaGVhZGVyKTt0LmFkZChpKTtjb25zdCBhPXRoaXMuY29tcGlsZU5hbWVJbmRleChlLm5hbWVzKTt0LmFkZChhKTtpZihlLmlzQ0lERm9udCYmZS50b3BEaWN0Lmhhc05hbWUoIkZvbnRNYXRyaXgiKSl7Y29uc3QgdD1lLnRvcERpY3QuZ2V0QnlOYW1lKCJGb250TWF0cml4Iik7ZS50b3BEaWN0LnJlbW92ZUJ5TmFtZSgiRm9udE1hdHJpeCIpO2Zvcihjb25zdCBpIG9mIGUuZmRBcnJheSl7bGV0IGU9dC5zbGljZSgwKTtpLmhhc05hbWUoIkZvbnRNYXRyaXgiKSYmKGU9VXRpbC50cmFuc2Zvcm0oZSxpLmdldEJ5TmFtZSgiRm9udE1hdHJpeCIpKSk7aS5zZXRCeU5hbWUoIkZvbnRNYXRyaXgiLGUpfX1jb25zdCBzPWUudG9wRGljdC5nZXRCeU5hbWUoIlhVSUQiKTtzPy5sZW5ndGg+MTYmJmUudG9wRGljdC5yZW1vdmVCeU5hbWUoIlhVSUQiKTtlLnRvcERpY3Quc2V0QnlOYW1lKCJjaGFyc2V0IiwwKTtsZXQgcj10aGlzLmNvbXBpbGVUb3BEaWN0cyhbZS50b3BEaWN0XSx0Lmxlbmd0aCxlLmlzQ0lERm9udCk7dC5hZGQoci5vdXRwdXQpO2NvbnN0IG49ci50cmFja2Vyc1swXSxnPXRoaXMuY29tcGlsZVN0cmluZ0luZGV4KGUuc3RyaW5ncy5zdHJpbmdzKTt0LmFkZChnKTtjb25zdCBvPXRoaXMuY29tcGlsZUluZGV4KGUuZ2xvYmFsU3VickluZGV4KTt0LmFkZChvKTtpZihlLmVuY29kaW5nJiZlLnRvcERpY3QuaGFzTmFtZSgiRW5jb2RpbmciKSlpZihlLmVuY29kaW5nLnByZWRlZmluZWQpbi5zZXRFbnRyeUxvY2F0aW9uKCJFbmNvZGluZyIsW2UuZW5jb2RpbmcuZm9ybWF0XSx0KTtlbHNle2NvbnN0IGk9dGhpcy5jb21waWxlRW5jb2RpbmcoZS5lbmNvZGluZyk7bi5zZXRFbnRyeUxvY2F0aW9uKCJFbmNvZGluZyIsW3QubGVuZ3RoXSx0KTt0LmFkZChpKX1jb25zdCBjPXRoaXMuY29tcGlsZUNoYXJzZXQoZS5jaGFyc2V0LGUuY2hhclN0cmluZ3MuY291bnQsZS5zdHJpbmdzLGUuaXNDSURGb250KTtuLnNldEVudHJ5TG9jYXRpb24oImNoYXJzZXQiLFt0Lmxlbmd0aF0sdCk7dC5hZGQoYyk7Y29uc3QgQz10aGlzLmNvbXBpbGVDaGFyU3RyaW5ncyhlLmNoYXJTdHJpbmdzKTtuLnNldEVudHJ5TG9jYXRpb24oIkNoYXJTdHJpbmdzIixbdC5sZW5ndGhdLHQpO3QuYWRkKEMpO2lmKGUuaXNDSURGb250KXtuLnNldEVudHJ5TG9jYXRpb24oIkZEU2VsZWN0IixbdC5sZW5ndGhdLHQpO2NvbnN0IGk9dGhpcy5jb21waWxlRkRTZWxlY3QoZS5mZFNlbGVjdCk7dC5hZGQoaSk7cj10aGlzLmNvbXBpbGVUb3BEaWN0cyhlLmZkQXJyYXksdC5sZW5ndGgsITApO24uc2V0RW50cnlMb2NhdGlvbigiRkRBcnJheSIsW3QubGVuZ3RoXSx0KTt0LmFkZChyLm91dHB1dCk7Y29uc3QgYT1yLnRyYWNrZXJzO3RoaXMuY29tcGlsZVByaXZhdGVEaWN0cyhlLmZkQXJyYXksYSx0KX10aGlzLmNvbXBpbGVQcml2YXRlRGljdHMoW2UudG9wRGljdF0sW25dLHQpO3QuYWRkKFswXSk7cmV0dXJuIHQuZGF0YX1lbmNvZGVOdW1iZXIoZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSk/dGhpcy5lbmNvZGVJbnRlZ2VyKGUpOnRoaXMuZW5jb2RlRmxvYXQoZSl9c3RhdGljIGdldCBFbmNvZGVGbG9hdFJlZ0V4cCgpe3JldHVybiBzaGFkb3codGhpcywiRW5jb2RlRmxvYXRSZWdFeHAiLC9cLihcZCo/KSg/Ojl7NSwyMH18MHs1LDIwfSlcZHswLDJ9KD86ZSguKyl8JCkvKX1lbmNvZGVGbG9hdChlKXtsZXQgdD1lLnRvU3RyaW5nKCk7Y29uc3QgaT1DRkZDb21waWxlci5FbmNvZGVGbG9hdFJlZ0V4cC5leGVjKHQpO2lmKGkpe2NvbnN0IGE9cGFyc2VGbG9hdCgiMWUiKygoaVsyXT8raVsyXTowKStpWzFdLmxlbmd0aCkpO3Q9KE1hdGgucm91bmQoZSphKS9hKS50b1N0cmluZygpfWxldCBhLHMscj0iIjtmb3IoYT0wLHM9dC5sZW5ndGg7YTxzOysrYSl7Y29uc3QgZT10W2FdO3IrPSJlIj09PWU/Ii0iPT09dFsrK2FdPyJjIjoiYiI6Ii4iPT09ZT8iYSI6Ii0iPT09ZT8iZSI6ZX1yKz0xJnIubGVuZ3RoPyJmIjoiZmYiO2NvbnN0IG49WzMwXTtmb3IoYT0wLHM9ci5sZW5ndGg7YTxzO2ErPTIpbi5wdXNoKHBhcnNlSW50KHIuc3Vic3RyaW5nKGEsYSsyKSwxNikpO3JldHVybiBufWVuY29kZUludGVnZXIoZSl7bGV0IHQ7dD1lPj0tMTA3JiZlPD0xMDc/W2UrMTM5XTplPj0xMDgmJmU8PTExMzE/WzI0NysoKGUtPTEwOCk+PjgpLDI1NSZlXTplPj0tMTEzMSYmZTw9LTEwOD9bMjUxKygoZT0tZS0xMDgpPj44KSwyNTUmZV06ZT49LTMyNzY4JiZlPD0zMjc2Nz9bMjgsZT4+OCYyNTUsMjU1JmVdOlsyOSxlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LDI1NSZlXTtyZXR1cm4gdH1jb21waWxlSGVhZGVyKGUpe3JldHVybltlLm1ham9yLGUubWlub3IsNCxlLm9mZlNpemVdfWNvbXBpbGVOYW1lSW5kZXgoZSl7Y29uc3QgdD1uZXcgQ0ZGSW5kZXg7Zm9yKGNvbnN0IGkgb2YgZSl7Y29uc3QgZT1NYXRoLm1pbihpLmxlbmd0aCwxMjcpO2xldCBhPW5ldyBBcnJheShlKTtmb3IobGV0IHQ9MDt0PGU7dCsrKXtsZXQgZT1pW3RdOyhlPCIhInx8ZT4ifiJ8fCJbIj09PWV8fCJdIj09PWV8fCIoIj09PWV8fCIpIj09PWV8fCJ7Ij09PWV8fCJ9Ij09PWV8fCI8Ij09PWV8fCI+Ij09PWV8fCIvIj09PWV8fCIlIj09PWUpJiYoZT0iXyIpO2FbdF09ZX1hPWEuam9pbigiIik7IiI9PT1hJiYoYT0iQmFkX0ZvbnRfTmFtZSIpO3QuYWRkKHN0cmluZ1RvQnl0ZXMoYSkpfXJldHVybiB0aGlzLmNvbXBpbGVJbmRleCh0KX1jb21waWxlVG9wRGljdHMoZSx0LGkpe2NvbnN0IGE9W107bGV0IHM9bmV3IENGRkluZGV4O2Zvcihjb25zdCByIG9mIGUpe2lmKGkpe3IucmVtb3ZlQnlOYW1lKCJDSURGb250VmVyc2lvbiIpO3IucmVtb3ZlQnlOYW1lKCJDSURGb250UmV2aXNpb24iKTtyLnJlbW92ZUJ5TmFtZSgiQ0lERm9udFR5cGUiKTtyLnJlbW92ZUJ5TmFtZSgiQ0lEQ291bnQiKTtyLnJlbW92ZUJ5TmFtZSgiVUlEQmFzZSIpfWNvbnN0IGU9bmV3IENGRk9mZnNldFRyYWNrZXIsbj10aGlzLmNvbXBpbGVEaWN0KHIsZSk7YS5wdXNoKGUpO3MuYWRkKG4pO2Uub2Zmc2V0KHQpfXM9dGhpcy5jb21waWxlSW5kZXgocyxhKTtyZXR1cm57dHJhY2tlcnM6YSxvdXRwdXQ6c319Y29tcGlsZVByaXZhdGVEaWN0cyhlLHQsaSl7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7KythKXtjb25zdCBzPWVbYV0scj1zLnByaXZhdGVEaWN0O2lmKCFyfHwhcy5oYXNOYW1lKCJQcml2YXRlIikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJUaGVyZSBtdXN0IGJlIGEgcHJpdmF0ZSBkaWN0aW9uYXJ5LiIpO2NvbnN0IG49bmV3IENGRk9mZnNldFRyYWNrZXIsZz10aGlzLmNvbXBpbGVEaWN0KHIsbik7bGV0IG89aS5sZW5ndGg7bi5vZmZzZXQobyk7Zy5sZW5ndGh8fChvPTApO3RbYV0uc2V0RW50cnlMb2NhdGlvbigiUHJpdmF0ZSIsW2cubGVuZ3RoLG9dLGkpO2kuYWRkKGcpO2lmKHIuc3VicnNJbmRleCYmci5oYXNOYW1lKCJTdWJycyIpKXtjb25zdCBlPXRoaXMuY29tcGlsZUluZGV4KHIuc3VicnNJbmRleCk7bi5zZXRFbnRyeUxvY2F0aW9uKCJTdWJycyIsW2cubGVuZ3RoXSxpKTtpLmFkZChlKX19fWNvbXBpbGVEaWN0KGUsdCl7Y29uc3QgaT1bXTtmb3IoY29uc3QgYSBvZiBlLm9yZGVyKXtpZighKGEgaW4gZS52YWx1ZXMpKWNvbnRpbnVlO2xldCBzPWUudmFsdWVzW2FdLHI9ZS50eXBlc1thXTtBcnJheS5pc0FycmF5KHIpfHwocj1bcl0pO0FycmF5LmlzQXJyYXkocyl8fChzPVtzXSk7aWYoMCE9PXMubGVuZ3RoKXtmb3IobGV0IG49MCxnPXIubGVuZ3RoO248ZzsrK24pe2NvbnN0IGc9cltuXSxvPXNbbl07c3dpdGNoKGcpe2Nhc2UibnVtIjpjYXNlInNpZCI6aS5wdXNoKC4uLnRoaXMuZW5jb2RlTnVtYmVyKG8pKTticmVhaztjYXNlIm9mZnNldCI6Y29uc3Qgcj1lLmtleVRvTmFtZU1hcFthXTt0LmlzVHJhY2tpbmcocil8fHQudHJhY2socixpLmxlbmd0aCk7aS5wdXNoKDI5LDAsMCwwLDApO2JyZWFrO2Nhc2UiYXJyYXkiOmNhc2UiZGVsdGEiOmkucHVzaCguLi50aGlzLmVuY29kZU51bWJlcihvKSk7Zm9yKGxldCBlPTEsdD1zLmxlbmd0aDtlPHQ7KytlKWkucHVzaCguLi50aGlzLmVuY29kZU51bWJlcihzW2VdKSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVua25vd24gZGF0YSB0eXBlIG9mICR7Z31gKX19aS5wdXNoKC4uLmUub3Bjb2Rlc1thXSl9fXJldHVybiBpfWNvbXBpbGVTdHJpbmdJbmRleChlKXtjb25zdCB0PW5ldyBDRkZJbmRleDtmb3IoY29uc3QgaSBvZiBlKXQuYWRkKHN0cmluZ1RvQnl0ZXMoaSkpO3JldHVybiB0aGlzLmNvbXBpbGVJbmRleCh0KX1jb21waWxlQ2hhclN0cmluZ3MoZSl7Y29uc3QgdD1uZXcgQ0ZGSW5kZXg7Zm9yKGxldCBpPTA7aTxlLmNvdW50O2krKyl7Y29uc3QgYT1lLmdldChpKTswIT09YS5sZW5ndGg/dC5hZGQoYSk6dC5hZGQobmV3IFVpbnQ4QXJyYXkoWzEzOSwxNF0pKX1yZXR1cm4gdGhpcy5jb21waWxlSW5kZXgodCl9Y29tcGlsZUNoYXJzZXQoZSx0LGksYSl7bGV0IHM7Y29uc3Qgcj10LTE7aWYoYSlzPW5ldyBVaW50OEFycmF5KFsyLDAsMCxyPj44JjI1NSwyNTUmcl0pO2Vsc2V7cz1uZXcgVWludDhBcnJheSgxKzIqcik7c1swXT0wO2xldCB0PTA7Y29uc3QgYT1lLmNoYXJzZXQubGVuZ3RoO2xldCBuPSExO2ZvcihsZXQgcj0xO3I8cy5sZW5ndGg7cis9Mil7bGV0IGc9MDtpZih0PGEpe2NvbnN0IGE9ZS5jaGFyc2V0W3QrK107Zz1pLmdldFNJRChhKTtpZigtMT09PWcpe2c9MDtpZighbil7bj0hMDt3YXJuKGBDb3VsZG4ndCBmaW5kICR7YX0gaW4gQ0ZGIHN0cmluZ3NgKX19fXNbcl09Zz4+OCYyNTU7c1tyKzFdPTI1NSZnfX1yZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShzKX1jb21waWxlRW5jb2RpbmcoZSl7cmV0dXJuIHRoaXMuY29tcGlsZVR5cGVkQXJyYXkoZS5yYXcpfWNvbXBpbGVGRFNlbGVjdChlKXtjb25zdCB0PWUuZm9ybWF0O2xldCBpLGE7c3dpdGNoKHQpe2Nhc2UgMDppPW5ldyBVaW50OEFycmF5KDErZS5mZFNlbGVjdC5sZW5ndGgpO2lbMF09dDtmb3IoYT0wO2E8ZS5mZFNlbGVjdC5sZW5ndGg7YSsrKWlbYSsxXT1lLmZkU2VsZWN0W2FdO2JyZWFrO2Nhc2UgMzpjb25zdCBzPTA7bGV0IHI9ZS5mZFNlbGVjdFswXTtjb25zdCBuPVt0LDAsMCxzPj44JjI1NSwyNTUmcyxyXTtmb3IoYT0xO2E8ZS5mZFNlbGVjdC5sZW5ndGg7YSsrKXtjb25zdCB0PWUuZmRTZWxlY3RbYV07aWYodCE9PXIpe24ucHVzaChhPj44JjI1NSwyNTUmYSx0KTtyPXR9fWNvbnN0IGc9KG4ubGVuZ3RoLTMpLzM7blsxXT1nPj44JjI1NTtuWzJdPTI1NSZnO24ucHVzaChhPj44JjI1NSwyNTUmYSk7aT1uZXcgVWludDhBcnJheShuKX1yZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShpKX1jb21waWxlVHlwZWRBcnJheShlKXtyZXR1cm4gQXJyYXkuZnJvbShlKX1jb21waWxlSW5kZXgoZSx0PVtdKXtjb25zdCBpPWUub2JqZWN0cyxhPWkubGVuZ3RoO2lmKDA9PT1hKXJldHVyblswLDBdO2NvbnN0IHM9W2E+PjgmMjU1LDI1NSZhXTtsZXQgcixuLGc9MTtmb3Iocj0wO3I8YTsrK3IpZys9aVtyXS5sZW5ndGg7bj1nPDI1Nj8xOmc8NjU1MzY/MjpnPDE2Nzc3MjE2PzM6NDtzLnB1c2gobik7bGV0IG89MTtmb3Iocj0wO3I8YSsxO3IrKyl7MT09PW4/cy5wdXNoKDI1NSZvKToyPT09bj9zLnB1c2gobz4+OCYyNTUsMjU1Jm8pOjM9PT1uP3MucHVzaChvPj4xNiYyNTUsbz4+OCYyNTUsMjU1Jm8pOnMucHVzaChvPj4+MjQmMjU1LG8+PjE2JjI1NSxvPj44JjI1NSwyNTUmbyk7aVtyXSYmKG8rPWlbcl0ubGVuZ3RoKX1mb3Iocj0wO3I8YTtyKyspe3Rbcl0mJnRbcl0ub2Zmc2V0KHMubGVuZ3RoKTtzLnB1c2goLi4uaVtyXSl9cmV0dXJuIHN9fWNvbnN0IHhpPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5BPTY1O2UuQUU9MTk4O2UuQUVhY3V0ZT01MDg7ZS5BRW1hY3Jvbj00ODI7ZS5BRXNtYWxsPTYzNDYyO2UuQWFjdXRlPTE5MztlLkFhY3V0ZXNtYWxsPTYzNDU3O2UuQWJyZXZlPTI1ODtlLkFicmV2ZWFjdXRlPTc4NTQ7ZS5BYnJldmVjeXJpbGxpYz0xMjMyO2UuQWJyZXZlZG90YmVsb3c9Nzg2MjtlLkFicmV2ZWdyYXZlPTc4NTY7ZS5BYnJldmVob29rYWJvdmU9Nzg1ODtlLkFicmV2ZXRpbGRlPTc4NjA7ZS5BY2Fyb249NDYxO2UuQWNpcmNsZT05Mzk4O2UuQWNpcmN1bWZsZXg9MTk0O2UuQWNpcmN1bWZsZXhhY3V0ZT03ODQ0O2UuQWNpcmN1bWZsZXhkb3RiZWxvdz03ODUyO2UuQWNpcmN1bWZsZXhncmF2ZT03ODQ2O2UuQWNpcmN1bWZsZXhob29rYWJvdmU9Nzg0ODtlLkFjaXJjdW1mbGV4c21hbGw9NjM0NTg7ZS5BY2lyY3VtZmxleHRpbGRlPTc4NTA7ZS5BY3V0ZT02MzE3NztlLkFjdXRlc21hbGw9NjM0MTI7ZS5BY3lyaWxsaWM9MTA0MDtlLkFkYmxncmF2ZT01MTI7ZS5BZGllcmVzaXM9MTk2O2UuQWRpZXJlc2lzY3lyaWxsaWM9MTIzNDtlLkFkaWVyZXNpc21hY3Jvbj00Nzg7ZS5BZGllcmVzaXNzbWFsbD02MzQ2MDtlLkFkb3RiZWxvdz03ODQwO2UuQWRvdG1hY3Jvbj00ODA7ZS5BZ3JhdmU9MTkyO2UuQWdyYXZlc21hbGw9NjM0NTY7ZS5BaG9va2Fib3ZlPTc4NDI7ZS5BaWVjeXJpbGxpYz0xMjM2O2UuQWludmVydGVkYnJldmU9NTE0O2UuQWxwaGE9OTEzO2UuQWxwaGF0b25vcz05MDI7ZS5BbWFjcm9uPTI1NjtlLkFtb25vc3BhY2U9NjUzMTM7ZS5Bb2dvbmVrPTI2MDtlLkFyaW5nPTE5NztlLkFyaW5nYWN1dGU9NTA2O2UuQXJpbmdiZWxvdz03NjgwO2UuQXJpbmdzbWFsbD02MzQ2MTtlLkFzbWFsbD02MzMyOTtlLkF0aWxkZT0xOTU7ZS5BdGlsZGVzbWFsbD02MzQ1OTtlLkF5YmFybWVuaWFuPTEzMjk7ZS5CPTY2O2UuQmNpcmNsZT05Mzk5O2UuQmRvdGFjY2VudD03NjgyO2UuQmRvdGJlbG93PTc2ODQ7ZS5CZWN5cmlsbGljPTEwNDE7ZS5CZW5hcm1lbmlhbj0xMzMwO2UuQmV0YT05MTQ7ZS5CaG9vaz0zODU7ZS5CbGluZWJlbG93PTc2ODY7ZS5CbW9ub3NwYWNlPTY1MzE0O2UuQnJldmVzbWFsbD02MzIyMDtlLkJzbWFsbD02MzMzMDtlLkJ0b3BiYXI9Mzg2O2UuQz02NztlLkNhYXJtZW5pYW49MTM0MjtlLkNhY3V0ZT0yNjI7ZS5DYXJvbj02MzE3ODtlLkNhcm9uc21hbGw9NjMyMjE7ZS5DY2Fyb249MjY4O2UuQ2NlZGlsbGE9MTk5O2UuQ2NlZGlsbGFhY3V0ZT03Njg4O2UuQ2NlZGlsbGFzbWFsbD02MzQ2MztlLkNjaXJjbGU9OTQwMDtlLkNjaXJjdW1mbGV4PTI2NDtlLkNkb3Q9MjY2O2UuQ2RvdGFjY2VudD0yNjY7ZS5DZWRpbGxhc21hbGw9NjM0MTY7ZS5DaGFhcm1lbmlhbj0xMzUzO2UuQ2hlYWJraGFzaWFuY3lyaWxsaWM9MTIxMjtlLkNoZWN5cmlsbGljPTEwNjM7ZS5DaGVkZXNjZW5kZXJhYmtoYXNpYW5jeXJpbGxpYz0xMjE0O2UuQ2hlZGVzY2VuZGVyY3lyaWxsaWM9MTIwNjtlLkNoZWRpZXJlc2lzY3lyaWxsaWM9MTI2ODtlLkNoZWhhcm1lbmlhbj0xMzQ3O2UuQ2hla2hha2Fzc2lhbmN5cmlsbGljPTEyMjc7ZS5DaGV2ZXJ0aWNhbHN0cm9rZWN5cmlsbGljPTEyMDg7ZS5DaGk9OTM1O2UuQ2hvb2s9MzkxO2UuQ2lyY3VtZmxleHNtYWxsPTYzMjIyO2UuQ21vbm9zcGFjZT02NTMxNTtlLkNvYXJtZW5pYW49MTM2MTtlLkNzbWFsbD02MzMzMTtlLkQ9Njg7ZS5EWj00OTc7ZS5EWmNhcm9uPTQ1MjtlLkRhYXJtZW5pYW49MTMzMjtlLkRhZnJpY2FuPTM5MztlLkRjYXJvbj0yNzA7ZS5EY2VkaWxsYT03Njk2O2UuRGNpcmNsZT05NDAxO2UuRGNpcmN1bWZsZXhiZWxvdz03Njk4O2UuRGNyb2F0PTI3MjtlLkRkb3RhY2NlbnQ9NzY5MDtlLkRkb3RiZWxvdz03NjkyO2UuRGVjeXJpbGxpYz0xMDQ0O2UuRGVpY29wdGljPTEwMDY7ZS5EZWx0YT04NzEwO2UuRGVsdGFncmVlaz05MTY7ZS5EaG9vaz0zOTQ7ZS5EaWVyZXNpcz02MzE3OTtlLkRpZXJlc2lzQWN1dGU9NjMxODA7ZS5EaWVyZXNpc0dyYXZlPTYzMTgxO2UuRGllcmVzaXNzbWFsbD02MzQwMDtlLkRpZ2FtbWFncmVlaz05ODg7ZS5EamVjeXJpbGxpYz0xMDI2O2UuRGxpbmViZWxvdz03Njk0O2UuRG1vbm9zcGFjZT02NTMxNjtlLkRvdGFjY2VudHNtYWxsPTYzMjIzO2UuRHNsYXNoPTI3MjtlLkRzbWFsbD02MzMzMjtlLkR0b3BiYXI9Mzk1O2UuRHo9NDk4O2UuRHpjYXJvbj00NTM7ZS5EemVhYmtoYXNpYW5jeXJpbGxpYz0xMjQ4O2UuRHplY3lyaWxsaWM9MTAyOTtlLkR6aGVjeXJpbGxpYz0xMDM5O2UuRT02OTtlLkVhY3V0ZT0yMDE7ZS5FYWN1dGVzbWFsbD02MzQ2NTtlLkVicmV2ZT0yNzY7ZS5FY2Fyb249MjgyO2UuRWNlZGlsbGFicmV2ZT03NzA4O2UuRWNoYXJtZW5pYW49MTMzMztlLkVjaXJjbGU9OTQwMjtlLkVjaXJjdW1mbGV4PTIwMjtlLkVjaXJjdW1mbGV4YWN1dGU9Nzg3MDtlLkVjaXJjdW1mbGV4YmVsb3c9NzcwNDtlLkVjaXJjdW1mbGV4ZG90YmVsb3c9Nzg3ODtlLkVjaXJjdW1mbGV4Z3JhdmU9Nzg3MjtlLkVjaXJjdW1mbGV4aG9va2Fib3ZlPTc4NzQ7ZS5FY2lyY3VtZmxleHNtYWxsPTYzNDY2O2UuRWNpcmN1bWZsZXh0aWxkZT03ODc2O2UuRWN5cmlsbGljPTEwMjg7ZS5FZGJsZ3JhdmU9NTE2O2UuRWRpZXJlc2lzPTIwMztlLkVkaWVyZXNpc3NtYWxsPTYzNDY3O2UuRWRvdD0yNzg7ZS5FZG90YWNjZW50PTI3ODtlLkVkb3RiZWxvdz03ODY0O2UuRWZjeXJpbGxpYz0xMDYwO2UuRWdyYXZlPTIwMDtlLkVncmF2ZXNtYWxsPTYzNDY0O2UuRWhhcm1lbmlhbj0xMzM1O2UuRWhvb2thYm92ZT03ODY2O2UuRWlnaHRyb21hbj04NTUxO2UuRWludmVydGVkYnJldmU9NTE4O2UuRWlvdGlmaWVkY3lyaWxsaWM9MTEyNDtlLkVsY3lyaWxsaWM9MTA1MTtlLkVsZXZlbnJvbWFuPTg1NTQ7ZS5FbWFjcm9uPTI3NDtlLkVtYWNyb25hY3V0ZT03NzAyO2UuRW1hY3JvbmdyYXZlPTc3MDA7ZS5FbWN5cmlsbGljPTEwNTI7ZS5FbW9ub3NwYWNlPTY1MzE3O2UuRW5jeXJpbGxpYz0xMDUzO2UuRW5kZXNjZW5kZXJjeXJpbGxpYz0xMTg2O2UuRW5nPTMzMDtlLkVuZ2hlY3lyaWxsaWM9MTE4ODtlLkVuaG9va2N5cmlsbGljPTEyMjM7ZS5Fb2dvbmVrPTI4MDtlLkVvcGVuPTQwMDtlLkVwc2lsb249OTE3O2UuRXBzaWxvbnRvbm9zPTkwNDtlLkVyY3lyaWxsaWM9MTA1NjtlLkVyZXZlcnNlZD0zOTg7ZS5FcmV2ZXJzZWRjeXJpbGxpYz0xMDY5O2UuRXNjeXJpbGxpYz0xMDU3O2UuRXNkZXNjZW5kZXJjeXJpbGxpYz0xMTk0O2UuRXNoPTQyNTtlLkVzbWFsbD02MzMzMztlLkV0YT05MTk7ZS5FdGFybWVuaWFuPTEzMzY7ZS5FdGF0b25vcz05MDU7ZS5FdGg9MjA4O2UuRXRoc21hbGw9NjM0NzI7ZS5FdGlsZGU9Nzg2ODtlLkV0aWxkZWJlbG93PTc3MDY7ZS5FdXJvPTgzNjQ7ZS5Femg9NDM5O2UuRXpoY2Fyb249NDk0O2UuRXpocmV2ZXJzZWQ9NDQwO2UuRj03MDtlLkZjaXJjbGU9OTQwMztlLkZkb3RhY2NlbnQ9NzcxMDtlLkZlaGFybWVuaWFuPTEzNjY7ZS5GZWljb3B0aWM9OTk2O2UuRmhvb2s9NDAxO2UuRml0YWN5cmlsbGljPTExMzg7ZS5GaXZlcm9tYW49ODU0ODtlLkZtb25vc3BhY2U9NjUzMTg7ZS5Gb3Vycm9tYW49ODU0NztlLkZzbWFsbD02MzMzNDtlLkc9NzE7ZS5HQnNxdWFyZT0xMzE5MTtlLkdhY3V0ZT01MDA7ZS5HYW1tYT05MTU7ZS5HYW1tYWFmcmljYW49NDA0O2UuR2FuZ2lhY29wdGljPTEwMDI7ZS5HYnJldmU9Mjg2O2UuR2Nhcm9uPTQ4NjtlLkdjZWRpbGxhPTI5MDtlLkdjaXJjbGU9OTQwNDtlLkdjaXJjdW1mbGV4PTI4NDtlLkdjb21tYWFjY2VudD0yOTA7ZS5HZG90PTI4ODtlLkdkb3RhY2NlbnQ9Mjg4O2UuR2VjeXJpbGxpYz0xMDQzO2UuR2hhZGFybWVuaWFuPTEzNDY7ZS5HaGVtaWRkbGVob29rY3lyaWxsaWM9MTE3MjtlLkdoZXN0cm9rZWN5cmlsbGljPTExNzA7ZS5HaGV1cHR1cm5jeXJpbGxpYz0xMTY4O2UuR2hvb2s9NDAzO2UuR2ltYXJtZW5pYW49MTMzMTtlLkdqZWN5cmlsbGljPTEwMjc7ZS5HbWFjcm9uPTc3MTI7ZS5HbW9ub3NwYWNlPTY1MzE5O2UuR3JhdmU9NjMxODI7ZS5HcmF2ZXNtYWxsPTYzMzI4O2UuR3NtYWxsPTYzMzM1O2UuR3NtYWxsaG9vaz02Njc7ZS5Hc3Ryb2tlPTQ4NDtlLkg9NzI7ZS5IMTg1MzM9OTY3OTtlLkgxODU0Mz05NjQyO2UuSDE4NTUxPTk2NDM7ZS5IMjIwNzM9OTYzMztlLkhQc3F1YXJlPTEzMjU5O2UuSGFhYmtoYXNpYW5jeXJpbGxpYz0xMTkyO2UuSGFkZXNjZW5kZXJjeXJpbGxpYz0xMjAyO2UuSGFyZHNpZ25jeXJpbGxpYz0xMDY2O2UuSGJhcj0yOTQ7ZS5IYnJldmViZWxvdz03NzIyO2UuSGNlZGlsbGE9NzcyMDtlLkhjaXJjbGU9OTQwNTtlLkhjaXJjdW1mbGV4PTI5MjtlLkhkaWVyZXNpcz03NzE4O2UuSGRvdGFjY2VudD03NzE0O2UuSGRvdGJlbG93PTc3MTY7ZS5IbW9ub3NwYWNlPTY1MzIwO2UuSG9hcm1lbmlhbj0xMzQ0O2UuSG9yaWNvcHRpYz0xZTM7ZS5Ic21hbGw9NjMzMzY7ZS5IdW5nYXJ1bWxhdXQ9NjMxODM7ZS5IdW5nYXJ1bWxhdXRzbWFsbD02MzIyNDtlLkh6c3F1YXJlPTEzMjAwO2UuST03MztlLklBY3lyaWxsaWM9MTA3MTtlLklKPTMwNjtlLklVY3lyaWxsaWM9MTA3MDtlLklhY3V0ZT0yMDU7ZS5JYWN1dGVzbWFsbD02MzQ2OTtlLklicmV2ZT0zMDA7ZS5JY2Fyb249NDYzO2UuSWNpcmNsZT05NDA2O2UuSWNpcmN1bWZsZXg9MjA2O2UuSWNpcmN1bWZsZXhzbWFsbD02MzQ3MDtlLkljeXJpbGxpYz0xMDMwO2UuSWRibGdyYXZlPTUyMDtlLklkaWVyZXNpcz0yMDc7ZS5JZGllcmVzaXNhY3V0ZT03NzI2O2UuSWRpZXJlc2lzY3lyaWxsaWM9MTI1MjtlLklkaWVyZXNpc3NtYWxsPTYzNDcxO2UuSWRvdD0zMDQ7ZS5JZG90YWNjZW50PTMwNDtlLklkb3RiZWxvdz03ODgyO2UuSWVicmV2ZWN5cmlsbGljPTEyMzg7ZS5JZWN5cmlsbGljPTEwNDU7ZS5JZnJha3R1cj04NDY1O2UuSWdyYXZlPTIwNDtlLklncmF2ZXNtYWxsPTYzNDY4O2UuSWhvb2thYm92ZT03ODgwO2UuSWljeXJpbGxpYz0xMDQ4O2UuSWludmVydGVkYnJldmU9NTIyO2UuSWlzaG9ydGN5cmlsbGljPTEwNDk7ZS5JbWFjcm9uPTI5ODtlLkltYWNyb25jeXJpbGxpYz0xMjUwO2UuSW1vbm9zcGFjZT02NTMyMTtlLkluaWFybWVuaWFuPTEzMzk7ZS5Jb2N5cmlsbGljPTEwMjU7ZS5Jb2dvbmVrPTMwMjtlLklvdGE9OTIxO2UuSW90YWFmcmljYW49NDA2O2UuSW90YWRpZXJlc2lzPTkzODtlLklvdGF0b25vcz05MDY7ZS5Jc21hbGw9NjMzMzc7ZS5Jc3Ryb2tlPTQwNztlLkl0aWxkZT0yOTY7ZS5JdGlsZGViZWxvdz03NzI0O2UuSXpoaXRzYWN5cmlsbGljPTExNDA7ZS5JemhpdHNhZGJsZ3JhdmVjeXJpbGxpYz0xMTQyO2UuSj03NDtlLkphYXJtZW5pYW49MTM0NTtlLkpjaXJjbGU9OTQwNztlLkpjaXJjdW1mbGV4PTMwODtlLkplY3lyaWxsaWM9MTAzMjtlLkpoZWhhcm1lbmlhbj0xMzU1O2UuSm1vbm9zcGFjZT02NTMyMjtlLkpzbWFsbD02MzMzODtlLks9NzU7ZS5LQnNxdWFyZT0xMzE4OTtlLktLc3F1YXJlPTEzMjYxO2UuS2FiYXNoa2lyY3lyaWxsaWM9MTE4NDtlLkthY3V0ZT03NzI4O2UuS2FjeXJpbGxpYz0xMDUwO2UuS2FkZXNjZW5kZXJjeXJpbGxpYz0xMTc4O2UuS2Fob29rY3lyaWxsaWM9MTIxOTtlLkthcHBhPTkyMjtlLkthc3Ryb2tlY3lyaWxsaWM9MTE4MjtlLkthdmVydGljYWxzdHJva2VjeXJpbGxpYz0xMTgwO2UuS2Nhcm9uPTQ4ODtlLktjZWRpbGxhPTMxMDtlLktjaXJjbGU9OTQwODtlLktjb21tYWFjY2VudD0zMTA7ZS5LZG90YmVsb3c9NzczMDtlLktlaGFybWVuaWFuPTEzNjQ7ZS5LZW5hcm1lbmlhbj0xMzQzO2UuS2hhY3lyaWxsaWM9MTA2MTtlLktoZWljb3B0aWM9OTk4O2UuS2hvb2s9NDA4O2UuS2plY3lyaWxsaWM9MTAzNjtlLktsaW5lYmVsb3c9NzczMjtlLkttb25vc3BhY2U9NjUzMjM7ZS5Lb3BwYWN5cmlsbGljPTExNTI7ZS5Lb3BwYWdyZWVrPTk5MDtlLktzaWN5cmlsbGljPTExMzQ7ZS5Lc21hbGw9NjMzMzk7ZS5MPTc2O2UuTEo9NDU1O2UuTEw9NjMxNjc7ZS5MYWN1dGU9MzEzO2UuTGFtYmRhPTkyMztlLkxjYXJvbj0zMTc7ZS5MY2VkaWxsYT0zMTU7ZS5MY2lyY2xlPTk0MDk7ZS5MY2lyY3VtZmxleGJlbG93PTc3NDA7ZS5MY29tbWFhY2NlbnQ9MzE1O2UuTGRvdD0zMTk7ZS5MZG90YWNjZW50PTMxOTtlLkxkb3RiZWxvdz03NzM0O2UuTGRvdGJlbG93bWFjcm9uPTc3MzY7ZS5MaXduYXJtZW5pYW49MTM0MDtlLkxqPTQ1NjtlLkxqZWN5cmlsbGljPTEwMzM7ZS5MbGluZWJlbG93PTc3Mzg7ZS5MbW9ub3NwYWNlPTY1MzI0O2UuTHNsYXNoPTMyMTtlLkxzbGFzaHNtYWxsPTYzMjI1O2UuTHNtYWxsPTYzMzQwO2UuTT03NztlLk1Cc3F1YXJlPTEzMTkwO2UuTWFjcm9uPTYzMTg0O2UuTWFjcm9uc21hbGw9NjM0MDc7ZS5NYWN1dGU9Nzc0MjtlLk1jaXJjbGU9OTQxMDtlLk1kb3RhY2NlbnQ9Nzc0NDtlLk1kb3RiZWxvdz03NzQ2O2UuTWVuYXJtZW5pYW49MTM0ODtlLk1tb25vc3BhY2U9NjUzMjU7ZS5Nc21hbGw9NjMzNDE7ZS5NdHVybmVkPTQxMjtlLk11PTkyNDtlLk49Nzg7ZS5OSj00NTg7ZS5OYWN1dGU9MzIzO2UuTmNhcm9uPTMyNztlLk5jZWRpbGxhPTMyNTtlLk5jaXJjbGU9OTQxMTtlLk5jaXJjdW1mbGV4YmVsb3c9Nzc1NDtlLk5jb21tYWFjY2VudD0zMjU7ZS5OZG90YWNjZW50PTc3NDg7ZS5OZG90YmVsb3c9Nzc1MDtlLk5ob29rbGVmdD00MTM7ZS5OaW5lcm9tYW49ODU1MjtlLk5qPTQ1OTtlLk5qZWN5cmlsbGljPTEwMzQ7ZS5ObGluZWJlbG93PTc3NTI7ZS5ObW9ub3NwYWNlPTY1MzI2O2UuTm93YXJtZW5pYW49MTM1MDtlLk5zbWFsbD02MzM0MjtlLk50aWxkZT0yMDk7ZS5OdGlsZGVzbWFsbD02MzQ3MztlLk51PTkyNTtlLk89Nzk7ZS5PRT0zMzg7ZS5PRXNtYWxsPTYzMjI2O2UuT2FjdXRlPTIxMTtlLk9hY3V0ZXNtYWxsPTYzNDc1O2UuT2JhcnJlZGN5cmlsbGljPTEyNTY7ZS5PYmFycmVkZGllcmVzaXNjeXJpbGxpYz0xMjU4O2UuT2JyZXZlPTMzNDtlLk9jYXJvbj00NjU7ZS5PY2VudGVyZWR0aWxkZT00MTU7ZS5PY2lyY2xlPTk0MTI7ZS5PY2lyY3VtZmxleD0yMTI7ZS5PY2lyY3VtZmxleGFjdXRlPTc4ODg7ZS5PY2lyY3VtZmxleGRvdGJlbG93PTc4OTY7ZS5PY2lyY3VtZmxleGdyYXZlPTc4OTA7ZS5PY2lyY3VtZmxleGhvb2thYm92ZT03ODkyO2UuT2NpcmN1bWZsZXhzbWFsbD02MzQ3NjtlLk9jaXJjdW1mbGV4dGlsZGU9Nzg5NDtlLk9jeXJpbGxpYz0xMDU0O2UuT2RibGFjdXRlPTMzNjtlLk9kYmxncmF2ZT01MjQ7ZS5PZGllcmVzaXM9MjE0O2UuT2RpZXJlc2lzY3lyaWxsaWM9MTI1NDtlLk9kaWVyZXNpc3NtYWxsPTYzNDc4O2UuT2RvdGJlbG93PTc4ODQ7ZS5PZ29uZWtzbWFsbD02MzIyNztlLk9ncmF2ZT0yMTA7ZS5PZ3JhdmVzbWFsbD02MzQ3NDtlLk9oYXJtZW5pYW49MTM2NTtlLk9obT04NDg2O2UuT2hvb2thYm92ZT03ODg2O2UuT2hvcm49NDE2O2UuT2hvcm5hY3V0ZT03ODk4O2UuT2hvcm5kb3RiZWxvdz03OTA2O2UuT2hvcm5ncmF2ZT03OTAwO2UuT2hvcm5ob29rYWJvdmU9NzkwMjtlLk9ob3JudGlsZGU9NzkwNDtlLk9odW5nYXJ1bWxhdXQ9MzM2O2UuT2k9NDE4O2UuT2ludmVydGVkYnJldmU9NTI2O2UuT21hY3Jvbj0zMzI7ZS5PbWFjcm9uYWN1dGU9Nzc2MjtlLk9tYWNyb25ncmF2ZT03NzYwO2UuT21lZ2E9ODQ4NjtlLk9tZWdhY3lyaWxsaWM9MTEyMDtlLk9tZWdhZ3JlZWs9OTM3O2UuT21lZ2Fyb3VuZGN5cmlsbGljPTExNDY7ZS5PbWVnYXRpdGxvY3lyaWxsaWM9MTE0ODtlLk9tZWdhdG9ub3M9OTExO2UuT21pY3Jvbj05Mjc7ZS5PbWljcm9udG9ub3M9OTA4O2UuT21vbm9zcGFjZT02NTMyNztlLk9uZXJvbWFuPTg1NDQ7ZS5Pb2dvbmVrPTQ5MDtlLk9vZ29uZWttYWNyb249NDkyO2UuT29wZW49MzkwO2UuT3NsYXNoPTIxNjtlLk9zbGFzaGFjdXRlPTUxMDtlLk9zbGFzaHNtYWxsPTYzNDgwO2UuT3NtYWxsPTYzMzQzO2UuT3N0cm9rZWFjdXRlPTUxMDtlLk90Y3lyaWxsaWM9MTE1MDtlLk90aWxkZT0yMTM7ZS5PdGlsZGVhY3V0ZT03NzU2O2UuT3RpbGRlZGllcmVzaXM9Nzc1ODtlLk90aWxkZXNtYWxsPTYzNDc3O2UuUD04MDtlLlBhY3V0ZT03NzY0O2UuUGNpcmNsZT05NDEzO2UuUGRvdGFjY2VudD03NzY2O2UuUGVjeXJpbGxpYz0xMDU1O2UuUGVoYXJtZW5pYW49MTM1NDtlLlBlbWlkZGxlaG9va2N5cmlsbGljPTExOTA7ZS5QaGk9OTM0O2UuUGhvb2s9NDIwO2UuUGk9OTI4O2UuUGl3cmFybWVuaWFuPTEzNjM7ZS5QbW9ub3NwYWNlPTY1MzI4O2UuUHNpPTkzNjtlLlBzaWN5cmlsbGljPTExMzY7ZS5Qc21hbGw9NjMzNDQ7ZS5RPTgxO2UuUWNpcmNsZT05NDE0O2UuUW1vbm9zcGFjZT02NTMyOTtlLlFzbWFsbD02MzM0NTtlLlI9ODI7ZS5SYWFybWVuaWFuPTEzNTY7ZS5SYWN1dGU9MzQwO2UuUmNhcm9uPTM0NDtlLlJjZWRpbGxhPTM0MjtlLlJjaXJjbGU9OTQxNTtlLlJjb21tYWFjY2VudD0zNDI7ZS5SZGJsZ3JhdmU9NTI4O2UuUmRvdGFjY2VudD03NzY4O2UuUmRvdGJlbG93PTc3NzA7ZS5SZG90YmVsb3dtYWNyb249Nzc3MjtlLlJlaGFybWVuaWFuPTEzNjA7ZS5SZnJha3R1cj04NDc2O2UuUmhvPTkyOTtlLlJpbmdzbWFsbD02MzIyODtlLlJpbnZlcnRlZGJyZXZlPTUzMDtlLlJsaW5lYmVsb3c9Nzc3NDtlLlJtb25vc3BhY2U9NjUzMzA7ZS5Sc21hbGw9NjMzNDY7ZS5Sc21hbGxpbnZlcnRlZD02NDE7ZS5Sc21hbGxpbnZlcnRlZHN1cGVyaW9yPTY5NDtlLlM9ODM7ZS5TRjAxMDAwMD05NDg0O2UuU0YwMjAwMDA9OTQ5MjtlLlNGMDMwMDAwPTk0ODg7ZS5TRjA0MDAwMD05NDk2O2UuU0YwNTAwMDA9OTUzMjtlLlNGMDYwMDAwPTk1MTY7ZS5TRjA3MDAwMD05NTI0O2UuU0YwODAwMDA9OTUwMDtlLlNGMDkwMDAwPTk1MDg7ZS5TRjEwMDAwMD05NDcyO2UuU0YxMTAwMDA9OTQ3NDtlLlNGMTkwMDAwPTk1Njk7ZS5TRjIwMDAwMD05NTcwO2UuU0YyMTAwMDA9OTU1ODtlLlNGMjIwMDAwPTk1NTc7ZS5TRjIzMDAwMD05NTcxO2UuU0YyNDAwMDA9OTU1MztlLlNGMjUwMDAwPTk1NTk7ZS5TRjI2MDAwMD05NTY1O2UuU0YyNzAwMDA9OTU2NDtlLlNGMjgwMDAwPTk1NjM7ZS5TRjM2MDAwMD05NTY2O2UuU0YzNzAwMDA9OTU2NztlLlNGMzgwMDAwPTk1NjI7ZS5TRjM5MDAwMD05NTU2O2UuU0Y0MDAwMDA9OTU3NztlLlNGNDEwMDAwPTk1NzQ7ZS5TRjQyMDAwMD05NTY4O2UuU0Y0MzAwMDA9OTU1MjtlLlNGNDQwMDAwPTk1ODA7ZS5TRjQ1MDAwMD05NTc1O2UuU0Y0NjAwMDA9OTU3NjtlLlNGNDcwMDAwPTk1NzI7ZS5TRjQ4MDAwMD05NTczO2UuU0Y0OTAwMDA9OTU2MTtlLlNGNTAwMDAwPTk1NjA7ZS5TRjUxMDAwMD05NTU0O2UuU0Y1MjAwMDA9OTU1NTtlLlNGNTMwMDAwPTk1Nzk7ZS5TRjU0MDAwMD05NTc4O2UuU2FjdXRlPTM0NjtlLlNhY3V0ZWRvdGFjY2VudD03NzgwO2UuU2FtcGlncmVlaz05OTI7ZS5TY2Fyb249MzUyO2UuU2Nhcm9uZG90YWNjZW50PTc3ODI7ZS5TY2Fyb25zbWFsbD02MzIyOTtlLlNjZWRpbGxhPTM1MDtlLlNjaHdhPTM5OTtlLlNjaHdhY3lyaWxsaWM9MTI0MDtlLlNjaHdhZGllcmVzaXNjeXJpbGxpYz0xMjQyO2UuU2NpcmNsZT05NDE2O2UuU2NpcmN1bWZsZXg9MzQ4O2UuU2NvbW1hYWNjZW50PTUzNjtlLlNkb3RhY2NlbnQ9Nzc3NjtlLlNkb3RiZWxvdz03Nzc4O2UuU2RvdGJlbG93ZG90YWNjZW50PTc3ODQ7ZS5TZWhhcm1lbmlhbj0xMzU3O2UuU2V2ZW5yb21hbj04NTUwO2UuU2hhYXJtZW5pYW49MTM1MTtlLlNoYWN5cmlsbGljPTEwNjQ7ZS5TaGNoYWN5cmlsbGljPTEwNjU7ZS5TaGVpY29wdGljPTk5NDtlLlNoaGFjeXJpbGxpYz0xMjEwO2UuU2hpbWFjb3B0aWM9MTAwNDtlLlNpZ21hPTkzMTtlLlNpeHJvbWFuPTg1NDk7ZS5TbW9ub3NwYWNlPTY1MzMxO2UuU29mdHNpZ25jeXJpbGxpYz0xMDY4O2UuU3NtYWxsPTYzMzQ3O2UuU3RpZ21hZ3JlZWs9OTg2O2UuVD04NDtlLlRhdT05MzI7ZS5UYmFyPTM1ODtlLlRjYXJvbj0zNTY7ZS5UY2VkaWxsYT0zNTQ7ZS5UY2lyY2xlPTk0MTc7ZS5UY2lyY3VtZmxleGJlbG93PTc3OTI7ZS5UY29tbWFhY2NlbnQ9MzU0O2UuVGRvdGFjY2VudD03Nzg2O2UuVGRvdGJlbG93PTc3ODg7ZS5UZWN5cmlsbGljPTEwNTg7ZS5UZWRlc2NlbmRlcmN5cmlsbGljPTExOTY7ZS5UZW5yb21hbj04NTUzO2UuVGV0c2VjeXJpbGxpYz0xMjA0O2UuVGhldGE9OTIwO2UuVGhvb2s9NDI4O2UuVGhvcm49MjIyO2UuVGhvcm5zbWFsbD02MzQ4NjtlLlRocmVlcm9tYW49ODU0NjtlLlRpbGRlc21hbGw9NjMyMzA7ZS5UaXduYXJtZW5pYW49MTM1OTtlLlRsaW5lYmVsb3c9Nzc5MDtlLlRtb25vc3BhY2U9NjUzMzI7ZS5Ub2FybWVuaWFuPTEzMzc7ZS5Ub25lZml2ZT00NDQ7ZS5Ub25lc2l4PTM4ODtlLlRvbmV0d289NDIzO2UuVHJldHJvZmxleGhvb2s9NDMwO2UuVHNlY3lyaWxsaWM9MTA2MjtlLlRzaGVjeXJpbGxpYz0xMDM1O2UuVHNtYWxsPTYzMzQ4O2UuVHdlbHZlcm9tYW49ODU1NTtlLlR3b3JvbWFuPTg1NDU7ZS5VPTg1O2UuVWFjdXRlPTIxODtlLlVhY3V0ZXNtYWxsPTYzNDgyO2UuVWJyZXZlPTM2NDtlLlVjYXJvbj00Njc7ZS5VY2lyY2xlPTk0MTg7ZS5VY2lyY3VtZmxleD0yMTk7ZS5VY2lyY3VtZmxleGJlbG93PTc3OTg7ZS5VY2lyY3VtZmxleHNtYWxsPTYzNDgzO2UuVWN5cmlsbGljPTEwNTk7ZS5VZGJsYWN1dGU9MzY4O2UuVWRibGdyYXZlPTUzMjtlLlVkaWVyZXNpcz0yMjA7ZS5VZGllcmVzaXNhY3V0ZT00NzE7ZS5VZGllcmVzaXNiZWxvdz03Nzk0O2UuVWRpZXJlc2lzY2Fyb249NDczO2UuVWRpZXJlc2lzY3lyaWxsaWM9MTI2NDtlLlVkaWVyZXNpc2dyYXZlPTQ3NTtlLlVkaWVyZXNpc21hY3Jvbj00Njk7ZS5VZGllcmVzaXNzbWFsbD02MzQ4NDtlLlVkb3RiZWxvdz03OTA4O2UuVWdyYXZlPTIxNztlLlVncmF2ZXNtYWxsPTYzNDgxO2UuVWhvb2thYm92ZT03OTEwO2UuVWhvcm49NDMxO2UuVWhvcm5hY3V0ZT03OTEyO2UuVWhvcm5kb3RiZWxvdz03OTIwO2UuVWhvcm5ncmF2ZT03OTE0O2UuVWhvcm5ob29rYWJvdmU9NzkxNjtlLlVob3JudGlsZGU9NzkxODtlLlVodW5nYXJ1bWxhdXQ9MzY4O2UuVWh1bmdhcnVtbGF1dGN5cmlsbGljPTEyNjY7ZS5VaW52ZXJ0ZWRicmV2ZT01MzQ7ZS5Va2N5cmlsbGljPTExNDQ7ZS5VbWFjcm9uPTM2MjtlLlVtYWNyb25jeXJpbGxpYz0xMjYyO2UuVW1hY3JvbmRpZXJlc2lzPTc4MDI7ZS5VbW9ub3NwYWNlPTY1MzMzO2UuVW9nb25laz0zNzA7ZS5VcHNpbG9uPTkzMztlLlVwc2lsb24xPTk3ODtlLlVwc2lsb25hY3V0ZWhvb2tzeW1ib2xncmVlaz05Nzk7ZS5VcHNpbG9uYWZyaWNhbj00MzM7ZS5VcHNpbG9uZGllcmVzaXM9OTM5O2UuVXBzaWxvbmRpZXJlc2lzaG9va3N5bWJvbGdyZWVrPTk4MDtlLlVwc2lsb25ob29rc3ltYm9sPTk3ODtlLlVwc2lsb250b25vcz05MTA7ZS5VcmluZz0zNjY7ZS5Vc2hvcnRjeXJpbGxpYz0xMDM4O2UuVXNtYWxsPTYzMzQ5O2UuVXN0cmFpZ2h0Y3lyaWxsaWM9MTE5ODtlLlVzdHJhaWdodHN0cm9rZWN5cmlsbGljPTEyMDA7ZS5VdGlsZGU9MzYwO2UuVXRpbGRlYWN1dGU9NzgwMDtlLlV0aWxkZWJlbG93PTc3OTY7ZS5WPTg2O2UuVmNpcmNsZT05NDE5O2UuVmRvdGJlbG93PTc4MDY7ZS5WZWN5cmlsbGljPTEwNDI7ZS5WZXdhcm1lbmlhbj0xMzU4O2UuVmhvb2s9NDM0O2UuVm1vbm9zcGFjZT02NTMzNDtlLlZvYXJtZW5pYW49MTM1MjtlLlZzbWFsbD02MzM1MDtlLlZ0aWxkZT03ODA0O2UuVz04NztlLldhY3V0ZT03ODEwO2UuV2NpcmNsZT05NDIwO2UuV2NpcmN1bWZsZXg9MzcyO2UuV2RpZXJlc2lzPTc4MTI7ZS5XZG90YWNjZW50PTc4MTQ7ZS5XZG90YmVsb3c9NzgxNjtlLldncmF2ZT03ODA4O2UuV21vbm9zcGFjZT02NTMzNTtlLldzbWFsbD02MzM1MTtlLlg9ODg7ZS5YY2lyY2xlPTk0MjE7ZS5YZGllcmVzaXM9NzgyMDtlLlhkb3RhY2NlbnQ9NzgxODtlLlhlaGFybWVuaWFuPTEzNDE7ZS5YaT05MjY7ZS5YbW9ub3NwYWNlPTY1MzM2O2UuWHNtYWxsPTYzMzUyO2UuWT04OTtlLllhY3V0ZT0yMjE7ZS5ZYWN1dGVzbWFsbD02MzQ4NTtlLllhdGN5cmlsbGljPTExMjI7ZS5ZY2lyY2xlPTk0MjI7ZS5ZY2lyY3VtZmxleD0zNzQ7ZS5ZZGllcmVzaXM9Mzc2O2UuWWRpZXJlc2lzc21hbGw9NjM0ODc7ZS5ZZG90YWNjZW50PTc4MjI7ZS5ZZG90YmVsb3c9NzkyNDtlLlllcmljeXJpbGxpYz0xMDY3O2UuWWVydWRpZXJlc2lzY3lyaWxsaWM9MTI3MjtlLllncmF2ZT03OTIyO2UuWWhvb2s9NDM1O2UuWWhvb2thYm92ZT03OTI2O2UuWWlhcm1lbmlhbj0xMzQ5O2UuWWljeXJpbGxpYz0xMDMxO2UuWWl3bmFybWVuaWFuPTEzNjI7ZS5ZbW9ub3NwYWNlPTY1MzM3O2UuWXNtYWxsPTYzMzUzO2UuWXRpbGRlPTc5Mjg7ZS5ZdXNiaWdjeXJpbGxpYz0xMTMwO2UuWXVzYmlnaW90aWZpZWRjeXJpbGxpYz0xMTMyO2UuWXVzbGl0dGxlY3lyaWxsaWM9MTEyNjtlLll1c2xpdHRsZWlvdGlmaWVkY3lyaWxsaWM9MTEyODtlLlo9OTA7ZS5aYWFybWVuaWFuPTEzMzQ7ZS5aYWN1dGU9Mzc3O2UuWmNhcm9uPTM4MTtlLlpjYXJvbnNtYWxsPTYzMjMxO2UuWmNpcmNsZT05NDIzO2UuWmNpcmN1bWZsZXg9NzgyNDtlLlpkb3Q9Mzc5O2UuWmRvdGFjY2VudD0zNzk7ZS5aZG90YmVsb3c9NzgyNjtlLlplY3lyaWxsaWM9MTA0NztlLlplZGVzY2VuZGVyY3lyaWxsaWM9MTE3NjtlLlplZGllcmVzaXNjeXJpbGxpYz0xMjQ2O2UuWmV0YT05MTg7ZS5aaGVhcm1lbmlhbj0xMzM4O2UuWmhlYnJldmVjeXJpbGxpYz0xMjE3O2UuWmhlY3lyaWxsaWM9MTA0NjtlLlpoZWRlc2NlbmRlcmN5cmlsbGljPTExNzQ7ZS5aaGVkaWVyZXNpc2N5cmlsbGljPTEyNDQ7ZS5abGluZWJlbG93PTc4Mjg7ZS5abW9ub3NwYWNlPTY1MzM4O2UuWnNtYWxsPTYzMzU0O2UuWnN0cm9rZT00Mzc7ZS5hPTk3O2UuYWFiZW5nYWxpPTI0Mzg7ZS5hYWN1dGU9MjI1O2UuYWFkZXZhPTIzMTA7ZS5hYWd1amFyYXRpPTI2OTQ7ZS5hYWd1cm11a2hpPTI1NjY7ZS5hYW1hdHJhZ3VybXVraGk9MjYyMjtlLmFhcnVzcXVhcmU9MTMwNTk7ZS5hYXZvd2Vsc2lnbmJlbmdhbGk9MjQ5NDtlLmFhdm93ZWxzaWduZGV2YT0yMzY2O2UuYWF2b3dlbHNpZ25ndWphcmF0aT0yNzUwO2UuYWJicmV2aWF0aW9ubWFya2FybWVuaWFuPTEzNzU7ZS5hYmJyZXZpYXRpb25zaWduZGV2YT0yNDE2O2UuYWJlbmdhbGk9MjQzNztlLmFib3BvbW9mbz0xMjU3MDtlLmFicmV2ZT0yNTk7ZS5hYnJldmVhY3V0ZT03ODU1O2UuYWJyZXZlY3lyaWxsaWM9MTIzMztlLmFicmV2ZWRvdGJlbG93PTc4NjM7ZS5hYnJldmVncmF2ZT03ODU3O2UuYWJyZXZlaG9va2Fib3ZlPTc4NTk7ZS5hYnJldmV0aWxkZT03ODYxO2UuYWNhcm9uPTQ2MjtlLmFjaXJjbGU9OTQyNDtlLmFjaXJjdW1mbGV4PTIyNjtlLmFjaXJjdW1mbGV4YWN1dGU9Nzg0NTtlLmFjaXJjdW1mbGV4ZG90YmVsb3c9Nzg1MztlLmFjaXJjdW1mbGV4Z3JhdmU9Nzg0NztlLmFjaXJjdW1mbGV4aG9va2Fib3ZlPTc4NDk7ZS5hY2lyY3VtZmxleHRpbGRlPTc4NTE7ZS5hY3V0ZT0xODA7ZS5hY3V0ZWJlbG93Y21iPTc5MTtlLmFjdXRlY21iPTc2OTtlLmFjdXRlY29tYj03Njk7ZS5hY3V0ZWRldmE9MjM4ODtlLmFjdXRlbG93bW9kPTcxOTtlLmFjdXRldG9uZWNtYj04MzM7ZS5hY3lyaWxsaWM9MTA3MjtlLmFkYmxncmF2ZT01MTM7ZS5hZGRha2d1cm11a2hpPTI2NzM7ZS5hZGV2YT0yMzA5O2UuYWRpZXJlc2lzPTIyODtlLmFkaWVyZXNpc2N5cmlsbGljPTEyMzU7ZS5hZGllcmVzaXNtYWNyb249NDc5O2UuYWRvdGJlbG93PTc4NDE7ZS5hZG90bWFjcm9uPTQ4MTtlLmFlPTIzMDtlLmFlYWN1dGU9NTA5O2UuYWVrb3JlYW49MTI2MjQ7ZS5hZW1hY3Jvbj00ODM7ZS5hZmlpMDAyMDg9ODIxMztlLmFmaWkwODk0MT04MzU2O2UuYWZpaTEwMDE3PTEwNDA7ZS5hZmlpMTAwMTg9MTA0MTtlLmFmaWkxMDAxOT0xMDQyO2UuYWZpaTEwMDIwPTEwNDM7ZS5hZmlpMTAwMjE9MTA0NDtlLmFmaWkxMDAyMj0xMDQ1O2UuYWZpaTEwMDIzPTEwMjU7ZS5hZmlpMTAwMjQ9MTA0NjtlLmFmaWkxMDAyNT0xMDQ3O2UuYWZpaTEwMDI2PTEwNDg7ZS5hZmlpMTAwMjc9MTA0OTtlLmFmaWkxMDAyOD0xMDUwO2UuYWZpaTEwMDI5PTEwNTE7ZS5hZmlpMTAwMzA9MTA1MjtlLmFmaWkxMDAzMT0xMDUzO2UuYWZpaTEwMDMyPTEwNTQ7ZS5hZmlpMTAwMzM9MTA1NTtlLmFmaWkxMDAzND0xMDU2O2UuYWZpaTEwMDM1PTEwNTc7ZS5hZmlpMTAwMzY9MTA1ODtlLmFmaWkxMDAzNz0xMDU5O2UuYWZpaTEwMDM4PTEwNjA7ZS5hZmlpMTAwMzk9MTA2MTtlLmFmaWkxMDA0MD0xMDYyO2UuYWZpaTEwMDQxPTEwNjM7ZS5hZmlpMTAwNDI9MTA2NDtlLmFmaWkxMDA0Mz0xMDY1O2UuYWZpaTEwMDQ0PTEwNjY7ZS5hZmlpMTAwNDU9MTA2NztlLmFmaWkxMDA0Nj0xMDY4O2UuYWZpaTEwMDQ3PTEwNjk7ZS5hZmlpMTAwNDg9MTA3MDtlLmFmaWkxMDA0OT0xMDcxO2UuYWZpaTEwMDUwPTExNjg7ZS5hZmlpMTAwNTE9MTAyNjtlLmFmaWkxMDA1Mj0xMDI3O2UuYWZpaTEwMDUzPTEwMjg7ZS5hZmlpMTAwNTQ9MTAyOTtlLmFmaWkxMDA1NT0xMDMwO2UuYWZpaTEwMDU2PTEwMzE7ZS5hZmlpMTAwNTc9MTAzMjtlLmFmaWkxMDA1OD0xMDMzO2UuYWZpaTEwMDU5PTEwMzQ7ZS5hZmlpMTAwNjA9MTAzNTtlLmFmaWkxMDA2MT0xMDM2O2UuYWZpaTEwMDYyPTEwMzg7ZS5hZmlpMTAwNjM9NjMxNzI7ZS5hZmlpMTAwNjQ9NjMxNzM7ZS5hZmlpMTAwNjU9MTA3MjtlLmFmaWkxMDA2Nj0xMDczO2UuYWZpaTEwMDY3PTEwNzQ7ZS5hZmlpMTAwNjg9MTA3NTtlLmFmaWkxMDA2OT0xMDc2O2UuYWZpaTEwMDcwPTEwNzc7ZS5hZmlpMTAwNzE9MTEwNTtlLmFmaWkxMDA3Mj0xMDc4O2UuYWZpaTEwMDczPTEwNzk7ZS5hZmlpMTAwNzQ9MTA4MDtlLmFmaWkxMDA3NT0xMDgxO2UuYWZpaTEwMDc2PTEwODI7ZS5hZmlpMTAwNzc9MTA4MztlLmFmaWkxMDA3OD0xMDg0O2UuYWZpaTEwMDc5PTEwODU7ZS5hZmlpMTAwODA9MTA4NjtlLmFmaWkxMDA4MT0xMDg3O2UuYWZpaTEwMDgyPTEwODg7ZS5hZmlpMTAwODM9MTA4OTtlLmFmaWkxMDA4ND0xMDkwO2UuYWZpaTEwMDg1PTEwOTE7ZS5hZmlpMTAwODY9MTA5MjtlLmFmaWkxMDA4Nz0xMDkzO2UuYWZpaTEwMDg4PTEwOTQ7ZS5hZmlpMTAwODk9MTA5NTtlLmFmaWkxMDA5MD0xMDk2O2UuYWZpaTEwMDkxPTEwOTc7ZS5hZmlpMTAwOTI9MTA5ODtlLmFmaWkxMDA5Mz0xMDk5O2UuYWZpaTEwMDk0PTExMDA7ZS5hZmlpMTAwOTU9MTEwMTtlLmFmaWkxMDA5Nj0xMTAyO2UuYWZpaTEwMDk3PTExMDM7ZS5hZmlpMTAwOTg9MTE2OTtlLmFmaWkxMDA5OT0xMTA2O2UuYWZpaTEwMTAwPTExMDc7ZS5hZmlpMTAxMDE9MTEwODtlLmFmaWkxMDEwMj0xMTA5O2UuYWZpaTEwMTAzPTExMTA7ZS5hZmlpMTAxMDQ9MTExMTtlLmFmaWkxMDEwNT0xMTEyO2UuYWZpaTEwMTA2PTExMTM7ZS5hZmlpMTAxMDc9MTExNDtlLmFmaWkxMDEwOD0xMTE1O2UuYWZpaTEwMTA5PTExMTY7ZS5hZmlpMTAxMTA9MTExODtlLmFmaWkxMDE0NT0xMDM5O2UuYWZpaTEwMTQ2PTExMjI7ZS5hZmlpMTAxNDc9MTEzODtlLmFmaWkxMDE0OD0xMTQwO2UuYWZpaTEwMTkyPTYzMTc0O2UuYWZpaTEwMTkzPTExMTk7ZS5hZmlpMTAxOTQ9MTEyMztlLmFmaWkxMDE5NT0xMTM5O2UuYWZpaTEwMTk2PTExNDE7ZS5hZmlpMTA4MzE9NjMxNzU7ZS5hZmlpMTA4MzI9NjMxNzY7ZS5hZmlpMTA4NDY9MTI0MTtlLmFmaWkyOTk9ODIwNjtlLmFmaWkzMDA9ODIwNztlLmFmaWkzMDE9ODIwNTtlLmFmaWk1NzM4MT0xNjQyO2UuYWZpaTU3Mzg4PTE1NDg7ZS5hZmlpNTczOTI9MTYzMjtlLmFmaWk1NzM5Mz0xNjMzO2UuYWZpaTU3Mzk0PTE2MzQ7ZS5hZmlpNTczOTU9MTYzNTtlLmFmaWk1NzM5Nj0xNjM2O2UuYWZpaTU3Mzk3PTE2Mzc7ZS5hZmlpNTczOTg9MTYzODtlLmFmaWk1NzM5OT0xNjM5O2UuYWZpaTU3NDAwPTE2NDA7ZS5hZmlpNTc0MDE9MTY0MTtlLmFmaWk1NzQwMz0xNTYzO2UuYWZpaTU3NDA3PTE1Njc7ZS5hZmlpNTc0MDk9MTU2OTtlLmFmaWk1NzQxMD0xNTcwO2UuYWZpaTU3NDExPTE1NzE7ZS5hZmlpNTc0MTI9MTU3MjtlLmFmaWk1NzQxMz0xNTczO2UuYWZpaTU3NDE0PTE1NzQ7ZS5hZmlpNTc0MTU9MTU3NTtlLmFmaWk1NzQxNj0xNTc2O2UuYWZpaTU3NDE3PTE1Nzc7ZS5hZmlpNTc0MTg9MTU3ODtlLmFmaWk1NzQxOT0xNTc5O2UuYWZpaTU3NDIwPTE1ODA7ZS5hZmlpNTc0MjE9MTU4MTtlLmFmaWk1NzQyMj0xNTgyO2UuYWZpaTU3NDIzPTE1ODM7ZS5hZmlpNTc0MjQ9MTU4NDtlLmFmaWk1NzQyNT0xNTg1O2UuYWZpaTU3NDI2PTE1ODY7ZS5hZmlpNTc0Mjc9MTU4NztlLmFmaWk1NzQyOD0xNTg4O2UuYWZpaTU3NDI5PTE1ODk7ZS5hZmlpNTc0MzA9MTU5MDtlLmFmaWk1NzQzMT0xNTkxO2UuYWZpaTU3NDMyPTE1OTI7ZS5hZmlpNTc0MzM9MTU5MztlLmFmaWk1NzQzND0xNTk0O2UuYWZpaTU3NDQwPTE2MDA7ZS5hZmlpNTc0NDE9MTYwMTtlLmFmaWk1NzQ0Mj0xNjAyO2UuYWZpaTU3NDQzPTE2MDM7ZS5hZmlpNTc0NDQ9MTYwNDtlLmFmaWk1NzQ0NT0xNjA1O2UuYWZpaTU3NDQ2PTE2MDY7ZS5hZmlpNTc0NDg9MTYwODtlLmFmaWk1NzQ0OT0xNjA5O2UuYWZpaTU3NDUwPTE2MTA7ZS5hZmlpNTc0NTE9MTYxMTtlLmFmaWk1NzQ1Mj0xNjEyO2UuYWZpaTU3NDUzPTE2MTM7ZS5hZmlpNTc0NTQ9MTYxNDtlLmFmaWk1NzQ1NT0xNjE1O2UuYWZpaTU3NDU2PTE2MTY7ZS5hZmlpNTc0NTc9MTYxNztlLmFmaWk1NzQ1OD0xNjE4O2UuYWZpaTU3NDcwPTE2MDc7ZS5hZmlpNTc1MDU9MTcwMDtlLmFmaWk1NzUwNj0xNjYyO2UuYWZpaTU3NTA3PTE2NzA7ZS5hZmlpNTc1MDg9MTY4ODtlLmFmaWk1NzUwOT0xNzExO2UuYWZpaTU3NTExPTE2NTc7ZS5hZmlpNTc1MTI9MTY3MjtlLmFmaWk1NzUxMz0xNjgxO2UuYWZpaTU3NTE0PTE3MjI7ZS5hZmlpNTc1MTk9MTc0NjtlLmFmaWk1NzUzND0xNzQ5O2UuYWZpaTU3NjM2PTgzNjI7ZS5hZmlpNTc2NDU9MTQ3MDtlLmFmaWk1NzY1OD0xNDc1O2UuYWZpaTU3NjY0PTE0ODg7ZS5hZmlpNTc2NjU9MTQ4OTtlLmFmaWk1NzY2Nj0xNDkwO2UuYWZpaTU3NjY3PTE0OTE7ZS5hZmlpNTc2Njg9MTQ5MjtlLmFmaWk1NzY2OT0xNDkzO2UuYWZpaTU3NjcwPTE0OTQ7ZS5hZmlpNTc2NzE9MTQ5NTtlLmFmaWk1NzY3Mj0xNDk2O2UuYWZpaTU3NjczPTE0OTc7ZS5hZmlpNTc2NzQ9MTQ5ODtlLmFmaWk1NzY3NT0xNDk5O2UuYWZpaTU3Njc2PTE1MDA7ZS5hZmlpNTc2Nzc9MTUwMTtlLmFmaWk1NzY3OD0xNTAyO2UuYWZpaTU3Njc5PTE1MDM7ZS5hZmlpNTc2ODA9MTUwNDtlLmFmaWk1NzY4MT0xNTA1O2UuYWZpaTU3NjgyPTE1MDY7ZS5hZmlpNTc2ODM9MTUwNztlLmFmaWk1NzY4ND0xNTA4O2UuYWZpaTU3Njg1PTE1MDk7ZS5hZmlpNTc2ODY9MTUxMDtlLmFmaWk1NzY4Nz0xNTExO2UuYWZpaTU3Njg4PTE1MTI7ZS5hZmlpNTc2ODk9MTUxMztlLmFmaWk1NzY5MD0xNTE0O2UuYWZpaTU3Njk0PTY0Mjk4O2UuYWZpaTU3Njk1PTY0Mjk5O2UuYWZpaTU3NzAwPTY0MzMxO2UuYWZpaTU3NzA1PTY0Mjg3O2UuYWZpaTU3NzE2PTE1MjA7ZS5hZmlpNTc3MTc9MTUyMTtlLmFmaWk1NzcxOD0xNTIyO2UuYWZpaTU3NzIzPTY0MzA5O2UuYWZpaTU3NzkzPTE0NjA7ZS5hZmlpNTc3OTQ9MTQ2MTtlLmFmaWk1Nzc5NT0xNDYyO2UuYWZpaTU3Nzk2PTE0Njc7ZS5hZmlpNTc3OTc9MTQ2NDtlLmFmaWk1Nzc5OD0xNDYzO2UuYWZpaTU3Nzk5PTE0NTY7ZS5hZmlpNTc4MDA9MTQ1ODtlLmFmaWk1NzgwMT0xNDU3O2UuYWZpaTU3ODAyPTE0NTk7ZS5hZmlpNTc4MDM9MTQ3NDtlLmFmaWk1NzgwND0xNDczO2UuYWZpaTU3ODA2PTE0NjU7ZS5hZmlpNTc4MDc9MTQ2ODtlLmFmaWk1NzgzOT0xNDY5O2UuYWZpaTU3ODQxPTE0NzE7ZS5hZmlpNTc4NDI9MTQ3MjtlLmFmaWk1NzkyOT03MDA7ZS5hZmlpNjEyNDg9ODQ1MztlLmFmaWk2MTI4OT04NDY3O2UuYWZpaTYxMzUyPTg0NzA7ZS5hZmlpNjE1NzM9ODIzNjtlLmFmaWk2MTU3ND04MjM3O2UuYWZpaTYxNTc1PTgyMzg7ZS5hZmlpNjE2NjQ9ODIwNDtlLmFmaWk2MzE2Nz0xNjQ1O2UuYWZpaTY0OTM3PTcwMTtlLmFncmF2ZT0yMjQ7ZS5hZ3VqYXJhdGk9MjY5MztlLmFndXJtdWtoaT0yNTY1O2UuYWhpcmFnYW5hPTEyMzU0O2UuYWhvb2thYm92ZT03ODQzO2UuYWliZW5nYWxpPTI0NDg7ZS5haWJvcG9tb2ZvPTEyNTc0O2UuYWlkZXZhPTIzMjA7ZS5haWVjeXJpbGxpYz0xMjM3O2UuYWlndWphcmF0aT0yNzA0O2UuYWlndXJtdWtoaT0yNTc2O2UuYWltYXRyYWd1cm11a2hpPTI2MzI7ZS5haW5hcmFiaWM9MTU5MztlLmFpbmZpbmFsYXJhYmljPTY1MjI2O2UuYWluaW5pdGlhbGFyYWJpYz02NTIyNztlLmFpbm1lZGlhbGFyYWJpYz02NTIyODtlLmFpbnZlcnRlZGJyZXZlPTUxNTtlLmFpdm93ZWxzaWduYmVuZ2FsaT0yNTA0O2UuYWl2b3dlbHNpZ25kZXZhPTIzNzY7ZS5haXZvd2Vsc2lnbmd1amFyYXRpPTI3NjA7ZS5ha2F0YWthbmE9MTI0NTA7ZS5ha2F0YWthbmFoYWxmd2lkdGg9NjUzOTM7ZS5ha29yZWFuPTEyNjIzO2UuYWxlZj0xNDg4O2UuYWxlZmFyYWJpYz0xNTc1O2UuYWxlZmRhZ2VzaGhlYnJldz02NDMwNDtlLmFsZWZmaW5hbGFyYWJpYz02NTE2NjtlLmFsZWZoYW16YWFib3ZlYXJhYmljPTE1NzE7ZS5hbGVmaGFtemFhYm92ZWZpbmFsYXJhYmljPTY1MTU2O2UuYWxlZmhhbXphYmVsb3dhcmFiaWM9MTU3MztlLmFsZWZoYW16YWJlbG93ZmluYWxhcmFiaWM9NjUxNjA7ZS5hbGVmaGVicmV3PTE0ODg7ZS5hbGVmbGFtZWRoZWJyZXc9NjQzMzU7ZS5hbGVmbWFkZGFhYm92ZWFyYWJpYz0xNTcwO2UuYWxlZm1hZGRhYWJvdmVmaW5hbGFyYWJpYz02NTE1NDtlLmFsZWZtYWtzdXJhYXJhYmljPTE2MDk7ZS5hbGVmbWFrc3VyYWZpbmFsYXJhYmljPTY1MjY0O2UuYWxlZm1ha3N1cmFpbml0aWFsYXJhYmljPTY1MjY3O2UuYWxlZm1ha3N1cmFtZWRpYWxhcmFiaWM9NjUyNjg7ZS5hbGVmcGF0YWhoZWJyZXc9NjQzMDI7ZS5hbGVmcWFtYXRzaGVicmV3PTY0MzAzO2UuYWxlcGg9ODUwMTtlLmFsbGVxdWFsPTg3ODA7ZS5hbHBoYT05NDU7ZS5hbHBoYXRvbm9zPTk0MDtlLmFtYWNyb249MjU3O2UuYW1vbm9zcGFjZT02NTM0NTtlLmFtcGVyc2FuZD0zODtlLmFtcGVyc2FuZG1vbm9zcGFjZT02NTI4NjtlLmFtcGVyc2FuZHNtYWxsPTYzMjcwO2UuYW1zcXVhcmU9MTMyNTA7ZS5hbmJvcG9tb2ZvPTEyNTc4O2UuYW5nYm9wb21vZm89MTI1ODA7ZS5hbmdicmFja2V0bGVmdD0xMjI5NjtlLmFuZ2JyYWNrZXRyaWdodD0xMjI5NztlLmFuZ2toYW5raHV0aGFpPTM2NzQ7ZS5hbmdsZT04NzM2O2UuYW5nbGVicmFja2V0bGVmdD0xMjI5NjtlLmFuZ2xlYnJhY2tldGxlZnR2ZXJ0aWNhbD02NTA4NztlLmFuZ2xlYnJhY2tldHJpZ2h0PTEyMjk3O2UuYW5nbGVicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA4ODtlLmFuZ2xlbGVmdD05MDAxO2UuYW5nbGVyaWdodD05MDAyO2UuYW5nc3Ryb209ODQ5MTtlLmFub3RlbGVpYT05MDM7ZS5hbnVkYXR0YWRldmE9MjM4NjtlLmFudXN2YXJhYmVuZ2FsaT0yNDM0O2UuYW51c3ZhcmFkZXZhPTIzMDY7ZS5hbnVzdmFyYWd1amFyYXRpPTI2OTA7ZS5hb2dvbmVrPTI2MTtlLmFwYWF0b3NxdWFyZT0xMzA1NjtlLmFwYXJlbj05MzcyO2UuYXBvc3Ryb3BoZWFybWVuaWFuPTEzNzA7ZS5hcG9zdHJvcGhlbW9kPTcwMDtlLmFwcGxlPTYzNzQzO2UuYXBwcm9hY2hlcz04Nzg0O2UuYXBwcm94ZXF1YWw9ODc3NjtlLmFwcHJveGVxdWFsb3JpbWFnZT04Nzg2O2UuYXBwcm94aW1hdGVseWVxdWFsPTg3NzM7ZS5hcmFlYWVrb3JlYW49MTI2ODY7ZS5hcmFlYWtvcmVhbj0xMjY4NTtlLmFyYz04OTc4O2UuYXJpZ2h0aGFsZnJpbmc9NzgzNDtlLmFyaW5nPTIyOTtlLmFyaW5nYWN1dGU9NTA3O2UuYXJpbmdiZWxvdz03NjgxO2UuYXJyb3dib3RoPTg1OTY7ZS5hcnJvd2Rhc2hkb3duPTg2NzU7ZS5hcnJvd2Rhc2hsZWZ0PTg2NzI7ZS5hcnJvd2Rhc2hyaWdodD04Njc0O2UuYXJyb3dkYXNodXA9ODY3MztlLmFycm93ZGJsYm90aD04NjYwO2UuYXJyb3dkYmxkb3duPTg2NTk7ZS5hcnJvd2RibGxlZnQ9ODY1NjtlLmFycm93ZGJscmlnaHQ9ODY1ODtlLmFycm93ZGJsdXA9ODY1NztlLmFycm93ZG93bj04NTk1O2UuYXJyb3dkb3dubGVmdD04NjAxO2UuYXJyb3dkb3ducmlnaHQ9ODYwMDtlLmFycm93ZG93bndoaXRlPTg2ODE7ZS5hcnJvd2hlYWRkb3dubW9kPTcwOTtlLmFycm93aGVhZGxlZnRtb2Q9NzA2O2UuYXJyb3doZWFkcmlnaHRtb2Q9NzA3O2UuYXJyb3doZWFkdXBtb2Q9NzA4O2UuYXJyb3dob3JpemV4PTYzNzE5O2UuYXJyb3dsZWZ0PTg1OTI7ZS5hcnJvd2xlZnRkYmw9ODY1NjtlLmFycm93bGVmdGRibHN0cm9rZT04NjUzO2UuYXJyb3dsZWZ0b3ZlcnJpZ2h0PTg2NDY7ZS5hcnJvd2xlZnR3aGl0ZT04Njc4O2UuYXJyb3dyaWdodD04NTk0O2UuYXJyb3dyaWdodGRibHN0cm9rZT04NjU1O2UuYXJyb3dyaWdodGhlYXZ5PTEwMTQyO2UuYXJyb3dyaWdodG92ZXJsZWZ0PTg2NDQ7ZS5hcnJvd3JpZ2h0d2hpdGU9ODY4MDtlLmFycm93dGFibGVmdD04Njc2O2UuYXJyb3d0YWJyaWdodD04Njc3O2UuYXJyb3d1cD04NTkzO2UuYXJyb3d1cGRuPTg1OTc7ZS5hcnJvd3VwZG5ic2U9ODYxNjtlLmFycm93dXBkb3duYmFzZT04NjE2O2UuYXJyb3d1cGxlZnQ9ODU5ODtlLmFycm93dXBsZWZ0b2Zkb3duPTg2NDU7ZS5hcnJvd3VwcmlnaHQ9ODU5OTtlLmFycm93dXB3aGl0ZT04Njc5O2UuYXJyb3d2ZXJ0ZXg9NjM3MTg7ZS5hc2NpaWNpcmN1bT05NDtlLmFzY2lpY2lyY3VtbW9ub3NwYWNlPTY1MzQyO2UuYXNjaWl0aWxkZT0xMjY7ZS5hc2NpaXRpbGRlbW9ub3NwYWNlPTY1Mzc0O2UuYXNjcmlwdD01OTM7ZS5hc2NyaXB0dHVybmVkPTU5NDtlLmFzbWFsbGhpcmFnYW5hPTEyMzUzO2UuYXNtYWxsa2F0YWthbmE9MTI0NDk7ZS5hc21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4MztlLmFzdGVyaXNrPTQyO2UuYXN0ZXJpc2thbHRvbmVhcmFiaWM9MTY0NTtlLmFzdGVyaXNrYXJhYmljPTE2NDU7ZS5hc3Rlcmlza21hdGg9ODcyNztlLmFzdGVyaXNrbW9ub3NwYWNlPTY1MjkwO2UuYXN0ZXJpc2tzbWFsbD02NTEyMTtlLmFzdGVyaXNtPTgyNTg7ZS5hc3VwZXJpb3I9NjMyMDk7ZS5hc3ltcHRvdGljYWxseWVxdWFsPTg3NzE7ZS5hdD02NDtlLmF0aWxkZT0yMjc7ZS5hdG1vbm9zcGFjZT02NTMxMjtlLmF0c21hbGw9NjUxMzE7ZS5hdHVybmVkPTU5MjtlLmF1YmVuZ2FsaT0yNDUyO2UuYXVib3BvbW9mbz0xMjU3NjtlLmF1ZGV2YT0yMzI0O2UuYXVndWphcmF0aT0yNzA4O2UuYXVndXJtdWtoaT0yNTgwO2UuYXVsZW5ndGhtYXJrYmVuZ2FsaT0yNTE5O2UuYXVtYXRyYWd1cm11a2hpPTI2MzY7ZS5hdXZvd2Vsc2lnbmJlbmdhbGk9MjUwODtlLmF1dm93ZWxzaWduZGV2YT0yMzgwO2UuYXV2b3dlbHNpZ25ndWphcmF0aT0yNzY0O2UuYXZhZ3JhaGFkZXZhPTIzNjU7ZS5heWJhcm1lbmlhbj0xMzc3O2UuYXlpbj0xNTA2O2UuYXlpbmFsdG9uZWhlYnJldz02NDI4ODtlLmF5aW5oZWJyZXc9MTUwNjtlLmI9OTg7ZS5iYWJlbmdhbGk9MjQ3NjtlLmJhY2tzbGFzaD05MjtlLmJhY2tzbGFzaG1vbm9zcGFjZT02NTM0MDtlLmJhZGV2YT0yMzQ4O2UuYmFndWphcmF0aT0yNzMyO2UuYmFndXJtdWtoaT0yNjA0O2UuYmFoaXJhZ2FuYT0xMjQwMDtlLmJhaHR0aGFpPTM2NDc7ZS5iYWthdGFrYW5hPTEyNDk2O2UuYmFyPTEyNDtlLmJhcm1vbm9zcGFjZT02NTM3MjtlLmJib3BvbW9mbz0xMjU0OTtlLmJjaXJjbGU9OTQyNTtlLmJkb3RhY2NlbnQ9NzY4MztlLmJkb3RiZWxvdz03Njg1O2UuYmVhbWVkc2l4dGVlbnRobm90ZXM9OTgzNjtlLmJlY2F1c2U9ODc1NztlLmJlY3lyaWxsaWM9MTA3MztlLmJlaGFyYWJpYz0xNTc2O2UuYmVoZmluYWxhcmFiaWM9NjUxNjg7ZS5iZWhpbml0aWFsYXJhYmljPTY1MTY5O2UuYmVoaXJhZ2FuYT0xMjQwOTtlLmJlaG1lZGlhbGFyYWJpYz02NTE3MDtlLmJlaG1lZW1pbml0aWFsYXJhYmljPTY0NjcxO2UuYmVobWVlbWlzb2xhdGVkYXJhYmljPTY0NTIwO2UuYmVobm9vbmZpbmFsYXJhYmljPTY0NjIxO2UuYmVrYXRha2FuYT0xMjUwNTtlLmJlbmFybWVuaWFuPTEzNzg7ZS5iZXQ9MTQ4OTtlLmJldGE9OTQ2O2UuYmV0YXN5bWJvbGdyZWVrPTk3NjtlLmJldGRhZ2VzaD02NDMwNTtlLmJldGRhZ2VzaGhlYnJldz02NDMwNTtlLmJldGhlYnJldz0xNDg5O2UuYmV0cmFmZWhlYnJldz02NDMzMjtlLmJoYWJlbmdhbGk9MjQ3NztlLmJoYWRldmE9MjM0OTtlLmJoYWd1amFyYXRpPTI3MzM7ZS5iaGFndXJtdWtoaT0yNjA1O2UuYmhvb2s9NTk1O2UuYmloaXJhZ2FuYT0xMjQwMztlLmJpa2F0YWthbmE9MTI0OTk7ZS5iaWxhYmlhbGNsaWNrPTY2NDtlLmJpbmRpZ3VybXVraGk9MjU2MjtlLmJpcnVzcXVhcmU9MTMxMDU7ZS5ibGFja2NpcmNsZT05Njc5O2UuYmxhY2tkaWFtb25kPTk2NzA7ZS5ibGFja2Rvd25wb2ludGluZ3RyaWFuZ2xlPTk2NjA7ZS5ibGFja2xlZnRwb2ludGluZ3BvaW50ZXI9OTY2ODtlLmJsYWNrbGVmdHBvaW50aW5ndHJpYW5nbGU9OTY2NDtlLmJsYWNrbGVudGljdWxhcmJyYWNrZXRsZWZ0PTEyMzA0O2UuYmxhY2tsZW50aWN1bGFyYnJhY2tldGxlZnR2ZXJ0aWNhbD02NTA4MztlLmJsYWNrbGVudGljdWxhcmJyYWNrZXRyaWdodD0xMjMwNTtlLmJsYWNrbGVudGljdWxhcmJyYWNrZXRyaWdodHZlcnRpY2FsPTY1MDg0O2UuYmxhY2tsb3dlcmxlZnR0cmlhbmdsZT05Njk5O2UuYmxhY2tsb3dlcnJpZ2h0dHJpYW5nbGU9OTY5ODtlLmJsYWNrcmVjdGFuZ2xlPTk2NDQ7ZS5ibGFja3JpZ2h0cG9pbnRpbmdwb2ludGVyPTk2NTg7ZS5ibGFja3JpZ2h0cG9pbnRpbmd0cmlhbmdsZT05NjU0O2UuYmxhY2tzbWFsbHNxdWFyZT05NjQyO2UuYmxhY2tzbWlsaW5nZmFjZT05Nzg3O2UuYmxhY2tzcXVhcmU9OTYzMjtlLmJsYWNrc3Rhcj05NzMzO2UuYmxhY2t1cHBlcmxlZnR0cmlhbmdsZT05NzAwO2UuYmxhY2t1cHBlcnJpZ2h0dHJpYW5nbGU9OTcwMTtlLmJsYWNrdXBwb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY1MjtlLmJsYWNrdXBwb2ludGluZ3RyaWFuZ2xlPTk2NTA7ZS5ibGFuaz05MjUxO2UuYmxpbmViZWxvdz03Njg3O2UuYmxvY2s9OTYwODtlLmJtb25vc3BhY2U9NjUzNDY7ZS5ib2JhaW1haXRoYWk9MzYxMDtlLmJvaGlyYWdhbmE9MTI0MTI7ZS5ib2thdGFrYW5hPTEyNTA4O2UuYnBhcmVuPTkzNzM7ZS5icXNxdWFyZT0xMzI1MTtlLmJyYWNlZXg9NjM3MzI7ZS5icmFjZWxlZnQ9MTIzO2UuYnJhY2VsZWZ0YnQ9NjM3MzE7ZS5icmFjZWxlZnRtaWQ9NjM3MzA7ZS5icmFjZWxlZnRtb25vc3BhY2U9NjUzNzE7ZS5icmFjZWxlZnRzbWFsbD02NTExNTtlLmJyYWNlbGVmdHRwPTYzNzI5O2UuYnJhY2VsZWZ0dmVydGljYWw9NjUwNzk7ZS5icmFjZXJpZ2h0PTEyNTtlLmJyYWNlcmlnaHRidD02Mzc0MjtlLmJyYWNlcmlnaHRtaWQ9NjM3NDE7ZS5icmFjZXJpZ2h0bW9ub3NwYWNlPTY1MzczO2UuYnJhY2VyaWdodHNtYWxsPTY1MTE2O2UuYnJhY2VyaWdodHRwPTYzNzQwO2UuYnJhY2VyaWdodHZlcnRpY2FsPTY1MDgwO2UuYnJhY2tldGxlZnQ9OTE7ZS5icmFja2V0bGVmdGJ0PTYzNzI4O2UuYnJhY2tldGxlZnRleD02MzcyNztlLmJyYWNrZXRsZWZ0bW9ub3NwYWNlPTY1MzM5O2UuYnJhY2tldGxlZnR0cD02MzcyNjtlLmJyYWNrZXRyaWdodD05MztlLmJyYWNrZXRyaWdodGJ0PTYzNzM5O2UuYnJhY2tldHJpZ2h0ZXg9NjM3Mzg7ZS5icmFja2V0cmlnaHRtb25vc3BhY2U9NjUzNDE7ZS5icmFja2V0cmlnaHR0cD02MzczNztlLmJyZXZlPTcyODtlLmJyZXZlYmVsb3djbWI9ODE0O2UuYnJldmVjbWI9Nzc0O2UuYnJldmVpbnZlcnRlZGJlbG93Y21iPTgxNTtlLmJyZXZlaW52ZXJ0ZWRjbWI9Nzg1O2UuYnJldmVpbnZlcnRlZGRvdWJsZWNtYj04NjU7ZS5icmlkZ2ViZWxvd2NtYj04MTA7ZS5icmlkZ2VpbnZlcnRlZGJlbG93Y21iPTgyNjtlLmJyb2tlbmJhcj0xNjY7ZS5ic3Ryb2tlPTM4NDtlLmJzdXBlcmlvcj02MzIxMDtlLmJ0b3BiYXI9Mzg3O2UuYnVoaXJhZ2FuYT0xMjQwNjtlLmJ1a2F0YWthbmE9MTI1MDI7ZS5idWxsZXQ9ODIyNjtlLmJ1bGxldGludmVyc2U9OTY4ODtlLmJ1bGxldG9wZXJhdG9yPTg3Mjk7ZS5idWxsc2V5ZT05Njc4O2UuYz05OTtlLmNhYXJtZW5pYW49MTM5MDtlLmNhYmVuZ2FsaT0yNDU4O2UuY2FjdXRlPTI2MztlLmNhZGV2YT0yMzMwO2UuY2FndWphcmF0aT0yNzE0O2UuY2FndXJtdWtoaT0yNTg2O2UuY2Fsc3F1YXJlPTEzMTkyO2UuY2FuZHJhYmluZHViZW5nYWxpPTI0MzM7ZS5jYW5kcmFiaW5kdWNtYj03ODQ7ZS5jYW5kcmFiaW5kdWRldmE9MjMwNTtlLmNhbmRyYWJpbmR1Z3VqYXJhdGk9MjY4OTtlLmNhcHNsb2NrPTg2ODI7ZS5jYXJlb2Y9ODQ1MztlLmNhcm9uPTcxMTtlLmNhcm9uYmVsb3djbWI9ODEyO2UuY2Fyb25jbWI9NzgwO2UuY2FycmlhZ2VyZXR1cm49ODYyOTtlLmNib3BvbW9mbz0xMjU2ODtlLmNjYXJvbj0yNjk7ZS5jY2VkaWxsYT0yMzE7ZS5jY2VkaWxsYWFjdXRlPTc2ODk7ZS5jY2lyY2xlPTk0MjY7ZS5jY2lyY3VtZmxleD0yNjU7ZS5jY3VybD01OTc7ZS5jZG90PTI2NztlLmNkb3RhY2NlbnQ9MjY3O2UuY2RzcXVhcmU9MTMyNTM7ZS5jZWRpbGxhPTE4NDtlLmNlZGlsbGFjbWI9ODA3O2UuY2VudD0xNjI7ZS5jZW50aWdyYWRlPTg0NTE7ZS5jZW50aW5mZXJpb3I9NjMxOTk7ZS5jZW50bW9ub3NwYWNlPTY1NTA0O2UuY2VudG9sZHN0eWxlPTYzMzk0O2UuY2VudHN1cGVyaW9yPTYzMjAwO2UuY2hhYXJtZW5pYW49MTQwMTtlLmNoYWJlbmdhbGk9MjQ1OTtlLmNoYWRldmE9MjMzMTtlLmNoYWd1amFyYXRpPTI3MTU7ZS5jaGFndXJtdWtoaT0yNTg3O2UuY2hib3BvbW9mbz0xMjU2NDtlLmNoZWFia2hhc2lhbmN5cmlsbGljPTEyMTM7ZS5jaGVja21hcms9MTAwMDM7ZS5jaGVjeXJpbGxpYz0xMDk1O2UuY2hlZGVzY2VuZGVyYWJraGFzaWFuY3lyaWxsaWM9MTIxNTtlLmNoZWRlc2NlbmRlcmN5cmlsbGljPTEyMDc7ZS5jaGVkaWVyZXNpc2N5cmlsbGljPTEyNjk7ZS5jaGVoYXJtZW5pYW49MTM5NTtlLmNoZWtoYWthc3NpYW5jeXJpbGxpYz0xMjI4O2UuY2hldmVydGljYWxzdHJva2VjeXJpbGxpYz0xMjA5O2UuY2hpPTk2NztlLmNoaWV1Y2hhY2lyY2xla29yZWFuPTEyOTE5O2UuY2hpZXVjaGFwYXJlbmtvcmVhbj0xMjgyMztlLmNoaWV1Y2hjaXJjbGVrb3JlYW49MTI5MDU7ZS5jaGlldWNoa29yZWFuPTEyNjE4O2UuY2hpZXVjaHBhcmVua29yZWFuPTEyODA5O2UuY2hvY2hhbmd0aGFpPTM1OTQ7ZS5jaG9jaGFudGhhaT0zNTkyO2UuY2hvY2hpbmd0aGFpPTM1OTM7ZS5jaG9jaG9ldGhhaT0zNTk2O2UuY2hvb2s9MzkyO2UuY2lldWNhY2lyY2xla29yZWFuPTEyOTE4O2UuY2lldWNhcGFyZW5rb3JlYW49MTI4MjI7ZS5jaWV1Y2NpcmNsZWtvcmVhbj0xMjkwNDtlLmNpZXVja29yZWFuPTEyNjE2O2UuY2lldWNwYXJlbmtvcmVhbj0xMjgwODtlLmNpZXVjdXBhcmVua29yZWFuPTEyODI4O2UuY2lyY2xlPTk2NzU7ZS5jaXJjbGVjb3B5cnQ9MTY5O2UuY2lyY2xlbXVsdGlwbHk9ODg1NTtlLmNpcmNsZW90PTg4NTc7ZS5jaXJjbGVwbHVzPTg4NTM7ZS5jaXJjbGVwb3N0YWxtYXJrPTEyMzQyO2UuY2lyY2xld2l0aGxlZnRoYWxmYmxhY2s9OTY4MDtlLmNpcmNsZXdpdGhyaWdodGhhbGZibGFjaz05NjgxO2UuY2lyY3VtZmxleD03MTA7ZS5jaXJjdW1mbGV4YmVsb3djbWI9ODEzO2UuY2lyY3VtZmxleGNtYj03NzA7ZS5jbGVhcj04OTk5O2UuY2xpY2thbHZlb2xhcj00NTA7ZS5jbGlja2RlbnRhbD00NDg7ZS5jbGlja2xhdGVyYWw9NDQ5O2UuY2xpY2tyZXRyb2ZsZXg9NDUxO2UuY2x1Yj05ODI3O2UuY2x1YnN1aXRibGFjaz05ODI3O2UuY2x1YnN1aXR3aGl0ZT05ODMxO2UuY21jdWJlZHNxdWFyZT0xMzIyMDtlLmNtb25vc3BhY2U9NjUzNDc7ZS5jbXNxdWFyZWRzcXVhcmU9MTMyMTY7ZS5jb2FybWVuaWFuPTE0MDk7ZS5jb2xvbj01ODtlLmNvbG9ubW9uZXRhcnk9ODM1MztlLmNvbG9ubW9ub3NwYWNlPTY1MzA2O2UuY29sb25zaWduPTgzNTM7ZS5jb2xvbnNtYWxsPTY1MTA5O2UuY29sb250cmlhbmd1bGFyaGFsZm1vZD03MjE7ZS5jb2xvbnRyaWFuZ3VsYXJtb2Q9NzIwO2UuY29tbWE9NDQ7ZS5jb21tYWFib3ZlY21iPTc4NztlLmNvbW1hYWJvdmVyaWdodGNtYj03ODk7ZS5jb21tYWFjY2VudD02MzE3MTtlLmNvbW1hYXJhYmljPTE1NDg7ZS5jb21tYWFybWVuaWFuPTEzNzM7ZS5jb21tYWluZmVyaW9yPTYzMjAxO2UuY29tbWFtb25vc3BhY2U9NjUyOTI7ZS5jb21tYXJldmVyc2VkYWJvdmVjbWI9Nzg4O2UuY29tbWFyZXZlcnNlZG1vZD03MDE7ZS5jb21tYXNtYWxsPTY1MTA0O2UuY29tbWFzdXBlcmlvcj02MzIwMjtlLmNvbW1hdHVybmVkYWJvdmVjbWI9Nzg2O2UuY29tbWF0dXJuZWRtb2Q9Njk5O2UuY29tcGFzcz05Nzg4O2UuY29uZ3J1ZW50PTg3NzM7ZS5jb250b3VyaW50ZWdyYWw9ODc1MDtlLmNvbnRyb2w9ODk2MztlLmNvbnRyb2xBQ0s9NjtlLmNvbnRyb2xCRUw9NztlLmNvbnRyb2xCUz04O2UuY29udHJvbENBTj0yNDtlLmNvbnRyb2xDUj0xMztlLmNvbnRyb2xEQzE9MTc7ZS5jb250cm9sREMyPTE4O2UuY29udHJvbERDMz0xOTtlLmNvbnRyb2xEQzQ9MjA7ZS5jb250cm9sREVMPTEyNztlLmNvbnRyb2xETEU9MTY7ZS5jb250cm9sRU09MjU7ZS5jb250cm9sRU5RPTU7ZS5jb250cm9sRU9UPTQ7ZS5jb250cm9sRVNDPTI3O2UuY29udHJvbEVUQj0yMztlLmNvbnRyb2xFVFg9MztlLmNvbnRyb2xGRj0xMjtlLmNvbnRyb2xGUz0yODtlLmNvbnRyb2xHUz0yOTtlLmNvbnRyb2xIVD05O2UuY29udHJvbExGPTEwO2UuY29udHJvbE5BSz0yMTtlLmNvbnRyb2xOVUxMPTA7ZS5jb250cm9sUlM9MzA7ZS5jb250cm9sU0k9MTU7ZS5jb250cm9sU089MTQ7ZS5jb250cm9sU09UPTI7ZS5jb250cm9sU1RYPTE7ZS5jb250cm9sU1VCPTI2O2UuY29udHJvbFNZTj0yMjtlLmNvbnRyb2xVUz0zMTtlLmNvbnRyb2xWVD0xMTtlLmNvcHlyaWdodD0xNjk7ZS5jb3B5cmlnaHRzYW5zPTYzNzIxO2UuY29weXJpZ2h0c2VyaWY9NjMxOTM7ZS5jb3JuZXJicmFja2V0bGVmdD0xMjMwMDtlLmNvcm5lcmJyYWNrZXRsZWZ0aGFsZndpZHRoPTY1Mzc4O2UuY29ybmVyYnJhY2tldGxlZnR2ZXJ0aWNhbD02NTA4OTtlLmNvcm5lcmJyYWNrZXRyaWdodD0xMjMwMTtlLmNvcm5lcmJyYWNrZXRyaWdodGhhbGZ3aWR0aD02NTM3OTtlLmNvcm5lcmJyYWNrZXRyaWdodHZlcnRpY2FsPTY1MDkwO2UuY29ycG9yYXRpb25zcXVhcmU9MTMxODM7ZS5jb3NxdWFyZT0xMzI1NTtlLmNvdmVya2dzcXVhcmU9MTMyNTQ7ZS5jcGFyZW49OTM3NDtlLmNydXplaXJvPTgzNTQ7ZS5jc3RyZXRjaGVkPTY2MztlLmN1cmx5YW5kPTg5MTE7ZS5jdXJseW9yPTg5MTA7ZS5jdXJyZW5jeT0xNjQ7ZS5jeXJCcmV2ZT02MzE4NTtlLmN5ckZsZXg9NjMxODY7ZS5jeXJicmV2ZT02MzE4ODtlLmN5cmZsZXg9NjMxODk7ZS5kPTEwMDtlLmRhYXJtZW5pYW49MTM4MDtlLmRhYmVuZ2FsaT0yNDcwO2UuZGFkYXJhYmljPTE1OTA7ZS5kYWRldmE9MjM0MjtlLmRhZGZpbmFsYXJhYmljPTY1MjE0O2UuZGFkaW5pdGlhbGFyYWJpYz02NTIxNTtlLmRhZG1lZGlhbGFyYWJpYz02NTIxNjtlLmRhZ2VzaD0xNDY4O2UuZGFnZXNoaGVicmV3PTE0Njg7ZS5kYWdnZXI9ODIyNDtlLmRhZ2dlcmRibD04MjI1O2UuZGFndWphcmF0aT0yNzI2O2UuZGFndXJtdWtoaT0yNTk4O2UuZGFoaXJhZ2FuYT0xMjM4NDtlLmRha2F0YWthbmE9MTI0ODA7ZS5kYWxhcmFiaWM9MTU4MztlLmRhbGV0PTE0OTE7ZS5kYWxldGRhZ2VzaD02NDMwNztlLmRhbGV0ZGFnZXNoaGVicmV3PTY0MzA3O2UuZGFsZXRoZWJyZXc9MTQ5MTtlLmRhbGZpbmFsYXJhYmljPTY1MTk0O2UuZGFtbWFhcmFiaWM9MTYxNTtlLmRhbW1hbG93YXJhYmljPTE2MTU7ZS5kYW1tYXRhbmFsdG9uZWFyYWJpYz0xNjEyO2UuZGFtbWF0YW5hcmFiaWM9MTYxMjtlLmRhbmRhPTI0MDQ7ZS5kYXJnYWhlYnJldz0xNDQ3O2UuZGFyZ2FsZWZ0aGVicmV3PTE0NDc7ZS5kYXNpYXBuZXVtYXRhY3lyaWxsaWNjbWI9MTE1NztlLmRibEdyYXZlPTYzMTg3O2UuZGJsYW5nbGVicmFja2V0bGVmdD0xMjI5ODtlLmRibGFuZ2xlYnJhY2tldGxlZnR2ZXJ0aWNhbD02NTA4NTtlLmRibGFuZ2xlYnJhY2tldHJpZ2h0PTEyMjk5O2UuZGJsYW5nbGVicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA4NjtlLmRibGFyY2hpbnZlcnRlZGJlbG93Y21iPTgxMTtlLmRibGFycm93bGVmdD04NjYwO2UuZGJsYXJyb3dyaWdodD04NjU4O2UuZGJsZGFuZGE9MjQwNTtlLmRibGdyYXZlPTYzMTkwO2UuZGJsZ3JhdmVjbWI9NzgzO2UuZGJsaW50ZWdyYWw9ODc0ODtlLmRibGxvd2xpbmU9ODIxNTtlLmRibGxvd2xpbmVjbWI9ODE5O2UuZGJsb3ZlcmxpbmVjbWI9ODMxO2UuZGJscHJpbWVtb2Q9Njk4O2UuZGJsdmVydGljYWxiYXI9ODIxNDtlLmRibHZlcnRpY2FsbGluZWFib3ZlY21iPTc4MjtlLmRib3BvbW9mbz0xMjU1MztlLmRic3F1YXJlPTEzMjU2O2UuZGNhcm9uPTI3MTtlLmRjZWRpbGxhPTc2OTc7ZS5kY2lyY2xlPTk0Mjc7ZS5kY2lyY3VtZmxleGJlbG93PTc2OTk7ZS5kY3JvYXQ9MjczO2UuZGRhYmVuZ2FsaT0yNDY1O2UuZGRhZGV2YT0yMzM3O2UuZGRhZ3VqYXJhdGk9MjcyMTtlLmRkYWd1cm11a2hpPTI1OTM7ZS5kZGFsYXJhYmljPTE2NzI7ZS5kZGFsZmluYWxhcmFiaWM9NjQzOTM7ZS5kZGRoYWRldmE9MjM5NjtlLmRkaGFiZW5nYWxpPTI0NjY7ZS5kZGhhZGV2YT0yMzM4O2UuZGRoYWd1amFyYXRpPTI3MjI7ZS5kZGhhZ3VybXVraGk9MjU5NDtlLmRkb3RhY2NlbnQ9NzY5MTtlLmRkb3RiZWxvdz03NjkzO2UuZGVjaW1hbHNlcGFyYXRvcmFyYWJpYz0xNjQzO2UuZGVjaW1hbHNlcGFyYXRvcnBlcnNpYW49MTY0MztlLmRlY3lyaWxsaWM9MTA3NjtlLmRlZ3JlZT0xNzY7ZS5kZWhpaGVicmV3PTE0NTM7ZS5kZWhpcmFnYW5hPTEyMzkxO2UuZGVpY29wdGljPTEwMDc7ZS5kZWthdGFrYW5hPTEyNDg3O2UuZGVsZXRlbGVmdD05MDAzO2UuZGVsZXRlcmlnaHQ9ODk5ODtlLmRlbHRhPTk0ODtlLmRlbHRhdHVybmVkPTM5NztlLmRlbm9taW5hdG9ybWludXNvbmVudW1lcmF0b3JiZW5nYWxpPTI1NTI7ZS5kZXpoPTY3NjtlLmRoYWJlbmdhbGk9MjQ3MTtlLmRoYWRldmE9MjM0MztlLmRoYWd1amFyYXRpPTI3Mjc7ZS5kaGFndXJtdWtoaT0yNTk5O2UuZGhvb2s9NTk5O2UuZGlhbHl0aWthdG9ub3M9OTAxO2UuZGlhbHl0aWthdG9ub3NjbWI9ODM2O2UuZGlhbW9uZD05ODMwO2UuZGlhbW9uZHN1aXR3aGl0ZT05ODI2O2UuZGllcmVzaXM9MTY4O2UuZGllcmVzaXNhY3V0ZT02MzE5MTtlLmRpZXJlc2lzYmVsb3djbWI9ODA0O2UuZGllcmVzaXNjbWI9Nzc2O2UuZGllcmVzaXNncmF2ZT02MzE5MjtlLmRpZXJlc2lzdG9ub3M9OTAxO2UuZGloaXJhZ2FuYT0xMjM4NjtlLmRpa2F0YWthbmE9MTI0ODI7ZS5kaXR0b21hcms9MTIyOTE7ZS5kaXZpZGU9MjQ3O2UuZGl2aWRlcz04NzM5O2UuZGl2aXNpb25zbGFzaD04NzI1O2UuZGplY3lyaWxsaWM9MTEwNjtlLmRrc2hhZGU9OTYxOTtlLmRsaW5lYmVsb3c9NzY5NTtlLmRsc3F1YXJlPTEzMjA3O2UuZG1hY3Jvbj0yNzM7ZS5kbW9ub3NwYWNlPTY1MzQ4O2UuZG5ibG9jaz05NjA0O2UuZG9jaGFkYXRoYWk9MzU5ODtlLmRvZGVrdGhhaT0zNjA0O2UuZG9oaXJhZ2FuYT0xMjM5MztlLmRva2F0YWthbmE9MTI0ODk7ZS5kb2xsYXI9MzY7ZS5kb2xsYXJpbmZlcmlvcj02MzIwMztlLmRvbGxhcm1vbm9zcGFjZT02NTI4NDtlLmRvbGxhcm9sZHN0eWxlPTYzMjY4O2UuZG9sbGFyc21hbGw9NjUxMjk7ZS5kb2xsYXJzdXBlcmlvcj02MzIwNDtlLmRvbmc9ODM2MztlLmRvcnVzcXVhcmU9MTMwOTQ7ZS5kb3RhY2NlbnQ9NzI5O2UuZG90YWNjZW50Y21iPTc3NTtlLmRvdGJlbG93Y21iPTgwMztlLmRvdGJlbG93Y29tYj04MDM7ZS5kb3RrYXRha2FuYT0xMjUzOTtlLmRvdGxlc3NpPTMwNTtlLmRvdGxlc3NqPTYzMTY2O2UuZG90bGVzc2pzdHJva2Vob29rPTY0NDtlLmRvdG1hdGg9ODkwMTtlLmRvdHRlZGNpcmNsZT05Njc2O2UuZG91YmxleW9kcGF0YWg9NjQyODc7ZS5kb3VibGV5b2RwYXRhaGhlYnJldz02NDI4NztlLmRvd250YWNrYmVsb3djbWI9Nzk4O2UuZG93bnRhY2ttb2Q9NzI1O2UuZHBhcmVuPTkzNzU7ZS5kc3VwZXJpb3I9NjMyMTE7ZS5kdGFpbD01OTg7ZS5kdG9wYmFyPTM5NjtlLmR1aGlyYWdhbmE9MTIzODk7ZS5kdWthdGFrYW5hPTEyNDg1O2UuZHo9NDk5O2UuZHphbHRvbmU9Njc1O2UuZHpjYXJvbj00NTQ7ZS5kemN1cmw9Njc3O2UuZHplYWJraGFzaWFuY3lyaWxsaWM9MTI0OTtlLmR6ZWN5cmlsbGljPTExMDk7ZS5kemhlY3lyaWxsaWM9MTExOTtlLmU9MTAxO2UuZWFjdXRlPTIzMztlLmVhcnRoPTk3OTM7ZS5lYmVuZ2FsaT0yNDQ3O2UuZWJvcG9tb2ZvPTEyNTcyO2UuZWJyZXZlPTI3NztlLmVjYW5kcmFkZXZhPTIzMTc7ZS5lY2FuZHJhZ3VqYXJhdGk9MjcwMTtlLmVjYW5kcmF2b3dlbHNpZ25kZXZhPTIzNzM7ZS5lY2FuZHJhdm93ZWxzaWduZ3VqYXJhdGk9Mjc1NztlLmVjYXJvbj0yODM7ZS5lY2VkaWxsYWJyZXZlPTc3MDk7ZS5lY2hhcm1lbmlhbj0xMzgxO2UuZWNoeWl3bmFybWVuaWFuPTE0MTU7ZS5lY2lyY2xlPTk0Mjg7ZS5lY2lyY3VtZmxleD0yMzQ7ZS5lY2lyY3VtZmxleGFjdXRlPTc4NzE7ZS5lY2lyY3VtZmxleGJlbG93PTc3MDU7ZS5lY2lyY3VtZmxleGRvdGJlbG93PTc4Nzk7ZS5lY2lyY3VtZmxleGdyYXZlPTc4NzM7ZS5lY2lyY3VtZmxleGhvb2thYm92ZT03ODc1O2UuZWNpcmN1bWZsZXh0aWxkZT03ODc3O2UuZWN5cmlsbGljPTExMDg7ZS5lZGJsZ3JhdmU9NTE3O2UuZWRldmE9MjMxOTtlLmVkaWVyZXNpcz0yMzU7ZS5lZG90PTI3OTtlLmVkb3RhY2NlbnQ9Mjc5O2UuZWRvdGJlbG93PTc4NjU7ZS5lZWd1cm11a2hpPTI1NzU7ZS5lZW1hdHJhZ3VybXVraGk9MjYzMTtlLmVmY3lyaWxsaWM9MTA5MjtlLmVncmF2ZT0yMzI7ZS5lZ3VqYXJhdGk9MjcwMztlLmVoYXJtZW5pYW49MTM4MztlLmVoYm9wb21vZm89MTI1NzM7ZS5laGlyYWdhbmE9MTIzNjA7ZS5laG9va2Fib3ZlPTc4Njc7ZS5laWJvcG9tb2ZvPTEyNTc1O2UuZWlnaHQ9NTY7ZS5laWdodGFyYWJpYz0xNjQwO2UuZWlnaHRiZW5nYWxpPTI1NDI7ZS5laWdodGNpcmNsZT05MzE5O2UuZWlnaHRjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI5O2UuZWlnaHRkZXZhPTI0MTQ7ZS5laWdodGVlbmNpcmNsZT05MzI5O2UuZWlnaHRlZW5wYXJlbj05MzQ5O2UuZWlnaHRlZW5wZXJpb2Q9OTM2OTtlLmVpZ2h0Z3VqYXJhdGk9Mjc5ODtlLmVpZ2h0Z3VybXVraGk9MjY3MDtlLmVpZ2h0aGFja2FyYWJpYz0xNjQwO2UuZWlnaHRoYW5nemhvdT0xMjMyODtlLmVpZ2h0aG5vdGViZWFtZWQ9OTgzNTtlLmVpZ2h0aWRlb2dyYXBoaWNwYXJlbj0xMjgzOTtlLmVpZ2h0aW5mZXJpb3I9ODMyODtlLmVpZ2h0bW9ub3NwYWNlPTY1MzA0O2UuZWlnaHRvbGRzdHlsZT02MzI4ODtlLmVpZ2h0cGFyZW49OTMzOTtlLmVpZ2h0cGVyaW9kPTkzNTk7ZS5laWdodHBlcnNpYW49MTc4NDtlLmVpZ2h0cm9tYW49ODU2NztlLmVpZ2h0c3VwZXJpb3I9ODMxMjtlLmVpZ2h0dGhhaT0zNjcyO2UuZWludmVydGVkYnJldmU9NTE5O2UuZWlvdGlmaWVkY3lyaWxsaWM9MTEyNTtlLmVrYXRha2FuYT0xMjQ1NjtlLmVrYXRha2FuYWhhbGZ3aWR0aD02NTM5NjtlLmVrb25rYXJndXJtdWtoaT0yNjc2O2UuZWtvcmVhbj0xMjYyODtlLmVsY3lyaWxsaWM9MTA4MztlLmVsZW1lbnQ9ODcxMjtlLmVsZXZlbmNpcmNsZT05MzIyO2UuZWxldmVucGFyZW49OTM0MjtlLmVsZXZlbnBlcmlvZD05MzYyO2UuZWxldmVucm9tYW49ODU3MDtlLmVsbGlwc2lzPTgyMzA7ZS5lbGxpcHNpc3ZlcnRpY2FsPTg5NDI7ZS5lbWFjcm9uPTI3NTtlLmVtYWNyb25hY3V0ZT03NzAzO2UuZW1hY3JvbmdyYXZlPTc3MDE7ZS5lbWN5cmlsbGljPTEwODQ7ZS5lbWRhc2g9ODIxMjtlLmVtZGFzaHZlcnRpY2FsPTY1MDczO2UuZW1vbm9zcGFjZT02NTM0OTtlLmVtcGhhc2lzbWFya2FybWVuaWFuPTEzNzE7ZS5lbXB0eXNldD04NzA5O2UuZW5ib3BvbW9mbz0xMjU3OTtlLmVuY3lyaWxsaWM9MTA4NTtlLmVuZGFzaD04MjExO2UuZW5kYXNodmVydGljYWw9NjUwNzQ7ZS5lbmRlc2NlbmRlcmN5cmlsbGljPTExODc7ZS5lbmc9MzMxO2UuZW5nYm9wb21vZm89MTI1ODE7ZS5lbmdoZWN5cmlsbGljPTExODk7ZS5lbmhvb2tjeXJpbGxpYz0xMjI0O2UuZW5zcGFjZT04MTk0O2UuZW9nb25laz0yODE7ZS5lb2tvcmVhbj0xMjYyNztlLmVvcGVuPTYwMztlLmVvcGVuY2xvc2VkPTY2NjtlLmVvcGVucmV2ZXJzZWQ9NjA0O2UuZW9wZW5yZXZlcnNlZGNsb3NlZD02MDY7ZS5lb3BlbnJldmVyc2VkaG9vaz02MDU7ZS5lcGFyZW49OTM3NjtlLmVwc2lsb249OTQ5O2UuZXBzaWxvbnRvbm9zPTk0MTtlLmVxdWFsPTYxO2UuZXF1YWxtb25vc3BhY2U9NjUzMDk7ZS5lcXVhbHNtYWxsPTY1MTI2O2UuZXF1YWxzdXBlcmlvcj04MzE2O2UuZXF1aXZhbGVuY2U9ODgwMTtlLmVyYm9wb21vZm89MTI1ODI7ZS5lcmN5cmlsbGljPTEwODg7ZS5lcmV2ZXJzZWQ9NjAwO2UuZXJldmVyc2VkY3lyaWxsaWM9MTEwMTtlLmVzY3lyaWxsaWM9MTA4OTtlLmVzZGVzY2VuZGVyY3lyaWxsaWM9MTE5NTtlLmVzaD02NDM7ZS5lc2hjdXJsPTY0NjtlLmVzaG9ydGRldmE9MjMxODtlLmVzaG9ydHZvd2Vsc2lnbmRldmE9MjM3NDtlLmVzaHJldmVyc2VkbG9vcD00MjY7ZS5lc2hzcXVhdHJldmVyc2VkPTY0NTtlLmVzbWFsbGhpcmFnYW5hPTEyMzU5O2UuZXNtYWxsa2F0YWthbmE9MTI0NTU7ZS5lc21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4NjtlLmVzdGltYXRlZD04NDk0O2UuZXN1cGVyaW9yPTYzMjEyO2UuZXRhPTk1MTtlLmV0YXJtZW5pYW49MTM4NDtlLmV0YXRvbm9zPTk0MjtlLmV0aD0yNDA7ZS5ldGlsZGU9Nzg2OTtlLmV0aWxkZWJlbG93PTc3MDc7ZS5ldG5haHRhZm91a2hoZWJyZXc9MTQyNTtlLmV0bmFodGFmb3VraGxlZnRoZWJyZXc9MTQyNTtlLmV0bmFodGFoZWJyZXc9MTQyNTtlLmV0bmFodGFsZWZ0aGVicmV3PTE0MjU7ZS5ldHVybmVkPTQ3NztlLmV1a29yZWFuPTEyNjQxO2UuZXVybz04MzY0O2UuZXZvd2Vsc2lnbmJlbmdhbGk9MjUwMztlLmV2b3dlbHNpZ25kZXZhPTIzNzU7ZS5ldm93ZWxzaWduZ3VqYXJhdGk9Mjc1OTtlLmV4Y2xhbT0zMztlLmV4Y2xhbWFybWVuaWFuPTEzNzI7ZS5leGNsYW1kYmw9ODI1MjtlLmV4Y2xhbWRvd249MTYxO2UuZXhjbGFtZG93bnNtYWxsPTYzMzkzO2UuZXhjbGFtbW9ub3NwYWNlPTY1MjgxO2UuZXhjbGFtc21hbGw9NjMyNjU7ZS5leGlzdGVudGlhbD04NzA3O2UuZXpoPTY1ODtlLmV6aGNhcm9uPTQ5NTtlLmV6aGN1cmw9NjU5O2UuZXpocmV2ZXJzZWQ9NDQxO2UuZXpodGFpbD00NDI7ZS5mPTEwMjtlLmZhZGV2YT0yMzk4O2UuZmFndXJtdWtoaT0yNjU0O2UuZmFocmVuaGVpdD04NDU3O2UuZmF0aGFhcmFiaWM9MTYxNDtlLmZhdGhhbG93YXJhYmljPTE2MTQ7ZS5mYXRoYXRhbmFyYWJpYz0xNjExO2UuZmJvcG9tb2ZvPTEyNTUyO2UuZmNpcmNsZT05NDI5O2UuZmRvdGFjY2VudD03NzExO2UuZmVoYXJhYmljPTE2MDE7ZS5mZWhhcm1lbmlhbj0xNDE0O2UuZmVoZmluYWxhcmFiaWM9NjUyMzQ7ZS5mZWhpbml0aWFsYXJhYmljPTY1MjM1O2UuZmVobWVkaWFsYXJhYmljPTY1MjM2O2UuZmVpY29wdGljPTk5NztlLmZlbWFsZT05NzkyO2UuZmY9NjQyNTY7ZS5mX2Y9NjQyNTY7ZS5mZmk9NjQyNTk7ZS5mX2ZfaT02NDI1OTtlLmZmbD02NDI2MDtlLmZfZl9sPTY0MjYwO2UuZmk9NjQyNTc7ZS5mX2k9NjQyNTc7ZS5maWZ0ZWVuY2lyY2xlPTkzMjY7ZS5maWZ0ZWVucGFyZW49OTM0NjtlLmZpZnRlZW5wZXJpb2Q9OTM2NjtlLmZpZ3VyZWRhc2g9ODIxMDtlLmZpbGxlZGJveD05NjMyO2UuZmlsbGVkcmVjdD05NjQ0O2UuZmluYWxrYWY9MTQ5ODtlLmZpbmFsa2FmZGFnZXNoPTY0MzE0O2UuZmluYWxrYWZkYWdlc2hoZWJyZXc9NjQzMTQ7ZS5maW5hbGthZmhlYnJldz0xNDk4O2UuZmluYWxtZW09MTUwMTtlLmZpbmFsbWVtaGVicmV3PTE1MDE7ZS5maW5hbG51bj0xNTAzO2UuZmluYWxudW5oZWJyZXc9MTUwMztlLmZpbmFscGU9MTUwNztlLmZpbmFscGVoZWJyZXc9MTUwNztlLmZpbmFsdHNhZGk9MTUwOTtlLmZpbmFsdHNhZGloZWJyZXc9MTUwOTtlLmZpcnN0dG9uZWNoaW5lc2U9NzEzO2UuZmlzaGV5ZT05NjczO2UuZml0YWN5cmlsbGljPTExMzk7ZS5maXZlPTUzO2UuZml2ZWFyYWJpYz0xNjM3O2UuZml2ZWJlbmdhbGk9MjUzOTtlLmZpdmVjaXJjbGU9OTMxNjtlLmZpdmVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI2O2UuZml2ZWRldmE9MjQxMTtlLmZpdmVlaWdodGhzPTg1NDE7ZS5maXZlZ3VqYXJhdGk9Mjc5NTtlLmZpdmVndXJtdWtoaT0yNjY3O2UuZml2ZWhhY2thcmFiaWM9MTYzNztlLmZpdmVoYW5nemhvdT0xMjMyNTtlLmZpdmVpZGVvZ3JhcGhpY3BhcmVuPTEyODM2O2UuZml2ZWluZmVyaW9yPTgzMjU7ZS5maXZlbW9ub3NwYWNlPTY1MzAxO2UuZml2ZW9sZHN0eWxlPTYzMjg1O2UuZml2ZXBhcmVuPTkzMzY7ZS5maXZlcGVyaW9kPTkzNTY7ZS5maXZlcGVyc2lhbj0xNzgxO2UuZml2ZXJvbWFuPTg1NjQ7ZS5maXZlc3VwZXJpb3I9ODMwOTtlLmZpdmV0aGFpPTM2Njk7ZS5mbD02NDI1ODtlLmZfbD02NDI1ODtlLmZsb3Jpbj00MDI7ZS5mbW9ub3NwYWNlPTY1MzUwO2UuZm1zcXVhcmU9MTMyMDk7ZS5mb2ZhbnRoYWk9MzYxNTtlLmZvZmF0aGFpPTM2MTM7ZS5mb25nbWFudGhhaT0zNjYzO2UuZm9yYWxsPTg3MDQ7ZS5mb3VyPTUyO2UuZm91cmFyYWJpYz0xNjM2O2UuZm91cmJlbmdhbGk9MjUzODtlLmZvdXJjaXJjbGU9OTMxNTtlLmZvdXJjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI1O2UuZm91cmRldmE9MjQxMDtlLmZvdXJndWphcmF0aT0yNzk0O2UuZm91cmd1cm11a2hpPTI2NjY7ZS5mb3VyaGFja2FyYWJpYz0xNjM2O2UuZm91cmhhbmd6aG91PTEyMzI0O2UuZm91cmlkZW9ncmFwaGljcGFyZW49MTI4MzU7ZS5mb3VyaW5mZXJpb3I9ODMyNDtlLmZvdXJtb25vc3BhY2U9NjUzMDA7ZS5mb3VybnVtZXJhdG9yYmVuZ2FsaT0yNTUxO2UuZm91cm9sZHN0eWxlPTYzMjg0O2UuZm91cnBhcmVuPTkzMzU7ZS5mb3VycGVyaW9kPTkzNTU7ZS5mb3VycGVyc2lhbj0xNzgwO2UuZm91cnJvbWFuPTg1NjM7ZS5mb3Vyc3VwZXJpb3I9ODMwODtlLmZvdXJ0ZWVuY2lyY2xlPTkzMjU7ZS5mb3VydGVlbnBhcmVuPTkzNDU7ZS5mb3VydGVlbnBlcmlvZD05MzY1O2UuZm91cnRoYWk9MzY2ODtlLmZvdXJ0aHRvbmVjaGluZXNlPTcxNTtlLmZwYXJlbj05Mzc3O2UuZnJhY3Rpb249ODI2MDtlLmZyYW5jPTgzNTU7ZS5nPTEwMztlLmdhYmVuZ2FsaT0yNDU1O2UuZ2FjdXRlPTUwMTtlLmdhZGV2YT0yMzI3O2UuZ2FmYXJhYmljPTE3MTE7ZS5nYWZmaW5hbGFyYWJpYz02NDQwMztlLmdhZmluaXRpYWxhcmFiaWM9NjQ0MDQ7ZS5nYWZtZWRpYWxhcmFiaWM9NjQ0MDU7ZS5nYWd1amFyYXRpPTI3MTE7ZS5nYWd1cm11a2hpPTI1ODM7ZS5nYWhpcmFnYW5hPTEyMzY0O2UuZ2FrYXRha2FuYT0xMjQ2MDtlLmdhbW1hPTk0NztlLmdhbW1hbGF0aW5zbWFsbD02MTE7ZS5nYW1tYXN1cGVyaW9yPTczNjtlLmdhbmdpYWNvcHRpYz0xMDAzO2UuZ2JvcG9tb2ZvPTEyNTU3O2UuZ2JyZXZlPTI4NztlLmdjYXJvbj00ODc7ZS5nY2VkaWxsYT0yOTE7ZS5nY2lyY2xlPTk0MzA7ZS5nY2lyY3VtZmxleD0yODU7ZS5nY29tbWFhY2NlbnQ9MjkxO2UuZ2RvdD0yODk7ZS5nZG90YWNjZW50PTI4OTtlLmdlY3lyaWxsaWM9MTA3NTtlLmdlaGlyYWdhbmE9MTIzNzA7ZS5nZWthdGFrYW5hPTEyNDY2O2UuZ2VvbWV0cmljYWxseWVxdWFsPTg3ODU7ZS5nZXJlc2hhY2NlbnRoZWJyZXc9MTQzNjtlLmdlcmVzaGhlYnJldz0xNTIzO2UuZ2VyZXNobXVxZGFtaGVicmV3PTE0Mzc7ZS5nZXJtYW5kYmxzPTIyMztlLmdlcnNoYXlpbWFjY2VudGhlYnJldz0xNDM4O2UuZ2Vyc2hheWltaGVicmV3PTE1MjQ7ZS5nZXRhbWFyaz0xMjMwNztlLmdoYWJlbmdhbGk9MjQ1NjtlLmdoYWRhcm1lbmlhbj0xMzk0O2UuZ2hhZGV2YT0yMzI4O2UuZ2hhZ3VqYXJhdGk9MjcxMjtlLmdoYWd1cm11a2hpPTI1ODQ7ZS5naGFpbmFyYWJpYz0xNTk0O2UuZ2hhaW5maW5hbGFyYWJpYz02NTIzMDtlLmdoYWluaW5pdGlhbGFyYWJpYz02NTIzMTtlLmdoYWlubWVkaWFsYXJhYmljPTY1MjMyO2UuZ2hlbWlkZGxlaG9va2N5cmlsbGljPTExNzM7ZS5naGVzdHJva2VjeXJpbGxpYz0xMTcxO2UuZ2hldXB0dXJuY3lyaWxsaWM9MTE2OTtlLmdoaGFkZXZhPTIzOTQ7ZS5naGhhZ3VybXVraGk9MjY1MDtlLmdob29rPTYwODtlLmdoenNxdWFyZT0xMzIwMztlLmdpaGlyYWdhbmE9MTIzNjY7ZS5naWthdGFrYW5hPTEyNDYyO2UuZ2ltYXJtZW5pYW49MTM3OTtlLmdpbWVsPTE0OTA7ZS5naW1lbGRhZ2VzaD02NDMwNjtlLmdpbWVsZGFnZXNoaGVicmV3PTY0MzA2O2UuZ2ltZWxoZWJyZXc9MTQ5MDtlLmdqZWN5cmlsbGljPTExMDc7ZS5nbG90dGFsaW52ZXJ0ZWRzdHJva2U9NDQ2O2UuZ2xvdHRhbHN0b3A9NjYwO2UuZ2xvdHRhbHN0b3BpbnZlcnRlZD02NjI7ZS5nbG90dGFsc3RvcG1vZD03MDQ7ZS5nbG90dGFsc3RvcHJldmVyc2VkPTY2MTtlLmdsb3R0YWxzdG9wcmV2ZXJzZWRtb2Q9NzA1O2UuZ2xvdHRhbHN0b3ByZXZlcnNlZHN1cGVyaW9yPTc0MDtlLmdsb3R0YWxzdG9wc3Ryb2tlPTY3MztlLmdsb3R0YWxzdG9wc3Ryb2tlcmV2ZXJzZWQ9Njc0O2UuZ21hY3Jvbj03NzEzO2UuZ21vbm9zcGFjZT02NTM1MTtlLmdvaGlyYWdhbmE9MTIzNzI7ZS5nb2thdGFrYW5hPTEyNDY4O2UuZ3BhcmVuPTkzNzg7ZS5ncGFzcXVhcmU9MTMyMjg7ZS5ncmFkaWVudD04NzExO2UuZ3JhdmU9OTY7ZS5ncmF2ZWJlbG93Y21iPTc5MDtlLmdyYXZlY21iPTc2ODtlLmdyYXZlY29tYj03Njg7ZS5ncmF2ZWRldmE9MjM4NztlLmdyYXZlbG93bW9kPTcxODtlLmdyYXZlbW9ub3NwYWNlPTY1MzQ0O2UuZ3JhdmV0b25lY21iPTgzMjtlLmdyZWF0ZXI9NjI7ZS5ncmVhdGVyZXF1YWw9ODgwNTtlLmdyZWF0ZXJlcXVhbG9ybGVzcz04OTIzO2UuZ3JlYXRlcm1vbm9zcGFjZT02NTMxMDtlLmdyZWF0ZXJvcmVxdWl2YWxlbnQ9ODgxOTtlLmdyZWF0ZXJvcmxlc3M9ODgyMztlLmdyZWF0ZXJvdmVyZXF1YWw9ODgwNztlLmdyZWF0ZXJzbWFsbD02NTEyNTtlLmdzY3JpcHQ9NjA5O2UuZ3N0cm9rZT00ODU7ZS5ndWhpcmFnYW5hPTEyMzY4O2UuZ3VpbGxlbW90bGVmdD0xNzE7ZS5ndWlsbGVtb3RyaWdodD0xODc7ZS5ndWlsc2luZ2xsZWZ0PTgyNDk7ZS5ndWlsc2luZ2xyaWdodD04MjUwO2UuZ3VrYXRha2FuYT0xMjQ2NDtlLmd1cmFtdXNxdWFyZT0xMzA4MDtlLmd5c3F1YXJlPTEzMjU3O2UuaD0xMDQ7ZS5oYWFia2hhc2lhbmN5cmlsbGljPTExOTM7ZS5oYWFsdG9uZWFyYWJpYz0xNzI5O2UuaGFiZW5nYWxpPTI0ODk7ZS5oYWRlc2NlbmRlcmN5cmlsbGljPTEyMDM7ZS5oYWRldmE9MjM2MTtlLmhhZ3VqYXJhdGk9Mjc0NTtlLmhhZ3VybXVraGk9MjYxNztlLmhhaGFyYWJpYz0xNTgxO2UuaGFoZmluYWxhcmFiaWM9NjUxODY7ZS5oYWhpbml0aWFsYXJhYmljPTY1MTg3O2UuaGFoaXJhZ2FuYT0xMjM5OTtlLmhhaG1lZGlhbGFyYWJpYz02NTE4ODtlLmhhaXR1c3F1YXJlPTEzMDk4O2UuaGFrYXRha2FuYT0xMjQ5NTtlLmhha2F0YWthbmFoYWxmd2lkdGg9NjU0MTg7ZS5oYWxhbnRndXJtdWtoaT0yNjM3O2UuaGFtemFhcmFiaWM9MTU2OTtlLmhhbXphbG93YXJhYmljPTE1Njk7ZS5oYW5ndWxmaWxsZXI9MTI2NDQ7ZS5oYXJkc2lnbmN5cmlsbGljPTEwOTg7ZS5oYXJwb29ubGVmdGJhcmJ1cD04NjM2O2UuaGFycG9vbnJpZ2h0YmFyYnVwPTg2NDA7ZS5oYXNxdWFyZT0xMzI1ODtlLmhhdGFmcGF0YWg9MTQ1ODtlLmhhdGFmcGF0YWgxNj0xNDU4O2UuaGF0YWZwYXRhaDIzPTE0NTg7ZS5oYXRhZnBhdGFoMmY9MTQ1ODtlLmhhdGFmcGF0YWhoZWJyZXc9MTQ1ODtlLmhhdGFmcGF0YWhuYXJyb3doZWJyZXc9MTQ1ODtlLmhhdGFmcGF0YWhxdWFydGVyaGVicmV3PTE0NTg7ZS5oYXRhZnBhdGFod2lkZWhlYnJldz0xNDU4O2UuaGF0YWZxYW1hdHM9MTQ1OTtlLmhhdGFmcWFtYXRzMWI9MTQ1OTtlLmhhdGFmcWFtYXRzMjg9MTQ1OTtlLmhhdGFmcWFtYXRzMzQ9MTQ1OTtlLmhhdGFmcWFtYXRzaGVicmV3PTE0NTk7ZS5oYXRhZnFhbWF0c25hcnJvd2hlYnJldz0xNDU5O2UuaGF0YWZxYW1hdHNxdWFydGVyaGVicmV3PTE0NTk7ZS5oYXRhZnFhbWF0c3dpZGVoZWJyZXc9MTQ1OTtlLmhhdGFmc2Vnb2w9MTQ1NztlLmhhdGFmc2Vnb2wxNz0xNDU3O2UuaGF0YWZzZWdvbDI0PTE0NTc7ZS5oYXRhZnNlZ29sMzA9MTQ1NztlLmhhdGFmc2Vnb2xoZWJyZXc9MTQ1NztlLmhhdGFmc2Vnb2xuYXJyb3doZWJyZXc9MTQ1NztlLmhhdGFmc2Vnb2xxdWFydGVyaGVicmV3PTE0NTc7ZS5oYXRhZnNlZ29sd2lkZWhlYnJldz0xNDU3O2UuaGJhcj0yOTU7ZS5oYm9wb21vZm89MTI1NTk7ZS5oYnJldmViZWxvdz03NzIzO2UuaGNlZGlsbGE9NzcyMTtlLmhjaXJjbGU9OTQzMTtlLmhjaXJjdW1mbGV4PTI5MztlLmhkaWVyZXNpcz03NzE5O2UuaGRvdGFjY2VudD03NzE1O2UuaGRvdGJlbG93PTc3MTc7ZS5oZT0xNDkyO2UuaGVhcnQ9OTgyOTtlLmhlYXJ0c3VpdGJsYWNrPTk4Mjk7ZS5oZWFydHN1aXR3aGl0ZT05ODI1O2UuaGVkYWdlc2g9NjQzMDg7ZS5oZWRhZ2VzaGhlYnJldz02NDMwODtlLmhlaGFsdG9uZWFyYWJpYz0xNzI5O2UuaGVoYXJhYmljPTE2MDc7ZS5oZWhlYnJldz0xNDkyO2UuaGVoZmluYWxhbHRvbmVhcmFiaWM9NjQ0MjM7ZS5oZWhmaW5hbGFsdHR3b2FyYWJpYz02NTI1ODtlLmhlaGZpbmFsYXJhYmljPTY1MjU4O2UuaGVoaGFtemFhYm92ZWZpbmFsYXJhYmljPTY0NDIxO2UuaGVoaGFtemFhYm92ZWlzb2xhdGVkYXJhYmljPTY0NDIwO2UuaGVoaW5pdGlhbGFsdG9uZWFyYWJpYz02NDQyNDtlLmhlaGluaXRpYWxhcmFiaWM9NjUyNTk7ZS5oZWhpcmFnYW5hPTEyNDA4O2UuaGVobWVkaWFsYWx0b25lYXJhYmljPTY0NDI1O2UuaGVobWVkaWFsYXJhYmljPTY1MjYwO2UuaGVpc2VpZXJhc3F1YXJlPTEzMTc5O2UuaGVrYXRha2FuYT0xMjUwNDtlLmhla2F0YWthbmFoYWxmd2lkdGg9NjU0MjE7ZS5oZWt1dGFhcnVzcXVhcmU9MTMxMTA7ZS5oZW5naG9vaz02MTU7ZS5oZXJ1dHVzcXVhcmU9MTMxMTM7ZS5oZXQ9MTQ5NTtlLmhldGhlYnJldz0xNDk1O2UuaGhvb2s9NjE0O2UuaGhvb2tzdXBlcmlvcj02ODk7ZS5oaWV1aGFjaXJjbGVrb3JlYW49MTI5MjM7ZS5oaWV1aGFwYXJlbmtvcmVhbj0xMjgyNztlLmhpZXVoY2lyY2xla29yZWFuPTEyOTA5O2UuaGlldWhrb3JlYW49MTI2MjI7ZS5oaWV1aHBhcmVua29yZWFuPTEyODEzO2UuaGloaXJhZ2FuYT0xMjQwMjtlLmhpa2F0YWthbmE9MTI0OTg7ZS5oaWthdGFrYW5haGFsZndpZHRoPTY1NDE5O2UuaGlyaXE9MTQ2MDtlLmhpcmlxMTQ9MTQ2MDtlLmhpcmlxMjE9MTQ2MDtlLmhpcmlxMmQ9MTQ2MDtlLmhpcmlxaGVicmV3PTE0NjA7ZS5oaXJpcW5hcnJvd2hlYnJldz0xNDYwO2UuaGlyaXFxdWFydGVyaGVicmV3PTE0NjA7ZS5oaXJpcXdpZGVoZWJyZXc9MTQ2MDtlLmhsaW5lYmVsb3c9NzgzMDtlLmhtb25vc3BhY2U9NjUzNTI7ZS5ob2FybWVuaWFuPTEzOTI7ZS5ob2hpcHRoYWk9MzYyNztlLmhvaGlyYWdhbmE9MTI0MTE7ZS5ob2thdGFrYW5hPTEyNTA3O2UuaG9rYXRha2FuYWhhbGZ3aWR0aD02NTQyMjtlLmhvbGFtPTE0NjU7ZS5ob2xhbTE5PTE0NjU7ZS5ob2xhbTI2PTE0NjU7ZS5ob2xhbTMyPTE0NjU7ZS5ob2xhbWhlYnJldz0xNDY1O2UuaG9sYW1uYXJyb3doZWJyZXc9MTQ2NTtlLmhvbGFtcXVhcnRlcmhlYnJldz0xNDY1O2UuaG9sYW13aWRlaGVicmV3PTE0NjU7ZS5ob25va2h1a3RoYWk9MzYzMDtlLmhvb2thYm92ZWNvbWI9Nzc3O2UuaG9va2NtYj03Nzc7ZS5ob29rcGFsYXRhbGl6ZWRiZWxvd2NtYj04MDE7ZS5ob29rcmV0cm9mbGV4YmVsb3djbWI9ODAyO2UuaG9vbnNxdWFyZT0xMzEyMjtlLmhvcmljb3B0aWM9MTAwMTtlLmhvcml6b250YWxiYXI9ODIxMztlLmhvcm5jbWI9Nzk1O2UuaG90c3ByaW5ncz05ODMyO2UuaG91c2U9ODk2MjtlLmhwYXJlbj05Mzc5O2UuaHN1cGVyaW9yPTY4ODtlLmh0dXJuZWQ9NjEzO2UuaHVoaXJhZ2FuYT0xMjQwNTtlLmh1aWl0b3NxdWFyZT0xMzEwNztlLmh1a2F0YWthbmE9MTI1MDE7ZS5odWthdGFrYW5haGFsZndpZHRoPTY1NDIwO2UuaHVuZ2FydW1sYXV0PTczMztlLmh1bmdhcnVtbGF1dGNtYj03Nzk7ZS5odj00MDU7ZS5oeXBoZW49NDU7ZS5oeXBoZW5pbmZlcmlvcj02MzIwNTtlLmh5cGhlbm1vbm9zcGFjZT02NTI5MztlLmh5cGhlbnNtYWxsPTY1MTIzO2UuaHlwaGVuc3VwZXJpb3I9NjMyMDY7ZS5oeXBoZW50d289ODIwODtlLmk9MTA1O2UuaWFjdXRlPTIzNztlLmlhY3lyaWxsaWM9MTEwMztlLmliZW5nYWxpPTI0Mzk7ZS5pYm9wb21vZm89MTI1ODM7ZS5pYnJldmU9MzAxO2UuaWNhcm9uPTQ2NDtlLmljaXJjbGU9OTQzMjtlLmljaXJjdW1mbGV4PTIzODtlLmljeXJpbGxpYz0xMTEwO2UuaWRibGdyYXZlPTUyMTtlLmlkZW9ncmFwaGVhcnRoY2lyY2xlPTEyOTQzO2UuaWRlb2dyYXBoZmlyZWNpcmNsZT0xMjkzOTtlLmlkZW9ncmFwaGljYWxsaWFuY2VwYXJlbj0xMjg2MztlLmlkZW9ncmFwaGljY2FsbHBhcmVuPTEyODU4O2UuaWRlb2dyYXBoaWNjZW50cmVjaXJjbGU9MTI5NjU7ZS5pZGVvZ3JhcGhpY2Nsb3NlPTEyMjk0O2UuaWRlb2dyYXBoaWNjb21tYT0xMjI4OTtlLmlkZW9ncmFwaGljY29tbWFsZWZ0PTY1MzgwO2UuaWRlb2dyYXBoaWNjb25ncmF0dWxhdGlvbnBhcmVuPTEyODU1O2UuaWRlb2dyYXBoaWNjb3JyZWN0Y2lyY2xlPTEyOTYzO2UuaWRlb2dyYXBoaWNlYXJ0aHBhcmVuPTEyODQ3O2UuaWRlb2dyYXBoaWNlbnRlcnByaXNlcGFyZW49MTI4NjE7ZS5pZGVvZ3JhcGhpY2V4Y2VsbGVudGNpcmNsZT0xMjk1NztlLmlkZW9ncmFwaGljZmVzdGl2YWxwYXJlbj0xMjg2NDtlLmlkZW9ncmFwaGljZmluYW5jaWFsY2lyY2xlPTEyOTUwO2UuaWRlb2dyYXBoaWNmaW5hbmNpYWxwYXJlbj0xMjg1NDtlLmlkZW9ncmFwaGljZmlyZXBhcmVuPTEyODQzO2UuaWRlb2dyYXBoaWNoYXZlcGFyZW49MTI4NTA7ZS5pZGVvZ3JhcGhpY2hpZ2hjaXJjbGU9MTI5NjQ7ZS5pZGVvZ3JhcGhpY2l0ZXJhdGlvbm1hcms9MTIyOTM7ZS5pZGVvZ3JhcGhpY2xhYm9yY2lyY2xlPTEyOTUyO2UuaWRlb2dyYXBoaWNsYWJvcnBhcmVuPTEyODU2O2UuaWRlb2dyYXBoaWNsZWZ0Y2lyY2xlPTEyOTY3O2UuaWRlb2dyYXBoaWNsb3djaXJjbGU9MTI5NjY7ZS5pZGVvZ3JhcGhpY21lZGljaW5lY2lyY2xlPTEyOTY5O2UuaWRlb2dyYXBoaWNtZXRhbHBhcmVuPTEyODQ2O2UuaWRlb2dyYXBoaWNtb29ucGFyZW49MTI4NDI7ZS5pZGVvZ3JhcGhpY25hbWVwYXJlbj0xMjg1MjtlLmlkZW9ncmFwaGljcGVyaW9kPTEyMjkwO2UuaWRlb2dyYXBoaWNwcmludGNpcmNsZT0xMjk1ODtlLmlkZW9ncmFwaGljcmVhY2hwYXJlbj0xMjg2NztlLmlkZW9ncmFwaGljcmVwcmVzZW50cGFyZW49MTI4NTc7ZS5pZGVvZ3JhcGhpY3Jlc291cmNlcGFyZW49MTI4NjI7ZS5pZGVvZ3JhcGhpY3JpZ2h0Y2lyY2xlPTEyOTY4O2UuaWRlb2dyYXBoaWNzZWNyZXRjaXJjbGU9MTI5NTM7ZS5pZGVvZ3JhcGhpY3NlbGZwYXJlbj0xMjg2NjtlLmlkZW9ncmFwaGljc29jaWV0eXBhcmVuPTEyODUxO2UuaWRlb2dyYXBoaWNzcGFjZT0xMjI4ODtlLmlkZW9ncmFwaGljc3BlY2lhbHBhcmVuPTEyODUzO2UuaWRlb2dyYXBoaWNzdG9ja3BhcmVuPTEyODQ5O2UuaWRlb2dyYXBoaWNzdHVkeXBhcmVuPTEyODU5O2UuaWRlb2dyYXBoaWNzdW5wYXJlbj0xMjg0ODtlLmlkZW9ncmFwaGljc3VwZXJ2aXNlcGFyZW49MTI4NjA7ZS5pZGVvZ3JhcGhpY3dhdGVycGFyZW49MTI4NDQ7ZS5pZGVvZ3JhcGhpY3dvb2RwYXJlbj0xMjg0NTtlLmlkZW9ncmFwaGljemVybz0xMjI5NTtlLmlkZW9ncmFwaG1ldGFsY2lyY2xlPTEyOTQyO2UuaWRlb2dyYXBobW9vbmNpcmNsZT0xMjkzODtlLmlkZW9ncmFwaG5hbWVjaXJjbGU9MTI5NDg7ZS5pZGVvZ3JhcGhzdW5jaXJjbGU9MTI5NDQ7ZS5pZGVvZ3JhcGh3YXRlcmNpcmNsZT0xMjk0MDtlLmlkZW9ncmFwaHdvb2RjaXJjbGU9MTI5NDE7ZS5pZGV2YT0yMzExO2UuaWRpZXJlc2lzPTIzOTtlLmlkaWVyZXNpc2FjdXRlPTc3Mjc7ZS5pZGllcmVzaXNjeXJpbGxpYz0xMjUzO2UuaWRvdGJlbG93PTc4ODM7ZS5pZWJyZXZlY3lyaWxsaWM9MTIzOTtlLmllY3lyaWxsaWM9MTA3NztlLmlldW5nYWNpcmNsZWtvcmVhbj0xMjkxNztlLmlldW5nYXBhcmVua29yZWFuPTEyODIxO2UuaWV1bmdjaXJjbGVrb3JlYW49MTI5MDM7ZS5pZXVuZ2tvcmVhbj0xMjYxNTtlLmlldW5ncGFyZW5rb3JlYW49MTI4MDc7ZS5pZ3JhdmU9MjM2O2UuaWd1amFyYXRpPTI2OTU7ZS5pZ3VybXVraGk9MjU2NztlLmloaXJhZ2FuYT0xMjM1NjtlLmlob29rYWJvdmU9Nzg4MTtlLmlpYmVuZ2FsaT0yNDQwO2UuaWljeXJpbGxpYz0xMDgwO2UuaWlkZXZhPTIzMTI7ZS5paWd1amFyYXRpPTI2OTY7ZS5paWd1cm11a2hpPTI1Njg7ZS5paW1hdHJhZ3VybXVraGk9MjYyNDtlLmlpbnZlcnRlZGJyZXZlPTUyMztlLmlpc2hvcnRjeXJpbGxpYz0xMDgxO2UuaWl2b3dlbHNpZ25iZW5nYWxpPTI0OTY7ZS5paXZvd2Vsc2lnbmRldmE9MjM2ODtlLmlpdm93ZWxzaWduZ3VqYXJhdGk9Mjc1MjtlLmlqPTMwNztlLmlrYXRha2FuYT0xMjQ1MjtlLmlrYXRha2FuYWhhbGZ3aWR0aD02NTM5NDtlLmlrb3JlYW49MTI2NDM7ZS5pbGRlPTczMjtlLmlsdXloZWJyZXc9MTQ1MjtlLmltYWNyb249Mjk5O2UuaW1hY3JvbmN5cmlsbGljPTEyNTE7ZS5pbWFnZW9yYXBwcm94aW1hdGVseWVxdWFsPTg3ODc7ZS5pbWF0cmFndXJtdWtoaT0yNjIzO2UuaW1vbm9zcGFjZT02NTM1MztlLmluY3JlbWVudD04NzEwO2UuaW5maW5pdHk9ODczNDtlLmluaWFybWVuaWFuPTEzODc7ZS5pbnRlZ3JhbD04NzQ3O2UuaW50ZWdyYWxib3R0b209ODk5MztlLmludGVncmFsYnQ9ODk5MztlLmludGVncmFsZXg9NjM3MzM7ZS5pbnRlZ3JhbHRvcD04OTkyO2UuaW50ZWdyYWx0cD04OTkyO2UuaW50ZXJzZWN0aW9uPTg3NDU7ZS5pbnRpc3F1YXJlPTEzMDYxO2UuaW52YnVsbGV0PTk2ODg7ZS5pbnZjaXJjbGU9OTY4OTtlLmludnNtaWxlZmFjZT05Nzg3O2UuaW9jeXJpbGxpYz0xMTA1O2UuaW9nb25laz0zMDM7ZS5pb3RhPTk1MztlLmlvdGFkaWVyZXNpcz05NzA7ZS5pb3RhZGllcmVzaXN0b25vcz05MTI7ZS5pb3RhbGF0aW49NjE3O2UuaW90YXRvbm9zPTk0MztlLmlwYXJlbj05MzgwO2UuaXJpZ3VybXVraGk9MjY3NDtlLmlzbWFsbGhpcmFnYW5hPTEyMzU1O2UuaXNtYWxsa2F0YWthbmE9MTI0NTE7ZS5pc21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4NDtlLmlzc2hhcmJlbmdhbGk9MjU1NDtlLmlzdHJva2U9NjE2O2UuaXN1cGVyaW9yPTYzMjEzO2UuaXRlcmF0aW9uaGlyYWdhbmE9MTI0NDU7ZS5pdGVyYXRpb25rYXRha2FuYT0xMjU0MTtlLml0aWxkZT0yOTc7ZS5pdGlsZGViZWxvdz03NzI1O2UuaXVib3BvbW9mbz0xMjU4NTtlLml1Y3lyaWxsaWM9MTEwMjtlLml2b3dlbHNpZ25iZW5nYWxpPTI0OTU7ZS5pdm93ZWxzaWduZGV2YT0yMzY3O2UuaXZvd2Vsc2lnbmd1amFyYXRpPTI3NTE7ZS5pemhpdHNhY3lyaWxsaWM9MTE0MTtlLml6aGl0c2FkYmxncmF2ZWN5cmlsbGljPTExNDM7ZS5qPTEwNjtlLmphYXJtZW5pYW49MTM5MztlLmphYmVuZ2FsaT0yNDYwO2UuamFkZXZhPTIzMzI7ZS5qYWd1amFyYXRpPTI3MTY7ZS5qYWd1cm11a2hpPTI1ODg7ZS5qYm9wb21vZm89MTI1NjA7ZS5qY2Fyb249NDk2O2UuamNpcmNsZT05NDMzO2UuamNpcmN1bWZsZXg9MzA5O2UuamNyb3NzZWR0YWlsPTY2OTtlLmpkb3RsZXNzc3Ryb2tlPTYwNztlLmplY3lyaWxsaWM9MTExMjtlLmplZW1hcmFiaWM9MTU4MDtlLmplZW1maW5hbGFyYWJpYz02NTE4MjtlLmplZW1pbml0aWFsYXJhYmljPTY1MTgzO2UuamVlbW1lZGlhbGFyYWJpYz02NTE4NDtlLmplaGFyYWJpYz0xNjg4O2UuamVoZmluYWxhcmFiaWM9NjQzOTU7ZS5qaGFiZW5nYWxpPTI0NjE7ZS5qaGFkZXZhPTIzMzM7ZS5qaGFndWphcmF0aT0yNzE3O2UuamhhZ3VybXVraGk9MjU4OTtlLmpoZWhhcm1lbmlhbj0xNDAzO2UuamlzPTEyMjkyO2Uuam1vbm9zcGFjZT02NTM1NDtlLmpwYXJlbj05MzgxO2UuanN1cGVyaW9yPTY5MDtlLms9MTA3O2Uua2FiYXNoa2lyY3lyaWxsaWM9MTE4NTtlLmthYmVuZ2FsaT0yNDUzO2Uua2FjdXRlPTc3Mjk7ZS5rYWN5cmlsbGljPTEwODI7ZS5rYWRlc2NlbmRlcmN5cmlsbGljPTExNzk7ZS5rYWRldmE9MjMyNTtlLmthZj0xNDk5O2Uua2FmYXJhYmljPTE2MDM7ZS5rYWZkYWdlc2g9NjQzMTU7ZS5rYWZkYWdlc2hoZWJyZXc9NjQzMTU7ZS5rYWZmaW5hbGFyYWJpYz02NTI0MjtlLmthZmhlYnJldz0xNDk5O2Uua2FmaW5pdGlhbGFyYWJpYz02NTI0MztlLmthZm1lZGlhbGFyYWJpYz02NTI0NDtlLmthZnJhZmVoZWJyZXc9NjQzMzM7ZS5rYWd1amFyYXRpPTI3MDk7ZS5rYWd1cm11a2hpPTI1ODE7ZS5rYWhpcmFnYW5hPTEyMzYzO2Uua2Fob29rY3lyaWxsaWM9MTIyMDtlLmtha2F0YWthbmE9MTI0NTk7ZS5rYWthdGFrYW5haGFsZndpZHRoPTY1Mzk4O2Uua2FwcGE9OTU0O2Uua2FwcGFzeW1ib2xncmVlaz0xMDA4O2Uua2FweWVvdW5taWV1bWtvcmVhbj0xMjY1NztlLmthcHllb3VucGhpZXVwaGtvcmVhbj0xMjY3NjtlLmthcHllb3VucGlldXBrb3JlYW49MTI2NjQ7ZS5rYXB5ZW91bnNzYW5ncGlldXBrb3JlYW49MTI2NjU7ZS5rYXJvcmlpc3F1YXJlPTEzMDY5O2Uua2FzaGlkYWF1dG9hcmFiaWM9MTYwMDtlLmthc2hpZGFhdXRvbm9zaWRlYmVhcmluZ2FyYWJpYz0xNjAwO2Uua2FzbWFsbGthdGFrYW5hPTEyNTMzO2Uua2FzcXVhcmU9MTMxODg7ZS5rYXNyYWFyYWJpYz0xNjE2O2Uua2FzcmF0YW5hcmFiaWM9MTYxMztlLmthc3Ryb2tlY3lyaWxsaWM9MTE4MztlLmthdGFoaXJhcHJvbG9uZ21hcmtoYWxmd2lkdGg9NjUzOTI7ZS5rYXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM9MTE4MTtlLmtib3BvbW9mbz0xMjU1ODtlLmtjYWxzcXVhcmU9MTMxOTM7ZS5rY2Fyb249NDg5O2Uua2NlZGlsbGE9MzExO2Uua2NpcmNsZT05NDM0O2Uua2NvbW1hYWNjZW50PTMxMTtlLmtkb3RiZWxvdz03NzMxO2Uua2VoYXJtZW5pYW49MTQxMjtlLmtlaGlyYWdhbmE9MTIzNjk7ZS5rZWthdGFrYW5hPTEyNDY1O2Uua2VrYXRha2FuYWhhbGZ3aWR0aD02NTQwMTtlLmtlbmFybWVuaWFuPTEzOTE7ZS5rZXNtYWxsa2F0YWthbmE9MTI1MzQ7ZS5rZ3JlZW5sYW5kaWM9MzEyO2Uua2hhYmVuZ2FsaT0yNDU0O2Uua2hhY3lyaWxsaWM9MTA5MztlLmtoYWRldmE9MjMyNjtlLmtoYWd1amFyYXRpPTI3MTA7ZS5raGFndXJtdWtoaT0yNTgyO2Uua2hhaGFyYWJpYz0xNTgyO2Uua2hhaGZpbmFsYXJhYmljPTY1MTkwO2Uua2hhaGluaXRpYWxhcmFiaWM9NjUxOTE7ZS5raGFobWVkaWFsYXJhYmljPTY1MTkyO2Uua2hlaWNvcHRpYz05OTk7ZS5raGhhZGV2YT0yMzkzO2Uua2hoYWd1cm11a2hpPTI2NDk7ZS5raGlldWtoYWNpcmNsZWtvcmVhbj0xMjkyMDtlLmtoaWV1a2hhcGFyZW5rb3JlYW49MTI4MjQ7ZS5raGlldWtoY2lyY2xla29yZWFuPTEyOTA2O2Uua2hpZXVraGtvcmVhbj0xMjYxOTtlLmtoaWV1a2hwYXJlbmtvcmVhbj0xMjgxMDtlLmtob2toYWl0aGFpPTM1ODY7ZS5raG9raG9udGhhaT0zNTg5O2Uua2hva2h1YXR0aGFpPTM1ODc7ZS5raG9raHdhaXRoYWk9MzU4ODtlLmtob211dHRoYWk9MzY3NTtlLmtob29rPTQwOTtlLmtob3Jha2hhbmd0aGFpPTM1OTA7ZS5raHpzcXVhcmU9MTMyMDE7ZS5raWhpcmFnYW5hPTEyMzY1O2Uua2lrYXRha2FuYT0xMjQ2MTtlLmtpa2F0YWthbmFoYWxmd2lkdGg9NjUzOTk7ZS5raXJvZ3VyYW11c3F1YXJlPTEzMDc3O2Uua2lyb21lZXRvcnVzcXVhcmU9MTMwNzg7ZS5raXJvc3F1YXJlPTEzMDc2O2Uua2l5ZW9rYWNpcmNsZWtvcmVhbj0xMjkxMDtlLmtpeWVva2FwYXJlbmtvcmVhbj0xMjgxNDtlLmtpeWVva2NpcmNsZWtvcmVhbj0xMjg5NjtlLmtpeWVva2tvcmVhbj0xMjU5MztlLmtpeWVva3BhcmVua29yZWFuPTEyODAwO2Uua2l5ZW9rc2lvc2tvcmVhbj0xMjU5NTtlLmtqZWN5cmlsbGljPTExMTY7ZS5rbGluZWJlbG93PTc3MzM7ZS5rbHNxdWFyZT0xMzIwODtlLmttY3ViZWRzcXVhcmU9MTMyMjI7ZS5rbW9ub3NwYWNlPTY1MzU1O2Uua21zcXVhcmVkc3F1YXJlPTEzMjE4O2Uua29oaXJhZ2FuYT0xMjM3MTtlLmtvaG1zcXVhcmU9MTMyNDg7ZS5rb2thaXRoYWk9MzU4NTtlLmtva2F0YWthbmE9MTI0Njc7ZS5rb2thdGFrYW5haGFsZndpZHRoPTY1NDAyO2Uua29vcG9zcXVhcmU9MTMwODY7ZS5rb3BwYWN5cmlsbGljPTExNTM7ZS5rb3JlYW5zdGFuZGFyZHN5bWJvbD0xMjkyNztlLmtvcm9uaXNjbWI9ODM1O2Uua3BhcmVuPTkzODI7ZS5rcGFzcXVhcmU9MTMyMjY7ZS5rc2ljeXJpbGxpYz0xMTM1O2Uua3RzcXVhcmU9MTMyNjM7ZS5rdHVybmVkPTY3MDtlLmt1aGlyYWdhbmE9MTIzNjc7ZS5rdWthdGFrYW5hPTEyNDYzO2Uua3VrYXRha2FuYWhhbGZ3aWR0aD02NTQwMDtlLmt2c3F1YXJlPTEzMjQwO2Uua3dzcXVhcmU9MTMyNDY7ZS5sPTEwODtlLmxhYmVuZ2FsaT0yNDgyO2UubGFjdXRlPTMxNDtlLmxhZGV2YT0yMzU0O2UubGFndWphcmF0aT0yNzM4O2UubGFndXJtdWtoaT0yNjEwO2UubGFra2hhbmd5YW90aGFpPTM2NTM7ZS5sYW1hbGVmZmluYWxhcmFiaWM9NjUyNzY7ZS5sYW1hbGVmaGFtemFhYm92ZWZpbmFsYXJhYmljPTY1MjcyO2UubGFtYWxlZmhhbXphYWJvdmVpc29sYXRlZGFyYWJpYz02NTI3MTtlLmxhbWFsZWZoYW16YWJlbG93ZmluYWxhcmFiaWM9NjUyNzQ7ZS5sYW1hbGVmaGFtemFiZWxvd2lzb2xhdGVkYXJhYmljPTY1MjczO2UubGFtYWxlZmlzb2xhdGVkYXJhYmljPTY1Mjc1O2UubGFtYWxlZm1hZGRhYWJvdmVmaW5hbGFyYWJpYz02NTI3MDtlLmxhbWFsZWZtYWRkYWFib3ZlaXNvbGF0ZWRhcmFiaWM9NjUyNjk7ZS5sYW1hcmFiaWM9MTYwNDtlLmxhbWJkYT05NTU7ZS5sYW1iZGFzdHJva2U9NDExO2UubGFtZWQ9MTUwMDtlLmxhbWVkZGFnZXNoPTY0MzE2O2UubGFtZWRkYWdlc2hoZWJyZXc9NjQzMTY7ZS5sYW1lZGhlYnJldz0xNTAwO2UubGFtZmluYWxhcmFiaWM9NjUyNDY7ZS5sYW1oYWhpbml0aWFsYXJhYmljPTY0NzE0O2UubGFtaW5pdGlhbGFyYWJpYz02NTI0NztlLmxhbWplZW1pbml0aWFsYXJhYmljPTY0NzEzO2UubGFta2hhaGluaXRpYWxhcmFiaWM9NjQ3MTU7ZS5sYW1sYW1oZWhpc29sYXRlZGFyYWJpYz02NTAxMDtlLmxhbW1lZGlhbGFyYWJpYz02NTI0ODtlLmxhbW1lZW1oYWhpbml0aWFsYXJhYmljPTY0OTA0O2UubGFtbWVlbWluaXRpYWxhcmFiaWM9NjQ3MTY7ZS5sYXJnZWNpcmNsZT05NzExO2UubGJhcj00MTA7ZS5sYmVsdD02MjA7ZS5sYm9wb21vZm89MTI1NTY7ZS5sY2Fyb249MzE4O2UubGNlZGlsbGE9MzE2O2UubGNpcmNsZT05NDM1O2UubGNpcmN1bWZsZXhiZWxvdz03NzQxO2UubGNvbW1hYWNjZW50PTMxNjtlLmxkb3Q9MzIwO2UubGRvdGFjY2VudD0zMjA7ZS5sZG90YmVsb3c9NzczNTtlLmxkb3RiZWxvd21hY3Jvbj03NzM3O2UubGVmdGFuZ2xlYWJvdmVjbWI9Nzk0O2UubGVmdHRhY2tiZWxvd2NtYj03OTI7ZS5sZXNzPTYwO2UubGVzc2VxdWFsPTg4MDQ7ZS5sZXNzZXF1YWxvcmdyZWF0ZXI9ODkyMjtlLmxlc3Ntb25vc3BhY2U9NjUzMDg7ZS5sZXNzb3JlcXVpdmFsZW50PTg4MTg7ZS5sZXNzb3JncmVhdGVyPTg4MjI7ZS5sZXNzb3ZlcmVxdWFsPTg4MDY7ZS5sZXNzc21hbGw9NjUxMjQ7ZS5sZXpoPTYyMjtlLmxmYmxvY2s9OTYxMjtlLmxob29rcmV0cm9mbGV4PTYyMTtlLmxpcmE9ODM1NjtlLmxpd25hcm1lbmlhbj0xMzg4O2UubGo9NDU3O2UubGplY3lyaWxsaWM9MTExMztlLmxsPTYzMTY4O2UubGxhZGV2YT0yMzU1O2UubGxhZ3VqYXJhdGk9MjczOTtlLmxsaW5lYmVsb3c9NzczOTtlLmxsbGFkZXZhPTIzNTY7ZS5sbHZvY2FsaWNiZW5nYWxpPTI1Mjk7ZS5sbHZvY2FsaWNkZXZhPTI0MDE7ZS5sbHZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpPTI1MzE7ZS5sbHZvY2FsaWN2b3dlbHNpZ25kZXZhPTI0MDM7ZS5sbWlkZGxldGlsZGU9NjE5O2UubG1vbm9zcGFjZT02NTM1NjtlLmxtc3F1YXJlPTEzMjY0O2UubG9jaHVsYXRoYWk9MzYyODtlLmxvZ2ljYWxhbmQ9ODc0MztlLmxvZ2ljYWxub3Q9MTcyO2UubG9naWNhbG5vdHJldmVyc2VkPTg5NzY7ZS5sb2dpY2Fsb3I9ODc0NDtlLmxvbGluZ3RoYWk9MzYyMTtlLmxvbmdzPTM4MztlLmxvd2xpbmVjZW50ZXJsaW5lPTY1MTAyO2UubG93bGluZWNtYj04MTg7ZS5sb3dsaW5lZGFzaGVkPTY1MTAxO2UubG96ZW5nZT05Njc0O2UubHBhcmVuPTkzODM7ZS5sc2xhc2g9MzIyO2UubHNxdWFyZT04NDY3O2UubHN1cGVyaW9yPTYzMjE0O2UubHRzaGFkZT05NjE3O2UubHV0aGFpPTM2MjI7ZS5sdm9jYWxpY2JlbmdhbGk9MjQ0NDtlLmx2b2NhbGljZGV2YT0yMzE2O2UubHZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpPTI1MzA7ZS5sdm9jYWxpY3Zvd2Vsc2lnbmRldmE9MjQwMjtlLmx4c3F1YXJlPTEzMjY3O2UubT0xMDk7ZS5tYWJlbmdhbGk9MjQ3ODtlLm1hY3Jvbj0xNzU7ZS5tYWNyb25iZWxvd2NtYj04MTc7ZS5tYWNyb25jbWI9NzcyO2UubWFjcm9ubG93bW9kPTcxNztlLm1hY3Jvbm1vbm9zcGFjZT02NTUwNztlLm1hY3V0ZT03NzQzO2UubWFkZXZhPTIzNTA7ZS5tYWd1amFyYXRpPTI3MzQ7ZS5tYWd1cm11a2hpPTI2MDY7ZS5tYWhhcGFraGhlYnJldz0xNDQ0O2UubWFoYXBha2hsZWZ0aGVicmV3PTE0NDQ7ZS5tYWhpcmFnYW5hPTEyNDE0O2UubWFpY2hhdHRhd2Fsb3dsZWZ0dGhhaT02MzYzNztlLm1haWNoYXR0YXdhbG93cmlnaHR0aGFpPTYzNjM2O2UubWFpY2hhdHRhd2F0aGFpPTM2NTk7ZS5tYWljaGF0dGF3YXVwcGVybGVmdHRoYWk9NjM2MzU7ZS5tYWlla2xvd2xlZnR0aGFpPTYzNjI4O2UubWFpZWtsb3dyaWdodHRoYWk9NjM2Mjc7ZS5tYWlla3RoYWk9MzY1NjtlLm1haWVrdXBwZXJsZWZ0dGhhaT02MzYyNjtlLm1haWhhbmFrYXRsZWZ0dGhhaT02MzYyMDtlLm1haWhhbmFrYXR0aGFpPTM2MzM7ZS5tYWl0YWlraHVsZWZ0dGhhaT02MzYyNTtlLm1haXRhaWtodXRoYWk9MzY1NTtlLm1haXRob2xvd2xlZnR0aGFpPTYzNjMxO2UubWFpdGhvbG93cmlnaHR0aGFpPTYzNjMwO2UubWFpdGhvdGhhaT0zNjU3O2UubWFpdGhvdXBwZXJsZWZ0dGhhaT02MzYyOTtlLm1haXRyaWxvd2xlZnR0aGFpPTYzNjM0O2UubWFpdHJpbG93cmlnaHR0aGFpPTYzNjMzO2UubWFpdHJpdGhhaT0zNjU4O2UubWFpdHJpdXBwZXJsZWZ0dGhhaT02MzYzMjtlLm1haXlhbW9rdGhhaT0zNjU0O2UubWFrYXRha2FuYT0xMjUxMDtlLm1ha2F0YWthbmFoYWxmd2lkdGg9NjU0MjM7ZS5tYWxlPTk3OTQ7ZS5tYW5zeW9uc3F1YXJlPTEzMTI3O2UubWFxYWZoZWJyZXc9MTQ3MDtlLm1hcnM9OTc5NDtlLm1hc29yYWNpcmNsZWhlYnJldz0xNDU1O2UubWFzcXVhcmU9MTMxODc7ZS5tYm9wb21vZm89MTI1NTE7ZS5tYnNxdWFyZT0xMzI2ODtlLm1jaXJjbGU9OTQzNjtlLm1jdWJlZHNxdWFyZT0xMzIyMTtlLm1kb3RhY2NlbnQ9Nzc0NTtlLm1kb3RiZWxvdz03NzQ3O2UubWVlbWFyYWJpYz0xNjA1O2UubWVlbWZpbmFsYXJhYmljPTY1MjUwO2UubWVlbWluaXRpYWxhcmFiaWM9NjUyNTE7ZS5tZWVtbWVkaWFsYXJhYmljPTY1MjUyO2UubWVlbW1lZW1pbml0aWFsYXJhYmljPTY0NzIxO2UubWVlbW1lZW1pc29sYXRlZGFyYWJpYz02NDU4NDtlLm1lZXRvcnVzcXVhcmU9MTMxMzM7ZS5tZWhpcmFnYW5hPTEyNDE3O2UubWVpemllcmFzcXVhcmU9MTMxODI7ZS5tZWthdGFrYW5hPTEyNTEzO2UubWVrYXRha2FuYWhhbGZ3aWR0aD02NTQyNjtlLm1lbT0xNTAyO2UubWVtZGFnZXNoPTY0MzE4O2UubWVtZGFnZXNoaGVicmV3PTY0MzE4O2UubWVtaGVicmV3PTE1MDI7ZS5tZW5hcm1lbmlhbj0xMzk2O2UubWVya2hhaGVicmV3PTE0NDU7ZS5tZXJraGFrZWZ1bGFoZWJyZXc9MTQ0NjtlLm1lcmtoYWtlZnVsYWxlZnRoZWJyZXc9MTQ0NjtlLm1lcmtoYWxlZnRoZWJyZXc9MTQ0NTtlLm1ob29rPTYyNTtlLm1oenNxdWFyZT0xMzIwMjtlLm1pZGRsZWRvdGthdGFrYW5haGFsZndpZHRoPTY1MzgxO2UubWlkZG90PTE4MztlLm1pZXVtYWNpcmNsZWtvcmVhbj0xMjkxNDtlLm1pZXVtYXBhcmVua29yZWFuPTEyODE4O2UubWlldW1jaXJjbGVrb3JlYW49MTI5MDA7ZS5taWV1bWtvcmVhbj0xMjYwOTtlLm1pZXVtcGFuc2lvc2tvcmVhbj0xMjY1NjtlLm1pZXVtcGFyZW5rb3JlYW49MTI4MDQ7ZS5taWV1bXBpZXVwa29yZWFuPTEyNjU0O2UubWlldW1zaW9za29yZWFuPTEyNjU1O2UubWloaXJhZ2FuYT0xMjQxNTtlLm1pa2F0YWthbmE9MTI1MTE7ZS5taWthdGFrYW5haGFsZndpZHRoPTY1NDI0O2UubWludXM9ODcyMjtlLm1pbnVzYmVsb3djbWI9ODAwO2UubWludXNjaXJjbGU9ODg1NDtlLm1pbnVzbW9kPTcyNztlLm1pbnVzcGx1cz04NzIzO2UubWludXRlPTgyNDI7ZS5taXJpYmFhcnVzcXVhcmU9MTMxMzA7ZS5taXJpc3F1YXJlPTEzMTI5O2UubWxvbmdsZWd0dXJuZWQ9NjI0O2UubWxzcXVhcmU9MTMyMDY7ZS5tbWN1YmVkc3F1YXJlPTEzMjE5O2UubW1vbm9zcGFjZT02NTM1NztlLm1tc3F1YXJlZHNxdWFyZT0xMzIxNTtlLm1vaGlyYWdhbmE9MTI0MTg7ZS5tb2htc3F1YXJlPTEzMjQ5O2UubW9rYXRha2FuYT0xMjUxNDtlLm1va2F0YWthbmFoYWxmd2lkdGg9NjU0Mjc7ZS5tb2xzcXVhcmU9MTMyNzA7ZS5tb21hdGhhaT0zNjE3O2UubW92ZXJzc3F1YXJlPTEzMjIzO2UubW92ZXJzc3F1YXJlZHNxdWFyZT0xMzIyNDtlLm1wYXJlbj05Mzg0O2UubXBhc3F1YXJlPTEzMjI3O2UubXNzcXVhcmU9MTMyMzU7ZS5tc3VwZXJpb3I9NjMyMTU7ZS5tdHVybmVkPTYyMztlLm11PTE4MTtlLm11MT0xODE7ZS5tdWFzcXVhcmU9MTMxODY7ZS5tdWNoZ3JlYXRlcj04ODExO2UubXVjaGxlc3M9ODgxMDtlLm11ZnNxdWFyZT0xMzE5NjtlLm11Z3JlZWs9OTU2O2UubXVnc3F1YXJlPTEzMTk3O2UubXVoaXJhZ2FuYT0xMjQxNjtlLm11a2F0YWthbmE9MTI1MTI7ZS5tdWthdGFrYW5haGFsZndpZHRoPTY1NDI1O2UubXVsc3F1YXJlPTEzMjA1O2UubXVsdGlwbHk9MjE1O2UubXVtc3F1YXJlPTEzMjExO2UubXVuYWhoZWJyZXc9MTQ0MztlLm11bmFobGVmdGhlYnJldz0xNDQzO2UubXVzaWNhbG5vdGU9OTgzNDtlLm11c2ljYWxub3RlZGJsPTk4MzU7ZS5tdXNpY2ZsYXRzaWduPTk4Mzc7ZS5tdXNpY3NoYXJwc2lnbj05ODM5O2UubXVzc3F1YXJlPTEzMjM0O2UubXV2c3F1YXJlPTEzMjM4O2UubXV3c3F1YXJlPTEzMjQ0O2UubXZtZWdhc3F1YXJlPTEzMjQxO2UubXZzcXVhcmU9MTMyMzk7ZS5td21lZ2FzcXVhcmU9MTMyNDc7ZS5td3NxdWFyZT0xMzI0NTtlLm49MTEwO2UubmFiZW5nYWxpPTI0NzI7ZS5uYWJsYT04NzExO2UubmFjdXRlPTMyNDtlLm5hZGV2YT0yMzQ0O2UubmFndWphcmF0aT0yNzI4O2UubmFndXJtdWtoaT0yNjAwO2UubmFoaXJhZ2FuYT0xMjM5NDtlLm5ha2F0YWthbmE9MTI0OTA7ZS5uYWthdGFrYW5haGFsZndpZHRoPTY1NDEzO2UubmFwb3N0cm9waGU9MzI5O2UubmFzcXVhcmU9MTMxODU7ZS5uYm9wb21vZm89MTI1NTU7ZS5uYnNwYWNlPTE2MDtlLm5jYXJvbj0zMjg7ZS5uY2VkaWxsYT0zMjY7ZS5uY2lyY2xlPTk0Mzc7ZS5uY2lyY3VtZmxleGJlbG93PTc3NTU7ZS5uY29tbWFhY2NlbnQ9MzI2O2UubmRvdGFjY2VudD03NzQ5O2UubmRvdGJlbG93PTc3NTE7ZS5uZWhpcmFnYW5hPTEyMzk3O2UubmVrYXRha2FuYT0xMjQ5MztlLm5la2F0YWthbmFoYWxmd2lkdGg9NjU0MTY7ZS5uZXdzaGVxZWxzaWduPTgzNjI7ZS5uZnNxdWFyZT0xMzE5NTtlLm5nYWJlbmdhbGk9MjQ1NztlLm5nYWRldmE9MjMyOTtlLm5nYWd1amFyYXRpPTI3MTM7ZS5uZ2FndXJtdWtoaT0yNTg1O2Uubmdvbmd1dGhhaT0zNTkxO2UubmhpcmFnYW5hPTEyNDM1O2Uubmhvb2tsZWZ0PTYyNjtlLm5ob29rcmV0cm9mbGV4PTYyNztlLm5pZXVuYWNpcmNsZWtvcmVhbj0xMjkxMTtlLm5pZXVuYXBhcmVua29yZWFuPTEyODE1O2UubmlldW5jaWV1Y2tvcmVhbj0xMjU5NztlLm5pZXVuY2lyY2xla29yZWFuPTEyODk3O2UubmlldW5oaWV1aGtvcmVhbj0xMjU5ODtlLm5pZXVua29yZWFuPTEyNTk2O2UubmlldW5wYW5zaW9za29yZWFuPTEyNjQ4O2UubmlldW5wYXJlbmtvcmVhbj0xMjgwMTtlLm5pZXVuc2lvc2tvcmVhbj0xMjY0NztlLm5pZXVudGlrZXV0a29yZWFuPTEyNjQ2O2UubmloaXJhZ2FuYT0xMjM5NTtlLm5pa2F0YWthbmE9MTI0OTE7ZS5uaWthdGFrYW5haGFsZndpZHRoPTY1NDE0O2UubmlraGFoaXRsZWZ0dGhhaT02MzY0MTtlLm5pa2hhaGl0dGhhaT0zNjYxO2UubmluZT01NztlLm5pbmVhcmFiaWM9MTY0MTtlLm5pbmViZW5nYWxpPTI1NDM7ZS5uaW5lY2lyY2xlPTkzMjA7ZS5uaW5lY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEzMDtlLm5pbmVkZXZhPTI0MTU7ZS5uaW5lZ3VqYXJhdGk9Mjc5OTtlLm5pbmVndXJtdWtoaT0yNjcxO2UubmluZWhhY2thcmFiaWM9MTY0MTtlLm5pbmVoYW5nemhvdT0xMjMyOTtlLm5pbmVpZGVvZ3JhcGhpY3BhcmVuPTEyODQwO2UubmluZWluZmVyaW9yPTgzMjk7ZS5uaW5lbW9ub3NwYWNlPTY1MzA1O2UubmluZW9sZHN0eWxlPTYzMjg5O2UubmluZXBhcmVuPTkzNDA7ZS5uaW5lcGVyaW9kPTkzNjA7ZS5uaW5lcGVyc2lhbj0xNzg1O2UubmluZXJvbWFuPTg1Njg7ZS5uaW5lc3VwZXJpb3I9ODMxMztlLm5pbmV0ZWVuY2lyY2xlPTkzMzA7ZS5uaW5ldGVlbnBhcmVuPTkzNTA7ZS5uaW5ldGVlbnBlcmlvZD05MzcwO2UubmluZXRoYWk9MzY3MztlLm5qPTQ2MDtlLm5qZWN5cmlsbGljPTExMTQ7ZS5ua2F0YWthbmE9MTI1MzE7ZS5ua2F0YWthbmFoYWxmd2lkdGg9NjU0Mzc7ZS5ubGVncmlnaHRsb25nPTQxNDtlLm5saW5lYmVsb3c9Nzc1MztlLm5tb25vc3BhY2U9NjUzNTg7ZS5ubXNxdWFyZT0xMzIxMDtlLm5uYWJlbmdhbGk9MjQ2NztlLm5uYWRldmE9MjMzOTtlLm5uYWd1amFyYXRpPTI3MjM7ZS5ubmFndXJtdWtoaT0yNTk1O2Uubm5uYWRldmE9MjM0NTtlLm5vaGlyYWdhbmE9MTIzOTg7ZS5ub2thdGFrYW5hPTEyNDk0O2Uubm9rYXRha2FuYWhhbGZ3aWR0aD02NTQxNztlLm5vbmJyZWFraW5nc3BhY2U9MTYwO2Uubm9uZW50aGFpPTM2MDM7ZS5ub251dGhhaT0zNjA5O2Uubm9vbmFyYWJpYz0xNjA2O2Uubm9vbmZpbmFsYXJhYmljPTY1MjU0O2Uubm9vbmdodW5uYWFyYWJpYz0xNzIyO2Uubm9vbmdodW5uYWZpbmFsYXJhYmljPTY0NDE1O2Uubm9vbmluaXRpYWxhcmFiaWM9NjUyNTU7ZS5ub29uamVlbWluaXRpYWxhcmFiaWM9NjQ3MjI7ZS5ub29uamVlbWlzb2xhdGVkYXJhYmljPTY0NTg3O2Uubm9vbm1lZGlhbGFyYWJpYz02NTI1NjtlLm5vb25tZWVtaW5pdGlhbGFyYWJpYz02NDcyNTtlLm5vb25tZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1OTA7ZS5ub29ubm9vbmZpbmFsYXJhYmljPTY0NjUzO2Uubm90Y29udGFpbnM9ODcxNjtlLm5vdGVsZW1lbnQ9ODcxMztlLm5vdGVsZW1lbnRvZj04NzEzO2Uubm90ZXF1YWw9ODgwMDtlLm5vdGdyZWF0ZXI9ODgxNTtlLm5vdGdyZWF0ZXJub3JlcXVhbD04ODE3O2Uubm90Z3JlYXRlcm5vcmxlc3M9ODgyNTtlLm5vdGlkZW50aWNhbD04ODAyO2Uubm90bGVzcz04ODE0O2Uubm90bGVzc25vcmVxdWFsPTg4MTY7ZS5ub3RwYXJhbGxlbD04NzQyO2Uubm90cHJlY2VkZXM9ODgzMjtlLm5vdHN1YnNldD04ODM2O2Uubm90c3VjY2VlZHM9ODgzMztlLm5vdHN1cGVyc2V0PTg4Mzc7ZS5ub3dhcm1lbmlhbj0xMzk4O2UubnBhcmVuPTkzODU7ZS5uc3NxdWFyZT0xMzIzMztlLm5zdXBlcmlvcj04MzE5O2UubnRpbGRlPTI0MTtlLm51PTk1NztlLm51aGlyYWdhbmE9MTIzOTY7ZS5udWthdGFrYW5hPTEyNDkyO2UubnVrYXRha2FuYWhhbGZ3aWR0aD02NTQxNTtlLm51a3RhYmVuZ2FsaT0yNDkyO2UubnVrdGFkZXZhPTIzNjQ7ZS5udWt0YWd1amFyYXRpPTI3NDg7ZS5udWt0YWd1cm11a2hpPTI2MjA7ZS5udW1iZXJzaWduPTM1O2UubnVtYmVyc2lnbm1vbm9zcGFjZT02NTI4MztlLm51bWJlcnNpZ25zbWFsbD02NTExOTtlLm51bWVyYWxzaWduZ3JlZWs9ODg0O2UubnVtZXJhbHNpZ25sb3dlcmdyZWVrPTg4NTtlLm51bWVybz04NDcwO2UubnVuPTE1MDQ7ZS5udW5kYWdlc2g9NjQzMjA7ZS5udW5kYWdlc2hoZWJyZXc9NjQzMjA7ZS5udW5oZWJyZXc9MTUwNDtlLm52c3F1YXJlPTEzMjM3O2UubndzcXVhcmU9MTMyNDM7ZS5ueWFiZW5nYWxpPTI0NjI7ZS5ueWFkZXZhPTIzMzQ7ZS5ueWFndWphcmF0aT0yNzE4O2UubnlhZ3VybXVraGk9MjU5MDtlLm89MTExO2Uub2FjdXRlPTI0MztlLm9hbmd0aGFpPTM2Mjk7ZS5vYmFycmVkPTYyOTtlLm9iYXJyZWRjeXJpbGxpYz0xMjU3O2Uub2JhcnJlZGRpZXJlc2lzY3lyaWxsaWM9MTI1OTtlLm9iZW5nYWxpPTI0NTE7ZS5vYm9wb21vZm89MTI1NzE7ZS5vYnJldmU9MzM1O2Uub2NhbmRyYWRldmE9MjMyMTtlLm9jYW5kcmFndWphcmF0aT0yNzA1O2Uub2NhbmRyYXZvd2Vsc2lnbmRldmE9MjM3NztlLm9jYW5kcmF2b3dlbHNpZ25ndWphcmF0aT0yNzYxO2Uub2Nhcm9uPTQ2NjtlLm9jaXJjbGU9OTQzODtlLm9jaXJjdW1mbGV4PTI0NDtlLm9jaXJjdW1mbGV4YWN1dGU9Nzg4OTtlLm9jaXJjdW1mbGV4ZG90YmVsb3c9Nzg5NztlLm9jaXJjdW1mbGV4Z3JhdmU9Nzg5MTtlLm9jaXJjdW1mbGV4aG9va2Fib3ZlPTc4OTM7ZS5vY2lyY3VtZmxleHRpbGRlPTc4OTU7ZS5vY3lyaWxsaWM9MTA4NjtlLm9kYmxhY3V0ZT0zMzc7ZS5vZGJsZ3JhdmU9NTI1O2Uub2RldmE9MjMyMztlLm9kaWVyZXNpcz0yNDY7ZS5vZGllcmVzaXNjeXJpbGxpYz0xMjU1O2Uub2RvdGJlbG93PTc4ODU7ZS5vZT0zMzk7ZS5vZWtvcmVhbj0xMjYzNDtlLm9nb25laz03MzE7ZS5vZ29uZWtjbWI9ODA4O2Uub2dyYXZlPTI0MjtlLm9ndWphcmF0aT0yNzA3O2Uub2hhcm1lbmlhbj0xNDEzO2Uub2hpcmFnYW5hPTEyMzYyO2Uub2hvb2thYm92ZT03ODg3O2Uub2hvcm49NDE3O2Uub2hvcm5hY3V0ZT03ODk5O2Uub2hvcm5kb3RiZWxvdz03OTA3O2Uub2hvcm5ncmF2ZT03OTAxO2Uub2hvcm5ob29rYWJvdmU9NzkwMztlLm9ob3JudGlsZGU9NzkwNTtlLm9odW5nYXJ1bWxhdXQ9MzM3O2Uub2k9NDE5O2Uub2ludmVydGVkYnJldmU9NTI3O2Uub2thdGFrYW5hPTEyNDU4O2Uub2thdGFrYW5haGFsZndpZHRoPTY1Mzk3O2Uub2tvcmVhbj0xMjYzMTtlLm9sZWhlYnJldz0xNDUxO2Uub21hY3Jvbj0zMzM7ZS5vbWFjcm9uYWN1dGU9Nzc2MztlLm9tYWNyb25ncmF2ZT03NzYxO2Uub21kZXZhPTIzODQ7ZS5vbWVnYT05Njk7ZS5vbWVnYTE9OTgyO2Uub21lZ2FjeXJpbGxpYz0xMTIxO2Uub21lZ2FsYXRpbmNsb3NlZD02MzE7ZS5vbWVnYXJvdW5kY3lyaWxsaWM9MTE0NztlLm9tZWdhdGl0bG9jeXJpbGxpYz0xMTQ5O2Uub21lZ2F0b25vcz05NzQ7ZS5vbWd1amFyYXRpPTI3Njg7ZS5vbWljcm9uPTk1OTtlLm9taWNyb250b25vcz05NzI7ZS5vbW9ub3NwYWNlPTY1MzU5O2Uub25lPTQ5O2Uub25lYXJhYmljPTE2MzM7ZS5vbmViZW5nYWxpPTI1MzU7ZS5vbmVjaXJjbGU9OTMxMjtlLm9uZWNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjI7ZS5vbmVkZXZhPTI0MDc7ZS5vbmVkb3RlbmxlYWRlcj04MjI4O2Uub25lZWlnaHRoPTg1Mzk7ZS5vbmVmaXR0ZWQ9NjMxOTY7ZS5vbmVndWphcmF0aT0yNzkxO2Uub25lZ3VybXVraGk9MjY2MztlLm9uZWhhY2thcmFiaWM9MTYzMztlLm9uZWhhbGY9MTg5O2Uub25laGFuZ3pob3U9MTIzMjE7ZS5vbmVpZGVvZ3JhcGhpY3BhcmVuPTEyODMyO2Uub25laW5mZXJpb3I9ODMyMTtlLm9uZW1vbm9zcGFjZT02NTI5NztlLm9uZW51bWVyYXRvcmJlbmdhbGk9MjU0ODtlLm9uZW9sZHN0eWxlPTYzMjgxO2Uub25lcGFyZW49OTMzMjtlLm9uZXBlcmlvZD05MzUyO2Uub25lcGVyc2lhbj0xNzc3O2Uub25lcXVhcnRlcj0xODg7ZS5vbmVyb21hbj04NTYwO2Uub25lc3VwZXJpb3I9MTg1O2Uub25ldGhhaT0zNjY1O2Uub25ldGhpcmQ9ODUzMTtlLm9vZ29uZWs9NDkxO2Uub29nb25la21hY3Jvbj00OTM7ZS5vb2d1cm11a2hpPTI1Nzk7ZS5vb21hdHJhZ3VybXVraGk9MjYzNTtlLm9vcGVuPTU5NjtlLm9wYXJlbj05Mzg2O2Uub3BlbmJ1bGxldD05NzAyO2Uub3B0aW9uPTg5OTc7ZS5vcmRmZW1pbmluZT0xNzA7ZS5vcmRtYXNjdWxpbmU9MTg2O2Uub3J0aG9nb25hbD04NzM1O2Uub3Nob3J0ZGV2YT0yMzIyO2Uub3Nob3J0dm93ZWxzaWduZGV2YT0yMzc4O2Uub3NsYXNoPTI0ODtlLm9zbGFzaGFjdXRlPTUxMTtlLm9zbWFsbGhpcmFnYW5hPTEyMzYxO2Uub3NtYWxsa2F0YWthbmE9MTI0NTc7ZS5vc21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4NztlLm9zdHJva2VhY3V0ZT01MTE7ZS5vc3VwZXJpb3I9NjMyMTY7ZS5vdGN5cmlsbGljPTExNTE7ZS5vdGlsZGU9MjQ1O2Uub3RpbGRlYWN1dGU9Nzc1NztlLm90aWxkZWRpZXJlc2lzPTc3NTk7ZS5vdWJvcG9tb2ZvPTEyNTc3O2Uub3ZlcmxpbmU9ODI1NDtlLm92ZXJsaW5lY2VudGVybGluZT02NTA5ODtlLm92ZXJsaW5lY21iPTc3MztlLm92ZXJsaW5lZGFzaGVkPTY1MDk3O2Uub3ZlcmxpbmVkYmx3YXZ5PTY1MTAwO2Uub3ZlcmxpbmV3YXZ5PTY1MDk5O2Uub3ZlcnNjb3JlPTE3NTtlLm92b3dlbHNpZ25iZW5nYWxpPTI1MDc7ZS5vdm93ZWxzaWduZGV2YT0yMzc5O2Uub3Zvd2Vsc2lnbmd1amFyYXRpPTI3NjM7ZS5wPTExMjtlLnBhYW1wc3NxdWFyZT0xMzE4NDtlLnBhYXNlbnRvc3F1YXJlPTEzMDk5O2UucGFiZW5nYWxpPTI0NzQ7ZS5wYWN1dGU9Nzc2NTtlLnBhZGV2YT0yMzQ2O2UucGFnZWRvd249ODY3MTtlLnBhZ2V1cD04NjcwO2UucGFndWphcmF0aT0yNzMwO2UucGFndXJtdWtoaT0yNjAyO2UucGFoaXJhZ2FuYT0xMjQwMTtlLnBhaXlhbm5vaXRoYWk9MzYzMTtlLnBha2F0YWthbmE9MTI0OTc7ZS5wYWxhdGFsaXphdGlvbmN5cmlsbGljY21iPTExNTY7ZS5wYWxvY2hrYWN5cmlsbGljPTEyMTY7ZS5wYW5zaW9za29yZWFuPTEyNjcxO2UucGFyYWdyYXBoPTE4MjtlLnBhcmFsbGVsPTg3NDE7ZS5wYXJlbmxlZnQ9NDA7ZS5wYXJlbmxlZnRhbHRvbmVhcmFiaWM9NjQ4MzA7ZS5wYXJlbmxlZnRidD02MzcyNTtlLnBhcmVubGVmdGV4PTYzNzI0O2UucGFyZW5sZWZ0aW5mZXJpb3I9ODMzMztlLnBhcmVubGVmdG1vbm9zcGFjZT02NTI4ODtlLnBhcmVubGVmdHNtYWxsPTY1MTEzO2UucGFyZW5sZWZ0c3VwZXJpb3I9ODMxNztlLnBhcmVubGVmdHRwPTYzNzIzO2UucGFyZW5sZWZ0dmVydGljYWw9NjUwNzc7ZS5wYXJlbnJpZ2h0PTQxO2UucGFyZW5yaWdodGFsdG9uZWFyYWJpYz02NDgzMTtlLnBhcmVucmlnaHRidD02MzczNjtlLnBhcmVucmlnaHRleD02MzczNTtlLnBhcmVucmlnaHRpbmZlcmlvcj04MzM0O2UucGFyZW5yaWdodG1vbm9zcGFjZT02NTI4OTtlLnBhcmVucmlnaHRzbWFsbD02NTExNDtlLnBhcmVucmlnaHRzdXBlcmlvcj04MzE4O2UucGFyZW5yaWdodHRwPTYzNzM0O2UucGFyZW5yaWdodHZlcnRpY2FsPTY1MDc4O2UucGFydGlhbGRpZmY9ODcwNjtlLnBhc2VxaGVicmV3PTE0NzI7ZS5wYXNodGFoZWJyZXc9MTQzMztlLnBhc3F1YXJlPTEzMjI1O2UucGF0YWg9MTQ2MztlLnBhdGFoMTE9MTQ2MztlLnBhdGFoMWQ9MTQ2MztlLnBhdGFoMmE9MTQ2MztlLnBhdGFoaGVicmV3PTE0NjM7ZS5wYXRhaG5hcnJvd2hlYnJldz0xNDYzO2UucGF0YWhxdWFydGVyaGVicmV3PTE0NjM7ZS5wYXRhaHdpZGVoZWJyZXc9MTQ2MztlLnBhemVyaGVicmV3PTE0NDE7ZS5wYm9wb21vZm89MTI1NTA7ZS5wY2lyY2xlPTk0Mzk7ZS5wZG90YWNjZW50PTc3Njc7ZS5wZT0xNTA4O2UucGVjeXJpbGxpYz0xMDg3O2UucGVkYWdlc2g9NjQzMjQ7ZS5wZWRhZ2VzaGhlYnJldz02NDMyNDtlLnBlZXppc3F1YXJlPTEzMTE1O2UucGVmaW5hbGRhZ2VzaGhlYnJldz02NDMyMztlLnBlaGFyYWJpYz0xNjYyO2UucGVoYXJtZW5pYW49MTQwMjtlLnBlaGVicmV3PTE1MDg7ZS5wZWhmaW5hbGFyYWJpYz02NDM0MztlLnBlaGluaXRpYWxhcmFiaWM9NjQzNDQ7ZS5wZWhpcmFnYW5hPTEyNDEwO2UucGVobWVkaWFsYXJhYmljPTY0MzQ1O2UucGVrYXRha2FuYT0xMjUwNjtlLnBlbWlkZGxlaG9va2N5cmlsbGljPTExOTE7ZS5wZXJhZmVoZWJyZXc9NjQzMzQ7ZS5wZXJjZW50PTM3O2UucGVyY2VudGFyYWJpYz0xNjQyO2UucGVyY2VudG1vbm9zcGFjZT02NTI4NTtlLnBlcmNlbnRzbWFsbD02NTEzMDtlLnBlcmlvZD00NjtlLnBlcmlvZGFybWVuaWFuPTE0MTc7ZS5wZXJpb2RjZW50ZXJlZD0xODM7ZS5wZXJpb2RoYWxmd2lkdGg9NjUzNzc7ZS5wZXJpb2RpbmZlcmlvcj02MzIwNztlLnBlcmlvZG1vbm9zcGFjZT02NTI5NDtlLnBlcmlvZHNtYWxsPTY1MTA2O2UucGVyaW9kc3VwZXJpb3I9NjMyMDg7ZS5wZXJpc3BvbWVuaWdyZWVrY21iPTgzNDtlLnBlcnBlbmRpY3VsYXI9ODg2OTtlLnBlcnRob3VzYW5kPTgyNDA7ZS5wZXNldGE9ODM1OTtlLnBmc3F1YXJlPTEzMTk0O2UucGhhYmVuZ2FsaT0yNDc1O2UucGhhZGV2YT0yMzQ3O2UucGhhZ3VqYXJhdGk9MjczMTtlLnBoYWd1cm11a2hpPTI2MDM7ZS5waGk9OTY2O2UucGhpMT05ODE7ZS5waGlldXBoYWNpcmNsZWtvcmVhbj0xMjkyMjtlLnBoaWV1cGhhcGFyZW5rb3JlYW49MTI4MjY7ZS5waGlldXBoY2lyY2xla29yZWFuPTEyOTA4O2UucGhpZXVwaGtvcmVhbj0xMjYyMTtlLnBoaWV1cGhwYXJlbmtvcmVhbj0xMjgxMjtlLnBoaWxhdGluPTYzMjtlLnBoaW50aHV0aGFpPTM2NDI7ZS5waGlzeW1ib2xncmVlaz05ODE7ZS5waG9vaz00MjE7ZS5waG9waGFudGhhaT0zNjE0O2UucGhvcGh1bmd0aGFpPTM2MTI7ZS5waG9zYW1waGFvdGhhaT0zNjE2O2UucGk9OTYwO2UucGlldXBhY2lyY2xla29yZWFuPTEyOTE1O2UucGlldXBhcGFyZW5rb3JlYW49MTI4MTk7ZS5waWV1cGNpZXVja29yZWFuPTEyNjYyO2UucGlldXBjaXJjbGVrb3JlYW49MTI5MDE7ZS5waWV1cGtpeWVva2tvcmVhbj0xMjY1ODtlLnBpZXVwa29yZWFuPTEyNjEwO2UucGlldXBwYXJlbmtvcmVhbj0xMjgwNTtlLnBpZXVwc2lvc2tpeWVva2tvcmVhbj0xMjY2MDtlLnBpZXVwc2lvc2tvcmVhbj0xMjYxMjtlLnBpZXVwc2lvc3Rpa2V1dGtvcmVhbj0xMjY2MTtlLnBpZXVwdGhpZXV0aGtvcmVhbj0xMjY2MztlLnBpZXVwdGlrZXV0a29yZWFuPTEyNjU5O2UucGloaXJhZ2FuYT0xMjQwNDtlLnBpa2F0YWthbmE9MTI1MDA7ZS5waXN5bWJvbGdyZWVrPTk4MjtlLnBpd3Jhcm1lbmlhbj0xNDExO2UucGxhbmNrb3ZlcjJwaT04NDYzO2UucGxhbmNrb3ZlcjJwaTE9ODQ2MztlLnBsdXM9NDM7ZS5wbHVzYmVsb3djbWI9Nzk5O2UucGx1c2NpcmNsZT04ODUzO2UucGx1c21pbnVzPTE3NztlLnBsdXNtb2Q9NzI2O2UucGx1c21vbm9zcGFjZT02NTI5MTtlLnBsdXNzbWFsbD02NTEyMjtlLnBsdXNzdXBlcmlvcj04MzE0O2UucG1vbm9zcGFjZT02NTM2MDtlLnBtc3F1YXJlPTEzMjcyO2UucG9oaXJhZ2FuYT0xMjQxMztlLnBvaW50aW5naW5kZXhkb3dud2hpdGU9OTc1OTtlLnBvaW50aW5naW5kZXhsZWZ0d2hpdGU9OTc1NjtlLnBvaW50aW5naW5kZXhyaWdodHdoaXRlPTk3NTg7ZS5wb2ludGluZ2luZGV4dXB3aGl0ZT05NzU3O2UucG9rYXRha2FuYT0xMjUwOTtlLnBvcGxhdGhhaT0zNjExO2UucG9zdGFsbWFyaz0xMjMwNjtlLnBvc3RhbG1hcmtmYWNlPTEyMzIwO2UucHBhcmVuPTkzODc7ZS5wcmVjZWRlcz04ODI2O2UucHJlc2NyaXB0aW9uPTg0Nzg7ZS5wcmltZW1vZD02OTc7ZS5wcmltZXJldmVyc2VkPTgyNDU7ZS5wcm9kdWN0PTg3MTk7ZS5wcm9qZWN0aXZlPTg5NjU7ZS5wcm9sb25nZWRrYW5hPTEyNTQwO2UucHJvcGVsbG9yPTg5ODQ7ZS5wcm9wZXJzdWJzZXQ9ODgzNDtlLnByb3BlcnN1cGVyc2V0PTg4MzU7ZS5wcm9wb3J0aW9uPTg3NTk7ZS5wcm9wb3J0aW9uYWw9ODczMztlLnBzaT05Njg7ZS5wc2ljeXJpbGxpYz0xMTM3O2UucHNpbGlwbmV1bWF0YWN5cmlsbGljY21iPTExNTg7ZS5wc3NxdWFyZT0xMzIzMjtlLnB1aGlyYWdhbmE9MTI0MDc7ZS5wdWthdGFrYW5hPTEyNTAzO2UucHZzcXVhcmU9MTMyMzY7ZS5wd3NxdWFyZT0xMzI0MjtlLnE9MTEzO2UucWFkZXZhPTIzOTI7ZS5xYWRtYWhlYnJldz0xNDQ4O2UucWFmYXJhYmljPTE2MDI7ZS5xYWZmaW5hbGFyYWJpYz02NTIzODtlLnFhZmluaXRpYWxhcmFiaWM9NjUyMzk7ZS5xYWZtZWRpYWxhcmFiaWM9NjUyNDA7ZS5xYW1hdHM9MTQ2NDtlLnFhbWF0czEwPTE0NjQ7ZS5xYW1hdHMxYT0xNDY0O2UucWFtYXRzMWM9MTQ2NDtlLnFhbWF0czI3PTE0NjQ7ZS5xYW1hdHMyOT0xNDY0O2UucWFtYXRzMzM9MTQ2NDtlLnFhbWF0c2RlPTE0NjQ7ZS5xYW1hdHNoZWJyZXc9MTQ2NDtlLnFhbWF0c25hcnJvd2hlYnJldz0xNDY0O2UucWFtYXRzcWF0YW5oZWJyZXc9MTQ2NDtlLnFhbWF0c3FhdGFubmFycm93aGVicmV3PTE0NjQ7ZS5xYW1hdHNxYXRhbnF1YXJ0ZXJoZWJyZXc9MTQ2NDtlLnFhbWF0c3FhdGFud2lkZWhlYnJldz0xNDY0O2UucWFtYXRzcXVhcnRlcmhlYnJldz0xNDY0O2UucWFtYXRzd2lkZWhlYnJldz0xNDY0O2UucWFybmV5cGFyYWhlYnJldz0xNDM5O2UucWJvcG9tb2ZvPTEyNTYxO2UucWNpcmNsZT05NDQwO2UucWhvb2s9NjcyO2UucW1vbm9zcGFjZT02NTM2MTtlLnFvZj0xNTExO2UucW9mZGFnZXNoPTY0MzI3O2UucW9mZGFnZXNoaGVicmV3PTY0MzI3O2UucW9maGVicmV3PTE1MTE7ZS5xcGFyZW49OTM4ODtlLnF1YXJ0ZXJub3RlPTk4MzM7ZS5xdWJ1dHM9MTQ2NztlLnF1YnV0czE4PTE0Njc7ZS5xdWJ1dHMyNT0xNDY3O2UucXVidXRzMzE9MTQ2NztlLnF1YnV0c2hlYnJldz0xNDY3O2UucXVidXRzbmFycm93aGVicmV3PTE0Njc7ZS5xdWJ1dHNxdWFydGVyaGVicmV3PTE0Njc7ZS5xdWJ1dHN3aWRlaGVicmV3PTE0Njc7ZS5xdWVzdGlvbj02MztlLnF1ZXN0aW9uYXJhYmljPTE1Njc7ZS5xdWVzdGlvbmFybWVuaWFuPTEzNzQ7ZS5xdWVzdGlvbmRvd249MTkxO2UucXVlc3Rpb25kb3duc21hbGw9NjM0MjM7ZS5xdWVzdGlvbmdyZWVrPTg5NDtlLnF1ZXN0aW9ubW9ub3NwYWNlPTY1MzExO2UucXVlc3Rpb25zbWFsbD02MzI5NTtlLnF1b3RlZGJsPTM0O2UucXVvdGVkYmxiYXNlPTgyMjI7ZS5xdW90ZWRibGxlZnQ9ODIyMDtlLnF1b3RlZGJsbW9ub3NwYWNlPTY1MjgyO2UucXVvdGVkYmxwcmltZT0xMjMxODtlLnF1b3RlZGJscHJpbWVyZXZlcnNlZD0xMjMxNztlLnF1b3RlZGJscmlnaHQ9ODIyMTtlLnF1b3RlbGVmdD04MjE2O2UucXVvdGVsZWZ0cmV2ZXJzZWQ9ODIxOTtlLnF1b3RlcmV2ZXJzZWQ9ODIxOTtlLnF1b3RlcmlnaHQ9ODIxNztlLnF1b3RlcmlnaHRuPTMyOTtlLnF1b3Rlc2luZ2xiYXNlPTgyMTg7ZS5xdW90ZXNpbmdsZT0zOTtlLnF1b3Rlc2luZ2xlbW9ub3NwYWNlPTY1Mjg3O2Uucj0xMTQ7ZS5yYWFybWVuaWFuPTE0MDQ7ZS5yYWJlbmdhbGk9MjQ4MDtlLnJhY3V0ZT0zNDE7ZS5yYWRldmE9MjM1MjtlLnJhZGljYWw9ODczMDtlLnJhZGljYWxleD02MzcxNztlLnJhZG92ZXJzc3F1YXJlPTEzMjMwO2UucmFkb3ZlcnNzcXVhcmVkc3F1YXJlPTEzMjMxO2UucmFkc3F1YXJlPTEzMjI5O2UucmFmZT0xNDcxO2UucmFmZWhlYnJldz0xNDcxO2UucmFndWphcmF0aT0yNzM2O2UucmFndXJtdWtoaT0yNjA4O2UucmFoaXJhZ2FuYT0xMjQyNTtlLnJha2F0YWthbmE9MTI1MjE7ZS5yYWthdGFrYW5haGFsZndpZHRoPTY1NDMxO2UucmFsb3dlcmRpYWdvbmFsYmVuZ2FsaT0yNTQ1O2UucmFtaWRkbGVkaWFnb25hbGJlbmdhbGk9MjU0NDtlLnJhbXNob3JuPTYxMjtlLnJhdGlvPTg3NTg7ZS5yYm9wb21vZm89MTI1NjY7ZS5yY2Fyb249MzQ1O2UucmNlZGlsbGE9MzQzO2UucmNpcmNsZT05NDQxO2UucmNvbW1hYWNjZW50PTM0MztlLnJkYmxncmF2ZT01Mjk7ZS5yZG90YWNjZW50PTc3Njk7ZS5yZG90YmVsb3c9Nzc3MTtlLnJkb3RiZWxvd21hY3Jvbj03NzczO2UucmVmZXJlbmNlbWFyaz04MjUxO2UucmVmbGV4c3Vic2V0PTg4Mzg7ZS5yZWZsZXhzdXBlcnNldD04ODM5O2UucmVnaXN0ZXJlZD0xNzQ7ZS5yZWdpc3RlcnNhbnM9NjM3MjA7ZS5yZWdpc3RlcnNlcmlmPTYzMTk0O2UucmVoYXJhYmljPTE1ODU7ZS5yZWhhcm1lbmlhbj0xNDA4O2UucmVoZmluYWxhcmFiaWM9NjUxOTg7ZS5yZWhpcmFnYW5hPTEyNDI4O2UucmVrYXRha2FuYT0xMjUyNDtlLnJla2F0YWthbmFoYWxmd2lkdGg9NjU0MzQ7ZS5yZXNoPTE1MTI7ZS5yZXNoZGFnZXNoaGVicmV3PTY0MzI4O2UucmVzaGhlYnJldz0xNTEyO2UucmV2ZXJzZWR0aWxkZT04NzY1O2UucmV2aWFoZWJyZXc9MTQzMTtlLnJldmlhbXVncmFzaGhlYnJldz0xNDMxO2UucmV2bG9naWNhbG5vdD04OTc2O2UucmZpc2hob29rPTYzODtlLnJmaXNoaG9va3JldmVyc2VkPTYzOTtlLnJoYWJlbmdhbGk9MjUyNTtlLnJoYWRldmE9MjM5NztlLnJobz05NjE7ZS5yaG9vaz02Mzc7ZS5yaG9va3R1cm5lZD02MzU7ZS5yaG9va3R1cm5lZHN1cGVyaW9yPTY5MztlLnJob3N5bWJvbGdyZWVrPTEwMDk7ZS5yaG90aWNob29rbW9kPTczNDtlLnJpZXVsYWNpcmNsZWtvcmVhbj0xMjkxMztlLnJpZXVsYXBhcmVua29yZWFuPTEyODE3O2UucmlldWxjaXJjbGVrb3JlYW49MTI4OTk7ZS5yaWV1bGhpZXVoa29yZWFuPTEyNjA4O2UucmlldWxraXllb2trb3JlYW49MTI2MDI7ZS5yaWV1bGtpeWVva3Npb3Nrb3JlYW49MTI2NDk7ZS5yaWV1bGtvcmVhbj0xMjYwMTtlLnJpZXVsbWlldW1rb3JlYW49MTI2MDM7ZS5yaWV1bHBhbnNpb3Nrb3JlYW49MTI2NTI7ZS5yaWV1bHBhcmVua29yZWFuPTEyODAzO2UucmlldWxwaGlldXBoa29yZWFuPTEyNjA3O2UucmlldWxwaWV1cGtvcmVhbj0xMjYwNDtlLnJpZXVscGlldXBzaW9za29yZWFuPTEyNjUxO2UucmlldWxzaW9za29yZWFuPTEyNjA1O2UucmlldWx0aGlldXRoa29yZWFuPTEyNjA2O2UucmlldWx0aWtldXRrb3JlYW49MTI2NTA7ZS5yaWV1bHllb3JpbmhpZXVoa29yZWFuPTEyNjUzO2UucmlnaHRhbmdsZT04NzM1O2UucmlnaHR0YWNrYmVsb3djbWI9NzkzO2UucmlnaHR0cmlhbmdsZT04ODk1O2UucmloaXJhZ2FuYT0xMjQyNjtlLnJpa2F0YWthbmE9MTI1MjI7ZS5yaWthdGFrYW5haGFsZndpZHRoPTY1NDMyO2UucmluZz03MzA7ZS5yaW5nYmVsb3djbWI9ODA1O2UucmluZ2NtYj03Nzg7ZS5yaW5naGFsZmxlZnQ9NzAzO2UucmluZ2hhbGZsZWZ0YXJtZW5pYW49MTM2OTtlLnJpbmdoYWxmbGVmdGJlbG93Y21iPTc5NjtlLnJpbmdoYWxmbGVmdGNlbnRlcmVkPTcyMztlLnJpbmdoYWxmcmlnaHQ9NzAyO2UucmluZ2hhbGZyaWdodGJlbG93Y21iPTgyNTtlLnJpbmdoYWxmcmlnaHRjZW50ZXJlZD03MjI7ZS5yaW52ZXJ0ZWRicmV2ZT01MzE7ZS5yaXR0b3J1c3F1YXJlPTEzMTM3O2UucmxpbmViZWxvdz03Nzc1O2UucmxvbmdsZWc9NjM2O2UucmxvbmdsZWd0dXJuZWQ9NjM0O2Uucm1vbm9zcGFjZT02NTM2MjtlLnJvaGlyYWdhbmE9MTI0Mjk7ZS5yb2thdGFrYW5hPTEyNTI1O2Uucm9rYXRha2FuYWhhbGZ3aWR0aD02NTQzNTtlLnJvcnVhdGhhaT0zNjE5O2UucnBhcmVuPTkzODk7ZS5ycmFiZW5nYWxpPTI1MjQ7ZS5ycmFkZXZhPTIzNTM7ZS5ycmFndXJtdWtoaT0yNjUyO2UucnJlaGFyYWJpYz0xNjgxO2UucnJlaGZpbmFsYXJhYmljPTY0Mzk3O2UucnJ2b2NhbGljYmVuZ2FsaT0yNTI4O2UucnJ2b2NhbGljZGV2YT0yNDAwO2UucnJ2b2NhbGljZ3VqYXJhdGk9Mjc4NDtlLnJydm9jYWxpY3Zvd2Vsc2lnbmJlbmdhbGk9MjUwMDtlLnJydm9jYWxpY3Zvd2Vsc2lnbmRldmE9MjM3MjtlLnJydm9jYWxpY3Zvd2Vsc2lnbmd1amFyYXRpPTI3NTY7ZS5yc3VwZXJpb3I9NjMyMTc7ZS5ydGJsb2NrPTk2MTY7ZS5ydHVybmVkPTYzMztlLnJ0dXJuZWRzdXBlcmlvcj02OTI7ZS5ydWhpcmFnYW5hPTEyNDI3O2UucnVrYXRha2FuYT0xMjUyMztlLnJ1a2F0YWthbmFoYWxmd2lkdGg9NjU0MzM7ZS5ydXBlZW1hcmtiZW5nYWxpPTI1NDY7ZS5ydXBlZXNpZ25iZW5nYWxpPTI1NDc7ZS5ydXBpYWg9NjMxOTc7ZS5ydXRoYWk9MzYyMDtlLnJ2b2NhbGljYmVuZ2FsaT0yNDQzO2UucnZvY2FsaWNkZXZhPTIzMTU7ZS5ydm9jYWxpY2d1amFyYXRpPTI2OTk7ZS5ydm9jYWxpY3Zvd2Vsc2lnbmJlbmdhbGk9MjQ5OTtlLnJ2b2NhbGljdm93ZWxzaWduZGV2YT0yMzcxO2UucnZvY2FsaWN2b3dlbHNpZ25ndWphcmF0aT0yNzU1O2Uucz0xMTU7ZS5zYWJlbmdhbGk9MjQ4ODtlLnNhY3V0ZT0zNDc7ZS5zYWN1dGVkb3RhY2NlbnQ9Nzc4MTtlLnNhZGFyYWJpYz0xNTg5O2Uuc2FkZXZhPTIzNjA7ZS5zYWRmaW5hbGFyYWJpYz02NTIxMDtlLnNhZGluaXRpYWxhcmFiaWM9NjUyMTE7ZS5zYWRtZWRpYWxhcmFiaWM9NjUyMTI7ZS5zYWd1amFyYXRpPTI3NDQ7ZS5zYWd1cm11a2hpPTI2MTY7ZS5zYWhpcmFnYW5hPTEyMzczO2Uuc2FrYXRha2FuYT0xMjQ2OTtlLnNha2F0YWthbmFoYWxmd2lkdGg9NjU0MDM7ZS5zYWxsYWxsYWhvdWFsYXloZXdhc2FsbGFtYXJhYmljPTY1MDE4O2Uuc2FtZWtoPTE1MDU7ZS5zYW1la2hkYWdlc2g9NjQzMjE7ZS5zYW1la2hkYWdlc2hoZWJyZXc9NjQzMjE7ZS5zYW1la2hoZWJyZXc9MTUwNTtlLnNhcmFhYXRoYWk9MzYzNDtlLnNhcmFhZXRoYWk9MzY0OTtlLnNhcmFhaW1haW1hbGFpdGhhaT0zNjUyO2Uuc2FyYWFpbWFpbXVhbnRoYWk9MzY1MTtlLnNhcmFhbXRoYWk9MzYzNTtlLnNhcmFhdGhhaT0zNjMyO2Uuc2FyYWV0aGFpPTM2NDg7ZS5zYXJhaWlsZWZ0dGhhaT02MzYyMjtlLnNhcmFpaXRoYWk9MzYzNztlLnNhcmFpbGVmdHRoYWk9NjM2MjE7ZS5zYXJhaXRoYWk9MzYzNjtlLnNhcmFvdGhhaT0zNjUwO2Uuc2FyYXVlZWxlZnR0aGFpPTYzNjI0O2Uuc2FyYXVlZXRoYWk9MzYzOTtlLnNhcmF1ZWxlZnR0aGFpPTYzNjIzO2Uuc2FyYXVldGhhaT0zNjM4O2Uuc2FyYXV0aGFpPTM2NDA7ZS5zYXJhdXV0aGFpPTM2NDE7ZS5zYm9wb21vZm89MTI1Njk7ZS5zY2Fyb249MzUzO2Uuc2Nhcm9uZG90YWNjZW50PTc3ODM7ZS5zY2VkaWxsYT0zNTE7ZS5zY2h3YT02MDE7ZS5zY2h3YWN5cmlsbGljPTEyNDE7ZS5zY2h3YWRpZXJlc2lzY3lyaWxsaWM9MTI0MztlLnNjaHdhaG9vaz02MDI7ZS5zY2lyY2xlPTk0NDI7ZS5zY2lyY3VtZmxleD0zNDk7ZS5zY29tbWFhY2NlbnQ9NTM3O2Uuc2RvdGFjY2VudD03Nzc3O2Uuc2RvdGJlbG93PTc3Nzk7ZS5zZG90YmVsb3dkb3RhY2NlbnQ9Nzc4NTtlLnNlYWd1bGxiZWxvd2NtYj04Mjg7ZS5zZWNvbmQ9ODI0MztlLnNlY29uZHRvbmVjaGluZXNlPTcxNDtlLnNlY3Rpb249MTY3O2Uuc2VlbmFyYWJpYz0xNTg3O2Uuc2VlbmZpbmFsYXJhYmljPTY1MjAyO2Uuc2VlbmluaXRpYWxhcmFiaWM9NjUyMDM7ZS5zZWVubWVkaWFsYXJhYmljPTY1MjA0O2Uuc2Vnb2w9MTQ2MjtlLnNlZ29sMTM9MTQ2MjtlLnNlZ29sMWY9MTQ2MjtlLnNlZ29sMmM9MTQ2MjtlLnNlZ29saGVicmV3PTE0NjI7ZS5zZWdvbG5hcnJvd2hlYnJldz0xNDYyO2Uuc2Vnb2xxdWFydGVyaGVicmV3PTE0NjI7ZS5zZWdvbHRhaGVicmV3PTE0MjY7ZS5zZWdvbHdpZGVoZWJyZXc9MTQ2MjtlLnNlaGFybWVuaWFuPTE0MDU7ZS5zZWhpcmFnYW5hPTEyMzc5O2Uuc2VrYXRha2FuYT0xMjQ3NTtlLnNla2F0YWthbmFoYWxmd2lkdGg9NjU0MDY7ZS5zZW1pY29sb249NTk7ZS5zZW1pY29sb25hcmFiaWM9MTU2MztlLnNlbWljb2xvbm1vbm9zcGFjZT02NTMwNztlLnNlbWljb2xvbnNtYWxsPTY1MTA4O2Uuc2VtaXZvaWNlZG1hcmtrYW5hPTEyNDQ0O2Uuc2VtaXZvaWNlZG1hcmtrYW5haGFsZndpZHRoPTY1NDM5O2Uuc2VudGlzcXVhcmU9MTMwOTA7ZS5zZW50b3NxdWFyZT0xMzA5MTtlLnNldmVuPTU1O2Uuc2V2ZW5hcmFiaWM9MTYzOTtlLnNldmVuYmVuZ2FsaT0yNTQxO2Uuc2V2ZW5jaXJjbGU9OTMxODtlLnNldmVuY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyODtlLnNldmVuZGV2YT0yNDEzO2Uuc2V2ZW5laWdodGhzPTg1NDI7ZS5zZXZlbmd1amFyYXRpPTI3OTc7ZS5zZXZlbmd1cm11a2hpPTI2Njk7ZS5zZXZlbmhhY2thcmFiaWM9MTYzOTtlLnNldmVuaGFuZ3pob3U9MTIzMjc7ZS5zZXZlbmlkZW9ncmFwaGljcGFyZW49MTI4Mzg7ZS5zZXZlbmluZmVyaW9yPTgzMjc7ZS5zZXZlbm1vbm9zcGFjZT02NTMwMztlLnNldmVub2xkc3R5bGU9NjMyODc7ZS5zZXZlbnBhcmVuPTkzMzg7ZS5zZXZlbnBlcmlvZD05MzU4O2Uuc2V2ZW5wZXJzaWFuPTE3ODM7ZS5zZXZlbnJvbWFuPTg1NjY7ZS5zZXZlbnN1cGVyaW9yPTgzMTE7ZS5zZXZlbnRlZW5jaXJjbGU9OTMyODtlLnNldmVudGVlbnBhcmVuPTkzNDg7ZS5zZXZlbnRlZW5wZXJpb2Q9OTM2ODtlLnNldmVudGhhaT0zNjcxO2Uuc2Z0aHlwaGVuPTE3MztlLnNoYWFybWVuaWFuPTEzOTk7ZS5zaGFiZW5nYWxpPTI0ODY7ZS5zaGFjeXJpbGxpYz0xMDk2O2Uuc2hhZGRhYXJhYmljPTE2MTc7ZS5zaGFkZGFkYW1tYWFyYWJpYz02NDYwOTtlLnNoYWRkYWRhbW1hdGFuYXJhYmljPTY0NjA2O2Uuc2hhZGRhZmF0aGFhcmFiaWM9NjQ2MDg7ZS5zaGFkZGFrYXNyYWFyYWJpYz02NDYxMDtlLnNoYWRkYWthc3JhdGFuYXJhYmljPTY0NjA3O2Uuc2hhZGU9OTYxODtlLnNoYWRlZGFyaz05NjE5O2Uuc2hhZGVsaWdodD05NjE3O2Uuc2hhZGVtZWRpdW09OTYxODtlLnNoYWRldmE9MjM1ODtlLnNoYWd1amFyYXRpPTI3NDI7ZS5zaGFndXJtdWtoaT0yNjE0O2Uuc2hhbHNoZWxldGhlYnJldz0xNDI3O2Uuc2hib3BvbW9mbz0xMjU2NTtlLnNoY2hhY3lyaWxsaWM9MTA5NztlLnNoZWVuYXJhYmljPTE1ODg7ZS5zaGVlbmZpbmFsYXJhYmljPTY1MjA2O2Uuc2hlZW5pbml0aWFsYXJhYmljPTY1MjA3O2Uuc2hlZW5tZWRpYWxhcmFiaWM9NjUyMDg7ZS5zaGVpY29wdGljPTk5NTtlLnNoZXFlbD04MzYyO2Uuc2hlcWVsaGVicmV3PTgzNjI7ZS5zaGV2YT0xNDU2O2Uuc2hldmExMTU9MTQ1NjtlLnNoZXZhMTU9MTQ1NjtlLnNoZXZhMjI9MTQ1NjtlLnNoZXZhMmU9MTQ1NjtlLnNoZXZhaGVicmV3PTE0NTY7ZS5zaGV2YW5hcnJvd2hlYnJldz0xNDU2O2Uuc2hldmFxdWFydGVyaGVicmV3PTE0NTY7ZS5zaGV2YXdpZGVoZWJyZXc9MTQ1NjtlLnNoaGFjeXJpbGxpYz0xMjExO2Uuc2hpbWFjb3B0aWM9MTAwNTtlLnNoaW49MTUxMztlLnNoaW5kYWdlc2g9NjQzMjk7ZS5zaGluZGFnZXNoaGVicmV3PTY0MzI5O2Uuc2hpbmRhZ2VzaHNoaW5kb3Q9NjQzMDA7ZS5zaGluZGFnZXNoc2hpbmRvdGhlYnJldz02NDMwMDtlLnNoaW5kYWdlc2hzaW5kb3Q9NjQzMDE7ZS5zaGluZGFnZXNoc2luZG90aGVicmV3PTY0MzAxO2Uuc2hpbmRvdGhlYnJldz0xNDczO2Uuc2hpbmhlYnJldz0xNTEzO2Uuc2hpbnNoaW5kb3Q9NjQyOTg7ZS5zaGluc2hpbmRvdGhlYnJldz02NDI5ODtlLnNoaW5zaW5kb3Q9NjQyOTk7ZS5zaGluc2luZG90aGVicmV3PTY0Mjk5O2Uuc2hvb2s9NjQyO2Uuc2lnbWE9OTYzO2Uuc2lnbWExPTk2MjtlLnNpZ21hZmluYWw9OTYyO2Uuc2lnbWFsdW5hdGVzeW1ib2xncmVlaz0xMDEwO2Uuc2loaXJhZ2FuYT0xMjM3NTtlLnNpa2F0YWthbmE9MTI0NzE7ZS5zaWthdGFrYW5haGFsZndpZHRoPTY1NDA0O2Uuc2lsdXFoZWJyZXc9MTQ2OTtlLnNpbHVxbGVmdGhlYnJldz0xNDY5O2Uuc2ltaWxhcj04NzY0O2Uuc2luZG90aGVicmV3PTE0NzQ7ZS5zaW9zYWNpcmNsZWtvcmVhbj0xMjkxNjtlLnNpb3NhcGFyZW5rb3JlYW49MTI4MjA7ZS5zaW9zY2lldWNrb3JlYW49MTI2NzA7ZS5zaW9zY2lyY2xla29yZWFuPTEyOTAyO2Uuc2lvc2tpeWVva2tvcmVhbj0xMjY2NjtlLnNpb3Nrb3JlYW49MTI2MTM7ZS5zaW9zbmlldW5rb3JlYW49MTI2Njc7ZS5zaW9zcGFyZW5rb3JlYW49MTI4MDY7ZS5zaW9zcGlldXBrb3JlYW49MTI2Njk7ZS5zaW9zdGlrZXV0a29yZWFuPTEyNjY4O2Uuc2l4PTU0O2Uuc2l4YXJhYmljPTE2Mzg7ZS5zaXhiZW5nYWxpPTI1NDA7ZS5zaXhjaXJjbGU9OTMxNztlLnNpeGNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjc7ZS5zaXhkZXZhPTI0MTI7ZS5zaXhndWphcmF0aT0yNzk2O2Uuc2l4Z3VybXVraGk9MjY2ODtlLnNpeGhhY2thcmFiaWM9MTYzODtlLnNpeGhhbmd6aG91PTEyMzI2O2Uuc2l4aWRlb2dyYXBoaWNwYXJlbj0xMjgzNztlLnNpeGluZmVyaW9yPTgzMjY7ZS5zaXhtb25vc3BhY2U9NjUzMDI7ZS5zaXhvbGRzdHlsZT02MzI4NjtlLnNpeHBhcmVuPTkzMzc7ZS5zaXhwZXJpb2Q9OTM1NztlLnNpeHBlcnNpYW49MTc4MjtlLnNpeHJvbWFuPTg1NjU7ZS5zaXhzdXBlcmlvcj04MzEwO2Uuc2l4dGVlbmNpcmNsZT05MzI3O2Uuc2l4dGVlbmN1cnJlbmN5ZGVub21pbmF0b3JiZW5nYWxpPTI1NTM7ZS5zaXh0ZWVucGFyZW49OTM0NztlLnNpeHRlZW5wZXJpb2Q9OTM2NztlLnNpeHRoYWk9MzY3MDtlLnNsYXNoPTQ3O2Uuc2xhc2htb25vc3BhY2U9NjUyOTU7ZS5zbG9uZz0zODM7ZS5zbG9uZ2RvdGFjY2VudD03ODM1O2Uuc21pbGVmYWNlPTk3ODY7ZS5zbW9ub3NwYWNlPTY1MzYzO2Uuc29mcGFzdXFoZWJyZXc9MTQ3NTtlLnNvZnRoeXBoZW49MTczO2Uuc29mdHNpZ25jeXJpbGxpYz0xMTAwO2Uuc29oaXJhZ2FuYT0xMjM4MTtlLnNva2F0YWthbmE9MTI0Nzc7ZS5zb2thdGFrYW5haGFsZndpZHRoPTY1NDA3O2Uuc29saWR1c2xvbmdvdmVybGF5Y21iPTgyNDtlLnNvbGlkdXNzaG9ydG92ZXJsYXljbWI9ODIzO2Uuc29ydXNpdGhhaT0zNjI1O2Uuc29zYWxhdGhhaT0zNjI0O2Uuc29zb3RoYWk9MzU5NTtlLnNvc3VhdGhhaT0zNjI2O2Uuc3BhY2U9MzI7ZS5zcGFjZWhhY2thcmFiaWM9MzI7ZS5zcGFkZT05ODI0O2Uuc3BhZGVzdWl0YmxhY2s9OTgyNDtlLnNwYWRlc3VpdHdoaXRlPTk4Mjg7ZS5zcGFyZW49OTM5MDtlLnNxdWFyZWJlbG93Y21iPTgyNztlLnNxdWFyZWNjPTEzMjUyO2Uuc3F1YXJlY209MTMyMTM7ZS5zcXVhcmVkaWFnb25hbGNyb3NzaGF0Y2hmaWxsPTk2NDE7ZS5zcXVhcmVob3Jpem9udGFsZmlsbD05NjM2O2Uuc3F1YXJla2c9MTMxOTk7ZS5zcXVhcmVrbT0xMzIxNDtlLnNxdWFyZWttY2FwaXRhbD0xMzI2MjtlLnNxdWFyZWxuPTEzMjY1O2Uuc3F1YXJlbG9nPTEzMjY2O2Uuc3F1YXJlbWc9MTMxOTg7ZS5zcXVhcmVtaWw9MTMyNjk7ZS5zcXVhcmVtbT0xMzIxMjtlLnNxdWFyZW1zcXVhcmVkPTEzMjE3O2Uuc3F1YXJlb3J0aG9nb25hbGNyb3NzaGF0Y2hmaWxsPTk2Mzg7ZS5zcXVhcmV1cHBlcmxlZnR0b2xvd2VycmlnaHRmaWxsPTk2Mzk7ZS5zcXVhcmV1cHBlcnJpZ2h0dG9sb3dlcmxlZnRmaWxsPTk2NDA7ZS5zcXVhcmV2ZXJ0aWNhbGZpbGw9OTYzNztlLnNxdWFyZXdoaXRld2l0aHNtYWxsYmxhY2s9OTYzNTtlLnNyc3F1YXJlPTEzMjc1O2Uuc3NhYmVuZ2FsaT0yNDg3O2Uuc3NhZGV2YT0yMzU5O2Uuc3NhZ3VqYXJhdGk9Mjc0MztlLnNzYW5nY2lldWNrb3JlYW49MTI2MTc7ZS5zc2FuZ2hpZXVoa29yZWFuPTEyNjc3O2Uuc3NhbmdpZXVuZ2tvcmVhbj0xMjY3MjtlLnNzYW5na2l5ZW9ra29yZWFuPTEyNTk0O2Uuc3NhbmduaWV1bmtvcmVhbj0xMjY0NTtlLnNzYW5ncGlldXBrb3JlYW49MTI2MTE7ZS5zc2FuZ3Npb3Nrb3JlYW49MTI2MTQ7ZS5zc2FuZ3Rpa2V1dGtvcmVhbj0xMjYwMDtlLnNzdXBlcmlvcj02MzIxODtlLnN0ZXJsaW5nPTE2MztlLnN0ZXJsaW5nbW9ub3NwYWNlPTY1NTA1O2Uuc3Ryb2tlbG9uZ292ZXJsYXljbWI9ODIyO2Uuc3Ryb2tlc2hvcnRvdmVybGF5Y21iPTgyMTtlLnN1YnNldD04ODM0O2Uuc3Vic2V0bm90ZXF1YWw9ODg0MjtlLnN1YnNldG9yZXF1YWw9ODgzODtlLnN1Y2NlZWRzPTg4Mjc7ZS5zdWNodGhhdD04NzE1O2Uuc3VoaXJhZ2FuYT0xMjM3NztlLnN1a2F0YWthbmE9MTI0NzM7ZS5zdWthdGFrYW5haGFsZndpZHRoPTY1NDA1O2Uuc3VrdW5hcmFiaWM9MTYxODtlLnN1bW1hdGlvbj04NzIxO2Uuc3VuPTk3ODg7ZS5zdXBlcnNldD04ODM1O2Uuc3VwZXJzZXRub3RlcXVhbD04ODQzO2Uuc3VwZXJzZXRvcmVxdWFsPTg4Mzk7ZS5zdnNxdWFyZT0xMzI3NjtlLnN5b3V3YWVyYXNxdWFyZT0xMzE4MDtlLnQ9MTE2O2UudGFiZW5nYWxpPTI0Njg7ZS50YWNrZG93bj04ODY4O2UudGFja2xlZnQ9ODg2NztlLnRhZGV2YT0yMzQwO2UudGFndWphcmF0aT0yNzI0O2UudGFndXJtdWtoaT0yNTk2O2UudGFoYXJhYmljPTE1OTE7ZS50YWhmaW5hbGFyYWJpYz02NTIxODtlLnRhaGluaXRpYWxhcmFiaWM9NjUyMTk7ZS50YWhpcmFnYW5hPTEyMzgzO2UudGFobWVkaWFsYXJhYmljPTY1MjIwO2UudGFpc3lvdWVyYXNxdWFyZT0xMzE4MTtlLnRha2F0YWthbmE9MTI0Nzk7ZS50YWthdGFrYW5haGFsZndpZHRoPTY1NDA4O2UudGF0d2VlbGFyYWJpYz0xNjAwO2UudGF1PTk2NDtlLnRhdj0xNTE0O2UudGF2ZGFnZXM9NjQzMzA7ZS50YXZkYWdlc2g9NjQzMzA7ZS50YXZkYWdlc2hoZWJyZXc9NjQzMzA7ZS50YXZoZWJyZXc9MTUxNDtlLnRiYXI9MzU5O2UudGJvcG9tb2ZvPTEyNTU0O2UudGNhcm9uPTM1NztlLnRjY3VybD02ODA7ZS50Y2VkaWxsYT0zNTU7ZS50Y2hlaGFyYWJpYz0xNjcwO2UudGNoZWhmaW5hbGFyYWJpYz02NDM3OTtlLnRjaGVoaW5pdGlhbGFyYWJpYz02NDM4MDtlLnRjaGVobWVkaWFsYXJhYmljPTY0MzgxO2UudGNpcmNsZT05NDQzO2UudGNpcmN1bWZsZXhiZWxvdz03NzkzO2UudGNvbW1hYWNjZW50PTM1NTtlLnRkaWVyZXNpcz03ODMxO2UudGRvdGFjY2VudD03Nzg3O2UudGRvdGJlbG93PTc3ODk7ZS50ZWN5cmlsbGljPTEwOTA7ZS50ZWRlc2NlbmRlcmN5cmlsbGljPTExOTc7ZS50ZWhhcmFiaWM9MTU3ODtlLnRlaGZpbmFsYXJhYmljPTY1MTc0O2UudGVoaGFoaW5pdGlhbGFyYWJpYz02NDY3NDtlLnRlaGhhaGlzb2xhdGVkYXJhYmljPTY0NTI0O2UudGVoaW5pdGlhbGFyYWJpYz02NTE3NTtlLnRlaGlyYWdhbmE9MTIzOTA7ZS50ZWhqZWVtaW5pdGlhbGFyYWJpYz02NDY3MztlLnRlaGplZW1pc29sYXRlZGFyYWJpYz02NDUyMztlLnRlaG1hcmJ1dGFhcmFiaWM9MTU3NztlLnRlaG1hcmJ1dGFmaW5hbGFyYWJpYz02NTE3MjtlLnRlaG1lZGlhbGFyYWJpYz02NTE3NjtlLnRlaG1lZW1pbml0aWFsYXJhYmljPTY0Njc2O2UudGVobWVlbWlzb2xhdGVkYXJhYmljPTY0NTI2O2UudGVobm9vbmZpbmFsYXJhYmljPTY0NjI3O2UudGVrYXRha2FuYT0xMjQ4NjtlLnRla2F0YWthbmFoYWxmd2lkdGg9NjU0MTE7ZS50ZWxlcGhvbmU9ODQ4MTtlLnRlbGVwaG9uZWJsYWNrPTk3NDI7ZS50ZWxpc2hhZ2Vkb2xhaGVicmV3PTE0NDA7ZS50ZWxpc2hhcWV0YW5haGVicmV3PTE0NDk7ZS50ZW5jaXJjbGU9OTMyMTtlLnRlbmlkZW9ncmFwaGljcGFyZW49MTI4NDE7ZS50ZW5wYXJlbj05MzQxO2UudGVucGVyaW9kPTkzNjE7ZS50ZW5yb21hbj04NTY5O2UudGVzaD02Nzk7ZS50ZXQ9MTQ5NjtlLnRldGRhZ2VzaD02NDMxMjtlLnRldGRhZ2VzaGhlYnJldz02NDMxMjtlLnRldGhlYnJldz0xNDk2O2UudGV0c2VjeXJpbGxpYz0xMjA1O2UudGV2aXJoZWJyZXc9MTQzNTtlLnRldmlybGVmdGhlYnJldz0xNDM1O2UudGhhYmVuZ2FsaT0yNDY5O2UudGhhZGV2YT0yMzQxO2UudGhhZ3VqYXJhdGk9MjcyNTtlLnRoYWd1cm11a2hpPTI1OTc7ZS50aGFsYXJhYmljPTE1ODQ7ZS50aGFsZmluYWxhcmFiaWM9NjUxOTY7ZS50aGFudGhha2hhdGxvd2xlZnR0aGFpPTYzNjQwO2UudGhhbnRoYWtoYXRsb3dyaWdodHRoYWk9NjM2Mzk7ZS50aGFudGhha2hhdHRoYWk9MzY2MDtlLnRoYW50aGFraGF0dXBwZXJsZWZ0dGhhaT02MzYzODtlLnRoZWhhcmFiaWM9MTU3OTtlLnRoZWhmaW5hbGFyYWJpYz02NTE3ODtlLnRoZWhpbml0aWFsYXJhYmljPTY1MTc5O2UudGhlaG1lZGlhbGFyYWJpYz02NTE4MDtlLnRoZXJlZXhpc3RzPTg3MDc7ZS50aGVyZWZvcmU9ODc1NjtlLnRoZXRhPTk1MjtlLnRoZXRhMT05Nzc7ZS50aGV0YXN5bWJvbGdyZWVrPTk3NztlLnRoaWV1dGhhY2lyY2xla29yZWFuPTEyOTIxO2UudGhpZXV0aGFwYXJlbmtvcmVhbj0xMjgyNTtlLnRoaWV1dGhjaXJjbGVrb3JlYW49MTI5MDc7ZS50aGlldXRoa29yZWFuPTEyNjIwO2UudGhpZXV0aHBhcmVua29yZWFuPTEyODExO2UudGhpcnRlZW5jaXJjbGU9OTMyNDtlLnRoaXJ0ZWVucGFyZW49OTM0NDtlLnRoaXJ0ZWVucGVyaW9kPTkzNjQ7ZS50aG9uYW5nbW9udGhvdGhhaT0zNjAxO2UudGhvb2s9NDI5O2UudGhvcGh1dGhhb3RoYWk9MzYwMjtlLnRob3JuPTI1NDtlLnRob3RoYWhhbnRoYWk9MzYwNztlLnRob3RoYW50aGFpPTM2MDA7ZS50aG90aG9uZ3RoYWk9MzYwODtlLnRob3RodW5ndGhhaT0zNjA2O2UudGhvdXNhbmRjeXJpbGxpYz0xMTU0O2UudGhvdXNhbmRzc2VwYXJhdG9yYXJhYmljPTE2NDQ7ZS50aG91c2FuZHNzZXBhcmF0b3JwZXJzaWFuPTE2NDQ7ZS50aHJlZT01MTtlLnRocmVlYXJhYmljPTE2MzU7ZS50aHJlZWJlbmdhbGk9MjUzNztlLnRocmVlY2lyY2xlPTkzMTQ7ZS50aHJlZWNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjQ7ZS50aHJlZWRldmE9MjQwOTtlLnRocmVlZWlnaHRocz04NTQwO2UudGhyZWVndWphcmF0aT0yNzkzO2UudGhyZWVndXJtdWtoaT0yNjY1O2UudGhyZWVoYWNrYXJhYmljPTE2MzU7ZS50aHJlZWhhbmd6aG91PTEyMzIzO2UudGhyZWVpZGVvZ3JhcGhpY3BhcmVuPTEyODM0O2UudGhyZWVpbmZlcmlvcj04MzIzO2UudGhyZWVtb25vc3BhY2U9NjUyOTk7ZS50aHJlZW51bWVyYXRvcmJlbmdhbGk9MjU1MDtlLnRocmVlb2xkc3R5bGU9NjMyODM7ZS50aHJlZXBhcmVuPTkzMzQ7ZS50aHJlZXBlcmlvZD05MzU0O2UudGhyZWVwZXJzaWFuPTE3Nzk7ZS50aHJlZXF1YXJ0ZXJzPTE5MDtlLnRocmVlcXVhcnRlcnNlbWRhc2g9NjMxOTg7ZS50aHJlZXJvbWFuPTg1NjI7ZS50aHJlZXN1cGVyaW9yPTE3OTtlLnRocmVldGhhaT0zNjY3O2UudGh6c3F1YXJlPTEzMjA0O2UudGloaXJhZ2FuYT0xMjM4NTtlLnRpa2F0YWthbmE9MTI0ODE7ZS50aWthdGFrYW5haGFsZndpZHRoPTY1NDA5O2UudGlrZXV0YWNpcmNsZWtvcmVhbj0xMjkxMjtlLnRpa2V1dGFwYXJlbmtvcmVhbj0xMjgxNjtlLnRpa2V1dGNpcmNsZWtvcmVhbj0xMjg5ODtlLnRpa2V1dGtvcmVhbj0xMjU5OTtlLnRpa2V1dHBhcmVua29yZWFuPTEyODAyO2UudGlsZGU9NzMyO2UudGlsZGViZWxvd2NtYj04MTY7ZS50aWxkZWNtYj03NzE7ZS50aWxkZWNvbWI9NzcxO2UudGlsZGVkb3VibGVjbWI9ODY0O2UudGlsZGVvcGVyYXRvcj04NzY0O2UudGlsZGVvdmVybGF5Y21iPTgyMDtlLnRpbGRldmVydGljYWxjbWI9ODMwO2UudGltZXNjaXJjbGU9ODg1NTtlLnRpcGVoYWhlYnJldz0xNDMwO2UudGlwZWhhbGVmdGhlYnJldz0xNDMwO2UudGlwcGlndXJtdWtoaT0yNjcyO2UudGl0bG9jeXJpbGxpY2NtYj0xMTU1O2UudGl3bmFybWVuaWFuPTE0MDc7ZS50bGluZWJlbG93PTc3OTE7ZS50bW9ub3NwYWNlPTY1MzY0O2UudG9hcm1lbmlhbj0xMzg1O2UudG9oaXJhZ2FuYT0xMjM5MjtlLnRva2F0YWthbmE9MTI0ODg7ZS50b2thdGFrYW5haGFsZndpZHRoPTY1NDEyO2UudG9uZWJhcmV4dHJhaGlnaG1vZD03NDE7ZS50b25lYmFyZXh0cmFsb3dtb2Q9NzQ1O2UudG9uZWJhcmhpZ2htb2Q9NzQyO2UudG9uZWJhcmxvd21vZD03NDQ7ZS50b25lYmFybWlkbW9kPTc0MztlLnRvbmVmaXZlPTQ0NTtlLnRvbmVzaXg9Mzg5O2UudG9uZXR3bz00MjQ7ZS50b25vcz05MDA7ZS50b25zcXVhcmU9MTMwOTU7ZS50b3BhdGFrdGhhaT0zNTk5O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRsZWZ0PTEyMzA4O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRsZWZ0c21hbGw9NjUxMTc7ZS50b3J0b2lzZXNoZWxsYnJhY2tldGxlZnR2ZXJ0aWNhbD02NTA4MTtlLnRvcnRvaXNlc2hlbGxicmFja2V0cmlnaHQ9MTIzMDk7ZS50b3J0b2lzZXNoZWxsYnJhY2tldHJpZ2h0c21hbGw9NjUxMTg7ZS50b3J0b2lzZXNoZWxsYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwODI7ZS50b3Rhb3RoYWk9MzYwNTtlLnRwYWxhdGFsaG9vaz00Mjc7ZS50cGFyZW49OTM5MTtlLnRyYWRlbWFyaz04NDgyO2UudHJhZGVtYXJrc2Fucz02MzcyMjtlLnRyYWRlbWFya3NlcmlmPTYzMTk1O2UudHJldHJvZmxleGhvb2s9NjQ4O2UudHJpYWdkbj05NjYwO2UudHJpYWdsZj05NjY4O2UudHJpYWdydD05NjU4O2UudHJpYWd1cD05NjUwO2UudHM9Njc4O2UudHNhZGk9MTUxMDtlLnRzYWRpZGFnZXNoPTY0MzI2O2UudHNhZGlkYWdlc2hoZWJyZXc9NjQzMjY7ZS50c2FkaWhlYnJldz0xNTEwO2UudHNlY3lyaWxsaWM9MTA5NDtlLnRzZXJlPTE0NjE7ZS50c2VyZTEyPTE0NjE7ZS50c2VyZTFlPTE0NjE7ZS50c2VyZTJiPTE0NjE7ZS50c2VyZWhlYnJldz0xNDYxO2UudHNlcmVuYXJyb3doZWJyZXc9MTQ2MTtlLnRzZXJlcXVhcnRlcmhlYnJldz0xNDYxO2UudHNlcmV3aWRlaGVicmV3PTE0NjE7ZS50c2hlY3lyaWxsaWM9MTExNTtlLnRzdXBlcmlvcj02MzIxOTtlLnR0YWJlbmdhbGk9MjQ2MztlLnR0YWRldmE9MjMzNTtlLnR0YWd1amFyYXRpPTI3MTk7ZS50dGFndXJtdWtoaT0yNTkxO2UudHRlaGFyYWJpYz0xNjU3O2UudHRlaGZpbmFsYXJhYmljPTY0MzU5O2UudHRlaGluaXRpYWxhcmFiaWM9NjQzNjA7ZS50dGVobWVkaWFsYXJhYmljPTY0MzYxO2UudHRoYWJlbmdhbGk9MjQ2NDtlLnR0aGFkZXZhPTIzMzY7ZS50dGhhZ3VqYXJhdGk9MjcyMDtlLnR0aGFndXJtdWtoaT0yNTkyO2UudHR1cm5lZD02NDc7ZS50dWhpcmFnYW5hPTEyMzg4O2UudHVrYXRha2FuYT0xMjQ4NDtlLnR1a2F0YWthbmFoYWxmd2lkdGg9NjU0MTA7ZS50dXNtYWxsaGlyYWdhbmE9MTIzODc7ZS50dXNtYWxsa2F0YWthbmE9MTI0ODM7ZS50dXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzOTE7ZS50d2VsdmVjaXJjbGU9OTMyMztlLnR3ZWx2ZXBhcmVuPTkzNDM7ZS50d2VsdmVwZXJpb2Q9OTM2MztlLnR3ZWx2ZXJvbWFuPTg1NzE7ZS50d2VudHljaXJjbGU9OTMzMTtlLnR3ZW50eWhhbmd6aG91PTIxMzE2O2UudHdlbnR5cGFyZW49OTM1MTtlLnR3ZW50eXBlcmlvZD05MzcxO2UudHdvPTUwO2UudHdvYXJhYmljPTE2MzQ7ZS50d29iZW5nYWxpPTI1MzY7ZS50d29jaXJjbGU9OTMxMztlLnR3b2NpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjM7ZS50d29kZXZhPTI0MDg7ZS50d29kb3RlbmxlYWRlcj04MjI5O2UudHdvZG90bGVhZGVyPTgyMjk7ZS50d29kb3RsZWFkZXJ2ZXJ0aWNhbD02NTA3MjtlLnR3b2d1amFyYXRpPTI3OTI7ZS50d29ndXJtdWtoaT0yNjY0O2UudHdvaGFja2FyYWJpYz0xNjM0O2UudHdvaGFuZ3pob3U9MTIzMjI7ZS50d29pZGVvZ3JhcGhpY3BhcmVuPTEyODMzO2UudHdvaW5mZXJpb3I9ODMyMjtlLnR3b21vbm9zcGFjZT02NTI5ODtlLnR3b251bWVyYXRvcmJlbmdhbGk9MjU0OTtlLnR3b29sZHN0eWxlPTYzMjgyO2UudHdvcGFyZW49OTMzMztlLnR3b3BlcmlvZD05MzUzO2UudHdvcGVyc2lhbj0xNzc4O2UudHdvcm9tYW49ODU2MTtlLnR3b3N0cm9rZT00NDM7ZS50d29zdXBlcmlvcj0xNzg7ZS50d290aGFpPTM2NjY7ZS50d290aGlyZHM9ODUzMjtlLnU9MTE3O2UudWFjdXRlPTI1MDtlLnViYXI9NjQ5O2UudWJlbmdhbGk9MjQ0MTtlLnVib3BvbW9mbz0xMjU4NDtlLnVicmV2ZT0zNjU7ZS51Y2Fyb249NDY4O2UudWNpcmNsZT05NDQ0O2UudWNpcmN1bWZsZXg9MjUxO2UudWNpcmN1bWZsZXhiZWxvdz03Nzk5O2UudWN5cmlsbGljPTEwOTE7ZS51ZGF0dGFkZXZhPTIzODU7ZS51ZGJsYWN1dGU9MzY5O2UudWRibGdyYXZlPTUzMztlLnVkZXZhPTIzMTM7ZS51ZGllcmVzaXM9MjUyO2UudWRpZXJlc2lzYWN1dGU9NDcyO2UudWRpZXJlc2lzYmVsb3c9Nzc5NTtlLnVkaWVyZXNpc2Nhcm9uPTQ3NDtlLnVkaWVyZXNpc2N5cmlsbGljPTEyNjU7ZS51ZGllcmVzaXNncmF2ZT00NzY7ZS51ZGllcmVzaXNtYWNyb249NDcwO2UudWRvdGJlbG93PTc5MDk7ZS51Z3JhdmU9MjQ5O2UudWd1amFyYXRpPTI2OTc7ZS51Z3VybXVraGk9MjU2OTtlLnVoaXJhZ2FuYT0xMjM1ODtlLnVob29rYWJvdmU9NzkxMTtlLnVob3JuPTQzMjtlLnVob3JuYWN1dGU9NzkxMztlLnVob3JuZG90YmVsb3c9NzkyMTtlLnVob3JuZ3JhdmU9NzkxNTtlLnVob3JuaG9va2Fib3ZlPTc5MTc7ZS51aG9ybnRpbGRlPTc5MTk7ZS51aHVuZ2FydW1sYXV0PTM2OTtlLnVodW5nYXJ1bWxhdXRjeXJpbGxpYz0xMjY3O2UudWludmVydGVkYnJldmU9NTM1O2UudWthdGFrYW5hPTEyNDU0O2UudWthdGFrYW5haGFsZndpZHRoPTY1Mzk1O2UudWtjeXJpbGxpYz0xMTQ1O2UudWtvcmVhbj0xMjYzNjtlLnVtYWNyb249MzYzO2UudW1hY3JvbmN5cmlsbGljPTEyNjM7ZS51bWFjcm9uZGllcmVzaXM9NzgwMztlLnVtYXRyYWd1cm11a2hpPTI2MjU7ZS51bW9ub3NwYWNlPTY1MzY1O2UudW5kZXJzY29yZT05NTtlLnVuZGVyc2NvcmVkYmw9ODIxNTtlLnVuZGVyc2NvcmVtb25vc3BhY2U9NjUzNDM7ZS51bmRlcnNjb3JldmVydGljYWw9NjUwNzU7ZS51bmRlcnNjb3Jld2F2eT02NTEwMztlLnVuaW9uPTg3NDY7ZS51bml2ZXJzYWw9ODcwNDtlLnVvZ29uZWs9MzcxO2UudXBhcmVuPTkzOTI7ZS51cGJsb2NrPTk2MDA7ZS51cHBlcmRvdGhlYnJldz0xNDc2O2UudXBzaWxvbj05NjU7ZS51cHNpbG9uZGllcmVzaXM9OTcxO2UudXBzaWxvbmRpZXJlc2lzdG9ub3M9OTQ0O2UudXBzaWxvbmxhdGluPTY1MDtlLnVwc2lsb250b25vcz05NzM7ZS51cHRhY2tiZWxvd2NtYj03OTc7ZS51cHRhY2ttb2Q9NzI0O2UudXJhZ3VybXVraGk9MjY3NTtlLnVyaW5nPTM2NztlLnVzaG9ydGN5cmlsbGljPTExMTg7ZS51c21hbGxoaXJhZ2FuYT0xMjM1NztlLnVzbWFsbGthdGFrYW5hPTEyNDUzO2UudXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODU7ZS51c3RyYWlnaHRjeXJpbGxpYz0xMTk5O2UudXN0cmFpZ2h0c3Ryb2tlY3lyaWxsaWM9MTIwMTtlLnV0aWxkZT0zNjE7ZS51dGlsZGVhY3V0ZT03ODAxO2UudXRpbGRlYmVsb3c9Nzc5NztlLnV1YmVuZ2FsaT0yNDQyO2UudXVkZXZhPTIzMTQ7ZS51dWd1amFyYXRpPTI2OTg7ZS51dWd1cm11a2hpPTI1NzA7ZS51dW1hdHJhZ3VybXVraGk9MjYyNjtlLnV1dm93ZWxzaWduYmVuZ2FsaT0yNDk4O2UudXV2b3dlbHNpZ25kZXZhPTIzNzA7ZS51dXZvd2Vsc2lnbmd1amFyYXRpPTI3NTQ7ZS51dm93ZWxzaWduYmVuZ2FsaT0yNDk3O2UudXZvd2Vsc2lnbmRldmE9MjM2OTtlLnV2b3dlbHNpZ25ndWphcmF0aT0yNzUzO2Uudj0xMTg7ZS52YWRldmE9MjM1NztlLnZhZ3VqYXJhdGk9Mjc0MTtlLnZhZ3VybXVraGk9MjYxMztlLnZha2F0YWthbmE9MTI1MzU7ZS52YXY9MTQ5MztlLnZhdmRhZ2VzaD02NDMwOTtlLnZhdmRhZ2VzaDY1PTY0MzA5O2UudmF2ZGFnZXNoaGVicmV3PTY0MzA5O2UudmF2aGVicmV3PTE0OTM7ZS52YXZob2xhbT02NDMzMTtlLnZhdmhvbGFtaGVicmV3PTY0MzMxO2UudmF2dmF2aGVicmV3PTE1MjA7ZS52YXZ5b2RoZWJyZXc9MTUyMTtlLnZjaXJjbGU9OTQ0NTtlLnZkb3RiZWxvdz03ODA3O2UudmVjeXJpbGxpYz0xMDc0O2UudmVoYXJhYmljPTE3MDA7ZS52ZWhmaW5hbGFyYWJpYz02NDM2MztlLnZlaGluaXRpYWxhcmFiaWM9NjQzNjQ7ZS52ZWhtZWRpYWxhcmFiaWM9NjQzNjU7ZS52ZWthdGFrYW5hPTEyNTM3O2UudmVudXM9OTc5MjtlLnZlcnRpY2FsYmFyPTEyNDtlLnZlcnRpY2FsbGluZWFib3ZlY21iPTc4MTtlLnZlcnRpY2FsbGluZWJlbG93Y21iPTgwOTtlLnZlcnRpY2FsbGluZWxvd21vZD03MTY7ZS52ZXJ0aWNhbGxpbmVtb2Q9NzEyO2UudmV3YXJtZW5pYW49MTQwNjtlLnZob29rPTY1MTtlLnZpa2F0YWthbmE9MTI1MzY7ZS52aXJhbWFiZW5nYWxpPTI1MDk7ZS52aXJhbWFkZXZhPTIzODE7ZS52aXJhbWFndWphcmF0aT0yNzY1O2UudmlzYXJnYWJlbmdhbGk9MjQzNTtlLnZpc2FyZ2FkZXZhPTIzMDc7ZS52aXNhcmdhZ3VqYXJhdGk9MjY5MTtlLnZtb25vc3BhY2U9NjUzNjY7ZS52b2FybWVuaWFuPTE0MDA7ZS52b2ljZWRpdGVyYXRpb25oaXJhZ2FuYT0xMjQ0NjtlLnZvaWNlZGl0ZXJhdGlvbmthdGFrYW5hPTEyNTQyO2Uudm9pY2VkbWFya2thbmE9MTI0NDM7ZS52b2ljZWRtYXJra2FuYWhhbGZ3aWR0aD02NTQzODtlLnZva2F0YWthbmE9MTI1Mzg7ZS52cGFyZW49OTM5MztlLnZ0aWxkZT03ODA1O2UudnR1cm5lZD02NTI7ZS52dWhpcmFnYW5hPTEyNDM2O2UudnVrYXRha2FuYT0xMjUzMjtlLnc9MTE5O2Uud2FjdXRlPTc4MTE7ZS53YWVrb3JlYW49MTI2MzM7ZS53YWhpcmFnYW5hPTEyNDMxO2Uud2FrYXRha2FuYT0xMjUyNztlLndha2F0YWthbmFoYWxmd2lkdGg9NjU0MzY7ZS53YWtvcmVhbj0xMjYzMjtlLndhc21hbGxoaXJhZ2FuYT0xMjQzMDtlLndhc21hbGxrYXRha2FuYT0xMjUyNjtlLndhdHRvc3F1YXJlPTEzMTQzO2Uud2F2ZWRhc2g9MTIzMTY7ZS53YXZ5dW5kZXJzY29yZXZlcnRpY2FsPTY1MDc2O2Uud2F3YXJhYmljPTE2MDg7ZS53YXdmaW5hbGFyYWJpYz02NTI2MjtlLndhd2hhbXphYWJvdmVhcmFiaWM9MTU3MjtlLndhd2hhbXphYWJvdmVmaW5hbGFyYWJpYz02NTE1ODtlLndic3F1YXJlPTEzMjc3O2Uud2NpcmNsZT05NDQ2O2Uud2NpcmN1bWZsZXg9MzczO2Uud2RpZXJlc2lzPTc4MTM7ZS53ZG90YWNjZW50PTc4MTU7ZS53ZG90YmVsb3c9NzgxNztlLndlaGlyYWdhbmE9MTI0MzM7ZS53ZWllcnN0cmFzcz04NDcyO2Uud2VrYXRha2FuYT0xMjUyOTtlLndla29yZWFuPTEyNjM4O2Uud2Vva29yZWFuPTEyNjM3O2Uud2dyYXZlPTc4MDk7ZS53aGl0ZWJ1bGxldD05NzAyO2Uud2hpdGVjaXJjbGU9OTY3NTtlLndoaXRlY2lyY2xlaW52ZXJzZT05Njg5O2Uud2hpdGVjb3JuZXJicmFja2V0bGVmdD0xMjMwMjtlLndoaXRlY29ybmVyYnJhY2tldGxlZnR2ZXJ0aWNhbD02NTA5MTtlLndoaXRlY29ybmVyYnJhY2tldHJpZ2h0PTEyMzAzO2Uud2hpdGVjb3JuZXJicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA5MjtlLndoaXRlZGlhbW9uZD05NjcxO2Uud2hpdGVkaWFtb25kY29udGFpbmluZ2JsYWNrc21hbGxkaWFtb25kPTk2NzI7ZS53aGl0ZWRvd25wb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY2MztlLndoaXRlZG93bnBvaW50aW5ndHJpYW5nbGU9OTY2MTtlLndoaXRlbGVmdHBvaW50aW5nc21hbGx0cmlhbmdsZT05NjY3O2Uud2hpdGVsZWZ0cG9pbnRpbmd0cmlhbmdsZT05NjY1O2Uud2hpdGVsZW50aWN1bGFyYnJhY2tldGxlZnQ9MTIzMTA7ZS53aGl0ZWxlbnRpY3VsYXJicmFja2V0cmlnaHQ9MTIzMTE7ZS53aGl0ZXJpZ2h0cG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2NTc7ZS53aGl0ZXJpZ2h0cG9pbnRpbmd0cmlhbmdsZT05NjU1O2Uud2hpdGVzbWFsbHNxdWFyZT05NjQzO2Uud2hpdGVzbWlsaW5nZmFjZT05Nzg2O2Uud2hpdGVzcXVhcmU9OTYzMztlLndoaXRlc3Rhcj05NzM0O2Uud2hpdGV0ZWxlcGhvbmU9OTc0MztlLndoaXRldG9ydG9pc2VzaGVsbGJyYWNrZXRsZWZ0PTEyMzEyO2Uud2hpdGV0b3J0b2lzZXNoZWxsYnJhY2tldHJpZ2h0PTEyMzEzO2Uud2hpdGV1cHBvaW50aW5nc21hbGx0cmlhbmdsZT05NjUzO2Uud2hpdGV1cHBvaW50aW5ndHJpYW5nbGU9OTY1MTtlLndpaGlyYWdhbmE9MTI0MzI7ZS53aWthdGFrYW5hPTEyNTI4O2Uud2lrb3JlYW49MTI2Mzk7ZS53bW9ub3NwYWNlPTY1MzY3O2Uud29oaXJhZ2FuYT0xMjQzNDtlLndva2F0YWthbmE9MTI1MzA7ZS53b2thdGFrYW5haGFsZndpZHRoPTY1MzgyO2Uud29uPTgzNjE7ZS53b25tb25vc3BhY2U9NjU1MTA7ZS53b3dhZW50aGFpPTM2MjM7ZS53cGFyZW49OTM5NDtlLndyaW5nPTc4MzI7ZS53c3VwZXJpb3I9Njk1O2Uud3R1cm5lZD02NTM7ZS53eW5uPTQ0NztlLng9MTIwO2UueGFib3ZlY21iPTgyOTtlLnhib3BvbW9mbz0xMjU2MjtlLnhjaXJjbGU9OTQ0NztlLnhkaWVyZXNpcz03ODIxO2UueGRvdGFjY2VudD03ODE5O2UueGVoYXJtZW5pYW49MTM4OTtlLnhpPTk1ODtlLnhtb25vc3BhY2U9NjUzNjg7ZS54cGFyZW49OTM5NTtlLnhzdXBlcmlvcj03Mzk7ZS55PTEyMTtlLnlhYWRvc3F1YXJlPTEzMTM0O2UueWFiZW5nYWxpPTI0Nzk7ZS55YWN1dGU9MjUzO2UueWFkZXZhPTIzNTE7ZS55YWVrb3JlYW49MTI2MjY7ZS55YWd1amFyYXRpPTI3MzU7ZS55YWd1cm11a2hpPTI2MDc7ZS55YWhpcmFnYW5hPTEyNDIwO2UueWFrYXRha2FuYT0xMjUxNjtlLnlha2F0YWthbmFoYWxmd2lkdGg9NjU0Mjg7ZS55YWtvcmVhbj0xMjYyNTtlLnlhbWFra2FudGhhaT0zNjYyO2UueWFzbWFsbGhpcmFnYW5hPTEyNDE5O2UueWFzbWFsbGthdGFrYW5hPTEyNTE1O2UueWFzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1Mzg4O2UueWF0Y3lyaWxsaWM9MTEyMztlLnljaXJjbGU9OTQ0ODtlLnljaXJjdW1mbGV4PTM3NTtlLnlkaWVyZXNpcz0yNTU7ZS55ZG90YWNjZW50PTc4MjM7ZS55ZG90YmVsb3c9NzkyNTtlLnllaGFyYWJpYz0xNjEwO2UueWVoYmFycmVlYXJhYmljPTE3NDY7ZS55ZWhiYXJyZWVmaW5hbGFyYWJpYz02NDQzMTtlLnllaGZpbmFsYXJhYmljPTY1MjY2O2UueWVoaGFtemFhYm92ZWFyYWJpYz0xNTc0O2UueWVoaGFtemFhYm92ZWZpbmFsYXJhYmljPTY1MTYyO2UueWVoaGFtemFhYm92ZWluaXRpYWxhcmFiaWM9NjUxNjM7ZS55ZWhoYW16YWFib3ZlbWVkaWFsYXJhYmljPTY1MTY0O2UueWVoaW5pdGlhbGFyYWJpYz02NTI2NztlLnllaG1lZGlhbGFyYWJpYz02NTI2ODtlLnllaG1lZW1pbml0aWFsYXJhYmljPTY0NzMzO2UueWVobWVlbWlzb2xhdGVkYXJhYmljPTY0NjAwO2UueWVobm9vbmZpbmFsYXJhYmljPTY0NjYwO2UueWVodGhyZWVkb3RzYmVsb3dhcmFiaWM9MTc0NTtlLnlla29yZWFuPTEyNjMwO2UueWVuPTE2NTtlLnllbm1vbm9zcGFjZT02NTUwOTtlLnllb2tvcmVhbj0xMjYyOTtlLnllb3JpbmhpZXVoa29yZWFuPTEyNjc4O2UueWVyYWhiZW55b21vaGVicmV3PTE0NTA7ZS55ZXJhaGJlbnlvbW9sZWZ0aGVicmV3PTE0NTA7ZS55ZXJpY3lyaWxsaWM9MTA5OTtlLnllcnVkaWVyZXNpc2N5cmlsbGljPTEyNzM7ZS55ZXNpZXVuZ2tvcmVhbj0xMjY3MztlLnllc2lldW5ncGFuc2lvc2tvcmVhbj0xMjY3NTtlLnllc2lldW5nc2lvc2tvcmVhbj0xMjY3NDtlLnlldGl2aGVicmV3PTE0MzQ7ZS55Z3JhdmU9NzkyMztlLnlob29rPTQzNjtlLnlob29rYWJvdmU9NzkyNztlLnlpYXJtZW5pYW49MTM5NztlLnlpY3lyaWxsaWM9MTExMTtlLnlpa29yZWFuPTEyNjQyO2UueWlueWFuZz05Nzc1O2UueWl3bmFybWVuaWFuPTE0MTA7ZS55bW9ub3NwYWNlPTY1MzY5O2UueW9kPTE0OTc7ZS55b2RkYWdlc2g9NjQzMTM7ZS55b2RkYWdlc2hoZWJyZXc9NjQzMTM7ZS55b2RoZWJyZXc9MTQ5NztlLnlvZHlvZGhlYnJldz0xNTIyO2UueW9keW9kcGF0YWhoZWJyZXc9NjQyODc7ZS55b2hpcmFnYW5hPTEyNDI0O2UueW9pa29yZWFuPTEyNjgxO2UueW9rYXRha2FuYT0xMjUyMDtlLnlva2F0YWthbmFoYWxmd2lkdGg9NjU0MzA7ZS55b2tvcmVhbj0xMjYzNTtlLnlvc21hbGxoaXJhZ2FuYT0xMjQyMztlLnlvc21hbGxrYXRha2FuYT0xMjUxOTtlLnlvc21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM5MDtlLnlvdGdyZWVrPTEwMTE7ZS55b3lhZWtvcmVhbj0xMjY4MDtlLnlveWFrb3JlYW49MTI2Nzk7ZS55b3lha3RoYWk9MzYxODtlLnlveWluZ3RoYWk9MzU5NztlLnlwYXJlbj05Mzk2O2UueXBvZ2VncmFtbWVuaT04OTA7ZS55cG9nZWdyYW1tZW5pZ3JlZWtjbWI9ODM3O2UueXI9NDIyO2UueXJpbmc9NzgzMztlLnlzdXBlcmlvcj02OTY7ZS55dGlsZGU9NzkyOTtlLnl0dXJuZWQ9NjU0O2UueXVoaXJhZ2FuYT0xMjQyMjtlLnl1aWtvcmVhbj0xMjY4NDtlLnl1a2F0YWthbmE9MTI1MTg7ZS55dWthdGFrYW5haGFsZndpZHRoPTY1NDI5O2UueXVrb3JlYW49MTI2NDA7ZS55dXNiaWdjeXJpbGxpYz0xMTMxO2UueXVzYmlnaW90aWZpZWRjeXJpbGxpYz0xMTMzO2UueXVzbGl0dGxlY3lyaWxsaWM9MTEyNztlLnl1c2xpdHRsZWlvdGlmaWVkY3lyaWxsaWM9MTEyOTtlLnl1c21hbGxoaXJhZ2FuYT0xMjQyMTtlLnl1c21hbGxrYXRha2FuYT0xMjUxNztlLnl1c21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4OTtlLnl1eWVrb3JlYW49MTI2ODM7ZS55dXllb2tvcmVhbj0xMjY4MjtlLnl5YWJlbmdhbGk9MjUyNztlLnl5YWRldmE9MjM5OTtlLno9MTIyO2UuemFhcm1lbmlhbj0xMzgyO2UuemFjdXRlPTM3ODtlLnphZGV2YT0yMzk1O2UuemFndXJtdWtoaT0yNjUxO2UuemFoYXJhYmljPTE1OTI7ZS56YWhmaW5hbGFyYWJpYz02NTIyMjtlLnphaGluaXRpYWxhcmFiaWM9NjUyMjM7ZS56YWhpcmFnYW5hPTEyMzc0O2UuemFobWVkaWFsYXJhYmljPTY1MjI0O2UuemFpbmFyYWJpYz0xNTg2O2UuemFpbmZpbmFsYXJhYmljPTY1MjAwO2UuemFrYXRha2FuYT0xMjQ3MDtlLnphcWVmZ2Fkb2xoZWJyZXc9MTQyOTtlLnphcWVmcWF0YW5oZWJyZXc9MTQyODtlLnphcnFhaGVicmV3PTE0MzI7ZS56YXlpbj0xNDk0O2UuemF5aW5kYWdlc2g9NjQzMTA7ZS56YXlpbmRhZ2VzaGhlYnJldz02NDMxMDtlLnpheWluaGVicmV3PTE0OTQ7ZS56Ym9wb21vZm89MTI1Njc7ZS56Y2Fyb249MzgyO2UuemNpcmNsZT05NDQ5O2UuemNpcmN1bWZsZXg9NzgyNTtlLnpjdXJsPTY1NztlLnpkb3Q9MzgwO2UuemRvdGFjY2VudD0zODA7ZS56ZG90YmVsb3c9NzgyNztlLnplY3lyaWxsaWM9MTA3OTtlLnplZGVzY2VuZGVyY3lyaWxsaWM9MTE3NztlLnplZGllcmVzaXNjeXJpbGxpYz0xMjQ3O2UuemVoaXJhZ2FuYT0xMjM4MDtlLnpla2F0YWthbmE9MTI0NzY7ZS56ZXJvPTQ4O2UuemVyb2FyYWJpYz0xNjMyO2UuemVyb2JlbmdhbGk9MjUzNDtlLnplcm9kZXZhPTI0MDY7ZS56ZXJvZ3VqYXJhdGk9Mjc5MDtlLnplcm9ndXJtdWtoaT0yNjYyO2UuemVyb2hhY2thcmFiaWM9MTYzMjtlLnplcm9pbmZlcmlvcj04MzIwO2UuemVyb21vbm9zcGFjZT02NTI5NjtlLnplcm9vbGRzdHlsZT02MzI4MDtlLnplcm9wZXJzaWFuPTE3NzY7ZS56ZXJvc3VwZXJpb3I9ODMwNDtlLnplcm90aGFpPTM2NjQ7ZS56ZXJvd2lkdGhqb2luZXI9NjUyNzk7ZS56ZXJvd2lkdGhub25qb2luZXI9ODIwNDtlLnplcm93aWR0aHNwYWNlPTgyMDM7ZS56ZXRhPTk1MDtlLnpoYm9wb21vZm89MTI1NjM7ZS56aGVhcm1lbmlhbj0xMzg2O2UuemhlYnJldmVjeXJpbGxpYz0xMjE4O2UuemhlY3lyaWxsaWM9MTA3ODtlLnpoZWRlc2NlbmRlcmN5cmlsbGljPTExNzU7ZS56aGVkaWVyZXNpc2N5cmlsbGljPTEyNDU7ZS56aWhpcmFnYW5hPTEyMzc2O2UuemlrYXRha2FuYT0xMjQ3MjtlLnppbm9yaGVicmV3PTE0NTQ7ZS56bGluZWJlbG93PTc4Mjk7ZS56bW9ub3NwYWNlPTY1MzcwO2Uuem9oaXJhZ2FuYT0xMjM4MjtlLnpva2F0YWthbmE9MTI0Nzg7ZS56cGFyZW49OTM5NztlLnpyZXRyb2ZsZXhob29rPTY1NjtlLnpzdHJva2U9NDM4O2UuenVoaXJhZ2FuYT0xMjM3ODtlLnp1a2F0YWthbmE9MTI0NzQ7ZVsiLm5vdGRlZiJdPTA7ZS5hbmdicmFja2V0bGVmdGJpZz05MDAxO2UuYW5nYnJhY2tldGxlZnRCaWc9OTAwMTtlLmFuZ2JyYWNrZXRsZWZ0YmlnZz05MDAxO2UuYW5nYnJhY2tldGxlZnRCaWdnPTkwMDE7ZS5hbmdicmFja2V0cmlnaHRCaWc9OTAwMjtlLmFuZ2JyYWNrZXRyaWdodGJpZz05MDAyO2UuYW5nYnJhY2tldHJpZ2h0QmlnZz05MDAyO2UuYW5nYnJhY2tldHJpZ2h0YmlnZz05MDAyO2UuYXJyb3dob29rbGVmdD04NjE4O2UuYXJyb3dob29rcmlnaHQ9ODYxNztlLmFycm93bGVmdHRvcGhhbGY9ODYzNjtlLmFycm93bGVmdGJvdGhhbGY9ODYzNztlLmFycm93bm9ydGhlYXN0PTg1OTk7ZS5hcnJvd25vcnRod2VzdD04NTk4O2UuYXJyb3dyaWdodHRvcGhhbGY9ODY0MDtlLmFycm93cmlnaHRib3RoYWxmPTg2NDE7ZS5hcnJvd3NvdXRoZWFzdD04NjAwO2UuYXJyb3dzb3V0aHdlc3Q9ODYwMTtlLmJhY2tzbGFzaGJpZz04NzI2O2UuYmFja3NsYXNoQmlnPTg3MjY7ZS5iYWNrc2xhc2hCaWdnPTg3MjY7ZS5iYWNrc2xhc2hiaWdnPTg3MjY7ZS5iYXJkYmw9ODIxNDtlLmJyYWNlaHRpcGRvd25sZWZ0PTY1MDc5O2UuYnJhY2VodGlwZG93bnJpZ2h0PTY1MDc5O2UuYnJhY2VodGlwdXBsZWZ0PTY1MDgwO2UuYnJhY2VodGlwdXByaWdodD02NTA4MDtlLmJyYWNlbGVmdEJpZz0xMjM7ZS5icmFjZWxlZnRiaWc9MTIzO2UuYnJhY2VsZWZ0YmlnZz0xMjM7ZS5icmFjZWxlZnRCaWdnPTEyMztlLmJyYWNlcmlnaHRCaWc9MTI1O2UuYnJhY2VyaWdodGJpZz0xMjU7ZS5icmFjZXJpZ2h0YmlnZz0xMjU7ZS5icmFjZXJpZ2h0QmlnZz0xMjU7ZS5icmFja2V0bGVmdGJpZz05MTtlLmJyYWNrZXRsZWZ0QmlnPTkxO2UuYnJhY2tldGxlZnRiaWdnPTkxO2UuYnJhY2tldGxlZnRCaWdnPTkxO2UuYnJhY2tldHJpZ2h0QmlnPTkzO2UuYnJhY2tldHJpZ2h0YmlnPTkzO2UuYnJhY2tldHJpZ2h0YmlnZz05MztlLmJyYWNrZXRyaWdodEJpZ2c9OTM7ZS5jZWlsaW5nbGVmdGJpZz04OTY4O2UuY2VpbGluZ2xlZnRCaWc9ODk2ODtlLmNlaWxpbmdsZWZ0QmlnZz04OTY4O2UuY2VpbGluZ2xlZnRiaWdnPTg5Njg7ZS5jZWlsaW5ncmlnaHRiaWc9ODk2OTtlLmNlaWxpbmdyaWdodEJpZz04OTY5O2UuY2VpbGluZ3JpZ2h0YmlnZz04OTY5O2UuY2VpbGluZ3JpZ2h0QmlnZz04OTY5O2UuY2lyY2xlZG90ZGlzcGxheT04ODU3O2UuY2lyY2xlZG90dGV4dD04ODU3O2UuY2lyY2xlbXVsdGlwbHlkaXNwbGF5PTg4NTU7ZS5jaXJjbGVtdWx0aXBseXRleHQ9ODg1NTtlLmNpcmNsZXBsdXNkaXNwbGF5PTg4NTM7ZS5jaXJjbGVwbHVzdGV4dD04ODUzO2UuY29udGludGVncmFsZGlzcGxheT04NzUwO2UuY29udGludGVncmFsdGV4dD04NzUwO2UuY29wcm9kdWN0ZGlzcGxheT04NzIwO2UuY29wcm9kdWN0dGV4dD04NzIwO2UuZmxvb3JsZWZ0QmlnPTg5NzA7ZS5mbG9vcmxlZnRiaWc9ODk3MDtlLmZsb29ybGVmdGJpZ2c9ODk3MDtlLmZsb29ybGVmdEJpZ2c9ODk3MDtlLmZsb29ycmlnaHRiaWc9ODk3MTtlLmZsb29ycmlnaHRCaWc9ODk3MTtlLmZsb29ycmlnaHRCaWdnPTg5NzE7ZS5mbG9vcnJpZ2h0YmlnZz04OTcxO2UuaGF0d2lkZT03NzA7ZS5oYXR3aWRlcj03NzA7ZS5oYXR3aWRlc3Q9NzcwO2UuaW50ZXJjYWw9NzQ4ODtlLmludGVncmFsZGlzcGxheT04NzQ3O2UuaW50ZWdyYWx0ZXh0PTg3NDc7ZS5pbnRlcnNlY3Rpb25kaXNwbGF5PTg4OTg7ZS5pbnRlcnNlY3Rpb250ZXh0PTg4OTg7ZS5sb2dpY2FsYW5kZGlzcGxheT04NzQzO2UubG9naWNhbGFuZHRleHQ9ODc0MztlLmxvZ2ljYWxvcmRpc3BsYXk9ODc0NDtlLmxvZ2ljYWxvcnRleHQ9ODc0NDtlLnBhcmVubGVmdEJpZz00MDtlLnBhcmVubGVmdGJpZz00MDtlLnBhcmVubGVmdEJpZ2c9NDA7ZS5wYXJlbmxlZnRiaWdnPTQwO2UucGFyZW5yaWdodEJpZz00MTtlLnBhcmVucmlnaHRiaWc9NDE7ZS5wYXJlbnJpZ2h0QmlnZz00MTtlLnBhcmVucmlnaHRiaWdnPTQxO2UucHJpbWU9ODI0MjtlLnByb2R1Y3RkaXNwbGF5PTg3MTk7ZS5wcm9kdWN0dGV4dD04NzE5O2UucmFkaWNhbGJpZz04NzMwO2UucmFkaWNhbEJpZz04NzMwO2UucmFkaWNhbEJpZ2c9ODczMDtlLnJhZGljYWxiaWdnPTg3MzA7ZS5yYWRpY2FsYnQ9ODczMDtlLnJhZGljYWx0cD04NzMwO2UucmFkaWNhbHZlcnRleD04NzMwO2Uuc2xhc2hiaWc9NDc7ZS5zbGFzaEJpZz00NztlLnNsYXNoQmlnZz00NztlLnNsYXNoYmlnZz00NztlLnN1bW1hdGlvbmRpc3BsYXk9ODcyMTtlLnN1bW1hdGlvbnRleHQ9ODcyMTtlLnRpbGRld2lkZT03MzI7ZS50aWxkZXdpZGVyPTczMjtlLnRpbGRld2lkZXN0PTczMjtlLnVuaW9uZGlzcGxheT04ODk5O2UudW5pb25tdWx0aWRpc3BsYXk9ODg0NjtlLnVuaW9ubXVsdGl0ZXh0PTg4NDY7ZS51bmlvbnNxZGlzcGxheT04ODUyO2UudW5pb25zcXRleHQ9ODg1MjtlLnVuaW9udGV4dD04ODk5O2UudmV4dGVuZGRvdWJsZT04NzQxO2UudmV4dGVuZHNpbmdsZT04NzM5fSkpLE1pPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0zMjtlLmExPTk5ODU7ZS5hMj05OTg2O2UuYTIwMj05OTg3O2UuYTM9OTk4ODtlLmE0PTk3NDI7ZS5hNT05OTkwO2UuYTExOT05OTkxO2UuYTExOD05OTkyO2UuYTExNz05OTkzO2UuYTExPTk3NTU7ZS5hMTI9OTc1ODtlLmExMz05OTk2O2UuYTE0PTk5OTc7ZS5hMTU9OTk5ODtlLmExNj05OTk5O2UuYTEwNT0xZTQ7ZS5hMTc9MTAwMDE7ZS5hMTg9MTAwMDI7ZS5hMTk9MTAwMDM7ZS5hMjA9MTAwMDQ7ZS5hMjE9MTAwMDU7ZS5hMjI9MTAwMDY7ZS5hMjM9MTAwMDc7ZS5hMjQ9MTAwMDg7ZS5hMjU9MTAwMDk7ZS5hMjY9MTAwMTA7ZS5hMjc9MTAwMTE7ZS5hMjg9MTAwMTI7ZS5hNj0xMDAxMztlLmE3PTEwMDE0O2UuYTg9MTAwMTU7ZS5hOT0xMDAxNjtlLmExMD0xMDAxNztlLmEyOT0xMDAxODtlLmEzMD0xMDAxOTtlLmEzMT0xMDAyMDtlLmEzMj0xMDAyMTtlLmEzMz0xMDAyMjtlLmEzND0xMDAyMztlLmEzNT05NzMzO2UuYTM2PTEwMDI1O2UuYTM3PTEwMDI2O2UuYTM4PTEwMDI3O2UuYTM5PTEwMDI4O2UuYTQwPTEwMDI5O2UuYTQxPTEwMDMwO2UuYTQyPTEwMDMxO2UuYTQzPTEwMDMyO2UuYTQ0PTEwMDMzO2UuYTQ1PTEwMDM0O2UuYTQ2PTEwMDM1O2UuYTQ3PTEwMDM2O2UuYTQ4PTEwMDM3O2UuYTQ5PTEwMDM4O2UuYTUwPTEwMDM5O2UuYTUxPTEwMDQwO2UuYTUyPTEwMDQxO2UuYTUzPTEwMDQyO2UuYTU0PTEwMDQzO2UuYTU1PTEwMDQ0O2UuYTU2PTEwMDQ1O2UuYTU3PTEwMDQ2O2UuYTU4PTEwMDQ3O2UuYTU5PTEwMDQ4O2UuYTYwPTEwMDQ5O2UuYTYxPTEwMDUwO2UuYTYyPTEwMDUxO2UuYTYzPTEwMDUyO2UuYTY0PTEwMDUzO2UuYTY1PTEwMDU0O2UuYTY2PTEwMDU1O2UuYTY3PTEwMDU2O2UuYTY4PTEwMDU3O2UuYTY5PTEwMDU4O2UuYTcwPTEwMDU5O2UuYTcxPTk2Nzk7ZS5hNzI9MTAwNjE7ZS5hNzM9OTYzMjtlLmE3ND0xMDA2MztlLmEyMDM9MTAwNjQ7ZS5hNzU9MTAwNjU7ZS5hMjA0PTEwMDY2O2UuYTc2PTk2NTA7ZS5hNzc9OTY2MDtlLmE3OD05NjcwO2UuYTc5PTEwMDcwO2UuYTgxPTk2ODc7ZS5hODI9MTAwNzI7ZS5hODM9MTAwNzM7ZS5hODQ9MTAwNzQ7ZS5hOTc9MTAwNzU7ZS5hOTg9MTAwNzY7ZS5hOTk9MTAwNzc7ZS5hMTAwPTEwMDc4O2UuYTEwMT0xMDA4MTtlLmExMDI9MTAwODI7ZS5hMTAzPTEwMDgzO2UuYTEwND0xMDA4NDtlLmExMDY9MTAwODU7ZS5hMTA3PTEwMDg2O2UuYTEwOD0xMDA4NztlLmExMTI9OTgyNztlLmExMTE9OTgzMDtlLmExMTA9OTgyOTtlLmExMDk9OTgyNDtlLmExMjA9OTMxMjtlLmExMjE9OTMxMztlLmExMjI9OTMxNDtlLmExMjM9OTMxNTtlLmExMjQ9OTMxNjtlLmExMjU9OTMxNztlLmExMjY9OTMxODtlLmExMjc9OTMxOTtlLmExMjg9OTMyMDtlLmExMjk9OTMyMTtlLmExMzA9MTAxMDI7ZS5hMTMxPTEwMTAzO2UuYTEzMj0xMDEwNDtlLmExMzM9MTAxMDU7ZS5hMTM0PTEwMTA2O2UuYTEzNT0xMDEwNztlLmExMzY9MTAxMDg7ZS5hMTM3PTEwMTA5O2UuYTEzOD0xMDExMDtlLmExMzk9MTAxMTE7ZS5hMTQwPTEwMTEyO2UuYTE0MT0xMDExMztlLmExNDI9MTAxMTQ7ZS5hMTQzPTEwMTE1O2UuYTE0ND0xMDExNjtlLmExNDU9MTAxMTc7ZS5hMTQ2PTEwMTE4O2UuYTE0Nz0xMDExOTtlLmExNDg9MTAxMjA7ZS5hMTQ5PTEwMTIxO2UuYTE1MD0xMDEyMjtlLmExNTE9MTAxMjM7ZS5hMTUyPTEwMTI0O2UuYTE1Mz0xMDEyNTtlLmExNTQ9MTAxMjY7ZS5hMTU1PTEwMTI3O2UuYTE1Nj0xMDEyODtlLmExNTc9MTAxMjk7ZS5hMTU4PTEwMTMwO2UuYTE1OT0xMDEzMTtlLmExNjA9MTAxMzI7ZS5hMTYxPTg1OTQ7ZS5hMTYzPTg1OTY7ZS5hMTY0PTg1OTc7ZS5hMTk2PTEwMTM2O2UuYTE2NT0xMDEzNztlLmExOTI9MTAxMzg7ZS5hMTY2PTEwMTM5O2UuYTE2Nz0xMDE0MDtlLmExNjg9MTAxNDE7ZS5hMTY5PTEwMTQyO2UuYTE3MD0xMDE0MztlLmExNzE9MTAxNDQ7ZS5hMTcyPTEwMTQ1O2UuYTE3Mz0xMDE0NjtlLmExNjI9MTAxNDc7ZS5hMTc0PTEwMTQ4O2UuYTE3NT0xMDE0OTtlLmExNzY9MTAxNTA7ZS5hMTc3PTEwMTUxO2UuYTE3OD0xMDE1MjtlLmExNzk9MTAxNTM7ZS5hMTkzPTEwMTU0O2UuYTE4MD0xMDE1NTtlLmExOTk9MTAxNTY7ZS5hMTgxPTEwMTU3O2UuYTIwMD0xMDE1ODtlLmExODI9MTAxNTk7ZS5hMjAxPTEwMTYxO2UuYTE4Mz0xMDE2MjtlLmExODQ9MTAxNjM7ZS5hMTk3PTEwMTY0O2UuYTE4NT0xMDE2NTtlLmExOTQ9MTAxNjY7ZS5hMTk4PTEwMTY3O2UuYTE4Nj0xMDE2ODtlLmExOTU9MTAxNjk7ZS5hMTg3PTEwMTcwO2UuYTE4OD0xMDE3MTtlLmExODk9MTAxNzI7ZS5hMTkwPTEwMTczO2UuYTE5MT0xMDE3NDtlLmE4OT0xMDA4ODtlLmE5MD0xMDA4OTtlLmE5Mz0xMDA5MDtlLmE5ND0xMDA5MTtlLmE5MT0xMDA5MjtlLmE5Mj0xMDA5MztlLmEyMDU9MTAwOTQ7ZS5hODU9MTAwOTU7ZS5hMjA2PTEwMDk2O2UuYTg2PTEwMDk3O2UuYTg3PTEwMDk4O2UuYTg4PTEwMDk5O2UuYTk1PTEwMTAwO2UuYTk2PTEwMTAxO2VbIi5ub3RkZWYiXT0wfSkpLEhpPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVs2MzcyMV09MTY5O2VbNjMxOTNdPTE2OTtlWzYzNzIwXT0xNzQ7ZVs2MzE5NF09MTc0O2VbNjM3MjJdPTg0ODI7ZVs2MzE5NV09ODQ4MjtlWzYzNzI5XT05MTI3O2VbNjM3MzBdPTkxMjg7ZVs2MzczMV09OTEyOTtlWzYzNzQwXT05MTMxO2VbNjM3NDFdPTkxMzI7ZVs2Mzc0Ml09OTEzMztlWzYzNzI2XT05MTIxO2VbNjM3MjddPTkxMjI7ZVs2MzcyOF09OTEyMztlWzYzNzM3XT05MTI0O2VbNjM3MzhdPTkxMjU7ZVs2MzczOV09OTEyNjtlWzYzNzIzXT05MTE1O2VbNjM3MjRdPTkxMTY7ZVs2MzcyNV09OTExNztlWzYzNzM0XT05MTE4O2VbNjM3MzVdPTkxMTk7ZVs2MzczNl09OTEyMH0pKTtmdW5jdGlvbiBnZXRVbmljb2RlRm9yR2x5cGgoZSx0KXtsZXQgaT10W2VdO2lmKHZvaWQgMCE9PWkpcmV0dXJuIGk7aWYoIWUpcmV0dXJuLTE7aWYoInUiPT09ZVswXSl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgYTtpZig3PT09dCYmIm4iPT09ZVsxXSYmImkiPT09ZVsyXSlhPWUuc3Vic3RyaW5nKDMpO2Vsc2V7aWYoISh0Pj01JiZ0PD03KSlyZXR1cm4tMTthPWUuc3Vic3RyaW5nKDEpfWlmKGE9PT1hLnRvVXBwZXJDYXNlKCkpe2k9cGFyc2VJbnQoYSwxNik7aWYoaT49MClyZXR1cm4gaX19cmV0dXJuLTF9Y29uc3QgSmk9W1swLDEyN10sWzEyOCwyNTVdLFsyNTYsMzgzXSxbMzg0LDU5MV0sWzU5Miw2ODcsNzQyNCw3NTUxLDc1NTIsNzYxNV0sWzY4OCw3NjcsNDI3NTIsNDI3ODNdLFs3NjgsODc5LDc2MTYsNzY3OV0sWzg4MCwxMDIzXSxbMTEzOTIsMTE1MTldLFsxMDI0LDEyNzksMTI4MCwxMzI3LDExNzQ0LDExNzc1LDQyNTYwLDQyNjU1XSxbMTMyOCwxNDIzXSxbMTQyNCwxNTM1XSxbNDIyNDAsNDI1NTldLFsxNTM2LDE3OTEsMTg3MiwxOTE5XSxbMTk4NCwyMDQ3XSxbMjMwNCwyNDMxXSxbMjQzMiwyNTU5XSxbMjU2MCwyNjg3XSxbMjY4OCwyODE1XSxbMjgxNiwyOTQzXSxbMjk0NCwzMDcxXSxbMzA3MiwzMTk5XSxbMzIwMCwzMzI3XSxbMzMyOCwzNDU1XSxbMzU4NCwzNzExXSxbMzcxMiwzODM5XSxbNDI1Niw0MzUxLDExNTIwLDExNTY3XSxbNjkxMiw3MDM5XSxbNDM1Miw0NjA3XSxbNzY4MCw3OTM1LDExMzYwLDExMzkxLDQyNzg0LDQzMDA3XSxbNzkzNiw4MTkxXSxbODE5Miw4MzAzLDExNzc2LDExOTAzXSxbODMwNCw4MzUxXSxbODM1Miw4Mzk5XSxbODQwMCw4NDQ3XSxbODQ0OCw4NTI3XSxbODUyOCw4NTkxXSxbODU5Miw4NzAzLDEwMjI0LDEwMjM5LDEwNDk2LDEwNjIzLDExMDA4LDExMjYzXSxbODcwNCw4OTU5LDEwNzUyLDExMDA3LDEwMTc2LDEwMjIzLDEwNjI0LDEwNzUxXSxbODk2MCw5MjE1XSxbOTIxNiw5Mjc5XSxbOTI4MCw5MzExXSxbOTMxMiw5NDcxXSxbOTQ3Miw5NTk5XSxbOTYwMCw5NjMxXSxbOTYzMiw5NzI3XSxbOTcyOCw5OTgzXSxbOTk4NCwxMDE3NV0sWzEyMjg4LDEyMzUxXSxbMTIzNTIsMTI0NDddLFsxMjQ0OCwxMjU0MywxMjc4NCwxMjc5OV0sWzEyNTQ0LDEyNTkxLDEyNzA0LDEyNzM1XSxbMTI1OTIsMTI2ODddLFs0MzA3Miw0MzEzNV0sWzEyODAwLDEzMDU1XSxbMTMwNTYsMTMzMTFdLFs0NDAzMiw1NTIxNV0sWzU1Mjk2LDU3MzQzXSxbNjc4NDAsNjc4NzFdLFsxOTk2OCw0MDk1OSwxMTkwNCwxMjAzMSwxMjAzMiwxMjI1NSwxMjI3MiwxMjI4NywxMzMxMiwxOTkwMywxMzEwNzIsMTczNzkxLDEyNjg4LDEyNzAzXSxbNTczNDQsNjM3NDNdLFsxMjczNiwxMjc4Myw2Mzc0NCw2NDI1NSwxOTQ1NjAsMTk1MTAzXSxbNjQyNTYsNjQzMzVdLFs2NDMzNiw2NTAyM10sWzY1MDU2LDY1MDcxXSxbNjUwNDAsNjUwNTVdLFs2NTEwNCw2NTEzNV0sWzY1MTM2LDY1Mjc5XSxbNjUyODAsNjU1MTldLFs2NTUyMCw2NTUzNV0sWzM4NDAsNDA5NV0sWzE3OTIsMTg3MV0sWzE5MjAsMTk4M10sWzM0NTYsMzU4M10sWzQwOTYsNDI1NV0sWzQ2MDgsNDk5MSw0OTkyLDUwMjMsMTE2NDgsMTE3NDNdLFs1MDI0LDUxMTldLFs1MTIwLDU3NTldLFs1NzYwLDU3OTFdLFs1NzkyLDU4ODddLFs2MDE2LDYxNDNdLFs2MTQ0LDYzMTldLFsxMDI0MCwxMDQ5NV0sWzQwOTYwLDQyMTI3XSxbNTg4OCw1OTE5LDU5MjAsNTk1MSw1OTUyLDU5ODMsNTk4NCw2MDE1XSxbNjYzMDQsNjYzNTFdLFs2NjM1Miw2NjM4M10sWzY2NTYwLDY2NjM5XSxbMTE4Nzg0LDExOTAzOSwxMTkwNDAsMTE5Mjk1LDExOTI5NiwxMTkzNzVdLFsxMTk4MDgsMTIwODMxXSxbMTA0NDQ4MCwxMDQ4NTczXSxbNjUwMjQsNjUwMzksOTE3NzYwLDkxNzk5OV0sWzkxNzUwNCw5MTc2MzFdLFs2NDAwLDY0NzldLFs2NDgwLDY1MjddLFs2NTI4LDY2MjNdLFs2NjU2LDY2ODddLFsxMTI2NCwxMTM1OV0sWzExNTY4LDExNjQ3XSxbMTk5MDQsMTk5NjddLFs0MzAwOCw0MzA1NV0sWzY1NTM2LDY1NjYzLDY1NjY0LDY1NzkxLDY1NzkyLDY1ODU1XSxbNjU4NTYsNjU5MzVdLFs2NjQzMiw2NjQ2M10sWzY2NDY0LDY2NTI3XSxbNjY2NDAsNjY2ODddLFs2NjY4OCw2NjczNV0sWzY3NTg0LDY3NjQ3XSxbNjgwOTYsNjgxOTFdLFsxMTk1NTIsMTE5NjQ3XSxbNzM3MjgsNzQ3NTEsNzQ3NTIsNzQ4NzldLFsxMTk2NDgsMTE5Njc5XSxbNzA0MCw3MTAzXSxbNzE2OCw3MjQ3XSxbNzI0OCw3Mjk1XSxbNDMxMzYsNDMyMzFdLFs0MzI2NCw0MzMxMV0sWzQzMzEyLDQzMzU5XSxbNDM1MjAsNDM2MTVdLFs2NTkzNiw2NTk5OV0sWzY2ZTMsNjYwNDddLFs2NjIwOCw2NjI3MSw2NjE3Niw2NjIwNyw2Nzg3Miw2NzkwM10sWzEyNzAyNCwxMjcxMzUsMTI2OTc2LDEyNzAyM11dO2Z1bmN0aW9uIGdldFVuaWNvZGVSYW5nZUZvcihlLHQ9LTEpe2lmKC0xIT09dCl7Y29uc3QgaT1KaVt0XTtmb3IobGV0IGE9MCxzPWkubGVuZ3RoO2E8czthKz0yKWlmKGU+PWlbYV0mJmU8PWlbYSsxXSlyZXR1cm4gdH1mb3IobGV0IHQ9MCxpPUppLmxlbmd0aDt0PGk7dCsrKXtjb25zdCBpPUppW3RdO2ZvcihsZXQgYT0wLHM9aS5sZW5ndGg7YTxzO2ErPTIpaWYoZT49aVthXSYmZTw9aVthKzFdKXJldHVybiB0fXJldHVybi0xfWNvbnN0IFlpPW5ldyBSZWdFeHAoIl4oXFxzKXwoXFxwe01ufSl8KFxccHtDZn0pJCIsInUiKSx2aT1uZXcgTWFwO2NvbnN0IFRpPSEwLEtpPTEscWk9MixPaT00LFBpPTMyLFdpPVsiLm5vdGRlZiIsIi5udWxsIiwibm9ubWFya2luZ3JldHVybiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3Rlc2luZ2xlIiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrIiwicGx1cyIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJhdCIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYnJhY2tldGxlZnQiLCJiYWNrc2xhc2giLCJicmFja2V0cmlnaHQiLCJhc2NpaWNpcmN1bSIsInVuZGVyc2NvcmUiLCJncmF2ZSIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCJBZGllcmVzaXMiLCJBcmluZyIsIkNjZWRpbGxhIiwiRWFjdXRlIiwiTnRpbGRlIiwiT2RpZXJlc2lzIiwiVWRpZXJlc2lzIiwiYWFjdXRlIiwiYWdyYXZlIiwiYWNpcmN1bWZsZXgiLCJhZGllcmVzaXMiLCJhdGlsZGUiLCJhcmluZyIsImNjZWRpbGxhIiwiZWFjdXRlIiwiZWdyYXZlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJpYWN1dGUiLCJpZ3JhdmUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsIm50aWxkZSIsIm9hY3V0ZSIsIm9ncmF2ZSIsIm9jaXJjdW1mbGV4Iiwib2RpZXJlc2lzIiwib3RpbGRlIiwidWFjdXRlIiwidWdyYXZlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJkYWdnZXIiLCJkZWdyZWUiLCJjZW50Iiwic3RlcmxpbmciLCJzZWN0aW9uIiwiYnVsbGV0IiwicGFyYWdyYXBoIiwiZ2VybWFuZGJscyIsInJlZ2lzdGVyZWQiLCJjb3B5cmlnaHQiLCJ0cmFkZW1hcmsiLCJhY3V0ZSIsImRpZXJlc2lzIiwibm90ZXF1YWwiLCJBRSIsIk9zbGFzaCIsImluZmluaXR5IiwicGx1c21pbnVzIiwibGVzc2VxdWFsIiwiZ3JlYXRlcmVxdWFsIiwieWVuIiwibXUiLCJwYXJ0aWFsZGlmZiIsInN1bW1hdGlvbiIsInByb2R1Y3QiLCJwaSIsImludGVncmFsIiwib3JkZmVtaW5pbmUiLCJvcmRtYXNjdWxpbmUiLCJPbWVnYSIsImFlIiwib3NsYXNoIiwicXVlc3Rpb25kb3duIiwiZXhjbGFtZG93biIsImxvZ2ljYWxub3QiLCJyYWRpY2FsIiwiZmxvcmluIiwiYXBwcm94ZXF1YWwiLCJEZWx0YSIsImd1aWxsZW1vdGxlZnQiLCJndWlsbGVtb3RyaWdodCIsImVsbGlwc2lzIiwibm9uYnJlYWtpbmdzcGFjZSIsIkFncmF2ZSIsIkF0aWxkZSIsIk90aWxkZSIsIk9FIiwib2UiLCJlbmRhc2giLCJlbWRhc2giLCJxdW90ZWRibGxlZnQiLCJxdW90ZWRibHJpZ2h0IiwicXVvdGVsZWZ0IiwicXVvdGVyaWdodCIsImRpdmlkZSIsImxvemVuZ2UiLCJ5ZGllcmVzaXMiLCJZZGllcmVzaXMiLCJmcmFjdGlvbiIsImN1cnJlbmN5IiwiZ3VpbHNpbmdsbGVmdCIsImd1aWxzaW5nbHJpZ2h0IiwiZmkiLCJmbCIsImRhZ2dlcmRibCIsInBlcmlvZGNlbnRlcmVkIiwicXVvdGVzaW5nbGJhc2UiLCJxdW90ZWRibGJhc2UiLCJwZXJ0aG91c2FuZCIsIkFjaXJjdW1mbGV4IiwiRWNpcmN1bWZsZXgiLCJBYWN1dGUiLCJFZGllcmVzaXMiLCJFZ3JhdmUiLCJJYWN1dGUiLCJJY2lyY3VtZmxleCIsIklkaWVyZXNpcyIsIklncmF2ZSIsIk9hY3V0ZSIsIk9jaXJjdW1mbGV4IiwiYXBwbGUiLCJPZ3JhdmUiLCJVYWN1dGUiLCJVY2lyY3VtZmxleCIsIlVncmF2ZSIsImRvdGxlc3NpIiwiY2lyY3VtZmxleCIsInRpbGRlIiwibWFjcm9uIiwiYnJldmUiLCJkb3RhY2NlbnQiLCJyaW5nIiwiY2VkaWxsYSIsImh1bmdhcnVtbGF1dCIsIm9nb25layIsImNhcm9uIiwiTHNsYXNoIiwibHNsYXNoIiwiU2Nhcm9uIiwic2Nhcm9uIiwiWmNhcm9uIiwiemNhcm9uIiwiYnJva2VuYmFyIiwiRXRoIiwiZXRoIiwiWWFjdXRlIiwieWFjdXRlIiwiVGhvcm4iLCJ0aG9ybiIsIm1pbnVzIiwibXVsdGlwbHkiLCJvbmVzdXBlcmlvciIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsIm9uZWhhbGYiLCJvbmVxdWFydGVyIiwidGhyZWVxdWFydGVycyIsImZyYW5jIiwiR2JyZXZlIiwiZ2JyZXZlIiwiSWRvdGFjY2VudCIsIlNjZWRpbGxhIiwic2NlZGlsbGEiLCJDYWN1dGUiLCJjYWN1dGUiLCJDY2Fyb24iLCJjY2Fyb24iLCJkY3JvYXQiXTtmdW5jdGlvbiByZWNvdmVyR2x5cGhOYW1lKGUsdCl7aWYodm9pZCAwIT09dFtlXSlyZXR1cm4gZTtjb25zdCBpPWdldFVuaWNvZGVGb3JHbHlwaChlLHQpO2lmKC0xIT09aSlmb3IoY29uc3QgZSBpbiB0KWlmKHRbZV09PT1pKXJldHVybiBlO2luZm8oIlVuYWJsZSB0byByZWNvdmVyIGEgc3RhbmRhcmQgZ2x5cGggbmFtZSBmb3I6ICIrZSk7cmV0dXJuIGV9ZnVuY3Rpb24gdHlwZTFGb250R2x5cGhNYXBwaW5nKGUsdCxpKXtjb25zdCBhPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IHMscixuO2NvbnN0IGc9ISEoZS5mbGFncyZPaSk7aWYoZS5pc0ludGVybmFsRm9udCl7bj10O2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3M9aS5pbmRleE9mKG5bcl0pO2Fbcl09cz49MD9zOjB9fWVsc2UgaWYoZS5iYXNlRW5jb2RpbmdOYW1lKXtuPWdldEVuY29kaW5nKGUuYmFzZUVuY29kaW5nTmFtZSk7Zm9yKHI9MDtyPG4ubGVuZ3RoO3IrKyl7cz1pLmluZGV4T2YobltyXSk7YVtyXT1zPj0wP3M6MH19ZWxzZSBpZihnKWZvcihyIGluIHQpYVtyXT10W3JdO2Vsc2V7bj1taTtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXtzPWkuaW5kZXhPZihuW3JdKTthW3JdPXM+PTA/czowfX1jb25zdCBvPWUuZGlmZmVyZW5jZXM7bGV0IGM7aWYobylmb3IociBpbiBvKXtjb25zdCBlPW9bcl07cz1pLmluZGV4T2YoZSk7aWYoLTE9PT1zKXtjfHwoYz14aSgpKTtjb25zdCB0PXJlY292ZXJHbHlwaE5hbWUoZSxjKTt0IT09ZSYmKHM9aS5pbmRleE9mKHQpKX1hW3JdPXM+PTA/czowfXJldHVybiBhfWZ1bmN0aW9uIG5vcm1hbGl6ZUZvbnROYW1lKGUpe3JldHVybiBlLnJlcGxhY2VBbGwoL1ssX10vZywiLSIpLnJlcGxhY2VBbGwoL1xzL2csIiIpfWNvbnN0IFhpPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZT0+e2VbODIxMV09NjUwNzQ7ZVs4MjEyXT02NTA3MztlWzgyMjldPTY1MDcyO2VbODIzMF09NjUwNDk7ZVsxMjI4OV09NjUwNDE7ZVsxMjI5MF09NjUwNDI7ZVsxMjI5Nl09NjUwODc7ZVsxMjI5N109NjUwODg7ZVsxMjI5OF09NjUwODU7ZVsxMjI5OV09NjUwODY7ZVsxMjMwMF09NjUwODk7ZVsxMjMwMV09NjUwOTA7ZVsxMjMwMl09NjUwOTE7ZVsxMjMwM109NjUwOTI7ZVsxMjMwNF09NjUwODM7ZVsxMjMwNV09NjUwODQ7ZVsxMjMwOF09NjUwODE7ZVsxMjMwOV09NjUwODI7ZVsxMjMxMF09NjUwNDc7ZVsxMjMxMV09NjUwNDg7ZVs2NTEwM109NjUwNzY7ZVs2NTI4MV09NjUwNDU7ZVs2NTI4OF09NjUwNzc7ZVs2NTI4OV09NjUwNzg7ZVs2NTI5Ml09NjUwNDA7ZVs2NTMwNl09NjUwNDM7ZVs2NTMwN109NjUwNDQ7ZVs2NTMxMV09NjUwNDY7ZVs2NTMzOV09NjUwOTU7ZVs2NTM0MV09NjUwOTY7ZVs2NTM0M109NjUwNzU7ZVs2NTM3MV09NjUwNzk7ZVs2NTM3M109NjUwODB9KSksamk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWyJUaW1lcy1Sb21hbiJdPSJUaW1lcy1Sb21hbiI7ZS5IZWx2ZXRpY2E9IkhlbHZldGljYSI7ZS5Db3VyaWVyPSJDb3VyaWVyIjtlLlN5bWJvbD0iU3ltYm9sIjtlWyJUaW1lcy1Cb2xkIl09IlRpbWVzLUJvbGQiO2VbIkhlbHZldGljYS1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJDb3VyaWVyLUJvbGQiXT0iQ291cmllci1Cb2xkIjtlLlphcGZEaW5nYmF0cz0iWmFwZkRpbmdiYXRzIjtlWyJUaW1lcy1JdGFsaWMiXT0iVGltZXMtSXRhbGljIjtlWyJIZWx2ZXRpY2EtT2JsaXF1ZSJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiQ291cmllci1PYmxpcXVlIl09IkNvdXJpZXItT2JsaXF1ZSI7ZVsiVGltZXMtQm9sZEl0YWxpYyJdPSJUaW1lcy1Cb2xkSXRhbGljIjtlWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJDb3VyaWVyLUJvbGRPYmxpcXVlIl09IkNvdXJpZXItQm9sZE9ibGlxdWUiO2UuQXJpYWxOYXJyb3c9IkhlbHZldGljYSI7ZVsiQXJpYWxOYXJyb3ctQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWxOYXJyb3ctQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsTmFycm93LUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5BcmlhbEJsYWNrPSJIZWx2ZXRpY2EiO2VbIkFyaWFsQmxhY2stQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWxCbGFjay1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWxCbGFjay1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkFyaWFsLUJsYWNrIl09IkhlbHZldGljYSI7ZVsiQXJpYWwtQmxhY2stQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWwtQmxhY2stQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsLUJsYWNrLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5BcmlhbD0iSGVsdmV0aWNhIjtlWyJBcmlhbC1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbC1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWwtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlLkFyaWFsTVQ9IkhlbHZldGljYSI7ZVsiQXJpYWwtQm9sZEl0YWxpY01UIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWwtQm9sZE1UIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbC1JdGFsaWNNVCJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiQXJpYWwtQm9sZEl0YWxpY01ULUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbC1Cb2xkTVQtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWwtSXRhbGljTVQtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlLkFyaWFsVW5pY29kZU1TPSJIZWx2ZXRpY2EiO2VbIkFyaWFsVW5pY29kZU1TLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsVW5pY29kZU1TLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbFVuaWNvZGVNUy1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkNvdXJpZXItQm9sZEl0YWxpYyJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlWyJDb3VyaWVyLUl0YWxpYyJdPSJDb3VyaWVyLU9ibGlxdWUiO2UuQ291cmllck5ldz0iQ291cmllciI7ZVsiQ291cmllck5ldy1Cb2xkIl09IkNvdXJpZXItQm9sZCI7ZVsiQ291cmllck5ldy1Cb2xkSXRhbGljIl09IkNvdXJpZXItQm9sZE9ibGlxdWUiO2VbIkNvdXJpZXJOZXctSXRhbGljIl09IkNvdXJpZXItT2JsaXF1ZSI7ZVsiQ291cmllck5ld1BTLUJvbGRJdGFsaWNNVCJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlWyJDb3VyaWVyTmV3UFMtQm9sZE1UIl09IkNvdXJpZXItQm9sZCI7ZVsiQ291cmllck5ld1BTLUl0YWxpY01UIl09IkNvdXJpZXItT2JsaXF1ZSI7ZS5Db3VyaWVyTmV3UFNNVD0iQ291cmllciI7ZVsiSGVsdmV0aWNhLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJIZWx2ZXRpY2EtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJTeW1ib2wtQm9sZCJdPSJTeW1ib2wiO2VbIlN5bWJvbC1Cb2xkSXRhbGljIl09IlN5bWJvbCI7ZVsiU3ltYm9sLUl0YWxpYyJdPSJTeW1ib2wiO2UuVGltZXNOZXdSb21hbj0iVGltZXMtUm9tYW4iO2VbIlRpbWVzTmV3Um9tYW4tQm9sZCJdPSJUaW1lcy1Cb2xkIjtlWyJUaW1lc05ld1JvbWFuLUJvbGRJdGFsaWMiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiVGltZXNOZXdSb21hbi1JdGFsaWMiXT0iVGltZXMtSXRhbGljIjtlLlRpbWVzTmV3Um9tYW5QUz0iVGltZXMtUm9tYW4iO2VbIlRpbWVzTmV3Um9tYW5QUy1Cb2xkIl09IlRpbWVzLUJvbGQiO2VbIlRpbWVzTmV3Um9tYW5QUy1Cb2xkSXRhbGljIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW5QUy1Cb2xkSXRhbGljTVQiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiVGltZXNOZXdSb21hblBTLUJvbGRNVCJdPSJUaW1lcy1Cb2xkIjtlWyJUaW1lc05ld1JvbWFuUFMtSXRhbGljIl09IlRpbWVzLUl0YWxpYyI7ZVsiVGltZXNOZXdSb21hblBTLUl0YWxpY01UIl09IlRpbWVzLUl0YWxpYyI7ZS5UaW1lc05ld1JvbWFuUFNNVD0iVGltZXMtUm9tYW4iO2VbIlRpbWVzTmV3Um9tYW5QU01ULUJvbGQiXT0iVGltZXMtQm9sZCI7ZVsiVGltZXNOZXdSb21hblBTTVQtQm9sZEl0YWxpYyJdPSJUaW1lcy1Cb2xkSXRhbGljIjtlWyJUaW1lc05ld1JvbWFuUFNNVC1JdGFsaWMiXT0iVGltZXMtSXRhbGljIn0pKSxaaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQ291cmllcj0iRm94aXRGaXhlZC5wZmIiO2VbIkNvdXJpZXItQm9sZCJdPSJGb3hpdEZpeGVkQm9sZC5wZmIiO2VbIkNvdXJpZXItQm9sZE9ibGlxdWUiXT0iRm94aXRGaXhlZEJvbGRJdGFsaWMucGZiIjtlWyJDb3VyaWVyLU9ibGlxdWUiXT0iRm94aXRGaXhlZEl0YWxpYy5wZmIiO2UuSGVsdmV0aWNhPSJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyLnR0ZiI7ZVsiSGVsdmV0aWNhLUJvbGQiXT0iTGliZXJhdGlvblNhbnMtQm9sZC50dGYiO2VbIkhlbHZldGljYS1Cb2xkT2JsaXF1ZSJdPSJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljLnR0ZiI7ZVsiSGVsdmV0aWNhLU9ibGlxdWUiXT0iTGliZXJhdGlvblNhbnMtSXRhbGljLnR0ZiI7ZVsiVGltZXMtUm9tYW4iXT0iRm94aXRTZXJpZi5wZmIiO2VbIlRpbWVzLUJvbGQiXT0iRm94aXRTZXJpZkJvbGQucGZiIjtlWyJUaW1lcy1Cb2xkSXRhbGljIl09IkZveGl0U2VyaWZCb2xkSXRhbGljLnBmYiI7ZVsiVGltZXMtSXRhbGljIl09IkZveGl0U2VyaWZJdGFsaWMucGZiIjtlLlN5bWJvbD0iRm94aXRTeW1ib2wucGZiIjtlLlphcGZEaW5nYmF0cz0iRm94aXREaW5nYmF0cy5wZmIiO2VbIkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIiXT0iTGliZXJhdGlvblNhbnMtUmVndWxhci50dGYiO2VbIkxpYmVyYXRpb25TYW5zLUJvbGQiXT0iTGliZXJhdGlvblNhbnMtQm9sZC50dGYiO2VbIkxpYmVyYXRpb25TYW5zLUl0YWxpYyJdPSJMaWJlcmF0aW9uU2Fucy1JdGFsaWMudHRmIjtlWyJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIl09IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMudHRmIn0pKSxWaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQ2FsaWJyaT0iSGVsdmV0aWNhIjtlWyJDYWxpYnJpLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkNhbGlicmktQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkNhbGlicmktSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlLkNlbnR1cnlHb3RoaWM9IkhlbHZldGljYSI7ZVsiQ2VudHVyeUdvdGhpYy1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJDZW50dXJ5R290aGljLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJDZW50dXJ5R290aGljLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5Db21pY1NhbnNNUz0iQ29taWMgU2FucyBNUyI7ZVsiQ29taWNTYW5zTVMtQm9sZCJdPSJDb21pYyBTYW5zIE1TLUJvbGQiO2VbIkNvbWljU2Fuc01TLUJvbGRJdGFsaWMiXT0iQ29taWMgU2FucyBNUy1Cb2xkSXRhbGljIjtlWyJDb21pY1NhbnNNUy1JdGFsaWMiXT0iQ29taWMgU2FucyBNUy1JdGFsaWMiO2UuR2lsbFNhbnNNVD0iSGVsdmV0aWNhIjtlWyJHaWxsU2Fuc01ULUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkdpbGxTYW5zTVQtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkdpbGxTYW5zTVQtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlLkltcGFjdD0iSGVsdmV0aWNhIjtlWyJJdGNTeW1ib2wtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiSXRjU3ltYm9sLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJJdGNTeW1ib2wtQm9vayJdPSJIZWx2ZXRpY2EiO2VbIkl0Y1N5bWJvbC1Cb29rSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJJdGNTeW1ib2wtTWVkaXVtIl09IkhlbHZldGljYSI7ZVsiSXRjU3ltYm9sLU1lZGl1bUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5MdWNpZGFDb25zb2xlPSJDb3VyaWVyIjtlWyJMdWNpZGFDb25zb2xlLUJvbGQiXT0iQ291cmllci1Cb2xkIjtlWyJMdWNpZGFDb25zb2xlLUJvbGRJdGFsaWMiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiTHVjaWRhQ29uc29sZS1JdGFsaWMiXT0iQ291cmllci1PYmxpcXVlIjtlWyJMdWNpZGFTYW5zLURlbWkiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIk1TLUdvdGhpYyJdPSJNUyBHb3RoaWMiO2VbIk1TLUdvdGhpYy1Cb2xkIl09Ik1TIEdvdGhpYy1Cb2xkIjtlWyJNUy1Hb3RoaWMtQm9sZEl0YWxpYyJdPSJNUyBHb3RoaWMtQm9sZEl0YWxpYyI7ZVsiTVMtR290aGljLUl0YWxpYyJdPSJNUyBHb3RoaWMtSXRhbGljIjtlWyJNUy1NaW5jaG8iXT0iTVMgTWluY2hvIjtlWyJNUy1NaW5jaG8tQm9sZCJdPSJNUyBNaW5jaG8tQm9sZCI7ZVsiTVMtTWluY2hvLUJvbGRJdGFsaWMiXT0iTVMgTWluY2hvLUJvbGRJdGFsaWMiO2VbIk1TLU1pbmNoby1JdGFsaWMiXT0iTVMgTWluY2hvLUl0YWxpYyI7ZVsiTVMtUEdvdGhpYyJdPSJNUyBQR290aGljIjtlWyJNUy1QR290aGljLUJvbGQiXT0iTVMgUEdvdGhpYy1Cb2xkIjtlWyJNUy1QR290aGljLUJvbGRJdGFsaWMiXT0iTVMgUEdvdGhpYy1Cb2xkSXRhbGljIjtlWyJNUy1QR290aGljLUl0YWxpYyJdPSJNUyBQR290aGljLUl0YWxpYyI7ZVsiTVMtUE1pbmNobyJdPSJNUyBQTWluY2hvIjtlWyJNUy1QTWluY2hvLUJvbGQiXT0iTVMgUE1pbmNoby1Cb2xkIjtlWyJNUy1QTWluY2hvLUJvbGRJdGFsaWMiXT0iTVMgUE1pbmNoby1Cb2xkSXRhbGljIjtlWyJNUy1QTWluY2hvLUl0YWxpYyJdPSJNUyBQTWluY2hvLUl0YWxpYyI7ZS5OdXB0aWFsU2NyaXB0PSJUaW1lcy1JdGFsaWMiO2UuU2Vnb2VVSVN5bWJvbD0iSGVsdmV0aWNhIn0pKSx6aT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbIkFkb2JlIEplbnNvbiJdPSEwO2VbIkFkb2JlIFRleHQiXT0hMDtlLkFsYmVydHVzPSEwO2UuQWxkdXM9ITA7ZS5BbGV4YW5kcmlhPSEwO2UuQWxnZXJpYW49ITA7ZVsiQW1lcmljYW4gVHlwZXdyaXRlciJdPSEwO2UuQW50aXF1YT0hMDtlLkFwZXg9ITA7ZS5Bcm5vPSEwO2UuQXN0ZXI9ITA7ZS5BdXJvcmE9ITA7ZS5CYXNrZXJ2aWxsZT0hMDtlLkJlbGw9ITA7ZS5CZW1ibz0hMDtlWyJCZW1ibyBTY2hvb2xib29rIl09ITA7ZS5CZW5ndWlhdD0hMDtlWyJCZXJrZWxleSBPbGQgU3R5bGUiXT0hMDtlWyJCZXJuaGFyZCBNb2Rlcm4iXT0hMDtlWyJCZXJ0aG9sZCBDaXR5Il09ITA7ZS5Cb2Rvbmk9ITA7ZVsiQmF1ZXIgQm9kb25pIl09ITA7ZVsiQm9vayBBbnRpcXVhIl09ITA7ZS5Cb29rbWFuPSEwO2VbIkJvcmRlYXV4IFJvbWFuIl09ITA7ZVsiQ2FsaWZvcm5pYW4gRkIiXT0hMDtlLkNhbGlzdG89ITA7ZS5DYWx2ZXJ0PSEwO2UuQ2FwaXRhbHM9ITA7ZS5DYW1icmlhPSEwO2UuQ2FydGllcj0hMDtlLkNhc2xvbj0hMDtlLkNhdHVsbD0hMDtlLkNlbnRhdXI9ITA7ZVsiQ2VudHVyeSBPbGQgU3R5bGUiXT0hMDtlWyJDZW50dXJ5IFNjaG9vbGJvb2siXT0hMDtlLkNoYXBhcnJhbD0hMDtlWyJDaGFyaXMgU0lMIl09ITA7ZS5DaGVsdGVuaGFtPSEwO2VbIkNob2xsYSBTbGFiIl09ITA7ZS5DbGFyZW5kb249ITA7ZS5DbGVhcmZhY2U9ITA7ZS5Db2NoaW49ITA7ZS5Db2xvbm5hPSEwO2VbIkNvbXB1dGVyIE1vZGVybiJdPSEwO2VbIkNvbmNyZXRlIFJvbWFuIl09ITA7ZS5Db25zdGFudGlhPSEwO2VbIkNvb3BlciBCbGFjayJdPSEwO2UuQ29yb25hPSEwO2UuRWNvdHlwZT0hMDtlLkVneXB0aWVubmU9ITA7ZS5FbGVwaGFudD0hMDtlLkV4Y2Vsc2lvcj0hMDtlLkZhaXJmaWVsZD0hMDtlWyJGRiBTY2FsYSJdPSEwO2UuRm9sa2FyZD0hMDtlLkZvb3RsaWdodD0hMDtlLkZyZWVTZXJpZj0hMDtlWyJGcml6IFF1YWRyYXRhIl09ITA7ZS5HYXJhbW9uZD0hMDtlLkdlbnRpdW09ITA7ZS5HZW9yZ2lhPSEwO2UuR2xvdWNlc3Rlcj0hMDtlWyJHb3VkeSBPbGQgU3R5bGUiXT0hMDtlWyJHb3VkeSBTY2hvb2xib29rIl09ITA7ZVsiR291ZHkgUHJvIEZvbnQiXT0hMDtlLkdyYW5qb249ITA7ZVsiR3VhcmRpYW4gRWd5cHRpYW4iXT0hMDtlLkhlYXRoZXI9ITA7ZS5IZXJjdWxlcz0hMDtlWyJIaWdoIFRvd2VyIFRleHQiXT0hMDtlLkhpcm9zaGlnZT0hMDtlWyJIb2VmbGVyIFRleHQiXT0hMDtlWyJIdW1hbmEgU2VyaWYiXT0hMDtlLkltcHJpbnQ9ITA7ZVsiSW9uaWMgTm8uIDUiXT0hMDtlLkphbnNvbj0hMDtlLkpvYW5uYT0hMDtlLktvcmlubmE9ITA7ZS5MZXhpY29uPSEwO2UuTGliZXJhdGlvblNlcmlmPSEwO2VbIkxpYmVyYXRpb24gU2VyaWYiXT0hMDtlWyJMaW51eCBMaWJlcnRpbmUiXT0hMDtlLkxpdGVyYXR1cm5heWE9ITA7ZS5MdWNpZGE9ITA7ZVsiTHVjaWRhIEJyaWdodCJdPSEwO2UuTWVsaW9yPSEwO2UuTWVtcGhpcz0hMDtlLk1pbGxlcj0hMDtlLk1pbmlvbj0hMDtlLk1vZGVybj0hMDtlWyJNb25hIExpc2EiXT0hMDtlWyJNcnMgRWF2ZXMiXT0hMDtlWyJNUyBTZXJpZiJdPSEwO2VbIk11c2VvIFNsYWIiXT0hMDtlWyJOZXcgWW9yayJdPSEwO2VbIk5pbWJ1cyBSb21hbiJdPSEwO2VbIk5QUyBSYXdsaW5zb24gUm9hZHdheSJdPSEwO2UuTnVwdGlhbFNjcmlwdD0hMDtlLlBhbGF0aW5vPSEwO2UuUGVycGV0dWE9ITA7ZS5QbGFudGluPSEwO2VbIlBsYW50aW4gU2Nob29sYm9vayJdPSEwO2UuUGxheWJpbGw9ITA7ZVsiUG9vciBSaWNoYXJkIl09ITA7ZVsiUmF3bGluc29uIFJvYWR3YXkiXT0hMDtlLlJlbmF1bHQ9ITA7ZS5SZXF1aWVtPSEwO2UuUm9ja3dlbGw9ITA7ZS5Sb21hbj0hMDtlWyJSb3RpcyBTZXJpZiJdPSEwO2UuU2Fib249ITA7ZS5TY2FsYT0hMDtlLlNlYWd1bGw9ITA7ZS5TaXN0aW5hPSEwO2UuU291dmVuaXI9ITA7ZS5TVElYPSEwO2VbIlN0b25lIEluZm9ybWFsIl09ITA7ZVsiU3RvbmUgU2VyaWYiXT0hMDtlLlN5bGZhZW49ITA7ZS5UaW1lcz0hMDtlLlRyYWphbj0hMDtlWyJUcmluaXTDqSJdPSEwO2VbIlRydW1wIE1lZGlhZXZhbCJdPSEwO2UuVXRvcGlhPSEwO2VbIlZhbGUgVHlwZSJdPSEwO2VbIkJpdHN0cmVhbSBWZXJhIl09ITA7ZVsiVmVyYSBTZXJpZiJdPSEwO2UuVmVyc2FpbGxlcz0hMDtlLldhbnRlZD0hMDtlLldlaXNzPSEwO2VbIldpZGUgTGF0aW4iXT0hMDtlLldpbmRzb3I9ITA7ZS5YSVRTPSEwfSkpLF9pPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5EaW5nYmF0cz0hMDtlLlN5bWJvbD0hMDtlLlphcGZEaW5nYmF0cz0hMDtlLldpbmdkaW5ncz0hMDtlWyJXaW5nZGluZ3MtQm9sZCJdPSEwO2VbIldpbmdkaW5ncy1SZWd1bGFyIl09ITB9KSksJGk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWzJdPTEwO2VbM109MzI7ZVs0XT0zMztlWzVdPTM0O2VbNl09MzU7ZVs3XT0zNjtlWzhdPTM3O2VbOV09Mzg7ZVsxMF09Mzk7ZVsxMV09NDA7ZVsxMl09NDE7ZVsxM109NDI7ZVsxNF09NDM7ZVsxNV09NDQ7ZVsxNl09NDU7ZVsxN109NDY7ZVsxOF09NDc7ZVsxOV09NDg7ZVsyMF09NDk7ZVsyMV09NTA7ZVsyMl09NTE7ZVsyM109NTI7ZVsyNF09NTM7ZVsyNV09NTQ7ZVsyNl09NTU7ZVsyN109NTY7ZVsyOF09NTc7ZVsyOV09NTg7ZVszMF09ODk0O2VbMzFdPTYwO2VbMzJdPTYxO2VbMzNdPTYyO2VbMzRdPTYzO2VbMzVdPTY0O2VbMzZdPTY1O2VbMzddPTY2O2VbMzhdPTY3O2VbMzldPTY4O2VbNDBdPTY5O2VbNDFdPTcwO2VbNDJdPTcxO2VbNDNdPTcyO2VbNDRdPTczO2VbNDVdPTc0O2VbNDZdPTc1O2VbNDddPTc2O2VbNDhdPTc3O2VbNDldPTc4O2VbNTBdPTc5O2VbNTFdPTgwO2VbNTJdPTgxO2VbNTNdPTgyO2VbNTRdPTgzO2VbNTVdPTg0O2VbNTZdPTg1O2VbNTddPTg2O2VbNThdPTg3O2VbNTldPTg4O2VbNjBdPTg5O2VbNjFdPTkwO2VbNjJdPTkxO2VbNjNdPTkyO2VbNjRdPTkzO2VbNjVdPTk0O2VbNjZdPTk1O2VbNjddPTk2O2VbNjhdPTk3O2VbNjldPTk4O2VbNzBdPTk5O2VbNzFdPTEwMDtlWzcyXT0xMDE7ZVs3M109MTAyO2VbNzRdPTEwMztlWzc1XT0xMDQ7ZVs3Nl09MTA1O2VbNzddPTEwNjtlWzc4XT0xMDc7ZVs3OV09MTA4O2VbODBdPTEwOTtlWzgxXT0xMTA7ZVs4Ml09MTExO2VbODNdPTExMjtlWzg0XT0xMTM7ZVs4NV09MTE0O2VbODZdPTExNTtlWzg3XT0xMTY7ZVs4OF09MTE3O2VbODldPTExODtlWzkwXT0xMTk7ZVs5MV09MTIwO2VbOTJdPTEyMTtlWzkzXT0xMjI7ZVs5NF09MTIzO2VbOTVdPTEyNDtlWzk2XT0xMjU7ZVs5N109MTI2O2VbOThdPTE5NjtlWzk5XT0xOTc7ZVsxMDBdPTE5OTtlWzEwMV09MjAxO2VbMTAyXT0yMDk7ZVsxMDNdPTIxNDtlWzEwNF09MjIwO2VbMTA1XT0yMjU7ZVsxMDZdPTIyNDtlWzEwN109MjI2O2VbMTA4XT0yMjg7ZVsxMDldPTIyNztlWzExMF09MjI5O2VbMTExXT0yMzE7ZVsxMTJdPTIzMztlWzExM109MjMyO2VbMTE0XT0yMzQ7ZVsxMTVdPTIzNTtlWzExNl09MjM3O2VbMTE3XT0yMzY7ZVsxMThdPTIzODtlWzExOV09MjM5O2VbMTIwXT0yNDE7ZVsxMjFdPTI0MztlWzEyMl09MjQyO2VbMTIzXT0yNDQ7ZVsxMjRdPTI0NjtlWzEyNV09MjQ1O2VbMTI2XT0yNTA7ZVsxMjddPTI0OTtlWzEyOF09MjUxO2VbMTI5XT0yNTI7ZVsxMzBdPTgyMjQ7ZVsxMzFdPTE3NjtlWzEzMl09MTYyO2VbMTMzXT0xNjM7ZVsxMzRdPTE2NztlWzEzNV09ODIyNjtlWzEzNl09MTgyO2VbMTM3XT0yMjM7ZVsxMzhdPTE3NDtlWzEzOV09MTY5O2VbMTQwXT04NDgyO2VbMTQxXT0xODA7ZVsxNDJdPTE2ODtlWzE0M109ODgwMDtlWzE0NF09MTk4O2VbMTQ1XT0yMTY7ZVsxNDZdPTg3MzQ7ZVsxNDddPTE3NztlWzE0OF09ODgwNDtlWzE0OV09ODgwNTtlWzE1MF09MTY1O2VbMTUxXT0xODE7ZVsxNTJdPTg3MDY7ZVsxNTNdPTg3MjE7ZVsxNTRdPTg3MTk7ZVsxNTZdPTg3NDc7ZVsxNTddPTE3MDtlWzE1OF09MTg2O2VbMTU5XT04NDg2O2VbMTYwXT0yMzA7ZVsxNjFdPTI0ODtlWzE2Ml09MTkxO2VbMTYzXT0xNjE7ZVsxNjRdPTE3MjtlWzE2NV09ODczMDtlWzE2Nl09NDAyO2VbMTY3XT04Nzc2O2VbMTY4XT04NzEwO2VbMTY5XT0xNzE7ZVsxNzBdPTE4NztlWzE3MV09ODIzMDtlWzE3OV09ODIyMDtlWzE4MF09ODIyMTtlWzE4MV09ODIxNjtlWzE4Ml09ODIxNztlWzIwMF09MTkzO2VbMjAzXT0yMDU7ZVsyMDddPTIxMTtlWzIxMF09MjE4O2VbMjIzXT03MTE7ZVsyMjRdPTMyMTtlWzIyNV09MzIyO2VbMjI2XT0zNTI7ZVsyMjddPTM1MztlWzIyOF09MzgxO2VbMjI5XT0zODI7ZVsyMzNdPTIyMTtlWzIzNF09MjUzO2VbMjUyXT0yNjM7ZVsyNTNdPTI2ODtlWzI1NF09MjY5O2VbMjU4XT0yNTg7ZVsyNjBdPTI2MDtlWzI2MV09MjYxO2VbMjY1XT0yODA7ZVsyNjZdPTI4MTtlWzI2N109MjgyO2VbMjY4XT0yODM7ZVsyNjldPTMxMztlWzI3NV09MzIzO2VbMjc2XT0zMjQ7ZVsyNzhdPTMyODtlWzI4M109MzQ0O2VbMjg0XT0zNDU7ZVsyODVdPTM0NjtlWzI4Nl09MzQ3O2VbMjkyXT0zNjc7ZVsyOTVdPTM3NztlWzI5Nl09Mzc4O2VbMjk4XT0zODA7ZVszMDVdPTk2MztlWzMwNl09OTY0O2VbMzA3XT05NjY7ZVszMDhdPTgyMTU7ZVszMDldPTgyNTI7ZVszMTBdPTgzMTk7ZVszMTFdPTgzNTk7ZVszMTJdPTg1OTI7ZVszMTNdPTg1OTM7ZVszMzddPTk1NTI7ZVs0OTNdPTEwMzk7ZVs0OTRdPTEwNDA7ZVs2NzJdPTE0ODg7ZVs2NzNdPTE0ODk7ZVs2NzRdPTE0OTA7ZVs2NzVdPTE0OTE7ZVs2NzZdPTE0OTI7ZVs2NzddPTE0OTM7ZVs2NzhdPTE0OTQ7ZVs2NzldPTE0OTU7ZVs2ODBdPTE0OTY7ZVs2ODFdPTE0OTc7ZVs2ODJdPTE0OTg7ZVs2ODNdPTE0OTk7ZVs2ODRdPTE1MDA7ZVs2ODVdPTE1MDE7ZVs2ODZdPTE1MDI7ZVs2ODddPTE1MDM7ZVs2ODhdPTE1MDQ7ZVs2ODldPTE1MDU7ZVs2OTBdPTE1MDY7ZVs2OTFdPTE1MDc7ZVs2OTJdPTE1MDg7ZVs2OTNdPTE1MDk7ZVs2OTRdPTE1MTA7ZVs2OTVdPTE1MTE7ZVs2OTZdPTE1MTI7ZVs2OTddPTE1MTM7ZVs2OThdPTE1MTQ7ZVs3MDVdPTE1MjQ7ZVs3MDZdPTgzNjI7ZVs3MTBdPTY0Mjg4O2VbNzExXT02NDI5ODtlWzc1OV09MTYxNztlWzc2MV09MTc3NjtlWzc2M109MTc3ODtlWzc3NV09MTY1MjtlWzc3N109MTc2NDtlWzc3OF09MTc4MDtlWzc3OV09MTc4MTtlWzc4MF09MTc4MjtlWzc4Ml09NzcxO2VbNzgzXT02NDcyNjtlWzc4Nl09ODM2MztlWzc4OF09ODUzMjtlWzc5MF09NzY4O2VbNzkxXT03Njk7ZVs3OTJdPTc2ODtlWzc5NV09ODAzO2VbNzk3XT02NDMzNjtlWzc5OF09NjQzMzc7ZVs3OTldPTY0MzQyO2VbODAwXT02NDM0MztlWzgwMV09NjQzNDQ7ZVs4MDJdPTY0MzQ1O2VbODAzXT02NDM2MjtlWzgwNF09NjQzNjM7ZVs4MDVdPTY0MzY0O2VbMjQyNF09NzgyMTtlWzI0MjVdPTc4MjI7ZVsyNDI2XT03ODIzO2VbMjQyN109NzgyNDtlWzI0MjhdPTc4MjU7ZVsyNDI5XT03ODI2O2VbMjQzMF09NzgyNztlWzI0MzNdPTc2ODI7ZVsyNjc4XT04MDQ1O2VbMjY3OV09ODA0NjtlWzI4MzBdPTE1NTI7ZVsyODM4XT02ODY7ZVsyODQwXT03NTE7ZVsyODQyXT03NTM7ZVsyODQzXT03NTQ7ZVsyODQ0XT03NTU7ZVsyODQ2XT03NTc7ZVsyODU2XT03Njc7ZVsyODU3XT04NDg7ZVsyODU4XT04NDk7ZVsyODYyXT04NTM7ZVsyODYzXT04NTQ7ZVsyODY0XT04NTU7ZVsyODY1XT04NjE7ZVsyODY2XT04NjI7ZVsyOTA2XT03NDYwO2VbMjkwOF09NzQ2MjtlWzI5MDldPTc0NjM7ZVsyOTEwXT03NDY0O2VbMjkxMl09NzQ2NjtlWzI5MTNdPTc0Njc7ZVsyOTE0XT03NDY4O2VbMjkxNl09NzQ3MDtlWzI5MTddPTc0NzE7ZVsyOTE4XT03NDcyO2VbMjkyMF09NzQ3NDtlWzI5MjFdPTc0NzU7ZVsyOTIyXT03NDc2O2VbMjkyNF09NzQ3ODtlWzI5MjVdPTc0Nzk7ZVsyOTI2XT03NDgwO2VbMjkyOF09NzQ4MjtlWzI5MjldPTc0ODM7ZVsyOTMwXT03NDg0O2VbMjkzMl09NzQ4NjtlWzI5MzNdPTc0ODc7ZVsyOTM0XT03NDg4O2VbMjkzNl09NzQ5MDtlWzI5MzddPTc0OTE7ZVsyOTM4XT03NDkyO2VbMjk0MF09NzQ5NDtlWzI5NDFdPTc0OTU7ZVsyOTQyXT03NDk2O2VbMjk0NF09NzQ5ODtlWzI5NDZdPTc1MDA7ZVsyOTQ4XT03NTAyO2VbMjk1MF09NzUwNDtlWzI5NTFdPTc1MDU7ZVsyOTUyXT03NTA2O2VbMjk1NF09NzUwODtlWzI5NTVdPTc1MDk7ZVsyOTU2XT03NTEwO2VbMjk1OF09NzUxMjtlWzI5NTldPTc1MTM7ZVsyOTYwXT03NTE0O2VbMjk2Ml09NzUxNjtlWzI5NjNdPTc1MTc7ZVsyOTY0XT03NTE4O2VbMjk2Nl09NzUyMDtlWzI5NjddPTc1MjE7ZVsyOTY4XT03NTIyO2VbMjk3MF09NzUyNDtlWzI5NzFdPTc1MjU7ZVsyOTcyXT03NTI2O2VbMjk3NF09NzUyODtlWzI5NzVdPTc1Mjk7ZVsyOTc2XT03NTMwO2VbMjk3OF09MTUzNztlWzI5NzldPTE1Mzg7ZVsyOTgwXT0xNTM5O2VbMjk4Ml09MTU0OTtlWzI5ODNdPTE1NTE7ZVsyOTg0XT0xNTUyO2VbMjk4Nl09MTU1NDtlWzI5ODddPTE1NTU7ZVsyOTg4XT0xNTU2O2VbMjk5MF09MTYyMztlWzI5OTFdPTE2MjQ7ZVsyOTk1XT0xNzc1O2VbMjk5OV09MTc5MTtlWzMwMDJdPTY0MjkwO2VbMzAwM109NjQyOTE7ZVszMDA0XT02NDI5MjtlWzMwMDZdPTY0Mjk0O2VbMzAwN109NjQyOTU7ZVszMDA4XT02NDI5NjtlWzMwMTFdPTE5MDA7ZVszMDE0XT04MjIzO2VbMzAxNV09ODI0NDtlWzMwMTddPTc1MzI7ZVszMDE4XT03NTMzO2VbMzAxOV09NzUzNDtlWzMwNzVdPTc1OTA7ZVszMDc2XT03NTkxO2VbMzA3OV09NzU5NDtlWzMwODBdPTc1OTU7ZVszMDgzXT03NTk4O2VbMzA4NF09NzU5OTtlWzMwODddPTc2MDI7ZVszMDg4XT03NjAzO2VbMzA5MV09NzYwNjtlWzMwOTJdPTc2MDc7ZVszMDk1XT03NjEwO2VbMzA5Nl09NzYxMTtlWzMwOTldPTc2MTQ7ZVszMTAwXT03NjE1O2VbMzEwM109NzYxODtlWzMxMDRdPTc2MTk7ZVszMTA3XT04MzM3O2VbMzEwOF09ODMzODtlWzMxMTZdPTE4ODQ7ZVszMTE5XT0xODg1O2VbMzEyMF09MTg4NTtlWzMxMjNdPTE4ODY7ZVszMTI0XT0xODg2O2VbMzEyN109MTg4NztlWzMxMjhdPTE4ODc7ZVszMTMxXT0xODg4O2VbMzEzMl09MTg4ODtlWzMxMzVdPTE4ODk7ZVszMTM2XT0xODg5O2VbMzEzOV09MTg5MDtlWzMxNDBdPTE4OTA7ZVszMTQzXT0xODkxO2VbMzE0NF09MTg5MTtlWzMxNDddPTE4OTI7ZVszMTQ4XT0xODkyO2VbMzE1M109NTgwO2VbMzE1NF09NTgxO2VbMzE1N109NTg0O2VbMzE1OF09NTg1O2VbMzE2MV09NTg4O2VbMzE2Ml09NTg5O2VbMzE2NV09ODkxO2VbMzE2Nl09ODkyO2VbMzE2OV09MTI3NDtlWzMxNzBdPTEyNzU7ZVszMTczXT0xMjc4O2VbMzE3NF09MTI3OTtlWzMxODFdPTc2MjI7ZVszMTgyXT03NjIzO2VbMzI4Ml09MTE3OTk7ZVszMzE2XT01Nzg7ZVszMzc5XT00Mjc4NTtlWzMzOTNdPTExNTk7ZVszNDE2XT04Mzc3fSkpLEFhPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsyMjddPTMyMjtlWzI2NF09MjYxO2VbMjkxXT0zNDZ9KSksZWE9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWzFdPTMyO2VbNF09NjU7ZVs1XT0xOTI7ZVs2XT0xOTM7ZVs5XT0xOTY7ZVsxN109NjY7ZVsxOF09Njc7ZVsyMV09MjY4O2VbMjRdPTY4O2VbMjhdPTY5O2VbMjldPTIwMDtlWzMwXT0yMDE7ZVszMl09MjgyO2VbMzhdPTcwO2VbMzldPTcxO2VbNDRdPTcyO2VbNDddPTczO2VbNDhdPTIwNDtlWzQ5XT0yMDU7ZVs1OF09NzQ7ZVs2MF09NzU7ZVs2Ml09NzY7ZVs2OF09Nzc7ZVs2OV09Nzg7ZVs3NV09Nzk7ZVs3Nl09MjEwO2VbODBdPTIxNDtlWzg3XT04MDtlWzg5XT04MTtlWzkwXT04MjtlWzkyXT0zNDQ7ZVs5NF09ODM7ZVs5N109MzUyO2VbMTAwXT04NDtlWzEwNF09ODU7ZVsxMDldPTIyMDtlWzExNV09ODY7ZVsxMTZdPTg3O2VbMTIxXT04ODtlWzEyMl09ODk7ZVsxMjRdPTIyMTtlWzEyN109OTA7ZVsxMjldPTM4MTtlWzI1OF09OTc7ZVsyNTldPTIyNDtlWzI2MF09MjI1O2VbMjYzXT0yMjg7ZVsyNjhdPTI2MTtlWzI3MV09OTg7ZVsyNzJdPTk5O2VbMjczXT0yNjM7ZVsyNzVdPTI2OTtlWzI4Ml09MTAwO2VbMjg2XT0xMDE7ZVsyODddPTIzMjtlWzI4OF09MjMzO2VbMjkwXT0yODM7ZVsyOTVdPTI4MTtlWzI5Nl09MTAyO2VbMzM2XT0xMDM7ZVszNDZdPTEwNDtlWzM0OV09MTA1O2VbMzUwXT0yMzY7ZVszNTFdPTIzNztlWzM2MV09MTA2O2VbMzY0XT0xMDc7ZVszNjddPTEwODtlWzM3MV09MzIyO2VbMzczXT0xMDk7ZVszNzRdPTExMDtlWzM4MV09MTExO2VbMzgyXT0yNDI7ZVszODNdPTI0MztlWzM4Nl09MjQ2O2VbMzkzXT0xMTI7ZVszOTVdPTExMztlWzM5Nl09MTE0O2VbMzk4XT0zNDU7ZVs0MDBdPTExNTtlWzQwMV09MzQ3O2VbNDAzXT0zNTM7ZVs0MTBdPTExNjtlWzQzN109MTE3O2VbNDQyXT0yNTI7ZVs0NDhdPTExODtlWzQ0OV09MTE5O2VbNDU0XT0xMjA7ZVs0NTVdPTEyMTtlWzQ1N109MjUzO2VbNDYwXT0xMjI7ZVs0NjJdPTM4MjtlWzQ2M109MzgwO2VbODUzXT00NDtlWzg1NV09NTg7ZVs4NTZdPTQ2O2VbODc2XT00NztlWzg3OF09NDU7ZVs4ODJdPTQ1O2VbODk0XT00MDtlWzg5NV09NDE7ZVs4OTZdPTkxO2VbODk3XT05MztlWzkyM109NjQ7ZVsxMDA0XT00ODtlWzEwMDVdPTQ5O2VbMTAwNl09NTA7ZVsxMDA3XT01MTtlWzEwMDhdPTUyO2VbMTAwOV09NTM7ZVsxMDEwXT01NDtlWzEwMTFdPTU1O2VbMTAxMl09NTY7ZVsxMDEzXT01NztlWzEwODFdPTM3O2VbMTA4NV09NDM7ZVsxMDg2XT00NX0pKTtmdW5jdGlvbiBnZXRTdGFuZGFyZEZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuIGppKClbdF19ZnVuY3Rpb24gaXNLbm93bkZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuISEoamkoKVt0XXx8VmkoKVt0XXx8emkoKVt0XXx8X2koKVt0XSl9Y2xhc3MgVG9Vbmljb2RlTWFwe2NvbnN0cnVjdG9yKGU9W10pe3RoaXMuX21hcD1lfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5fbWFwLmxlbmd0aH1mb3JFYWNoKGUpe2Zvcihjb25zdCB0IGluIHRoaXMuX21hcCllKHQsdGhpcy5fbWFwW3RdLmNoYXJDb2RlQXQoMCkpfWhhcyhlKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fbWFwW2VdfWdldChlKXtyZXR1cm4gdGhpcy5fbWFwW2VdfWNoYXJDb2RlT2YoZSl7Y29uc3QgdD10aGlzLl9tYXA7aWYodC5sZW5ndGg8PTY1NTM2KXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKGNvbnN0IGkgaW4gdClpZih0W2ldPT09ZSlyZXR1cm4gMHxpO3JldHVybi0xfWFtZW5kKGUpe2Zvcihjb25zdCB0IGluIGUpdGhpcy5fbWFwW3RdPWVbdF19fWNsYXNzIElkZW50aXR5VG9Vbmljb2RlTWFwe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5maXJzdENoYXI9ZTt0aGlzLmxhc3RDaGFyPXR9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmxhc3RDaGFyKzEtdGhpcy5maXJzdENoYXJ9Zm9yRWFjaChlKXtmb3IobGV0IHQ9dGhpcy5maXJzdENoYXIsaT10aGlzLmxhc3RDaGFyO3Q8PWk7dCsrKWUodCx0KX1oYXMoZSl7cmV0dXJuIHRoaXMuZmlyc3RDaGFyPD1lJiZlPD10aGlzLmxhc3RDaGFyfWdldChlKXtpZih0aGlzLmZpcnN0Q2hhcjw9ZSYmZTw9dGhpcy5sYXN0Q2hhcilyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKX1jaGFyQ29kZU9mKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPj10aGlzLmZpcnN0Q2hhciYmZTw9dGhpcy5sYXN0Q2hhcj9lOi0xfWFtZW5kKGUpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgYW1lbmQoKSIpfX1jbGFzcyBDRkZGb250e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wcm9wZXJ0aWVzPXQ7Y29uc3QgaT1uZXcgQ0ZGUGFyc2VyKGUsdCxUaSk7dGhpcy5jZmY9aS5wYXJzZSgpO3RoaXMuY2ZmLmR1cGxpY2F0ZUZpcnN0R2x5cGgoKTtjb25zdCBhPW5ldyBDRkZDb21waWxlcih0aGlzLmNmZik7dGhpcy5zZWFjcz10aGlzLmNmZi5zZWFjczt0cnl7dGhpcy5kYXRhPWEuY29tcGlsZSgpfWNhdGNoe3dhcm4oIkZhaWxlZCB0byBjb21waWxlIGZvbnQgIit0LmxvYWRlZE5hbWUpO3RoaXMuZGF0YT1lfXRoaXMuX2NyZWF0ZUJ1aWx0SW5FbmNvZGluZygpfWdldCBudW1HbHlwaHMoKXtyZXR1cm4gdGhpcy5jZmYuY2hhclN0cmluZ3MuY291bnR9Z2V0Q2hhcnNldCgpe3JldHVybiB0aGlzLmNmZi5jaGFyc2V0LmNoYXJzZXR9Z2V0R2x5cGhNYXBwaW5nKCl7Y29uc3QgZT10aGlzLmNmZix0PXRoaXMucHJvcGVydGllcyx7Y2lkVG9HaWRNYXA6aSxjTWFwOmF9PXQscz1lLmNoYXJzZXQuY2hhcnNldDtsZXQgcixuO2lmKHQuY29tcG9zaXRlKXtsZXQgdCxnO2lmKGk/Lmxlbmd0aD4wKXt0PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBlPTAsYT1pLmxlbmd0aDtlPGE7ZSsrKXtjb25zdCBhPWlbZV07dm9pZCAwIT09YSYmKHRbYV09ZSl9fXI9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihlLmlzQ0lERm9udClmb3Iobj0wO248cy5sZW5ndGg7bisrKXtjb25zdCBlPXNbbl07Zz1hLmNoYXJDb2RlT2YoZSk7dm9pZCAwIT09dD8uW2ddJiYoZz10W2ddKTtyW2ddPW59ZWxzZSBmb3Iobj0wO248ZS5jaGFyU3RyaW5ncy5jb3VudDtuKyspe2c9YS5jaGFyQ29kZU9mKG4pO3JbZ109bn1yZXR1cm4gcn1sZXQgZz1lLmVuY29kaW5nP2UuZW5jb2RpbmcuZW5jb2Rpbmc6bnVsbDt0LmlzSW50ZXJuYWxGb250JiYoZz10LmRlZmF1bHRFbmNvZGluZyk7cj10eXBlMUZvbnRHbHlwaE1hcHBpbmcodCxnLHMpO3JldHVybiByfWhhc0dseXBoSWQoZSl7cmV0dXJuIHRoaXMuY2ZmLmhhc0dseXBoSWQoZSl9X2NyZWF0ZUJ1aWx0SW5FbmNvZGluZygpe2NvbnN0e2NoYXJzZXQ6ZSxlbmNvZGluZzp0fT10aGlzLmNmZjtpZighZXx8IXQpcmV0dXJuO2NvbnN0IGk9ZS5jaGFyc2V0LGE9dC5lbmNvZGluZyxzPVtdO2Zvcihjb25zdCBlIGluIGEpe2NvbnN0IHQ9YVtlXTtpZih0Pj0wKXtjb25zdCBhPWlbdF07YSYmKHNbZV09YSl9fXMubGVuZ3RoPjAmJih0aGlzLnByb3BlcnRpZXMuYnVpbHRJbkVuY29kaW5nPXMpfX1mdW5jdGlvbiBnZXRVaW50MzIoZSx0KXtyZXR1cm4oZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8ZVt0KzNdKT4+PjB9ZnVuY3Rpb24gZ2V0VWludDE2KGUsdCl7cmV0dXJuIGVbdF08PDh8ZVt0KzFdfWZ1bmN0aW9uIGdldEludDE2KGUsdCl7cmV0dXJuKGVbdF08PDI0fGVbdCsxXTw8MTYpPj4xNn1mdW5jdGlvbiBnZXRJbnQ4KGUsdCl7cmV0dXJuIGVbdF08PDI0Pj4yNH1mdW5jdGlvbiBnZXRGbG9hdDIxNChlLHQpe3JldHVybiBnZXRJbnQxNihlLHQpLzE2Mzg0fWZ1bmN0aW9uIGdldFN1YnJvdXRpbmVCaWFzKGUpe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGk9MzI3Njg7dDwxMjQwP2k9MTA3OnQ8MzM5MDAmJihpPTExMzEpO3JldHVybiBpfWZ1bmN0aW9uIHBhcnNlQ21hcChlLHQsaSl7Y29uc3QgYT0xPT09Z2V0VWludDE2KGUsdCsyKT9nZXRVaW50MzIoZSx0KzgpOmdldFVpbnQzMihlLHQrMTYpLHM9Z2V0VWludDE2KGUsdCthKTtsZXQgcixuLGc7aWYoND09PXMpe2dldFVpbnQxNihlLHQrYSsyKTtjb25zdCBpPWdldFVpbnQxNihlLHQrYSs2KT4+MTtuPXQrYSsxNDtyPVtdO2ZvcihnPTA7ZzxpO2crKyxuKz0yKXJbZ109e2VuZDpnZXRVaW50MTYoZSxuKX07bis9Mjtmb3IoZz0wO2c8aTtnKyssbis9MilyW2ddLnN0YXJ0PWdldFVpbnQxNihlLG4pO2ZvcihnPTA7ZzxpO2crKyxuKz0yKXJbZ10uaWREZWx0YT1nZXRVaW50MTYoZSxuKTtmb3IoZz0wO2c8aTtnKyssbis9Mil7bGV0IHQ9Z2V0VWludDE2KGUsbik7aWYoMCE9PXQpe3JbZ10uaWRzPVtdO2ZvcihsZXQgaT0wLGE9cltnXS5lbmQtcltnXS5zdGFydCsxO2k8YTtpKyspe3JbZ10uaWRzW2ldPWdldFVpbnQxNihlLG4rdCk7dCs9Mn19fXJldHVybiByfWlmKDEyPT09cyl7Y29uc3QgaT1nZXRVaW50MzIoZSx0K2ErMTIpO249dCthKzE2O3I9W107Zm9yKGc9MDtnPGk7ZysrKXt0PWdldFVpbnQzMihlLG4pO3IucHVzaCh7c3RhcnQ6dCxlbmQ6Z2V0VWludDMyKGUsbis0KSxpZERlbHRhOmdldFVpbnQzMihlLG4rOCktdH0pO24rPTEyfXJldHVybiByfXRocm93IG5ldyBGb3JtYXRFcnJvcihgdW5zdXBwb3J0ZWQgY21hcDogJHtzfWApfWZ1bmN0aW9uIHBhcnNlQ2ZmKGUsdCxpLGEpe2NvbnN0IHM9bmV3IENGRlBhcnNlcihuZXcgU3RyZWFtKGUsdCxpLXQpLHt9LGEpLnBhcnNlKCk7cmV0dXJue2dseXBoczpzLmNoYXJTdHJpbmdzLm9iamVjdHMsc3VicnM6cy50b3BEaWN0LnByaXZhdGVEaWN0Py5zdWJyc0luZGV4Py5vYmplY3RzLGdzdWJyczpzLmdsb2JhbFN1YnJJbmRleD8ub2JqZWN0cyxpc0NGRkNJREZvbnQ6cy5pc0NJREZvbnQsZmRTZWxlY3Q6cy5mZFNlbGVjdCxmZEFycmF5OnMuZmRBcnJheX19ZnVuY3Rpb24gbG9va3VwQ21hcChlLHQpe2NvbnN0IGk9dC5jb2RlUG9pbnRBdCgwKTtsZXQgYT0wLHM9MCxyPWUubGVuZ3RoLTE7Zm9yKDtzPHI7KXtjb25zdCB0PXMrcisxPj4xO2k8ZVt0XS5zdGFydD9yPXQtMTpzPXR9ZVtzXS5zdGFydDw9aSYmaTw9ZVtzXS5lbmQmJihhPWVbc10uaWREZWx0YSsoZVtzXS5pZHM/ZVtzXS5pZHNbaS1lW3NdLnN0YXJ0XTppKSY2NTUzNSk7cmV0dXJue2NoYXJDb2RlOmksZ2x5cGhJZDphfX1mdW5jdGlvbiBjb21waWxlR2x5ZihlLHQsaSl7ZnVuY3Rpb24gbW92ZVRvKGUsaSl7dC5hZGQobHQsW2UsaV0pfWZ1bmN0aW9uIGxpbmVUbyhlLGkpe3QuYWRkKEJ0LFtlLGldKX1mdW5jdGlvbiBxdWFkcmF0aWNDdXJ2ZVRvKGUsaSxhLHMpe3QuYWRkKFF0LFtlLGksYSxzXSl9bGV0IGE9MDtjb25zdCBzPWdldEludDE2KGUsYSk7bGV0IHIsbj0wLGc9MDthKz0xMDtpZihzPDApZG97cj1nZXRVaW50MTYoZSxhKTtjb25zdCBzPWdldFVpbnQxNihlLGErMik7YSs9NDtsZXQgbyxjO2lmKDEmcil7aWYoMiZyKXtvPWdldEludDE2KGUsYSk7Yz1nZXRJbnQxNihlLGErMil9ZWxzZXtvPWdldFVpbnQxNihlLGEpO2M9Z2V0VWludDE2KGUsYSsyKX1hKz00fWVsc2UgaWYoMiZyKXtvPWdldEludDgoZSxhKyspO2M9Z2V0SW50OChlLGErKyl9ZWxzZXtvPWVbYSsrXTtjPWVbYSsrXX1pZigyJnIpe249bztnPWN9ZWxzZXtuPTA7Zz0wfWxldCBDPTEsaD0xLGw9MCxRPTA7aWYoOCZyKXtDPWg9Z2V0RmxvYXQyMTQoZSxhKTthKz0yfWVsc2UgaWYoNjQmcil7Qz1nZXRGbG9hdDIxNChlLGEpO2g9Z2V0RmxvYXQyMTQoZSxhKzIpO2ErPTR9ZWxzZSBpZigxMjgmcil7Qz1nZXRGbG9hdDIxNChlLGEpO2w9Z2V0RmxvYXQyMTQoZSxhKzIpO1E9Z2V0RmxvYXQyMTQoZSxhKzQpO2g9Z2V0RmxvYXQyMTQoZSxhKzYpO2ErPTh9Y29uc3QgRT1pLmdseXBoc1tzXTtpZihFKXt0LmFkZCh1dCk7dC5hZGQoZnQsW0MsbCxRLGgsbixnXSk7Y29tcGlsZUdseWYoRSx0LGkpO3QuYWRkKEV0KX19d2hpbGUoMzImcik7ZWxzZXtjb25zdCB0PVtdO2xldCBpLG87Zm9yKGk9MDtpPHM7aSsrKXt0LnB1c2goZ2V0VWludDE2KGUsYSkpO2ErPTJ9YSs9MitnZXRVaW50MTYoZSxhKTtjb25zdCBjPXQuYXQoLTEpKzEsQz1bXTtmb3IoO0MubGVuZ3RoPGM7KXtyPWVbYSsrXTtsZXQgdD0xOzgmciYmKHQrPWVbYSsrXSk7Zm9yKDt0LS0gPjA7KUMucHVzaCh7ZmxhZ3M6cn0pfWZvcihpPTA7aTxjO2krKyl7c3dpdGNoKDE4JkNbaV0uZmxhZ3Mpe2Nhc2UgMDpuKz1nZXRJbnQxNihlLGEpO2ErPTI7YnJlYWs7Y2FzZSAyOm4tPWVbYSsrXTticmVhaztjYXNlIDE4Om4rPWVbYSsrXX1DW2ldLng9bn1mb3IoaT0wO2k8YztpKyspe3N3aXRjaCgzNiZDW2ldLmZsYWdzKXtjYXNlIDA6Zys9Z2V0SW50MTYoZSxhKTthKz0yO2JyZWFrO2Nhc2UgNDpnLT1lW2ErK107YnJlYWs7Y2FzZSAzNjpnKz1lW2ErK119Q1tpXS55PWd9bGV0IGg9MDtmb3IoYT0wO2E8czthKyspe2NvbnN0IGU9dFthXSxzPUMuc2xpY2UoaCxlKzEpO2lmKDEmc1swXS5mbGFncylzLnB1c2goc1swXSk7ZWxzZSBpZigxJnMuYXQoLTEpLmZsYWdzKXMudW5zaGlmdChzLmF0KC0xKSk7ZWxzZXtjb25zdCBlPXtmbGFnczoxLHg6KHNbMF0ueCtzLmF0KC0xKS54KS8yLHk6KHNbMF0ueStzLmF0KC0xKS55KS8yfTtzLnVuc2hpZnQoZSk7cy5wdXNoKGUpfW1vdmVUbyhzWzBdLngsc1swXS55KTtmb3IoaT0xLG89cy5sZW5ndGg7aTxvO2krKylpZigxJnNbaV0uZmxhZ3MpbGluZVRvKHNbaV0ueCxzW2ldLnkpO2Vsc2UgaWYoMSZzW2krMV0uZmxhZ3Mpe3F1YWRyYXRpY0N1cnZlVG8oc1tpXS54LHNbaV0ueSxzW2krMV0ueCxzW2krMV0ueSk7aSsrfWVsc2UgcXVhZHJhdGljQ3VydmVUbyhzW2ldLngsc1tpXS55LChzW2ldLngrc1tpKzFdLngpLzIsKHNbaV0ueStzW2krMV0ueSkvMik7aD1lKzF9fX1mdW5jdGlvbiBjb21waWxlQ2hhclN0cmluZyhlLHQsaSxhKXtmdW5jdGlvbiBtb3ZlVG8oZSxpKXt0LmFkZChsdCxbZSxpXSl9ZnVuY3Rpb24gbGluZVRvKGUsaSl7dC5hZGQoQnQsW2UsaV0pfWZ1bmN0aW9uIGJlemllckN1cnZlVG8oZSxpLGEscyxyLG4pe3QuYWRkKGh0LFtlLGksYSxzLHIsbl0pfWNvbnN0IHM9W107bGV0IHI9MCxuPTAsZz0wOyFmdW5jdGlvbiBwYXJzZShlKXtsZXQgbz0wO2Zvcig7bzxlLmxlbmd0aDspe2xldCBjLEMsaCxsLFEsRSx1LGQsZixwPSExLG09ZVtvKytdO3N3aXRjaChtKXtjYXNlIDE6Y2FzZSAzOmNhc2UgMTg6Y2FzZSAyMzpnKz1zLmxlbmd0aD4+MTtwPSEwO2JyZWFrO2Nhc2UgNDpuKz1zLnBvcCgpO21vdmVUbyhyLG4pO3A9ITA7YnJlYWs7Y2FzZSA1OmZvcig7cy5sZW5ndGg+MDspe3IrPXMuc2hpZnQoKTtuKz1zLnNoaWZ0KCk7bGluZVRvKHIsbil9YnJlYWs7Y2FzZSA2OmZvcig7cy5sZW5ndGg+MDspe3IrPXMuc2hpZnQoKTtsaW5lVG8ocixuKTtpZigwPT09cy5sZW5ndGgpYnJlYWs7bis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pfWJyZWFrO2Nhc2UgNzpmb3IoO3MubGVuZ3RoPjA7KXtuKz1zLnNoaWZ0KCk7bGluZVRvKHIsbik7aWYoMD09PXMubGVuZ3RoKWJyZWFrO3IrPXMuc2hpZnQoKTtsaW5lVG8ocixuKX1icmVhaztjYXNlIDg6Zm9yKDtzLmxlbmd0aD4wOyl7Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbil9YnJlYWs7Y2FzZSAxMDpkPXMucG9wKCk7Zj1udWxsO2lmKGkuaXNDRkZDSURGb250KXtjb25zdCBlPWkuZmRTZWxlY3QuZ2V0RkRJbmRleChhKTtpZihlPj0wJiZlPGkuZmRBcnJheS5sZW5ndGgpe2NvbnN0IHQ9aS5mZEFycmF5W2VdO2xldCBhO3QucHJpdmF0ZURpY3Q/LnN1YnJzSW5kZXgmJihhPXQucHJpdmF0ZURpY3Quc3VicnNJbmRleC5vYmplY3RzKTtpZihhKXtkKz1nZXRTdWJyb3V0aW5lQmlhcyhhKTtmPWFbZF19fWVsc2Ugd2FybigiSW52YWxpZCBmZCBpbmRleCBmb3IgZ2x5cGggaW5kZXguIil9ZWxzZSBmPWkuc3VicnNbZCtpLnN1YnJzQmlhc107ZiYmcGFyc2UoZik7YnJlYWs7Y2FzZSAxMTpyZXR1cm47Y2FzZSAxMjptPWVbbysrXTtzd2l0Y2gobSl7Y2FzZSAzNDpjPXIrcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7UT1uK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxuLEMsUSxyLFEpO2M9citzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxRLEMsbixyLG4pO2JyZWFrO2Nhc2UgMzU6Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7cy5wb3AoKTticmVhaztjYXNlIDM2OmM9citzLnNoaWZ0KCk7UT1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO0U9UStzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsUSxDLEUscixFKTtjPXIrcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7dT1FK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxFLEMsdSxyLG4pO2JyZWFrO2Nhc2UgMzc6Y29uc3QgZT1yLHQ9bjtjPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTtjPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QztuPWw7TWF0aC5hYnMoci1lKT5NYXRoLmFicyhuLXQpP3IrPXMuc2hpZnQoKTpuKz1zLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHVua25vd24gb3BlcmF0b3I6IDEyICR7bX1gKX1icmVhaztjYXNlIDE0OmlmKHMubGVuZ3RoPj00KXtjb25zdCBlPXMucG9wKCksYT1zLnBvcCgpO249cy5wb3AoKTtyPXMucG9wKCk7dC5hZGQodXQpO3QuYWRkKHB0LFtyLG5dKTtsZXQgZz1sb29rdXBDbWFwKGkuY21hcCxTdHJpbmcuZnJvbUNoYXJDb2RlKGkuZ2x5cGhOYW1lTWFwW21pW2VdXSkpO2NvbXBpbGVDaGFyU3RyaW5nKGkuZ2x5cGhzW2cuZ2x5cGhJZF0sdCxpLGcuZ2x5cGhJZCk7dC5hZGQoRXQpO2c9bG9va3VwQ21hcChpLmNtYXAsU3RyaW5nLmZyb21DaGFyQ29kZShpLmdseXBoTmFtZU1hcFttaVthXV0pKTtjb21waWxlQ2hhclN0cmluZyhpLmdseXBoc1tnLmdseXBoSWRdLHQsaSxnLmdseXBoSWQpfXJldHVybjtjYXNlIDE5OmNhc2UgMjA6Zys9cy5sZW5ndGg+PjE7bys9Zys3Pj4zO3A9ITA7YnJlYWs7Y2FzZSAyMTpuKz1zLnBvcCgpO3IrPXMucG9wKCk7bW92ZVRvKHIsbik7cD0hMDticmVhaztjYXNlIDIyOnIrPXMucG9wKCk7bW92ZVRvKHIsbik7cD0hMDticmVhaztjYXNlIDI0OmZvcig7cy5sZW5ndGg+Mjspe2M9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfXIrPXMuc2hpZnQoKTtuKz1zLnNoaWZ0KCk7bGluZVRvKHIsbik7YnJlYWs7Y2FzZSAyNTpmb3IoO3MubGVuZ3RoPjY7KXtyKz1zLnNoaWZ0KCk7bis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pfWM9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pO2JyZWFrO2Nhc2UgMjY6cy5sZW5ndGglMiYmKHIrPXMuc2hpZnQoKSk7Zm9yKDtzLmxlbmd0aD4wOyl7Yz1yO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QztuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfWJyZWFrO2Nhc2UgMjc6cy5sZW5ndGglMiYmKG4rPXMuc2hpZnQoKSk7Zm9yKDtzLmxlbmd0aD4wOyl7Yz1yK3Muc2hpZnQoKTtoPW47Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfWJyZWFrO2Nhc2UgMjg6cy5wdXNoKChlW29dPDwyNHxlW28rMV08PDE2KT4+MTYpO28rPTI7YnJlYWs7Y2FzZSAyOTpkPXMucG9wKCkraS5nc3VicnNCaWFzO2Y9aS5nc3VicnNbZF07ZiYmcGFyc2UoZik7YnJlYWs7Y2FzZSAzMDpmb3IoO3MubGVuZ3RoPjA7KXtjPXI7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrKDE9PT1zLmxlbmd0aD9zLnNoaWZ0KCk6MCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7aWYoMD09PXMubGVuZ3RoKWJyZWFrO2M9citzLnNoaWZ0KCk7aD1uO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO3I9QysoMT09PXMubGVuZ3RoP3Muc2hpZnQoKTowKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKX1icmVhaztjYXNlIDMxOmZvcig7cy5sZW5ndGg+MDspe2M9citzLnNoaWZ0KCk7aD1uO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO3I9QysoMT09PXMubGVuZ3RoP3Muc2hpZnQoKTowKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTtpZigwPT09cy5sZW5ndGgpYnJlYWs7Yz1yO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sKygxPT09cy5sZW5ndGg/cy5zaGlmdCgpOjApO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfWJyZWFrO2RlZmF1bHQ6aWYobTwzMil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHVua25vd24gb3BlcmF0b3I6ICR7bX1gKTtpZihtPDI0NylzLnB1c2gobS0xMzkpO2Vsc2UgaWYobTwyNTEpcy5wdXNoKDI1NioobS0yNDcpK2VbbysrXSsxMDgpO2Vsc2UgaWYobTwyNTUpcy5wdXNoKDI1NiotKG0tMjUxKS1lW28rK10tMTA4KTtlbHNle3MucHVzaCgoZVtvXTw8MjR8ZVtvKzFdPDwxNnxlW28rMl08PDh8ZVtvKzNdKS82NTUzNik7bys9NH19cCYmKHMubGVuZ3RoPTApfX0oZSl9Y29uc3QgdGE9W107Y2xhc3MgQ29tbWFuZHN7Y21kcz1bXTthZGQoZSx0KXtpZih0KWlmKGlzTnVtYmVyQXJyYXkodCxudWxsKSl0aGlzLmNtZHMucHVzaChlLC4uLnQpO2Vsc2V7d2FybihgQ29tbWFuZHMuYWRkIC0gIiR7ZX0iIGhhcyBhdCBsZWFzdCBvbmUgbm9uLW51bWJlciBhcmc6ICIke3R9Ii5gKTtjb25zdCBpPXQubWFwKChlPT4ibnVtYmVyIj09dHlwZW9mIGU/ZTowKSk7dGhpcy5jbWRzLnB1c2goZSwuLi5pKX1lbHNlIHRoaXMuY21kcy5wdXNoKGUpfX1jbGFzcyBDb21waWxlZEZvbnR7Y29uc3RydWN0b3IoZSl7dGhpcy5mb250TWF0cml4PWU7dGhpcy5jb21waWxlZEdseXBocz1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuY29tcGlsZWRDaGFyQ29kZVRvR2x5cGhJZD1PYmplY3QuY3JlYXRlKG51bGwpfWdldFBhdGhKcyhlKXtjb25zdHtjaGFyQ29kZTp0LGdseXBoSWQ6aX09bG9va3VwQ21hcCh0aGlzLmNtYXAsZSk7bGV0IGEscz10aGlzLmNvbXBpbGVkR2x5cGhzW2ldO2lmKCFzKXt0cnl7cz10aGlzLmNvbXBpbGVHbHlwaCh0aGlzLmdseXBoc1tpXSxpKX1jYXRjaChlKXtzPXRhO2E9ZX10aGlzLmNvbXBpbGVkR2x5cGhzW2ldPXN9dGhpcy5jb21waWxlZENoYXJDb2RlVG9HbHlwaElkW3RdPz89aTtpZihhKXRocm93IGE7cmV0dXJuIHN9Y29tcGlsZUdseXBoKGUsdCl7aWYoIWV8fDA9PT1lLmxlbmd0aHx8MTQ9PT1lWzBdKXJldHVybiB0YTtsZXQgaT10aGlzLmZvbnRNYXRyaXg7aWYodGhpcy5pc0NGRkNJREZvbnQpe2NvbnN0IGU9dGhpcy5mZFNlbGVjdC5nZXRGREluZGV4KHQpO2lmKGU+PTAmJmU8dGhpcy5mZEFycmF5Lmxlbmd0aCl7aT10aGlzLmZkQXJyYXlbZV0uZ2V0QnlOYW1lKCJGb250TWF0cml4Iil8fGF9ZWxzZSB3YXJuKCJJbnZhbGlkIGZkIGluZGV4IGZvciBnbHlwaCBpbmRleC4iKX1jb25zdCBzPW5ldyBDb21tYW5kcztzLmFkZCh1dCk7cy5hZGQoZnQsaS5zbGljZSgpKTtzLmFkZChkdCk7dGhpcy5jb21waWxlR2x5cGhJbXBsKGUscyx0KTtzLmFkZChFdCk7cmV0dXJuIHMuY21kc31jb21waWxlR2x5cGhJbXBsKCl7dW5yZWFjaGFibGUoIkNoaWxkcmVuIGNsYXNzZXMgc2hvdWxkIGltcGxlbWVudCB0aGlzLiIpfWhhc0J1aWx0UGF0aChlKXtjb25zdHtjaGFyQ29kZTp0LGdseXBoSWQ6aX09bG9va3VwQ21hcCh0aGlzLmNtYXAsZSk7cmV0dXJuIHZvaWQgMCE9PXRoaXMuY29tcGlsZWRHbHlwaHNbaV0mJnZvaWQgMCE9PXRoaXMuY29tcGlsZWRDaGFyQ29kZVRvR2x5cGhJZFt0XX19Y2xhc3MgVHJ1ZVR5cGVDb21waWxlZCBleHRlbmRzIENvbXBpbGVkRm9udHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaXx8WzQ4OGUtNiwwLDAsNDg4ZS02LDAsMF0pO3RoaXMuZ2x5cGhzPWU7dGhpcy5jbWFwPXR9Y29tcGlsZUdseXBoSW1wbChlLHQpe2NvbXBpbGVHbHlmKGUsdCx0aGlzKX19Y2xhc3MgVHlwZTJDb21waWxlZCBleHRlbmRzIENvbXBpbGVkRm9udHtjb25zdHJ1Y3RvcihlLHQsaSxhKXtzdXBlcihpfHxbLjAwMSwwLDAsLjAwMSwwLDBdKTt0aGlzLmdseXBocz1lLmdseXBoczt0aGlzLmdzdWJycz1lLmdzdWJyc3x8W107dGhpcy5zdWJycz1lLnN1YnJzfHxbXTt0aGlzLmNtYXA9dDt0aGlzLmdseXBoTmFtZU1hcD1hfHx4aSgpO3RoaXMuZ3N1YnJzQmlhcz1nZXRTdWJyb3V0aW5lQmlhcyh0aGlzLmdzdWJycyk7dGhpcy5zdWJyc0JpYXM9Z2V0U3Vicm91dGluZUJpYXModGhpcy5zdWJycyk7dGhpcy5pc0NGRkNJREZvbnQ9ZS5pc0NGRkNJREZvbnQ7dGhpcy5mZFNlbGVjdD1lLmZkU2VsZWN0O3RoaXMuZmRBcnJheT1lLmZkQXJyYXl9Y29tcGlsZUdseXBoSW1wbChlLHQsaSl7Y29tcGlsZUNoYXJTdHJpbmcoZSx0LHRoaXMsaSl9fWNsYXNzIEZvbnRSZW5kZXJlckZhY3Rvcnl7c3RhdGljIGNyZWF0ZShlLHQpe2NvbnN0IGk9bmV3IFVpbnQ4QXJyYXkoZS5kYXRhKTtsZXQgYSxzLHIsbixnLG87Y29uc3QgYz1nZXRVaW50MTYoaSw0KTtmb3IobGV0IGU9MCxDPTEyO2U8YztlKyssQys9MTYpe2NvbnN0IGU9Ynl0ZXNUb1N0cmluZyhpLnN1YmFycmF5KEMsQys0KSksYz1nZXRVaW50MzIoaSxDKzgpLGg9Z2V0VWludDMyKGksQysxMik7c3dpdGNoKGUpe2Nhc2UiY21hcCI6YT1wYXJzZUNtYXAoaSxjKTticmVhaztjYXNlImdseWYiOnM9aS5zdWJhcnJheShjLGMraCk7YnJlYWs7Y2FzZSJsb2NhIjpyPWkuc3ViYXJyYXkoYyxjK2gpO2JyZWFrO2Nhc2UiaGVhZCI6bz1nZXRVaW50MTYoaSxjKzE4KTtnPWdldFVpbnQxNihpLGMrNTApO2JyZWFrO2Nhc2UiQ0ZGICI6bj1wYXJzZUNmZihpLGMsYytoLHQpfX1pZihzKXtjb25zdCB0PW8/WzEvbywwLDAsMS9vLDAsMF06ZS5mb250TWF0cml4O3JldHVybiBuZXcgVHJ1ZVR5cGVDb21waWxlZChmdW5jdGlvbiBwYXJzZUdseWZUYWJsZShlLHQsaSl7bGV0IGEscztpZihpKXthPTQ7cz1nZXRVaW50MzJ9ZWxzZXthPTI7cz0oZSx0KT0+MipnZXRVaW50MTYoZSx0KX1jb25zdCByPVtdO2xldCBuPXModCwwKTtmb3IobGV0IGk9YTtpPHQubGVuZ3RoO2krPWEpe2NvbnN0IGE9cyh0LGkpO3IucHVzaChlLnN1YmFycmF5KG4sYSkpO249YX1yZXR1cm4gcn0ocyxyLGcpLGEsdCl9cmV0dXJuIG5ldyBUeXBlMkNvbXBpbGVkKG4sYSxlLmZvbnRNYXRyaXgsZS5nbHlwaE5hbWVNYXApfX1jb25zdCBpYT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQ291cmllcj02MDA7ZVsiQ291cmllci1Cb2xkIl09NjAwO2VbIkNvdXJpZXItQm9sZE9ibGlxdWUiXT02MDA7ZVsiQ291cmllci1PYmxpcXVlIl09NjAwO2UuSGVsdmV0aWNhPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5leGNsYW09Mjc4O2UucXVvdGVkYmw9MzU1O2UubnVtYmVyc2lnbj01NTY7ZS5kb2xsYXI9NTU2O2UucGVyY2VudD04ODk7ZS5hbXBlcnNhbmQ9NjY3O2UucXVvdGVyaWdodD0yMjI7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz0zODk7ZS5wbHVzPTU4NDtlLmNvbW1hPTI3ODtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9Mjc4O2Uuc2xhc2g9Mjc4O2UuemVybz01NTY7ZS5vbmU9NTU2O2UudHdvPTU1NjtlLnRocmVlPTU1NjtlLmZvdXI9NTU2O2UuZml2ZT01NTY7ZS5zaXg9NTU2O2Uuc2V2ZW49NTU2O2UuZWlnaHQ9NTU2O2UubmluZT01NTY7ZS5jb2xvbj0yNzg7ZS5zZW1pY29sb249Mjc4O2UubGVzcz01ODQ7ZS5lcXVhbD01ODQ7ZS5ncmVhdGVyPTU4NDtlLnF1ZXN0aW9uPTU1NjtlLmF0PTEwMTU7ZS5BPTY2NztlLkI9NjY3O2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9NzIyO2UuST0yNzg7ZS5KPTUwMDtlLks9NjY3O2UuTD01NTY7ZS5NPTgzMztlLk49NzIyO2UuTz03Nzg7ZS5QPTY2NztlLlE9Nzc4O2UuUj03MjI7ZS5TPTY2NztlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9OTQ0O2UuWD02Njc7ZS5ZPTY2NztlLlo9NjExO2UuYnJhY2tldGxlZnQ9Mjc4O2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0yNzg7ZS5hc2NpaWNpcmN1bT00Njk7ZS51bmRlcnNjb3JlPTU1NjtlLnF1b3RlbGVmdD0yMjI7ZS5hPTU1NjtlLmI9NTU2O2UuYz01MDA7ZS5kPTU1NjtlLmU9NTU2O2UuZj0yNzg7ZS5nPTU1NjtlLmg9NTU2O2UuaT0yMjI7ZS5qPTIyMjtlLms9NTAwO2UubD0yMjI7ZS5tPTgzMztlLm49NTU2O2Uubz01NTY7ZS5wPTU1NjtlLnE9NTU2O2Uucj0zMzM7ZS5zPTUwMDtlLnQ9Mjc4O2UudT01NTY7ZS52PTUwMDtlLnc9NzIyO2UueD01MDA7ZS55PTUwMDtlLno9NTAwO2UuYnJhY2VsZWZ0PTMzNDtlLmJhcj0yNjA7ZS5icmFjZXJpZ2h0PTMzNDtlLmFzY2lpdGlsZGU9NTg0O2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTU1NjtlLnN0ZXJsaW5nPTU1NjtlLmZyYWN0aW9uPTE2NztlLnllbj01NTY7ZS5mbG9yaW49NTU2O2Uuc2VjdGlvbj01NTY7ZS5jdXJyZW5jeT01NTY7ZS5xdW90ZXNpbmdsZT0xOTE7ZS5xdW90ZWRibGxlZnQ9MzMzO2UuZ3VpbGxlbW90bGVmdD01NTY7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTUwMDtlLmZsPTUwMDtlLmVuZGFzaD01NTY7ZS5kYWdnZXI9NTU2O2UuZGFnZ2VyZGJsPTU1NjtlLnBlcmlvZGNlbnRlcmVkPTI3ODtlLnBhcmFncmFwaD01Mzc7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MjIyO2UucXVvdGVkYmxiYXNlPTMzMztlLnF1b3RlZGJscmlnaHQ9MzMzO2UuZ3VpbGxlbW90cmlnaHQ9NTU2O2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTYxMTtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzcwO2UuTHNsYXNoPTU1NjtlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzY1O2UuYWU9ODg5O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTIyMjtlLm9zbGFzaD02MTE7ZS5vZT05NDQ7ZS5nZXJtYW5kYmxzPTYxMTtlLklkaWVyZXNpcz0yNzg7ZS5lYWN1dGU9NTU2O2UuYWJyZXZlPTU1NjtlLnVodW5nYXJ1bWxhdXQ9NTU2O2UuZWNhcm9uPTU1NjtlLllkaWVyZXNpcz02Njc7ZS5kaXZpZGU9NTg0O2UuWWFjdXRlPTY2NztlLkFjaXJjdW1mbGV4PTY2NztlLmFhY3V0ZT01NTY7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTAwO2Uuc2NvbW1hYWNjZW50PTUwMDtlLmVjaXJjdW1mbGV4PTU1NjtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTU1NjtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTU1NjtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTczNztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTUwMDtlLmFyaW5nPTU1NjtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9MjIyO2UuYWdyYXZlPTU1NjtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTU1NjtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTUwMDtlLnNjZWRpbGxhPTUwMDtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ3MTtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NTU2O2UuYWNpcmN1bWZsZXg9NTU2O2UuQW1hY3Jvbj02Njc7ZS5yY2Fyb249MzMzO2UuY2NlZGlsbGE9NTAwO2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02Njc7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NjY3O2UuZGNhcm9uPTY0MztlLlVtYWNyb249NzIyO2UudXJpbmc9NTU2O2UudGhyZWVzdXBlcmlvcj0zMzM7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTY2NztlLkFicmV2ZT02Njc7ZS5tdWx0aXBseT01ODQ7ZS51YWN1dGU9NTU2O2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ3NjtlLnlkaWVyZXNpcz01MDA7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTU1NjtlLmVkaWVyZXNpcz01NTY7ZS5jYWN1dGU9NTAwO2UubmFjdXRlPTU1NjtlLnVtYWNyb249NTU2O2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0yNzg7ZS5wbHVzbWludXM9NTg0O2UuYnJva2VuYmFyPTI2MDtlLnJlZ2lzdGVyZWQ9NzM3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mjc4O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9MzMzO2Uub21hY3Jvbj01NTY7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTIyMjtlLnRjYXJvbj0zMTc7ZS5lb2dvbmVrPTU1NjtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTY2NztlLkFkaWVyZXNpcz02Njc7ZS5lZ3JhdmU9NTU2O2UuemFjdXRlPTUwMDtlLmlvZ29uZWs9MjIyO2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT01NTY7ZS5hbWFjcm9uPTU1NjtlLnNhY3V0ZT01MDA7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTU1NjtlLnR3b3N1cGVyaW9yPTMzMztlLk9kaWVyZXNpcz03Nzg7ZS5tdT01NTY7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01NTY7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD01NTY7ZS50aHJlZXF1YXJ0ZXJzPTgzNDtlLlNjZWRpbGxhPTY2NztlLmxjYXJvbj0yOTk7ZS5LY29tbWFhY2NlbnQ9NjY3O2UuTGFjdXRlPTU1NjtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTU1NjtlLklncmF2ZT0yNzg7ZS5JbWFjcm9uPTI3ODtlLkxjYXJvbj01NTY7ZS5vbmVoYWxmPTgzNDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01NTY7ZS5udGlsZGU9NTU2O2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj01NTY7ZS5nYnJldmU9NTU2O2Uub25lcXVhcnRlcj04MzQ7ZS5TY2Fyb249NjY3O2UuU2NvbW1hYWNjZW50PTY2NztlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01NTY7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTU1NjtlLnJhZGljYWw9NDUzO2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zMzM7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTU1NjtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NTU2O2UuQXRpbGRlPTY2NztlLkFvZ29uZWs9NjY3O2UuQXJpbmc9NjY3O2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NTAwO2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mjc4O2Uua2NvbW1hYWNjZW50PTUwMDtlLm1pbnVzPTU4NDtlLkljaXJjdW1mbGV4PTI3ODtlLm5jYXJvbj01NTY7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD01ODQ7ZS5vZGllcmVzaXM9NTU2O2UudWRpZXJlc2lzPTU1NjtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01NTY7ZS5ldGg9NTU2O2UuemNhcm9uPTUwMDtlLm5jb21tYWFjY2VudD01NTY7ZS5vbmVzdXBlcmlvcj0zMzM7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTU2fSkpO2VbIkhlbHZldGljYS1Cb2xkIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD00NzQ7ZS5udW1iZXJzaWduPTU1NjtlLmRvbGxhcj01NTY7ZS5wZXJjZW50PTg4OTtlLmFtcGVyc2FuZD03MjI7ZS5xdW90ZXJpZ2h0PTI3ODtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTM4OTtlLnBsdXM9NTg0O2UuY29tbWE9Mjc4O2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNzg7ZS5zbGFzaD0yNzg7ZS56ZXJvPTU1NjtlLm9uZT01NTY7ZS50d289NTU2O2UudGhyZWU9NTU2O2UuZm91cj01NTY7ZS5maXZlPTU1NjtlLnNpeD01NTY7ZS5zZXZlbj01NTY7ZS5laWdodD01NTY7ZS5uaW5lPTU1NjtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU4NDtlLmVxdWFsPTU4NDtlLmdyZWF0ZXI9NTg0O2UucXVlc3Rpb249NjExO2UuYXQ9OTc1O2UuQT03MjI7ZS5CPTcyMjtlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTcyMjtlLkk9Mjc4O2UuSj01NTY7ZS5LPTcyMjtlLkw9NjExO2UuTT04MzM7ZS5OPTcyMjtlLk89Nzc4O2UuUD02Njc7ZS5RPTc3ODtlLlI9NzIyO2UuUz02Njc7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTk0NDtlLlg9NjY3O2UuWT02Njc7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTg0O2UudW5kZXJzY29yZT01NTY7ZS5xdW90ZWxlZnQ9Mjc4O2UuYT01NTY7ZS5iPTYxMTtlLmM9NTU2O2UuZD02MTE7ZS5lPTU1NjtlLmY9MzMzO2UuZz02MTE7ZS5oPTYxMTtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTU1NjtlLmw9Mjc4O2UubT04ODk7ZS5uPTYxMTtlLm89NjExO2UucD02MTE7ZS5xPTYxMTtlLnI9Mzg5O2Uucz01NTY7ZS50PTMzMztlLnU9NjExO2Uudj01NTY7ZS53PTc3ODtlLng9NTU2O2UueT01NTY7ZS56PTUwMDtlLmJyYWNlbGVmdD0zODk7ZS5iYXI9MjgwO2UuYnJhY2VyaWdodD0zODk7ZS5hc2NpaXRpbGRlPTU4NDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01NTY7ZS5zdGVybGluZz01NTY7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTU2O2UuZmxvcmluPTU1NjtlLnNlY3Rpb249NTU2O2UuY3VycmVuY3k9NTU2O2UucXVvdGVzaW5nbGU9MjM4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTU2O2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT02MTE7ZS5mbD02MTE7ZS5lbmRhc2g9NTU2O2UuZGFnZ2VyPTU1NjtlLmRhZ2dlcmRibD01NTY7ZS5wZXJpb2RjZW50ZXJlZD0yNzg7ZS5wYXJhZ3JhcGg9NTU2O2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTI3ODtlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTU1NjtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj02MTE7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTM3MDtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTM2NTtlLmFlPTg4OTtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NjExO2Uub2U9OTQ0O2UuZ2VybWFuZGJscz02MTE7ZS5JZGllcmVzaXM9Mjc4O2UuZWFjdXRlPTU1NjtlLmFicmV2ZT01NTY7ZS51aHVuZ2FydW1sYXV0PTYxMTtlLmVjYXJvbj01NTY7ZS5ZZGllcmVzaXM9NjY3O2UuZGl2aWRlPTU4NDtlLllhY3V0ZT02Njc7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NTU2O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTU1NjtlLnNjb21tYWFjY2VudD01NTY7ZS5lY2lyY3VtZmxleD01NTY7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01NTY7ZS5VYWN1dGU9NzIyO2UudW9nb25laz02MTE7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03Mzc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj01NTY7ZS5hcmluZz01NTY7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01NTY7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01NTY7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj01NTY7ZS5zY2VkaWxsYT01NTY7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTYxMTtlLmFjaXJjdW1mbGV4PTU1NjtlLkFtYWNyb249NzIyO2UucmNhcm9uPTM4OTtlLmNjZWRpbGxhPTU1NjtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjY3O2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTY2NztlLmRjYXJvbj03NDM7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTYxMTtlLnRocmVlc3VwZXJpb3I9MzMzO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTg0O2UudWFjdXRlPTYxMTtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NTU2O2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01NTY7ZS5lZGllcmVzaXM9NTU2O2UuY2FjdXRlPTU1NjtlLm5hY3V0ZT02MTE7ZS51bWFjcm9uPTYxMTtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mjc4O2UucGx1c21pbnVzPTU4NDtlLmJyb2tlbmJhcj0yODA7ZS5yZWdpc3RlcmVkPTczNztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTI3ODtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTM4OTtlLm9tYWNyb249NjExO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249Mzg5O2UuZW9nb25laz01NTY7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTU1NjtlLnphY3V0ZT01MDA7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NjExO2UuYW1hY3Jvbj01NTY7ZS5zYWN1dGU9NTU2O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj02MTE7ZS50d29zdXBlcmlvcj0zMzM7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NjExO2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NjExO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NjExO2UudGhyZWVxdWFydGVycz04MzQ7ZS5TY2VkaWxsYT02Njc7ZS5sY2Fyb249NDAwO2UuS2NvbW1hYWNjZW50PTcyMjtlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD01NTY7ZS5JZ3JhdmU9Mjc4O2UuSW1hY3Jvbj0yNzg7ZS5MY2Fyb249NjExO2Uub25laGFsZj04MzQ7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NjExO2UubnRpbGRlPTYxMTtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NTU2O2UuZ2JyZXZlPTYxMTtlLm9uZXF1YXJ0ZXI9ODM0O2UuU2Nhcm9uPTY2NztlLlNjb21tYWFjY2VudD02Njc7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NjExO2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT02MTE7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9Mzg5O2UuTnRpbGRlPTcyMjtlLm90aWxkZT02MTE7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTUwMDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTI3ODtlLmtjb21tYWFjY2VudD01NTY7ZS5taW51cz01ODQ7ZS5JY2lyY3VtZmxleD0yNzg7ZS5uY2Fyb249NjExO2UudGNvbW1hYWNjZW50PTMzMztlLmxvZ2ljYWxub3Q9NTg0O2Uub2RpZXJlc2lzPTYxMTtlLnVkaWVyZXNpcz02MTE7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NjExO2UuZXRoPTYxMTtlLnpjYXJvbj01MDA7ZS5uY29tbWFhY2NlbnQ9NjExO2Uub25lc3VwZXJpb3I9MzMzO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTU1Nn0pKTtlWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9Mjc4O2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTQ3NDtlLm51bWJlcnNpZ249NTU2O2UuZG9sbGFyPTU1NjtlLnBlcmNlbnQ9ODg5O2UuYW1wZXJzYW5kPTcyMjtlLnF1b3RlcmlnaHQ9Mjc4O2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9Mzg5O2UucGx1cz01ODQ7ZS5jb21tYT0yNzg7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI3ODtlLnNsYXNoPTI3ODtlLnplcm89NTU2O2Uub25lPTU1NjtlLnR3bz01NTY7ZS50aHJlZT01NTY7ZS5mb3VyPTU1NjtlLmZpdmU9NTU2O2Uuc2l4PTU1NjtlLnNldmVuPTU1NjtlLmVpZ2h0PTU1NjtlLm5pbmU9NTU2O2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9NTg0O2UuZXF1YWw9NTg0O2UuZ3JlYXRlcj01ODQ7ZS5xdWVzdGlvbj02MTE7ZS5hdD05NzU7ZS5BPTcyMjtlLkI9NzIyO2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9NzIyO2UuST0yNzg7ZS5KPTU1NjtlLks9NzIyO2UuTD02MTE7ZS5NPTgzMztlLk49NzIyO2UuTz03Nzg7ZS5QPTY2NztlLlE9Nzc4O2UuUj03MjI7ZS5TPTY2NztlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9OTQ0O2UuWD02Njc7ZS5ZPTY2NztlLlo9NjExO2UuYnJhY2tldGxlZnQ9MzMzO2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zMzM7ZS5hc2NpaWNpcmN1bT01ODQ7ZS51bmRlcnNjb3JlPTU1NjtlLnF1b3RlbGVmdD0yNzg7ZS5hPTU1NjtlLmI9NjExO2UuYz01NTY7ZS5kPTYxMTtlLmU9NTU2O2UuZj0zMzM7ZS5nPTYxMTtlLmg9NjExO2UuaT0yNzg7ZS5qPTI3ODtlLms9NTU2O2UubD0yNzg7ZS5tPTg4OTtlLm49NjExO2Uubz02MTE7ZS5wPTYxMTtlLnE9NjExO2Uucj0zODk7ZS5zPTU1NjtlLnQ9MzMzO2UudT02MTE7ZS52PTU1NjtlLnc9Nzc4O2UueD01NTY7ZS55PTU1NjtlLno9NTAwO2UuYnJhY2VsZWZ0PTM4OTtlLmJhcj0yODA7ZS5icmFjZXJpZ2h0PTM4OTtlLmFzY2lpdGlsZGU9NTg0O2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTU1NjtlLnN0ZXJsaW5nPTU1NjtlLmZyYWN0aW9uPTE2NztlLnllbj01NTY7ZS5mbG9yaW49NTU2O2Uuc2VjdGlvbj01NTY7ZS5jdXJyZW5jeT01NTY7ZS5xdW90ZXNpbmdsZT0yMzg7ZS5xdW90ZWRibGxlZnQ9NTAwO2UuZ3VpbGxlbW90bGVmdD01NTY7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTYxMTtlLmZsPTYxMTtlLmVuZGFzaD01NTY7ZS5kYWdnZXI9NTU2O2UuZGFnZ2VyZGJsPTU1NjtlLnBlcmlvZGNlbnRlcmVkPTI3ODtlLnBhcmFncmFwaD01NTY7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9Mjc4O2UucXVvdGVkYmxiYXNlPTUwMDtlLnF1b3RlZGJscmlnaHQ9NTAwO2UuZ3VpbGxlbW90cmlnaHQ9NTU2O2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTYxMTtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzcwO2UuTHNsYXNoPTYxMTtlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzY1O2UuYWU9ODg5O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD02MTE7ZS5vZT05NDQ7ZS5nZXJtYW5kYmxzPTYxMTtlLklkaWVyZXNpcz0yNzg7ZS5lYWN1dGU9NTU2O2UuYWJyZXZlPTU1NjtlLnVodW5nYXJ1bWxhdXQ9NjExO2UuZWNhcm9uPTU1NjtlLllkaWVyZXNpcz02Njc7ZS5kaXZpZGU9NTg0O2UuWWFjdXRlPTY2NztlLkFjaXJjdW1mbGV4PTcyMjtlLmFhY3V0ZT01NTY7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTU2O2Uuc2NvbW1hYWNjZW50PTU1NjtlLmVjaXJjdW1mbGV4PTU1NjtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTU1NjtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTYxMTtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTczNztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTU1NjtlLmFyaW5nPTU1NjtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTU1NjtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTU1NjtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTU1NjtlLnNjZWRpbGxhPTU1NjtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ5NDtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NjExO2UuYWNpcmN1bWZsZXg9NTU2O2UuQW1hY3Jvbj03MjI7ZS5yY2Fyb249Mzg5O2UuY2NlZGlsbGE9NTU2O2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02Njc7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NjY3O2UuZGNhcm9uPTc0MztlLlVtYWNyb249NzIyO2UudXJpbmc9NjExO2UudGhyZWVzdXBlcmlvcj0zMzM7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTcyMjtlLkFicmV2ZT03MjI7ZS5tdWx0aXBseT01ODQ7ZS51YWN1dGU9NjExO2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ5NDtlLnlkaWVyZXNpcz01NTY7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTU1NjtlLmVkaWVyZXNpcz01NTY7ZS5jYWN1dGU9NTU2O2UubmFjdXRlPTYxMTtlLnVtYWNyb249NjExO2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0yNzg7ZS5wbHVzbWludXM9NTg0O2UuYnJva2VuYmFyPTI4MDtlLnJlZ2lzdGVyZWQ9NzM3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mjc4O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9Mzg5O2Uub21hY3Jvbj02MTE7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zODk7ZS5lb2dvbmVrPTU1NjtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTcyMjtlLkFkaWVyZXNpcz03MjI7ZS5lZ3JhdmU9NTU2O2UuemFjdXRlPTUwMDtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT02MTE7ZS5hbWFjcm9uPTU1NjtlLnNhY3V0ZT01NTY7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTYxMTtlLnR3b3N1cGVyaW9yPTMzMztlLk9kaWVyZXNpcz03Nzg7ZS5tdT02MTE7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD02MTE7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD02MTE7ZS50aHJlZXF1YXJ0ZXJzPTgzNDtlLlNjZWRpbGxhPTY2NztlLmxjYXJvbj00MDA7ZS5LY29tbWFhY2NlbnQ9NzIyO2UuTGFjdXRlPTYxMTtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTU1NjtlLklncmF2ZT0yNzg7ZS5JbWFjcm9uPTI3ODtlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTgzNDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD02MTE7ZS5udGlsZGU9NjExO2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj01NTY7ZS5nYnJldmU9NjExO2Uub25lcXVhcnRlcj04MzQ7ZS5TY2Fyb249NjY3O2UuU2NvbW1hYWNjZW50PTY2NztlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT02MTE7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTYxMTtlLnJhZGljYWw9NTQ5O2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zODk7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTYxMTtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NjExO2UuQXRpbGRlPTcyMjtlLkFvZ29uZWs9NzIyO2UuQXJpbmc9NzIyO2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NTAwO2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mjc4O2Uua2NvbW1hYWNjZW50PTU1NjtlLm1pbnVzPTU4NDtlLkljaXJjdW1mbGV4PTI3ODtlLm5jYXJvbj02MTE7ZS50Y29tbWFhY2NlbnQ9MzMzO2UubG9naWNhbG5vdD01ODQ7ZS5vZGllcmVzaXM9NjExO2UudWRpZXJlc2lzPTYxMTtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD02MTE7ZS5ldGg9NjExO2UuemNhcm9uPTUwMDtlLm5jb21tYWFjY2VudD02MTE7ZS5vbmVzdXBlcmlvcj0zMzM7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTU2fSkpO2VbIkhlbHZldGljYS1PYmxpcXVlIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmV4Y2xhbT0yNzg7ZS5xdW90ZWRibD0zNTU7ZS5udW1iZXJzaWduPTU1NjtlLmRvbGxhcj01NTY7ZS5wZXJjZW50PTg4OTtlLmFtcGVyc2FuZD02Njc7ZS5xdW90ZXJpZ2h0PTIyMjtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTM4OTtlLnBsdXM9NTg0O2UuY29tbWE9Mjc4O2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNzg7ZS5zbGFzaD0yNzg7ZS56ZXJvPTU1NjtlLm9uZT01NTY7ZS50d289NTU2O2UudGhyZWU9NTU2O2UuZm91cj01NTY7ZS5maXZlPTU1NjtlLnNpeD01NTY7ZS5zZXZlbj01NTY7ZS5laWdodD01NTY7ZS5uaW5lPTU1NjtlLmNvbG9uPTI3ODtlLnNlbWljb2xvbj0yNzg7ZS5sZXNzPTU4NDtlLmVxdWFsPTU4NDtlLmdyZWF0ZXI9NTg0O2UucXVlc3Rpb249NTU2O2UuYXQ9MTAxNTtlLkE9NjY3O2UuQj02Njc7ZS5DPTcyMjtlLkQ9NzIyO2UuRT02Njc7ZS5GPTYxMTtlLkc9Nzc4O2UuSD03MjI7ZS5JPTI3ODtlLko9NTAwO2UuSz02Njc7ZS5MPTU1NjtlLk09ODMzO2UuTj03MjI7ZS5PPTc3ODtlLlA9NjY3O2UuUT03Nzg7ZS5SPTcyMjtlLlM9NjY3O2UuVD02MTE7ZS5VPTcyMjtlLlY9NjY3O2UuVz05NDQ7ZS5YPTY2NztlLlk9NjY3O2UuWj02MTE7ZS5icmFja2V0bGVmdD0yNzg7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTI3ODtlLmFzY2lpY2lyY3VtPTQ2OTtlLnVuZGVyc2NvcmU9NTU2O2UucXVvdGVsZWZ0PTIyMjtlLmE9NTU2O2UuYj01NTY7ZS5jPTUwMDtlLmQ9NTU2O2UuZT01NTY7ZS5mPTI3ODtlLmc9NTU2O2UuaD01NTY7ZS5pPTIyMjtlLmo9MjIyO2Uuaz01MDA7ZS5sPTIyMjtlLm09ODMzO2Uubj01NTY7ZS5vPTU1NjtlLnA9NTU2O2UucT01NTY7ZS5yPTMzMztlLnM9NTAwO2UudD0yNzg7ZS51PTU1NjtlLnY9NTAwO2Uudz03MjI7ZS54PTUwMDtlLnk9NTAwO2Uuej01MDA7ZS5icmFjZWxlZnQ9MzM0O2UuYmFyPTI2MDtlLmJyYWNlcmlnaHQ9MzM0O2UuYXNjaWl0aWxkZT01ODQ7ZS5leGNsYW1kb3duPTMzMztlLmNlbnQ9NTU2O2Uuc3Rlcmxpbmc9NTU2O2UuZnJhY3Rpb249MTY3O2UueWVuPTU1NjtlLmZsb3Jpbj01NTY7ZS5zZWN0aW9uPTU1NjtlLmN1cnJlbmN5PTU1NjtlLnF1b3Rlc2luZ2xlPTE5MTtlLnF1b3RlZGJsbGVmdD0zMzM7ZS5ndWlsbGVtb3RsZWZ0PTU1NjtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NTAwO2UuZmw9NTAwO2UuZW5kYXNoPTU1NjtlLmRhZ2dlcj01NTY7ZS5kYWdnZXJkYmw9NTU2O2UucGVyaW9kY2VudGVyZWQ9Mjc4O2UucGFyYWdyYXBoPTUzNztlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0yMjI7ZS5xdW90ZWRibGJhc2U9MzMzO2UucXVvdGVkYmxyaWdodD0zMzM7ZS5ndWlsbGVtb3RyaWdodD01NTY7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NjExO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT0xZTM7ZS5vcmRmZW1pbmluZT0zNzA7ZS5Mc2xhc2g9NTU2O2UuT3NsYXNoPTc3ODtlLk9FPTFlMztlLm9yZG1hc2N1bGluZT0zNjU7ZS5hZT04ODk7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9MjIyO2Uub3NsYXNoPTYxMTtlLm9lPTk0NDtlLmdlcm1hbmRibHM9NjExO2UuSWRpZXJlc2lzPTI3ODtlLmVhY3V0ZT01NTY7ZS5hYnJldmU9NTU2O2UudWh1bmdhcnVtbGF1dD01NTY7ZS5lY2Fyb249NTU2O2UuWWRpZXJlc2lzPTY2NztlLmRpdmlkZT01ODQ7ZS5ZYWN1dGU9NjY3O2UuQWNpcmN1bWZsZXg9NjY3O2UuYWFjdXRlPTU1NjtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT01MDA7ZS5zY29tbWFhY2NlbnQ9NTAwO2UuZWNpcmN1bWZsZXg9NTU2O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTU2O2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NTU2O2UuRWRpZXJlc2lzPTY2NztlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzM3O2UuRW1hY3Jvbj02Njc7ZS5jY2Fyb249NTAwO2UuYXJpbmc9NTU2O2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yMjI7ZS5hZ3JhdmU9NTU2O2UuVGNvbW1hYWNjZW50PTYxMTtlLkNhY3V0ZT03MjI7ZS5hdGlsZGU9NTU2O2UuRWRvdGFjY2VudD02Njc7ZS5zY2Fyb249NTAwO2Uuc2NlZGlsbGE9NTAwO2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDcxO2UuUmNhcm9uPTcyMjtlLkdjb21tYWFjY2VudD03Nzg7ZS51Y2lyY3VtZmxleD01NTY7ZS5hY2lyY3VtZmxleD01NTY7ZS5BbWFjcm9uPTY2NztlLnJjYXJvbj0zMzM7ZS5jY2VkaWxsYT01MDA7ZS5aZG90YWNjZW50PTYxMTtlLlRob3JuPTY2NztlLk9tYWNyb249Nzc4O2UuUmFjdXRlPTcyMjtlLlNhY3V0ZT02Njc7ZS5kY2Fyb249NjQzO2UuVW1hY3Jvbj03MjI7ZS51cmluZz01NTY7ZS50aHJlZXN1cGVyaW9yPTMzMztlLk9ncmF2ZT03Nzg7ZS5BZ3JhdmU9NjY3O2UuQWJyZXZlPTY2NztlLm11bHRpcGx5PTU4NDtlLnVhY3V0ZT01NTY7ZS5UY2Fyb249NjExO2UucGFydGlhbGRpZmY9NDc2O2UueWRpZXJlc2lzPTUwMDtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02Njc7ZS5hZGllcmVzaXM9NTU2O2UuZWRpZXJlc2lzPTU1NjtlLmNhY3V0ZT01MDA7ZS5uYWN1dGU9NTU2O2UudW1hY3Jvbj01NTY7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTI3ODtlLnBsdXNtaW51cz01ODQ7ZS5icm9rZW5iYXI9MjYwO2UucmVnaXN0ZXJlZD03Mzc7ZS5HYnJldmU9Nzc4O2UuSWRvdGFjY2VudD0yNzg7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTY2NztlLnJhY3V0ZT0zMzM7ZS5vbWFjcm9uPTU1NjtlLlphY3V0ZT02MTE7ZS5aY2Fyb249NjExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT03MjI7ZS5sY29tbWFhY2NlbnQ9MjIyO2UudGNhcm9uPTMxNztlLmVvZ29uZWs9NTU2O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NjY3O2UuQWRpZXJlc2lzPTY2NztlLmVncmF2ZT01NTY7ZS56YWN1dGU9NTAwO2UuaW9nb25laz0yMjI7ZS5PYWN1dGU9Nzc4O2Uub2FjdXRlPTU1NjtlLmFtYWNyb249NTU2O2Uuc2FjdXRlPTUwMDtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03Nzg7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NTU2O2UudHdvc3VwZXJpb3I9MzMzO2UuT2RpZXJlc2lzPTc3ODtlLm11PTU1NjtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTU1NjtlLkVvZ29uZWs9NjY3O2UuZGNyb2F0PTU1NjtlLnRocmVlcXVhcnRlcnM9ODM0O2UuU2NlZGlsbGE9NjY3O2UubGNhcm9uPTI5OTtlLktjb21tYWFjY2VudD02Njc7ZS5MYWN1dGU9NTU2O2UudHJhZGVtYXJrPTFlMztlLmVkb3RhY2NlbnQ9NTU2O2UuSWdyYXZlPTI3ODtlLkltYWNyb249Mjc4O2UuTGNhcm9uPTU1NjtlLm9uZWhhbGY9ODM0O2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTU1NjtlLm50aWxkZT01NTY7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02Njc7ZS5lbWFjcm9uPTU1NjtlLmdicmV2ZT01NTY7ZS5vbmVxdWFydGVyPTgzNDtlLlNjYXJvbj02Njc7ZS5TY29tbWFhY2NlbnQ9NjY3O2UuT2h1bmdhcnVtbGF1dD03Nzg7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTU1NjtlLkNjYXJvbj03MjI7ZS51Z3JhdmU9NTU2O2UucmFkaWNhbD00NTM7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTMzMztlLk50aWxkZT03MjI7ZS5vdGlsZGU9NTU2O2UuUmNvbW1hYWNjZW50PTcyMjtlLkxjb21tYWFjY2VudD01NTY7ZS5BdGlsZGU9NjY3O2UuQW9nb25laz02Njc7ZS5BcmluZz02Njc7ZS5PdGlsZGU9Nzc4O2UuemRvdGFjY2VudD01MDA7ZS5FY2Fyb249NjY3O2UuSW9nb25laz0yNzg7ZS5rY29tbWFhY2NlbnQ9NTAwO2UubWludXM9NTg0O2UuSWNpcmN1bWZsZXg9Mjc4O2UubmNhcm9uPTU1NjtlLnRjb21tYWFjY2VudD0yNzg7ZS5sb2dpY2Fsbm90PTU4NDtlLm9kaWVyZXNpcz01NTY7ZS51ZGllcmVzaXM9NTU2O2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTU1NjtlLmV0aD01NTY7ZS56Y2Fyb249NTAwO2UubmNvbW1hYWNjZW50PTU1NjtlLm9uZXN1cGVyaW9yPTMzMztlLmltYWNyb249Mjc4O2UuRXVybz01NTZ9KSk7ZS5TeW1ib2w9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS51bml2ZXJzYWw9NzEzO2UubnVtYmVyc2lnbj01MDA7ZS5leGlzdGVudGlhbD01NDk7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5zdWNodGhhdD00Mzk7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlza21hdGg9NTAwO2UucGx1cz01NDk7ZS5jb21tYT0yNTA7ZS5taW51cz01NDk7ZS5wZXJpb2Q9MjUwO2Uuc2xhc2g9Mjc4O2UuemVybz01MDA7ZS5vbmU9NTAwO2UudHdvPTUwMDtlLnRocmVlPTUwMDtlLmZvdXI9NTAwO2UuZml2ZT01MDA7ZS5zaXg9NTAwO2Uuc2V2ZW49NTAwO2UuZWlnaHQ9NTAwO2UubmluZT01MDA7ZS5jb2xvbj0yNzg7ZS5zZW1pY29sb249Mjc4O2UubGVzcz01NDk7ZS5lcXVhbD01NDk7ZS5ncmVhdGVyPTU0OTtlLnF1ZXN0aW9uPTQ0NDtlLmNvbmdydWVudD01NDk7ZS5BbHBoYT03MjI7ZS5CZXRhPTY2NztlLkNoaT03MjI7ZS5EZWx0YT02MTI7ZS5FcHNpbG9uPTYxMTtlLlBoaT03NjM7ZS5HYW1tYT02MDM7ZS5FdGE9NzIyO2UuSW90YT0zMzM7ZS50aGV0YTE9NjMxO2UuS2FwcGE9NzIyO2UuTGFtYmRhPTY4NjtlLk11PTg4OTtlLk51PTcyMjtlLk9taWNyb249NzIyO2UuUGk9NzY4O2UuVGhldGE9NzQxO2UuUmhvPTU1NjtlLlNpZ21hPTU5MjtlLlRhdT02MTE7ZS5VcHNpbG9uPTY5MDtlLnNpZ21hMT00Mzk7ZS5PbWVnYT03Njg7ZS5YaT02NDU7ZS5Qc2k9Nzk1O2UuWmV0YT02MTE7ZS5icmFja2V0bGVmdD0zMzM7ZS50aGVyZWZvcmU9ODYzO2UuYnJhY2tldHJpZ2h0PTMzMztlLnBlcnBlbmRpY3VsYXI9NjU4O2UudW5kZXJzY29yZT01MDA7ZS5yYWRpY2FsZXg9NTAwO2UuYWxwaGE9NjMxO2UuYmV0YT01NDk7ZS5jaGk9NTQ5O2UuZGVsdGE9NDk0O2UuZXBzaWxvbj00Mzk7ZS5waGk9NTIxO2UuZ2FtbWE9NDExO2UuZXRhPTYwMztlLmlvdGE9MzI5O2UucGhpMT02MDM7ZS5rYXBwYT01NDk7ZS5sYW1iZGE9NTQ5O2UubXU9NTc2O2UubnU9NTIxO2Uub21pY3Jvbj01NDk7ZS5waT01NDk7ZS50aGV0YT01MjE7ZS5yaG89NTQ5O2Uuc2lnbWE9NjAzO2UudGF1PTQzOTtlLnVwc2lsb249NTc2O2Uub21lZ2ExPTcxMztlLm9tZWdhPTY4NjtlLnhpPTQ5MztlLnBzaT02ODY7ZS56ZXRhPTQ5NDtlLmJyYWNlbGVmdD00ODA7ZS5iYXI9MjAwO2UuYnJhY2VyaWdodD00ODA7ZS5zaW1pbGFyPTU0OTtlLkV1cm89NzUwO2UuVXBzaWxvbjE9NjIwO2UubWludXRlPTI0NztlLmxlc3NlcXVhbD01NDk7ZS5mcmFjdGlvbj0xNjc7ZS5pbmZpbml0eT03MTM7ZS5mbG9yaW49NTAwO2UuY2x1Yj03NTM7ZS5kaWFtb25kPTc1MztlLmhlYXJ0PTc1MztlLnNwYWRlPTc1MztlLmFycm93Ym90aD0xMDQyO2UuYXJyb3dsZWZ0PTk4NztlLmFycm93dXA9NjAzO2UuYXJyb3dyaWdodD05ODc7ZS5hcnJvd2Rvd249NjAzO2UuZGVncmVlPTQwMDtlLnBsdXNtaW51cz01NDk7ZS5zZWNvbmQ9NDExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLm11bHRpcGx5PTU0OTtlLnByb3BvcnRpb25hbD03MTM7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS5idWxsZXQ9NDYwO2UuZGl2aWRlPTU0OTtlLm5vdGVxdWFsPTU0OTtlLmVxdWl2YWxlbmNlPTU0OTtlLmFwcHJveGVxdWFsPTU0OTtlLmVsbGlwc2lzPTFlMztlLmFycm93dmVydGV4PTYwMztlLmFycm93aG9yaXpleD0xZTM7ZS5jYXJyaWFnZXJldHVybj02NTg7ZS5hbGVwaD04MjM7ZS5JZnJha3R1cj02ODY7ZS5SZnJha3R1cj03OTU7ZS53ZWllcnN0cmFzcz05ODc7ZS5jaXJjbGVtdWx0aXBseT03Njg7ZS5jaXJjbGVwbHVzPTc2ODtlLmVtcHR5c2V0PTgyMztlLmludGVyc2VjdGlvbj03Njg7ZS51bmlvbj03Njg7ZS5wcm9wZXJzdXBlcnNldD03MTM7ZS5yZWZsZXhzdXBlcnNldD03MTM7ZS5ub3RzdWJzZXQ9NzEzO2UucHJvcGVyc3Vic2V0PTcxMztlLnJlZmxleHN1YnNldD03MTM7ZS5lbGVtZW50PTcxMztlLm5vdGVsZW1lbnQ9NzEzO2UuYW5nbGU9NzY4O2UuZ3JhZGllbnQ9NzEzO2UucmVnaXN0ZXJzZXJpZj03OTA7ZS5jb3B5cmlnaHRzZXJpZj03OTA7ZS50cmFkZW1hcmtzZXJpZj04OTA7ZS5wcm9kdWN0PTgyMztlLnJhZGljYWw9NTQ5O2UuZG90bWF0aD0yNTA7ZS5sb2dpY2Fsbm90PTcxMztlLmxvZ2ljYWxhbmQ9NjAzO2UubG9naWNhbG9yPTYwMztlLmFycm93ZGJsYm90aD0xMDQyO2UuYXJyb3dkYmxsZWZ0PTk4NztlLmFycm93ZGJsdXA9NjAzO2UuYXJyb3dkYmxyaWdodD05ODc7ZS5hcnJvd2RibGRvd249NjAzO2UubG96ZW5nZT00OTQ7ZS5hbmdsZWxlZnQ9MzI5O2UucmVnaXN0ZXJzYW5zPTc5MDtlLmNvcHlyaWdodHNhbnM9NzkwO2UudHJhZGVtYXJrc2Fucz03ODY7ZS5zdW1tYXRpb249NzEzO2UucGFyZW5sZWZ0dHA9Mzg0O2UucGFyZW5sZWZ0ZXg9Mzg0O2UucGFyZW5sZWZ0YnQ9Mzg0O2UuYnJhY2tldGxlZnR0cD0zODQ7ZS5icmFja2V0bGVmdGV4PTM4NDtlLmJyYWNrZXRsZWZ0YnQ9Mzg0O2UuYnJhY2VsZWZ0dHA9NDk0O2UuYnJhY2VsZWZ0bWlkPTQ5NDtlLmJyYWNlbGVmdGJ0PTQ5NDtlLmJyYWNlZXg9NDk0O2UuYW5nbGVyaWdodD0zMjk7ZS5pbnRlZ3JhbD0yNzQ7ZS5pbnRlZ3JhbHRwPTY4NjtlLmludGVncmFsZXg9Njg2O2UuaW50ZWdyYWxidD02ODY7ZS5wYXJlbnJpZ2h0dHA9Mzg0O2UucGFyZW5yaWdodGV4PTM4NDtlLnBhcmVucmlnaHRidD0zODQ7ZS5icmFja2V0cmlnaHR0cD0zODQ7ZS5icmFja2V0cmlnaHRleD0zODQ7ZS5icmFja2V0cmlnaHRidD0zODQ7ZS5icmFjZXJpZ2h0dHA9NDk0O2UuYnJhY2VyaWdodG1pZD00OTQ7ZS5icmFjZXJpZ2h0YnQ9NDk0O2UuYXBwbGU9NzkwfSkpO2VbIlRpbWVzLVJvbWFuIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD00MDg7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTY0O2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTI3ODtlLnNlbWljb2xvbj0yNzg7ZS5sZXNzPTU2NDtlLmVxdWFsPTU2NDtlLmdyZWF0ZXI9NTY0O2UucXVlc3Rpb249NDQ0O2UuYXQ9OTIxO2UuQT03MjI7ZS5CPTY2NztlLkM9NjY3O2UuRD03MjI7ZS5FPTYxMTtlLkY9NTU2O2UuRz03MjI7ZS5IPTcyMjtlLkk9MzMzO2UuSj0zODk7ZS5LPTcyMjtlLkw9NjExO2UuTT04ODk7ZS5OPTcyMjtlLk89NzIyO2UuUD01NTY7ZS5RPTcyMjtlLlI9NjY3O2UuUz01NTY7ZS5UPTYxMTtlLlU9NzIyO2UuVj03MjI7ZS5XPTk0NDtlLlg9NzIyO2UuWT03MjI7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NDY5O2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT00NDQ7ZS5iPTUwMDtlLmM9NDQ0O2UuZD01MDA7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTUwMDtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTUwMDtlLmw9Mjc4O2UubT03Nzg7ZS5uPTUwMDtlLm89NTAwO2UucD01MDA7ZS5xPTUwMDtlLnI9MzMzO2Uucz0zODk7ZS50PTI3ODtlLnU9NTAwO2Uudj01MDA7ZS53PTcyMjtlLng9NTAwO2UueT01MDA7ZS56PTQ0NDtlLmJyYWNlbGVmdD00ODA7ZS5iYXI9MjAwO2UuYnJhY2VyaWdodD00ODA7ZS5hc2NpaXRpbGRlPTU0MTtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9MTgwO2UucXVvdGVkYmxsZWZ0PTQ0NDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NDUzO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT00NDQ7ZS5xdW90ZWRibHJpZ2h0PTQ0NDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj00NDQ7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTg4OTtlLm9yZGZlbWluaW5lPTI3NjtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9NzIyO2UuT0U9ODg5O2Uub3JkbWFzY3VsaW5lPTMxMDtlLmFlPTY2NztlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01MDA7ZS5JZGllcmVzaXM9MzMzO2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT00NDQ7ZS51aHVuZ2FydW1sYXV0PTUwMDtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NzIyO2UuZGl2aWRlPTU2NDtlLllhY3V0ZT03MjI7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NDQ0O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTUwMDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz00NDQ7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01MDA7ZS5FZGllcmVzaXM9NjExO2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NjA7ZS5FbWFjcm9uPTYxMTtlLmNjYXJvbj00NDQ7ZS5hcmluZz00NDQ7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT00NDQ7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTY2NztlLmF0aWxkZT00NDQ7ZS5FZG90YWNjZW50PTYxMTtlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00NzE7ZS5SY2Fyb249NjY3O2UuR2NvbW1hYWNjZW50PTcyMjtlLnVjaXJjdW1mbGV4PTUwMDtlLmFjaXJjdW1mbGV4PTQ0NDtlLkFtYWNyb249NzIyO2UucmNhcm9uPTMzMztlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NTU2O2UuT21hY3Jvbj03MjI7ZS5SYWN1dGU9NjY3O2UuU2FjdXRlPTU1NjtlLmRjYXJvbj01ODg7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTUwMDtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTcyMjtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTY0O2UudWFjdXRlPTUwMDtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00NzY7ZS55ZGllcmVzaXM9NTAwO2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTYxMTtlLmFkaWVyZXNpcz00NDQ7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01MDA7ZS51bWFjcm9uPTUwMDtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9MzMzO2UucGx1c21pbnVzPTU2NDtlLmJyb2tlbmJhcj0yMDA7ZS5yZWdpc3RlcmVkPTc2MDtlLkdicmV2ZT03MjI7ZS5JZG90YWNjZW50PTMzMztlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjExO2UucmFjdXRlPTMzMztlLm9tYWNyb249NTAwO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTY2NztlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249MzI2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT00NDQ7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03MjI7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj00NDQ7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTcyMjtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01MDA7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9NzIyO2UubXU9NTAwO2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02MTE7ZS5kY3JvYXQ9NTAwO2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249MzQ0O2UuS2NvbW1hYWNjZW50PTcyMjtlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9OTgwO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9MzMzO2UuSW1hY3Jvbj0zMzM7ZS5MY2Fyb249NjExO2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTUwMDtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTYxMTtlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTcyMjtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTY2NztlLnVncmF2ZT01MDA7ZS5yYWRpY2FsPTQ1MztlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9MzMzO2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NjY3O2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03MjI7ZS56ZG90YWNjZW50PTQ0NDtlLkVjYXJvbj02MTE7ZS5Jb2dvbmVrPTMzMztlLmtjb21tYWFjY2VudD01MDA7ZS5taW51cz01NjQ7ZS5JY2lyY3VtZmxleD0zMzM7ZS5uY2Fyb249NTAwO2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9NTY0O2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01MDA7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj00NDQ7ZS5uY29tbWFhY2NlbnQ9NTAwO2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1Cb2xkIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD01NTU7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTFlMztlLmFtcGVyc2FuZD04MzM7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTcwO2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU3MDtlLmVxdWFsPTU3MDtlLmdyZWF0ZXI9NTcwO2UucXVlc3Rpb249NTAwO2UuYXQ9OTMwO2UuQT03MjI7ZS5CPTY2NztlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTc3ODtlLkk9Mzg5O2UuSj01MDA7ZS5LPTc3ODtlLkw9NjY3O2UuTT05NDQ7ZS5OPTcyMjtlLk89Nzc4O2UuUD02MTE7ZS5RPTc3ODtlLlI9NzIyO2UuUz01NTY7ZS5UPTY2NztlLlU9NzIyO2UuVj03MjI7ZS5XPTFlMztlLlg9NzIyO2UuWT03MjI7ZS5aPTY2NztlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTgxO2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT01MDA7ZS5iPTU1NjtlLmM9NDQ0O2UuZD01NTY7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTU1NjtlLmk9Mjc4O2Uuaj0zMzM7ZS5rPTU1NjtlLmw9Mjc4O2UubT04MzM7ZS5uPTU1NjtlLm89NTAwO2UucD01NTY7ZS5xPTU1NjtlLnI9NDQ0O2Uucz0zODk7ZS50PTMzMztlLnU9NTU2O2Uudj01MDA7ZS53PTcyMjtlLng9NTAwO2UueT01MDA7ZS56PTQ0NDtlLmJyYWNlbGVmdD0zOTQ7ZS5iYXI9MjIwO2UuYnJhY2VyaWdodD0zOTQ7ZS5hc2NpaXRpbGRlPTUyMDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9Mjc4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NTQwO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj01MDA7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTMwMDtlLkxzbGFzaD02Njc7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTMzMDtlLmFlPTcyMjtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01NTY7ZS5JZGllcmVzaXM9Mzg5O2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT01MDA7ZS51aHVuZ2FydW1sYXV0PTU1NjtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NzIyO2UuZGl2aWRlPTU3MDtlLllhY3V0ZT03MjI7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NTAwO2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTUwMDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01MDA7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01NTY7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NDc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj00NDQ7ZS5hcmluZz01MDA7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01MDA7ZS5UY29tbWFhY2NlbnQ9NjY3O2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01MDA7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTU1NjtlLmFjaXJjdW1mbGV4PTUwMDtlLkFtYWNyb249NzIyO2UucmNhcm9uPTQ0NDtlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjY3O2UuVGhvcm49NjExO2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTU1NjtlLmRjYXJvbj02NzI7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTU1NjtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTcwO2UudWFjdXRlPTU1NjtlLlRjYXJvbj02Njc7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NTAwO2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01MDA7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01NTY7ZS51bWFjcm9uPTU1NjtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mzg5O2UucGx1c21pbnVzPTU3MDtlLmJyb2tlbmJhcj0yMjA7ZS5yZWdpc3RlcmVkPTc0NztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTM4OTtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTQ0NDtlLm9tYWNyb249NTAwO2UuWmFjdXRlPTY2NztlLlpjYXJvbj02Njc7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249NDE2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT00NDQ7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj01MDA7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01NTY7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NTU2O2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NTU2O2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249Mzk0O2UuS2NvbW1hYWNjZW50PTc3ODtlLkxhY3V0ZT02Njc7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9Mzg5O2UuSW1hY3Jvbj0zODk7ZS5MY2Fyb249NjY3O2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTU1NjtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT01NTY7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9NDQ0O2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTY2NztlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTQ0NDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTM4OTtlLmtjb21tYWFjY2VudD01NTY7ZS5taW51cz01NzA7ZS5JY2lyY3VtZmxleD0zODk7ZS5uY2Fyb249NTU2O2UudGNvbW1hYWNjZW50PTMzMztlLmxvZ2ljYWxub3Q9NTcwO2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01NTY7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj00NDQ7ZS5uY29tbWFhY2NlbnQ9NTU2O2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1Cb2xkSXRhbGljIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zODk7ZS5xdW90ZWRibD01NTU7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTcwO2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU3MDtlLmVxdWFsPTU3MDtlLmdyZWF0ZXI9NTcwO2UucXVlc3Rpb249NTAwO2UuYXQ9ODMyO2UuQT02Njc7ZS5CPTY2NztlLkM9NjY3O2UuRD03MjI7ZS5FPTY2NztlLkY9NjY3O2UuRz03MjI7ZS5IPTc3ODtlLkk9Mzg5O2UuSj01MDA7ZS5LPTY2NztlLkw9NjExO2UuTT04ODk7ZS5OPTcyMjtlLk89NzIyO2UuUD02MTE7ZS5RPTcyMjtlLlI9NjY3O2UuUz01NTY7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTg4OTtlLlg9NjY3O2UuWT02MTE7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTcwO2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT01MDA7ZS5iPTUwMDtlLmM9NDQ0O2UuZD01MDA7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTU1NjtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTUwMDtlLmw9Mjc4O2UubT03Nzg7ZS5uPTU1NjtlLm89NTAwO2UucD01MDA7ZS5xPTUwMDtlLnI9Mzg5O2Uucz0zODk7ZS50PTI3ODtlLnU9NTU2O2Uudj00NDQ7ZS53PTY2NztlLng9NTAwO2UueT00NDQ7ZS56PTM4OTtlLmJyYWNlbGVmdD0zNDg7ZS5iYXI9MjIwO2UuYnJhY2VyaWdodD0zNDg7ZS5hc2NpaXRpbGRlPTU3MDtlLmV4Y2xhbWRvd249Mzg5O2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9Mjc4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NTAwO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj01MDA7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTk0NDtlLm9yZGZlbWluaW5lPTI2NjtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9NzIyO2UuT0U9OTQ0O2Uub3JkbWFzY3VsaW5lPTMwMDtlLmFlPTcyMjtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01MDA7ZS5JZGllcmVzaXM9Mzg5O2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT01MDA7ZS51aHVuZ2FydW1sYXV0PTU1NjtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NjExO2UuZGl2aWRlPTU3MDtlLllhY3V0ZT02MTE7ZS5BY2lyY3VtZmxleD02Njc7ZS5hYWN1dGU9NTAwO2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTQ0NDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01MDA7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01NTY7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NDc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj00NDQ7ZS5hcmluZz01MDA7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01MDA7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTY2NztlLmF0aWxkZT01MDA7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NjY3O2UuR2NvbW1hYWNjZW50PTcyMjtlLnVjaXJjdW1mbGV4PTU1NjtlLmFjaXJjdW1mbGV4PTUwMDtlLkFtYWNyb249NjY3O2UucmNhcm9uPTM4OTtlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjExO2UuT21hY3Jvbj03MjI7ZS5SYWN1dGU9NjY3O2UuU2FjdXRlPTU1NjtlLmRjYXJvbj02MDg7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTU1NjtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTcyMjtlLkFncmF2ZT02Njc7ZS5BYnJldmU9NjY3O2UubXVsdGlwbHk9NTcwO2UudWFjdXRlPTU1NjtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NDQ0O2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01MDA7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01NTY7ZS51bWFjcm9uPTU1NjtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mzg5O2UucGx1c21pbnVzPTU3MDtlLmJyb2tlbmJhcj0yMjA7ZS5yZWdpc3RlcmVkPTc0NztlLkdicmV2ZT03MjI7ZS5JZG90YWNjZW50PTM4OTtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTM4OTtlLm9tYWNyb249NTAwO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTY2NztlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249MzY2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT02Njc7ZS5BZGllcmVzaXM9NjY3O2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT0zODk7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03MjI7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj01MDA7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTcyMjtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01MDA7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9NzIyO2UubXU9NTc2O2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NTAwO2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249MzgyO2UuS2NvbW1hYWNjZW50PTY2NztlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9Mzg5O2UuSW1hY3Jvbj0zODk7ZS5MY2Fyb249NjExO2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTU1NjtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTcyMjtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTY2NztlLnVncmF2ZT01NTY7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9Mzg5O2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NjY3O2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT02Njc7ZS5Bb2dvbmVrPTY2NztlLkFyaW5nPTY2NztlLk90aWxkZT03MjI7ZS56ZG90YWNjZW50PTM4OTtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTM4OTtlLmtjb21tYWFjY2VudD01MDA7ZS5taW51cz02MDY7ZS5JY2lyY3VtZmxleD0zODk7ZS5uY2Fyb249NTU2O2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9NjA2O2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01NTY7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj0zODk7ZS5uY29tbWFhY2NlbnQ9NTU2O2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1JdGFsaWMiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MjUwO2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTQyMDtlLm51bWJlcnNpZ249NTAwO2UuZG9sbGFyPTUwMDtlLnBlcmNlbnQ9ODMzO2UuYW1wZXJzYW5kPTc3ODtlLnF1b3RlcmlnaHQ9MzMzO2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9NTAwO2UucGx1cz02NzU7ZS5jb21tYT0yNTA7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI1MDtlLnNsYXNoPTI3ODtlLnplcm89NTAwO2Uub25lPTUwMDtlLnR3bz01MDA7ZS50aHJlZT01MDA7ZS5mb3VyPTUwMDtlLmZpdmU9NTAwO2Uuc2l4PTUwMDtlLnNldmVuPTUwMDtlLmVpZ2h0PTUwMDtlLm5pbmU9NTAwO2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9Njc1O2UuZXF1YWw9Njc1O2UuZ3JlYXRlcj02NzU7ZS5xdWVzdGlvbj01MDA7ZS5hdD05MjA7ZS5BPTYxMTtlLkI9NjExO2UuQz02Njc7ZS5EPTcyMjtlLkU9NjExO2UuRj02MTE7ZS5HPTcyMjtlLkg9NzIyO2UuST0zMzM7ZS5KPTQ0NDtlLks9NjY3O2UuTD01NTY7ZS5NPTgzMztlLk49NjY3O2UuTz03MjI7ZS5QPTYxMTtlLlE9NzIyO2UuUj02MTE7ZS5TPTUwMDtlLlQ9NTU2O2UuVT03MjI7ZS5WPTYxMTtlLlc9ODMzO2UuWD02MTE7ZS5ZPTU1NjtlLlo9NTU2O2UuYnJhY2tldGxlZnQ9Mzg5O2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zODk7ZS5hc2NpaWNpcmN1bT00MjI7ZS51bmRlcnNjb3JlPTUwMDtlLnF1b3RlbGVmdD0zMzM7ZS5hPTUwMDtlLmI9NTAwO2UuYz00NDQ7ZS5kPTUwMDtlLmU9NDQ0O2UuZj0yNzg7ZS5nPTUwMDtlLmg9NTAwO2UuaT0yNzg7ZS5qPTI3ODtlLms9NDQ0O2UubD0yNzg7ZS5tPTcyMjtlLm49NTAwO2Uubz01MDA7ZS5wPTUwMDtlLnE9NTAwO2Uucj0zODk7ZS5zPTM4OTtlLnQ9Mjc4O2UudT01MDA7ZS52PTQ0NDtlLnc9NjY3O2UueD00NDQ7ZS55PTQ0NDtlLno9Mzg5O2UuYnJhY2VsZWZ0PTQwMDtlLmJhcj0yNzU7ZS5icmFjZXJpZ2h0PTQwMDtlLmFzY2lpdGlsZGU9NTQxO2UuZXhjbGFtZG93bj0zODk7ZS5jZW50PTUwMDtlLnN0ZXJsaW5nPTUwMDtlLmZyYWN0aW9uPTE2NztlLnllbj01MDA7ZS5mbG9yaW49NTAwO2Uuc2VjdGlvbj01MDA7ZS5jdXJyZW5jeT01MDA7ZS5xdW90ZXNpbmdsZT0yMTQ7ZS5xdW90ZWRibGxlZnQ9NTU2O2UuZ3VpbGxlbW90bGVmdD01MDA7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTUwMDtlLmZsPTUwMDtlLmVuZGFzaD01MDA7ZS5kYWdnZXI9NTAwO2UuZGFnZ2VyZGJsPTUwMDtlLnBlcmlvZGNlbnRlcmVkPTI1MDtlLnBhcmFncmFwaD01MjM7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MzMzO2UucXVvdGVkYmxiYXNlPTU1NjtlLnF1b3RlZGJscmlnaHQ9NTU2O2UuZ3VpbGxlbW90cmlnaHQ9NTAwO2UuZWxsaXBzaXM9ODg5O2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTUwMDtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9ODg5O2UuQUU9ODg5O2Uub3JkZmVtaW5pbmU9Mjc2O2UuTHNsYXNoPTU1NjtlLk9zbGFzaD03MjI7ZS5PRT05NDQ7ZS5vcmRtYXNjdWxpbmU9MzEwO2UuYWU9NjY3O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD01MDA7ZS5vZT02Njc7ZS5nZXJtYW5kYmxzPTUwMDtlLklkaWVyZXNpcz0zMzM7ZS5lYWN1dGU9NDQ0O2UuYWJyZXZlPTUwMDtlLnVodW5nYXJ1bWxhdXQ9NTAwO2UuZWNhcm9uPTQ0NDtlLllkaWVyZXNpcz01NTY7ZS5kaXZpZGU9Njc1O2UuWWFjdXRlPTU1NjtlLkFjaXJjdW1mbGV4PTYxMTtlLmFhY3V0ZT01MDA7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NDQ0O2Uuc2NvbW1hYWNjZW50PTM4OTtlLmVjaXJjdW1mbGV4PTQ0NDtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTUwMDtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTUwMDtlLkVkaWVyZXNpcz02MTE7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTc2MDtlLkVtYWNyb249NjExO2UuY2Nhcm9uPTQ0NDtlLmFyaW5nPTUwMDtlLk5jb21tYWFjY2VudD02Njc7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTUwMDtlLlRjb21tYWFjY2VudD01NTY7ZS5DYWN1dGU9NjY3O2UuYXRpbGRlPTUwMDtlLkVkb3RhY2NlbnQ9NjExO2Uuc2Nhcm9uPTM4OTtlLnNjZWRpbGxhPTM4OTtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ3MTtlLlJjYXJvbj02MTE7ZS5HY29tbWFhY2NlbnQ9NzIyO2UudWNpcmN1bWZsZXg9NTAwO2UuYWNpcmN1bWZsZXg9NTAwO2UuQW1hY3Jvbj02MTE7ZS5yY2Fyb249Mzg5O2UuY2NlZGlsbGE9NDQ0O2UuWmRvdGFjY2VudD01NTY7ZS5UaG9ybj02MTE7ZS5PbWFjcm9uPTcyMjtlLlJhY3V0ZT02MTE7ZS5TYWN1dGU9NTAwO2UuZGNhcm9uPTU0NDtlLlVtYWNyb249NzIyO2UudXJpbmc9NTAwO2UudGhyZWVzdXBlcmlvcj0zMDA7ZS5PZ3JhdmU9NzIyO2UuQWdyYXZlPTYxMTtlLkFicmV2ZT02MTE7ZS5tdWx0aXBseT02NzU7ZS51YWN1dGU9NTAwO2UuVGNhcm9uPTU1NjtlLnBhcnRpYWxkaWZmPTQ3NjtlLnlkaWVyZXNpcz00NDQ7ZS5OYWN1dGU9NjY3O2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjExO2UuYWRpZXJlc2lzPTUwMDtlLmVkaWVyZXNpcz00NDQ7ZS5jYWN1dGU9NDQ0O2UubmFjdXRlPTUwMDtlLnVtYWNyb249NTAwO2UuTmNhcm9uPTY2NztlLklhY3V0ZT0zMzM7ZS5wbHVzbWludXM9Njc1O2UuYnJva2VuYmFyPTI3NTtlLnJlZ2lzdGVyZWQ9NzYwO2UuR2JyZXZlPTcyMjtlLklkb3RhY2NlbnQ9MzMzO2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02MTE7ZS5yYWN1dGU9Mzg5O2Uub21hY3Jvbj01MDA7ZS5aYWN1dGU9NTU2O2UuWmNhcm9uPTU1NjtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NjY3O2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zMDA7ZS5lb2dvbmVrPTQ0NDtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTYxMTtlLkFkaWVyZXNpcz02MTE7ZS5lZ3JhdmU9NDQ0O2UuemFjdXRlPTM4OTtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTcyMjtlLm9hY3V0ZT01MDA7ZS5hbWFjcm9uPTUwMDtlLnNhY3V0ZT0zODk7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9NzIyO2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTUwMDtlLnR3b3N1cGVyaW9yPTMwMDtlLk9kaWVyZXNpcz03MjI7ZS5tdT01MDA7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01MDA7ZS5Fb2dvbmVrPTYxMTtlLmRjcm9hdD01MDA7ZS50aHJlZXF1YXJ0ZXJzPTc1MDtlLlNjZWRpbGxhPTUwMDtlLmxjYXJvbj0zMDA7ZS5LY29tbWFhY2NlbnQ9NjY3O2UuTGFjdXRlPTU1NjtlLnRyYWRlbWFyaz05ODA7ZS5lZG90YWNjZW50PTQ0NDtlLklncmF2ZT0zMzM7ZS5JbWFjcm9uPTMzMztlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTc1MDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01MDA7ZS5udGlsZGU9NTAwO2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjExO2UuZW1hY3Jvbj00NDQ7ZS5nYnJldmU9NTAwO2Uub25lcXVhcnRlcj03NTA7ZS5TY2Fyb249NTAwO2UuU2NvbW1hYWNjZW50PTUwMDtlLk9odW5nYXJ1bWxhdXQ9NzIyO2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01MDA7ZS5DY2Fyb249NjY3O2UudWdyYXZlPTUwMDtlLnJhZGljYWw9NDUzO2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zODk7ZS5OdGlsZGU9NjY3O2Uub3RpbGRlPTUwMDtlLlJjb21tYWFjY2VudD02MTE7ZS5MY29tbWFhY2NlbnQ9NTU2O2UuQXRpbGRlPTYxMTtlLkFvZ29uZWs9NjExO2UuQXJpbmc9NjExO2UuT3RpbGRlPTcyMjtlLnpkb3RhY2NlbnQ9Mzg5O2UuRWNhcm9uPTYxMTtlLklvZ29uZWs9MzMzO2Uua2NvbW1hYWNjZW50PTQ0NDtlLm1pbnVzPTY3NTtlLkljaXJjdW1mbGV4PTMzMztlLm5jYXJvbj01MDA7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD02NzU7ZS5vZGllcmVzaXM9NTAwO2UudWRpZXJlc2lzPTUwMDtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01MDA7ZS5ldGg9NTAwO2UuemNhcm9uPTM4OTtlLm5jb21tYWFjY2VudD01MDA7ZS5vbmVzdXBlcmlvcj0zMDA7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTAwfSkpO2UuWmFwZkRpbmdiYXRzPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5hMT05NzQ7ZS5hMj05NjE7ZS5hMjAyPTk3NDtlLmEzPTk4MDtlLmE0PTcxOTtlLmE1PTc4OTtlLmExMTk9NzkwO2UuYTExOD03OTE7ZS5hMTE3PTY5MDtlLmExMT05NjA7ZS5hMTI9OTM5O2UuYTEzPTU0OTtlLmExND04NTU7ZS5hMTU9OTExO2UuYTE2PTkzMztlLmExMDU9OTExO2UuYTE3PTk0NTtlLmExOD05NzQ7ZS5hMTk9NzU1O2UuYTIwPTg0NjtlLmEyMT03NjI7ZS5hMjI9NzYxO2UuYTIzPTU3MTtlLmEyND02Nzc7ZS5hMjU9NzYzO2UuYTI2PTc2MDtlLmEyNz03NTk7ZS5hMjg9NzU0O2UuYTY9NDk0O2UuYTc9NTUyO2UuYTg9NTM3O2UuYTk9NTc3O2UuYTEwPTY5MjtlLmEyOT03ODY7ZS5hMzA9Nzg4O2UuYTMxPTc4ODtlLmEzMj03OTA7ZS5hMzM9NzkzO2UuYTM0PTc5NDtlLmEzNT04MTY7ZS5hMzY9ODIzO2UuYTM3PTc4OTtlLmEzOD04NDE7ZS5hMzk9ODIzO2UuYTQwPTgzMztlLmE0MT04MTY7ZS5hNDI9ODMxO2UuYTQzPTkyMztlLmE0ND03NDQ7ZS5hNDU9NzIzO2UuYTQ2PTc0OTtlLmE0Nz03OTA7ZS5hNDg9NzkyO2UuYTQ5PTY5NTtlLmE1MD03NzY7ZS5hNTE9NzY4O2UuYTUyPTc5MjtlLmE1Mz03NTk7ZS5hNTQ9NzA3O2UuYTU1PTcwODtlLmE1Nj02ODI7ZS5hNTc9NzAxO2UuYTU4PTgyNjtlLmE1OT04MTU7ZS5hNjA9Nzg5O2UuYTYxPTc4OTtlLmE2Mj03MDc7ZS5hNjM9Njg3O2UuYTY0PTY5NjtlLmE2NT02ODk7ZS5hNjY9Nzg2O2UuYTY3PTc4NztlLmE2OD03MTM7ZS5hNjk9NzkxO2UuYTcwPTc4NTtlLmE3MT03OTE7ZS5hNzI9ODczO2UuYTczPTc2MTtlLmE3ND03NjI7ZS5hMjAzPTc2MjtlLmE3NT03NTk7ZS5hMjA0PTc1OTtlLmE3Nj04OTI7ZS5hNzc9ODkyO2UuYTc4PTc4ODtlLmE3OT03ODQ7ZS5hODE9NDM4O2UuYTgyPTEzODtlLmE4Mz0yNzc7ZS5hODQ9NDE1O2UuYTk3PTM5MjtlLmE5OD0zOTI7ZS5hOTk9NjY4O2UuYTEwMD02Njg7ZS5hODk9MzkwO2UuYTkwPTM5MDtlLmE5Mz0zMTc7ZS5hOTQ9MzE3O2UuYTkxPTI3NjtlLmE5Mj0yNzY7ZS5hMjA1PTUwOTtlLmE4NT01MDk7ZS5hMjA2PTQxMDtlLmE4Nj00MTA7ZS5hODc9MjM0O2UuYTg4PTIzNDtlLmE5NT0zMzQ7ZS5hOTY9MzM0O2UuYTEwMT03MzI7ZS5hMTAyPTU0NDtlLmExMDM9NTQ0O2UuYTEwND05MTA7ZS5hMTA2PTY2NztlLmExMDc9NzYwO2UuYTEwOD03NjA7ZS5hMTEyPTc3NjtlLmExMTE9NTk1O2UuYTExMD02OTQ7ZS5hMTA5PTYyNjtlLmExMjA9Nzg4O2UuYTEyMT03ODg7ZS5hMTIyPTc4ODtlLmExMjM9Nzg4O2UuYTEyND03ODg7ZS5hMTI1PTc4ODtlLmExMjY9Nzg4O2UuYTEyNz03ODg7ZS5hMTI4PTc4ODtlLmExMjk9Nzg4O2UuYTEzMD03ODg7ZS5hMTMxPTc4ODtlLmExMzI9Nzg4O2UuYTEzMz03ODg7ZS5hMTM0PTc4ODtlLmExMzU9Nzg4O2UuYTEzNj03ODg7ZS5hMTM3PTc4ODtlLmExMzg9Nzg4O2UuYTEzOT03ODg7ZS5hMTQwPTc4ODtlLmExNDE9Nzg4O2UuYTE0Mj03ODg7ZS5hMTQzPTc4ODtlLmExNDQ9Nzg4O2UuYTE0NT03ODg7ZS5hMTQ2PTc4ODtlLmExNDc9Nzg4O2UuYTE0OD03ODg7ZS5hMTQ5PTc4ODtlLmExNTA9Nzg4O2UuYTE1MT03ODg7ZS5hMTUyPTc4ODtlLmExNTM9Nzg4O2UuYTE1ND03ODg7ZS5hMTU1PTc4ODtlLmExNTY9Nzg4O2UuYTE1Nz03ODg7ZS5hMTU4PTc4ODtlLmExNTk9Nzg4O2UuYTE2MD04OTQ7ZS5hMTYxPTgzODtlLmExNjM9MTAxNjtlLmExNjQ9NDU4O2UuYTE5Nj03NDg7ZS5hMTY1PTkyNDtlLmExOTI9NzQ4O2UuYTE2Nj05MTg7ZS5hMTY3PTkyNztlLmExNjg9OTI4O2UuYTE2OT05Mjg7ZS5hMTcwPTgzNDtlLmExNzE9ODczO2UuYTE3Mj04Mjg7ZS5hMTczPTkyNDtlLmExNjI9OTI0O2UuYTE3ND05MTc7ZS5hMTc1PTkzMDtlLmExNzY9OTMxO2UuYTE3Nz00NjM7ZS5hMTc4PTg4MztlLmExNzk9ODM2O2UuYTE5Mz04MzY7ZS5hMTgwPTg2NztlLmExOTk9ODY3O2UuYTE4MT02OTY7ZS5hMjAwPTY5NjtlLmExODI9ODc0O2UuYTIwMT04NzQ7ZS5hMTgzPTc2MDtlLmExODQ9OTQ2O2UuYTE5Nz03NzE7ZS5hMTg1PTg2NTtlLmExOTQ9NzcxO2UuYTE5OD04ODg7ZS5hMTg2PTk2NztlLmExOTU9ODg4O2UuYTE4Nz04MzE7ZS5hMTg4PTg3MztlLmExODk9OTI3O2UuYTE5MD05NzA7ZS5hMTkxPTkxOH0pKX0pKSxhYT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQ291cmllcj17YXNjZW50OjYyOSxkZXNjZW50Oi0xNTcsY2FwSGVpZ2h0OjU2Mix4SGVpZ2h0Oi00MjZ9O2VbIkNvdXJpZXItQm9sZCJdPXthc2NlbnQ6NjI5LGRlc2NlbnQ6LTE1NyxjYXBIZWlnaHQ6NTYyLHhIZWlnaHQ6NDM5fTtlWyJDb3VyaWVyLU9ibGlxdWUiXT17YXNjZW50OjYyOSxkZXNjZW50Oi0xNTcsY2FwSGVpZ2h0OjU2Mix4SGVpZ2h0OjQyNn07ZVsiQ291cmllci1Cb2xkT2JsaXF1ZSJdPXthc2NlbnQ6NjI5LGRlc2NlbnQ6LTE1NyxjYXBIZWlnaHQ6NTYyLHhIZWlnaHQ6NDI2fTtlLkhlbHZldGljYT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUyM307ZVsiSGVsdmV0aWNhLUJvbGQiXT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUzMn07ZVsiSGVsdmV0aWNhLU9ibGlxdWUiXT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUyM307ZVsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIl09e2FzY2VudDo3MTgsZGVzY2VudDotMjA3LGNhcEhlaWdodDo3MTgseEhlaWdodDo1MzJ9O2VbIlRpbWVzLVJvbWFuIl09e2FzY2VudDo2ODMsZGVzY2VudDotMjE3LGNhcEhlaWdodDo2NjIseEhlaWdodDo0NTB9O2VbIlRpbWVzLUJvbGQiXT17YXNjZW50OjY4MyxkZXNjZW50Oi0yMTcsY2FwSGVpZ2h0OjY3Nix4SGVpZ2h0OjQ2MX07ZVsiVGltZXMtSXRhbGljIl09e2FzY2VudDo2ODMsZGVzY2VudDotMjE3LGNhcEhlaWdodDo2NTMseEhlaWdodDo0NDF9O2VbIlRpbWVzLUJvbGRJdGFsaWMiXT17YXNjZW50OjY4MyxkZXNjZW50Oi0yMTcsY2FwSGVpZ2h0OjY2OSx4SGVpZ2h0OjQ2Mn07ZS5TeW1ib2w9e2FzY2VudDpNYXRoLk5hTixkZXNjZW50Ok1hdGguTmFOLGNhcEhlaWdodDpNYXRoLk5hTix4SGVpZ2h0Ok1hdGguTmFOfTtlLlphcGZEaW5nYmF0cz17YXNjZW50Ok1hdGguTmFOLGRlc2NlbnQ6TWF0aC5OYU4sY2FwSGVpZ2h0Ok1hdGguTmFOLHhIZWlnaHQ6TWF0aC5OYU59fSkpO2NsYXNzIEdseWZUYWJsZXtjb25zdHJ1Y3Rvcih7Z2x5ZlRhYmxlOmUsaXNHbHlwaExvY2F0aW9uc0xvbmc6dCxsb2NhVGFibGU6aSxudW1HbHlwaHM6YX0pe3RoaXMuZ2x5cGhzPVtdO2NvbnN0IHM9bmV3IERhdGFWaWV3KGkuYnVmZmVyLGkuYnl0ZU9mZnNldCxpLmJ5dGVMZW5ndGgpLHI9bmV3IERhdGFWaWV3KGUuYnVmZmVyLGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpLG49dD80OjI7bGV0IGc9dD9zLmdldFVpbnQzMigwKToyKnMuZ2V0VWludDE2KDApLG89MDtmb3IobGV0IGU9MDtlPGE7ZSsrKXtvKz1uO2NvbnN0IGU9dD9zLmdldFVpbnQzMihvKToyKnMuZ2V0VWludDE2KG8pO2lmKGU9PT1nKXt0aGlzLmdseXBocy5wdXNoKG5ldyBHbHlwaCh7fSkpO2NvbnRpbnVlfWNvbnN0IGk9R2x5cGgucGFyc2UoZyxyKTt0aGlzLmdseXBocy5wdXNoKGkpO2c9ZX19Z2V0U2l6ZSgpe3JldHVybiB0aGlzLmdseXBocy5yZWR1Y2UoKChlLHQpPT5lKyh0LmdldFNpemUoKSszJi00KSksMCl9d3JpdGUoKXtjb25zdCBlPXRoaXMuZ2V0U2l6ZSgpLHQ9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcihlKSksaT1lPjEzMTA3MCxhPWk/NDoyLHM9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigodGhpcy5nbHlwaHMubGVuZ3RoKzEpKmEpKTtpP3Muc2V0VWludDMyKDAsMCk6cy5zZXRVaW50MTYoMCwwKTtsZXQgcj0wLG49MDtmb3IoY29uc3QgZSBvZiB0aGlzLmdseXBocyl7cis9ZS53cml0ZShyLHQpO3I9ciszJi00O24rPWE7aT9zLnNldFVpbnQzMihuLHIpOnMuc2V0VWludDE2KG4scj4+MSl9cmV0dXJue2lzTG9jYXRpb25Mb25nOmksbG9jYTpuZXcgVWludDhBcnJheShzLmJ1ZmZlciksZ2x5ZjpuZXcgVWludDhBcnJheSh0LmJ1ZmZlcil9fXNjYWxlKGUpe2ZvcihsZXQgdD0wLGk9dGhpcy5nbHlwaHMubGVuZ3RoO3Q8aTt0KyspdGhpcy5nbHlwaHNbdF0uc2NhbGUoZVt0XSl9fWNsYXNzIEdseXBoe2NvbnN0cnVjdG9yKHtoZWFkZXI6ZT1udWxsLHNpbXBsZTp0PW51bGwsY29tcG9zaXRlczppPW51bGx9KXt0aGlzLmhlYWRlcj1lO3RoaXMuc2ltcGxlPXQ7dGhpcy5jb21wb3NpdGVzPWl9c3RhdGljIHBhcnNlKGUsdCl7Y29uc3RbaSxhXT1HbHlwaEhlYWRlci5wYXJzZShlLHQpO2UrPWk7aWYoYS5udW1iZXJPZkNvbnRvdXJzPDApe2NvbnN0IGk9W107Zm9yKDs7KXtjb25zdFthLHNdPUNvbXBvc2l0ZUdseXBoLnBhcnNlKGUsdCk7ZSs9YTtpLnB1c2gocyk7aWYoISgzMiZzLmZsYWdzKSlicmVha31yZXR1cm4gbmV3IEdseXBoKHtoZWFkZXI6YSxjb21wb3NpdGVzOml9KX1jb25zdCBzPVNpbXBsZUdseXBoLnBhcnNlKGUsdCxhLm51bWJlck9mQ29udG91cnMpO3JldHVybiBuZXcgR2x5cGgoe2hlYWRlcjphLHNpbXBsZTpzfSl9Z2V0U2l6ZSgpe2lmKCF0aGlzLmhlYWRlcilyZXR1cm4gMDtjb25zdCBlPXRoaXMuc2ltcGxlP3RoaXMuc2ltcGxlLmdldFNpemUoKTp0aGlzLmNvbXBvc2l0ZXMucmVkdWNlKCgoZSx0KT0+ZSt0LmdldFNpemUoKSksMCk7cmV0dXJuIHRoaXMuaGVhZGVyLmdldFNpemUoKStlfXdyaXRlKGUsdCl7aWYoIXRoaXMuaGVhZGVyKXJldHVybiAwO2NvbnN0IGk9ZTtlKz10aGlzLmhlYWRlci53cml0ZShlLHQpO2lmKHRoaXMuc2ltcGxlKWUrPXRoaXMuc2ltcGxlLndyaXRlKGUsdCk7ZWxzZSBmb3IoY29uc3QgaSBvZiB0aGlzLmNvbXBvc2l0ZXMpZSs9aS53cml0ZShlLHQpO3JldHVybiBlLWl9c2NhbGUoZSl7aWYoIXRoaXMuaGVhZGVyKXJldHVybjtjb25zdCB0PSh0aGlzLmhlYWRlci54TWluK3RoaXMuaGVhZGVyLnhNYXgpLzI7dGhpcy5oZWFkZXIuc2NhbGUodCxlKTtpZih0aGlzLnNpbXBsZSl0aGlzLnNpbXBsZS5zY2FsZSh0LGUpO2Vsc2UgZm9yKGNvbnN0IGkgb2YgdGhpcy5jb21wb3NpdGVzKWkuc2NhbGUodCxlKX19Y2xhc3MgR2x5cGhIZWFkZXJ7Y29uc3RydWN0b3Ioe251bWJlck9mQ29udG91cnM6ZSx4TWluOnQseU1pbjppLHhNYXg6YSx5TWF4OnN9KXt0aGlzLm51bWJlck9mQ29udG91cnM9ZTt0aGlzLnhNaW49dDt0aGlzLnlNaW49aTt0aGlzLnhNYXg9YTt0aGlzLnlNYXg9c31zdGF0aWMgcGFyc2UoZSx0KXtyZXR1cm5bMTAsbmV3IEdseXBoSGVhZGVyKHtudW1iZXJPZkNvbnRvdXJzOnQuZ2V0SW50MTYoZSkseE1pbjp0LmdldEludDE2KGUrMikseU1pbjp0LmdldEludDE2KGUrNCkseE1heDp0LmdldEludDE2KGUrNikseU1heDp0LmdldEludDE2KGUrOCl9KV19Z2V0U2l6ZSgpe3JldHVybiAxMH13cml0ZShlLHQpe3Quc2V0SW50MTYoZSx0aGlzLm51bWJlck9mQ29udG91cnMpO3Quc2V0SW50MTYoZSsyLHRoaXMueE1pbik7dC5zZXRJbnQxNihlKzQsdGhpcy55TWluKTt0LnNldEludDE2KGUrNix0aGlzLnhNYXgpO3Quc2V0SW50MTYoZSs4LHRoaXMueU1heCk7cmV0dXJuIDEwfXNjYWxlKGUsdCl7dGhpcy54TWluPU1hdGgucm91bmQoZSsodGhpcy54TWluLWUpKnQpO3RoaXMueE1heD1NYXRoLnJvdW5kKGUrKHRoaXMueE1heC1lKSp0KX19Y2xhc3MgQ29udG91cntjb25zdHJ1Y3Rvcih7ZmxhZ3M6ZSx4Q29vcmRpbmF0ZXM6dCx5Q29vcmRpbmF0ZXM6aX0pe3RoaXMueENvb3JkaW5hdGVzPXQ7dGhpcy55Q29vcmRpbmF0ZXM9aTt0aGlzLmZsYWdzPWV9fWNsYXNzIFNpbXBsZUdseXBoe2NvbnN0cnVjdG9yKHtjb250b3VyczplLGluc3RydWN0aW9uczp0fSl7dGhpcy5jb250b3Vycz1lO3RoaXMuaW5zdHJ1Y3Rpb25zPXR9c3RhdGljIHBhcnNlKGUsdCxpKXtjb25zdCBhPVtdO2ZvcihsZXQgcz0wO3M8aTtzKyspe2NvbnN0IGk9dC5nZXRVaW50MTYoZSk7ZSs9MjthLnB1c2goaSl9Y29uc3Qgcz1hW2ktMV0rMSxyPXQuZ2V0VWludDE2KGUpO2UrPTI7Y29uc3Qgbj1uZXcgVWludDhBcnJheSh0KS5zbGljZShlLGUrcik7ZSs9cjtjb25zdCBnPVtdO2ZvcihsZXQgaT0wO2k8cztlKyssaSsrKXtsZXQgYT10LmdldFVpbnQ4KGUpO2cucHVzaChhKTtpZig4JmEpe2NvbnN0IHM9dC5nZXRVaW50OCgrK2UpO2FePTg7Zm9yKGxldCBlPTA7ZTxzO2UrKylnLnB1c2goYSk7aSs9c319Y29uc3Qgbz1bXTtsZXQgYz1bXSxDPVtdLGg9W107Y29uc3QgbD1bXTtsZXQgUT0wLEU9MDtmb3IobGV0IGk9MDtpPHM7aSsrKXtjb25zdCBzPWdbaV07aWYoMiZzKXtjb25zdCBpPXQuZ2V0VWludDgoZSsrKTtFKz0xNiZzP2k6LWk7Yy5wdXNoKEUpfWVsc2UgaWYoMTYmcyljLnB1c2goRSk7ZWxzZXtFKz10LmdldEludDE2KGUpO2UrPTI7Yy5wdXNoKEUpfWlmKGFbUV09PT1pKXtRKys7by5wdXNoKGMpO2M9W119fUU9MDtRPTA7Zm9yKGxldCBpPTA7aTxzO2krKyl7Y29uc3Qgcz1nW2ldO2lmKDQmcyl7Y29uc3QgaT10LmdldFVpbnQ4KGUrKyk7RSs9MzImcz9pOi1pO0MucHVzaChFKX1lbHNlIGlmKDMyJnMpQy5wdXNoKEUpO2Vsc2V7RSs9dC5nZXRJbnQxNihlKTtlKz0yO0MucHVzaChFKX1oLnB1c2goMSZzfDY0JnMpO2lmKGFbUV09PT1pKXtjPW9bUV07USsrO2wucHVzaChuZXcgQ29udG91cih7ZmxhZ3M6aCx4Q29vcmRpbmF0ZXM6Yyx5Q29vcmRpbmF0ZXM6Q30pKTtDPVtdO2g9W119fXJldHVybiBuZXcgU2ltcGxlR2x5cGgoe2NvbnRvdXJzOmwsaW5zdHJ1Y3Rpb25zOm59KX1nZXRTaXplKCl7bGV0IGU9Mip0aGlzLmNvbnRvdXJzLmxlbmd0aCsyK3RoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCx0PTAsaT0wO2Zvcihjb25zdCBhIG9mIHRoaXMuY29udG91cnMpe2UrPWEuZmxhZ3MubGVuZ3RoO2ZvcihsZXQgcz0wLHI9YS54Q29vcmRpbmF0ZXMubGVuZ3RoO3M8cjtzKyspe2NvbnN0IHI9YS54Q29vcmRpbmF0ZXNbc10sbj1hLnlDb29yZGluYXRlc1tzXTtsZXQgZz1NYXRoLmFicyhyLXQpO2c+MjU1P2UrPTI6Zz4wJiYoZSs9MSk7dD1yO2c9TWF0aC5hYnMobi1pKTtnPjI1NT9lKz0yOmc+MCYmKGUrPTEpO2k9bn19cmV0dXJuIGV9d3JpdGUoZSx0KXtjb25zdCBpPWUsYT1bXSxzPVtdLHI9W107bGV0IG49MCxnPTA7Zm9yKGNvbnN0IGkgb2YgdGhpcy5jb250b3Vycyl7Zm9yKGxldCBlPTAsdD1pLnhDb29yZGluYXRlcy5sZW5ndGg7ZTx0O2UrKyl7bGV0IHQ9aS5mbGFnc1tlXTtjb25zdCBvPWkueENvb3JkaW5hdGVzW2VdO2xldCBjPW8tbjtpZigwPT09Yyl7dHw9MTY7YS5wdXNoKDApfWVsc2V7Y29uc3QgZT1NYXRoLmFicyhjKTtpZihlPD0yNTUpe3R8PWM+PTA/MTg6MjthLnB1c2goZSl9ZWxzZSBhLnB1c2goYyl9bj1vO2NvbnN0IEM9aS55Q29vcmRpbmF0ZXNbZV07Yz1DLWc7aWYoMD09PWMpe3R8PTMyO3MucHVzaCgwKX1lbHNle2NvbnN0IGU9TWF0aC5hYnMoYyk7aWYoZTw9MjU1KXt0fD1jPj0wPzM2OjQ7cy5wdXNoKGUpfWVsc2Ugcy5wdXNoKGMpfWc9QztyLnB1c2godCl9dC5zZXRVaW50MTYoZSxhLmxlbmd0aC0xKTtlKz0yfXQuc2V0VWludDE2KGUsdGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RoKTtlKz0yO2lmKHRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCl7bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsMCx0LmJ1ZmZlci5ieXRlTGVuZ3RoKS5zZXQodGhpcy5pbnN0cnVjdGlvbnMsZSk7ZSs9dGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RofWZvcihjb25zdCBpIG9mIHIpdC5zZXRVaW50OChlKyssaSk7Zm9yKGxldCBpPTAscz1hLmxlbmd0aDtpPHM7aSsrKXtjb25zdCBzPWFbaV0sbj1yW2ldO2lmKDImbil0LnNldFVpbnQ4KGUrKyxzKTtlbHNlIGlmKCEoMTYmbikpe3Quc2V0SW50MTYoZSxzKTtlKz0yfX1mb3IobGV0IGk9MCxhPXMubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9c1tpXSxuPXJbaV07aWYoNCZuKXQuc2V0VWludDgoZSsrLGEpO2Vsc2UgaWYoISgzMiZuKSl7dC5zZXRJbnQxNihlLGEpO2UrPTJ9fXJldHVybiBlLWl9c2NhbGUoZSx0KXtmb3IoY29uc3QgaSBvZiB0aGlzLmNvbnRvdXJzKWlmKDAhPT1pLnhDb29yZGluYXRlcy5sZW5ndGgpZm9yKGxldCBhPTAscz1pLnhDb29yZGluYXRlcy5sZW5ndGg7YTxzO2ErKylpLnhDb29yZGluYXRlc1thXT1NYXRoLnJvdW5kKGUrKGkueENvb3JkaW5hdGVzW2FdLWUpKnQpfX1jbGFzcyBDb21wb3NpdGVHbHlwaHtjb25zdHJ1Y3Rvcih7ZmxhZ3M6ZSxnbHlwaEluZGV4OnQsYXJndW1lbnQxOmksYXJndW1lbnQyOmEsdHJhbnNmOnMsaW5zdHJ1Y3Rpb25zOnJ9KXt0aGlzLmZsYWdzPWU7dGhpcy5nbHlwaEluZGV4PXQ7dGhpcy5hcmd1bWVudDE9aTt0aGlzLmFyZ3VtZW50Mj1hO3RoaXMudHJhbnNmPXM7dGhpcy5pbnN0cnVjdGlvbnM9cn1zdGF0aWMgcGFyc2UoZSx0KXtjb25zdCBpPWUsYT1bXTtsZXQgcz10LmdldFVpbnQxNihlKTtjb25zdCByPXQuZ2V0VWludDE2KGUrMik7ZSs9NDtsZXQgbixnO2lmKDEmcyl7aWYoMiZzKXtuPXQuZ2V0SW50MTYoZSk7Zz10LmdldEludDE2KGUrMil9ZWxzZXtuPXQuZ2V0VWludDE2KGUpO2c9dC5nZXRVaW50MTYoZSsyKX1lKz00O3NePTF9ZWxzZXtpZigyJnMpe249dC5nZXRJbnQ4KGUpO2c9dC5nZXRJbnQ4KGUrMSl9ZWxzZXtuPXQuZ2V0VWludDgoZSk7Zz10LmdldFVpbnQ4KGUrMSl9ZSs9Mn1pZig4JnMpe2EucHVzaCh0LmdldFVpbnQxNihlKSk7ZSs9Mn1lbHNlIGlmKDY0JnMpe2EucHVzaCh0LmdldFVpbnQxNihlKSx0LmdldFVpbnQxNihlKzIpKTtlKz00fWVsc2UgaWYoMTI4JnMpe2EucHVzaCh0LmdldFVpbnQxNihlKSx0LmdldFVpbnQxNihlKzIpLHQuZ2V0VWludDE2KGUrNCksdC5nZXRVaW50MTYoZSs2KSk7ZSs9OH1sZXQgbz1udWxsO2lmKDI1NiZzKXtjb25zdCBpPXQuZ2V0VWludDE2KGUpO2UrPTI7bz1uZXcgVWludDhBcnJheSh0KS5zbGljZShlLGUraSk7ZSs9aX1yZXR1cm5bZS1pLG5ldyBDb21wb3NpdGVHbHlwaCh7ZmxhZ3M6cyxnbHlwaEluZGV4OnIsYXJndW1lbnQxOm4sYXJndW1lbnQyOmcsdHJhbnNmOmEsaW5zdHJ1Y3Rpb25zOm99KV19Z2V0U2l6ZSgpe2xldCBlPTQrMip0aGlzLnRyYW5zZi5sZW5ndGg7MjU2JnRoaXMuZmxhZ3MmJihlKz0yK3RoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCk7ZSs9MjsyJnRoaXMuZmxhZ3M/dGhpcy5hcmd1bWVudDE+PS0xMjgmJnRoaXMuYXJndW1lbnQxPD0xMjcmJnRoaXMuYXJndW1lbnQyPj0tMTI4JiZ0aGlzLmFyZ3VtZW50Mjw9MTI3fHwoZSs9Mik6dGhpcy5hcmd1bWVudDE+PTAmJnRoaXMuYXJndW1lbnQxPD0yNTUmJnRoaXMuYXJndW1lbnQyPj0wJiZ0aGlzLmFyZ3VtZW50Mjw9MjU1fHwoZSs9Mik7cmV0dXJuIGV9d3JpdGUoZSx0KXtjb25zdCBpPWU7MiZ0aGlzLmZsYWdzP3RoaXMuYXJndW1lbnQxPj0tMTI4JiZ0aGlzLmFyZ3VtZW50MTw9MTI3JiZ0aGlzLmFyZ3VtZW50Mj49LTEyOCYmdGhpcy5hcmd1bWVudDI8PTEyN3x8KHRoaXMuZmxhZ3N8PTEpOnRoaXMuYXJndW1lbnQxPj0wJiZ0aGlzLmFyZ3VtZW50MTw9MjU1JiZ0aGlzLmFyZ3VtZW50Mj49MCYmdGhpcy5hcmd1bWVudDI8PTI1NXx8KHRoaXMuZmxhZ3N8PTEpO3Quc2V0VWludDE2KGUsdGhpcy5mbGFncyk7dC5zZXRVaW50MTYoZSsyLHRoaXMuZ2x5cGhJbmRleCk7ZSs9NDtpZigxJnRoaXMuZmxhZ3Mpe2lmKDImdGhpcy5mbGFncyl7dC5zZXRJbnQxNihlLHRoaXMuYXJndW1lbnQxKTt0LnNldEludDE2KGUrMix0aGlzLmFyZ3VtZW50Mil9ZWxzZXt0LnNldFVpbnQxNihlLHRoaXMuYXJndW1lbnQxKTt0LnNldFVpbnQxNihlKzIsdGhpcy5hcmd1bWVudDIpfWUrPTR9ZWxzZXt0LnNldFVpbnQ4KGUsdGhpcy5hcmd1bWVudDEpO3Quc2V0VWludDgoZSsxLHRoaXMuYXJndW1lbnQyKTtlKz0yfWlmKDI1NiZ0aGlzLmZsYWdzKXt0LnNldFVpbnQxNihlLHRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCk7ZSs9MjtpZih0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpe25ldyBVaW50OEFycmF5KHQuYnVmZmVyLDAsdC5idWZmZXIuYnl0ZUxlbmd0aCkuc2V0KHRoaXMuaW5zdHJ1Y3Rpb25zLGUpO2UrPXRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aH19cmV0dXJuIGUtaX1zY2FsZShlLHQpe319ZnVuY3Rpb24gd3JpdGVJbnQxNihlLHQsaSl7ZVt0XT1pPj44JjI1NTtlW3QrMV09MjU1Jml9ZnVuY3Rpb24gd3JpdGVJbnQzMihlLHQsaSl7ZVt0XT1pPj4yNCYyNTU7ZVt0KzFdPWk+PjE2JjI1NTtlW3QrMl09aT4+OCYyNTU7ZVt0KzNdPTI1NSZpfWZ1bmN0aW9uIHdyaXRlRGF0YShlLHQsaSl7aWYoaSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpZS5zZXQoaSx0KTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgaSlmb3IobGV0IGE9MCxzPWkubGVuZ3RoO2E8czthKyspZVt0KytdPTI1NSZpLmNoYXJDb2RlQXQoYSk7ZWxzZSBmb3IoY29uc3QgYSBvZiBpKWVbdCsrXT0yNTUmYX1jbGFzcyBPcGVuVHlwZUZpbGVCdWlsZGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuc2ZudD1lO3RoaXMudGFibGVzPU9iamVjdC5jcmVhdGUobnVsbCl9c3RhdGljIGdldFNlYXJjaFBhcmFtcyhlLHQpe2xldCBpPTEsYT0wO2Zvcig7KGleZSk+aTspe2k8PD0xO2ErK31jb25zdCBzPWkqdDtyZXR1cm57cmFuZ2U6cyxlbnRyeTphLHJhbmdlU2hpZnQ6dCplLXN9fXRvQXJyYXkoKXtsZXQgZT10aGlzLnNmbnQ7Y29uc3QgdD10aGlzLnRhYmxlcyxpPU9iamVjdC5rZXlzKHQpO2kuc29ydCgpO2NvbnN0IGE9aS5sZW5ndGg7bGV0IHMscixuLGcsbyxjPTEyKzE2KmE7Y29uc3QgQz1bY107Zm9yKHM9MDtzPGE7cysrKXtnPXRbaVtzXV07Yys9KGcubGVuZ3RoKzMmLTQpPj4+MDtDLnB1c2goYyl9Y29uc3QgaD1uZXcgVWludDhBcnJheShjKTtmb3Iocz0wO3M8YTtzKyspe2c9dFtpW3NdXTt3cml0ZURhdGEoaCxDW3NdLGcpfSJ0cnVlIj09PWUmJihlPXN0cmluZzMyKDY1NTM2KSk7aFswXT0yNTUmZS5jaGFyQ29kZUF0KDApO2hbMV09MjU1JmUuY2hhckNvZGVBdCgxKTtoWzJdPTI1NSZlLmNoYXJDb2RlQXQoMik7aFszXT0yNTUmZS5jaGFyQ29kZUF0KDMpO3dyaXRlSW50MTYoaCw0LGEpO2NvbnN0IGw9T3BlblR5cGVGaWxlQnVpbGRlci5nZXRTZWFyY2hQYXJhbXMoYSwxNik7d3JpdGVJbnQxNihoLDYsbC5yYW5nZSk7d3JpdGVJbnQxNihoLDgsbC5lbnRyeSk7d3JpdGVJbnQxNihoLDEwLGwucmFuZ2VTaGlmdCk7Yz0xMjtmb3Iocz0wO3M8YTtzKyspe289aVtzXTtoW2NdPTI1NSZvLmNoYXJDb2RlQXQoMCk7aFtjKzFdPTI1NSZvLmNoYXJDb2RlQXQoMSk7aFtjKzJdPTI1NSZvLmNoYXJDb2RlQXQoMik7aFtjKzNdPTI1NSZvLmNoYXJDb2RlQXQoMyk7bGV0IGU9MDtmb3Iocj1DW3NdLG49Q1tzKzFdO3I8bjtyKz00KXtlPWUrcmVhZFVpbnQzMihoLHIpPj4+MH13cml0ZUludDMyKGgsYys0LGUpO3dyaXRlSW50MzIoaCxjKzgsQ1tzXSk7d3JpdGVJbnQzMihoLGMrMTIsdFtvXS5sZW5ndGgpO2MrPTE2fXJldHVybiBofWFkZFRhYmxlKGUsdCl7aWYoZSBpbiB0aGlzLnRhYmxlcyl0aHJvdyBuZXcgRXJyb3IoIlRhYmxlICIrZSsiIGFscmVhZHkgZXhpc3RzIik7dGhpcy50YWJsZXNbZV09dH19Y29uc3Qgc2E9WzRdLHJhPVs1XSxuYT1bNl0sZ2E9WzddLG9hPVs4XSxJYT1bMTIsMzVdLGNhPVsxNF0sQ2E9WzIxXSxoYT1bMjJdLGxhPVszMF0sQmE9WzMxXTtjbGFzcyBUeXBlMUNoYXJTdHJpbmd7Y29uc3RydWN0b3IoKXt0aGlzLndpZHRoPTA7dGhpcy5sc2I9MDt0aGlzLmZsZXhpbmc9ITE7dGhpcy5vdXRwdXQ9W107dGhpcy5zdGFjaz1bXX1jb252ZXJ0KGUsdCxpKXtjb25zdCBhPWUubGVuZ3RoO2xldCBzLHIsbixnPSExO2ZvcihsZXQgbz0wO288YTtvKyspe2xldCBhPWVbb107aWYoYTwzMil7MTI9PT1hJiYoYT0oYTw8OCkrZVsrK29dKTtzd2l0Y2goYSl7Y2FzZSAxOmNhc2UgMzpjYXNlIDk6Y2FzZSAzMDcyOmNhc2UgMzA3MzpjYXNlIDMwNzQ6Y2FzZSAzMTA1OnRoaXMuc3RhY2s9W107YnJlYWs7Y2FzZSA0OmlmKHRoaXMuZmxleGluZyl7aWYodGhpcy5zdGFjay5sZW5ndGg8MSl7Zz0hMDticmVha31jb25zdCBlPXRoaXMuc3RhY2sucG9wKCk7dGhpcy5zdGFjay5wdXNoKDAsZSk7YnJlYWt9Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDEsc2EpO2JyZWFrO2Nhc2UgNTpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMixyYSk7YnJlYWs7Y2FzZSA2Omc9dGhpcy5leGVjdXRlQ29tbWFuZCgxLG5hKTticmVhaztjYXNlIDc6Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDEsZ2EpO2JyZWFrO2Nhc2UgODpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoNixvYSk7YnJlYWs7Y2FzZSAxMDppZih0aGlzLnN0YWNrLmxlbmd0aDwxKXtnPSEwO2JyZWFrfW49dGhpcy5zdGFjay5wb3AoKTtpZighdFtuXSl7Zz0hMDticmVha31nPXRoaXMuY29udmVydCh0W25dLHQsaSk7YnJlYWs7Y2FzZSAxMTpyZXR1cm4gZztjYXNlIDEzOmlmKHRoaXMuc3RhY2subGVuZ3RoPDIpe2c9ITA7YnJlYWt9cz10aGlzLnN0YWNrLnBvcCgpO3I9dGhpcy5zdGFjay5wb3AoKTt0aGlzLmxzYj1yO3RoaXMud2lkdGg9czt0aGlzLnN0YWNrLnB1c2gocyxyKTtnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMixoYSk7YnJlYWs7Y2FzZSAxNDp0aGlzLm91dHB1dC5wdXNoKGNhWzBdKTticmVhaztjYXNlIDIxOmlmKHRoaXMuZmxleGluZylicmVhaztnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMixDYSk7YnJlYWs7Y2FzZSAyMjppZih0aGlzLmZsZXhpbmcpe3RoaXMuc3RhY2sucHVzaCgwKTticmVha31nPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMSxoYSk7YnJlYWs7Y2FzZSAzMDpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoNCxsYSk7YnJlYWs7Y2FzZSAzMTpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoNCxCYSk7YnJlYWs7Y2FzZSAzMDc4OmlmKGkpe2NvbnN0IGU9dGhpcy5zdGFjay5hdCgtNSk7dGhpcy5zZWFjPXRoaXMuc3RhY2suc3BsaWNlKC00LDQpO3RoaXMuc2VhY1swXSs9dGhpcy5sc2ItZTtnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMCxjYSl9ZWxzZSBnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoNCxjYSk7YnJlYWs7Y2FzZSAzMDc5OmlmKHRoaXMuc3RhY2subGVuZ3RoPDQpe2c9ITA7YnJlYWt9dGhpcy5zdGFjay5wb3AoKTtzPXRoaXMuc3RhY2sucG9wKCk7Y29uc3QgZT10aGlzLnN0YWNrLnBvcCgpO3I9dGhpcy5zdGFjay5wb3AoKTt0aGlzLmxzYj1yO3RoaXMud2lkdGg9czt0aGlzLnN0YWNrLnB1c2gocyxyLGUpO2c9dGhpcy5leGVjdXRlQ29tbWFuZCgzLENhKTticmVhaztjYXNlIDMwODQ6aWYodGhpcy5zdGFjay5sZW5ndGg8Mil7Zz0hMDticmVha31jb25zdCBvPXRoaXMuc3RhY2sucG9wKCksYz10aGlzLnN0YWNrLnBvcCgpO3RoaXMuc3RhY2sucHVzaChjL28pO2JyZWFrO2Nhc2UgMzA4ODppZih0aGlzLnN0YWNrLmxlbmd0aDwyKXtnPSEwO2JyZWFrfW49dGhpcy5zdGFjay5wb3AoKTtjb25zdCBDPXRoaXMuc3RhY2sucG9wKCk7aWYoMD09PW4mJjM9PT1DKXtjb25zdCBlPXRoaXMuc3RhY2suc3BsaWNlKC0xNywxNyk7dGhpcy5zdGFjay5wdXNoKGVbMl0rZVswXSxlWzNdK2VbMV0sZVs0XSxlWzVdLGVbNl0sZVs3XSxlWzhdLGVbOV0sZVsxMF0sZVsxMV0sZVsxMl0sZVsxM10sZVsxNF0pO2c9dGhpcy5leGVjdXRlQ29tbWFuZCgxMyxJYSwhMCk7dGhpcy5mbGV4aW5nPSExO3RoaXMuc3RhY2sucHVzaChlWzE1XSxlWzE2XSl9ZWxzZSAxPT09biYmMD09PUMmJih0aGlzLmZsZXhpbmc9ITApO2JyZWFrO2Nhc2UgMzA4OTpicmVhaztkZWZhdWx0Ondhcm4oJ1Vua25vd24gdHlwZSAxIGNoYXJzdHJpbmcgY29tbWFuZCBvZiAiJythKyciJyl9aWYoZylicmVha31lbHNle2E8PTI0Nj9hLT0xMzk6YT1hPD0yNTA/MjU2KihhLTI0NykrZVsrK29dKzEwODphPD0yNTQ/LTI1NiooYS0yNTEpLWVbKytvXS0xMDg6KDI1NSZlWysrb10pPDwyNHwoMjU1JmVbKytvXSk8PDE2fCgyNTUmZVsrK29dKTw8OHwoMjU1JmVbKytvXSk8PDA7dGhpcy5zdGFjay5wdXNoKGEpfX1yZXR1cm4gZ31leGVjdXRlQ29tbWFuZChlLHQsaSl7Y29uc3QgYT10aGlzLnN0YWNrLmxlbmd0aDtpZihlPmEpcmV0dXJuITA7Y29uc3Qgcz1hLWU7Zm9yKGxldCBlPXM7ZTxhO2UrKyl7bGV0IHQ9dGhpcy5zdGFja1tlXTtpZihOdW1iZXIuaXNJbnRlZ2VyKHQpKXRoaXMub3V0cHV0LnB1c2goMjgsdD4+OCYyNTUsMjU1JnQpO2Vsc2V7dD02NTUzNip0fDA7dGhpcy5vdXRwdXQucHVzaCgyNTUsdD4+MjQmMjU1LHQ+PjE2JjI1NSx0Pj44JjI1NSwyNTUmdCl9fXRoaXMub3V0cHV0LnB1c2goLi4udCk7aT90aGlzLnN0YWNrLnNwbGljZShzLGUpOnRoaXMuc3RhY2subGVuZ3RoPTA7cmV0dXJuITF9fWZ1bmN0aW9uIGlzSGV4RGlnaXQoZSl7cmV0dXJuIGU+PTQ4JiZlPD01N3x8ZT49NjUmJmU8PTcwfHxlPj05NyYmZTw9MTAyfWZ1bmN0aW9uIGRlY3J5cHQoZSx0LGkpe2lmKGk+PWUubGVuZ3RoKXJldHVybiBuZXcgVWludDhBcnJheSgwKTtsZXQgYSxzLHI9MHx0O2ZvcihhPTA7YTxpO2ErKylyPTUyODQ1KihlW2FdK3IpKzIyNzE5JjY1NTM1O2NvbnN0IG49ZS5sZW5ndGgtaSxnPW5ldyBVaW50OEFycmF5KG4pO2ZvcihhPWkscz0wO3M8bjthKysscysrKXtjb25zdCB0PWVbYV07Z1tzXT10XnI+Pjg7cj01Mjg0NSoodCtyKSsyMjcxOSY2NTUzNX1yZXR1cm4gZ31mdW5jdGlvbiBpc1NwZWNpYWwoZSl7cmV0dXJuIDQ3PT09ZXx8OTE9PT1lfHw5Mz09PWV8fDEyMz09PWV8fDEyNT09PWV8fDQwPT09ZXx8NDE9PT1lfWNsYXNzIFR5cGUxUGFyc2Vye2NvbnN0cnVjdG9yKGUsdCxpKXtpZih0KXtjb25zdCB0PWUuZ2V0Qnl0ZXMoKSxpPSEoKGlzSGV4RGlnaXQodFswXSl8fGlzV2hpdGVTcGFjZSh0WzBdKSkmJmlzSGV4RGlnaXQodFsxXSkmJmlzSGV4RGlnaXQodFsyXSkmJmlzSGV4RGlnaXQodFszXSkmJmlzSGV4RGlnaXQodFs0XSkmJmlzSGV4RGlnaXQodFs1XSkmJmlzSGV4RGlnaXQodFs2XSkmJmlzSGV4RGlnaXQodFs3XSkpO2U9bmV3IFN0cmVhbShpP2RlY3J5cHQodCw1NTY2NSw0KTpmdW5jdGlvbiBkZWNyeXB0QXNjaWkoZSx0LGkpe2xldCBhPTB8dDtjb25zdCBzPWUubGVuZ3RoLHI9bmV3IFVpbnQ4QXJyYXkocz4+PjEpO2xldCBuLGc7Zm9yKG49MCxnPTA7bjxzO24rKyl7Y29uc3QgdD1lW25dO2lmKCFpc0hleERpZ2l0KHQpKWNvbnRpbnVlO24rKztsZXQgaTtmb3IoO248cyYmIWlzSGV4RGlnaXQoaT1lW25dKTspbisrO2lmKG48cyl7Y29uc3QgZT1wYXJzZUludChTdHJpbmcuZnJvbUNoYXJDb2RlKHQsaSksMTYpO3JbZysrXT1lXmE+Pjg7YT01Mjg0NSooZSthKSsyMjcxOSY2NTUzNX19cmV0dXJuIHIuc2xpY2UoaSxnKX0odCw1NTY2NSw0KSl9dGhpcy5zZWFjQW5hbHlzaXNFbmFibGVkPSEhaTt0aGlzLnN0cmVhbT1lO3RoaXMubmV4dENoYXIoKX1yZWFkTnVtYmVyQXJyYXkoKXt0aGlzLmdldFRva2VuKCk7Y29uc3QgZT1bXTtmb3IoOzspe2NvbnN0IHQ9dGhpcy5nZXRUb2tlbigpO2lmKG51bGw9PT10fHwiXSI9PT10fHwifSI9PT10KWJyZWFrO2UucHVzaChwYXJzZUZsb2F0KHR8fDApKX1yZXR1cm4gZX1yZWFkTnVtYmVyKCl7Y29uc3QgZT10aGlzLmdldFRva2VuKCk7cmV0dXJuIHBhcnNlRmxvYXQoZXx8MCl9cmVhZEludCgpe2NvbnN0IGU9dGhpcy5nZXRUb2tlbigpO3JldHVybiAwfHBhcnNlSW50KGV8fDAsMTApfXJlYWRCb29sZWFuKCl7cmV0dXJuInRydWUiPT09dGhpcy5nZXRUb2tlbigpPzE6MH1uZXh0Q2hhcigpe3JldHVybiB0aGlzLmN1cnJlbnRDaGFyPXRoaXMuc3RyZWFtLmdldEJ5dGUoKX1wcmV2Q2hhcigpe3RoaXMuc3RyZWFtLnNraXAoLTIpO3JldHVybiB0aGlzLmN1cnJlbnRDaGFyPXRoaXMuc3RyZWFtLmdldEJ5dGUoKX1nZXRUb2tlbigpe2xldCBlPSExLHQ9dGhpcy5jdXJyZW50Q2hhcjtmb3IoOzspe2lmKC0xPT09dClyZXR1cm4gbnVsbDtpZihlKTEwIT09dCYmMTMhPT10fHwoZT0hMSk7ZWxzZSBpZigzNz09PXQpZT0hMDtlbHNlIGlmKCFpc1doaXRlU3BhY2UodCkpYnJlYWs7dD10aGlzLm5leHRDaGFyKCl9aWYoaXNTcGVjaWFsKHQpKXt0aGlzLm5leHRDaGFyKCk7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodCl9bGV0IGk9IiI7ZG97aSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTt0PXRoaXMubmV4dENoYXIoKX13aGlsZSh0Pj0wJiYhaXNXaGl0ZVNwYWNlKHQpJiYhaXNTcGVjaWFsKHQpKTtyZXR1cm4gaX1yZWFkQ2hhclN0cmluZ3MoZSx0KXtyZXR1cm4tMT09PXQ/ZTpkZWNyeXB0KGUsNDMzMCx0KX1leHRyYWN0Rm9udFByb2dyYW0oZSl7Y29uc3QgdD10aGlzLnN0cmVhbSxpPVtdLGE9W10scz1PYmplY3QuY3JlYXRlKG51bGwpO3MubGVuSVY9NDtjb25zdCByPXtzdWJyczpbXSxjaGFyc3RyaW5nczpbXSxwcm9wZXJ0aWVzOntwcml2YXRlRGF0YTpzfX07bGV0IG4sZyxvLGM7Zm9yKDtudWxsIT09KG49dGhpcy5nZXRUb2tlbigpKTspaWYoIi8iPT09bil7bj10aGlzLmdldFRva2VuKCk7c3dpdGNoKG4pe2Nhc2UiQ2hhclN0cmluZ3MiOnRoaXMuZ2V0VG9rZW4oKTt0aGlzLmdldFRva2VuKCk7dGhpcy5nZXRUb2tlbigpO3RoaXMuZ2V0VG9rZW4oKTtmb3IoOzspe249dGhpcy5nZXRUb2tlbigpO2lmKG51bGw9PT1ufHwiZW5kIj09PW4pYnJlYWs7aWYoIi8iIT09biljb250aW51ZTtjb25zdCBlPXRoaXMuZ2V0VG9rZW4oKTtnPXRoaXMucmVhZEludCgpO3RoaXMuZ2V0VG9rZW4oKTtvPWc+MD90LmdldEJ5dGVzKGcpOm5ldyBVaW50OEFycmF5KDApO2M9ci5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhLmxlbklWO2NvbnN0IGk9dGhpcy5yZWFkQ2hhclN0cmluZ3MobyxjKTt0aGlzLm5leHRDaGFyKCk7bj10aGlzLmdldFRva2VuKCk7Im5vYWNjZXNzIj09PW4/dGhpcy5nZXRUb2tlbigpOiIvIj09PW4mJnRoaXMucHJldkNoYXIoKTthLnB1c2goe2dseXBoOmUsZW5jb2RlZDppfSl9YnJlYWs7Y2FzZSJTdWJycyI6dGhpcy5yZWFkSW50KCk7dGhpcy5nZXRUb2tlbigpO2Zvcig7ImR1cCI9PT10aGlzLmdldFRva2VuKCk7KXtjb25zdCBlPXRoaXMucmVhZEludCgpO2c9dGhpcy5yZWFkSW50KCk7dGhpcy5nZXRUb2tlbigpO289Zz4wP3QuZ2V0Qnl0ZXMoZyk6bmV3IFVpbnQ4QXJyYXkoMCk7Yz1yLnByb3BlcnRpZXMucHJpdmF0ZURhdGEubGVuSVY7Y29uc3QgYT10aGlzLnJlYWRDaGFyU3RyaW5ncyhvLGMpO3RoaXMubmV4dENoYXIoKTtuPXRoaXMuZ2V0VG9rZW4oKTsibm9hY2Nlc3MiPT09biYmdGhpcy5nZXRUb2tlbigpO2lbZV09YX1icmVhaztjYXNlIkJsdWVWYWx1ZXMiOmNhc2UiT3RoZXJCbHVlcyI6Y2FzZSJGYW1pbHlCbHVlcyI6Y2FzZSJGYW1pbHlPdGhlckJsdWVzIjpjb25zdCBlPXRoaXMucmVhZE51bWJlckFycmF5KCk7ZS5sZW5ndGg+MCYmZS5sZW5ndGgsMDticmVhaztjYXNlIlN0ZW1TbmFwSCI6Y2FzZSJTdGVtU25hcFYiOnIucHJvcGVydGllcy5wcml2YXRlRGF0YVtuXT10aGlzLnJlYWROdW1iZXJBcnJheSgpO2JyZWFrO2Nhc2UiU3RkSFciOmNhc2UiU3RkVlciOnIucHJvcGVydGllcy5wcml2YXRlRGF0YVtuXT10aGlzLnJlYWROdW1iZXJBcnJheSgpWzBdO2JyZWFrO2Nhc2UiQmx1ZVNoaWZ0IjpjYXNlImxlbklWIjpjYXNlIkJsdWVGdXp6IjpjYXNlIkJsdWVTY2FsZSI6Y2FzZSJMYW5ndWFnZUdyb3VwIjpyLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbbl09dGhpcy5yZWFkTnVtYmVyKCk7YnJlYWs7Y2FzZSJFeHBhbnNpb25GYWN0b3IiOnIucHJvcGVydGllcy5wcml2YXRlRGF0YVtuXT10aGlzLnJlYWROdW1iZXIoKXx8LjA2O2JyZWFrO2Nhc2UiRm9yY2VCb2xkIjpyLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbbl09dGhpcy5yZWFkQm9vbGVhbigpfX1mb3IoY29uc3R7ZW5jb2RlZDp0LGdseXBoOnN9b2YgYSl7Y29uc3QgYT1uZXcgVHlwZTFDaGFyU3RyaW5nLG49YS5jb252ZXJ0KHQsaSx0aGlzLnNlYWNBbmFseXNpc0VuYWJsZWQpO2xldCBnPWEub3V0cHV0O24mJihnPVsxNF0pO2NvbnN0IG89e2dseXBoTmFtZTpzLGNoYXJzdHJpbmc6Zyx3aWR0aDphLndpZHRoLGxzYjphLmxzYixzZWFjOmEuc2VhY307Ii5ub3RkZWYiPT09cz9yLmNoYXJzdHJpbmdzLnVuc2hpZnQobyk6ci5jaGFyc3RyaW5ncy5wdXNoKG8pO2lmKGUuYnVpbHRJbkVuY29kaW5nKXtjb25zdCB0PWUuYnVpbHRJbkVuY29kaW5nLmluZGV4T2Yocyk7dD4tMSYmdm9pZCAwPT09ZS53aWR0aHNbdF0mJnQ+PWUuZmlyc3RDaGFyJiZ0PD1lLmxhc3RDaGFyJiYoZS53aWR0aHNbdF09YS53aWR0aCl9fXJldHVybiByfWV4dHJhY3RGb250SGVhZGVyKGUpe2xldCB0O2Zvcig7bnVsbCE9PSh0PXRoaXMuZ2V0VG9rZW4oKSk7KWlmKCIvIj09PXQpe3Q9dGhpcy5nZXRUb2tlbigpO3N3aXRjaCh0KXtjYXNlIkZvbnRNYXRyaXgiOmNvbnN0IGk9dGhpcy5yZWFkTnVtYmVyQXJyYXkoKTtlLmZvbnRNYXRyaXg9aTticmVhaztjYXNlIkVuY29kaW5nIjpjb25zdCBhPXRoaXMuZ2V0VG9rZW4oKTtsZXQgcztpZigvXlxkKyQvLnRlc3QoYSkpe3M9W107Y29uc3QgZT0wfHBhcnNlSW50KGEsMTApO3RoaXMuZ2V0VG9rZW4oKTtmb3IobGV0IGk9MDtpPGU7aSsrKXt0PXRoaXMuZ2V0VG9rZW4oKTtmb3IoOyJkdXAiIT09dCYmImRlZiIhPT10Oyl7dD10aGlzLmdldFRva2VuKCk7aWYobnVsbD09PXQpcmV0dXJufWlmKCJkZWYiPT09dClicmVhaztjb25zdCBlPXRoaXMucmVhZEludCgpO3RoaXMuZ2V0VG9rZW4oKTtjb25zdCBpPXRoaXMuZ2V0VG9rZW4oKTtzW2VdPWk7dGhpcy5nZXRUb2tlbigpfX1lbHNlIHM9Z2V0RW5jb2RpbmcoYSk7ZS5idWlsdEluRW5jb2Rpbmc9czticmVhaztjYXNlIkZvbnRCQm94Ijpjb25zdCByPXRoaXMucmVhZE51bWJlckFycmF5KCk7ZS5hc2NlbnQ9TWF0aC5tYXgoclszXSxyWzFdKTtlLmRlc2NlbnQ9TWF0aC5taW4oclsxXSxyWzNdKTtlLmFzY2VudFNjYWxlZD0hMH19fX1mdW5jdGlvbiBmaW5kQmxvY2soZSx0LGkpe2NvbnN0IGE9ZS5sZW5ndGgscz10Lmxlbmd0aCxyPWEtcztsZXQgbj1pLGc9ITE7Zm9yKDtuPHI7KXtsZXQgaT0wO2Zvcig7aTxzJiZlW24raV09PT10W2ldOylpKys7aWYoaT49cyl7bis9aTtmb3IoO248YSYmaXNXaGl0ZVNwYWNlKGVbbl0pOyluKys7Zz0hMDticmVha31uKyt9cmV0dXJue2ZvdW5kOmcsbGVuZ3RoOm59fWNsYXNzIFR5cGUxRm9udHtjb25zdHJ1Y3RvcihlLHQsaSl7bGV0IGE9aS5sZW5ndGgxLHM9aS5sZW5ndGgyLHI9dC5wZWVrQnl0ZXMoNik7Y29uc3Qgbj0xMjg9PT1yWzBdJiYxPT09clsxXTtpZihuKXt0LnNraXAoNik7YT1yWzVdPDwyNHxyWzRdPDwxNnxyWzNdPDw4fHJbMl19Y29uc3QgZz1mdW5jdGlvbiBnZXRIZWFkZXJCbG9jayhlLHQpe2NvbnN0IGk9WzEwMSwxMDEsMTIwLDEwMSw5OV0sYT1lLnBvcztsZXQgcyxyLG4sZzt0cnl7cz1lLmdldEJ5dGVzKHQpO3I9cy5sZW5ndGh9Y2F0Y2h7fWlmKHI9PT10KXtuPWZpbmRCbG9jayhzLGksdC0yKmkubGVuZ3RoKTtpZihuLmZvdW5kJiZuLmxlbmd0aD09PXQpcmV0dXJue3N0cmVhbTpuZXcgU3RyZWFtKHMpLGxlbmd0aDp0fX13YXJuKCdJbnZhbGlkICJMZW5ndGgxIiBwcm9wZXJ0eSBpbiBUeXBlMSBmb250IC0tIHRyeWluZyB0byByZWNvdmVyLicpO2UucG9zPWE7Zm9yKDs7KXtuPWZpbmRCbG9jayhlLnBlZWtCeXRlcygyMDQ4KSxpLDApO2lmKDA9PT1uLmxlbmd0aClicmVhaztlLnBvcys9bi5sZW5ndGg7aWYobi5mb3VuZCl7Zz1lLnBvcy1hO2JyZWFrfX1lLnBvcz1hO2lmKGcpcmV0dXJue3N0cmVhbTpuZXcgU3RyZWFtKGUuZ2V0Qnl0ZXMoZykpLGxlbmd0aDpnfTt3YXJuKCdVbmFibGUgdG8gcmVjb3ZlciAiTGVuZ3RoMSIgcHJvcGVydHkgaW4gVHlwZTEgZm9udCAtLSB1c2luZyBhcyBpcy4nKTtyZXR1cm57c3RyZWFtOm5ldyBTdHJlYW0oZS5nZXRCeXRlcyh0KSksbGVuZ3RoOnR9fSh0LGEpO25ldyBUeXBlMVBhcnNlcihnLnN0cmVhbSwhMSxUaSkuZXh0cmFjdEZvbnRIZWFkZXIoaSk7aWYobil7cj10LmdldEJ5dGVzKDYpO3M9cls1XTw8MjR8cls0XTw8MTZ8clszXTw8OHxyWzJdfWNvbnN0IG89ZnVuY3Rpb24gZ2V0RWV4ZWNCbG9jayhlLHQpe2NvbnN0IGk9ZS5nZXRCeXRlcygpO2lmKDA9PT1pLmxlbmd0aCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImdldEVleGVjQmxvY2sgLSBubyBmb250IHByb2dyYW0gZm91bmQuIik7cmV0dXJue3N0cmVhbTpuZXcgU3RyZWFtKGkpLGxlbmd0aDppLmxlbmd0aH19KHQpLGM9bmV3IFR5cGUxUGFyc2VyKG8uc3RyZWFtLCEwLFRpKS5leHRyYWN0Rm9udFByb2dyYW0oaSk7Zm9yKGNvbnN0IGUgaW4gYy5wcm9wZXJ0aWVzKWlbZV09Yy5wcm9wZXJ0aWVzW2VdO2NvbnN0IEM9Yy5jaGFyc3RyaW5ncyxoPXRoaXMuZ2V0VHlwZTJDaGFyc3RyaW5ncyhDKSxsPXRoaXMuZ2V0VHlwZTJTdWJycyhjLnN1YnJzKTt0aGlzLmNoYXJzdHJpbmdzPUM7dGhpcy5kYXRhPXRoaXMud3JhcChlLGgsdGhpcy5jaGFyc3RyaW5ncyxsLGkpO3RoaXMuc2VhY3M9dGhpcy5nZXRTZWFjcyhjLmNoYXJzdHJpbmdzKX1nZXQgbnVtR2x5cGhzKCl7cmV0dXJuIHRoaXMuY2hhcnN0cmluZ3MubGVuZ3RoKzF9Z2V0Q2hhcnNldCgpe2NvbnN0IGU9WyIubm90ZGVmIl07Zm9yKGNvbnN0e2dseXBoTmFtZTp0fW9mIHRoaXMuY2hhcnN0cmluZ3MpZS5wdXNoKHQpO3JldHVybiBlfWdldEdseXBoTWFwcGluZyhlKXtjb25zdCB0PXRoaXMuY2hhcnN0cmluZ3M7aWYoZS5jb21wb3NpdGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IGE9MCxzPXQubGVuZ3RoO2E8czthKyspe2lbZS5jTWFwLmNoYXJDb2RlT2YoYSldPWErMX1yZXR1cm4gaX1jb25zdCBpPVsiLm5vdGRlZiJdO2xldCBhLHM7Zm9yKHM9MDtzPHQubGVuZ3RoO3MrKylpLnB1c2godFtzXS5nbHlwaE5hbWUpO2NvbnN0IHI9ZS5idWlsdEluRW5jb2Rpbmc7aWYocil7YT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCBlIGluIHIpe3M9aS5pbmRleE9mKHJbZV0pO3M+PTAmJihhW2VdPXMpfX1yZXR1cm4gdHlwZTFGb250R2x5cGhNYXBwaW5nKGUsYSxpKX1oYXNHbHlwaElkKGUpe2lmKGU8MHx8ZT49dGhpcy5udW1HbHlwaHMpcmV0dXJuITE7aWYoMD09PWUpcmV0dXJuITA7cmV0dXJuIHRoaXMuY2hhcnN0cmluZ3NbZS0xXS5jaGFyc3RyaW5nLmxlbmd0aD4wfWdldFNlYWNzKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPWVbaV07YS5zZWFjJiYodFtpKzFdPWEuc2VhYyl9cmV0dXJuIHR9Z2V0VHlwZTJDaGFyc3RyaW5ncyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBpIG9mIGUpdC5wdXNoKGkuY2hhcnN0cmluZyk7cmV0dXJuIHR9Z2V0VHlwZTJTdWJycyhlKXtsZXQgdD0wO2NvbnN0IGk9ZS5sZW5ndGg7dD1pPDExMzM/MTA3Omk8MzM3Njk/MTEzMTozMjc2ODtjb25zdCBhPVtdO2xldCBzO2ZvcihzPTA7czx0O3MrKylhLnB1c2goWzExXSk7Zm9yKHM9MDtzPGk7cysrKWEucHVzaChlW3NdKTtyZXR1cm4gYX13cmFwKGUsdCxpLGEscyl7Y29uc3Qgcj1uZXcgQ0ZGO3IuaGVhZGVyPW5ldyBDRkZIZWFkZXIoMSwwLDQsNCk7ci5uYW1lcz1bZV07Y29uc3Qgbj1uZXcgQ0ZGVG9wRGljdDtuLnNldEJ5TmFtZSgidmVyc2lvbiIsMzkxKTtuLnNldEJ5TmFtZSgiTm90aWNlIiwzOTIpO24uc2V0QnlOYW1lKCJGdWxsTmFtZSIsMzkzKTtuLnNldEJ5TmFtZSgiRmFtaWx5TmFtZSIsMzk0KTtuLnNldEJ5TmFtZSgiV2VpZ2h0IiwzOTUpO24uc2V0QnlOYW1lKCJFbmNvZGluZyIsbnVsbCk7bi5zZXRCeU5hbWUoIkZvbnRNYXRyaXgiLHMuZm9udE1hdHJpeCk7bi5zZXRCeU5hbWUoIkZvbnRCQm94IixzLmJib3gpO24uc2V0QnlOYW1lKCJjaGFyc2V0IixudWxsKTtuLnNldEJ5TmFtZSgiQ2hhclN0cmluZ3MiLG51bGwpO24uc2V0QnlOYW1lKCJQcml2YXRlIixudWxsKTtyLnRvcERpY3Q9bjtjb25zdCBnPW5ldyBDRkZTdHJpbmdzO2cuYWRkKCJWZXJzaW9uIDAuMTEiKTtnLmFkZCgiU2VlIG9yaWdpbmFsIG5vdGljZSIpO2cuYWRkKGUpO2cuYWRkKGUpO2cuYWRkKCJNZWRpdW0iKTtyLnN0cmluZ3M9ZztyLmdsb2JhbFN1YnJJbmRleD1uZXcgQ0ZGSW5kZXg7Y29uc3Qgbz10Lmxlbmd0aCxjPVsiLm5vdGRlZiJdO2xldCBDLGg7Zm9yKEM9MDtDPG87QysrKXtjb25zdCBlPWlbQ10uZ2x5cGhOYW1lOy0xPT09YmkuaW5kZXhPZihlKSYmZy5hZGQoZSk7Yy5wdXNoKGUpfXIuY2hhcnNldD1uZXcgQ0ZGQ2hhcnNldCghMSwwLGMpO2NvbnN0IGw9bmV3IENGRkluZGV4O2wuYWRkKFsxMzksMTRdKTtmb3IoQz0wO0M8bztDKyspbC5hZGQodFtDXSk7ci5jaGFyU3RyaW5ncz1sO2NvbnN0IFE9bmV3IENGRlByaXZhdGVEaWN0O1Euc2V0QnlOYW1lKCJTdWJycyIsbnVsbCk7Y29uc3QgRT1bIkJsdWVWYWx1ZXMiLCJPdGhlckJsdWVzIiwiRmFtaWx5Qmx1ZXMiLCJGYW1pbHlPdGhlckJsdWVzIiwiU3RlbVNuYXBIIiwiU3RlbVNuYXBWIiwiQmx1ZVNoaWZ0IiwiQmx1ZUZ1enoiLCJCbHVlU2NhbGUiLCJMYW5ndWFnZUdyb3VwIiwiRXhwYW5zaW9uRmFjdG9yIiwiRm9yY2VCb2xkIiwiU3RkSFciLCJTdGRWVyJdO2ZvcihDPTAsaD1FLmxlbmd0aDtDPGg7QysrKXtjb25zdCBlPUVbQ107aWYoIShlIGluIHMucHJpdmF0ZURhdGEpKWNvbnRpbnVlO2NvbnN0IHQ9cy5wcml2YXRlRGF0YVtlXTtpZihBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgZT10Lmxlbmd0aC0xO2U+MDtlLS0pdFtlXS09dFtlLTFdO1Euc2V0QnlOYW1lKGUsdCl9ci50b3BEaWN0LnByaXZhdGVEaWN0PVE7Y29uc3QgdT1uZXcgQ0ZGSW5kZXg7Zm9yKEM9MCxoPWEubGVuZ3RoO0M8aDtDKyspdS5hZGQoYVtDXSk7US5zdWJyc0luZGV4PXU7cmV0dXJuIG5ldyBDRkZDb21waWxlcihyKS5jb21waWxlKCl9fWNvbnN0IFFhPVtbNTczNDQsNjM3NDNdLFsxMDQ4NTc2LDExMTQxMDldXSxFYT0xZTMsdWE9WyJhc2NlbnQiLCJiYm94IiwiYmxhY2siLCJib2xkIiwiY2hhclByb2NPcGVyYXRvckxpc3QiLCJjb21wb3NpdGUiLCJjc3NGb250SW5mbyIsImRhdGEiLCJkZWZhdWx0Vk1ldHJpY3MiLCJkZWZhdWx0V2lkdGgiLCJkZXNjZW50IiwiZmFsbGJhY2tOYW1lIiwiZm9udE1hdHJpeCIsImlzSW52YWxpZFBERmpzRm9udCIsImlzVHlwZTNGb250IiwiaXRhbGljIiwibG9hZGVkTmFtZSIsIm1pbWV0eXBlIiwibWlzc2luZ0ZpbGUiLCJuYW1lIiwicmVtZWFzdXJlIiwic3VidHlwZSIsInN5c3RlbUZvbnRJbmZvIiwidHlwZSIsInZlcnRpY2FsIl0sZGE9WyJjTWFwIiwiZGVmYXVsdEVuY29kaW5nIiwiZGlmZmVyZW5jZXMiLCJpc01vbm9zcGFjZSIsImlzU2VyaWZGb250IiwiaXNTeW1ib2xpY0ZvbnQiLCJzZWFjTWFwIiwidG9Gb250Q2hhciIsInRvVW5pY29kZSIsInZtZXRyaWNzIiwid2lkdGhzIl07ZnVuY3Rpb24gYWRqdXN0V2lkdGhzKGUpe2lmKCFlLmZvbnRNYXRyaXgpcmV0dXJuO2lmKGUuZm9udE1hdHJpeFswXT09PWFbMF0pcmV0dXJuO2NvbnN0IHQ9LjAwMS9lLmZvbnRNYXRyaXhbMF0saT1lLndpZHRocztmb3IoY29uc3QgZSBpbiBpKWlbZV0qPXQ7ZS5kZWZhdWx0V2lkdGgqPXR9ZnVuY3Rpb24gYW1lbmRGYWxsYmFja1RvVW5pY29kZShlKXtpZighZS5mYWxsYmFja1RvVW5pY29kZSlyZXR1cm47aWYoZS50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcClyZXR1cm47Y29uc3QgdD1bXTtmb3IoY29uc3QgaSBpbiBlLmZhbGxiYWNrVG9Vbmljb2RlKWUudG9Vbmljb2RlLmhhcyhpKXx8KHRbaV09ZS5mYWxsYmFja1RvVW5pY29kZVtpXSk7dC5sZW5ndGg+MCYmZS50b1VuaWNvZGUuYW1lbmQodCl9Y2xhc3MgZm9udHNfR2x5cGh7Y29uc3RydWN0b3IoZSx0LGksYSxzLHIsbixnLG8pe3RoaXMub3JpZ2luYWxDaGFyQ29kZT1lO3RoaXMuZm9udENoYXI9dDt0aGlzLnVuaWNvZGU9aTt0aGlzLmFjY2VudD1hO3RoaXMud2lkdGg9czt0aGlzLnZtZXRyaWM9cjt0aGlzLm9wZXJhdG9yTGlzdElkPW47dGhpcy5pc1NwYWNlPWc7dGhpcy5pc0luRm9udD1vfWdldCBjYXRlZ29yeSgpe3JldHVybiBzaGFkb3codGhpcywiY2F0ZWdvcnkiLGZ1bmN0aW9uIGdldENoYXJVbmljb2RlQ2F0ZWdvcnkoZSl7Y29uc3QgdD12aS5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPWUubWF0Y2goWWkpLGE9e2lzV2hpdGVzcGFjZTohIWk/LlsxXSxpc1plcm9XaWR0aERpYWNyaXRpYzohIWk/LlsyXSxpc0ludmlzaWJsZUZvcm1hdE1hcms6ISFpPy5bM119O3ZpLnNldChlLGEpO3JldHVybiBhfSh0aGlzLnVuaWNvZGUpLCEwKX19ZnVuY3Rpb24gaW50MTYoZSx0KXtyZXR1cm4oZTw8OCkrdH1mdW5jdGlvbiB3cml0ZVNpZ25lZEludDE2KGUsdCxpKXtlW3QrMV09aTtlW3RdPWk+Pj44fWZ1bmN0aW9uIHNpZ25lZEludDE2KGUsdCl7Y29uc3QgaT0oZTw8OCkrdDtyZXR1cm4gMzI3NjgmaT9pLTY1NTM2Oml9ZnVuY3Rpb24gc3RyaW5nMTYoZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIHNhZmVTdHJpbmcxNihlKXtlPjMyNzY3P2U9MzI3Njc6ZTwtMzI3NjgmJihlPS0zMjc2OCk7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIGlzVHJ1ZVR5cGVDb2xsZWN0aW9uRmlsZShlKXtyZXR1cm4idHRjZiI9PT1ieXRlc1RvU3RyaW5nKGUucGVla0J5dGVzKDQpKX1mdW5jdGlvbiBnZXRGb250RmlsZVR5cGUoZSx7dHlwZTp0LHN1YnR5cGU6aSxjb21wb3NpdGU6YX0pe2xldCBzLHI7aWYoZnVuY3Rpb24gaXNUcnVlVHlwZUZpbGUoZSl7Y29uc3QgdD1lLnBlZWtCeXRlcyg0KTtyZXR1cm4gNjU1MzY9PT1yZWFkVWludDMyKHQsMCl8fCJ0cnVlIj09PWJ5dGVzVG9TdHJpbmcodCl9KGUpfHxpc1RydWVUeXBlQ29sbGVjdGlvbkZpbGUoZSkpcz1hPyJDSURGb250VHlwZTIiOiJUcnVlVHlwZSI7ZWxzZSBpZihmdW5jdGlvbiBpc09wZW5UeXBlRmlsZShlKXtyZXR1cm4iT1RUTyI9PT1ieXRlc1RvU3RyaW5nKGUucGVla0J5dGVzKDQpKX0oZSkpcz1hPyJDSURGb250VHlwZTIiOiJPcGVuVHlwZSI7ZWxzZSBpZihmdW5jdGlvbiBpc1R5cGUxRmlsZShlKXtjb25zdCB0PWUucGVla0J5dGVzKDIpO3JldHVybiAzNz09PXRbMF0mJjMzPT09dFsxXXx8MTI4PT09dFswXSYmMT09PXRbMV19KGUpKXM9YT8iQ0lERm9udFR5cGUwIjoiTU1UeXBlMSI9PT10PyJNTVR5cGUxIjoiVHlwZTEiO2Vsc2UgaWYoZnVuY3Rpb24gaXNDRkZGaWxlKGUpe2NvbnN0IHQ9ZS5wZWVrQnl0ZXMoNCk7cmV0dXJuIHRbMF0+PTEmJnRbM10+PTEmJnRbM108PTR9KGUpKWlmKGEpe3M9IkNJREZvbnRUeXBlMCI7cj0iQ0lERm9udFR5cGUwQyJ9ZWxzZXtzPSJNTVR5cGUxIj09PXQ/Ik1NVHlwZTEiOiJUeXBlMSI7cj0iVHlwZTFDIn1lbHNle3dhcm4oImdldEZvbnRGaWxlVHlwZTogVW5hYmxlIHRvIGRldGVjdCBjb3JyZWN0IGZvbnQgZmlsZSBUeXBlL1N1YnR5cGUuIik7cz10O3I9aX1yZXR1cm5bcyxyXX1mdW5jdGlvbiBhcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGUsdCl7Zm9yKGNvbnN0IGkgaW4gdCllWytpXT10W2ldfWZ1bmN0aW9uIGJ1aWxkVG9Gb250Q2hhcihlLHQsaSl7Y29uc3QgYT1bXTtsZXQgcztmb3IobGV0IGk9MCxyPWUubGVuZ3RoO2k8cjtpKyspe3M9Z2V0VW5pY29kZUZvckdseXBoKGVbaV0sdCk7LTEhPT1zJiYoYVtpXT1zKX1mb3IoY29uc3QgZSBpbiBpKXtzPWdldFVuaWNvZGVGb3JHbHlwaChpW2VdLHQpOy0xIT09cyYmKGFbK2VdPXMpfXJldHVybiBhfWZ1bmN0aW9uIGlzTWFjTmFtZVJlY29yZChlKXtyZXR1cm4gMT09PWUucGxhdGZvcm0mJjA9PT1lLmVuY29kaW5nJiYwPT09ZS5sYW5ndWFnZX1mdW5jdGlvbiBpc1dpbk5hbWVSZWNvcmQoZSl7cmV0dXJuIDM9PT1lLnBsYXRmb3JtJiYxPT09ZS5lbmNvZGluZyYmMTAzMz09PWUubGFuZ3VhZ2V9ZnVuY3Rpb24gY29udmVydENpZFN0cmluZyhlLHQsaT0hMSl7c3dpdGNoKHQubGVuZ3RoKXtjYXNlIDE6cmV0dXJuIHQuY2hhckNvZGVBdCgwKTtjYXNlIDI6cmV0dXJuIHQuY2hhckNvZGVBdCgwKTw8OHx0LmNoYXJDb2RlQXQoMSl9Y29uc3QgYT1gVW5zdXBwb3J0ZWQgQ0lEIHN0cmluZyAoY2hhckNvZGUgJHtlfSk6ICIke3R9Ii5gO2lmKGkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGEpO3dhcm4oYSk7cmV0dXJuIHR9ZnVuY3Rpb24gYWRqdXN0TWFwcGluZyhlLHQsaSxhKXtjb25zdCBzPU9iamVjdC5jcmVhdGUobnVsbCkscj1uZXcgTWFwLG49W10sZz1uZXcgU2V0O2xldCBvPTA7bGV0IGM9UWFbb11bMF0sQz1RYVtvXVsxXTtmb3IoY29uc3QgbCBpbiBlKXtsZXQgUT1lW2xdO2lmKCF0KFEpKWNvbnRpbnVlO2lmKGM+Qyl7bysrO2lmKG8+PVFhLmxlbmd0aCl7d2FybigiUmFuIG91dCBvZiBzcGFjZSBpbiBmb250IHByaXZhdGUgdXNlIGFyZWEuIik7YnJlYWt9Yz1RYVtvXVswXTtDPVFhW29dWzFdfWNvbnN0IEU9YysrOzA9PT1RJiYoUT1pKTtsZXQgdT1hLmdldChsKTsic3RyaW5nIj09dHlwZW9mIHUmJih1PXUuY29kZVBvaW50QXQoMCkpO2lmKHUmJiEoaD11LFFhWzBdWzBdPD1oJiZoPD1RYVswXVsxXXx8UWFbMV1bMF08PWgmJmg8PVFhWzFdWzFdKSYmIWcuaGFzKFEpKXtyLnNldCh1LFEpO2cuYWRkKFEpfXNbRV09UTtuW2xdPUV9dmFyIGg7cmV0dXJue3RvRm9udENoYXI6bixjaGFyQ29kZVRvR2x5cGhJZDpzLHRvVW5pY29kZUV4dHJhTWFwOnIsbmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZTpjfX1mdW5jdGlvbiBjcmVhdGVDbWFwVGFibGUoZSx0LGkpe2NvbnN0IGE9ZnVuY3Rpb24gZ2V0UmFuZ2VzKGUsdCxpKXtjb25zdCBhPVtdO2Zvcihjb25zdCB0IGluIGUpZVt0XT49aXx8YS5wdXNoKHtmb250Q2hhckNvZGU6MHx0LGdseXBoSWQ6ZVt0XX0pO2lmKHQpZm9yKGNvbnN0W2Usc11vZiB0KXM+PWl8fGEucHVzaCh7Zm9udENoYXJDb2RlOmUsZ2x5cGhJZDpzfSk7MD09PWEubGVuZ3RoJiZhLnB1c2goe2ZvbnRDaGFyQ29kZTowLGdseXBoSWQ6MH0pO2Euc29ydCgoZnVuY3Rpb24gZm9udEdldFJhbmdlc1NvcnQoZSx0KXtyZXR1cm4gZS5mb250Q2hhckNvZGUtdC5mb250Q2hhckNvZGV9KSk7Y29uc3Qgcz1bXSxyPWEubGVuZ3RoO2ZvcihsZXQgZT0wO2U8cjspe2NvbnN0IHQ9YVtlXS5mb250Q2hhckNvZGUsaT1bYVtlXS5nbHlwaElkXTsrK2U7bGV0IG49dDtmb3IoO2U8ciYmbisxPT09YVtlXS5mb250Q2hhckNvZGU7KXtpLnB1c2goYVtlXS5nbHlwaElkKTsrK247KytlO2lmKDY1NTM1PT09bilicmVha31zLnB1c2goW3QsbixpXSl9cmV0dXJuIHN9KGUsdCxpKSxzPWEuYXQoLTEpWzFdPjY1NTM1PzI6MTtsZXQgcixuLGcsbyxjPSJcMFwwIitzdHJpbmcxNihzKSsiXDADXDABIitzdHJpbmczMig0Kzgqcyk7Zm9yKHI9YS5sZW5ndGgtMTtyPj0wJiYhKGFbcl1bMF08PTY1NTM1KTstLXIpO2NvbnN0IEM9cisxO2Fbcl1bMF08NjU1MzUmJjY1NTM1PT09YVtyXVsxXSYmKGFbcl1bMV09NjU1MzQpO2NvbnN0IGg9YVtyXVsxXTw2NTUzNT8xOjAsbD1DK2gsUT1PcGVuVHlwZUZpbGVCdWlsZGVyLmdldFNlYXJjaFBhcmFtcyhsLDIpO2xldCBFLHUsZCxmLHA9IiIsbT0iIix5PSIiLHc9IiIsRD0iIixiPTA7Zm9yKHI9MCxuPUM7cjxuO3IrKyl7RT1hW3JdO3U9RVswXTtkPUVbMV07cCs9c3RyaW5nMTYodSk7bSs9c3RyaW5nMTYoZCk7Zj1FWzJdO2xldCBlPSEwO2ZvcihnPTEsbz1mLmxlbmd0aDtnPG87KytnKWlmKGZbZ10hPT1mW2ctMV0rMSl7ZT0hMTticmVha31pZihlKXt5Kz1zdHJpbmcxNihmWzBdLXUmNjU1MzUpO3crPXN0cmluZzE2KDApfWVsc2V7Y29uc3QgZT0yKihsLXIpKzIqYjtiKz1kLXUrMTt5Kz1zdHJpbmcxNigwKTt3Kz1zdHJpbmcxNihlKTtmb3IoZz0wLG89Zi5sZW5ndGg7ZzxvOysrZylEKz1zdHJpbmcxNihmW2ddKX19aWYoaD4wKXttKz0iw7/DvyI7cCs9IsO/w78iO3krPSJcMAEiO3crPSJcMFwwIn1jb25zdCBGPSJcMFwwIitzdHJpbmcxNigyKmwpK3N0cmluZzE2KFEucmFuZ2UpK3N0cmluZzE2KFEuZW50cnkpK3N0cmluZzE2KFEucmFuZ2VTaGlmdCkrbSsiXDBcMCIrcCt5K3crRDtsZXQgUz0iIixrPSIiO2lmKHM+MSl7Yys9IlwwA1wwXG4iK3N0cmluZzMyKDQrOCpzKzQrRi5sZW5ndGgpO1M9IiI7Zm9yKHI9MCxuPWEubGVuZ3RoO3I8bjtyKyspe0U9YVtyXTt1PUVbMF07Zj1FWzJdO2xldCBlPWZbMF07Zm9yKGc9MSxvPWYubGVuZ3RoO2c8bzsrK2cpaWYoZltnXSE9PWZbZy0xXSsxKXtkPUVbMF0rZy0xO1MrPXN0cmluZzMyKHUpK3N0cmluZzMyKGQpK3N0cmluZzMyKGUpO3U9ZCsxO2U9ZltnXX1TKz1zdHJpbmczMih1KStzdHJpbmczMihFWzFdKStzdHJpbmczMihlKX1rPSJcMFxmXDBcMCIrc3RyaW5nMzIoUy5sZW5ndGgrMTYpKyJcMFwwXDBcMCIrc3RyaW5nMzIoUy5sZW5ndGgvMTIpfXJldHVybiBjKyJcMAQiK3N0cmluZzE2KEYubGVuZ3RoKzQpK0YraytTfWZ1bmN0aW9uIGNyZWF0ZU9TMlRhYmxlKGUsdCxpKXtpfHw9e3VuaXRzUGVyRW06MCx5TWF4OjAseU1pbjowLGFzY2VudDowLGRlc2NlbnQ6MH07bGV0IGE9MCxzPTAscj0wLG49MCxnPW51bGwsbz0wLGM9LTE7aWYodCl7Zm9yKGxldCBlIGluIHQpe2V8PTA7KGc+ZXx8IWcpJiYoZz1lKTtvPGUmJihvPWUpO2M9Z2V0VW5pY29kZVJhbmdlRm9yKGUsYyk7aWYoYzwzMilhfD0xPDxjO2Vsc2UgaWYoYzw2NClzfD0xPDxjLTMyO2Vsc2UgaWYoYzw5NilyfD0xPDxjLTY0O2Vsc2V7aWYoIShjPDEyMykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmljb2RlIHJhbmdlcyBCaXRzID4gMTIzIGFyZSByZXNlcnZlZCBmb3IgaW50ZXJuYWwgdXNhZ2UiKTtufD0xPDxjLTk2fX1vPjY1NTM1JiYobz02NTUzNSl9ZWxzZXtnPTA7bz0yNTV9Y29uc3QgQz1lLmJib3h8fFswLDAsMCwwXSxoPWkudW5pdHNQZXJFbXx8KGUuZm9udE1hdHJpeD8xL01hdGgubWF4KC4uLmUuZm9udE1hdHJpeC5zbGljZSgwLDQpLm1hcChNYXRoLmFicykpOjFlMyksbD1lLmFzY2VudFNjYWxlZD8xOmgvRWEsUT1pLmFzY2VudHx8TWF0aC5yb3VuZChsKihlLmFzY2VudHx8Q1szXSkpO2xldCBFPWkuZGVzY2VudHx8TWF0aC5yb3VuZChsKihlLmRlc2NlbnR8fENbMV0pKTtFPjAmJmUuZGVzY2VudD4wJiZDWzFdPDAmJihFPS1FKTtjb25zdCB1PWkueU1heHx8USxkPS1pLnlNaW58fC1FO3JldHVybiJcMAMCJAHDtFwwBVwwXDACwooCwrtcMFwwXDDCjALCigLCu1wwXDABw59ceDAwMQECXDBcMFwwXDAGIitTdHJpbmcuZnJvbUNoYXJDb2RlKGUuZml4ZWRQaXRjaD85OjApKyJcMFwwXDBcMFwwXDAiK3N0cmluZzMyKGEpK3N0cmluZzMyKHMpK3N0cmluZzMyKHIpK3N0cmluZzMyKG4pKyIqMjEqIitzdHJpbmcxNihlLml0YWxpY0FuZ2xlPzE6MCkrc3RyaW5nMTYoZ3x8ZS5maXJzdENoYXIpK3N0cmluZzE2KG98fGUubGFzdENoYXIpK3N0cmluZzE2KFEpK3N0cmluZzE2KEUpKyJcMGQiK3N0cmluZzE2KHUpK3N0cmluZzE2KGQpKyJcMFwwXDBcMFwwXDBcMFwwIitzdHJpbmcxNihlLnhIZWlnaHQpK3N0cmluZzE2KGUuY2FwSGVpZ2h0KStzdHJpbmcxNigwKStzdHJpbmcxNihnfHxlLmZpcnN0Q2hhcikrIlwwAyJ9ZnVuY3Rpb24gY3JlYXRlUG9zdFRhYmxlKGUpe3JldHVybiJcMANcMFwwIitzdHJpbmczMihNYXRoLmZsb29yKDY1NTM2KmUuaXRhbGljQW5nbGUpKSsiXDBcMFwwXDAiK3N0cmluZzMyKGUuZml4ZWRQaXRjaD8xOjApKyJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCJ9ZnVuY3Rpb24gY3JlYXRlUG9zdHNjcmlwdE5hbWUoZSl7cmV0dXJuIGUucmVwbGFjZUFsbCgvW15ceDIxLVx4N0VdfFtbXF0oKXt9PD4vJV0vZywiIikuc2xpY2UoMCw2Myl9ZnVuY3Rpb24gY3JlYXRlTmFtZVRhYmxlKGUsdCl7dHx8KHQ9W1tdLFtdXSk7Y29uc3QgaT1bdFswXVswXXx8Ik9yaWdpbmFsIGxpY2VuY2UiLHRbMF1bMV18fGUsdFswXVsyXXx8IlVua25vd24iLHRbMF1bM118fCJ1bmlxdWVJRCIsdFswXVs0XXx8ZSx0WzBdWzVdfHwiVmVyc2lvbiAwLjExIix0WzBdWzZdfHxjcmVhdGVQb3N0c2NyaXB0TmFtZShlKSx0WzBdWzddfHwiVW5rbm93biIsdFswXVs4XXx8IlVua25vd24iLHRbMF1bOV18fCJVbmtub3duIl0sYT1bXTtsZXQgcyxyLG4sZyxvO2ZvcihzPTAscj1pLmxlbmd0aDtzPHI7cysrKXtvPXRbMV1bc118fGlbc107Y29uc3QgZT1bXTtmb3Iobj0wLGc9by5sZW5ndGg7bjxnO24rKyllLnB1c2goc3RyaW5nMTYoby5jaGFyQ29kZUF0KG4pKSk7YS5wdXNoKGUuam9pbigiIikpfWNvbnN0IGM9W2ksYV0sQz1bIlwwASIsIlwwAyJdLGg9WyJcMFwwIiwiXDABIl0sbD1bIlwwXDAiLCIEXHQiXSxRPWkubGVuZ3RoKkMubGVuZ3RoO2xldCBFPSJcMFwwIitzdHJpbmcxNihRKStzdHJpbmcxNigxMipRKzYpLHU9MDtmb3Iocz0wLHI9Qy5sZW5ndGg7czxyO3MrKyl7Y29uc3QgZT1jW3NdO2ZvcihuPTAsZz1lLmxlbmd0aDtuPGc7bisrKXtvPWVbbl07RSs9Q1tzXStoW3NdK2xbc10rc3RyaW5nMTYobikrc3RyaW5nMTYoby5sZW5ndGgpK3N0cmluZzE2KHUpO3UrPW8ubGVuZ3RofX1FKz1pLmpvaW4oIiIpK2Euam9pbigiIik7cmV0dXJuIEV9Y2xhc3MgRm9udHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5uYW1lPWU7dGhpcy5wc05hbWU9bnVsbDt0aGlzLm1pbWV0eXBlPW51bGw7dGhpcy5kaXNhYmxlRm9udEZhY2U9ITE7dGhpcy5sb2FkZWROYW1lPWkubG9hZGVkTmFtZTt0aGlzLmlzVHlwZTNGb250PWkuaXNUeXBlM0ZvbnQ7dGhpcy5taXNzaW5nRmlsZT0hMTt0aGlzLmNzc0ZvbnRJbmZvPWkuY3NzRm9udEluZm87dGhpcy5fY2hhcnNDYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuX2dseXBoQ2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgYT0hIShpLmZsYWdzJnFpKTtpZighYSYmIWkuaXNTaW11bGF0ZWRGbGFncyl7Y29uc3QgdD1lLnJlcGxhY2VBbGwoL1ssX10vZywiLSIpLnNwbGl0KCItIiwxKVswXSxpPXppKCk7Zm9yKGNvbnN0IGUgb2YgdC5zcGxpdCgiKyIpKWlmKGlbZV0pe2E9ITA7YnJlYWt9fXRoaXMuaXNTZXJpZkZvbnQ9YTt0aGlzLmlzU3ltYm9saWNGb250PSEhKGkuZmxhZ3MmT2kpO3RoaXMuaXNNb25vc3BhY2U9ISEoaS5mbGFncyZLaSk7bGV0e3R5cGU6cyxzdWJ0eXBlOnJ9PWk7dGhpcy50eXBlPXM7dGhpcy5zdWJ0eXBlPXI7dGhpcy5zeXN0ZW1Gb250SW5mbz1pLnN5c3RlbUZvbnRJbmZvO2NvbnN0IG49ZS5tYXRjaCgvXkludmFsaWRQREZqc0ZvbnRfKC4qKV9cZCskLyk7dGhpcy5pc0ludmFsaWRQREZqc0ZvbnQ9ISFuO3RoaXMuaXNJbnZhbGlkUERGanNGb250P3RoaXMuZmFsbGJhY2tOYW1lPW5bMV06dGhpcy5pc01vbm9zcGFjZT90aGlzLmZhbGxiYWNrTmFtZT0ibW9ub3NwYWNlIjp0aGlzLmlzU2VyaWZGb250P3RoaXMuZmFsbGJhY2tOYW1lPSJzZXJpZiI6dGhpcy5mYWxsYmFja05hbWU9InNhbnMtc2VyaWYiO2lmKHRoaXMuc3lzdGVtRm9udEluZm8/Lmd1ZXNzRmFsbGJhY2spe3RoaXMuc3lzdGVtRm9udEluZm8uZ3Vlc3NGYWxsYmFjaz0hMTt0aGlzLnN5c3RlbUZvbnRJbmZvLmNzcys9YCwke3RoaXMuZmFsbGJhY2tOYW1lfWB9dGhpcy5kaWZmZXJlbmNlcz1pLmRpZmZlcmVuY2VzO3RoaXMud2lkdGhzPWkud2lkdGhzO3RoaXMuZGVmYXVsdFdpZHRoPWkuZGVmYXVsdFdpZHRoO3RoaXMuY29tcG9zaXRlPWkuY29tcG9zaXRlO3RoaXMuY01hcD1pLmNNYXA7dGhpcy5jYXBIZWlnaHQ9aS5jYXBIZWlnaHQvRWE7dGhpcy5hc2NlbnQ9aS5hc2NlbnQvRWE7dGhpcy5kZXNjZW50PWkuZGVzY2VudC9FYTt0aGlzLmxpbmVIZWlnaHQ9dGhpcy5hc2NlbnQtdGhpcy5kZXNjZW50O3RoaXMuZm9udE1hdHJpeD1pLmZvbnRNYXRyaXg7dGhpcy5iYm94PWkuYmJveDt0aGlzLmRlZmF1bHRFbmNvZGluZz1pLmRlZmF1bHRFbmNvZGluZzt0aGlzLnRvVW5pY29kZT1pLnRvVW5pY29kZTt0aGlzLnRvRm9udENoYXI9W107aWYoIlR5cGUzIj09PWkudHlwZSl7Zm9yKGxldCBlPTA7ZTwyNTY7ZSsrKXRoaXMudG9Gb250Q2hhcltlXT10aGlzLmRpZmZlcmVuY2VzW2VdfHxpLmRlZmF1bHRFbmNvZGluZ1tlXTtyZXR1cm59dGhpcy5jaWRFbmNvZGluZz1pLmNpZEVuY29kaW5nfHwiIjt0aGlzLnZlcnRpY2FsPSEhaS52ZXJ0aWNhbDtpZih0aGlzLnZlcnRpY2FsKXt0aGlzLnZtZXRyaWNzPWkudm1ldHJpY3M7dGhpcy5kZWZhdWx0Vk1ldHJpY3M9aS5kZWZhdWx0Vk1ldHJpY3N9aWYoIXR8fHQuaXNFbXB0eSl7dCYmd2FybignRm9udCBmaWxlIGlzIGVtcHR5IGluICInK2UrJyIgKCcrdGhpcy5sb2FkZWROYW1lKyIpIik7dGhpcy5mYWxsYmFja1RvU3lzdGVtRm9udChpKTtyZXR1cm59W3Mscl09Z2V0Rm9udEZpbGVUeXBlKHQsaSk7cz09PXRoaXMudHlwZSYmcj09PXRoaXMuc3VidHlwZXx8aW5mbyhgSW5jb25zaXN0ZW50IGZvbnQgZmlsZSBUeXBlL1N1YlR5cGUsIGV4cGVjdGVkOiAke3RoaXMudHlwZX0vJHt0aGlzLnN1YnR5cGV9IGJ1dCBmb3VuZDogJHtzfS8ke3J9LmApO2xldCBnO3RyeXtzd2l0Y2gocyl7Y2FzZSJNTVR5cGUxIjppbmZvKCJNTVR5cGUxIGZvbnQgKCIrZSsiKSwgZmFsbGluZyBiYWNrIHRvIFR5cGUxLiIpO2Nhc2UiVHlwZTEiOmNhc2UiQ0lERm9udFR5cGUwIjp0aGlzLm1pbWV0eXBlPSJmb250L29wZW50eXBlIjtjb25zdCBhPSJUeXBlMUMiPT09cnx8IkNJREZvbnRUeXBlMEMiPT09cj9uZXcgQ0ZGRm9udCh0LGkpOm5ldyBUeXBlMUZvbnQoZSx0LGkpO2FkanVzdFdpZHRocyhpKTtnPXRoaXMuY29udmVydChlLGEsaSk7YnJlYWs7Y2FzZSJPcGVuVHlwZSI6Y2FzZSJUcnVlVHlwZSI6Y2FzZSJDSURGb250VHlwZTIiOnRoaXMubWltZXR5cGU9ImZvbnQvb3BlbnR5cGUiO2c9dGhpcy5jaGVja0FuZFJlcGFpcihlLHQsaSk7aWYodGhpcy5pc09wZW5UeXBlKXthZGp1c3RXaWR0aHMoaSk7cz0iT3BlblR5cGUifWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBGb250ICR7c30gaXMgbm90IHN1cHBvcnRlZGApfX1jYXRjaChlKXt3YXJuKGUpO3RoaXMuZmFsbGJhY2tUb1N5c3RlbUZvbnQoaSk7cmV0dXJufWFtZW5kRmFsbGJhY2tUb1VuaWNvZGUoaSk7dGhpcy5kYXRhPWc7dGhpcy50eXBlPXM7dGhpcy5zdWJ0eXBlPXI7dGhpcy5mb250TWF0cml4PWkuZm9udE1hdHJpeDt0aGlzLndpZHRocz1pLndpZHRoczt0aGlzLmRlZmF1bHRXaWR0aD1pLmRlZmF1bHRXaWR0aDt0aGlzLnRvVW5pY29kZT1pLnRvVW5pY29kZTt0aGlzLnNlYWNNYXA9aS5zZWFjTWFwfWdldCByZW5kZXJlcigpe3JldHVybiBzaGFkb3codGhpcywicmVuZGVyZXIiLEZvbnRSZW5kZXJlckZhY3RvcnkuY3JlYXRlKHRoaXMsVGkpKX1leHBvcnREYXRhKGU9ITEpe2NvbnN0IHQ9ZT9bLi4udWEsLi4uZGFdOnVhLGk9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgYSxzO2ZvcihhIG9mIHQpe3M9dGhpc1thXTt2b2lkIDAhPT1zJiYoaVthXT1zKX1yZXR1cm4gaX1mYWxsYmFja1RvU3lzdGVtRm9udChlKXt0aGlzLm1pc3NpbmdGaWxlPSEwO2NvbnN0e25hbWU6dCx0eXBlOml9PXRoaXM7bGV0IGE9bm9ybWFsaXplRm9udE5hbWUodCk7Y29uc3Qgcz1qaSgpLHI9VmkoKSxuPSEhc1thXSxnPSEoIXJbYV18fCFzW3JbYV1dKTthPXNbYV18fHJbYV18fGE7Y29uc3Qgbz1hYSgpW2FdO2lmKG8pe2lzTmFOKHRoaXMuYXNjZW50KSYmKHRoaXMuYXNjZW50PW8uYXNjZW50L0VhKTtpc05hTih0aGlzLmRlc2NlbnQpJiYodGhpcy5kZXNjZW50PW8uZGVzY2VudC9FYSk7aXNOYU4odGhpcy5jYXBIZWlnaHQpJiYodGhpcy5jYXBIZWlnaHQ9by5jYXBIZWlnaHQvRWEpfXRoaXMuYm9sZD0vYm9sZC9naS50ZXN0KGEpO3RoaXMuaXRhbGljPS9vYmxpcXVlfGl0YWxpYy9naS50ZXN0KGEpO3RoaXMuYmxhY2s9L0JsYWNrL2cudGVzdCh0KTtjb25zdCBjPS9OYXJyb3cvZy50ZXN0KHQpO3RoaXMucmVtZWFzdXJlPSghbnx8YykmJk9iamVjdC5rZXlzKHRoaXMud2lkdGhzKS5sZW5ndGg+MDtpZigobnx8ZykmJiJDSURGb250VHlwZTIiPT09aSYmdGhpcy5jaWRFbmNvZGluZy5zdGFydHNXaXRoKCJJZGVudGl0eS0iKSl7Y29uc3QgaT1lLmNpZFRvR2lkTWFwLGE9W107YXBwbHlTdGFuZGFyZEZvbnRHbHlwaE1hcChhLCRpKCkpOy9BcmlhbC0/QmxhY2svaS50ZXN0KHQpP2FwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAoYSxBYSgpKTovQ2FsaWJyaS9pLnRlc3QodCkmJmFwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAoYSxlYSgpKTtpZihpKXtmb3IoY29uc3QgZSBpbiBhKXtjb25zdCB0PWFbZV07dm9pZCAwIT09aVt0XSYmKGFbK2VdPWlbdF0pfWkubGVuZ3RoIT09dGhpcy50b1VuaWNvZGUubGVuZ3RoJiZlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwJiZ0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwJiZ0aGlzLnRvVW5pY29kZS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2NvbnN0IHM9YVtlXTt2b2lkIDA9PT1pW3NdJiYoYVsrZV09dCl9KSl9dGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcHx8dGhpcy50b1VuaWNvZGUuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXthWytlXT10fSkpO3RoaXMudG9Gb250Q2hhcj1hO3RoaXMudG9Vbmljb2RlPW5ldyBUb1VuaWNvZGVNYXAoYSl9ZWxzZSBpZigvU3ltYm9sL2kudGVzdChhKSl0aGlzLnRvRm9udENoYXI9YnVpbGRUb0ZvbnRDaGFyKHdpLHhpKCksdGhpcy5kaWZmZXJlbmNlcyk7ZWxzZSBpZigvRGluZ2JhdHMvaS50ZXN0KGEpKXRoaXMudG9Gb250Q2hhcj1idWlsZFRvRm9udENoYXIoRGksTWkoKSx0aGlzLmRpZmZlcmVuY2VzKTtlbHNlIGlmKG58fGcpe2NvbnN0IGU9YnVpbGRUb0ZvbnRDaGFyKHRoaXMuZGVmYXVsdEVuY29kaW5nLHhpKCksdGhpcy5kaWZmZXJlbmNlcyk7IkNJREZvbnRUeXBlMiIhPT1pfHx0aGlzLmNpZEVuY29kaW5nLnN0YXJ0c1dpdGgoIklkZW50aXR5LSIpfHx0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwfHx0aGlzLnRvVW5pY29kZS5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2VbK3RdPWl9KSk7dGhpcy50b0ZvbnRDaGFyPWV9ZWxzZXtjb25zdCBlPXhpKCksaT1bXTt0aGlzLnRvVW5pY29kZS5mb3JFYWNoKCgodCxhKT0+e2lmKCF0aGlzLmNvbXBvc2l0ZSl7Y29uc3QgaT1nZXRVbmljb2RlRm9yR2x5cGgodGhpcy5kaWZmZXJlbmNlc1t0XXx8dGhpcy5kZWZhdWx0RW5jb2RpbmdbdF0sZSk7LTEhPT1pJiYoYT1pKX1pWyt0XT1hfSkpO3RoaXMuY29tcG9zaXRlJiZ0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwJiYvVGFob21hfFZlcmRhbmEvaS50ZXN0KHQpJiZhcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGksJGkoKSk7dGhpcy50b0ZvbnRDaGFyPWl9YW1lbmRGYWxsYmFja1RvVW5pY29kZShlKTt0aGlzLmxvYWRlZE5hbWU9YS5zcGxpdCgiLSIsMSlbMF19Y2hlY2tBbmRSZXBhaXIoZSx0LGkpe2NvbnN0IGE9WyJPUy8yIiwiY21hcCIsImhlYWQiLCJoaGVhIiwiaG10eCIsIm1heHAiLCJuYW1lIiwicG9zdCIsImxvY2EiLCJnbHlmIiwiZnBnbSIsInByZXAiLCJjdnQgIiwiQ0ZGICJdO2Z1bmN0aW9uIHJlYWRUYWJsZXMoZSx0KXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCk7aVsiT1MvMiJdPW51bGw7aS5jbWFwPW51bGw7aS5oZWFkPW51bGw7aS5oaGVhPW51bGw7aS5obXR4PW51bGw7aS5tYXhwPW51bGw7aS5uYW1lPW51bGw7aS5wb3N0PW51bGw7Zm9yKGxldCBzPTA7czx0O3MrKyl7Y29uc3QgdD1yZWFkVGFibGVFbnRyeShlKTthLmluY2x1ZGVzKHQudGFnKSYmKDAhPT10Lmxlbmd0aCYmKGlbdC50YWddPXQpKX1yZXR1cm4gaX1mdW5jdGlvbiByZWFkVGFibGVFbnRyeShlKXtjb25zdCB0PWUuZ2V0U3RyaW5nKDQpLGk9ZS5nZXRJbnQzMigpPj4+MCxhPWUuZ2V0SW50MzIoKT4+PjAscz1lLmdldEludDMyKCk+Pj4wLHI9ZS5wb3M7ZS5wb3M9ZS5zdGFydHx8MDtlLnNraXAoYSk7Y29uc3Qgbj1lLmdldEJ5dGVzKHMpO2UucG9zPXI7aWYoImhlYWQiPT09dCl7bls4XT1uWzldPW5bMTBdPW5bMTFdPTA7blsxN118PTMyfXJldHVybnt0YWc6dCxjaGVja3N1bTppLGxlbmd0aDpzLG9mZnNldDphLGRhdGE6bn19ZnVuY3Rpb24gcmVhZE9wZW5UeXBlSGVhZGVyKGUpe3JldHVybnt2ZXJzaW9uOmUuZ2V0U3RyaW5nKDQpLG51bVRhYmxlczplLmdldFVpbnQxNigpLHNlYXJjaFJhbmdlOmUuZ2V0VWludDE2KCksZW50cnlTZWxlY3RvcjplLmdldFVpbnQxNigpLHJhbmdlU2hpZnQ6ZS5nZXRVaW50MTYoKX19ZnVuY3Rpb24gc2FuaXRpemVHbHlwaChlLHQsaSxhLHMscil7Y29uc3Qgbj17bGVuZ3RoOjAsc2l6ZU9mSW5zdHJ1Y3Rpb25zOjB9O2lmKHQ8MHx8dD49ZS5sZW5ndGh8fGk+ZS5sZW5ndGh8fGktdDw9MTIpcmV0dXJuIG47Y29uc3QgZz1lLnN1YmFycmF5KHQsaSksbz1zaWduZWRJbnQxNihnWzJdLGdbM10pLGM9c2lnbmVkSW50MTYoZ1s0XSxnWzVdKSxDPXNpZ25lZEludDE2KGdbNl0sZ1s3XSksaD1zaWduZWRJbnQxNihnWzhdLGdbOV0pO2lmKG8+Qyl7d3JpdGVTaWduZWRJbnQxNihnLDIsQyk7d3JpdGVTaWduZWRJbnQxNihnLDYsbyl9aWYoYz5oKXt3cml0ZVNpZ25lZEludDE2KGcsNCxoKTt3cml0ZVNpZ25lZEludDE2KGcsOCxjKX1jb25zdCBsPXNpZ25lZEludDE2KGdbMF0sZ1sxXSk7aWYobDwwKXtpZihsPC0xKXJldHVybiBuO2Euc2V0KGcscyk7bi5sZW5ndGg9Zy5sZW5ndGg7cmV0dXJuIG59bGV0IFEsRT0xMCx1PTA7Zm9yKFE9MDtRPGw7USsrKXt1PShnW0VdPDw4fGdbRSsxXSkrMTtFKz0yfWNvbnN0IGQ9RSxmPWdbRV08PDh8Z1tFKzFdO24uc2l6ZU9mSW5zdHJ1Y3Rpb25zPWY7RSs9MitmO2NvbnN0IHA9RTtsZXQgbT0wO2ZvcihRPTA7UTx1O1ErKyl7Y29uc3QgZT1nW0UrK107MTkyJmUmJihnW0UtMV09NjMmZSk7bGV0IHQ9MjsyJmU/dD0xOjE2JmUmJih0PTApO2xldCBpPTI7NCZlP2k9MTozMiZlJiYoaT0wKTtjb25zdCBhPXQraTttKz1hO2lmKDgmZSl7Y29uc3QgZT1nW0UrK107MD09PWUmJihnW0UtMV1ePTgpO1ErPWU7bSs9ZSphfX1pZigwPT09bSlyZXR1cm4gbjtsZXQgeT1FK207aWYoeT5nLmxlbmd0aClyZXR1cm4gbjtpZighciYmZj4wKXthLnNldChnLnN1YmFycmF5KDAsZCkscyk7YS5zZXQoWzAsMF0scytkKTthLnNldChnLnN1YmFycmF5KHAseSkscytkKzIpO3ktPWY7Zy5sZW5ndGgteT4zJiYoeT15KzMmLTQpO24ubGVuZ3RoPXk7cmV0dXJuIG59aWYoZy5sZW5ndGgteT4zKXt5PXkrMyYtNDthLnNldChnLnN1YmFycmF5KDAseSkscyk7bi5sZW5ndGg9eTtyZXR1cm4gbn1hLnNldChnLHMpO24ubGVuZ3RoPWcubGVuZ3RoO3JldHVybiBufWZ1bmN0aW9uIHJlYWROYW1lVGFibGUoZSl7Y29uc3QgaT0odC5zdGFydHx8MCkrZS5vZmZzZXQ7dC5wb3M9aTtjb25zdCBhPVtbXSxbXV0scz1bXSxyPWUubGVuZ3RoLG49aStyO2lmKDAhPT10LmdldFVpbnQxNigpfHxyPDYpcmV0dXJuW2Esc107Y29uc3QgZz10LmdldFVpbnQxNigpLG89dC5nZXRVaW50MTYoKTtsZXQgYyxDO2ZvcihjPTA7YzxnJiZ0LnBvcysxMjw9bjtjKyspe2NvbnN0IGU9e3BsYXRmb3JtOnQuZ2V0VWludDE2KCksZW5jb2Rpbmc6dC5nZXRVaW50MTYoKSxsYW5ndWFnZTp0LmdldFVpbnQxNigpLG5hbWU6dC5nZXRVaW50MTYoKSxsZW5ndGg6dC5nZXRVaW50MTYoKSxvZmZzZXQ6dC5nZXRVaW50MTYoKX07KGlzTWFjTmFtZVJlY29yZChlKXx8aXNXaW5OYW1lUmVjb3JkKGUpKSYmcy5wdXNoKGUpfWZvcihjPTAsQz1zLmxlbmd0aDtjPEM7YysrKXtjb25zdCBlPXNbY107aWYoZS5sZW5ndGg8PTApY29udGludWU7Y29uc3Qgcj1pK28rZS5vZmZzZXQ7aWYocitlLmxlbmd0aD5uKWNvbnRpbnVlO3QucG9zPXI7Y29uc3QgZz1lLm5hbWU7aWYoZS5lbmNvZGluZyl7bGV0IGk9IiI7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSs9MilpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQuZ2V0VWludDE2KCkpO2FbMV1bZ109aX1lbHNlIGFbMF1bZ109dC5nZXRTdHJpbmcoZS5sZW5ndGgpfXJldHVyblthLHNdfWNvbnN0IHM9WzAsMCwwLDAsMCwwLDAsMCwtMiwtMiwtMiwtMiwwLDAsLTIsLTUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsMCwwLC0xLDAsLTEsLTEsLTEsLTEsMSwtMSwtOTk5LDAsMSwwLC0xLC0yLDAsLTEsLTIsLTEsLTEsMCwtMSwtMSwwLDAsLTk5OSwtOTk5LC0xLC0xLC0xLC0xLC0yLC05OTksLTIsLTIsLTk5OSwwLC0yLC0yLDAsMCwtMiwwLC0yLDAsMCwwLC0yLC0xLC0xLDEsMSwwLDAsLTEsLTEsLTEsLTEsLTEsLTEsLTEsMCwwLC0xLDAsLTEsLTEsMCwtOTk5LC0xLC0xLC0xLC0xLC0xLC0xLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLC0yLC05OTksLTk5OSwtOTk5LC05OTksLTk5OSwtMSwtMSwtMiwtMiwwLDAsMCwwLC0xLC0xLC05OTksLTIsLTIsMCwwLC0xLC0yLC0yLDAsMCwwLC0xLC0xLC0xLC0yXTtmdW5jdGlvbiBzYW5pdGl6ZVRUUHJvZ3JhbShlLHQpe2xldCBpLGEscixuLGcsbz1lLmRhdGEsYz0wLEM9MCxoPTA7Y29uc3QgbD1bXSxRPVtdLEU9W107bGV0IHU9dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnMsZD0hMSxmPTAscD0wO2ZvcihsZXQgZT1vLmxlbmd0aDtjPGU7KXtjb25zdCBlPW9bYysrXTtpZig2ND09PWUpe2E9b1tjKytdO2lmKGR8fHApYys9YTtlbHNlIGZvcihpPTA7aTxhO2krKylsLnB1c2gob1tjKytdKX1lbHNlIGlmKDY1PT09ZSl7YT1vW2MrK107aWYoZHx8cCljKz0yKmE7ZWxzZSBmb3IoaT0wO2k8YTtpKyspe3I9b1tjKytdO2wucHVzaChyPDw4fG9bYysrXSl9fWVsc2UgaWYoMTc2PT0oMjQ4JmUpKXthPWUtMTc2KzE7aWYoZHx8cCljKz1hO2Vsc2UgZm9yKGk9MDtpPGE7aSsrKWwucHVzaChvW2MrK10pfWVsc2UgaWYoMTg0PT0oMjQ4JmUpKXthPWUtMTg0KzE7aWYoZHx8cCljKz0yKmE7ZWxzZSBmb3IoaT0wO2k8YTtpKyspe3I9b1tjKytdO2wucHVzaChzaWduZWRJbnQxNihyLG9bYysrXSkpfX1lbHNlIGlmKDQzIT09ZXx8dSlpZig0NCE9PWV8fHUpe2lmKDQ1PT09ZSlpZihkKXtkPSExO0M9Y31lbHNle2c9US5wb3AoKTtpZighZyl7d2FybigiVFQ6IEVOREYgYmFkIHN0YWNrIik7dC5oaW50c1ZhbGlkPSExO3JldHVybn1uPUUucG9wKCk7bz1nLmRhdGE7Yz1nLmk7dC5mdW5jdGlvbnNTdGFja0RlbHRhc1tuXT1sLmxlbmd0aC1nLnN0YWNrVG9wfWVsc2UgaWYoMTM3PT09ZSl7aWYoZHx8cCl7d2FybigiVFQ6IG5lc3RlZCBJREVGcyBub3QgYWxsb3dlZCIpO3U9ITB9ZD0hMDtoPWN9ZWxzZSBpZig4OD09PWUpKytmO2Vsc2UgaWYoMjc9PT1lKXA9ZjtlbHNlIGlmKDg5PT09ZSl7cD09PWYmJihwPTApOy0tZn1lbHNlIGlmKDI4PT09ZSYmIWQmJiFwKXtjb25zdCBlPWwuYXQoLTEpO2U+MCYmKGMrPWUtMSl9fWVsc2V7aWYoZHx8cCl7d2FybigiVFQ6IG5lc3RlZCBGREVGcyBub3QgYWxsb3dlZCIpO3U9ITB9ZD0hMDtoPWM7bj1sLnBvcCgpO3QuZnVuY3Rpb25zRGVmaW5lZFtuXT17ZGF0YTpvLGk6Y319ZWxzZSBpZighZCYmIXApe249bC5hdCgtMSk7aWYoaXNOYU4obikpaW5mbygiVFQ6IENBTEwgZW1wdHkgc3RhY2sgKG9yIGludmFsaWQgZW50cnkpLiIpO2Vsc2V7dC5mdW5jdGlvbnNVc2VkW25dPSEwO2lmKG4gaW4gdC5mdW5jdGlvbnNTdGFja0RlbHRhcyl7Y29uc3QgZT1sLmxlbmd0aCt0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzW25dO2lmKGU8MCl7d2FybigiVFQ6IENBTEwgaW52YWxpZCBmdW5jdGlvbnMgc3RhY2sgZGVsdGEuIik7dC5oaW50c1ZhbGlkPSExO3JldHVybn1sLmxlbmd0aD1lfWVsc2UgaWYobiBpbiB0LmZ1bmN0aW9uc0RlZmluZWQmJiFFLmluY2x1ZGVzKG4pKXtRLnB1c2goe2RhdGE6byxpOmMsc3RhY2tUb3A6bC5sZW5ndGgtMX0pO0UucHVzaChuKTtnPXQuZnVuY3Rpb25zRGVmaW5lZFtuXTtpZighZyl7d2FybigiVFQ6IENBTEwgbm9uLWV4aXN0ZW50IGZ1bmN0aW9uIik7dC5oaW50c1ZhbGlkPSExO3JldHVybn1vPWcuZGF0YTtjPWcuaX19fWlmKCFkJiYhcCl7bGV0IHQ9MDtlPD0xNDI/dD1zW2VdOmU+PTE5MiYmZTw9MjIzP3Q9LTE6ZT49MjI0JiYodD0tMik7aWYoZT49MTEzJiZlPD0xMTcpe2E9bC5wb3AoKTtpc05hTihhKXx8KHQ9MiotYSl9Zm9yKDt0PDAmJmwubGVuZ3RoPjA7KXtsLnBvcCgpO3QrK31mb3IoO3Q+MDspe2wucHVzaChOYU4pO3QtLX19fXQudG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zPXU7Y29uc3QgbT1bb107Yz5vLmxlbmd0aCYmbS5wdXNoKG5ldyBVaW50OEFycmF5KGMtby5sZW5ndGgpKTtpZihoPkMpe3dhcm4oIlRUOiBjb21wbGVtZW50aW5nIGEgbWlzc2luZyBmdW5jdGlvbiB0YWlsIik7bS5wdXNoKG5ldyBVaW50OEFycmF5KFszNCw0NV0pKX0hZnVuY3Rpb24gZm9sZFRUVGFibGUoZSx0KXtpZih0Lmxlbmd0aD4xKXtsZXQgaSxhLHM9MDtmb3IoaT0wLGE9dC5sZW5ndGg7aTxhO2krKylzKz10W2ldLmxlbmd0aDtzPXMrMyYtNDtjb25zdCByPW5ldyBVaW50OEFycmF5KHMpO2xldCBuPTA7Zm9yKGk9MCxhPXQubGVuZ3RoO2k8YTtpKyspe3Iuc2V0KHRbaV0sbik7bis9dFtpXS5sZW5ndGh9ZS5kYXRhPXI7ZS5sZW5ndGg9c319KGUsbSl9bGV0IHIsbixnLG87aWYoaXNUcnVlVHlwZUNvbGxlY3Rpb25GaWxlKHQ9bmV3IFN0cmVhbShuZXcgVWludDhBcnJheSh0LmdldEJ5dGVzKCkpKSkpe2NvbnN0IGU9ZnVuY3Rpb24gcmVhZFRydWVUeXBlQ29sbGVjdGlvbkRhdGEoZSx0KXtjb25zdHtudW1Gb250czppLG9mZnNldFRhYmxlOmF9PWZ1bmN0aW9uIHJlYWRUcnVlVHlwZUNvbGxlY3Rpb25IZWFkZXIoZSl7Y29uc3QgdD1lLmdldFN0cmluZyg0KTthc3NlcnQoInR0Y2YiPT09dCwiTXVzdCBiZSBhIFRydWVUeXBlIENvbGxlY3Rpb24gZm9udC4iKTtjb25zdCBpPWUuZ2V0VWludDE2KCksYT1lLmdldFVpbnQxNigpLHM9ZS5nZXRJbnQzMigpPj4+MCxyPVtdO2ZvcihsZXQgdD0wO3Q8czt0Kyspci5wdXNoKGUuZ2V0SW50MzIoKT4+PjApO2NvbnN0IG49e3R0Y1RhZzp0LG1ham9yVmVyc2lvbjppLG1pbm9yVmVyc2lvbjphLG51bUZvbnRzOnMsb2Zmc2V0VGFibGU6cn07c3dpdGNoKGkpe2Nhc2UgMTpyZXR1cm4gbjtjYXNlIDI6bi5kc2lnVGFnPWUuZ2V0SW50MzIoKT4+PjA7bi5kc2lnTGVuZ3RoPWUuZ2V0SW50MzIoKT4+PjA7bi5kc2lnT2Zmc2V0PWUuZ2V0SW50MzIoKT4+PjA7cmV0dXJuIG59dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIFRydWVUeXBlIENvbGxlY3Rpb24gbWFqb3JWZXJzaW9uOiAke2l9LmApfShlKSxzPXQuc3BsaXQoIisiKTtsZXQgcjtmb3IobGV0IG49MDtuPGk7bisrKXtlLnBvcz0oZS5zdGFydHx8MCkrYVtuXTtjb25zdCBpPXJlYWRPcGVuVHlwZUhlYWRlcihlKSxnPXJlYWRUYWJsZXMoZSxpLm51bVRhYmxlcyk7aWYoIWcubmFtZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1RydWVUeXBlIENvbGxlY3Rpb24gZm9udCBtdXN0IGNvbnRhaW4gYSAibmFtZSIgdGFibGUuJyk7Y29uc3Rbb109cmVhZE5hbWVUYWJsZShnLm5hbWUpO2ZvcihsZXQgZT0wLGE9by5sZW5ndGg7ZTxhO2UrKylmb3IobGV0IGE9MCxuPW9bZV0ubGVuZ3RoO2E8bjthKyspe2NvbnN0IG49b1tlXVthXT8ucmVwbGFjZUFsbCgvXHMvZywiIik7aWYobil7aWYobj09PXQpcmV0dXJue2hlYWRlcjppLHRhYmxlczpnfTtpZighKHMubGVuZ3RoPDIpKWZvcihjb25zdCBlIG9mIHMpbj09PWUmJihyPXtuYW1lOmUsaGVhZGVyOmksdGFibGVzOmd9KX19fWlmKHIpe3dhcm4oYFRydWVUeXBlIENvbGxlY3Rpb24gZG9lcyBub3QgY29udGFpbiAiJHt0fSIgZm9udCwgZmFsbGluZyBiYWNrIHRvICIke3IubmFtZX0iIGZvbnQgaW5zdGVhZC5gKTtyZXR1cm57aGVhZGVyOnIuaGVhZGVyLHRhYmxlczpyLnRhYmxlc319dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBUcnVlVHlwZSBDb2xsZWN0aW9uIGRvZXMgbm90IGNvbnRhaW4gIiR7dH0iIGZvbnQuYCl9KHQsdGhpcy5uYW1lKTtyPWUuaGVhZGVyO249ZS50YWJsZXN9ZWxzZXtyPXJlYWRPcGVuVHlwZUhlYWRlcih0KTtuPXJlYWRUYWJsZXModCxyLm51bVRhYmxlcyl9Y29uc3QgYz0hblsiQ0ZGICJdO2lmKGMpe2lmKCFuLmxvY2EpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdSZXF1aXJlZCAibG9jYSIgdGFibGUgaXMgbm90IGZvdW5kJyk7aWYoIW4uZ2x5Zil7d2FybignUmVxdWlyZWQgImdseWYiIHRhYmxlIGlzIG5vdCBmb3VuZCAtLSB0cnlpbmcgdG8gcmVjb3Zlci4nKTtuLmdseWY9e3RhZzoiZ2x5ZiIsZGF0YTpuZXcgVWludDhBcnJheSgwKX19dGhpcy5pc09wZW5UeXBlPSExfWVsc2V7Y29uc3QgdD1pLmNvbXBvc2l0ZSYmKGkuY2lkVG9HaWRNYXA/Lmxlbmd0aD4wfHwhKGkuY01hcCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcCkpO2lmKCJPVFRPIj09PXIudmVyc2lvbiYmIXR8fCFuLmhlYWR8fCFuLmhoZWF8fCFuLm1heHB8fCFuLnBvc3Qpe289bmV3IFN0cmVhbShuWyJDRkYgIl0uZGF0YSk7Zz1uZXcgQ0ZGRm9udChvLGkpO2FkanVzdFdpZHRocyhpKTtyZXR1cm4gdGhpcy5jb252ZXJ0KGUsZyxpKX1kZWxldGUgbi5nbHlmO2RlbGV0ZSBuLmxvY2E7ZGVsZXRlIG4uZnBnbTtkZWxldGUgbi5wcmVwO2RlbGV0ZSBuWyJjdnQgIl07dGhpcy5pc09wZW5UeXBlPSEwfWlmKCFuLm1heHApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdSZXF1aXJlZCAibWF4cCIgdGFibGUgaXMgbm90IGZvdW5kJyk7dC5wb3M9KHQuc3RhcnR8fDApK24ubWF4cC5vZmZzZXQ7bGV0IEM9dC5nZXRJbnQzMigpO2NvbnN0IGg9dC5nZXRVaW50MTYoKTtpZig2NTUzNiE9PUMmJjIwNDgwIT09Qyl7aWYoNj09PW4ubWF4cC5sZW5ndGgpQz0yMDQ4MDtlbHNle2lmKCEobi5tYXhwLmxlbmd0aD49MzIpKXRocm93IG5ldyBGb3JtYXRFcnJvcignIm1heHAiIHRhYmxlIGhhcyBhIHdyb25nIHZlcnNpb24gbnVtYmVyJyk7Qz02NTUzNn0hZnVuY3Rpb24gd3JpdGVVaW50MzIoZSx0LGkpe2VbdCszXT0yNTUmaTtlW3QrMl09aT4+Pjg7ZVt0KzFdPWk+Pj4xNjtlW3RdPWk+Pj4yNH0obi5tYXhwLmRhdGEsMCxDKX1pZihpLnNjYWxlRmFjdG9ycz8ubGVuZ3RoPT09aCYmYyl7Y29uc3R7c2NhbGVGYWN0b3JzOmV9PWksdD1pbnQxNihuLmhlYWQuZGF0YVs1MF0sbi5oZWFkLmRhdGFbNTFdKSxhPW5ldyBHbHlmVGFibGUoe2dseWZUYWJsZTpuLmdseWYuZGF0YSxpc0dseXBoTG9jYXRpb25zTG9uZzp0LGxvY2FUYWJsZTpuLmxvY2EuZGF0YSxudW1HbHlwaHM6aH0pO2Euc2NhbGUoZSk7Y29uc3R7Z2x5ZjpzLGxvY2E6cixpc0xvY2F0aW9uTG9uZzpnfT1hLndyaXRlKCk7bi5nbHlmLmRhdGE9cztuLmxvY2EuZGF0YT1yO2lmKGchPT0hIXQpe24uaGVhZC5kYXRhWzUwXT0wO24uaGVhZC5kYXRhWzUxXT1nPzE6MH1jb25zdCBvPW4uaG10eC5kYXRhO2ZvcihsZXQgdD0wO3Q8aDt0Kyspe2NvbnN0IGk9NCp0LGE9TWF0aC5yb3VuZChlW3RdKmludDE2KG9baV0sb1tpKzFdKSk7b1tpXT1hPj44JjI1NTtvW2krMV09MjU1JmE7d3JpdGVTaWduZWRJbnQxNihvLGkrMixNYXRoLnJvdW5kKGVbdF0qc2lnbmVkSW50MTYob1tpKzJdLG9baSszXSkpKX19bGV0IGw9aCsxLFE9ITA7aWYobD42NTUzNSl7UT0hMTtsPWg7d2FybigiTm90IGVub3VnaCBzcGFjZSBpbiBnbHlmcyB0byBkdXBsaWNhdGUgZmlyc3QgZ2x5cGguIil9bGV0IEU9MCx1PTA7aWYoQz49NjU1MzYmJm4ubWF4cC5sZW5ndGg+PTMyKXt0LnBvcys9ODtpZih0LmdldFVpbnQxNigpPjIpe24ubWF4cC5kYXRhWzE0XT0wO24ubWF4cC5kYXRhWzE1XT0yfXQucG9zKz00O0U9dC5nZXRVaW50MTYoKTt0LnBvcys9NDt1PXQuZ2V0VWludDE2KCl9bi5tYXhwLmRhdGFbNF09bD4+ODtuLm1heHAuZGF0YVs1XT0yNTUmbDtjb25zdCBkPWZ1bmN0aW9uIHNhbml0aXplVFRQcm9ncmFtcyhlLHQsaSxhKXtjb25zdCBzPXtmdW5jdGlvbnNEZWZpbmVkOltdLGZ1bmN0aW9uc1VzZWQ6W10sZnVuY3Rpb25zU3RhY2tEZWx0YXM6W10sdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zOiExLGhpbnRzVmFsaWQ6ITB9O2UmJnNhbml0aXplVFRQcm9ncmFtKGUscyk7dCYmc2FuaXRpemVUVFByb2dyYW0odCxzKTtlJiZmdW5jdGlvbiBjaGVja0ludmFsaWRGdW5jdGlvbnMoZSx0KXtpZighZS50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnMpaWYoZS5mdW5jdGlvbnNEZWZpbmVkLmxlbmd0aD50KXt3YXJuKCJUVDogbW9yZSBmdW5jdGlvbnMgZGVmaW5lZCB0aGFuIGV4cGVjdGVkIik7ZS5oaW50c1ZhbGlkPSExfWVsc2UgZm9yKGxldCBpPTAsYT1lLmZ1bmN0aW9uc1VzZWQubGVuZ3RoO2k8YTtpKyspe2lmKGk+dCl7d2FybigiVFQ6IGludmFsaWQgZnVuY3Rpb24gaWQ6ICIraSk7ZS5oaW50c1ZhbGlkPSExO3JldHVybn1pZihlLmZ1bmN0aW9uc1VzZWRbaV0mJiFlLmZ1bmN0aW9uc0RlZmluZWRbaV0pe3dhcm4oIlRUOiB1bmRlZmluZWQgZnVuY3Rpb246ICIraSk7ZS5oaW50c1ZhbGlkPSExO3JldHVybn19fShzLGEpO2lmKGkmJjEmaS5sZW5ndGgpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoaS5sZW5ndGgrMSk7ZS5zZXQoaS5kYXRhKTtpLmRhdGE9ZX1yZXR1cm4gcy5oaW50c1ZhbGlkfShuLmZwZ20sbi5wcmVwLG5bImN2dCAiXSxFKTtpZighZCl7ZGVsZXRlIG4uZnBnbTtkZWxldGUgbi5wcmVwO2RlbGV0ZSBuWyJjdnQgIl19IWZ1bmN0aW9uIHNhbml0aXplTWV0cmljcyhlLHQsaSxhLHMscil7aWYoIXQpe2kmJihpLmRhdGE9bnVsbCk7cmV0dXJufWUucG9zPShlLnN0YXJ0fHwwKSt0Lm9mZnNldDtlLnBvcys9NDtlLnBvcys9MjtlLnBvcys9MjtlLnBvcys9MjtlLnBvcys9MjtlLnBvcys9MjtlLnBvcys9MjtlLnBvcys9MjtlLnBvcys9MjtlLnBvcys9Mjtjb25zdCBuPWUuZ2V0VWludDE2KCk7ZS5wb3MrPTg7ZS5wb3MrPTI7bGV0IGc9ZS5nZXRVaW50MTYoKTtpZigwIT09bil7aWYoISgyJmludDE2KGEuZGF0YVs0NF0sYS5kYXRhWzQ1XSkpKXt0LmRhdGFbMjJdPTA7dC5kYXRhWzIzXT0wfX1pZihnPnMpe2luZm8oYFRoZSBudW1PZk1ldHJpY3MgKCR7Z30pIHNob3VsZCBub3QgYmUgZ3JlYXRlciB0aGFuIHRoZSBudW1HbHlwaHMgKCR7c30pLmApO2c9czt0LmRhdGFbMzRdPSg2NTI4MCZnKT4+ODt0LmRhdGFbMzVdPTI1NSZnfWNvbnN0IG89cy1nLShpLmxlbmd0aC00Kmc+PjEpO2lmKG8+MCl7Y29uc3QgZT1uZXcgVWludDhBcnJheShpLmxlbmd0aCsyKm8pO2Uuc2V0KGkuZGF0YSk7aWYocil7ZVtpLmxlbmd0aF09aS5kYXRhWzJdO2VbaS5sZW5ndGgrMV09aS5kYXRhWzNdfWkuZGF0YT1lfX0odCxuLmhoZWEsbi5obXR4LG4uaGVhZCxsLFEpO2lmKCFuLmhlYWQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdSZXF1aXJlZCAiaGVhZCIgdGFibGUgaXMgbm90IGZvdW5kJyk7IWZ1bmN0aW9uIHNhbml0aXplSGVhZChlLHQsaSl7Y29uc3QgYT1lLmRhdGEscz1mdW5jdGlvbiBpbnQzMihlLHQsaSxhKXtyZXR1cm4oZTw8MjQpKyh0PDwxNikrKGk8PDgpK2F9KGFbMF0sYVsxXSxhWzJdLGFbM10pO2lmKHM+PjE2IT0xKXtpbmZvKCJBdHRlbXB0aW5nIHRvIGZpeCBpbnZhbGlkIHZlcnNpb24gaW4gaGVhZCB0YWJsZTogIitzKTthWzBdPTA7YVsxXT0xO2FbMl09MDthWzNdPTB9Y29uc3Qgcj1pbnQxNihhWzUwXSxhWzUxXSk7aWYocjwwfHxyPjEpe2luZm8oIkF0dGVtcHRpbmcgdG8gZml4IGludmFsaWQgaW5kZXhUb0xvY0Zvcm1hdCBpbiBoZWFkIHRhYmxlOiAiK3IpO2NvbnN0IGU9dCsxO2lmKGk9PT1lPDwxKXthWzUwXT0wO2FbNTFdPTB9ZWxzZXtpZihpIT09ZTw8Mil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkNvdWxkIG5vdCBmaXggaW5kZXhUb0xvY0Zvcm1hdDogIityKTthWzUwXT0wO2FbNTFdPTF9fX0obi5oZWFkLGgsYz9uLmxvY2EubGVuZ3RoOjApO2xldCBmPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoYyl7Y29uc3QgZT1pbnQxNihuLmhlYWQuZGF0YVs1MF0sbi5oZWFkLmRhdGFbNTFdKSx0PWZ1bmN0aW9uIHNhbml0aXplR2x5cGhMb2NhdGlvbnMoZSx0LGksYSxzLHIsbil7bGV0IGcsbyxjO2lmKGEpe2c9NDtvPWZ1bmN0aW9uIGZvbnRJdGVtRGVjb2RlTG9uZyhlLHQpe3JldHVybiBlW3RdPDwyNHxlW3QrMV08PDE2fGVbdCsyXTw8OHxlW3QrM119O2M9ZnVuY3Rpb24gZm9udEl0ZW1FbmNvZGVMb25nKGUsdCxpKXtlW3RdPWk+Pj4yNCYyNTU7ZVt0KzFdPWk+PjE2JjI1NTtlW3QrMl09aT4+OCYyNTU7ZVt0KzNdPTI1NSZpfX1lbHNle2c9MjtvPWZ1bmN0aW9uIGZvbnRJdGVtRGVjb2RlKGUsdCl7cmV0dXJuIGVbdF08PDl8ZVt0KzFdPDwxfTtjPWZ1bmN0aW9uIGZvbnRJdGVtRW5jb2RlKGUsdCxpKXtlW3RdPWk+PjkmMjU1O2VbdCsxXT1pPj4xJjI1NX19Y29uc3QgQz1yP2krMTppLGg9ZyooMStDKSxsPW5ldyBVaW50OEFycmF5KGgpO2wuc2V0KGUuZGF0YS5zdWJhcnJheSgwLGgpKTtlLmRhdGE9bDtjb25zdCBRPXQuZGF0YSxFPVEubGVuZ3RoLHU9bmV3IFVpbnQ4QXJyYXkoRSk7bGV0IGQsZjtjb25zdCBwPVtdO2ZvcihkPTAsZj0wO2Q8aSsxO2QrKyxmKz1nKXtsZXQgZT1vKGwsZik7ZT5FJiYoZT1FKTtwLnB1c2goe2luZGV4OmQsb2Zmc2V0OmUsZW5kT2Zmc2V0OjB9KX1wLnNvcnQoKChlLHQpPT5lLm9mZnNldC10Lm9mZnNldCkpO2ZvcihkPTA7ZDxpO2QrKylwW2RdLmVuZE9mZnNldD1wW2QrMV0ub2Zmc2V0O3Auc29ydCgoKGUsdCk9PmUuaW5kZXgtdC5pbmRleCkpO2ZvcihkPTA7ZDxpO2QrKyl7Y29uc3R7b2Zmc2V0OmUsZW5kT2Zmc2V0OnR9PXBbZF07aWYoMCE9PWV8fDAhPT10KWJyZWFrO2NvbnN0IGk9cFtkKzFdLm9mZnNldDtpZigwIT09aSl7cFtkXS5lbmRPZmZzZXQ9aTticmVha319Y29uc3QgbT1wLmF0KC0yKTswIT09bS5vZmZzZXQmJjA9PT1tLmVuZE9mZnNldCYmKG0uZW5kT2Zmc2V0PUUpO2NvbnN0IHk9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgdz0wO2MobCwwLHcpO2ZvcihkPTAsZj1nO2Q8aTtkKyssZis9Zyl7Y29uc3QgZT1zYW5pdGl6ZUdseXBoKFEscFtkXS5vZmZzZXQscFtkXS5lbmRPZmZzZXQsdSx3LHMpLHQ9ZS5sZW5ndGg7MD09PXQmJih5W2RdPSEwKTtlLnNpemVPZkluc3RydWN0aW9ucz5uJiYobj1lLnNpemVPZkluc3RydWN0aW9ucyk7dys9dDtjKGwsZix3KX1pZigwPT09dyl7Y29uc3QgZT1uZXcgVWludDhBcnJheShbMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDQ5LDBdKTtmb3IoZD0wLGY9ZztkPEM7ZCsrLGYrPWcpYyhsLGYsZS5sZW5ndGgpO3QuZGF0YT1lfWVsc2UgaWYocil7Y29uc3QgaT1vKGwsZyk7aWYodS5sZW5ndGg+aSt3KXQuZGF0YT11LnN1YmFycmF5KDAsaSt3KTtlbHNle3QuZGF0YT1uZXcgVWludDhBcnJheShpK3cpO3QuZGF0YS5zZXQodS5zdWJhcnJheSgwLHcpKX10LmRhdGEuc2V0KHUuc3ViYXJyYXkoMCxpKSx3KTtjKGUuZGF0YSxsLmxlbmd0aC1nLHcraSl9ZWxzZSB0LmRhdGE9dS5zdWJhcnJheSgwLHcpO3JldHVybnttaXNzaW5nR2x5cGhzOnksbWF4U2l6ZU9mSW5zdHJ1Y3Rpb25zOm59fShuLmxvY2Esbi5nbHlmLGgsZSxkLFEsdSk7Zj10Lm1pc3NpbmdHbHlwaHM7aWYoQz49NjU1MzYmJm4ubWF4cC5sZW5ndGg+PTMyKXtuLm1heHAuZGF0YVsyNl09dC5tYXhTaXplT2ZJbnN0cnVjdGlvbnM+Pjg7bi5tYXhwLmRhdGFbMjddPTI1NSZ0Lm1heFNpemVPZkluc3RydWN0aW9uc319aWYoIW4uaGhlYSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJoaGVhIiB0YWJsZSBpcyBub3QgZm91bmQnKTtpZigwPT09bi5oaGVhLmRhdGFbMTBdJiYwPT09bi5oaGVhLmRhdGFbMTFdKXtuLmhoZWEuZGF0YVsxMF09MjU1O24uaGhlYS5kYXRhWzExXT0yNTV9Y29uc3QgcD17dW5pdHNQZXJFbTppbnQxNihuLmhlYWQuZGF0YVsxOF0sbi5oZWFkLmRhdGFbMTldKSx5TWF4OnNpZ25lZEludDE2KG4uaGVhZC5kYXRhWzQyXSxuLmhlYWQuZGF0YVs0M10pLHlNaW46c2lnbmVkSW50MTYobi5oZWFkLmRhdGFbMzhdLG4uaGVhZC5kYXRhWzM5XSksYXNjZW50OnNpZ25lZEludDE2KG4uaGhlYS5kYXRhWzRdLG4uaGhlYS5kYXRhWzVdKSxkZXNjZW50OnNpZ25lZEludDE2KG4uaGhlYS5kYXRhWzZdLG4uaGhlYS5kYXRhWzddKSxsaW5lR2FwOnNpZ25lZEludDE2KG4uaGhlYS5kYXRhWzhdLG4uaGhlYS5kYXRhWzldKX07dGhpcy5hc2NlbnQ9cC5hc2NlbnQvcC51bml0c1BlckVtO3RoaXMuZGVzY2VudD1wLmRlc2NlbnQvcC51bml0c1BlckVtO3RoaXMubGluZUdhcD1wLmxpbmVHYXAvcC51bml0c1BlckVtO2lmKHRoaXMuY3NzRm9udEluZm8/LmxpbmVIZWlnaHQpe3RoaXMubGluZUhlaWdodD10aGlzLmNzc0ZvbnRJbmZvLm1ldHJpY3MubGluZUhlaWdodDt0aGlzLmxpbmVHYXA9dGhpcy5jc3NGb250SW5mby5tZXRyaWNzLmxpbmVHYXB9ZWxzZSB0aGlzLmxpbmVIZWlnaHQ9dGhpcy5hc2NlbnQtdGhpcy5kZXNjZW50K3RoaXMubGluZUdhcDtuLnBvc3QmJmZ1bmN0aW9uIHJlYWRQb3N0U2NyaXB0VGFibGUoZSxpLGEpe2NvbnN0IHM9KHQuc3RhcnR8fDApK2Uub2Zmc2V0O3QucG9zPXM7Y29uc3Qgcj1zK2UubGVuZ3RoLG49dC5nZXRJbnQzMigpO3Quc2tpcCgyOCk7bGV0IGcsbyxjPSEwO3N3aXRjaChuKXtjYXNlIDY1NTM2Omc9V2k7YnJlYWs7Y2FzZSAxMzEwNzI6Y29uc3QgZT10LmdldFVpbnQxNigpO2lmKGUhPT1hKXtjPSExO2JyZWFrfWNvbnN0IHM9W107Zm9yKG89MDtvPGU7KytvKXtjb25zdCBlPXQuZ2V0VWludDE2KCk7aWYoZT49MzI3Njgpe2M9ITE7YnJlYWt9cy5wdXNoKGUpfWlmKCFjKWJyZWFrO2NvbnN0IEM9W10saD1bXTtmb3IoO3QucG9zPHI7KXtjb25zdCBlPXQuZ2V0Qnl0ZSgpO2gubGVuZ3RoPWU7Zm9yKG89MDtvPGU7KytvKWhbb109U3RyaW5nLmZyb21DaGFyQ29kZSh0LmdldEJ5dGUoKSk7Qy5wdXNoKGguam9pbigiIikpfWc9W107Zm9yKG89MDtvPGU7KytvKXtjb25zdCBlPXNbb107ZTwyNTg/Zy5wdXNoKFdpW2VdKTpnLnB1c2goQ1tlLTI1OF0pfWJyZWFrO2Nhc2UgMTk2NjA4OmJyZWFrO2RlZmF1bHQ6d2FybigiVW5rbm93bi91bnN1cHBvcnRlZCBwb3N0IHRhYmxlIHZlcnNpb24gIituKTtjPSExO2kuZGVmYXVsdEVuY29kaW5nJiYoZz1pLmRlZmF1bHRFbmNvZGluZyl9aS5nbHlwaE5hbWVzPWc7cmV0dXJuIGN9KG4ucG9zdCxpLGgpO24ucG9zdD17dGFnOiJwb3N0IixkYXRhOmNyZWF0ZVBvc3RUYWJsZShpKX07Y29uc3QgbT1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIGhhc0dseXBoKGUpe3JldHVybiFmW2VdfWlmKGkuY29tcG9zaXRlKXtjb25zdCBlPWkuY2lkVG9HaWRNYXB8fFtdLHQ9MD09PWUubGVuZ3RoO2kuY01hcC5mb3JFYWNoKChmdW5jdGlvbihpLGEpeyJzdHJpbmciPT10eXBlb2YgYSYmKGE9Y29udmVydENpZFN0cmluZyhpLGEsITApKTtpZihhPjY1NTM1KXRocm93IG5ldyBGb3JtYXRFcnJvcigiTWF4IHNpemUgb2YgQ0lEIGlzIDY1LDUzNSIpO2xldCBzPS0xO3Q/cz1hOnZvaWQgMCE9PWVbYV0mJihzPWVbYV0pO3M+PTAmJnM8aCYmaGFzR2x5cGgocykmJihtW2ldPXMpfSkpfWVsc2V7Y29uc3QgZT1mdW5jdGlvbiByZWFkQ21hcFRhYmxlKGUsdCxpLGEpe2lmKCFlKXt3YXJuKCJObyBjbWFwIHRhYmxlIGF2YWlsYWJsZS4iKTtyZXR1cm57cGxhdGZvcm1JZDotMSxlbmNvZGluZ0lkOi0xLG1hcHBpbmdzOltdLGhhc1Nob3J0Q21hcDohMX19bGV0IHMscj0odC5zdGFydHx8MCkrZS5vZmZzZXQ7dC5wb3M9cjt0LnNraXAoMik7Y29uc3Qgbj10LmdldFVpbnQxNigpO2xldCBnLG89ITE7Zm9yKGxldCBlPTA7ZTxuO2UrKyl7Y29uc3Qgcz10LmdldFVpbnQxNigpLHI9dC5nZXRVaW50MTYoKSxjPXQuZ2V0SW50MzIoKT4+PjA7bGV0IEM9ITE7aWYoZz8ucGxhdGZvcm1JZCE9PXN8fGc/LmVuY29kaW5nSWQhPT1yKXtpZigwIT09c3x8MCE9PXImJjEhPT1yJiYzIT09cilpZigxPT09cyYmMD09PXIpQz0hMDtlbHNlIGlmKDMhPT1zfHwxIT09cnx8IWEmJmcpe2lmKGkmJjM9PT1zJiYwPT09cil7Qz0hMDtsZXQgaT0hMDtpZihlPG4tMSl7Y29uc3QgZT10LnBlZWtCeXRlcygyKTtpbnQxNihlWzBdLGVbMV0pPHMmJihpPSExKX1pJiYobz0hMCl9fWVsc2V7Qz0hMDtpfHwobz0hMCl9ZWxzZSBDPSEwO0MmJihnPXtwbGF0Zm9ybUlkOnMsZW5jb2RpbmdJZDpyLG9mZnNldDpjfSk7aWYobylicmVha319ZyYmKHQucG9zPXIrZy5vZmZzZXQpO2lmKCFnfHwtMT09PXQucGVla0J5dGUoKSl7d2FybigiQ291bGQgbm90IGZpbmQgYSBwcmVmZXJyZWQgY21hcCB0YWJsZS4iKTtyZXR1cm57cGxhdGZvcm1JZDotMSxlbmNvZGluZ0lkOi0xLG1hcHBpbmdzOltdLGhhc1Nob3J0Q21hcDohMX19Y29uc3QgYz10LmdldFVpbnQxNigpO2xldCBDPSExO2NvbnN0IGg9W107bGV0IGwsUTtpZigwPT09Yyl7dC5za2lwKDQpO2ZvcihsPTA7bDwyNTY7bCsrKXtjb25zdCBlPXQuZ2V0Qnl0ZSgpO2UmJmgucHVzaCh7Y2hhckNvZGU6bCxnbHlwaElkOmV9KX1DPSEwfWVsc2UgaWYoMj09PWMpe3Quc2tpcCg0KTtjb25zdCBlPVtdO2xldCBpPTA7Zm9yKGxldCBhPTA7YTwyNTY7YSsrKXtjb25zdCBhPXQuZ2V0VWludDE2KCk+PjM7ZS5wdXNoKGEpO2k9TWF0aC5tYXgoYSxpKX1jb25zdCBhPVtdO2ZvcihsZXQgZT0wO2U8PWk7ZSsrKWEucHVzaCh7Zmlyc3RDb2RlOnQuZ2V0VWludDE2KCksZW50cnlDb3VudDp0LmdldFVpbnQxNigpLGlkRGVsdGE6c2lnbmVkSW50MTYodC5nZXRCeXRlKCksdC5nZXRCeXRlKCkpLGlkUmFuZ2VQb3M6dC5wb3MrdC5nZXRVaW50MTYoKX0pO2ZvcihsZXQgaT0wO2k8MjU2O2krKylpZigwPT09ZVtpXSl7dC5wb3M9YVswXS5pZFJhbmdlUG9zKzIqaTtRPXQuZ2V0VWludDE2KCk7aC5wdXNoKHtjaGFyQ29kZTppLGdseXBoSWQ6UX0pfWVsc2V7Y29uc3Qgcz1hW2VbaV1dO2ZvcihsPTA7bDxzLmVudHJ5Q291bnQ7bCsrKXtjb25zdCBlPShpPDw4KStsK3MuZmlyc3RDb2RlO3QucG9zPXMuaWRSYW5nZVBvcysyKmw7UT10LmdldFVpbnQxNigpOzAhPT1RJiYoUT0oUStzLmlkRGVsdGEpJTY1NTM2KTtoLnB1c2goe2NoYXJDb2RlOmUsZ2x5cGhJZDpRfSl9fX1lbHNlIGlmKDQ9PT1jKXt0LnNraXAoNCk7Y29uc3QgZT10LmdldFVpbnQxNigpPj4xO3Quc2tpcCg2KTtjb25zdCBpPVtdO2xldCBhO2ZvcihhPTA7YTxlO2ErKylpLnB1c2goe2VuZDp0LmdldFVpbnQxNigpfSk7dC5za2lwKDIpO2ZvcihhPTA7YTxlO2ErKylpW2FdLnN0YXJ0PXQuZ2V0VWludDE2KCk7Zm9yKGE9MDthPGU7YSsrKWlbYV0uZGVsdGE9dC5nZXRVaW50MTYoKTtsZXQgbixnPTA7Zm9yKGE9MDthPGU7YSsrKXtzPWlbYV07Y29uc3Qgcj10LmdldFVpbnQxNigpO2lmKHIpe249KHI+PjEpLShlLWEpO3Mub2Zmc2V0SW5kZXg9bjtnPU1hdGgubWF4KGcsbitzLmVuZC1zLnN0YXJ0KzEpfWVsc2Ugcy5vZmZzZXRJbmRleD0tMX1jb25zdCBvPVtdO2ZvcihsPTA7bDxnO2wrKylvLnB1c2godC5nZXRVaW50MTYoKSk7Zm9yKGE9MDthPGU7YSsrKXtzPWlbYV07cj1zLnN0YXJ0O2NvbnN0IGU9cy5lbmQsdD1zLmRlbHRhO249cy5vZmZzZXRJbmRleDtmb3IobD1yO2w8PWU7bCsrKWlmKDY1NTM1IT09bCl7UT1uPDA/bDpvW24rbC1yXTtRPVErdCY2NTUzNTtoLnB1c2goe2NoYXJDb2RlOmwsZ2x5cGhJZDpRfSl9fX1lbHNlIGlmKDY9PT1jKXt0LnNraXAoNCk7Y29uc3QgZT10LmdldFVpbnQxNigpLGk9dC5nZXRVaW50MTYoKTtmb3IobD0wO2w8aTtsKyspe1E9dC5nZXRVaW50MTYoKTtjb25zdCBpPWUrbDtoLnB1c2goe2NoYXJDb2RlOmksZ2x5cGhJZDpRfSl9fWVsc2V7aWYoMTIhPT1jKXt3YXJuKCJjbWFwIHRhYmxlIGhhcyB1bnN1cHBvcnRlZCBmb3JtYXQ6ICIrYyk7cmV0dXJue3BsYXRmb3JtSWQ6LTEsZW5jb2RpbmdJZDotMSxtYXBwaW5nczpbXSxoYXNTaG9ydENtYXA6ITF9fXt0LnNraXAoMTApO2NvbnN0IGU9dC5nZXRJbnQzMigpPj4+MDtmb3IobD0wO2w8ZTtsKyspe2NvbnN0IGU9dC5nZXRJbnQzMigpPj4+MCxpPXQuZ2V0SW50MzIoKT4+PjA7bGV0IGE9dC5nZXRJbnQzMigpPj4+MDtmb3IobGV0IHQ9ZTt0PD1pO3QrKyloLnB1c2goe2NoYXJDb2RlOnQsZ2x5cGhJZDphKyt9KX19fWguc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jaGFyQ29kZS10LmNoYXJDb2RlfSkpO2ZvcihsZXQgZT0xO2U8aC5sZW5ndGg7ZSsrKWlmKGhbZS0xXS5jaGFyQ29kZT09PWhbZV0uY2hhckNvZGUpe2guc3BsaWNlKGUsMSk7ZS0tfXJldHVybntwbGF0Zm9ybUlkOmcucGxhdGZvcm1JZCxlbmNvZGluZ0lkOmcuZW5jb2RpbmdJZCxtYXBwaW5nczpoLGhhc1Nob3J0Q21hcDpDfX0obi5jbWFwLHQsdGhpcy5pc1N5bWJvbGljRm9udCxpLmhhc0VuY29kaW5nKSxhPWUucGxhdGZvcm1JZCxzPWUuZW5jb2RpbmdJZCxyPWUubWFwcGluZ3M7bGV0IGc9W10sbz0hMTshaS5oYXNFbmNvZGluZ3x8Ik1hY1JvbWFuRW5jb2RpbmciIT09aS5iYXNlRW5jb2RpbmdOYW1lJiYiV2luQW5zaUVuY29kaW5nIiE9PWkuYmFzZUVuY29kaW5nTmFtZXx8KGc9Z2V0RW5jb2RpbmcoaS5iYXNlRW5jb2RpbmdOYW1lKSk7aWYoaS5oYXNFbmNvZGluZyYmIXRoaXMuaXNTeW1ib2xpY0ZvbnQmJigzPT09YSYmMT09PXN8fDE9PT1hJiYwPT09cykpe2NvbnN0IGU9eGkoKTtmb3IobGV0IHQ9MDt0PDI1Njt0Kyspe2xldCBuO249dm9pZCAwIT09dGhpcy5kaWZmZXJlbmNlc1t0XT90aGlzLmRpZmZlcmVuY2VzW3RdOmcubGVuZ3RoJiYiIiE9PWdbdF0/Z1t0XTptaVt0XTtpZighbiljb250aW51ZTtjb25zdCBvPXJlY292ZXJHbHlwaE5hbWUobixlKTtsZXQgYzszPT09YSYmMT09PXM/Yz1lW29dOjE9PT1hJiYwPT09cyYmKGM9cGkuaW5kZXhPZihvKSk7aWYodm9pZCAwPT09Yyl7aWYoIWkuZ2x5cGhOYW1lcyYmaS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcCYmISh0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwKSl7Y29uc3QgZT10aGlzLnRvVW5pY29kZS5nZXQodCk7ZSYmKGM9ZS5jb2RlUG9pbnRBdCgwKSl9aWYodm9pZCAwPT09Yyljb250aW51ZX1mb3IoY29uc3QgZSBvZiByKWlmKGUuY2hhckNvZGU9PT1jKXttW3RdPWUuZ2x5cGhJZDticmVha319fWVsc2UgaWYoMD09PWEpe2Zvcihjb25zdCBlIG9mIHIpbVtlLmNoYXJDb2RlXT1lLmdseXBoSWQ7bz0hMH1lbHNlIGlmKDM9PT1hJiYwPT09cylmb3IoY29uc3QgZSBvZiByKXtsZXQgdD1lLmNoYXJDb2RlO3Q+PTYxNDQwJiZ0PD02MTY5NSYmKHQmPTI1NSk7bVt0XT1lLmdseXBoSWR9ZWxzZSBmb3IoY29uc3QgZSBvZiByKW1bZS5jaGFyQ29kZV09ZS5nbHlwaElkO2lmKGkuZ2x5cGhOYW1lcyYmKGcubGVuZ3RofHx0aGlzLmRpZmZlcmVuY2VzLmxlbmd0aCkpZm9yKGxldCBlPTA7ZTwyNTY7KytlKXtpZighbyYmdm9pZCAwIT09bVtlXSljb250aW51ZTtjb25zdCB0PXRoaXMuZGlmZmVyZW5jZXNbZV18fGdbZV07aWYoIXQpY29udGludWU7Y29uc3QgYT1pLmdseXBoTmFtZXMuaW5kZXhPZih0KTthPjAmJmhhc0dseXBoKGEpJiYobVtlXT1hKX19MD09PW0ubGVuZ3RoJiYobVswXT0wKTtsZXQgeT1sLTE7UXx8KHk9MCk7aWYoIWkuY3NzRm9udEluZm8pe2NvbnN0IGU9YWRqdXN0TWFwcGluZyhtLGhhc0dseXBoLHksdGhpcy50b1VuaWNvZGUpO3RoaXMudG9Gb250Q2hhcj1lLnRvRm9udENoYXI7bi5jbWFwPXt0YWc6ImNtYXAiLGRhdGE6Y3JlYXRlQ21hcFRhYmxlKGUuY2hhckNvZGVUb0dseXBoSWQsZS50b1VuaWNvZGVFeHRyYU1hcCxsKX07blsiT1MvMiJdJiZmdW5jdGlvbiB2YWxpZGF0ZU9TMlRhYmxlKGUsdCl7dC5wb3M9KHQuc3RhcnR8fDApK2Uub2Zmc2V0O2NvbnN0IGk9dC5nZXRVaW50MTYoKTt0LnNraXAoNjApO2NvbnN0IGE9dC5nZXRVaW50MTYoKTtpZihpPDQmJjc2OCZhKXJldHVybiExO2lmKHQuZ2V0VWludDE2KCk+dC5nZXRVaW50MTYoKSlyZXR1cm4hMTt0LnNraXAoNik7aWYoMD09PXQuZ2V0VWludDE2KCkpcmV0dXJuITE7ZS5kYXRhWzhdPWUuZGF0YVs5XT0wO3JldHVybiEwfShuWyJPUy8yIl0sdCl8fChuWyJPUy8yIl09e3RhZzoiT1MvMiIsZGF0YTpjcmVhdGVPUzJUYWJsZShpLGUuY2hhckNvZGVUb0dseXBoSWQscCl9KX1pZighYyl0cnl7bz1uZXcgU3RyZWFtKG5bIkNGRiAiXS5kYXRhKTtnPW5ldyBDRkZQYXJzZXIobyxpLFRpKS5wYXJzZSgpO2cuZHVwbGljYXRlRmlyc3RHbHlwaCgpO2NvbnN0IGU9bmV3IENGRkNvbXBpbGVyKGcpO25bIkNGRiAiXS5kYXRhPWUuY29tcGlsZSgpfWNhdGNoe3dhcm4oIkZhaWxlZCB0byBjb21waWxlIGZvbnQgIitpLmxvYWRlZE5hbWUpfWlmKG4ubmFtZSl7Y29uc3RbdCxhXT1yZWFkTmFtZVRhYmxlKG4ubmFtZSk7bi5uYW1lLmRhdGE9Y3JlYXRlTmFtZVRhYmxlKGUsdCk7dGhpcy5wc05hbWU9dFswXVs2XXx8bnVsbDtpLmNvbXBvc2l0ZXx8ZnVuY3Rpb24gYWRqdXN0VHJ1ZVR5cGVUb1VuaWNvZGUoZSx0LGkpe2lmKGUuaXNJbnRlcm5hbEZvbnQpcmV0dXJuO2lmKGUuaGFzSW5jbHVkZWRUb1VuaWNvZGVNYXApcmV0dXJuO2lmKGUuaGFzRW5jb2RpbmcpcmV0dXJuO2lmKGUudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXApcmV0dXJuO2lmKCF0KXJldHVybjtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2lmKGUuZGVmYXVsdEVuY29kaW5nPT09eWkpcmV0dXJuO2Zvcihjb25zdCBlIG9mIGkpaWYoIWlzV2luTmFtZVJlY29yZChlKSlyZXR1cm47Y29uc3QgYT15aSxzPVtdLHI9eGkoKTtmb3IoY29uc3QgZSBpbiBhKXtjb25zdCB0PWFbZV07aWYoIiI9PT10KWNvbnRpbnVlO2NvbnN0IGk9clt0XTt2b2lkIDAhPT1pJiYoc1tlXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpKX1zLmxlbmd0aD4wJiZlLnRvVW5pY29kZS5hbWVuZChzKX0oaSx0aGlzLmlzU3ltYm9saWNGb250LGEpfWVsc2Ugbi5uYW1lPXt0YWc6Im5hbWUiLGRhdGE6Y3JlYXRlTmFtZVRhYmxlKHRoaXMubmFtZSl9O2NvbnN0IHc9bmV3IE9wZW5UeXBlRmlsZUJ1aWxkZXIoci52ZXJzaW9uKTtmb3IoY29uc3QgZSBpbiBuKXcuYWRkVGFibGUoZSxuW2VdLmRhdGEpO3JldHVybiB3LnRvQXJyYXkoKX1jb252ZXJ0KGUsdCxpKXtpLmZpeGVkUGl0Y2g9ITE7aS5idWlsdEluRW5jb2RpbmcmJmZ1bmN0aW9uIGFkanVzdFR5cGUxVG9Vbmljb2RlKGUsdCl7aWYoZS5pc0ludGVybmFsRm9udClyZXR1cm47aWYoZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcClyZXR1cm47aWYodD09PWUuZGVmYXVsdEVuY29kaW5nKXJldHVybjtpZihlLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwKXJldHVybjtjb25zdCBpPVtdLGE9eGkoKTtmb3IoY29uc3QgcyBpbiB0KXtpZihlLmhhc0VuY29kaW5nJiYoZS5iYXNlRW5jb2RpbmdOYW1lfHx2b2lkIDAhPT1lLmRpZmZlcmVuY2VzW3NdKSljb250aW51ZTtjb25zdCByPWdldFVuaWNvZGVGb3JHbHlwaCh0W3NdLGEpOy0xIT09ciYmKGlbc109U3RyaW5nLmZyb21DaGFyQ29kZShyKSl9aS5sZW5ndGg+MCYmZS50b1VuaWNvZGUuYW1lbmQoaSl9KGksaS5idWlsdEluRW5jb2RpbmcpO2xldCBzPTE7dCBpbnN0YW5jZW9mIENGRkZvbnQmJihzPXQubnVtR2x5cGhzLTEpO2NvbnN0IHI9dC5nZXRHbHlwaE1hcHBpbmcoaSk7bGV0IG49bnVsbCxnPXIsbz1udWxsO2lmKCFpLmNzc0ZvbnRJbmZvKXtuPWFkanVzdE1hcHBpbmcocix0Lmhhc0dseXBoSWQuYmluZCh0KSxzLHRoaXMudG9Vbmljb2RlKTt0aGlzLnRvRm9udENoYXI9bi50b0ZvbnRDaGFyO2c9bi5jaGFyQ29kZVRvR2x5cGhJZDtvPW4udG9Vbmljb2RlRXh0cmFNYXB9Y29uc3QgYz10Lm51bUdseXBocztmdW5jdGlvbiBnZXRDaGFyQ29kZXMoZSx0KXtsZXQgaT1udWxsO2Zvcihjb25zdCBhIGluIGUpdD09PWVbYV0mJihpfHw9W10pLnB1c2goMHxhKTtyZXR1cm4gaX1mdW5jdGlvbiBjcmVhdGVDaGFyQ29kZShlLHQpe2Zvcihjb25zdCBpIGluIGUpaWYodD09PWVbaV0pcmV0dXJuIDB8aTtuLmNoYXJDb2RlVG9HbHlwaElkW24ubmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZV09dDtyZXR1cm4gbi5uZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlKyt9Y29uc3QgQz10LnNlYWNzO2lmKG4mJkM/Lmxlbmd0aCl7Y29uc3QgZT1pLmZvbnRNYXRyaXh8fGEscz10LmdldENoYXJzZXQoKSxnPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCB0IGluIEMpe3R8PTA7Y29uc3QgaT1DW3RdLGE9bWlbaVsyXV0sbz1taVtpWzNdXSxjPXMuaW5kZXhPZihhKSxoPXMuaW5kZXhPZihvKTtpZihjPDB8fGg8MCljb250aW51ZTtjb25zdCBsPXt4OmlbMF0qZVswXStpWzFdKmVbMl0rZVs0XSx5OmlbMF0qZVsxXStpWzFdKmVbM10rZVs1XX0sUT1nZXRDaGFyQ29kZXMocix0KTtpZihRKWZvcihjb25zdCBlIG9mIFEpe2NvbnN0IHQ9bi5jaGFyQ29kZVRvR2x5cGhJZCxpPWNyZWF0ZUNoYXJDb2RlKHQsYyksYT1jcmVhdGVDaGFyQ29kZSh0LGgpO2dbZV09e2Jhc2VGb250Q2hhckNvZGU6aSxhY2NlbnRGb250Q2hhckNvZGU6YSxhY2NlbnRPZmZzZXQ6bH19fWkuc2VhY01hcD1nfWNvbnN0IGg9aS5mb250TWF0cml4PzEvTWF0aC5tYXgoLi4uaS5mb250TWF0cml4LnNsaWNlKDAsNCkubWFwKE1hdGguYWJzKSk6MWUzLGw9bmV3IE9wZW5UeXBlRmlsZUJ1aWxkZXIoIk9UVE8iKTtsLmFkZFRhYmxlKCJDRkYgIix0LmRhdGEpO2wuYWRkVGFibGUoIk9TLzIiLGNyZWF0ZU9TMlRhYmxlKGksZykpO2wuYWRkVGFibGUoImNtYXAiLGNyZWF0ZUNtYXBUYWJsZShnLG8sYykpO2wuYWRkVGFibGUoImhlYWQiLCJcMAFcMFwwXDBcMBBcMFwwXDBcMFwwXw88w7VcMFwwIitzYWZlU3RyaW5nMTYoaCkrIlwwXDBcMFwwwp5cdn4nXDBcMFwwXDDCnlx2fidcMFwwIitzYWZlU3RyaW5nMTYoaS5kZXNjZW50KSsiD8O/IitzYWZlU3RyaW5nMTYoaS5hc2NlbnQpK3N0cmluZzE2KGkuaXRhbGljQW5nbGU/MjowKSsiXDARXDBcMFwwXDBcMFwwIik7bC5hZGRUYWJsZSgiaGhlYSIsIlwwAVwwXDAiK3NhZmVTdHJpbmcxNihpLmFzY2VudCkrc2FmZVN0cmluZzE2KGkuZGVzY2VudCkrIlwwXDDDv8O/XDBcMFwwXDBcMFwwIitzYWZlU3RyaW5nMTYoaS5jYXBIZWlnaHQpK3NhZmVTdHJpbmcxNihNYXRoLnRhbihpLml0YWxpY0FuZ2xlKSppLnhIZWlnaHQpKyJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiK3N0cmluZzE2KGMpKTtsLmFkZFRhYmxlKCJobXR4IixmdW5jdGlvbiBmb250RmllbGRzSG10eCgpe2NvbnN0IGU9dC5jaGFyc3RyaW5ncyxpPXQuY2ZmP3QuY2ZmLndpZHRoczpudWxsO2xldCBhPSJcMFwwXDBcMCI7Zm9yKGxldCB0PTEscz1jO3Q8czt0Kyspe2xldCBzPTA7aWYoZSl7Y29uc3QgaT1lW3QtMV07cz0id2lkdGgiaW4gaT9pLndpZHRoOjB9ZWxzZSBpJiYocz1NYXRoLmNlaWwoaVt0XXx8MCkpO2ErPXN0cmluZzE2KHMpK3N0cmluZzE2KDApfXJldHVybiBhfSgpKTtsLmFkZFRhYmxlKCJtYXhwIiwiXDBcMFBcMCIrc3RyaW5nMTYoYykpO2wuYWRkVGFibGUoIm5hbWUiLGNyZWF0ZU5hbWVUYWJsZShlKSk7bC5hZGRUYWJsZSgicG9zdCIsY3JlYXRlUG9zdFRhYmxlKGkpKTtyZXR1cm4gbC50b0FycmF5KCl9Z2V0IF9zcGFjZVdpZHRoKCl7Y29uc3QgZT1bInNwYWNlIiwibWludXMiLCJvbmUiLCJpIiwiSSJdO2xldCB0O2Zvcihjb25zdCBpIG9mIGUpe2lmKGkgaW4gdGhpcy53aWR0aHMpe3Q9dGhpcy53aWR0aHNbaV07YnJlYWt9Y29uc3QgZT14aSgpW2ldO2xldCBhPTA7aWYodGhpcy5jb21wb3NpdGUmJnRoaXMuY01hcC5jb250YWlucyhlKSl7YT10aGlzLmNNYXAubG9va3VwKGUpOyJzdHJpbmciPT10eXBlb2YgYSYmKGE9Y29udmVydENpZFN0cmluZyhlLGEpKX0hYSYmdGhpcy50b1VuaWNvZGUmJihhPXRoaXMudG9Vbmljb2RlLmNoYXJDb2RlT2YoZSkpO2E8PTAmJihhPWUpO3Q9dGhpcy53aWR0aHNbYV07aWYodClicmVha31yZXR1cm4gc2hhZG93KHRoaXMsIl9zcGFjZVdpZHRoIix0fHx0aGlzLmRlZmF1bHRXaWR0aCl9X2NoYXJUb0dseXBoKGUsdD0hMSl7bGV0IGksYSxzLHI9dGhpcy5fZ2x5cGhDYWNoZVtlXTtpZihyPy5pc1NwYWNlPT09dClyZXR1cm4gcjtsZXQgbj1lO2lmKHRoaXMuY01hcD8uY29udGFpbnMoZSkpe249dGhpcy5jTWFwLmxvb2t1cChlKTsic3RyaW5nIj09dHlwZW9mIG4mJihuPWNvbnZlcnRDaWRTdHJpbmcoZSxuKSl9YT10aGlzLndpZHRoc1tuXTsibnVtYmVyIiE9dHlwZW9mIGEmJihhPXRoaXMuZGVmYXVsdFdpZHRoKTtjb25zdCBnPXRoaXMudm1ldHJpY3M/LltuXTtsZXQgbz10aGlzLnRvVW5pY29kZS5nZXQoZSl8fGU7Im51bWJlciI9PXR5cGVvZiBvJiYobz1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pKTtsZXQgYz12b2lkIDAhPT10aGlzLnRvRm9udENoYXJbZV07aT10aGlzLnRvRm9udENoYXJbZV18fGU7aWYodGhpcy5taXNzaW5nRmlsZSl7Y29uc3QgdD10aGlzLmRpZmZlcmVuY2VzW2VdfHx0aGlzLmRlZmF1bHRFbmNvZGluZ1tlXTtpZigoIi5ub3RkZWYiPT09dHx8IiI9PT10KSYmIlR5cGUxIj09PXRoaXMudHlwZSl7aT0zMjtpZigiIj09PXQpe2F8fD10aGlzLl9zcGFjZVdpZHRoO289U3RyaW5nLmZyb21DaGFyQ29kZShpKX19aT1mdW5jdGlvbiBtYXBTcGVjaWFsVW5pY29kZVZhbHVlcyhlKXtyZXR1cm4gZT49NjU1MjAmJmU8PTY1NTM1PzA6ZT49NjI5NzYmJmU8PTYzNzQzP0hpKClbZV18fGU6MTczPT09ZT80NTplfShpKX10aGlzLmlzVHlwZTNGb250JiYocz1pKTtsZXQgQz1udWxsO2lmKHRoaXMuc2VhY01hcD8uW2VdKXtjPSEwO2NvbnN0IHQ9dGhpcy5zZWFjTWFwW2VdO2k9dC5iYXNlRm9udENoYXJDb2RlO0M9e2ZvbnRDaGFyOlN0cmluZy5mcm9tQ29kZVBvaW50KHQuYWNjZW50Rm9udENoYXJDb2RlKSxvZmZzZXQ6dC5hY2NlbnRPZmZzZXR9fWxldCBoPSIiOyJudW1iZXIiPT10eXBlb2YgaSYmKGk8PTExMTQxMTE/aD1TdHJpbmcuZnJvbUNvZGVQb2ludChpKTp3YXJuKGBjaGFyVG9HbHlwaCAtIGludmFsaWQgZm9udENoYXJDb2RlOiAke2l9YCkpO2lmKHRoaXMubWlzc2luZ0ZpbGUmJnRoaXMudmVydGljYWwmJjE9PT1oLmxlbmd0aCl7Y29uc3QgZT1YaSgpW2guY2hhckNvZGVBdCgwKV07ZSYmKGg9bz1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKX1yPW5ldyBmb250c19HbHlwaChlLGgsbyxDLGEsZyxzLHQsYyk7cmV0dXJuIHRoaXMuX2dseXBoQ2FjaGVbZV09cn1jaGFyc1RvR2x5cGhzKGUpe2xldCB0PXRoaXMuX2NoYXJzQ2FjaGVbZV07aWYodClyZXR1cm4gdDt0PVtdO2lmKHRoaXMuY01hcCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpLGE9ZS5sZW5ndGg7bGV0IHM9MDtmb3IoO3M8YTspe3RoaXMuY01hcC5yZWFkQ2hhckNvZGUoZSxzLGkpO2NvbnN0e2NoYXJjb2RlOmEsbGVuZ3RoOnJ9PWk7cys9cjtjb25zdCBuPXRoaXMuX2NoYXJUb0dseXBoKGEsMT09PXImJjMyPT09ZS5jaGFyQ29kZUF0KHMtMSkpO3QucHVzaChuKX19ZWxzZSBmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTsrK2kpe2NvbnN0IGE9ZS5jaGFyQ29kZUF0KGkpLHM9dGhpcy5fY2hhclRvR2x5cGgoYSwzMj09PWEpO3QucHVzaChzKX1yZXR1cm4gdGhpcy5fY2hhcnNDYWNoZVtlXT10fWdldENoYXJQb3NpdGlvbnMoZSl7Y29uc3QgdD1bXTtpZih0aGlzLmNNYXApe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgYT0wO2Zvcig7YTxlLmxlbmd0aDspe3RoaXMuY01hcC5yZWFkQ2hhckNvZGUoZSxhLGkpO2NvbnN0IHM9aS5sZW5ndGg7dC5wdXNoKFthLGErc10pO2ErPXN9fWVsc2UgZm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7KytpKXQucHVzaChbaSxpKzFdKTtyZXR1cm4gdH1nZXQgZ2x5cGhDYWNoZVZhbHVlcygpe3JldHVybiBPYmplY3QudmFsdWVzKHRoaXMuX2dseXBoQ2FjaGUpfWVuY29kZVN0cmluZyhlKXtjb25zdCB0PVtdLGk9W10saGFzQ3VycmVudEJ1ZkVycm9ycz0oKT0+dC5sZW5ndGglMj09MSxhPXRoaXMudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXA/ZT0+dGhpcy50b1VuaWNvZGUuY2hhckNvZGVPZihlKTplPT50aGlzLnRvVW5pY29kZS5jaGFyQ29kZU9mKFN0cmluZy5mcm9tQ29kZVBvaW50KGUpKTtmb3IobGV0IHM9MCxyPWUubGVuZ3RoO3M8cjtzKyspe2NvbnN0IHI9ZS5jb2RlUG9pbnRBdChzKTtyPjU1Mjk1JiYocjw1NzM0NHx8cj42NTUzMykmJnMrKztpZih0aGlzLnRvVW5pY29kZSl7Y29uc3QgZT1hKHIpO2lmKC0xIT09ZSl7aWYoaGFzQ3VycmVudEJ1ZkVycm9ycygpKXt0LnB1c2goaS5qb2luKCIiKSk7aS5sZW5ndGg9MH1mb3IobGV0IHQ9KHRoaXMuY01hcD90aGlzLmNNYXAuZ2V0Q2hhckNvZGVMZW5ndGgoZSk6MSktMTt0Pj0wO3QtLSlpLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShlPj44KnQmMjU1KSk7Y29udGludWV9fWlmKCFoYXNDdXJyZW50QnVmRXJyb3JzKCkpe3QucHVzaChpLmpvaW4oIiIpKTtpLmxlbmd0aD0wfWkucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChyKSl9dC5wdXNoKGkuam9pbigiIikpO3JldHVybiB0fX1jbGFzcyBFcnJvckZvbnR7Y29uc3RydWN0b3IoZSl7dGhpcy5lcnJvcj1lO3RoaXMubG9hZGVkTmFtZT0iZ19mb250X2Vycm9yIjt0aGlzLm1pc3NpbmdGaWxlPSEwfWNoYXJzVG9HbHlwaHMoKXtyZXR1cm5bXX1lbmNvZGVTdHJpbmcoZSl7cmV0dXJuW2VdfWV4cG9ydERhdGEoZT0hMSl7cmV0dXJue2Vycm9yOnRoaXMuZXJyb3J9fX1jb25zdCBmYT0yLHBhPTMsbWE9NCx5YT01LHdhPTYsRGE9NztjbGFzcyBQYXR0ZXJue2NvbnN0cnVjdG9yKCl7dW5yZWFjaGFibGUoIkNhbm5vdCBpbml0aWFsaXplIFBhdHRlcm4uIil9c3RhdGljIHBhcnNlU2hhZGluZyhlLHQsaSxhLHMpe2NvbnN0IHI9ZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/ZS5kaWN0OmUsbj1yLmdldCgiU2hhZGluZ1R5cGUiKTt0cnl7c3dpdGNoKG4pe2Nhc2UgZmE6Y2FzZSBwYTpyZXR1cm4gbmV3IFJhZGlhbEF4aWFsU2hhZGluZyhyLHQsaSxhLHMpO2Nhc2UgbWE6Y2FzZSB5YTpjYXNlIHdhOmNhc2UgRGE6cmV0dXJuIG5ldyBNZXNoU2hhZGluZyhlLHQsaSxhLHMpO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbnN1cHBvcnRlZCBTaGFkaW5nVHlwZTogIituKX19Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihlKTtyZXR1cm4gbmV3IER1bW15U2hhZGluZ319fWNsYXNzIEJhc2VTaGFkaW5ne3N0YXRpYyBTTUFMTF9OVU1CRVI9MWUtNjtnZXRJUigpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGdldElSYCBjYWxsZWQuIil9fWNsYXNzIFJhZGlhbEF4aWFsU2hhZGluZyBleHRlbmRzIEJhc2VTaGFkaW5ne2NvbnN0cnVjdG9yKGUsdCxpLGEscyl7c3VwZXIoKTt0aGlzLnNoYWRpbmdUeXBlPWUuZ2V0KCJTaGFkaW5nVHlwZSIpO2xldCByPTA7dGhpcy5zaGFkaW5nVHlwZT09PWZhP3I9NDp0aGlzLnNoYWRpbmdUeXBlPT09cGEmJihyPTYpO3RoaXMuY29vcmRzQXJyPWUuZ2V0QXJyYXkoIkNvb3JkcyIpO2lmKCFpc051bWJlckFycmF5KHRoaXMuY29vcmRzQXJyLHIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUmFkaWFsQXhpYWxTaGFkaW5nOiBJbnZhbGlkIC9Db29yZHMgYXJyYXkuIik7Y29uc3Qgbj1Db2xvclNwYWNlLnBhcnNlKHtjczplLmdldFJhdygiQ1MiKXx8ZS5nZXRSYXcoIkNvbG9yU3BhY2UiKSx4cmVmOnQscmVzb3VyY2VzOmkscGRmRnVuY3Rpb25GYWN0b3J5OmEsbG9jYWxDb2xvclNwYWNlQ2FjaGU6c30pO3RoaXMuYmJveD1sb29rdXBOb3JtYWxSZWN0KGUuZ2V0QXJyYXkoIkJCb3giKSxudWxsKTtsZXQgZz0wLG89MTtjb25zdCBjPWUuZ2V0QXJyYXkoIkRvbWFpbiIpO2lzTnVtYmVyQXJyYXkoYywyKSYmKFtnLG9dPWMpO2xldCBDPSExLGg9ITE7Y29uc3QgbD1lLmdldEFycmF5KCJFeHRlbmQiKTsoZnVuY3Rpb24gaXNCb29sZWFuQXJyYXkoZSx0KXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKSYmKG51bGw9PT10fHxlLmxlbmd0aD09PXQpJiZlLmV2ZXJ5KChlPT4iYm9vbGVhbiI9PXR5cGVvZiBlKSl9KShsLDIpJiYoW0MsaF09bCk7aWYoISh0aGlzLnNoYWRpbmdUeXBlIT09cGF8fEMmJmgpKXtjb25zdFtlLHQsaSxhLHMscl09dGhpcy5jb29yZHNBcnIsbj1NYXRoLmh5cG90KGUtYSx0LXMpO2k8PXIrbiYmcjw9aStuJiZ3YXJuKCJVbnN1cHBvcnRlZCByYWRpYWwgZ3JhZGllbnQuIil9dGhpcy5leHRlbmRTdGFydD1DO3RoaXMuZXh0ZW5kRW5kPWg7Y29uc3QgUT1lLmdldFJhdygiRnVuY3Rpb24iKSxFPWEuY3JlYXRlRnJvbUFycmF5KFEpLHU9KG8tZykvODQwLGQ9dGhpcy5jb2xvclN0b3BzPVtdO2lmKGc+PW98fHU8PTApe2luZm8oIkJhZCBzaGFkaW5nIGRvbWFpbi4iKTtyZXR1cm59Y29uc3QgZj1uZXcgRmxvYXQzMkFycmF5KG4ubnVtQ29tcHMpLHA9bmV3IEZsb2F0MzJBcnJheSgxKTtsZXQgbSx5PTA7cFswXT1nO0UocCwwLGYsMCk7bGV0IHc9bi5nZXRSZ2IoZiwwKTtjb25zdCBEPVV0aWwubWFrZUhleENvbG9yKHdbMF0sd1sxXSx3WzJdKTtkLnB1c2goWzAsRF0pO2xldCBiPTE7cFswXT1nK3U7RShwLDAsZiwwKTtsZXQgRj1uLmdldFJnYihmLDApLFM9RlswXS13WzBdKzEsaz1GWzFdLXdbMV0rMSxSPUZbMl0td1syXSsxLE49RlswXS13WzBdLTEsRz1GWzFdLXdbMV0tMSx4PUZbMl0td1syXS0xO2ZvcihsZXQgZT0yO2U8ODQwO2UrKyl7cFswXT1nK2UqdTtFKHAsMCxmLDApO209bi5nZXRSZ2IoZiwwKTtjb25zdCB0PWUteTtTPU1hdGgubWluKFMsKG1bMF0td1swXSsxKS90KTtrPU1hdGgubWluKGssKG1bMV0td1sxXSsxKS90KTtSPU1hdGgubWluKFIsKG1bMl0td1syXSsxKS90KTtOPU1hdGgubWF4KE4sKG1bMF0td1swXS0xKS90KTtHPU1hdGgubWF4KEcsKG1bMV0td1sxXS0xKS90KTt4PU1hdGgubWF4KHgsKG1bMl0td1syXS0xKS90KTtpZighKE48PVMmJkc8PWsmJng8PVIpKXtjb25zdCBlPVV0aWwubWFrZUhleENvbG9yKEZbMF0sRlsxXSxGWzJdKTtkLnB1c2goW2IvODQwLGVdKTtTPW1bMF0tRlswXSsxO2s9bVsxXS1GWzFdKzE7Uj1tWzJdLUZbMl0rMTtOPW1bMF0tRlswXS0xO0c9bVsxXS1GWzFdLTE7eD1tWzJdLUZbMl0tMTt5PWI7dz1GfWI9ZTtGPW19Y29uc3QgVT1VdGlsLm1ha2VIZXhDb2xvcihGWzBdLEZbMV0sRlsyXSk7ZC5wdXNoKFsxLFVdKTtsZXQgTT0idHJhbnNwYXJlbnQiO2lmKGUuaGFzKCJCYWNrZ3JvdW5kIikpe209bi5nZXRSZ2IoZS5nZXQoIkJhY2tncm91bmQiKSwwKTtNPVV0aWwubWFrZUhleENvbG9yKG1bMF0sbVsxXSxtWzJdKX1pZighQyl7ZC51bnNoaWZ0KFswLE1dKTtkWzFdWzBdKz1CYXNlU2hhZGluZy5TTUFMTF9OVU1CRVJ9aWYoIWgpe2QuYXQoLTEpWzBdLT1CYXNlU2hhZGluZy5TTUFMTF9OVU1CRVI7ZC5wdXNoKFsxLE1dKX10aGlzLmNvbG9yU3RvcHM9ZH1nZXRJUigpe2NvbnN0e2Nvb3Jkc0FycjplLHNoYWRpbmdUeXBlOnR9PXRoaXM7bGV0IGksYSxzLHIsbjtpZih0PT09ZmEpe2E9W2VbMF0sZVsxXV07cz1bZVsyXSxlWzNdXTtyPW51bGw7bj1udWxsO2k9ImF4aWFsIn1lbHNlIGlmKHQ9PT1wYSl7YT1bZVswXSxlWzFdXTtzPVtlWzNdLGVbNF1dO3I9ZVsyXTtuPWVbNV07aT0icmFkaWFsIn1lbHNlIHVucmVhY2hhYmxlKGBnZXRQYXR0ZXJuIHR5cGUgdW5rbm93bjogJHt0fWApO3JldHVyblsiUmFkaWFsQXhpYWwiLGksdGhpcy5iYm94LHRoaXMuY29sb3JTdG9wcyxhLHMscixuXX19Y2xhc3MgTWVzaFN0cmVhbVJlYWRlcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuc3RyZWFtPWU7dGhpcy5jb250ZXh0PXQ7dGhpcy5idWZmZXI9MDt0aGlzLmJ1ZmZlckxlbmd0aD0wO2NvbnN0IGk9dC5udW1Db21wczt0aGlzLnRtcENvbXBzQnVmPW5ldyBGbG9hdDMyQXJyYXkoaSk7Y29uc3QgYT10LmNvbG9yU3BhY2UubnVtQ29tcHM7dGhpcy50bXBDc0NvbXBzQnVmPXQuY29sb3JGbj9uZXcgRmxvYXQzMkFycmF5KGEpOnRoaXMudG1wQ29tcHNCdWZ9Z2V0IGhhc0RhdGEoKXtpZih0aGlzLnN0cmVhbS5lbmQpcmV0dXJuIHRoaXMuc3RyZWFtLnBvczx0aGlzLnN0cmVhbS5lbmQ7aWYodGhpcy5idWZmZXJMZW5ndGg+MClyZXR1cm4hMDtjb25zdCBlPXRoaXMuc3RyZWFtLmdldEJ5dGUoKTtpZihlPDApcmV0dXJuITE7dGhpcy5idWZmZXI9ZTt0aGlzLmJ1ZmZlckxlbmd0aD04O3JldHVybiEwfXJlYWRCaXRzKGUpe2xldCB0PXRoaXMuYnVmZmVyLGk9dGhpcy5idWZmZXJMZW5ndGg7aWYoMzI9PT1lKXtpZigwPT09aSlyZXR1cm4odGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpPDwyNHx0aGlzLnN0cmVhbS5nZXRCeXRlKCk8PDE2fHRoaXMuc3RyZWFtLmdldEJ5dGUoKTw8OHx0aGlzLnN0cmVhbS5nZXRCeXRlKCkpPj4+MDt0PXQ8PDI0fHRoaXMuc3RyZWFtLmdldEJ5dGUoKTw8MTZ8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpPDw4fHRoaXMuc3RyZWFtLmdldEJ5dGUoKTtjb25zdCBlPXRoaXMuc3RyZWFtLmdldEJ5dGUoKTt0aGlzLmJ1ZmZlcj1lJigxPDxpKS0xO3JldHVybih0PDw4LWl8KDI1NSZlKT4+aSk+Pj4wfWlmKDg9PT1lJiYwPT09aSlyZXR1cm4gdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO2Zvcig7aTxlOyl7dD10PDw4fHRoaXMuc3RyZWFtLmdldEJ5dGUoKTtpKz04fWktPWU7dGhpcy5idWZmZXJMZW5ndGg9aTt0aGlzLmJ1ZmZlcj10JigxPDxpKS0xO3JldHVybiB0Pj5pfWFsaWduKCl7dGhpcy5idWZmZXI9MDt0aGlzLmJ1ZmZlckxlbmd0aD0wfXJlYWRGbGFnKCl7cmV0dXJuIHRoaXMucmVhZEJpdHModGhpcy5jb250ZXh0LmJpdHNQZXJGbGFnKX1yZWFkQ29vcmRpbmF0ZSgpe2NvbnN0IGU9dGhpcy5jb250ZXh0LmJpdHNQZXJDb29yZGluYXRlLHQ9dGhpcy5yZWFkQml0cyhlKSxpPXRoaXMucmVhZEJpdHMoZSksYT10aGlzLmNvbnRleHQuZGVjb2RlLHM9ZTwzMj8xLygoMTw8ZSktMSk6Mi4zMjgzMDY0MzY1Mzg2OTYzZS0xMDtyZXR1cm5bdCpzKihhWzFdLWFbMF0pK2FbMF0saSpzKihhWzNdLWFbMl0pK2FbMl1dfXJlYWRDb21wb25lbnRzKCl7Y29uc3QgZT10aGlzLmNvbnRleHQubnVtQ29tcHMsdD10aGlzLmNvbnRleHQuYml0c1BlckNvbXBvbmVudCxpPXQ8MzI/MS8oKDE8PHQpLTEpOjIuMzI4MzA2NDM2NTM4Njk2M2UtMTAsYT10aGlzLmNvbnRleHQuZGVjb2RlLHM9dGhpcy50bXBDb21wc0J1Zjtmb3IobGV0IHI9MCxuPTQ7cjxlO3IrKyxuKz0yKXtjb25zdCBlPXRoaXMucmVhZEJpdHModCk7c1tyXT1lKmkqKGFbbisxXS1hW25dKSthW25dfWNvbnN0IHI9dGhpcy50bXBDc0NvbXBzQnVmO3RoaXMuY29udGV4dC5jb2xvckZuJiZ0aGlzLmNvbnRleHQuY29sb3JGbihzLDAsciwwKTtyZXR1cm4gdGhpcy5jb250ZXh0LmNvbG9yU3BhY2UuZ2V0UmdiKHIsMCl9fWxldCBiYT1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIGdldEIoZSl7cmV0dXJuIGJhW2VdfHw9ZnVuY3Rpb24gYnVpbGRCKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTA7aTw9ZTtpKyspe2NvbnN0IGE9aS9lLHM9MS1hO3QucHVzaChuZXcgRmxvYXQzMkFycmF5KFtzKiozLDMqYSpzKioyLDMqYSoqMipzLGEqKjNdKSl9cmV0dXJuIHR9KGUpfWNsYXNzIE1lc2hTaGFkaW5nIGV4dGVuZHMgQmFzZVNoYWRpbmd7c3RhdGljIE1JTl9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5UPTM7c3RhdGljIE1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5UPTIwO3N0YXRpYyBUUklBTkdMRV9ERU5TSVRZPTIwO2NvbnN0cnVjdG9yKGUsdCxpLGEscyl7c3VwZXIoKTtpZighKGUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1lc2ggZGF0YSBpcyBub3QgYSBzdHJlYW0iKTtjb25zdCByPWUuZGljdDt0aGlzLnNoYWRpbmdUeXBlPXIuZ2V0KCJTaGFkaW5nVHlwZSIpO3RoaXMuYmJveD1sb29rdXBOb3JtYWxSZWN0KHIuZ2V0QXJyYXkoIkJCb3giKSxudWxsKTtjb25zdCBuPUNvbG9yU3BhY2UucGFyc2Uoe2NzOnIuZ2V0UmF3KCJDUyIpfHxyLmdldFJhdygiQ29sb3JTcGFjZSIpLHhyZWY6dCxyZXNvdXJjZXM6aSxwZGZGdW5jdGlvbkZhY3Rvcnk6YSxsb2NhbENvbG9yU3BhY2VDYWNoZTpzfSk7dGhpcy5iYWNrZ3JvdW5kPXIuaGFzKCJCYWNrZ3JvdW5kIik/bi5nZXRSZ2Ioci5nZXQoIkJhY2tncm91bmQiKSwwKTpudWxsO2NvbnN0IGc9ci5nZXRSYXcoIkZ1bmN0aW9uIiksbz1nP2EuY3JlYXRlRnJvbUFycmF5KGcpOm51bGw7dGhpcy5jb29yZHM9W107dGhpcy5jb2xvcnM9W107dGhpcy5maWd1cmVzPVtdO2NvbnN0IGM9e2JpdHNQZXJDb29yZGluYXRlOnIuZ2V0KCJCaXRzUGVyQ29vcmRpbmF0ZSIpLGJpdHNQZXJDb21wb25lbnQ6ci5nZXQoIkJpdHNQZXJDb21wb25lbnQiKSxiaXRzUGVyRmxhZzpyLmdldCgiQml0c1BlckZsYWciKSxkZWNvZGU6ci5nZXRBcnJheSgiRGVjb2RlIiksY29sb3JGbjpvLGNvbG9yU3BhY2U6bixudW1Db21wczpvPzE6bi5udW1Db21wc30sQz1uZXcgTWVzaFN0cmVhbVJlYWRlcihlLGMpO2xldCBoPSExO3N3aXRjaCh0aGlzLnNoYWRpbmdUeXBlKXtjYXNlIG1hOnRoaXMuX2RlY29kZVR5cGU0U2hhZGluZyhDKTticmVhaztjYXNlIHlhOmNvbnN0IGU9MHxyLmdldCgiVmVydGljZXNQZXJSb3ciKTtpZihlPDIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFZlcnRpY2VzUGVyUm93Iik7dGhpcy5fZGVjb2RlVHlwZTVTaGFkaW5nKEMsZSk7YnJlYWs7Y2FzZSB3YTp0aGlzLl9kZWNvZGVUeXBlNlNoYWRpbmcoQyk7aD0hMDticmVhaztjYXNlIERhOnRoaXMuX2RlY29kZVR5cGU3U2hhZGluZyhDKTtoPSEwO2JyZWFrO2RlZmF1bHQ6dW5yZWFjaGFibGUoIlVuc3VwcG9ydGVkIG1lc2ggdHlwZS4iKX1pZihoKXt0aGlzLl91cGRhdGVCb3VuZHMoKTtmb3IobGV0IGU9MCx0PXRoaXMuZmlndXJlcy5sZW5ndGg7ZTx0O2UrKyl0aGlzLl9idWlsZEZpZ3VyZUZyb21QYXRjaChlKX10aGlzLl91cGRhdGVCb3VuZHMoKTt0aGlzLl9wYWNrRGF0YSgpfV9kZWNvZGVUeXBlNFNoYWRpbmcoZSl7Y29uc3QgdD10aGlzLmNvb3JkcyxpPXRoaXMuY29sb3JzLGE9W10scz1bXTtsZXQgcj0wO2Zvcig7ZS5oYXNEYXRhOyl7Y29uc3Qgbj1lLnJlYWRGbGFnKCksZz1lLnJlYWRDb29yZGluYXRlKCksbz1lLnJlYWRDb21wb25lbnRzKCk7aWYoMD09PXIpe2lmKCEoMDw9biYmbjw9MikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIHR5cGU0IGZsYWciKTtzd2l0Y2gobil7Y2FzZSAwOnI9MzticmVhaztjYXNlIDE6cy5wdXNoKHMuYXQoLTIpLHMuYXQoLTEpKTtyPTE7YnJlYWs7Y2FzZSAyOnMucHVzaChzLmF0KC0zKSxzLmF0KC0xKSk7cj0xfWEucHVzaChuKX1zLnB1c2godC5sZW5ndGgpO3QucHVzaChnKTtpLnB1c2gobyk7ci0tO2UuYWxpZ24oKX10aGlzLmZpZ3VyZXMucHVzaCh7dHlwZToidHJpYW5nbGVzIixjb29yZHM6bmV3IEludDMyQXJyYXkocyksY29sb3JzOm5ldyBJbnQzMkFycmF5KHMpfSl9X2RlY29kZVR5cGU1U2hhZGluZyhlLHQpe2NvbnN0IGk9dGhpcy5jb29yZHMsYT10aGlzLmNvbG9ycyxzPVtdO2Zvcig7ZS5oYXNEYXRhOyl7Y29uc3QgdD1lLnJlYWRDb29yZGluYXRlKCkscj1lLnJlYWRDb21wb25lbnRzKCk7cy5wdXNoKGkubGVuZ3RoKTtpLnB1c2godCk7YS5wdXNoKHIpfXRoaXMuZmlndXJlcy5wdXNoKHt0eXBlOiJsYXR0aWNlIixjb29yZHM6bmV3IEludDMyQXJyYXkocyksY29sb3JzOm5ldyBJbnQzMkFycmF5KHMpLHZlcnRpY2VzUGVyUm93OnR9KX1fZGVjb2RlVHlwZTZTaGFkaW5nKGUpe2NvbnN0IHQ9dGhpcy5jb29yZHMsaT10aGlzLmNvbG9ycyxhPW5ldyBJbnQzMkFycmF5KDE2KSxzPW5ldyBJbnQzMkFycmF5KDQpO2Zvcig7ZS5oYXNEYXRhOyl7Y29uc3Qgcj1lLnJlYWRGbGFnKCk7aWYoISgwPD1yJiZyPD0zKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gdHlwZTYgZmxhZyIpO2NvbnN0IG49dC5sZW5ndGg7Zm9yKGxldCBpPTAsYT0wIT09cj84OjEyO2k8YTtpKyspdC5wdXNoKGUucmVhZENvb3JkaW5hdGUoKSk7Y29uc3QgZz1pLmxlbmd0aDtmb3IobGV0IHQ9MCxhPTAhPT1yPzI6NDt0PGE7dCsrKWkucHVzaChlLnJlYWRDb21wb25lbnRzKCkpO2xldCBvLGMsQyxoO3N3aXRjaChyKXtjYXNlIDA6YVsxMl09biszO2FbMTNdPW4rNDthWzE0XT1uKzU7YVsxNV09bis2O2FbOF09bisyO2FbMTFdPW4rNzthWzRdPW4rMTthWzddPW4rODthWzBdPW47YVsxXT1uKzExO2FbMl09bisxMDthWzNdPW4rOTtzWzJdPWcrMTtzWzNdPWcrMjtzWzBdPWc7c1sxXT1nKzM7YnJlYWs7Y2FzZSAxOm89YVsxMl07Yz1hWzEzXTtDPWFbMTRdO2g9YVsxNV07YVsxMl09aDthWzEzXT1uKzA7YVsxNF09bisxO2FbMTVdPW4rMjthWzhdPUM7YVsxMV09biszO2FbNF09YzthWzddPW4rNDthWzBdPW87YVsxXT1uKzc7YVsyXT1uKzY7YVszXT1uKzU7bz1zWzJdO2M9c1szXTtzWzJdPWM7c1szXT1nO3NbMF09bztzWzFdPWcrMTticmVhaztjYXNlIDI6bz1hWzE1XTtjPWFbMTFdO2FbMTJdPWFbM107YVsxM109biswO2FbMTRdPW4rMTthWzE1XT1uKzI7YVs4XT1hWzddO2FbMTFdPW4rMzthWzRdPWM7YVs3XT1uKzQ7YVswXT1vO2FbMV09bis3O2FbMl09bis2O2FbM109bis1O289c1szXTtzWzJdPXNbMV07c1szXT1nO3NbMF09bztzWzFdPWcrMTticmVhaztjYXNlIDM6YVsxMl09YVswXTthWzEzXT1uKzA7YVsxNF09bisxO2FbMTVdPW4rMjthWzhdPWFbMV07YVsxMV09biszO2FbNF09YVsyXTthWzddPW4rNDthWzBdPWFbM107YVsxXT1uKzc7YVsyXT1uKzY7YVszXT1uKzU7c1syXT1zWzBdO3NbM109ZztzWzBdPXNbMV07c1sxXT1nKzF9YVs1XT10Lmxlbmd0aDt0LnB1c2goWygtNCp0W2FbMF1dWzBdLXRbYVsxNV1dWzBdKzYqKHRbYVs0XV1bMF0rdFthWzFdXVswXSktMioodFthWzEyXV1bMF0rdFthWzNdXVswXSkrMyoodFthWzEzXV1bMF0rdFthWzddXVswXSkpLzksKC00KnRbYVswXV1bMV0tdFthWzE1XV1bMV0rNioodFthWzRdXVsxXSt0W2FbMV1dWzFdKS0yKih0W2FbMTJdXVsxXSt0W2FbM11dWzFdKSszKih0W2FbMTNdXVsxXSt0W2FbN11dWzFdKSkvOV0pO2FbNl09dC5sZW5ndGg7dC5wdXNoKFsoLTQqdFthWzNdXVswXS10W2FbMTJdXVswXSs2Kih0W2FbMl1dWzBdK3RbYVs3XV1bMF0pLTIqKHRbYVswXV1bMF0rdFthWzE1XV1bMF0pKzMqKHRbYVs0XV1bMF0rdFthWzE0XV1bMF0pKS85LCgtNCp0W2FbM11dWzFdLXRbYVsxMl1dWzFdKzYqKHRbYVsyXV1bMV0rdFthWzddXVsxXSktMioodFthWzBdXVsxXSt0W2FbMTVdXVsxXSkrMyoodFthWzRdXVsxXSt0W2FbMTRdXVsxXSkpLzldKTthWzldPXQubGVuZ3RoO3QucHVzaChbKC00KnRbYVsxMl1dWzBdLXRbYVszXV1bMF0rNioodFthWzhdXVswXSt0W2FbMTNdXVswXSktMioodFthWzBdXVswXSt0W2FbMTVdXVswXSkrMyoodFthWzExXV1bMF0rdFthWzFdXVswXSkpLzksKC00KnRbYVsxMl1dWzFdLXRbYVszXV1bMV0rNioodFthWzhdXVsxXSt0W2FbMTNdXVsxXSktMioodFthWzBdXVsxXSt0W2FbMTVdXVsxXSkrMyoodFthWzExXV1bMV0rdFthWzFdXVsxXSkpLzldKTthWzEwXT10Lmxlbmd0aDt0LnB1c2goWygtNCp0W2FbMTVdXVswXS10W2FbMF1dWzBdKzYqKHRbYVsxMV1dWzBdK3RbYVsxNF1dWzBdKS0yKih0W2FbMTJdXVswXSt0W2FbM11dWzBdKSszKih0W2FbMl1dWzBdK3RbYVs4XV1bMF0pKS85LCgtNCp0W2FbMTVdXVsxXS10W2FbMF1dWzFdKzYqKHRbYVsxMV1dWzFdK3RbYVsxNF1dWzFdKS0yKih0W2FbMTJdXVsxXSt0W2FbM11dWzFdKSszKih0W2FbMl1dWzFdK3RbYVs4XV1bMV0pKS85XSk7dGhpcy5maWd1cmVzLnB1c2goe3R5cGU6InBhdGNoIixjb29yZHM6bmV3IEludDMyQXJyYXkoYSksY29sb3JzOm5ldyBJbnQzMkFycmF5KHMpfSl9fV9kZWNvZGVUeXBlN1NoYWRpbmcoZSl7Y29uc3QgdD10aGlzLmNvb3JkcyxpPXRoaXMuY29sb3JzLGE9bmV3IEludDMyQXJyYXkoMTYpLHM9bmV3IEludDMyQXJyYXkoNCk7Zm9yKDtlLmhhc0RhdGE7KXtjb25zdCByPWUucmVhZEZsYWcoKTtpZighKDA8PXImJnI8PTMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biB0eXBlNyBmbGFnIik7Y29uc3Qgbj10Lmxlbmd0aDtmb3IobGV0IGk9MCxhPTAhPT1yPzEyOjE2O2k8YTtpKyspdC5wdXNoKGUucmVhZENvb3JkaW5hdGUoKSk7Y29uc3QgZz1pLmxlbmd0aDtmb3IobGV0IHQ9MCxhPTAhPT1yPzI6NDt0PGE7dCsrKWkucHVzaChlLnJlYWRDb21wb25lbnRzKCkpO2xldCBvLGMsQyxoO3N3aXRjaChyKXtjYXNlIDA6YVsxMl09biszO2FbMTNdPW4rNDthWzE0XT1uKzU7YVsxNV09bis2O2FbOF09bisyO2FbOV09bisxMzthWzEwXT1uKzE0O2FbMTFdPW4rNzthWzRdPW4rMTthWzVdPW4rMTI7YVs2XT1uKzE1O2FbN109bis4O2FbMF09bjthWzFdPW4rMTE7YVsyXT1uKzEwO2FbM109bis5O3NbMl09ZysxO3NbM109ZysyO3NbMF09ZztzWzFdPWcrMzticmVhaztjYXNlIDE6bz1hWzEyXTtjPWFbMTNdO0M9YVsxNF07aD1hWzE1XTthWzEyXT1oO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09QzthWzldPW4rOTthWzEwXT1uKzEwO2FbMTFdPW4rMzthWzRdPWM7YVs1XT1uKzg7YVs2XT1uKzExO2FbN109bis0O2FbMF09bzthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtvPXNbMl07Yz1zWzNdO3NbMl09YztzWzNdPWc7c1swXT1vO3NbMV09ZysxO2JyZWFrO2Nhc2UgMjpvPWFbMTVdO2M9YVsxMV07YVsxMl09YVszXTthWzEzXT1uKzA7YVsxNF09bisxO2FbMTVdPW4rMjthWzhdPWFbN107YVs5XT1uKzk7YVsxMF09bisxMDthWzExXT1uKzM7YVs0XT1jO2FbNV09bis4O2FbNl09bisxMTthWzddPW4rNDthWzBdPW87YVsxXT1uKzc7YVsyXT1uKzY7YVszXT1uKzU7bz1zWzNdO3NbMl09c1sxXTtzWzNdPWc7c1swXT1vO3NbMV09ZysxO2JyZWFrO2Nhc2UgMzphWzEyXT1hWzBdO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09YVsxXTthWzldPW4rOTthWzEwXT1uKzEwO2FbMTFdPW4rMzthWzRdPWFbMl07YVs1XT1uKzg7YVs2XT1uKzExO2FbN109bis0O2FbMF09YVszXTthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtzWzJdPXNbMF07c1szXT1nO3NbMF09c1sxXTtzWzFdPWcrMX10aGlzLmZpZ3VyZXMucHVzaCh7dHlwZToicGF0Y2giLGNvb3JkczpuZXcgSW50MzJBcnJheShhKSxjb2xvcnM6bmV3IEludDMyQXJyYXkocyl9KX19X2J1aWxkRmlndXJlRnJvbVBhdGNoKGUpe2NvbnN0IHQ9dGhpcy5maWd1cmVzW2VdO2Fzc2VydCgicGF0Y2giPT09dC50eXBlLCJVbmV4cGVjdGVkIHBhdGNoIG1lc2ggZmlndXJlIik7Y29uc3QgaT10aGlzLmNvb3JkcyxhPXRoaXMuY29sb3JzLHM9dC5jb29yZHMscj10LmNvbG9ycyxuPU1hdGgubWluKGlbc1swXV1bMF0saVtzWzNdXVswXSxpW3NbMTJdXVswXSxpW3NbMTVdXVswXSksZz1NYXRoLm1pbihpW3NbMF1dWzFdLGlbc1szXV1bMV0saVtzWzEyXV1bMV0saVtzWzE1XV1bMV0pLG89TWF0aC5tYXgoaVtzWzBdXVswXSxpW3NbM11dWzBdLGlbc1sxMl1dWzBdLGlbc1sxNV1dWzBdKSxjPU1hdGgubWF4KGlbc1swXV1bMV0saVtzWzNdXVsxXSxpW3NbMTJdXVsxXSxpW3NbMTVdXVsxXSk7bGV0IEM9TWF0aC5jZWlsKChvLW4pKk1lc2hTaGFkaW5nLlRSSUFOR0xFX0RFTlNJVFkvKHRoaXMuYm91bmRzWzJdLXRoaXMuYm91bmRzWzBdKSk7Qz1NYXRoLm1heChNZXNoU2hhZGluZy5NSU5fU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVCxNYXRoLm1pbihNZXNoU2hhZGluZy5NQVhfU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVCxDKSk7bGV0IGg9TWF0aC5jZWlsKChjLWcpKk1lc2hTaGFkaW5nLlRSSUFOR0xFX0RFTlNJVFkvKHRoaXMuYm91bmRzWzNdLXRoaXMuYm91bmRzWzFdKSk7aD1NYXRoLm1heChNZXNoU2hhZGluZy5NSU5fU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVCxNYXRoLm1pbihNZXNoU2hhZGluZy5NQVhfU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVCxoKSk7Y29uc3QgbD1DKzEsUT1uZXcgSW50MzJBcnJheSgoaCsxKSpsKSxFPW5ldyBJbnQzMkFycmF5KChoKzEpKmwpO2xldCB1PTA7Y29uc3QgZD1uZXcgVWludDhBcnJheSgzKSxmPW5ldyBVaW50OEFycmF5KDMpLHA9YVtyWzBdXSxtPWFbclsxXV0seT1hW3JbMl1dLHc9YVtyWzNdXSxEPWdldEIoaCksYj1nZXRCKEMpO2ZvcihsZXQgZT0wO2U8PWg7ZSsrKXtkWzBdPShwWzBdKihoLWUpK3lbMF0qZSkvaHwwO2RbMV09KHBbMV0qKGgtZSkreVsxXSplKS9ofDA7ZFsyXT0ocFsyXSooaC1lKSt5WzJdKmUpL2h8MDtmWzBdPShtWzBdKihoLWUpK3dbMF0qZSkvaHwwO2ZbMV09KG1bMV0qKGgtZSkrd1sxXSplKS9ofDA7ZlsyXT0obVsyXSooaC1lKSt3WzJdKmUpL2h8MDtmb3IobGV0IHQ9MDt0PD1DO3QrKyx1Kyspe2lmKCEoMCE9PWUmJmUhPT1ofHwwIT09dCYmdCE9PUMpKWNvbnRpbnVlO2xldCByPTAsbj0wLGc9MDtmb3IobGV0IGE9MDthPD0zO2ErKylmb3IobGV0IG89MDtvPD0zO28rKyxnKyspe2NvbnN0IGM9RFtlXVthXSpiW3RdW29dO3IrPWlbc1tnXV1bMF0qYztuKz1pW3NbZ11dWzFdKmN9UVt1XT1pLmxlbmd0aDtpLnB1c2goW3Isbl0pO0VbdV09YS5sZW5ndGg7Y29uc3Qgbz1uZXcgVWludDhBcnJheSgzKTtvWzBdPShkWzBdKihDLXQpK2ZbMF0qdCkvQ3wwO29bMV09KGRbMV0qKEMtdCkrZlsxXSp0KS9DfDA7b1syXT0oZFsyXSooQy10KStmWzJdKnQpL0N8MDthLnB1c2gobyl9fVFbMF09c1swXTtFWzBdPXJbMF07UVtDXT1zWzNdO0VbQ109clsxXTtRW2wqaF09c1sxMl07RVtsKmhdPXJbMl07UVtsKmgrQ109c1sxNV07RVtsKmgrQ109clszXTt0aGlzLmZpZ3VyZXNbZV09e3R5cGU6ImxhdHRpY2UiLGNvb3JkczpRLGNvbG9yczpFLHZlcnRpY2VzUGVyUm93Omx9fV91cGRhdGVCb3VuZHMoKXtsZXQgZT10aGlzLmNvb3Jkc1swXVswXSx0PXRoaXMuY29vcmRzWzBdWzFdLGk9ZSxhPXQ7Zm9yKGxldCBzPTEscj10aGlzLmNvb3Jkcy5sZW5ndGg7czxyO3MrKyl7Y29uc3Qgcj10aGlzLmNvb3Jkc1tzXVswXSxuPXRoaXMuY29vcmRzW3NdWzFdO2U9ZT5yP3I6ZTt0PXQ+bj9uOnQ7aT1pPHI/cjppO2E9YTxuP246YX10aGlzLmJvdW5kcz1bZSx0LGksYV19X3BhY2tEYXRhKCl7bGV0IGUsdCxpLGE7Y29uc3Qgcz10aGlzLmNvb3JkcyxyPW5ldyBGbG9hdDMyQXJyYXkoMipzLmxlbmd0aCk7Zm9yKGU9MCxpPTAsdD1zLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PXNbZV07cltpKytdPXRbMF07cltpKytdPXRbMV19dGhpcy5jb29yZHM9cjtjb25zdCBuPXRoaXMuY29sb3JzLGc9bmV3IFVpbnQ4QXJyYXkoMypuLmxlbmd0aCk7Zm9yKGU9MCxpPTAsdD1uLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PW5bZV07Z1tpKytdPXRbMF07Z1tpKytdPXRbMV07Z1tpKytdPXRbMl19dGhpcy5jb2xvcnM9Zztjb25zdCBvPXRoaXMuZmlndXJlcztmb3IoZT0wLHQ9by5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1vW2VdLHM9dC5jb29yZHMscj10LmNvbG9ycztmb3IoaT0wLGE9cy5sZW5ndGg7aTxhO2krKyl7c1tpXSo9MjtyW2ldKj0zfX19Z2V0SVIoKXtjb25zdHtib3VuZHM6ZX09dGhpcztpZihlWzJdLWVbMF09PTB8fGVbM10tZVsxXT09MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgTWVzaFNoYWRpbmcgYm91bmRzOiBbJHtlfV0uYCk7cmV0dXJuWyJNZXNoIix0aGlzLnNoYWRpbmdUeXBlLHRoaXMuY29vcmRzLHRoaXMuY29sb3JzLHRoaXMuZmlndXJlcyxlLHRoaXMuYmJveCx0aGlzLmJhY2tncm91bmRdfX1jbGFzcyBEdW1teVNoYWRpbmcgZXh0ZW5kcyBCYXNlU2hhZGluZ3tnZXRJUigpe3JldHVyblsiRHVtbXkiXX19ZnVuY3Rpb24gZ2V0VGlsaW5nUGF0dGVybklSKGUsdCxhKXtjb25zdCBzPWxvb2t1cE1hdHJpeCh0LmdldEFycmF5KCJNYXRyaXgiKSxpKSxyPWxvb2t1cE5vcm1hbFJlY3QodC5nZXRBcnJheSgiQkJveCIpLG51bGwpO2lmKCFyfHxyWzJdLXJbMF09PTB8fHJbM10tclsxXT09MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgZ2V0VGlsaW5nUGF0dGVybklSIC9CQm94IGFycmF5LiIpO2NvbnN0IG49dC5nZXQoIlhTdGVwIik7aWYoIm51bWJlciIhPXR5cGVvZiBuKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBnZXRUaWxpbmdQYXR0ZXJuSVIgL1hTdGVwIHZhbHVlLiIpO2NvbnN0IGc9dC5nZXQoIllTdGVwIik7aWYoIm51bWJlciIhPXR5cGVvZiBnKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBnZXRUaWxpbmdQYXR0ZXJuSVIgL1lTdGVwIHZhbHVlLiIpO2NvbnN0IG89dC5nZXQoIlBhaW50VHlwZSIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG8pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBnZXRUaWxpbmdQYXR0ZXJuSVIgL1BhaW50VHlwZSB2YWx1ZS4iKTtjb25zdCBjPXQuZ2V0KCJUaWxpbmdUeXBlIik7aWYoIU51bWJlci5pc0ludGVnZXIoYykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvVGlsaW5nVHlwZSB2YWx1ZS4iKTtyZXR1cm5bIlRpbGluZ1BhdHRlcm4iLGEsZSxzLHIsbixnLG8sY119Y29uc3QgRmE9WzEuMzg3NywxLDEsMSwuOTc4MDEsLjkyNDgyLC44OTU1MiwuOTExMzMsLjgxOTg4LC45NzU2NiwuOTgxNTIsLjkzNTQ4LC45MzU0OCwxLjI3OTgsLjg1Mjg0LC45Mjc5NCwxLC45NjEzNCwxLjU0NjU3LC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuODI4NDUsLjgyODQ1LC44NTI4NCwuODUyODQsLjg1Mjg0LC43NTg1OSwuOTIxMzgsLjgzOTA4LC43NzYyLC43MzI5MywuODcyODksLjczMTMzLC43NTE0LC44MTkyMSwuODczNTYsLjk1OTU4LC41OTUyNiwuNzU3MjcsLjY5MjI1LDEuMDQ5MjQsLjkxMjEsLjg2OTQzLC43OTc5NSwuODgxOTgsLjc3OTU4LC43MDg2NCwuODEwNTUsLjkwMzk5LC44ODY1MywuOTYwMTcsLjgyNTc3LC43Nzg5MiwuNzgyNTcsLjk3NTA3LDEuNTQ2NTcsLjk3NTA3LC44NTI4NCwuODk1NTIsLjkwMTc2LC44ODc2MiwuODc4NSwuNzUyNDEsLjg3ODUsLjkwNTE4LC45NTAxNSwuNzc2MTgsLjg3ODUsLjg4NDAxLC45MTkxNiwuODYzMDQsLjg4NDAxLC45MTQ4OCwuODc4NSwuODgwMSwuODc4NSwuODc4NSwuOTEzNDMsLjcxNzMsMS4wNDEwNiwuODc4NSwuODUwNzUsLjk1Nzk0LC44MjYxNiwuODUxNjIsLjc5NDkyLC44ODMzMSwxLjY5ODA4LC44ODMzMSwuODUyODQsLjk3ODAxLC44OTU1MiwuOTExMzMsLjg5NTUyLC45MTEzMywxLjc4MDEsLjg5NTUyLDEuMjQ0ODcsMS4xMzI1NCwxLjEyNDAxLC45NjgzOSwuODUyODQsLjY4Nzg3LC43MDY0NSwuODU1OTIsLjkwNzQ3LDEuMDE0NjYsMS4wMDg4LC45MDMyMywxLDEuMDc0NjMsMSwuOTEwNTYsLjc1ODA2LDEuMTkxMTgsLjk2ODM5LC43ODg2NCwuODI4NDUsLjg0MTMzLC43NTg1OSwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuNzc1MzksLjczMjkzLC43MzEzMywuNzMxMzMsLjczMTMzLC43MzEzMywuOTU5NTgsLjk1OTU4LC45NTk1OCwuOTU5NTgsLjg4NTA2LC45MTIxLC44Njk0MywuODY5NDMsLjg2OTQzLC44Njk0MywuODY5NDMsLjg1Mjg0LC44NzUwOCwuOTAzOTksLjkwMzk5LC45MDM5OSwuOTAzOTksLjc3ODkyLC43OTc5NSwuOTA4MDcsLjg4NzYyLC44ODc2MiwuODg3NjIsLjg4NzYyLC44ODc2MiwuODg3NjIsLjg3MTUsLjc1MjQxLC45MDUxOCwuOTA1MTgsLjkwNTE4LC45MDUxOCwuODg0MDEsLjg4NDAxLC44ODQwMSwuODg0MDEsLjg3ODUsLjg3ODUsLjg4MDEsLjg4MDEsLjg4MDEsLjg4MDEsLjg4MDEsLjkwNzQ3LC44OTA0OSwuODc4NSwuODc4NSwuODc4NSwuODc4NSwuODUxNjIsLjg3ODUsLjg1MTYyLC44MzkwOCwuODg3NjIsLjgzOTA4LC44ODc2MiwuODM5MDgsLjg4NzYyLC43MzI5MywuNzUyNDEsLjczMjkzLC43NTI0MSwuNzMyOTMsLjc1MjQxLC43MzI5MywuNzUyNDEsLjg3Mjg5LC44MzAxNiwuODg1MDYsLjkzMTI1LC43MzEzMywuOTA1MTgsLjczMTMzLC45MDUxOCwuNzMxMzMsLjkwNTE4LC43MzEzMywuOTA1MTgsLjczMTMzLC45MDUxOCwuODE5MjEsLjc3NjE4LC44MTkyMSwuNzc2MTgsLjgxOTIxLC43NzYxOCwxLDEsLjg3MzU2LC44Nzg1LC45MTA3NSwuODk2MDgsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC43NjIyOSwuOTAxNjcsLjU5NTI2LC45MTkxNiwxLDEsLjg2MzA0LC42OTIyNSwuODg0MDEsMSwxLC43MDQyNCwuNzk0NjgsLjkxOTI2LC44ODE3NSwuNzA4MjMsLjk0OTAzLC45MTIxLC44Nzg1LDEsMSwuOTEyMSwuODc4NSwuODc4MDIsLjg4NjU2LC44Nzg1LC44Njk0MywuODgwMSwuODY5NDMsLjg4MDEsLjg2OTQzLC44ODAxLC44NzQwMiwuODkyOTEsLjc3OTU4LC45MTM0MywxLDEsLjc3OTU4LC45MTM0MywuNzA4NjQsLjcxNzMsLjcwODY0LC43MTczLC43MDg2NCwuNzE3MywuNzA4NjQsLjcxNzMsMSwxLC44MTA1NSwuNzU4NDEsLjgxMDU1LDEuMDY0NTIsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTAzOTksLjg3ODUsLjk2MDE3LC45NTc5NCwuNzc4OTIsLjg1MTYyLC43Nzg5MiwuNzgyNTcsLjc5NDkyLC43ODI1NywuNzk0OTIsLjc4MjU3LC43OTQ5MiwuOTI5NywuNTY4OTIsLjgzOTA4LC44ODc2MiwuNzc1MzksLjg3MTUsLjg3NTA4LC44OTA0OSwxLDEsLjgxMDU1LDEuMDQxMDYsMS4yMDUyOCwxLjIwNTI4LDEsMS4xNTU0MywuNzA2NzQsLjk4Mzg3LC45NDcyMSwxLjMzNDMxLDEuNDU4OTQsLjk1MTYxLDEuMDYzMDMsLjgzOTA4LC44MDM1MiwuNTcxODQsLjY5NjUsLjU2Mjg5LC44MjAwMSwuNTYwMjksLjgxMjM1LDEuMDI5ODgsLjgzOTA4LC43NzYyLC42ODE1NiwuODAzNjcsLjczMTMzLC43ODI1NywuODczNTYsLjg2OTQzLC45NTk1OCwuNzU3MjcsLjg5MDE5LDEuMDQ5MjQsLjkxMjEsLjc2NDgsLjg2OTQzLC44NzM1NiwuNzk3OTUsLjc4Mjc1LC44MTA1NSwuNzc4OTIsLjk3NjIsLjgyNTc3LC45OTgxOSwuODQ4OTYsLjk1OTU4LC43Nzg5MiwuOTYxMDgsMS4wMTQwNywuODkwNDksMS4wMjk4OCwuOTQyMTEsLjk2MTA4LC44OTM2LC44NDAyMSwuODc4NDIsLjk2Mzk5LC43OTEwOSwuODkwNDksMS4wMDgxMywxLjAyOTg4LC44NjA3NywuODc0NDUsLjkyMDk5LC44NDcyMywuODY1MTMsLjg4MDEsLjc1NjM4LC44NTcxNCwuNzgyMTYsLjc5NTg2LC44Nzk2NSwuOTQyMTEsLjk3NzQ3LC43ODI4NywuOTc5MjYsLjg0OTcxLDEuMDI5ODgsLjk0MjExLC44ODAxLC45NDIxMSwuODQ5NzEsLjczMTMzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDI2NCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA1MTgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwNTQ4LDEsMSwxLDEsMSwxLC45NjAxNywuOTU3OTQsLjk2MDE3LC45NTc5NCwuOTYwMTcsLjk1Nzk0LC43Nzg5MiwuODUxNjIsMSwxLC44OTU1MiwuOTA1MjcsMSwuOTAzNjMsLjkyNzk0LC45Mjc5NCwuOTI3OTQsLjkyNzk0LC44NzAxMiwuODcwMTIsLjg3MDEyLC44OTU1MiwuODk1NTIsMS40MjI1OSwuNzExNDMsMS4wNjE1MiwxLDEsMS4wMzM3MiwxLjAzMzcyLC45NzE3MSwxLjQ5NTYsMi4yODA3LC45MzgzNSwuODM0MDYsLjkxMTMzLC44NDEwNywuOTExMzMsMSwxLDEsLjcyMDIxLDEsMS4yMzEwOCwuODM0ODksLjg4NTI1LC44ODUyNSwuODE0OTksLjkwNTI3LDEuODEwNTUsLjkwNTI3LDEuODEwNTUsMS4zMTAwNiwxLjUzNzExLC45NDQzNCwxLjA4Njk2LDEsLjk1MDE4LC43NzE5MiwuODUyODQsLjkwNzQ3LDEuMTc1MzQsLjY5ODI1LC45NzE2LDEuMzcwNzcsLjkwNzQ3LC45MDc0NywuODUzNTYsLjkwNzQ3LC45MDc0NywxLjQ0OTQ3LC44NTI4NCwuODk0MSwuODk0MSwuNzA1NzIsLjgsLjcwNTcyLC43MDU3MiwuNzA1NzIsLjcwNTcyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTk4NjIsLjk5ODYyLDEsMSwxLDEsMSwxLjA4MDA0LC45MTAyNywxLDEsMSwuOTk4NjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwNzI3LC45MDcyNywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sU2E9e2xpbmVIZWlnaHQ6MS4yMjA3LGxpbmVHYXA6LjIyMDd9LGthPVsxLjM4NzcsMSwxLDEsLjk3ODAxLC45MjQ4MiwuODk1NTIsLjkxMTMzLC44MTk4OCwuOTc1NjYsLjk4MTUyLC45MzU0OCwuOTM1NDgsMS4yNzk4LC44NTI4NCwuOTI3OTQsMSwuOTYxMzQsMS41NjIzOSwuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjgyODQ1LC44Mjg0NSwuODUyODQsLjg1Mjg0LC44NTI4NCwuNzU4NTksLjkyMTM4LC44MzkwOCwuNzc2MiwuNzE4MDUsLjg3Mjg5LC43MzEzMywuNzUxNCwuODE5MjEsLjg3MzU2LC45NTk1OCwuNTk1MjYsLjc1NzI3LC42OTIyNSwxLjA0OTI0LC45MDg3MiwuODU5MzgsLjc5Nzk1LC44NzA2OCwuNzc5NTgsLjY5NzY2LC44MTA1NSwuOTAzOTksLjg4NjUzLC45NjA2OCwuODI1NzcsLjc3ODkyLC43ODI1NywuOTc1MDcsMS41MjksLjk3NTA3LC44NTI4NCwuODk1NTIsLjkwMTc2LC45NDkwOCwuODY0MTEsLjc0MDEyLC44NjQxMSwuODgzMjMsLjk1MDE1LC44NjQxMSwuODYzMzEsLjg4NDAxLC45MTkxNiwuODYzMDQsLjg4NDAxLC45MDM5LC44NjMzMSwuODYzMzEsLjg2NDExLC44NjQxMSwuOTA0NjQsLjcwODUyLDEuMDQxMDYsLjg2MzMxLC44NDM3MiwuOTU3OTQsLjgyNjE2LC44NDU0OCwuNzk0OTIsLjg4MzMxLDEuNjk4MDgsLjg4MzMxLC44NTI4NCwuOTc4MDEsLjg5NTUyLC45MTEzMywuODk1NTIsLjkxMTMzLDEuNzgwMSwuODk1NTIsMS4yNDQ4NywxLjEzMjU0LDEuMTkxMjksLjk2ODM5LC44NTI4NCwuNjg3ODcsLjcwNjQ1LC44NTU5MiwuOTA3NDcsMS4wMTQ2NiwxLjAwODgsLjkwMzIzLDEsMS4wNzQ2MywxLC45MTA1NiwuNzU4MDYsMS4xOTExOCwuOTY4MzksLjc4ODY0LC44Mjg0NSwuODQxMzMsLjc1ODU5LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC43NzUzOSwuNzE4MDUsLjczMTMzLC43MzEzMywuNzMxMzMsLjczMTMzLC45NTk1OCwuOTU5NTgsLjk1OTU4LC45NTk1OCwuODg1MDYsLjkwODcyLC44NTkzOCwuODU5MzgsLjg1OTM4LC44NTkzOCwuODU5MzgsLjg1Mjg0LC44NzA2OCwuOTAzOTksLjkwMzk5LC45MDM5OSwuOTAzOTksLjc3ODkyLC43OTc5NSwuOTA4MDcsLjk0OTA4LC45NDkwOCwuOTQ5MDgsLjk0OTA4LC45NDkwOCwuOTQ5MDgsLjg1ODg3LC43NDAxMiwuODgzMjMsLjg4MzIzLC44ODMyMywuODgzMjMsLjg4NDAxLC44ODQwMSwuODg0MDEsLjg4NDAxLC44Nzg1LC44NjMzMSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODYzMzEsLjg2MzMxLC45MDc0NywuODkwNDksLjg2MzMxLC44NjMzMSwuODYzMzEsLjg2MzMxLC44NDU0OCwuODY0MTEsLjg0NTQ4LC44MzkwOCwuOTQ5MDgsLjgzOTA4LC45NDkwOCwuODM5MDgsLjk0OTA4LC43MTgwNSwuNzQwMTIsLjcxODA1LC43NDAxMiwuNzE4MDUsLjc0MDEyLC43MTgwNSwuNzQwMTIsLjg3Mjg5LC43OTUzOCwuODg1MDYsLjkyNzI2LC43MzEzMywuODgzMjMsLjczMTMzLC44ODMyMywuNzMxMzMsLjg4MzIzLC43MzEzMywuODgzMjMsLjczMTMzLC44ODMyMywuODE5MjEsLjg2NDExLC44MTkyMSwuODY0MTEsLjgxOTIxLC44NjQxMSwxLDEsLjg3MzU2LC44NjMzMSwuOTEwNzUsLjg3NzcsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC43NjQ2NywuOTAxNjcsLjU5NTI2LC45MTkxNiwxLDEsLjg2MzA0LC42OTIyNSwuODg0MDEsMSwxLC43MDQyNCwuNzczMTIsLjkxOTI2LC44ODE3NSwuNzA4MjMsLjk0OTAzLC45MDg3MiwuODYzMzEsMSwxLC45MDg3MiwuODYzMzEsLjg2OTA2LC44ODExNiwuODYzMzEsLjg1OTM4LC44NjMzMSwuODU5MzgsLjg2MzMxLC44NTkzOCwuODYzMzEsLjg3NDAyLC44NjU0OSwuNzc5NTgsLjkwNDY0LDEsMSwuNzc5NTgsLjkwNDY0LC42OTc2NiwuNzA4NTIsLjY5NzY2LC43MDg1MiwuNjk3NjYsLjcwODUyLC42OTc2NiwuNzA4NTIsMSwxLC44MTA1NSwuNzU4NDEsLjgxMDU1LDEuMDY0NTIsLjkwMzk5LC44NjMzMSwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjk2MDY4LC45NTc5NCwuNzc4OTIsLjg0NTQ4LC43Nzg5MiwuNzgyNTcsLjc5NDkyLC43ODI1NywuNzk0OTIsLjc4MjU3LC43OTQ5MiwuOTI5NywuNTY4OTIsLjgzOTA4LC45NDkwOCwuNzc1MzksLjg1ODg3LC44NzA2OCwuODkwNDksMSwxLC44MTA1NSwxLjA0MTA2LDEuMjA1MjgsMS4yMDUyOCwxLDEuMTU1NDMsLjcwMDg4LC45ODM4NywuOTQ3MjEsMS4zMzQzMSwxLjQ1ODk0LC45NTE2MSwxLjQ4Mzg3LC44MzkwOCwuODAzNTIsLjU3MTE4LC42OTY1LC41NjM0NywuNzkxNzksLjU1ODUzLC44MDM0NiwxLjAyOTg4LC44MzkwOCwuNzc2MiwuNjcxNzQsLjg2MDM2LC43MzEzMywuNzgyNTcsLjg3MzU2LC44NjQ0MSwuOTU5NTgsLjc1NzI3LC44OTAxOSwxLjA0OTI0LC45MDg3MiwuNzQ4ODksLjg1OTM4LC44Nzg5MSwuNzk3OTUsLjc5NTcsLjgxMDU1LC43Nzg5MiwuOTc0NDcsLjgyNTc3LC45NzQ2NiwuODcxNzksLjk1OTU4LC43Nzg5MiwuOTQyNTIsLjk1NjEyLC44NzUzLDEuMDI5ODgsLjkyNzMzLC45NDI1MiwuODc0MTEsLjg0MDIxLC44NzI4LC45NTYxMiwuNzQwODEsLjg3NTMsMS4wMjE4OSwxLjAyOTg4LC44NDgxNCwuODc0NDUsLjkxODIyLC44NDcyMywuODU2NjgsLjg2MzMxLC44MTM0NCwuODc1ODEsLjc2NDIyLC44MjA0NiwuOTYwNTcsLjkyNzMzLC45OTM3NSwuNzgwMjIsLjk1NDUyLC44NjAxNSwxLjAyOTg4LC45MjczMywuODYzMzEsLjkyNzMzLC44NjAxNSwuNzMxMzMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwNjMxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44ODMyMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODUxNzQsMSwxLDEsMSwxLDEsLjk2MDY4LC45NTc5NCwuOTYwNjgsLjk1Nzk0LC45NjA2OCwuOTU3OTQsLjc3ODkyLC44NDU0OCwxLDEsLjg5NTUyLC45MDUyNywxLC45MDM2MywuOTI3OTQsLjkyNzk0LC45Mjc5NCwuODk4MDcsLjg3MDEyLC44NzAxMiwuODcwMTIsLjg5NTUyLC44OTU1MiwxLjQyMjU5LC43MTA5NCwxLjA2MTUyLDEsMSwxLjAzMzcyLDEuMDMzNzIsLjk3MTcxLDEuNDk1NiwyLjI4MDcsLjkyOTcyLC44MzQwNiwuOTExMzMsLjgzMzI2LC45MTEzMywxLDEsMSwuNzIwMjEsMSwxLjIzMTA4LC44MzQ4OSwuODg1MjUsLjg4NTI1LC44MTQ5OSwuOTA2MTYsMS44MTA1NSwuOTA1MjcsMS44MTA1NSwxLjMxMDcsMS41MzcxMSwuOTQ0MzQsMS4wODY5NiwxLC45NTAxOCwuNzcxOTIsLjg1Mjg0LC45MDc0NywxLjE3NTM0LC42OTgyNSwuOTcxNiwxLjM3MDc3LC45MDc0NywuOTA3NDcsLjg1MzU2LC45MDc0NywuOTA3NDcsMS40NDk0NywuODUyODQsLjg5NDEsLjg5NDEsLjcwNTcyLC44LC43MDU3MiwuNzA1NzIsLjcwNTcyLC43MDU3MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk5ODYyLC45OTg2MiwxLDEsMSwxLDEsMS4wODAwNCwuOTEwMjcsMSwxLDEsLjk5ODYyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDcyNywuOTA3MjcsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLFJhPXtsaW5lSGVpZ2h0OjEuMjIwNyxsaW5lR2FwOi4yMjA3fSxOYT1bMS4zODc3LDEsMSwxLDEuMTcyMjMsMS4xMjkzLC44OTU1MiwuOTExMzMsLjgwMzk1LDEuMDIyNjksMS4xNTYwMSwuOTEwNTYsLjkxMDU2LDEuMjc5OCwuODUyODQsLjg5ODA3LDEsLjkwODYxLDEuMzk1NDMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45NjMwOSwuOTYzMDksLjg1Mjg0LC44NTI4NCwuODUyODQsLjgzMzE5LC44ODA3MSwuODY3NSwuODE1NTIsLjcyMzQ2LC44NTE5MywuNzMyMDYsLjc1MjIsLjgxMTA1LC44NjI3NSwuOTA2ODUsLjYzNzcsLjc3ODkyLC43NTU5MywxLjAyNjM4LC44OTI0OSwuODQxMTgsLjc3NDUyLC44NTM3NCwuNzUxODYsLjY3Nzg5LC43OTc3NiwuODg4NDQsLjg1MDY2LC45NDMwOSwuNzc4MTgsLjczMDYsLjc2NjU5LDEuMTAzNjksMS4zODMxMywxLjEwMzY5LDEuMDYxMzksLjg5NTUyLC44NzM5LC45MjQ1LC45MjQ1LC44MzIwMywuOTI0NSwuODU4NjUsMS4wOTg0MiwuOTI0NSwuOTI0NSwxLjAzMjk3LDEuMDc2OTIsLjkwOTE4LDEuMDMyOTcsLjk0OTU5LC45MjQ1LC45MjI3NCwuOTI0NSwuOTI0NSwxLjAyOTMzLC43NzgzMiwxLjIwNTYyLC45MjQ1LC44OTE2LC45ODk4NiwuODY2MjEsLjg5NDUzLC43OTAwNCwuOTQxNTIsMS43NzI1NiwuOTQxNTIsLjg1Mjg0LC45NzgwMSwuODk1NTIsLjkxMTMzLC44OTU1MiwuOTExMzMsMS45MTcyOSwuODk1NTIsMS4xNzg4OSwxLjEzMjU0LDEuMTYzNTksLjkyMDk4LC44NTI4NCwuNjg3ODcsLjcxMzUzLC44NDczNywuOTA3NDcsMS4wMDg4LDEuMDA0NCwuODc2ODMsMSwxLjA5MDkxLDEsLjkyMjI5LC43MzksMS4xNTY0MiwuOTIwOTgsLjc2Mjg4LC44MDUwNCwuODA5NzIsLjc1ODU5LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC43NjMxOCwuNzIzNDYsLjczMjA2LC43MzIwNiwuNzMyMDYsLjczMjA2LC45MDY4NSwuOTA2ODUsLjkwNjg1LC45MDY4NSwuODY0NzcsLjg5MjQ5LC44NDExOCwuODQxMTgsLjg0MTE4LC44NDExOCwuODQxMTgsLjg1Mjg0LC44NDU1NywuODg4NDQsLjg4ODQ0LC44ODg0NCwuODg4NDQsLjczMDYsLjc3NDUyLC44NjMzMSwuOTI0NSwuOTI0NSwuOTI0NSwuOTI0NSwuOTI0NSwuOTI0NSwuODQ4NDMsLjgzMjAzLC44NTg2NSwuODU4NjUsLjg1ODY1LC44NTg2NSwuODI2MDEsLjgyNjAxLC44MjYwMSwuODI2MDEsLjk0NDY5LC45MjQ1LC45MjI3NCwuOTIyNzQsLjkyMjc0LC45MjI3NCwuOTIyNzQsLjkwNzQ3LC44NjY1MSwuOTI0NSwuOTI0NSwuOTI0NSwuOTI0NSwuODk0NTMsLjkyNDUsLjg5NDUzLC44Njc1LC45MjQ1LC44Njc1LC45MjQ1LC44Njc1LC45MjQ1LC43MjM0NiwuODMyMDMsLjcyMzQ2LC44MzIwMywuNzIzNDYsLjgzMjAzLC43MjM0NiwuODMyMDMsLjg1MTkzLC44ODc1LC44NjQ3NywuOTkwMzQsLjczMjA2LC44NTg2NSwuNzMyMDYsLjg1ODY1LC43MzIwNiwuODU4NjUsLjczMjA2LC44NTg2NSwuNzMyMDYsLjg1ODY1LC44MTEwNSwuOTI0NSwuODExMDUsLjkyNDUsLjgxMTA1LC45MjQ1LDEsMSwuODYyNzUsLjkyNDUsLjkwODcyLC45MzU5MSwuOTA2ODUsLjgyNjAxLC45MDY4NSwuODI2MDEsLjkwNjg1LC44MjYwMSwuOTA2ODUsMS4wMzI5NywuOTA2ODUsLjgyNjAxLC43Nzg5NiwxLjA1NjExLC42Mzc3LDEuMDc2OTIsMSwxLC45MDkxOCwuNzU1OTMsMS4wMzI5NywxLDEsLjc2MDMyLC45Mzc1LC45ODE1NiwuOTM0MDcsLjc3MjYxLDEuMTE0MjksLjg5MjQ5LC45MjQ1LDEsMSwuODkyNDksLjkyNDUsLjkyNTM0LC44NjY5OCwuOTI0NSwuODQxMTgsLjkyMjc0LC44NDExOCwuOTIyNzQsLjg0MTE4LC45MjI3NCwuODY2NywuODYyOTEsLjc1MTg2LDEuMDI5MzMsMSwxLC43NTE4NiwxLjAyOTMzLC42Nzc4OSwuNzc4MzIsLjY3Nzg5LC43NzgzMiwuNjc3ODksLjc3ODMyLC42Nzc4OSwuNzc4MzIsMSwxLC43OTc3NiwuOTc2NTUsLjc5Nzc2LDEuMjMwMjMsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuODg4NDQsLjkyNDUsLjk0MzA5LC45ODk4NiwuNzMwNiwuODk0NTMsLjczMDYsLjc2NjU5LC43OTAwNCwuNzY2NTksLjc5MDA0LC43NjY1OSwuNzkwMDQsMS4wOTIzMSwuNTQ4NzMsLjg2NzUsLjkyNDUsLjc2MzE4LC44NDg0MywuODQ1NTcsLjg2NjUxLDEsMSwuNzk3NzYsMS4yMDU2MiwxLjE4NjIyLDEuMTg2MjIsMSwxLjE0MzcsLjY3MDA5LC45NjMzNCwuOTM2OTUsMS4zNTE5MSwxLjQwOTA5LC45NTE2MSwxLjQ4Mzg3LC44Njc1LC45MDg2MSwuNjE5MiwuNzM2MywuNjQ4MjQsLjgyNDExLC41NjMyMSwuODU2OTYsMS4yMzUxNiwuODY3NSwuODE1NTIsLjcyODYsLjg0MTM0LC43MzIwNiwuNzY2NTksLjg2Mjc1LC44NDM2OSwuOTA2ODUsLjc3ODkyLC44NTg3MSwxLjAyNjM4LC44OTI0OSwuNzU4MjgsLjg0MTE4LC44NTk4NCwuNzc0NTIsLjc2NDY2LC43OTc3NiwuNzMwNiwuOTA3ODIsLjc3ODE4LC45MDMsLjg3MjkxLC45MDY4NSwuNzMwNiwuOTkwNTgsMS4wMzY2NywuOTQ2MzUsMS4yMzUxNiwuOTg0OSwuOTkwNTgsLjkyMzkzLC44OTE2LC45NDIsMS4wMzY2NywuNzUwMjYsLjk0NjM1LDEuMDI5NywxLjIzNTE2LC45MDkxOCwuOTQwNDgsLjk4MjE3LC44OTc0NiwuODQxNTMsLjkyMjc0LC44MjUwNywuODg4MzIsLjg0NDM4LC44ODE3OCwxLjAzNTI1LC45ODQ5LDEuMDAyMjUsLjc4MDg2LC45NzI0OCwuODk0MDQsMS4yMzUxNiwuOTg0OSwuOTIyNzQsLjk4NDksLjg5NDA0LC43MzIwNiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODk2OTMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg1ODY1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDkzMywxLDEsMSwxLDEsMSwuOTQzMDksLjk4OTg2LC45NDMwOSwuOTg5ODYsLjk0MzA5LC45ODk4NiwuNzMwNiwuODk0NTMsMSwxLC44OTU1MiwuOTA1MjcsMSwuOTAxODYsMS4xMjMwOCwxLjEyMzA4LDEuMTIzMDgsMS4xMjMwOCwxLjI1NjYsMS4yNTY2LDEuMjU2NiwuODk1NTIsLjg5NTUyLDEuNDIyNTksLjY4OTk0LDEuMDM4MDksMSwxLDEuMDE3NiwxLjAxNzYsMS4xMTUyMywxLjQ5NTYsMi4wMTQ2MiwuOTc4NTgsLjgyNjE2LC45MTEzMywuODM0MzcsLjkxMTMzLDEsMSwxLC43MDUwOCwxLDEuMjMxMDgsLjc5ODAxLC44NDQyNiwuODQ0MjYsLjc3NCwuOTA1NzIsMS44MTA1NSwuOTA3NDksMS44MTA1NSwxLjI4ODA5LDEuNTU0NjksLjk0NDM0LDEuMDc4MDYsMSwuOTcwOTQsLjc1ODksLjg1Mjg0LC45MDc0NywxLjE5NjU4LC42OTgyNSwuOTc2MjIsMS4zMzUxMiwuOTA3NDcsLjkwNzQ3LC44NTI4NCwuOTA3NDcsLjkwNzQ3LDEuNDQ5NDcsLjg1Mjg0LC44OTQxLC44OTQxLC43MDU3MiwuOCwuNzA1NzIsLjcwNTcyLC43MDU3MiwuNzA1NzIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45OTg2MiwuOTk4NjIsMSwxLDEsMSwxLDEuMDMzNiwuOTEwMjcsMSwxLDEsLjk5ODYyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDU4NTksMS4wNTg1OSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sR2E9e2xpbmVIZWlnaHQ6MS4yMjA3LGxpbmVHYXA6LjIyMDd9LHhhPVsxLjM4NzcsMSwxLDEsMS4xNzIyMywxLjEyOTMsLjg5NTUyLC45MTEzMywuODAzOTUsMS4wMjI2OSwxLjE1NjAxLC45MTA1NiwuOTEwNTYsMS4yNzk4LC44NTI4NCwuODk4MDcsMSwuOTA4NjEsMS4zOTAxNiwuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjk2MzA5LC45NjMwOSwuODUyODQsLjg1Mjg0LC44NTI4NCwuODMzMTksLjg4MDcxLC44Njc1LC44MTU1MiwuNzM4MzQsLjg1MTkzLC43MzIwNiwuNzUyMiwuODExMDUsLjg2Mjc1LC45MDY4NSwuNjM3NywuNzc4OTIsLjc1NTkzLDEuMDI2MzgsLjg5Mzg1LC44NTEyMiwuNzc0NTIsLjg2NTAzLC43NTE4NiwuNjg4ODcsLjc5Nzc2LC44ODg0NCwuODUwNjYsLjk0MjU4LC43NzgxOCwuNzMwNiwuNzY2NTksMS4xMDM2OSwxLjM5MDE2LDEuMTAzNjksMS4wNjEzOSwuODk1NTIsLjg3MzksLjg2MTI4LC45NDQ2OSwuODQ1NywuOTQ0NjksLjg5NDY0LDEuMDk4NDIsLjg0NjM2LC45NDQ2OSwxLjAzMjk3LDEuMDc2OTIsLjkwOTE4LDEuMDMyOTcsLjk1ODk3LC45NDQ2OSwuOTQ4MiwuOTQ0NjksLjk0NDY5LDEuMDQ2OTIsLjc4MjIzLDEuMjA1NjIsLjk0NDY5LC45MDMzMiwuOTg5ODYsLjg2NjIxLC45MDUyNywuNzkwMDQsLjk0MTUyLDEuNzcyNTYsLjk0MTUyLC44NTI4NCwuOTc4MDEsLjg5NTUyLC45MTEzMywuODk1NTIsLjkxMTMzLDEuOTE3MjksLjg5NTUyLDEuMTc4ODksMS4xMzI1NCwxLjA4NzA3LC45MjA5OCwuODUyODQsLjY4Nzg3LC43MTM1MywuODQ3MzcsLjkwNzQ3LDEuMDA4OCwxLjAwNDQsLjg3NjgzLDEsMS4wOTA5MSwxLC45MjIyOSwuNzM5LDEuMTU2NDIsLjkyMDk4LC43NjI4OCwuODA1MDQsLjgwOTcyLC43NTg1OSwuODY3NSwuODY3NSwuODY3NSwuODY3NSwuODY3NSwuODY3NSwuNzYzMTgsLjczODM0LC43MzIwNiwuNzMyMDYsLjczMjA2LC43MzIwNiwuOTA2ODUsLjkwNjg1LC45MDY4NSwuOTA2ODUsLjg2NDc3LC44OTM4NSwuODUxMjIsLjg1MTIyLC44NTEyMiwuODUxMjIsLjg1MTIyLC44NTI4NCwuODUzMTEsLjg4ODQ0LC44ODg0NCwuODg4NDQsLjg4ODQ0LC43MzA2LC43NzQ1MiwuODYzMzEsLjg2MTI4LC44NjEyOCwuODYxMjgsLjg2MTI4LC44NjEyOCwuODYxMjgsLjg2OTMsLjg0NTcsLjg5NDY0LC44OTQ2NCwuODk0NjQsLjg5NDY0LC44MjYwMSwuODI2MDEsLjgyNjAxLC44MjYwMSwuOTQ0NjksLjk0NDY5LC45NDgyLC45NDgyLC45NDgyLC45NDgyLC45NDgyLC45MDc0NywuODY2NTEsLjk0NDY5LC45NDQ2OSwuOTQ0NjksLjk0NDY5LC45MDUyNywuOTQ0NjksLjkwNTI3LC44Njc1LC44NjEyOCwuODY3NSwuODYxMjgsLjg2NzUsLjg2MTI4LC43MzgzNCwuODQ1NywuNzM4MzQsLjg0NTcsLjczODM0LC44NDU3LC43MzgzNCwuODQ1NywuODUxOTMsLjkyNDU0LC44NjQ3NywuOTkyMSwuNzMyMDYsLjg5NDY0LC43MzIwNiwuODk0NjQsLjczMjA2LC44OTQ2NCwuNzMyMDYsLjg5NDY0LC43MzIwNiwuODk0NjQsLjgxMTA1LC44NDYzNiwuODExMDUsLjg0NjM2LC44MTEwNSwuODQ2MzYsMSwxLC44NjI3NSwuOTQ0NjksLjkwODcyLC45NTc4NiwuOTA2ODUsLjgyNjAxLC45MDY4NSwuODI2MDEsLjkwNjg1LC44MjYwMSwuOTA2ODUsMS4wMzI5NywuOTA2ODUsLjgyNjAxLC43Nzc0MSwxLjA1NjExLC42Mzc3LDEuMDc2OTIsMSwxLC45MDkxOCwuNzU1OTMsMS4wMzI5NywxLDEsLjc2MDMyLC45MDQ1MiwuOTgxNTYsMS4xMTg0MiwuNzcyNjEsMS4xMTQyOSwuODkzODUsLjk0NDY5LDEsMSwuODkzODUsLjk0NDY5LC45NTg3NywuODY5MDEsLjk0NDY5LC44NTEyMiwuOTQ4MiwuODUxMjIsLjk0ODIsLjg1MTIyLC45NDgyLC44NjY3LC45MDAxNiwuNzUxODYsMS4wNDY5MiwxLDEsLjc1MTg2LDEuMDQ2OTIsLjY4ODg3LC43ODIyMywuNjg4ODcsLjc4MjIzLC42ODg4NywuNzgyMjMsLjY4ODg3LC43ODIyMywxLDEsLjc5Nzc2LC45MjE4OCwuNzk3NzYsMS4yMzAyMywuODg4NDQsLjk0NDY5LC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuOTQyNTgsLjk4OTg2LC43MzA2LC45MDUyNywuNzMwNiwuNzY2NTksLjc5MDA0LC43NjY1OSwuNzkwMDQsLjc2NjU5LC43OTAwNCwxLjA5MjMxLC41NDg3MywuODY3NSwuODYxMjgsLjc2MzE4LC44NjkzLC44NTMxMSwuODY2NTEsMSwxLC43OTc3NiwxLjIwNTYyLDEuMTg2MjIsMS4xODYyMiwxLDEuMTQzNywuNjc3NDIsLjk2MzM0LC45MzY5NSwxLjM1MTkxLDEuNDA5MDksLjk1MTYxLDEuNDgzODcsLjg2Njg2LC45MDg2MSwuNjIyNjcsLjc0MzU5LC42NTY0OSwuODU0OTgsLjU2OTYzLC44ODI1NCwxLjIzNTE2LC44Njc1LC44MTU1MiwuNzU0NDMsLjg0NTAzLC43MzIwNiwuNzY2NTksLjg2Mjc1LC44NTEyMiwuOTA2ODUsLjc3ODkyLC44NTc0NiwxLjAyNjM4LC44OTM4NSwuNzU2NTcsLjg1MTIyLC44NjI3NSwuNzc0NTIsLjc0MTcxLC43OTc3NiwuNzMwNiwuOTUxNjUsLjc3ODE4LC44OTc3MiwuODg4MzEsLjkwNjg1LC43MzA2LC45ODE0MiwxLjAyMTkxLC45NjU3NiwxLjIzNTE2LC45OTAxOCwuOTgxNDIsLjkyMzYsLjg5MjU4LC45NDAzNSwxLjAyMTkxLC43ODg0OCwuOTY1NzYsLjk1NjEsMS4yMzUxNiwuOTA5MTgsLjkyNTc4LC45NTQyNCwuODk3NDYsLjgzOTY5LC45NDgyLC44MDExMywuODk0NDIsLjg1MjA4LC44NjE1NSwuOTgwMjIsLjk5MDE4LDEuMDA0NTIsLjgxMjA5LC45OTI0NywuODkxODEsMS4yMzUxNiwuOTkwMTgsLjk0ODIsLjk5MDE4LC44OTE4MSwuNzMyMDYsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg4ODQ0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44OTQ2NCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTY3NjYsMSwxLDEsMSwxLDEsLjk0MjU4LC45ODk4NiwuOTQyNTgsLjk4OTg2LC45NDI1OCwuOTg5ODYsLjczMDYsLjkwNTI3LDEsMSwuODk1NTIsLjkwNTI3LDEsLjkwMTg2LDEuMTIzMDgsMS4xMjMwOCwxLjEyMzA4LDEuMTIzMDgsMS4yNTY2LDEuMjU2NiwxLjI1NjYsLjg5NTUyLC44OTU1MiwxLjQyMjU5LC42OTA0MywxLjAzODA5LDEsMSwxLjAxNzYsMS4wMTc2LDEuMTE1MjMsMS40OTU2LDIuMDE0NjIsLjk5MzMxLC44MjYxNiwuOTExMzMsLjg0Mjg2LC45MTEzMywxLDEsMSwuNzA1MDgsMSwxLjIzMTA4LC43OTgwMSwuODQ0MjYsLjg0NDI2LC43NzQsLjkwNTI3LDEuODEwNTUsLjkwNTI3LDEuODEwNTUsMS4yODgwOSwxLjU1NDY5LC45NDQzNCwxLjA3ODA2LDEsLjk3MDk0LC43NTg5LC44NTI4NCwuOTA3NDcsMS4xOTY1OCwuNjk4MjUsLjk3NjIyLDEuMzM1MTIsLjkwNzQ3LC45MDc0NywuODUzNTYsLjkwNzQ3LC45MDc0NywxLjQ0OTQ3LC44NTI4NCwuODk0MSwuODk0MSwuNzA1NzIsLjgsLjcwNTcyLC43MDU3MiwuNzA1NzIsLjcwNTcyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTk4NjIsLjk5ODYyLDEsMSwxLDEsMSwxLjAzMzYsLjkxMDI3LDEsMSwxLC45OTg2MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA1ODU5LDEuMDU4NTksMSwxLDEsMS4wNzE4NSwuOTk0MTMsLjk2MzM0LDEuMDgwNjUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxVYT17bGluZUhlaWdodDoxLjIyMDcsbGluZUdhcDouMjIwN30sTWE9Wy43NjExNiwxLDEsMS4wMDA2LC45OTk5OCwuOTk5NzQsLjk5OTczLC45OTk3MywuOTk5ODIsLjk5OTc3LDEuMDAwODcsLjk5OTk4LC45OTk5OCwuOTk5NTksMS4wMDAwMywxLjAwMDYsLjk5OTk4LDEuMDAwNiwxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk5OCwxLDEuMDAwMDMsMS4wMDAwMywxLjAwMDAzLDEuMDAwMjYsLjk5OTksLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwxLjAwMDIyLC45OTk3NywxLjAwMDYsLjk5OTczLC45OTk3NywxLjAwMDI2LC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDAxLDEuMDAwMjIsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAwMSwxLjAwMDE2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI2LC45OTk5OCwxLjAwMDYsLjk5OTk4LDEuMDAwMDMsLjk5OTczLC45OTk5OCwuOTk5NzMsMS4wMDAyNiwuOTk5NzMsMS4wMDAyNiwuOTk5NzMsLjk5OTk4LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDYsMS4wMDA2LC45OTk3MywxLjAwMDYsLjk5OTgyLDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTU5LC45OTk3MywuOTk5OTgsMS4wMDAyNiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsLjk5OTczLDEsLjk5OTU5LDEuMDAwNzcsLjk5OTU5LDEuMDAwMDMsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDc3LC45OTk3MywuOTk5OTgsMS4wMDAyNSwuOTk5NjgsLjk5OTczLDEuMDAwMDMsMS4wMDAyNSwuNjAyOTksMS4wMDAyNCwxLjA2NDA5LDEsMSwuOTk5OTgsMSwuOTk5NzMsMS4wMDA2LC45OTk5OCwxLC45OTkzNiwuOTk5NzMsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAyNiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzcsLjk5OTc3LDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDAzLDEuMDAwMjIsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk4MiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDY0MDksMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MywxLjAwMDI2LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywxLjAzMzc0LC45OTk3NywxLjAwMDI2LDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA0MiwuOTk5NzMsLjk5OTczLDEuMDAwNiwuOTk5NzcsLjk5OTczLC45OTk3MywxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LDEuMDM4MjgsMS4wMDAyNiwuOTk5OTksMS4wMDAyNiwxLjAwMDYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTMsLjk5OTgsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLDEuMDAwMTYsLjk5OTc3LC45OTk1OSwuOTk5NzcsLjk5OTU5LC45OTk3NywuOTk5NTksMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwuOTk5OTgsMS4wMDAyNiwuODEyMSwxLjAwMDI2LC45OTk5OCwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDYsLjk5OTczLC45OTk3NywuOTk5NzMsMSwuOTk5ODIsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLjAwMDM0LC45OTk3NywxLC45OTk5NywxLjAwMDI2LDEuMDAwNzgsMS4wMDAzNiwuOTk5NzMsMS4wMDAxMywxLjAwMDYsLjk5OTc3LC45OTk3NywuOTk5ODgsLjg1MTQ4LDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAyMiwxLjAwMDYsLjk5OTc3LDEuMDAwMDEsLjk5OTk5LC45OTk3NywxLjAwMDY5LDEuMDAwMjIsLjk5OTc3LDEuMDAwMDEsLjk5OTg0LDEuMDAwMjYsMS4wMDAwMSwxLjAwMDI0LDEuMDAwMDEsLjk5OTksMSwxLjAwMDYsMS4wMDAwMSwxLjAwMDQxLC45OTk2MiwxLjAwMDI2LDEuMDAwNiwuOTk5OTUsMS4wMDA0MSwuOTk5NDIsLjk5OTczLC45OTkyNywxLjAwMDgyLC45OTkwMiwxLjAwMDI2LDEuMDAwODcsMS4wMDA2LDEuMDAwNjksLjk5OTczLC45OTg2NywuOTk5NzMsLjk5OTMsMS4wMDAyNiwxLjAwMDQ5LDEuMDAwNTYsMSwuOTk5ODgsLjk5OTM1LC45OTk5NSwuOTk5NTQsMS4wMDA1NSwuOTk5NDUsMS4wMDAzMiwxLjAwMDYsLjk5OTk1LDEuMDAwMjYsLjk5OTk1LDEuMDAwMzIsMS4wMDAwMSwxLjAwMDA4LC45OTk3MSwxLjAwMDE5LC45OTk0LDEuMDAwMDEsMS4wMDA2LDEuMDAwNDQsLjk5OTczLDEuMDAwMjMsMS4wMDA0NywxLC45OTk0MiwuOTk1NjEsLjk5OTg5LDEuMDAwMzUsLjk5OTc3LDEuMDAwMzUsLjk5OTc3LDEuMDAwMTksLjk5OTQ0LDEuMDAwMDEsMS4wMDAyMSwuOTk5MjYsMS4wMDAzNSwxLjAwMDM1LC45OTk0MiwxLjAwMDQ4LC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDM1LDEuMDAwMDEsLjk5OTc3LDEuMDAwMjYsLjk5OTg5LDEuMDAwNTcsMS4wMDAwMSwuOTk5MzYsMS4wMDA1MiwxLjAwMDEyLC45OTk5NiwxLjAwMDQzLDEsMS4wMDAzNSwuOTk5NCwuOTk5NzYsMS4wMDAzNSwuOTk5NzMsMS4wMDA1MiwxLjAwMDQxLDEuMDAxMTksMS4wMDAzNywuOTk5NzMsMS4wMDAwMiwuOTk5ODYsMS4wMDA0MSwxLjAwMDQxLC45OTkwMiwuOTk5NiwxLjAwMDM0LC45OTk5OSwxLjAwMDI2LC45OTk5OSwxLjAwMDI2LC45OTk3MywxLjAwMDUyLC45OTk3MywxLC45OTk3MywxLjAwMDQxLDEuMDAwNzUsLjk5OTQsMS4wMDAzLC45OTk5OSwxLDEuMDAwNDEsLjk5OTU1LDEsLjk5OTE1LC45OTk3MywuOTk5NzMsMS4wMDAyNiwxLjAwMTE5LC45OTk1NSwuOTk5NzMsMS4wMDA2LC45OTkxMSwxLjAwMDYsMS4wMDAyNiwuOTk5NzIsMS4wMDAyNiwuOTk5MDIsMS4wMDA0MSwuOTk5NzMsLjk5OTk5LDEsMSwxLjAwMDM4LDEuMDAwNSwxLjAwMDE2LDEuMDAwMjIsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMTYsMS4wMDAyMiwxLjAwMDAxLC45OTk3MywxLDEsLjk5OTczLDEsMSwuOTk5NTUsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEsMSwxLC45OTk3MywuOTk5NzMsLjk5OTcyLDEsMSwxLjAwMTA2LC45OTk5OSwuOTk5OTgsLjk5OTk4LC45OTk5OSwuOTk5OTgsMS42NjQ3NSwxLC45OTk3MywuOTk5NzMsMS4wMDAyMywuOTk5NzMsLjk5OTcxLDEuMDAwNDcsMS4wMDAyMywxLC45OTk5MSwuOTk5ODQsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLDEsMSwxLDEsMSwxLC45OTk3MiwxLDEuMjA5ODUsMS4zOTcxMywxLjAwMDAzLDEuMDAwMzEsMS4wMDAxNSwxLC45OTU2MSwxLjAwMDI3LDEuMDAwMzEsMS4wMDAzMSwuOTk5MTUsMS4wMDAzMSwxLjAwMDMxLC45OTk5OSwxLjAwMDAzLC45OTk5OSwuOTk5OTksMS40MTE0NCwxLjYsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQwNTc5LDEuNDA1NzksMS4zNjYyNSwuOTk5OTksMSwuOTk4NjEsLjk5ODYxLDEsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NzIsLjk5OTk5LC45OTk5OSwuOTk5OTksLjk5OTk5LDEuNDA0ODMsMSwuOTk5NzcsMS4wMDA1NCwxLDEsLjk5OTUzLC45OTk2MiwxLjAwMDQyLC45OTk1LDEsMSwxLDEsMSwxLDEsMSwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxMYT17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sSGE9Wy43NjExNiwxLDEsMS4wMDA2LC45OTk5OCwuOTk5NzQsLjk5OTczLC45OTk3MywuOTk5ODIsLjk5OTc3LDEuMDAwODcsLjk5OTk4LC45OTk5OCwuOTk5NTksMS4wMDAwMywxLjAwMDYsLjk5OTk4LDEuMDAwNiwxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk5OCwxLDEuMDAwMDMsMS4wMDAwMywxLjAwMDAzLDEuMDAwMjYsLjk5OTksLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwxLjAwMDIyLC45OTk3NywxLjAwMDYsLjk5OTczLC45OTk3NywxLjAwMDI2LC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDAxLDEuMDAwMjIsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAwMSwxLjAwMDE2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI2LC45OTk5OCwxLjAwMDYsLjk5OTk4LDEuMDAwMDMsLjk5OTczLC45OTk5OCwuOTk5NzMsMS4wMDAyNiwuOTk5NzMsMS4wMDAyNiwuOTk5NzMsLjk5OTk4LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDYsMS4wMDA2LC45OTk3MywxLjAwMDYsLjk5OTgyLDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTU5LC45OTk3MywuOTk5OTgsMS4wMDAyNiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsLjk5OTczLDEsLjk5OTU5LDEuMDAwNzcsLjk5OTU5LDEuMDAwMDMsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDc3LC45OTk3MywuOTk5OTgsMS4wMDAyNSwuOTk5NjgsLjk5OTczLDEuMDAwMDMsMS4wMDAyNSwuNjAyOTksMS4wMDAyNCwxLjA2NDA5LDEsMSwuOTk5OTgsMSwuOTk5NzMsMS4wMDA2LC45OTk5OCwxLC45OTkzNiwuOTk5NzMsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAyNiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzcsLjk5OTc3LDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDAzLDEuMDAwMjIsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk4MiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDY0MDksMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MywxLjAwMDI2LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywxLjAwNDQsLjk5OTc3LDEuMDAwMjYsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzEsLjk5OTczLC45OTk3MywxLjAwMDYsLjk5OTc3LC45OTk3MywuOTk5NzMsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwxLjAxMDExLDEuMDAwMjYsLjk5OTk5LDEuMDAwMjYsMS4wMDA2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTkzLC45OTk4LDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMSwxLjAwMDE2LC45OTk3NywuOTk5NTksLjk5OTc3LC45OTk1OSwuOTk5NzcsLjk5OTU5LDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsLjk5OTk4LDEuMDAwMjYsLjgxMjEsMS4wMDAyNiwuOTk5OTgsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDI2LDEsMS4wMDA2LC45OTk3MywuOTk5NzcsLjk5OTczLDEsLjk5OTgyLDEuMDAwMjIsMS4wMDAyNiwxLjAwMDAxLC45OTk3MywxLjAwMDI2LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk3NywxLDEsMS4wMDAyNiwuOTk5NjksLjk5OTcyLC45OTk4MSwuOTk5OCwxLjAwMDYsLjk5OTc3LC45OTk3NywxLjAwMDIyLC45MTE1NSwxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMjIsMS4wMDA2LC45OTk3NywxLjAwMDAxLC45OTk5OSwuOTk5NzcsLjk5OTY2LDEuMDAwMjIsMS4wMDAzMiwxLjAwMDAxLC45OTk0NCwxLjAwMDI2LDEuMDAwMDEsLjk5OTY4LDEuMDAwMDEsMS4wMDA0NywxLDEuMDAwNiwxLjAwMDAxLC45OTk4MSwxLjAwMTAxLDEuMDAwMjYsMS4wMDA2LC45OTk0OCwuOTk5ODEsMS4wMDA2NCwuOTk5NzMsLjk5OTQyLDEuMDAxMDEsMS4wMDA2MSwxLjAwMDI2LDEuMDAwNjksMS4wMDA2LDEuMDAwMTQsLjk5OTczLDEuMDEzMjIsLjk5OTczLDEuMDAwNjUsMS4wMDAyNiwxLjAwMDEyLC45OTkyMywxLDEuMDAwNjQsMS4wMDA3NiwuOTk5NDgsMS4wMDA1NSwxLjAwMDYzLDEuMDAwMDcsLjk5OTQzLDEuMDAwNiwuOTk5NDgsMS4wMDAyNiwuOTk5NDgsLjk5OTQzLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI5LDEuMDAwMzgsMS4wMDAzNSwxLjAwMDAxLDEuMDAwNiwxLjAwMDYsLjk5OTczLC45OTk3OCwxLjAwMDAxLDEuMDAwNTcsLjk5OTg5LC45OTk2NywuOTk5NjQsLjk5OTY3LC45OTk3NywuOTk5OTksLjk5OTc3LDEuMDAwMzgsLjk5OTc3LDEuMDAwMDEsLjk5OTczLDEuMDAwNjYsLjk5OTY3LC45OTk2NywxLjAwMDQxLC45OTk5OCwuOTk5OTksLjk5OTc3LDEuMDAwMjIsLjk5OTY3LDEuMDAwMDEsLjk5OTc3LDEuMDAwMjYsLjk5OTY0LDEuMDAwMzEsMS4wMDAwMSwuOTk5OTksLjk5OTk5LDEsMS4wMDAyMywxLDEsLjk5OTk5LDEuMDAwMzUsMS4wMDAwMSwuOTk5OTksLjk5OTczLC45OTk3NywuOTk5OTksMS4wMDA1OCwuOTk5NzMsLjk5OTczLC45OTk1NSwuOTk5NSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAzMiwuOTk5ODksMS4wMDAzNCwuOTk5OTksMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTczLC40NTk5OCwuOTk5NzMsMS4wMDAyNiwuOTk5NzMsMS4wMDAwMSwuOTk5OTksLjk5OTgyLC45OTk5NCwuOTk5OTYsMSwxLjAwMDQyLDEuMDAwNDQsMS4wMDAyOSwxLjAwMDIzLC45OTk3MywuOTk5NzMsMS4wMDAyNiwuOTk5NDksMS4wMDAwMiwuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTc1LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDMyLC45ODY4NSwuOTk5NzMsMS4wMDAyNiwxLDEsLjk5OTY2LDEuMDAwNDQsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMTYsMS4wMDAyMiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAwMSwuOTk5NzMsMSwxLC45OTk3MywxLDEsLjk5OTU1LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLDEsMSwuOTk5NzMsLjk5OTczLC45OTk3MiwxLDEsMS4wMDEwNiwuOTk5OTksLjk5OTk4LC45OTk5OCwuOTk5OTksLjk5OTk4LDEuNjY0NzUsMSwuOTk5NzMsLjk5OTczLDEsLjk5OTczLC45OTk3MSwuOTk5NzgsMSwxLC45OTk5MSwuOTk5ODQsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDk4LDEsMSwxLDEuMDAwNDksMSwxLC45OTk3MiwxLDEuMjA5ODUsMS4zOTcxMywxLjAwMDAzLDEuMDAwMzEsMS4wMDAxNSwxLC45OTU2MSwxLjAwMDI3LDEuMDAwMzEsMS4wMDAzMSwuOTk5MTUsMS4wMDAzMSwxLjAwMDMxLC45OTk5OSwxLjAwMDAzLC45OTk5OSwuOTk5OTksMS40MTE0NCwxLjYsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQwNTc5LDEuNDA1NzksMS4zNjYyNSwuOTk5OTksMSwuOTk4NjEsLjk5ODYxLDEsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NzIsLjk5OTk5LC45OTk5OSwuOTk5OTksLjk5OTk5LDEuNDA0ODMsMSwuOTk5NzcsMS4wMDA1NCwxLDEsLjk5OTUzLC45OTk2MiwxLjAwMDQyLC45OTk1LDEsMSwxLDEsMSwxLDEsMSwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxKYT17bGluZUhlaWdodDoxLjM1LGxpbmVHYXA6LjJ9LFlhPVsuNzYxMTYsMSwxLDEuMDAwNiwxLjAwMDYsMS4wMDAwNiwuOTk5NzMsLjk5OTczLC45OTk4MiwxLjAwMDAxLDEuMDAwNDMsLjk5OTk4LC45OTk5OCwuOTk5NTksMS4wMDAwMywxLjAwMDYsLjk5OTk4LDEuMDAwNiwxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNiwxLDEuMDAwMDMsMS4wMDAwMywxLjAwMDAzLC45OTk3MywuOTk5ODcsMS4wMDAwMSwxLjAwMDAxLC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LDEuMDAwMjIsLjk5OTc3LDEuMDAwNiwxLDEuMDAwMDEsLjk5OTczLC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDAxLDEuMDAwMjIsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAwMSwxLjAwMDE2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk0OSwuOTk5NzMsLjk5OTk4LC45OTk3MywuOTk5NzMsMSwuOTk5NzMsLjk5OTczLDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTkyNCwuOTk5MjQsMSwuOTk5MjQsLjk5OTk5LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5OTgsMSwxLjAwMDYsLjk5OTczLDEsLjk5OTc3LDEsMSwxLDEuMDAwMDUsMS4wMDA5LDEuMDAwMDUsMS4wMDAwMywuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwOSwuOTk5NzMsLjk5OTk4LDEuMDAwMjUsLjk5OTY4LC45OTk3MywxLjAwMDAzLDEuMDAwMjUsLjYwMjk5LDEuMDAwMjQsMS4wNjQwOSwxLDEsLjk5OTk4LDEsLjk5OTgsMS4wMDA2LC45OTk5OCwxLC45OTkzNiwuOTk5NzMsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAyNiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzcsLjk5OTc3LDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDAzLDEuMDAwMjIsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk4MiwxLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDY0MDksMS4wMDAyNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMSwuOTk5NzMsMSwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywuOTk5NzcsMSwuOTk5NzcsMSwuOTk5NzcsMSwuOTk5NzcsMSwuOTk5NzcsMS4wMjg4LC45OTk3NywuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5MjQsMS4wMDA2LDEuMDAwNiwuOTk5NDYsMS4wMDAzNCwxLC45OTkyNCwxLjAwMDAxLDEsMSwuOTk5NzMsLjk5OTI0LC45OTk3MywuOTk5MjQsLjk5OTczLDEuMDYzMTEsLjk5OTczLDEuMDAwMjQsLjk5OTczLC45OTkyNCwuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywxLjAwMDQxLC45OTk4LC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLDEuMDAwMTYsLjk5OTc3LC45OTk5OCwuOTk5NzcsLjk5OTk4LC45OTk3NywuOTk5OTgsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsLjg5NTQ3LDEuMDAwMjYsMS4wMDA2LC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLDEuMDAwMTYsLjk5OTc3LDEuMDAwMDEsMSwxLjAwMDAxLDEuMDAwMjYsMSwxLjAwMDI2LDEsMS4wMDAyNiwxLC45OTkyNCwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMSwuOTk5ODIsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMDEsMSwxLjAwMDI2LDEuMDAwNiwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEuMDAwMDEsMSwxLjAwMDU0LC45OTk3NywxLjAwMDg0LDEuMDAwMDcsLjk5OTczLDEuMDAwMTMsLjk5OTI0LDEuMDAwMDEsMS4wMDAwMSwuOTk5NDUsLjkxMjIxLDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAyMiwxLjAwMDYsMS4wMDAwMSwxLjAwMDAxLC45OTk5OSwuOTk5NzcsLjk5OTMzLDEuMDAwMjIsMS4wMDA1NCwxLjAwMDAxLDEuMDAwNjUsMS4wMDAyNiwxLjAwMDAxLDEuMDAwMSwxLjAwMDAxLDEuMDAwNTIsMSwxLjAwMDYsMS4wMDAwMSwuOTk5NDUsLjk5ODk3LC45OTk2OCwuOTk5MjQsMS4wMDAzNiwuOTk5NDUsLjk5OTQ5LDEsMS4wMDA2LC45OTg5NywuOTk5MTgsLjk5OTY4LC45OTkxMSwuOTk5MjQsMSwuOTk5NjIsMS4wMTQ4NywxLDEuMDAwNSwuOTk5NzMsMS4wMDAxMiwxLjAwMDQzLDEsLjk5OTk1LC45OTk5NCwxLjAwMDM2LC45OTk0NywxLjAwMDE5LDEuMDAwNjMsMS4wMDAyNSwuOTk5MjQsMS4wMDAzNiwuOTk5NzMsMS4wMDAzNiwxLjAwMDI1LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI3LDEuMDAwMSwxLjAwMDY4LDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLDEuMDAwMDgsLjk5OTU3LC45OTk3MiwuOTk5NCwuOTk5NTQsLjk5OTc1LDEuMDAwNTEsMS4wMDAwMSwxLjAwMDE5LDEuMDAwMDEsMS4wMDAxLC45OTk4NiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAzOCwuOTk5NTQsLjk5OTU0LC45OTk0LDEuMDAwNjYsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwNTQsMS4wMDAwMSwuOTk5NzcsMS4wMDAyNiwuOTk5NzUsMS4wMDAxLDEuMDAwMDEsLjk5OTkzLC45OTk1LC45OTk1NSwxLjAwMDE2LC45OTk3OCwuOTk5NzQsMS4wMDAxOSwxLjAwMDIyLC45OTk1NSwxLjAwMDUzLC45OTk3MywxLjAwMDg5LDEuMDAwMDUsLjk5OTY3LDEuMDAwNDgsLjk5OTczLDEuMDAwMDIsMS4wMDAzNCwuOTk5NzMsLjk5OTczLC45OTk2NCwxLjAwMDA2LDEuMDAwNjYsLjk5OTQ3LC45OTk3MywuOTg4OTQsLjk5OTczLDEsLjQ0ODk4LDEsLjk5OTQ2LDEsMS4wMDAzOSwxLjAwMDgyLC45OTk5MSwuOTk5OTEsLjk5OTg1LDEuMDAwMjIsMS4wMDAyMywxLjAwMDYxLDEuMDAwMDYsLjk5OTY2LC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwMTksMS4wMDA4LDEsLjk5OTI0LC45OTkyNCwuOTk5MjQsLjk5OTgzLDEuMDAwNDQsLjk5OTczLC45OTk2NCwuOTgzMzIsMSwuOTk5NzMsMSwxLC45OTk2MiwuOTk4OTUsMS4wMDAxNiwuOTk5NzcsMS4wMDAxNiwuOTk5NzcsMS4wMDAxNiwuOTk5NzcsMS4wMDAwMSwxLDEsMSwuOTk5NzMsMSwxLC45OTk1NSwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5MjQsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzIsMSwxLDEuMDAyNjcsLjk5OTk5LC45OTk5OCwuOTk5OTgsMSwuOTk5OTgsMS42NjQ3NSwxLC45OTk3MywuOTk5NzMsMS4wMDAyMywuOTk5NzMsMS4wMDQyMywuOTk5MjUsLjk5OTk5LDEsLjk5OTkxLC45OTk4NCwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwNDksMSwxLjAwMjQ1LDEsMSwxLDEsLjk2MzI5LDEsMS4yMDk4NSwxLjM5NzEzLDEuMDAwMDMsLjgyNTQsMS4wMDAxNSwxLDEuMDAwMzUsMS4wMDAyNywxLjAwMDMxLDEuMDAwMzEsMS4wMDAwMywxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45NTMxNywuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLHZhPXtsaW5lSGVpZ2h0OjEuMzUsbGluZUdhcDouMn0sVGE9Wy43NjExNiwxLDEsMS4wMDA2LDEuMDAwNiwxLjAwMDA2LC45OTk3MywuOTk5NzMsLjk5OTgyLDEuMDAwMDEsMS4wMDA0MywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsLjk5OTczLC45OTk4NywxLjAwMDAxLDEuMDAwMDEsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMjYsMS4wMDAyMiwuOTk5NzcsMS4wMDA2LDEsMS4wMDAwMSwuOTk5NzMsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTQ5LC45OTk3MywuOTk5OTgsLjk5OTczLC45OTk3MywxLC45OTk3MywuOTk5NzMsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTI0LC45OTkyNCwxLC45OTkyNCwuOTk5OTksLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk5OCwxLDEuMDAwNiwuOTk5NzMsMSwuOTk5NzcsMSwxLDEsMS4wMDAwNSwxLjAwMDksMS4wMDAwNSwxLjAwMDAzLC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA5LC45OTk3MywuOTk5OTgsMS4wMDAyNSwuOTk5NjgsLjk5OTczLDEuMDAwMDMsMS4wMDAyNSwuNjAyOTksMS4wMDAyNCwxLjA2NDA5LDEsMSwuOTk5OTgsMSwuOTk5OCwxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLDEsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wNjQwOSwxLjAwMDI2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLC45OTk3MywxLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLjA0NTk2LC45OTk3NywuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5MjQsMS4wMDA2LDEuMDAwNiwxLjAwMDE5LDEuMDAwMzQsMSwuOTk5MjQsMS4wMDAwMSwxLDEsLjk5OTczLC45OTkyNCwuOTk5NzMsLjk5OTI0LC45OTk3MywxLjAyNTcyLC45OTk3MywxLjAwMDA1LC45OTk3MywuOTk5MjQsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTk5LC45OTk4LC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLDEuMDAwMTYsLjk5OTc3LC45OTk5OCwuOTk5NzcsLjk5OTk4LC45OTk3NywuOTk5OTgsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsLjg0NTMzLDEuMDAwMjYsMS4wMDA2LC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLDEuMDAwMTYsLjk5OTc3LDEuMDAwMDEsMSwxLjAwMDAxLDEuMDAwMjYsMSwxLjAwMDI2LDEsMS4wMDAyNiwxLC45OTkyNCwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMSwuOTk5ODIsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMDEsMSwxLjAwMDI2LDEuMDAwNiwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTkyOCwxLC45OTk3NywxLjAwMDEzLDEuMDAwNTUsLjk5OTQ3LC45OTk0NSwuOTk5NDEsLjk5OTI0LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDQsLjkxNjIxLDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAyMiwxLjAwMDYsMS4wMDAwMSwxLjAwMDA1LC45OTk5OSwuOTk5NzcsMS4wMDAxNSwxLjAwMDIyLC45OTk3NywxLjAwMDAxLC45OTk3MywxLjAwMDI2LDEuMDAwMDEsMS4wMDAxOSwxLjAwMDAxLC45OTk0NiwxLDEuMDAwNiwxLjAwMDAxLC45OTk3OCwxLjAwMDQ1LC45OTk3MywuOTk5MjQsMS4wMDAyMywuOTk5NzgsLjk5OTY2LDEsMS4wMDA2NSwxLjAwMDQ1LDEuMDAwMTksLjk5OTczLC45OTk3MywuOTk5MjQsMSwxLC45NjQ5OSwxLDEuMDAwNTUsLjk5OTczLDEuMDAwMDgsMS4wMDAyNywxLC45OTk3LC45OTk5NSwxLjAwMDIzLC45OTkzMywxLjAwMDE5LDEuMDAwMTUsMS4wMDAzMSwuOTk5MjQsMS4wMDAyMywuOTk5NzMsMS4wMDAyMywxLjAwMDMxLDEuMDAwMDEsLjk5OTI4LDEuMDAwMjksMS4wMDA5MiwxLjAwMDM1LDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLC45OTk4OCwuOTk5NzUsMSwxLjAwMDgyLC45OTU2MSwuOTk5NiwxLjAwMDM1LDEuMDAwMDEsLjk5OTYyLDEuMDAwMDEsMS4wMDA5MiwuOTk5NjQsMS4wMDAwMSwuOTk5NjMsLjk5OTk5LDEuMDAwMzUsMS4wMDAzNSwxLjAwMDgyLC45OTk2MiwuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDAzNSwxLjAwMDAxLC45OTk3NywxLjAwMDI2LC45OTk2LC45OTk2NywxLjAwMDAxLDEuMDAwMzQsMS4wMDA3NCwxLjAwMDU0LDEuMDAwNTMsMS4wMDA2MywuOTk5NzEsLjk5OTYyLDEuMDAwMzUsLjk5OTc1LC45OTk3NywuOTk5NzMsMS4wMDA0MywuOTk5NTMsMS4wMDA3LC45OTkxNSwuOTk5NzMsMS4wMDAwOCwuOTk4OTIsMS4wMDA3MywxLjAwMDczLDEuMDAxMTQsLjk5OTE1LDEuMDAwNzMsLjk5OTU1LC45OTk3MywxLjAwMDkyLC45OTk3MywxLC45OTk5OCwxLDEuMDAwMywxLDEuMDAwNDMsMS4wMDAwMSwuOTk5NjksMS4wMDAzLDEsMS4wMDAzNSwxLjAwMDAxLC45OTk1LDEsMS4wMDA5MiwuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDcsLjk5OTUsMSwuOTk5MjQsMS4wMDA2LC45OTkyNCwuOTk5NzIsMS4wMDA2MiwuOTk5NzMsMS4wMDExNCwxLjAwMDczLDEsLjk5OTU1LDEsMSwxLjAwMDQ3LC45OTk2OCwxLjAwMDE2LC45OTk3NywxLjAwMDE2LC45OTk3NywxLjAwMDE2LC45OTk3NywxLjAwMDAxLDEsMSwxLC45OTk3MywxLDEsLjk5OTU1LC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MiwxLDEsMS4wMDI2NywuOTk5OTksLjk5OTk4LC45OTk5OCwxLC45OTk5OCwxLjY2NDc1LDEsLjk5OTczLC45OTk3MywxLjAwMDIzLC45OTk3MywuOTk5NzEsLjk5OTI1LDEuMDAwMjMsMSwuOTk5OTEsLjk5OTg0LDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMSwxLDEsMSwxLDEsMSwuOTYzMjksMSwxLjIwOTg1LDEuMzk3MTMsMS4wMDAwMywuODI1NCwxLjAwMDE1LDEsMS4wMDAzNSwxLjAwMDI3LDEuMDAwMzEsMS4wMDAzMSwuOTk5MTUsMS4wMDAzMSwxLjAwMDMxLC45OTk5OSwxLjAwMDAzLC45OTk5OSwuOTk5OTksMS40MTE0NCwxLjYsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQwNTc5LDEuNDA1NzksMS4zNjYyNSwuOTk5OTksMSwuOTk4NjEsLjk5ODYxLDEsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTUzMTcsLjk5OTk5LC45OTk5OSwuOTk5OTksLjk5OTk5LDEuNDA0ODMsMSwuOTk5NzcsMS4wMDA1NCwxLDEsLjk5OTUzLC45OTk2MiwxLjAwMDQyLC45OTk1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sS2E9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LHFhPVszNjUsMCwzMzMsMjc4LDMzMyw0NzQsNTU2LDU1Niw4ODksNzIyLDIzOCwzMzMsMzMzLDM4OSw1ODQsMjc4LDMzMywyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1NiwzMzMsMzMzLDU4NCw1ODQsNTg0LDYxMSw5NzUsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2MTEsNzc4LDcyMiwyNzgsNTU2LDcyMiw2MTEsODMzLDcyMiw3NzgsNjY3LDc3OCw3MjIsNjY3LDYxMSw3MjIsNjY3LDk0NCw2NjcsNjY3LDYxMSwzMzMsMjc4LDMzMyw1ODQsNTU2LDMzMyw1NTYsNjExLDU1Niw2MTEsNTU2LDMzMyw2MTEsNjExLDI3OCwyNzgsNTU2LDI3OCw4ODksNjExLDYxMSw2MTEsNjExLDM4OSw1NTYsMzMzLDYxMSw1NTYsNzc4LDU1Niw1NTYsNTAwLDM4OSwyODAsMzg5LDU4NCwzMzMsNTU2LDU1Niw1NTYsNTU2LDI4MCw1NTYsMzMzLDczNywzNzAsNTU2LDU4NCw3MzcsNTUyLDQwMCw1NDksMzMzLDMzMywzMzMsNTc2LDU1NiwyNzgsMzMzLDMzMywzNjUsNTU2LDgzNCw4MzQsODM0LDYxMSw3MjIsNzIyLDcyMiw3MjIsNzIyLDcyMiwxZTMsNzIyLDY2Nyw2NjcsNjY3LDY2NywyNzgsMjc4LDI3OCwyNzgsNzIyLDcyMiw3NzgsNzc4LDc3OCw3NzgsNzc4LDU4NCw3NzgsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2NjcsNjExLDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDg4OSw1NTYsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsMjc4LDI3OCw2MTEsNjExLDYxMSw2MTEsNjExLDYxMSw2MTEsNTQ5LDYxMSw2MTEsNjExLDYxMSw2MTEsNTU2LDYxMSw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNzE5LDcyMiw2MTEsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsNzIyLDYxMSw3MjIsNjExLDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCw3ODUsNTU2LDU1NiwyNzgsNzIyLDU1Niw1NTYsNjExLDI3OCw2MTEsMjc4LDYxMSwzODUsNjExLDQ3OSw2MTEsMjc4LDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcwOCw3MjMsNjExLDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDFlMyw5NDQsNzIyLDM4OSw3MjIsMzg5LDcyMiwzODksNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2MTEsMzMzLDYxMSw0NzksNjExLDMzMyw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw5NDQsNzc4LDY2Nyw1NTYsNjY3LDYxMSw1MDAsNjExLDUwMCw2MTEsNTAwLDI3OCw1NTYsNzIyLDU1NiwxZTMsODg5LDc3OCw2MTEsNjY3LDU1Niw2MTEsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMyw0NjUsNzIyLDMzMyw4NTMsOTA2LDQ3NCw4MjUsOTI3LDgzOCwyNzgsNzIyLDcyMiw2MDEsNzE5LDY2Nyw2MTEsNzIyLDc3OCwyNzgsNzIyLDY2Nyw4MzMsNzIyLDY0NCw3NzgsNzIyLDY2Nyw2MDAsNjExLDY2Nyw4MjEsNjY3LDgwOSw4MDIsMjc4LDY2Nyw2MTUsNDUxLDYxMSwyNzgsNTgyLDYxNSw2MTAsNTU2LDYwNiw0NzUsNDYwLDYxMSw1NDEsMjc4LDU1OCw1NTYsNjEyLDU1Niw0NDUsNjExLDc2Niw2MTksNTIwLDY4NCw0NDYsNTgyLDcxNSw1NzYsNzUzLDg0NSwyNzgsNTgyLDYxMSw1ODIsODQ1LDY2Nyw2NjksODg1LDU2Nyw3MTEsNjY3LDI3OCwyNzYsNTU2LDEwOTQsMTA2Miw4NzUsNjEwLDcyMiw2MjIsNzE5LDcyMiw3MTksNzIyLDU2Nyw3MTIsNjY3LDkwNCw2MjYsNzE5LDcxOSw2MTAsNzAyLDgzMyw3MjIsNzc4LDcxOSw2NjcsNzIyLDYxMSw2MjIsODU0LDY2Nyw3MzAsNzAzLDEwMDUsMTAxOSw4NzAsOTc5LDcxOSw3MTEsMTAzMSw3MTksNTU2LDYxOCw2MTUsNDE3LDYzNSw1NTYsNzA5LDQ5Nyw2MTUsNjE1LDUwMCw2MzUsNzQwLDYwNCw2MTEsNjA0LDYxMSw1NTYsNDkwLDU1Niw4NzUsNTU2LDYxNSw1ODEsODMzLDg0NCw3MjksODU0LDYxNSw1NTIsODU0LDU4Myw1NTYsNTU2LDYxMSw0MTcsNTUyLDU1NiwyNzgsMjgxLDI3OCw5NjksOTA2LDYxMSw1MDAsNjE1LDU1Niw2MDQsNzc4LDYxMSw0ODcsNDQ3LDk0NCw3NzgsOTQ0LDc3OCw5NDQsNzc4LDY2Nyw1NTYsMzMzLDMzMyw1NTYsMWUzLDFlMyw1NTIsMjc4LDI3OCwyNzgsMjc4LDUwMCw1MDAsNTAwLDU1Niw1NTYsMzUwLDFlMywxZTMsMjQwLDQ3OSwzMzMsMzMzLDYwNCwzMzMsMTY3LDM5Niw1NTYsNTU2LDEwOTQsNTU2LDg4NSw0ODksMTExNSwxZTMsNzY4LDYwMCw4MzQsODM0LDgzNCw4MzQsMWUzLDUwMCwxZTMsNTAwLDFlMyw1MDAsNTAwLDQ5NCw2MTIsODIzLDcxMyw1ODQsNTQ5LDcxMyw5NzksNzIyLDI3NCw1NDksNTQ5LDU4Myw1NDksNTQ5LDYwNCw1ODQsNjA0LDYwNCw3MDgsNjI1LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcyOSw2MDQsNjA0LDM1NCwzNTQsMWUzLDk5MCw5OTAsOTkwLDk5MCw0OTQsNjA0LDYwNCw2MDQsNjA0LDM1NCwxMDIxLDEwNTIsOTE3LDc1MCw3NTAsNTMxLDY1Niw1OTQsNTEwLDUwMCw3NTAsNzUwLDYxMSw2MTEsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywyMjIsMjIyLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzNdLE9hPVstMSwtMSwtMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIsMjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUsMjU2LDI1NywyNTgsMjU5LDI2MCwyNjEsMjYyLDI2MywyNjQsMjY1LDI2NiwyNjcsMjY4LDI2OSwyNzAsMjcxLDI3MiwyNzMsMjc0LDI3NSwyNzYsMjc3LDI3OCwyNzksMjgwLDI4MSwyODIsMjgzLDI4NCwyODUsMjg2LDI4NywyODgsMjg5LDI5MCwyOTEsMjkyLDI5MywyOTQsMjk1LDI5NiwyOTcsMjk4LDI5OSwzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSwzMDYsMzA3LDMwOCwzMDksMzEwLDMxMSwzMTIsMzEzLDMxNCwzMTUsMzE2LDMxNywzMTgsMzE5LDMyMCwzMjEsMzIyLDMyMywzMjQsMzI1LDMyNiwzMjcsMzI4LDMyOSwzMzAsMzMxLDMzMiwzMzMsMzM0LDMzNSwzMzYsMzM3LDMzOCwzMzksMzQwLDM0MSwzNDIsMzQzLDM0NCwzNDUsMzQ2LDM0NywzNDgsMzQ5LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM1OSwzNjAsMzYxLDM2MiwzNjMsMzY0LDM2NSwzNjYsMzY3LDM2OCwzNjksMzcwLDM3MSwzNzIsMzczLDM3NCwzNzUsMzc2LDM3NywzNzgsMzc5LDM4MCwzODEsMzgyLDM4Myw0MDIsNTA2LDUwNyw1MDgsNTA5LDUxMCw1MTEsNTM2LDUzNyw1MzgsNTM5LDcxMCw3MTEsNzEzLDcyOCw3MjksNzMwLDczMSw3MzIsNzMzLDkwMCw5MDEsOTAyLDkwMyw5MDQsOTA1LDkwNiw5MDgsOTEwLDkxMSw5MTIsOTEzLDkxNCw5MTUsOTE2LDkxNyw5MTgsOTE5LDkyMCw5MjEsOTIyLDkyMyw5MjQsOTI1LDkyNiw5MjcsOTI4LDkyOSw5MzEsOTMyLDkzMyw5MzQsOTM1LDkzNiw5MzcsOTM4LDkzOSw5NDAsOTQxLDk0Miw5NDMsOTQ0LDk0NSw5NDYsOTQ3LDk0OCw5NDksOTUwLDk1MSw5NTIsOTUzLDk1NCw5NTUsOTU2LDk1Nyw5NTgsOTU5LDk2MCw5NjEsOTYyLDk2Myw5NjQsOTY1LDk2Niw5NjcsOTY4LDk2OSw5NzAsOTcxLDk3Miw5NzMsOTc0LDEwMjQsMTAyNSwxMDI2LDEwMjcsMTAyOCwxMDI5LDEwMzAsMTAzMSwxMDMyLDEwMzMsMTAzNCwxMDM1LDEwMzYsMTAzNywxMDM4LDEwMzksMTA0MCwxMDQxLDEwNDIsMTA0MywxMDQ0LDEwNDUsMTA0NiwxMDQ3LDEwNDgsMTA0OSwxMDUwLDEwNTEsMTA1MiwxMDUzLDEwNTQsMTA1NSwxMDU2LDEwNTcsMTA1OCwxMDU5LDEwNjAsMTA2MSwxMDYyLDEwNjMsMTA2NCwxMDY1LDEwNjYsMTA2NywxMDY4LDEwNjksMTA3MCwxMDcxLDEwNzIsMTA3MywxMDc0LDEwNzUsMTA3NiwxMDc3LDEwNzgsMTA3OSwxMDgwLDEwODEsMTA4MiwxMDgzLDEwODQsMTA4NSwxMDg2LDEwODcsMTA4OCwxMDg5LDEwOTAsMTA5MSwxMDkyLDEwOTMsMTA5NCwxMDk1LDEwOTYsMTA5NywxMDk4LDEwOTksMTEwMCwxMTAxLDExMDIsMTEwMywxMTA0LDExMDUsMTEwNiwxMTA3LDExMDgsMTEwOSwxMTEwLDExMTEsMTExMiwxMTEzLDExMTQsMTExNSwxMTE2LDExMTcsMTExOCwxMTE5LDExMzgsMTEzOSwxMTY4LDExNjksNzgwOCw3ODA5LDc4MTAsNzgxMSw3ODEyLDc4MTMsNzkyMiw3OTIzLDgyMDgsODIwOSw4MjExLDgyMTIsODIxMyw4MjE1LDgyMTYsODIxNyw4MjE4LDgyMTksODIyMCw4MjIxLDgyMjIsODIyNCw4MjI1LDgyMjYsODIzMCw4MjQwLDgyNDIsODI0Myw4MjQ5LDgyNTAsODI1Miw4MjU0LDgyNjAsODMxOSw4MzU1LDgzNTYsODM1OSw4MzY0LDg0NTMsODQ2Nyw4NDcwLDg0ODIsODQ4Niw4NDk0LDg1MzksODU0MCw4NTQxLDg1NDIsODU5Miw4NTkzLDg1OTQsODU5NSw4NTk2LDg1OTcsODYxNiw4NzA2LDg3MTAsODcxOSw4NzIxLDg3MjIsODczMCw4NzM0LDg3MzUsODc0NSw4NzQ3LDg3NzYsODgwMCw4ODAxLDg4MDQsODgwNSw4OTYyLDg5NzYsODk5Miw4OTkzLDk0NzIsOTQ3NCw5NDg0LDk0ODgsOTQ5Miw5NDk2LDk1MDAsOTUwOCw5NTE2LDk1MjQsOTUzMiw5NTUyLDk1NTMsOTU1NCw5NTU1LDk1NTYsOTU1Nyw5NTU4LDk1NTksOTU2MCw5NTYxLDk1NjIsOTU2Myw5NTY0LDk1NjUsOTU2Niw5NTY3LDk1NjgsOTU2OSw5NTcwLDk1NzEsOTU3Miw5NTczLDk1NzQsOTU3NSw5NTc2LDk1NzcsOTU3OCw5NTc5LDk1ODAsOTYwMCw5NjA0LDk2MDgsOTYxMiw5NjE2LDk2MTcsOTYxOCw5NjE5LDk2MzIsOTYzMyw5NjQyLDk2NDMsOTY0NCw5NjUwLDk2NTgsOTY2MCw5NjY4LDk2NzQsOTY3NSw5Njc5LDk2ODgsOTY4OSw5NzAyLDk3ODYsOTc4Nyw5Nzg4LDk3OTIsOTc5NCw5ODI0LDk4MjcsOTgyOSw5ODMwLDk4MzQsOTgzNSw5ODM2LDYxNDQxLDYxNDQyLDYxNDQ1LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xXSxQYT1bMzY1LDAsMzMzLDI3OCwzMzMsNDc0LDU1Niw1NTYsODg5LDcyMiwyMzgsMzMzLDMzMywzODksNTg0LDI3OCwzMzMsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsMzMzLDMzMyw1ODQsNTg0LDU4NCw2MTEsOTc1LDcyMiw3MjIsNzIyLDcyMiw2NjcsNjExLDc3OCw3MjIsMjc4LDU1Niw3MjIsNjExLDgzMyw3MjIsNzc4LDY2Nyw3NzgsNzIyLDY2Nyw2MTEsNzIyLDY2Nyw5NDQsNjY3LDY2Nyw2MTEsMzMzLDI3OCwzMzMsNTg0LDU1NiwzMzMsNTU2LDYxMSw1NTYsNjExLDU1NiwzMzMsNjExLDYxMSwyNzgsMjc4LDU1NiwyNzgsODg5LDYxMSw2MTEsNjExLDYxMSwzODksNTU2LDMzMyw2MTEsNTU2LDc3OCw1NTYsNTU2LDUwMCwzODksMjgwLDM4OSw1ODQsMzMzLDU1Niw1NTYsNTU2LDU1NiwyODAsNTU2LDMzMyw3MzcsMzcwLDU1Niw1ODQsNzM3LDU1Miw0MDAsNTQ5LDMzMywzMzMsMzMzLDU3Niw1NTYsMjc4LDMzMywzMzMsMzY1LDU1Niw4MzQsODM0LDgzNCw2MTEsNzIyLDcyMiw3MjIsNzIyLDcyMiw3MjIsMWUzLDcyMiw2NjcsNjY3LDY2Nyw2NjcsMjc4LDI3OCwyNzgsMjc4LDcyMiw3MjIsNzc4LDc3OCw3NzgsNzc4LDc3OCw1ODQsNzc4LDcyMiw3MjIsNzIyLDcyMiw2NjcsNjY3LDYxMSw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw4ODksNTU2LDU1Niw1NTYsNTU2LDU1NiwyNzgsMjc4LDI3OCwyNzgsNjExLDYxMSw2MTEsNjExLDYxMSw2MTEsNjExLDU0OSw2MTEsNjExLDYxMSw2MTEsNjExLDU1Niw2MTEsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDc0MCw3MjIsNjExLDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw3NzgsNjExLDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDcyMiw2MTEsNzIyLDYxMSwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsNzgyLDU1Niw1NTYsMjc4LDcyMiw1NTYsNTU2LDYxMSwyNzgsNjExLDI3OCw2MTEsMzk2LDYxMSw0NzksNjExLDI3OCw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MDgsNzIzLDYxMSw3NzgsNjExLDc3OCw2MTEsNzc4LDYxMSwxZTMsOTQ0LDcyMiwzODksNzIyLDM4OSw3MjIsMzg5LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjExLDMzMyw2MTEsNDc5LDYxMSwzMzMsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsOTQ0LDc3OCw2NjcsNTU2LDY2Nyw2MTEsNTAwLDYxMSw1MDAsNjExLDUwMCwyNzgsNTU2LDcyMiw1NTYsMWUzLDg4OSw3NzgsNjExLDY2Nyw1NTYsNjExLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDcyMiwzMzMsODU0LDkwNiw0NzMsODQ0LDkzMCw4NDcsMjc4LDcyMiw3MjIsNjEwLDY3MSw2NjcsNjExLDcyMiw3NzgsMjc4LDcyMiw2NjcsODMzLDcyMiw2NTcsNzc4LDcxOCw2NjcsNTkwLDYxMSw2NjcsODIyLDY2Nyw4MjksNzgxLDI3OCw2NjcsNjIwLDQ3OSw2MTEsMjc4LDU5MSw2MjAsNjIxLDU1Niw2MTAsNDc5LDQ5Miw2MTEsNTU4LDI3OCw1NjYsNTU2LDYwMyw1NTYsNDUwLDYxMSw3MTIsNjA1LDUzMiw2NjQsNDA5LDU5MSw3MDQsNTc4LDc3Myw4MzQsMjc4LDU5MSw2MTEsNTkxLDgzNCw2NjcsNjY3LDg4Niw2MTQsNzE5LDY2NywyNzgsMjc4LDU1NiwxMDk0LDEwNDIsODU0LDYyMiw3MTksNjc3LDcxOSw3MjIsNzA4LDcyMiw2MTQsNzIyLDY2Nyw5MjcsNjQzLDcxOSw3MTksNjE1LDY4Nyw4MzMsNzIyLDc3OCw3MTksNjY3LDcyMiw2MTEsNjc3LDc4MSw2NjcsNzI5LDcwOCw5NzksOTg5LDg1NCwxZTMsNzA4LDcxOSwxMDQyLDcyOSw1NTYsNjE5LDYwNCw1MzQsNjE4LDU1Niw3MzYsNTEwLDYxMSw2MTEsNTA3LDYyMiw3NDAsNjA0LDYxMSw2MTEsNjExLDU1Niw4ODksNTU2LDg4NSw1NTYsNjQ2LDU4Myw4ODksOTM1LDcwNyw4NTQsNTk0LDU1Miw4NjUsNTg5LDU1Niw1NTYsNjExLDQ2OSw1NjMsNTU2LDI3OCwyNzgsMjc4LDk2OSw5MDYsNjExLDUwNyw2MTksNTU2LDYxMSw3NzgsNjExLDU3NSw0NjcsOTQ0LDc3OCw5NDQsNzc4LDk0NCw3NzgsNjY3LDU1NiwzMzMsMzMzLDU1NiwxZTMsMWUzLDU1MiwyNzgsMjc4LDI3OCwyNzgsNTAwLDUwMCw1MDAsNTU2LDU1NiwzNTAsMWUzLDFlMywyNDAsNDc5LDMzMywzMzMsNjA0LDMzMywxNjcsMzk2LDU1Niw1NTYsMTEwNCw1NTYsODg1LDUxNiwxMTQ2LDFlMyw3NjgsNjAwLDgzNCw4MzQsODM0LDgzNCw5OTksNTAwLDFlMyw1MDAsMWUzLDUwMCw1MDAsNDk0LDYxMiw4MjMsNzEzLDU4NCw1NDksNzEzLDk3OSw3MjIsMjc0LDU0OSw1NDksNTgzLDU0OSw1NDksNjA0LDU4NCw2MDQsNjA0LDcwOCw2MjUsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzI5LDYwNCw2MDQsMzU0LDM1NCwxZTMsOTkwLDk5MCw5OTAsOTkwLDQ5NCw2MDQsNjA0LDYwNCw2MDQsMzU0LDEwMjEsMTA1Miw5MTcsNzUwLDc1MCw1MzEsNjU2LDU5NCw1MTAsNTAwLDc1MCw3NTAsNjExLDYxMSwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDIyMiwyMjIsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzM10sV2E9Wy0xLC0xLC0xLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzLDEyNCwxMjUsMTI2LDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwyMTEsMjEyLDIxMywyMTQsMjE1LDIxNiwyMTcsMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMsMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsMjQ4LDI0OSwyNTAsMjUxLDI1MiwyNTMsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjIsMjYzLDI2NCwyNjUsMjY2LDI2NywyNjgsMjY5LDI3MCwyNzEsMjcyLDI3MywyNzQsMjc1LDI3NiwyNzcsMjc4LDI3OSwyODAsMjgxLDI4MiwyODMsMjg0LDI4NSwyODYsMjg3LDI4OCwyODksMjkwLDI5MSwyOTIsMjkzLDI5NCwyOTUsMjk2LDI5NywyOTgsMjk5LDMwMCwzMDEsMzAyLDMwMywzMDQsMzA1LDMwNiwzMDcsMzA4LDMwOSwzMTAsMzExLDMxMiwzMTMsMzE0LDMxNSwzMTYsMzE3LDMxOCwzMTksMzIwLDMyMSwzMjIsMzIzLDMyNCwzMjUsMzI2LDMyNywzMjgsMzI5LDMzMCwzMzEsMzMyLDMzMywzMzQsMzM1LDMzNiwzMzcsMzM4LDMzOSwzNDAsMzQxLDM0MiwzNDMsMzQ0LDM0NSwzNDYsMzQ3LDM0OCwzNDksMzUwLDM1MSwzNTIsMzUzLDM1NCwzNTUsMzU2LDM1NywzNTgsMzU5LDM2MCwzNjEsMzYyLDM2MywzNjQsMzY1LDM2NiwzNjcsMzY4LDM2OSwzNzAsMzcxLDM3MiwzNzMsMzc0LDM3NSwzNzYsMzc3LDM3OCwzNzksMzgwLDM4MSwzODIsMzgzLDQwMiw1MDYsNTA3LDUwOCw1MDksNTEwLDUxMSw1MzYsNTM3LDUzOCw1MzksNzEwLDcxMSw3MTMsNzI4LDcyOSw3MzAsNzMxLDczMiw3MzMsOTAwLDkwMSw5MDIsOTAzLDkwNCw5MDUsOTA2LDkwOCw5MTAsOTExLDkxMiw5MTMsOTE0LDkxNSw5MTYsOTE3LDkxOCw5MTksOTIwLDkyMSw5MjIsOTIzLDkyNCw5MjUsOTI2LDkyNyw5MjgsOTI5LDkzMSw5MzIsOTMzLDkzNCw5MzUsOTM2LDkzNyw5MzgsOTM5LDk0MCw5NDEsOTQyLDk0Myw5NDQsOTQ1LDk0Niw5NDcsOTQ4LDk0OSw5NTAsOTUxLDk1Miw5NTMsOTU0LDk1NSw5NTYsOTU3LDk1OCw5NTksOTYwLDk2MSw5NjIsOTYzLDk2NCw5NjUsOTY2LDk2Nyw5NjgsOTY5LDk3MCw5NzEsOTcyLDk3Myw5NzQsMTAyNCwxMDI1LDEwMjYsMTAyNywxMDI4LDEwMjksMTAzMCwxMDMxLDEwMzIsMTAzMywxMDM0LDEwMzUsMTAzNiwxMDM3LDEwMzgsMTAzOSwxMDQwLDEwNDEsMTA0MiwxMDQzLDEwNDQsMTA0NSwxMDQ2LDEwNDcsMTA0OCwxMDQ5LDEwNTAsMTA1MSwxMDUyLDEwNTMsMTA1NCwxMDU1LDEwNTYsMTA1NywxMDU4LDEwNTksMTA2MCwxMDYxLDEwNjIsMTA2MywxMDY0LDEwNjUsMTA2NiwxMDY3LDEwNjgsMTA2OSwxMDcwLDEwNzEsMTA3MiwxMDczLDEwNzQsMTA3NSwxMDc2LDEwNzcsMTA3OCwxMDc5LDEwODAsMTA4MSwxMDgyLDEwODMsMTA4NCwxMDg1LDEwODYsMTA4NywxMDg4LDEwODksMTA5MCwxMDkxLDEwOTIsMTA5MywxMDk0LDEwOTUsMTA5NiwxMDk3LDEwOTgsMTA5OSwxMTAwLDExMDEsMTEwMiwxMTAzLDExMDQsMTEwNSwxMTA2LDExMDcsMTEwOCwxMTA5LDExMTAsMTExMSwxMTEyLDExMTMsMTExNCwxMTE1LDExMTYsMTExNywxMTE4LDExMTksMTEzOCwxMTM5LDExNjgsMTE2OSw3ODA4LDc4MDksNzgxMCw3ODExLDc4MTIsNzgxMyw3OTIyLDc5MjMsODIwOCw4MjA5LDgyMTEsODIxMiw4MjEzLDgyMTUsODIxNiw4MjE3LDgyMTgsODIxOSw4MjIwLDgyMjEsODIyMiw4MjI0LDgyMjUsODIyNiw4MjMwLDgyNDAsODI0Miw4MjQzLDgyNDksODI1MCw4MjUyLDgyNTQsODI2MCw4MzE5LDgzNTUsODM1Niw4MzU5LDgzNjQsODQ1Myw4NDY3LDg0NzAsODQ4Miw4NDg2LDg0OTQsODUzOSw4NTQwLDg1NDEsODU0Miw4NTkyLDg1OTMsODU5NCw4NTk1LDg1OTYsODU5Nyw4NjE2LDg3MDYsODcxMCw4NzE5LDg3MjEsODcyMiw4NzMwLDg3MzQsODczNSw4NzQ1LDg3NDcsODc3Niw4ODAwLDg4MDEsODgwNCw4ODA1LDg5NjIsODk3Niw4OTkyLDg5OTMsOTQ3Miw5NDc0LDk0ODQsOTQ4OCw5NDkyLDk0OTYsOTUwMCw5NTA4LDk1MTYsOTUyNCw5NTMyLDk1NTIsOTU1Myw5NTU0LDk1NTUsOTU1Niw5NTU3LDk1NTgsOTU1OSw5NTYwLDk1NjEsOTU2Miw5NTYzLDk1NjQsOTU2NSw5NTY2LDk1NjcsOTU2OCw5NTY5LDk1NzAsOTU3MSw5NTcyLDk1NzMsOTU3NCw5NTc1LDk1NzYsOTU3Nyw5NTc4LDk1NzksOTU4MCw5NjAwLDk2MDQsOTYwOCw5NjEyLDk2MTYsOTYxNyw5NjE4LDk2MTksOTYzMiw5NjMzLDk2NDIsOTY0Myw5NjQ0LDk2NTAsOTY1OCw5NjYwLDk2NjgsOTY3NCw5Njc1LDk2NzksOTY4OCw5Njg5LDk3MDIsOTc4Niw5Nzg3LDk3ODgsOTc5Miw5Nzk0LDk4MjQsOTgyNyw5ODI5LDk4MzAsOTgzNCw5ODM1LDk4MzYsNjE0NDEsNjE0NDIsNjE0NDUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTFdLFhhPVszNjUsMCwzMzMsMjc4LDI3OCwzNTUsNTU2LDU1Niw4ODksNjY3LDE5MSwzMzMsMzMzLDM4OSw1ODQsMjc4LDMzMywyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1NiwyNzgsMjc4LDU4NCw1ODQsNTg0LDU1NiwxMDE1LDY2Nyw2NjcsNzIyLDcyMiw2NjcsNjExLDc3OCw3MjIsMjc4LDUwMCw2NjcsNTU2LDgzMyw3MjIsNzc4LDY2Nyw3NzgsNzIyLDY2Nyw2MTEsNzIyLDY2Nyw5NDQsNjY3LDY2Nyw2MTEsMjc4LDI3OCwyNzgsNDY5LDU1NiwzMzMsNTU2LDU1Niw1MDAsNTU2LDU1NiwyNzgsNTU2LDU1NiwyMjIsMjIyLDUwMCwyMjIsODMzLDU1Niw1NTYsNTU2LDU1NiwzMzMsNTAwLDI3OCw1NTYsNTAwLDcyMiw1MDAsNTAwLDUwMCwzMzQsMjYwLDMzNCw1ODQsMzMzLDU1Niw1NTYsNTU2LDU1NiwyNjAsNTU2LDMzMyw3MzcsMzcwLDU1Niw1ODQsNzM3LDU1Miw0MDAsNTQ5LDMzMywzMzMsMzMzLDU3Niw1MzcsMjc4LDMzMywzMzMsMzY1LDU1Niw4MzQsODM0LDgzNCw2MTEsNjY3LDY2Nyw2NjcsNjY3LDY2Nyw2NjcsMWUzLDcyMiw2NjcsNjY3LDY2Nyw2NjcsMjc4LDI3OCwyNzgsMjc4LDcyMiw3MjIsNzc4LDc3OCw3NzgsNzc4LDc3OCw1ODQsNzc4LDcyMiw3MjIsNzIyLDcyMiw2NjcsNjY3LDYxMSw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw4ODksNTAwLDU1Niw1NTYsNTU2LDU1NiwyNzgsMjc4LDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU0OSw2MTEsNTU2LDU1Niw1NTYsNTU2LDUwMCw1NTYsNTAwLDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDcyMiw1MDAsNzIyLDUwMCw3MjIsNTAwLDcyMiw1MDAsNzIyLDYyNSw3MjIsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDcyMiw1NTYsNzIyLDU1NiwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjIyLDI3OCwyNzgsNzMzLDQ0NCw1MDAsMjIyLDY2Nyw1MDAsNTAwLDU1NiwyMjIsNTU2LDIyMiw1NTYsMjgxLDU1Niw0MDAsNTU2LDIyMiw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw2MTUsNzIzLDU1Niw3NzgsNTU2LDc3OCw1NTYsNzc4LDU1NiwxZTMsOTQ0LDcyMiwzMzMsNzIyLDMzMyw3MjIsMzMzLDY2Nyw1MDAsNjY3LDUwMCw2NjcsNTAwLDY2Nyw1MDAsNjExLDI3OCw2MTEsMzU0LDYxMSwyNzgsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsOTQ0LDcyMiw2NjcsNTAwLDY2Nyw2MTEsNTAwLDYxMSw1MDAsNjExLDUwMCwyMjIsNTU2LDY2Nyw1NTYsMWUzLDg4OSw3NzgsNjExLDY2Nyw1MDAsNjExLDI3OCwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDY2NywyNzgsNzg5LDg0NiwzODksNzk0LDg2NSw3NzUsMjIyLDY2Nyw2NjcsNTcwLDY3MSw2NjcsNjExLDcyMiw3NzgsMjc4LDY2Nyw2NjcsODMzLDcyMiw2NDgsNzc4LDcyNSw2NjcsNjAwLDYxMSw2NjcsODM3LDY2Nyw4MzEsNzYxLDI3OCw2NjcsNTcwLDQzOSw1NTUsMjIyLDU1MCw1NzAsNTcxLDUwMCw1NTYsNDM5LDQ2Myw1NTUsNTQyLDIyMiw1MDAsNDkyLDU0OCw1MDAsNDQ3LDU1Niw2NzAsNTczLDQ4Niw2MDMsMzc0LDU1MCw2NTIsNTQ2LDcyOCw3NzksMjIyLDU1MCw1NTYsNTUwLDc3OSw2NjcsNjY3LDg0Myw1NDQsNzA4LDY2NywyNzgsMjc4LDUwMCwxMDY2LDk4Miw4NDQsNTg5LDcxNSw2MzksNzI0LDY2Nyw2NTEsNjY3LDU0NCw3MDQsNjY3LDkxNyw2MTQsNzE1LDcxNSw1ODksNjg2LDgzMyw3MjIsNzc4LDcyNSw2NjcsNzIyLDYxMSw2MzksNzk1LDY2Nyw3MjcsNjczLDkyMCw5MjMsODA1LDg4Niw2NTEsNjk0LDEwMjIsNjgyLDU1Niw1NjIsNTIyLDQ5Myw1NTMsNTU2LDY4OCw0NjUsNTU2LDU1Niw0NzIsNTY0LDY4Niw1NTAsNTU2LDU1Niw1NTYsNTAwLDgzMyw1MDAsODM1LDUwMCw1NzIsNTE4LDgzMCw4NTEsNjIxLDczNiw1MjYsNDkyLDc1Miw1MzQsNTU2LDU1Niw1NTYsMzc4LDQ5Niw1MDAsMjIyLDIyMiwyMjIsOTEwLDgyOCw1NTYsNDcyLDU2NSw1MDAsNTU2LDc3OCw1NTYsNDkyLDMzOSw5NDQsNzIyLDk0NCw3MjIsOTQ0LDcyMiw2NjcsNTAwLDMzMywzMzMsNTU2LDFlMywxZTMsNTUyLDIyMiwyMjIsMjIyLDIyMiwzMzMsMzMzLDMzMyw1NTYsNTU2LDM1MCwxZTMsMWUzLDE4OCwzNTQsMzMzLDMzMyw1MDAsMzMzLDE2NywzNjUsNTU2LDU1NiwxMDk0LDU1Niw4ODUsMzIzLDEwODMsMWUzLDc2OCw2MDAsODM0LDgzNCw4MzQsODM0LDFlMyw1MDAsOTk4LDUwMCwxZTMsNTAwLDUwMCw0OTQsNjEyLDgyMyw3MTMsNTg0LDU0OSw3MTMsOTc5LDcxOSwyNzQsNTQ5LDU0OSw1ODQsNTQ5LDU0OSw2MDQsNTg0LDYwNCw2MDQsNzA4LDYyNSw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MjksNjA0LDYwNCwzNTQsMzU0LDFlMyw5OTAsOTkwLDk5MCw5OTAsNDk0LDYwNCw2MDQsNjA0LDYwNCwzNTQsMTAyMSwxMDUyLDkxNyw3NTAsNzUwLDUzMSw2NTYsNTk0LDUxMCw1MDAsNzUwLDc1MCw1MDAsNTAwLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMjIyLDIyMiwyOTQsMjk0LDMyNCwzMjQsMzE2LDMyOCwzOTgsMjg1XSxqYT1bLTEsLTEsLTEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOTAsOTEsOTIsOTMsOTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiwxMjMsMTI0LDEyNSwxMjYsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4NywxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5NiwxOTcsMTk4LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIxMSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywyMTgsMjE5LDIyMCwyMjEsMjIyLDIyMywyMjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LDIzNSwyMzYsMjM3LDIzOCwyMzksMjQwLDI0MSwyNDIsMjQzLDI0NCwyNDUsMjQ2LDI0NywyNDgsMjQ5LDI1MCwyNTEsMjUyLDI1MywyNTQsMjU1LDI1NiwyNTcsMjU4LDI1OSwyNjAsMjYxLDI2MiwyNjMsMjY0LDI2NSwyNjYsMjY3LDI2OCwyNjksMjcwLDI3MSwyNzIsMjczLDI3NCwyNzUsMjc2LDI3NywyNzgsMjc5LDI4MCwyODEsMjgyLDI4MywyODQsMjg1LDI4NiwyODcsMjg4LDI4OSwyOTAsMjkxLDI5MiwyOTMsMjk0LDI5NSwyOTYsMjk3LDI5OCwyOTksMzAwLDMwMSwzMDIsMzAzLDMwNCwzMDUsMzA2LDMwNywzMDgsMzA5LDMxMCwzMTEsMzEyLDMxMywzMTQsMzE1LDMxNiwzMTcsMzE4LDMxOSwzMjAsMzIxLDMyMiwzMjMsMzI0LDMyNSwzMjYsMzI3LDMyOCwzMjksMzMwLDMzMSwzMzIsMzMzLDMzNCwzMzUsMzM2LDMzNywzMzgsMzM5LDM0MCwzNDEsMzQyLDM0MywzNDQsMzQ1LDM0NiwzNDcsMzQ4LDM0OSwzNTAsMzUxLDM1MiwzNTMsMzU0LDM1NSwzNTYsMzU3LDM1OCwzNTksMzYwLDM2MSwzNjIsMzYzLDM2NCwzNjUsMzY2LDM2NywzNjgsMzY5LDM3MCwzNzEsMzcyLDM3MywzNzQsMzc1LDM3NiwzNzcsMzc4LDM3OSwzODAsMzgxLDM4MiwzODMsNDAyLDUwNiw1MDcsNTA4LDUwOSw1MTAsNTExLDUzNiw1MzcsNTM4LDUzOSw3MTAsNzExLDcxMyw3MjgsNzI5LDczMCw3MzEsNzMyLDczMyw5MDAsOTAxLDkwMiw5MDMsOTA0LDkwNSw5MDYsOTA4LDkxMCw5MTEsOTEyLDkxMyw5MTQsOTE1LDkxNiw5MTcsOTE4LDkxOSw5MjAsOTIxLDkyMiw5MjMsOTI0LDkyNSw5MjYsOTI3LDkyOCw5MjksOTMxLDkzMiw5MzMsOTM0LDkzNSw5MzYsOTM3LDkzOCw5MzksOTQwLDk0MSw5NDIsOTQzLDk0NCw5NDUsOTQ2LDk0Nyw5NDgsOTQ5LDk1MCw5NTEsOTUyLDk1Myw5NTQsOTU1LDk1Niw5NTcsOTU4LDk1OSw5NjAsOTYxLDk2Miw5NjMsOTY0LDk2NSw5NjYsOTY3LDk2OCw5NjksOTcwLDk3MSw5NzIsOTczLDk3NCwxMDI0LDEwMjUsMTAyNiwxMDI3LDEwMjgsMTAyOSwxMDMwLDEwMzEsMTAzMiwxMDMzLDEwMzQsMTAzNSwxMDM2LDEwMzcsMTAzOCwxMDM5LDEwNDAsMTA0MSwxMDQyLDEwNDMsMTA0NCwxMDQ1LDEwNDYsMTA0NywxMDQ4LDEwNDksMTA1MCwxMDUxLDEwNTIsMTA1MywxMDU0LDEwNTUsMTA1NiwxMDU3LDEwNTgsMTA1OSwxMDYwLDEwNjEsMTA2MiwxMDYzLDEwNjQsMTA2NSwxMDY2LDEwNjcsMTA2OCwxMDY5LDEwNzAsMTA3MSwxMDcyLDEwNzMsMTA3NCwxMDc1LDEwNzYsMTA3NywxMDc4LDEwNzksMTA4MCwxMDgxLDEwODIsMTA4MywxMDg0LDEwODUsMTA4NiwxMDg3LDEwODgsMTA4OSwxMDkwLDEwOTEsMTA5MiwxMDkzLDEwOTQsMTA5NSwxMDk2LDEwOTcsMTA5OCwxMDk5LDExMDAsMTEwMSwxMTAyLDExMDMsMTEwNCwxMTA1LDExMDYsMTEwNywxMTA4LDExMDksMTExMCwxMTExLDExMTIsMTExMywxMTE0LDExMTUsMTExNiwxMTE3LDExMTgsMTExOSwxMTM4LDExMzksMTE2OCwxMTY5LDc4MDgsNzgwOSw3ODEwLDc4MTEsNzgxMiw3ODEzLDc5MjIsNzkyMyw4MjA4LDgyMDksODIxMSw4MjEyLDgyMTMsODIxNSw4MjE2LDgyMTcsODIxOCw4MjE5LDgyMjAsODIyMSw4MjIyLDgyMjQsODIyNSw4MjI2LDgyMzAsODI0MCw4MjQyLDgyNDMsODI0OSw4MjUwLDgyNTIsODI1NCw4MjYwLDgzMTksODM1NSw4MzU2LDgzNTksODM2NCw4NDUzLDg0NjcsODQ3MCw4NDgyLDg0ODYsODQ5NCw4NTM5LDg1NDAsODU0MSw4NTQyLDg1OTIsODU5Myw4NTk0LDg1OTUsODU5Niw4NTk3LDg2MTYsODcwNiw4NzEwLDg3MTksODcyMSw4NzIyLDg3MzAsODczNCw4NzM1LDg3NDUsODc0Nyw4Nzc2LDg4MDAsODgwMSw4ODA0LDg4MDUsODk2Miw4OTc2LDg5OTIsODk5Myw5NDcyLDk0NzQsOTQ4NCw5NDg4LDk0OTIsOTQ5Niw5NTAwLDk1MDgsOTUxNiw5NTI0LDk1MzIsOTU1Miw5NTUzLDk1NTQsOTU1NSw5NTU2LDk1NTcsOTU1OCw5NTU5LDk1NjAsOTU2MSw5NTYyLDk1NjMsOTU2NCw5NTY1LDk1NjYsOTU2Nyw5NTY4LDk1NjksOTU3MCw5NTcxLDk1NzIsOTU3Myw5NTc0LDk1NzUsOTU3Niw5NTc3LDk1NzgsOTU3OSw5NTgwLDk2MDAsOTYwNCw5NjA4LDk2MTIsOTYxNiw5NjE3LDk2MTgsOTYxOSw5NjMyLDk2MzMsOTY0Miw5NjQzLDk2NDQsOTY1MCw5NjU4LDk2NjAsOTY2OCw5Njc0LDk2NzUsOTY3OSw5Njg4LDk2ODksOTcwMiw5Nzg2LDk3ODcsOTc4OCw5NzkyLDk3OTQsOTgyNCw5ODI3LDk4MjksOTgzMCw5ODM0LDk4MzUsOTgzNiw2MTQ0MSw2MTQ0Miw2MTQ0NSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMV0sWmE9WzM2NSwwLDMzMywyNzgsMjc4LDM1NSw1NTYsNTU2LDg4OSw2NjcsMTkxLDMzMywzMzMsMzg5LDU4NCwyNzgsMzMzLDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsNTg0LDU4NCw1ODQsNTU2LDEwMTUsNjY3LDY2Nyw3MjIsNzIyLDY2Nyw2MTEsNzc4LDcyMiwyNzgsNTAwLDY2Nyw1NTYsODMzLDcyMiw3NzgsNjY3LDc3OCw3MjIsNjY3LDYxMSw3MjIsNjY3LDk0NCw2NjcsNjY3LDYxMSwyNzgsMjc4LDI3OCw0NjksNTU2LDMzMyw1NTYsNTU2LDUwMCw1NTYsNTU2LDI3OCw1NTYsNTU2LDIyMiwyMjIsNTAwLDIyMiw4MzMsNTU2LDU1Niw1NTYsNTU2LDMzMyw1MDAsMjc4LDU1Niw1MDAsNzIyLDUwMCw1MDAsNTAwLDMzNCwyNjAsMzM0LDU4NCwzMzMsNTU2LDU1Niw1NTYsNTU2LDI2MCw1NTYsMzMzLDczNywzNzAsNTU2LDU4NCw3MzcsNTUyLDQwMCw1NDksMzMzLDMzMywzMzMsNTc2LDUzNywyNzgsMzMzLDMzMywzNjUsNTU2LDgzNCw4MzQsODM0LDYxMSw2NjcsNjY3LDY2Nyw2NjcsNjY3LDY2NywxZTMsNzIyLDY2Nyw2NjcsNjY3LDY2NywyNzgsMjc4LDI3OCwyNzgsNzIyLDcyMiw3NzgsNzc4LDc3OCw3NzgsNzc4LDU4NCw3NzgsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2NjcsNjExLDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDg4OSw1MDAsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTQ5LDYxMSw1NTYsNTU2LDU1Niw1NTYsNTAwLDU1Niw1MDAsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzIyLDUwMCw3MjIsNTAwLDcyMiw1MDAsNzIyLDUwMCw3MjIsNjE1LDcyMiw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzIyLDU1Niw3MjIsNTU2LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyMjIsMjc4LDI3OCw3MzUsNDQ0LDUwMCwyMjIsNjY3LDUwMCw1MDAsNTU2LDIyMiw1NTYsMjIyLDU1NiwyOTIsNTU2LDMzNCw1NTYsMjIyLDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDYwNCw3MjMsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDFlMyw5NDQsNzIyLDMzMyw3MjIsMzMzLDcyMiwzMzMsNjY3LDUwMCw2NjcsNTAwLDY2Nyw1MDAsNjY3LDUwMCw2MTEsMjc4LDYxMSwzNzUsNjExLDI3OCw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw5NDQsNzIyLDY2Nyw1MDAsNjY3LDYxMSw1MDAsNjExLDUwMCw2MTEsNTAwLDIyMiw1NTYsNjY3LDU1NiwxZTMsODg5LDc3OCw2MTEsNjY3LDUwMCw2MTEsMjc4LDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsNjY3LDI3OCw3ODQsODM4LDM4NCw3NzQsODU1LDc1MiwyMjIsNjY3LDY2Nyw1NTEsNjY4LDY2Nyw2MTEsNzIyLDc3OCwyNzgsNjY3LDY2OCw4MzMsNzIyLDY1MCw3NzgsNzIyLDY2Nyw2MTgsNjExLDY2Nyw3OTgsNjY3LDgzNSw3NDgsMjc4LDY2Nyw1NzgsNDQ2LDU1NiwyMjIsNTQ3LDU3OCw1NzUsNTAwLDU1Nyw0NDYsNDQxLDU1Niw1NTYsMjIyLDUwMCw1MDAsNTc2LDUwMCw0NDgsNTU2LDY5MCw1NjksNDgyLDYxNywzOTUsNTQ3LDY0OCw1MjUsNzEzLDc4MSwyMjIsNTQ3LDU1Niw1NDcsNzgxLDY2Nyw2NjcsODY1LDU0Miw3MTksNjY3LDI3OCwyNzgsNTAwLDEwNTcsMTAxMCw4NTQsNTgzLDcyMiw2MzUsNzE5LDY2Nyw2NTYsNjY3LDU0Miw2NzcsNjY3LDkyMyw2MDQsNzE5LDcxOSw1ODMsNjU2LDgzMyw3MjIsNzc4LDcxOSw2NjcsNzIyLDYxMSw2MzUsNzYwLDY2Nyw3NDAsNjY3LDkxNyw5MzgsNzkyLDg4NSw2NTYsNzE5LDEwMTAsNzIyLDU1Niw1NzMsNTMxLDM2NSw1ODMsNTU2LDY2OSw0NTgsNTU5LDU1OSw0MzgsNTgzLDY4OCw1NTIsNTU2LDU0Miw1NTYsNTAwLDQ1OCw1MDAsODIzLDUwMCw1NzMsNTIxLDgwMiw4MjMsNjI1LDcxOSw1MjEsNTEwLDc1MCw1NDIsNTU2LDU1Niw1NTYsMzY1LDUxMCw1MDAsMjIyLDI3OCwyMjIsOTA2LDgxMiw1NTYsNDM4LDU1OSw1MDAsNTUyLDc3OCw1NTYsNDg5LDQxMSw5NDQsNzIyLDk0NCw3MjIsOTQ0LDcyMiw2NjcsNTAwLDMzMywzMzMsNTU2LDFlMywxZTMsNTUyLDIyMiwyMjIsMjIyLDIyMiwzMzMsMzMzLDMzMyw1NTYsNTU2LDM1MCwxZTMsMWUzLDE4OCwzNTQsMzMzLDMzMyw1MDAsMzMzLDE2NywzNjUsNTU2LDU1NiwxMDk0LDU1Niw4ODUsMzIzLDEwNzMsMWUzLDc2OCw2MDAsODM0LDgzNCw4MzQsODM0LDFlMyw1MDAsMWUzLDUwMCwxZTMsNTAwLDUwMCw0OTQsNjEyLDgyMyw3MTMsNTg0LDU0OSw3MTMsOTc5LDcxOSwyNzQsNTQ5LDU0OSw1ODMsNTQ5LDU0OSw2MDQsNTg0LDYwNCw2MDQsNzA4LDYyNSw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MjksNjA0LDYwNCwzNTQsMzU0LDFlMyw5OTAsOTkwLDk5MCw5OTAsNDk0LDYwNCw2MDQsNjA0LDYwNCwzNTQsMTAyMSwxMDUyLDkxNyw3NTAsNzUwLDUzMSw2NTYsNTk0LDUxMCw1MDAsNzUwLDc1MCw1MDAsNTAwLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMjIyLDIyMiwyOTQsMjk0LDMyNCwzMjQsMzE2LDMyOCwzOTgsMjg1XSxWYT1bLTEsLTEsLTEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOTAsOTEsOTIsOTMsOTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiwxMjMsMTI0LDEyNSwxMjYsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4NywxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5NiwxOTcsMTk4LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIxMSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywyMTgsMjE5LDIyMCwyMjEsMjIyLDIyMywyMjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LDIzNSwyMzYsMjM3LDIzOCwyMzksMjQwLDI0MSwyNDIsMjQzLDI0NCwyNDUsMjQ2LDI0NywyNDgsMjQ5LDI1MCwyNTEsMjUyLDI1MywyNTQsMjU1LDI1NiwyNTcsMjU4LDI1OSwyNjAsMjYxLDI2MiwyNjMsMjY0LDI2NSwyNjYsMjY3LDI2OCwyNjksMjcwLDI3MSwyNzIsMjczLDI3NCwyNzUsMjc2LDI3NywyNzgsMjc5LDI4MCwyODEsMjgyLDI4MywyODQsMjg1LDI4NiwyODcsMjg4LDI4OSwyOTAsMjkxLDI5MiwyOTMsMjk0LDI5NSwyOTYsMjk3LDI5OCwyOTksMzAwLDMwMSwzMDIsMzAzLDMwNCwzMDUsMzA2LDMwNywzMDgsMzA5LDMxMCwzMTEsMzEyLDMxMywzMTQsMzE1LDMxNiwzMTcsMzE4LDMxOSwzMjAsMzIxLDMyMiwzMjMsMzI0LDMyNSwzMjYsMzI3LDMyOCwzMjksMzMwLDMzMSwzMzIsMzMzLDMzNCwzMzUsMzM2LDMzNywzMzgsMzM5LDM0MCwzNDEsMzQyLDM0MywzNDQsMzQ1LDM0NiwzNDcsMzQ4LDM0OSwzNTAsMzUxLDM1MiwzNTMsMzU0LDM1NSwzNTYsMzU3LDM1OCwzNTksMzYwLDM2MSwzNjIsMzYzLDM2NCwzNjUsMzY2LDM2NywzNjgsMzY5LDM3MCwzNzEsMzcyLDM3MywzNzQsMzc1LDM3NiwzNzcsMzc4LDM3OSwzODAsMzgxLDM4MiwzODMsNDAyLDUwNiw1MDcsNTA4LDUwOSw1MTAsNTExLDUzNiw1MzcsNTM4LDUzOSw3MTAsNzExLDcxMyw3MjgsNzI5LDczMCw3MzEsNzMyLDczMyw5MDAsOTAxLDkwMiw5MDMsOTA0LDkwNSw5MDYsOTA4LDkxMCw5MTEsOTEyLDkxMyw5MTQsOTE1LDkxNiw5MTcsOTE4LDkxOSw5MjAsOTIxLDkyMiw5MjMsOTI0LDkyNSw5MjYsOTI3LDkyOCw5MjksOTMxLDkzMiw5MzMsOTM0LDkzNSw5MzYsOTM3LDkzOCw5MzksOTQwLDk0MSw5NDIsOTQzLDk0NCw5NDUsOTQ2LDk0Nyw5NDgsOTQ5LDk1MCw5NTEsOTUyLDk1Myw5NTQsOTU1LDk1Niw5NTcsOTU4LDk1OSw5NjAsOTYxLDk2Miw5NjMsOTY0LDk2NSw5NjYsOTY3LDk2OCw5NjksOTcwLDk3MSw5NzIsOTczLDk3NCwxMDI0LDEwMjUsMTAyNiwxMDI3LDEwMjgsMTAyOSwxMDMwLDEwMzEsMTAzMiwxMDMzLDEwMzQsMTAzNSwxMDM2LDEwMzcsMTAzOCwxMDM5LDEwNDAsMTA0MSwxMDQyLDEwNDMsMTA0NCwxMDQ1LDEwNDYsMTA0NywxMDQ4LDEwNDksMTA1MCwxMDUxLDEwNTIsMTA1MywxMDU0LDEwNTUsMTA1NiwxMDU3LDEwNTgsMTA1OSwxMDYwLDEwNjEsMTA2MiwxMDYzLDEwNjQsMTA2NSwxMDY2LDEwNjcsMTA2OCwxMDY5LDEwNzAsMTA3MSwxMDcyLDEwNzMsMTA3NCwxMDc1LDEwNzYsMTA3NywxMDc4LDEwNzksMTA4MCwxMDgxLDEwODIsMTA4MywxMDg0LDEwODUsMTA4NiwxMDg3LDEwODgsMTA4OSwxMDkwLDEwOTEsMTA5MiwxMDkzLDEwOTQsMTA5NSwxMDk2LDEwOTcsMTA5OCwxMDk5LDExMDAsMTEwMSwxMTAyLDExMDMsMTEwNCwxMTA1LDExMDYsMTEwNywxMTA4LDExMDksMTExMCwxMTExLDExMTIsMTExMywxMTE0LDExMTUsMTExNiwxMTE3LDExMTgsMTExOSwxMTM4LDExMzksMTE2OCwxMTY5LDc4MDgsNzgwOSw3ODEwLDc4MTEsNzgxMiw3ODEzLDc5MjIsNzkyMyw4MjA4LDgyMDksODIxMSw4MjEyLDgyMTMsODIxNSw4MjE2LDgyMTcsODIxOCw4MjE5LDgyMjAsODIyMSw4MjIyLDgyMjQsODIyNSw4MjI2LDgyMzAsODI0MCw4MjQyLDgyNDMsODI0OSw4MjUwLDgyNTIsODI1NCw4MjYwLDgzMTksODM1NSw4MzU2LDgzNTksODM2NCw4NDUzLDg0NjcsODQ3MCw4NDgyLDg0ODYsODQ5NCw4NTM5LDg1NDAsODU0MSw4NTQyLDg1OTIsODU5Myw4NTk0LDg1OTUsODU5Niw4NTk3LDg2MTYsODcwNiw4NzEwLDg3MTksODcyMSw4NzIyLDg3MzAsODczNCw4NzM1LDg3NDUsODc0Nyw4Nzc2LDg4MDAsODgwMSw4ODA0LDg4MDUsODk2Miw4OTc2LDg5OTIsODk5Myw5NDcyLDk0NzQsOTQ4NCw5NDg4LDk0OTIsOTQ5Niw5NTAwLDk1MDgsOTUxNiw5NTI0LDk1MzIsOTU1Miw5NTUzLDk1NTQsOTU1NSw5NTU2LDk1NTcsOTU1OCw5NTU5LDk1NjAsOTU2MSw5NTYyLDk1NjMsOTU2NCw5NTY1LDk1NjYsOTU2Nyw5NTY4LDk1NjksOTU3MCw5NTcxLDk1NzIsOTU3Myw5NTc0LDk1NzUsOTU3Niw5NTc3LDk1NzgsOTU3OSw5NTgwLDk2MDAsOTYwNCw5NjA4LDk2MTIsOTYxNiw5NjE3LDk2MTgsOTYxOSw5NjMyLDk2MzMsOTY0Miw5NjQzLDk2NDQsOTY1MCw5NjU4LDk2NjAsOTY2OCw5Njc0LDk2NzUsOTY3OSw5Njg4LDk2ODksOTcwMiw5Nzg2LDk3ODcsOTc4OCw5NzkyLDk3OTQsOTgyNCw5ODI3LDk4MjksOTgzMCw5ODM0LDk4MzUsOTgzNiw2MTQ0MSw2MTQ0Miw2MTQ0NSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMV0semE9WzEuMzY4OTgsMSwxLC43MjcwNiwuODA0NzksLjgzNzM0LC45ODg5NCwuOTk3OTMsLjk4OTcsLjkzODg0LC44NjIwOSwuOTQyOTIsLjk0MjkyLDEuMTY2NjEsMS4wMjA1OCwuOTM1ODIsLjk2Njk0LC45MzU4MiwxLjE5MTM3LC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuNzgwNzYsLjc4MDc2LDEuMDIwNTgsMS4wMjA1OCwxLjAyMDU4LC43Mjg1MSwuNzg5NjYsLjkwODM4LC44MzYzNywuODIzOTEsLjk2Mzc2LC44MDA2MSwuODYyNzUsLjg3NjgsLjk1NDA3LDEuMDI1OCwuNzM5MDEsLjg1MDIyLC44MzY1NSwxLjAxNTYsLjk1NTQ2LC45MjE3OSwuODcxMDcsLjkyMTc5LC44MjExNCwuODA5NiwuODk3MTMsLjk0NDM4LC45NTM1MywuOTQwODMsLjkxOTA1LC45MDQwNiwuOTQ0NiwuOTQyOTIsMS4xODc3NywuOTQyOTIsMS4wMjA1OCwuODk5MDMsLjkwMDg4LC45NDkzOCwuOTc4OTgsLjgxMDkzLC45NzU3MSwuOTQ5MzgsMS4wMjQsLjk1NzcsLjk1OTMzLC45ODYyMSwxLjA0NzQsLjk3NDU1LC45ODk4MSwuOTY3MiwuOTU5MzMsLjk0NDYsLjk3ODk4LC45NzQwNywuOTc2NDYsLjc4MDM2LDEuMTAyMDgsLjk1NDQyLC45NTI5OCwuOTc1NzksLjkzMzIsLjk0MDM5LC45MzgsLjgwNjg3LDEuMDExNDksLjgwNjg3LDEuMDIwNTgsLjgwNDc5LC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywxLjAxMTQ5LDEuMDA4NzIsLjkwMDg4LC45MTg4MiwxLjAyMTMsLjgzNjEsMS4wMjA1OCwuNjIyOTUsLjU0MzI0LC44OTAyMiwxLjA4NTk1LDEsMSwuOTAwODgsMSwuOTc0NTUsLjkzNTgyLC45MDA4OCwxLDEuMDU2ODYsLjgzNjEsLjk5NjQyLC45OTY0MiwuOTk2NDIsLjcyODUxLC45MDgzOCwuOTA4MzgsLjkwODM4LC45MDgzOCwuOTA4MzgsLjkwODM4LC44NjgsLjgyMzkxLC44MDA2MSwuODAwNjEsLjgwMDYxLC44MDA2MSwxLjAyNTgsMS4wMjU4LDEuMDI1OCwxLjAyNTgsLjk3NDg0LC45NTU0NiwuOTIxNzksLjkyMTc5LC45MjE3OSwuOTIxNzksLjkyMTc5LDEuMDIwNTgsLjkyMTc5LC45NDQzOCwuOTQ0MzgsLjk0NDM4LC45NDQzOCwuOTA0MDYsLjg2OTU4LC45ODIyNSwuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTAzMSwuODEwOTMsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45ODYyMSwuOTg2MjEsLjk4NjIxLC45ODYyMSwuOTM5NjksLjk1OTMzLC45NDQ2LC45NDQ2LC45NDQ2LC45NDQ2LC45NDQ2LDEuMDg1OTUsLjk0NDYsLjk1NDQyLC45NTQ0MiwuOTU0NDIsLjk1NDQyLC45NDAzOSwuOTc4OTgsLjk0MDM5LC45MDgzOCwuOTQ5MzgsLjkwODM4LC45NDkzOCwuOTA4MzgsLjk0OTM4LC44MjM5MSwuODEwOTMsLjgyMzkxLC44MTA5MywuODIzOTEsLjgxMDkzLC44MjM5MSwuODEwOTMsLjk2Mzc2LC44NDMxMywuOTc0ODQsLjk3NTcxLC44MDA2MSwuOTQ5MzgsLjgwMDYxLC45NDkzOCwuODAwNjEsLjk0OTM4LC44MDA2MSwuOTQ5MzgsLjgwMDYxLC45NDkzOCwuODc2OCwuOTU3NywuODc2OCwuOTU3NywuODc2OCwuOTU3NywxLDEsLjk1NDA3LC45NTkzMywuOTcwNjksLjk1OTMzLDEuMDI1OCwuOTg2MjEsMS4wMjU4LC45ODYyMSwxLjAyNTgsLjk4NjIxLDEuMDI1OCwuOTg2MjEsMS4wMjU4LC45ODYyMSwuODg3LDEuMDE1OTEsLjczOTAxLDEuMDQ3NCwxLDEsLjk3NDU1LC44MzY1NSwuOTg5ODEsMSwxLC44MzY1NSwuNzM5NzcsLjgzNjU1LC43MzkwMywuODQ2MzgsMS4wMzMsLjk1NTQ2LC45NTkzMywxLDEsLjk1NTQ2LC45NTkzMywuODI3MSwuOTU0MTcsLjk1OTMzLC45MjE3OSwuOTQ0NiwuOTIxNzksLjk0NDYsLjkyMTc5LC45NDQ2LC45MzYsLjkxOTY0LC44MjExNCwuOTc2NDYsMSwxLC44MjExNCwuOTc2NDYsLjgwOTYsLjc4MDM2LC44MDk2LC43ODAzNiwxLDEsLjgwOTYsLjc4MDM2LDEsMSwuODk3MTMsLjc3NDUyLC44OTcxMywxLjEwMjA4LC45NDQzOCwuOTU0NDIsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDA4MywuOTc1NzksLjkwNDA2LC45NDAzOSwuOTA0MDYsLjk0NDYsLjkzOCwuOTQ0NiwuOTM4LC45NDQ2LC45MzgsMSwuOTk3OTMsLjkwODM4LC45NDkzOCwuODY4LC45MDMxLC45MjE3OSwuOTQ0NiwxLDEsLjg5NzEzLDEuMTAyMDgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwOTg5LC45MzU4LC45MTk0NSwuODMxODEsLjc1MjYxLC44Nzk5MiwuODI5NzYsLjk2MDM0LC44MzY4OSwuOTcyNjgsMS4wMDc4LC45MDgzOCwuODM2MzcsLjgwMTksLjkwMTU3LC44MDA2MSwuOTQ0NiwuOTU0MDcsLjkyNDM2LDEuMDI1OCwuODUwMjIsLjk3MTUzLDEuMDE1NiwuOTU1NDYsLjg5MTkyLC45MjE3OSwuOTIzNjEsLjg3MTA3LC45NjMxOCwuODk3MTMsLjkzNzA0LC45NTYzOCwuOTE5MDUsLjkxNzA5LC45Mjc5NiwxLjAyNTgsLjkzNzA0LC45NDgzNiwxLjAzNzMsLjk1OTMzLDEuMDA3OCwuOTU4NzEsLjk0ODM2LC45NjE3NCwuOTI2MDEsLjk0OTgsLjk4NjA3LC45NTc3NiwuOTU5MzMsMS4wNTQ1MywxLjAwNzgsLjk4Mjc1LC45MzE0LC45NTYxNywuOTE3MDEsMS4wNTk5MywuOTQ0NiwuNzgzNjcsLjk1NTMsMSwuODY4MzIsMS4wMTI4LC45NTg3MSwuOTkzOTQsLjg3NTQ4LC45NjM2MSwuODY3NzQsMS4wMDc4LC45NTg3MSwuOTQ0NiwuOTU4NzEsLjg2Nzc0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk0MDgzLC45NzU3OSwuOTQwODMsLjk3NTc5LC45NDA4MywuOTc1NzksLjkwNDA2LC45NDAzOSwuOTY2OTQsMSwuODk5MDMsMSwxLDEsLjkzNTgyLC45MzU4MiwuOTM1ODIsMSwuOTA4LC45MDgsLjkxOCwuOTQyMTksLjk0MjE5LC45NjU0NCwxLDEuMjg1LDEsMSwuODEwNzksLjgxMDc5LDEsMSwuNzQ4NTQsMSwxLDEsMSwuOTk3OTMsMSwxLDEsLjY1LDEsMS4zNjE0NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4xNzE3MywxLC44MDUzNSwuNzYxNjksMS4wMjA1OCwxLjA3MzIsMS4wNTQ4NiwxLDEsMS4zMDY5MiwxLjA4NTk1LDEuMDg1OTUsMSwxLjA4NTk1LDEuMDg1OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjE2MTYxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLF9hPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSwkYT1bMS4zNjg5OCwxLDEsLjY2MjI3LC44MDc3OSwuODE2MjUsLjk3Mjc2LC45NzI3NiwuOTc3MzMsLjkyMjIyLC44MzI2NiwuOTQyOTIsLjk0MjkyLDEuMTYxNDgsMS4wMjA1OCwuOTM1ODIsLjk2Njk0LC45MzU4MiwxLjE3MzM3LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuNzgwNzYsLjc4MDc2LDEuMDIwNTgsMS4wMjA1OCwxLjAyMDU4LC43MTU0MSwuNzY4MTMsLjg1NTc2LC44MDU5MSwuODA3MjksLjk0Mjk5LC43NzUxMiwuODM2NTUsLjg2NTIzLC45MjIyMiwuOTg2MjEsLjcxNzQzLC44MTY5OCwuNzk3MjYsLjk4NTU4LC45MjIyMiwuOTA2MzcsLjgzODA5LC45MDYzNywuODA3MjksLjc2NDYzLC44NjI3NSwuOTA2OTksLjkxNjA1LC45MTU0LC44NTMwOCwuODU0NTgsLjkwNTMxLC45NDI5MiwxLjIxMjk2LC45NDI5MiwxLjAyMDU4LC44OTkwMywxLjE4NjE2LC45OTYxMywuOTE2NzcsLjc4MjE2LC45MTY3NywuOTAwODMsLjk4Nzk2LC45MTM1LC45MjE2OCwuOTUzODEsLjk4OTgxLC45NTI5OCwuOTUzODEsLjkzNDU5LC45MjE2OCwuOTE1MTMsLjkyMDA0LC45MTY3NywuOTUwNzcsLjc0OCwxLjA0NTAyLC45MTY3NywuOTIwNjEsLjk0MjM2LC44OTU0NCwuODkzNjQsLjksLjgwNjg3LC44NTc4LC44MDY4NywxLjAyMDU4LC44MDc3OSwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjg1NzgsLjk5OTczLDEuMTg2MTYsLjkxMzM5LDEuMDgwNzQsLjgyODkxLDEuMDIwNTgsLjU1NTA5LC43MTUyNiwuODkwMjIsMS4wODU5NSwxLDEsMS4xODYxNiwxLC45NjczNiwuOTM1ODIsMS4xODYxNiwxLDEuMDQ4NjQsLjgyNzExLC45OTA0MywuOTkwNDMsLjk5MDQzLC43MTU0MSwuODU1NzYsLjg1NTc2LC44NTU3NiwuODU1NzYsLjg1NTc2LC44NTU3NiwuODQ1LC44MDcyOSwuNzc1MTIsLjc3NTEyLC43NzUxMiwuNzc1MTIsLjk4NjIxLC45ODYyMSwuOTg2MjEsLjk4NjIxLC45NTk2MSwuOTIyMjIsLjkwNjM3LC45MDYzNywuOTA2MzcsLjkwNjM3LC45MDYzNywxLjAyMDU4LC45MDI1MSwuOTA2OTksLjkwNjk5LC45MDY5OSwuOTA2OTksLjg1NDU4LC44MzY1OSwuOTQ5NTEsLjk5NjEzLC45OTYxMywuOTk2MTMsLjk5NjEzLC45OTYxMywuOTk2MTMsLjg1ODExLC43ODIxNiwuOTAwODMsLjkwMDgzLC45MDA4MywuOTAwODMsLjk1MzgxLC45NTM4MSwuOTUzODEsLjk1MzgxLC45MTM1LC45MjE2OCwuOTE1MTMsLjkxNTEzLC45MTUxMywuOTE1MTMsLjkxNTEzLDEuMDg1OTUsLjkxNjc3LC45MTY3NywuOTE2NzcsLjkxNjc3LC45MTY3NywuODkzNjQsLjkyMzMyLC44OTM2NCwuODU1NzYsLjk5NjEzLC44NTU3NiwuOTk2MTMsLjg1NTc2LC45OTYxMywuODA3MjksLjc4MjE2LC44MDcyOSwuNzgyMTYsLjgwNzI5LC43ODIxNiwuODA3MjksLjc4MjE2LC45NDI5OSwuNzY3ODMsLjk1OTYxLC45MTY3NywuNzc1MTIsLjkwMDgzLC43NzUxMiwuOTAwODMsLjc3NTEyLC45MDA4MywuNzc1MTIsLjkwMDgzLC43NzUxMiwuOTAwODMsLjg2NTIzLC45MTM1LC44NjUyMywuOTEzNSwuODY1MjMsLjkxMzUsMSwxLC45MjIyMiwuOTIxNjgsLjkyMjIyLC45MjE2OCwuOTg2MjEsLjk1MzgxLC45ODYyMSwuOTUzODEsLjk4NjIxLC45NTM4MSwuOTg2MjEsLjk1MzgxLC45ODYyMSwuOTUzODEsLjg2MDM2LC45NzA5NiwuNzE3NDMsLjk4OTgxLDEsMSwuOTUyOTgsLjc5NzI2LC45NTM4MSwxLDEsLjc5NzI2LC42ODk0LC43OTcyNiwuNzQzMjEsLjgxNjkxLDEuMDAwNiwuOTIyMjIsLjkyMTY4LDEsMSwuOTIyMjIsLjkyMTY4LC43OTQ2NCwuOTIwOTgsLjkyMTY4LC45MDYzNywuOTE1MTMsLjkwNjM3LC45MTUxMywuOTA2MzcsLjkxNTEzLC45MDksLjg3NTE0LC44MDcyOSwuOTUwNzcsMSwxLC44MDcyOSwuOTUwNzcsLjc2NDYzLC43NDgsLjc2NDYzLC43NDgsMSwxLC43NjQ2MywuNzQ4LDEsMSwuODYyNzUsLjcyNjUxLC44NjI3NSwxLjA0NTAyLC45MDY5OSwuOTE2NzcsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MTU0LC45NDIzNiwuODU0NTgsLjg5MzY0LC44NTQ1OCwuOTA1MzEsLjksLjkwNTMxLC45LC45MDUzMSwuOSwxLC45NzI3NiwuODU1NzYsLjk5NjEzLC44NDUsLjg1ODExLC45MDI1MSwuOTE2NzcsMSwxLC44NjI3NSwxLjA0NTAyLDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMDA4OTksMS4zMDYyOCwuODU1NzYsLjgwMTc4LC42Njg2MiwuNzkyNywuNjkzMjMsLjg4MTI3LC43MjQ1OSwuODk3MTEsLjk1MzgxLC44NTU3NiwuODA1OTEsLjc4MDUsLjk0NzI5LC43NzUxMiwuOTA1MzEsLjkyMjIyLC45MDYzNywuOTg2MjEsLjgxNjk4LC45MjY1NSwuOTg1NTgsLjkyMjIyLC44NTM1OSwuOTA2MzcsLjkwOTc2LC44MzgwOSwuOTQ1MjMsLjg2Mjc1LC44MzUwOSwuOTMxNTcsLjg1MzA4LC44MzM5MiwuOTIzNDYsLjk4NjIxLC44MzUwOSwuOTI4ODYsLjkxMzI0LC45MjE2OCwuOTUzODEsLjkwNjQ2LC45Mjg4NiwuOTA1NTcsLjg2ODQ3LC45MDI3NiwuOTEzMjQsLjg2ODQyLC45MjE2OCwuOTk1MzEsLjk1MzgxLC45MjI0LC44NTQwOCwuOTI2OTksLjg2ODQ3LDEuMDA1MSwuOTE1MTMsLjgwNDg3LC45MzQ4MSwxLC44ODE1OSwxLjA1MjE0LC45MDY0NiwuOTczNTUsLjgxNTM5LC44OTM5OCwuODU5MjMsLjk1MzgxLC45MDY0NiwuOTE1MTMsLjkwNjQ2LC44NTkyMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MTU0LC45NDIzNiwuOTE1NCwuOTQyMzYsLjkxNTQsLjk0MjM2LC44NTQ1OCwuODkzNjQsLjk2Njk0LDEsLjg5OTAzLDEsMSwxLC45MTc4MiwuOTE3ODIsLjkxNzgyLDEsLjg5NiwuODk2LC44OTYsLjkzMzIsLjkzMzIsLjk1OTczLDEsMS4yNiwxLDEsLjgwNDc5LC44MDE3OCwxLDEsLjg1NjMzLDEsMSwxLDEsLjk3Mjc2LDEsMSwxLC42OTgsMSwxLjM2MTQ1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjE0NTQyLDEsLjc5MTk5LC43ODY5NCwxLjAyMDU4LDEuMDM0OTMsMS4wNTQ4NiwxLDEsMS4yMzAyNiwxLjA4NTk1LDEuMDg1OTUsMSwxLjA4NTk1LDEuMDg1OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjIwMDA2LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLEFzPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSxlcz1bMS4zNjg5OCwxLDEsLjY1NTA3LC44NDk0MywuODU2MzksLjg4NDY1LC44ODQ2NSwuODY5MzYsLjg4MzA3LC44Njk0OCwuODUyODMsLjg1MjgzLDEuMDYzODMsMS4wMjA1OCwuNzU5NDUsLjkyMTksLjc1OTQ1LDEuMTczMzcsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC43NTk0NSwuNzU5NDUsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjY5MDQ2LC43MDkyNiwuODUxNTgsLjc3ODEyLC43Njg1MiwuODk1OTEsLjcwNDY2LC43NjEyNSwuODAwOTQsLjg2ODIyLC44Mzg2NCwuNzI4LC43NzIxMiwuNzk0NzUsLjkzNjM3LC44NzUxNCwuODU4OCwuNzYwMTMsLjg1ODgsLjcyNDIxLC42OTg2NiwuNzc1OTgsLjg1OTkxLC44MDgxMSwuODc4MzIsLjc4MTEyLC43NzUxMiwuODU2MiwxLjAyMjIsMS4xODQxNywxLjAyMjIsMS4yNzAxNCwuODk5MDMsMS4xNTAxMiwuOTM4NTksLjk0Mzk5LC44NDYsLjk0Mzk5LC44MTQ1MywxLjAxODYsLjk0MjE5LC45NjAxNywxLjAzMDc1LDEuMDIxNzUsLjkxMiwxLjAzMDc1LC45Njk5OCwuOTYwMTcsLjkzODU5LC45NDM5OSwuOTQzOTksLjk1NDkzLC43NDYsMS4xMjY1OCwuOTQ1NzgsLjkxLC45NzksLjg4MiwuODgyLC44MywuODUwMzQsLjgzNTM3LC44NTAzNCwxLjAyMDU4LC43MDg2OSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjgzNTM3LC45MDA4MywxLjE1MDEyLC45MTYxLC45NDU2NSwuNzM1NDEsMS4wMjA1OCwuNTM2MDksLjY5MzUzLC43OTUxOSwxLjA4NTk1LDEsMSwxLjE1MDEyLDEsLjkxOTc0LC43NTk0NSwxLjE1MDEyLDEsLjk0NDYsLjczMzYxLC45MDA1LC45MDA1LC45MDA1LC42Mjg2NCwuODUxNTgsLjg1MTU4LC44NTE1OCwuODUxNTgsLjg1MTU4LC44NTE1OCwuNzczLC43Njg1MiwuNzA0NjYsLjcwNDY2LC43MDQ2NiwuNzA0NjYsLjgzODY0LC44Mzg2NCwuODM4NjQsLjgzODY0LC45MDU2MSwuODc1MTQsLjg1ODgsLjg1ODgsLjg1ODgsLjg1ODgsLjg1ODgsMS4wMjA1OCwuODU3NTEsLjg1OTkxLC44NTk5MSwuODU5OTEsLjg1OTkxLC43NzUxMiwuNzYwMTMsLjg4MDc1LC45Mzg1OSwuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LC44MDc1LC44NDYsLjgxNDUzLC44MTQ1MywuODE0NTMsLjgxNDUzLC44MjQyNCwuODI0MjQsLjgyNDI0LC44MjQyNCwuOTI3OCwuOTYwMTcsLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LC45Mzg1OSwxLjA4NTk1LC44NTYyLC45NDU3OCwuOTQ1NzgsLjk0NTc4LC45NDU3OCwuODgyLC45NDU3OCwuODgyLC44NTE1OCwuOTM4NTksLjg1MTU4LC45Mzg1OSwuODUxNTgsLjkzODU5LC43Njg1MiwuODQ2LC43Njg1MiwuODQ2LC43Njg1MiwuODQ2LC43Njg1MiwuODQ2LC44OTU5MSwuODU0NCwuOTA1NjEsLjk0Mzk5LC43MDQ2NiwuODE0NTMsLjcwNDY2LC44MTQ1MywuNzA0NjYsLjgxNDUzLC43MDQ2NiwuODE0NTMsLjcwNDY2LC44MTQ1MywuODAwOTQsLjk0MjE5LC44MDA5NCwuOTQyMTksLjgwMDk0LC45NDIxOSwxLDEsLjg2ODIyLC45NjAxNywuODY4MjIsLjk2MDE3LC44Mzg2NCwuODI0MjQsLjgzODY0LC44MjQyNCwuODM4NjQsLjgyNDI0LC44Mzg2NCwxLjAzMDc1LC44Mzg2NCwuODI0MjQsLjgxNDAyLDEuMDI3MzgsLjcyOCwxLjAyMTc1LDEsMSwuOTEyLC43OTQ3NSwxLjAzMDc1LDEsMSwuNzk0NzUsLjgzOTExLC43OTQ3NSwuNjYyNjYsLjgwNTUzLDEuMDY2NzYsLjg3NTE0LC45NjAxNywxLDEsLjg3NTE0LC45NjAxNywuODY4NjUsLjg3Mzk2LC45NjAxNywuODU4OCwuOTM4NTksLjg1ODgsLjkzODU5LC44NTg4LC45Mzg1OSwuODY3LC44NDc1OSwuNzI0MjEsLjk1NDkzLDEsMSwuNzI0MjEsLjk1NDkzLC42OTg2NiwuNzQ2LC42OTg2NiwuNzQ2LDEsMSwuNjk4NjYsLjc0NiwxLDEsLjc3NTk4LC44ODQxNywuNzc1OTgsMS4xMjY1OCwuODU5OTEsLjk0NTc4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODc4MzIsLjk3OSwuNzc1MTIsLjg4MiwuNzc1MTIsLjg1NjIsLjgzLC44NTYyLC44MywuODU2MiwuODMsMSwuODg0NjUsLjg1MTU4LC45Mzg1OSwuNzczLC44MDc1LC44NTc1MSwuODU2MiwxLDEsLjc3NTk4LDEuMTI2NTgsMS4xNTAxMiwxLjE1MDEyLDEuMTUwMTIsMS4xNTAxMiwxLjE1MDEyLDEuMTUzMTMsMS4xNTAxMiwxLjE1MDEyLDEuMTUwMTIsMS4wODEwNiwxLjAzOTAxLC44NTE1OCwuNzcwMjUsLjYyMjY0LC43NjQ2LC42NTM1MSwuODYwMjYsLjY5NDYxLC44OTk0NywxLjAzMDc1LC44NTE1OCwuNzc4MTIsLjc2NDQ5LC44ODgzNiwuNzA0NjYsLjg1NjIsLjg2ODIyLC44NTg4LC44Mzg2NCwuNzcyMTIsLjg1MzA4LC45MzYzNywuODc1MTQsLjgyMzUyLC44NTg4LC44NTcwMSwuNzYwMTMsLjg5MDU4LC43NzU5OCwuODE1NiwuODI1NjUsLjc4MTEyLC43Nzg5OSwuODkzODYsLjgzODY0LC44MTU2LC45NDg2LC45MjM4OCwuOTYxODYsMS4wMzA3NSwuOTExMjMsLjk0ODYsLjkzMjk4LC44NzgsLjkzOTQyLC45MjM4OCwuODQ1OTYsLjk2MTg2LC45NTExOSwxLjAzMDc1LC45MjIsLjg4Nzg3LC45NTgyOSwuODgsLjkzNTU5LC45Mzg1OSwuNzg4MTUsLjkzNzU4LDEsLjg5MjE3LDEuMDM3MzcsLjkxMTIzLC45Mzk2OSwuNzc0ODcsLjg1NzY5LC44Njc5OSwxLjAzMDc1LC45MTEyMywuOTM4NTksLjkxMTIzLC44Njc5OSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44NzgzMiwuOTc5LC44NzgzMiwuOTc5LC44NzgzMiwuOTc5LC43NzUxMiwuODgyLC45MjE5LDEsLjg5OTAzLDEsMSwxLC44NzMyMSwuODczMjEsLjg3MzIxLDEsMS4wMjcsMS4wMjcsMS4wMjcsLjg2ODQ3LC44Njg0NywuNzkxMjEsMSwxLjEyNCwxLDEsLjczNTcyLC43MzU3MiwxLDEsLjg1MDM0LDEsMSwxLDEsLjg4NDY1LDEsMSwxLC42NjksMSwxLjM2MTQ1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA0ODI4LDEsLjc0OTQ4LC43NTE4NywxLjAyMDU4LC45ODM5MSwxLjAyMTE5LDEsMSwxLjA2MjMzLDEuMDg1OTUsMS4wODU5NSwxLDEuMDg1OTUsMS4wODU5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDUyMzMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sdHM9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LGlzPVsxLjM2ODk4LDEsMSwuNzYzMDUsLjgyNzg0LC45NDkzNSwuODkzNjQsLjkyMjQxLC44OTA3MywuOTA3MDYsLjk4NDcyLC44NTI4MywuODUyODMsMS4wNjY0LDEuMDIwNTgsLjc0NTA1LC45MjE5LC43NDUwNSwxLjIzNDU2LC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuNzQ1MDUsLjc0NTA1LDEuMDIwNTgsMS4wMjA1OCwxLjAyMDU4LC43MzAwMiwuNzI2MDEsLjkxNzU1LC44MTI2LC44MDMxNCwuOTIyMjIsLjczNzY0LC43OTcyNiwuODMwNTEsLjkwMjg0LC44NjAyMywuNzQsLjgxMjYsLjg0ODY5LC45NjUxOCwuOTExMTUsLjg4NTgsLjc5NzYxLC44ODU4LC43NDQ5OCwuNzM5MTQsLjgxMzYzLC44OTU5MSwuODM2NTksLjg5NjMzLC44NTYwOCwuODExMSwuOTA1MzEsMS4wMjIyLDEuMjI3MzYsMS4wMjIyLDEuMjcwMTQsLjg5OTAzLC45MDA4OCwuODY2NjcsMS4wMjMxLC44OTYsMS4wMTQxMSwuOTAwODMsMS4wNTA5OSwxLjAwNTEyLC45OTc5MywxLjA1MzI2LDEuMDkzNzcsLjkzOCwxLjA2MjI2LDEuMDAxMTksLjk5NzkzLC45ODcxNCwxLjAyMzEsMS4wMTIzMSwuOTgxOTYsLjc5MiwxLjE5MTM3LC45OTA3NCwuOTYyLDEuMDE5MTUsLjkyNiwuOTQyLC44NTYsLjg1MDM0LC45MjAwNiwuODUwMzQsMS4wMjA1OCwuNjkwNjcsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjAwNiwuOTMzMiwuOTAwODgsLjkxODgyLC45MzQ4NCwuNzUzMzksMS4wMjA1OCwuNTY4NjYsLjU0MzI0LC43OTUxOSwxLjA4NTk1LDEsMSwuOTAwODgsMSwuOTUzMjUsLjc0NTA1LC45MDA4OCwxLC45NzE5OCwuNzUzMzksLjkxMDA5LC45MTAwOSwuOTEwMDksLjY2NDY2LC45MTc1NSwuOTE3NTUsLjkxNzU1LC45MTc1NSwuOTE3NTUsLjkxNzU1LC43ODgsLjgwMzE0LC43Mzc2NCwuNzM3NjQsLjczNzY0LC43Mzc2NCwuODYwMjMsLjg2MDIzLC44NjAyMywuODYwMjMsLjkyOTE1LC45MTExNSwuODg1OCwuODg1OCwuODg1OCwuODg1OCwuODg1OCwxLjAyMDU4LC44ODU4LC44OTU5MSwuODk1OTEsLjg5NTkxLC44OTU5MSwuODExMSwuNzk2MTEsLjg5NzEzLC44NjY2NywuODY2NjcsLjg2NjY3LC44NjY2NywuODY2NjcsLjg2NjY3LC44NjkzNiwuODk2LC45MDA4MywuOTAwODMsLjkwMDgzLC45MDA4MywuODQyMjQsLjg0MjI0LC44NDIyNCwuODQyMjQsLjk3Mjc2LC45OTc5MywuOTg3MTQsLjk4NzE0LC45ODcxNCwuOTg3MTQsLjk4NzE0LDEuMDg1OTUsLjg5ODc2LC45OTA3NCwuOTkwNzQsLjk5MDc0LC45OTA3NCwuOTQyLDEuMDIzMSwuOTQyLC45MTc1NSwuODY2NjcsLjkxNzU1LC44NjY2NywuOTE3NTUsLjg2NjY3LC44MDMxNCwuODk2LC44MDMxNCwuODk2LC44MDMxNCwuODk2LC44MDMxNCwuODk2LC45MjIyMiwuOTMzNzIsLjkyOTE1LDEuMDE0MTEsLjczNzY0LC45MDA4MywuNzM3NjQsLjkwMDgzLC43Mzc2NCwuOTAwODMsLjczNzY0LC45MDA4MywuNzM3NjQsLjkwMDgzLC44MzA1MSwxLjAwNTEyLC44MzA1MSwxLjAwNTEyLC44MzA1MSwxLjAwNTEyLDEsMSwuOTAyODQsLjk5NzkzLC45MDk3NiwuOTk3OTMsLjg2MDIzLC44NDIyNCwuODYwMjMsLjg0MjI0LC44NjAyMywuODQyMjQsLjg2MDIzLDEuMDUzMjYsLjg2MDIzLC44NDIyNCwuODI4NzMsMS4wNzQ2OSwuNzQsMS4wOTM3NywxLDEsLjkzOCwuODQ4NjksMS4wNjIyNiwxLDEsLjg0ODY5LC44MzcwNCwuODQ4NjksLjgxNDQxLC44NTU4OCwxLjA4OTI3LC45MTExNSwuOTk3OTMsMSwxLC45MTExNSwuOTk3OTMsLjkxODg3LC45MDk5MSwuOTk3OTMsLjg4NTgsLjk4NzE0LC44ODU4LC45ODcxNCwuODg1OCwuOTg3MTQsLjg5NCwuOTE0MzQsLjc0NDk4LC45ODE5NiwxLDEsLjc0NDk4LC45ODE5NiwuNzM5MTQsLjc5MiwuNzM5MTQsLjc5MiwxLDEsLjczOTE0LC43OTIsMSwxLC44MTM2MywuOTA0LC44MTM2MywxLjE5MTM3LC44OTU5MSwuOTkwNzQsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTYzMywxLjAxOTE1LC44MTExLC45NDIsLjgxMTEsLjkwNTMxLC44NTYsLjkwNTMxLC44NTYsLjkwNTMxLC44NTYsMSwuOTIyNDEsLjkxNzU1LC44NjY2NywuNzg4LC44NjkzNiwuODg1OCwuODk4NzYsMSwxLC44MTM2MywxLjE5MTM3LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDM4OCwxLjAzOTAxLC45MjEzOCwuNzgxMDUsLjcxNTQsLjg2MTY5LC44MDUxMywuOTQwMDcsLjgyNTI4LC45ODYxMiwxLjA2MjI2LC45MTc1NSwuODEyNiwuODE4ODQsLjkyODE5LC43Mzc2NCwuOTA1MzEsLjkwMjg0LC44ODU4LC44NjAyMywuODEyNiwuOTExNzIsLjk2NTE4LC45MTExNSwuODMwODksLjg4NTgsLjg3NzkxLC43OTc2MSwuODkyOTcsLjgxMzYzLC44ODE1NywuODk5OTIsLjg1NjA4LC44MTk5MiwuOTQzMDcsLjg2MDIzLC44ODE1NywuOTUzMDgsLjk4Njk5LC45OTc5MywxLjA2MjI2LC45NTgxNywuOTUzMDgsLjk3MzU4LC45MjgsLjk4MDg4LC45ODY5OSwuOTI3NjEsLjk5NzkzLC45NjAxNywxLjA2MjI2LC45ODYsLjk0NCwuOTU5NzgsLjkzOCwuOTY3MDUsLjk4NzE0LC44MDQ0MiwuOTg5NzIsMSwuODk3NjIsMS4wNDU1MiwuOTU4MTcsLjk5MDA3LC44NzA2NCwuOTE4NzksLjg4ODg4LDEuMDYyMjYsLjk1ODE3LC45ODcxNCwuOTU4MTcsLjg4ODg4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg5NjMzLDEuMDE5MTUsLjg5NjMzLDEuMDE5MTUsLjg5NjMzLDEuMDE5MTUsLjgxMTEsLjk0MiwuOTIxOSwxLC44OTkwMywxLDEsMSwuOTMxNzMsLjkzMTczLC45MzE3MywxLDEuMDYzMDQsMS4wNjMwNCwxLjA2OTA0LC44OTkwMywuODk5MDMsLjgwNTQ5LDEsMS4xNTYsMSwxLC43NjU3NSwuNzY1NzUsMSwxLC43MjQ1OCwxLDEsMSwxLC45MjI0MSwxLDEsMSwuNjE5LDEsMS4zNjE0NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNzI1NywxLC43NDcwNSwuNzExMTksMS4wMjA1OCwxLjAyNCwxLjAyMTE5LDEsMSwxLjE1MzYsMS4wODU5NSwxLjA4NTk1LDEsMS4wODU5NSwxLjA4NTk1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNTYzOCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxhcz17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sc3M9WzEuNzY3MzgsMSwxLC45OTI5NywuOTgyNCwxLjA0MDE2LDEuMDY0OTcsMS4wMzQyNCwuOTc1MjksMS4xNzY0NywxLjIzMjAzLDEuMTA4NSwxLjEwODUsMS4xNjkzOSwxLjIxMDcsLjk3NTQsMS4yMTQwOCwuOTc1NCwxLjU5NTc4LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsLjgxMzc4LC44MTM3OCwxLjIxMDcsMS4yMTA3LDEuMjEwNywuNzE3MDMsLjk3ODQ3LC45NzM2MywuODg3NzYsLjg2NDEsMS4wMjA5NiwuNzk3OTUsLjg1MTMyLC45MTQsMS4wNjA4NSwxLjE0MDYsLjgwMDcsLjg5ODU4LC44MzY5MywxLjE0ODg5LDEuMDkzOTgsLjk3NDg5LC45MjA5NCwuOTc0ODksLjkwMzk5LC44NDA0MSwuOTU5MjMsMS4wMDEzNSwxLDEuMDY0NjcsLjk4MjQzLC45MDk5NiwuOTkzNjEsMS4xMDg1LDEuNTY5NDIsMS4xMDg1LDEuMjEwNywuNzQ2MjcsLjk0MjgyLC45Njc1MiwxLjAxNTE5LC44NjMwNCwxLjAxMzU5LC45NzI3OCwxLjE1MTAzLDEuMDEzNTksLjk4NTYxLDEuMDIyODUsMS4wMjI4NSwxLjAwNTI3LDEuMDIyODUsMS4wMzAyLC45OTA0MSwxLjAwMDgsMS4wMTUxOSwxLjAxMzU5LDEuMDIyNTgsLjc5MTA0LDEuMTY4NjIsLjk5MDQxLC45NzQ1NCwxLjAyNTExLC45OTI5OCwuOTY3NTIsLjk1ODAxLC45NDg1NiwxLjE2NTc5LC45NDg1NiwxLjIxMDcsLjk4MjQsMS4wMzQyNCwxLjAzNDI0LDEsMS4wMzQyNCwxLjE2NTc5LC44NzI3LDEuMzg3MSwxLjE4NjIyLDEuMTA4MTgsMS4wNDQ3OCwxLjIxMDcsMS4xODYyMiwuNzUxNTUsLjk0OTk0LDEuMjg4MjYsMS4yMTQwOCwxLjIxNDA4LC45MTA1NiwxLC45MTU3MiwuOTc1NCwuNjQ2NjMsMS4xODMyOCwxLjI0ODY2LDEuMDQ0NzgsMS4xNDE2OSwxLjE1NzQ5LDEuMTczODksLjcxNzAzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45MzUwNiwuODY0MSwuNzk3OTUsLjc5Nzk1LC43OTc5NSwuNzk3OTUsMS4xNDA2LDEuMTQwNiwxLjE0MDYsMS4xNDA2LDEuMDIwOTYsMS4wOTM5OCwuOTc0MjYsLjk3NDI2LC45NzQyNiwuOTc0MjYsLjk3NDI2LDEuMjEwNywuOTc0ODksMS4wMDEzNSwxLjAwMTM1LDEuMDAxMzUsMS4wMDEzNSwuOTA5OTYsLjkyMDk0LDEuMDI3OTgsLjk2NzUyLC45Njc1MiwuOTY3NTIsLjk2NzUyLC45Njc1MiwuOTY3NTIsLjkzMTM2LC44NjMwNCwuOTcyNzgsLjk3Mjc4LC45NzI3OCwuOTcyNzgsMS4wMjI4NSwxLjAyMjg1LDEuMDIyODUsMS4wMjI4NSwuOTcxMjIsLjk5MDQxLDEsMSwxLDEsMSwxLjI4ODI2LDEuMDAwOCwuOTkwNDEsLjk5MDQxLC45OTA0MSwuOTkwNDEsLjk2NzUyLDEuMDE1MTksLjk2NzUyLC45NzM2MywuOTY3NTIsLjk3MzYzLC45Njc1MiwuOTczNjMsLjk2NzUyLC44NjQxLC44NjMwNCwuODY0MSwuODYzMDQsLjg2NDEsLjg2MzA0LC44NjQxLC44NjMwNCwxLjAyMDk2LDEuMDMwNTcsMS4wMjA5NiwxLjAzNTE3LC43OTc5NSwuOTcyNzgsLjc5Nzk1LC45NzI3OCwuNzk3OTUsLjk3Mjc4LC43OTc5NSwuOTcyNzgsLjc5Nzk1LC45NzI3OCwuOTE0LDEuMDEzNTksLjkxNCwxLjAxMzU5LC45MTQsMS4wMTM1OSwxLDEsMS4wNjA4NSwuOTg1NjEsMS4wNjA4NSwxLjAwODc5LDEuMTQwNiwxLjAyMjg1LDEuMTQwNiwxLjAyMjg1LDEuMTQwNiwxLjAyMjg1LDEuMTQwNiwxLjAyMjg1LDEuMTQwNiwxLjAyMjg1LC45NzEzOCwxLjA4NjkyLC44MDA3LDEuMDIyODUsMSwxLDEuMDA1MjcsLjgzNjkzLDEuMDIyODUsMSwxLC44MzY5MywuOTQ1NSwuODM2OTMsLjkwNDE4LC44MzY5MywxLjEzMDA1LDEuMDkzOTgsLjk5MDQxLDEsMSwxLjA5Mzk4LC45OTA0MSwuOTY2OTIsMS4wOTI1MSwuOTkwNDEsLjk3NDg5LDEuMDAwOCwuOTc0ODksMS4wMDA4LC45NzQ4OSwxLjAwMDgsLjkzOTk0LC45NzkzMSwuOTAzOTksMS4wMjI1OCwxLDEsLjkwMzk5LDEuMDIyNTgsLjg0MDQxLC43OTEwNCwuODQwNDEsLjc5MTA0LC44NDA0MSwuNzkxMDQsLjg0MDQxLC43OTEwNCwxLDEsLjk1OTIzLDEuMDcwMzQsLjk1OTIzLDEuMTY4NjIsMS4wMDEzNSwuOTkwNDEsMS4wMDEzNSwuOTkwNDEsMS4wMDEzNSwuOTkwNDEsMS4wMDEzNSwuOTkwNDEsMS4wMDEzNSwuOTkwNDEsMS4wMDEzNSwuOTkwNDEsMS4wNjQ2NywxLjAyNTExLC45MDk5NiwuOTY3NTIsLjkwOTk2LC45OTM2MSwuOTU4MDEsLjk5MzYxLC45NTgwMSwuOTkzNjEsLjk1ODAxLDEuMDc3MzMsMS4wMzQyNCwuOTczNjMsLjk2NzUyLC45MzUwNiwuOTMxMzYsLjk3NDg5LDEuMDAwOCwxLDEsLjk1OTIzLDEuMTY4NjIsMS4xNTEwMywxLjE1MTAzLDEuMDExNzMsMS4wMzk1OSwuNzU5NTMsLjgxMzc4LC43OTkxMiwxLjE1MTAzLDEuMjE5OTQsLjk1MTYxLC44NzgxNSwxLjAxMTQ5LC44MTUyNSwuNzY3NiwuOTgxNjcsMS4wMTEzNCwxLjAyNTQ2LC44NDA5NywxLjAzMDg5LDEuMTgxMDIsLjk3MzYzLC44ODc3NiwuODUxMzQsLjk3ODI2LC43OTc5NSwuOTkzNjEsMS4wNjA4NSwuOTc0ODksMS4xNDA2LC44OTg1OCwxLjAzODgsMS4xNDg4OSwxLjA5Mzk4LC44NjAzOSwuOTc0ODksMS4wNTk1LC45MjA5NCwuOTQ3OTMsLjk1OTIzLC45MDk5NiwuOTkzNDYsLjk4MjQzLDEuMDIxMTIsLjk1NDkzLDEuMTQwNiwuOTA5OTYsMS4wMzU3NCwxLjAyNTk3LDEuMDAwOCwxLjE4MTAyLDEuMDY2MjgsMS4wMzU3NCwxLjAxOTIsMS4wMTkzMiwxLjAwODg2LC45NzUzMSwxLjAxMDYsMS4wMDA4LDEuMTMxODksMS4xODEwMiwxLjAyMjc3LC45ODY4MywxLjAwMTYsLjk5NTYxLDEuMDcyMzcsMS4wMDA4LC45MDQzNCwuOTk5MjEsLjkzODAzLC44OTY1LDEuMjMwODUsMS4wNjYyOCwxLjA0OTgzLC45NjI2OCwxLjA0OTksLjk4NDM5LDEuMTgxMDIsMS4wNjYyOCwxLjAwMDgsMS4wNjYyOCwuOTg0MzksLjc5Nzk1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDk0NjYsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk3Mjc4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDIwNjUsMSwxLDEsMSwxLDEsMS4wNjQ2NywxLjAyNTExLDEuMDY0NjcsMS4wMjUxMSwxLjA2NDY3LDEuMDI1MTEsLjkwOTk2LC45Njc1MiwxLDEuMjE0MDgsLjg5OTAzLDEsMSwuNzUxNTUsMS4wNDM5NCwxLjA0Mzk0LDEuMDQzOTQsMS4wNDM5NCwuOTg2MzMsLjk4NjMzLC45ODYzMywuNzMwNDcsLjczMDQ3LDEuMjA2NDIsLjkxMjExLDEuMjU2MzUsMS4yMjIsMS4wMjk1NiwxLjAzMzcyLDEuMDMzNzIsLjk2MDM5LDEuMjQ2MzMsMSwxLjEyNDU0LC45MzUwMywxLjAzNDI0LDEuMTk2ODcsMS4wMzQyNCwxLDEsMSwuNzcxLDEsMSwxLjE1NzQ5LDEuMTU3NDksMS4xNTc0OSwxLjEwOTQ4LC44NjI3OSwuOTQ0MzQsLjg2Mjc5LC45NDQzNCwuODYxODIsMSwxLDEuMTY4OTcsMSwuOTYwODUsLjkwMTM3LDEuMjEwNywxLjE4NDE2LDEuMTM5NzMsLjY5ODI1LC45NzE2LDIuMTAzMzksMS4yOTAwNCwxLjI5MDA0LDEuMjExNzIsMS4yOTAwNCwxLjI5MDA0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS40MjYwMywxLC45OTg2MiwuOTk4NjIsMSwuODcwMjUsLjg3MDI1LC44NzAyNSwuODcwMjUsMS4xODg3NCwxLjQyNjAzLDEsMS40MjYwMywxLjQyNjAzLC45OTg2MiwxLDEsMSwxLDEsMS4yODg2LDEuMDQzMTUsMS4xNTI5NiwxLjM0MTYzLDEsMSwxLDEuMDkxOTMsMS4wOTE5MywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0scnM9e2xpbmVIZWlnaHQ6MS4zMzAwOCxsaW5lR2FwOjB9LG5zPVsxLjc2NzM4LDEsMSwuOTg5NDYsMS4wMzk1OSwxLjA0MDE2LDEuMDI4MDksMS4wMzYsLjk3NjM5LDEuMTA5NTMsMS4yMzIwMywxLjExMTQ0LDEuMTExNDQsMS4xNjkzOSwxLjIxMjM3LC45NzU0LDEuMjEyNjEsLjk3NTQsMS41OTc1NCwxLjAzNiwxLjAzNiwxLjAzNiwxLjAzNiwxLjAzNiwxLjAzNiwxLjAzNiwxLjAzNiwxLjAzNiwxLjAzNiwuODEzNzgsLjgxMzc4LDEuMjEyMzcsMS4yMTIzNywxLjIxMjM3LC43MzU0MSwuOTc4NDcsLjk3MzYzLC44OTcyMywuODc4OTcsMS4wNDI2LC43OTQyOSwuODUyOTIsLjkxMTQ5LDEuMDU4MTUsMS4xNDA2LC43OTYzMSwuOTAxMjgsLjgzODUzLDEuMDQzOTYsMS4xMDYxNSwuOTc1NTIsLjk0NDM2LC45NzU1MiwuODg2NDEsLjgwNTI3LC45NjA4MywxLjAwMTM1LDEsMS4wNjc3NywuOTgxNywuOTExNDIsLjk5MzYxLDEuMTExNDQsMS41NzI5MywxLjExMTQ0LDEuMjEyMzcsLjc0NjI3LDEuMzE4MTgsMS4wNjU4NSwuOTcwNDIsLjgzMDU1LC45NzA0MiwuOTM1MDMsMS4xMjYxLC45NzA0MiwuOTc5MjIsMS4xNDIzNiwuOTQ1NTIsMS4wMTA1NCwxLjE0MjM2LDEuMDI0NzEsLjk3OTIyLC45NDE2NSwuOTcwNDIsLjk3MDQyLDEuMDI3NiwuNzg5MjksMS4xMjYxLC45NzkyMiwuOTU4NzQsMS4wMjE5NywuOTg1MDcsLjk2NzUyLC45NzE2OCwuOTUxMDcsMS4xNjU3OSwuOTUxMDcsMS4yMTIzNywxLjAzOTU5LDEuMDM2LDEuMDM2LDEsMS4wMzYsMS4xNjU3OSwuODczNTcsMS4zMTgxOCwxLjE4NzU0LDEuMjY3ODEsMS4wNTM1NiwxLjIxMjM3LDEuMTg2MjIsLjc5NDg3LC45NDk5NCwxLjI5MDA0LDEuMjQwNDcsMS4yNDA0NywxLjMxODE4LDEsLjkxNDg0LC45NzU0LDEuMzE4MTgsMS4xMzQ5LDEuMjQ4NjYsMS4wNTM1NiwxLjEzOTM0LDEuMTU1NzQsMS4xNzM4OSwuNzM1NDEsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk0Mzg1LC44Nzg5NywuNzk0MjksLjc5NDI5LC43OTQyOSwuNzk0MjksMS4xNDA2LDEuMTQwNiwxLjE0MDYsMS4xNDA2LDEuMDQyNiwxLjEwNjE1LC45NzU1MiwuOTc1NTIsLjk3NTUyLC45NzU1MiwuOTc1NTIsMS4yMTIzNywuOTc1NTIsMS4wMDEzNSwxLjAwMTM1LDEuMDAxMzUsMS4wMDEzNSwuOTExNDIsLjk0NDM2LC45ODcyMSwxLjA2NTg1LDEuMDY1ODUsMS4wNjU4NSwxLjA2NTg1LDEuMDY1ODUsMS4wNjU4NSwuOTY3MDUsLjgzMDU1LC45MzUwMywuOTM1MDMsLjkzNTAzLC45MzUwMywxLjE0MjM2LDEuMTQyMzYsMS4xNDIzNiwxLjE0MjM2LC45MzEyNSwuOTc5MjIsLjk0MTY1LC45NDE2NSwuOTQxNjUsLjk0MTY1LC45NDE2NSwxLjI5MDA0LC45NDE2NSwuOTc5MjIsLjk3OTIyLC45NzkyMiwuOTc5MjIsLjk2NzUyLC45NzA0MiwuOTY3NTIsLjk3MzYzLDEuMDY1ODUsLjk3MzYzLDEuMDY1ODUsLjk3MzYzLDEuMDY1ODUsLjg3ODk3LC44MzA1NSwuODc4OTcsLjgzMDU1LC44Nzg5NywuODMwNTUsLjg3ODk3LC44MzA1NSwxLjA0MjYsMS4wMDMzLDEuMDQyNiwuOTcwNDIsLjc5NDI5LC45MzUwMywuNzk0MjksLjkzNTAzLC43OTQyOSwuOTM1MDMsLjc5NDI5LC45MzUwMywuNzk0MjksLjkzNTAzLC45MTE0OSwuOTcwNDIsLjkxMTQ5LC45NzA0MiwuOTExNDksLjk3MDQyLDEsMSwxLjA1ODE1LC45NzkyMiwxLjA1ODE1LC45NzkyMiwxLjE0MDYsMS4xNDIzNiwxLjE0MDYsMS4xNDIzNiwxLjE0MDYsMS4xNDIzNiwxLjE0MDYsMS4xNDIzNiwxLjE0MDYsMS4xNDIzNiwuOTc0NDEsMS4wNDMwMiwuNzk2MzEsMS4wMTU4MiwxLDEsMS4wMTA1NCwuODM4NTMsMS4xNDIzNiwxLDEsLjgzODUzLDEuMDkxMjUsLjgzODUzLC45MDQxOCwuODM4NTMsMS4xOTUwOCwxLjEwNjE1LC45NzkyMiwxLDEsMS4xMDYxNSwuOTc5MjIsMS4wMTAzNCwxLjEwNDY2LC45NzkyMiwuOTc1NTIsLjk0MTY1LC45NzU1MiwuOTQxNjUsLjk3NTUyLC45NDE2NSwuOTE2MDIsLjkxOTgxLC44ODY0MSwxLjAyNzYsMSwxLC44ODY0MSwxLjAyNzYsLjgwNTI3LC43ODkyOSwuODA1MjcsLjc4OTI5LC44MDUyNywuNzg5MjksLjgwNTI3LC43ODkyOSwxLDEsLjk2MDgzLDEuMDU0MDMsLjk1OTIzLDEuMTY4NjIsMS4wMDEzNSwuOTc5MjIsMS4wMDEzNSwuOTc5MjIsMS4wMDEzNSwuOTc5MjIsMS4wMDEzNSwuOTc5MjIsMS4wMDEzNSwuOTc5MjIsMS4wMDEzNSwuOTc5MjIsMS4wNjc3NywxLjAyMTk3LC45MTE0MiwuOTY3NTIsLjkxMTQyLC45OTM2MSwuOTcxNjgsLjk5MzYxLC45NzE2OCwuOTkzNjEsLjk3MTY4LDEuMjMxOTksMS4wMzYsLjk3MzYzLDEuMDY1ODUsLjk0Mzg1LC45NjcwNSwuOTc1NTIsLjk0MTY1LDEsMSwuOTYwODMsMS4xMjYxLDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LC45NTE2MSwxLjI3MTI2LDEuMDA4MTEsLjgzMjg0LC43NzcwMiwuOTkxMzcsLjk1MjUzLDEuMDM0NywuODYxNDIsMS4wNzIwNSwxLjE0MjM2LC45NzM2MywuODk3MjMsLjg2ODY5LDEuMDk4MTgsLjc5NDI5LC45OTM2MSwxLjA1ODE1LC45NzU1MiwxLjE0MDYsLjkwMTI4LDEuMDY2NjIsMS4wNDM5NiwxLjEwNjE1LC44NDkxOCwuOTc1NTIsMS4wNDY5NCwuOTQ0MzYsLjk4MDE1LC45NjA4MywuOTExNDIsMS4wMDM1NiwuOTgxNywxLjAxOTQ1LC45ODk5OSwxLjE0MDYsLjkxMTQyLDEuMDQ5NjEsLjk4OTgsMS4wMDYzOSwxLjE0MjM2LDEuMDc1MTQsMS4wNDk2MSwuOTk2MDcsMS4wMjg5NywxLjAwOCwuOTg5OCwuOTUxMzQsMS4wMDYzOSwxLjExMTIxLDEuMTQyMzYsMS4wMDUxOCwuOTc5ODEsMS4wMjE4NiwxLDEuMDg1NzgsLjk0MTY1LC45OTMxNCwuOTgzODcsLjkzMDI4LC45MzM3NywxLjM1MTI1LDEuMDc1MTQsMS4xMDY4NywuOTM0OTEsMS4wNDIzMiwxLjAwMzUxLDEuMTQyMzYsMS4wNzUxNCwuOTQxNjUsMS4wNzUxNCwxLjAwMzUxLC43OTQyOSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA5MDk3LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MzUwMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTY2MDksMSwxLDEsMSwxLDEsMS4wNjc3NywxLjAyMTk3LDEuMDY3NzcsMS4wMjE5NywxLjA2Nzc3LDEuMDIxOTcsLjkxMTQyLC45Njc1MiwxLDEuMjEyNjEsLjg5OTAzLDEsMSwuNzUxNTUsMS4wNDc0NSwxLjA0NzQ1LDEuMDQ3NDUsMS4wNDM5NCwuOTg2MzMsLjk4NjMzLC45ODYzMywuNzI5NTksLjcyOTU5LDEuMjA1MDIsLjkxNDA2LDEuMjY1MTQsMS4yMjIsMS4wMjk1NiwxLjAzMzcyLDEuMDMzNzIsLjk2MDM5LDEuMjQ2MzMsMSwxLjA5MTI1LC45MzMyNywxLjAzMzM2LDEuMTY1NDEsMS4wMzYsMSwxLDEsLjc3MSwxLDEsMS4xNTU3NCwxLjE1NTc0LDEuMTU1NzQsMS4xNTU3NCwuODYzNjQsLjk0NDM0LC44NjI3OSwuOTQ0MzQsLjg2MjI0LDEsMSwxLjE2Nzk4LDEsLjk2MDg1LC45MDA2OCwxLjIxMjM3LDEuMTg0MTYsMS4xMzkwNCwuNjk4MjUsLjk3MTYsMi4xMDMzOSwxLjI5MDA0LDEuMjkwMDQsMS4yMTMzOSwxLjI5MDA0LDEuMjkwMDQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjQyNjAzLDEsLjk5ODYyLC45OTg2MiwxLC44NzAyNSwuODcwMjUsLjg3MDI1LC44NzAyNSwxLjE4Nzc1LDEuNDI2MDMsMSwxLjQyNjAzLDEuNDI2MDMsLjk5ODYyLDEsMSwxLDEsMSwxLjI4ODYsMS4wNDMxNSwxLjE1Mjk2LDEuMzQxNjMsMSwxLDEsMS4xMzI2OSwxLjEzMjY5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxncz17bGluZUhlaWdodDoxLjMzMDA4LGxpbmVHYXA6MH0sb3M9WzEuNzY3MzgsMSwxLC45ODk0NiwxLjE0NzYzLDEuMDUzNjUsMS4wNjIzNCwuOTY5MjcsLjkyNTg2LDEuMTUzNzMsMS4xODQxNCwuOTEzNDksLjkxMzQ5LDEuMDc0MDMsMS4xNzMwOCwuNzgzODMsMS4yMDA4OCwuNzgzODMsMS40MjUzMSwuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjc4MzgzLC43ODM4MywxLjE3MzA4LDEuMTczMDgsMS4xNzMwOCwuNzczNDksLjk0NTY1LC45NDcyOSwuODU5NDQsLjg4NTA2LC45ODU4LC43NDgxNywuODAwMTYsLjg4NDQ5LC45ODAzOSwuOTU3ODIsLjY5MjM4LC44OTg5OCwuODMyMzEsLjk4MTgzLDEuMDM5ODksLjk2OTI0LC44NjIzNywuOTY5MjQsLjgwNTk1LC43NDUyNCwuODYwOTEsLjk1NDAyLC45NDE0MywuOTg0NDgsLjg4NTgsLjgzMDg5LC45MzI4NSwxLjA5NDksMS4zOTAxNiwxLjA5NDksMS40NTk5NCwuNzQ2MjcsMS4wNDgzOSwuOTc0NTQsLjk3NDU0LC44NzIwNywuOTc0NTQsLjg3NTMzLDEuMDYxNTEsLjk3NDU0LDEuMDAxNzYsMS4xNjQ4NCwxLjA4MTMyLC45ODA0NywxLjE2NDg0LDEuMDI5ODksMS4wMTA1NCwuOTYyMjUsLjk3NDU0LC45NzQ1NCwxLjA2NTk4LC43OTAwNCwxLjE2MzQ0LDEuMDAzNTEsLjk0NjI5LC45OTczLC45MTAxNiwuOTY3NzcsLjkwNDMsLjkxMDgyLC45MjQ4MSwuOTEwODIsMS4xNzMwOCwuOTU3NDgsLjk2OTI3LC45NjkyNywxLC45NjkyNywuOTI0ODEsLjgwNTk3LDEuMDQ4MzksMS4yMzM5MywxLjE3ODEsLjkyNDUsMS4xNzMwOCwxLjIwODA4LC42MzIxOCwuOTQyNjEsMS4yNDgyMiwxLjA5OTcxLDEuMDk5NzEsMS4wNDgzOSwxLC44NTI3MywuNzgwMzIsMS4wNDgzOSwxLjA5OTcxLDEuMjIzMjYsLjkyNDUsMS4wOTgzNiwxLjEzNTI1LDEuMTUyMjIsLjcwNDI0LC45NDcyOSwuOTQ3MjksLjk0NzI5LC45NDcyOSwuOTQ3MjksLjk0NzI5LC44NTQ5OCwuODg1MDYsLjc0ODE3LC43NDgxNywuNzQ4MTcsLjc0ODE3LC45NTc4MiwuOTU3ODIsLjk1NzgyLC45NTc4MiwuOTg1OCwxLjAzOTg5LC45NjkyNCwuOTY5MjQsLjk2OTI0LC45NjkyNCwuOTY5MjQsMS4xNzMwOCwuOTY5MjQsLjk1NDAyLC45NTQwMiwuOTU0MDIsLjk1NDAyLC44MzA4OSwuODYyMzcsLjg4NDA5LC45NzQ1NCwuOTc0NTQsLjk3NDU0LC45NzQ1NCwuOTc0NTQsLjk3NDU0LC45MjkxNiwuODcyMDcsLjg3NTMzLC44NzUzMywuODc1MzMsLjg3NTMzLC45MzE0NiwuOTMxNDYsLjkzMTQ2LC45MzE0NiwuOTM4NTQsMS4wMTA1NCwuOTYyMjUsLjk2MjI1LC45NjIyNSwuOTYyMjUsLjk2MjI1LDEuMjQ4MjIsLjg3NjEsMS4wMDM1MSwxLjAwMzUxLDEuMDAzNTEsMS4wMDM1MSwuOTY3NzcsLjk3NDU0LC45Njc3NywuOTQ3MjksLjk3NDU0LC45NDcyOSwuOTc0NTQsLjk0NzI5LC45NzQ1NCwuODg1MDYsLjg3MjA3LC44ODUwNiwuODcyMDcsLjg4NTA2LC44NzIwNywuODg1MDYsLjg3MjA3LC45ODU4LC45NTM5MSwuOTg1OCwuOTc0NTQsLjc0ODE3LC44NzUzMywuNzQ4MTcsLjg3NTMzLC43NDgxNywuODc1MzMsLjc0ODE3LC44NzUzMywuNzQ4MTcsLjg3NTMzLC44ODQ0OSwuOTc0NTQsLjg4NDQ5LC45NzQ1NCwuODg0NDksLjk3NDU0LDEsMSwuOTgwMzksMS4wMDE3NiwuOTgwMzksMS4wMDE3NiwuOTU3ODIsLjkzMTQ2LC45NTc4MiwuOTMxNDYsLjk1NzgyLC45MzE0NiwuOTU3ODIsMS4xNjQ4NCwuOTU3ODIsLjkzMTQ2LC44NDQyMSwxLjEyNzYxLC42OTIzOCwxLjA4MTMyLDEsMSwuOTgwNDcsLjgzMjMxLDEuMTY0ODQsMSwxLC44NDcyMywxLjA0ODYxLC44NDcyMywuNzg3NTUsLjgzMjMxLDEuMjM3MzYsMS4wMzk4OSwxLjAxMDU0LDEsMSwxLjAzOTg5LDEuMDEwNTQsLjk4NTcsMS4wMzg0OSwxLjAxMDU0LC45NjkyNCwuOTYyMjUsLjk2OTI0LC45NjIyNSwuOTY5MjQsLjk2MjI1LC45MjM4MywuOTAxNzEsLjgwNTk1LDEuMDY1OTgsMSwxLC44MDU5NSwxLjA2NTk4LC43NDUyNCwuNzkwMDQsLjc0NTI0LC43OTAwNCwuNzQ1MjQsLjc5MDA0LC43NDUyNCwuNzkwMDQsMSwxLC44NjA5MSwxLjAyNzU5LC44NTc3MSwxLjE2MzQ0LC45NTQwMiwxLjAwMzUxLC45NTQwMiwxLjAwMzUxLC45NTQwMiwxLjAwMzUxLC45NTQwMiwxLjAwMzUxLC45NTQwMiwxLjAwMzUxLC45NTQwMiwxLjAwMzUxLC45ODQ0OCwuOTk3MywuODMwODksLjk2Nzc3LC44MzA4OSwuOTMyODUsLjkwNDMsLjkzMjg1LC45MDQzLC45MzI4NSwuOTA0MywxLjMxODY4LC45NjkyNywuOTQ3MjksLjk3NDU0LC44NTQ5OCwuOTI5MTYsLjk2OTI0LC44NzYxLDEsMSwuODYwOTEsMS4xNjM0NCwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwuODE5NjUsLjgxOTY1LC45NDcyOSwuNzgwMzIsLjcxMDIyLC45MDg4MywuODQxNzEsLjk5ODc3LC43NzU5NiwxLjA1NzM0LDEuMiwuOTQ3MjksLjg1OTQ0LC44Mjc5MSwuOTYwNywuNzQ4MTcsLjkzMjg1LC45ODAzOSwuOTY5MjQsLjk1NzgyLC44OTg5OCwuOTgzMTYsLjk4MTgzLDEuMDM5ODksLjc4NjE0LC45NjkyNCwuOTc2NDIsLjg2MjM3LC44NjA3NSwuODYwOTEsLjgzMDg5LC45MDA4MiwuODg1OCwuOTcyOTYsMS4wMTI4NCwuOTU3ODIsLjgzMDg5LDEuMDk3NiwxLjA0LDEuMDMzNDIsMS4yLDEuMDY3NSwxLjA5NzYsLjk4MjA1LDEuMDM4MDksMS4wNTA5NywxLjA0LC45NTM2NCwxLjAzMzQyLDEuMDU0MDEsMS4yLDEuMDIxNDgsMS4wMTE5LDEuMDQ3MjQsMS4wMTI3LDEuMDI3MzIsLjk2MjI1LC44OTY1LC45Nzc4MywuOTM1NzQsLjk0ODE4LDEuMzA2NzksMS4wNjc1LDEuMTE4MjYsLjk5ODIxLDEuMDU1NywxLjAzMjYsMS4yLDEuMDY3NSwuOTYyMjUsMS4wNjc1LDEuMDMyNiwuNzQ4MTcsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wMzc1NCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODc1MzMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk4NzA1LDEsMSwxLDEsMSwxLC45ODQ0OCwuOTk3MywuOTg0NDgsLjk5NzMsLjk4NDQ4LC45OTczLC44MzA4OSwuOTY3NzcsMSwxLjIwMDg4LC44OTkwMywxLDEsLjc1MTU1LC45NDk0NSwuOTQ5NDUsLjk0OTQ1LC45NDk0NSwxLjEyMzE3LDEuMTIzMTcsMS4xMjMxNywuNjc2MDMsLjY3NjAzLDEuMTU2MjEsLjczNTg0LDEuMjExOTEsMS4yMjEzNSwxLjA2NDgzLC45NDg2OCwuOTQ4NjgsLjk1OTk2LDEuMjQ2MzMsMSwxLjA3NDk3LC44NzcwOSwuOTY5MjcsMS4wMTQ3MywuOTY5MjcsMSwxLDEsLjc3Mjk1LDEsMSwxLjA5ODM2LDEuMDk4MzYsMS4wOTgzNiwxLjAxNTIyLC44NjMyMSwuOTQ0MzQsLjg2NDksLjk0NDM0LC44NjE4MiwxLDEsMS4wODMsMSwuOTE1NzgsLjg2NDM4LDEuMTczMDgsMS4xODQxNiwxLjE0NTg5LC42OTgyNSwuOTc2MjIsMS45Njc5MSwxLjI0ODIyLDEuMjQ4MjIsMS4xNzMwOCwxLjI0ODIyLDEuMjQ4MjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjQyNjAzLDEsLjk5ODYyLC45OTg2MiwxLC44NzAyNSwuODcwMjUsLjg3MDI1LC44NzAyNSwxLjE3OTg0LDEuNDI2MDMsMSwxLjQyNjAzLDEuNDI2MDMsLjk5ODYyLDEsMSwxLDEsMSwxLjI4ODYsMS4wNDMxNSwxLjE1Mjk2LDEuMzQxNjMsMSwxLDEsMS4xMDc0MiwxLjEwNzQyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxJcz17bGluZUhlaWdodDoxLjMzMDA4LGxpbmVHYXA6MH0sY3M9WzEuNzY3MzgsMSwxLC45ODU5NCwxLjAyMjg1LDEuMTA0NTQsMS4wNjIzNCwuOTY5MjcsLjkyMDM3LDEuMTk5ODUsMS4yMDQ2LC45MDYxNiwuOTA2MTYsMS4wNzE1MiwxLjE3MTQsLjc4MDMyLDEuMjAwODgsLjc4MDMyLDEuNDAyNDYsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC43ODAzMiwuNzgwMzIsMS4xNzE0LDEuMTcxNCwxLjE3MTQsLjgwNTk3LC45NDA4NCwuOTY3MDYsLjg1OTQ0LC44NTczNCwuOTcwOTMsLjc1ODQyLC43OTkzNiwuODgxOTgsLjk4MzEsLjk1NzgyLC43MTM4NywuODY5NjksLjg0NjM2LDEuMDc3OTYsMS4wMzU4NCwuOTY5MjQsLjgzOTY4LC45NjkyNCwuODI4MjYsLjc5NjQ5LC44NTc3MSwuOTUxMzIsLjkzMTE5LC45ODk2NSwuODg0MzMsLjgyODcsLjkzMzY1LDEuMDg2MTIsMS4zNjM4LDEuMDg2MTIsMS40NTc4NiwuNzQ2MjcsLjgwNDk5LC45MTQ4NCwxLjA1NzA3LC45MjM4MywxLjA1ODgyLC45NDAzLDEuMTI2NTQsMS4wNTg4MiwxLjAxNzU2LDEuMDkwMTEsMS4wOTAxMSwuOTk0MTQsMS4wOTAxMSwxLjAzNCwxLjAxNzU2LDEuMDUzNTYsMS4wNTcwNywxLjA1ODgyLDEuMDQzOTksLjg0ODYzLDEuMjE5NjgsMS4wMTc1NiwuOTU4MDEsMS4wMDA2OCwuOTE3OTcsLjk2Nzc3LC45MDQzLC45MDM1MSwuOTIxMDUsLjkwMzUxLDEuMTcxNCwuODUzMzcsLjk2OTI3LC45NjkyNywuOTk5MTIsLjk2OTI3LC45MjEwNSwuODA1OTcsMS4yNDM0LDEuMjA4MDgsMS4wNTkzNywuOTA5NTcsMS4xNzE0LDEuMjA4MDgsLjc1MTU1LC45NDI2MSwxLjI0NjQ0LDEuMDk5NzEsMS4wOTk3MSwuODQ3NTEsMSwuODUyNzMsLjc4MDMyLC42MTU4NCwxLjA1NDI1LDEuMTc5MTQsLjkwOTU3LDEuMDg2NjUsMS4xMTU5MywxLjE0MTY5LC43MzM4MSwuOTY3MDYsLjk2NzA2LC45NjcwNiwuOTY3MDYsLjk2NzA2LC45NjcwNiwuODYwMzUsLjg1NzM0LC43NTg0MiwuNzU4NDIsLjc1ODQyLC43NTg0MiwuOTU3ODIsLjk1NzgyLC45NTc4MiwuOTU3ODIsLjk3MDkzLDEuMDM1ODQsLjk2OTI0LC45NjkyNCwuOTY5MjQsLjk2OTI0LC45NjkyNCwxLjE3MTQsLjk2OTI0LC45NTEzMiwuOTUxMzIsLjk1MTMyLC45NTEzMiwuODI4NywuODM5NjgsLjg5MDQ5LC45MTQ4NCwuOTE0ODQsLjkxNDg0LC45MTQ4NCwuOTE0ODQsLjkxNDg0LC45MzU3NSwuOTIzODMsLjk0MDMsLjk0MDMsLjk0MDMsLjk0MDMsLjg3MTcsLjg3MTcsLjg3MTcsLjg3MTcsMS4wMDUyNywxLjAxNzU2LDEuMDUzNTYsMS4wNTM1NiwxLjA1MzU2LDEuMDUzNTYsMS4wNTM1NiwxLjI0NjQ0LC45NTkyMywxLjAxNzU2LDEuMDE3NTYsMS4wMTc1NiwxLjAxNzU2LC45Njc3NywxLjA1NzA3LC45Njc3NywuOTY3MDYsLjkxNDg0LC45NjcwNiwuOTE0ODQsLjk2NzA2LC45MTQ4NCwuODU3MzQsLjkyMzgzLC44NTczNCwuOTIzODMsLjg1NzM0LC45MjM4MywuODU3MzQsLjkyMzgzLC45NzA5MywxLjA5NjksLjk3MDkzLDEuMDU4ODIsLjc1ODQyLC45NDAzLC43NTg0MiwuOTQwMywuNzU4NDIsLjk0MDMsLjc1ODQyLC45NDAzLC43NTg0MiwuOTQwMywuODgxOTgsMS4wNTg4MiwuODgxOTgsMS4wNTg4MiwuODgxOTgsMS4wNTg4MiwxLDEsLjk4MzEsMS4wMTc1NiwuOTgzMSwxLjAxNzU2LC45NTc4MiwuODcxNywuOTU3ODIsLjg3MTcsLjk1NzgyLC44NzE3LC45NTc4MiwxLjA5MDExLC45NTc4MiwuODcxNywuODQ3ODQsMS4xMTU1MSwuNzEzODcsMS4wOTAxMSwxLDEsLjk5NDE0LC44NDYzNiwxLjA5MDExLDEsMSwuODQ2MzYsMS4wNTM2LC44NDYzNiwuOTQyOTgsLjg0NjM2LDEuMjMyOTcsMS4wMzU4NCwxLjAxNzU2LDEsMSwxLjAzNTg0LDEuMDE3NTYsMS4wMDMyMywxLjAzNDQ0LDEuMDE3NTYsLjk2OTI0LDEuMDUzNTYsLjk2OTI0LDEuMDUzNTYsLjk2OTI0LDEuMDUzNTYsLjkzMDY2LC45ODI5MywuODI4MjYsMS4wNDM5OSwxLDEsLjgyODI2LDEuMDQzOTksLjc5NjQ5LC44NDg2MywuNzk2NDksLjg0ODYzLC43OTY0OSwuODQ4NjMsLjc5NjQ5LC44NDg2MywxLDEsLjg1NzcxLDEuMTczMTgsLjg1NzcxLDEuMjE5NjgsLjk1MTMyLDEuMDE3NTYsLjk1MTMyLDEuMDE3NTYsLjk1MTMyLDEuMDE3NTYsLjk1MTMyLDEuMDE3NTYsLjk1MTMyLDEuMDE3NTYsLjk1MTMyLDEuMDE3NTYsLjk4OTY1LDEuMDAwNjgsLjgyODcsLjk2Nzc3LC44Mjg3LC45MzM2NSwuOTA0MywuOTMzNjUsLjkwNDMsLjkzMzY1LC45MDQzLDEuMDg1NzEsLjk2OTI3LC45NjcwNiwuOTE0ODQsLjg2MDM1LC45MzU3NSwuOTY5MjQsLjk1OTIzLDEsMSwuODU3NzEsMS4yMTk2OCwxLjExNDM3LDEuMTE0MzcsLjkzMTA5LC45MTIwMiwuNjA0MTEsLjg0MTY0LC41NTU3MiwxLjAxMTczLC45NzM2MSwuODE4MTgsLjgxODE4LC45NjYzNSwuNzgwMzIsLjcyNzI3LC45MjM2NiwuOTg2MDEsMS4wMzQwNSwuNzc5NjgsMS4wOTc5OSwxLjIsLjk2NzA2LC44NTk0NCwuODU2MzgsLjk2NDkxLC43NTg0MiwuOTMzNjUsLjk4MzEsLjk2OTI0LC45NTc4MiwuODY5NjksLjk0MTUyLDEuMDc3OTYsMS4wMzU4NCwuNzg0MzcsLjk2OTI0LC45ODcxNSwuODM5NjgsLjgzNDkxLC44NTc3MSwuODI4NywuOTQ0OTIsLjg4NDMzLC45Mjg3LDEuMDA5OCwuOTU3ODIsLjgyODcsMS4wNjI1LC45ODI0OCwxLjAzNDI0LDEuMiwxLjAxMDcxLDEuMDYyNSwuOTUyNDYsMS4wMzgwOSwxLjA0OTEyLC45ODI0OCwxLjAwMjIxLDEuMDM0MjQsMS4wNTQ0MywxLjIsMS4wNDc4NSwuOTk2MDksMS4wMDE2OSwxLjA1MTc2LC45OTM0NiwxLjA1MzU2LC45MDg3LDEuMDMwMDQsLjk1NTQyLC45MzExNywxLjIzMzYyLDEuMDEwNzEsMS4wNzgzMSwxLjAyNTEyLDEuMDUyMDUsMS4wMzUwMiwxLjIsMS4wMTA3MSwxLjA1MzU2LDEuMDEwNzEsMS4wMzUwMiwuNzU4NDIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wMzcxOSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTQwMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA0MDIxLDEsMSwxLDEsMSwxLC45ODk2NSwxLjAwMDY4LC45ODk2NSwxLjAwMDY4LC45ODk2NSwxLjAwMDY4LC44Mjg3LC45Njc3NywxLDEuMjAwODgsLjg5OTAzLDEsMSwuNzUxNTUsMS4wMzA3NywxLjAzMDc3LDEuMDMwNzcsMS4wMzA3NywxLjEzMTk2LDEuMTMxOTYsMS4xMzE5NiwuNjc0MjgsLjY3NDI4LDEuMTYwMzksLjczMjkxLDEuMjA5OTYsMS4yMjEzNSwxLjA2NDgzLC45NDg2OCwuOTQ4NjgsLjk1OTk2LDEuMjQ2MzMsMSwxLjA3NDk3LC44Nzc5NiwuOTY5MjcsMS4wMTUxOCwuOTY5MjcsMSwxLDEsLjc3Mjk1LDEsMSwxLjEwNTM5LDEuMTA1MzksMS4xMTM1OCwxLjA2OTY3LC44NjI3OSwuOTQ0MzQsLjg2Mjc5LC45NDQzNCwuODYxODIsMSwxLDEuMDgzLDEsLjkxNTc4LC44NjUwNywxLjE3MTQsMS4xODQxNiwxLjE0NTg5LC42OTgyNSwuOTc2MjIsMS45Njk3LDEuMjQ4MjIsMS4yNDgyMiwxLjE3MjM4LDEuMjQ4MjIsMS4yNDgyMiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuNDI2MDMsMSwuOTk4NjIsLjk5ODYyLDEsLjg3MDI1LC44NzAyNSwuODcwMjUsLjg3MDI1LDEuMTgwODMsMS40MjYwMywxLDEuNDI2MDMsMS40MjYwMywuOTk4NjIsMSwxLDEsMSwxLDEuMjg4NiwxLjA0MzE1LDEuMTUyOTYsMS4zNDE2MywxLDEsMSwxLjEwOTM4LDEuMTA5MzgsMSwxLDEsMS4wNTQyNSwxLjA5OTcxLDEuMDk5NzEsMS4wOTk3MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLENzPXtsaW5lSGVpZ2h0OjEuMzMwMDgsbGluZUdhcDowfSxocz1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbIk15cmlhZFByby1SZWd1bGFyIl09ZVsiUGRmSlMtRmFsbGJhY2stUmVndWxhciJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixmYWN0b3JzOmlzLGJhc2VXaWR0aHM6WmEsYmFzZU1hcHBpbmc6VmEsbWV0cmljczphc307ZVsiTXlyaWFkUHJvLUJvbGQiXT1lWyJQZGZKUy1GYWxsYmFjay1Cb2xkIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGQiLGZhY3RvcnM6emEsYmFzZVdpZHRoczpxYSxiYXNlTWFwcGluZzpPYSxtZXRyaWNzOl9hfTtlWyJNeXJpYWRQcm8tSXQiXT1lWyJNeXJpYWRQcm8tSXRhbGljIl09ZVsiUGRmSlMtRmFsbGJhY2stSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUl0YWxpYyIsZmFjdG9yczplcyxiYXNlV2lkdGhzOlhhLGJhc2VNYXBwaW5nOmphLG1ldHJpY3M6dHN9O2VbIk15cmlhZFByby1Cb2xkSXQiXT1lWyJNeXJpYWRQcm8tQm9sZEl0YWxpYyJdPWVbIlBkZkpTLUZhbGxiYWNrLUJvbGRJdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyIsZmFjdG9yczokYSxiYXNlV2lkdGhzOlBhLGJhc2VNYXBwaW5nOldhLG1ldHJpY3M6QXN9O2UuQXJpYWxNVD1lLkFyaWFsPWVbIkFyaWFsLVJlZ3VsYXIiXT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsYmFzZVdpZHRoczpaYSxiYXNlTWFwcGluZzpWYX07ZVsiQXJpYWwtQm9sZE1UIl09ZVsiQXJpYWwtQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixiYXNlV2lkdGhzOnFhLGJhc2VNYXBwaW5nOk9hfTtlWyJBcmlhbC1JdGFsaWNNVCJdPWVbIkFyaWFsLUl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1JdGFsaWMiLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6amF9O2VbIkFyaWFsLUJvbGRJdGFsaWNNVCJdPWVbIkFyaWFsLUJvbGRJdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyIsYmFzZVdpZHRoczpQYSxiYXNlTWFwcGluZzpXYX07ZVsiQ2FsaWJyaS1SZWd1bGFyIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIiLGZhY3RvcnM6eGEsYmFzZVdpZHRoczpaYSxiYXNlTWFwcGluZzpWYSxtZXRyaWNzOlVhfTtlWyJDYWxpYnJpLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsZmFjdG9yczpGYSxiYXNlV2lkdGhzOnFhLGJhc2VNYXBwaW5nOk9hLG1ldHJpY3M6U2F9O2VbIkNhbGlicmktSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUl0YWxpYyIsZmFjdG9yczpOYSxiYXNlV2lkdGhzOlhhLGJhc2VNYXBwaW5nOmphLG1ldHJpY3M6R2F9O2VbIkNhbGlicmktQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixmYWN0b3JzOmthLGJhc2VXaWR0aHM6UGEsYmFzZU1hcHBpbmc6V2EsbWV0cmljczpSYX07ZVsiU2Vnb2V1aS1SZWd1bGFyIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIiLGZhY3RvcnM6Y3MsYmFzZVdpZHRoczpaYSxiYXNlTWFwcGluZzpWYSxtZXRyaWNzOkNzfTtlWyJTZWdvZXVpLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsZmFjdG9yczpzcyxiYXNlV2lkdGhzOnFhLGJhc2VNYXBwaW5nOk9hLG1ldHJpY3M6cnN9O2VbIlNlZ29ldWktSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUl0YWxpYyIsZmFjdG9yczpvcyxiYXNlV2lkdGhzOlhhLGJhc2VNYXBwaW5nOmphLG1ldHJpY3M6SXN9O2VbIlNlZ29ldWktQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixmYWN0b3JzOm5zLGJhc2VXaWR0aHM6UGEsYmFzZU1hcHBpbmc6V2EsbWV0cmljczpnc307ZVsiSGVsdmV0aWNhLVJlZ3VsYXIiXT1lLkhlbHZldGljYT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsZmFjdG9yczpUYSxiYXNlV2lkdGhzOlphLGJhc2VNYXBwaW5nOlZhLG1ldHJpY3M6S2F9O2VbIkhlbHZldGljYS1Cb2xkIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGQiLGZhY3RvcnM6TWEsYmFzZVdpZHRoczpxYSxiYXNlTWFwcGluZzpPYSxtZXRyaWNzOkxhfTtlWyJIZWx2ZXRpY2EtSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUl0YWxpYyIsZmFjdG9yczpZYSxiYXNlV2lkdGhzOlhhLGJhc2VNYXBwaW5nOmphLG1ldHJpY3M6dmF9O2VbIkhlbHZldGljYS1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGZhY3RvcnM6SGEsYmFzZVdpZHRoczpQYSxiYXNlTWFwcGluZzpXYSxtZXRyaWNzOkphfX0pKTtmdW5jdGlvbiBnZXRYZmFGb250TmFtZShlKXtjb25zdCB0PW5vcm1hbGl6ZUZvbnROYW1lKGUpO3JldHVybiBocygpW3RdfWZ1bmN0aW9uIGdldFhmYUZvbnREaWN0KGUpe2NvbnN0IHQ9ZnVuY3Rpb24gZ2V0WGZhRm9udFdpZHRocyhlKXtjb25zdCB0PWdldFhmYUZvbnROYW1lKGUpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e2Jhc2VXaWR0aHM6aSxiYXNlTWFwcGluZzphLGZhY3RvcnM6c309dCxyPXM/aS5tYXAoKChlLHQpPT5lKnNbdF0pKTppO2xldCBuLGc9LTI7Y29uc3Qgbz1bXTtmb3IoY29uc3RbZSx0XW9mIGEubWFwKCgoZSx0KT0+W2UsdF0pKS5zb3J0KCgoW2VdLFt0XSk9PmUtdCkpKWlmKC0xIT09ZSlpZihlPT09ZysxKXtuLnB1c2goclt0XSk7Zys9MX1lbHNle2c9ZTtuPVtyW3RdXTtvLnB1c2goZSxuKX1yZXR1cm4gb30oZSksaT1uZXcgRGljdChudWxsKTtpLnNldCgiQmFzZUZvbnQiLE5hbWUuZ2V0KGUpKTtpLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZvbnQiKSk7aS5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJDSURGb250VHlwZTIiKSk7aS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiSWRlbnRpdHktSCIpKTtpLnNldCgiQ0lEVG9HSURNYXAiLE5hbWUuZ2V0KCJJZGVudGl0eSIpKTtpLnNldCgiVyIsdCk7aS5zZXQoIkZpcnN0Q2hhciIsdFswXSk7aS5zZXQoIkxhc3RDaGFyIix0LmF0KC0yKSt0LmF0KC0xKS5sZW5ndGgtMSk7Y29uc3QgYT1uZXcgRGljdChudWxsKTtpLnNldCgiRm9udERlc2NyaXB0b3IiLGEpO2NvbnN0IHM9bmV3IERpY3QobnVsbCk7cy5zZXQoIk9yZGVyaW5nIiwiSWRlbnRpdHkiKTtzLnNldCgiUmVnaXN0cnkiLCJBZG9iZSIpO3Muc2V0KCJTdXBwbGVtZW50IiwwKTtpLnNldCgiQ0lEU3lzdGVtSW5mbyIscyk7cmV0dXJuIGl9Y2xhc3MgUG9zdFNjcmlwdFBhcnNlcntjb25zdHJ1Y3RvcihlKXt0aGlzLmxleGVyPWU7dGhpcy5vcGVyYXRvcnM9W107dGhpcy50b2tlbj1udWxsO3RoaXMucHJldj1udWxsfW5leHRUb2tlbigpe3RoaXMucHJldj10aGlzLnRva2VuO3RoaXMudG9rZW49dGhpcy5sZXhlci5nZXRUb2tlbigpfWFjY2VwdChlKXtpZih0aGlzLnRva2VuLnR5cGU9PT1lKXt0aGlzLm5leHRUb2tlbigpO3JldHVybiEwfXJldHVybiExfWV4cGVjdChlKXtpZih0aGlzLmFjY2VwdChlKSlyZXR1cm4hMDt0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVuZXhwZWN0ZWQgc3ltYm9sOiBmb3VuZCAke3RoaXMudG9rZW4udHlwZX0gZXhwZWN0ZWQgJHtlfS5gKX1wYXJzZSgpe3RoaXMubmV4dFRva2VuKCk7dGhpcy5leHBlY3QobHMuTEJSQUNFKTt0aGlzLnBhcnNlQmxvY2soKTt0aGlzLmV4cGVjdChscy5SQlJBQ0UpO3JldHVybiB0aGlzLm9wZXJhdG9yc31wYXJzZUJsb2NrKCl7Zm9yKDs7KWlmKHRoaXMuYWNjZXB0KGxzLk5VTUJFUikpdGhpcy5vcGVyYXRvcnMucHVzaCh0aGlzLnByZXYudmFsdWUpO2Vsc2UgaWYodGhpcy5hY2NlcHQobHMuT1BFUkFUT1IpKXRoaXMub3BlcmF0b3JzLnB1c2godGhpcy5wcmV2LnZhbHVlKTtlbHNle2lmKCF0aGlzLmFjY2VwdChscy5MQlJBQ0UpKXJldHVybjt0aGlzLnBhcnNlQ29uZGl0aW9uKCl9fXBhcnNlQ29uZGl0aW9uKCl7Y29uc3QgZT10aGlzLm9wZXJhdG9ycy5sZW5ndGg7dGhpcy5vcGVyYXRvcnMucHVzaChudWxsLG51bGwpO3RoaXMucGFyc2VCbG9jaygpO3RoaXMuZXhwZWN0KGxzLlJCUkFDRSk7aWYodGhpcy5hY2NlcHQobHMuSUYpKXt0aGlzLm9wZXJhdG9yc1tlXT10aGlzLm9wZXJhdG9ycy5sZW5ndGg7dGhpcy5vcGVyYXRvcnNbZSsxXT0ianoifWVsc2V7aWYoIXRoaXMuYWNjZXB0KGxzLkxCUkFDRSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQUyBGdW5jdGlvbjogZXJyb3IgcGFyc2luZyBjb25kaXRpb25hbC4iKTt7Y29uc3QgdD10aGlzLm9wZXJhdG9ycy5sZW5ndGg7dGhpcy5vcGVyYXRvcnMucHVzaChudWxsLG51bGwpO2NvbnN0IGk9dGhpcy5vcGVyYXRvcnMubGVuZ3RoO3RoaXMucGFyc2VCbG9jaygpO3RoaXMuZXhwZWN0KGxzLlJCUkFDRSk7dGhpcy5leHBlY3QobHMuSUZFTFNFKTt0aGlzLm9wZXJhdG9yc1t0XT10aGlzLm9wZXJhdG9ycy5sZW5ndGg7dGhpcy5vcGVyYXRvcnNbdCsxXT0iaiI7dGhpcy5vcGVyYXRvcnNbZV09aTt0aGlzLm9wZXJhdG9yc1tlKzFdPSJqeiJ9fX19Y29uc3QgbHM9e0xCUkFDRTowLFJCUkFDRToxLE5VTUJFUjoyLE9QRVJBVE9SOjMsSUY6NCxJRkVMU0U6NX07Y2xhc3MgUG9zdFNjcmlwdFRva2Vue3N0YXRpYyBnZXQgb3BDYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywib3BDYWNoZSIsT2JqZWN0LmNyZWF0ZShudWxsKSl9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnR5cGU9ZTt0aGlzLnZhbHVlPXR9c3RhdGljIGdldE9wZXJhdG9yKGUpe3JldHVybiBQb3N0U2NyaXB0VG9rZW4ub3BDYWNoZVtlXXx8PW5ldyBQb3N0U2NyaXB0VG9rZW4obHMuT1BFUkFUT1IsZSl9c3RhdGljIGdldCBMQlJBQ0UoKXtyZXR1cm4gc2hhZG93KHRoaXMsIkxCUkFDRSIsbmV3IFBvc3RTY3JpcHRUb2tlbihscy5MQlJBQ0UsInsiKSl9c3RhdGljIGdldCBSQlJBQ0UoKXtyZXR1cm4gc2hhZG93KHRoaXMsIlJCUkFDRSIsbmV3IFBvc3RTY3JpcHRUb2tlbihscy5SQlJBQ0UsIn0iKSl9c3RhdGljIGdldCBJRigpe3JldHVybiBzaGFkb3codGhpcywiSUYiLG5ldyBQb3N0U2NyaXB0VG9rZW4obHMuSUYsIklGIikpfXN0YXRpYyBnZXQgSUZFTFNFKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJJRkVMU0UiLG5ldyBQb3N0U2NyaXB0VG9rZW4obHMuSUZFTFNFLCJJRkVMU0UiKSl9fWNsYXNzIFBvc3RTY3JpcHRMZXhlcntjb25zdHJ1Y3RvcihlKXt0aGlzLnN0cmVhbT1lO3RoaXMubmV4dENoYXIoKTt0aGlzLnN0ckJ1Zj1bXX1uZXh0Q2hhcigpe3JldHVybiB0aGlzLmN1cnJlbnRDaGFyPXRoaXMuc3RyZWFtLmdldEJ5dGUoKX1nZXRUb2tlbigpe2xldCBlPSExLHQ9dGhpcy5jdXJyZW50Q2hhcjtmb3IoOzspe2lmKHQ8MClyZXR1cm4geXQ7aWYoZSkxMCE9PXQmJjEzIT09dHx8KGU9ITEpO2Vsc2UgaWYoMzc9PT10KWU9ITA7ZWxzZSBpZighaXNXaGl0ZVNwYWNlKHQpKWJyZWFrO3Q9dGhpcy5uZXh0Q2hhcigpfXN3aXRjaCgwfHQpe2Nhc2UgNDg6Y2FzZSA0OTpjYXNlIDUwOmNhc2UgNTE6Y2FzZSA1MjpjYXNlIDUzOmNhc2UgNTQ6Y2FzZSA1NTpjYXNlIDU2OmNhc2UgNTc6Y2FzZSA0MzpjYXNlIDQ1OmNhc2UgNDY6cmV0dXJuIG5ldyBQb3N0U2NyaXB0VG9rZW4obHMuTlVNQkVSLHRoaXMuZ2V0TnVtYmVyKCkpO2Nhc2UgMTIzOnRoaXMubmV4dENoYXIoKTtyZXR1cm4gUG9zdFNjcmlwdFRva2VuLkxCUkFDRTtjYXNlIDEyNTp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5SQlJBQ0V9Y29uc3QgaT10aGlzLnN0ckJ1ZjtpLmxlbmd0aD0wO2lbMF09U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtmb3IoOyh0PXRoaXMubmV4dENoYXIoKSk+PTAmJih0Pj02NSYmdDw9OTB8fHQ+PTk3JiZ0PD0xMjIpOylpLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSh0KSk7Y29uc3QgYT1pLmpvaW4oIiIpO3N3aXRjaChhLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaWYiOnJldHVybiBQb3N0U2NyaXB0VG9rZW4uSUY7Y2FzZSJpZmVsc2UiOnJldHVybiBQb3N0U2NyaXB0VG9rZW4uSUZFTFNFO2RlZmF1bHQ6cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5nZXRPcGVyYXRvcihhKX19Z2V0TnVtYmVyKCl7bGV0IGU9dGhpcy5jdXJyZW50Q2hhcjtjb25zdCB0PXRoaXMuc3RyQnVmO3QubGVuZ3RoPTA7dFswXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpO2Zvcig7KGU9dGhpcy5uZXh0Q2hhcigpKT49MCYmKGU+PTQ4JiZlPD01N3x8NDU9PT1lfHw0Nj09PWUpOyl0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShlKSk7Y29uc3QgaT1wYXJzZUZsb2F0KHQuam9pbigiIikpO2lmKGlzTmFOKGkpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBmbG9hdGluZyBwb2ludCBudW1iZXI6ICR7aX1gKTtyZXR1cm4gaX19Y2xhc3MgQmFzZUxvY2FsQ2FjaGV7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25seVJlZnM9ITA9PT1lPy5vbmx5UmVmcztpZighdGhpcy5fb25seVJlZnMpe3RoaXMuX25hbWVSZWZNYXA9bmV3IE1hcDt0aGlzLl9pbWFnZU1hcD1uZXcgTWFwfXRoaXMuX2ltYWdlQ2FjaGU9bmV3IFJlZlNldENhY2hlfWdldEJ5TmFtZShlKXt0aGlzLl9vbmx5UmVmcyYmdW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBgZ2V0QnlOYW1lYCBtZXRob2QuIik7Y29uc3QgdD10aGlzLl9uYW1lUmVmTWFwLmdldChlKTtyZXR1cm4gdD90aGlzLmdldEJ5UmVmKHQpOnRoaXMuX2ltYWdlTWFwLmdldChlKXx8bnVsbH1nZXRCeVJlZihlKXtyZXR1cm4gdGhpcy5faW1hZ2VDYWNoZS5nZXQoZSl8fG51bGx9c2V0KGUsdCxpKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBzZXRgIGNhbGxlZC4iKX19Y2xhc3MgTG9jYWxJbWFnZUNhY2hlIGV4dGVuZHMgQmFzZUxvY2FsQ2FjaGV7c2V0KGUsdD1udWxsLGkpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsSW1hZ2VDYWNoZS5zZXQgLSBleHBlY3RlZCAibmFtZSIgYXJndW1lbnQuJyk7aWYodCl7aWYodGhpcy5faW1hZ2VDYWNoZS5oYXModCkpcmV0dXJuO3RoaXMuX25hbWVSZWZNYXAuc2V0KGUsdCk7dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX1lbHNlIHRoaXMuX2ltYWdlTWFwLmhhcyhlKXx8dGhpcy5faW1hZ2VNYXAuc2V0KGUsaSl9fWNsYXNzIExvY2FsQ29sb3JTcGFjZUNhY2hlIGV4dGVuZHMgQmFzZUxvY2FsQ2FjaGV7c2V0KGU9bnVsbCx0PW51bGwsaSl7aWYoInN0cmluZyIhPXR5cGVvZiBlJiYhdCl0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsQ29sb3JTcGFjZUNhY2hlLnNldCAtIGV4cGVjdGVkICJuYW1lIiBhbmQvb3IgInJlZiIgYXJndW1lbnQuJyk7aWYodCl7aWYodGhpcy5faW1hZ2VDYWNoZS5oYXModCkpcmV0dXJuO251bGwhPT1lJiZ0aGlzLl9uYW1lUmVmTWFwLnNldChlLHQpO3RoaXMuX2ltYWdlQ2FjaGUucHV0KHQsaSl9ZWxzZSB0aGlzLl9pbWFnZU1hcC5oYXMoZSl8fHRoaXMuX2ltYWdlTWFwLnNldChlLGkpfX1jbGFzcyBMb2NhbEZ1bmN0aW9uQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXtzdXBlcih7b25seVJlZnM6ITB9KX1zZXQoZT1udWxsLHQsaSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCdMb2NhbEZ1bmN0aW9uQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgInJlZiIgYXJndW1lbnQuJyk7dGhpcy5faW1hZ2VDYWNoZS5oYXModCl8fHRoaXMuX2ltYWdlQ2FjaGUucHV0KHQsaSl9fWNsYXNzIExvY2FsR1N0YXRlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtzZXQoZSx0PW51bGwsaSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcignTG9jYWxHU3RhdGVDYWNoZS5zZXQgLSBleHBlY3RlZCAibmFtZSIgYXJndW1lbnQuJyk7aWYodCl7aWYodGhpcy5faW1hZ2VDYWNoZS5oYXModCkpcmV0dXJuO3RoaXMuX25hbWVSZWZNYXAuc2V0KGUsdCk7dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX1lbHNlIHRoaXMuX2ltYWdlTWFwLmhhcyhlKXx8dGhpcy5faW1hZ2VNYXAuc2V0KGUsaSl9fWNsYXNzIExvY2FsVGlsaW5nUGF0dGVybkNhY2hlIGV4dGVuZHMgQmFzZUxvY2FsQ2FjaGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoe29ubHlSZWZzOiEwfSl9c2V0KGU9bnVsbCx0LGkpe2lmKCF0KXRocm93IG5ldyBFcnJvcignTG9jYWxUaWxpbmdQYXR0ZXJuQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgInJlZiIgYXJndW1lbnQuJyk7dGhpcy5faW1hZ2VDYWNoZS5oYXModCl8fHRoaXMuX2ltYWdlQ2FjaGUucHV0KHQsaSl9fWNsYXNzIFJlZ2lvbmFsSW1hZ2VDYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle2NvbnN0cnVjdG9yKGUpe3N1cGVyKHtvbmx5UmVmczohMH0pfXNldChlPW51bGwsdCxpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoJ1JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQgLSBleHBlY3RlZCAicmVmIiBhcmd1bWVudC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KXx8dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX19Y2xhc3MgR2xvYmFsSW1hZ2VDYWNoZXtzdGF0aWMgTlVNX1BBR0VTX1RIUkVTSE9MRD0yO3N0YXRpYyBNSU5fSU1BR0VTX1RPX0NBQ0hFPTEwO3N0YXRpYyBNQVhfQllURV9TSVpFPTVlNzsjRj1uZXcgUmVmU2V0O2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVmQ2FjaGU9bmV3IFJlZlNldENhY2hlO3RoaXMuX2ltYWdlQ2FjaGU9bmV3IFJlZlNldENhY2hlfWdldCNTKCl7bGV0IGU9MDtmb3IoY29uc3QgdCBvZiB0aGlzLl9pbWFnZUNhY2hlKWUrPXQuYnl0ZVNpemU7cmV0dXJuIGV9Z2V0I2soKXtyZXR1cm4hKHRoaXMuX2ltYWdlQ2FjaGUuc2l6ZTxHbG9iYWxJbWFnZUNhY2hlLk1JTl9JTUFHRVNfVE9fQ0FDSEUpJiYhKHRoaXMuI1M8R2xvYmFsSW1hZ2VDYWNoZS5NQVhfQllURV9TSVpFKX1zaG91bGRDYWNoZShlLHQpe2xldCBpPXRoaXMuX3JlZkNhY2hlLmdldChlKTtpZighaSl7aT1uZXcgU2V0O3RoaXMuX3JlZkNhY2hlLnB1dChlLGkpfWkuYWRkKHQpO3JldHVybiEoaS5zaXplPEdsb2JhbEltYWdlQ2FjaGUuTlVNX1BBR0VTX1RIUkVTSE9MRCkmJiEoIXRoaXMuX2ltYWdlQ2FjaGUuaGFzKGUpJiZ0aGlzLiNrKX1hZGREZWNvZGVGYWlsZWQoZSl7dGhpcy4jRi5wdXQoZSl9aGFzRGVjb2RlRmFpbGVkKGUpe3JldHVybiB0aGlzLiNGLmhhcyhlKX1hZGRCeXRlU2l6ZShlLHQpe2NvbnN0IGk9dGhpcy5faW1hZ2VDYWNoZS5nZXQoZSk7aSYmKGkuYnl0ZVNpemV8fChpLmJ5dGVTaXplPXQpKX1nZXREYXRhKGUsdCl7Y29uc3QgaT10aGlzLl9yZWZDYWNoZS5nZXQoZSk7aWYoIWkpcmV0dXJuIG51bGw7aWYoaS5zaXplPEdsb2JhbEltYWdlQ2FjaGUuTlVNX1BBR0VTX1RIUkVTSE9MRClyZXR1cm4gbnVsbDtjb25zdCBhPXRoaXMuX2ltYWdlQ2FjaGUuZ2V0KGUpO2lmKCFhKXJldHVybiBudWxsO2kuYWRkKHQpO3JldHVybiBhfXNldERhdGEoZSx0KXtpZighdGhpcy5fcmVmQ2FjaGUuaGFzKGUpKXRocm93IG5ldyBFcnJvcignR2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhIC0gZXhwZWN0ZWQgInNob3VsZENhY2hlIiB0byBoYXZlIGJlZW4gY2FsbGVkLicpO3RoaXMuX2ltYWdlQ2FjaGUuaGFzKGUpfHwodGhpcy4jaz93YXJuKCJHbG9iYWxJbWFnZUNhY2hlLnNldERhdGEgLSBjYWNoZSBsaW1pdCByZWFjaGVkLiIpOnRoaXMuX2ltYWdlQ2FjaGUucHV0KGUsdCkpfWNsZWFyKGU9ITEpe2lmKCFlKXt0aGlzLiNGLmNsZWFyKCk7dGhpcy5fcmVmQ2FjaGUuY2xlYXIoKX10aGlzLl9pbWFnZUNhY2hlLmNsZWFyKCl9fWNsYXNzIFBERkZ1bmN0aW9uRmFjdG9yeXtjb25zdHJ1Y3Rvcih7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0PSEwfSl7dGhpcy54cmVmPWU7dGhpcy5pc0V2YWxTdXBwb3J0ZWQ9ITEhPT10fWNyZWF0ZShlKXtjb25zdCB0PXRoaXMuZ2V0Q2FjaGVkKGUpO2lmKHQpcmV0dXJuIHQ7Y29uc3QgaT1QREZGdW5jdGlvbi5wYXJzZSh7eHJlZjp0aGlzLnhyZWYsaXNFdmFsU3VwcG9ydGVkOnRoaXMuaXNFdmFsU3VwcG9ydGVkLGZuOmUgaW5zdGFuY2VvZiBSZWY/dGhpcy54cmVmLmZldGNoKGUpOmV9KTt0aGlzLl9jYWNoZShlLGkpO3JldHVybiBpfWNyZWF0ZUZyb21BcnJheShlKXtjb25zdCB0PXRoaXMuZ2V0Q2FjaGVkKGUpO2lmKHQpcmV0dXJuIHQ7Y29uc3QgaT1QREZGdW5jdGlvbi5wYXJzZUFycmF5KHt4cmVmOnRoaXMueHJlZixpc0V2YWxTdXBwb3J0ZWQ6dGhpcy5pc0V2YWxTdXBwb3J0ZWQsZm5PYmo6ZSBpbnN0YW5jZW9mIFJlZj90aGlzLnhyZWYuZmV0Y2goZSk6ZX0pO3RoaXMuX2NhY2hlKGUsaSk7cmV0dXJuIGl9Z2V0Q2FjaGVkKGUpe2xldCB0O2UgaW5zdGFuY2VvZiBSZWY/dD1lOmUgaW5zdGFuY2VvZiBEaWN0P3Q9ZS5vYmpJZDplIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKHQ9ZS5kaWN0Py5vYmpJZCk7aWYodCl7Y29uc3QgZT10aGlzLl9sb2NhbEZ1bmN0aW9uQ2FjaGUuZ2V0QnlSZWYodCk7aWYoZSlyZXR1cm4gZX1yZXR1cm4gbnVsbH1fY2FjaGUoZSx0KXtpZighdCl0aHJvdyBuZXcgRXJyb3IoJ1BERkZ1bmN0aW9uRmFjdG9yeS5fY2FjaGUgLSBleHBlY3RlZCAicGFyc2VkRnVuY3Rpb24iIGFyZ3VtZW50LicpO2xldCBpO2UgaW5zdGFuY2VvZiBSZWY/aT1lOmUgaW5zdGFuY2VvZiBEaWN0P2k9ZS5vYmpJZDplIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKGk9ZS5kaWN0Py5vYmpJZCk7aSYmdGhpcy5fbG9jYWxGdW5jdGlvbkNhY2hlLnNldChudWxsLGksdCl9Z2V0IF9sb2NhbEZ1bmN0aW9uQ2FjaGUoKXtyZXR1cm4gc2hhZG93KHRoaXMsIl9sb2NhbEZ1bmN0aW9uQ2FjaGUiLG5ldyBMb2NhbEZ1bmN0aW9uQ2FjaGUpfX1mdW5jdGlvbiB0b051bWJlckFycmF5KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2lzTnVtYmVyQXJyYXkoZSxudWxsKT9lOmUubWFwKChlPT4rZSkpOm51bGx9Y2xhc3MgUERGRnVuY3Rpb257c3RhdGljIGdldFNhbXBsZUFycmF5KGUsdCxpLGEpe2xldCBzLHIsbj0xO2ZvcihzPTAscj1lLmxlbmd0aDtzPHI7cysrKW4qPWVbc107bio9dDtjb25zdCBnPW5ldyBBcnJheShuKTtsZXQgbz0wLGM9MDtjb25zdCBDPTEvKDIqKmktMSksaD1hLmdldEJ5dGVzKChuKmkrNykvOCk7bGV0IGw9MDtmb3Iocz0wO3M8bjtzKyspe2Zvcig7bzxpOyl7Yzw8PTg7Y3w9aFtsKytdO28rPTh9by09aTtnW3NdPShjPj5vKSpDO2MmPSgxPDxvKS0xfXJldHVybiBnfXN0YXRpYyBwYXJzZSh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOml9KXtjb25zdCBhPWkuZGljdHx8aTtzd2l0Y2goYS5nZXQoIkZ1bmN0aW9uVHlwZSIpKXtjYXNlIDA6cmV0dXJuIHRoaXMuY29uc3RydWN0U2FtcGxlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOmksZGljdDphfSk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpyZXR1cm4gdGhpcy5jb25zdHJ1Y3RJbnRlcnBvbGF0ZWQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxkaWN0OmF9KTtjYXNlIDM6cmV0dXJuIHRoaXMuY29uc3RydWN0U3RpY2hlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGRpY3Q6YX0pO2Nhc2UgNDpyZXR1cm4gdGhpcy5jb25zdHJ1Y3RQb3N0U2NyaXB0KHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aSxkaWN0OmF9KX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gdHlwZSBvZiBmdW5jdGlvbiIpfXN0YXRpYyBwYXJzZUFycmF5KHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm5PYmo6aX0pe2lmKCFBcnJheS5pc0FycmF5KGkpKXJldHVybiB0aGlzLnBhcnNlKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aX0pO2NvbnN0IGE9W107Zm9yKGNvbnN0IHMgb2YgaSlhLnB1c2godGhpcy5wYXJzZSh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOmUuZmV0Y2hJZlJlZihzKX0pKTtyZXR1cm4gZnVuY3Rpb24oZSx0LGkscyl7Zm9yKGxldCByPTAsbj1hLmxlbmd0aDtyPG47cisrKWFbcl0oZSx0LGkscytyKX19c3RhdGljIGNvbnN0cnVjdFNhbXBsZWQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjppLGRpY3Q6YX0pe2Z1bmN0aW9uIHRvTXVsdGlBcnJheShlKXtjb25zdCB0PWUubGVuZ3RoLGk9W107bGV0IGE9MDtmb3IobGV0IHM9MDtzPHQ7cys9MilpW2ErK109W2Vbc10sZVtzKzFdXTtyZXR1cm4gaX1mdW5jdGlvbiBpbnRlcnBvbGF0ZShlLHQsaSxhLHMpe3JldHVybiBhKyhzLWEpLyhpLXQpKihlLXQpfWxldCBzPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiRG9tYWluIikpLHI9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJSYW5nZSIpKTtpZighc3x8IXIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBkb21haW4gb3IgcmFuZ2UiKTtjb25zdCBuPXMubGVuZ3RoLzIsZz1yLmxlbmd0aC8yO3M9dG9NdWx0aUFycmF5KHMpO3I9dG9NdWx0aUFycmF5KHIpO2NvbnN0IG89dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJTaXplIikpLGM9YS5nZXQoIkJpdHNQZXJTYW1wbGUiKSxDPWEuZ2V0KCJPcmRlciIpfHwxOzEhPT1DJiZpbmZvKCJObyBzdXBwb3J0IGZvciBjdWJpYyBzcGxpbmUgaW50ZXJwb2xhdGlvbjogIitDKTtsZXQgaD10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIkVuY29kZSIpKTtpZihoKWg9dG9NdWx0aUFycmF5KGgpO2Vsc2V7aD1bXTtmb3IobGV0IGU9MDtlPG47KytlKWgucHVzaChbMCxvW2VdLTFdKX1sZXQgbD10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIkRlY29kZSIpKTtsPWw/dG9NdWx0aUFycmF5KGwpOnI7Y29uc3QgUT10aGlzLmdldFNhbXBsZUFycmF5KG8sZyxjLGkpO3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTYW1wbGVkRm4oZSx0LGksYSl7Y29uc3QgYz0xPDxuLEM9bmV3IEZsb2F0NjRBcnJheShjKSxFPW5ldyBVaW50MzJBcnJheShjKTtsZXQgdSxkO2ZvcihkPTA7ZDxjO2QrKylDW2RdPTE7bGV0IGY9ZyxwPTE7Zm9yKHU9MDt1PG47Kyt1KXtjb25zdCBpPXNbdV1bMF0sYT1zW3VdWzFdO2xldCByPWludGVycG9sYXRlKE1hdGgubWluKE1hdGgubWF4KGVbdCt1XSxpKSxhKSxpLGEsaFt1XVswXSxoW3VdWzFdKTtjb25zdCBuPW9bdV07cj1NYXRoLm1pbihNYXRoLm1heChyLDApLG4tMSk7Y29uc3QgZz1yPG4tMT9NYXRoLmZsb29yKHIpOnItMSxsPWcrMS1yLFE9ci1nLG09ZypmLHk9bStmO2ZvcihkPTA7ZDxjO2QrKylpZihkJnApe0NbZF0qPVE7RVtkXSs9eX1lbHNle0NbZF0qPWw7RVtkXSs9bX1mKj1uO3A8PD0xfWZvcihkPTA7ZDxnOysrZCl7bGV0IGU9MDtmb3IodT0wO3U8Yzt1KyspZSs9UVtFW3VdK2RdKkNbdV07ZT1pbnRlcnBvbGF0ZShlLDAsMSxsW2RdWzBdLGxbZF1bMV0pO2lbYStkXT1NYXRoLm1pbihNYXRoLm1heChlLHJbZF1bMF0pLHJbZF1bMV0pfX19c3RhdGljIGNvbnN0cnVjdEludGVycG9sYXRlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGRpY3Q6aX0pe2NvbnN0IGE9dG9OdW1iZXJBcnJheShpLmdldEFycmF5KCJDMCIpKXx8WzBdLHM9dG9OdW1iZXJBcnJheShpLmdldEFycmF5KCJDMSIpKXx8WzFdLHI9aS5nZXQoIk4iKSxuPVtdO2ZvcihsZXQgZT0wLHQ9YS5sZW5ndGg7ZTx0OysrZSluLnB1c2goc1tlXS1hW2VdKTtjb25zdCBnPW4ubGVuZ3RoO3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RJbnRlcnBvbGF0ZWRGbihlLHQsaSxzKXtjb25zdCBvPTE9PT1yP2VbdF06ZVt0XSoqcjtmb3IobGV0IGU9MDtlPGc7KytlKWlbcytlXT1hW2VdK28qbltlXX19c3RhdGljIGNvbnN0cnVjdFN0aWNoZWQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxkaWN0Oml9KXtjb25zdCBhPXRvTnVtYmVyQXJyYXkoaS5nZXRBcnJheSgiRG9tYWluIikpO2lmKCFhKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm8gZG9tYWluIik7aWYoMSE9PWEubGVuZ3RoLzIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJCYWQgZG9tYWluIGZvciBzdGljaGVkIGZ1bmN0aW9uIik7Y29uc3Qgcz1bXTtmb3IoY29uc3QgYSBvZiBpLmdldCgiRnVuY3Rpb25zIikpcy5wdXNoKHRoaXMucGFyc2Uoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjplLmZldGNoSWZSZWYoYSl9KSk7Y29uc3Qgcj10b051bWJlckFycmF5KGkuZ2V0QXJyYXkoIkJvdW5kcyIpKSxuPXRvTnVtYmVyQXJyYXkoaS5nZXRBcnJheSgiRW5jb2RlIikpLGc9bmV3IEZsb2F0MzJBcnJheSgxKTtyZXR1cm4gZnVuY3Rpb24gY29uc3RydWN0U3RpY2hlZEZuKGUsdCxpLG8pe2NvbnN0IGM9ZnVuY3Rpb24gY29uc3RydWN0U3RpY2hlZEZyb21JUkNsaXAoZSx0LGkpe2U+aT9lPWk6ZTx0JiYoZT10KTtyZXR1cm4gZX0oZVt0XSxhWzBdLGFbMV0pLEM9ci5sZW5ndGg7bGV0IGg7Zm9yKGg9MDtoPEMmJiEoYzxyW2hdKTsrK2gpO2xldCBsPWFbMF07aD4wJiYobD1yW2gtMV0pO2xldCBRPWFbMV07aDxyLmxlbmd0aCYmKFE9cltoXSk7Y29uc3QgRT1uWzIqaF0sdT1uWzIqaCsxXTtnWzBdPWw9PT1RP0U6RSsoYy1sKSoodS1FKS8oUS1sKTtzW2hdKGcsMCxpLG8pfX1zdGF0aWMgY29uc3RydWN0UG9zdFNjcmlwdCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOmksZGljdDphfSl7Y29uc3Qgcz10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIkRvbWFpbiIpKSxyPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiUmFuZ2UiKSk7aWYoIXMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBkb21haW4uIik7aWYoIXIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyByYW5nZS4iKTtjb25zdCBuPW5ldyBQb3N0U2NyaXB0TGV4ZXIoaSksZz1uZXcgUG9zdFNjcmlwdFBhcnNlcihuKS5wYXJzZSgpO2lmKHQmJkZlYXR1cmVUZXN0LmlzRXZhbFN1cHBvcnRlZCl7Y29uc3QgZT0obmV3IFBvc3RTY3JpcHRDb21waWxlcikuY29tcGlsZShnLHMscik7aWYoZSlyZXR1cm4gbmV3IEZ1bmN0aW9uKCJzcmMiLCJzcmNPZmZzZXQiLCJkZXN0IiwiZGVzdE9mZnNldCIsZSl9aW5mbygiVW5hYmxlIHRvIGNvbXBpbGUgUFMgZnVuY3Rpb24iKTtjb25zdCBvPXIubGVuZ3RoPj4xLGM9cy5sZW5ndGg+PjEsQz1uZXcgUG9zdFNjcmlwdEV2YWx1YXRvcihnKSxoPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IGw9ODE5Mjtjb25zdCBRPW5ldyBGbG9hdDMyQXJyYXkoYyk7cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdFBvc3RTY3JpcHRGbihlLHQsaSxhKXtsZXQgcyxuLGc9IiI7Y29uc3QgRT1RO2ZvcihzPTA7czxjO3MrKyl7bj1lW3Qrc107RVtzXT1uO2crPW4rIl8ifWNvbnN0IHU9aFtnXTtpZih2b2lkIDAhPT11KXtpLnNldCh1LGEpO3JldHVybn1jb25zdCBkPW5ldyBGbG9hdDMyQXJyYXkobyksZj1DLmV4ZWN1dGUoRSkscD1mLmxlbmd0aC1vO2ZvcihzPTA7czxvO3MrKyl7bj1mW3Arc107bGV0IGU9clsyKnNdO2lmKG48ZSluPWU7ZWxzZXtlPXJbMipzKzFdO24+ZSYmKG49ZSl9ZFtzXT1ufWlmKGw+MCl7bC0tO2hbZ109ZH1pLnNldChkLGEpfX19ZnVuY3Rpb24gaXNQREZGdW5jdGlvbihlKXtsZXQgdDtpZihlIGluc3RhbmNlb2YgRGljdCl0PWU7ZWxzZXtpZighKGUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSlyZXR1cm4hMTt0PWUuZGljdH1yZXR1cm4gdC5oYXMoIkZ1bmN0aW9uVHlwZSIpfWNsYXNzIFBvc3RTY3JpcHRTdGFja3tzdGF0aWMgTUFYX1NUQUNLX1NJWkU9MTAwO2NvbnN0cnVjdG9yKGUpe3RoaXMuc3RhY2s9ZT9BcnJheS5mcm9tKGUpOltdfXB1c2goZSl7aWYodGhpcy5zdGFjay5sZW5ndGg+PVBvc3RTY3JpcHRTdGFjay5NQVhfU1RBQ0tfU0laRSl0aHJvdyBuZXcgRXJyb3IoIlBvc3RTY3JpcHQgZnVuY3Rpb24gc3RhY2sgb3ZlcmZsb3cuIik7dGhpcy5zdGFjay5wdXNoKGUpfXBvcCgpe2lmKHRoaXMuc3RhY2subGVuZ3RoPD0wKXRocm93IG5ldyBFcnJvcigiUG9zdFNjcmlwdCBmdW5jdGlvbiBzdGFjayB1bmRlcmZsb3cuIik7cmV0dXJuIHRoaXMuc3RhY2sucG9wKCl9Y29weShlKXtpZih0aGlzLnN0YWNrLmxlbmd0aCtlPj1Qb3N0U2NyaXB0U3RhY2suTUFYX1NUQUNLX1NJWkUpdGhyb3cgbmV3IEVycm9yKCJQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIG92ZXJmbG93LiIpO2NvbnN0IHQ9dGhpcy5zdGFjaztmb3IobGV0IGk9dC5sZW5ndGgtZSxhPWUtMTthPj0wO2EtLSxpKyspdC5wdXNoKHRbaV0pfWluZGV4KGUpe3RoaXMucHVzaCh0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLWUtMV0pfXJvbGwoZSx0KXtjb25zdCBpPXRoaXMuc3RhY2ssYT1pLmxlbmd0aC1lLHM9aS5sZW5ndGgtMSxyPWErKHQtTWF0aC5mbG9vcih0L2UpKmUpO2ZvcihsZXQgZT1hLHQ9cztlPHQ7ZSsrLHQtLSl7Y29uc3QgYT1pW2VdO2lbZV09aVt0XTtpW3RdPWF9Zm9yKGxldCBlPWEsdD1yLTE7ZTx0O2UrKyx0LS0pe2NvbnN0IGE9aVtlXTtpW2VdPWlbdF07aVt0XT1hfWZvcihsZXQgZT1yLHQ9cztlPHQ7ZSsrLHQtLSl7Y29uc3QgYT1pW2VdO2lbZV09aVt0XTtpW3RdPWF9fX1jbGFzcyBQb3N0U2NyaXB0RXZhbHVhdG9ye2NvbnN0cnVjdG9yKGUpe3RoaXMub3BlcmF0b3JzPWV9ZXhlY3V0ZShlKXtjb25zdCB0PW5ldyBQb3N0U2NyaXB0U3RhY2soZSk7bGV0IGk9MDtjb25zdCBhPXRoaXMub3BlcmF0b3JzLHM9YS5sZW5ndGg7bGV0IHIsbixnO2Zvcig7aTxzOyl7cj1hW2krK107aWYoIm51bWJlciIhPXR5cGVvZiByKXN3aXRjaChyKXtjYXNlImp6IjpnPXQucG9wKCk7bj10LnBvcCgpO258fChpPWcpO2JyZWFrO2Nhc2UiaiI6bj10LnBvcCgpO2k9bjticmVhaztjYXNlImFicyI6bj10LnBvcCgpO3QucHVzaChNYXRoLmFicyhuKSk7YnJlYWs7Y2FzZSJhZGQiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4rZyk7YnJlYWs7Y2FzZSJhbmQiOmc9dC5wb3AoKTtuPXQucG9wKCk7ImJvb2xlYW4iPT10eXBlb2YgbiYmImJvb2xlYW4iPT10eXBlb2YgZz90LnB1c2gobiYmZyk6dC5wdXNoKG4mZyk7YnJlYWs7Y2FzZSJhdGFuIjpnPXQucG9wKCk7bj10LnBvcCgpO249TWF0aC5hdGFuMihuLGcpL01hdGguUEkqMTgwO248MCYmKG4rPTM2MCk7dC5wdXNoKG4pO2JyZWFrO2Nhc2UiYml0c2hpZnQiOmc9dC5wb3AoKTtuPXQucG9wKCk7bj4wP3QucHVzaChuPDxnKTp0LnB1c2gobj4+Zyk7YnJlYWs7Y2FzZSJjZWlsaW5nIjpuPXQucG9wKCk7dC5wdXNoKE1hdGguY2VpbChuKSk7YnJlYWs7Y2FzZSJjb3B5IjpuPXQucG9wKCk7dC5jb3B5KG4pO2JyZWFrO2Nhc2UiY29zIjpuPXQucG9wKCk7dC5wdXNoKE1hdGguY29zKG4lMzYwLzE4MCpNYXRoLlBJKSk7YnJlYWs7Y2FzZSJjdmkiOm49MHx0LnBvcCgpO3QucHVzaChuKTticmVhaztjYXNlImN2ciI6YnJlYWs7Y2FzZSJkaXYiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4vZyk7YnJlYWs7Y2FzZSJkdXAiOnQuY29weSgxKTticmVhaztjYXNlImVxIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuPT09Zyk7YnJlYWs7Y2FzZSJleGNoIjp0LnJvbGwoMiwxKTticmVhaztjYXNlImV4cCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobioqZyk7YnJlYWs7Y2FzZSJmYWxzZSI6dC5wdXNoKCExKTticmVhaztjYXNlImZsb29yIjpuPXQucG9wKCk7dC5wdXNoKE1hdGguZmxvb3IobikpO2JyZWFrO2Nhc2UiZ2UiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4+PWcpO2JyZWFrO2Nhc2UiZ3QiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4+Zyk7YnJlYWs7Y2FzZSJpZGl2IjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuL2d8MCk7YnJlYWs7Y2FzZSJpbmRleCI6bj10LnBvcCgpO3QuaW5kZXgobik7YnJlYWs7Y2FzZSJsZSI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobjw9Zyk7YnJlYWs7Y2FzZSJsbiI6bj10LnBvcCgpO3QucHVzaChNYXRoLmxvZyhuKSk7YnJlYWs7Y2FzZSJsb2ciOm49dC5wb3AoKTt0LnB1c2goTWF0aC5sb2cxMChuKSk7YnJlYWs7Y2FzZSJsdCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobjxnKTticmVhaztjYXNlIm1vZCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobiVnKTticmVhaztjYXNlIm11bCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobipnKTticmVhaztjYXNlIm5lIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuIT09Zyk7YnJlYWs7Y2FzZSJuZWciOm49dC5wb3AoKTt0LnB1c2goLW4pO2JyZWFrO2Nhc2Uibm90IjpuPXQucG9wKCk7ImJvb2xlYW4iPT10eXBlb2Ygbj90LnB1c2goIW4pOnQucHVzaCh+bik7YnJlYWs7Y2FzZSJvciI6Zz10LnBvcCgpO249dC5wb3AoKTsiYm9vbGVhbiI9PXR5cGVvZiBuJiYiYm9vbGVhbiI9PXR5cGVvZiBnP3QucHVzaChufHxnKTp0LnB1c2gobnxnKTticmVhaztjYXNlInBvcCI6dC5wb3AoKTticmVhaztjYXNlInJvbGwiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5yb2xsKG4sZyk7YnJlYWs7Y2FzZSJyb3VuZCI6bj10LnBvcCgpO3QucHVzaChNYXRoLnJvdW5kKG4pKTticmVhaztjYXNlInNpbiI6bj10LnBvcCgpO3QucHVzaChNYXRoLnNpbihuJTM2MC8xODAqTWF0aC5QSSkpO2JyZWFrO2Nhc2Uic3FydCI6bj10LnBvcCgpO3QucHVzaChNYXRoLnNxcnQobikpO2JyZWFrO2Nhc2Uic3ViIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuLWcpO2JyZWFrO2Nhc2UidHJ1ZSI6dC5wdXNoKCEwKTticmVhaztjYXNlInRydW5jYXRlIjpuPXQucG9wKCk7bj1uPDA/TWF0aC5jZWlsKG4pOk1hdGguZmxvb3Iobik7dC5wdXNoKG4pO2JyZWFrO2Nhc2UieG9yIjpnPXQucG9wKCk7bj10LnBvcCgpOyJib29sZWFuIj09dHlwZW9mIG4mJiJib29sZWFuIj09dHlwZW9mIGc/dC5wdXNoKG4hPT1nKTp0LnB1c2gobl5nKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBvcGVyYXRvciAke3J9YCl9ZWxzZSB0LnB1c2gocil9cmV0dXJuIHQuc3RhY2t9fWNsYXNzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSl7dGhpcy50eXBlPWV9dmlzaXQoZSl7dW5yZWFjaGFibGUoImFic3RyYWN0IG1ldGhvZCIpfX1jbGFzcyBBc3RBcmd1bWVudCBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCJhcmdzIik7dGhpcy5pbmRleD1lO3RoaXMubWluPXQ7dGhpcy5tYXg9aX12aXNpdChlKXtlLnZpc2l0QXJndW1lbnQodGhpcyl9fWNsYXNzIEFzdExpdGVyYWwgZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCJsaXRlcmFsIik7dGhpcy5udW1iZXI9ZTt0aGlzLm1pbj1lO3RoaXMubWF4PWV9dmlzaXQoZSl7ZS52aXNpdExpdGVyYWwodGhpcyl9fWNsYXNzIEFzdEJpbmFyeU9wZXJhdGlvbiBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSx0LGksYSxzKXtzdXBlcigiYmluYXJ5Iik7dGhpcy5vcD1lO3RoaXMuYXJnMT10O3RoaXMuYXJnMj1pO3RoaXMubWluPWE7dGhpcy5tYXg9c312aXNpdChlKXtlLnZpc2l0QmluYXJ5T3BlcmF0aW9uKHRoaXMpfX1jbGFzcyBBc3RNaW4gZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoIm1heCIpO3RoaXMuYXJnPWU7dGhpcy5taW49ZS5taW47dGhpcy5tYXg9dH12aXNpdChlKXtlLnZpc2l0TWluKHRoaXMpfX1jbGFzcyBBc3RWYXJpYWJsZSBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCJ2YXIiKTt0aGlzLmluZGV4PWU7dGhpcy5taW49dDt0aGlzLm1heD1pfXZpc2l0KGUpe2UudmlzaXRWYXJpYWJsZSh0aGlzKX19Y2xhc3MgQXN0VmFyaWFibGVEZWZpbml0aW9uIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCJkZWZpbml0aW9uIik7dGhpcy52YXJpYWJsZT1lO3RoaXMuYXJnPXR9dmlzaXQoZSl7ZS52aXNpdFZhcmlhYmxlRGVmaW5pdGlvbih0aGlzKX19Y2xhc3MgRXhwcmVzc2lvbkJ1aWxkZXJWaXNpdG9ye2NvbnN0cnVjdG9yKCl7dGhpcy5wYXJ0cz1bXX12aXNpdEFyZ3VtZW50KGUpe3RoaXMucGFydHMucHVzaCgiTWF0aC5tYXgoIixlLm1pbiwiLCBNYXRoLm1pbigiLGUubWF4LCIsIHNyY1tzcmNPZmZzZXQgKyAiLGUuaW5kZXgsIl0pKSIpfXZpc2l0VmFyaWFibGUoZSl7dGhpcy5wYXJ0cy5wdXNoKCJ2IixlLmluZGV4KX12aXNpdExpdGVyYWwoZSl7dGhpcy5wYXJ0cy5wdXNoKGUubnVtYmVyKX12aXNpdEJpbmFyeU9wZXJhdGlvbihlKXt0aGlzLnBhcnRzLnB1c2goIigiKTtlLmFyZzEudmlzaXQodGhpcyk7dGhpcy5wYXJ0cy5wdXNoKCIgIixlLm9wLCIgIik7ZS5hcmcyLnZpc2l0KHRoaXMpO3RoaXMucGFydHMucHVzaCgiKSIpfXZpc2l0VmFyaWFibGVEZWZpbml0aW9uKGUpe3RoaXMucGFydHMucHVzaCgidmFyICIpO2UudmFyaWFibGUudmlzaXQodGhpcyk7dGhpcy5wYXJ0cy5wdXNoKCIgPSAiKTtlLmFyZy52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIjsiKX12aXNpdE1pbihlKXt0aGlzLnBhcnRzLnB1c2goIk1hdGgubWluKCIpO2UuYXJnLnZpc2l0KHRoaXMpO3RoaXMucGFydHMucHVzaCgiLCAiLGUubWF4LCIpIil9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5wYXJ0cy5qb2luKCIiKX19ZnVuY3Rpb24gYnVpbGRBZGRPcGVyYXRpb24oZSx0KXtyZXR1cm4ibGl0ZXJhbCI9PT10LnR5cGUmJjA9PT10Lm51bWJlcj9lOiJsaXRlcmFsIj09PWUudHlwZSYmMD09PWUubnVtYmVyP3Q6ImxpdGVyYWwiPT09dC50eXBlJiYibGl0ZXJhbCI9PT1lLnR5cGU/bmV3IEFzdExpdGVyYWwoZS5udW1iZXIrdC5udW1iZXIpOm5ldyBBc3RCaW5hcnlPcGVyYXRpb24oIisiLGUsdCxlLm1pbit0Lm1pbixlLm1heCt0Lm1heCl9ZnVuY3Rpb24gYnVpbGRNdWxPcGVyYXRpb24oZSx0KXtpZigibGl0ZXJhbCI9PT10LnR5cGUpe2lmKDA9PT10Lm51bWJlcilyZXR1cm4gbmV3IEFzdExpdGVyYWwoMCk7aWYoMT09PXQubnVtYmVyKXJldHVybiBlO2lmKCJsaXRlcmFsIj09PWUudHlwZSlyZXR1cm4gbmV3IEFzdExpdGVyYWwoZS5udW1iZXIqdC5udW1iZXIpfWlmKCJsaXRlcmFsIj09PWUudHlwZSl7aWYoMD09PWUubnVtYmVyKXJldHVybiBuZXcgQXN0TGl0ZXJhbCgwKTtpZigxPT09ZS5udW1iZXIpcmV0dXJuIHR9Y29uc3QgaT1NYXRoLm1pbihlLm1pbip0Lm1pbixlLm1pbip0Lm1heCxlLm1heCp0Lm1pbixlLm1heCp0Lm1heCksYT1NYXRoLm1heChlLm1pbip0Lm1pbixlLm1pbip0Lm1heCxlLm1heCp0Lm1pbixlLm1heCp0Lm1heCk7cmV0dXJuIG5ldyBBc3RCaW5hcnlPcGVyYXRpb24oIioiLGUsdCxpLGEpfWZ1bmN0aW9uIGJ1aWxkU3ViT3BlcmF0aW9uKGUsdCl7aWYoImxpdGVyYWwiPT09dC50eXBlKXtpZigwPT09dC5udW1iZXIpcmV0dXJuIGU7aWYoImxpdGVyYWwiPT09ZS50eXBlKXJldHVybiBuZXcgQXN0TGl0ZXJhbChlLm51bWJlci10Lm51bWJlcil9cmV0dXJuImJpbmFyeSI9PT10LnR5cGUmJiItIj09PXQub3AmJiJsaXRlcmFsIj09PWUudHlwZSYmMT09PWUubnVtYmVyJiYibGl0ZXJhbCI9PT10LmFyZzEudHlwZSYmMT09PXQuYXJnMS5udW1iZXI/dC5hcmcyOm5ldyBBc3RCaW5hcnlPcGVyYXRpb24oIi0iLGUsdCxlLm1pbi10Lm1heCxlLm1heC10Lm1pbil9ZnVuY3Rpb24gYnVpbGRNaW5PcGVyYXRpb24oZSx0KXtyZXR1cm4gZS5taW4+PXQ/bmV3IEFzdExpdGVyYWwodCk6ZS5tYXg8PXQ/ZTpuZXcgQXN0TWluKGUsdCl9Y2xhc3MgUG9zdFNjcmlwdENvbXBpbGVye2NvbXBpbGUoZSx0LGkpe2NvbnN0IGE9W10scz1bXSxyPXQubGVuZ3RoPj4xLG49aS5sZW5ndGg+PjE7bGV0IGcsbyxjLEMsaCxsLFEsRSx1PTA7Zm9yKGxldCBlPTA7ZTxyO2UrKylhLnB1c2gobmV3IEFzdEFyZ3VtZW50KGUsdFsyKmVdLHRbMiplKzFdKSk7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXtFPWVbdF07aWYoIm51bWJlciIhPXR5cGVvZiBFKXN3aXRjaChFKXtjYXNlImFkZCI6aWYoYS5sZW5ndGg8MilyZXR1cm4gbnVsbDtDPWEucG9wKCk7Yz1hLnBvcCgpO2EucHVzaChidWlsZEFkZE9wZXJhdGlvbihjLEMpKTticmVhaztjYXNlImN2ciI6aWYoYS5sZW5ndGg8MSlyZXR1cm4gbnVsbDticmVhaztjYXNlIm11bCI6aWYoYS5sZW5ndGg8MilyZXR1cm4gbnVsbDtDPWEucG9wKCk7Yz1hLnBvcCgpO2EucHVzaChidWlsZE11bE9wZXJhdGlvbihjLEMpKTticmVhaztjYXNlInN1YiI6aWYoYS5sZW5ndGg8MilyZXR1cm4gbnVsbDtDPWEucG9wKCk7Yz1hLnBvcCgpO2EucHVzaChidWlsZFN1Yk9wZXJhdGlvbihjLEMpKTticmVhaztjYXNlImV4Y2giOmlmKGEubGVuZ3RoPDIpcmV0dXJuIG51bGw7aD1hLnBvcCgpO2w9YS5wb3AoKTthLnB1c2goaCxsKTticmVhaztjYXNlInBvcCI6aWYoYS5sZW5ndGg8MSlyZXR1cm4gbnVsbDthLnBvcCgpO2JyZWFrO2Nhc2UiaW5kZXgiOmlmKGEubGVuZ3RoPDEpcmV0dXJuIG51bGw7Yz1hLnBvcCgpO2lmKCJsaXRlcmFsIiE9PWMudHlwZSlyZXR1cm4gbnVsbDtnPWMubnVtYmVyO2lmKGc8MHx8IU51bWJlci5pc0ludGVnZXIoZyl8fGEubGVuZ3RoPGcpcmV0dXJuIG51bGw7aD1hW2EubGVuZ3RoLWctMV07aWYoImxpdGVyYWwiPT09aC50eXBlfHwidmFyIj09PWgudHlwZSl7YS5wdXNoKGgpO2JyZWFrfVE9bmV3IEFzdFZhcmlhYmxlKHUrKyxoLm1pbixoLm1heCk7YVthLmxlbmd0aC1nLTFdPVE7YS5wdXNoKFEpO3MucHVzaChuZXcgQXN0VmFyaWFibGVEZWZpbml0aW9uKFEsaCkpO2JyZWFrO2Nhc2UiZHVwIjppZihhLmxlbmd0aDwxKXJldHVybiBudWxsO2lmKCJudW1iZXIiPT10eXBlb2YgZVt0KzFdJiYiZ3QiPT09ZVt0KzJdJiZlW3QrM109PT10KzcmJiJqeiI9PT1lW3QrNF0mJiJwb3AiPT09ZVt0KzVdJiZlW3QrNl09PT1lW3QrMV0pe2M9YS5wb3AoKTthLnB1c2goYnVpbGRNaW5PcGVyYXRpb24oYyxlW3QrMV0pKTt0Kz02O2JyZWFrfWg9YS5hdCgtMSk7aWYoImxpdGVyYWwiPT09aC50eXBlfHwidmFyIj09PWgudHlwZSl7YS5wdXNoKGgpO2JyZWFrfVE9bmV3IEFzdFZhcmlhYmxlKHUrKyxoLm1pbixoLm1heCk7YVthLmxlbmd0aC0xXT1RO2EucHVzaChRKTtzLnB1c2gobmV3IEFzdFZhcmlhYmxlRGVmaW5pdGlvbihRLGgpKTticmVhaztjYXNlInJvbGwiOmlmKGEubGVuZ3RoPDIpcmV0dXJuIG51bGw7Qz1hLnBvcCgpO2M9YS5wb3AoKTtpZigibGl0ZXJhbCIhPT1DLnR5cGV8fCJsaXRlcmFsIiE9PWMudHlwZSlyZXR1cm4gbnVsbDtvPUMubnVtYmVyO2c9Yy5udW1iZXI7aWYoZzw9MHx8IU51bWJlci5pc0ludGVnZXIoZyl8fCFOdW1iZXIuaXNJbnRlZ2VyKG8pfHxhLmxlbmd0aDxnKXJldHVybiBudWxsO289KG8lZytnKSVnO2lmKDA9PT1vKWJyZWFrO2EucHVzaCguLi5hLnNwbGljZShhLmxlbmd0aC1nLGctbykpO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIG51bGx9ZWxzZSBhLnB1c2gobmV3IEFzdExpdGVyYWwoRSkpfWlmKGEubGVuZ3RoIT09bilyZXR1cm4gbnVsbDtjb25zdCBkPVtdO2Zvcihjb25zdCBlIG9mIHMpe2NvbnN0IHQ9bmV3IEV4cHJlc3Npb25CdWlsZGVyVmlzaXRvcjtlLnZpc2l0KHQpO2QucHVzaCh0LnRvU3RyaW5nKCkpfWZvcihsZXQgZT0wLHQ9YS5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1hW2VdLHM9bmV3IEV4cHJlc3Npb25CdWlsZGVyVmlzaXRvcjt0LnZpc2l0KHMpO2NvbnN0IHI9aVsyKmVdLG49aVsyKmUrMV0sZz1bcy50b1N0cmluZygpXTtpZihyPnQubWluKXtnLnVuc2hpZnQoIk1hdGgubWF4KCIsciwiLCAiKTtnLnB1c2goIikiKX1pZihuPHQubWF4KXtnLnVuc2hpZnQoIk1hdGgubWluKCIsbiwiLCAiKTtnLnB1c2goIikiKX1nLnVuc2hpZnQoImRlc3RbZGVzdE9mZnNldCArICIsZSwiXSA9ICIpO2cucHVzaCgiOyIpO2QucHVzaChnLmpvaW4oIiIpKX1yZXR1cm4gZC5qb2luKCJcbiIpfX1jb25zdCBCcz1bIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIlMiLCJCIiwiUyIsIldTIiwiQiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCIiwiQiIsIkIiLCJTIiwiV1MiLCJPTiIsIk9OIiwiRVQiLCJFVCIsIkVUIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIkVTIiwiQ1MiLCJFUyIsIkNTIiwiQ1MiLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkNTIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJDUyIsIk9OIiwiRVQiLCJFVCIsIkVUIiwiRVQiLCJPTiIsIk9OIiwiT04iLCJPTiIsIkwiLCJPTiIsIk9OIiwiQk4iLCJPTiIsIk9OIiwiRVQiLCJFVCIsIkVOIiwiRU4iLCJPTiIsIkwiLCJPTiIsIk9OIiwiT04iLCJFTiIsIkwiLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJPTiIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJPTiIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIl0sUXM9WyJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJPTiIsIk9OIiwiQUwiLCJFVCIsIkVUIiwiQUwiLCJDUyIsIkFMIiwiT04iLCJPTiIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFMIiwiQUwiLCIiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkVUIiwiQU4iLCJBTiIsIkFMIiwiQUwiLCJBTCIsIk5TTSIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJBTiIsIk9OIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiQUwiLCJBTCIsIk5TTSIsIk5TTSIsIk9OIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiQUwiLCJBTCIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIl07ZnVuY3Rpb24gaXNPZGQoZSl7cmV0dXJuIDAhPSgxJmUpfWZ1bmN0aW9uIGlzRXZlbihlKXtyZXR1cm4gMD09KDEmZSl9ZnVuY3Rpb24gZmluZFVuZXF1YWwoZSx0LGkpe2xldCBhLHM7Zm9yKGE9dCxzPWUubGVuZ3RoO2E8czsrK2EpaWYoZVthXSE9PWkpcmV0dXJuIGE7cmV0dXJuIGF9ZnVuY3Rpb24gc2V0VmFsdWVzKGUsdCxpLGEpe2ZvcihsZXQgcz10O3M8aTsrK3MpZVtzXT1hfWZ1bmN0aW9uIHJldmVyc2VWYWx1ZXMoZSx0LGkpe2ZvcihsZXQgYT10LHM9aS0xO2E8czsrK2EsLS1zKXtjb25zdCB0PWVbYV07ZVthXT1lW3NdO2Vbc109dH19ZnVuY3Rpb24gY3JlYXRlQmlkaVRleHQoZSx0LGk9ITEpe2xldCBhPSJsdHIiO2k/YT0idHRiIjp0fHwoYT0icnRsIik7cmV0dXJue3N0cjplLGRpcjphfX1jb25zdCBFcz1bXSx1cz1bXTtmdW5jdGlvbiBiaWRpKGUsdD0tMSxpPSExKXtsZXQgYT0hMDtjb25zdCBzPWUubGVuZ3RoO2lmKDA9PT1zfHxpKXJldHVybiBjcmVhdGVCaWRpVGV4dChlLGEsaSk7RXMubGVuZ3RoPXM7dXMubGVuZ3RoPXM7bGV0IHIsbixnPTA7Zm9yKHI9MDtyPHM7KytyKXtFc1tyXT1lLmNoYXJBdChyKTtjb25zdCB0PWUuY2hhckNvZGVBdChyKTtsZXQgaT0iTCI7aWYodDw9MjU1KWk9QnNbdF07ZWxzZSBpZigxNDI0PD10JiZ0PD0xNTI0KWk9IlIiO2Vsc2UgaWYoMTUzNjw9dCYmdDw9MTc5MSl7aT1Rc1syNTUmdF07aXx8d2FybigiQmlkaTogaW52YWxpZCBVbmljb2RlIGNoYXJhY3RlciAiK3QudG9TdHJpbmcoMTYpKX1lbHNlKDE3OTI8PXQmJnQ8PTIyMjB8fDY0MzM2PD10JiZ0PD02NTAyM3x8NjUxMzY8PXQmJnQ8PTY1Mjc5KSYmKGk9IkFMIik7IlIiIT09aSYmIkFMIiE9PWkmJiJBTiIhPT1pfHxnKys7dXNbcl09aX1pZigwPT09Zyl7YT0hMDtyZXR1cm4gY3JlYXRlQmlkaVRleHQoZSxhKX1pZigtMT09PXQpaWYoZy9zPC4zJiZzPjQpe2E9ITA7dD0wfWVsc2V7YT0hMTt0PTF9Y29uc3Qgbz1bXTtmb3Iocj0wO3I8czsrK3Ipb1tyXT10O2NvbnN0IGM9aXNPZGQodCk/IlIiOiJMIixDPWMsaD1DO2xldCBsLFE9Qztmb3Iocj0wO3I8czsrK3IpIk5TTSI9PT11c1tyXT91c1tyXT1ROlE9dXNbcl07UT1DO2ZvcihyPTA7cjxzOysrcil7bD11c1tyXTsiRU4iPT09bD91c1tyXT0iQUwiPT09UT8iQU4iOiJFTiI6IlIiIT09bCYmIkwiIT09bCYmIkFMIiE9PWx8fChRPWwpfWZvcihyPTA7cjxzOysrcil7bD11c1tyXTsiQUwiPT09bCYmKHVzW3JdPSJSIil9Zm9yKHI9MTtyPHMtMTsrK3IpeyJFUyI9PT11c1tyXSYmIkVOIj09PXVzW3ItMV0mJiJFTiI9PT11c1tyKzFdJiYodXNbcl09IkVOIik7IkNTIiE9PXVzW3JdfHwiRU4iIT09dXNbci0xXSYmIkFOIiE9PXVzW3ItMV18fHVzW3IrMV0hPT11c1tyLTFdfHwodXNbcl09dXNbci0xXSl9Zm9yKHI9MDtyPHM7KytyKWlmKCJFTiI9PT11c1tyXSl7Zm9yKGxldCBlPXItMTtlPj0wJiYiRVQiPT09dXNbZV07LS1lKXVzW2VdPSJFTiI7Zm9yKGxldCBlPXIrMTtlPHMmJiJFVCI9PT11c1tlXTsrK2UpdXNbZV09IkVOIn1mb3Iocj0wO3I8czsrK3Ipe2w9dXNbcl07IldTIiE9PWwmJiJFUyIhPT1sJiYiRVQiIT09bCYmIkNTIiE9PWx8fCh1c1tyXT0iT04iKX1RPUM7Zm9yKHI9MDtyPHM7KytyKXtsPXVzW3JdOyJFTiI9PT1sP3VzW3JdPSJMIj09PVE/IkwiOiJFTiI6IlIiIT09bCYmIkwiIT09bHx8KFE9bCl9Zm9yKHI9MDtyPHM7KytyKWlmKCJPTiI9PT11c1tyXSl7Y29uc3QgZT1maW5kVW5lcXVhbCh1cyxyKzEsIk9OIik7bGV0IHQ9QztyPjAmJih0PXVzW3ItMV0pO2xldCBpPWg7ZSsxPHMmJihpPXVzW2UrMV0pOyJMIiE9PXQmJih0PSJSIik7IkwiIT09aSYmKGk9IlIiKTt0PT09aSYmc2V0VmFsdWVzKHVzLHIsZSx0KTtyPWUtMX1mb3Iocj0wO3I8czsrK3IpIk9OIj09PXVzW3JdJiYodXNbcl09Yyk7Zm9yKHI9MDtyPHM7KytyKXtsPXVzW3JdO2lzRXZlbihvW3JdKT8iUiI9PT1sP29bcl0rPTE6IkFOIiE9PWwmJiJFTiIhPT1sfHwob1tyXSs9Mik6IkwiIT09bCYmIkFOIiE9PWwmJiJFTiIhPT1sfHwob1tyXSs9MSl9bGV0IEUsdT0tMSxkPTk5O2ZvcihyPTAsbj1vLmxlbmd0aDtyPG47KytyKXtFPW9bcl07dTxFJiYodT1FKTtkPkUmJmlzT2RkKEUpJiYoZD1FKX1mb3IoRT11O0U+PWQ7LS1FKXtsZXQgZT0tMTtmb3Iocj0wLG49by5sZW5ndGg7cjxuOysrcilpZihvW3JdPEUpe2lmKGU+PTApe3JldmVyc2VWYWx1ZXMoRXMsZSxyKTtlPS0xfX1lbHNlIGU8MCYmKGU9cik7ZT49MCYmcmV2ZXJzZVZhbHVlcyhFcyxlLG8ubGVuZ3RoKX1mb3Iocj0wLG49RXMubGVuZ3RoO3I8bjsrK3Ipe2NvbnN0IGU9RXNbcl07IjwiIT09ZSYmIj4iIT09ZXx8KEVzW3JdPSIiKX1yZXR1cm4gY3JlYXRlQmlkaVRleHQoRXMuam9pbigiIiksYSl9Y29uc3QgZHM9e3N0eWxlOiJub3JtYWwiLHdlaWdodDoibm9ybWFsIn0sZnM9e3N0eWxlOiJub3JtYWwiLHdlaWdodDoiYm9sZCJ9LHBzPXtzdHlsZToiaXRhbGljIix3ZWlnaHQ6Im5vcm1hbCJ9LG1zPXtzdHlsZToiaXRhbGljIix3ZWlnaHQ6ImJvbGQifSx5cz1uZXcgTWFwKFtbIlRpbWVzLVJvbWFuIix7bG9jYWw6WyJUaW1lcyBOZXcgUm9tYW4iLCJUaW1lcy1Sb21hbiIsIlRpbWVzIiwiTGliZXJhdGlvbiBTZXJpZiIsIk5pbWJ1cyBSb21hbiIsIk5pbWJ1cyBSb21hbiBMIiwiVGlub3MiLCJUaG9ybmRhbGUiLCJUZVggR3lyZSBUZXJtZXMiLCJGcmVlU2VyaWYiLCJMaW51eCBMaWJlcnRpbmUgTyIsIkxpYmVydGludXMgU2VyaWYiLCJEZWphVnUgU2VyaWYiLCJCaXRzdHJlYW0gVmVyYSBTZXJpZiIsIlVidW50dSJdLHN0eWxlOmRzLHVsdGltYXRlOiJzZXJpZiJ9XSxbIlRpbWVzLUJvbGQiLHthbGlhczoiVGltZXMtUm9tYW4iLHN0eWxlOmZzLHVsdGltYXRlOiJzZXJpZiJ9XSxbIlRpbWVzLUl0YWxpYyIse2FsaWFzOiJUaW1lcy1Sb21hbiIsc3R5bGU6cHMsdWx0aW1hdGU6InNlcmlmIn1dLFsiVGltZXMtQm9sZEl0YWxpYyIse2FsaWFzOiJUaW1lcy1Sb21hbiIsc3R5bGU6bXMsdWx0aW1hdGU6InNlcmlmIn1dLFsiSGVsdmV0aWNhIix7bG9jYWw6WyJIZWx2ZXRpY2EiLCJIZWx2ZXRpY2EgTmV1ZSIsIkFyaWFsIiwiQXJpYWwgTm92YSIsIkxpYmVyYXRpb24gU2FucyIsIkFyaW1vIiwiTmltYnVzIFNhbnMiLCJOaW1idXMgU2FucyBMIiwiQTAzMCIsIlRlWCBHeXJlIEhlcm9zIiwiRnJlZVNhbnMiLCJEZWphVnUgU2FucyIsIkFsYmFueSIsIkJpdHN0cmVhbSBWZXJhIFNhbnMiLCJBcmlhbCBVbmljb2RlIE1TIiwiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCJBcHBsZSBTeW1ib2xzIiwiQ2FudGFyZWxsIl0scGF0aDoiTGliZXJhdGlvblNhbnMtUmVndWxhci50dGYiLHN0eWxlOmRzLHVsdGltYXRlOiJzYW5zLXNlcmlmIn1dLFsiSGVsdmV0aWNhLUJvbGQiLHthbGlhczoiSGVsdmV0aWNhIixwYXRoOiJMaWJlcmF0aW9uU2Fucy1Cb2xkLnR0ZiIsc3R5bGU6ZnMsdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJIZWx2ZXRpY2EtT2JsaXF1ZSIse2FsaWFzOiJIZWx2ZXRpY2EiLHBhdGg6IkxpYmVyYXRpb25TYW5zLUl0YWxpYy50dGYiLHN0eWxlOnBzLHVsdGltYXRlOiJzYW5zLXNlcmlmIn1dLFsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIix7YWxpYXM6IkhlbHZldGljYSIscGF0aDoiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYy50dGYiLHN0eWxlOm1zLHVsdGltYXRlOiJzYW5zLXNlcmlmIn1dLFsiQ291cmllciIse2xvY2FsOlsiQ291cmllciIsIkNvdXJpZXIgTmV3IiwiTGliZXJhdGlvbiBNb25vIiwiTmltYnVzIE1vbm8iLCJOaW1idXMgTW9ubyBMIiwiQ291c2luZSIsIkN1bWJlcmxhbmQiLCJUZVggR3lyZSBDdXJzb3IiLCJGcmVlTW9ubyIsIkxpbnV4IExpYmVydGluZSBNb25vIE8iLCJMaWJlcnRpbnVzIE1vbm8iXSxzdHlsZTpkcyx1bHRpbWF0ZToibW9ub3NwYWNlIn1dLFsiQ291cmllci1Cb2xkIix7YWxpYXM6IkNvdXJpZXIiLHN0eWxlOmZzLHVsdGltYXRlOiJtb25vc3BhY2UifV0sWyJDb3VyaWVyLU9ibGlxdWUiLHthbGlhczoiQ291cmllciIsc3R5bGU6cHMsdWx0aW1hdGU6Im1vbm9zcGFjZSJ9XSxbIkNvdXJpZXItQm9sZE9ibGlxdWUiLHthbGlhczoiQ291cmllciIsc3R5bGU6bXMsdWx0aW1hdGU6Im1vbm9zcGFjZSJ9XSxbIkFyaWFsQmxhY2siLHtsb2NhbDpbIkFyaWFsIEJsYWNrIl0sc3R5bGU6e3N0eWxlOiJub3JtYWwiLHdlaWdodDoiOTAwIn0sZmFsbGJhY2s6IkhlbHZldGljYS1Cb2xkIn1dLFsiQXJpYWxCbGFjay1Cb2xkIix7YWxpYXM6IkFyaWFsQmxhY2sifV0sWyJBcmlhbEJsYWNrLUl0YWxpYyIse2FsaWFzOiJBcmlhbEJsYWNrIixzdHlsZTp7c3R5bGU6Iml0YWxpYyIsd2VpZ2h0OiI5MDAifSxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIn1dLFsiQXJpYWxCbGFjay1Cb2xkSXRhbGljIix7YWxpYXM6IkFyaWFsQmxhY2stSXRhbGljIn1dLFsiQXJpYWxOYXJyb3ciLHtsb2NhbDpbIkFyaWFsIE5hcnJvdyIsIkxpYmVyYXRpb24gU2FucyBOYXJyb3ciLCJIZWx2ZXRpY2EgQ29uZGVuc2VkIiwiTmltYnVzIFNhbnMgTmFycm93IiwiVGVYIEd5cmUgSGVyb3MgQ24iXSxzdHlsZTpkcyxmYWxsYmFjazoiSGVsdmV0aWNhIn1dLFsiQXJpYWxOYXJyb3ctQm9sZCIse2FsaWFzOiJBcmlhbE5hcnJvdyIsc3R5bGU6ZnMsZmFsbGJhY2s6IkhlbHZldGljYS1Cb2xkIn1dLFsiQXJpYWxOYXJyb3ctSXRhbGljIix7YWxpYXM6IkFyaWFsTmFycm93IixzdHlsZTpwcyxmYWxsYmFjazoiSGVsdmV0aWNhLU9ibGlxdWUifV0sWyJBcmlhbE5hcnJvdy1Cb2xkSXRhbGljIix7YWxpYXM6IkFyaWFsTmFycm93IixzdHlsZTptcyxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIn1dLFsiQ2FsaWJyaSIse2xvY2FsOlsiQ2FsaWJyaSIsIkNhcmxpdG8iXSxzdHlsZTpkcyxmYWxsYmFjazoiSGVsdmV0aWNhIn1dLFsiQ2FsaWJyaS1Cb2xkIix7YWxpYXM6IkNhbGlicmkiLHN0eWxlOmZzLGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZCJ9XSxbIkNhbGlicmktSXRhbGljIix7YWxpYXM6IkNhbGlicmkiLHN0eWxlOnBzLGZhbGxiYWNrOiJIZWx2ZXRpY2EtT2JsaXF1ZSJ9XSxbIkNhbGlicmktQm9sZEl0YWxpYyIse2FsaWFzOiJDYWxpYnJpIixzdHlsZTptcyxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIn1dLFsiV2luZ2RpbmdzIix7bG9jYWw6WyJXaW5nZGluZ3MiLCJVUlcgRGluZ2JhdHMiXSxzdHlsZTpkc31dLFsiV2luZ2RpbmdzLVJlZ3VsYXIiLHthbGlhczoiV2luZ2RpbmdzIn1dLFsiV2luZ2RpbmdzLUJvbGQiLHthbGlhczoiV2luZ2RpbmdzIn1dXSksd3M9bmV3IE1hcChbWyJBcmlhbC1CbGFjayIsIkFyaWFsQmxhY2siXV0pO2Z1bmN0aW9uIGdldEZhbWlseU5hbWUoZSl7Y29uc3QgdD1uZXcgU2V0KFsidGhpbiIsImV4dHJhbGlnaHQiLCJ1bHRyYWxpZ2h0IiwiZGVtaWxpZ2h0Iiwic2VtaWxpZ2h0IiwibGlnaHQiLCJib29rIiwicmVndWxhciIsIm5vcm1hbCIsIm1lZGl1bSIsImRlbWlib2xkIiwic2VtaWJvbGQiLCJib2xkIiwiZXh0cmFib2xkIiwidWx0cmFib2xkIiwiYmxhY2siLCJoZWF2eSIsImV4dHJhYmxhY2siLCJ1bHRyYWJsYWNrIiwicm9tYW4iLCJpdGFsaWMiLCJvYmxpcXVlIiwidWx0cmFjb25kZW5zZWQiLCJleHRyYWNvbmRlbnNlZCIsImNvbmRlbnNlZCIsInNlbWljb25kZW5zZWQiLCJub3JtYWwiLCJzZW1pZXhwYW5kZWQiLCJleHBhbmRlZCIsImV4dHJhZXhwYW5kZWQiLCJ1bHRyYWV4cGFuZGVkIiwiYm9sZGl0YWxpYyJdKTtyZXR1cm4gZS5zcGxpdCgvWy0gLCtdKy9nKS5maWx0ZXIoKGU9PiF0LmhhcyhlLnRvTG93ZXJDYXNlKCkpKSkuam9pbigiICIpfWZ1bmN0aW9uIGdlbmVyYXRlRm9udCh7YWxpYXM6ZSxsb2NhbDp0LHBhdGg6aSxmYWxsYmFjazphLHN0eWxlOnMsdWx0aW1hdGU6cn0sbixnLG89ITAsYz0hMCxDPSIiKXtjb25zdCBoPXtzdHlsZTpudWxsLHVsdGltYXRlOm51bGx9O2lmKHQpe2NvbnN0IGU9Qz9gICR7Q31gOiIiO2Zvcihjb25zdCBpIG9mIHQpbi5wdXNoKGBsb2NhbCgke2l9JHtlfSlgKX1pZihlKXtjb25zdCB0PXlzLmdldChlKSxyPUN8fGZ1bmN0aW9uIGdldFN0eWxlVG9BcHBlbmQoZSl7c3dpdGNoKGUpe2Nhc2UgZnM6cmV0dXJuIkJvbGQiO2Nhc2UgcHM6cmV0dXJuIkl0YWxpYyI7Y2FzZSBtczpyZXR1cm4iQm9sZCBJdGFsaWMiO2RlZmF1bHQ6aWYoImJvbGQiPT09ZT8ud2VpZ2h0KXJldHVybiJCb2xkIjtpZigiaXRhbGljIj09PWU/LnN0eWxlKXJldHVybiJJdGFsaWMifXJldHVybiIifShzKTtPYmplY3QuYXNzaWduKGgsZ2VuZXJhdGVGb250KHQsbixnLG8mJiFhLGMmJiFpLHIpKX1zJiYoaC5zdHlsZT1zKTtyJiYoaC51bHRpbWF0ZT1yKTtpZihvJiZhKXtjb25zdCBlPXlzLmdldChhKSx7dWx0aW1hdGU6dH09Z2VuZXJhdGVGb250KGUsbixnLG8sYyYmIWksQyk7aC51bHRpbWF0ZXx8PXR9YyYmaSYmZyYmbi5wdXNoKGB1cmwoJHtnfSR7aX0pYCk7cmV0dXJuIGh9ZnVuY3Rpb24gZ2V0Rm9udFN1YnN0aXR1dGlvbihlLHQsaSxhLHMscil7aWYoYS5zdGFydHNXaXRoKCJJbnZhbGlkUERGanNGb250XyIpKXJldHVybiBudWxsOyJUcnVlVHlwZSIhPT1yJiYiVHlwZTEiIT09cnx8IS9eW0EtWl17Nn1cKy8udGVzdChhKXx8KGE9YS5zbGljZSg3KSk7Y29uc3Qgbj1hPW5vcm1hbGl6ZUZvbnROYW1lKGEpO2xldCBnPWUuZ2V0KG4pO2lmKGcpcmV0dXJuIGc7bGV0IG89eXMuZ2V0KGEpO2lmKCFvKWZvcihjb25zdFtlLHRdb2Ygd3MpaWYoYS5zdGFydHNXaXRoKGUpKXthPWAke3R9JHthLnN1YnN0cmluZyhlLmxlbmd0aCl9YDtvPXlzLmdldChhKTticmVha31sZXQgYz0hMTtpZighbyl7bz15cy5nZXQocyk7Yz0hMH1jb25zdCBDPWAke3QuZ2V0RG9jSWQoKX1fcyR7dC5jcmVhdGVGb250SWQoKX1gO2lmKCFvKXtpZighdmFsaWRhdGVGb250TmFtZShhKSl7d2FybihgQ2Fubm90IHN1YnN0aXR1dGUgdGhlIGZvbnQgYmVjYXVzZSBvZiBpdHMgbmFtZTogJHthfWApO2Uuc2V0KG4sbnVsbCk7cmV0dXJuIG51bGx9Y29uc3QgdD0vYm9sZC9naS50ZXN0KGEpLGk9L29ibGlxdWV8aXRhbGljL2dpLnRlc3QoYSkscz10JiZpJiZtc3x8dCYmZnN8fGkmJnBzfHxkcztnPXtjc3M6YCIke2dldEZhbWlseU5hbWUoYSl9Iiwke0N9YCxndWVzc0ZhbGxiYWNrOiEwLGxvYWRlZE5hbWU6QyxiYXNlRm9udE5hbWU6YSxzcmM6YGxvY2FsKCR7YX0pYCxzdHlsZTpzfTtlLnNldChuLGcpO3JldHVybiBnfWNvbnN0IGg9W107YyYmdmFsaWRhdGVGb250TmFtZShhKSYmaC5wdXNoKGBsb2NhbCgke2F9KWApO2NvbnN0e3N0eWxlOmwsdWx0aW1hdGU6UX09Z2VuZXJhdGVGb250KG8saCxpKSxFPW51bGw9PT1RLHU9RT8iIjpgLCR7UX1gO2c9e2NzczpgIiR7Z2V0RmFtaWx5TmFtZShhKX0iLCR7Q30ke3V9YCxndWVzc0ZhbGxiYWNrOkUsbG9hZGVkTmFtZTpDLGJhc2VGb250TmFtZTphLHNyYzpoLmpvaW4oIiwiKSxzdHlsZTpsfTtlLnNldChuLGcpO3JldHVybiBnfWNsYXNzIEltYWdlUmVzaXplcntzdGF0aWMjUj0yMDQ4O3N0YXRpYyN5PUZlYXR1cmVUZXN0LmlzSW1hZ2VEZWNvZGVyU3VwcG9ydGVkO2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faW1nRGF0YT1lO3RoaXMuX2lzTWFzaz10fXN0YXRpYyBnZXQgY2FuVXNlSW1hZ2VEZWNvZGVyKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjYW5Vc2VJbWFnZURlY29kZXIiLHRoaXMuI3k/SW1hZ2VEZWNvZGVyLmlzVHlwZVN1cHBvcnRlZCgiaW1hZ2UvYm1wIik6UHJvbWlzZS5yZXNvbHZlKCExKSl9c3RhdGljIG5lZWRzVG9CZVJlc2l6ZWQoZSx0KXtpZihlPD10aGlzLiNSJiZ0PD10aGlzLiNSKXJldHVybiExO2NvbnN0e01BWF9ESU06aX09dGhpcztpZihlPml8fHQ+aSlyZXR1cm4hMDtjb25zdCBhPWUqdDtpZih0aGlzLl9oYXNNYXhBcmVhKXJldHVybiBhPnRoaXMuTUFYX0FSRUE7aWYoYTx0aGlzLiNSKioyKXJldHVybiExO2lmKHRoaXMuX2FyZUdvb2REaW1zKGUsdCkpe3RoaXMuI1I9TWF0aC5tYXgodGhpcy4jUixNYXRoLmZsb29yKE1hdGguc3FydChlKnQpKSk7cmV0dXJuITF9dGhpcy4jUj10aGlzLl9ndWVzc01heCh0aGlzLiNSLGksMTI4LDApO3JldHVybiBhPih0aGlzLk1BWF9BUkVBPXRoaXMuI1IqKjIpfXN0YXRpYyBnZXQgTUFYX0RJTSgpe3JldHVybiBzaGFkb3codGhpcywiTUFYX0RJTSIsdGhpcy5fZ3Vlc3NNYXgoMjA0OCw2NTUzNywwLDEpKX1zdGF0aWMgZ2V0IE1BWF9BUkVBKCl7dGhpcy5faGFzTWF4QXJlYT0hMDtyZXR1cm4gc2hhZG93KHRoaXMsIk1BWF9BUkVBIix0aGlzLl9ndWVzc01heCh0aGlzLiNSLHRoaXMuTUFYX0RJTSwxMjgsMCkqKjIpfXN0YXRpYyBzZXQgTUFYX0FSRUEoZSl7aWYoZT49MCl7dGhpcy5faGFzTWF4QXJlYT0hMDtzaGFkb3codGhpcywiTUFYX0FSRUEiLGUpfX1zdGF0aWMgc2V0T3B0aW9ucyh7Y2FudmFzTWF4QXJlYUluQnl0ZXM6ZT0tMSxpc0ltYWdlRGVjb2RlclN1cHBvcnRlZDp0PSExfSl7dGhpcy5faGFzTWF4QXJlYXx8KHRoaXMuTUFYX0FSRUE9ZT4+Mik7dGhpcy4jeT10fXN0YXRpYyBfYXJlR29vZERpbXMoZSx0KXt0cnl7Y29uc3QgaT1uZXcgT2Zmc2NyZWVuQ2FudmFzKGUsdCksYT1pLmdldENvbnRleHQoIjJkIik7YS5maWxsUmVjdCgwLDAsMSwxKTtjb25zdCBzPWEuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpLmRhdGFbM107aS53aWR0aD1pLmhlaWdodD0xO3JldHVybiAwIT09c31jYXRjaHtyZXR1cm4hMX19c3RhdGljIF9ndWVzc01heChlLHQsaSxhKXtmb3IoO2UraSsxPHQ7KXtjb25zdCBpPU1hdGguZmxvb3IoKGUrdCkvMikscz1hfHxpO3RoaXMuX2FyZUdvb2REaW1zKGkscyk/ZT1pOnQ9aX1yZXR1cm4gZX1zdGF0aWMgYXN5bmMgY3JlYXRlSW1hZ2UoZSx0PSExKXtyZXR1cm4gbmV3IEltYWdlUmVzaXplcihlLHQpLl9jcmVhdGVJbWFnZSgpfWFzeW5jIF9jcmVhdGVJbWFnZSgpe2NvbnN0e19pbWdEYXRhOmV9PXRoaXMse3dpZHRoOnQsaGVpZ2h0Oml9PWU7aWYodCppKjQ+a3Qpe2NvbnN0IGU9dGhpcy4jTigpO2lmKGUpcmV0dXJuIGV9Y29uc3QgYT10aGlzLl9lbmNvZGVCTVAoKTtsZXQgcyxyO2lmKGF3YWl0IEltYWdlUmVzaXplci5jYW5Vc2VJbWFnZURlY29kZXIpe3M9bmV3IEltYWdlRGVjb2Rlcih7ZGF0YTphLHR5cGU6ImltYWdlL2JtcCIscHJlZmVyQW5pbWF0aW9uOiExLHRyYW5zZmVyOlthLmJ1ZmZlcl19KTtyPXMuZGVjb2RlKCkuY2F0Y2goKGU9Pnt3YXJuKGBCTVAgaW1hZ2UgZGVjb2RpbmcgZmFpbGVkOiAke2V9YCk7cmV0dXJuIGNyZWF0ZUltYWdlQml0bWFwKG5ldyBCbG9iKFt0aGlzLl9lbmNvZGVCTVAoKS5idWZmZXJdLHt0eXBlOiJpbWFnZS9ibXAifSkpfSkpLmZpbmFsbHkoKCgpPT57cy5jbG9zZSgpfSkpfWVsc2Ugcj1jcmVhdGVJbWFnZUJpdG1hcChuZXcgQmxvYihbYS5idWZmZXJdLHt0eXBlOiJpbWFnZS9ibXAifSkpO2NvbnN0e01BWF9BUkVBOm4sTUFYX0RJTTpnfT1JbWFnZVJlc2l6ZXIsbz1NYXRoLm1heCh0L2csaS9nLE1hdGguc3FydCh0KmkvbikpLGM9TWF0aC5tYXgobywyKSxDPU1hdGgucm91bmQoMTAqKG8rMS4yNSkpLzEwL2MsaD1NYXRoLmZsb29yKE1hdGgubG9nMihDKSksbD1uZXcgQXJyYXkoaCsyKS5maWxsKDIpO2xbMF09YztsLnNwbGljZSgtMSwxLEMvKDE8PGgpKTtsZXQgUT10LEU9aTtjb25zdCB1PWF3YWl0IHI7bGV0IGQ9dS5pbWFnZXx8dTtmb3IoY29uc3QgZSBvZiBsKXtjb25zdCB0PVEsaT1FO1E9TWF0aC5mbG9vcihRL2UpLTE7RT1NYXRoLmZsb29yKEUvZSktMTtjb25zdCBhPW5ldyBPZmZzY3JlZW5DYW52YXMoUSxFKTthLmdldENvbnRleHQoIjJkIikuZHJhd0ltYWdlKGQsMCwwLHQsaSwwLDAsUSxFKTtkLmNsb3NlKCk7ZD1hLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpfWUuZGF0YT1udWxsO2UuYml0bWFwPWQ7ZS53aWR0aD1RO2UuaGVpZ2h0PUU7cmV0dXJuIGV9I04oKXtjb25zdHtfaW1nRGF0YTplfT10aGlzLHtkYXRhOnQsd2lkdGg6aSxoZWlnaHQ6YSxraW5kOnN9PWUscj1pKmEqNCxuPU1hdGguY2VpbChNYXRoLmxvZzIoci9rdCkpLGc9aT4+bixvPWE+Pm47bGV0IGMsQz1hO3RyeXtjPW5ldyBVaW50OEFycmF5KHIpfWNhdGNoe2xldCBlPU1hdGguZmxvb3IoTWF0aC5sb2cyKHIrMSkpO2Zvcig7Oyl0cnl7Yz1uZXcgVWludDhBcnJheSgyKiplLTEpO2JyZWFrfWNhdGNoe2UtPTF9Qz1NYXRoLmZsb29yKCgyKiplLTEpLyg0KmkpKTtjb25zdCB0PWkqQyo0O3Q8Yy5sZW5ndGgmJihjPW5ldyBVaW50OEFycmF5KHQpKX1jb25zdCBoPW5ldyBVaW50MzJBcnJheShjLmJ1ZmZlciksbD1uZXcgVWludDMyQXJyYXkoZypvKTtsZXQgUT0wLEU9MDtjb25zdCB1PU1hdGguY2VpbChhL0MpLGQ9YSVDPT0wP2E6YSVDO2ZvcihsZXQgZT0wO2U8dTtlKyspe2NvbnN0IGE9ZTx1LTE/QzpkOyh7c3JjUG9zOlF9PWNvbnZlcnRUb1JHQkEoe2tpbmQ6cyxzcmM6dCxkZXN0Omgsd2lkdGg6aSxoZWlnaHQ6YSxpbnZlcnNlRGVjb2RlOnRoaXMuX2lzTWFzayxzcmNQb3M6UX0pKTtmb3IobGV0IGU9MCx0PWE+Pm47ZTx0O2UrKyl7Y29uc3QgdD1oLnN1YmFycmF5KChlPDxuKSppKTtmb3IobGV0IGU9MDtlPGc7ZSsrKWxbRSsrXT10W2U8PG5dfX1pZihJbWFnZVJlc2l6ZXIubmVlZHNUb0JlUmVzaXplZChnLG8pKXtlLmRhdGE9bDtlLndpZHRoPWc7ZS5oZWlnaHQ9bztlLmtpbmQ9UztyZXR1cm4gbnVsbH1jb25zdCBmPW5ldyBPZmZzY3JlZW5DYW52YXMoZyxvKTtmLmdldENvbnRleHQoIjJkIix7d2lsbFJlYWRGcmVxdWVudGx5OiEwfSkucHV0SW1hZ2VEYXRhKG5ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGwuYnVmZmVyKSxnLG8pLDAsMCk7ZS5kYXRhPW51bGw7ZS5iaXRtYXA9Zi50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKTtlLndpZHRoPWc7ZS5oZWlnaHQ9bztyZXR1cm4gZX1fZW5jb2RlQk1QKCl7Y29uc3R7d2lkdGg6ZSxoZWlnaHQ6dCxraW5kOml9PXRoaXMuX2ltZ0RhdGE7bGV0IGEscz10aGlzLl9pbWdEYXRhLmRhdGEscj1uZXcgVWludDhBcnJheSgwKSxuPXIsZz0wO3N3aXRjaChpKXtjYXNlIGI6e2E9MTtyPW5ldyBVaW50OEFycmF5KHRoaXMuX2lzTWFzaz9bMjU1LDI1NSwyNTUsMjU1LDAsMCwwLDBdOlswLDAsMCwwLDI1NSwyNTUsMjU1LDI1NV0pO2NvbnN0IGk9ZSs3Pj4zLG49aSszJi00O2lmKGkhPT1uKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KG4qdCk7bGV0IGE9MDtmb3IobGV0IHI9MCxnPXQqaTtyPGc7cis9aSxhKz1uKWUuc2V0KHMuc3ViYXJyYXkocixyK2kpLGEpO3M9ZX1icmVha31jYXNlIEY6YT0yNDtpZigzJmUpe2NvbnN0IGk9MyplLGE9aSszJi00LHI9YS1pLG49bmV3IFVpbnQ4QXJyYXkoYSp0KTtsZXQgZz0wO2ZvcihsZXQgZT0wLGE9dCppO2U8YTtlKz1pKXtjb25zdCB0PXMuc3ViYXJyYXkoZSxlK2kpO2ZvcihsZXQgZT0wO2U8aTtlKz0zKXtuW2crK109dFtlKzJdO25bZysrXT10W2UrMV07bltnKytdPXRbZV19Zys9cn1zPW59ZWxzZSBmb3IobGV0IGU9MCx0PXMubGVuZ3RoO2U8dDtlKz0zKXtjb25zdCB0PXNbZV07c1tlXT1zW2UrMl07c1tlKzJdPXR9YnJlYWs7Y2FzZSBTOmE9MzI7Zz0zO249bmV3IFVpbnQ4QXJyYXkoNjgpO2NvbnN0IGk9bmV3IERhdGFWaWV3KG4uYnVmZmVyKTtpZihGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbil7aS5zZXRVaW50MzIoMCwyNTUsITApO2kuc2V0VWludDMyKDQsNjUyODAsITApO2kuc2V0VWludDMyKDgsMTY3MTE2ODAsITApO2kuc2V0VWludDMyKDEyLDQyNzgxOTAwODAsITApfWVsc2V7aS5zZXRVaW50MzIoMCw0Mjc4MTkwMDgwLCEwKTtpLnNldFVpbnQzMig0LDE2NzExNjgwLCEwKTtpLnNldFVpbnQzMig4LDY1MjgwLCEwKTtpLnNldFVpbnQzMigxMiwyNTUsITApfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZvcm1hdCIpfWxldCBvPTA7Y29uc3QgYz00MCtuLmxlbmd0aCxDPTE0K2Mrci5sZW5ndGgrcy5sZW5ndGgsaD1uZXcgVWludDhBcnJheShDKSxsPW5ldyBEYXRhVmlldyhoLmJ1ZmZlcik7bC5zZXRVaW50MTYobywxOTc3OCwhMCk7bys9MjtsLnNldFVpbnQzMihvLEMsITApO28rPTQ7bC5zZXRVaW50MzIobywwLCEwKTtvKz00O2wuc2V0VWludDMyKG8sMTQrYytyLmxlbmd0aCwhMCk7bys9NDtsLnNldFVpbnQzMihvLGMsITApO28rPTQ7bC5zZXRJbnQzMihvLGUsITApO28rPTQ7bC5zZXRJbnQzMihvLC10LCEwKTtvKz00O2wuc2V0VWludDE2KG8sMSwhMCk7bys9MjtsLnNldFVpbnQxNihvLGEsITApO28rPTI7bC5zZXRVaW50MzIobyxnLCEwKTtvKz00O2wuc2V0VWludDMyKG8sMCwhMCk7bys9NDtsLnNldEludDMyKG8sMCwhMCk7bys9NDtsLnNldEludDMyKG8sMCwhMCk7bys9NDtsLnNldFVpbnQzMihvLHIubGVuZ3RoLzQsITApO28rPTQ7bC5zZXRVaW50MzIobywwLCEwKTtvKz00O2guc2V0KG4sbyk7bys9bi5sZW5ndGg7aC5zZXQocixvKTtvKz1yLmxlbmd0aDtoLnNldChzLG8pO3JldHVybiBofX1jb25zdCBEcz0zMjg1Mzc3NTIwLGJzPTQyOTQ5MDE3NjAsRnM9NjU1MzU7Y2xhc3MgTXVybXVySGFzaDNfNjR7Y29uc3RydWN0b3IoZSl7dGhpcy5oMT1lPzQyOTQ5NjcyOTUmZTpEczt0aGlzLmgyPWU/NDI5NDk2NzI5NSZlOkRzfXVwZGF0ZShlKXtsZXQgdCxpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7dD1uZXcgVWludDhBcnJheSgyKmUubGVuZ3RoKTtpPTA7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSsrKXtjb25zdCBzPWUuY2hhckNvZGVBdChhKTtpZihzPD0yNTUpdFtpKytdPXM7ZWxzZXt0W2krK109cz4+Pjg7dFtpKytdPTI1NSZzfX19ZWxzZXtpZighQXJyYXlCdWZmZXIuaXNWaWV3KGUpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBkYXRhIGZvcm1hdCwgbXVzdCBiZSBhIHN0cmluZyBvciBUeXBlZEFycmF5LiIpO3Q9ZS5zbGljZSgpO2k9dC5ieXRlTGVuZ3RofWNvbnN0IGE9aT4+MixzPWktNCphLHI9bmV3IFVpbnQzMkFycmF5KHQuYnVmZmVyLDAsYSk7bGV0IG49MCxnPTAsbz10aGlzLmgxLGM9dGhpcy5oMjtjb25zdCBDPTM0MzI5MTgzNTMsaD00NjE4NDU5MDcsbD0xMTYwMSxRPTEzNzE1O2ZvcihsZXQgZT0wO2U8YTtlKyspaWYoMSZlKXtuPXJbZV07bj1uKkMmYnN8bipsJkZzO249bjw8MTV8bj4+PjE3O249bipoJmJzfG4qUSZGcztvXj1uO289bzw8MTN8bz4+PjE5O289NSpvKzM4NjQyOTIxOTZ9ZWxzZXtnPXJbZV07Zz1nKkMmYnN8ZypsJkZzO2c9Zzw8MTV8Zz4+PjE3O2c9ZypoJmJzfGcqUSZGcztjXj1nO2M9Yzw8MTN8Yz4+PjE5O2M9NSpjKzM4NjQyOTIxOTZ9bj0wO3N3aXRjaChzKXtjYXNlIDM6bl49dFs0KmErMl08PDE2O2Nhc2UgMjpuXj10WzQqYSsxXTw8ODtjYXNlIDE6bl49dFs0KmFdO249bipDJmJzfG4qbCZGcztuPW48PDE1fG4+Pj4xNztuPW4qaCZic3xuKlEmRnM7MSZhP29ePW46Y149bn10aGlzLmgxPW87dGhpcy5oMj1jfWhleGRpZ2VzdCgpe2xldCBlPXRoaXMuaDEsdD10aGlzLmgyO2VePXQ+Pj4xO2U9Mzk4MTgwNjc5NyplJmJzfDM2MDQ1KmUmRnM7dD00MjgzNTQzNTExKnQmYnN8KDI5NTAxNjM3OTcqKHQ8PDE2fGU+Pj4xNikmYnMpPj4+MTY7ZV49dD4+PjE7ZT00NDQ5ODQ0MDMqZSZic3w2MDQ5OSplJkZzO3Q9MzMwMTg4MjM2Nip0JmJzfCgzMTIwNDM3ODkzKih0PDwxNnxlPj4+MTYpJmJzKT4+PjE2O2VePXQ+Pj4xO3JldHVybihlPj4+MCkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDgsIjAiKSsodD4+PjApLnRvU3RyaW5nKDE2KS5wYWRTdGFydCg4LCIwIil9fWZ1bmN0aW9uIGFkZFN0YXRlKGUsdCxpLGEscyl7bGV0IHI9ZTtmb3IobGV0IGU9MCxpPXQubGVuZ3RoLTE7ZTxpO2UrKyl7Y29uc3QgaT10W2VdO3I9cltpXXx8PVtdfXJbdC5hdCgtMSldPXtjaGVja0ZuOmksaXRlcmF0ZUZuOmEscHJvY2Vzc0ZuOnN9fWNvbnN0IFNzPVtdO2FkZFN0YXRlKFNzLFtHQSxVQSx6ZSx4QV0sbnVsbCwoZnVuY3Rpb24gaXRlcmF0ZUlubGluZUltYWdlR3JvdXAoZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPSh0LShlLmlDdXJyLTMpKSU0O3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuIGlbdF09PT1HQTtjYXNlIDE6cmV0dXJuIGlbdF09PT1VQTtjYXNlIDI6cmV0dXJuIGlbdF09PT16ZTtjYXNlIDM6cmV0dXJuIGlbdF09PT14QX10aHJvdyBuZXcgRXJyb3IoYGl0ZXJhdGVJbmxpbmVJbWFnZUdyb3VwIC0gaW52YWxpZCBwb3M6ICR7YX1gKX0pLChmdW5jdGlvbiBmb3VuZElubGluZUltYWdlR3JvdXAoZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPWUuYXJnc0FycmF5LHM9ZS5pQ3VycixyPXMtMyxuPXMtMixnPXMtMSxvPU1hdGgubWluKE1hdGguZmxvb3IoKHQtcikvNCksMjAwKTtpZihvPDEwKXJldHVybiB0LSh0LXIpJTQ7bGV0IGM9MDtjb25zdCBDPVtdO2xldCBoPTAsbD0xLFE9MTtmb3IobGV0IGU9MDtlPG87ZSsrKXtjb25zdCB0PWFbbisoZTw8MildLGk9YVtnKyhlPDwyKV1bMF07aWYobCtpLndpZHRoPjFlMyl7Yz1NYXRoLm1heChjLGwpO1ErPWgrMjtsPTA7aD0wfUMucHVzaCh7dHJhbnNmb3JtOnQseDpsLHk6USx3Omkud2lkdGgsaDppLmhlaWdodH0pO2wrPWkud2lkdGgrMjtoPU1hdGgubWF4KGgsaS5oZWlnaHQpfWNvbnN0IEU9TWF0aC5tYXgoYyxsKSsxLHU9UStoKzEsZD1uZXcgVWludDhBcnJheShFKnUqNCksZj1FPDwyO2ZvcihsZXQgZT0wO2U8bztlKyspe2NvbnN0IHQ9YVtnKyhlPDwyKV1bMF0uZGF0YSxpPUNbZV0udzw8MjtsZXQgcz0wLHI9Q1tlXS54K0NbZV0ueSpFPDwyO2Quc2V0KHQuc3ViYXJyYXkoMCxpKSxyLWYpO2ZvcihsZXQgYT0wLG49Q1tlXS5oO2E8bjthKyspe2Quc2V0KHQuc3ViYXJyYXkocyxzK2kpLHIpO3MrPWk7cis9Zn1kLnNldCh0LnN1YmFycmF5KHMtaSxzKSxyKTtmb3IoO3I+PTA7KXt0W3ItNF09dFtyXTt0W3ItM109dFtyKzFdO3Rbci0yXT10W3IrMl07dFtyLTFdPXRbciszXTt0W3IraV09dFtyK2ktNF07dFtyK2krMV09dFtyK2ktM107dFtyK2krMl09dFtyK2ktMl07dFtyK2krM109dFtyK2ktMV07ci09Zn19Y29uc3QgcD17d2lkdGg6RSxoZWlnaHQ6dX07aWYoZS5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZCl7Y29uc3QgZT1uZXcgT2Zmc2NyZWVuQ2FudmFzKEUsdSk7ZS5nZXRDb250ZXh0KCIyZCIpLnB1dEltYWdlRGF0YShuZXcgSW1hZ2VEYXRhKG5ldyBVaW50OENsYW1wZWRBcnJheShkLmJ1ZmZlciksRSx1KSwwLDApO3AuYml0bWFwPWUudHJhbnNmZXJUb0ltYWdlQml0bWFwKCk7cC5kYXRhPW51bGx9ZWxzZXtwLmtpbmQ9UztwLmRhdGE9ZH1pLnNwbGljZShyLDQqbyxfZSk7YS5zcGxpY2Uociw0Km8sW3AsQ10pO3JldHVybiByKzF9KSk7YWRkU3RhdGUoU3MsW0dBLFVBLGplLHhBXSxudWxsLChmdW5jdGlvbiBpdGVyYXRlSW1hZ2VNYXNrR3JvdXAoZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPSh0LShlLmlDdXJyLTMpKSU0O3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuIGlbdF09PT1HQTtjYXNlIDE6cmV0dXJuIGlbdF09PT1VQTtjYXNlIDI6cmV0dXJuIGlbdF09PT1qZTtjYXNlIDM6cmV0dXJuIGlbdF09PT14QX10aHJvdyBuZXcgRXJyb3IoYGl0ZXJhdGVJbWFnZU1hc2tHcm91cCAtIGludmFsaWQgcG9zOiAke2F9YCl9KSwoZnVuY3Rpb24gZm91bmRJbWFnZU1hc2tHcm91cChlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz1lLmlDdXJyLHI9cy0zLG49cy0yLGc9cy0xO2xldCBvPU1hdGguZmxvb3IoKHQtcikvNCk7aWYobzwxMClyZXR1cm4gdC0odC1yKSU0O2xldCBjLEMsaD0hMTtjb25zdCBsPWFbZ11bMF0sUT1hW25dWzBdLEU9YVtuXVsxXSx1PWFbbl1bMl0sZD1hW25dWzNdO2lmKEU9PT11KXtoPSEwO2M9bis0O2xldCBlPWcrNDtmb3IobGV0IHQ9MTt0PG87dCsrLGMrPTQsZSs9NCl7Qz1hW2NdO2lmKGFbZV1bMF0hPT1sfHxDWzBdIT09UXx8Q1sxXSE9PUV8fENbMl0hPT11fHxDWzNdIT09ZCl7dDwxMD9oPSExOm89dDticmVha319fWlmKGgpe289TWF0aC5taW4obywxZTMpO2NvbnN0IGU9bmV3IEZsb2F0MzJBcnJheSgyKm8pO2M9bjtmb3IobGV0IHQ9MDt0PG87dCsrLGMrPTQpe0M9YVtjXTtlW3Q8PDFdPUNbNF07ZVsxKyh0PDwxKV09Q1s1XX1pLnNwbGljZShyLDQqbyxBdCk7YS5zcGxpY2Uociw0Km8sW2wsUSxFLHUsZCxlXSl9ZWxzZXtvPU1hdGgubWluKG8sMTAwKTtjb25zdCBlPVtdO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe0M9YVtuKyh0PDwyKV07Y29uc3QgaT1hW2crKHQ8PDIpXVswXTtlLnB1c2goe2RhdGE6aS5kYXRhLHdpZHRoOmkud2lkdGgsaGVpZ2h0OmkuaGVpZ2h0LGludGVycG9sYXRlOmkuaW50ZXJwb2xhdGUsY291bnQ6aS5jb3VudCx0cmFuc2Zvcm06Q30pfWkuc3BsaWNlKHIsNCpvLFplKTthLnNwbGljZShyLDQqbyxbZV0pfXJldHVybiByKzF9KSk7YWRkU3RhdGUoU3MsW0dBLFVBLFZlLHhBXSwoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmFyZ3NBcnJheSxpPWUuaUN1cnItMjtyZXR1cm4gMD09PXRbaV1bMV0mJjA9PT10W2ldWzJdfSksKGZ1bmN0aW9uIGl0ZXJhdGVJbWFnZUdyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT1lLmFyZ3NBcnJheSxzPSh0LShlLmlDdXJyLTMpKSU0O3N3aXRjaChzKXtjYXNlIDA6cmV0dXJuIGlbdF09PT1HQTtjYXNlIDE6aWYoaVt0XSE9PVVBKXJldHVybiExO2NvbnN0IHM9ZS5pQ3Vyci0yLHI9YVtzXVswXSxuPWFbc11bM107cmV0dXJuIGFbdF1bMF09PT1yJiYwPT09YVt0XVsxXSYmMD09PWFbdF1bMl0mJmFbdF1bM109PT1uO2Nhc2UgMjppZihpW3RdIT09VmUpcmV0dXJuITE7Y29uc3QgZz1hW2UuaUN1cnItMV1bMF07cmV0dXJuIGFbdF1bMF09PT1nO2Nhc2UgMzpyZXR1cm4gaVt0XT09PXhBfXRocm93IG5ldyBFcnJvcihgaXRlcmF0ZUltYWdlR3JvdXAgLSBpbnZhbGlkIHBvczogJHtzfWApfSksKGZ1bmN0aW9uKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT1lLmFyZ3NBcnJheSxzPWUuaUN1cnIscj1zLTMsbj1zLTIsZz1hW3MtMV1bMF0sbz1hW25dWzBdLGM9YVtuXVszXSxDPU1hdGgubWluKE1hdGguZmxvb3IoKHQtcikvNCksMWUzKTtpZihDPDMpcmV0dXJuIHQtKHQtciklNDtjb25zdCBoPW5ldyBGbG9hdDMyQXJyYXkoMipDKTtsZXQgbD1uO2ZvcihsZXQgZT0wO2U8QztlKyssbCs9NCl7Y29uc3QgdD1hW2xdO2hbZTw8MV09dFs0XTtoWzErKGU8PDEpXT10WzVdfWNvbnN0IFE9W2csbyxjLGhdO2kuc3BsaWNlKHIsNCpDLCRlKTthLnNwbGljZShyLDQqQyxRKTtyZXR1cm4gcisxfSkpO2FkZFN0YXRlKFNzLFskQSxzZSxJZSxDZSxBZV0sbnVsbCwoZnVuY3Rpb24gaXRlcmF0ZVNob3dUZXh0R3JvdXAoZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPWUuYXJnc0FycmF5LHM9KHQtKGUuaUN1cnItNCkpJTU7c3dpdGNoKHMpe2Nhc2UgMDpyZXR1cm4gaVt0XT09PSRBO2Nhc2UgMTpyZXR1cm4gaVt0XT09PXNlO2Nhc2UgMjpyZXR1cm4gaVt0XT09PUllO2Nhc2UgMzppZihpW3RdIT09Q2UpcmV0dXJuITE7Y29uc3Qgcz1lLmlDdXJyLTMscj1hW3NdWzBdLG49YVtzXVsxXTtyZXR1cm4gYVt0XVswXT09PXImJmFbdF1bMV09PT1uO2Nhc2UgNDpyZXR1cm4gaVt0XT09PUFlfXRocm93IG5ldyBFcnJvcihgaXRlcmF0ZVNob3dUZXh0R3JvdXAgLSBpbnZhbGlkIHBvczogJHtzfWApfSksKGZ1bmN0aW9uKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT1lLmFyZ3NBcnJheSxzPWUuaUN1cnIscj1zLTQsbj1zLTMsZz1zLTIsbz1zLTEsYz1zLEM9YVtuXVswXSxoPWFbbl1bMV07bGV0IGw9TWF0aC5taW4oTWF0aC5mbG9vcigodC1yKS81KSwxZTMpO2lmKGw8MylyZXR1cm4gdC0odC1yKSU1O2xldCBRPXI7aWYocj49NCYmaVtyLTRdPT09aVtuXSYmaVtyLTNdPT09aVtnXSYmaVtyLTJdPT09aVtvXSYmaVtyLTFdPT09aVtjXSYmYVtyLTRdWzBdPT09QyYmYVtyLTRdWzFdPT09aCl7bCsrO1EtPTV9bGV0IEU9USs0O2ZvcihsZXQgZT0xO2U8bDtlKyspe2kuc3BsaWNlKEUsMyk7YS5zcGxpY2UoRSwzKTtFKz0yfXJldHVybiBFKzF9KSk7Y2xhc3MgTnVsbE9wdGltaXplcntjb25zdHJ1Y3RvcihlKXt0aGlzLnF1ZXVlPWV9X29wdGltaXplKCl7fXB1c2goZSx0KXt0aGlzLnF1ZXVlLmZuQXJyYXkucHVzaChlKTt0aGlzLnF1ZXVlLmFyZ3NBcnJheS5wdXNoKHQpO3RoaXMuX29wdGltaXplKCl9Zmx1c2goKXt9cmVzZXQoKXt9fWNsYXNzIFF1ZXVlT3B0aW1pemVyIGV4dGVuZHMgTnVsbE9wdGltaXplcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnN0YXRlPW51bGw7dGhpcy5jb250ZXh0PXtpQ3VycjowLGZuQXJyYXk6ZS5mbkFycmF5LGFyZ3NBcnJheTplLmFyZ3NBcnJheSxpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDohMX07dGhpcy5tYXRjaD1udWxsO3RoaXMubGFzdFByb2Nlc3NlZD0wfXNldCBpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZChlKXt0aGlzLmNvbnRleHQuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ9ZX1fb3B0aW1pemUoKXtjb25zdCBlPXRoaXMucXVldWUuZm5BcnJheTtsZXQgdD10aGlzLmxhc3RQcm9jZXNzZWQsaT1lLmxlbmd0aCxhPXRoaXMuc3RhdGUscz10aGlzLm1hdGNoO2lmKCFhJiYhcyYmdCsxPT09aSYmIVNzW2VbdF1dKXt0aGlzLmxhc3RQcm9jZXNzZWQ9aTtyZXR1cm59Y29uc3Qgcj10aGlzLmNvbnRleHQ7Zm9yKDt0PGk7KXtpZihzKXtpZigoMCxzLml0ZXJhdGVGbikocix0KSl7dCsrO2NvbnRpbnVlfXQ9KDAscy5wcm9jZXNzRm4pKHIsdCsxKTtpPWUubGVuZ3RoO3M9bnVsbDthPW51bGw7aWYodD49aSlicmVha31hPShhfHxTcylbZVt0XV07aWYoYSYmIUFycmF5LmlzQXJyYXkoYSkpe3IuaUN1cnI9dDt0Kys7aWYoIWEuY2hlY2tGbnx8KDAsYS5jaGVja0ZuKShyKSl7cz1hO2E9bnVsbH1lbHNlIGE9bnVsbH1lbHNlIHQrK310aGlzLnN0YXRlPWE7dGhpcy5tYXRjaD1zO3RoaXMubGFzdFByb2Nlc3NlZD10fWZsdXNoKCl7Zm9yKDt0aGlzLm1hdGNoOyl7Y29uc3QgZT10aGlzLnF1ZXVlLmZuQXJyYXkubGVuZ3RoO3RoaXMubGFzdFByb2Nlc3NlZD0oMCx0aGlzLm1hdGNoLnByb2Nlc3NGbikodGhpcy5jb250ZXh0LGUpO3RoaXMubWF0Y2g9bnVsbDt0aGlzLnN0YXRlPW51bGw7dGhpcy5fb3B0aW1pemUoKX19cmVzZXQoKXt0aGlzLnN0YXRlPW51bGw7dGhpcy5tYXRjaD1udWxsO3RoaXMubGFzdFByb2Nlc3NlZD0wfX1jbGFzcyBPcGVyYXRvckxpc3R7c3RhdGljIENIVU5LX1NJWkU9MWUzO3N0YXRpYyBDSFVOS19TSVpFX0FCT1VUPXRoaXMuQ0hVTktfU0laRS01O2NvbnN0cnVjdG9yKGU9MCx0KXt0aGlzLl9zdHJlYW1TaW5rPXQ7dGhpcy5mbkFycmF5PVtdO3RoaXMuYXJnc0FycmF5PVtdO3RoaXMub3B0aW1pemVyPSF0fHxlJkU/bmV3IE51bGxPcHRpbWl6ZXIodGhpcyk6bmV3IFF1ZXVlT3B0aW1pemVyKHRoaXMpO3RoaXMuZGVwZW5kZW5jaWVzPW5ldyBTZXQ7dGhpcy5fdG90YWxMZW5ndGg9MDt0aGlzLndlaWdodD0wO3RoaXMuX3Jlc29sdmVkPXQ/bnVsbDpQcm9taXNlLnJlc29sdmUoKX1zZXQgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQoZSl7dGhpcy5vcHRpbWl6ZXIuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ9ZX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuYXJnc0FycmF5Lmxlbmd0aH1nZXQgcmVhZHkoKXtyZXR1cm4gdGhpcy5fcmVzb2x2ZWR8fHRoaXMuX3N0cmVhbVNpbmsucmVhZHl9Z2V0IHRvdGFsTGVuZ3RoKCl7cmV0dXJuIHRoaXMuX3RvdGFsTGVuZ3RoK3RoaXMubGVuZ3RofWFkZE9wKGUsdCl7dGhpcy5vcHRpbWl6ZXIucHVzaChlLHQpO3RoaXMud2VpZ2h0Kys7dGhpcy5fc3RyZWFtU2luayYmKHRoaXMud2VpZ2h0Pj1PcGVyYXRvckxpc3QuQ0hVTktfU0laRXx8dGhpcy53ZWlnaHQ+PU9wZXJhdG9yTGlzdC5DSFVOS19TSVpFX0FCT1VUJiYoZT09PXhBfHxlPT09QWUpKSYmdGhpcy5mbHVzaCgpfWFkZEltYWdlT3BzKGUsdCxpKXt2b2lkIDAhPT1pJiZ0aGlzLmFkZE9wKEplLFsiT0MiLGldKTt0aGlzLmFkZE9wKGUsdCk7dm9pZCAwIT09aSYmdGhpcy5hZGRPcChZZSxbXSl9YWRkRGVwZW5kZW5jeShlKXtpZighdGhpcy5kZXBlbmRlbmNpZXMuaGFzKGUpKXt0aGlzLmRlcGVuZGVuY2llcy5hZGQoZSk7dGhpcy5hZGRPcCh5QSxbZV0pfX1hZGREZXBlbmRlbmNpZXMoZSl7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLmFkZERlcGVuZGVuY3kodCl9YWRkT3BMaXN0KGUpe2lmKGUgaW5zdGFuY2VvZiBPcGVyYXRvckxpc3Qpe2Zvcihjb25zdCB0IG9mIGUuZGVwZW5kZW5jaWVzKXRoaXMuZGVwZW5kZW5jaWVzLmFkZCh0KTtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0KyspdGhpcy5hZGRPcChlLmZuQXJyYXlbdF0sZS5hcmdzQXJyYXlbdF0pfWVsc2Ugd2FybignYWRkT3BMaXN0IC0gaWdub3JpbmcgaW52YWxpZCAib3BMaXN0IiBwYXJhbWV0ZXIuJyl9Z2V0SVIoKXtyZXR1cm57Zm5BcnJheTp0aGlzLmZuQXJyYXksYXJnc0FycmF5OnRoaXMuYXJnc0FycmF5LGxlbmd0aDp0aGlzLmxlbmd0aH19Z2V0IF90cmFuc2ZlcnMoKXtjb25zdCBlPVtdLHtmbkFycmF5OnQsYXJnc0FycmF5OmksbGVuZ3RoOmF9PXRoaXM7Zm9yKGxldCBzPTA7czxhO3MrKylzd2l0Y2godFtzXSl7Y2FzZSB6ZTpjYXNlIF9lOmNhc2UgamU6Y29uc3QgdD1pW3NdWzBdOyF0LmNhY2hlZCYmdC5kYXRhPy5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmZS5wdXNoKHQuZGF0YS5idWZmZXIpfXJldHVybiBlfWZsdXNoKGU9ITEsdD1udWxsKXt0aGlzLm9wdGltaXplci5mbHVzaCgpO2NvbnN0IGk9dGhpcy5sZW5ndGg7dGhpcy5fdG90YWxMZW5ndGgrPWk7dGhpcy5fc3RyZWFtU2luay5lbnF1ZXVlKHtmbkFycmF5OnRoaXMuZm5BcnJheSxhcmdzQXJyYXk6dGhpcy5hcmdzQXJyYXksbGFzdENodW5rOmUsc2VwYXJhdGVBbm5vdHM6dCxsZW5ndGg6aX0sMSx0aGlzLl90cmFuc2ZlcnMpO3RoaXMuZGVwZW5kZW5jaWVzLmNsZWFyKCk7dGhpcy5mbkFycmF5Lmxlbmd0aD0wO3RoaXMuYXJnc0FycmF5Lmxlbmd0aD0wO3RoaXMud2VpZ2h0PTA7dGhpcy5vcHRpbWl6ZXIucmVzZXQoKX19ZnVuY3Rpb24gZGVjb2RlQW5kQ2xhbXAoZSx0LGksYSl7KGU9dCtlKmkpPDA/ZT0wOmU+YSYmKGU9YSk7cmV0dXJuIGV9ZnVuY3Rpb24gcmVzaXplSW1hZ2VNYXNrKGUsdCxpLGEscyxyKXtjb25zdCBuPXMqcjtsZXQgZztnPXQ8PTg/bmV3IFVpbnQ4QXJyYXkobik6dDw9MTY/bmV3IFVpbnQxNkFycmF5KG4pOm5ldyBVaW50MzJBcnJheShuKTtjb25zdCBvPWkvcyxjPWEvcjtsZXQgQyxoLGwsUSxFPTA7Y29uc3QgdT1uZXcgVWludDE2QXJyYXkocyksZD1pO2ZvcihDPTA7QzxzO0MrKyl1W0NdPU1hdGguZmxvb3IoQypvKTtmb3IoQz0wO0M8cjtDKyspe2w9TWF0aC5mbG9vcihDKmMpKmQ7Zm9yKGg9MDtoPHM7aCsrKXtRPWwrdVtoXTtnW0UrK109ZVtRXX19cmV0dXJuIGd9Y2xhc3MgUERGSW1hZ2V7Y29uc3RydWN0b3Ioe3hyZWY6ZSxyZXM6dCxpbWFnZTppLGlzSW5saW5lOmE9ITEsc21hc2s6cz1udWxsLG1hc2s6cj1udWxsLGlzTWFzazpuPSExLHBkZkZ1bmN0aW9uRmFjdG9yeTpnLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm99KXt0aGlzLmltYWdlPWk7Y29uc3QgYz1pLmRpY3QsQz1jLmdldCgiRiIsIkZpbHRlciIpO2xldCBoO2lmKEMgaW5zdGFuY2VvZiBOYW1lKWg9Qy5uYW1lO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShDKSl7Y29uc3QgdD1lLmZldGNoSWZSZWYoQ1swXSk7dCBpbnN0YW5jZW9mIE5hbWUmJihoPXQubmFtZSl9c3dpdGNoKGgpe2Nhc2UiSlBYRGVjb2RlIjooe3dpZHRoOmkud2lkdGgsaGVpZ2h0OmkuaGVpZ2h0LGNvbXBvbmVudHNDb3VudDppLm51bUNvbXBzLGJpdHNQZXJDb21wb25lbnQ6aS5iaXRzUGVyQ29tcG9uZW50fT1KcHhJbWFnZS5wYXJzZUltYWdlUHJvcGVydGllcyhpLnN0cmVhbSkpO2kuc3RyZWFtLnJlc2V0KCk7dGhpcy5qcHhEZWNvZGVyT3B0aW9ucz17bnVtQ29tcG9uZW50czowLGlzSW5kZXhlZENvbG9ybWFwOiExLHNtYXNrSW5EYXRhOmMuaGFzKCJTTWFza0luRGF0YSIpfTticmVhaztjYXNlIkpCSUcyRGVjb2RlIjppLmJpdHNQZXJDb21wb25lbnQ9MTtpLm51bUNvbXBzPTF9bGV0IGw9Yy5nZXQoIlciLCJXaWR0aCIpLFE9Yy5nZXQoIkgiLCJIZWlnaHQiKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGkud2lkdGgpJiZpLndpZHRoPjAmJk51bWJlci5pc0ludGVnZXIoaS5oZWlnaHQpJiZpLmhlaWdodD4wJiYoaS53aWR0aCE9PWx8fGkuaGVpZ2h0IT09USkpe3dhcm4oIlBERkltYWdlIC0gdXNpbmcgdGhlIFdpZHRoL0hlaWdodCBvZiB0aGUgaW1hZ2UgZGF0YSwgcmF0aGVyIHRoYW4gdGhlIGltYWdlIGRpY3Rpb25hcnkuIik7bD1pLndpZHRoO1E9aS5oZWlnaHR9aWYobDwxfHxRPDEpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGltYWdlIHdpZHRoOiAke2x9IG9yIGhlaWdodDogJHtRfWApO3RoaXMud2lkdGg9bDt0aGlzLmhlaWdodD1RO3RoaXMuaW50ZXJwb2xhdGU9Yy5nZXQoIkkiLCJJbnRlcnBvbGF0ZSIpO3RoaXMuaW1hZ2VNYXNrPWMuZ2V0KCJJTSIsIkltYWdlTWFzayIpfHwhMTt0aGlzLm1hdHRlPWMuZ2V0KCJNYXR0ZSIpfHwhMTtsZXQgRT1pLmJpdHNQZXJDb21wb25lbnQ7aWYoIUUpe0U9Yy5nZXQoIkJQQyIsIkJpdHNQZXJDb21wb25lbnQiKTtpZighRSl7aWYoIXRoaXMuaW1hZ2VNYXNrKXRocm93IG5ldyBGb3JtYXRFcnJvcihgQml0cyBwZXIgY29tcG9uZW50IG1pc3NpbmcgaW4gaW1hZ2U6ICR7dGhpcy5pbWFnZU1hc2t9YCk7RT0xfX10aGlzLmJwYz1FO2lmKCF0aGlzLmltYWdlTWFzayl7bGV0IHM9Yy5nZXRSYXcoIkNTIil8fGMuZ2V0UmF3KCJDb2xvclNwYWNlIik7Y29uc3Qgcj0hIXM7aWYocil0aGlzLmpweERlY29kZXJPcHRpb25zPy5zbWFza0luRGF0YSYmKHM9TmFtZS5nZXQoIkRldmljZVJHQkEiKSk7ZWxzZSBpZih0aGlzLmpweERlY29kZXJPcHRpb25zKXM9TmFtZS5nZXQoIkRldmljZVJHQkEiKTtlbHNlIHN3aXRjaChpLm51bUNvbXBzKXtjYXNlIDE6cz1OYW1lLmdldCgiRGV2aWNlR3JheSIpO2JyZWFrO2Nhc2UgMzpzPU5hbWUuZ2V0KCJEZXZpY2VSR0IiKTticmVhaztjYXNlIDQ6cz1OYW1lLmdldCgiRGV2aWNlQ01ZSyIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBJbWFnZXMgd2l0aCAke2kubnVtQ29tcHN9IGNvbG9yIGNvbXBvbmVudHMgbm90IHN1cHBvcnRlZC5gKX10aGlzLmNvbG9yU3BhY2U9Q29sb3JTcGFjZS5wYXJzZSh7Y3M6cyx4cmVmOmUscmVzb3VyY2VzOmE/dDpudWxsLHBkZkZ1bmN0aW9uRmFjdG9yeTpnLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm99KTt0aGlzLm51bUNvbXBzPXRoaXMuY29sb3JTcGFjZS5udW1Db21wcztpZih0aGlzLmpweERlY29kZXJPcHRpb25zKXt0aGlzLmpweERlY29kZXJPcHRpb25zLm51bUNvbXBvbmVudHM9cj90aGlzLm51bUNvbXA6MDt0aGlzLmpweERlY29kZXJPcHRpb25zLmlzSW5kZXhlZENvbG9ybWFwPSJJbmRleGVkIj09PXRoaXMuY29sb3JTcGFjZS5uYW1lfX10aGlzLmRlY29kZT1jLmdldEFycmF5KCJEIiwiRGVjb2RlIik7dGhpcy5uZWVkc0RlY29kZT0hMTtpZih0aGlzLmRlY29kZSYmKHRoaXMuY29sb3JTcGFjZSYmIXRoaXMuY29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUodGhpcy5kZWNvZGUsRSl8fG4mJiFDb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZSh0aGlzLmRlY29kZSwxKSkpe3RoaXMubmVlZHNEZWNvZGU9ITA7Y29uc3QgZT0oMTw8RSktMTt0aGlzLmRlY29kZUNvZWZmaWNpZW50cz1bXTt0aGlzLmRlY29kZUFkZGVuZHM9W107Y29uc3QgdD0iSW5kZXhlZCI9PT10aGlzLmNvbG9yU3BhY2U/Lm5hbWU7Zm9yKGxldCBpPTAsYT0wO2k8dGhpcy5kZWNvZGUubGVuZ3RoO2krPTIsKythKXtjb25zdCBzPXRoaXMuZGVjb2RlW2ldLHI9dGhpcy5kZWNvZGVbaSsxXTt0aGlzLmRlY29kZUNvZWZmaWNpZW50c1thXT10PyhyLXMpL2U6ci1zO3RoaXMuZGVjb2RlQWRkZW5kc1thXT10P3M6ZSpzfX1pZihzKXRoaXMuc21hc2s9bmV3IFBERkltYWdlKHt4cmVmOmUscmVzOnQsaW1hZ2U6cyxpc0lubGluZTphLHBkZkZ1bmN0aW9uRmFjdG9yeTpnLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm99KTtlbHNlIGlmKHIpaWYociBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe3IuZGljdC5nZXQoIklNIiwiSW1hZ2VNYXNrIik/dGhpcy5tYXNrPW5ldyBQREZJbWFnZSh7eHJlZjplLHJlczp0LGltYWdlOnIsaXNJbmxpbmU6YSxpc01hc2s6ITAscGRmRnVuY3Rpb25GYWN0b3J5OmcsbG9jYWxDb2xvclNwYWNlQ2FjaGU6b30pOndhcm4oIklnbm9yaW5nIC9NYXNrIGluIGltYWdlIHdpdGhvdXQgL0ltYWdlTWFzay4iKX1lbHNlIHRoaXMubWFzaz1yfXN0YXRpYyBhc3luYyBidWlsZEltYWdlKHt4cmVmOmUscmVzOnQsaW1hZ2U6aSxpc0lubGluZTphPSExLHBkZkZ1bmN0aW9uRmFjdG9yeTpzLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnJ9KXtjb25zdCBuPWk7bGV0IGc9bnVsbCxvPW51bGw7Y29uc3QgYz1pLmRpY3QuZ2V0KCJTTWFzayIpLEM9aS5kaWN0LmdldCgiTWFzayIpO2M/YyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/Zz1jOndhcm4oIlVuc3VwcG9ydGVkIC9TTWFzayBmb3JtYXQuIik6QyYmKEMgaW5zdGFuY2VvZiBCYXNlU3RyZWFtfHxBcnJheS5pc0FycmF5KEMpP289Qzp3YXJuKCJVbnN1cHBvcnRlZCAvTWFzayBmb3JtYXQuIikpO3JldHVybiBuZXcgUERGSW1hZ2Uoe3hyZWY6ZSxyZXM6dCxpbWFnZTpuLGlzSW5saW5lOmEsc21hc2s6ZyxtYXNrOm8scGRmRnVuY3Rpb25GYWN0b3J5OnMsbG9jYWxDb2xvclNwYWNlQ2FjaGU6cn0pfXN0YXRpYyBjcmVhdGVSYXdNYXNrKHtpbWdBcnJheTplLHdpZHRoOnQsaGVpZ2h0OmksaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW06YSxpbnZlcnNlRGVjb2RlOnMsaW50ZXJwb2xhdGU6cn0pe2NvbnN0IG49KHQrNz4+MykqaSxnPWUuYnl0ZUxlbmd0aDtsZXQgbyxjO2lmKCFhfHxzJiYhKG49PT1nKSlpZihzKXtvPW5ldyBVaW50OEFycmF5KG4pO28uc2V0KGUpO28uZmlsbCgyNTUsZyl9ZWxzZSBvPW5ldyBVaW50OEFycmF5KGUpO2Vsc2Ugbz1lO2lmKHMpZm9yKGM9MDtjPGc7YysrKW9bY11ePTI1NTtyZXR1cm57ZGF0YTpvLHdpZHRoOnQsaGVpZ2h0OmksaW50ZXJwb2xhdGU6cn19c3RhdGljIGFzeW5jIGNyZWF0ZU1hc2soe2ltZ0FycmF5OmUsd2lkdGg6dCxoZWlnaHQ6aSxpbWFnZUlzRnJvbURlY29kZVN0cmVhbTphLGludmVyc2VEZWNvZGU6cyxpbnRlcnBvbGF0ZTpyLGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOm49ITF9KXtjb25zdCBnPTE9PT10JiYxPT09aSYmcz09PSgwPT09ZS5sZW5ndGh8fCEhKDEyOCZlWzBdKSk7aWYoZylyZXR1cm57aXNTaW5nbGVPcGFxdWVQaXhlbDpnfTtpZihuKXtpZihJbWFnZVJlc2l6ZXIubmVlZHNUb0JlUmVzaXplZCh0LGkpKXtjb25zdCBhPW5ldyBVaW50OENsYW1wZWRBcnJheSh0KmkqNCk7Y29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoe3NyYzplLGRlc3Q6YSx3aWR0aDp0LGhlaWdodDppLG5vbkJsYWNrQ29sb3I6MCxpbnZlcnNlRGVjb2RlOnN9KTtyZXR1cm4gSW1hZ2VSZXNpemVyLmNyZWF0ZUltYWdlKHtraW5kOlMsZGF0YTphLHdpZHRoOnQsaGVpZ2h0OmksaW50ZXJwb2xhdGU6cn0pfWNvbnN0IGE9bmV3IE9mZnNjcmVlbkNhbnZhcyh0LGkpLG49YS5nZXRDb250ZXh0KCIyZCIpLGc9bi5jcmVhdGVJbWFnZURhdGEodCxpKTtjb252ZXJ0QmxhY2tBbmRXaGl0ZVRvUkdCQSh7c3JjOmUsZGVzdDpnLmRhdGEsd2lkdGg6dCxoZWlnaHQ6aSxub25CbGFja0NvbG9yOjAsaW52ZXJzZURlY29kZTpzfSk7bi5wdXRJbWFnZURhdGEoZywwLDApO3JldHVybntkYXRhOm51bGwsd2lkdGg6dCxoZWlnaHQ6aSxpbnRlcnBvbGF0ZTpyLGJpdG1hcDphLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpfX1yZXR1cm4gdGhpcy5jcmVhdGVSYXdNYXNrKHtpbWdBcnJheTplLHdpZHRoOnQsaGVpZ2h0OmksaW52ZXJzZURlY29kZTpzLGltYWdlSXNGcm9tRGVjb2RlU3RyZWFtOmEsaW50ZXJwb2xhdGU6cn0pfWdldCBkcmF3V2lkdGgoKXtyZXR1cm4gTWF0aC5tYXgodGhpcy53aWR0aCx0aGlzLnNtYXNrPy53aWR0aHx8MCx0aGlzLm1hc2s/LndpZHRofHwwKX1nZXQgZHJhd0hlaWdodCgpe3JldHVybiBNYXRoLm1heCh0aGlzLmhlaWdodCx0aGlzLnNtYXNrPy5oZWlnaHR8fDAsdGhpcy5tYXNrPy5oZWlnaHR8fDApfWRlY29kZUJ1ZmZlcihlKXtjb25zdCB0PXRoaXMuYnBjLGk9dGhpcy5udW1Db21wcyxhPXRoaXMuZGVjb2RlQWRkZW5kcyxzPXRoaXMuZGVjb2RlQ29lZmZpY2llbnRzLHI9KDE8PHQpLTE7bGV0IG4sZztpZigxPT09dCl7Zm9yKG49MCxnPWUubGVuZ3RoO248ZztuKyspZVtuXT0rIWVbbl07cmV0dXJufWxldCBvPTA7Zm9yKG49MCxnPXRoaXMud2lkdGgqdGhpcy5oZWlnaHQ7bjxnO24rKylmb3IobGV0IHQ9MDt0PGk7dCsrKXtlW29dPWRlY29kZUFuZENsYW1wKGVbb10sYVt0XSxzW3RdLHIpO28rK319Z2V0Q29tcG9uZW50cyhlKXtjb25zdCB0PXRoaXMuYnBjO2lmKDg9PT10KXJldHVybiBlO2NvbnN0IGk9dGhpcy53aWR0aCxhPXRoaXMuaGVpZ2h0LHM9dGhpcy5udW1Db21wcyxyPWkqYSpzO2xldCBuLGc9MDtuPXQ8PTg/bmV3IFVpbnQ4QXJyYXkocik6dDw9MTY/bmV3IFVpbnQxNkFycmF5KHIpOm5ldyBVaW50MzJBcnJheShyKTtjb25zdCBvPWkqcyxjPSgxPDx0KS0xO2xldCBDLGgsbD0wO2lmKDE9PT10KXtsZXQgdCxpLHM7Zm9yKGxldCByPTA7cjxhO3IrKyl7aT1sKygtOCZvKTtzPWwrbztmb3IoO2w8aTspe2g9ZVtnKytdO25bbF09aD4+NyYxO25bbCsxXT1oPj42JjE7bltsKzJdPWg+PjUmMTtuW2wrM109aD4+NCYxO25bbCs0XT1oPj4zJjE7bltsKzVdPWg+PjImMTtuW2wrNl09aD4+MSYxO25bbCs3XT0xJmg7bCs9OH1pZihsPHMpe2g9ZVtnKytdO3Q9MTI4O2Zvcig7bDxzOyl7bltsKytdPSshIShoJnQpO3Q+Pj0xfX19fWVsc2V7bGV0IGk9MDtoPTA7Zm9yKGw9MCxDPXI7bDxDOysrbCl7aWYobCVvPT0wKXtoPTA7aT0wfWZvcig7aTx0Oyl7aD1oPDw4fGVbZysrXTtpKz04fWNvbnN0IGE9aS10O2xldCBzPWg+PmE7czwwP3M9MDpzPmMmJihzPWMpO25bbF09cztoJj0oMTw8YSktMTtpPWF9fXJldHVybiBufWFzeW5jIGZpbGxPcGFjaXR5KGUsdCxpLGEscyl7Y29uc3Qgcj10aGlzLnNtYXNrLG49dGhpcy5tYXNrO2xldCBnLG8sYyxDLGgsbDtpZihyKXtvPXIud2lkdGg7Yz1yLmhlaWdodDtnPW5ldyBVaW50OENsYW1wZWRBcnJheShvKmMpO2F3YWl0IHIuZmlsbEdyYXlCdWZmZXIoZyk7bz09PXQmJmM9PT1pfHwoZz1yZXNpemVJbWFnZU1hc2soZyxyLmJwYyxvLGMsdCxpKSl9ZWxzZSBpZihuKWlmKG4gaW5zdGFuY2VvZiBQREZJbWFnZSl7bz1uLndpZHRoO2M9bi5oZWlnaHQ7Zz1uZXcgVWludDhDbGFtcGVkQXJyYXkobypjKTtuLm51bUNvbXBzPTE7YXdhaXQgbi5maWxsR3JheUJ1ZmZlcihnKTtmb3IoQz0wLGg9bypjO0M8aDsrK0MpZ1tDXT0yNTUtZ1tDXTtvPT09dCYmYz09PWl8fChnPXJlc2l6ZUltYWdlTWFzayhnLG4uYnBjLG8sYyx0LGkpKX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biBtYXNrIGZvcm1hdC4iKTt7Zz1uZXcgVWludDhDbGFtcGVkQXJyYXkodCppKTtjb25zdCBlPXRoaXMubnVtQ29tcHM7Zm9yKEM9MCxoPXQqaTtDPGg7KytDKXtsZXQgdD0wO2NvbnN0IGk9QyplO2ZvcihsPTA7bDxlOysrbCl7Y29uc3QgZT1zW2krbF0sYT0yKmw7aWYoZTxuW2FdfHxlPm5bYSsxXSl7dD0yNTU7YnJlYWt9fWdbQ109dH19fWlmKGcpZm9yKEM9MCxsPTMsaD10KmE7QzxoOysrQyxsKz00KWVbbF09Z1tDXTtlbHNlIGZvcihDPTAsbD0zLGg9dCphO0M8aDsrK0MsbCs9NCllW2xdPTI1NX11bmRvUHJlYmxlbmQoZSx0LGkpe2NvbnN0IGE9dGhpcy5zbWFzaz8ubWF0dGU7aWYoIWEpcmV0dXJuO2NvbnN0IHM9dGhpcy5jb2xvclNwYWNlLmdldFJnYihhLDApLHI9c1swXSxuPXNbMV0sZz1zWzJdLG89dCppKjQ7Zm9yKGxldCB0PTA7dDxvO3QrPTQpe2NvbnN0IGk9ZVt0KzNdO2lmKDA9PT1pKXtlW3RdPTI1NTtlW3QrMV09MjU1O2VbdCsyXT0yNTU7Y29udGludWV9Y29uc3QgYT0yNTUvaTtlW3RdPShlW3RdLXIpKmErcjtlW3QrMV09KGVbdCsxXS1uKSphK247ZVt0KzJdPShlW3QrMl0tZykqYStnfX1hc3luYyBjcmVhdGVJbWFnZURhdGEoZT0hMSx0PSExKXtjb25zdCBpPXRoaXMuZHJhd1dpZHRoLGE9dGhpcy5kcmF3SGVpZ2h0LHM9e3dpZHRoOmksaGVpZ2h0OmEsaW50ZXJwb2xhdGU6dGhpcy5pbnRlcnBvbGF0ZSxraW5kOjAsZGF0YTpudWxsfSxyPXRoaXMubnVtQ29tcHMsbj10aGlzLndpZHRoLGc9dGhpcy5oZWlnaHQsbz10aGlzLmJwYyxjPW4qcipvKzc+PjMsQz10JiZJbWFnZVJlc2l6ZXIubmVlZHNUb0JlUmVzaXplZChpLGEpO2lmKCF0aGlzLnNtYXNrJiYhdGhpcy5tYXNrJiYiRGV2aWNlUkdCQSI9PT10aGlzLmNvbG9yU3BhY2UubmFtZSl7cy5raW5kPVM7Y29uc3QgZT1zLmRhdGE9YXdhaXQgdGhpcy5nZXRJbWFnZUJ5dGVzKGcqbio0LHt9KTtyZXR1cm4gdD9DP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShzLCExKTp0aGlzLmNyZWF0ZUJpdG1hcChTLGksYSxlKTpzfWlmKCFlKXtsZXQgZTsiRGV2aWNlR3JheSI9PT10aGlzLmNvbG9yU3BhY2UubmFtZSYmMT09PW8/ZT1iOiJEZXZpY2VSR0IiIT09dGhpcy5jb2xvclNwYWNlLm5hbWV8fDghPT1vfHx0aGlzLm5lZWRzRGVjb2RlfHwoZT1GKTtpZihlJiYhdGhpcy5zbWFzayYmIXRoaXMubWFzayYmaT09PW4mJmE9PT1nKXtjb25zdCByPWF3YWl0IHRoaXMuI0cobixnKTtpZihyKXJldHVybiByO2NvbnN0IG89YXdhaXQgdGhpcy5nZXRJbWFnZUJ5dGVzKGcqYyx7fSk7aWYodClyZXR1cm4gQz9JbWFnZVJlc2l6ZXIuY3JlYXRlSW1hZ2Uoe2RhdGE6byxraW5kOmUsd2lkdGg6aSxoZWlnaHQ6YSxpbnRlcnBvbGF0ZTp0aGlzLmludGVycG9sYXRlfSx0aGlzLm5lZWRzRGVjb2RlKTp0aGlzLmNyZWF0ZUJpdG1hcChlLG4sZyxvKTtzLmtpbmQ9ZTtzLmRhdGE9bztpZih0aGlzLm5lZWRzRGVjb2RlKXthc3NlcnQoZT09PWIsIlBERkltYWdlLmNyZWF0ZUltYWdlRGF0YTogVGhlIGltYWdlIG11c3QgYmUgZ3JheXNjYWxlLiIpO2NvbnN0IHQ9cy5kYXRhO2ZvcihsZXQgZT0wLGk9dC5sZW5ndGg7ZTxpO2UrKyl0W2VdXj0yNTV9cmV0dXJuIHN9aWYodGhpcy5pbWFnZSBpbnN0YW5jZW9mIEpwZWdTdHJlYW0mJiF0aGlzLnNtYXNrJiYhdGhpcy5tYXNrJiYhdGhpcy5uZWVkc0RlY29kZSl7bGV0IGU9ZypjO2lmKHQmJiFDKXtsZXQgdD0hMTtzd2l0Y2godGhpcy5jb2xvclNwYWNlLm5hbWUpe2Nhc2UiRGV2aWNlR3JheSI6ZSo9NDt0PSEwO2JyZWFrO2Nhc2UiRGV2aWNlUkdCIjplPWUvMyo0O3Q9ITA7YnJlYWs7Y2FzZSJEZXZpY2VDTVlLIjp0PSEwfWlmKHQpe2NvbnN0IHQ9YXdhaXQgdGhpcy4jRyhpLGEpO2lmKHQpcmV0dXJuIHQ7Y29uc3Qgcz1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoZSx7ZHJhd1dpZHRoOmksZHJhd0hlaWdodDphLGZvcmNlUkdCQTohMH0pO3JldHVybiB0aGlzLmNyZWF0ZUJpdG1hcChTLGksYSxzKX19ZWxzZSBzd2l0Y2godGhpcy5jb2xvclNwYWNlLm5hbWUpe2Nhc2UiRGV2aWNlR3JheSI6ZSo9MztjYXNlIkRldmljZVJHQiI6Y2FzZSJEZXZpY2VDTVlLIjpzLmtpbmQ9RjtzLmRhdGE9YXdhaXQgdGhpcy5nZXRJbWFnZUJ5dGVzKGUse2RyYXdXaWR0aDppLGRyYXdIZWlnaHQ6YSxmb3JjZVJHQjohMH0pO3JldHVybiBDP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShzKTpzfX19Y29uc3QgaD1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoZypjLHtpbnRlcm5hbDohMH0pLGw9MHxoLmxlbmd0aC9jKmEvZyxRPXRoaXMuZ2V0Q29tcG9uZW50cyhoKTtsZXQgRSx1LGQsZixwLG07aWYodCYmIUMpe2Q9bmV3IE9mZnNjcmVlbkNhbnZhcyhpLGEpO2Y9ZC5nZXRDb250ZXh0KCIyZCIpO3A9Zi5jcmVhdGVJbWFnZURhdGEoaSxhKTttPXAuZGF0YX1zLmtpbmQ9UztpZihlfHx0aGlzLnNtYXNrfHx0aGlzLm1hc2spe3QmJiFDfHwobT1uZXcgVWludDhDbGFtcGVkQXJyYXkoaSphKjQpKTtFPTE7dT0hMDthd2FpdCB0aGlzLmZpbGxPcGFjaXR5KG0saSxhLGwsUSl9ZWxzZXtpZighdHx8Qyl7cy5raW5kPUY7bT1uZXcgVWludDhDbGFtcGVkQXJyYXkoaSphKjMpO0U9MH1lbHNle25ldyBVaW50MzJBcnJheShtLmJ1ZmZlcikuZmlsbChGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj80Mjc4MTkwMDgwOjI1NSk7RT0xfXU9ITF9dGhpcy5uZWVkc0RlY29kZSYmdGhpcy5kZWNvZGVCdWZmZXIoUSk7dGhpcy5jb2xvclNwYWNlLmZpbGxSZ2IobSxuLGcsaSxhLGwsbyxRLEUpO3UmJnRoaXMudW5kb1ByZWJsZW5kKG0saSxsKTtpZih0JiYhQyl7Zi5wdXRJbWFnZURhdGEocCwwLDApO3JldHVybntkYXRhOm51bGwsd2lkdGg6aSxoZWlnaHQ6YSxiaXRtYXA6ZC50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKSxpbnRlcnBvbGF0ZTp0aGlzLmludGVycG9sYXRlfX1zLmRhdGE9bTtyZXR1cm4gQz9JbWFnZVJlc2l6ZXIuY3JlYXRlSW1hZ2Uocyk6c31hc3luYyBmaWxsR3JheUJ1ZmZlcihlKXtjb25zdCB0PXRoaXMubnVtQ29tcHM7aWYoMSE9PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBSZWFkaW5nIGdyYXkgc2NhbGUgZnJvbSBhIGNvbG9yIGltYWdlOiAke3R9YCk7Y29uc3QgaT10aGlzLndpZHRoLGE9dGhpcy5oZWlnaHQscz10aGlzLmJwYyxyPWkqdCpzKzc+PjMsbj1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoYSpyLHtpbnRlcm5hbDohMH0pLGc9dGhpcy5nZXRDb21wb25lbnRzKG4pO2xldCBvLGM7aWYoMT09PXMpe2M9aSphO2lmKHRoaXMubmVlZHNEZWNvZGUpZm9yKG89MDtvPGM7KytvKWVbb109Z1tvXS0xJjI1NTtlbHNlIGZvcihvPTA7bzxjOysrbyllW29dPTI1NSYtZ1tvXTtyZXR1cm59dGhpcy5uZWVkc0RlY29kZSYmdGhpcy5kZWNvZGVCdWZmZXIoZyk7Yz1pKmE7Y29uc3QgQz0yNTUvKCgxPDxzKS0xKTtmb3Iobz0wO288YzsrK28pZVtvXT1DKmdbb119Y3JlYXRlQml0bWFwKGUsdCxpLGEpe2NvbnN0IHM9bmV3IE9mZnNjcmVlbkNhbnZhcyh0LGkpLHI9cy5nZXRDb250ZXh0KCIyZCIpO2xldCBuO2lmKGU9PT1TKW49bmV3IEltYWdlRGF0YShhLHQsaSk7ZWxzZXtuPXIuY3JlYXRlSW1hZ2VEYXRhKHQsaSk7Y29udmVydFRvUkdCQSh7a2luZDplLHNyYzphLGRlc3Q6bmV3IFVpbnQzMkFycmF5KG4uZGF0YS5idWZmZXIpLHdpZHRoOnQsaGVpZ2h0OmksaW52ZXJzZURlY29kZTp0aGlzLm5lZWRzRGVjb2RlfSl9ci5wdXRJbWFnZURhdGEobiwwLDApO3JldHVybntkYXRhOm51bGwsd2lkdGg6dCxoZWlnaHQ6aSxiaXRtYXA6cy50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKSxpbnRlcnBvbGF0ZTp0aGlzLmludGVycG9sYXRlfX1hc3luYyNHKGUsdCl7Y29uc3QgaT1hd2FpdCB0aGlzLmltYWdlLmdldFRyYW5zZmVyYWJsZUltYWdlKCk7cmV0dXJuIGk/e2RhdGE6bnVsbCx3aWR0aDplLGhlaWdodDp0LGJpdG1hcDppLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9Om51bGx9YXN5bmMgZ2V0SW1hZ2VCeXRlcyhlLHtkcmF3V2lkdGg6dCxkcmF3SGVpZ2h0OmksZm9yY2VSR0JBOmE9ITEsZm9yY2VSR0I6cz0hMSxpbnRlcm5hbDpyPSExfSl7dGhpcy5pbWFnZS5yZXNldCgpO3RoaXMuaW1hZ2UuZHJhd1dpZHRoPXR8fHRoaXMud2lkdGg7dGhpcy5pbWFnZS5kcmF3SGVpZ2h0PWl8fHRoaXMuaGVpZ2h0O3RoaXMuaW1hZ2UuZm9yY2VSR0JBPSEhYTt0aGlzLmltYWdlLmZvcmNlUkdCPSEhcztjb25zdCBuPWF3YWl0IHRoaXMuaW1hZ2UuZ2V0SW1hZ2VEYXRhKGUsdGhpcy5qcHhEZWNvZGVyT3B0aW9ucyk7aWYocnx8dGhpcy5pbWFnZSBpbnN0YW5jZW9mIERlY29kZVN0cmVhbSlyZXR1cm4gbjthc3NlcnQobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksJ1BERkltYWdlLmdldEltYWdlQnl0ZXM6IFVuc3VwcG9ydGVkICJpbWFnZUJ5dGVzIiB0eXBlLicpO3JldHVybiBuZXcgVWludDhBcnJheShuKX19Y29uc3Qga3M9T2JqZWN0LmZyZWV6ZSh7bWF4SW1hZ2VTaXplOi0xLGRpc2FibGVGb250RmFjZTohMSxpZ25vcmVFcnJvcnM6ITEsaXNFdmFsU3VwcG9ydGVkOiEwLGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOiExLGlzSW1hZ2VEZWNvZGVyU3VwcG9ydGVkOiExLGNhbnZhc01heEFyZWFJbkJ5dGVzOi0xLGZvbnRFeHRyYVByb3BlcnRpZXM6ITEsdXNlU3lzdGVtRm9udHM6ITAsY01hcFVybDpudWxsLHN0YW5kYXJkRm9udERhdGFVcmw6bnVsbH0pLFJzPTEsTnM9MixHcz1Qcm9taXNlLnJlc29sdmUoKTtmdW5jdGlvbiBub3JtYWxpemVCbGVuZE1vZGUoZSx0PSExKXtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPW5vcm1hbGl6ZUJsZW5kTW9kZSh0LCEwKTtpZihlKXJldHVybiBlfXdhcm4oYFVuc3VwcG9ydGVkIGJsZW5kIG1vZGUgQXJyYXk6ICR7ZX1gKTtyZXR1cm4ic291cmNlLW92ZXIifWlmKCEoZSBpbnN0YW5jZW9mIE5hbWUpKXJldHVybiB0P251bGw6InNvdXJjZS1vdmVyIjtzd2l0Y2goZS5uYW1lKXtjYXNlIk5vcm1hbCI6Y2FzZSJDb21wYXRpYmxlIjpyZXR1cm4ic291cmNlLW92ZXIiO2Nhc2UiTXVsdGlwbHkiOnJldHVybiJtdWx0aXBseSI7Y2FzZSJTY3JlZW4iOnJldHVybiJzY3JlZW4iO2Nhc2UiT3ZlcmxheSI6cmV0dXJuIm92ZXJsYXkiO2Nhc2UiRGFya2VuIjpyZXR1cm4iZGFya2VuIjtjYXNlIkxpZ2h0ZW4iOnJldHVybiJsaWdodGVuIjtjYXNlIkNvbG9yRG9kZ2UiOnJldHVybiJjb2xvci1kb2RnZSI7Y2FzZSJDb2xvckJ1cm4iOnJldHVybiJjb2xvci1idXJuIjtjYXNlIkhhcmRMaWdodCI6cmV0dXJuImhhcmQtbGlnaHQiO2Nhc2UiU29mdExpZ2h0IjpyZXR1cm4ic29mdC1saWdodCI7Y2FzZSJEaWZmZXJlbmNlIjpyZXR1cm4iZGlmZmVyZW5jZSI7Y2FzZSJFeGNsdXNpb24iOnJldHVybiJleGNsdXNpb24iO2Nhc2UiSHVlIjpyZXR1cm4iaHVlIjtjYXNlIlNhdHVyYXRpb24iOnJldHVybiJzYXR1cmF0aW9uIjtjYXNlIkNvbG9yIjpyZXR1cm4iY29sb3IiO2Nhc2UiTHVtaW5vc2l0eSI6cmV0dXJuImx1bWlub3NpdHkifWlmKHQpcmV0dXJuIG51bGw7d2FybihgVW5zdXBwb3J0ZWQgYmxlbmQgbW9kZTogJHtlLm5hbWV9YCk7cmV0dXJuInNvdXJjZS1vdmVyIn1mdW5jdGlvbiBhZGRMb2NhbGx5Q2FjaGVkSW1hZ2VPcHMoZSx0KXt0Lm9iaklkJiZlLmFkZERlcGVuZGVuY3kodC5vYmpJZCk7ZS5hZGRJbWFnZU9wcyh0LmZuLHQuYXJncyx0Lm9wdGlvbmFsQ29udGVudCk7dC5mbj09PWplJiZ0LmFyZ3NbMF0/LmNvdW50PjAmJnQuYXJnc1swXS5jb3VudCsrfWNsYXNzIFRpbWVTbG90TWFuYWdlcntzdGF0aWMgVElNRV9TTE9UX0RVUkFUSU9OX01TPTIwO3N0YXRpYyBDSEVDS19USU1FX0VWRVJZPTEwMDtjb25zdHJ1Y3Rvcigpe3RoaXMucmVzZXQoKX1jaGVjaygpe2lmKCsrdGhpcy5jaGVja2VkPFRpbWVTbG90TWFuYWdlci5DSEVDS19USU1FX0VWRVJZKXJldHVybiExO3RoaXMuY2hlY2tlZD0wO3JldHVybiB0aGlzLmVuZFRpbWU8PURhdGUubm93KCl9cmVzZXQoKXt0aGlzLmVuZFRpbWU9RGF0ZS5ub3coKStUaW1lU2xvdE1hbmFnZXIuVElNRV9TTE9UX0RVUkFUSU9OX01TO3RoaXMuY2hlY2tlZD0wfX1jbGFzcyBQYXJ0aWFsRXZhbHVhdG9ye2NvbnN0cnVjdG9yKHt4cmVmOmUsaGFuZGxlcjp0LHBhZ2VJbmRleDppLGlkRmFjdG9yeTphLGZvbnRDYWNoZTpzLGJ1aWx0SW5DTWFwQ2FjaGU6cixzdGFuZGFyZEZvbnREYXRhQ2FjaGU6bixnbG9iYWxJbWFnZUNhY2hlOmcsc3lzdGVtRm9udENhY2hlOm8sb3B0aW9uczpjPW51bGx9KXt0aGlzLnhyZWY9ZTt0aGlzLmhhbmRsZXI9dDt0aGlzLnBhZ2VJbmRleD1pO3RoaXMuaWRGYWN0b3J5PWE7dGhpcy5mb250Q2FjaGU9czt0aGlzLmJ1aWx0SW5DTWFwQ2FjaGU9cjt0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZT1uO3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZT1nO3RoaXMuc3lzdGVtRm9udENhY2hlPW87dGhpcy5vcHRpb25zPWN8fGtzO3RoaXMudHlwZTNGb250UmVmcz1udWxsO3RoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZT1uZXcgUmVnaW9uYWxJbWFnZUNhY2hlO3RoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZD10aGlzLmZldGNoQnVpbHRJbkNNYXAuYmluZCh0aGlzKTtJbWFnZVJlc2l6ZXIuc2V0T3B0aW9ucyh0aGlzLm9wdGlvbnMpO0pwZWdTdHJlYW0uc2V0T3B0aW9ucyh0aGlzLm9wdGlvbnMpfWdldCBfcGRmRnVuY3Rpb25GYWN0b3J5KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJfcGRmRnVuY3Rpb25GYWN0b3J5IixuZXcgUERGRnVuY3Rpb25GYWN0b3J5KHt4cmVmOnRoaXMueHJlZixpc0V2YWxTdXBwb3J0ZWQ6dGhpcy5vcHRpb25zLmlzRXZhbFN1cHBvcnRlZH0pKX1nZXQgcGFyc2luZ1R5cGUzRm9udCgpe3JldHVybiEhdGhpcy50eXBlM0ZvbnRSZWZzfWNsb25lKGU9bnVsbCl7Y29uc3QgdD1PYmplY3QuY3JlYXRlKHRoaXMpO3Qub3B0aW9ucz1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5vcHRpb25zLGUpO3JldHVybiB0fWhhc0JsZW5kTW9kZXMoZSx0KXtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4hMTtpZihlLm9iaklkJiZ0LmhhcyhlLm9iaklkKSlyZXR1cm4hMTtjb25zdCBpPW5ldyBSZWZTZXQodCk7ZS5vYmpJZCYmaS5wdXQoZS5vYmpJZCk7Y29uc3QgYT1bZV0scz10aGlzLnhyZWY7Zm9yKDthLmxlbmd0aDspe2NvbnN0IGU9YS5zaGlmdCgpLHQ9ZS5nZXQoIkV4dEdTdGF0ZSIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0KWZvcihsZXQgZSBvZiB0LmdldFJhd1ZhbHVlcygpKXtpZihlIGluc3RhbmNlb2YgUmVmKXtpZihpLmhhcyhlKSljb250aW51ZTt0cnl7ZT1zLmZldGNoKGUpfWNhdGNoKHQpe2kucHV0KGUpO2luZm8oYGhhc0JsZW5kTW9kZXMgLSBpZ25vcmluZyBFeHRHU3RhdGU6ICIke3R9Ii5gKTtjb250aW51ZX19aWYoIShlIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7ZS5vYmpJZCYmaS5wdXQoZS5vYmpJZCk7Y29uc3QgdD1lLmdldCgiQk0iKTtpZih0IGluc3RhbmNlb2YgTmFtZSl7aWYoIk5vcm1hbCIhPT10Lm5hbWUpcmV0dXJuITB9ZWxzZSBpZih2b2lkIDAhPT10JiZBcnJheS5pc0FycmF5KHQpKWZvcihjb25zdCBlIG9mIHQpaWYoZSBpbnN0YW5jZW9mIE5hbWUmJiJOb3JtYWwiIT09ZS5uYW1lKXJldHVybiEwfWNvbnN0IHI9ZS5nZXQoIlhPYmplY3QiKTtpZihyIGluc3RhbmNlb2YgRGljdClmb3IobGV0IGUgb2Ygci5nZXRSYXdWYWx1ZXMoKSl7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoaS5oYXMoZSkpY29udGludWU7dHJ5e2U9cy5mZXRjaChlKX1jYXRjaCh0KXtpLnB1dChlKTtpbmZvKGBoYXNCbGVuZE1vZGVzIC0gaWdub3JpbmcgWE9iamVjdDogIiR7dH0iLmApO2NvbnRpbnVlfX1pZighKGUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSljb250aW51ZTtlLmRpY3Qub2JqSWQmJmkucHV0KGUuZGljdC5vYmpJZCk7Y29uc3QgdD1lLmRpY3QuZ2V0KCJSZXNvdXJjZXMiKTtpZih0IGluc3RhbmNlb2YgRGljdCYmKCF0Lm9iaklkfHwhaS5oYXModC5vYmpJZCkpKXthLnB1c2godCk7dC5vYmpJZCYmaS5wdXQodC5vYmpJZCl9fX1mb3IoY29uc3QgZSBvZiBpKXQucHV0KGUpO3JldHVybiExfWFzeW5jI3goZSl7Y29uc3QgdD1hd2FpdCBmZXRjaChlKTtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBmZXRjaCBmaWxlICIke2V9IiB3aXRoICIke3Quc3RhdHVzVGV4dH0iLmApO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCB0LmFycmF5QnVmZmVyKCkpfWFzeW5jIGZldGNoQnVpbHRJbkNNYXAoZSl7Y29uc3QgdD10aGlzLmJ1aWx0SW5DTWFwQ2FjaGUuZ2V0KGUpO2lmKHQpcmV0dXJuIHQ7bGV0IGk7aWYobnVsbCE9PXRoaXMub3B0aW9ucy5jTWFwVXJsKXtpPXtjTWFwRGF0YTphd2FpdCB0aGlzLiN4KGAke3RoaXMub3B0aW9ucy5jTWFwVXJsfSR7ZX0uYmNtYXBgKSxpc0NvbXByZXNzZWQ6ITB9fWVsc2UgaT1hd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJGZXRjaEJ1aWx0SW5DTWFwIix7bmFtZTplfSk7dGhpcy5idWlsdEluQ01hcENhY2hlLnNldChlLGkpO3JldHVybiBpfWFzeW5jIGZldGNoU3RhbmRhcmRGb250RGF0YShlKXtjb25zdCB0PXRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmdldChlKTtpZih0KXJldHVybiBuZXcgU3RyZWFtKHQpO2lmKHRoaXMub3B0aW9ucy51c2VTeXN0ZW1Gb250cyYmIlN5bWJvbCIhPT1lJiYiWmFwZkRpbmdiYXRzIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgaT1aaSgpW2VdO2xldCBhO3RyeXthPW51bGwhPT10aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybD9hd2FpdCB0aGlzLiN4KGAke3RoaXMub3B0aW9ucy5zdGFuZGFyZEZvbnREYXRhVXJsfSR7aX1gKTphd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJGZXRjaFN0YW5kYXJkRm9udERhdGEiLHtmaWxlbmFtZTppfSl9Y2F0Y2goZSl7d2FybihlKTtyZXR1cm4gbnVsbH10aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZS5zZXQoZSxhKTtyZXR1cm4gbmV3IFN0cmVhbShhKX1hc3luYyBidWlsZEZvcm1YT2JqZWN0KGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9dC5kaWN0LG89bG9va3VwTWF0cml4KGcuZ2V0QXJyYXkoIk1hdHJpeCIpLG51bGwpLGM9bG9va3VwTm9ybWFsUmVjdChnLmdldEFycmF5KCJCQm94IiksbnVsbCk7bGV0IEMsaDtnLmhhcygiT0MiKSYmKEM9YXdhaXQgdGhpcy5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhnLmdldCgiT0MiKSxlKSk7dm9pZCAwIT09QyYmYS5hZGRPcChKZSxbIk9DIixDXSk7Y29uc3QgbD1nLmdldCgiR3JvdXAiKTtpZihsKXtoPXttYXRyaXg6byxiYm94OmMsc21hc2s6aSxpc29sYXRlZDohMSxrbm9ja291dDohMX07bGV0IHQ9bnVsbDtpZihpc05hbWUobC5nZXQoIlMiKSwiVHJhbnNwYXJlbmN5Iikpe2guaXNvbGF0ZWQ9bC5nZXQoIkkiKXx8ITE7aC5rbm9ja291dD1sLmdldCgiSyIpfHwhMTtpZihsLmhhcygiQ1MiKSl7Y29uc3QgaT1sLmdldFJhdygiQ1MiKSxhPUNvbG9yU3BhY2UuZ2V0Q2FjaGVkKGksdGhpcy54cmVmLG4pO3Q9YXx8YXdhaXQgdGhpcy5wYXJzZUNvbG9yU3BhY2Uoe2NzOmkscmVzb3VyY2VzOmUsbG9jYWxDb2xvclNwYWNlQ2FjaGU6bn0pfX1pZihpPy5iYWNrZHJvcCl7dHx8PUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2I7aS5iYWNrZHJvcD10LmdldFJnYihpLmJhY2tkcm9wLDApfWEuYWRkT3AoT2UsW2hdKX1jb25zdCBRPWw/W28sbnVsbF06W28sY107YS5hZGRPcChLZSxRKTthd2FpdCB0aGlzLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOnQsdGFzazpzLHJlc291cmNlczpnLmdldCgiUmVzb3VyY2VzIil8fGUsb3BlcmF0b3JMaXN0OmEsaW5pdGlhbFN0YXRlOnJ9KTthLmFkZE9wKHFlLFtdKTtsJiZhLmFkZE9wKFBlLFtoXSk7dm9pZCAwIT09QyYmYS5hZGRPcChZZSxbXSl9X3NlbmRJbWdEYXRhKGUsdCxpPSExKXtjb25zdCBhPXQ/W3QuYml0bWFwfHx0LmRhdGEuYnVmZmVyXTpudWxsO3JldHVybiB0aGlzLnBhcnNpbmdUeXBlM0ZvbnR8fGk/dGhpcy5oYW5kbGVyLnNlbmQoImNvbW1vbm9iaiIsW2UsIkltYWdlIix0XSxhKTp0aGlzLmhhbmRsZXIuc2VuZCgib2JqIixbZSx0aGlzLnBhZ2VJbmRleCwiSW1hZ2UiLHRdLGEpfWFzeW5jIGJ1aWxkUGFpbnRJbWFnZVhPYmplY3Qoe3Jlc291cmNlczplLGltYWdlOnQsaXNJbmxpbmU6aT0hMSxvcGVyYXRvckxpc3Q6YSxjYWNoZUtleTpzLGxvY2FsSW1hZ2VDYWNoZTpyLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm59KXtjb25zdCBnPXQuZGljdCxvPWcub2JqSWQsYz1nLmdldCgiVyIsIldpZHRoIiksQz1nLmdldCgiSCIsIkhlaWdodCIpO2lmKCFjfHwibnVtYmVyIiE9dHlwZW9mIGN8fCFDfHwibnVtYmVyIiE9dHlwZW9mIEMpe3dhcm4oIkltYWdlIGRpbWVuc2lvbnMgYXJlIG1pc3NpbmcsIG9yIG5vdCBudW1iZXJzLiIpO3JldHVybn1jb25zdCBoPXRoaXMub3B0aW9ucy5tYXhJbWFnZVNpemU7aWYoLTEhPT1oJiZjKkM+aCl7Y29uc3QgZT0iSW1hZ2UgZXhjZWVkZWQgbWF4aW11bSBhbGxvd2VkIHNpemUgYW5kIHdhcyByZW1vdmVkLiI7aWYodGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl7d2FybihlKTtyZXR1cm59dGhyb3cgbmV3IEVycm9yKGUpfWxldCBsO2cuaGFzKCJPQyIpJiYobD1hd2FpdCB0aGlzLnBhcnNlTWFya2VkQ29udGVudFByb3BzKGcuZ2V0KCJPQyIpLGUpKTtsZXQgUSxFO2lmKGcuZ2V0KCJJTSIsIkltYWdlTWFzayIpfHwhMSl7Y29uc3QgZT1nLmdldCgiSSIsIkludGVycG9sYXRlIiksaT1jKzc+PjMsbj10LmdldEJ5dGVzKGkqQyksaD1nLmdldEFycmF5KCJEIiwiRGVjb2RlIik7aWYodGhpcy5wYXJzaW5nVHlwZTNGb250KXtRPVBERkltYWdlLmNyZWF0ZVJhd01hc2soe2ltZ0FycmF5Om4sd2lkdGg6YyxoZWlnaHQ6QyxpbWFnZUlzRnJvbURlY29kZVN0cmVhbTp0IGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtLGludmVyc2VEZWNvZGU6aD8uWzBdPjAsaW50ZXJwb2xhdGU6ZX0pO1EuY2FjaGVkPSEhcztFPVtRXTthLmFkZEltYWdlT3BzKGplLEUsbCk7aWYocyl7Y29uc3QgZT17Zm46amUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsfTtyLnNldChzLG8sZSk7byYmdGhpcy5fcmVnaW9uYWxJbWFnZUNhY2hlLnNldChudWxsLG8sZSl9cmV0dXJufVE9YXdhaXQgUERGSW1hZ2UuY3JlYXRlTWFzayh7aW1nQXJyYXk6bix3aWR0aDpjLGhlaWdodDpDLGltYWdlSXNGcm9tRGVjb2RlU3RyZWFtOnQgaW5zdGFuY2VvZiBEZWNvZGVTdHJlYW0saW52ZXJzZURlY29kZTpoPy5bMF0+MCxpbnRlcnBvbGF0ZTplLGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOnRoaXMub3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZH0pO2lmKFEuaXNTaW5nbGVPcGFxdWVQaXhlbCl7YS5hZGRJbWFnZU9wcyhldCxbXSxsKTtpZihzKXtjb25zdCBlPXtmbjpldCxhcmdzOltdLG9wdGlvbmFsQ29udGVudDpsfTtyLnNldChzLG8sZSk7byYmdGhpcy5fcmVnaW9uYWxJbWFnZUNhY2hlLnNldChudWxsLG8sZSl9cmV0dXJufWNvbnN0IHU9YG1hc2tfJHt0aGlzLmlkRmFjdG9yeS5jcmVhdGVPYmpJZCgpfWA7YS5hZGREZXBlbmRlbmN5KHUpO1EuZGF0YUxlbj1RLmJpdG1hcD9RLndpZHRoKlEuaGVpZ2h0KjQ6US5kYXRhLmxlbmd0aDt0aGlzLl9zZW5kSW1nRGF0YSh1LFEpO0U9W3tkYXRhOnUsd2lkdGg6US53aWR0aCxoZWlnaHQ6US5oZWlnaHQsaW50ZXJwb2xhdGU6US5pbnRlcnBvbGF0ZSxjb3VudDoxfV07YS5hZGRJbWFnZU9wcyhqZSxFLGwpO2lmKHMpe2NvbnN0IGU9e29iaklkOnUsZm46amUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsfTtyLnNldChzLG8sZSk7byYmdGhpcy5fcmVnaW9uYWxJbWFnZUNhY2hlLnNldChudWxsLG8sZSl9cmV0dXJufWlmKGkmJmMrQzwyMDAmJiFnLmhhcygiU01hc2siKSYmIWcuaGFzKCJNYXNrIikpe3RyeXtjb25zdCBzPW5ldyBQREZJbWFnZSh7eHJlZjp0aGlzLnhyZWYscmVzOmUsaW1hZ2U6dCxpc0lubGluZTppLHBkZkZ1bmN0aW9uRmFjdG9yeTp0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksbG9jYWxDb2xvclNwYWNlQ2FjaGU6bn0pO1E9YXdhaXQgcy5jcmVhdGVJbWFnZURhdGEoITAsITEpO2EuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ9dGhpcy5vcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkO2EuYWRkSW1hZ2VPcHMoemUsW1FdLGwpfWNhdGNoKGUpe2NvbnN0IHQ9YFVuYWJsZSB0byBkZWNvZGUgaW5saW5lIGltYWdlOiAiJHtlfSIuYDtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBuZXcgRXJyb3IodCk7d2Fybih0KX1yZXR1cm59bGV0IHU9YGltZ18ke3RoaXMuaWRGYWN0b3J5LmNyZWF0ZU9iaklkKCl9YCxkPSExO2lmKHRoaXMucGFyc2luZ1R5cGUzRm9udCl1PWAke3RoaXMuaWRGYWN0b3J5LmdldERvY0lkKCl9X3R5cGUzXyR7dX1gO2Vsc2UgaWYocyYmbyl7ZD10aGlzLmdsb2JhbEltYWdlQ2FjaGUuc2hvdWxkQ2FjaGUobyx0aGlzLnBhZ2VJbmRleCk7aWYoZCl7YXNzZXJ0KCFpLCJDYW5ub3QgY2FjaGUgYW4gaW5saW5lIGltYWdlIGdsb2JhbGx5LiIpO3U9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fJHt1fWB9fWEuYWRkRGVwZW5kZW5jeSh1KTtFPVt1LGMsQ107YS5hZGRJbWFnZU9wcyhWZSxFLGwpO2lmKGQpe2lmKHRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5oYXNEZWNvZGVGYWlsZWQobykpe3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhKG8se29iaklkOnUsZm46VmUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsLGJ5dGVTaXplOjB9KTt0aGlzLl9zZW5kSW1nRGF0YSh1LG51bGwsZCk7cmV0dXJufWlmKGMqQz4yNWU0fHxnLmhhcygiU01hc2siKXx8Zy5oYXMoIk1hc2siKSl7Y29uc3QgZT1hd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJjb21tb25vYmoiLFt1LCJDb3B5TG9jYWxJbWFnZSIse2ltYWdlUmVmOm99XSk7aWYoZSl7dGhpcy5nbG9iYWxJbWFnZUNhY2hlLnNldERhdGEobyx7b2JqSWQ6dSxmbjpWZSxhcmdzOkUsb3B0aW9uYWxDb250ZW50OmwsYnl0ZVNpemU6MH0pO3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5hZGRCeXRlU2l6ZShvLGUpO3JldHVybn19fVBERkltYWdlLmJ1aWxkSW1hZ2Uoe3hyZWY6dGhpcy54cmVmLHJlczplLGltYWdlOnQsaXNJbmxpbmU6aSxwZGZGdW5jdGlvbkZhY3Rvcnk6dGhpcy5fcGRmRnVuY3Rpb25GYWN0b3J5LGxvY2FsQ29sb3JTcGFjZUNhY2hlOm59KS50aGVuKChhc3luYyBlPT57UT1hd2FpdCBlLmNyZWF0ZUltYWdlRGF0YSghMSx0aGlzLm9wdGlvbnMuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpO1EuZGF0YUxlbj1RLmJpdG1hcD9RLndpZHRoKlEuaGVpZ2h0KjQ6US5kYXRhLmxlbmd0aDtRLnJlZj1vO2QmJnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5hZGRCeXRlU2l6ZShvLFEuZGF0YUxlbik7cmV0dXJuIHRoaXMuX3NlbmRJbWdEYXRhKHUsUSxkKX0pKS5jYXRjaCgoZT0+e3dhcm4oYFVuYWJsZSB0byBkZWNvZGUgaW1hZ2UgIiR7dX0iOiAiJHtlfSIuYCk7byYmdGhpcy5nbG9iYWxJbWFnZUNhY2hlLmFkZERlY29kZUZhaWxlZChvKTtyZXR1cm4gdGhpcy5fc2VuZEltZ0RhdGEodSxudWxsLGQpfSkpO2lmKHMpe2NvbnN0IGU9e29iaklkOnUsZm46VmUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsfTtyLnNldChzLG8sZSk7aWYobyl7dGhpcy5fcmVnaW9uYWxJbWFnZUNhY2hlLnNldChudWxsLG8sZSk7ZCYmdGhpcy5nbG9iYWxJbWFnZUNhY2hlLnNldERhdGEobyx7b2JqSWQ6dSxmbjpWZSxhcmdzOkUsb3B0aW9uYWxDb250ZW50OmwsYnl0ZVNpemU6MH0pfX19aGFuZGxlU01hc2soZSx0LGksYSxzLHIpe2NvbnN0IG49ZS5nZXQoIkciKSxnPXtzdWJ0eXBlOmUuZ2V0KCJTIikubmFtZSxiYWNrZHJvcDplLmdldCgiQkMiKX0sbz1lLmdldCgiVFIiKTtpZihpc1BERkZ1bmN0aW9uKG8pKXtjb25zdCBlPXRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeS5jcmVhdGUobyksdD1uZXcgVWludDhBcnJheSgyNTYpLGk9bmV3IEZsb2F0MzJBcnJheSgxKTtmb3IobGV0IGE9MDthPDI1NjthKyspe2lbMF09YS8yNTU7ZShpLDAsaSwwKTt0W2FdPTI1NSppWzBdfDB9Zy50cmFuc2Zlck1hcD10fXJldHVybiB0aGlzLmJ1aWxkRm9ybVhPYmplY3QodCxuLGcsaSxhLHMuc3RhdGUuY2xvbmUoKSxyKX1oYW5kbGVUcmFuc2ZlckZ1bmN0aW9uKGUpe2xldCB0O2lmKEFycmF5LmlzQXJyYXkoZSkpdD1lO2Vsc2V7aWYoIWlzUERGRnVuY3Rpb24oZSkpcmV0dXJuIG51bGw7dD1bZV19Y29uc3QgaT1bXTtsZXQgYT0wLHM9MDtmb3IoY29uc3QgZSBvZiB0KXtjb25zdCB0PXRoaXMueHJlZi5mZXRjaElmUmVmKGUpO2ErKztpZihpc05hbWUodCwiSWRlbnRpdHkiKSl7aS5wdXNoKG51bGwpO2NvbnRpbnVlfWlmKCFpc1BERkZ1bmN0aW9uKHQpKXJldHVybiBudWxsO2NvbnN0IHI9dGhpcy5fcGRmRnVuY3Rpb25GYWN0b3J5LmNyZWF0ZSh0KSxuPW5ldyBVaW50OEFycmF5KDI1NiksZz1uZXcgRmxvYXQzMkFycmF5KDEpO2ZvcihsZXQgZT0wO2U8MjU2O2UrKyl7Z1swXT1lLzI1NTtyKGcsMCxnLDApO25bZV09MjU1KmdbMF18MH1pLnB1c2gobik7cysrfXJldHVybiAxIT09YSYmNCE9PWF8fDA9PT1zP251bGw6aX1oYW5kbGVUaWxpbmdUeXBlKGUsdCxpLGEscyxyLG4sZyl7Y29uc3Qgbz1uZXcgT3BlcmF0b3JMaXN0LGM9RGljdC5tZXJnZSh7eHJlZjp0aGlzLnhyZWYsZGljdEFycmF5OltzLmdldCgiUmVzb3VyY2VzIiksaV19KTtyZXR1cm4gdGhpcy5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTphLHRhc2s6bixyZXNvdXJjZXM6YyxvcGVyYXRvckxpc3Q6b30pLnRoZW4oKGZ1bmN0aW9uKCl7Y29uc3QgaT1vLmdldElSKCksYT1nZXRUaWxpbmdQYXR0ZXJuSVIoaSxzLHQpO3IuYWRkRGVwZW5kZW5jaWVzKG8uZGVwZW5kZW5jaWVzKTtyLmFkZE9wKGUsYSk7cy5vYmpJZCYmZy5zZXQobnVsbCxzLm9iaklkLHtvcGVyYXRvckxpc3RJUjppLGRpY3Q6c30pfSkpLmNhdGNoKChlPT57aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGhhbmRsZVRpbGluZ1R5cGUgLSBpZ25vcmluZyBwYXR0ZXJuOiAiJHtlfSIuYCl9fSkpfWFzeW5jIGhhbmRsZVNldEZvbnQoZSx0LGksYSxzLHIsbj1udWxsLGc9bnVsbCl7Y29uc3Qgbz10Py5bMF1pbnN0YW5jZW9mIE5hbWU/dFswXS5uYW1lOm51bGw7bGV0IGM9YXdhaXQgdGhpcy5sb2FkRm9udChvLGksZSxuLGcpO2lmKGMuZm9udC5pc1R5cGUzRm9udCl0cnl7YXdhaXQgYy5sb2FkVHlwZTNEYXRhKHRoaXMsZSxzKTthLmFkZERlcGVuZGVuY2llcyhjLnR5cGUzRGVwZW5kZW5jaWVzKX1jYXRjaChlKXtjPW5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZToiZ19mb250X2Vycm9yIixmb250Om5ldyBFcnJvckZvbnQoYFR5cGUzIGZvbnQgbG9hZCBlcnJvcjogJHtlfWApLGRpY3Q6Yy5mb250LGV2YWx1YXRvck9wdGlvbnM6dGhpcy5vcHRpb25zfSl9ci5mb250PWMuZm9udDtjLnNlbmQodGhpcy5oYW5kbGVyKTtyZXR1cm4gYy5sb2FkZWROYW1lfWhhbmRsZVRleHQoZSx0KXtjb25zdCBpPXQuZm9udCxhPWkuY2hhcnNUb0dseXBocyhlKTtpZihpLmRhdGEpeyghISh0LnRleHRSZW5kZXJpbmdNb2RlJkQpfHwiUGF0dGVybiI9PT10LmZpbGxDb2xvclNwYWNlLm5hbWV8fGkuZGlzYWJsZUZvbnRGYWNlfHx0aGlzLm9wdGlvbnMuZGlzYWJsZUZvbnRGYWNlKSYmUGFydGlhbEV2YWx1YXRvci5idWlsZEZvbnRQYXRocyhpLGEsdGhpcy5oYW5kbGVyLHRoaXMub3B0aW9ucyl9cmV0dXJuIGF9ZW5zdXJlU3RhdGVGb250KGUpe2lmKGUuZm9udClyZXR1cm47Y29uc3QgdD1uZXcgRm9ybWF0RXJyb3IoIk1pc3Npbmcgc2V0Rm9udCAoVGYpIG9wZXJhdG9yIGJlZm9yZSB0ZXh0IHJlbmRlcmluZyBvcGVyYXRvci4iKTtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyB0O3dhcm4oYGVuc3VyZVN0YXRlRm9udDogIiR7dH0iLmApfWFzeW5jIHNldEdTdGF0ZSh7cmVzb3VyY2VzOmUsZ1N0YXRlOnQsb3BlcmF0b3JMaXN0OmksY2FjaGVLZXk6YSx0YXNrOnMsc3RhdGVNYW5hZ2VyOnIsbG9jYWxHU3RhdGVDYWNoZTpuLGxvY2FsQ29sb3JTcGFjZUNhY2hlOmd9KXtjb25zdCBvPXQub2JqSWQ7bGV0IGM9ITA7Y29uc3QgQz1bXTtsZXQgaD1Qcm9taXNlLnJlc29sdmUoKTtmb3IoY29uc3QgYSBvZiB0LmdldEtleXMoKSl7Y29uc3Qgbj10LmdldChhKTtzd2l0Y2goYSl7Y2FzZSJUeXBlIjpicmVhaztjYXNlIkxXIjpjYXNlIkxDIjpjYXNlIkxKIjpjYXNlIk1MIjpjYXNlIkQiOmNhc2UiUkkiOmNhc2UiRkwiOmNhc2UiQ0EiOmNhc2UiY2EiOkMucHVzaChbYSxuXSk7YnJlYWs7Y2FzZSJGb250IjpjPSExO2g9aC50aGVuKCgoKT0+dGhpcy5oYW5kbGVTZXRGb250KGUsbnVsbCxuWzBdLGkscyxyLnN0YXRlKS50aGVuKChmdW5jdGlvbihlKXtpLmFkZERlcGVuZGVuY3koZSk7Qy5wdXNoKFthLFtlLG5bMV1dXSl9KSkpKTticmVhaztjYXNlIkJNIjpDLnB1c2goW2Esbm9ybWFsaXplQmxlbmRNb2RlKG4pXSk7YnJlYWs7Y2FzZSJTTWFzayI6aWYoaXNOYW1lKG4sIk5vbmUiKSl7Qy5wdXNoKFthLCExXSk7YnJlYWt9aWYobiBpbnN0YW5jZW9mIERpY3Qpe2M9ITE7aD1oLnRoZW4oKCgpPT50aGlzLmhhbmRsZVNNYXNrKG4sZSxpLHMscixnKSkpO0MucHVzaChbYSwhMF0pfWVsc2Ugd2FybigiVW5zdXBwb3J0ZWQgU01hc2sgdHlwZSIpO2JyZWFrO2Nhc2UiVFIiOmNvbnN0IHQ9dGhpcy5oYW5kbGVUcmFuc2ZlckZ1bmN0aW9uKG4pO0MucHVzaChbYSx0XSk7YnJlYWs7Y2FzZSJPUCI6Y2FzZSJvcCI6Y2FzZSJPUE0iOmNhc2UiQkciOmNhc2UiQkcyIjpjYXNlIlVDUiI6Y2FzZSJVQ1IyIjpjYXNlIlRSMiI6Y2FzZSJIVCI6Y2FzZSJTTSI6Y2FzZSJTQSI6Y2FzZSJBSVMiOmNhc2UiVEsiOmluZm8oImdyYXBoaWMgc3RhdGUgb3BlcmF0b3IgIithKTticmVhaztkZWZhdWx0OmluZm8oIlVua25vd24gZ3JhcGhpYyBzdGF0ZSBvcGVyYXRvciAiK2EpfX1hd2FpdCBoO0MubGVuZ3RoPjAmJmkuYWRkT3AoTkEsW0NdKTtjJiZuLnNldChhLG8sQyl9bG9hZEZvbnQoZSx0LGksYT1udWxsLHM9bnVsbCl7Y29uc3QgZXJyb3JGb250PWFzeW5jKCk9Pm5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZToiZ19mb250X2Vycm9yIixmb250Om5ldyBFcnJvckZvbnQoYEZvbnQgIiR7ZX0iIGlzIG5vdCBhdmFpbGFibGUuYCksZGljdDp0LGV2YWx1YXRvck9wdGlvbnM6dGhpcy5vcHRpb25zfSk7bGV0IHI7aWYodCl0IGluc3RhbmNlb2YgUmVmJiYocj10KTtlbHNle2NvbnN0IHQ9aS5nZXQoIkZvbnQiKTt0JiYocj10LmdldFJhdyhlKSl9aWYocil7aWYodGhpcy50eXBlM0ZvbnRSZWZzPy5oYXMocikpcmV0dXJuIGVycm9yRm9udCgpO2lmKHRoaXMuZm9udENhY2hlLmhhcyhyKSlyZXR1cm4gdGhpcy5mb250Q2FjaGUuZ2V0KHIpO3RyeXt0PXRoaXMueHJlZi5mZXRjaElmUmVmKHIpfWNhdGNoKGUpe3dhcm4oYGxvYWRGb250IC0gbG9va3VwIGZhaWxlZDogIiR7ZX0iLmApfX1pZighKHQgaW5zdGFuY2VvZiBEaWN0KSl7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMmJiF0aGlzLnBhcnNpbmdUeXBlM0ZvbnQpe3dhcm4oYEZvbnQgIiR7ZX0iIGlzIG5vdCBhdmFpbGFibGUuYCk7cmV0dXJuIGVycm9yRm9udCgpfXdhcm4oYEZvbnQgIiR7ZX0iIGlzIG5vdCBhdmFpbGFibGUgLS0gYXR0ZW1wdGluZyB0byBmYWxsYmFjayB0byBhIGRlZmF1bHQgZm9udC5gKTt0PWF8fFBhcnRpYWxFdmFsdWF0b3IuZmFsbGJhY2tGb250RGljdH1pZih0LmNhY2hlS2V5JiZ0aGlzLmZvbnRDYWNoZS5oYXModC5jYWNoZUtleSkpcmV0dXJuIHRoaXMuZm9udENhY2hlLmdldCh0LmNhY2hlS2V5KTtjb25zdHtwcm9taXNlOm4scmVzb2x2ZTpnfT1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTtsZXQgbzt0cnl7bz10aGlzLnByZUV2YWx1YXRlRm9udCh0KTtvLmNzc0ZvbnRJbmZvPXN9Y2F0Y2goZSl7d2FybihgbG9hZEZvbnQgLSBwcmVFdmFsdWF0ZUZvbnQgZmFpbGVkOiAiJHtlfSIuYCk7cmV0dXJuIGVycm9yRm9udCgpfWNvbnN0e2Rlc2NyaXB0b3I6YyxoYXNoOkN9PW8saD1yIGluc3RhbmNlb2YgUmVmO2xldCBsO2lmKEMmJmMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPWMuZm9udEFsaWFzZXN8fD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGVbQ10pe2NvbnN0IHQ9ZVtDXS5hbGlhc1JlZjtpZihoJiZ0JiZ0aGlzLmZvbnRDYWNoZS5oYXModCkpe3RoaXMuZm9udENhY2hlLnB1dEFsaWFzKHIsdCk7cmV0dXJuIHRoaXMuZm9udENhY2hlLmdldChyKX19ZWxzZSBlW0NdPXtmb250SUQ6dGhpcy5pZEZhY3RvcnkuY3JlYXRlRm9udElkKCl9O2gmJihlW0NdLmFsaWFzUmVmPXIpO2w9ZVtDXS5mb250SUR9ZWxzZSBsPXRoaXMuaWRGYWN0b3J5LmNyZWF0ZUZvbnRJZCgpO2Fzc2VydChsPy5zdGFydHNXaXRoKCJmIiksJ1RoZSAiZm9udElEIiBtdXN0IGJlIChjb3JyZWN0bHkpIGRlZmluZWQuJyk7aWYoaCl0aGlzLmZvbnRDYWNoZS5wdXQocixuKTtlbHNle3QuY2FjaGVLZXk9YGNhY2hlS2V5XyR7bH1gO3RoaXMuZm9udENhY2hlLnB1dCh0LmNhY2hlS2V5LG4pfXQubG9hZGVkTmFtZT1gJHt0aGlzLmlkRmFjdG9yeS5nZXREb2NJZCgpfV8ke2x9YDt0aGlzLnRyYW5zbGF0ZUZvbnQobykudGhlbigoZT0+e2cobmV3IFRyYW5zbGF0ZWRGb250KHtsb2FkZWROYW1lOnQubG9hZGVkTmFtZSxmb250OmUsZGljdDp0LGV2YWx1YXRvck9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfSkpLmNhdGNoKChlPT57d2FybihgbG9hZEZvbnQgLSB0cmFuc2xhdGVGb250IGZhaWxlZDogIiR7ZX0iLmApO2cobmV3IFRyYW5zbGF0ZWRGb250KHtsb2FkZWROYW1lOnQubG9hZGVkTmFtZSxmb250Om5ldyBFcnJvckZvbnQoZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZTplKSxkaWN0OnQsZXZhbHVhdG9yT3B0aW9uczp0aGlzLm9wdGlvbnN9KSl9KSk7cmV0dXJuIG59YnVpbGRQYXRoKGUsdCxpLGE9ITEpe2NvbnN0IHM9ZS5sZW5ndGgtMTtpfHwoaT1bXSk7aWYoczwwfHxlLmZuQXJyYXlbc10hPT10dCl7aWYoYSl7d2FybihgRW5jb3VudGVyZWQgcGF0aCBvcGVyYXRvciAiJHt0fSIgaW5zaWRlIG9mIGEgdGV4dCBvYmplY3QuYCk7ZS5hZGRPcChHQSxudWxsKX1sZXQgcztzd2l0Y2godCl7Y2FzZSBUQTpjb25zdCBlPWlbMF0raVsyXSx0PWlbMV0raVszXTtzPVtNYXRoLm1pbihpWzBdLGUpLE1hdGgubWluKGlbMV0sdCksTWF0aC5tYXgoaVswXSxlKSxNYXRoLm1heChpWzFdLHQpXTticmVhaztjYXNlIE1BOmNhc2UgTEE6cz1baVswXSxpWzFdLGlbMF0saVsxXV07YnJlYWs7ZGVmYXVsdDpzPVsxLzAsMS8wLC0xLzAsLTEvMF19ZS5hZGRPcCh0dCxbW3RdLGksc10pO2EmJmUuYWRkT3AoeEEsbnVsbCl9ZWxzZXtjb25zdCBhPWUuYXJnc0FycmF5W3NdO2FbMF0ucHVzaCh0KTthWzFdLnB1c2goLi4uaSk7Y29uc3Qgcj1hWzJdO3N3aXRjaCh0KXtjYXNlIFRBOmNvbnN0IGU9aVswXStpWzJdLHQ9aVsxXStpWzNdO3JbMF09TWF0aC5taW4oclswXSxpWzBdLGUpO3JbMV09TWF0aC5taW4oclsxXSxpWzFdLHQpO3JbMl09TWF0aC5tYXgoclsyXSxpWzBdLGUpO3JbM109TWF0aC5tYXgoclszXSxpWzFdLHQpO2JyZWFrO2Nhc2UgTUE6Y2FzZSBMQTpyWzBdPU1hdGgubWluKHJbMF0saVswXSk7clsxXT1NYXRoLm1pbihyWzFdLGlbMV0pO3JbMl09TWF0aC5tYXgoclsyXSxpWzBdKTtyWzNdPU1hdGgubWF4KHJbM10saVsxXSl9fX1wYXJzZUNvbG9yU3BhY2Uoe2NzOmUscmVzb3VyY2VzOnQsbG9jYWxDb2xvclNwYWNlQ2FjaGU6aX0pe3JldHVybiBDb2xvclNwYWNlLnBhcnNlQXN5bmMoe2NzOmUseHJlZjp0aGlzLnhyZWYscmVzb3VyY2VzOnQscGRmRnVuY3Rpb25GYWN0b3J5OnRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxsb2NhbENvbG9yU3BhY2VDYWNoZTppfSkuY2F0Y2goKGU9PntpZihlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pcmV0dXJuIG51bGw7aWYodGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl7d2FybihgcGFyc2VDb2xvclNwYWNlIC0gaWdub3JpbmcgQ29sb3JTcGFjZTogIiR7ZX0iLmApO3JldHVybiBudWxsfXRocm93IGV9KSl9cGFyc2VTaGFkaW5nKHtzaGFkaW5nOmUscmVzb3VyY2VzOnQsbG9jYWxDb2xvclNwYWNlQ2FjaGU6aSxsb2NhbFNoYWRpbmdQYXR0ZXJuQ2FjaGU6YX0pe2xldCBzLHI9YS5nZXQoZSk7aWYocilyZXR1cm4gcjt0cnl7cz1QYXR0ZXJuLnBhcnNlU2hhZGluZyhlLHRoaXMueHJlZix0LHRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxpKS5nZXRJUigpfWNhdGNoKHQpe2lmKHQgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbilyZXR1cm4gbnVsbDtpZih0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXt3YXJuKGBwYXJzZVNoYWRpbmcgLSBpZ25vcmluZyBzaGFkaW5nOiAiJHt0fSIuYCk7YS5zZXQoZSxudWxsKTtyZXR1cm4gbnVsbH10aHJvdyB0fXI9YHBhdHRlcm5fJHt0aGlzLmlkRmFjdG9yeS5jcmVhdGVPYmpJZCgpfWA7dGhpcy5wYXJzaW5nVHlwZTNGb250JiYocj1gJHt0aGlzLmlkRmFjdG9yeS5nZXREb2NJZCgpfV90eXBlM18ke3J9YCk7YS5zZXQoZSxyKTt0aGlzLnBhcnNpbmdUeXBlM0ZvbnQ/dGhpcy5oYW5kbGVyLnNlbmQoImNvbW1vbm9iaiIsW3IsIlBhdHRlcm4iLHNdKTp0aGlzLmhhbmRsZXIuc2VuZCgib2JqIixbcix0aGlzLnBhZ2VJbmRleCwiUGF0dGVybiIsc10pO3JldHVybiByfWhhbmRsZUNvbG9yTihlLHQsaSxhLHMscixuLGcsbyxjKXtjb25zdCBDPWkucG9wKCk7aWYoQyBpbnN0YW5jZW9mIE5hbWUpe2NvbnN0IGg9cy5nZXRSYXcoQy5uYW1lKSxsPWggaW5zdGFuY2VvZiBSZWYmJm8uZ2V0QnlSZWYoaCk7aWYobCl0cnl7Y29uc3Qgcz1hLmJhc2U/YS5iYXNlLmdldFJnYihpLDApOm51bGwscj1nZXRUaWxpbmdQYXR0ZXJuSVIobC5vcGVyYXRvckxpc3RJUixsLmRpY3Qscyk7ZS5hZGRPcCh0LHIpO3JldHVybn1jYXRjaHt9Y29uc3QgUT10aGlzLnhyZWYuZmV0Y2hJZlJlZihoKTtpZihRKXtjb25zdCBzPVEgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP1EuZGljdDpRLEM9cy5nZXQoIlBhdHRlcm5UeXBlIik7aWYoQz09PVJzKXtjb25zdCBnPWEuYmFzZT9hLmJhc2UuZ2V0UmdiKGksMCk6bnVsbDtyZXR1cm4gdGhpcy5oYW5kbGVUaWxpbmdUeXBlKHQsZyxyLFEscyxlLG4sbyl9aWYoQz09PU5zKXtjb25zdCBpPXMuZ2V0KCJTaGFkaW5nIiksYT10aGlzLnBhcnNlU2hhZGluZyh7c2hhZGluZzppLHJlc291cmNlczpyLGxvY2FsQ29sb3JTcGFjZUNhY2hlOmcsbG9jYWxTaGFkaW5nUGF0dGVybkNhY2hlOmN9KTtpZihhKXtjb25zdCBpPWxvb2t1cE1hdHJpeChzLmdldEFycmF5KCJNYXRyaXgiKSxudWxsKTtlLmFkZE9wKHQsWyJTaGFkaW5nIixhLGldKX1yZXR1cm59dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIFBhdHRlcm5UeXBlOiAke0N9YCl9fXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBQYXR0ZXJuTmFtZTogJHtDfWApfV9wYXJzZVZpc2liaWxpdHlFeHByZXNzaW9uKGUsdCxpKXtpZigrK3Q+MTApe3dhcm4oIlZpc2liaWxpdHkgZXhwcmVzc2lvbiBpcyB0b28gZGVlcGx5IG5lc3RlZCIpO3JldHVybn1jb25zdCBhPWUubGVuZ3RoLHM9dGhpcy54cmVmLmZldGNoSWZSZWYoZVswXSk7aWYoIShhPDIpJiZzIGluc3RhbmNlb2YgTmFtZSl7c3dpdGNoKHMubmFtZSl7Y2FzZSJBbmQiOmNhc2UiT3IiOmNhc2UiTm90IjppLnB1c2gocy5uYW1lKTticmVhaztkZWZhdWx0Ondhcm4oYEludmFsaWQgb3BlcmF0b3IgJHtzLm5hbWV9IGluIHZpc2liaWxpdHkgZXhwcmVzc2lvbmApO3JldHVybn1mb3IobGV0IHM9MTtzPGE7cysrKXtjb25zdCBhPWVbc10scj10aGlzLnhyZWYuZmV0Y2hJZlJlZihhKTtpZihBcnJheS5pc0FycmF5KHIpKXtjb25zdCBlPVtdO2kucHVzaChlKTt0aGlzLl9wYXJzZVZpc2liaWxpdHlFeHByZXNzaW9uKHIsdCxlKX1lbHNlIGEgaW5zdGFuY2VvZiBSZWYmJmkucHVzaChhLnRvU3RyaW5nKCkpfX1lbHNlIHdhcm4oIkludmFsaWQgdmlzaWJpbGl0eSBleHByZXNzaW9uIil9YXN5bmMgcGFyc2VNYXJrZWRDb250ZW50UHJvcHMoZSx0KXtsZXQgaTtpZihlIGluc3RhbmNlb2YgTmFtZSl7aT10LmdldCgiUHJvcGVydGllcyIpLmdldChlLm5hbWUpfWVsc2V7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJPcHRpb25hbCBjb250ZW50IHByb3BlcnRpZXMgbWFsZm9ybWVkLiIpO2k9ZX1jb25zdCBhPWkuZ2V0KCJUeXBlIik/Lm5hbWU7aWYoIk9DRyI9PT1hKXJldHVybnt0eXBlOmEsaWQ6aS5vYmpJZH07aWYoIk9DTUQiPT09YSl7Y29uc3QgZT1pLmdldCgiVkUiKTtpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCB0PVtdO3RoaXMuX3BhcnNlVmlzaWJpbGl0eUV4cHJlc3Npb24oZSwwLHQpO2lmKHQubGVuZ3RoPjApcmV0dXJue3R5cGU6Ik9DTUQiLGV4cHJlc3Npb246dH19Y29uc3QgdD1pLmdldCgiT0NHcyIpO2lmKEFycmF5LmlzQXJyYXkodCl8fHQgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPVtdO2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKGNvbnN0IGkgb2YgdCllLnB1c2goaS50b1N0cmluZygpKTtlbHNlIGUucHVzaCh0Lm9iaklkKTtyZXR1cm57dHlwZTphLGlkczplLHBvbGljeTppLmdldCgiUCIpaW5zdGFuY2VvZiBOYW1lP2kuZ2V0KCJQIikubmFtZTpudWxsLGV4cHJlc3Npb246bnVsbH19aWYodCBpbnN0YW5jZW9mIFJlZilyZXR1cm57dHlwZTphLGlkOnQudG9TdHJpbmcoKX19cmV0dXJuIG51bGx9Z2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06ZSx0YXNrOnQscmVzb3VyY2VzOmksb3BlcmF0b3JMaXN0OmEsaW5pdGlhbFN0YXRlOnM9bnVsbCxmYWxsYmFja0ZvbnREaWN0OnI9bnVsbH0pe2l8fD1EaWN0LmVtcHR5O3N8fD1uZXcgRXZhbFN0YXRlO2lmKCFhKXRocm93IG5ldyBFcnJvcignZ2V0T3BlcmF0b3JMaXN0OiBtaXNzaW5nICJvcGVyYXRvckxpc3QiIHBhcmFtZXRlcicpO2NvbnN0IG49dGhpcyxnPXRoaXMueHJlZjtsZXQgbz0hMTtjb25zdCBjPW5ldyBMb2NhbEltYWdlQ2FjaGUsQz1uZXcgTG9jYWxDb2xvclNwYWNlQ2FjaGUsaD1uZXcgTG9jYWxHU3RhdGVDYWNoZSxsPW5ldyBMb2NhbFRpbGluZ1BhdHRlcm5DYWNoZSxRPW5ldyBNYXAsRT1pLmdldCgiWE9iamVjdCIpfHxEaWN0LmVtcHR5LHU9aS5nZXQoIlBhdHRlcm4iKXx8RGljdC5lbXB0eSxkPW5ldyBTdGF0ZU1hbmFnZXIocyksZj1uZXcgRXZhbHVhdG9yUHJlcHJvY2Vzc29yKGUsZyxkKSxwPW5ldyBUaW1lU2xvdE1hbmFnZXI7ZnVuY3Rpb24gY2xvc2VQZW5kaW5nUmVzdG9yZU9QUyhlKXtmb3IobGV0IGU9MCx0PWYuc2F2ZWRTdGF0ZXNEZXB0aDtlPHQ7ZSsrKWEuYWRkT3AoeEEsW10pfXJldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24gcHJvbWlzZUJvZHkoZSxzKXtjb25zdCBuZXh0PWZ1bmN0aW9uKHQpe1Byb21pc2UuYWxsKFt0LGEucmVhZHldKS50aGVuKChmdW5jdGlvbigpe3RyeXtwcm9taXNlQm9keShlLHMpfWNhdGNoKGUpe3MoZSl9fSkscyl9O3QuZW5zdXJlTm90VGVybWluYXRlZCgpO3AucmVzZXQoKTtjb25zdCBtPXt9O2xldCB5LHcsRCxiLEYsUztmb3IoOyEoeT1wLmNoZWNrKCkpOyl7bS5hcmdzPW51bGw7aWYoIWYucmVhZChtKSlicmVhaztsZXQgZT1tLmFyZ3Mscz1tLmZuO3N3aXRjaCgwfHMpe2Nhc2UgVWU6Uz1lWzBdaW5zdGFuY2VvZiBOYW1lO0Y9ZVswXS5uYW1lO2lmKFMpe2NvbnN0IHQ9Yy5nZXRCeU5hbWUoRik7aWYodCl7YWRkTG9jYWxseUNhY2hlZEltYWdlT3BzKGEsdCk7ZT1udWxsO2NvbnRpbnVlfX1uZXh0KG5ldyBQcm9taXNlKChmdW5jdGlvbihlLHMpe2lmKCFTKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBtdXN0IGJlIHJlZmVycmVkIHRvIGJ5IG5hbWUuIik7bGV0IHI9RS5nZXRSYXcoRik7aWYociBpbnN0YW5jZW9mIFJlZil7Y29uc3QgdD1jLmdldEJ5UmVmKHIpfHxuLl9yZWdpb25hbEltYWdlQ2FjaGUuZ2V0QnlSZWYocik7aWYodCl7YWRkTG9jYWxseUNhY2hlZEltYWdlT3BzKGEsdCk7ZSgpO3JldHVybn1jb25zdCBpPW4uZ2xvYmFsSW1hZ2VDYWNoZS5nZXREYXRhKHIsbi5wYWdlSW5kZXgpO2lmKGkpe2EuYWRkRGVwZW5kZW5jeShpLm9iaklkKTthLmFkZEltYWdlT3BzKGkuZm4saS5hcmdzLGkub3B0aW9uYWxDb250ZW50KTtlKCk7cmV0dXJufXI9Zy5mZXRjaChyKX1pZighKHIgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3Qgc2hvdWxkIGJlIGEgc3RyZWFtIik7Y29uc3Qgbz1yLmRpY3QuZ2V0KCJTdWJ0eXBlIik7aWYoIShvIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJYT2JqZWN0IHNob3VsZCBoYXZlIGEgTmFtZSBzdWJ0eXBlIik7aWYoIkZvcm0iIT09by5uYW1lKWlmKCJJbWFnZSIhPT1vLm5hbWUpe2lmKCJQUyIhPT1vLm5hbWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmhhbmRsZWQgWE9iamVjdCBzdWJ0eXBlICR7by5uYW1lfWApO2luZm8oIklnbm9yZWQgWE9iamVjdCBzdWJ0eXBlIFBTIik7ZSgpfWVsc2Ugbi5idWlsZFBhaW50SW1hZ2VYT2JqZWN0KHtyZXNvdXJjZXM6aSxpbWFnZTpyLG9wZXJhdG9yTGlzdDphLGNhY2hlS2V5OkYsbG9jYWxJbWFnZUNhY2hlOmMsbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pLnRoZW4oZSxzKTtlbHNle2Quc2F2ZSgpO24uYnVpbGRGb3JtWE9iamVjdChpLHIsbnVsbCxhLHQsZC5zdGF0ZS5jbG9uZSgpLEMpLnRoZW4oKGZ1bmN0aW9uKCl7ZC5yZXN0b3JlKCk7ZSgpfSkscyl9fSkpLmNhdGNoKChmdW5jdGlvbihlKXtpZighKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbikpe2lmKCFuLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3JpbmcgWE9iamVjdDogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2Ugc2U6Y29uc3QgZj1lWzFdO25leHQobi5oYW5kbGVTZXRGb250KGksZSxudWxsLGEsdCxkLnN0YXRlLHIpLnRoZW4oKGZ1bmN0aW9uKGUpe2EuYWRkRGVwZW5kZW5jeShlKTthLmFkZE9wKHNlLFtlLGZdKX0pKSk7cmV0dXJuO2Nhc2UgJEE6bz0hMDticmVhaztjYXNlIEFlOm89ITE7YnJlYWs7Y2FzZSB4ZTpjb25zdCBwPWVbMF0uY2FjaGVLZXk7aWYocCl7Y29uc3QgdD1jLmdldEJ5TmFtZShwKTtpZih0KXthZGRMb2NhbGx5Q2FjaGVkSW1hZ2VPcHMoYSx0KTtlPW51bGw7Y29udGludWV9fW5leHQobi5idWlsZFBhaW50SW1hZ2VYT2JqZWN0KHtyZXNvdXJjZXM6aSxpbWFnZTplWzBdLGlzSW5saW5lOiEwLG9wZXJhdG9yTGlzdDphLGNhY2hlS2V5OnAsbG9jYWxJbWFnZUNhY2hlOmMsbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pKTtyZXR1cm47Y2FzZSBDZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1lWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO2JyZWFrO2Nhc2UgaGU6aWYoIWQuc3RhdGUuZm9udCl7bi5lbnN1cmVTdGF0ZUZvbnQoZC5zdGF0ZSk7Y29udGludWV9Y29uc3QgbT1bXSx5PWQuc3RhdGU7Zm9yKGNvbnN0IHQgb2YgZVswXSkic3RyaW5nIj09dHlwZW9mIHQ/bS5wdXNoKC4uLm4uaGFuZGxlVGV4dCh0LHkpKToibnVtYmVyIj09dHlwZW9mIHQmJm0ucHVzaCh0KTtlWzBdPW07cz1DZTticmVhaztjYXNlIGxlOmlmKCFkLnN0YXRlLmZvbnQpe24uZW5zdXJlU3RhdGVGb250KGQuc3RhdGUpO2NvbnRpbnVlfWEuYWRkT3AoY2UpO2VbMF09bi5oYW5kbGVUZXh0KGVbMF0sZC5zdGF0ZSk7cz1DZTticmVhaztjYXNlIEJlOmlmKCFkLnN0YXRlLmZvbnQpe24uZW5zdXJlU3RhdGVGb250KGQuc3RhdGUpO2NvbnRpbnVlfWEuYWRkT3AoY2UpO2EuYWRkT3AodGUsW2Uuc2hpZnQoKV0pO2EuYWRkT3AoZWUsW2Uuc2hpZnQoKV0pO2VbMF09bi5oYW5kbGVUZXh0KGVbMF0sZC5zdGF0ZSk7cz1DZTticmVhaztjYXNlIHJlOmQuc3RhdGUudGV4dFJlbmRlcmluZ01vZGU9ZVswXTticmVhaztjYXNlIGRlOntjb25zdCB0PUNvbG9yU3BhY2UuZ2V0Q2FjaGVkKGVbMF0sZyxDKTtpZih0KXtkLnN0YXRlLmZpbGxDb2xvclNwYWNlPXQ7Y29udGludWV9bmV4dChuLnBhcnNlQ29sb3JTcGFjZSh7Y3M6ZVswXSxyZXNvdXJjZXM6aSxsb2NhbENvbG9yU3BhY2VDYWNoZTpDfSkudGhlbigoZnVuY3Rpb24oZSl7ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1lfHxDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheX0pKSk7cmV0dXJufWNhc2UgdWU6e2NvbnN0IHQ9Q29sb3JTcGFjZS5nZXRDYWNoZWQoZVswXSxnLEMpO2lmKHQpe2Quc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT10O2NvbnRpbnVlfW5leHQobi5wYXJzZUNvbG9yU3BhY2Uoe2NzOmVbMF0scmVzb3VyY2VzOmksbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pLnRoZW4oKGZ1bmN0aW9uKGUpe2Quc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT1lfHxDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheX0pKSk7cmV0dXJufWNhc2UgbWU6Yj1kLnN0YXRlLmZpbGxDb2xvclNwYWNlO2U9Yi5nZXRSZ2IoZSwwKTtzPUZlO2JyZWFrO2Nhc2UgZmU6Yj1kLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U7ZT1iLmdldFJnYihlLDApO3M9YmU7YnJlYWs7Y2FzZSBEZTpkLnN0YXRlLmZpbGxDb2xvclNwYWNlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5O2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXkuZ2V0UmdiKGUsMCk7cz1GZTticmVhaztjYXNlIHdlOmQuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTtlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYihlLDApO3M9YmU7YnJlYWs7Y2FzZSBrZTpkLnN0YXRlLmZpbGxDb2xvclNwYWNlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrO2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWsuZ2V0UmdiKGUsMCk7cz1GZTticmVhaztjYXNlIFNlOmQuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuY215aztlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYihlLDApO3M9YmU7YnJlYWs7Y2FzZSBGZTpkLnN0YXRlLmZpbGxDb2xvclNwYWNlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2I7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYihlLDApO2JyZWFrO2Nhc2UgYmU6ZC5zdGF0ZS5zdHJva2VDb2xvclNwYWNlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2I7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYihlLDApO2JyZWFrO2Nhc2UgeWU6Yj1kLnN0YXRlLnBhdHRlcm5GaWxsQ29sb3JTcGFjZTtpZighYil7aWYoaXNOdW1iZXJBcnJheShlLG51bGwpKXtlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYihlLDApO3M9RmU7YnJlYWt9ZT1bXTtzPWF0O2JyZWFrfWlmKCJQYXR0ZXJuIj09PWIubmFtZSl7bmV4dChuLmhhbmRsZUNvbG9yTihhLHllLGUsYix1LGksdCxDLGwsUSkpO3JldHVybn1lPWIuZ2V0UmdiKGUsMCk7cz1GZTticmVhaztjYXNlIHBlOmI9ZC5zdGF0ZS5wYXR0ZXJuU3Ryb2tlQ29sb3JTcGFjZTtpZighYil7aWYoaXNOdW1iZXJBcnJheShlLG51bGwpKXtlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYihlLDApO3M9YmU7YnJlYWt9ZT1bXTtzPWl0O2JyZWFrfWlmKCJQYXR0ZXJuIj09PWIubmFtZSl7bmV4dChuLmhhbmRsZUNvbG9yTihhLHBlLGUsYix1LGksdCxDLGwsUSkpO3JldHVybn1lPWIuZ2V0UmdiKGUsMCk7cz1iZTticmVhaztjYXNlIFJlOmxldCBrO3RyeXtjb25zdCB0PWkuZ2V0KCJTaGFkaW5nIik7aWYoIXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBzaGFkaW5nIHJlc291cmNlIGZvdW5kIik7az10LmdldChlWzBdLm5hbWUpO2lmKCFrKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm8gc2hhZGluZyBvYmplY3QgZm91bmQiKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pY29udGludWU7aWYobi5vcHRpb25zLmlnbm9yZUVycm9ycyl7d2FybihgZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3JpbmcgU2hhZGluZzogIiR7ZX0iLmApO2NvbnRpbnVlfXRocm93IGV9Y29uc3QgUj1uLnBhcnNlU2hhZGluZyh7c2hhZGluZzprLHJlc291cmNlczppLGxvY2FsQ29sb3JTcGFjZUNhY2hlOkMsbG9jYWxTaGFkaW5nUGF0dGVybkNhY2hlOlF9KTtpZighUiljb250aW51ZTtlPVtSXTtzPVJlO2JyZWFrO2Nhc2UgTkE6Uz1lWzBdaW5zdGFuY2VvZiBOYW1lO0Y9ZVswXS5uYW1lO2lmKFMpe2NvbnN0IHQ9aC5nZXRCeU5hbWUoRik7aWYodCl7dC5sZW5ndGg+MCYmYS5hZGRPcChOQSxbdF0pO2U9bnVsbDtjb250aW51ZX19bmV4dChuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxzKXtpZighUyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkdTdGF0ZSBtdXN0IGJlIHJlZmVycmVkIHRvIGJ5IG5hbWUuIik7Y29uc3Qgcj1pLmdldCgiRXh0R1N0YXRlIik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJFeHRHU3RhdGUgc2hvdWxkIGJlIGEgZGljdGlvbmFyeS4iKTtjb25zdCBnPXIuZ2V0KEYpO2lmKCEoZyBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiR1N0YXRlIHNob3VsZCBiZSBhIGRpY3Rpb25hcnkuIik7bi5zZXRHU3RhdGUoe3Jlc291cmNlczppLGdTdGF0ZTpnLG9wZXJhdG9yTGlzdDphLGNhY2hlS2V5OkYsdGFzazp0LHN0YXRlTWFuYWdlcjpkLGxvY2FsR1N0YXRlQ2FjaGU6aCxsb2NhbENvbG9yU3BhY2VDYWNoZTpDfSkudGhlbihlLHMpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtpZighKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbikpe2lmKCFuLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3JpbmcgRXh0R1N0YXRlOiAiJHtlfSIuYCl9fSkpKTtyZXR1cm47Y2FzZSBNQTpjYXNlIExBOmNhc2UgSEE6Y2FzZSBKQTpjYXNlIFlBOmNhc2UgdkE6Y2FzZSBUQTpuLmJ1aWxkUGF0aChhLHMsZSxvKTtjb250aW51ZTtjYXNlIE1lOmNhc2UgTGU6Y2FzZSB2ZTpjYXNlIFRlOmNvbnRpbnVlO2Nhc2UgSmU6aWYoIShlWzBdaW5zdGFuY2VvZiBOYW1lKSl7d2FybihgRXhwZWN0ZWQgbmFtZSBmb3IgYmVnaW5NYXJrZWRDb250ZW50UHJvcHMgYXJnMD0ke2VbMF19YCk7YS5hZGRPcChKZSxbIk9DIixudWxsXSk7Y29udGludWV9aWYoIk9DIj09PWVbMF0ubmFtZSl7bmV4dChuLnBhcnNlTWFya2VkQ29udGVudFByb3BzKGVbMV0saSkudGhlbigoZT0+e2EuYWRkT3AoSmUsWyJPQyIsZV0pfSkpLmNhdGNoKChlPT57aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbi5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIGJlZ2luTWFya2VkQ29udGVudFByb3BzOiAiJHtlfSIuYCk7YS5hZGRPcChKZSxbIk9DIixudWxsXSl9fSkpKTtyZXR1cm59ZT1bZVswXS5uYW1lLGVbMV1pbnN0YW5jZW9mIERpY3Q/ZVsxXS5nZXQoIk1DSUQiKTpudWxsXTticmVhaztkZWZhdWx0OmlmKG51bGwhPT1lKXtmb3Iodz0wLEQ9ZS5sZW5ndGg7dzxEJiYhKGVbd11pbnN0YW5jZW9mIERpY3QpO3crKyk7aWYodzxEKXt3YXJuKCJnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBvcGVyYXRvcjogIitzKTtjb250aW51ZX19fWEuYWRkT3AocyxlKX1pZih5KW5leHQoR3MpO2Vsc2V7Y2xvc2VQZW5kaW5nUmVzdG9yZU9QUygpO2UoKX19KSkuY2F0Y2goKGU9PntpZighKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbikpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3JpbmcgZXJyb3JzIGR1cmluZyAiJHt0Lm5hbWV9IiB0YXNrOiAiJHtlfSIuYCk7Y2xvc2VQZW5kaW5nUmVzdG9yZU9QUygpfX0pKX1nZXRUZXh0Q29udGVudCh7c3RyZWFtOmUsdGFzazp0LHJlc291cmNlczpzLHN0YXRlTWFuYWdlcjpyPW51bGwsaW5jbHVkZU1hcmtlZENvbnRlbnQ6bj0hMSxzaW5rOmcsc2VlblN0eWxlczpvPW5ldyBTZXQsdmlld0JveDpjLGxhbmc6Qz1udWxsLG1hcmtlZENvbnRlbnREYXRhOmg9bnVsbCxkaXNhYmxlTm9ybWFsaXphdGlvbjpsPSExLGtlZXBXaGl0ZVNwYWNlOlE9ITF9KXtzfHw9RGljdC5lbXB0eTtyfHw9bmV3IFN0YXRlTWFuYWdlcihuZXcgVGV4dFN0YXRlKTtuJiYoaHx8PXtsZXZlbDowfSk7Y29uc3QgRT17aXRlbXM6W10sc3R5bGVzOk9iamVjdC5jcmVhdGUobnVsbCksbGFuZzpDfSx1PXtpbml0aWFsaXplZDohMSxzdHI6W10sdG90YWxXaWR0aDowLHRvdGFsSGVpZ2h0OjAsd2lkdGg6MCxoZWlnaHQ6MCx2ZXJ0aWNhbDohMSxwcmV2VHJhbnNmb3JtOm51bGwsdGV4dEFkdmFuY2VTY2FsZTowLHNwYWNlSW5GbG93TWluOjAsc3BhY2VJbkZsb3dNYXg6MCx0cmFja2luZ1NwYWNlTWluOjEvMCxuZWdhdGl2ZVNwYWNlTWF4Oi0xLzAsbm90QVNwYWNlOi0xLzAsdHJhbnNmb3JtOm51bGwsZm9udE5hbWU6bnVsbCxoYXNFT0w6ITF9LGQ9WyIgIiwiICJdO2xldCBmPTA7ZnVuY3Rpb24gc2F2ZUxhc3RDaGFyKGUpe2NvbnN0IHQ9KGYrMSklMixpPSIgIiE9PWRbZl0mJiIgIj09PWRbdF07ZFtmXT1lO2Y9dDtyZXR1cm4hUSYmaX1mdW5jdGlvbiBzaG91bGRBZGRXaGl0ZXBzYWNlKCl7cmV0dXJuIVEmJiIgIiE9PWRbZl0mJiIgIj09PWRbKGYrMSklMl19ZnVuY3Rpb24gcmVzZXRMYXN0Q2hhcnMoKXtkWzBdPWRbMV09IiAiO2Y9MH1jb25zdCBwPXRoaXMsbT10aGlzLnhyZWYseT1bXTtsZXQgdz1udWxsO2NvbnN0IEQ9bmV3IExvY2FsSW1hZ2VDYWNoZSxiPW5ldyBMb2NhbEdTdGF0ZUNhY2hlLEY9bmV3IEV2YWx1YXRvclByZXByb2Nlc3NvcihlLG0scik7bGV0IFM7ZnVuY3Rpb24gcHVzaFdoaXRlc3BhY2Uoe3dpZHRoOmU9MCxoZWlnaHQ6dD0wLHRyYW5zZm9ybTppPXUucHJldlRyYW5zZm9ybSxmb250TmFtZTphPXUuZm9udE5hbWV9KXtFLml0ZW1zLnB1c2goe3N0cjoiICIsZGlyOiJsdHIiLHdpZHRoOmUsaGVpZ2h0OnQsdHJhbnNmb3JtOmksZm9udE5hbWU6YSxoYXNFT0w6ITF9KX1mdW5jdGlvbiBnZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpe2NvbnN0IGU9Uy5mb250LHQ9W1MuZm9udFNpemUqUy50ZXh0SFNjYWxlLDAsMCxTLmZvbnRTaXplLDAsUy50ZXh0UmlzZV07aWYoZS5pc1R5cGUzRm9udCYmKFMuZm9udFNpemU8PTF8fGUuaXNDaGFyQkJveCkmJiFpc0FycmF5RXF1YWwoUy5mb250TWF0cml4LGEpKXtjb25zdCBpPWUuYmJveFszXS1lLmJib3hbMV07aT4wJiYodFszXSo9aSpTLmZvbnRNYXRyaXhbM10pfXJldHVybiBVdGlsLnRyYW5zZm9ybShTLmN0bSxVdGlsLnRyYW5zZm9ybShTLnRleHRNYXRyaXgsdCkpfWZ1bmN0aW9uIGVuc3VyZVRleHRDb250ZW50SXRlbSgpe2lmKHUuaW5pdGlhbGl6ZWQpcmV0dXJuIHU7Y29uc3R7Zm9udDplLGxvYWRlZE5hbWU6dH09UztpZighby5oYXModCkpe28uYWRkKHQpO0Uuc3R5bGVzW3RdPXtmb250RmFtaWx5OmUuZmFsbGJhY2tOYW1lLGFzY2VudDplLmFzY2VudCxkZXNjZW50OmUuZGVzY2VudCx2ZXJ0aWNhbDplLnZlcnRpY2FsfTtpZihwLm9wdGlvbnMuZm9udEV4dHJhUHJvcGVydGllcyYmZS5zeXN0ZW1Gb250SW5mbyl7Y29uc3QgaT1FLnN0eWxlc1t0XTtpLmZvbnRTdWJzdGl0dXRpb249ZS5zeXN0ZW1Gb250SW5mby5jc3M7aS5mb250U3Vic3RpdHV0aW9uTG9hZGVkTmFtZT1lLnN5c3RlbUZvbnRJbmZvLmxvYWRlZE5hbWV9fXUuZm9udE5hbWU9dDtjb25zdCBpPXUudHJhbnNmb3JtPWdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCk7aWYoZS52ZXJ0aWNhbCl7dS53aWR0aD11LnRvdGFsV2lkdGg9TWF0aC5oeXBvdChpWzBdLGlbMV0pO3UuaGVpZ2h0PXUudG90YWxIZWlnaHQ9MDt1LnZlcnRpY2FsPSEwfWVsc2V7dS53aWR0aD11LnRvdGFsV2lkdGg9MDt1LmhlaWdodD11LnRvdGFsSGVpZ2h0PU1hdGguaHlwb3QoaVsyXSxpWzNdKTt1LnZlcnRpY2FsPSExfWNvbnN0IGE9TWF0aC5oeXBvdChTLnRleHRMaW5lTWF0cml4WzBdLFMudGV4dExpbmVNYXRyaXhbMV0pLHM9TWF0aC5oeXBvdChTLmN0bVswXSxTLmN0bVsxXSk7dS50ZXh0QWR2YW5jZVNjYWxlPXMqYTtjb25zdHtmb250U2l6ZTpyfT1TO3UudHJhY2tpbmdTcGFjZU1pbj0uMTAyKnI7dS5ub3RBU3BhY2U9LjAzKnI7dS5uZWdhdGl2ZVNwYWNlTWF4PS0uMipyO3Uuc3BhY2VJbkZsb3dNaW49LjEwMipyO3Uuc3BhY2VJbkZsb3dNYXg9LjYqcjt1Lmhhc0VPTD0hMTt1LmluaXRpYWxpemVkPSEwO3JldHVybiB1fWZ1bmN0aW9uIHVwZGF0ZUFkdmFuY2VTY2FsZSgpe2lmKCF1LmluaXRpYWxpemVkKXJldHVybjtjb25zdCBlPU1hdGguaHlwb3QoUy50ZXh0TGluZU1hdHJpeFswXSxTLnRleHRMaW5lTWF0cml4WzFdKSx0PU1hdGguaHlwb3QoUy5jdG1bMF0sUy5jdG1bMV0pKmU7aWYodCE9PXUudGV4dEFkdmFuY2VTY2FsZSl7aWYodS52ZXJ0aWNhbCl7dS50b3RhbEhlaWdodCs9dS5oZWlnaHQqdS50ZXh0QWR2YW5jZVNjYWxlO3UuaGVpZ2h0PTB9ZWxzZXt1LnRvdGFsV2lkdGgrPXUud2lkdGgqdS50ZXh0QWR2YW5jZVNjYWxlO3Uud2lkdGg9MH11LnRleHRBZHZhbmNlU2NhbGU9dH19ZnVuY3Rpb24gcnVuQmlkaVRyYW5zZm9ybShlKXtsZXQgdD1lLnN0ci5qb2luKCIiKTtsfHwodD1mdW5jdGlvbiBub3JtYWxpemVVbmljb2RlKGUpe2lmKCFjdCl7Y3Q9LyhbXHUwMGEwXHUwMGI1XHUwMzdlXHUwZWIzXHUyMDAwLVx1MjAwYVx1MjAyZlx1MjEyNlx1ZmIwMC1cdWZiMDRcdWZiMDZcdWZiMjAtXHVmYjM2XHVmYjM4LVx1ZmIzY1x1ZmIzZVx1ZmI0MC1cdWZiNDFcdWZiNDMtXHVmYjQ0XHVmYjQ2LVx1ZmJhMVx1ZmJhNC1cdWZiYTlcdWZiYWUtXHVmYmIxXHVmYmQzLVx1ZmJkY1x1ZmJkZS1cdWZiZTdcdWZiZWEtXHVmYmY4XHVmYmZjLVx1ZmJmZFx1ZmMwMC1cdWZjNWRcdWZjNjQtXHVmY2YxXHVmY2Y1LVx1ZmQzZFx1ZmQ4OFx1ZmRmNFx1ZmRmYS1cdWZkZmJcdWZlNzFcdWZlNzdcdWZlNzlcdWZlN2JcdWZlN2RdKyl8KFx1ZmIwNSspL2d1O0N0PW5ldyBNYXAoW1si76yFIiwixb90Il1dKX1yZXR1cm4gZS5yZXBsYWNlQWxsKGN0LCgoZSx0LGkpPT50P3Qubm9ybWFsaXplKCJORktDIik6Q3QuZ2V0KGkpKSl9KHQpKTtjb25zdCBpPWJpZGkodCwtMSxlLnZlcnRpY2FsKTtyZXR1cm57c3RyOmkuc3RyLGRpcjppLmRpcix3aWR0aDpNYXRoLmFicyhlLnRvdGFsV2lkdGgpLGhlaWdodDpNYXRoLmFicyhlLnRvdGFsSGVpZ2h0KSx0cmFuc2Zvcm06ZS50cmFuc2Zvcm0sZm9udE5hbWU6ZS5mb250TmFtZSxoYXNFT0w6ZS5oYXNFT0x9fWFzeW5jIGZ1bmN0aW9uIGhhbmRsZVNldEZvbnQoZSxpKXtjb25zdCByPWF3YWl0IHAubG9hZEZvbnQoZSxpLHMpO2lmKHIuZm9udC5pc1R5cGUzRm9udCl0cnl7YXdhaXQgci5sb2FkVHlwZTNEYXRhKHAscyx0KX1jYXRjaHt9Uy5sb2FkZWROYW1lPXIubG9hZGVkTmFtZTtTLmZvbnQ9ci5mb250O1MuZm9udE1hdHJpeD1yLmZvbnQuZm9udE1hdHJpeHx8YX1mdW5jdGlvbiBhcHBseUludmVyc2VSb3RhdGlvbihlLHQsaSl7Y29uc3QgYT1NYXRoLmh5cG90KGlbMF0saVsxXSk7cmV0dXJuWyhpWzBdKmUraVsxXSp0KS9hLChpWzJdKmUraVszXSp0KS9hXX1mdW5jdGlvbiBjb21wYXJlV2l0aExhc3RQb3NpdGlvbihlKXtjb25zdCB0PWdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCk7bGV0IGk9dFs0XSxhPXRbNV07aWYoUy5mb250Py52ZXJ0aWNhbCl7aWYoaTxjWzBdfHxpPmNbMl18fGErZTxjWzFdfHxhPmNbM10pcmV0dXJuITF9ZWxzZSBpZihpK2U8Y1swXXx8aT5jWzJdfHxhPGNbMV18fGE+Y1szXSlyZXR1cm4hMTtpZighUy5mb250fHwhdS5wcmV2VHJhbnNmb3JtKXJldHVybiEwO2xldCBzPXUucHJldlRyYW5zZm9ybVs0XSxyPXUucHJldlRyYW5zZm9ybVs1XTtpZihzPT09aSYmcj09PWEpcmV0dXJuITA7bGV0IG49LTE7dFswXSYmMD09PXRbMV0mJjA9PT10WzJdP249dFswXT4wPzA6MTgwOnRbMV0mJjA9PT10WzBdJiYwPT09dFszXSYmKG49dFsxXT4wPzkwOjI3MCk7c3dpdGNoKG4pe2Nhc2UgMDpicmVhaztjYXNlIDkwOltpLGFdPVthLGldO1tzLHJdPVtyLHNdO2JyZWFrO2Nhc2UgMTgwOltpLGEscyxyXT1bLWksLWEsLXMsLXJdO2JyZWFrO2Nhc2UgMjcwOltpLGFdPVstYSwtaV07W3Mscl09Wy1yLC1zXTticmVhaztkZWZhdWx0OltpLGFdPWFwcGx5SW52ZXJzZVJvdGF0aW9uKGksYSx0KTtbcyxyXT1hcHBseUludmVyc2VSb3RhdGlvbihzLHIsdS5wcmV2VHJhbnNmb3JtKX1pZihTLmZvbnQudmVydGljYWwpe2NvbnN0IGU9KHItYSkvdS50ZXh0QWR2YW5jZVNjYWxlLHQ9aS1zLG49TWF0aC5zaWduKHUuaGVpZ2h0KTtpZihlPG4qdS5uZWdhdGl2ZVNwYWNlTWF4KXtpZihNYXRoLmFicyh0KT4uNSp1LndpZHRoKXthcHBlbmRFT0woKTtyZXR1cm4hMH1yZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmV0dXJuITB9aWYoTWF0aC5hYnModCk+dS53aWR0aCl7YXBwZW5kRU9MKCk7cmV0dXJuITB9ZTw9bip1Lm5vdEFTcGFjZSYmcmVzZXRMYXN0Q2hhcnMoKTtpZihlPD1uKnUudHJhY2tpbmdTcGFjZU1pbilpZihzaG91bGRBZGRXaGl0ZXBzYWNlKCkpe3Jlc2V0TGFzdENoYXJzKCk7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtwdXNoV2hpdGVzcGFjZSh7aGVpZ2h0Ok1hdGguYWJzKGUpfSl9ZWxzZSB1LmhlaWdodCs9ZTtlbHNlIGlmKCFhZGRGYWtlU3BhY2VzKGUsdS5wcmV2VHJhbnNmb3JtLG4pKWlmKDA9PT11LnN0ci5sZW5ndGgpe3Jlc2V0TGFzdENoYXJzKCk7cHVzaFdoaXRlc3BhY2Uoe2hlaWdodDpNYXRoLmFicyhlKX0pfWVsc2UgdS5oZWlnaHQrPWU7TWF0aC5hYnModCk+LjI1KnUud2lkdGgmJmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmV0dXJuITB9Y29uc3QgZz0oaS1zKS91LnRleHRBZHZhbmNlU2NhbGUsbz1hLXIsQz1NYXRoLnNpZ24odS53aWR0aCk7aWYoZzxDKnUubmVnYXRpdmVTcGFjZU1heCl7aWYoTWF0aC5hYnMobyk+LjUqdS5oZWlnaHQpe2FwcGVuZEVPTCgpO3JldHVybiEwfXJlc2V0TGFzdENoYXJzKCk7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtyZXR1cm4hMH1pZihNYXRoLmFicyhvKT51LmhlaWdodCl7YXBwZW5kRU9MKCk7cmV0dXJuITB9Zzw9Qyp1Lm5vdEFTcGFjZSYmcmVzZXRMYXN0Q2hhcnMoKTtpZihnPD1DKnUudHJhY2tpbmdTcGFjZU1pbilpZihzaG91bGRBZGRXaGl0ZXBzYWNlKCkpe3Jlc2V0TGFzdENoYXJzKCk7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtwdXNoV2hpdGVzcGFjZSh7d2lkdGg6TWF0aC5hYnMoZyl9KX1lbHNlIHUud2lkdGgrPWc7ZWxzZSBpZighYWRkRmFrZVNwYWNlcyhnLHUucHJldlRyYW5zZm9ybSxDKSlpZigwPT09dS5zdHIubGVuZ3RoKXtyZXNldExhc3RDaGFycygpO3B1c2hXaGl0ZXNwYWNlKHt3aWR0aDpNYXRoLmFicyhnKX0pfWVsc2UgdS53aWR0aCs9ZztNYXRoLmFicyhvKT4uMjUqdS5oZWlnaHQmJmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmV0dXJuITB9ZnVuY3Rpb24gYnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmUsZXh0cmFTcGFjaW5nOnR9KXtjb25zdCBpPVMuZm9udDtpZighZSl7Y29uc3QgZT1TLmNoYXJTcGFjaW5nK3Q7ZSYmKGkudmVydGljYWw/Uy50cmFuc2xhdGVUZXh0TWF0cml4KDAsLWUpOlMudHJhbnNsYXRlVGV4dE1hdHJpeChlKlMudGV4dEhTY2FsZSwwKSk7USYmY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oMCk7cmV0dXJufWNvbnN0IGE9aS5jaGFyc1RvR2x5cGhzKGUpLHM9Uy5mb250TWF0cml4WzBdKlMuZm9udFNpemU7Zm9yKGxldCBlPTAscj1hLmxlbmd0aDtlPHI7ZSsrKXtjb25zdCBuPWFbZV0se2NhdGVnb3J5Omd9PW47aWYoZy5pc0ludmlzaWJsZUZvcm1hdE1hcmspY29udGludWU7bGV0IG89Uy5jaGFyU3BhY2luZysoZSsxPT09cj90OjApLGM9bi53aWR0aDtpLnZlcnRpY2FsJiYoYz1uLnZtZXRyaWM/bi52bWV0cmljWzBdOi1jKTtsZXQgQz1jKnM7aWYoIVEmJmcuaXNXaGl0ZXNwYWNlKXtpZihpLnZlcnRpY2FsKXtvKz0tQytTLndvcmRTcGFjaW5nO1MudHJhbnNsYXRlVGV4dE1hdHJpeCgwLC1vKX1lbHNle28rPUMrUy53b3JkU3BhY2luZztTLnRyYW5zbGF0ZVRleHRNYXRyaXgobypTLnRleHRIU2NhbGUsMCl9c2F2ZUxhc3RDaGFyKCIgIik7Y29udGludWV9aWYoIWcuaXNaZXJvV2lkdGhEaWFjcml0aWMmJiFjb21wYXJlV2l0aExhc3RQb3NpdGlvbihDKSl7aS52ZXJ0aWNhbD9TLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCxDKTpTLnRyYW5zbGF0ZVRleHRNYXRyaXgoQypTLnRleHRIU2NhbGUsMCk7Y29udGludWV9Y29uc3QgaD1lbnN1cmVUZXh0Q29udGVudEl0ZW0oKTtnLmlzWmVyb1dpZHRoRGlhY3JpdGljJiYoQz0wKTtpZihpLnZlcnRpY2FsKXtTLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCxDKTtDPU1hdGguYWJzKEMpO2guaGVpZ2h0Kz1DfWVsc2V7Qyo9Uy50ZXh0SFNjYWxlO1MudHJhbnNsYXRlVGV4dE1hdHJpeChDLDApO2gud2lkdGgrPUN9QyYmKGgucHJldlRyYW5zZm9ybT1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpKTtjb25zdCBsPW4udW5pY29kZTtzYXZlTGFzdENoYXIobCkmJmguc3RyLnB1c2goIiAiKTtoLnN0ci5wdXNoKGwpO28mJihpLnZlcnRpY2FsP1MudHJhbnNsYXRlVGV4dE1hdHJpeCgwLC1vKTpTLnRyYW5zbGF0ZVRleHRNYXRyaXgobypTLnRleHRIU2NhbGUsMCkpfX1mdW5jdGlvbiBhcHBlbmRFT0woKXtyZXNldExhc3RDaGFycygpO2lmKHUuaW5pdGlhbGl6ZWQpe3UuaGFzRU9MPSEwO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCl9ZWxzZSBFLml0ZW1zLnB1c2goe3N0cjoiIixkaXI6Imx0ciIsd2lkdGg6MCxoZWlnaHQ6MCx0cmFuc2Zvcm06Z2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKSxmb250TmFtZTpTLmxvYWRlZE5hbWUsaGFzRU9MOiEwfSl9ZnVuY3Rpb24gYWRkRmFrZVNwYWNlcyhlLHQsaSl7aWYoaSp1LnNwYWNlSW5GbG93TWluPD1lJiZlPD1pKnUuc3BhY2VJbkZsb3dNYXgpe2lmKHUuaW5pdGlhbGl6ZWQpe3Jlc2V0TGFzdENoYXJzKCk7dS5zdHIucHVzaCgiICIpfXJldHVybiExfWNvbnN0IGE9dS5mb250TmFtZTtsZXQgcz0wO2lmKHUudmVydGljYWwpe3M9ZTtlPTB9Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtyZXNldExhc3RDaGFycygpO3B1c2hXaGl0ZXNwYWNlKHt3aWR0aDpNYXRoLmFicyhlKSxoZWlnaHQ6TWF0aC5hYnMocyksdHJhbnNmb3JtOnR8fGdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCksZm9udE5hbWU6YX0pO3JldHVybiEwfWZ1bmN0aW9uIGZsdXNoVGV4dENvbnRlbnRJdGVtKCl7aWYodS5pbml0aWFsaXplZCYmdS5zdHIpe3UudmVydGljYWw/dS50b3RhbEhlaWdodCs9dS5oZWlnaHQqdS50ZXh0QWR2YW5jZVNjYWxlOnUudG90YWxXaWR0aCs9dS53aWR0aCp1LnRleHRBZHZhbmNlU2NhbGU7RS5pdGVtcy5wdXNoKHJ1bkJpZGlUcmFuc2Zvcm0odSkpO3UuaW5pdGlhbGl6ZWQ9ITE7dS5zdHIubGVuZ3RoPTB9fWZ1bmN0aW9uIGVucXVldWVDaHVuayhlPSExKXtjb25zdCB0PUUuaXRlbXMubGVuZ3RoO2lmKDAhPT10JiYhKGUmJnQ8MTApKXtnLmVucXVldWUoRSx0KTtFLml0ZW1zPVtdO0Uuc3R5bGVzPU9iamVjdC5jcmVhdGUobnVsbCl9fWNvbnN0IGs9bmV3IFRpbWVTbG90TWFuYWdlcjtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uIHByb21pc2VCb2R5KGUsYSl7Y29uc3QgbmV4dD1mdW5jdGlvbih0KXtlbnF1ZXVlQ2h1bmsoITApO1Byb21pc2UuYWxsKFt0LGcucmVhZHldKS50aGVuKChmdW5jdGlvbigpe3RyeXtwcm9taXNlQm9keShlLGEpfWNhdGNoKGUpe2EoZSl9fSksYSl9O3QuZW5zdXJlTm90VGVybWluYXRlZCgpO2sucmVzZXQoKTtjb25zdCB1PXt9O2xldCBkLGYsUixOPVtdO2Zvcig7IShkPWsuY2hlY2soKSk7KXtOLmxlbmd0aD0wO3UuYXJncz1OO2lmKCFGLnJlYWQodSkpYnJlYWs7Y29uc3QgZT1TO1M9ci5zdGF0ZTtjb25zdCBhPXUuZm47Tj11LmFyZ3M7c3dpdGNoKDB8YSl7Y2FzZSBzZTpjb25zdCBhPU5bMF0ubmFtZSx1PU5bMV07aWYoUy5mb250JiZhPT09Uy5mb250TmFtZSYmdT09PVMuZm9udFNpemUpYnJlYWs7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtTLmZvbnROYW1lPWE7Uy5mb250U2l6ZT11O25leHQoaGFuZGxlU2V0Rm9udChhLG51bGwpKTtyZXR1cm47Y2FzZSBuZTpTLnRleHRSaXNlPU5bMF07YnJlYWs7Y2FzZSBpZTpTLnRleHRIU2NhbGU9TlswXS8xMDA7YnJlYWs7Y2FzZSBhZTpTLmxlYWRpbmc9TlswXTticmVhaztjYXNlIGdlOlMudHJhbnNsYXRlVGV4dExpbmVNYXRyaXgoTlswXSxOWzFdKTtTLnRleHRNYXRyaXg9Uy50ZXh0TGluZU1hdHJpeC5zbGljZSgpO2JyZWFrO2Nhc2Ugb2U6Uy5sZWFkaW5nPS1OWzFdO1MudHJhbnNsYXRlVGV4dExpbmVNYXRyaXgoTlswXSxOWzFdKTtTLnRleHRNYXRyaXg9Uy50ZXh0TGluZU1hdHJpeC5zbGljZSgpO2JyZWFrO2Nhc2UgY2U6Uy5jYXJyaWFnZVJldHVybigpO2JyZWFrO2Nhc2UgSWU6Uy5zZXRUZXh0TWF0cml4KE5bMF0sTlsxXSxOWzJdLE5bM10sTls0XSxOWzVdKTtTLnNldFRleHRMaW5lTWF0cml4KE5bMF0sTlsxXSxOWzJdLE5bM10sTls0XSxOWzVdKTt1cGRhdGVBZHZhbmNlU2NhbGUoKTticmVhaztjYXNlIGVlOlMuY2hhclNwYWNpbmc9TlswXTticmVhaztjYXNlIHRlOlMud29yZFNwYWNpbmc9TlswXTticmVhaztjYXNlICRBOlMudGV4dE1hdHJpeD1pLnNsaWNlKCk7Uy50ZXh0TGluZU1hdHJpeD1pLnNsaWNlKCk7YnJlYWs7Y2FzZSBoZTppZighci5zdGF0ZS5mb250KXtwLmVuc3VyZVN0YXRlRm9udChyLnN0YXRlKTtjb250aW51ZX1jb25zdCBkPShTLmZvbnQudmVydGljYWw/MTotMSkqUy5mb250U2l6ZS8xZTMsRj1OWzBdO2ZvcihsZXQgZT0wLHQ9Ri5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1GW2VdO2lmKCJzdHJpbmciPT10eXBlb2YgdCl5LnB1c2godCk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIHQmJjAhPT10KXtjb25zdCBlPXkuam9pbigiIik7eS5sZW5ndGg9MDtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6ZSxleHRyYVNwYWNpbmc6dCpkfSl9fWlmKHkubGVuZ3RoPjApe2NvbnN0IGU9eS5qb2luKCIiKTt5Lmxlbmd0aD0wO2J1aWxkVGV4dENvbnRlbnRJdGVtKHtjaGFyczplLGV4dHJhU3BhY2luZzowfSl9YnJlYWs7Y2FzZSBDZTppZighci5zdGF0ZS5mb250KXtwLmVuc3VyZVN0YXRlRm9udChyLnN0YXRlKTtjb250aW51ZX1idWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6TlswXSxleHRyYVNwYWNpbmc6MH0pO2JyZWFrO2Nhc2UgbGU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9Uy5jYXJyaWFnZVJldHVybigpO2J1aWxkVGV4dENvbnRlbnRJdGVtKHtjaGFyczpOWzBdLGV4dHJhU3BhY2luZzowfSk7YnJlYWs7Y2FzZSBCZTppZighci5zdGF0ZS5mb250KXtwLmVuc3VyZVN0YXRlRm9udChyLnN0YXRlKTtjb250aW51ZX1TLndvcmRTcGFjaW5nPU5bMF07Uy5jaGFyU3BhY2luZz1OWzFdO1MuY2FycmlhZ2VSZXR1cm4oKTtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6TlsyXSxleHRyYVNwYWNpbmc6MH0pO2JyZWFrO2Nhc2UgVWU6Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTt3Pz89cy5nZXQoIlhPYmplY3QiKXx8RGljdC5lbXB0eTtSPU5bMF1pbnN0YW5jZW9mIE5hbWU7Zj1OWzBdLm5hbWU7aWYoUiYmRC5nZXRCeU5hbWUoZikpYnJlYWs7bmV4dChuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxpKXtpZighUil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3QgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2xldCBhPXcuZ2V0UmF3KGYpO2lmKGEgaW5zdGFuY2VvZiBSZWYpe2lmKEQuZ2V0QnlSZWYoYSkpe2UoKTtyZXR1cm59aWYocC5nbG9iYWxJbWFnZUNhY2hlLmdldERhdGEoYSxwLnBhZ2VJbmRleCkpe2UoKTtyZXR1cm59YT1tLmZldGNoKGEpfWlmKCEoYSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBzaG91bGQgYmUgYSBzdHJlYW0iKTtjb25zdCBFPWEuZGljdC5nZXQoIlN1YnR5cGUiKTtpZighKEUgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3Qgc2hvdWxkIGhhdmUgYSBOYW1lIHN1YnR5cGUiKTtpZigiRm9ybSIhPT1FLm5hbWUpe0Quc2V0KGYsYS5kaWN0Lm9iaklkLCEwKTtlKCk7cmV0dXJufWNvbnN0IHU9ci5zdGF0ZS5jbG9uZSgpLGQ9bmV3IFN0YXRlTWFuYWdlcih1KSx5PWxvb2t1cE1hdHJpeChhLmRpY3QuZ2V0QXJyYXkoIk1hdHJpeCIpLG51bGwpO3kmJmQudHJhbnNmb3JtKHkpO2VucXVldWVDaHVuaygpO2NvbnN0IGI9e2VucXVldWVJbnZva2VkOiExLGVucXVldWUoZSx0KXt0aGlzLmVucXVldWVJbnZva2VkPSEwO2cuZW5xdWV1ZShlLHQpfSxnZXQgZGVzaXJlZFNpemUoKXtyZXR1cm4gZy5kZXNpcmVkU2l6ZX0sZ2V0IHJlYWR5KCl7cmV0dXJuIGcucmVhZHl9fTtwLmdldFRleHRDb250ZW50KHtzdHJlYW06YSx0YXNrOnQscmVzb3VyY2VzOmEuZGljdC5nZXQoIlJlc291cmNlcyIpfHxzLHN0YXRlTWFuYWdlcjpkLGluY2x1ZGVNYXJrZWRDb250ZW50Om4sc2luazpiLHNlZW5TdHlsZXM6byx2aWV3Qm94OmMsbGFuZzpDLG1hcmtlZENvbnRlbnREYXRhOmgsZGlzYWJsZU5vcm1hbGl6YXRpb246bCxrZWVwV2hpdGVTcGFjZTpRfSkudGhlbigoZnVuY3Rpb24oKXtiLmVucXVldWVJbnZva2VkfHxELnNldChmLGEuZGljdC5vYmpJZCwhMCk7ZSgpfSksaSl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIXAub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRUZXh0Q29udGVudCAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke2V9Ii5gKX19KSkpO3JldHVybjtjYXNlIE5BOlI9TlswXWluc3RhbmNlb2YgTmFtZTtmPU5bMF0ubmFtZTtpZihSJiZiLmdldEJ5TmFtZShmKSlicmVhaztuZXh0KG5ldyBQcm9taXNlKChmdW5jdGlvbihlLHQpe2lmKCFSKXRocm93IG5ldyBGb3JtYXRFcnJvcigiR1N0YXRlIG11c3QgYmUgcmVmZXJyZWQgdG8gYnkgbmFtZS4iKTtjb25zdCBpPXMuZ2V0KCJFeHRHU3RhdGUiKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkV4dEdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO2NvbnN0IGE9aS5nZXQoZik7aWYoIShhIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgc2hvdWxkIGJlIGEgZGljdGlvbmFyeS4iKTtjb25zdCByPWEuZ2V0KCJGb250Iik7aWYocil7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtTLmZvbnROYW1lPW51bGw7Uy5mb250U2l6ZT1yWzFdO2hhbmRsZVNldEZvbnQobnVsbCxyWzBdKS50aGVuKGUsdCl9ZWxzZXtiLnNldChmLGEub2JqSWQsITApO2UoKX19KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIXAub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRUZXh0Q29udGVudCAtIGlnbm9yaW5nIEV4dEdTdGF0ZTogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2UgSGU6Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtpZihuKXtoLmxldmVsKys7RS5pdGVtcy5wdXNoKHt0eXBlOiJiZWdpbk1hcmtlZENvbnRlbnQiLHRhZzpOWzBdaW5zdGFuY2VvZiBOYW1lP05bMF0ubmFtZTpudWxsfSl9YnJlYWs7Y2FzZSBKZTpmbHVzaFRleHRDb250ZW50SXRlbSgpO2lmKG4pe2gubGV2ZWwrKztsZXQgZT1udWxsO05bMV1pbnN0YW5jZW9mIERpY3QmJihlPU5bMV0uZ2V0KCJNQ0lEIikpO0UuaXRlbXMucHVzaCh7dHlwZToiYmVnaW5NYXJrZWRDb250ZW50UHJvcHMiLGlkOk51bWJlci5pc0ludGVnZXIoZSk/YCR7cC5pZEZhY3RvcnkuZ2V0UGFnZU9iaklkKCl9X21jJHtlfWA6bnVsbCx0YWc6TlswXWluc3RhbmNlb2YgTmFtZT9OWzBdLm5hbWU6bnVsbH0pfWJyZWFrO2Nhc2UgWWU6Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtpZihuKXtpZigwPT09aC5sZXZlbClicmVhaztoLmxldmVsLS07RS5pdGVtcy5wdXNoKHt0eXBlOiJlbmRNYXJrZWRDb250ZW50In0pfWJyZWFrO2Nhc2UgeEE6IWV8fGUuZm9udD09PVMuZm9udCYmZS5mb250U2l6ZT09PVMuZm9udFNpemUmJmUuZm9udE5hbWU9PT1TLmZvbnROYW1lfHxmbHVzaFRleHRDb250ZW50SXRlbSgpfWlmKEUuaXRlbXMubGVuZ3RoPj1nLmRlc2lyZWRTaXplKXtkPSEwO2JyZWFrfX1pZihkKW5leHQoR3MpO2Vsc2V7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtlbnF1ZXVlQ2h1bmsoKTtlKCl9fSkpLmNhdGNoKChlPT57aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgZXJyb3JzIGR1cmluZyAiJHt0Lm5hbWV9IiB0YXNrOiAiJHtlfSIuYCk7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtlbnF1ZXVlQ2h1bmsoKX19KSl9YXN5bmMgZXh0cmFjdERhdGFTdHJ1Y3R1cmVzKGUsdCl7Y29uc3QgaT10aGlzLnhyZWY7bGV0IGE7Y29uc3Qgcz10aGlzLnJlYWRUb1VuaWNvZGUodC50b1VuaWNvZGUpO2lmKHQuY29tcG9zaXRlKXtjb25zdCBpPWUuZ2V0KCJDSURTeXN0ZW1JbmZvIik7aSBpbnN0YW5jZW9mIERpY3QmJih0LmNpZFN5c3RlbUluZm89e3JlZ2lzdHJ5OnN0cmluZ1RvUERGU3RyaW5nKGkuZ2V0KCJSZWdpc3RyeSIpKSxvcmRlcmluZzpzdHJpbmdUb1BERlN0cmluZyhpLmdldCgiT3JkZXJpbmciKSksc3VwcGxlbWVudDppLmdldCgiU3VwcGxlbWVudCIpfSk7dHJ5e2NvbnN0IHQ9ZS5nZXQoIkNJRFRvR0lETWFwIik7dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJihhPXQuZ2V0Qnl0ZXMoKSl9Y2F0Y2goZSl7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBleHRyYWN0RGF0YVN0cnVjdHVyZXMgLSBpZ25vcmluZyBDSURUb0dJRE1hcCBkYXRhOiAiJHtlfSIuYCl9fWNvbnN0IHI9W107bGV0IG4sZz1udWxsO2lmKGUuaGFzKCJFbmNvZGluZyIpKXtuPWUuZ2V0KCJFbmNvZGluZyIpO2lmKG4gaW5zdGFuY2VvZiBEaWN0KXtnPW4uZ2V0KCJCYXNlRW5jb2RpbmciKTtnPWcgaW5zdGFuY2VvZiBOYW1lP2cubmFtZTpudWxsO2lmKG4uaGFzKCJEaWZmZXJlbmNlcyIpKXtjb25zdCBlPW4uZ2V0KCJEaWZmZXJlbmNlcyIpO2xldCB0PTA7Zm9yKGNvbnN0IGEgb2YgZSl7Y29uc3QgZT1pLmZldGNoSWZSZWYoYSk7aWYoIm51bWJlciI9PXR5cGVvZiBlKXQ9ZTtlbHNle2lmKCEoZSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBlbnRyeSBpbiAnRGlmZmVyZW5jZXMnIGFycmF5OiAke2V9YCk7clt0KytdPWUubmFtZX19fX1lbHNlIGlmKG4gaW5zdGFuY2VvZiBOYW1lKWc9bi5uYW1lO2Vsc2V7Y29uc3QgZT0iRW5jb2RpbmcgaXMgbm90IGEgTmFtZSBub3IgYSBEaWN0IjtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoZSk7d2FybihlKX0iTWFjUm9tYW5FbmNvZGluZyIhPT1nJiYiTWFjRXhwZXJ0RW5jb2RpbmciIT09ZyYmIldpbkFuc2lFbmNvZGluZyIhPT1nJiYoZz1udWxsKX1jb25zdCBvPSF0LmZpbGV8fHQuaXNJbnRlcm5hbEZvbnQsYz1faSgpW3QubmFtZV07ZyYmbyYmYyYmKGc9bnVsbCk7aWYoZyl0LmRlZmF1bHRFbmNvZGluZz1nZXRFbmNvZGluZyhnKTtlbHNle2NvbnN0IGU9ISEodC5mbGFncyZPaSksaT0hISh0LmZsYWdzJlBpKTtuPW1pOyJUcnVlVHlwZSIhPT10LnR5cGV8fGl8fChuPXlpKTtpZihlfHxjKXtuPXBpO28mJigvU3ltYm9sL2kudGVzdCh0Lm5hbWUpP249d2k6L0RpbmdiYXRzL2kudGVzdCh0Lm5hbWUpP249RGk6L1dpbmdkaW5ncy9pLnRlc3QodC5uYW1lKSYmKG49eWkpKX10LmRlZmF1bHRFbmNvZGluZz1ufXQuZGlmZmVyZW5jZXM9cjt0LmJhc2VFbmNvZGluZ05hbWU9Zzt0Lmhhc0VuY29kaW5nPSEhZ3x8ci5sZW5ndGg+MDt0LmRpY3Q9ZTt0LnRvVW5pY29kZT1hd2FpdCBzO2NvbnN0IEM9YXdhaXQgdGhpcy5idWlsZFRvVW5pY29kZSh0KTt0LnRvVW5pY29kZT1DO2EmJih0LmNpZFRvR2lkTWFwPXRoaXMucmVhZENpZFRvR2lkTWFwKGEsQykpO3JldHVybiB0fV9zaW1wbGVGb250VG9Vbmljb2RlKGUsdD0hMSl7YXNzZXJ0KCFlLmNvbXBvc2l0ZSwiTXVzdCBiZSBhIHNpbXBsZSBmb250LiIpO2NvbnN0IGk9W10sYT1lLmRlZmF1bHRFbmNvZGluZy5zbGljZSgpLHM9ZS5iYXNlRW5jb2RpbmdOYW1lLHI9ZS5kaWZmZXJlbmNlcztmb3IoY29uc3QgZSBpbiByKXtjb25zdCB0PXJbZV07Ii5ub3RkZWYiIT09dCYmKGFbZV09dCl9Y29uc3Qgbj14aSgpO2Zvcihjb25zdCByIGluIGEpe2xldCBnPWFbcl07aWYoIiI9PT1nKWNvbnRpbnVlO2xldCBvPW5bZ107aWYodm9pZCAwIT09byl7aVtyXT1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pO2NvbnRpbnVlfWxldCBjPTA7c3dpdGNoKGdbMF0pe2Nhc2UiRyI6Mz09PWcubGVuZ3RoJiYoYz1wYXJzZUludChnLnN1YnN0cmluZygxKSwxNikpO2JyZWFrO2Nhc2UiZyI6NT09PWcubGVuZ3RoJiYoYz1wYXJzZUludChnLnN1YnN0cmluZygxKSwxNikpO2JyZWFrO2Nhc2UiQyI6Y2FzZSJjIjppZihnLmxlbmd0aD49MyYmZy5sZW5ndGg8PTQpe2NvbnN0IGk9Zy5zdWJzdHJpbmcoMSk7aWYodCl7Yz1wYXJzZUludChpLDE2KTticmVha31jPStpO2lmKE51bWJlci5pc05hTihjKSYmTnVtYmVyLmlzSW50ZWdlcihwYXJzZUludChpLDE2KSkpcmV0dXJuIHRoaXMuX3NpbXBsZUZvbnRUb1VuaWNvZGUoZSwhMCl9YnJlYWs7Y2FzZSJ1IjpvPWdldFVuaWNvZGVGb3JHbHlwaChnLG4pOy0xIT09byYmKGM9byk7YnJlYWs7ZGVmYXVsdDpzd2l0Y2goZyl7Y2FzZSJmX2giOmNhc2UiZl90IjpjYXNlIlRfaCI6aVtyXT1nLnJlcGxhY2VBbGwoIl8iLCIiKTtjb250aW51ZX19aWYoYz4wJiZjPD0xMTE0MTExJiZOdW1iZXIuaXNJbnRlZ2VyKGMpKXtpZihzJiZjPT09K3Ipe2NvbnN0IGU9Z2V0RW5jb2Rpbmcocyk7aWYoZSYmKGc9ZVtyXSkpe2lbcl09U3RyaW5nLmZyb21DaGFyQ29kZShuW2ddKTtjb250aW51ZX19aVtyXT1TdHJpbmcuZnJvbUNvZGVQb2ludChjKX19cmV0dXJuIGl9YXN5bmMgYnVpbGRUb1VuaWNvZGUoZSl7ZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcD1lLnRvVW5pY29kZT8ubGVuZ3RoPjA7aWYoZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcCl7IWUuY29tcG9zaXRlJiZlLmhhc0VuY29kaW5nJiYoZS5mYWxsYmFja1RvVW5pY29kZT10aGlzLl9zaW1wbGVGb250VG9Vbmljb2RlKGUpKTtyZXR1cm4gZS50b1VuaWNvZGV9aWYoIWUuY29tcG9zaXRlKXJldHVybiBuZXcgVG9Vbmljb2RlTWFwKHRoaXMuX3NpbXBsZUZvbnRUb1VuaWNvZGUoZSkpO2lmKGUuY29tcG9zaXRlJiYoZS5jTWFwLmJ1aWx0SW5DTWFwJiYhKGUuY01hcCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcCl8fCJBZG9iZSI9PT1lLmNpZFN5c3RlbUluZm8/LnJlZ2lzdHJ5JiYoIkdCMSI9PT1lLmNpZFN5c3RlbUluZm8ub3JkZXJpbmd8fCJDTlMxIj09PWUuY2lkU3lzdGVtSW5mby5vcmRlcmluZ3x8IkphcGFuMSI9PT1lLmNpZFN5c3RlbUluZm8ub3JkZXJpbmd8fCJLb3JlYTEiPT09ZS5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nKSkpe2NvbnN0e3JlZ2lzdHJ5OnQsb3JkZXJpbmc6aX09ZS5jaWRTeXN0ZW1JbmZvLGE9TmFtZS5nZXQoYCR7dH0tJHtpfS1VQ1MyYCkscz1hd2FpdCBDTWFwRmFjdG9yeS5jcmVhdGUoe2VuY29kaW5nOmEsZmV0Y2hCdWlsdEluQ01hcDp0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQsdXNlQ01hcDpudWxsfSkscj1bXSxuPVtdO2UuY01hcC5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2lmKHQ+NjU1MzUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNYXggc2l6ZSBvZiBDSUQgaXMgNjUsNTM1Iik7Y29uc3QgaT1zLmxvb2t1cCh0KTtpZihpKXtuLmxlbmd0aD0wO2ZvcihsZXQgZT0wLHQ9aS5sZW5ndGg7ZTx0O2UrPTIpbi5wdXNoKChpLmNoYXJDb2RlQXQoZSk8PDgpK2kuY2hhckNvZGVBdChlKzEpKTtyW2VdPVN0cmluZy5mcm9tQ2hhckNvZGUoLi4ubil9fSkpO3JldHVybiBuZXcgVG9Vbmljb2RlTWFwKHIpfXJldHVybiBuZXcgSWRlbnRpdHlUb1VuaWNvZGVNYXAoZS5maXJzdENoYXIsZS5sYXN0Q2hhcil9YXN5bmMgcmVhZFRvVW5pY29kZShlKXtpZighZSlyZXR1cm4gbnVsbDtpZihlIGluc3RhbmNlb2YgTmFtZSl7Y29uc3QgdD1hd2FpdCBDTWFwRmFjdG9yeS5jcmVhdGUoe2VuY29kaW5nOmUsZmV0Y2hCdWlsdEluQ01hcDp0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQsdXNlQ01hcDpudWxsfSk7cmV0dXJuIHQgaW5zdGFuY2VvZiBJZGVudGl0eUNNYXA/bmV3IElkZW50aXR5VG9Vbmljb2RlTWFwKDAsNjU1MzUpOm5ldyBUb1VuaWNvZGVNYXAodC5nZXRNYXAoKSl9aWYoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pdHJ5e2NvbnN0IHQ9YXdhaXQgQ01hcEZhY3RvcnkuY3JlYXRlKHtlbmNvZGluZzplLGZldGNoQnVpbHRJbkNNYXA6dGhpcy5fZmV0Y2hCdWlsdEluQ01hcEJvdW5kLHVzZUNNYXA6bnVsbH0pO2lmKHQgaW5zdGFuY2VvZiBJZGVudGl0eUNNYXApcmV0dXJuIG5ldyBJZGVudGl0eVRvVW5pY29kZU1hcCgwLDY1NTM1KTtjb25zdCBpPW5ldyBBcnJheSh0Lmxlbmd0aCk7dC5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdCl7aVtlXT1TdHJpbmcuZnJvbUNvZGVQb2ludCh0KTtyZXR1cm59dC5sZW5ndGglMiE9MCYmKHQ9IlwwIit0KTtjb25zdCBhPVtdO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSs9Mil7Y29uc3QgaT10LmNoYXJDb2RlQXQoZSk8PDh8dC5jaGFyQ29kZUF0KGUrMSk7aWYoNTUyOTYhPSg2MzQ4OCZpKSl7YS5wdXNoKGkpO2NvbnRpbnVlfWUrPTI7Y29uc3Qgcz10LmNoYXJDb2RlQXQoZSk8PDh8dC5jaGFyQ29kZUF0KGUrMSk7YS5wdXNoKCgoMTAyMyZpKTw8MTApKygxMDIzJnMpKzY1NTM2KX1pW2VdPVN0cmluZy5mcm9tQ29kZVBvaW50KC4uLmEpfSkpO3JldHVybiBuZXcgVG9Vbmljb2RlTWFwKGkpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbilyZXR1cm4gbnVsbDtpZih0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXt3YXJuKGByZWFkVG9Vbmljb2RlIC0gaWdub3JpbmcgVG9Vbmljb2RlIGRhdGE6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH10aHJvdyBlfXJldHVybiBudWxsfXJlYWRDaWRUb0dpZE1hcChlLHQpe2NvbnN0IGk9W107Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSsrKXtjb25zdCBzPWVbYSsrXTw8OHxlW2FdLHI9YT4+MTsoMCE9PXN8fHQuaGFzKHIpKSYmKGlbcl09cyl9cmV0dXJuIGl9ZXh0cmFjdFdpZHRocyhlLHQsaSl7Y29uc3QgYT10aGlzLnhyZWY7bGV0IHM9W10scj0wO2NvbnN0IG49W107bGV0IGc7aWYoaS5jb21wb3NpdGUpe2NvbnN0IHQ9ZS5nZXQoIkRXIik7cj0ibnVtYmVyIj09dHlwZW9mIHQ/TWF0aC5jZWlsKHQpOjFlMztjb25zdCBvPWUuZ2V0KCJXIik7aWYoQXJyYXkuaXNBcnJheShvKSlmb3IobGV0IGU9MCx0PW8ubGVuZ3RoO2U8dDtlKyspe2xldCB0PWEuZmV0Y2hJZlJlZihvW2UrK10pO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHQpKWJyZWFrO2NvbnN0IGk9YS5mZXRjaElmUmVmKG9bZV0pO2lmKEFycmF5LmlzQXJyYXkoaSkpZm9yKGNvbnN0IGUgb2YgaSl7Y29uc3QgaT1hLmZldGNoSWZSZWYoZSk7Im51bWJlciI9PXR5cGVvZiBpJiYoc1t0XT1pKTt0Kyt9ZWxzZXtpZighTnVtYmVyLmlzSW50ZWdlcihpKSlicmVhazt7Y29uc3Qgcj1hLmZldGNoSWZSZWYob1srK2VdKTtpZigibnVtYmVyIiE9dHlwZW9mIHIpY29udGludWU7Zm9yKGxldCBlPXQ7ZTw9aTtlKyspc1tlXT1yfX19aWYoaS52ZXJ0aWNhbCl7Y29uc3QgdD1lLmdldEFycmF5KCJEVzIiKTtsZXQgaT1pc051bWJlckFycmF5KHQsMik/dDpbODgwLC0xZTNdO2c9W2lbMV0sLjUqcixpWzBdXTtpPWUuZ2V0KCJXMiIpO2lmKEFycmF5LmlzQXJyYXkoaSkpZm9yKGxldCBlPTAsdD1pLmxlbmd0aDtlPHQ7ZSsrKXtsZXQgdD1hLmZldGNoSWZSZWYoaVtlKytdKTtpZighTnVtYmVyLmlzSW50ZWdlcih0KSlicmVhaztjb25zdCBzPWEuZmV0Y2hJZlJlZihpW2VdKTtpZihBcnJheS5pc0FycmF5KHMpKWZvcihsZXQgZT0wLGk9cy5sZW5ndGg7ZTxpO2UrKyl7Y29uc3QgaT1bYS5mZXRjaElmUmVmKHNbZSsrXSksYS5mZXRjaElmUmVmKHNbZSsrXSksYS5mZXRjaElmUmVmKHNbZV0pXTtpc051bWJlckFycmF5KGksbnVsbCkmJihuW3RdPWkpO3QrK31lbHNle2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHMpKWJyZWFrO3tjb25zdCByPVthLmZldGNoSWZSZWYoaVsrK2VdKSxhLmZldGNoSWZSZWYoaVsrK2VdKSxhLmZldGNoSWZSZWYoaVsrK2VdKV07aWYoIWlzTnVtYmVyQXJyYXkocixudWxsKSljb250aW51ZTtmb3IobGV0IGU9dDtlPD1zO2UrKyluW2VdPXJ9fX19fWVsc2V7Y29uc3Qgbj1lLmdldCgiV2lkdGhzIik7aWYoQXJyYXkuaXNBcnJheShuKSl7bGV0IGU9aS5maXJzdENoYXI7Zm9yKGNvbnN0IHQgb2Ygbil7Y29uc3QgaT1hLmZldGNoSWZSZWYodCk7Im51bWJlciI9PXR5cGVvZiBpJiYoc1tlXT1pKTtlKyt9Y29uc3QgZz10LmdldCgiTWlzc2luZ1dpZHRoIik7cj0ibnVtYmVyIj09dHlwZW9mIGc/ZzowfWVsc2V7Y29uc3QgdD1lLmdldCgiQmFzZUZvbnQiKTtpZih0IGluc3RhbmNlb2YgTmFtZSl7Y29uc3QgZT10aGlzLmdldEJhc2VGb250TWV0cmljcyh0Lm5hbWUpO3M9dGhpcy5idWlsZENoYXJDb2RlVG9XaWR0aChlLndpZHRocyxpKTtyPWUuZGVmYXVsdFdpZHRofX19bGV0IG89ITAsYz1yO2Zvcihjb25zdCBlIGluIHMpe2NvbnN0IHQ9c1tlXTtpZih0KWlmKGMpe2lmKGMhPT10KXtvPSExO2JyZWFrfX1lbHNlIGM9dH1vP2kuZmxhZ3N8PUtpOmkuZmxhZ3MmPX5LaTtpLmRlZmF1bHRXaWR0aD1yO2kud2lkdGhzPXM7aS5kZWZhdWx0Vk1ldHJpY3M9ZztpLnZtZXRyaWNzPW59aXNTZXJpZkZvbnQoZSl7Y29uc3QgdD1lLnNwbGl0KCItIiwxKVswXTtyZXR1cm4gdCBpbiB6aSgpfHwvc2VyaWYvZ2kudGVzdCh0KX1nZXRCYXNlRm9udE1ldHJpY3MoZSl7bGV0IHQ9MCxpPU9iamVjdC5jcmVhdGUobnVsbCksYT0hMTtsZXQgcz1qaSgpW2VdfHxlO2NvbnN0IHI9aWEoKTtzIGluIHJ8fChzPXRoaXMuaXNTZXJpZkZvbnQoZSk/IlRpbWVzLVJvbWFuIjoiSGVsdmV0aWNhIik7Y29uc3Qgbj1yW3NdO2lmKCJudW1iZXIiPT10eXBlb2Ygbil7dD1uO2E9ITB9ZWxzZSBpPW4oKTtyZXR1cm57ZGVmYXVsdFdpZHRoOnQsbW9ub3NwYWNlOmEsd2lkdGhzOml9fWJ1aWxkQ2hhckNvZGVUb1dpZHRoKGUsdCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpLGE9dC5kaWZmZXJlbmNlcyxzPXQuZGVmYXVsdEVuY29kaW5nO2ZvcihsZXQgdD0wO3Q8MjU2O3QrKyl0IGluIGEmJmVbYVt0XV0/aVt0XT1lW2FbdF1dOnQgaW4gcyYmZVtzW3RdXSYmKGlbdF09ZVtzW3RdXSk7cmV0dXJuIGl9cHJlRXZhbHVhdGVGb250KGUpe2NvbnN0IHQ9ZTtsZXQgaT1lLmdldCgiU3VidHlwZSIpO2lmKCEoaSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiaW52YWxpZCBmb250IFN1YnR5cGUiKTtsZXQgYSxzPSExO2lmKCJUeXBlMCI9PT1pLm5hbWUpe2NvbnN0IHQ9ZS5nZXQoIkRlc2NlbmRhbnRGb250cyIpO2lmKCF0KXRocm93IG5ldyBGb3JtYXRFcnJvcigiRGVzY2VuZGFudCBmb250cyBhcmUgbm90IHNwZWNpZmllZCIpO2lmKCEoKGU9QXJyYXkuaXNBcnJheSh0KT90aGlzLnhyZWYuZmV0Y2hJZlJlZih0WzBdKTp0KWluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJEZXNjZW5kYW50IGZvbnQgaXMgbm90IGEgZGljdGlvbmFyeS4iKTtpPWUuZ2V0KCJTdWJ0eXBlIik7aWYoIShpIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZvbnQgU3VidHlwZSIpO3M9ITB9bGV0IHI9ZS5nZXQoIkZpcnN0Q2hhciIpO051bWJlci5pc0ludGVnZXIocil8fChyPTApO2xldCBuPWUuZ2V0KCJMYXN0Q2hhciIpO051bWJlci5pc0ludGVnZXIobil8fChuPXM/NjU1MzU6MjU1KTtjb25zdCBnPWUuZ2V0KCJGb250RGVzY3JpcHRvciIpLG89ZS5nZXQoIlRvVW5pY29kZSIpfHx0LmdldCgiVG9Vbmljb2RlIik7aWYoZyl7YT1uZXcgTXVybXVySGFzaDNfNjQ7Y29uc3QgaT10LmdldFJhdygiRW5jb2RpbmciKTtpZihpIGluc3RhbmNlb2YgTmFtZSlhLnVwZGF0ZShpLm5hbWUpO2Vsc2UgaWYoaSBpbnN0YW5jZW9mIFJlZilhLnVwZGF0ZShpLnRvU3RyaW5nKCkpO2Vsc2UgaWYoaSBpbnN0YW5jZW9mIERpY3QpZm9yKGNvbnN0IGUgb2YgaS5nZXRSYXdWYWx1ZXMoKSlpZihlIGluc3RhbmNlb2YgTmFtZSlhLnVwZGF0ZShlLm5hbWUpO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFJlZilhLnVwZGF0ZShlLnRvU3RyaW5nKCkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3QgdD1lLmxlbmd0aCxpPW5ldyBBcnJheSh0KTtmb3IobGV0IGE9MDthPHQ7YSsrKXtjb25zdCB0PWVbYV07dCBpbnN0YW5jZW9mIE5hbWU/aVthXT10Lm5hbWU6KCJudW1iZXIiPT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIFJlZikmJihpW2FdPXQudG9TdHJpbmcoKSl9YS51cGRhdGUoaS5qb2luKCkpfWEudXBkYXRlKGAke3J9LSR7bn1gKTtpZihvIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgZT1vLnN0cnx8byx0PWUuYnVmZmVyP25ldyBVaW50OEFycmF5KGUuYnVmZmVyLmJ1ZmZlciwwLGUuYnVmZmVyTGVuZ3RoKTpuZXcgVWludDhBcnJheShlLmJ5dGVzLmJ1ZmZlcixlLnN0YXJ0LGUuZW5kLWUuc3RhcnQpO2EudXBkYXRlKHQpfWVsc2UgbyBpbnN0YW5jZW9mIE5hbWUmJmEudXBkYXRlKG8ubmFtZSk7Y29uc3QgZz1lLmdldCgiV2lkdGhzIil8fHQuZ2V0KCJXaWR0aHMiKTtpZihBcnJheS5pc0FycmF5KGcpKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIGcpKCJudW1iZXIiPT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIFJlZikmJmUucHVzaCh0LnRvU3RyaW5nKCkpO2EudXBkYXRlKGUuam9pbigpKX1pZihzKXthLnVwZGF0ZSgiY29tcG9zaXRlRm9udCIpO2NvbnN0IGk9ZS5nZXQoIlciKXx8dC5nZXQoIlciKTtpZihBcnJheS5pc0FycmF5KGkpKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIGkpaWYoIm51bWJlciI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVmKWUucHVzaCh0LnRvU3RyaW5nKCkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3QgaT1bXTtmb3IoY29uc3QgZSBvZiB0KSgibnVtYmVyIj09dHlwZW9mIGV8fGUgaW5zdGFuY2VvZiBSZWYpJiZpLnB1c2goZS50b1N0cmluZygpKTtlLnB1c2goYFske2kuam9pbigpfV1gKX1hLnVwZGF0ZShlLmpvaW4oKSl9Y29uc3Qgcz1lLmdldFJhdygiQ0lEVG9HSURNYXAiKXx8dC5nZXRSYXcoIkNJRFRvR0lETWFwIik7cyBpbnN0YW5jZW9mIE5hbWU/YS51cGRhdGUocy5uYW1lKTpzIGluc3RhbmNlb2YgUmVmP2EudXBkYXRlKHMudG9TdHJpbmcoKSk6cyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJmEudXBkYXRlKHMucGVla0J5dGVzKCkpfX1yZXR1cm57ZGVzY3JpcHRvcjpnLGRpY3Q6ZSxiYXNlRGljdDp0LGNvbXBvc2l0ZTpzLHR5cGU6aS5uYW1lLGZpcnN0Q2hhcjpyLGxhc3RDaGFyOm4sdG9Vbmljb2RlOm8saGFzaDphP2EuaGV4ZGlnZXN0KCk6IiJ9fWFzeW5jIHRyYW5zbGF0ZUZvbnQoe2Rlc2NyaXB0b3I6ZSxkaWN0OnQsYmFzZURpY3Q6aSxjb21wb3NpdGU6cyx0eXBlOnIsZmlyc3RDaGFyOm4sbGFzdENoYXI6Zyx0b1VuaWNvZGU6byxjc3NGb250SW5mbzpjfSl7Y29uc3QgQz0iVHlwZTMiPT09cjtpZighZSl7aWYoIUMpe2xldCBlPXQuZ2V0KCJCYXNlRm9udCIpO2lmKCEoZSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFzZSBmb250IGlzIG5vdCBzcGVjaWZpZWQiKTtlPWUubmFtZS5yZXBsYWNlQWxsKC9bLF9dL2csIi0iKTtjb25zdCBhPXRoaXMuZ2V0QmFzZUZvbnRNZXRyaWNzKGUpLHM9ZS5zcGxpdCgiLSIsMSlbMF0sYz0odGhpcy5pc1NlcmlmRm9udChzKT9xaTowKXwoYS5tb25vc3BhY2U/S2k6MCl8KF9pKClbc10/T2k6UGkpLGg9e3R5cGU6cixuYW1lOmUsbG9hZGVkTmFtZTppLmxvYWRlZE5hbWUsc3lzdGVtRm9udEluZm86bnVsbCx3aWR0aHM6YS53aWR0aHMsZGVmYXVsdFdpZHRoOmEuZGVmYXVsdFdpZHRoLGlzU2ltdWxhdGVkRmxhZ3M6ITAsZmxhZ3M6YyxmaXJzdENoYXI6bixsYXN0Q2hhcjpnLHRvVW5pY29kZTpvLHhIZWlnaHQ6MCxjYXBIZWlnaHQ6MCxpdGFsaWNBbmdsZTowLGlzVHlwZTNGb250OkN9LGw9dC5nZXQoIldpZHRocyIpLFE9Z2V0U3RhbmRhcmRGb250TmFtZShlKTtsZXQgRT1udWxsO2lmKFEpe0U9YXdhaXQgdGhpcy5mZXRjaFN0YW5kYXJkRm9udERhdGEoUSk7aC5pc0ludGVybmFsRm9udD0hIUV9IWguaXNJbnRlcm5hbEZvbnQmJnRoaXMub3B0aW9ucy51c2VTeXN0ZW1Gb250cyYmKGguc3lzdGVtRm9udEluZm89Z2V0Rm9udFN1YnN0aXR1dGlvbih0aGlzLnN5c3RlbUZvbnRDYWNoZSx0aGlzLmlkRmFjdG9yeSx0aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybCxlLFEscikpO2NvbnN0IHU9YXdhaXQgdGhpcy5leHRyYWN0RGF0YVN0cnVjdHVyZXModCxoKTtpZihBcnJheS5pc0FycmF5KGwpKXtjb25zdCBlPVtdO2xldCB0PW47Zm9yKGNvbnN0IGkgb2YgbCl7Y29uc3QgYT10aGlzLnhyZWYuZmV0Y2hJZlJlZihpKTsibnVtYmVyIj09dHlwZW9mIGEmJihlW3RdPWEpO3QrK311LndpZHRocz1lfWVsc2UgdS53aWR0aHM9dGhpcy5idWlsZENoYXJDb2RlVG9XaWR0aChhLndpZHRocyx1KTtyZXR1cm4gbmV3IEZvbnQoZSxFLHUpfXtjb25zdCBpPWxvb2t1cE5vcm1hbFJlY3QodC5nZXRBcnJheSgiRm9udEJCb3giKSxbMCwwLDAsMF0pOyhlPW5ldyBEaWN0KG51bGwpKS5zZXQoIkZvbnROYW1lIixOYW1lLmdldChyKSk7ZS5zZXQoIkZvbnRCQm94IixpKX19bGV0IGg9ZS5nZXQoIkZvbnROYW1lIiksbD10LmdldCgiQmFzZUZvbnQiKTsic3RyaW5nIj09dHlwZW9mIGgmJihoPU5hbWUuZ2V0KGgpKTsic3RyaW5nIj09dHlwZW9mIGwmJihsPU5hbWUuZ2V0KGwpKTtjb25zdCBRPWg/Lm5hbWUsRT1sPy5uYW1lO2lmKCFDJiZRIT09RSl7aW5mbyhgVGhlIEZvbnREZXNjcmlwdG9yJ3MgRm9udE5hbWUgaXMgIiR7UX0iIGJ1dCBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIEZvbnQncyBCYXNlRm9udCAiJHtFfSIuYCk7USYmRSYmKEUuc3RhcnRzV2l0aChRKXx8IWlzS25vd25Gb250TmFtZShRKSYmaXNLbm93bkZvbnROYW1lKEUpKSYmKGg9bnVsbCl9aHx8PWw7aWYoIShoIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZvbnQgbmFtZSIpO2xldCB1LGQsZixwLG07dHJ5e3U9ZS5nZXQoIkZvbnRGaWxlIiwiRm9udEZpbGUyIiwiRm9udEZpbGUzIik7aWYodSl7aWYoISh1IGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJGb250RmlsZSBzaG91bGQgYmUgYSBzdHJlYW0iKTtpZih1LmlzRW1wdHkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJGb250RmlsZSBpcyBlbXB0eSIpfX1jYXRjaChlKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYHRyYW5zbGF0ZUZvbnQgLSBmZXRjaGluZyAiJHtoLm5hbWV9IiBmb250IGZpbGU6ICIke2V9Ii5gKTt1PW51bGx9bGV0IHk9ITEsdz1udWxsLEQ9bnVsbDtpZih1KXtpZih1LmRpY3Qpe2NvbnN0IGU9dS5kaWN0LmdldCgiU3VidHlwZSIpO2UgaW5zdGFuY2VvZiBOYW1lJiYoZD1lLm5hbWUpO2Y9dS5kaWN0LmdldCgiTGVuZ3RoMSIpO3A9dS5kaWN0LmdldCgiTGVuZ3RoMiIpO209dS5kaWN0LmdldCgiTGVuZ3RoMyIpfX1lbHNlIGlmKGMpe2NvbnN0IGU9Z2V0WGZhRm9udE5hbWUoaC5uYW1lKTtpZihlKXtjLmZvbnRGYW1pbHk9YCR7Yy5mb250RmFtaWx5fS1QZGZKUy1YRkFgO2MubWV0cmljcz1lLm1ldHJpY3N8fG51bGw7dz1lLmZhY3RvcnN8fG51bGw7dT1hd2FpdCB0aGlzLmZldGNoU3RhbmRhcmRGb250RGF0YShlLm5hbWUpO3k9ISF1O2k9dD1nZXRYZmFGb250RGljdChoLm5hbWUpO3M9ITB9fWVsc2UgaWYoIUMpe2NvbnN0IGU9Z2V0U3RhbmRhcmRGb250TmFtZShoLm5hbWUpO2lmKGUpe3U9YXdhaXQgdGhpcy5mZXRjaFN0YW5kYXJkRm9udERhdGEoZSk7eT0hIXV9IXkmJnRoaXMub3B0aW9ucy51c2VTeXN0ZW1Gb250cyYmKEQ9Z2V0Rm9udFN1YnN0aXR1dGlvbih0aGlzLnN5c3RlbUZvbnRDYWNoZSx0aGlzLmlkRmFjdG9yeSx0aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybCxoLm5hbWUsZSxyKSl9Y29uc3QgYj1sb29rdXBNYXRyaXgodC5nZXRBcnJheSgiRm9udE1hdHJpeCIpLGEpLEY9bG9va3VwTm9ybWFsUmVjdChlLmdldEFycmF5KCJGb250QkJveCIpfHx0LmdldEFycmF5KCJGb250QkJveCIpLHZvaWQgMCk7bGV0IFM9ZS5nZXQoIkFzY2VudCIpOyJudW1iZXIiIT10eXBlb2YgUyYmKFM9dm9pZCAwKTtsZXQgaz1lLmdldCgiRGVzY2VudCIpOyJudW1iZXIiIT10eXBlb2YgayYmKGs9dm9pZCAwKTtsZXQgUj1lLmdldCgiWEhlaWdodCIpOyJudW1iZXIiIT10eXBlb2YgUiYmKFI9MCk7bGV0IE49ZS5nZXQoIkNhcEhlaWdodCIpOyJudW1iZXIiIT10eXBlb2YgTiYmKE49MCk7bGV0IEc9ZS5nZXQoIkZsYWdzIik7TnVtYmVyLmlzSW50ZWdlcihHKXx8KEc9MCk7bGV0IHg9ZS5nZXQoIkl0YWxpY0FuZ2xlIik7Im51bWJlciIhPXR5cGVvZiB4JiYoeD0wKTtjb25zdCBVPXt0eXBlOnIsbmFtZTpoLm5hbWUsc3VidHlwZTpkLGZpbGU6dSxsZW5ndGgxOmYsbGVuZ3RoMjpwLGxlbmd0aDM6bSxpc0ludGVybmFsRm9udDp5LGxvYWRlZE5hbWU6aS5sb2FkZWROYW1lLGNvbXBvc2l0ZTpzLGZpeGVkUGl0Y2g6ITEsZm9udE1hdHJpeDpiLGZpcnN0Q2hhcjpuLGxhc3RDaGFyOmcsdG9Vbmljb2RlOm8sYmJveDpGLGFzY2VudDpTLGRlc2NlbnQ6ayx4SGVpZ2h0OlIsY2FwSGVpZ2h0Ok4sZmxhZ3M6RyxpdGFsaWNBbmdsZTp4LGlzVHlwZTNGb250OkMsY3NzRm9udEluZm86YyxzY2FsZUZhY3RvcnM6dyxzeXN0ZW1Gb250SW5mbzpEfTtpZihzKXtjb25zdCBlPWkuZ2V0KCJFbmNvZGluZyIpO2UgaW5zdGFuY2VvZiBOYW1lJiYoVS5jaWRFbmNvZGluZz1lLm5hbWUpO2NvbnN0IHQ9YXdhaXQgQ01hcEZhY3RvcnkuY3JlYXRlKHtlbmNvZGluZzplLGZldGNoQnVpbHRJbkNNYXA6dGhpcy5fZmV0Y2hCdWlsdEluQ01hcEJvdW5kLHVzZUNNYXA6bnVsbH0pO1UuY01hcD10O1UudmVydGljYWw9VS5jTWFwLnZlcnRpY2FsfWNvbnN0IE09YXdhaXQgdGhpcy5leHRyYWN0RGF0YVN0cnVjdHVyZXModCxVKTt0aGlzLmV4dHJhY3RXaWR0aHModCxlLE0pO3JldHVybiBuZXcgRm9udChoLm5hbWUsdSxNKX1zdGF0aWMgYnVpbGRGb250UGF0aHMoZSx0LGksYSl7ZnVuY3Rpb24gYnVpbGRQYXRoKHQpe2NvbnN0IHM9YCR7ZS5sb2FkZWROYW1lfV9wYXRoXyR7dH1gO3RyeXtpZihlLnJlbmRlcmVyLmhhc0J1aWx0UGF0aCh0KSlyZXR1cm47aS5zZW5kKCJjb21tb25vYmoiLFtzLCJGb250UGF0aCIsZS5yZW5kZXJlci5nZXRQYXRoSnModCldKX1jYXRjaChlKXtpZihhLmlnbm9yZUVycm9ycyl7d2FybihgYnVpbGRGb250UGF0aHMgLSBpZ25vcmluZyAke3N9IGdseXBoOiAiJHtlfSIuYCk7cmV0dXJufXRocm93IGV9fWZvcihjb25zdCBlIG9mIHQpe2J1aWxkUGF0aChlLmZvbnRDaGFyKTtjb25zdCB0PWUuYWNjZW50O3Q/LmZvbnRDaGFyJiZidWlsZFBhdGgodC5mb250Q2hhcil9fXN0YXRpYyBnZXQgZmFsbGJhY2tGb250RGljdCgpe2NvbnN0IGU9bmV3IERpY3Q7ZS5zZXQoIkJhc2VGb250IixOYW1lLmdldCgiSGVsdmV0aWNhIikpO2Uuc2V0KCJUeXBlIixOYW1lLmdldCgiRmFsbGJhY2tUeXBlIikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRmFsbGJhY2tUeXBlIikpO2Uuc2V0KCJFbmNvZGluZyIsTmFtZS5nZXQoIldpbkFuc2lFbmNvZGluZyIpKTtyZXR1cm4gc2hhZG93KHRoaXMsImZhbGxiYWNrRm9udERpY3QiLGUpfX1jbGFzcyBUcmFuc2xhdGVkRm9udHtjb25zdHJ1Y3Rvcih7bG9hZGVkTmFtZTplLGZvbnQ6dCxkaWN0OmksZXZhbHVhdG9yT3B0aW9uczphfSl7dGhpcy5sb2FkZWROYW1lPWU7dGhpcy5mb250PXQ7dGhpcy5kaWN0PWk7dGhpcy5fZXZhbHVhdG9yT3B0aW9ucz1hfHxrczt0aGlzLnR5cGUzTG9hZGVkPW51bGw7dGhpcy50eXBlM0RlcGVuZGVuY2llcz10LmlzVHlwZTNGb250P25ldyBTZXQ6bnVsbDt0aGlzLnNlbnQ9ITF9c2VuZChlKXtpZighdGhpcy5zZW50KXt0aGlzLnNlbnQ9ITA7ZS5zZW5kKCJjb21tb25vYmoiLFt0aGlzLmxvYWRlZE5hbWUsIkZvbnQiLHRoaXMuZm9udC5leHBvcnREYXRhKHRoaXMuX2V2YWx1YXRvck9wdGlvbnMuZm9udEV4dHJhUHJvcGVydGllcyldKX19ZmFsbGJhY2soZSl7aWYodGhpcy5mb250LmRhdGEpe3RoaXMuZm9udC5kaXNhYmxlRm9udEZhY2U9ITA7UGFydGlhbEV2YWx1YXRvci5idWlsZEZvbnRQYXRocyh0aGlzLmZvbnQsdGhpcy5mb250LmdseXBoQ2FjaGVWYWx1ZXMsZSx0aGlzLl9ldmFsdWF0b3JPcHRpb25zKX19bG9hZFR5cGUzRGF0YShlLHQsaSl7aWYodGhpcy50eXBlM0xvYWRlZClyZXR1cm4gdGhpcy50eXBlM0xvYWRlZDtpZighdGhpcy5mb250LmlzVHlwZTNGb250KXRocm93IG5ldyBFcnJvcigiTXVzdCBiZSBhIFR5cGUzIGZvbnQuIik7Y29uc3QgYT1lLmNsb25lKHtpZ25vcmVFcnJvcnM6ITF9KSxzPW5ldyBSZWZTZXQoZS50eXBlM0ZvbnRSZWZzKTt0aGlzLmRpY3Qub2JqSWQmJiFzLmhhcyh0aGlzLmRpY3Qub2JqSWQpJiZzLnB1dCh0aGlzLmRpY3Qub2JqSWQpO2EudHlwZTNGb250UmVmcz1zO2NvbnN0IHI9dGhpcy5mb250LG49dGhpcy50eXBlM0RlcGVuZGVuY2llcztsZXQgZz1Qcm9taXNlLnJlc29sdmUoKTtjb25zdCBvPXRoaXMuZGljdC5nZXQoIkNoYXJQcm9jcyIpLGM9dGhpcy5kaWN0LmdldCgiUmVzb3VyY2VzIil8fHQsQz1PYmplY3QuY3JlYXRlKG51bGwpLGg9VXRpbC5ub3JtYWxpemVSZWN0KHIuYmJveHx8WzAsMCwwLDBdKSxsPWhbMl0taFswXSxRPWhbM10taFsxXSxFPU1hdGguaHlwb3QobCxRKTtmb3IoY29uc3QgZSBvZiBvLmdldEtleXMoKSlnPWcudGhlbigoKCk9Pntjb25zdCB0PW8uZ2V0KGUpLHM9bmV3IE9wZXJhdG9yTGlzdDtyZXR1cm4gYS5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTp0LHRhc2s6aSxyZXNvdXJjZXM6YyxvcGVyYXRvckxpc3Q6c30pLnRoZW4oKCgpPT57cy5mbkFycmF5WzBdPT09RWUmJnRoaXMuX3JlbW92ZVR5cGUzQ29sb3JPcGVyYXRvcnMocyxFKTtDW2VdPXMuZ2V0SVIoKTtmb3IoY29uc3QgZSBvZiBzLmRlcGVuZGVuY2llcyluLmFkZChlKX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7d2FybihgVHlwZTMgZm9udCByZXNvdXJjZSAiJHtlfSIgaXMgbm90IGF2YWlsYWJsZS5gKTtjb25zdCBpPW5ldyBPcGVyYXRvckxpc3Q7Q1tlXT1pLmdldElSKCl9KSl9KSk7dGhpcy50eXBlM0xvYWRlZD1nLnRoZW4oKCgpPT57ci5jaGFyUHJvY09wZXJhdG9yTGlzdD1DO2lmKHRoaXMuX2Jib3gpe3IuaXNDaGFyQkJveD0hMDtyLmJib3g9dGhpcy5fYmJveH19KSk7cmV0dXJuIHRoaXMudHlwZTNMb2FkZWR9X3JlbW92ZVR5cGUzQ29sb3JPcGVyYXRvcnMoZSx0PU5hTil7Y29uc3QgaT1VdGlsLm5vcm1hbGl6ZVJlY3QoZS5hcmdzQXJyYXlbMF0uc2xpY2UoMikpLGE9aVsyXS1pWzBdLHM9aVszXS1pWzFdLHI9TWF0aC5oeXBvdChhLHMpO2lmKDA9PT1hfHwwPT09cyl7ZS5mbkFycmF5LnNwbGljZSgwLDEpO2UuYXJnc0FycmF5LnNwbGljZSgwLDEpfWVsc2UgaWYoMD09PXR8fE1hdGgucm91bmQoci90KT49MTApe3RoaXMuX2Jib3h8fCh0aGlzLl9iYm94PVsxLzAsMS8wLC0xLzAsLTEvMF0pO3RoaXMuX2Jib3hbMF09TWF0aC5taW4odGhpcy5fYmJveFswXSxpWzBdKTt0aGlzLl9iYm94WzFdPU1hdGgubWluKHRoaXMuX2Jib3hbMV0saVsxXSk7dGhpcy5fYmJveFsyXT1NYXRoLm1heCh0aGlzLl9iYm94WzJdLGlbMl0pO3RoaXMuX2Jib3hbM109TWF0aC5tYXgodGhpcy5fYmJveFszXSxpWzNdKX1sZXQgbj0wLGc9ZS5sZW5ndGg7Zm9yKDtuPGc7KXtzd2l0Y2goZS5mbkFycmF5W25dKXtjYXNlIEVlOmJyZWFrO2Nhc2UgdWU6Y2FzZSBkZTpjYXNlIGZlOmNhc2UgcGU6Y2FzZSBtZTpjYXNlIHllOmNhc2Ugd2U6Y2FzZSBEZTpjYXNlIGJlOmNhc2UgRmU6Y2FzZSBTZTpjYXNlIGtlOmNhc2UgUmU6Y2FzZSBrQTplLmZuQXJyYXkuc3BsaWNlKG4sMSk7ZS5hcmdzQXJyYXkuc3BsaWNlKG4sMSk7Zy0tO2NvbnRpbnVlO2Nhc2UgTkE6Y29uc3RbdF09ZS5hcmdzQXJyYXlbbl07bGV0IGk9MCxhPXQubGVuZ3RoO2Zvcig7aTxhOyl7Y29uc3RbZV09dFtpXTtzd2l0Y2goZSl7Y2FzZSJUUiI6Y2FzZSJUUjIiOmNhc2UiSFQiOmNhc2UiQkciOmNhc2UiQkcyIjpjYXNlIlVDUiI6Y2FzZSJVQ1IyIjp0LnNwbGljZShpLDEpO2EtLTtjb250aW51ZX1pKyt9fW4rK319fWNsYXNzIFN0YXRlTWFuYWdlcntjb25zdHJ1Y3RvcihlPW5ldyBFdmFsU3RhdGUpe3RoaXMuc3RhdGU9ZTt0aGlzLnN0YXRlU3RhY2s9W119c2F2ZSgpe2NvbnN0IGU9dGhpcy5zdGF0ZTt0aGlzLnN0YXRlU3RhY2sucHVzaCh0aGlzLnN0YXRlKTt0aGlzLnN0YXRlPWUuY2xvbmUoKX1yZXN0b3JlKCl7Y29uc3QgZT10aGlzLnN0YXRlU3RhY2sucG9wKCk7ZSYmKHRoaXMuc3RhdGU9ZSl9dHJhbnNmb3JtKGUpe3RoaXMuc3RhdGUuY3RtPVV0aWwudHJhbnNmb3JtKHRoaXMuc3RhdGUuY3RtLGUpfX1jbGFzcyBUZXh0U3RhdGV7Y29uc3RydWN0b3IoKXt0aGlzLmN0bT1uZXcgRmxvYXQzMkFycmF5KGkpO3RoaXMuZm9udE5hbWU9bnVsbDt0aGlzLmZvbnRTaXplPTA7dGhpcy5sb2FkZWROYW1lPW51bGw7dGhpcy5mb250PW51bGw7dGhpcy5mb250TWF0cml4PWE7dGhpcy50ZXh0TWF0cml4PWkuc2xpY2UoKTt0aGlzLnRleHRMaW5lTWF0cml4PWkuc2xpY2UoKTt0aGlzLmNoYXJTcGFjaW5nPTA7dGhpcy53b3JkU3BhY2luZz0wO3RoaXMubGVhZGluZz0wO3RoaXMudGV4dEhTY2FsZT0xO3RoaXMudGV4dFJpc2U9MH1zZXRUZXh0TWF0cml4KGUsdCxpLGEscyxyKXtjb25zdCBuPXRoaXMudGV4dE1hdHJpeDtuWzBdPWU7blsxXT10O25bMl09aTtuWzNdPWE7bls0XT1zO25bNV09cn1zZXRUZXh0TGluZU1hdHJpeChlLHQsaSxhLHMscil7Y29uc3Qgbj10aGlzLnRleHRMaW5lTWF0cml4O25bMF09ZTtuWzFdPXQ7blsyXT1pO25bM109YTtuWzRdPXM7bls1XT1yfXRyYW5zbGF0ZVRleHRNYXRyaXgoZSx0KXtjb25zdCBpPXRoaXMudGV4dE1hdHJpeDtpWzRdPWlbMF0qZStpWzJdKnQraVs0XTtpWzVdPWlbMV0qZStpWzNdKnQraVs1XX10cmFuc2xhdGVUZXh0TGluZU1hdHJpeChlLHQpe2NvbnN0IGk9dGhpcy50ZXh0TGluZU1hdHJpeDtpWzRdPWlbMF0qZStpWzJdKnQraVs0XTtpWzVdPWlbMV0qZStpWzNdKnQraVs1XX1jYXJyaWFnZVJldHVybigpe3RoaXMudHJhbnNsYXRlVGV4dExpbmVNYXRyaXgoMCwtdGhpcy5sZWFkaW5nKTt0aGlzLnRleHRNYXRyaXg9dGhpcy50ZXh0TGluZU1hdHJpeC5zbGljZSgpfWNsb25lKCl7Y29uc3QgZT1PYmplY3QuY3JlYXRlKHRoaXMpO2UudGV4dE1hdHJpeD10aGlzLnRleHRNYXRyaXguc2xpY2UoKTtlLnRleHRMaW5lTWF0cml4PXRoaXMudGV4dExpbmVNYXRyaXguc2xpY2UoKTtlLmZvbnRNYXRyaXg9dGhpcy5mb250TWF0cml4LnNsaWNlKCk7cmV0dXJuIGV9fWNsYXNzIEV2YWxTdGF0ZXtjb25zdHJ1Y3Rvcigpe3RoaXMuY3RtPW5ldyBGbG9hdDMyQXJyYXkoaSk7dGhpcy5mb250PW51bGw7dGhpcy50ZXh0UmVuZGVyaW5nTW9kZT13O3RoaXMuX2ZpbGxDb2xvclNwYWNlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5O3RoaXMuX3N0cm9rZUNvbG9yU3BhY2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXk7dGhpcy5wYXR0ZXJuRmlsbENvbG9yU3BhY2U9bnVsbDt0aGlzLnBhdHRlcm5TdHJva2VDb2xvclNwYWNlPW51bGx9Z2V0IGZpbGxDb2xvclNwYWNlKCl7cmV0dXJuIHRoaXMuX2ZpbGxDb2xvclNwYWNlfXNldCBmaWxsQ29sb3JTcGFjZShlKXt0aGlzLl9maWxsQ29sb3JTcGFjZT10aGlzLnBhdHRlcm5GaWxsQ29sb3JTcGFjZT1lfWdldCBzdHJva2VDb2xvclNwYWNlKCl7cmV0dXJuIHRoaXMuX3N0cm9rZUNvbG9yU3BhY2V9c2V0IHN0cm9rZUNvbG9yU3BhY2UoZSl7dGhpcy5fc3Ryb2tlQ29sb3JTcGFjZT10aGlzLnBhdHRlcm5TdHJva2VDb2xvclNwYWNlPWV9Y2xvbmUoKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX19Y2xhc3MgRXZhbHVhdG9yUHJlcHJvY2Vzc29ye3N0YXRpYyBnZXQgb3BNYXAoKXtyZXR1cm4gc2hhZG93KHRoaXMsIm9wTWFwIixPYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUobnVsbCkse3c6e2lkOndBLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LEo6e2lkOkRBLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGo6e2lkOmJBLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LE06e2lkOkZBLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGQ6e2lkOlNBLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LHJpOntpZDprQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxpOntpZDpSQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxnczp7aWQ6TkEsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0scTp7aWQ6R0EsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sUTp7aWQ6eEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sY206e2lkOlVBLG51bUFyZ3M6Nix2YXJpYWJsZUFyZ3M6ITF9LG06e2lkOk1BLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LGw6e2lkOkxBLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LGM6e2lkOkhBLG51bUFyZ3M6Nix2YXJpYWJsZUFyZ3M6ITF9LHY6e2lkOkpBLG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITF9LHk6e2lkOllBLG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITF9LGg6e2lkOnZBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LHJlOntpZDpUQSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSxTOntpZDpLQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxzOntpZDpxQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxmOntpZDpPQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxGOntpZDpPQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSwiZioiOntpZDpQQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxCOntpZDpXQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSwiQioiOntpZDpYQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxiOntpZDpqQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSwiYioiOntpZDpaQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxuOntpZDpWQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxXOntpZDp6QSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSwiVyoiOntpZDpfQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxCVDp7aWQ6JEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sRVQ6e2lkOkFlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LFRjOntpZDplZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUdzp7aWQ6dGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVHo6e2lkOmllLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFRMOntpZDphZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUZjp7aWQ6c2UsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sVHI6e2lkOnJlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFRzOntpZDpuZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUZDp7aWQ6Z2UsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sVEQ6e2lkOm9lLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LFRtOntpZDpJZSxudW1BcmdzOjYsdmFyaWFibGVBcmdzOiExfSwiVCoiOntpZDpjZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxUajp7aWQ6Q2UsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVEo6e2lkOmhlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LCInIjp7aWQ6bGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sJyInOntpZDpCZSxudW1BcmdzOjMsdmFyaWFibGVBcmdzOiExfSxkMDp7aWQ6UWUsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sZDE6e2lkOkVlLG51bUFyZ3M6Nix2YXJpYWJsZUFyZ3M6ITF9LENTOntpZDp1ZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxjczp7aWQ6ZGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sU0M6e2lkOmZlLG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITB9LFNDTjp7aWQ6cGUsbnVtQXJnczozMyx2YXJpYWJsZUFyZ3M6ITB9LHNjOntpZDptZSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiEwfSxzY246e2lkOnllLG51bUFyZ3M6MzMsdmFyaWFibGVBcmdzOiEwfSxHOntpZDp3ZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxnOntpZDpEZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxSRzp7aWQ6YmUsbnVtQXJnczozLHZhcmlhYmxlQXJnczohMX0scmc6e2lkOkZlLG51bUFyZ3M6Myx2YXJpYWJsZUFyZ3M6ITF9LEs6e2lkOlNlLG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITF9LGs6e2lkOmtlLG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITF9LHNoOntpZDpSZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxCSTp7aWQ6TmUsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sSUQ6e2lkOkdlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEVJOntpZDp4ZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxEbzp7aWQ6VWUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sTVA6e2lkOk1lLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LERQOntpZDpMZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxCTUM6e2lkOkhlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LEJEQzp7aWQ6SmUsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sRU1DOntpZDpZZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxCWDp7aWQ6dmUsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sRVg6e2lkOlRlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEJNOm51bGwsQkQ6bnVsbCx0cnVlOm51bGwsZmE6bnVsbCxmYWw6bnVsbCxmYWxzOm51bGwsZmFsc2U6bnVsbCxudTpudWxsLG51bDpudWxsLG51bGw6bnVsbH0pKX1zdGF0aWMgTUFYX0lOVkFMSURfUEFUSF9PUFM9MTA7Y29uc3RydWN0b3IoZSx0LGk9bmV3IFN0YXRlTWFuYWdlcil7dGhpcy5wYXJzZXI9bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKGUsRXZhbHVhdG9yUHJlcHJvY2Vzc29yLm9wTWFwKSx4cmVmOnR9KTt0aGlzLnN0YXRlTWFuYWdlcj1pO3RoaXMubm9uUHJvY2Vzc2VkQXJncz1bXTt0aGlzLl9pc1BhdGhPcD0hMTt0aGlzLl9udW1JbnZhbGlkUGF0aE9QUz0wfWdldCBzYXZlZFN0YXRlc0RlcHRoKCl7cmV0dXJuIHRoaXMuc3RhdGVNYW5hZ2VyLnN0YXRlU3RhY2subGVuZ3RofXJlYWQoZSl7bGV0IHQ9ZS5hcmdzO2Zvcig7Oyl7Y29uc3QgaT10aGlzLnBhcnNlci5nZXRPYmooKTtpZihpIGluc3RhbmNlb2YgQ21kKXtjb25zdCBhPWkuY21kLHM9RXZhbHVhdG9yUHJlcHJvY2Vzc29yLm9wTWFwW2FdO2lmKCFzKXt3YXJuKGBVbmtub3duIGNvbW1hbmQgIiR7YX0iLmApO2NvbnRpbnVlfWNvbnN0IHI9cy5pZCxuPXMubnVtQXJncztsZXQgZz1udWxsIT09dD90Lmxlbmd0aDowO3RoaXMuX2lzUGF0aE9wfHwodGhpcy5fbnVtSW52YWxpZFBhdGhPUFM9MCk7dGhpcy5faXNQYXRoT3A9cj49TUEmJnI8PVZBO2lmKHMudmFyaWFibGVBcmdzKWc+biYmaW5mbyhgQ29tbWFuZCAke2F9OiBleHBlY3RlZCBbMCwgJHtufV0gYXJncywgYnV0IHJlY2VpdmVkICR7Z30gYXJncy5gKTtlbHNle2lmKGchPT1uKXtjb25zdCBlPXRoaXMubm9uUHJvY2Vzc2VkQXJncztmb3IoO2c+bjspe2UucHVzaCh0LnNoaWZ0KCkpO2ctLX1mb3IoO2c8biYmMCE9PWUubGVuZ3RoOyl7bnVsbD09PXQmJih0PVtdKTt0LnVuc2hpZnQoZS5wb3AoKSk7ZysrfX1pZihnPG4pe2NvbnN0IGU9YGNvbW1hbmQgJHthfTogZXhwZWN0ZWQgJHtufSBhcmdzLCBidXQgcmVjZWl2ZWQgJHtnfSBhcmdzLmA7aWYodGhpcy5faXNQYXRoT3AmJisrdGhpcy5fbnVtSW52YWxpZFBhdGhPUFM+RXZhbHVhdG9yUHJlcHJvY2Vzc29yLk1BWF9JTlZBTElEX1BBVEhfT1BTKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCAke2V9YCk7d2FybihgU2tpcHBpbmcgJHtlfWApO251bGwhPT10JiYodC5sZW5ndGg9MCk7Y29udGludWV9fXRoaXMucHJlcHJvY2Vzc0NvbW1hbmQocix0KTtlLmZuPXI7ZS5hcmdzPXQ7cmV0dXJuITB9aWYoaT09PXl0KXJldHVybiExO2lmKG51bGwhPT1pKXtudWxsPT09dCYmKHQ9W10pO3QucHVzaChpKTtpZih0Lmxlbmd0aD4zMyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRvbyBtYW55IGFyZ3VtZW50cyIpfX19cHJlcHJvY2Vzc0NvbW1hbmQoZSx0KXtzd2l0Y2goMHxlKXtjYXNlIEdBOnRoaXMuc3RhdGVNYW5hZ2VyLnNhdmUoKTticmVhaztjYXNlIHhBOnRoaXMuc3RhdGVNYW5hZ2VyLnJlc3RvcmUoKTticmVhaztjYXNlIFVBOnRoaXMuc3RhdGVNYW5hZ2VyLnRyYW5zZm9ybSh0KX19fWNsYXNzIERlZmF1bHRBcHBlYXJhbmNlRXZhbHVhdG9yIGV4dGVuZHMgRXZhbHVhdG9yUHJlcHJvY2Vzc29ye2NvbnN0cnVjdG9yKGUpe3N1cGVyKG5ldyBTdHJpbmdTdHJlYW0oZSkpfXBhcnNlKCl7Y29uc3QgZT17Zm46MCxhcmdzOltdfSx0PXtmb250U2l6ZTowLGZvbnROYW1lOiIiLGZvbnRDb2xvcjpuZXcgVWludDhDbGFtcGVkQXJyYXkoMyl9O3RyeXtmb3IoOzspe2UuYXJncy5sZW5ndGg9MDtpZighdGhpcy5yZWFkKGUpKWJyZWFrO2lmKDAhPT10aGlzLnNhdmVkU3RhdGVzRGVwdGgpY29udGludWU7Y29uc3R7Zm46aSxhcmdzOmF9PWU7c3dpdGNoKDB8aSl7Y2FzZSBzZTpjb25zdFtlLGldPWE7ZSBpbnN0YW5jZW9mIE5hbWUmJih0LmZvbnROYW1lPWUubmFtZSk7Im51bWJlciI9PXR5cGVvZiBpJiZpPjAmJih0LmZvbnRTaXplPWkpO2JyZWFrO2Nhc2UgRmU6Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2JJdGVtKGEsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIERlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYkl0ZW0oYSwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2Uga2U6Q29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWsuZ2V0UmdiSXRlbShhLDAsdC5mb250Q29sb3IsMCl9fX1jYXRjaChlKXt3YXJuKGBwYXJzZURlZmF1bHRBcHBlYXJhbmNlIC0gaWdub3JpbmcgZXJyb3JzOiAiJHtlfSIuYCl9cmV0dXJuIHR9fWZ1bmN0aW9uIHBhcnNlRGVmYXVsdEFwcGVhcmFuY2UoZSl7cmV0dXJuIG5ldyBEZWZhdWx0QXBwZWFyYW5jZUV2YWx1YXRvcihlKS5wYXJzZSgpfWNsYXNzIEFwcGVhcmFuY2VTdHJlYW1FdmFsdWF0b3IgZXh0ZW5kcyBFdmFsdWF0b3JQcmVwcm9jZXNzb3J7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUpO3RoaXMuc3RyZWFtPWU7dGhpcy5ldmFsdWF0b3JPcHRpb25zPXQ7dGhpcy54cmVmPWk7dGhpcy5yZXNvdXJjZXM9ZS5kaWN0Py5nZXQoIlJlc291cmNlcyIpfXBhcnNlKCl7Y29uc3QgZT17Zm46MCxhcmdzOltdfTtsZXQgdD17c2NhbGVGYWN0b3I6MSxmb250U2l6ZTowLGZvbnROYW1lOiIiLGZvbnRDb2xvcjpuZXcgVWludDhDbGFtcGVkQXJyYXkoMyksZmlsbENvbG9yU3BhY2U6Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXl9LGk9ITE7Y29uc3QgYT1bXTt0cnl7Zm9yKDs7KXtlLmFyZ3MubGVuZ3RoPTA7aWYoaXx8IXRoaXMucmVhZChlKSlicmVhaztjb25zdHtmbjpzLGFyZ3M6cn09ZTtzd2l0Y2goMHxzKXtjYXNlIEdBOmEucHVzaCh7c2NhbGVGYWN0b3I6dC5zY2FsZUZhY3Rvcixmb250U2l6ZTp0LmZvbnRTaXplLGZvbnROYW1lOnQuZm9udE5hbWUsZm9udENvbG9yOnQuZm9udENvbG9yLnNsaWNlKCksZmlsbENvbG9yU3BhY2U6dC5maWxsQ29sb3JTcGFjZX0pO2JyZWFrO2Nhc2UgeEE6dD1hLnBvcCgpfHx0O2JyZWFrO2Nhc2UgSWU6dC5zY2FsZUZhY3Rvcio9TWF0aC5oeXBvdChyWzBdLHJbMV0pO2JyZWFrO2Nhc2Ugc2U6Y29uc3RbZSxzXT1yO2UgaW5zdGFuY2VvZiBOYW1lJiYodC5mb250TmFtZT1lLm5hbWUpOyJudW1iZXIiPT10eXBlb2YgcyYmcz4wJiYodC5mb250U2l6ZT1zKnQuc2NhbGVGYWN0b3IpO2JyZWFrO2Nhc2UgZGU6dC5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnBhcnNlKHtjczpyWzBdLHhyZWY6dGhpcy54cmVmLHJlc291cmNlczp0aGlzLnJlc291cmNlcyxwZGZGdW5jdGlvbkZhY3Rvcnk6dGhpcy5fcGRmRnVuY3Rpb25GYWN0b3J5LGxvY2FsQ29sb3JTcGFjZUNhY2hlOnRoaXMuX2xvY2FsQ29sb3JTcGFjZUNhY2hlfSk7YnJlYWs7Y2FzZSBtZTp0LmZpbGxDb2xvclNwYWNlLmdldFJnYkl0ZW0ociwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2UgRmU6Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2JJdGVtKHIsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIERlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYkl0ZW0ociwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2Uga2U6Q29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWsuZ2V0UmdiSXRlbShyLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBDZTpjYXNlIGhlOmNhc2UgbGU6Y2FzZSBCZTppPSEwfX19Y2F0Y2goZSl7d2FybihgcGFyc2VBcHBlYXJhbmNlU3RyZWFtIC0gaWdub3JpbmcgZXJyb3JzOiAiJHtlfSIuYCl9dGhpcy5zdHJlYW0ucmVzZXQoKTtkZWxldGUgdC5zY2FsZUZhY3RvcjtkZWxldGUgdC5maWxsQ29sb3JTcGFjZTtyZXR1cm4gdH1nZXQgX2xvY2FsQ29sb3JTcGFjZUNhY2hlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJfbG9jYWxDb2xvclNwYWNlQ2FjaGUiLG5ldyBMb2NhbENvbG9yU3BhY2VDYWNoZSl9Z2V0IF9wZGZGdW5jdGlvbkZhY3RvcnkoKXtyZXR1cm4gc2hhZG93KHRoaXMsIl9wZGZGdW5jdGlvbkZhY3RvcnkiLG5ldyBQREZGdW5jdGlvbkZhY3Rvcnkoe3hyZWY6dGhpcy54cmVmLGlzRXZhbFN1cHBvcnRlZDp0aGlzLmV2YWx1YXRvck9wdGlvbnMuaXNFdmFsU3VwcG9ydGVkfSkpfX1mdW5jdGlvbiBnZXRQZGZDb2xvcihlLHQpe2lmKGVbMF09PT1lWzFdJiZlWzFdPT09ZVsyXSl7cmV0dXJuYCR7bnVtYmVyVG9TdHJpbmcoZVswXS8yNTUpfSAke3Q/ImciOiJHIn1gfXJldHVybiBBcnJheS5mcm9tKGUsKGU9Pm51bWJlclRvU3RyaW5nKGUvMjU1KSkpLmpvaW4oIiAiKSsiICIrKHQ/InJnIjoiUkciKX1jbGFzcyBGYWtlVW5pY29kZUZvbnR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnhyZWY9ZTt0aGlzLndpZHRocz1udWxsO3RoaXMuZmlyc3RDaGFyPTEvMDt0aGlzLmxhc3RDaGFyPS0xLzA7dGhpcy5mb250RmFtaWx5PXQ7Y29uc3QgaT1uZXcgT2Zmc2NyZWVuQ2FudmFzKDEsMSk7dGhpcy5jdHhNZWFzdXJlPWkuZ2V0Q29udGV4dCgiMmQiLHt3aWxsUmVhZEZyZXF1ZW50bHk6ITB9KTtGYWtlVW5pY29kZUZvbnQuX2ZvbnROYW1lSWR8fChGYWtlVW5pY29kZUZvbnQuX2ZvbnROYW1lSWQ9MSk7dGhpcy5mb250TmFtZT1OYW1lLmdldChgSW52YWxpZFBERmpzRm9udF8ke3R9XyR7RmFrZVVuaWNvZGVGb250Ll9mb250TmFtZUlkKyt9YCl9Z2V0IGZvbnREZXNjcmlwdG9yUmVmKCl7aWYoIUZha2VVbmljb2RlRm9udC5fZm9udERlc2NyaXB0b3JSZWYpe2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZvbnREZXNjcmlwdG9yIikpO2Uuc2V0KCJGb250TmFtZSIsdGhpcy5mb250TmFtZSk7ZS5zZXQoIkZvbnRGYW1pbHkiLCJNeXJpYWRQcm8gUmVndWxhciIpO2Uuc2V0KCJGb250QkJveCIsWzAsMCwwLDBdKTtlLnNldCgiRm9udFN0cmV0Y2giLE5hbWUuZ2V0KCJOb3JtYWwiKSk7ZS5zZXQoIkZvbnRXZWlnaHQiLDQwMCk7ZS5zZXQoIkl0YWxpY0FuZ2xlIiwwKTtGYWtlVW5pY29kZUZvbnQuX2ZvbnREZXNjcmlwdG9yUmVmPXRoaXMueHJlZi5nZXROZXdQZXJzaXN0ZW50UmVmKGUpfXJldHVybiBGYWtlVW5pY29kZUZvbnQuX2ZvbnREZXNjcmlwdG9yUmVmfWdldCBkZXNjZW5kYW50Rm9udFJlZigpe2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKTtlLnNldCgiQmFzZUZvbnQiLHRoaXMuZm9udE5hbWUpO2Uuc2V0KCJUeXBlIixOYW1lLmdldCgiRm9udCIpKTtlLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkNJREZvbnRUeXBlMCIpKTtlLnNldCgiQ0lEVG9HSURNYXAiLE5hbWUuZ2V0KCJJZGVudGl0eSIpKTtlLnNldCgiRmlyc3RDaGFyIix0aGlzLmZpcnN0Q2hhcik7ZS5zZXQoIkxhc3RDaGFyIix0aGlzLmxhc3RDaGFyKTtlLnNldCgiRm9udERlc2NyaXB0b3IiLHRoaXMuZm9udERlc2NyaXB0b3JSZWYpO2Uuc2V0KCJEVyIsMWUzKTtjb25zdCB0PVtdLGk9Wy4uLnRoaXMud2lkdGhzLmVudHJpZXMoKV0uc29ydCgpO2xldCBhPW51bGwscz1udWxsO2Zvcihjb25zdFtlLHJdb2YgaSlpZihhKWlmKGU9PT1hK3MubGVuZ3RoKXMucHVzaChyKTtlbHNle3QucHVzaChhLHMpO2E9ZTtzPVtyXX1lbHNle2E9ZTtzPVtyXX1hJiZ0LnB1c2goYSxzKTtlLnNldCgiVyIsdCk7Y29uc3Qgcj1uZXcgRGljdCh0aGlzLnhyZWYpO3Iuc2V0KCJPcmRlcmluZyIsIklkZW50aXR5Iik7ci5zZXQoIlJlZ2lzdHJ5IiwiQWRvYmUiKTtyLnNldCgiU3VwcGxlbWVudCIsMCk7ZS5zZXQoIkNJRFN5c3RlbUluZm8iLHIpO3JldHVybiB0aGlzLnhyZWYuZ2V0TmV3UGVyc2lzdGVudFJlZihlKX1nZXQgYmFzZUZvbnRSZWYoKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZik7ZS5zZXQoIkJhc2VGb250Iix0aGlzLmZvbnROYW1lKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZvbnQiKSk7ZS5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJUeXBlMCIpKTtlLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJJZGVudGl0eS1IIikpO2Uuc2V0KCJEZXNjZW5kYW50Rm9udHMiLFt0aGlzLmRlc2NlbmRhbnRGb250UmVmXSk7ZS5zZXQoIlRvVW5pY29kZSIsTmFtZS5nZXQoIklkZW50aXR5LUgiKSk7cmV0dXJuIHRoaXMueHJlZi5nZXROZXdQZXJzaXN0ZW50UmVmKGUpfWdldCByZXNvdXJjZXMoKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZiksdD1uZXcgRGljdCh0aGlzLnhyZWYpO3Quc2V0KHRoaXMuZm9udE5hbWUubmFtZSx0aGlzLmJhc2VGb250UmVmKTtlLnNldCgiRm9udCIsdCk7cmV0dXJuIGV9X2NyZWF0ZUNvbnRleHQoKXt0aGlzLndpZHRocz1uZXcgTWFwO3RoaXMuY3R4TWVhc3VyZS5mb250PWAxMDAwcHggJHt0aGlzLmZvbnRGYW1pbHl9YDtyZXR1cm4gdGhpcy5jdHhNZWFzdXJlfWNyZWF0ZUZvbnRSZXNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9jcmVhdGVDb250ZXh0KCk7Zm9yKGNvbnN0IGkgb2YgZS5zcGxpdCgvXHJcbj98XG4vKSlmb3IoY29uc3QgZSBvZiBpLnNwbGl0KCIiKSl7Y29uc3QgaT1lLmNoYXJDb2RlQXQoMCk7aWYodGhpcy53aWR0aHMuaGFzKGkpKWNvbnRpbnVlO2NvbnN0IGE9dC5tZWFzdXJlVGV4dChlKSxzPU1hdGguY2VpbChhLndpZHRoKTt0aGlzLndpZHRocy5zZXQoaSxzKTt0aGlzLmZpcnN0Q2hhcj1NYXRoLm1pbihpLHRoaXMuZmlyc3RDaGFyKTt0aGlzLmxhc3RDaGFyPU1hdGgubWF4KGksdGhpcy5sYXN0Q2hhcil9cmV0dXJuIHRoaXMucmVzb3VyY2VzfXN0YXRpYyBnZXRGaXJzdFBvc2l0aW9uSW5mbyhlLHQsaSl7Y29uc3RbYSxuLGcsb109ZTtsZXQgYz1nLWEsQz1vLW47dCUxODAhPTAmJihbYyxDXT1bQyxjXSk7Y29uc3QgaD1zKmk7cmV0dXJue2Nvb3JkczpbMCxDK3IqaS1oXSxiYm94OlswLDAsYyxDXSxtYXRyaXg6MCE9PXQ/Z2V0Um90YXRpb25NYXRyaXgodCxDLGgpOnZvaWQgMH19Y3JlYXRlQXBwZWFyYW5jZShlLHQsaSxhLG4sZyl7Y29uc3Qgbz10aGlzLl9jcmVhdGVDb250ZXh0KCksYz1bXTtsZXQgQz0tMS8wO2Zvcihjb25zdCB0IG9mIGUuc3BsaXQoL1xyXG4/fFxuLykpe2MucHVzaCh0KTtjb25zdCBlPW8ubWVhc3VyZVRleHQodCkud2lkdGg7Qz1NYXRoLm1heChDLGUpO2Zvcihjb25zdCBlIG9mIGNvZGVQb2ludEl0ZXIodCkpe2NvbnN0IHQ9U3RyaW5nLmZyb21Db2RlUG9pbnQoZSk7bGV0IGk9dGhpcy53aWR0aHMuZ2V0KGUpO2lmKHZvaWQgMD09PWkpe2NvbnN0IGE9by5tZWFzdXJlVGV4dCh0KTtpPU1hdGguY2VpbChhLndpZHRoKTt0aGlzLndpZHRocy5zZXQoZSxpKTt0aGlzLmZpcnN0Q2hhcj1NYXRoLm1pbihlLHRoaXMuZmlyc3RDaGFyKTt0aGlzLmxhc3RDaGFyPU1hdGgubWF4KGUsdGhpcy5sYXN0Q2hhcil9fX1DKj1hLzFlMztjb25zdFtoLGwsUSxFXT10O2xldCB1PVEtaCxkPUUtbDtpJTE4MCE9MCYmKFt1LGRdPVtkLHVdKTtsZXQgZj0xO0M+dSYmKGY9dS9DKTtsZXQgcD0xO2NvbnN0IG09cyphLHk9ciphLHc9bSpjLmxlbmd0aDt3PmQmJihwPWQvdyk7Y29uc3QgRD1hKk1hdGgubWluKGYscCksYj1bInEiLGAwIDAgJHtudW1iZXJUb1N0cmluZyh1KX0gJHtudW1iZXJUb1N0cmluZyhkKX0gcmUgVyBuYCwiQlQiLGAxIDAgMCAxIDAgJHtudW1iZXJUb1N0cmluZyhkK3kpfSBUbSAwIFRjICR7Z2V0UGRmQ29sb3IobiwhMCl9YCxgLyR7dGhpcy5mb250TmFtZS5uYW1lfSAke251bWJlclRvU3RyaW5nKEQpfSBUZmBdLHtyZXNvdXJjZXM6Rn09dGhpcztpZigxIT09KGc9Im51bWJlciI9PXR5cGVvZiBnJiZnPj0wJiZnPD0xP2c6MSkpe2IucHVzaCgiL1IwIGdzIik7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpLHQ9bmV3IERpY3QodGhpcy54cmVmKTt0LnNldCgiY2EiLGcpO3Quc2V0KCJDQSIsZyk7dC5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJFeHRHU3RhdGUiKSk7ZS5zZXQoIlIwIix0KTtGLnNldCgiRXh0R1N0YXRlIixlKX1jb25zdCBTPW51bWJlclRvU3RyaW5nKG0pO2Zvcihjb25zdCBlIG9mIGMpYi5wdXNoKGAwIC0ke1N9IFRkIDwke3N0cmluZ1RvVVRGMTZIZXhTdHJpbmcoZSl9PiBUamApO2IucHVzaCgiRVQiLCJRIik7Y29uc3Qgaz1iLmpvaW4oIlxuIiksUj1uZXcgRGljdCh0aGlzLnhyZWYpO1Iuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtSLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7Ui5zZXQoIkJCb3giLFswLDAsdSxkXSk7Ui5zZXQoIkxlbmd0aCIsay5sZW5ndGgpO1Iuc2V0KCJSZXNvdXJjZXMiLEYpO2lmKGkpe2NvbnN0IGU9Z2V0Um90YXRpb25NYXRyaXgoaSx1LGQpO1Iuc2V0KCJNYXRyaXgiLGUpfWNvbnN0IE49bmV3IFN0cmluZ1N0cmVhbShrKTtOLmRpY3Q9UjtyZXR1cm4gTn19Y2xhc3MgTmFtZU9yTnVtYmVyVHJlZXtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5yb290PWU7dGhpcy54cmVmPXQ7dGhpcy5fdHlwZT1pfWdldEFsbCgpe2NvbnN0IGU9bmV3IE1hcDtpZighdGhpcy5yb290KXJldHVybiBlO2NvbnN0IHQ9dGhpcy54cmVmLGk9bmV3IFJlZlNldDtpLnB1dCh0aGlzLnJvb3QpO2NvbnN0IGE9W3RoaXMucm9vdF07Zm9yKDthLmxlbmd0aD4wOyl7Y29uc3Qgcz10LmZldGNoSWZSZWYoYS5zaGlmdCgpKTtpZighKHMgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtpZihzLmhhcygiS2lkcyIpKXtjb25zdCBlPXMuZ2V0KCJLaWRzIik7aWYoIUFycmF5LmlzQXJyYXkoZSkpY29udGludWU7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoaS5oYXModCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBEdXBsaWNhdGUgZW50cnkgaW4gIiR7dGhpcy5fdHlwZX0iIHRyZWUuYCk7YS5wdXNoKHQpO2kucHV0KHQpfWNvbnRpbnVlfWNvbnN0IHI9cy5nZXQodGhpcy5fdHlwZSk7aWYoQXJyYXkuaXNBcnJheShyKSlmb3IobGV0IGk9MCxhPXIubGVuZ3RoO2k8YTtpKz0yKWUuc2V0KHQuZmV0Y2hJZlJlZihyW2ldKSx0LmZldGNoSWZSZWYocltpKzFdKSl9cmV0dXJuIGV9Z2V0UmF3KGUpe2lmKCF0aGlzLnJvb3QpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLnhyZWY7bGV0IGk9dC5mZXRjaElmUmVmKHRoaXMucm9vdCksYT0wO2Zvcig7aS5oYXMoIktpZHMiKTspe2lmKCsrYT4xMCl7d2FybihgU2VhcmNoIGRlcHRoIGxpbWl0IHJlYWNoZWQgZm9yICIke3RoaXMuX3R5cGV9IiB0cmVlLmApO3JldHVybiBudWxsfWNvbnN0IHM9aS5nZXQoIktpZHMiKTtpZighQXJyYXkuaXNBcnJheShzKSlyZXR1cm4gbnVsbDtsZXQgcj0wLG49cy5sZW5ndGgtMTtmb3IoO3I8PW47KXtjb25zdCBhPXIrbj4+MSxnPXQuZmV0Y2hJZlJlZihzW2FdKSxvPWcuZ2V0KCJMaW1pdHMiKTtpZihlPHQuZmV0Y2hJZlJlZihvWzBdKSluPWEtMTtlbHNle2lmKCEoZT50LmZldGNoSWZSZWYob1sxXSkpKXtpPWc7YnJlYWt9cj1hKzF9fWlmKHI+bilyZXR1cm4gbnVsbH1jb25zdCBzPWkuZ2V0KHRoaXMuX3R5cGUpO2lmKEFycmF5LmlzQXJyYXkocykpe2xldCBpPTAsYT1zLmxlbmd0aC0yO2Zvcig7aTw9YTspe2NvbnN0IHI9aSthPj4xLG49cisoMSZyKSxnPXQuZmV0Y2hJZlJlZihzW25dKTtpZihlPGcpYT1uLTI7ZWxzZXtpZighKGU+ZykpcmV0dXJuIHNbbisxXTtpPW4rMn19fXJldHVybiBudWxsfWdldChlKXtyZXR1cm4gdGhpcy54cmVmLmZldGNoSWZSZWYodGhpcy5nZXRSYXcoZSkpfX1jbGFzcyBOYW1lVHJlZSBleHRlbmRzIE5hbWVPck51bWJlclRyZWV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsIk5hbWVzIil9fWNsYXNzIE51bWJlclRyZWUgZXh0ZW5kcyBOYW1lT3JOdW1iZXJUcmVle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LCJOdW1zIil9fWZ1bmN0aW9uIGNsZWFyR2xvYmFsQ2FjaGVzKCl7IWZ1bmN0aW9uIGNsZWFyUGF0dGVybkNhY2hlcygpe2JhPU9iamVjdC5jcmVhdGUobnVsbCl9KCk7IWZ1bmN0aW9uIGNsZWFyUHJpbWl0aXZlQ2FjaGVzKCl7d3Q9T2JqZWN0LmNyZWF0ZShudWxsKTtEdD1PYmplY3QuY3JlYXRlKG51bGwpO2J0PU9iamVjdC5jcmVhdGUobnVsbCl9KCk7IWZ1bmN0aW9uIGNsZWFyVW5pY29kZUNhY2hlcygpe3ZpLmNsZWFyKCl9KCk7SnB4SW1hZ2UuY2xlYW51cCgpfWZ1bmN0aW9uIHBpY2tQbGF0Zm9ybUl0ZW0oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBEaWN0P2UuaGFzKCJVRiIpP2UuZ2V0KCJVRiIpOmUuaGFzKCJGIik/ZS5nZXQoIkYiKTplLmhhcygiVW5peCIpP2UuZ2V0KCJVbml4Iik6ZS5oYXMoIk1hYyIpP2UuZ2V0KCJNYWMiKTplLmhhcygiRE9TIik/ZS5nZXQoIkRPUyIpOm51bGw6bnVsbH1jbGFzcyBGaWxlU3BlY3sjVT0hMTtjb25zdHJ1Y3RvcihlLHQsaT0hMSl7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe3RoaXMueHJlZj10O3RoaXMucm9vdD1lO2UuaGFzKCJGUyIpJiYodGhpcy5mcz1lLmdldCgiRlMiKSk7ZS5oYXMoIlJGIikmJndhcm4oIlJlbGF0ZWQgZmlsZSBzcGVjaWZpY2F0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCIpO2l8fChlLmhhcygiRUYiKT90aGlzLiNVPSEwOndhcm4oIk5vbi1lbWJlZGRlZCBmaWxlIHNwZWNpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIikpfX1nZXQgZmlsZW5hbWUoKXtsZXQgZT0iIjtjb25zdCB0PXBpY2tQbGF0Zm9ybUl0ZW0odGhpcy5yb290KTt0JiYic3RyaW5nIj09dHlwZW9mIHQmJihlPXN0cmluZ1RvUERGU3RyaW5nKHQpLnJlcGxhY2VBbGwoIlxcXFwiLCJcXCIpLnJlcGxhY2VBbGwoIlxcLyIsIi8iKS5yZXBsYWNlQWxsKCJcXCIsIi8iKSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJmaWxlbmFtZSIsZXx8InVubmFtZWQiKX1nZXQgY29udGVudCgpe2lmKCF0aGlzLiNVKXJldHVybiBudWxsO3RoaXMuX2NvbnRlbnRSZWZ8fD1waWNrUGxhdGZvcm1JdGVtKHRoaXMucm9vdD8uZ2V0KCJFRiIpKTtsZXQgZT1udWxsO2lmKHRoaXMuX2NvbnRlbnRSZWYpe2NvbnN0IHQ9dGhpcy54cmVmLmZldGNoSWZSZWYodGhpcy5fY29udGVudFJlZik7dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/ZT10LmdldEJ5dGVzKCk6d2FybigiRW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9uIHBvaW50cyB0byBub24tZXhpc3RpbmcvaW52YWxpZCBjb250ZW50Iil9ZWxzZSB3YXJuKCJFbWJlZGRlZCBmaWxlIHNwZWNpZmljYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgY29udGVudCIpO3JldHVybiBlfWdldCBkZXNjcmlwdGlvbigpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5yb290Py5nZXQoIkRlc2MiKTt0JiYic3RyaW5nIj09dHlwZW9mIHQmJihlPXN0cmluZ1RvUERGU3RyaW5nKHQpKTtyZXR1cm4gc2hhZG93KHRoaXMsImRlc2NyaXB0aW9uIixlKX1nZXQgc2VyaWFsaXphYmxlKCl7cmV0dXJue3Jhd0ZpbGVuYW1lOnRoaXMuZmlsZW5hbWUsZmlsZW5hbWU6KGU9dGhpcy5maWxlbmFtZSxlLnN1YnN0cmluZyhlLmxhc3RJbmRleE9mKCIvIikrMSkpLGNvbnRlbnQ6dGhpcy5jb250ZW50LGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb259O3ZhciBlfX1jb25zdCB4cz0wLFVzPS0yLE1zPS0zLExzPS00LEhzPS01LEpzPS02LFlzPS05O2Z1bmN0aW9uIGlzV2hpdGVzcGFjZShlLHQpe2NvbnN0IGk9ZVt0XTtyZXR1cm4iICI9PT1pfHwiXG4iPT09aXx8IlxyIj09PWl8fCJcdCI9PT1pfWNsYXNzIFhNTFBhcnNlckJhc2V7X3Jlc29sdmVFbnRpdGllcyhlKXtyZXR1cm4gZS5yZXBsYWNlQWxsKC8mKFteO10rKTsvZywoKGUsdCk9PntpZigiI3giPT09dC5zdWJzdHJpbmcoMCwyKSlyZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQocGFyc2VJbnQodC5zdWJzdHJpbmcoMiksMTYpKTtpZigiIyI9PT10LnN1YnN0cmluZygwLDEpKXJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChwYXJzZUludCh0LnN1YnN0cmluZygxKSwxMCkpO3N3aXRjaCh0KXtjYXNlImx0IjpyZXR1cm4iPCI7Y2FzZSJndCI6cmV0dXJuIj4iO2Nhc2UiYW1wIjpyZXR1cm4iJiI7Y2FzZSJxdW90IjpyZXR1cm4nIic7Y2FzZSJhcG9zIjpyZXR1cm4iJyJ9cmV0dXJuIHRoaXMub25SZXNvbHZlRW50aXR5KHQpfSkpfV9wYXJzZUNvbnRlbnQoZSx0KXtjb25zdCBpPVtdO2xldCBhPXQ7ZnVuY3Rpb24gc2tpcFdzKCl7Zm9yKDthPGUubGVuZ3RoJiZpc1doaXRlc3BhY2UoZSxhKTspKythfWZvcig7YTxlLmxlbmd0aCYmIWlzV2hpdGVzcGFjZShlLGEpJiYiPiIhPT1lW2FdJiYiLyIhPT1lW2FdOykrK2E7Y29uc3Qgcz1lLnN1YnN0cmluZyh0LGEpO3NraXBXcygpO2Zvcig7YTxlLmxlbmd0aCYmIj4iIT09ZVthXSYmIi8iIT09ZVthXSYmIj8iIT09ZVthXTspe3NraXBXcygpO2xldCB0PSIiLHM9IiI7Zm9yKDthPGUubGVuZ3RoJiYhaXNXaGl0ZXNwYWNlKGUsYSkmJiI9IiE9PWVbYV07KXt0Kz1lW2FdOysrYX1za2lwV3MoKTtpZigiPSIhPT1lW2FdKXJldHVybiBudWxsOysrYTtza2lwV3MoKTtjb25zdCByPWVbYV07aWYoJyInIT09ciYmIiciIT09cilyZXR1cm4gbnVsbDtjb25zdCBuPWUuaW5kZXhPZihyLCsrYSk7aWYobjwwKXJldHVybiBudWxsO3M9ZS5zdWJzdHJpbmcoYSxuKTtpLnB1c2goe25hbWU6dCx2YWx1ZTp0aGlzLl9yZXNvbHZlRW50aXRpZXMocyl9KTthPW4rMTtza2lwV3MoKX1yZXR1cm57bmFtZTpzLGF0dHJpYnV0ZXM6aSxwYXJzZWQ6YS10fX1fcGFyc2VQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oZSx0KXtsZXQgaT10O2Zvcig7aTxlLmxlbmd0aCYmIWlzV2hpdGVzcGFjZShlLGkpJiYiPiIhPT1lW2ldJiYiPyIhPT1lW2ldJiYiLyIhPT1lW2ldOykrK2k7Y29uc3QgYT1lLnN1YnN0cmluZyh0LGkpOyFmdW5jdGlvbiBza2lwV3MoKXtmb3IoO2k8ZS5sZW5ndGgmJmlzV2hpdGVzcGFjZShlLGkpOykrK2l9KCk7Y29uc3Qgcz1pO2Zvcig7aTxlLmxlbmd0aCYmKCI/IiE9PWVbaV18fCI+IiE9PWVbaSsxXSk7KSsraTtyZXR1cm57bmFtZTphLHZhbHVlOmUuc3Vic3RyaW5nKHMsaSkscGFyc2VkOmktdH19cGFyc2VYbWwoZSl7bGV0IHQ9MDtmb3IoO3Q8ZS5sZW5ndGg7KXtsZXQgaT10O2lmKCI8Ij09PWVbdF0peysraTtsZXQgdDtzd2l0Y2goZVtpXSl7Y2FzZSIvIjorK2k7dD1lLmluZGV4T2YoIj4iLGkpO2lmKHQ8MCl7dGhpcy5vbkVycm9yKFlzKTtyZXR1cm59dGhpcy5vbkVuZEVsZW1lbnQoZS5zdWJzdHJpbmcoaSx0KSk7aT10KzE7YnJlYWs7Y2FzZSI/IjorK2k7Y29uc3QgYT10aGlzLl9wYXJzZVByb2Nlc3NpbmdJbnN0cnVjdGlvbihlLGkpO2lmKCI/PiIhPT1lLnN1YnN0cmluZyhpK2EucGFyc2VkLGkrYS5wYXJzZWQrMikpe3RoaXMub25FcnJvcihNcyk7cmV0dXJufXRoaXMub25QaShhLm5hbWUsYS52YWx1ZSk7aSs9YS5wYXJzZWQrMjticmVhaztjYXNlIiEiOmlmKCItLSI9PT1lLnN1YnN0cmluZyhpKzEsaSszKSl7dD1lLmluZGV4T2YoIi0tXHgzZSIsaSszKTtpZih0PDApe3RoaXMub25FcnJvcihIcyk7cmV0dXJufXRoaXMub25Db21tZW50KGUuc3Vic3RyaW5nKGkrMyx0KSk7aT10KzN9ZWxzZSBpZigiW0NEQVRBWyI9PT1lLnN1YnN0cmluZyhpKzEsaSs4KSl7dD1lLmluZGV4T2YoIl1dPiIsaSs4KTtpZih0PDApe3RoaXMub25FcnJvcihVcyk7cmV0dXJufXRoaXMub25DZGF0YShlLnN1YnN0cmluZyhpKzgsdCkpO2k9dCszfWVsc2V7aWYoIkRPQ1RZUEUiIT09ZS5zdWJzdHJpbmcoaSsxLGkrOCkpe3RoaXMub25FcnJvcihKcyk7cmV0dXJufXtjb25zdCBhPWUuaW5kZXhPZigiWyIsaSs4KTtsZXQgcz0hMTt0PWUuaW5kZXhPZigiPiIsaSs4KTtpZih0PDApe3RoaXMub25FcnJvcihMcyk7cmV0dXJufWlmKGE+MCYmdD5hKXt0PWUuaW5kZXhPZigiXT4iLGkrOCk7aWYodDwwKXt0aGlzLm9uRXJyb3IoTHMpO3JldHVybn1zPSEwfWNvbnN0IHI9ZS5zdWJzdHJpbmcoaSs4LHQrKHM/MTowKSk7dGhpcy5vbkRvY3R5cGUocik7aT10KyhzPzI6MSl9fWJyZWFrO2RlZmF1bHQ6Y29uc3Qgcz10aGlzLl9wYXJzZUNvbnRlbnQoZSxpKTtpZihudWxsPT09cyl7dGhpcy5vbkVycm9yKEpzKTtyZXR1cm59bGV0IHI9ITE7aWYoIi8+Ij09PWUuc3Vic3RyaW5nKGkrcy5wYXJzZWQsaStzLnBhcnNlZCsyKSlyPSEwO2Vsc2UgaWYoIj4iIT09ZS5zdWJzdHJpbmcoaStzLnBhcnNlZCxpK3MucGFyc2VkKzEpKXt0aGlzLm9uRXJyb3IoWXMpO3JldHVybn10aGlzLm9uQmVnaW5FbGVtZW50KHMubmFtZSxzLmF0dHJpYnV0ZXMscik7aSs9cy5wYXJzZWQrKHI/MjoxKX19ZWxzZXtmb3IoO2k8ZS5sZW5ndGgmJiI8IiE9PWVbaV07KWkrKztjb25zdCBhPWUuc3Vic3RyaW5nKHQsaSk7dGhpcy5vblRleHQodGhpcy5fcmVzb2x2ZUVudGl0aWVzKGEpKX10PWl9fW9uUmVzb2x2ZUVudGl0eShlKXtyZXR1cm5gJiR7ZX07YH1vblBpKGUsdCl7fW9uQ29tbWVudChlKXt9b25DZGF0YShlKXt9b25Eb2N0eXBlKGUpe31vblRleHQoZSl7fW9uQmVnaW5FbGVtZW50KGUsdCxpKXt9b25FbmRFbGVtZW50KGUpe31vbkVycm9yKGUpe319Y2xhc3MgU2ltcGxlRE9NTm9kZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMubm9kZU5hbWU9ZTt0aGlzLm5vZGVWYWx1ZT10O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJwYXJlbnROb2RlIix7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pfWdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlcz8uWzBdfWdldCBuZXh0U2libGluZygpe2NvbnN0IGU9dGhpcy5wYXJlbnROb2RlLmNoaWxkTm9kZXM7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9ZS5pbmRleE9mKHRoaXMpO3JldHVybi0xIT09dD9lW3QrMV06dm9pZCAwfWdldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLmNoaWxkTm9kZXM/dGhpcy5jaGlsZE5vZGVzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGV4dENvbnRlbnR9KSkuam9pbigiIik6dGhpcy5ub2RlVmFsdWV8fCIifWdldCBjaGlsZHJlbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZXN8fFtdfWhhc0NoaWxkTm9kZXMoKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVzPy5sZW5ndGg+MH1zZWFyY2hOb2RlKGUsdCl7aWYodD49ZS5sZW5ndGgpcmV0dXJuIHRoaXM7Y29uc3QgaT1lW3RdO2lmKGkubmFtZS5zdGFydHNXaXRoKCIjIikmJnQ8ZS5sZW5ndGgtMSlyZXR1cm4gdGhpcy5zZWFyY2hOb2RlKGUsdCsxKTtjb25zdCBhPVtdO2xldCBzPXRoaXM7Zm9yKDs7KXtpZihpLm5hbWU9PT1zLm5vZGVOYW1lKXtpZigwIT09aS5wb3Mpe2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gbnVsbDt7Y29uc3Rbcl09YS5wb3AoKTtsZXQgbj0wO2Zvcihjb25zdCBhIG9mIHIuY2hpbGROb2RlcylpZihpLm5hbWU9PT1hLm5vZGVOYW1lKXtpZihuPT09aS5wb3MpcmV0dXJuIGEuc2VhcmNoTm9kZShlLHQrMSk7bisrfXJldHVybiBzLnNlYXJjaE5vZGUoZSx0KzEpfX17Y29uc3QgaT1zLnNlYXJjaE5vZGUoZSx0KzEpO2lmKG51bGwhPT1pKXJldHVybiBpfX1pZihzLmNoaWxkTm9kZXM/Lmxlbmd0aD4wKXthLnB1c2goW3MsMF0pO3M9cy5jaGlsZE5vZGVzWzBdfWVsc2V7aWYoMD09PWEubGVuZ3RoKXJldHVybiBudWxsO2Zvcig7MCE9PWEubGVuZ3RoOyl7Y29uc3RbZSx0XT1hLnBvcCgpLGk9dCsxO2lmKGk8ZS5jaGlsZE5vZGVzLmxlbmd0aCl7YS5wdXNoKFtlLGldKTtzPWUuY2hpbGROb2Rlc1tpXTticmVha319aWYoMD09PWEubGVuZ3RoKXJldHVybiBudWxsfX19ZHVtcChlKXtpZigiI3RleHQiIT09dGhpcy5ub2RlTmFtZSl7ZS5wdXNoKGA8JHt0aGlzLm5vZGVOYW1lfWApO2lmKHRoaXMuYXR0cmlidXRlcylmb3IoY29uc3QgdCBvZiB0aGlzLmF0dHJpYnV0ZXMpZS5wdXNoKGAgJHt0Lm5hbWV9PSIke2VuY29kZVRvWG1sU3RyaW5nKHQudmFsdWUpfSJgKTtpZih0aGlzLmhhc0NoaWxkTm9kZXMoKSl7ZS5wdXNoKCI+Iik7Zm9yKGNvbnN0IHQgb2YgdGhpcy5jaGlsZE5vZGVzKXQuZHVtcChlKTtlLnB1c2goYDwvJHt0aGlzLm5vZGVOYW1lfT5gKX1lbHNlIHRoaXMubm9kZVZhbHVlP2UucHVzaChgPiR7ZW5jb2RlVG9YbWxTdHJpbmcodGhpcy5ub2RlVmFsdWUpfTwvJHt0aGlzLm5vZGVOYW1lfT5gKTplLnB1c2goIi8+Iil9ZWxzZSBlLnB1c2goZW5jb2RlVG9YbWxTdHJpbmcodGhpcy5ub2RlVmFsdWUpKX19Y2xhc3MgU2ltcGxlWE1MUGFyc2VyIGV4dGVuZHMgWE1MUGFyc2VyQmFzZXtjb25zdHJ1Y3Rvcih7aGFzQXR0cmlidXRlczplPSExLGxvd2VyQ2FzZU5hbWU6dD0hMX0pe3N1cGVyKCk7dGhpcy5fY3VycmVudEZyYWdtZW50PW51bGw7dGhpcy5fc3RhY2s9bnVsbDt0aGlzLl9lcnJvckNvZGU9eHM7dGhpcy5faGFzQXR0cmlidXRlcz1lO3RoaXMuX2xvd2VyQ2FzZU5hbWU9dH1wYXJzZUZyb21TdHJpbmcoZSl7dGhpcy5fY3VycmVudEZyYWdtZW50PVtdO3RoaXMuX3N0YWNrPVtdO3RoaXMuX2Vycm9yQ29kZT14czt0aGlzLnBhcnNlWG1sKGUpO2lmKHRoaXMuX2Vycm9yQ29kZSE9PXhzKXJldHVybjtjb25zdFt0XT10aGlzLl9jdXJyZW50RnJhZ21lbnQ7cmV0dXJuIHQ/e2RvY3VtZW50RWxlbWVudDp0fTp2b2lkIDB9b25UZXh0KGUpe2lmKGZ1bmN0aW9uIGlzV2hpdGVzcGFjZVN0cmluZyhlKXtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0KyspaWYoIWlzV2hpdGVzcGFjZShlLHQpKXJldHVybiExO3JldHVybiEwfShlKSlyZXR1cm47Y29uc3QgdD1uZXcgU2ltcGxlRE9NTm9kZSgiI3RleHQiLGUpO3RoaXMuX2N1cnJlbnRGcmFnbWVudC5wdXNoKHQpfW9uQ2RhdGEoZSl7Y29uc3QgdD1uZXcgU2ltcGxlRE9NTm9kZSgiI3RleHQiLGUpO3RoaXMuX2N1cnJlbnRGcmFnbWVudC5wdXNoKHQpfW9uQmVnaW5FbGVtZW50KGUsdCxpKXt0aGlzLl9sb3dlckNhc2VOYW1lJiYoZT1lLnRvTG93ZXJDYXNlKCkpO2NvbnN0IGE9bmV3IFNpbXBsZURPTU5vZGUoZSk7YS5jaGlsZE5vZGVzPVtdO3RoaXMuX2hhc0F0dHJpYnV0ZXMmJihhLmF0dHJpYnV0ZXM9dCk7dGhpcy5fY3VycmVudEZyYWdtZW50LnB1c2goYSk7aWYoIWkpe3RoaXMuX3N0YWNrLnB1c2godGhpcy5fY3VycmVudEZyYWdtZW50KTt0aGlzLl9jdXJyZW50RnJhZ21lbnQ9YS5jaGlsZE5vZGVzfX1vbkVuZEVsZW1lbnQoZSl7dGhpcy5fY3VycmVudEZyYWdtZW50PXRoaXMuX3N0YWNrLnBvcCgpfHxbXTtjb25zdCB0PXRoaXMuX2N1cnJlbnRGcmFnbWVudC5hdCgtMSk7aWYoIXQpcmV0dXJuIG51bGw7Zm9yKGNvbnN0IGUgb2YgdC5jaGlsZE5vZGVzKWUucGFyZW50Tm9kZT10O3JldHVybiB0fW9uRXJyb3IoZSl7dGhpcy5fZXJyb3JDb2RlPWV9fWNsYXNzIE1ldGFkYXRhUGFyc2Vye2NvbnN0cnVjdG9yKGUpe2U9dGhpcy5fcmVwYWlyKGUpO2NvbnN0IHQ9bmV3IFNpbXBsZVhNTFBhcnNlcih7bG93ZXJDYXNlTmFtZTohMH0pLnBhcnNlRnJvbVN0cmluZyhlKTt0aGlzLl9tZXRhZGF0YU1hcD1uZXcgTWFwO3RoaXMuX2RhdGE9ZTt0JiZ0aGlzLl9wYXJzZSh0KX1fcmVwYWlyKGUpe3JldHVybiBlLnJlcGxhY2UoL15bXjxdKy8sIiIpLnJlcGxhY2VBbGwoLz5cXDM3NlxcMzc3KFtePF0rKS9nLChmdW5jdGlvbihlLHQpe2NvbnN0IGk9dC5yZXBsYWNlQWxsKC9cXChbMC0zXSkoWzAtN10pKFswLTddKS9nLChmdW5jdGlvbihlLHQsaSxhKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg2NCp0KzgqaSsxKmEpfSkpLnJlcGxhY2VBbGwoLyYoYW1wfGFwb3N8Z3R8bHR8cXVvdCk7L2csKGZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQpe2Nhc2UiYW1wIjpyZXR1cm4iJiI7Y2FzZSJhcG9zIjpyZXR1cm4iJyI7Y2FzZSJndCI6cmV0dXJuIj4iO2Nhc2UibHQiOnJldHVybiI8IjtjYXNlInF1b3QiOnJldHVybiciJ310aHJvdyBuZXcgRXJyb3IoYF9yZXBhaXI6ICR7dH0gaXNuJ3QgZGVmaW5lZC5gKX0pKSxhPVsiPiJdO2ZvcihsZXQgZT0wLHQ9aS5sZW5ndGg7ZTx0O2UrPTIpe2NvbnN0IHQ9MjU2KmkuY2hhckNvZGVBdChlKStpLmNoYXJDb2RlQXQoZSsxKTt0Pj0zMiYmdDwxMjcmJjYwIT09dCYmNjIhPT10JiYzOCE9PXQ/YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUodCkpOmEucHVzaCgiJiN4IisoNjU1MzYrdCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKSsiOyIpfXJldHVybiBhLmpvaW4oIiIpfSkpfV9nZXRTZXF1ZW5jZShlKXtjb25zdCB0PWUubm9kZU5hbWU7cmV0dXJuInJkZjpiYWciIT09dCYmInJkZjpzZXEiIT09dCYmInJkZjphbHQiIT09dD9udWxsOmUuY2hpbGROb2Rlcy5maWx0ZXIoKGU9PiJyZGY6bGkiPT09ZS5ub2RlTmFtZSkpfV9wYXJzZUFycmF5KGUpe2lmKCFlLmhhc0NoaWxkTm9kZXMoKSlyZXR1cm47Y29uc3RbdF09ZS5jaGlsZE5vZGVzLGk9dGhpcy5fZ2V0U2VxdWVuY2UodCl8fFtdO3RoaXMuX21ldGFkYXRhTWFwLnNldChlLm5vZGVOYW1lLGkubWFwKChlPT5lLnRleHRDb250ZW50LnRyaW0oKSkpKX1fcGFyc2UoZSl7bGV0IHQ9ZS5kb2N1bWVudEVsZW1lbnQ7aWYoInJkZjpyZGYiIT09dC5ub2RlTmFtZSl7dD10LmZpcnN0Q2hpbGQ7Zm9yKDt0JiYicmRmOnJkZiIhPT10Lm5vZGVOYW1lOyl0PXQubmV4dFNpYmxpbmd9aWYodCYmInJkZjpyZGYiPT09dC5ub2RlTmFtZSYmdC5oYXNDaGlsZE5vZGVzKCkpZm9yKGNvbnN0IGUgb2YgdC5jaGlsZE5vZGVzKWlmKCJyZGY6ZGVzY3JpcHRpb24iPT09ZS5ub2RlTmFtZSlmb3IoY29uc3QgdCBvZiBlLmNoaWxkTm9kZXMpe2NvbnN0IGU9dC5ub2RlTmFtZTtzd2l0Y2goZSl7Y2FzZSIjdGV4dCI6Y29udGludWU7Y2FzZSJkYzpjcmVhdG9yIjpjYXNlImRjOnN1YmplY3QiOnRoaXMuX3BhcnNlQXJyYXkodCk7Y29udGludWV9dGhpcy5fbWV0YWRhdGFNYXAuc2V0KGUsdC50ZXh0Q29udGVudC50cmltKCkpfX1nZXQgc2VyaWFsaXphYmxlKCl7cmV0dXJue3BhcnNlZERhdGE6dGhpcy5fbWV0YWRhdGFNYXAscmF3RGF0YTp0aGlzLl9kYXRhfX19Y29uc3QgdnM9MSxUcz0yLEtzPTMscXM9NCxPcz01O2NsYXNzIFN0cnVjdFRyZWVSb290e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5kaWN0PWU7dGhpcy5yZWY9dCBpbnN0YW5jZW9mIFJlZj90Om51bGw7dGhpcy5yb2xlTWFwPW5ldyBNYXA7dGhpcy5zdHJ1Y3RQYXJlbnRJZHM9bnVsbH1pbml0KCl7dGhpcy5yZWFkUm9sZU1hcCgpfSNNKGUsdCxpKXtpZighKGUgaW5zdGFuY2VvZiBSZWYpfHx0PDApcmV0dXJuO3RoaXMuc3RydWN0UGFyZW50SWRzfHw9bmV3IFJlZlNldENhY2hlO2xldCBhPXRoaXMuc3RydWN0UGFyZW50SWRzLmdldChlKTtpZighYSl7YT1bXTt0aGlzLnN0cnVjdFBhcmVudElkcy5wdXQoZSxhKX1hLnB1c2goW3QsaV0pfWFkZEFubm90YXRpb25JZFRvUGFnZShlLHQpe3RoaXMuI00oZSx0LHFzKX1yZWFkUm9sZU1hcCgpe2NvbnN0IGU9dGhpcy5kaWN0LmdldCgiUm9sZU1hcCIpO2lmKGUgaW5zdGFuY2VvZiBEaWN0KWZvcihjb25zdFt0LGldb2YgZSlpIGluc3RhbmNlb2YgTmFtZSYmdGhpcy5yb2xlTWFwLnNldCh0LGkubmFtZSl9c3RhdGljIGFzeW5jIGNhbkNyZWF0ZVN0cnVjdHVyZVRyZWUoe2NhdGFsb2dSZWY6ZSxwZGZNYW5hZ2VyOnQsbmV3QW5ub3RhdGlvbnNCeVBhZ2U6aX0pe2lmKCEoZSBpbnN0YW5jZW9mIFJlZikpe3dhcm4oIkNhbm5vdCBzYXZlIHRoZSBzdHJ1Y3QgdHJlZTogbm8gY2F0YWxvZyByZWZlcmVuY2UuIik7cmV0dXJuITF9bGV0IGE9MCxzPSEwO2Zvcihjb25zdFtlLHJdb2YgaSl7Y29uc3R7cmVmOml9PWF3YWl0IHQuZ2V0UGFnZShlKTtpZighKGkgaW5zdGFuY2VvZiBSZWYpKXt3YXJuKGBDYW5ub3Qgc2F2ZSB0aGUgc3RydWN0IHRyZWU6IHBhZ2UgJHtlfSBoYXMgbm8gcmVmLmApO3M9ITA7YnJlYWt9Zm9yKGNvbnN0IGUgb2YgcilpZihlLmFjY2Vzc2liaWxpdHlEYXRhPy50eXBlKXtlLnBhcmVudFRyZWVJZD1hKys7cz0hMX19aWYocyl7Zm9yKGNvbnN0IGUgb2YgaS52YWx1ZXMoKSlmb3IoY29uc3QgdCBvZiBlKWRlbGV0ZSB0LnBhcmVudFRyZWVJZDtyZXR1cm4hMX1yZXR1cm4hMH1zdGF0aWMgYXN5bmMgY3JlYXRlU3RydWN0dXJlVHJlZSh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSx4cmVmOnQsY2F0YWxvZ1JlZjppLHBkZk1hbmFnZXI6YSxjaGFuZ2VzOnN9KXtjb25zdCByPWEuY2F0YWxvZy5jbG9uZURpY3QoKSxuPW5ldyBSZWZTZXRDYWNoZTtuLnB1dChpLHIpO2NvbnN0IGc9dC5nZXROZXdUZW1wb3JhcnlSZWYoKTtyLnNldCgiU3RydWN0VHJlZVJvb3QiLGcpO2NvbnN0IG89bmV3IERpY3QodCk7by5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJTdHJ1Y3RUcmVlUm9vdCIpKTtjb25zdCBjPXQuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7by5zZXQoIlBhcmVudFRyZWUiLGMpO2NvbnN0IEM9W107by5zZXQoIksiLEMpO24ucHV0KGcsbyk7Y29uc3QgaD1uZXcgRGljdCh0KSxsPVtdO2guc2V0KCJOdW1zIixsKTtjb25zdCBRPWF3YWl0IHRoaXMuI0woe25ld0Fubm90YXRpb25zQnlQYWdlOmUsc3RydWN0VHJlZVJvb3RSZWY6ZyxzdHJ1Y3RUcmVlUm9vdDpudWxsLGtpZHM6QyxudW1zOmwseHJlZjp0LHBkZk1hbmFnZXI6YSxjaGFuZ2VzOnMsY2FjaGU6bn0pO28uc2V0KCJQYXJlbnRUcmVlTmV4dEtleSIsUSk7bi5wdXQoYyxoKTtmb3IoY29uc3RbZSx0XW9mIG4uaXRlbXMoKSlzLnB1dChlLHtkYXRhOnR9KX1hc3luYyBjYW5VcGRhdGVTdHJ1Y3RUcmVlKHtwZGZNYW5hZ2VyOmUseHJlZjp0LG5ld0Fubm90YXRpb25zQnlQYWdlOml9KXtpZighdGhpcy5yZWYpe3dhcm4oIkNhbm5vdCB1cGRhdGUgdGhlIHN0cnVjdCB0cmVlOiBubyByb290IHJlZmVyZW5jZS4iKTtyZXR1cm4hMX1sZXQgYT10aGlzLmRpY3QuZ2V0KCJQYXJlbnRUcmVlTmV4dEtleSIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGEpfHxhPDApe3dhcm4oIkNhbm5vdCB1cGRhdGUgdGhlIHN0cnVjdCB0cmVlOiBpbnZhbGlkIG5leHQga2V5LiIpO3JldHVybiExfWNvbnN0IHM9dGhpcy5kaWN0LmdldCgiUGFyZW50VHJlZSIpO2lmKCEocyBpbnN0YW5jZW9mIERpY3QpKXt3YXJuKCJDYW5ub3QgdXBkYXRlIHRoZSBzdHJ1Y3QgdHJlZTogUGFyZW50VHJlZSBpc24ndCBhIGRpY3QuIik7cmV0dXJuITF9Y29uc3Qgcj1zLmdldCgiTnVtcyIpO2lmKCFBcnJheS5pc0FycmF5KHIpKXt3YXJuKCJDYW5ub3QgdXBkYXRlIHRoZSBzdHJ1Y3QgdHJlZTogbnVtcyBpc24ndCBhbiBhcnJheS4iKTtyZXR1cm4hMX1jb25zdCBuPW5ldyBOdW1iZXJUcmVlKHMsdCk7Zm9yKGNvbnN0IHQgb2YgaS5rZXlzKCkpe2NvbnN0e3BhZ2VEaWN0Oml9PWF3YWl0IGUuZ2V0UGFnZSh0KTtpZighaS5oYXMoIlN0cnVjdFBhcmVudHMiKSljb250aW51ZTtjb25zdCBhPWkuZ2V0KCJTdHJ1Y3RQYXJlbnRzIik7aWYoIU51bWJlci5pc0ludGVnZXIoYSl8fCFBcnJheS5pc0FycmF5KG4uZ2V0KGEpKSl7d2FybihgQ2Fubm90IHNhdmUgdGhlIHN0cnVjdCB0cmVlOiBwYWdlICR7dH0gaGFzIGEgd3JvbmcgaWQuYCk7cmV0dXJuITF9fWxldCBnPSEwO2Zvcihjb25zdFt0LHNdb2YgaSl7Y29uc3R7cGFnZURpY3Q6aX09YXdhaXQgZS5nZXRQYWdlKHQpO1N0cnVjdFRyZWVSb290LiNIKHtlbGVtZW50czpzLHhyZWY6dGhpcy5kaWN0LnhyZWYscGFnZURpY3Q6aSxudW1iZXJUcmVlOm59KTtmb3IoY29uc3QgZSBvZiBzKWlmKGUuYWNjZXNzaWJpbGl0eURhdGE/LnR5cGUpe2UuYWNjZXNzaWJpbGl0eURhdGEuc3RydWN0UGFyZW50Pj0wfHwoZS5wYXJlbnRUcmVlSWQ9YSsrKTtnPSExfX1pZihnKXtmb3IoY29uc3QgZSBvZiBpLnZhbHVlcygpKWZvcihjb25zdCB0IG9mIGUpe2RlbGV0ZSB0LnBhcmVudFRyZWVJZDtkZWxldGUgdC5zdHJ1Y3RUcmVlUGFyZW50fXJldHVybiExfXJldHVybiEwfWFzeW5jIHVwZGF0ZVN0cnVjdHVyZVRyZWUoe25ld0Fubm90YXRpb25zQnlQYWdlOmUscGRmTWFuYWdlcjp0LGNoYW5nZXM6aX0pe2NvbnN0IGE9dGhpcy5kaWN0LnhyZWYscz10aGlzLmRpY3QuY2xvbmUoKSxyPXRoaXMucmVmLG49bmV3IFJlZlNldENhY2hlO24ucHV0KHIscyk7bGV0IGcsbz1zLmdldFJhdygiUGFyZW50VHJlZSIpO2lmKG8gaW5zdGFuY2VvZiBSZWYpZz1hLmZldGNoKG8pO2Vsc2V7Zz1vO289YS5nZXROZXdUZW1wb3JhcnlSZWYoKTtzLnNldCgiUGFyZW50VHJlZSIsbyl9Zz1nLmNsb25lKCk7bi5wdXQobyxnKTtsZXQgYz1nLmdldFJhdygiTnVtcyIpLEM9bnVsbDtpZihjIGluc3RhbmNlb2YgUmVmKXtDPWM7Yz1hLmZldGNoKEMpfWM9Yy5zbGljZSgpO0N8fGcuc2V0KCJOdW1zIixjKTtjb25zdCBoPWF3YWl0IFN0cnVjdFRyZWVSb290LiNMKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTplLHN0cnVjdFRyZWVSb290UmVmOnIsc3RydWN0VHJlZVJvb3Q6dGhpcyxraWRzOm51bGwsbnVtczpjLHhyZWY6YSxwZGZNYW5hZ2VyOnQsY2hhbmdlczppLGNhY2hlOm59KTtpZigtMSE9PWgpe3Muc2V0KCJQYXJlbnRUcmVlTmV4dEtleSIsaCk7QyYmbi5wdXQoQyxjKTtmb3IoY29uc3RbZSx0XW9mIG4uaXRlbXMoKSlpLnB1dChlLHtkYXRhOnR9KX19c3RhdGljIGFzeW5jI0woe25ld0Fubm90YXRpb25zQnlQYWdlOmUsc3RydWN0VHJlZVJvb3RSZWY6dCxzdHJ1Y3RUcmVlUm9vdDppLGtpZHM6YSxudW1zOnMseHJlZjpyLHBkZk1hbmFnZXI6bixjaGFuZ2VzOmcsY2FjaGU6b30pe2NvbnN0IGM9TmFtZS5nZXQoIk9CSlIiKTtsZXQgQyxoPS0xO2Zvcihjb25zdFtsLFFdb2YgZSl7Y29uc3QgZT1hd2FpdCBuLmdldFBhZ2UobCkse3JlZjpFfT1lLHU9RSBpbnN0YW5jZW9mIFJlZjtmb3IoY29uc3R7YWNjZXNzaWJpbGl0eURhdGE6bixyZWY6ZCxwYXJlbnRUcmVlSWQ6ZixzdHJ1Y3RUcmVlUGFyZW50OnB9b2YgUSl7aWYoIW4/LnR5cGUpY29udGludWU7Y29uc3R7c3RydWN0UGFyZW50OlF9PW47aWYoaSYmTnVtYmVyLmlzSW50ZWdlcihRKSYmUT49MCl7bGV0IHQ9KEN8fD1uZXcgTWFwKS5nZXQobCk7aWYodm9pZCAwPT09dCl7dD1uZXcgU3RydWN0VHJlZVBhZ2UoaSxlLnBhZ2VEaWN0KS5jb2xsZWN0T2JqZWN0cyhFKTtDLnNldChsLHQpfWNvbnN0IGE9dD8uZ2V0KFEpO2lmKGEpe2NvbnN0IGU9ci5mZXRjaChhKS5jbG9uZSgpO1N0cnVjdFRyZWVSb290LiNKKGUsbik7Zy5wdXQoYSx7ZGF0YTplfSk7Y29udGludWV9fWg9TWF0aC5tYXgoaCxmKTtjb25zdCBtPXIuZ2V0TmV3VGVtcG9yYXJ5UmVmKCkseT1uZXcgRGljdChyKTtTdHJ1Y3RUcmVlUm9vdC4jSih5LG4pO2F3YWl0IHRoaXMuI1koe3N0cnVjdFRyZWVQYXJlbnQ6cCx0YWdEaWN0OnksbmV3VGFnUmVmOm0sc3RydWN0VHJlZVJvb3RSZWY6dCxmYWxsYmFja0tpZHM6YSx4cmVmOnIsY2FjaGU6b30pO2NvbnN0IHc9bmV3IERpY3Qocik7eS5zZXQoIksiLHcpO3cuc2V0KCJUeXBlIixjKTt1JiZ3LnNldCgiUGciLEUpO3cuc2V0KCJPYmoiLGQpO28ucHV0KG0seSk7cy5wdXNoKGYsbSl9fXJldHVybiBoKzF9c3RhdGljI0ooZSx7dHlwZTp0LHRpdGxlOmksbGFuZzphLGFsdDpzLGV4cGFuZGVkOnIsYWN0dWFsVGV4dDpufSl7ZS5zZXQoIlMiLE5hbWUuZ2V0KHQpKTtpJiZlLnNldCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShpKSk7YSYmZS5zZXQoIkxhbmciLHN0cmluZ1RvQXNjaWlPclVURjE2QkUoYSkpO3MmJmUuc2V0KCJBbHQiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUocykpO3ImJmUuc2V0KCJFIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKHIpKTtuJiZlLnNldCgiQWN0dWFsVGV4dCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShuKSl9c3RhdGljI0goe2VsZW1lbnRzOmUseHJlZjp0LHBhZ2VEaWN0OmksbnVtYmVyVHJlZTphfSl7Y29uc3Qgcz1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIGUpaWYodC5zdHJ1Y3RUcmVlUGFyZW50SWQpe2NvbnN0IGU9cGFyc2VJbnQodC5zdHJ1Y3RUcmVlUGFyZW50SWQuc3BsaXQoIl9tYyIpWzFdLDEwKTtsZXQgaT1zLmdldChlKTtpZighaSl7aT1bXTtzLnNldChlLGkpfWkucHVzaCh0KX1jb25zdCByPWkuZ2V0KCJTdHJ1Y3RQYXJlbnRzIik7aWYoIU51bWJlci5pc0ludGVnZXIocikpcmV0dXJuO2NvbnN0IG49YS5nZXQociksdXBkYXRlRWxlbWVudD0oZSxpLGEpPT57Y29uc3Qgcj1zLmdldChlKTtpZihyKXtjb25zdCBlPWkuZ2V0UmF3KCJQIikscz10LmZldGNoSWZSZWYoZSk7aWYoZSBpbnN0YW5jZW9mIFJlZiYmcyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9e3JlZjphLGRpY3Q6aX07Zm9yKGNvbnN0IHQgb2Ygcil0LnN0cnVjdFRyZWVQYXJlbnQ9ZX1yZXR1cm4hMH1yZXR1cm4hMX07Zm9yKGNvbnN0IGUgb2Ygbil7aWYoIShlIGluc3RhbmNlb2YgUmVmKSljb250aW51ZTtjb25zdCBpPXQuZmV0Y2goZSksYT1pLmdldCgiSyIpO2lmKE51bWJlci5pc0ludGVnZXIoYSkpdXBkYXRlRWxlbWVudChhLGksZSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKWZvcihsZXQgcyBvZiBhKXtzPXQuZmV0Y2hJZlJlZihzKTtpZihOdW1iZXIuaXNJbnRlZ2VyKHMpJiZ1cGRhdGVFbGVtZW50KHMsaSxlKSlicmVhaztpZighKHMgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtpZighaXNOYW1lKHMuZ2V0KCJUeXBlIiksIk1DUiIpKWJyZWFrO2NvbnN0IGE9cy5nZXQoIk1DSUQiKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGEpJiZ1cGRhdGVFbGVtZW50KGEsaSxlKSlicmVha319fXN0YXRpYyBhc3luYyNZKHtzdHJ1Y3RUcmVlUGFyZW50OmUsdGFnRGljdDp0LG5ld1RhZ1JlZjppLHN0cnVjdFRyZWVSb290UmVmOmEsZmFsbGJhY2tLaWRzOnMseHJlZjpyLGNhY2hlOm59KXtsZXQgZyxvPW51bGw7aWYoZSl7KHtyZWY6b309ZSk7Zz1lLmRpY3QuZ2V0UmF3KCJQIil8fGF9ZWxzZSBnPWE7dC5zZXQoIlAiLGcpO2NvbnN0IGM9ci5mZXRjaElmUmVmKGcpO2lmKCFjKXtzLnB1c2goaSk7cmV0dXJufWxldCBDPW4uZ2V0KGcpO2lmKCFDKXtDPWMuY2xvbmUoKTtuLnB1dChnLEMpfWNvbnN0IGg9Qy5nZXRSYXcoIksiKTtsZXQgbD1oIGluc3RhbmNlb2YgUmVmP24uZ2V0KGgpOm51bGw7aWYoIWwpe2w9ci5mZXRjaElmUmVmKGgpO2w9QXJyYXkuaXNBcnJheShsKT9sLnNsaWNlKCk6W2hdO2NvbnN0IGU9ci5nZXROZXdUZW1wb3JhcnlSZWYoKTtDLnNldCgiSyIsZSk7bi5wdXQoZSxsKX1jb25zdCBRPWwuaW5kZXhPZihvKTtsLnNwbGljZShRPj0wP1ErMTpsLmxlbmd0aCwwLGkpfX1jbGFzcyBTdHJ1Y3RFbGVtZW50Tm9kZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMudHJlZT1lO3RoaXMuZGljdD10O3RoaXMua2lkcz1bXTt0aGlzLnBhcnNlS2lkcygpfWdldCByb2xlKCl7Y29uc3QgZT10aGlzLmRpY3QuZ2V0KCJTIiksdD1lIGluc3RhbmNlb2YgTmFtZT9lLm5hbWU6IiIse3Jvb3Q6aX09dGhpcy50cmVlO3JldHVybiBpLnJvbGVNYXAuaGFzKHQpP2kucm9sZU1hcC5nZXQodCk6dH1wYXJzZUtpZHMoKXtsZXQgZT1udWxsO2NvbnN0IHQ9dGhpcy5kaWN0LmdldFJhdygiUGciKTt0IGluc3RhbmNlb2YgUmVmJiYoZT10LnRvU3RyaW5nKCkpO2NvbnN0IGk9dGhpcy5kaWN0LmdldCgiSyIpO2lmKEFycmF5LmlzQXJyYXkoaSkpZm9yKGNvbnN0IHQgb2YgaSl7Y29uc3QgaT10aGlzLnBhcnNlS2lkKGUsdCk7aSYmdGhpcy5raWRzLnB1c2goaSl9ZWxzZXtjb25zdCB0PXRoaXMucGFyc2VLaWQoZSxpKTt0JiZ0aGlzLmtpZHMucHVzaCh0KX19cGFyc2VLaWQoZSx0KXtpZihOdW1iZXIuaXNJbnRlZ2VyKHQpKXJldHVybiB0aGlzLnRyZWUucGFnZURpY3Qub2JqSWQhPT1lP251bGw6bmV3IFN0cnVjdEVsZW1lbnQoe3R5cGU6dnMsbWNpZDp0LHBhZ2VPYmpJZDplfSk7bGV0IGk9bnVsbDt0IGluc3RhbmNlb2YgUmVmP2k9dGhpcy5kaWN0LnhyZWYuZmV0Y2godCk6dCBpbnN0YW5jZW9mIERpY3QmJihpPXQpO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IGE9aS5nZXRSYXcoIlBnIik7YSBpbnN0YW5jZW9mIFJlZiYmKGU9YS50b1N0cmluZygpKTtjb25zdCBzPWkuZ2V0KCJUeXBlIilpbnN0YW5jZW9mIE5hbWU/aS5nZXQoIlR5cGUiKS5uYW1lOm51bGw7aWYoIk1DUiI9PT1zKXtpZih0aGlzLnRyZWUucGFnZURpY3Qub2JqSWQhPT1lKXJldHVybiBudWxsO2NvbnN0IHQ9aS5nZXRSYXcoIlN0bSIpO3JldHVybiBuZXcgU3RydWN0RWxlbWVudCh7dHlwZTpUcyxyZWZPYmpJZDp0IGluc3RhbmNlb2YgUmVmP3QudG9TdHJpbmcoKTpudWxsLHBhZ2VPYmpJZDplLG1jaWQ6aS5nZXQoIk1DSUQiKX0pfWlmKCJPQkpSIj09PXMpe2lmKHRoaXMudHJlZS5wYWdlRGljdC5vYmpJZCE9PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1pLmdldFJhdygiT2JqIik7cmV0dXJuIG5ldyBTdHJ1Y3RFbGVtZW50KHt0eXBlOktzLHJlZk9iaklkOnQgaW5zdGFuY2VvZiBSZWY/dC50b1N0cmluZygpOm51bGwscGFnZU9iaklkOmV9KX1yZXR1cm4gbmV3IFN0cnVjdEVsZW1lbnQoe3R5cGU6T3MsZGljdDppfSl9fWNsYXNzIFN0cnVjdEVsZW1lbnR7Y29uc3RydWN0b3Ioe3R5cGU6ZSxkaWN0OnQ9bnVsbCxtY2lkOmk9bnVsbCxwYWdlT2JqSWQ6YT1udWxsLHJlZk9iaklkOnM9bnVsbH0pe3RoaXMudHlwZT1lO3RoaXMuZGljdD10O3RoaXMubWNpZD1pO3RoaXMucGFnZU9iaklkPWE7dGhpcy5yZWZPYmpJZD1zO3RoaXMucGFyZW50Tm9kZT1udWxsfX1jbGFzcyBTdHJ1Y3RUcmVlUGFnZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMucm9vdD1lO3RoaXMucm9vdERpY3Q9ZT9lLmRpY3Q6bnVsbDt0aGlzLnBhZ2VEaWN0PXQ7dGhpcy5ub2Rlcz1bXX1jb2xsZWN0T2JqZWN0cyhlKXtpZighKHRoaXMucm9vdCYmdGhpcy5yb290RGljdCYmZSBpbnN0YW5jZW9mIFJlZikpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLnJvb3REaWN0LmdldCgiUGFyZW50VHJlZSIpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5yb290LnN0cnVjdFBhcmVudElkcz8uZ2V0KGUpO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IGE9bmV3IE1hcCxzPW5ldyBOdW1iZXJUcmVlKHQsdGhpcy5yb290RGljdC54cmVmKTtmb3IoY29uc3RbZV1vZiBpKXtjb25zdCB0PXMuZ2V0UmF3KGUpO3QgaW5zdGFuY2VvZiBSZWYmJmEuc2V0KGUsdCl9cmV0dXJuIGF9cGFyc2UoZSl7aWYoISh0aGlzLnJvb3QmJnRoaXMucm9vdERpY3QmJmUgaW5zdGFuY2VvZiBSZWYpKXJldHVybjtjb25zdCB0PXRoaXMucm9vdERpY3QuZ2V0KCJQYXJlbnRUcmVlIik7aWYoIXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5wYWdlRGljdC5nZXQoIlN0cnVjdFBhcmVudHMiKSxhPXRoaXMucm9vdC5zdHJ1Y3RQYXJlbnRJZHM/LmdldChlKTtpZighTnVtYmVyLmlzSW50ZWdlcihpKSYmIWEpcmV0dXJuO2NvbnN0IHM9bmV3IE1hcCxyPW5ldyBOdW1iZXJUcmVlKHQsdGhpcy5yb290RGljdC54cmVmKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGkpKXtjb25zdCBlPXIuZ2V0KGkpO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGNvbnN0IHQgb2YgZSl0IGluc3RhbmNlb2YgUmVmJiZ0aGlzLmFkZE5vZGUodGhpcy5yb290RGljdC54cmVmLmZldGNoKHQpLHMpfWlmKGEpZm9yKGNvbnN0W2UsdF1vZiBhKXtjb25zdCBpPXIuZ2V0KGUpO2lmKGkpe2NvbnN0IGU9dGhpcy5hZGROb2RlKHRoaXMucm9vdERpY3QueHJlZi5mZXRjaElmUmVmKGkpLHMpOzE9PT1lPy5raWRzPy5sZW5ndGgmJmUua2lkc1swXS50eXBlPT09S3MmJihlLmtpZHNbMF0udHlwZT10KX19fWFkZE5vZGUoZSx0LGk9MCl7aWYoaT40MCl7d2FybigiU3RydWN0VHJlZSBNQVhfREVQVEggcmVhY2hlZC4iKTtyZXR1cm4gbnVsbH1pZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtpZih0LmhhcyhlKSlyZXR1cm4gdC5nZXQoZSk7Y29uc3QgYT1uZXcgU3RydWN0RWxlbWVudE5vZGUodGhpcyxlKTt0LnNldChlLGEpO2NvbnN0IHM9ZS5nZXQoIlAiKTtpZighc3x8aXNOYW1lKHMuZ2V0KCJUeXBlIiksIlN0cnVjdFRyZWVSb290Iikpe3RoaXMuYWRkVG9wTGV2ZWxOb2RlKGUsYSl8fHQuZGVsZXRlKGUpO3JldHVybiBhfWNvbnN0IHI9dGhpcy5hZGROb2RlKHMsdCxpKzEpO2lmKCFyKXJldHVybiBhO2xldCBuPSExO2Zvcihjb25zdCB0IG9mIHIua2lkcylpZih0LnR5cGU9PT1PcyYmdC5kaWN0PT09ZSl7dC5wYXJlbnROb2RlPWE7bj0hMH1ufHx0LmRlbGV0ZShlKTtyZXR1cm4gYX1hZGRUb3BMZXZlbE5vZGUoZSx0KXtjb25zdCBpPXRoaXMucm9vdERpY3QuZ2V0KCJLIik7aWYoIWkpcmV0dXJuITE7aWYoaSBpbnN0YW5jZW9mIERpY3Qpe2lmKGkub2JqSWQhPT1lLm9iaklkKXJldHVybiExO3RoaXMubm9kZXNbMF09dDtyZXR1cm4hMH1pZighQXJyYXkuaXNBcnJheShpKSlyZXR1cm4hMDtsZXQgYT0hMTtmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKyl7Y29uc3Qgcj1pW3NdO2lmKHI/LnRvU3RyaW5nKCk9PT1lLm9iaklkKXt0aGlzLm5vZGVzW3NdPXQ7YT0hMH19cmV0dXJuIGF9Z2V0IHNlcmlhbGl6YWJsZSgpe2Z1bmN0aW9uIG5vZGVUb1NlcmlhbGl6YWJsZShlLHQsaT0wKXtpZihpPjQwKXt3YXJuKCJTdHJ1Y3RUcmVlIHRvbyBkZWVwIHRvIGJlIGZ1bGx5IHNlcmlhbGl6ZWQuIik7cmV0dXJufWNvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTthLnJvbGU9ZS5yb2xlO2EuY2hpbGRyZW49W107dC5jaGlsZHJlbi5wdXNoKGEpO2xldCBzPWUuZGljdC5nZXQoIkFsdCIpOyJzdHJpbmciIT10eXBlb2YgcyYmKHM9ZS5kaWN0LmdldCgiQWN0dWFsVGV4dCIpKTsic3RyaW5nIj09dHlwZW9mIHMmJihhLmFsdD1zdHJpbmdUb1BERlN0cmluZyhzKSk7Y29uc3Qgcj1lLmRpY3QuZ2V0KCJBIik7aWYociBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9bG9va3VwTm9ybWFsUmVjdChyLmdldEFycmF5KCJCQm94IiksbnVsbCk7aWYoZSlhLmJib3g9ZTtlbHNle2NvbnN0IGU9ci5nZXQoIldpZHRoIiksdD1yLmdldCgiSGVpZ2h0Iik7Im51bWJlciI9PXR5cGVvZiBlJiZlPjAmJiJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiYoYS5iYm94PVswLDAsZSx0XSl9fWNvbnN0IG49ZS5kaWN0LmdldCgiTGFuZyIpOyJzdHJpbmciPT10eXBlb2YgbiYmKGEubGFuZz1zdHJpbmdUb1BERlN0cmluZyhuKSk7Zm9yKGNvbnN0IHQgb2YgZS5raWRzKXtjb25zdCBlPXQudHlwZT09PU9zP3QucGFyZW50Tm9kZTpudWxsO2U/bm9kZVRvU2VyaWFsaXphYmxlKGUsYSxpKzEpOnQudHlwZT09PXZzfHx0LnR5cGU9PT1Ucz9hLmNoaWxkcmVuLnB1c2goe3R5cGU6ImNvbnRlbnQiLGlkOmBwJHt0LnBhZ2VPYmpJZH1fbWMke3QubWNpZH1gfSk6dC50eXBlPT09S3M/YS5jaGlsZHJlbi5wdXNoKHt0eXBlOiJvYmplY3QiLGlkOnQucmVmT2JqSWR9KTp0LnR5cGU9PT1xcyYmYS5jaGlsZHJlbi5wdXNoKHt0eXBlOiJhbm5vdGF0aW9uIixpZDpgcGRmanNfaW50ZXJuYWxfaWRfJHt0LnJlZk9iaklkfWB9KX19Y29uc3QgZT1PYmplY3QuY3JlYXRlKG51bGwpO2UuY2hpbGRyZW49W107ZS5yb2xlPSJSb290Ijtmb3IoY29uc3QgdCBvZiB0aGlzLm5vZGVzKXQmJm5vZGVUb1NlcmlhbGl6YWJsZSh0LGUpO3JldHVybiBlfX1mdW5jdGlvbiBpc1ZhbGlkRXhwbGljaXREZXN0KGUpe2lmKCFBcnJheS5pc0FycmF5KGUpfHxlLmxlbmd0aDwyKXJldHVybiExO2NvbnN0W3QsaSwuLi5hXT1lO2lmKCEodCBpbnN0YW5jZW9mIFJlZnx8TnVtYmVyLmlzSW50ZWdlcih0KSkpcmV0dXJuITE7aWYoIShpIGluc3RhbmNlb2YgTmFtZSkpcmV0dXJuITE7Y29uc3Qgcz1hLmxlbmd0aDtsZXQgcj0hMDtzd2l0Y2goaS5uYW1lKXtjYXNlIlhZWiI6aWYoczwyfHxzPjMpcmV0dXJuITE7YnJlYWs7Y2FzZSJGaXQiOmNhc2UiRml0QiI6cmV0dXJuIDA9PT1zO2Nhc2UiRml0SCI6Y2FzZSJGaXRCSCI6Y2FzZSJGaXRWIjpjYXNlIkZpdEJWIjppZihzPjEpcmV0dXJuITE7YnJlYWs7Y2FzZSJGaXRSIjppZig0IT09cylyZXR1cm4hMTtyPSExO2JyZWFrO2RlZmF1bHQ6cmV0dXJuITF9Zm9yKGNvbnN0IGUgb2YgYSlpZighKCJudW1iZXIiPT10eXBlb2YgZXx8ciYmbnVsbD09PWUpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGZldGNoRGVzdChlKXtlIGluc3RhbmNlb2YgRGljdCYmKGU9ZS5nZXQoIkQiKSk7cmV0dXJuIGlzVmFsaWRFeHBsaWNpdERlc3QoZSk/ZTpudWxsfWZ1bmN0aW9uIGZldGNoUmVtb3RlRGVzdChlKXtsZXQgdD1lLmdldCgiRCIpO2lmKHQpe3QgaW5zdGFuY2VvZiBOYW1lJiYodD10Lm5hbWUpO2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gc3RyaW5nVG9QREZTdHJpbmcodCk7aWYoaXNWYWxpZEV4cGxpY2l0RGVzdCh0KSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCl9cmV0dXJuIG51bGx9Y2xhc3MgQ2F0YWxvZ3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMucGRmTWFuYWdlcj1lO3RoaXMueHJlZj10O3RoaXMuX2NhdERpY3Q9dC5nZXRDYXRhbG9nT2JqKCk7aWYoISh0aGlzLl9jYXREaWN0IGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJDYXRhbG9nIG9iamVjdCBpcyBub3QgYSBkaWN0aW9uYXJ5LiIpO3RoaXMudG9wbGV2ZWxQYWdlc0RpY3Q7dGhpcy5fYWN0dWFsTnVtUGFnZXM9bnVsbDt0aGlzLmZvbnRDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5idWlsdEluQ01hcENhY2hlPW5ldyBNYXA7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGU9bmV3IE1hcDt0aGlzLmdsb2JhbEltYWdlQ2FjaGU9bmV3IEdsb2JhbEltYWdlQ2FjaGU7dGhpcy5wYWdlS2lkc0NvdW50Q2FjaGU9bmV3IFJlZlNldENhY2hlO3RoaXMucGFnZUluZGV4Q2FjaGU9bmV3IFJlZlNldENhY2hlO3RoaXMucGFnZURpY3RDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5ub25CbGVuZE1vZGVzU2V0PW5ldyBSZWZTZXQ7dGhpcy5zeXN0ZW1Gb250Q2FjaGU9bmV3IE1hcH1jbG9uZURpY3QoKXtyZXR1cm4gdGhpcy5fY2F0RGljdC5jbG9uZSgpfWdldCB2ZXJzaW9uKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiVmVyc2lvbiIpO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXtpZihTdC50ZXN0KGUubmFtZSkpcmV0dXJuIHNoYWRvdyh0aGlzLCJ2ZXJzaW9uIixlLm5hbWUpO3dhcm4oYEludmFsaWQgUERGIGNhdGFsb2cgdmVyc2lvbjogJHtlLm5hbWV9YCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2ZXJzaW9uIixudWxsKX1nZXQgbGFuZygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIkxhbmciKTtyZXR1cm4gc2hhZG93KHRoaXMsImxhbmciLGUmJiJzdHJpbmciPT10eXBlb2YgZT9zdHJpbmdUb1BERlN0cmluZyhlKTpudWxsKX1nZXQgbmVlZHNSZW5kZXJpbmcoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJOZWVkc1JlbmRlcmluZyIpO3JldHVybiBzaGFkb3codGhpcywibmVlZHNSZW5kZXJpbmciLCJib29sZWFuIj09dHlwZW9mIGUmJmUpfWdldCBjb2xsZWN0aW9uKCl7bGV0IGU9bnVsbDt0cnl7Y29uc3QgdD10aGlzLl9jYXREaWN0LmdldCgiQ29sbGVjdGlvbiIpO3QgaW5zdGFuY2VvZiBEaWN0JiZ0LnNpemU+MCYmKGU9dCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7aW5mbygiQ2Fubm90IGZldGNoIENvbGxlY3Rpb24gZW50cnk7IGFzc3VtaW5nIG5vIGNvbGxlY3Rpb24gaXMgcHJlc2VudC4iKX1yZXR1cm4gc2hhZG93KHRoaXMsImNvbGxlY3Rpb24iLGUpfWdldCBhY3JvRm9ybSgpe2xldCBlPW51bGw7dHJ5e2NvbnN0IHQ9dGhpcy5fY2F0RGljdC5nZXQoIkFjcm9Gb3JtIik7dCBpbnN0YW5jZW9mIERpY3QmJnQuc2l6ZT4wJiYoZT10KX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCJDYW5ub3QgZmV0Y2ggQWNyb0Zvcm0gZW50cnk7IGFzc3VtaW5nIG5vIGZvcm1zIGFyZSBwcmVzZW50LiIpfXJldHVybiBzaGFkb3codGhpcywiYWNyb0Zvcm0iLGUpfWdldCBhY3JvRm9ybVJlZigpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXRSYXcoIkFjcm9Gb3JtIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJhY3JvRm9ybVJlZiIsZSBpbnN0YW5jZW9mIFJlZj9lOm51bGwpfWdldCBtZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXRSYXcoIk1ldGFkYXRhIik7aWYoIShlIGluc3RhbmNlb2YgUmVmKSlyZXR1cm4gc2hhZG93KHRoaXMsIm1ldGFkYXRhIixudWxsKTtsZXQgdD1udWxsO3RyeXtjb25zdCBpPXRoaXMueHJlZi5mZXRjaChlLCF0aGlzLnhyZWYuZW5jcnlwdD8uZW5jcnlwdE1ldGFkYXRhKTtpZihpIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmaS5kaWN0IGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1pLmRpY3QuZ2V0KCJUeXBlIiksYT1pLmRpY3QuZ2V0KCJTdWJ0eXBlIik7aWYoaXNOYW1lKGUsIk1ldGFkYXRhIikmJmlzTmFtZShhLCJYTUwiKSl7Y29uc3QgZT1zdHJpbmdUb1VURjhTdHJpbmcoaS5nZXRTdHJpbmcoKSk7ZSYmKHQ9bmV3IE1ldGFkYXRhUGFyc2VyKGUpLnNlcmlhbGl6YWJsZSl9fX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKGBTa2lwcGluZyBpbnZhbGlkIE1ldGFkYXRhOiAiJHtlfSIuYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJtZXRhZGF0YSIsdCl9Z2V0IG1hcmtJbmZvKCl7bGV0IGU9bnVsbDt0cnl7ZT10aGlzLl9yZWFkTWFya0luZm8oKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBtYXJrIGluZm8uIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJtYXJrSW5mbyIsZSl9X3JlYWRNYXJrSW5mbygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk1hcmtJbmZvIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Y29uc3QgdD17TWFya2VkOiExLFVzZXJQcm9wZXJ0aWVzOiExLFN1c3BlY3RzOiExfTtmb3IoY29uc3QgaSBpbiB0KXtjb25zdCBhPWUuZ2V0KGkpOyJib29sZWFuIj09dHlwZW9mIGEmJih0W2ldPWEpfXJldHVybiB0fWdldCBzdHJ1Y3RUcmVlUm9vdCgpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZFN0cnVjdFRyZWVSb290KCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiVW5hYmxlIHJlYWQgdG8gc3RydWN0VHJlZVJvb3QgaW5mby4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInN0cnVjdFRyZWVSb290IixlKX1fcmVhZFN0cnVjdFRyZWVSb290KCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldFJhdygiU3RydWN0VHJlZVJvb3QiKSx0PXRoaXMueHJlZi5mZXRjaElmUmVmKGUpO2lmKCEodCBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBudWxsO2NvbnN0IGk9bmV3IFN0cnVjdFRyZWVSb290KHQsZSk7aS5pbml0KCk7cmV0dXJuIGl9Z2V0IHRvcGxldmVsUGFnZXNEaWN0KCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiUGFnZXMiKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgdG9wLWxldmVsIHBhZ2VzIGRpY3Rpb25hcnkuIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJ0b3BsZXZlbFBhZ2VzRGljdCIsZSl9Z2V0IGRvY3VtZW50T3V0bGluZSgpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZERvY3VtZW50T3V0bGluZSgpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oIlVuYWJsZSB0byByZWFkIGRvY3VtZW50IG91dGxpbmUuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJkb2N1bWVudE91dGxpbmUiLGUpfV9yZWFkRG9jdW1lbnRPdXRsaW5lKCl7bGV0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk91dGxpbmVzIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7ZT1lLmdldFJhdygiRmlyc3QiKTtpZighKGUgaW5zdGFuY2VvZiBSZWYpKXJldHVybiBudWxsO2NvbnN0IHQ9e2l0ZW1zOltdfSxpPVt7b2JqOmUscGFyZW50OnR9XSxhPW5ldyBSZWZTZXQ7YS5wdXQoZSk7Y29uc3Qgcz10aGlzLnhyZWYscj1uZXcgVWludDhDbGFtcGVkQXJyYXkoMyk7Zm9yKDtpLmxlbmd0aD4wOyl7Y29uc3QgdD1pLnNoaWZ0KCksbj1zLmZldGNoSWZSZWYodC5vYmopO2lmKG51bGw9PT1uKWNvbnRpbnVlO24uaGFzKCJUaXRsZSIpfHx3YXJuKCJJbnZhbGlkIG91dGxpbmUgaXRlbSBlbmNvdW50ZXJlZC4iKTtjb25zdCBnPXt1cmw6bnVsbCxkZXN0Om51bGwsYWN0aW9uOm51bGx9O0NhdGFsb2cucGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6bixyZXN1bHRPYmo6Zyxkb2NCYXNlVXJsOnRoaXMuYmFzZVVybCxkb2NBdHRhY2htZW50czp0aGlzLmF0dGFjaG1lbnRzfSk7Y29uc3Qgbz1uLmdldCgiVGl0bGUiKSxjPW4uZ2V0KCJGIil8fDAsQz1uLmdldEFycmF5KCJDIiksaD1uLmdldCgiQ291bnQiKTtsZXQgbD1yOyFpc051bWJlckFycmF5KEMsMyl8fDA9PT1DWzBdJiYwPT09Q1sxXSYmMD09PUNbMl18fChsPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2IuZ2V0UmdiKEMsMCkpO2NvbnN0IFE9e2FjdGlvbjpnLmFjdGlvbixhdHRhY2htZW50OmcuYXR0YWNobWVudCxkZXN0OmcuZGVzdCx1cmw6Zy51cmwsdW5zYWZlVXJsOmcudW5zYWZlVXJsLG5ld1dpbmRvdzpnLm5ld1dpbmRvdyxzZXRPQ0dTdGF0ZTpnLnNldE9DR1N0YXRlLHRpdGxlOiJzdHJpbmciPT10eXBlb2Ygbz9zdHJpbmdUb1BERlN0cmluZyhvKToiIixjb2xvcjpsLGNvdW50Ok51bWJlci5pc0ludGVnZXIoaCk/aDp2b2lkIDAsYm9sZDohISgyJmMpLGl0YWxpYzohISgxJmMpLGl0ZW1zOltdfTt0LnBhcmVudC5pdGVtcy5wdXNoKFEpO2U9bi5nZXRSYXcoIkZpcnN0Iik7aWYoZSBpbnN0YW5jZW9mIFJlZiYmIWEuaGFzKGUpKXtpLnB1c2goe29iajplLHBhcmVudDpRfSk7YS5wdXQoZSl9ZT1uLmdldFJhdygiTmV4dCIpO2lmKGUgaW5zdGFuY2VvZiBSZWYmJiFhLmhhcyhlKSl7aS5wdXNoKHtvYmo6ZSxwYXJlbnQ6dC5wYXJlbnR9KTthLnB1dChlKX19cmV0dXJuIHQuaXRlbXMubGVuZ3RoPjA/dC5pdGVtczpudWxsfWdldCBwZXJtaXNzaW9ucygpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZFBlcm1pc3Npb25zKCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiVW5hYmxlIHRvIHJlYWQgcGVybWlzc2lvbnMuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJwZXJtaXNzaW9ucyIsZSl9X3JlYWRQZXJtaXNzaW9ucygpe2NvbnN0IGU9dGhpcy54cmVmLnRyYWlsZXIuZ2V0KCJFbmNyeXB0Iik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7bGV0IHQ9ZS5nZXQoIlAiKTtpZigibnVtYmVyIiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7dCs9MioqMzI7Y29uc3QgaT1bXTtmb3IoY29uc3QgZSBpbiB5KXtjb25zdCBhPXlbZV07dCZhJiZpLnB1c2goYSl9cmV0dXJuIGl9Z2V0IG9wdGlvbmFsQ29udGVudENvbmZpZygpe2xldCBlPW51bGw7dHJ5e2NvbnN0IHQ9dGhpcy5fY2F0RGljdC5nZXQoIk9DUHJvcGVydGllcyIpO2lmKCF0KXJldHVybiBzaGFkb3codGhpcywib3B0aW9uYWxDb250ZW50Q29uZmlnIixudWxsKTtjb25zdCBpPXQuZ2V0KCJEIik7aWYoIWkpcmV0dXJuIHNoYWRvdyh0aGlzLCJvcHRpb25hbENvbnRlbnRDb25maWciLG51bGwpO2NvbnN0IGE9dC5nZXQoIk9DR3MiKTtpZighQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsbnVsbCk7Y29uc3Qgcz1uZXcgUmVmU2V0Q2FjaGU7Zm9yKGNvbnN0IGUgb2YgYSllIGluc3RhbmNlb2YgUmVmJiYhcy5oYXMoZSkmJnMucHV0KGUsdGhpcy4jdihlKSk7ZT10aGlzLiNUKGkscyl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgVW5hYmxlIHRvIHJlYWQgb3B0aW9uYWwgY29udGVudCBjb25maWc6ICR7ZX1gKX1yZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsZSl9I3YoZSl7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2goZSksaT17aWQ6ZS50b1N0cmluZygpLG5hbWU6bnVsbCxpbnRlbnQ6bnVsbCx1c2FnZTp7cHJpbnQ6bnVsbCx2aWV3Om51bGx9LHJiR3JvdXBzOltdfSxhPXQuZ2V0KCJOYW1lIik7InN0cmluZyI9PXR5cGVvZiBhJiYoaS5uYW1lPXN0cmluZ1RvUERGU3RyaW5nKGEpKTtsZXQgcz10LmdldEFycmF5KCJJbnRlbnQiKTtBcnJheS5pc0FycmF5KHMpfHwocz1bc10pO3MuZXZlcnkoKGU9PmUgaW5zdGFuY2VvZiBOYW1lKSkmJihpLmludGVudD1zLm1hcCgoZT0+ZS5uYW1lKSkpO2NvbnN0IHI9dC5nZXQoIlVzYWdlIik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIGk7Y29uc3Qgbj1pLnVzYWdlLGc9ci5nZXQoIlByaW50Iik7aWYoZyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9Zy5nZXQoIlByaW50U3RhdGUiKTtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIk9OIjpjYXNlIk9GRiI6bi5wcmludD17cHJpbnRTdGF0ZTplLm5hbWV9fX1jb25zdCBvPXIuZ2V0KCJWaWV3Iik7aWYobyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9by5nZXQoIlZpZXdTdGF0ZSIpO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChlLm5hbWUpe2Nhc2UiT04iOmNhc2UiT0ZGIjpuLnZpZXc9e3ZpZXdTdGF0ZTplLm5hbWV9fX1yZXR1cm4gaX0jVChlLHQpe2Z1bmN0aW9uIHBhcnNlT25PZmYoZSl7Y29uc3QgaT1bXTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihjb25zdCBhIG9mIGUpYSBpbnN0YW5jZW9mIFJlZiYmdC5oYXMoYSkmJmkucHVzaChhLnRvU3RyaW5nKCkpO3JldHVybiBpfWZ1bmN0aW9uIHBhcnNlT3JkZXIoZSxpPTApe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiBudWxsO2NvbnN0IHM9W107Zm9yKGNvbnN0IHIgb2YgZSl7aWYociBpbnN0YW5jZW9mIFJlZiYmdC5oYXMocikpe2EucHV0KHIpO3MucHVzaChyLnRvU3RyaW5nKCkpO2NvbnRpbnVlfWNvbnN0IGU9cGFyc2VOZXN0ZWRPcmRlcihyLGkpO2UmJnMucHVzaChlKX1pZihpPjApcmV0dXJuIHM7Y29uc3Qgcj1bXTtmb3IoY29uc3RbZV1vZiB0Lml0ZW1zKCkpYS5oYXMoZSl8fHIucHVzaChlLnRvU3RyaW5nKCkpO3IubGVuZ3RoJiZzLnB1c2goe25hbWU6bnVsbCxvcmRlcjpyfSk7cmV0dXJuIHN9ZnVuY3Rpb24gcGFyc2VOZXN0ZWRPcmRlcihlLHQpe2lmKCsrdD5zKXt3YXJuKCJwYXJzZU5lc3RlZE9yZGVyIC0gcmVhY2hlZCBNQVhfTkVTVEVEX0xFVkVMUy4iKTtyZXR1cm4gbnVsbH1jb25zdCBhPWkuZmV0Y2hJZlJlZihlKTtpZighQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gbnVsbDtjb25zdCByPWkuZmV0Y2hJZlJlZihhWzBdKTtpZigic3RyaW5nIiE9dHlwZW9mIHIpcmV0dXJuIG51bGw7Y29uc3Qgbj1wYXJzZU9yZGVyKGEuc2xpY2UoMSksdCk7cmV0dXJuIG4mJm4ubGVuZ3RoP3tuYW1lOnN0cmluZ1RvUERGU3RyaW5nKHIpLG9yZGVyOm59Om51bGx9Y29uc3QgaT10aGlzLnhyZWYsYT1uZXcgUmVmU2V0LHM9MTA7IWZ1bmN0aW9uIHBhcnNlUkJHcm91cHMoZSl7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWkuZmV0Y2hJZlJlZihhKTtpZighQXJyYXkuaXNBcnJheShlKXx8IWUubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IHM9bmV3IFNldDtmb3IoY29uc3QgaSBvZiBlKWlmKGkgaW5zdGFuY2VvZiBSZWYmJnQuaGFzKGkpJiYhcy5oYXMoaS50b1N0cmluZygpKSl7cy5hZGQoaS50b1N0cmluZygpKTt0LmdldChpKS5yYkdyb3Vwcy5wdXNoKHMpfX19KGUuZ2V0KCJSQkdyb3VwcyIpKTtyZXR1cm57bmFtZToic3RyaW5nIj09dHlwZW9mIGUuZ2V0KCJOYW1lIik/c3RyaW5nVG9QREZTdHJpbmcoZS5nZXQoIk5hbWUiKSk6bnVsbCxjcmVhdG9yOiJzdHJpbmciPT10eXBlb2YgZS5nZXQoIkNyZWF0b3IiKT9zdHJpbmdUb1BERlN0cmluZyhlLmdldCgiQ3JlYXRvciIpKTpudWxsLGJhc2VTdGF0ZTplLmdldCgiQmFzZVN0YXRlIilpbnN0YW5jZW9mIE5hbWU/ZS5nZXQoIkJhc2VTdGF0ZSIpLm5hbWU6bnVsbCxvbjpwYXJzZU9uT2ZmKGUuZ2V0KCJPTiIpKSxvZmY6cGFyc2VPbk9mZihlLmdldCgiT0ZGIikpLG9yZGVyOnBhcnNlT3JkZXIoZS5nZXQoIk9yZGVyIikpLGdyb3VwczpbLi4udF19fXNldEFjdHVhbE51bVBhZ2VzKGU9bnVsbCl7dGhpcy5fYWN0dWFsTnVtUGFnZXM9ZX1nZXQgaGFzQWN0dWFsTnVtUGFnZXMoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdHVhbE51bVBhZ2VzfWdldCBfcGFnZXNDb3VudCgpe2NvbnN0IGU9dGhpcy50b3BsZXZlbFBhZ2VzRGljdC5nZXQoIkNvdW50Iik7aWYoIU51bWJlci5pc0ludGVnZXIoZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlIGNvdW50IGluIHRvcC1sZXZlbCBwYWdlcyBkaWN0aW9uYXJ5IGlzIG5vdCBhbiBpbnRlZ2VyLiIpO3JldHVybiBzaGFkb3codGhpcywiX3BhZ2VzQ291bnQiLGUpfWdldCBudW1QYWdlcygpe3JldHVybiB0aGlzLmhhc0FjdHVhbE51bVBhZ2VzP3RoaXMuX2FjdHVhbE51bVBhZ2VzOnRoaXMuX3BhZ2VzQ291bnR9Z2V0IGRlc3RpbmF0aW9ucygpe2NvbnN0IGU9dGhpcy5fcmVhZERlc3RzKCksdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUgaW5zdGFuY2VvZiBOYW1lVHJlZSlmb3IoY29uc3RbaSxhXW9mIGUuZ2V0QWxsKCkpe2NvbnN0IGU9ZmV0Y2hEZXN0KGEpO2UmJih0W3N0cmluZ1RvUERGU3RyaW5nKGkpXT1lKX1lbHNlIGlmKGUgaW5zdGFuY2VvZiBEaWN0KWZvcihjb25zdFtpLGFdb2YgZSl7Y29uc3QgZT1mZXRjaERlc3QoYSk7ZSYmKHRbaV09ZSl9cmV0dXJuIHNoYWRvdyh0aGlzLCJkZXN0aW5hdGlvbnMiLHQpfWdldERlc3RpbmF0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fcmVhZERlc3RzKCk7aWYodCBpbnN0YW5jZW9mIE5hbWVUcmVlKXtjb25zdCBpPWZldGNoRGVzdCh0LmdldChlKSk7aWYoaSlyZXR1cm4gaTtjb25zdCBhPXRoaXMuZGVzdGluYXRpb25zW2VdO2lmKGEpe3dhcm4oYEZvdW5kICIke2V9IiBhdCBhbiBpbmNvcnJlY3QgcG9zaXRpb24gaW4gdGhlIE5hbWVUcmVlLmApO3JldHVybiBhfX1lbHNlIGlmKHQgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPWZldGNoRGVzdCh0LmdldChlKSk7aWYoaSlyZXR1cm4gaX1yZXR1cm4gbnVsbH1fcmVhZERlc3RzKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTmFtZXMiKTtyZXR1cm4gZT8uaGFzKCJEZXN0cyIpP25ldyBOYW1lVHJlZShlLmdldFJhdygiRGVzdHMiKSx0aGlzLnhyZWYpOnRoaXMuX2NhdERpY3QuaGFzKCJEZXN0cyIpP3RoaXMuX2NhdERpY3QuZ2V0KCJEZXN0cyIpOnZvaWQgMH1nZXQgcGFnZUxhYmVscygpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZFBhZ2VMYWJlbHMoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBwYWdlIGxhYmVscy4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInBhZ2VMYWJlbHMiLGUpfV9yZWFkUGFnZUxhYmVscygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXRSYXcoIlBhZ2VMYWJlbHMiKTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCB0PW5ldyBBcnJheSh0aGlzLm51bVBhZ2VzKTtsZXQgaT1udWxsLGE9IiI7Y29uc3Qgcz1uZXcgTnVtYmVyVHJlZShlLHRoaXMueHJlZikuZ2V0QWxsKCk7bGV0IHI9IiIsbj0xO2ZvcihsZXQgZT0wLGc9dGhpcy5udW1QYWdlcztlPGc7ZSsrKXtjb25zdCBnPXMuZ2V0KGUpO2lmKHZvaWQgMCE9PWcpe2lmKCEoZyBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZUxhYmVsIGlzIG5vdCBhIGRpY3Rpb25hcnkuIik7aWYoZy5oYXMoIlR5cGUiKSYmIWlzTmFtZShnLmdldCgiVHlwZSIpLCJQYWdlTGFiZWwiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgdHlwZSBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTtpZihnLmhhcygiUyIpKXtjb25zdCBlPWcuZ2V0KCJTIik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHN0eWxlIGluIFBhZ2VMYWJlbCBkaWN0aW9uYXJ5LiIpO2k9ZS5uYW1lfWVsc2UgaT1udWxsO2lmKGcuaGFzKCJQIikpe2NvbnN0IGU9Zy5nZXQoIlAiKTtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHByZWZpeCBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTthPXN0cmluZ1RvUERGU3RyaW5nKGUpfWVsc2UgYT0iIjtpZihnLmhhcygiU3QiKSl7Y29uc3QgZT1nLmdldCgiU3QiKTtpZighKE51bWJlci5pc0ludGVnZXIoZSkmJmU+PTEpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBzdGFydCBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTtuPWV9ZWxzZSBuPTF9c3dpdGNoKGkpe2Nhc2UiRCI6cj1uO2JyZWFrO2Nhc2UiUiI6Y2FzZSJyIjpyPXRvUm9tYW5OdW1lcmFscyhuLCJyIj09PWkpO2JyZWFrO2Nhc2UiQSI6Y2FzZSJhIjpjb25zdCBlPTI2LHQ9ImEiPT09aT85Nzo2NSxhPW4tMTtyPVN0cmluZy5mcm9tQ2hhckNvZGUodCthJWUpLnJlcGVhdChNYXRoLmZsb29yKGEvZSkrMSk7YnJlYWs7ZGVmYXVsdDppZihpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBzdHlsZSAiJHtpfSIgaW4gUGFnZUxhYmVsIGRpY3Rpb25hcnkuYCk7cj0iIn10W2VdPWErcjtuKyt9cmV0dXJuIHR9Z2V0IHBhZ2VMYXlvdXQoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlTGF5b3V0Iik7bGV0IHQ9IiI7aWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJTaW5nbGVQYWdlIjpjYXNlIk9uZUNvbHVtbiI6Y2FzZSJUd29Db2x1bW5MZWZ0IjpjYXNlIlR3b0NvbHVtblJpZ2h0IjpjYXNlIlR3b1BhZ2VMZWZ0IjpjYXNlIlR3b1BhZ2VSaWdodCI6dD1lLm5hbWV9cmV0dXJuIHNoYWRvdyh0aGlzLCJwYWdlTGF5b3V0Iix0KX1nZXQgcGFnZU1vZGUoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlTW9kZSIpO2xldCB0PSJVc2VOb25lIjtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIkZ1bGxTY3JlZW4iOmNhc2UiVXNlT0MiOmNhc2UiVXNlQXR0YWNobWVudHMiOnQ9ZS5uYW1lfXJldHVybiBzaGFkb3codGhpcywicGFnZU1vZGUiLHQpfWdldCB2aWV3ZXJQcmVmZXJlbmNlcygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIlZpZXdlclByZWZlcmVuY2VzIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsbnVsbCk7bGV0IHQ9bnVsbDtmb3IoY29uc3QgaSBvZiBlLmdldEtleXMoKSl7Y29uc3QgYT1lLmdldChpKTtsZXQgcztzd2l0Y2goaSl7Y2FzZSJIaWRlVG9vbGJhciI6Y2FzZSJIaWRlTWVudWJhciI6Y2FzZSJIaWRlV2luZG93VUkiOmNhc2UiRml0V2luZG93IjpjYXNlIkNlbnRlcldpbmRvdyI6Y2FzZSJEaXNwbGF5RG9jVGl0bGUiOmNhc2UiUGlja1RyYXlCeVBERlNpemUiOiJib29sZWFuIj09dHlwZW9mIGEmJihzPWEpO2JyZWFrO2Nhc2UiTm9uRnVsbFNjcmVlblBhZ2VNb2RlIjppZihhIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goYS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIlVzZU9DIjpzPWEubmFtZTticmVhaztkZWZhdWx0OnM9IlVzZU5vbmUifWJyZWFrO2Nhc2UiRGlyZWN0aW9uIjppZihhIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goYS5uYW1lKXtjYXNlIkwyUiI6Y2FzZSJSMkwiOnM9YS5uYW1lO2JyZWFrO2RlZmF1bHQ6cz0iTDJSIn1icmVhaztjYXNlIlZpZXdBcmVhIjpjYXNlIlZpZXdDbGlwIjpjYXNlIlByaW50QXJlYSI6Y2FzZSJQcmludENsaXAiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiTWVkaWFCb3giOmNhc2UiQ3JvcEJveCI6Y2FzZSJCbGVlZEJveCI6Y2FzZSJUcmltQm94IjpjYXNlIkFydEJveCI6cz1hLm5hbWU7YnJlYWs7ZGVmYXVsdDpzPSJDcm9wQm94In1icmVhaztjYXNlIlByaW50U2NhbGluZyI6aWYoYSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGEubmFtZSl7Y2FzZSJOb25lIjpjYXNlIkFwcERlZmF1bHQiOnM9YS5uYW1lO2JyZWFrO2RlZmF1bHQ6cz0iQXBwRGVmYXVsdCJ9YnJlYWs7Y2FzZSJEdXBsZXgiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiU2ltcGxleCI6Y2FzZSJEdXBsZXhGbGlwU2hvcnRFZGdlIjpjYXNlIkR1cGxleEZsaXBMb25nRWRnZSI6cz1hLm5hbWU7YnJlYWs7ZGVmYXVsdDpzPSJOb25lIn1icmVhaztjYXNlIlByaW50UGFnZVJhbmdlIjppZihBcnJheS5pc0FycmF5KGEpJiZhLmxlbmd0aCUyPT0wKXthLmV2ZXJ5KCgoZSx0LGkpPT5OdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPjAmJigwPT09dHx8ZT49aVt0LTFdKSYmZTw9dGhpcy5udW1QYWdlcykpJiYocz1hKX1icmVhaztjYXNlIk51bUNvcGllcyI6TnVtYmVyLmlzSW50ZWdlcihhKSYmYT4wJiYocz1hKTticmVhaztkZWZhdWx0Ondhcm4oYElnbm9yaW5nIG5vbi1zdGFuZGFyZCBrZXkgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7aX0uYCk7Y29udGludWV9aWYodm9pZCAwIT09cyl7dHx8KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSk7dFtpXT1zfWVsc2Ugd2FybihgQmFkIHZhbHVlLCBmb3Iga2V5ICIke2l9IiwgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7YX0uYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsdCl9Z2V0IG9wZW5BY3Rpb24oKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJPcGVuQWN0aW9uIiksdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPW5ldyBEaWN0KHRoaXMueHJlZik7aS5zZXQoIkEiLGUpO2NvbnN0IGE9e3VybDpudWxsLGRlc3Q6bnVsbCxhY3Rpb246bnVsbH07Q2F0YWxvZy5wYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDppLHJlc3VsdE9iajphfSk7QXJyYXkuaXNBcnJheShhLmRlc3QpP3QuZGVzdD1hLmRlc3Q6YS5hY3Rpb24mJih0LmFjdGlvbj1hLmFjdGlvbil9ZWxzZSBBcnJheS5pc0FycmF5KGUpJiYodC5kZXN0PWUpO3JldHVybiBzaGFkb3codGhpcywib3BlbkFjdGlvbiIsb2JqZWN0U2l6ZSh0KT4wP3Q6bnVsbCl9Z2V0IGF0dGFjaG1lbnRzKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTmFtZXMiKTtsZXQgdD1udWxsO2lmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiRW1iZWRkZWRGaWxlcyIpKXtjb25zdCBpPW5ldyBOYW1lVHJlZShlLmdldFJhdygiRW1iZWRkZWRGaWxlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsYV1vZiBpLmdldEFsbCgpKXtjb25zdCBpPW5ldyBGaWxlU3BlYyhhLHRoaXMueHJlZik7dHx8KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSk7dFtzdHJpbmdUb1BERlN0cmluZyhlKV09aS5zZXJpYWxpemFibGV9fXJldHVybiBzaGFkb3codGhpcywiYXR0YWNobWVudHMiLHQpfWdldCB4ZmFJbWFnZXMoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJOYW1lcyIpO2xldCB0PW51bGw7aWYoZSBpbnN0YW5jZW9mIERpY3QmJmUuaGFzKCJYRkFJbWFnZXMiKSl7Y29uc3QgaT1uZXcgTmFtZVRyZWUoZS5nZXRSYXcoIlhGQUltYWdlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsYV1vZiBpLmdldEFsbCgpKXt0fHwodD1uZXcgRGljdCh0aGlzLnhyZWYpKTt0LnNldChzdHJpbmdUb1BERlN0cmluZyhlKSxhKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFJbWFnZXMiLHQpfV9jb2xsZWN0SmF2YVNjcmlwdCgpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk5hbWVzIik7bGV0IHQ9bnVsbDtmdW5jdGlvbiBhcHBlbmRJZkphdmFTY3JpcHREaWN0KGUsaSl7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2lmKCFpc05hbWUoaS5nZXQoIlMiKSwiSmF2YVNjcmlwdCIpKXJldHVybjtsZXQgYT1pLmdldCgiSlMiKTtpZihhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSlhPWEuZ2V0U3RyaW5nKCk7ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuO2E9c3RyaW5nVG9QREZTdHJpbmcoYSkucmVwbGFjZUFsbCgiXDAiLCIiKTthJiYodHx8PW5ldyBNYXApLnNldChlLGEpfWlmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiSmF2YVNjcmlwdCIpKXtjb25zdCB0PW5ldyBOYW1lVHJlZShlLmdldFJhdygiSmF2YVNjcmlwdCIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsaV1vZiB0LmdldEFsbCgpKWFwcGVuZElmSmF2YVNjcmlwdERpY3Qoc3RyaW5nVG9QREZTdHJpbmcoZSksaSl9Y29uc3QgaT10aGlzLl9jYXREaWN0LmdldCgiT3BlbkFjdGlvbiIpO2kmJmFwcGVuZElmSmF2YVNjcmlwdERpY3QoIk9wZW5BY3Rpb24iLGkpO3JldHVybiB0fWdldCBqc0FjdGlvbnMoKXtjb25zdCBlPXRoaXMuX2NvbGxlY3RKYXZhU2NyaXB0KCk7bGV0IHQ9Y29sbGVjdEFjdGlvbnModGhpcy54cmVmLHRoaXMuX2NhdERpY3QsZkEpO2lmKGUpe3R8fD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFtpLGFdb2YgZSlpIGluIHQ/dFtpXS5wdXNoKGEpOnRbaV09W2FdfXJldHVybiBzaGFkb3codGhpcywianNBY3Rpb25zIix0KX1hc3luYyBmb250RmFsbGJhY2soZSx0KXtjb25zdCBpPWF3YWl0IFByb21pc2UuYWxsKHRoaXMuZm9udENhY2hlKTtmb3IoY29uc3QgYSBvZiBpKWlmKGEubG9hZGVkTmFtZT09PWUpe2EuZmFsbGJhY2sodCk7cmV0dXJufX1hc3luYyBjbGVhbnVwKGU9ITEpe2NsZWFyR2xvYmFsQ2FjaGVzKCk7dGhpcy5nbG9iYWxJbWFnZUNhY2hlLmNsZWFyKGUpO3RoaXMucGFnZUtpZHNDb3VudENhY2hlLmNsZWFyKCk7dGhpcy5wYWdlSW5kZXhDYWNoZS5jbGVhcigpO3RoaXMucGFnZURpY3RDYWNoZS5jbGVhcigpO3RoaXMubm9uQmxlbmRNb2Rlc1NldC5jbGVhcigpO2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwodGhpcy5mb250Q2FjaGUpO2Zvcihjb25zdHtkaWN0OmV9b2YgdClkZWxldGUgZS5jYWNoZUtleTt0aGlzLmZvbnRDYWNoZS5jbGVhcigpO3RoaXMuYnVpbHRJbkNNYXBDYWNoZS5jbGVhcigpO3RoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmNsZWFyKCk7dGhpcy5zeXN0ZW1Gb250Q2FjaGUuY2xlYXIoKX1hc3luYyBnZXRQYWdlRGljdChlKXtjb25zdCB0PVt0aGlzLnRvcGxldmVsUGFnZXNEaWN0XSxpPW5ldyBSZWZTZXQsYT10aGlzLl9jYXREaWN0LmdldFJhdygiUGFnZXMiKTthIGluc3RhbmNlb2YgUmVmJiZpLnB1dChhKTtjb25zdCBzPXRoaXMueHJlZixyPXRoaXMucGFnZUtpZHNDb3VudENhY2hlLG49dGhpcy5wYWdlSW5kZXhDYWNoZSxnPXRoaXMucGFnZURpY3RDYWNoZTtsZXQgbz0wO2Zvcig7dC5sZW5ndGg7KXtjb25zdCBhPXQucG9wKCk7aWYoYSBpbnN0YW5jZW9mIFJlZil7Y29uc3QgYz1yLmdldChhKTtpZihjPj0wJiZvK2M8PWUpe28rPWM7Y29udGludWV9aWYoaS5oYXMoYSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlcyB0cmVlIGNvbnRhaW5zIGNpcmN1bGFyIHJlZmVyZW5jZS4iKTtpLnB1dChhKTtjb25zdCBDPWF3YWl0KGcuZ2V0KGEpfHxzLmZldGNoQXN5bmMoYSkpO2lmKEMgaW5zdGFuY2VvZiBEaWN0KXtsZXQgdD1DLmdldFJhdygiVHlwZSIpO3QgaW5zdGFuY2VvZiBSZWYmJih0PWF3YWl0IHMuZmV0Y2hBc3luYyh0KSk7aWYoaXNOYW1lKHQsIlBhZ2UiKXx8IUMuaGFzKCJLaWRzIikpe3IuaGFzKGEpfHxyLnB1dChhLDEpO24uaGFzKGEpfHxuLnB1dChhLG8pO2lmKG89PT1lKXJldHVybltDLGFdO28rKztjb250aW51ZX19dC5wdXNoKEMpO2NvbnRpbnVlfWlmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBkaWN0aW9uYXJ5IGtpZCByZWZlcmVuY2UgcG9pbnRzIHRvIHdyb25nIHR5cGUgb2Ygb2JqZWN0LiIpO2NvbnN0e29iaklkOmN9PWE7bGV0IEM9YS5nZXRSYXcoIkNvdW50Iik7QyBpbnN0YW5jZW9mIFJlZiYmKEM9YXdhaXQgcy5mZXRjaEFzeW5jKEMpKTtpZihOdW1iZXIuaXNJbnRlZ2VyKEMpJiZDPj0wKXtjJiYhci5oYXMoYykmJnIucHV0KGMsQyk7aWYobytDPD1lKXtvKz1DO2NvbnRpbnVlfX1sZXQgaD1hLmdldFJhdygiS2lkcyIpO2ggaW5zdGFuY2VvZiBSZWYmJihoPWF3YWl0IHMuZmV0Y2hBc3luYyhoKSk7aWYoIUFycmF5LmlzQXJyYXkoaCkpe2xldCB0PWEuZ2V0UmF3KCJUeXBlIik7dCBpbnN0YW5jZW9mIFJlZiYmKHQ9YXdhaXQgcy5mZXRjaEFzeW5jKHQpKTtpZihpc05hbWUodCwiUGFnZSIpfHwhYS5oYXMoIktpZHMiKSl7aWYobz09PWUpcmV0dXJuW2EsbnVsbF07bysrO2NvbnRpbnVlfXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBkaWN0aW9uYXJ5IGtpZHMgb2JqZWN0IGlzIG5vdCBhbiBhcnJheS4iKX1mb3IobGV0IGU9aC5sZW5ndGgtMTtlPj0wO2UtLSl7Y29uc3QgaT1oW2VdO3QucHVzaChpKTthPT09dGhpcy50b3BsZXZlbFBhZ2VzRGljdCYmaSBpbnN0YW5jZW9mIFJlZiYmIWcuaGFzKGkpJiZnLnB1dChpLHMuZmV0Y2hBc3luYyhpKSl9fXRocm93IG5ldyBFcnJvcihgUGFnZSBpbmRleCAke2V9IG5vdCBmb3VuZC5gKX1hc3luYyBnZXRBbGxQYWdlRGljdHMoZT0hMSl7Y29uc3R7aWdub3JlRXJyb3JzOnR9PXRoaXMucGRmTWFuYWdlci5ldmFsdWF0b3JPcHRpb25zLGk9W3tjdXJyZW50Tm9kZTp0aGlzLnRvcGxldmVsUGFnZXNEaWN0LHBvc0luS2lkczowfV0sYT1uZXcgUmVmU2V0LHM9dGhpcy5fY2F0RGljdC5nZXRSYXcoIlBhZ2VzIik7cyBpbnN0YW5jZW9mIFJlZiYmYS5wdXQocyk7Y29uc3Qgcj1uZXcgTWFwLG49dGhpcy54cmVmLGc9dGhpcy5wYWdlSW5kZXhDYWNoZTtsZXQgbz0wO2Z1bmN0aW9uIGFkZFBhZ2VEaWN0KGUsdCl7dCYmIWcuaGFzKHQpJiZnLnB1dCh0LG8pO3Iuc2V0KG8rKyxbZSx0XSl9ZnVuY3Rpb24gYWRkUGFnZUVycm9yKGkpe2lmKGkgaW5zdGFuY2VvZiBYUmVmRW50cnlFeGNlcHRpb24mJiFlKXRocm93IGk7aWYoZSYmdCYmMD09PW8pe3dhcm4oYGdldEFsbFBhZ2VEaWN0cyAtIFNraXBwaW5nIGludmFsaWQgZmlyc3QgcGFnZTogIiR7aX0iLmApO2k9RGljdC5lbXB0eX1yLnNldChvKyssW2ksbnVsbF0pfWZvcig7aS5sZW5ndGg+MDspe2NvbnN0IGU9aS5hdCgtMSkse2N1cnJlbnROb2RlOnQscG9zSW5LaWRzOnN9PWU7bGV0IHI9dC5nZXRSYXcoIktpZHMiKTtpZihyIGluc3RhbmNlb2YgUmVmKXRyeXtyPWF3YWl0IG4uZmV0Y2hBc3luYyhyKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9aWYoIUFycmF5LmlzQXJyYXkocikpe2FkZFBhZ2VFcnJvcihuZXcgRm9ybWF0RXJyb3IoIlBhZ2UgZGljdGlvbmFyeSBraWRzIG9iamVjdCBpcyBub3QgYW4gYXJyYXkuIikpO2JyZWFrfWlmKHM+PXIubGVuZ3RoKXtpLnBvcCgpO2NvbnRpbnVlfWNvbnN0IGc9cltzXTtsZXQgbztpZihnIGluc3RhbmNlb2YgUmVmKXtpZihhLmhhcyhnKSl7YWRkUGFnZUVycm9yKG5ldyBGb3JtYXRFcnJvcigiUGFnZXMgdHJlZSBjb250YWlucyBjaXJjdWxhciByZWZlcmVuY2UuIikpO2JyZWFrfWEucHV0KGcpO3RyeXtvPWF3YWl0IG4uZmV0Y2hBc3luYyhnKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9fWVsc2Ugbz1nO2lmKCEobyBpbnN0YW5jZW9mIERpY3QpKXthZGRQYWdlRXJyb3IobmV3IEZvcm1hdEVycm9yKCJQYWdlIGRpY3Rpb25hcnkga2lkIHJlZmVyZW5jZSBwb2ludHMgdG8gd3JvbmcgdHlwZSBvZiBvYmplY3QuIikpO2JyZWFrfWxldCBjPW8uZ2V0UmF3KCJUeXBlIik7aWYoYyBpbnN0YW5jZW9mIFJlZil0cnl7Yz1hd2FpdCBuLmZldGNoQXN5bmMoYyl9Y2F0Y2goZSl7YWRkUGFnZUVycm9yKGUpO2JyZWFrfWlzTmFtZShjLCJQYWdlIil8fCFvLmhhcygiS2lkcyIpP2FkZFBhZ2VEaWN0KG8sZyBpbnN0YW5jZW9mIFJlZj9nOm51bGwpOmkucHVzaCh7Y3VycmVudE5vZGU6byxwb3NJbktpZHM6MH0pO2UucG9zSW5LaWRzKyt9cmV0dXJuIHJ9Z2V0UGFnZUluZGV4KGUpe2NvbnN0IHQ9dGhpcy5wYWdlSW5kZXhDYWNoZS5nZXQoZSk7aWYodm9pZCAwIT09dClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQpO2NvbnN0IGk9dGhpcy54cmVmO2xldCBhPTA7Y29uc3QgbmV4dD10PT5mdW5jdGlvbiBwYWdlc0JlZm9yZVJlZih0KXtsZXQgYSxzPTA7cmV0dXJuIGkuZmV0Y2hBc3luYyh0KS50aGVuKChmdW5jdGlvbihpKXtpZihpc1JlZnNFcXVhbCh0LGUpJiYhaXNEaWN0KGksIlBhZ2UiKSYmIShpIGluc3RhbmNlb2YgRGljdCYmIWkuaGFzKCJUeXBlIikmJmkuaGFzKCJDb250ZW50cyIpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRoZSByZWZlcmVuY2UgZG9lcyBub3QgcG9pbnQgdG8gYSAvUGFnZSBkaWN0aW9uYXJ5LiIpO2lmKCFpKXJldHVybiBudWxsO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTthPWkuZ2V0UmF3KCJQYXJlbnQiKTtyZXR1cm4gaS5nZXRBc3luYygiUGFyZW50Iil9KSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIG51bGw7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYXJlbnQgbXVzdCBiZSBhIGRpY3Rpb25hcnkuIik7cmV0dXJuIGUuZ2V0QXN5bmMoIktpZHMiKX0pKS50aGVuKChmdW5jdGlvbihlKXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCByPVtdO2xldCBuPSExO2Zvcihjb25zdCBhIG9mIGUpe2lmKCEoYSBpbnN0YW5jZW9mIFJlZikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbXVzdCBiZSBhIHJlZmVyZW5jZS4iKTtpZihpc1JlZnNFcXVhbChhLHQpKXtuPSEwO2JyZWFrfXIucHVzaChpLmZldGNoQXN5bmMoYSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtlLmhhcygiQ291bnQiKT9zKz1lLmdldCgiQ291bnQiKTpzKyt9KSkpfWlmKCFuKXRocm93IG5ldyBGb3JtYXRFcnJvcigiS2lkIHJlZmVyZW5jZSBub3QgZm91bmQgaW4gcGFyZW50J3Mga2lkcy4iKTtyZXR1cm4gUHJvbWlzZS5hbGwocikudGhlbigoZnVuY3Rpb24oKXtyZXR1cm5bcyxhXX0pKX0pKX0odCkudGhlbigodD0+e2lmKCF0KXt0aGlzLnBhZ2VJbmRleENhY2hlLnB1dChlLGEpO3JldHVybiBhfWNvbnN0W2ksc109dDthKz1pO3JldHVybiBuZXh0KHMpfSkpO3JldHVybiBuZXh0KGUpfWdldCBiYXNlVXJsKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiVVJJIik7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHQ9ZS5nZXQoIkJhc2UiKTtpZigic3RyaW5nIj09dHlwZW9mIHQpe2NvbnN0IGU9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybCh0LG51bGwse3RyeUNvbnZlcnRFbmNvZGluZzohMH0pO2lmKGUpcmV0dXJuIHNoYWRvdyh0aGlzLCJiYXNlVXJsIixlLmhyZWYpfX1yZXR1cm4gc2hhZG93KHRoaXMsImJhc2VVcmwiLHRoaXMucGRmTWFuYWdlci5kb2NCYXNlVXJsKX1zdGF0aWMgcGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6ZSxyZXN1bHRPYmo6dCxkb2NCYXNlVXJsOmk9bnVsbCxkb2NBdHRhY2htZW50czphPW51bGx9KXtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSl7d2FybigicGFyc2VEZXN0RGljdGlvbmFyeTogYGRlc3REaWN0YCBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtyZXR1cm59bGV0IHMscixuPWUuZ2V0KCJBIik7aWYoIShuIGluc3RhbmNlb2YgRGljdCkpaWYoZS5oYXMoIkRlc3QiKSluPWUuZ2V0KCJEZXN0Iik7ZWxzZXtuPWUuZ2V0KCJBQSIpO24gaW5zdGFuY2VvZiBEaWN0JiYobi5oYXMoIkQiKT9uPW4uZ2V0KCJEIik6bi5oYXMoIlUiKSYmKG49bi5nZXQoIlUiKSkpfWlmKG4gaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW4uZ2V0KCJTIik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpe3dhcm4oInBhcnNlRGVzdERpY3Rpb25hcnk6IEludmFsaWQgdHlwZSBpbiBBY3Rpb24gZGljdGlvbmFyeS4iKTtyZXR1cm59Y29uc3QgaT1lLm5hbWU7c3dpdGNoKGkpe2Nhc2UiUmVzZXRGb3JtIjpjb25zdCBlPW4uZ2V0KCJGbGFncyIpLGc9MD09KDEmKCJudW1iZXIiPT10eXBlb2YgZT9lOjApKSxvPVtdLGM9W107Zm9yKGNvbnN0IGUgb2Ygbi5nZXQoIkZpZWxkcyIpfHxbXSllIGluc3RhbmNlb2YgUmVmP2MucHVzaChlLnRvU3RyaW5nKCkpOiJzdHJpbmciPT10eXBlb2YgZSYmby5wdXNoKHN0cmluZ1RvUERGU3RyaW5nKGUpKTt0LnJlc2V0Rm9ybT17ZmllbGRzOm8scmVmczpjLGluY2x1ZGU6Z307YnJlYWs7Y2FzZSJVUkkiOnM9bi5nZXQoIlVSSSIpO3MgaW5zdGFuY2VvZiBOYW1lJiYocz0iLyIrcy5uYW1lKTticmVhaztjYXNlIkdvVG8iOnI9bi5nZXQoIkQiKTticmVhaztjYXNlIkxhdW5jaCI6Y2FzZSJHb1RvUiI6Y29uc3QgQz1uLmdldCgiRiIpO2lmKEMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW5ldyBGaWxlU3BlYyhDLG51bGwsITApLHtyYXdGaWxlbmFtZTp0fT1lLnNlcmlhbGl6YWJsZTtzPXR9ZWxzZSJzdHJpbmciPT10eXBlb2YgQyYmKHM9Qyk7Y29uc3QgaD1mZXRjaFJlbW90ZURlc3Qobik7aCYmInN0cmluZyI9PXR5cGVvZiBzJiYocz1zLnNwbGl0KCIjIiwxKVswXSsiIyIraCk7Y29uc3QgbD1uLmdldCgiTmV3V2luZG93Iik7ImJvb2xlYW4iPT10eXBlb2YgbCYmKHQubmV3V2luZG93PWwpO2JyZWFrO2Nhc2UiR29Ub0UiOmNvbnN0IFE9bi5nZXQoIlQiKTtsZXQgRTtpZihhJiZRIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1RLmdldCgiUiIpLHQ9US5nZXQoIk4iKTtpc05hbWUoZSwiQyIpJiYic3RyaW5nIj09dHlwZW9mIHQmJihFPWFbc3RyaW5nVG9QREZTdHJpbmcodCldKX1pZihFKXt0LmF0dGFjaG1lbnQ9RTtjb25zdCBlPWZldGNoUmVtb3RlRGVzdChuKTtlJiYodC5hdHRhY2htZW50RGVzdD1lKX1lbHNlIHdhcm4oJ3BhcnNlRGVzdERpY3Rpb25hcnkgLSB1bmltcGxlbWVudGVkICJHb1RvRSIgYWN0aW9uLicpO2JyZWFrO2Nhc2UiTmFtZWQiOmNvbnN0IHU9bi5nZXQoIk4iKTt1IGluc3RhbmNlb2YgTmFtZSYmKHQuYWN0aW9uPXUubmFtZSk7YnJlYWs7Y2FzZSJTZXRPQ0dTdGF0ZSI6Y29uc3QgZD1uLmdldCgiU3RhdGUiKSxmPW4uZ2V0KCJQcmVzZXJ2ZVJCIik7aWYoIUFycmF5LmlzQXJyYXkoZCl8fDA9PT1kLmxlbmd0aClicmVhaztjb25zdCBwPVtdO2Zvcihjb25zdCBlIG9mIGQpaWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJPTiI6Y2FzZSJPRkYiOmNhc2UiVG9nZ2xlIjpwLnB1c2goZS5uYW1lKX1lbHNlIGUgaW5zdGFuY2VvZiBSZWYmJnAucHVzaChlLnRvU3RyaW5nKCkpO2lmKHAubGVuZ3RoIT09ZC5sZW5ndGgpYnJlYWs7dC5zZXRPQ0dTdGF0ZT17c3RhdGU6cCxwcmVzZXJ2ZVJCOiJib29sZWFuIiE9dHlwZW9mIGZ8fGZ9O2JyZWFrO2Nhc2UiSmF2YVNjcmlwdCI6Y29uc3QgbT1uLmdldCgiSlMiKTtsZXQgeTttIGluc3RhbmNlb2YgQmFzZVN0cmVhbT95PW0uZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiBtJiYoeT1tKTtjb25zdCB3PXkmJnJlY292ZXJKc1VSTChzdHJpbmdUb1BERlN0cmluZyh5KSk7aWYodyl7cz13LnVybDt0Lm5ld1dpbmRvdz13Lm5ld1dpbmRvdzticmVha31kZWZhdWx0OmlmKCJKYXZhU2NyaXB0Ij09PWl8fCJTdWJtaXRGb3JtIj09PWkpYnJlYWs7d2FybihgcGFyc2VEZXN0RGljdGlvbmFyeSAtIHVuc3VwcG9ydGVkIGFjdGlvbjogIiR7aX0iLmApfX1lbHNlIGUuaGFzKCJEZXN0IikmJihyPWUuZ2V0KCJEZXN0IikpO2lmKCJzdHJpbmciPT10eXBlb2Ygcyl7Y29uc3QgZT1jcmVhdGVWYWxpZEFic29sdXRlVXJsKHMsaSx7YWRkRGVmYXVsdFByb3RvY29sOiEwLHRyeUNvbnZlcnRFbmNvZGluZzohMH0pO2UmJih0LnVybD1lLmhyZWYpO3QudW5zYWZlVXJsPXN9aWYocil7ciBpbnN0YW5jZW9mIE5hbWUmJihyPXIubmFtZSk7InN0cmluZyI9PXR5cGVvZiByP3QuZGVzdD1zdHJpbmdUb1BERlN0cmluZyhyKTppc1ZhbGlkRXhwbGljaXREZXN0KHIpJiYodC5kZXN0PXIpfX19ZnVuY3Rpb24gYWRkQ2hpbGRyZW4oZSx0KXtpZihlIGluc3RhbmNlb2YgRGljdCllPWUuZ2V0UmF3VmFsdWVzKCk7ZWxzZSBpZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSllPWUuZGljdC5nZXRSYXdWYWx1ZXMoKTtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybjtmb3IoY29uc3QgYSBvZiBlKSgoaT1hKWluc3RhbmNlb2YgUmVmfHxpIGluc3RhbmNlb2YgRGljdHx8aSBpbnN0YW5jZW9mIEJhc2VTdHJlYW18fEFycmF5LmlzQXJyYXkoaSkpJiZ0LnB1c2goYSk7dmFyIGl9Y2xhc3MgT2JqZWN0TG9hZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRpY3Q9ZTt0aGlzLmtleXM9dDt0aGlzLnhyZWY9aTt0aGlzLnJlZlNldD1udWxsfWFzeW5jIGxvYWQoKXtpZih0aGlzLnhyZWYuc3RyZWFtLmlzRGF0YUxvYWRlZClyZXR1cm47Y29uc3R7a2V5czplLGRpY3Q6dH09dGhpczt0aGlzLnJlZlNldD1uZXcgUmVmU2V0O2NvbnN0IGk9W107Zm9yKGNvbnN0IGEgb2YgZSl7Y29uc3QgZT10LmdldFJhdyhhKTt2b2lkIDAhPT1lJiZpLnB1c2goZSl9cmV0dXJuIHRoaXMuX3dhbGsoaSl9YXN5bmMgX3dhbGsoZSl7Y29uc3QgdD1bXSxpPVtdO2Zvcig7ZS5sZW5ndGg7KXtsZXQgYT1lLnBvcCgpO2lmKGEgaW5zdGFuY2VvZiBSZWYpe2lmKHRoaXMucmVmU2V0LmhhcyhhKSljb250aW51ZTt0cnl7dGhpcy5yZWZTZXQucHV0KGEpO2E9dGhpcy54cmVmLmZldGNoKGEpfWNhdGNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKSl7d2FybihgT2JqZWN0TG9hZGVyLl93YWxrIC0gcmVxdWVzdGluZyBhbGwgZGF0YTogIiR7ZX0iLmApO3RoaXMucmVmU2V0PW51bGw7Y29uc3R7bWFuYWdlcjp0fT10aGlzLnhyZWYuc3RyZWFtO3JldHVybiB0LnJlcXVlc3RBbGxDaHVua3MoKX10LnB1c2goYSk7aS5wdXNoKHtiZWdpbjplLmJlZ2luLGVuZDplLmVuZH0pfX1pZihhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgZT1hLmdldEJhc2VTdHJlYW1zKCk7aWYoZSl7bGV0IHM9ITE7Zm9yKGNvbnN0IHQgb2YgZSlpZighdC5pc0RhdGFMb2FkZWQpe3M9ITA7aS5wdXNoKHtiZWdpbjp0LnN0YXJ0LGVuZDp0LmVuZH0pfXMmJnQucHVzaChhKX19YWRkQ2hpbGRyZW4oYSxlKX1pZihpLmxlbmd0aCl7YXdhaXQgdGhpcy54cmVmLnN0cmVhbS5tYW5hZ2VyLnJlcXVlc3RSYW5nZXMoaSk7Zm9yKGNvbnN0IGUgb2YgdCllIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnJlZlNldC5yZW1vdmUoZSk7cmV0dXJuIHRoaXMuX3dhbGsodCl9dGhpcy5yZWZTZXQ9bnVsbH19Y29uc3QgV3M9U3ltYm9sKCksWHM9U3ltYm9sKCksanM9U3ltYm9sKCksWnM9U3ltYm9sKCksVnM9U3ltYm9sKCksenM9U3ltYm9sKCksX3M9U3ltYm9sKCksJHM9U3ltYm9sKCksQXI9U3ltYm9sKCksZXI9U3ltYm9sKCJjb250ZW50IiksdHI9U3ltYm9sKCJkYXRhIiksaXI9U3ltYm9sKCksYXI9U3ltYm9sKCJleHRyYSIpLHNyPVN5bWJvbCgpLHJyPVN5bWJvbCgpLG5yPVN5bWJvbCgpLGdyPVN5bWJvbCgpLG9yPVN5bWJvbCgpLElyPVN5bWJvbCgpLGNyPVN5bWJvbCgpLENyPVN5bWJvbCgpLGhyPVN5bWJvbCgpLGxyPVN5bWJvbCgpLFFyPVN5bWJvbCgpLEVyPVN5bWJvbCgpLHVyPVN5bWJvbCgpLGRyPVN5bWJvbCgpLGZyPVN5bWJvbCgpLHByPVN5bWJvbCgpLG1yPVN5bWJvbCgpLHlyPVN5bWJvbCgpLHdyPVN5bWJvbCgpLERyPVN5bWJvbCgpLGJyPVN5bWJvbCgpLEZyPVN5bWJvbCgpLFNyPVN5bWJvbCgpLGtyPVN5bWJvbCgpLFJyPVN5bWJvbCgpLE5yPVN5bWJvbCgpLEdyPVN5bWJvbCgpLHhyPVN5bWJvbCgpLFVyPVN5bWJvbCgpLE1yPVN5bWJvbCgpLExyPVN5bWJvbCgpLEhyPVN5bWJvbCgpLEpyPVN5bWJvbCgibmFtZXNwYWNlSWQiKSxZcj1TeW1ib2woIm5vZGVOYW1lIiksdnI9U3ltYm9sKCksVHI9U3ltYm9sKCksS3I9U3ltYm9sKCkscXI9U3ltYm9sKCksT3I9U3ltYm9sKCksUHI9U3ltYm9sKCksV3I9U3ltYm9sKCksWHI9U3ltYm9sKCksanI9U3ltYm9sKCJyb290IiksWnI9U3ltYm9sKCksVnI9U3ltYm9sKCksenI9U3ltYm9sKCksX3I9U3ltYm9sKCksJHI9U3ltYm9sKCksQW49U3ltYm9sKCksZW49U3ltYm9sKCksdG49U3ltYm9sKCksYW49U3ltYm9sKCksc249U3ltYm9sKCkscm49U3ltYm9sKCksbm49U3ltYm9sKCJ1aWQiKSxnbj1TeW1ib2woKSxvbj17Y29uZmlnOntpZDowLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94Y2kvIil9LGNvbm5lY3Rpb25TZXQ6e2lkOjEsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1jb25uZWN0aW9uLXNldC8iKX0sZGF0YXNldHM6e2lkOjIsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1kYXRhLyIpfSxmb3JtOntpZDozLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtZm9ybS8iKX0sbG9jYWxlU2V0OntpZDo0LGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtbG9jYWxlLXNldC8iKX0scGRmOntpZDo1LGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hkcC9wZGYvIj09PWV9LHNpZ25hdHVyZTp7aWQ6NixjaGVjazplPT4iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI9PT1lfSxzb3VyY2VTZXQ6e2lkOjcsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1zb3VyY2Utc2V0LyIpfSxzdHlsZXNoZWV0OntpZDo4LGNoZWNrOmU9PiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iPT09ZX0sdGVtcGxhdGU6e2lkOjksY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS10ZW1wbGF0ZS8iKX0seGRjOntpZDoxMCxjaGVjazplPT5lLnN0YXJ0c1dpdGgoImh0dHA6Ly93d3cueGZhLm9yZy9zY2hlbWEveGRjLyIpfSx4ZHA6e2lkOjExLGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hkcC8iPT09ZX0seGZkZjp7aWQ6MTIsY2hlY2s6ZT0+Imh0dHA6Ly9ucy5hZG9iZS5jb20veGZkZi8iPT09ZX0seGh0bWw6e2lkOjEzLGNoZWNrOmU9PiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWV9LHhtcG1ldGE6e2lkOjE0LGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3htcG1ldGEvIj09PWV9fSxJbj17cHQ6ZT0+ZSxjbTplPT5lLzIuNTQqNzIsbW06ZT0+ZS8yNS40KjcyLGluOmU9PjcyKmUscHg6ZT0+ZX0sY249LyhbKy1dP1xkK1wuP1xkKikoLiopLztmdW5jdGlvbiBzdHJpcFF1b3RlcyhlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCInIil8fGUuc3RhcnRzV2l0aCgnIicpP2Uuc2xpY2UoMSwtMSk6ZX1mdW5jdGlvbiBnZXRJbnRlZ2VyKHtkYXRhOmUsZGVmYXVsdFZhbHVlOnQsdmFsaWRhdGU6aX0pe2lmKCFlKXJldHVybiB0O2U9ZS50cmltKCk7Y29uc3QgYT1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4oYSkmJmkoYSk/YTp0fWZ1bmN0aW9uIGdldEZsb2F0KHtkYXRhOmUsZGVmYXVsdFZhbHVlOnQsdmFsaWRhdGU6aX0pe2lmKCFlKXJldHVybiB0O2U9ZS50cmltKCk7Y29uc3QgYT1wYXJzZUZsb2F0KGUpO3JldHVybiFpc05hTihhKSYmaShhKT9hOnR9ZnVuY3Rpb24gZ2V0S2V5d29yZCh7ZGF0YTplLGRlZmF1bHRWYWx1ZTp0LHZhbGlkYXRlOml9KXtyZXR1cm4gZSYmaShlPWUudHJpbSgpKT9lOnR9ZnVuY3Rpb24gZ2V0U3RyaW5nT3B0aW9uKGUsdCl7cmV0dXJuIGdldEtleXdvcmQoe2RhdGE6ZSxkZWZhdWx0VmFsdWU6dFswXSx2YWxpZGF0ZTplPT50LmluY2x1ZGVzKGUpfSl9ZnVuY3Rpb24gZ2V0TWVhc3VyZW1lbnQoZSx0PSIwIil7dHx8PSIwIjtpZighZSlyZXR1cm4gZ2V0TWVhc3VyZW1lbnQodCk7Y29uc3QgaT1lLnRyaW0oKS5tYXRjaChjbik7aWYoIWkpcmV0dXJuIGdldE1lYXN1cmVtZW50KHQpO2NvbnN0WyxhLHNdPWkscj1wYXJzZUZsb2F0KGEpO2lmKGlzTmFOKHIpKXJldHVybiBnZXRNZWFzdXJlbWVudCh0KTtpZigwPT09cilyZXR1cm4gMDtjb25zdCBuPUluW3NdO3JldHVybiBuP24ocik6cn1mdW5jdGlvbiBnZXRSYXRpbyhlKXtpZighZSlyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0IHQ9ZS50cmltKCkuc3BsaXQoL1xzKjpccyovKS5tYXAoKGU9PnBhcnNlRmxvYXQoZSkpKS5maWx0ZXIoKGU9PiFpc05hTihlKSkpOzE9PT10Lmxlbmd0aCYmdC5wdXNoKDEpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0W2ksYV09dDtyZXR1cm57bnVtOmksZGVuOmF9fWZ1bmN0aW9uIGdldFJlbGV2YW50KGUpe3JldHVybiBlP2UudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9Pih7ZXhjbHVkZWQ6Ii0iPT09ZVswXSx2aWV3bmFtZTplLnN1YnN0cmluZygxKX0pKSk6W119Y2xhc3MgSFRNTFJlc3VsdHtzdGF0aWMgZ2V0IEZBSUxVUkUoKXtyZXR1cm4gc2hhZG93KHRoaXMsIkZBSUxVUkUiLG5ldyBIVE1MUmVzdWx0KCExLG51bGwsbnVsbCxudWxsKSl9c3RhdGljIGdldCBFTVBUWSgpe3JldHVybiBzaGFkb3codGhpcywiRU1QVFkiLG5ldyBIVE1MUmVzdWx0KCEwLG51bGwsbnVsbCxudWxsKSl9Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5zdWNjZXNzPWU7dGhpcy5odG1sPXQ7dGhpcy5iYm94PWk7dGhpcy5icmVha05vZGU9YX1pc0JyZWFrKCl7cmV0dXJuISF0aGlzLmJyZWFrTm9kZX1zdGF0aWMgYnJlYWtOb2RlKGUpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMSxudWxsLG51bGwsZSl9c3RhdGljIHN1Y2Nlc3MoZSx0PW51bGwpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMCxlLHQsbnVsbCl9fWNsYXNzIEZvbnRGaW5kZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5mb250cz1uZXcgTWFwO3RoaXMuY2FjaGU9bmV3IE1hcDt0aGlzLndhcm5lZD1uZXcgU2V0O3RoaXMuZGVmYXVsdEZvbnQ9bnVsbDt0aGlzLmFkZChlKX1hZGQoZSx0PW51bGwpe2Zvcihjb25zdCB0IG9mIGUpdGhpcy5hZGRQZGZGb250KHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuZm9udHMudmFsdWVzKCkpZS5yZWd1bGFyfHwoZS5yZWd1bGFyPWUuaXRhbGljfHxlLmJvbGR8fGUuYm9sZGl0YWxpYyk7aWYoIXR8fDA9PT10LnNpemUpcmV0dXJuO2NvbnN0IGk9dGhpcy5mb250cy5nZXQoIlBkZkpTLUZhbGxiYWNrLVBkZkpTLVhGQSIpO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5mb250cy5zZXQoZSxpKX1hZGRQZGZGb250KGUpe2NvbnN0IHQ9ZS5jc3NGb250SW5mbyxpPXQuZm9udEZhbWlseTtsZXQgYT10aGlzLmZvbnRzLmdldChpKTtpZighYSl7YT1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuZm9udHMuc2V0KGksYSk7dGhpcy5kZWZhdWx0Rm9udHx8KHRoaXMuZGVmYXVsdEZvbnQ9YSl9bGV0IHM9IiI7Y29uc3Qgcj1wYXJzZUZsb2F0KHQuZm9udFdlaWdodCk7MCE9PXBhcnNlRmxvYXQodC5pdGFsaWNBbmdsZSk/cz1yPj03MDA/ImJvbGRpdGFsaWMiOiJpdGFsaWMiOnI+PTcwMCYmKHM9ImJvbGQiKTtpZighcyl7KGUubmFtZS5pbmNsdWRlcygiQm9sZCIpfHxlLnBzTmFtZT8uaW5jbHVkZXMoIkJvbGQiKSkmJihzPSJib2xkIik7KGUubmFtZS5pbmNsdWRlcygiSXRhbGljIil8fGUubmFtZS5lbmRzV2l0aCgiSXQiKXx8ZS5wc05hbWU/LmluY2x1ZGVzKCJJdGFsaWMiKXx8ZS5wc05hbWU/LmVuZHNXaXRoKCJJdCIpKSYmKHMrPSJpdGFsaWMiKX1zfHwocz0icmVndWxhciIpO2Fbc109ZX1nZXREZWZhdWx0KCl7cmV0dXJuIHRoaXMuZGVmYXVsdEZvbnR9ZmluZChlLHQ9ITApe2xldCBpPXRoaXMuZm9udHMuZ2V0KGUpfHx0aGlzLmNhY2hlLmdldChlKTtpZihpKXJldHVybiBpO2NvbnN0IGE9Lyx8LXxffCB8Ym9sZGl0YWxpY3xib2xkfGl0YWxpY3xyZWd1bGFyfGl0L2dpO2xldCBzPWUucmVwbGFjZUFsbChhLCIiKTtpPXRoaXMuZm9udHMuZ2V0KHMpO2lmKGkpe3RoaXMuY2FjaGUuc2V0KGUsaSk7cmV0dXJuIGl9cz1zLnRvTG93ZXJDYXNlKCk7Y29uc3Qgcj1bXTtmb3IoY29uc3RbZSx0XW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVwbGFjZUFsbChhLCIiKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocykmJnIucHVzaCh0KTtpZigwPT09ci5sZW5ndGgpZm9yKGNvbnN0WyxlXW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKGUpO2lmKDA9PT1yLmxlbmd0aCl7cz1zLnJlcGxhY2VBbGwoL3BzbXR8bXQvZ2ksIiIpO2Zvcihjb25zdFtlLHRdb2YgdGhpcy5mb250cy5lbnRyaWVzKCkpZS5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKHQpfWlmKDA9PT1yLmxlbmd0aClmb3IoY29uc3QgZSBvZiB0aGlzLmZvbnRzLnZhbHVlcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKGUpO2lmKHIubGVuZ3RoPj0xKXsxIT09ci5sZW5ndGgmJnQmJndhcm4oYFhGQSAtIFRvbyBtYW55IGNob2ljZXMgdG8gZ3Vlc3MgdGhlIGNvcnJlY3QgZm9udDogJHtlfWApO3RoaXMuY2FjaGUuc2V0KGUsclswXSk7cmV0dXJuIHJbMF19aWYodCYmIXRoaXMud2FybmVkLmhhcyhlKSl7dGhpcy53YXJuZWQuYWRkKGUpO3dhcm4oYFhGQSAtIENhbm5vdCBmaW5kIHRoZSBmb250OiAke2V9YCl9cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHNlbGVjdEZvbnQoZSx0KXtyZXR1cm4iaXRhbGljIj09PWUucG9zdHVyZT8iYm9sZCI9PT1lLndlaWdodD90LmJvbGRpdGFsaWM6dC5pdGFsaWM6ImJvbGQiPT09ZS53ZWlnaHQ/dC5ib2xkOnQucmVndWxhcn1jbGFzcyBGb250SW5mb3tjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLmxpbmVIZWlnaHQ9aTt0aGlzLnBhcmFNYXJnaW49dHx8e3RvcDowLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowfTtpZighZSl7W3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQoYSk7cmV0dXJufXRoaXMueGZhRm9udD17dHlwZWZhY2U6ZS50eXBlZmFjZSxwb3N0dXJlOmUucG9zdHVyZSx3ZWlnaHQ6ZS53ZWlnaHQsc2l6ZTplLnNpemUsbGV0dGVyU3BhY2luZzplLmxldHRlclNwYWNpbmd9O2NvbnN0IHM9YS5maW5kKGUudHlwZWZhY2UpO2lmKHMpe3RoaXMucGRmRm9udD1zZWxlY3RGb250KGUscyk7dGhpcy5wZGZGb250fHwoW3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQoYSkpfWVsc2VbdGhpcy5wZGZGb250LHRoaXMueGZhRm9udF09dGhpcy5kZWZhdWx0Rm9udChhKX1kZWZhdWx0Rm9udChlKXtjb25zdCB0PWUuZmluZCgiSGVsdmV0aWNhIiwhMSl8fGUuZmluZCgiTXlyaWFkIFBybyIsITEpfHxlLmZpbmQoIkFyaWFsIiwhMSl8fGUuZ2V0RGVmYXVsdCgpO2lmKHQ/LnJlZ3VsYXIpe2NvbnN0IGU9dC5yZWd1bGFyO3JldHVybltlLHt0eXBlZmFjZTplLmNzc0ZvbnRJbmZvLmZvbnRGYW1pbHkscG9zdHVyZToibm9ybWFsIix3ZWlnaHQ6Im5vcm1hbCIsc2l6ZToxMCxsZXR0ZXJTcGFjaW5nOjB9XX1yZXR1cm5bbnVsbCx7dHlwZWZhY2U6IkNvdXJpZXIiLHBvc3R1cmU6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwiLHNpemU6MTAsbGV0dGVyU3BhY2luZzowfV19fWNsYXNzIEZvbnRTZWxlY3Rvcntjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLmZvbnRGaW5kZXI9YTt0aGlzLnN0YWNrPVtuZXcgRm9udEluZm8oZSx0LGksYSldfXB1c2hEYXRhKGUsdCxpKXtjb25zdCBhPXRoaXMuc3RhY2suYXQoLTEpO2Zvcihjb25zdCB0IG9mWyJ0eXBlZmFjZSIsInBvc3R1cmUiLCJ3ZWlnaHQiLCJzaXplIiwibGV0dGVyU3BhY2luZyJdKWVbdF18fChlW3RdPWEueGZhRm9udFt0XSk7Zm9yKGNvbnN0IGUgb2ZbInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdKWlzTmFOKHRbZV0pJiYodFtlXT1hLnBhcmFNYXJnaW5bZV0pO2NvbnN0IHM9bmV3IEZvbnRJbmZvKGUsdCxpfHxhLmxpbmVIZWlnaHQsdGhpcy5mb250RmluZGVyKTtzLnBkZkZvbnR8fChzLnBkZkZvbnQ9YS5wZGZGb250KTt0aGlzLnN0YWNrLnB1c2gocyl9cG9wRm9udCgpe3RoaXMuc3RhY2sucG9wKCl9dG9wRm9udCgpe3JldHVybiB0aGlzLnN0YWNrLmF0KC0xKX19Y2xhc3MgVGV4dE1lYXN1cmV7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5nbHlwaHM9W107dGhpcy5mb250U2VsZWN0b3I9bmV3IEZvbnRTZWxlY3RvcihlLHQsaSxhKTt0aGlzLmV4dHJhSGVpZ2h0PTB9cHVzaERhdGEoZSx0LGkpe3RoaXMuZm9udFNlbGVjdG9yLnB1c2hEYXRhKGUsdCxpKX1wb3BGb250KGUpe3JldHVybiB0aGlzLmZvbnRTZWxlY3Rvci5wb3BGb250KCl9YWRkUGFyYSgpe2NvbnN0IGU9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpO3RoaXMuZXh0cmFIZWlnaHQrPWUucGFyYU1hcmdpbi50b3ArZS5wYXJhTWFyZ2luLmJvdHRvbX1hZGRTdHJpbmcoZSl7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpLGk9dC54ZmFGb250LnNpemU7aWYodC5wZGZGb250KXtjb25zdCBhPXQueGZhRm9udC5sZXR0ZXJTcGFjaW5nLHM9dC5wZGZGb250LHI9cy5saW5lSGVpZ2h0fHwxLjIsbj10LmxpbmVIZWlnaHR8fE1hdGgubWF4KDEuMixyKSppLGc9ci0odm9pZCAwPT09cy5saW5lR2FwPy4yOnMubGluZUdhcCksbz1NYXRoLm1heCgxLGcpKmksYz1pLzFlMyxDPXMuZGVmYXVsdFdpZHRofHxzLmNoYXJzVG9HbHlwaHMoIiAiKVswXS53aWR0aDtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2NvbnN0IGU9cy5lbmNvZGVTdHJpbmcodCkuam9pbigiIiksaT1zLmNoYXJzVG9HbHlwaHMoZSk7Zm9yKGNvbnN0IGUgb2YgaSl7Y29uc3QgdD1lLndpZHRofHxDO3RoaXMuZ2x5cGhzLnB1c2goW3QqYythLG4sbyxlLnVuaWNvZGUsITFdKX10aGlzLmdseXBocy5wdXNoKFswLDAsMCwiXG4iLCEwXSl9dGhpcy5nbHlwaHMucG9wKCl9ZWxzZXtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2Zvcihjb25zdCBlIG9mIHQuc3BsaXQoIiIpKXRoaXMuZ2x5cGhzLnB1c2goW2ksMS4yKmksaSxlLCExXSk7dGhpcy5nbHlwaHMucHVzaChbMCwwLDAsIlxuIiwhMF0pfXRoaXMuZ2x5cGhzLnBvcCgpfX1jb21wdXRlKGUpe2xldCB0PS0xLGk9MCxhPTAscz0wLHI9MCxuPTAsZz0hMSxvPSEwO2ZvcihsZXQgYz0wLEM9dGhpcy5nbHlwaHMubGVuZ3RoO2M8QztjKyspe2NvbnN0W0MsaCxsLFEsRV09dGhpcy5nbHlwaHNbY10sdT0iICI9PT1RLGQ9bz9sOmg7aWYoRSl7YT1NYXRoLm1heChhLHIpO3I9MDtzKz1uO249ZDt0PS0xO2k9MDtvPSExfWVsc2UgaWYodSlpZihyK0M+ZSl7YT1NYXRoLm1heChhLHIpO3I9MDtzKz1uO249ZDt0PS0xO2k9MDtnPSEwO289ITF9ZWxzZXtuPU1hdGgubWF4KGQsbik7aT1yO3IrPUM7dD1jfWVsc2UgaWYocitDPmUpe3MrPW47bj1kO2lmKC0xIT09dCl7Yz10O2E9TWF0aC5tYXgoYSxpKTtyPTA7dD0tMTtpPTB9ZWxzZXthPU1hdGgubWF4KGEscik7cj1DfWc9ITA7bz0hMX1lbHNle3IrPUM7bj1NYXRoLm1heChkLG4pfX1hPU1hdGgubWF4KGEscik7cys9bit0aGlzLmV4dHJhSGVpZ2h0O3JldHVybnt3aWR0aDoxLjAyKmEsaGVpZ2h0OnMsaXNCcm9rZW46Z319fWNvbnN0IENuPS9eW14uW10rLyxobj0vXlteXF1dKy8sbG49e2RvdDowLGRvdERvdDoxLGRvdEhhc2g6Mixkb3RCcmFja2V0OjMsZG90UGFyZW46NH0sQm49bmV3IE1hcChbWyIkZGF0YSIsKGUsdCk9PmUuZGF0YXNldHM/ZS5kYXRhc2V0cy5kYXRhOmVdLFsiJHJlY29yZCIsKGUsdCk9PihlLmRhdGFzZXRzP2UuZGF0YXNldHMuZGF0YTplKVtFcl0oKVswXV0sWyIkdGVtcGxhdGUiLChlLHQpPT5lLnRlbXBsYXRlXSxbIiRjb25uZWN0aW9uU2V0IiwoZSx0KT0+ZS5jb25uZWN0aW9uU2V0XSxbIiRmb3JtIiwoZSx0KT0+ZS5mb3JtXSxbIiRsYXlvdXQiLChlLHQpPT5lLmxheW91dF0sWyIkaG9zdCIsKGUsdCk9PmUuaG9zdF0sWyIkZGF0YVdpbmRvdyIsKGUsdCk9PmUuZGF0YVdpbmRvd10sWyIkZXZlbnQiLChlLHQpPT5lLmV2ZW50XSxbIiEiLChlLHQpPT5lLmRhdGFzZXRzXSxbIiR4ZmEiLChlLHQpPT5lXSxbInhmYSIsKGUsdCk9PmVdLFsiJCIsKGUsdCk9PnRdXSksUW49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gcGFyc2VFeHByZXNzaW9uKGUsdCxpPSEwKXtsZXQgYT1lLm1hdGNoKENuKTtpZighYSlyZXR1cm4gbnVsbDtsZXRbc109YTtjb25zdCByPVt7bmFtZTpzLGNhY2hlTmFtZToiLiIrcyxpbmRleDowLGpzOm51bGwsZm9ybUNhbGM6bnVsbCxvcGVyYXRvcjpsbi5kb3R9XTtsZXQgbj1zLmxlbmd0aDtmb3IoO248ZS5sZW5ndGg7KXtjb25zdCBvPW47aWYoIlsiPT09ZS5jaGFyQXQobisrKSl7YT1lLnNsaWNlKG4pLm1hdGNoKGhuKTtpZighYSl7d2FybigiWEZBIC0gSW52YWxpZCBpbmRleCBpbiBTT00gZXhwcmVzc2lvbiIpO3JldHVybiBudWxsfXIuYXQoLTEpLmluZGV4PSIqIj09PShnPShnPWFbMF0pLnRyaW0oKSk/MS8wOnBhcnNlSW50KGcsMTApfHwwO24rPWFbMF0ubGVuZ3RoKzE7Y29udGludWV9bGV0IGM7c3dpdGNoKGUuY2hhckF0KG4pKXtjYXNlIi4iOmlmKCF0KXJldHVybiBudWxsO24rKztjPWxuLmRvdERvdDticmVhaztjYXNlIiMiOm4rKztjPWxuLmRvdEhhc2g7YnJlYWs7Y2FzZSJbIjppZihpKXt3YXJuKCJYRkEgLSBTT00gZXhwcmVzc2lvbiBjb250YWlucyBhIEZvcm1DYWxjIHN1YmV4cHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZCBmb3Igbm93LiIpO3JldHVybiBudWxsfWM9bG4uZG90QnJhY2tldDticmVhaztjYXNlIigiOmlmKGkpe3dhcm4oIlhGQSAtIFNPTSBleHByZXNzaW9uIGNvbnRhaW5zIGEgSmF2YVNjcmlwdCBzdWJleHByZXNzaW9uIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIG5vdy4iKTtyZXR1cm4gbnVsbH1jPWxuLmRvdFBhcmVuO2JyZWFrO2RlZmF1bHQ6Yz1sbi5kb3R9YT1lLnNsaWNlKG4pLm1hdGNoKENuKTtpZighYSlicmVhaztbc109YTtuKz1zLmxlbmd0aDtyLnB1c2goe25hbWU6cyxjYWNoZU5hbWU6ZS5zbGljZShvLG4pLG9wZXJhdG9yOmMsaW5kZXg6MCxqczpudWxsLGZvcm1DYWxjOm51bGx9KX12YXIgZztyZXR1cm4gcn1mdW5jdGlvbiBzZWFyY2hOb2RlKGUsdCxpLGE9ITAscz0hMCl7Y29uc3Qgcj1wYXJzZUV4cHJlc3Npb24oaSxhKTtpZighcilyZXR1cm4gbnVsbDtjb25zdCBuPUJuLmdldChyWzBdLm5hbWUpO2xldCBnLG89MDtpZihuKXtnPSEwO2U9W24oZSx0KV07bz0xfWVsc2V7Zz1udWxsPT09dDtlPVt0fHxlXX1mb3IobGV0IGk9ci5sZW5ndGg7bzxpO28rKyl7Y29uc3R7bmFtZTppLGNhY2hlTmFtZTphLG9wZXJhdG9yOm4saW5kZXg6Y309cltvXSxDPVtdO2Zvcihjb25zdCB0IG9mIGUpe2lmKCF0LmlzWEZBT2JqZWN0KWNvbnRpbnVlO2xldCBlLHI7aWYocyl7cj1Rbi5nZXQodCk7aWYoIXIpe3I9bmV3IE1hcDtRbi5zZXQodCxyKX1lPXIuZ2V0KGEpfWlmKCFlKXtzd2l0Y2gobil7Y2FzZSBsbi5kb3Q6ZT10W2NyXShpLCExKTticmVhaztjYXNlIGxuLmRvdERvdDplPXRbY3JdKGksITApO2JyZWFrO2Nhc2UgbG4uZG90SGFzaDplPXRbSXJdKGkpO2U9ZS5pc1hGQU9iamVjdEFycmF5P2UuY2hpbGRyZW46W2VdfXMmJnIuc2V0KGEsZSl9ZS5sZW5ndGg+MCYmQy5wdXNoKGUpfWlmKDAhPT1DLmxlbmd0aHx8Z3x8MCE9PW8pZT1pc0Zpbml0ZShjKT9DLmZpbHRlcigoZT0+YzxlLmxlbmd0aCkpLm1hcCgoZT0+ZVtjXSkpOkMuZmxhdCgpO2Vsc2V7Y29uc3QgaT10W3ByXSgpO2lmKCEodD1pKSlyZXR1cm4gbnVsbDtvPS0xO2U9W3RdfX1yZXR1cm4gMD09PWUubGVuZ3RoP251bGw6ZX1mdW5jdGlvbiBjcmVhdGVEYXRhTm9kZShlLHQsaSl7Y29uc3QgYT1wYXJzZUV4cHJlc3Npb24oaSk7aWYoIWEpcmV0dXJuIG51bGw7aWYoYS5zb21lKChlPT5lLm9wZXJhdG9yPT09bG4uZG90RG90KSkpcmV0dXJuIG51bGw7Y29uc3Qgcz1Cbi5nZXQoYVswXS5uYW1lKTtsZXQgcj0wO2lmKHMpe2U9cyhlLHQpO3I9MX1lbHNlIGU9dHx8ZTtmb3IobGV0IHQ9YS5sZW5ndGg7cjx0O3IrKyl7Y29uc3R7bmFtZTp0LG9wZXJhdG9yOmksaW5kZXg6c309YVtyXTtpZighaXNGaW5pdGUocykpe2Fbcl0uaW5kZXg9MDtyZXR1cm4gZS5jcmVhdGVOb2RlcyhhLnNsaWNlKHIpKX1sZXQgbjtzd2l0Y2goaSl7Y2FzZSBsbi5kb3Q6bj1lW2NyXSh0LCExKTticmVhaztjYXNlIGxuLmRvdERvdDpuPWVbY3JdKHQsITApO2JyZWFrO2Nhc2UgbG4uZG90SGFzaDpuPWVbSXJdKHQpO249bi5pc1hGQU9iamVjdEFycmF5P24uY2hpbGRyZW46W25dfWlmKDA9PT1uLmxlbmd0aClyZXR1cm4gZS5jcmVhdGVOb2RlcyhhLnNsaWNlKHIpKTtpZighKHM8bi5sZW5ndGgpKXthW3JdLmluZGV4PXMtbi5sZW5ndGg7cmV0dXJuIGUuY3JlYXRlTm9kZXMoYS5zbGljZShyKSl9e2NvbnN0IHQ9bltzXTtpZighdC5pc1hGQU9iamVjdCl7d2FybigiWEZBIC0gQ2Fubm90IGNyZWF0ZSBhIG5vZGUuIik7cmV0dXJuIG51bGx9ZT10fX1yZXR1cm4gbnVsbH1jb25zdCBFbj1TeW1ib2woKSx1bj1TeW1ib2woKSxkbj1TeW1ib2woKSxmbj1TeW1ib2woIl9jaGlsZHJlbiIpLHBuPVN5bWJvbCgpLG1uPVN5bWJvbCgpLHluPVN5bWJvbCgpLHduPVN5bWJvbCgpLERuPVN5bWJvbCgpLGJuPVN5bWJvbCgpLEZuPVN5bWJvbCgpLFNuPVN5bWJvbCgpLGtuPVN5bWJvbCgpLFJuPVN5bWJvbCgicGFyZW50IiksTm49U3ltYm9sKCksR249U3ltYm9sKCkseG49U3ltYm9sKCk7bGV0IFVuPTA7Y29uc3QgTW49b24uZGF0YXNldHMuaWQ7Y2xhc3MgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCxpPSExKXt0aGlzW0pyXT1lO3RoaXNbWXJdPXQ7dGhpc1tGbl09aTt0aGlzW1JuXT1udWxsO3RoaXNbZm5dPVtdO3RoaXNbbm5dPWAke3R9JHtVbisrfWA7dGhpc1t5cl09bnVsbH1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMH1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiExfWNyZWF0ZU5vZGVzKGUpe2xldCB0PXRoaXMsaT1udWxsO2Zvcihjb25zdHtuYW1lOmEsaW5kZXg6c31vZiBlKXtmb3IobGV0IGU9MCxyPWlzRmluaXRlKHMpP3M6MDtlPD1yO2UrKyl7Y29uc3QgZT10W0pyXT09PU1uPy0xOnRbSnJdO2k9bmV3IFhtbE9iamVjdChlLGEpO3RbanNdKGkpfXQ9aX1yZXR1cm4gaX1bVHJdKGUpe2lmKCF0aGlzW0ZuXXx8IXRoaXNbS3JdKGUpKXJldHVybiExO2NvbnN0IHQ9ZVtZcl0saT10aGlzW3RdO2lmKCEoaSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5KSl7bnVsbCE9PWkmJnRoaXNbWHJdKGkpO3RoaXNbdF09ZTt0aGlzW2pzXShlKTtyZXR1cm4hMH1pZihpLnB1c2goZSkpe3RoaXNbanNdKGUpO3JldHVybiEwfWxldCBhPSIiO3RoaXMuaWQ/YT1gIChpZDogJHt0aGlzLmlkfSlgOnRoaXMubmFtZSYmKGE9YCAobmFtZTogJHt0aGlzLm5hbWV9ICR7dGhpcy5oLnZhbHVlfSlgKTt3YXJuKGBYRkEgLSBub2RlICIke3RoaXNbWXJdfSIke2F9IGhhcyBhbHJlYWR5IGVub3VnaCAiJHt0fSIhYCk7cmV0dXJuITF9W0tyXShlKXtyZXR1cm4gdGhpcy5oYXNPd25Qcm9wZXJ0eShlW1lyXSkmJmVbSnJdPT09dGhpc1tKcl19W0dyXSgpe3JldHVybiExfVtXc10oKXtyZXR1cm4hMX1bU3JdKCl7cmV0dXJuITF9W2tyXSgpe3JldHVybiExfVtQcl0oKXt0aGlzLnBhcmEmJnRoaXNbbXJdKClbYXJdLnBhcmFTdGFjay5wb3AoKX1bV3JdKCl7dGhpc1ttcl0oKVthcl0ucGFyYVN0YWNrLnB1c2godGhpcy5wYXJhKX1benJdKGUpe3RoaXMuaWQmJnRoaXNbSnJdPT09b24udGVtcGxhdGUuaWQmJmUuc2V0KHRoaXMuaWQsdGhpcyl9W21yXSgpe3JldHVybiB0aGlzW3lyXS50ZW1wbGF0ZX1beHJdKCl7cmV0dXJuITF9W1VyXSgpe3JldHVybiExfVtqc10oZSl7ZVtSbl09dGhpczt0aGlzW2ZuXS5wdXNoKGUpOyFlW3lyXSYmdGhpc1t5cl0mJihlW3lyXT10aGlzW3lyXSl9W1hyXShlKXtjb25zdCB0PXRoaXNbZm5dLmluZGV4T2YoZSk7dGhpc1tmbl0uc3BsaWNlKHQsMSl9W3dyXSgpe3JldHVybiB0aGlzLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpfVskcl0oZSl7fVtxcl0oZSl7fVtzcl0oKXt9W1ZzXShlKXtkZWxldGUgdGhpc1tGbl07aWYodGhpc1tfc10pe2UuY2xlYW4odGhpc1tfc10pO2RlbGV0ZSB0aGlzW19zXX19W2JyXShlKXtyZXR1cm4gdGhpc1tmbl0uaW5kZXhPZihlKX1bRnJdKGUsdCl7dFtSbl09dGhpczt0aGlzW2ZuXS5zcGxpY2UoZSwwLHQpOyF0W3lyXSYmdGhpc1t5cl0mJih0W3lyXT10aGlzW3lyXSl9W01yXSgpe3JldHVybiF0aGlzLm5hbWV9W0hyXSgpe3JldHVybiIifVtlbl0oKXtyZXR1cm4gMD09PXRoaXNbZm5dLmxlbmd0aD90aGlzW2VyXTp0aGlzW2ZuXS5tYXAoKGU9PmVbZW5dKCkpKS5qb2luKCIiKX1nZXRbZG5dKCl7Y29uc3QgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7aWYoIWUuX2F0dHJpYnV0ZXMpe2NvbnN0IHQ9ZS5fYXR0cmlidXRlcz1uZXcgU2V0O2Zvcihjb25zdCBlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZihudWxsPT09dGhpc1tlXXx8dGhpc1tlXWluc3RhbmNlb2YgWEZBT2JqZWN0fHx0aGlzW2VdaW5zdGFuY2VvZiBYRkFPYmplY3RBcnJheSlicmVhazt0LmFkZChlKX19cmV0dXJuIHNoYWRvdyh0aGlzLGRuLGUuX2F0dHJpYnV0ZXMpfVtOcl0oZSl7bGV0IHQ9dGhpcztmb3IoO3Q7KXtpZih0PT09ZSlyZXR1cm4hMDt0PXRbcHJdKCl9cmV0dXJuITF9W3ByXSgpe3JldHVybiB0aGlzW1JuXX1bZnJdKCl7cmV0dXJuIHRoaXNbcHJdKCl9W0VyXShlPW51bGwpe3JldHVybiBlP3RoaXNbZV06dGhpc1tmbl19W2lyXSgpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzW2VyXSYmKGUuJGNvbnRlbnQ9dGhpc1tlcl0pO2Zvcihjb25zdCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtjb25zdCBpPXRoaXNbdF07bnVsbCE9PWkmJihpIGluc3RhbmNlb2YgWEZBT2JqZWN0P2VbdF09aVtpcl0oKTppIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXk/aS5pc0VtcHR5KCl8fChlW3RdPWkuZHVtcCgpKTplW3RdPWkpfXJldHVybiBlfVtybl0oKXtyZXR1cm4gbnVsbH1bYW5dKCl7cmV0dXJuIEhUTUxSZXN1bHQuRU1QVFl9Klt1cl0oKXtmb3IoY29uc3QgZSBvZiB0aGlzW0VyXSgpKXlpZWxkIGV9Klt3bl0oZSx0KXtmb3IoY29uc3QgaSBvZiB0aGlzW3VyXSgpKWlmKCFlfHx0PT09ZS5oYXMoaVtZcl0pKXtjb25zdCBlPXRoaXNbb3JdKCksdD1pW2FuXShlKTt0LnN1Y2Nlc3N8fCh0aGlzW2FyXS5mYWlsaW5nTm9kZT1pKTt5aWVsZCB0fX1bcnJdKCl7cmV0dXJuIG51bGx9W1hzXShlLHQpe3RoaXNbYXJdLmNoaWxkcmVuLnB1c2goZSl9W29yXSgpe31bWnNdKHtmaWx0ZXI6ZT1udWxsLGluY2x1ZGU6dD0hMH0pe2lmKHRoaXNbYXJdLmdlbmVyYXRvcil7Y29uc3QgZT10aGlzW29yXSgpLHQ9dGhpc1thcl0uZmFpbGluZ05vZGVbYW5dKGUpO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW1hzXSh0Lmh0bWwsdC5iYm94KTtkZWxldGUgdGhpc1thcl0uZmFpbGluZ05vZGV9ZWxzZSB0aGlzW2FyXS5nZW5lcmF0b3I9dGhpc1t3bl0oZSx0KTtmb3IoOzspe2NvbnN0IGU9dGhpc1thcl0uZ2VuZXJhdG9yLm5leHQoKTtpZihlLmRvbmUpYnJlYWs7Y29uc3QgdD1lLnZhbHVlO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW1hzXSh0Lmh0bWwsdC5iYm94KX10aGlzW2FyXS5nZW5lcmF0b3I9bnVsbDtyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX1bX3JdKGUpe3RoaXNbR25dPW5ldyBTZXQoT2JqZWN0LmtleXMoZSkpfVtibl0oZSl7Y29uc3QgdD10aGlzW2RuXSxpPXRoaXNbR25dO3JldHVyblsuLi5lXS5maWx0ZXIoKGU9PnQuaGFzKGUpJiYhaS5oYXMoZSkpKX1bWnJdKGUsdD1uZXcgU2V0KXtmb3IoY29uc3QgaSBvZiB0aGlzW2ZuXSlpW05uXShlLHQpfVtObl0oZSx0KXtjb25zdCBpPXRoaXNbRG5dKGUsdCk7aT90aGlzW0VuXShpLGUsdCk6dGhpc1tacl0oZSx0KX1bRG5dKGUsdCl7Y29uc3R7dXNlOmksdXNlaHJlZjphfT10aGlzO2lmKCFpJiYhYSlyZXR1cm4gbnVsbDtsZXQgcz1udWxsLHI9bnVsbCxuPW51bGwsZz1pO2lmKGEpe2c9YTthLnN0YXJ0c1dpdGgoIiNzb20oIikmJmEuZW5kc1dpdGgoIikiKT9yPWEuc2xpY2UoNSwtMSk6YS5zdGFydHNXaXRoKCIuI3NvbSgiKSYmYS5lbmRzV2l0aCgiKSIpP3I9YS5zbGljZSg2LC0xKTphLnN0YXJ0c1dpdGgoIiMiKT9uPWEuc2xpY2UoMSk6YS5zdGFydHNXaXRoKCIuIyIpJiYobj1hLnNsaWNlKDIpKX1lbHNlIGkuc3RhcnRzV2l0aCgiIyIpP249aS5zbGljZSgxKTpyPWk7dGhpcy51c2U9dGhpcy51c2VocmVmPSIiO2lmKG4pcz1lLmdldChuKTtlbHNle3M9c2VhcmNoTm9kZShlLmdldChqciksdGhpcyxyLCEwLCExKTtzJiYocz1zWzBdKX1pZighcyl7d2FybihgWEZBIC0gSW52YWxpZCBwcm90b3R5cGUgcmVmZXJlbmNlOiAke2d9LmApO3JldHVybiBudWxsfWlmKHNbWXJdIT09dGhpc1tZcl0pe3dhcm4oYFhGQSAtIEluY29tcGF0aWJsZSBwcm90b3R5cGU6ICR7c1tZcl19ICE9PSAke3RoaXNbWXJdfS5gKTtyZXR1cm4gbnVsbH1pZih0LmhhcyhzKSl7d2FybigiWEZBIC0gQ3ljbGUgZGV0ZWN0ZWQgaW4gcHJvdG90eXBlcyB1c2UuIik7cmV0dXJuIG51bGx9dC5hZGQocyk7Y29uc3Qgbz1zW0RuXShlLHQpO28mJnNbRW5dKG8sZSx0KTtzW1pyXShlLHQpO3QuZGVsZXRlKHMpO3JldHVybiBzfVtFbl0oZSx0LGkpe2lmKGkuaGFzKGUpKXt3YXJuKCJYRkEgLSBDeWNsZSBkZXRlY3RlZCBpbiBwcm90b3R5cGVzIHVzZS4iKTtyZXR1cm59IXRoaXNbZXJdJiZlW2VyXSYmKHRoaXNbZXJdPWVbZXJdKTtuZXcgU2V0KGkpLmFkZChlKTtmb3IoY29uc3QgdCBvZiB0aGlzW2JuXShlW0duXSkpe3RoaXNbdF09ZVt0XTt0aGlzW0duXSYmdGhpc1tHbl0uYWRkKHQpfWZvcihjb25zdCBhIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZih0aGlzW2RuXS5oYXMoYSkpY29udGludWU7Y29uc3Qgcz10aGlzW2FdLHI9ZVthXTtpZihzIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXkpe2Zvcihjb25zdCBlIG9mIHNbZm5dKWVbTm5dKHQsaSk7Zm9yKGxldCBhPXNbZm5dLmxlbmd0aCxuPXJbZm5dLmxlbmd0aDthPG47YSsrKXtjb25zdCByPWVbZm5dW2FdWyRzXSgpO2lmKCFzLnB1c2gocikpYnJlYWs7cltSbl09dGhpczt0aGlzW2ZuXS5wdXNoKHIpO3JbTm5dKHQsaSl9fWVsc2UgaWYobnVsbD09PXMpe2lmKG51bGwhPT1yKXtjb25zdCBlPXJbJHNdKCk7ZVtSbl09dGhpczt0aGlzW2FdPWU7dGhpc1tmbl0ucHVzaChlKTtlW05uXSh0LGkpfX1lbHNle3NbWnJdKHQsaSk7ciYmc1tFbl0ocix0LGkpfX19c3RhdGljW3BuXShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLm1hcCgoZT0+WEZBT2JqZWN0W3BuXShlKSkpOiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWU/T2JqZWN0LmFzc2lnbih7fSxlKTplfVskc10oKXtjb25zdCBlPU9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpKTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRoaXMpKXRyeXtlW3RdPXRoaXNbdF19Y2F0Y2h7c2hhZG93KGUsdCx0aGlzW3RdKX1lW25uXT1gJHtlW1lyXX0ke1VuKyt9YDtlW2ZuXT1bXTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYodGhpc1tkbl0uaGFzKHQpKXtlW3RdPVhGQU9iamVjdFtwbl0odGhpc1t0XSk7Y29udGludWV9Y29uc3QgaT10aGlzW3RdO2VbdF09aSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5P25ldyBYRkFPYmplY3RBcnJheShpW1NuXSk6bnVsbH1mb3IoY29uc3QgdCBvZiB0aGlzW2ZuXSl7Y29uc3QgaT10W1lyXSxhPXRbJHNdKCk7ZVtmbl0ucHVzaChhKTthW1JuXT1lO251bGw9PT1lW2ldP2VbaV09YTplW2ldW2ZuXS5wdXNoKGEpfXJldHVybiBlfVtFcl0oZT1udWxsKXtyZXR1cm4gZT90aGlzW2ZuXS5maWx0ZXIoKHQ9PnRbWXJdPT09ZSkpOnRoaXNbZm5dfVtJcl0oZSl7cmV0dXJuIHRoaXNbZV19W2NyXShlLHQsaT0hMCl7cmV0dXJuIEFycmF5LmZyb20odGhpc1tDcl0oZSx0LGkpKX0qW0NyXShlLHQsaT0hMCl7aWYoInBhcmVudCIhPT1lKXtmb3IoY29uc3QgaSBvZiB0aGlzW2ZuXSl7aVtZcl09PT1lJiYoeWllbGQgaSk7aS5uYW1lPT09ZSYmKHlpZWxkIGkpOyh0fHxpW01yXSgpKSYmKHlpZWxkKmlbQ3JdKGUsdCwhMSkpfWkmJnRoaXNbZG5dLmhhcyhlKSYmKHlpZWxkIG5ldyBYRkFBdHRyaWJ1dGUodGhpcyxlLHRoaXNbZV0pKX1lbHNlIHlpZWxkIHRoaXNbUm5dfX1jbGFzcyBYRkFPYmplY3RBcnJheXtjb25zdHJ1Y3RvcihlPTEvMCl7dGhpc1tTbl09ZTt0aGlzW2ZuXT1bXX1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMX1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiEwfXB1c2goZSl7aWYodGhpc1tmbl0ubGVuZ3RoPD10aGlzW1NuXSl7dGhpc1tmbl0ucHVzaChlKTtyZXR1cm4hMH13YXJuKGBYRkEgLSBub2RlICIke2VbWXJdfSIgYWNjZXB0cyBubyBtb3JlIHRoYW4gJHt0aGlzW1NuXX0gY2hpbGRyZW5gKTtyZXR1cm4hMX1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzW2ZuXS5sZW5ndGh9ZHVtcCgpe3JldHVybiAxPT09dGhpc1tmbl0ubGVuZ3RoP3RoaXNbZm5dWzBdW2lyXSgpOnRoaXNbZm5dLm1hcCgoZT0+ZVtpcl0oKSkpfVskc10oKXtjb25zdCBlPW5ldyBYRkFPYmplY3RBcnJheSh0aGlzW1NuXSk7ZVtmbl09dGhpc1tmbl0ubWFwKChlPT5lWyRzXSgpKSk7cmV0dXJuIGV9Z2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXNbZm5dfWNsZWFyKCl7dGhpc1tmbl0ubGVuZ3RoPTB9fWNsYXNzIFhGQUF0dHJpYnV0ZXtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpc1tSbl09ZTt0aGlzW1lyXT10O3RoaXNbZXJdPWk7dGhpc1tBcl09ITE7dGhpc1tubl09ImF0dHJpYnV0ZSIrVW4rK31bcHJdKCl7cmV0dXJuIHRoaXNbUm5dfVtScl0oKXtyZXR1cm4hMH1baHJdKCl7cmV0dXJuIHRoaXNbZXJdLnRyaW0oKX1bJHJdKGUpe2U9ZS52YWx1ZXx8IiI7dGhpc1tlcl09ZS50b1N0cmluZygpfVtlbl0oKXtyZXR1cm4gdGhpc1tlcl19W05yXShlKXtyZXR1cm4gdGhpc1tSbl09PT1lfHx0aGlzW1JuXVtOcl0oZSl9fWNsYXNzIFhtbE9iamVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaT17fSl7c3VwZXIoZSx0KTt0aGlzW2VyXT0iIjt0aGlzW21uXT1udWxsO2lmKCIjdGV4dCIhPT10KXtjb25zdCBlPW5ldyBNYXA7dGhpc1t1bl09ZTtmb3IoY29uc3RbdCxhXW9mIE9iamVjdC5lbnRyaWVzKGkpKWUuc2V0KHQsbmV3IFhGQUF0dHJpYnV0ZSh0aGlzLHQsYSkpO2lmKGkuaGFzT3duUHJvcGVydHkodnIpKXtjb25zdCBlPWlbdnJdLnhmYS5kYXRhTm9kZTt2b2lkIDAhPT1lJiYoImRhdGFHcm91cCI9PT1lP3RoaXNbbW5dPSExOiJkYXRhVmFsdWUiPT09ZSYmKHRoaXNbbW5dPSEwKSl9fXRoaXNbQXJdPSExfVtzbl0oZSl7Y29uc3QgdD10aGlzW1lyXTtpZigiI3RleHQiPT09dCl7ZS5wdXNoKGVuY29kZVRvWG1sU3RyaW5nKHRoaXNbZXJdKSk7cmV0dXJufWNvbnN0IGk9dXRmOFN0cmluZ1RvU3RyaW5nKHQpLGE9dGhpc1tKcl09PT1Nbj8ieGZhOiI6IiI7ZS5wdXNoKGA8JHthfSR7aX1gKTtmb3IoY29uc3RbdCxpXW9mIHRoaXNbdW5dLmVudHJpZXMoKSl7Y29uc3QgYT11dGY4U3RyaW5nVG9TdHJpbmcodCk7ZS5wdXNoKGAgJHthfT0iJHtlbmNvZGVUb1htbFN0cmluZyhpW2VyXSl9ImApfW51bGwhPT10aGlzW21uXSYmKHRoaXNbbW5dP2UucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YVZhbHVlIicpOmUucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YUdyb3VwIicpKTtpZih0aGlzW2VyXXx8MCE9PXRoaXNbZm5dLmxlbmd0aCl7ZS5wdXNoKCI+Iik7aWYodGhpc1tlcl0pInN0cmluZyI9PXR5cGVvZiB0aGlzW2VyXT9lLnB1c2goZW5jb2RlVG9YbWxTdHJpbmcodGhpc1tlcl0pKTp0aGlzW2VyXVtzbl0oZSk7ZWxzZSBmb3IoY29uc3QgdCBvZiB0aGlzW2ZuXSl0W3NuXShlKTtlLnB1c2goYDwvJHthfSR7aX0+YCl9ZWxzZSBlLnB1c2goIi8+Iil9W1RyXShlKXtpZih0aGlzW2VyXSl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbSnJdLCIjdGV4dCIpO3RoaXNbanNdKGUpO2VbZXJdPXRoaXNbZXJdO3RoaXNbZXJdPSIifXRoaXNbanNdKGUpO3JldHVybiEwfVtxcl0oZSl7dGhpc1tlcl0rPWV9W3NyXSgpe2lmKHRoaXNbZXJdJiZ0aGlzW2ZuXS5sZW5ndGg+MCl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbSnJdLCIjdGV4dCIpO3RoaXNbanNdKGUpO2VbZXJdPXRoaXNbZXJdO2RlbGV0ZSB0aGlzW2VyXX19W2FuXSgpe3JldHVybiIjdGV4dCI9PT10aGlzW1lyXT9IVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6IiN0ZXh0Iix2YWx1ZTp0aGlzW2VyXX0pOkhUTUxSZXN1bHQuRU1QVFl9W0VyXShlPW51bGwpe3JldHVybiBlP3RoaXNbZm5dLmZpbHRlcigodD0+dFtZcl09PT1lKSk6dGhpc1tmbl19W2dyXSgpe3JldHVybiB0aGlzW3VuXX1bSXJdKGUpe2NvbnN0IHQ9dGhpc1t1bl0uZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6dGhpc1tFcl0oZSl9KltDcl0oZSx0KXtjb25zdCBpPXRoaXNbdW5dLmdldChlKTtpJiYoeWllbGQgaSk7Zm9yKGNvbnN0IGkgb2YgdGhpc1tmbl0pe2lbWXJdPT09ZSYmKHlpZWxkIGkpO3QmJih5aWVsZCppW0NyXShlLHQpKX19Kltucl0oZSx0KXtjb25zdCBpPXRoaXNbdW5dLmdldChlKTshaXx8dCYmaVtBcl18fCh5aWVsZCBpKTtmb3IoY29uc3QgaSBvZiB0aGlzW2ZuXSl5aWVsZCppW25yXShlLHQpfSpbUXJdKGUsdCxpKXtmb3IoY29uc3QgYSBvZiB0aGlzW2ZuXSl7YVtZcl0hPT1lfHxpJiZhW0FyXXx8KHlpZWxkIGEpO3QmJih5aWVsZCphW1FyXShlLHQsaSkpfX1bUnJdKCl7cmV0dXJuIG51bGw9PT10aGlzW21uXT8wPT09dGhpc1tmbl0ubGVuZ3RofHx0aGlzW2ZuXVswXVtKcl09PT1vbi54aHRtbC5pZDp0aGlzW21uXX1baHJdKCl7cmV0dXJuIG51bGw9PT10aGlzW21uXT8wPT09dGhpc1tmbl0ubGVuZ3RoP3RoaXNbZXJdLnRyaW0oKTp0aGlzW2ZuXVswXVtKcl09PT1vbi54aHRtbC5pZD90aGlzW2ZuXVswXVtlbl0oKS50cmltKCk6bnVsbDp0aGlzW2VyXS50cmltKCl9WyRyXShlKXtlPWUudmFsdWV8fCIiO3RoaXNbZXJdPWUudG9TdHJpbmcoKX1baXJdKGU9ITEpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtlJiYodC4kbnM9dGhpc1tKcl0pO3RoaXNbZXJdJiYodC4kY29udGVudD10aGlzW2VyXSk7dC4kbmFtZT10aGlzW1lyXTt0LmNoaWxkcmVuPVtdO2Zvcihjb25zdCBpIG9mIHRoaXNbZm5dKXQuY2hpbGRyZW4ucHVzaChpW2lyXShlKSk7dC5hdHRyaWJ1dGVzPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0W2UsaV1vZiB0aGlzW3VuXSl0LmF0dHJpYnV0ZXNbZV09aVtlcl07cmV0dXJuIHR9fWNsYXNzIENvbnRlbnRPYmplY3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO3RoaXNbZXJdPSIifVtxcl0oZSl7dGhpc1tlcl0rPWV9W3NyXSgpe319Y2xhc3MgT3B0aW9uT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0KTt0aGlzW2tuXT1pfVtzcl0oKXt0aGlzW2VyXT1nZXRLZXl3b3JkKHtkYXRhOnRoaXNbZXJdLGRlZmF1bHRWYWx1ZTp0aGlzW2tuXVswXSx2YWxpZGF0ZTplPT50aGlzW2tuXS5pbmNsdWRlcyhlKX0pfVtWc10oZSl7c3VwZXJbVnNdKGUpO2RlbGV0ZSB0aGlzW2tuXX19Y2xhc3MgU3RyaW5nT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtbc3JdKCl7dGhpc1tlcl09dGhpc1tlcl0udHJpbSgpfX1jbGFzcyBJbnRlZ2VyT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaSxhKXtzdXBlcihlLHQpO3RoaXNbeW5dPWk7dGhpc1t4bl09YX1bc3JdKCl7dGhpc1tlcl09Z2V0SW50ZWdlcih7ZGF0YTp0aGlzW2VyXSxkZWZhdWx0VmFsdWU6dGhpc1t5bl0sdmFsaWRhdGU6dGhpc1t4bl19KX1bVnNdKGUpe3N1cGVyW1ZzXShlKTtkZWxldGUgdGhpc1t5bl07ZGVsZXRlIHRoaXNbeG5dfX1jbGFzcyBPcHRpb24wMSBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsMCwoZT0+MT09PWUpKX19Y2xhc3MgT3B0aW9uMTAgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LDEsKGU9PjA9PT1lKSl9fWZ1bmN0aW9uIG1lYXN1cmVUb1N0cmluZyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/IjBweCI6TnVtYmVyLmlzSW50ZWdlcihlKT9gJHtlfXB4YDpgJHtlLnRvRml4ZWQoMil9cHhgfWNvbnN0IExuPXthbmNob3JUeXBlKGUsdCl7Y29uc3QgaT1lW2ZyXSgpO2lmKGkmJighaS5sYXlvdXR8fCJwb3NpdGlvbiI9PT1pLmxheW91dCkpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTtzd2l0Y2goZS5hbmNob3JUeXBlKXtjYXNlImJvdHRvbUNlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwgLTEwMCUpIjticmVhaztjYXNlImJvdHRvbUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTEwMCUpIjticmVhaztjYXNlImJvdHRvbVJpZ2h0Ijp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtMTAwJSwtMTAwJSkiO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtNTAlLC01MCUpIjticmVhaztjYXNlIm1pZGRsZUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTUwJSkiO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKC0xMDAlLC01MCUpIjticmVhaztjYXNlInRvcENlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwwKSI7YnJlYWs7Y2FzZSJ0b3BSaWdodCI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTEwMCUsMCkifX19LGRpbWVuc2lvbnMoZSx0KXtjb25zdCBpPWVbZnJdKCk7bGV0IGE9ZS53O2NvbnN0IHM9ZS5oO2lmKGkubGF5b3V0Py5pbmNsdWRlcygicm93Iikpe2NvbnN0IHQ9aVthcl0scz1lLmNvbFNwYW47bGV0IHI7aWYoLTE9PT1zKXtyPXQuY29sdW1uV2lkdGhzLnNsaWNlKHQuY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKTt0LmN1cnJlbnRDb2x1bW49MH1lbHNle3I9dC5jb2x1bW5XaWR0aHMuc2xpY2UodC5jdXJyZW50Q29sdW1uLHQuY3VycmVudENvbHVtbitzKS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApO3QuY3VycmVudENvbHVtbj0odC5jdXJyZW50Q29sdW1uK2UuY29sU3BhbikldC5jb2x1bW5XaWR0aHMubGVuZ3RofWlzTmFOKHIpfHwoYT1lLnc9cil9dC53aWR0aD0iIiE9PWE/bWVhc3VyZVRvU3RyaW5nKGEpOiJhdXRvIjt0LmhlaWdodD0iIiE9PXM/bWVhc3VyZVRvU3RyaW5nKHMpOiJhdXRvIn0scG9zaXRpb24oZSx0KXtjb25zdCBpPWVbZnJdKCk7aWYoIWk/LmxheW91dHx8InBvc2l0aW9uIj09PWkubGF5b3V0KXt0LnBvc2l0aW9uPSJhYnNvbHV0ZSI7dC5sZWZ0PW1lYXN1cmVUb1N0cmluZyhlLngpO3QudG9wPW1lYXN1cmVUb1N0cmluZyhlLnkpfX0scm90YXRlKGUsdCl7aWYoZS5yb3RhdGUpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTt0LnRyYW5zZm9ybSs9YHJvdGF0ZSgtJHtlLnJvdGF0ZX1kZWcpYDt0LnRyYW5zZm9ybU9yaWdpbj0idG9wIGxlZnQifX0scHJlc2VuY2UoZSx0KXtzd2l0Y2goZS5wcmVzZW5jZSl7Y2FzZSJpbnZpc2libGUiOnQudmlzaWJpbGl0eT0iaGlkZGVuIjticmVhaztjYXNlImhpZGRlbiI6Y2FzZSJpbmFjdGl2ZSI6dC5kaXNwbGF5PSJub25lIn19LGhBbGlnbihlLHQpe2lmKCJwYXJhIj09PWVbWXJdKXN3aXRjaChlLmhBbGlnbil7Y2FzZSJqdXN0aWZ5QWxsIjp0LnRleHRBbGlnbj0ianVzdGlmeS1hbGwiO2JyZWFrO2Nhc2UicmFkaXgiOnQudGV4dEFsaWduPSJsZWZ0IjticmVhaztkZWZhdWx0OnQudGV4dEFsaWduPWUuaEFsaWdufWVsc2Ugc3dpdGNoKGUuaEFsaWduKXtjYXNlImxlZnQiOnQuYWxpZ25TZWxmPSJzdGFydCI7YnJlYWs7Y2FzZSJjZW50ZXIiOnQuYWxpZ25TZWxmPSJjZW50ZXIiO2JyZWFrO2Nhc2UicmlnaHQiOnQuYWxpZ25TZWxmPSJlbmQifX0sbWFyZ2luKGUsdCl7ZS5tYXJnaW4mJih0Lm1hcmdpbj1lLm1hcmdpbltybl0oKS5tYXJnaW4pfX07ZnVuY3Rpb24gc2V0TWluTWF4RGltZW5zaW9ucyhlLHQpe2lmKCJwb3NpdGlvbiI9PT1lW2ZyXSgpLmxheW91dCl7ZS5taW5XPjAmJih0Lm1pbldpZHRoPW1lYXN1cmVUb1N0cmluZyhlLm1pblcpKTtlLm1heFc+MCYmKHQubWF4V2lkdGg9bWVhc3VyZVRvU3RyaW5nKGUubWF4VykpO2UubWluSD4wJiYodC5taW5IZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWluSCkpO2UubWF4SD4wJiYodC5tYXhIZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWF4SCkpfX1mdW5jdGlvbiBsYXlvdXRUZXh0KGUsdCxpLGEscyxyKXtjb25zdCBuPW5ldyBUZXh0TWVhc3VyZSh0LGksYSxzKTsic3RyaW5nIj09dHlwZW9mIGU/bi5hZGRTdHJpbmcoZSk6ZVtPcl0obik7cmV0dXJuIG4uY29tcHV0ZShyKX1mdW5jdGlvbiBsYXlvdXROb2RlKGUsdCl7bGV0IGk9bnVsbCxhPW51bGwscz0hMTtpZigoIWUud3x8IWUuaCkmJmUudmFsdWUpe2xldCByPTAsbj0wO2lmKGUubWFyZ2luKXtyPWUubWFyZ2luLmxlZnRJbnNldCtlLm1hcmdpbi5yaWdodEluc2V0O249ZS5tYXJnaW4udG9wSW5zZXQrZS5tYXJnaW4uYm90dG9tSW5zZXR9bGV0IGc9bnVsbCxvPW51bGw7aWYoZS5wYXJhKXtvPU9iamVjdC5jcmVhdGUobnVsbCk7Zz0iIj09PWUucGFyYS5saW5lSGVpZ2h0P251bGw6ZS5wYXJhLmxpbmVIZWlnaHQ7by50b3A9IiI9PT1lLnBhcmEuc3BhY2VBYm92ZT8wOmUucGFyYS5zcGFjZUFib3ZlO28uYm90dG9tPSIiPT09ZS5wYXJhLnNwYWNlQmVsb3c/MDplLnBhcmEuc3BhY2VCZWxvdztvLmxlZnQ9IiI9PT1lLnBhcmEubWFyZ2luTGVmdD8wOmUucGFyYS5tYXJnaW5MZWZ0O28ucmlnaHQ9IiI9PT1lLnBhcmEubWFyZ2luUmlnaHQ/MDplLnBhcmEubWFyZ2luUmlnaHR9bGV0IGM9ZS5mb250O2lmKCFjKXtjb25zdCB0PWVbbXJdKCk7bGV0IGk9ZVtwcl0oKTtmb3IoO2kmJmkhPT10Oyl7aWYoaS5mb250KXtjPWkuZm9udDticmVha31pPWlbcHJdKCl9fWNvbnN0IEM9KGUud3x8dC53aWR0aCktcixoPWVbeXJdLmZvbnRGaW5kZXI7aWYoZS52YWx1ZS5leERhdGEmJmUudmFsdWUuZXhEYXRhW2VyXSYmInRleHQvaHRtbCI9PT1lLnZhbHVlLmV4RGF0YS5jb250ZW50VHlwZSl7Y29uc3QgdD1sYXlvdXRUZXh0KGUudmFsdWUuZXhEYXRhW2VyXSxjLG8sZyxoLEMpO2E9dC53aWR0aDtpPXQuaGVpZ2h0O3M9dC5pc0Jyb2tlbn1lbHNle2NvbnN0IHQ9ZS52YWx1ZVtlbl0oKTtpZih0KXtjb25zdCBlPWxheW91dFRleHQodCxjLG8sZyxoLEMpO2E9ZS53aWR0aDtpPWUuaGVpZ2h0O3M9ZS5pc0Jyb2tlbn19bnVsbD09PWF8fGUud3x8KGErPXIpO251bGw9PT1pfHxlLmh8fChpKz1uKX1yZXR1cm57dzphLGg6aSxpc0Jyb2tlbjpzfX1mdW5jdGlvbiBjb21wdXRlQmJveChlLHQsaSl7bGV0IGE7aWYoIiIhPT1lLncmJiIiIT09ZS5oKWE9W2UueCxlLnksZS53LGUuaF07ZWxzZXtpZighaSlyZXR1cm4gbnVsbDtsZXQgcz1lLnc7aWYoIiI9PT1zKXtpZigwPT09ZS5tYXhXKXtjb25zdCB0PWVbZnJdKCk7cz0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC53PzA6ZS5taW5XfWVsc2Ugcz1NYXRoLm1pbihlLm1heFcsaS53aWR0aCk7dC5hdHRyaWJ1dGVzLnN0eWxlLndpZHRoPW1lYXN1cmVUb1N0cmluZyhzKX1sZXQgcj1lLmg7aWYoIiI9PT1yKXtpZigwPT09ZS5tYXhIKXtjb25zdCB0PWVbZnJdKCk7cj0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC5oPzA6ZS5taW5IfWVsc2Ugcj1NYXRoLm1pbihlLm1heEgsaS5oZWlnaHQpO3QuYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHIpfWE9W2UueCxlLnkscyxyXX1yZXR1cm4gYX1mdW5jdGlvbiBmaXhEaW1lbnNpb25zKGUpe2NvbnN0IHQ9ZVtmcl0oKTtpZih0LmxheW91dD8uaW5jbHVkZXMoInJvdyIpKXtjb25zdCBpPXRbYXJdLGE9ZS5jb2xTcGFuO2xldCBzO3M9LTE9PT1hP2kuY29sdW1uV2lkdGhzLnNsaWNlKGkuY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKTppLmNvbHVtbldpZHRocy5zbGljZShpLmN1cnJlbnRDb2x1bW4saS5jdXJyZW50Q29sdW1uK2EpLnJlZHVjZSgoKGUsdCk9PmUrdCksMCk7aXNOYU4ocyl8fChlLnc9cyl9dC5sYXlvdXQmJiJwb3NpdGlvbiIhPT10LmxheW91dCYmKGUueD1lLnk9MCk7InRhYmxlIj09PWUubGF5b3V0JiYiIj09PWUudyYmQXJyYXkuaXNBcnJheShlLmNvbHVtbldpZHRocykmJihlLnc9ZS5jb2x1bW5XaWR0aHMucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKSl9ZnVuY3Rpb24gbGF5b3V0Q2xhc3MoZSl7c3dpdGNoKGUubGF5b3V0KXtjYXNlInBvc2l0aW9uIjpkZWZhdWx0OnJldHVybiJ4ZmFQb3NpdGlvbiI7Y2FzZSJsci10YiI6cmV0dXJuInhmYUxyVGIiO2Nhc2Uicmwtcm93IjpyZXR1cm4ieGZhUmxSb3ciO2Nhc2UicmwtdGIiOnJldHVybiJ4ZmFSbFRiIjtjYXNlInJvdyI6cmV0dXJuInhmYVJvdyI7Y2FzZSJ0YWJsZSI6cmV0dXJuInhmYVRhYmxlIjtjYXNlInRiIjpyZXR1cm4ieGZhVGIifX1mdW5jdGlvbiB0b1N0eWxlKGUsLi4udCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCBhIG9mIHQpe2NvbnN0IHQ9ZVthXTtpZihudWxsIT09dClpZihMbi5oYXNPd25Qcm9wZXJ0eShhKSlMblthXShlLGkpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIFhGQU9iamVjdCl7Y29uc3QgZT10W3JuXSgpO2U/T2JqZWN0LmFzc2lnbihpLGUpOndhcm4oYChERUJVRykgLSBYRkEgLSBzdHlsZSBmb3IgJHthfSBub3QgaW1wbGVtZW50ZWQgeWV0YCl9fXJldHVybiBpfWZ1bmN0aW9uIGNyZWF0ZVdyYXBwZXIoZSx0KXtjb25zdHthdHRyaWJ1dGVzOml9PXQse3N0eWxlOmF9PWkscz17bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVdyYXBwZXIiXSxzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSxjaGlsZHJlbjpbXX07aS5jbGFzcy5wdXNoKCJ4ZmFXcmFwcGVkIik7aWYoZS5ib3JkZXIpe2NvbnN0e3dpZHRoczppLGluc2V0czpyfT1lLmJvcmRlclthcl07bGV0IG4sZyxvPXJbMF0sYz1yWzNdO2NvbnN0IEM9clswXStyWzJdLGg9clsxXStyWzNdO3N3aXRjaChlLmJvcmRlci5oYW5kKXtjYXNlImV2ZW4iOm8tPWlbMF0vMjtjLT1pWzNdLzI7bj1gY2FsYygxMDAlICsgJHsoaVsxXStpWzNdKS8yLWh9cHgpYDtnPWBjYWxjKDEwMCUgKyAkeyhpWzBdK2lbMl0pLzItQ31weClgO2JyZWFrO2Nhc2UibGVmdCI6by09aVswXTtjLT1pWzNdO249YGNhbGMoMTAwJSArICR7aVsxXStpWzNdLWh9cHgpYDtnPWBjYWxjKDEwMCUgKyAke2lbMF0raVsyXS1DfXB4KWA7YnJlYWs7Y2FzZSJyaWdodCI6bj1oP2BjYWxjKDEwMCUgLSAke2h9cHgpYDoiMTAwJSI7Zz1DP2BjYWxjKDEwMCUgLSAke0N9cHgpYDoiMTAwJSJ9Y29uc3QgbD1bInhmYUJvcmRlciJdO2lzUHJpbnRPbmx5KGUuYm9yZGVyKSYmbC5wdXNoKCJ4ZmFQcmludE9ubHkiKTtjb25zdCBRPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e2NsYXNzOmwsc3R5bGU6e3RvcDpgJHtvfXB4YCxsZWZ0OmAke2N9cHhgLHdpZHRoOm4saGVpZ2h0Omd9fSxjaGlsZHJlbjpbXX07Zm9yKGNvbnN0IGUgb2ZbImJvcmRlciIsImJvcmRlcldpZHRoIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJTdHlsZSJdKWlmKHZvaWQgMCE9PWFbZV0pe1EuYXR0cmlidXRlcy5zdHlsZVtlXT1hW2VdO2RlbGV0ZSBhW2VdfXMuY2hpbGRyZW4ucHVzaChRLHQpfWVsc2Ugcy5jaGlsZHJlbi5wdXNoKHQpO2Zvcihjb25zdCBlIG9mWyJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENsaXAiLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwidHJhbnNmb3JtIiwidHJhbnNmb3JtT3JpZ2luIiwidmlzaWJpbGl0eSJdKWlmKHZvaWQgMCE9PWFbZV0pe3MuYXR0cmlidXRlcy5zdHlsZVtlXT1hW2VdO2RlbGV0ZSBhW2VdfXMuYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiPT09YS5wb3NpdGlvbj8iYWJzb2x1dGUiOiJyZWxhdGl2ZSI7ZGVsZXRlIGEucG9zaXRpb247aWYoYS5hbGlnblNlbGYpe3MuYXR0cmlidXRlcy5zdHlsZS5hbGlnblNlbGY9YS5hbGlnblNlbGY7ZGVsZXRlIGEuYWxpZ25TZWxmfXJldHVybiBzfWZ1bmN0aW9uIGZpeFRleHRJbmRlbnQoZSl7Y29uc3QgdD1nZXRNZWFzdXJlbWVudChlLnRleHRJbmRlbnQsIjBweCIpO2lmKHQ+PTApcmV0dXJuO2NvbnN0IGk9InBhZGRpbmciKygibGVmdCI9PT0oInJpZ2h0Ij09PWUudGV4dEFsaWduPyJyaWdodCI6ImxlZnQiKT8iTGVmdCI6IlJpZ2h0IiksYT1nZXRNZWFzdXJlbWVudChlW2ldLCIwcHgiKTtlW2ldPWEtdCsicHgifWZ1bmN0aW9uIHNldEFjY2VzcyhlLHQpe3N3aXRjaChlLmFjY2Vzcyl7Y2FzZSJub25JbnRlcmFjdGl2ZSI6dC5wdXNoKCJ4ZmFOb25JbnRlcmFjdGl2ZSIpO2JyZWFrO2Nhc2UicmVhZE9ubHkiOnQucHVzaCgieGZhUmVhZE9ubHkiKTticmVhaztjYXNlInByb3RlY3RlZCI6dC5wdXNoKCJ4ZmFEaXNhYmxlZCIpfX1mdW5jdGlvbiBpc1ByaW50T25seShlKXtyZXR1cm4gZS5yZWxldmFudC5sZW5ndGg+MCYmIWUucmVsZXZhbnRbMF0uZXhjbHVkZWQmJiJwcmludCI9PT1lLnJlbGV2YW50WzBdLnZpZXduYW1lfWZ1bmN0aW9uIGdldEN1cnJlbnRQYXJhKGUpe2NvbnN0IHQ9ZVttcl0oKVthcl0ucGFyYVN0YWNrO3JldHVybiB0Lmxlbmd0aD90LmF0KC0xKTpudWxsfWZ1bmN0aW9uIHNldFBhcmEoZSx0LGkpe2lmKGkuYXR0cmlidXRlcy5jbGFzcz8uaW5jbHVkZXMoInhmYVJpY2giKSl7aWYodCl7IiI9PT1lLmgmJih0LmhlaWdodD0iYXV0byIpOyIiPT09ZS53JiYodC53aWR0aD0iYXV0byIpfWNvbnN0IGE9Z2V0Q3VycmVudFBhcmEoZSk7aWYoYSl7Y29uc3QgZT1pLmF0dHJpYnV0ZXMuc3R5bGU7ZS5kaXNwbGF5PSJmbGV4IjtlLmZsZXhEaXJlY3Rpb249ImNvbHVtbiI7c3dpdGNoKGEudkFsaWduKXtjYXNlInRvcCI6ZS5qdXN0aWZ5Q29udGVudD0ic3RhcnQiO2JyZWFrO2Nhc2UiYm90dG9tIjplLmp1c3RpZnlDb250ZW50PSJlbmQiO2JyZWFrO2Nhc2UibWlkZGxlIjplLmp1c3RpZnlDb250ZW50PSJjZW50ZXIifWNvbnN0IHQ9YVtybl0oKTtmb3IoY29uc3RbaSxhXW9mIE9iamVjdC5lbnRyaWVzKHQpKWkgaW4gZXx8KGVbaV09YSl9fX1mdW5jdGlvbiBzZXRGb250RmFtaWx5KGUsdCxpLGEpe2lmKCFpKXtkZWxldGUgYS5mb250RmFtaWx5O3JldHVybn1jb25zdCBzPXN0cmlwUXVvdGVzKGUudHlwZWZhY2UpO2EuZm9udEZhbWlseT1gIiR7c30iYDtjb25zdCByPWkuZmluZChzKTtpZihyKXtjb25zdHtmb250RmFtaWx5Oml9PXIucmVndWxhci5jc3NGb250SW5mbztpIT09cyYmKGEuZm9udEZhbWlseT1gIiR7aX0iYCk7Y29uc3Qgbj1nZXRDdXJyZW50UGFyYSh0KTtpZihuJiYiIiE9PW4ubGluZUhlaWdodClyZXR1cm47aWYoYS5saW5lSGVpZ2h0KXJldHVybjtjb25zdCBnPXNlbGVjdEZvbnQoZSxyKTtnJiYoYS5saW5lSGVpZ2h0PU1hdGgubWF4KDEuMixnLmxpbmVIZWlnaHQpKX19ZnVuY3Rpb24gZml4VVJMKGUpe2NvbnN0IHQ9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlLG51bGwse2FkZERlZmF1bHRQcm90b2NvbDohMCx0cnlDb252ZXJ0RW5jb2Rpbmc6ITB9KTtyZXR1cm4gdD90LmhyZWY6bnVsbH1mdW5jdGlvbiBjcmVhdGVMaW5lKGUsdCl7cmV0dXJue25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJsci10YiI9PT1lLmxheW91dD8ieGZhTHIiOiJ4ZmFSbCJdfSxjaGlsZHJlbjp0fX1mdW5jdGlvbiBmbHVzaEhUTUwoZSl7aWYoIWVbYXJdKXJldHVybiBudWxsO2NvbnN0IHQ9e25hbWU6ImRpdiIsYXR0cmlidXRlczplW2FyXS5hdHRyaWJ1dGVzLGNoaWxkcmVuOmVbYXJdLmNoaWxkcmVufTtpZihlW2FyXS5mYWlsaW5nTm9kZSl7Y29uc3QgaT1lW2FyXS5mYWlsaW5nTm9kZVtycl0oKTtpJiYoZS5sYXlvdXQuZW5kc1dpdGgoIi10YiIpP3QuY2hpbGRyZW4ucHVzaChjcmVhdGVMaW5lKGUsW2ldKSk6dC5jaGlsZHJlbi5wdXNoKGkpKX1yZXR1cm4gMD09PXQuY2hpbGRyZW4ubGVuZ3RoP251bGw6dH1mdW5jdGlvbiBhZGRIVE1MKGUsdCxpKXtjb25zdCBhPWVbYXJdLHM9YS5hdmFpbGFibGVTcGFjZSxbcixuLGcsb109aTtzd2l0Y2goZS5sYXlvdXQpe2Nhc2UicG9zaXRpb24iOmEud2lkdGg9TWF0aC5tYXgoYS53aWR0aCxyK2cpO2EuaGVpZ2h0PU1hdGgubWF4KGEuaGVpZ2h0LG4rbyk7YS5jaGlsZHJlbi5wdXNoKHQpO2JyZWFrO2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOmlmKCFhLmxpbmV8fDE9PT1hLmF0dGVtcHQpe2EubGluZT1jcmVhdGVMaW5lKGUsW10pO2EuY2hpbGRyZW4ucHVzaChhLmxpbmUpO2EubnVtYmVySW5MaW5lPTB9YS5udW1iZXJJbkxpbmUrPTE7YS5saW5lLmNoaWxkcmVuLnB1c2godCk7aWYoMD09PWEuYXR0ZW1wdCl7YS5jdXJyZW50V2lkdGgrPWc7YS5oZWlnaHQ9TWF0aC5tYXgoYS5oZWlnaHQsYS5wcmV2SGVpZ2h0K28pfWVsc2V7YS5jdXJyZW50V2lkdGg9ZzthLnByZXZIZWlnaHQ9YS5oZWlnaHQ7YS5oZWlnaHQrPW87YS5hdHRlbXB0PTB9YS53aWR0aD1NYXRoLm1heChhLndpZHRoLGEuY3VycmVudFdpZHRoKTticmVhaztjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnthLmNoaWxkcmVuLnB1c2godCk7YS53aWR0aCs9ZzthLmhlaWdodD1NYXRoLm1heChhLmhlaWdodCxvKTtjb25zdCBlPW1lYXN1cmVUb1N0cmluZyhhLmhlaWdodCk7Zm9yKGNvbnN0IHQgb2YgYS5jaGlsZHJlbil0LmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PWU7YnJlYWt9Y2FzZSJ0YWJsZSI6Y2FzZSJ0YiI6YS53aWR0aD1NYXRoLm1pbihzLndpZHRoLE1hdGgubWF4KGEud2lkdGgsZykpO2EuaGVpZ2h0Kz1vO2EuY2hpbGRyZW4ucHVzaCh0KX19ZnVuY3Rpb24gZ2V0QXZhaWxhYmxlU3BhY2UoZSl7Y29uc3QgdD1lW2FyXS5hdmFpbGFibGVTcGFjZSxpPWUubWFyZ2luP2UubWFyZ2luLnRvcEluc2V0K2UubWFyZ2luLmJvdHRvbUluc2V0OjAsYT1lLm1hcmdpbj9lLm1hcmdpbi5sZWZ0SW5zZXQrZS5tYXJnaW4ucmlnaHRJbnNldDowO3N3aXRjaChlLmxheW91dCl7Y2FzZSJsci10YiI6Y2FzZSJybC10YiI6cmV0dXJuIDA9PT1lW2FyXS5hdHRlbXB0P3t3aWR0aDp0LndpZHRoLWEtZVthcl0uY3VycmVudFdpZHRoLGhlaWdodDp0LmhlaWdodC1pLWVbYXJdLnByZXZIZWlnaHR9Ont3aWR0aDp0LndpZHRoLWEsaGVpZ2h0OnQuaGVpZ2h0LWktZVthcl0uaGVpZ2h0fTtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybnt3aWR0aDplW2FyXS5jb2x1bW5XaWR0aHMuc2xpY2UoZVthcl0uY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSksaGVpZ2h0OnQuaGVpZ2h0LWF9O2Nhc2UidGFibGUiOmNhc2UidGIiOnJldHVybnt3aWR0aDp0LndpZHRoLWEsaGVpZ2h0OnQuaGVpZ2h0LWktZVthcl0uaGVpZ2h0fTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiBjaGVja0RpbWVuc2lvbnMoZSx0KXtpZihudWxsPT09ZVttcl0oKVthcl0uZmlyc3RVbnNwbGl0dGFibGUpcmV0dXJuITA7aWYoMD09PWUud3x8MD09PWUuaClyZXR1cm4hMDtjb25zdCBpPWVbZnJdKCksYT1pW2FyXT8uYXR0ZW1wdHx8MCxbLHMscixuXT1mdW5jdGlvbiBnZXRUcmFuc2Zvcm1lZEJCb3goZSl7bGV0IHQsaSxhPSIiPT09ZS53P05hTjplLncscz0iIj09PWUuaD9OYU46ZS5oLFtyLG5dPVswLDBdO3N3aXRjaChlLmFuY2hvclR5cGV8fCIiKXtjYXNlImJvdHRvbUNlbnRlciI6W3Isbl09W2EvMixzXTticmVhaztjYXNlImJvdHRvbUxlZnQiOltyLG5dPVswLHNdO2JyZWFrO2Nhc2UiYm90dG9tUmlnaHQiOltyLG5dPVthLHNdO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjpbcixuXT1bYS8yLHMvMl07YnJlYWs7Y2FzZSJtaWRkbGVMZWZ0IjpbcixuXT1bMCxzLzJdO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOltyLG5dPVthLHMvMl07YnJlYWs7Y2FzZSJ0b3BDZW50ZXIiOltyLG5dPVthLzIsMF07YnJlYWs7Y2FzZSJ0b3BSaWdodCI6W3Isbl09W2EsMF19c3dpdGNoKGUucm90YXRlfHwwKXtjYXNlIDA6W3QsaV09Wy1yLC1uXTticmVhaztjYXNlIDkwOlt0LGldPVstbixyXTtbYSxzXT1bcywtYV07YnJlYWs7Y2FzZSAxODA6W3QsaV09W3Isbl07W2Esc109Wy1hLC1zXTticmVhaztjYXNlIDI3MDpbdCxpXT1bbiwtcl07W2Esc109Wy1zLGFdfXJldHVybltlLngrdCtNYXRoLm1pbigwLGEpLGUueStpK01hdGgubWluKDAscyksTWF0aC5hYnMoYSksTWF0aC5hYnMocyldfShlKTtzd2l0Y2goaS5sYXlvdXQpe2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOnJldHVybiAwPT09YT9lW21yXSgpW2FyXS5ub0xheW91dEZhaWx1cmU/IiIhPT1lLnc/TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yOnQud2lkdGg+MjohKCIiIT09ZS5oJiZNYXRoLnJvdW5kKG4tdC5oZWlnaHQpPjIpJiYoIiIhPT1lLnc/TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yfHwwPT09aVthcl0ubnVtYmVySW5MaW5lJiZ0LmhlaWdodD4yOnQud2lkdGg+Mik6ISFlW21yXSgpW2FyXS5ub0xheW91dEZhaWx1cmV8fCEoIiIhPT1lLmgmJk1hdGgucm91bmQobi10LmhlaWdodCk+MikmJigoIiI9PT1lLnd8fE1hdGgucm91bmQoci10LndpZHRoKTw9Mnx8IWlbVXJdKCkpJiZ0LmhlaWdodD4yKTtjYXNlInRhYmxlIjpjYXNlInRiIjpyZXR1cm4hIWVbbXJdKClbYXJdLm5vTGF5b3V0RmFpbHVyZXx8KCIiPT09ZS5ofHxlW3hyXSgpPygiIj09PWUud3x8TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yfHwhaVtVcl0oKSkmJnQuaGVpZ2h0PjI6TWF0aC5yb3VuZChuLXQuaGVpZ2h0KTw9Mik7Y2FzZSJwb3NpdGlvbiI6aWYoZVttcl0oKVthcl0ubm9MYXlvdXRGYWlsdXJlKXJldHVybiEwO2lmKCIiPT09ZS5ofHxNYXRoLnJvdW5kKG4rcy10LmhlaWdodCk8PTIpcmV0dXJuITA7cmV0dXJuIG4rcz5lW21yXSgpW2FyXS5jdXJyZW50Q29udGVudEFyZWEuaDtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybiEhZVttcl0oKVthcl0ubm9MYXlvdXRGYWlsdXJlfHwoIiI9PT1lLmh8fE1hdGgucm91bmQobi10LmhlaWdodCk8PTIpO2RlZmF1bHQ6cmV0dXJuITB9fWNvbnN0IEhuPW9uLnRlbXBsYXRlLmlkLEpuPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsWW49L15IKFxkKykkLyx2bj1uZXcgU2V0KFsiaW1hZ2UvZ2lmIiwiaW1hZ2UvanBlZyIsImltYWdlL2pwZyIsImltYWdlL3BqcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2UvYXBuZyIsImltYWdlL3gtcG5nIiwiaW1hZ2UvYm1wIiwiaW1hZ2UveC1tcy1ibXAiLCJpbWFnZS90aWZmIiwiaW1hZ2UvdGlmIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIl0pLFRuPVtbWzY2LDc3XSwiaW1hZ2UvYm1wIl0sW1syNTUsMjE2LDI1NV0sImltYWdlL2pwZWciXSxbWzczLDczLDQyLDBdLCJpbWFnZS90aWZmIl0sW1s3Nyw3NywwLDQyXSwiaW1hZ2UvdGlmZiJdLFtbNzEsNzMsNzAsNTYsNTcsOTddLCJpbWFnZS9naWYiXSxbWzEzNyw4MCw3OCw3MSwxMywxMCwyNiwxMF0sImltYWdlL3BuZyJdXTtmdW5jdGlvbiBnZXRCb3JkZXJEaW1zKGUpe2lmKCFlfHwhZS5ib3JkZXIpcmV0dXJue3c6MCxoOjB9O2NvbnN0IHQ9ZS5ib3JkZXJbbHJdKCk7cmV0dXJuIHQ/e3c6dC53aWR0aHNbMF0rdC53aWR0aHNbMl0rdC5pbnNldHNbMF0rdC5pbnNldHNbMl0saDp0LndpZHRoc1sxXSt0LndpZHRoc1szXSt0Lmluc2V0c1sxXSt0Lmluc2V0c1szXX06e3c6MCxoOjB9fWZ1bmN0aW9uIGhhc01hcmdpbihlKXtyZXR1cm4gZS5tYXJnaW4mJihlLm1hcmdpbi50b3BJbnNldHx8ZS5tYXJnaW4ucmlnaHRJbnNldHx8ZS5tYXJnaW4uYm90dG9tSW5zZXR8fGUubWFyZ2luLmxlZnRJbnNldCl9ZnVuY3Rpb24gX3NldFZhbHVlKGUsdCl7aWYoIWUudmFsdWUpe2NvbnN0IHQ9bmV3IFZhbHVlKHt9KTtlW2pzXSh0KTtlLnZhbHVlPXR9ZS52YWx1ZVskcl0odCl9ZnVuY3Rpb24qZ2V0Q29udGFpbmVkQ2hpbGRyZW4oZSl7Zm9yKGNvbnN0IHQgb2YgZVtFcl0oKSl0IGluc3RhbmNlb2YgU3ViZm9ybVNldD95aWVsZCp0W3VyXSgpOnlpZWxkIHR9ZnVuY3Rpb24gaXNSZXF1aXJlZChlKXtyZXR1cm4iZXJyb3IiPT09ZS52YWxpZGF0ZT8ubnVsbFRlc3R9ZnVuY3Rpb24gc2V0VGFiSW5kZXgoZSl7Zm9yKDtlOyl7aWYoIWUudHJhdmVyc2FsKXtlW0FuXT1lW3ByXSgpW0FuXTtyZXR1cm59aWYoZVtBbl0pcmV0dXJuO2xldCB0PW51bGw7Zm9yKGNvbnN0IGkgb2YgZS50cmF2ZXJzYWxbRXJdKCkpaWYoIm5leHQiPT09aS5vcGVyYXRpb24pe3Q9aTticmVha31pZighdHx8IXQucmVmKXtlW0FuXT1lW3ByXSgpW0FuXTtyZXR1cm59Y29uc3QgaT1lW21yXSgpO2VbQW5dPSsraVtBbl07Y29uc3QgYT1pW1ZyXSh0LnJlZixlKTtpZighYSlyZXR1cm47ZT1hWzBdfX1mdW5jdGlvbiBhcHBseUFzc2lzdChlLHQpe2NvbnN0IGk9ZS5hc3Npc3Q7aWYoaSl7Y29uc3QgZT1pW2FuXSgpO2UmJih0LnRpdGxlPWUpO2NvbnN0IGE9aS5yb2xlLm1hdGNoKFluKTtpZihhKXtjb25zdCBlPSJoZWFkaW5nIixpPWFbMV07dC5yb2xlPWU7dFsiYXJpYS1sZXZlbCJdPWl9fWlmKCJ0YWJsZSI9PT1lLmxheW91dCl0LnJvbGU9InRhYmxlIjtlbHNlIGlmKCJyb3ciPT09ZS5sYXlvdXQpdC5yb2xlPSJyb3ciO2Vsc2V7Y29uc3QgaT1lW3ByXSgpOyJyb3ciPT09aS5sYXlvdXQmJih0LnJvbGU9IlRIIj09PWkuYXNzaXN0Py5yb2xlPyJjb2x1bW5oZWFkZXIiOiJjZWxsIil9fWZ1bmN0aW9uIGFyaWFMYWJlbChlKXtpZighZS5hc3Npc3QpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmFzc2lzdDtyZXR1cm4gdC5zcGVhayYmIiIhPT10LnNwZWFrW2VyXT90LnNwZWFrW2VyXTp0LnRvb2xUaXA/dC50b29sVGlwW2VyXTpudWxsfWZ1bmN0aW9uIHZhbHVlVG9IdG1sKGUpe3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFSaWNoIl0sc3R5bGU6T2JqZWN0LmNyZWF0ZShudWxsKX0sY2hpbGRyZW46W3tuYW1lOiJzcGFuIixhdHRyaWJ1dGVzOntzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSx2YWx1ZTplfV19KX1mdW5jdGlvbiBzZXRGaXJzdFVuc3BsaXR0YWJsZShlKXtjb25zdCB0PWVbbXJdKCk7aWYobnVsbD09PXRbYXJdLmZpcnN0VW5zcGxpdHRhYmxlKXt0W2FyXS5maXJzdFVuc3BsaXR0YWJsZT1lO3RbYXJdLm5vTGF5b3V0RmFpbHVyZT0hMH19ZnVuY3Rpb24gdW5zZXRGaXJzdFVuc3BsaXR0YWJsZShlKXtjb25zdCB0PWVbbXJdKCk7dFthcl0uZmlyc3RVbnNwbGl0dGFibGU9PT1lJiYodFthcl0ubm9MYXlvdXRGYWlsdXJlPSExKX1mdW5jdGlvbiBoYW5kbGVCcmVhayhlKXtpZihlW2FyXSlyZXR1cm4hMTtlW2FyXT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCJhdXRvIj09PWUudGFyZ2V0VHlwZSlyZXR1cm4hMTtjb25zdCB0PWVbbXJdKCk7bGV0IGk9bnVsbDtpZihlLnRhcmdldCl7aT10W1ZyXShlLnRhcmdldCxlW3ByXSgpKTtpZighaSlyZXR1cm4hMTtpPWlbMF19Y29uc3R7Y3VycmVudFBhZ2VBcmVhOmEsY3VycmVudENvbnRlbnRBcmVhOnN9PXRbYXJdO2lmKCJwYWdlQXJlYSI9PT1lLnRhcmdldFR5cGUpe2kgaW5zdGFuY2VvZiBQYWdlQXJlYXx8KGk9bnVsbCk7aWYoZS5zdGFydE5ldyl7ZVthcl0udGFyZ2V0PWl8fGE7cmV0dXJuITB9aWYoaSYmaSE9PWEpe2VbYXJdLnRhcmdldD1pO3JldHVybiEwfXJldHVybiExfWkgaW5zdGFuY2VvZiBDb250ZW50QXJlYXx8KGk9bnVsbCk7Y29uc3Qgcj1pJiZpW3ByXSgpO2xldCBuLGc9cjtpZihlLnN0YXJ0TmV3KWlmKGkpe2NvbnN0IGU9ci5jb250ZW50QXJlYS5jaGlsZHJlbix0PWUuaW5kZXhPZihzKSxhPWUuaW5kZXhPZihpKTstMSE9PXQmJnQ8YSYmKGc9bnVsbCk7bj1hLTF9ZWxzZSBuPWEuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihzKTtlbHNle2lmKCFpfHxpPT09cylyZXR1cm4hMTtuPXIuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihpKS0xO2c9cj09PWE/bnVsbDpyfWVbYXJdLnRhcmdldD1nO2VbYXJdLmluZGV4PW47cmV0dXJuITB9ZnVuY3Rpb24gaGFuZGxlT3ZlcmZsb3coZSx0LGkpe2NvbnN0IGE9ZVttcl0oKSxzPWFbYXJdLm5vTGF5b3V0RmFpbHVyZSxyPXRbZnJdO3RbZnJdPSgpPT5lO2FbYXJdLm5vTGF5b3V0RmFpbHVyZT0hMDtjb25zdCBuPXRbYW5dKGkpO2VbWHNdKG4uaHRtbCxuLmJib3gpO2FbYXJdLm5vTGF5b3V0RmFpbHVyZT1zO3RbZnJdPXJ9Y2xhc3MgQXBwZWFyYW5jZUZpbHRlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiYXBwZWFyYW5jZUZpbHRlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQXJjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJhcmMiLCEwKTt0aGlzLmNpcmN1bGFyPWdldEludGVnZXIoe2RhdGE6ZS5jaXJjdWxhcixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuc3RhcnRBbmdsZT1nZXRGbG9hdCh7ZGF0YTplLnN0YXJ0QW5nbGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnN3ZWVwQW5nbGU9Z2V0RmxvYXQoe2RhdGE6ZS5zd2VlcEFuZ2xlLGRlZmF1bHRWYWx1ZTozNjAsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lZGdlPW51bGw7dGhpcy5maWxsPW51bGx9W2FuXSgpe2NvbnN0IGU9dGhpcy5lZGdlfHxuZXcgRWRnZSh7fSksdD1lW3JuXSgpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlP09iamVjdC5hc3NpZ24oaSx0aGlzLmZpbGxbcm5dKCkpOmkuZmlsbD0idHJhbnNwYXJlbnQiO2kuc3Ryb2tlV2lkdGg9bWVhc3VyZVRvU3RyaW5nKCJ2aXNpYmxlIj09PWUucHJlc2VuY2U/ZS50aGlja25lc3M6MCk7aS5zdHJva2U9dC5jb2xvcjtsZXQgYTtjb25zdCBzPXt4bWxuczpKbixzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3ZlcmZsb3c6InZpc2libGUifX07aWYoMzYwPT09dGhpcy5zd2VlcEFuZ2xlKWE9e25hbWU6ImVsbGlwc2UiLGF0dHJpYnV0ZXM6e3htbG5zOkpuLGN4OiI1MCUiLGN5OiI1MCUiLHJ4OiI1MCUiLHJ5OiI1MCUiLHN0eWxlOml9fTtlbHNle2NvbnN0IGU9dGhpcy5zdGFydEFuZ2xlKk1hdGguUEkvMTgwLHQ9dGhpcy5zd2VlcEFuZ2xlKk1hdGguUEkvMTgwLHI9dGhpcy5zd2VlcEFuZ2xlPjE4MD8xOjAsW24sZyxvLGNdPVs1MCooMStNYXRoLmNvcyhlKSksNTAqKDEtTWF0aC5zaW4oZSkpLDUwKigxK01hdGguY29zKGUrdCkpLDUwKigxLU1hdGguc2luKGUrdCkpXTthPXtuYW1lOiJwYXRoIixhdHRyaWJ1dGVzOnt4bWxuczpKbixkOmBNICR7bn0gJHtnfSBBIDUwIDUwIDAgJHtyfSAwICR7b30gJHtjfWAsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UiLHN0eWxlOml9fTtPYmplY3QuYXNzaWduKHMse3ZpZXdCb3g6IjAgMCAxMDAgMTAwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0pfWNvbnN0IHI9e25hbWU6InN2ZyIsY2hpbGRyZW46W2FdLGF0dHJpYnV0ZXM6c307aWYoaGFzTWFyZ2luKHRoaXNbcHJdKClbcHJdKCkpKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7c3R5bGU6e2Rpc3BsYXk6ImlubGluZSIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9fSxjaGlsZHJlbjpbcl19KTtyLmF0dHJpYnV0ZXMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHIpfX1jbGFzcyBBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJhcmVhIiwhMCk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leE9iamVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGNsR3JvdXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtU2V0PW5ldyBYRkFPYmplY3RBcnJheX0qW3VyXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVtNcl0oKXtyZXR1cm4hMH1ba3JdKCl7cmV0dXJuITB9W1hzXShlLHQpe2NvbnN0W2ksYSxzLHJdPXQ7dGhpc1thcl0ud2lkdGg9TWF0aC5tYXgodGhpc1thcl0ud2lkdGgsaStzKTt0aGlzW2FyXS5oZWlnaHQ9TWF0aC5tYXgodGhpc1thcl0uaGVpZ2h0LGErcik7dGhpc1thcl0uY2hpbGRyZW4ucHVzaChlKX1bb3JdKCl7cmV0dXJuIHRoaXNbYXJdLmF2YWlsYWJsZVNwYWNlfVthbl0oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsInBvc2l0aW9uIiksaT17c3R5bGU6dCxpZDp0aGlzW25uXSxjbGFzczpbInhmYUFyZWEiXX07aXNQcmludE9ubHkodGhpcykmJmkuY2xhc3MucHVzaCgieGZhUHJpbnRPbmx5Iik7dGhpcy5uYW1lJiYoaS54ZmFOYW1lPXRoaXMubmFtZSk7Y29uc3QgYT1bXTt0aGlzW2FyXT17Y2hpbGRyZW46YSx3aWR0aDowLGhlaWdodDowLGF2YWlsYWJsZVNwYWNlOmV9O2NvbnN0IHM9dGhpc1tac10oe2ZpbHRlcjpuZXcgU2V0KFsiYXJlYSIsImRyYXciLCJmaWVsZCIsImV4Y2xHcm91cCIsInN1YmZvcm0iLCJzdWJmb3JtU2V0Il0pLGluY2x1ZGU6ITB9KTtpZighcy5zdWNjZXNzKXtpZihzLmlzQnJlYWsoKSlyZXR1cm4gcztkZWxldGUgdGhpc1thcl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX10LndpZHRoPW1lYXN1cmVUb1N0cmluZyh0aGlzW2FyXS53aWR0aCk7dC5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXNbYXJdLmhlaWdodCk7Y29uc3Qgcj17bmFtZToiZGl2IixhdHRyaWJ1dGVzOmksY2hpbGRyZW46YX0sbj1bdGhpcy54LHRoaXMueSx0aGlzW2FyXS53aWR0aCx0aGlzW2FyXS5oZWlnaHRdO2RlbGV0ZSB0aGlzW2FyXTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHIsbil9fWNsYXNzIEFzc2lzdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiYXNzaXN0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJvbGU9ZS5yb2xlfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5zcGVhaz1udWxsO3RoaXMudG9vbFRpcD1udWxsfVthbl0oKXtyZXR1cm4gdGhpcy50b29sVGlwPy5bZXJdfHxudWxsfX1jbGFzcyBCYXJjb2RlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJiYXJjb2RlIiwhMCk7dGhpcy5jaGFyRW5jb2Rpbmc9Z2V0S2V5d29yZCh7ZGF0YTplLmNoYXJFbmNvZGluZz9lLmNoYXJFbmNvZGluZy50b0xvd2VyQ2FzZSgpOiIiLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT5bInV0Zi04IiwiYmlnLWZpdmUiLCJmb250c3BlY2lmaWMiLCJnYmsiLCJnYi0xODAzMCIsImdiLTIzMTIiLCJrc2MtNTYwMSIsIm5vbmUiLCJzaGlmdC1qaXMiLCJ1Y3MtMiIsInV0Zi0xNiJdLmluY2x1ZGVzKGUpfHxlLm1hdGNoKC9pc28tODg1OS1cZHsyfS8pfSk7dGhpcy5jaGVja3N1bT1nZXRTdHJpbmdPcHRpb24oZS5jaGVja3N1bSxbIm5vbmUiLCIxbW9kMTAiLCIxbW9kMTBfMW1vZDExIiwiMm1vZDEwIiwiYXV0byJdKTt0aGlzLmRhdGFDb2x1bW5Db3VudD1nZXRJbnRlZ2VyKHtkYXRhOmUuZGF0YUNvbHVtbkNvdW50LGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5kYXRhTGVuZ3RoPWdldEludGVnZXIoe2RhdGE6ZS5kYXRhTGVuZ3RoLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5kYXRhUHJlcD1nZXRTdHJpbmdPcHRpb24oZS5kYXRhUHJlcCxbIm5vbmUiLCJmbGF0ZUNvbXByZXNzIl0pO3RoaXMuZGF0YVJvd0NvdW50PWdldEludGVnZXIoe2RhdGE6ZS5kYXRhUm93Q291bnQsZGVmYXVsdFZhbHVlOi0xLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmVuZENoYXI9ZS5lbmRDaGFyfHwiIjt0aGlzLmVycm9yQ29ycmVjdGlvbkxldmVsPWdldEludGVnZXIoe2RhdGE6ZS5lcnJvckNvcnJlY3Rpb25MZXZlbCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49MCYmZTw9OH0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tb2R1bGVIZWlnaHQ9Z2V0TWVhc3VyZW1lbnQoZS5tb2R1bGVIZWlnaHQsIjVtbSIpO3RoaXMubW9kdWxlV2lkdGg9Z2V0TWVhc3VyZW1lbnQoZS5tb2R1bGVXaWR0aCwiMC4yNW1tIik7dGhpcy5wcmludENoZWNrRGlnaXQ9Z2V0SW50ZWdlcih7ZGF0YTplLnByaW50Q2hlY2tEaWdpdCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMucm93Q29sdW1uUmF0aW89Z2V0UmF0aW8oZS5yb3dDb2x1bW5SYXRpbyk7dGhpcy5zdGFydENoYXI9ZS5zdGFydENoYXJ8fCIiO3RoaXMudGV4dExvY2F0aW9uPWdldFN0cmluZ09wdGlvbihlLnRleHRMb2NhdGlvbixbImJlbG93IiwiYWJvdmUiLCJhYm92ZUVtYmVkZGVkIiwiYmVsb3dFbWJlZGRlZCIsIm5vbmUiXSk7dGhpcy50cnVuY2F0ZT1nZXRJbnRlZ2VyKHtkYXRhOmUudHJ1bmNhdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZT9lLnR5cGUudG9Mb3dlckNhc2UoKToiIixbImF6dGVjIiwiY29kYWJhciIsImNvZGUyb2Y1aW5kdXN0cmlhbCIsImNvZGUyb2Y1aW50ZXJsZWF2ZWQiLCJjb2RlMm9mNW1hdHJpeCIsImNvZGUyb2Y1c3RhbmRhcmQiLCJjb2RlM29mOSIsImNvZGUzb2Y5ZXh0ZW5kZWQiLCJjb2RlMTEiLCJjb2RlNDkiLCJjb2RlOTMiLCJjb2RlMTI4IiwiY29kZTEyOGEiLCJjb2RlMTI4YiIsImNvZGUxMjhjIiwiY29kZTEyOHNzY2MiLCJkYXRhbWF0cml4IiwiZWFuOCIsImVhbjhhZGQyIiwiZWFuOGFkZDUiLCJlYW4xMyIsImVhbjEzYWRkMiIsImVhbjEzYWRkNSIsImVhbjEzcHdjZCIsImZpbSIsImxvZ21hcnMiLCJtYXhpY29kZSIsIm1zaSIsInBkZjQxNyIsInBkZjQxN21hY3JvIiwicGxlc3NleSIsInBvc3RhdXNjdXN0MiIsInBvc3RhdXNjdXN0MyIsInBvc3RhdXNyZXBseXBhaWQiLCJwb3N0YXVzc3RhbmRhcmQiLCJwb3N0dWtybTRzY2MiLCJwb3N0dXNkcGJjIiwicG9zdHVzaW1iIiwicG9zdHVzc3RhbmRhcmQiLCJwb3N0dXM1emlwIiwicXJjb2RlIiwicmZpZCIsInJzczE0IiwicnNzMTRleHBhbmRlZCIsInJzczE0bGltaXRlZCIsInJzczE0c3RhY2tlZCIsInJzczE0c3RhY2tlZG9tbmkiLCJyc3MxNHRydW5jYXRlZCIsInRlbGVwZW4iLCJ1Y2MxMjgiLCJ1Y2MxMjhyYW5kb20iLCJ1Y2MxMjhzc2NjIiwidXBjYSIsInVwY2FhZGQyIiwidXBjYWFkZDUiLCJ1cGNhcHdjZCIsInVwY2UiLCJ1cGNlYWRkMiIsInVwY2VhZGQ1IiwidXBjZWFuMiIsInVwY2VhbjUiLCJ1cHNtYXhpY29kZSJdKTt0aGlzLnVwc01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUudXBzTW9kZSxbInVzQ2FycmllciIsImludGVybmF0aW9uYWxDYXJyaWVyIiwic2VjdXJlU3ltYm9sIiwic3RhbmRhcmRTeW1ib2wiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMud2lkZU5hcnJvd1JhdGlvPWdldFJhdGlvKGUud2lkZU5hcnJvd1JhdGlvKTt0aGlzLmVuY3J5cHQ9bnVsbDt0aGlzLmV4dHJhcz1udWxsfX1jbGFzcyBCaW5kIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJiaW5kIiwhMCk7dGhpcy5tYXRjaD1nZXRTdHJpbmdPcHRpb24oZS5tYXRjaCxbIm9uY2UiLCJkYXRhUmVmIiwiZ2xvYmFsIiwibm9uZSJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy5waWN0dXJlPW51bGx9fWNsYXNzIEJpbmRJdGVtcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiYmluZEl0ZW1zIik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5sYWJlbFJlZj1lLmxhYmVsUmVmfHwiIjt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy52YWx1ZVJlZj1lLnZhbHVlUmVmfHwiIn19Y2xhc3MgQm9va2VuZCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiYm9va2VuZCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkZXI9ZS5sZWFkZXJ8fCIiO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQm9vbGVhbkVsZW1lbnQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiYm9vbGVhbiIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVthbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKDE9PT10aGlzW2VyXT8iMSI6IjAiKX19Y2xhc3MgQm9yZGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJib3JkZXIiLCEwKTt0aGlzLmJyZWFrPWdldFN0cmluZ09wdGlvbihlLmJyZWFrLFsiY2xvc2UiLCJvcGVuIl0pO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb3JuZXI9bmV3IFhGQU9iamVjdEFycmF5KDQpO3RoaXMuZWRnZT1uZXcgWEZBT2JqZWN0QXJyYXkoNCk7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZpbGw9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVtscl0oKXtpZighdGhpc1thcl0pe2NvbnN0IGU9dGhpcy5lZGdlLmNoaWxkcmVuLnNsaWNlKCk7aWYoZS5sZW5ndGg8NCl7Y29uc3QgdD1lLmF0KC0xKXx8bmV3IEVkZ2Uoe30pO2ZvcihsZXQgaT1lLmxlbmd0aDtpPDQ7aSsrKWUucHVzaCh0KX1jb25zdCB0PWUubWFwKChlPT5lLnRoaWNrbmVzcykpLGk9WzAsMCwwLDBdO2lmKHRoaXMubWFyZ2luKXtpWzBdPXRoaXMubWFyZ2luLnRvcEluc2V0O2lbMV09dGhpcy5tYXJnaW4ucmlnaHRJbnNldDtpWzJdPXRoaXMubWFyZ2luLmJvdHRvbUluc2V0O2lbM109dGhpcy5tYXJnaW4ubGVmdEluc2V0fXRoaXNbYXJdPXt3aWR0aHM6dCxpbnNldHM6aSxlZGdlczplfX1yZXR1cm4gdGhpc1thcl19W3JuXSgpe2NvbnN0e2VkZ2VzOmV9PXRoaXNbbHJdKCksdD1lLm1hcCgoZT0+e2NvbnN0IHQ9ZVtybl0oKTt0LmNvbG9yfHw9IiMwMDAwMDAiO3JldHVybiB0fSkpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLm1hcmdpbiYmT2JqZWN0LmFzc2lnbihpLHRoaXMubWFyZ2luW3JuXSgpKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlJiZPYmplY3QuYXNzaWduKGksdGhpcy5maWxsW3JuXSgpKTtpZih0aGlzLmNvcm5lci5jaGlsZHJlbi5zb21lKChlPT4wIT09ZS5yYWRpdXMpKSl7Y29uc3QgZT10aGlzLmNvcm5lci5jaGlsZHJlbi5tYXAoKGU9PmVbcm5dKCkpKTtpZigyPT09ZS5sZW5ndGh8fDM9PT1lLmxlbmd0aCl7Y29uc3QgdD1lLmF0KC0xKTtmb3IobGV0IGk9ZS5sZW5ndGg7aTw0O2krKyllLnB1c2godCl9aS5ib3JkZXJSYWRpdXM9ZS5tYXAoKGU9PmUucmFkaXVzKSkuam9pbigiICIpfXN3aXRjaCh0aGlzLnByZXNlbmNlKXtjYXNlImludmlzaWJsZSI6Y2FzZSJoaWRkZW4iOmkuYm9yZGVyU3R5bGU9IiI7YnJlYWs7Y2FzZSJpbmFjdGl2ZSI6aS5ib3JkZXJTdHlsZT0ibm9uZSI7YnJlYWs7ZGVmYXVsdDppLmJvcmRlclN0eWxlPXQubWFwKChlPT5lLnN0eWxlKSkuam9pbigiICIpfWkuYm9yZGVyV2lkdGg9dC5tYXAoKGU9PmUud2lkdGgpKS5qb2luKCIgIik7aS5ib3JkZXJDb2xvcj10Lm1hcCgoZT0+ZS5jb2xvcikpLmpvaW4oIiAiKTtyZXR1cm4gaX19Y2xhc3MgQnJlYWsgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImJyZWFrIiwhMCk7dGhpcy5hZnRlcj1nZXRTdHJpbmdPcHRpb24oZS5hZnRlcixbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIiwicGFnZUV2ZW4iLCJwYWdlT2RkIl0pO3RoaXMuYWZ0ZXJUYXJnZXQ9ZS5hZnRlclRhcmdldHx8IiI7dGhpcy5iZWZvcmU9Z2V0U3RyaW5nT3B0aW9uKGUuYmVmb3JlLFsiYXV0byIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiLCJwYWdlRXZlbiIsInBhZ2VPZGQiXSk7dGhpcy5iZWZvcmVUYXJnZXQ9ZS5iZWZvcmVUYXJnZXR8fCIiO3RoaXMuYm9va2VuZExlYWRlcj1lLmJvb2tlbmRMZWFkZXJ8fCIiO3RoaXMuYm9va2VuZFRyYWlsZXI9ZS5ib29rZW5kVHJhaWxlcnx8IiI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm92ZXJmbG93TGVhZGVyPWUub3ZlcmZsb3dMZWFkZXJ8fCIiO3RoaXMub3ZlcmZsb3dUYXJnZXQ9ZS5vdmVyZmxvd1RhcmdldHx8IiI7dGhpcy5vdmVyZmxvd1RyYWlsZXI9ZS5vdmVyZmxvd1RyYWlsZXJ8fCIiO3RoaXMuc3RhcnROZXc9Z2V0SW50ZWdlcih7ZGF0YTplLnN0YXJ0TmV3LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9fWNsYXNzIEJyZWFrQWZ0ZXIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImJyZWFrQWZ0ZXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnN0YXJ0TmV3PWdldEludGVnZXIoe2RhdGE6ZS5zdGFydE5ldyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRhcmdldFR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudGFyZ2V0VHlwZSxbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl0pO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNjcmlwdD1udWxsfX1jbGFzcyBCcmVha0JlZm9yZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiYnJlYWtCZWZvcmUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnN0YXJ0TmV3PWdldEludGVnZXIoe2RhdGE6ZS5zdGFydE5ldyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRhcmdldFR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudGFyZ2V0VHlwZSxbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl0pO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNjcmlwdD1udWxsfVthbl0oZSl7dGhpc1thcl09e307cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX19Y2xhc3MgQnV0dG9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJidXR0b24iLCEwKTt0aGlzLmhpZ2hsaWdodD1nZXRTdHJpbmdPcHRpb24oZS5oaWdobGlnaHQsWyJpbnZlcnRlZCIsIm5vbmUiLCJvdXRsaW5lIiwicHVzaCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfVthbl0oZSl7Y29uc3QgdD10aGlzW3ByXSgpW3ByXSgpLGk9e25hbWU6ImJ1dHRvbiIsYXR0cmlidXRlczp7aWQ6dGhpc1tubl0sY2xhc3M6WyJ4ZmFCdXR0b24iXSxzdHlsZTp7fX0sY2hpbGRyZW46W119O2Zvcihjb25zdCBlIG9mIHQuZXZlbnQuY2hpbGRyZW4pe2lmKCJjbGljayIhPT1lLmFjdGl2aXR5fHwhZS5zY3JpcHQpY29udGludWU7Y29uc3QgdD1yZWNvdmVySnNVUkwoZS5zY3JpcHRbZXJdKTtpZighdCljb250aW51ZTtjb25zdCBhPWZpeFVSTCh0LnVybCk7YSYmaS5jaGlsZHJlbi5wdXNoKHtuYW1lOiJhIixhdHRyaWJ1dGVzOntpZDoibGluayIrdGhpc1tubl0saHJlZjphLG5ld1dpbmRvdzp0Lm5ld1dpbmRvdyxjbGFzczpbInhmYUxpbmsiXSxzdHlsZTp7fX0sY2hpbGRyZW46W119KX1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGkpfX1jbGFzcyBDYWxjdWxhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImNhbGN1bGF0ZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vdmVycmlkZT1nZXRTdHJpbmdPcHRpb24oZS5vdmVycmlkZSxbImRpc2FibGVkIiwiZXJyb3IiLCJpZ25vcmUiLCJ3YXJuaW5nIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWVzc2FnZT1udWxsO3RoaXMuc2NyaXB0PW51bGx9fWNsYXNzIENhcHRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImNhcHRpb24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGxhY2VtZW50PWdldFN0cmluZ09wdGlvbihlLnBsYWNlbWVudCxbImxlZnQiLCJib3R0b20iLCJpbmxpbmUiLCJyaWdodCIsInRvcCJdKTt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVzZXJ2ZT1NYXRoLmNlaWwoZ2V0TWVhc3VyZW1lbnQoZS5yZXNlcnZlKSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5mb250PW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnZhbHVlPW51bGx9WyRyXShlKXtfc2V0VmFsdWUodGhpcyxlKX1bbHJdKGUpe2lmKCF0aGlzW2FyXSl7bGV0e3dpZHRoOnQsaGVpZ2h0Oml9PWU7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOmNhc2UiaW5saW5lIjp0PXRoaXMucmVzZXJ2ZTw9MD90OnRoaXMucmVzZXJ2ZTticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOmk9dGhpcy5yZXNlcnZlPD0wP2k6dGhpcy5yZXNlcnZlfXRoaXNbYXJdPWxheW91dE5vZGUodGhpcyx7d2lkdGg6dCxoZWlnaHQ6aX0pfXJldHVybiB0aGlzW2FyXX1bYW5dKGUpe2lmKCF0aGlzLnZhbHVlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO3RoaXNbV3JdKCk7Y29uc3QgdD10aGlzLnZhbHVlW2FuXShlKS5odG1sO2lmKCF0KXt0aGlzW1ByXSgpO3JldHVybiBIVE1MUmVzdWx0LkVNUFRZfWNvbnN0IGk9dGhpcy5yZXNlcnZlO2lmKHRoaXMucmVzZXJ2ZTw9MCl7Y29uc3R7dzp0LGg6aX09dGhpc1tscl0oZSk7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOmNhc2UiaW5saW5lIjp0aGlzLnJlc2VydmU9dDticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOnRoaXMucmVzZXJ2ZT1pfX1jb25zdCBhPVtdOyJzdHJpbmciPT10eXBlb2YgdD9hLnB1c2goe25hbWU6IiN0ZXh0Iix2YWx1ZTp0fSk6YS5wdXNoKHQpO2NvbnN0IHM9dG9TdHlsZSh0aGlzLCJmb250IiwibWFyZ2luIiwidmlzaWJpbGl0eSIpO3N3aXRjaCh0aGlzLnBsYWNlbWVudCl7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0Ijp0aGlzLnJlc2VydmU+MCYmKHMud2lkdGg9bWVhc3VyZVRvU3RyaW5nKHRoaXMucmVzZXJ2ZSkpO2JyZWFrO2Nhc2UidG9wIjpjYXNlImJvdHRvbSI6dGhpcy5yZXNlcnZlPjAmJihzLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcodGhpcy5yZXNlcnZlKSl9c2V0UGFyYSh0aGlzLG51bGwsdCk7dGhpc1tQcl0oKTt0aGlzLnJlc2VydmU9aTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOnMsY2xhc3M6WyJ4ZmFDYXB0aW9uIl19LGNoaWxkcmVuOmF9KX19Y2xhc3MgQ2VydGlmaWNhdGUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImNlcnRpZmljYXRlIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIENlcnRpZmljYXRlcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiY2VydGlmaWNhdGVzIiwhMCk7dGhpcy5jcmVkZW50aWFsU2VydmVyUG9saWN5PWdldFN0cmluZ09wdGlvbihlLmNyZWRlbnRpYWxTZXJ2ZXJQb2xpY3ksWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51cmw9ZS51cmx8fCIiO3RoaXMudXJsUG9saWN5PWUudXJsUG9saWN5fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lbmNyeXB0aW9uPW51bGw7dGhpcy5pc3N1ZXJzPW51bGw7dGhpcy5rZXlVc2FnZT1udWxsO3RoaXMub2lkcz1udWxsO3RoaXMuc2lnbmluZz1udWxsO3RoaXMuc3ViamVjdEROcz1udWxsfX1jbGFzcyBDaGVja0J1dHRvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiY2hlY2tCdXR0b24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubWFyaz1nZXRTdHJpbmdPcHRpb24oZS5tYXJrLFsiZGVmYXVsdCIsImNoZWNrIiwiY2lyY2xlIiwiY3Jvc3MiLCJkaWFtb25kIiwic3F1YXJlIiwic3RhciJdKTt0aGlzLnNoYXBlPWdldFN0cmluZ09wdGlvbihlLnNoYXBlLFsic3F1YXJlIiwicm91bmQiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bYW5dKGUpe2NvbnN0IHQ9dG9TdHlsZSgibWFyZ2luIiksaT1tZWFzdXJlVG9TdHJpbmcodGhpcy5zaXplKTt0LndpZHRoPXQuaGVpZ2h0PWk7bGV0IGEscyxyO2NvbnN0IG49dGhpc1twcl0oKVtwcl0oKSxnPW4uaXRlbXMuY2hpbGRyZW4ubGVuZ3RoJiZuLml0ZW1zLmNoaWxkcmVuWzBdW2FuXSgpLmh0bWx8fFtdLG89e29uOih2b2lkIDAhPT1nWzBdP2dbMF06Im9uIikudG9TdHJpbmcoKSxvZmY6KHZvaWQgMCE9PWdbMV0/Z1sxXToib2ZmIikudG9TdHJpbmcoKX0sYz0obi52YWx1ZT8uW2VuXSgpfHwib2ZmIik9PT1vLm9ufHx2b2lkIDAsQz1uW2ZyXSgpLGg9bltubl07bGV0IGw7aWYoQyBpbnN0YW5jZW9mIEV4Y2xHcm91cCl7cj1DW25uXTthPSJyYWRpbyI7cz0ieGZhUmFkaW8iO2w9Q1t0cl0/Lltubl18fENbbm5dfWVsc2V7YT0iY2hlY2tib3giO3M9InhmYUNoZWNrYm94IjtsPW5bdHJdPy5bbm5dfHxuW25uXX1jb25zdCBRPXtuYW1lOiJpbnB1dCIsYXR0cmlidXRlczp7Y2xhc3M6W3NdLHN0eWxlOnQsZmllbGRJZDpoLGRhdGFJZDpsLHR5cGU6YSxjaGVja2VkOmMseGZhT246by5vbix4ZmFPZmY6by5vZmYsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChuKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTtyJiYoUS5hdHRyaWJ1dGVzLm5hbWU9cik7aWYoaXNSZXF1aXJlZChuKSl7US5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7US5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOltRXX0pfX1jbGFzcyBDaG9pY2VMaXN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJjaG9pY2VMaXN0IiwhMCk7dGhpcy5jb21taXRPbj1nZXRTdHJpbmdPcHRpb24oZS5jb21taXRPbixbInNlbGVjdCIsImV4aXQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZW49Z2V0U3RyaW5nT3B0aW9uKGUub3BlbixbInVzZXJDb250cm9sIiwiYWx3YXlzIiwibXVsdGlTZWxlY3QiLCJvbkVudHJ5Il0pO3RoaXMudGV4dEVudHJ5PWdldEludGVnZXIoe2RhdGE6ZS50ZXh0RW50cnksZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W2FuXShlKXtjb25zdCB0PXRvU3R5bGUodGhpcywiYm9yZGVyIiwibWFyZ2luIiksaT10aGlzW3ByXSgpW3ByXSgpLGE9e2ZvbnRTaXplOmBjYWxjKCR7aS5mb250Py5zaXplfHwxMH1weCAqIHZhcigtLXNjYWxlLWZhY3RvcikpYH0scz1bXTtpZihpLml0ZW1zLmNoaWxkcmVuLmxlbmd0aD4wKXtjb25zdCBlPWkuaXRlbXM7bGV0IHQ9MCxyPTA7aWYoMj09PWUuY2hpbGRyZW4ubGVuZ3RoKXt0PWUuY2hpbGRyZW5bMF0uc2F2ZTtyPTEtdH1jb25zdCBuPWUuY2hpbGRyZW5bdF1bYW5dKCkuaHRtbCxnPWUuY2hpbGRyZW5bcl1bYW5dKCkuaHRtbDtsZXQgbz0hMTtjb25zdCBjPWkudmFsdWU/Lltlbl0oKXx8IiI7Zm9yKGxldCBlPTAsdD1uLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PXtuYW1lOiJvcHRpb24iLGF0dHJpYnV0ZXM6e3ZhbHVlOmdbZV18fG5bZV0sc3R5bGU6YX0sdmFsdWU6bltlXX07Z1tlXT09PWMmJih0LmF0dHJpYnV0ZXMuc2VsZWN0ZWQ9bz0hMCk7cy5wdXNoKHQpfW98fHMuc3BsaWNlKDAsMCx7bmFtZToib3B0aW9uIixhdHRyaWJ1dGVzOntoaWRkZW46ITAsc2VsZWN0ZWQ6ITB9LHZhbHVlOiIgIn0pfWNvbnN0IHI9e2NsYXNzOlsieGZhU2VsZWN0Il0sZmllbGRJZDppW25uXSxkYXRhSWQ6aVt0cl0/Lltubl18fGlbbm5dLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChpKSwiYXJpYS1yZXF1aXJlZCI6ITF9O2lmKGlzUmVxdWlyZWQoaSkpe3JbImFyaWEtcmVxdWlyZWQiXT0hMDtyLnJlcXVpcmVkPSEwfSJtdWx0aVNlbGVjdCI9PT10aGlzLm9wZW4mJihyLm11bHRpcGxlPSEwKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJsYWJlbCIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFMYWJlbCJdfSxjaGlsZHJlbjpbe25hbWU6InNlbGVjdCIsY2hpbGRyZW46cyxhdHRyaWJ1dGVzOnJ9XX0pfX1jbGFzcyBDb2xvciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiY29sb3IiLCEwKTt0aGlzLmNTcGFjZT1nZXRTdHJpbmdPcHRpb24oZS5jU3BhY2UsWyJTUkdCIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudmFsdWU9ZS52YWx1ZT9mdW5jdGlvbiBnZXRDb2xvcihlLHQ9WzAsMCwwXSl7bGV0W2ksYSxzXT10O2lmKCFlKXJldHVybntyOmksZzphLGI6c307Y29uc3Qgcj1lLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8pLm1hcCgoZT0+TWF0aC5taW4oTWF0aC5tYXgoMCxwYXJzZUludChlLnRyaW0oKSwxMCkpLDI1NSkpKS5tYXAoKGU9PmlzTmFOKGUpPzA6ZSkpO2lmKHIubGVuZ3RoPDMpcmV0dXJue3I6aSxnOmEsYjpzfTtbaSxhLHNdPXI7cmV0dXJue3I6aSxnOmEsYjpzfX0oZS52YWx1ZSk6IiI7dGhpcy5leHRyYXM9bnVsbH1bd3JdKCl7cmV0dXJuITF9W3JuXSgpe3JldHVybiB0aGlzLnZhbHVlP1V0aWwubWFrZUhleENvbG9yKHRoaXMudmFsdWUucix0aGlzLnZhbHVlLmcsdGhpcy52YWx1ZS5iKTpudWxsfX1jbGFzcyBDb21iIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJjb21iIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm51bWJlck9mQ2VsbHM9Z2V0SW50ZWdlcih7ZGF0YTplLm51bWJlck9mQ2VsbHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQ29ubmVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiY29ubmVjdCIsITApO3RoaXMuY29ubmVjdGlvbj1lLmNvbm5lY3Rpb258fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNhZ2U9Z2V0U3RyaW5nT3B0aW9uKGUudXNhZ2UsWyJleHBvcnRBbmRJbXBvcnQiLCJleHBvcnRPbmx5IiwiaW1wb3J0T25seSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5waWN0dXJlPW51bGx9fWNsYXNzIENvbnRlbnRBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJjb250ZW50QXJlYSIsITApO3RoaXMuaD1nZXRNZWFzdXJlbWVudChlLmgpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53PWdldE1lYXN1cmVtZW50KGUudyk7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bYW5dKGUpe2NvbnN0IHQ9e2xlZnQ6bWVhc3VyZVRvU3RyaW5nKHRoaXMueCksdG9wOm1lYXN1cmVUb1N0cmluZyh0aGlzLnkpLHdpZHRoOm1lYXN1cmVUb1N0cmluZyh0aGlzLncpLGhlaWdodDptZWFzdXJlVG9TdHJpbmcodGhpcy5oKX0saT1bInhmYUNvbnRlbnRhcmVhIl07aXNQcmludE9ubHkodGhpcykmJmkucHVzaCgieGZhUHJpbnRPbmx5Iik7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOntzdHlsZTp0LGNsYXNzOmksaWQ6dGhpc1tubl19fSl9fWNsYXNzIENvcm5lciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiY29ybmVyIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmludmVydGVkPWdldEludGVnZXIoe2RhdGE6ZS5pbnZlcnRlZCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuam9pbj1nZXRTdHJpbmdPcHRpb24oZS5qb2luLFsic3F1YXJlIiwicm91bmQiXSk7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJhZGl1cz1nZXRNZWFzdXJlbWVudChlLnJhZGl1cyk7dGhpcy5zdHJva2U9Z2V0U3RyaW5nT3B0aW9uKGUuc3Ryb2tlLFsic29saWQiLCJkYXNoRG90IiwiZGFzaERvdERvdCIsImRhc2hlZCIsImRvdHRlZCIsImVtYm9zc2VkIiwiZXRjaGVkIiwibG93ZXJlZCIsInJhaXNlZCJdKTt0aGlzLnRoaWNrbmVzcz1nZXRNZWFzdXJlbWVudChlLnRoaWNrbmVzcywiMC41cHQiKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W3JuXSgpe2NvbnN0IGU9dG9TdHlsZSh0aGlzLCJ2aXNpYmlsaXR5Iik7ZS5yYWRpdXM9bWVhc3VyZVRvU3RyaW5nKCJzcXVhcmUiPT09dGhpcy5qb2luPzA6dGhpcy5yYWRpdXMpO3JldHVybiBlfX1jbGFzcyBEYXRlRWxlbWVudCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImRhdGUiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bc3JdKCl7Y29uc3QgZT10aGlzW2VyXS50cmltKCk7dGhpc1tlcl09ZT9uZXcgRGF0ZShlKTpudWxsfVthbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKHRoaXNbZXJdP3RoaXNbZXJdLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBEYXRlVGltZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImRhdGVUaW1lIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W3NyXSgpe2NvbnN0IGU9dGhpc1tlcl0udHJpbSgpO3RoaXNbZXJdPWU/bmV3IERhdGUoZSk6bnVsbH1bYW5dKGUpe3JldHVybiB2YWx1ZVRvSHRtbCh0aGlzW2VyXT90aGlzW2VyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgRGF0ZVRpbWVFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJkYXRlVGltZUVkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGlja2VyPWdldFN0cmluZ09wdGlvbihlLnBpY2tlcixbImhvc3QiLCJub25lIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuY29tYj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bYW5dKGUpe2NvbnN0IHQ9dG9TdHlsZSh0aGlzLCJib3JkZXIiLCJmb250IiwibWFyZ2luIiksaT10aGlzW3ByXSgpW3ByXSgpLGE9e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixmaWVsZElkOmlbbm5dLGRhdGFJZDppW3RyXT8uW25uXXx8aVtubl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoaSksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChpKSl7YS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7YS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOlthXX0pfX1jbGFzcyBEZWNpbWFsIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiZGVjaW1hbCIpO3RoaXMuZnJhY0RpZ2l0cz1nZXRJbnRlZ2VyKHtkYXRhOmUuZnJhY0RpZ2l0cyxkZWZhdWx0VmFsdWU6Mix2YWxpZGF0ZTplPT4hMH0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkRGlnaXRzPWdldEludGVnZXIoe2RhdGE6ZS5sZWFkRGlnaXRzLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT4hMH0pO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bc3JdKCl7Y29uc3QgZT1wYXJzZUZsb2F0KHRoaXNbZXJdLnRyaW0oKSk7dGhpc1tlcl09aXNOYU4oZSk/bnVsbDplfVthbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKG51bGwhPT10aGlzW2VyXT90aGlzW2VyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgRGVmYXVsdFVpIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJkZWZhdWx0VWkiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfX1jbGFzcyBEZXNjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJkZXNjIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmxvYXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW50ZWdlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBEaWdlc3RNZXRob2QgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImRpZ2VzdE1ldGhvZCIsWyIiLCJTSEExIiwiU0hBMjU2IiwiU0hBNTEyIiwiUklQRU1EMTYwIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBEaWdlc3RNZXRob2RzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJkaWdlc3RNZXRob2RzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZGlnZXN0TWV0aG9kPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRHJhdyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiZHJhdyIsITApO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yb3RhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJvdGF0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lJTkwPT0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYXB0aW9uPW51bGw7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZvbnQ9bnVsbDt0aGlzLmtlZXA9bnVsbDt0aGlzLm1hcmdpbj1udWxsO3RoaXMucGFyYT1udWxsO3RoaXMudHJhdmVyc2FsPW51bGw7dGhpcy51aT1udWxsO3RoaXMudmFsdWU9bnVsbDt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1bJHJdKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVthbl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtmaXhEaW1lbnNpb25zKHRoaXMpO3RoaXNbV3JdKCk7Y29uc3QgdD10aGlzLncsaT10aGlzLmgse3c6YSxoOnMsaXNCcm9rZW46cn09bGF5b3V0Tm9kZSh0aGlzLGUpO2lmKGEmJiIiPT09dGhpcy53KXtpZihyJiZ0aGlzW2ZyXSgpW1VyXSgpKXt0aGlzW1ByXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dGhpcy53PWF9cyYmIiI9PT10aGlzLmgmJih0aGlzLmg9cyk7c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1ByXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtjb25zdCBuPXRvU3R5bGUodGhpcywiZm9udCIsImhBbGlnbiIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInByZXNlbmNlIiwicm90YXRlIiwiYW5jaG9yVHlwZSIsImJvcmRlciIsIm1hcmdpbiIpO3NldE1pbk1heERpbWVuc2lvbnModGhpcyxuKTtpZihuLm1hcmdpbil7bi5wYWRkaW5nPW4ubWFyZ2luO2RlbGV0ZSBuLm1hcmdpbn1jb25zdCBnPVsieGZhRHJhdyJdO3RoaXMuZm9udCYmZy5wdXNoKCJ4ZmFGb250Iik7aXNQcmludE9ubHkodGhpcykmJmcucHVzaCgieGZhUHJpbnRPbmx5Iik7Y29uc3Qgbz17c3R5bGU6bixpZDp0aGlzW25uXSxjbGFzczpnfTt0aGlzLm5hbWUmJihvLnhmYU5hbWU9dGhpcy5uYW1lKTtjb25zdCBjPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6byxjaGlsZHJlbjpbXX07YXBwbHlBc3Npc3QodGhpcyxvKTtjb25zdCBDPWNvbXB1dGVCYm94KHRoaXMsYyxlKSxoPXRoaXMudmFsdWU/dGhpcy52YWx1ZVthbl0oZSkuaHRtbDpudWxsO2lmKG51bGw9PT1oKXt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1ByXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGMpLEMpfWMuY2hpbGRyZW4ucHVzaChoKTtzZXRQYXJhKHRoaXMsbixoKTt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1ByXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGMpLEMpfX1jbGFzcyBFZGdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJlZGdlIiwhMCk7dGhpcy5jYXA9Z2V0U3RyaW5nT3B0aW9uKGUuY2FwLFsic3F1YXJlIiwiYnV0dCIsInJvdW5kIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnN0cm9rZT1nZXRTdHJpbmdPcHRpb24oZS5zdHJva2UsWyJzb2xpZCIsImRhc2hEb3QiLCJkYXNoRG90RG90IiwiZGFzaGVkIiwiZG90dGVkIiwiZW1ib3NzZWQiLCJldGNoZWQiLCJsb3dlcmVkIiwicmFpc2VkIl0pO3RoaXMudGhpY2tuZXNzPWdldE1lYXN1cmVtZW50KGUudGhpY2tuZXNzLCIwLjVwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bcm5dKCl7Y29uc3QgZT10b1N0eWxlKHRoaXMsInZpc2liaWxpdHkiKTtPYmplY3QuYXNzaWduKGUse2xpbmVjYXA6dGhpcy5jYXAsd2lkdGg6bWVhc3VyZVRvU3RyaW5nKHRoaXMudGhpY2tuZXNzKSxjb2xvcjp0aGlzLmNvbG9yP3RoaXMuY29sb3Jbcm5dKCk6IiMwMDAwMDAiLHN0eWxlOiIifSk7aWYoInZpc2libGUiIT09dGhpcy5wcmVzZW5jZSllLnN0eWxlPSJub25lIjtlbHNlIHN3aXRjaCh0aGlzLnN0cm9rZSl7Y2FzZSJzb2xpZCI6ZS5zdHlsZT0ic29saWQiO2JyZWFrO2Nhc2UiZGFzaERvdCI6Y2FzZSJkYXNoRG90RG90IjpjYXNlImRhc2hlZCI6ZS5zdHlsZT0iZGFzaGVkIjticmVhaztjYXNlImRvdHRlZCI6ZS5zdHlsZT0iZG90dGVkIjticmVhaztjYXNlImVtYm9zc2VkIjplLnN0eWxlPSJyaWRnZSI7YnJlYWs7Y2FzZSJldGNoZWQiOmUuc3R5bGU9Imdyb292ZSI7YnJlYWs7Y2FzZSJsb3dlcmVkIjplLnN0eWxlPSJpbnNldCI7YnJlYWs7Y2FzZSJyYWlzZWQiOmUuc3R5bGU9Im91dHNldCJ9cmV0dXJuIGV9fWNsYXNzIEVuY29kaW5nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJlbmNvZGluZyIsWyJhZGJlLng1MDkucnNhX3NoYTEiLCJhZGJlLnBrY3M3LmRldGFjaGVkIiwiYWRiZS5wa2NzNy5zaGExIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBFbmNvZGluZ3MgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImVuY29kaW5ncyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY29kaW5nPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRW5jcnlwdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiZW5jcnlwdCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bnVsbH19Y2xhc3MgRW5jcnlwdERhdGEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImVuY3J5cHREYXRhIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZXJhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcGVyYXRpb24sWyJlbmNyeXB0IiwiZGVjcnlwdCJdKTt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZmlsdGVyPW51bGw7dGhpcy5tYW5pZmVzdD1udWxsfX1jbGFzcyBFbmNyeXB0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJlbmNyeXB0aW9uIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFbmNyeXB0aW9uTWV0aG9kIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJlbmNyeXB0aW9uTWV0aG9kIixbIiIsIkFFUzI1Ni1DQkMiLCJUUklQTEVERVMtQ0JDIiwiQUVTMTI4LUNCQyIsIkFFUzE5Mi1DQkMiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEVuY3J5cHRpb25NZXRob2RzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJlbmNyeXB0aW9uTWV0aG9kcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY3J5cHRpb25NZXRob2Q9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFdmVudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiZXZlbnQiLCEwKTt0aGlzLmFjdGl2aXR5PWdldFN0cmluZ09wdGlvbihlLmFjdGl2aXR5LFsiY2xpY2siLCJjaGFuZ2UiLCJkb2NDbG9zZSIsImRvY1JlYWR5IiwiZW50ZXIiLCJleGl0IiwiZnVsbCIsImluZGV4Q2hhbmdlIiwiaW5pdGlhbGl6ZSIsIm1vdXNlRG93biIsIm1vdXNlRW50ZXIiLCJtb3VzZUV4aXQiLCJtb3VzZVVwIiwicG9zdEV4ZWN1dGUiLCJwb3N0T3BlbiIsInBvc3RQcmludCIsInBvc3RTYXZlIiwicG9zdFNpZ24iLCJwb3N0U3VibWl0IiwicHJlRXhlY3V0ZSIsInByZU9wZW4iLCJwcmVQcmludCIsInByZVNhdmUiLCJwcmVTaWduIiwicHJlU3VibWl0IiwicmVhZHkiLCJ2YWxpZGF0aW9uU3RhdGUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxpc3Rlbj1nZXRTdHJpbmdPcHRpb24oZS5saXN0ZW4sWyJyZWZPbmx5IiwicmVmQW5kRGVzY2VuZGVudHMiXSk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZW5jcnlwdERhdGE9bnVsbDt0aGlzLmV4ZWN1dGU9bnVsbDt0aGlzLnNjcmlwdD1udWxsO3RoaXMuc2lnbkRhdGE9bnVsbDt0aGlzLnN1Ym1pdD1udWxsfX1jbGFzcyBFeERhdGEgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJleERhdGEiKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tYXhMZW5ndGg9Z2V0SW50ZWdlcih7ZGF0YTplLm1heExlbmd0aCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49LTF9KTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJub25lIiwiYmFzZTY0IiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W1NyXSgpe3JldHVybiJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZX1bVHJdKGUpe2lmKCJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZSYmZVtKcl09PT1vbi54aHRtbC5pZCl7dGhpc1tlcl09ZTtyZXR1cm4hMH1pZigidGV4dC94bWwiPT09dGhpcy5jb250ZW50VHlwZSl7dGhpc1tlcl09ZTtyZXR1cm4hMH1yZXR1cm4hMX1bYW5dKGUpe3JldHVybiJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZSYmdGhpc1tlcl0/dGhpc1tlcl1bYW5dKGUpOkhUTUxSZXN1bHQuRU1QVFl9fWNsYXNzIEV4T2JqZWN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJleE9iamVjdCIsITApO3RoaXMuYXJjaGl2ZT1lLmFyY2hpdmV8fCIiO3RoaXMuY2xhc3NJZD1lLmNsYXNzSWR8fCIiO3RoaXMuY29kZUJhc2U9ZS5jb2RlQmFzZXx8IiI7dGhpcy5jb2RlVHlwZT1lLmNvZGVUeXBlfHwiIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRXhjbEdyb3VwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJleGNsR3JvdXAiLCEwKTt0aGlzLmFjY2Vzcz1nZXRTdHJpbmdPcHRpb24oZS5hY2Nlc3MsWyJvcGVuIiwibm9uSW50ZXJhY3RpdmUiLCJwcm90ZWN0ZWQiLCJyZWFkT25seSJdKTt0aGlzLmFjY2Vzc0tleT1lLmFjY2Vzc0tleXx8IiI7dGhpcy5hbmNob3JUeXBlPWdldFN0cmluZ09wdGlvbihlLmFuY2hvclR5cGUsWyJ0b3BMZWZ0IiwiYm90dG9tQ2VudGVyIiwiYm90dG9tTGVmdCIsImJvdHRvbVJpZ2h0IiwibWlkZGxlQ2VudGVyIiwibWlkZGxlTGVmdCIsIm1pZGRsZVJpZ2h0IiwidG9wQ2VudGVyIiwidG9wUmlnaHQiXSk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaD1lLmg/Z2V0TWVhc3VyZW1lbnQoZS5oKToiIjt0aGlzLmhBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS5oQWxpZ24sWyJsZWZ0IiwiY2VudGVyIiwianVzdGlmeSIsImp1c3RpZnlBbGwiLCJyYWRpeCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sYXlvdXQ9Z2V0U3RyaW5nT3B0aW9uKGUubGF5b3V0LFsicG9zaXRpb24iLCJsci10YiIsInJsLXJvdyIsInJsLXRiIiwicm93IiwidGFibGUiLCJ0YiJdKTt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGw7dGhpcy5wYXJhPW51bGw7dGhpcy50cmF2ZXJzYWw9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy5jb25uZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1ba3JdKCl7cmV0dXJuITB9W3dyXSgpe3JldHVybiEwfVskcl0oZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5maWVsZC5jaGlsZHJlbil7aWYoIXQudmFsdWUpe2NvbnN0IGU9bmV3IFZhbHVlKHt9KTt0W2pzXShlKTt0LnZhbHVlPWV9dC52YWx1ZVskcl0oZSl9fVtVcl0oKXtyZXR1cm4gdGhpcy5sYXlvdXQuZW5kc1dpdGgoIi10YiIpJiYwPT09dGhpc1thcl0uYXR0ZW1wdCYmdGhpc1thcl0ubnVtYmVySW5MaW5lPjB8fHRoaXNbcHJdKClbVXJdKCl9W3hyXSgpe2NvbnN0IGU9dGhpc1tmcl0oKTtpZighZVt4cl0oKSlyZXR1cm4hMTtpZih2b2lkIDAhPT10aGlzW2FyXS5faXNTcGxpdHRhYmxlKXJldHVybiB0aGlzW2FyXS5faXNTcGxpdHRhYmxlO2lmKCJwb3NpdGlvbiI9PT10aGlzLmxheW91dHx8dGhpcy5sYXlvdXQuaW5jbHVkZXMoInJvdyIpKXt0aGlzW2FyXS5faXNTcGxpdHRhYmxlPSExO3JldHVybiExfWlmKGUubGF5b3V0Py5lbmRzV2l0aCgiLXRiIikmJjAhPT1lW2FyXS5udW1iZXJJbkxpbmUpcmV0dXJuITE7dGhpc1thcl0uX2lzU3BsaXR0YWJsZT0hMDtyZXR1cm4hMH1bcnJdKCl7cmV0dXJuIGZsdXNoSFRNTCh0aGlzKX1bWHNdKGUsdCl7YWRkSFRNTCh0aGlzLGUsdCl9W29yXSgpe3JldHVybiBnZXRBdmFpbGFibGVTcGFjZSh0aGlzKX1bYW5dKGUpe3NldFRhYkluZGV4KHRoaXMpO2lmKCJoaWRkZW4iPT09dGhpcy5wcmVzZW5jZXx8ImluYWN0aXZlIj09PXRoaXMucHJlc2VuY2V8fDA9PT10aGlzLmh8fDA9PT10aGlzLncpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7Zml4RGltZW5zaW9ucyh0aGlzKTtjb25zdCB0PVtdLGk9e2lkOnRoaXNbbm5dLGNsYXNzOltdfTtzZXRBY2Nlc3ModGhpcyxpLmNsYXNzKTt0aGlzW2FyXXx8KHRoaXNbYXJdPU9iamVjdC5jcmVhdGUobnVsbCkpO09iamVjdC5hc3NpZ24odGhpc1thcl0se2NoaWxkcmVuOnQsYXR0cmlidXRlczppLGF0dGVtcHQ6MCxsaW5lOm51bGwsbnVtYmVySW5MaW5lOjAsYXZhaWxhYmxlU3BhY2U6e3dpZHRoOk1hdGgubWluKHRoaXMud3x8MS8wLGUud2lkdGgpLGhlaWdodDpNYXRoLm1pbih0aGlzLmh8fDEvMCxlLmhlaWdodCl9LHdpZHRoOjAsaGVpZ2h0OjAscHJldkhlaWdodDowLGN1cnJlbnRXaWR0aDowfSk7Y29uc3QgYT10aGlzW3hyXSgpO2F8fHNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKCFjaGVja0RpbWVuc2lvbnModGhpcyxlKSlyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFO2NvbnN0IHM9bmV3IFNldChbImZpZWxkIl0pO2lmKHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7Y29uc3QgZT10aGlzW2ZyXSgpLmNvbHVtbldpZHRocztpZihBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD4wKXt0aGlzW2FyXS5jb2x1bW5XaWR0aHM9ZTt0aGlzW2FyXS5jdXJyZW50Q29sdW1uPTB9fWNvbnN0IHI9dG9TdHlsZSh0aGlzLCJhbmNob3JUeXBlIiwiZGltZW5zaW9ucyIsInBvc2l0aW9uIiwicHJlc2VuY2UiLCJib3JkZXIiLCJtYXJnaW4iLCJoQWxpZ24iKSxuPVsieGZhRXhjbGdyb3VwIl0sZz1sYXlvdXRDbGFzcyh0aGlzKTtnJiZuLnB1c2goZyk7aXNQcmludE9ubHkodGhpcykmJm4ucHVzaCgieGZhUHJpbnRPbmx5Iik7aS5zdHlsZT1yO2kuY2xhc3M9bjt0aGlzLm5hbWUmJihpLnhmYU5hbWU9dGhpcy5uYW1lKTt0aGlzW1dyXSgpO2NvbnN0IG89ImxyLXRiIj09PXRoaXMubGF5b3V0fHwicmwtdGIiPT09dGhpcy5sYXlvdXQsYz1vPzI6MTtmb3IoO3RoaXNbYXJdLmF0dGVtcHQ8Yzt0aGlzW2FyXS5hdHRlbXB0Kyspe28mJjE9PT10aGlzW2FyXS5hdHRlbXB0JiYodGhpc1thcl0ubnVtYmVySW5MaW5lPTApO2NvbnN0IGU9dGhpc1tac10oe2ZpbHRlcjpzLGluY2x1ZGU6ITB9KTtpZihlLnN1Y2Nlc3MpYnJlYWs7aWYoZS5pc0JyZWFrKCkpe3RoaXNbUHJdKCk7cmV0dXJuIGV9aWYobyYmMD09PXRoaXNbYXJdLmF0dGVtcHQmJjA9PT10aGlzW2FyXS5udW1iZXJJbkxpbmUmJiF0aGlzW21yXSgpW2FyXS5ub0xheW91dEZhaWx1cmUpe3RoaXNbYXJdLmF0dGVtcHQ9YzticmVha319dGhpc1tQcl0oKTthfHx1bnNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKHRoaXNbYXJdLmF0dGVtcHQ9PT1jKXthfHxkZWxldGUgdGhpc1thcl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX1sZXQgQz0wLGg9MDtpZih0aGlzLm1hcmdpbil7Qz10aGlzLm1hcmdpbi5sZWZ0SW5zZXQrdGhpcy5tYXJnaW4ucmlnaHRJbnNldDtoPXRoaXMubWFyZ2luLnRvcEluc2V0K3RoaXMubWFyZ2luLmJvdHRvbUluc2V0fWNvbnN0IGw9TWF0aC5tYXgodGhpc1thcl0ud2lkdGgrQyx0aGlzLnd8fDApLFE9TWF0aC5tYXgodGhpc1thcl0uaGVpZ2h0K2gsdGhpcy5ofHwwKSxFPVt0aGlzLngsdGhpcy55LGwsUV07IiI9PT10aGlzLncmJihyLndpZHRoPW1lYXN1cmVUb1N0cmluZyhsKSk7IiI9PT10aGlzLmgmJihyLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcoUSkpO2NvbnN0IHU9e25hbWU6ImRpdiIsYXR0cmlidXRlczppLGNoaWxkcmVuOnR9O2FwcGx5QXNzaXN0KHRoaXMsaSk7ZGVsZXRlIHRoaXNbYXJdO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLHUpLEUpfX1jbGFzcyBFeGVjdXRlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJleGVjdXRlIik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5leGVjdXRlVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5leGVjdXRlVHlwZSxbImltcG9ydCIsInJlbWVyZ2UiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJ1bkF0PWdldFN0cmluZ09wdGlvbihlLnJ1bkF0LFsiY2xpZW50IiwiYm90aCIsInNlcnZlciJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEV4dHJhcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiZXh0cmFzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXh0cmFzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRmllbGQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImZpZWxkIiwhMCk7dGhpcy5hY2Nlc3M9Z2V0U3RyaW5nT3B0aW9uKGUuYWNjZXNzLFsib3BlbiIsIm5vbkludGVyYWN0aXZlIiwicHJvdGVjdGVkIiwicmVhZE9ubHkiXSk7dGhpcy5hY2Nlc3NLZXk9ZS5hY2Nlc3NLZXl8fCIiO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yb3RhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJvdGF0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lJTkwPT0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZm9udD1udWxsO3RoaXMuZm9ybWF0PW51bGw7dGhpcy5pdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXkoMik7dGhpcy5rZWVwPW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnRyYXZlcnNhbD1udWxsO3RoaXMudWk9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy52YWx1ZT1udWxsO3RoaXMuYmluZEl0ZW1zPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXZlbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2V0UHJvcGVydHk9bmV3IFhGQU9iamVjdEFycmF5fVtrcl0oKXtyZXR1cm4hMH1bJHJdKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVthbl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoIXRoaXMudWkpe3RoaXMudWk9bmV3IFVpKHt9KTt0aGlzLnVpW3lyXT10aGlzW3lyXTt0aGlzW2pzXSh0aGlzLnVpKTtsZXQgZTtzd2l0Y2godGhpcy5pdGVtcy5jaGlsZHJlbi5sZW5ndGgpe2Nhc2UgMDplPW5ldyBUZXh0RWRpdCh7fSk7dGhpcy51aS50ZXh0RWRpdD1lO2JyZWFrO2Nhc2UgMTplPW5ldyBDaGVja0J1dHRvbih7fSk7dGhpcy51aS5jaGVja0J1dHRvbj1lO2JyZWFrO2Nhc2UgMjplPW5ldyBDaG9pY2VMaXN0KHt9KTt0aGlzLnVpLmNob2ljZUxpc3Q9ZX10aGlzLnVpW2pzXShlKX1pZighdGhpcy51aXx8ImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZXx8MD09PXRoaXMuaHx8MD09PXRoaXMudylyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTt0aGlzLmNhcHRpb24mJmRlbGV0ZSB0aGlzLmNhcHRpb25bYXJdO3RoaXNbV3JdKCk7Y29uc3QgdD10aGlzLmNhcHRpb24/dGhpcy5jYXB0aW9uW2FuXShlKS5odG1sOm51bGwsaT10aGlzLncsYT10aGlzLmg7bGV0IHM9MCxyPTA7aWYodGhpcy5tYXJnaW4pe3M9dGhpcy5tYXJnaW4ubGVmdEluc2V0K3RoaXMubWFyZ2luLnJpZ2h0SW5zZXQ7cj10aGlzLm1hcmdpbi50b3BJbnNldCt0aGlzLm1hcmdpbi5ib3R0b21JbnNldH1sZXQgbj1udWxsO2lmKCIiPT09dGhpcy53fHwiIj09PXRoaXMuaCl7bGV0IHQ9bnVsbCxpPW51bGwsYT0wLGc9MDtpZih0aGlzLnVpLmNoZWNrQnV0dG9uKWE9Zz10aGlzLnVpLmNoZWNrQnV0dG9uLnNpemU7ZWxzZXtjb25zdHt3OnQsaDppfT1sYXlvdXROb2RlKHRoaXMsZSk7aWYobnVsbCE9PXQpe2E9dDtnPWl9ZWxzZSBnPWZ1bmN0aW9uIGZvbnRzX2dldE1ldHJpY3MoZSx0PSExKXtsZXQgaT1udWxsO2lmKGUpe2NvbnN0IHQ9c3RyaXBRdW90ZXMoZS50eXBlZmFjZSksYT1lW3lyXS5mb250RmluZGVyLmZpbmQodCk7aT1zZWxlY3RGb250KGUsYSl9aWYoIWkpcmV0dXJue2xpbmVIZWlnaHQ6MTIsbGluZUdhcDoyLGxpbmVOb0dhcDoxMH07Y29uc3QgYT1lLnNpemV8fDEwLHM9aS5saW5lSGVpZ2h0P01hdGgubWF4KHQ/MDoxLjIsaS5saW5lSGVpZ2h0KToxLjIscj12b2lkIDA9PT1pLmxpbmVHYXA/LjI6aS5saW5lR2FwO3JldHVybntsaW5lSGVpZ2h0OnMqYSxsaW5lR2FwOnIqYSxsaW5lTm9HYXA6TWF0aC5tYXgoMSxzLXIpKmF9fSh0aGlzLmZvbnQsITApLmxpbmVOb0dhcH1uPWdldEJvcmRlckRpbXModGhpcy51aVtscl0oKSk7YSs9bi53O2crPW4uaDtpZih0aGlzLmNhcHRpb24pe2NvbnN0e3c6cyxoOnIsaXNCcm9rZW46bn09dGhpcy5jYXB0aW9uW2xyXShlKTtpZihuJiZ0aGlzW2ZyXSgpW1VyXSgpKXt0aGlzW1ByXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dD1zO2k9cjtzd2l0Y2godGhpcy5jYXB0aW9uLnBsYWNlbWVudCl7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0IjpjYXNlImlubGluZSI6dCs9YTticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOmkrPWd9fWVsc2V7dD1hO2k9Z31pZih0JiYiIj09PXRoaXMudyl7dCs9czt0aGlzLnc9TWF0aC5taW4odGhpcy5tYXhXPD0wPzEvMDp0aGlzLm1heFcsdGhpcy5taW5XKzE8dD90OnRoaXMubWluVyl9aWYoaSYmIiI9PT10aGlzLmgpe2krPXI7dGhpcy5oPU1hdGgubWluKHRoaXMubWF4SDw9MD8xLzA6dGhpcy5tYXhILHRoaXMubWluSCsxPGk/aTp0aGlzLm1pbkgpfX10aGlzW1ByXSgpO2ZpeERpbWVuc2lvbnModGhpcyk7c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXt0aGlzLnc9aTt0aGlzLmg9YTt0aGlzW1ByXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtjb25zdCBnPXRvU3R5bGUodGhpcywiZm9udCIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInJvdGF0ZSIsImFuY2hvclR5cGUiLCJwcmVzZW5jZSIsIm1hcmdpbiIsImhBbGlnbiIpO3NldE1pbk1heERpbWVuc2lvbnModGhpcyxnKTtjb25zdCBvPVsieGZhRmllbGQiXTt0aGlzLmZvbnQmJm8ucHVzaCgieGZhRm9udCIpO2lzUHJpbnRPbmx5KHRoaXMpJiZvLnB1c2goInhmYVByaW50T25seSIpO2NvbnN0IGM9e3N0eWxlOmcsaWQ6dGhpc1tubl0sY2xhc3M6b307aWYoZy5tYXJnaW4pe2cucGFkZGluZz1nLm1hcmdpbjtkZWxldGUgZy5tYXJnaW59c2V0QWNjZXNzKHRoaXMsbyk7dGhpcy5uYW1lJiYoYy54ZmFOYW1lPXRoaXMubmFtZSk7Y29uc3QgQz1bXSxoPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6YyxjaGlsZHJlbjpDfTthcHBseUFzc2lzdCh0aGlzLGMpO2NvbnN0IGw9dGhpcy5ib3JkZXI/dGhpcy5ib3JkZXJbcm5dKCk6bnVsbCxRPWNvbXB1dGVCYm94KHRoaXMsaCxlKSxFPXRoaXMudWlbYW5dKCkuaHRtbDtpZighRSl7T2JqZWN0LmFzc2lnbihnLGwpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGgpLFEpfXRoaXNbQW5dJiYoRS5jaGlsZHJlbj8uWzBdP0UuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy50YWJpbmRleD10aGlzW0FuXTpFLmF0dHJpYnV0ZXMudGFiaW5kZXg9dGhpc1tBbl0pO0UuYXR0cmlidXRlcy5zdHlsZXx8KEUuYXR0cmlidXRlcy5zdHlsZT1PYmplY3QuY3JlYXRlKG51bGwpKTtsZXQgdT1udWxsO2lmKHRoaXMudWkuYnV0dG9uKXsxPT09RS5jaGlsZHJlbi5sZW5ndGgmJihbdV09RS5jaGlsZHJlbi5zcGxpY2UoMCwxKSk7T2JqZWN0LmFzc2lnbihFLmF0dHJpYnV0ZXMuc3R5bGUsbCl9ZWxzZSBPYmplY3QuYXNzaWduKGcsbCk7Qy5wdXNoKEUpO2lmKHRoaXMudmFsdWUpaWYodGhpcy51aS5pbWFnZUVkaXQpRS5jaGlsZHJlbi5wdXNoKHRoaXMudmFsdWVbYW5dKCkuaHRtbCk7ZWxzZSBpZighdGhpcy51aS5idXR0b24pe2xldCBlPSIiO2lmKHRoaXMudmFsdWUuZXhEYXRhKWU9dGhpcy52YWx1ZS5leERhdGFbZW5dKCk7ZWxzZSBpZih0aGlzLnZhbHVlLnRleHQpZT10aGlzLnZhbHVlLnRleHRbbHJdKCk7ZWxzZXtjb25zdCB0PXRoaXMudmFsdWVbYW5dKCkuaHRtbDtudWxsIT09dCYmKGU9dC5jaGlsZHJlblswXS52YWx1ZSl9dGhpcy51aS50ZXh0RWRpdCYmdGhpcy52YWx1ZS50ZXh0Py5tYXhDaGFycyYmKEUuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5tYXhMZW5ndGg9dGhpcy52YWx1ZS50ZXh0Lm1heENoYXJzKTtpZihlKXtpZih0aGlzLnVpLm51bWVyaWNFZGl0KXtlPXBhcnNlRmxvYXQoZSk7ZT1pc05hTihlKT8iIjplLnRvU3RyaW5nKCl9InRleHRhcmVhIj09PUUuY2hpbGRyZW5bMF0ubmFtZT9FLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudGV4dENvbnRlbnQ9ZTpFLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudmFsdWU9ZX19aWYoIXRoaXMudWkuaW1hZ2VFZGl0JiZFLmNoaWxkcmVuPy5bMF0mJnRoaXMuaCl7bj1ufHxnZXRCb3JkZXJEaW1zKHRoaXMudWlbbHJdKCkpO2xldCB0PTA7aWYodGhpcy5jYXB0aW9uJiZbInRvcCIsImJvdHRvbSJdLmluY2x1ZGVzKHRoaXMuY2FwdGlvbi5wbGFjZW1lbnQpKXt0PXRoaXMuY2FwdGlvbi5yZXNlcnZlO3Q8PTAmJih0PXRoaXMuY2FwdGlvbltscl0oZSkuaCk7Y29uc3QgaT10aGlzLmgtdC1yLW4uaDtFLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PW1lYXN1cmVUb1N0cmluZyhpKX1lbHNlIEUuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9IjEwMCUifXUmJkUuY2hpbGRyZW4ucHVzaCh1KTtpZighdCl7RS5hdHRyaWJ1dGVzLmNsYXNzJiZFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO3RoaXMudz1pO3RoaXMuaD1hO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGgpLFEpfWlmKHRoaXMudWkuYnV0dG9uKXtnLnBhZGRpbmcmJmRlbGV0ZSBnLnBhZGRpbmc7ImRpdiI9PT10Lm5hbWUmJih0Lm5hbWU9InNwYW4iKTtFLmNoaWxkcmVuLnB1c2godCk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhoLFEpfXRoaXMudWkuY2hlY2tCdXR0b24mJih0LmF0dHJpYnV0ZXMuY2xhc3NbMF09InhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbiIpO0UuYXR0cmlidXRlcy5jbGFzc3x8KEUuYXR0cmlidXRlcy5jbGFzcz1bXSk7RS5jaGlsZHJlbi5zcGxpY2UoMCwwLHQpO3N3aXRjaCh0aGlzLmNhcHRpb24ucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UiaW5saW5lIjpFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO2JyZWFrO2Nhc2UicmlnaHQiOkUuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFSaWdodCIpO2JyZWFrO2Nhc2UidG9wIjpFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhVG9wIik7YnJlYWs7Y2FzZSJib3R0b20iOkUuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFCb3R0b20iKX10aGlzLnc9aTt0aGlzLmg9YTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGNyZWF0ZVdyYXBwZXIodGhpcyxoKSxRKX19Y2xhc3MgRmlsbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiZmlsbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5saW5lYXI9bnVsbDt0aGlzLnBhdHRlcm49bnVsbDt0aGlzLnJhZGlhbD1udWxsO3RoaXMuc29saWQ9bnVsbDt0aGlzLnN0aXBwbGU9bnVsbH1bcm5dKCl7Y29uc3QgZT10aGlzW3ByXSgpLHQ9ZVtwcl0oKVtwcl0oKSxpPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IGE9ImNvbG9yIixzPWE7aWYoZSBpbnN0YW5jZW9mIEJvcmRlcil7YT0iYmFja2dyb3VuZC1jb2xvciI7cz0iYmFja2dyb3VuZCI7dCBpbnN0YW5jZW9mIFVpJiYoaS5iYWNrZ3JvdW5kQ29sb3I9IndoaXRlIil9aWYoZSBpbnN0YW5jZW9mIFJlY3RhbmdsZXx8ZSBpbnN0YW5jZW9mIEFyYyl7YT1zPSJmaWxsIjtpLmZpbGw9IndoaXRlIn1mb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImV4dHJhcyI9PT1lfHwiY29sb3IiPT09ZSljb250aW51ZTtjb25zdCB0PXRoaXNbZV07aWYoISh0IGluc3RhbmNlb2YgWEZBT2JqZWN0KSljb250aW51ZTtjb25zdCByPXRbcm5dKHRoaXMuY29sb3IpO3ImJihpW3Iuc3RhcnRzV2l0aCgiIyIpP2E6c109cik7cmV0dXJuIGl9aWYodGhpcy5jb2xvcj8udmFsdWUpe2NvbnN0IGU9dGhpcy5jb2xvcltybl0oKTtpW2Uuc3RhcnRzV2l0aCgiIyIpP2E6c109ZX1yZXR1cm4gaX19Y2xhc3MgRmlsdGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJmaWx0ZXIiLCEwKTt0aGlzLmFkZFJldm9jYXRpb25JbmZvPWdldFN0cmluZ09wdGlvbihlLmFkZFJldm9jYXRpb25JbmZvLFsiIiwicmVxdWlyZWQiLCJvcHRpb25hbCIsIm5vbmUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy52ZXJzaW9uPWdldEludGVnZXIoe2RhdGE6dGhpcy52ZXJzaW9uLGRlZmF1bHRWYWx1ZTo1LHZhbGlkYXRlOmU9PmU+PTEmJmU8PTV9KTt0aGlzLmFwcGVhcmFuY2VGaWx0ZXI9bnVsbDt0aGlzLmNlcnRpZmljYXRlcz1udWxsO3RoaXMuZGlnZXN0TWV0aG9kcz1udWxsO3RoaXMuZW5jb2RpbmdzPW51bGw7dGhpcy5lbmNyeXB0aW9uTWV0aG9kcz1udWxsO3RoaXMuaGFuZGxlcj1udWxsO3RoaXMubG9ja0RvY3VtZW50PW51bGw7dGhpcy5tZHA9bnVsbDt0aGlzLnJlYXNvbnM9bnVsbDt0aGlzLnRpbWVTdGFtcD1udWxsfX1jbGFzcyBGbG9hdCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImZsb2F0Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W3NyXSgpe2NvbnN0IGU9cGFyc2VGbG9hdCh0aGlzW2VyXS50cmltKCkpO3RoaXNbZXJdPWlzTmFOKGUpP251bGw6ZX1bYW5dKGUpe3JldHVybiB2YWx1ZVRvSHRtbChudWxsIT09dGhpc1tlcl0/dGhpc1tlcl0udG9TdHJpbmcoKToiIil9fWNsYXNzIHRlbXBsYXRlX0ZvbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImZvbnQiLCEwKTt0aGlzLmJhc2VsaW5lU2hpZnQ9Z2V0TWVhc3VyZW1lbnQoZS5iYXNlbGluZVNoaWZ0KTt0aGlzLmZvbnRIb3Jpem9udGFsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250SG9yaXpvbnRhbFNjYWxlLGRlZmF1bHRWYWx1ZToxMDAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMuZm9udFZlcnRpY2FsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250VmVydGljYWxTY2FsZSxkZWZhdWx0VmFsdWU6MTAwLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMua2VybmluZ01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUua2VybmluZ01vZGUsWyJub25lIiwicGFpciJdKTt0aGlzLmxldHRlclNwYWNpbmc9Z2V0TWVhc3VyZW1lbnQoZS5sZXR0ZXJTcGFjaW5nLCIwIik7dGhpcy5saW5lVGhyb3VnaD1nZXRJbnRlZ2VyKHtkYXRhOmUubGluZVRocm91Z2gsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5saW5lVGhyb3VnaFBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5saW5lVGhyb3VnaFBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5vdmVybGluZT1nZXRJbnRlZ2VyKHtkYXRhOmUub3ZlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5vdmVybGluZVBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5vdmVybGluZVBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5wb3N0dXJlPWdldFN0cmluZ09wdGlvbihlLnBvc3R1cmUsWyJub3JtYWwiLCJpdGFsaWMiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudHlwZWZhY2U9ZS50eXBlZmFjZXx8IkNvdXJpZXIiO3RoaXMudW5kZXJsaW5lPWdldEludGVnZXIoe2RhdGE6ZS51bmRlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy51bmRlcmxpbmVQZXJpb2Q9Z2V0U3RyaW5nT3B0aW9uKGUudW5kZXJsaW5lUGVyaW9kLFsiYWxsIiwid29yZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53ZWlnaHQ9Z2V0U3RyaW5nT3B0aW9uKGUud2VpZ2h0LFsibm9ybWFsIiwiYm9sZCJdKTt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsbD1udWxsfVtWc10oZSl7c3VwZXJbVnNdKGUpO3RoaXNbeXJdLnVzZWRUeXBlZmFjZXMuYWRkKHRoaXMudHlwZWZhY2UpfVtybl0oKXtjb25zdCBlPXRvU3R5bGUodGhpcywiZmlsbCIpLHQ9ZS5jb2xvcjtpZih0KWlmKCIjMDAwMDAwIj09PXQpZGVsZXRlIGUuY29sb3I7ZWxzZSBpZighdC5zdGFydHNXaXRoKCIjIikpe2UuYmFja2dyb3VuZD10O2UuYmFja2dyb3VuZENsaXA9InRleHQiO2UuY29sb3I9InRyYW5zcGFyZW50In10aGlzLmJhc2VsaW5lU2hpZnQmJihlLnZlcnRpY2FsQWxpZ249bWVhc3VyZVRvU3RyaW5nKHRoaXMuYmFzZWxpbmVTaGlmdCkpO2UuZm9udEtlcm5pbmc9Im5vbmUiPT09dGhpcy5rZXJuaW5nTW9kZT8ibm9uZSI6Im5vcm1hbCI7ZS5sZXR0ZXJTcGFjaW5nPW1lYXN1cmVUb1N0cmluZyh0aGlzLmxldHRlclNwYWNpbmcpO2lmKDAhPT10aGlzLmxpbmVUaHJvdWdoKXtlLnRleHREZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giOzI9PT10aGlzLmxpbmVUaHJvdWdoJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1pZigwIT09dGhpcy5vdmVybGluZSl7ZS50ZXh0RGVjb3JhdGlvbj0ib3ZlcmxpbmUiOzI9PT10aGlzLm92ZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRTdHlsZT10aGlzLnBvc3R1cmU7ZS5mb250U2l6ZT1tZWFzdXJlVG9TdHJpbmcoLjk5KnRoaXMuc2l6ZSk7c2V0Rm9udEZhbWlseSh0aGlzLHRoaXMsdGhpc1t5cl0uZm9udEZpbmRlcixlKTtpZigwIT09dGhpcy51bmRlcmxpbmUpe2UudGV4dERlY29yYXRpb249InVuZGVybGluZSI7Mj09PXRoaXMudW5kZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRXZWlnaHQ9dGhpcy53ZWlnaHQ7cmV0dXJuIGV9fWNsYXNzIEZvcm1hdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiZm9ybWF0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbH19Y2xhc3MgSGFuZGxlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiaGFuZGxlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgSHlwaGVuYXRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImh5cGhlbmF0aW9uIik7dGhpcy5leGNsdWRlQWxsQ2Fwcz1nZXRJbnRlZ2VyKHtkYXRhOmUuZXhjbHVkZUFsbENhcHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmV4Y2x1ZGVJbml0aWFsQ2FwPWdldEludGVnZXIoe2RhdGE6ZS5leGNsdWRlSW5pdGlhbENhcCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaHlwaGVuYXRlPWdldEludGVnZXIoe2RhdGE6ZS5oeXBoZW5hdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHVzaENoYXJhY3RlckNvdW50PWdldEludGVnZXIoe2RhdGE6ZS5wdXNoQ2hhcmFjdGVyQ291bnQsZGVmYXVsdFZhbHVlOjMsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMucmVtYWluQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLnJlbWFpbkNoYXJhY3RlckNvdW50LGRlZmF1bHRWYWx1ZTozLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53b3JkQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLndvcmRDaGFyYWN0ZXJDb3VudCxkZWZhdWx0VmFsdWU6Nyx2YWxpZGF0ZTplPT5lPj0wfSl9fWNsYXNzIEltYWdlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJpbWFnZSIpO3RoaXMuYXNwZWN0PWdldFN0cmluZ09wdGlvbihlLmFzcGVjdCxbImZpdCIsImFjdHVhbCIsImhlaWdodCIsIm5vbmUiLCJ3aWR0aCJdKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJiYXNlNjQiLCJub25lIiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W2FuXSgpe2lmKHRoaXMuY29udGVudFR5cGUmJiF2bi5oYXModGhpcy5jb250ZW50VHlwZS50b0xvd2VyQ2FzZSgpKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtsZXQgZT10aGlzW3lyXS5pbWFnZXMmJnRoaXNbeXJdLmltYWdlcy5nZXQodGhpcy5ocmVmKTtpZighZSYmKHRoaXMuaHJlZnx8IXRoaXNbZXJdKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtlfHwiYmFzZTY0IiE9PXRoaXMudHJhbnNmZXJFbmNvZGluZ3x8KGU9ZnVuY3Rpb24gZnJvbUJhc2U2NFV0aWwoZSl7cmV0dXJuIFVpbnQ4QXJyYXkuZnJvbUJhc2U2ND9VaW50OEFycmF5LmZyb21CYXNlNjQoZSk6c3RyaW5nVG9CeXRlcyhhdG9iKGUpKX0odGhpc1tlcl0pKTtpZighZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtpZighdGhpcy5jb250ZW50VHlwZSl7Zm9yKGNvbnN0W3QsaV1vZiBUbilpZihlLmxlbmd0aD50Lmxlbmd0aCYmdC5ldmVyeSgoKHQsaSk9PnQ9PT1lW2ldKSkpe3RoaXMuY29udGVudFR5cGU9aTticmVha31pZighdGhpcy5jb250ZW50VHlwZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX1jb25zdCB0PW5ldyBCbG9iKFtlXSx7dHlwZTp0aGlzLmNvbnRlbnRUeXBlfSk7bGV0IGk7c3dpdGNoKHRoaXMuYXNwZWN0KXtjYXNlImZpdCI6Y2FzZSJhY3R1YWwiOmJyZWFrO2Nhc2UiaGVpZ2h0IjppPXtoZWlnaHQ6IjEwMCUiLG9iamVjdEZpdDoiZmlsbCJ9O2JyZWFrO2Nhc2Uibm9uZSI6aT17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb2JqZWN0Rml0OiJmaWxsIn07YnJlYWs7Y2FzZSJ3aWR0aCI6aT17d2lkdGg6IjEwMCUiLG9iamVjdEZpdDoiZmlsbCJ9fWNvbnN0IGE9dGhpc1twcl0oKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJpbWciLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhSW1hZ2UiXSxzdHlsZTppLHNyYzpVUkwuY3JlYXRlT2JqZWN0VVJMKHQpLGFsdDphP2FyaWFMYWJlbChhW3ByXSgpKTpudWxsfX0pfX1jbGFzcyBJbWFnZUVkaXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sImltYWdlRWRpdCIsITApO3RoaXMuZGF0YT1nZXRTdHJpbmdPcHRpb24oZS5kYXRhLFsibGluayIsImVtYmVkIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVthbl0oZSl7cmV0dXJuImVtYmVkIj09PXRoaXMuZGF0YT9IVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsY2hpbGRyZW46W10sYXR0cmlidXRlczp7fX0pOkhUTUxSZXN1bHQuRU1QVFl9fWNsYXNzIEludGVnZXIgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJpbnRlZ2VyIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W3NyXSgpe2NvbnN0IGU9cGFyc2VJbnQodGhpc1tlcl0udHJpbSgpLDEwKTt0aGlzW2VyXT1pc05hTihlKT9udWxsOmV9W2FuXShlKXtyZXR1cm4gdmFsdWVUb0h0bWwobnVsbCE9PXRoaXNbZXJdP3RoaXNbZXJdLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBJc3N1ZXJzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJpc3N1ZXJzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBJdGVtcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwiaXRlbXMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMuc2F2ZT1nZXRJbnRlZ2VyKHtkYXRhOmUuc2F2ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvb2xlYW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlVGltZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWNpbWFsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mbG9hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbnRlZ2VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRleHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGltZT1uZXcgWEZBT2JqZWN0QXJyYXl9W2FuXSgpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpc1tFcl0oKSllLnB1c2godFtlbl0oKSk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhlKX19Y2xhc3MgS2VlcCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwia2VlcCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7Y29uc3QgdD1bIm5vbmUiLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl07dGhpcy5pbnRhY3Q9Z2V0U3RyaW5nT3B0aW9uKGUuaW50YWN0LHQpO3RoaXMubmV4dD1nZXRTdHJpbmdPcHRpb24oZS5uZXh0LHQpO3RoaXMucHJldmlvdXM9Z2V0U3RyaW5nT3B0aW9uKGUucHJldmlvdXMsdCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9fWNsYXNzIEtleVVzYWdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJrZXlVc2FnZSIpO2NvbnN0IHQ9WyIiLCJ5ZXMiLCJubyJdO3RoaXMuY3JsU2lnbj1nZXRTdHJpbmdPcHRpb24oZS5jcmxTaWduLHQpO3RoaXMuZGF0YUVuY2lwaGVybWVudD1nZXRTdHJpbmdPcHRpb24oZS5kYXRhRW5jaXBoZXJtZW50LHQpO3RoaXMuZGVjaXBoZXJPbmx5PWdldFN0cmluZ09wdGlvbihlLmRlY2lwaGVyT25seSx0KTt0aGlzLmRpZ2l0YWxTaWduYXR1cmU9Z2V0U3RyaW5nT3B0aW9uKGUuZGlnaXRhbFNpZ25hdHVyZSx0KTt0aGlzLmVuY2lwaGVyT25seT1nZXRTdHJpbmdPcHRpb24oZS5lbmNpcGhlck9ubHksdCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmtleUFncmVlbWVudD1nZXRTdHJpbmdPcHRpb24oZS5rZXlBZ3JlZW1lbnQsdCk7dGhpcy5rZXlDZXJ0U2lnbj1nZXRTdHJpbmdPcHRpb24oZS5rZXlDZXJ0U2lnbix0KTt0aGlzLmtleUVuY2lwaGVybWVudD1nZXRTdHJpbmdPcHRpb24oZS5rZXlFbmNpcGhlcm1lbnQsdCk7dGhpcy5ub25SZXB1ZGlhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5ub25SZXB1ZGlhdGlvbix0KTt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBMaW5lIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJsaW5lIiwhMCk7dGhpcy5oYW5kPWdldFN0cmluZ09wdGlvbihlLmhhbmQsWyJldmVuIiwibGVmdCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5zbG9wZT1nZXRTdHJpbmdPcHRpb24oZS5zbG9wZSxbIlxcIiwiLyJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lZGdlPW51bGx9W2FuXSgpe2NvbnN0IGU9dGhpc1twcl0oKVtwcl0oKSx0PXRoaXMuZWRnZXx8bmV3IEVkZ2Uoe30pLGk9dFtybl0oKSxhPU9iamVjdC5jcmVhdGUobnVsbCkscz0idmlzaWJsZSI9PT10LnByZXNlbmNlP3QudGhpY2tuZXNzOjA7YS5zdHJva2VXaWR0aD1tZWFzdXJlVG9TdHJpbmcocyk7YS5zdHJva2U9aS5jb2xvcjtsZXQgcixuLGcsbyxjPSIxMDAlIixDPSIxMDAlIjtpZihlLnc8PXMpe1tyLG4sZyxvXT1bIjUwJSIsMCwiNTAlIiwiMTAwJSJdO2M9YS5zdHJva2VXaWR0aH1lbHNlIGlmKGUuaDw9cyl7W3IsbixnLG9dPVswLCI1MCUiLCIxMDAlIiwiNTAlIl07Qz1hLnN0cm9rZVdpZHRofWVsc2UiXFwiPT09dGhpcy5zbG9wZT9bcixuLGcsb109WzAsMCwiMTAwJSIsIjEwMCUiXTpbcixuLGcsb109WzAsIjEwMCUiLCIxMDAlIiwwXTtjb25zdCBoPXtuYW1lOiJzdmciLGNoaWxkcmVuOlt7bmFtZToibGluZSIsYXR0cmlidXRlczp7eG1sbnM6Sm4seDE6cix5MTpuLHgyOmcseTI6byxzdHlsZTphfX1dLGF0dHJpYnV0ZXM6e3htbG5zOkpuLHdpZHRoOmMsaGVpZ2h0OkMsc3R5bGU6e292ZXJmbG93OiJ2aXNpYmxlIn19fTtpZihoYXNNYXJnaW4oZSkpcmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntzdHlsZTp7ZGlzcGxheToiaW5saW5lIix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19LGNoaWxkcmVuOltoXX0pO2guYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoaCl9fWNsYXNzIExpbmVhciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwibGluZWFyIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbInRvUmlnaHQiLCJ0b0JvdHRvbSIsInRvTGVmdCIsInRvVG9wIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bcm5dKGUpe2U9ZT9lW3JuXSgpOiIjRkZGRkZGIjtyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7dGhpcy50eXBlLnJlcGxhY2UoLyhbUkJMVF0pLywiICQxIikudG9Mb3dlckNhc2UoKX0sICR7ZX0sICR7dGhpcy5jb2xvcj90aGlzLmNvbG9yW3JuXSgpOiIjMDAwMDAwIn0pYH19Y2xhc3MgTG9ja0RvY3VtZW50IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwibG9ja0RvY3VtZW50Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtzcl0oKXt0aGlzW2VyXT1nZXRTdHJpbmdPcHRpb24odGhpc1tlcl0sWyJhdXRvIiwiMCIsIjEiXSl9fWNsYXNzIE1hbmlmZXN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJtYW5pZmVzdCIsITApO3RoaXMuYWN0aW9uPWdldFN0cmluZ09wdGlvbihlLmFjdGlvbixbImluY2x1ZGUiLCJhbGwiLCJleGNsdWRlIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5yZWY9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBNYXJnaW4gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sIm1hcmdpbiIsITApO3RoaXMuYm90dG9tSW5zZXQ9Z2V0TWVhc3VyZW1lbnQoZS5ib3R0b21JbnNldCwiMCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWZ0SW5zZXQ9Z2V0TWVhc3VyZW1lbnQoZS5sZWZ0SW5zZXQsIjAiKTt0aGlzLnJpZ2h0SW5zZXQ9Z2V0TWVhc3VyZW1lbnQoZS5yaWdodEluc2V0LCIwIik7dGhpcy50b3BJbnNldD1nZXRNZWFzdXJlbWVudChlLnRvcEluc2V0LCIwIik7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9W3JuXSgpe3JldHVybnttYXJnaW46bWVhc3VyZVRvU3RyaW5nKHRoaXMudG9wSW5zZXQpKyIgIittZWFzdXJlVG9TdHJpbmcodGhpcy5yaWdodEluc2V0KSsiICIrbWVhc3VyZVRvU3RyaW5nKHRoaXMuYm90dG9tSW5zZXQpKyIgIittZWFzdXJlVG9TdHJpbmcodGhpcy5sZWZ0SW5zZXQpfX19Y2xhc3MgTWRwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJtZHAiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGVybWlzc2lvbnM9Z2V0SW50ZWdlcih7ZGF0YTplLnBlcm1pc3Npb25zLGRlZmF1bHRWYWx1ZToyLHZhbGlkYXRlOmU9PjE9PT1lfHwzPT09ZX0pO3RoaXMuc2lnbmF0dXJlVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5zaWduYXR1cmVUeXBlLFsiZmlsbGVyIiwiYXV0aG9yIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgTWVkaXVtIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJtZWRpdW0iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW1hZ2luZ0JCb3g9ZnVuY3Rpb24gZ2V0QkJveChlKXtjb25zdCB0PS0xO2lmKCFlKXJldHVybnt4OnQseTp0LHdpZHRoOnQsaGVpZ2h0OnR9O2NvbnN0IGk9ZS50cmltKCkuc3BsaXQoL1xzKixccyovKS5tYXAoKGU9PmdldE1lYXN1cmVtZW50KGUsIi0xIikpKTtpZihpLmxlbmd0aDw0fHxpWzJdPDB8fGlbM108MClyZXR1cm57eDp0LHk6dCx3aWR0aDp0LGhlaWdodDp0fTtjb25zdFthLHMscixuXT1pO3JldHVybnt4OmEseTpzLHdpZHRoOnIsaGVpZ2h0Om59fShlLmltYWdpbmdCQm94KTt0aGlzLmxvbmc9Z2V0TWVhc3VyZW1lbnQoZS5sb25nKTt0aGlzLm9yaWVudGF0aW9uPWdldFN0cmluZ09wdGlvbihlLm9yaWVudGF0aW9uLFsicG9ydHJhaXQiLCJsYW5kc2NhcGUiXSk7dGhpcy5zaG9ydD1nZXRNZWFzdXJlbWVudChlLnNob3J0KTt0aGlzLnN0b2NrPWUuc3RvY2t8fCIiO3RoaXMudHJheUluPWdldFN0cmluZ09wdGlvbihlLnRyYXlJbixbImF1dG8iLCJkZWxlZ2F0ZSIsInBhZ2VGcm9udCJdKTt0aGlzLnRyYXlPdXQ9Z2V0U3RyaW5nT3B0aW9uKGUudHJheU91dCxbImF1dG8iLCJkZWxlZ2F0ZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIE1lc3NhZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sIm1lc3NhZ2UiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnRleHQ9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBOdW1lcmljRWRpdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwibnVtZXJpY0VkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuY29tYj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bYW5dKGUpe2NvbnN0IHQ9dG9TdHlsZSh0aGlzLCJib3JkZXIiLCJmb250IiwibWFyZ2luIiksaT10aGlzW3ByXSgpW3ByXSgpLGE9e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixmaWVsZElkOmlbbm5dLGRhdGFJZDppW3RyXT8uW25uXXx8aVtubl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoaSksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChpKSl7YS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7YS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOlthXX0pfX1jbGFzcyBPY2N1ciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwib2NjdXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW5pdGlhbD0iIiE9PWUuaW5pdGlhbD9nZXRJbnRlZ2VyKHtkYXRhOmUuaW5pdGlhbCxkZWZhdWx0VmFsdWU6IiIsdmFsaWRhdGU6ZT0+ITB9KToiIjt0aGlzLm1heD0iIiE9PWUubWF4P2dldEludGVnZXIoe2RhdGE6ZS5tYXgsZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ITB9KToiIjt0aGlzLm1pbj0iIiE9PWUubWluP2dldEludGVnZXIoe2RhdGE6ZS5taW4sZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ITB9KToiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH1bVnNdKCl7Y29uc3QgZT10aGlzW3ByXSgpLHQ9dGhpcy5taW47IiI9PT10aGlzLm1pbiYmKHRoaXMubWluPWUgaW5zdGFuY2VvZiBQYWdlQXJlYXx8ZSBpbnN0YW5jZW9mIFBhZ2VTZXQ/MDoxKTsiIj09PXRoaXMubWF4JiYodGhpcy5tYXg9IiI9PT10P2UgaW5zdGFuY2VvZiBQYWdlQXJlYXx8ZSBpbnN0YW5jZW9mIFBhZ2VTZXQ/LTE6MTp0aGlzLm1pbik7LTEhPT10aGlzLm1heCYmdGhpcy5tYXg8dGhpcy5taW4mJih0aGlzLm1heD10aGlzLm1pbik7IiI9PT10aGlzLmluaXRpYWwmJih0aGlzLmluaXRpYWw9ZSBpbnN0YW5jZW9mIFRlbXBsYXRlPzE6dGhpcy5taW4pfX1jbGFzcyBPaWQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sIm9pZCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBPaWRzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJvaWRzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMub2lkPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgT3ZlcmZsb3cgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sIm92ZXJmbG93Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxlYWRlcj1lLmxlYWRlcnx8IiI7dGhpcy50YXJnZXQ9ZS50YXJnZXR8fCIiO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bbHJdKCl7aWYoIXRoaXNbYXJdKXtjb25zdCBlPXRoaXNbcHJdKCksdD10aGlzW21yXSgpLGk9dFtWcl0odGhpcy50YXJnZXQsZSksYT10W1ZyXSh0aGlzLmxlYWRlcixlKSxzPXRbVnJdKHRoaXMudHJhaWxlcixlKTt0aGlzW2FyXT17dGFyZ2V0Omk/LlswXXx8bnVsbCxsZWFkZXI6YT8uWzBdfHxudWxsLHRyYWlsZXI6cz8uWzBdfHxudWxsLGFkZExlYWRlcjohMSxhZGRUcmFpbGVyOiExfX1yZXR1cm4gdGhpc1thcl19fWNsYXNzIFBhZ2VBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJwYWdlQXJlYSIsITApO3RoaXMuYmxhbmtPck5vdEJsYW5rPWdldFN0cmluZ09wdGlvbihlLmJsYW5rT3JOb3RCbGFuayxbImFueSIsImJsYW5rIiwibm90QmxhbmsiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmluaXRpYWxOdW1iZXI9Z2V0SW50ZWdlcih7ZGF0YTplLmluaXRpYWxOdW1iZXIsZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLm51bWJlcmVkPWdldEludGVnZXIoe2RhdGE6ZS5udW1iZXJlZCxkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4hMH0pO3RoaXMub2RkT3JFdmVuPWdldFN0cmluZ09wdGlvbihlLm9kZE9yRXZlbixbImFueSIsImV2ZW4iLCJvZGQiXSk7dGhpcy5wYWdlUG9zaXRpb249Z2V0U3RyaW5nT3B0aW9uKGUucGFnZVBvc2l0aW9uLFsiYW55IiwiZmlyc3QiLCJsYXN0Iiwib25seSIsInJlc3QiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1lZGl1bT1udWxsO3RoaXMub2NjdXI9bnVsbDt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29udGVudEFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGNsR3JvdXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXl9W0xyXSgpe2lmKCF0aGlzW2FyXSl7dGhpc1thcl09e251bWJlck9mVXNlOjB9O3JldHVybiEwfXJldHVybiF0aGlzLm9jY3VyfHwtMT09PXRoaXMub2NjdXIubWF4fHx0aGlzW2FyXS5udW1iZXJPZlVzZTx0aGlzLm9jY3VyLm1heH1benNdKCl7ZGVsZXRlIHRoaXNbYXJdfVtkcl0oKXt0aGlzW2FyXXx8KHRoaXNbYXJdPXtudW1iZXJPZlVzZTowfSk7Y29uc3QgZT10aGlzW3ByXSgpO2lmKCJvcmRlcmVkT2NjdXJyZW5jZSI9PT1lLnJlbGF0aW9uJiZ0aGlzW0xyXSgpKXt0aGlzW2FyXS5udW1iZXJPZlVzZSs9MTtyZXR1cm4gdGhpc31yZXR1cm4gZVtkcl0oKX1bb3JdKCl7cmV0dXJuIHRoaXNbYXJdLnNwYWNlfHx7d2lkdGg6MCxoZWlnaHQ6MH19W2FuXSgpe3RoaXNbYXJdfHwodGhpc1thcl09e251bWJlck9mVXNlOjF9KTtjb25zdCBlPVtdO3RoaXNbYXJdLmNoaWxkcmVuPWU7Y29uc3QgdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKHRoaXMubWVkaXVtJiZ0aGlzLm1lZGl1bS5zaG9ydCYmdGhpcy5tZWRpdW0ubG9uZyl7dC53aWR0aD1tZWFzdXJlVG9TdHJpbmcodGhpcy5tZWRpdW0uc2hvcnQpO3QuaGVpZ2h0PW1lYXN1cmVUb1N0cmluZyh0aGlzLm1lZGl1bS5sb25nKTt0aGlzW2FyXS5zcGFjZT17d2lkdGg6dGhpcy5tZWRpdW0uc2hvcnQsaGVpZ2h0OnRoaXMubWVkaXVtLmxvbmd9O2lmKCJsYW5kc2NhcGUiPT09dGhpcy5tZWRpdW0ub3JpZW50YXRpb24pe2NvbnN0IGU9dC53aWR0aDt0LndpZHRoPXQuaGVpZ2h0O3QuaGVpZ2h0PWU7dGhpc1thcl0uc3BhY2U9e3dpZHRoOnRoaXMubWVkaXVtLmxvbmcsaGVpZ2h0OnRoaXMubWVkaXVtLnNob3J0fX19ZWxzZSB3YXJuKCJYRkEgLSBObyBtZWRpdW0gc3BlY2lmaWVkIGluIHBhZ2VBcmVhOiBwbGVhc2UgZmlsZSBhIGJ1Zy4iKTt0aGlzW1pzXSh7ZmlsdGVyOm5ldyBTZXQoWyJhcmVhIiwiZHJhdyIsImZpZWxkIiwic3ViZm9ybSJdKSxpbmNsdWRlOiEwfSk7dGhpc1tac10oe2ZpbHRlcjpuZXcgU2V0KFsiY29udGVudEFyZWEiXSksaW5jbHVkZTohMH0pO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsY2hpbGRyZW46ZSxhdHRyaWJ1dGVzOntjbGFzczpbInhmYVBhZ2UiXSxpZDp0aGlzW25uXSxzdHlsZTp0LHhmYU5hbWU6dGhpcy5uYW1lfX0pfX1jbGFzcyBQYWdlU2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJwYWdlU2V0IiwhMCk7dGhpcy5kdXBsZXhJbXBvc2l0aW9uPWdldFN0cmluZ09wdGlvbihlLmR1cGxleEltcG9zaXRpb24sWyJsb25nRWRnZSIsInNob3J0RWRnZSJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucmVsYXRpb249Z2V0U3RyaW5nT3B0aW9uKGUucmVsYXRpb24sWyJvcmRlcmVkT2NjdXJyZW5jZSIsImR1cGxleFBhZ2luYXRlZCIsInNpbXBsZXhQYWdpbmF0ZWQiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm9jY3VyPW51bGw7dGhpcy5wYWdlQXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYWdlU2V0PW5ldyBYRkFPYmplY3RBcnJheX1benNdKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5wYWdlQXJlYS5jaGlsZHJlbillW3pzXSgpO2Zvcihjb25zdCBlIG9mIHRoaXMucGFnZVNldC5jaGlsZHJlbillW3pzXSgpfVtMcl0oKXtyZXR1cm4hdGhpcy5vY2N1cnx8LTE9PT10aGlzLm9jY3VyLm1heHx8dGhpc1thcl0ubnVtYmVyT2ZVc2U8dGhpcy5vY2N1ci5tYXh9W2RyXSgpe3RoaXNbYXJdfHwodGhpc1thcl09e251bWJlck9mVXNlOjEscGFnZUluZGV4Oi0xLHBhZ2VTZXRJbmRleDotMX0pO2lmKCJvcmRlcmVkT2NjdXJyZW5jZSI9PT10aGlzLnJlbGF0aW9uKXtpZih0aGlzW2FyXS5wYWdlSW5kZXgrMTx0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuLmxlbmd0aCl7dGhpc1thcl0ucGFnZUluZGV4Kz0xO3JldHVybiB0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuW3RoaXNbYXJdLnBhZ2VJbmRleF1bZHJdKCl9aWYodGhpc1thcl0ucGFnZVNldEluZGV4KzE8dGhpcy5wYWdlU2V0LmNoaWxkcmVuLmxlbmd0aCl7dGhpc1thcl0ucGFnZVNldEluZGV4Kz0xO3JldHVybiB0aGlzLnBhZ2VTZXQuY2hpbGRyZW5bdGhpc1thcl0ucGFnZVNldEluZGV4XVtkcl0oKX1pZih0aGlzW0xyXSgpKXt0aGlzW2FyXS5udW1iZXJPZlVzZSs9MTt0aGlzW2FyXS5wYWdlSW5kZXg9LTE7dGhpc1thcl0ucGFnZVNldEluZGV4PS0xO3JldHVybiB0aGlzW2RyXSgpfWNvbnN0IGU9dGhpc1twcl0oKTtpZihlIGluc3RhbmNlb2YgUGFnZVNldClyZXR1cm4gZVtkcl0oKTt0aGlzW3pzXSgpO3JldHVybiB0aGlzW2RyXSgpfWNvbnN0IGU9dGhpc1ttcl0oKVthcl0ucGFnZU51bWJlcix0PWUlMj09MD8iZXZlbiI6Im9kZCIsaT0wPT09ZT8iZmlyc3QiOiJyZXN0IjtsZXQgYT10aGlzLnBhZ2VBcmVhLmNoaWxkcmVuLmZpbmQoKGU9PmUub2RkT3JFdmVuPT09dCYmZS5wYWdlUG9zaXRpb249PT1pKSk7aWYoYSlyZXR1cm4gYTthPXRoaXMucGFnZUFyZWEuY2hpbGRyZW4uZmluZCgoZT0+ImFueSI9PT1lLm9kZE9yRXZlbiYmZS5wYWdlUG9zaXRpb249PT1pKSk7aWYoYSlyZXR1cm4gYTthPXRoaXMucGFnZUFyZWEuY2hpbGRyZW4uZmluZCgoZT0+ImFueSI9PT1lLm9kZE9yRXZlbiYmImFueSI9PT1lLnBhZ2VQb3NpdGlvbikpO3JldHVybiBhfHx0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuWzBdfX1jbGFzcyBQYXJhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJwYXJhIiwhMCk7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGluZUhlaWdodD1lLmxpbmVIZWlnaHQ/Z2V0TWVhc3VyZW1lbnQoZS5saW5lSGVpZ2h0LCIwcHQiKToiIjt0aGlzLm1hcmdpbkxlZnQ9ZS5tYXJnaW5MZWZ0P2dldE1lYXN1cmVtZW50KGUubWFyZ2luTGVmdCwiMHB0Iik6IiI7dGhpcy5tYXJnaW5SaWdodD1lLm1hcmdpblJpZ2h0P2dldE1lYXN1cmVtZW50KGUubWFyZ2luUmlnaHQsIjBwdCIpOiIiO3RoaXMub3JwaGFucz1nZXRJbnRlZ2VyKHtkYXRhOmUub3JwaGFucyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5wcmVzZXJ2ZT1lLnByZXNlcnZlfHwiIjt0aGlzLnJhZGl4T2Zmc2V0PWUucmFkaXhPZmZzZXQ/Z2V0TWVhc3VyZW1lbnQoZS5yYWRpeE9mZnNldCwiMHB0Iik6IiI7dGhpcy5zcGFjZUFib3ZlPWUuc3BhY2VBYm92ZT9nZXRNZWFzdXJlbWVudChlLnNwYWNlQWJvdmUsIjBwdCIpOiIiO3RoaXMuc3BhY2VCZWxvdz1lLnNwYWNlQmVsb3c/Z2V0TWVhc3VyZW1lbnQoZS5zcGFjZUJlbG93LCIwcHQiKToiIjt0aGlzLnRhYkRlZmF1bHQ9ZS50YWJEZWZhdWx0P2dldE1lYXN1cmVtZW50KHRoaXMudGFiRGVmYXVsdCk6IiI7dGhpcy50YWJTdG9wcz0oZS50YWJTdG9wc3x8IiIpLnRyaW0oKS5zcGxpdCgvXHMrLykubWFwKCgoZSx0KT0+dCUyPT0xP2dldE1lYXN1cmVtZW50KGUpOmUpKTt0aGlzLnRleHRJbmRlbnQ9ZS50ZXh0SW5kZW50P2dldE1lYXN1cmVtZW50KGUudGV4dEluZGVudCwiMHB0Iik6IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudkFsaWduPWdldFN0cmluZ09wdGlvbihlLnZBbGlnbixbInRvcCIsImJvdHRvbSIsIm1pZGRsZSJdKTt0aGlzLndpZG93cz1nZXRJbnRlZ2VyKHtkYXRhOmUud2lkb3dzLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmh5cGhlbmF0aW9uPW51bGx9W3JuXSgpe2NvbnN0IGU9dG9TdHlsZSh0aGlzLCJoQWxpZ24iKTsiIiE9PXRoaXMubWFyZ2luTGVmdCYmKGUucGFkZGluZ0xlZnQ9bWVhc3VyZVRvU3RyaW5nKHRoaXMubWFyZ2luTGVmdCkpOyIiIT09dGhpcy5tYXJnaW5SaWdodCYmKGUucGFkZGluZ1JpZ2h0PW1lYXN1cmVUb1N0cmluZyh0aGlzLm1hcmdpblJpZ2h0KSk7IiIhPT10aGlzLnNwYWNlQWJvdmUmJihlLnBhZGRpbmdUb3A9bWVhc3VyZVRvU3RyaW5nKHRoaXMuc3BhY2VBYm92ZSkpOyIiIT09dGhpcy5zcGFjZUJlbG93JiYoZS5wYWRkaW5nQm90dG9tPW1lYXN1cmVUb1N0cmluZyh0aGlzLnNwYWNlQmVsb3cpKTtpZigiIiE9PXRoaXMudGV4dEluZGVudCl7ZS50ZXh0SW5kZW50PW1lYXN1cmVUb1N0cmluZyh0aGlzLnRleHRJbmRlbnQpO2ZpeFRleHRJbmRlbnQoZSl9dGhpcy5saW5lSGVpZ2h0PjAmJihlLmxpbmVIZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXMubGluZUhlaWdodCkpOyIiIT09dGhpcy50YWJEZWZhdWx0JiYoZS50YWJTaXplPW1lYXN1cmVUb1N0cmluZyh0aGlzLnRhYkRlZmF1bHQpKTt0aGlzLnRhYlN0b3BzLmxlbmd0aDt0aGlzLmh5cGhlbmF0YXRpb24mJk9iamVjdC5hc3NpZ24oZSx0aGlzLmh5cGhlbmF0YXRpb25bcm5dKCkpO3JldHVybiBlfX1jbGFzcyBQYXNzd29yZEVkaXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInBhc3N3b3JkRWRpdCIsITApO3RoaXMuaFNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS5oU2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wYXNzd29yZENoYXI9ZS5wYXNzd29yZENoYXJ8fCIqIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9fWNsYXNzIHRlbXBsYXRlX1BhdHRlcm4gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInBhdHRlcm4iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsiY3Jvc3NIYXRjaCIsImNyb3NzRGlhZ29uYWwiLCJkaWFnb25hbExlZnQiLCJkaWFnb25hbFJpZ2h0IiwiaG9yaXpvbnRhbCIsInZlcnRpY2FsIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bcm5dKGUpe2U9ZT9lW3JuXSgpOiIjRkZGRkZGIjtjb25zdCB0PXRoaXMuY29sb3I/dGhpcy5jb2xvcltybl0oKToiIzAwMDAwMCIsaT0icmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCIsYT1gJHtlfSwke2V9IDVweCwke3R9IDVweCwke3R9IDEwcHhgO3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiY3Jvc3NIYXRjaCI6cmV0dXJuYCR7aX0odG8gdG9wLCR7YX0pICR7aX0odG8gcmlnaHQsJHthfSlgO2Nhc2UiY3Jvc3NEaWFnb25hbCI6cmV0dXJuYCR7aX0oNDVkZWcsJHthfSkgJHtpfSgtNDVkZWcsJHthfSlgO2Nhc2UiZGlhZ29uYWxMZWZ0IjpyZXR1cm5gJHtpfSg0NWRlZywke2F9KWA7Y2FzZSJkaWFnb25hbFJpZ2h0IjpyZXR1cm5gJHtpfSgtNDVkZWcsJHthfSlgO2Nhc2UiaG9yaXpvbnRhbCI6cmV0dXJuYCR7aX0odG8gdG9wLCR7YX0pYDtjYXNlInZlcnRpY2FsIjpyZXR1cm5gJHtpfSh0byByaWdodCwke2F9KWB9cmV0dXJuIiJ9fWNsYXNzIFBpY3R1cmUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInBpY3R1cmUiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgUHJvdG8gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInByb3RvIiwhMCk7dGhpcy5hcHBlYXJhbmNlRmlsdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmFyYz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5hcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmFzc2lzdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5iYXJjb2RlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJpbmRJdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ib29rZW5kPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJvb2xlYW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYm9yZGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQWZ0ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWtCZWZvcmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnV0dG9uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNhbGN1bGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jYXB0aW9uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNlcnRpZmljYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNlcnRpZmljYXRlcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jaGVja0J1dHRvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jaG9pY2VMaXN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbG9yPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbWI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29ubmVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb250ZW50QXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb3JuZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlVGltZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlVGltZUVkaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWZhdWx0VWk9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVzYz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kaWdlc3RNZXRob2Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGlnZXN0TWV0aG9kcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kcmF3PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVkZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jb2Rpbmc9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jb2RpbmdzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jcnlwdERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jcnlwdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0aW9uTWV0aG9kPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHRpb25NZXRob2RzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leE9iamVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGNsR3JvdXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhlY3V0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leHRyYXM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmlsbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWx0ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmxvYXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZm9udD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mb3JtYXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaGFuZGxlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5oeXBoZW5hdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZUVkaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW50ZWdlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pc3N1ZXJzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLml0ZW1zPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmtlZXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMua2V5VXNhZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubGluZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5saW5lYXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubG9ja0RvY3VtZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1hbmlmZXN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1hcmdpbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tZHA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubWVkaXVtPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1lc3NhZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubnVtZXJpY0VkaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMub2NjdXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMub2lkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm9pZHM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMub3ZlcmZsb3c9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGFnZUFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGFnZVNldD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYXJhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhc3N3b3JkRWRpdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYXR0ZXJuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBpY3R1cmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmFkaWFsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnJlYXNvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yZWFzb25zPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnJlY3RhbmdsZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yZWY9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2NyaXB0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNpZ25EYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNpZ25hdHVyZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zaWduaW5nPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNvbGlkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNwZWFrPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN0aXBwbGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtU2V0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmplY3RETj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJqZWN0RE5zPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1Ym1pdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRleHRFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGltZVN0YW1wPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRvb2xUaXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudHJhdmVyc2FsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRyYXZlcnNlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnVpPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnZhbGlkYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnZhbHVlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnZhcmlhYmxlcz1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFJhZGlhbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwicmFkaWFsIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbInRvRWRnZSIsInRvQ2VudGVyIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bcm5dKGUpe2U9ZT9lW3JuXSgpOiIjRkZGRkZGIjtjb25zdCB0PXRoaXMuY29sb3I/dGhpcy5jb2xvcltybl0oKToiIzAwMDAwMCI7cmV0dXJuYHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgY2VudGVyLCAkeyJ0b0VkZ2UiPT09dGhpcy50eXBlP2Ake2V9LCR7dH1gOmAke3R9LCR7ZX1gfSlgfX1jbGFzcyBSZWFzb24gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInJlYXNvbiIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBSZWFzb25zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJyZWFzb25zIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMucmVhc29uPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgUmVjdGFuZ2xlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJyZWN0YW5nbGUiLCEwKTt0aGlzLmhhbmQ9Z2V0U3RyaW5nT3B0aW9uKGUuaGFuZCxbImV2ZW4iLCJsZWZ0IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb3JuZXI9bmV3IFhGQU9iamVjdEFycmF5KDQpO3RoaXMuZWRnZT1uZXcgWEZBT2JqZWN0QXJyYXkoNCk7dGhpcy5maWxsPW51bGx9W2FuXSgpe2NvbnN0IGU9dGhpcy5lZGdlLmNoaWxkcmVuLmxlbmd0aD90aGlzLmVkZ2UuY2hpbGRyZW5bMF06bmV3IEVkZ2Uoe30pLHQ9ZVtybl0oKSxpPU9iamVjdC5jcmVhdGUobnVsbCk7InZpc2libGUiPT09dGhpcy5maWxsPy5wcmVzZW5jZT9PYmplY3QuYXNzaWduKGksdGhpcy5maWxsW3JuXSgpKTppLmZpbGw9InRyYW5zcGFyZW50IjtpLnN0cm9rZVdpZHRoPW1lYXN1cmVUb1N0cmluZygidmlzaWJsZSI9PT1lLnByZXNlbmNlP2UudGhpY2tuZXNzOjApO2kuc3Ryb2tlPXQuY29sb3I7Y29uc3QgYT0odGhpcy5jb3JuZXIuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuY29ybmVyLmNoaWxkcmVuWzBdOm5ldyBDb3JuZXIoe30pKVtybl0oKSxzPXtuYW1lOiJzdmciLGNoaWxkcmVuOlt7bmFtZToicmVjdCIsYXR0cmlidXRlczp7eG1sbnM6Sm4sd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIseDowLHk6MCxyeDphLnJhZGl1cyxyeTphLnJhZGl1cyxzdHlsZTppfX1dLGF0dHJpYnV0ZXM6e3htbG5zOkpuLHN0eWxlOntvdmVyZmxvdzoidmlzaWJsZSJ9LHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifX07aWYoaGFzTWFyZ2luKHRoaXNbcHJdKClbcHJdKCkpKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7c3R5bGU6e2Rpc3BsYXk6ImlubGluZSIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9fSxjaGlsZHJlbjpbc119KTtzLmF0dHJpYnV0ZXMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHMpfX1jbGFzcyBSZWZFbGVtZW50IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJyZWYiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgU2NyaXB0IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJzY3JpcHQiKTt0aGlzLmJpbmRpbmc9ZS5iaW5kaW5nfHwiIjt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5ydW5BdD1nZXRTdHJpbmdPcHRpb24oZS5ydW5BdCxbImNsaWVudCIsImJvdGgiLCJzZXJ2ZXIiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBTZXRQcm9wZXJ0eSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic2V0UHJvcGVydHkiKTt0aGlzLmNvbm5lY3Rpb249ZS5jb25uZWN0aW9ufHwiIjt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy50YXJnZXQ9ZS50YXJnZXR8fCIifX1jbGFzcyBTaWduRGF0YSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic2lnbkRhdGEiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMub3BlcmF0aW9uPWdldFN0cmluZ09wdGlvbihlLm9wZXJhdGlvbixbInNpZ24iLCJjbGVhciIsInZlcmlmeSJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy50YXJnZXQ9ZS50YXJnZXR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmZpbHRlcj1udWxsO3RoaXMubWFuaWZlc3Q9bnVsbH19Y2xhc3MgU2lnbmF0dXJlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJzaWduYXR1cmUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsiUERGMS4zIiwiUERGMS42Il0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5maWx0ZXI9bnVsbDt0aGlzLm1hbmlmZXN0PW51bGw7dGhpcy5tYXJnaW49bnVsbH19Y2xhc3MgU2lnbmluZyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic2lnbmluZyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNlcnRpZmljYXRlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgU29saWQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInNvbGlkIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH1bcm5dKGUpe3JldHVybiBlP2Vbcm5dKCk6IiNGRkZGRkYifX1jbGFzcyBTcGVhayBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic3BlYWsiKTt0aGlzLmRpc2FibGU9Z2V0SW50ZWdlcih7ZGF0YTplLmRpc2FibGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHJpb3JpdHk9Z2V0U3RyaW5nT3B0aW9uKGUucHJpb3JpdHksWyJjdXN0b20iLCJjYXB0aW9uIiwibmFtZSIsInRvb2xUaXAiXSk7dGhpcy5yaWQ9ZS5yaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgU3RpcHBsZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic3RpcHBsZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5yYXRlPWdldEludGVnZXIoe2RhdGE6ZS5yYXRlLGRlZmF1bHRWYWx1ZTo1MCx2YWxpZGF0ZTplPT5lPj0wJiZlPD0xMDB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W3JuXShlKXtjb25zdCB0PXRoaXMucmF0ZS8xMDA7cmV0dXJuIFV0aWwubWFrZUhleENvbG9yKE1hdGgucm91bmQoZS52YWx1ZS5yKigxLXQpK3RoaXMudmFsdWUucip0KSxNYXRoLnJvdW5kKGUudmFsdWUuZyooMS10KSt0aGlzLnZhbHVlLmcqdCksTWF0aC5yb3VuZChlLnZhbHVlLmIqKDEtdCkrdGhpcy52YWx1ZS5iKnQpKX19Y2xhc3MgU3ViZm9ybSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic3ViZm9ybSIsITApO3RoaXMuYWNjZXNzPWdldFN0cmluZ09wdGlvbihlLmFjY2VzcyxbIm9wZW4iLCJub25JbnRlcmFjdGl2ZSIsInByb3RlY3RlZCIsInJlYWRPbmx5Il0pO3RoaXMuYWxsb3dNYWNybz1nZXRJbnRlZ2VyKHtkYXRhOmUuYWxsb3dNYWNybyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmNvbHVtbldpZHRocz0oZS5jb2x1bW5XaWR0aHN8fCIiKS50cmltKCkuc3BsaXQoL1xzKy8pLm1hcCgoZT0+Ii0xIj09PWU/LTE6Z2V0TWVhc3VyZW1lbnQoZSkpKTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGF5b3V0PWdldFN0cmluZ09wdGlvbihlLmxheW91dCxbInBvc2l0aW9uIiwibHItdGIiLCJybC1yb3ciLCJybC10YiIsInJvdyIsInRhYmxlIiwidGIiXSk7dGhpcy5sb2NhbGU9ZS5sb2NhbGV8fCIiO3RoaXMubWF4SD1nZXRNZWFzdXJlbWVudChlLm1heEgsIjBwdCIpO3RoaXMubWF4Vz1nZXRNZWFzdXJlbWVudChlLm1heFcsIjBwdCIpO3RoaXMubWVyZ2VNb2RlPWdldFN0cmluZ09wdGlvbihlLm1lcmdlTW9kZSxbImNvbnN1bWVEYXRhIiwibWF0Y2hUZW1wbGF0ZSJdKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yZXN0b3JlU3RhdGU9Z2V0U3RyaW5nT3B0aW9uKGUucmVzdG9yZVN0YXRlLFsibWFudWFsIiwiYXV0byJdKTt0aGlzLnNjb3BlPWdldFN0cmluZ09wdGlvbihlLnNjb3BlLFsibmFtZSIsIm5vbmUiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9va2VuZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5icmVhaz1udWxsO3RoaXMuY2FsY3VsYXRlPW51bGw7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmtlZXA9bnVsbDt0aGlzLm1hcmdpbj1udWxsO3RoaXMub2NjdXI9bnVsbDt0aGlzLm92ZXJmbG93PW51bGw7dGhpcy5wYWdlU2V0PW51bGw7dGhpcy5wYXJhPW51bGw7dGhpcy50cmF2ZXJzYWw9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy52YXJpYWJsZXM9bnVsbDt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWtBZnRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVha0JlZm9yZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb25uZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRyYXc9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXZlbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhPYmplY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhjbEdyb3VwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnByb3RvPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm09bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybVNldD1uZXcgWEZBT2JqZWN0QXJyYXl9W2ZyXSgpe2NvbnN0IGU9dGhpc1twcl0oKTtyZXR1cm4gZSBpbnN0YW5jZW9mIFN1YmZvcm1TZXQ/ZVtmcl0oKTplfVtrcl0oKXtyZXR1cm4hMH1bVXJdKCl7cmV0dXJuIHRoaXMubGF5b3V0LmVuZHNXaXRoKCItdGIiKSYmMD09PXRoaXNbYXJdLmF0dGVtcHQmJnRoaXNbYXJdLm51bWJlckluTGluZT4wfHx0aGlzW3ByXSgpW1VyXSgpfSpbdXJdKCl7eWllbGQqZ2V0Q29udGFpbmVkQ2hpbGRyZW4odGhpcyl9W3JyXSgpe3JldHVybiBmbHVzaEhUTUwodGhpcyl9W1hzXShlLHQpe2FkZEhUTUwodGhpcyxlLHQpfVtvcl0oKXtyZXR1cm4gZ2V0QXZhaWxhYmxlU3BhY2UodGhpcyl9W3hyXSgpe2NvbnN0IGU9dGhpc1tmcl0oKTtpZighZVt4cl0oKSlyZXR1cm4hMTtpZih2b2lkIDAhPT10aGlzW2FyXS5faXNTcGxpdHRhYmxlKXJldHVybiB0aGlzW2FyXS5faXNTcGxpdHRhYmxlO2lmKCJwb3NpdGlvbiI9PT10aGlzLmxheW91dHx8dGhpcy5sYXlvdXQuaW5jbHVkZXMoInJvdyIpKXt0aGlzW2FyXS5faXNTcGxpdHRhYmxlPSExO3JldHVybiExfWlmKHRoaXMua2VlcCYmIm5vbmUiIT09dGhpcy5rZWVwLmludGFjdCl7dGhpc1thcl0uX2lzU3BsaXR0YWJsZT0hMTtyZXR1cm4hMX1pZihlLmxheW91dD8uZW5kc1dpdGgoIi10YiIpJiYwIT09ZVthcl0ubnVtYmVySW5MaW5lKXJldHVybiExO3RoaXNbYXJdLl9pc1NwbGl0dGFibGU9ITA7cmV0dXJuITB9W2FuXShlKXtzZXRUYWJJbmRleCh0aGlzKTtpZih0aGlzLmJyZWFrKXtpZigiYXV0byIhPT10aGlzLmJyZWFrLmFmdGVyfHwiIiE9PXRoaXMuYnJlYWsuYWZ0ZXJUYXJnZXQpe2NvbnN0IGU9bmV3IEJyZWFrQWZ0ZXIoe3RhcmdldFR5cGU6dGhpcy5icmVhay5hZnRlcix0YXJnZXQ6dGhpcy5icmVhay5hZnRlclRhcmdldCxzdGFydE5ldzp0aGlzLmJyZWFrLnN0YXJ0TmV3LnRvU3RyaW5nKCl9KTtlW3lyXT10aGlzW3lyXTt0aGlzW2pzXShlKTt0aGlzLmJyZWFrQWZ0ZXIucHVzaChlKX1pZigiYXV0byIhPT10aGlzLmJyZWFrLmJlZm9yZXx8IiIhPT10aGlzLmJyZWFrLmJlZm9yZVRhcmdldCl7Y29uc3QgZT1uZXcgQnJlYWtCZWZvcmUoe3RhcmdldFR5cGU6dGhpcy5icmVhay5iZWZvcmUsdGFyZ2V0OnRoaXMuYnJlYWsuYmVmb3JlVGFyZ2V0LHN0YXJ0TmV3OnRoaXMuYnJlYWsuc3RhcnROZXcudG9TdHJpbmcoKX0pO2VbeXJdPXRoaXNbeXJdO3RoaXNbanNdKGUpO3RoaXMuYnJlYWtCZWZvcmUucHVzaChlKX1pZigiIiE9PXRoaXMuYnJlYWsub3ZlcmZsb3dUYXJnZXQpe2NvbnN0IGU9bmV3IE92ZXJmbG93KHt0YXJnZXQ6dGhpcy5icmVhay5vdmVyZmxvd1RhcmdldCxsZWFkZXI6dGhpcy5icmVhay5vdmVyZmxvd0xlYWRlcix0cmFpbGVyOnRoaXMuYnJlYWsub3ZlcmZsb3dUcmFpbGVyfSk7ZVt5cl09dGhpc1t5cl07dGhpc1tqc10oZSk7dGhpcy5vdmVyZmxvdy5wdXNoKGUpfXRoaXNbWHJdKHRoaXMuYnJlYWspO3RoaXMuYnJlYWs9bnVsbH1pZigiaGlkZGVuIj09PXRoaXMucHJlc2VuY2V8fCJpbmFjdGl2ZSI9PT10aGlzLnByZXNlbmNlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZOyh0aGlzLmJyZWFrQmVmb3JlLmNoaWxkcmVuLmxlbmd0aD4xfHx0aGlzLmJyZWFrQWZ0ZXIuY2hpbGRyZW4ubGVuZ3RoPjEpJiZ3YXJuKCJYRkEgLSBTZXZlcmFsIGJyZWFrQmVmb3JlIG9yIGJyZWFrQWZ0ZXIgaW4gc3ViZm9ybXM6IHBsZWFzZSBmaWxlIGEgYnVnLiIpO2lmKHRoaXMuYnJlYWtCZWZvcmUuY2hpbGRyZW4ubGVuZ3RoPj0xKXtjb25zdCBlPXRoaXMuYnJlYWtCZWZvcmUuY2hpbGRyZW5bMF07aWYoaGFuZGxlQnJlYWsoZSkpcmV0dXJuIEhUTUxSZXN1bHQuYnJlYWtOb2RlKGUpfWlmKHRoaXNbYXJdPy5hZnRlckJyZWFrQWZ0ZXIpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7Zml4RGltZW5zaW9ucyh0aGlzKTtjb25zdCB0PVtdLGk9e2lkOnRoaXNbbm5dLGNsYXNzOltdfTtzZXRBY2Nlc3ModGhpcyxpLmNsYXNzKTt0aGlzW2FyXXx8KHRoaXNbYXJdPU9iamVjdC5jcmVhdGUobnVsbCkpO09iamVjdC5hc3NpZ24odGhpc1thcl0se2NoaWxkcmVuOnQsbGluZTpudWxsLGF0dHJpYnV0ZXM6aSxhdHRlbXB0OjAsbnVtYmVySW5MaW5lOjAsYXZhaWxhYmxlU3BhY2U6e3dpZHRoOk1hdGgubWluKHRoaXMud3x8MS8wLGUud2lkdGgpLGhlaWdodDpNYXRoLm1pbih0aGlzLmh8fDEvMCxlLmhlaWdodCl9LHdpZHRoOjAsaGVpZ2h0OjAscHJldkhlaWdodDowLGN1cnJlbnRXaWR0aDowfSk7Y29uc3QgYT10aGlzW21yXSgpLHM9YVthcl0ubm9MYXlvdXRGYWlsdXJlLHI9dGhpc1t4cl0oKTtyfHxzZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtpZighY2hlY2tEaW1lbnNpb25zKHRoaXMsZSkpcmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRTtjb25zdCBuPW5ldyBTZXQoWyJhcmVhIiwiZHJhdyIsImV4Y2xHcm91cCIsImZpZWxkIiwic3ViZm9ybSIsInN1YmZvcm1TZXQiXSk7aWYodGhpcy5sYXlvdXQuaW5jbHVkZXMoInJvdyIpKXtjb25zdCBlPXRoaXNbZnJdKCkuY29sdW1uV2lkdGhzO2lmKEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPjApe3RoaXNbYXJdLmNvbHVtbldpZHRocz1lO3RoaXNbYXJdLmN1cnJlbnRDb2x1bW49MH19Y29uc3QgZz10b1N0eWxlKHRoaXMsImFuY2hvclR5cGUiLCJkaW1lbnNpb25zIiwicG9zaXRpb24iLCJwcmVzZW5jZSIsImJvcmRlciIsIm1hcmdpbiIsImhBbGlnbiIpLG89WyJ4ZmFTdWJmb3JtIl0sYz1sYXlvdXRDbGFzcyh0aGlzKTtjJiZvLnB1c2goYyk7aS5zdHlsZT1nO2kuY2xhc3M9bzt0aGlzLm5hbWUmJihpLnhmYU5hbWU9dGhpcy5uYW1lKTtpZih0aGlzLm92ZXJmbG93KXtjb25zdCB0PXRoaXMub3ZlcmZsb3dbbHJdKCk7aWYodC5hZGRMZWFkZXIpe3QuYWRkTGVhZGVyPSExO2hhbmRsZU92ZXJmbG93KHRoaXMsdC5sZWFkZXIsZSl9fXRoaXNbV3JdKCk7Y29uc3QgQz0ibHItdGIiPT09dGhpcy5sYXlvdXR8fCJybC10YiI9PT10aGlzLmxheW91dCxoPUM/MjoxO2Zvcig7dGhpc1thcl0uYXR0ZW1wdDxoO3RoaXNbYXJdLmF0dGVtcHQrKyl7QyYmMT09PXRoaXNbYXJdLmF0dGVtcHQmJih0aGlzW2FyXS5udW1iZXJJbkxpbmU9MCk7Y29uc3QgZT10aGlzW1pzXSh7ZmlsdGVyOm4saW5jbHVkZTohMH0pO2lmKGUuc3VjY2VzcylicmVhaztpZihlLmlzQnJlYWsoKSl7dGhpc1tQcl0oKTtyZXR1cm4gZX1pZihDJiYwPT09dGhpc1thcl0uYXR0ZW1wdCYmMD09PXRoaXNbYXJdLm51bWJlckluTGluZSYmIWFbYXJdLm5vTGF5b3V0RmFpbHVyZSl7dGhpc1thcl0uYXR0ZW1wdD1oO2JyZWFrfX10aGlzW1ByXSgpO3J8fHVuc2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7YVthcl0ubm9MYXlvdXRGYWlsdXJlPXM7aWYodGhpc1thcl0uYXR0ZW1wdD09PWgpe3RoaXMub3ZlcmZsb3cmJih0aGlzW21yXSgpW2FyXS5vdmVyZmxvd05vZGU9dGhpcy5vdmVyZmxvdyk7cnx8ZGVsZXRlIHRoaXNbYXJdO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9aWYodGhpcy5vdmVyZmxvdyl7Y29uc3QgdD10aGlzLm92ZXJmbG93W2xyXSgpO2lmKHQuYWRkVHJhaWxlcil7dC5hZGRUcmFpbGVyPSExO2hhbmRsZU92ZXJmbG93KHRoaXMsdC50cmFpbGVyLGUpfX1sZXQgbD0wLFE9MDtpZih0aGlzLm1hcmdpbil7bD10aGlzLm1hcmdpbi5sZWZ0SW5zZXQrdGhpcy5tYXJnaW4ucmlnaHRJbnNldDtRPXRoaXMubWFyZ2luLnRvcEluc2V0K3RoaXMubWFyZ2luLmJvdHRvbUluc2V0fWNvbnN0IEU9TWF0aC5tYXgodGhpc1thcl0ud2lkdGgrbCx0aGlzLnd8fDApLHU9TWF0aC5tYXgodGhpc1thcl0uaGVpZ2h0K1EsdGhpcy5ofHwwKSxkPVt0aGlzLngsdGhpcy55LEUsdV07IiI9PT10aGlzLncmJihnLndpZHRoPW1lYXN1cmVUb1N0cmluZyhFKSk7IiI9PT10aGlzLmgmJihnLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcodSkpO2lmKCgiMHB4Ij09PWcud2lkdGh8fCIwcHgiPT09Zy5oZWlnaHQpJiYwPT09dC5sZW5ndGgpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7Y29uc3QgZj17bmFtZToiZGl2IixhdHRyaWJ1dGVzOmksY2hpbGRyZW46dH07YXBwbHlBc3Npc3QodGhpcyxpKTtjb25zdCBwPUhUTUxSZXN1bHQuc3VjY2VzcyhjcmVhdGVXcmFwcGVyKHRoaXMsZiksZCk7aWYodGhpcy5icmVha0FmdGVyLmNoaWxkcmVuLmxlbmd0aD49MSl7Y29uc3QgZT10aGlzLmJyZWFrQWZ0ZXIuY2hpbGRyZW5bMF07aWYoaGFuZGxlQnJlYWsoZSkpe3RoaXNbYXJdLmFmdGVyQnJlYWtBZnRlcj1wO3JldHVybiBIVE1MUmVzdWx0LmJyZWFrTm9kZShlKX19ZGVsZXRlIHRoaXNbYXJdO3JldHVybiBwfX1jbGFzcyBTdWJmb3JtU2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJzdWJmb3JtU2V0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJlbGF0aW9uPWdldFN0cmluZ09wdGlvbihlLnJlbGF0aW9uLFsib3JkZXJlZCIsImNob2ljZSIsInVub3JkZXJlZCJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvb2tlbmQ9bnVsbDt0aGlzLmJyZWFrPW51bGw7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm9jY3VyPW51bGw7dGhpcy5vdmVyZmxvdz1udWxsO3RoaXMuYnJlYWtBZnRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVha0JlZm9yZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm1TZXQ9bmV3IFhGQU9iamVjdEFycmF5fSpbdXJdKCl7eWllbGQqZ2V0Q29udGFpbmVkQ2hpbGRyZW4odGhpcyl9W2ZyXSgpe2xldCBlPXRoaXNbcHJdKCk7Zm9yKDshKGUgaW5zdGFuY2VvZiBTdWJmb3JtKTspZT1lW3ByXSgpO3JldHVybiBlfVtrcl0oKXtyZXR1cm4hMH19Y2xhc3MgU3ViamVjdEROIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic3ViamVjdEROIik7dGhpcy5kZWxpbWl0ZXI9ZS5kZWxpbWl0ZXJ8fCIsIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bc3JdKCl7dGhpc1tlcl09bmV3IE1hcCh0aGlzW2VyXS5zcGxpdCh0aGlzLmRlbGltaXRlcikubWFwKChlPT57KGU9ZS5zcGxpdCgiPSIsMikpWzBdPWVbMF0udHJpbSgpO3JldHVybiBlfSkpKX19Y2xhc3MgU3ViamVjdEROcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic3ViamVjdEROcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnN1YmplY3RETj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFN1Ym1pdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwic3VibWl0IiwhMCk7dGhpcy5lbWJlZFBERj1nZXRJbnRlZ2VyKHtkYXRhOmUuZW1iZWRQREYsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmZvcm1hdD1nZXRTdHJpbmdPcHRpb24oZS5mb3JtYXQsWyJ4ZHAiLCJmb3JtZGF0YSIsInBkZiIsInVybGVuY29kZWQiLCJ4ZmQiLCJ4bWwiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy50ZXh0RW5jb2Rpbmc9Z2V0S2V5d29yZCh7ZGF0YTplLnRleHRFbmNvZGluZz9lLnRleHRFbmNvZGluZy50b0xvd2VyQ2FzZSgpOiIiLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT5bInV0Zi04IiwiYmlnLWZpdmUiLCJmb250c3BlY2lmaWMiLCJnYmsiLCJnYi0xODAzMCIsImdiLTIzMTIiLCJrc2MtNTYwMSIsIm5vbmUiLCJzaGlmdC1qaXMiLCJ1Y3MtMiIsInV0Zi0xNiJdLmluY2x1ZGVzKGUpfHxlLm1hdGNoKC9pc28tODg1OS1cZHsyfS8pfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMueGRwQ29udGVudD1lLnhkcENvbnRlbnR8fCIiO3RoaXMuZW5jcnlwdD1udWxsO3RoaXMuZW5jcnlwdERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2lnbkRhdGE9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBUZW1wbGF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwidGVtcGxhdGUiLCEwKTt0aGlzLmJhc2VQcm9maWxlPWdldFN0cmluZ09wdGlvbihlLmJhc2VQcm9maWxlLFsiZnVsbCIsImludGVyYWN0aXZlRm9ybXMiXSk7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnN1YmZvcm09bmV3IFhGQU9iamVjdEFycmF5fVtzcl0oKXswPT09dGhpcy5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aCYmd2FybigiWEZBIC0gTm8gc3ViZm9ybXMgaW4gdGVtcGxhdGUgbm9kZS4iKTt0aGlzLnN1YmZvcm0uY2hpbGRyZW4ubGVuZ3RoPj0yJiZ3YXJuKCJYRkEgLSBTZXZlcmFsIHN1YmZvcm1zIGluIHRlbXBsYXRlIG5vZGU6IHBsZWFzZSBmaWxlIGEgYnVnLiIpO3RoaXNbQW5dPTVlM31beHJdKCl7cmV0dXJuITB9W1ZyXShlLHQpe3JldHVybiBlLnN0YXJ0c1dpdGgoIiMiKT9bdGhpc1tEcl0uZ2V0KGUuc2xpY2UoMSkpXTpzZWFyY2hOb2RlKHRoaXMsdCxlLCEwLCEwKX0qW3RuXSgpe2lmKCF0aGlzLnN1YmZvcm0uY2hpbGRyZW4ubGVuZ3RoKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsY2hpbGRyZW46W119KTt0aGlzW2FyXT17b3ZlcmZsb3dOb2RlOm51bGwsZmlyc3RVbnNwbGl0dGFibGU6bnVsbCxjdXJyZW50Q29udGVudEFyZWE6bnVsbCxjdXJyZW50UGFnZUFyZWE6bnVsbCxub0xheW91dEZhaWx1cmU6ITEscGFnZU51bWJlcjoxLHBhZ2VQb3NpdGlvbjoiZmlyc3QiLG9kZE9yRXZlbjoib2RkIixibGFua09yTm90Qmxhbms6Im5vbkJsYW5rIixwYXJhU3RhY2s6W119O2NvbnN0IGU9dGhpcy5zdWJmb3JtLmNoaWxkcmVuWzBdO2UucGFnZVNldFt6c10oKTtjb25zdCB0PWUucGFnZVNldC5wYWdlQXJlYS5jaGlsZHJlbixpPXtuYW1lOiJkaXYiLGNoaWxkcmVuOltdfTtsZXQgYT1udWxsLHM9bnVsbCxyPW51bGw7aWYoZS5icmVha0JlZm9yZS5jaGlsZHJlbi5sZW5ndGg+PTEpe3M9ZS5icmVha0JlZm9yZS5jaGlsZHJlblswXTtyPXMudGFyZ2V0fWVsc2UgaWYoZS5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aD49MSYmZS5zdWJmb3JtLmNoaWxkcmVuWzBdLmJyZWFrQmVmb3JlLmNoaWxkcmVuLmxlbmd0aD49MSl7cz1lLnN1YmZvcm0uY2hpbGRyZW5bMF0uYnJlYWtCZWZvcmUuY2hpbGRyZW5bMF07cj1zLnRhcmdldH1lbHNlIGlmKGUuYnJlYWs/LmJlZm9yZVRhcmdldCl7cz1lLmJyZWFrO3I9cy5iZWZvcmVUYXJnZXR9ZWxzZSBpZihlLnN1YmZvcm0uY2hpbGRyZW4ubGVuZ3RoPj0xJiZlLnN1YmZvcm0uY2hpbGRyZW5bMF0uYnJlYWs/LmJlZm9yZVRhcmdldCl7cz1lLnN1YmZvcm0uY2hpbGRyZW5bMF0uYnJlYWs7cj1zLmJlZm9yZVRhcmdldH1pZihzKXtjb25zdCBlPXRoaXNbVnJdKHIsc1twcl0oKSk7aWYoZSBpbnN0YW5jZW9mIFBhZ2VBcmVhKXthPWU7c1thcl09e319fWF8fChhPXRbMF0pO2FbYXJdPXtudW1iZXJPZlVzZToxfTtjb25zdCBuPWFbcHJdKCk7blthcl09e251bWJlck9mVXNlOjEscGFnZUluZGV4Om4ucGFnZUFyZWEuY2hpbGRyZW4uaW5kZXhPZihhKSxwYWdlU2V0SW5kZXg6MH07bGV0IGcsbz1udWxsLGM9bnVsbCxDPSEwLGg9MCxsPTA7Zm9yKDs7KXtpZihDKWg9MDtlbHNle2kuY2hpbGRyZW4ucG9wKCk7aWYoMz09KytoKXt3YXJuKCJYRkEgLSBTb21ldGhpbmcgZ29lcyB3cm9uZzogcGxlYXNlIGZpbGUgYSBidWcuIik7cmV0dXJuIGl9fWc9bnVsbDt0aGlzW2FyXS5jdXJyZW50UGFnZUFyZWE9YTtjb25zdCB0PWFbYW5dKCkuaHRtbDtpLmNoaWxkcmVuLnB1c2godCk7aWYobyl7dGhpc1thcl0ubm9MYXlvdXRGYWlsdXJlPSEwO3QuY2hpbGRyZW4ucHVzaChvW2FuXShhW2FyXS5zcGFjZSkuaHRtbCk7bz1udWxsfWlmKGMpe3RoaXNbYXJdLm5vTGF5b3V0RmFpbHVyZT0hMDt0LmNoaWxkcmVuLnB1c2goY1thbl0oYVthcl0uc3BhY2UpLmh0bWwpO2M9bnVsbH1jb25zdCBzPWEuY29udGVudEFyZWEuY2hpbGRyZW4scj10LmNoaWxkcmVuLmZpbHRlcigoZT0+ZS5hdHRyaWJ1dGVzLmNsYXNzLmluY2x1ZGVzKCJ4ZmFDb250ZW50YXJlYSIpKSk7Qz0hMTt0aGlzW2FyXS5maXJzdFVuc3BsaXR0YWJsZT1udWxsO3RoaXNbYXJdLm5vTGF5b3V0RmFpbHVyZT0hMTtjb25zdCBmbHVzaD10PT57Y29uc3QgaT1lW3JyXSgpO2lmKGkpe0N8fD1pLmNoaWxkcmVuPy5sZW5ndGg+MDtyW3RdLmNoaWxkcmVuLnB1c2goaSl9fTtmb3IobGV0IHQ9bCxhPXMubGVuZ3RoO3Q8YTt0Kyspe2NvbnN0IGE9dGhpc1thcl0uY3VycmVudENvbnRlbnRBcmVhPXNbdF0sbj17d2lkdGg6YS53LGhlaWdodDphLmh9O2w9MDtpZihvKXtyW3RdLmNoaWxkcmVuLnB1c2gob1thbl0obikuaHRtbCk7bz1udWxsfWlmKGMpe3JbdF0uY2hpbGRyZW4ucHVzaChjW2FuXShuKS5odG1sKTtjPW51bGx9Y29uc3QgaD1lW2FuXShuKTtpZihoLnN1Y2Nlc3Mpe2lmKGguaHRtbCl7Q3x8PWguaHRtbC5jaGlsZHJlbj8ubGVuZ3RoPjA7clt0XS5jaGlsZHJlbi5wdXNoKGguaHRtbCl9ZWxzZSFDJiZpLmNoaWxkcmVuLmxlbmd0aD4xJiZpLmNoaWxkcmVuLnBvcCgpO3JldHVybiBpfWlmKGguaXNCcmVhaygpKXtjb25zdCBlPWguYnJlYWtOb2RlO2ZsdXNoKHQpO2lmKCJhdXRvIj09PWUudGFyZ2V0VHlwZSljb250aW51ZTtpZihlLmxlYWRlcil7bz10aGlzW1ZyXShlLmxlYWRlcixlW3ByXSgpKTtvPW8/b1swXTpudWxsfWlmKGUudHJhaWxlcil7Yz10aGlzW1ZyXShlLnRyYWlsZXIsZVtwcl0oKSk7Yz1jP2NbMF06bnVsbH1pZigicGFnZUFyZWEiPT09ZS50YXJnZXRUeXBlKXtnPWVbYXJdLnRhcmdldDt0PTEvMH1lbHNlIGlmKGVbYXJdLnRhcmdldCl7Zz1lW2FyXS50YXJnZXQ7bD1lW2FyXS5pbmRleCsxO3Q9MS8wfWVsc2UgdD1lW2FyXS5pbmRleH1lbHNlIGlmKHRoaXNbYXJdLm92ZXJmbG93Tm9kZSl7Y29uc3QgZT10aGlzW2FyXS5vdmVyZmxvd05vZGU7dGhpc1thcl0ub3ZlcmZsb3dOb2RlPW51bGw7Y29uc3QgaT1lW2xyXSgpLGE9aS50YXJnZXQ7aS5hZGRMZWFkZXI9bnVsbCE9PWkubGVhZGVyO2kuYWRkVHJhaWxlcj1udWxsIT09aS50cmFpbGVyO2ZsdXNoKHQpO2NvbnN0IHI9dDt0PTEvMDtpZihhIGluc3RhbmNlb2YgUGFnZUFyZWEpZz1hO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIENvbnRlbnRBcmVhKXtjb25zdCBlPXMuaW5kZXhPZihhKTtpZigtMSE9PWUpZT5yP3Q9ZS0xOmw9ZTtlbHNle2c9YVtwcl0oKTtsPWcuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihhKX19fWVsc2UgZmx1c2godCl9dGhpc1thcl0ucGFnZU51bWJlcis9MTtnJiYoZ1tMcl0oKT9nW2FyXS5udW1iZXJPZlVzZSs9MTpnPW51bGwpO2E9Z3x8YVtkcl0oKTt5aWVsZCBudWxsfX19Y2xhc3MgVGV4dCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInRleHQiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubWF4Q2hhcnM9Z2V0SW50ZWdlcih7ZGF0YTplLm1heENoYXJzLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtXc10oKXtyZXR1cm4hMH1bVHJdKGUpe2lmKGVbSnJdPT09b24ueGh0bWwuaWQpe3RoaXNbZXJdPWU7cmV0dXJuITB9d2FybihgWEZBIC0gSW52YWxpZCBjb250ZW50IGluIFRleHQ6ICR7ZVtZcl19LmApO3JldHVybiExfVtxcl0oZSl7dGhpc1tlcl1pbnN0YW5jZW9mIFhGQU9iamVjdHx8c3VwZXJbcXJdKGUpfVtzcl0oKXsic3RyaW5nIj09dHlwZW9mIHRoaXNbZXJdJiYodGhpc1tlcl09dGhpc1tlcl0ucmVwbGFjZUFsbCgiXHJcbiIsIlxuIikpfVtscl0oKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHRoaXNbZXJdP3RoaXNbZXJdLnNwbGl0KC9bXHUyMDI5XHUyMDI4XG5dLykucmVkdWNlKCgoZSx0KT0+e3QmJmUucHVzaCh0KTtyZXR1cm4gZX0pLFtdKS5qb2luKCJcbiIpOnRoaXNbZXJdW2VuXSgpfVthbl0oZSl7aWYoInN0cmluZyI9PXR5cGVvZiB0aGlzW2VyXSl7Y29uc3QgZT12YWx1ZVRvSHRtbCh0aGlzW2VyXSkuaHRtbDtpZih0aGlzW2VyXS5pbmNsdWRlcygiXHUyMDI5Iikpe2UubmFtZT0iZGl2IjtlLmNoaWxkcmVuPVtdO3RoaXNbZXJdLnNwbGl0KCJcdTIwMjkiKS5tYXAoKGU9PmUuc3BsaXQoL1tcdTIwMjhcbl0vKS5yZWR1Y2UoKChlLHQpPT57ZS5wdXNoKHtuYW1lOiJzcGFuIix2YWx1ZTp0fSx7bmFtZToiYnIifSk7cmV0dXJuIGV9KSxbXSkpKS5mb3JFYWNoKCh0PT57ZS5jaGlsZHJlbi5wdXNoKHtuYW1lOiJwIixjaGlsZHJlbjp0fSl9KSl9ZWxzZSBpZigvW1x1MjAyOFxuXS8udGVzdCh0aGlzW2VyXSkpe2UubmFtZT0iZGl2IjtlLmNoaWxkcmVuPVtdO3RoaXNbZXJdLnNwbGl0KC9bXHUyMDI4XG5dLykuZm9yRWFjaCgodD0+e2UuY2hpbGRyZW4ucHVzaCh7bmFtZToic3BhbiIsdmFsdWU6dH0se25hbWU6ImJyIn0pfSkpfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoZSl9cmV0dXJuIHRoaXNbZXJdW2FuXShlKX19Y2xhc3MgVGV4dEVkaXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInRleHRFZGl0IiwhMCk7dGhpcy5hbGxvd1JpY2hUZXh0PWdldEludGVnZXIoe2RhdGE6ZS5hbGxvd1JpY2hUZXh0LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5oU2Nyb2xsUG9saWN5PWdldFN0cmluZ09wdGlvbihlLmhTY3JvbGxQb2xpY3ksWyJhdXRvIiwib2ZmIiwib24iXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm11bHRpTGluZT1nZXRJbnRlZ2VyKHtkYXRhOmUubXVsdGlMaW5lLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT4wPT09ZXx8MT09PWV9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy52U2Nyb2xsUG9saWN5PWdldFN0cmluZ09wdGlvbihlLnZTY3JvbGxQb2xpY3ksWyJhdXRvIiwib2ZmIiwib24iXSk7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmNvbWI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W2FuXShlKXtjb25zdCB0PXRvU3R5bGUodGhpcywiYm9yZGVyIiwiZm9udCIsIm1hcmdpbiIpO2xldCBpO2NvbnN0IGE9dGhpc1twcl0oKVtwcl0oKTsiIj09PXRoaXMubXVsdGlMaW5lJiYodGhpcy5tdWx0aUxpbmU9YSBpbnN0YW5jZW9mIERyYXc/MTowKTtpPTE9PT10aGlzLm11bHRpTGluZT97bmFtZToidGV4dGFyZWEiLGF0dHJpYnV0ZXM6e2RhdGFJZDphW3RyXT8uW25uXXx8YVtubl0sZmllbGRJZDphW25uXSxjbGFzczpbInhmYVRleHRmaWVsZCJdLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChhKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTp7bmFtZToiaW5wdXQiLGF0dHJpYnV0ZXM6e3R5cGU6InRleHQiLGRhdGFJZDphW3RyXT8uW25uXXx8YVtubl0sZmllbGRJZDphW25uXSxjbGFzczpbInhmYVRleHRmaWVsZCJdLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChhKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTtpZihpc1JlcXVpcmVkKGEpKXtpLmF0dHJpYnV0ZXNbImFyaWEtcmVxdWlyZWQiXT0hMDtpLmF0dHJpYnV0ZXMucmVxdWlyZWQ9ITB9cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToibGFiZWwiLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhTGFiZWwiXX0sY2hpbGRyZW46W2ldfSl9fWNsYXNzIFRpbWUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInRpbWUiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bc3JdKCl7Y29uc3QgZT10aGlzW2VyXS50cmltKCk7dGhpc1tlcl09ZT9uZXcgRGF0ZShlKTpudWxsfVthbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKHRoaXNbZXJdP3RoaXNbZXJdLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBUaW1lU3RhbXAgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInRpbWVTdGFtcCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5zZXJ2ZXI9ZS5zZXJ2ZXJ8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFRvb2xUaXAgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInRvb2xUaXAiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucmlkPWUucmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFRyYXZlcnNhbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwidHJhdmVyc2FsIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnRyYXZlcnNlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgVHJhdmVyc2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInRyYXZlcnNlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZXJhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcGVyYXRpb24sWyJuZXh0IiwiYmFjayIsImRvd24iLCJmaXJzdCIsImxlZnQiLCJyaWdodCIsInVwIl0pO3RoaXMucmVmPWUucmVmfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnNjcmlwdD1udWxsfWdldCBuYW1lKCl7cmV0dXJuIHRoaXMub3BlcmF0aW9ufVtNcl0oKXtyZXR1cm4hMX19Y2xhc3MgVWkgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInVpIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbDt0aGlzLmJhcmNvZGU9bnVsbDt0aGlzLmJ1dHRvbj1udWxsO3RoaXMuY2hlY2tCdXR0b249bnVsbDt0aGlzLmNob2ljZUxpc3Q9bnVsbDt0aGlzLmRhdGVUaW1lRWRpdD1udWxsO3RoaXMuZGVmYXVsdFVpPW51bGw7dGhpcy5pbWFnZUVkaXQ9bnVsbDt0aGlzLm51bWVyaWNFZGl0PW51bGw7dGhpcy5wYXNzd29yZEVkaXQ9bnVsbDt0aGlzLnNpZ25hdHVyZT1udWxsO3RoaXMudGV4dEVkaXQ9bnVsbH1bbHJdKCl7aWYodm9pZCAwPT09dGhpc1thcl0pe2Zvcihjb25zdCBlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZigiZXh0cmFzIj09PWV8fCJwaWN0dXJlIj09PWUpY29udGludWU7Y29uc3QgdD10aGlzW2VdO2lmKHQgaW5zdGFuY2VvZiBYRkFPYmplY3Qpe3RoaXNbYXJdPXQ7cmV0dXJuIHR9fXRoaXNbYXJdPW51bGx9cmV0dXJuIHRoaXNbYXJdfVthbl0oZSl7Y29uc3QgdD10aGlzW2xyXSgpO3JldHVybiB0P3RbYW5dKGUpOkhUTUxSZXN1bHQuRU1QVFl9fWNsYXNzIFZhbGlkYXRlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEhuLCJ2YWxpZGF0ZSIsITApO3RoaXMuZm9ybWF0VGVzdD1nZXRTdHJpbmdPcHRpb24oZS5mb3JtYXRUZXN0LFsid2FybmluZyIsImRpc2FibGVkIiwiZXJyb3IiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm51bGxUZXN0PWdldFN0cmluZ09wdGlvbihlLm51bGxUZXN0LFsiZGlzYWJsZWQiLCJlcnJvciIsIndhcm5pbmciXSk7dGhpcy5zY3JpcHRUZXN0PWdldFN0cmluZ09wdGlvbihlLnNjcmlwdFRlc3QsWyJlcnJvciIsImRpc2FibGVkIiwid2FybmluZyJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1lc3NhZ2U9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbDt0aGlzLnNjcmlwdD1udWxsfX1jbGFzcyBWYWx1ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihIbiwidmFsdWUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMub3ZlcnJpZGU9Z2V0SW50ZWdlcih7ZGF0YTplLm92ZXJyaWRlLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5hcmM9bnVsbDt0aGlzLmJvb2xlYW49bnVsbDt0aGlzLmRhdGU9bnVsbDt0aGlzLmRhdGVUaW1lPW51bGw7dGhpcy5kZWNpbWFsPW51bGw7dGhpcy5leERhdGE9bnVsbDt0aGlzLmZsb2F0PW51bGw7dGhpcy5pbWFnZT1udWxsO3RoaXMuaW50ZWdlcj1udWxsO3RoaXMubGluZT1udWxsO3RoaXMucmVjdGFuZ2xlPW51bGw7dGhpcy50ZXh0PW51bGw7dGhpcy50aW1lPW51bGx9WyRyXShlKXtjb25zdCB0PXRoaXNbcHJdKCk7aWYodCBpbnN0YW5jZW9mIEZpZWxkJiZ0LnVpPy5pbWFnZUVkaXQpe2lmKCF0aGlzLmltYWdlKXt0aGlzLmltYWdlPW5ldyBJbWFnZSh7fSk7dGhpc1tqc10odGhpcy5pbWFnZSl9dGhpcy5pbWFnZVtlcl09ZVtlcl07cmV0dXJufWNvbnN0IGk9ZVtZcl07aWYobnVsbD09PXRoaXNbaV0pe2Zvcihjb25zdCBlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtjb25zdCB0PXRoaXNbZV07aWYodCBpbnN0YW5jZW9mIFhGQU9iamVjdCl7dGhpc1tlXT1udWxsO3RoaXNbWHJdKHQpfX10aGlzW2VbWXJdXT1lO3RoaXNbanNdKGUpfWVsc2UgdGhpc1tpXVtlcl09ZVtlcl19W2VuXSgpe2lmKHRoaXMuZXhEYXRhKXJldHVybiJzdHJpbmciPT10eXBlb2YgdGhpcy5leERhdGFbZXJdP3RoaXMuZXhEYXRhW2VyXS50cmltKCk6dGhpcy5leERhdGFbZXJdW2VuXSgpLnRyaW0oKTtmb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImltYWdlIj09PWUpY29udGludWU7Y29uc3QgdD10aGlzW2VdO2lmKHQgaW5zdGFuY2VvZiBYRkFPYmplY3QpcmV0dXJuKHRbZXJdfHwiIikudG9TdHJpbmcoKS50cmltKCl9cmV0dXJuIG51bGx9W2FuXShlKXtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7Y29uc3QgaT10aGlzW3RdO2lmKGkgaW5zdGFuY2VvZiBYRkFPYmplY3QpcmV0dXJuIGlbYW5dKGUpfXJldHVybiBIVE1MUmVzdWx0LkVNUFRZfX1jbGFzcyBWYXJpYWJsZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoSG4sInZhcmlhYmxlcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubWFuaWZlc3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2NyaXB0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRleHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGltZT1uZXcgWEZBT2JqZWN0QXJyYXl9W01yXSgpe3JldHVybiEwfX1jbGFzcyBUZW1wbGF0ZU5hbWVzcGFjZXtzdGF0aWNbZ25dKGUsdCl7aWYoVGVtcGxhdGVOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpe2NvbnN0IGk9VGVtcGxhdGVOYW1lc3BhY2VbZV0odCk7aVtfcl0odCk7cmV0dXJuIGl9fXN0YXRpYyBhcHBlYXJhbmNlRmlsdGVyKGUpe3JldHVybiBuZXcgQXBwZWFyYW5jZUZpbHRlcihlKX1zdGF0aWMgYXJjKGUpe3JldHVybiBuZXcgQXJjKGUpfXN0YXRpYyBhcmVhKGUpe3JldHVybiBuZXcgQXJlYShlKX1zdGF0aWMgYXNzaXN0KGUpe3JldHVybiBuZXcgQXNzaXN0KGUpfXN0YXRpYyBiYXJjb2RlKGUpe3JldHVybiBuZXcgQmFyY29kZShlKX1zdGF0aWMgYmluZChlKXtyZXR1cm4gbmV3IEJpbmQoZSl9c3RhdGljIGJpbmRJdGVtcyhlKXtyZXR1cm4gbmV3IEJpbmRJdGVtcyhlKX1zdGF0aWMgYm9va2VuZChlKXtyZXR1cm4gbmV3IEJvb2tlbmQoZSl9c3RhdGljIGJvb2xlYW4oZSl7cmV0dXJuIG5ldyBCb29sZWFuRWxlbWVudChlKX1zdGF0aWMgYm9yZGVyKGUpe3JldHVybiBuZXcgQm9yZGVyKGUpfXN0YXRpYyBicmVhayhlKXtyZXR1cm4gbmV3IEJyZWFrKGUpfXN0YXRpYyBicmVha0FmdGVyKGUpe3JldHVybiBuZXcgQnJlYWtBZnRlcihlKX1zdGF0aWMgYnJlYWtCZWZvcmUoZSl7cmV0dXJuIG5ldyBCcmVha0JlZm9yZShlKX1zdGF0aWMgYnV0dG9uKGUpe3JldHVybiBuZXcgQnV0dG9uKGUpfXN0YXRpYyBjYWxjdWxhdGUoZSl7cmV0dXJuIG5ldyBDYWxjdWxhdGUoZSl9c3RhdGljIGNhcHRpb24oZSl7cmV0dXJuIG5ldyBDYXB0aW9uKGUpfXN0YXRpYyBjZXJ0aWZpY2F0ZShlKXtyZXR1cm4gbmV3IENlcnRpZmljYXRlKGUpfXN0YXRpYyBjZXJ0aWZpY2F0ZXMoZSl7cmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZXMoZSl9c3RhdGljIGNoZWNrQnV0dG9uKGUpe3JldHVybiBuZXcgQ2hlY2tCdXR0b24oZSl9c3RhdGljIGNob2ljZUxpc3QoZSl7cmV0dXJuIG5ldyBDaG9pY2VMaXN0KGUpfXN0YXRpYyBjb2xvcihlKXtyZXR1cm4gbmV3IENvbG9yKGUpfXN0YXRpYyBjb21iKGUpe3JldHVybiBuZXcgQ29tYihlKX1zdGF0aWMgY29ubmVjdChlKXtyZXR1cm4gbmV3IENvbm5lY3QoZSl9c3RhdGljIGNvbnRlbnRBcmVhKGUpe3JldHVybiBuZXcgQ29udGVudEFyZWEoZSl9c3RhdGljIGNvcm5lcihlKXtyZXR1cm4gbmV3IENvcm5lcihlKX1zdGF0aWMgZGF0ZShlKXtyZXR1cm4gbmV3IERhdGVFbGVtZW50KGUpfXN0YXRpYyBkYXRlVGltZShlKXtyZXR1cm4gbmV3IERhdGVUaW1lKGUpfXN0YXRpYyBkYXRlVGltZUVkaXQoZSl7cmV0dXJuIG5ldyBEYXRlVGltZUVkaXQoZSl9c3RhdGljIGRlY2ltYWwoZSl7cmV0dXJuIG5ldyBEZWNpbWFsKGUpfXN0YXRpYyBkZWZhdWx0VWkoZSl7cmV0dXJuIG5ldyBEZWZhdWx0VWkoZSl9c3RhdGljIGRlc2MoZSl7cmV0dXJuIG5ldyBEZXNjKGUpfXN0YXRpYyBkaWdlc3RNZXRob2QoZSl7cmV0dXJuIG5ldyBEaWdlc3RNZXRob2QoZSl9c3RhdGljIGRpZ2VzdE1ldGhvZHMoZSl7cmV0dXJuIG5ldyBEaWdlc3RNZXRob2RzKGUpfXN0YXRpYyBkcmF3KGUpe3JldHVybiBuZXcgRHJhdyhlKX1zdGF0aWMgZWRnZShlKXtyZXR1cm4gbmV3IEVkZ2UoZSl9c3RhdGljIGVuY29kaW5nKGUpe3JldHVybiBuZXcgRW5jb2RpbmcoZSl9c3RhdGljIGVuY29kaW5ncyhlKXtyZXR1cm4gbmV3IEVuY29kaW5ncyhlKX1zdGF0aWMgZW5jcnlwdChlKXtyZXR1cm4gbmV3IEVuY3J5cHQoZSl9c3RhdGljIGVuY3J5cHREYXRhKGUpe3JldHVybiBuZXcgRW5jcnlwdERhdGEoZSl9c3RhdGljIGVuY3J5cHRpb24oZSl7cmV0dXJuIG5ldyBFbmNyeXB0aW9uKGUpfXN0YXRpYyBlbmNyeXB0aW9uTWV0aG9kKGUpe3JldHVybiBuZXcgRW5jcnlwdGlvbk1ldGhvZChlKX1zdGF0aWMgZW5jcnlwdGlvbk1ldGhvZHMoZSl7cmV0dXJuIG5ldyBFbmNyeXB0aW9uTWV0aG9kcyhlKX1zdGF0aWMgZXZlbnQoZSl7cmV0dXJuIG5ldyBFdmVudChlKX1zdGF0aWMgZXhEYXRhKGUpe3JldHVybiBuZXcgRXhEYXRhKGUpfXN0YXRpYyBleE9iamVjdChlKXtyZXR1cm4gbmV3IEV4T2JqZWN0KGUpfXN0YXRpYyBleGNsR3JvdXAoZSl7cmV0dXJuIG5ldyBFeGNsR3JvdXAoZSl9c3RhdGljIGV4ZWN1dGUoZSl7cmV0dXJuIG5ldyBFeGVjdXRlKGUpfXN0YXRpYyBleHRyYXMoZSl7cmV0dXJuIG5ldyBFeHRyYXMoZSl9c3RhdGljIGZpZWxkKGUpe3JldHVybiBuZXcgRmllbGQoZSl9c3RhdGljIGZpbGwoZSl7cmV0dXJuIG5ldyBGaWxsKGUpfXN0YXRpYyBmaWx0ZXIoZSl7cmV0dXJuIG5ldyBGaWx0ZXIoZSl9c3RhdGljIGZsb2F0KGUpe3JldHVybiBuZXcgRmxvYXQoZSl9c3RhdGljIGZvbnQoZSl7cmV0dXJuIG5ldyB0ZW1wbGF0ZV9Gb250KGUpfXN0YXRpYyBmb3JtYXQoZSl7cmV0dXJuIG5ldyBGb3JtYXQoZSl9c3RhdGljIGhhbmRsZXIoZSl7cmV0dXJuIG5ldyBIYW5kbGVyKGUpfXN0YXRpYyBoeXBoZW5hdGlvbihlKXtyZXR1cm4gbmV3IEh5cGhlbmF0aW9uKGUpfXN0YXRpYyBpbWFnZShlKXtyZXR1cm4gbmV3IEltYWdlKGUpfXN0YXRpYyBpbWFnZUVkaXQoZSl7cmV0dXJuIG5ldyBJbWFnZUVkaXQoZSl9c3RhdGljIGludGVnZXIoZSl7cmV0dXJuIG5ldyBJbnRlZ2VyKGUpfXN0YXRpYyBpc3N1ZXJzKGUpe3JldHVybiBuZXcgSXNzdWVycyhlKX1zdGF0aWMgaXRlbXMoZSl7cmV0dXJuIG5ldyBJdGVtcyhlKX1zdGF0aWMga2VlcChlKXtyZXR1cm4gbmV3IEtlZXAoZSl9c3RhdGljIGtleVVzYWdlKGUpe3JldHVybiBuZXcgS2V5VXNhZ2UoZSl9c3RhdGljIGxpbmUoZSl7cmV0dXJuIG5ldyBMaW5lKGUpfXN0YXRpYyBsaW5lYXIoZSl7cmV0dXJuIG5ldyBMaW5lYXIoZSl9c3RhdGljIGxvY2tEb2N1bWVudChlKXtyZXR1cm4gbmV3IExvY2tEb2N1bWVudChlKX1zdGF0aWMgbWFuaWZlc3QoZSl7cmV0dXJuIG5ldyBNYW5pZmVzdChlKX1zdGF0aWMgbWFyZ2luKGUpe3JldHVybiBuZXcgTWFyZ2luKGUpfXN0YXRpYyBtZHAoZSl7cmV0dXJuIG5ldyBNZHAoZSl9c3RhdGljIG1lZGl1bShlKXtyZXR1cm4gbmV3IE1lZGl1bShlKX1zdGF0aWMgbWVzc2FnZShlKXtyZXR1cm4gbmV3IE1lc3NhZ2UoZSl9c3RhdGljIG51bWVyaWNFZGl0KGUpe3JldHVybiBuZXcgTnVtZXJpY0VkaXQoZSl9c3RhdGljIG9jY3VyKGUpe3JldHVybiBuZXcgT2NjdXIoZSl9c3RhdGljIG9pZChlKXtyZXR1cm4gbmV3IE9pZChlKX1zdGF0aWMgb2lkcyhlKXtyZXR1cm4gbmV3IE9pZHMoZSl9c3RhdGljIG92ZXJmbG93KGUpe3JldHVybiBuZXcgT3ZlcmZsb3coZSl9c3RhdGljIHBhZ2VBcmVhKGUpe3JldHVybiBuZXcgUGFnZUFyZWEoZSl9c3RhdGljIHBhZ2VTZXQoZSl7cmV0dXJuIG5ldyBQYWdlU2V0KGUpfXN0YXRpYyBwYXJhKGUpe3JldHVybiBuZXcgUGFyYShlKX1zdGF0aWMgcGFzc3dvcmRFZGl0KGUpe3JldHVybiBuZXcgUGFzc3dvcmRFZGl0KGUpfXN0YXRpYyBwYXR0ZXJuKGUpe3JldHVybiBuZXcgdGVtcGxhdGVfUGF0dGVybihlKX1zdGF0aWMgcGljdHVyZShlKXtyZXR1cm4gbmV3IFBpY3R1cmUoZSl9c3RhdGljIHByb3RvKGUpe3JldHVybiBuZXcgUHJvdG8oZSl9c3RhdGljIHJhZGlhbChlKXtyZXR1cm4gbmV3IFJhZGlhbChlKX1zdGF0aWMgcmVhc29uKGUpe3JldHVybiBuZXcgUmVhc29uKGUpfXN0YXRpYyByZWFzb25zKGUpe3JldHVybiBuZXcgUmVhc29ucyhlKX1zdGF0aWMgcmVjdGFuZ2xlKGUpe3JldHVybiBuZXcgUmVjdGFuZ2xlKGUpfXN0YXRpYyByZWYoZSl7cmV0dXJuIG5ldyBSZWZFbGVtZW50KGUpfXN0YXRpYyBzY3JpcHQoZSl7cmV0dXJuIG5ldyBTY3JpcHQoZSl9c3RhdGljIHNldFByb3BlcnR5KGUpe3JldHVybiBuZXcgU2V0UHJvcGVydHkoZSl9c3RhdGljIHNpZ25EYXRhKGUpe3JldHVybiBuZXcgU2lnbkRhdGEoZSl9c3RhdGljIHNpZ25hdHVyZShlKXtyZXR1cm4gbmV3IFNpZ25hdHVyZShlKX1zdGF0aWMgc2lnbmluZyhlKXtyZXR1cm4gbmV3IFNpZ25pbmcoZSl9c3RhdGljIHNvbGlkKGUpe3JldHVybiBuZXcgU29saWQoZSl9c3RhdGljIHNwZWFrKGUpe3JldHVybiBuZXcgU3BlYWsoZSl9c3RhdGljIHN0aXBwbGUoZSl7cmV0dXJuIG5ldyBTdGlwcGxlKGUpfXN0YXRpYyBzdWJmb3JtKGUpe3JldHVybiBuZXcgU3ViZm9ybShlKX1zdGF0aWMgc3ViZm9ybVNldChlKXtyZXR1cm4gbmV3IFN1YmZvcm1TZXQoZSl9c3RhdGljIHN1YmplY3RETihlKXtyZXR1cm4gbmV3IFN1YmplY3RETihlKX1zdGF0aWMgc3ViamVjdEROcyhlKXtyZXR1cm4gbmV3IFN1YmplY3RETnMoZSl9c3RhdGljIHN1Ym1pdChlKXtyZXR1cm4gbmV3IFN1Ym1pdChlKX1zdGF0aWMgdGVtcGxhdGUoZSl7cmV0dXJuIG5ldyBUZW1wbGF0ZShlKX1zdGF0aWMgdGV4dChlKXtyZXR1cm4gbmV3IFRleHQoZSl9c3RhdGljIHRleHRFZGl0KGUpe3JldHVybiBuZXcgVGV4dEVkaXQoZSl9c3RhdGljIHRpbWUoZSl7cmV0dXJuIG5ldyBUaW1lKGUpfXN0YXRpYyB0aW1lU3RhbXAoZSl7cmV0dXJuIG5ldyBUaW1lU3RhbXAoZSl9c3RhdGljIHRvb2xUaXAoZSl7cmV0dXJuIG5ldyBUb29sVGlwKGUpfXN0YXRpYyB0cmF2ZXJzYWwoZSl7cmV0dXJuIG5ldyBUcmF2ZXJzYWwoZSl9c3RhdGljIHRyYXZlcnNlKGUpe3JldHVybiBuZXcgVHJhdmVyc2UoZSl9c3RhdGljIHVpKGUpe3JldHVybiBuZXcgVWkoZSl9c3RhdGljIHZhbGlkYXRlKGUpe3JldHVybiBuZXcgVmFsaWRhdGUoZSl9c3RhdGljIHZhbHVlKGUpe3JldHVybiBuZXcgVmFsdWUoZSl9c3RhdGljIHZhcmlhYmxlcyhlKXtyZXR1cm4gbmV3IFZhcmlhYmxlcyhlKX19Y29uc3QgS249b24uZGF0YXNldHMuaWQ7ZnVuY3Rpb24gY3JlYXRlVGV4dChlKXtjb25zdCB0PW5ldyBUZXh0KHt9KTt0W2VyXT1lO3JldHVybiB0fWNsYXNzIEJpbmRlcntjb25zdHJ1Y3RvcihlKXt0aGlzLnJvb3Q9ZTt0aGlzLmRhdGFzZXRzPWUuZGF0YXNldHM7dGhpcy5kYXRhPWUuZGF0YXNldHM/LmRhdGF8fG5ldyBYbWxPYmplY3Qob24uZGF0YXNldHMuaWQsImRhdGEiKTt0aGlzLmVtcHR5TWVyZ2U9MD09PXRoaXMuZGF0YVtFcl0oKS5sZW5ndGg7dGhpcy5yb290LmZvcm09dGhpcy5mb3JtPWUudGVtcGxhdGVbJHNdKCl9X2lzQ29uc3VtZURhdGEoKXtyZXR1cm4hdGhpcy5lbXB0eU1lcmdlJiZ0aGlzLl9tZXJnZU1vZGV9X2lzTWF0Y2hUZW1wbGF0ZSgpe3JldHVybiF0aGlzLl9pc0NvbnN1bWVEYXRhKCl9YmluZCgpe3RoaXMuX2JpbmRFbGVtZW50KHRoaXMuZm9ybSx0aGlzLmRhdGEpO3JldHVybiB0aGlzLmZvcm19Z2V0RGF0YSgpe3JldHVybiB0aGlzLmRhdGF9X2JpbmRWYWx1ZShlLHQsaSl7ZVt0cl09dDtpZihlW3dyXSgpKWlmKHRbUnJdKCkpe2NvbnN0IGk9dFtocl0oKTtlWyRyXShjcmVhdGVUZXh0KGkpKX1lbHNlIGlmKGUgaW5zdGFuY2VvZiBGaWVsZCYmIm11bHRpU2VsZWN0Ij09PWUudWk/LmNob2ljZUxpc3Q/Lm9wZW4pe2NvbnN0IGk9dFtFcl0oKS5tYXAoKGU9PmVbZXJdLnRyaW0oKSkpLmpvaW4oIlxuIik7ZVskcl0oY3JlYXRlVGV4dChpKSl9ZWxzZSB0aGlzLl9pc0NvbnN1bWVEYXRhKCkmJndhcm4oIlhGQSAtIE5vZGVzIGhhdmVuJ3QgdGhlIHNhbWUgdHlwZS4iKTtlbHNlIXRbUnJdKCl8fHRoaXMuX2lzTWF0Y2hUZW1wbGF0ZSgpP3RoaXMuX2JpbmRFbGVtZW50KGUsdCk6d2FybigiWEZBIC0gTm9kZXMgaGF2ZW4ndCB0aGUgc2FtZSB0eXBlLiIpfV9maW5kRGF0YUJ5TmFtZVRvQ29uc3VtZShlLHQsaSxhKXtpZighZSlyZXR1cm4gbnVsbDtsZXQgcyxyO2ZvcihsZXQgYT0wO2E8MzthKyspe3M9aVtRcl0oZSwhMSwhMCk7Zm9yKDs7KXtyPXMubmV4dCgpLnZhbHVlO2lmKCFyKWJyZWFrO2lmKHQ9PT1yW1JyXSgpKXJldHVybiByfWlmKGlbSnJdPT09b24uZGF0YXNldHMuaWQmJiJkYXRhIj09PWlbWXJdKWJyZWFrO2k9aVtwcl0oKX1pZighYSlyZXR1cm4gbnVsbDtzPXRoaXMuZGF0YVtRcl0oZSwhMCwhMSk7cj1zLm5leHQoKS52YWx1ZTtpZihyKXJldHVybiByO3M9dGhpcy5kYXRhW25yXShlLCEwKTtyPXMubmV4dCgpLnZhbHVlO3JldHVybiByPy5bUnJdKCk/cjpudWxsfV9zZXRQcm9wZXJ0aWVzKGUsdCl7aWYoZS5oYXNPd25Qcm9wZXJ0eSgic2V0UHJvcGVydHkiKSlmb3IoY29uc3R7cmVmOmksdGFyZ2V0OmEsY29ubmVjdGlvbjpzfW9mIGUuc2V0UHJvcGVydHkuY2hpbGRyZW4pe2lmKHMpY29udGludWU7aWYoIWkpY29udGludWU7Y29uc3Qgcj1zZWFyY2hOb2RlKHRoaXMucm9vdCx0LGksITEsITEpO2lmKCFyKXt3YXJuKGBYRkEgLSBJbnZhbGlkIHJlZmVyZW5jZTogJHtpfS5gKTtjb250aW51ZX1jb25zdFtuXT1yO2lmKCFuW05yXSh0aGlzLmRhdGEpKXt3YXJuKCJYRkEgLSBJbnZhbGlkIG5vZGU6IG11c3QgYmUgYSBkYXRhIG5vZGUuIik7Y29udGludWV9Y29uc3QgZz1zZWFyY2hOb2RlKHRoaXMucm9vdCxlLGEsITEsITEpO2lmKCFnKXt3YXJuKGBYRkEgLSBJbnZhbGlkIHRhcmdldDogJHthfS5gKTtjb250aW51ZX1jb25zdFtvXT1nO2lmKCFvW05yXShlKSl7d2FybigiWEZBIC0gSW52YWxpZCB0YXJnZXQ6IG11c3QgYmUgYSBwcm9wZXJ0eSBvciBzdWJwcm9wZXJ0eS4iKTtjb250aW51ZX1jb25zdCBjPW9bcHJdKCk7aWYobyBpbnN0YW5jZW9mIFNldFByb3BlcnR5fHxjIGluc3RhbmNlb2YgU2V0UHJvcGVydHkpe3dhcm4oIlhGQSAtIEludmFsaWQgdGFyZ2V0OiBjYW5ub3QgYmUgYSBzZXRQcm9wZXJ0eSBvciBvbmUgb2YgaXRzIHByb3BlcnRpZXMuIik7Y29udGludWV9aWYobyBpbnN0YW5jZW9mIEJpbmRJdGVtc3x8YyBpbnN0YW5jZW9mIEJpbmRJdGVtcyl7d2FybigiWEZBIC0gSW52YWxpZCB0YXJnZXQ6IGNhbm5vdCBiZSBhIGJpbmRJdGVtcyBvciBvbmUgb2YgaXRzIHByb3BlcnRpZXMuIik7Y29udGludWV9Y29uc3QgQz1uW2VuXSgpLGg9b1tZcl07aWYobyBpbnN0YW5jZW9mIFhGQUF0dHJpYnV0ZSl7Y29uc3QgZT1PYmplY3QuY3JlYXRlKG51bGwpO2VbaF09Qztjb25zdCB0PVJlZmxlY3QuY29uc3RydWN0KE9iamVjdC5nZXRQcm90b3R5cGVPZihjKS5jb25zdHJ1Y3RvcixbZV0pO2NbaF09dFtoXX1lbHNlIGlmKG8uaGFzT3duUHJvcGVydHkoZXIpKXtvW3RyXT1uO29bZXJdPUM7b1tzcl0oKX1lbHNlIHdhcm4oIlhGQSAtIEludmFsaWQgbm9kZSB0byB1c2UgaW4gc2V0UHJvcGVydHkiKX19X2JpbmRJdGVtcyhlLHQpe2lmKCFlLmhhc093blByb3BlcnR5KCJpdGVtcyIpfHwhZS5oYXNPd25Qcm9wZXJ0eSgiYmluZEl0ZW1zIil8fGUuYmluZEl0ZW1zLmlzRW1wdHkoKSlyZXR1cm47Zm9yKGNvbnN0IHQgb2YgZS5pdGVtcy5jaGlsZHJlbillW1hyXSh0KTtlLml0ZW1zLmNsZWFyKCk7Y29uc3QgaT1uZXcgSXRlbXMoe30pLGE9bmV3IEl0ZW1zKHt9KTtlW2pzXShpKTtlLml0ZW1zLnB1c2goaSk7ZVtqc10oYSk7ZS5pdGVtcy5wdXNoKGEpO2Zvcihjb25zdHtyZWY6cyxsYWJlbFJlZjpyLHZhbHVlUmVmOm4sY29ubmVjdGlvbjpnfW9mIGUuYmluZEl0ZW1zLmNoaWxkcmVuKXtpZihnKWNvbnRpbnVlO2lmKCFzKWNvbnRpbnVlO2NvbnN0IGU9c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxzLCExLCExKTtpZihlKWZvcihjb25zdCB0IG9mIGUpe2lmKCF0W05yXSh0aGlzLmRhdGFzZXRzKSl7d2FybihgWEZBIC0gSW52YWxpZCByZWYgKCR7c30pOiBtdXN0IGJlIGEgZGF0YXNldHMgY2hpbGQuYCk7Y29udGludWV9Y29uc3QgZT1zZWFyY2hOb2RlKHRoaXMucm9vdCx0LHIsITAsITEpO2lmKCFlKXt3YXJuKGBYRkEgLSBJbnZhbGlkIGxhYmVsOiAke3J9LmApO2NvbnRpbnVlfWNvbnN0W2ddPWU7aWYoIWdbTnJdKHRoaXMuZGF0YXNldHMpKXt3YXJuKCJYRkEgLSBJbnZhbGlkIGxhYmVsOiBtdXN0IGJlIGEgZGF0YXNldHMgY2hpbGQuIik7Y29udGludWV9Y29uc3Qgbz1zZWFyY2hOb2RlKHRoaXMucm9vdCx0LG4sITAsITEpO2lmKCFvKXt3YXJuKGBYRkEgLSBJbnZhbGlkIHZhbHVlOiAke259LmApO2NvbnRpbnVlfWNvbnN0W2NdPW87aWYoIWNbTnJdKHRoaXMuZGF0YXNldHMpKXt3YXJuKCJYRkEgLSBJbnZhbGlkIHZhbHVlOiBtdXN0IGJlIGEgZGF0YXNldHMgY2hpbGQuIik7Y29udGludWV9Y29uc3QgQz1jcmVhdGVUZXh0KGdbZW5dKCkpLGg9Y3JlYXRlVGV4dChjW2VuXSgpKTtpW2pzXShDKTtpLnRleHQucHVzaChDKTthW2pzXShoKTthLnRleHQucHVzaChoKX1lbHNlIHdhcm4oYFhGQSAtIEludmFsaWQgcmVmZXJlbmNlOiAke3N9LmApfX1fYmluZE9jY3VycmVuY2VzKGUsdCxpKXtsZXQgYTtpZih0Lmxlbmd0aD4xKXthPWVbJHNdKCk7YVtYcl0oYS5vY2N1cik7YS5vY2N1cj1udWxsfXRoaXMuX2JpbmRWYWx1ZShlLHRbMF0saSk7dGhpcy5fc2V0UHJvcGVydGllcyhlLHRbMF0pO3RoaXMuX2JpbmRJdGVtcyhlLHRbMF0pO2lmKDE9PT10Lmxlbmd0aClyZXR1cm47Y29uc3Qgcz1lW3ByXSgpLHI9ZVtZcl0sbj1zW2JyXShlKTtmb3IobGV0IGU9MSxnPXQubGVuZ3RoO2U8ZztlKyspe2NvbnN0IGc9dFtlXSxvPWFbJHNdKCk7c1tyXS5wdXNoKG8pO3NbRnJdKG4rZSxvKTt0aGlzLl9iaW5kVmFsdWUobyxnLGkpO3RoaXMuX3NldFByb3BlcnRpZXMobyxnKTt0aGlzLl9iaW5kSXRlbXMobyxnKX19X2NyZWF0ZU9jY3VycmVuY2VzKGUpe2lmKCF0aGlzLmVtcHR5TWVyZ2UpcmV0dXJuO2NvbnN0e29jY3VyOnR9PWU7aWYoIXR8fHQuaW5pdGlhbDw9MSlyZXR1cm47Y29uc3QgaT1lW3ByXSgpLGE9ZVtZcl07aWYoIShpW2FdaW5zdGFuY2VvZiBYRkFPYmplY3RBcnJheSkpcmV0dXJuO2xldCBzO3M9ZS5uYW1lP2lbYV0uY2hpbGRyZW4uZmlsdGVyKCh0PT50Lm5hbWU9PT1lLm5hbWUpKS5sZW5ndGg6aVthXS5jaGlsZHJlbi5sZW5ndGg7Y29uc3Qgcj1pW2JyXShlKSsxLG49dC5pbml0aWFsLXM7aWYobil7Y29uc3QgdD1lWyRzXSgpO3RbWHJdKHQub2NjdXIpO3Qub2NjdXI9bnVsbDtpW2FdLnB1c2godCk7aVtGcl0ocix0KTtmb3IobGV0IGU9MTtlPG47ZSsrKXtjb25zdCBzPXRbJHNdKCk7aVthXS5wdXNoKHMpO2lbRnJdKHIrZSxzKX19fV9nZXRPY2N1ckluZm8oZSl7Y29uc3R7bmFtZTp0LG9jY3VyOml9PWU7aWYoIWl8fCF0KXJldHVyblsxLDFdO2NvbnN0IGE9LTE9PT1pLm1heD8xLzA6aS5tYXg7cmV0dXJuW2kubWluLGFdfV9zZXRBbmRCaW5kKGUsdCl7dGhpcy5fc2V0UHJvcGVydGllcyhlLHQpO3RoaXMuX2JpbmRJdGVtcyhlLHQpO3RoaXMuX2JpbmRFbGVtZW50KGUsdCl9X2JpbmRFbGVtZW50KGUsdCl7Y29uc3QgaT1bXTt0aGlzLl9jcmVhdGVPY2N1cnJlbmNlcyhlKTtmb3IoY29uc3QgYSBvZiBlW0VyXSgpKXtpZihhW3RyXSljb250aW51ZTtpZih2b2lkIDA9PT10aGlzLl9tZXJnZU1vZGUmJiJzdWJmb3JtIj09PWFbWXJdKXt0aGlzLl9tZXJnZU1vZGU9ImNvbnN1bWVEYXRhIj09PWEubWVyZ2VNb2RlO2NvbnN0IGU9dFtFcl0oKTtpZihlLmxlbmd0aD4wKXRoaXMuX2JpbmRPY2N1cnJlbmNlcyhhLFtlWzBdXSxudWxsKTtlbHNlIGlmKHRoaXMuZW1wdHlNZXJnZSl7Y29uc3QgZT10W0pyXT09PUtuPy0xOnRbSnJdLGk9YVt0cl09bmV3IFhtbE9iamVjdChlLGEubmFtZXx8InJvb3QiKTt0W2pzXShpKTt0aGlzLl9iaW5kRWxlbWVudChhLGkpfWNvbnRpbnVlfWlmKCFhW2tyXSgpKWNvbnRpbnVlO2xldCBlPSExLHM9bnVsbCxyPW51bGwsbj1udWxsO2lmKGEuYmluZCl7c3dpdGNoKGEuYmluZC5tYXRjaCl7Y2FzZSJub25lIjp0aGlzLl9zZXRBbmRCaW5kKGEsdCk7Y29udGludWU7Y2FzZSJnbG9iYWwiOmU9ITA7YnJlYWs7Y2FzZSJkYXRhUmVmIjppZighYS5iaW5kLnJlZil7d2FybihgWEZBIC0gcmVmIGlzIGVtcHR5IGluIG5vZGUgJHthW1lyXX0uYCk7dGhpcy5fc2V0QW5kQmluZChhLHQpO2NvbnRpbnVlfXI9YS5iaW5kLnJlZn1hLmJpbmQucGljdHVyZSYmKHM9YS5iaW5kLnBpY3R1cmVbZXJdKX1jb25zdFtnLG9dPXRoaXMuX2dldE9jY3VySW5mbyhhKTtpZihyKXtuPXNlYXJjaE5vZGUodGhpcy5yb290LHQsciwhMCwhMSk7aWYobnVsbD09PW4pe249Y3JlYXRlRGF0YU5vZGUodGhpcy5kYXRhLHQscik7aWYoIW4pY29udGludWU7dGhpcy5faXNDb25zdW1lRGF0YSgpJiYobltBcl09ITApO3RoaXMuX3NldEFuZEJpbmQoYSxuKTtjb250aW51ZX10aGlzLl9pc0NvbnN1bWVEYXRhKCkmJihuPW4uZmlsdGVyKChlPT4hZVtBcl0pKSk7bi5sZW5ndGg+bz9uPW4uc2xpY2UoMCxvKTowPT09bi5sZW5ndGgmJihuPW51bGwpO24mJnRoaXMuX2lzQ29uc3VtZURhdGEoKSYmbi5mb3JFYWNoKChlPT57ZVtBcl09ITB9KSl9ZWxzZXtpZighYS5uYW1lKXt0aGlzLl9zZXRBbmRCaW5kKGEsdCk7Y29udGludWV9aWYodGhpcy5faXNDb25zdW1lRGF0YSgpKXtjb25zdCBpPVtdO2Zvcig7aS5sZW5ndGg8bzspe2NvbnN0IHM9dGhpcy5fZmluZERhdGFCeU5hbWVUb0NvbnN1bWUoYS5uYW1lLGFbd3JdKCksdCxlKTtpZighcylicmVhaztzW0FyXT0hMDtpLnB1c2gocyl9bj1pLmxlbmd0aD4wP2k6bnVsbH1lbHNle249dFtRcl0oYS5uYW1lLCExLHRoaXMuZW1wdHlNZXJnZSkubmV4dCgpLnZhbHVlO2lmKCFuKXtpZigwPT09Zyl7aS5wdXNoKGEpO2NvbnRpbnVlfWNvbnN0IGU9dFtKcl09PT1Lbj8tMTp0W0pyXTtuPWFbdHJdPW5ldyBYbWxPYmplY3QoZSxhLm5hbWUpO3RoaXMuZW1wdHlNZXJnZSYmKG5bQXJdPSEwKTt0W2pzXShuKTt0aGlzLl9zZXRBbmRCaW5kKGEsbik7Y29udGludWV9dGhpcy5lbXB0eU1lcmdlJiYobltBcl09ITApO249W25dfX1uP3RoaXMuX2JpbmRPY2N1cnJlbmNlcyhhLG4scyk6Zz4wP3RoaXMuX3NldEFuZEJpbmQoYSx0KTppLnB1c2goYSl9aS5mb3JFYWNoKChlPT5lW3ByXSgpW1hyXShlKSkpfX1jbGFzcyBEYXRhSGFuZGxlcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZGF0YT10O3RoaXMuZGF0YXNldD1lLmRhdGFzZXRzfHxudWxsfXNlcmlhbGl6ZShlKXtjb25zdCB0PVtbLTEsdGhpcy5kYXRhW0VyXSgpXV07Zm9yKDt0Lmxlbmd0aD4wOyl7Y29uc3QgaT10LmF0KC0xKSxbYSxzXT1pO2lmKGErMT09PXMubGVuZ3RoKXt0LnBvcCgpO2NvbnRpbnVlfWNvbnN0IHI9c1srK2lbMF1dLG49ZS5nZXQocltubl0pO2lmKG4pclskcl0obik7ZWxzZXtjb25zdCB0PXJbZ3JdKCk7Zm9yKGNvbnN0IGkgb2YgdC52YWx1ZXMoKSl7Y29uc3QgdD1lLmdldChpW25uXSk7aWYodCl7aVskcl0odCk7YnJlYWt9fX1jb25zdCBnPXJbRXJdKCk7Zy5sZW5ndGg+MCYmdC5wdXNoKFstMSxnXSl9Y29uc3QgaT1bJzx4ZmE6ZGF0YXNldHMgeG1sbnM6eGZhPSJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1kYXRhLzEuMC8iPiddO2lmKHRoaXMuZGF0YXNldClmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFzZXRbRXJdKCkpImRhdGEiIT09ZVtZcl0mJmVbc25dKGkpO3RoaXMuZGF0YVtzbl0oaSk7aS5wdXNoKCI8L3hmYTpkYXRhc2V0cz4iKTtyZXR1cm4gaS5qb2luKCIiKX19Y29uc3QgcW49b24uY29uZmlnLmlkO2NsYXNzIEFjcm9iYXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImFjcm9iYXQiLCEwKTt0aGlzLmFjcm9iYXQ3PW51bGw7dGhpcy5hdXRvU2F2ZT1udWxsO3RoaXMuY29tbW9uPW51bGw7dGhpcy52YWxpZGF0ZT1udWxsO3RoaXMudmFsaWRhdGVBcHByb3ZhbFNpZ25hdHVyZXM9bnVsbDt0aGlzLnN1Ym1pdFVybD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEFjcm9iYXQ3IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJhY3JvYmF0NyIsITApO3RoaXMuZHluYW1pY1JlbmRlcj1udWxsfX1jbGFzcyBBREJFX0pTQ29uc29sZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiQURCRV9KU0NvbnNvbGUiLFsiZGVsZWdhdGUiLCJFbmFibGUiLCJEaXNhYmxlIl0pfX1jbGFzcyBBREJFX0pTRGVidWdnZXIgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sIkFEQkVfSlNEZWJ1Z2dlciIsWyJkZWxlZ2F0ZSIsIkVuYWJsZSIsIkRpc2FibGUiXSl9fWNsYXNzIEFkZFNpbGVudFByaW50IGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImFkZFNpbGVudFByaW50Iil9fWNsYXNzIEFkZFZpZXdlclByZWZlcmVuY2VzIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImFkZFZpZXdlclByZWZlcmVuY2VzIil9fWNsYXNzIEFkanVzdERhdGEgZXh0ZW5kcyBPcHRpb24xMHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiYWRqdXN0RGF0YSIpfX1jbGFzcyBBZG9iZUV4dGVuc2lvbkxldmVsIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiYWRvYmVFeHRlbnNpb25MZXZlbCIsMCwoZT0+ZT49MSYmZTw9OCkpfX1jbGFzcyBBZ2VudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiYWdlbnQiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lP2UubmFtZS50cmltKCk6IiI7dGhpcy5jb21tb249bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBBbHdheXNFbWJlZCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImFsd2F5c0VtYmVkIil9fWNsYXNzIEFtZCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiYW1kIil9fWNsYXNzIGNvbmZpZ19BcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJhcmVhIik7dGhpcy5sZXZlbD1nZXRJbnRlZ2VyKHtkYXRhOmUubGV2ZWwsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MSYmZTw9M30pO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiIiwiYmFyY29kZSIsImNvcmVpbml0IiwiZGV2aWNlRHJpdmVyIiwiZm9udCIsImdlbmVyYWwiLCJsYXlvdXQiLCJtZXJnZSIsInNjcmlwdCIsInNpZ25hdHVyZSIsInNvdXJjZVNldCIsInRlbXBsYXRlQ2FjaGUiXSl9fWNsYXNzIEF0dHJpYnV0ZXMgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImF0dHJpYnV0ZXMiLFsicHJlc2VydmUiLCJkZWxlZ2F0ZSIsImlnbm9yZSJdKX19Y2xhc3MgQXV0b1NhdmUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImF1dG9TYXZlIixbImRpc2FibGVkIiwiZW5hYmxlZCJdKX19Y2xhc3MgQmFzZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiYmFzZSIpfX1jbGFzcyBCYXRjaE91dHB1dCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiYmF0Y2hPdXRwdXQiKTt0aGlzLmZvcm1hdD1nZXRTdHJpbmdPcHRpb24oZS5mb3JtYXQsWyJub25lIiwiY29uY2F0IiwiemlwIiwiemlwQ29tcHJlc3MiXSl9fWNsYXNzIEJlaGF2aW9yT3ZlcnJpZGUgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJiZWhhdmlvck92ZXJyaWRlIil9W3NyXSgpe3RoaXNbZXJdPW5ldyBNYXAodGhpc1tlcl0udHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoKGU9PmUuaW5jbHVkZXMoIjoiKSkpLm1hcCgoZT0+ZS5zcGxpdCgiOiIsMikpKSl9fWNsYXNzIENhY2hlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJjYWNoZSIsITApO3RoaXMudGVtcGxhdGVDYWNoZT1udWxsfX1jbGFzcyBDaGFuZ2UgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiY2hhbmdlIil9fWNsYXNzIENvbW1vbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiY29tbW9uIiwhMCk7dGhpcy5kYXRhPW51bGw7dGhpcy5sb2NhbGU9bnVsbDt0aGlzLmxvY2FsZVNldD1udWxsO3RoaXMubWVzc2FnaW5nPW51bGw7dGhpcy5zdXBwcmVzc0Jhbm5lcj1udWxsO3RoaXMudGVtcGxhdGU9bnVsbDt0aGlzLnZhbGlkYXRpb25NZXNzYWdpbmc9bnVsbDt0aGlzLnZlcnNpb25Db250cm9sPW51bGw7dGhpcy5sb2c9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBDb21wcmVzcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiY29tcHJlc3MiKTt0aGlzLnNjb3BlPWdldFN0cmluZ09wdGlvbihlLnNjb3BlLFsiaW1hZ2VPbmx5IiwiZG9jdW1lbnQiXSl9fWNsYXNzIENvbXByZXNzTG9naWNhbFN0cnVjdHVyZSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJjb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmUiKX19Y2xhc3MgQ29tcHJlc3NPYmplY3RTdHJlYW0gZXh0ZW5kcyBPcHRpb24xMHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiY29tcHJlc3NPYmplY3RTdHJlYW0iKX19Y2xhc3MgQ29tcHJlc3Npb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImNvbXByZXNzaW9uIiwhMCk7dGhpcy5jb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmU9bnVsbDt0aGlzLmNvbXByZXNzT2JqZWN0U3RyZWFtPW51bGw7dGhpcy5sZXZlbD1udWxsO3RoaXMudHlwZT1udWxsfX1jbGFzcyBDb25maWcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImNvbmZpZyIsITApO3RoaXMuYWNyb2JhdD1udWxsO3RoaXMucHJlc2VudD1udWxsO3RoaXMudHJhY2U9bnVsbDt0aGlzLmFnZW50PW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgQ29uZm9ybWFuY2UgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImNvbmZvcm1hbmNlIixbIkEiLCJCIl0pfX1jbGFzcyBDb250ZW50Q29weSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJjb250ZW50Q29weSIpfX1jbGFzcyBDb3BpZXMgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJjb3BpZXMiLDEsKGU9PmU+PTEpKX19Y2xhc3MgQ3JlYXRvciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiY3JlYXRvciIpfX1jbGFzcyBDdXJyZW50UGFnZSBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImN1cnJlbnRQYWdlIiwwLChlPT5lPj0wKSl9fWNsYXNzIERhdGEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImRhdGEiLCEwKTt0aGlzLmFkanVzdERhdGE9bnVsbDt0aGlzLmF0dHJpYnV0ZXM9bnVsbDt0aGlzLmluY3JlbWVudGFsTG9hZD1udWxsO3RoaXMub3V0cHV0WFNMPW51bGw7dGhpcy5yYW5nZT1udWxsO3RoaXMucmVjb3JkPW51bGw7dGhpcy5zdGFydE5vZGU9bnVsbDt0aGlzLnVyaT1udWxsO3RoaXMud2luZG93PW51bGw7dGhpcy54c2w9bnVsbDt0aGlzLmV4Y2x1ZGVOUz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50cmFuc2Zvcm09bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBEZWJ1ZyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZGVidWciLCEwKTt0aGlzLnVyaT1udWxsfX1jbGFzcyBEZWZhdWx0VHlwZWZhY2UgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJkZWZhdWx0VHlwZWZhY2UiKTt0aGlzLndyaXRpbmdTY3JpcHQ9Z2V0U3RyaW5nT3B0aW9uKGUud3JpdGluZ1NjcmlwdCxbIioiLCJBcmFiaWMiLCJDeXJpbGxpYyIsIkVhc3RFdXJvcGVhblJvbWFuIiwiR3JlZWsiLCJIZWJyZXciLCJKYXBhbmVzZSIsIktvcmVhbiIsIlJvbWFuIiwiU2ltcGxpZmllZENoaW5lc2UiLCJUaGFpIiwiVHJhZGl0aW9uYWxDaGluZXNlIiwiVmlldG5hbWVzZSJdKX19Y2xhc3MgRGVzdGluYXRpb24gZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImRlc3RpbmF0aW9uIixbInBkZiIsInBjbCIsInBzIiwid2ViQ2xpZW50IiwienBsIl0pfX1jbGFzcyBEb2N1bWVudEFzc2VtYmx5IGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImRvY3VtZW50QXNzZW1ibHkiKX19Y2xhc3MgRHJpdmVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJkcml2ZXIiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lP2UubmFtZS50cmltKCk6IiI7dGhpcy5mb250SW5mbz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIER1cGxleE9wdGlvbiBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZHVwbGV4T3B0aW9uIixbInNpbXBsZXgiLCJkdXBsZXhGbGlwTG9uZ0VkZ2UiLCJkdXBsZXhGbGlwU2hvcnRFZGdlIl0pfX1jbGFzcyBEeW5hbWljUmVuZGVyIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJkeW5hbWljUmVuZGVyIixbImZvcmJpZGRlbiIsInJlcXVpcmVkIl0pfX1jbGFzcyBFbWJlZCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJlbWJlZCIpfX1jbGFzcyBjb25maWdfRW5jcnlwdCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJlbmNyeXB0Iil9fWNsYXNzIGNvbmZpZ19FbmNyeXB0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJlbmNyeXB0aW9uIiwhMCk7dGhpcy5lbmNyeXB0PW51bGw7dGhpcy5lbmNyeXB0aW9uTGV2ZWw9bnVsbDt0aGlzLnBlcm1pc3Npb25zPW51bGx9fWNsYXNzIEVuY3J5cHRpb25MZXZlbCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZW5jcnlwdGlvbkxldmVsIixbIjQwYml0IiwiMTI4Yml0Il0pfX1jbGFzcyBFbmZvcmNlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJlbmZvcmNlIil9fWNsYXNzIEVxdWF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZXF1YXRlIik7dGhpcy5mb3JjZT1nZXRJbnRlZ2VyKHtkYXRhOmUuZm9yY2UsZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+MD09PWV9KTt0aGlzLmZyb209ZS5mcm9tfHwiIjt0aGlzLnRvPWUudG98fCIifX1jbGFzcyBFcXVhdGVSYW5nZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZXF1YXRlUmFuZ2UiKTt0aGlzLmZyb209ZS5mcm9tfHwiIjt0aGlzLnRvPWUudG98fCIiO3RoaXMuX3VuaWNvZGVSYW5nZT1lLnVuaWNvZGVSYW5nZXx8IiJ9Z2V0IHVuaWNvZGVSYW5nZSgpe2NvbnN0IGU9W10sdD0vVVwrKFswLTlhLWZBLUZdKykvLGk9dGhpcy5fdW5pY29kZVJhbmdlO2ZvcihsZXQgYSBvZiBpLnNwbGl0KCIsIikubWFwKChlPT5lLnRyaW0oKSkpLmZpbHRlcigoZT0+ISFlKSkpe2E9YS5zcGxpdCgiLSIsMikubWFwKChlPT57Y29uc3QgaT1lLm1hdGNoKHQpO3JldHVybiBpP3BhcnNlSW50KGlbMV0sMTYpOjB9KSk7MT09PWEubGVuZ3RoJiZhLnB1c2goYVswXSk7ZS5wdXNoKGEpfXJldHVybiBzaGFkb3codGhpcywidW5pY29kZVJhbmdlIixlKX19Y2xhc3MgRXhjbHVkZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImV4Y2x1ZGUiKX1bc3JdKCl7dGhpc1tlcl09dGhpc1tlcl0udHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoKGU9PmUmJlsiY2FsY3VsYXRlIiwiY2xvc2UiLCJlbnRlciIsImV4aXQiLCJpbml0aWFsaXplIiwicmVhZHkiLCJ2YWxpZGF0ZSJdLmluY2x1ZGVzKGUpKSl9fWNsYXNzIEV4Y2x1ZGVOUyBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZXhjbHVkZU5TIil9fWNsYXNzIEZsaXBMYWJlbCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZmxpcExhYmVsIixbInVzZVByaW50ZXJTZXR0aW5nIiwib24iLCJvZmYiXSl9fWNsYXNzIGNvbmZpZ19Gb250SW5mbyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZm9udEluZm8iLCEwKTt0aGlzLmVtYmVkPW51bGw7dGhpcy5tYXA9bnVsbDt0aGlzLnN1YnNldEJlbG93PW51bGw7dGhpcy5hbHdheXNFbWJlZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWZhdWx0VHlwZWZhY2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubmV2ZXJFbWJlZD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEZvcm1GaWVsZEZpbGxpbmcgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZm9ybUZpZWxkRmlsbGluZyIpfX1jbGFzcyBHcm91cFBhcmVudCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiZ3JvdXBQYXJlbnQiKX19Y2xhc3MgSWZFbXB0eSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiaWZFbXB0eSIsWyJkYXRhVmFsdWUiLCJkYXRhR3JvdXAiLCJpZ25vcmUiLCJyZW1vdmUiXSl9fWNsYXNzIEluY2x1ZGVYRFBDb250ZW50IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJpbmNsdWRlWERQQ29udGVudCIpfX1jbGFzcyBJbmNyZW1lbnRhbExvYWQgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImluY3JlbWVudGFsTG9hZCIsWyJub25lIiwiZm9yd2FyZE9ubHkiXSl9fWNsYXNzIEluY3JlbWVudGFsTWVyZ2UgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiaW5jcmVtZW50YWxNZXJnZSIpfX1jbGFzcyBJbnRlcmFjdGl2ZSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJpbnRlcmFjdGl2ZSIpfX1jbGFzcyBKb2cgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImpvZyIsWyJ1c2VQcmludGVyU2V0dGluZyIsIm5vbmUiLCJwYWdlU2V0Il0pfX1jbGFzcyBMYWJlbFByaW50ZXIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImxhYmVsUHJpbnRlciIsITApO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsienBsIiwiZHBsIiwiaXBsIiwidGNwbCJdKTt0aGlzLmJhdGNoT3V0cHV0PW51bGw7dGhpcy5mbGlwTGFiZWw9bnVsbDt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgTGF5b3V0IGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJsYXlvdXQiLFsicGFnaW5hdGUiLCJwYW5lbCJdKX19Y2xhc3MgTGV2ZWwgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJsZXZlbCIsMCwoZT0+ZT4wKSl9fWNsYXNzIExpbmVhcml6ZWQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwibGluZWFyaXplZCIpfX1jbGFzcyBMb2NhbGUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImxvY2FsZSIpfX1jbGFzcyBMb2NhbGVTZXQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImxvY2FsZVNldCIpfX1jbGFzcyBMb2cgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sImxvZyIsITApO3RoaXMubW9kZT1udWxsO3RoaXMudGhyZXNob2xkPW51bGw7dGhpcy50bz1udWxsO3RoaXMudXJpPW51bGx9fWNsYXNzIE1hcEVsZW1lbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sIm1hcCIsITApO3RoaXMuZXF1YXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVxdWF0ZVJhbmdlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgTWVkaXVtSW5mbyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwibWVkaXVtSW5mbyIsITApO3RoaXMubWFwPW51bGx9fWNsYXNzIGNvbmZpZ19NZXNzYWdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJtZXNzYWdlIiwhMCk7dGhpcy5tc2dJZD1udWxsO3RoaXMuc2V2ZXJpdHk9bnVsbH19Y2xhc3MgTWVzc2FnaW5nIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJtZXNzYWdpbmciLCEwKTt0aGlzLm1lc3NhZ2U9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBNb2RlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJtb2RlIixbImFwcGVuZCIsIm92ZXJ3cml0ZSJdKX19Y2xhc3MgTW9kaWZ5QW5ub3RzIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sIm1vZGlmeUFubm90cyIpfX1jbGFzcyBNc2dJZCBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sIm1zZ0lkIiwxLChlPT5lPj0xKSl9fWNsYXNzIE5hbWVBdHRyIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJuYW1lQXR0ciIpfX1jbGFzcyBOZXZlckVtYmVkIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwibmV2ZXJFbWJlZCIpfX1jbGFzcyBOdW1iZXJPZkNvcGllcyBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sIm51bWJlck9mQ29waWVzIixudWxsLChlPT5lPj0yJiZlPD01KSl9fWNsYXNzIE9wZW5BY3Rpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sIm9wZW5BY3Rpb24iLCEwKTt0aGlzLmRlc3RpbmF0aW9uPW51bGx9fWNsYXNzIE91dHB1dCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwib3V0cHV0IiwhMCk7dGhpcy50bz1udWxsO3RoaXMudHlwZT1udWxsO3RoaXMudXJpPW51bGx9fWNsYXNzIE91dHB1dEJpbiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwib3V0cHV0QmluIil9fWNsYXNzIE91dHB1dFhTTCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwib3V0cHV0WFNMIiwhMCk7dGhpcy51cmk9bnVsbH19Y2xhc3MgT3ZlcnByaW50IGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJvdmVycHJpbnQiLFsibm9uZSIsImJvdGgiLCJkcmF3IiwiZmllbGQiXSl9fWNsYXNzIFBhY2tldHMgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInBhY2tldHMiKX1bc3JdKCl7IioiIT09dGhpc1tlcl0mJih0aGlzW2VyXT10aGlzW2VyXS50cmltKCkuc3BsaXQoL1xzKy8pLmZpbHRlcigoZT0+WyJjb25maWciLCJkYXRhc2V0cyIsInRlbXBsYXRlIiwieGZkZiIsInhzbHQiXS5pbmNsdWRlcyhlKSkpKX19Y2xhc3MgUGFnZU9mZnNldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicGFnZU9mZnNldCIpO3RoaXMueD1nZXRJbnRlZ2VyKHtkYXRhOmUueCxkZWZhdWx0VmFsdWU6InVzZVhEQ1NldHRpbmciLHZhbGlkYXRlOmU9PiEwfSk7dGhpcy55PWdldEludGVnZXIoe2RhdGE6ZS55LGRlZmF1bHRWYWx1ZToidXNlWERDU2V0dGluZyIsdmFsaWRhdGU6ZT0+ITB9KX19Y2xhc3MgUGFnZVJhbmdlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwYWdlUmFuZ2UiKX1bc3JdKCl7Y29uc3QgZT10aGlzW2VyXS50cmltKCkuc3BsaXQoL1xzKy8pLm1hcCgoZT0+cGFyc2VJbnQoZSwxMCkpKSx0PVtdO2ZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhO2krPTIpdC5wdXNoKGUuc2xpY2UoaSxpKzIpKTt0aGlzW2VyXT10fX1jbGFzcyBQYWdpbmF0aW9uIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwYWdpbmF0aW9uIixbInNpbXBsZXgiLCJkdXBsZXhTaG9ydEVkZ2UiLCJkdXBsZXhMb25nRWRnZSJdKX19Y2xhc3MgUGFnaW5hdGlvbk92ZXJyaWRlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwYWdpbmF0aW9uT3ZlcnJpZGUiLFsibm9uZSIsImZvcmNlRHVwbGV4IiwiZm9yY2VEdXBsZXhMb25nRWRnZSIsImZvcmNlRHVwbGV4U2hvcnRFZGdlIiwiZm9yY2VTaW1wbGV4Il0pfX1jbGFzcyBQYXJ0IGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicGFydCIsMSwoZT0+ITEpKX19Y2xhc3MgUGNsIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwY2wiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLmJhdGNoT3V0cHV0PW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMuam9nPW51bGw7dGhpcy5tZWRpdW1JbmZvPW51bGw7dGhpcy5vdXRwdXRCaW49bnVsbDt0aGlzLnBhZ2VPZmZzZXQ9bnVsbDt0aGlzLnN0YXBsZT1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIFBkZiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicGRmIiwhMCk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5hZG9iZUV4dGVuc2lvbkxldmVsPW51bGw7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuY29tcHJlc3Npb249bnVsbDt0aGlzLmNyZWF0b3I9bnVsbDt0aGlzLmVuY3J5cHRpb249bnVsbDt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy5pbnRlcmFjdGl2ZT1udWxsO3RoaXMubGluZWFyaXplZD1udWxsO3RoaXMub3BlbkFjdGlvbj1udWxsO3RoaXMucGRmYT1udWxsO3RoaXMucHJvZHVjZXI9bnVsbDt0aGlzLnJlbmRlclBvbGljeT1udWxsO3RoaXMuc2NyaXB0TW9kZWw9bnVsbDt0aGlzLnNpbGVudFByaW50PW51bGw7dGhpcy5zdWJtaXRGb3JtYXQ9bnVsbDt0aGlzLnRhZ2dlZD1udWxsO3RoaXMudmVyc2lvbj1udWxsO3RoaXMudmlld2VyUHJlZmVyZW5jZXM9bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBQZGZhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwZGZhIiwhMCk7dGhpcy5hbWQ9bnVsbDt0aGlzLmNvbmZvcm1hbmNlPW51bGw7dGhpcy5pbmNsdWRlWERQQ29udGVudD1udWxsO3RoaXMucGFydD1udWxsfX1jbGFzcyBQZXJtaXNzaW9ucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicGVybWlzc2lvbnMiLCEwKTt0aGlzLmFjY2Vzc2libGVDb250ZW50PW51bGw7dGhpcy5jaGFuZ2U9bnVsbDt0aGlzLmNvbnRlbnRDb3B5PW51bGw7dGhpcy5kb2N1bWVudEFzc2VtYmx5PW51bGw7dGhpcy5mb3JtRmllbGRGaWxsaW5nPW51bGw7dGhpcy5tb2RpZnlBbm5vdHM9bnVsbDt0aGlzLnBsYWludGV4dE1ldGFkYXRhPW51bGw7dGhpcy5wcmludD1udWxsO3RoaXMucHJpbnRIaWdoUXVhbGl0eT1udWxsfX1jbGFzcyBQaWNrVHJheUJ5UERGU2l6ZSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwaWNrVHJheUJ5UERGU2l6ZSIpfX1jbGFzcyBjb25maWdfUGljdHVyZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicGljdHVyZSIpfX1jbGFzcyBQbGFpbnRleHRNZXRhZGF0YSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwbGFpbnRleHRNZXRhZGF0YSIpfX1jbGFzcyBQcmVzZW5jZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicHJlc2VuY2UiLFsicHJlc2VydmUiLCJkaXNzb2x2ZSIsImRpc3NvbHZlU3RydWN0dXJlIiwiaWdub3JlIiwicmVtb3ZlIl0pfX1jbGFzcyBQcmVzZW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwcmVzZW50IiwhMCk7dGhpcy5iZWhhdmlvck92ZXJyaWRlPW51bGw7dGhpcy5jYWNoZT1udWxsO3RoaXMuY29tbW9uPW51bGw7dGhpcy5jb3BpZXM9bnVsbDt0aGlzLmRlc3RpbmF0aW9uPW51bGw7dGhpcy5pbmNyZW1lbnRhbE1lcmdlPW51bGw7dGhpcy5sYXlvdXQ9bnVsbDt0aGlzLm91dHB1dD1udWxsO3RoaXMub3ZlcnByaW50PW51bGw7dGhpcy5wYWdpbmF0aW9uPW51bGw7dGhpcy5wYWdpbmF0aW9uT3ZlcnJpZGU9bnVsbDt0aGlzLnNjcmlwdD1udWxsO3RoaXMudmFsaWRhdGU9bnVsbDt0aGlzLnhkcD1udWxsO3RoaXMuZHJpdmVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmxhYmVsUHJpbnRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wY2w9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGRmPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1Ym1pdFVybD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy53ZWJDbGllbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuenBsPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgUHJpbnQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicHJpbnQiKX19Y2xhc3MgUHJpbnRIaWdoUXVhbGl0eSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwcmludEhpZ2hRdWFsaXR5Iil9fWNsYXNzIFByaW50U2NhbGluZyBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicHJpbnRTY2FsaW5nIixbImFwcGRlZmF1bHQiLCJub1NjYWxpbmciXSl9fWNsYXNzIFByaW50ZXJOYW1lIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJwcmludGVyTmFtZSIpfX1jbGFzcyBQcm9kdWNlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicHJvZHVjZXIiKX19Y2xhc3MgUHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInBzIiwhMCk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLmpvZz1udWxsO3RoaXMubWVkaXVtSW5mbz1udWxsO3RoaXMub3V0cHV0QmluPW51bGw7dGhpcy5zdGFwbGU9bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBSYW5nZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInJhbmdlIil9W3NyXSgpe3RoaXNbZXJdPXRoaXNbZXJdLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8sMikubWFwKChlPT5lLnNwbGl0KCItIikubWFwKChlPT5wYXJzZUludChlLnRyaW0oKSwxMCkpKSkpLmZpbHRlcigoZT0+ZS5ldmVyeSgoZT0+IWlzTmFOKGUpKSkpKS5tYXAoKGU9PnsxPT09ZS5sZW5ndGgmJmUucHVzaChlWzBdKTtyZXR1cm4gZX0pKX19Y2xhc3MgUmVjb3JkIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwicmVjb3JkIil9W3NyXSgpe3RoaXNbZXJdPXRoaXNbZXJdLnRyaW0oKTtjb25zdCBlPXBhcnNlSW50KHRoaXNbZXJdLDEwKTshaXNOYU4oZSkmJmU+PTAmJih0aGlzW2VyXT1lKX19Y2xhc3MgUmVsZXZhbnQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJyZWxldmFudCIpfVtzcl0oKXt0aGlzW2VyXT10aGlzW2VyXS50cmltKCkuc3BsaXQoL1xzKy8pfX1jbGFzcyBSZW5hbWUgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJyZW5hbWUiKX1bc3JdKCl7dGhpc1tlcl09dGhpc1tlcl0udHJpbSgpOyh0aGlzW2VyXS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoInhtbCIpfHxuZXcgUmVnRXhwKCJbXFxwe0x9X11bXFxwe0x9XFxkLl9cXHB7TX0tXSoiLCJ1IikudGVzdCh0aGlzW2VyXSkpJiZ3YXJuKCJYRkEgLSBSZW5hbWU6IGludmFsaWQgWEZBIG5hbWUiKX19Y2xhc3MgUmVuZGVyUG9saWN5IGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJyZW5kZXJQb2xpY3kiLFsic2VydmVyIiwiY2xpZW50Il0pfX1jbGFzcyBSdW5TY3JpcHRzIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJydW5TY3JpcHRzIixbImJvdGgiLCJjbGllbnQiLCJub25lIiwic2VydmVyIl0pfX1jbGFzcyBjb25maWdfU2NyaXB0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJzY3JpcHQiLCEwKTt0aGlzLmN1cnJlbnRQYWdlPW51bGw7dGhpcy5leGNsdWRlPW51bGw7dGhpcy5ydW5TY3JpcHRzPW51bGx9fWNsYXNzIFNjcmlwdE1vZGVsIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJzY3JpcHRNb2RlbCIsWyJYRkEiLCJub25lIl0pfX1jbGFzcyBTZXZlcml0eSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwic2V2ZXJpdHkiLFsiaWdub3JlIiwiZXJyb3IiLCJpbmZvcm1hdGlvbiIsInRyYWNlIiwid2FybmluZyJdKX19Y2xhc3MgU2lsZW50UHJpbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInNpbGVudFByaW50IiwhMCk7dGhpcy5hZGRTaWxlbnRQcmludD1udWxsO3RoaXMucHJpbnRlck5hbWU9bnVsbH19Y2xhc3MgU3RhcGxlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJzdGFwbGUiKTt0aGlzLm1vZGU9Z2V0U3RyaW5nT3B0aW9uKGUubW9kZSxbInVzZVByaW50ZXJTZXR0aW5nIiwib24iLCJvZmYiXSl9fWNsYXNzIFN0YXJ0Tm9kZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwic3RhcnROb2RlIil9fWNsYXNzIFN0YXJ0UGFnZSBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInN0YXJ0UGFnZSIsMCwoZT0+ITApKX19Y2xhc3MgU3VibWl0Rm9ybWF0IGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJzdWJtaXRGb3JtYXQiLFsiaHRtbCIsImRlbGVnYXRlIiwiZmRmIiwieG1sIiwicGRmIl0pfX1jbGFzcyBTdWJtaXRVcmwgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInN1Ym1pdFVybCIpfX1jbGFzcyBTdWJzZXRCZWxvdyBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInN1YnNldEJlbG93IiwxMDAsKGU9PmU+PTAmJmU8PTEwMCkpfX1jbGFzcyBTdXBwcmVzc0Jhbm5lciBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJzdXBwcmVzc0Jhbm5lciIpfX1jbGFzcyBUYWdnZWQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwidGFnZ2VkIil9fWNsYXNzIGNvbmZpZ19UZW1wbGF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwidGVtcGxhdGUiLCEwKTt0aGlzLmJhc2U9bnVsbDt0aGlzLnJlbGV2YW50PW51bGw7dGhpcy5zdGFydFBhZ2U9bnVsbDt0aGlzLnVyaT1udWxsO3RoaXMueHNsPW51bGx9fWNsYXNzIFRocmVzaG9sZCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwidGhyZXNob2xkIixbInRyYWNlIiwiZXJyb3IiLCJpbmZvcm1hdGlvbiIsIndhcm5pbmciXSl9fWNsYXNzIFRvIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJ0byIsWyJudWxsIiwibWVtb3J5Iiwic3RkZXJyIiwic3Rkb3V0Iiwic3lzdGVtIiwidXJpIl0pfX1jbGFzcyBUZW1wbGF0ZUNhY2hlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJ0ZW1wbGF0ZUNhY2hlIik7dGhpcy5tYXhFbnRyaWVzPWdldEludGVnZXIoe2RhdGE6ZS5tYXhFbnRyaWVzLGRlZmF1bHRWYWx1ZTo1LHZhbGlkYXRlOmU9PmU+PTB9KX19Y2xhc3MgVHJhY2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInRyYWNlIiwhMCk7dGhpcy5hcmVhPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgVHJhbnNmb3JtIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJ0cmFuc2Zvcm0iLCEwKTt0aGlzLmdyb3VwUGFyZW50PW51bGw7dGhpcy5pZkVtcHR5PW51bGw7dGhpcy5uYW1lQXR0cj1udWxsO3RoaXMucGljdHVyZT1udWxsO3RoaXMucHJlc2VuY2U9bnVsbDt0aGlzLnJlbmFtZT1udWxsO3RoaXMud2hpdGVzcGFjZT1udWxsfX1jbGFzcyBUeXBlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJ0eXBlIixbIm5vbmUiLCJhc2NpaTg1IiwiYXNjaWlIZXgiLCJjY2l0dGZheCIsImZsYXRlIiwibHp3IiwicnVuTGVuZ3RoIiwibmF0aXZlIiwieGRwIiwibWVyZ2VkWERQIl0pfX1jbGFzcyBVcmkgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInVyaSIpfX1jbGFzcyBjb25maWdfVmFsaWRhdGUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInZhbGlkYXRlIixbInByZVN1Ym1pdCIsInByZVByaW50IiwicHJlRXhlY3V0ZSIsInByZVNhdmUiXSl9fWNsYXNzIFZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwidmFsaWRhdGVBcHByb3ZhbFNpZ25hdHVyZXMiKX1bc3JdKCl7dGhpc1tlcl09dGhpc1tlcl0udHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoKGU9PlsiZG9jUmVhZHkiLCJwb3N0U2lnbiJdLmluY2x1ZGVzKGUpKSl9fWNsYXNzIFZhbGlkYXRpb25NZXNzYWdpbmcgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInZhbGlkYXRpb25NZXNzYWdpbmciLFsiYWxsTWVzc2FnZXNJbmRpdmlkdWFsbHkiLCJhbGxNZXNzYWdlc1RvZ2V0aGVyIiwiZmlyc3RNZXNzYWdlT25seSIsIm5vTWVzc2FnZXMiXSl9fWNsYXNzIFZlcnNpb24gZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sInZlcnNpb24iLFsiMS43IiwiMS42IiwiMS41IiwiMS40IiwiMS4zIiwiMS4yIl0pfX1jbGFzcyBWZXJzaW9uQ29udHJvbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwiVmVyc2lvbkNvbnRyb2wiKTt0aGlzLm91dHB1dEJlbG93PWdldFN0cmluZ09wdGlvbihlLm91dHB1dEJlbG93LFsid2FybiIsImVycm9yIiwidXBkYXRlIl0pO3RoaXMuc291cmNlQWJvdmU9Z2V0U3RyaW5nT3B0aW9uKGUuc291cmNlQWJvdmUsWyJ3YXJuIiwiZXJyb3IiXSk7dGhpcy5zb3VyY2VCZWxvdz1nZXRTdHJpbmdPcHRpb24oZS5zb3VyY2VCZWxvdyxbInVwZGF0ZSIsIm1haW50YWluIl0pfX1jbGFzcyBWaWV3ZXJQcmVmZXJlbmNlcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwidmlld2VyUHJlZmVyZW5jZXMiLCEwKTt0aGlzLkFEQkVfSlNDb25zb2xlPW51bGw7dGhpcy5BREJFX0pTRGVidWdnZXI9bnVsbDt0aGlzLmFkZFZpZXdlclByZWZlcmVuY2VzPW51bGw7dGhpcy5kdXBsZXhPcHRpb249bnVsbDt0aGlzLmVuZm9yY2U9bnVsbDt0aGlzLm51bWJlck9mQ29waWVzPW51bGw7dGhpcy5wYWdlUmFuZ2U9bnVsbDt0aGlzLnBpY2tUcmF5QnlQREZTaXplPW51bGw7dGhpcy5wcmludFNjYWxpbmc9bnVsbH19Y2xhc3MgV2ViQ2xpZW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJ3ZWJDbGllbnQiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lP2UubmFtZS50cmltKCk6IiI7dGhpcy5mb250SW5mbz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIFdoaXRlc3BhY2UgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW4sIndoaXRlc3BhY2UiLFsicHJlc2VydmUiLCJsdHJpbSIsIm5vcm1hbGl6ZSIsInJ0cmltIiwidHJpbSJdKX19Y2xhc3MgV2luZG93IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwid2luZG93Iil9W3NyXSgpe2NvbnN0IGU9dGhpc1tlcl0udHJpbSgpLnNwbGl0KC9ccyosXHMqLywyKS5tYXAoKGU9PnBhcnNlSW50KGUsMTApKSk7aWYoZS5zb21lKChlPT5pc05hTihlKSkpKXRoaXNbZXJdPVswLDBdO2Vsc2V7MT09PWUubGVuZ3RoJiZlLnB1c2goZVswXSk7dGhpc1tlcl09ZX19fWNsYXNzIFhkYyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihxbiwieGRjIiwhMCk7dGhpcy51cmk9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMueHNsPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgWGRwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJ4ZHAiLCEwKTt0aGlzLnBhY2tldHM9bnVsbH19Y2xhc3MgWHNsIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJ4c2wiLCEwKTt0aGlzLmRlYnVnPW51bGw7dGhpcy51cmk9bnVsbH19Y2xhc3MgWnBsIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHFuLCJ6cGwiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lP2UubmFtZS50cmltKCk6IiI7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZmxpcExhYmVsPW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIENvbmZpZ05hbWVzcGFjZXtzdGF0aWNbZ25dKGUsdCl7aWYoQ29uZmlnTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBDb25maWdOYW1lc3BhY2VbZV0odCl9c3RhdGljIGFjcm9iYXQoZSl7cmV0dXJuIG5ldyBBY3JvYmF0KGUpfXN0YXRpYyBhY3JvYmF0NyhlKXtyZXR1cm4gbmV3IEFjcm9iYXQ3KGUpfXN0YXRpYyBBREJFX0pTQ29uc29sZShlKXtyZXR1cm4gbmV3IEFEQkVfSlNDb25zb2xlKGUpfXN0YXRpYyBBREJFX0pTRGVidWdnZXIoZSl7cmV0dXJuIG5ldyBBREJFX0pTRGVidWdnZXIoZSl9c3RhdGljIGFkZFNpbGVudFByaW50KGUpe3JldHVybiBuZXcgQWRkU2lsZW50UHJpbnQoZSl9c3RhdGljIGFkZFZpZXdlclByZWZlcmVuY2VzKGUpe3JldHVybiBuZXcgQWRkVmlld2VyUHJlZmVyZW5jZXMoZSl9c3RhdGljIGFkanVzdERhdGEoZSl7cmV0dXJuIG5ldyBBZGp1c3REYXRhKGUpfXN0YXRpYyBhZG9iZUV4dGVuc2lvbkxldmVsKGUpe3JldHVybiBuZXcgQWRvYmVFeHRlbnNpb25MZXZlbChlKX1zdGF0aWMgYWdlbnQoZSl7cmV0dXJuIG5ldyBBZ2VudChlKX1zdGF0aWMgYWx3YXlzRW1iZWQoZSl7cmV0dXJuIG5ldyBBbHdheXNFbWJlZChlKX1zdGF0aWMgYW1kKGUpe3JldHVybiBuZXcgQW1kKGUpfXN0YXRpYyBhcmVhKGUpe3JldHVybiBuZXcgY29uZmlnX0FyZWEoZSl9c3RhdGljIGF0dHJpYnV0ZXMoZSl7cmV0dXJuIG5ldyBBdHRyaWJ1dGVzKGUpfXN0YXRpYyBhdXRvU2F2ZShlKXtyZXR1cm4gbmV3IEF1dG9TYXZlKGUpfXN0YXRpYyBiYXNlKGUpe3JldHVybiBuZXcgQmFzZShlKX1zdGF0aWMgYmF0Y2hPdXRwdXQoZSl7cmV0dXJuIG5ldyBCYXRjaE91dHB1dChlKX1zdGF0aWMgYmVoYXZpb3JPdmVycmlkZShlKXtyZXR1cm4gbmV3IEJlaGF2aW9yT3ZlcnJpZGUoZSl9c3RhdGljIGNhY2hlKGUpe3JldHVybiBuZXcgQ2FjaGUoZSl9c3RhdGljIGNoYW5nZShlKXtyZXR1cm4gbmV3IENoYW5nZShlKX1zdGF0aWMgY29tbW9uKGUpe3JldHVybiBuZXcgQ29tbW9uKGUpfXN0YXRpYyBjb21wcmVzcyhlKXtyZXR1cm4gbmV3IENvbXByZXNzKGUpfXN0YXRpYyBjb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmUoZSl7cmV0dXJuIG5ldyBDb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmUoZSl9c3RhdGljIGNvbXByZXNzT2JqZWN0U3RyZWFtKGUpe3JldHVybiBuZXcgQ29tcHJlc3NPYmplY3RTdHJlYW0oZSl9c3RhdGljIGNvbXByZXNzaW9uKGUpe3JldHVybiBuZXcgQ29tcHJlc3Npb24oZSl9c3RhdGljIGNvbmZpZyhlKXtyZXR1cm4gbmV3IENvbmZpZyhlKX1zdGF0aWMgY29uZm9ybWFuY2UoZSl7cmV0dXJuIG5ldyBDb25mb3JtYW5jZShlKX1zdGF0aWMgY29udGVudENvcHkoZSl7cmV0dXJuIG5ldyBDb250ZW50Q29weShlKX1zdGF0aWMgY29waWVzKGUpe3JldHVybiBuZXcgQ29waWVzKGUpfXN0YXRpYyBjcmVhdG9yKGUpe3JldHVybiBuZXcgQ3JlYXRvcihlKX1zdGF0aWMgY3VycmVudFBhZ2UoZSl7cmV0dXJuIG5ldyBDdXJyZW50UGFnZShlKX1zdGF0aWMgZGF0YShlKXtyZXR1cm4gbmV3IERhdGEoZSl9c3RhdGljIGRlYnVnKGUpe3JldHVybiBuZXcgRGVidWcoZSl9c3RhdGljIGRlZmF1bHRUeXBlZmFjZShlKXtyZXR1cm4gbmV3IERlZmF1bHRUeXBlZmFjZShlKX1zdGF0aWMgZGVzdGluYXRpb24oZSl7cmV0dXJuIG5ldyBEZXN0aW5hdGlvbihlKX1zdGF0aWMgZG9jdW1lbnRBc3NlbWJseShlKXtyZXR1cm4gbmV3IERvY3VtZW50QXNzZW1ibHkoZSl9c3RhdGljIGRyaXZlcihlKXtyZXR1cm4gbmV3IERyaXZlcihlKX1zdGF0aWMgZHVwbGV4T3B0aW9uKGUpe3JldHVybiBuZXcgRHVwbGV4T3B0aW9uKGUpfXN0YXRpYyBkeW5hbWljUmVuZGVyKGUpe3JldHVybiBuZXcgRHluYW1pY1JlbmRlcihlKX1zdGF0aWMgZW1iZWQoZSl7cmV0dXJuIG5ldyBFbWJlZChlKX1zdGF0aWMgZW5jcnlwdChlKXtyZXR1cm4gbmV3IGNvbmZpZ19FbmNyeXB0KGUpfXN0YXRpYyBlbmNyeXB0aW9uKGUpe3JldHVybiBuZXcgY29uZmlnX0VuY3J5cHRpb24oZSl9c3RhdGljIGVuY3J5cHRpb25MZXZlbChlKXtyZXR1cm4gbmV3IEVuY3J5cHRpb25MZXZlbChlKX1zdGF0aWMgZW5mb3JjZShlKXtyZXR1cm4gbmV3IEVuZm9yY2UoZSl9c3RhdGljIGVxdWF0ZShlKXtyZXR1cm4gbmV3IEVxdWF0ZShlKX1zdGF0aWMgZXF1YXRlUmFuZ2UoZSl7cmV0dXJuIG5ldyBFcXVhdGVSYW5nZShlKX1zdGF0aWMgZXhjbHVkZShlKXtyZXR1cm4gbmV3IEV4Y2x1ZGUoZSl9c3RhdGljIGV4Y2x1ZGVOUyhlKXtyZXR1cm4gbmV3IEV4Y2x1ZGVOUyhlKX1zdGF0aWMgZmxpcExhYmVsKGUpe3JldHVybiBuZXcgRmxpcExhYmVsKGUpfXN0YXRpYyBmb250SW5mbyhlKXtyZXR1cm4gbmV3IGNvbmZpZ19Gb250SW5mbyhlKX1zdGF0aWMgZm9ybUZpZWxkRmlsbGluZyhlKXtyZXR1cm4gbmV3IEZvcm1GaWVsZEZpbGxpbmcoZSl9c3RhdGljIGdyb3VwUGFyZW50KGUpe3JldHVybiBuZXcgR3JvdXBQYXJlbnQoZSl9c3RhdGljIGlmRW1wdHkoZSl7cmV0dXJuIG5ldyBJZkVtcHR5KGUpfXN0YXRpYyBpbmNsdWRlWERQQ29udGVudChlKXtyZXR1cm4gbmV3IEluY2x1ZGVYRFBDb250ZW50KGUpfXN0YXRpYyBpbmNyZW1lbnRhbExvYWQoZSl7cmV0dXJuIG5ldyBJbmNyZW1lbnRhbExvYWQoZSl9c3RhdGljIGluY3JlbWVudGFsTWVyZ2UoZSl7cmV0dXJuIG5ldyBJbmNyZW1lbnRhbE1lcmdlKGUpfXN0YXRpYyBpbnRlcmFjdGl2ZShlKXtyZXR1cm4gbmV3IEludGVyYWN0aXZlKGUpfXN0YXRpYyBqb2coZSl7cmV0dXJuIG5ldyBKb2coZSl9c3RhdGljIGxhYmVsUHJpbnRlcihlKXtyZXR1cm4gbmV3IExhYmVsUHJpbnRlcihlKX1zdGF0aWMgbGF5b3V0KGUpe3JldHVybiBuZXcgTGF5b3V0KGUpfXN0YXRpYyBsZXZlbChlKXtyZXR1cm4gbmV3IExldmVsKGUpfXN0YXRpYyBsaW5lYXJpemVkKGUpe3JldHVybiBuZXcgTGluZWFyaXplZChlKX1zdGF0aWMgbG9jYWxlKGUpe3JldHVybiBuZXcgTG9jYWxlKGUpfXN0YXRpYyBsb2NhbGVTZXQoZSl7cmV0dXJuIG5ldyBMb2NhbGVTZXQoZSl9c3RhdGljIGxvZyhlKXtyZXR1cm4gbmV3IExvZyhlKX1zdGF0aWMgbWFwKGUpe3JldHVybiBuZXcgTWFwRWxlbWVudChlKX1zdGF0aWMgbWVkaXVtSW5mbyhlKXtyZXR1cm4gbmV3IE1lZGl1bUluZm8oZSl9c3RhdGljIG1lc3NhZ2UoZSl7cmV0dXJuIG5ldyBjb25maWdfTWVzc2FnZShlKX1zdGF0aWMgbWVzc2FnaW5nKGUpe3JldHVybiBuZXcgTWVzc2FnaW5nKGUpfXN0YXRpYyBtb2RlKGUpe3JldHVybiBuZXcgTW9kZShlKX1zdGF0aWMgbW9kaWZ5QW5ub3RzKGUpe3JldHVybiBuZXcgTW9kaWZ5QW5ub3RzKGUpfXN0YXRpYyBtc2dJZChlKXtyZXR1cm4gbmV3IE1zZ0lkKGUpfXN0YXRpYyBuYW1lQXR0cihlKXtyZXR1cm4gbmV3IE5hbWVBdHRyKGUpfXN0YXRpYyBuZXZlckVtYmVkKGUpe3JldHVybiBuZXcgTmV2ZXJFbWJlZChlKX1zdGF0aWMgbnVtYmVyT2ZDb3BpZXMoZSl7cmV0dXJuIG5ldyBOdW1iZXJPZkNvcGllcyhlKX1zdGF0aWMgb3BlbkFjdGlvbihlKXtyZXR1cm4gbmV3IE9wZW5BY3Rpb24oZSl9c3RhdGljIG91dHB1dChlKXtyZXR1cm4gbmV3IE91dHB1dChlKX1zdGF0aWMgb3V0cHV0QmluKGUpe3JldHVybiBuZXcgT3V0cHV0QmluKGUpfXN0YXRpYyBvdXRwdXRYU0woZSl7cmV0dXJuIG5ldyBPdXRwdXRYU0woZSl9c3RhdGljIG92ZXJwcmludChlKXtyZXR1cm4gbmV3IE92ZXJwcmludChlKX1zdGF0aWMgcGFja2V0cyhlKXtyZXR1cm4gbmV3IFBhY2tldHMoZSl9c3RhdGljIHBhZ2VPZmZzZXQoZSl7cmV0dXJuIG5ldyBQYWdlT2Zmc2V0KGUpfXN0YXRpYyBwYWdlUmFuZ2UoZSl7cmV0dXJuIG5ldyBQYWdlUmFuZ2UoZSl9c3RhdGljIHBhZ2luYXRpb24oZSl7cmV0dXJuIG5ldyBQYWdpbmF0aW9uKGUpfXN0YXRpYyBwYWdpbmF0aW9uT3ZlcnJpZGUoZSl7cmV0dXJuIG5ldyBQYWdpbmF0aW9uT3ZlcnJpZGUoZSl9c3RhdGljIHBhcnQoZSl7cmV0dXJuIG5ldyBQYXJ0KGUpfXN0YXRpYyBwY2woZSl7cmV0dXJuIG5ldyBQY2woZSl9c3RhdGljIHBkZihlKXtyZXR1cm4gbmV3IFBkZihlKX1zdGF0aWMgcGRmYShlKXtyZXR1cm4gbmV3IFBkZmEoZSl9c3RhdGljIHBlcm1pc3Npb25zKGUpe3JldHVybiBuZXcgUGVybWlzc2lvbnMoZSl9c3RhdGljIHBpY2tUcmF5QnlQREZTaXplKGUpe3JldHVybiBuZXcgUGlja1RyYXlCeVBERlNpemUoZSl9c3RhdGljIHBpY3R1cmUoZSl7cmV0dXJuIG5ldyBjb25maWdfUGljdHVyZShlKX1zdGF0aWMgcGxhaW50ZXh0TWV0YWRhdGEoZSl7cmV0dXJuIG5ldyBQbGFpbnRleHRNZXRhZGF0YShlKX1zdGF0aWMgcHJlc2VuY2UoZSl7cmV0dXJuIG5ldyBQcmVzZW5jZShlKX1zdGF0aWMgcHJlc2VudChlKXtyZXR1cm4gbmV3IFByZXNlbnQoZSl9c3RhdGljIHByaW50KGUpe3JldHVybiBuZXcgUHJpbnQoZSl9c3RhdGljIHByaW50SGlnaFF1YWxpdHkoZSl7cmV0dXJuIG5ldyBQcmludEhpZ2hRdWFsaXR5KGUpfXN0YXRpYyBwcmludFNjYWxpbmcoZSl7cmV0dXJuIG5ldyBQcmludFNjYWxpbmcoZSl9c3RhdGljIHByaW50ZXJOYW1lKGUpe3JldHVybiBuZXcgUHJpbnRlck5hbWUoZSl9c3RhdGljIHByb2R1Y2VyKGUpe3JldHVybiBuZXcgUHJvZHVjZXIoZSl9c3RhdGljIHBzKGUpe3JldHVybiBuZXcgUHMoZSl9c3RhdGljIHJhbmdlKGUpe3JldHVybiBuZXcgUmFuZ2UoZSl9c3RhdGljIHJlY29yZChlKXtyZXR1cm4gbmV3IFJlY29yZChlKX1zdGF0aWMgcmVsZXZhbnQoZSl7cmV0dXJuIG5ldyBSZWxldmFudChlKX1zdGF0aWMgcmVuYW1lKGUpe3JldHVybiBuZXcgUmVuYW1lKGUpfXN0YXRpYyByZW5kZXJQb2xpY3koZSl7cmV0dXJuIG5ldyBSZW5kZXJQb2xpY3koZSl9c3RhdGljIHJ1blNjcmlwdHMoZSl7cmV0dXJuIG5ldyBSdW5TY3JpcHRzKGUpfXN0YXRpYyBzY3JpcHQoZSl7cmV0dXJuIG5ldyBjb25maWdfU2NyaXB0KGUpfXN0YXRpYyBzY3JpcHRNb2RlbChlKXtyZXR1cm4gbmV3IFNjcmlwdE1vZGVsKGUpfXN0YXRpYyBzZXZlcml0eShlKXtyZXR1cm4gbmV3IFNldmVyaXR5KGUpfXN0YXRpYyBzaWxlbnRQcmludChlKXtyZXR1cm4gbmV3IFNpbGVudFByaW50KGUpfXN0YXRpYyBzdGFwbGUoZSl7cmV0dXJuIG5ldyBTdGFwbGUoZSl9c3RhdGljIHN0YXJ0Tm9kZShlKXtyZXR1cm4gbmV3IFN0YXJ0Tm9kZShlKX1zdGF0aWMgc3RhcnRQYWdlKGUpe3JldHVybiBuZXcgU3RhcnRQYWdlKGUpfXN0YXRpYyBzdWJtaXRGb3JtYXQoZSl7cmV0dXJuIG5ldyBTdWJtaXRGb3JtYXQoZSl9c3RhdGljIHN1Ym1pdFVybChlKXtyZXR1cm4gbmV3IFN1Ym1pdFVybChlKX1zdGF0aWMgc3Vic2V0QmVsb3coZSl7cmV0dXJuIG5ldyBTdWJzZXRCZWxvdyhlKX1zdGF0aWMgc3VwcHJlc3NCYW5uZXIoZSl7cmV0dXJuIG5ldyBTdXBwcmVzc0Jhbm5lcihlKX1zdGF0aWMgdGFnZ2VkKGUpe3JldHVybiBuZXcgVGFnZ2VkKGUpfXN0YXRpYyB0ZW1wbGF0ZShlKXtyZXR1cm4gbmV3IGNvbmZpZ19UZW1wbGF0ZShlKX1zdGF0aWMgdGVtcGxhdGVDYWNoZShlKXtyZXR1cm4gbmV3IFRlbXBsYXRlQ2FjaGUoZSl9c3RhdGljIHRocmVzaG9sZChlKXtyZXR1cm4gbmV3IFRocmVzaG9sZChlKX1zdGF0aWMgdG8oZSl7cmV0dXJuIG5ldyBUbyhlKX1zdGF0aWMgdHJhY2UoZSl7cmV0dXJuIG5ldyBUcmFjZShlKX1zdGF0aWMgdHJhbnNmb3JtKGUpe3JldHVybiBuZXcgVHJhbnNmb3JtKGUpfXN0YXRpYyB0eXBlKGUpe3JldHVybiBuZXcgVHlwZShlKX1zdGF0aWMgdXJpKGUpe3JldHVybiBuZXcgVXJpKGUpfXN0YXRpYyB2YWxpZGF0ZShlKXtyZXR1cm4gbmV3IGNvbmZpZ19WYWxpZGF0ZShlKX1zdGF0aWMgdmFsaWRhdGVBcHByb3ZhbFNpZ25hdHVyZXMoZSl7cmV0dXJuIG5ldyBWYWxpZGF0ZUFwcHJvdmFsU2lnbmF0dXJlcyhlKX1zdGF0aWMgdmFsaWRhdGlvbk1lc3NhZ2luZyhlKXtyZXR1cm4gbmV3IFZhbGlkYXRpb25NZXNzYWdpbmcoZSl9c3RhdGljIHZlcnNpb24oZSl7cmV0dXJuIG5ldyBWZXJzaW9uKGUpfXN0YXRpYyB2ZXJzaW9uQ29udHJvbChlKXtyZXR1cm4gbmV3IFZlcnNpb25Db250cm9sKGUpfXN0YXRpYyB2aWV3ZXJQcmVmZXJlbmNlcyhlKXtyZXR1cm4gbmV3IFZpZXdlclByZWZlcmVuY2VzKGUpfXN0YXRpYyB3ZWJDbGllbnQoZSl7cmV0dXJuIG5ldyBXZWJDbGllbnQoZSl9c3RhdGljIHdoaXRlc3BhY2UoZSl7cmV0dXJuIG5ldyBXaGl0ZXNwYWNlKGUpfXN0YXRpYyB3aW5kb3coZSl7cmV0dXJuIG5ldyBXaW5kb3coZSl9c3RhdGljIHhkYyhlKXtyZXR1cm4gbmV3IFhkYyhlKX1zdGF0aWMgeGRwKGUpe3JldHVybiBuZXcgWGRwKGUpfXN0YXRpYyB4c2woZSl7cmV0dXJuIG5ldyBYc2woZSl9c3RhdGljIHpwbChlKXtyZXR1cm4gbmV3IFpwbChlKX19Y29uc3QgT249b24uY29ubmVjdGlvblNldC5pZDtjbGFzcyBDb25uZWN0aW9uU2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE9uLCJjb25uZWN0aW9uU2V0IiwhMCk7dGhpcy53c2RsQ29ubmVjdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy54bWxDb25uZWN0aW9uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnhzZENvbm5lY3Rpb249bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFZmZlY3RpdmVJbnB1dFBvbGljeSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihPbiwiZWZmZWN0aXZlSW5wdXRQb2xpY3kiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgRWZmZWN0aXZlT3V0cHV0UG9saWN5IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE9uLCJlZmZlY3RpdmVPdXRwdXRQb2xpY3kiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgT3BlcmF0aW9uIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE9uLCJvcGVyYXRpb24iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW5wdXQ9ZS5pbnB1dHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5vdXRwdXQ9ZS5vdXRwdXR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgUm9vdEVsZW1lbnQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoT24sInJvb3RFbGVtZW50Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFNvYXBBY3Rpb24gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoT24sInNvYXBBY3Rpb24iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgU29hcEFkZHJlc3MgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoT24sInNvYXBBZGRyZXNzIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIGNvbm5lY3Rpb25fc2V0X1VyaSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihPbiwidXJpIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFdzZGxBZGRyZXNzIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE9uLCJ3c2RsQWRkcmVzcyIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBXc2RsQ29ubmVjdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihPbiwid3NkbENvbm5lY3Rpb24iLCEwKTt0aGlzLmRhdGFEZXNjcmlwdGlvbj1lLmRhdGFEZXNjcmlwdGlvbnx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5lZmZlY3RpdmVJbnB1dFBvbGljeT1udWxsO3RoaXMuZWZmZWN0aXZlT3V0cHV0UG9saWN5PW51bGw7dGhpcy5vcGVyYXRpb249bnVsbDt0aGlzLnNvYXBBY3Rpb249bnVsbDt0aGlzLnNvYXBBZGRyZXNzPW51bGw7dGhpcy53c2RsQWRkcmVzcz1udWxsfX1jbGFzcyBYbWxDb25uZWN0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE9uLCJ4bWxDb25uZWN0aW9uIiwhMCk7dGhpcy5kYXRhRGVzY3JpcHRpb249ZS5kYXRhRGVzY3JpcHRpb258fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXJpPW51bGx9fWNsYXNzIFhzZENvbm5lY3Rpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoT24sInhzZENvbm5lY3Rpb24iLCEwKTt0aGlzLmRhdGFEZXNjcmlwdGlvbj1lLmRhdGFEZXNjcmlwdGlvbnx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yb290RWxlbWVudD1udWxsO3RoaXMudXJpPW51bGx9fWNsYXNzIENvbm5lY3Rpb25TZXROYW1lc3BhY2V7c3RhdGljW2duXShlLHQpe2lmKENvbm5lY3Rpb25TZXROYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIENvbm5lY3Rpb25TZXROYW1lc3BhY2VbZV0odCl9c3RhdGljIGNvbm5lY3Rpb25TZXQoZSl7cmV0dXJuIG5ldyBDb25uZWN0aW9uU2V0KGUpfXN0YXRpYyBlZmZlY3RpdmVJbnB1dFBvbGljeShlKXtyZXR1cm4gbmV3IEVmZmVjdGl2ZUlucHV0UG9saWN5KGUpfXN0YXRpYyBlZmZlY3RpdmVPdXRwdXRQb2xpY3koZSl7cmV0dXJuIG5ldyBFZmZlY3RpdmVPdXRwdXRQb2xpY3koZSl9c3RhdGljIG9wZXJhdGlvbihlKXtyZXR1cm4gbmV3IE9wZXJhdGlvbihlKX1zdGF0aWMgcm9vdEVsZW1lbnQoZSl7cmV0dXJuIG5ldyBSb290RWxlbWVudChlKX1zdGF0aWMgc29hcEFjdGlvbihlKXtyZXR1cm4gbmV3IFNvYXBBY3Rpb24oZSl9c3RhdGljIHNvYXBBZGRyZXNzKGUpe3JldHVybiBuZXcgU29hcEFkZHJlc3MoZSl9c3RhdGljIHVyaShlKXtyZXR1cm4gbmV3IGNvbm5lY3Rpb25fc2V0X1VyaShlKX1zdGF0aWMgd3NkbEFkZHJlc3MoZSl7cmV0dXJuIG5ldyBXc2RsQWRkcmVzcyhlKX1zdGF0aWMgd3NkbENvbm5lY3Rpb24oZSl7cmV0dXJuIG5ldyBXc2RsQ29ubmVjdGlvbihlKX1zdGF0aWMgeG1sQ29ubmVjdGlvbihlKXtyZXR1cm4gbmV3IFhtbENvbm5lY3Rpb24oZSl9c3RhdGljIHhzZENvbm5lY3Rpb24oZSl7cmV0dXJuIG5ldyBYc2RDb25uZWN0aW9uKGUpfX1jb25zdCBQbj1vbi5kYXRhc2V0cy5pZDtjbGFzcyBkYXRhc2V0c19EYXRhIGV4dGVuZHMgWG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBuLCJkYXRhIixlKX1bR3JdKCl7cmV0dXJuITB9fWNsYXNzIERhdGFzZXRzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBuLCJkYXRhc2V0cyIsITApO3RoaXMuZGF0YT1udWxsO3RoaXMuU2lnbmF0dXJlPW51bGx9W1RyXShlKXtjb25zdCB0PWVbWXJdOygiZGF0YSI9PT10JiZlW0pyXT09PVBufHwiU2lnbmF0dXJlIj09PXQmJmVbSnJdPT09b24uc2lnbmF0dXJlLmlkKSYmKHRoaXNbdF09ZSk7dGhpc1tqc10oZSl9fWNsYXNzIERhdGFzZXRzTmFtZXNwYWNle3N0YXRpY1tnbl0oZSx0KXtpZihEYXRhc2V0c05hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gRGF0YXNldHNOYW1lc3BhY2VbZV0odCl9c3RhdGljIGRhdGFzZXRzKGUpe3JldHVybiBuZXcgRGF0YXNldHMoZSl9c3RhdGljIGRhdGEoZSl7cmV0dXJuIG5ldyBkYXRhc2V0c19EYXRhKGUpfX1jb25zdCBXbj1vbi5sb2NhbGVTZXQuaWQ7Y2xhc3MgQ2FsZW5kYXJTeW1ib2xzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJjYWxlbmRhclN5bWJvbHMiLCEwKTt0aGlzLm5hbWU9ImdyZWdvcmlhbiI7dGhpcy5kYXlOYW1lcz1uZXcgWEZBT2JqZWN0QXJyYXkoMik7dGhpcy5lcmFOYW1lcz1udWxsO3RoaXMubWVyaWRpZW1OYW1lcz1udWxsO3RoaXMubW9udGhOYW1lcz1uZXcgWEZBT2JqZWN0QXJyYXkoMil9fWNsYXNzIEN1cnJlbmN5U3ltYm9sIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJjdXJyZW5jeVN5bWJvbCIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsic3ltYm9sIiwiaXNvbmFtZSIsImRlY2ltYWwiXSl9fWNsYXNzIEN1cnJlbmN5U3ltYm9scyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiY3VycmVuY3lTeW1ib2xzIiwhMCk7dGhpcy5jdXJyZW5jeVN5bWJvbD1uZXcgWEZBT2JqZWN0QXJyYXkoMyl9fWNsYXNzIERhdGVQYXR0ZXJuIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJkYXRlUGF0dGVybiIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiZnVsbCIsImxvbmciLCJtZWQiLCJzaG9ydCJdKX19Y2xhc3MgRGF0ZVBhdHRlcm5zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJkYXRlUGF0dGVybnMiLCEwKTt0aGlzLmRhdGVQYXR0ZXJuPW5ldyBYRkFPYmplY3RBcnJheSg0KX19Y2xhc3MgRGF0ZVRpbWVTeW1ib2xzIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiZGF0ZVRpbWVTeW1ib2xzIil9fWNsYXNzIERheSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiZGF5Iil9fWNsYXNzIERheU5hbWVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJkYXlOYW1lcyIsITApO3RoaXMuYWJicj1nZXRJbnRlZ2VyKHtkYXRhOmUuYWJicixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuZGF5PW5ldyBYRkFPYmplY3RBcnJheSg3KX19Y2xhc3MgRXJhIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJlcmEiKX19Y2xhc3MgRXJhTmFtZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImVyYU5hbWVzIiwhMCk7dGhpcy5lcmE9bmV3IFhGQU9iamVjdEFycmF5KDIpfX1jbGFzcyBsb2NhbGVfc2V0X0xvY2FsZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibG9jYWxlIiwhMCk7dGhpcy5kZXNjPWUuZGVzY3x8IiI7dGhpcy5uYW1lPSJpc29uYW1lIjt0aGlzLmNhbGVuZGFyU3ltYm9scz1udWxsO3RoaXMuY3VycmVuY3lTeW1ib2xzPW51bGw7dGhpcy5kYXRlUGF0dGVybnM9bnVsbDt0aGlzLmRhdGVUaW1lU3ltYm9scz1udWxsO3RoaXMubnVtYmVyUGF0dGVybnM9bnVsbDt0aGlzLm51bWJlclN5bWJvbHM9bnVsbDt0aGlzLnRpbWVQYXR0ZXJucz1udWxsO3RoaXMudHlwZUZhY2VzPW51bGx9fWNsYXNzIGxvY2FsZV9zZXRfTG9jYWxlU2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJsb2NhbGVTZXQiLCEwKTt0aGlzLmxvY2FsZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1lcmlkaWVtIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJtZXJpZGllbSIpfX1jbGFzcyBNZXJpZGllbU5hbWVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJtZXJpZGllbU5hbWVzIiwhMCk7dGhpcy5tZXJpZGllbT1uZXcgWEZBT2JqZWN0QXJyYXkoMil9fWNsYXNzIE1vbnRoIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJtb250aCIpfX1jbGFzcyBNb250aE5hbWVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJtb250aE5hbWVzIiwhMCk7dGhpcy5hYmJyPWdldEludGVnZXIoe2RhdGE6ZS5hYmJyLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5tb250aD1uZXcgWEZBT2JqZWN0QXJyYXkoMTIpfX1jbGFzcyBOdW1iZXJQYXR0ZXJuIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJudW1iZXJQYXR0ZXJuIik7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyJmdWxsIiwibG9uZyIsIm1lZCIsInNob3J0Il0pfX1jbGFzcyBOdW1iZXJQYXR0ZXJucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibnVtYmVyUGF0dGVybnMiLCEwKTt0aGlzLm51bWJlclBhdHRlcm49bmV3IFhGQU9iamVjdEFycmF5KDQpfX1jbGFzcyBOdW1iZXJTeW1ib2wgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sIm51bWJlclN5bWJvbCIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiZGVjaW1hbCIsImdyb3VwaW5nIiwicGVyY2VudCIsIm1pbnVzIiwiemVybyJdKX19Y2xhc3MgTnVtYmVyU3ltYm9scyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibnVtYmVyU3ltYm9scyIsITApO3RoaXMubnVtYmVyU3ltYm9sPW5ldyBYRkFPYmplY3RBcnJheSg1KX19Y2xhc3MgVGltZVBhdHRlcm4gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInRpbWVQYXR0ZXJuIik7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyJmdWxsIiwibG9uZyIsIm1lZCIsInNob3J0Il0pfX1jbGFzcyBUaW1lUGF0dGVybnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInRpbWVQYXR0ZXJucyIsITApO3RoaXMudGltZVBhdHRlcm49bmV3IFhGQU9iamVjdEFycmF5KDQpfX1jbGFzcyBUeXBlRmFjZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwidHlwZUZhY2UiLCEwKTt0aGlzLm5hbWU9IiJ8ZS5uYW1lfX1jbGFzcyBUeXBlRmFjZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInR5cGVGYWNlcyIsITApO3RoaXMudHlwZUZhY2U9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBMb2NhbGVTZXROYW1lc3BhY2V7c3RhdGljW2duXShlLHQpe2lmKExvY2FsZVNldE5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gTG9jYWxlU2V0TmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBjYWxlbmRhclN5bWJvbHMoZSl7cmV0dXJuIG5ldyBDYWxlbmRhclN5bWJvbHMoZSl9c3RhdGljIGN1cnJlbmN5U3ltYm9sKGUpe3JldHVybiBuZXcgQ3VycmVuY3lTeW1ib2woZSl9c3RhdGljIGN1cnJlbmN5U3ltYm9scyhlKXtyZXR1cm4gbmV3IEN1cnJlbmN5U3ltYm9scyhlKX1zdGF0aWMgZGF0ZVBhdHRlcm4oZSl7cmV0dXJuIG5ldyBEYXRlUGF0dGVybihlKX1zdGF0aWMgZGF0ZVBhdHRlcm5zKGUpe3JldHVybiBuZXcgRGF0ZVBhdHRlcm5zKGUpfXN0YXRpYyBkYXRlVGltZVN5bWJvbHMoZSl7cmV0dXJuIG5ldyBEYXRlVGltZVN5bWJvbHMoZSl9c3RhdGljIGRheShlKXtyZXR1cm4gbmV3IERheShlKX1zdGF0aWMgZGF5TmFtZXMoZSl7cmV0dXJuIG5ldyBEYXlOYW1lcyhlKX1zdGF0aWMgZXJhKGUpe3JldHVybiBuZXcgRXJhKGUpfXN0YXRpYyBlcmFOYW1lcyhlKXtyZXR1cm4gbmV3IEVyYU5hbWVzKGUpfXN0YXRpYyBsb2NhbGUoZSl7cmV0dXJuIG5ldyBsb2NhbGVfc2V0X0xvY2FsZShlKX1zdGF0aWMgbG9jYWxlU2V0KGUpe3JldHVybiBuZXcgbG9jYWxlX3NldF9Mb2NhbGVTZXQoZSl9c3RhdGljIG1lcmlkaWVtKGUpe3JldHVybiBuZXcgTWVyaWRpZW0oZSl9c3RhdGljIG1lcmlkaWVtTmFtZXMoZSl7cmV0dXJuIG5ldyBNZXJpZGllbU5hbWVzKGUpfXN0YXRpYyBtb250aChlKXtyZXR1cm4gbmV3IE1vbnRoKGUpfXN0YXRpYyBtb250aE5hbWVzKGUpe3JldHVybiBuZXcgTW9udGhOYW1lcyhlKX1zdGF0aWMgbnVtYmVyUGF0dGVybihlKXtyZXR1cm4gbmV3IE51bWJlclBhdHRlcm4oZSl9c3RhdGljIG51bWJlclBhdHRlcm5zKGUpe3JldHVybiBuZXcgTnVtYmVyUGF0dGVybnMoZSl9c3RhdGljIG51bWJlclN5bWJvbChlKXtyZXR1cm4gbmV3IE51bWJlclN5bWJvbChlKX1zdGF0aWMgbnVtYmVyU3ltYm9scyhlKXtyZXR1cm4gbmV3IE51bWJlclN5bWJvbHMoZSl9c3RhdGljIHRpbWVQYXR0ZXJuKGUpe3JldHVybiBuZXcgVGltZVBhdHRlcm4oZSl9c3RhdGljIHRpbWVQYXR0ZXJucyhlKXtyZXR1cm4gbmV3IFRpbWVQYXR0ZXJucyhlKX1zdGF0aWMgdHlwZUZhY2UoZSl7cmV0dXJuIG5ldyBUeXBlRmFjZShlKX1zdGF0aWMgdHlwZUZhY2VzKGUpe3JldHVybiBuZXcgVHlwZUZhY2VzKGUpfX1jb25zdCBYbj1vbi5zaWduYXR1cmUuaWQ7Y2xhc3Mgc2lnbmF0dXJlX1NpZ25hdHVyZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwic2lnbmF0dXJlIiwhMCl9fWNsYXNzIFNpZ25hdHVyZU5hbWVzcGFjZXtzdGF0aWNbZ25dKGUsdCl7aWYoU2lnbmF0dXJlTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBTaWduYXR1cmVOYW1lc3BhY2VbZV0odCl9c3RhdGljIHNpZ25hdHVyZShlKXtyZXR1cm4gbmV3IHNpZ25hdHVyZV9TaWduYXR1cmUoZSl9fWNvbnN0IGpuPW9uLnN0eWxlc2hlZXQuaWQ7Y2xhc3MgU3R5bGVzaGVldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic3R5bGVzaGVldCIsITApfX1jbGFzcyBTdHlsZXNoZWV0TmFtZXNwYWNle3N0YXRpY1tnbl0oZSx0KXtpZihTdHlsZXNoZWV0TmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBTdHlsZXNoZWV0TmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBzdHlsZXNoZWV0KGUpe3JldHVybiBuZXcgU3R5bGVzaGVldChlKX19Y29uc3QgWm49b24ueGRwLmlkO2NsYXNzIHhkcF9YZHAgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sInhkcCIsITApO3RoaXMudXVpZD1lLnV1aWR8fCIiO3RoaXMudGltZVN0YW1wPWUudGltZVN0YW1wfHwiIjt0aGlzLmNvbmZpZz1udWxsO3RoaXMuY29ubmVjdGlvblNldD1udWxsO3RoaXMuZGF0YXNldHM9bnVsbDt0aGlzLmxvY2FsZVNldD1udWxsO3RoaXMuc3R5bGVzaGVldD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZW1wbGF0ZT1udWxsfVtLcl0oZSl7Y29uc3QgdD1vbltlW1lyXV07cmV0dXJuIHQmJmVbSnJdPT09dC5pZH19Y2xhc3MgWGRwTmFtZXNwYWNle3N0YXRpY1tnbl0oZSx0KXtpZihYZHBOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIFhkcE5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgeGRwKGUpe3JldHVybiBuZXcgeGRwX1hkcChlKX19Y29uc3QgVm49b24ueGh0bWwuaWQsem49U3ltYm9sKCksX249bmV3IFNldChbImNvbG9yIiwiZm9udCIsImZvbnQtZmFtaWx5IiwiZm9udC1zaXplIiwiZm9udC1zdHJldGNoIiwiZm9udC1zdHlsZSIsImZvbnQtd2VpZ2h0IiwibWFyZ2luIiwibWFyZ2luLWJvdHRvbSIsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXRvcCIsImxldHRlci1zcGFjaW5nIiwibGluZS1oZWlnaHQiLCJvcnBoYW5zIiwicGFnZS1icmVhay1hZnRlciIsInBhZ2UtYnJlYWstYmVmb3JlIiwicGFnZS1icmVhay1pbnNpZGUiLCJ0YWItaW50ZXJ2YWwiLCJ0YWItc3RvcCIsInRleHQtYWxpZ24iLCJ0ZXh0LWRlY29yYXRpb24iLCJ0ZXh0LWluZGVudCIsInZlcnRpY2FsLWFsaWduIiwid2lkb3dzIiwia2VybmluZy1tb2RlIiwieGZhLWZvbnQtaG9yaXpvbnRhbC1zY2FsZSIsInhmYS1mb250LXZlcnRpY2FsLXNjYWxlIiwieGZhLXNwYWNlcnVuIiwieGZhLXRhYi1zdG9wcyJdKSwkbj1uZXcgTWFwKFtbInBhZ2UtYnJlYWstYWZ0ZXIiLCJicmVha0FmdGVyIl0sWyJwYWdlLWJyZWFrLWJlZm9yZSIsImJyZWFrQmVmb3JlIl0sWyJwYWdlLWJyZWFrLWluc2lkZSIsImJyZWFrSW5zaWRlIl0sWyJrZXJuaW5nLW1vZGUiLGU9PiJub25lIj09PWU/Im5vbmUiOiJub3JtYWwiXSxbInhmYS1mb250LWhvcml6b250YWwtc2NhbGUiLGU9PmBzY2FsZVgoJHtNYXRoLm1heCgwLE1hdGgubWluKHBhcnNlSW50KGUpLzEwMCkpLnRvRml4ZWQoMil9KWBdLFsieGZhLWZvbnQtdmVydGljYWwtc2NhbGUiLGU9PmBzY2FsZVkoJHtNYXRoLm1heCgwLE1hdGgubWluKHBhcnNlSW50KGUpLzEwMCkpLnRvRml4ZWQoMil9KWBdLFsieGZhLXNwYWNlcnVuIiwiIl0sWyJ4ZmEtdGFiLXN0b3BzIiwiIl0sWyJmb250LXNpemUiLChlLHQpPT5tZWFzdXJlVG9TdHJpbmcoLjk5KihlPXQuZm9udFNpemU9Z2V0TWVhc3VyZW1lbnQoZSkpKV0sWyJsZXR0ZXItc3BhY2luZyIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJsaW5lLWhlaWdodCIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJtYXJnaW4iLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibWFyZ2luLWJvdHRvbSIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJtYXJnaW4tbGVmdCIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJtYXJnaW4tcmlnaHQiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibWFyZ2luLXRvcCIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJ0ZXh0LWluZGVudCIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJmb250LWZhbWlseSIsZT0+ZV0sWyJ2ZXJ0aWNhbC1hbGlnbiIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV1dKSxBZz0vXHMrL2csZWc9L1tcclxuXSsvZyx0Zz0vXHJcbj8vZztmdW5jdGlvbiBtYXBTdHlsZShlLHQsaSl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCFlKXJldHVybiBhO2NvbnN0IHM9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IoY29uc3RbdCxpXW9mIGUuc3BsaXQoIjsiKS5tYXAoKGU9PmUuc3BsaXQoIjoiLDIpKSkpe2NvbnN0IGU9JG4uZ2V0KHQpO2lmKCIiPT09ZSljb250aW51ZTtsZXQgcj1pO2UmJihyPSJzdHJpbmciPT10eXBlb2YgZT9lOmUoaSxzKSk7dC5lbmRzV2l0aCgic2NhbGUiKT9hLnRyYW5zZm9ybT1hLnRyYW5zZm9ybT9gJHthW3RdfSAke3J9YDpyOmFbdC5yZXBsYWNlQWxsKC8tKFthLXpBLVpdKS9nLCgoZSx0KT0+dC50b1VwcGVyQ2FzZSgpKSldPXJ9YS5mb250RmFtaWx5JiZzZXRGb250RmFtaWx5KHt0eXBlZmFjZTphLmZvbnRGYW1pbHksd2VpZ2h0OmEuZm9udFdlaWdodHx8Im5vcm1hbCIscG9zdHVyZTphLmZvbnRTdHlsZXx8Im5vcm1hbCIsc2l6ZTpzLmZvbnRTaXplfHwwfSx0LHRbeXJdLmZvbnRGaW5kZXIsYSk7aWYoaSYmYS52ZXJ0aWNhbEFsaWduJiYiMHB4IiE9PWEudmVydGljYWxBbGlnbiYmYS5mb250U2l6ZSl7Y29uc3QgZT0uNTgzLHQ9LjMzMyxpPWdldE1lYXN1cmVtZW50KGEuZm9udFNpemUpO2EuZm9udFNpemU9bWVhc3VyZVRvU3RyaW5nKGkqZSk7YS52ZXJ0aWNhbEFsaWduPW1lYXN1cmVUb1N0cmluZyhNYXRoLnNpZ24oZ2V0TWVhc3VyZW1lbnQoYS52ZXJ0aWNhbEFsaWduKSkqaSp0KX1pJiZhLmZvbnRTaXplJiYoYS5mb250U2l6ZT1gY2FsYygke2EuZm9udFNpemV9ICogdmFyKC0tc2NhbGUtZmFjdG9yKSlgKTtmaXhUZXh0SW5kZW50KGEpO3JldHVybiBhfWNvbnN0IGlnPW5ldyBTZXQoWyJib2R5IiwiaHRtbCJdKTtjbGFzcyBYaHRtbE9iamVjdCBleHRlbmRzIFhtbE9iamVjdHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKFZuLHQpO3RoaXNbem5dPSExO3RoaXMuc3R5bGU9ZS5zdHlsZXx8IiJ9W1ZzXShlKXtzdXBlcltWc10oZSk7dGhpcy5zdHlsZT1mdW5jdGlvbiBjaGVja1N0eWxlKGUpe3JldHVybiBlLnN0eWxlP2Uuc3R5bGUudHJpbSgpLnNwbGl0KC9ccyo7XHMqLykuZmlsdGVyKChlPT4hIWUpKS5tYXAoKGU9PmUuc3BsaXQoL1xzKjpccyovLDIpKSkuZmlsdGVyKCgoW3QsaV0pPT57ImZvbnQtZmFtaWx5Ij09PXQmJmVbeXJdLnVzZWRUeXBlZmFjZXMuYWRkKGkpO3JldHVybiBfbi5oYXModCl9KSkubWFwKChlPT5lLmpvaW4oIjoiKSkpLmpvaW4oIjsiKToiIn0odGhpcyl9W1dzXSgpe3JldHVybiFpZy5oYXModGhpc1tZcl0pfVtxcl0oZSx0PSExKXtpZih0KXRoaXNbem5dPSEwO2Vsc2V7ZT1lLnJlcGxhY2VBbGwoZWcsIiIpO3RoaXMuc3R5bGUuaW5jbHVkZXMoInhmYS1zcGFjZXJ1bjp5ZXMiKXx8KGU9ZS5yZXBsYWNlQWxsKEFnLCIgIikpfWUmJih0aGlzW2VyXSs9ZSl9W09yXShlLHQ9ITApe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShudWxsKSxhPXt0b3A6TmFOLGJvdHRvbTpOYU4sbGVmdDpOYU4scmlnaHQ6TmFOfTtsZXQgcz1udWxsO2Zvcihjb25zdFtlLHRdb2YgdGhpcy5zdHlsZS5zcGxpdCgiOyIpLm1hcCgoZT0+ZS5zcGxpdCgiOiIsMikpKSlzd2l0Y2goZSl7Y2FzZSJmb250LWZhbWlseSI6aS50eXBlZmFjZT1zdHJpcFF1b3Rlcyh0KTticmVhaztjYXNlImZvbnQtc2l6ZSI6aS5zaXplPWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UiZm9udC13ZWlnaHQiOmkud2VpZ2h0PXQ7YnJlYWs7Y2FzZSJmb250LXN0eWxlIjppLnBvc3R1cmU9dDticmVhaztjYXNlImxldHRlci1zcGFjaW5nIjppLmxldHRlclNwYWNpbmc9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJtYXJnaW4iOmNvbnN0IGU9dC5zcGxpdCgvIFx0LykubWFwKChlPT5nZXRNZWFzdXJlbWVudChlKSkpO3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAxOmEudG9wPWEuYm90dG9tPWEubGVmdD1hLnJpZ2h0PWVbMF07YnJlYWs7Y2FzZSAyOmEudG9wPWEuYm90dG9tPWVbMF07YS5sZWZ0PWEucmlnaHQ9ZVsxXTticmVhaztjYXNlIDM6YS50b3A9ZVswXTthLmJvdHRvbT1lWzJdO2EubGVmdD1hLnJpZ2h0PWVbMV07YnJlYWs7Y2FzZSA0OmEudG9wPWVbMF07YS5sZWZ0PWVbMV07YS5ib3R0b209ZVsyXTthLnJpZ2h0PWVbM119YnJlYWs7Y2FzZSJtYXJnaW4tdG9wIjphLnRvcD1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlIm1hcmdpbi1ib3R0b20iOmEuYm90dG9tPWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UibWFyZ2luLWxlZnQiOmEubGVmdD1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlIm1hcmdpbi1yaWdodCI6YS5yaWdodD1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlImxpbmUtaGVpZ2h0IjpzPWdldE1lYXN1cmVtZW50KHQpfWUucHVzaERhdGEoaSxhLHMpO2lmKHRoaXNbZXJdKWUuYWRkU3RyaW5nKHRoaXNbZXJdKTtlbHNlIGZvcihjb25zdCB0IG9mIHRoaXNbRXJdKCkpIiN0ZXh0IiE9PXRbWXJdP3RbT3JdKGUpOmUuYWRkU3RyaW5nKHRbZXJdKTt0JiZlLnBvcEZvbnQoKX1bYW5dKGUpe2NvbnN0IHQ9W107dGhpc1thcl09e2NoaWxkcmVuOnR9O3RoaXNbWnNdKHt9KTtpZigwPT09dC5sZW5ndGgmJiF0aGlzW2VyXSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtsZXQgaTtpPXRoaXNbem5dP3RoaXNbZXJdP3RoaXNbZXJdLnJlcGxhY2VBbGwodGcsIlxuIik6dm9pZCAwOnRoaXNbZXJdfHx2b2lkIDA7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZTp0aGlzW1lyXSxhdHRyaWJ1dGVzOntocmVmOnRoaXMuaHJlZixzdHlsZTptYXBTdHlsZSh0aGlzLnN0eWxlLHRoaXMsdGhpc1t6bl0pfSxjaGlsZHJlbjp0LHZhbHVlOml9KX19Y2xhc3MgQSBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImEiKTt0aGlzLmhyZWY9Zml4VVJMKGUuaHJlZil8fCIifX1jbGFzcyBCIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiYiIpfVtPcl0oZSl7ZS5wdXNoRm9udCh7d2VpZ2h0OiJib2xkIn0pO3N1cGVyW09yXShlKTtlLnBvcEZvbnQoKX19Y2xhc3MgQm9keSBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImJvZHkiKX1bYW5dKGUpe2NvbnN0IHQ9c3VwZXJbYW5dKGUpLHtodG1sOml9PXQ7aWYoIWkpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7aS5uYW1lPSJkaXYiO2kuYXR0cmlidXRlcy5jbGFzcz1bInhmYVJpY2giXTtyZXR1cm4gdH19Y2xhc3MgQnIgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJiciIpfVtlbl0oKXtyZXR1cm4iXG4ifVtPcl0oZSl7ZS5hZGRTdHJpbmcoIlxuIil9W2FuXShlKXtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJiciJ9KX19Y2xhc3MgSHRtbCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImh0bWwiKX1bYW5dKGUpe2NvbnN0IHQ9W107dGhpc1thcl09e2NoaWxkcmVuOnR9O3RoaXNbWnNdKHt9KTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVJpY2giXSxzdHlsZTp7fX0sdmFsdWU6dGhpc1tlcl18fCIifSk7aWYoMT09PXQubGVuZ3RoKXtjb25zdCBlPXRbMF07aWYoZS5hdHRyaWJ1dGVzPy5jbGFzcy5pbmNsdWRlcygieGZhUmljaCIpKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoZSl9cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVJpY2giXSxzdHlsZTp7fX0sY2hpbGRyZW46dH0pfX1jbGFzcyBJIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiaSIpfVtPcl0oZSl7ZS5wdXNoRm9udCh7cG9zdHVyZToiaXRhbGljIn0pO3N1cGVyW09yXShlKTtlLnBvcEZvbnQoKX19Y2xhc3MgTGkgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJsaSIpfX1jbGFzcyBPbCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIm9sIil9fWNsYXNzIFAgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJwIil9W09yXShlKXtzdXBlcltPcl0oZSwhMSk7ZS5hZGRTdHJpbmcoIlxuIik7ZS5hZGRQYXJhKCk7ZS5wb3BGb250KCl9W2VuXSgpe3JldHVybiB0aGlzW3ByXSgpW0VyXSgpLmF0KC0xKT09PXRoaXM/c3VwZXJbZW5dKCk6c3VwZXJbZW5dKCkrIlxuIn19Y2xhc3MgU3BhbiBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInNwYW4iKX19Y2xhc3MgU3ViIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwic3ViIil9fWNsYXNzIFN1cCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInN1cCIpfX1jbGFzcyBVbCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInVsIil9fWNsYXNzIFhodG1sTmFtZXNwYWNle3N0YXRpY1tnbl0oZSx0KXtpZihYaHRtbE5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gWGh0bWxOYW1lc3BhY2VbZV0odCl9c3RhdGljIGEoZSl7cmV0dXJuIG5ldyBBKGUpfXN0YXRpYyBiKGUpe3JldHVybiBuZXcgQihlKX1zdGF0aWMgYm9keShlKXtyZXR1cm4gbmV3IEJvZHkoZSl9c3RhdGljIGJyKGUpe3JldHVybiBuZXcgQnIoZSl9c3RhdGljIGh0bWwoZSl7cmV0dXJuIG5ldyBIdG1sKGUpfXN0YXRpYyBpKGUpe3JldHVybiBuZXcgSShlKX1zdGF0aWMgbGkoZSl7cmV0dXJuIG5ldyBMaShlKX1zdGF0aWMgb2woZSl7cmV0dXJuIG5ldyBPbChlKX1zdGF0aWMgcChlKXtyZXR1cm4gbmV3IFAoZSl9c3RhdGljIHNwYW4oZSl7cmV0dXJuIG5ldyBTcGFuKGUpfXN0YXRpYyBzdWIoZSl7cmV0dXJuIG5ldyBTdWIoZSl9c3RhdGljIHN1cChlKXtyZXR1cm4gbmV3IFN1cChlKX1zdGF0aWMgdWwoZSl7cmV0dXJuIG5ldyBVbChlKX19Y29uc3QgYWc9e2NvbmZpZzpDb25maWdOYW1lc3BhY2UsY29ubmVjdGlvbjpDb25uZWN0aW9uU2V0TmFtZXNwYWNlLGRhdGFzZXRzOkRhdGFzZXRzTmFtZXNwYWNlLGxvY2FsZVNldDpMb2NhbGVTZXROYW1lc3BhY2Usc2lnbmF0dXJlOlNpZ25hdHVyZU5hbWVzcGFjZSxzdHlsZXNoZWV0OlN0eWxlc2hlZXROYW1lc3BhY2UsdGVtcGxhdGU6VGVtcGxhdGVOYW1lc3BhY2UseGRwOlhkcE5hbWVzcGFjZSx4aHRtbDpYaHRtbE5hbWVzcGFjZX07Y2xhc3MgVW5rbm93bk5hbWVzcGFjZXtjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWVzcGFjZUlkPWV9W2duXShlLHQpe3JldHVybiBuZXcgWG1sT2JqZWN0KHRoaXMubmFtZXNwYWNlSWQsZSx0KX19Y2xhc3MgUm9vdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcigtMSwicm9vdCIsT2JqZWN0LmNyZWF0ZShudWxsKSk7dGhpcy5lbGVtZW50PW51bGw7dGhpc1tEcl09ZX1bVHJdKGUpe3RoaXMuZWxlbWVudD1lO3JldHVybiEwfVtzcl0oKXtzdXBlcltzcl0oKTtpZih0aGlzLmVsZW1lbnQudGVtcGxhdGUgaW5zdGFuY2VvZiBUZW1wbGF0ZSl7dGhpc1tEcl0uc2V0KGpyLHRoaXMuZWxlbWVudCk7dGhpcy5lbGVtZW50LnRlbXBsYXRlW1pyXSh0aGlzW0RyXSk7dGhpcy5lbGVtZW50LnRlbXBsYXRlW0RyXT10aGlzW0RyXX19fWNsYXNzIEVtcHR5IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLTEsIiIsT2JqZWN0LmNyZWF0ZShudWxsKSl9W1RyXShlKXtyZXR1cm4hMX19Y2xhc3MgQnVpbGRlcntjb25zdHJ1Y3RvcihlPW51bGwpe3RoaXMuX25hbWVzcGFjZVN0YWNrPVtdO3RoaXMuX25zQWdub3N0aWNMZXZlbD0wO3RoaXMuX25hbWVzcGFjZVByZWZpeGVzPW5ldyBNYXA7dGhpcy5fbmFtZXNwYWNlcz1uZXcgTWFwO3RoaXMuX25leHROc0lkPU1hdGgubWF4KC4uLk9iamVjdC52YWx1ZXMob24pLm1hcCgoKHtpZDplfSk9PmUpKSk7dGhpcy5fY3VycmVudE5hbWVzcGFjZT1lfHxuZXcgVW5rbm93bk5hbWVzcGFjZSgrK3RoaXMuX25leHROc0lkKX1idWlsZFJvb3QoZSl7cmV0dXJuIG5ldyBSb290KGUpfWJ1aWxkKHtuc1ByZWZpeDplLG5hbWU6dCxhdHRyaWJ1dGVzOmksbmFtZXNwYWNlOmEscHJlZml4ZXM6c30pe2NvbnN0IHI9bnVsbCE9PWE7aWYocil7dGhpcy5fbmFtZXNwYWNlU3RhY2sucHVzaCh0aGlzLl9jdXJyZW50TmFtZXNwYWNlKTt0aGlzLl9jdXJyZW50TmFtZXNwYWNlPXRoaXMuX3NlYXJjaE5hbWVzcGFjZShhKX1zJiZ0aGlzLl9hZGROYW1lc3BhY2VQcmVmaXgocyk7aWYoaS5oYXNPd25Qcm9wZXJ0eSh2cikpe2NvbnN0IGU9YWcuZGF0YXNldHMsdD1pW3ZyXTtsZXQgYT1udWxsO2Zvcihjb25zdFtpLHNdb2YgT2JqZWN0LmVudHJpZXModCkpe2lmKHRoaXMuX2dldE5hbWVzcGFjZVRvVXNlKGkpPT09ZSl7YT17eGZhOnN9O2JyZWFrfX1hP2lbdnJdPWE6ZGVsZXRlIGlbdnJdfWNvbnN0IG49dGhpcy5fZ2V0TmFtZXNwYWNlVG9Vc2UoZSksZz1uPy5bZ25dKHQsaSl8fG5ldyBFbXB0eTtnW0dyXSgpJiZ0aGlzLl9uc0Fnbm9zdGljTGV2ZWwrKzsocnx8c3x8Z1tHcl0oKSkmJihnW19zXT17aGFzTmFtZXNwYWNlOnIscHJlZml4ZXM6cyxuc0Fnbm9zdGljOmdbR3JdKCl9KTtyZXR1cm4gZ31pc05zQWdub3N0aWMoKXtyZXR1cm4gdGhpcy5fbnNBZ25vc3RpY0xldmVsPjB9X3NlYXJjaE5hbWVzcGFjZShlKXtsZXQgdD10aGlzLl9uYW1lc3BhY2VzLmdldChlKTtpZih0KXJldHVybiB0O2Zvcihjb25zdFtpLHtjaGVjazphfV1vZiBPYmplY3QuZW50cmllcyhvbikpaWYoYShlKSl7dD1hZ1tpXTtpZih0KXt0aGlzLl9uYW1lc3BhY2VzLnNldChlLHQpO3JldHVybiB0fWJyZWFrfXQ9bmV3IFVua25vd25OYW1lc3BhY2UoKyt0aGlzLl9uZXh0TnNJZCk7dGhpcy5fbmFtZXNwYWNlcy5zZXQoZSx0KTtyZXR1cm4gdH1fYWRkTmFtZXNwYWNlUHJlZml4KGUpe2Zvcihjb25zdHtwcmVmaXg6dCx2YWx1ZTppfW9mIGUpe2NvbnN0IGU9dGhpcy5fc2VhcmNoTmFtZXNwYWNlKGkpO2xldCBhPXRoaXMuX25hbWVzcGFjZVByZWZpeGVzLmdldCh0KTtpZighYSl7YT1bXTt0aGlzLl9uYW1lc3BhY2VQcmVmaXhlcy5zZXQodCxhKX1hLnB1c2goZSl9fV9nZXROYW1lc3BhY2VUb1VzZShlKXtpZighZSlyZXR1cm4gdGhpcy5fY3VycmVudE5hbWVzcGFjZTtjb25zdCB0PXRoaXMuX25hbWVzcGFjZVByZWZpeGVzLmdldChlKTtpZih0Py5sZW5ndGg+MClyZXR1cm4gdC5hdCgtMSk7d2FybihgVW5rbm93biBuYW1lc3BhY2UgcHJlZml4OiAke2V9LmApO3JldHVybiBudWxsfWNsZWFuKGUpe2NvbnN0e2hhc05hbWVzcGFjZTp0LHByZWZpeGVzOmksbnNBZ25vc3RpYzphfT1lO3QmJih0aGlzLl9jdXJyZW50TmFtZXNwYWNlPXRoaXMuX25hbWVzcGFjZVN0YWNrLnBvcCgpKTtpJiZpLmZvckVhY2goKCh7cHJlZml4OmV9KT0+e3RoaXMuX25hbWVzcGFjZVByZWZpeGVzLmdldChlKS5wb3AoKX0pKTthJiZ0aGlzLl9uc0Fnbm9zdGljTGV2ZWwtLX19Y2xhc3MgWEZBUGFyc2VyIGV4dGVuZHMgWE1MUGFyc2VyQmFzZXtjb25zdHJ1Y3RvcihlPW51bGwsdD0hMSl7c3VwZXIoKTt0aGlzLl9idWlsZGVyPW5ldyBCdWlsZGVyKGUpO3RoaXMuX3N0YWNrPVtdO3RoaXMuX2dsb2JhbERhdGE9e3VzZWRUeXBlZmFjZXM6bmV3IFNldH07dGhpcy5faWRzPW5ldyBNYXA7dGhpcy5fY3VycmVudD10aGlzLl9idWlsZGVyLmJ1aWxkUm9vdCh0aGlzLl9pZHMpO3RoaXMuX2Vycm9yQ29kZT14czt0aGlzLl93aGl0ZVJlZ2V4PS9eXHMrJC87dGhpcy5fbmJzcHM9L1x4YTArL2c7dGhpcy5fcmljaFRleHQ9dH1wYXJzZShlKXt0aGlzLnBhcnNlWG1sKGUpO2lmKHRoaXMuX2Vycm9yQ29kZT09PXhzKXt0aGlzLl9jdXJyZW50W3NyXSgpO3JldHVybiB0aGlzLl9jdXJyZW50LmVsZW1lbnR9fW9uVGV4dChlKXtlPWUucmVwbGFjZSh0aGlzLl9uYnNwcywoZT0+ZS5zbGljZSgxKSsiICIpKTt0aGlzLl9yaWNoVGV4dHx8dGhpcy5fY3VycmVudFtXc10oKT90aGlzLl9jdXJyZW50W3FyXShlLHRoaXMuX3JpY2hUZXh0KTp0aGlzLl93aGl0ZVJlZ2V4LnRlc3QoZSl8fHRoaXMuX2N1cnJlbnRbcXJdKGUudHJpbSgpKX1vbkNkYXRhKGUpe3RoaXMuX2N1cnJlbnRbcXJdKGUpfV9ta0F0dHJpYnV0ZXMoZSx0KXtsZXQgaT1udWxsLGE9bnVsbDtjb25zdCBzPU9iamVjdC5jcmVhdGUoe30pO2Zvcihjb25zdHtuYW1lOnIsdmFsdWU6bn1vZiBlKWlmKCJ4bWxucyI9PT1yKWk/d2FybihgWEZBIC0gbXVsdGlwbGUgbmFtZXNwYWNlIGRlZmluaXRpb24gaW4gPCR7dH0+YCk6aT1uO2Vsc2UgaWYoci5zdGFydHNXaXRoKCJ4bWxuczoiKSl7Y29uc3QgZT1yLnN1YnN0cmluZyg2KTthfHwoYT1bXSk7YS5wdXNoKHtwcmVmaXg6ZSx2YWx1ZTpufSl9ZWxzZXtjb25zdCBlPXIuaW5kZXhPZigiOiIpO2lmKC0xPT09ZSlzW3JdPW47ZWxzZXtsZXQgdD1zW3ZyXTt0fHwodD1zW3ZyXT1PYmplY3QuY3JlYXRlKG51bGwpKTtjb25zdFtpLGFdPVtyLnNsaWNlKDAsZSksci5zbGljZShlKzEpXTsodFtpXXx8PU9iamVjdC5jcmVhdGUobnVsbCkpW2FdPW59fXJldHVybltpLGEsc119X2dldE5hbWVBbmRQcmVmaXgoZSx0KXtjb25zdCBpPWUuaW5kZXhPZigiOiIpO3JldHVybi0xPT09aT9bZSxudWxsXTpbZS5zdWJzdHJpbmcoaSsxKSx0PyIiOmUuc3Vic3RyaW5nKDAsaSldfW9uQmVnaW5FbGVtZW50KGUsdCxpKXtjb25zdFthLHMscl09dGhpcy5fbWtBdHRyaWJ1dGVzKHQsZSksW24sZ109dGhpcy5fZ2V0TmFtZUFuZFByZWZpeChlLHRoaXMuX2J1aWxkZXIuaXNOc0Fnbm9zdGljKCkpLG89dGhpcy5fYnVpbGRlci5idWlsZCh7bnNQcmVmaXg6ZyxuYW1lOm4sYXR0cmlidXRlczpyLG5hbWVzcGFjZTphLHByZWZpeGVzOnN9KTtvW3lyXT10aGlzLl9nbG9iYWxEYXRhO2lmKGkpe29bc3JdKCk7dGhpcy5fY3VycmVudFtUcl0obykmJm9benJdKHRoaXMuX2lkcyk7b1tWc10odGhpcy5fYnVpbGRlcil9ZWxzZXt0aGlzLl9zdGFjay5wdXNoKHRoaXMuX2N1cnJlbnQpO3RoaXMuX2N1cnJlbnQ9b319b25FbmRFbGVtZW50KGUpe2NvbnN0IHQ9dGhpcy5fY3VycmVudDtpZih0W1NyXSgpJiYic3RyaW5nIj09dHlwZW9mIHRbZXJdKXtjb25zdCBlPW5ldyBYRkFQYXJzZXI7ZS5fZ2xvYmFsRGF0YT10aGlzLl9nbG9iYWxEYXRhO2NvbnN0IGk9ZS5wYXJzZSh0W2VyXSk7dFtlcl09bnVsbDt0W1RyXShpKX10W3NyXSgpO3RoaXMuX2N1cnJlbnQ9dGhpcy5fc3RhY2sucG9wKCk7dGhpcy5fY3VycmVudFtUcl0odCkmJnRbenJdKHRoaXMuX2lkcyk7dFtWc10odGhpcy5fYnVpbGRlcil9b25FcnJvcihlKXt0aGlzLl9lcnJvckNvZGU9ZX19Y2xhc3MgWEZBRmFjdG9yeXtjb25zdHJ1Y3RvcihlKXt0cnl7dGhpcy5yb290PShuZXcgWEZBUGFyc2VyKS5wYXJzZShYRkFGYWN0b3J5Ll9jcmVhdGVEb2N1bWVudChlKSk7Y29uc3QgdD1uZXcgQmluZGVyKHRoaXMucm9vdCk7dGhpcy5mb3JtPXQuYmluZCgpO3RoaXMuZGF0YUhhbmRsZXI9bmV3IERhdGFIYW5kbGVyKHRoaXMucm9vdCx0LmdldERhdGEoKSk7dGhpcy5mb3JtW3lyXS50ZW1wbGF0ZT10aGlzLmZvcm19Y2F0Y2goZSl7d2FybihgWEZBIC0gYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHBhcnNpbmcgYW5kIGJpbmRpbmc6ICR7ZX1gKX19aXNWYWxpZCgpe3JldHVybiB0aGlzLnJvb3QmJnRoaXMuZm9ybX1fY3JlYXRlUGFnZXNIZWxwZXIoKXtjb25zdCBlPXRoaXMuZm9ybVt0bl0oKTtyZXR1cm4gbmV3IFByb21pc2UoKCh0LGkpPT57Y29uc3QgbmV4dEl0ZXJhdGlvbj0oKT0+e3RyeXtjb25zdCBpPWUubmV4dCgpO2kuZG9uZT90KGkudmFsdWUpOnNldFRpbWVvdXQobmV4dEl0ZXJhdGlvbiwwKX1jYXRjaChlKXtpKGUpfX07c2V0VGltZW91dChuZXh0SXRlcmF0aW9uLDApfSkpfWFzeW5jIF9jcmVhdGVQYWdlcygpe3RyeXt0aGlzLnBhZ2VzPWF3YWl0IHRoaXMuX2NyZWF0ZVBhZ2VzSGVscGVyKCk7dGhpcy5kaW1zPXRoaXMucGFnZXMuY2hpbGRyZW4ubWFwKChlPT57Y29uc3R7d2lkdGg6dCxoZWlnaHQ6aX09ZS5hdHRyaWJ1dGVzLnN0eWxlO3JldHVyblswLDAscGFyc2VJbnQodCkscGFyc2VJbnQoaSldfSkpfWNhdGNoKGUpe3dhcm4oYFhGQSAtIGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBsYXlvdXQ6ICR7ZX1gKX19Z2V0Qm91bmRpbmdCb3goZSl7cmV0dXJuIHRoaXMuZGltc1tlXX1hc3luYyBnZXROdW1QYWdlcygpe3RoaXMucGFnZXN8fGF3YWl0IHRoaXMuX2NyZWF0ZVBhZ2VzKCk7cmV0dXJuIHRoaXMuZGltcy5sZW5ndGh9c2V0SW1hZ2VzKGUpe3RoaXMuZm9ybVt5cl0uaW1hZ2VzPWV9c2V0Rm9udHMoZSl7dGhpcy5mb3JtW3lyXS5mb250RmluZGVyPW5ldyBGb250RmluZGVyKGUpO2NvbnN0IHQ9W107Zm9yKGxldCBlIG9mIHRoaXMuZm9ybVt5cl0udXNlZFR5cGVmYWNlcyl7ZT1zdHJpcFF1b3RlcyhlKTt0aGlzLmZvcm1beXJdLmZvbnRGaW5kZXIuZmluZChlKXx8dC5wdXNoKGUpfXJldHVybiB0Lmxlbmd0aD4wP3Q6bnVsbH1hcHBlbmRGb250cyhlLHQpe3RoaXMuZm9ybVt5cl0uZm9udEZpbmRlci5hZGQoZSx0KX1hc3luYyBnZXRQYWdlcygpe3RoaXMucGFnZXN8fGF3YWl0IHRoaXMuX2NyZWF0ZVBhZ2VzKCk7Y29uc3QgZT10aGlzLnBhZ2VzO3RoaXMucGFnZXM9bnVsbDtyZXR1cm4gZX1zZXJpYWxpemVEYXRhKGUpe3JldHVybiB0aGlzLmRhdGFIYW5kbGVyLnNlcmlhbGl6ZShlKX1zdGF0aWMgX2NyZWF0ZURvY3VtZW50KGUpe3JldHVybiBlWyIveGRwOnhkcCJdP09iamVjdC52YWx1ZXMoZSkuam9pbigiIik6ZVsieGRwOnhkcCJdfXN0YXRpYyBnZXRSaWNoVGV4dEFzSHRtbChlKXtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBudWxsO3RyeXtsZXQgdD1uZXcgWEZBUGFyc2VyKFhodG1sTmFtZXNwYWNlLCEwKS5wYXJzZShlKTtpZighWyJib2R5IiwieGh0bWwiXS5pbmNsdWRlcyh0W1lyXSkpe2NvbnN0IGU9WGh0bWxOYW1lc3BhY2UuYm9keSh7fSk7ZVtqc10odCk7dD1lfWNvbnN0IGk9dFthbl0oKTtpZighaS5zdWNjZXNzKXJldHVybiBudWxsO2NvbnN0e2h0bWw6YX09aSx7YXR0cmlidXRlczpzfT1hO2lmKHMpe3MuY2xhc3MmJihzLmNsYXNzPXMuY2xhc3MuZmlsdGVyKChlPT4hZS5zdGFydHNXaXRoKCJ4ZmEiKSkpKTtzLmRpcj0iYXV0byJ9cmV0dXJue2h0bWw6YSxzdHI6dFtlbl0oKX19Y2F0Y2goZSl7d2FybihgWEZBIC0gYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHBhcnNpbmcgb2YgcmljaCB0ZXh0OiAke2V9YCl9cmV0dXJuIG51bGx9fWNsYXNzIEFubm90YXRpb25GYWN0b3J5e3N0YXRpYyBjcmVhdGVHbG9iYWxzKGUpe3JldHVybiBQcm9taXNlLmFsbChbZS5lbnN1cmVDYXRhbG9nKCJhY3JvRm9ybSIpLGUuZW5zdXJlRG9jKCJ4ZmFEYXRhc2V0cyIpLGUuZW5zdXJlQ2F0YWxvZygic3RydWN0VHJlZVJvb3QiKSxlLmVuc3VyZUNhdGFsb2coImJhc2VVcmwiKSxlLmVuc3VyZUNhdGFsb2coImF0dGFjaG1lbnRzIildKS50aGVuKCgoW3QsaSxhLHMscl0pPT4oe3BkZk1hbmFnZXI6ZSxhY3JvRm9ybTp0IGluc3RhbmNlb2YgRGljdD90OkRpY3QuZW1wdHkseGZhRGF0YXNldHM6aSxzdHJ1Y3RUcmVlUm9vdDphLGJhc2VVcmw6cyxhdHRhY2htZW50czpyfSkpLChlPT57d2FybihgY3JlYXRlR2xvYmFsczogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpfXN0YXRpYyBhc3luYyBjcmVhdGUoZSx0LGksYSxzLHIsbil7Y29uc3QgZz1zP2F3YWl0IHRoaXMuX2dldFBhZ2VJbmRleChlLHQsaS5wZGZNYW5hZ2VyKTpudWxsO3JldHVybiBpLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsIl9jcmVhdGUiLFtlLHQsaSxhLHMscixnLG5dKX1zdGF0aWMgX2NyZWF0ZShlLHQsaSxhLHM9ITEscj1udWxsLG49bnVsbCxnPW51bGwpe2NvbnN0IG89ZS5mZXRjaElmUmVmKHQpO2lmKCEobyBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdHthY3JvRm9ybTpjLHBkZk1hbmFnZXI6Q309aSxoPXQgaW5zdGFuY2VvZiBSZWY/dC50b1N0cmluZygpOmBhbm5vdF8ke2EuY3JlYXRlT2JqSWQoKX1gO2xldCBsPW8uZ2V0KCJTdWJ0eXBlIik7bD1sIGluc3RhbmNlb2YgTmFtZT9sLm5hbWU6bnVsbDtjb25zdCBRPXt4cmVmOmUscmVmOnQsZGljdDpvLHN1YnR5cGU6bCxpZDpoLGFubm90YXRpb25HbG9iYWxzOmksY29sbGVjdEZpZWxkczpzLG9ycGhhbkZpZWxkczpyLG5lZWRBcHBlYXJhbmNlczohcyYmITA9PT1jLmdldCgiTmVlZEFwcGVhcmFuY2VzIikscGFnZUluZGV4Om4sZXZhbHVhdG9yT3B0aW9uczpDLmV2YWx1YXRvck9wdGlvbnMscGFnZVJlZjpnfTtzd2l0Y2gobCl7Y2FzZSJMaW5rIjpyZXR1cm4gbmV3IExpbmtBbm5vdGF0aW9uKFEpO2Nhc2UiVGV4dCI6cmV0dXJuIG5ldyBUZXh0QW5ub3RhdGlvbihRKTtjYXNlIldpZGdldCI6bGV0IGU9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDpvLGtleToiRlQifSk7ZT1lIGluc3RhbmNlb2YgTmFtZT9lLm5hbWU6bnVsbDtzd2l0Y2goZSl7Y2FzZSJUeCI6cmV0dXJuIG5ldyBUZXh0V2lkZ2V0QW5ub3RhdGlvbihRKTtjYXNlIkJ0biI6cmV0dXJuIG5ldyBCdXR0b25XaWRnZXRBbm5vdGF0aW9uKFEpO2Nhc2UiQ2giOnJldHVybiBuZXcgQ2hvaWNlV2lkZ2V0QW5ub3RhdGlvbihRKTtjYXNlIlNpZyI6cmV0dXJuIG5ldyBTaWduYXR1cmVXaWRnZXRBbm5vdGF0aW9uKFEpfXdhcm4oYFVuaW1wbGVtZW50ZWQgd2lkZ2V0IGZpZWxkIHR5cGUgIiR7ZX0iLCBmYWxsaW5nIGJhY2sgdG8gYmFzZSBmaWVsZCB0eXBlLmApO3JldHVybiBuZXcgV2lkZ2V0QW5ub3RhdGlvbihRKTtjYXNlIlBvcHVwIjpyZXR1cm4gbmV3IFBvcHVwQW5ub3RhdGlvbihRKTtjYXNlIkZyZWVUZXh0IjpyZXR1cm4gbmV3IEZyZWVUZXh0QW5ub3RhdGlvbihRKTtjYXNlIkxpbmUiOnJldHVybiBuZXcgTGluZUFubm90YXRpb24oUSk7Y2FzZSJTcXVhcmUiOnJldHVybiBuZXcgU3F1YXJlQW5ub3RhdGlvbihRKTtjYXNlIkNpcmNsZSI6cmV0dXJuIG5ldyBDaXJjbGVBbm5vdGF0aW9uKFEpO2Nhc2UiUG9seUxpbmUiOnJldHVybiBuZXcgUG9seWxpbmVBbm5vdGF0aW9uKFEpO2Nhc2UiUG9seWdvbiI6cmV0dXJuIG5ldyBQb2x5Z29uQW5ub3RhdGlvbihRKTtjYXNlIkNhcmV0IjpyZXR1cm4gbmV3IENhcmV0QW5ub3RhdGlvbihRKTtjYXNlIkluayI6cmV0dXJuIG5ldyBJbmtBbm5vdGF0aW9uKFEpO2Nhc2UiSGlnaGxpZ2h0IjpyZXR1cm4gbmV3IEhpZ2hsaWdodEFubm90YXRpb24oUSk7Y2FzZSJVbmRlcmxpbmUiOnJldHVybiBuZXcgVW5kZXJsaW5lQW5ub3RhdGlvbihRKTtjYXNlIlNxdWlnZ2x5IjpyZXR1cm4gbmV3IFNxdWlnZ2x5QW5ub3RhdGlvbihRKTtjYXNlIlN0cmlrZU91dCI6cmV0dXJuIG5ldyBTdHJpa2VPdXRBbm5vdGF0aW9uKFEpO2Nhc2UiU3RhbXAiOnJldHVybiBuZXcgU3RhbXBBbm5vdGF0aW9uKFEpO2Nhc2UiRmlsZUF0dGFjaG1lbnQiOnJldHVybiBuZXcgRmlsZUF0dGFjaG1lbnRBbm5vdGF0aW9uKFEpO2RlZmF1bHQ6c3x8d2FybihsP2BVbmltcGxlbWVudGVkIGFubm90YXRpb24gdHlwZSAiJHtsfSIsIGZhbGxpbmcgYmFjayB0byBiYXNlIGFubm90YXRpb24uYDoiQW5ub3RhdGlvbiBpcyBtaXNzaW5nIHRoZSByZXF1aXJlZCAvU3VidHlwZS4iKTtyZXR1cm4gbmV3IEFubm90YXRpb24oUSl9fXN0YXRpYyBhc3luYyBfZ2V0UGFnZUluZGV4KGUsdCxpKXt0cnl7Y29uc3QgYT1hd2FpdCBlLmZldGNoSWZSZWZBc3luYyh0KTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4tMTtjb25zdCBzPWEuZ2V0UmF3KCJQIik7aWYocyBpbnN0YW5jZW9mIFJlZil0cnl7cmV0dXJuIGF3YWl0IGkuZW5zdXJlQ2F0YWxvZygiZ2V0UGFnZUluZGV4Iixbc10pfWNhdGNoKGUpe2luZm8oYF9nZXRQYWdlSW5kZXggLS0gbm90IGEgdmFsaWQgcGFnZSByZWZlcmVuY2U6ICIke2V9Ii5gKX1pZihhLmhhcygiS2lkcyIpKXJldHVybi0xO2NvbnN0IHI9YXdhaXQgaS5lbnN1cmVEb2MoIm51bVBhZ2VzIik7Zm9yKGxldCBlPTA7ZTxyO2UrKyl7Y29uc3QgYT1hd2FpdCBpLmdldFBhZ2UoZSkscz1hd2FpdCBpLmVuc3VyZShhLCJhbm5vdGF0aW9ucyIpO2Zvcihjb25zdCBpIG9mIHMpaWYoaSBpbnN0YW5jZW9mIFJlZiYmaXNSZWZzRXF1YWwoaSx0KSlyZXR1cm4gZX19Y2F0Y2goZSl7d2FybihgX2dldFBhZ2VJbmRleDogIiR7ZX0iLmApfXJldHVybi0xfXN0YXRpYyBnZW5lcmF0ZUltYWdlcyhlLHQsaSl7aWYoIWkpe3dhcm4oImdlbmVyYXRlSW1hZ2VzOiBPZmZzY3JlZW5DYW52YXMgaXMgbm90IHN1cHBvcnRlZCwgY2Fubm90IHNhdmUgb3IgcHJpbnQgc29tZSBhbm5vdGF0aW9ucyB3aXRoIGltYWdlcy4iKTtyZXR1cm4gbnVsbH1sZXQgYTtmb3IoY29uc3R7Yml0bWFwSWQ6aSxiaXRtYXA6c31vZiBlKWlmKHMpe2F8fD1uZXcgTWFwO2Euc2V0KGksU3RhbXBBbm5vdGF0aW9uLmNyZWF0ZUltYWdlKHMsdCkpfXJldHVybiBhfXN0YXRpYyBhc3luYyBzYXZlTmV3QW5ub3RhdGlvbnMoZSx0LGksYSxzKXtjb25zdCByPWUueHJlZjtsZXQgbjtjb25zdCBnPVtdLHtpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDpvfT1lLm9wdGlvbnM7Zm9yKGNvbnN0IGMgb2YgaSlpZighYy5kZWxldGVkKXN3aXRjaChjLmFubm90YXRpb25UeXBlKXtjYXNlIGQ6aWYoIW4pe2NvbnN0IGU9bmV3IERpY3Qocik7ZS5zZXQoIkJhc2VGb250IixOYW1lLmdldCgiSGVsdmV0aWNhIikpO2Uuc2V0KCJUeXBlIixOYW1lLmdldCgiRm9udCIpKTtlLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIlR5cGUxIikpO2Uuc2V0KCJFbmNvZGluZyIsTmFtZS5nZXQoIldpbkFuc2lFbmNvZGluZyIpKTtuPXIuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7cy5wdXQobix7ZGF0YTplfSl9Zy5wdXNoKEZyZWVUZXh0QW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKHIsYyxzLHtldmFsdWF0b3I6ZSx0YXNrOnQsYmFzZUZvbnRSZWY6bn0pKTticmVhaztjYXNlIGY6Yy5xdWFkUG9pbnRzP2cucHVzaChIaWdobGlnaHRBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocixjLHMpKTpnLnB1c2goSW5rQW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKHIsYyxzKSk7YnJlYWs7Y2FzZSBtOmcucHVzaChJbmtBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocixjLHMpKTticmVhaztjYXNlIHA6Y29uc3QgaT1vP2F3YWl0KGE/LmdldChjLmJpdG1hcElkKSk6bnVsbDtpZihpPy5pbWFnZVN0cmVhbSl7Y29uc3R7aW1hZ2VTdHJlYW06ZSxzbWFza1N0cmVhbTp0fT1pO2lmKHQpe2NvbnN0IGk9ci5nZXROZXdUZW1wb3JhcnlSZWYoKTtzLnB1dChpLHtkYXRhOnR9KTtlLmRpY3Quc2V0KCJTTWFzayIsaSl9Y29uc3QgYT1pLmltYWdlUmVmPXIuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7cy5wdXQoYSx7ZGF0YTplfSk7aS5pbWFnZVN0cmVhbT1pLnNtYXNrU3RyZWFtPW51bGx9Zy5wdXNoKFN0YW1wQW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKHIsYyxzLHtpbWFnZTppfSkpfXJldHVybnthbm5vdGF0aW9uczphd2FpdCBQcm9taXNlLmFsbChnKX19c3RhdGljIGFzeW5jIHByaW50TmV3QW5ub3RhdGlvbnMoZSx0LGksYSxzKXtpZighYSlyZXR1cm4gbnVsbDtjb25zdHtvcHRpb25zOnIseHJlZjpufT10LGc9W107Zm9yKGNvbnN0IG8gb2YgYSlpZighby5kZWxldGVkKXN3aXRjaChvLmFubm90YXRpb25UeXBlKXtjYXNlIGQ6Zy5wdXNoKEZyZWVUZXh0QW5ub3RhdGlvbi5jcmVhdGVOZXdQcmludEFubm90YXRpb24oZSxuLG8se2V2YWx1YXRvcjp0LHRhc2s6aSxldmFsdWF0b3JPcHRpb25zOnJ9KSk7YnJlYWs7Y2FzZSBmOm8ucXVhZFBvaW50cz9nLnB1c2goSGlnaGxpZ2h0QW5ub3RhdGlvbi5jcmVhdGVOZXdQcmludEFubm90YXRpb24oZSxuLG8se2V2YWx1YXRvck9wdGlvbnM6cn0pKTpnLnB1c2goSW5rQW5ub3RhdGlvbi5jcmVhdGVOZXdQcmludEFubm90YXRpb24oZSxuLG8se2V2YWx1YXRvck9wdGlvbnM6cn0pKTticmVhaztjYXNlIG06Zy5wdXNoKElua0Fubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUsbixvLHtldmFsdWF0b3JPcHRpb25zOnJ9KSk7YnJlYWs7Y2FzZSBwOmNvbnN0IGE9ci5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZD9hd2FpdChzPy5nZXQoby5iaXRtYXBJZCkpOm51bGw7aWYoYT8uaW1hZ2VTdHJlYW0pe2NvbnN0e2ltYWdlU3RyZWFtOmUsc21hc2tTdHJlYW06dH09YTt0JiZlLmRpY3Quc2V0KCJTTWFzayIsdCk7YS5pbWFnZVJlZj1uZXcgSnBlZ1N0cmVhbShlLGUubGVuZ3RoKTthLmltYWdlU3RyZWFtPWEuc21hc2tTdHJlYW09bnVsbH1nLnB1c2goU3RhbXBBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLG4sbyx7aW1hZ2U6YSxldmFsdWF0b3JPcHRpb25zOnJ9KSl9cmV0dXJuIFByb21pc2UuYWxsKGcpfX1mdW5jdGlvbiBnZXRSZ2JDb2xvcihlLHQ9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdDtjb25zdCBpPXR8fG5ldyBVaW50OENsYW1wZWRBcnJheSgzKTtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbnVsbDtjYXNlIDE6Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXkuZ2V0UmdiSXRlbShlLDAsaSwwKTtyZXR1cm4gaTtjYXNlIDM6Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2JJdGVtKGUsMCxpLDApO3JldHVybiBpO2Nhc2UgNDpDb2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2JJdGVtKGUsMCxpLDApO3JldHVybiBpO2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIGdldFBkZkNvbG9yQXJyYXkoZSl7cmV0dXJuIEFycmF5LmZyb20oZSwoZT0+ZS8yNTUpKX1mdW5jdGlvbiBnZXRRdWFkUG9pbnRzKGUsdCl7Y29uc3QgaT1lLmdldEFycmF5KCJRdWFkUG9pbnRzIik7aWYoIWlzTnVtYmVyQXJyYXkoaSxudWxsKXx8MD09PWkubGVuZ3RofHxpLmxlbmd0aCU4PjApcmV0dXJuIG51bGw7Y29uc3QgYT1uZXcgRmxvYXQzMkFycmF5KGkubGVuZ3RoKTtmb3IobGV0IGU9MCxzPWkubGVuZ3RoO2U8cztlKz04KXtjb25zdFtzLHIsbixnLG8sYyxDLGhdPWkuc2xpY2UoZSxlKzgpLGw9TWF0aC5taW4ocyxuLG8sQyksUT1NYXRoLm1heChzLG4sbyxDKSxFPU1hdGgubWluKHIsZyxjLGgpLHU9TWF0aC5tYXgocixnLGMsaCk7aWYobnVsbCE9PXQmJihsPHRbMF18fFE+dFsyXXx8RTx0WzFdfHx1PnRbM10pKXJldHVybiBudWxsO2Euc2V0KFtsLHUsUSx1LGwsRSxRLEVdLGUpfXJldHVybiBhfWZ1bmN0aW9uIGdldFRyYW5zZm9ybU1hdHJpeChlLHQsaSl7Y29uc3RbYSxzLHIsbl09VXRpbC5nZXRBeGlhbEFsaWduZWRCb3VuZGluZ0JveCh0LGkpO2lmKGE9PT1yfHxzPT09bilyZXR1cm5bMSwwLDAsMSxlWzBdLGVbMV1dO2NvbnN0IGc9KGVbMl0tZVswXSkvKHItYSksbz0oZVszXS1lWzFdKS8obi1zKTtyZXR1cm5bZywwLDAsbyxlWzBdLWEqZyxlWzFdLXMqb119Y2xhc3MgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtjb25zdHtkaWN0OnQseHJlZjppLGFubm90YXRpb25HbG9iYWxzOmEscmVmOnMsb3JwaGFuRmllbGRzOnJ9PWUsbj1yPy5nZXQocyk7biYmdC5zZXQoIlBhcmVudCIsbik7dGhpcy5zZXRUaXRsZSh0LmdldCgiVCIpKTt0aGlzLnNldENvbnRlbnRzKHQuZ2V0KCJDb250ZW50cyIpKTt0aGlzLnNldE1vZGlmaWNhdGlvbkRhdGUodC5nZXQoIk0iKSk7dGhpcy5zZXRGbGFncyh0LmdldCgiRiIpKTt0aGlzLnNldFJlY3RhbmdsZSh0LmdldEFycmF5KCJSZWN0IikpO3RoaXMuc2V0Q29sb3IodC5nZXRBcnJheSgiQyIpKTt0aGlzLnNldEJvcmRlclN0eWxlKHQpO3RoaXMuc2V0QXBwZWFyYW5jZSh0KTt0aGlzLnNldE9wdGlvbmFsQ29udGVudCh0KTtjb25zdCBnPXQuZ2V0KCJNSyIpO3RoaXMuc2V0Qm9yZGVyQW5kQmFja2dyb3VuZENvbG9ycyhnKTt0aGlzLnNldFJvdGF0aW9uKGcsdCk7dGhpcy5yZWY9ZS5yZWYgaW5zdGFuY2VvZiBSZWY/ZS5yZWY6bnVsbDt0aGlzLl9zdHJlYW1zPVtdO3RoaXMuYXBwZWFyYW5jZSYmdGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMuYXBwZWFyYW5jZSk7Y29uc3Qgbz0hISh0aGlzLmZsYWdzJmVBKSxjPSEhKHRoaXMuZmxhZ3MmdEEpO3RoaXMuZGF0YT17YW5ub3RhdGlvbkZsYWdzOnRoaXMuZmxhZ3MsYm9yZGVyU3R5bGU6dGhpcy5ib3JkZXJTdHlsZSxjb2xvcjp0aGlzLmNvbG9yLGJhY2tncm91bmRDb2xvcjp0aGlzLmJhY2tncm91bmRDb2xvcixib3JkZXJDb2xvcjp0aGlzLmJvcmRlckNvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sY29udGVudHNPYmo6dGhpcy5fY29udGVudHMsaGFzQXBwZWFyYW5jZTohIXRoaXMuYXBwZWFyYW5jZSxpZDplLmlkLG1vZGlmaWNhdGlvbkRhdGU6dGhpcy5tb2RpZmljYXRpb25EYXRlLHJlY3Q6dGhpcy5yZWN0YW5nbGUsc3VidHlwZTplLnN1YnR5cGUsaGFzT3duQ2FudmFzOiExLG5vUm90YXRlOiEhKHRoaXMuZmxhZ3MmJCksbm9IVE1MOm8mJmMsaXNFZGl0YWJsZTohMSxzdHJ1Y3RQYXJlbnQ6LTF9O2lmKGEuc3RydWN0VHJlZVJvb3Qpe2xldCBpPXQuZ2V0KCJTdHJ1Y3RQYXJlbnQiKTt0aGlzLmRhdGEuc3RydWN0UGFyZW50PWk9TnVtYmVyLmlzSW50ZWdlcihpKSYmaT49MD9pOi0xO2Euc3RydWN0VHJlZVJvb3QuYWRkQW5ub3RhdGlvbklkVG9QYWdlKGUucGFnZVJlZixpKX1pZihlLmNvbGxlY3RGaWVsZHMpe2NvbnN0IGE9dC5nZXQoIktpZHMiKTtpZihBcnJheS5pc0FycmF5KGEpKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIGEpdCBpbnN0YW5jZW9mIFJlZiYmZS5wdXNoKHQudG9TdHJpbmcoKSk7MCE9PWUubGVuZ3RoJiYodGhpcy5kYXRhLmtpZElkcz1lKX10aGlzLmRhdGEuYWN0aW9ucz1jb2xsZWN0QWN0aW9ucyhpLHQsZEEpO3RoaXMuZGF0YS5maWVsZE5hbWU9dGhpcy5fY29uc3RydWN0RmllbGROYW1lKHQpO3RoaXMuZGF0YS5wYWdlSW5kZXg9ZS5wYWdlSW5kZXh9Y29uc3QgQz10LmdldCgiSVQiKTtDIGluc3RhbmNlb2YgTmFtZSYmKHRoaXMuZGF0YS5pdD1DLm5hbWUpO3RoaXMuX2lzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPWUuZXZhbHVhdG9yT3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDt0aGlzLl9mYWxsYmFja0ZvbnREaWN0PW51bGw7dGhpcy5fbmVlZEFwcGVhcmFuY2VzPSExfV9oYXNGbGFnKGUsdCl7cmV0dXJuISEoZSZ0KX1fYnVpbGRGbGFncyhlLHQpe2xldHtmbGFnczppfT10aGlzO2lmKHZvaWQgMD09PWUpe2lmKHZvaWQgMD09PXQpcmV0dXJuO3JldHVybiB0P2kmfl86aSZ+enxffWlmKGUpe2l8PV87cmV0dXJuIHQ/aSZ+QUF8ejppJn56fEFBfWkmPX4oenxBQSk7cmV0dXJuIHQ/aSZ+XzppfF99X2lzVmlld2FibGUoZSl7cmV0dXJuIXRoaXMuX2hhc0ZsYWcoZSxWKSYmIXRoaXMuX2hhc0ZsYWcoZSxBQSl9X2lzUHJpbnRhYmxlKGUpe3JldHVybiB0aGlzLl9oYXNGbGFnKGUsXykmJiF0aGlzLl9oYXNGbGFnKGUseikmJiF0aGlzLl9oYXNGbGFnKGUsVil9bXVzdEJlVmlld2VkKGUsdCl7Y29uc3QgaT1lPy5nZXQodGhpcy5kYXRhLmlkKT8ubm9WaWV3O3JldHVybiB2b2lkIDAhPT1pPyFpOnRoaXMudmlld2FibGUmJiF0aGlzLl9oYXNGbGFnKHRoaXMuZmxhZ3Mseil9bXVzdEJlUHJpbnRlZChlKXtjb25zdCB0PWU/LmdldCh0aGlzLmRhdGEuaWQpPy5ub1ByaW50O3JldHVybiB2b2lkIDAhPT10PyF0OnRoaXMucHJpbnRhYmxlfW11c3RCZVZpZXdlZFdoZW5FZGl0aW5nKGUsdD1udWxsKXtyZXR1cm4gZT8hdGhpcy5kYXRhLmlzRWRpdGFibGU6IXQ/Lmhhcyh0aGlzLmRhdGEuaWQpfWdldCB2aWV3YWJsZSgpe3JldHVybiBudWxsIT09dGhpcy5kYXRhLnF1YWRQb2ludHMmJigwPT09dGhpcy5mbGFnc3x8dGhpcy5faXNWaWV3YWJsZSh0aGlzLmZsYWdzKSl9Z2V0IHByaW50YWJsZSgpe3JldHVybiBudWxsIT09dGhpcy5kYXRhLnF1YWRQb2ludHMmJigwIT09dGhpcy5mbGFncyYmdGhpcy5faXNQcmludGFibGUodGhpcy5mbGFncykpfV9wYXJzZVN0cmluZ0hlbHBlcihlKXtjb25zdCB0PSJzdHJpbmciPT10eXBlb2YgZT9zdHJpbmdUb1BERlN0cmluZyhlKToiIjtyZXR1cm57c3RyOnQsZGlyOnQmJiJydGwiPT09YmlkaSh0KS5kaXI/InJ0bCI6Imx0ciJ9fXNldERlZmF1bHRBcHBlYXJhbmNlKGUpe2NvbnN0e2RpY3Q6dCxhbm5vdGF0aW9uR2xvYmFsczppfT1lLGE9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiREEifSl8fGkuYWNyb0Zvcm0uZ2V0KCJEQSIpO3RoaXMuX2RlZmF1bHRBcHBlYXJhbmNlPSJzdHJpbmciPT10eXBlb2YgYT9hOiIiO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGE9cGFyc2VEZWZhdWx0QXBwZWFyYW5jZSh0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZSl9c2V0VGl0bGUoZSl7dGhpcy5fdGl0bGU9dGhpcy5fcGFyc2VTdHJpbmdIZWxwZXIoZSl9c2V0Q29udGVudHMoZSl7dGhpcy5fY29udGVudHM9dGhpcy5fcGFyc2VTdHJpbmdIZWxwZXIoZSl9c2V0TW9kaWZpY2F0aW9uRGF0ZShlKXt0aGlzLm1vZGlmaWNhdGlvbkRhdGU9InN0cmluZyI9PXR5cGVvZiBlP2U6bnVsbH1zZXRGbGFncyhlKXt0aGlzLmZsYWdzPU51bWJlci5pc0ludGVnZXIoZSkmJmU+MD9lOjA7dGhpcy5mbGFncyZWJiYiQW5ub3RhdGlvbiIhPT10aGlzLmNvbnN0cnVjdG9yLm5hbWUmJih0aGlzLmZsYWdzXj1WKX1oYXNGbGFnKGUpe3JldHVybiB0aGlzLl9oYXNGbGFnKHRoaXMuZmxhZ3MsZSl9c2V0UmVjdGFuZ2xlKGUpe3RoaXMucmVjdGFuZ2xlPWxvb2t1cE5vcm1hbFJlY3QoZSxbMCwwLDAsMF0pfXNldENvbG9yKGUpe3RoaXMuY29sb3I9Z2V0UmdiQ29sb3IoZSl9c2V0TGluZUVuZGluZ3MoZSl7dGhpcy5saW5lRW5kaW5ncz1bIk5vbmUiLCJOb25lIl07aWYoQXJyYXkuaXNBcnJheShlKSYmMj09PWUubGVuZ3RoKWZvcihsZXQgdD0wO3Q8Mjt0Kyspe2NvbnN0IGk9ZVt0XTtpZihpIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goaS5uYW1lKXtjYXNlIk5vbmUiOmNvbnRpbnVlO2Nhc2UiU3F1YXJlIjpjYXNlIkNpcmNsZSI6Y2FzZSJEaWFtb25kIjpjYXNlIk9wZW5BcnJvdyI6Y2FzZSJDbG9zZWRBcnJvdyI6Y2FzZSJCdXR0IjpjYXNlIlJPcGVuQXJyb3ciOmNhc2UiUkNsb3NlZEFycm93IjpjYXNlIlNsYXNoIjp0aGlzLmxpbmVFbmRpbmdzW3RdPWkubmFtZTtjb250aW51ZX13YXJuKGBJZ25vcmluZyBpbnZhbGlkIGxpbmVFbmRpbmc6ICR7aX1gKX19c2V0Um90YXRpb24oZSx0KXt0aGlzLnJvdGF0aW9uPTA7bGV0IGk9ZSBpbnN0YW5jZW9mIERpY3Q/ZS5nZXQoIlIiKXx8MDp0LmdldCgiUm90YXRlIil8fDA7aWYoTnVtYmVyLmlzSW50ZWdlcihpKSYmMCE9PWkpe2klPTM2MDtpPDAmJihpKz0zNjApO2klOTA9PTAmJih0aGlzLnJvdGF0aW9uPWkpfX1zZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQ29sb3JzKGUpe2lmKGUgaW5zdGFuY2VvZiBEaWN0KXt0aGlzLmJvcmRlckNvbG9yPWdldFJnYkNvbG9yKGUuZ2V0QXJyYXkoIkJDIiksbnVsbCk7dGhpcy5iYWNrZ3JvdW5kQ29sb3I9Z2V0UmdiQ29sb3IoZS5nZXRBcnJheSgiQkciKSxudWxsKX1lbHNlIHRoaXMuYm9yZGVyQ29sb3I9dGhpcy5iYWNrZ3JvdW5kQ29sb3I9bnVsbH1zZXRCb3JkZXJTdHlsZShlKXt0aGlzLmJvcmRlclN0eWxlPW5ldyBBbm5vdGF0aW9uQm9yZGVyU3R5bGU7aWYoZSBpbnN0YW5jZW9mIERpY3QpaWYoZS5oYXMoIkJTIikpe2NvbnN0IHQ9ZS5nZXQoIkJTIik7aWYodCBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9dC5nZXQoIlR5cGUiKTtpZighZXx8aXNOYW1lKGUsIkJvcmRlciIpKXt0aGlzLmJvcmRlclN0eWxlLnNldFdpZHRoKHQuZ2V0KCJXIiksdGhpcy5yZWN0YW5nbGUpO3RoaXMuYm9yZGVyU3R5bGUuc2V0U3R5bGUodC5nZXQoIlMiKSk7dGhpcy5ib3JkZXJTdHlsZS5zZXREYXNoQXJyYXkodC5nZXRBcnJheSgiRCIpKX19fWVsc2UgaWYoZS5oYXMoIkJvcmRlciIpKXtjb25zdCB0PWUuZ2V0QXJyYXkoIkJvcmRlciIpO2lmKEFycmF5LmlzQXJyYXkodCkmJnQubGVuZ3RoPj0zKXt0aGlzLmJvcmRlclN0eWxlLnNldEhvcml6b250YWxDb3JuZXJSYWRpdXModFswXSk7dGhpcy5ib3JkZXJTdHlsZS5zZXRWZXJ0aWNhbENvcm5lclJhZGl1cyh0WzFdKTt0aGlzLmJvcmRlclN0eWxlLnNldFdpZHRoKHRbMl0sdGhpcy5yZWN0YW5nbGUpOzQ9PT10Lmxlbmd0aCYmdGhpcy5ib3JkZXJTdHlsZS5zZXREYXNoQXJyYXkodFszXSwhMCl9fWVsc2UgdGhpcy5ib3JkZXJTdHlsZS5zZXRXaWR0aCgwKX1zZXRBcHBlYXJhbmNlKGUpe3RoaXMuYXBwZWFyYW5jZT1udWxsO2NvbnN0IHQ9ZS5nZXQoIkFQIik7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IGk9dC5nZXQoIk4iKTtpZihpIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7dGhpcy5hcHBlYXJhbmNlPWk7cmV0dXJufWlmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCBhPWUuZ2V0KCJBUyIpO2lmKCEoYSBpbnN0YW5jZW9mIE5hbWUmJmkuaGFzKGEubmFtZSkpKXJldHVybjtjb25zdCBzPWkuZ2V0KGEubmFtZSk7cyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJih0aGlzLmFwcGVhcmFuY2U9cyl9c2V0T3B0aW9uYWxDb250ZW50KGUpe3RoaXMub2M9bnVsbDtjb25zdCB0PWUuZ2V0KCJPQyIpO3QgaW5zdGFuY2VvZiBOYW1lP3dhcm4oInNldE9wdGlvbmFsQ29udGVudDogU3VwcG9ydCBmb3IgL05hbWUtZW50cnkgaXMgbm90IGltcGxlbWVudGVkLiIpOnQgaW5zdGFuY2VvZiBEaWN0JiYodGhpcy5vYz10KX1sb2FkUmVzb3VyY2VzKGUsdCl7cmV0dXJuIHQuZGljdC5nZXRBc3luYygiUmVzb3VyY2VzIikudGhlbigodD0+e2lmKCF0KXJldHVybjtyZXR1cm4gbmV3IE9iamVjdExvYWRlcih0LGUsdC54cmVmKS5sb2FkKCkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gdH0pKX0pKX1hc3luYyBnZXRPcGVyYXRvckxpc3QoZSx0LGEscyl7Y29uc3R7aGFzT3duQ2FudmFzOnIsaWQ6bixyZWN0Omd9PXRoaXMuZGF0YTtsZXQgYz10aGlzLmFwcGVhcmFuY2U7Y29uc3QgQz0hIShyJiZhJm8pO2lmKEMmJihnWzBdPT09Z1syXXx8Z1sxXT09PWdbM10pKXt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPSExO3JldHVybntvcExpc3Q6bmV3IE9wZXJhdG9yTGlzdCxzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6ITF9fWlmKCFjKXtpZighQylyZXR1cm57b3BMaXN0Om5ldyBPcGVyYXRvckxpc3Qsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfTtjPW5ldyBTdHJpbmdTdHJlYW0oIiIpO2MuZGljdD1uZXcgRGljdH1jb25zdCBoPWMuZGljdCxsPWF3YWl0IHRoaXMubG9hZFJlc291cmNlcyhbIkV4dEdTdGF0ZSIsIkNvbG9yU3BhY2UiLCJQYXR0ZXJuIiwiU2hhZGluZyIsIlhPYmplY3QiLCJGb250Il0sYyksUT1sb29rdXBSZWN0KGguZ2V0QXJyYXkoIkJCb3giKSxbMCwwLDEsMV0pLEU9bG9va3VwTWF0cml4KGguZ2V0QXJyYXkoIk1hdHJpeCIpLGkpLHU9Z2V0VHJhbnNmb3JtTWF0cml4KGcsUSxFKSxkPW5ldyBPcGVyYXRvckxpc3Q7bGV0IGY7dGhpcy5vYyYmKGY9YXdhaXQgZS5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyh0aGlzLm9jLG51bGwpKTt2b2lkIDAhPT1mJiZkLmFkZE9wKEplLFsiT0MiLGZdKTtkLmFkZE9wKFdlLFtuLGcsdSxFLENdKTthd2FpdCBlLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOmMsdGFzazp0LHJlc291cmNlczpsLG9wZXJhdG9yTGlzdDpkLGZhbGxiYWNrRm9udERpY3Q6dGhpcy5fZmFsbGJhY2tGb250RGljdH0pO2QuYWRkT3AoWGUsW10pO3ZvaWQgMCE9PWYmJmQuYWRkT3AoWWUsW10pO3RoaXMucmVzZXQoKTtyZXR1cm57b3BMaXN0OmQsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOkN9fWFzeW5jIHNhdmUoZSx0LGksYSl7cmV0dXJuIG51bGx9Z2V0IGhhc1RleHRDb250ZW50KCl7cmV0dXJuITF9YXN5bmMgZXh0cmFjdFRleHRDb250ZW50KGUsdCxpKXtpZighdGhpcy5hcHBlYXJhbmNlKXJldHVybjtjb25zdCBhPWF3YWl0IHRoaXMubG9hZFJlc291cmNlcyhbIkV4dEdTdGF0ZSIsIkZvbnQiLCJQcm9wZXJ0aWVzIiwiWE9iamVjdCJdLHRoaXMuYXBwZWFyYW5jZSkscz1bXSxyPVtdO2xldCBuPW51bGw7Y29uc3QgZz17ZGVzaXJlZFNpemU6TWF0aC5JbmZpbml0eSxyZWFkeTohMCxlbnF1ZXVlKGUsdCl7Zm9yKGNvbnN0IHQgb2YgZS5pdGVtcylpZih2b2lkIDAhPT10LnN0cil7bnx8PXQudHJhbnNmb3JtLnNsaWNlKC0yKTtyLnB1c2godC5zdHIpO2lmKHQuaGFzRU9MKXtzLnB1c2goci5qb2luKCIiKS50cmltRW5kKCkpO3IubGVuZ3RoPTB9fX19O2F3YWl0IGUuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTp0aGlzLmFwcGVhcmFuY2UsdGFzazp0LHJlc291cmNlczphLGluY2x1ZGVNYXJrZWRDb250ZW50OiEwLGtlZXBXaGl0ZVNwYWNlOiEwLHNpbms6Zyx2aWV3Qm94Oml9KTt0aGlzLnJlc2V0KCk7ci5sZW5ndGgmJnMucHVzaChyLmpvaW4oIiIpLnRyaW1FbmQoKSk7aWYocy5sZW5ndGg+MXx8c1swXSl7Y29uc3QgZT10aGlzLmFwcGVhcmFuY2UuZGljdCx0PWxvb2t1cFJlY3QoZS5nZXRBcnJheSgiQkJveCIpLG51bGwpLGk9bG9va3VwTWF0cml4KGUuZ2V0QXJyYXkoIk1hdHJpeCIpLG51bGwpO3RoaXMuZGF0YS50ZXh0UG9zaXRpb249dGhpcy5fdHJhbnNmb3JtUG9pbnQobix0LGkpO3RoaXMuZGF0YS50ZXh0Q29udGVudD1zfX1fdHJhbnNmb3JtUG9pbnQoZSx0LGkpe2NvbnN0e3JlY3Q6YX09dGhpcy5kYXRhO3R8fD1bMCwwLDEsMV07aXx8PVsxLDAsMCwxLDAsMF07Y29uc3Qgcz1nZXRUcmFuc2Zvcm1NYXRyaXgoYSx0LGkpO3NbNF0tPWFbMF07c1s1XS09YVsxXTtlPVV0aWwuYXBwbHlUcmFuc2Zvcm0oZSxzKTtyZXR1cm4gVXRpbC5hcHBseVRyYW5zZm9ybShlLGkpfWdldEZpZWxkT2JqZWN0KCl7cmV0dXJuIHRoaXMuZGF0YS5raWRJZHM/e2lkOnRoaXMuZGF0YS5pZCxhY3Rpb25zOnRoaXMuZGF0YS5hY3Rpb25zLG5hbWU6dGhpcy5kYXRhLmZpZWxkTmFtZSxzdHJva2VDb2xvcjp0aGlzLmRhdGEuYm9yZGVyQ29sb3IsZmlsbENvbG9yOnRoaXMuZGF0YS5iYWNrZ3JvdW5kQ29sb3IsdHlwZToiIixraWRJZHM6dGhpcy5kYXRhLmtpZElkcyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgscm90YXRpb246dGhpcy5yb3RhdGlvbn06bnVsbH1yZXNldCgpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3N0cmVhbXMpZS5yZXNldCgpfV9jb25zdHJ1Y3RGaWVsZE5hbWUoZSl7aWYoIWUuaGFzKCJUIikmJiFlLmhhcygiUGFyZW50Iikpe3dhcm4oIlVua25vd24gZmllbGQgbmFtZSwgZmFsbGluZyBiYWNrIHRvIGVtcHR5IGZpZWxkIG5hbWUuIik7cmV0dXJuIiJ9aWYoIWUuaGFzKCJQYXJlbnQiKSlyZXR1cm4gc3RyaW5nVG9QREZTdHJpbmcoZS5nZXQoIlQiKSk7Y29uc3QgdD1bXTtlLmhhcygiVCIpJiZ0LnVuc2hpZnQoc3RyaW5nVG9QREZTdHJpbmcoZS5nZXQoIlQiKSkpO2xldCBpPWU7Y29uc3QgYT1uZXcgUmVmU2V0O2Uub2JqSWQmJmEucHV0KGUub2JqSWQpO2Zvcig7aS5oYXMoIlBhcmVudCIpOyl7aT1pLmdldCgiUGFyZW50Iik7aWYoIShpIGluc3RhbmNlb2YgRGljdCl8fGkub2JqSWQmJmEuaGFzKGkub2JqSWQpKWJyZWFrO2kub2JqSWQmJmEucHV0KGkub2JqSWQpO2kuaGFzKCJUIikmJnQudW5zaGlmdChzdHJpbmdUb1BERlN0cmluZyhpLmdldCgiVCIpKSl9cmV0dXJuIHQuam9pbigiLiIpfX1jbGFzcyBBbm5vdGF0aW9uQm9yZGVyU3R5bGV7Y29uc3RydWN0b3IoKXt0aGlzLndpZHRoPTE7dGhpcy5yYXdXaWR0aD0xO3RoaXMuc3R5bGU9bEE7dGhpcy5kYXNoQXJyYXk9WzNdO3RoaXMuaG9yaXpvbnRhbENvcm5lclJhZGl1cz0wO3RoaXMudmVydGljYWxDb3JuZXJSYWRpdXM9MH1zZXRXaWR0aChlLHQ9WzAsMCwwLDBdKXtpZihlIGluc3RhbmNlb2YgTmFtZSl0aGlzLndpZHRoPTA7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUpe2lmKGU+MCl7dGhpcy5yYXdXaWR0aD1lO2NvbnN0IGk9KHRbMl0tdFswXSkvMixhPSh0WzNdLXRbMV0pLzI7aWYoaT4wJiZhPjAmJihlPml8fGU+YSkpe3dhcm4oYEFubm90YXRpb25Cb3JkZXJTdHlsZS5zZXRXaWR0aCAtIGlnbm9yaW5nIHdpZHRoOiAke2V9YCk7ZT0xfX10aGlzLndpZHRoPWV9fXNldFN0eWxlKGUpe2lmKGUgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChlLm5hbWUpe2Nhc2UiUyI6dGhpcy5zdHlsZT1sQTticmVhaztjYXNlIkQiOnRoaXMuc3R5bGU9QkE7YnJlYWs7Y2FzZSJCIjp0aGlzLnN0eWxlPVFBO2JyZWFrO2Nhc2UiSSI6dGhpcy5zdHlsZT1FQTticmVhaztjYXNlIlUiOnRoaXMuc3R5bGU9dUF9fXNldERhc2hBcnJheShlLHQ9ITEpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCBpPSEwLGE9ITA7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoISgrdD49MCkpe2k9ITE7YnJlYWt9dD4wJiYoYT0hMSl9aWYoMD09PWUubGVuZ3RofHxpJiYhYSl7dGhpcy5kYXNoQXJyYXk9ZTt0JiZ0aGlzLnNldFN0eWxlKE5hbWUuZ2V0KCJEIikpfWVsc2UgdGhpcy53aWR0aD0wfWVsc2UgZSYmKHRoaXMud2lkdGg9MCl9c2V0SG9yaXpvbnRhbENvcm5lclJhZGl1cyhlKXtOdW1iZXIuaXNJbnRlZ2VyKGUpJiYodGhpcy5ob3Jpem9udGFsQ29ybmVyUmFkaXVzPWUpfXNldFZlcnRpY2FsQ29ybmVyUmFkaXVzKGUpe051bWJlci5pc0ludGVnZXIoZSkmJih0aGlzLnZlcnRpY2FsQ29ybmVyUmFkaXVzPWUpfX1jbGFzcyBNYXJrdXBBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7aWYodC5oYXMoIklSVCIpKXtjb25zdCBlPXQuZ2V0UmF3KCJJUlQiKTt0aGlzLmRhdGEuaW5SZXBseVRvPWUgaW5zdGFuY2VvZiBSZWY/ZS50b1N0cmluZygpOm51bGw7Y29uc3QgaT10LmdldCgiUlQiKTt0aGlzLmRhdGEucmVwbHlUeXBlPWkgaW5zdGFuY2VvZiBOYW1lP2kubmFtZTpafWxldCBpPW51bGw7aWYodGhpcy5kYXRhLnJlcGx5VHlwZT09PWope2NvbnN0IGU9dC5nZXQoIklSVCIpO3RoaXMuc2V0VGl0bGUoZS5nZXQoIlQiKSk7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q29udGVudHMoZS5nZXQoIkNvbnRlbnRzIikpO3RoaXMuZGF0YS5jb250ZW50c09iaj10aGlzLl9jb250ZW50cztpZihlLmhhcygiQ3JlYXRpb25EYXRlIikpe3RoaXMuc2V0Q3JlYXRpb25EYXRlKGUuZ2V0KCJDcmVhdGlvbkRhdGUiKSk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT10aGlzLmNyZWF0aW9uRGF0ZX1lbHNlIHRoaXMuZGF0YS5jcmVhdGlvbkRhdGU9bnVsbDtpZihlLmhhcygiTSIpKXt0aGlzLnNldE1vZGlmaWNhdGlvbkRhdGUoZS5nZXQoIk0iKSk7dGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9dGhpcy5tb2RpZmljYXRpb25EYXRlfWVsc2UgdGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9bnVsbDtpPWUuZ2V0UmF3KCJQb3B1cCIpO2lmKGUuaGFzKCJDIikpe3RoaXMuc2V0Q29sb3IoZS5nZXRBcnJheSgiQyIpKTt0aGlzLmRhdGEuY29sb3I9dGhpcy5jb2xvcn1lbHNlIHRoaXMuZGF0YS5jb2xvcj1udWxsfWVsc2V7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q3JlYXRpb25EYXRlKHQuZ2V0KCJDcmVhdGlvbkRhdGUiKSk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT10aGlzLmNyZWF0aW9uRGF0ZTtpPXQuZ2V0UmF3KCJQb3B1cCIpO3QuaGFzKCJDIil8fCh0aGlzLmRhdGEuY29sb3I9bnVsbCl9dGhpcy5kYXRhLnBvcHVwUmVmPWkgaW5zdGFuY2VvZiBSZWY/aS50b1N0cmluZygpOm51bGw7dC5oYXMoIlJDIikmJih0aGlzLmRhdGEucmljaFRleHQ9WEZBRmFjdG9yeS5nZXRSaWNoVGV4dEFzSHRtbCh0LmdldCgiUkMiKSkpfXNldENyZWF0aW9uRGF0ZShlKXt0aGlzLmNyZWF0aW9uRGF0ZT0ic3RyaW5nIj09dHlwZW9mIGU/ZTpudWxsfV9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjplLGV4dHJhOnQsc3Ryb2tlQ29sb3I6aSxmaWxsQ29sb3I6YSxibGVuZE1vZGU6cyxzdHJva2VBbHBoYTpyLGZpbGxBbHBoYTpuLHBvaW50c0NhbGxiYWNrOmd9KXtsZXQgbz1OdW1iZXIuTUFYX1ZBTFVFLGM9TnVtYmVyLk1BWF9WQUxVRSxDPU51bWJlci5NSU5fVkFMVUUsaD1OdW1iZXIuTUlOX1ZBTFVFO2NvbnN0IGw9WyJxIl07dCYmbC5wdXNoKHQpO2kmJmwucHVzaChgJHtpWzBdfSAke2lbMV19ICR7aVsyXX0gUkdgKTthJiZsLnB1c2goYCR7YVswXX0gJHthWzFdfSAke2FbMl19IHJnYCk7bGV0IFE9dGhpcy5kYXRhLnF1YWRQb2ludHM7UXx8KFE9RmxvYXQzMkFycmF5LmZyb20oW3RoaXMucmVjdGFuZ2xlWzBdLHRoaXMucmVjdGFuZ2xlWzNdLHRoaXMucmVjdGFuZ2xlWzJdLHRoaXMucmVjdGFuZ2xlWzNdLHRoaXMucmVjdGFuZ2xlWzBdLHRoaXMucmVjdGFuZ2xlWzFdLHRoaXMucmVjdGFuZ2xlWzJdLHRoaXMucmVjdGFuZ2xlWzFdXSkpO2ZvcihsZXQgZT0wLHQ9US5sZW5ndGg7ZTx0O2UrPTgpe2NvbnN0W3QsaSxhLHNdPWcobCxRLnN1YmFycmF5KGUsZSs4KSk7bz1NYXRoLm1pbihvLHQpO0M9TWF0aC5tYXgoQyxpKTtjPU1hdGgubWluKGMsYSk7aD1NYXRoLm1heChoLHMpfWwucHVzaCgiUSIpO2NvbnN0IEU9bmV3IERpY3QoZSksdT1uZXcgRGljdChlKTt1LnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Y29uc3QgZD1uZXcgU3RyaW5nU3RyZWFtKGwuam9pbigiICIpKTtkLmRpY3Q9dTtFLnNldCgiRm0wIixkKTtjb25zdCBmPW5ldyBEaWN0KGUpO3MmJmYuc2V0KCJCTSIsTmFtZS5nZXQocykpOyJudW1iZXIiPT10eXBlb2YgciYmZi5zZXQoIkNBIixyKTsibnVtYmVyIj09dHlwZW9mIG4mJmYuc2V0KCJjYSIsbik7Y29uc3QgcD1uZXcgRGljdChlKTtwLnNldCgiR1MwIixmKTtjb25zdCBtPW5ldyBEaWN0KGUpO20uc2V0KCJFeHRHU3RhdGUiLHApO20uc2V0KCJYT2JqZWN0IixFKTtjb25zdCB5PW5ldyBEaWN0KGUpO3kuc2V0KCJSZXNvdXJjZXMiLG0pO2NvbnN0IHc9dGhpcy5kYXRhLnJlY3Q9W28sYyxDLGhdO3kuc2V0KCJCQm94Iix3KTt0aGlzLmFwcGVhcmFuY2U9bmV3IFN0cmluZ1N0cmVhbSgiL0dTMCBncyAvRm0wIERvIik7dGhpcy5hcHBlYXJhbmNlLmRpY3Q9eTt0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5hcHBlYXJhbmNlLGQpfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBbm5vdGF0aW9uKGUsdCxpLGEpe3QucmVmfHwodC5yZWY9ZS5nZXROZXdUZW1wb3JhcnlSZWYoKSk7Y29uc3Qgcz10LnJlZixyPWF3YWl0IHRoaXMuY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbSh0LGUsYSk7bGV0IG47aWYocil7Y29uc3QgYT1lLmdldE5ld1RlbXBvcmFyeVJlZigpO249dGhpcy5jcmVhdGVOZXdEaWN0KHQsZSx7YXBSZWY6YX0pO2kucHV0KGEse2RhdGE6cn0pfWVsc2Ugbj10aGlzLmNyZWF0ZU5ld0RpY3QodCxlLHt9KTtOdW1iZXIuaXNJbnRlZ2VyKHQucGFyZW50VHJlZUlkKSYmbi5zZXQoIlN0cnVjdFBhcmVudCIsdC5wYXJlbnRUcmVlSWQpO2kucHV0KHMse2RhdGE6bn0pO3JldHVybntyZWY6c319c3RhdGljIGFzeW5jIGNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLHQsaSxhKXtjb25zdCBzPWF3YWl0IHRoaXMuY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShpLHQsYSkscj10aGlzLmNyZWF0ZU5ld0RpY3QoaSx0LHM/e2FwOnN9Ont9KSxuPW5ldyB0aGlzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcih7ZGljdDpyLHhyZWY6dCxhbm5vdGF0aW9uR2xvYmFsczplLGV2YWx1YXRvck9wdGlvbnM6YS5ldmFsdWF0b3JPcHRpb25zfSk7aS5yZWYmJihuLnJlZj1uLnJlZlRvUmVwbGFjZT1pLnJlZik7cmV0dXJuIG59fWNsYXNzIFdpZGdldEFubm90YXRpb24gZXh0ZW5kcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOmksYW5ub3RhdGlvbkdsb2JhbHM6YX09ZSxzPXRoaXMuZGF0YTt0aGlzLl9uZWVkQXBwZWFyYW5jZXM9ZS5uZWVkQXBwZWFyYW5jZXM7cy5hbm5vdGF0aW9uVHlwZT1YO3ZvaWQgMD09PXMuZmllbGROYW1lJiYocy5maWVsZE5hbWU9dGhpcy5fY29uc3RydWN0RmllbGROYW1lKHQpKTt2b2lkIDA9PT1zLmFjdGlvbnMmJihzLmFjdGlvbnM9Y29sbGVjdEFjdGlvbnMoaSx0LGRBKSk7bGV0IHI9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiViIsZ2V0QXJyYXk6ITB9KTtzLmZpZWxkVmFsdWU9dGhpcy5fZGVjb2RlRm9ybVZhbHVlKHIpO2NvbnN0IG49Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiRFYiLGdldEFycmF5OiEwfSk7cy5kZWZhdWx0RmllbGRWYWx1ZT10aGlzLl9kZWNvZGVGb3JtVmFsdWUobik7aWYodm9pZCAwPT09ciYmYS54ZmFEYXRhc2V0cyl7Y29uc3QgZT10aGlzLl90aXRsZS5zdHI7aWYoZSl7dGhpcy5faGFzVmFsdWVGcm9tWEZBPSEwO3MuZmllbGRWYWx1ZT1yPWEueGZhRGF0YXNldHMuZ2V0VmFsdWUoZSl9fXZvaWQgMD09PXImJm51bGwhPT1zLmRlZmF1bHRGaWVsZFZhbHVlJiYocy5maWVsZFZhbHVlPXMuZGVmYXVsdEZpZWxkVmFsdWUpO3MuYWx0ZXJuYXRpdmVUZXh0PXN0cmluZ1RvUERGU3RyaW5nKHQuZ2V0KCJUVSIpfHwiIik7dGhpcy5zZXREZWZhdWx0QXBwZWFyYW5jZShlKTtzLmhhc0FwcGVhcmFuY2V8fD10aGlzLl9uZWVkQXBwZWFyYW5jZXMmJnZvaWQgMCE9PXMuZmllbGRWYWx1ZSYmbnVsbCE9PXMuZmllbGRWYWx1ZTtjb25zdCBnPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkZUIn0pO3MuZmllbGRUeXBlPWcgaW5zdGFuY2VvZiBOYW1lP2cubmFtZTpudWxsO2NvbnN0IG89Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiRFIifSksYz1hLmFjcm9Gb3JtLmdldCgiRFIiKSxDPXRoaXMuYXBwZWFyYW5jZT8uZGljdC5nZXQoIlJlc291cmNlcyIpO3RoaXMuX2ZpZWxkUmVzb3VyY2VzPXtsb2NhbFJlc291cmNlczpvLGFjcm9Gb3JtUmVzb3VyY2VzOmMsYXBwZWFyYW5jZVJlc291cmNlczpDLG1lcmdlZFJlc291cmNlczpEaWN0Lm1lcmdlKHt4cmVmOmksZGljdEFycmF5OltvLEMsY10sbWVyZ2VTdWJEaWN0czohMH0pfTtzLmZpZWxkRmxhZ3M9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiRmYifSk7KCFOdW1iZXIuaXNJbnRlZ2VyKHMuZmllbGRGbGFncyl8fHMuZmllbGRGbGFnczwwKSYmKHMuZmllbGRGbGFncz0wKTtzLnJlYWRPbmx5PXRoaXMuaGFzRmllbGRGbGFnKGlBKTtzLnJlcXVpcmVkPXRoaXMuaGFzRmllbGRGbGFnKGFBKTtzLmhpZGRlbj10aGlzLl9oYXNGbGFnKHMuYW5ub3RhdGlvbkZsYWdzLHopfHx0aGlzLl9oYXNGbGFnKHMuYW5ub3RhdGlvbkZsYWdzLEFBKX1fZGVjb2RlRm9ybVZhbHVlKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UuZmlsdGVyKChlPT4ic3RyaW5nIj09dHlwZW9mIGUpKS5tYXAoKGU9PnN0cmluZ1RvUERGU3RyaW5nKGUpKSk6ZSBpbnN0YW5jZW9mIE5hbWU/c3RyaW5nVG9QREZTdHJpbmcoZS5uYW1lKToic3RyaW5nIj09dHlwZW9mIGU/c3RyaW5nVG9QREZTdHJpbmcoZSk6bnVsbH1oYXNGaWVsZEZsYWcoZSl7cmV0dXJuISEodGhpcy5kYXRhLmZpZWxkRmxhZ3MmZSl9X2lzVmlld2FibGUoZSl7cmV0dXJuITB9bXVzdEJlVmlld2VkKGUsdCl7cmV0dXJuIHQ/dGhpcy52aWV3YWJsZTpzdXBlci5tdXN0QmVWaWV3ZWQoZSx0KSYmIXRoaXMuX2hhc0ZsYWcodGhpcy5mbGFncyxBQSl9Z2V0Um90YXRpb25NYXRyaXgoZSl7bGV0IHQ9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/LnJvdGF0aW9uO3ZvaWQgMD09PXQmJih0PXRoaXMucm90YXRpb24pO2lmKDA9PT10KXJldHVybiBpO3JldHVybiBnZXRSb3RhdGlvbk1hdHJpeCh0LHRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdLHRoaXMuZGF0YS5yZWN0WzNdLXRoaXMuZGF0YS5yZWN0WzFdKX1nZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQXBwZWFyYW5jZXMoZSl7bGV0IHQ9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/LnJvdGF0aW9uO3ZvaWQgMD09PXQmJih0PXRoaXMucm90YXRpb24pO2lmKCF0aGlzLmJhY2tncm91bmRDb2xvciYmIXRoaXMuYm9yZGVyQ29sb3IpcmV0dXJuIiI7Y29uc3QgaT10aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXSxhPXRoaXMuZGF0YS5yZWN0WzNdLXRoaXMuZGF0YS5yZWN0WzFdLHM9MD09PXR8fDE4MD09PXQ/YDAgMCAke2l9ICR7YX0gcmVgOmAwIDAgJHthfSAke2l9IHJlYDtsZXQgcj0iIjt0aGlzLmJhY2tncm91bmRDb2xvciYmKHI9YCR7Z2V0UGRmQ29sb3IodGhpcy5iYWNrZ3JvdW5kQ29sb3IsITApfSAke3N9IGYgYCk7aWYodGhpcy5ib3JkZXJDb2xvcil7cis9YCR7dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MX0gdyAke2dldFBkZkNvbG9yKHRoaXMuYm9yZGVyQ29sb3IsITEpfSAke3N9IFMgYH1yZXR1cm4gcn1hc3luYyBnZXRPcGVyYXRvckxpc3QoZSx0LGksYSl7aWYoaSZoJiYhKHRoaXMgaW5zdGFuY2VvZiBTaWduYXR1cmVXaWRnZXRBbm5vdGF0aW9uKSYmIXRoaXMuZGF0YS5ub0hUTUwmJiF0aGlzLmRhdGEuaGFzT3duQ2FudmFzKXJldHVybntvcExpc3Q6bmV3IE9wZXJhdG9yTGlzdCxzZXBhcmF0ZUZvcm06ITAsc2VwYXJhdGVDYW52YXM6ITF9O2lmKCF0aGlzLl9oYXNUZXh0KXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGksYSk7Y29uc3Qgcz1hd2FpdCB0aGlzLl9nZXRBcHBlYXJhbmNlKGUsdCxpLGEpO2lmKHRoaXMuYXBwZWFyYW5jZSYmbnVsbD09PXMpcmV0dXJuIHN1cGVyLmdldE9wZXJhdG9yTGlzdChlLHQsaSxhKTtjb25zdCByPW5ldyBPcGVyYXRvckxpc3Q7aWYoIXRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlfHxudWxsPT09cylyZXR1cm57b3BMaXN0OnIsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfTtjb25zdCBuPSEhKHRoaXMuZGF0YS5oYXNPd25DYW52YXMmJmkmbyksZz1bMCwwLHRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdLHRoaXMuZGF0YS5yZWN0WzNdLXRoaXMuZGF0YS5yZWN0WzFdXSxjPWdldFRyYW5zZm9ybU1hdHJpeCh0aGlzLmRhdGEucmVjdCxnLFsxLDAsMCwxLDAsMF0pO2xldCBDO3RoaXMub2MmJihDPWF3YWl0IGUucGFyc2VNYXJrZWRDb250ZW50UHJvcHModGhpcy5vYyxudWxsKSk7dm9pZCAwIT09QyYmci5hZGRPcChKZSxbIk9DIixDXSk7ci5hZGRPcChXZSxbdGhpcy5kYXRhLmlkLHRoaXMuZGF0YS5yZWN0LGMsdGhpcy5nZXRSb3RhdGlvbk1hdHJpeChhKSxuXSk7Y29uc3QgbD1uZXcgU3RyaW5nU3RyZWFtKHMpO2F3YWl0IGUuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06bCx0YXNrOnQscmVzb3VyY2VzOnRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcyxvcGVyYXRvckxpc3Q6cn0pO3IuYWRkT3AoWGUsW10pO3ZvaWQgMCE9PUMmJnIuYWRkT3AoWWUsW10pO3JldHVybntvcExpc3Q6cixzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6bn19X2dldE1LRGljdChlKXtjb25zdCB0PW5ldyBEaWN0KG51bGwpO2UmJnQuc2V0KCJSIixlKTt0aGlzLmJvcmRlckNvbG9yJiZ0LnNldCgiQkMiLGdldFBkZkNvbG9yQXJyYXkodGhpcy5ib3JkZXJDb2xvcikpO3RoaXMuYmFja2dyb3VuZENvbG9yJiZ0LnNldCgiQkciLGdldFBkZkNvbG9yQXJyYXkodGhpcy5iYWNrZ3JvdW5kQ29sb3IpKTtyZXR1cm4gdC5zaXplPjA/dDpudWxsfWFtZW5kU2F2ZWREaWN0KGUsdCl7fXNldFZhbHVlKGUsdCxpLGEpe2NvbnN0e2RpY3Q6cyxyZWY6cn09ZnVuY3Rpb24gZ2V0UGFyZW50VG9VcGRhdGUoZSx0LGkpe2NvbnN0IGE9bmV3IFJlZlNldCxzPWUscj17ZGljdDpudWxsLHJlZjpudWxsfTtmb3IoO2UgaW5zdGFuY2VvZiBEaWN0JiYhYS5oYXModCk7KXthLnB1dCh0KTtpZihlLmhhcygiVCIpKWJyZWFrO2lmKCEoKHQ9ZS5nZXRSYXcoIlBhcmVudCIpKWluc3RhbmNlb2YgUmVmKSlyZXR1cm4gcjtlPWkuZmV0Y2godCl9aWYoZSBpbnN0YW5jZW9mIERpY3QmJmUhPT1zKXtyLmRpY3Q9ZTtyLnJlZj10fXJldHVybiByfShlLHRoaXMucmVmLGkpO2lmKHMpe2lmKCFhLmhhcyhyKSl7Y29uc3QgZT1zLmNsb25lKCk7ZS5zZXQoIlYiLHQpO2EucHV0KHIse2RhdGE6ZX0pO3JldHVybiBlfX1lbHNlIGUuc2V0KCJWIix0KTtyZXR1cm4gbnVsbH1hc3luYyBzYXZlKGUsdCxhLHMpe2NvbnN0IHI9YT8uZ2V0KHRoaXMuZGF0YS5pZCksbj10aGlzLl9idWlsZEZsYWdzKHI/Lm5vVmlldyxyPy5ub1ByaW50KTtsZXQgZz1yPy52YWx1ZSxvPXI/LnJvdGF0aW9uO2lmKGc9PT10aGlzLmRhdGEuZmllbGRWYWx1ZXx8dm9pZCAwPT09Zyl7aWYoIXRoaXMuX2hhc1ZhbHVlRnJvbVhGQSYmdm9pZCAwPT09byYmdm9pZCAwPT09bilyZXR1cm47Z3x8PXRoaXMuZGF0YS5maWVsZFZhbHVlfWlmKHZvaWQgMD09PW8mJiF0aGlzLl9oYXNWYWx1ZUZyb21YRkEmJkFycmF5LmlzQXJyYXkoZykmJkFycmF5LmlzQXJyYXkodGhpcy5kYXRhLmZpZWxkVmFsdWUpJiZpc0FycmF5RXF1YWwoZyx0aGlzLmRhdGEuZmllbGRWYWx1ZSkmJnZvaWQgMD09PW4pcmV0dXJuO3ZvaWQgMD09PW8mJihvPXRoaXMucm90YXRpb24pO2xldCBjPW51bGw7aWYoIXRoaXMuX25lZWRBcHBlYXJhbmNlcyl7Yz1hd2FpdCB0aGlzLl9nZXRBcHBlYXJhbmNlKGUsdCxDLGEpO2lmKG51bGw9PT1jJiZ2b2lkIDA9PT1uKXJldHVybn1sZXQgaD0hMTtpZihjPy5uZWVkQXBwZWFyYW5jZXMpe2g9ITA7Yz1udWxsfWNvbnN0e3hyZWY6bH09ZSxRPWwuZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShRIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IEU9bmV3IERpY3QobCk7Zm9yKGNvbnN0IGUgb2YgUS5nZXRLZXlzKCkpIkFQIiE9PWUmJkUuc2V0KGUsUS5nZXRSYXcoZSkpO2lmKHZvaWQgMCE9PW4pe0Uuc2V0KCJGIixuKTtpZihudWxsPT09YyYmIWgpe2NvbnN0IGU9US5nZXRSYXcoIkFQIik7ZSYmRS5zZXQoIkFQIixlKX19Y29uc3QgdT17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOmd9LGQ9dGhpcy5zZXRWYWx1ZShFLEFycmF5LmlzQXJyYXkoZyk/Zy5tYXAoc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRSk6c3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShnKSxsLHMpO3RoaXMuYW1lbmRTYXZlZERpY3QoYSxkfHxFKTtjb25zdCBmPXRoaXMuX2dldE1LRGljdChvKTtmJiZFLnNldCgiTUsiLGYpO3MucHV0KHRoaXMucmVmLHtkYXRhOkUseGZhOnUsbmVlZEFwcGVhcmFuY2VzOmh9KTtpZihudWxsIT09Yyl7Y29uc3QgZT1sLmdldE5ld1RlbXBvcmFyeVJlZigpLHQ9bmV3IERpY3QobCk7RS5zZXQoIkFQIix0KTt0LnNldCgiTiIsZSk7Y29uc3Qgcj10aGlzLl9nZXRTYXZlRmllbGRSZXNvdXJjZXMobCksbj1uZXcgU3RyaW5nU3RyZWFtKGMpLGc9bi5kaWN0PW5ldyBEaWN0KGwpO2cuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtnLnNldCgiUmVzb3VyY2VzIixyKTtnLnNldCgiQkJveCIsWzAsMCx0aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXSx0aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXV0pO2NvbnN0IG89dGhpcy5nZXRSb3RhdGlvbk1hdHJpeChhKTtvIT09aSYmZy5zZXQoIk1hdHJpeCIsbyk7cy5wdXQoZSx7ZGF0YTpuLHhmYTpudWxsLG5lZWRBcHBlYXJhbmNlczohMX0pfUUuc2V0KCJNIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKX1hc3luYyBfZ2V0QXBwZWFyYW5jZShlLHQsaSxhKXtpZih0aGlzLmhhc0ZpZWxkRmxhZyhyQSkpcmV0dXJuIG51bGw7Y29uc3Qgcz1hPy5nZXQodGhpcy5kYXRhLmlkKTtsZXQgcixnO2lmKHMpe3I9cy5mb3JtYXR0ZWRWYWx1ZXx8cy52YWx1ZTtnPXMucm90YXRpb259aWYodm9pZCAwPT09ZyYmdm9pZCAwPT09ciYmIXRoaXMuX25lZWRBcHBlYXJhbmNlcyYmKCF0aGlzLl9oYXNWYWx1ZUZyb21YRkF8fHRoaXMuYXBwZWFyYW5jZSkpcmV0dXJuIG51bGw7Y29uc3Qgbz10aGlzLmdldEJvcmRlckFuZEJhY2tncm91bmRBcHBlYXJhbmNlcyhhKTtpZih2b2lkIDA9PT1yKXtyPXRoaXMuZGF0YS5maWVsZFZhbHVlO2lmKCFyKXJldHVybmAvVHggQk1DIHEgJHtvfVEgRU1DYH1BcnJheS5pc0FycmF5KHIpJiYxPT09ci5sZW5ndGgmJihyPXJbMF0pO2Fzc2VydCgic3RyaW5nIj09dHlwZW9mIHIsIkV4cGVjdGVkIGB2YWx1ZWAgdG8gYmUgYSBzdHJpbmcuIik7cj1yLnRyaW1FbmQoKTtpZih0aGlzLmRhdGEuY29tYm8pe2NvbnN0IGU9dGhpcy5kYXRhLm9wdGlvbnMuZmluZCgoKHtleHBvcnRWYWx1ZTplfSk9PnI9PT1lKSk7cj1lPy5kaXNwbGF5VmFsdWV8fHJ9aWYoIiI9PT1yKXJldHVybmAvVHggQk1DIHEgJHtvfVEgRU1DYDt2b2lkIDA9PT1nJiYoZz10aGlzLnJvdGF0aW9uKTtsZXQgYyxoPS0xO2lmKHRoaXMuZGF0YS5tdWx0aUxpbmUpe2M9ci5zcGxpdCgvXHJcbj98XG4vKS5tYXAoKGU9PmUubm9ybWFsaXplKCJORkMiKSkpO2g9Yy5sZW5ndGh9ZWxzZSBjPVtyLnJlcGxhY2UoL1xyXG4/fFxuLywiIikubm9ybWFsaXplKCJORkMiKV07bGV0IGw9dGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV0sUT10aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXTs5MCE9PWcmJjI3MCE9PWd8fChbUSxsXT1bbCxRXSk7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2V8fCh0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPXBhcnNlRGVmYXVsdEFwcGVhcmFuY2UodGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9Ii9IZWx2ZXRpY2EgMCBUZiAwIGciKSk7bGV0IEUsdSxkLGY9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEoZSx0LHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsdGhpcy5fZmllbGRSZXNvdXJjZXMubWVyZ2VkUmVzb3VyY2VzKTtjb25zdCBwPVtdO2xldCBtPSExO2Zvcihjb25zdCBlIG9mIGMpe2NvbnN0IHQ9Zi5lbmNvZGVTdHJpbmcoZSk7dC5sZW5ndGg+MSYmKG09ITApO3AucHVzaCh0LmpvaW4oIiIpKX1pZihtJiZpJkMpcmV0dXJue25lZWRBcHBlYXJhbmNlczohMH07aWYobSYmdGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IGk9dGhpcy5kYXRhLmNvbWI/Im1vbm9zcGFjZSI6InNhbnMtc2VyaWYiLGE9bmV3IEZha2VVbmljb2RlRm9udChlLnhyZWYsaSkscz1hLmNyZWF0ZUZvbnRSZXNvdXJjZXMoYy5qb2luKCIiKSksbj1zLmdldFJhdygiRm9udCIpO2lmKHRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcy5oYXMoIkZvbnQiKSl7Y29uc3QgZT10aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMuZ2V0KCJGb250Iik7Zm9yKGNvbnN0IHQgb2Ygbi5nZXRLZXlzKCkpZS5zZXQodCxuLmdldFJhdyh0KSl9ZWxzZSB0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMuc2V0KCJGb250IixuKTtjb25zdCBnPWEuZm9udE5hbWUubmFtZTtmPWF3YWl0IFdpZGdldEFubm90YXRpb24uX2dldEZvbnREYXRhKGUsdCx7Zm9udE5hbWU6Zyxmb250U2l6ZTowfSxzKTtmb3IobGV0IGU9MCx0PXAubGVuZ3RoO2U8dDtlKyspcFtlXT1zdHJpbmdUb1VURjE2U3RyaW5nKGNbZV0pO2NvbnN0IG89T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEpO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udFNpemU9MDt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnROYW1lPWc7W0UsdSxkXT10aGlzLl9jb21wdXRlRm9udFNpemUobC0yLFEtNCxyLGYsaCk7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT1vfWVsc2V7dGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWR8fHdhcm4oIl9nZXRBcHBlYXJhbmNlOiBPZmZzY3JlZW5DYW52YXMgaXMgbm90IHN1cHBvcnRlZCwgYW5ub3RhdGlvbiBtYXkgbm90IHJlbmRlciBjb3JyZWN0bHkuIik7W0UsdSxkXT10aGlzLl9jb21wdXRlRm9udFNpemUobC0yLFEtNCxyLGYsaCl9bGV0IHk9Zi5kZXNjZW50O3k9aXNOYU4oeSk/bipkOk1hdGgubWF4KG4qZCxNYXRoLmFicyh5KSp1KTtjb25zdCB3PU1hdGgubWluKE1hdGguZmxvb3IoKGwtdSkvMiksMSksRD10aGlzLmRhdGEudGV4dEFsaWdubWVudDtpZih0aGlzLmRhdGEubXVsdGlMaW5lKXJldHVybiB0aGlzLl9nZXRNdWx0aWxpbmVBcHBlYXJhbmNlKEUscCxmLHUsUSxsLEQsMix3LHksZCxhKTtpZih0aGlzLmRhdGEuY29tYilyZXR1cm4gdGhpcy5fZ2V0Q29tYkFwcGVhcmFuY2UoRSxmLHBbMF0sdSxRLGwsMix3LHksZCxhKTtjb25zdCBiPXcreTtpZigwPT09RHx8RD4yKXJldHVybmAvVHggQk1DIHEgJHtvfUJUIGArRStgIDEgMCAwIDEgJHtudW1iZXJUb1N0cmluZygyKX0gJHtudW1iZXJUb1N0cmluZyhiKX0gVG0gKCR7ZXNjYXBlU3RyaW5nKHBbMF0pfSkgVGogRVQgUSBFTUNgO3JldHVybmAvVHggQk1DIHEgJHtvfUJUIGArRStgIDEgMCAwIDEgMCAwIFRtICR7dGhpcy5fcmVuZGVyVGV4dChwWzBdLGYsdSxRLEQse3NoaWZ0OjB9LDIsYil9IEVUIFEgRU1DYH1zdGF0aWMgYXN5bmMgX2dldEZvbnREYXRhKGUsdCxpLGEpe2NvbnN0IHM9bmV3IE9wZXJhdG9yTGlzdCxyPXtmb250Om51bGwsY2xvbmUoKXtyZXR1cm4gdGhpc319LHtmb250TmFtZTpuLGZvbnRTaXplOmd9PWk7YXdhaXQgZS5oYW5kbGVTZXRGb250KGEsW24mJk5hbWUuZ2V0KG4pLGddLG51bGwscyx0LHIsbnVsbCk7cmV0dXJuIHIuZm9udH1fZ2V0VGV4dFdpZHRoKGUsdCl7cmV0dXJuIHQuY2hhcnNUb0dseXBocyhlKS5yZWR1Y2UoKChlLHQpPT5lK3Qud2lkdGgpLDApLzFlM31fY29tcHV0ZUZvbnRTaXplKGUsdCxpLGEscil7bGV0e2ZvbnRTaXplOm59PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsZz0obnx8MTIpKnMsbz1NYXRoLnJvdW5kKGUvZyk7aWYoIW4pe2NvbnN0IHJvdW5kV2l0aFR3b0RpZ2l0cz1lPT5NYXRoLmZsb29yKDEwMCplKS8xMDA7aWYoLTE9PT1yKXtjb25zdCByPXRoaXMuX2dldFRleHRXaWR0aChpLGEpO249cm91bmRXaXRoVHdvRGlnaXRzKE1hdGgubWluKGUvcyx0L3IpKTtvPTF9ZWxzZXtjb25zdCBjPWkuc3BsaXQoL1xyXG4/fFxuLyksQz1bXTtmb3IoY29uc3QgZSBvZiBjKXtjb25zdCB0PWEuZW5jb2RlU3RyaW5nKGUpLmpvaW4oIiIpLGk9YS5jaGFyc1RvR2x5cGhzKHQpLHM9YS5nZXRDaGFyUG9zaXRpb25zKHQpO0MucHVzaCh7bGluZTp0LGdseXBoczppLHBvc2l0aW9uczpzfSl9Y29uc3QgaXNUb29CaWc9aT0+e2xldCBzPTA7Zm9yKGNvbnN0IHIgb2YgQyl7cys9dGhpcy5fc3BsaXRMaW5lKG51bGwsYSxpLHQscikubGVuZ3RoKmk7aWYocz5lKXJldHVybiEwfXJldHVybiExfTtvPU1hdGgubWF4KG8scik7Zm9yKDs7KXtnPWUvbztuPXJvdW5kV2l0aFR3b0RpZ2l0cyhnL3MpO2lmKCFpc1Rvb0JpZyhuKSlicmVhaztvKyt9fWNvbnN0e2ZvbnROYW1lOmMsZm9udENvbG9yOkN9PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGE7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9ZnVuY3Rpb24gY3JlYXRlRGVmYXVsdEFwcGVhcmFuY2Uoe2ZvbnRTaXplOmUsZm9udE5hbWU6dCxmb250Q29sb3I6aX0pe3JldHVybmAvJHtlc2NhcGVQREZOYW1lKHQpfSAke2V9IFRmICR7Z2V0UGRmQ29sb3IoaSwhMCl9YH0oe2ZvbnRTaXplOm4sZm9udE5hbWU6Yyxmb250Q29sb3I6Q30pfXJldHVyblt0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZSxuLGUvb119X3JlbmRlclRleHQoZSx0LGksYSxzLHIsbixnKXtsZXQgbztpZigxPT09cyl7bz0oYS10aGlzLl9nZXRUZXh0V2lkdGgoZSx0KSppKS8yfWVsc2UgaWYoMj09PXMpe289YS10aGlzLl9nZXRUZXh0V2lkdGgoZSx0KSppLW59ZWxzZSBvPW47Y29uc3QgYz1udW1iZXJUb1N0cmluZyhvLXIuc2hpZnQpO3Iuc2hpZnQ9bztyZXR1cm5gJHtjfSAke2c9bnVtYmVyVG9TdHJpbmcoZyl9IFRkICgke2VzY2FwZVN0cmluZyhlKX0pIFRqYH1fZ2V0U2F2ZUZpZWxkUmVzb3VyY2VzKGUpe2NvbnN0e2xvY2FsUmVzb3VyY2VzOnQsYXBwZWFyYW5jZVJlc291cmNlczppLGFjcm9Gb3JtUmVzb3VyY2VzOmF9PXRoaXMuX2ZpZWxkUmVzb3VyY2VzLHM9dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT8uZm9udE5hbWU7aWYoIXMpcmV0dXJuIHR8fERpY3QuZW1wdHk7Zm9yKGNvbnN0IGUgb2ZbdCxpXSlpZihlIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgdD1lLmdldCgiRm9udCIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0JiZ0LmhhcyhzKSlyZXR1cm4gZX1pZihhIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgaT1hLmdldCgiRm9udCIpO2lmKGkgaW5zdGFuY2VvZiBEaWN0JiZpLmhhcyhzKSl7Y29uc3QgYT1uZXcgRGljdChlKTthLnNldChzLGkuZ2V0UmF3KHMpKTtjb25zdCByPW5ldyBEaWN0KGUpO3Iuc2V0KCJGb250IixhKTtyZXR1cm4gRGljdC5tZXJnZSh7eHJlZjplLGRpY3RBcnJheTpbcix0XSxtZXJnZVN1YkRpY3RzOiEwfSl9fXJldHVybiB0fHxEaWN0LmVtcHR5fWdldEZpZWxkT2JqZWN0KCl7cmV0dXJuIG51bGx9fWNsYXNzIFRleHRXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7aWYodC5oYXMoIlBNRCIpKXt0aGlzLmZsYWdzfD16O3RoaXMuZGF0YS5oaWRkZW49ITA7d2FybigiQmFyY29kZXMgYXJlIG5vdCBzdXBwb3J0ZWQiKX10aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5yZWFkT25seSYmIXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5faGFzVGV4dD0hMDsic3RyaW5nIiE9dHlwZW9mIHRoaXMuZGF0YS5maWVsZFZhbHVlJiYodGhpcy5kYXRhLmZpZWxkVmFsdWU9IiIpO2xldCBpPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IlEifSk7KCFOdW1iZXIuaXNJbnRlZ2VyKGkpfHxpPDB8fGk+MikmJihpPW51bGwpO3RoaXMuZGF0YS50ZXh0QWxpZ25tZW50PWk7bGV0IGE9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiTWF4TGVuIn0pOyghTnVtYmVyLmlzSW50ZWdlcihhKXx8YTwwKSYmKGE9MCk7dGhpcy5kYXRhLm1heExlbj1hO3RoaXMuZGF0YS5tdWx0aUxpbmU9dGhpcy5oYXNGaWVsZEZsYWcoc0EpO3RoaXMuZGF0YS5jb21iPXRoaXMuaGFzRmllbGRGbGFnKGhBKSYmIXRoaXMuaGFzRmllbGRGbGFnKHNBKSYmIXRoaXMuaGFzRmllbGRGbGFnKHJBKSYmIXRoaXMuaGFzRmllbGRGbGFnKElBKSYmMCE9PXRoaXMuZGF0YS5tYXhMZW47dGhpcy5kYXRhLmRvTm90U2Nyb2xsPXRoaXMuaGFzRmllbGRGbGFnKENBKX1nZXQgaGFzVGV4dENvbnRlbnQoKXtyZXR1cm4hIXRoaXMuYXBwZWFyYW5jZSYmIXRoaXMuX25lZWRBcHBlYXJhbmNlc31fZ2V0Q29tYkFwcGVhcmFuY2UoZSx0LGksYSxzLHIsbixnLG8sYyxDKXtjb25zdCBoPXMvdGhpcy5kYXRhLm1heExlbixsPXRoaXMuZ2V0Qm9yZGVyQW5kQmFja2dyb3VuZEFwcGVhcmFuY2VzKEMpLFE9W10sRT10LmdldENoYXJQb3NpdGlvbnMoaSk7Zm9yKGNvbnN0W2UsdF1vZiBFKVEucHVzaChgKCR7ZXNjYXBlU3RyaW5nKGkuc3Vic3RyaW5nKGUsdCkpfSkgVGpgKTtjb25zdCB1PVEuam9pbihgICR7bnVtYmVyVG9TdHJpbmcoaCl9IDAgVGQgYCk7cmV0dXJuYC9UeCBCTUMgcSAke2x9QlQgYCtlK2AgMSAwIDAgMSAke251bWJlclRvU3RyaW5nKG4pfSAke251bWJlclRvU3RyaW5nKGcrbyl9IFRtICR7dX0gRVQgUSBFTUNgfV9nZXRNdWx0aWxpbmVBcHBlYXJhbmNlKGUsdCxpLGEscyxyLG4sZyxvLGMsQyxoKXtjb25zdCBsPVtdLFE9cy0yKmcsRT17c2hpZnQ6MH07Zm9yKGxldCBlPTAscj10Lmxlbmd0aDtlPHI7ZSsrKXtjb25zdCByPXRbZV0saD10aGlzLl9zcGxpdExpbmUocixpLGEsUSk7Zm9yKGxldCB0PTAscj1oLmxlbmd0aDt0PHI7dCsrKXtjb25zdCByPWhbdF0sUT0wPT09ZSYmMD09PXQ/LW8tKEMtYyk6LUM7bC5wdXNoKHRoaXMuX3JlbmRlclRleHQocixpLGEscyxuLEUsZyxRKSl9fWNvbnN0IHU9dGhpcy5nZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQXBwZWFyYW5jZXMoaCksZD1sLmpvaW4oIlxuIik7cmV0dXJuYC9UeCBCTUMgcSAke3V9QlQgYCtlK2AgMSAwIDAgMSAwICR7bnVtYmVyVG9TdHJpbmcocil9IFRtICR7ZH0gRVQgUSBFTUNgfV9zcGxpdExpbmUoZSx0LGksYSxzPXt9KXtlPXMubGluZXx8ZTtjb25zdCByPXMuZ2x5cGhzfHx0LmNoYXJzVG9HbHlwaHMoZSk7aWYoci5sZW5ndGg8PTEpcmV0dXJuW2VdO2NvbnN0IG49cy5wb3NpdGlvbnN8fHQuZ2V0Q2hhclBvc2l0aW9ucyhlKSxnPWkvMWUzLG89W107bGV0IGM9LTEsQz0tMSxoPS0xLGw9MCxRPTA7Zm9yKGxldCB0PTAsaT1yLmxlbmd0aDt0PGk7dCsrKXtjb25zdFtpLHNdPW5bdF0sRT1yW3RdLHU9RS53aWR0aCpnO2lmKCIgIj09PUUudW5pY29kZSlpZihRK3U+YSl7by5wdXNoKGUuc3Vic3RyaW5nKGwsaSkpO2w9aTtRPXU7Yz0tMTtoPS0xfWVsc2V7USs9dTtjPWk7Qz1zO2g9dH1lbHNlIGlmKFErdT5hKWlmKC0xIT09Yyl7by5wdXNoKGUuc3Vic3RyaW5nKGwsQykpO2w9Qzt0PWgrMTtjPS0xO1E9MH1lbHNle28ucHVzaChlLnN1YnN0cmluZyhsLGkpKTtsPWk7UT11fWVsc2UgUSs9dX1sPGUubGVuZ3RoJiZvLnB1c2goZS5zdWJzdHJpbmcobCxlLmxlbmd0aCkpO3JldHVybiBvfWFzeW5jIGV4dHJhY3RUZXh0Q29udGVudChlLHQsaSl7YXdhaXQgc3VwZXIuZXh0cmFjdFRleHRDb250ZW50KGUsdCxpKTtjb25zdCBhPXRoaXMuZGF0YS50ZXh0Q29udGVudDtpZighYSlyZXR1cm47Y29uc3Qgcz1hLmpvaW4oIlxuIik7aWYocz09PXRoaXMuZGF0YS5maWVsZFZhbHVlKXJldHVybjtjb25zdCByPXMucmVwbGFjZUFsbCgvKFsuKis/XiR7fSgpfFtcXVxcXSl8KFxzKykvZywoKGUsdCk9PnQ/YFxcJHt0fWA6IlxccysiKSk7bmV3IFJlZ0V4cChgXlxccyoke3J9XFxzKiRgKS50ZXN0KHRoaXMuZGF0YS5maWVsZFZhbHVlKSYmKHRoaXMuZGF0YS50ZXh0Q29udGVudD10aGlzLmRhdGEuZmllbGRWYWx1ZS5zcGxpdCgiXG4iKSl9Z2V0RmllbGRPYmplY3QoKXtyZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlLGRlZmF1bHRWYWx1ZTp0aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWV8fCIiLG11bHRpbGluZTp0aGlzLmRhdGEubXVsdGlMaW5lLHBhc3N3b3JkOnRoaXMuaGFzRmllbGRGbGFnKHJBKSxjaGFyTGltaXQ6dGhpcy5kYXRhLm1heExlbixjb21iOnRoaXMuZGF0YS5jb21iLGVkaXRhYmxlOiF0aGlzLmRhdGEucmVhZE9ubHksaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHJlY3Q6dGhpcy5kYXRhLnJlY3QsYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZToidGV4dCJ9fX1jbGFzcyBCdXR0b25XaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlPW51bGw7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlPW51bGw7dGhpcy5kYXRhLmNoZWNrQm94PSF0aGlzLmhhc0ZpZWxkRmxhZyhuQSkmJiF0aGlzLmhhc0ZpZWxkRmxhZyhnQSk7dGhpcy5kYXRhLnJhZGlvQnV0dG9uPXRoaXMuaGFzRmllbGRGbGFnKG5BKSYmIXRoaXMuaGFzRmllbGRGbGFnKGdBKTt0aGlzLmRhdGEucHVzaEJ1dHRvbj10aGlzLmhhc0ZpZWxkRmxhZyhnQSk7dGhpcy5kYXRhLmlzVG9vbHRpcE9ubHk9ITE7aWYodGhpcy5kYXRhLmNoZWNrQm94KXRoaXMuX3Byb2Nlc3NDaGVja0JveChlKTtlbHNlIGlmKHRoaXMuZGF0YS5yYWRpb0J1dHRvbil0aGlzLl9wcm9jZXNzUmFkaW9CdXR0b24oZSk7ZWxzZSBpZih0aGlzLmRhdGEucHVzaEJ1dHRvbil7dGhpcy5kYXRhLmhhc093bkNhbnZhcz0hMDt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuX3Byb2Nlc3NQdXNoQnV0dG9uKGUpfWVsc2Ugd2FybigiSW52YWxpZCBmaWVsZCBmbGFncyBmb3IgYnV0dG9uIHdpZGdldCBhbm5vdGF0aW9uIil9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHMpe2lmKHRoaXMuZGF0YS5wdXNoQnV0dG9uKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEsITEscyk7bGV0IHI9bnVsbCxuPW51bGw7aWYocyl7Y29uc3QgZT1zLmdldCh0aGlzLmRhdGEuaWQpO3I9ZT9lLnZhbHVlOm51bGw7bj1lP2Uucm90YXRpb246bnVsbH1pZihudWxsPT09ciYmdGhpcy5hcHBlYXJhbmNlKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEscyk7bnVsbD09ciYmKHI9dGhpcy5kYXRhLmNoZWNrQm94P3RoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmV4cG9ydFZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmJ1dHRvblZhbHVlKTtjb25zdCBnPXI/dGhpcy5jaGVja2VkQXBwZWFyYW5jZTp0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2U7aWYoZyl7Y29uc3Qgcj10aGlzLmFwcGVhcmFuY2Usbz1sb29rdXBNYXRyaXgoZy5kaWN0LmdldEFycmF5KCJNYXRyaXgiKSxpKTtuJiZnLmRpY3Quc2V0KCJNYXRyaXgiLHRoaXMuZ2V0Um90YXRpb25NYXRyaXgocykpO3RoaXMuYXBwZWFyYW5jZT1nO2NvbnN0IGM9c3VwZXIuZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHMpO3RoaXMuYXBwZWFyYW5jZT1yO2cuZGljdC5zZXQoIk1hdHJpeCIsbyk7cmV0dXJuIGN9cmV0dXJue29wTGlzdDpuZXcgT3BlcmF0b3JMaXN0LHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX19YXN5bmMgc2F2ZShlLHQsaSxhKXt0aGlzLmRhdGEuY2hlY2tCb3g/dGhpcy5fc2F2ZUNoZWNrYm94KGUsdCxpLGEpOnRoaXMuZGF0YS5yYWRpb0J1dHRvbiYmdGhpcy5fc2F2ZVJhZGlvQnV0dG9uKGUsdCxpLGEpfWFzeW5jIF9zYXZlQ2hlY2tib3goZSx0LGksYSl7aWYoIWkpcmV0dXJuO2NvbnN0IHM9aS5nZXQodGhpcy5kYXRhLmlkKSxyPXRoaXMuX2J1aWxkRmxhZ3Mocz8ubm9WaWV3LHM/Lm5vUHJpbnQpO2xldCBuPXM/LnJvdGF0aW9uLGc9cz8udmFsdWU7aWYodm9pZCAwPT09biYmdm9pZCAwPT09cil7aWYodm9pZCAwPT09ZylyZXR1cm47aWYodGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuZXhwb3J0VmFsdWU9PT1nKXJldHVybn1sZXQgbz1lLnhyZWYuZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShvIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO289by5jbG9uZSgpO3ZvaWQgMD09PW4mJihuPXRoaXMucm90YXRpb24pO3ZvaWQgMD09PWcmJihnPXRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmV4cG9ydFZhbHVlKTtjb25zdCBjPXtwYXRoOnRoaXMuZGF0YS5maWVsZE5hbWUsdmFsdWU6Zz90aGlzLmRhdGEuZXhwb3J0VmFsdWU6IiJ9LEM9TmFtZS5nZXQoZz90aGlzLmRhdGEuZXhwb3J0VmFsdWU6Ik9mZiIpO3RoaXMuc2V0VmFsdWUobyxDLGUueHJlZixhKTtvLnNldCgiQVMiLEMpO28uc2V0KCJNIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTt2b2lkIDAhPT1yJiZvLnNldCgiRiIscik7Y29uc3QgaD10aGlzLl9nZXRNS0RpY3Qobik7aCYmby5zZXQoIk1LIixoKTthLnB1dCh0aGlzLnJlZix7ZGF0YTpvLHhmYTpjLG5lZWRBcHBlYXJhbmNlczohMX0pfWFzeW5jIF9zYXZlUmFkaW9CdXR0b24oZSx0LGksYSl7aWYoIWkpcmV0dXJuO2NvbnN0IHM9aS5nZXQodGhpcy5kYXRhLmlkKSxyPXRoaXMuX2J1aWxkRmxhZ3Mocz8ubm9WaWV3LHM/Lm5vUHJpbnQpO2xldCBuPXM/LnJvdGF0aW9uLGc9cz8udmFsdWU7aWYodm9pZCAwPT09biYmdm9pZCAwPT09cil7aWYodm9pZCAwPT09ZylyZXR1cm47aWYodGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuYnV0dG9uVmFsdWU9PT1nKXJldHVybn1sZXQgbz1lLnhyZWYuZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShvIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO289by5jbG9uZSgpO3ZvaWQgMD09PWcmJihnPXRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmJ1dHRvblZhbHVlKTt2b2lkIDA9PT1uJiYobj10aGlzLnJvdGF0aW9uKTtjb25zdCBjPXtwYXRoOnRoaXMuZGF0YS5maWVsZE5hbWUsdmFsdWU6Zz90aGlzLmRhdGEuYnV0dG9uVmFsdWU6IiJ9LEM9TmFtZS5nZXQoZz90aGlzLmRhdGEuYnV0dG9uVmFsdWU6Ik9mZiIpO2cmJnRoaXMuc2V0VmFsdWUobyxDLGUueHJlZixhKTtvLnNldCgiQVMiLEMpO28uc2V0KCJNIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTt2b2lkIDAhPT1yJiZvLnNldCgiRiIscik7Y29uc3QgaD10aGlzLl9nZXRNS0RpY3Qobik7aCYmby5zZXQoIk1LIixoKTthLnB1dCh0aGlzLnJlZix7ZGF0YTpvLHhmYTpjLG5lZWRBcHBlYXJhbmNlczohMX0pfV9nZXREZWZhdWx0Q2hlY2tlZEFwcGVhcmFuY2UoZSx0KXtjb25zdCBpPXRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdLGE9dGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV0scz1bMCwwLGksYV0scj0uOCpNYXRoLm1pbihpLGEpO2xldCBuLGc7aWYoImNoZWNrIj09PXQpe249e3dpZHRoOi43NTUqcixoZWlnaHQ6LjcwNSpyfTtnPSIzIn1lbHNlIGlmKCJkaXNjIj09PXQpe249e3dpZHRoOi43OTEqcixoZWlnaHQ6LjcwNSpyfTtnPSJsIn1lbHNlIHVucmVhY2hhYmxlKGBfZ2V0RGVmYXVsdENoZWNrZWRBcHBlYXJhbmNlIC0gdW5zdXBwb3J0ZWQgdHlwZTogJHt0fWApO2NvbnN0IG89YHEgQlQgL1BkZkpzWmFEYiAke3J9IFRmIDAgZyAke251bWJlclRvU3RyaW5nKChpLW4ud2lkdGgpLzIpfSAke251bWJlclRvU3RyaW5nKChhLW4uaGVpZ2h0KS8yKX0gVGQgKCR7Z30pIFRqIEVUIFFgLGM9bmV3IERpY3QoZS54cmVmKTtjLnNldCgiRm9ybVR5cGUiLDEpO2Muc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtjLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7Yy5zZXQoIkJCb3giLHMpO2Muc2V0KCJNYXRyaXgiLFsxLDAsMCwxLDAsMF0pO2Muc2V0KCJMZW5ndGgiLG8ubGVuZ3RoKTtjb25zdCBDPW5ldyBEaWN0KGUueHJlZiksaD1uZXcgRGljdChlLnhyZWYpO2guc2V0KCJQZGZKc1phRGIiLHRoaXMuZmFsbGJhY2tGb250RGljdCk7Qy5zZXQoIkZvbnQiLGgpO2Muc2V0KCJSZXNvdXJjZXMiLEMpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9bmV3IFN0cmluZ1N0cmVhbShvKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlLmRpY3Q9Yzt0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5jaGVja2VkQXBwZWFyYW5jZSl9X3Byb2Nlc3NDaGVja0JveChlKXtjb25zdCB0PWUuZGljdC5nZXQoIkFQIik7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IGk9dC5nZXQoIk4iKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgYT10aGlzLl9kZWNvZGVGb3JtVmFsdWUoZS5kaWN0LmdldCgiQVMiKSk7InN0cmluZyI9PXR5cGVvZiBhJiYodGhpcy5kYXRhLmZpZWxkVmFsdWU9YSk7Y29uc3Qgcz1udWxsIT09dGhpcy5kYXRhLmZpZWxkVmFsdWUmJiJPZmYiIT09dGhpcy5kYXRhLmZpZWxkVmFsdWU/dGhpcy5kYXRhLmZpZWxkVmFsdWU6IlllcyIscj1pLmdldEtleXMoKTtpZigwPT09ci5sZW5ndGgpci5wdXNoKCJPZmYiLHMpO2Vsc2UgaWYoMT09PXIubGVuZ3RoKSJPZmYiPT09clswXT9yLnB1c2gocyk6ci51bnNoaWZ0KCJPZmYiKTtlbHNlIGlmKHIuaW5jbHVkZXMocykpe3IubGVuZ3RoPTA7ci5wdXNoKCJPZmYiLHMpfWVsc2V7Y29uc3QgZT1yLmZpbmQoKGU9PiJPZmYiIT09ZSkpO3IubGVuZ3RoPTA7ci5wdXNoKCJPZmYiLGUpfXIuaW5jbHVkZXModGhpcy5kYXRhLmZpZWxkVmFsdWUpfHwodGhpcy5kYXRhLmZpZWxkVmFsdWU9Ik9mZiIpO3RoaXMuZGF0YS5leHBvcnRWYWx1ZT1yWzFdO2NvbnN0IG49aS5nZXQodGhpcy5kYXRhLmV4cG9ydFZhbHVlKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlPW4gaW5zdGFuY2VvZiBCYXNlU3RyZWFtP246bnVsbDtjb25zdCBnPWkuZ2V0KCJPZmYiKTt0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2U9ZyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/ZzpudWxsO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U/dGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMuY2hlY2tlZEFwcGVhcmFuY2UpOnRoaXMuX2dldERlZmF1bHRDaGVja2VkQXBwZWFyYW5jZShlLCJjaGVjayIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZSYmdGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMudW5jaGVja2VkQXBwZWFyYW5jZSk7dGhpcy5fZmFsbGJhY2tGb250RGljdD10aGlzLmZhbGxiYWNrRm9udERpY3Q7bnVsbD09PXRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSYmKHRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZT0iT2ZmIil9X3Byb2Nlc3NSYWRpb0J1dHRvbihlKXt0aGlzLmRhdGEuYnV0dG9uVmFsdWU9bnVsbDtjb25zdCB0PWUuZGljdC5nZXQoIlBhcmVudCIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0KXt0aGlzLnBhcmVudD1lLmRpY3QuZ2V0UmF3KCJQYXJlbnQiKTtjb25zdCBpPXQuZ2V0KCJWIik7aSBpbnN0YW5jZW9mIE5hbWUmJih0aGlzLmRhdGEuZmllbGRWYWx1ZT10aGlzLl9kZWNvZGVGb3JtVmFsdWUoaSkpfWNvbnN0IGk9ZS5kaWN0LmdldCgiQVAiKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgYT1pLmdldCgiTiIpO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtmb3IoY29uc3QgZSBvZiBhLmdldEtleXMoKSlpZigiT2ZmIiE9PWUpe3RoaXMuZGF0YS5idXR0b25WYWx1ZT10aGlzLl9kZWNvZGVGb3JtVmFsdWUoZSk7YnJlYWt9Y29uc3Qgcz1hLmdldCh0aGlzLmRhdGEuYnV0dG9uVmFsdWUpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9cyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/czpudWxsO2NvbnN0IHI9YS5nZXQoIk9mZiIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZT1yIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9yOm51bGw7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT90aGlzLl9zdHJlYW1zLnB1c2godGhpcy5jaGVja2VkQXBwZWFyYW5jZSk6dGhpcy5fZ2V0RGVmYXVsdENoZWNrZWRBcHBlYXJhbmNlKGUsImRpc2MiKTt0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2UmJnRoaXMuX3N0cmVhbXMucHVzaCh0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2UpO3RoaXMuX2ZhbGxiYWNrRm9udERpY3Q9dGhpcy5mYWxsYmFja0ZvbnREaWN0O251bGw9PT10aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWUmJih0aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWU9Ik9mZiIpfV9wcm9jZXNzUHVzaEJ1dHRvbihlKXtjb25zdHtkaWN0OnQsYW5ub3RhdGlvbkdsb2JhbHM6aX09ZTtpZih0LmhhcygiQSIpfHx0LmhhcygiQUEiKXx8dGhpcy5kYXRhLmFsdGVybmF0aXZlVGV4dCl7dGhpcy5kYXRhLmlzVG9vbHRpcE9ubHk9IXQuaGFzKCJBIikmJiF0LmhhcygiQUEiKTtDYXRhbG9nLnBhcnNlRGVzdERpY3Rpb25hcnkoe2Rlc3REaWN0OnQscmVzdWx0T2JqOnRoaXMuZGF0YSxkb2NCYXNlVXJsOmkuYmFzZVVybCxkb2NBdHRhY2htZW50czppLmF0dGFjaG1lbnRzfSl9ZWxzZSB3YXJuKCJQdXNoIGJ1dHRvbnMgd2l0aG91dCBhY3Rpb24gZGljdGlvbmFyaWVzIGFyZSBub3Qgc3VwcG9ydGVkIil9Z2V0RmllbGRPYmplY3QoKXtsZXQgZSx0PSJidXR0b24iO2lmKHRoaXMuZGF0YS5jaGVja0JveCl7dD0iY2hlY2tib3giO2U9dGhpcy5kYXRhLmV4cG9ydFZhbHVlfWVsc2UgaWYodGhpcy5kYXRhLnJhZGlvQnV0dG9uKXt0PSJyYWRpb2J1dHRvbiI7ZT10aGlzLmRhdGEuYnV0dG9uVmFsdWV9cmV0dXJue2lkOnRoaXMuZGF0YS5pZCx2YWx1ZTp0aGlzLmRhdGEuZmllbGRWYWx1ZXx8Ik9mZiIsZGVmYXVsdFZhbHVlOnRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSxleHBvcnRWYWx1ZXM6ZSxlZGl0YWJsZTohdGhpcy5kYXRhLnJlYWRPbmx5LG5hbWU6dGhpcy5kYXRhLmZpZWxkTmFtZSxyZWN0OnRoaXMuZGF0YS5yZWN0LGhpZGRlbjp0aGlzLmRhdGEuaGlkZGVuLGFjdGlvbnM6dGhpcy5kYXRhLmFjdGlvbnMscGFnZTp0aGlzLmRhdGEucGFnZUluZGV4LHN0cm9rZUNvbG9yOnRoaXMuZGF0YS5ib3JkZXJDb2xvcixmaWxsQ29sb3I6dGhpcy5kYXRhLmJhY2tncm91bmRDb2xvcixyb3RhdGlvbjp0aGlzLnJvdGF0aW9uLHR5cGU6dH19Z2V0IGZhbGxiYWNrRm9udERpY3QoKXtjb25zdCBlPW5ldyBEaWN0O2Uuc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoIlphcGZEaW5nYmF0cyIpKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZhbGxiYWNrVHlwZSIpKTtlLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZhbGxiYWNrVHlwZSIpKTtlLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJaYXBmRGluZ2JhdHNFbmNvZGluZyIpKTtyZXR1cm4gc2hhZG93KHRoaXMsImZhbGxiYWNrRm9udERpY3QiLGUpfX1jbGFzcyBDaG9pY2VXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuaW5kaWNlcz10LmdldEFycmF5KCJJIik7dGhpcy5oYXNJbmRpY2VzPUFycmF5LmlzQXJyYXkodGhpcy5pbmRpY2VzKSYmdGhpcy5pbmRpY2VzLmxlbmd0aD4wO3RoaXMuZGF0YS5vcHRpb25zPVtdO2NvbnN0IGE9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiT3B0In0pO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PWkuZmV0Y2hJZlJlZihhW2VdKSxzPUFycmF5LmlzQXJyYXkodCk7dGhpcy5kYXRhLm9wdGlvbnNbZV09e2V4cG9ydFZhbHVlOnRoaXMuX2RlY29kZUZvcm1WYWx1ZShzP2kuZmV0Y2hJZlJlZih0WzBdKTp0KSxkaXNwbGF5VmFsdWU6dGhpcy5fZGVjb2RlRm9ybVZhbHVlKHM/aS5mZXRjaElmUmVmKHRbMV0pOnQpfX1pZih0aGlzLmhhc0luZGljZXMpe3RoaXMuZGF0YS5maWVsZFZhbHVlPVtdO2NvbnN0IGU9dGhpcy5kYXRhLm9wdGlvbnMubGVuZ3RoO2Zvcihjb25zdCB0IG9mIHRoaXMuaW5kaWNlcylOdW1iZXIuaXNJbnRlZ2VyKHQpJiZ0Pj0wJiZ0PGUmJnRoaXMuZGF0YS5maWVsZFZhbHVlLnB1c2godGhpcy5kYXRhLm9wdGlvbnNbdF0uZXhwb3J0VmFsdWUpfWVsc2Uic3RyaW5nIj09dHlwZW9mIHRoaXMuZGF0YS5maWVsZFZhbHVlP3RoaXMuZGF0YS5maWVsZFZhbHVlPVt0aGlzLmRhdGEuZmllbGRWYWx1ZV06dGhpcy5kYXRhLmZpZWxkVmFsdWV8fCh0aGlzLmRhdGEuZmllbGRWYWx1ZT1bXSk7MD09PXRoaXMuZGF0YS5vcHRpb25zLmxlbmd0aCYmdGhpcy5kYXRhLmZpZWxkVmFsdWUubGVuZ3RoPjAmJih0aGlzLmRhdGEub3B0aW9ucz10aGlzLmRhdGEuZmllbGRWYWx1ZS5tYXAoKGU9Pih7ZXhwb3J0VmFsdWU6ZSxkaXNwbGF5VmFsdWU6ZX0pKSkpO3RoaXMuZGF0YS5jb21ibz10aGlzLmhhc0ZpZWxkRmxhZyhvQSk7dGhpcy5kYXRhLm11bHRpU2VsZWN0PXRoaXMuaGFzRmllbGRGbGFnKGNBKTt0aGlzLl9oYXNUZXh0PSEwfWdldEZpZWxkT2JqZWN0KCl7Y29uc3QgZT10aGlzLmRhdGEuY29tYm8/ImNvbWJvYm94IjoibGlzdGJveCIsdD10aGlzLmRhdGEuZmllbGRWYWx1ZS5sZW5ndGg+MD90aGlzLmRhdGEuZmllbGRWYWx1ZVswXTpudWxsO3JldHVybntpZDp0aGlzLmRhdGEuaWQsdmFsdWU6dCxkZWZhdWx0VmFsdWU6dGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlLGVkaXRhYmxlOiF0aGlzLmRhdGEucmVhZE9ubHksbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHJlY3Q6dGhpcy5kYXRhLnJlY3QsbnVtSXRlbXM6dGhpcy5kYXRhLmZpZWxkVmFsdWUubGVuZ3RoLG11bHRpcGxlU2VsZWN0aW9uOnRoaXMuZGF0YS5tdWx0aVNlbGVjdCxoaWRkZW46dGhpcy5kYXRhLmhpZGRlbixhY3Rpb25zOnRoaXMuZGF0YS5hY3Rpb25zLGl0ZW1zOnRoaXMuZGF0YS5vcHRpb25zLHBhZ2U6dGhpcy5kYXRhLnBhZ2VJbmRleCxzdHJva2VDb2xvcjp0aGlzLmRhdGEuYm9yZGVyQ29sb3IsZmlsbENvbG9yOnRoaXMuZGF0YS5iYWNrZ3JvdW5kQ29sb3Iscm90YXRpb246dGhpcy5yb3RhdGlvbix0eXBlOmV9fWFtZW5kU2F2ZWREaWN0KGUsdCl7aWYoIXRoaXMuaGFzSW5kaWNlcylyZXR1cm47bGV0IGk9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/LnZhbHVlO0FycmF5LmlzQXJyYXkoaSl8fChpPVtpXSk7Y29uc3QgYT1bXSx7b3B0aW9uczpzfT10aGlzLmRhdGE7Zm9yKGxldCBlPTAsdD0wLHI9cy5sZW5ndGg7ZTxyO2UrKylpZihzW2VdLmV4cG9ydFZhbHVlPT09aVt0XSl7YS5wdXNoKGUpO3QrPTF9dC5zZXQoIkkiLGEpfWFzeW5jIF9nZXRBcHBlYXJhbmNlKGUsdCxpLGEpe2lmKHRoaXMuZGF0YS5jb21ibylyZXR1cm4gc3VwZXIuX2dldEFwcGVhcmFuY2UoZSx0LGksYSk7bGV0IHIsbjtjb25zdCBnPWE/LmdldCh0aGlzLmRhdGEuaWQpO2lmKGcpe249Zy5yb3RhdGlvbjtyPWcudmFsdWV9aWYodm9pZCAwPT09biYmdm9pZCAwPT09ciYmIXRoaXMuX25lZWRBcHBlYXJhbmNlcylyZXR1cm4gbnVsbDt2b2lkIDA9PT1yP3I9dGhpcy5kYXRhLmZpZWxkVmFsdWU6QXJyYXkuaXNBcnJheShyKXx8KHI9W3JdKTtsZXQgbz10aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXSxjPXRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdOzkwIT09biYmMjcwIT09bnx8KFtjLG9dPVtvLGNdKTtjb25zdCBDPXRoaXMuZGF0YS5vcHRpb25zLmxlbmd0aCxoPVtdO2ZvcihsZXQgZT0wO2U8QztlKyspe2NvbnN0e2V4cG9ydFZhbHVlOnR9PXRoaXMuZGF0YS5vcHRpb25zW2VdO3IuaW5jbHVkZXModCkmJmgucHVzaChlKX10aGlzLl9kZWZhdWx0QXBwZWFyYW5jZXx8KHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGE9cGFyc2VEZWZhdWx0QXBwZWFyYW5jZSh0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZT0iL0hlbHZldGljYSAwIFRmIDAgZyIpKTtjb25zdCBsPWF3YWl0IFdpZGdldEFubm90YXRpb24uX2dldEZvbnREYXRhKGUsdCx0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLHRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcyk7bGV0IFEse2ZvbnRTaXplOkV9PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGE7aWYoRSlRPXRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlO2Vsc2V7Y29uc3QgZT0oby0xKS9DO2xldCB0LGk9LTE7Zm9yKGNvbnN0e2Rpc3BsYXlWYWx1ZTplfW9mIHRoaXMuZGF0YS5vcHRpb25zKXtjb25zdCBhPXRoaXMuX2dldFRleHRXaWR0aChlLGwpO2lmKGE+aSl7aT1hO3Q9ZX19W1EsRV09dGhpcy5fY29tcHV0ZUZvbnRTaXplKGUsYy00LHQsbCwtMSl9Y29uc3QgdT1FKnMsZD0odS1FKS8yLGY9TWF0aC5mbG9vcihvL3UpO2xldCBwPTA7aWYoaC5sZW5ndGg+MCl7Y29uc3QgZT1NYXRoLm1pbiguLi5oKSx0PU1hdGgubWF4KC4uLmgpO3A9TWF0aC5tYXgoMCx0LWYrMSk7cD5lJiYocD1lKX1jb25zdCBtPU1hdGgubWluKHArZisxLEMpLHk9WyIvVHggQk1DIHEiLGAxIDEgJHtjfSAke299IHJlIFcgbmBdO2lmKGgubGVuZ3RoKXt5LnB1c2goIjAuNjAwMDA2IDAuNzU2ODY2IDAuODU0OTA0IHJnIik7Zm9yKGNvbnN0IGUgb2YgaClwPD1lJiZlPG0mJnkucHVzaChgMSAke28tKGUtcCsxKSp1fSAke2N9ICR7dX0gcmUgZmApfXkucHVzaCgiQlQiLFEsYDEgMCAwIDEgMCAke299IFRtYCk7Y29uc3Qgdz17c2hpZnQ6MH07Zm9yKGxldCBlPXA7ZTxtO2UrKyl7Y29uc3R7ZGlzcGxheVZhbHVlOnR9PXRoaXMuZGF0YS5vcHRpb25zW2VdLGk9ZT09PXA/ZDowO3kucHVzaCh0aGlzLl9yZW5kZXJUZXh0KHQsbCxFLGMsMCx3LDIsLXUraSkpfXkucHVzaCgiRVQgUSBFTUMiKTtyZXR1cm4geS5qb2luKCJcbiIpfX1jbGFzcyBTaWduYXR1cmVXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuZmllbGRWYWx1ZT1udWxsO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9IXRoaXMuZGF0YS5oYXNPd25DYW52YXN9Z2V0RmllbGRPYmplY3QoKXtyZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOm51bGwscGFnZTp0aGlzLmRhdGEucGFnZUluZGV4LHR5cGU6InNpZ25hdHVyZSJ9fX1jbGFzcyBUZXh0QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLm5vUm90YXRlPSEwO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7Y29uc3R7ZGljdDp0fT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1rO2lmKHRoaXMuZGF0YS5oYXNBcHBlYXJhbmNlKXRoaXMuZGF0YS5uYW1lPSJOb0ljb24iO2Vsc2V7dGhpcy5kYXRhLnJlY3RbMV09dGhpcy5kYXRhLnJlY3RbM10tMjI7dGhpcy5kYXRhLnJlY3RbMl09dGhpcy5kYXRhLnJlY3RbMF0rMjI7dGhpcy5kYXRhLm5hbWU9dC5oYXMoIk5hbWUiKT90LmdldCgiTmFtZSIpLm5hbWU6Ik5vdGUifWlmKHQuaGFzKCJTdGF0ZSIpKXt0aGlzLmRhdGEuc3RhdGU9dC5nZXQoIlN0YXRlIil8fG51bGw7dGhpcy5kYXRhLnN0YXRlTW9kZWw9dC5nZXQoIlN0YXRlTW9kZWwiKXx8bnVsbH1lbHNle3RoaXMuZGF0YS5zdGF0ZT1udWxsO3RoaXMuZGF0YS5zdGF0ZU1vZGVsPW51bGx9fX1jbGFzcyBMaW5rQW5ub3RhdGlvbiBleHRlbmRzIEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LGFubm90YXRpb25HbG9iYWxzOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPVI7dGhpcy5kYXRhLm5vSFRNTD0hMTtjb25zdCBhPWdldFF1YWRQb2ludHModCx0aGlzLnJlY3RhbmdsZSk7YSYmKHRoaXMuZGF0YS5xdWFkUG9pbnRzPWEpO3RoaXMuZGF0YS5ib3JkZXJDb2xvcnx8PXRoaXMuZGF0YS5jb2xvcjtDYXRhbG9nLnBhcnNlRGVzdERpY3Rpb25hcnkoe2Rlc3REaWN0OnQscmVzdWx0T2JqOnRoaXMuZGF0YSxkb2NCYXNlVXJsOmkuYmFzZVVybCxkb2NBdHRhY2htZW50czppLmF0dGFjaG1lbnRzfSl9fWNsYXNzIFBvcHVwQW5ub3RhdGlvbiBleHRlbmRzIEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0fT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1PO3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5kYXRhLnJlY3RbMF0hPT10aGlzLmRhdGEucmVjdFsyXSYmdGhpcy5kYXRhLnJlY3RbMV0hPT10aGlzLmRhdGEucmVjdFszXXx8KHRoaXMuZGF0YS5yZWN0PW51bGwpO2xldCBpPXQuZ2V0KCJQYXJlbnQiKTtpZighaSl7d2FybigiUG9wdXAgYW5ub3RhdGlvbiBoYXMgYSBtaXNzaW5nIG9yIGludmFsaWQgcGFyZW50IGFubm90YXRpb24uIik7cmV0dXJufXRoaXMuZGF0YS5wYXJlbnRSZWN0PWxvb2t1cE5vcm1hbFJlY3QoaS5nZXRBcnJheSgiUmVjdCIpLG51bGwpO2lzTmFtZShpLmdldCgiUlQiKSxqKSYmKGk9aS5nZXQoIklSVCIpKTtpZihpLmhhcygiTSIpKXt0aGlzLnNldE1vZGlmaWNhdGlvbkRhdGUoaS5nZXQoIk0iKSk7dGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9dGhpcy5tb2RpZmljYXRpb25EYXRlfWVsc2UgdGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9bnVsbDtpZihpLmhhcygiQyIpKXt0aGlzLnNldENvbG9yKGkuZ2V0QXJyYXkoIkMiKSk7dGhpcy5kYXRhLmNvbG9yPXRoaXMuY29sb3J9ZWxzZSB0aGlzLmRhdGEuY29sb3I9bnVsbDtpZighdGhpcy52aWV3YWJsZSl7Y29uc3QgZT1pLmdldCgiRiIpO3RoaXMuX2lzVmlld2FibGUoZSkmJnRoaXMuc2V0RmxhZ3MoZSl9dGhpcy5zZXRUaXRsZShpLmdldCgiVCIpKTt0aGlzLmRhdGEudGl0bGVPYmo9dGhpcy5fdGl0bGU7dGhpcy5zZXRDb250ZW50cyhpLmdldCgiQ29udGVudHMiKSk7dGhpcy5kYXRhLmNvbnRlbnRzT2JqPXRoaXMuX2NvbnRlbnRzO2kuaGFzKCJSQyIpJiYodGhpcy5kYXRhLnJpY2hUZXh0PVhGQUZhY3RvcnkuZ2V0UmljaFRleHRBc0h0bWwoaS5nZXQoIlJDIikpKTt0aGlzLmRhdGEub3Blbj0hIXQuZ2V0KCJPcGVuIil9fWNsYXNzIEZyZWVUZXh0QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLmlzRWRpdGFibGU9IXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5kYXRhLm5vSFRNTD0hMTtjb25zdHtldmFsdWF0b3JPcHRpb25zOnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1OO3RoaXMuc2V0RGVmYXVsdEFwcGVhcmFuY2UoZSk7dGhpcy5faGFzQXBwZWFyYW5jZT0hIXRoaXMuYXBwZWFyYW5jZTtpZih0aGlzLl9oYXNBcHBlYXJhbmNlKXtjb25zdHtmb250Q29sb3I6ZSxmb250U2l6ZTphfT1mdW5jdGlvbiBwYXJzZUFwcGVhcmFuY2VTdHJlYW0oZSx0LGkpe3JldHVybiBuZXcgQXBwZWFyYW5jZVN0cmVhbUV2YWx1YXRvcihlLHQsaSkucGFyc2UoKX0odGhpcy5hcHBlYXJhbmNlLHQsaSk7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YS5mb250Q29sb3I9ZTt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnRTaXplPWF8fDEwfWVsc2V7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YS5mb250U2l6ZXx8PTEwO2NvbnN0e2ZvbnRDb2xvcjp0LGZvbnRTaXplOmF9PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGE7aWYodGhpcy5fY29udGVudHMuc3RyKXt0aGlzLmRhdGEudGV4dENvbnRlbnQ9dGhpcy5fY29udGVudHMuc3RyLnNwbGl0KC9cclxuP3xcbi8pLm1hcCgoZT0+ZS50cmltRW5kKCkpKTtjb25zdHtjb29yZHM6ZSxiYm94OnQsbWF0cml4Oml9PUZha2VVbmljb2RlRm9udC5nZXRGaXJzdFBvc2l0aW9uSW5mbyh0aGlzLnJlY3RhbmdsZSx0aGlzLnJvdGF0aW9uLGEpO3RoaXMuZGF0YS50ZXh0UG9zaXRpb249dGhpcy5fdHJhbnNmb3JtUG9pbnQoZSx0LGkpfWlmKHRoaXMuX2lzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKXtjb25zdCBzPWUuZGljdC5nZXQoIkNBIikscj1uZXcgRmFrZVVuaWNvZGVGb250KGksInNhbnMtc2VyaWYiKTt0aGlzLmFwcGVhcmFuY2U9ci5jcmVhdGVBcHBlYXJhbmNlKHRoaXMuX2NvbnRlbnRzLnN0cix0aGlzLnJlY3RhbmdsZSx0aGlzLnJvdGF0aW9uLGEsdCxzKTt0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5hcHBlYXJhbmNlKX1lbHNlIHdhcm4oIkZyZWVUZXh0QW5ub3RhdGlvbjogT2Zmc2NyZWVuQ2FudmFzIGlzIG5vdCBzdXBwb3J0ZWQsIGFubm90YXRpb24gbWF5IG5vdCByZW5kZXIgY29ycmVjdGx5LiIpfX1nZXQgaGFzVGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy5faGFzQXBwZWFyYW5jZX1zdGF0aWMgY3JlYXRlTmV3RGljdChlLHQse2FwUmVmOmksYXA6YX0pe2NvbnN0e2NvbG9yOnMsZm9udFNpemU6cixvbGRBbm5vdGF0aW9uOm4scmVjdDpnLHJvdGF0aW9uOm8sdXNlcjpjLHZhbHVlOkN9PWUsaD1ufHxuZXcgRGljdCh0KTtoLnNldCgiVHlwZSIsTmFtZS5nZXQoIkFubm90IikpO2guc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRnJlZVRleHQiKSk7aWYobil7aC5zZXQoIk0iLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO2guZGVsZXRlKCJSQyIpfWVsc2UgaC5zZXQoIkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7aC5zZXQoIlJlY3QiLGcpO2NvbnN0IGw9YC9IZWx2ICR7cn0gVGYgJHtnZXRQZGZDb2xvcihzLCEwKX1gO2guc2V0KCJEQSIsbCk7aC5zZXQoIkNvbnRlbnRzIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKEMpKTtoLnNldCgiRiIsNCk7aC5zZXQoIkJvcmRlciIsWzAsMCwwXSk7aC5zZXQoIlJvdGF0ZSIsbyk7YyYmaC5zZXQoIlQiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUoYykpO2lmKGl8fGEpe2NvbnN0IGU9bmV3IERpY3QodCk7aC5zZXQoIkFQIixlKTtpP2Uuc2V0KCJOIixpKTplLnNldCgiTiIsYSl9cmV0dXJuIGh9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0oZSx0LGkpe2NvbnN0e2Jhc2VGb250UmVmOmEsZXZhbHVhdG9yOnIsdGFzazpufT1pLHtjb2xvcjpnLGZvbnRTaXplOm8scmVjdDpjLHJvdGF0aW9uOkMsdmFsdWU6aH09ZSxsPW5ldyBEaWN0KHQpLFE9bmV3IERpY3QodCk7aWYoYSlRLnNldCgiSGVsdiIsYSk7ZWxzZXtjb25zdCBlPW5ldyBEaWN0KHQpO2Uuc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoIkhlbHZldGljYSIpKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZvbnQiKSk7ZS5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJUeXBlMSIpKTtlLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJXaW5BbnNpRW5jb2RpbmciKSk7US5zZXQoIkhlbHYiLGUpfWwuc2V0KCJGb250IixRKTtjb25zdCBFPWF3YWl0IFdpZGdldEFubm90YXRpb24uX2dldEZvbnREYXRhKHIsbix7Zm9udE5hbWU6IkhlbHYiLGZvbnRTaXplOm99LGwpLFt1LGQsZixwXT1jO2xldCBtPWYtdSx5PXAtZDtDJTE4MCE9MCYmKFttLHldPVt5LG1dKTtjb25zdCB3PWguc3BsaXQoIlxuIiksRD1vLzFlMztsZXQgYj0tMS8wO2NvbnN0IEY9W107Zm9yKGxldCBlIG9mIHcpe2NvbnN0IHQ9RS5lbmNvZGVTdHJpbmcoZSk7aWYodC5sZW5ndGg+MSlyZXR1cm4gbnVsbDtlPXQuam9pbigiIik7Ri5wdXNoKGUpO2xldCBpPTA7Y29uc3QgYT1FLmNoYXJzVG9HbHlwaHMoZSk7Zm9yKGNvbnN0IGUgb2YgYSlpKz1lLndpZHRoKkQ7Yj1NYXRoLm1heChiLGkpfWxldCBTPTE7Yj5tJiYoUz1tL2IpO2xldCBrPTE7Y29uc3QgUj1zKm8sTj0xKm8sRz1SKncubGVuZ3RoO0c+eSYmKGs9eS9HKTtjb25zdCB4PW8qTWF0aC5taW4oUyxrKTtsZXQgVSxNLEw7c3dpdGNoKEMpe2Nhc2UgMDpMPVsxLDAsMCwxXTtNPVtjWzBdLGNbMV0sbSx5XTtVPVtjWzBdLGNbM10tTl07YnJlYWs7Y2FzZSA5MDpMPVswLDEsLTEsMF07TT1bY1sxXSwtY1syXSxtLHldO1U9W2NbMV0sLWNbMF0tTl07YnJlYWs7Y2FzZSAxODA6TD1bLTEsMCwwLC0xXTtNPVstY1syXSwtY1szXSxtLHldO1U9Wy1jWzJdLC1jWzFdLU5dO2JyZWFrO2Nhc2UgMjcwOkw9WzAsLTEsMSwwXTtNPVstY1szXSxjWzBdLG0seV07VT1bLWNbM10sY1syXS1OXX1jb25zdCBIPVsicSIsYCR7TC5qb2luKCIgIil9IDAgMCBjbWAsYCR7TS5qb2luKCIgIil9IHJlIFcgbmAsIkJUIixgJHtnZXRQZGZDb2xvcihnLCEwKX1gLGAwIFRjIC9IZWx2ICR7bnVtYmVyVG9TdHJpbmcoeCl9IFRmYF07SC5wdXNoKGAke1Uuam9pbigiICIpfSBUZCAoJHtlc2NhcGVTdHJpbmcoRlswXSl9KSBUamApO2NvbnN0IEo9bnVtYmVyVG9TdHJpbmcoUik7Zm9yKGxldCBlPTEsdD1GLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PUZbZV07SC5wdXNoKGAwIC0ke0p9IFRkICgke2VzY2FwZVN0cmluZyh0KX0pIFRqYCl9SC5wdXNoKCJFVCIsIlEiKTtjb25zdCBZPUguam9pbigiXG4iKSx2PW5ldyBEaWN0KHQpO3Yuc2V0KCJGb3JtVHlwZSIsMSk7di5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGb3JtIikpO3Yuc2V0KCJUeXBlIixOYW1lLmdldCgiWE9iamVjdCIpKTt2LnNldCgiQkJveCIsYyk7di5zZXQoIlJlc291cmNlcyIsbCk7di5zZXQoIk1hdHJpeCIsWzEsMCwwLDEsLWNbMF0sLWNbMV1dKTtjb25zdCBUPW5ldyBTdHJpbmdTdHJlYW0oWSk7VC5kaWN0PXY7cmV0dXJuIFR9fWNsYXNzIExpbmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1HO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7Y29uc3QgYT1sb29rdXBSZWN0KHQuZ2V0QXJyYXkoIkwiKSxbMCwwLDAsMF0pO3RoaXMuZGF0YS5saW5lQ29vcmRpbmF0ZXM9VXRpbC5ub3JtYWxpemVSZWN0KGEpO3RoaXMuc2V0TGluZUVuZGluZ3ModC5nZXRBcnJheSgiTEUiKSk7dGhpcy5kYXRhLmxpbmVFbmRpbmdzPXRoaXMubGluZUVuZGluZ3M7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxzPXQuZ2V0KCJDQSIpLHI9Z2V0UmdiQ29sb3IodC5nZXRBcnJheSgiSUMiKSxudWxsKSxuPXI/Z2V0UGRmQ29sb3JBcnJheShyKTpudWxsLGc9bj9zOm51bGwsbz10aGlzLmJvcmRlclN0eWxlLndpZHRofHwxLGM9MipvLEM9W3RoaXMuZGF0YS5saW5lQ29vcmRpbmF0ZXNbMF0tYyx0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzWzFdLWMsdGhpcy5kYXRhLmxpbmVDb29yZGluYXRlc1syXStjLHRoaXMuZGF0YS5saW5lQ29vcmRpbmF0ZXNbM10rY107VXRpbC5pbnRlcnNlY3QodGhpcy5yZWN0YW5nbGUsQyl8fCh0aGlzLnJlY3RhbmdsZT1DKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke299IHdgLHN0cm9rZUNvbG9yOmUsZmlsbENvbG9yOm4sc3Ryb2tlQWxwaGE6cyxmaWxsQWxwaGE6Zyxwb2ludHNDYWxsYmFjazooZSx0KT0+e2UucHVzaChgJHthWzBdfSAke2FbMV19IG1gLGAke2FbMl19ICR7YVszXX0gbGAsIlMiKTtyZXR1cm5bdFswXS1vLHRbMl0rbyx0WzddLW8sdFszXStvXX19KX19fWNsYXNzIFNxdWFyZUFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPXg7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIikscz1nZXRSZ2JDb2xvcih0LmdldEFycmF5KCJJQyIpLG51bGwpLHI9cz9nZXRQZGZDb2xvckFycmF5KHMpOm51bGwsbj1yP2E6bnVsbDtpZigwPT09dGhpcy5ib3JkZXJTdHlsZS53aWR0aCYmIXIpcmV0dXJuO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6YCR7dGhpcy5ib3JkZXJTdHlsZS53aWR0aH0gd2Asc3Ryb2tlQ29sb3I6ZSxmaWxsQ29sb3I6cixzdHJva2VBbHBoYTphLGZpbGxBbHBoYTpuLHBvaW50c0NhbGxiYWNrOihlLHQpPT57Y29uc3QgaT10WzRdK3RoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixhPXRbNV0rdGhpcy5ib3JkZXJTdHlsZS53aWR0aC8yLHM9dFs2XS10WzRdLXRoaXMuYm9yZGVyU3R5bGUud2lkdGgsbj10WzNdLXRbN10tdGhpcy5ib3JkZXJTdHlsZS53aWR0aDtlLnB1c2goYCR7aX0gJHthfSAke3N9ICR7bn0gcmVgKTtyP2UucHVzaCgiQiIpOmUucHVzaCgiUyIpO3JldHVyblt0WzBdLHRbMl0sdFs3XSx0WzNdXX19KX19fWNsYXNzIENpcmNsZUFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPVU7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpLHM9Z2V0UmdiQ29sb3IodC5nZXRBcnJheSgiSUMiKSxudWxsKSxyPXM/Z2V0UGRmQ29sb3JBcnJheShzKTpudWxsLG49cj9hOm51bGw7aWYoMD09PXRoaXMuYm9yZGVyU3R5bGUud2lkdGgmJiFyKXJldHVybjtjb25zdCBnPTQvMypNYXRoLnRhbihNYXRoLlBJLzgpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6YCR7dGhpcy5ib3JkZXJTdHlsZS53aWR0aH0gd2Asc3Ryb2tlQ29sb3I6ZSxmaWxsQ29sb3I6cixzdHJva2VBbHBoYTphLGZpbGxBbHBoYTpuLHBvaW50c0NhbGxiYWNrOihlLHQpPT57Y29uc3QgaT10WzBdK3RoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixhPXRbMV0tdGhpcy5ib3JkZXJTdHlsZS53aWR0aC8yLHM9dFs2XS10aGlzLmJvcmRlclN0eWxlLndpZHRoLzIsbj10WzddK3RoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixvPWkrKHMtaSkvMixjPWErKG4tYSkvMixDPShzLWkpLzIqZyxoPShuLWEpLzIqZztlLnB1c2goYCR7b30gJHtufSBtYCxgJHtvK0N9ICR7bn0gJHtzfSAke2MraH0gJHtzfSAke2N9IGNgLGAke3N9ICR7Yy1ofSAke28rQ30gJHthfSAke299ICR7YX0gY2AsYCR7by1DfSAke2F9ICR7aX0gJHtjLWh9ICR7aX0gJHtjfSBjYCxgJHtpfSAke2MraH0gJHtvLUN9ICR7bn0gJHtvfSAke259IGNgLCJoIik7cj9lLnB1c2goIkIiKTplLnB1c2goIlMiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fX1jbGFzcyBQb2x5bGluZUFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUw7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTt0aGlzLmRhdGEudmVydGljZXM9bnVsbDtpZighKHRoaXMgaW5zdGFuY2VvZiBQb2x5Z29uQW5ub3RhdGlvbikpe3RoaXMuc2V0TGluZUVuZGluZ3ModC5nZXRBcnJheSgiTEUiKSk7dGhpcy5kYXRhLmxpbmVFbmRpbmdzPXRoaXMubGluZUVuZGluZ3N9Y29uc3QgYT10LmdldEFycmF5KCJWZXJ0aWNlcyIpO2lmKCFpc051bWJlckFycmF5KGEsbnVsbCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5kYXRhLnZlcnRpY2VzPUZsb2F0MzJBcnJheS5mcm9tKGEpO2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKSxyPXRoaXMuYm9yZGVyU3R5bGUud2lkdGh8fDEsbj0yKnIsZz1bMS8wLDEvMCwtMS8wLC0xLzBdO2ZvcihsZXQgZT0wLHQ9cy5sZW5ndGg7ZTx0O2UrPTIpe2dbMF09TWF0aC5taW4oZ1swXSxzW2VdLW4pO2dbMV09TWF0aC5taW4oZ1sxXSxzW2UrMV0tbik7Z1syXT1NYXRoLm1heChnWzJdLHNbZV0rbik7Z1szXT1NYXRoLm1heChnWzNdLHNbZSsxXStuKX1VdGlsLmludGVyc2VjdCh0aGlzLnJlY3RhbmdsZSxnKXx8KHRoaXMucmVjdGFuZ2xlPWcpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6YCR7cn0gd2Asc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57Zm9yKGxldCB0PTAsaT1zLmxlbmd0aDt0PGk7dCs9MillLnB1c2goYCR7c1t0XX0gJHtzW3QrMV19ICR7MD09PXQ/Im0iOiJsIn1gKTtlLnB1c2goIlMiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fX1jbGFzcyBQb2x5Z29uQW5ub3RhdGlvbiBleHRlbmRzIFBvbHlsaW5lQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9TX19Y2xhc3MgQ2FyZXRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9S319Y2xhc3MgSW5rQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1xO3RoaXMuZGF0YS5pbmtMaXN0cz1bXTt0aGlzLmRhdGEuaXNFZGl0YWJsZT0hdGhpcy5kYXRhLm5vSFRNTCYmIklua0hpZ2hsaWdodCI9PT10aGlzLmRhdGEuaXQ7dGhpcy5kYXRhLm5vSFRNTD0hMTt0aGlzLmRhdGEub3BhY2l0eT10LmdldCgiQ0EiKXx8MTtjb25zdCBhPXQuZ2V0QXJyYXkoIklua0xpc3QiKTtpZihBcnJheS5pc0FycmF5KGEpKXtmb3IobGV0IGU9MCx0PWEubGVuZ3RoO2U8dDsrK2Upe2lmKCFBcnJheS5pc0FycmF5KGFbZV0pKWNvbnRpbnVlO2NvbnN0IHQ9bmV3IEZsb2F0MzJBcnJheShhW2VdLmxlbmd0aCk7dGhpcy5kYXRhLmlua0xpc3RzLnB1c2godCk7Zm9yKGxldCBzPTAscj1hW2VdLmxlbmd0aDtzPHI7cys9Mil7Y29uc3Qgcj1pLmZldGNoSWZSZWYoYVtlXVtzXSksbj1pLmZldGNoSWZSZWYoYVtlXVtzKzFdKTtpZigibnVtYmVyIj09dHlwZW9mIHImJiJudW1iZXIiPT10eXBlb2Ygbil7dFtzXT1yO3RbcysxXT1ufX19aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpLHM9dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MSxyPTIqcyxuPVsxLzAsMS8wLC0xLzAsLTEvMF07Zm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhLmlua0xpc3RzKWZvcihsZXQgdD0wLGk9ZS5sZW5ndGg7dDxpO3QrPTIpe25bMF09TWF0aC5taW4oblswXSxlW3RdLXIpO25bMV09TWF0aC5taW4oblsxXSxlW3QrMV0tcik7blsyXT1NYXRoLm1heChuWzJdLGVbdF0rcik7blszXT1NYXRoLm1heChuWzNdLGVbdCsxXStyKX1VdGlsLmludGVyc2VjdCh0aGlzLnJlY3RhbmdsZSxuKXx8KHRoaXMucmVjdGFuZ2xlPW4pO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6YCR7c30gd2Asc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57Zm9yKGNvbnN0IHQgb2YgdGhpcy5kYXRhLmlua0xpc3RzKXtmb3IobGV0IGk9MCxhPXQubGVuZ3RoO2k8YTtpKz0yKWUucHVzaChgJHt0W2ldfSAke3RbaSsxXX0gJHswPT09aT8ibSI6ImwifWApO2UucHVzaCgiUyIpfXJldHVyblt0WzBdLHRbMl0sdFs3XSx0WzNdXX19KX19fXN0YXRpYyBjcmVhdGVOZXdEaWN0KGUsdCx7YXBSZWY6aSxhcDphfSl7Y29uc3R7Y29sb3I6cyxvcGFjaXR5OnIscGF0aHM6bixvdXRsaW5lczpnLHJlY3Q6byxyb3RhdGlvbjpjLHRoaWNrbmVzczpDfT1lLGg9bmV3IERpY3QodCk7aC5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJBbm5vdCIpKTtoLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkluayIpKTtoLnNldCgiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtoLnNldCgiUmVjdCIsbyk7aC5zZXQoIklua0xpc3QiLGc/LnBvaW50c3x8bi5wb2ludHMpO2guc2V0KCJGIiw0KTtoLnNldCgiUm90YXRlIixjKTtnJiZoLnNldCgiSVQiLE5hbWUuZ2V0KCJJbmtIaWdobGlnaHQiKSk7Y29uc3QgbD1uZXcgRGljdCh0KTtoLnNldCgiQlMiLGwpO2wuc2V0KCJXIixDKTtoLnNldCgiQyIsQXJyYXkuZnJvbShzLChlPT5lLzI1NSkpKTtoLnNldCgiQ0EiLHIpO2NvbnN0IFE9bmV3IERpY3QodCk7aC5zZXQoIkFQIixRKTtpP1Euc2V0KCJOIixpKTpRLnNldCgiTiIsYSk7cmV0dXJuIGh9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0oZSx0LGkpe2lmKGUub3V0bGluZXMpcmV0dXJuIHRoaXMuY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbUZvckhpZ2hsaWdodChlLHQsaSk7Y29uc3R7Y29sb3I6YSxyZWN0OnMscGF0aHM6cix0aGlja25lc3M6bixvcGFjaXR5Omd9PWUsbz1bYCR7bn0gdyAxIEogMSBqYCxgJHtnZXRQZGZDb2xvcihhLCExKX1gXTsxIT09ZyYmby5wdXNoKCIvUjAgZ3MiKTtmb3IoY29uc3QgZSBvZiByLmxpbmVzKXtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kz02KWlmKGlzTmFOKGVbdF0pKW8ucHVzaChgJHtudW1iZXJUb1N0cmluZyhlW3QrNF0pfSAke251bWJlclRvU3RyaW5nKGVbdCs1XSl9IG1gKTtlbHNle2NvbnN0W2ksYSxzLHIsbixnXT1lLnNsaWNlKHQsdCs2KTtvLnB1c2goW2ksYSxzLHIsbixnXS5tYXAobnVtYmVyVG9TdHJpbmcpLmpvaW4oIiAiKSsiIGMiKX02PT09ZS5sZW5ndGgmJm8ucHVzaChgJHtudW1iZXJUb1N0cmluZyhlWzRdKX0gJHtudW1iZXJUb1N0cmluZyhlWzVdKX0gbGApfW8ucHVzaCgiUyIpO2NvbnN0IGM9by5qb2luKCJcbiIpLEM9bmV3IERpY3QodCk7Qy5zZXQoIkZvcm1UeXBlIiwxKTtDLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Qy5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO0Muc2V0KCJCQm94IixzKTtDLnNldCgiTGVuZ3RoIixjLmxlbmd0aCk7aWYoMSE9PWcpe2NvbnN0IGU9bmV3IERpY3QodCksaT1uZXcgRGljdCh0KSxhPW5ldyBEaWN0KHQpO2Euc2V0KCJDQSIsZyk7YS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJFeHRHU3RhdGUiKSk7aS5zZXQoIlIwIixhKTtlLnNldCgiRXh0R1N0YXRlIixpKTtDLnNldCgiUmVzb3VyY2VzIixlKX1jb25zdCBoPW5ldyBTdHJpbmdTdHJlYW0oYyk7aC5kaWN0PUM7cmV0dXJuIGh9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW1Gb3JIaWdobGlnaHQoZSx0LGkpe2NvbnN0e2NvbG9yOmEscmVjdDpzLG91dGxpbmVzOntvdXRsaW5lOnJ9LG9wYWNpdHk6bn09ZSxnPVtgJHtnZXRQZGZDb2xvcihhLCEwKX1gLCIvUjAgZ3MiXTtnLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcocls0XSl9ICR7bnVtYmVyVG9TdHJpbmcocls1XSl9IG1gKTtmb3IobGV0IGU9Nix0PXIubGVuZ3RoO2U8dDtlKz02KWlmKGlzTmFOKHJbZV0pKWcucHVzaChgJHtudW1iZXJUb1N0cmluZyhyW2UrNF0pfSAke251bWJlclRvU3RyaW5nKHJbZSs1XSl9IGxgKTtlbHNle2NvbnN0W3QsaSxhLHMsbixvXT1yLnNsaWNlKGUsZSs2KTtnLnB1c2goW3QsaSxhLHMsbixvXS5tYXAobnVtYmVyVG9TdHJpbmcpLmpvaW4oIiAiKSsiIGMiKX1nLnB1c2goImggZiIpO2NvbnN0IG89Zy5qb2luKCJcbiIpLGM9bmV3IERpY3QodCk7Yy5zZXQoIkZvcm1UeXBlIiwxKTtjLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Yy5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO2Muc2V0KCJCQm94IixzKTtjLnNldCgiTGVuZ3RoIixvLmxlbmd0aCk7Y29uc3QgQz1uZXcgRGljdCh0KSxoPW5ldyBEaWN0KHQpO0Muc2V0KCJFeHRHU3RhdGUiLGgpO2Muc2V0KCJSZXNvdXJjZXMiLEMpO2NvbnN0IGw9bmV3IERpY3QodCk7aC5zZXQoIlIwIixsKTtsLnNldCgiQk0iLE5hbWUuZ2V0KCJNdWx0aXBseSIpKTtpZigxIT09bil7bC5zZXQoImNhIixuKTtsLnNldCgiVHlwZSIsTmFtZS5nZXQoIkV4dEdTdGF0ZSIpKX1jb25zdCBRPW5ldyBTdHJpbmdTdHJlYW0obyk7US5kaWN0PWM7cmV0dXJuIFF9fWNsYXNzIEhpZ2hsaWdodEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUg7dGhpcy5kYXRhLmlzRWRpdGFibGU9IXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5kYXRhLm5vSFRNTD0hMTt0aGlzLmRhdGEub3BhY2l0eT10LmdldCgiQ0EiKXx8MTtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2NvbnN0IGU9dGhpcy5hcHBlYXJhbmNlPy5kaWN0LmdldCgiUmVzb3VyY2VzIik7aWYoIXRoaXMuYXBwZWFyYW5jZXx8IWU/LmhhcygiRXh0R1N0YXRlIikpe3RoaXMuYXBwZWFyYW5jZSYmd2FybigiSGlnaGxpZ2h0QW5ub3RhdGlvbiAtIGlnbm9yaW5nIGJ1aWx0LWluIGFwcGVhcmFuY2Ugc3RyZWFtLiIpO2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlsxLDEsMF0sYT10LmdldCgiQ0EiKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGZpbGxDb2xvcjplLGJsZW5kTW9kZToiTXVsdGlwbHkiLGZpbGxBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKGAke3RbMF19ICR7dFsxXX0gbWAsYCR7dFsyXX0gJHt0WzNdfSBsYCxgJHt0WzZdfSAke3RbN119IGxgLGAke3RbNF19ICR7dFs1XX0gbGAsImYiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjppLGFwOmF9KXtjb25zdHtjb2xvcjpzLG9sZEFubm90YXRpb246cixvcGFjaXR5Om4scmVjdDpnLHJvdGF0aW9uOm8sdXNlcjpjLHF1YWRQb2ludHM6Q309ZSxoPXJ8fG5ldyBEaWN0KHQpO2guc2V0KCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7aC5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJIaWdobGlnaHQiKSk7aC5zZXQocj8iTSI6IkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7aC5zZXQoIkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7aC5zZXQoIlJlY3QiLGcpO2guc2V0KCJGIiw0KTtoLnNldCgiQm9yZGVyIixbMCwwLDBdKTtoLnNldCgiUm90YXRlIixvKTtoLnNldCgiUXVhZFBvaW50cyIsQyk7aC5zZXQoIkMiLEFycmF5LmZyb20ocywoZT0+ZS8yNTUpKSk7aC5zZXQoIkNBIixuKTtjJiZoLnNldCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShjKSk7aWYoaXx8YSl7Y29uc3QgZT1uZXcgRGljdCh0KTtoLnNldCgiQVAiLGUpO2Uuc2V0KCJOIixpfHxhKX1yZXR1cm4gaH1zdGF0aWMgYXN5bmMgY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShlLHQsaSl7Y29uc3R7Y29sb3I6YSxyZWN0OnMsb3V0bGluZXM6cixvcGFjaXR5Om59PWUsZz1bYCR7Z2V0UGRmQ29sb3IoYSwhMCl9YCwiL1IwIGdzIl0sbz1bXTtmb3IoY29uc3QgZSBvZiByKXtvLmxlbmd0aD0wO28ucHVzaChgJHtudW1iZXJUb1N0cmluZyhlWzBdKX0gJHtudW1iZXJUb1N0cmluZyhlWzFdKX0gbWApO2ZvcihsZXQgdD0yLGk9ZS5sZW5ndGg7dDxpO3QrPTIpby5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbdF0pfSAke251bWJlclRvU3RyaW5nKGVbdCsxXSl9IGxgKTtvLnB1c2goImgiKTtnLnB1c2goby5qb2luKCJcbiIpKX1nLnB1c2goImYqIik7Y29uc3QgYz1nLmpvaW4oIlxuIiksQz1uZXcgRGljdCh0KTtDLnNldCgiRm9ybVR5cGUiLDEpO0Muc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtDLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7Qy5zZXQoIkJCb3giLHMpO0Muc2V0KCJMZW5ndGgiLGMubGVuZ3RoKTtjb25zdCBoPW5ldyBEaWN0KHQpLGw9bmV3IERpY3QodCk7aC5zZXQoIkV4dEdTdGF0ZSIsbCk7Qy5zZXQoIlJlc291cmNlcyIsaCk7Y29uc3QgUT1uZXcgRGljdCh0KTtsLnNldCgiUjAiLFEpO1Euc2V0KCJCTSIsTmFtZS5nZXQoIk11bHRpcGx5IikpO2lmKDEhPT1uKXtRLnNldCgiY2EiLG4pO1Euc2V0KCJUeXBlIixOYW1lLmdldCgiRXh0R1N0YXRlIikpfWNvbnN0IEU9bmV3IFN0cmluZ1N0cmVhbShjKTtFLmRpY3Q9QztyZXR1cm4gRX19Y2xhc3MgVW5kZXJsaW5lQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9SjtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOiJbXSAwIGQgMC41NzEgdyIsc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKGAke3RbNF19ICR7dFs1XSsxLjN9IG1gLGAke3RbNl19ICR7dFs3XSsxLjN9IGxgLCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX1lbHNlIHRoaXMuZGF0YS5wb3B1cFJlZj1udWxsfX1jbGFzcyBTcXVpZ2dseUFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPVk7aWYodGhpcy5kYXRhLnF1YWRQb2ludHM9Z2V0UXVhZFBvaW50cyh0LG51bGwpKXtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIik7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYToiW10gMCBkIDEgdyIsc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57Y29uc3QgaT0odFsxXS10WzVdKS82O2xldCBhPWkscz10WzRdO2NvbnN0IHI9dFs1XSxuPXRbNl07ZS5wdXNoKGAke3N9ICR7cithfSBtYCk7ZG97cys9MjthPTA9PT1hP2k6MDtlLnB1c2goYCR7c30gJHtyK2F9IGxgKX13aGlsZShzPG4pO2UucHVzaCgiUyIpO3JldHVyblt0WzRdLG4sci0yKmkscisyKmldfX0pfX1lbHNlIHRoaXMuZGF0YS5wb3B1cFJlZj1udWxsfX1jbGFzcyBTdHJpa2VPdXRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT12O2lmKHRoaXMuZGF0YS5xdWFkUG9pbnRzPWdldFF1YWRQb2ludHModCxudWxsKSl7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6IltdIDAgZCAxIHciLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6YSxwb2ludHNDYWxsYmFjazooZSx0KT0+e2UucHVzaCgodFswXSt0WzRdKS8yKyIgIisodFsxXSt0WzVdKS8yKyIgbSIsKHRbMl0rdFs2XSkvMisiICIrKHRbM10rdFs3XSkvMisiIGwiLCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX1lbHNlIHRoaXMuZGF0YS5wb3B1cFJlZj1udWxsfX1jbGFzcyBTdGFtcEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ueyNLO2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1UO3RoaXMuI0s9dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLmlzRWRpdGFibGU9IXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5kYXRhLm5vSFRNTD0hMX1tdXN0QmVWaWV3ZWRXaGVuRWRpdGluZyhlLHQ9bnVsbCl7aWYoZSl7aWYoIXRoaXMuZGF0YS5pc0VkaXRhYmxlKXJldHVybiExO3RoaXMuI0s9dGhpcy5kYXRhLmhhc093bkNhbnZhczt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPSEwO3JldHVybiEwfXRoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy4jSztyZXR1cm4hdD8uaGFzKHRoaXMuZGF0YS5pZCl9c3RhdGljIGFzeW5jIGNyZWF0ZUltYWdlKGUsdCl7Y29uc3R7d2lkdGg6aSxoZWlnaHQ6YX09ZSxzPW5ldyBPZmZzY3JlZW5DYW52YXMoaSxhKSxyPXMuZ2V0Q29udGV4dCgiMmQiLHthbHBoYTohMH0pO3IuZHJhd0ltYWdlKGUsMCwwKTtjb25zdCBuPXIuZ2V0SW1hZ2VEYXRhKDAsMCxpLGEpLmRhdGEsZz1uZXcgVWludDMyQXJyYXkobi5idWZmZXIpLG89Zy5zb21lKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuP2U9PmU+Pj4yNCE9MjU1OmU9PjI1NSE9KDI1NSZlKSk7aWYobyl7ci5maWxsU3R5bGU9IndoaXRlIjtyLmZpbGxSZWN0KDAsMCxpLGEpO3IuZHJhd0ltYWdlKGUsMCwwKX1jb25zdCBjPXMuY29udmVydFRvQmxvYih7dHlwZToiaW1hZ2UvanBlZyIscXVhbGl0eToxfSkudGhlbigoZT0+ZS5hcnJheUJ1ZmZlcigpKSksQz1OYW1lLmdldCgiWE9iamVjdCIpLGg9TmFtZS5nZXQoIkltYWdlIiksbD1uZXcgRGljdCh0KTtsLnNldCgiVHlwZSIsQyk7bC5zZXQoIlN1YnR5cGUiLGgpO2wuc2V0KCJCaXRzUGVyQ29tcG9uZW50Iiw4KTtsLnNldCgiQ29sb3JTcGFjZSIsTmFtZS5nZXQoIkRldmljZVJHQiIpKTtsLnNldCgiRmlsdGVyIixOYW1lLmdldCgiRENURGVjb2RlIikpO2wuc2V0KCJCQm94IixbMCwwLGksYV0pO2wuc2V0KCJXaWR0aCIsaSk7bC5zZXQoIkhlaWdodCIsYSk7bGV0IFE9bnVsbDtpZihvKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KGcubGVuZ3RoKTtpZihGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbilmb3IobGV0IHQ9MCxpPWcubGVuZ3RoO3Q8aTt0KyspZVt0XT1nW3RdPj4+MjQ7ZWxzZSBmb3IobGV0IHQ9MCxpPWcubGVuZ3RoO3Q8aTt0KyspZVt0XT0yNTUmZ1t0XTtjb25zdCBzPW5ldyBEaWN0KHQpO3Muc2V0KCJUeXBlIixDKTtzLnNldCgiU3VidHlwZSIsaCk7cy5zZXQoIkJpdHNQZXJDb21wb25lbnQiLDgpO3Muc2V0KCJDb2xvclNwYWNlIixOYW1lLmdldCgiRGV2aWNlR3JheSIpKTtzLnNldCgiV2lkdGgiLGkpO3Muc2V0KCJIZWlnaHQiLGEpO1E9bmV3IFN0cmVhbShlLDAsMCxzKX1yZXR1cm57aW1hZ2VTdHJlYW06bmV3IFN0cmVhbShhd2FpdCBjLDAsMCxsKSxzbWFza1N0cmVhbTpRLHdpZHRoOmksaGVpZ2h0OmF9fXN0YXRpYyBjcmVhdGVOZXdEaWN0KGUsdCx7YXBSZWY6aSxhcDphfSl7Y29uc3R7b2xkQW5ub3RhdGlvbjpzLHJlY3Q6cixyb3RhdGlvbjpuLHVzZXI6Z309ZSxvPXN8fG5ldyBEaWN0KHQpO28uc2V0KCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7by5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJTdGFtcCIpKTtvLnNldChzPyJNIjoiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtvLnNldCgiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtvLnNldCgiUmVjdCIscik7by5zZXQoIkYiLDQpO28uc2V0KCJCb3JkZXIiLFswLDAsMF0pO28uc2V0KCJSb3RhdGUiLG4pO2cmJm8uc2V0KCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKGcpKTtpZihpfHxhKXtjb25zdCBlPW5ldyBEaWN0KHQpO28uc2V0KCJBUCIsZSk7aT9lLnNldCgiTiIsaSk6ZS5zZXQoIk4iLGEpfXJldHVybiBvfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtpZihlLm9sZEFubm90YXRpb24pcmV0dXJuIG51bGw7Y29uc3R7cm90YXRpb246YX09ZSx7aW1hZ2VSZWY6cyx3aWR0aDpyLGhlaWdodDpufT1pLmltYWdlLGc9bmV3IERpY3QodCksbz1uZXcgRGljdCh0KTtnLnNldCgiWE9iamVjdCIsbyk7by5zZXQoIkltMCIscyk7Y29uc3QgYz1gcSAke3J9IDAgMCAke259IDAgMCBjbSAvSW0wIERvIFFgLEM9bmV3IERpY3QodCk7Qy5zZXQoIkZvcm1UeXBlIiwxKTtDLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Qy5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO0Muc2V0KCJCQm94IixbMCwwLHIsbl0pO0Muc2V0KCJSZXNvdXJjZXMiLGcpO2lmKGEpe2NvbnN0IGU9Z2V0Um90YXRpb25NYXRyaXgoYSxyLG4pO0Muc2V0KCJNYXRyaXgiLGUpfWNvbnN0IGg9bmV3IFN0cmluZ1N0cmVhbShjKTtoLmRpY3Q9QztyZXR1cm4gaH19Y2xhc3MgRmlsZUF0dGFjaG1lbnRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lLGE9bmV3IEZpbGVTcGVjKHQuZ2V0KCJGUyIpLGkpO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1XO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5kYXRhLmZpbGU9YS5zZXJpYWxpemFibGU7Y29uc3Qgcz10LmdldCgiTmFtZSIpO3RoaXMuZGF0YS5uYW1lPXMgaW5zdGFuY2VvZiBOYW1lP3N0cmluZ1RvUERGU3RyaW5nKHMubmFtZSk6IlB1c2hQaW4iO2NvbnN0IHI9dC5nZXQoImNhIik7dGhpcy5kYXRhLmZpbGxBbHBoYT0ibnVtYmVyIj09dHlwZW9mIHImJnI+PTAmJnI8PTE/cjpudWxsfX1jbGFzcyBEZWNyeXB0U3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5kZWNyeXB0PWk7dGhpcy5uZXh0Q2h1bms9bnVsbDt0aGlzLmluaXRpYWxpemVkPSExfXJlYWRCbG9jaygpe2xldCBlO2lmKHRoaXMuaW5pdGlhbGl6ZWQpZT10aGlzLm5leHRDaHVuaztlbHNle2U9dGhpcy5zdHIuZ2V0Qnl0ZXMoNTEyKTt0aGlzLmluaXRpYWxpemVkPSEwfWlmKCFlfHwwPT09ZS5sZW5ndGgpe3RoaXMuZW9mPSEwO3JldHVybn10aGlzLm5leHRDaHVuaz10aGlzLnN0ci5nZXRCeXRlcyg1MTIpO2NvbnN0IHQ9dGhpcy5uZXh0Q2h1bms/Lmxlbmd0aD4wO2U9KDAsdGhpcy5kZWNyeXB0KShlLCF0KTtjb25zdCBpPXRoaXMuYnVmZmVyTGVuZ3RoLGE9aStlLmxlbmd0aDt0aGlzLmVuc3VyZUJ1ZmZlcihhKS5zZXQoZSxpKTt0aGlzLmJ1ZmZlckxlbmd0aD1hfX1jbGFzcyBBUkNGb3VyQ2lwaGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuYT0wO3RoaXMuYj0wO2NvbnN0IHQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxpPWUubGVuZ3RoO2ZvcihsZXQgZT0wO2U8MjU2OysrZSl0W2VdPWU7Zm9yKGxldCBhPTAscz0wO2E8MjU2OysrYSl7Y29uc3Qgcj10W2FdO3M9cytyK2VbYSVpXSYyNTU7dFthXT10W3NdO3Rbc109cn10aGlzLnM9dH1lbmNyeXB0QmxvY2soZSl7bGV0IHQ9dGhpcy5hLGk9dGhpcy5iO2NvbnN0IGE9dGhpcy5zLHM9ZS5sZW5ndGgscj1uZXcgVWludDhBcnJheShzKTtmb3IobGV0IG49MDtuPHM7KytuKXt0PXQrMSYyNTU7Y29uc3Qgcz1hW3RdO2k9aStzJjI1NTtjb25zdCBnPWFbaV07YVt0XT1nO2FbaV09cztyW25dPWVbbl1eYVtzK2cmMjU1XX10aGlzLmE9dDt0aGlzLmI9aTtyZXR1cm4gcn1kZWNyeXB0QmxvY2soZSl7cmV0dXJuIHRoaXMuZW5jcnlwdEJsb2NrKGUpfWVuY3J5cHQoZSl7cmV0dXJuIHRoaXMuZW5jcnlwdEJsb2NrKGUpfX1jb25zdCBzZz1mdW5jdGlvbiBjYWxjdWxhdGVNRDVDbG9zdXJlKCl7Y29uc3QgZT1uZXcgVWludDhBcnJheShbNywxMiwxNywyMiw3LDEyLDE3LDIyLDcsMTIsMTcsMjIsNywxMiwxNywyMiw1LDksMTQsMjAsNSw5LDE0LDIwLDUsOSwxNCwyMCw1LDksMTQsMjAsNCwxMSwxNiwyMyw0LDExLDE2LDIzLDQsMTEsMTYsMjMsNCwxMSwxNiwyMyw2LDEwLDE1LDIxLDYsMTAsMTUsMjEsNiwxMCwxNSwyMSw2LDEwLDE1LDIxXSksdD1uZXcgSW50MzJBcnJheShbLTY4MDg3NjkzNiwtMzg5NTY0NTg2LDYwNjEwNTgxOSwtMTA0NDUyNTMzMCwtMTc2NDE4ODk3LDEyMDAwODA0MjYsLTE0NzMyMzEzNDEsLTQ1NzA1OTgzLDE3NzAwMzU0MTYsLTE5NTg0MTQ0MTcsLTQyMDYzLC0xOTkwNDA0MTYyLDE4MDQ2MDM2ODIsLTQwMzQxMTAxLC0xNTAyMDAyMjkwLDEyMzY1MzUzMjksLTE2NTc5NjUxMCwtMTA2OTUwMTYzMiw2NDM3MTc3MTMsLTM3Mzg5NzMwMiwtNzAxNTU4NjkxLDM4MDE2MDgzLC02NjA0NzgzMzUsLTQwNTUzNzg0OCw1Njg0NDY0MzgsLTEwMTk4MDM2OTAsLTE4NzM2Mzk2MSwxMTYzNTMxNTAxLC0xNDQ0NjgxNDY3LC01MTQwMzc4NCwxNzM1MzI4NDczLC0xOTI2NjA3NzM0LC0zNzg1NTgsLTIwMjI1NzQ0NjMsMTgzOTAzMDU2MiwtMzUzMDk1NTYsLTE1MzA5OTIwNjAsMTI3Mjg5MzM1MywtMTU1NDk3NjMyLC0xMDk0NzMwNjQwLDY4MTI3OTE3NCwtMzU4NTM3MjIyLC03MjI1MjE5NzksNzYwMjkxODksLTY0MDM2NDQ4NywtNDIxODE1ODM1LDUzMDc0MjUyMCwtOTk1MzM4NjUxLC0xOTg2MzA4NDQsMTEyNjg5MTQxNSwtMTQxNjM1NDkwNSwtNTc0MzQwNTUsMTcwMDQ4NTU3MSwtMTg5NDk4NjYwNiwtMTA1MTUyMywtMjA1NDkyMjc5OSwxODczMzEzMzU5LC0zMDYxMTc0NCwtMTU2MDE5ODM4MCwxMzA5MTUxNjQ5LC0xNDU1MjMwNzAsLTExMjAyMTAzNzksNzE4Nzg3MjU5LC0zNDM0ODU1NTFdKTtyZXR1cm4gZnVuY3Rpb24gaGFzaChpLGEscyl7bGV0IHI9MTczMjU4NDE5MyxuPS0yNzE3MzM4NzksZz0tMTczMjU4NDE5NCxvPTI3MTczMzg3ODtjb25zdCBjPXMrNzImLTY0LEM9bmV3IFVpbnQ4QXJyYXkoYyk7bGV0IGgsbDtmb3IoaD0wO2g8czsrK2gpQ1toXT1pW2ErK107Q1toKytdPTEyODtjb25zdCBRPWMtODtmb3IoO2g8UTspQ1toKytdPTA7Q1toKytdPXM8PDMmMjU1O0NbaCsrXT1zPj41JjI1NTtDW2grK109cz4+MTMmMjU1O0NbaCsrXT1zPj4yMSYyNTU7Q1toKytdPXM+Pj4yOSYyNTU7Q1toKytdPTA7Q1toKytdPTA7Q1toKytdPTA7Y29uc3QgRT1uZXcgSW50MzJBcnJheSgxNik7Zm9yKGg9MDtoPGM7KXtmb3IobD0wO2w8MTY7KytsLGgrPTQpRVtsXT1DW2hdfENbaCsxXTw8OHxDW2grMl08PDE2fENbaCszXTw8MjQ7bGV0IGksYSxzPXIsYz1uLFE9Zyx1PW87Zm9yKGw9MDtsPDY0OysrbCl7aWYobDwxNil7aT1jJlF8fmMmdTthPWx9ZWxzZSBpZihsPDMyKXtpPXUmY3x+dSZRO2E9NSpsKzEmMTV9ZWxzZSBpZihsPDQ4KXtpPWNeUV51O2E9MypsKzUmMTV9ZWxzZXtpPVFeKGN8fnUpO2E9NypsJjE1fWNvbnN0IHI9dSxuPXMraSt0W2xdK0VbYV18MCxnPWVbbF07dT1RO1E9YztjPWMrKG48PGd8bj4+PjMyLWcpfDA7cz1yfXI9citzfDA7bj1uK2N8MDtnPWcrUXwwO289byt1fDB9cmV0dXJuIG5ldyBVaW50OEFycmF5KFsyNTUmcixyPj44JjI1NSxyPj4xNiYyNTUscj4+PjI0JjI1NSwyNTUmbixuPj44JjI1NSxuPj4xNiYyNTUsbj4+PjI0JjI1NSwyNTUmZyxnPj44JjI1NSxnPj4xNiYyNTUsZz4+PjI0JjI1NSwyNTUmbyxvPj44JjI1NSxvPj4xNiYyNTUsbz4+PjI0JjI1NV0pfX0oKTtjbGFzcyBXb3JkNjR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhpZ2g9MHxlO3RoaXMubG93PTB8dH1hbmQoZSl7dGhpcy5oaWdoJj1lLmhpZ2g7dGhpcy5sb3cmPWUubG93fXhvcihlKXt0aGlzLmhpZ2hePWUuaGlnaDt0aGlzLmxvd149ZS5sb3d9b3IoZSl7dGhpcy5oaWdofD1lLmhpZ2g7dGhpcy5sb3d8PWUubG93fXNoaWZ0UmlnaHQoZSl7aWYoZT49MzIpe3RoaXMubG93PXRoaXMuaGlnaD4+PmUtMzJ8MDt0aGlzLmhpZ2g9MH1lbHNle3RoaXMubG93PXRoaXMubG93Pj4+ZXx0aGlzLmhpZ2g8PDMyLWU7dGhpcy5oaWdoPXRoaXMuaGlnaD4+PmV8MH19c2hpZnRMZWZ0KGUpe2lmKGU+PTMyKXt0aGlzLmhpZ2g9dGhpcy5sb3c8PGUtMzI7dGhpcy5sb3c9MH1lbHNle3RoaXMuaGlnaD10aGlzLmhpZ2g8PGV8dGhpcy5sb3c+Pj4zMi1lO3RoaXMubG93PDw9ZX19cm90YXRlUmlnaHQoZSl7bGV0IHQsaTtpZigzMiZlKXtpPXRoaXMubG93O3Q9dGhpcy5oaWdofWVsc2V7dD10aGlzLmxvdztpPXRoaXMuaGlnaH1lJj0zMTt0aGlzLmxvdz10Pj4+ZXxpPDwzMi1lO3RoaXMuaGlnaD1pPj4+ZXx0PDwzMi1lfW5vdCgpe3RoaXMuaGlnaD1+dGhpcy5oaWdoO3RoaXMubG93PX50aGlzLmxvd31hZGQoZSl7Y29uc3QgdD0odGhpcy5sb3c+Pj4wKSsoZS5sb3c+Pj4wKTtsZXQgaT0odGhpcy5oaWdoPj4+MCkrKGUuaGlnaD4+PjApO3Q+NDI5NDk2NzI5NSYmKGkrPTEpO3RoaXMubG93PTB8dDt0aGlzLmhpZ2g9MHxpfWNvcHlUbyhlLHQpe2VbdF09dGhpcy5oaWdoPj4+MjQmMjU1O2VbdCsxXT10aGlzLmhpZ2g+PjE2JjI1NTtlW3QrMl09dGhpcy5oaWdoPj44JjI1NTtlW3QrM109MjU1JnRoaXMuaGlnaDtlW3QrNF09dGhpcy5sb3c+Pj4yNCYyNTU7ZVt0KzVdPXRoaXMubG93Pj4xNiYyNTU7ZVt0KzZdPXRoaXMubG93Pj44JjI1NTtlW3QrN109MjU1JnRoaXMubG93fWFzc2lnbihlKXt0aGlzLmhpZ2g9ZS5oaWdoO3RoaXMubG93PWUubG93fX1jb25zdCByZz1mdW5jdGlvbiBjYWxjdWxhdGVTSEEyNTZDbG9zdXJlKCl7ZnVuY3Rpb24gcm90cihlLHQpe3JldHVybiBlPj4+dHxlPDwzMi10fWZ1bmN0aW9uIGNoKGUsdCxpKXtyZXR1cm4gZSZ0Xn5lJml9ZnVuY3Rpb24gbWFqKGUsdCxpKXtyZXR1cm4gZSZ0XmUmaV50Jml9ZnVuY3Rpb24gc2lnbWEoZSl7cmV0dXJuIHJvdHIoZSwyKV5yb3RyKGUsMTMpXnJvdHIoZSwyMil9ZnVuY3Rpb24gc2lnbWFQcmltZShlKXtyZXR1cm4gcm90cihlLDYpXnJvdHIoZSwxMSlecm90cihlLDI1KX1mdW5jdGlvbiBsaXR0bGVTaWdtYShlKXtyZXR1cm4gcm90cihlLDcpXnJvdHIoZSwxOCleZT4+PjN9Y29uc3QgZT1bMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XTtyZXR1cm4gZnVuY3Rpb24gaGFzaCh0LGksYSl7bGV0IHM9MTc3OTAzMzcwMyxyPTMxNDQxMzQyNzcsbj0xMDEzOTA0MjQyLGc9Mjc3MzQ4MDc2MixvPTEzNTk4OTMxMTksYz0yNjAwODIyOTI0LEM9NTI4NzM0NjM1LGg9MTU0MTQ1OTIyNTtjb25zdCBsPTY0Kk1hdGguY2VpbCgoYSs5KS82NCksUT1uZXcgVWludDhBcnJheShsKTtsZXQgRSx1O2ZvcihFPTA7RTxhOysrRSlRW0VdPXRbaSsrXTtRW0UrK109MTI4O2NvbnN0IGQ9bC04O2Zvcig7RTxkOylRW0UrK109MDtRW0UrK109MDtRW0UrK109MDtRW0UrK109MDtRW0UrK109YT4+PjI5JjI1NTtRW0UrK109YT4+MjEmMjU1O1FbRSsrXT1hPj4xMyYyNTU7UVtFKytdPWE+PjUmMjU1O1FbRSsrXT1hPDwzJjI1NTtjb25zdCBmPW5ldyBVaW50MzJBcnJheSg2NCk7Zm9yKEU9MDtFPGw7KXtmb3IodT0wO3U8MTY7Kyt1KXtmW3VdPVFbRV08PDI0fFFbRSsxXTw8MTZ8UVtFKzJdPDw4fFFbRSszXTtFKz00fWZvcih1PTE2O3U8NjQ7Kyt1KWZbdV09KHJvdHIocD1mW3UtMl0sMTcpXnJvdHIocCwxOSlecD4+PjEwKStmW3UtN10rbGl0dGxlU2lnbWEoZlt1LTE1XSkrZlt1LTE2XXwwO2xldCB0LGksYT1zLGw9cixkPW4sbT1nLHk9byx3PWMsRD1DLGI9aDtmb3IodT0wO3U8NjQ7Kyt1KXt0PWIrc2lnbWFQcmltZSh5KStjaCh5LHcsRCkrZVt1XStmW3VdO2k9c2lnbWEoYSkrbWFqKGEsbCxkKTtiPUQ7RD13O3c9eTt5PW0rdHwwO209ZDtkPWw7bD1hO2E9dCtpfDB9cz1zK2F8MDtyPXIrbHwwO249bitkfDA7Zz1nK218MDtvPW8reXwwO2M9Yyt3fDA7Qz1DK0R8MDtoPWgrYnwwfXZhciBwO3JldHVybiBuZXcgVWludDhBcnJheShbcz4+MjQmMjU1LHM+PjE2JjI1NSxzPj44JjI1NSwyNTUmcyxyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyLG4+PjI0JjI1NSxuPj4xNiYyNTUsbj4+OCYyNTUsMjU1Jm4sZz4+MjQmMjU1LGc+PjE2JjI1NSxnPj44JjI1NSwyNTUmZyxvPj4yNCYyNTUsbz4+MTYmMjU1LG8+PjgmMjU1LDI1NSZvLGM+PjI0JjI1NSxjPj4xNiYyNTUsYz4+OCYyNTUsMjU1JmMsQz4+MjQmMjU1LEM+PjE2JjI1NSxDPj44JjI1NSwyNTUmQyxoPj4yNCYyNTUsaD4+MTYmMjU1LGg+PjgmMjU1LDI1NSZoXSl9fSgpLG5nPWZ1bmN0aW9uIGNhbGN1bGF0ZVNIQTUxMkNsb3N1cmUoKXtmdW5jdGlvbiBjaChlLHQsaSxhLHMpe2UuYXNzaWduKHQpO2UuYW5kKGkpO3MuYXNzaWduKHQpO3Mubm90KCk7cy5hbmQoYSk7ZS54b3Iocyl9ZnVuY3Rpb24gbWFqKGUsdCxpLGEscyl7ZS5hc3NpZ24odCk7ZS5hbmQoaSk7cy5hc3NpZ24odCk7cy5hbmQoYSk7ZS54b3Iocyk7cy5hc3NpZ24oaSk7cy5hbmQoYSk7ZS54b3Iocyl9ZnVuY3Rpb24gc2lnbWEoZSx0LGkpe2UuYXNzaWduKHQpO2Uucm90YXRlUmlnaHQoMjgpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoMzQpO2UueG9yKGkpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoMzkpO2UueG9yKGkpfWZ1bmN0aW9uIHNpZ21hUHJpbWUoZSx0LGkpe2UuYXNzaWduKHQpO2Uucm90YXRlUmlnaHQoMTQpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoMTgpO2UueG9yKGkpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoNDEpO2UueG9yKGkpfWZ1bmN0aW9uIGxpdHRsZVNpZ21hKGUsdCxpKXtlLmFzc2lnbih0KTtlLnJvdGF0ZVJpZ2h0KDEpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoOCk7ZS54b3IoaSk7aS5hc3NpZ24odCk7aS5zaGlmdFJpZ2h0KDcpO2UueG9yKGkpfWZ1bmN0aW9uIGxpdHRsZVNpZ21hUHJpbWUoZSx0LGkpe2UuYXNzaWduKHQpO2Uucm90YXRlUmlnaHQoMTkpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoNjEpO2UueG9yKGkpO2kuYXNzaWduKHQpO2kuc2hpZnRSaWdodCg2KTtlLnhvcihpKX1jb25zdCBlPVtuZXcgV29yZDY0KDExMTYzNTI0MDgsMzYwOTc2NzQ1OCksbmV3IFdvcmQ2NCgxODk5NDQ3NDQxLDYwMjg5MTcyNSksbmV3IFdvcmQ2NCgzMDQ5MzIzNDcxLDM5NjQ0ODQzOTkpLG5ldyBXb3JkNjQoMzkyMTAwOTU3MywyMTczMjk1NTQ4KSxuZXcgV29yZDY0KDk2MTk4NzE2Myw0MDgxNjI4NDcyKSxuZXcgV29yZDY0KDE1MDg5NzA5OTMsMzA1MzgzNDI2NSksbmV3IFdvcmQ2NCgyNDUzNjM1NzQ4LDI5Mzc2NzE1NzkpLG5ldyBXb3JkNjQoMjg3MDc2MzIyMSwzNjY0NjA5NTYwKSxuZXcgV29yZDY0KDM2MjQzODEwODAsMjczNDg4MzM5NCksbmV3IFdvcmQ2NCgzMTA1OTg0MDEsMTE2NDk5NjU0MiksbmV3IFdvcmQ2NCg2MDcyMjUyNzgsMTMyMzYxMDc2NCksbmV3IFdvcmQ2NCgxNDI2ODgxOTg3LDM1OTAzMDQ5OTQpLG5ldyBXb3JkNjQoMTkyNTA3ODM4OCw0MDY4MTgyMzgzKSxuZXcgV29yZDY0KDIxNjIwNzgyMDYsOTkxMzM2MTEzKSxuZXcgV29yZDY0KDI2MTQ4ODgxMDMsNjMzODAzMzE3KSxuZXcgV29yZDY0KDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCksbmV3IFdvcmQ2NCgzODM1MzkwNDAxLDI2NjY2MTM0NTgpLG5ldyBXb3JkNjQoNDAyMjIyNDc3NCw5NDQ3MTExMzkpLG5ldyBXb3JkNjQoMjY0MzQ3MDc4LDIzNDEyNjI3NzMpLG5ldyBXb3JkNjQoNjA0ODA3NjI4LDIwMDc4MDA5MzMpLG5ldyBXb3JkNjQoNzcwMjU1OTgzLDE0OTU5OTA5MDEpLG5ldyBXb3JkNjQoMTI0OTE1MDEyMiwxODU2NDMxMjM1KSxuZXcgV29yZDY0KDE1NTUwODE2OTIsMzE3NTIxODEzMiksbmV3IFdvcmQ2NCgxOTk2MDY0OTg2LDIxOTg5NTA4MzcpLG5ldyBXb3JkNjQoMjU1NDIyMDg4MiwzOTk5NzE5MzM5KSxuZXcgV29yZDY0KDI4MjE4MzQzNDksNzY2Nzg0MDE2KSxuZXcgV29yZDY0KDI5NTI5OTY4MDgsMjU2NjU5NDg3OSksbmV3IFdvcmQ2NCgzMjEwMzEzNjcxLDMyMDMzMzc5NTYpLG5ldyBXb3JkNjQoMzMzNjU3MTg5MSwxMDM0NDU3MDI2KSxuZXcgV29yZDY0KDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSksbmV3IFdvcmQ2NCgxMTM5MjY5OTMsMzc1ODMyNjM4MyksbmV3IFdvcmQ2NCgzMzgyNDE4OTUsMTY4NzE3OTM2KSxuZXcgV29yZDY0KDY2NjMwNzIwNSwxMTg4MTc5OTY0KSxuZXcgV29yZDY0KDc3MzUyOTkxMiwxNTQ2MDQ1NzM0KSxuZXcgV29yZDY0KDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSksbmV3IFdvcmQ2NCgxMzk2MTgyMjkxLDI2NDM4MzM4MjMpLG5ldyBXb3JkNjQoMTY5NTE4MzcwMCwyMzQzNTI3MzkwKSxuZXcgV29yZDY0KDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCksbmV3IFdvcmQ2NCgyMTc3MDI2MzUwLDEyMDY3NTkxNDIpLG5ldyBXb3JkNjQoMjQ1Njk1NjAzNywzNDQwNzc2MjcpLG5ldyBXb3JkNjQoMjczMDQ4NTkyMSwxMjkwODYzNDYwKSxuZXcgV29yZDY0KDI4MjAzMDI0MTEsMzE1ODQ1NDI3MyksbmV3IFdvcmQ2NCgzMjU5NzMwODAwLDM1MDU5NTI2NTcpLG5ldyBXb3JkNjQoMzM0NTc2NDc3MSwxMDYyMTcwMDgpLG5ldyBXb3JkNjQoMzUxNjA2NTgxNywzNjA2MDA4MzQ0KSxuZXcgV29yZDY0KDM2MDAzNTI4MDQsMTQzMjcyNTc3NiksbmV3IFdvcmQ2NCg0MDk0NTcxOTA5LDE0NjcwMzE1OTQpLG5ldyBXb3JkNjQoMjc1NDIzMzQ0LDg1MTE2OTcyMCksbmV3IFdvcmQ2NCg0MzAyMjc3MzQsMzEwMDgyMzc1MiksbmV3IFdvcmQ2NCg1MDY5NDg2MTYsMTM2MzI1ODE5NSksbmV3IFdvcmQ2NCg2NTkwNjA1NTYsMzc1MDY4NTU5MyksbmV3IFdvcmQ2NCg4ODM5OTc4NzcsMzc4NTA1MDI4MCksbmV3IFdvcmQ2NCg5NTgxMzk1NzEsMzMxODMwNzQyNyksbmV3IFdvcmQ2NCgxMzIyODIyMjE4LDM4MTI3MjM0MDMpLG5ldyBXb3JkNjQoMTUzNzAwMjA2MywyMDAzMDM0OTk1KSxuZXcgV29yZDY0KDE3NDc4NzM3NzksMzYwMjAzNjg5OSksbmV3IFdvcmQ2NCgxOTU1NTYyMjIyLDE1NzU5OTAwMTIpLG5ldyBXb3JkNjQoMjAyNDEwNDgxNSwxMTI1NTkyOTI4KSxuZXcgV29yZDY0KDIyMjc3MzA0NTIsMjcxNjkwNDMwNiksbmV3IFdvcmQ2NCgyMzYxODUyNDI0LDQ0Mjc3NjA0NCksbmV3IFdvcmQ2NCgyNDI4NDM2NDc0LDU5MzY5ODM0NCksbmV3IFdvcmQ2NCgyNzU2NzM0MTg3LDM3MzMxMTAyNDkpLG5ldyBXb3JkNjQoMzIwNDAzMTQ3OSwyOTk5MzUxNTczKSxuZXcgV29yZDY0KDMzMjkzMjUyOTgsMzgxNTkyMDQyNyksbmV3IFdvcmQ2NCgzMzkxNTY5NjE0LDM5MjgzODM5MDApLG5ldyBXb3JkNjQoMzUxNTI2NzI3MSw1NjYyODA3MTEpLG5ldyBXb3JkNjQoMzk0MDE4NzYwNiwzNDU0MDY5NTM0KSxuZXcgV29yZDY0KDQxMTg2MzAyNzEsNDAwMDIzOTk5MiksbmV3IFdvcmQ2NCgxMTY0MTg0NzQsMTkxNDEzODU1NCksbmV3IFdvcmQ2NCgxNzQyOTI0MjEsMjczMTA1NTI3MCksbmV3IFdvcmQ2NCgyODkzODAzNTYsMzIwMzk5MzAwNiksbmV3IFdvcmQ2NCg0NjAzOTMyNjksMzIwNjIwMzE1KSxuZXcgV29yZDY0KDY4NTQ3MTczMyw1ODc0OTY4MzYpLG5ldyBXb3JkNjQoODUyMTQyOTcxLDEwODY3OTI4NTEpLG5ldyBXb3JkNjQoMTAxNzAzNjI5OCwzNjU1NDMxMDApLG5ldyBXb3JkNjQoMTEyNjAwMDU4MCwyNjE4Mjk3Njc2KSxuZXcgV29yZDY0KDEyODgwMzM0NzAsMzQwOTg1NTE1OCksbmV3IFdvcmQ2NCgxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYpLG5ldyBXb3JkNjQoMTYwNzE2NzkxNSw5ODcxNjc0NjgpLG5ldyBXb3JkNjQoMTgxNjQwMjMxNiwxMjQ2MTg5NTkxKV07cmV0dXJuIGZ1bmN0aW9uIGhhc2godCxpLGEscz0hMSl7bGV0IHIsbixnLG8sYyxDLGgsbDtpZihzKXtyPW5ldyBXb3JkNjQoMzQxODA3MDM2NSwzMjM4MzcxMDMyKTtuPW5ldyBXb3JkNjQoMTY1NDI3MDI1MCw5MTQxNTA2NjMpO2c9bmV3IFdvcmQ2NCgyNDM4NTI5MzcwLDgxMjcwMjk5OSk7bz1uZXcgV29yZDY0KDM1NTQ2MjM2MCw0MTQ0OTEyNjk3KTtjPW5ldyBXb3JkNjQoMTczMTQwNTQxNSw0MjkwNzc1ODU3KTtDPW5ldyBXb3JkNjQoMjM5NDE4MDIzMSwxNzUwNjAzMDI1KTtoPW5ldyBXb3JkNjQoMzY3NTAwODUyNSwxNjk0MDc2ODM5KTtsPW5ldyBXb3JkNjQoMTIwMzA2MjgxMywzMjA0MDc1NDI4KX1lbHNle3I9bmV3IFdvcmQ2NCgxNzc5MDMzNzAzLDQwODkyMzU3MjApO249bmV3IFdvcmQ2NCgzMTQ0MTM0Mjc3LDIyMjc4NzM1OTUpO2c9bmV3IFdvcmQ2NCgxMDEzOTA0MjQyLDQyNzExNzU3MjMpO289bmV3IFdvcmQ2NCgyNzczNDgwNzYyLDE1OTU3NTAxMjkpO2M9bmV3IFdvcmQ2NCgxMzU5ODkzMTE5LDI5MTc1NjUxMzcpO0M9bmV3IFdvcmQ2NCgyNjAwODIyOTI0LDcyNTUxMTE5OSk7aD1uZXcgV29yZDY0KDUyODczNDYzNSw0MjE1Mzg5NTQ3KTtsPW5ldyBXb3JkNjQoMTU0MTQ1OTIyNSwzMjcwMzMyMDkpfWNvbnN0IFE9MTI4Kk1hdGguY2VpbCgoYSsxNykvMTI4KSxFPW5ldyBVaW50OEFycmF5KFEpO2xldCB1LGQ7Zm9yKHU9MDt1PGE7Kyt1KUVbdV09dFtpKytdO0VbdSsrXT0xMjg7Y29uc3QgZj1RLTE2O2Zvcig7dTxmOylFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109YT4+PjI5JjI1NTtFW3UrK109YT4+MjEmMjU1O0VbdSsrXT1hPj4xMyYyNTU7RVt1KytdPWE+PjUmMjU1O0VbdSsrXT1hPDwzJjI1NTtjb25zdCBwPW5ldyBBcnJheSg4MCk7Zm9yKHU9MDt1PDgwO3UrKylwW3VdPW5ldyBXb3JkNjQoMCwwKTtsZXQgbT1uZXcgV29yZDY0KDAsMCkseT1uZXcgV29yZDY0KDAsMCksdz1uZXcgV29yZDY0KDAsMCksRD1uZXcgV29yZDY0KDAsMCksYj1uZXcgV29yZDY0KDAsMCksRj1uZXcgV29yZDY0KDAsMCksUz1uZXcgV29yZDY0KDAsMCksaz1uZXcgV29yZDY0KDAsMCk7Y29uc3QgUj1uZXcgV29yZDY0KDAsMCksTj1uZXcgV29yZDY0KDAsMCksRz1uZXcgV29yZDY0KDAsMCkseD1uZXcgV29yZDY0KDAsMCk7bGV0IFUsTTtmb3IodT0wO3U8UTspe2ZvcihkPTA7ZDwxNjsrK2Qpe3BbZF0uaGlnaD1FW3VdPDwyNHxFW3UrMV08PDE2fEVbdSsyXTw8OHxFW3UrM107cFtkXS5sb3c9RVt1KzRdPDwyNHxFW3UrNV08PDE2fEVbdSs2XTw8OHxFW3UrN107dSs9OH1mb3IoZD0xNjtkPDgwOysrZCl7VT1wW2RdO2xpdHRsZVNpZ21hUHJpbWUoVSxwW2QtMl0seCk7VS5hZGQocFtkLTddKTtsaXR0bGVTaWdtYShHLHBbZC0xNV0seCk7VS5hZGQoRyk7VS5hZGQocFtkLTE2XSl9bS5hc3NpZ24ocik7eS5hc3NpZ24obik7dy5hc3NpZ24oZyk7RC5hc3NpZ24obyk7Yi5hc3NpZ24oYyk7Ri5hc3NpZ24oQyk7Uy5hc3NpZ24oaCk7ay5hc3NpZ24obCk7Zm9yKGQ9MDtkPDgwOysrZCl7Ui5hc3NpZ24oayk7c2lnbWFQcmltZShHLGIseCk7Ui5hZGQoRyk7Y2goRyxiLEYsUyx4KTtSLmFkZChHKTtSLmFkZChlW2RdKTtSLmFkZChwW2RdKTtzaWdtYShOLG0seCk7bWFqKEcsbSx5LHcseCk7Ti5hZGQoRyk7VT1rO2s9UztTPUY7Rj1iO0QuYWRkKFIpO2I9RDtEPXc7dz15O3k9bTtVLmFzc2lnbihSKTtVLmFkZChOKTttPVV9ci5hZGQobSk7bi5hZGQoeSk7Zy5hZGQodyk7by5hZGQoRCk7Yy5hZGQoYik7Qy5hZGQoRik7aC5hZGQoUyk7bC5hZGQoayl9aWYocyl7TT1uZXcgVWludDhBcnJheSg0OCk7ci5jb3B5VG8oTSwwKTtuLmNvcHlUbyhNLDgpO2cuY29weVRvKE0sMTYpO28uY29weVRvKE0sMjQpO2MuY29weVRvKE0sMzIpO0MuY29weVRvKE0sNDApfWVsc2V7TT1uZXcgVWludDhBcnJheSg2NCk7ci5jb3B5VG8oTSwwKTtuLmNvcHlUbyhNLDgpO2cuY29weVRvKE0sMTYpO28uY29weVRvKE0sMjQpO2MuY29weVRvKE0sMzIpO0MuY29weVRvKE0sNDApO2guY29weVRvKE0sNDgpO2wuY29weVRvKE0sNTYpfXJldHVybiBNfX0oKTtjbGFzcyBOdWxsQ2lwaGVye2RlY3J5cHRCbG9jayhlKXtyZXR1cm4gZX1lbmNyeXB0KGUpe3JldHVybiBlfX1jbGFzcyBBRVNCYXNlQ2lwaGVye2NvbnN0cnVjdG9yKCl7dGhpcy5fcz1uZXcgVWludDhBcnJheShbOTksMTI0LDExOSwxMjMsMjQyLDEwNywxMTEsMTk3LDQ4LDEsMTAzLDQzLDI1NCwyMTUsMTcxLDExOCwyMDIsMTMwLDIwMSwxMjUsMjUwLDg5LDcxLDI0MCwxNzMsMjEyLDE2MiwxNzUsMTU2LDE2NCwxMTQsMTkyLDE4MywyNTMsMTQ3LDM4LDU0LDYzLDI0NywyMDQsNTIsMTY1LDIyOSwyNDEsMTEzLDIxNiw0OSwyMSw0LDE5OSwzNSwxOTUsMjQsMTUwLDUsMTU0LDcsMTgsMTI4LDIyNiwyMzUsMzksMTc4LDExNyw5LDEzMSw0NCwyNiwyNywxMTAsOTAsMTYwLDgyLDU5LDIxNCwxNzksNDEsMjI3LDQ3LDEzMiw4MywyMDksMCwyMzcsMzIsMjUyLDE3Nyw5MSwxMDYsMjAzLDE5MCw1Nyw3NCw3Niw4OCwyMDcsMjA4LDIzOSwxNzAsMjUxLDY3LDc3LDUxLDEzMyw2OSwyNDksMiwxMjcsODAsNjAsMTU5LDE2OCw4MSwxNjMsNjQsMTQzLDE0NiwxNTcsNTYsMjQ1LDE4OCwxODIsMjE4LDMzLDE2LDI1NSwyNDMsMjEwLDIwNSwxMiwxOSwyMzYsOTUsMTUxLDY4LDIzLDE5NiwxNjcsMTI2LDYxLDEwMCw5MywyNSwxMTUsOTYsMTI5LDc5LDIyMCwzNCw0MiwxNDQsMTM2LDcwLDIzOCwxODQsMjAsMjIyLDk0LDExLDIxOSwyMjQsNTAsNTgsMTAsNzMsNiwzNiw5MiwxOTQsMjExLDE3Miw5OCwxNDUsMTQ5LDIyOCwxMjEsMjMxLDIwMCw1NSwxMDksMTQxLDIxMyw3OCwxNjksMTA4LDg2LDI0NCwyMzQsMTAxLDEyMiwxNzQsOCwxODYsMTIwLDM3LDQ2LDI4LDE2NiwxODAsMTk4LDIzMiwyMjEsMTE2LDMxLDc1LDE4OSwxMzksMTM4LDExMiw2MiwxODEsMTAyLDcyLDMsMjQ2LDE0LDk3LDUzLDg3LDE4NSwxMzQsMTkzLDI5LDE1OCwyMjUsMjQ4LDE1MiwxNywxMDUsMjE3LDE0MiwxNDgsMTU1LDMwLDEzNSwyMzMsMjA2LDg1LDQwLDIyMywxNDAsMTYxLDEzNywxMywxOTEsMjMwLDY2LDEwNCw2NSwxNTMsNDUsMTUsMTc2LDg0LDE4NywyMl0pO3RoaXMuX2ludl9zPW5ldyBVaW50OEFycmF5KFs4Miw5LDEwNiwyMTMsNDgsNTQsMTY1LDU2LDE5MSw2NCwxNjMsMTU4LDEyOSwyNDMsMjE1LDI1MSwxMjQsMjI3LDU3LDEzMCwxNTUsNDcsMjU1LDEzNSw1MiwxNDIsNjcsNjgsMTk2LDIyMiwyMzMsMjAzLDg0LDEyMywxNDgsNTAsMTY2LDE5NCwzNSw2MSwyMzgsNzYsMTQ5LDExLDY2LDI1MCwxOTUsNzgsOCw0NiwxNjEsMTAyLDQwLDIxNywzNiwxNzgsMTE4LDkxLDE2Miw3MywxMDksMTM5LDIwOSwzNywxMTQsMjQ4LDI0NiwxMDAsMTM0LDEwNCwxNTIsMjIsMjEyLDE2NCw5MiwyMDQsOTMsMTAxLDE4MiwxNDYsMTA4LDExMiw3Miw4MCwyNTMsMjM3LDE4NSwyMTgsOTQsMjEsNzAsODcsMTY3LDE0MSwxNTcsMTMyLDE0NCwyMTYsMTcxLDAsMTQwLDE4OCwyMTEsMTAsMjQ3LDIyOCw4OCw1LDE4NCwxNzksNjksNiwyMDgsNDQsMzAsMTQzLDIwMiw2MywxNSwyLDE5MywxNzUsMTg5LDMsMSwxOSwxMzgsMTA3LDU4LDE0NSwxNyw2NSw3OSwxMDMsMjIwLDIzNCwxNTEsMjQyLDIwNywyMDYsMjQwLDE4MCwyMzAsMTE1LDE1MCwxNzIsMTE2LDM0LDIzMSwxNzMsNTMsMTMzLDIyNiwyNDksNTUsMjMyLDI4LDExNywyMjMsMTEwLDcxLDI0MSwyNiwxMTMsMjksNDEsMTk3LDEzNywxMTEsMTgzLDk4LDE0LDE3MCwyNCwxOTAsMjcsMjUyLDg2LDYyLDc1LDE5OCwyMTAsMTIxLDMyLDE1NCwyMTksMTkyLDI1NCwxMjAsMjA1LDkwLDI0NCwzMSwyMjEsMTY4LDUxLDEzNiw3LDE5OSw0OSwxNzcsMTgsMTYsODksMzksMTI4LDIzNiw5NSw5Niw4MSwxMjcsMTY5LDI1LDE4MSw3NCwxMyw0NSwyMjksMTIyLDE1OSwxNDcsMjAxLDE1NiwyMzksMTYwLDIyNCw1OSw3NywxNzQsNDIsMjQ1LDE3NiwyMDAsMjM1LDE4Nyw2MCwxMzEsODMsMTUzLDk3LDIzLDQzLDQsMTI2LDE4NiwxMTksMjE0LDM4LDIyNSwxMDUsMjAsOTksODUsMzMsMTIsMTI1XSk7dGhpcy5fbWl4PW5ldyBVaW50MzJBcnJheShbMCwyMzU0NzQxODcsNDcwOTQ4Mzc0LDMwMzc2NTI3Nyw5NDE4OTY3NDgsOTA4OTMzNDE1LDYwNzUzMDU1NCw3MDg3ODA4NDksMTg4Mzc5MzQ5NiwyMTE4MjE0OTk1LDE4MTc4NjY4MzAsMTY0OTYzOTIzNywxMjE1MDYxMTA4LDExODEwNDUxMTksMTQxNzU2MTY5OCwxNTE3NzY3NTI5LDM3Njc1ODY5OTIsNDAwMzA2MTE3OSw0MjM2NDI5OTkwLDQwNjkyNDY4OTMsMzYzNTczMzY2MCwzNjAyNzcwMzI3LDMyOTkyNzg0NzQsMzQwMDUyODc2OSwyNDMwMTIyMjE2LDI2NjQ1NDM3MTUsMjM2MjA5MDIzOCwyMTkzODYyNjQ1LDI4MzUxMjMzOTYsMjgwMTEwNzQwNywzMDM1NTM1MDU4LDMxMzU3NDA4ODksMzY3ODEyNDkyMywzNTc2ODcwNTEyLDMzNDEzOTQyODUsMzM3NDM2MTcwMiwzODEwNDk2MzQzLDM5Nzc2NzUzNTYsNDI3OTA4MDI1Nyw0MDQzNjEwMTg2LDI4NzY0OTQ2MjcsMjc3NjI5MjkwNCwzMDc2NjM5MDI5LDMxMTA2NTA5NDIsMjQ3MjAxMTUzNSwyNjQwMjQzMjA0LDI0MDM3Mjg2NjUsMjE2OTMwMzA1OCwxMDAxMDg5OTk1LDg5OTgzNTU4NCw2NjY0NjQ3MzMsNjk5NDMyMTUwLDU5NzI3ODQ3LDIyNjkwNjg2MCw1MzA0MDA3NTMsMjk0OTMwNjgyLDEyNzMxNjg3ODcsMTE3Mjk2NzA2NCwxNDc1NDE4NTAxLDE1MDk0MzA0MTQsMTk0MjQzNTc3NSwyMTEwNjY3NDQ0LDE4NzYyNDE4MzMsMTY0MTgxNjIyNiwyOTEwMjE5NzY2LDI3NDMwMzQxMDksMjk3NjE1MTUyMCwzMjExNjIzMTQ3LDI1MDUyMDIxMzgsMjYwNjQ1Mzk2OSwyMzAyNjkwMjUyLDIyNjk3Mjg0NTUsMzcxMTgyOTQyMiwzNTQzNTk5MjY5LDMyNDA4OTQzOTIsMzQ3NTMxMzMzMSwzODQzNjk5MDc0LDM5NDM5MDY0NDEsNDE3ODA2MjIyOCw0MTQ0MDQ3Nzc1LDEzMDY5NjczNjYsMTEzOTc4MTcwOSwxMzc0OTg4MTEyLDE2MTA0NTk3MzksMTk3NTY4MzQzNCwyMDc2OTM1MjY1LDE3NzUyNzY5MjQsMTc0MjMxNTEyNywxMDM0ODY3OTk4LDg2NjYzNzg0NSw1NjYwMjE4OTYsODAwNDQwODM1LDkyOTg3Njk4LDE5MzE5NTA2NSw0Mjk0NTYxNjQsMzk1NDQxNzExLDE5ODQ4MTI2ODUsMjAxNzc3ODU2NiwxNzg0NjYzMTk1LDE2ODM0MDcyNDgsMTMxNTU2MjE0NSwxMDgwMDk0NjM0LDEzODM4NTYzMTEsMTU1MTAzNzg4NCwxMDEwMzk4MjksMTM1MDUwMjA2LDQzNzc1NzEyMywzMzc1NTM4NjQsMTA0MjM4NTY1Nyw4MDc5NjI2MTAsNTczODA0NzgzLDc0MjAzOTAxMiwyNTMxMDY3NDUzLDI1NjQwMzMzMzQsMjMyODgyODk3MSwyMjI3NTczMDI0LDI5MzU1NjY4NjUsMjcwMDA5OTM1NCwzMDAxNzU1NjU1LDMxNjg5MzcyMjgsMzg2ODU1MjgwNSwzOTAyNTYzMTgyLDQyMDMxODExNzEsNDEwMjk3NzkxMiwzNzM2MTY0OTM3LDM1MDE3NDE4OTAsMzI2NTQ3ODc1MSwzNDMzNzEyOTgwLDExMDYwNDE1OTEsMTM0MDQ2MzEwMCwxNTc2OTc2NjA5LDE0MDg3NDkwMzQsMjA0MzIxMTQ4MywyMDA5MTk1NDcyLDE3MDg4NDgzMzMsMTgwOTA1NDE1MCw4MzI4NzcyMzEsMTA2ODM1MTM5Niw3NjY5NDU0NjUsNTk5NzYyMzU0LDE1OTQxNzk4NywxMjY0NTQ2NjQsMzYxOTI5ODc3LDQ2MzE4MDE5MCwyNzA5MjYwODcxLDI5NDM2ODIzODAsMzE3ODEwNjk2MSwzMDA5ODc5Mzg2LDI1NzI2OTcxOTUsMjUzODY4MTE4NCwyMjM2MjI4NzMzLDIzMzY0MzQ1NTAsMzUwOTg3MTEzNSwzNzQ1MzQ1MzAwLDM0NDE4NTAzNzcsMzI3NDY2NzI2NiwzOTEwMTYxOTcxLDM4NzcxOTg2NDgsNDExMDU2ODQ4NSw0MjExODE4Nzk4LDI1OTc4MDY0NzYsMjQ5NzYwNDc0MywyMjYxMDg5MTc4LDIyOTUxMDEwNzMsMjczMzg1NjE2MCwyOTAyMDg3ODUxLDMyMDI0MzcwNDYsMjk2ODAxMTQ1MywzOTM2MjkxMjg0LDM4MzUwMzY4OTUsNDEzNjQ0MDc3MCw0MTY5NDA4MjAxLDM1MzU0ODY0NTYsMzcwMjY2NTQ1OSwzNDY3MTkyMzAyLDMyMzE3MjIyMTMsMjA1MTUxODc4MCwxOTUxMzE3MDQ3LDE3MTY4OTA0MTAsMTc1MDkwMjMwNSwxMTEzODE4Mzg0LDEyODIwNTAwNzUsMTU4NDUwNDU4MiwxMzUwMDc4OTg5LDE2ODgxMDg1Miw2NzU1NjQ2MywzNzEwNDkzMzAsNDA0MDE2NzYxLDg0MTczOTU5MiwxMDA4OTE4NTk1LDc3NTU1MDgxNCw1NDAwODA3MjUsMzk2OTU2MjM2OSwzODAxMzMyMjM0LDQwMzU0ODkwNDcsNDI2OTkwNzk5NiwzNTY5MjU1MjEzLDM2Njk0NjI1NjYsMzM2Njc1NDYxOSwzMzMyNzQwMTQ0LDI2MzEwNjU0MzMsMjQ2Mzg3OTc2MiwyMTYwMTE3MDcxLDIzOTU1ODg2NzYsMjc2NzY0NTU1NywyODY4ODk3NDA2LDMxMDIwMTE3NDcsMzA2OTA0OTk2MCwyMDIwMDg0OTcsMzM3NzgzNjIsMjcwMDQwNDg3LDUwNDQ1OTQzNiw4NzU0NTEyOTMsOTc1NjU4NjQ2LDY3NTAzOTYyNyw2NDEwMjUxNTIsMjA4NDcwNDIzMywxOTE3NTE4NTYyLDE2MTU4NjEyNDcsMTg1MTMzMjg1MiwxMTQ3NTUwNjYxLDEyNDg4MDI1MTAsMTQ4NDAwNTg0MywxNDUxMDQ0MDU2LDkzMzMwMTM3MCw5NjczMTE3MjksNzMzMTU2OTcyLDYzMjk1MzcwMywyNjAzODg5NTAsMjU5NjU5MTcsMzI4NjcxODA4LDQ5NjkwNjA1OSwxMjA2NDc3ODU4LDEyMzk0NDM3NTMsMTU0MzIwODUwMCwxNDQxOTUyNTc1LDIxNDQxNjE4MDYsMTkwODY5NDI3NywxNjc1NTc3ODgwLDE4NDI3NTk0NDMsMzYxMDM2OTIyNiwzNjQ0Mzc5NTg1LDM0MDgxMTk1MTYsMzMwNzkxNjI0Nyw0MDExMTkwNTAyLDM3NzY3Njc0NjksNDA3NzM4NDQzMiw0MjQ1NjE4NjgzLDI4MDk3NzExNTQsMjg0MjczNzA0OSwzMTQ0Mzk2NDIwLDMwNDMxNDA0OTUsMjY3MzcwNTE1MCwyNDM4MjM3NjIxLDIyMDMwMzIyMzIsMjM3MDIxMzc5NV0pO3RoaXMuX21peENvbD1uZXcgVWludDhBcnJheSgyNTYpO2ZvcihsZXQgZT0wO2U8MjU2O2UrKyl0aGlzLl9taXhDb2xbZV09ZTwxMjg/ZTw8MTplPDwxXjI3O3RoaXMuYnVmZmVyPW5ldyBVaW50OEFycmF5KDE2KTt0aGlzLmJ1ZmZlclBvc2l0aW9uPTB9X2V4cGFuZEtleShlKXt1bnJlYWNoYWJsZSgiQ2Fubm90IGNhbGwgYF9leHBhbmRLZXlgIG9uIHRoZSBiYXNlIGNsYXNzIil9X2RlY3J5cHQoZSx0KXtsZXQgaSxhLHM7Y29uc3Qgcj1uZXcgVWludDhBcnJheSgxNik7ci5zZXQoZSk7Zm9yKGxldCBlPTAsaT10aGlzLl9rZXlTaXplO2U8MTY7KytlLCsraSlyW2VdXj10W2ldO2ZvcihsZXQgZT10aGlzLl9jeWNsZXNPZlJlcGV0aXRpb24tMTtlPj0xOy0tZSl7aT1yWzEzXTtyWzEzXT1yWzldO3JbOV09cls1XTtyWzVdPXJbMV07clsxXT1pO2k9clsxNF07YT1yWzEwXTtyWzE0XT1yWzZdO3JbMTBdPXJbMl07cls2XT1pO3JbMl09YTtpPXJbMTVdO2E9clsxMV07cz1yWzddO3JbMTVdPXJbM107clsxMV09aTtyWzddPWE7clszXT1zO2ZvcihsZXQgZT0wO2U8MTY7KytlKXJbZV09dGhpcy5faW52X3NbcltlXV07Zm9yKGxldCBpPTAsYT0xNiplO2k8MTY7KytpLCsrYSlyW2ldXj10W2FdO2ZvcihsZXQgZT0wO2U8MTY7ZSs9NCl7Y29uc3QgdD10aGlzLl9taXhbcltlXV0sYT10aGlzLl9taXhbcltlKzFdXSxzPXRoaXMuX21peFtyW2UrMl1dLG49dGhpcy5fbWl4W3JbZSszXV07aT10XmE+Pj44XmE8PDI0XnM+Pj4xNl5zPDwxNl5uPj4+MjRebjw8ODtyW2VdPWk+Pj4yNCYyNTU7cltlKzFdPWk+PjE2JjI1NTtyW2UrMl09aT4+OCYyNTU7cltlKzNdPTI1NSZpfX1pPXJbMTNdO3JbMTNdPXJbOV07cls5XT1yWzVdO3JbNV09clsxXTtyWzFdPWk7aT1yWzE0XTthPXJbMTBdO3JbMTRdPXJbNl07clsxMF09clsyXTtyWzZdPWk7clsyXT1hO2k9clsxNV07YT1yWzExXTtzPXJbN107clsxNV09clszXTtyWzExXT1pO3JbN109YTtyWzNdPXM7Zm9yKGxldCBlPTA7ZTwxNjsrK2Upe3JbZV09dGhpcy5faW52X3NbcltlXV07cltlXV49dFtlXX1yZXR1cm4gcn1fZW5jcnlwdChlLHQpe2NvbnN0IGk9dGhpcy5fcztsZXQgYSxzLHI7Y29uc3Qgbj1uZXcgVWludDhBcnJheSgxNik7bi5zZXQoZSk7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpbltlXV49dFtlXTtmb3IobGV0IGU9MTtlPHRoaXMuX2N5Y2xlc09mUmVwZXRpdGlvbjtlKyspe2ZvcihsZXQgZT0wO2U8MTY7KytlKW5bZV09aVtuW2VdXTtyPW5bMV07blsxXT1uWzVdO25bNV09bls5XTtuWzldPW5bMTNdO25bMTNdPXI7cj1uWzJdO3M9bls2XTtuWzJdPW5bMTBdO25bNl09blsxNF07blsxMF09cjtuWzE0XT1zO3I9blszXTtzPW5bN107YT1uWzExXTtuWzNdPW5bMTVdO25bN109cjtuWzExXT1zO25bMTVdPWE7Zm9yKGxldCBlPTA7ZTwxNjtlKz00KXtjb25zdCB0PW5bZSswXSxpPW5bZSsxXSxzPW5bZSsyXSxyPW5bZSszXTthPXReaV5zXnI7bltlKzBdXj1hXnRoaXMuX21peENvbFt0XmldO25bZSsxXV49YV50aGlzLl9taXhDb2xbaV5zXTtuW2UrMl1ePWFedGhpcy5fbWl4Q29sW3Necl07bltlKzNdXj1hXnRoaXMuX21peENvbFtyXnRdfWZvcihsZXQgaT0wLGE9MTYqZTtpPDE2OysraSwrK2EpbltpXV49dFthXX1mb3IobGV0IGU9MDtlPDE2OysrZSluW2VdPWlbbltlXV07cj1uWzFdO25bMV09bls1XTtuWzVdPW5bOV07bls5XT1uWzEzXTtuWzEzXT1yO3I9blsyXTtzPW5bNl07blsyXT1uWzEwXTtuWzZdPW5bMTRdO25bMTBdPXI7blsxNF09cztyPW5bM107cz1uWzddO2E9blsxMV07blszXT1uWzE1XTtuWzddPXI7blsxMV09cztuWzE1XT1hO2ZvcihsZXQgZT0wLGk9dGhpcy5fa2V5U2l6ZTtlPDE2OysrZSwrK2kpbltlXV49dFtpXTtyZXR1cm4gbn1fZGVjcnlwdEJsb2NrMihlLHQpe2NvbnN0IGk9ZS5sZW5ndGg7bGV0IGE9dGhpcy5idWZmZXIscz10aGlzLmJ1ZmZlclBvc2l0aW9uO2NvbnN0IHI9W107bGV0IG49dGhpcy5pdjtmb3IobGV0IHQ9MDt0PGk7Kyt0KXthW3NdPWVbdF07KytzO2lmKHM8MTYpY29udGludWU7Y29uc3QgaT10aGlzLl9kZWNyeXB0KGEsdGhpcy5fa2V5KTtmb3IobGV0IGU9MDtlPDE2OysrZSlpW2VdXj1uW2VdO249YTtyLnB1c2goaSk7YT1uZXcgVWludDhBcnJheSgxNik7cz0wfXRoaXMuYnVmZmVyPWE7dGhpcy5idWZmZXJMZW5ndGg9czt0aGlzLml2PW47aWYoMD09PXIubGVuZ3RoKXJldHVybiBuZXcgVWludDhBcnJheSgwKTtsZXQgZz0xNipyLmxlbmd0aDtpZih0KXtjb25zdCBlPXIuYXQoLTEpO2xldCB0PWVbMTVdO2lmKHQ8PTE2KXtmb3IobGV0IGk9MTUsYT0xNi10O2k+PWE7LS1pKWlmKGVbaV0hPT10KXt0PTA7YnJlYWt9Zy09dDtyW3IubGVuZ3RoLTFdPWUuc3ViYXJyYXkoMCwxNi10KX19Y29uc3Qgbz1uZXcgVWludDhBcnJheShnKTtmb3IobGV0IGU9MCx0PTAsaT1yLmxlbmd0aDtlPGk7KytlLHQrPTE2KW8uc2V0KHJbZV0sdCk7cmV0dXJuIG99ZGVjcnlwdEJsb2NrKGUsdCxpPW51bGwpe2NvbnN0IGE9ZS5sZW5ndGgscz10aGlzLmJ1ZmZlcjtsZXQgcj10aGlzLmJ1ZmZlclBvc2l0aW9uO2lmKGkpdGhpcy5pdj1pO2Vsc2V7Zm9yKGxldCB0PTA7cjwxNiYmdDxhOysrdCwrK3Ipc1tyXT1lW3RdO2lmKHI8MTYpe3RoaXMuYnVmZmVyTGVuZ3RoPXI7cmV0dXJuIG5ldyBVaW50OEFycmF5KDApfXRoaXMuaXY9cztlPWUuc3ViYXJyYXkoMTYpfXRoaXMuYnVmZmVyPW5ldyBVaW50OEFycmF5KDE2KTt0aGlzLmJ1ZmZlckxlbmd0aD0wO3RoaXMuZGVjcnlwdEJsb2NrPXRoaXMuX2RlY3J5cHRCbG9jazI7cmV0dXJuIHRoaXMuZGVjcnlwdEJsb2NrKGUsdCl9ZW5jcnlwdChlLHQpe2NvbnN0IGk9ZS5sZW5ndGg7bGV0IGE9dGhpcy5idWZmZXIscz10aGlzLmJ1ZmZlclBvc2l0aW9uO2NvbnN0IHI9W107dHx8KHQ9bmV3IFVpbnQ4QXJyYXkoMTYpKTtmb3IobGV0IG49MDtuPGk7KytuKXthW3NdPWVbbl07KytzO2lmKHM8MTYpY29udGludWU7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpYVtlXV49dFtlXTtjb25zdCBpPXRoaXMuX2VuY3J5cHQoYSx0aGlzLl9rZXkpO3Q9aTtyLnB1c2goaSk7YT1uZXcgVWludDhBcnJheSgxNik7cz0wfXRoaXMuYnVmZmVyPWE7dGhpcy5idWZmZXJMZW5ndGg9czt0aGlzLml2PXQ7aWYoMD09PXIubGVuZ3RoKXJldHVybiBuZXcgVWludDhBcnJheSgwKTtjb25zdCBuPTE2KnIubGVuZ3RoLGc9bmV3IFVpbnQ4QXJyYXkobik7Zm9yKGxldCBlPTAsdD0wLGk9ci5sZW5ndGg7ZTxpOysrZSx0Kz0xNilnLnNldChyW2VdLHQpO3JldHVybiBnfX1jbGFzcyBBRVMxMjhDaXBoZXIgZXh0ZW5kcyBBRVNCYXNlQ2lwaGVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCk7dGhpcy5fY3ljbGVzT2ZSZXBldGl0aW9uPTEwO3RoaXMuX2tleVNpemU9MTYwO3RoaXMuX3Jjb249bmV3IFVpbnQ4QXJyYXkoWzE0MSwxLDIsNCw4LDE2LDMyLDY0LDEyOCwyNyw1NCwxMDgsMjE2LDE3MSw3NywxNTQsNDcsOTQsMTg4LDk5LDE5OCwxNTEsNTMsMTA2LDIxMiwxNzksMTI1LDI1MCwyMzksMTk3LDE0NSw1NywxMTQsMjI4LDIxMSwxODksOTcsMTk0LDE1OSwzNyw3NCwxNDgsNTEsMTAyLDIwNCwxMzEsMjksNTgsMTE2LDIzMiwyMDMsMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDEsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDUsNTcsMTE0LDIyOCwyMTEsMTg5LDk3LDE5NCwxNTksMzcsNzQsMTQ4LDUxLDEwMiwyMDQsMTMxLDI5LDU4LDExNiwyMzIsMjAzLDE0MSwxLDIsNCw4LDE2LDMyLDY0LDEyOCwyNyw1NCwxMDgsMjE2LDE3MSw3NywxNTQsNDcsOTQsMTg4LDk5LDE5OCwxNTEsNTMsMTA2LDIxMiwxNzksMTI1LDI1MCwyMzksMTk3LDE0NSw1NywxMTQsMjI4LDIxMSwxODksOTcsMTk0LDE1OSwzNyw3NCwxNDgsNTEsMTAyLDIwNCwxMzEsMjksNTgsMTE2LDIzMiwyMDMsMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDFdKTt0aGlzLl9rZXk9dGhpcy5fZXhwYW5kS2V5KGUpfV9leHBhbmRLZXkoZSl7Y29uc3QgdD10aGlzLl9zLGk9dGhpcy5fcmNvbixhPW5ldyBVaW50OEFycmF5KDE3Nik7YS5zZXQoZSk7Zm9yKGxldCBlPTE2LHM9MTtlPDE3NjsrK3Mpe2xldCByPWFbZS0zXSxuPWFbZS0yXSxnPWFbZS0xXSxvPWFbZS00XTtyPXRbcl07bj10W25dO2c9dFtnXTtvPXRbb107cl49aVtzXTtmb3IobGV0IHQ9MDt0PDQ7Kyt0KXthW2VdPXJePWFbZS0xNl07ZSsrO2FbZV09bl49YVtlLTE2XTtlKys7YVtlXT1nXj1hW2UtMTZdO2UrKzthW2VdPW9ePWFbZS0xNl07ZSsrfX1yZXR1cm4gYX19Y2xhc3MgQUVTMjU2Q2lwaGVyIGV4dGVuZHMgQUVTQmFzZUNpcGhlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpO3RoaXMuX2N5Y2xlc09mUmVwZXRpdGlvbj0xNDt0aGlzLl9rZXlTaXplPTIyNDt0aGlzLl9rZXk9dGhpcy5fZXhwYW5kS2V5KGUpfV9leHBhbmRLZXkoZSl7Y29uc3QgdD10aGlzLl9zLGk9bmV3IFVpbnQ4QXJyYXkoMjQwKTtpLnNldChlKTtsZXQgYSxzLHIsbixnPTE7Zm9yKGxldCBlPTMyLG89MTtlPDI0MDsrK28pe2lmKGUlMzI9PTE2KXthPXRbYV07cz10W3NdO3I9dFtyXTtuPXRbbl19ZWxzZSBpZihlJTMyPT0wKXthPWlbZS0zXTtzPWlbZS0yXTtyPWlbZS0xXTtuPWlbZS00XTthPXRbYV07cz10W3NdO3I9dFtyXTtuPXRbbl07YV49ZzsoZzw8PTEpPj0yNTYmJihnPTI1NSYoMjdeZykpfWZvcihsZXQgdD0wO3Q8NDsrK3Qpe2lbZV09YV49aVtlLTMyXTtlKys7aVtlXT1zXj1pW2UtMzJdO2UrKztpW2VdPXJePWlbZS0zMl07ZSsrO2lbZV09bl49aVtlLTMyXTtlKyt9fXJldHVybiBpfX1jbGFzcyBQREYxN3tjaGVja093bmVyUGFzc3dvcmQoZSx0LGksYSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheShlLmxlbmd0aCs1Nik7cy5zZXQoZSwwKTtzLnNldCh0LGUubGVuZ3RoKTtzLnNldChpLGUubGVuZ3RoK3QubGVuZ3RoKTtyZXR1cm4gaXNBcnJheUVxdWFsKHJnKHMsMCxzLmxlbmd0aCksYSl9Y2hlY2tVc2VyUGFzc3dvcmQoZSx0LGkpe2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrOCk7YS5zZXQoZSwwKTthLnNldCh0LGUubGVuZ3RoKTtyZXR1cm4gaXNBcnJheUVxdWFsKHJnKGEsMCxhLmxlbmd0aCksaSl9Z2V0T3duZXJLZXkoZSx0LGksYSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheShlLmxlbmd0aCs1Nik7cy5zZXQoZSwwKTtzLnNldCh0LGUubGVuZ3RoKTtzLnNldChpLGUubGVuZ3RoK3QubGVuZ3RoKTtjb25zdCByPXJnKHMsMCxzLmxlbmd0aCk7cmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIocikuZGVjcnlwdEJsb2NrKGEsITEsbmV3IFVpbnQ4QXJyYXkoMTYpKX1nZXRVc2VyS2V5KGUsdCxpKXtjb25zdCBhPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzgpO2Euc2V0KGUsMCk7YS5zZXQodCxlLmxlbmd0aCk7Y29uc3Qgcz1yZyhhLDAsYS5sZW5ndGgpO3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKHMpLmRlY3J5cHRCbG9jayhpLCExLG5ldyBVaW50OEFycmF5KDE2KSl9fWNsYXNzIFBERjIwe19oYXNoKGUsdCxpKXtsZXQgYT1yZyh0LDAsdC5sZW5ndGgpLnN1YmFycmF5KDAsMzIpLHM9WzBdLHI9MDtmb3IoO3I8NjR8fHMuYXQoLTEpPnItMzI7KXtjb25zdCB0PWUubGVuZ3RoK2EubGVuZ3RoK2kubGVuZ3RoLGM9bmV3IFVpbnQ4QXJyYXkodCk7bGV0IEM9MDtjLnNldChlLEMpO0MrPWUubGVuZ3RoO2Muc2V0KGEsQyk7Qys9YS5sZW5ndGg7Yy5zZXQoaSxDKTtjb25zdCBoPW5ldyBVaW50OEFycmF5KDY0KnQpO2ZvcihsZXQgZT0wLGk9MDtlPDY0O2UrKyxpKz10KWguc2V0KGMsaSk7cz1uZXcgQUVTMTI4Q2lwaGVyKGEuc3ViYXJyYXkoMCwxNikpLmVuY3J5cHQoaCxhLnN1YmFycmF5KDE2LDMyKSk7Y29uc3QgbD1zLnNsaWNlKDAsMTYpLnJlZHVjZSgoKGUsdCk9PmUrdCksMCklMzswPT09bD9hPXJnKHMsMCxzLmxlbmd0aCk6MT09PWw/YT0obj1zLGc9MCxvPXMubGVuZ3RoLG5nKG4sZyxvLCEwKSk6Mj09PWwmJihhPW5nKHMsMCxzLmxlbmd0aCkpO3IrK312YXIgbixnLG87cmV0dXJuIGEuc3ViYXJyYXkoMCwzMil9Y2hlY2tPd25lclBhc3N3b3JkKGUsdCxpLGEpe2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrNTYpO3Muc2V0KGUsMCk7cy5zZXQodCxlLmxlbmd0aCk7cy5zZXQoaSxlLmxlbmd0aCt0Lmxlbmd0aCk7cmV0dXJuIGlzQXJyYXlFcXVhbCh0aGlzLl9oYXNoKGUscyxpKSxhKX1jaGVja1VzZXJQYXNzd29yZChlLHQsaSl7Y29uc3QgYT1uZXcgVWludDhBcnJheShlLmxlbmd0aCs4KTthLnNldChlLDApO2Euc2V0KHQsZS5sZW5ndGgpO3JldHVybiBpc0FycmF5RXF1YWwodGhpcy5faGFzaChlLGEsW10pLGkpfWdldE93bmVyS2V5KGUsdCxpLGEpe2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrNTYpO3Muc2V0KGUsMCk7cy5zZXQodCxlLmxlbmd0aCk7cy5zZXQoaSxlLmxlbmd0aCt0Lmxlbmd0aCk7Y29uc3Qgcj10aGlzLl9oYXNoKGUscyxpKTtyZXR1cm4gbmV3IEFFUzI1NkNpcGhlcihyKS5kZWNyeXB0QmxvY2soYSwhMSxuZXcgVWludDhBcnJheSgxNikpfWdldFVzZXJLZXkoZSx0LGkpe2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrOCk7YS5zZXQoZSwwKTthLnNldCh0LGUubGVuZ3RoKTtjb25zdCBzPXRoaXMuX2hhc2goZSxhLFtdKTtyZXR1cm4gbmV3IEFFUzI1NkNpcGhlcihzKS5kZWNyeXB0QmxvY2soaSwhMSxuZXcgVWludDhBcnJheSgxNikpfX1jbGFzcyBDaXBoZXJUcmFuc2Zvcm17Y29uc3RydWN0b3IoZSx0KXt0aGlzLlN0cmluZ0NpcGhlckNvbnN0cnVjdG9yPWU7dGhpcy5TdHJlYW1DaXBoZXJDb25zdHJ1Y3Rvcj10fWNyZWF0ZVN0cmVhbShlLHQpe2NvbnN0IGk9bmV3IHRoaXMuU3RyZWFtQ2lwaGVyQ29uc3RydWN0b3I7cmV0dXJuIG5ldyBEZWNyeXB0U3RyZWFtKGUsdCwoZnVuY3Rpb24gY2lwaGVyVHJhbnNmb3JtRGVjcnlwdFN0cmVhbShlLHQpe3JldHVybiBpLmRlY3J5cHRCbG9jayhlLHQpfSkpfWRlY3J5cHRTdHJpbmcoZSl7Y29uc3QgdD1uZXcgdGhpcy5TdHJpbmdDaXBoZXJDb25zdHJ1Y3RvcjtsZXQgaT1zdHJpbmdUb0J5dGVzKGUpO2k9dC5kZWNyeXB0QmxvY2soaSwhMCk7cmV0dXJuIGJ5dGVzVG9TdHJpbmcoaSl9ZW5jcnlwdFN0cmluZyhlKXtjb25zdCB0PW5ldyB0aGlzLlN0cmluZ0NpcGhlckNvbnN0cnVjdG9yO2lmKHQgaW5zdGFuY2VvZiBBRVNCYXNlQ2lwaGVyKXtjb25zdCBpPTE2LWUubGVuZ3RoJTE2O2UrPVN0cmluZy5mcm9tQ2hhckNvZGUoaSkucmVwZWF0KGkpO2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoMTYpO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgY3J5cHRvKWNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYSk7ZWxzZSBmb3IobGV0IGU9MDtlPDE2O2UrKylhW2VdPU1hdGguZmxvb3IoMjU2Kk1hdGgucmFuZG9tKCkpO2xldCBzPXN0cmluZ1RvQnl0ZXMoZSk7cz10LmVuY3J5cHQocyxhKTtjb25zdCByPW5ldyBVaW50OEFycmF5KDE2K3MubGVuZ3RoKTtyLnNldChhKTtyLnNldChzLDE2KTtyZXR1cm4gYnl0ZXNUb1N0cmluZyhyKX1sZXQgaT1zdHJpbmdUb0J5dGVzKGUpO2k9dC5lbmNyeXB0KGkpO3JldHVybiBieXRlc1RvU3RyaW5nKGkpfX1jbGFzcyBDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5e3N0YXRpYyNxPW5ldyBVaW50OEFycmF5KFs0MCwxOTEsNzgsOTQsNzgsMTE3LDEzOCw2NSwxMDAsMCw3OCw4NiwyNTUsMjUwLDEsOCw0Niw0NiwwLDE4MiwyMDgsMTA0LDYyLDEyOCw0NywxMiwxNjksMjU0LDEwMCw4MywxMDUsMTIyXSk7I08oZSx0LGksYSxzLHIsbixnLG8sYyxDLGgpe2lmKHQpe2NvbnN0IGU9TWF0aC5taW4oMTI3LHQubGVuZ3RoKTt0PXQuc3ViYXJyYXkoMCxlKX1lbHNlIHQ9W107Y29uc3QgbD02PT09ZT9uZXcgUERGMjA6bmV3IFBERjE3O3JldHVybiBsLmNoZWNrVXNlclBhc3N3b3JkKHQsZyxuKT9sLmdldFVzZXJLZXkodCxvLEMpOnQubGVuZ3RoJiZsLmNoZWNrT3duZXJQYXNzd29yZCh0LGEscixpKT9sLmdldE93bmVyS2V5KHQscyxyLGMpOm51bGx9I1AoZSx0LGksYSxzLHIsbixnKXtjb25zdCBvPTQwK2kubGVuZ3RoK2UubGVuZ3RoLGM9bmV3IFVpbnQ4QXJyYXkobyk7bGV0IEMsaCxsPTA7aWYodCl7aD1NYXRoLm1pbigzMix0Lmxlbmd0aCk7Zm9yKDtsPGg7KytsKWNbbF09dFtsXX1DPTA7Zm9yKDtsPDMyOyljW2wrK109Q2lwaGVyVHJhbnNmb3JtRmFjdG9yeS4jcVtDKytdO2ZvcihDPTAsaD1pLmxlbmd0aDtDPGg7KytDKWNbbCsrXT1pW0NdO2NbbCsrXT0yNTUmcztjW2wrK109cz4+OCYyNTU7Y1tsKytdPXM+PjE2JjI1NTtjW2wrK109cz4+PjI0JjI1NTtmb3IoQz0wLGg9ZS5sZW5ndGg7QzxoOysrQyljW2wrK109ZVtDXTtpZihyPj00JiYhZyl7Y1tsKytdPTI1NTtjW2wrK109MjU1O2NbbCsrXT0yNTU7Y1tsKytdPTI1NX1sZXQgUT1zZyhjLDAsbCk7Y29uc3QgRT1uPj4zO2lmKHI+PTMpZm9yKEM9MDtDPDUwOysrQylRPXNnKFEsMCxFKTtjb25zdCB1PVEuc3ViYXJyYXkoMCxFKTtsZXQgZCxmO2lmKHI+PTMpe2ZvcihsPTA7bDwzMjsrK2wpY1tsXT1DaXBoZXJUcmFuc2Zvcm1GYWN0b3J5LiNxW2xdO2ZvcihDPTAsaD1lLmxlbmd0aDtDPGg7KytDKWNbbCsrXT1lW0NdO2Q9bmV3IEFSQ0ZvdXJDaXBoZXIodSk7Zj1kLmVuY3J5cHRCbG9jayhzZyhjLDAsbCkpO2g9dS5sZW5ndGg7Y29uc3QgdD1uZXcgVWludDhBcnJheShoKTtmb3IoQz0xO0M8PTE5OysrQyl7Zm9yKGxldCBlPTA7ZTxoOysrZSl0W2VdPXVbZV1eQztkPW5ldyBBUkNGb3VyQ2lwaGVyKHQpO2Y9ZC5lbmNyeXB0QmxvY2soZil9Zm9yKEM9MCxoPWYubGVuZ3RoO0M8aDsrK0MpaWYoYVtDXSE9PWZbQ10pcmV0dXJuIG51bGx9ZWxzZXtkPW5ldyBBUkNGb3VyQ2lwaGVyKHUpO2Y9ZC5lbmNyeXB0QmxvY2soQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeS4jcSk7Zm9yKEM9MCxoPWYubGVuZ3RoO0M8aDsrK0MpaWYoYVtDXSE9PWZbQ10pcmV0dXJuIG51bGx9cmV0dXJuIHV9I1coZSx0LGksYSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheSgzMik7bGV0IHI9MDtjb25zdCBuPU1hdGgubWluKDMyLGUubGVuZ3RoKTtmb3IoO3I8bjsrK3Ipc1tyXT1lW3JdO2xldCBnPTA7Zm9yKDtyPDMyOylzW3IrK109Q2lwaGVyVHJhbnNmb3JtRmFjdG9yeS4jcVtnKytdO2xldCBvPXNnKHMsMCxyKTtjb25zdCBjPWE+PjM7aWYoaT49Mylmb3IoZz0wO2c8NTA7KytnKW89c2cobywwLG8ubGVuZ3RoKTtsZXQgQyxoO2lmKGk+PTMpe2g9dDtjb25zdCBlPW5ldyBVaW50OEFycmF5KGMpO2ZvcihnPTE5O2c+PTA7Zy0tKXtmb3IobGV0IHQ9MDt0PGM7Kyt0KWVbdF09b1t0XV5nO0M9bmV3IEFSQ0ZvdXJDaXBoZXIoZSk7aD1DLmVuY3J5cHRCbG9jayhoKX19ZWxzZXtDPW5ldyBBUkNGb3VyQ2lwaGVyKG8uc3ViYXJyYXkoMCxjKSk7aD1DLmVuY3J5cHRCbG9jayh0KX1yZXR1cm4gaH0jWChlLHQsaSxhPSExKXtjb25zdCBzPW5ldyBVaW50OEFycmF5KGkubGVuZ3RoKzkpLHI9aS5sZW5ndGg7bGV0IG47Zm9yKG49MDtuPHI7KytuKXNbbl09aVtuXTtzW24rK109MjU1JmU7c1tuKytdPWU+PjgmMjU1O3NbbisrXT1lPj4xNiYyNTU7c1tuKytdPTI1NSZ0O3NbbisrXT10Pj44JjI1NTtpZihhKXtzW24rK109MTE1O3NbbisrXT02NTtzW24rK109MTA4O3NbbisrXT04NH1yZXR1cm4gc2cocywwLG4pLnN1YmFycmF5KDAsTWF0aC5taW4oaS5sZW5ndGgrNSwxNikpfSNqKGUsdCxpLGEscyl7aWYoISh0IGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGNyeXB0IGZpbHRlciBuYW1lLiIpO2NvbnN0IHI9dGhpcyxuPWUuZ2V0KHQubmFtZSksZz1uPy5nZXQoIkNGTSIpO2lmKCFnfHwiTm9uZSI9PT1nLm5hbWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBOdWxsQ2lwaGVyfTtpZigiVjIiPT09Zy5uYW1lKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgQVJDRm91ckNpcGhlcihyLiNYKGksYSxzLCExKSl9O2lmKCJBRVNWMiI9PT1nLm5hbWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBRVMxMjhDaXBoZXIoci4jWChpLGEscywhMCkpfTtpZigiQUVTVjMiPT09Zy5uYW1lKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKHMpfTt0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gY3J5cHRvIG1ldGhvZCIpfWNvbnN0cnVjdG9yKGUsdCxpKXtjb25zdCBhPWUuZ2V0KCJGaWx0ZXIiKTtpZighaXNOYW1lKGEsIlN0YW5kYXJkIikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ1bmtub3duIGVuY3J5cHRpb24gbWV0aG9kIik7dGhpcy5maWx0ZXJOYW1lPWEubmFtZTt0aGlzLmRpY3Q9ZTtjb25zdCBzPWUuZ2V0KCJWIik7aWYoIU51bWJlci5pc0ludGVnZXIocyl8fDEhPT1zJiYyIT09cyYmNCE9PXMmJjUhPT1zKXRocm93IG5ldyBGb3JtYXRFcnJvcigidW5zdXBwb3J0ZWQgZW5jcnlwdGlvbiBhbGdvcml0aG0iKTt0aGlzLmFsZ29yaXRobT1zO2xldCByPWUuZ2V0KCJMZW5ndGgiKTtpZighcilpZihzPD0zKXI9NDA7ZWxzZXtjb25zdCB0PWUuZ2V0KCJDRiIpLGk9ZS5nZXQoIlN0bUYiKTtpZih0IGluc3RhbmNlb2YgRGljdCYmaSBpbnN0YW5jZW9mIE5hbWUpe3Quc3VwcHJlc3NFbmNyeXB0aW9uPSEwO2NvbnN0IGU9dC5nZXQoaS5uYW1lKTtyPWU/LmdldCgiTGVuZ3RoIil8fDEyODtyPDQwJiYocjw8PTMpfX1pZighTnVtYmVyLmlzSW50ZWdlcihyKXx8cjw0MHx8ciU4IT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcigiaW52YWxpZCBrZXkgbGVuZ3RoIik7Y29uc3Qgbj1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJPIikpLGc9c3RyaW5nVG9CeXRlcyhlLmdldCgiVSIpKSxvPW4uc3ViYXJyYXkoMCwzMiksYz1nLnN1YmFycmF5KDAsMzIpLEM9ZS5nZXQoIlAiKSxoPWUuZ2V0KCJSIiksbD0oND09PXN8fDU9PT1zKSYmITEhPT1lLmdldCgiRW5jcnlwdE1ldGFkYXRhIik7dGhpcy5lbmNyeXB0TWV0YWRhdGE9bDtjb25zdCBRPXN0cmluZ1RvQnl0ZXModCk7bGV0IEUsdTtpZihpKXtpZig2PT09aCl0cnl7aT11dGY4U3RyaW5nVG9TdHJpbmcoaSl9Y2F0Y2h7d2FybigiQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeTogVW5hYmxlIHRvIGNvbnZlcnQgVVRGOCBlbmNvZGVkIHBhc3N3b3JkLiIpfUU9c3RyaW5nVG9CeXRlcyhpKX1pZig1IT09cyl1PXRoaXMuI1AoUSxFLG8sYyxDLGgscixsKTtlbHNle2NvbnN0IHQ9bi5zdWJhcnJheSgzMiw0MCksaT1uLnN1YmFycmF5KDQwLDQ4KSxhPWcuc3ViYXJyYXkoMCw0OCkscz1nLnN1YmFycmF5KDMyLDQwKSxyPWcuc3ViYXJyYXkoNDAsNDgpLEM9c3RyaW5nVG9CeXRlcyhlLmdldCgiT0UiKSksbD1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJVRSIpKSxRPXN0cmluZ1RvQnl0ZXMoZS5nZXQoIlBlcm1zIikpO3U9dGhpcy4jTyhoLEUsbyx0LGksYSxjLHMscixDLGwsUSl9aWYoIXUmJiFpKXRocm93IG5ldyBQYXNzd29yZEV4Y2VwdGlvbigiTm8gcGFzc3dvcmQgZ2l2ZW4iLHN0KTtpZighdSYmaSl7Y29uc3QgZT10aGlzLiNXKEUsbyxoLHIpO3U9dGhpcy4jUChRLGUsbyxjLEMsaCxyLGwpfWlmKCF1KXRocm93IG5ldyBQYXNzd29yZEV4Y2VwdGlvbigiSW5jb3JyZWN0IFBhc3N3b3JkIixydCk7dGhpcy5lbmNyeXB0aW9uS2V5PXU7aWYocz49NCl7Y29uc3QgdD1lLmdldCgiQ0YiKTt0IGluc3RhbmNlb2YgRGljdCYmKHQuc3VwcHJlc3NFbmNyeXB0aW9uPSEwKTt0aGlzLmNmPXQ7dGhpcy5zdG1mPWUuZ2V0KCJTdG1GIil8fE5hbWUuZ2V0KCJJZGVudGl0eSIpO3RoaXMuc3RyZj1lLmdldCgiU3RyRiIpfHxOYW1lLmdldCgiSWRlbnRpdHkiKTt0aGlzLmVmZj1lLmdldCgiRUZGIil8fHRoaXMuc3RtZn19Y3JlYXRlQ2lwaGVyVHJhbnNmb3JtKGUsdCl7aWYoND09PXRoaXMuYWxnb3JpdGhtfHw1PT09dGhpcy5hbGdvcml0aG0pcmV0dXJuIG5ldyBDaXBoZXJUcmFuc2Zvcm0odGhpcy4jaih0aGlzLmNmLHRoaXMuc3RyZixlLHQsdGhpcy5lbmNyeXB0aW9uS2V5KSx0aGlzLiNqKHRoaXMuY2YsdGhpcy5zdG1mLGUsdCx0aGlzLmVuY3J5cHRpb25LZXkpKTtjb25zdCBpPXRoaXMuI1goZSx0LHRoaXMuZW5jcnlwdGlvbktleSwhMSksY2lwaGVyQ29uc3RydWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFSQ0ZvdXJDaXBoZXIoaSl9O3JldHVybiBuZXcgQ2lwaGVyVHJhbnNmb3JtKGNpcGhlckNvbnN0cnVjdG9yLGNpcGhlckNvbnN0cnVjdG9yKX19ZnVuY3Rpb24gZGVjb2RlU3RyaW5nKGUpe3RyeXtyZXR1cm4gc3RyaW5nVG9VVEY4U3RyaW5nKGUpfWNhdGNoKHQpe3dhcm4oYFVURi04IGRlY29kaW5nIGZhaWxlZDogIiR7dH0iLmApO3JldHVybiBlfX1jbGFzcyBEYXRhc2V0WE1MUGFyc2VyIGV4dGVuZHMgU2ltcGxlWE1MUGFyc2Vye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMubm9kZT1udWxsfW9uRW5kRWxlbWVudChlKXtjb25zdCB0PXN1cGVyLm9uRW5kRWxlbWVudChlKTtpZih0JiYieGZhOmRhdGFzZXRzIj09PWUpe3RoaXMubm9kZT10O3Rocm93IG5ldyBFcnJvcigiQWJvcnRpbmcgRGF0YXNldFhNTFBhcnNlci4iKX19fWNsYXNzIERhdGFzZXRSZWFkZXJ7Y29uc3RydWN0b3IoZSl7aWYoZS5kYXRhc2V0cyl0aGlzLm5vZGU9bmV3IFNpbXBsZVhNTFBhcnNlcih7aGFzQXR0cmlidXRlczohMH0pLnBhcnNlRnJvbVN0cmluZyhlLmRhdGFzZXRzKS5kb2N1bWVudEVsZW1lbnQ7ZWxzZXtjb25zdCB0PW5ldyBEYXRhc2V0WE1MUGFyc2VyKHtoYXNBdHRyaWJ1dGVzOiEwfSk7dHJ5e3QucGFyc2VGcm9tU3RyaW5nKGVbInhkcDp4ZHAiXSl9Y2F0Y2h7fXRoaXMubm9kZT10Lm5vZGV9fWdldFZhbHVlKGUpe2lmKCF0aGlzLm5vZGV8fCFlKXJldHVybiIiO2NvbnN0IHQ9dGhpcy5ub2RlLnNlYXJjaE5vZGUocGFyc2VYRkFQYXRoKGUpLDApO2lmKCF0KXJldHVybiIiO2NvbnN0IGk9dC5maXJzdENoaWxkO3JldHVybiJ2YWx1ZSI9PT1pPy5ub2RlTmFtZT90LmNoaWxkcmVuLm1hcCgoZT0+ZGVjb2RlU3RyaW5nKGUudGV4dENvbnRlbnQpKSk6ZGVjb2RlU3RyaW5nKHQudGV4dENvbnRlbnQpfX1jbGFzcyBYUmVmeyNaPW51bGw7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0cmVhbT1lO3RoaXMucGRmTWFuYWdlcj10O3RoaXMuZW50cmllcz1bXTt0aGlzLl94cmVmU3Rtcz1uZXcgU2V0O3RoaXMuX2NhY2hlTWFwPW5ldyBNYXA7dGhpcy5fcGVuZGluZ1JlZnM9bmV3IFJlZlNldDt0aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtPW51bGw7dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtPW51bGw7dGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZT1udWxsfWdldE5ld1BlcnNpc3RlbnRSZWYoZSl7bnVsbD09PXRoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW0mJih0aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtPXRoaXMuZW50cmllcy5sZW5ndGh8fDEpO2NvbnN0IHQ9dGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bSsrO3RoaXMuX2NhY2hlTWFwLnNldCh0LGUpO3JldHVybiBSZWYuZ2V0KHQsMCl9Z2V0TmV3VGVtcG9yYXJ5UmVmKCl7aWYobnVsbD09PXRoaXMuX25ld1RlbXBvcmFyeVJlZk51bSl7dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtPXRoaXMuZW50cmllcy5sZW5ndGh8fDE7aWYodGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bSl7dGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZT1uZXcgTWFwO2ZvcihsZXQgZT10aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW07ZTx0aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtO2UrKyl7dGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZS5zZXQoZSx0aGlzLl9jYWNoZU1hcC5nZXQoZSkpO3RoaXMuX2NhY2hlTWFwLmRlbGV0ZShlKX19fXJldHVybiBSZWYuZ2V0KHRoaXMuX25ld1RlbXBvcmFyeVJlZk51bSsrLDApfXJlc2V0TmV3VGVtcG9yYXJ5UmVmKCl7dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtPW51bGw7aWYodGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZSlmb3IoY29uc3RbZSx0XW9mIHRoaXMuX3BlcnNpc3RlbnRSZWZzQ2FjaGUpdGhpcy5fY2FjaGVNYXAuc2V0KGUsdCk7dGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZT1udWxsfXNldFN0YXJ0WFJlZihlKXt0aGlzLnN0YXJ0WFJlZlF1ZXVlPVtlXX1wYXJzZShlPSExKXtsZXQgdCxpLGE7aWYoZSl7d2FybigiSW5kZXhpbmcgYWxsIFBERiBvYmplY3RzIik7dD10aGlzLmluZGV4T2JqZWN0cygpfWVsc2UgdD10aGlzLnJlYWRYUmVmKCk7dC5hc3NpZ25YcmVmKHRoaXMpO3RoaXMudHJhaWxlcj10O3RyeXtpPXQuZ2V0KCJFbmNyeXB0Iil9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgWFJlZi5wYXJzZSAtIEludmFsaWQgIkVuY3J5cHQiIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKGkgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXQuZ2V0KCJJRCIpLGE9ZT8ubGVuZ3RoP2VbMF06IiI7aS5zdXBwcmVzc0VuY3J5cHRpb249ITA7dGhpcy5lbmNyeXB0PW5ldyBDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5KGksYSx0aGlzLnBkZk1hbmFnZXIucGFzc3dvcmQpfXRyeXthPXQuZ2V0KCJSb290Iil9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgWFJlZi5wYXJzZSAtIEludmFsaWQgIlJvb3QiIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKGEgaW5zdGFuY2VvZiBEaWN0KXRyeXtpZihhLmdldCgiUGFnZXMiKWluc3RhbmNlb2YgRGljdCl7dGhpcy5yb290PWE7cmV0dXJufX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGBYUmVmLnBhcnNlIC0gSW52YWxpZCAiUGFnZXMiIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKCFlKXRocm93IG5ldyBYUmVmUGFyc2VFeGNlcHRpb247dGhyb3cgbmV3IEludmFsaWRQREZFeGNlcHRpb24oIkludmFsaWQgUm9vdCByZWZlcmVuY2UuIil9cHJvY2Vzc1hSZWZUYWJsZShlKXsidGFibGVTdGF0ZSJpbiB0aGlzfHwodGhpcy50YWJsZVN0YXRlPXtlbnRyeU51bTowLHN0cmVhbVBvczplLmxleGVyLnN0cmVhbS5wb3MscGFyc2VyQnVmMTplLmJ1ZjEscGFyc2VyQnVmMjplLmJ1ZjJ9KTtpZighaXNDbWQodGhpcy5yZWFkWFJlZlRhYmxlKGUpLCJ0cmFpbGVyIikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgdGFibGU6IGNvdWxkIG5vdCBmaW5kIHRyYWlsZXIgZGljdGlvbmFyeSIpO2xldCB0PWUuZ2V0T2JqKCk7dCBpbnN0YW5jZW9mIERpY3R8fCF0LmRpY3R8fCh0PXQuZGljdCk7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgdGFibGU6IGNvdWxkIG5vdCBwYXJzZSB0cmFpbGVyIGRpY3Rpb25hcnkiKTtkZWxldGUgdGhpcy50YWJsZVN0YXRlO3JldHVybiB0fXJlYWRYUmVmVGFibGUoZSl7Y29uc3QgdD1lLmxleGVyLnN0cmVhbSxpPXRoaXMudGFibGVTdGF0ZTt0LnBvcz1pLnN0cmVhbVBvcztlLmJ1ZjE9aS5wYXJzZXJCdWYxO2UuYnVmMj1pLnBhcnNlckJ1ZjI7bGV0IGE7Zm9yKDs7KXtpZighKCJmaXJzdEVudHJ5TnVtImluIGkpfHwhKCJlbnRyeUNvdW50ImluIGkpKXtpZihpc0NtZChhPWUuZ2V0T2JqKCksInRyYWlsZXIiKSlicmVhaztpLmZpcnN0RW50cnlOdW09YTtpLmVudHJ5Q291bnQ9ZS5nZXRPYmooKX1sZXQgcz1pLmZpcnN0RW50cnlOdW07Y29uc3Qgcj1pLmVudHJ5Q291bnQ7aWYoIU51bWJlci5pc0ludGVnZXIocyl8fCFOdW1iZXIuaXNJbnRlZ2VyKHIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIHRhYmxlOiB3cm9uZyB0eXBlcyBpbiBzdWJzZWN0aW9uIGhlYWRlciIpO2ZvcihsZXQgYT1pLmVudHJ5TnVtO2E8cjthKyspe2kuc3RyZWFtUG9zPXQucG9zO2kuZW50cnlOdW09YTtpLnBhcnNlckJ1ZjE9ZS5idWYxO2kucGFyc2VyQnVmMj1lLmJ1ZjI7Y29uc3Qgbj17fTtuLm9mZnNldD1lLmdldE9iaigpO24uZ2VuPWUuZ2V0T2JqKCk7Y29uc3QgZz1lLmdldE9iaigpO2lmKGcgaW5zdGFuY2VvZiBDbWQpc3dpdGNoKGcuY21kKXtjYXNlImYiOm4uZnJlZT0hMDticmVhaztjYXNlIm4iOm4udW5jb21wcmVzc2VkPSEwfWlmKCFOdW1iZXIuaXNJbnRlZ2VyKG4ub2Zmc2V0KXx8IU51bWJlci5pc0ludGVnZXIobi5nZW4pfHwhbi5mcmVlJiYhbi51bmNvbXByZXNzZWQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGVudHJ5IGluIFhSZWYgc3Vic2VjdGlvbjogJHtzfSwgJHtyfWApOzA9PT1hJiZuLmZyZWUmJjE9PT1zJiYocz0wKTt0aGlzLmVudHJpZXNbYStzXXx8KHRoaXMuZW50cmllc1thK3NdPW4pfWkuZW50cnlOdW09MDtpLnN0cmVhbVBvcz10LnBvcztpLnBhcnNlckJ1ZjE9ZS5idWYxO2kucGFyc2VyQnVmMj1lLmJ1ZjI7ZGVsZXRlIGkuZmlyc3RFbnRyeU51bTtkZWxldGUgaS5lbnRyeUNvdW50fWlmKHRoaXMuZW50cmllc1swXSYmIXRoaXMuZW50cmllc1swXS5mcmVlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIHRhYmxlOiB1bmV4cGVjdGVkIGZpcnN0IG9iamVjdCIpO3JldHVybiBhfXByb2Nlc3NYUmVmU3RyZWFtKGUpe2lmKCEoInN0cmVhbVN0YXRlImluIHRoaXMpKXtjb25zdCB0PWUuZGljdCxpPXQuZ2V0KCJXIik7bGV0IGE9dC5nZXQoIkluZGV4Iik7YXx8KGE9WzAsdC5nZXQoIlNpemUiKV0pO3RoaXMuc3RyZWFtU3RhdGU9e2VudHJ5UmFuZ2VzOmEsYnl0ZVdpZHRoczppLGVudHJ5TnVtOjAsc3RyZWFtUG9zOmUucG9zfX10aGlzLnJlYWRYUmVmU3RyZWFtKGUpO2RlbGV0ZSB0aGlzLnN0cmVhbVN0YXRlO3JldHVybiBlLmRpY3R9cmVhZFhSZWZTdHJlYW0oZSl7Y29uc3QgdD10aGlzLnN0cmVhbVN0YXRlO2UucG9zPXQuc3RyZWFtUG9zO2NvbnN0W2ksYSxzXT10LmJ5dGVXaWR0aHMscj10LmVudHJ5UmFuZ2VzO2Zvcig7ci5sZW5ndGg+MDspe2NvbnN0W24sZ109cjtpZighTnVtYmVyLmlzSW50ZWdlcihuKXx8IU51bWJlci5pc0ludGVnZXIoZykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIFhSZWYgcmFuZ2UgZmllbGRzOiAke259LCAke2d9YCk7aWYoIU51bWJlci5pc0ludGVnZXIoaSl8fCFOdW1iZXIuaXNJbnRlZ2VyKGEpfHwhTnVtYmVyLmlzSW50ZWdlcihzKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgWFJlZiBlbnRyeSBmaWVsZHMgbGVuZ3RoOiAke259LCAke2d9YCk7Zm9yKGxldCByPXQuZW50cnlOdW07cjxnOysrcil7dC5lbnRyeU51bT1yO3Quc3RyZWFtUG9zPWUucG9zO2xldCBnPTAsbz0wLGM9MDtmb3IobGV0IHQ9MDt0PGk7Kyt0KXtjb25zdCB0PWUuZ2V0Qnl0ZSgpO2lmKC0xPT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBieXRlV2lkdGhzICd0eXBlJy4iKTtnPWc8PDh8dH0wPT09aSYmKGc9MSk7Zm9yKGxldCB0PTA7dDxhOysrdCl7Y29uc3QgdD1lLmdldEJ5dGUoKTtpZigtMT09PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgYnl0ZVdpZHRocyAnb2Zmc2V0Jy4iKTtvPW88PDh8dH1mb3IobGV0IHQ9MDt0PHM7Kyt0KXtjb25zdCB0PWUuZ2V0Qnl0ZSgpO2lmKC0xPT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBieXRlV2lkdGhzICdnZW5lcmF0aW9uJy4iKTtjPWM8PDh8dH1jb25zdCBDPXt9O0Mub2Zmc2V0PW87Qy5nZW49Yztzd2l0Y2goZyl7Y2FzZSAwOkMuZnJlZT0hMDticmVhaztjYXNlIDE6Qy51bmNvbXByZXNzZWQ9ITA7YnJlYWs7Y2FzZSAyOmJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIFhSZWYgZW50cnkgdHlwZTogJHtnfWApfXRoaXMuZW50cmllc1tuK3JdfHwodGhpcy5lbnRyaWVzW24rcl09Qyl9dC5lbnRyeU51bT0wO3Quc3RyZWFtUG9zPWUucG9zO3Iuc3BsaWNlKDAsMil9fWluZGV4T2JqZWN0cygpe2Z1bmN0aW9uIHJlYWRUb2tlbihlLHQpe2xldCBpPSIiLGE9ZVt0XTtmb3IoOzEwIT09YSYmMTMhPT1hJiY2MCE9PWEmJiEoKyt0Pj1lLmxlbmd0aCk7KXtpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGEpO2E9ZVt0XX1yZXR1cm4gaX1mdW5jdGlvbiBza2lwVW50aWwoZSx0LGkpe2NvbnN0IGE9aS5sZW5ndGgscz1lLmxlbmd0aDtsZXQgcj0wO2Zvcig7dDxzOyl7bGV0IHM9MDtmb3IoO3M8YSYmZVt0K3NdPT09aVtzXTspKytzO2lmKHM+PWEpYnJlYWs7dCsrO3IrK31yZXR1cm4gcn1jb25zdCBlPS9cYihlbmRvYmp8XGQrXHMrXGQrXHMrb2JqfHhyZWZ8dHJhaWxlclxzKjw8KVxiL2csdD0vXGIoc3RhcnR4cmVmfFxkK1xzK1xkK1xzK29iailcYi9nLGk9L14oXGQrKVxzKyhcZCspXHMrb2JqXGIvLGE9bmV3IFVpbnQ4QXJyYXkoWzExNiwxMTQsOTcsMTA1LDEwOCwxMDEsMTE0XSkscz1uZXcgVWludDhBcnJheShbMTE1LDExNiw5NywxMTQsMTE2LDEyMCwxMTQsMTAxLDEwMl0pLHI9bmV3IFVpbnQ4QXJyYXkoWzQ3LDg4LDgyLDEwMSwxMDJdKTt0aGlzLmVudHJpZXMubGVuZ3RoPTA7dGhpcy5fY2FjaGVNYXAuY2xlYXIoKTtjb25zdCBuPXRoaXMuc3RyZWFtO24ucG9zPTA7Y29uc3QgZz1uLmdldEJ5dGVzKCksbz1ieXRlc1RvU3RyaW5nKGcpLGM9Zy5sZW5ndGg7bGV0IEM9bi5zdGFydDtjb25zdCBoPVtdLGw9W107Zm9yKDtDPGM7KXtsZXQgUT1nW0NdO2lmKDk9PT1RfHwxMD09PVF8fDEzPT09UXx8MzI9PT1RKXsrK0M7Y29udGludWV9aWYoMzc9PT1RKXtkb3srK0M7aWYoQz49YylicmVhaztRPWdbQ119d2hpbGUoMTAhPT1RJiYxMyE9PVEpO2NvbnRpbnVlfWNvbnN0IEU9cmVhZFRva2VuKGcsQyk7bGV0IHU7aWYoRS5zdGFydHNXaXRoKCJ4cmVmIikmJig0PT09RS5sZW5ndGh8fC9ccy8udGVzdChFWzRdKSkpe0MrPXNraXBVbnRpbChnLEMsYSk7aC5wdXNoKEMpO0MrPXNraXBVbnRpbChnLEMscyl9ZWxzZSBpZih1PWkuZXhlYyhFKSl7Y29uc3QgdD0wfHVbMV0saT0wfHVbMl0sYT1DK0UubGVuZ3RoO2xldCBzLGg9ITE7aWYodGhpcy5lbnRyaWVzW3RdKXtpZih0aGlzLmVudHJpZXNbdF0uZ2VuPT09aSl0cnl7bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKG4ubWFrZVN1YlN0cmVhbShhKSl9KS5nZXRPYmooKTtoPSEwfWNhdGNoKGUpe2UgaW5zdGFuY2VvZiBQYXJzZXJFT0ZFeGNlcHRpb24/d2FybihgaW5kZXhPYmplY3RzIC0tIGNoZWNraW5nIG9iamVjdCAoJHtFfSk6ICIke2V9Ii5gKTpoPSEwfX1lbHNlIGg9ITA7aCYmKHRoaXMuZW50cmllc1t0XT17b2Zmc2V0OkMtbi5zdGFydCxnZW46aSx1bmNvbXByZXNzZWQ6ITB9KTtlLmxhc3RJbmRleD1hO2NvbnN0IFE9ZS5leGVjKG8pO2lmKFEpe3M9ZS5sYXN0SW5kZXgrMS1DO2lmKCJlbmRvYmoiIT09UVsxXSl7d2FybihgaW5kZXhPYmplY3RzOiBGb3VuZCAiJHtRWzFdfSIgaW5zaWRlIG9mIGFub3RoZXIgIm9iaiIsIGNhdXNlZCBieSBtaXNzaW5nICJlbmRvYmoiIC0tIHRyeWluZyB0byByZWNvdmVyLmApO3MtPVFbMV0ubGVuZ3RoKzF9fWVsc2Ugcz1jLUM7Y29uc3QgZD1nLnN1YmFycmF5KEMsQytzKSxmPXNraXBVbnRpbChkLDAscik7aWYoZjxzJiZkW2YrNV08NjQpe2wucHVzaChDLW4uc3RhcnQpO3RoaXMuX3hyZWZTdG1zLmFkZChDLW4uc3RhcnQpfUMrPXN9ZWxzZSBpZihFLnN0YXJ0c1dpdGgoInRyYWlsZXIiKSYmKDc9PT1FLmxlbmd0aHx8L1xzLy50ZXN0KEVbN10pKSl7aC5wdXNoKEMpO2NvbnN0IGU9QytFLmxlbmd0aDtsZXQgaTt0Lmxhc3RJbmRleD1lO2NvbnN0IGE9dC5leGVjKG8pO2lmKGEpe2k9dC5sYXN0SW5kZXgrMS1DO2lmKCJzdGFydHhyZWYiIT09YVsxXSl7d2FybihgaW5kZXhPYmplY3RzOiBGb3VuZCAiJHthWzFdfSIgYWZ0ZXIgInRyYWlsZXIiLCBjYXVzZWQgYnkgbWlzc2luZyAic3RhcnR4cmVmIiAtLSB0cnlpbmcgdG8gcmVjb3Zlci5gKTtpLT1hWzFdLmxlbmd0aCsxfX1lbHNlIGk9Yy1DO0MrPWl9ZWxzZSBDKz1FLmxlbmd0aCsxfWZvcihjb25zdCBlIG9mIGwpe3RoaXMuc3RhcnRYUmVmUXVldWUucHVzaChlKTt0aGlzLnJlYWRYUmVmKCEwKX1jb25zdCBRPVtdO2xldCBFLHUsZD0hMTtmb3IoY29uc3QgZSBvZiBoKXtuLnBvcz1lO2NvbnN0IHQ9bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKG4pLHhyZWY6dGhpcyxhbGxvd1N0cmVhbXM6ITAscmVjb3ZlcnlNb2RlOiEwfSk7aWYoIWlzQ21kKHQuZ2V0T2JqKCksInRyYWlsZXIiKSljb250aW51ZTtjb25zdCBpPXQuZ2V0T2JqKCk7aWYoaSBpbnN0YW5jZW9mIERpY3Qpe1EucHVzaChpKTtpLmhhcygiRW5jcnlwdCIpJiYoZD0hMCl9fWZvcihjb25zdCBlIG9mWy4uLlEsImdlbkZhbGxiYWNrIiwuLi5RXSl7aWYoImdlbkZhbGxiYWNrIj09PWUpe2lmKCF1KWJyZWFrO3RoaXMuX2dlbmVyYXRpb25GYWxsYmFjaz0hMDtjb250aW51ZX1sZXQgdD0hMTt0cnl7Y29uc3QgaT1lLmdldCgiUm9vdCIpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2NvbnN0IGE9aS5nZXQoIlBhZ2VzIik7aWYoIShhIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7Y29uc3Qgcz1hLmdldCgiQ291bnQiKTtOdW1iZXIuaXNJbnRlZ2VyKHMpJiYodD0hMCl9Y2F0Y2goZSl7dT1lO2NvbnRpbnVlfWlmKHQmJighZHx8ZS5oYXMoIkVuY3J5cHQiKSkmJmUuaGFzKCJJRCIpKXJldHVybiBlO0U9ZX1pZihFKXJldHVybiBFO2lmKHRoaXMudG9wRGljdClyZXR1cm4gdGhpcy50b3BEaWN0O2lmKCFRLmxlbmd0aClmb3IoY29uc3RbZSx0XW9mIHRoaXMuZW50cmllcy5lbnRyaWVzKCkpe2lmKCF0KWNvbnRpbnVlO2NvbnN0IGk9UmVmLmdldChlLHQuZ2VuKTtsZXQgYTt0cnl7YT10aGlzLmZldGNoKGkpfWNhdGNoe2NvbnRpbnVlfWEgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYoYT1hLmRpY3QpO2lmKGEgaW5zdGFuY2VvZiBEaWN0JiZhLmhhcygiUm9vdCIpKXJldHVybiBhfXRocm93IG5ldyBJbnZhbGlkUERGRXhjZXB0aW9uKCJJbnZhbGlkIFBERiBzdHJ1Y3R1cmUuIil9cmVhZFhSZWYoZT0hMSl7Y29uc3QgdD10aGlzLnN0cmVhbSxpPW5ldyBTZXQ7Zm9yKDt0aGlzLnN0YXJ0WFJlZlF1ZXVlLmxlbmd0aDspe3RyeXtjb25zdCBlPXRoaXMuc3RhcnRYUmVmUXVldWVbMF07aWYoaS5oYXMoZSkpe3dhcm4oInJlYWRYUmVmIC0gc2tpcHBpbmcgWFJlZiB0YWJsZSBzaW5jZSBpdCB3YXMgYWxyZWFkeSBwYXJzZWQuIik7dGhpcy5zdGFydFhSZWZRdWV1ZS5zaGlmdCgpO2NvbnRpbnVlfWkuYWRkKGUpO3QucG9zPWUrdC5zdGFydDtjb25zdCBhPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcih0KSx4cmVmOnRoaXMsYWxsb3dTdHJlYW1zOiEwfSk7bGV0IHMscj1hLmdldE9iaigpO2lmKGlzQ21kKHIsInhyZWYiKSl7cz10aGlzLnByb2Nlc3NYUmVmVGFibGUoYSk7dGhpcy50b3BEaWN0fHwodGhpcy50b3BEaWN0PXMpO3I9cy5nZXQoIlhSZWZTdG0iKTtpZihOdW1iZXIuaXNJbnRlZ2VyKHIpJiYhdGhpcy5feHJlZlN0bXMuaGFzKHIpKXt0aGlzLl94cmVmU3Rtcy5hZGQocik7dGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKHIpO3RoaXMuI1o/Pz1yfX1lbHNle2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIHN0cmVhbSBoZWFkZXIiKTtpZighKE51bWJlci5pc0ludGVnZXIoYS5nZXRPYmooKSkmJmlzQ21kKGEuZ2V0T2JqKCksIm9iaiIpJiYocj1hLmdldE9iaigpKWluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgc3RyZWFtIik7cz10aGlzLnByb2Nlc3NYUmVmU3RyZWFtKHIpO3RoaXMudG9wRGljdHx8KHRoaXMudG9wRGljdD1zKTtpZighcyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkZhaWxlZCB0byByZWFkIFhSZWYgc3RyZWFtIil9cj1zLmdldCgiUHJldiIpO051bWJlci5pc0ludGVnZXIocik/dGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKHIpOnIgaW5zdGFuY2VvZiBSZWYmJnRoaXMuc3RhcnRYUmVmUXVldWUucHVzaChyLm51bSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7aW5mbygiKHdoaWxlIHJlYWRpbmcgWFJlZik6ICIrZSl9dGhpcy5zdGFydFhSZWZRdWV1ZS5zaGlmdCgpfWlmKHRoaXMudG9wRGljdClyZXR1cm4gdGhpcy50b3BEaWN0O2lmKCFlKXRocm93IG5ldyBYUmVmUGFyc2VFeGNlcHRpb259Z2V0IGxhc3RYUmVmU3RyZWFtUG9zKCl7cmV0dXJuIHRoaXMuI1o/Pyh0aGlzLl94cmVmU3Rtcy5zaXplPjA/TWF0aC5tYXgoLi4udGhpcy5feHJlZlN0bXMpOm51bGwpfWdldEVudHJ5KGUpe2NvbnN0IHQ9dGhpcy5lbnRyaWVzW2VdO3JldHVybiB0JiYhdC5mcmVlJiZ0Lm9mZnNldD90Om51bGx9ZmV0Y2hJZlJlZihlLHQ9ITEpe3JldHVybiBlIGluc3RhbmNlb2YgUmVmP3RoaXMuZmV0Y2goZSx0KTplfWZldGNoKGUsdD0hMSl7aWYoIShlIGluc3RhbmNlb2YgUmVmKSl0aHJvdyBuZXcgRXJyb3IoInJlZiBvYmplY3QgaXMgbm90IGEgcmVmZXJlbmNlIik7Y29uc3QgaT1lLm51bSxhPXRoaXMuX2NhY2hlTWFwLmdldChpKTtpZih2b2lkIDAhPT1hKXthIGluc3RhbmNlb2YgRGljdCYmIWEub2JqSWQmJihhLm9iaklkPWUudG9TdHJpbmcoKSk7cmV0dXJuIGF9bGV0IHM9dGhpcy5nZXRFbnRyeShpKTtpZihudWxsPT09cyl7dGhpcy5fY2FjaGVNYXAuc2V0KGkscyk7cmV0dXJuIHN9aWYodGhpcy5fcGVuZGluZ1JlZnMuaGFzKGUpKXt0aGlzLl9wZW5kaW5nUmVmcy5yZW1vdmUoZSk7d2FybihgSWdub3JpbmcgY2lyY3VsYXIgcmVmZXJlbmNlOiAke2V9LmApO3JldHVybiBtdH10aGlzLl9wZW5kaW5nUmVmcy5wdXQoZSk7dHJ5e3M9cy51bmNvbXByZXNzZWQ/dGhpcy5mZXRjaFVuY29tcHJlc3NlZChlLHMsdCk6dGhpcy5mZXRjaENvbXByZXNzZWQoZSxzLHQpO3RoaXMuX3BlbmRpbmdSZWZzLnJlbW92ZShlKX1jYXRjaCh0KXt0aGlzLl9wZW5kaW5nUmVmcy5yZW1vdmUoZSk7dGhyb3cgdH1zIGluc3RhbmNlb2YgRGljdD9zLm9iaklkPWUudG9TdHJpbmcoKTpzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKHMuZGljdC5vYmpJZD1lLnRvU3RyaW5nKCkpO3JldHVybiBzfWZldGNoVW5jb21wcmVzc2VkKGUsdCxpPSExKXtjb25zdCBhPWUuZ2VuO2xldCBzPWUubnVtO2lmKHQuZ2VuIT09YSl7Y29uc3Qgcj1gSW5jb25zaXN0ZW50IGdlbmVyYXRpb24gaW4gWFJlZjogJHtlfWA7aWYodGhpcy5fZ2VuZXJhdGlvbkZhbGxiYWNrJiZ0LmdlbjxhKXt3YXJuKHIpO3JldHVybiB0aGlzLmZldGNoVW5jb21wcmVzc2VkKFJlZi5nZXQocyx0LmdlbiksdCxpKX10aHJvdyBuZXcgWFJlZkVudHJ5RXhjZXB0aW9uKHIpfWNvbnN0IHI9dGhpcy5zdHJlYW0ubWFrZVN1YlN0cmVhbSh0Lm9mZnNldCt0aGlzLnN0cmVhbS5zdGFydCksbj1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIocikseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMH0pLGc9bi5nZXRPYmooKSxvPW4uZ2V0T2JqKCksYz1uLmdldE9iaigpO2lmKGchPT1zfHxvIT09YXx8IShjIGluc3RhbmNlb2YgQ21kKSl0aHJvdyBuZXcgWFJlZkVudHJ5RXhjZXB0aW9uKGBCYWQgKHVuY29tcHJlc3NlZCkgWFJlZiBlbnRyeTogJHtlfWApO2lmKCJvYmoiIT09Yy5jbWQpe2lmKGMuY21kLnN0YXJ0c1dpdGgoIm9iaiIpKXtzPXBhcnNlSW50KGMuY21kLnN1YnN0cmluZygzKSwxMCk7aWYoIU51bWJlci5pc05hTihzKSlyZXR1cm4gc310aHJvdyBuZXcgWFJlZkVudHJ5RXhjZXB0aW9uKGBCYWQgKHVuY29tcHJlc3NlZCkgWFJlZiBlbnRyeTogJHtlfWApfSh0PXRoaXMuZW5jcnlwdCYmIWk/bi5nZXRPYmoodGhpcy5lbmNyeXB0LmNyZWF0ZUNpcGhlclRyYW5zZm9ybShzLGEpKTpuLmdldE9iaigpKWluc3RhbmNlb2YgQmFzZVN0cmVhbXx8dGhpcy5fY2FjaGVNYXAuc2V0KHMsdCk7cmV0dXJuIHR9ZmV0Y2hDb21wcmVzc2VkKGUsdCxpPSExKXtjb25zdCBhPXQub2Zmc2V0LHM9dGhpcy5mZXRjaChSZWYuZ2V0KGEsMCkpO2lmKCEocyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiYmFkIE9ialN0bSBzdHJlYW0iKTtjb25zdCByPXMuZGljdC5nZXQoIkZpcnN0Iiksbj1zLmRpY3QuZ2V0KCJOIik7aWYoIU51bWJlci5pc0ludGVnZXIocil8fCFOdW1iZXIuaXNJbnRlZ2VyKG4pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiaW52YWxpZCBmaXJzdCBhbmQgbiBwYXJhbWV0ZXJzIGZvciBPYmpTdG0gc3RyZWFtIik7bGV0IGc9bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKHMpLHhyZWY6dGhpcyxhbGxvd1N0cmVhbXM6ITB9KTtjb25zdCBvPW5ldyBBcnJheShuKSxjPW5ldyBBcnJheShuKTtmb3IobGV0IGU9MDtlPG47KytlKXtjb25zdCB0PWcuZ2V0T2JqKCk7aWYoIU51bWJlci5pc0ludGVnZXIodCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBpbnZhbGlkIG9iamVjdCBudW1iZXIgaW4gdGhlIE9ialN0bSBzdHJlYW06ICR7dH1gKTtjb25zdCBpPWcuZ2V0T2JqKCk7aWYoIU51bWJlci5pc0ludGVnZXIoaSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBpbnZhbGlkIG9iamVjdCBvZmZzZXQgaW4gdGhlIE9ialN0bSBzdHJlYW06ICR7aX1gKTtvW2VdPXQ7Y1tlXT1pfWNvbnN0IEM9KHMuc3RhcnR8fDApK3IsaD1uZXcgQXJyYXkobik7Zm9yKGxldCBlPTA7ZTxuOysrZSl7Y29uc3QgdD1lPG4tMT9jW2UrMV0tY1tlXTp2b2lkIDA7aWYodDwwKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBvZmZzZXQgaW4gdGhlIE9ialN0bSBzdHJlYW0uIik7Zz1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIocy5tYWtlU3ViU3RyZWFtKEMrY1tlXSx0LHMuZGljdCkpLHhyZWY6dGhpcyxhbGxvd1N0cmVhbXM6ITB9KTtjb25zdCBpPWcuZ2V0T2JqKCk7aFtlXT1pO2lmKGkgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKWNvbnRpbnVlO2NvbnN0IHI9b1tlXSxsPXRoaXMuZW50cmllc1tyXTtsJiZsLm9mZnNldD09PWEmJmwuZ2VuPT09ZSYmdGhpcy5fY2FjaGVNYXAuc2V0KHIsaSl9aWYodm9pZCAwPT09KHQ9aFt0Lmdlbl0pKXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24oYEJhZCAoY29tcHJlc3NlZCkgWFJlZiBlbnRyeTogJHtlfWApO3JldHVybiB0fWFzeW5jIGZldGNoSWZSZWZBc3luYyhlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgUmVmP3RoaXMuZmV0Y2hBc3luYyhlLHQpOmV9YXN5bmMgZmV0Y2hBc3luYyhlLHQpe3RyeXtyZXR1cm4gdGhpcy5mZXRjaChlLHQpfWNhdGNoKGkpe2lmKCEoaSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKSl0aHJvdyBpO2F3YWl0IHRoaXMucGRmTWFuYWdlci5yZXF1ZXN0UmFuZ2UoaS5iZWdpbixpLmVuZCk7cmV0dXJuIHRoaXMuZmV0Y2hBc3luYyhlLHQpfX1nZXRDYXRhbG9nT2JqKCl7cmV0dXJuIHRoaXMucm9vdH19Y29uc3QgZ2c9WzAsMCw2MTIsNzkyXTtjbGFzcyBQYWdle2NvbnN0cnVjdG9yKHtwZGZNYW5hZ2VyOmUseHJlZjp0LHBhZ2VJbmRleDppLHBhZ2VEaWN0OmEscmVmOnMsZ2xvYmFsSWRGYWN0b3J5OnIsZm9udENhY2hlOm4sYnVpbHRJbkNNYXBDYWNoZTpnLHN0YW5kYXJkRm9udERhdGFDYWNoZTpvLGdsb2JhbEltYWdlQ2FjaGU6YyxzeXN0ZW1Gb250Q2FjaGU6Qyxub25CbGVuZE1vZGVzU2V0OmgseGZhRmFjdG9yeTpsfSl7dGhpcy5wZGZNYW5hZ2VyPWU7dGhpcy5wYWdlSW5kZXg9aTt0aGlzLnBhZ2VEaWN0PWE7dGhpcy54cmVmPXQ7dGhpcy5yZWY9czt0aGlzLmZvbnRDYWNoZT1uO3RoaXMuYnVpbHRJbkNNYXBDYWNoZT1nO3RoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlPW87dGhpcy5nbG9iYWxJbWFnZUNhY2hlPWM7dGhpcy5zeXN0ZW1Gb250Q2FjaGU9Qzt0aGlzLm5vbkJsZW5kTW9kZXNTZXQ9aDt0aGlzLmV2YWx1YXRvck9wdGlvbnM9ZS5ldmFsdWF0b3JPcHRpb25zO3RoaXMucmVzb3VyY2VzUHJvbWlzZT1udWxsO3RoaXMueGZhRmFjdG9yeT1sO2NvbnN0IFE9e29iajowfTt0aGlzLl9sb2NhbElkRmFjdG9yeT1jbGFzcyBleHRlbmRzIHJ7c3RhdGljIGNyZWF0ZU9iaklkKCl7cmV0dXJuYHAke2l9XyR7KytRLm9ian1gfXN0YXRpYyBnZXRQYWdlT2JqSWQoKXtyZXR1cm5gcCR7cy50b1N0cmluZygpfWB9fX1fZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShlLHQ9ITEpe2NvbnN0IGk9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0aGlzLnBhZ2VEaWN0LGtleTplLGdldEFycmF5OnQsc3RvcFdoZW5Gb3VuZDohMX0pO3JldHVybiBBcnJheS5pc0FycmF5KGkpPzEhPT1pLmxlbmd0aCYmaVswXWluc3RhbmNlb2YgRGljdD9EaWN0Lm1lcmdlKHt4cmVmOnRoaXMueHJlZixkaWN0QXJyYXk6aX0pOmlbMF06aX1nZXQgY29udGVudCgpe3JldHVybiB0aGlzLnBhZ2VEaWN0LmdldEFycmF5KCJDb250ZW50cyIpfWdldCByZXNvdXJjZXMoKXtjb25zdCBlPXRoaXMuX2dldEluaGVyaXRhYmxlUHJvcGVydHkoIlJlc291cmNlcyIpO3JldHVybiBzaGFkb3codGhpcywicmVzb3VyY2VzIixlIGluc3RhbmNlb2YgRGljdD9lOkRpY3QuZW1wdHkpfV9nZXRCb3VuZGluZ0JveChlKXtpZih0aGlzLnhmYURhdGEpcmV0dXJuIHRoaXMueGZhRGF0YS5iYm94O2NvbnN0IHQ9bG9va3VwTm9ybWFsUmVjdCh0aGlzLl9nZXRJbmhlcml0YWJsZVByb3BlcnR5KGUsITApLG51bGwpO2lmKHQpe2lmKHRbMl0tdFswXT4wJiZ0WzNdLXRbMV0+MClyZXR1cm4gdDt3YXJuKGBFbXB0eSwgb3IgaW52YWxpZCwgLyR7ZX0gZW50cnkuYCl9cmV0dXJuIG51bGx9Z2V0IG1lZGlhQm94KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJtZWRpYUJveCIsdGhpcy5fZ2V0Qm91bmRpbmdCb3goIk1lZGlhQm94Iil8fGdnKX1nZXQgY3JvcEJveCgpe3JldHVybiBzaGFkb3codGhpcywiY3JvcEJveCIsdGhpcy5fZ2V0Qm91bmRpbmdCb3goIkNyb3BCb3giKXx8dGhpcy5tZWRpYUJveCl9Z2V0IHVzZXJVbml0KCl7Y29uc3QgZT10aGlzLnBhZ2VEaWN0LmdldCgiVXNlclVuaXQiKTtyZXR1cm4gc2hhZG93KHRoaXMsInVzZXJVbml0IiwibnVtYmVyIj09dHlwZW9mIGUmJmU+MD9lOjEpfWdldCB2aWV3KCl7Y29uc3R7Y3JvcEJveDplLG1lZGlhQm94OnR9PXRoaXM7aWYoZSE9PXQmJiFpc0FycmF5RXF1YWwoZSx0KSl7Y29uc3QgaT1VdGlsLmludGVyc2VjdChlLHQpO2lmKGkmJmlbMl0taVswXT4wJiZpWzNdLWlbMV0+MClyZXR1cm4gc2hhZG93KHRoaXMsInZpZXciLGkpO3dhcm4oIkVtcHR5IC9Dcm9wQm94IGFuZCAvTWVkaWFCb3ggaW50ZXJzZWN0aW9uLiIpfXJldHVybiBzaGFkb3codGhpcywidmlldyIsdCl9Z2V0IHJvdGF0ZSgpe2xldCBlPXRoaXMuX2dldEluaGVyaXRhYmxlUHJvcGVydHkoIlJvdGF0ZSIpfHwwO2UlOTAhPTA/ZT0wOmU+PTM2MD9lJT0zNjA6ZTwwJiYoZT0oZSUzNjArMzYwKSUzNjApO3JldHVybiBzaGFkb3codGhpcywicm90YXRlIixlKX1fb25TdWJTdHJlYW1FcnJvcihlLHQpe2lmKCF0aGlzLmV2YWx1YXRvck9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgZ2V0Q29udGVudFN0cmVhbSAtIGlnbm9yaW5nIHN1Yi1zdHJlYW0gKCR7dH0pOiAiJHtlfSIuYCl9Z2V0Q29udGVudFN0cmVhbSgpe3JldHVybiB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsImNvbnRlbnQiKS50aGVuKChlPT5lIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9lOkFycmF5LmlzQXJyYXkoZSk/bmV3IFN0cmVhbXNTZXF1ZW5jZVN0cmVhbShlLHRoaXMuX29uU3ViU3RyZWFtRXJyb3IuYmluZCh0aGlzKSk6bmV3IE51bGxTdHJlYW0pKX1nZXQgeGZhRGF0YSgpe3JldHVybiBzaGFkb3codGhpcywieGZhRGF0YSIsdGhpcy54ZmFGYWN0b3J5P3tiYm94OnRoaXMueGZhRmFjdG9yeS5nZXRCb3VuZGluZ0JveCh0aGlzLnBhZ2VJbmRleCl9Om51bGwpfWFzeW5jI1YoZSx0LGkpe2NvbnN0IGE9W107Zm9yKGNvbnN0IHMgb2YgZSlpZihzLmlkKXtjb25zdCBlPVJlZi5mcm9tU3RyaW5nKHMuaWQpO2lmKCFlKXt3YXJuKGBBIG5vbi1saW5rZWQgYW5ub3RhdGlvbiBjYW5ub3QgYmUgbW9kaWZpZWQ6ICR7cy5pZH1gKTtjb250aW51ZX1pZihzLmRlbGV0ZWQpe3QucHV0KGUsZSk7aWYocy5wb3B1cFJlZil7Y29uc3QgZT1SZWYuZnJvbVN0cmluZyhzLnBvcHVwUmVmKTtlJiZ0LnB1dChlLGUpfWNvbnRpbnVlfWk/LnB1dChlKTtzLnJlZj1lO2EucHVzaCh0aGlzLnhyZWYuZmV0Y2hBc3luYyhlKS50aGVuKChlPT57ZSBpbnN0YW5jZW9mIERpY3QmJihzLm9sZEFubm90YXRpb249ZS5jbG9uZSgpKX0pLCgoKT0+e3dhcm4oYENhbm5vdCBmZXRjaCBcYG9sZEFubm90YXRpb25cYCBmb3I6ICR7ZX0uYCl9KSkpO2RlbGV0ZSBzLmlkfWF3YWl0IFByb21pc2UuYWxsKGEpfWFzeW5jIHNhdmVOZXdBbm5vdGF0aW9ucyhlLHQsaSxhLHMpe2lmKHRoaXMueGZhRmFjdG9yeSl0aHJvdyBuZXcgRXJyb3IoIlhGQTogQ2Fubm90IHNhdmUgbmV3IGFubm90YXRpb25zLiIpO2NvbnN0IHI9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSksbj1uZXcgUmVmU2V0Q2FjaGUsZz1uZXcgUmVmU2V0O2F3YWl0IHRoaXMuI1YoaSxuLGcpO2NvbnN0IG89dGhpcy5wYWdlRGljdCxjPXRoaXMuYW5ub3RhdGlvbnMuZmlsdGVyKChlPT4hKGUgaW5zdGFuY2VvZiBSZWYmJm4uaGFzKGUpKSkpLEM9YXdhaXQgQW5ub3RhdGlvbkZhY3Rvcnkuc2F2ZU5ld0Fubm90YXRpb25zKHIsdCxpLGEscyk7Zm9yKGNvbnN0e3JlZjplfW9mIEMuYW5ub3RhdGlvbnMpZSBpbnN0YW5jZW9mIFJlZiYmIWcuaGFzKGUpJiZjLnB1c2goZSk7Y29uc3QgaD1vLmNsb25lKCk7aC5zZXQoIkFubm90cyIsYyk7cy5wdXQodGhpcy5yZWYse2RhdGE6aH0pO2Zvcihjb25zdCBlIG9mIG4pcy5wdXQoZSx7ZGF0YTpudWxsfSl9c2F2ZShlLHQsaSxhKXtjb25zdCBzPW5ldyBQYXJ0aWFsRXZhbHVhdG9yKHt4cmVmOnRoaXMueHJlZixoYW5kbGVyOmUscGFnZUluZGV4OnRoaXMucGFnZUluZGV4LGlkRmFjdG9yeTp0aGlzLl9sb2NhbElkRmFjdG9yeSxmb250Q2FjaGU6dGhpcy5mb250Q2FjaGUsYnVpbHRJbkNNYXBDYWNoZTp0aGlzLmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOnRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLGdsb2JhbEltYWdlQ2FjaGU6dGhpcy5nbG9iYWxJbWFnZUNhY2hlLHN5c3RlbUZvbnRDYWNoZTp0aGlzLnN5c3RlbUZvbnRDYWNoZSxvcHRpb25zOnRoaXMuZXZhbHVhdG9yT3B0aW9uc30pO3JldHVybiB0aGlzLl9wYXJzZWRBbm5vdGF0aW9ucy50aGVuKChmdW5jdGlvbihlKXtjb25zdCByPVtdO2Zvcihjb25zdCBuIG9mIGUpci5wdXNoKG4uc2F2ZShzLHQsaSxhKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2Fybihgc2F2ZSAtIGlnbm9yaW5nIGFubm90YXRpb24gZGF0YSBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKTtyZXR1cm4gUHJvbWlzZS5hbGwocil9KSl9bG9hZFJlc291cmNlcyhlKXt0aGlzLnJlc291cmNlc1Byb21pc2V8fD10aGlzLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsInJlc291cmNlcyIpO3JldHVybiB0aGlzLnJlc291cmNlc1Byb21pc2UudGhlbigoKCk9Pm5ldyBPYmplY3RMb2FkZXIodGhpcy5yZXNvdXJjZXMsZSx0aGlzLnhyZWYpLmxvYWQoKSkpfWdldE9wZXJhdG9yTGlzdCh7aGFuZGxlcjplLHNpbms6dCx0YXNrOmksaW50ZW50OmEsY2FjaGVLZXk6cyxhbm5vdGF0aW9uU3RvcmFnZTpyPW51bGwsbW9kaWZpZWRJZHM6bj1udWxsfSl7Y29uc3QgQz10aGlzLmdldENvbnRlbnRTdHJlYW0oKSxFPXRoaXMubG9hZFJlc291cmNlcyhbIkNvbG9yU3BhY2UiLCJFeHRHU3RhdGUiLCJGb250IiwiUGF0dGVybiIsIlByb3BlcnRpZXMiLCJTaGFkaW5nIiwiWE9iamVjdCJdKSxkPW5ldyBQYXJ0aWFsRXZhbHVhdG9yKHt4cmVmOnRoaXMueHJlZixoYW5kbGVyOmUscGFnZUluZGV4OnRoaXMucGFnZUluZGV4LGlkRmFjdG9yeTp0aGlzLl9sb2NhbElkRmFjdG9yeSxmb250Q2FjaGU6dGhpcy5mb250Q2FjaGUsYnVpbHRJbkNNYXBDYWNoZTp0aGlzLmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOnRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLGdsb2JhbEltYWdlQ2FjaGU6dGhpcy5nbG9iYWxJbWFnZUNhY2hlLHN5c3RlbUZvbnRDYWNoZTp0aGlzLnN5c3RlbUZvbnRDYWNoZSxvcHRpb25zOnRoaXMuZXZhbHVhdG9yT3B0aW9uc30pLGY9dGhpcy54ZmFGYWN0b3J5P251bGw6Z2V0TmV3QW5ub3RhdGlvbnNNYXAocikscD1mPy5nZXQodGhpcy5wYWdlSW5kZXgpO2xldCBtPVByb21pc2UucmVzb2x2ZShudWxsKSx5PW51bGw7aWYocCl7Y29uc3QgZT10aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJhbm5vdGF0aW9uR2xvYmFscyIpO2xldCB0O2NvbnN0IGE9bmV3IFNldDtmb3IoY29uc3R7Yml0bWFwSWQ6ZSxiaXRtYXA6dH1vZiBwKSFlfHx0fHxhLmhhcyhlKXx8YS5hZGQoZSk7Y29uc3R7aXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6c309dGhpcy5ldmFsdWF0b3JPcHRpb25zO2lmKGEuc2l6ZT4wKXtjb25zdCBlPXAuc2xpY2UoKTtmb3IoY29uc3RbdCxpXW9mIHIpdC5zdGFydHNXaXRoKHUpJiZpLmJpdG1hcCYmYS5oYXMoaS5iaXRtYXBJZCkmJmUucHVzaChpKTt0PUFubm90YXRpb25GYWN0b3J5LmdlbmVyYXRlSW1hZ2VzKGUsdGhpcy54cmVmLHMpfWVsc2UgdD1Bbm5vdGF0aW9uRmFjdG9yeS5nZW5lcmF0ZUltYWdlcyhwLHRoaXMueHJlZixzKTt5PW5ldyBSZWZTZXQ7bT1Qcm9taXNlLmFsbChbZSx0aGlzLiNWKHAseSxudWxsKV0pLnRoZW4oKChbZV0pPT5lP0Fubm90YXRpb25GYWN0b3J5LnByaW50TmV3QW5ub3RhdGlvbnMoZSxkLGkscCx0KTpudWxsKSl9Y29uc3Qgdz1Qcm9taXNlLmFsbChbQyxFXSkudGhlbigoKFtyXSk9Pntjb25zdCBuPW5ldyBPcGVyYXRvckxpc3QoYSx0KTtlLnNlbmQoIlN0YXJ0UmVuZGVyUGFnZSIse3RyYW5zcGFyZW5jeTpkLmhhc0JsZW5kTW9kZXModGhpcy5yZXNvdXJjZXMsdGhpcy5ub25CbGVuZE1vZGVzU2V0KSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsY2FjaGVLZXk6c30pO3JldHVybiBkLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOnIsdGFzazppLHJlc291cmNlczp0aGlzLnJlc291cmNlcyxvcGVyYXRvckxpc3Q6bn0pLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSl9KSk7cmV0dXJuIFByb21pc2UuYWxsKFt3LHRoaXMuX3BhcnNlZEFubm90YXRpb25zLG1dKS50aGVuKChmdW5jdGlvbihbZSx0LHNdKXtpZihzKXt0PXQuZmlsdGVyKChlPT4hKGUucmVmJiZ5LmhhcyhlLnJlZikpKSk7Zm9yKGxldCBlPTAsaT1zLmxlbmd0aDtlPGk7ZSsrKXtjb25zdCBhPXNbZV07aWYoYS5yZWZUb1JlcGxhY2Upe2NvbnN0IHI9dC5maW5kSW5kZXgoKGU9PmUucmVmJiZpc1JlZnNFcXVhbChlLnJlZixhLnJlZlRvUmVwbGFjZSkpKTtpZihyPj0wKXt0LnNwbGljZShyLDEsYSk7cy5zcGxpY2UoZS0tLDEpO2ktLX19fXQ9dC5jb25jYXQocyl9aWYoMD09PXQubGVuZ3RofHxhJmwpe2UuZmx1c2goITApO3JldHVybntsZW5ndGg6ZS50b3RhbExlbmd0aH19Y29uc3QgQz0hIShhJmgpLEU9ISEoYSZRKSx1PSEhKGEmZyksZj0hIShhJm8pLHA9ISEoYSZjKSxtPVtdO2Zvcihjb25zdCBlIG9mIHQpKHV8fGYmJmUubXVzdEJlVmlld2VkKHIsQykmJmUubXVzdEJlVmlld2VkV2hlbkVkaXRpbmcoRSxuKXx8cCYmZS5tdXN0QmVQcmludGVkKHIpKSYmbS5wdXNoKGUuZ2V0T3BlcmF0b3JMaXN0KGQsaSxhLHIpLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBhbm5vdGF0aW9uIGRhdGEgZHVyaW5nICIke2kubmFtZX0iIHRhc2s6ICIke2V9Ii5gKTtyZXR1cm57b3BMaXN0Om51bGwsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfX0pKSk7cmV0dXJuIFByb21pc2UuYWxsKG0pLnRoZW4oKGZ1bmN0aW9uKHQpe2xldCBpPSExLGE9ITE7Zm9yKGNvbnN0e29wTGlzdDpzLHNlcGFyYXRlRm9ybTpyLHNlcGFyYXRlQ2FudmFzOm59b2YgdCl7ZS5hZGRPcExpc3Qocyk7aXx8PXI7YXx8PW59ZS5mbHVzaCghMCx7Zm9ybTppLGNhbnZhczphfSk7cmV0dXJue2xlbmd0aDplLnRvdGFsTGVuZ3RofX0pKX0pKX1hc3luYyBleHRyYWN0VGV4dENvbnRlbnQoe2hhbmRsZXI6ZSx0YXNrOnQsaW5jbHVkZU1hcmtlZENvbnRlbnQ6aSxkaXNhYmxlTm9ybWFsaXphdGlvbjphLHNpbms6c30pe2NvbnN0IHI9dGhpcy5nZXRDb250ZW50U3RyZWFtKCksbj10aGlzLmxvYWRSZXNvdXJjZXMoWyJFeHRHU3RhdGUiLCJGb250IiwiUHJvcGVydGllcyIsIlhPYmplY3QiXSksZz10aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygibGFuZyIpLFtvLCxjXT1hd2FpdCBQcm9taXNlLmFsbChbcixuLGddKTtyZXR1cm4gbmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSkuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTpvLHRhc2s6dCxyZXNvdXJjZXM6dGhpcy5yZXNvdXJjZXMsaW5jbHVkZU1hcmtlZENvbnRlbnQ6aSxkaXNhYmxlTm9ybWFsaXphdGlvbjphLHNpbms6cyx2aWV3Qm94OnRoaXMudmlldyxsYW5nOmN9KX1hc3luYyBnZXRTdHJ1Y3RUcmVlKCl7Y29uc3QgZT1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygic3RydWN0VHJlZVJvb3QiKTtpZighZSlyZXR1cm4gbnVsbDthd2FpdCB0aGlzLl9wYXJzZWRBbm5vdGF0aW9ucztjb25zdCB0PWF3YWl0IHRoaXMucGRmTWFuYWdlci5lbnN1cmUodGhpcywiX3BhcnNlU3RydWN0VHJlZSIsW2VdKTtyZXR1cm4gdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0LCJzZXJpYWxpemFibGUiKX1fcGFyc2VTdHJ1Y3RUcmVlKGUpe2NvbnN0IHQ9bmV3IFN0cnVjdFRyZWVQYWdlKGUsdGhpcy5wYWdlRGljdCk7dC5wYXJzZSh0aGlzLnJlZik7cmV0dXJuIHR9YXN5bmMgZ2V0QW5ub3RhdGlvbnNEYXRhKGUsdCxpKXtjb25zdCBhPWF3YWl0IHRoaXMuX3BhcnNlZEFubm90YXRpb25zO2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gYTtjb25zdCBzPVtdLHI9W107bGV0IG47Y29uc3QgQz0hIShpJmcpLGg9ISEoaSZvKSxsPSEhKGkmYyk7Zm9yKGNvbnN0IGkgb2YgYSl7Y29uc3QgYT1DfHxoJiZpLnZpZXdhYmxlOyhhfHxsJiZpLnByaW50YWJsZSkmJnMucHVzaChpLmRhdGEpO2lmKGkuaGFzVGV4dENvbnRlbnQmJmEpe258fD1uZXcgUGFydGlhbEV2YWx1YXRvcih7eHJlZjp0aGlzLnhyZWYsaGFuZGxlcjplLHBhZ2VJbmRleDp0aGlzLnBhZ2VJbmRleCxpZEZhY3Rvcnk6dGhpcy5fbG9jYWxJZEZhY3RvcnksZm9udENhY2hlOnRoaXMuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dGhpcy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dGhpcy5zeXN0ZW1Gb250Q2FjaGUsb3B0aW9uczp0aGlzLmV2YWx1YXRvck9wdGlvbnN9KTtyLnB1c2goaS5leHRyYWN0VGV4dENvbnRlbnQobix0LFstMS8wLC0xLzAsMS8wLDEvMF0pLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBnZXRBbm5vdGF0aW9uc0RhdGEgLSBpZ25vcmluZyB0ZXh0Q29udGVudCBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApfSkpKX19YXdhaXQgUHJvbWlzZS5hbGwocik7cmV0dXJuIHN9Z2V0IGFubm90YXRpb25zKCl7Y29uc3QgZT10aGlzLl9nZXRJbmhlcml0YWJsZVByb3BlcnR5KCJBbm5vdHMiKTtyZXR1cm4gc2hhZG93KHRoaXMsImFubm90YXRpb25zIixBcnJheS5pc0FycmF5KGUpP2U6W10pfWdldCBfcGFyc2VkQW5ub3RhdGlvbnMoKXtyZXR1cm4gc2hhZG93KHRoaXMsIl9wYXJzZWRBbm5vdGF0aW9ucyIsdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCJhbm5vdGF0aW9ucyIpLnRoZW4oKGFzeW5jIGU9PntpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGU7Y29uc3RbdCxpXT1hd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiYW5ub3RhdGlvbkdsb2JhbHMiKSx0aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJmaWVsZE9iamVjdHMiKV0pO2lmKCF0KXJldHVybltdO2NvbnN0IGE9aT8ub3JwaGFuRmllbGRzLHM9W107Zm9yKGNvbnN0IGkgb2YgZSlzLnB1c2goQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlKHRoaXMueHJlZixpLHQsdGhpcy5fbG9jYWxJZEZhY3RvcnksITEsYSx0aGlzLnJlZikuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYF9wYXJzZWRBbm5vdGF0aW9uczogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKTtjb25zdCByPVtdO2xldCBuLGc7Zm9yKGNvbnN0IGUgb2YgYXdhaXQgUHJvbWlzZS5hbGwocykpZSYmKGUgaW5zdGFuY2VvZiBXaWRnZXRBbm5vdGF0aW9uPyhnfHw9W10pLnB1c2goZSk6ZSBpbnN0YW5jZW9mIFBvcHVwQW5ub3RhdGlvbj8obnx8PVtdKS5wdXNoKGUpOnIucHVzaChlKSk7ZyYmci5wdXNoKC4uLmcpO24mJnIucHVzaCguLi5uKTtyZXR1cm4gcn0pKSl9Z2V0IGpzQWN0aW9ucygpe3JldHVybiBzaGFkb3codGhpcywianNBY3Rpb25zIixjb2xsZWN0QWN0aW9ucyh0aGlzLnhyZWYsdGhpcy5wYWdlRGljdCxwQSkpfX1jb25zdCBvZz1uZXcgVWludDhBcnJheShbMzcsODAsNjgsNzAsNDVdKSxJZz1uZXcgVWludDhBcnJheShbMTE1LDExNiw5NywxMTQsMTE2LDEyMCwxMTQsMTAxLDEwMl0pLGNnPW5ldyBVaW50OEFycmF5KFsxMDEsMTEwLDEwMCwxMTEsOTgsMTA2XSk7ZnVuY3Rpb24gZmluZChlLHQsaT0xMDI0LGE9ITEpe2NvbnN0IHM9dC5sZW5ndGgscj1lLnBlZWtCeXRlcyhpKSxuPXIubGVuZ3RoLXM7aWYobjw9MClyZXR1cm4hMTtpZihhKXtjb25zdCBpPXMtMTtsZXQgYT1yLmxlbmd0aC0xO2Zvcig7YT49aTspe2xldCBuPTA7Zm9yKDtuPHMmJnJbYS1uXT09PXRbaS1uXTspbisrO2lmKG4+PXMpe2UucG9zKz1hLWk7cmV0dXJuITB9YS0tfX1lbHNle2xldCBpPTA7Zm9yKDtpPD1uOyl7bGV0IGE9MDtmb3IoO2E8cyYmcltpK2FdPT09dFthXTspYSsrO2lmKGE+PXMpe2UucG9zKz1pO3JldHVybiEwfWkrK319cmV0dXJuITF9Y2xhc3MgUERGRG9jdW1lbnR7Y29uc3RydWN0b3IoZSx0KXtpZih0Lmxlbmd0aDw9MCl0aHJvdyBuZXcgSW52YWxpZFBERkV4Y2VwdGlvbigiVGhlIFBERiBmaWxlIGlzIGVtcHR5LCBpLmUuIGl0cyBzaXplIGlzIHplcm8gYnl0ZXMuIik7dGhpcy5wZGZNYW5hZ2VyPWU7dGhpcy5zdHJlYW09dDt0aGlzLnhyZWY9bmV3IFhSZWYodCxlKTt0aGlzLl9wYWdlUHJvbWlzZXM9bmV3IE1hcDt0aGlzLl92ZXJzaW9uPW51bGw7Y29uc3QgaT17Zm9udDowfTt0aGlzLl9nbG9iYWxJZEZhY3Rvcnk9Y2xhc3N7c3RhdGljIGdldERvY0lkKCl7cmV0dXJuYGdfJHtlLmRvY0lkfWB9c3RhdGljIGNyZWF0ZUZvbnRJZCgpe3JldHVybiJmIisgKytpLmZvbnR9c3RhdGljIGNyZWF0ZU9iaklkKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgY3JlYXRlT2JqSWRgIGNhbGxlZC4iKX1zdGF0aWMgZ2V0UGFnZU9iaklkKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0UGFnZU9iaklkYCBjYWxsZWQuIil9fX1wYXJzZShlKXt0aGlzLnhyZWYucGFyc2UoZSk7dGhpcy5jYXRhbG9nPW5ldyBDYXRhbG9nKHRoaXMucGRmTWFuYWdlcix0aGlzLnhyZWYpfWdldCBsaW5lYXJpemF0aW9uKCl7bGV0IGU9bnVsbDt0cnl7ZT1MaW5lYXJpemF0aW9uLmNyZWF0ZSh0aGlzLnN0cmVhbSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7aW5mbyhlKX1yZXR1cm4gc2hhZG93KHRoaXMsImxpbmVhcml6YXRpb24iLGUpfWdldCBzdGFydFhSZWYoKXtjb25zdCBlPXRoaXMuc3RyZWFtO2xldCB0PTA7aWYodGhpcy5saW5lYXJpemF0aW9uKXtlLnJlc2V0KCk7aWYoZmluZChlLGNnKSl7ZS5za2lwKDYpO2xldCBpPWUucGVla0J5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZShpKTspe2UucG9zKys7aT1lLnBlZWtCeXRlKCl9dD1lLnBvcy1lLnN0YXJ0fX1lbHNle2NvbnN0IGk9MTAyNCxhPUlnLmxlbmd0aDtsZXQgcz0hMSxyPWUuZW5kO2Zvcig7IXMmJnI+MDspe3ItPWktYTtyPDAmJihyPTApO2UucG9zPXI7cz1maW5kKGUsSWcsaSwhMCl9aWYocyl7ZS5za2lwKDkpO2xldCBpO2Rve2k9ZS5nZXRCeXRlKCl9d2hpbGUoaXNXaGl0ZVNwYWNlKGkpKTtsZXQgYT0iIjtmb3IoO2k+PTMyJiZpPD01Nzspe2ErPVN0cmluZy5mcm9tQ2hhckNvZGUoaSk7aT1lLmdldEJ5dGUoKX10PXBhcnNlSW50KGEsMTApO2lzTmFOKHQpJiYodD0wKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJzdGFydFhSZWYiLHQpfWNoZWNrSGVhZGVyKCl7Y29uc3QgZT10aGlzLnN0cmVhbTtlLnJlc2V0KCk7aWYoIWZpbmQoZSxvZykpcmV0dXJuO2UubW92ZVN0YXJ0KCk7ZS5za2lwKG9nLmxlbmd0aCk7bGV0IHQsaT0iIjtmb3IoOyh0PWUuZ2V0Qnl0ZSgpKT4zMiYmaS5sZW5ndGg8NzspaSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtTdC50ZXN0KGkpP3RoaXMuX3ZlcnNpb249aTp3YXJuKGBJbnZhbGlkIFBERiBoZWFkZXIgdmVyc2lvbjogJHtpfWApfXBhcnNlU3RhcnRYUmVmKCl7dGhpcy54cmVmLnNldFN0YXJ0WFJlZih0aGlzLnN0YXJ0WFJlZil9Z2V0IG51bVBhZ2VzKCl7bGV0IGU9MDtlPXRoaXMuY2F0YWxvZy5oYXNBY3R1YWxOdW1QYWdlcz90aGlzLmNhdGFsb2cubnVtUGFnZXM6dGhpcy54ZmFGYWN0b3J5P3RoaXMueGZhRmFjdG9yeS5nZXROdW1QYWdlcygpOnRoaXMubGluZWFyaXphdGlvbj90aGlzLmxpbmVhcml6YXRpb24ubnVtUGFnZXM6dGhpcy5jYXRhbG9nLm51bVBhZ2VzO3JldHVybiBzaGFkb3codGhpcywibnVtUGFnZXMiLGUpfV9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzKGUsdD0wKXtyZXR1cm4hIUFycmF5LmlzQXJyYXkoZSkmJmUuZXZlcnkoKGU9PntpZighKChlPXRoaXMueHJlZi5mZXRjaElmUmVmKGUpKWluc3RhbmNlb2YgRGljdCkpcmV0dXJuITE7aWYoZS5oYXMoIktpZHMiKSl7aWYoKyt0PjEwKXt3YXJuKCJfaGFzT25seURvY3VtZW50U2lnbmF0dXJlczogbWF4aW11bSByZWN1cnNpb24gZGVwdGggcmVhY2hlZCIpO3JldHVybiExfXJldHVybiB0aGlzLl9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzKGUuZ2V0KCJLaWRzIiksdCl9Y29uc3QgaT1pc05hbWUoZS5nZXQoIkZUIiksIlNpZyIpLGE9ZS5nZXQoIlJlY3QiKSxzPUFycmF5LmlzQXJyYXkoYSkmJmEuZXZlcnkoKGU9PjA9PT1lKSk7cmV0dXJuIGkmJnN9KSl9Z2V0IF94ZmFTdHJlYW1zKCl7Y29uc3QgZT10aGlzLmNhdGFsb2cuYWNyb0Zvcm07aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmdldCgiWEZBIiksaT17InhkcDp4ZHAiOiIiLHRlbXBsYXRlOiIiLGRhdGFzZXRzOiIiLGNvbmZpZzoiIixjb25uZWN0aW9uU2V0OiIiLGxvY2FsZVNldDoiIixzdHlsZXNoZWV0OiIiLCIveGRwOnhkcCI6IiJ9O2lmKHQgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYhdC5pc0VtcHR5KXtpWyJ4ZHA6eGRwIl09dDtyZXR1cm4gaX1pZighQXJyYXkuaXNBcnJheSh0KXx8MD09PXQubGVuZ3RoKXJldHVybiBudWxsO2ZvcihsZXQgZT0wLGE9dC5sZW5ndGg7ZTxhO2UrPTIpe2xldCBzO3M9MD09PWU/InhkcDp4ZHAiOmU9PT1hLTI/Ii94ZHA6eGRwIjp0W2VdO2lmKCFpLmhhc093blByb3BlcnR5KHMpKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy54cmVmLmZldGNoSWZSZWYodFtlKzFdKTtyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmIXIuaXNFbXB0eSYmKGlbc109cil9cmV0dXJuIGl9Z2V0IHhmYURhdGFzZXRzKCl7Y29uc3QgZT10aGlzLl94ZmFTdHJlYW1zO2lmKCFlKXJldHVybiBzaGFkb3codGhpcywieGZhRGF0YXNldHMiLG51bGwpO2Zvcihjb25zdCB0IG9mWyJkYXRhc2V0cyIsInhkcDp4ZHAiXSl7Y29uc3QgaT1lW3RdO2lmKGkpdHJ5e2NvbnN0IGU9c3RyaW5nVG9VVEY4U3RyaW5nKGkuZ2V0U3RyaW5nKCkpO3JldHVybiBzaGFkb3codGhpcywieGZhRGF0YXNldHMiLG5ldyBEYXRhc2V0UmVhZGVyKHtbdF06ZX0pKX1jYXRjaHt3YXJuKCJYRkEgLSBJbnZhbGlkIHV0Zi04IHN0cmluZy4iKTticmVha319cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFEYXRhc2V0cyIsbnVsbCl9Z2V0IHhmYURhdGEoKXtjb25zdCBlPXRoaXMuX3hmYVN0cmVhbXM7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFtpLGFdb2YgT2JqZWN0LmVudHJpZXMoZSkpaWYoYSl0cnl7dFtpXT1zdHJpbmdUb1VURjhTdHJpbmcoYS5nZXRTdHJpbmcoKSl9Y2F0Y2h7d2FybigiWEZBIC0gSW52YWxpZCB1dGYtOCBzdHJpbmcuIik7cmV0dXJuIG51bGx9cmV0dXJuIHR9Z2V0IHhmYUZhY3RvcnkoKXtsZXQgZTt0aGlzLnBkZk1hbmFnZXIuZW5hYmxlWGZhJiZ0aGlzLmNhdGFsb2cubmVlZHNSZW5kZXJpbmcmJnRoaXMuZm9ybUluZm8uaGFzWGZhJiYhdGhpcy5mb3JtSW5mby5oYXNBY3JvRm9ybSYmKGU9dGhpcy54ZmFEYXRhKTtyZXR1cm4gc2hhZG93KHRoaXMsInhmYUZhY3RvcnkiLGU/bmV3IFhGQUZhY3RvcnkoZSk6bnVsbCl9Z2V0IGlzUHVyZVhmYSgpe3JldHVybiEhdGhpcy54ZmFGYWN0b3J5JiZ0aGlzLnhmYUZhY3RvcnkuaXNWYWxpZCgpfWdldCBodG1sRm9yWGZhKCl7cmV0dXJuIHRoaXMueGZhRmFjdG9yeT90aGlzLnhmYUZhY3RvcnkuZ2V0UGFnZXMoKTpudWxsfWFzeW5jIGxvYWRYZmFJbWFnZXMoKXtjb25zdCBlPWF3YWl0IHRoaXMucGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCJ4ZmFJbWFnZXMiKTtpZighZSlyZXR1cm47Y29uc3QgdD1lLmdldEtleXMoKSxpPW5ldyBPYmplY3RMb2FkZXIoZSx0LHRoaXMueHJlZik7YXdhaXQgaS5sb2FkKCk7Y29uc3QgYT1uZXcgTWFwO2Zvcihjb25zdCBpIG9mIHQpe2NvbnN0IHQ9ZS5nZXQoaSk7dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJmEuc2V0KGksdC5nZXRCeXRlcygpKX10aGlzLnhmYUZhY3Rvcnkuc2V0SW1hZ2VzKGEpfWFzeW5jIGxvYWRYZmFGb250cyhlLHQpe2NvbnN0IGk9YXdhaXQgdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIik7aWYoIWkpcmV0dXJuO2NvbnN0IGE9YXdhaXQgaS5nZXRBc3luYygiRFIiKTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3Qgcz1uZXcgT2JqZWN0TG9hZGVyKGEsWyJGb250Il0sdGhpcy54cmVmKTthd2FpdCBzLmxvYWQoKTtjb25zdCByPWEuZ2V0KCJGb250Iik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IG49T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMucGRmTWFuYWdlci5ldmFsdWF0b3JPcHRpb25zKTtuLnVzZVN5c3RlbUZvbnRzPSExO2NvbnN0IGc9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6LTEsaWRGYWN0b3J5OnRoaXMuX2dsb2JhbElkRmFjdG9yeSxmb250Q2FjaGU6dGhpcy5jYXRhbG9nLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuY2F0YWxvZy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLmNhdGFsb2cuc3RhbmRhcmRGb250RGF0YUNhY2hlLG9wdGlvbnM6bn0pLG89bmV3IE9wZXJhdG9yTGlzdCxjPVtdLEM9e2dldCBmb250KCl7cmV0dXJuIGMuYXQoLTEpfSxzZXQgZm9udChlKXtjLnB1c2goZSl9LGNsb25lKCl7cmV0dXJuIHRoaXN9fSxoPVtdO2Zvcihjb25zdFtlLGldb2Ygcil7Y29uc3Qgcz1pLmdldCgiRm9udERlc2NyaXB0b3IiKTtpZighKHMgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtsZXQgcj1zLmdldCgiRm9udEZhbWlseSIpO3I9ci5yZXBsYWNlQWxsKC9bIF0rKFxkKS9nLCIkMSIpO2NvbnN0IG49e2ZvbnRGYW1pbHk6cixmb250V2VpZ2h0OnMuZ2V0KCJGb250V2VpZ2h0IiksaXRhbGljQW5nbGU6LXMuZ2V0KCJJdGFsaWNBbmdsZSIpfTt2YWxpZGF0ZUNTU0ZvbnQobikmJmgucHVzaChnLmhhbmRsZVNldEZvbnQoYSxbTmFtZS5nZXQoZSksMV0sbnVsbCxvLHQsQyxudWxsLG4pLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBsb2FkWGZhRm9udHM6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH0pKSl9YXdhaXQgUHJvbWlzZS5hbGwoaCk7Y29uc3QgbD10aGlzLnhmYUZhY3Rvcnkuc2V0Rm9udHMoYyk7aWYoIWwpcmV0dXJuO24uaWdub3JlRXJyb3JzPSEwO2gubGVuZ3RoPTA7Yy5sZW5ndGg9MDtjb25zdCBRPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgbClnZXRYZmFGb250TmFtZShgJHtlfS1SZWd1bGFyYCl8fFEuYWRkKGUpO1Euc2l6ZSYmbC5wdXNoKCJQZGZKUy1GYWxsYmFjayIpO2Zvcihjb25zdCBlIG9mIGwpaWYoIVEuaGFzKGUpKWZvcihjb25zdCBpIG9mW3tuYW1lOiJSZWd1bGFyIixmb250V2VpZ2h0OjQwMCxpdGFsaWNBbmdsZTowfSx7bmFtZToiQm9sZCIsZm9udFdlaWdodDo3MDAsaXRhbGljQW5nbGU6MH0se25hbWU6Ikl0YWxpYyIsZm9udFdlaWdodDo0MDAsaXRhbGljQW5nbGU6MTJ9LHtuYW1lOiJCb2xkSXRhbGljIixmb250V2VpZ2h0OjcwMCxpdGFsaWNBbmdsZToxMn1dKXtjb25zdCBzPWAke2V9LSR7aS5uYW1lfWAscj1nZXRYZmFGb250RGljdChzKTtoLnB1c2goZy5oYW5kbGVTZXRGb250KGEsW05hbWUuZ2V0KHMpLDFdLG51bGwsbyx0LEMscix7Zm9udEZhbWlseTplLGZvbnRXZWlnaHQ6aS5mb250V2VpZ2h0LGl0YWxpY0FuZ2xlOmkuaXRhbGljQW5nbGV9KS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgbG9hZFhmYUZvbnRzOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSkpfWF3YWl0IFByb21pc2UuYWxsKGgpO3RoaXMueGZhRmFjdG9yeS5hcHBlbmRGb250cyhjLFEpfWFzeW5jIHNlcmlhbGl6ZVhmYURhdGEoZSl7cmV0dXJuIHRoaXMueGZhRmFjdG9yeT90aGlzLnhmYUZhY3Rvcnkuc2VyaWFsaXplRGF0YShlKTpudWxsfWdldCB2ZXJzaW9uKCl7cmV0dXJuIHRoaXMuY2F0YWxvZy52ZXJzaW9ufHx0aGlzLl92ZXJzaW9ufWdldCBmb3JtSW5mbygpe2NvbnN0IGU9e2hhc0ZpZWxkczohMSxoYXNBY3JvRm9ybTohMSxoYXNYZmE6ITEsaGFzU2lnbmF0dXJlczohMX0sdD10aGlzLmNhdGFsb2cuYWNyb0Zvcm07aWYoIXQpcmV0dXJuIHNoYWRvdyh0aGlzLCJmb3JtSW5mbyIsZSk7dHJ5e2NvbnN0IGk9dC5nZXQoIkZpZWxkcyIpLGE9QXJyYXkuaXNBcnJheShpKSYmaS5sZW5ndGg+MDtlLmhhc0ZpZWxkcz1hO2NvbnN0IHM9dC5nZXQoIlhGQSIpO2UuaGFzWGZhPUFycmF5LmlzQXJyYXkocykmJnMubGVuZ3RoPjB8fHMgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYhcy5pc0VtcHR5O2NvbnN0IHI9ISEoMSZ0LmdldCgiU2lnRmxhZ3MiKSksbj1yJiZ0aGlzLl9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzKGkpO2UuaGFzQWNyb0Zvcm09YSYmIW47ZS5oYXNTaWduYXR1cmVzPXJ9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgQ2Fubm90IGZldGNoIGZvcm0gaW5mb3JtYXRpb246ICIke2V9Ii5gKX1yZXR1cm4gc2hhZG93KHRoaXMsImZvcm1JbmZvIixlKX1nZXQgZG9jdW1lbnRJbmZvKCl7Y29uc3QgZT17UERGRm9ybWF0VmVyc2lvbjp0aGlzLnZlcnNpb24sTGFuZ3VhZ2U6dGhpcy5jYXRhbG9nLmxhbmcsRW5jcnlwdEZpbHRlck5hbWU6dGhpcy54cmVmLmVuY3J5cHQ/dGhpcy54cmVmLmVuY3J5cHQuZmlsdGVyTmFtZTpudWxsLElzTGluZWFyaXplZDohIXRoaXMubGluZWFyaXphdGlvbixJc0Fjcm9Gb3JtUHJlc2VudDp0aGlzLmZvcm1JbmZvLmhhc0Fjcm9Gb3JtLElzWEZBUHJlc2VudDp0aGlzLmZvcm1JbmZvLmhhc1hmYSxJc0NvbGxlY3Rpb25QcmVzZW50OiEhdGhpcy5jYXRhbG9nLmNvbGxlY3Rpb24sSXNTaWduYXR1cmVzUHJlc2VudDp0aGlzLmZvcm1JbmZvLmhhc1NpZ25hdHVyZXN9O2xldCB0O3RyeXt0PXRoaXMueHJlZi50cmFpbGVyLmdldCgiSW5mbyIpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oIlRoZSBkb2N1bWVudCBpbmZvcm1hdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuIil9aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIHNoYWRvdyh0aGlzLCJkb2N1bWVudEluZm8iLGUpO2Zvcihjb25zdCBpIG9mIHQuZ2V0S2V5cygpKXtjb25zdCBhPXQuZ2V0KGkpO3N3aXRjaChpKXtjYXNlIlRpdGxlIjpjYXNlIkF1dGhvciI6Y2FzZSJTdWJqZWN0IjpjYXNlIktleXdvcmRzIjpjYXNlIkNyZWF0b3IiOmNhc2UiUHJvZHVjZXIiOmNhc2UiQ3JlYXRpb25EYXRlIjpjYXNlIk1vZERhdGUiOmlmKCJzdHJpbmciPT10eXBlb2YgYSl7ZVtpXT1zdHJpbmdUb1BERlN0cmluZyhhKTtjb250aW51ZX1icmVhaztjYXNlIlRyYXBwZWQiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXtlW2ldPWE7Y29udGludWV9YnJlYWs7ZGVmYXVsdDpsZXQgdDtzd2l0Y2godHlwZW9mIGEpe2Nhc2Uic3RyaW5nIjp0PXN0cmluZ1RvUERGU3RyaW5nKGEpO2JyZWFrO2Nhc2UibnVtYmVyIjpjYXNlImJvb2xlYW4iOnQ9YTticmVhaztkZWZhdWx0OmEgaW5zdGFuY2VvZiBOYW1lJiYodD1hKX1pZih2b2lkIDA9PT10KXt3YXJuKGBCYWQgdmFsdWUsIGZvciBjdXN0b20ga2V5ICIke2l9IiwgaW4gSW5mbzogJHthfS5gKTtjb250aW51ZX1lLkN1c3RvbXx8KGUuQ3VzdG9tPU9iamVjdC5jcmVhdGUobnVsbCkpO2UuQ3VzdG9tW2ldPXQ7Y29udGludWV9d2FybihgQmFkIHZhbHVlLCBmb3Iga2V5ICIke2l9IiwgaW4gSW5mbzogJHthfS5gKX1yZXR1cm4gc2hhZG93KHRoaXMsImRvY3VtZW50SW5mbyIsZSl9Z2V0IGZpbmdlcnByaW50cygpe2NvbnN0IGU9IlwwIi5yZXBlYXQoMTYpO2Z1bmN0aW9uIHZhbGlkYXRlKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmMTY9PT10Lmxlbmd0aCYmdCE9PWV9Y29uc3QgdD10aGlzLnhyZWYudHJhaWxlci5nZXQoIklEIik7bGV0IGksYTtpZihBcnJheS5pc0FycmF5KHQpJiZ2YWxpZGF0ZSh0WzBdKSl7aT1zdHJpbmdUb0J5dGVzKHRbMF0pO3RbMV0hPT10WzBdJiZ2YWxpZGF0ZSh0WzFdKSYmKGE9c3RyaW5nVG9CeXRlcyh0WzFdKSl9ZWxzZSBpPXNnKHRoaXMuc3RyZWFtLmdldEJ5dGVSYW5nZSgwLDEwMjQpLDAsMTAyNCk7cmV0dXJuIHNoYWRvdyh0aGlzLCJmaW5nZXJwcmludHMiLFt0b0hleFV0aWwoaSksYT90b0hleFV0aWwoYSk6bnVsbF0pfWFzeW5jIF9nZXRMaW5lYXJpemF0aW9uUGFnZShlKXtjb25zdHtjYXRhbG9nOnQsbGluZWFyaXphdGlvbjppLHhyZWY6YX09dGhpcyxzPVJlZi5nZXQoaS5vYmplY3ROdW1iZXJGaXJzdCwwKTt0cnl7Y29uc3QgZT1hd2FpdCBhLmZldGNoQXN5bmMocyk7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe2xldCBpPWUuZ2V0UmF3KCJUeXBlIik7aSBpbnN0YW5jZW9mIFJlZiYmKGk9YXdhaXQgYS5mZXRjaEFzeW5jKGkpKTtpZihpc05hbWUoaSwiUGFnZSIpfHwhZS5oYXMoIlR5cGUiKSYmIWUuaGFzKCJLaWRzIikmJmUuaGFzKCJDb250ZW50cyIpKXt0LnBhZ2VLaWRzQ291bnRDYWNoZS5oYXMocyl8fHQucGFnZUtpZHNDb3VudENhY2hlLnB1dChzLDEpO3QucGFnZUluZGV4Q2FjaGUuaGFzKHMpfHx0LnBhZ2VJbmRleENhY2hlLnB1dChzLDApO3JldHVybltlLHNdfX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRoZSBMaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgZG9lc24ndCBwb2ludCB0byBhIHZhbGlkIFBhZ2UgZGljdGlvbmFyeS4iKX1jYXRjaChpKXt3YXJuKGBfZ2V0TGluZWFyaXphdGlvblBhZ2U6ICIke2kubWVzc2FnZX0iLmApO3JldHVybiB0LmdldFBhZ2VEaWN0KGUpfX1nZXRQYWdlKGUpe2NvbnN0IHQ9dGhpcy5fcGFnZVByb21pc2VzLmdldChlKTtpZih0KXJldHVybiB0O2NvbnN0e2NhdGFsb2c6aSxsaW5lYXJpemF0aW9uOmEseGZhRmFjdG9yeTpzfT10aGlzO2xldCByO3I9cz9Qcm9taXNlLnJlc29sdmUoW0RpY3QuZW1wdHksbnVsbF0pOmE/LnBhZ2VGaXJzdD09PWU/dGhpcy5fZ2V0TGluZWFyaXphdGlvblBhZ2UoZSk6aS5nZXRQYWdlRGljdChlKTtyPXIudGhlbigoKFt0LGFdKT0+bmV3IFBhZ2Uoe3BkZk1hbmFnZXI6dGhpcy5wZGZNYW5hZ2VyLHhyZWY6dGhpcy54cmVmLHBhZ2VJbmRleDplLHBhZ2VEaWN0OnQscmVmOmEsZ2xvYmFsSWRGYWN0b3J5OnRoaXMuX2dsb2JhbElkRmFjdG9yeSxmb250Q2FjaGU6aS5mb250Q2FjaGUsYnVpbHRJbkNNYXBDYWNoZTppLmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOmkuc3RhbmRhcmRGb250RGF0YUNhY2hlLGdsb2JhbEltYWdlQ2FjaGU6aS5nbG9iYWxJbWFnZUNhY2hlLHN5c3RlbUZvbnRDYWNoZTppLnN5c3RlbUZvbnRDYWNoZSxub25CbGVuZE1vZGVzU2V0Omkubm9uQmxlbmRNb2Rlc1NldCx4ZmFGYWN0b3J5OnN9KSkpO3RoaXMuX3BhZ2VQcm9taXNlcy5zZXQoZSxyKTtyZXR1cm4gcn1hc3luYyBjaGVja0ZpcnN0UGFnZShlPSExKXtpZighZSl0cnl7YXdhaXQgdGhpcy5nZXRQYWdlKDApfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBYUmVmRW50cnlFeGNlcHRpb24pe3RoaXMuX3BhZ2VQcm9taXNlcy5kZWxldGUoMCk7YXdhaXQgdGhpcy5jbGVhbnVwKCk7dGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbn19fWFzeW5jIGNoZWNrTGFzdFBhZ2UoZT0hMSl7Y29uc3R7Y2F0YWxvZzp0LHBkZk1hbmFnZXI6aX09dGhpczt0LnNldEFjdHVhbE51bVBhZ2VzKCk7bGV0IGE7dHJ5e2F3YWl0IFByb21pc2UuYWxsKFtpLmVuc3VyZURvYygieGZhRmFjdG9yeSIpLGkuZW5zdXJlRG9jKCJsaW5lYXJpemF0aW9uIiksaS5lbnN1cmVDYXRhbG9nKCJudW1QYWdlcyIpXSk7aWYodGhpcy54ZmFGYWN0b3J5KXJldHVybjthPXRoaXMubGluZWFyaXphdGlvbj90aGlzLmxpbmVhcml6YXRpb24ubnVtUGFnZXM6dC5udW1QYWdlcztpZighTnVtYmVyLmlzSW50ZWdlcihhKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlBhZ2UgY291bnQgaXMgbm90IGFuIGludGVnZXIuIik7aWYoYTw9MSlyZXR1cm47YXdhaXQgdGhpcy5nZXRQYWdlKGEtMSl9Y2F0Y2gocyl7dGhpcy5fcGFnZVByb21pc2VzLmRlbGV0ZShhLTEpO2F3YWl0IHRoaXMuY2xlYW51cCgpO2lmKHMgaW5zdGFuY2VvZiBYUmVmRW50cnlFeGNlcHRpb24mJiFlKXRocm93IG5ldyBYUmVmUGFyc2VFeGNlcHRpb247d2FybihgY2hlY2tMYXN0UGFnZSAtIGludmFsaWQgL1BhZ2VzIHRyZWUgL0NvdW50OiAke2F9LmApO2xldCByO3RyeXtyPWF3YWl0IHQuZ2V0QWxsUGFnZURpY3RzKGUpfWNhdGNoKGkpe2lmKGkgaW5zdGFuY2VvZiBYUmVmRW50cnlFeGNlcHRpb24mJiFlKXRocm93IG5ldyBYUmVmUGFyc2VFeGNlcHRpb247dC5zZXRBY3R1YWxOdW1QYWdlcygxKTtyZXR1cm59Zm9yKGNvbnN0W2UsW2Esc11db2Ygcil7bGV0IHI7aWYoYSBpbnN0YW5jZW9mIEVycm9yKXtyPVByb21pc2UucmVqZWN0KGEpO3IuY2F0Y2goKCgpPT57fSkpfWVsc2Ugcj1Qcm9taXNlLnJlc29sdmUobmV3IFBhZ2Uoe3BkZk1hbmFnZXI6aSx4cmVmOnRoaXMueHJlZixwYWdlSW5kZXg6ZSxwYWdlRGljdDphLHJlZjpzLGdsb2JhbElkRmFjdG9yeTp0aGlzLl9nbG9iYWxJZEZhY3RvcnksZm9udENhY2hlOnQuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dC5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0LnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnQuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dC5zeXN0ZW1Gb250Q2FjaGUsbm9uQmxlbmRNb2Rlc1NldDp0Lm5vbkJsZW5kTW9kZXNTZXQseGZhRmFjdG9yeTpudWxsfSkpO3RoaXMuX3BhZ2VQcm9taXNlcy5zZXQoZSxyKX10LnNldEFjdHVhbE51bVBhZ2VzKHIuc2l6ZSl9fWZvbnRGYWxsYmFjayhlLHQpe3JldHVybiB0aGlzLmNhdGFsb2cuZm9udEZhbGxiYWNrKGUsdCl9YXN5bmMgY2xlYW51cChlPSExKXtyZXR1cm4gdGhpcy5jYXRhbG9nP3RoaXMuY2F0YWxvZy5jbGVhbnVwKGUpOmNsZWFyR2xvYmFsQ2FjaGVzKCl9YXN5bmMjeihlLHQsaSxhLHMscixuKXtjb25zdHt4cmVmOmd9PXRoaXM7aWYoIShpIGluc3RhbmNlb2YgUmVmKXx8ci5oYXMoaSkpcmV0dXJuO3IucHV0KGkpO2NvbnN0IG89YXdhaXQgZy5mZXRjaEFzeW5jKGkpO2lmKCEobyBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtpZihvLmhhcygiVCIpKXtjb25zdCB0PXN0cmluZ1RvUERGU3RyaW5nKGF3YWl0IG8uZ2V0QXN5bmMoIlQiKSk7ZT0iIj09PWU/dDpgJHtlfS4ke3R9YH1lbHNle2xldCBpPW87Zm9yKDs7KXtpPWkuZ2V0UmF3KCJQYXJlbnQiKXx8dDtpZihpIGluc3RhbmNlb2YgUmVmKXtpZihyLmhhcyhpKSlicmVhaztpPWF3YWl0IGcuZmV0Y2hBc3luYyhpKX1pZighKGkgaW5zdGFuY2VvZiBEaWN0KSlicmVhaztpZihpLmhhcygiVCIpKXtjb25zdCB0PXN0cmluZ1RvUERGU3RyaW5nKGF3YWl0IGkuZ2V0QXN5bmMoIlQiKSk7ZT0iIj09PWU/dDpgJHtlfS4ke3R9YDticmVha319fXQmJiFvLmhhcygiUGFyZW50IikmJmlzTmFtZShvLmdldCgiU3VidHlwZSIpLCJXaWRnZXQiKSYmbi5wdXQoaSx0KTthLmhhcyhlKXx8YS5zZXQoZSxbXSk7YS5nZXQoZSkucHVzaChBbm5vdGF0aW9uRmFjdG9yeS5jcmVhdGUoZyxpLHMsbnVsbCwhMCxuLG51bGwpLnRoZW4oKGU9PmU/LmdldEZpZWxkT2JqZWN0KCkpKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgI2NvbGxlY3RGaWVsZE9iamVjdHM6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH0pKSk7aWYoIW8uaGFzKCJLaWRzIikpcmV0dXJuO2NvbnN0IGM9YXdhaXQgby5nZXRBc3luYygiS2lkcyIpO2lmKEFycmF5LmlzQXJyYXkoYykpZm9yKGNvbnN0IHQgb2YgYylhd2FpdCB0aGlzLiN6KGUsaSx0LGEscyxyLG4pfWdldCBmaWVsZE9iamVjdHMoKXtyZXR1cm4gc2hhZG93KHRoaXMsImZpZWxkT2JqZWN0cyIsdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiZm9ybUluZm8iKS50aGVuKChhc3luYyBlPT57aWYoIWUuaGFzRmllbGRzKXJldHVybiBudWxsO2NvbnN0W3QsaV09YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoImFubm90YXRpb25HbG9iYWxzIiksdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIildKTtpZighdClyZXR1cm4gbnVsbDtjb25zdCBhPW5ldyBSZWZTZXQscz1PYmplY3QuY3JlYXRlKG51bGwpLHI9bmV3IE1hcCxuPW5ldyBSZWZTZXRDYWNoZTtmb3IoY29uc3QgZSBvZiBhd2FpdCBpLmdldEFzeW5jKCJGaWVsZHMiKSlhd2FpdCB0aGlzLiN6KCIiLG51bGwsZSxyLHQsYSxuKTtjb25zdCBnPVtdO2Zvcihjb25zdFtlLHRdb2YgcilnLnB1c2goUHJvbWlzZS5hbGwodCkudGhlbigodD0+eyh0PXQuZmlsdGVyKChlPT4hIWUpKSkubGVuZ3RoPjAmJihzW2VdPXQpfSkpKTthd2FpdCBQcm9taXNlLmFsbChnKTtyZXR1cm57YWxsRmllbGRzOnMsb3JwaGFuRmllbGRzOm59fSkpKX1nZXQgaGFzSlNBY3Rpb25zKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJoYXNKU0FjdGlvbnMiLHRoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoIl9wYXJzZUhhc0pTQWN0aW9ucyIpKX1hc3luYyBfcGFyc2VIYXNKU0FjdGlvbnMoKXtjb25zdFtlLHRdPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygianNBY3Rpb25zIiksdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiZmllbGRPYmplY3RzIildKTtyZXR1cm4hIWV8fCEhdCYmT2JqZWN0LnZhbHVlcyh0LmFsbEZpZWxkcykuc29tZSgoZT0+ZS5zb21lKChlPT5udWxsIT09ZS5hY3Rpb25zKSkpKX1nZXQgY2FsY3VsYXRpb25PcmRlcklkcygpe2NvbnN0IGU9dGhpcy5jYXRhbG9nLmFjcm9Gb3JtPy5nZXQoIkNPIik7aWYoIUFycmF5LmlzQXJyYXkoZSl8fDA9PT1lLmxlbmd0aClyZXR1cm4gc2hhZG93KHRoaXMsImNhbGN1bGF0aW9uT3JkZXJJZHMiLG51bGwpO2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgZSlpIGluc3RhbmNlb2YgUmVmJiZ0LnB1c2goaS50b1N0cmluZygpKTtyZXR1cm4gc2hhZG93KHRoaXMsImNhbGN1bGF0aW9uT3JkZXJJZHMiLHQubGVuZ3RoP3Q6bnVsbCl9Z2V0IGFubm90YXRpb25HbG9iYWxzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJhbm5vdGF0aW9uR2xvYmFscyIsQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlR2xvYmFscyh0aGlzLnBkZk1hbmFnZXIpKX19Y2xhc3MgQmFzZVBkZk1hbmFnZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fZG9jQmFzZVVybD1mdW5jdGlvbiBwYXJzZURvY0Jhc2VVcmwoZSl7aWYoZSl7Y29uc3QgdD1jcmVhdGVWYWxpZEFic29sdXRlVXJsKGUpO2lmKHQpcmV0dXJuIHQuaHJlZjt3YXJuKGBJbnZhbGlkIGFic29sdXRlIGRvY0Jhc2VVcmw6ICIke2V9Ii5gKX1yZXR1cm4gbnVsbH0oZS5kb2NCYXNlVXJsKTt0aGlzLl9kb2NJZD1lLmRvY0lkO3RoaXMuX3Bhc3N3b3JkPWUucGFzc3dvcmQ7dGhpcy5lbmFibGVYZmE9ZS5lbmFibGVYZmE7ZS5ldmFsdWF0b3JPcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkJiY9RmVhdHVyZVRlc3QuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ7ZS5ldmFsdWF0b3JPcHRpb25zLmlzSW1hZ2VEZWNvZGVyU3VwcG9ydGVkJiY9RmVhdHVyZVRlc3QuaXNJbWFnZURlY29kZXJTdXBwb3J0ZWQ7dGhpcy5ldmFsdWF0b3JPcHRpb25zPU9iamVjdC5mcmVlemUoZS5ldmFsdWF0b3JPcHRpb25zKX1nZXQgZG9jSWQoKXtyZXR1cm4gdGhpcy5fZG9jSWR9Z2V0IHBhc3N3b3JkKCl7cmV0dXJuIHRoaXMuX3Bhc3N3b3JkfWdldCBkb2NCYXNlVXJsKCl7cmV0dXJuIHRoaXMuX2RvY0Jhc2VVcmx9Z2V0IGNhdGFsb2coKXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5jYXRhbG9nfWVuc3VyZURvYyhlLHQpe3JldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LGUsdCl9ZW5zdXJlWFJlZihlLHQpe3JldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LnhyZWYsZSx0KX1lbnN1cmVDYXRhbG9nKGUsdCl7cmV0dXJuIHRoaXMuZW5zdXJlKHRoaXMucGRmRG9jdW1lbnQuY2F0YWxvZyxlLHQpfWdldFBhZ2UoZSl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShlKX1mb250RmFsbGJhY2soZSx0KXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5mb250RmFsbGJhY2soZSx0KX1sb2FkWGZhRm9udHMoZSx0KXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5sb2FkWGZhRm9udHMoZSx0KX1sb2FkWGZhSW1hZ2VzKCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQubG9hZFhmYUltYWdlcygpfXNlcmlhbGl6ZVhmYURhdGEoZSl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuc2VyaWFsaXplWGZhRGF0YShlKX1jbGVhbnVwKGU9ITEpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LmNsZWFudXAoZSl9YXN5bmMgZW5zdXJlKGUsdCxpKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBlbnN1cmVgIGNhbGxlZCIpfXJlcXVlc3RSYW5nZShlLHQpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHJlcXVlc3RSYW5nZWAgY2FsbGVkIil9cmVxdWVzdExvYWRlZFN0cmVhbShlPSExKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGByZXF1ZXN0TG9hZGVkU3RyZWFtYCBjYWxsZWQiKX1zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHNlbmRQcm9ncmVzc2l2ZURhdGFgIGNhbGxlZCIpfXVwZGF0ZVBhc3N3b3JkKGUpe3RoaXMuX3Bhc3N3b3JkPWV9dGVybWluYXRlKGUpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHRlcm1pbmF0ZWAgY2FsbGVkIil9fWNsYXNzIExvY2FsUGRmTWFuYWdlciBleHRlbmRzIEJhc2VQZGZNYW5hZ2Vye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0IHQ9bmV3IFN0cmVhbShlLnNvdXJjZSk7dGhpcy5wZGZEb2N1bWVudD1uZXcgUERGRG9jdW1lbnQodGhpcyx0KTt0aGlzLl9sb2FkZWRTdHJlYW1Qcm9taXNlPVByb21pc2UucmVzb2x2ZSh0KX1hc3luYyBlbnN1cmUoZSx0LGkpe2NvbnN0IGE9ZVt0XTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYT9hLmFwcGx5KGUsaSk6YX1yZXF1ZXN0UmFuZ2UoZSx0KXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9cmVxdWVzdExvYWRlZFN0cmVhbShlPSExKXtyZXR1cm4gdGhpcy5fbG9hZGVkU3RyZWFtUHJvbWlzZX10ZXJtaW5hdGUoZSl7fX1jbGFzcyBOZXR3b3JrUGRmTWFuYWdlciBleHRlbmRzIEJhc2VQZGZNYW5hZ2Vye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuc3RyZWFtTWFuYWdlcj1uZXcgQ2h1bmtlZFN0cmVhbU1hbmFnZXIoZS5zb3VyY2Use21zZ0hhbmRsZXI6ZS5oYW5kbGVyLGxlbmd0aDplLmxlbmd0aCxkaXNhYmxlQXV0b0ZldGNoOmUuZGlzYWJsZUF1dG9GZXRjaCxyYW5nZUNodW5rU2l6ZTplLnJhbmdlQ2h1bmtTaXplfSk7dGhpcy5wZGZEb2N1bWVudD1uZXcgUERGRG9jdW1lbnQodGhpcyx0aGlzLnN0cmVhbU1hbmFnZXIuZ2V0U3RyZWFtKCkpfWFzeW5jIGVuc3VyZShlLHQsaSl7dHJ5e2NvbnN0IGE9ZVt0XTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYT9hLmFwcGx5KGUsaSk6YX1jYXRjaChhKXtpZighKGEgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikpdGhyb3cgYTthd2FpdCB0aGlzLnJlcXVlc3RSYW5nZShhLmJlZ2luLGEuZW5kKTtyZXR1cm4gdGhpcy5lbnN1cmUoZSx0LGkpfX1yZXF1ZXN0UmFuZ2UoZSx0KXtyZXR1cm4gdGhpcy5zdHJlYW1NYW5hZ2VyLnJlcXVlc3RSYW5nZShlLHQpfXJlcXVlc3RMb2FkZWRTdHJlYW0oZT0hMSl7cmV0dXJuIHRoaXMuc3RyZWFtTWFuYWdlci5yZXF1ZXN0QWxsQ2h1bmtzKGUpfXNlbmRQcm9ncmVzc2l2ZURhdGEoZSl7dGhpcy5zdHJlYW1NYW5hZ2VyLm9uUmVjZWl2ZURhdGEoe2NodW5rOmV9KX10ZXJtaW5hdGUoZSl7dGhpcy5zdHJlYW1NYW5hZ2VyLmFib3J0KGUpfX1hc3luYyBmdW5jdGlvbiB3cml0ZU9iamVjdChlLHQsaSx7ZW5jcnlwdDphPW51bGx9KXtjb25zdCBzPWE/LmNyZWF0ZUNpcGhlclRyYW5zZm9ybShlLm51bSxlLmdlbik7aS5wdXNoKGAke2UubnVtfSAke2UuZ2VufSBvYmpcbmApO3QgaW5zdGFuY2VvZiBEaWN0P2F3YWl0IHdyaXRlRGljdCh0LGkscyk6dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/YXdhaXQgd3JpdGVTdHJlYW0odCxpLHMpOihBcnJheS5pc0FycmF5KHQpfHxBcnJheUJ1ZmZlci5pc1ZpZXcodCkpJiZhd2FpdCB3cml0ZUFycmF5KHQsaSxzKTtpLnB1c2goIlxuZW5kb2JqXG4iKX1hc3luYyBmdW5jdGlvbiB3cml0ZURpY3QoZSx0LGkpe3QucHVzaCgiPDwiKTtmb3IoY29uc3QgYSBvZiBlLmdldEtleXMoKSl7dC5wdXNoKGAgLyR7ZXNjYXBlUERGTmFtZShhKX0gYCk7YXdhaXQgd3JpdGVWYWx1ZShlLmdldFJhdyhhKSx0LGkpfXQucHVzaCgiPj4iKX1hc3luYyBmdW5jdGlvbiB3cml0ZVN0cmVhbShlLHQsaSl7bGV0IGE9ZS5nZXRCeXRlcygpO2NvbnN0e2RpY3Q6c309ZSxbcixuXT1hd2FpdCBQcm9taXNlLmFsbChbcy5nZXRBc3luYygiRmlsdGVyIikscy5nZXRBc3luYygiRGVjb2RlUGFybXMiKV0pLGc9aXNOYW1lKEFycmF5LmlzQXJyYXkocik/YXdhaXQgcy54cmVmLmZldGNoSWZSZWZBc3luYyhyWzBdKTpyLCJGbGF0ZURlY29kZSIpO2lmKGEubGVuZ3RoPj0yNTZ8fGcpdHJ5e2NvbnN0IGU9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJkZWZsYXRlIiksdD1lLndyaXRhYmxlLmdldFdyaXRlcigpO2F3YWl0IHQucmVhZHk7dC53cml0ZShhKS50aGVuKChhc3luYygpPT57YXdhaXQgdC5yZWFkeTthd2FpdCB0LmNsb3NlKCl9KSkuY2F0Y2goKCgpPT57fSkpO2NvbnN0IGk9YXdhaXQgbmV3IFJlc3BvbnNlKGUucmVhZGFibGUpLmFycmF5QnVmZmVyKCk7YT1uZXcgVWludDhBcnJheShpKTtsZXQgbyxjO2lmKHIpe2lmKCFnKXtvPUFycmF5LmlzQXJyYXkocik/W05hbWUuZ2V0KCJGbGF0ZURlY29kZSIpLC4uLnJdOltOYW1lLmdldCgiRmxhdGVEZWNvZGUiKSxyXTtuJiYoYz1BcnJheS5pc0FycmF5KG4pP1tudWxsLC4uLm5dOltudWxsLG5dKX19ZWxzZSBvPU5hbWUuZ2V0KCJGbGF0ZURlY29kZSIpO28mJnMuc2V0KCJGaWx0ZXIiLG8pO2MmJnMuc2V0KCJEZWNvZGVQYXJtcyIsYyl9Y2F0Y2goZSl7aW5mbyhgd3JpdGVTdHJlYW0gLSBjYW5ub3QgY29tcHJlc3MgZGF0YTogIiR7ZX0iLmApfWxldCBvPWJ5dGVzVG9TdHJpbmcoYSk7aSYmKG89aS5lbmNyeXB0U3RyaW5nKG8pKTtzLnNldCgiTGVuZ3RoIixvLmxlbmd0aCk7YXdhaXQgd3JpdGVEaWN0KHMsdCxpKTt0LnB1c2goIiBzdHJlYW1cbiIsbywiXG5lbmRzdHJlYW0iKX1hc3luYyBmdW5jdGlvbiB3cml0ZUFycmF5KGUsdCxpKXt0LnB1c2goIlsiKTtsZXQgYT0hMDtmb3IoY29uc3QgcyBvZiBlKXthP2E9ITE6dC5wdXNoKCIgIik7YXdhaXQgd3JpdGVWYWx1ZShzLHQsaSl9dC5wdXNoKCJdIil9YXN5bmMgZnVuY3Rpb24gd3JpdGVWYWx1ZShlLHQsaSl7aWYoZSBpbnN0YW5jZW9mIE5hbWUpdC5wdXNoKGAvJHtlc2NhcGVQREZOYW1lKGUubmFtZSl9YCk7ZWxzZSBpZihlIGluc3RhbmNlb2YgUmVmKXQucHVzaChgJHtlLm51bX0gJHtlLmdlbn0gUmApO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKXx8QXJyYXlCdWZmZXIuaXNWaWV3KGUpKWF3YWl0IHdyaXRlQXJyYXkoZSx0LGkpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKXtpJiYoZT1pLmVuY3J5cHRTdHJpbmcoZSkpO3QucHVzaChgKCR7ZXNjYXBlU3RyaW5nKGUpfSlgKX1lbHNlIm51bWJlciI9PXR5cGVvZiBlP3QucHVzaChudW1iZXJUb1N0cmluZyhlKSk6ImJvb2xlYW4iPT10eXBlb2YgZT90LnB1c2goZS50b1N0cmluZygpKTplIGluc3RhbmNlb2YgRGljdD9hd2FpdCB3cml0ZURpY3QoZSx0LGkpOmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2F3YWl0IHdyaXRlU3RyZWFtKGUsdCxpKTpudWxsPT09ZT90LnB1c2goIm51bGwiKTp3YXJuKGBVbmhhbmRsZWQgdmFsdWUgaW4gd3JpdGVyOiAke3R5cGVvZiBlfSwgcGxlYXNlIGZpbGUgYSBidWcuYCl9ZnVuY3Rpb24gd3JpdGVJbnQoZSx0LGksYSl7Zm9yKGxldCBzPXQraS0xO3M+aS0xO3MtLSl7YVtzXT0yNTUmZTtlPj49OH1yZXR1cm4gaSt0fWZ1bmN0aW9uIHdyaXRlU3RyaW5nKGUsdCxpKXtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czthKyspaVt0K2FdPTI1NSZlLmNoYXJDb2RlQXQoYSl9ZnVuY3Rpb24gdXBkYXRlWEZBKHt4ZmFEYXRhOmUseGZhRGF0YXNldHNSZWY6dCxjaGFuZ2VzOmkseHJlZjphfSl7aWYobnVsbD09PWUpe2U9ZnVuY3Rpb24gd3JpdGVYRkFEYXRhRm9yQWNyb2Zvcm0oZSx0KXtjb25zdCBpPW5ldyBTaW1wbGVYTUxQYXJzZXIoe2hhc0F0dHJpYnV0ZXM6ITB9KS5wYXJzZUZyb21TdHJpbmcoZSk7Zm9yKGNvbnN0e3hmYTplfW9mIHQpe2lmKCFlKWNvbnRpbnVlO2NvbnN0e3BhdGg6dCx2YWx1ZTphfT1lO2lmKCF0KWNvbnRpbnVlO2NvbnN0IHM9cGFyc2VYRkFQYXRoKHQpO2xldCByPWkuZG9jdW1lbnRFbGVtZW50LnNlYXJjaE5vZGUocywwKTshciYmcy5sZW5ndGg+MSYmKHI9aS5kb2N1bWVudEVsZW1lbnQuc2VhcmNoTm9kZShbcy5hdCgtMSldLDApKTtyP3IuY2hpbGROb2Rlcz1BcnJheS5pc0FycmF5KGEpP2EubWFwKChlPT5uZXcgU2ltcGxlRE9NTm9kZSgidmFsdWUiLGUpKSk6W25ldyBTaW1wbGVET01Ob2RlKCIjdGV4dCIsYSldOndhcm4oYE5vZGUgbm90IGZvdW5kIGZvciBwYXRoOiAke3R9YCl9Y29uc3QgYT1bXTtpLmRvY3VtZW50RWxlbWVudC5kdW1wKGEpO3JldHVybiBhLmpvaW4oIiIpfShhLmZldGNoSWZSZWYodCkuZ2V0U3RyaW5nKCksaSl9Y29uc3Qgcz1uZXcgU3RyaW5nU3RyZWFtKGUpO3MuZGljdD1uZXcgRGljdChhKTtzLmRpY3Quc2V0KCJUeXBlIixOYW1lLmdldCgiRW1iZWRkZWRGaWxlIikpO2kucHV0KHQse2RhdGE6c30pfWZ1bmN0aW9uIGdldEluZGV4ZXMoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3R7cmVmOml9b2YgZSlpLm51bT09PXQuYXQoLTIpK3QuYXQoLTEpP3RbdC5sZW5ndGgtMV0rPTE6dC5wdXNoKGkubnVtLDEpO3JldHVybiB0fWZ1bmN0aW9uIGNvbXB1dGVJRHMoZSx0LGkpe2lmKEFycmF5LmlzQXJyYXkodC5maWxlSWRzKSYmdC5maWxlSWRzLmxlbmd0aD4wKXtjb25zdCBhPWZ1bmN0aW9uIGNvbXB1dGVNRDUoZSx0KXtjb25zdCBpPU1hdGguZmxvb3IoRGF0ZS5ub3coKS8xZTMpLGE9dC5maWxlbmFtZXx8IiIscz1baS50b1N0cmluZygpLGEsZS50b1N0cmluZygpXTtsZXQgcj1zLnJlZHVjZSgoKGUsdCk9PmUrdC5sZW5ndGgpLDApO2Zvcihjb25zdCBlIG9mIE9iamVjdC52YWx1ZXModC5pbmZvKSl7cy5wdXNoKGUpO3IrPWUubGVuZ3RofWNvbnN0IG49bmV3IFVpbnQ4QXJyYXkocik7bGV0IGc9MDtmb3IoY29uc3QgZSBvZiBzKXt3cml0ZVN0cmluZyhlLGcsbik7Zys9ZS5sZW5ndGh9cmV0dXJuIGJ5dGVzVG9TdHJpbmcoc2cobikpfShlLHQpO2kuc2V0KCJJRCIsW3QuZmlsZUlkc1swXSxhXSl9fWFzeW5jIGZ1bmN0aW9uIGluY3JlbWVudGFsVXBkYXRlKHtvcmlnaW5hbERhdGE6ZSx4cmVmSW5mbzp0LGNoYW5nZXM6aSx4cmVmOmE9bnVsbCxoYXNYZmE6cz0hMSx4ZmFEYXRhc2V0c1JlZjpyPW51bGwsaGFzWGZhRGF0YXNldHNFbnRyeTpuPSExLG5lZWRBcHBlYXJhbmNlczpnLGFjcm9Gb3JtUmVmOm89bnVsbCxhY3JvRm9ybTpjPW51bGwseGZhRGF0YTpDPW51bGwsdXNlWHJlZlN0cmVhbTpoPSExfSl7YXdhaXQgYXN5bmMgZnVuY3Rpb24gdXBkYXRlQWNyb2Zvcm0oe3hyZWY6ZSxhY3JvRm9ybTp0LGFjcm9Gb3JtUmVmOmksaGFzWGZhOmEsaGFzWGZhRGF0YXNldHNFbnRyeTpzLHhmYURhdGFzZXRzUmVmOnIsbmVlZEFwcGVhcmFuY2VzOm4sY2hhbmdlczpnfSl7IWF8fHN8fHJ8fHdhcm4oIlhGQSAtIENhbm5vdCBzYXZlIGl0Iik7aWYoIW4mJighYXx8IXJ8fHMpKXJldHVybjtjb25zdCBvPXQuY2xvbmUoKTtpZihhJiYhcyl7Y29uc3QgZT10LmdldCgiWEZBIikuc2xpY2UoKTtlLnNwbGljZSgyLDAsImRhdGFzZXRzIik7ZS5zcGxpY2UoMywwLHIpO28uc2V0KCJYRkEiLGUpfW4mJm8uc2V0KCJOZWVkQXBwZWFyYW5jZXMiLCEwKTtnLnB1dChpLHtkYXRhOm99KX0oe3hyZWY6YSxhY3JvRm9ybTpjLGFjcm9Gb3JtUmVmOm8saGFzWGZhOnMsaGFzWGZhRGF0YXNldHNFbnRyeTpuLHhmYURhdGFzZXRzUmVmOnIsbmVlZEFwcGVhcmFuY2VzOmcsY2hhbmdlczppfSk7cyYmdXBkYXRlWEZBKHt4ZmFEYXRhOkMseGZhRGF0YXNldHNSZWY6cixjaGFuZ2VzOmkseHJlZjphfSk7Y29uc3QgbD1mdW5jdGlvbiBnZXRUcmFpbGVyRGljdChlLHQsaSl7Y29uc3QgYT1uZXcgRGljdChudWxsKTthLnNldCgiUHJldiIsZS5zdGFydFhSZWYpO2NvbnN0IHM9ZS5uZXdSZWY7aWYoaSl7dC5wdXQocyx7ZGF0YToiIn0pO2Euc2V0KCJTaXplIixzLm51bSsxKTthLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhSZWYiKSl9ZWxzZSBhLnNldCgiU2l6ZSIscy5udW0pO251bGwhPT1lLnJvb3RSZWYmJmEuc2V0KCJSb290IixlLnJvb3RSZWYpO251bGwhPT1lLmluZm9SZWYmJmEuc2V0KCJJbmZvIixlLmluZm9SZWYpO251bGwhPT1lLmVuY3J5cHRSZWYmJmEuc2V0KCJFbmNyeXB0IixlLmVuY3J5cHRSZWYpO3JldHVybiBhfSh0LGksaCksUT1bXSxFPWF3YWl0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlQ2hhbmdlcyhlLHQsaT1bXSl7Y29uc3QgYT1bXTtmb3IoY29uc3Rbcyx7ZGF0YTpyfV1vZiBlLml0ZW1zKCkpaWYobnVsbCE9PXImJiJzdHJpbmciIT10eXBlb2Ygcil7YXdhaXQgd3JpdGVPYmplY3QocyxyLGksdCk7YS5wdXNoKHtyZWY6cyxkYXRhOmkuam9pbigiIil9KTtpLmxlbmd0aD0wfWVsc2UgYS5wdXNoKHtyZWY6cyxkYXRhOnJ9KTtyZXR1cm4gYS5zb3J0KCgoZSx0KT0+ZS5yZWYubnVtLXQucmVmLm51bSkpfShpLGEsUSk7bGV0IHU9ZS5sZW5ndGg7Y29uc3QgZD1lLmF0KC0xKTtpZigxMCE9PWQmJjEzIT09ZCl7US5wdXNoKCJcbiIpO3UrPTF9Zm9yKGNvbnN0e2RhdGE6ZX1vZiBFKW51bGwhPT1lJiZRLnB1c2goZSk7YXdhaXQoaD9hc3luYyBmdW5jdGlvbiBnZXRYUmVmU3RyZWFtVGFibGUoZSx0LGksYSxzKXtjb25zdCByPVtdO2xldCBuPTAsZz0wO2Zvcihjb25zdHtyZWY6ZSxkYXRhOmF9b2YgaSl7bGV0IGk7bj1NYXRoLm1heChuLHQpO2lmKG51bGwhPT1hKXtpPU1hdGgubWluKGUuZ2VuLDY1NTM1KTtyLnB1c2goWzEsdCxpXSk7dCs9YS5sZW5ndGh9ZWxzZXtpPU1hdGgubWluKGUuZ2VuKzEsNjU1MzUpO3IucHVzaChbMCwwLGldKX1nPU1hdGgubWF4KGcsaSl9YS5zZXQoIkluZGV4IixnZXRJbmRleGVzKGkpKTtjb25zdCBvPVsxLGdldFNpemVJbkJ5dGVzKG4pLGdldFNpemVJbkJ5dGVzKGcpXTthLnNldCgiVyIsbyk7Y29tcHV0ZUlEcyh0LGUsYSk7Y29uc3QgYz1vLnJlZHVjZSgoKGUsdCk9PmUrdCksMCksQz1uZXcgVWludDhBcnJheShjKnIubGVuZ3RoKSxoPW5ldyBTdHJlYW0oQyk7aC5kaWN0PWE7bGV0IGw9MDtmb3IoY29uc3RbZSx0LGldb2Ygcil7bD13cml0ZUludChlLG9bMF0sbCxDKTtsPXdyaXRlSW50KHQsb1sxXSxsLEMpO2w9d3JpdGVJbnQoaSxvWzJdLGwsQyl9YXdhaXQgd3JpdGVPYmplY3QoZS5uZXdSZWYsaCxzLHt9KTtzLnB1c2goInN0YXJ0eHJlZlxuIix0LnRvU3RyaW5nKCksIlxuJSVFT0ZcbiIpfSh0LHUsRSxsLFEpOmFzeW5jIGZ1bmN0aW9uIGdldFhSZWZUYWJsZShlLHQsaSxhLHMpe3MucHVzaCgieHJlZlxuIik7Y29uc3Qgcj1nZXRJbmRleGVzKGkpO2xldCBuPTA7Zm9yKGNvbnN0e3JlZjplLGRhdGE6YX1vZiBpKXtpZihlLm51bT09PXJbbl0pe3MucHVzaChgJHtyW25dfSAke3JbbisxXX1cbmApO24rPTJ9aWYobnVsbCE9PWEpe3MucHVzaChgJHt0LnRvU3RyaW5nKCkucGFkU3RhcnQoMTAsIjAiKX0gJHtNYXRoLm1pbihlLmdlbiw2NTUzNSkudG9TdHJpbmcoKS5wYWRTdGFydCg1LCIwIil9IG5cclxuYCk7dCs9YS5sZW5ndGh9ZWxzZSBzLnB1c2goYDAwMDAwMDAwMDAgJHtNYXRoLm1pbihlLmdlbisxLDY1NTM1KS50b1N0cmluZygpLnBhZFN0YXJ0KDUsIjAiKX0gZlxyXG5gKX1jb21wdXRlSURzKHQsZSxhKTtzLnB1c2goInRyYWlsZXJcbiIpO2F3YWl0IHdyaXRlRGljdChhLHMpO3MucHVzaCgiXG5zdGFydHhyZWZcbiIsdC50b1N0cmluZygpLCJcbiUlRU9GXG4iKX0odCx1LEUsbCxRKSk7Y29uc3QgZj1RLnJlZHVjZSgoKGUsdCk9PmUrdC5sZW5ndGgpLGUubGVuZ3RoKSxwPW5ldyBVaW50OEFycmF5KGYpO3Auc2V0KGUpO2xldCBtPWUubGVuZ3RoO2Zvcihjb25zdCBlIG9mIFEpe3dyaXRlU3RyaW5nKGUsbSxwKTttKz1lLmxlbmd0aH1yZXR1cm4gcH1jb25zdCBDZz0xLGhnPTIsbGc9MSxCZz0yLFFnPTMsRWc9NCx1Zz01LGRnPTYsZmc9NyxwZz04O2Z1bmN0aW9uIHdyYXBSZWFzb24oZSl7ZSBpbnN0YW5jZW9mIEVycm9yfHwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfHx1bnJlYWNoYWJsZSgnd3JhcFJlYXNvbjogRXhwZWN0ZWQgInJlYXNvbiIgdG8gYmUgYSAocG9zc2libHkgY2xvbmVkKSBFcnJvci4nKTtzd2l0Y2goZS5uYW1lKXtjYXNlIkFib3J0RXhjZXB0aW9uIjpyZXR1cm4gbmV3IEFib3J0RXhjZXB0aW9uKGUubWVzc2FnZSk7Y2FzZSJNaXNzaW5nUERGRXhjZXB0aW9uIjpyZXR1cm4gbmV3IE1pc3NpbmdQREZFeGNlcHRpb24oZS5tZXNzYWdlKTtjYXNlIlBhc3N3b3JkRXhjZXB0aW9uIjpyZXR1cm4gbmV3IFBhc3N3b3JkRXhjZXB0aW9uKGUubWVzc2FnZSxlLmNvZGUpO2Nhc2UiVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uIjpyZXR1cm4gbmV3IFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbihlLm1lc3NhZ2UsZS5zdGF0dXMpO2Nhc2UiVW5rbm93bkVycm9yRXhjZXB0aW9uIjpyZXR1cm4gbmV3IFVua25vd25FcnJvckV4Y2VwdGlvbihlLm1lc3NhZ2UsZS5kZXRhaWxzKTtkZWZhdWx0OnJldHVybiBuZXcgVW5rbm93bkVycm9yRXhjZXB0aW9uKGUubWVzc2FnZSxlLnRvU3RyaW5nKCkpfX1jbGFzcyBNZXNzYWdlSGFuZGxlcnsjXz1uZXcgQWJvcnRDb250cm9sbGVyO2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLnNvdXJjZU5hbWU9ZTt0aGlzLnRhcmdldE5hbWU9dDt0aGlzLmNvbU9iaj1pO3RoaXMuY2FsbGJhY2tJZD0xO3RoaXMuc3RyZWFtSWQ9MTt0aGlzLnN0cmVhbVNpbmtzPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5zdHJlYW1Db250cm9sbGVycz1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXM9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLmFjdGlvbkhhbmRsZXI9T2JqZWN0LmNyZWF0ZShudWxsKTtpLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuIyQuYmluZCh0aGlzKSx7c2lnbmFsOnRoaXMuI18uc2lnbmFsfSl9IyQoe2RhdGE6ZX0pe2lmKGUudGFyZ2V0TmFtZSE9PXRoaXMuc291cmNlTmFtZSlyZXR1cm47aWYoZS5zdHJlYW0pe3RoaXMuI0FBKGUpO3JldHVybn1pZihlLmNhbGxiYWNrKXtjb25zdCB0PWUuY2FsbGJhY2tJZCxpPXRoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbdF07aWYoIWkpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVzb2x2ZSBjYWxsYmFjayAke3R9YCk7ZGVsZXRlIHRoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbdF07aWYoZS5jYWxsYmFjaz09PUNnKWkucmVzb2x2ZShlLmRhdGEpO2Vsc2V7aWYoZS5jYWxsYmFjayE9PWhnKXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBjYWxsYmFjayBjYXNlIik7aS5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpfXJldHVybn1jb25zdCB0PXRoaXMuYWN0aW9uSGFuZGxlcltlLmFjdGlvbl07aWYoIXQpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGlvbiBmcm9tIHdvcmtlcjogJHtlLmFjdGlvbn1gKTtpZihlLmNhbGxiYWNrSWQpe2NvbnN0IGk9dGhpcy5zb3VyY2VOYW1lLGE9ZS5zb3VyY2VOYW1lLHM9dGhpcy5jb21PYmo7bmV3IFByb21pc2UoKGZ1bmN0aW9uKGkpe2kodChlLmRhdGEpKX0pKS50aGVuKChmdW5jdGlvbih0KXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLGNhbGxiYWNrOkNnLGNhbGxiYWNrSWQ6ZS5jYWxsYmFja0lkLGRhdGE6dH0pfSksKGZ1bmN0aW9uKHQpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsY2FsbGJhY2s6aGcsY2FsbGJhY2tJZDplLmNhbGxiYWNrSWQscmVhc29uOndyYXBSZWFzb24odCl9KX0pKX1lbHNlIGUuc3RyZWFtSWQ/dGhpcy4jZUEoZSk6dChlLmRhdGEpfW9uKGUsdCl7Y29uc3QgaT10aGlzLmFjdGlvbkhhbmRsZXI7aWYoaVtlXSl0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIGFscmVhZHkgYW4gYWN0aW9uTmFtZSBjYWxsZWQgIiR7ZX0iYCk7aVtlXT10fXNlbmQoZSx0LGkpe3RoaXMuY29tT2JqLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOnRoaXMuc291cmNlTmFtZSx0YXJnZXROYW1lOnRoaXMudGFyZ2V0TmFtZSxhY3Rpb246ZSxkYXRhOnR9LGkpfXNlbmRXaXRoUHJvbWlzZShlLHQsaSl7Y29uc3QgYT10aGlzLmNhbGxiYWNrSWQrKyxzPVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbYV09czt0cnl7dGhpcy5jb21PYmoucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6dGhpcy5zb3VyY2VOYW1lLHRhcmdldE5hbWU6dGhpcy50YXJnZXROYW1lLGFjdGlvbjplLGNhbGxiYWNrSWQ6YSxkYXRhOnR9LGkpfWNhdGNoKGUpe3MucmVqZWN0KGUpfXJldHVybiBzLnByb21pc2V9c2VuZFdpdGhTdHJlYW0oZSx0LGksYSl7Y29uc3Qgcz10aGlzLnN0cmVhbUlkKysscj10aGlzLnNvdXJjZU5hbWUsbj10aGlzLnRhcmdldE5hbWUsZz10aGlzLmNvbU9iajtyZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFtKHtzdGFydDppPT57Y29uc3Qgbz1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3NdPXtjb250cm9sbGVyOmksc3RhcnRDYWxsOm8scHVsbENhbGw6bnVsbCxjYW5jZWxDYWxsOm51bGwsaXNDbG9zZWQ6ITF9O2cucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6cix0YXJnZXROYW1lOm4sYWN0aW9uOmUsc3RyZWFtSWQ6cyxkYXRhOnQsZGVzaXJlZFNpemU6aS5kZXNpcmVkU2l6ZX0sYSk7cmV0dXJuIG8ucHJvbWlzZX0scHVsbDplPT57Y29uc3QgdD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3NdLnB1bGxDYWxsPXQ7Zy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTpyLHRhcmdldE5hbWU6bixzdHJlYW06ZGcsc3RyZWFtSWQ6cyxkZXNpcmVkU2l6ZTplLmRlc2lyZWRTaXplfSk7cmV0dXJuIHQucHJvbWlzZX0sY2FuY2VsOmU9Pnthc3NlcnQoZSBpbnN0YW5jZW9mIEVycm9yLCJjYW5jZWwgbXVzdCBoYXZlIGEgdmFsaWQgcmVhc29uIik7Y29uc3QgdD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3NdLmNhbmNlbENhbGw9dDt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3NdLmlzQ2xvc2VkPSEwO2cucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6cix0YXJnZXROYW1lOm4sc3RyZWFtOmxnLHN0cmVhbUlkOnMscmVhc29uOndyYXBSZWFzb24oZSl9KTtyZXR1cm4gdC5wcm9taXNlfX0saSl9I2VBKGUpe2NvbnN0IHQ9ZS5zdHJlYW1JZCxpPXRoaXMuc291cmNlTmFtZSxhPWUuc291cmNlTmFtZSxzPXRoaXMuY29tT2JqLHI9dGhpcyxuPXRoaXMuYWN0aW9uSGFuZGxlcltlLmFjdGlvbl0sZz17ZW5xdWV1ZShlLHI9MSxuKXtpZih0aGlzLmlzQ2FuY2VsbGVkKXJldHVybjtjb25zdCBnPXRoaXMuZGVzaXJlZFNpemU7dGhpcy5kZXNpcmVkU2l6ZS09cjtpZihnPjAmJnRoaXMuZGVzaXJlZFNpemU8PTApe3RoaXMuc2lua0NhcGFiaWxpdHk9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5yZWFkeT10aGlzLnNpbmtDYXBhYmlsaXR5LnByb21pc2V9cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06RWcsc3RyZWFtSWQ6dCxjaHVuazplfSxuKX0sY2xvc2UoKXtpZighdGhpcy5pc0NhbmNlbGxlZCl7dGhpcy5pc0NhbmNlbGxlZD0hMDtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpRZyxzdHJlYW1JZDp0fSk7ZGVsZXRlIHIuc3RyZWFtU2lua3NbdF19fSxlcnJvcihlKXthc3NlcnQoZSBpbnN0YW5jZW9mIEVycm9yLCJlcnJvciBtdXN0IGhhdmUgYSB2YWxpZCByZWFzb24iKTtpZighdGhpcy5pc0NhbmNlbGxlZCl7dGhpcy5pc0NhbmNlbGxlZD0hMDtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTp1ZyxzdHJlYW1JZDp0LHJlYXNvbjp3cmFwUmVhc29uKGUpfSl9fSxzaW5rQ2FwYWJpbGl0eTpQcm9taXNlLndpdGhSZXNvbHZlcnMoKSxvblB1bGw6bnVsbCxvbkNhbmNlbDpudWxsLGlzQ2FuY2VsbGVkOiExLGRlc2lyZWRTaXplOmUuZGVzaXJlZFNpemUscmVhZHk6bnVsbH07Zy5zaW5rQ2FwYWJpbGl0eS5yZXNvbHZlKCk7Zy5yZWFkeT1nLnNpbmtDYXBhYmlsaXR5LnByb21pc2U7dGhpcy5zdHJlYW1TaW5rc1t0XT1nO25ldyBQcm9taXNlKChmdW5jdGlvbih0KXt0KG4oZS5kYXRhLGcpKX0pKS50aGVuKChmdW5jdGlvbigpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOnBnLHN0cmVhbUlkOnQsc3VjY2VzczohMH0pfSksKGZ1bmN0aW9uKGUpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOnBnLHN0cmVhbUlkOnQscmVhc29uOndyYXBSZWFzb24oZSl9KX0pKX0jQUEoZSl7Y29uc3QgdD1lLnN0cmVhbUlkLGk9dGhpcy5zb3VyY2VOYW1lLGE9ZS5zb3VyY2VOYW1lLHM9dGhpcy5jb21PYmoscj10aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3RdLG49dGhpcy5zdHJlYW1TaW5rc1t0XTtzd2l0Y2goZS5zdHJlYW0pe2Nhc2UgcGc6ZS5zdWNjZXNzP3Iuc3RhcnRDYWxsLnJlc29sdmUoKTpyLnN0YXJ0Q2FsbC5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpO2JyZWFrO2Nhc2UgZmc6ZS5zdWNjZXNzP3IucHVsbENhbGwucmVzb2x2ZSgpOnIucHVsbENhbGwucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTticmVhaztjYXNlIGRnOmlmKCFuKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpmZyxzdHJlYW1JZDp0LHN1Y2Nlc3M6ITB9KTticmVha31uLmRlc2lyZWRTaXplPD0wJiZlLmRlc2lyZWRTaXplPjAmJm4uc2lua0NhcGFiaWxpdHkucmVzb2x2ZSgpO24uZGVzaXJlZFNpemU9ZS5kZXNpcmVkU2l6ZTtuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7ZShuLm9uUHVsbD8uKCkpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06Zmcsc3RyZWFtSWQ6dCxzdWNjZXNzOiEwfSl9KSwoZnVuY3Rpb24oZSl7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06Zmcsc3RyZWFtSWQ6dCxyZWFzb246d3JhcFJlYXNvbihlKX0pfSkpO2JyZWFrO2Nhc2UgRWc6YXNzZXJ0KHIsImVucXVldWUgc2hvdWxkIGhhdmUgc3RyZWFtIGNvbnRyb2xsZXIiKTtpZihyLmlzQ2xvc2VkKWJyZWFrO3IuY29udHJvbGxlci5lbnF1ZXVlKGUuY2h1bmspO2JyZWFrO2Nhc2UgUWc6YXNzZXJ0KHIsImNsb3NlIHNob3VsZCBoYXZlIHN0cmVhbSBjb250cm9sbGVyIik7aWYoci5pc0Nsb3NlZClicmVhaztyLmlzQ2xvc2VkPSEwO3IuY29udHJvbGxlci5jbG9zZSgpO3RoaXMuI3RBKHIsdCk7YnJlYWs7Y2FzZSB1Zzphc3NlcnQociwiZXJyb3Igc2hvdWxkIGhhdmUgc3RyZWFtIGNvbnRyb2xsZXIiKTtyLmNvbnRyb2xsZXIuZXJyb3Iod3JhcFJlYXNvbihlLnJlYXNvbikpO3RoaXMuI3RBKHIsdCk7YnJlYWs7Y2FzZSBCZzplLnN1Y2Nlc3M/ci5jYW5jZWxDYWxsLnJlc29sdmUoKTpyLmNhbmNlbENhbGwucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTt0aGlzLiN0QShyLHQpO2JyZWFrO2Nhc2UgbGc6aWYoIW4pYnJlYWs7bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe3Qobi5vbkNhbmNlbD8uKHdyYXBSZWFzb24oZS5yZWFzb24pKSl9KSkudGhlbigoZnVuY3Rpb24oKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpCZyxzdHJlYW1JZDp0LHN1Y2Nlc3M6ITB9KX0pLChmdW5jdGlvbihlKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpCZyxzdHJlYW1JZDp0LHJlYXNvbjp3cmFwUmVhc29uKGUpfSl9KSk7bi5zaW5rQ2FwYWJpbGl0eS5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpO24uaXNDYW5jZWxsZWQ9ITA7ZGVsZXRlIHRoaXMuc3RyZWFtU2lua3NbdF07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgc3RyZWFtIGNhc2UiKX19YXN5bmMjdEEoZSx0KXthd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoW2Uuc3RhcnRDYWxsPy5wcm9taXNlLGUucHVsbENhbGw/LnByb21pc2UsZS5jYW5jZWxDYWxsPy5wcm9taXNlXSk7ZGVsZXRlIHRoaXMuc3RyZWFtQ29udHJvbGxlcnNbdF19ZGVzdHJveSgpe3RoaXMuI18/LmFib3J0KCk7dGhpcy4jXz1udWxsfX1jbGFzcyBQREZXb3JrZXJTdHJlYW17Y29uc3RydWN0b3IoZSl7dGhpcy5fbXNnSGFuZGxlcj1lO3RoaXMuX2NvbnRlbnRMZW5ndGg9bnVsbDt0aGlzLl9mdWxsUmVxdWVzdFJlYWRlcj1udWxsO3RoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnM9W119Z2V0RnVsbFJlYWRlcigpe2Fzc2VydCghdGhpcy5fZnVsbFJlcXVlc3RSZWFkZXIsIlBERldvcmtlclN0cmVhbS5nZXRGdWxsUmVhZGVyIGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlLiIpO3RoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyPW5ldyBQREZXb3JrZXJTdHJlYW1SZWFkZXIodGhpcy5fbXNnSGFuZGxlcik7cmV0dXJuIHRoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyfWdldFJhbmdlUmVhZGVyKGUsdCl7Y29uc3QgaT1uZXcgUERGV29ya2VyU3RyZWFtUmFuZ2VSZWFkZXIoZSx0LHRoaXMuX21zZ0hhbmRsZXIpO3RoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnMucHVzaChpKTtyZXR1cm4gaX1jYW5jZWxBbGxSZXF1ZXN0cyhlKXt0aGlzLl9mdWxsUmVxdWVzdFJlYWRlcj8uY2FuY2VsKGUpO2Zvcihjb25zdCB0IG9mIHRoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnMuc2xpY2UoMCkpdC5jYW5jZWwoZSl9fWNsYXNzIFBERldvcmtlclN0cmVhbVJlYWRlcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9tc2dIYW5kbGVyPWU7dGhpcy5vblByb2dyZXNzPW51bGw7dGhpcy5fY29udGVudExlbmd0aD1udWxsO3RoaXMuX2lzUmFuZ2VTdXBwb3J0ZWQ9ITE7dGhpcy5faXNTdHJlYW1pbmdTdXBwb3J0ZWQ9ITE7Y29uc3QgdD10aGlzLl9tc2dIYW5kbGVyLnNlbmRXaXRoU3RyZWFtKCJHZXRSZWFkZXIiKTt0aGlzLl9yZWFkZXI9dC5nZXRSZWFkZXIoKTt0aGlzLl9oZWFkZXJzUmVhZHk9dGhpcy5fbXNnSGFuZGxlci5zZW5kV2l0aFByb21pc2UoIlJlYWRlckhlYWRlcnNSZWFkeSIpLnRoZW4oKGU9Pnt0aGlzLl9pc1N0cmVhbWluZ1N1cHBvcnRlZD1lLmlzU3RyZWFtaW5nU3VwcG9ydGVkO3RoaXMuX2lzUmFuZ2VTdXBwb3J0ZWQ9ZS5pc1JhbmdlU3VwcG9ydGVkO3RoaXMuX2NvbnRlbnRMZW5ndGg9ZS5jb250ZW50TGVuZ3RofSkpfWdldCBoZWFkZXJzUmVhZHkoKXtyZXR1cm4gdGhpcy5faGVhZGVyc1JlYWR5fWdldCBjb250ZW50TGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2NvbnRlbnRMZW5ndGh9Z2V0IGlzU3RyZWFtaW5nU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMuX2lzU3RyZWFtaW5nU3VwcG9ydGVkfWdldCBpc1JhbmdlU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMuX2lzUmFuZ2VTdXBwb3J0ZWR9YXN5bmMgcmVhZCgpe2NvbnN0e3ZhbHVlOmUsZG9uZTp0fT1hd2FpdCB0aGlzLl9yZWFkZXIucmVhZCgpO3JldHVybiB0P3t2YWx1ZTp2b2lkIDAsZG9uZTohMH06e3ZhbHVlOmUuYnVmZmVyLGRvbmU6ITF9fWNhbmNlbChlKXt0aGlzLl9yZWFkZXIuY2FuY2VsKGUpfX1jbGFzcyBQREZXb3JrZXJTdHJlYW1SYW5nZVJlYWRlcntjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fbXNnSGFuZGxlcj1pO3RoaXMub25Qcm9ncmVzcz1udWxsO2NvbnN0IGE9dGhpcy5fbXNnSGFuZGxlci5zZW5kV2l0aFN0cmVhbSgiR2V0UmFuZ2VSZWFkZXIiLHtiZWdpbjplLGVuZDp0fSk7dGhpcy5fcmVhZGVyPWEuZ2V0UmVhZGVyKCl9Z2V0IGlzU3RyZWFtaW5nU3VwcG9ydGVkKCl7cmV0dXJuITF9YXN5bmMgcmVhZCgpe2NvbnN0e3ZhbHVlOmUsZG9uZTp0fT1hd2FpdCB0aGlzLl9yZWFkZXIucmVhZCgpO3JldHVybiB0P3t2YWx1ZTp2b2lkIDAsZG9uZTohMH06e3ZhbHVlOmUuYnVmZmVyLGRvbmU6ITF9fWNhbmNlbChlKXt0aGlzLl9yZWFkZXIuY2FuY2VsKGUpfX1jbGFzcyBXb3JrZXJUYXNre2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT1lO3RoaXMudGVybWluYXRlZD0hMTt0aGlzLl9jYXBhYmlsaXR5PVByb21pc2Uud2l0aFJlc29sdmVycygpfWdldCBmaW5pc2hlZCgpe3JldHVybiB0aGlzLl9jYXBhYmlsaXR5LnByb21pc2V9ZmluaXNoKCl7dGhpcy5fY2FwYWJpbGl0eS5yZXNvbHZlKCl9dGVybWluYXRlKCl7dGhpcy50ZXJtaW5hdGVkPSEwfWVuc3VyZU5vdFRlcm1pbmF0ZWQoKXtpZih0aGlzLnRlcm1pbmF0ZWQpdGhyb3cgbmV3IEVycm9yKCJXb3JrZXIgdGFzayB3YXMgdGVybWluYXRlZCIpfX1jbGFzcyBXb3JrZXJNZXNzYWdlSGFuZGxlcntzdGF0aWN7InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3cmJiF0JiYidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJiJmdW5jdGlvbiI9PXR5cGVvZiBzZWxmLnBvc3RNZXNzYWdlJiYib25tZXNzYWdlImluIHNlbGYmJnRoaXMuaW5pdGlhbGl6ZUZyb21Qb3J0KHNlbGYpfXN0YXRpYyBzZXR1cChlLHQpe2xldCBpPSExO2Uub24oInRlc3QiLCh0PT57aWYoIWkpe2k9ITA7ZS5zZW5kKCJ0ZXN0Iix0IGluc3RhbmNlb2YgVWludDhBcnJheSl9fSkpO2Uub24oImNvbmZpZ3VyZSIsKGU9PnshZnVuY3Rpb24gc2V0VmVyYm9zaXR5TGV2ZWwoZSl7TnVtYmVyLmlzSW50ZWdlcihlKSYmKG50PWUpfShlLnZlcmJvc2l0eSl9KSk7ZS5vbigiR2V0RG9jUmVxdWVzdCIsKGU9PnRoaXMuY3JlYXRlRG9jdW1lbnRIYW5kbGVyKGUsdCkpKX1zdGF0aWMgY3JlYXRlRG9jdW1lbnRIYW5kbGVyKGUsdCl7bGV0IGksYT0hMSxzPW51bGw7Y29uc3Qgcj1uZXcgU2V0LG49Z2V0VmVyYm9zaXR5TGV2ZWwoKSx7ZG9jSWQ6ZyxhcGlWZXJzaW9uOm99PWUsYz0iNC45LjEyNCI7aWYobyE9PWMpdGhyb3cgbmV3IEVycm9yKGBUaGUgQVBJIHZlcnNpb24gIiR7b30iIGRvZXMgbm90IG1hdGNoIHRoZSBXb3JrZXIgdmVyc2lvbiAiJHtjfSIuYCk7Y29uc3QgQz1bXTtmb3IoY29uc3QgZSBpbltdKUMucHVzaChlKTtpZihDLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBgQXJyYXkucHJvdG90eXBlYCBjb250YWlucyB1bmV4cGVjdGVkIGVudW1lcmFibGUgcHJvcGVydGllczogIitDLmpvaW4oIiwgIikrIjsgdGh1cyBicmVha2luZyBlLmcuIGBmb3IuLi5pbmAgaXRlcmF0aW9uIG9mIGBBcnJheWBzLiIpO2NvbnN0IGg9ZysiX3dvcmtlciI7bGV0IGw9bmV3IE1lc3NhZ2VIYW5kbGVyKGgsZyx0KTtmdW5jdGlvbiBlbnN1cmVOb3RUZXJtaW5hdGVkKCl7aWYoYSl0aHJvdyBuZXcgRXJyb3IoIldvcmtlciB3YXMgdGVybWluYXRlZCIpfWZ1bmN0aW9uIHN0YXJ0V29ya2VyVGFzayhlKXtyLmFkZChlKX1mdW5jdGlvbiBmaW5pc2hXb3JrZXJUYXNrKGUpe2UuZmluaXNoKCk7ci5kZWxldGUoZSl9YXN5bmMgZnVuY3Rpb24gbG9hZERvY3VtZW50KGUpe2F3YWl0IGkuZW5zdXJlRG9jKCJjaGVja0hlYWRlciIpO2F3YWl0IGkuZW5zdXJlRG9jKCJwYXJzZVN0YXJ0WFJlZiIpO2F3YWl0IGkuZW5zdXJlRG9jKCJwYXJzZSIsW2VdKTthd2FpdCBpLmVuc3VyZURvYygiY2hlY2tGaXJzdFBhZ2UiLFtlXSk7YXdhaXQgaS5lbnN1cmVEb2MoImNoZWNrTGFzdFBhZ2UiLFtlXSk7Y29uc3QgdD1hd2FpdCBpLmVuc3VyZURvYygiaXNQdXJlWGZhIik7aWYodCl7Y29uc3QgZT1uZXcgV29ya2VyVGFzaygibG9hZFhmYUZvbnRzIik7c3RhcnRXb3JrZXJUYXNrKGUpO2F3YWl0IFByb21pc2UuYWxsKFtpLmxvYWRYZmFGb250cyhsLGUpLmNhdGNoKChlPT57fSkpLnRoZW4oKCgpPT5maW5pc2hXb3JrZXJUYXNrKGUpKSksaS5sb2FkWGZhSW1hZ2VzKCldKX1jb25zdFthLHNdPWF3YWl0IFByb21pc2UuYWxsKFtpLmVuc3VyZURvYygibnVtUGFnZXMiKSxpLmVuc3VyZURvYygiZmluZ2VycHJpbnRzIildKTtyZXR1cm57bnVtUGFnZXM6YSxmaW5nZXJwcmludHM6cyxodG1sRm9yWGZhOnQ/YXdhaXQgaS5lbnN1cmVEb2MoImh0bWxGb3JYZmEiKTpudWxsfX1mdW5jdGlvbiBzZXR1cERvYyhlKXtmdW5jdGlvbiBvblN1Y2Nlc3MoZSl7ZW5zdXJlTm90VGVybWluYXRlZCgpO2wuc2VuZCgiR2V0RG9jIix7cGRmSW5mbzplfSl9ZnVuY3Rpb24gb25GYWlsdXJlKGUpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtpZihlIGluc3RhbmNlb2YgUGFzc3dvcmRFeGNlcHRpb24pe2NvbnN0IHQ9bmV3IFdvcmtlclRhc2soYFBhc3N3b3JkRXhjZXB0aW9uOiByZXNwb25zZSAke2UuY29kZX1gKTtzdGFydFdvcmtlclRhc2sodCk7bC5zZW5kV2l0aFByb21pc2UoIlBhc3N3b3JkUmVxdWVzdCIsZSkudGhlbigoZnVuY3Rpb24oe3Bhc3N3b3JkOmV9KXtmaW5pc2hXb3JrZXJUYXNrKHQpO2kudXBkYXRlUGFzc3dvcmQoZSk7cGRmTWFuYWdlclJlYWR5KCl9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7ZmluaXNoV29ya2VyVGFzayh0KTtsLnNlbmQoIkRvY0V4Y2VwdGlvbiIsZSl9KSl9ZWxzZSBlIGluc3RhbmNlb2YgSW52YWxpZFBERkV4Y2VwdGlvbnx8ZSBpbnN0YW5jZW9mIE1pc3NpbmdQREZFeGNlcHRpb258fGUgaW5zdGFuY2VvZiBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb258fGUgaW5zdGFuY2VvZiBVbmtub3duRXJyb3JFeGNlcHRpb24/bC5zZW5kKCJEb2NFeGNlcHRpb24iLGUpOmwuc2VuZCgiRG9jRXhjZXB0aW9uIixuZXcgVW5rbm93bkVycm9yRXhjZXB0aW9uKGUubWVzc2FnZSxlLnRvU3RyaW5nKCkpKX1mdW5jdGlvbiBwZGZNYW5hZ2VyUmVhZHkoKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7bG9hZERvY3VtZW50KCExKS50aGVuKG9uU3VjY2VzcywoZnVuY3Rpb24oZSl7ZW5zdXJlTm90VGVybWluYXRlZCgpO2UgaW5zdGFuY2VvZiBYUmVmUGFyc2VFeGNlcHRpb24/aS5yZXF1ZXN0TG9hZGVkU3RyZWFtKCkudGhlbigoZnVuY3Rpb24oKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7bG9hZERvY3VtZW50KCEwKS50aGVuKG9uU3VjY2VzcyxvbkZhaWx1cmUpfSkpOm9uRmFpbHVyZShlKX0pKX1lbnN1cmVOb3RUZXJtaW5hdGVkKCk7KGFzeW5jIGZ1bmN0aW9uIGdldFBkZk1hbmFnZXIoe2RhdGE6ZSxwYXNzd29yZDp0LGRpc2FibGVBdXRvRmV0Y2g6aSxyYW5nZUNodW5rU2l6ZTphLGxlbmd0aDpyLGRvY0Jhc2VVcmw6bixlbmFibGVYZmE6byxldmFsdWF0b3JPcHRpb25zOmN9KXtjb25zdCBDPXtzb3VyY2U6bnVsbCxkaXNhYmxlQXV0b0ZldGNoOmksZG9jQmFzZVVybDpuLGRvY0lkOmcsZW5hYmxlWGZhOm8sZXZhbHVhdG9yT3B0aW9uczpjLGhhbmRsZXI6bCxsZW5ndGg6cixwYXNzd29yZDp0LHJhbmdlQ2h1bmtTaXplOmF9O2lmKGUpe0Muc291cmNlPWU7cmV0dXJuIG5ldyBMb2NhbFBkZk1hbmFnZXIoQyl9Y29uc3QgaD1uZXcgUERGV29ya2VyU3RyZWFtKGwpLFE9aC5nZXRGdWxsUmVhZGVyKCksRT1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTtsZXQgdSxkPVtdLGY9MDtRLmhlYWRlcnNSZWFkeS50aGVuKChmdW5jdGlvbigpe2lmKFEuaXNSYW5nZVN1cHBvcnRlZCl7Qy5zb3VyY2U9aDtDLmxlbmd0aD1RLmNvbnRlbnRMZW5ndGg7Qy5kaXNhYmxlQXV0b0ZldGNofHw9US5pc1N0cmVhbWluZ1N1cHBvcnRlZDt1PW5ldyBOZXR3b3JrUGRmTWFuYWdlcihDKTtmb3IoY29uc3QgZSBvZiBkKXUuc2VuZFByb2dyZXNzaXZlRGF0YShlKTtkPVtdO0UucmVzb2x2ZSh1KTtzPW51bGx9fSkpLmNhdGNoKChmdW5jdGlvbihlKXtFLnJlamVjdChlKTtzPW51bGx9KSk7bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsdCl7Y29uc3QgcmVhZENodW5rPWZ1bmN0aW9uKHt2YWx1ZTplLGRvbmU6aX0pe3RyeXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7aWYoaSl7aWYoIXUpe2NvbnN0IGU9YXJyYXlCdWZmZXJzVG9CeXRlcyhkKTtkPVtdO3ImJmUubGVuZ3RoIT09ciYmd2FybigicmVwb3J0ZWQgSFRUUCBsZW5ndGggaXMgZGlmZmVyZW50IGZyb20gYWN0dWFsIik7Qy5zb3VyY2U9ZTt1PW5ldyBMb2NhbFBkZk1hbmFnZXIoQyk7RS5yZXNvbHZlKHUpfXM9bnVsbDtyZXR1cm59Zis9ZS5ieXRlTGVuZ3RoO1EuaXNTdHJlYW1pbmdTdXBwb3J0ZWR8fGwuc2VuZCgiRG9jUHJvZ3Jlc3MiLHtsb2FkZWQ6Zix0b3RhbDpNYXRoLm1heChmLFEuY29udGVudExlbmd0aHx8MCl9KTt1P3Uuc2VuZFByb2dyZXNzaXZlRGF0YShlKTpkLnB1c2goZSk7US5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9Y2F0Y2goZSl7dChlKX19O1EucmVhZCgpLnRoZW4ocmVhZENodW5rLHQpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtFLnJlamVjdChlKTtzPW51bGx9KSk7cz1lPT57aC5jYW5jZWxBbGxSZXF1ZXN0cyhlKX07cmV0dXJuIEUucHJvbWlzZX0pKGUpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGEpe2UudGVybWluYXRlKG5ldyBBYm9ydEV4Y2VwdGlvbigiV29ya2VyIHdhcyB0ZXJtaW5hdGVkLiIpKTt0aHJvdyBuZXcgRXJyb3IoIldvcmtlciB3YXMgdGVybWluYXRlZCIpfWk9ZTtpLnJlcXVlc3RMb2FkZWRTdHJlYW0oITApLnRoZW4oKGU9PntsLnNlbmQoIkRhdGFMb2FkZWQiLHtsZW5ndGg6ZS5ieXRlcy5ieXRlTGVuZ3RofSl9KSl9KSkudGhlbihwZGZNYW5hZ2VyUmVhZHksb25GYWlsdXJlKX1sLm9uKCJHZXRQYWdlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZ2V0UGFnZShlLnBhZ2VJbmRleCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIFByb21pc2UuYWxsKFtpLmVuc3VyZShlLCJyb3RhdGUiKSxpLmVuc3VyZShlLCJyZWYiKSxpLmVuc3VyZShlLCJ1c2VyVW5pdCIpLGkuZW5zdXJlKGUsInZpZXciKV0pLnRoZW4oKGZ1bmN0aW9uKFtlLHQsaSxhXSl7cmV0dXJue3JvdGF0ZTplLHJlZjp0LHJlZlN0cjp0Py50b1N0cmluZygpPz9udWxsLHVzZXJVbml0OmksdmlldzphfX0pKX0pKX0pKTtsLm9uKCJHZXRQYWdlSW5kZXgiLChmdW5jdGlvbihlKXtjb25zdCB0PVJlZi5nZXQoZS5udW0sZS5nZW4pO3JldHVybiBpLmVuc3VyZUNhdGFsb2coImdldFBhZ2VJbmRleCIsW3RdKX0pKTtsLm9uKCJHZXREZXN0aW5hdGlvbnMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJkZXN0aW5hdGlvbnMiKX0pKTtsLm9uKCJHZXREZXN0aW5hdGlvbiIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coImdldERlc3RpbmF0aW9uIixbZS5pZF0pfSkpO2wub24oIkdldFBhZ2VMYWJlbHMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJwYWdlTGFiZWxzIil9KSk7bC5vbigiR2V0UGFnZUxheW91dCIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coInBhZ2VMYXlvdXQiKX0pKTtsLm9uKCJHZXRQYWdlTW9kZSIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coInBhZ2VNb2RlIil9KSk7bC5vbigiR2V0Vmlld2VyUHJlZmVyZW5jZXMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJ2aWV3ZXJQcmVmZXJlbmNlcyIpfSkpO2wub24oIkdldE9wZW5BY3Rpb24iLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJvcGVuQWN0aW9uIil9KSk7bC5vbigiR2V0QXR0YWNobWVudHMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJhdHRhY2htZW50cyIpfSkpO2wub24oIkdldERvY0pTQWN0aW9ucyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coImpzQWN0aW9ucyIpfSkpO2wub24oIkdldFBhZ2VKU0FjdGlvbnMiLChmdW5jdGlvbih7cGFnZUluZGV4OmV9KXtyZXR1cm4gaS5nZXRQYWdlKGUpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZShlLCJqc0FjdGlvbnMiKX0pKX0pKTtsLm9uKCJHZXRPdXRsaW5lIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygiZG9jdW1lbnRPdXRsaW5lIil9KSk7bC5vbigiR2V0T3B0aW9uYWxDb250ZW50Q29uZmlnIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygib3B0aW9uYWxDb250ZW50Q29uZmlnIil9KSk7bC5vbigiR2V0UGVybWlzc2lvbnMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJwZXJtaXNzaW9ucyIpfSkpO2wub24oIkdldE1ldGFkYXRhIiwoZnVuY3Rpb24oZSl7cmV0dXJuIFByb21pc2UuYWxsKFtpLmVuc3VyZURvYygiZG9jdW1lbnRJbmZvIiksaS5lbnN1cmVDYXRhbG9nKCJtZXRhZGF0YSIpXSl9KSk7bC5vbigiR2V0TWFya0luZm8iLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJtYXJrSW5mbyIpfSkpO2wub24oIkdldERhdGEiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5yZXF1ZXN0TG9hZGVkU3RyZWFtKCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGUuYnl0ZXN9KSl9KSk7bC5vbigiR2V0QW5ub3RhdGlvbnMiLChmdW5jdGlvbih7cGFnZUluZGV4OmUsaW50ZW50OnR9KXtyZXR1cm4gaS5nZXRQYWdlKGUpLnRoZW4oKGZ1bmN0aW9uKGkpe2NvbnN0IGE9bmV3IFdvcmtlclRhc2soYEdldEFubm90YXRpb25zOiBwYWdlICR7ZX1gKTtzdGFydFdvcmtlclRhc2soYSk7cmV0dXJuIGkuZ2V0QW5ub3RhdGlvbnNEYXRhKGwsYSx0KS50aGVuKChlPT57ZmluaXNoV29ya2VyVGFzayhhKTtyZXR1cm4gZX0pLChlPT57ZmluaXNoV29ya2VyVGFzayhhKTt0aHJvdyBlfSkpfSkpfSkpO2wub24oIkdldEZpZWxkT2JqZWN0cyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZURvYygiZmllbGRPYmplY3RzIikudGhlbigoZT0+ZT8uYWxsRmllbGRzfHxudWxsKSl9KSk7bC5vbigiSGFzSlNBY3Rpb25zIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlRG9jKCJoYXNKU0FjdGlvbnMiKX0pKTtsLm9uKCJHZXRDYWxjdWxhdGlvbk9yZGVySWRzIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlRG9jKCJjYWxjdWxhdGlvbk9yZGVySWRzIil9KSk7bC5vbigiU2F2ZURvY3VtZW50IiwoYXN5bmMgZnVuY3Rpb24oe2lzUHVyZVhmYTplLG51bVBhZ2VzOnQsYW5ub3RhdGlvblN0b3JhZ2U6YSxmaWxlbmFtZTpzfSl7Y29uc3Qgcj1baS5yZXF1ZXN0TG9hZGVkU3RyZWFtKCksaS5lbnN1cmVDYXRhbG9nKCJhY3JvRm9ybSIpLGkuZW5zdXJlQ2F0YWxvZygiYWNyb0Zvcm1SZWYiKSxpLmVuc3VyZURvYygic3RhcnRYUmVmIiksaS5lbnN1cmVEb2MoInhyZWYiKSxpLmVuc3VyZURvYygibGluZWFyaXphdGlvbiIpLGkuZW5zdXJlQ2F0YWxvZygic3RydWN0VHJlZVJvb3QiKV0sbj1uZXcgUmVmU2V0Q2FjaGUsZz1bXSxvPWU/bnVsbDpnZXROZXdBbm5vdGF0aW9uc01hcChhKSxbYyxDLGgsUSxFLHUsZF09YXdhaXQgUHJvbWlzZS5hbGwociksZj1FLnRyYWlsZXIuZ2V0UmF3KCJSb290Iil8fG51bGw7bGV0IHA7aWYobyl7ZD9hd2FpdCBkLmNhblVwZGF0ZVN0cnVjdFRyZWUoe3BkZk1hbmFnZXI6aSx4cmVmOkUsbmV3QW5ub3RhdGlvbnNCeVBhZ2U6b30pJiYocD1kKTphd2FpdCBTdHJ1Y3RUcmVlUm9vdC5jYW5DcmVhdGVTdHJ1Y3R1cmVUcmVlKHtjYXRhbG9nUmVmOmYscGRmTWFuYWdlcjppLG5ld0Fubm90YXRpb25zQnlQYWdlOm99KSYmKHA9bnVsbCk7Y29uc3QgZT1Bbm5vdGF0aW9uRmFjdG9yeS5nZW5lcmF0ZUltYWdlcyhhLnZhbHVlcygpLEUsaS5ldmFsdWF0b3JPcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKSx0PXZvaWQgMD09PXA/ZzpbXTtmb3IoY29uc3RbYSxzXW9mIG8pdC5wdXNoKGkuZ2V0UGFnZShhKS50aGVuKCh0PT57Y29uc3QgaT1uZXcgV29ya2VyVGFzayhgU2F2ZSAoZWRpdG9yKTogcGFnZSAke2F9YCk7cmV0dXJuIHQuc2F2ZU5ld0Fubm90YXRpb25zKGwsaSxzLGUsbikuZmluYWxseSgoZnVuY3Rpb24oKXtmaW5pc2hXb3JrZXJUYXNrKGkpfSkpfSkpKTtudWxsPT09cD9nLnB1c2goUHJvbWlzZS5hbGwodCkudGhlbigoYXN5bmMoKT0+e2F3YWl0IFN0cnVjdFRyZWVSb290LmNyZWF0ZVN0cnVjdHVyZVRyZWUoe25ld0Fubm90YXRpb25zQnlQYWdlOm8seHJlZjpFLGNhdGFsb2dSZWY6ZixwZGZNYW5hZ2VyOmksY2hhbmdlczpufSl9KSkpOnAmJmcucHVzaChQcm9taXNlLmFsbCh0KS50aGVuKChhc3luYygpPT57YXdhaXQgcC51cGRhdGVTdHJ1Y3R1cmVUcmVlKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTpvLHBkZk1hbmFnZXI6aSxjaGFuZ2VzOm59KX0pKSl9aWYoZSlnLnB1c2goaS5zZXJpYWxpemVYZmFEYXRhKGEpKTtlbHNlIGZvcihsZXQgZT0wO2U8dDtlKyspZy5wdXNoKGkuZ2V0UGFnZShlKS50aGVuKChmdW5jdGlvbih0KXtjb25zdCBpPW5ldyBXb3JrZXJUYXNrKGBTYXZlOiBwYWdlICR7ZX1gKTtyZXR1cm4gdC5zYXZlKGwsaSxhLG4pLmZpbmFsbHkoKGZ1bmN0aW9uKCl7ZmluaXNoV29ya2VyVGFzayhpKX0pKX0pKSk7Y29uc3QgbT1hd2FpdCBQcm9taXNlLmFsbChnKTtsZXQgeT1udWxsO2lmKGUpe3k9bVswXTtpZigheSlyZXR1cm4gYy5ieXRlc31lbHNlIGlmKDA9PT1uLnNpemUpcmV0dXJuIGMuYnl0ZXM7Y29uc3Qgdz1oJiZDIGluc3RhbmNlb2YgRGljdCYmbi52YWx1ZXMoKS5zb21lKChlPT5lLm5lZWRBcHBlYXJhbmNlcykpLEQ9QyBpbnN0YW5jZW9mIERpY3QmJkMuZ2V0KCJYRkEiKXx8bnVsbDtsZXQgYj1udWxsLEY9ITE7aWYoQXJyYXkuaXNBcnJheShEKSl7Zm9yKGxldCBlPTAsdD1ELmxlbmd0aDtlPHQ7ZSs9MilpZigiZGF0YXNldHMiPT09RFtlXSl7Yj1EW2UrMV07Rj0hMH1udWxsPT09YiYmKGI9RS5nZXROZXdUZW1wb3JhcnlSZWYoKSl9ZWxzZSBEJiZ3YXJuKCJVbnN1cHBvcnRlZCBYRkEgdHlwZS4iKTtsZXQgUz1PYmplY3QuY3JlYXRlKG51bGwpO2lmKEUudHJhaWxlcil7Y29uc3QgZT1PYmplY3QuY3JlYXRlKG51bGwpLHQ9RS50cmFpbGVyLmdldCgiSW5mbyIpfHxudWxsO2lmKHQgaW5zdGFuY2VvZiBEaWN0KWZvcihjb25zdFtpLGFdb2YgdCkic3RyaW5nIj09dHlwZW9mIGEmJihlW2ldPXN0cmluZ1RvUERGU3RyaW5nKGEpKTtTPXtyb290UmVmOmYsZW5jcnlwdFJlZjpFLnRyYWlsZXIuZ2V0UmF3KCJFbmNyeXB0Iil8fG51bGwsbmV3UmVmOkUuZ2V0TmV3VGVtcG9yYXJ5UmVmKCksaW5mb1JlZjpFLnRyYWlsZXIuZ2V0UmF3KCJJbmZvIil8fG51bGwsaW5mbzplLGZpbGVJZHM6RS50cmFpbGVyLmdldCgiSUQiKXx8bnVsbCxzdGFydFhSZWY6dT9ROkUubGFzdFhSZWZTdHJlYW1Qb3M/P1EsZmlsZW5hbWU6c319cmV0dXJuIGluY3JlbWVudGFsVXBkYXRlKHtvcmlnaW5hbERhdGE6Yy5ieXRlcyx4cmVmSW5mbzpTLGNoYW5nZXM6bix4cmVmOkUsaGFzWGZhOiEhRCx4ZmFEYXRhc2V0c1JlZjpiLGhhc1hmYURhdGFzZXRzRW50cnk6RixuZWVkQXBwZWFyYW5jZXM6dyxhY3JvRm9ybVJlZjpoLGFjcm9Gb3JtOkMseGZhRGF0YTp5LHVzZVhyZWZTdHJlYW06aXNEaWN0KEUudG9wRGljdCwiWFJlZiIpfSkuZmluYWxseSgoKCk9PntFLnJlc2V0TmV3VGVtcG9yYXJ5UmVmKCl9KSl9KSk7bC5vbigiR2V0T3BlcmF0b3JMaXN0IiwoZnVuY3Rpb24oZSx0KXtjb25zdCBhPWUucGFnZUluZGV4O2kuZ2V0UGFnZShhKS50aGVuKChmdW5jdGlvbihpKXtjb25zdCBzPW5ldyBXb3JrZXJUYXNrKGBHZXRPcGVyYXRvckxpc3Q6IHBhZ2UgJHthfWApO3N0YXJ0V29ya2VyVGFzayhzKTtjb25zdCByPW4+PW1BLklORk9TP0RhdGUubm93KCk6MDtpLmdldE9wZXJhdG9yTGlzdCh7aGFuZGxlcjpsLHNpbms6dCx0YXNrOnMsaW50ZW50OmUuaW50ZW50LGNhY2hlS2V5OmUuY2FjaGVLZXksYW5ub3RhdGlvblN0b3JhZ2U6ZS5hbm5vdGF0aW9uU3RvcmFnZSxtb2RpZmllZElkczplLm1vZGlmaWVkSWRzfSkudGhlbigoZnVuY3Rpb24oZSl7ZmluaXNoV29ya2VyVGFzayhzKTtyJiZpbmZvKGBwYWdlPSR7YSsxfSAtIGdldE9wZXJhdG9yTGlzdDogdGltZT0ke0RhdGUubm93KCktcn1tcywgbGVuPSR7ZS5sZW5ndGh9YCk7dC5jbG9zZSgpfSksKGZ1bmN0aW9uKGUpe2ZpbmlzaFdvcmtlclRhc2socyk7cy50ZXJtaW5hdGVkfHx0LmVycm9yKGUpfSkpfSkpfSkpO2wub24oIkdldFRleHRDb250ZW50IiwoZnVuY3Rpb24oZSx0KXtjb25zdHtwYWdlSW5kZXg6YSxpbmNsdWRlTWFya2VkQ29udGVudDpzLGRpc2FibGVOb3JtYWxpemF0aW9uOnJ9PWU7aS5nZXRQYWdlKGEpLnRoZW4oKGZ1bmN0aW9uKGUpe2NvbnN0IGk9bmV3IFdvcmtlclRhc2soIkdldFRleHRDb250ZW50OiBwYWdlICIrYSk7c3RhcnRXb3JrZXJUYXNrKGkpO2NvbnN0IGc9bj49bUEuSU5GT1M/RGF0ZS5ub3coKTowO2UuZXh0cmFjdFRleHRDb250ZW50KHtoYW5kbGVyOmwsdGFzazppLHNpbms6dCxpbmNsdWRlTWFya2VkQ29udGVudDpzLGRpc2FibGVOb3JtYWxpemF0aW9uOnJ9KS50aGVuKChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2soaSk7ZyYmaW5mbyhgcGFnZT0ke2ErMX0gLSBnZXRUZXh0Q29udGVudDogdGltZT1gKyhEYXRlLm5vdygpLWcpKyJtcyIpO3QuY2xvc2UoKX0pLChmdW5jdGlvbihlKXtmaW5pc2hXb3JrZXJUYXNrKGkpO2kudGVybWluYXRlZHx8dC5lcnJvcihlKX0pKX0pKX0pKTtsLm9uKCJHZXRTdHJ1Y3RUcmVlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZ2V0UGFnZShlLnBhZ2VJbmRleCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlKGUsImdldFN0cnVjdFRyZWUiKX0pKX0pKTtsLm9uKCJGb250RmFsbGJhY2siLChmdW5jdGlvbihlKXtyZXR1cm4gaS5mb250RmFsbGJhY2soZS5pZCxsKX0pKTtsLm9uKCJDbGVhbnVwIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuY2xlYW51cCghMCl9KSk7bC5vbigiVGVybWluYXRlIiwoZnVuY3Rpb24oZSl7YT0hMDtjb25zdCB0PVtdO2lmKGkpe2kudGVybWluYXRlKG5ldyBBYm9ydEV4Y2VwdGlvbigiV29ya2VyIHdhcyB0ZXJtaW5hdGVkLiIpKTtjb25zdCBlPWkuY2xlYW51cCgpO3QucHVzaChlKTtpPW51bGx9ZWxzZSBjbGVhckdsb2JhbENhY2hlcygpO3M/LihuZXcgQWJvcnRFeGNlcHRpb24oIldvcmtlciB3YXMgdGVybWluYXRlZC4iKSk7Zm9yKGNvbnN0IGUgb2Ygcil7dC5wdXNoKGUuZmluaXNoZWQpO2UudGVybWluYXRlKCl9cmV0dXJuIFByb21pc2UuYWxsKHQpLnRoZW4oKGZ1bmN0aW9uKCl7bC5kZXN0cm95KCk7bD1udWxsfSkpfSkpO2wub24oIlJlYWR5IiwoZnVuY3Rpb24odCl7c2V0dXBEb2MoZSk7ZT1udWxsfSkpO3JldHVybiBofXN0YXRpYyBpbml0aWFsaXplRnJvbVBvcnQoZSl7Y29uc3QgdD1uZXcgTWVzc2FnZUhhbmRsZXIoIndvcmtlciIsIm1haW4iLGUpO3RoaXMuc2V0dXAodCxlKTt0LnNlbmQoInJlYWR5IixudWxsKX19dmFyIG1nPV9fd2VicGFja19leHBvcnRzX18uV29ya2VyTWVzc2FnZUhhbmRsZXI7ZXhwb3J0e21nIGFzIFdvcmtlck1lc3NhZ2VIYW5kbGVyfTs="; function il(l) { return !!(typeof l == "object" && l && "gen" in l && "num" in l); } async function xl(l, d) { return typeof d == "string" ? l.getDestination(d) : d; } async function wl(l, d) { return d && il(d[0]) ? d[0] : null; } const jl = (l) => l.type === "XYZ" && l.spec.length === 3, tl = (l) => l.type === "Fit" && l.spec.length === 0, Ol = (l) => l.type === "FitH" && l.spec.length === 1, Kl = (l) => l.type === "FitV" && l.spec.length === 1, ol = (l) => l.type === "FitR" && l.spec.length === 4, Hl = (l) => l.type === "FitB" && l.spec.length === 0, gl = (l) => l.type === "FitBH" && l.spec.length === 1, vl = (l) => l.type === "FitBV" && l.spec.length === 1; function Pl(l, d) { const U = { type: l, spec: d }; return jl(U) || tl(U) || Ol(U) || Kl(U) || ol(U) || Hl(U) || gl(U) || vl(U) ? U : (console.warn("no location type found for ", l, d), null); } const el = (l) => l && l.every((d) => !isNaN(d)); async function Al() { return new Promise((l, d) => { const U = document.createElement("iframe"); U.width = "0px", U.height = "0px", U.style.cssText = "position: absolute; top:0; left:0", U.style.display = "none", U.onload = function() { l(U); }, document.body.appendChild(U); }); } function rl(l, d, U) { const Z = l.document.createElement("style"); Z.textContent = ` @page { margin: 0; size: ${d}pt ${U}pt; } body { margin: 0; width: 100%; } canvas { width: 100%; page-break-after: always; page-break-before: avoid; page-break-inside: avoid; } `, l.document.head.appendChild(Z); } function fl(l) { D.GlobalWorkerOptions.workerSrc = l; } function $l(l, d = { onProgress: void 0, onPassword: void 0, onError: void 0, password: "" }) { var B; (B = D.GlobalWorkerOptions) != null && B.workerSrc || fl(Cl); const U = g(), Z = g(), F = g(0), Q = g({}); function W(X) { Z.value && Z.value.destroy(); const V = D.getDocument(X); if (d.onProgress && (V.onProgress = d.onProgress), d.onPassword) V.onPassword = d.onPassword; else if (d.password) { const R = (m, J) => { m(d.password ?? ""); }; V.onPassword = R; } V.promise.then( async (R) => { Z.value = R, U.value = R.loadingTask, F.value = R.numPages; const m = await R.getMetadata(), J = await R.getAttachments(), T = await R.getJSActions(), h = await R.getOutline(); Q.value = { metadata: m, attachments: J, javascript: T, outline: h }; }, (R) => { typeof d.onError == "function" && d.onError(R); } ); } async function Y(X) { var S; const V = await ((S = U.value) == null ? void 0 : S.promise); if (!V) return null; const R = await xl(V, X), m = await wl(V, R); if (!m || !R) return null; const J = await V.getPageIndex(m), T = R[1].name, h = R.slice(2), y = el(h) ? Pl(T, h) : null; return { pageIndex: J, location: y ?? { type: "Fit", spec: [] } }; } async function M(X = "filename") { var T; if (!Z.value) throw new Error("Current PDFDocumentProxy have not loaded yet"); const V = await ((T = Z.value) == null ? void 0 : T.saveDocument()), R = new Blob([V], { type: "application/pdf" }), m = URL.createObjectURL(R), J = document.createElement("a"); document.body.appendChild(J), J.href = m, J.download = X, J.style.display = "none", J.click(), setTimeout(() => { URL.revokeObjectURL(m), document.body.removeChild(J); }, 10); } async function G(X = 150, V = "filename") { var z, n; if (!Z.value) throw new Error("Current PDFDocumentProxy have not loaded yet"); const R = await ((z = Z.value) == null ? void 0 : z.saveDocument()), J = await D.getDocument(R.buffer).promise, T = X / 72, h = 96 / 72, y = await Al(), S = y.contentWindow; S.document.title = V; const p = [...Array(J.numPages).keys()].map((I) => I + 1); for (const I of p) { const N = await J.getPage(I), b = N.getViewport({ scale: 1 }); I === 1 && rl( S, b.width * T / h, b.height * T / h ); const c = document.createElement("canvas"); c.width = b.width * T, c.height = b.height * T; const L = c.cloneNode(); S == null || S.document.body.appendChild(L), await (N == null ? void 0 : N.render({ canvasContext: c.getContext("2d"), intent: "print", transform: [T, 0, 0, T, 0, 0], viewport: b }).promise), (n = L.getContext("2d")) == null || n.drawImage(c, 0, 0); } S == null || S.focus(), S == null || S.print(), document.body.removeChild(y); } return Ml(l) ? (l.value && W(l.value), C(l, () => { l.value && W(l.value); })) : l && W(l), { pdf: U, pages: F, info: Q, print: G, download: M, getPDFDestination: Y }; } const lU = { install(l) { l.component(Zl.name, Zl); } }; export { Zl as VuePDF, lU as VuePDFPlugin, lU as default, $l as usePDF };