vendor: 9,944 bytes, lines 1-301
1"use strict"; 2 3/* eslint-disable prefer-rest-params */ 4/* eslint-disable one-var */ 5/* eslint-disable vars-on-top */ 6/* eslint-disable no-var */ 7/* eslint-disable no-use-before-define */ 8/* eslint-disable no-unused-vars */ 9/* eslint-disable no-console */ 10/* eslint-disable no-undef */ 11/* eslint-disable no-new */ 12/* eslint-disable func-names */ 13/* eslint-disable prefer-arrow-callback */ 14/* eslint no-unused-vars: "off" */ 15/* global FullCalendar */ 16/* eslint-disable-next-line no-undef */ 17/* eslint-disable */ 18 19/** 20 * Swiper 11.2.10 21 * Most modern mobile touch slider and framework with hardware accelerated transitions 22 * https://swiperjs.com 23 * 24 * Copyright 2014-2025 Vladimir Kharlampidi 25 * 26 * Released under the MIT License 27 * 28 * Released on: June 28, 2025 29 */ 30 31var Swiper = function () { 32 "use strict"; 33 34 function e(e) { 35 return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object; 36 } 37 function t(s, a) { 38 void 0 === s && (s = {}), void 0 === a && (a = {}); 39 const i = ["__proto__", "constructor", "prototype"]; 40 Object.keys(a).filter(e => i.indexOf(e) < 0).forEach(i => { 41 void 0 === s[i] ? s[i] = a[i] : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i]); 42 }); 43 } 44 const s = { 45 body: {}, 46 addEventListener() {}, 47 removeEventListener() {}, 48 activeElement: { 49 blur() {}, 50 nodeName: "" 51 }, 52 querySelector: () => null, 53 querySelectorAll: () => [], 54 getElementById: () => null, 55 createEvent: () => ({ 56 initEvent() {} 57 }), 58 createElement: () => ({ 59 children: [], 60 childNodes: [], 61 style: {}, 62 setAttribute() {}, 63 getElementsByTagName: () => [] 64 }), 65 createElementNS: () => ({}), 66 importNode: () => null, 67 location: { 68 hash: "", 69 host: "", 70 hostname: "", 71 href: "", 72 origin: "", 73 pathname: "", 74 protocol: "", 75 search: "" 76 } 77 }; 78 function a() { 79 const e = "undefined" != typeof document ? document : {}; 80 return t(e, s), e; 81 } 82 const i = { 83 document: s, 84 navigator: { 85 userAgent: "" 86 }, 87 location: { 88 hash: "", 89 host: "", 90 hostname: "", 91 href: "", 92 origin: "", 93 pathname: "", 94 protocol: "", 95 search: "" 96 }, 97 history: { 98 replaceState() {}, 99 pushState() {}, 100 go() {}, 101 back() {} 102 }, 103 CustomEvent: function () { 104 return this; 105 }, 106 addEventListener() {}, 107 removeEventListener() {}, 108 getComputedStyle: () => ({ 109 getPropertyValue: () => "" 110 }), 111 Image() {}, 112 Date() {}, 113 screen: {}, 114 setTimeout() {}, 115 clearTimeout() {}, 116 matchMedia: () => ({}), 117 requestAnimationFrame: e => "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0), 118 cancelAnimationFrame(e) { 119 "undefined" != typeof setTimeout && clearTimeout(e); 120 } 121 }; 122 function r() { 123 const e = "undefined" != typeof window ? window : {}; 124 return t(e, i), e; 125 } 126 function n(e) { 127 return void 0 === e && (e = ""), e.trim().split(" ").filter(e => !!e.trim()); 128 } 129 function l(e, t) { 130 return void 0 === t && (t = 0), setTimeout(e, t); 131 } 132 function o() { 133 return Date.now(); 134 } 135 function d(e, t) { 136 void 0 === t && (t = "x"); 137 const s = r(); 138 let a, i, n; 139 const l = function (e) { 140 const t = r(); 141 let s; 142 return t.getComputedStyle && (s = t.getComputedStyle(e, null)), !s && e.currentStyle && (s = e.currentStyle), s || (s = e.style), s; 143 }(e); 144 return s.WebKitCSSMatrix ? (i = l.transform || l.webkitTransform, i.split(",").length > 6 && (i = i.split(", ").map(e => e.replace(",", ".")).join(", ")), n = new s.WebKitCSSMatrix("none" === i ? "" : i)) : (n = l.MozTransform || l.OTransform || l.MsTransform || l.msTransform || l.transform || l.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), a = n.toString().split(",")), "x" === t && (i = s.WebKitCSSMatrix ? n.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = s.WebKitCSSMatrix ? n.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0; 145 } 146 function c(e) { 147 return "object" == typeof e && null !== e && e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1); 148 } 149 function p() { 150 const e = Object(arguments.length <= 0 ? void 0 : arguments[0]), 151 t = ["__proto__", "constructor", "prototype"]; 152 for (let a = 1; a < arguments.length; a += 1) { 153 const i = a < 0 || arguments.length <= a ? void 0 : arguments[a]; 154 if (null != i && (s = i, !("undefined" != typeof window && void 0 !== window.HTMLElement ? s instanceof HTMLElement : s && (1 === s.nodeType || 11 === s.nodeType)))) { 155 const s = Object.keys(Object(i)).filter(e => t.indexOf(e) < 0); 156 for (let t = 0, a = s.length; t < a; t += 1) { 157 const a = s[t], 158 r = Object.getOwnPropertyDescriptor(i, a); 159 void 0 !== r && r.enumerable && (c(e[a]) && c(i[a]) ? i[a].__swiper__ ? e[a] = i[a] : p(e[a], i[a]) : !c(e[a]) && c(i[a]) ? (e[a] = {}, i[a].__swiper__ ? e[a] = i[a] : p(e[a], i[a])) : e[a] = i[a]); 160 } 161 } 162 } 163 var s; 164 return e; 165 } 166 function u(e, t, s) { 167 e.style.setProperty(t, s); 168 } 169 function m(e) { 170 let { 171 swiper: t, 172 targetPosition: s, 173 side: a 174 } = e; 175 const i = r(), 176 n = -t.translate; 177 let l, 178 o = null; 179 const d = t.params.speed; 180 t.wrapperEl.style.scrollSnapType = "none", i.cancelAnimationFrame(t.cssModeFrameID); 181 const c = s > n ? "next" : "prev", 182 p = (e, t) => "next" === c && e >= t || "prev" === c && e <= t, 183 u = () => { 184 l = new Date().getTime(), null === o && (o = l); 185 const e = Math.max(Math.min((l - o) / d, 1), 0), 186 r = .5 - Math.cos(e * Math.PI) / 2; 187 let c = n + r * (s - n); 188 if (p(c, s) && (c = s), t.wrapperEl.scrollTo({ 189 [a]: c 190 }), p(c, s)) return t.wrapperEl.style.overflow = "hidden", t.wrapperEl.style.scrollSnapType = "", setTimeout(() => { 191 t.wrapperEl.style.overflow = "", t.wrapperEl.scrollTo({ 192 [a]: c 193 }); 194 }), void i.cancelAnimationFrame(t.cssModeFrameID); 195 t.cssModeFrameID = i.requestAnimationFrame(u); 196 }; 197 u(); 198 } 199 function h(e) { 200 return e.querySelector(".swiper-slide-transform") || e.shadowRoot && e.shadowRoot.querySelector(".swiper-slide-transform") || e; 201 } 202 function f(e, t) { 203 void 0 === t && (t = ""); 204 const s = r(), 205 a = [...e.children]; 206 return s.HTMLSlotElement && e instanceof HTMLSlotElement && a.push(...e.assignedElements()), t ? a.filter(e => e.matches(t)) : a; 207 } 208 function g(e) { 209 try { 210 return void console.warn(e); 211 } catch (e) {} 212 } 213 function v(e, t) { 214 void 0 === t && (t = []); 215 const s = document.createElement(e); 216 return s.classList.add(...(Array.isArray(t) ? t : n(t))), s; 217 } 218 function w(e) { 219 const t = r(), 220 s = a(), 221 i = e.getBoundingClientRect(), 222 n = s.body, 223 l = e.clientTop || n.clientTop || 0, 224 o = e.clientLeft || n.clientLeft || 0, 225 d = e === t ? t.scrollY : e.scrollTop, 226 c = e === t ? t.scrollX : e.scrollLeft; 227 return { 228 top: i.top + d - l, 229 left: i.left + c - o 230 }; 231 } 232 function b(e, t) { 233 return r().getComputedStyle(e, null).getPropertyValue(t); 234 } 235 function y(e) { 236 let t, 237 s = e; 238 if (s) { 239 for (t = 0; null !== (s = s.previousSibling);) 1 === s.nodeType && (t += 1); 240 return t; 241 } 242 } 243 function E(e, t) { 244 const s = []; 245 let a = e.parentElement; 246 for (; a;) t ? a.matches(t) && s.push(a) : s.push(a), a = a.parentElement; 247 return s; 248 } 249 function x(e, t) { 250 t && e.addEventListener("transitionend", function s(a) { 251 a.target === e && (t.call(e, a), e.removeEventListener("transitionend", s)); 252 }); 253 } 254 function S(e, t, s) { 255 const a = r(); 256 return s ? e["width" === t ? "offsetWidth" : "offsetHeight"] + parseFloat(a.getComputedStyle(e, null).getPropertyValue("width" === t ? "margin-right" : "margin-top")) + parseFloat(a.getComputedStyle(e, null).getPropertyValue("width" === t ? "margin-left" : "margin-bottom")) : e.offsetWidth; 257 } 258 function T(e) { 259 return (Array.isArray(e) ? e : [e]).filter(e => !!e); 260 } 261 function M(e) { 262 return t => Math.abs(t) > 0 && e.browser && e.browser.need3dFix && Math.abs(t) % 90 == 0 ? t + .001 : t; 263 } 264 function C(e, t) { 265 void 0 === t && (t = ""), "undefined" != typeof trustedTypes ? e.innerHTML = trustedTypes.createPolicy("html", { 266 createHTML: e => e 267 }).createHTML(t) : e.innerHTML = t; 268 } 269 let P, L, I; 270 function z() { 271 return P || (P = function () { 272 const e = r(), 273 t = a(); 274 return { 275 smoothScroll: t.documentElement && t.documentElement.style && "scrollBehavior" in t.documentElement.style, 276 touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch) 277 }; 278 }()), P; 279 } 280 function A(e) { 281 return void 0 === e && (e = {}), L || (L = function (e) { 282 let { 283 userAgent: t 284 } = void 0 === e ? {} : e; 285 const s = z(), 286 a = r(), 287 i = a.navigator.platform, 288 n = t || a.navigator.userAgent, 289 l = { 290 ios: !1, 291 android: !1 292 }, 293 o = a.screen.width, 294 d = a.screen.height, 295 c = n.match(/(Android);?[\s\/]+([\d.]+)?/); 296 let p = n.match(/(iPad).*OS\s([\d_]+)/); 297 const u = n.match(/(iPod)(.*OS\s([\d_]+))?/), 298 m = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/), 299 h = "Win32" === i; 300 let f = "MacIntel" === i; 301 return !p && f && s.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(`${o}x${d}`) >= 0 && (p = n.match(/(Version)\/([\d.]+)/), p || (p = [0, 1, "13_0_0"]), f = !1), c && !h && (l.os
301= "android", l.android = !0), (p || m || u) && (l.os = "ios", l.ios = !0), l; 302 }(e)), L; 303 } 304 function $() { 305 return I || (I = function () { 306 const e = r(), 307 t = A(); 308 let s = !1; 309 function a() { 310 const t = e.navigator.userAgent.toLowerCase(); 311 return t.indexOf("safari") >= 0 && t.indexOf("chrome") < 0 && t.indexOf("android") < 0; 312 } 313 if (a()) { 314 const t = String(e.navigator.userAgent); 315 if (t.includes("Version/")) { 316 const [e, a] = t.split("Version/")[1].split(" ")[0].split(".").map(e => Number(e)); 317 s = e < 16 || 16 === e && a < 2; 318 } 319 } 320 const i = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent), 321 n = a(); 322 return { 323 isSafari: s || n, 324 needPerspectiveFix: s, 325 need3dFix: n || i && t.ios, 326 isWebView: i 327 }; 328 }()), I; 329 } 330 var k = { 331 on(e, t, s) { 332 const a = this; 333 if (!a.eventsListeners || a.destroyed) return a; 334 if ("function" != typeof t) return a; 335 const i = s ? "unshift" : "push"; 336 return e.split(" ").forEach(e => { 337 a.eventsListeners[e] || (a.eventsListeners[e] = []), a.eventsListeners[e][i](t); 338 }), a; 339 }, 340 once(e, t, s) { 341 const a = this; 342 if (!a.eventsListeners || a.destroyed) return a; 343 if ("function" != typeof t) return a; 344 function i() { 345 a.off(e, i), i.__emitterProxy && delete i.__emitterProxy; 346 for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++) r[n] = arguments[n]; 347 t.apply(a, r); 348 } 349 return i.__emitterProxy = t, a.on(e, i, s); 350 }, 351 onAny(e, t) { 352 const s = this; 353 if (!s.eventsListeners || s.destroyed) return s; 354 if ("function" != typeof e) return s; 355 const a = t ? "unshift" : "push"; 356 return s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s; 357 }, 358 offAny(e) { 359 const t = this; 360 if (!t.eventsListeners || t.destroyed) return t; 361 if (!t.eventsAnyListeners) return t; 362 const s = t.eventsAnyListeners.indexOf(e); 363 return s >= 0 && t.eventsAnyListeners.splice(s, 1), t; 364 }, 365 off(e, t) { 366 const s = this; 367 return !s.eventsListeners || s.destroyed ? s : s.eventsListeners ? (e.split(" ").forEach(e => { 368 void 0 === t ? s.eventsListeners[e] = [] : s.eventsListeners[e] && s.eventsListeners[e].forEach((a, i) => { 369 (a === t || a.__emitterProxy && a.__emitterProxy === t) && s.eventsListeners[e].splice(i, 1); 370 }); 371 }), s) : s; 372 }, 373 emit() { 374 const e = this; 375 if (!e.eventsListeners || e.destroyed) return e; 376 if (!e.eventsListeners) return e; 377 let t, s, a; 378 for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++) r[n] = arguments[n]; 379 "string" == typeof r[0] || Array.isArray(r[0]) ? (t = r[0], s = r.slice(1, r.length), a = e) : (t = r[0].events, s = r[0].data, a = r[0].context || e), s.unshift(a); 380 return (Array.isArray(t) ? t : t.split(" ")).forEach(t => { 381 e.eventsAnyListeners && e.eventsAnyListeners.length && e.eventsAnyListeners.forEach(e => { 382 e.apply(a, [t, ...s]); 383 }), e.eventsListeners && e.eventsListeners[t] && e.eventsListeners[t].forEach(e => { 384 e.apply(a, s); 385 }); 386 }), e; 387 } 388 }; 389 const O = (e, t, s) => { 390 t && !e.classList.contains(s) ? e.classList.add(s) : !t && e.classList.contains(s) && e.classList.remove(s); 391 }; 392 const D = (e, t, s) => { 393 t && !e.classList.contains(s) ? e.classList.add(s) : !t && e.classList.contains(s) && e.classList.remove(s); 394 }; 395 const G = (e, t) => { 396 if (!e || e.destroyed || !e.params) return; 397 const s = t.closest(e.isElement ? "swiper-slide" : `.${e.params.slideClass}`); 398 if (s) { 399 let t = s.querySelector(`.${e.params.lazyPreloaderClass}`); 400 !t && e.isElement && (s.shadowRoot ? t = s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`) : requestAnimationFrame(() => { 401 s.shadowRoot && (t = s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`), t && t.remove()); 402 })), t && t.remove(); 403 } 404 }, 405 X = (e, t) => { 406 if (!e.slides[t]) return; 407 const s = e.slides[t].querySelector('[loading="lazy"]'); 408 s && s.removeAttribute("loading"); 409 }, 410 Y = e => { 411 if (!e || e.destroyed || !e.params) return; 412 let t = e.params.lazyPreloadPrevNext; 413 const s = e.slides.length; 414 if (!s || !t || t < 0) return; 415 t = Math.min(t, s); 416 const a = "auto" === e.params.slidesPerView ? e.slidesPerViewDynamic() : Math.ceil(e.params.slidesPerView), 417 i = e.activeIndex; 418 if (e.params.grid && e.params.grid.rows > 1) { 419 const s = i, 420 r = [s - t]; 421 return r.push(...Array.from({ 422 length: t 423 }).map((e, t) =>
vendor: 6,028 bytes, lines 423-529
423 s + a + t)), void e.slides.forEach((t, s) => { 424 r.includes(t.column) && X(e, s); 425 }); 426 } 427 const r = i + a - 1; 428 if (e.params.rewind || e.params.loop) for (let a = i - t; a <= r + t; a += 1) { 429 const t = (a % s + s) % s; 430 (t < i || t > r) && X(e, t); 431 } else for (let a = Math.max(i - t, 0); a <= Math.min(r + t, s - 1); a += 1) a !== i && (a > r || a < i) && X(e, a); 432 }; 433 var B = { 434 updateSize: function () { 435 const e = this; 436 let t, s; 437 const a = e.el; 438 t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : a.clientWidth, s = void 0 !== e.params.height && null !== e.params.height ? e.params.height : a.clientHeight, 0 === t && e.isHorizontal() || 0 === s && e.isVertical() || (t = t - parseInt(b(a, "padding-left") || 0, 10) - parseInt(b(a, "padding-right") || 0, 10), s = s - parseInt(b(a, "padding-top") || 0, 10) - parseInt(b(a, "padding-bottom") || 0, 10), Number.isNaN(t) && (t = 0), Number.isNaN(s) && (s = 0), Object.assign(e, { 439 width: t, 440 height: s, 441 size: e.isHorizontal() ? t : s 442 })); 443 }, 444 updateSlides: function () { 445 const e = this; 446 function t(t, s) { 447 return parseFloat(t.getPropertyValue(e.getDirectionLabel(s)) || 0); 448 } 449 const s = e.params, 450 { 451 wrapperEl: a, 452 slidesEl: i, 453 size: r, 454 rtlTranslate: n, 455 wrongRTL: l 456 } = e, 457 o = e.virtual && s.virtual.enabled, 458 d = o ? e.virtual.slides.length : e.slides.length, 459 c = f(i, `.${e.params.slideClass}, swiper-slide`), 460 p = o ? e.virtual.slides.length : c.length; 461 let m = []; 462 const h = [], 463 g = []; 464 let v = s.slidesOffsetBefore; 465 "function" == typeof v && (v = s.slidesOffsetBefore.call(e)); 466 let w = s.slidesOffsetAfter; 467 "function" == typeof w && (w = s.slidesOffsetAfter.call(e)); 468 const y = e.snapGrid.length, 469 E = e.slidesGrid.length; 470 let x = s.spaceBetween, 471 T = -v, 472 M = 0, 473 C = 0; 474 if (void 0 === r) return; 475 "string" == typeof x && x.indexOf("%") >= 0 ? x = parseFloat(x.replace("%", "")) / 100 * r : "string" == typeof x && (x = parseFloat(x)), e.virtualSize = -x, c.forEach(e => { 476 n ? e.style.marginLeft = "" : e.style.marginRight = "", e.style.marginBottom = "", e.style.marginTop = ""; 477 }), s.centeredSlides && s.cssMode && (u(a, "--swiper-centered-offset-before", ""), u(a, "--swiper-centered-offset-after", "")); 478 const P = s.grid && s.grid.rows > 1 && e.grid; 479 let L; 480 P ? e.grid.initSlides(c) : e.grid && e.grid.unsetSlides(); 481 const I = "auto" === s.slidesPerView && s.breakpoints && Object.keys(s.breakpoints).filter(e => void 0 !== s.breakpoints[e].slidesPerView).length > 0; 482 for (let a = 0; a < p; a += 1) { 483 let i; 484 if (L = 0, c[a] && (i = c[a]), P && e.grid.updateSlide(a, i, c), !c[a] || "none" !== b(i, "display")) { 485 if ("auto" === s.slidesPerView) { 486 I && (c[a].style[e.getDirectionLabel("width")] = ""); 487 const r = getComputedStyle(i), 488 n = i.style.transform, 489 l = i.style.webkitTransform; 490 if (n && (i.style.transform = "none"), l && (i.style.webkitTransform = "none"), s.roundLengths) L = e.isHorizontal() ? S(i, "width", !0) : S(i, "height", !0);else { 491 const e = t(r, "width"), 492 s = t(r, "padding-left"), 493 a = t(r, "padding-right"), 494 n = t(r, "margin-left"), 495 l = t(r, "margin-right"), 496 o = r.getPropertyValue("box-sizing"); 497 if (o && "border-box" === o) L = e + n + l;else { 498 const { 499 clientWidth: t, 500 offsetWidth: r 501 } = i; 502 L = e + s + a + n + l + (r - t); 503 } 504 } 505 n && (i.style.transform = n), l && (i.style.webkitTransform = l), s.roundLengths && (L = Math.floor(L)); 506 } else L = (r - (s.slidesPerView - 1) * x) / s.slidesPerView, s.roundLengths && (L = Math.floor(L)), c[a] && (c[a].style[e.getDirectionLabel("width")] = `${L}px`); 507 c[a] && (c[a].swiperSlideSize = L), g.push(L), s.centeredSlides ? (T = T + L / 2 + M / 2 + x, 0 === M && 0 !== a && (T = T - r / 2 - x), 0 === a && (T = T - r / 2 - x), Math.abs(T) < .001 && (T = 0), s.roundLengths && (T = Math.floor(T)), C % s.slidesPerGroup == 0 && m.push(T), h.push(T)) : (s.roundLengths && (T = Math.floor(T)), (C - Math.min(e.params.slidesPerGroupSkip, C)) % e.params.slidesPerGroup == 0 && m.push(T), h.push(T), T = T + L + x), e.virtualSize += L + x, M = L, C += 1; 508 } 509 } 510 if (e.virtualSize = Math.max(e.virtualSize, r) + w, n && l && ("slide" === s.effect || "coverflow" === s.effect) && (a.style.width = `${e.virtualSize + x}px`), s.setWrapperSize && (a.style[e.getDirectionLabel("width")] = `${e.virtualSize + x}px`), P && e.grid.updateWrapperSize(L, m), !s.centeredSlides) { 511 const t = []; 512 for (let a = 0; a < m.length; a += 1) { 513 let i = m[a]; 514 s.roundLengths && (i = Math.floor(i)), m[a] <= e.virtualSize - r && t.push(i); 515 } 516 m = t, Math.floor(e.virtualSize - r) - Math.floor(m[m.length - 1]) > 1 && m.push(e.virtualSize - r); 517 } 518 if (o && s.loop) { 519 const t = g[0] + x; 520 if (s.slidesPerGroup > 1) { 521 const a = Math.ceil((e.virtual.slidesBefore + e.virtual.slidesAfter) / s.slidesPerGroup), 522 i = t * s.slidesPerGroup; 523 for (let e = 0; e < a; e += 1) m.push(m[m.length - 1] + i); 524 } 525 for (let a = 0; a < e.virtual.slidesBefore + e.virtual.slidesAfter; a += 1) 1 === s.slidesPerGroup && m.push(m[m.length - 1] + t), h.push(h[h.length - 1] + t), e.virtualSize += t; 526 } 527 if (0 === m.length && (m = [0]), 0 !== x) { 528 const t = e.isHorizontal() && n ? "marginLeft" : e.getDirectionLabel("marginRight"); 529 c.filter((e, t) =>
vendor: 10,084 bytes, lines 529-758
529 !(s.cssMode && !s.loop) || t !== c.length - 1).forEach(e => { 530 e.style[t] = `${x}px`; 531 }); 532 } 533 if (s.centeredSlides && s.centeredSlidesBounds) { 534 let e = 0; 535 g.forEach(t => { 536 e += t + (x || 0); 537 }), e -= x; 538 const t = e > r ? e - r : 0; 539 m = m.map(e => e <= 0 ? -v : e > t ? t + w : e); 540 } 541 if (s.centerInsufficientSlides) { 542 let e = 0; 543 g.forEach(t => { 544 e += t + (x || 0); 545 }), e -= x; 546 const t = (s.slidesOffsetBefore || 0) + (s.slidesOffsetAfter || 0); 547 if (e + t < r) { 548 const s = (r - e - t) / 2; 549 m.forEach((e, t) => { 550 m[t] = e - s; 551 }), h.forEach((e, t) => { 552 h[t] = e + s; 553 }); 554 } 555 } 556 if (Object.assign(e, { 557 slides: c, 558 snapGrid: m, 559 slidesGrid: h, 560 slidesSizesGrid: g 561 }), s.centeredSlides && s.cssMode && !s.centeredSlidesBounds) { 562 u(a, "--swiper-centered-offset-before", -m[0] + "px"), u(a, "--swiper-centered-offset-after", e.size / 2 - g[g.length - 1] / 2 + "px"); 563 const t = -e.snapGrid[0], 564 s = -e.slidesGrid[0]; 565 e.snapGrid = e.snapGrid.map(e => e + t), e.slidesGrid = e.slidesGrid.map(e => e + s); 566 } 567 if (p !== d && e.emit("slidesLengthChange"), m.length !== y && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), h.length !== E && e.emit("slidesGridLengthChange"), s.watchSlidesProgress && e.updateSlidesOffset(), e.emit("slidesUpdated"), !(o || s.cssMode || "slide" !== s.effect && "fade" !== s.effect)) { 568 const t = `${s.containerModifierClass}backface-hidden`, 569 a = e.el.classList.contains(t); 570 p <= s.maxBackfaceHiddenSlides ? a || e.el.classList.add(t) : a && e.el.classList.remove(t); 571 } 572 }, 573 updateAutoHeight: function (e) { 574 const t = this, 575 s = [], 576 a = t.virtual && t.params.virtual.enabled; 577 let i, 578 r = 0; 579 "number" == typeof e ? t.setTransition(e) : !0 === e && t.setTransition(t.params.speed); 580 const n = e => a ? t.slides[t.getSlideIndexByData(e)] : t.slides[e]; 581 if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1) { 582 if (t.params.centeredSlides) (t.visibleSlides || []).forEach(e => { 583 s.push(e); 584 });else for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) { 585 const e = t.activeIndex + i; 586 if (e > t.slides.length && !a) break; 587 s.push(n(e)); 588 } 589 } else s.push(n(t.activeIndex)); 590 for (i = 0; i < s.length; i += 1) if (void 0 !== s[i]) { 591 const e = s[i].offsetHeight; 592 r = e > r ? e : r; 593 } 594 (r || 0 === r) && (t.wrapperEl.style.height = `${r}px`); 595 }, 596 updateSlidesOffset: function () { 597 const e = this, 598 t = e.slides, 599 s = e.isElement ? e.isHorizontal() ? e.wrapperEl.offsetLeft : e.wrapperEl.offsetTop : 0; 600 for (let a = 0; a < t.length; a += 1) t[a].swiperSlideOffset = (e.isHorizontal() ? t[a].offsetLeft : t[a].offsetTop) - s - e.cssOverflowAdjustment(); 601 }, 602 updateSlidesProgress: function (e) { 603 void 0 === e && (e = this && this.translate || 0); 604 const t = this, 605 s = t.params, 606 { 607 slides: a, 608 rtlTranslate: i, 609 snapGrid: r 610 } = t; 611 if (0 === a.length) return; 612 void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset(); 613 let n = -e; 614 i && (n = e), t.visibleSlidesIndexes = [], t.visibleSlides = []; 615 let l = s.spaceBetween; 616 "string" == typeof l && l.indexOf("%") >= 0 ? l = parseFloat(l.replace("%", "")) / 100 * t.size : "string" == typeof l && (l = parseFloat(l)); 617 for (let e = 0; e < a.length; e += 1) { 618 const o = a[e]; 619 let d = o.swiperSlideOffset; 620 s.cssMode && s.centeredSlides && (d -= a[0].swiperSlideOffset); 621 const c = (n + (s.centeredSlides ? t.minTranslate() : 0) - d) / (o.swiperSlideSize + l), 622 p = (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - d) / (o.swiperSlideSize + l), 623 u = -(n - d), 624 m = u + t.slidesSizesGrid[e], 625 h = u >= 0 && u <= t.size - t.slidesSizesGrid[e], 626 f = u >= 0 && u < t.size - 1 || m > 1 && m <= t.size || u <= 0 && m >= t.size; 627 f && (t.visibleSlides.push(o), t.visibleSlidesIndexes.push(e)), O(o, f, s.slideVisibleClass), O(o, h, s.slideFullyVisibleClass), o.progress = i ? -c : c, o.originalProgress = i ? -p : p; 628 } 629 }, 630 updateProgress: function (e) { 631 const t = this; 632 if (void 0 === e) { 633 const s = t.rtlTranslate ? -1 : 1; 634 e = t && t.translate && t.translate * s || 0; 635 } 636 const s = t.params, 637 a = t.maxTranslate() - t.minTranslate(); 638 let { 639 progress: i, 640 isBeginning: r, 641 isEnd: n, 642 progressLoop: l 643 } = t; 644 const o = r, 645 d = n; 646 if (0 === a) i = 0, r = !0, n = !0;else { 647 i = (e - t.minTranslate()) / a; 648 const s = Math.abs(e - t.minTranslate()) < 1, 649 l = Math.abs(e - t.maxTranslate()) < 1; 650 r = s || i <= 0, n = l || i >= 1, s && (i = 0), l && (i = 1); 651 } 652 if (s.loop) { 653 const s = t.getSlideIndexByData(0), 654 a = t.getSlideIndexByData(t.slides.length - 1), 655 i = t.slidesGrid[s], 656 r = t.slidesGrid[a], 657 n = t.slidesGrid[t.slidesGrid.length - 1], 658 o = Math.abs(e); 659 l = o >= i ? (o - i) / n : (o + n - r) / n, l > 1 && (l -= 1); 660 } 661 Object.assign(t, { 662 progress: i, 663 progressLoop: l, 664 isBeginning: r, 665 isEnd: n 666 }), (s.watchSlidesProgress || s.centeredSlides && s.autoHeight) && t.updateSlidesProgress(e), r && !o && t.emit("reachBeginning toEdge"), n && !d && t.emit("reachEnd toEdge"), (o && !r || d && !n) && t.emit("fromEdge"), t.emit("progress", i); 667 }, 668 updateSlidesClasses: function () { 669 const e = this, 670 { 671 slides: t, 672 params: s, 673 slidesEl: a, 674 activeIndex: i 675 } = e, 676 r = e.virtual && s.virtual.enabled, 677 n = e.grid && s.grid && s.grid.rows > 1, 678 l = e => f(a, `.${s.slideClass}${e}, swiper-slide${e}`)[0]; 679 let o, d, c; 680 if (r) { 681 if (s.loop) { 682 let t = i - e.virtual.slidesBefore; 683 t < 0 && (t = e.virtual.slides.length + t), t >= e.virtual.slides.length && (t -= e.virtual.slides.length), o = l(`[data-swiper-slide-index="${t}"]`); 684 } else o = l(`[data-swiper-slide-index="${i}"]`); 685 } else n ? (o = t.find(e => e.column === i), c = t.find(e => e.column === i + 1), d = t.find(e => e.column === i - 1)) : o = t[i]; 686 o && (n || (c = function (e, t) { 687 const s = []; 688 for (; e.nextElementSibling;) { 689 const a = e.nextElementSibling; 690 t ? a.matches(t) && s.push(a) : s.push(a), e = a; 691 } 692 return s; 693 }(o, `.${s.slideClass}, swiper-slide`)[0], s.loop && !c && (c = t[0]), d = function (e, t) { 694 const s = []; 695 for (; e.previousElementSibling;) { 696 const a = e.previousElementSibling; 697 t ? a.matches(t) && s.push(a) : s.push(a), e = a; 698 } 699 return s; 700 }(o, `.${s.slideClass}, swiper-slide`)[0], s.loop && 0 === !d && (d = t[t.length - 1]))), t.forEach(e => { 701 D(e, e === o, s.slideActiveClass), D(e, e === c, s.slideNextClass), D(e, e === d, s.slidePrevClass); 702 }), e.emitSlidesClasses(); 703 }, 704 updateActiveIndex: function (e) { 705 const t = this, 706 s = t.rtlTranslate ? t.translate : -t.translate, 707 { 708 snapGrid: a, 709 params: i, 710 activeIndex: r, 711 realIndex: n, 712 snapIndex: l 713 } = t; 714 let o, 715 d = e; 716 const c = e => { 717 let s = e - t.virtual.slidesBefore; 718 return s < 0 && (s = t.virtual.slides.length + s), s >= t.virtual.slides.length && (s -= t.virtual.slides.length), s; 719 }; 720 if (void 0 === d && (d = function (e) { 721 const { 722 slidesGrid: t, 723 params: s 724 } = e, 725 a = e.rtlTranslate ? e.translate : -e.translate; 726 let i; 727 for (let e = 0; e < t.length; e += 1) void 0 !== t[e + 1] ? a >= t[e] && a < t[e + 1] - (t[e + 1] - t[e]) / 2 ? i = e : a >= t[e] && a < t[e + 1] && (i = e + 1) : a >= t[e] && (i = e); 728 return s.normalizeSlideIndex && (i < 0 || void 0 === i) && (i = 0), i; 729 }(t)), a.indexOf(s) >= 0) o = a.indexOf(s);else { 730 const e = Math.min(i.slidesPerGroupSkip, d); 731 o = e + Math.floor((d - e) / i.slidesPerGroup); 732 } 733 if (o >= a.length && (o = a.length - 1), d === r && !t.params.loop) return void (o !== l && (t.snapIndex = o, t.emit("snapIndexChange"))); 734 if (d === r && t.params.loop && t.virtual && t.params.virtual.enabled) return void (t.realIndex = c(d)); 735 const p = t.grid && i.grid && i.grid.rows > 1; 736 let u; 737 if (t.virtual && i.virtual.enabled && i.loop) u = c(d);else if (p) { 738 const e = t.slides.find(e => e.column === d); 739 let s = parseInt(e.getAttribute("data-swiper-slide-index"), 10); 740 Number.isNaN(s) && (s = Math.max(t.slides.indexOf(e), 0)), u = Math.floor(s / i.grid.rows); 741 } else if (t.slides[d]) { 742 const e = t.slides[d].getAttribute("data-swiper-slide-index"); 743 u = e ? parseInt(e, 10) : d; 744 } else u = d; 745 Object.assign(t, { 746 previousSnapIndex: l, 747 snapIndex: o, 748 previousRealIndex: n, 749 realIndex: u, 750 previousIndex: r, 751 activeIndex: d 752 }), t.initialized && Y(t), t.emit("activeIndexChange"), t.emit("snapIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && (n !== u && t.emit("realIndexChange"), t.emit("slideChange")); 753 }, 754 updateClickedSlide: function (e, t) { 755 const s = this, 756 a = s.params; 757 let i = e.closest(`.${a.slideClass}, swiper-slide`); 758 !i && s.isElement && t && t.length > 1 && t.includes(e) && [...t.slice(t.indexOf(e) + 1, t.length)].forEac
vendor: 5,171 bytes, lines 758-877
758h(e => { 759 !i && e.matches && e.matches(`.${a.slideClass}, swiper-slide`) && (i = e); 760 }); 761 let r, 762 n = !1; 763 if (i) for (let e = 0; e < s.slides.length; e += 1) if (s.slides[e] === i) { 764 n = !0, r = e; 765 break; 766 } 767 if (!i || !n) return s.clickedSlide = void 0, void (s.clickedIndex = void 0); 768 s.clickedSlide = i, s.virtual && s.params.virtual.enabled ? s.clickedIndex = parseInt(i.getAttribute("data-swiper-slide-index"), 10) : s.clickedIndex = r, a.slideToClickedSlide && void 0 !== s.clickedIndex && s.clickedIndex !== s.activeIndex && s.slideToClickedSlide(); 769 } 770 }; 771 var H = { 772 getTranslate: function (e) { 773 void 0 === e && (e = this.isHorizontal() ? "x" : "y"); 774 const { 775 params: t, 776 rtlTranslate: s, 777 translate: a, 778 wrapperEl: i 779 } = this; 780 if (t.virtualTranslate) return s ? -a : a; 781 if (t.cssMode) return a; 782 let r = d(i, e); 783 return r += this.cssOverflowAdjustment(), s && (r = -r), r || 0; 784 }, 785 setTranslate: function (e, t) { 786 const s = this, 787 { 788 rtlTranslate: a, 789 params: i, 790 wrapperEl: r, 791 progress: n 792 } = s; 793 let l, 794 o = 0, 795 d = 0; 796 s.isHorizontal() ? o = a ? -e : e : d = e, i.roundLengths && (o = Math.floor(o), d = Math.floor(d)), s.previousTranslate = s.translate, s.translate = s.isHorizontal() ? o : d, i.cssMode ? r[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal() ? -o : -d : i.virtualTranslate || (s.isHorizontal() ? o -= s.cssOverflowAdjustment() : d -= s.cssOverflowAdjustment(), r.style.transform = `translate3d(${o}px, ${d}px, 0px)`); 797 const c = s.maxTranslate() - s.minTranslate(); 798 l = 0 === c ? 0 : (e - s.minTranslate()) / c, l !== n && s.updateProgress(e), s.emit("setTranslate", s.translate, t); 799 }, 800 minTranslate: function () { 801 return -this.snapGrid[0]; 802 }, 803 maxTranslate: function () { 804 return -this.snapGrid[this.snapGrid.length - 1]; 805 }, 806 translateTo: function (e, t, s, a, i) { 807 void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === s && (s = !0), void 0 === a && (a = !0); 808 const r = this, 809 { 810 params: n, 811 wrapperEl: l 812 } = r; 813 if (r.animating && n.preventInteractionOnTransition) return !1; 814 const o = r.minTranslate(), 815 d = r.maxTranslate(); 816 let c; 817 if (c = a && e > o ? o : a && e < d ? d : e, r.updateProgress(c), n.cssMode) { 818 const e = r.isHorizontal(); 819 if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c;else { 820 if (!r.support.smoothScroll) return m({ 821 swiper: r, 822 targetPosition: -c, 823 side: e ? "left" : "top" 824 }), !0; 825 l.scrollTo({ 826 [e ? "left" : "top"]: -c, 827 behavior: "smooth" 828 }); 829 } 830 return !0; 831 } 832 return 0 === t ? (r.setTransition(0), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd"))) : (r.setTransition(t), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionStart")), r.animating || (r.animating = !0, r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function (e) { 833 r && !r.destroyed && e.target === this && (r.wrapperEl.removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.onTranslateToWrapperTransitionEnd = null, delete r.onTranslateToWrapperTransitionEnd, r.animating = !1, s && r.emit("transitionEnd")); 834 }), r.wrapperEl.addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd))), !0; 835 } 836 }; 837 function N(e) { 838 let { 839 swiper: t, 840 runCallbacks: s, 841 direction: a, 842 step: i 843 } = e; 844 const { 845 activeIndex: r, 846 previousIndex: n 847 } = t; 848 let l = a; 849 l || (l = r > n ? "next" : r < n ? "prev" : "reset"), t.emit(`transition${i}`), s && "reset" === l ? t.emit(`slideResetTransition${i}`) : s && r !== n && (t.emit(`slideChangeTransition${i}`), "next" === l ? t.emit(`slideNextTransition${i}`) : t.emit(`slidePrevTransition${i}`)); 850 } 851 var R = { 852 slideTo: function (e, t, s, a, i) { 853 void 0 === e && (e = 0), void 0 === s && (s = !0), "string" == typeof e && (e = parseInt(e, 10)); 854 const r = this; 855 let n = e; 856 n < 0 && (n = 0); 857 const { 858 params: l, 859 snapGrid: o, 860 slidesGrid: d, 861 previousIndex: c, 862 activeIndex: p, 863 rtlTranslate: u, 864 wrapperEl: h, 865 enabled: f 866 } = r; 867 if (!f && !a && !i || r.destroyed || r.animating && l.preventInteractionOnTransition) return !1; 868 void 0 === t && (t = r.params.speed); 869 const g = Math.min(r.params.slidesPerGroupSkip, n); 870 let v = g + Math.floor((n - g) / r.params.slidesPerGroup); 871 v >= o.length && (v = o.length - 1); 872 const w = -o[v]; 873 if (l.normalizeSlideIndex) for (let e = 0; e < d.length; e += 1) { 874 const t = -Math.floor(100 * w), 875 s = Math.floor(100 * d[e]), 876 a = Math.floor(100 * d[e + 1]); 877 void 0 !== d[e + 1] ? t >
vendor: 10,065 bytes, lines 877-1093
877= s && t < a - (a - s) / 2 ? n = e : t >= s && t < a && (n = e + 1) : t >= s && (n = e); 878 } 879 if (r.initialized && n !== p) { 880 if (!r.allowSlideNext && (u ? w > r.translate && w > r.minTranslate() : w < r.translate && w < r.minTranslate())) return !1; 881 if (!r.allowSlidePrev && w > r.translate && w > r.maxTranslate() && (p || 0) !== n) return !1; 882 } 883 let b; 884 n !== (c || 0) && s && r.emit("beforeSlideChangeStart"), r.updateProgress(w), b = n > p ? "next" : n < p ? "prev" : "reset"; 885 const y = r.virtual && r.params.virtual.enabled; 886 if (!(y && i) && (u && -w === r.translate || !u && w === r.translate)) return r.updateActiveIndex(n), l.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== l.effect && r.setTranslate(w), "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)), !1; 887 if (l.cssMode) { 888 const e = r.isHorizontal(), 889 s = u ? w : -w; 890 if (0 === t) y && (r.wrapperEl.style.scrollSnapType = "none", r._immediateVirtual = !0), y && !r._cssModeVirtualInitialSet && r.params.initialSlide > 0 ? (r._cssModeVirtualInitialSet = !0, requestAnimationFrame(() => { 891 h[e ? "scrollLeft" : "scrollTop"] = s; 892 })) : h[e ? "scrollLeft" : "scrollTop"] = s, y && requestAnimationFrame(() => { 893 r.wrapperEl.style.scrollSnapType = "", r._immediateVirtual = !1; 894 });else { 895 if (!r.support.smoothScroll) return m({ 896 swiper: r, 897 targetPosition: s, 898 side: e ? "left" : "top" 899 }), !0; 900 h.scrollTo({ 901 [e ? "left" : "top"]: s, 902 behavior: "smooth" 903 }); 904 } 905 return !0; 906 } 907 const E = $().isSafari; 908 return y && !i && E && r.isElement && r.virtual.update(!1, !1, n), r.setTransition(t), r.setTranslate(w), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, a), r.transitionStart(s, b), 0 === t ? r.transitionEnd(s, b) : r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function (e) { 909 r && !r.destroyed && e.target === this && (r.wrapperEl.removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(s, b)); 910 }), r.wrapperEl.addEventListener("transitionend", r.onSlideToWrapperTransitionEnd)), !0; 911 }, 912 slideToLoop: function (e, t, s, a) { 913 if (void 0 === e && (e = 0), void 0 === s && (s = !0), "string" == typeof e) { 914 e = parseInt(e, 10); 915 } 916 const i = this; 917 if (i.destroyed) return; 918 void 0 === t && (t = i.params.speed); 919 const r = i.grid && i.params.grid && i.params.grid.rows > 1; 920 let n = e; 921 if (i.params.loop) if (i.virtual && i.params.virtual.enabled) n += i.virtual.slidesBefore;else { 922 let e; 923 if (r) { 924 const t = n * i.params.grid.rows; 925 e = i.slides.find(e => 1 * e.getAttribute("data-swiper-slide-index") === t).column; 926 } else e = i.getSlideIndexByData(n); 927 const t = r ? Math.ceil(i.slides.length / i.params.grid.rows) : i.slides.length, 928 { 929 centeredSlides: s 930 } = i.params; 931 let l = i.params.slidesPerView; 932 "auto" === l ? l = i.slidesPerViewDynamic() : (l = Math.ceil(parseFloat(i.params.slidesPerView, 10)), s && l % 2 == 0 && (l += 1)); 933 let o = t - e < l; 934 if (s && (o = o || e < Math.ceil(l / 2)), a && s && "auto" !== i.params.slidesPerView && !r && (o = !1), o) { 935 const a = s ? e < i.activeIndex ? "prev" : "next" : e - i.activeIndex - 1 < i.params.slidesPerView ? "next" : "prev"; 936 i.loopFix({ 937 direction: a, 938 slideTo: !0, 939 activeSlideIndex: "next" === a ? e + 1 : e - t + 1, 940 slideRealIndex: "next" === a ? i.realIndex : void 0 941 }); 942 } 943 if (r) { 944 const e = n * i.params.grid.rows; 945 n = i.slides.find(t => 1 * t.getAttribute("data-swiper-slide-index") === e).column; 946 } else n = i.getSlideIndexByData(n); 947 } 948 return requestAnimationFrame(() => { 949 i.slideTo(n, t, s, a); 950 }), i; 951 }, 952 slideNext: function (e, t, s) { 953 void 0 === t && (t = !0); 954 const a = this, 955 { 956 enabled: i, 957 params: r, 958 animating: n 959 } = a; 960 if (!i || a.destroyed) return a; 961 void 0 === e && (e = a.params.speed); 962 let l = r.slidesPerGroup; 963 "auto" === r.slidesPerView && 1 === r.slidesPerGroup && r.slidesPerGroupAuto && (l = Math.max(a.slidesPerViewDynamic("current", !0), 1)); 964 const o = a.activeIndex < r.slidesPerGroupSkip ? 1 : l, 965 d = a.virtual && r.virtual.enabled; 966 if (r.loop) { 967 if (n && !d && r.loopPreventsSliding) return !1; 968 if (a.loopFix({ 969 direction: "next" 970 }), a._clientLeft = a.wrapperEl.clientLeft, a.activeIndex === a.slides.length - 1 && r.cssMode) return requestAnimationFrame(() => { 971 a.slideTo(a.activeIndex + o, e, t, s); 972 }), !0; 973 } 974 return r.rewind && a.isEnd ? a.slideTo(0, e, t, s) : a.slideTo(a.activeIndex + o, e, t, s); 975 }, 976 slidePrev: function (e, t, s) { 977 void 0 === t && (t = !0); 978 const a = this, 979 { 980 params: i, 981 snapGrid: r, 982 slidesGrid: n, 983 rtlTranslate: l, 984 enabled: o, 985 animating: d 986 } = a; 987 if (!o || a.destroyed) return a; 988 void 0 === e && (e = a.params.speed); 989 const c = a.virtual && i.virtual.enabled; 990 if (i.loop) { 991 if (d && !c && i.loopPreventsSliding) return !1; 992 a.loopFix({ 993 direction: "prev" 994 }), a._clientLeft = a.wrapperEl.clientLeft; 995 } 996 function p(e) { 997 return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e); 998 } 999 const u = p(l ? a.translate : -a.translate), 1000 m = r.map(e => p(e)), 1001 h = i.freeMode && i.freeMode.enabled; 1002 let f = r[m.indexOf(u) - 1]; 1003 if (void 0 === f && (i.cssMode || h)) { 1004 let e; 1005 r.forEach((t, s) => { 1006 u >= t && (e = s); 1007 }), void 0 !== e && (f = h ? r[e] : r[e > 0 ? e - 1 : e]); 1008 } 1009 let g = 0; 1010 if (void 0 !== f && (g = n.indexOf(f), g < 0 && (g = a.activeIndex - 1), "auto" === i.slidesPerView && 1 === i.slidesPerGroup && i.slidesPerGroupAuto && (g = g - a.slidesPerViewDynamic("previous", !0) + 1, g = Math.max(g, 0))), i.rewind && a.isBeginning) { 1011 const i = a.params.virtual && a.params.virtual.enabled && a.virtual ? a.virtual.slides.length - 1 : a.slides.length - 1; 1012 return a.slideTo(i, e, t, s); 1013 } 1014 return i.loop && 0 === a.activeIndex && i.cssMode ? (requestAnimationFrame(() => { 1015 a.slideTo(g, e, t, s); 1016 }), !0) : a.slideTo(g, e, t, s); 1017 }, 1018 slideReset: function (e, t, s) { 1019 void 0 === t && (t = !0); 1020 const a = this; 1021 if (!a.destroyed) return void 0 === e && (e = a.params.speed), a.slideTo(a.activeIndex, e, t, s); 1022 }, 1023 slideToClosest: function (e, t, s, a) { 1024 void 0 === t && (t = !0), void 0 === a && (a = .5); 1025 const i = this; 1026 if (i.destroyed) return; 1027 void 0 === e && (e = i.params.speed); 1028 let r = i.activeIndex; 1029 const n = Math.min(i.params.slidesPerGroupSkip, r), 1030 l = n + Math.floor((r - n) / i.params.slidesPerGroup), 1031 o = i.rtlTranslate ? i.translate : -i.translate; 1032 if (o >= i.snapGrid[l]) { 1033 const e = i.snapGrid[l]; 1034 o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup); 1035 } else { 1036 const e = i.snapGrid[l - 1]; 1037 o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup); 1038 } 1039 return r = Math.max(r, 0), r = Math.min(r, i.slidesGrid.length - 1), i.slideTo(r, e, t, s); 1040 }, 1041 slideToClickedSlide: function () { 1042 const e = this; 1043 if (e.destroyed) return; 1044 const { 1045 params: t, 1046 slidesEl: s 1047 } = e, 1048 a = "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView; 1049 let i, 1050 r = e.getSlideIndexWhenGrid(e.clickedIndex); 1051 const n = e.isElement ? "swiper-slide" : `.${t.slideClass}`, 1052 o = e.grid && e.params.grid && e.params.grid.rows > 1; 1053 if (t.loop) { 1054 if (e.animating) return; 1055 i = parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10), t.centeredSlides ? e.slideToLoop(i) : r > (o ? (e.slides.length - a) / 2 - (e.params.grid.rows - 1) : e.slides.length - a) ? (e.loopFix(), r = e.getSlideIndex(f(s, `${n}[data-swiper-slide-index="${i}"]`)[0]), l(() => { 1056 e.slideTo(r); 1057 })) : e.slideTo(r); 1058 } else e.slideTo(r); 1059 } 1060 }; 1061 var _ = { 1062 loopCreate: function (e, t) { 1063 const s = this, 1064 { 1065 params: a, 1066 slidesEl: i 1067 } = s; 1068 if (!a.loop || s.virtual && s.params.virtual.enabled) return; 1069 const r = () => { 1070 f(i, `.${a.slideClass}, swiper-slide`).forEach((e, t) => { 1071 e.setAttribute("data-swiper-slide-index", t); 1072 }); 1073 }, 1074 n = s.grid && a.grid && a.grid.rows > 1; 1075 a.loopAddBlankSlides && (a.slidesPerGroup > 1 || n) && (() => { 1076 const e = f(i, `.${a.slideBlankClass}`); 1077 e.forEach(e => { 1078 e.remove(); 1079 }), e.length > 0 && (s.recalcSlides(), s.updateSlides()); 1080 })(); 1081 const l = a.slidesPerGroup * (n ? a.grid.rows : 1), 1082 o = s.slides.length % l != 0, 1083 d = n && s.slides.length % a.grid.rows != 0, 1084 c = e => { 1085 for (let t = 0; t < e; t += 1) { 1086 const e = s.isElement ? v("swiper-slide", [a.slideBlankClass]) : v("div", [a.slideClass, a.slideBlankClass]); 1087 s.slidesEl.append(e); 1088 } 1089 }; 1090 if (o) { 1091 if (a.loopAddBlankSlides) { 1092 c(l - s.slides.length % l), s.recalcSlides(), s.updateSlides(); 1093 } else g("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may
vendor: 1,822 bytes, lines 1093-1134
1093not function properly. You need to add more slides (or make duplicates, or empty slides)"); 1094 r(); 1095 } else if (d) { 1096 if (a.loopAddBlankSlides) { 1097 c(a.grid.rows - s.slides.length % a.grid.rows), s.recalcSlides(), s.updateSlides(); 1098 } else g("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"); 1099 r(); 1100 } else r(); 1101 s.loopFix({ 1102 slideRealIndex: e, 1103 direction: a.centeredSlides ? void 0 : "next", 1104 initial: t 1105 }); 1106 }, 1107 loopFix: function (e) { 1108 let { 1109 slideRealIndex: t, 1110 slideTo: s = !0, 1111 direction: a, 1112 setTranslate: i, 1113 activeSlideIndex: r, 1114 initial: n, 1115 byController: l, 1116 byMousewheel: o 1117 } = void 0 === e ? {} : e; 1118 const d = this; 1119 if (!d.params.loop) return; 1120 d.emit("beforeLoopFix"); 1121 const { 1122 slides: c, 1123 allowSlidePrev: p, 1124 allowSlideNext: u, 1125 slidesEl: m, 1126 params: h 1127 } = d, 1128 { 1129 centeredSlides: f, 1130 initialSlide: v 1131 } = h; 1132 if (d.allowSlidePrev = !0, d.allowSlideNext = !0, d.virtual && h.virtual.enabled) return s && (h.centeredSlides || 0 !== d.snapIndex ? h.centeredSlides && d.snapIndex < h.slidesPerView ? d.slideTo(d.virtual.slides.length + d.snapIndex, 0, !1, !0) : d.snapIndex === d.snapGrid.length - 1 && d.slideTo(d.virtual.slidesBefore, 0, !1, !0) : d.slideTo(d.virtual.slides.length, 0, !1, !0)), d.allowSlidePrev = p, d.allowSlideNext = u, void d.emit("loopFix"); 1133 let w = h.slidesPerView; 1134 "auto" === w ? w = d.slidesPerViewDynamic() : (w = Math.ceil(parseFloat(h.slidesPerView, 10)), f && w % 2 == 0 && (w += 1)
vendor: 14,106 bytes, lines 1134-1394
1134); 1135 const b = h.slidesPerGroupAuto ? w : h.slidesPerGroup; 1136 let y = f ? Math.max(b, Math.ceil(w / 2)) : b; 1137 y % b != 0 && (y += b - y % b), y += h.loopAdditionalSlides, d.loopedSlides = y; 1138 const E = d.grid && h.grid && h.grid.rows > 1; 1139 c.length < w + y || "cards" === d.params.effect && c.length < w + 2 * y ? g("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters") : E && "row" === h.grid.fill && g("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`"); 1140 const x = [], 1141 S = [], 1142 T = E ? Math.ceil(c.length / h.grid.rows) : c.length, 1143 M = n && T - v < w && !f; 1144 let C = M ? v : d.activeIndex; 1145 void 0 === r ? r = d.getSlideIndex(c.find(e => e.classList.contains(h.slideActiveClass))) : C = r; 1146 const P = "next" === a || !a, 1147 L = "prev" === a || !a; 1148 let I = 0, 1149 z = 0; 1150 const A = (E ? c[r].column : r) + (f && void 0 === i ? -w / 2 + .5 : 0); 1151 if (A < y) { 1152 I = Math.max(y - A, b); 1153 for (let e = 0; e < y - A; e += 1) { 1154 const t = e - Math.floor(e / T) * T; 1155 if (E) { 1156 const e = T - t - 1; 1157 for (let t = c.length - 1; t >= 0; t -= 1) c[t].column === e && x.push(t); 1158 } else x.push(T - t - 1); 1159 } 1160 } else if (A + w > T - y) { 1161 z = Math.max(A - (T - 2 * y), b), M && (z = Math.max(z, w - T + v + 1)); 1162 for (let e = 0; e < z; e += 1) { 1163 const t = e - Math.floor(e / T) * T; 1164 E ? c.forEach((e, s) => { 1165 e.column === t && S.push(s); 1166 }) : S.push(t); 1167 } 1168 } 1169 if (d.__preventObserver__ = !0, requestAnimationFrame(() => { 1170 d.__preventObserver__ = !1; 1171 }), "cards" === d.params.effect && c.length < w + 2 * y && (S.includes(r) && S.splice(S.indexOf(r), 1), x.includes(r) && x.splice(x.indexOf(r), 1)), L && x.forEach(e => { 1172 c[e].swiperLoopMoveDOM = !0, m.prepend(c[e]), c[e].swiperLoopMoveDOM = !1; 1173 }), P && S.forEach(e => { 1174 c[e].swiperLoopMoveDOM = !0, m.append(c[e]), c[e].swiperLoopMoveDOM = !1; 1175 }), d.recalcSlides(), "auto" === h.slidesPerView ? d.updateSlides() : E && (x.length > 0 && L || S.length > 0 && P) && d.slides.forEach((e, t) => { 1176 d.grid.updateSlide(t, e, d.slides); 1177 }), h.watchSlidesProgress && d.updateSlidesOffset(), s) if (x.length > 0 && L) { 1178 if (void 0 === t) { 1179 const e = d.slidesGrid[C], 1180 t = d.slidesGrid[C + I] - e; 1181 o ? d.setTranslate(d.translate - t) : (d.slideTo(C + Math.ceil(I), 0, !1, !0), i && (d.touchEventsData.startTranslate = d.touchEventsData.startTranslate - t, d.touchEventsData.currentTranslate = d.touchEventsData.currentTranslate - t)); 1182 } else if (i) { 1183 const e = E ? x.length / h.grid.rows : x.length; 1184 d.slideTo(d.activeIndex + e, 0, !1, !0), d.touchEventsData.currentTranslate = d.translate; 1185 } 1186 } else if (S.length > 0 && P) if (void 0 === t) { 1187 const e = d.slidesGrid[C], 1188 t = d.slidesGrid[C - z] - e; 1189 o ? d.setTranslate(d.translate - t) : (d.slideTo(C - z, 0, !1, !0), i && (d.touchEventsData.startTranslate = d.touchEventsData.startTranslate - t, d.touchEventsData.currentTranslate = d.touchEventsData.currentTranslate - t)); 1190 } else { 1191 const e = E ? S.length / h.grid.rows : S.length; 1192 d.slideTo(d.activeIndex - e, 0, !1, !0); 1193 } 1194 if (d.allowSlidePrev = p, d.allowSlideNext = u, d.controller && d.controller.control && !l) { 1195 const e = { 1196 slideRealIndex: t, 1197 direction: a, 1198 setTranslate: i, 1199 activeSlideIndex: r, 1200 byController: !0 1201 }; 1202 Array.isArray(d.controller.control) ? d.controller.control.forEach(t => { 1203 !t.destroyed && t.params.loop && t.loopFix({ 1204 ...e, 1205 slideTo: t.params.slidesPerView === h.slidesPerView && s 1206 }); 1207 }) : d.controller.control instanceof d.constructor && d.controller.control.params.loop && d.controller.control.loopFix({ 1208 ...e, 1209 slideTo: d.controller.control.params.slidesPerView === h.slidesPerView && s 1210 }); 1211 } 1212 d.emit("loopFix"); 1213 }, 1214 loopDestroy: function () { 1215 const e = this, 1216 { 1217 params: t, 1218 slidesEl: s 1219 } = e; 1220 if (!t.loop || !s || e.virtual && e.params.virtual.enabled) return; 1221 e.recalcSlides(); 1222 const a = []; 1223 e.slides.forEach(e => { 1224 const t = void 0 === e.swiperSlideIndex ? 1 * e.getAttribute("data-swiper-slide-index") : e.swiperSlideIndex; 1225 a[t] = e; 1226 }), e.slides.forEach(e => { 1227 e.removeAttribute("data-swiper-slide-index"); 1228 }), a.forEach(e => { 1229 s.append(e); 1230 }), e.recalcSlides(), e.slideTo(e.realIndex, 0); 1231 } 1232 }; 1233 function q(e, t, s) { 1234 const a = r(), 1235 { 1236 params: i 1237 } = e, 1238 n = i.edgeSwipeDetection, 1239 l = i.edgeSwipeThreshold; 1240 return !n || !(s <= l || s >= a.innerWidth - l) || "prevent" === n && (t.preventDefault(), !0); 1241 } 1242 function V(e) { 1243 const t = this, 1244 s = a(); 1245 let i = e; 1246 i.originalEvent && (i = i.originalEvent); 1247 const n = t.touchEventsData; 1248 if ("pointerdown" === i.type) { 1249 if (null !== n.pointerId && n.pointerId !== i.pointerId) return; 1250 n.pointerId = i.pointerId; 1251 } else "touchstart" === i.type && 1 === i.targetTouches.length && (n.touchId = i.targetTouches[0].identifier); 1252 if ("touchstart" === i.type) return void q(t, i, i.targetTouches[0].pageX); 1253 const { 1254 params: l, 1255 touches: d, 1256 enabled: c 1257 } = t; 1258 if (!c) return; 1259 if (!l.simulateTouch && "mouse" === i.pointerType) return; 1260 if (t.animating && l.preventInteractionOnTransition) return; 1261 !t.animating && l.cssMode && l.loop && t.loopFix(); 1262 let p = i.target; 1263 if ("wrapper" === l.touchEventsTarget && !function (e, t) { 1264 const s = r(); 1265 let a = t.contains(e); 1266 !a && s.HTMLSlotElement && t instanceof HTMLSlotElement && (a = [...t.assignedElements()].includes(e), a || (a = function (e, t) { 1267 const s = [t]; 1268 for (; s.length > 0;) { 1269 const t = s.shift(); 1270 if (e === t) return !0; 1271 s.push(...t.children, ...(t.shadowRoot ? t.shadowRoot.children : []), ...(t.assignedElements ? t.assignedElements() : [])); 1272 } 1273 }(e, t))); 1274 return a; 1275 }(p, t.wrapperEl)) return; 1276 if ("which" in i && 3 === i.which) return; 1277 if ("button" in i && i.button > 0) return; 1278 if (n.isTouched && n.isMoved) return; 1279 const u = !!l.noSwipingClass && "" !== l.noSwipingClass, 1280 m = i.composedPath ? i.composedPath() : i.path; 1281 u && i.target && i.target.shadowRoot && m && (p = m[0]); 1282 const h = l.noSwipingSelector ? l.noSwipingSelector : `.${l.noSwipingClass}`, 1283 f = !(!i.target || !i.target.shadowRoot); 1284 if (l.noSwiping && (f ? function (e, t) { 1285 return void 0 === t && (t = this), function t(s) { 1286 if (!s || s === a() || s === r()) return null; 1287 s.assignedSlot && (s = s.assignedSlot); 1288 const i = s.closest(e); 1289 return i || s.getRootNode ? i || t(s.getRootNode().host) : null; 1290 }(t); 1291 }(h, p) : p.closest(h))) return void (t.allowClick = !0); 1292 if (l.swipeHandler && !p.closest(l.swipeHandler)) return; 1293 d.currentX = i.pageX, d.currentY = i.pageY; 1294 const g = d.currentX, 1295 v = d.currentY; 1296 if (!q(t, i, g)) return; 1297 Object.assign(n, { 1298 isTouched: !0, 1299 isMoved: !1, 1300 allowTouchCallbacks: !0, 1301 isScrolling: void 0, 1302 startMoving: void 0 1303 }), d.startX = g, d.startY = v, n.touchStartTime = o(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, l.threshold > 0 && (n.allowThresholdMove = !1); 1304 let w = !0; 1305 p.matches(n.focusableElements) && (w = !1, "SELECT" === p.nodeName && (n.isTouched = !1)), s.activeElement && s.activeElement.matches(n.focusableElements) && s.activeElement !== p && ("mouse" === i.pointerType || "mouse" !== i.pointerType && !p.matches(n.focusableElements)) && s.activeElement.blur(); 1306 const b = w && t.allowTouchMove && l.touchStartPreventDefault; 1307 !l.touchStartForcePreventDefault && !b || p.isContentEditable || i.preventDefault(), l.freeMode && l.freeMode.enabled && t.freeMode && t.animating && !l.cssMode && t.freeMode.onTouchStart(), t.emit("touchStart", i); 1308 } 1309 function F(e) { 1310 const t = a(), 1311 s = this, 1312 i = s.touchEventsData, 1313 { 1314 params: r, 1315 touches: n, 1316 rtlTranslate: l, 1317 enabled: d 1318 } = s; 1319 if (!d) return; 1320 if (!r.simulateTouch && "mouse" === e.pointerType) return; 1321 let c, 1322 p = e; 1323 if (p.originalEvent && (p = p.originalEvent), "pointermove" === p.type) { 1324 if (null !== i.touchId) return; 1325 if (p.pointerId !== i.pointerId) return; 1326 } 1327 if ("touchmove" === p.type) { 1328 if (c = [...p.changedTouches].find(e => e.identifier === i.touchId), !c || c.identifier !== i.touchId) return; 1329 } else c = p; 1330 if (!i.isTouched) return void (i.startMoving && i.isScrolling && s.emit("touchMoveOpposite", p)); 1331 const u = c.pageX, 1332 m = c.pageY; 1333 if (p.preventedByNestedSwiper) return n.startX = u, void (n.startY = m); 1334 if (!s.allowTouchMove) return p.target.matches(i.focusableElements) || (s.allowClick = !1), void (i.isTouched && (Object.assign(n, { 1335 startX: u, 1336 startY: m, 1337 currentX: u, 1338 currentY: m 1339 }), i.touchStartTime = o())); 1340 if (r.touchReleaseOnEdges && !r.loop) if (s.isVertical()) { 1341 if (m < n.startY && s.translate <= s.maxTranslate() || m > n.startY && s.translate >= s.minTranslate()) return i.isTouched = !1, void (i.isMoved = !1); 1342 } else { 1343 if (l && (u > n.startX && -s.translate <= s.maxTranslate() || u < n.startX && -s.translate >= s.minTranslate())) return; 1344 if (!l && (u < n.startX && s.translate <= s.maxTranslate() || u > n.startX && s.translate >= s.minTranslate())) return; 1345 } 1346 if (t.activeElement && t.activeElement.matches(i.focusableElements) && t.activeElement !== p.target && "mouse" !== p.pointerType && t.activeElement.blur(), t.activeElement && p.target === t.activeElement && p.target.matches(i.focusableElements)) return i.isMoved = !0, void (s.allowClick = !1); 1347 i.allowTouchCallbacks && s.emit("touchMove", p), n.previousX = n.currentX, n.previousY = n.currentY, n.currentX = u, n.currentY = m; 1348 const h = n.currentX - n.startX, 1349 f = n.currentY - n.startY; 1350 if (s.params.threshold && Math.sqrt(h ** 2 + f ** 2) < s.params.threshold) return; 1351 if (void 0 === i.isScrolling) { 1352 let e; 1353 s.isHorizontal() && n.currentY === n.startY || s.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : h * h + f * f >= 25 && (e = 180 * Math.atan2(Math.abs(f), Math.abs(h)) / Math.PI, i.isScrolling = s.isHorizontal() ? e > r.touchAngle : 90 - e > r.touchAngle); 1354 } 1355 if (i.isScrolling && s.emit("touchMoveOpposite", p), void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), i.isScrolling || "touchmove" === p.type && i.preventTouchMoveFromPointerMove) return void (i.isTouched = !1); 1356 if (!i.startMoving) return; 1357 s.allowClick = !1, !r.cssMode && p.cancelable && p.preventDefault(), r.touchMoveStopPropagation && !r.nested && p.stopPropagation(); 1358 let g = s.isHorizontal() ? h : f, 1359 v = s.isHorizontal() ? n.currentX - n.previousX : n.currentY - n.previousY; 1360 r.oneWayMovement && (g = Math.abs(g) * (l ? 1 : -1), v = Math.abs(v) * (l ? 1 : -1)), n.diff = g, g *= r.touchRatio, l && (g = -g, v = -v); 1361 const w = s.touchesDirection; 1362 s.swipeDirection = g > 0 ? "prev" : "next", s.touchesDirection = v > 0 ? "prev" : "next"; 1363 const b = s.params.loop && !r.cssMode, 1364 y = "next" === s.touchesDirection && s.allowSlideNext || "prev" === s.touchesDirection && s.allowSlidePrev; 1365 if (!i.isMoved) { 1366 if (b && y && s.loopFix({ 1367 direction: s.swipeDirection 1368 }), i.startTranslate = s.getTranslate(), s.setTransition(0), s.animating) { 1369 const e = new window.CustomEvent("transitionend", { 1370 bubbles: !0, 1371 cancelable: !0, 1372 detail: { 1373 bySwiperTouchMove: !0 1374 } 1375 }); 1376 s.wrapperEl.dispatchEvent(e); 1377 } 1378 i.allowMomentumBounce = !1, !r.grabCursor || !0 !== s.allowSlideNext && !0 !== s.allowSlidePrev || s.setGrabCursor(!0), s.emit("sliderFirstMove", p); 1379 } 1380 if (new Date().getTime(), !1 !== r._loopSwapReset && i.isMoved && i.allowThresholdMove && w !== s.touchesDirection && b && y && Math.abs(g) >= 1) return Object.assign(n, { 1381 startX: u, 1382 startY: m, 1383 currentX: u, 1384 currentY: m, 1385 startTranslate: i.currentTranslate 1386 }), i.loopSwapReset = !0, void (i.startTranslate = i.currentTranslate); 1387 s.emit("sliderMove", p), i.isMoved = !0, i.currentTranslate = g + i.startTranslate; 1388 let E = !0, 1389 x = r.resistanceRatio; 1390 if (r.touchReleaseOnEdges && (x = 0), g > 0 ? (b && y && i.allowThresholdMove && i.currentTranslate > (r.centeredSlides ? s.minTranslate() - s.slidesSizesGrid[s.activeIndex + 1] - ("auto" !== r.slidesPerView && s.slides.length - r.slidesPerView >= 2 ? s.slidesSizesGrid[s.activeIndex + 1] + s.params.spaceBetween : 0) - s.params.spaceBetween : s.minTranslate()) && s.loopFix({ 1391 direction: "prev", 1392 setTranslate: !0, 1393 activeSlideIndex: 0 1394 }), i.currentTranslate > s.minTranslate() && (E = !1, r.resistance && (i.currentTranslate = s.minTranslate() - 1 + (-s.minTranslate() + i.startTranslate + g) ** x))) : g < 0 && (b && y && i.allowThresholdMove && i.currentTranslate < (r.centeredSlides ? s.maxTranslate() + s.slidesSizesGrid[s.slidesSizesGrid.length - 1] + s.params.spaceBetween + ("auto" !== r.slidesPerView && s.slides.length - r.slidesPerView >= 2 ? s.slidesSizesGrid[s.slidesSizesGrid.length - 1] + s.params.spaceBetween : 0) : s.maxTranslate()) && s.loopFix({
vendor: 7,052 bytes, lines 1395-1505
1395 direction: "next", 1396 setTranslate: !0, 1397 activeSlideIndex: s.slides.length - ("auto" === r.slidesPerView ? s.slidesPerViewDynamic() : Math.ceil(parseFloat(r.slidesPerView, 10))) 1398 }), i.currentTranslate < s.maxTranslate() && (E = !1, r.resistance && (i.currentTranslate = s.maxTranslate() + 1 - (s.maxTranslate() - i.startTranslate - g) ** x))), E && (p.preventedByNestedSwiper = !0), !s.allowSlideNext && "next" === s.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !s.allowSlidePrev && "prev" === s.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), s.allowSlidePrev || s.allowSlideNext || (i.currentTranslate = i.startTranslate), r.threshold > 0) { 1399 if (!(Math.abs(g) > r.threshold || i.allowThresholdMove)) return void (i.currentTranslate = i.startTranslate); 1400 if (!i.allowThresholdMove) return i.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, i.currentTranslate = i.startTranslate, void (n.diff = s.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY); 1401 } 1402 r.followFinger && !r.cssMode && ((r.freeMode && r.freeMode.enabled && s.freeMode || r.watchSlidesProgress) && (s.updateActiveIndex(), s.updateSlidesClasses()), r.freeMode && r.freeMode.enabled && s.freeMode && s.freeMode.onTouchMove(), s.updateProgress(i.currentTranslate), s.setTranslate(i.currentTranslate)); 1403 } 1404 function W(e) { 1405 const t = this, 1406 s = t.touchEventsData; 1407 let a, 1408 i = e; 1409 i.originalEvent && (i = i.originalEvent); 1410 if ("touchend" === i.type || "touchcancel" === i.type) { 1411 if (a = [...i.changedTouches].find(e => e.identifier === s.touchId), !a || a.identifier !== s.touchId) return; 1412 } else { 1413 if (null !== s.touchId) return; 1414 if (i.pointerId !== s.pointerId) return; 1415 a = i; 1416 } 1417 if (["pointercancel", "pointerout", "pointerleave", "contextmenu"].includes(i.type)) { 1418 if (!(["pointercancel", "contextmenu"].includes(i.type) && (t.browser.isSafari || t.browser.isWebView))) return; 1419 } 1420 s.pointerId = null, s.touchId = null; 1421 const { 1422 params: r, 1423 touches: n, 1424 rtlTranslate: d, 1425 slidesGrid: c, 1426 enabled: p 1427 } = t; 1428 if (!p) return; 1429 if (!r.simulateTouch && "mouse" === i.pointerType) return; 1430 if (s.allowTouchCallbacks && t.emit("touchEnd", i), s.allowTouchCallbacks = !1, !s.isTouched) return s.isMoved && r.grabCursor && t.setGrabCursor(!1), s.isMoved = !1, void (s.startMoving = !1); 1431 r.grabCursor && s.isMoved && s.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1); 1432 const u = o(), 1433 m = u - s.touchStartTime; 1434 if (t.allowClick) { 1435 const e = i.path || i.composedPath && i.composedPath(); 1436 t.updateClickedSlide(e && e[0] || i.target, e), t.emit("tap click", i), m < 300 && u - s.lastClickTime < 300 && t.emit("doubleTap doubleClick", i); 1437 } 1438 if (s.lastClickTime = o(), l(() => { 1439 t.destroyed || (t.allowClick = !0); 1440 }), !s.isTouched || !s.isMoved || !t.swipeDirection || 0 === n.diff && !s.loopSwapReset || s.currentTranslate === s.startTranslate && !s.loopSwapReset) return s.isTouched = !1, s.isMoved = !1, void (s.startMoving = !1); 1441 let h; 1442 if (s.isTouched = !1, s.isMoved = !1, s.startMoving = !1, h = r.followFinger ? d ? t.translate : -t.translate : -s.currentTranslate, r.cssMode) return; 1443 if (r.freeMode && r.freeMode.enabled) return void t.freeMode.onTouchEnd({ 1444 currentPos: h 1445 }); 1446 const f = h >= -t.maxTranslate() && !t.params.loop; 1447 let g = 0, 1448 v = t.slidesSizesGrid[0]; 1449 for (let e = 0; e < c.length; e += e < r.slidesPerGroupSkip ? 1 : r.slidesPerGroup) { 1450 const t = e < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup; 1451 void 0 !== c[e + t] ? (f || h >= c[e] && h < c[e + t]) && (g = e, v = c[e + t] - c[e]) : (f || h >= c[e]) && (g = e, v = c[c.length - 1] - c[c.length - 2]); 1452 } 1453 let w = null, 1454 b = null; 1455 r.rewind && (t.isBeginning ? b = r.virtual && r.virtual.enabled && t.virtual ? t.virtual.slides.length - 1 : t.slides.length - 1 : t.isEnd && (w = 0)); 1456 const y = (h - c[g]) / v, 1457 E = g < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup; 1458 if (m > r.longSwipesMs) { 1459 if (!r.longSwipes) return void t.slideTo(t.activeIndex); 1460 "next" === t.swipeDirection && (y >= r.longSwipesRatio ? t.slideTo(r.rewind && t.isEnd ? w : g + E) : t.slideTo(g)), "prev" === t.swipeDirection && (y > 1 - r.longSwipesRatio ? t.slideTo(g + E) : null !== b && y < 0 && Math.abs(y) > r.longSwipesRatio ? t.slideTo(b) : t.slideTo(g)); 1461 } else { 1462 if (!r.shortSwipes) return void t.slideTo(t.activeIndex); 1463 t.navigation && (i.target === t.navigation.nextEl || i.target === t.navigation.prevEl) ? i.target === t.navigation.nextEl ? t.slideTo(g + E) : t.slideTo(g) : ("next" === t.swipeDirection && t.slideTo(null !== w ? w : g + E), "prev" === t.swipeDirection && t.slideTo(null !== b ? b : g)); 1464 } 1465 } 1466 function j() { 1467 const e = this, 1468 { 1469 params: t, 1470 el: s 1471 } = e; 1472 if (s && 0 === s.offsetWidth) return; 1473 t.breakpoints && e.setBreakpoint(); 1474 const { 1475 allowSlideNext: a, 1476 allowSlidePrev: i, 1477 snapGrid: r 1478 } = e, 1479 n = e.virtual && e.params.virtual.enabled; 1480 e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses(); 1481 const l = n && t.loop; 1482 !("auto" === t.slidesPerView || t.slidesPerView > 1) || !e.isEnd || e.isBeginning || e.params.centeredSlides || l ? e.params.loop && !n ? e.slideToLoop(e.realIndex, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0) : e.slideTo(e.slides.length - 1, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && (clearTimeout(e.autoplay.resizeTimeout), e.autoplay.resizeTimeout = setTimeout(() => { 1483 e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.resume(); 1484 }, 500)), e.allowSlidePrev = i, e.allowSlideNext = a, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow(); 1485 } 1486 function U(e) { 1487 const t = this; 1488 t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation()))); 1489 } 1490 function K() { 1491 const e = this, 1492 { 1493 wrapperEl: t, 1494 rtlTranslate: s, 1495 enabled: a 1496 } = e; 1497 if (!a) return; 1498 let i; 1499 e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = -t.scrollLeft : e.translate = -t.scrollTop, 0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses(); 1500 const r = e.maxTranslate() - e.minTranslate(); 1501 i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r, i !== e.progress && e.updateProgress(s ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1); 1502 } 1503 function Z(e) { 1504 const t = this; 1505 G(t, e.target), t.params.cssMode || "auto" !== t.params.slidesPerView && !t.params.autoHeight || t.update(
vendor: 7,797 bytes, lines 1505-1736
1505); 1506 } 1507 function Q() { 1508 const e = this; 1509 e.documentTouchHandlerProceeded || (e.documentTouchHandlerProceeded = !0, e.params.touchReleaseOnEdges && (e.el.style.touchAction = "auto")); 1510 } 1511 const J = (e, t) => { 1512 const s = a(), 1513 { 1514 params: i, 1515 el: r, 1516 wrapperEl: n, 1517 device: l 1518 } = e, 1519 o = !!i.nested, 1520 d = "on" === t ? "addEventListener" : "removeEventListener", 1521 c = t; 1522 r && "string" != typeof r && (s[d]("touchstart", e.onDocumentTouchStart, { 1523 passive: !1, 1524 capture: o 1525 }), r[d]("touchstart", e.onTouchStart, { 1526 passive: !1 1527 }), r[d]("pointerdown", e.onTouchStart, { 1528 passive: !1 1529 }), s[d]("touchmove", e.onTouchMove, { 1530 passive: !1, 1531 capture: o 1532 }), s[d]("pointermove", e.onTouchMove, { 1533 passive: !1, 1534 capture: o 1535 }), s[d]("touchend", e.onTouchEnd, { 1536 passive: !0 1537 }), s[d]("pointerup", e.onTouchEnd, { 1538 passive: !0 1539 }), s[d]("pointercancel", e.onTouchEnd, { 1540 passive: !0 1541 }), s[d]("touchcancel", e.onTouchEnd, { 1542 passive: !0 1543 }), s[d]("pointerout", e.onTouchEnd, { 1544 passive: !0 1545 }), s[d]("pointerleave", e.onTouchEnd, { 1546 passive: !0 1547 }), s[d]("contextmenu", e.onTouchEnd, { 1548 passive: !0 1549 }), (i.preventClicks || i.preventClicksPropagation) && r[d]("click", e.onClick, !0), i.cssMode && n[d]("scroll", e.onScroll), i.updateOnWindowResize ? e[c](l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", j, !0) : e[c]("observerUpdate", j, !0), r[d]("load", e.onLoad, { 1550 capture: !0 1551 })); 1552 }; 1553 const ee = (e, t) => e.grid && t.grid && t.grid.rows > 1; 1554 var te = { 1555 init: !0, 1556 direction: "horizontal", 1557 oneWayMovement: !1, 1558 swiperElementNodeName: "SWIPER-CONTAINER", 1559 touchEventsTarget: "wrapper", 1560 initialSlide: 0, 1561 speed: 300, 1562 cssMode: !1, 1563 updateOnWindowResize: !0, 1564 resizeObserver: !0, 1565 nested: !1, 1566 createElements: !1, 1567 eventsPrefix: "swiper", 1568 enabled: !0, 1569 focusableElements: "input, select, option, textarea, button, video, label", 1570 width: null, 1571 height: null, 1572 preventInteractionOnTransition: !1, 1573 userAgent: null, 1574 url: null, 1575 edgeSwipeDetection: !1, 1576 edgeSwipeThreshold: 20, 1577 autoHeight: !1, 1578 setWrapperSize: !1, 1579 virtualTranslate: !1, 1580 effect: "slide", 1581 breakpoints: void 0, 1582 breakpointsBase: "window", 1583 spaceBetween: 0, 1584 slidesPerView: 1, 1585 slidesPerGroup: 1, 1586 slidesPerGroupSkip: 0, 1587 slidesPerGroupAuto: !1, 1588 centeredSlides: !1, 1589 centeredSlidesBounds: !1, 1590 slidesOffsetBefore: 0, 1591 slidesOffsetAfter: 0, 1592 normalizeSlideIndex: !0, 1593 centerInsufficientSlides: !1, 1594 watchOverflow: !0, 1595 roundLengths: !1, 1596 touchRatio: 1, 1597 touchAngle: 45, 1598 simulateTouch: !0, 1599 shortSwipes: !0, 1600 longSwipes: !0, 1601 longSwipesRatio: .5, 1602 longSwipesMs: 300, 1603 followFinger: !0, 1604 allowTouchMove: !0, 1605 threshold: 5, 1606 touchMoveStopPropagation: !1, 1607 touchStartPreventDefault: !0, 1608 touchStartForcePreventDefault: !1, 1609 touchReleaseOnEdges: !1, 1610 uniqueNavElements: !0, 1611 resistance: !0, 1612 resistanceRatio: .85, 1613 watchSlidesProgress: !1, 1614 grabCursor: !1, 1615 preventClicks: !0, 1616 preventClicksPropagation: !0, 1617 slideToClickedSlide: !1, 1618 loop: !1, 1619 loopAddBlankSlides: !0, 1620 loopAdditionalSlides: 0, 1621 loopPreventsSliding: !0, 1622 rewind: !1, 1623 allowSlidePrev: !0, 1624 allowSlideNext: !0, 1625 swipeHandler: null, 1626 noSwiping: !0, 1627 noSwipingClass: "swiper-no-swiping", 1628 noSwipingSelector: null, 1629 passiveListeners: !0, 1630 maxBackfaceHiddenSlides: 10, 1631 containerModifierClass: "swiper-", 1632 slideClass: "swiper-slide", 1633 slideBlankClass: "swiper-slide-blank", 1634 slideActiveClass: "swiper-slide-active", 1635 slideVisibleClass: "swiper-slide-visible", 1636 slideFullyVisibleClass: "swiper-slide-fully-visible", 1637 slideNextClass: "swiper-slide-next", 1638 slidePrevClass: "swiper-slide-prev", 1639 wrapperClass: "swiper-wrapper", 1640 lazyPreloaderClass: "swiper-lazy-preloader", 1641 lazyPreloadPrevNext: 0, 1642 runCallbacksOnInit: !0, 1643 _emitClasses: !1 1644 }; 1645 function se(e, t) { 1646 return function (s) { 1647 void 0 === s && (s = {}); 1648 const a = Object.keys(s)[0], 1649 i = s[a]; 1650 "object" == typeof i && null !== i ? (!0 === e[a] && (e[a] = { 1651 enabled: !0 1652 }), "navigation" === a && e[a] && e[a].enabled && !e[a].prevEl && !e[a].nextEl && (e[a].auto = !0), ["pagination", "scrollbar"].indexOf(a) >= 0 && e[a] && e[a].enabled && !e[a].el && (e[a].auto = !0), a in e && "enabled" in i ? ("object" != typeof e[a] || "enabled" in e[a] || (e[a].enabled = !0), e[a] || (e[a] = { 1653 enabled: !1 1654 }), p(t, s)) : p(t, s)) : p(t, s); 1655 }; 1656 } 1657 const ae = { 1658 eventsEmitter: k, 1659 update: B, 1660 translate: H, 1661 transition: { 1662 setTransition: function (e, t) { 1663 const s = this; 1664 s.params.cssMode || (s.wrapperEl.style.transitionDuration = `${e}ms`, s.wrapperEl.style.transitionDelay = 0 === e ? "0ms" : ""), s.emit("setTransition", e, t); 1665 }, 1666 transitionStart: function (e, t) { 1667 void 0 === e && (e = !0); 1668 const s = this, 1669 { 1670 params: a 1671 } = s; 1672 a.cssMode || (a.autoHeight && s.updateAutoHeight(), N({ 1673 swiper: s, 1674 runCallbacks: e, 1675 direction: t, 1676 step: "Start" 1677 })); 1678 }, 1679 transitionEnd: function (e, t) { 1680 void 0 === e && (e = !0); 1681 const s = this, 1682 { 1683 params: a 1684 } = s; 1685 s.animating = !1, a.cssMode || (s.setTransition(0), N({ 1686 swiper: s, 1687 runCallbacks: e, 1688 direction: t, 1689 step: "End" 1690 })); 1691 } 1692 }, 1693 slide: R, 1694 loop: _, 1695 grabCursor: { 1696 setGrabCursor: function (e) { 1697 const t = this; 1698 if (!t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return; 1699 const s = "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl; 1700 t.isElement && (t.__preventObserver__ = !0), s.style.cursor = "move", s.style.cursor = e ? "grabbing" : "grab", t.isElement && requestAnimationFrame(() => { 1701 t.__preventObserver__ = !1; 1702 }); 1703 }, 1704 unsetGrabCursor: function () { 1705 const e = this; 1706 e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.isElement && (e.__preventObserver__ = !0), e["container" === e.params.touchEventsTarget ? "el" : "wrapperEl"].style.cursor = "", e.isElement && requestAnimationFrame(() => { 1707 e.__preventObserver__ = !1; 1708 })); 1709 } 1710 }, 1711 events: { 1712 attachEvents: function () { 1713 const e = this, 1714 { 1715 params: t 1716 } = e; 1717 e.onTouchStart = V.bind(e), e.onTouchMove = F.bind(e), e.onTouchEnd = W.bind(e), e.onDocumentTouchStart = Q.bind(e), t.cssMode && (e.onScroll = K.bind(e)), e.onClick = U.bind(e), e.onLoad = Z.bind(e), J(e, "on"); 1718 }, 1719 detachEvents: function () { 1720 J(this, "off"); 1721 } 1722 }, 1723 breakpoints: { 1724 setBreakpoint: function () { 1725 const e = this, 1726 { 1727 realIndex: t, 1728 initialized: s, 1729 params: i, 1730 el: r 1731 } = e, 1732 n = i.breakpoints; 1733 if (!n || n && 0 === Object.keys(n).length) return; 1734 const l = a(), 1735 o = "window" !== i.breakpointsBase && i.breakpointsBase ? "container" : i.breakpointsBase, 1736 d = ["window", "container"].includes(i.breakpointsBase) || !i.breakpointsBase ? e.el : l.querySelector(i.breakpointsBase),
vendor: 10,520 bytes, lines 1737-2010
1737 c = e.getBreakpoint(n, o, d); 1738 if (!c || e.currentBreakpoint === c) return; 1739 const u = (c in n ? n[c] : void 0) || e.originalParams, 1740 m = ee(e, i), 1741 h = ee(e, u), 1742 f = e.params.grabCursor, 1743 g = u.grabCursor, 1744 v = i.enabled; 1745 m && !h ? (r.classList.remove(`${i.containerModifierClass}grid`, `${i.containerModifierClass}grid-column`), e.emitContainerClasses()) : !m && h && (r.classList.add(`${i.containerModifierClass}grid`), (u.grid.fill && "column" === u.grid.fill || !u.grid.fill && "column" === i.grid.fill) && r.classList.add(`${i.containerModifierClass}grid-column`), e.emitContainerClasses()), f && !g ? e.unsetGrabCursor() : !f && g && e.setGrabCursor(), ["navigation", "pagination", "scrollbar"].forEach(t => { 1746 if (void 0 === u[t]) return; 1747 const s = i[t] && i[t].enabled, 1748 a = u[t] && u[t].enabled; 1749 s && !a && e[t].disable(), !s && a && e[t].enable(); 1750 }); 1751 const w = u.direction && u.direction !== i.direction, 1752 b = i.loop && (u.slidesPerView !== i.slidesPerView || w), 1753 y = i.loop; 1754 w && s && e.changeDirection(), p(e.params, u); 1755 const E = e.params.enabled, 1756 x = e.params.loop; 1757 Object.assign(e, { 1758 allowTouchMove: e.params.allowTouchMove, 1759 allowSlideNext: e.params.allowSlideNext, 1760 allowSlidePrev: e.params.allowSlidePrev 1761 }), v && !E ? e.disable() : !v && E && e.enable(), e.currentBreakpoint = c, e.emit("_beforeBreakpoint", u), s && (b ? (e.loopDestroy(), e.loopCreate(t), e.updateSlides()) : !y && x ? (e.loopCreate(t), e.updateSlides()) : y && !x && e.loopDestroy()), e.emit("breakpoint", u); 1762 }, 1763 getBreakpoint: function (e, t, s) { 1764 if (void 0 === t && (t = "window"), !e || "container" === t && !s) return; 1765 let a = !1; 1766 const i = r(), 1767 n = "window" === t ? i.innerHeight : s.clientHeight, 1768 l = Object.keys(e).map(e => { 1769 if ("string" == typeof e && 0 === e.indexOf("@")) { 1770 const t = parseFloat(e.substr(1)); 1771 return { 1772 value: n * t, 1773 point: e 1774 }; 1775 } 1776 return { 1777 value: e, 1778 point: e 1779 }; 1780 }); 1781 l.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10)); 1782 for (let e = 0; e < l.length; e += 1) { 1783 const { 1784 point: r, 1785 value: n 1786 } = l[e]; 1787 "window" === t ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r) : n <= s.clientWidth && (a = r); 1788 } 1789 return a || "max"; 1790 } 1791 }, 1792 checkOverflow: { 1793 checkOverflow: function () { 1794 const e = this, 1795 { 1796 isLocked: t, 1797 params: s 1798 } = e, 1799 { 1800 slidesOffsetBefore: a 1801 } = s; 1802 if (a) { 1803 const t = e.slides.length - 1, 1804 s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a; 1805 e.isLocked = e.size > s; 1806 } else e.isLocked = 1 === e.snapGrid.length; 1807 !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked), !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked), t && t !== e.isLocked && (e.isEnd = !1), t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"); 1808 } 1809 }, 1810 classes: { 1811 addClasses: function () { 1812 const e = this, 1813 { 1814 classNames: t, 1815 params: s, 1816 rtl: a, 1817 el: i, 1818 device: r 1819 } = e, 1820 n = function (e, t) { 1821 const s = []; 1822 return e.forEach(e => { 1823 "object" == typeof e ? Object.keys(e).forEach(a => { 1824 e[a] && s.push(t + a); 1825 }) : "string" == typeof e && s.push(t + e); 1826 }), s; 1827 }(["initialized", s.direction, { 1828 "free-mode": e.params.freeMode && s.freeMode.enabled 1829 }, { 1830 autoheight: s.autoHeight 1831 }, { 1832 rtl: a 1833 }, { 1834 grid: s.grid && s.grid.rows > 1 1835 }, { 1836 "grid-column": s.grid && s.grid.rows > 1 && "column" === s.grid.fill 1837 }, { 1838 android: r.android 1839 }, { 1840 ios: r.ios 1841 }, { 1842 "css-mode": s.cssMode 1843 }, { 1844 centered: s.cssMode && s.centeredSlides 1845 }, { 1846 "watch-progress": s.watchSlidesProgress 1847 }], s.containerModifierClass); 1848 t.push(...n), i.classList.add(...t), e.emitContainerClasses(); 1849 }, 1850 removeClasses: function () { 1851 const { 1852 el: e, 1853 classNames: t 1854 } = this; 1855 e && "string" != typeof e && (e.classList.remove(...t), this.emitContainerClasses()); 1856 } 1857 } 1858 }, 1859 ie = {}; 1860 class re { 1861 constructor() { 1862 let e, t; 1863 for (var s = arguments.length, i = new Array(s), r = 0; r < s; r++) i[r] = arguments[r]; 1864 1 === i.length && i[0].constructor && "Object" === Object.prototype.toString.call(i[0]).slice(8, -1) ? t = i[0] : [e, t] = i, t || (t = {}), t = p({}, t), e && !t.el && (t.el = e); 1865 const n = a(); 1866 if (t.el && "string" == typeof t.el && n.querySelectorAll(t.el).length > 1) { 1867 const e = []; 1868 return n.querySelectorAll(t.el).forEach(s => { 1869 const a = p({}, t, { 1870 el: s 1871 }); 1872 e.push(new re(a)); 1873 }), e; 1874 } 1875 const l = this; 1876 l.__swiper__ = !0, l.support = z(), l.device = A({ 1877 userAgent: t.userAgent 1878 }), l.browser = $(), l.eventsListeners = {}, l.eventsAnyListeners = [], l.modules = [...l.__modules__], t.modules && Array.isArray(t.modules) && l.modules.push(...t.modules); 1879 const o = {}; 1880 l.modules.forEach(e => { 1881 e({ 1882 params: t, 1883 swiper: l, 1884 extendParams: se(t, o), 1885 on: l.on.bind(l), 1886 once: l.once.bind(l), 1887 off: l.off.bind(l), 1888 emit: l.emit.bind(l) 1889 }); 1890 }); 1891 const d = p({}, te, o); 1892 return l.params = p({}, d, ie, t), l.originalParams = p({}, l.params), l.passedParams = p({}, t), l.params && l.params.on && Object.keys(l.params.on).forEach(e => { 1893 l.on(e, l.params.on[e]); 1894 }), l.params && l.params.onAny && l.onAny(l.params.onAny), Object.assign(l, { 1895 enabled: l.params.enabled, 1896 el: e, 1897 classNames: [], 1898 slides: [], 1899 slidesGrid: [], 1900 snapGrid: [], 1901 slidesSizesGrid: [], 1902 isHorizontal: () => "horizontal" === l.params.direction, 1903 isVertical: () => "vertical" === l.params.direction, 1904 activeIndex: 0, 1905 realIndex: 0, 1906 isBeginning: !0, 1907 isEnd: !1, 1908 translate: 0, 1909 previousTranslate: 0, 1910 progress: 0, 1911 velocity: 0, 1912 animating: !1, 1913 cssOverflowAdjustment() { 1914 return Math.trunc(this.translate / 2 ** 23) * 2 ** 23; 1915 }, 1916 allowSlideNext: l.params.allowSlideNext, 1917 allowSlidePrev: l.params.allowSlidePrev, 1918 touchEventsData: { 1919 isTouched: void 0, 1920 isMoved: void 0, 1921 allowTouchCallbacks: void 0, 1922 touchStartTime: void 0, 1923 isScrolling: void 0, 1924 currentTranslate: void 0, 1925 startTranslate: void 0, 1926 allowThresholdMove: void 0, 1927 focusableElements: l.params.focusableElements, 1928 lastClickTime: 0, 1929 clickTimeout: void 0, 1930 velocities: [], 1931 allowMomentumBounce: void 0, 1932 startMoving: void 0, 1933 pointerId: null, 1934 touchId: null 1935 }, 1936 allowClick: !0, 1937 allowTouchMove: l.params.allowTouchMove, 1938 touches: { 1939 startX: 0, 1940 startY: 0, 1941 currentX: 0, 1942 currentY: 0, 1943 diff: 0 1944 }, 1945 imagesToLoad: [], 1946 imagesLoaded: 0 1947 }), l.emit("_swiper"), l.params.init && l.init(), l; 1948 } 1949 getDirectionLabel(e) { 1950 return this.isHorizontal() ? e : { 1951 width: "height", 1952 "margin-top": "margin-left", 1953 "margin-bottom ": "margin-right", 1954 "margin-left": "margin-top", 1955 "margin-right": "margin-bottom", 1956 "padding-left": "padding-top", 1957 "padding-right": "padding-bottom", 1958 marginRight: "marginBottom" 1959 }[e]; 1960 } 1961 getSlideIndex(e) { 1962 const { 1963 slidesEl: t, 1964 params: s 1965 } = this, 1966 a = y(f(t, `.${s.slideClass}, swiper-slide`)[0]); 1967 return y(e) - a; 1968 } 1969 getSlideIndexByData(e) { 1970 return this.getSlideIndex(this.slides.find(t => 1 * t.getAttribute("data-swiper-slide-index") === e)); 1971 } 1972 getSlideIndexWhenGrid(e) { 1973 return this.grid && this.params.grid && this.params.grid.rows > 1 && ("column" === this.params.grid.fill ? e = Math.floor(e / this.params.grid.rows) : "row" === this.params.grid.fill && (e %= Math.ceil(this.slides.length / this.params.grid.rows))), e; 1974 } 1975 recalcSlides() { 1976 const { 1977 slidesEl: e, 1978 params: t 1979 } = this; 1980 this.slides = f(e, `.${t.slideClass}, swiper-slide`); 1981 } 1982 enable() { 1983 const e = this; 1984 e.enabled || (e.enabled = !0, e.params.grabCursor && e.setGrabCursor(), e.emit("enable")); 1985 } 1986 disable() { 1987 const e = this; 1988 e.enabled && (e.enabled = !1, e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable")); 1989 } 1990 setProgress(e, t) { 1991 const s = this; 1992 e = Math.min(Math.max(e, 0), 1); 1993 const a = s.minTranslate(), 1994 i = (s.maxTranslate() - a) * e + a; 1995 s.translateTo(i, void 0 === t ? 0 : t), s.updateActiveIndex(), s.updateSlidesClasses(); 1996 } 1997 emitContainerClasses() { 1998 const e = this; 1999 if (!e.params._emitClasses || !e.el) return; 2000 const t = e.el.className.split(" ").filter(t => 0 === t.indexOf("swiper") || 0 === t.indexOf(e.params.containerModifierClass)); 2001 e.emit("_containerClasses", t.join(" ")); 2002 } 2003 getSlideClasses(e) { 2004 const t = this; 2005 return t.destroyed ? "" : e.className.split(" ").filter(e => 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass)).join(" "); 2006 } 2007 emitSlidesClasses() { 2008 const e = this; 2009 if (!e.params._emitClasses || !e.el) return; 2010 const t = [];
vendor: 4,866 bytes, lines 2011-2109
2011 e.slides.forEach(s => { 2012 const a = e.getSlideClasses(s); 2013 t.push({ 2014 slideEl: s, 2015 classNames: a 2016 }), e.emit("_slideClass", s, a); 2017 }), e.emit("_slideClasses", t); 2018 } 2019 slidesPerViewDynamic(e, t) { 2020 void 0 === e && (e = "current"), void 0 === t && (t = !1); 2021 const { 2022 params: s, 2023 slides: a, 2024 slidesGrid: i, 2025 slidesSizesGrid: r, 2026 size: n, 2027 activeIndex: l 2028 } = this; 2029 let o = 1; 2030 if ("number" == typeof s.slidesPerView) return s.slidesPerView; 2031 if (s.centeredSlides) { 2032 let e, 2033 t = a[l] ? Math.ceil(a[l].swiperSlideSize) : 0; 2034 for (let s = l + 1; s < a.length; s += 1) a[s] && !e && (t += Math.ceil(a[s].swiperSlideSize), o += 1, t > n && (e = !0)); 2035 for (let s = l - 1; s >= 0; s -= 1) a[s] && !e && (t += a[s].swiperSlideSize, o += 1, t > n && (e = !0)); 2036 } else if ("current" === e) for (let e = l + 1; e < a.length; e += 1) { 2037 (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1); 2038 } else for (let e = l - 1; e >= 0; e -= 1) { 2039 i[l] - i[e] < n && (o += 1); 2040 } 2041 return o; 2042 } 2043 update() { 2044 const e = this; 2045 if (!e || e.destroyed) return; 2046 const { 2047 snapGrid: t, 2048 params: s 2049 } = e; 2050 function a() { 2051 const t = e.rtlTranslate ? -1 * e.translate : e.translate, 2052 s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate()); 2053 e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses(); 2054 } 2055 let i; 2056 if (s.breakpoints && e.setBreakpoint(), [...e.el.querySelectorAll('[loading="lazy"]')].forEach(t => { 2057 t.complete && G(e, t); 2058 }), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), s.freeMode && s.freeMode.enabled && !s.cssMode) a(), s.autoHeight && e.updateAutoHeight();else { 2059 if (("auto" === s.slidesPerView || s.slidesPerView > 1) && e.isEnd && !s.centeredSlides) { 2060 const t = e.virtual && s.virtual.enabled ? e.virtual.slides : e.slides; 2061 i = e.slideTo(t.length - 1, 0, !1, !0); 2062 } else i = e.slideTo(e.activeIndex, 0, !1, !0); 2063 i || a(); 2064 } 2065 s.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update"); 2066 } 2067 changeDirection(e, t) { 2068 void 0 === t && (t = !0); 2069 const s = this, 2070 a = s.params.direction; 2071 return e || (e = "horizontal" === a ? "vertical" : "horizontal"), e === a || "horizontal" !== e && "vertical" !== e || (s.el.classList.remove(`${s.params.containerModifierClass}${a}`), s.el.classList.add(`${s.params.containerModifierClass}${e}`), s.emitContainerClasses(), s.params.direction = e, s.slides.forEach(t => { 2072 "vertical" === e ? t.style.width = "" : t.style.height = ""; 2073 }), s.emit("changeDirection"), t && s.update()), s; 2074 } 2075 changeLanguageDirection(e) { 2076 const t = this; 2077 t.rtl && "rtl" === e || !t.rtl && "ltr" === e || (t.rtl = "rtl" === e, t.rtlTranslate = "horizontal" === t.params.direction && t.rtl, t.rtl ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`), t.el.dir = "rtl") : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`), t.el.dir = "ltr"), t.update()); 2078 } 2079 mount(e) { 2080 const t = this; 2081 if (t.mounted) return !0; 2082 let s = e || t.params.el; 2083 if ("string" == typeof s && (s = document.querySelector(s)), !s) return !1; 2084 s.swiper = t, s.parentNode && s.parentNode.host && s.parentNode.host.nodeName === t.params.swiperElementNodeName.toUpperCase() && (t.isElement = !0); 2085 const a = () => `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`; 2086 let i = (() => { 2087 if (s && s.shadowRoot && s.shadowRoot.querySelector) { 2088 return s.shadowRoot.querySelector(a()); 2089 } 2090 return f(s, a())[0]; 2091 })(); 2092 return !i && t.params.createElements && (i = v("div", t.params.wrapperClass), s.append(i), f(s, `.${t.params.slideClass}`).forEach(e => { 2093 i.append(e); 2094 })), Object.assign(t, { 2095 el: s, 2096 wrapperEl: i, 2097 slidesEl: t.isElement && !s.parentNode.host.slideSlots ? s.parentNode.host : i, 2098 hostEl: t.isElement ? s.parentNode.host : s, 2099 mounted: !0, 2100 rtl: "rtl" === s.dir.toLowerCase() || "rtl" === b(s, "direction"), 2101 rtlTranslate: "horizontal" === t.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === b(s, "direction")), 2102 wrongRTL: "-webkit-box" === b(i, "display") 2103 }), !0; 2104 } 2105 init(e) { 2106 const t = this; 2107 if (t.initialized) return t; 2108 if (!1 === t.mount(e)) return t; 2109 t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(
2109), t.params.loop && t.virtual && t.params.virtual.enabled ? t.slideTo(t.params.initialSlide + t.virtual.slidesBefore, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.params.loop && t.loopCreate(void 0, !0), t.attachEvents(); 2110 const s = [...t.el.querySelectorAll('[loading="lazy"]')]; 2111 return t.isElement && s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')), s.forEach(e => { 2112 e.complete ? G(t, e) : e.addEventListener("load", e => { 2113 G(t, e.target); 2114 }); 2115 }), Y(t), t.initialized = !0, Y(t), t.emit("init"), t.emit("afterInit"), t; 2116 } 2117 destroy(e, t) { 2118 void 0 === e && (e = !0), void 0 === t && (t = !0); 2119 const s = this, 2120 { 2121 params: a, 2122 el: i, 2123 wrapperEl: r, 2124 slides: n 2125 } = s; 2126 return void 0 === s.params || s.destroyed || (s.emit("beforeDestroy"), s.initialized = !1, s.detachEvents(), a.loop && s.loopDestroy(), t && (s.removeClasses(), i && "string" != typeof i && i.removeAttribute("style"), r && r.removeAttribute("style"), n && n.length && n.forEach(e => { 2127 e.classList.remove(a.slideVisibleClass, a.slideFullyVisibleClass, a.slideActiveClass, a.slideNextClass, a.slidePrevClass), e.removeAttribute("style"), e.removeAttribute("data-swiper-slide-index"); 2128 })), s.emit("destroy"), Object.keys(s.eventsListeners).forEach(e => { 2129 s.off(e); 2130 }), !1 !== e && (s.el && "string" != typeof s.el && (s.el.swiper = null), function (e) { 2131 const t = e; 2132 Object.keys(t).forEach(e => { 2133 try { 2134 t[e] = null; 2135 } catch (e) {} 2136 try { 2137 delete t[e]; 2138 } catch (e) {} 2139 }); 2140 }(s)), s.destroyed = !0), null; 2141 } 2142 static extendDefaults(e) { 2143 p(ie, e); 2144 } 2145 static get extendedDefaults() { 2146 return ie; 2147 } 2148 static get defaults() { 2149 return te; 2150 } 2151 static installModule(e) { 2152 re.prototype.__modules__ || (re.prototype.__modules__ = []); 2153 const t = re.prototype.__modules__; 2154 "function" == typeof e && t.indexOf(e) < 0 && t.push(e); 2155 } 2156 static use(e) { 2157 return Array.isArray(e) ? (e.forEach(e => re.installModule(e)), re) : (re.installModule(e), re); 2158 } 2159 } 2160 function ne(e, t, s, a) { 2161 return e.params.createElements && Object.keys(a).forEach(i => { 2162 if (!s[i] && !0 === s.auto) { 2163 let r = f(e.el, `.${a[i]}`)[0]; 2164 r || (r = v("div", a[i]), r.className = a[i], e.el.append(r)), s[i] = r, t[i] = r; 2165 } 2166 }), s; 2167 } 2168 function le(e) { 2169 return void 0 === e && (e = ""), `.${e.trim().replace(/([\.:!+\/()[\]])/g, "\\$1").replace(/ /g, ".")}`; 2170 } 2171 function oe(e) { 2172 const t = this, 2173 { 2174 params: s, 2175 slidesEl: a 2176 } = t; 2177 s.loop && t.loopDestroy(); 2178 const i = e => { 2179 if ("string" == typeof e) { 2180 const t = document.createElement("div"); 2181 C(t, e), a.append(t.children[0]), C(t, ""); 2182 } else a.append(e); 2183 }; 2184 if ("object" == typeof e && "length" in e) for (let t = 0; t < e.length; t += 1) e[t] && i(e[t]);else i(e); 2185 t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update(); 2186 } 2187 function de(e) { 2188 const t = this, 2189 { 2190 params: s, 2191 activeIndex: a, 2192 slidesEl: i 2193 } = t; 2194 s.loop && t.loopDestroy(); 2195 let r = a + 1; 2196 const n = e => { 2197 if ("string" == typeof e) { 2198 const t = document.createElement("div"); 2199 C(t, e), i.prepend(t.children[0]), C(t, ""); 2200 } else i.prepend(e); 2201 }; 2202 if ("object" == typeof e && "length" in e) { 2203 for (let t = 0; t < e.length; t += 1) e[t] && n(e[t]); 2204 r = a + e.length; 2205 } else n(e); 2206 t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update(), t.slideTo(r, 0, !1); 2207 } 2208 function ce(e, t) { 2209 const s = this, 2210 { 2211 params: a, 2212 activeIndex: i, 2213 slidesEl: r 2214 } = s; 2215 let n = i; 2216 a.loop && (n -= s.loopedSlides, s.loopDestroy(), s.recalcSlides()); 2217 const l = s.slides.length; 2218 if (e <= 0) return void s.prependSlide(t); 2219 if (e >= l) return void s.appendSlide(t); 2220 let o = n > e ? n + 1 : n; 2221 const d = []; 2222 for (let t = l - 1; t >= e; t -= 1) { 2223 const e = s.slides[t]; 2224 e.remove(), d.unshift(e); 2225 } 2226 if ("object" == typeof t && "length" in t) { 2227 for (let e = 0; e < t.length; e += 1) t[e] && r.append(t[e]); 2228 o = n > e ? n + t.length : n; 2229 } else r.append(t); 2230 for (let e = 0; e < d.length; e += 1) r.append(d[e]); 2231 s.recalcSlides(), a.loop && s.loopCreate(), a.observer && !s.isElement || s.update(), a.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1); 2232 } 2233 function pe(e) { 2234 const t = this, 2235 { 2236 params: s, 2237 activeIndex: a 2238 } = t; 2239 let i = a; 2240 s.loop && (i -= t.loopedSlides, t.loopDestroy()); 2241 let r, 2242 n = i; 2243 if ("object" == typeof e && "length" in e) { 2244 for (let s = 0; s < e.length; s += 1) r = e[s], t.slides[r] && t.slides[r].remove(), r < n && (n -= 1); 2245 n = Math.max(n, 0); 2246 } else r = e, t.slides[r] && t.slides[r].remove(), r < n && (n -= 1), n = Math.max(n, 0); 2247 t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update(
2247), s.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1); 2248 } 2249 function ue() { 2250 const e = this, 2251 t = []; 2252 for (let s = 0; s < e.slides.length; s += 1) t.push(s); 2253 e.removeSlide(t); 2254 } 2255 function me(e) { 2256 const { 2257 effect: t, 2258 swiper: s, 2259 on: a, 2260 setTranslate: i, 2261 setTransition: r, 2262 overwriteParams: n, 2263 perspective: l, 2264 recreateShadows: o, 2265 getEffectParams: d 2266 } = e; 2267 let c; 2268 a("beforeInit", () => { 2269 if (s.params.effect !== t) return; 2270 s.classNames.push(`${s.params.containerModifierClass}${t}`), l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`); 2271 const e = n ? n() : {}; 2272 Object.assign(s.params, e), Object.assign(s.originalParams, e); 2273 }), a("setTranslate _virtualUpdated", () => { 2274 s.params.effect === t && i(); 2275 }), a("setTransition", (e, a) => { 2276 s.params.effect === t && r(a); 2277 }), a("transitionEnd", () => { 2278 if (s.params.effect === t && o) { 2279 if (!d || !d().slideShadows) return; 2280 s.slides.forEach(e => { 2281 e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(e => e.remove()); 2282 }), o(); 2283 } 2284 }), a("virtualUpdate", () => { 2285 s.params.effect === t && (s.slides.length || (c = !0), requestAnimationFrame(() => { 2286 c && s.slides && s.slides.length && (i(), c = !1); 2287 })); 2288 }); 2289 } 2290 function he(e, t) { 2291 const s = h(t); 2292 return s !== t && (s.style.backfaceVisibility = "hidden", s.style["-webkit-backface-visibility"] = "hidden"), s; 2293 } 2294 function fe(e) { 2295 let { 2296 swiper: t, 2297 duration: s, 2298 transformElements: a, 2299 allSlides: i 2300 } = e; 2301 const { 2302 activeIndex: r 2303 } = t; 2304 if (t.params.virtualTranslate && 0 !== s) { 2305 let e, 2306 s = !1; 2307 e = i ? a : a.filter(e => { 2308 const s = e.classList.contains("swiper-slide-transform") ? (e => { 2309 if (!e.parentElement) return t.slides.find(t => t.shadowRoot && t.shadowRoot === e.parentNode); 2310 return e.parentElement; 2311 })(e) : e; 2312 return t.getSlideIndex(s) === r; 2313 }), e.forEach(e => { 2314 x(e, () => { 2315 if (s) return; 2316 if (!t || t.destroyed) return; 2317 s = !0, t.animating = !1; 2318 const e = new window.CustomEvent("transitionend", { 2319 bubbles: !0, 2320 cancelable: !0 2321 }); 2322 t.wrapperEl.dispatchEvent(e); 2323 }); 2324 }); 2325 } 2326 } 2327 function ge(e, t, s) { 2328 const a = `swiper-slide-shadow${s ? `-${s}` : ""}${e ? ` swiper-slide-shadow-${e}` : ""}`, 2329 i = h(t); 2330 let r = i.querySelector(`.${a.split(" ").join(".")}`); 2331 return r || (r = v("div", a.split(" ")), i.append(r)), r; 2332 } 2333 Object.keys(ae).forEach(e => {
2334 Object.keys(ae[e]).forEach(t => { 2335 re.prototype[t] = ae[e][t]; 2336 }); 2337 }), re.use([function (e) { 2338 let { 2339 swiper: t, 2340 on: s, 2341 emit: a 2342 } = e; 2343 const i = r(); 2344 let n = null, 2345 l = null; 2346 const o = () => { 2347 t && !t.destroyed && t.initialized && (a("beforeResize"), a("resize")); 2348 }, 2349 d = () => { 2350 t && !t.destroyed && t.initialized && a("orientationchange"); 2351 }; 2352 s("init", () => { 2353 t.params.resizeObserver && void 0 !== i.ResizeObserver ? t && !t.destroyed && t.initialized && (n = new ResizeObserver(e => { 2354 l = i.requestAnimationFrame(() => { 2355 const { 2356 width: s, 2357 height: a 2358 } = t; 2359 let i = s, 2360 r = a; 2361 e.forEach(e => { 2362 let { 2363 contentBoxSize: s, 2364 contentRect: a, 2365 target: n 2366 } = e; 2367 n && n !== t.el || (i = a ? a.width : (s[0] || s).inlineSize, r = a ? a.height : (s[0] || s).blockSize); 2368 }), i === s && r === a || o(); 2369 }); 2370 }), n.observe(t.el)) : (i.addEventListener("resize", o), i.addEventListener("orientationchange", d)); 2371 }), s("destroy", () => { 2372 l && i.cancelAnimationFrame(l), n && n.unobserve && t.el && (n.unobserve(t.el), n = null), i.removeEventListener("resize", o), i.removeEventListener("orientationchange", d); 2373 }); 2374 }, function (e) { 2375 let { 2376 swiper: t, 2377 extendParams: s, 2378 on: a, 2379 emit: i 2380 } = e; 2381 const n = [], 2382 l = r(), 2383 o = function (e, s) { 2384 void 0 === s && (s = {}); 2385 const a = new (l.MutationObserver || l.WebkitMutationObserver)(e => { 2386 if (t.__preventObserver__) return; 2387 if (1 === e.length) return void i("observerUpdate", e[0]); 2388 const s = function () { 2389 i("observerUpdate", e[0]); 2390 }; 2391 l.requestAnimationFrame ? l.requestAnimationFrame(s) : l.setTimeout(s, 0); 2392 }); 2393 a.observe(e, { 2394 attributes: void 0 === s.attributes || s.attributes, 2395 childList: t.isElement || (void 0 === s.childList || s).childList, 2396 characterData: void 0 === s.characterData || s.characterData 2397 }), n.push(a); 2398 }; 2399 s({ 2400 observer: !1, 2401 observeParents: !1, 2402 observeSlideChildren: !1 2403 }), a("init", () => { 2404 if (t.params.observer) { 2405 if (t.params.observeParents) { 2406 const e = E(t.hostEl); 2407 for (let t = 0; t < e.length; t += 1) o(e[t]); 2408 } 2409 o(t.hostEl, { 2410 childList: t.params.observeSlideChildren 2411 }), o(t.wrapperEl, { 2412 attributes: !1 2413 }); 2414 } 2415 }), a("destroy", () => { 2416 n.forEach(e => { 2417 e.disconnect(); 2418 }), n.splice(0, n.length); 2419 }); 2420 }]); 2421 const ve = [function (e) { 2422 let t, 2423 { 2424 swiper: s, 2425 extendParams: i, 2426 on: r, 2427 emit: n 2428 } = e; 2429 i({ 2430 virtual: { 2431 enabled: !1, 2432 slides: [], 2433 cache: !0, 2434 renderSlide: null, 2435 renderExternal: null, 2436 renderExternalUpdate: !0, 2437 addSlidesBefore: 0, 2438 addSlidesAfter: 0 2439 } 2440 }); 2441 const l = a(); 2442 s.virtual = { 2443 cache: {}, 2444 from: void 0, 2445 to: void 0, 2446 slides: [], 2447 offset: 0, 2448 slidesGrid: [] 2449 }; 2450 const o = l.createElement("div"); 2451 function d(e, t) { 2452 const a = s.params.virtual; 2453 if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t]; 2454 let i; 2455 return a.renderSlide ? (i = a.renderSlide.call(s, e, t), "string" == typeof i && (C(o, i), i = o.children[0])) : i = s.isElement ? v("swiper-slide") : v("div", s.params.slideClass), i.setAttribute("data-swiper-slide-index", t), a.renderSlide || C(i, e), a.cache && (s.virtual.cache[t] = i), i; 2456 } 2457 function c(e, t, a) { 2458 const { 2459 slidesPerView: i, 2460 slidesPerGroup: r, 2461 centeredSlides: l, 2462 loop: o, 2463 initialSlide: c 2464 } = s.params; 2465 if (t && !o && c > 0) return; 2466 const { 2467 addSlidesBefore: p, 2468 addSlidesAfter: u 2469 } = s.params.virtual, 2470 { 2471 from: m, 2472 to: h, 2473 slides: g, 2474 slidesGrid: v, 2475 offset: w 2476 } = s.virtual; 2477 s.params.cssMode || s.updateActiveIndex(); 2478 const b = void 0 === a ? s.activeIndex || 0 : a; 2479 let y, E, x; 2480 y = s.rtlTranslate ? "right" : s.isHorizontal() ? "left" : "top", l ? (E = Math.floor(i / 2) + r + u, x = Math.floor(i / 2) + r + p) : (E = i + (r - 1) + u, x = (o ? i : r) + p); 2481 let S = b - x, 2482 T = b + E; 2483 o || (S = Math.max(S, 0), T = Math.min(T, g.length - 1)); 2484 let M = (s.slidesGrid[S] || 0) - (s.slidesGrid[0] || 0); 2485 function C() { 2486 s.updateSlides(), s.updateProgress(), s.updateSlidesClasses(), n("virtualUpdate"); 2487 } 2488 if (o && b >= x ? (S -= x, l || (M += s.slidesGrid[0])) : o && b < x && (S = -x, l && (M += s.slidesGrid[0])), Object.assign(s.virtual, { 2489 from: S, 2490 to: T, 2491 offset: M, 2492 slidesGrid: s.slidesGrid, 2493 slidesBefore: x, 2494 slidesAfter: E 2495 }), m === S && h === T && !e) return s.slidesGrid !== v && M !== w && s.slides.forEac
2495h(e => { 2496 e.style[y] = M - Math.abs(s.cssOverflowAdjustment()) + "px"; 2497 }), s.updateProgress(), void n("virtualUpdate"); 2498 if (s.params.virtual.renderExternal) return s.params.virtual.renderExternal.call(s, { 2499 offset: M, 2500 from: S, 2501 to: T, 2502 slides: function () { 2503 const e = []; 2504 for (let t = S; t <= T; t += 1) e.push(g[t]); 2505 return e; 2506 }() 2507 }), void (s.params.virtual.renderExternalUpdate ? C() : n("virtualUpdate")); 2508 const P = [], 2509 L = [], 2510 I = e => { 2511 let t = e; 2512 return e < 0 ? t = g.length + e : t >= g.length && (t -= g.length), t; 2513 }; 2514 if (e) s.slides.filter(e => e.matches(`.${s.params.slideClass}, swiper-slide`)).forEach(e => { 2515 e.remove(); 2516 });else for (let e = m; e <= h; e += 1) if (e < S || e > T) { 2517 const t = I(e); 2518 s.slides.filter(e => e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`)).forEach(e => { 2519 e.remove(); 2520 }); 2521 } 2522 const z = o ? -g.length : 0, 2523 A = o ? 2 * g.length : g.length; 2524 for (let t = z; t < A; t += 1) if (t >= S && t <= T) { 2525 const s = I(t); 2526 void 0 === h || e ? L.push(s) : (t > h && L.push(s), t < m && P.push(s)); 2527 } 2528 if (L.forEach(e => { 2529 s.slidesEl.append(d(g[e], e)); 2530 }), o) for (let e = P.length - 1; e >= 0; e -= 1) { 2531 const t = P[e]; 2532 s.slidesEl.prepend(d(g[t], t)); 2533 } else P.sort((e, t) => t - e), P.forEach(e => { 2534 s.slidesEl.prepend(d(g[e], e)); 2535 }); 2536 f(s.slidesEl, ".swiper-slide, swiper-slide").forEach(e => { 2537 e.style[y] = M - Math.abs(s.cssOverflowAdjustment()) + "px"; 2538 }), C(); 2539 } 2540 r("beforeInit", () => { 2541 if (!s.params.virtual.enabled) return; 2542 let e; 2543 if (void 0 === s.passedParams.virtual.slides) { 2544 const t = [...s.slidesEl.children].filter(e => e.matches(`.${s.params.slideClass}, swiper-slide`)); 2545 t && t.length && (s.virtual.slides = [...t], e = !0, t.forEach((e, t) => { 2546 e.setAttribute("data-swiper-slide-index", t), s.virtual.cache[t] = e, e.remove(); 2547 })); 2548 } 2549 e || (s.virtual.slides = s.params.virtual.slides), s.classNames.push(`${s.params.containerModifierClass}virtual`), s.params.watchSlidesProgress = !0, s.originalParams.watchSlidesProgress = !0, c(!1, !0); 2550 }), r("setTranslate", () => { 2551 s.params.virtual.enabled && (s.params.cssMode && !s._immediateVirtual ? (clearTimeout(t), t = setTimeout(() => { 2552 c(); 2553 }, 100)) : c()); 2554 }), r("init update resize", () => { 2555 s.params.virtual.enabled && s.params.cssMode && u(s.wrapperEl, "--swiper-virtual-size", `${s.virtualSize}px`); 2556 }), Object.assign(s.virtual, { 2557 appendSlide: function (e) { 2558 if ("object" == typeof e && "length" in e) for (let t = 0; t < e.length; t += 1) e[t] && s.virtual.slides.push(e[t]);else s.virtual.slides.push(e); 2559 c(!0); 2560 }, 2561 prependSlide: function (e) { 2562 const t = s.activeIndex; 2563 let a = t + 1, 2564 i = 1; 2565 if (Array.isArray(e)) { 2566 for (let t = 0; t < e.length; t += 1) e[t] && s.virtual.slides.unshift(e[t]); 2567 a = t + e.length, i = e.length; 2568 } else s.virtual.slides.unshift(e); 2569 if (s.params.virtual.cache) { 2570 const e = s.virtual.cache, 2571 t = {}; 2572 Object.keys(e).forEach(s => { 2573 const a = e[s], 2574 r = a.getAttribute("data-swiper-slide-index"); 2575 r && a.setAttribute("data-swiper-slide-index", parseInt(r, 10) + i), t[parseInt(s, 10) + i] = a; 2576 }), s.virtual.cache = t; 2577 } 2578 c(!0), s.slideTo(a, 0); 2579 }, 2580 removeSlide: function (e) { 2581 if (null == e) return; 2582 let t = s.activeIndex; 2583 if (Array.isArray(e)) for (let a = e.length - 1; a >= 0; a -= 1) s.params.virtual.cache && (delete s.virtual.cache[e[a]], Object.keys(s.virtual.cache).forEach(t => { 2584 t > e && (s.virtual.cache[t - 1] = s.virtual.cache[t], s.virtual.cache[t - 1].setAttribute("data-swiper-slide-index", t - 1), delete s.virtual.cache[t]); 2585 })), s.virtual.slides.splice(e[a], 1), e[a] < t && (t -= 1), t = Math.max(t, 0);else s.params.virtual.cache && (delete s.virtual.cache[e], Object.keys(s.virtual.cache).forEach(t => { 2586 t > e && (s.virtual.cache[t - 1] = s.virtual.cache[t], s.virtual.cache[t - 1].setAttribute("data-swiper-slide-index", t - 1), delete s.virtual.cache[t]); 2587 })), s.virtual.slides.splice(e, 1), e < t && (t -= 1), t = Math.max(t, 0); 2588 c(!0), s.slideTo(t, 0); 2589 }, 2590 removeAllSlides: function () { 2591 s.virtual.slides = [], s.params.virtual.cache && (s.virtual.cache = {}), c(!0), s.slideTo(0, 0); 2592 }, 2593 update: c 2594 }); 2595 }, function (e) { 2596 let { 2597 swiper: t, 2598 extendParams: s, 2599 on: i, 2600 emit: n 2601 } = e; 2602 const l = a(), 2603 o = r(); 2604 function d(e) { 2605 if (!t.enabled) return; 2606 const { 2607 rtlTranslate: s 2608 } = t; 2609 let a = e; 2610 a.originalEvent && (a = a.originalEvent); 2611 const i = a.keyCode || a.charCode, 2612 r = t.params.keyboard.pageUpDown, 2613 d = r && 33 === i, 2614 c = r && 34 === i, 2615 p = 37 === i, 2616 u = 39 === i, 2617 m = 38 === i, 2618 h = 40 === i; 2619 if (!t.allowSlideNext && (t.isHorizontal() && u || t.isVertical() && h || c)) return !1; 2620 if (!t.allowSlidePrev && (t.isHorizontal() && p || t.isVertical() && m || d)) return !1; 2621 if (!(a.shiftKey || a.altKey || a.ctrlKey || a.metaKey || l.activeElement && (l.activeElement.isContentEditable || l.activeElement.nodeName && ("input" === l.activeElement.nodeName.toLowerCase() || "textarea" === l.activeElement.nodeName.toLowerCase())))) { 2622 if (t.params.keyboard.onlyInViewport && (d || c || p || u || m || h)) { 2623 let e = !1; 2624 if (E(t.el, `.${t.params.slideClass}, swiper-slide`).length > 0 && 0 === E(t.el, `.${t.params.slideActiveClass}`).length) return; 2625 const a = t.el, 2626 i = a.clientWidth,
vendor: 6,188 bytes, lines 2627-2766
2627 r = a.clientHeight, 2628 n = o.innerWidth, 2629 l = o.innerHeight, 2630 d = w(a); 2631 s && (d.left -= a.scrollLeft); 2632 const c = [[d.left, d.top], [d.left + i, d.top], [d.left, d.top + r], [d.left + i, d.top + r]]; 2633 for (let t = 0; t < c.length; t += 1) { 2634 const s = c[t]; 2635 if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= l) { 2636 if (0 === s[0] && 0 === s[1]) continue; 2637 e = !0; 2638 } 2639 } 2640 if (!e) return; 2641 } 2642 t.isHorizontal() ? ((d || c || p || u) && (a.preventDefault ? a.preventDefault() : a.returnValue = !1), ((c || u) && !s || (d || p) && s) && t.slideNext(), ((d || p) && !s || (c || u) && s) && t.slidePrev()) : ((d || c || m || h) && (a.preventDefault ? a.preventDefault() : a.returnValue = !1), (c || h) && t.slideNext(), (d || m) && t.slidePrev()), n("keyPress", i); 2643 } 2644 } 2645 function c() { 2646 t.keyboard.enabled || (l.addEventListener("keydown", d), t.keyboard.enabled = !0); 2647 } 2648 function p() { 2649 t.keyboard.enabled && (l.removeEventListener("keydown", d), t.keyboard.enabled = !1); 2650 } 2651 t.keyboard = { 2652 enabled: !1 2653 }, s({ 2654 keyboard: { 2655 enabled: !1, 2656 onlyInViewport: !0, 2657 pageUpDown: !0 2658 } 2659 }), i("init", () => { 2660 t.params.keyboard.enabled && c(); 2661 }), i("destroy", () => { 2662 t.keyboard.enabled && p(); 2663 }), Object.assign(t.keyboard, { 2664 enable: c, 2665 disable: p 2666 }); 2667 }, function (e) { 2668 let { 2669 swiper: t, 2670 extendParams: s, 2671 on: a, 2672 emit: i 2673 } = e; 2674 const n = r(); 2675 let d; 2676 s({ 2677 mousewheel: { 2678 enabled: !1, 2679 releaseOnEdges: !1, 2680 invert: !1, 2681 forceToAxis: !1, 2682 sensitivity: 1, 2683 eventsTarget: "container", 2684 thresholdDelta: null, 2685 thresholdTime: null, 2686 noMousewheelClass: "swiper-no-mousewheel" 2687 } 2688 }), t.mousewheel = { 2689 enabled: !1 2690 }; 2691 let c, 2692 p = o(); 2693 const u = []; 2694 function m() { 2695 t.enabled && (t.mouseEntered = !0); 2696 } 2697 function h() { 2698 t.enabled && (t.mouseEntered = !1); 2699 } 2700 function f(e) { 2701 return !(t.params.mousewheel.thresholdDelta && e.delta < t.params.mousewheel.thresholdDelta) && !(t.params.mousewheel.thresholdTime && o() - p < t.params.mousewheel.thresholdTime) && (e.delta >= 6 && o() - p < 60 || (e.direction < 0 ? t.isEnd && !t.params.loop || t.animating || (t.slideNext(), i("scroll", e.raw)) : t.isBeginning && !t.params.loop || t.animating || (t.slidePrev(), i("scroll", e.raw)), p = new n.Date().getTime(), !1)); 2702 } 2703 function g(e) { 2704 let s = e, 2705 a = !0; 2706 if (!t.enabled) return; 2707 if (e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`)) return; 2708 const r = t.params.mousewheel; 2709 t.params.cssMode && s.preventDefault(); 2710 let n = t.el; 2711 "container" !== t.params.mousewheel.eventsTarget && (n = document.querySelector(t.params.mousewheel.eventsTarget)); 2712 const p = n && n.contains(s.target); 2713 if (!t.mouseEntered && !p && !r.releaseOnEdges) return !0; 2714 s.originalEvent && (s = s.originalEvent); 2715 let m = 0; 2716 const h = t.rtlTranslate ? -1 : 1, 2717 g = function (e) { 2718 let t = 0, 2719 s = 0, 2720 a = 0, 2721 i = 0; 2722 return "detail" in e && (s = e.detail), "wheelDelta" in e && (s = -e.wheelDelta / 120), "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = s, s = 0), a = 10 * t, i = 10 * s, "deltaY" in e && (i = e.deltaY), "deltaX" in e && (a = e.deltaX), e.shiftKey && !a && (a = i, i = 0), (a || i) && e.deltaMode && (1 === e.deltaMode ? (a *= 40, i *= 40) : (a *= 800, i *= 800)), a && !t && (t = a < 1 ? -1 : 1), i && !s && (s = i < 1 ? -1 : 1), { 2723 spinX: t, 2724 spinY: s, 2725 pixelX: a, 2726 pixelY: i 2727 }; 2728 }(s); 2729 if (r.forceToAxis) { 2730 if (t.isHorizontal()) { 2731 if (!(Math.abs(g.pixelX) > Math.abs(g.pixelY))) return !0; 2732 m = -g.pixelX * h; 2733 } else { 2734 if (!(Math.abs(g.pixelY) > Math.abs(g.pixelX))) return !0; 2735 m = -g.pixelY; 2736 } 2737 } else m = Math.abs(g.pixelX) > Math.abs(g.pixelY) ? -g.pixelX * h : -g.pixelY; 2738 if (0 === m) return !0; 2739 r.invert && (m = -m); 2740 let v = t.getTranslate() + m * r.sensitivity; 2741 if (v >= t.minTranslate() && (v = t.minTranslate()), v <= t.maxTranslate() && (v = t.maxTranslate()), a = !!t.params.loop || !(v === t.minTranslate() || v === t.maxTranslate()), a && t.params.nested && s.stopPropagation(), t.params.freeMode && t.params.freeMode.enabled) { 2742 const e = { 2743 time: o(), 2744 delta: Math.abs(m), 2745 direction: Math.sign(m) 2746 }, 2747 a = c && e.time < c.time + 500 && e.delta <= c.delta && e.direction === c.direction; 2748 if (!a) { 2749 c = void 0; 2750 let n = t.getTranslate() + m * r.sensitivity; 2751 const o = t.isBeginning, 2752 p = t.isEnd; 2753 if (n >= t.minTranslate() && (n = t.minTranslate()), n <= t.maxTranslate() && (n = t.maxTranslate()), t.setTransition(0), t.setTranslate(n), t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses(), (!o && t.isBeginning || !p && t.isEnd) && t.updateSlidesClasses(), t.params.loop && t.loopFix({ 2754 direction: e.direction < 0 ? "next" : "prev", 2755 byMousewheel: !0 2756 }), t.params.freeMode.sticky) { 2757 clearTimeout(d), d = void 0, u.length >= 15 && u.shift(); 2758 const s = u.length ? u[u.length - 1] : void 0, 2759 a = u[0]; 2760 if (u.push(e), s && (e.delta > s.delta || e.direction !== s.direction)) u.splice(0);else if (u.length >= 15 && e.time - a.time < 500 && a.delta - e.delta >= 1 && e.delta <= 6) { 2761 const s = m > 0 ? .8 : .2; 2762 c = e, u.splice(0), d = l(() => { 2763 !t.destroyed && t.params && t.slideToClosest(t.params.speed, !0, void 0, s); 2764 }, 0); 2765 } 2766 d || (d = l(() => {
2767 if (t.destroyed || !t.params) return; 2768 c = e, u.splice(0), t.slideToClosest(t.params.speed, !0, void 0, .5); 2769 }, 500)); 2770 } 2771 if (a || i("scroll", s), t.params.autoplay && t.params.autoplay.disableOnInteraction && t.autoplay.stop(), r.releaseOnEdges && (n === t.minTranslate() || n === t.maxTranslate())) return !0; 2772 } 2773 } else { 2774 const s = { 2775 time: o(), 2776 delta: Math.abs(m), 2777 direction: Math.sign(m), 2778 raw: e 2779 }; 2780 u.length >= 2 && u.shift(); 2781 const a = u.length ? u[u.length - 1] : void 0; 2782 if (u.push(s), a ? (s.direction !== a.direction || s.delta > a.delta || s.time > a.time + 150) && f(s) : f(s), function (e) { 2783 const s = t.params.mousewheel; 2784 if (e.direction < 0) { 2785 if (t.isEnd && !t.params.loop && s.releaseOnEdges) return !0; 2786 } else if (t.isBeginning && !t.params.loop && s.releaseOnEdges) return !0; 2787 return !1; 2788 }(s)) return !0; 2789 } 2790 return s.preventDefault ? s.preventDefault() : s.returnValue = !1, !1; 2791 } 2792 function v(e) { 2793 let s = t.el; 2794 "container" !== t.params.mousewheel.eventsTarget && (s = document.querySelector(t.params.mousewheel.eventsTarget)), s[e]("mouseenter", m), s[e]("mouseleave", h), s[e]("wheel", g); 2795 } 2796 function w() { 2797 return t.params.cssMode ? (t.wrapperEl.removeEventListener("wheel", g), !0) : !t.mousewheel.enabled && (v("addEventListener"), t.mousewheel.enabled = !0, !0); 2798 } 2799 function b() { 2800 return t.params.cssMode ? (t.wrapperEl.addEventListener(event, g), !0) : !!t.mousewheel.enabled && (v("removeEventListener"), t.mousewheel.enabled = !1, !0); 2801 } 2802 a("init", () => { 2803 !t.params.mousewheel.enabled && t.params.cssMode && b(), t.params.mousewheel.enabled && w(); 2804 }), a("destroy", () => { 2805 t.params.cssMode && w(), t.mousewheel.enabled && b(); 2806 }), Object.assign(t.mousewheel, { 2807 enable: w, 2808 disable: b 2809 }); 2810 }, function (e) { 2811 let { 2812 swiper: t, 2813 extendParams: s, 2814 on: a, 2815 emit: i 2816 } = e; 2817 function r(e) { 2818 let s; 2819 return e && "string" == typeof e && t.isElement && (s = t.el.querySelector(e) || t.hostEl.querySelector(e), s) ? s : (e && ("string" == typeof e && (s = [...document.querySelectorAll(e)]), t.params.uniqueNavElements && "string" == typeof e && s && s.length > 1 && 1 === t.el.querySelectorAll(e).length ? s = t.el.querySelector(e) : s && 1 === s.length && (s = s[0])), e && !s ? e : s); 2820 } 2821 function n(e, s) { 2822 const a = t.params.navigation;
2823 (e = T(e)).forEach(e => { 2824 e && (e.classList[s ? "add" : "remove"](...a.disabledClass.split(" ")), "BUTTON" === e.tagName && (e.disabled = s), t.params.watchOverflow && t.enabled && e.classList[t.isLocked ? "add" : "remove"](a.lockClass)); 2825 }); 2826 } 2827 function l() { 2828 const { 2829 nextEl: e, 2830 prevEl: s 2831 } = t.navigation; 2832 if (t.params.loop) return n(s, !1), void n(e, !1); 2833 n(s, t.isBeginning && !t.params.rewind), n(e, t.isEnd && !t.params.rewind); 2834 } 2835 function o(e) { 2836 e.preventDefault(), (!t.isBeginning || t.params.loop || t.params.rewind) && (t.slidePrev(), i("navigationPrev")); 2837 } 2838 function d(e) { 2839 e.preventDefault(), (!t.isEnd || t.params.loop || t.params.rewind) && (t.slideNext(), i("navigationNext")); 2840 } 2841 function c() { 2842 const e = t.params.navigation; 2843 if (t.params.navigation = ne(t, t.originalParams.navigation, t.params.navigation, { 2844 nextEl: "swiper-button-next", 2845 prevEl: "swiper-button-prev" 2846 }), !e.nextEl && !e.prevEl) return; 2847 let s = r(e.nextEl), 2848 a = r(e.prevEl); 2849 Object.assign(t.navigation, { 2850 nextEl: s, 2851 prevEl: a 2852 }), s = T(s), a = T(a); 2853 const i = (s, a) => { 2854 s && s.addEventListener("click", "next" === a ? d : o), !t.enabled && s && s.classList.add(...e.lockClass.split(" ")); 2855 }; 2856 s.forEach(e => i(e, "next")), a.forEach(e => i(e, "prev")); 2857 } 2858 function p() { 2859 let { 2860 nextEl: e, 2861 prevEl: s 2862 } = t.navigation; 2863 e = T(e), s = T(s); 2864 const a = (e, s) => { 2865 e.removeEventListener("click", "next" === s ? d : o), e.classList.remove(...t.params.navigation.disabledClass.split(" ")); 2866 }; 2867 e.forEach(e => a(e, "next")), s.forEach(e => a(e, "prev")); 2868 } 2869 s({ 2870 navigation: { 2871 nextEl: null, 2872 prevEl: null, 2873 hideOnClick: !1, 2874 disabledClass: "swiper-button-disabled", 2875 hiddenClass: "swiper-button-hidden", 2876 lockClass: "swiper-button-lock", 2877 navigationDisabledClass: "swiper-navigation-disabled" 2878 } 2879 }), t.navigation = { 2880 nextEl: null, 2881 prevEl: null 2882 }, a("init", () => { 2883 !1 === t.params.navigation.enabled ? u() : (c(), l()); 2884 }), a("toEdge fromEdge lock unlock", () => { 2885 l(); 2886 }), a("destroy", () => { 2887 p(); 2888 }), a("enable disable", () => { 2889 let { 2890 nextEl: e, 2891 prevEl: s 2892 } = t.navigation; 2893 e = T(e), s = T(s), t.enabled ? l() : [...e, ...s].filter(e => !!e).forEach(e => e.classList.add(t.params.navigation.lockClass)); 2894 }), a("click", (e, s) => { 2895 let { 2896 nextEl: a, 2897 prevEl: r 2898 } = t.navigation; 2899 a = T(a), r = T(r); 2900 const n = s.target; 2901 let l = r.includes(n) || a.includes(n); 2902 if (t.isElement && !l) { 2903 const e = s.path || s.composedPath && s.composedPath(); 2904 e && (l = e.find(e => a.includes(e) || r.includes(e))); 2905 } 2906 if (t.params.navigation.hideOnClick && !l) { 2907 if (t.pagination && t.params.pagination && t.params.pagination.clickable && (t.pagination.el === n || t.pagination.el.contains(n))) return; 2908 let e; 2909 a.length ? e = a[0].classList.contains(t.params.navigation.hiddenClass) : r.length && (e = r[0].classList.contains(t.params.navigation.hiddenClass)), i(!0 === e ? "navigationShow" : "navigationHide"), [...a, ...r].filter(e => !!e).forEach(e => e.classList.toggle(t.params.navigation.hiddenClass)); 2910 } 2911 }); 2912 const u = () => { 2913 t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")), p(); 2914 }; 2915 Object.assign(t.navigation, { 2916 enable: () => { 2917 t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")), c(), l(); 2918 }, 2919 disable: u, 2920 update: l, 2921 init: c, 2922 destroy: p 2923 }); 2924 }, function (e) { 2925 let { 2926 swiper: t, 2927 extendParams: s, 2928 on: a, 2929 emit: i 2930 } = e; 2931 const r = "swiper-pagination"; 2932 let n; 2933 s({ 2934 pagination: { 2935 el: null, 2936 bulletElement: "span", 2937 clickable: !1, 2938 hideOnClick: !1, 2939 renderBullet: null, 2940 renderProgressbar: null, 2941 renderFraction: null, 2942 renderCustom: null, 2943 progressbarOpposite: !1, 2944 type: "bullets", 2945 dynamicBullets: !1, 2946 dynamicMainBullets: 1, 2947 formatFractionCurrent: e => e, 2948 formatFractionTotal: e => e, 2949 bulletClass: `${r}-bullet`, 2950 bulletActiveClass: `${r}-bullet-active`, 2951 modifierClass: `${r}-`, 2952 currentClass: `${r}-current`, 2953 totalClass: `${r}-total`, 2954 hiddenClass: `${r}-hidden`, 2955 progressbarFillClass: `${r}-progressbar-fill`, 2956 progressbarOppositeClass: `${r}-progressbar-opposite`, 2957 clickableClass: `${r}-clickable`, 2958 lockClass: `${r}-lock`, 2959 horizontalClass: `${r}-horizontal`, 2960 verticalClass: `${r}-vertical`, 2961 paginationDisabledClass: `${r}-disabled` 2962 } 2963 }), t.pagination = { 2964 el: null, 2965 bullets: [] 2966 }; 2967 let l = 0; 2968 function o() { 2969 return !t.params.pagination.el || !t.pagination.el || Array.isArray(t.pagination.el) && 0 === t.pagination.el.length; 2970 } 2971 function d(e, s) { 2972 const { 2973 bulletActiveClass: a 2974 } = t.params.pagination; 2975 e && (e = e[("prev" === s ? "previous" : "next") + "ElementSibling"]) && (e.classList.add(`${a}-${s}`), (e = e[("prev" === s ? "previous" : "next") + "ElementSibling"]) && e.classList.add(`${a}-${s}-${s}`)); 2976 } 2977 function c(e) { 2978 const s = e.target.closest(le(t.params.pagination.bulletClass)); 2979 if (!s) return; 2980 e.preventDefault(); 2981 const a = y(s) * t.params.slidesPerGroup; 2982 if (t.params.loop) { 2983 if (t.realIndex === a) return; 2984 const e = (i = t.realIndex, r = a, n = t.slides.length, (r %= n) == 1 + (i %= n) ? "next" : r === i - 1 ? "previous" : void 0); 2985 "next" === e ? t.slideNext() : "previous" === e ? t.slidePrev() : t.slideToLoop(a); 2986 } else t.slideTo(a); 2987 var i, r, n; 2988 } 2989 function p() { 2990 const e = t.rtl, 2991 s = t.params.pagination; 2992 if (o()) return; 2993 let a, 2994 r, 2995 c = t.pagination.el; 2996 c = T(c); 2997 const p = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.slides.length, 2998 u = t.params.loop ? Math.ceil(p / t.params.slidesPerGroup) : t.snapGrid.length; 2999 if (t.params.loop ? (r = t.previousRealIndex || 0, a = t.params.slidesPerGroup > 1 ? Math.floor(t.realIndex / t.params.slidesPerGroup) : t.realIndex) : void 0 !== t.snapIndex ? (a = t.snapIndex, r = t.previousSnapIndex) : (r = t.previousIndex || 0, a = t.activeIndex || 0), "bullets" === s.type && t.pagination.bullets && t.pagination.bullets.length > 0) { 3000 const i = t.pagination.bullets; 3001 let o, p, u; 3002 if (s.dynamicBullets && (n = S(i[0], t.isHorizontal() ? "width" : "height", !0), c.forEac
3002h(e => { 3003 e.style[t.isHorizontal() ? "width" : "height"] = n * (s.dynamicMainBullets + 4) + "px"; 3004 }), s.dynamicMainBullets > 1 && void 0 !== r && (l += a - (r || 0), l > s.dynamicMainBullets - 1 ? l = s.dynamicMainBullets - 1 : l < 0 && (l = 0)), o = Math.max(a - l, 0), p = o + (Math.min(i.length, s.dynamicMainBullets) - 1), u = (p + o) / 2), i.forEach(e => { 3005 const t = [...["", "-next", "-next-next", "-prev", "-prev-prev", "-main"].map(e => `${s.bulletActiveClass}${e}`)].map(e => "string" == typeof e && e.includes(" ") ? e.split(" ") : e).flat(); 3006 e.classList.remove(...t); 3007 }), c.length > 1) i.forEach(e => { 3008 const i = y(e); 3009 i === a ? e.classList.add(...s.bulletActiveClass.split(" ")) : t.isElement && e.setAttribute("part", "bullet"), s.dynamicBullets && (i >= o && i <= p && e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")), i === o && d(e, "prev"), i === p && d(e, "next")); 3010 });else { 3011 const e = i[a]; 3012 if (e && e.classList.add(...s.bulletActiveClass.split(" ")), t.isElement && i.forEach((e, t) => { 3013 e.setAttribute("part", t === a ? "bullet-active" : "bullet"); 3014 }), s.dynamicBullets) { 3015 const e = i[o], 3016 t = i[p]; 3017 for (let e = o; e <= p; e += 1) i[e] && i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" ")); 3018 d(e, "prev"), d(t, "next"); 3019 } 3020 } 3021 if (s.dynamicBullets) { 3022 const a = Math.min(i.length, s.dynamicMainBullets + 4), 3023 r = (n * a - n) / 2 - u * n, 3024 l = e ? "right" : "left"; 3025 i.forEach(e => { 3026 e.style[t.isHorizontal() ? l : "top"] = `${r}px`; 3027 }); 3028 } 3029 } 3030 c.forEach((e, r) => { 3031 if ("fraction" === s.type && (e.querySelectorAll(le(s.currentClass)).forEach(e => { 3032 e.textContent = s.formatFractionCurrent(a + 1); 3033 }), e.querySelectorAll(le(s.totalClass)).forEach(e => { 3034 e.textContent = s.formatFractionTotal(u); 3035 })), "progressbar" === s.type) { 3036 let i; 3037 i = s.progressbarOpposite ? t.isHorizontal() ? "vertical" : "horizontal" : t.isHorizontal() ? "horizontal" : "vertical"; 3038 const r = (a + 1) / u; 3039 let n = 1, 3040 l = 1; 3041 "horizontal" === i ? n = r : l = r, e.querySelectorAll(le(s.progressbarFillClass)).forEach(e => { 3042 e.style.transform = `translate3d(0,0,0) scaleX(${n}) scaleY(${l})`, e.style.transitionDuration = `${t.params.speed}ms`; 3043 }); 3044 } 3045 "custom" === s.type && s.renderCustom ? (C(e, s.renderCustom(t, a + 1, u)), 0 === r && i("paginationRender", e)) : (0 === r && i("paginationRender", e), i("paginationUpdate", e)), t.params.watchOverflow && t.enabled && e.classList[t.isLocked ? "add" : "remove"](s.lockClass); 3046 }); 3047 } 3048 function u() { 3049 const e = t.params.pagination; 3050 if (o()) return; 3051 const s = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.grid && t.params.grid.rows > 1 ? t.slides.length / Math.ceil(t.params.grid.rows) : t.slides.length; 3052 let a = t.pagination.el; 3053 a = T(a); 3054 let r = ""; 3055 if ("bullets" === e.type) { 3056 let a = t.params.loop ? Math.ceil(s / t.params.slidesPerGroup) : t.snapGrid.length; 3057 t.params.freeMode && t.params.freeMode.enabled && a > s && (a = s); 3058 for (let s = 0; s < a; s += 1) e.renderBullet ? r += e.renderBullet.call(t, s, e.bulletClass) : r += `<${e.bulletElement} ${t.isElement ? 'part="bullet"' : ""} class="${e.bulletClass}"></${e.bulletElement}>`; 3059 } 3060 "fraction" === e.type && (r = e.renderFraction ? e.renderFraction.call(t, e.currentClass, e.totalClass) : `<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`), "progressbar" === e.type && (r = e.renderProgressbar ? e.renderProgressbar.call(t, e.progressbarFillClass) : `<span class="${e.progressbarFillClass}"></span>`), t.pagination.bullets = [], a.forEach(s => { 3061 "custom" !== e.type && C(s, r || ""), "bullets" === e.type && t.pagination.bullets.push(...s.querySelectorAll(le(e.bulletClass))); 3062 }), "custom" !== e.type && i("paginationRender", a[0]); 3063 } 3064 function m() { 3065 t.params.pagination = ne(t, t.originalParams.pagination, t.params.pagination, { 3066 el: "swiper-pagination" 3067 }); 3068 const e = t.params.pagination; 3069 if (!e.el) return; 3070 let s; 3071 "string" == typeof e.el && t.isElement && (s = t.el.querySelector(e.el)), s || "string" != typeof e.el || (s = [...document.querySelectorAll(e.el)]), s || (s = e.el), s && 0 !== s.length && (t.params.uniqueNavElements && "string" == typeof e.el && Array.isArray(s) && s.length > 1 && (s = [...t.el.querySelectorAll(e.el)], s.length > 1 && (s = s.find(e => E(e, ".swiper")[0] === t.el))), Array.isArray(s) && 1 === s.length && (s = s[0]), Object.assign(t.pagination, { 3072 el: s 3073 }
vendor: 4,187 bytes, lines 3073-3170
3073), s = T(s), s.forEach(s => { 3074 "bullets" === e.type && e.clickable && s.classList.add(...(e.clickableClass || "").split(" ")), s.classList.add(e.modifierClass + e.type), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass), "bullets" === e.type && e.dynamicBullets && (s.classList.add(`${e.modifierClass}${e.type}-dynamic`), l = 0, e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)), "progressbar" === e.type && e.progressbarOpposite && s.classList.add(e.progressbarOppositeClass), e.clickable && s.addEventListener("click", c), t.enabled || s.classList.add(e.lockClass); 3075 })); 3076 } 3077 function h() { 3078 const e = t.params.pagination; 3079 if (o()) return; 3080 let s = t.pagination.el; 3081 s && (s = T(s), s.forEach(s => { 3082 s.classList.remove(e.hiddenClass), s.classList.remove(e.modifierClass + e.type), s.classList.remove(t.isHorizontal() ? e.horizontalClass : e.verticalClass), e.clickable && (s.classList.remove(...(e.clickableClass || "").split(" ")), s.removeEventListener("click", c)); 3083 })), t.pagination.bullets && t.pagination.bullets.forEach(t => t.classList.remove(...e.bulletActiveClass.split(" "))); 3084 } 3085 a("changeDirection", () => { 3086 if (!t.pagination || !t.pagination.el) return; 3087 const e = t.params.pagination; 3088 let { 3089 el: s 3090 } = t.pagination; 3091 s = T(s), s.forEach(s => { 3092 s.classList.remove(e.horizontalClass, e.verticalClass), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass); 3093 }); 3094 }), a("init", () => { 3095 !1 === t.params.pagination.enabled ? f() : (m(), u(), p()); 3096 }), a("activeIndexChange", () => { 3097 void 0 === t.snapIndex && p(); 3098 }), a("snapIndexChange", () => { 3099 p(); 3100 }), a("snapGridLengthChange", () => { 3101 u(), p(); 3102 }), a("destroy", () => { 3103 h(); 3104 }), a("enable disable", () => { 3105 let { 3106 el: e 3107 } = t.pagination; 3108 e && (e = T(e), e.forEach(e => e.classList[t.enabled ? "remove" : "add"](t.params.pagination.lockClass))); 3109 }), a("lock unlock", () => { 3110 p(); 3111 }), a("click", (e, s) => { 3112 const a = s.target, 3113 r = T(t.pagination.el); 3114 if (t.params.pagination.el && t.params.pagination.hideOnClick && r && r.length > 0 && !a.classList.contains(t.params.pagination.bulletClass)) { 3115 if (t.navigation && (t.navigation.nextEl && a === t.navigation.nextEl || t.navigation.prevEl && a === t.navigation.prevEl)) return; 3116 const e = r[0].classList.contains(t.params.pagination.hiddenClass); 3117 i(!0 === e ? "paginationShow" : "paginationHide"), r.forEach(e => e.classList.toggle(t.params.pagination.hiddenClass)); 3118 } 3119 }); 3120 const f = () => { 3121 t.el.classList.add(t.params.pagination.paginationDisabledClass); 3122 let { 3123 el: e 3124 } = t.pagination; 3125 e && (e = T(e), e.forEach(e => e.classList.add(t.params.pagination.paginationDisabledClass))), h(); 3126 }; 3127 Object.assign(t.pagination, { 3128 enable: () => { 3129 t.el.classList.remove(t.params.pagination.paginationDisabledClass); 3130 let { 3131 el: e 3132 } = t.pagination; 3133 e && (e = T(e), e.forEach(e => e.classList.remove(t.params.pagination.paginationDisabledClass))), m(), u(), p(); 3134 }, 3135 disable: f, 3136 render: u, 3137 update: p, 3138 init: m, 3139 destroy: h 3140 }); 3141 }, function (e) { 3142 let { 3143 swiper: t, 3144 extendParams: s, 3145 on: i, 3146 emit: r 3147 } = e; 3148 const o = a(); 3149 let d, 3150 c, 3151 p, 3152 u, 3153 m = !1, 3154 h = null, 3155 f = null; 3156 function g() { 3157 if (!t.params.scrollbar.el || !t.scrollbar.el) return; 3158 const { 3159 scrollbar: e, 3160 rtlTranslate: s 3161 } = t, 3162 { 3163 dragEl: a, 3164 el: i 3165 } = e, 3166 r = t.params.scrollbar, 3167 n = t.params.loop ? t.progressLoop : t.progress; 3168 let l = c, 3169 o = (p - c) * n; 3170 s ? (o = -o, o > 0 ? (l = c - o, o = 0) : -o + c > p && (l = p + o)) : o < 0 ? (l = c + o, o = 0) : o + c > p && (l = p - o), t.isHorizontal() ? (a.style.transform = `translate3d(${o}px, 0, 0)`, a.style.width = `${l}px`) : (a.style.transform = `translate3d(0px, ${o}
3170px, 0)`, a.style.height = `${l}px`), r.hide && (clearTimeout(h), i.style.opacity = 1, h = setTimeout(() => { 3171 i.style.opacity = 0, i.style.transitionDuration = "400ms"; 3172 }, 1e3)); 3173 } 3174 function b() { 3175 if (!t.params.scrollbar.el || !t.scrollbar.el) return; 3176 const { 3177 scrollbar: e 3178 } = t, 3179 { 3180 dragEl: s, 3181 el: a 3182 } = e; 3183 s.style.width = "", s.style.height = "", p = t.isHorizontal() ? a.offsetWidth : a.offsetHeight, u = t.size / (t.virtualSize + t.params.slidesOffsetBefore - (t.params.centeredSlides ? t.snapGrid[0] : 0)), c = "auto" === t.params.scrollbar.dragSize ? p * u : parseInt(t.params.scrollbar.dragSize, 10), t.isHorizontal() ? s.style.width = `${c}px` : s.style.height = `${c}px`, a.style.display = u >= 1 ? "none" : "", t.params.scrollbar.hide && (a.style.opacity = 0), t.params.watchOverflow && t.enabled && e.el.classList[t.isLocked ? "add" : "remove"](t.params.scrollbar.lockClass); 3184 } 3185 function y(e) { 3186 return t.isHorizontal() ? e.clientX : e.clientY; 3187 } 3188 function E(e) { 3189 const { 3190 scrollbar: s, 3191 rtlTranslate: a 3192 } = t, 3193 { 3194 el: i 3195 } = s; 3196 let r; 3197 r = (y(e) - w(i)[t.isHorizontal() ? "left" : "top"] - (null !== d ? d : c / 2)) / (p - c), r = Math.max(Math.min(r, 1), 0), a && (r = 1 - r); 3198 const n = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * r; 3199 t.updateProgress(n), t.setTranslate(n), t.updateActiveIndex(), t.updateSlidesClasses(); 3200 } 3201 function x(e) { 3202 const s = t.params.scrollbar, 3203 { 3204 scrollbar: a, 3205 wrapperEl: i 3206 } = t, 3207 { 3208 el: n, 3209 dragEl: l 3210 } = a; 3211 m = !0, d = e.target === l ? y(e) - e.target.getBoundingClientRect()[t.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(), i.style.transitionDuration = "100ms", l.style.transitionDuration = "100ms", E(e), clearTimeout(f), n.style.transitionDuration = "0ms", s.hide && (n.style.opacity = 1), t.params.cssMode && (t.wrapperEl.style["scroll-snap-type"] = "none"), r("scrollbarDragStart", e); 3212 } 3213 function S(e) { 3214 const { 3215 scrollbar: s, 3216 wrapperEl: a 3217 } = t, 3218 { 3219 el: i, 3220 dragEl: n 3221 } = s; 3222 m && (e.preventDefault && e.cancelable ? e.preventDefault() : e.returnValue = !1, E(e), a.style.transitionDuration = "0ms", i.style.transitionDuration = "0ms", n.style.transitionDuration = "0ms", r("scrollbarDragMove", e)); 3223 } 3224 function M(e) { 3225 const s = t.params.scrollbar, 3226 { 3227 scrollbar: a, 3228 wrapperEl: i 3229 } = t, 3230 { 3231 el: n 3232 } = a; 3233 m && (m = !1, t.params.cssMode && (t.wrapperEl.style["scroll-snap-type"] = "", i.style.transitionDuration = ""), s.hide && (clearTimeout(f), f = l(() => { 3234 n.style.opacity = 0, n.style.transitionDuration = "400ms"; 3235 }, 1e3)), r("scrollbarDragEnd", e), s.snapOnRelease && t.slideToClosest()); 3236 } 3237 function C(e) { 3238 const { 3239 scrollbar: s, 3240 params: a 3241 } = t, 3242 i = s.el; 3243 if (!i) return; 3244 const r = i, 3245 n = !!a.passiveListeners && { 3246 passive: !1, 3247 capture: !1 3248 }, 3249 l = !!a.passiveListeners && { 3250 passive: !0, 3251 capture: !1 3252 }; 3253 if (!r) return; 3254 const d = "on" === e ? "addEventListener" : "removeEventListener"; 3255 r[d]("pointerdown", x, n), o[d]("pointermove", S, n), o[d]("pointerup", M, l); 3256 } 3257 function P() { 3258 const { 3259 scrollbar: e, 3260 el: s 3261 } = t; 3262 t.params.scrollbar = ne(t, t.originalParams.scrollbar, t.params.scrollbar, { 3263 el: "swiper-scrollbar" 3264 }); 3265 const a = t.params.scrollbar; 3266 if (!a.el) return; 3267 let i, r; 3268 if ("string" == typeof a.el && t.isElement && (i = t.el.querySelector(a.el)), i || "string" != typeof a.el) i || (i = a.el);else if (i = o.querySelectorAll(a.el), !i.length) return; 3269 t.params.uniqueNavElements && "string" == typeof a.el && i.length > 1 && 1 === s.querySelectorAll(a.el).length && (i = s.querySelector(a.el)), i.length > 0 && (i = i[0]), i.classList.add(t.isHorizontal() ? a.horizontalClass : a.verticalClass), i && (r = i.querySelector(le(t.params.scrollbar.dragClass)), r || (r = v("div", t.params.scrollbar.dragClass), i.append(r))), Object.assign(e, { 3270 el: i, 3271 dragEl: r 3272 }), a.draggable && t.params.scrollbar.el && t.scrollbar.el && C("on"), i && i.classList[t.enabled ? "remove" : "add"](...n(t.params.scrollbar.lockClass)); 3273 } 3274 function L() { 3275 const e = t.params.scrollbar, 3276 s = t.scrollbar.el; 3277 s && s.classList.remove(...n(t.isHorizontal() ? e.horizontalClass : e.verticalClass)), t.params.scrollbar.el && t.scrollbar.el && C("off"); 3278 } 3279 s({ 3280 scrollbar: { 3281 el: null, 3282 dragSize: "auto", 3283 hide: !1, 3284 draggable: !1, 3285 snapOnRelease: !0, 3286 lockClass: "swiper-scrollbar-lock", 3287 dragClass: "swiper-scrollbar-drag", 3288 scrollbarDisabledClass: "swiper-scrollbar-disabled", 3289 horizontalClass: "swiper-scrollbar-horizontal", 3290 verticalClass: "swiper-scrollbar-vertical" 3291 } 3292 }), t.scrollbar = { 3293 el: null, 3294 dragEl: null 3295 }, i("changeDirection", () => { 3296 if (!t.scrollbar || !t.scrollbar.el) return; 3297 const e = t.params.scrollbar; 3298 let { 3299 el: s 3300 } = t.scrollbar;
3301 s = T(s), s.forEach(s => { 3302 s.classList.remove(e.horizontalClass, e.verticalClass), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass); 3303 }); 3304 }), i("init", () => { 3305 !1 === t.params.scrollbar.enabled ? I() : (P(), b(), g()); 3306 }), i("update resize observerUpdate lock unlock changeDirection", () => { 3307 b(); 3308 }), i("setTranslate", () => { 3309 g(); 3310 }), i("setTransition", (e, s) => { 3311 !function (e) { 3312 t.params.scrollbar.el && t.scrollbar.el && (t.scrollbar.dragEl.style.transitionDuration = `${e}ms`); 3313 }(s); 3314 }), i("enable disable", () => { 3315 const { 3316 el: e 3317 } = t.scrollbar; 3318 e && e.classList[t.enabled ? "remove" : "add"](...n(t.params.scrollbar.lockClass)); 3319 }), i("destroy", () => { 3320 L(); 3321 }); 3322 const I = () => { 3323 t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)), t.scrollbar.el && t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)), L(); 3324 }; 3325 Object.assign(t.scrollbar, { 3326 enable: () => { 3327 t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)), t.scrollbar.el && t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)), P(), b(), g(); 3328 }, 3329 disable: I, 3330 updateSize: b, 3331 setTranslate: g, 3332 init: P, 3333 destroy: L 3334 }); 3335 }, function (e) { 3336 let { 3337 swiper: t, 3338 extendParams: s, 3339 on: a 3340 } = e; 3341 s({ 3342 parallax: { 3343 enabled: !1 3344 } 3345 }); 3346 const i = "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]", 3347 r = (e, s) => { 3348 const { 3349 rtl: a 3350 } = t, 3351 i = a ? -1 : 1, 3352 r = e.getAttribute("data-swiper-parallax") || "0"; 3353 let n = e.getAttribute("data-swiper-parallax-x"), 3354 l = e.getAttribute("data-swiper-parallax-y"); 3355 const o = e.getAttribute("data-swiper-parallax-scale"), 3356 d = e.getAttribute("data-swiper-parallax-opacity"), 3357 c = e.getAttribute("data-swiper-parallax-rotate"); 3358 if (n || l ? (n = n || "0", l = l || "0") : t.isHorizontal() ? (n = r, l = "0") : (l = r, n = "0"), n = n.indexOf("%") >= 0 ? parseInt(n, 10) * s * i + "%" : n * s * i + "px", l = l.indexOf("%") >= 0 ? parseInt(l, 10) * s + "%" : l * s + "px", null != d) { 3359 const t = d - (d - 1) * (1 - Math.abs(s)); 3360 e.style.opacity = t; 3361 } 3362 let p = `translate3d(${n}, ${l}, 0px)`; 3363 if (null != o) { 3364 p += ` scale(${o - (o - 1) * (1 - Math.abs(s))})`; 3365 } 3366 if (c && null != c) { 3367 p += ` rotate(${c * s * -1}deg)`; 3368 } 3369 e.style.transform = p; 3370 }, 3371 n = () => { 3372 const { 3373 el: e, 3374 slides: s, 3375 progress: a, 3376 snapGrid: n, 3377 isElement: l 3378 } = t, 3379 o = f(e, i); 3380 t.isElement && o.push(...f(t.hostEl, i)), o.forEach(e => { 3381 r(e, a); 3382 }), s.forEach((e, s) => { 3383 let l = e.progress; 3384 t.params.slidesPerGroup > 1 && "auto" !== t.params.slidesPerView && (l += Math.ceil(s / 2) - a * (n.length - 1)), l = Math.min(Math.max(l, -1), 1
3384), e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach(e => { 3385 r(e, l); 3386 }); 3387 }); 3388 }; 3389 a("beforeInit", () => { 3390 t.params.parallax.enabled && (t.params.watchSlidesProgress = !0, t.originalParams.watchSlidesProgress = !0); 3391 }), a("init", () => { 3392 t.params.parallax.enabled && n(); 3393 }), a("setTranslate", () => { 3394 t.params.parallax.enabled && n(); 3395 }), a("setTransition", (e, s) => { 3396 t.params.parallax.enabled && function (e) { 3397 void 0 === e && (e = t.params.speed); 3398 const { 3399 el: s, 3400 hostEl: a 3401 } = t, 3402 r = [...s.querySelectorAll(i)]; 3403 t.isElement && r.push(...a.querySelectorAll(i)), r.forEach(t => { 3404 let s = parseInt(t.getAttribute("data-swiper-parallax-duration"), 10) || e; 3405 0 === e && (s = 0), t.style.transitionDuration = `${s}ms`; 3406 }); 3407 }(s); 3408 }); 3409 }, function (e) { 3410 let { 3411 swiper: t, 3412 extendParams: s, 3413 on: a, 3414 emit: i 3415 } = e; 3416 const n = r(); 3417 s({ 3418 zoom: { 3419 enabled: !1, 3420 limitToOriginalSize: !1, 3421 maxRatio: 3, 3422 minRatio: 1, 3423 panOnMouseMove: !1, 3424 toggle: !0, 3425 containerClass: "swiper-zoom-container", 3426 zoomedSlideClass: "swiper-slide-zoomed" 3427 } 3428 }), t.zoom = { 3429 enabled: !1 3430 }; 3431 let l = 1, 3432 o = !1, 3433 c = !1, 3434 p = { 3435 x: 0, 3436 y: 0 3437 }; 3438 const u = -3; 3439 let m, h; 3440 const g = [], 3441 v = { 3442 originX: 0, 3443 originY: 0, 3444 slideEl: void 0, 3445 slideWidth: void 0, 3446 slideHeight: void 0, 3447 imageEl: void 0, 3448 imageWrapEl: void 0, 3449 maxRatio: 3 3450 }, 3451 b = { 3452 isTouched: void 0, 3453 isMoved: void 0, 3454 currentX: void 0, 3455 currentY: void 0, 3456 minX: void 0, 3457 minY: void 0, 3458 maxX: void 0, 3459 maxY: void 0, 3460 width: void 0, 3461 height: void 0, 3462 startX: void 0, 3463 startY: void 0, 3464 touchesStart: {}, 3465 touchesCurrent: {} 3466 }, 3467 y = { 3468 x: void 0, 3469 y: void 0, 3470 prevPositionX: void 0, 3471 prevPositionY: void 0, 3472 prevTime: void 0 3473 }; 3474 let x, 3475 S = 1; 3476 function T() { 3477 if (g.length < 2) return 1; 3478 const e = g[0].pageX, 3479 t = g[0].pageY, 3480 s = g[1].pageX, 3481 a = g[1].pageY; 3482 return Math.sqrt((s - e) ** 2 + (a - t) ** 2); 3483 } 3484 function M() { 3485 const e = t.params.zoom, 3486 s = v.imageWrapEl.getAttribute("data-swiper-zoom") || e.maxRatio; 3487 if (e.limitToOriginalSize && v.imageEl && v.imageEl.naturalWidth) { 3488 const e = v.imageEl.naturalWidth / v.imageEl.offsetWidth; 3489 return Math.min(e, s); 3490 } 3491 return s; 3492 } 3493 function C(e) { 3494 const s = t.isElement ? "swiper-slide" : `.${t.params.slideClass}`; 3495 return !!e.target.matches(s) || t.slides.filter(t => t.contains(e.target)).length > 0; 3496 } 3497 function P(e) { 3498 const s = `.${t.params.zoom.containerClass}`; 3499 return !!e.target.matches(s) || [...t.hostEl.querySelectorAll(s)].filter(t => t.contains(e.target)).length > 0; 3500 } 3501 function L(e) { 3502 if ("mouse" === e.pointerType && g.splice(0, g.length), !C(e)) return; 3503 const s = t.params.zoom; 3504 if (m = !1, h = !1, g.push(e), !(g.length < 2)) { 3505 if (m = !0, v.scaleStart = T(), !v.slideEl) { 3506 v.slideEl = e.target.closest(`.${t.params.slideClass}, swiper-slide`), v.slideEl || (v.slideEl = t.slides[t.activeIndex]); 3507 let a = v.slideEl.querySelector(`.${s.containerClass}`); 3508 if (a && (a = a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), v.imageEl = a, v.imageWrapEl = a ? E(v.imageEl, `.${s.containerClass}`)[0] : void 0, !v.imageWrapEl) return void (v.imageEl = void 0); 3509 v.maxRatio = M(); 3510 } 3511 if (v.imageEl) { 3512 const [e, t] = function () { 3513 if (g.length < 2) return { 3514 x: null, 3515 y: null 3516 }; 3517 const e = v.imageEl.getBoundingClientRect(); 3518 return [(g[0].pageX + (g[1].pageX - g[0].pageX) / 2 - e.x - n.scrollX) / l, (g[0].pageY + (g[1].pageY - g[0].pageY) / 2 - e.y - n.scrollY) / l]; 3519 }(); 3520 v.originX = e, v.originY = t, v.imageEl.style.transitionDuration = "0ms"; 3521 } 3522 o = !0; 3523 } 3524 } 3525 function I(e) { 3526 if (!C(e)) return; 3527 const s = t.params.zoom, 3528 a = t.zoom, 3529 i = g.findIndex(t => t.pointerId === e.pointerId); 3530 i >= 0 && (g[i] = e), g.length < 2 || (h = !0, v.scaleMove = T(), v.imageEl && (a.scale = v.scaleMove / v.scaleStart * l, a.scale > v.maxRatio && (a.scale = v.maxRatio - 1 + (a.scale - v.maxRatio + 1) ** .5), a.scale < s.minRatio && (a.scale = s.minRatio + 1 - (s.minRatio - a.scale + 1) ** .5), v.imageEl.style.transform = `translate3d(0,
35300,0) scale(${a.scale})`)); 3531 } 3532 function z(e) { 3533 if (!C(e)) return; 3534 if ("mouse" === e.pointerType && "pointerout" === e.type) return; 3535 const s = t.params.zoom, 3536 a = t.zoom, 3537 i = g.findIndex(t => t.pointerId === e.pointerId); 3538 i >= 0 && g.splice(i, 1), m && h && (m = !1, h = !1, v.imageEl && (a.scale = Math.max(Math.min(a.scale, v.maxRatio), s.minRatio), v.imageEl.style.transitionDuration = `${t.params.speed}ms`, v.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`, l = a.scale, o = !1, a.scale > 1 && v.slideEl ? v.slideEl.classList.add(`${s.zoomedSlideClass}`) : a.scale <= 1 && v.slideEl && v.slideEl.classList.remove(`${s.zoomedSlideClass}`), 1 === a.scale && (v.originX = 0, v.originY = 0, v.slideEl = void 0))); 3539 } 3540 function A() { 3541 t.touchEventsData.preventTouchMoveFromPointerMove = !1; 3542 } 3543 function $(e) { 3544 const s = "mouse" === e.pointerType && t.params.zoom.panOnMouseMove; 3545 if (!C(e) || !P(e)) return; 3546 const a = t.zoom; 3547 if (!v.imageEl) return; 3548 if (!b.isTouched || !v.slideEl) return void (s && O(e)); 3549 if (s) return void O(e); 3550 b.isMoved || (b.width = v.imageEl.offsetWidth || v.imageEl.clientWidth, b.height = v.imageEl.offsetHeight || v.imageEl.clientHeight, b.startX = d(v.imageWrapEl, "x") || 0, b.startY = d(v.imageWrapEl, "y") || 0, v.slideWidth = v.slideEl.offsetWidth, v.slideHeight = v.slideEl.offsetHeight, v.imageWrapEl.style.transitionDuration = "0ms"); 3551 const i = b.width * a.scale, 3552 r = b.height * a.scale; 3553 b.minX = Math.min(v.slideWidth / 2 - i / 2, 0), b.maxX = -b.minX, b.minY = Math.min(v.slideHeight / 2 - r / 2, 0), b.maxY = -b.minY, b.touchesCurrent.x = g.length > 0 ? g[0].pageX : e.pageX, b.touchesCurrent.y = g.length > 0 ? g[0].pageY : e.pageY; 3554 if (Math.max(Math.abs(b.touchesCurrent.x - b.touchesStart.x), Math.abs(b.touchesCurrent.y - b.touchesStart.y)) > 5 && (t.allowClick = !1), !b.isMoved && !o) { 3555 if (t.isHorizontal() && (Math.floor(b.minX) === Math.floor(b.startX) && b.touchesCurrent.x < b.touchesStart.x || Math.floor(b.maxX) === Math.floor(b.startX) && b.touchesCurrent.x > b.touchesStart.x)) return b.isTouched = !1, void A(); 3556 if (!t.isHorizontal() && (Math.floor(b.minY) === Math.floor(b.startY) && b.touchesCurrent.y < b.touchesStart.y || Math.floor(b.maxY) === Math.floor(b.startY) && b.touchesCurrent.y > b.touchesStart.y)) return b.isTouched = !1, void A(); 3557 } 3558 e.cancelable && e.preventDefault(), e.stopPropagation(), clearTimeout(x), t.touchEventsData.preventTouchMoveFromPointerMove = !0, x = setTimeout(() => { 3559 t.destroyed || A(); 3560 }), b.isMoved = !0; 3561 const n = (a.scale - l) / (v.maxRatio - t.params.zoom.minRatio), 3562 { 3563 originX: c, 3564 originY: p 3565 } = v; 3566 b.currentX = b.touchesCurrent.x - b.touchesStart.x + b.startX + n * (b.width - 2 * c), b.currentY = b.touchesCurrent.y - b.touchesStart.y + b.startY + n * (b.height - 2 * p), b.currentX < b.minX && (b.currentX = b.minX + 1 - (b.minX - b.currentX + 1) ** .8), b.currentX > b.maxX && (b.currentX = b.maxX - 1 + (b.currentX - b.maxX + 1) ** .8), b.currentY < b.minY && (b.currentY = b.minY + 1 - (b.minY - b.currentY + 1) ** .8), b.currentY > b.maxY && (b.currentY = b.maxY - 1 + (b.currentY - b.maxY + 1) ** .8), y.prevPositionX || (y.prevPositionX = b.touchesCurrent.x), y.prevPositionY || (y.prevPositionY = b.touchesCurrent.y), y.prevTime || (y.prevTime = Date.now()), y.x = (b.touchesCurrent.x - y.prevPositionX) / (Date.now() - y.prevTime) / 2, y.y = (b.touchesCurrent.y - y.prevPositionY) / (Date.now() - y.prevTime) / 2, Math.abs(b.touchesCurrent.x - y.prevPositionX) < 2 && (y.x = 0), Math.abs(b.touchesCurrent.y - y.prevPositionY) < 2 && (y.y = 0), y.prevPositionX = b.touchesCurrent.x, y.prevPositionY = b.touchesCurrent.y, y.prevTime = Date.now(), v.imageWrapEl.style.transform = `translate3d(${b.currentX}px, ${b.currentY}px,0)`; 3567 } 3568 function k() { 3569 const e = t.zoom; 3570 v.slideEl && t.activeIndex !== t.slides.indexOf(v.slideEl) && (v.imageEl && (v.imageEl.style.transform = "translate3d(0,
35700,0) scale(1)"), v.imageWrapEl && (v.imageWrapEl.style.transform = "translate3d(0,0,0)"), v.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`), e.scale = 1, l = 1, v.slideEl = void 0, v.imageEl = void 0, v.imageWrapEl = void 0, v.originX = 0, v.originY = 0); 3571 } 3572 function O(e) { 3573 if (l <= 1 || !v.imageWrapEl) return; 3574 if (!C(e) || !P(e)) return; 3575 const t = n.getComputedStyle(v.imageWrapEl).transform, 3576 s = new n.DOMMatrix(t); 3577 if (!c) return c = !0, p.x = e.clientX, p.y = e.clientY, b.startX = s.e, b.startY = s.f, b.width = v.imageEl.offsetWidth || v.imageEl.clientWidth, b.height = v.imageEl.offsetHeight || v.imageEl.clientHeight, v.slideWidth = v.slideEl.offsetWidth, void (v.slideHeight = v.slideEl.offsetHeight); 3578 const a = (e.clientX - p.x) * u, 3579 i = (e.clientY - p.y) * u, 3580 r = b.width * l, 3581 o = b.height * l, 3582 d = v.slideWidth, 3583 m = v.slideHeight, 3584 h = Math.min(d / 2 - r / 2, 0), 3585 f = -h, 3586 g = Math.min(m / 2 - o / 2, 0), 3587 w = -g, 3588 y = Math.max(Math.min(b.startX + a, f), h), 3589 E = Math.max(Math.min(b.startY + i, w), g); 3590 v.imageWrapEl.style.transitionDuration = "0ms", v.imageWrapEl.style.transform = `translate3d(${y}px, ${E}px, 0)`, p.x = e.clientX, p.y = e.clientY, b.startX = y, b.startY = E, b.currentX = y, b.currentY = E; 3591 } 3592 function D(e) { 3593 const s = t.zoom, 3594 a = t.params.zoom; 3595 if (!v.slideEl) { 3596 e && e.target && (v.slideEl = e.target.closest(`.${t.params.slideClass}, swiper-slide`)), v.slideEl || (t.params.virtual && t.params.virtual.enabled && t.virtual ? v.slideEl = f(t.slidesEl, `.${t.params.slideActiveClass}`)[0] : v.slideEl = t.slides[t.activeIndex]); 3597 let s = v.slideEl.querySelector(`.${a.containerClass}`); 3598 s && (s = s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), v.imageEl = s, v.imageWrapEl = s ? E(v.imageEl, `.${a.containerClass}`)[0] : void 0; 3599 } 3600 if (!v.imageEl || !v.imageWrapEl) return; 3601 let i, r, o, d, c, p, u, m, h, g, y, x, S, T, C, P, L, I; 3602 t.params.cssMode && (t.wrapperEl.style.overflow = "hidden", t.wrapperEl.style.touchAction = "none"), v.slideEl.classList.add(`${a.zoomedSlideClass}`), void 0 === b.touchesStart.x && e ? (i = e.pageX, r = e.pageY) : (i = b.touchesStart.x, r = b.touchesStart.y); 3603 const z = l, 3604 A = "number" == typeof e ? e : null; 3605 1 === l && A && (i = void 0, r = void 0, b.touchesStart.x = void 0, b.touchesStart.y = void 0); 3606 const $ = M(); 3607 s.scale = A || $, l = A || $, !e || 1 === l && A ? (u = 0, m = 0) : (L = v.slideEl.offsetWidth, I = v.slideEl.offsetHeight, o = w(v.slideEl).left + n.scrollX, d = w(v.slideEl).top + n.scrollY, c = o + L / 2 - i, p = d + I / 2 - r, h = v.imageEl.offsetWidth || v.imageEl.clientWidth, g = v.imageEl.offsetHeight || v.imageEl.clientHeight, y = h * s.scale, x = g * s.scale, S = Math.min(L / 2 - y / 2, 0), T = Math.min(I / 2 - x / 2, 0), C = -S, P = -T, z > 0 && A && "number" == typeof b.currentX && "number" == typeof b.currentY ? (u = b.currentX * s.scale / z, m = b.currentY * s.scale / z) : (u = c * s.scale, m = p * s.scale), u < S && (u = S), u > C && (u = C), m < T && (m = T), m > P && (m = P)), A && 1 === s.scale && (v.originX = 0, v.originY = 0), b.currentX = u, b.currentY = m, v.imageWrapEl.style.transitionDuration = "300ms", v.imageWrapEl.style.transform = `translate3d(${u}px, ${m}px,0)`, v.imageEl.style.transitionDuration = "300ms", v.imageEl.style.transform = `translate3d(0,0,0) scale(${s.scale})`; 3608 } 3609 function G() { 3610 const e = t.zoom, 3611 s = t.params.zoom; 3612 if (!v.slideEl) { 3613 t.params.virtual && t.params.virtual.enabled && t.virtual ? v.slideEl = f(t.slidesEl, `.${t.params.slideActiveClass}`)[0] : v.slideEl = t.slides[t.activeIndex]; 3614 let e = v.slideEl.querySelector(`.${s.containerClass}`); 3615 e && (e = e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), v.imageEl = e, v.imageWrapEl = e ? E(v.imageEl, `.${s.containerClass}`)[0] : void 0; 3616 } 3617 v.imageEl && v.imageWrapEl && (t.params.cssMode && (t.wrapperEl.style.overflow = "", t.wrapperEl.style.touchAction = ""), e.scale = 1, l = 1, b.currentX = void 0, b.currentY = void 0, b.touchesStart.x = void 0, b.touchesStart.y = void 0, v.imageWrapEl.style.transitionDuration = "300ms", v.imageWrapEl.style.transform = "translate3d(0,
36170,0)", v.imageEl.style.transitionDuration = "300ms", v.imageEl.style.transform = "translate3d(0,0,0) scale(1)", v.slideEl.classList.remove(`${s.zoomedSlideClass}`), v.slideEl = void 0, v.originX = 0, v.originY = 0, t.params.zoom.panOnMouseMove && (p = { 3618 x: 0, 3619 y: 0 3620 }, c && (c = !1, b.startX = 0, b.startY = 0))); 3621 } 3622 function X(e) { 3623 const s = t.zoom; 3624 s.scale && 1 !== s.scale ? G() : D(e); 3625 } 3626 function Y() { 3627 return { 3628 passiveListener: !!t.params.passiveListeners && { 3629 passive: !0, 3630 capture: !1 3631 }, 3632 activeListenerWithCapture: !t.params.passiveListeners || { 3633 passive: !1, 3634 capture: !0 3635 } 3636 }; 3637 } 3638 function B() { 3639 const e = t.zoom; 3640 if (e.enabled) return; 3641 e.enabled = !0; 3642 const { 3643 passiveListener: s, 3644 activeListenerWithCapture: a 3645 } = Y(); 3646 t.wrapperEl.addEventListener("pointerdown", L, s), t.wrapperEl.addEventListener("pointermove", I, a), ["pointerup", "pointercancel", "pointerout"].forEach(e => { 3647 t.wrapperEl.addEventListener(e, z, s); 3648 }), t.wrapperEl.addEventListener("pointermove", $, a); 3649 } 3650 function H() { 3651 const e = t.zoom; 3652 if (!e.enabled) return; 3653 e.enabled = !1; 3654 const { 3655 passiveListener: s, 3656 activeListenerWithCapture: a 3657 } = Y(); 3658 t.wrapperEl.removeEventListener("pointerdown", L, s), t.wrapperEl.removeEventListener("pointermove", I, a), ["pointerup", "pointercancel", "pointerout"].forEach(e => { 3659 t.wrapperEl.removeEventListener(e, z, s); 3660 }), t.wrapperEl.removeEventListener("pointermove", $, a); 3661 } 3662 Object.defineProperty(t.zoom, "scale", { 3663 get: () => S, 3664 set(e) { 3665 if (S !== e) { 3666 const t = v.imageEl, 3667 s = v.slideEl; 3668 i("zoomChange", e, t, s); 3669 } 3670 S = e; 3671 } 3672 }), a("init", () => { 3673 t.params.zoom.enabled && B(); 3674 }), a("destroy", () => { 3675 H(); 3676 }), a("touchStart", (e, s) => { 3677 t.zoom.enabled && function (e) { 3678 const s = t.device; 3679 if (!v.imageEl) return; 3680 if (b.isTouched) return; 3681 s.android && e.cancelable && e.preventDefault(), b.isTouched = !0; 3682 const a = g.length > 0 ? g[0] : e; 3683 b.touchesStart.x = a.pageX, b.touchesStart.y = a.pageY; 3684 }(s); 3685 }), a("touchEnd", (e, s) => { 3686 t.zoom.enabled && function () { 3687 const e = t.zoom; 3688 if (g.length = 0, !v.imageEl) return; 3689 if (!b.isTouched || !b.isMoved) return b.isTouched = !1, void (b.isMoved = !1); 3690 b.isTouched = !1, b.isMoved = !1; 3691 let s = 300, 3692 a = 300; 3693 const i = y.x * s, 3694 r = b.currentX + i, 3695 n = y.y * a, 3696 l = b.currentY + n; 3697 0 !== y.x && (s = Math.abs((r - b.currentX) / y.x)), 0 !== y.y && (a = Math.abs((l - b.currentY) / y.y)); 3698 const o = Math.max(s, a); 3699 b.currentX = r, b.currentY = l; 3700 const d = b.width * e.scale, 3701 c = b.height * e.scale; 3702 b.minX = Math.min(v.slideWidth / 2 - d / 2, 0), b.maxX = -b.minX, b.minY = Math.min(v.slideHeight / 2 - c / 2, 0), b.maxY = -b.minY, b.currentX = Math.max(Math.min(b.currentX, b.maxX), b.minX), b.currentY = Math.max(Math.min(b.currentY, b.maxY), b.minY), v.imageWrapEl.style.transitionDuration = `${o}ms`, v.imageWrapEl.style.transform = `translate3d(${b.currentX}px, ${b.currentY}px,0)`; 3703 }(); 3704 }), a("doubleTap", (e, s) => { 3705 !t.animating && t.params.zoom.enabled && t.zoom.enabled && t.params.zoom.toggle && X(s); 3706 }), a("transitionEnd", () => { 3707 t.zoom.enabled && t.params.zoom.enabled && k(); 3708 }), a("slideChange", () => { 3709 t.zoom.enabled && t.params.zoom.enabled && t.params.cssMode && k(); 3710 }), Object.assign(t.zoom, { 3711 enable: B, 3712 disable: H, 3713 in: D, 3714 out: G, 3715 toggle: X 3716 }); 3717 }, function (e) { 3718 let { 3719 swiper: t, 3720 extendParams: s, 3721 on: a 3722 } = e; 3723 function i(e, t) { 3724 const s = function () { 3725 let e, t, s; 3726 return (a, i) => { 3727 for (t = -1, e = a.length; e - t > 1;) s = e + t >> 1, a[s] <= i ? t = s : e = s; 3728 return e; 3729 }; 3730 }(); 3731 let a, i; 3732 return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function (e) { 3733 return e ? (i = s(this.x, e), a = i - 1, (e - this.x[a]) * (this.y[i] - this.y[a]) / (this.x[i] - this.x[a]) + this.y[a]) : 0; 3734 }, this; 3735 } 3736 function r() { 3737 t.controller.control && t.controller.spline && (t.controller.spline = void 0, delete t.controller.spline); 3738 } 3739 s({ 3740 controller: { 3741 control: void 0, 3742 inverse: !1, 3743 by: "slide" 3744 } 3745 }), t.controller = { 3746 control: void 0 3747 }, a("beforeInit", () => { 3748 if ("undefined" != typeof window && ("string" == typeof t.params.controller.control || t.params.controller.control instanceof HTMLElement)) { 3749 ("string" == typeof t.params.controller.control ? [...document.querySelectorAll(t.params.controller.control)] : [t.params.controller.control]).forEac
3749h(e => { 3750 if (t.controller.control || (t.controller.control = []), e && e.swiper) t.controller.control.push(e.swiper);else if (e) { 3751 const s = `${t.params.eventsPrefix}init`, 3752 a = i => { 3753 t.controller.control.push(i.detail[0]), t.update(), e.removeEventListener(s, a); 3754 }; 3755 e.addEventListener(s, a); 3756 } 3757 }); 3758 } else t.controller.control = t.params.controller.control; 3759 }), a("update", () => { 3760 r(); 3761 }), a("resize", () => { 3762 r(); 3763 }), a("observerUpdate", () => { 3764 r(); 3765 }), a("setTranslate", (e, s, a) => { 3766 t.controller.control && !t.controller.control.destroyed && t.controller.setTranslate(s, a); 3767 }), a("setTransition", (e, s, a) => { 3768 t.controller.control && !t.controller.control.destroyed && t.controller.setTransition(s, a); 3769 }), Object.assign(t.controller, { 3770 setTranslate: function (e, s) { 3771 const a = t.controller.control; 3772 let r, n; 3773 const l = t.constructor; 3774 function o(e) { 3775 if (e.destroyed) return; 3776 const s = t.rtlTranslate ? -t.translate : t.translate; 3777 "slide" === t.params.controller.by && (!function (e) { 3778 t.controller.spline = t.params.loop ? new i(t.slidesGrid, e.slidesGrid) : new i(t.snapGrid, e.snapGrid); 3779 }(e), n = -t.controller.spline.interpolate(-s)), n && "container" !== t.params.controller.by || (r = (e.maxTranslate() - e.minTranslate()) / (t.maxTranslate() - t.minTranslate()), !Number.isNaN(r) && Number.isFinite(r) || (r = 1), n = (s - t.minTranslate()) * r + e.minTranslate()), t.params.controller.inverse && (n = e.maxTranslate() - n), e.updateProgress(n), e.setTranslate(n, t), e.updateActiveIndex(), e.updateSlidesClasses(); 3780 } 3781 if (Array.isArray(a)) for (let e = 0; e < a.length; e += 1) a[e] !== s && a[e] instanceof l && o(a[e]);else a instanceof l && s !== a && o(a); 3782 }, 3783 setTransition: function (e, s) { 3784 const a = t.constructor, 3785 i = t.controller.control; 3786 let r; 3787 function n(s) { 3788 s.destroyed || (s.setTransition(e, t), 0 !== e && (s.transitionStart(), s.params.autoHeight && l(() => { 3789 s.updateAutoHeight(); 3790 }), x(s.wrapperEl, () => { 3791 i && s.transitionEnd(); 3792 }))); 3793 } 3794 if (Array.isArray(i)) for (r = 0; r < i.length; r += 1) i[r] !== s && i[r] instanceof a && n(i[r]);else i instanceof a && s !== i && n(i); 3795 } 3796 }); 3797 }, function (e) { 3798 let { 3799 swiper: t, 3800 extendParams: s, 3801 on: i 3802 } = e; 3803 s({ 3804 a11y: { 3805 enabled: !0, 3806 notificationClass: "swiper-notification", 3807 prevSlideMessage: "Previous slide", 3808 nextSlideMessage: "Next slide", 3809 firstSlideMessage: "This is the first slide", 3810 lastSlideMessage: "This is the last slide", 3811 paginationBulletMessage: "Go to slide {{index}}", 3812 slideLabelMessage: "{{index}} / {{slidesLength}}", 3813 containerMessage: null, 3814 containerRoleDescriptionMessage: null, 3815 containerRole: null, 3816 itemRoleDescriptionMessage: null, 3817 slideRole: "group", 3818 id: null, 3819 scrollOnFocus: !0 3820 } 3821 }), t.a11y = { 3822 clicked: !1 3823 }; 3824 let r, 3825 n, 3826 l = null, 3827 o = new Date().getTime(); 3828 function d(e) { 3829 const t = l; 3830 0 !== t.length && C(t, e); 3831 } 3832 function c(e) {
3833 (e = T(e)).forEach(e => { 3834 e.setAttribute("tabIndex", "0"); 3835 }); 3836 } 3837 function p(e) { 3838 (e = T(e)).forEach(e => { 3839 e.setAttribute("tabIndex", "-1"); 3840 }); 3841 } 3842 function u(e, t) { 3843 (e = T(e)).forEach(e => { 3844 e.setAttribute("role", t); 3845 }); 3846 } 3847 function m(e, t) { 3848 (e = T(e)).forEach(e => { 3849 e.setAttribute("aria-roledescription", t); 3850 }); 3851 } 3852 function h(e, t) { 3853 (e = T(e)).forEach(e => { 3854 e.setAttribute("aria-label", t); 3855 }); 3856 } 3857 function f(e) { 3858 (e = T(e)).forEach(e => { 3859 e.setAttribute("aria-disabled", !0); 3860 }); 3861 } 3862 function g(e) { 3863 (e = T(e)).forEach(e => { 3864 e.setAttribute("aria-disabled", !1); 3865 }); 3866 } 3867 function w(e) { 3868 if (13 !== e.keyCode && 32 !== e.keyCode) return; 3869 const s = t.params.a11y, 3870 a = e.target; 3871 if (!t.pagination || !t.pagination.el || a !== t.pagination.el && !t.pagination.el.contains(e.target) || e.target.matches(le(t.params.pagination.bulletClass))) { 3872 if (t.navigation && t.navigation.prevEl && t.navigation.nextEl) { 3873 const e = T(t.navigation.prevEl); 3874 T(t.navigation.nextEl).includes(a) && (t.isEnd && !t.params.loop || t.slideNext(), t.isEnd ? d(s.lastSlideMessage) : d(s.nextSlideMessage)), e.includes(a) && (t.isBeginning && !t.params.loop || t.slidePrev(), t.isBeginning ? d(s.firstSlideMessage) : d(s.prevSlideMessage)); 3875 } 3876 t.pagination && a.matches(le(t.params.pagination.bulletClass)) && a.click(); 3877 } 3878 } 3879 function b() { 3880 return t.pagination && t.pagination.bullets && t.pagination.bullets.length; 3881 } 3882 function E() { 3883 return b() && t.params.pagination.clickable; 3884 } 3885 const x = (e, t, s) => { 3886 c(e), "BUTTON" !== e.tagName && (u(e, "button"), e.addEventListener("keydown", w)), h(e, s), function (e, t) {
3887 (e = T(e)).forEach(e => { 3888 e.setAttribute("aria-controls", t); 3889 }); 3890 }(e, t); 3891 }, 3892 S = e => { 3893 n && n !== e.target && !n.contains(e.target) && (r = !0), t.a11y.clicked = !0; 3894 }, 3895 M = () => { 3896 r = !1, requestAnimationFrame(() => { 3897 requestAnimationFrame(() => { 3898 t.destroyed || (t.a11y.clicked = !1); 3899 }); 3900 }); 3901 }, 3902 P = e => { 3903 o = new Date().getTime(); 3904 }, 3905 L = e => { 3906 if (t.a11y.clicked || !t.params.a11y.scrollOnFocus) return; 3907 if (new Date().getTime() - o < 100) return; 3908 const s = e.target.closest(`.${t.params.slideClass}, swiper-slide`); 3909 if (!s || !t.slides.includes(s)) return; 3910 n = s; 3911 const a = t.slides.indexOf(s) === t.activeIndex, 3912 i = t.params.watchSlidesProgress && t.visibleSlides && t.visibleSlides.includes(s); 3913 a || i || e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents || (t.isHorizontal() ? t.el.scrollLeft = 0 : t.el.scrollTop = 0, requestAnimationFrame(() => { 3914 r || (t.params.loop ? t.slideToLoop(t.getSlideIndexWhenGrid(parseInt(s.getAttribute("data-swiper-slide-index"))), 0) : t.slideTo(t.getSlideIndexWhenGrid(t.slides.indexOf(s)), 0), r = !1); 3915 })); 3916 }, 3917 I = () => { 3918 const e = t.params.a11y; 3919 e.itemRoleDescriptionMessage && m(t.slides, e.itemRoleDescriptionMessage), e.slideRole && u(t.slides, e.slideRole); 3920 const s = t.slides.length; 3921 e.slideLabelMessage && t.slides.forEach((a, i) => { 3922 const r = t.params.loop ? parseInt(a.getAttribute("data-swiper-slide-index"), 10) : i; 3923 h(a, e.slideLabelMessage.replace(/\{\{index\}\}/, r + 1).replace(/\{\{slidesLength\}\}/, s)); 3924 }); 3925 }, 3926 z = () => { 3927 const e = t.params.a11y; 3928 t.el.append(l); 3929 const s = t.el; 3930 e.containerRoleDescriptionMessage && m(s, e.containerRoleDescriptionMessage), e.containerMessage && h(s, e.containerMessage), e.containerRole && u(s, e.containerRole); 3931 const i = t.wrapperEl, 3932 r = e.id || i.getAttribute("id") || `swiper-wrapper-${(n = 16, void 0 === n && (n = 16), "x".repeat(n).replace(/x/g, () => Math.round(16 * Math.random()).toString(16)))}`; 3933 var n; 3934 const o = t.params.autoplay && t.params.autoplay.enabled ? "off" : "polite"; 3935 var d; 3936 d = r, T(i).forEach(e => { 3937 e.setAttribute("id", d); 3938 }), function (e, t) {
vendor: 9,092 bytes, lines 3939-4168
3939 (e = T(e)).forEach(e => { 3940 e.setAttribute("aria-live", t); 3941 }); 3942 }(i, o), I(); 3943 let { 3944 nextEl: c, 3945 prevEl: p 3946 } = t.navigation ? t.navigation : {}; 3947 if (c = T(c), p = T(p), c && c.forEach(t => x(t, r, e.nextSlideMessage)), p && p.forEach(t => x(t, r, e.prevSlideMessage)), E()) { 3948 T(t.pagination.el).forEach(e => { 3949 e.addEventListener("keydown", w); 3950 }); 3951 } 3952 a().addEventListener("visibilitychange", P), t.el.addEventListener("focus", L, !0), t.el.addEventListener("focus", L, !0), t.el.addEventListener("pointerdown", S, !0), t.el.addEventListener("pointerup", M, !0); 3953 }; 3954 i("beforeInit", () => { 3955 l = v("span", t.params.a11y.notificationClass), l.setAttribute("aria-live", "assertive"), l.setAttribute("aria-atomic", "true"); 3956 }), i("afterInit", () => { 3957 t.params.a11y.enabled && z(); 3958 }), i("slidesLengthChange snapGridLengthChange slidesGridLengthChange", () => { 3959 t.params.a11y.enabled && I(); 3960 }), i("fromEdge toEdge afterInit lock unlock", () => { 3961 t.params.a11y.enabled && function () { 3962 if (t.params.loop || t.params.rewind || !t.navigation) return; 3963 const { 3964 nextEl: e, 3965 prevEl: s 3966 } = t.navigation; 3967 s && (t.isBeginning ? (f(s), p(s)) : (g(s), c(s))), e && (t.isEnd ? (f(e), p(e)) : (g(e), c(e))); 3968 }(); 3969 }), i("paginationUpdate", () => { 3970 t.params.a11y.enabled && function () { 3971 const e = t.params.a11y; 3972 b() && t.pagination.bullets.forEach(s => { 3973 t.params.pagination.clickable && (c(s), t.params.pagination.renderBullet || (u(s, "button"), h(s, e.paginationBulletMessage.replace(/\{\{index\}\}/, y(s) + 1)))), s.matches(le(t.params.pagination.bulletActiveClass)) ? s.setAttribute("aria-current", "true") : s.removeAttribute("aria-current"); 3974 }); 3975 }(); 3976 }), i("destroy", () => { 3977 t.params.a11y.enabled && function () { 3978 l && l.remove(); 3979 let { 3980 nextEl: e, 3981 prevEl: s 3982 } = t.navigation ? t.navigation : {}; 3983 e = T(e), s = T(s), e && e.forEach(e => e.removeEventListener("keydown", w)), s && s.forEach(e => e.removeEventListener("keydown", w)), E() && T(t.pagination.el).forEach(e => { 3984 e.removeEventListener("keydown", w); 3985 }); 3986 a().removeEventListener("visibilitychange", P), t.el && "string" != typeof t.el && (t.el.removeEventListener("focus", L, !0), t.el.removeEventListener("pointerdown", S, !0), t.el.removeEventListener("pointerup", M, !0)); 3987 }(); 3988 }); 3989 }, function (e) { 3990 let { 3991 swiper: t, 3992 extendParams: s, 3993 on: a 3994 } = e; 3995 s({ 3996 history: { 3997 enabled: !1, 3998 root: "", 3999 replaceState: !1, 4000 key: "slides", 4001 keepQuery: !1 4002 } 4003 }); 4004 let i = !1, 4005 n = {}; 4006 const l = e => e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, ""), 4007 o = e => { 4008 const t = r(); 4009 let s; 4010 s = e ? new URL(e) : t.location; 4011 const a = s.pathname.slice(1).split("/").filter(e => "" !== e), 4012 i = a.length; 4013 return { 4014 key: a[i - 2], 4015 value: a[i - 1] 4016 }; 4017 }, 4018 d = (e, s) => { 4019 const a = r(); 4020 if (!i || !t.params.history.enabled) return; 4021 let n; 4022 n = t.params.url ? new URL(t.params.url) : a.location; 4023 const o = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`) : t.slides[s]; 4024 let d = l(o.getAttribute("data-history")); 4025 if (t.params.history.root.length > 0) { 4026 let s = t.params.history.root; 4027 "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)), d = `${s}/${e ? `${e}/` : ""}${d}`; 4028 } else n.pathname.includes(e) || (d = `${e ? `${e}/` : ""}${d}`); 4029 t.params.history.keepQuery && (d += n.search); 4030 const c = a.history.state; 4031 c && c.value === d || (t.params.history.replaceState ? a.history.replaceState({ 4032 value: d 4033 }, null, d) : a.history.pushState({ 4034 value: d 4035 }, null, d)); 4036 }, 4037 c = (e, s, a) => { 4038 if (s) for (let i = 0, r = t.slides.length; i < r; i += 1) { 4039 const r = t.slides[i]; 4040 if (l(r.getAttribute("data-history")) === s) { 4041 const s = t.getSlideIndex(r); 4042 t.slideTo(s, e, a); 4043 } 4044 } else t.slideTo(0, e, a); 4045 }, 4046 p = () => { 4047 n = o(t.params.url), c(t.params.speed, n.value, !1); 4048 }; 4049 a("init", () => { 4050 t.params.history.enabled && (() => { 4051 const e = r(); 4052 if (t.params.history) { 4053 if (!e.history || !e.history.pushState) return t.params.history.enabled = !1, void (t.params.hashNavigation.enabled = !0); 4054 i = !0, n = o(t.params.url), n.key || n.value ? (c(0, n.value, t.params.runCallbacksOnInit), t.params.history.replaceState || e.addEventListener("popstate", p)) : t.params.history.replaceState || e.addEventListener("popstate", p); 4055 } 4056 })(); 4057 }), a("destroy", () => { 4058 t.params.history.enabled && (() => { 4059 const e = r(); 4060 t.params.history.replaceState || e.removeEventListener("popstate", p); 4061 })(); 4062 }), a("transitionEnd _freeModeNoMomentumRelease", () => { 4063 i && d(t.params.history.key, t.activeIndex); 4064 }), a("slideChange", () => { 4065 i && t.params.cssMode && d(t.params.history.key, t.activeIndex); 4066 }); 4067 }, function (e) { 4068 let { 4069 swiper: t, 4070 extendParams: s, 4071 emit: i, 4072 on: n 4073 } = e, 4074 l = !1; 4075 const o = a(), 4076 d = r(); 4077 s({ 4078 hashNavigation: { 4079 enabled: !1, 4080 replaceState: !1, 4081 watchState: !1, 4082 getSlideIndex(e, s) { 4083 if (t.virtual && t.params.virtual.enabled) { 4084 const e = t.slides.find(e => e.getAttribute("data-hash") === s); 4085 if (!e) return 0; 4086 return parseInt(e.getAttribute("data-swiper-slide-index"), 10); 4087 } 4088 return t.getSlideIndex(f(t.slidesEl, `.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0]); 4089 } 4090 } 4091 }); 4092 const c = () => { 4093 i("hashChange"); 4094 const e = o.location.hash.replace("#", ""), 4095 s = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`) : t.slides[t.activeIndex]; 4096 if (e !== (s ? s.getAttribute("data-hash") : "")) { 4097 const s = t.params.hashNavigation.getSlideIndex(t, e); 4098 if (void 0 === s || Number.isNaN(s)) return; 4099 t.slideTo(s); 4100 } 4101 }, 4102 p = () => { 4103 if (!l || !t.params.hashNavigation.enabled) return; 4104 const e = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`) : t.slides[t.activeIndex], 4105 s = e ? e.getAttribute("data-hash") || e.getAttribute("data-history") : ""; 4106 t.params.hashNavigation.replaceState && d.history && d.history.replaceState ? (d.history.replaceState(null, null, `#${s}` || ""), i("hashSet")) : (o.location.hash = s || "", i("hashSet")); 4107 }; 4108 n("init", () => { 4109 t.params.hashNavigation.enabled && (() => { 4110 if (!t.params.hashNavigation.enabled || t.params.history && t.params.history.enabled) return; 4111 l = !0; 4112 const e = o.location.hash.replace("#", ""); 4113 if (e) { 4114 const s = 0, 4115 a = t.params.hashNavigation.getSlideIndex(t, e); 4116 t.slideTo(a || 0, s, t.params.runCallbacksOnInit, !0); 4117 } 4118 t.params.hashNavigation.watchState && d.addEventListener("hashchange", c); 4119 })(); 4120 }), n("destroy", () => { 4121 t.params.hashNavigation.enabled && t.params.hashNavigation.watchState && d.removeEventListener("hashchange", c); 4122 }), n("transitionEnd _freeModeNoMomentumRelease", () => { 4123 l && p(); 4124 }), n("slideChange", () => { 4125 l && t.params.cssMode && p(); 4126 }); 4127 }, function (e) { 4128 let t, 4129 s, 4130 { 4131 swiper: i, 4132 extendParams: r, 4133 on: n, 4134 emit: l, 4135 params: o 4136 } = e; 4137 i.autoplay = { 4138 running: !1, 4139 paused: !1, 4140 timeLeft: 0 4141 }, r({ 4142 autoplay: { 4143 enabled: !1, 4144 delay: 3e3, 4145 waitForTransition: !0, 4146 disableOnInteraction: !1, 4147 stopOnLastSlide: !1, 4148 reverseDirection: !1, 4149 pauseOnMouseEnter: !1 4150 } 4151 }); 4152 let d, 4153 c, 4154 p, 4155 u, 4156 m, 4157 h, 4158 f, 4159 g, 4160 v = o && o.autoplay ? o.autoplay.delay : 3e3, 4161 w = o && o.autoplay ? o.autoplay.delay : 3e3, 4162 b = new Date().getTime(); 4163 function y(e) { 4164 i && !i.destroyed && i.wrapperEl && e.target === i.wrapperEl && (i.wrapperEl.removeEventListener("transitionend", y), g || e.detail && e.detail.bySwiperTouchMove || C()); 4165 } 4166 const E = () => { 4167 if (i.destroyed || !i.autoplay.running) return; 4168 i.autoplay.paused ? c = !0 : c && (w = d, c = !1);
4169 const e = i.autoplay.paused ? d : b + w - new Date().getTime(); 4170 i.autoplay.timeLeft = e, l("autoplayTimeLeft", e, e / v), s = requestAnimationFrame(() => { 4171 E(); 4172 }); 4173 }, 4174 x = e => { 4175 if (i.destroyed || !i.autoplay.running) return; 4176 cancelAnimationFrame(s), E(); 4177 let a = void 0 === e ? i.params.autoplay.delay : e; 4178 v = i.params.autoplay.delay, w = i.params.autoplay.delay; 4179 const r = (() => { 4180 let e; 4181 if (e = i.virtual && i.params.virtual.enabled ? i.slides.find(e => e.classList.contains("swiper-slide-active")) : i.slides[i.activeIndex], !e) return; 4182 return parseInt(e.getAttribute("data-swiper-autoplay"), 10); 4183 })(); 4184 !Number.isNaN(r) && r > 0 && void 0 === e && (a = r, v = r, w = r), d = a; 4185 const n = i.params.speed, 4186 o = () => { 4187 i && !i.destroyed && (i.params.autoplay.reverseDirection ? !i.isBeginning || i.params.loop || i.params.rewind ? (i.slidePrev(n, !0, !0), l("autoplay")) : i.params.autoplay.stopOnLastSlide || (i.slideTo(i.slides.length - 1, n, !0, !0), l("autoplay")) : !i.isEnd || i.params.loop || i.params.rewind ? (i.slideNext(n, !0, !0), l("autoplay")) : i.params.autoplay.stopOnLastSlide || (i.slideTo(0, n, !0, !0), l("autoplay")), i.params.cssMode && (b = new Date().getTime(), requestAnimationFrame(() => { 4188 x(); 4189 }))); 4190 }; 4191 return a > 0 ? (clearTimeout(t), t = setTimeout(() => { 4192 o(); 4193 }, a)) : requestAnimationFrame(() => { 4194 o(); 4195 }), a; 4196 }, 4197 S = () => { 4198 b = new Date().getTime(), i.autoplay.running = !0, x(), l("autoplayStart"); 4199 }, 4200 T = () => { 4201 i.autoplay.running = !1, clearTimeout(t), cancelAnimationFrame(s), l("autoplayStop"); 4202 }, 4203 M = (e, s) => { 4204 if (i.destroyed || !i.autoplay.running) return; 4205 clearTimeout(t), e || (f = !0); 4206 const a = () => { 4207 l("autoplayPause"), i.params.autoplay.waitForTransition ? i.wrapperEl.addEventListener("transitionend", y) : C(); 4208 }; 4209 if (i.autoplay.paused = !0, s) return h && (d = i.params.autoplay.delay), h = !1, void a(); 4210 const r = d || i.params.autoplay.delay; 4211 d = r - (new Date().getTime() - b), i.isEnd && d < 0 && !i.params.loop || (d < 0 && (d = 0), a()); 4212 }, 4213 C = () => { 4214 i.isEnd && d < 0 && !i.params.loop || i.destroyed || !i.autoplay.running || (b = new Date().getTime(), f ? (f = !1, x(d)) : x(), i.autoplay.paused = !1, l("autoplayResume")); 4215 }, 4216 P = () => { 4217 if (i.destroyed || !i.autoplay.running) return; 4218 const e = a(); 4219 "hidden" === e.visibilityState && (f = !0, M(!0)), "visible" === e.visibilityState && C(); 4220 }, 4221 L = e => { 4222 "mouse" === e.pointerType && (f = !0, g = !0, i.animating || i.autoplay.paused || M(!0)); 4223 }, 4224 I = e => { 4225 "mouse" === e.pointerType && (g = !1, i.autoplay.paused && C()); 4226 }; 4227 n("init", () => { 4228 i.params.autoplay.enabled && (i.params.autoplay.pauseOnMouseEnter && (i.el.addEventListener("pointerenter", L), i.el.addEventListener("pointerleave", I)), a().addEventListener("visibilitychange", P), S()); 4229 }), n("destroy", () => { 4230 i.el && "string" != typeof i.el && (i.el.removeEventListener("pointerenter", L), i.el.removeEventListener("pointerleave", I)), a().removeEventListener("visibilitychange", P), i.autoplay.running && T(); 4231 }), n("_freeModeStaticRelease", () => { 4232 (u || f) && C(); 4233 }), n("_freeModeNoMomentumRelease", () => { 4234 i.params.autoplay.disableOnInteraction ? T() : M(!0, !0); 4235 }), n("beforeTransitionStart", (e, t, s) => { 4236 !i.destroyed && i.autoplay.running && (s || !i.params.autoplay.disableOnInteraction ? M(!0, !0) : T()); 4237 }), n("sliderFirstMove", () => { 4238 !i.destroyed && i.autoplay.running && (i.params.autoplay.disableOnInteraction ? T() : (p = !0, u = !1, f = !1, m = setTimeout(() => { 4239 f = !0, u = !0, M(!0); 4240 }, 200))); 4241 }), n("touchEnd", () => { 4242 if (!i.destroyed && i.autoplay.running && p) { 4243 if (clearTimeout(m), clearTimeout(t), i.params.autoplay.disableOnInteraction) return u = !1, void (p = !1); 4244 u && i.params.cssMode && C(), u = !1, p = !1; 4245 } 4246 }), n("slideChange", () => { 4247 !i.destroyed && i.autoplay.running && (h = !0); 4248 }), Object.assign(i.autoplay, { 4249 start: S, 4250 stop: T, 4251 pause: M, 4252 resume: C 4253 }); 4254 }, function (e) { 4255 let { 4256 swiper: t, 4257 extendParams: s, 4258 on: i 4259 } = e; 4260 s({ 4261 thumbs: { 4262 swiper: null, 4263 multipleActiveThumbs: !0, 4264 autoScrollOffset: 0, 4265 slideThumbActiveClass: "swiper-slide-thumb-active", 4266 thumbsContainerClass: "swiper-thumbs" 4267 } 4268 }); 4269 let r = !1, 4270 n = !1; 4271 function l() { 4272 const e = t.thumbs.swiper; 4273 if (!e || e.destroyed) return; 4274 const s = e.clickedIndex, 4275 a = e.clickedSlide;
vendor: 7,400 bytes, lines 4276-4442
4276 if (a && a.classList.contains(t.params.thumbs.slideThumbActiveClass)) return; 4277 if (null == s) return; 4278 let i; 4279 i = e.params.loop ? parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10) : s, t.params.loop ? t.slideToLoop(i) : t.slideTo(i); 4280 } 4281 function o() { 4282 const { 4283 thumbs: e 4284 } = t.params; 4285 if (r) return !1; 4286 r = !0; 4287 const s = t.constructor; 4288 if (e.swiper instanceof s) { 4289 if (e.swiper.destroyed) return r = !1, !1; 4290 t.thumbs.swiper = e.swiper, Object.assign(t.thumbs.swiper.originalParams, { 4291 watchSlidesProgress: !0, 4292 slideToClickedSlide: !1 4293 }), Object.assign(t.thumbs.swiper.params, { 4294 watchSlidesProgress: !0, 4295 slideToClickedSlide: !1 4296 }), t.thumbs.swiper.update(); 4297 } else if (c(e.swiper)) { 4298 const a = Object.assign({}, e.swiper); 4299 Object.assign(a, { 4300 watchSlidesProgress: !0, 4301 slideToClickedSlide: !1 4302 }), t.thumbs.swiper = new s(a), n = !0; 4303 } 4304 return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass), t.thumbs.swiper.on("tap", l), !0; 4305 } 4306 function d(e) { 4307 const s = t.thumbs.swiper; 4308 if (!s || s.destroyed) return; 4309 const a = "auto" === s.params.slidesPerView ? s.slidesPerViewDynamic() : s.params.slidesPerView; 4310 let i = 1; 4311 const r = t.params.thumbs.slideThumbActiveClass; 4312 if (t.params.slidesPerView > 1 && !t.params.centeredSlides && (i = t.params.slidesPerView), t.params.thumbs.multipleActiveThumbs || (i = 1), i = Math.floor(i), s.slides.forEach(e => e.classList.remove(r)), s.params.loop || s.params.virtual && s.params.virtual.enabled) for (let e = 0; e < i; e += 1) f(s.slidesEl, `[data-swiper-slide-index="${t.realIndex + e}"]`).forEach(e => { 4313 e.classList.add(r); 4314 });else for (let e = 0; e < i; e += 1) s.slides[t.realIndex + e] && s.slides[t.realIndex + e].classList.add(r); 4315 const n = t.params.thumbs.autoScrollOffset, 4316 l = n && !s.params.loop; 4317 if (t.realIndex !== s.realIndex || l) { 4318 const i = s.activeIndex; 4319 let r, o; 4320 if (s.params.loop) { 4321 const e = s.slides.find(e => e.getAttribute("data-swiper-slide-index") === `${t.realIndex}`); 4322 r = s.slides.indexOf(e), o = t.activeIndex > t.previousIndex ? "next" : "prev"; 4323 } else r = t.realIndex, o = r > t.previousIndex ? "next" : "prev"; 4324 l && (r += "next" === o ? n : -1 * n), s.visibleSlidesIndexes && s.visibleSlidesIndexes.indexOf(r) < 0 && (s.params.centeredSlides ? r = r > i ? r - Math.floor(a / 2) + 1 : r + Math.floor(a / 2) - 1 : r > i && s.params.slidesPerGroup, s.slideTo(r, e ? 0 : void 0)); 4325 } 4326 } 4327 t.thumbs = { 4328 swiper: null 4329 }, i("beforeInit", () => { 4330 const { 4331 thumbs: e 4332 } = t.params; 4333 if (e && e.swiper) if ("string" == typeof e.swiper || e.swiper instanceof HTMLElement) { 4334 const s = a(), 4335 i = () => { 4336 const a = "string" == typeof e.swiper ? s.querySelector(e.swiper) : e.swiper; 4337 if (a && a.swiper) e.swiper = a.swiper, o(), d(!0);else if (a) { 4338 const s = `${t.params.eventsPrefix}init`, 4339 i = r => { 4340 e.swiper = r.detail[0], a.removeEventListener(s, i), o(), d(!0), e.swiper.update(), t.update(); 4341 }; 4342 a.addEventListener(s, i); 4343 } 4344 return a; 4345 }, 4346 r = () => { 4347 if (t.destroyed) return; 4348 i() || requestAnimationFrame(r); 4349 }; 4350 requestAnimationFrame(r); 4351 } else o(), d(!0); 4352 }), i("slideChange update resize observerUpdate", () => { 4353 d(); 4354 }), i("setTransition", (e, s) => { 4355 const a = t.thumbs.swiper; 4356 a && !a.destroyed && a.setTransition(s); 4357 }), i("beforeDestroy", () => { 4358 const e = t.thumbs.swiper; 4359 e && !e.destroyed && n && e.destroy(); 4360 }), Object.assign(t.thumbs, { 4361 init: o, 4362 update: d 4363 }); 4364 }, function (e) { 4365 let { 4366 swiper: t, 4367 extendParams: s, 4368 emit: a, 4369 once: i 4370 } = e; 4371 s({ 4372 freeMode: { 4373 enabled: !1, 4374 momentum: !0, 4375 momentumRatio: 1, 4376 momentumBounce: !0, 4377 momentumBounceRatio: 1, 4378 momentumVelocityRatio: 1, 4379 sticky: !1, 4380 minimumVelocity: .02 4381 } 4382 }), Object.assign(t, { 4383 freeMode: { 4384 onTouchStart: function () { 4385 if (t.params.cssMode) return; 4386 const e = t.getTranslate(); 4387 t.setTranslate(e), t.setTransition(0), t.touchEventsData.velocities.length = 0, t.freeMode.onTouchEnd({ 4388 currentPos: t.rtl ? t.translate : -t.translate 4389 }); 4390 }, 4391 onTouchMove: function () { 4392 if (t.params.cssMode) return; 4393 const { 4394 touchEventsData: e, 4395 touches: s 4396 } = t; 4397 0 === e.velocities.length && e.velocities.push({ 4398 position: s[t.isHorizontal() ? "startX" : "startY"], 4399 time: e.touchStartTime 4400 }), e.velocities.push({ 4401 position: s[t.isHorizontal() ? "currentX" : "currentY"], 4402 time: o() 4403 }); 4404 }, 4405 onTouchEnd: function (e) { 4406 let { 4407 currentPos: s 4408 } = e; 4409 if (t.params.cssMode) return; 4410 const { 4411 params: r, 4412 wrapperEl: n, 4413 rtlTranslate: l, 4414 snapGrid: d, 4415 touchEventsData: c 4416 } = t, 4417 p = o() - c.touchStartTime; 4418 if (s < -t.minTranslate()) t.slideTo(t.activeIndex);else if (s > -t.maxTranslate()) t.slides.length < d.length ? t.slideTo(d.length - 1) : t.slideTo(t.slides.length - 1);else { 4419 if (r.freeMode.momentum) { 4420 if (c.velocities.length > 1) { 4421 const e = c.velocities.pop(), 4422 s = c.velocities.pop(), 4423 a = e.position - s.position, 4424 i = e.time - s.time; 4425 t.velocity = a / i, t.velocity /= 2, Math.abs(t.velocity) < r.freeMode.minimumVelocity && (t.velocity = 0), (i > 150 || o() - e.time > 300) && (t.velocity = 0); 4426 } else t.velocity = 0; 4427 t.velocity *= r.freeMode.momentumVelocityRatio, c.velocities.length = 0; 4428 let e = 1e3 * r.freeMode.momentumRatio; 4429 const s = t.velocity * e; 4430 let p = t.translate + s; 4431 l && (p = -p); 4432 let u, 4433 m = !1; 4434 const h = 20 * Math.abs(t.velocity) * r.freeMode.momentumBounceRatio; 4435 let f; 4436 if (p < t.maxTranslate()) r.freeMode.momentumBounce ? (p + t.maxTranslate() < -h && (p = t.maxTranslate() - h), u = t.maxTranslate(), m = !0, c.allowMomentumBounce = !0) : p = t.maxTranslate(), r.loop && r.centeredSlides && (f = !0);else if (p > t.minTranslate()) r.freeMode.momentumBounce ? (p - t.minTranslate() > h && (p = t.minTranslate() + h), u = t.minTranslate(), m = !0, c.allowMomentumBounce = !0) : p = t.minTranslate(), r.loop && r.centeredSlides && (f = !0);else if (r.freeMode.sticky) { 4437 let e; 4438 for (let t = 0; t < d.length; t += 1) if (d[t] > -p) { 4439 e = t; 4440 break; 4441 } 4442 p = Math.abs(d[e] - p) < Math.abs(d[e - 1] - p) || "next" === t.swipeDirection ? d[e]
vendor: 1,069 bytes, lines 4442-4459
4442: d[e - 1], p = -p; 4443 } 4444 if (f && i("transitionEnd", () => { 4445 t.loopFix(); 4446 }), 0 !== t.velocity) { 4447 if (e = l ? Math.abs((-p - t.translate) / t.velocity) : Math.abs((p - t.translate) / t.velocity), r.freeMode.sticky) { 4448 const s = Math.abs((l ? -p : p) - t.translate), 4449 a = t.slidesSizesGrid[t.activeIndex]; 4450 e = s < a ? r.speed : s < 2 * a ? 1.5 * r.speed : 2.5 * r.speed; 4451 } 4452 } else if (r.freeMode.sticky) return void t.slideToClosest(); 4453 r.freeMode.momentumBounce && m ? (t.updateProgress(u), t.setTransition(e), t.setTranslate(p), t.transitionStart(!0, t.swipeDirection), t.animating = !0, x(n, () => { 4454 t && !t.destroyed && c.allowMomentumBounce && (a("momentumBounce"), t.setTransition(r.speed), setTimeout(() => { 4455 t.setTranslate(u), x(n, () => { 4456 t && !t.destroyed && t.transitionEnd(); 4457 }); 4458 }, 0)); 4459 }
vendor: 22,738 bytes, lines 4459-5043
4459)) : t.velocity ? (a("_freeModeNoMomentumRelease"), t.updateProgress(p), t.setTransition(e), t.setTranslate(p), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, x(n, () => { 4460 t && !t.destroyed && t.transitionEnd(); 4461 }))) : t.updateProgress(p), t.updateActiveIndex(), t.updateSlidesClasses(); 4462 } else { 4463 if (r.freeMode.sticky) return void t.slideToClosest(); 4464 r.freeMode && a("_freeModeNoMomentumRelease"); 4465 } 4466 (!r.freeMode.momentum || p >= r.longSwipesMs) && (a("_freeModeStaticRelease"), t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses()); 4467 } 4468 } 4469 } 4470 }); 4471 }, function (e) { 4472 let t, 4473 s, 4474 a, 4475 i, 4476 { 4477 swiper: r, 4478 extendParams: n, 4479 on: l 4480 } = e; 4481 n({ 4482 grid: { 4483 rows: 1, 4484 fill: "column" 4485 } 4486 }); 4487 const o = () => { 4488 let e = r.params.spaceBetween; 4489 return "string" == typeof e && e.indexOf("%") >= 0 ? e = parseFloat(e.replace("%", "")) / 100 * r.size : "string" == typeof e && (e = parseFloat(e)), e; 4490 }; 4491 l("init", () => { 4492 i = r.params.grid && r.params.grid.rows > 1; 4493 }), l("update", () => { 4494 const { 4495 params: e, 4496 el: t 4497 } = r, 4498 s = e.grid && e.grid.rows > 1; 4499 i && !s ? (t.classList.remove(`${e.containerModifierClass}grid`, `${e.containerModifierClass}grid-column`), a = 1, r.emitContainerClasses()) : !i && s && (t.classList.add(`${e.containerModifierClass}grid`), "column" === e.grid.fill && t.classList.add(`${e.containerModifierClass}grid-column`), r.emitContainerClasses()), i = s; 4500 }), r.grid = { 4501 initSlides: e => { 4502 const { 4503 slidesPerView: i 4504 } = r.params, 4505 { 4506 rows: n, 4507 fill: l 4508 } = r.params.grid, 4509 o = r.virtual && r.params.virtual.enabled ? r.virtual.slides.length : e.length; 4510 a = Math.floor(o / n), t = Math.floor(o / n) === o / n ? o : Math.ceil(o / n) * n, "auto" !== i && "row" === l && (t = Math.max(t, i * n)), s = t / n; 4511 }, 4512 unsetSlides: () => { 4513 r.slides && r.slides.forEach(e => { 4514 e.swiperSlideGridSet && (e.style.height = "", e.style[r.getDirectionLabel("margin-top")] = ""); 4515 }); 4516 }, 4517 updateSlide: (e, i, n) => { 4518 const { 4519 slidesPerGroup: l 4520 } = r.params, 4521 d = o(), 4522 { 4523 rows: c, 4524 fill: p 4525 } = r.params.grid, 4526 u = r.virtual && r.params.virtual.enabled ? r.virtual.slides.length : n.length; 4527 let m, h, f; 4528 if ("row" === p && l > 1) { 4529 const s = Math.floor(e / (l * c)), 4530 a = e - c * l * s, 4531 r = 0 === s ? l : Math.min(Math.ceil((u - s * c * l) / c), l); 4532 f = Math.floor(a / r), h = a - f * r + s * l, m = h + f * t / c, i.style.order = m; 4533 } else "column" === p ? (h = Math.floor(e / c), f = e - h * c, (h > a || h === a && f === c - 1) && (f += 1, f >= c && (f = 0, h += 1))) : (f = Math.floor(e / s), h = e - f * s); 4534 i.row = f, i.column = h, i.style.height = `calc((100% - ${(c - 1) * d}px) / ${c})`, i.style[r.getDirectionLabel("margin-top")] = 0 !== f ? d && `${d}px` : "", i.swiperSlideGridSet = !0; 4535 }, 4536 updateWrapperSize: (e, s) => { 4537 const { 4538 centeredSlides: a, 4539 roundLengths: i 4540 } = r.params, 4541 n = o(), 4542 { 4543 rows: l 4544 } = r.params.grid; 4545 if (r.virtualSize = (e + n) * t, r.virtualSize = Math.ceil(r.virtualSize / l) - n, r.params.cssMode || (r.wrapperEl.style[r.getDirectionLabel("width")] = `${r.virtualSize + n}px`), a) { 4546 const e = []; 4547 for (let t = 0; t < s.length; t += 1) { 4548 let a = s[t]; 4549 i && (a = Math.floor(a)), s[t] < r.virtualSize + s[0] && e.push(a); 4550 } 4551 s.splice(0, s.length), s.push(...e); 4552 } 4553 } 4554 }; 4555 }, function (e) { 4556 let { 4557 swiper: t 4558 } = e; 4559 Object.assign(t, { 4560 appendSlide: oe.bind(t), 4561 prependSlide: de.bind(t), 4562 addSlide: ce.bind(t), 4563 removeSlide: pe.bind(t), 4564 removeAllSlides: ue.bind(t) 4565 }); 4566 }, function (e) { 4567 let { 4568 swiper: t, 4569 extendParams: s, 4570 on: a 4571 } = e; 4572 s({ 4573 fadeEffect: { 4574 crossFade: !1 4575 } 4576 }), me({ 4577 effect: "fade", 4578 swiper: t, 4579 on: a, 4580 setTranslate: () => { 4581 const { 4582 slides: e 4583 } = t; 4584 t.params.fadeEffect; 4585 for (let s = 0; s < e.length; s += 1) { 4586 const e = t.slides[s]; 4587 let a = -e.swiperSlideOffset; 4588 t.params.virtualTranslate || (a -= t.translate); 4589 let i = 0; 4590 t.isHorizontal() || (i = a, a = 0); 4591 const r = t.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(e.progress), 0) : 1 + Math.min(Math.max(e.progress, -1), 0), 4592 n = he(0, e); 4593 n.style.opacity = r, n.style.transform = `translate3d(${a}px, ${i}px, 0px)`; 4594 } 4595 }, 4596 setTransition: e => { 4597 const s = t.slides.map(e => h(e)); 4598 s.forEach(t => { 4599 t.style.transitionDuration = `${e}ms`; 4600 }), fe({ 4601 swiper: t, 4602 duration: e, 4603 transformElements: s, 4604 allSlides: !0 4605 }); 4606 }, 4607 overwriteParams: () => ({ 4608 slidesPerView: 1, 4609 slidesPerGroup: 1, 4610 watchSlidesProgress: !0, 4611 spaceBetween: 0, 4612 virtualTranslate: !t.params.cssMode 4613 }) 4614 }); 4615 }, function (e) { 4616 let { 4617 swiper: t, 4618 extendParams: s, 4619 on: a 4620 } = e; 4621 s({ 4622 cubeEffect: { 4623 slideShadows: !0, 4624 shadow: !0, 4625 shadowOffset: 20, 4626 shadowScale: .94 4627 } 4628 }); 4629 const i = (e, t, s) => { 4630 let a = s ? e.querySelector(".swiper-slide-shadow-left") : e.querySelector(".swiper-slide-shadow-top"), 4631 i = s ? e.querySelector(".swiper-slide-shadow-right") : e.querySelector(".swiper-slide-shadow-bottom"); 4632 a || (a = v("div", ("swiper-slide-shadow-cube swiper-slide-shadow-" + (s ? "left" : "top")).split(" ")), e.append(a)), i || (i = v("div", ("swiper-slide-shadow-cube swiper-slide-shadow-" + (s ? "right" : "bottom")).split(" ")), e.append(i)), a && (a.style.opacity = Math.max(-t, 0)), i && (i.style.opacity = Math.max(t, 0)); 4633 }; 4634 me({ 4635 effect: "cube", 4636 swiper: t, 4637 on: a, 4638 setTranslate: () => { 4639 const { 4640 el: e, 4641 wrapperEl: s, 4642 slides: a, 4643 width: r, 4644 height: n, 4645 rtlTranslate: l, 4646 size: o, 4647 browser: d 4648 } = t, 4649 c = M(t), 4650 p = t.params.cubeEffect, 4651 u = t.isHorizontal(), 4652 m = t.virtual && t.params.virtual.enabled; 4653 let h, 4654 f = 0; 4655 p.shadow && (u ? (h = t.wrapperEl.querySelector(".swiper-cube-shadow"), h || (h = v("div", "swiper-cube-shadow"), t.wrapperEl.append(h)), h.style.height = `${r}px`) : (h = e.querySelector(".swiper-cube-shadow"), h || (h = v("div", "swiper-cube-shadow"), e.append(h)))); 4656 for (let e = 0; e < a.length; e += 1) { 4657 const t = a[e]; 4658 let s = e; 4659 m && (s = parseInt(t.getAttribute("data-swiper-slide-index"), 10)); 4660 let r = 90 * s, 4661 n = Math.floor(r / 360); 4662 l && (r = -r, n = Math.floor(-r / 360)); 4663 const d = Math.max(Math.min(t.progress, 1), -1); 4664 let h = 0, 4665 g = 0, 4666 v = 0; 4667 s % 4 == 0 ? (h = 4 * -n * o, v = 0) : (s - 1) % 4 == 0 ? (h = 0, v = 4 * -n * o) : (s - 2) % 4 == 0 ? (h = o + 4 * n * o, v = o) : (s - 3) % 4 == 0 && (h = -o, v = 3 * o + 4 * o * n), l && (h = -h), u || (g = h, h = 0); 4668 const w = `rotateX(${c(u ? 0 : -r)}deg) rotateY(${c(u ? r : 0)}deg) translate3d(${h}px, ${g}px, ${v}px)`; 4669 d <= 1 && d > -1 && (f = 90 * s + 90 * d, l && (f = 90 * -s - 90 * d)), t.style.transform = w, p.slideShadows && i(t, d, u); 4670 } 4671 if (s.style.transformOrigin = `50% 50% -${o / 2}px`, s.style["-webkit-transform-origin"] = `50% 50% -${o / 2}px`, p.shadow) if (u) h.style.transform = `translate3d(0px, ${r / 2 + p.shadowOffset}px, ${-r / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`;else { 4672 const e = Math.abs(f) - 90 * Math.floor(Math.abs(f) / 90), 4673 t = 1.5 - (Math.sin(2 * e * Math.PI / 360) / 2 + Math.cos(2 * e * Math.PI / 360) / 2), 4674 s = p.shadowScale, 4675 a = p.shadowScale / t, 4676 i = p.shadowOffset; 4677 h.style.transform = `scale3d(${s}, 1, ${a}) translate3d(0px, ${n / 2 + i}px, ${-n / 2 / a}px) rotateX(-89.99deg)`; 4678 } 4679 const g = (d.isSafari || d.isWebView) && d.needPerspectiveFix ? -o / 2 : 0; 4680 s.style.transform = `translate3d(0px,0,${g}px) rotateX(${c(t.isHorizontal() ? 0 : f)}deg) rotateY(${c(t.isHorizontal() ? -f : 0)}deg)`, s.style.setProperty("--swiper-cube-translate-z", `${g}px`); 4681 }, 4682 setTransition: e => { 4683 const { 4684 el: s, 4685 slides: a 4686 } = t; 4687 if (a.forEach(t => { 4688 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(t => { 4689 t.style.transitionDuration = `${e}ms`; 4690 }); 4691 }), t.params.cubeEffect.shadow && !t.isHorizontal()) { 4692 const t = s.querySelector(".swiper-cube-shadow"); 4693 t && (t.style.transitionDuration = `${e}ms`); 4694 } 4695 }, 4696 recreateShadows: () => { 4697 const e = t.isHorizontal(); 4698 t.slides.forEach(t => { 4699 const s = Math.max(Math.min(t.progress, 1), -1); 4700 i(t, s, e); 4701 }); 4702 }, 4703 getEffectParams: () => t.params.cubeEffect, 4704 perspective: () => !0, 4705 overwriteParams: () => ({ 4706 slidesPerView: 1, 4707 slidesPerGroup: 1, 4708 watchSlidesProgress: !0, 4709 resistanceRatio: 0, 4710 spaceBetween: 0, 4711 centeredSlides: !1, 4712 virtualTranslate: !0 4713 }) 4714 }); 4715 }, function (e) { 4716 let { 4717 swiper: t, 4718 extendParams: s, 4719 on: a 4720 } = e; 4721 s({ 4722 flipEffect: { 4723 slideShadows: !0, 4724 limitRotation: !0 4725 } 4726 }); 4727 const i = (e, s) => { 4728 let a = t.isHorizontal() ? e.querySelector(".swiper-slide-shadow-left") : e.querySelector(".swiper-slide-shadow-top"), 4729 i = t.isHorizontal() ? e.querySelector(".swiper-slide-shadow-right") : e.querySelector(".swiper-slide-shadow-bottom"); 4730 a || (a = ge("flip", e, t.isHorizontal() ? "left" : "top")), i || (i = ge("flip", e, t.isHorizontal() ? "right" : "bottom")), a && (a.style.opacity = Math.max(-s, 0)), i && (i.style.opacity = Math.max(s, 0)); 4731 }; 4732 me({ 4733 effect: "flip", 4734 swiper: t, 4735 on: a, 4736 setTranslate: () => { 4737 const { 4738 slides: e, 4739 rtlTranslate: s 4740 } = t, 4741 a = t.params.flipEffect, 4742 r = M(t); 4743 for (let n = 0; n < e.length; n += 1) { 4744 const l = e[n]; 4745 let o = l.progress; 4746 t.params.flipEffect.limitRotation && (o = Math.max(Math.min(l.progress, 1), -1)); 4747 const d = l.swiperSlideOffset; 4748 let c = -180 * o, 4749 p = 0, 4750 u = t.params.cssMode ? -d - t.translate : -d, 4751 m = 0; 4752 t.isHorizontal() ? s && (c = -c) : (m = u, u = 0, p = -c, c = 0), l.style.zIndex = -Math.abs(Math.round(o)) + e.length, a.slideShadows && i(l, o); 4753 const h = `translate3d(${u}px, ${m}px, 0px) rotateX(${r(p)}deg) rotateY(${r(c)}deg)`; 4754 he(0, l).style.transform = h; 4755 } 4756 }, 4757 setTransition: e => { 4758 const s = t.slides.map(e => h(e)); 4759 s.forEach(t => { 4760 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(t => { 4761 t.style.transitionDuration = `${e}ms`; 4762 }); 4763 }), fe({ 4764 swiper: t, 4765 duration: e, 4766 transformElements: s 4767 }); 4768 }, 4769 recreateShadows: () => { 4770 t.params.flipEffect, t.slides.forEach(e => { 4771 let s = e.progress; 4772 t.params.flipEffect.limitRotation && (s = Math.max(Math.min(e.progress, 1), -1)), i(e, s); 4773 }); 4774 }, 4775 getEffectParams: () => t.params.flipEffect, 4776 perspective: () => !0, 4777 overwriteParams: () => ({ 4778 slidesPerView: 1, 4779 slidesPerGroup: 1, 4780 watchSlidesProgress: !0, 4781 spaceBetween: 0, 4782 virtualTranslate: !t.params.cssMode 4783 }) 4784 }); 4785 }, function (e) { 4786 let { 4787 swiper: t, 4788 extendParams: s, 4789 on: a 4790 } = e; 4791 s({ 4792 coverflowEffect: { 4793 rotate: 50, 4794 stretch: 0, 4795 depth: 100, 4796 scale: 1, 4797 modifier: 1, 4798 slideShadows: !0 4799 } 4800 }), me({ 4801 effect: "coverflow", 4802 swiper: t, 4803 on: a, 4804 setTranslate: () => { 4805 const { 4806 width: e, 4807 height: s, 4808 slides: a, 4809 slidesSizesGrid: i 4810 } = t, 4811 r = t.params.coverflowEffect, 4812 n = t.isHorizontal(), 4813 l = t.translate, 4814 o = n ? e / 2 - l : s / 2 - l, 4815 d = n ? r.rotate : -r.rotate, 4816 c = r.depth, 4817 p = M(t); 4818 for (let e = 0, t = a.length; e < t; e += 1) { 4819 const t = a[e], 4820 s = i[e], 4821 l = (o - t.swiperSlideOffset - s / 2) / s, 4822 u = "function" == typeof r.modifier ? r.modifier(l) : l * r.modifier; 4823 let m = n ? d * u : 0, 4824 h = n ? 0 : d * u, 4825 f = -c * Math.abs(u), 4826 g = r.stretch; 4827 "string" == typeof g && -1 !== g.indexOf("%") && (g = parseFloat(r.stretch) / 100 * s); 4828 let v = n ? 0 : g * u, 4829 w = n ? g * u : 0, 4830 b = 1 - (1 - r.scale) * Math.abs(u); 4831 Math.abs(w) < .001 && (w = 0), Math.abs(v) < .001 && (v = 0), Math.abs(f) < .001 && (f = 0), Math.abs(m) < .001 && (m = 0), Math.abs(h) < .001 && (h = 0), Math.abs(b) < .001 && (b = 0); 4832 const y = `translate3d(${w}px,${v}px,${f}px) rotateX(${p(h)}deg) rotateY(${p(m)}deg) scale(${b})`; 4833 if (he(0, t).style.transform = y, t.style.zIndex = 1 - Math.abs(Math.round(u)), r.slideShadows) { 4834 let e = n ? t.querySelector(".swiper-slide-shadow-left") : t.querySelector(".swiper-slide-shadow-top"), 4835 s = n ? t.querySelector(".swiper-slide-shadow-right") : t.querySelector(".swiper-slide-shadow-bottom"); 4836 e || (e = ge("coverflow", t, n ? "left" : "top")), s || (s = ge("coverflow", t, n ? "right" : "bottom")), e && (e.style.opacity = u > 0 ? u : 0), s && (s.style.opacity = -u > 0 ? -u : 0); 4837 } 4838 } 4839 }, 4840 setTransition: e => { 4841 t.slides.map(e => h(e)).forEach(t => { 4842 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(t => { 4843 t.style.transitionDuration = `${e}ms`; 4844 }); 4845 }); 4846 }, 4847 perspective: () => !0, 4848 overwriteParams: () => ({ 4849 watchSlidesProgress: !0 4850 }) 4851 }); 4852 }, function (e) { 4853 let { 4854 swiper: t, 4855 extendParams: s, 4856 on: a 4857 } = e; 4858 s({ 4859 creativeEffect: { 4860 limitProgress: 1, 4861 shadowPerProgress: !1, 4862 progressMultiplier: 1, 4863 perspective: !0, 4864 prev: { 4865 translate: [0, 0, 0], 4866 rotate: [0, 0, 0], 4867 opacity: 1, 4868 scale: 1 4869 }, 4870 next: { 4871 translate: [0, 0, 0], 4872 rotate: [0, 0, 0], 4873 opacity: 1, 4874 scale: 1 4875 } 4876 } 4877 }); 4878 const i = e => "string" == typeof e ? e : `${e}px`; 4879 me({ 4880 effect: "creative", 4881 swiper: t, 4882 on: a, 4883 setTranslate: () => { 4884 const { 4885 slides: e, 4886 wrapperEl: s, 4887 slidesSizesGrid: a 4888 } = t, 4889 r = t.params.creativeEffect, 4890 { 4891 progressMultiplier: n 4892 } = r, 4893 l = t.params.centeredSlides, 4894 o = M(t); 4895 if (l) { 4896 const e = a[0] / 2 - t.params.slidesOffsetBefore || 0; 4897 s.style.transform = `translateX(calc(50% - ${e}px))`; 4898 } 4899 for (let s = 0; s < e.length; s += 1) { 4900 const a = e[s], 4901 d = a.progress, 4902 c = Math.min(Math.max(a.progress, -r.limitProgress), r.limitProgress); 4903 let p = c; 4904 l || (p = Math.min(Math.max(a.originalProgress, -r.limitProgress), r.limitProgress)); 4905 const u = a.swiperSlideOffset, 4906 m = [t.params.cssMode ? -u - t.translate : -u, 0, 0], 4907 h = [0, 0, 0]; 4908 let f = !1; 4909 t.isHorizontal() || (m[1] = m[0], m[0] = 0); 4910 let g = { 4911 translate: [0, 0, 0], 4912 rotate: [0, 0, 0], 4913 scale: 1, 4914 opacity: 1 4915 }; 4916 c < 0 ? (g = r.next, f = !0) : c > 0 && (g = r.prev, f = !0), m.forEach((e, t) => { 4917 m[t] = `calc(${e}px + (${i(g.translate[t])} * ${Math.abs(c * n)}))`; 4918 }), h.forEach((e, t) => { 4919 let s = g.rotate[t] * Math.abs(c * n); 4920 h[t] = s; 4921 }), a.style.zIndex = -Math.abs(Math.round(d)) + e.length; 4922 const v = m.join(", "), 4923 w = `rotateX(${o(h[0])}deg) rotateY(${o(h[1])}deg) rotateZ(${o(h[2])}deg)`, 4924 b = p < 0 ? `scale(${1 + (1 - g.scale) * p * n})` : `scale(${1 - (1 - g.scale) * p * n})`, 4925 y = p < 0 ? 1 + (1 - g.opacity) * p * n : 1 - (1 - g.opacity) * p * n, 4926 E = `translate3d(${v}) ${w} ${b}`; 4927 if (f && g.shadow || !f) { 4928 let e = a.querySelector(".swiper-slide-shadow"); 4929 if (!e && g.shadow && (e = ge("creative", a)), e) { 4930 const t = r.shadowPerProgress ? c * (1 / r.limitProgress) : c; 4931 e.style.opacity = Math.min(Math.max(Math.abs(t), 0), 1); 4932 } 4933 } 4934 const x = he(0, a); 4935 x.style.transform = E, x.style.opacity = y, g.origin && (x.style.transformOrigin = g.origin); 4936 } 4937 }, 4938 setTransition: e => { 4939 const s = t.slides.map(e => h(e)); 4940 s.forEach(t => { 4941 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow").forEach(t => { 4942 t.style.transitionDuration = `${e}ms`; 4943 }); 4944 }), fe({ 4945 swiper: t, 4946 duration: e, 4947 transformElements: s, 4948 allSlides: !0 4949 }); 4950 }, 4951 perspective: () => t.params.creativeEffect.perspective, 4952 overwriteParams: () => ({ 4953 watchSlidesProgress: !0, 4954 virtualTranslate: !t.params.cssMode 4955 }) 4956 }); 4957 }, function (e) { 4958 let { 4959 swiper: t, 4960 extendParams: s, 4961 on: a 4962 } = e; 4963 s({ 4964 cardsEffect: { 4965 slideShadows: !0, 4966 rotate: !0, 4967 perSlideRotate: 2, 4968 perSlideOffset: 8 4969 } 4970 }), me({ 4971 effect: "cards", 4972 swiper: t, 4973 on: a, 4974 setTranslate: () => { 4975 const { 4976 slides: e, 4977 activeIndex: s, 4978 rtlTranslate: a 4979 } = t, 4980 i = t.params.cardsEffect, 4981 { 4982 startTranslate: r, 4983 isTouched: n 4984 } = t.touchEventsData, 4985 l = a ? -t.translate : t.translate; 4986 for (let o = 0; o < e.length; o += 1) { 4987 const d = e[o], 4988 c = d.progress, 4989 p = Math.min(Math.max(c, -4), 4); 4990 let u = d.swiperSlideOffset; 4991 t.params.centeredSlides && !t.params.cssMode && (t.wrapperEl.style.transform = `translateX(${t.minTranslate()}px)`), t.params.centeredSlides && t.params.cssMode && (u -= e[0].swiperSlideOffset); 4992 let m = t.params.cssMode ? -u - t.translate : -u, 4993 h = 0; 4994 const f = -100 * Math.abs(p); 4995 let g = 1, 4996 v = -i.perSlideRotate * p, 4997 w = i.perSlideOffset - .75 * Math.abs(p); 4998 const b = t.virtual && t.params.virtual.enabled ? t.virtual.from + o : o, 4999 y = (b === s || b === s - 1) && p > 0 && p < 1 && (n || t.params.cssMode) && l < r, 5000 E = (b === s || b === s + 1) && p < 0 && p > -1 && (n || t.params.cssMode) && l > r; 5001 if (y || E) { 5002 const e = (1 - Math.abs((Math.abs(p) - .5) / .5)) ** .5; 5003 v += -28 * p * e, g += -.5 * e, w += 96 * e, h = -25 * e * Math.abs(p) + "%"; 5004 } 5005 if (m = p < 0 ? `calc(${m}px ${a ? "-" : "+"} (${w * Math.abs(p)}%))` : p > 0 ? `calc(${m}px ${a ? "-" : "+"} (-${w * Math.abs(p)}%))` : `${m}px`, !t.isHorizontal()) { 5006 const e = h; 5007 h = m, m = e; 5008 } 5009 const x = p < 0 ? "" + (1 + (1 - g) * p) : "" + (1 - (1 - g) * p), 5010 S = `\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${i.rotate ? a ? -v : v : 0}deg)\n scale(${x})\n `; 5011 if (i.slideShadows) { 5012 let e = d.querySelector(".swiper-slide-shadow"); 5013 e || (e = ge("cards", d)), e && (e.style.opacity = Math.min(Math.max((Math.abs(p) - .5) / .5, 0), 1)); 5014 } 5015 d.style.zIndex = -Math.abs(Math.round(c)) + e.length; 5016 he(0, d).style.transform = S; 5017 } 5018 }, 5019 setTransition: e => { 5020 const s = t.slides.map(e => h(e)); 5021 s.forEach(t => { 5022 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow").forEach(t => { 5023 t.style.transitionDuration = `${e}ms`; 5024 }); 5025 }), fe({ 5026 swiper: t, 5027 duration: e, 5028 transformElements: s 5029 }); 5030 }, 5031 perspective: () => !0, 5032 overwriteParams: () => ({ 5033 _loopSwapReset: !1, 5034 watchSlidesProgress: !0, 5035 loopAdditionalSlides: t.params.cardsEffect.rotate ? 3 : 2, 5036 centeredSlides: !0, 5037 virtualTranslate: !t.params.cssMode 5038 }) 5039 }); 5040 }]; 5041 return re.use(ve), re; 5042}(); 5043//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTd2lwZXIiLCJlIiwiY29uc3RydWN0b3IiLCJPYmplY3QiLCJ0IiwicyIsImEiLCJpIiwia2V5cyIsImZpbHRlciIsImluZGV4T2YiLCJmb3JFYWNoIiwibGVuZ3RoIiwiYm9keSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYWN0aXZlRWxlbWVudCIsImJsdXIiLCJub2RlTmFtZSIsInF1ZXJ5U2VsZWN0b3IiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZ2V0RWxlbWVudEJ5SWQiLCJjcmVhdGVFdmVudCIsImluaXRFdmVudCIsImNyZWF0ZUVsZW1lbnQiLCJjaGlsZHJlbiIsImNoaWxkTm9kZXMiLCJzdHlsZSIsInNldEF0dHJpYnV0ZSIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiY3JlYXRlRWxlbWVudE5TIiwiaW1wb3J0Tm9kZSIsImxvY2F0aW9uIiwiaGFzaCIsImhvc3QiLCJob3N0bmFtZSIsImhy
5043ZWYiLCJvcmlnaW4iLCJwYXRobmFtZSIsInByb3RvY29sIiwic2VhcmNoIiwiZG9jdW1lbnQiLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJoaXN0b3J5IiwicmVwbGFjZVN0YXRlIiwicHVzaFN0YXRlIiwiZ28iLCJiYWNrIiwiQ3VzdG9tRXZlbnQiLCJnZXRDb21wdXRlZFN0eWxlIiwiZ2V0UHJvcGVydHlWYWx1ZSIsIkltYWdlIiwiRGF0ZSIsInNjcmVlbiIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJtYXRjaE1lZGlhIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJyIiwid2luZG93IiwibiIsInRyaW0iLCJzcGxpdCIsImwiLCJvIiwibm93IiwiZCIsImN1cnJlbnRTdHlsZSIsIldlYktpdENTU01hdHJpeCIsInRyYW5zZm9ybSIsIndlYmtpdFRyYW5zZm9ybSIsIm1hcCIsInJlcGxhY2UiLCJqb2luIiwiTW96VHJhbnNmb3JtIiwiT1RyYW5zZm9ybSIsIk1zVHJhbnNmb3JtIiwibXNUcmFuc2Zvcm0iLCJ0b1N0cmluZyIsIm00MSIsInBhcnNlRmxvYXQiLCJtNDIiLCJjIiwicHJvdG90eXBlIiwiY2FsbCIsInNsaWNlIiwicCIsImFyZ3VtZW50cyIsIkhUTUxFbGVtZW50Iiwibm9kZVR5cGUiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwiX19zd2lwZXJfXyIsInUiLCJzZXRQcm9wZXJ0eSIsIm0iLCJzd2lwZXIiLCJ0YXJnZXRQb3NpdGlvbiIsInNpZGUiLCJ0cmFuc2xhdGUiLCJwYXJhbXMiLCJzcGVlZCIsIndyYXBwZXJFbCIsInNjcm9sbFNuYXBUeXBlIiwiY3NzTW9kZUZyYW1lSUQiLCJnZXRUaW1lIiwiTWF0aCIsIm1heCIsIm1pbiIsImNvcyIsIlBJIiwic2Nyb2xsVG8iLCJvdmVyZmxvdyIsImgiLCJzaGFkb3dSb290IiwiZiIsIkhUTUxTbG90RWxlbWVudCIsInB1c2giLCJhc3NpZ25lZEVsZW1lbnRzIiwibWF0Y2hlcyIsImciLCJjb25zb2xlIiwid2FybiIsInYiLCJjbGFzc0xpc3QiLCJhZGQiLCJBcnJheSIsImlzQXJyYXkiLCJ3IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xpZW50VG9wIiwiY2xpZW50TGVmdCIsInNjcm9sbFkiLCJzY3JvbGxUb3AiLCJzY3JvbGxYIiwic2Nyb2xsTGVmdCIsInRvcCIsImxlZnQiLCJiIiwieSIsInByZXZpb3VzU2libGluZyIsIkUiLCJwYXJlbnRFbGVtZW50IiwieCIsInRhcmdldCIsIlMiLCJvZmZzZXRXaWR0aCIsIlQiLCJNIiwiYWJzIiwiYnJvd3NlciIsIm5lZWQzZEZpeCIsIkMiLCJ0cnVzdGVkVHlwZXMiLCJpbm5lckhUTUwiLCJjcmVhdGVQb2xpY3kiLCJjcmVhdGVIVE1MIiwiUCIsIkwiLCJJIiwieiIsInNtb290aFNjcm9sbCIsImRvY3VtZW50RWxlbWVudCIsInRvdWNoIiwiRG9jdW1lbnRUb3VjaCIsIkEiLCJwbGF0Zm9ybSIsImlvcyIsImFuZHJvaWQiLCJ3aWR0aCIsImhlaWdodCIsIm1hdGNoIiwib3MiLCIkIiwidG9Mb3dlckNhc2UiLCJTdHJpbmciLCJpbmNsdWRlcyIsIk51bWJlciIsInRlc3QiLCJpc1NhZmFyaSIsIm5lZWRQZXJzcGVjdGl2ZUZpeCIsImlzV2ViVmlldyIsImsiLCJvbiIsImV2ZW50c0xpc3RlbmVycyIsImRlc3Ryb3llZCIsIm9uY2UiLCJvZmYiLCJfX2VtaXR0ZXJQcm94eSIsImFwcGx5Iiwib25BbnkiLCJldmVudHNBbnlMaXN0ZW5lcnMiLCJvZmZBbnkiLCJzcGxpY2UiLCJlbWl0IiwiZXZlbnRzIiwiZGF0YSIsImNvbn
5043RleHQiLCJ1bnNoaWZ0IiwiTyIsImNvbnRhaW5zIiwicmVtb3ZlIiwiRCIsIkciLCJjbG9zZXN0IiwiaXNFbGVtZW50Iiwic2xpZGVDbGFzcyIsImxhenlQcmVsb2FkZXJDbGFzcyIsIlgiLCJzbGlkZXMiLCJyZW1vdmVBdHRyaWJ1dGUiLCJZIiwibGF6eVByZWxvYWRQcmV2TmV4dCIsInNsaWRlc1BlclZpZXciLCJzbGlkZXNQZXJWaWV3RHluYW1pYyIsImNlaWwiLCJhY3RpdmVJbmRleCIsImdyaWQiLCJyb3dzIiwiZnJvbSIsImNvbHVtbiIsInJld2luZCIsImxvb3AiLCJCIiwidXBkYXRlU2l6ZSIsImVsIiwiY2xpZW50V2lkdGgiLCJjbGllbnRIZWlnaHQiLCJpc0hvcml6b250YWwiLCJpc1ZlcnRpY2FsIiwicGFyc2VJbnQiLCJpc05hTiIsImFzc2lnbiIsInNpemUiLCJ1cGRhdGVTbGlkZXMiLCJnZXREaXJlY3Rpb25MYWJlbCIsInNsaWRlc0VsIiwicnRsVHJhbnNsYXRlIiwid3JvbmdSVEwiLCJ2aXJ0dWFsIiwiZW5hYmxlZCIsInNsaWRlc09mZnNldEJlZm9yZSIsInNsaWRlc09mZnNldEFmdGVyIiwic25hcEdyaWQiLCJzbGlkZXNHcmlkIiwic3BhY2VCZXR3ZWVuIiwidmlydHVhbFNpemUiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5Ub3AiLCJjZW50ZXJlZFNsaWRlcyIsImNzc01vZGUiLCJpbml0U2xpZGVzIiwidW5zZXRTbGlkZXMiLCJicmVha3BvaW50cyIsInVwZGF0ZVNsaWRlIiwicm91bmRMZW5ndGhzIiwiZmxvb3IiLCJzd2lwZXJTbGlkZVNpemUiLCJzbGlkZXNQZXJHcm91cCIsInNsaWRlc1Blckdyb3VwU2tpcCIsImVmZmVjdCIsInNldFdyYXBwZXJTaXplIiwidXBkYXRlV3JhcHBlclNpemUiLCJzbGlkZXNCZWZvcmUiLCJzbGlkZXNBZnRlciIsImNlbnRlcmVkU2xpZGVzQm91bmRzIiwiY2VudGVySW5zdWZmaWNpZW50U2xpZGVzIiwic2xpZGVzU2l6ZXNHcmlkIiwid2F0Y2hPdmVyZmxvdyIsImNoZWNrT3ZlcmZsb3ciLCJ3YXRjaFNsaWRlc1Byb2dyZXNzIiwidXBkYXRlU2xpZGVzT2Zmc2V0IiwiY29udGFpbmVyTW9kaWZpZXJDbGFzcyIsIm1heEJhY2tmYWNlSGlkZGVuU2xpZGVzIiwidXBkYXRlQXV0b0hlaWdodCIsInNldFRyYW5zaXRpb24iLCJnZXRTbGlkZUluZGV4QnlEYXRhIiwidmlzaWJsZVNsaWRlcyIsIm9mZnNldEhlaWdodCIsIm9mZnNldExlZnQiLCJvZmZzZXRUb3AiLCJzd2lwZXJTbGlkZU9mZnNldCIsImNzc092ZXJmbG93QWRqdXN0bWVudCIsInVwZGF0ZVNsaWRlc1Byb2dyZXNzIiwidmlzaWJsZVNsaWRlc0luZGV4ZXMiLCJtaW5UcmFuc2xhdGUiLCJzbGlkZVZpc2libGVDbGFzcyIsInNsaWRlRnVsbHlWaXNpYmxlQ2xhc3MiLCJwcm9ncmVzcyIsIm9yaWdpbmFsUHJvZ3Jlc3MiLCJ1cGRhdGVQcm9ncmVzcyIsIm1heFRyYW5zbGF0ZSIsImlzQmVnaW5uaW5nIiwiaXNFbmQiLCJwcm9ncmVzc0xvb3AiLCJhdXRvSGVpZ2h0IiwidXBkYXRlU2xpZGVzQ2xhc3NlcyIsImZpbmQiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwic2xpZGVBY3RpdmVDbGFzcyIsInNsaWRlTmV4dENsYXNzIiwic2xpZGVQcmV2Q2xhc3MiLCJlbWl0U2xpZGVzQ2xhc3NlcyIsInVwZGF0ZUFjdGl2ZUluZGV4IiwicmVhbEluZGV4Iiwic25hcEluZGV4Iiwibm9ybWFsaXplU2xpZGVJbmRleCIsImdldEF0dHJpYnV0ZSIsInByZXZpb3VzU25hcEluZGV4IiwicHJldmlvdXNSZWFsSW5kZXgiLCJwcmV2aW91c0luZGV4IiwiaW5pdGlhbGl6ZWQiLCJydW5DYWxsYmFja3NPbkluaXQiLCJ1cGRhdGVDbGlja2VkU2xpZGUiLCJjbGlja2VkU2xpZGUiLCJjbGlja2VkSW5kZXgiLCJzbGlkZVRvQ2xpY2tlZFNsaWRlIiwiSCIsImdldFRyYW5zbGF0ZSIsInZpcnR1YWxUcmFuc2xhdGUiLCJzZXRUcmFuc2xhdGUiLCJwcmV2aW91c1RyYW5zbGF0ZSIsInRyYW5zbGF0ZVRvIiwiYW5pbWF0aW5nIiwicHJldmVudEludGVyYWN0aW9uT25UcmFuc2l0aW9uIiwic3VwcG9ydCIsImJlaGF2aW9yIiwib25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kIiwiTiIsInJ1bkNhbGxiYWNrcyIsImRpcmVjdGlvbiIsInN0ZXAiLCJSIiwic2xpZGVUbyIsImFsbG93U2xpZGVOZXh0IiwiYWxsb3dTbGlkZVByZXYiLCJ0cmFuc2l0aW9uU3RhcnQiLCJ0cmFuc2l0aW9uRW5kIiwiX2ltbWVkaWF0ZVZpcnR1YWwiLCJfY3NzTW9kZVZpcnR1YWxJbml0aWFsU2V0IiwiaW5pdGlhbFNsaWRlIiwidXBkYXRlIiwib25TbGlkZVRvV3JhcHBlclRyYW5zaXRpb25FbmQiLCJzbGlkZVRvTG9vcCIsImxvb3BGaXgiLCJhY3RpdmVTbGlkZUluZGV4Iiwic2xpZGVSZWFsSW5kZXgiLCJzbGlkZU5leHQiLCJzbGlkZXNQZXJHcm91cEF1dG8iLCJsb29wUHJldmVudHNTbGlkaW5nIiwiX2NsaWVudExlZnQiLCJzbGlkZVByZXYiLCJmcmVlTW9kZSIsInNsaWRlUmVzZXQiLCJzbGlkZVRvQ2xvc2VzdCIsImdldFNsaWRlSW5kZXhXaGVuR3JpZCIsImdldFNsaWRlSW5kZXgiLCJfIiwibG9vcENyZWF0ZSIsImxvb3BBZGRCbGFua1NsaWRlcyIsInNsaWRlQmxhbmtDbGFzcyIsInJlY2FsY1NsaWRlcyIsImFwcGVuZCIsImluaXRpYWwiLCJieUNvbnRyb2xsZXIiLCJieU1vdXNld2hlZWwiLCJsb29wQWRkaXRpb25hbFNsaWRlcyIsImxvb3BlZFNsaWRlcyIsImZpbGwiLCJfX3ByZXZlbnRPYnNlcnZlcl9fIiwic3dpcGVyTG9vcE1vdmVET00iLCJwcmVwZW5kIiwidG91Y2hFdmVudHNEYXRhIiwic3RhcnRUcmFuc2xhdGUiLCJjdXJyZW50VHJhbnNsYXRlIiwiY29udHJvbGxlciIsImNvbnRyb2wiLCJsb29wRGVzdHJveSIsInN3aXBlclNsaWRlSW5kZXgiLCJxIiwiZWRnZVN3aXBlRGV0ZWN0aW9uIiwiZWRnZVN3aXBlVGhyZXNob2xkIiwiaW5uZXJXaWR0aCIsInByZXZlbnREZWZhdWx0IiwiViIsIm9yaWdpbmFsRXZlbnQiLCJ0eXBlIiwicG9pbnRlcklkIiwidGFyZ2V0VG91Y2hlcyIsInRvdWNoSWQiLCJpZGVudGlmaWVyIiwicGFnZVgiLCJ0b3VjaGVzIiwic2ltdWxhdGVUb3VjaCIsInBvaW50ZXJUeXBlIiwidG91Y2hFdmVudHNUYXJnZXQiLCJzaGlmdCIsIndoaWNoIiwiYnV0dG9uIiwiaXNUb3VjaGVkIiwiaXNNb3ZlZCIsIm5vU3dpcGluZ0NsYXNzIiwiY29tcG9zZWRQYXRoIiwicGF0aCIsIm5vU3dpcGluZ1NlbGVjdG9yIiwibm9Td2lwaW5nIiwiYXNzaWduZWRTbG90IiwiZ2V0Um9vdE5vZGUiLCJhbGxvd0NsaWNrIiwic3dpcGVIYW5kbGVyIiwiY3VycmVudFgiLCJjdXJyZW50WSIsInBhZ2VZIiwiYWxsb3dUb3VjaENhbGxiYWNrcyIsImlzU2Nyb2xsaW5nIiwic3RhcnRNb3ZpbmciLCJzdGFydFgiLCJzdGFydFkiLCJ0b3VjaFN0YXJ0VGltZSIsInN3aXBlRGlyZWN0aW9uIiwidGhyZXNob2xkIiwiYWxsb3dUaHJlc2hvbGRNb3ZlIiwiZm9jdXNhYmxlRWxlbWVudHMiLCJhbGxvd1RvdWNoTW92ZSIsInRvdWNoU3RhcnRQcmV2ZW50RGVmYXVsdCIsInRvdWNoU3RhcnRGb3JjZVByZXZlbn
5043REZWZhdWx0IiwiaXNDb250ZW50RWRpdGFibGUiLCJvblRvdWNoU3RhcnQiLCJGIiwiY2hhbmdlZFRvdWNoZXMiLCJwcmV2ZW50ZWRCeU5lc3RlZFN3aXBlciIsInRvdWNoUmVsZWFzZU9uRWRnZXMiLCJwcmV2aW91c1giLCJwcmV2aW91c1kiLCJzcXJ0IiwiYXRhbjIiLCJ0b3VjaEFuZ2xlIiwicHJldmVudFRvdWNoTW92ZUZyb21Qb2ludGVyTW92ZSIsImNhbmNlbGFibGUiLCJ0b3VjaE1vdmVTdG9wUHJvcGFnYXRpb24iLCJuZXN0ZWQiLCJzdG9wUHJvcGFnYXRpb24iLCJvbmVXYXlNb3ZlbWVudCIsImRpZmYiLCJ0b3VjaFJhdGlvIiwidG91Y2hlc0RpcmVjdGlvbiIsImJ1YmJsZXMiLCJkZXRhaWwiLCJieVN3aXBlclRvdWNoTW92ZSIsImRpc3BhdGNoRXZlbnQiLCJhbGxvd01vbWVudHVtQm91bmNlIiwiZ3JhYkN1cnNvciIsInNldEdyYWJDdXJzb3IiLCJfbG9vcFN3YXBSZXNldCIsImxvb3BTd2FwUmVzZXQiLCJyZXNpc3RhbmNlUmF0aW8iLCJyZXNpc3RhbmNlIiwiZm9sbG93RmluZ2VyIiwib25Ub3VjaE1vdmUiLCJXIiwibGFzdENsaWNrVGltZSIsIm9uVG91Y2hFbmQiLCJjdXJyZW50UG9zIiwibG9uZ1N3aXBlc01zIiwibG9uZ1N3aXBlcyIsImxvbmdTd2lwZXNSYXRpbyIsInNob3J0U3dpcGVzIiwibmF2aWdhdGlvbiIsIm5leHRFbCIsInByZXZFbCIsImoiLCJzZXRCcmVha3BvaW50IiwiYXV0b3BsYXkiLCJydW5uaW5nIiwicGF1c2VkIiwicmVzaXplVGltZW91dCIsInJlc3VtZSIsIlUiLCJwcmV2ZW50Q2xpY2tzIiwicHJldmVudENsaWNrc1Byb3BhZ2F0aW9uIiwic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwiSyIsIloiLCJRIiwiZG9jdW1lbnRUb3VjaEhhbmRsZXJQcm9jZWVkZWQiLCJ0b3VjaEFjdGlvbiIsIkoiLCJkZXZpY2UiLCJvbkRvY3VtZW50VG91Y2hTdGFydCIsInBhc3NpdmUiLCJjYXB0dXJlIiwib25DbGljayIsIm9uU2Nyb2xsIiwidXBkYXRlT25XaW5kb3dSZXNpemUiLCJvbkxvYWQiLCJlZSIsInRlIiwiaW5pdCIsInN3aXBlckVsZW1lbnROb2RlTmFtZSIsInJlc2l6ZU9ic2VydmVyIiwiY3JlYXRlRWxlbWVudHMiLCJldmVudHNQcmVmaXgiLCJ1cmwiLCJicmVha3BvaW50c0Jhc2UiLCJ1bmlxdWVOYXZFbGVtZW50cyIsInBhc3NpdmVMaXN0ZW5lcnMiLCJ3cmFwcGVyQ2xhc3MiLCJfZW1pdENsYXNzZXMiLCJzZSIsImF1dG8iLCJhZSIsImV2ZW50c0VtaXR0ZXIiLCJ0cmFuc2l0aW9uIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwidHJhbnNpdGlvbkRlbGF5Iiwic2xpZGUiLCJpc0xvY2tlZCIsImN1cnNvciIsInVuc2V0R3JhYkN1cnNvciIsImF0dGFjaEV2ZW50cyIsImJpbmQiLCJkZXRhY2hFdmVudHMiLCJnZXRCcmVha3BvaW50IiwiY3VycmVudEJyZWFrcG9pbnQiLCJvcmlnaW5hbFBhcmFtcyIsImVtaXRDb250YWluZXJDbGFzc2VzIiwiZGlzYWJsZSIsImVuYWJsZSIsImNoYW5nZURpcmVjdGlvbiIsImlubmVySGVpZ2h0Iiwic3Vic3RyIiwidmFsdWUiLCJwb2ludCIsInNvcnQiLCJjbGFzc2VzIiwiYWRkQ2xhc3NlcyIsImNsYXNzTmFtZXMiLCJydGwiLCJhdXRvaGVpZ2h0IiwiY2VudGVyZWQiLCJyZW1vdmVDbGFzc2VzIiwiaWUiLCJyZSIsIm1vZHVsZXMiLCJfX21vZHVsZXNfXyIsImV4dGVuZFBhcmFtcyIsInBhc3NlZFBhcmFtcyIsInZlbG9jaXR5IiwidHJ1bmMiLCJjbGlja1RpbWVvdXQiLCJ2ZWxvY2l0aWVzIiwiaW1hZ2VzVG9Mb2FkIiwiaW1hZ2VzTG9h
5043ZGVkIiwic2V0UHJvZ3Jlc3MiLCJjbGFzc05hbWUiLCJnZXRTbGlkZUNsYXNzZXMiLCJzbGlkZUVsIiwiY29tcGxldGUiLCJjaGFuZ2VMYW5ndWFnZURpcmVjdGlvbiIsImRpciIsIm1vdW50IiwibW91bnRlZCIsInBhcmVudE5vZGUiLCJ0b1VwcGVyQ2FzZSIsInNsaWRlU2xvdHMiLCJob3N0RWwiLCJkZXN0cm95IiwiZXh0ZW5kRGVmYXVsdHMiLCJleHRlbmRlZERlZmF1bHRzIiwiZGVmYXVsdHMiLCJpbnN0YWxsTW9kdWxlIiwidXNlIiwibmUiLCJsZSIsIm9lIiwib2JzZXJ2ZXIiLCJkZSIsImNlIiwicHJlcGVuZFNsaWRlIiwiYXBwZW5kU2xpZGUiLCJwZSIsInVlIiwicmVtb3ZlU2xpZGUiLCJtZSIsIm92ZXJ3cml0ZVBhcmFtcyIsInBlcnNwZWN0aXZlIiwicmVjcmVhdGVTaGFkb3dzIiwiZ2V0RWZmZWN0UGFyYW1zIiwic2xpZGVTaGFkb3dzIiwiaGUiLCJiYWNrZmFjZVZpc2liaWxpdHkiLCJmZSIsImR1cmF0aW9uIiwidHJhbnNmb3JtRWxlbWVudHMiLCJhbGxTbGlkZXMiLCJnZSIsIlJlc2l6ZU9ic2VydmVyIiwiY29udGVudEJveFNpemUiLCJjb250ZW50UmVjdCIsImlubGluZVNpemUiLCJibG9ja1NpemUiLCJvYnNlcnZlIiwidW5vYnNlcnZlIiwiTXV0YXRpb25PYnNlcnZlciIsIldlYmtpdE11dGF0aW9uT2JzZXJ2ZXIiLCJhdHRyaWJ1dGVzIiwiY2hpbGRMaXN0IiwiY2hhcmFjdGVyRGF0YSIsIm9ic2VydmVQYXJlbnRzIiwib2JzZXJ2ZVNsaWRlQ2hpbGRyZW4iLCJkaXNjb25uZWN0IiwidmUiLCJjYWNoZSIsInJlbmRlclNsaWRlIiwicmVuZGVyRXh0ZXJuYWwiLCJyZW5kZXJFeHRlcm5hbFVwZGF0ZSIsImFkZFNsaWRlc0JlZm9yZSIsImFkZFNsaWRlc0FmdGVyIiwidG8iLCJvZmZzZXQiLCJyZW1vdmVBbGxTbGlkZXMiLCJrZXlDb2RlIiwiY2hhckNvZGUiLCJrZXlib2FyZCIsInBhZ2VVcERvd24iLCJzaGlmdEtleSIsImFsdEtleSIsImN0cmxLZXkiLCJtZXRhS2V5Iiwib25seUluVmlld3BvcnQiLCJyZXR1cm5WYWx1ZSIsIm1vdXNld2hlZWwiLCJyZWxlYXNlT25FZGdlcyIsImludmVydCIsImZvcmNlVG9BeGlzIiwic2Vuc2l0aXZpdHkiLCJldmVudHNUYXJnZXQiLCJ0aHJlc2hvbGREZWx0YSIsInRocmVzaG9sZFRpbWUiLCJub01vdXNld2hlZWxDbGFzcyIsIm1vdXNlRW50ZXJlZCIsImRlbHRhIiwicmF3Iiwid2hlZWxEZWx0YSIsIndoZWVsRGVsdGFZIiwid2hlZWxEZWx0YVgiLCJheGlzIiwiSE9SSVpPTlRBTF9BWElTIiwiZGVsdGFZIiwiZGVsdGFYIiwiZGVsdGFNb2RlIiwic3BpblgiLCJzcGluWSIsInBpeGVsWCIsInBpeGVsWSIsInRpbWUiLCJzaWduIiwic3RpY2t5IiwiZGlzYWJsZU9uSW50ZXJhY3Rpb24iLCJzdG9wIiwiZXZlbnQiLCJkaXNhYmxlZENsYXNzIiwidGFnTmFtZSIsImRpc2FibGVkIiwibG9ja0NsYXNzIiwiaGlkZU9uQ2xpY2siLCJoaWRkZW5DbGFzcyIsIm5hdmlnYXRpb25EaXNhYmxlZENsYXNzIiwicGFnaW5hdGlvbiIsImNsaWNrYWJsZSIsInRvZ2dsZSIsImJ1bGxldEVsZW1lbnQiLCJyZW5kZXJCdWxsZXQiLCJyZW5kZXJQcm9ncmVzc2JhciIsInJlbmRlckZyYWN0aW9uIiwicmVuZGVyQ3VzdG9tIiwicHJvZ3Jlc3NiYXJPcHBvc2l0ZSIsImR5bmFtaWNCdWxsZXRzIiwiZHluYW1pY01haW5CdWxsZXRzIiwiZm9ybWF0RnJhY3Rpb25DdXJyZW50Iiwi
5043Zm9ybWF0RnJhY3Rpb25Ub3RhbCIsImJ1bGxldENsYXNzIiwiYnVsbGV0QWN0aXZlQ2xhc3MiLCJtb2RpZmllckNsYXNzIiwiY3VycmVudENsYXNzIiwidG90YWxDbGFzcyIsInByb2dyZXNzYmFyRmlsbENsYXNzIiwicHJvZ3Jlc3NiYXJPcHBvc2l0ZUNsYXNzIiwiY2xpY2thYmxlQ2xhc3MiLCJob3Jpem9udGFsQ2xhc3MiLCJ2ZXJ0aWNhbENsYXNzIiwicGFnaW5hdGlvbkRpc2FibGVkQ2xhc3MiLCJidWxsZXRzIiwiZmxhdCIsInRleHRDb250ZW50IiwicmVuZGVyIiwic2Nyb2xsYmFyIiwiZHJhZ0VsIiwiaGlkZSIsIm9wYWNpdHkiLCJkcmFnU2l6ZSIsImRpc3BsYXkiLCJjbGllbnRYIiwiY2xpZW50WSIsInNuYXBPblJlbGVhc2UiLCJkcmFnQ2xhc3MiLCJkcmFnZ2FibGUiLCJzY3JvbGxiYXJEaXNhYmxlZENsYXNzIiwicGFyYWxsYXgiLCJ6b29tIiwibGltaXRUb09yaWdpbmFsU2l6ZSIsIm1heFJhdGlvIiwibWluUmF0aW8iLCJwYW5Pbk1vdXNlTW92ZSIsImNvbnRhaW5lckNsYXNzIiwiem9vbWVkU2xpZGVDbGFzcyIsIm9yaWdpblgiLCJvcmlnaW5ZIiwic2xpZGVXaWR0aCIsInNsaWRlSGVpZ2h0IiwiaW1hZ2VFbCIsImltYWdlV3JhcEVsIiwibWluWCIsIm1pblkiLCJtYXhYIiwibWF4WSIsInRvdWNoZXNTdGFydCIsInRvdWNoZXNDdXJyZW50IiwicHJldlBvc2l0aW9uWCIsInByZXZQb3NpdGlvblkiLCJwcmV2VGltZSIsIm5hdHVyYWxXaWR0aCIsInNjYWxlU3RhcnQiLCJmaW5kSW5kZXgiLCJzY2FsZU1vdmUiLCJzY2FsZSIsIkRPTU1hdHJpeCIsInBhc3NpdmVMaXN0ZW5lciIsImFjdGl2ZUxpc3RlbmVyV2l0aENhcHR1cmUiLCJkZWZpbmVQcm9wZXJ0eSIsImdldCIsInNldCIsImluIiwib3V0IiwibGFzdEluZGV4IiwiaW50ZXJwb2xhdGUiLCJzcGxpbmUiLCJpbnZlcnNlIiwiYnkiLCJpc0Zpbml0ZSIsImExMXkiLCJub3RpZmljYXRpb25DbGFzcyIsInByZXZTbGlkZU1lc3NhZ2UiLCJuZXh0U2xpZGVNZXNzYWdlIiwiZmlyc3RTbGlkZU1lc3NhZ2UiLCJsYXN0U2xpZGVNZXNzYWdlIiwicGFnaW5hdGlvbkJ1bGxldE1lc3NhZ2UiLCJzbGlkZUxhYmVsTWVzc2FnZSIsImNvbnRhaW5lck1lc3NhZ2UiLCJjb250YWluZXJSb2xlRGVzY3JpcHRpb25NZXNzYWdlIiwiY29udGFpbmVyUm9sZSIsIml0ZW1Sb2xlRGVzY3JpcHRpb25NZXNzYWdlIiwic2xpZGVSb2xlIiwiaWQiLCJzY3JvbGxPbkZvY3VzIiwiY2xpY2tlZCIsImNsaWNrIiwic291cmNlQ2FwYWJpbGl0aWVzIiwiZmlyZXNUb3VjaEV2ZW50cyIsInJlcGVhdCIsInJvdW5kIiwicmFuZG9tIiwicm9vdCIsImtleSIsImtlZXBRdWVyeSIsIlVSTCIsInN0YXRlIiwiaGFzaE5hdmlnYXRpb24iLCJ3YXRjaFN0YXRlIiwidGltZUxlZnQiLCJkZWxheSIsIndhaXRGb3JUcmFuc2l0aW9uIiwic3RvcE9uTGFzdFNsaWRlIiwicmV2ZXJzZURpcmVjdGlvbiIsInBhdXNlT25Nb3VzZUVudGVyIiwidmlzaWJpbGl0eVN0YXRlIiwic3RhcnQiLCJwYXVzZSIsInRodW1icyIsIm11bHRpcGxlQWN0aXZlVGh1bWJzIiwiYXV0b1Njcm9sbE9mZnNldCIsInNsaWRlVGh1bWJBY3RpdmVDbGFzcyIsInRodW1ic0NvbnRhaW5lckNsYXNzIiwibW9tZW50dW0iLCJtb21lbnR1bVJhdGlvIiwibW9tZW50dW1Cb3VuY2UiLCJtb21lbnR1bUJvdW5jZVJhdGlvIiwibW9tZW50dW1WZWxvY2l0eVJhdGlvIiwibWluaW11bVZlbG9jaXR5IiwicG9zaXRpb24iLCJwb3AiLCJzd2lwZXJTbGlkZUdyaWRTZXQiLCJvcmRlciIsInJvdyIsImFkZFNsaWRlIiwiZmFkZUVmZmVjdCIsImNyb3NzRmFkZSIsImN1YmVFZmZlY3QiLCJzaGFkb3ciLCJzaGFkb3dPZmZzZXQiLCJzaGFkb3dTY2FsZSIsInRyYW5zZm9ybU9yaWdpbiIsInNpbiIsImZsaXBFZmZlY3QiLCJsaW1pdFJvdGF0aW9uIiwiekluZGV4IiwiY292ZXJmbG93RWZmZWN0Iiwicm90YXRlIiwic3RyZXRjaCIsImRlcHRoIiwibW9kaWZpZXIiLCJjcmVhdGl2ZUVmZmVjdCIsImxpbWl0UHJvZ3Jlc3MiLCJzaGFkb3dQZXJQcm9ncmVzcyIsInByb2dyZXNzTXVsdGlwbGllciIsInByZXYiLCJuZXh0IiwiY2FyZHNFZmZlY3QiLCJwZXJTbGlkZVJvdGF0ZSIsInBlclNsaWRlT2Zmc2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vQXNzZXRzL1NjcmlwdHMvc3dpcGVyLWJ1bmRsZS5taW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLXJlc3QtcGFyYW1zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG9uZS12YXIgKi9cclxuLyogZXNsaW50LWRpc2FibGUgdmFycy1vbi10b3AgKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tdmFyICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZWYgKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tbmV3ICovXHJcbi8qIGVzbGludC1kaXNhYmxlIGZ1bmMtbmFtZXMgKi9cclxuLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLWFycm93LWNhbGxiYWNrICovXHJcbi8qIGVzbGludCBuby11bnVzZWQtdmFyczogXCJvZmZcIiAqL1xyXG4vKiBnbG9iYWwgRnVsbENhbGVuZGFyICovXHJcbi8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZiAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG5cclxuLyoqXHJcbiAqIFN3aXBlciAxMS4yLjEwXHJcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXHJcbiAqIGh0dHBzOi8vc3dpcGVyanMuY29tXHJcbiAqXHJcbiAqIENvcHlyaWdodCAyMDE0LTIwMjUgVmxhZGltaXIgS2hhcmxhbXBpZGlcclxuICpcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXHJcbiAqXHJcbiAqIFJlbGVhc2VkIG9uOiBKdW5lIDI4LCAyMDI1XHJcbiAqL1xyXG5cclxudmFyIFN3aXBlcj1mdW5jdGlvbigpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGUoZSl7cmV0dXJuIG51bGwhPT1lJiZcIm9iamVjdFwiPT10eXBlb2YgZSYmXCJjb25zdHJ1Y3RvclwiaW4gZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdH1mdW5jdGlvbiB0KHMsYSl7dm9pZCAwPT09cyYmKHM9e30pLHZvaWQgMD09PWEmJihhPXt9KTtjb25zdCBpPVtcIl9fcHJvdG9fX1wiLFwiY29uc3RydWN0b3JcIixcInByb3RvdHlwZVwiXTtPYmplY3Qua2V5cyhhKS5maWx0ZXIoKGU9PmkuaW5kZXhPZihlKTwwKSkuZm9yRWFjaCgoaT0+e3ZvaWQgMD09PXNbaV0/c1tpXT1hW2ldOmUoYVtpXSkmJmUoc1tpXSkmJk9iamVjdC5rZXlzKGFbaV0pLmxlbmd0aD4wJiZ0KHNbaV0sYVtpXSl9KSl9Y29uc3Qgcz17Ym9keTp7fSxhZGRFdmVudExpc3RlbmVyKCl7fSxyZW1vdmVFdmVudExpc3RlbmVyKCl7fSxhY3RpdmVFbGVtZW50OntibHVyKCl7fSxub2RlTmFtZTpcIlwifSxxdWVyeVNlbGVjdG9yOigpPT5udWxsLHF1ZXJ5U2VsZWN0b3JBbGw6KCk9PltdLGdldEVsZW1lbnRCeUlkOigpPT5udWxsLGNyZWF0ZUV2ZW50OigpPT4oe2luaXRFdmVudCgpe319KSxjcmVhdGVFbGVtZW50OigpPT4oe2NoaWxkcmVuOltdLGNoaWxkTm9kZXM6W10sc3R5bGU6e30sc2V0QXR0cmlidXRlKCl7fSxnZXRFbGVtZW50c0J5VGFnTmFtZTooKT0+W119KSxjcmVhdGVFbGVtZW50TlM6KCk9Pih7fSksaW1wb3J0Tm9kZTooKT0+bnVsbCxsb2NhdGlvbjp7aGFzaDpcIlwiLGhvc3Q6XCJcIixob3N0bmFtZTpcIlwiLGhyZWY6XCJcIixvcmlnaW46XCJcIixwYXRobmFtZTpcIlwiLHByb3RvY29sOlwiXCIsc2VhcmNoOlwiXCJ9fTtmdW5jdGlvbiBhKCl7Y29uc3QgZT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6e307cmV0dXJuIHQoZSxzKSxlfWNvbnN0IGk9e2RvY3VtZW50OnMsbmF2aWdhdG9yOnt1c2VyQWdlbnQ6XCJcIn0sbG9jYXRpb246e2hhc2g6XCJcIixob3N0OlwiXCIsaG9zdG5hbWU6XCJcIixocmVmOlwiXCIsb3JpZ2luOlwiXCIscGF0aG5hbWU6XCJcIixwcm90b2NvbDpcIlwiLHNlYXJjaDpcIlwifSxoaXN0b3J5OntyZXBsYWNlU3RhdGUoKXt9LHB1c2hTdGF0ZSgpe30sZ28oKXt9LGJhY2soKXt9fSxDdXN0b21FdmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxhZGR
5043FdmVudExpc3RlbmVyKCl7fSxyZW1vdmVFdmVudExpc3RlbmVyKCl7fSxnZXRDb21wdXRlZFN0eWxlOigpPT4oe2dldFByb3BlcnR5VmFsdWU6KCk9PlwiXCJ9KSxJbWFnZSgpe30sRGF0ZSgpe30sc2NyZWVuOnt9LHNldFRpbWVvdXQoKXt9LGNsZWFyVGltZW91dCgpe30sbWF0Y2hNZWRpYTooKT0+KHt9KSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWU6ZT0+XCJ1bmRlZmluZWRcIj09dHlwZW9mIHNldFRpbWVvdXQ/KGUoKSxudWxsKTpzZXRUaW1lb3V0KGUsMCksY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSl7XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNldFRpbWVvdXQmJmNsZWFyVGltZW91dChlKX19O2Z1bmN0aW9uIHIoKXtjb25zdCBlPVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9O3JldHVybiB0KGUsaSksZX1mdW5jdGlvbiBuKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1cIlwiKSxlLnRyaW0oKS5zcGxpdChcIiBcIikuZmlsdGVyKChlPT4hIWUudHJpbSgpKSl9ZnVuY3Rpb24gbChlLHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0wKSxzZXRUaW1lb3V0KGUsdCl9ZnVuY3Rpb24gbygpe3JldHVybiBEYXRlLm5vdygpfWZ1bmN0aW9uIGQoZSx0KXt2b2lkIDA9PT10JiYodD1cInhcIik7Y29uc3Qgcz1yKCk7bGV0IGEsaSxuO2NvbnN0IGw9ZnVuY3Rpb24oZSl7Y29uc3QgdD1yKCk7bGV0IHM7cmV0dXJuIHQuZ2V0Q29tcHV0ZWRTdHlsZSYmKHM9dC5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkpLCFzJiZlLmN1cnJlbnRTdHlsZSYmKHM9ZS5jdXJyZW50U3R5bGUpLHN8fChzPWUuc3R5bGUpLHN9KGUpO3JldHVybiBzLldlYktpdENTU01hdHJpeD8oaT1sLnRyYW5zZm9ybXx8bC53ZWJraXRUcmFuc2Zvcm0saS5zcGxpdChcIixcIikubGVuZ3RoPjYmJihpPWkuc3BsaXQoXCIsIFwiKS5tYXAoKGU9PmUucmVwbGFjZShcIixcIixcIi5cIikpKS5qb2luKFwiLCBcIikpLG49bmV3IHMuV2ViS2l0Q1NTTWF0cml4KFwibm9uZVwiPT09aT9cIlwiOmkpKToobj1sLk1velRyYW5zZm9ybXx8bC5PVHJhbnNmb3JtfHxsLk1zVHJhbnNmb3JtfHxsLm1zVHJhbnNmb3JtfHxsLnRyYW5zZm9ybXx8bC5nZXRQcm9wZXJ0eVZhbHVlKFwidHJhbnNmb3JtXCIpLnJlcGxhY2UoXCJ0cmFuc2xhdGUoXCIsXCJtYXRyaXgoMSwgMCwgMCwgMSxcIiksYT1uLnRvU3RyaW5nKCkuc3BsaXQoXCIsXCIpKSxcInhcIj09PXQmJihpPXMuV2ViS2l0Q1NTTWF0cml4P24ubTQxOjE2PT09YS5sZW5ndGg/cGFyc2VGbG9hdChhWzEyXSk6cGFyc2VGbG9hdChhWzRdKSksXCJ5XCI9PT10JiYoaT1zLldlYktpdENTU01hdHJpeD9uLm00MjoxNj09PWEubGVuZ3RoP3BhcnNlRmxvYXQoYVsxM10pOnBhcnNlRmxvYXQoYVs1XSkpLGl8fDB9ZnVuY3Rpb24gYyhlKXtyZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuY29uc3RydWN0b3ImJlwiT2JqZWN0XCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gcCgpe2NvbnN0IGU9T2JqZWN0KGFyZ3VtZW50cy5sZW5ndGg8PTA/dm9pZCAwOmFyZ3VtZW50c1swXSksdD1bXCJfX3Byb3RvX19cIixcImNvbnN0cnVjdG9yXCIsXCJwcm90b3R5cGVcIl07Zm9yKGxldCBhPTE7YTxhcmd1bWVudHMubGVuZ3RoO2ErPTEpe2NvbnN0IGk9YTwwfHxhcmd1bWVudHMubGVuZ3RoPD1hP3ZvaWQgMDphcmd1bWVudHNbYV07aWYobnVsbCE9aSYmKHM9aSwhKFwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5IVE1MRWxlbWVudD9zIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ6cyYmKDE9PT1zLm5vZGVUeXBlfHwxMT09PXMubm9kZVR5cGUpKSkpe2NvbnN0IHM9T2JqZWN0LmtleXMoT2JqZWN0KGkpKS5maWx0ZXIoKGU9PnQuaW5kZXhPZihlKTwwKSk7Zm9yKGxldCB0PTAsYT1zLmxlbmd0aDt0PGE7dCs9MSl7Y29uc3QgYT1zW3RdLHI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpLGEpO3ZvaWQgMCE9PXImJnIuZW51bWVyYWJsZSYmKGMoZVthXSkmJmMoaVthXSk/aVthXS5fX3N3aXBlcl9fP2VbYV09aVthXTpwKGVbYV0saVthXSk6IWMoZVthXSkmJmMoaVthXSk/KGVbYV09e30saVthXS5fX3N3aXBlcl9fP2VbYV09aVthXTpwKGVbYV0saVthXSkpOmVbYV09aVthXSl9fX12YXIgcztyZXR1cm4gZX1mdW5jdGlvbiB1KGUsdCxzKXtlLnN0eWxlLnNldFByb3BlcnR5KHQscyl9ZnVuY3Rpb24gbShlKXtsZXR7c3dpcGVyOnQsdGFyZ2V0UG9zaXRpb246cyxzaWRlOmF9PWU7Y29uc3QgaT1yKCksbj0tdC50cmFuc2xhdGU7bGV0IGwsbz1udWxsO2NvbnN0IGQ9dC5wYXJhbXMuc3BlZWQ7dC53cmFwcGVyRWwuc3R5bGUuc2Nyb2xsU25hcFR5cGU9XCJub25lXCIsaS5jYW5jZWxBbmltYXRpb25GcmFtZSh0LmNzc01vZGVGcmFtZUlEKTtjb25zdCBjPXM+bj9cIm5leHRcIjpcInByZXZcIixwPShlLHQpPT5cIm5leHRcIj09PWMmJmU+PXR8fFwicHJldlwiPT09YyYmZTw9dCx1PSgpPT57bD0obmV3IERhdGUpLmdldFRpbWUoKSxudWxsPT09byYmKG89bCk7Y29uc3QgZT1NYXRoLm1heChNYXRoLm1pbigobC1vKS9kLDEpLDApLHI9LjUtTWF0aC5jb3MoZSpNYXRoLlBJKS8yO2xldCBjPW4rcioocy1uKTtpZihwKGMscykmJihjPXMpLHQud3JhcHBlckVsLnNjcm9sbFRvKHtbYV06Y30pLHAoYyxzKSlyZXR1cm4gdC53cmFwcGVyRWwuc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIix0LndyYXBwZXJFbC5zdHlsZS5zY3JvbGxTbmFwVHlwZT1cIlwiLHNldFRpbWVvdXQoKCgpPT57dC53cmFwcGVyRWwuc3R5bGUub3ZlcmZsb3c9XCJcIix0LndyYXBwZXJFbC5zY3JvbGxUbyh7W2FdOmN9KX0pKSx2b2lkIGkuY2FuY2VsQW5pbWF0aW9uRnJhbWUodC5jc3NNb2RlRnJhbWVJRCk7dC5jc3NNb2RlRnJhbWVJRD1pLnJlcXVlc3RBbmltYXRpb25GcmFtZSh1KX07dSgpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGUucXVlcnlTZWxlY3RvcihcIi5zd2lwZXItc2xpZGUtdHJhbnNmb3JtXCIpfHxlLnNoYWRvd1Jvb3QmJmUuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKFwiLnN3aXBlci1zbGlkZS10cmFuc2Zvcm1cIil8fGV9ZnVuY3Rpb24gZihlLHQpe3ZvaWQgMD09PXQmJih0PVwiXCIpO2NvbnN0IHM9cigpLGE9Wy4uLmUuY2hpbGRyZW5dO3JldHVybiBzLkhUTUxTbG90RWxlbWVudCYmZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCYmYS5wdXNoKC4uLmUuYXNzaWduZWRFbGVtZW50cygpKSx0P2EuZmlsdGVyKChlPT5lLm1hdGNoZXModCkpKTphfWZ1bmN0aW9uIGcoZSl7dHJ5e3JldHVybiB2b2lkIGNvbnNvbGUud2FybihlKX1jYXRjaChlKXt9fWZ1bmN0aW9uIHYoZSx0KXt2b2lkIDA9PT10JiYodD1bXSk7Y29uc3Qgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpO3JldHVybiBzLmNsYXNzTGlzdC5hZGQoLi4uQXJyYXkuaXNBcnJheSh0KT90Om4odCkpLHN9ZnVuY3Rpb24gdyhlKXtjb25zdCB0PXIoKSxzPWEoKSxpPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1zLmJvZHksbD1lLmNsaWVudFRvcHx8bi5jbGllbnRUb3B8fDAsbz1lLmNsaWVudExlZnR8fG4uY2xpZW50TGVmdHx8MCxkPWU9PT10P3Quc2Nyb2xsWTplLnNjcm9sbFRvcCxjPWU9PT10P3Quc2Nyb2xsWDplLnNjcm9sbExlZnQ7cmV0dXJue3RvcDppLnRvcCtkLWwsbGVmdDppLmxlZnQrYy1vfX1mdW5jdGlvbiBiKGUsdCl7cmV0dXJuIHIoKS5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSh0KX1mdW5jdGlvbiB5KGUpe2xldCB0LHM9ZTtpZihzKXtmb3IodD0wO251bGwhPT0ocz1zLnByZX
5043Zpb3VzU2libGluZyk7KTE9PT1zLm5vZGVUeXBlJiYodCs9MSk7cmV0dXJuIHR9fWZ1bmN0aW9uIEUoZSx0KXtjb25zdCBzPVtdO2xldCBhPWUucGFyZW50RWxlbWVudDtmb3IoO2E7KXQ/YS5tYXRjaGVzKHQpJiZzLnB1c2goYSk6cy5wdXNoKGEpLGE9YS5wYXJlbnRFbGVtZW50O3JldHVybiBzfWZ1bmN0aW9uIHgoZSx0KXt0JiZlLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsKGZ1bmN0aW9uIHMoYSl7YS50YXJnZXQ9PT1lJiYodC5jYWxsKGUsYSksZS5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLHMpKX0pKX1mdW5jdGlvbiBTKGUsdCxzKXtjb25zdCBhPXIoKTtyZXR1cm4gcz9lW1wid2lkdGhcIj09PXQ/XCJvZmZzZXRXaWR0aFwiOlwib2Zmc2V0SGVpZ2h0XCJdK3BhcnNlRmxvYXQoYS5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShcIndpZHRoXCI9PT10P1wibWFyZ2luLXJpZ2h0XCI6XCJtYXJnaW4tdG9wXCIpKStwYXJzZUZsb2F0KGEuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpLmdldFByb3BlcnR5VmFsdWUoXCJ3aWR0aFwiPT09dD9cIm1hcmdpbi1sZWZ0XCI6XCJtYXJnaW4tYm90dG9tXCIpKTplLm9mZnNldFdpZHRofWZ1bmN0aW9uIFQoZSl7cmV0dXJuKEFycmF5LmlzQXJyYXkoZSk/ZTpbZV0pLmZpbHRlcigoZT0+ISFlKSl9ZnVuY3Rpb24gTShlKXtyZXR1cm4gdD0+TWF0aC5hYnModCk+MCYmZS5icm93c2VyJiZlLmJyb3dzZXIubmVlZDNkRml4JiZNYXRoLmFicyh0KSU5MD09MD90Ky4wMDE6dH1mdW5jdGlvbiBDKGUsdCl7dm9pZCAwPT09dCYmKHQ9XCJcIiksXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHRydXN0ZWRUeXBlcz9lLmlubmVySFRNTD10cnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5KFwiaHRtbFwiLHtjcmVhdGVIVE1MOmU9PmV9KS5jcmVhdGVIVE1MKHQpOmUuaW5uZXJIVE1MPXR9bGV0IFAsTCxJO2Z1bmN0aW9uIHooKXtyZXR1cm4gUHx8KFA9ZnVuY3Rpb24oKXtjb25zdCBlPXIoKSx0PWEoKTtyZXR1cm57c21vb3RoU2Nyb2xsOnQuZG9jdW1lbnRFbGVtZW50JiZ0LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmXCJzY3JvbGxCZWhhdmlvclwiaW4gdC5kb2N1bWVudEVsZW1lbnQuc3R5bGUsdG91Y2g6ISEoXCJvbnRvdWNoc3RhcnRcImluIGV8fGUuRG9jdW1lbnRUb3VjaCYmdCBpbnN0YW5jZW9mIGUuRG9jdW1lbnRUb3VjaCl9fSgpKSxQfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXt9KSxMfHwoTD1mdW5jdGlvbihlKXtsZXR7dXNlckFnZW50OnR9PXZvaWQgMD09PWU/e306ZTtjb25zdCBzPXooKSxhPXIoKSxpPWEubmF2aWdhdG9yLnBsYXRmb3JtLG49dHx8YS5uYXZpZ2F0b3IudXNlckFnZW50LGw9e2lvczohMSxhbmRyb2lkOiExfSxvPWEuc2NyZWVuLndpZHRoLGQ9YS5zY3JlZW4uaGVpZ2h0LGM9bi5tYXRjaCgvKEFuZHJvaWQpOz9bXFxzXFwvXSsoW1xcZC5dKyk/Lyk7bGV0IHA9bi5tYXRjaCgvKGlQYWQpLipPU1xccyhbXFxkX10rKS8pO2NvbnN0IHU9bi5tYXRjaCgvKGlQb2QpKC4qT1NcXHMoW1xcZF9dKykpPy8pLG09IXAmJm4ubWF0Y2goLyhpUGhvbmVcXHNPU3xpT1MpXFxzKFtcXGRfXSspLyksaD1cIldpbjMyXCI9PT1pO2xldCBmPVwiTWFjSW50ZWxcIj09PWk7cmV0dXJuIXAmJmYmJnMudG91Y2gmJltcIjEwMjR4MTM2NlwiLFwiMTM2NngxMDI0XCIsXCI4MzR4MTE5NFwiLFwiMTE5NHg4MzRcIixcIjgzNHgxMTEyXCIsXCIxMTEyeDgzNFwiLFwiNzY4eDEwMjRcIixcIjEwMjR4NzY4XCIsXCI4MjB4MTE4MFwiLFwiMTE4MHg4MjBcIixcIjgxMHgxMDgwXCIsXCIxMDgweDgxMFwiXS5pbmRleE9mKGAke299eCR7ZH1gKT49MCYmKHA9bi5tYXRjaCgvKFZlcnNpb24pXFwvKFtcXGQuXSspLykscHx8KHA9WzAsMSxcIjEzXzBfMFwiXSksZj0hMSksYyYmIWgmJihsLm9zPVwiYW5kcm9pZFwiLGwuYW5kcm9pZD0hMCksKHB8fG18fHUpJiYobC5vcz1cImlvc1wiLGwuaW9zPSEwKSxsfShlKSksTH1mdW5jdGlvbiAkKCl7cmV0dXJuIEl8fChJPWZ1bmN0aW9uKCl7Y29uc3QgZT1yKCksdD1BKCk7bGV0IHM9ITE7ZnVuY3Rpb24gYSgpe2NvbnN0IHQ9ZS5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQuaW5kZXhPZihcInNhZmFyaVwiKT49MCYmdC5pbmRleE9mKFwiY2hyb21lXCIpPDAmJnQuaW5kZXhPZihcImFuZHJvaWRcIik8MH1pZihhKCkpe2NvbnN0IHQ9U3RyaW5nKGUubmF2aWdhdG9yLnVzZXJBZ2VudCk7aWYodC5pbmNsdWRlcyhcIlZlcnNpb24vXCIpKXtjb25zdFtlLGFdPXQuc3BsaXQoXCJWZXJzaW9uL1wiKVsxXS5zcGxpdChcIiBcIilbMF0uc3BsaXQoXCIuXCIpLm1hcCgoZT0+TnVtYmVyKGUpKSk7cz1lPDE2fHwxNj09PWUmJmE8Mn19Y29uc3QgaT0vKGlQaG9uZXxpUG9kfGlQYWQpLipBcHBsZVdlYktpdCg/IS4qU2FmYXJpKS9pLnRlc3QoZS5uYXZpZ2F0b3IudXNlckFnZW50KSxuPWEoKTtyZXR1cm57aXNTYWZhcmk6c3x8bixuZWVkUGVyc3BlY3RpdmVGaXg6cyxuZWVkM2RGaXg6bnx8aSYmdC5pb3MsaXNXZWJWaWV3Oml9fSgpKSxJfXZhciBrPXtvbihlLHQscyl7Y29uc3QgYT10aGlzO2lmKCFhLmV2ZW50c0xpc3RlbmVyc3x8YS5kZXN0cm95ZWQpcmV0dXJuIGE7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgdClyZXR1cm4gYTtjb25zdCBpPXM/XCJ1bnNoaWZ0XCI6XCJwdXNoXCI7cmV0dXJuIGUuc3BsaXQoXCIgXCIpLmZvckVhY2goKGU9PnthLmV2ZW50c0xpc3RlbmVyc1tlXXx8KGEuZXZlbnRzTGlzdGVuZXJzW2VdPVtdKSxhLmV2ZW50c0xpc3RlbmVyc1tlXVtpXSh0KX0pKSxhfSxvbmNlKGUsdCxzKXtjb25zdCBhPXRoaXM7aWYoIWEuZXZlbnRzTGlzdGVuZXJzfHxhLmRlc3Ryb3llZClyZXR1cm4gYTtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiB0KXJldHVybiBhO2Z1bmN0aW9uIGkoKXthLm9mZihlLGkpLGkuX19lbWl0dGVyUHJveHkmJmRlbGV0ZSBpLl9fZW1pdHRlclByb3h5O2Zvcih2YXIgcz1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KHMpLG49MDtuPHM7bisrKXJbbl09YXJndW1lbnRzW25dO3QuYXBwbHkoYSxyKX1yZXR1cm4gaS5fX2VtaXR0ZXJQcm94eT10LGEub24oZSxpLHMpfSxvbkFueShlLHQpe2NvbnN0IHM9dGhpcztpZighcy5ldmVudHNMaXN0ZW5lcnN8fHMuZGVzdHJveWVkKXJldHVybi
5043BzO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUpcmV0dXJuIHM7Y29uc3QgYT10P1widW5zaGlmdFwiOlwicHVzaFwiO3JldHVybiBzLmV2ZW50c0FueUxpc3RlbmVycy5pbmRleE9mKGUpPDAmJnMuZXZlbnRzQW55TGlzdGVuZXJzW2FdKGUpLHN9LG9mZkFueShlKXtjb25zdCB0PXRoaXM7aWYoIXQuZXZlbnRzTGlzdGVuZXJzfHx0LmRlc3Ryb3llZClyZXR1cm4gdDtpZighdC5ldmVudHNBbnlMaXN0ZW5lcnMpcmV0dXJuIHQ7Y29uc3Qgcz10LmV2ZW50c0FueUxpc3RlbmVycy5pbmRleE9mKGUpO3JldHVybiBzPj0wJiZ0LmV2ZW50c0FueUxpc3RlbmVycy5zcGxpY2UocywxKSx0fSxvZmYoZSx0KXtjb25zdCBzPXRoaXM7cmV0dXJuIXMuZXZlbnRzTGlzdGVuZXJzfHxzLmRlc3Ryb3llZD9zOnMuZXZlbnRzTGlzdGVuZXJzPyhlLnNwbGl0KFwiIFwiKS5mb3JFYWNoKChlPT57dm9pZCAwPT09dD9zLmV2ZW50c0xpc3RlbmVyc1tlXT1bXTpzLmV2ZW50c0xpc3RlbmVyc1tlXSYmcy5ldmVudHNMaXN0ZW5lcnNbZV0uZm9yRWFjaCgoKGEsaSk9PnsoYT09PXR8fGEuX19lbWl0dGVyUHJveHkmJmEuX19lbWl0dGVyUHJveHk9PT10KSYmcy5ldmVudHNMaXN0ZW5lcnNbZV0uc3BsaWNlKGksMSl9KSl9KSkscyk6c30sZW1pdCgpe2NvbnN0IGU9dGhpcztpZighZS5ldmVudHNMaXN0ZW5lcnN8fGUuZGVzdHJveWVkKXJldHVybiBlO2lmKCFlLmV2ZW50c0xpc3RlbmVycylyZXR1cm4gZTtsZXQgdCxzLGE7Zm9yKHZhciBpPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoaSksbj0wO248aTtuKyspcltuXT1hcmd1bWVudHNbbl07XCJzdHJpbmdcIj09dHlwZW9mIHJbMF18fEFycmF5LmlzQXJyYXkoclswXSk/KHQ9clswXSxzPXIuc2xpY2UoMSxyLmxlbmd0aCksYT1lKToodD1yWzBdLmV2ZW50cyxzPXJbMF0uZGF0YSxhPXJbMF0uY29udGV4dHx8ZSkscy51bnNoaWZ0KGEpO3JldHVybihBcnJheS5pc0FycmF5KHQpP3Q6dC5zcGxpdChcIiBcIikpLmZvckVhY2goKHQ9PntlLmV2ZW50c0FueUxpc3RlbmVycyYmZS5ldmVudHNBbnlMaXN0ZW5lcnMubGVuZ3RoJiZlLmV2ZW50c0FueUxpc3RlbmVycy5mb3JFYWNoKChlPT57ZS5hcHBseShhLFt0LC4uLnNdKX0pKSxlLmV2ZW50c0xpc3RlbmVycyYmZS5ldmVudHNMaXN0ZW5lcnNbdF0mJmUuZXZlbnRzTGlzdGVuZXJzW3RdLmZvckVhY2goKGU9PntlLmFwcGx5KGEscyl9KSl9KSksZX19O2NvbnN0IE89KGUsdCxzKT0+e3QmJiFlLmNsYXNzTGlzdC5jb250YWlucyhzKT9lLmNsYXNzTGlzdC5hZGQocyk6IXQmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKHMpJiZlLmNsYXNzTGlzdC5yZW1vdmUocyl9O2NvbnN0IEQ9KGUsdCxzKT0+e3QmJiFlLmNsYXNzTGlzdC5jb250YWlucyhzKT9lLmNsYXNzTGlzdC5hZGQocyk6IXQmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKHMpJiZlLmNsYXNzTGlzdC5yZW1vdmUocyl9O2NvbnN0IEc9KGUsdCk9PntpZighZXx8ZS5kZXN0cm95ZWR8fCFlLnBhcmFtcylyZXR1cm47Y29uc3Qgcz10LmNsb3Nlc3QoZS5pc0VsZW1lbnQ/XCJzd2lwZXItc2xpZGVcIjpgLiR7ZS5wYXJhbXMuc2xpZGVDbGFzc31gKTtpZihzKXtsZXQgdD1zLnF1ZXJ5U2VsZWN0b3IoYC4ke2UucGFyYW1zLmxhenlQcmVsb2FkZXJDbGFzc31gKTshdCYmZS5pc0VsZW1lbnQmJihzLnNoYWRvd1Jvb3Q/dD1zLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgLiR7ZS5wYXJhbXMubGF6eVByZWxvYWRlckNsYXNzfWApOnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntzLnNoYWRvd1Jvb3QmJih0PXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGAuJHtlLnBhcmFtcy5sYXp5UHJlbG9hZGVyQ2xhc3N9YCksdCYmdC5yZW1vdmUoKSl9KSkpLHQmJnQucmVtb3ZlKCl9fSxYPShlLHQpPT57aWYoIWUuc2xpZGVzW3RdKXJldHVybjtjb25zdCBzPWUuc2xpZGVzW3RdLnF1ZXJ5U2VsZWN0b3IoJ1tsb2FkaW5nPVwibGF6eVwiXScpO3MmJnMucmVtb3ZlQXR0cmlidXRlKFwibG9hZGluZ1wiKX0sWT1lPT57aWYoIWV8fGUuZGVzdHJveWVkfHwhZS5wYXJhbXMpcmV0dXJuO2xldCB0PWUucGFyYW1zLmxhenlQcmVsb2FkUHJldk5leHQ7Y29uc3Qgcz1lLnNsaWRlcy5sZW5ndGg7aWYoIXN8fCF0fHx0PDApcmV0dXJuO3Q9TWF0aC5taW4odCxzKTtjb25zdCBhPVwiYXV0b1wiPT09ZS5wYXJhbXMuc2xpZGVzUGVyVmlldz9lLnNsaWRlc1BlclZpZXdEeW5hbWljKCk6TWF0aC5jZWlsKGUucGFyYW1zLnNsaWRlc1BlclZpZXcpLGk9ZS5hY3RpdmVJbmRleDtpZihlLnBhcmFtcy5ncmlkJiZlLnBhcmFtcy5ncmlkLnJvd3M+MSl7Y29uc3Qgcz1pLHI9W3MtdF07cmV0dXJuIHIucHVzaCguLi5BcnJheS5mcm9tKHtsZW5ndGg6dH0pLm1hcCgoKGUsdCk9PnMrYSt0KSkpLHZvaWQgZS5zbGlkZXMuZm9yRWFjaCgoKHQscyk9PntyLmluY2x1ZGVzKHQuY29sdW1uKSYmWChlLHMpfSkpfWNvbnN0IHI9aSthLTE7aWYoZS5wYXJhbXMucmV3aW5kfHxlLnBhcmFtcy5sb29wKWZvcihsZXQgYT1pLXQ7YTw9cit0O2ErPTEpe2NvbnN0IHQ9KGElcytzKSVzOyh0PGl8fHQ+cikmJlgoZSx0KX1lbHNlIGZvcihsZXQgYT1NYXRoLm1heChpLXQsMCk7YTw9TWF0aC5taW4ocit0LHMtMSk7YSs9MSlhIT09aSYmKGE+cnx8YTxpKSYmWChlLGEpfTt2YXIgQj17dXBkYXRlU2l6ZTpmdW5jdGlvbigpe2NvbnN0IGU9dGhpcztsZXQgdCxzO2NvbnN0IGE9ZS5lbDt0PXZvaWQgMCE9PWUucGFyYW1zLndpZHRoJiZudWxsIT09ZS5wYXJhbXMud2lkdGg/ZS5wYXJhbXMud2lkdGg6YS5jbGllbnRXaWR0aCxzPXZvaWQgMCE9PWUucGFyYW1zLmhlaWdodCYmbnVsbCE9PWUucGFyYW1zLmhlaWdodD9lLnBhcmFtcy5oZWlnaHQ6YS5jbGllbnRIZWlnaHQsMD09PXQmJmUuaXNIb3Jpem9udGFsKCl8fDA9PT1zJiZlLmlzVmVydGljYWwoKXx8KHQ9dC1wYXJzZUludChiKGEsXCJwYWRkaW5nLWxlZnRcIil8fDAsMTApLXBhcnNlSW50KGIoYSxcInBhZGRpbmctcmlnaHRcIil8fDAsMTApLHM9cy1wYXJzZUludChiKGEsXCJwYWRkaW5nLXRvcFwiKXx8MCwxMCktcGFyc2VJbnQoYihhLFwicGFkZGluZy1ib3R0b21cIil8fDAsMTApLE51bWJlci5pc05hTih0KSYmKHQ9MCksTnVtYmVyLmlzTmFOKHMpJiYocz0wKSxPYmplY3QuYXNzaWduKGUse3dpZHRoOnQsaGVpZ2h0OnMsc2l6ZTplLmlzSG9yaXpvbn
5043RhbCgpP3Q6c30pKX0sdXBkYXRlU2xpZGVzOmZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzO2Z1bmN0aW9uIHQodCxzKXtyZXR1cm4gcGFyc2VGbG9hdCh0LmdldFByb3BlcnR5VmFsdWUoZS5nZXREaXJlY3Rpb25MYWJlbChzKSl8fDApfWNvbnN0IHM9ZS5wYXJhbXMse3dyYXBwZXJFbDphLHNsaWRlc0VsOmksc2l6ZTpyLHJ0bFRyYW5zbGF0ZTpuLHdyb25nUlRMOmx9PWUsbz1lLnZpcnR1YWwmJnMudmlydHVhbC5lbmFibGVkLGQ9bz9lLnZpcnR1YWwuc2xpZGVzLmxlbmd0aDplLnNsaWRlcy5sZW5ndGgsYz1mKGksYC4ke2UucGFyYW1zLnNsaWRlQ2xhc3N9LCBzd2lwZXItc2xpZGVgKSxwPW8/ZS52aXJ0dWFsLnNsaWRlcy5sZW5ndGg6Yy5sZW5ndGg7bGV0IG09W107Y29uc3QgaD1bXSxnPVtdO2xldCB2PXMuc2xpZGVzT2Zmc2V0QmVmb3JlO1wiZnVuY3Rpb25cIj09dHlwZW9mIHYmJih2PXMuc2xpZGVzT2Zmc2V0QmVmb3JlLmNhbGwoZSkpO2xldCB3PXMuc2xpZGVzT2Zmc2V0QWZ0ZXI7XCJmdW5jdGlvblwiPT10eXBlb2YgdyYmKHc9cy5zbGlkZXNPZmZzZXRBZnRlci5jYWxsKGUpKTtjb25zdCB5PWUuc25hcEdyaWQubGVuZ3RoLEU9ZS5zbGlkZXNHcmlkLmxlbmd0aDtsZXQgeD1zLnNwYWNlQmV0d2VlbixUPS12LE09MCxDPTA7aWYodm9pZCAwPT09cilyZXR1cm47XCJzdHJpbmdcIj09dHlwZW9mIHgmJnguaW5kZXhPZihcIiVcIik+PTA/eD1wYXJzZUZsb2F0KHgucmVwbGFjZShcIiVcIixcIlwiKSkvMTAwKnI6XCJzdHJpbmdcIj09dHlwZW9mIHgmJih4PXBhcnNlRmxvYXQoeCkpLGUudmlydHVhbFNpemU9LXgsYy5mb3JFYWNoKChlPT57bj9lLnN0eWxlLm1hcmdpbkxlZnQ9XCJcIjplLnN0eWxlLm1hcmdpblJpZ2h0PVwiXCIsZS5zdHlsZS5tYXJnaW5Cb3R0b209XCJcIixlLnN0eWxlLm1hcmdpblRvcD1cIlwifSkpLHMuY2VudGVyZWRTbGlkZXMmJnMuY3NzTW9kZSYmKHUoYSxcIi0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmVcIixcIlwiKSx1KGEsXCItLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXJcIixcIlwiKSk7Y29uc3QgUD1zLmdyaWQmJnMuZ3JpZC5yb3dzPjEmJmUuZ3JpZDtsZXQgTDtQP2UuZ3JpZC5pbml0U2xpZGVzKGMpOmUuZ3JpZCYmZS5ncmlkLnVuc2V0U2xpZGVzKCk7Y29uc3QgST1cImF1dG9cIj09PXMuc2xpZGVzUGVyVmlldyYmcy5icmVha3BvaW50cyYmT2JqZWN0LmtleXMocy5icmVha3BvaW50cykuZmlsdGVyKChlPT52b2lkIDAhPT1zLmJyZWFrcG9pbnRzW2VdLnNsaWRlc1BlclZpZXcpKS5sZW5ndGg+MDtmb3IobGV0IGE9MDthPHA7YSs9MSl7bGV0IGk7aWYoTD0wLGNbYV0mJihpPWNbYV0pLFAmJmUuZ3JpZC51cGRhdGVTbGlkZShhLGksYyksIWNbYV18fFwibm9uZVwiIT09YihpLFwiZGlzcGxheVwiKSl7aWYoXCJhdXRvXCI9PT1zLnNsaWRlc1BlclZpZXcpe0kmJihjW2FdLnN0eWxlW2UuZ2V0RGlyZWN0aW9uTGFiZWwoXCJ3aWR0aFwiKV09XCJcIik7Y29uc3Qgcj1nZXRDb21wdXRlZFN0eWxlKGkpLG49aS5zdHlsZS50cmFuc2Zvcm0sbD1pLnN0eWxlLndlYmtpdFRyYW5zZm9ybTtpZihuJiYoaS5zdHlsZS50cmFuc2Zvcm09XCJub25lXCIpLGwmJihpLnN0eWxlLndlYmtpdFRyYW5zZm9ybT1cIm5vbmVcIikscy5yb3VuZExlbmd0aHMpTD1lLmlzSG9yaXpvbnRhbCgpP1MoaSxcIndpZHRoXCIsITApOlMoaSxcImhlaWdodFwiLCEwKTtlbHNle2NvbnN0IGU9dChyLFwid2lkdGhcIikscz10KHIsXCJwYWRkaW5nLWxlZnRcIiksYT10KHIsXCJwYWRkaW5nLXJpZ2h0XCIpLG49dChyLFwibWFyZ2luLWxlZnRcIiksbD10KHIsXCJtYXJnaW4tcmlnaHRcIiksbz1yLmdldFByb3BlcnR5VmFsdWUoXCJib3gtc2l6aW5nXCIpO2lmKG8mJlwiYm9yZGVyLWJveFwiPT09bylMPWUrbitsO2Vsc2V7Y29uc3R7Y2xpZW50V2lkdGg6dCxvZmZzZXRXaWR0aDpyfT1pO0w9ZStzK2ErbitsKyhyLXQpfX1uJiYoaS5zdHlsZS50cmFuc2Zvcm09biksbCYmKGkuc3R5bGUud2Via2l0VHJhbnNmb3JtPWwpLHMucm91bmRMZW5ndGhzJiYoTD1NYXRoLmZsb29yKEwpKX1lbHNlIEw9KHItKHMuc2xpZGVzUGVyVmlldy0xKSp4KS9zLnNsaWRlc1BlclZpZXcscy5yb3VuZExlbmd0aHMmJihMPU1hdGguZmxvb3IoTCkpLGNbYV0mJihjW2FdLnN0eWxlW2UuZ2V0RGlyZWN0aW9uTGFiZWwoXCJ3aWR0aFwiKV09YCR7TH1weGApO2NbYV0mJihjW2FdLnN3aXBlclNsaWRlU2l6ZT1MKSxnLnB1c2goTCkscy5jZW50ZXJlZFNsaWRlcz8oVD1UK0wvMitNLzIreCwwPT09TSYmMCE9PWEmJihUPVQtci8yLXgpLDA9PT1hJiYoVD1ULXIvMi14KSxNYXRoLmFicyhUKTwuMDAxJiYoVD0wKSxzLnJvdW5kTGVuZ3RocyYmKFQ9TWF0aC5mbG9vcihUKSksQyVzLnNsaWRlc1Blckdyb3VwPT0wJiZtLnB1c2goVCksaC5wdXNoKFQpKToocy5yb3VuZExlbmd0aHMmJihUPU1hdGguZmxvb3IoVCkpLChDLU1hdGgubWluKGUucGFyYW1zLnNsaWRlc1Blckdyb3VwU2tpcCxDKSklZS5wYXJhbXMuc2xpZGVzUGVyR3JvdXA9PTAmJm0ucHVzaChUKSxoLnB1c2goVCksVD1UK0wreCksZS52aXJ0dWFsU2l6ZSs9TCt4LE09TCxDKz0xfX1pZihlLnZpcnR1YWxTaXplPU1hdGgubWF4KGUudmlydHVhbFNpemUscikrdyxuJiZsJiYoXCJzbGlkZVwiPT09cy5lZmZlY3R8fFwiY292ZXJmbG93XCI9PT1zLmVmZmVjdCkmJihhLnN0eWxlLndpZHRoPWAke2UudmlydHVhbFNpemUreH1weGApLHMuc2V0V3JhcHBlclNpemUmJihhLnN0eWxlW2UuZ2V0RGlyZWN0aW9uTGFiZWwoXCJ3aWR0aFwiKV09YCR7ZS52aXJ0dWFsU2l6ZSt4fXB4YCksUCYmZS5ncmlkLnVwZGF0ZVdyYXBwZXJTaXplKEwsbSksIXMuY2VudGVyZWRTbGlkZXMpe2NvbnN0IHQ9W107Zm9yKGxldCBhPTA7YTxtLmxlbmd0aDthKz0xKXtsZXQgaT1tW2FdO3Mucm91bmRMZW5ndGhzJiYoaT1NYXRoLmZsb29yKGkpKSxtW2FdPD1lLnZpcnR1YWxTaXplLXImJnQucHVzaChpKX1tPXQsTWF0aC5mbG9vcihlLnZpcnR1YWxTaXplLXIpLU1hdGguZmxvb3IobVttLmxlbmd0aC0xXSk+MSYmbS5wdXNoKGUudmlydHVhbFNpemUtcil9aWYobyYmcy5sb29wKXtjb25zdCB0PWdbMF0reDtpZihzLnNsaWRlc1Blckdyb3VwPjEpe2NvbnN0IGE9TWF0aC5jZWlsKChlLnZpcnR1YWwuc2xpZGVzQmVmb3JlK2UudmlydHVhbC5zbGlkZXNBZnRlcikvcy5zbGlkZXNQZXJHcm91cCksaT10KnMuc2xpZGVzUGVyR3JvdXA7Zm9yKGxldCBlPTA7ZTxhO2
5043UrPTEpbS5wdXNoKG1bbS5sZW5ndGgtMV0raSl9Zm9yKGxldCBhPTA7YTxlLnZpcnR1YWwuc2xpZGVzQmVmb3JlK2UudmlydHVhbC5zbGlkZXNBZnRlcjthKz0xKTE9PT1zLnNsaWRlc1Blckdyb3VwJiZtLnB1c2gobVttLmxlbmd0aC0xXSt0KSxoLnB1c2goaFtoLmxlbmd0aC0xXSt0KSxlLnZpcnR1YWxTaXplKz10fWlmKDA9PT1tLmxlbmd0aCYmKG09WzBdKSwwIT09eCl7Y29uc3QgdD1lLmlzSG9yaXpvbnRhbCgpJiZuP1wibWFyZ2luTGVmdFwiOmUuZ2V0RGlyZWN0aW9uTGFiZWwoXCJtYXJnaW5SaWdodFwiKTtjLmZpbHRlcigoKGUsdCk9PiEocy5jc3NNb2RlJiYhcy5sb29wKXx8dCE9PWMubGVuZ3RoLTEpKS5mb3JFYWNoKChlPT57ZS5zdHlsZVt0XT1gJHt4fXB4YH0pKX1pZihzLmNlbnRlcmVkU2xpZGVzJiZzLmNlbnRlcmVkU2xpZGVzQm91bmRzKXtsZXQgZT0wO2cuZm9yRWFjaCgodD0+e2UrPXQrKHh8fDApfSkpLGUtPXg7Y29uc3QgdD1lPnI/ZS1yOjA7bT1tLm1hcCgoZT0+ZTw9MD8tdjplPnQ/dCt3OmUpKX1pZihzLmNlbnRlckluc3VmZmljaWVudFNsaWRlcyl7bGV0IGU9MDtnLmZvckVhY2goKHQ9PntlKz10Kyh4fHwwKX0pKSxlLT14O2NvbnN0IHQ9KHMuc2xpZGVzT2Zmc2V0QmVmb3JlfHwwKSsocy5zbGlkZXNPZmZzZXRBZnRlcnx8MCk7aWYoZSt0PHIpe2NvbnN0IHM9KHItZS10KS8yO20uZm9yRWFjaCgoKGUsdCk9PnttW3RdPWUtc30pKSxoLmZvckVhY2goKChlLHQpPT57aFt0XT1lK3N9KSl9fWlmKE9iamVjdC5hc3NpZ24oZSx7c2xpZGVzOmMsc25hcEdyaWQ6bSxzbGlkZXNHcmlkOmgsc2xpZGVzU2l6ZXNHcmlkOmd9KSxzLmNlbnRlcmVkU2xpZGVzJiZzLmNzc01vZGUmJiFzLmNlbnRlcmVkU2xpZGVzQm91bmRzKXt1KGEsXCItLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlXCIsLW1bMF0rXCJweFwiKSx1KGEsXCItLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXJcIixlLnNpemUvMi1nW2cubGVuZ3RoLTFdLzIrXCJweFwiKTtjb25zdCB0PS1lLnNuYXBHcmlkWzBdLHM9LWUuc2xpZGVzR3JpZFswXTtlLnNuYXBHcmlkPWUuc25hcEdyaWQubWFwKChlPT5lK3QpKSxlLnNsaWRlc0dyaWQ9ZS5zbGlkZXNHcmlkLm1hcCgoZT0+ZStzKSl9aWYocCE9PWQmJmUuZW1pdChcInNsaWRlc0xlbmd0aENoYW5nZVwiKSxtLmxlbmd0aCE9PXkmJihlLnBhcmFtcy53YXRjaE92ZXJmbG93JiZlLmNoZWNrT3ZlcmZsb3coKSxlLmVtaXQoXCJzbmFwR3JpZExlbmd0aENoYW5nZVwiKSksaC5sZW5ndGghPT1FJiZlLmVtaXQoXCJzbGlkZXNHcmlkTGVuZ3RoQ2hhbmdlXCIpLHMud2F0Y2hTbGlkZXNQcm9ncmVzcyYmZS51cGRhdGVTbGlkZXNPZmZzZXQoKSxlLmVtaXQoXCJzbGlkZXNVcGRhdGVkXCIpLCEob3x8cy5jc3NNb2RlfHxcInNsaWRlXCIhPT1zLmVmZmVjdCYmXCJmYWRlXCIhPT1zLmVmZmVjdCkpe2NvbnN0IHQ9YCR7cy5jb250YWluZXJNb2RpZmllckNsYXNzfWJhY2tmYWNlLWhpZGRlbmAsYT1lLmVsLmNsYXNzTGlzdC5jb250YWlucyh0KTtwPD1zLm1heEJhY2tmYWNlSGlkZGVuU2xpZGVzP2F8fGUuZWwuY2xhc3NMaXN0LmFkZCh0KTphJiZlLmVsLmNsYXNzTGlzdC5yZW1vdmUodCl9fSx1cGRhdGVBdXRvSGVpZ2h0OmZ1bmN0aW9uKGUpe2NvbnN0IHQ9dGhpcyxzPVtdLGE9dC52aXJ0dWFsJiZ0LnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ7bGV0IGkscj0wO1wibnVtYmVyXCI9PXR5cGVvZiBlP3Quc2V0VHJhbnNpdGlvbihlKTohMD09PWUmJnQuc2V0VHJhbnNpdGlvbih0LnBhcmFtcy5zcGVlZCk7Y29uc3Qgbj1lPT5hP3Quc2xpZGVzW3QuZ2V0U2xpZGVJbmRleEJ5RGF0YShlKV06dC5zbGlkZXNbZV07aWYoXCJhdXRvXCIhPT10LnBhcmFtcy5zbGlkZXNQZXJWaWV3JiZ0LnBhcmFtcy5zbGlkZXNQZXJWaWV3PjEpaWYodC5wYXJhbXMuY2VudGVyZWRTbGlkZXMpKHQudmlzaWJsZVNsaWRlc3x8W10pLmZvckVhY2goKGU9PntzLnB1c2goZSl9KSk7ZWxzZSBmb3IoaT0wO2k8TWF0aC5jZWlsKHQucGFyYW1zLnNsaWRlc1BlclZpZXcpO2krPTEpe2NvbnN0IGU9dC5hY3RpdmVJbmRleCtpO2lmKGU+dC5zbGlkZXMubGVuZ3RoJiYhYSlicmVhaztzLnB1c2gobihlKSl9ZWxzZSBzLnB1c2gobih0LmFjdGl2ZUluZGV4KSk7Zm9yKGk9MDtpPHMubGVuZ3RoO2krPTEpaWYodm9pZCAwIT09c1tpXSl7Y29uc3QgZT1zW2ldLm9mZnNldEhlaWdodDtyPWU+cj9lOnJ9KHJ8fDA9PT1yKSYmKHQud3JhcHBlckVsLnN0eWxlLmhlaWdodD1gJHtyfXB4YCl9LHVwZGF0ZVNsaWRlc09mZnNldDpmdW5jdGlvbigpe2NvbnN0IGU9dGhpcyx0PWUuc2xpZGVzLHM9ZS5pc0VsZW1lbnQ/ZS5pc0hvcml6b250YWwoKT9lLndyYXBwZXJFbC5vZmZzZXRMZWZ0OmUud3JhcHBlckVsLm9mZnNldFRvcDowO2ZvcihsZXQgYT0wO2E8dC5sZW5ndGg7YSs9MSl0W2FdLnN3aXBlclNsaWRlT2Zmc2V0PShlLmlzSG9yaXpvbnRhbCgpP3RbYV0ub2Zmc2V0TGVmdDp0W2FdLm9mZnNldFRvcCktcy1lLmNzc092ZXJmbG93QWRqdXN0bWVudCgpfSx1cGRhdGVTbGlkZXNQcm9ncmVzczpmdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT10aGlzJiZ0aGlzLnRyYW5zbGF0ZXx8MCk7Y29uc3QgdD10aGlzLHM9dC5wYXJhbXMse3NsaWRlczphLHJ0bFRyYW5zbGF0ZTppLHNuYXBHcmlkOnJ9PXQ7aWYoMD09PWEubGVuZ3RoKXJldHVybjt2b2lkIDA9PT1hWzBdLnN3aXBlclNsaWRlT2Zmc2V0JiZ0LnVwZGF0ZVNsaWRlc09mZnNldCgpO2xldCBuPS1lO2kmJihuPWUpLHQudmlzaWJsZVNsaWRlc0luZGV4ZXM9W10sdC52aXNpYmxlU2xpZGVzPVtdO2xldCBsPXMuc3BhY2VCZXR3ZWVuO1wic3RyaW5nXCI9PXR5cGVvZiBsJiZsLmluZGV4T2YoXCIlXCIpPj0wP2w9cGFyc2VGbG9hdChsLnJlcGxhY2UoXCIlXCIsXCJcIikpLzEwMCp0LnNpemU6XCJzdHJpbmdcIj09dHlwZW9mIGwmJihsPXBhcnNlRmxvYXQobCkpO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSs9MSl7Y29uc3Qgbz1hW2VdO2xldCBkPW8uc3dpcGVyU2xpZGVPZmZzZXQ7cy5jc3NNb2RlJiZzLmNlbnRlcmVkU2xpZGVzJiYoZC09YVswXS5zd2lwZXJTbGlkZU9mZnNldCk7Y29uc3QgYz0obisocy5jZW50ZXJlZFNsaWRlcz90Lm1pblRyYW5zbGF0ZSgpOjApLWQpLyhvLnN3aXBlclNsaWRlU2l6ZStsKSxwPShuLXJbMF0rKHMuY2VudGVyZWRTbGlkZXM/dC5taW5UcmFuc2xhdGUoKTowKS1kKS8oby5zd2lwZXJTbGlkZVNpemUrbCksdT0tKG4tZCksbT11K3Quc2xpZGVzU2l6ZXNHcmlkW2VdLGg9dT49MCYmdTw9dC5zaXplLXQuc2xpZGVzU2l6ZXNHcmlkW2VdLGY9dT49MCYmdTx0LnNpemUtMXx8bT4xJiZtPD10LnNpemV8fHU8PTAmJm0+PXQuc2l6ZTtmJiYodC52aXNpYmxlU2xpZGVzLnB1c2gobyksdC52aXNpYmxlU2xpZGVzSW5kZX
5043hlcy5wdXNoKGUpKSxPKG8sZixzLnNsaWRlVmlzaWJsZUNsYXNzKSxPKG8saCxzLnNsaWRlRnVsbHlWaXNpYmxlQ2xhc3MpLG8ucHJvZ3Jlc3M9aT8tYzpjLG8ub3JpZ2luYWxQcm9ncmVzcz1pPy1wOnB9fSx1cGRhdGVQcm9ncmVzczpmdW5jdGlvbihlKXtjb25zdCB0PXRoaXM7aWYodm9pZCAwPT09ZSl7Y29uc3Qgcz10LnJ0bFRyYW5zbGF0ZT8tMToxO2U9dCYmdC50cmFuc2xhdGUmJnQudHJhbnNsYXRlKnN8fDB9Y29uc3Qgcz10LnBhcmFtcyxhPXQubWF4VHJhbnNsYXRlKCktdC5taW5UcmFuc2xhdGUoKTtsZXR7cHJvZ3Jlc3M6aSxpc0JlZ2lubmluZzpyLGlzRW5kOm4scHJvZ3Jlc3NMb29wOmx9PXQ7Y29uc3Qgbz1yLGQ9bjtpZigwPT09YSlpPTAscj0hMCxuPSEwO2Vsc2V7aT0oZS10Lm1pblRyYW5zbGF0ZSgpKS9hO2NvbnN0IHM9TWF0aC5hYnMoZS10Lm1pblRyYW5zbGF0ZSgpKTwxLGw9TWF0aC5hYnMoZS10Lm1heFRyYW5zbGF0ZSgpKTwxO3I9c3x8aTw9MCxuPWx8fGk+PTEscyYmKGk9MCksbCYmKGk9MSl9aWYocy5sb29wKXtjb25zdCBzPXQuZ2V0U2xpZGVJbmRleEJ5RGF0YSgwKSxhPXQuZ2V0U2xpZGVJbmRleEJ5RGF0YSh0LnNsaWRlcy5sZW5ndGgtMSksaT10LnNsaWRlc0dyaWRbc10scj10LnNsaWRlc0dyaWRbYV0sbj10LnNsaWRlc0dyaWRbdC5zbGlkZXNHcmlkLmxlbmd0aC0xXSxvPU1hdGguYWJzKGUpO2w9bz49aT8oby1pKS9uOihvK24tcikvbixsPjEmJihsLT0xKX1PYmplY3QuYXNzaWduKHQse3Byb2dyZXNzOmkscHJvZ3Jlc3NMb29wOmwsaXNCZWdpbm5pbmc6cixpc0VuZDpufSksKHMud2F0Y2hTbGlkZXNQcm9ncmVzc3x8cy5jZW50ZXJlZFNsaWRlcyYmcy5hdXRvSGVpZ2h0KSYmdC51cGRhdGVTbGlkZXNQcm9ncmVzcyhlKSxyJiYhbyYmdC5lbWl0KFwicmVhY2hCZWdpbm5pbmcgdG9FZGdlXCIpLG4mJiFkJiZ0LmVtaXQoXCJyZWFjaEVuZCB0b0VkZ2VcIiksKG8mJiFyfHxkJiYhbikmJnQuZW1pdChcImZyb21FZGdlXCIpLHQuZW1pdChcInByb2dyZXNzXCIsaSl9LHVwZGF0ZVNsaWRlc0NsYXNzZXM6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse3NsaWRlczp0LHBhcmFtczpzLHNsaWRlc0VsOmEsYWN0aXZlSW5kZXg6aX09ZSxyPWUudmlydHVhbCYmcy52aXJ0dWFsLmVuYWJsZWQsbj1lLmdyaWQmJnMuZ3JpZCYmcy5ncmlkLnJvd3M+MSxsPWU9PmYoYSxgLiR7cy5zbGlkZUNsYXNzfSR7ZX0sIHN3aXBlci1zbGlkZSR7ZX1gKVswXTtsZXQgbyxkLGM7aWYocilpZihzLmxvb3Ape2xldCB0PWktZS52aXJ0dWFsLnNsaWRlc0JlZm9yZTt0PDAmJih0PWUudmlydHVhbC5zbGlkZXMubGVuZ3RoK3QpLHQ+PWUudmlydHVhbC5zbGlkZXMubGVuZ3RoJiYodC09ZS52aXJ0dWFsLnNsaWRlcy5sZW5ndGgpLG89bChgW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PVwiJHt0fVwiXWApfWVsc2Ugbz1sKGBbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIke2l9XCJdYCk7ZWxzZSBuPyhvPXQuZmluZCgoZT0+ZS5jb2x1bW49PT1pKSksYz10LmZpbmQoKGU9PmUuY29sdW1uPT09aSsxKSksZD10LmZpbmQoKGU9PmUuY29sdW1uPT09aS0xKSkpOm89dFtpXTtvJiYobnx8KGM9ZnVuY3Rpb24oZSx0KXtjb25zdCBzPVtdO2Zvcig7ZS5uZXh0RWxlbWVudFNpYmxpbmc7KXtjb25zdCBhPWUubmV4dEVsZW1lbnRTaWJsaW5nO3Q/YS5tYXRjaGVzKHQpJiZzLnB1c2goYSk6cy5wdXNoKGEpLGU9YX1yZXR1cm4gc30obyxgLiR7cy5zbGlkZUNsYXNzfSwgc3dpcGVyLXNsaWRlYClbMF0scy5sb29wJiYhYyYmKGM9dFswXSksZD1mdW5jdGlvbihlLHQpe2NvbnN0IHM9W107Zm9yKDtlLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7KXtjb25zdCBhPWUucHJldmlvdXNFbGVtZW50U2libGluZzt0P2EubWF0Y2hlcyh0KSYmcy5wdXNoKGEpOnMucHVzaChhKSxlPWF9cmV0dXJuIHN9KG8sYC4ke3Muc2xpZGVDbGFzc30sIHN3aXBlci1zbGlkZWApWzBdLHMubG9vcCYmMD09PSFkJiYoZD10W3QubGVuZ3RoLTFdKSkpLHQuZm9yRWFjaCgoZT0+e0QoZSxlPT09byxzLnNsaWRlQWN0aXZlQ2xhc3MpLEQoZSxlPT09YyxzLnNsaWRlTmV4dENsYXNzKSxEKGUsZT09PWQscy5zbGlkZVByZXZDbGFzcyl9KSksZS5lbWl0U2xpZGVzQ2xhc3NlcygpfSx1cGRhdGVBY3RpdmVJbmRleDpmdW5jdGlvbihlKXtjb25zdCB0PXRoaXMscz10LnJ0bFRyYW5zbGF0ZT90LnRyYW5zbGF0ZTotdC50cmFuc2xhdGUse3NuYXBHcmlkOmEscGFyYW1zOmksYWN0aXZlSW5kZXg6cixyZWFsSW5kZXg6bixzbmFwSW5kZXg6bH09dDtsZXQgbyxkPWU7Y29uc3QgYz1lPT57bGV0IHM9ZS10LnZpcnR1YWwuc2xpZGVzQmVmb3JlO3JldHVybiBzPDAmJihzPXQudmlydHVhbC5zbGlkZXMubGVuZ3RoK3MpLHM+PXQudmlydHVhbC5zbGlkZXMubGVuZ3RoJiYocy09dC52aXJ0dWFsLnNsaWRlcy5sZW5ndGgpLHN9O2lmKHZvaWQgMD09PWQmJihkPWZ1bmN0aW9uKGUpe2NvbnN0e3NsaWRlc0dyaWQ6dCxwYXJhbXM6c309ZSxhPWUucnRsVHJhbnNsYXRlP2UudHJhbnNsYXRlOi1lLnRyYW5zbGF0ZTtsZXQgaTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrPTEpdm9pZCAwIT09dFtlKzFdP2E+PXRbZV0mJmE8dFtlKzFdLSh0W2UrMV0tdFtlXSkvMj9pPWU6YT49dFtlXSYmYTx0W2UrMV0mJihpPWUrMSk6YT49dFtlXSYmKGk9ZSk7cmV0dXJuIHMubm9ybWFsaXplU2xpZGVJbmRleCYmKGk8MHx8dm9pZCAwPT09aSkmJihpPTApLGl9KHQpKSxhLmluZGV4T2Yocyk+PTApbz1hLmluZGV4T2Yocyk7ZWxzZXtjb25zdCBlPU1hdGgubWluKGkuc2xpZGVzUGVyR3JvdXBTa2lwLGQpO289ZStNYXRoLmZsb29yKChkLWUpL2kuc2xpZGVzUGVyR3JvdXApfWlmKG8+PWEubGVuZ3RoJiYobz1hLmxlbmd0aC0xKSxkPT09ciYmIXQucGFyYW1zLmxvb3ApcmV0dXJuIHZvaWQobyE9PWwmJih0LnNuYXBJbmRleD1vLHQuZW1pdChcInNuYXBJbmRleENoYW5nZVwiKSkpO2lmKGQ9PT1yJiZ0LnBhcmFtcy5sb29wJiZ0LnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZClyZXR1cm4gdm9pZCh0LnJlYWxJbmRleD1jKGQpKTtjb25zdCBwPXQuZ3JpZCYmaS5ncmlkJiZpLmdyaWQucm93cz4xO2xldCB1O2lmKHQudmlydHVhbCYmaS52aXJ0dWFsLmVuYWJsZWQmJmkubG9vcCl1PWMoZCk7ZWxzZSBpZihwKXtjb25zdCBlPXQuc2xpZGVzLmZpbmQoKGU9PmUuY29sdW1uPT09ZCkpO2xldCBzPXBhcnNlSW50KGUuZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIiksMTApO051bWJlci5pc05hTihzKSYmKHM9TWF0aC5tYXgodC5zbGlkZXMuaW5kZXhPZihlKSwwKSksdT1NYXRoLmZsb29yKHMvaS5ncmlkLnJvd3MpfWVsc2UgaWYodC5zbGlkZXNbZF0pe2NvbnN0IGU9dC5zbGlkZXNbZF0uZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIik7dT1lP3BhcnNlSW50KGUsMTApOmR9ZWxzZSB1PWQ7T2JqZWN0LmFzc2lnbih0LHtwcmV2aW91c1NuYXBJbmRleDpsLHNuYXBJbmRleDpvLHByZXZpb3VzUmVhbEluZGV4Om4scmVhbEluZGV4OnUscHJldmlvdXNJbmRleDpyLGFjdGl2ZUluZGV4OmR9KSx0LmluaXRpYWxpemVkJiZZKHQpLHQuZW1pdChcImFjdGl2ZUluZGV4Q2hhbmdlXCIpLHQuZW1pdChcInNuYXBJbmRleENoYW5nZVwiKSwodC5pbml0aWFsaXplZHx8dC5wYXJhbXMucnVuQ2FsbGJhY2tzT25Jbml0KSYmKG4hPT11JiZ0LmVtaXQoXCJyZWFsSW5kZXhDaGFuZ2VcIiksdC5lbWl0KFwic2xpZGVDaGFuZ2VcIikpfSx1cGRhdGVDbGlja2VkU2xpZGU6ZnVuY3Rpb24oZSx0KXtjb25zdCBzPXRoaXMsYT1zLnBhcmFtcztsZXQgaT1lLmNsb3Nlc3QoYC4ke2Euc2xpZGVDbGFzc30sIHN3aXBlci1zbGlkZWApOyFpJiZzLmlzRWxlbWVudCYmdCYmdC5sZW5ndGg+MSYmdC5pbmNsdWRlcyhlKSYmWy4uLnQuc2xpY2UodC5pbmRleE9mKGUpKzEsdC5sZW5ndGgpXS5mb3JFYWNoKChlPT57IWkmJmUubWF0Y2hlcyYmZS5tYXRjaGVzKGAuJHthLnNsaWRlQ2xhc3N9LCBzd2lwZXItc2xpZGVgKSYmKGk9ZSl9KSk7bGV0IHIsbj0hMTtpZihpKWZvcihsZXQgZT0wO2U8cy5zbGlkZXMubGVuZ3RoO2UrPTEpaWYocy5zbGlkZXNbZV09PT1pKXtuPSEwLHI9ZTticmVha31pZighaXx8IW4pcmV0dXJuIHMuY2xpY2tlZFNsaWRlPXZvaWQgMCx2b2lkKHMuY2xpY2tlZEluZGV4PXZvaWQgMCk7cy5jbGlja2VkU2xpZGU9aSxzLnZpcnR1YWwmJnMucGFyYW1zLnZpcnR1YWwuZW5hYmxlZD9zLmNsaWNrZWRJbmRleD1wYXJzZUludChpLmdldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4XCIpLDEwKTpzLmNsaWNrZWRJbmRleD1yLGEuc2xpZGVUb0NsaWNrZWRTbGlkZSYmdm9pZCAwIT09cy5jbGlja2VkSW5kZXgmJnMuY2xpY2tlZEluZGV4IT09cy5hY3RpdmVJbmRleCYmcy5zbGlkZVRvQ2xpY2tlZFNsaWRlKCl9fTt2YXIgSD17Z2V0VHJhbnNsYXRlOmZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXRoaXMuaXNIb3Jpem9udGFsKCk/XCJ4XCI6XCJ5XCIpO2NvbnN0e3BhcmFtczp0LHJ0bFRyYW5zbGF0ZTpzLHRyYW5zbGF0ZTphLHdyYXBwZXJFbDppfT10aGlzO2lmKHQudmlydHVhbFRyYW5zbGF0ZSlyZXR1cm4gcz8tYTphO2lmKHQuY3NzTW9kZSlyZXR1cm4gYTtsZXQgcj1kKGksZSk7cmV0dXJuIHIrPXRoaXMuY3NzT3ZlcmZsb3dBZGp1c3RtZW50KCkscyYmKHI9LXIpLHJ8fDB9LHNldFRyYW5zbGF0ZTpmdW5jdGlvbihlLHQpe2NvbnN0IHM9dGhpcyx7cnRsVHJhbnNsYXRlOmEscGFyYW1zOmksd3JhcHBlckVsOnIscHJvZ3Jlc3M6bn09cztsZXQgbCxvPTAsZD0wO3MuaXNIb3Jpem9udGFsKCk/bz1hPy1lOmU6ZD1lLGkucm91bmRMZW5ndGhzJiYobz1NYXRoLmZsb29yKG8pLGQ9TWF0aC5mbG9vcihkKSkscy5wcmV2aW91c1RyYW5zbGF0ZT1zLnRyYW5zbGF0ZSxzLnRyYW5zbGF0ZT1zLmlzSG9yaXpvbn
5043RhbCgpP286ZCxpLmNzc01vZGU/cltzLmlzSG9yaXpvbnRhbCgpP1wic2Nyb2xsTGVmdFwiOlwic2Nyb2xsVG9wXCJdPXMuaXNIb3Jpem9udGFsKCk/LW86LWQ6aS52aXJ0dWFsVHJhbnNsYXRlfHwocy5pc0hvcml6b250YWwoKT9vLT1zLmNzc092ZXJmbG93QWRqdXN0bWVudCgpOmQtPXMuY3NzT3ZlcmZsb3dBZGp1c3RtZW50KCksci5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKCR7b31weCwgJHtkfXB4LCAwcHgpYCk7Y29uc3QgYz1zLm1heFRyYW5zbGF0ZSgpLXMubWluVHJhbnNsYXRlKCk7bD0wPT09Yz8wOihlLXMubWluVHJhbnNsYXRlKCkpL2MsbCE9PW4mJnMudXBkYXRlUHJvZ3Jlc3MoZSkscy5lbWl0KFwic2V0VHJhbnNsYXRlXCIscy50cmFuc2xhdGUsdCl9LG1pblRyYW5zbGF0ZTpmdW5jdGlvbigpe3JldHVybi10aGlzLnNuYXBHcmlkWzBdfSxtYXhUcmFuc2xhdGU6ZnVuY3Rpb24oKXtyZXR1cm4tdGhpcy5zbmFwR3JpZFt0aGlzLnNuYXBHcmlkLmxlbmd0aC0xXX0sdHJhbnNsYXRlVG86ZnVuY3Rpb24oZSx0LHMsYSxpKXt2b2lkIDA9PT1lJiYoZT0wKSx2b2lkIDA9PT10JiYodD10aGlzLnBhcmFtcy5zcGVlZCksdm9pZCAwPT09cyYmKHM9ITApLHZvaWQgMD09PWEmJihhPSEwKTtjb25zdCByPXRoaXMse3BhcmFtczpuLHdyYXBwZXJFbDpsfT1yO2lmKHIuYW5pbWF0aW5nJiZuLnByZXZlbnRJbnRlcmFjdGlvbk9uVHJhbnNpdGlvbilyZXR1cm4hMTtjb25zdCBvPXIubWluVHJhbnNsYXRlKCksZD1yLm1heFRyYW5zbGF0ZSgpO2xldCBjO2lmKGM9YSYmZT5vP286YSYmZTxkP2Q6ZSxyLnVwZGF0ZVByb2dyZXNzKGMpLG4uY3NzTW9kZSl7Y29uc3QgZT1yLmlzSG9yaXpvbnRhbCgpO2lmKDA9PT10KWxbZT9cInNjcm9sbExlZnRcIjpcInNjcm9sbFRvcFwiXT0tYztlbHNle2lmKCFyLnN1cHBvcnQuc21vb3RoU2Nyb2xsKXJldHVybiBtKHtzd2lwZXI6cix0YXJnZXRQb3NpdGlvbjotYyxzaWRlOmU/XCJsZWZ0XCI6XCJ0b3BcIn0pLCEwO2wuc2Nyb2xsVG8oe1tlP1wibGVmdFwiOlwidG9wXCJdOi1jLGJlaGF2aW9yOlwic21vb3RoXCJ9KX1yZXR1cm4hMH1yZXR1cm4gMD09PXQ/KHIuc2
5043V0VHJhbnNpdGlvbigwKSxyLnNldFRyYW5zbGF0ZShjKSxzJiYoci5lbWl0KFwiYmVmb3JlVHJhbnNpdGlvblN0YXJ0XCIsdCxpKSxyLmVtaXQoXCJ0cmFuc2l0aW9uRW5kXCIpKSk6KHIuc2V0VHJhbnNpdGlvbih0KSxyLnNldFRyYW5zbGF0ZShjKSxzJiYoci5lbWl0KFwiYmVmb3JlVHJhbnNpdGlvblN0YXJ0XCIsdCxpKSxyLmVtaXQoXCJ0cmFuc2l0aW9uU3RhcnRcIikpLHIuYW5pbWF0aW5nfHwoci5hbmltYXRpbmc9ITAsci5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmR8fChyLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1mdW5jdGlvbihlKXtyJiYhci5kZXN0cm95ZWQmJmUudGFyZ2V0PT09dGhpcyYmKHIud3JhcHBlckVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsci5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmQpLHIub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kPW51bGwsZGVsZXRlIHIub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kLHIuYW5pbWF0aW5nPSExLHMmJnIuZW1pdChcInRyYW5zaXRpb25FbmRcIikpfSksci53cmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIixyLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCkpKSwhMH19O2Z1bmN0aW9uIE4oZSl7bGV0e3N3aXBlcjp0LHJ1bkNhbGxiYWNrczpzLGRpcmVjdGlvbjphLHN0ZXA6aX09ZTtjb25zdHthY3RpdmVJbmRleDpyLHByZXZpb3VzSW5kZXg6bn09dDtsZXQgbD1hO2x8fChsPXI+bj9cIm5leHRcIjpyPG4/XCJwcmV2XCI6XCJyZXNldFwiKSx0LmVtaXQoYHRyYW5zaXRpb24ke2l9YCkscyYmXCJyZXNldFwiPT09bD90LmVtaXQoYHNsaWRlUmVzZXRUcmFuc2l0aW9uJHtpfWApOnMmJnIhPT1uJiYodC5lbWl0KGBzbGlkZUNoYW5nZVRyYW5zaXRpb24ke2l9YCksXCJuZXh0XCI9PT1sP3QuZW1pdChgc2xpZGVOZXh0VHJhbnNpdGlvbiR7aX1gKTp0LmVtaXQoYHNsaWRlUHJldlRyYW5zaXRpb24ke2l9YCkpfXZhciBSPXtzbGlkZVRvOmZ1bmN0aW9uKGUsdCxzLGEsaSl7dm9pZCAwPT09ZSYmKGU9MCksdm9pZCAwPT09cyYmKHM9ITApLFwic3RyaW5nXCI9PXR5cGVvZiBlJiYoZT1wYXJzZUludChlLDEwKSk7Y29uc3Qgcj10aGlzO2xldCBuPWU7bjwwJiYobj0wKTtjb25zdHtwYXJhbXM6bCxzbmFwR3JpZDpvLHNsaWRlc0dyaWQ6ZCxwcmV2aW91c0luZGV4OmMsYWN0aXZlSW5kZXg6cCxydGxUcmFuc2xhdGU6dSx3cmFwcGVyRWw6aCxlbmFibGVkOmZ9PXI7aWYoIWYmJiFhJiYhaXx8ci5kZXN0cm95ZWR8fHIuYW5pbWF0aW5nJiZsLnByZXZlbnRJbnRlcmFjdGlvbk9uVHJhbnNpdGlvbilyZXR1cm4hMTt2b2lkIDA9PT10JiYodD1yLnBhcmFtcy5zcGVlZCk7Y29uc3QgZz1NYXRoLm1pbihyLnBhcmFtcy5zbGlkZXNQZXJHcm91cFNraXAsbik7bGV0IHY9ZytNYXRoLmZsb29yKChuLWcpL3IucGFyYW1zLnNsaWRlc1Blckdyb3VwKTt2Pj1vLmxlbmd0aCYmKHY9by5sZW5ndGgtMSk7Y29uc3Qgdz0tb1t2XTtpZihsLm5vcm1hbGl6ZVNsaWRlSW5kZXgpZm9yKGxldCBlPTA7ZTxkLmxlbmd0aDtlKz0xKXtjb25zdCB0PS1NYXRoLmZsb29yKDEwMCp3KSxzPU1hdGguZmxvb3IoMTAwKmRbZV0pLGE9TWF0aC5mbG9vcigxMDAqZFtlKzFdKTt2b2lkIDAhPT1kW2UrMV0/dD49cyYmdDxhLShhLXMpLzI/bj1lOnQ+PXMmJnQ8YSYmKG49ZSsxKTp0Pj1zJiYobj1lKX1pZihyLmluaXRpYWxpemVkJiZuIT09cCl7aWYoIXIuYWxsb3dTbGlkZU5leHQmJih1P3c+ci50cmFuc2xhdGUmJnc+ci5taW5UcmFuc2xhdGUoKTp3PHIudHJhbnNsYXRlJiZ3PHIubWluVHJhbnNsYXRlKCkpKXJldHVybiExO2lmKCFyLmFsbG93U2xpZGVQcmV2JiZ3PnIudHJhbnNsYXRlJiZ3PnIubWF4VHJhbnNsYXRlKCkmJihwfHwwKSE9PW4pcmV0dXJuITF9bGV0IGI7biE9PShjfHwwKSYmcyYmci5lbWl0KFwiYmVmb3JlU2xpZGVDaGFuZ2VTdGFydFwiKSxyLnVwZGF0ZVByb2dyZXNzKHcpLGI9bj5wP1wibmV4dFwiOm48cD9cInByZXZcIjpcInJlc2V0XCI7Y29uc3QgeT1yLnZpcnR1YWwmJnIucGFyYW1zLnZpcnR1YWwuZW5hYmxlZDtpZighKHkmJmkpJiYodSYmLXc9PT1yLnRyYW5zbGF0ZXx8IXUmJnc9PT1yLnRyYW5zbGF0ZSkpcmV0dXJuIHIudXBkYXRlQWN0aXZlSW5kZXgobiksbC5hdXRvSGVpZ2h0JiZyLnVwZGF0ZUF1dG9IZWlnaHQoKSxyLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxcInNsaWRlXCIhPT1sLmVmZmVjdCYmci5zZXRUcmFuc2xhdGUodyksXCJyZXNldFwiIT09YiYmKHIudHJhbnNpdGlvblN0YXJ0KHMsYiksci50cmFuc2l0aW9uRW5kKHMsYikpLCExO2lmKGwuY3NzTW9kZSl7Y29uc3QgZT1yLmlzSG9yaXpvbnRhbCgpLHM9dT93Oi13O2lmKDA9PT10KXkmJihyLndyYXBwZXJFbC5zdHlsZS5zY3JvbGxTbmFwVHlwZT1cIm5vbmVcIixyLl9pbW1lZGlhdGVWaXJ0dWFsPSEwKSx5JiYhci5fY3NzTW9kZVZpcnR1YWxJbml0aWFsU2V0JiZyLnBhcmFtcy5pbml0aWFsU2xpZGU+MD8oci5fY3NzTW9kZVZpcnR1YWxJbml0aWFsU2V0PSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntoW2U/XCJzY3JvbGxMZWZ0XCI6XCJzY3JvbGxUb3BcIl09c30pKSk6aFtlP1wic2Nyb2xsTGVmdFwiOlwic2Nyb2xsVG9wXCJdPXMseSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3Iud3JhcHBlckVsLnN0eWxlLnNjcm9sbFNuYXBUeXBlPVwiXCIsci5faW1tZWRpYXRlVmlydHVhbD0hMX0pKTtlbHNle2lmKCFyLnN1cHBvcnQuc21vb3RoU2Nyb2xsKXJldHVybiBtKHtzd2lwZXI6cix0YXJnZXRQb3NpdGlvbjpzLHNpZGU6ZT9cImxlZnRcIjpcInRvcFwifSksITA7aC5zY3JvbGxUbyh7W2U/XCJsZWZ0XCI6XCJ0b3BcIl06cyxiZWhhdmlvcjpcInNtb290aFwifSl9cmV0dXJuITB9Y29uc3QgRT0kKCkuaXNTYWZhcmk7cmV0dXJuIHkmJiFpJiZFJiZyLmlzRWxlbWVudCYmci52aXJ0dWFsLnVwZGF0ZSghMSwhMSxuKSxyLnNldFRyYW5zaXRpb24odCksci5zZXRUcmFuc2xhdGUodyksci51cGRhdGVBY3RpdmVJbmRleChuKSxyLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxyLmVtaXQoXCJiZWZvcmVUcmFuc2l0aW9uU3RhcnRcIix0LGEpLHIudHJhbnNpdGlvblN0YXJ0KHMsYiksMD09PXQ/ci50cmFuc2l0aW9uRW5kKHMsYik6ci5hbmltYXRpbmd8fChyLmFuaW1hdGluZz0hMCxyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kfHwoci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1mdW5jdGlvbihlKXtyJiYhci5kZXN0cm95ZWQmJmUudGFyZ2V0PT09dGhpcyYmKHIud3JhcHBlckVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCksci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1udWxsLGRlbGV0ZSByLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kLHIudHJhbnNpdGlvbkVuZChzLGIpKX0pLHIud3JhcHBlckVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCkpLCEwfSxzbGlkZVRvTG9vcDpmdW5jdGlvbihlLHQscyxhKXtpZih2b2lkIDA9PT1lJiYoZT0wKSx2b2lkIDA9PT1zJiYocz0hMCksXCJzdHJpbmdcIj09dHlwZW9mIGUpe2U9cGFyc2VJbnQoZSwxMCl9Y29uc3QgaT10aGlzO2lmKGkuZGVzdHJveWVkKXJldHVybjt2b2lkIDA9PT10JiYodD1pLnBhcmFtcy5zcGVlZCk7Y29uc3Qgcj1pLmdyaWQmJmkucGFyYW1zLmdyaWQmJmkucGFyYW1zLmdyaWQucm93cz4xO2xldCBuPWU7aWYoaS5wYXJhbXMubG9vcClpZihpLnZpcnR1YWwmJmkucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCluKz1pLnZpcnR1YWwuc2xpZGVzQmVmb3JlO2Vsc2V7bGV0IGU7aWYocil7Y29uc3QgdD1uKmkucGFyYW1zLmdyaWQucm93cztlPWkuc2xpZGVzLmZpbmQoKGU9PjEqZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleFwiKT09PXQpKS5jb2x1bW59ZWxzZSBlPWkuZ2V0U2xpZGVJbmRleEJ5RGF0YShuKTtjb25zdCB0PXI/TWF0aC5jZWlsKGkuc2xpZGVzLmxlbmd0aC9pLnBhcmFtcy5ncmlkLnJvd3MpOmkuc2xpZGVzLmxlbmd0aCx7Y2VudGVyZWRTbGlkZXM6c309aS5wYXJhbXM7bGV0IGw9aS5wYXJhbXMuc2xpZGVzUGVyVmlldztcImF1dG9cIj09PWw/bD1pLnNsaWRlc1BlclZpZXdEeW5hbWljKCk6KGw9TWF0aC5jZWlsKHBhcnNlRmxvYXQo
5043aS5wYXJhbXMuc2xpZGVzUGVyVmlldywxMCkpLHMmJmwlMj09MCYmKGwrPTEpKTtsZXQgbz10LWU8bDtpZihzJiYobz1vfHxlPE1hdGguY2VpbChsLzIpKSxhJiZzJiZcImF1dG9cIiE9PWkucGFyYW1zLnNsaWRlc1BlclZpZXcmJiFyJiYobz0hMSksbyl7Y29uc3QgYT1zP2U8aS5hY3RpdmVJbmRleD9cInByZXZcIjpcIm5leHRcIjplLWkuYWN0aXZlSW5kZXgtMTxpLnBhcmFtcy5zbGlkZXNQZXJWaWV3P1wibmV4dFwiOlwicHJldlwiO2kubG9vcEZpeCh7ZGlyZWN0aW9uOmEsc2xpZGVUbzohMCxhY3RpdmVTbGlkZUluZGV4OlwibmV4dFwiPT09YT9lKzE6ZS10KzEsc2xpZGVSZWFsSW5kZXg6XCJuZXh0XCI9PT1hP2kucmVhbEluZGV4OnZvaWQgMH0pfWlmKHIpe2NvbnN0IGU9bippLnBhcmFtcy5ncmlkLnJvd3M7bj1pLnNsaWRlcy5maW5kKCh0PT4xKnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIik9PT1lKSkuY29sdW1ufWVsc2Ugbj1pLmdldFNsaWRlSW5kZXhCeURhdGEobil9cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntpLnNsaWRlVG8obix0LHMsYSl9KSksaX0sc2xpZGVOZXh0OmZ1bmN0aW9uKGUsdCxzKXt2b2lkIDA9PT10JiYodD0hMCk7Y29uc3QgYT10aGlzLHtlbmFibGVkOmkscGFyYW1zOnIsYW5pbWF0aW5nOm59PWE7aWYoIWl8fGEuZGVzdHJveWVkKXJldHVybiBhO3ZvaWQgMD09PWUmJihlPWEucGFyYW1zLnNwZWVkKTtsZXQgbD1yLnNsaWRlc1Blckdyb3VwO1wiYXV0b1wiPT09ci5zbGlkZXNQZXJWaWV3JiYxPT09ci5zbGlkZXNQZXJHcm91cCYmci5zbGlkZXNQZXJHcm91cEF1dG8mJihsPU1hdGgubWF4KGEuc2xpZGVzUGVyVmlld0R5bmFtaWMoXCJjdXJyZW50XCIsITApLDEpKTtjb25zdCBvPWEuYWN0aXZlSW5kZXg8ci5zbGlkZXNQZXJHcm91cFNraXA/MTpsLGQ9YS52aXJ0dWFsJiZyLnZpcnR1YWwuZW5hYmxlZDtpZihyLmxvb3Ape2lmKG4mJiFkJiZyLmxvb3BQcmV2ZW50c1NsaWRpbmcpcmV0dXJuITE7aWYoYS5sb29wRml4KHtkaXJlY3Rpb246XCJuZXh0XCJ9KSxhLl9jbGllbnRMZWZ0PWEud3JhcHBlckVsLmNsaWVudExlZnQsYS5hY3RpdmVJbmRleD09PWEuc2xpZGVzLmxlbmd0aC0xJiZyLmNzc01vZGUpcmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PnthLnNsaWRlVG8oYS5hY3RpdmVJbmRleCtvLGUsdCxzKX0pKSwhMH1yZXR1cm4gci5yZXdpbmQmJmEuaXNFbmQ/YS5zbGlkZVRvKDAsZSx0LHMpOmEuc2xpZGVUbyhhLmFjdGl2ZUluZGV4K28sZSx0LHMpfSxzbGlkZVByZXY6ZnVuY3Rpb24oZSx0LHMpe3ZvaWQgMD09PXQmJih0PSEwKTtjb25zdCBhPXRoaXMse3BhcmFtczppLHNuYXBHcmlkOnIsc2xpZGVzR3JpZDpuLHJ0bFRyYW5zbGF0ZTpsLGVuYWJsZWQ6byxhbmltYXRpbmc6ZH09YTtpZighb3x8YS5kZXN0cm95ZWQpcmV0dXJuIGE7dm9pZCAwPT09ZSYmKGU9YS5wYXJhbXMuc3BlZWQpO2NvbnN0IGM9YS52aXJ0dWFsJiZpLnZpcnR1YWwuZW5hYmxlZDtpZihpLmxvb3Ape2lmKGQmJiFjJiZpLmxvb3BQcmV2ZW50c1NsaWRpbmcpcmV0dXJuITE7YS5sb29wRml4KHtkaXJlY3Rpb246XCJwcmV2XCJ9KSxhLl9jbGllbnRMZWZ0PWEud3JhcHBlckVsLmNsaWVudExlZnR9ZnVuY3Rpb24gcChlKXtyZXR1cm4gZTwwPy1NYXRoLmZsb29yKE1hdGguYWJzKGUpKTpNYXRoLmZsb29yKGUpfWNvbnN0IHU9cChsP2EudHJhbnNsYXRlOi1hLnRyYW5zbGF0ZSksbT1yLm1hcCgoZT0+cChlKSkpLGg9aS5mcmVlTW9kZSYmaS5mcmVlTW9kZS5lbmFibGVkO2xldCBmPXJbbS5pbmRleE9mKHUpLTFdO2lmKHZvaWQgMD09PWYmJihpLmNzc01vZGV8fGgpKXtsZXQgZTtyLmZvckVhY2goKCh0LHMpPT57dT49dCYmKGU9cyl9KSksdm9pZCAwIT09ZSYmKGY9aD9yW2VdOnJbZT4wP2UtMTplXSl9bGV0IGc9MDtpZih2b2lkIDAhPT1mJiYoZz1uLmluZGV4T2YoZiksZzwwJiYoZz1hLmFjdGl2ZUluZGV4LTEpLFwiYXV0b1wiPT09aS5zbGlkZXNQZXJWaWV3JiYxPT09aS5zbGlkZXNQZXJHcm91cCYmaS5zbGlkZXNQZXJHcm91cEF1dG8mJihnPWctYS5zbGlkZXNQZXJWaWV3RHluYW1pYyhcInByZXZpb3VzXCIsITApKzEsZz1NYXRoLm1heChnLDApKSksaS5yZXdpbmQmJmEuaXNCZWdpbm5pbmcpe2NvbnN0IGk9YS5wYXJhbXMudmlydHVhbCYmYS5wYXJhbXMudmlydHVhbC5lbmFibGVkJiZhLnZpcnR1YWw/YS52aXJ0dWFsLnNsaWRlcy5sZW5ndGgtMTphLnNsaWRlcy5sZW5ndGgtMTtyZXR1cm4gYS5zbGlkZVRvKGksZSx0LHMpfXJldHVybiBpLmxvb3AmJjA9PT1hLmFjdGl2ZUluZGV4JiZpLmNzc01vZGU/KHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PnthLnNsaWRlVG8oZyxlLHQscyl9KSksITApOmEuc2xpZGVUbyhnLGUsdCxzKX0sc2xpZGVSZXNldDpmdW5jdGlvbihlLHQscyl7dm9pZCAwPT09dCYmKHQ9ITApO2NvbnN0IGE9dGhpcztpZighYS5kZXN0cm95ZWQpcmV0dXJuIHZvaWQgMD09PWUmJihlPWEucGFyYW1zLnNwZWVkKSxhLnNsaWRlVG8oYS5hY3RpdmVJbmRleCxlLHQscyl9LHNsaWRlVG9DbG9zZXN0OmZ1bmN0aW9uKGUsdCxzLGEpe3ZvaWQgMD09PXQmJih0PSEwKSx2b2lkIDA9PT1hJiYoYT0uNSk7Y29uc3QgaT10aGlzO2lmKGkuZGVzdHJveWVkKXJldHVybjt2b2lkIDA9PT1lJiYoZT1pLnBhcmFtcy5zcGVlZCk7bGV0IHI9aS5hY3RpdmVJbmRleDtjb25zdCBuPU1hdGgubWluKGkucGFyYW1zLnNsaWRlc1Blckdyb3VwU2tpcCxyKSxsPW4rTWF0aC5mbG9vcigoci1uKS9pLnBhcmFtcy5zbGlkZXNQZXJHcm91cCksbz1pLnJ0bFRyYW5zbGF0ZT9pLnRyYW5zbGF0ZTotaS50cmFuc2xhdGU7aWYobz49aS5zbmFwR3JpZFtsXSl7Y29uc3QgZT1pLnNuYXBHcmlkW2xdO28tZT4oaS5zbmFwR3JpZFtsKzFdLWUpKmEmJihyKz1pLnBhcmFtcy5zbGlkZXNQZXJHcm91cCl9ZWxzZXtjb25zdCBlPWkuc25hcEdyaWRbbC0xXTtvLWU8PShpLnNuYXBHcmlkW2xdLWUpKmEmJihyLT1pLnBhcmFtcy5zbGlkZXNQZXJHcm91cCl9cmV0dXJuIHI9TWF0aC5tYXgociwwKSxyPU1hdGgubWluKHIsaS5zbGlkZXNHcmlkLmxlbmd0aC0xKSxpLnNsaWRlVG8ocixlLHQscyl9LHNsaWRlVG9DbGlja2VkU2xpZGU6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXM7aWYoZS5kZXN0cm95ZWQpcmV0dXJuO2NvbnN0e3BhcmFtczp0LHNsaWRlc0VsOnN9PWUsYT1cImF1dG9cIj09PXQuc2xpZGVzUGVyVmlldz9lLnNsaWRlc1BlclZpZXdEeW5hbWljKCk6dC5zbGlkZXNQZXJWaWV3O2xldCBpLHI9ZS5nZXRTbGlkZUluZGV4V2hlbkdyaWQoZS5jbGlja2VkSW5kZXgpO2NvbnN0IG49ZS5pc0VsZW1lbnQ/XCJzd2lwZXItc2xpZGVcIjpgLiR7dC5zbGlkZUNsYXNzfWAsbz1lLmdyaWQmJmUucGFyYW1zLmdyaWQmJmUucGFyYW1zLmdyaWQucm93cz4xO2lmKHQubG9vcCl7aWYoZS5hbmltYXRpbmcpcmV0dXJuO2k9cGFyc2VJbnQoZS5jbGlja2VkU2xpZGUuZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIiksMTApLHQuY2VudGVyZWRTbGlkZXM/ZS5zbGlkZVRvTG9vcChpKTpyPihvPyhlLnNsaWRlcy5sZW5ndGgtYSkvMi0oZS5wYXJhbXMuZ3JpZC5yb3dzLTEpOmUuc2xpZGVzLmxlbmd0aC1hKT8oZS5sb29wRml4KCkscj1lLmdldFNsaWRlSW5kZXgoZihzLGAke259W2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PVwiJHtpfVwiXWApWzBdKSxsKCgoKT0+e2Uuc2xpZGVUbyhyKX0pKSk6ZS5zbGlkZVRvKHIpfWVsc2UgZS5zbGlkZVRvKHIpfX07dmFyIF89e2xvb3BDcmVhdGU6ZnVuY3Rpb24oZSx0KXtjb25zdCBzPXRoaXMse3BhcmFtczphLHNsaWRlc0VsOml9PXM7aWYoIWEubG9vcHx8cy52aXJ0dWFsJiZzLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQpcmV0dXJuO2NvbnN0IHI9KCk9PntmKGksYC4ke2Euc2xpZGVDbGFzc30sIHN3aXBlci1zbGlkZWApLmZvckVhY2goKChlLHQpPT57ZS5zZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleFwiLHQpfSkpfSxuPXMuZ3JpZCYmYS5ncmlkJiZhLmdyaWQucm93cz4xO2EubG9vcEFkZEJsYW5rU2xpZGVzJiYoYS5zbGlkZXNQZXJHcm91cD4xfHxuKSYmKCgpPT57Y29uc3QgZT1mKGksYC4ke2Euc2xpZGVCbGFua0NsYXNzfWApO2UuZm9yRWFjaCgoZT0+e2UucmVtb3ZlKCl9KSksZS5sZW5ndGg+MCYmKHMucmVjYWxjU2xpZGVzKCkscy51cGRhdGVTbGlkZXMoKSl9KSgpO2NvbnN0IGw9YS5zbGlkZXNQZXJHcm91cCoobj9hLmdyaWQucm93czoxKSxvPXMuc2xpZGVzLmxlbmd0aCVsIT0wLGQ9biYmcy5zbGlkZXMubGVuZ3RoJWEuZ3JpZC5yb3dzIT0wLGM9ZT0+e2ZvcihsZXQgdD0wO3Q8ZTt0Kz0xKXtjb25zdCBlPXMuaXNFbGVtZW50P3YoXCJzd2lwZXItc2xpZGVcIixbYS5zbGlkZUJsYW5rQ2xhc3NdKTp2KFwiZGl2XCIsW2Euc2xpZGVDbGFzcyxhLnNsaWRlQmxhbmtDbGFzc10pO3Muc2xpZGVzRWwuYXBwZW5kKGUpfX07aWYobyl7aWYoYS5sb29wQWRkQmxhbmtTbGlkZXMpe2MobC1zLnNsaWRlcy5sZW5ndGglbCkscy5yZWNhbGNTbGlkZXMoKSxzLnVwZGF0ZVNsaWRlcygpfWVsc2UgZyhcIlN3aXBlciBMb29wIFdhcm5pbmc6IFRoZSBudW1iZXIgb2Ygc2xpZGVzIGlzIG5vdCBldmVuIHRvIHNsaWRlc1Blckdyb3VwLCBsb29wIG1vZGUgbWF5IG5vdCBmdW5jdGlvbiBwcm9wZXJseS4gWW91IG5lZWQgdG8gYWRkIG1vcmUgc2xpZGVzIChvciBtYWtlIGR1cGxpY2F0ZXMsIG9yIGVt
5043cHR5IHNsaWRlcylcIik7cigpfWVsc2UgaWYoZCl7aWYoYS5sb29wQWRkQmxhbmtTbGlkZXMpe2MoYS5ncmlkLnJvd3Mtcy5zbGlkZXMubGVuZ3RoJWEuZ3JpZC5yb3dzKSxzLnJlY2FsY1NsaWRlcygpLHMudXBkYXRlU2xpZGVzKCl9ZWxzZSBnKFwiU3dpcGVyIExvb3AgV2FybmluZzogVGhlIG51bWJlciBvZiBzbGlkZXMgaXMgbm90IGV2ZW4gdG8gZ3JpZC5yb3dzLCBsb29wIG1vZGUgbWF5IG5vdCBmdW5jdGlvbiBwcm9wZXJseS4gWW91IG5lZWQgdG8gYWRkIG1vcmUgc2xpZGVzIChvciBtYWtlIGR1cGxpY2F0ZXMsIG9yIGVtcHR5IHNsaWRlcylcIik7cigpfWVsc2UgcigpO3MubG9vcEZpeCh7c2xpZGVSZWFsSW5kZXg6ZSxkaXJlY3Rpb246YS5jZW50ZXJlZFNsaWRlcz92b2lkIDA6XCJuZXh0XCIsaW5pdGlhbDp0fSl9LGxvb3BGaXg6ZnVuY3Rpb24oZSl7bGV0e3NsaWRlUmVhbEluZGV4OnQsc2xpZGVUbzpzPSEwLGRpcmVjdGlvbjphLHNldFRyYW5zbGF0ZTppLGFjdGl2ZVNsaWRlSW5kZXg6cixpbml0aWFsOm4sYnlDb250cm9sbGVyOmwsYnlNb3VzZXdoZWVsOm99PXZvaWQgMD09PWU/e306ZTtjb25zdCBkPXRoaXM7aWYoIWQucGFyYW1zLmxvb3ApcmV0dXJuO2QuZW1pdChcImJlZm9yZUxvb3BGaXhcIik7Y29uc3R7c2xpZGVzOmMsYWxsb3dTbGlkZVByZXY6cCxhbGxvd1NsaWRlTmV4dDp1LHNsaWRlc0VsOm0scGFyYW1zOmh9PWQse2NlbnRlcmVkU2xpZGVzOmYsaW5pdGlhbFNsaWRlOnZ9PWg7aWYoZC5hbGxvd1NsaWRlUHJldj0hMCxkLmFsbG93U2xpZGVOZXh0PSEwLGQudmlydHVhbCYmaC52aXJ0dWFsLmVuYWJsZWQpcmV0dXJuIHMmJihoLmNlbnRlcmVkU2xpZGVzfHwwIT09ZC5zbmFwSW5kZXg/aC5jZW50ZXJlZFNsaWRlcyYmZC5zbmFwSW5kZXg8aC5zbGlkZXNQZXJWaWV3P2Quc2xpZGVUbyhkLnZpcnR1YWwuc2xpZGVzLmxlbmd0aCtkLnNuYXBJbmRleCwwLCExLCEwKTpkLnNuYXBJbmRleD09PWQuc25hcEdyaWQubGVuZ3RoLTEmJmQuc2xpZGVUbyhkLnZpcnR1YWwuc2xpZGVzQmVmb3JlLDAsITEsITApOmQuc2xpZGVUbyhkLnZpcnR1YWwuc2xpZGVzLmxlbmd0aCwwLCExLCEwKSksZC5hbGxvd1NsaWRlUHJldj1wLGQuYWxsb3dTbGlkZU5leHQ9dSx2b2lkIGQuZW1pdChcImxvb3BGaXhcIik7bGV0IHc9aC5zbGlkZXNQZXJWaWV3O1wiYXV0b1wiPT09dz93PWQuc2xpZGVzUGVyVmlld0R5bmFtaWMoKToodz1NYXRoLmNlaWwocGFyc2VGbG9hdChoLnNsaWRlc1BlclZpZXcsMTApKSxmJiZ3JTI9PTAmJih3Kz0xKSk7Y29uc3QgYj1oLnNsaWRlc1Blckdyb3VwQXV0bz93Omguc2xpZGVzUGVyR3JvdXA7bGV0IHk9Zj9NYXRoLm1heChiLE1hdGguY2VpbCh3LzIpKTpiO3klYiE9MCYmKHkrPWIteSViKSx5Kz1oLmxvb3BBZGRpdGlvbmFsU2xpZGVzLGQubG9vcGVkU2xpZGVzPXk7Y29uc3QgRT1kLmdyaWQmJmguZ3JpZCYmaC5ncmlkLnJvd3M+MTtjLmxlbmd0aDx3K3l8fFwiY2FyZHNcIj09PWQucGFyYW1zLmVmZmVjdCYmYy5sZW5ndGg8dysyKnk/ZyhcIlN3aXBlciBMb29wIFdhcm5pbmc6IFRoZSBudW1iZXIgb2Ygc2xpZGVzIGlzIG5vdCBlbm91Z2ggZm9yIGxvb3AgbW9kZSwgaXQgd2lsbCBiZSBkaXNhYmxlZCBvciBub3QgZnVuY3Rpb24gcHJvcGVybHkuIFlvdSBuZWVkIHRvIGFkZCBtb3JlIHNsaWRlcyAob3IgbWFrZSBkdXBsaWNhdGVzKSBvciBsb3dlciB0aGUgdmFsdWVzIG9mIHNsaWRlc1BlclZpZXcgYW5kIHNsaWRlc1Blckdyb3VwIHBhcmFtZXRlcnNcIik6RSYmXCJyb3dcIj09PWguZ3JpZC5maWxsJiZnKFwiU3dpcGVyIExvb3AgV2FybmluZzogTG9vcCBtb2RlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggZ3JpZC5maWxsID0gYHJvd2BcIik7Y29uc3QgeD1bXSxTPVtdLFQ9RT9NYXRoLmNlaWwoYy5sZW5ndGgvaC5ncmlkLnJvd3MpOmMubGVuZ3RoLE09biYmVC12PHcmJiFmO2xldCBDPU0/djpkLmFjdGl2ZUluZGV4O3ZvaWQgMD09PXI/cj1kLmdldFNsaWRlSW5kZXgoYy5maW5kKChlPT5lLmNsYXNzTGlzdC5jb250YWlucyhoLnNsaWRlQWN0aXZlQ2xhc3MpKSkpOkM9cjtjb25zdCBQPVwibmV4dFwiPT09YXx8IWEsTD1cInByZXZcIj09PWF8fCFhO2xldCBJPTAsej0wO2NvbnN0IEE9KEU/Y1tyXS5jb2x1bW46cikrKGYmJnZvaWQgMD09PWk/LXcvMisuNTowKTtpZihBPHkpe0k9TWF0aC5tYXgoeS1BLGIpO2ZvcihsZXQgZT0wO2U8eS1BO2UrPTEpe2NvbnN0IHQ9ZS1NYXRoLmZsb29yKGUvVCkqVDtpZihFKXtjb25zdCBlPVQtdC0xO2ZvcihsZXQgdD1jLmxlbmd0aC0xO3Q+PTA7dC09MSljW3RdLmNvbHVtbj09PWUmJngucHVzaCh0KX1lbHNlIHgucHVzaChULXQtMSl9fWVsc2UgaWYoQSt3PlQteSl7ej1NYXRoLm1heChBLShULTIqeSksYiksTSYmKHo9TWF0aC5tYXgoeix3LVQrdisxKSk7Zm9yKGxldCBlPTA7ZTx6O2UrPTEpe2NvbnN0IHQ9ZS1NYXRoLmZsb29yKGUvVCkqVDtFP2MuZm9yRWFjaCgoKGUscyk9PntlLmNvbHVtbj09PXQmJlMucHVzaChzKX0pKTpTLnB1c2godCl9fWlmKGQuX19wcmV2ZW50T2JzZXJ2ZXJfXz0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57ZC5fX3ByZXZlbnRPYnNlcnZlcl9fPSExfSkpLFwiY2FyZHNcIj09PWQucGFyYW1zLmVmZmVjdCYmYy5sZW5ndGg8dysyKnkmJihTLmluY2x1ZGVzKHIpJiZTLnNwbGljZShTLmluZGV4T2YociksMSkseC5pbmNsdWRlcyhyKSYmeC5zcGxpY2UoeC5pbmRleE9mKHIpLDEpKSxMJiZ4LmZvckVhY2goKGU9PntjW2VdLnN3aXBlckxvb3BNb3ZlRE9NPSEwLG0ucHJlcGVuZChjW2VdKSxjW2VdLnN3aXBlckxvb3BNb3ZlRE9NPSExfSkpLFAmJlMuZm9yRWFjaCgoZT0+e2NbZV0uc3dpcGVyTG9vcE1vdmVET009ITAsbS5hcHBlbmQoY1tlXSksY1tlXS5zd2lwZXJMb29wTW92ZURPTT0hMX0pKSxkLnJlY2FsY1NsaWRlcygpLFwiYXV0b1wiPT09aC5zbGlkZXNQZXJWaWV3P2QudXBkYXRlU2xpZGVzKCk6RSYmKHgubGVuZ3RoPjAmJkx8fFMubGVuZ3RoPjAmJlApJiZkLnNsaWRlcy5mb3JFYWNoKCgoZSx0KT0+e2QuZ3JpZC51cGRhdGVTbGlkZSh0LGUsZC5zbGlkZXMpfSkpLGgud2F0Y2hTbGlkZXNQcm9ncmVzcyYmZC51cGRhdGVTbGlkZXNPZmZzZXQoKSxzKWlmKHgubGVuZ3RoPjAmJkwpe2lmKHZvaWQgMD09PXQpe2NvbnN0IGU9ZC5zbGlkZXNHcmlkW0NdLHQ9ZC5zbGlkZXNHcmlkW0MrSV0tZTtvP2Quc2V0VHJhbnNsYXRlKGQudHJhbnNsYXRlLXQpOihkLnNsaWRlVG8oQytNYXRoLmNlaWwoSSksMCwhMSwhMCksaSYmKGQudG91Y2hFdmVudHNEYXRhLnN0YXJ0VHJhbnNsYXRlPWQudG91Y2hFdmVudHNEYXRhLnN0YXJ0VHJhbnNsYXRlLXQsZC50b3VjaEV2ZW50c0RhdGEuY3VycmVudFRyYW5zbGF0ZT1kLnRvdWNoRXZlbnRzRGF0YS5jdXJyZW50VHJhbnNsYXRlLXQpKX1lbHNlIGlmKGkpe2NvbnN0IGU9RT94Lmxlbmd0aC9oLmdyaWQucm93czp4Lmxlbmd0aDtkLnNsaWRlVG8oZC5hY3RpdmVJbmRleCtlLDAsITEsITApLGQudG91Y2hFdmVudHNEYXRhLmN1cnJlbnRUcmFuc2xhdGU9ZC50cmFuc2xhdGV9fWVsc2UgaWYoUy5sZW5ndGg+MCYmUClpZih2b2lkIDA9PT10KXtjb25zdCBlPWQuc2xpZGVzR3JpZFtDXSx0PWQuc2xpZGVzR3JpZFtDLXpdLWU7bz9kLnNldFRyYW5zbGF0ZShkLnRyYW5zbGF0ZS10KTooZC5zbGlkZVRvKEMteiwwLCExLCEwKSxpJiYoZC50b3VjaEV2ZW50c0RhdGEuc3RhcnRUcmFuc2xhdGU9ZC50b3VjaEV2ZW50c0RhdGEuc3RhcnRUcmFuc2xhdGUtdCxkLnRvdWNoRXZlbnRzRGF0YS5jdXJyZW50VHJhbnNsYXRlPWQudG91Y2hFdmVudHNEYXRhLmN1cnJlbnRUcmFuc2xhdGUtdCkpfWVsc2V7Y29uc3QgZT1FP1MubGVuZ3RoL2guZ3JpZC5yb3dzOlMubGVuZ3RoO2Quc2xpZGVUbyhkLmFjdGl2ZUluZGV4LWUsMCwhMSwhMCl9aWYoZC5hbGxvd1NsaWRlUHJldj1wLGQuYWxsb3dTbGlkZU5leHQ9dSxkLmNvbnRyb2xsZXImJmQuY29udHJvbGxlci5jb250cm9sJiYhbCl7Y29uc3QgZT17c2xpZGVSZWFsSW5kZXg6dCxkaXJlY3Rpb246YSxzZXRUcmFuc2xhdGU6aSxhY3RpdmVTbGlkZUluZGV4OnIsYnlDb250cm9sbGVyOiEwfTtBcnJheS5pc0FycmF
50435KGQuY29udHJvbGxlci5jb250cm9sKT9kLmNvbnRyb2xsZXIuY29udHJvbC5mb3JFYWNoKCh0PT57IXQuZGVzdHJveWVkJiZ0LnBhcmFtcy5sb29wJiZ0Lmxvb3BGaXgoey4uLmUsc2xpZGVUbzp0LnBhcmFtcy5zbGlkZXNQZXJWaWV3PT09aC5zbGlkZXNQZXJWaWV3JiZzfSl9KSk6ZC5jb250cm9sbGVyLmNvbnRyb2wgaW5zdGFuY2VvZiBkLmNvbnN0cnVjdG9yJiZkLmNvbnRyb2xsZXIuY29udHJvbC5wYXJhbXMubG9vcCYmZC5jb250cm9sbGVyLmNvbnRyb2wubG9vcEZpeCh7Li4uZSxzbGlkZVRvOmQuY29udHJvbGxlci5jb250cm9sLnBhcmFtcy5zbGlkZXNQZXJWaWV3PT09aC5zbGlkZXNQZXJWaWV3JiZzfSl9ZC5lbWl0KFwibG9vcEZpeFwiKX0sbG9vcERlc3Ryb3k6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse3BhcmFtczp0LHNsaWRlc0VsOnN9PWU7aWYoIXQubG9vcHx8IXN8fGUudmlydHVhbCYmZS5wYXJhbXMudmlydHVhbC5lbmFibGVkKXJldHVybjtlLnJlY2FsY1NsaWRlcygpO2NvbnN0IGE9W107ZS5zbGlkZXMuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dm9pZCAwPT09ZS5zd2lwZXJTbGlkZUluZGV4PzEqZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleFwiKTplLnN3aXBlclNsaWRlSW5kZXg7YVt0XT1lfSkpLGUuc2xpZGVzLmZvckVhY2goKGU9PntlLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4XCIpfSkpLGEuZm9yRWFjaCgoZT0+e3MuYXBwZW5kKGUpfSkpLGUucmVjYWxjU2xpZGVzKCksZS5zbGlkZVRvKGUucmVhbEluZGV4LDApfX07ZnVuY3Rpb24gcShlLHQscyl7Y29uc3QgYT1yKCkse3BhcmFtczppfT1lLG49aS5lZGdlU3dpcGVEZXRlY3Rpb24sbD1pLmVkZ2VTd2lwZVRocmVzaG9sZDtyZXR1cm4hbnx8IShzPD1sfHxzPj1hLmlubmVyV2lkdGgtbCl8fFwicHJldmVudFwiPT09biYmKHQucHJldmVudERlZmF1bHQoKSwhMCl9ZnVuY3Rpb24gVihlKXtjb25zdCB0PXRoaXMscz1hKCk7bGV0IGk9ZTtpLm9yaWdpbmFsRXZlbnQmJihpPWkub3JpZ2luYWxFdmVudCk7Y29uc3Qgbj10LnRvdWNoRXZlbnRzRGF0YTtpZihcInBvaW50ZXJkb3duXCI9PT1pLnR5cGUpe2lmKG51bGwhPT1uLnBvaW50ZXJJZCYmbi5wb2ludGVySWQhPT1pLnBvaW50ZXJJZClyZXR1cm47bi5wb2ludGVySWQ9aS5wb2ludGVySWR9ZWxzZVwidG91Y2hzdGFydFwiPT09aS50eXBlJiYxPT09aS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKG4udG91Y2hJZD1pLnRhcmdldFRvdWNoZXNbMF0uaWRlbnRpZmllcik7aWYoXCJ0b3VjaHN0YXJ0XCI9PT1pLnR5cGUpcmV0dXJuIHZvaWQgcSh0LGksaS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYKTtjb25zdHtwYXJhbXM6bCx0b3VjaGVzOmQsZW5hYmxlZDpjfT10O2lmKCFjKXJldHVybjtpZighbC5zaW11bGF0ZVRvdWNoJiZcIm1vdXNlXCI9PT1pLnBvaW50ZXJUeXBlKXJldHVybjtpZih0LmFuaW1hdGluZyYmbC5wcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb24pcmV0dXJuOyF0LmFuaW1hdGluZyYmbC5jc3NNb2RlJiZsLmxvb3AmJnQubG9vcEZpeCgpO2xldCBwPWkudGFyZ2V0O2lmKFwid3JhcHBlclwiPT09bC50b3VjaEV2ZW50c1RhcmdldCYmIWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1yKCk7bGV0IGE9dC5jb250YWlucyhlKTshYSYmcy5IVE1MU2xvdEVsZW1lbnQmJnQgaW5zdGFuY2VvZiBIVE1MU2xvdEVsZW1lbnQmJihhPVsuLi50LmFzc2lnbmVkRWxlbWVudHMoKV0uaW5jbHVkZXMoZSksYXx8KGE9ZnVuY3Rpb24oZSx0KXtjb25zdCBzPVt0XTtmb3IoO3MubGVuZ3RoPjA7KXtjb25zdCB0PXMuc2hpZnQoKTtpZihlPT09dClyZXR1cm4hMDtzLnB1c2goLi4udC5jaGlsZHJlbiwuLi50LnNoYWRvd1Jvb3Q/dC5zaGFkb3dSb290LmNoaWxkcmVuOltdLC4uLnQuYXNzaWduZWRFbGVtZW50cz90LmFzc2lnbmVkRWxlbWVudHMoKTpbXSl9fShlLHQpKSk7cmV0dXJuIGF9KHAsdC53cmFwcGVyRWwpKXJldHVybjtpZihcIndoaWNoXCJpbiBpJiYzPT09aS53aGljaClyZXR1cm47aWYoXCJidXR0b25cImluIGkmJmkuYnV0dG9uPjApcmV0dXJuO2lmKG4uaXNUb3VjaGVkJiZuLmlzTW92ZWQpcmV0dXJuO2NvbnN0IHU9ISFsLm5vU3dpcGluZ0NsYXNzJiZcIlwiIT09bC5ub1N3aXBpbmdDbGFzcyxtPWkuY29tcG9zZWRQYXRoP2kuY29tcG9zZWRQYXRoKCk6aS5wYXRoO3UmJmkudGFyZ2V0JiZpLnRhcmdldC5zaGFkb3dSb290JiZtJiYocD1tWzBdKTtjb25zdCBoPWwubm9Td2lwaW5nU2VsZWN0b3I/bC5ub1N3aXBpbmdTZWxlY3RvcjpgLiR7bC5ub1N3aXBpbmdDbGFzc31gLGY9ISghaS50YXJnZXR8fCFpLnRhcmdldC5zaGFkb3dSb290KTtpZihsLm5vU3dpcGluZyYmKGY/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9dGhpcyksZnVuY3Rpb24gdChzKXtpZighc3x8cz09PWEoKXx8cz09PXIoKSlyZXR1cm4gbnVsbDtzLmFzc2lnbmVkU2xvdCYmKHM9cy5hc3NpZ25lZFNsb3QpO2NvbnN0IGk9cy5jbG9zZXN0KGUpO3JldHVybiBpfHxzLmdldFJvb3ROb2RlP2l8fHQocy5nZXRSb290Tm9kZSgpLmhvc3QpOm51bGx9KHQpfShoLHApOnAuY2xvc2VzdChoKSkpcmV0dXJuIHZvaWQodC5hbGxvd0NsaWNrPSEwKTtpZihsLnN3aXBlSGFuZGxlciYmIXAuY2xvc2VzdChsLnN3aXBlSGFuZGxlcikpcmV0dXJuO2QuY3VycmVudFg9aS5wYWdlWCxkLmN1cnJlbnRZPWkucGFnZVk7Y29uc3QgZz1kLmN1cnJlbnRYLHY9ZC5jdXJyZW50WTtpZighcSh0LGksZykpcmV0dXJuO09iamVjdC5hc3NpZ24obix7aXNUb3VjaGVkOiEwLGlzTW92ZWQ6ITEsYWxsb3dUb3VjaENhbGxiYWNrczohMCxpc1Njcm9sbGluZzp2b2lkIDAsc3RhcnRNb3Zpbmc6dm9pZCAwfSksZC5zdGFydFg9ZyxkLnN0YXJ0WT12LG4udG91Y2hTdGFydFRpbWU9bygpLHQuYWxsb3dDbGljaz0hMCx0LnVwZGF0ZVNpemUoKSx0LnN3aXBlRGlyZWN0aW9uPXZvaWQgMCxsLnRocmVzaG9sZD4wJiYobi5hbGxvd1RocmVzaG9sZE1vdmU9ITEpO2xldCB3PSEwO3AubWF0Y2hlcyhuLmZvY3VzYWJsZUVsZW1lbnRzKSYmKHc9ITEsXCJTRUxFQ1RcIj09PXAubm9kZU5hbWUmJihuLmlzVG91Y2hlZD0hMSkpLHMuYWN0aXZlRWxlbWVudCYmcy5hY3RpdmVFbGVtZW50Lm1hdGNoZXMobi5mb2N1c2FibGVFbGVtZW50cykmJnMuYWN0aXZlRWxlbWVudCE9PXAmJihcIm1vdXNlXCI9PT1pLnBvaW50ZXJUeXBlfHxcIm1vdXNlXCIhPT1pLnBvaW50ZXJUeXBlJiYhcC5tYXRjaGVzKG4uZm9jdXNhYmxlRWxlbWVudHMpKSYmcy5hY3RpdmVFbGVtZW50LmJsdXIoKTtjb25zdCBiPXcmJnQuYWxsb3dUb3VjaE1vdmUmJmwudG91Y2hTdGFydFByZXZlbn
5043REZWZhdWx0OyFsLnRvdWNoU3RhcnRGb3JjZVByZXZlbnREZWZhdWx0JiYhYnx8cC5pc0NvbnRlbnRFZGl0YWJsZXx8aS5wcmV2ZW50RGVmYXVsdCgpLGwuZnJlZU1vZGUmJmwuZnJlZU1vZGUuZW5hYmxlZCYmdC5mcmVlTW9kZSYmdC5hbmltYXRpbmcmJiFsLmNzc01vZGUmJnQuZnJlZU1vZGUub25Ub3VjaFN0YXJ0KCksdC5lbWl0KFwidG91Y2hTdGFydFwiLGkpfWZ1bmN0aW9uIEYoZSl7Y29uc3QgdD1hKCkscz10aGlzLGk9cy50b3VjaEV2ZW50c0RhdGEse3BhcmFtczpyLHRvdWNoZXM6bixydGxUcmFuc2xhdGU6bCxlbmFibGVkOmR9PXM7aWYoIWQpcmV0dXJuO2lmKCFyLnNpbXVsYXRlVG91Y2gmJlwibW91c2VcIj09PWUucG9pbnRlclR5cGUpcmV0dXJuO2xldCBjLHA9ZTtpZihwLm9yaWdpbmFsRXZlbnQmJihwPXAub3JpZ2luYWxFdmVudCksXCJwb2ludGVybW92ZVwiPT09cC50eXBlKXtpZihudWxsIT09aS50b3VjaElkKXJldHVybjtpZihwLnBvaW50ZXJJZCE9PWkucG9pbnRlcklkKXJldHVybn1pZihcInRvdWNobW92ZVwiPT09cC50eXBlKXtpZihjPVsuLi5wLmNoYW5nZWRUb3VjaGVzXS5maW5kKChlPT5lLmlkZW50aWZpZXI9PT1pLnRvdWNoSWQpKSwhY3x8Yy5pZGVudGlmaWVyIT09aS50b3VjaElkKXJldHVybn1lbHNlIGM9cDtpZighaS5pc1RvdWNoZWQpcmV0dXJuIHZvaWQoaS5zdGFydE1vdmluZyYmaS5pc1Njcm9sbGluZyYmcy5lbWl0KFwidG91Y2hNb3ZlT3Bwb3NpdGVcIixwKSk7Y29uc3QgdT1jLnBhZ2VYLG09Yy5wYWdlWTtpZihwLnByZXZlbnRlZEJ5TmVzdGVkU3dpcGVyKXJldHVybiBuLnN0YXJ0WD11LHZvaWQobi5zdGFydFk9bSk7aWYoIXMuYWxsb3dUb3VjaE1vdmUpcmV0dXJuIHAudGFyZ2V0Lm1hdGNoZXMoaS5mb2N1c2FibGVFbGVtZW50cyl8fChzLmFsbG93Q2xpY2s9ITEpLHZvaWQoaS5pc1RvdWNoZWQmJihPYmplY3QuYXNzaWduKG4se3N0YXJ0WDp1LHN0YXJ0WTptLGN1cnJlbnRYOnUsY3VycmVudFk6bX0pLGkudG91Y2hTdGFydFRpbWU9bygpKSk7aWYoci50b3VjaFJlbGVhc2VPbkVkZ2VzJiYhci5sb29wKWlmKHMuaXNWZXJ0aWNhbCgpKXtpZihtPG4uc3RhcnRZJiZzLnRyYW5zbGF0ZTw9cy5tYXhUcmFuc2xhdGUoKXx8bT5uLnN0YXJ0WSYmcy50cmFuc2xhdGU+PXMubWluVHJhbnNsYXRlKCkpcmV0dXJuIGkuaXNUb3VjaGVkPSExLHZvaWQoaS5pc01vdmVkPSExKX1lbHNle2lmKGwmJih1Pm4uc3RhcnRYJiYtcy50cmFuc2xhdGU8PXMubWF4VHJhbnNsYXRlKCl8fHU8bi5zdGFydFgmJi1zLnRyYW5zbGF0ZT49cy5taW5UcmFuc2xhdGUoKSkpcmV0dXJuO2lmKCFsJiYodTxuLnN0YXJ0WCYmcy50cmFuc2xhdGU8PXMubWF4VHJhbnNsYXRlKCl8fHU+bi5zdGFydFgmJnMudHJhbnNsYXRlPj1zLm1pblRyYW5zbGF0ZSgpKSlyZXR1cm59aWYodC5hY3RpdmVFbGVtZW50JiZ0LmFjdGl2ZUVsZW1lbnQubWF0Y2hlcyhpLmZvY3VzYWJsZUVsZW1lbnRzKSYmdC5hY3RpdmVFbGVtZW50IT09cC50YXJnZXQmJlwibW91c2VcIiE9PXAucG9pbnRlclR5cGUmJnQuYWN0aXZlRWxlbWVudC5ibHVyKCksdC5hY3RpdmVFbGVtZW50JiZwLnRhcmdldD09PXQuYWN0aXZlRWxlbWVudCYmcC50YXJnZXQubWF0Y2hlcyhpLmZvY3VzYWJsZUVsZW1lbnRzKSlyZXR1cm4gaS5pc01vdmVkPSEwLHZvaWQocy5hbGxvd0NsaWNrPSExKTtpLmFsbG93VG91Y2hDYWxsYmFja3MmJnMuZW1pdChcInRvdWNoTW92ZVwiLHApLG4ucHJldmlvdXNYPW4uY3VycmVudFgsbi5wcmV2aW91c1k9bi5jdXJyZW50WSxuLmN1cnJlbnRYPXUsbi5jdXJyZW50WT1tO2NvbnN0IGg9bi5jdXJyZW50WC1uLnN0YXJ0WCxmPW4uY3VycmVudFktbi5zdGFydFk7aWYocy5wYXJhbXMudGhyZXNob2xkJiZNYXRoLnNxcnQoaCoqMitmKioyKTxzLnBhcmFtcy50aHJlc2hvbGQpcmV0dXJuO2lmKHZvaWQgMD09PWkuaXNTY3JvbGxpbmcpe2xldCBlO3MuaXNIb3Jpem9udGFsKCkmJm4uY3VycmVudFk9PT1uLnN0YXJ0WXx8cy5pc1ZlcnRpY2FsKCkmJm4uY3VycmVudFg9PT1uLnN0YXJ0WD9pLmlzU2Nyb2xsaW5nPSExOmgqaCtmKmY+PTI1JiYoZT0xODAqTWF0aC5hdGFuMihNYXRoLmFicyhmKSxNYXRoLmFicyhoKSkvTWF0aC5QSSxpLmlzU2Nyb2xsaW5nPXMuaXNIb3Jpem9udGFsKCk/ZT5yLnRvdWNoQW5nbGU6OTAtZT5yLnRvdWNoQW5nbGUpfWlmKGkuaXNTY3JvbGxpbmcmJnMuZW1pdChcInRvdWNoTW92ZU9wcG9zaXRlXCIscCksdm9pZCAwPT09aS5zdGFydE1vdmluZyYmKG4uY3VycmVudFg9PT1uLnN0YXJ0WCYmbi5jdXJyZW50WT09PW4uc3RhcnRZfHwoaS5zdGFydE1vdmluZz0hMCkpLGkuaXNTY3JvbGxpbmd8fFwidG91Y2htb3ZlXCI9PT1wLnR5cGUmJmkucHJldmVudFRvdWNoTW92ZUZyb21Qb2ludGVyTW92ZSlyZXR1cm4gdm9pZChpLmlzVG91Y2hlZD0hMSk7aWYoIWkuc3RhcnRNb3ZpbmcpcmV0dXJuO3MuYWxsb3dDbGljaz0hMSwhci5jc3NNb2RlJiZwLmNhbmNlbGFibG
5043UmJnAucHJldmVudERlZmF1bHQoKSxyLnRvdWNoTW92ZVN0b3BQcm9wYWdhdGlvbiYmIXIubmVzdGVkJiZwLnN0b3BQcm9wYWdhdGlvbigpO2xldCBnPXMuaXNIb3Jpem9udGFsKCk/aDpmLHY9cy5pc0hvcml6b250YWwoKT9uLmN1cnJlbnRYLW4ucHJldmlvdXNYOm4uY3VycmVudFktbi5wcmV2aW91c1k7ci5vbmVXYXlNb3ZlbWVudCYmKGc9TWF0aC5hYnMoZykqKGw/MTotMSksdj1NYXRoLmFicyh2KSoobD8xOi0xKSksbi5kaWZmPWcsZyo9ci50b3VjaFJhdGlvLGwmJihnPS1nLHY9LXYpO2NvbnN0IHc9cy50b3VjaGVzRGlyZWN0aW9uO3Muc3dpcGVEaXJlY3Rpb249Zz4wP1wicHJldlwiOlwibmV4dFwiLHMudG91Y2hlc0RpcmVjdGlvbj12PjA/XCJwcmV2XCI6XCJuZXh0XCI7Y29uc3QgYj1zLnBhcmFtcy5sb29wJiYhci5jc3NNb2RlLHk9XCJuZXh0XCI9PT1zLnRvdWNoZXNEaXJlY3Rpb24mJnMuYWxsb3dTbGlkZU5leHR8fFwicHJldlwiPT09cy50b3VjaGVzRGlyZWN0aW9uJiZzLmFsbG93U2xpZGVQcmV2O2lmKCFpLmlzTW92ZWQpe2lmKGImJnkmJnMubG9vcEZpeCh7ZGlyZWN0aW9uOnMuc3dpcGVEaXJlY3Rpb259KSxpLnN0YXJ0VHJhbnNsYXRlPXMuZ2V0VHJhbnNsYXRlKCkscy5zZXRUcmFuc2l0aW9uKDApLHMuYW5pbWF0aW5nKXtjb25zdCBlPW5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoXCJ0cmFuc2l0aW9uZW5kXCIse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxkZXRhaWw6e2J5U3dpcGVyVG91Y2hNb3ZlOiEwfX0pO3Mud3JhcHBlckVsLmRpc3BhdGNoRXZlbnQoZSl9aS5hbGxvd01vbWVudHVtQm91bmNlPSExLCFyLmdyYWJDdXJzb3J8fCEwIT09cy5hbGxvd1NsaWRlTmV4dCYmITAhPT1zLmFsbG93U2xpZGVQcmV2fHxzLnNldEdyYWJDdXJzb3IoITApLHMuZW1pdChcInNsaWRlckZpcnN0TW92ZVwiLHApfWlmKChuZXcgRGF0ZSkuZ2V0VGltZSgpLCExIT09ci5fbG9vcFN3YXBSZXNldCYmaS5pc01vdmVkJiZpLmFsbG93VGhyZXNob2xkTW92ZSYmdyE9PXMudG91Y2hlc0RpcmVjdGlvbiYmYiYmeSYmTWF0aC5hYnMoZyk+PTEpcmV0dXJuIE9iamVjdC5hc3NpZ24obix7c3RhcnRYOnUsc3RhcnRZOm0sY3VycmVudFg6dSxjdXJyZW50WTptLHN0YXJ0VHJhbnNsYXRlOmkuY3VycmVudFRyYW5zbGF0ZX0pLGkubG9vcFN3YXBSZXNldD0hMCx2b2lkKGkuc3RhcnRUcmFuc2xhdGU9aS5jdXJyZW50VHJhbnNsYXRlKTtzLmVtaXQoXCJzbGlkZXJNb3ZlXCIscCksaS5pc01vdmVkPSEwLGkuY3VycmVudFRyYW5zbGF0ZT1nK2kuc3RhcnRUcmFuc2xhdGU7bGV0IEU9ITAseD1yLnJlc2lzdGFuY2VSYXRpbztpZihyLnRvdWNoUmVsZWFzZU9uRWRnZXMmJih4PTApLGc+MD8oYiYmeSYmaS5hbGxvd1RocmVzaG9sZE1vdmUmJmkuY3VycmVudFRyYW5zbGF0ZT4oci5jZW50ZXJlZFNsaWRlcz9zLm1pblRyYW5zbGF0ZSgpLXMuc2xpZGVzU2l6ZXNHcmlkW3MuYWN0aXZlSW5kZXgrMV0tKFwiYXV0b1wiIT09ci5zbGlkZXNQZXJWaWV3JiZzLnNsaWRlcy5sZW5ndGgtci5zbGlkZXNQZXJWaWV3Pj0yP3Muc2xpZGVzU2l6ZXNHcmlkW3MuYWN0aXZlSW5kZXgrMV0rcy5wYXJhbXMuc3BhY2VCZXR3ZWVuOjApLXMucGFyYW1zLnNwYWNlQmV0d2VlbjpzLm1pblRyYW5zbGF0ZSgpKSYmcy5sb29wRml4KHtkaXJlY3Rpb246XCJwcmV2XCIsc2V0VHJhbnNsYXRlOiEwLGFjdGl2ZVNsaWRlSW5kZXg6MH0pLGkuY3VycmVudFRyYW5zbGF0ZT5zLm1pblRyYW5zbGF0ZSgpJiYoRT0hMSxyLnJlc2lzdGFuY2UmJihpLmN1cnJlbnRUcmFuc2xhdGU9cy5taW5UcmFuc2xhdGUoKS0xKygtcy5taW5UcmFuc2xhdGUoKStpLnN0YXJ0VHJhbnNsYXRlK2cpKip4KSkpOmc8MCYmKGImJnkmJmkuYWxsb3dUaHJlc2hvbGRNb3ZlJiZpLmN1cnJlbnRUcmFuc2xhdGU8KHIuY2VudGVyZWRTbGlkZXM/cy5tYXhUcmFuc2xhdGUoKStzLnNsaWRlc1NpemVzR3JpZFtzLnNsaWRlc1NpemVzR3JpZC5sZW5ndGgtMV0rcy5wYXJhbXMuc3BhY2VCZXR3ZWVuKyhcImF1dG9cIiE9PXIuc2xpZGVzUGVyVmlldyYmcy5zbGlkZXMubGVuZ3RoLXIuc2xpZGVzUGVyVmlldz49Mj9zLnNsaWRlc1NpemVzR3JpZFtzLnNsaWRlc1NpemVzR3JpZC5sZW5ndGgtMV0rcy5wYXJhbXMuc3BhY2VCZXR3ZWVuOjApOnMubWF4VHJhbnNsYXRlKCkpJiZzLmxvb3BGaXgoe2RpcmVjdGlvbjpcIm5leHRcIixzZXRUcmFuc2xhdGU6ITAsYWN0aXZlU2xpZGVJbmRleDpzLnNsaWRlcy5sZW5ndGgtKFwiYXV0b1wiPT09ci5zbGlkZXNQZXJWaWV3P3Muc2xpZGVzUGVyVmlld0R5bmFtaWMoKTpNYXRoLmNlaWwocGFyc2VGbG9hdChyLnNsaWRlc1BlclZpZXcsMTApKSl9KSxpLmN1cnJlbnRUcmFuc2xhdGU8cy5tYXhUcmFuc2xhdGUoKSYmKEU9ITEsci5yZXNpc3RhbmNlJiYoaS5jdXJyZW50VHJhbnNsYXRlPXMubWF4VHJhbnNsYXRlKCkrMS0ocy5tYXhUcmFuc2xhdGUoKS1pLnN0YXJ0VHJhbnNsYXRlLWcpKip4KSkpLEUmJihwLnByZXZlbnRlZEJ5TmVzdGVkU3dpcGVyPSEwKSwhcy5hbGxvd1NsaWRlTmV4dCYmXCJuZXh0XCI9PT1zLnN3aXBlRGlyZWN0aW9uJiZpLmN1cnJlbnRUcmFuc2xhdGU8aS5zdGFydFRyYW5zbGF0ZSYmKGkuY3VycmVudFRyYW5zbGF0ZT1pLnN0YXJ0VHJhbnNsYXRlKSwhcy5hbGxvd1NsaWRlUHJldiYmXCJwcmV2XCI9PT1zLnN3aXBlRGlyZWN0aW9uJiZpLmN1cnJlbnRUcmFuc2xhdGU+aS5zdGFydFRyYW5zbGF0ZSYmKGkuY3VycmVudFRyYW5zbGF0ZT1pLnN0YXJ0VHJhbnNsYXRlKSxzLmFsbG93U2xpZGVQcmV2fHxzLmFsbG93U2xpZGVOZXh0fHwoaS5jdXJyZW50VHJhbnNsYXRlPWkuc3RhcnRUcmFuc2xhdGUpLHIudGhyZXNob2xkPjApe2lmKCEoTWF0aC5hYnMoZyk+ci50aHJlc2hvbGR8fGkuYWxsb3dUaHJlc2hvbGRNb3ZlKSlyZXR1cm4gdm9pZChpLmN1cnJlbnRUcmFuc2xhdGU9aS5zdGFydFRyYW5zbGF0ZSk7aWYoIWkuYWxsb3dUaHJlc2hvbGRNb3ZlKXJldHVybiBpLmFsbG93VGhyZXNob2xkTW92ZT0hMCxuLnN0YXJ0WD1uLmN1cnJlbnRYLG4uc3RhcnRZPW4uY3VycmVudFksaS5jdXJyZW50VHJhbnNsYXRlPWkuc3RhcnRUcmFuc2xhdGUsdm9pZChuLmRpZmY9cy5pc0hvcml6b250YWwoKT9uLmN1cnJlbnRYLW4uc3RhcnRYOm4uY3VycmVudFktbi5zdGFydFkpfXIuZm9sbG93RmluZ2VyJiYhci5jc3NNb2RlJiYoKHIuZnJlZU1vZGUmJnIuZnJlZU1vZGUuZW5hYmxlZCYmcy5mcmVlTW9kZXx8ci53YXRjaFNsaWRlc1Byb2dyZXNzKSYmKHMudXBkYXRlQWN0aXZlSW5kZXgoKSxzLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSksci5mcmVlTW9kZSYmci5mcmVlTW9kZS5lbmFibGVkJiZzLmZyZWVNb2RlJiZzLmZyZWVNb2RlLm9uVG91Y2hNb3ZlKCkscy51cGRhdGVQcm9ncmVzcyhpLmN1cnJlbnRUcmFuc2xhdGUpLHMuc2
5043V0VHJhbnNsYXRlKGkuY3VycmVudFRyYW5zbGF0ZSkpfWZ1bmN0aW9uIFcoZSl7Y29uc3QgdD10aGlzLHM9dC50b3VjaEV2ZW50c0RhdGE7bGV0IGEsaT1lO2kub3JpZ2luYWxFdmVudCYmKGk9aS5vcmlnaW5hbEV2ZW50KTtpZihcInRvdWNoZW5kXCI9PT1pLnR5cGV8fFwidG91Y2hjYW5jZWxcIj09PWkudHlwZSl7aWYoYT1bLi4uaS5jaGFuZ2VkVG91Y2hlc10uZmluZCgoZT0+ZS5pZGVudGlmaWVyPT09cy50b3VjaElkKSksIWF8fGEuaWRlbnRpZmllciE9PXMudG91Y2hJZClyZXR1cm59ZWxzZXtpZihudWxsIT09cy50b3VjaElkKXJldHVybjtpZihpLnBvaW50ZXJJZCE9PXMucG9pbnRlcklkKXJldHVybjthPWl9aWYoW1wicG9pbnRlcmNhbmNlbFwiLFwicG9pbnRlcm91dFwiLFwicG9pbnRlcmxlYXZlXCIsXCJjb250ZXh0bWVudVwiXS5pbmNsdWRlcyhpLnR5cGUpKXtpZighKFtcInBvaW50ZXJjYW5jZWxcIixcImNvbnRleHRtZW51XCJdLmluY2x1ZGVzKGkudHlwZSkmJih0LmJyb3dzZXIuaXNTYWZhcml8fHQuYnJvd3Nlci5pc1dlYlZpZXcpKSlyZXR1cm59cy5wb2ludGVySWQ9bnVsbCxzLnRvdWNoSWQ9bnVsbDtjb25zdHtwYXJhbXM6cix0b3VjaGVzOm4scnRsVHJhbnNsYXRlOmQsc2xpZGVzR3JpZDpjLGVuYWJsZWQ6cH09dDtpZighcClyZXR1cm47aWYoIXIuc2ltdWxhdGVUb3VjaCYmXCJtb3VzZVwiPT09aS5wb2ludGVyVHlwZSlyZXR1cm47aWYocy5hbGxvd1RvdWNoQ2FsbGJhY2tzJiZ0LmVtaXQoXCJ0b3VjaEVuZFwiLGkpLHMuYWxsb3dUb3VjaENhbGxiYWNrcz0hMSwhcy5pc1RvdWNoZWQpcmV0dXJuIHMuaXNNb3ZlZCYmci5ncmFiQ3Vyc29yJiZ0LnNldEdyYWJDdXJzb3IoITEpLHMuaXNNb3ZlZD0hMSx2b2lkKHMuc3RhcnRNb3Zpbmc9ITEpO3IuZ3JhYkN1cnNvciYmcy5pc01vdmVkJiZzLmlzVG91Y2hlZCYmKCEwPT09dC5hbGxvd1NsaWRlTmV4dHx8ITA9PT10LmFsbG93U2xpZGVQcmV2KSYmdC5zZXRHcmFiQ3Vyc29yKCExKTtjb25zdCB1PW8oKSxtPXUtcy50b3VjaFN0YXJ0VGltZTtpZih0LmFsbG93Q2xpY2spe2NvbnN0IGU9aS5wYXRofHxpLmNvbXBvc2VkUGF0aCYmaS5jb21wb3NlZFBhdGgoKTt0LnVwZGF0ZUNsaWNrZWRTbGlkZShlJiZlWzBdfHxpLnRhcmdldCxlKSx0LmVtaXQoXCJ0YXAgY2xpY2tcIixpKSxtPDMwMCYmdS1zLmxhc3RDbGlja1RpbWU8MzAwJiZ0LmVtaXQoXCJkb3VibGVUYXAgZG91YmxlQ2xpY2tcIixpKX1pZihzLmxhc3RDbGlja1RpbWU9bygpLGwoKCgpPT57dC5kZXN0cm95ZWR8fCh0LmFsbG93Q2xpY2s9ITApfSkpLCFzLmlzVG91Y2hlZHx8IXMuaXNNb3ZlZHx8IXQuc3dpcGVEaXJlY3Rpb258fDA9PT1uLmRpZmYmJiFzLmxvb3BTd2FwUmVzZXR8fHMuY3VycmVudFRyYW5zbGF0ZT09PXMuc3RhcnRUcmFuc2xhdGUmJiFzLmxvb3BTd2FwUmVzZXQpcmV0dXJuIHMuaXNUb3VjaGVkPSExLHMuaXNNb3ZlZD0hMSx2b2lkKHMuc3RhcnRNb3Zpbmc9ITEpO2xldCBoO2lmKHMuaXNUb3VjaGVkPSExLHMuaXNNb3ZlZD0hMSxzLnN0YXJ0TW92aW5nPSExLGg9ci5mb2xsb3dGaW5nZXI/ZD90LnRyYW5zbGF0ZTotdC50cmFuc2xhdGU6LXMuY3VycmVudFRyYW5zbGF0ZSxyLmNzc01vZGUpcmV0dXJuO2lmKHIuZnJlZU1vZGUmJnIuZnJlZU1vZGUuZW5hYmxlZClyZXR1cm4gdm9pZCB0LmZyZWVNb2RlLm9uVG91Y2hFbmQoe2N1cnJlbnRQb3M6aH0pO2NvbnN0IGY9aD49LXQubWF4VHJhbnNsYXRlKCkmJiF0LnBhcmFtcy5sb29wO2xldCBnPTAsdj10LnNsaWRlc1NpemVzR3JpZFswXTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrPWU8ci5zbGlkZXNQZXJHcm91cFNraXA/MTpyLnNsaWRlc1Blckdyb3VwKXtjb25zdCB0PWU8ci5zbGlkZXNQZXJHcm91cFNraXAtMT8xOnIuc2xpZGVzUGVyR3JvdXA7dm9pZCAwIT09Y1tlK3RdPyhmfHxoPj1jW2VdJiZoPGNbZSt0XSkmJihnPWUsdj1jW2UrdF0tY1tlXSk6KGZ8fGg+PWNbZV0pJiYoZz1lLHY9Y1tjLmxlbmd0aC0xXS1jW2MubGVuZ3RoLTJdKX1sZXQgdz1udWxsLGI9bnVsbDtyLnJld2luZCYmKHQuaXNCZWdpbm5pbmc/Yj1yLnZpcnR1YWwmJnIudmlydHVhbC5lbmFibGVkJiZ0LnZpcnR1YWw/dC52aXJ0dWFsLnNsaWRlcy5sZW5ndGgtMTp0LnNsaWRlcy5sZW5ndGgtMTp0LmlzRW5kJiYodz0wKSk7Y29uc3QgeT0oaC1jW2ddKS92LEU9ZzxyLnNsaWRlc1Blckdyb3VwU2tpcC0xPzE6ci5zbGlkZXNQZXJHcm91cDtpZihtPnIubG9uZ1N3aXBlc01zKXtpZighci5sb25nU3dpcGVzKXJldHVybiB2b2lkIHQuc2xpZGVUbyh0LmFjdGl2ZUluZGV4KTtcIm5leHRcIj09PXQuc3dpcGVEaXJlY3Rpb24mJih5Pj1yLmxvbmdTd2lwZXNSYXRpbz90LnNsaWRlVG8oci5yZXdpbmQmJnQuaXNFbmQ/dzpnK0UpOnQuc2xpZGVUbyhnKSksXCJwcmV2XCI9PT10LnN3aXBlRGlyZWN0aW9uJiYoeT4xLXIubG9uZ1N3aXBlc1JhdGlvP3Quc2xpZGVUbyhnK0UpOm51bGwhPT1iJiZ5PDAmJk1hdGguYWJzKHkpPnIubG9uZ1N3aXBlc1JhdGlvP3Quc2xpZGVUbyhiKTp0LnNsaWRlVG8oZykpfWVsc2V7aWYoIXIuc2hvcnRTd2lwZXMpcmV0dXJuIHZvaWQgdC5zbGlkZVRvKHQuYWN0aXZlSW5kZXgpO3QubmF2aWdhdGlvbiYmKGkudGFyZ2V0PT09dC5uYXZpZ2F0aW9uLm5leHRFbHx8aS50YXJnZXQ9PT10Lm5hdmlnYXRpb24ucHJldkVsKT9pLnRhcmdldD09PXQubmF2aWdhdGlvbi5uZXh0RWw/dC5zbGlkZVRvKGcrRSk6dC5zbGlkZVRvKGcpOihcIm5leHRcIj09PXQuc3dpcGVEaXJlY3Rpb24mJnQuc2xpZGVUbyhudWxsIT09dz93OmcrRSksXCJwcmV2XCI9PT10LnN3aXBlRGlyZWN0aW9uJiZ0LnNsaWRlVG8obnVsbCE9PWI/YjpnKSl9fWZ1bmN0aW9uIGooKXtjb25zdCBlPXRoaXMse3BhcmFtczp0LGVsOnN9PWU7aWYocyYmMD09PXMub2Zmc2V0V2lkdGgpcmV0dXJuO3QuYnJlYWtwb2ludHMmJmUuc2V0QnJlYWtwb2ludCgpO2NvbnN0e2FsbG93U2xpZGVOZXh0OmEsYWxsb3dTbGlkZVByZXY6aSxzbmFwR3JpZDpyfT1lLG49ZS52aXJ0dWFsJiZlLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ7ZS5hbGxvd1NsaWRlTmV4dD0hMCxlLmFsbG93U2xpZGVQcmV2PSEwLGUudXBkYXRlU2l6ZSgpLGUudXBkYXRlU2xpZGVzKCksZS51cGRhdGVTbGlkZXNDbGFzc2VzKCk7Y29uc3QgbD1uJiZ0Lmxvb3A7IShcImF1dG9cIj09PXQuc2xpZGVzUGVyVmlld3x8dC5zbGlkZXNQZXJWaWV3PjEpfHwhZS5pc0VuZHx8ZS5pc0JlZ2lubmluZ3x8ZS5wYXJhbXMuY2VudGVyZWRTbGlkZXN8fGw/ZS5wYXJhbXMubG9vcCYmIW4/ZS5zbGlkZVRvTG9vcChlLnJlYWxJbmRleCwwLCExLCEwKTplLnNsaWRlVG8oZS5hY3RpdmVJbmRleCwwLCExLCEwKTplLnNsaWRlVG8oZS5zbGlkZXMubGVuZ3RoLTEsMCwhMSwhMCksZS5hdXRvcGxheSYmZS5hdXRvcGxheS5ydW5uaW5nJ
5043iZlLmF1dG9wbGF5LnBhdXNlZCYmKGNsZWFyVGltZW91dChlLmF1dG9wbGF5LnJlc2l6ZVRpbWVvdXQpLGUuYXV0b3BsYXkucmVzaXplVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e2UuYXV0b3BsYXkmJmUuYXV0b3BsYXkucnVubmluZyYmZS5hdXRvcGxheS5wYXVzZWQmJmUuYXV0b3BsYXkucmVzdW1lKCl9KSw1MDApKSxlLmFsbG93U2xpZGVQcmV2PWksZS5hbGxvd1NsaWRlTmV4dD1hLGUucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnIhPT1lLnNuYXBHcmlkJiZlLmNoZWNrT3ZlcmZsb3coKX1mdW5jdGlvbiBVKGUpe2NvbnN0IHQ9dGhpczt0LmVuYWJsZWQmJih0LmFsbG93Q2xpY2t8fCh0LnBhcmFtcy5wcmV2ZW50Q2xpY2tzJiZlLnByZXZlbnREZWZhdWx0KCksdC5wYXJhbXMucHJldmVudENsaWNrc1Byb3BhZ2F0aW9uJiZ0LmFuaW1hdGluZyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSkpKX1mdW5jdGlvbiBLKCl7Y29uc3QgZT10aGlzLHt3cmFwcGVyRWw6dCxydGxUcmFuc2xhdGU6cyxlbmFibGVkOmF9PWU7aWYoIWEpcmV0dXJuO2xldCBpO2UucHJldmlvdXNUcmFuc2xhdGU9ZS50cmFuc2xhdGUsZS5pc0hvcml6b250YWwoKT9lLnRyYW5zbGF0ZT0tdC5zY3JvbGxMZWZ0OmUudHJhbnNsYXRlPS10LnNjcm9sbFRvcCwwPT09ZS50cmFuc2xhdGUmJihlLnRyYW5zbGF0ZT0wKSxlLnVwZGF0ZUFjdGl2ZUluZGV4KCksZS51cGRhdGVTbGlkZXNDbGFzc2VzKCk7Y29uc3Qgcj1lLm1heFRyYW5zbGF0ZSgpLWUubWluVHJhbnNsYXRlKCk7aT0wPT09cj8wOihlLnRyYW5zbGF0ZS1lLm1pblRyYW5zbGF0ZSgpKS9yLGkhPT1lLnByb2dyZXNzJiZlLnVwZGF0ZVByb2dyZXNzKHM/LWUudHJhbnNsYXRlOmUudHJhbnNsYXRlKSxlLmVtaXQoXCJzZXRUcmFuc2xhdGVcIixlLnRyYW5zbGF0ZSwhMSl9ZnVuY3Rpb24gWihlKXtjb25zdCB0PXRoaXM7Ryh0LGUudGFyZ2V0KSx0LnBhcmFtcy5jc3NNb2RlfHxcImF1dG9cIiE9PXQucGFyYW1zLnNsaWRlc1BlclZpZXcmJiF0LnBhcmFtcy5hdXRvSGVpZ2h0fHx0LnVwZGF0ZSgpfWZ1bmN0aW9uIFEoKXtjb25zdCBlPXRoaXM7ZS5kb2N1bWVudFRvdWNoSGFuZGxlclByb2NlZWRlZHx8KGUuZG9jdW1lbnRUb3VjaEhhbmRsZXJQcm9jZWVkZWQ9ITAsZS5wYXJhbXMudG91Y2hSZWxlYXNlT25FZGdlcyYmKGUuZWwuc3R5bGUudG91Y2hBY3Rpb249XCJhdXRvXCIpKX1jb25zdCBKPShlLHQpPT57Y29uc3Qgcz1hKCkse3BhcmFtczppLGVsOnIsd3JhcHBlckVsOm4sZGV2aWNlOmx9PWUsbz0hIWkubmVzdGVkLGQ9XCJvblwiPT09dD9cImFkZEV2ZW50TGlzdGVuZXJcIjpcInJlbW92ZUV2ZW50TGlzdGVuZXJcIixjPXQ7ciYmXCJzdHJpbmdcIiE9dHlwZW9mIHImJihzW2RdKFwidG91Y2hzdGFydFwiLGUub25Eb2N1bWVudFRvdWNoU3RhcnQse3Bhc3NpdmU6ITEsY2FwdHVyZTpvfSkscltkXShcInRvdWNoc3RhcnRcIixlLm9uVG91Y2hTdGFydCx7cGFzc2l2ZTohMX0pLHJbZF0oXCJwb2ludGVyZG93blwiLGUub25Ub3VjaFN0YXJ0LHtwYXNzaXZlOiExfSksc1tkXShcInRvdWNobW92ZVwiLGUub25Ub3VjaE1vdmUse3Bhc3NpdmU6ITEsY2FwdHVyZTpvfSksc1tkXShcInBvaW50ZXJtb3ZlXCIsZS5vblRvdWNoTW92ZSx7cGFzc2l2ZTohMSxjYXB0dXJlOm99KSxzW2RdKFwidG91Y2hlbmRcIixlLm9uVG91Y2hFbmQse3Bhc3NpdmU6ITB9KSxzW2RdKFwicG9pbnRlcnVwXCIsZS5vblRvdWNoRW5kLHtwYXNzaXZlOiEwfSksc1tkXShcInBvaW50ZXJjYW5jZWxcIixlLm9uVG91Y2hFbmQse3Bhc3NpdmU6ITB9KSxzW2RdKFwidG91Y2hjYW5jZWxcIixlLm9uVG91Y2hFbmQse3Bhc3NpdmU6ITB9KSxzW2RdKFwicG9pbnRlcm91dFwiLGUub25Ub3VjaEVuZCx7cGFzc2l2ZTohMH0pLHNbZF0oXCJwb2ludGVybGVhdmVcIixlLm9uVG91Y2hFbmQse3Bhc3NpdmU6ITB9KSxzW2RdKFwiY29udGV4dG1lbnVcIixlLm9uVG91Y2hFbmQse3Bhc3NpdmU6ITB9KSwoaS5wcmV2ZW50Q2xpY2tzfHxpLnByZXZlbnRDbGlja3NQcm9wYWdhdGlvbikmJnJbZF0oXCJjbGlja1wiLGUub25DbGljaywhMCksaS5jc3NNb2RlJiZuW2RdKFwic2Nyb2xsXCIsZS5vblNjcm9sbCksaS51cGRhdGVPbldpbmRvd1Jlc2l6ZT9lW2NdKGwuaW9zfHxsLmFuZHJvaWQ/XCJyZXNpemUgb3JpZW50YXRpb25jaGFuZ2Ugb2JzZXJ2ZXJVcGRhdGVcIjpcInJlc2l6ZSBvYnNlcnZlclVwZGF0ZVwiLGosITApOmVbY10oXCJvYnNlcnZlclVwZGF0ZVwiLGosITApLHJbZF0oXCJsb2FkXCIsZS5vbkxvYWQse2NhcHR1cmU6ITB9KSl9O2NvbnN0IGVlPShlLHQpPT5lLmdyaWQmJnQuZ3JpZCYmdC5ncmlkLnJvd3M+MTt2YXIgdGU9e2luaXQ6ITAsZGlyZWN0aW9uOlwiaG9yaXpvbnRhbFwiLG9uZVdheU1vdmVtZW50OiExLHN3aXBlckVsZW1lbnROb2RlTmFtZTpcIlNXSVBFUi1DT05UQUlORVJcIix0b3VjaEV2ZW50c1RhcmdldDpcIndyYXBwZXJcIixpbml0aWFsU2xpZGU6MCxzcGVlZDozMDAsY3NzTW9kZTohMSx1cGRhdGVPbldpbmRvd1Jlc2l6ZTohMCxyZXNpemVPYnNlcnZlcjohMCxuZXN0ZWQ6ITEsY3JlYXRlRWxlbWVudHM6ITEsZXZlbnRzUHJlZml4Olwic3dpcGVyXCIsZW5hYmxlZDohMCxmb2N1c2FibGVFbGVtZW50czpcImlucHV0LCBzZWxlY3QsIG9wdGlvbiwgdGV4dGFyZWEsIGJ1dHRvbiwgdmlkZW8sIGxhYmVsXCIsd2lkdGg6bnVsbCxoZWlnaHQ6bnVsbCxwcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb246ITEsdXNlckFnZW50Om51bGwsdXJsOm51bGwsZWRnZVN3aXBlRGV0ZWN0aW9uOiExLGVkZ2VTd2lwZVRocmVzaG9sZDoyMCxhdXRvSGVpZ2h0OiExLHNldFdyYXBwZXJTaXplOiExLHZpcnR1YWxUcmFuc2xhdGU6ITEsZWZmZWN0Olwic2xpZGVcIixicmVha3BvaW50czp2b2lkIDAsYnJlYWtwb2ludHNCYXNlOlwid2luZG93XCIsc3BhY2VCZXR3ZWVuOjAsc2xpZGVzUGVyVmlldzoxLHNsaWRlc1Blckdyb3VwOjEsc2xpZGVzUGVyR3JvdXBTa2lwOjAsc2xpZGVzUGVyR3JvdXBBdXRvOiExLGNlbnRlcmVkU2xpZGVzOiExLGNlbnRlcmVkU2xpZGVzQm91bmRzOiExLHNsaWRlc09mZnNldEJlZm9yZTowLHNsaWRlc09mZnNldEFmdGVyOjAsbm9ybWFsaXplU2xpZGVJbmRleDoh
5043MCxjZW50ZXJJbnN1ZmZpY2llbnRTbGlkZXM6ITEsd2F0Y2hPdmVyZmxvdzohMCxyb3VuZExlbmd0aHM6ITEsdG91Y2hSYXRpbzoxLHRvdWNoQW5nbGU6NDUsc2ltdWxhdGVUb3VjaDohMCxzaG9ydFN3aXBlczohMCxsb25nU3dpcGVzOiEwLGxvbmdTd2lwZXNSYXRpbzouNSxsb25nU3dpcGVzTXM6MzAwLGZvbGxvd0ZpbmdlcjohMCxhbGxvd1RvdWNoTW92ZTohMCx0aHJlc2hvbGQ6NSx0b3VjaE1vdmVTdG9wUHJvcGFnYXRpb246ITEsdG91Y2hTdGFydFByZXZlbnREZWZhdWx0OiEwLHRvdWNoU3RhcnRGb3JjZVByZXZlbnREZWZhdWx0OiExLHRvdWNoUmVsZWFzZU9uRWRnZXM6ITEsdW5pcXVlTmF2RWxlbWVudHM6ITAscmVzaXN0YW5jZTohMCxyZXNpc3RhbmNlUmF0aW86Ljg1LHdhdGNoU2xpZGVzUHJvZ3Jlc3M6ITEsZ3JhYkN1cnNvcjohMSxwcmV2ZW50Q2xpY2tzOiEwLHByZXZlbnRDbGlja3NQcm9wYWdhdGlvbjohMCxzbGlkZVRvQ2xpY2tlZFNsaWRlOiExLGxvb3A6ITEsbG9vcEFkZEJsYW5rU2xpZGVzOiEwLGxvb3BBZGRpdGlvbmFsU2xpZGVzOjAsbG9vcFByZXZlbnRzU2xpZGluZzohMCxyZXdpbmQ6ITEsYWxsb3dTbGlkZVByZXY6ITAsYWxsb3dTbGlkZU5leHQ6ITAsc3dpcGVIYW5kbGVyOm51bGwsbm9Td2lwaW5nOiEwLG5vU3dpcGluZ0NsYXNzOlwic3dpcGVyLW5vLXN3aXBpbmdcIixub1N3aXBpbmdTZWxlY3RvcjpudWxsLHBhc3NpdmVMaXN0ZW5lcnM6ITAsbWF4QmFja2ZhY2VIaWRkZW5TbGlkZXM6MTAsY29udGFpbmVyTW9kaWZpZXJDbGFzczpcInN3aXBlci1cIixzbGlkZUNsYXNzOlwic3dpcGVyLXNsaWRlXCIsc2xpZGVCbGFua0NsYXNzOlwic3dpcGVyLXNsaWRlLWJsYW5rXCIsc2xpZGVBY3RpdmVDbGFzczpcInN3aXBlci1zbGlkZS1hY3RpdmVcIixzbGlkZVZpc2libGVDbGFzczpcInN3aXBlci1zbGlkZS12aXNpYmxlXCIsc2xpZGVGdWxseVZpc2libGVDbGFzczpcInN3aXBlci1zbGlkZS1mdWxseS12aXNpYmxlXCIsc2xpZGVOZXh0Q2xhc3M6XCJzd2lwZXItc2xpZGUtbmV4dFwiLHNsaWRlUHJldkNsYXNzOlwic3dpcGVyLXNsaWRlLXByZXZcIix3cmFwcGVyQ2xhc3M6XCJzd2lwZXItd3JhcHBlclwiLGxhenlQcmVsb2FkZXJDbGFzczpcInN3aXBlci1sYXp5LXByZWxvYWRlclwiLGxhenlQcmVsb2FkUHJldk5leHQ6MCxydW5DYWxsYmFja3NPbkluaXQ6ITAsX2VtaXRDbGFzc2VzOiExfTtmdW5jdGlvbiBzZShlLHQpe3JldHVybiBmdW5jdGlvbihzKXt2b2lkIDA9PT1zJiYocz17fSk7Y29uc3QgYT1PYmplY3Qua2V5cyhzKVswXSxpPXNbYV07XCJvYmplY3RcIj09dHlwZW9mIGkmJm51bGwhPT1pPyghMD09PWVbYV0mJihlW2FdPXtlbmFibGVkOiEwfSksXCJuYXZpZ2F0aW9uXCI9PT1hJiZlW2FdJiZlW2FdLmVuYWJsZWQmJiFlW2FdLnByZXZFbCYmIWVbYV0ubmV4dEVsJiYoZVthXS5hdXRvPSEwKSxbXCJwYWdpbmF0aW9uXCIsXCJzY3JvbGxiYXJcIl0uaW5kZXhPZihhKT49MCYmZVthXSYmZVthXS5lbmFibGVkJiYhZVthXS5lbCYmKGVbYV0uYXV0bz0hMCksYSBpbiBlJiZcImVuYWJsZWRcImluIGk/KFwib2JqZWN0XCIhPXR5cGVvZiBlW2FdfHxcImVuYWJsZWRcImluIGVbYV18fChlW2FdLmVuYWJsZWQ9ITApLGVbYV18fChlW2FdPXtlbmFibGVkOiExfSkscCh0LHMpKTpwKHQscykpOnAodCxzKX19Y29uc3QgYWU9e2V2ZW50c0VtaXR0ZXI6ayx1cGRhdGU6Qix0cmFuc2xhdGU6SCx0cmFuc2l0aW9uOntzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz10aGlzO3MucGFyYW1zLmNzc01vZGV8fChzLndyYXBwZXJFbC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249YCR7ZX1tc2Ascy53cmFwcGVyRWwuc3R5bGUudHJhbnNpdGlvbkRlbGF5PTA9PT1lP1wiMG1zXCI6XCJcIikscy5lbWl0KFwic2V0VHJhbnNpdGlvblwiLGUsdCl9LHRyYW5zaXRpb25TdGFydDpmdW5jdGlvbihlLHQpe3ZvaWQgMD09PWUmJihlPSEwKTtjb25zdCBzPXRoaXMse3BhcmFtczphfT1zO2EuY3NzTW9kZXx8KGEuYXV0b0hlaWdodCYmcy51cGRhdGVBdXRvSGVpZ2h0KCksTih7c3dpcGVyOnMscnVuQ2FsbGJhY2tzOmUsZGlyZWN0aW9uOnQsc3RlcDpcIlN0YXJ0XCJ9KSl9LHRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oZSx0KXt2b2lkIDA9PT1lJiYoZT0hMCk7Y29uc3Qgcz10aGlzLHtwYXJhbXM6YX09cztzLmFuaW1hdGluZz0hMSxhLmNzc01vZGV8fChzLnNldFRyYW5zaXRpb24oMCksTih7c3dpcGVyOnMscnVuQ2FsbGJhY2tzOmUsZGlyZWN0aW9uOnQsc3RlcDpcIkVuZFwifSkpfX0sc2xpZGU6Uixsb29wOl8sZ3JhYkN1cnNvcjp7c2V0R3JhYkN1cnNvcjpmdW5jdGlvbihlKXtjb25zdCB0PXRoaXM7aWYoIXQucGFyYW1zLnNpbXVsYXRlVG91Y2h8fHQucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnQuaXNMb2NrZWR8fHQucGFyYW1zLmNzc01vZGUpcmV0dXJuO2NvbnN0IHM9XCJjb250YWluZXJcIj09PXQucGFyYW1zLnRvdWNoRXZlbnRzVGFyZ2V0P3QuZWw6dC53cmFwcGVyRWw7dC5pc0VsZW1lbnQmJih0Ll9fcHJldmVudE9ic2VydmVyX189ITApLHMuc3R5bGUuY3Vyc29yPVwibW92ZVwiLHMuc3R5bGUuY3Vyc29yPWU/XCJncmFiYmluZ1wiOlwiZ3JhYlwiLHQuaXNFbGVtZW50JiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dC5fX3ByZXZlbnRPYnNlcnZlcl9fPSExfSkpfSx1bnNldEdyYWJDdXJzb3I6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXM7ZS5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmZS5pc0xvY2tlZHx8ZS5wYXJhbXMuY3NzTW9kZXx8KGUuaXNFbGVtZW50JiYoZS5fX3ByZXZlbnRPYnNlcnZlcl9fPSEwKSxlW1wiY29udGFpbmVyXCI9PT1lLnBhcmFtcy50b3VjaEV2ZW50c1RhcmdldD9cImVsXCI6XCJ3cmFwcGVyRWxcIl0uc3R5bGUuY3Vyc29yPVwiXCIsZS5pc0VsZW1lbnQmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntlLl9fcHJldmVudE9ic2VydmVyX189ITF9KSkpfX0sZXZlbnRzOnthdHRhY2hFdmVudHM6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse3BhcmFtczp0fT1lO2Uub25Ub3VjaFN0YXJ0PVYuYmluZChlKSxlLm9uVG91Y2hNb3ZlPUYuYmluZChlKSxlLm9uVG91Y2hFbmQ9Vy5iaW5kKGUpLGUub25Eb2N1bWVudFRvdWNoU3RhcnQ9US5iaW5kKGUpLHQuY3NzTW9kZSYmKGUub25TY3JvbGw9Sy5iaW5kKGUpKSxlLm9uQ2xpY2s9VS5iaW5kKGUpLGUub25Mb2FkPVouYmluZChlKSxKKGUsXCJvblwiKX0sZGV0YWNoRXZlbnRzOmZ1bmN0aW9uKCl7Sih0aGlzLFwib2ZmXCIpfX0sYnJlYWtwb2ludHM6e3NldEJyZWFrcG9pbnQ6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse3JlYWxJbmRleDp0LGluaXRpYWxpemVkOnMscGFyYW1zOmksZWw6cn09ZSxuPWkuYnJlYWtwb2ludHM7aWYoIW58fG4mJjA9PT1PYmplY3Qua2V5cyhuKS5sZW5ndGgpcmV0dXJuO2NvbnN0IGw9YSgpLG89XCJ3aW5kb3dcIiE9PWkuYnJlYWtwb2ludHNCYXNlJiZpLmJyZWFrcG9pbnRzQmFzZT9cImNvbnRhaW5lclwiOmkuYnJlYWtwb2ludHNCYXNlLGQ9W1wid2luZG93XCIsXCJjb250YWluZXJcIl0uaW5jbHVkZXMoaS5icmVha3BvaW50c0Jhc2UpfHwhaS5icmVha3BvaW50c0Jhc2U/ZS5lbDpsLnF1ZXJ5U2VsZWN0b3IoaS5icmVha3BvaW50c0Jhc2UpLGM9ZS5nZXRCcmVha3BvaW50KG4sbyxkKTtpZighY3x8ZS5jdXJyZW50QnJlYWtwb2ludD09PWMpcmV0dXJuO2NvbnN0IHU9KGMgaW4gbj9uW2NdOnZvaWQgMCl8fGUub3JpZ2luYWxQYXJhbXMsbT1lZShlLGkpLGg9ZWUoZSx1KSxmPWUucGFyYW1zLmdyYWJDdXJzb3IsZz11LmdyYWJDdXJzb3Isdj1pLmVuYWJsZWQ7bSYmIWg/KHIuY2xhc3NMaXN0LnJlbW92ZShgJHtpLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3N9Z3JpZGAsYCR7aS
50435jb250YWluZXJNb2RpZmllckNsYXNzfWdyaWQtY29sdW1uYCksZS5lbWl0Q29udGFpbmVyQ2xhc3NlcygpKTohbSYmaCYmKHIuY2xhc3NMaXN0LmFkZChgJHtpLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3N9Z3JpZGApLCh1LmdyaWQuZmlsbCYmXCJjb2x1bW5cIj09PXUuZ3JpZC5maWxsfHwhdS5ncmlkLmZpbGwmJlwiY29sdW1uXCI9PT1pLmdyaWQuZmlsbCkmJnIuY2xhc3NMaXN0LmFkZChgJHtpLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3N9Z3JpZC1jb2x1bW5gKSxlLmVtaXRDb250YWluZXJDbGFzc2VzKCkpLGYmJiFnP2UudW5zZXRHcmFiQ3Vyc29yKCk6IWYmJmcmJmUuc2V0R3JhYkN1cnNvcigpLFtcIm5hdmlnYXRpb25cIixcInBhZ2luYXRpb25cIixcInNjcm9sbGJhclwiXS5mb3JFYWNoKCh0PT57aWYodm9pZCAwPT09dVt0XSlyZXR1cm47Y29uc3Qgcz1pW3RdJiZpW3RdLmVuYWJsZWQsYT11W3RdJiZ1W3RdLmVuYWJsZWQ7cyYmIWEmJmVbdF0uZGlzYWJsZSgpLCFzJiZhJiZlW3RdLmVuYWJsZSgpfSkpO2NvbnN0IHc9dS5kaXJlY3Rpb24mJnUuZGlyZWN0aW9uIT09aS5kaXJlY3Rpb24sYj1pLmxvb3AmJih1LnNsaWRlc1BlclZpZXchPT1pLnNsaWRlc1BlclZpZXd8fHcpLHk9aS5sb29wO3cmJnMmJmUuY2hhbmdlRGlyZWN0aW9uKCkscChlLnBhcmFtcyx1KTtjb25zdCBFPWUucGFyYW1zLmVuYWJsZWQseD1lLnBhcmFtcy5sb29wO09iamVjdC5hc3NpZ24oZSx7YWxsb3dUb3VjaE1vdmU6ZS5wYXJhbXMuYWxsb3dUb3VjaE1vdmUsYWxsb3dTbGlkZU5leHQ6ZS5wYXJhbXMuYWxsb3dTbGlkZU5leHQsYWxsb3dTbGlkZVByZXY6ZS5wYXJhbXMuYWxsb3dTbGlkZVByZXZ9KSx2JiYhRT9lLmRpc2FibGUoKTohdiYmRSYmZS5lbmFibGUoKSxlLmN1cnJlbnRCcmVha3BvaW50PWMsZS5lbWl0KFwiX2JlZm9yZUJyZWFrcG9pbnRcIix1KSxzJiYoYj8oZS5sb29wRGVzdHJveSgpLGUubG9vcENyZWF0ZSh0KSxlLnVwZGF0ZVNsaWRlcygpKToheSYmeD8oZS5sb29wQ3JlYXRlKHQpLGUudXBkYXRlU2xpZGVzKCkpOnkmJiF4JiZlLmxvb3BEZXN0cm95KCkpLGUuZW1pdChcImJyZWFrcG9pbnRcIix1KX0sZ2V0QnJlYWtwb2ludDpmdW5jdGlvbihlLHQscyl7aWYodm9pZCAwPT09dCYmKHQ9XCJ3aW5kb3dcIiksIWV8fFwiY29udGFpbmVyXCI9PT10JiYhcylyZXR1cm47bGV0IGE9ITE7Y29uc3QgaT1yKCksbj1cIndpbmRvd1wiPT09dD9pLmlubmVySGVpZ2h0OnMuY2xpZW50SGVpZ2h0LGw9T2JqZWN0LmtleXMoZSkubWFwKChlPT57aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJjA9PT1lLmluZGV4T2YoXCJAXCIpKXtjb25zdCB0PXBhcnNlRmxvYXQoZS5zdWJzdHIoMSkpO3JldHVybnt2YWx1ZTpuKnQscG9pbnQ6ZX19cmV0dXJue3ZhbHVlOmUscG9pbnQ6ZX19KSk7bC5zb3J0KCgoZSx0KT0+cGFyc2VJbnQoZS52YWx1ZSwxMCktcGFyc2VJbnQodC52YWx1ZSwxMCkpKTtmb3IobGV0IGU9MDtlPGwubGVuZ3RoO2UrPTEpe2NvbnN0e3BvaW50OnIsdmFsdWU6bn09bFtlXTtcIndpbmRvd1wiPT09dD9pLm1hdGNoTWVkaWEoYChtaW4td2lkdGg6ICR7bn1weClgKS5tYXRjaGVzJiYoYT1yKTpuPD1zLmNsaWVudFdpZHRoJiYoYT1yKX1yZXR1cm4gYXx8XCJtYXhcIn19LGNoZWNrT3ZlcmZsb3c6e2NoZWNrT3ZlcmZsb3c6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse2lzTG9ja2VkOnQscGFyYW1zOnN9PWUse3NsaWRlc09mZnNldEJlZm9yZTphfT1zO2lmKGEpe2NvbnN0IHQ9ZS5zbGlkZXMubGVuZ3RoLTEscz1lLnNsaWRlc0dyaWRbdF0rZS5zbGlkZXNTaXplc0dyaWRbdF0rMiphO2UuaXNMb2NrZWQ9ZS5zaXplPnN9ZWxzZSBlLmlzTG9ja2VkPTE9PT1lLnNuYXBHcmlkLmxlbmd0aDshMD09PXMuYWxsb3dTbGlkZU5leHQmJihlLmFsbG93U2xpZGVOZXh0PSFlLmlzTG9ja2VkKSwhMD09PXMuYWxsb3dTbGlkZVByZXYmJihlLmFsbG93U2xpZGVQcmV2PSFlLmlzTG9ja2VkKSx0JiZ0IT09ZS5pc0xvY2tlZCYmKGUuaXNFbmQ9ITEpLHQhPT1lLmlzTG9ja2VkJiZlLmVtaXQoZS5pc0xvY2tlZD9cImxvY2tcIjpcInVubG9ja1wiKX19LGNsYXNzZXM6e2FkZENsYXNzZXM6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse2NsYXNzTmFtZXM6dCxwYXJhbXM6cyxydGw6YSxlbDppLGRldmljZTpyfT1lLG49ZnVuY3Rpb24oZSx0KXtjb25zdCBzPVtdO3JldHVybiBlLmZvckVhY2goKGU9PntcIm9iamVjdFwiPT10eXBlb2YgZT9PYmplY3Qua2V5cyhlKS5mb3JFYWNoKChhPT57ZVthXSYmcy5wdXNoKHQrYSl9KSk6XCJzdHJpbmdcIj09dHlwZW9mIGUmJnMucHVzaCh0K2UpfSkpLHN9KFtcImluaXRpYWxpemVkXCIscy5kaXJlY3Rpb24se1wiZnJlZS1tb2RlXCI6ZS5wYXJhbXMuZnJlZU1vZGUmJnMuZnJlZU1vZGUuZW5hYmxlZH0se2F1dG9oZWlnaHQ6cy5hdXRvSGVpZ2h0fSx7cnRsOmF9LHtncmlkOnMuZ3JpZCYmcy5ncmlkLnJvd3M+MX0se1wiZ3JpZC1jb2x1bW5cIjpzLmdyaWQmJnMuZ3JpZC5yb3dzPjEmJlwiY29sdW1uXCI9PT1zLmdyaWQuZmlsbH0se2FuZHJvaWQ6ci5hbmRyb2lkfSx7aW9zOnIuaW9zfSx7XCJjc3MtbW9kZVwiOnMuY3NzTW9kZX0se2NlbnRlcmVkOnMuY3NzTW9kZSYmcy5jZW50ZXJlZFNsaWRlc30se1wid2F0Y2gtcHJvZ3Jlc3NcIjpzLndhdGNoU2xpZGVzUHJvZ3Jlc3N9XSxzLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MpO3QucHVzaCguLi5uKSxpLmNsYXNzTGlzdC5hZGQoLi4udCksZS5lbWl0Q29udGFpbmVyQ2xhc3NlcygpfSxyZW1vdmVDbGFzc2VzOmZ1bmN0aW9uKCl7Y29uc3R7ZWw6ZSxjbGFzc05hbWVzOnR9PXRoaXM7ZSYmXCJzdHJpbmdcIiE9dHlwZW9mIGUmJihlLmNsYXNzTGlzdC5yZW1vdmUoLi4udCksdGhpcy5lbWl0Q29udGFpbmVyQ2xhc3NlcygpKX19fSxpZT17fTtjbGFzcyByZXtjb25zdHJ1Y3Rvcigpe2xldCBlLHQ7Zm9yKHZhciBzPWFyZ3VtZW50cy5sZW5ndGgsaT1uZXcgQXJyYXkocykscj0wO3I8cztyKyspaVtyXT1hcmd1bWVudHNbcl07MT09PWkubGVuZ3RoJiZpWzBdLmNvbnN0cnVjdG9yJiZcIk9iamVjdFwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGlbMF0pLnNsaWNlKDgsLTEpP3Q9aVswXTpbZSx0XT1pLHR8fCh0PXt9KSx0PXAoe30sdCksZSYmIXQuZWwmJih0LmVsPWUpO2NvbnN0IG49YSgpO2lmKHQuZWwmJlwic3RyaW5nXCI9PXR5cGVvZiB0LmVsJiZuLnF1ZXJ5U2VsZWN0b3JBbGwodC5lbCkubGVuZ3RoPjEpe2NvbnN0IGU9W107cmV0dXJuIG4ucXVlcnlTZWxlY3RvckFsbCh0LmVsKS5mb3JFYWNoKChzPT57Y29uc3QgYT1wKHt9LHQse2VsOnN9KTtlLnB1c2gobmV3IHJlKGEpKX0pKSxlfWNvbnN0IGw9dGhpcztsLl9fc3dpcGVyX189ITAsbC5zdXBwb3J0PXooKSxsLmRldmljZT1BKHt1c2VyQWdlbnQ6dC51c2VyQWdlbnR9KSxsLmJyb3dzZXI9JCgpLGwuZXZlbnRzTGlzdGVuZXJzPXt9LGwuZXZlbnRzQW55TGlzdGVuZXJzPVtdLGwubW9kdWxlcz1bLi4ubC5fX21vZHVsZXNfX10sdC5tb2R1bGVzJiZBcnJheS5pc0FycmF
50435KHQubW9kdWxlcykmJmwubW9kdWxlcy5wdXNoKC4uLnQubW9kdWxlcyk7Y29uc3Qgbz17fTtsLm1vZHVsZXMuZm9yRWFjaCgoZT0+e2Uoe3BhcmFtczp0LHN3aXBlcjpsLGV4dGVuZFBhcmFtczpzZSh0LG8pLG9uOmwub24uYmluZChsKSxvbmNlOmwub25jZS5iaW5kKGwpLG9mZjpsLm9mZi5iaW5kKGwpLGVtaXQ6bC5lbWl0LmJpbmQobCl9KX0pKTtjb25zdCBkPXAoe30sdGUsbyk7cmV0dXJuIGwucGFyYW1zPXAoe30sZCxpZSx0KSxsLm9yaWdpbmFsUGFyYW1zPXAoe30sbC5wYXJhbXMpLGwucGFzc2VkUGFyYW1zPXAoe30sdCksbC5wYXJhbXMmJmwucGFyYW1zLm9uJiZPYmplY3Qua2V5cyhsLnBhcmFtcy5vbikuZm9yRWFjaCgoZT0+e2wub24oZSxsLnBhcmFtcy5vbltlXSl9KSksbC5wYXJhbXMmJmwucGFyYW1zLm9uQW55JiZsLm9uQW55KGwucGFyYW1zLm9uQW55KSxPYmplY3QuYXNzaWduKGwse2VuYWJsZWQ6bC5wYXJhbXMuZW5hYmxlZCxlbDplLGNsYXNzTmFtZXM6W10sc2xpZGVzOltdLHNsaWRlc0dyaWQ6W10sc25hcEdyaWQ6W10sc2xpZGVzU2l6ZXNHcmlkOltdLGlzSG9yaXpvbnRhbDooKT0+XCJob3Jpem9udGFsXCI9PT1sLnBhcmFtcy5kaXJlY3Rpb24saXNWZXJ0aWNhbDooKT0+XCJ2ZXJ0aWNhbFwiPT09bC5wYXJhbXMuZGlyZWN0aW9uLGFjdGl2ZUluZGV4OjAscmVhbEluZGV4OjAsaXNCZWdpbm5pbmc6ITAsaXNFbmQ6ITEsdHJhbnNsYXRlOjAscHJldmlvdXNUcmFuc2xhdGU6MCxwcm9ncmVzczowLHZlbG9jaXR5OjAsYW5pbWF0aW5nOiExLGNzc092ZXJmbG93QWRqdXN0bWVudCgpe3JldHVybiBNYXRoLnRydW5jKHRoaXMudHJhbnNsYXRlLzIqKjIzKSoyKioyM30sYWxsb3dTbGlkZU5leHQ6bC5wYXJhbXMuYWxsb3dTbGlkZU5leHQsYWxsb3dTbGlkZVByZXY6bC5wYXJhbXMuYWxsb3dTbGlkZVByZXYsdG91Y2hFdmVudHNEYXRhOntpc1RvdWNoZWQ6dm9pZCAwLGlzTW92ZWQ6dm9pZCAwLGFsbG93VG91Y2hDYWxsYmFja3M6dm9pZCAwLHRvdWNoU3RhcnRUaW1lOnZvaWQgMCxpc1Njcm9sbGluZzp2b2lkIDAsY3VycmVudFRyYW5zbGF0ZTp2b2lkIDAsc3RhcnRUcmFuc2xhdGU6dm9pZCAwLGFsbG93VGhyZXNob2xkTW92ZTp2b2lkIDAsZm9jdXNhYmxlRWxlbWVudHM6bC5wYXJhbXMuZm9jdXNhYmxlRWxlbWVudHMsbGFzdENsaWNrVGltZTowLGNsaWNrVGltZW91dDp2b2lkIDAsdmVsb2NpdGllczpbXSxhbGxvd01vbWVudHVtQm91bmNlOnZvaWQgMCxzdGFydE1vdmluZzp2b2lkIDAscG9pbnRlcklkOm51bGwsdG91Y2hJZDpudWxsfSxhbGxvd0NsaWNrOiEwLGFsbG93VG91Y2hNb3ZlOmwucGFyYW1zLmFsbG93VG91Y2hNb3ZlLHRvdWNoZXM6e3N0YXJ0WDowLHN0YXJ0WTowLGN1cnJlbnRYOjAsY3VycmVudFk6MCxkaWZmOjB9LGltYWdlc1RvTG9hZDpbXSxpbWFnZXNMb2FkZWQ6MH0pLGwuZW1pdChcIl9zd2lwZXJcIiksbC5wYXJhbXMuaW5pdCYmbC5pbml0KCksbH1nZXREaXJlY3Rpb25MYWJlbChlKXtyZXR1cm4gdGhpcy5pc0hvcml6b250YWwoKT9lOnt3aWR0aDpcImhlaWdodFwiLFwibWFyZ2luLXRvcFwiOlwibWFyZ2luLWxlZnRcIixcIm1hcmdpbi1ib3R0b20gXCI6XCJtYXJnaW4tcmlnaHRcIixcIm1hcmdpbi1sZWZ0XCI6XCJtYXJnaW4tdG9wXCIsXCJtYXJnaW4tcmlnaHRcIjpcIm1hcmdpbi1ib3R0b21cIixcInBhZGRpbmctbGVmdFwiOlwicGFkZGluZy10b3BcIixcInBhZGRpbmctcmlnaHRcIjpcInBhZGRpbmctYm90dG9tXCIsbWFyZ2luUmlnaHQ6XCJtYXJnaW5Cb3R0b21cIn1bZV19Z2V0U2xpZGVJbmRleChlKXtjb25zdHtzbGlkZXNFbDp0LHBhcmFtczpzfT10aGlzLGE9eShmKHQsYC4ke3Muc2xpZGVDbGFzc30sIHN3aXBlci1zbGlkZWApWzBdKTtyZXR1cm4geShlKS1hfWdldFNsaWRlSW5kZXhCeURhdGEoZSl7cmV0dXJuIHRoaXMuZ2V0U2xpZGVJbmRleCh0aGlzLnNsaWRlcy5maW5kKCh0PT4xKnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIik9PT1lKSkpfWdldFNsaWRlSW5kZXhXaGVuR3JpZChlKXtyZXR1cm4gdGhpcy5ncmlkJiZ0aGlzLnBhcmFtcy5ncmlkJiZ0aGlzLnBhcmFtcy5ncmlkLnJvd3M+MSYmKFwiY29sdW1uXCI9PT10aGlzLnBhcmFtcy5ncmlkLmZpbGw/ZT1NYXRoLmZsb29yKGUvdGhpcy5wYXJhbXMuZ3JpZC5yb3dzKTpcInJvd1wiPT09dGhpcy5wYXJhbXMuZ3JpZC5maWxsJiYoZSU9TWF0aC5jZWlsKHRoaXMuc2xpZGVzLmxlbmd0aC90aGlzLnBhcmFtcy5ncmlkLnJvd3MpKSksZX1yZWNhbGNTbGlkZXMoKXtjb25zdHtzbGlkZXNFbDplLHBhcmFtczp0fT10aGlzO3RoaXMuc2xpZGVzPWYoZSxgLiR7dC5zbGlkZUNsYXNzfSwgc3dpcGVyLXNsaWRlYCl9ZW5hYmxlKCl7Y29uc3QgZT10aGlzO2UuZW5hYmxlZHx8KGUuZW5hYmxlZD0hMCxlLnBhcmFtcy5ncmFiQ3Vyc29yJiZlLnNldEdyYWJDdXJzb3IoKSxlLmVtaXQoXCJlbmFibGVcIikpfWRpc2FibGUoKXtjb25zdCBlPXRoaXM7ZS5lbmFibGVkJiYoZS5lbmFibGVkPSExLGUucGFyYW1zLmdyYWJDdXJzb3ImJmUudW5zZXRHcmFiQ3Vyc29yKCksZS5lbWl0KFwiZGlzYWJsZVwiKSl9c2V0UHJvZ3Jlc3MoZSx0KXtjb25zdCBzPXRoaXM7ZT1NYXRoLm1pbihNYXRoLm1heChlLDApLDEpO2NvbnN0IGE9cy5taW5UcmFuc2xhdGUoKSxpPShzLm1heFRyYW5zbGF0ZSgpLWEpKmUrYTtzLnRyYW5zbGF0ZVRvKGksdm9pZCAwPT09dD8wOnQpLHMudXBkYXRlQWN0aXZlSW5kZXgoKSxzLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX1lbWl0Q29udGFpbmVyQ2xhc3Nlcygpe2NvbnN0IGU9dGhpcztpZighZS5wYXJhbXMuX2VtaXRDbGFzc2VzfHwhZS5lbClyZXR1cm47Y29uc3QgdD1lLmVsLmNsYXNzTmFtZS5zcGxpdChcIiBcIikuZmlsdGVyKCh0PT4wPT09dC5pbmRleE9mKFwic3dpcGVyXCIpfHwwPT09dC5pbmRleE9mKGUucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MpKSk7ZS5lbWl0KFwiX2NvbnRhaW5lckNsYXNzZXNcIix0LmpvaW4oXCIgXCIpKX1nZXRTbGlkZUNsYXNzZXMoZSl7Y29uc3QgdD10aGlzO3JldHVybiB0LmRlc3Ryb3llZD9cIlwiOmUuY2xhc3NOYW1lLnNwbGl0KFwiIFwiKS5maWx0ZXIoKGU9PjA9PT1lLmluZGV4T2YoXCJzd2lwZXItc2xpZGVcIil8fDA9PT1lLmluZGV4T2YodC5wYXJhbXMuc2xpZGVDbGFzcykpKS5qb2luKFwiIFwiKX1lbWl0U2xpZGVzQ2xhc3Nlcygpe2NvbnN0IGU9dGhpcztpZighZS5wYXJhbXMuX2VtaXRDbGFzc2VzfHwhZS5lbClyZXR1cm47Y29uc3QgdD1bXTtlLnNsaWRlcy5mb3JFYWNoKChzPT57Y29uc3QgYT1lLmdldFNsaWRlQ2xhc3NlcyhzKTt0LnB1c2goe3NsaWRlRWw6cyxjbGFzc05hbWVzOmF9KSxlLmVtaXQoXCJfc2xpZGVDbGFzc1wiLHMsYSl9KSksZS5lbWl0KFwiX3NsaWRlQ2xhc3Nlc1wiLHQpfXNsaWRlc1BlclZpZXdEeW5hbWljKGUsdCl7dm9pZCAwPT09ZSYmKGU9XCJjdXJyZW50XCIpLHZvaWQgMD09PXQmJih0PSExKTtjb25zdHtwYXJhbXM6cyxzbGlkZXM6YSxzbGlkZXNHcmlkOmksc2xpZGVzU2l6ZXNHcmlkOnIsc2l6ZTpuLGFjdGl2ZUluZGV4Omx9PXRoaXM7bGV0IG89MTtpZihcIm51bWJlclwiPT10eXBlb2Ygcy5zbGlkZXNQZXJWaWV3
5043KXJldHVybiBzLnNsaWRlc1BlclZpZXc7aWYocy5jZW50ZXJlZFNsaWRlcyl7bGV0IGUsdD1hW2xdP01hdGguY2VpbChhW2xdLnN3aXBlclNsaWRlU2l6ZSk6MDtmb3IobGV0IHM9bCsxO3M8YS5sZW5ndGg7cys9MSlhW3NdJiYhZSYmKHQrPU1hdGguY2VpbChhW3NdLnN3aXBlclNsaWRlU2l6ZSksbys9MSx0Pm4mJihlPSEwKSk7Zm9yKGxldCBzPWwtMTtzPj0wO3MtPTEpYVtzXSYmIWUmJih0Kz1hW3NdLnN3aXBlclNsaWRlU2l6ZSxvKz0xLHQ+biYmKGU9ITApKX1lbHNlIGlmKFwiY3VycmVudFwiPT09ZSlmb3IobGV0IGU9bCsxO2U8YS5sZW5ndGg7ZSs9MSl7KHQ/aVtlXStyW2VdLWlbbF08bjppW2VdLWlbbF08bikmJihvKz0xKX1lbHNlIGZvcihsZXQgZT1sLTE7ZT49MDtlLT0xKXtpW2xdLWlbZV08biYmKG8rPTEpfXJldHVybiBvfXVwZGF0ZSgpe2NvbnN0IGU9dGhpcztpZighZXx8ZS5kZXN0cm95ZWQpcmV0dXJuO2NvbnN0e3NuYXBHcmlkOnQscGFyYW1zOnN9PWU7ZnVuY3Rpb24gYSgpe2NvbnN0IHQ9ZS5ydGxUcmFuc2xhdGU/LTEqZS50cmFuc2xhdGU6ZS50cmFuc2xhdGUscz1NYXRoLm1pbihNYXRoLm1heCh0LGUubWF4VHJhbnNsYXRlKCkpLGUubWluVHJhbnNsYXRlKCkpO2Uuc2V0VHJhbnNsYXRlKHMpLGUudXBkYXRlQWN0aXZlSW5kZXgoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX1sZXQgaTtpZihzLmJyZWFrcG9pbnRzJiZlLnNldEJyZWFrcG9pbnQoKSxbLi4uZS5lbC5xdWVyeVNlbGVjdG9yQWxsKCdbbG9hZGluZz1cImxhenlcIl0nKV0uZm9yRWFjaCgodD0+e3QuY29tcGxldGUmJkcoZSx0KX0pKSxlLnVwZGF0ZVNpemUoKSxlLnVwZGF0ZVNsaWRlcygpLGUudXBkYXRlUHJvZ3Jlc3MoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxzLmZyZWVNb2RlJiZzLmZyZWVNb2RlLmVuYWJsZWQmJiFzLmNzc01vZGUpYSgpLHMuYXV0b0hlaWdodCYmZS51cGRhdGVBdXRvSGVpZ2h0KCk7ZWxzZXtpZigoXCJhdXRvXCI9PT1zLnNsaWRlc1BlclZpZXd8fHMuc2xpZGVzUGVyVmlldz4xKSYmZS5pc0VuZCYmIXMuY2VudGVyZWRTbGlkZXMpe2NvbnN0IHQ9ZS52aXJ0dWFsJiZzLnZpcnR1YWwuZW5hYmxlZD9lLnZpcnR1YWwuc2xpZGVzOmUuc2xpZGVzO2k9ZS5zbGlkZVRvKHQubGVuZ3RoLTEsMCwhMSwhMCl9ZWxzZSBpPWUuc2xpZGVUbyhlLmFjdGl2ZUluZGV4LDAsITEsITApO2l8fGEoKX1zLndhdGNoT3ZlcmZsb3cmJnQhPT1lLnNuYXBHcmlkJiZlLmNoZWNrT3ZlcmZsb3coKSxlLmVtaXQoXCJ1cGRhdGVcIil9Y2hhbmdlRGlyZWN0aW9uKGUsdCl7dm9pZCAwPT09dCYmKHQ9ITApO2NvbnN0IHM9dGhpcyxhPXMucGFyYW1zLmRpcmVjdGlvbjtyZXR1cm4gZXx8KGU9XCJob3Jpem9udGFsXCI9PT1hP1widmVydGljYWxcIjpcImhvcml6b250YWxcIiksZT09PWF8fFwiaG9yaXpvbnRhbFwiIT09ZSYmXCJ2ZXJ0aWNhbFwiIT09ZXx8KHMuZWwuY2xhc3NMaXN0LnJlbW92ZShgJHtzLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzfSR7YX1gKSxzLmVsLmNsYXNzTGlzdC5hZGQoYCR7cy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzc30ke2V9YCkscy5lbWl0Q29udGFpbmVyQ2xhc3NlcygpLHMucGFyYW1zLmRpcmVjdGlvbj1lLHMuc2xpZGVzLmZvckVhY2goKHQ9PntcInZlcnRpY2FsXCI9PT1lP3Quc3R5bGUud2lkdGg9XCJcIjp0LnN0eWxlLmhlaWdodD1cIlwifSkpLHMuZW1pdChcImNoYW5nZURpcmVjdGlvblwiKSx0JiZzLnVwZGF0ZSgpKSxzfWNoYW5nZUxhbmd1YWdlRGlyZWN0aW9uKGUpe2NvbnN0IHQ9dGhpczt0LnJ0bCYmXCJydGxcIj09PWV8fCF0LnJ0bCYmXCJsdHJcIj09PWV8fCh0LnJ0bD1cInJ0bFwiPT09ZSx0LnJ0bFRyYW5zbGF0ZT1cImhvcml6b250YWxcIj09PXQucGFyYW1zLmRpcmVjdGlvbiYmdC5ydGwsdC5ydGw/KHQuZWwuY2xhc3NMaXN0LmFkZChgJHt0LnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzfXJ0bGApLHQuZWwuZGlyPVwicnRsXCIpOih0LmVsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dC5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzc31ydGxgKSx0LmVsLmRpcj1cImx0clwiKSx0LnVwZGF0ZSgpKX1tb3VudChlKXtjb25zdCB0PXRoaXM7aWYodC5tb3VudGVkKXJldHVybiEwO2xldCBzPWV8fHQucGFyYW1zLmVsO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBzJiYocz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHMpKSwhcylyZXR1cm4hMTtzLnN3aXBlcj10LHMucGFyZW50Tm9kZSYmcy5wYXJlbnROb2RlLmhvc3QmJnMucGFyZW50Tm9kZS5ob3N0Lm5vZGVOYW1lPT09dC5wYXJhbXMuc3dpcGVyRWxlbWVudE5vZGVOYW1lLnRvVXBwZXJDYXNlKCkmJih0LmlzRWxlbWVudD0hMCk7Y29uc3QgYT0oKT0+YC4keyh0LnBhcmFtcy53cmFwcGVyQ2xhc3N8fFwiXCIpLnRyaW0oKS5zcGxpdChcIiBcIikuam9pbihcIi5cIil9YDtsZXQgaT0oKCk9PntpZihzJiZzLnNoYWRvd1Jvb3QmJnMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKXtyZXR1cm4gcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoYSgpKX1yZXR1cm4gZihzLGEoKSlbMF19KSgpO3JldHVybiFpJiZ0LnBhcmFtcy5jcmVhdGVFbGVtZW50cyYmKGk9dihcImRpdlwiLHQucGFyYW1zLndyYXBwZXJDbGFzcykscy5hcHBlbmQoaSksZihzLGAuJHt0LnBhcmFtcy5zbGlkZUNsYXNzfWApLmZvckVhY2goKGU9PntpLmFwcGVuZChlKX0pKSksT2JqZWN0LmFzc2lnbih0LHtlbDpzLHdyYXBwZXJFbDppLHNsaWRlc0VsOnQuaXNFbGVtZW50JiYhcy5wYXJlbnROb2RlLmhvc3Quc2xpZGVTbG90cz9zLnBhcmVudE5vZGUuaG9zdDppLGhvc3RFbDp0LmlzRWxlbWVudD9zLnBhcmVudE5vZGUuaG9zdDpzLG1vdW50ZWQ6ITAscnRsOlwicnRsXCI9PT1zLmRpci50b0xvd2VyQ2FzZSgpfHxcInJ0bFwiPT09YihzLFwiZGlyZWN0aW9uXCIpLHJ0bFRyYW5zbGF0ZTpcImhvcml6b250YWxcIj09PXQucGFyYW1zLmRpcmVjdGlvbiYmKFwicnRsXCI9PT1zLmRpci50b0xvd2VyQ2FzZSgpfHxcInJ0bFwiPT09YihzLFwiZGlyZWN0aW9uXCIpKSx3cm9uZ1JUTDpcIi13ZWJraXQtYm94XCI9PT1iKGksXCJkaXNwbGF5XCIpfSksITB9aW5p
5043dChlKXtjb25zdCB0PXRoaXM7aWYodC5pbml0aWFsaXplZClyZXR1cm4gdDtpZighMT09PXQubW91bnQoZSkpcmV0dXJuIHQ7dC5lbWl0KFwiYmVmb3JlSW5pdFwiKSx0LnBhcmFtcy5icmVha3BvaW50cyYmdC5zZXRCcmVha3BvaW50KCksdC5hZGRDbGFzc2VzKCksdC51cGRhdGVTaXplKCksdC51cGRhdGVTbGlkZXMoKSx0LnBhcmFtcy53YXRjaE92ZXJmbG93JiZ0LmNoZWNrT3ZlcmZsb3coKSx0LnBhcmFtcy5ncmFiQ3Vyc29yJiZ0LmVuYWJsZWQmJnQuc2V0R3JhYkN1cnNvcigpLHQucGFyYW1zLmxvb3AmJnQudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkP3Quc2xpZGVUbyh0LnBhcmFtcy5pbml0aWFsU2xpZGUrdC52aXJ0dWFsLnNsaWRlc0JlZm9yZSwwLHQucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCwhMSwhMCk6dC5zbGlkZVRvKHQucGFyYW1zLmluaXRpYWxTbGlkZSwwLHQucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCwhMSwhMCksdC5wYXJhbXMubG9vcCYmdC5sb29wQ3JlYXRlKHZvaWQgMCwhMCksdC5hdHRhY2hFdmVudHMoKTtjb25zdCBzPVsuLi50LmVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tsb2FkaW5nPVwibGF6eVwiXScpXTtyZXR1cm4gdC5pc0VsZW1lbnQmJnMucHVzaCguLi50Lmhvc3RFbC5xdWVyeVNlbGVjdG9yQWxsKCdbbG9hZGluZz1cImxhenlcIl0nKSkscy5mb3JFYWNoKChlPT57ZS5jb21wbGV0ZT9HKHQsZSk6ZS5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLChlPT57Ryh0LGUudGFyZ2V0KX0pKX0pKSxZKHQpLHQuaW5pdGlhbGl6ZWQ9ITAsWSh0KSx0LmVtaXQoXCJpbml0XCIpLHQuZW1pdChcImFmdGVySW5pdFwiKSx0fWRlc3Ryb3koZSx0KXt2b2lkIDA9PT1lJiYoZT0hMCksdm9pZCAwPT09dCYmKHQ9ITApO2NvbnN0IHM9dGhpcyx7cGFyYW1zOmEsZWw6aSx3cmFwcGVyRWw6cixzbGlkZXM6bn09cztyZXR1cm4gdm9pZCAwPT09cy5wYXJhbXN8fHMuZGVzdHJveWVkfHwocy5lbWl0KFwiYmVmb3JlRGVzdHJveVwiKSxzLmluaXRpYWxpemVkPSExLHMuZGV0YWNoRXZlbnRzKCksYS5sb29wJiZzLmxvb3BEZXN0cm95KCksdCYmKHMucmVtb3ZlQ2xhc3NlcygpLGkmJlwic3RyaW5nXCIhPXR5cGVvZiBpJiZpLnJlbW92ZUF0dHJpYnV0ZShcInN0eWxlXCIpLHImJnIucmVtb3ZlQXR0cmlidXRlKFwic3R5bGVcIiksbiYmbi5sZW5ndGgmJm4uZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LnJlbW92ZShhLnNsaWRlVmlzaWJsZUNsYXNzLGEuc2xpZGVGdWxseVZpc2libGVDbGFzcyxhLnNsaWRlQWN0aXZlQ2xhc3MsYS5zbGlkZU5leHRDbGFzcyxhLnNsaWRlUHJldkNsYXNzKSxlLnJlbW92ZUF0dHJpYnV0ZShcInN0eWxlXCIpLGUucmVtb3ZlQXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIil9KSkpLHMuZW1pdChcImRlc3Ryb3lcIiksT2JqZWN0LmtleXMocy5ldmVudHNMaXN0ZW5lcnMpLmZvckVhY2goKGU9PntzLm9mZihlKX0pKSwhMSE9PWUmJihzLmVsJiZcInN0cmluZ1wiIT10eXBlb2Ygcy5lbCYmKHMuZWwuc3dpcGVyPW51bGwpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZTtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChlPT57dHJ5e3RbZV09bnVsbH1jYXRjaChlKXt9dHJ5e2RlbGV0ZSB0W2VdfWNhdGNoKGUpe319KSl9KHMpKSxzLmRlc3Ryb3llZD0hMCksbnVsbH1zdGF0aWMgZXh0ZW5kRGVmYXVsdHMoZSl7cChpZSxlKX1zdGF0aWMgZ2V0IGV4dGVuZGVkRGVmYXVsdHMoKXtyZXR1cm4gaWV9c3RhdGljIGdldCBkZWZhdWx0cygpe3JldHVybiB0ZX1zdGF0aWMgaW5zdGFsbE1vZHVsZShlKXtyZS5wcm90b3R5cGUuX19tb2R1bGVzX198fChyZS5wcm90b3R5cGUuX19tb2R1bGVzX189W10pO2NvbnN0IHQ9cmUucHJvdG90eXBlLl9fbW9kdWxlc19fO1wiZnVuY3Rpb25cIj09dHlwZW9mIGUmJnQuaW5kZXhPZihlKTwwJiZ0LnB1c2goZSl9c3RhdGljIHVzZShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT8oZS5mb3JFYWNoKChlPT5yZS5pbnN0YWxsTW9kdWxlKGUpKSkscmUpOihyZS5pbnN0YWxsTW9kdWxlKGUpLHJlKX19ZnVuY3Rpb24gbmUoZSx0LHMsYSl7cmV0dXJuIGUucGFyYW1zLmNyZWF0ZUVsZW1lbnRzJiZPYmplY3Qua2V5cyhhKS5mb3JFYWNoKChpPT57aWYoIXNbaV0mJiEwPT09cy5hdXRvKXtsZXQgcj1mKGUuZWwsYC4ke2FbaV19YClbMF07cnx8KHI9dihcImRp
5043dlwiLGFbaV0pLHIuY2xhc3NOYW1lPWFbaV0sZS5lbC5hcHBlbmQocikpLHNbaV09cix0W2ldPXJ9fSkpLHN9ZnVuY3Rpb24gbGUoZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPVwiXCIpLGAuJHtlLnRyaW0oKS5yZXBsYWNlKC8oW1xcLjohK1xcLygpW1xcXV0pL2csXCJcXFxcJDFcIikucmVwbGFjZSgvIC9nLFwiLlwiKX1gfWZ1bmN0aW9uIG9lKGUpe2NvbnN0IHQ9dGhpcyx7cGFyYW1zOnMsc2xpZGVzRWw6YX09dDtzLmxvb3AmJnQubG9vcERlc3Ryb3koKTtjb25zdCBpPWU9PntpZihcInN0cmluZ1wiPT10eXBlb2YgZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO0ModCxlKSxhLmFwcGVuZCh0LmNoaWxkcmVuWzBdKSxDKHQsXCJcIil9ZWxzZSBhLmFwcGVuZChlKX07aWYoXCJvYmplY3RcIj09dHlwZW9mIGUmJlwibGVuZ3RoXCJpbiBlKWZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCs9MSllW3RdJiZpKGVbdF0pO2Vsc2UgaShlKTt0LnJlY2FsY1NsaWRlcygpLHMubG9vcCYmdC5sb29wQ3JlYXRlKCkscy5vYnNlcnZlciYmIXQuaXNFbGVtZW50fHx0LnVwZGF0ZSgpfWZ1bmN0aW9uIGRlKGUpe2NvbnN0IHQ9dGhpcyx7cGFyYW1zOnMsYWN0aXZlSW5kZXg6YSxzbGlkZXNFbDppfT10O3MubG9vcCYmdC5sb29wRGVzdHJveSgpO2xldCByPWErMTtjb25zdCBuPWU9PntpZihcInN0cmluZ1wiPT10eXBlb2YgZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO0ModCxlKSxpLnByZXBlbmQodC5jaGlsZHJlblswXSksQyh0LFwiXCIpfWVsc2UgaS5wcmVwZW5kKGUpfTtpZihcIm9iamVjdFwiPT10eXBlb2YgZSYmXCJsZW5ndGhcImluIGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCs9MSllW3RdJiZuKGVbdF0pO3I9YStlLmxlbmd0aH1lbHNlIG4oZSk7dC5yZWNhbGNTbGlkZXMoKSxzLmxvb3AmJnQubG9vcENyZWF0ZSgpLHMub2JzZXJ2ZXImJiF0LmlzRWxlbWVudHx8dC51cGRhdGUoKSx0LnNsaWRlVG8ociwwLCExKX1mdW5jdGlvbiBjZShlLHQpe2NvbnN0IHM9dGhpcyx7cGFyYW1zOmEsYWN0aXZlSW5kZXg6aSxzbGlkZXNFbDpyfT1zO2xldCBuPWk7YS5sb29wJiYobi09cy5sb29wZWRTbGlkZXMscy5sb29wRGVzdHJveSgpLHMucmVjYWxjU2xpZGVzKCkpO2NvbnN0IGw9cy5zbGlkZXMubGVuZ3RoO2lmKGU8PTApcmV0dXJuIHZvaWQgcy5wcmVwZW5kU2xpZGUodCk7
5043aWYoZT49bClyZXR1cm4gdm9pZCBzLmFwcGVuZFNsaWRlKHQpO2xldCBvPW4+ZT9uKzE6bjtjb25zdCBkPVtdO2ZvcihsZXQgdD1sLTE7dD49ZTt0LT0xKXtjb25zdCBlPXMuc2xpZGVzW3RdO2UucmVtb3ZlKCksZC51bnNoaWZ0KGUpfWlmKFwib2JqZWN0XCI9PXR5cGVvZiB0JiZcImxlbmd0aFwiaW4gdCl7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKz0xKXRbZV0mJnIuYXBwZW5kKHRbZV0pO289bj5lP24rdC5sZW5ndGg6bn1lbHNlIHIuYXBwZW5kKHQpO2ZvcihsZXQgZT0wO2U8ZC5sZW5ndGg7ZSs9MSlyLmFwcGVuZChkW2VdKTtzLnJlY2FsY1NsaWRlcygpLGEubG9vcCYmcy5sb29wQ3JlYXRlKCksYS5vYnNlcnZlciYmIXMuaXNFbGVtZW50fHxzLnVwZGF0ZSgpLGEubG9vcD9zLnNsaWRlVG8obytzLmxvb3BlZFNsaWRlcywwLCExKTpzLnNsaWRlVG8obywwLCExKX1mdW5jdGlvbiBwZShlKXtjb25zdCB0PXRoaXMse3BhcmFtczpzLGFjdGl2ZUluZGV4OmF9PXQ7bGV0IGk9YTtzLmxvb3AmJihpLT10Lmxvb3BlZFNsaWRlcyx0Lmxvb3BEZXN0cm95KCkpO2xldCByLG49aTtpZihcIm9iamVjdFwiPT10eXBlb2YgZSYmXCJsZW5ndGhcImluIGUpe2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cys9MSlyPWVbc10sdC5zbGlkZXNbcl0mJnQuc2xpZGVzW3JdLnJlbW92ZSgpLHI8biYmKG4tPTEpO249TWF0aC5tYXgobiwwKX1lbHNlIHI9ZSx0LnNsaWRlc1tyXSYmdC5zbGlkZXNbcl0ucmVtb3ZlKCkscjxuJiYobi09MSksbj1NYXRoLm1heChuLDApO3QucmVjYWxjU2xpZGVzKCkscy5sb29wJiZ0Lmxvb3BDcmVhdGUoKSxzLm9ic2VydmVyJiYhdC5pc0VsZW1lbnR8fHQudXBkYXRlKCkscy5sb29wP3Quc2xpZGVUbyhuK3QubG9vcGVkU2xpZGVzLDAsITEpOnQuc2xpZGVUbyhuLDAsITEpfWZ1bmN0aW9uIHVlKCl7Y29uc3QgZT10aGlzLHQ9W107Zm9yKGxldCBzPTA7czxlLnNsaWRlcy5sZW5ndGg7cys9MSl0LnB1c2gocyk7ZS5yZW1vdmVTbGlkZSh0KX1mdW5jdGlvbiBtZShlKXtjb25zdHtlZmZlY3Q6dCxzd2lwZXI6cyxvbjphLHNldFRyYW5zbGF0ZTppLHNldFRyYW5zaXRpb246cixvdmVyd3JpdGVQYXJhbXM6bixwZXJzcGVjdGl2ZTpsLHJlY3JlYXRlU2hhZG93czpvLGdldEVmZmVjdFBhcmFtczpkfT1lO2xldCBjO2EoXCJiZWZvcmVJbml0XCIsKCgpPT57aWYocy5wYXJhbXMuZWZmZWN0IT09dClyZXR1cm47cy5jbGFzc05hbWVzLnB1c2goYCR7cy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzc30ke3R9YCksbCYmbCgpJiZzLmNsYXNzTmFtZXMucHVzaChgJHtzLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzfTNkYCk7Y29uc3QgZT1uP24oKTp7fTtPYmplY3QuYXNzaWduKHMucGFyYW1zLGUpLE9iamVjdC5hc3NpZ24ocy5vcmlnaW5hbFBhcmFtcyxlKX0pKSxhKFwic2V0VHJhbnNsYXRlIF92aXJ0dWFsVXBkYXRlZFwiLCgoKT0+e3MucGFyYW1zLmVmZmVjdD09PXQmJmkoKX0pKSxhKFwic2V0VHJhbnNpdGlvblwiLCgoZSxhKT0+e3MucGFyYW1zLmVmZmVjdD09PXQmJnIoYSl9KSksYShcInRyYW5zaXRpb25FbmRcIiwoKCk9PntpZihzLnBhcmFtcy5lZmZlY3Q9PT10J
5043iZvKXtpZighZHx8IWQoKS5zbGlkZVNoYWRvd3MpcmV0dXJuO3Muc2xpZGVzLmZvckVhY2goKGU9PntlLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnRcIikuZm9yRWFjaCgoZT0+ZS5yZW1vdmUoKSkpfSkpLG8oKX19KSksYShcInZpcnR1YWxVcGRhdGVcIiwoKCk9PntzLnBhcmFtcy5lZmZlY3Q9PT10JiYocy5zbGlkZXMubGVuZ3RofHwoYz0hMCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2MmJnMuc2xpZGVzJiZzLnNsaWRlcy5sZW5ndGgmJihpKCksYz0hMSl9KSkpfSkpfWZ1bmN0aW9uIGhlKGUsdCl7Y29uc3Qgcz1oKHQpO3JldHVybiBzIT09dCYmKHMuc3R5bGUuYmFja2ZhY2VWaXNpYmlsaXR5PVwiaGlkZGVuXCIscy5zdHlsZVtcIi13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eVwiXT1cImhpZGRlblwiKSxzfWZ1bmN0aW9uIGZlKGUpe2xldHtzd2lwZXI6dCxkdXJhdGlvbjpzLHRyYW5zZm9ybUVsZW1lbnRzOmEsYWxsU2xpZGVzOml9PWU7Y29uc3R7YWN0aXZlSW5kZXg6cn09dDtpZih0LnBhcmFtcy52aXJ0dWFsVHJhbnNsYXRlJiYwIT09cyl7bGV0IGUscz0hMTtlPWk/YTphLmZpbHRlcigoZT0+e2NvbnN0IHM9ZS5jbGFzc0xpc3QuY29udGFpbnMoXCJzd2lwZXItc2xpZGUtdHJhbnNmb3JtXCIpPyhlPT57aWYoIWUucGFyZW50RWxlbWVudClyZXR1cm4gdC5zbGlkZXMuZmluZCgodD0+dC5zaGFkb3dSb290JiZ0LnNoYWRvd1Jvb3Q9PT1lLnBhcmVudE5vZGUpKTtyZXR1cm4gZS5wYXJlbnRFbGVtZW50fSkoZSk6ZTtyZXR1cm4gdC5nZXRTbGlkZUluZGV4KHMpPT09cn0pKSxlLmZvckVhY2goKGU9Pnt4KGUsKCgpPT57aWYocylyZXR1cm47aWYoIXR8fHQuZGVzdHJveWVkKXJldHVybjtzPSEwLHQuYW5pbWF0aW5nPSExO2NvbnN0IGU9bmV3IHdpbmRvdy5DdXN0b21FdmVudChcInRyYW5zaXRpb25lbmRcIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwfSk7dC53cmFwcGVyRWwuZGlzcGF0Y2hFdmVudChlKX0pKX0pKX19ZnVuY3Rpb24gZ2UoZSx0LHMpe2NvbnN0IGE9YHN3aXBlci1zbGlkZS1zaGFkb3cke3M/YC0ke3N9YDpcIlwifSR7ZT9gIHN3aXBlci1zbGlkZS1zaGFkb3ctJHtlfWA6XCJcIn1gLGk9aCh0KTtsZXQgcj1pLnF1ZXJ5U2VsZWN0b3IoYC4ke2Euc3BsaXQoXCIgXCIpLmpvaW4oXCIuXCIpfWApO3JldHVybiByfHwocj12KFwiZGl2XCIsYS5zcGxpdChcIiBcIikpLGkuYXBwZW5kKHIpKSxyfU9iamVjdC5rZXlzKGFlKS5mb3JFYWNoKChlPT57T2JqZWN0LmtleXMoYWVbZV0pLmZvckVhY2goKHQ9PntyZS5wcm90b3R5cGVbdF09YWVbZV1bdF19KSl9KSkscmUudXNlKFtmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsb246cyxlbWl0OmF9PWU7Y29uc3QgaT1yKCk7bGV0IG49bnVsbCxsPW51bGw7Y29uc3Qgbz0oKT0+e3QmJiF0LmRlc3Ryb3llZCYmdC5pbml0aWFsaXplZCYmKGEoXCJiZWZvcmVSZXNpemVcIiksYShcInJlc2l6ZVwiKSl9LGQ9KCk9Pnt0JiYhdC5kZXN0cm95ZWQmJnQuaW5pdGlhbGl6ZWQmJmEoXCJvcmllbnRhdGlvbmNoYW5nZVwiKX07cyhcImluaXRcIiwoKCk9Pnt0LnBhcmFtcy5yZXNpemVPYnNlcnZlciYmdm9pZCAwIT09aS5SZXNpemVPYnNlcnZlcj90JiYhdC5kZXN0cm95ZWQmJnQuaW5pdGlhbGl6ZWQmJihuPW5ldyBSZXNpemVPYnNlcnZlcigoZT0+e2w9aS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57Y29uc3R7d2lkdGg6cyxoZWlnaHQ6YX09dDtsZXQgaT1zLHI9YTtlLmZvckVhY2goKGU9PntsZXR7Y29udGVudEJveFNpemU6cyxjb250ZW50UmVjdDphLHRhcmdldDpufT1lO24mJm4hPT10LmVsfHwoaT1hP2Eud2lkdGg6KHNbMF18fHMpLmlubGluZVNpemUscj1hP2EuaGVpZ2h0OihzWzBdfHxzKS5ibG9ja1NpemUpfSkpLGk9PT1zJiZyPT09YXx8bygpfSkpfSkpLG4ub2JzZXJ2ZSh0LmVsKSk6KGkuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLG8pLGkuYWRkRXZlbnRMaXN0ZW5lcihcIm9yaWVudGF0aW9uY2hhbmdlXCIsZCkpfSkpLHMoXCJkZXN0cm95XCIsKCgpPT57bCYmaS5jYW5jZWxBbmltYXRpb25GcmFtZShsKSxuJiZuLnVub2JzZXJ2ZSYmdC5lbCYmKG4udW5vYnNlcnZlKHQuZWwpLG49bnVsbCksaS5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsbyksaS5yZW1vdmVFdmVudExpc3RlbmVyKFwib3JpZW50YXRpb25jaGFuZ2VcIixkKX0pKX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmEsZW1pdDppfT1lO2NvbnN0IG49W10sbD1yKCksbz1mdW5jdGlvbihlLHMpe3ZvaWQgMD09PXMmJihzPXt9KTtjb25zdCBhPW5ldyhsLk11dGF0aW9uT2JzZXJ2ZXJ8fGwuV2Via2l0TXV0YXRpb25PYnNlcnZlcikoKGU9PntpZih0Ll9fcHJldmVudE9ic2VydmVyX18pcmV0dXJuO2lmKDE9PT1lLmxlbmd0aClyZXR1cm4gdm9pZCBpKFwib2JzZXJ2ZXJVcGRhdGVcIixlWzBdKTtjb25zdCBzPWZ1bmN0aW9uKCl7aShcIm9ic2VydmVyVXBkYXRlXCIsZVswXSl9O2wucmVxdWVzdEFuaW1hdGlvbkZyYW1lP2wucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHMpOmwuc2V0VGltZW91dChzLDApfSkpO2Eub2JzZXJ2ZShlLHthdHRyaWJ1dGVzOnZvaWQgMD09PXMuYXR0cmlidXRlc3x8cy5hdHRyaWJ1dGVzLGNoaWxkTGlzdDp0LmlzRWxlbWVudHx8KHZvaWQgMD09PXMuY2hpbGRMaXN0fHxzKS5jaGlsZExpc3QsY2hhcmFjdGVyRGF0YTp2b2lkIDA9PT1zLmNoYXJhY3RlckRhdGF8fHMuY2hhcmFjdGVyRGF0YX0pLG4ucHVzaChhKX07cyh7b2JzZXJ2ZXI6ITEsb2JzZXJ2ZVBhcmVudHM6ITEsb2JzZXJ2ZVNsaWRlQ2hpbGRyZW46ITF9KSxhKFwiaW5pdFwiLCgoKT0+e2lmKHQucGFyYW1zLm9ic2VydmVyKXtpZih0LnBhcmFtcy5vYnNlcnZlUGFyZW50cyl7Y29uc3QgZT1FKHQuaG9zdEVsKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTEpbyhlW3RdKX1vKHQuaG9zdEVsLHtjaGlsZExpc3Q6dC5wYXJhbXMub2JzZXJ2ZVNsaWRlQ2hpbGRyZW59KSxvKHQud3JhcHBlckVsLHthdHRyaWJ1dGVzOiExfSl9f
5043SkpLGEoXCJkZXN0cm95XCIsKCgpPT57bi5mb3JFYWNoKChlPT57ZS5kaXNjb25uZWN0KCl9KSksbi5zcGxpY2UoMCxuLmxlbmd0aCl9KSl9XSk7Y29uc3QgdmU9W2Z1bmN0aW9uKGUpe2xldCB0LHtzd2lwZXI6cyxleHRlbmRQYXJhbXM6aSxvbjpyLGVtaXQ6bn09ZTtpKHt2aXJ0dWFsOntlbmFibGVkOiExLHNsaWRlczpbXSxjYWNoZTohMCxyZW5kZXJTbGlkZTpudWxsLHJlbmRlckV4dGVybmFsOm51bGwscmVuZGVyRXh0ZXJuYWxVcGRhdGU6ITAsYWRkU2xpZGVzQmVmb3JlOjAsYWRkU2xpZGVzQWZ0ZXI6MH19KTtjb25zdCBsPWEoKTtzLnZpcnR1YWw9e2NhY2hlOnt9LGZyb206dm9pZCAwLHRvOnZvaWQgMCxzbGlkZXM6W10sb2Zmc2V0OjAsc2xpZGVzR3JpZDpbXX07Y29uc3Qgbz1sLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7ZnVuY3Rpb24gZChlLHQpe2NvbnN0IGE9cy5wYXJhbXMudmlydHVhbDtpZihhLmNhY2hlJiZzLnZpcnR1YWwuY2FjaGVbdF0pcmV0dXJuIHMudmlydHVhbC5jYWNoZVt0XTtsZXQgaTtyZXR1cm4gYS5yZW5kZXJTbGlkZT8oaT1hLnJlbmRlclNsaWRlLmNhbGwocyxlLHQpLFwic3RyaW5nXCI9PXR5cGVvZiBpJiYoQyhvLGkpLGk9by5jaGlsZHJlblswXSkpOmk9cy5pc0VsZW1lbnQ/dihcInN3aXBlci1zbGlkZVwiKTp2KFwiZGl2XCIscy5wYXJhbXMuc2xpZGVDbGFzcyksaS5zZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleFwiLHQpLGEucmVuZGVyU2xpZGV8fEMoaSxlKSxhLmNhY2hlJiYocy52aXJ0dWFsLmNhY2hlW3RdPWkpLGl9ZnVuY3Rpb24gYyhlLHQsYSl7Y29uc3R7c2xpZGVzUGVyVmlldzppLHNsaWRlc1Blckdyb3VwOnIsY2VudGVyZWRTbGlkZXM6bCxsb29wOm8saW5pdGlhbFNsaWRlOmN9PXMucGFyYW1zO2lmKHQmJiFvJiZjPjApcmV0dXJuO2NvbnN0e2FkZFNsaWRlc0JlZm9yZTpwLGFkZFNsaWRlc0FmdGVyOnV9PXMucGFyYW1zLnZpcnR1YWwse2Zyb206bSx0bzpoLHNsaWRlczpnLHNsaWRlc0dyaWQ6dixvZmZzZXQ6d309cy52aXJ0dWFsO3MucGFyYW1zLmNzc01vZGV8fHMudXBkYXRlQWN0aXZlSW5kZXgoKTtjb25zdCBiPXZvaWQgMD09PWE/cy5hY3RpdmVJbmRleHx8MDphO2xldCB5LEUseDt5PXMucnRsVHJhbnNsYXRlP1wicmlnaHRcIjpzLmlzSG9yaXpvbnRhbCgpP1wibGVmdFwiOlwidG9wXCIsbD8oRT1NYXRoLmZsb29yKGkvMikrcit1LHg9TWF0aC5mbG9vcihpLzIpK3IrcCk6KEU9aSsoci0xKSt1LHg9KG8/aTpyKStwKTtsZXQgUz1iLXgsVD1iK0U7b3x8KFM9TWF0aC5tYXgoUywwKSxUPU1hdGgubWluKFQsZy5sZW5ndGgtMSkpO2xldCBNPShzLnNsaWRlc0dyaWRbU118fDApLShzLnNsaWRlc0dyaWRbMF18fDApO2Z1bmN0aW9uIEMoKXtzLnVwZGF0ZVNsaWRlcygpLHMudXBkYXRlUHJvZ3Jlc3MoKSxzLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxuKFwidmlydHVhbFVwZGF0ZVwiKX1pZihvJiZiPj14PyhTLT14LGx8fChNKz1zLnNsaWRlc0dyaWRbMF0pKTpvJiZiPHgmJihTPS14LGwmJihNKz1zLnNsaWRlc0dyaWRbMF0pKSxPYmplY3QuYXNzaWduKHMudmlydHVhbCx7ZnJvbTpTLHRvOlQsb2Zmc2V0Ok0sc2xpZGVzR3JpZDpzLnNsaWRlc0dyaWQsc2xpZGVzQmVmb3JlOngsc2xpZGVzQWZ0ZXI6RX0pLG09PT1TJiZoPT09VCYmIWUpcmV0dXJuIHMuc2xpZGVzR3JpZCE9PXYmJk0hPT13JiZzLnNsaWRlcy5mb3JFYWNoKChlPT57ZS5zdHlsZVt5XT1NLU1hdGguYWJzKHMuY3NzT3ZlcmZsb3dBZGp1c3RtZW50KCkpK1wicHhcIn0pKSxzLnVwZGF0ZVByb2dyZXNzKCksdm9pZCBuKFwidmlydHVhbFVwZGF0ZVwiKTtpZihzLnBhcmFtcy52aXJ0dWFsLnJlbmRlckV4dGVybmFsKXJldHVybiBzLnBhcmFtcy52aXJ0dWFsLnJlbmRlckV4dGVybmFsLmNhbGwocyx7b2Zmc2V0Ok0sZnJvbTpTLHRvOlQsc2xpZGVzOmZ1bmN0aW9uKCl7Y29uc3QgZT1bXTtmb3IobGV0IHQ9Uzt0PD1UO3QrPTEpZS5wdXNoKGdbdF0pO3JldHVybiBlfSgpfSksdm9p
5043ZChzLnBhcmFtcy52aXJ0dWFsLnJlbmRlckV4dGVybmFsVXBkYXRlP0MoKTpuKFwidmlydHVhbFVwZGF0ZVwiKSk7Y29uc3QgUD1bXSxMPVtdLEk9ZT0+e2xldCB0PWU7cmV0dXJuIGU8MD90PWcubGVuZ3RoK2U6dD49Zy5sZW5ndGgmJih0LT1nLmxlbmd0aCksdH07aWYoZSlzLnNsaWRlcy5maWx0ZXIoKGU9PmUubWF0Y2hlcyhgLiR7cy5wYXJhbXMuc2xpZGVDbGFzc30sIHN3aXBlci1zbGlkZWApKSkuZm9yRWFjaCgoZT0+e2UucmVtb3ZlKCl9KSk7ZWxzZSBmb3IobGV0IGU9bTtlPD1oO2UrPTEpaWYoZTxTfHxlPlQpe2NvbnN0IHQ9SShlKTtzLnNsaWRlcy5maWx0ZXIoKGU9PmUubWF0Y2hlcyhgLiR7cy5wYXJhbXMuc2xpZGVDbGFzc31bZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIke3R9XCJdLCBzd2lwZXItc2xpZGVbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIke3R9XCJdYCkpKS5mb3JFYWNoKChlPT57ZS5yZW1vdmUoKX0pKX1jb25zdCB6PW8/LWcubGVuZ3RoOjAsQT1vPzIqZy5sZW5ndGg6Zy5sZW5ndGg7Zm9yKGxldCB0PXo7dDxBO3QrPTEpaWYodD49UyYmdDw9VCl7Y29uc3Qgcz1JKHQpO3ZvaWQgMD09PWh8fGU/TC5wdXNoKHMpOih0PmgmJkwucHVzaChzKSx0PG0mJlAucHVzaChzKSl9aWYoTC5mb3JFYWNoKChlPT57cy5zbGlkZXNFbC5hcHBlbmQoZChnW2VdLGUpKX0pKSxvKWZvcihsZXQgZT1QLmxlbmd0aC0xO2U+PTA7ZS09MSl7Y29uc3QgdD1QW2VdO3Muc2xpZGVzRWwucHJlcGVuZChkKGdbdF0sdCkpfWVsc2UgUC5zb3J0KCgoZSx0KT0+dC1lKSksUC5mb3JFYWNoKChlPT57cy5zbGlkZXNFbC5wcmVwZW5kKGQoZ1tlXSxlKSl9KSk7ZihzLnNsaWRlc0VsLFwiLnN3aXBlci1zbGlkZSwgc3dpcGVyLXNsaWRlXCIpLmZvckVhY2goKGU9PntlLnN0eWxlW3ldPU0tTWF0aC5hYnMocy5jc3NPdmVyZmxvd0FkanVzdG1lbnQoKSkrXCJweFwifSkpLEMoKX1yKFwiYmVmb3JlSW5pdFwiLCgoKT0+e2lmKCFzLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQpcmV0dXJuO2xldCBlO2lmKHZvaWQgMD09PXMucGFzc2VkUGFyYW1zLnZpcnR1YWwuc2xpZGVzKXtjb25zdCB0PVsuLi5zLnNsaWRlc0VsLmNoaWxkcmVuXS5maWx0ZXIoKGU9PmUubWF0Y2hlcyhgLiR7cy5wYXJhbXMuc2xpZGVDbGFzc30sIHN3aXBlci1zbGlkZWApKSk7dCYmdC5sZW5ndGgmJihzLnZpcnR1YWwuc2xpZGVzPVsuLi50XSxlPSEwLHQuZm9yRWFjaCgoKGUsdCk9PntlLnNldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4XCIsdCkscy52aXJ0dWFsLmNhY2hlW3RdPWUsZS5yZW1vdmUoKX0pKSl9ZXx8KHMudmlydHVhbC5zbGlkZXM9cy5wYXJhbXMudmlydHVhbC5zbGlkZXMpLHMuY2xhc3NOYW1lcy5wdXNoKGAke3MucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3N9dmlydHVhbGApLHMucGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3M9ITAscy5vcmlnaW5hbFBhcmFtcy53YXRjaFNsaWRlc1Byb2dyZXNzPSEwLGMoITEsITApfSkpLHIoXCJzZXRUcmFuc2xhdGVcIiwoKCk9PntzLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQmJihzLnBhcmFtcy5jc3NNb2RlJiYhcy5faW1tZWRpYXRlVmlydHVhbD8oY2xlYXJUaW1lb3V0KHQpLHQ9c2V0VGltZW91dCgoKCk9PntjKCl9KSwxMDApKTpjKCkpfSkpLHIoXCJpbml0IHVwZGF0ZSByZXNpemVcIiwoKCk9PntzLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQmJnMucGFyYW1zLmNzc01vZGUmJnUocy53cmFwcGVyRWwsXCItLXN3aXBlci12aXJ0dWFsLXNpemVcIixgJHtzLnZpcnR1YWxTaXplfXB4YCl9KSksT2JqZWN0LmFzc2lnbihzLnZpcnR1YWwse2FwcGVuZFNsaWRlOmZ1bmN0aW9uKGUpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiBlJiZcImxlbmd0aFwiaW4gZSlmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTEpZVt0XSYmcy52aXJ0dWFsLnNsaWRlcy5wdXNoKGVbdF0pO2Vsc2Ugcy52aXJ0dWFsLnNsaWRlcy5wdXNoKGUpO2MoITApfSxwcmVwZW5kU2xpZGU6ZnVuY3Rpb24oZSl7Y29uc3QgdD1zLmFjdGl2ZUluZGV4O2xldCBhPXQrMSxpPTE7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0xKWVbdF0mJnMudmlydHVhbC5zbGlkZXMudW5zaGlmdChlW3RdKTthPXQrZS5sZW5ndGgsaT1lLmxlbmd0aH1lbHNlIHMudmlydHVhbC5zbGlkZXMudW5zaGlmdChlKTtpZihzLnBhcmFtcy52aXJ0dWFsLmNhY2hlKXtjb25zdCBlPXMudmlydHVhbC5jYWNoZSx0PXt9O09iamVjdC5rZXlzKGUpLmZvckVhY2goKHM9Pntjb25zdCBhPWVbc10scj1hLmdldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4XCIpO3ImJmEuc2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIixwYXJzZUludChyLDEwKStpKSx0W3BhcnNlSW50KHMsMTApK2ldPWF9KSkscy52aXJ0dWFsLmNhY2hlPXR9YyghMCkscy5zbGlkZVRvKGEsMCl9LHJlbW92ZVNsaWRlOmZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuO2xldCB0PXMuYWN0aXZlSW5kZXg7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IobGV0IGE9ZS5sZW5ndGgtMTthPj0wO2EtPTEpcy5wYXJhbXMudmlydHVhbC5jYWNoZSYmKGRlbGV0ZSBzLnZpcnR1YWwuY2FjaGVbZVthXV0sT2JqZWN0LmtleXMocy52aXJ0dWFsLmNhY2hlKS5mb3JFYWNoKCh0PT57dD5lJiYocy52aXJ0dWFsLmNhY2hlW3QtMV09cy52aXJ0dWFsLmNhY2hlW3RdLHMudmlydHVhbC5jYWNoZVt0LTFdLnNldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4XCIsdC0xKSxkZWxldGUgcy52aXJ0dWFsLmNhY2hlW3RdKX0pKSkscy52aXJ0dWFsLnNsaWRlcy5zcGxpY2UoZVthXSwxKSxlW2FdPHQmJih0LT0xKSx0PU1hdGgubWF4KHQsMCk7ZWxzZSBzLnBhcmFtcy52aXJ0dWFsLmNhY2hlJiYoZGVsZXRlIHMudmlydHVhbC5jYWNoZVtlXSxPYmplY3Qua2V5cyhzLnZpcnR1YWwuY2FjaGUpLmZvckVhY2goKHQ9Pnt0PmUmJihzLnZpcnR1YWwuY2FjaGVbdC0xXT1zLnZpcnR1YWwuY2FjaGVbd
5043F0scy52aXJ0dWFsLmNhY2hlW3QtMV0uc2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIix0LTEpLGRlbGV0ZSBzLnZpcnR1YWwuY2FjaGVbdF0pfSkpKSxzLnZpcnR1YWwuc2xpZGVzLnNwbGljZShlLDEpLGU8dCYmKHQtPTEpLHQ9TWF0aC5tYXgodCwwKTtjKCEwKSxzLnNsaWRlVG8odCwwKX0scmVtb3ZlQWxsU2xpZGVzOmZ1bmN0aW9uKCl7cy52aXJ0dWFsLnNsaWRlcz1bXSxzLnBhcmFtcy52aXJ0dWFsLmNhY2hlJiYocy52aXJ0dWFsLmNhY2hlPXt9KSxjKCEwKSxzLnNsaWRlVG8oMCwwKX0sdXBkYXRlOmN9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmksZW1pdDpufT1lO2NvbnN0IGw9YSgpLG89cigpO2Z1bmN0aW9uIGQoZSl7aWYoIXQuZW5hYmxlZClyZXR1cm47Y29uc3R7cnRsVHJhbnNsYXRlOnN9PXQ7bGV0IGE9ZTthLm9yaWdpbmFsRXZlbnQmJihhPWEub3JpZ2luYWxFdmVudCk7Y29uc3QgaT1hLmtleUNvZGV8fGEuY2hhckNvZGUscj10LnBhcmFtcy5rZXlib2FyZC5wYWdlVXBEb3duLGQ9ciYmMzM9PT1pLGM9ciYmMzQ9PT1pLHA9Mzc9PT1pLHU9Mzk9PT1pLG09Mzg9PT1pLGg9NDA9PT1pO2lmKCF0LmFsbG93U2xpZGVOZXh0JiYodC5pc0hvcml6b250YWwoKSYmdXx8dC5pc1ZlcnRpY2FsKCkmJmh8fGMpKXJldHVybiExO2lmKCF0LmFsbG93U2xpZGVQcmV2JiYodC5pc0hvcml6b250YWwoKSYmcHx8dC5pc1ZlcnRpY2FsKCkmJm18fGQpKXJldHVybiExO2lmKCEoYS5zaGlmdEtleXx8YS5hbHRLZXl8fGEuY3RybEtleXx8YS5tZXRhS2V5fHxsLmFjdGl2ZUVsZW1lbnQmJihsLmFjdGl2ZUVsZW1lbnQuaXNDb250ZW50RWRpdGFibGV8fGwuYWN0aXZlRWxlbWVudC5ub2RlTmFtZSYmKFwiaW5wdXRcIj09PWwuYWN0aXZlRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfHxcInRleHRhcmVhXCI9PT1sLmFjdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkpKSl7aWYodC5wYXJhbXMua2V5Ym9hcmQub25seUluVmlld3BvcnQmJihkfHxjfHxwfHx1fHxtfHxoKSl7bGV0IGU9ITE7aWYoRSh0LmVsLGAuJHt0LnBhcmFtcy5zbGlkZUNsYXNzfSwgc3dpcGVyLXNsaWRlYCkubGVuZ3RoPjAmJjA9PT1FKHQuZWwsYC4ke3QucGFyYW1zLnNsaWRlQWN0aXZlQ2xhc3N9YCkubGVuZ3RoKXJldHVybjtjb25zdCBhPXQuZWwsaT1hLmNsaWVudFdpZHRoLHI9YS5jbGllbnRIZWlnaHQsbj1vLmlubmVyV2lkdGgsbD1vLmlubmVySGVpZ2h0LGQ9dyhhKTtzJiYoZC5sZWZ0LT1hLnNjcm9sbExlZnQpO2NvbnN0IGM9W1tkLmxlZnQsZC50b3BdLFtkLmxlZnQraSxkLnRvcF0sW2QubGVmdCxkLnRvcCtyXSxbZC5sZWZ0K2ksZC50b3Arcl1dO2ZvcihsZXQgdD0wO3Q8Yy5sZW5ndGg7dCs9MSl7Y29uc3Qgcz1jW3RdO2lmKHNbMF0+PTAmJnNbMF08PW4mJnNbMV0+PTAmJnNbMV08PWwpe2lmKDA9PT1zWzBdJiYwPT09c1sxXSljb250aW51ZTtlPSEwfX1pZighZSlyZXR1cm59dC5pc0hvcml6b250YWwoKT8oKGR8fGN8fHB8fHUpJiYoYS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMSksKChjfHx1KSYmIXN8fChkfHxwKSYmcykmJnQuc2xpZGVOZXh0KCksKChkfHxwKSYmIXN8fChjfHx1KSYmcykmJnQuc2xpZGVQcmV2KCkpOigoZHx8Y3x8bXx8aCkmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKSwoY3x8aCkmJnQuc2xpZGVOZXh0KCksKGR8fG0pJiZ0LnNsaWRlUHJldigpKSxuKFwia2V5UHJlc3NcIixpKX19ZnVuY3Rpb24gYygpe3Qua2V5Ym9hcmQuZW5hYmxlZHx8KGwuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixkKSx0LmtleWJvYXJkLmVuYWJsZWQ9ITApfWZ1bmN0aW9uIHAoKXt0LmtleWJvYXJkLmVuYWJsZWQmJihsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsZCksdC5rZXlib2FyZC5lbmFibGVkPSExKX10LmtleWJvYXJkPXtlbmFibGVkOiExfSxzKHtrZXlib2FyZDp7ZW5hYmxlZDohMSxvbmx5SW5WaWV3cG9ydDohMCxwYWdlVXBEb3duOiEwfX0pLGkoXCJpbml0XCIsKCgpPT57dC5wYXJhbXMua2V5Ym9hcmQuZW5hYmxlZCYmYygpfSkpLGkoXCJkZXN0cm95XCIsKCgpPT57dC5rZXlib2FyZC5lbmFibGVkJiZwKCl9KSksT2JqZWN0LmFzc2lnbih0LmtleWJvYXJkLHtlbmFibGU6YyxkaXNhYmxlOnB9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmEsZW1pdDppfT1lO2NvbnN0IG49cigpO2xldCBkO3Moe21vdXNld2hlZWw6e2VuYWJsZWQ6ITEscmVsZWFzZU9uRWRnZXM6ITEsaW52ZXJ0OiExLGZvcmNlVG9BeGlzOiExLHNlbnNpdGl2aXR5OjEsZXZlbnRzVGFyZ2V0OlwiY29udGFpbmVyXCIsdGhyZXNob2xkRGVsdGE6bnVsbCx0aHJlc2hvbGRUaW1lOm51bGwsbm9Nb3VzZXdoZWVsQ2xhc3M6XCJzd2lwZXItbm8tbW91c2V3aGVlbFwifX0pLHQubW91c2V3aGVlbD17ZW5hYmxlZDohMX07bGV0IGMscD1vKCk7Y29uc3QgdT1bXTtmdW5jdGlvbiBtKCl7dC5lbmFibGVkJiYodC5tb3VzZUVudGVyZWQ9ITApfWZ1bmN0aW9uIGgoKXt0LmVuYWJsZWQmJih0Lm1vdXNlRW50ZXJlZD0hMSl9ZnVuY3Rpb24gZihlKXtyZXR1cm4hKHQucGFyYW1zLm1vdXNld2hlZWwudGhyZXNob2xkRGVsdGEmJmUuZGVsdGE8dC5wYXJhbXMubW91c2V3aGVlbC50aHJlc2hvbGREZWx0YSkmJighKHQucGFyYW1zLm1vdXNld2hlZWwudGhyZXNob2xkVGltZSYmbygpLXA8dC5wYXJhbXMubW91c2V3aGVlbC50aHJlc2hvbGRUaW1lKSYmKGUuZGVsdGE+PTYmJm8oKS1wPDYwfHwoZS5kaXJlY3Rpb248MD90LmlzRW5kJiYhdC5wYXJhbXMubG9vcHx8dC5hbmltYXRpbmd8fCh0LnNsaWRlTmV4dCgpLGkoXCJzY3JvbGxcIixlLnJhdykpOnQuaXNCZWdpbm5pbmcmJiF0LnBhcmFtcy5sb29wfHx0LmFuaW1hdGluZ3x8KHQuc2xpZGVQcmV2KCksaShcInNjcm9sbFwiLGUucmF3KSkscD0obmV3IG4uRGF0ZSkuZ2V0VGltZSgpLCExKSkpfWZ1bmN0aW9uIGcoZSl7bGV0IHM9ZSxhPSEwO2lmKCF0LmVuYWJsZWQpcmV0dXJuO2lmKGUudGFyZ2V0LmNsb3Nlc3QoYC4ke3QucGFyYW1zLm1vdXNld2hlZWwubm9Nb3VzZXdoZWVsQ2xhc3N9YCkpcmV0dXJuO2NvbnN0IHI9dC5wYXJhbXMubW91c2V3aGVlbDt0LnBhcmFtcy5jc3NNb2RlJiZzLnByZX
5043ZlbnREZWZhdWx0KCk7bGV0IG49dC5lbDtcImNvbnRhaW5lclwiIT09dC5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZXQmJihuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodC5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZXQpKTtjb25zdCBwPW4mJm4uY29udGFpbnMocy50YXJnZXQpO2lmKCF0Lm1vdXNlRW50ZXJlZCYmIXAmJiFyLnJlbGVhc2VPbkVkZ2VzKXJldHVybiEwO3Mub3JpZ2luYWxFdmVudCYmKHM9cy5vcmlnaW5hbEV2ZW50KTtsZXQgbT0wO2NvbnN0IGg9dC5ydGxUcmFuc2xhdGU/LTE6MSxnPWZ1bmN0aW9uKGUpe2xldCB0PTAscz0wLGE9MCxpPTA7cmV0dXJuXCJkZXRhaWxcImluIGUmJihzPWUuZGV0YWlsKSxcIndoZWVsRGVsdGFcImluIGUmJihzPS1lLndoZWVsRGVsdGEvMTIwKSxcIndoZWVsRGVsdGFZXCJpbiBlJiYocz0tZS53aGVlbERlbHRhWS8xMjApLFwid2hlZWxEZWx0YVhcImluIGUmJih0PS1lLndoZWVsRGVsdGFYLzEyMCksXCJheGlzXCJpbiBlJiZlLmF4aXM9PT1lLkhPUklaT05UQUxfQVhJUyYmKHQ9cyxzPTApLGE9MTAqdCxpPTEwKnMsXCJkZWx0YVlcImluIGUmJihpPWUuZGVsdGFZKSxcImRlbHRhWFwiaW4gZSYmKGE9ZS5kZWx0YVgpLGUuc2hpZnRLZXkmJiFhJiYoYT1pLGk9MCksKGF8fGkpJiZlLmRlbHRhTW9kZSYmKDE9PT1lLmRlbHRhTW9kZT8oYSo9NDAsaSo9NDApOihhKj04MDAsaSo9ODAwKSksYSYmIXQmJih0PWE8MT8tMToxKSxpJiYhcyYmKHM9aTwxPy0xOjEpLHtzcGluWDp0LHNwaW5ZOnMscGl4ZWxYOmEscGl4ZWxZOml9fShzKTtpZihyLmZvcmNlVG9BeGlzKWlmKHQuaXNIb3Jpem9udGFsKCkpe2lmKCEoTWF0aC5hYnMoZy5waXhlbFgpPk1hdGguYWJzKGcucGl4ZWxZKSkpcmV0dXJuITA7bT0tZy5waXhlbFgqaH1lbHNle2lmKCEoTWF0aC5hYnMoZy5waXhlbFkpPk1hdGguYWJzKGcucGl4ZWxYKSkpcmV0dXJuITA7bT0tZy5waXhlbFl9ZWxzZSBtPU1hdGguYWJzKGcucGl4ZWxYKT5NYXRoLmFicyhnLnBpeGVsWSk/LWcucGl4ZWxYKmg6LWcucGl4ZWxZO2lmKDA9PT1tKXJldHVybiEwO3IuaW52ZXJ0JiYobT0tbSk7bGV0IHY9dC5nZXRUcmFuc2xhdGUoKSttKnIuc2Vuc2l0aXZpdHk7aWYodj49dC5taW5UcmFuc2xhdGUoKSYmKHY9dC5taW5UcmFuc2xhdGUoKSksdjw9dC5tYXhUcmFuc2xhdGUoKSYmKHY9dC5tYXhUcmFuc2xhdGUoKSksYT0hIXQucGFyYW1zLmxvb3B8fCEodj09PXQubWluVHJhbnNsYXRlKCl8fHY9PT10Lm1heFRyYW5zbGF0ZSgpKSxhJiZ0LnBhcmFtcy5uZXN0ZWQmJnMuc3RvcFByb3BhZ2F0aW9uKCksdC5wYXJhbXMuZnJlZU1vZGUmJnQucGFyYW1zLmZyZWVNb2RlLmVuYWJsZWQpe2NvbnN0IGU9e3RpbWU6bygpLGRlbHRhOk1hdGguYWJzKG0pLGRpcmVjdGlvbjpNYXRoLnNpZ24obSl9LGE9YyYmZS50aW1lPGMudGltZSs1MDAmJmUuZGVsdGE8PWMuZGVsdGEmJmUuZGlyZWN0aW9uPT09Yy5kaXJlY3Rpb247aWYoIWEpe2M9dm9pZCAwO2xldCBuPXQuZ2V0VHJhbnNsYXRlKCkrbSpyLnNlbnNpdGl2aXR5O2NvbnN0IG89dC5pc0JlZ2lubmluZyxwPXQuaXNFbmQ7aWYobj49dC5taW5UcmFuc2xhdGUoKSYmKG49dC5taW5UcmFuc2xhdGUoKSksbjw9dC5tYXhUcmFuc2xhdGUoKSYmKG49dC5tYXhUcmFuc2xhdGUoKSksdC5zZXRUcmFuc2l0aW9uKDApLHQuc2V0VHJhbnNsYXRlKG4pLHQudXBkYXRlUHJvZ3Jlc3MoKSx0LnVwZGF0ZUFjdGl2ZUluZGV4KCksdC51cGRhdGVTbGlkZXNDbGFzc2VzKCksKCFvJiZ0LmlzQmVnaW5uaW5nfHwhcCYmdC5pc0VuZCkmJnQudXBkYXRlU2xpZGVzQ2xhc3NlcygpLHQucGFyYW1zLmxvb3AmJnQubG9vcEZpeCh7ZGlyZWN0aW9uOmUuZGlyZWN0aW9uPDA/XCJuZXh0XCI6XCJwcmV2XCIsYnlNb3VzZXdoZWVsOiEwfSksdC5wYXJhbXMuZnJlZU1vZGUuc3RpY2t5KXtjbGVhclRpbWVvdXQoZCksZD12b2lkIDAsdS5sZW5ndGg+PTE1JiZ1LnNoaWZ0KCk7Y29uc3Qgcz11Lmxlbmd0aD91W3UubGVuZ3RoLTFdOnZvaWQgMCxhPXVbMF07aWYodS5wdXNoKGUpLHMmJihlLmRlbHRhPnMuZGVsdGF8fGUuZGlyZWN0aW9uIT09cy5kaXJlY3Rpb24pKXUuc3BsaWNlKDApO2Vsc2UgaWYodS5sZW5ndGg+PTE1JiZlLnRpbWUtYS50aW1lPDUwMCYmYS5kZWx0YS1lLmRlbHRhPj0xJiZlLmRlbHRhPD02KXtjb25zdCBzPW0+MD8uODouMjtjPWUsdS5zcGxpY2UoMCksZD1sKCgoKT0+eyF0LmRlc3Ryb3llZCYmdC5wYXJhbXMmJnQuc2xpZGVUb0Nsb3Nlc3QodC5wYXJhbXMuc3BlZWQsITAsdm9pZCAwLHMpfSksMCl9ZHx8KGQ9bCgoKCk9PntpZih0LmRlc3Ryb3llZHx8IXQucGFyYW1zKXJldHVybjtjPWUsdS5zcGxpY2UoMCksdC5zbGlkZVRvQ2xvc2VzdCh0LnBhcmFtcy5zcGVlZCwhMCx2b2lkIDAsLjUpfSksNTAwKSl9aWYoYXx8aShcInNjcm9sbFwiLHMpLHQucGFyYW1zLmF1dG9wbGF5JiZ0LnBhcmFtcy5hdXRvcGxheS5kaXNhYmxlT25JbnRlcmFjdGlvbiYmdC5hdXRvcGxheS5zdG9wKCksci5yZWxlYXNlT25FZGdlcyYmKG49PT10Lm1pblRyYW5zbGF0ZSgpfHxuPT09dC5tYXhUcmFuc2xhdGUoKSkpcmV0dXJuITB9fWVsc2V7Y29uc3Qgcz17dGltZTpvKCksZGVsdGE6TWF0aC5hYnMobSksZGlyZWN0aW9uOk1hdGguc2lnbihtKSxyYXc6ZX07dS5sZW5ndGg+PTImJnUuc2hpZnQoKTtjb25zdCBhPXUubGVuZ3RoP3VbdS5sZW5ndGgtMV06dm9pZCAwO2lmKHUucHVzaChzKSxhPyhzLmRpcmVjdGlvbiE9PWEuZGlyZWN0aW9ufHxzLmRlbHRhPmEuZGVsdGF8fHMudGltZT5hLnRpbWUrMTUwKSYmZihzKTpmKHMpLGZ1bmN0aW9uKGUpe2NvbnN0IHM9dC5wYXJhbXMubW91c2V3aGVlbDtpZihlLmRpcmVjdGlvbjwwKXtpZih0LmlzRW5kJiYhdC5wYXJhbXMubG9vcCYmcy5yZWxlYXNlT25FZGdlcylyZXR1cm4hMH1lbHNlIGlmKHQuaXNCZWdpbm5pbmcmJiF0LnBhcmFtcy5sb29wJiZzLnJlbGVhc2VPbkVkZ2VzKXJldHVybiEwO3JldHVybiExfShzKSlyZXR1cm4hMH1yZXR1cm4gcy5wcmV2ZW50RGVmYXVsdD9zLnByZXZlbnREZWZhdWx0KCk6cy5yZXR1cm5WYWx1ZT0hMSwhMX1mdW5jdGlvbiB2KGUpe2xldCBzPXQuZWw7XCJ
5043jb250YWluZXJcIiE9PXQucGFyYW1zLm1vdXNld2hlZWwuZXZlbnRzVGFyZ2V0JiYocz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQucGFyYW1zLm1vdXNld2hlZWwuZXZlbnRzVGFyZ2V0KSksc1tlXShcIm1vdXNlZW50ZXJcIixtKSxzW2VdKFwibW91c2VsZWF2ZVwiLGgpLHNbZV0oXCJ3aGVlbFwiLGcpfWZ1bmN0aW9uIHcoKXtyZXR1cm4gdC5wYXJhbXMuY3NzTW9kZT8odC53cmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIndoZWVsXCIsZyksITApOiF0Lm1vdXNld2hlZWwuZW5hYmxlZCYmKHYoXCJhZGRFdmVudExpc3RlbmVyXCIpLHQubW91c2V3aGVlbC5lbmFibGVkPSEwLCEwKX1mdW5jdGlvbiBiKCl7cmV0dXJuIHQucGFyYW1zLmNzc01vZGU/KHQud3JhcHBlckVsLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsZyksITApOiEhdC5tb3VzZXdoZWVsLmVuYWJsZWQmJih2KFwicmVtb3ZlRXZlbnRMaXN0ZW5lclwiKSx0Lm1vdXNld2hlZWwuZW5hYmxlZD0hMSwhMCl9YShcImluaXRcIiwoKCk9PnshdC5wYXJhbXMubW91c2V3aGVlbC5lbmFibGVkJiZ0LnBhcmFtcy5jc3NNb2RlJiZiKCksdC5wYXJhbXMubW91c2V3aGVlbC5lbmFibGVkJiZ3KCl9KSksYShcImRlc3Ryb3lcIiwoKCk9Pnt0LnBhcmFtcy5jc3NNb2RlJiZ3KCksdC5tb3VzZXdoZWVsLmVuYWJsZWQmJmIoKX0pKSxPYmplY3QuYXNzaWduKHQubW91c2V3aGVlbCx7ZW5hYmxlOncsZGlzYWJsZTpifSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphLGVtaXQ6aX09ZTtmdW5jdGlvbiByKGUpe2xldCBzO3JldHVybiBlJiZcInN0cmluZ1wiPT10eXBlb2YgZSYmdC5pc0VsZW1lbnQmJihzPXQuZWwucXVlcnlTZWxlY3RvcihlKXx8dC5ob3N0RWwucXVlcnlTZWxlY3RvcihlKSxzKT9zOihlJiYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJihzPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUpXSksdC5wYXJhbXMudW5pcXVlTmF2RWxlbWVudHMmJlwic3RyaW5nXCI9PXR5cGVvZiBlJiZzJiZzLmxlbmd0aD4xJiYxPT09dC5lbC5xdWVyeVNlbGVjdG9yQWxsKGUpLmxlbmd0aD9zPXQuZWwucXVlcnlTZWxlY3RvcihlKTpzJiYxPT09cy5sZW5ndGgmJihzPXNbMF0pKSxlJiYhcz9lOnMpfWZ1bmN0aW9uIG4oZSxzKXtjb25zdCBhPXQucGFyYW1zLm5hdmlnYXRpb247KGU9VChlKSkuZm9yRWFjaCgoZT0+e2UmJihlLmNsYXNzTGlzdFtzP1wiYWRkXCI6XCJyZW1vdmVcIl0oLi4uYS5kaXNhYmxlZENsYXNzLnNwbGl0KFwiIFwiKSksXCJCVVRUT05cIj09PWUudGFnTmFtZSYmKGUuZGlzYWJsZWQ9cyksdC5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmdC5lbmFibGVkJiZlLmNsYXNzTGlzdFt0LmlzTG9ja2VkP1wiYWRkXCI6XCJyZW1vdmVcIl0oYS5sb2NrQ2xhc3MpKX0pKX1mdW5jdGlvbiBsKCl7Y29uc3R7bmV4dEVsOmUscHJldkVsOnN9PXQubmF2aWdhdGlvbjtpZih0LnBhcmFtcy5sb29wKXJldHVybiBuKHMsITEpLHZvaWQgbihlLCExKTtuKH
5043MsdC5pc0JlZ2lubmluZyYmIXQucGFyYW1zLnJld2luZCksbihlLHQuaXNFbmQmJiF0LnBhcmFtcy5yZXdpbmQpfWZ1bmN0aW9uIG8oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLCghdC5pc0JlZ2lubmluZ3x8dC5wYXJhbXMubG9vcHx8dC5wYXJhbXMucmV3aW5kKSYmKHQuc2xpZGVQcmV2KCksaShcIm5hdmlnYXRpb25QcmV2XCIpKX1mdW5jdGlvbiBkKGUpe2UucHJldmVudERlZmF1bHQoKSwoIXQuaXNFbmR8fHQucGFyYW1zLmxvb3B8fHQucGFyYW1zLnJld2luZCkmJih0LnNsaWRlTmV4dCgpLGkoXCJuYXZpZ2F0aW9uTmV4dFwiKSl9ZnVuY3Rpb24gYygpe2NvbnN0IGU9dC5wYXJhbXMubmF2aWdhdGlvbjtpZih0LnBhcmFtcy5uYXZpZ2F0aW9uPW5lKHQsdC5vcmlnaW5hbFBhcmFtcy5uYXZpZ2F0aW9uLHQucGFyYW1zLm5hdmlnYXRpb24se25leHRFbDpcInN3aXBlci1idXR0b24tbmV4dFwiLHByZXZFbDpcInN3aXBlci1idXR0b24tcHJldlwifSksIWUubmV4dEVsJiYhZS5wcmV2RWwpcmV0dXJuO2xldCBzPXIoZS5uZXh0RWwpLGE9cihlLnByZXZFbCk7T2JqZWN0LmFzc2lnbih0Lm5hdmlnYXRpb24se25leHRFbDpzLHByZXZFbDphfSkscz1UKHMpLGE9VChhKTtjb25zdCBpPShzLGEpPT57cyYmcy5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixcIm5leHRcIj09PWE/ZDpvKSwhdC5lbmFibGVkJiZzJiZzLmNsYXNzTGlzdC5hZGQoLi4uZS5sb2NrQ2xhc3Muc3BsaXQoXCIgXCIpKX07cy5mb3JFYWNoKChlPT5pKGUsXCJuZXh0XCIpKSksYS5mb3JFYWNoKChlPT5pKGUsXCJwcmV2XCIpKSl9ZnVuY3Rpb24gcCgpe2xldHtuZXh0RWw6ZSxwcmV2RWw6c309dC5uYXZpZ2F0aW9uO2U9VChlKSxzPVQocyk7Y29uc3QgYT0oZSxzKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsXCJuZXh0XCI9PT1zP2Q6byksZS5jbGFzc0xpc3QucmVtb3ZlKC4uLnQucGFyYW1zLm5hdmlnYXRpb24uZGlzYWJsZWRDbGFzcy5zcGxpdChcIiBcIikpfTtlLmZvckVhY2goKGU9PmEoZSxcIm5leHRcIikpKSxzLmZvckVhY2goKGU9PmEoZSxcInByZXZcIikpKX1zKHtuYXZpZ2F0aW9uOntuZXh0RWw6bnVsbCxwcmV2RWw6bnVsbCxoaWRlT25DbGljazohMSxkaXNhYmxlZENsYXNzOlwic3dpcGVyLWJ1dHRvbi1kaXNhYmxlZFwiLGhpZGRlbkNsYXNzOlwic3dpcGVyLWJ1dHRvbi1oaWRkZW5cIixsb2NrQ2xhc3M6XCJzd2lwZXItYnV0dG9uLWxvY2tcIixuYXZpZ2F0aW9uRGlzYWJsZWRDbGFzczpcInN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkXCJ9fSksdC5uYXZpZ2F0aW9uPXtuZXh0RWw6bnVsbCxwcmV2RWw6bnVsbH0sYShcImluaXRcIiwoKCk9PnshMT09PXQucGFyYW1zLm5hdmlnYXRpb24uZW5hYmxlZD91KCk6KGMoKSxsKCkpfSkpLGEoXCJ0b0VkZ2UgZnJvbUVkZ2UgbG9jayB1bmxvY2tcIiwoKCk9PntsKCl9KSksYShcImRlc3Ryb3lcIiwoKCk9PntwKCl9KSksYShcImVuYWJsZSBkaXNhYmxlXCIsKCgpPT57bGV0e25leHRFbDplLHByZXZFbDpzfT10Lm5hdmlnYXRpb247ZT1UKGUpLHM9VChzKSx0LmVuYWJsZWQ/bCgpOlsuLi5lLC4uLnNdLmZpbHRlcigoZT0+ISFlKSkuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QuYWRkKHQucGFyYW1zLm5hdmlnYXRpb24ubG9ja0NsYXNzKSkpfSkpLGEoXCJjbGlja1wiLCgoZSxzKT0+e2xldHtuZXh0RWw6YSxwcmV2RWw6cn09dC5uYXZpZ2F0aW9uO2E9VChhKSxyPVQocik7Y29uc3Qgbj1zLnRhcmdldDtsZXQgbD1yLmluY2x1ZGVzKG4pfHxhLmluY2x1ZGVzKG4pO2lmKHQuaXNFbGVtZW50JiYhbCl7Y29uc3QgZT1zLnBhdGh8fHMuY29tcG9zZWRQYXRoJiZzLmNvbXBvc2VkUGF0aCgpO2UmJihsPWUuZmluZCgoZT0+YS5pbmNsdWRlcyhlKXx8ci5pbmNsdWRlcyhlKSkpKX1pZih0LnBhcmFtcy5uYXZpZ2F0aW9uLmhpZGVPbkNsaWNrJiYhbCl7aWYodC5wYWdpbmF0aW9uJiZ0LnBhcmFtcy5wYWdpbmF0aW9uJiZ0LnBhcmFtcy5wYWdpbmF0aW9uLmNsaWNrYWJsZSYmKHQucGFnaW5hdGlvbi5lbD09PW58fHQucGFnaW5hdGlvbi5lbC5jb250YWlucyhuKSkpcmV0dXJuO2xldCBlO2EubGVuZ3RoP2U9YVswXS5jbGFzc0xpc3QuY29udGFpbnModC5wYXJhbXMubmF2aWdhdGlvbi5oaWRkZW5DbGFzcyk6ci5sZW5ndGgmJihlPXJbMF0uY2xhc3NMaXN0LmNvbnRhaW5zKHQucGFyYW1zLm5hdmlnYXRpb24uaGlkZGVuQ2xhc3MpKSxpKCEwPT09ZT9cIm5hdmlnYXRpb25TaG93XCI6XCJuYXZpZ2F0aW9uSGlkZVwiKSxbLi4uYSwuLi5yXS5maWx0ZXIoKGU9PiEhZSkpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnRvZ2dsZSh0LnBhcmFtcy5uYXZpZ2F0aW9uLmhpZGRlbkNsYXNzKSkpfX0pKTtjb25zdCB1PSgpPT57dC5lbC5jbGFzc0xpc3QuYWRkKC4uLnQucGFyYW1zLm5hdmlnYXRpb24ubmF2aWdhdGlvbkRpc2FibGVkQ2xhc3Muc3BsaXQoXCIgXCIpKSxwKCl9O09iamVjdC5hc3NpZ24odC5uYXZpZ2F0aW9uLHtlbmFibGU6KCk9Pnt0LmVsLmNsYXNzTGlzdC5yZW1vdmUoLi4udC5wYXJhbXMubmF2aWdhdGlvbi5uYXZpZ2F0aW9uRGlzYWJsZWRDbGFzcy5zcGxpdChcIiBcIikpLGMoKSxsKCl9LGRpc2FibGU6dSx1cGRhdGU6bCxpbml0OmMsZGVzdHJveTpwfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphLGVtaXQ6aX09ZTtjb25zdCByPVwic3dpcGVyLXBhZ2luYXRpb25cIjtsZXQgbjtzKHtwYWdpbmF0aW9uOntlbDpudWxsLGJ1bGxldEVsZW1lbnQ6XCJzcGFuXCIsY2xpY2thYmxlOiExLGhpZGVPbkNsaWNrOiExLHJlbmRlckJ1bGxldDpudWxsLHJlbmRlclByb2dyZXNzYmFyOm51bGwscmVuZGVyRnJhY3Rpb246bnVsbCxyZW5kZXJDdXN0b206bnVsbCxwcm9ncmVzc2Jhck9wcG9zaXRlOiExLHR5cGU6XCJidWxsZXRzXCIsZHluYW1pY0J1bGxldHM6ITEsZHluYW1pY01haW5CdWxsZXRzOjEsZm9ybWF0RnJhY3Rpb25DdXJyZW50OmU9PmUsZm9ybWF0RnJhY3Rpb25Ub3RhbDplPT5lLGJ1bGxldENsYXNzOmAke3J9LWJ1bGxldGAsYnVsbGV0QWN0aXZlQ2xhc3M6YCR7cn0tYnVsbGV0LWFjdGl2ZWAsbW9kaWZpZXJDbGFzczpgJHtyfS1gLGN1cnJlbnRDbGFzczpgJHtyfS1jdXJyZW50YCx0b3RhbENsYXNzOmAke3J9LXRvdGFsYCxoaWRkZW5DbGFzczpgJHtyfS1oaWRkZW5gLHByb2dyZXNzYmFyRmlsbENsYXNzOmAke3J9LXByb2dyZXNzYmFyLWZpbGxgLHByb2dyZXNzYmFyT3Bwb3NpdGVDbGFzczpgJHtyfS1wcm9ncmVzc2Jhci1vcHBvc2l0ZWAsY2xpY2thYmxlQ2xhc3M6YCR7cn0tY2xpY2thYmxlYCxsb2NrQ2xhc3M6YCR7cn0tbG9ja2AsaG9yaXpvbn
5043RhbENsYXNzOmAke3J9LWhvcml6b250YWxgLHZlcnRpY2FsQ2xhc3M6YCR7cn0tdmVydGljYWxgLHBhZ2luYXRpb25EaXNhYmxlZENsYXNzOmAke3J9LWRpc2FibGVkYH19KSx0LnBhZ2luYXRpb249e2VsOm51bGwsYnVsbGV0czpbXX07bGV0IGw9MDtmdW5jdGlvbiBvKCl7cmV0dXJuIXQucGFyYW1zLnBhZ2luYXRpb24uZWx8fCF0LnBhZ2luYXRpb24uZWx8fEFycmF5LmlzQXJyYXkodC5wYWdpbmF0aW9uLmVsKSYmMD09PXQucGFnaW5hdGlvbi5lbC5sZW5ndGh9ZnVuY3Rpb24gZChlLHMpe2NvbnN0e2J1bGxldEFjdGl2ZUNsYXNzOmF9PXQucGFyYW1zLnBhZ2luYXRpb247ZSYmKGU9ZVsoXCJwcmV2XCI9PT1zP1wicHJldmlvdXNcIjpcIm5leHRcIikrXCJFbGVtZW50U2libGluZ1wiXSkmJihlLmNsYXNzTGlzdC5hZGQoYCR7YX0tJHtzfWApLChlPWVbKFwicHJldlwiPT09cz9cInByZXZpb3VzXCI6XCJuZXh0XCIpK1wiRWxlbWVudFNpYmxpbmdcIl0pJiZlLmNsYXNzTGlzdC5hZGQoYCR7YX0tJHtzfS0ke3N9YCkpfWZ1bmN0aW9uIGMoZSl7Y29uc3Qgcz1lLnRhcmdldC5jbG9zZXN0KGxlKHQucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpKTtpZighcylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGE9eShzKSp0LnBhcmFtcy5zbGlkZXNQZXJHcm91cDtpZih0LnBhcmFtcy5sb29wKXtpZih0LnJlYWxJbmRleD09PWEpcmV0dXJuO2NvbnN0IGU9KGk9dC5yZWFsSW5kZXgscj1hLG49dC5zbGlkZXMubGVuZ3RoLChyJT1uKT09MSsoaSU9bik/XCJuZXh0XCI6cj09PWktMT9cInByZXZpb3VzXCI6dm9pZCAwKTtcIm5leHRcIj09PWU/dC5zbGlkZU5leHQoKTpcInByZXZpb3VzXCI9PT1lP3Quc2xpZGVQcmV2KCk6dC5zbGlkZVRvTG9vcChhKX1lbHNlIHQuc2xpZGVUbyhhKTt2YXIgaSxyLG59ZnVuY3Rpb24gcCgpe2NvbnN0IGU9dC5ydGwscz10LnBhcmFtcy5wYWdpbmF0aW9uO2lmKG8oKSlyZXR1cm47bGV0IGEscixjPXQucGFnaW5hdGlvbi5lbDtjPVQoYyk7Y29uc3QgcD10LnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZD90LnZpcnR1YWwuc2xpZGVzLmxlbmd0aDp0LnNsaWRlcy5sZW5ndGgsdT10LnBhcmFtcy5sb29wP01hdGguY2VpbChwL3QucGFyYW1zLnNsaWRlc1Blckdyb3VwKTp0LnNuYXBHcmlkLmxlbmd0aDtpZih0LnBhcmFtcy5sb29wPyhyPXQucHJldmlvdXNSZWFsSW5kZXh8fDAsYT10LnBhcmFtcy5zbGlkZXNQZXJHcm91cD4xP01hdGguZmxvb3IodC5yZWFsSW5kZXgvdC5wYXJhbXMuc2xpZGVzUGVyR3JvdXApOnQucmVhbEluZGV4KTp2b2lkIDAhPT10LnNuYXBJbmRleD8oYT10LnNuYXBJbmRleCxyPXQucHJldmlvdXNTbmFwSW5kZXgpOihyPXQucHJldmlvdXNJbmRleHx8MCxhPXQuYWN0aXZlSW5kZXh8fDApLFwiYnVsbGV0c1wiPT09cy50eXBlJiZ0LnBhZ2luYXRpb24uYnVsbGV0cyYmdC5wYWdpbmF0aW9uLmJ1bGxldHMubGVuZ3RoPjApe2NvbnN0IGk9dC5wYWdpbmF0aW9uLmJ1bGxldHM7bGV0IG8scCx1O2lmKHMuZHluYW1pY0J1bGxldHMmJihuPVMoaVswXSx0LmlzSG9yaXpvbnRhbCgpP1wid2lkdGhcIjpcImhlaWdodFwiLCEwKSxjLmZvckVhY2goKGU9PntlLnN0eWxlW3QuaXNIb3Jpem9udGFsKCk/XCJ3aWR0aFwiOlwiaGVpZ2h0XCJdPW4qKHMuZHluYW1pY01haW5CdWxsZXRzKzQpK1wicHhcIn0pKSxzLmR5bmFtaWNNYWluQnVsbGV0cz4xJiZ2b2lkIDAhPT1yJiYobCs9YS0ocnx8MCksbD5zLmR5bmFtaWNNYWluQnVsbGV0cy0xP2w9cy5keW5hbWljTWFpbkJ1bGxldHMtMTpsPDAmJihsPTApKSxvPU1hdGgubWF4KGEtbCwwKSxwPW8rKE1hdGgubWluKGkubGVuZ3RoLHMuZHluYW1pY01haW5CdWxsZXRzKS0xKSx1PShwK28pLzIpLGkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9Wy4uLltcIlwiLFwiLW5leHRcIixcIi1uZXh0LW5leHRcIixcIi1wcmV2XCIsXCItcHJldi1wcmV2XCIsXCItbWFpblwiXS5tYXAoKGU9PmAke3MuYnVsbGV0QWN0aXZlQ2xhc3N9JHtlfWApKV0ubWFwKChlPT5cInN0cmluZ1wiPT10eXBlb2YgZSYmZS5pbmNsdWRlcyhcIiBcIik/ZS5zcGxpdChcIiBcIik6ZSkpLmZsYXQoKTtlLmNsYXNzTGlzdC5yZW1vdmUoLi4udCl9KSksYy5sZW5ndGg+MSlpLmZvckVhY2goKGU9Pntjb25zdCBpPXkoZSk7aT09PWE/ZS5jbGFzc0xpc3QuYWRkKC4uLnMuYnVsbGV0QWN0aXZlQ2xhc3Muc3BsaXQoXCIgXCIpKTp0LmlzRWxlbWVudCYmZS5zZXRBdHRyaWJ1dGUoXCJwYXJ0XCIsXCJidWxsZXRcIikscy5keW5hbWljQnVsbGV0cyYmKGk+PW8mJmk8PXAmJmUuY2xhc3NMaXN0LmFkZCguLi5gJHtzLmJ1bGxldEFjdGl2ZUNsYXNzfS1tYWluYC5zcGxpdChcIiBcIikpLGk9PT1vJiZkKGUsXCJwcmV2XCIpLGk9PT1wJiZkKGUsXCJuZXh0XCIpKX0pKTtlbHNle2NvbnN0IGU9aVthXTtpZihlJiZlLmNsYXNzTGlzdC5hZGQoLi4ucy5idWxsZXRBY3RpdmVDbGFzcy5zcGxpdChcIiBcIikpLHQuaXNFbGVtZW50JiZpLmZvckVhY2goKChlLHQpPT57ZS5zZXRBdHRyaWJ1dGUoXCJwYXJ0XCIsdD09PWE/XCJidWxsZXQtYWN0aXZlXCI6XCJidWxsZXRcIil9KSkscy5keW5hbWljQnVsbGV0cyl7Y29uc3QgZT1pW29dLHQ9aVtwXTtmb3IobGV0IGU9bztlPD1wO2UrPTEpaVtlXSYmaVtlXS5jbGFzc0xpc3QuYWRkKC4uLmAke3MuYnVsbGV0QWN0aXZlQ2xhc3N9LW1haW5gLnNwbGl0KFwiIFwiKSk7ZChlLFwicHJldlwiKSxkKHQsXCJuZXh0XCIpfX1pZihzLmR5bmFtaWNCdWxsZXRzKXtjb25zdCBhPU1hdGgubWluKGkubGVuZ3RoLHMuZHluYW1pY01haW5CdWxsZXRzKzQpLHI9KG4qYS1uKS8yLXUqbixsPWU/XCJyaWdodFwiOlwibGVmdFwiO2kuZm9yRWFjaCgoZT0+e2Uuc3R5bGVbdC5pc0hvcml6b250YWwoKT9sOlwidG9wXCJdPWAke3J9cHhgfSkpfX1jLmZvckVhY2goKChlLHIpPT57aWYoXCJmcmFjdGlvblwiPT09cy50eXBlJiYoZS5xdWVyeVNlbGVjdG9yQWxsKGxlKHMuY3VycmVudENsYXNzKSkuZm9yRWFjaCgoZT0+e2UudGV4dENvbnRlbnQ9cy5mb3JtYXRGcmFjdGlvbkN1cnJlbnQoYSsxKX0pKSxlLnF1ZXJ5U2VsZWN0b3JBbGwobGUocy50b3RhbENsYXNzKSkuZm9yRWFjaCgoZT0+e2UudGV4dENvbnRlbnQ9cy5mb3JtYXRGcmFjdGlvblRvdGFsKHUpfSkpKSxcInByb2dyZXNzYmFyXCI9PT1zLnR5cGUpe2xldCBpO2k9cy5wcm9ncmVzc2Jhck9wcG9zaXRlP3QuaXNIb3Jpem9udGFsKCk/XCJ2ZXJ0aWNhbFwiOlwiaG9yaXpvbn
5043RhbFwiOnQuaXNIb3Jpem9udGFsKCk/XCJob3Jpem9udGFsXCI6XCJ2ZXJ0aWNhbFwiO2NvbnN0IHI9KGErMSkvdTtsZXQgbj0xLGw9MTtcImhvcml6b250YWxcIj09PWk/bj1yOmw9cixlLnF1ZXJ5U2VsZWN0b3JBbGwobGUocy5wcm9ncmVzc2JhckZpbGxDbGFzcykpLmZvckVhY2goKGU9PntlLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlWCgke259KSBzY2FsZVkoJHtsfSlgLGUuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke3QucGFyYW1zLnNwZWVkfW1zYH0pKX1cImN1c3RvbVwiPT09cy50eXBlJiZzLnJlbmRlckN1c3RvbT8oQyhlLHMucmVuZGVyQ3VzdG9tKHQsYSsxLHUpKSwwPT09ciYmaShcInBhZ2luYXRpb25SZW5kZXJcIixlKSk6KDA9PT1yJiZpKFwicGFnaW5hdGlvblJlbmRlclwiLGUpLGkoXCJwYWdpbmF0aW9uVXBkYXRlXCIsZSkpLHQucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnQuZW5hYmxlZCYmZS5jbGFzc0xpc3RbdC5pc0xvY2tlZD9cImFkZFwiOlwicmVtb3ZlXCJdKHMubG9ja0NsYXNzKX0pKX1mdW5jdGlvbiB1KCl7Y29uc3QgZT10LnBhcmFtcy5wYWdpbmF0aW9uO2lmKG8oKSlyZXR1cm47Y29uc3Qgcz10LnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZD90LnZpcnR1YWwuc2xpZGVzLmxlbmd0aDp0LmdyaWQmJnQucGFyYW1zLmdyaWQucm93cz4xP3Quc2xpZGVzLmxlbmd0aC9NYXRoLmNlaWwodC5wYXJhbXMuZ3JpZC5yb3dzKTp0LnNsaWRlcy5sZW5ndGg7bGV0IGE9dC5wYWdpbmF0aW9uLmVsO2E9VChhKTtsZXQgcj1cIlwiO2lmKFwiYnVsbGV0c1wiPT09ZS50eXBlKXtsZXQgYT10LnBhcmFtcy5sb29wP01hdGguY2VpbChzL3QucGFyYW1zLnNsaWRlc1Blckdyb3VwKTp0LnNuYXBHcmlkLmxlbmd0aDt0LnBhcmFtcy5mcmVlTW9kZSYmdC5wYXJhbXMuZnJlZU1vZGUuZW5hYmxlZCYmYT5zJiYoYT1zKTtmb3IobGV0IHM9MDtzPGE7cys9MSllLnJlbmRlckJ1bGxldD9yKz1lLnJlbmRlckJ1bGxldC5jYWxsKHQscyxlLmJ1bGxldENsYXNzKTpyKz1gPCR7ZS5idWxsZXRFbGVtZW50fSAke3QuaXNFbGVtZW50PydwYXJ0PVwiYnVsbGV0XCInOlwiXCJ9IGNsYXNzPVwiJHtlLmJ1bGxldENsYXNzfVwiPjwvJHtlLmJ1bGxldEVsZW1lbnR9PmB9XCJmcmFjdGlvblwiPT09ZS50eXBlJiYocj1lLnJlbmRlckZyYWN0aW9uP2UucmVuZGVyRnJhY3Rpb24uY2FsbCh0LGUuY3VycmVudENsYXNzLGUudG90YWxDbGFzcyk6YDxzcGFuIGNsYXNzPVwiJHtlLmN1cnJlbnRDbGFzc31cIj48L3NwYW4+IC8gPHNwYW4gY2xhc3M9XCIke2UudG90YWxDbGFzc31cIj48L3NwYW4+YCksXCJwcm9ncmVzc2JhclwiPT09ZS50eXBlJiYocj1lLnJlbmRlclByb2dyZXNzYmFyP2UucmVuZGVyUHJvZ3Jlc3NiYXIuY2FsbCh0LGUucHJvZ3Jlc3NiYXJGaWxsQ2xhc3MpOmA8c3BhbiBjbGFzcz1cIiR7ZS5wcm9ncmVzc2JhckZpbGxDbGFzc31cIj48L3NwYW4+YCksdC5wYWdpbmF0aW9uLmJ1bGxldHM9W10sYS5mb3JFYWNoKChzPT57XCJjdXN0b21cIiE9PWUudHlwZSYmQyhzLHJ8fFwiXCIpLFwiYnVsbGV0c1wiPT09ZS50eXBlJiZ0LnBhZ2luYXRpb24uYnVsbGV0cy5wdXNoKC4uLnMucXVlcnlTZWxlY3RvckFsbChsZShlLmJ1bGxldENsYXNzKSkpfSkpLFwiY3VzdG9tXCIhPT1lLnR5cGUmJmkoXCJwYWdpbmF0aW9uUmVuZGVyXCIsYVswXSl9ZnVuY3Rpb24gbSgpe3QucGFyYW1zLnBhZ2luYXRpb249bmUodCx0Lm9yaWdpbmFsUGFyYW1zLnBhZ2luYXRpb24sdC5wYXJhbXMucGFnaW5hdGlvbix7ZWw6XCJzd2lwZXItcGFnaW5hdGlvblwifSk7Y29uc3QgZT10LnBhcmFtcy5wYWdpbmF0aW9uO2lmKCFlLmVsKXJldHVybjtsZXQgcztcInN0cmluZ1wiPT10eXBlb2YgZS5lbCYmdC5pc0VsZW1lbnQmJihzPXQuZWwucXVlcnlTZWxlY3RvcihlLmVsKSksc3x8XCJzdHJpbmdcIiE9dHlwZW9mIGUuZWx8fChzPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUuZWwpXSksc3x8KHM9ZS5lbCkscyYmMCE9PXMubGVuZ3RoJiYodC5wYXJhbXMudW5pcXVlTmF2RWxlbWVudHMmJlwic3RyaW5nXCI9PXR5cGVvZiBlLmVsJiZBcnJheS5pc0FycmF5KHMpJiZzLmxlbmd0aD4xJiYocz1bLi4udC5lbC5xdWVyeVNlbGVjdG9yQWxsKGUuZWwpXSxzLmxlbmd0aD4xJiYocz1zLmZpbmQoKGU9PkUoZSxcIi5zd2lwZXJcIilbMF09PT10LmVsKSkpKSxBcnJheS5pc0FycmF5KHMpJiYxPT09cy5sZW5ndGgmJihzPXNbMF0pLE9iamVjdC5hc3NpZ24odC5wYWdpbmF0aW9uLHtlbDpzfSkscz1UKHMpLHMuZm9yRWFjaCgocz0+e1wiYnVsbGV0c1wiPT09ZS50eXBlJiZlLmNsaWNrYWJsZSYmcy5jbGFzc0xpc3QuYWRkKC4uLihlLmNsaWNrYWJsZUNsYXNzfHxcIlwiKS5zcGxpdChcIiBcIikpLHMuY2xhc3NMaXN0LmFkZChlLm1vZGlmaWVyQ2xhc3MrZS50eXBlKSxzLmNsYXNzTGlzdC5hZGQodC5pc0hvcml6b250YWwoKT9lLmhvcml6b250YWxDbGFzczplLnZlcnRpY2FsQ2xhc3MpLFwiYnVsbGV0c1wiPT09ZS50eXBlJiZlLmR5bmFtaWNCdWxsZXRzJiYocy5jbGFzc0xpc3QuYWRkKGAke2UubW9kaWZpZXJDbGFzc30ke2UudHlwZX0tZHluYW1pY2ApLGw9MCxlLmR5bmFtaWNNYWluQnVsbGV0czwxJiYoZS5keW5hbWljTWFpbkJ1bGxldHM9MSkpLFwicHJvZ3Jlc3NiYXJcIj09PWUudHlwZSYmZS5wcm9ncmVzc2Jhck9wcG9zaXRlJiZzLmNsYXNzTGlzdC5hZGQoZS5wcm9ncmVzc2Jhck9wcG9zaXRlQ2xhc3MpLGUuY2xpY2thYmxlJiZzLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLGMpLHQuZW5hYmxlZHx8cy5jbGFzc0xpc3QuYWRkKGUubG9ja0NsYXNzKX0pKSl9ZnVuY3Rpb24gaCgpe2NvbnN0IGU9dC5wYXJhbXMucGFnaW5hdGlvbjtpZihvKCkpcmV0dXJuO2xldCBzPXQucGFnaW5hdGlvbi5lbDtzJiYocz1UKHMpLHMuZm9yRWFjaCgocz0+e3MuY2xhc3NMaXN0LnJlbW92ZShlLmhpZGRlbkNsYXNzKSxzLmNsYXNzTGlzdC5yZW1vdmUoZS5tb2RpZmllckNsYXNzK2UudHlwZSkscy5jbGFzc0xpc3QucmVtb3ZlKHQuaXNIb3Jpem9udGFsKCk/ZS5ob3Jpem9udGFsQ2xhc3M6ZS52ZXJ0aWNhbENsYXNzKSxlLmNsaWNrYWJsZSYmKHMuY2xhc3NMaXN0LnJlbW92ZSguLi4oZS5jbGlja2FibGVDbGFzc3x8XCJcIikuc3BsaXQoXCIgXCIpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLGMpKX0pKSksdC5wYWdpbmF0aW9uLmJ1bGxldHMmJnQucGFnaW5hdGlvbi5idWxsZXRzLmZvckVhY2goKHQ9PnQuY2xhc3NMaXN0LnJlbW92ZSguLi5lLmJ1bGxldEFjdGl2ZUNsYXNzLnNwbGl0KFwiIFwiKSkpKX1hKFwiY2hhbmdlRGlyZWN0aW9uXCIsKCgpPT57aWYoIXQucGFnaW5hdGlvbnx8IXQucGFnaW5hdGlvbi5lbClyZXR1cm47Y29uc3QgZT10LnBhcmFtcy5wYWdpbmF0aW9uO2xldHtlbDpzfT10LnBhZ2luYXRpb247cz1UKHMpLHMuZm9yRWFjaCgocz0+e3MuY2xhc3NMaXN0LnJlbW92ZShlLmhvcml6b250YWxDbGFzcyxlLnZlcnRpY2FsQ2xhc3MpLHMuY2xhc3NMaXN0LmFkZCh0LmlzSG9yaXpvbn
5043RhbCgpP2UuaG9yaXpvbnRhbENsYXNzOmUudmVydGljYWxDbGFzcyl9KSl9KSksYShcImluaXRcIiwoKCk9PnshMT09PXQucGFyYW1zLnBhZ2luYXRpb24uZW5hYmxlZD9mKCk6KG0oKSx1KCkscCgpKX0pKSxhKFwiYWN0aXZlSW5kZXhDaGFuZ2VcIiwoKCk9Pnt2b2lkIDA9PT10LnNuYXBJbmRleCYmcCgpfSkpLGEoXCJzbmFwSW5kZXhDaGFuZ2VcIiwoKCk9PntwKCl9KSksYShcInNuYXBHcmlkTGVuZ3RoQ2hhbmdlXCIsKCgpPT57dSgpLHAoKX0pKSxhKFwiZGVzdHJveVwiLCgoKT0+e2goKX0pKSxhKFwiZW5hYmxlIGRpc2FibGVcIiwoKCk9PntsZXR7ZWw6ZX09dC5wYWdpbmF0aW9uO2UmJihlPVQoZSksZS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdFt0LmVuYWJsZWQ/XCJyZW1vdmVcIjpcImFkZFwiXSh0LnBhcmFtcy5wYWdpbmF0aW9uLmxvY2tDbGFzcykpKSl9KSksYShcImxvY2sgdW5sb2NrXCIsKCgpPT57cCgpfSkpLGEoXCJjbGlja1wiLCgoZSxzKT0+e2NvbnN0IGE9cy50YXJnZXQscj1UKHQucGFnaW5hdGlvbi5lbCk7aWYodC5wYXJhbXMucGFnaW5hdGlvbi5lbCYmdC5wYXJhbXMucGFnaW5hdGlvbi5oaWRlT25DbGljayYmciYmci5sZW5ndGg+MCYmIWEuY2xhc3NMaXN0LmNvbnRhaW5zKHQucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpKXtpZih0Lm5hdmlnYXRpb24mJih0Lm5hdmlnYXRpb24ubmV4dEVsJiZhPT09dC5uYXZpZ2F0aW9uLm5leHRFbHx8dC5uYXZpZ2F0aW9uLnByZXZFbCYmYT09PXQubmF2aWdhdGlvbi5wcmV2RWwpKXJldHVybjtjb25zdCBlPXJbMF0uY2xhc3NMaXN0LmNvbnRhaW5zKHQucGFyYW1zLnBhZ2luYXRpb24uaGlkZGVuQ2xhc3MpO2koITA9PT1lP1wicGFnaW5hdGlvblNob3dcIjpcInBhZ2luYXRpb25IaWRlXCIpLHIuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKHQucGFyYW1zLnBhZ2luYXRpb24uaGlkZGVuQ2xhc3MpKSl9fSkpO2NvbnN0IGY9KCk9Pnt0LmVsLmNsYXNzTGlzdC5hZGQodC5wYXJhbXMucGFnaW5hdGlvbi5wYWdpbmF0aW9uRGlzYWJsZWRDbGFzcyk7bGV0e2VsOmV9PXQucGFnaW5hdGlvbjtlJiYoZT1UKGUpLGUuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QuYWRkKHQucGFyYW1zLnBhZ2luYXRpb24ucGFnaW5hdGlvbkRpc2FibGVkQ2xhc3MpKSkpLGgoKX07T2JqZWN0LmFzc2lnbih0LnBhZ2luYXRpb24se2VuYWJsZTooKT0+e3QuZWwuY2xhc3NMaXN0LnJlbW92ZSh0LnBhcmFtcy5wYWdpbmF0aW9uLnBhZ2luYXRpb25EaXNhYmxlZENsYXNzKTtsZXR7ZWw6ZX09dC5wYWdpbmF0aW9uO2UmJihlPVQoZSksZS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC5yZW1vdmUodC5wYXJhbXMucGFnaW5hdGlvbi5wYWdpbmF0aW9uRGlzYWJsZWRDbGFzcykpKSksbSgpLHUoKSxwKCl9LGRpc2FibGU6ZixyZW5kZXI6dSx1cGRhdGU6cCxpbml0Om0sZGVzdHJveTpofSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjppLGVtaXQ6cn09ZTtjb25zdCBvPWEoKTtsZXQgZCxjLHAsdSxtPSExLGg9bnVsbCxmPW51bGw7ZnVuY3Rpb24gZygpe2lmKCF0LnBhcmFtcy5zY3JvbGxiYXIuZWx8fCF0LnNjcm9sbGJhci5lbClyZXR1cm47Y29uc3R7c2Nyb2xsYmFyOmUscnRsVHJhbnNsYXRlOnN9PXQse2RyYWdFbDphLGVsOml9PWUscj10LnBhcmFtcy5zY3JvbGxiYXIsbj10LnBhcmFtcy5sb29wP3QucHJvZ3Jlc3NMb29wOnQucHJvZ3Jlc3M7bGV0IGw9YyxvPShwLWMpKm47cz8obz0tbyxvPjA/KGw9Yy1vLG89MCk6LW8rYz5wJiYobD1wK28pKTpvPDA/KGw9YytvLG89MCk6bytjPnAmJihsPXAtbyksdC5pc0hvcml6b250YWwoKT8oYS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKCR7b31weCwgMCwgMClgLGEuc3R5bGUud2lkdGg9YCR7bH1weGApOihhLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlM2QoMHB4LCAke299cHgsIDApYCxhLnN0eWxlLmhlaWdodD1gJHtsfXB4YCksci5oaWRlJiYoY2xlYXJUaW1lb3V0KGgpLGkuc3R5bGUub3BhY2l0eT0xLGg9c2V0VGltZW91dCgoKCk9PntpLnN0eWxlLm9wYWNpdHk9MCxpLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1cIjQwMG1zXCJ9KSwxZTMpKX1mdW5jdGlvbiBiKCl7aWYoIXQucGFyYW1zLnNjcm9sbGJhci5lbHx8IXQuc2Nyb2xsYmFyLmVsKXJldHVybjtjb25zdHtzY3JvbGxiYXI6ZX09dCx7ZHJhZ0VsOnMsZWw6YX09ZTtzLnN0eWxlLndpZHRoPVwiXCIscy5zdHlsZS5oZWlnaHQ9XCJcIixwPXQuaXNIb3Jpem9udGFsKCk/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCx1PXQuc2l6ZS8odC52aXJ0dWFsU2l6ZSt0LnBhcmFtcy5zbGlkZXNPZmZzZXRCZWZvcmUtKHQucGFyYW1zLmNlbnRlcmVkU2xpZGVzP3Quc25hcEdyaWRbMF06MCkpLGM9XCJhdXRvXCI9PT10LnBhcmFtcy5zY3JvbGxiYXIuZHJhZ1NpemU/cCp1OnBhcnNlSW50KHQucGFyYW1zLnNjcm9sbGJhci5kcmFnU2l6ZSwxMCksdC5pc0hvcml6b250YWwoKT9zLnN0eWxlLndpZHRoPWAke2N9cHhgOnMuc3R5bGUuaGVpZ2h0PWAke2N9cHhgLGEuc3R5bGUuZGlzcGxheT11Pj0xP1wibm9uZVwiOlwiXCIsdC5wYXJhbXMuc2Nyb2xsYmFyLmhpZGUmJihhLnN0eWxlLm9wYWNpdHk9MCksdC5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmdC5lbmFibGVkJiZlLmVsLmNsYXNzTGlzdFt0LmlzTG9ja2VkP1wiYWRkXCI6XCJyZW1vdmVcIl0odC5wYXJhbXMuc2Nyb2xsYmFyLmxvY2tDbGFzcyl9ZnVuY3Rpb24geShlKXtyZXR1cm4gdC5pc0hvcml6b250YWwoKT9lLmNsaWVudFg6ZS5jbGllbnRZfWZ1bmN0aW9uIEUoZSl7Y29uc3R7c2Nyb2xsYmFyOnMscnRsVHJhbnNsYXRlOmF9PXQse2VsOml9PXM7bGV0IHI7cj0oeShlKS13KGkpW3QuaXNIb3Jpem9udGFsKCk/XCJsZWZ0XCI6XCJ0b3BcIl0tKG51bGwhPT1kP2Q6Yy8yKSkvKHAtYykscj1NYXRoLm1heChNYXRoLm1pbihyLDEpLDApLGEmJihyPTEtcik7Y29uc3Qgbj10Lm1pblRyYW5zbGF0ZSgpKyh0Lm1heFRyYW5zbGF0ZSgpLXQubWluVHJhbnNsYXRlKCkpKnI7dC51cGRhdGVQcm9ncmVzcyhuKSx0LnNldFRyYW5zbGF0ZShuKSx0LnVwZGF0ZUFjdGl2ZUluZGV4KCksdC51cGRhdGVTbGlkZXNDbGFzc2VzKCl9ZnVuY3Rpb24geChlKXtjb25zdCBzPXQucGFyYW1zLnNjcm9sbGJhcix7c2Nyb2xsYmFyOmEsd3JhcHBlckVsOml9PXQse2VsOm4sZHJhZ0VsOmx9PWE7bT0hMCxkPWUudGFyZ2V0PT09bD95KGUpLWUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW3QuaXNIb3Jpem9udGFsKCk/XCJsZWZ0XCI6XCJ0b3BcIl06bnVsbCxlLnByZXZlbn
5043REZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxpLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1cIjEwMG1zXCIsbC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249XCIxMDBtc1wiLEUoZSksY2xlYXJUaW1lb3V0KGYpLG4uc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPVwiMG1zXCIscy5oaWRlJiYobi5zdHlsZS5vcGFjaXR5PTEpLHQucGFyYW1zLmNzc01vZGUmJih0LndyYXBwZXJFbC5zdHlsZVtcInNjcm9sbC1zbmFwLXR5cGVcIl09XCJub25lXCIpLHIoXCJzY3JvbGxiYXJEcmFnU3RhcnRcIixlKX1mdW5jdGlvbiBTKGUpe2NvbnN0e3Njcm9sbGJhcjpzLHdyYXBwZXJFbDphfT10LHtlbDppLGRyYWdFbDpufT1zO20mJihlLnByZXZlbnREZWZhdWx0JiZlLmNhbmNlbGFibGU/ZS5wcmV2ZW50RGVmYXVsdCgpOmUucmV0dXJuVmFsdWU9ITEsRShlKSxhLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1cIjBtc1wiLGkuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPVwiMG1zXCIsbi5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249XCIwbXNcIixyKFwic2Nyb2xsYmFyRHJhZ01vdmVcIixlKSl9ZnVuY3Rpb24gTShlKXtjb25zdCBzPXQucGFyYW1zLnNjcm9sbGJhcix7c2Nyb2xsYmFyOmEsd3JhcHBlckVsOml9PXQse2VsOm59PWE7bSYmKG09ITEsdC5wYXJhbXMuY3NzTW9kZSYmKHQud3JhcHBlckVsLnN0eWxlW1wic2Nyb2xsLXNuYXAtdHlwZVwiXT1cIlwiLGkuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPVwiXCIpLHMuaGlkZSYmKGNsZWFyVGltZW91dChmKSxmPWwoKCgpPT57bi5zdHlsZS5vcGFjaXR5PTAsbi5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249XCI0MDBtc1wifSksMWUzKSkscihcInNjcm9sbGJhckRyYWdFbmRcIixlKSxzLnNuYXBPblJlbGVhc2UmJnQuc2xpZGVUb0Nsb3Nlc3QoKSl9ZnVuY3Rpb24gQyhlKXtjb25zdHtzY3JvbGxiYXI6cyxwYXJhbXM6YX09dCxpPXMuZWw7aWYoIWkpcmV0dXJuO2NvbnN0IHI9aSxuPSEhYS5wYXNzaXZlTGlzdGVuZXJzJiZ7cGFzc2l2ZTohMSxjYXB0dXJlOiExfSxsPSEhYS5wYXNzaXZlTGlzdGVuZXJzJiZ7cGFzc2l2ZTohMCxjYXB0dXJlOiExfTtpZighcilyZXR1cm47Y29uc3QgZD1cIm9uXCI9PT1lP1wiYWRkRXZlbnRMaXN0ZW5lclwiOlwicmVtb3ZlRXZlbnRMaXN0ZW5lclwiO3JbZF0oXCJwb2ludGVyZG93blwiLHgsbiksb1tkXShcInBvaW50ZXJtb3ZlXCIsUyxuKSxvW2RdKFwicG9pbnRlcnVwXCIsTSxsKX1mdW5jdGlvbiBQKCl7Y29uc3R7c2Nyb2xsYmFyOmUsZWw6c309dDt0LnBhcmFtcy5zY3JvbGxiYXI9bmUodCx0Lm9yaWdpbmFsUGFyYW1zLnNjcm9sbGJhcix0LnBhcmFtcy5zY3JvbGxiYXIse2VsOlwic3dpcGVyLXNjcm9sbGJhclwifSk7Y29uc3QgYT10LnBhcmFtcy5zY3JvbGxiYXI7aWYoIWEuZWwpcmV0dXJuO2xldCBpLHI7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGEuZWwmJnQuaXNFbGVtZW50JiYoaT10LmVsLnF1ZXJ5U2VsZWN0b3IoYS5lbCkpLGl8fFwic3RyaW5nXCIhPXR5cGVvZiBhLmVsKWl8fChpPWEuZWwpO2Vsc2UgaWYoaT1vLnF1ZXJ5U2VsZWN0b3JBbGwoYS5lbCksIWkubGVuZ3RoKXJldHVybjt0LnBhcmFtcy51bmlxdWVOYXZFbGVtZW50cyYmXCJzdHJpbmdcIj09dHlwZW9mIGEuZWwmJmkubGVuZ3RoPjEmJjE9PT1zLnF1ZXJ5U2VsZWN0b3JBbGwoYS5lbCkubGVuZ3RoJiYoaT1zLnF1ZXJ5U2VsZWN0b3IoYS5lbCkpLGkubGVuZ3RoPjAmJihpPWlbMF0pLGkuY2xhc3NMaXN0LmFkZCh0LmlzSG9yaXpvbnRhbCgpP2EuaG9yaXpvbn
5043RhbENsYXNzOmEudmVydGljYWxDbGFzcyksaSYmKHI9aS5xdWVyeVNlbGVjdG9yKGxlKHQucGFyYW1zLnNjcm9sbGJhci5kcmFnQ2xhc3MpKSxyfHwocj12KFwiZGl2XCIsdC5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdDbGFzcyksaS5hcHBlbmQocikpKSxPYmplY3QuYXNzaWduKGUse2VsOmksZHJhZ0VsOnJ9KSxhLmRyYWdnYWJsZSYmdC5wYXJhbXMuc2Nyb2xsYmFyLmVsJiZ0LnNjcm9sbGJhci5lbCYmQyhcIm9uXCIpLGkmJmkuY2xhc3NMaXN0W3QuZW5hYmxlZD9cInJlbW92ZVwiOlwiYWRkXCJdKC4uLm4odC5wYXJhbXMuc2Nyb2xsYmFyLmxvY2tDbGFzcykpfWZ1bmN0aW9uIEwoKXtjb25zdCBlPXQucGFyYW1zLnNjcm9sbGJhcixzPXQuc2Nyb2xsYmFyLmVsO3MmJnMuY2xhc3NMaXN0LnJlbW92ZSguLi5uKHQuaXNIb3Jpem9udGFsKCk/ZS5ob3Jpem9udGFsQ2xhc3M6ZS52ZXJ0aWNhbENsYXNzKSksdC5wYXJhbXMuc2Nyb2xsYmFyLmVsJiZ0LnNjcm9sbGJhci5lbCYmQyhcIm9mZlwiKX1zKHtzY3JvbGxiYXI6e2VsOm51bGwsZHJhZ1NpemU6XCJhdXRvXCIsaGlkZTohMSxkcmFnZ2FibGU6ITEsc25hcE9uUmVsZWFzZTohMCxsb2NrQ2xhc3M6XCJzd2lwZXItc2Nyb2xsYmFyLWxvY2tcIixkcmFnQ2xhc3M6XCJzd2lwZXItc2Nyb2xsYmFyLWRyYWdcIixzY3JvbGxiYXJEaXNhYmxlZENsYXNzOlwic3dpcGVyLXNjcm9sbGJhci1kaXNhYmxlZFwiLGhvcml6b250YWxDbGFzczpcInN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbFwiLHZlcnRpY2FsQ2xhc3M6XCJzd2lwZXItc2Nyb2xsYmFyLXZlcnRpY2FsXCJ9fSksdC5zY3JvbGxiYXI9e2VsOm51bGwsZHJhZ0VsOm51bGx9LGkoXCJjaGFuZ2VEaXJlY3Rpb25cIiwoKCk9PntpZighdC5zY3JvbGxiYXJ8fCF0LnNjcm9sbGJhci5lbClyZXR1cm47Y29uc3QgZT10LnBhcmFtcy5zY3JvbGxiYXI7bGV0e2VsOnN9PXQuc2Nyb2xsYmFyO3M9VChzKSxzLmZvckVhY2goKHM9PntzLmNsYXNzTGlzdC5yZW1vdmUoZS5ob3Jpem9udGFsQ2xhc3MsZS52ZXJ0aWNhbENsYXNzKSxzLmNsYXNzTGlzdC5hZGQodC5pc0hvcml6b250YWwoKT9lLmhvcml6b250YWxDbGFzczplLnZlcnRpY2FsQ2xhc3MpfSkpfSkpLGkoXCJpbml0XCIsKCgpPT57ITE9PT10LnBhcmFtcy5zY3JvbGxiYXIuZW5hYmxlZD9JKCk6KFAoKSxiKCksZygpKX0pKSxpKFwidXBkYXRlIHJlc2l6ZSBvYnNlcnZlclVwZGF0ZSBsb2NrIHVubG9jayBjaGFuZ2VEaXJlY3Rpb25cIiwoKCk9PntiKCl9KSksaShcInNldFRyYW5zbGF0ZVwiLCgoKT0+e2coKX0pKSxpKFwic2V0VHJhbnNpdGlvblwiLCgoZSxzKT0+eyFmdW5jdGlvbihlKXt0LnBhcmFtcy5zY3JvbGxiYXIuZWwmJnQuc2Nyb2xsYmFyLmVsJiYodC5zY3JvbGxiYXIuZHJhZ0VsLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1gJHtlfW1zYCl9KHMpfSkpLGkoXCJlbmFibGUgZGlzYWJsZVwiLCgoKT0+e2NvbnN0e2VsOmV9PXQuc2Nyb2xsYmFyO2UmJmUuY2xhc3NMaXN0W3QuZW5hYmxlZD9cInJlbW92ZVwiOlwiYWRkXCJdKC4uLm4odC5wYXJhbXMuc2Nyb2xsYmFyLmxvY2tDbGFzcykpfSkpLGkoXCJkZXN0cm95XCIsKCgpPT57TCgpfSkpO2NvbnN0IEk9KCk9Pnt0LmVsLmNsYXNzTGlzdC5hZGQoLi4ubih0LnBhcmFtcy5zY3JvbGxiYXIuc2Nyb2xsYmFyRGlzYWJsZWRDbGFzcykpLHQuc2Nyb2xsYmFyLmVsJiZ0LnNjcm9sbGJhci5lbC5jbGFzc0xpc3QuYWRkKC4uLm4odC5wYXJhbXMuc2Nyb2xsYmFyLnNjcm9sbGJhckRpc2FibGVkQ2xhc3MpKSxMKCl9O09iamVjdC5hc3NpZ24odC5zY3JvbGxiYXIse2VuYWJsZTooKT0+e3QuZWwuY2xhc3NMaXN0LnJlbW92ZSguLi5uKHQucGFyYW1zLnNjcm9sbGJhci5zY3JvbGxiYXJEaXNhYmxlZENsYXNzKSksdC5zY3JvbGxiYXIuZWwmJnQuc2Nyb2xsYmFyLmVsLmNsYXNzTGlzdC5yZW1vdmUoLi4ubih0LnBhcmFtcy5zY3JvbGxiYXIuc2Nyb2xsYmFyRGlzYWJsZWRDbGFzcykpLFAoKSxiKCksZygpfSxkaXNhYmxlOkksdXBkYXRlU2l6ZTpiLHNldFRyYW5zbGF0ZTpnLGluaXQ6UCxkZXN0cm95Okx9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmF9PWU7cyh7cGFyYWxsYXg6e2VuYWJsZWQ6ITF9fSk7Y29uc3QgaT1cIltkYXRhLXN3aXBlci1wYXJhbGxheF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC14XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LXldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtb3BhY2l0eV0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC1zY2FsZV1cIixyPShlLHMpPT57Y29uc3R7cnRsOmF9PXQsaT1hPy0xOjEscj1lLmdldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXBhcmFsbGF4XCIpfHxcIjBcIjtsZXQgbj1lLmdldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXBhcmFsbGF4LXhcIiksbD1lLmdldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXBhcmFsbGF4LXlcIik7Y29uc3Qgbz1lLmdldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXBhcmFsbGF4LXNjYWxlXCIpLGQ9ZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1wYXJhbGxheC1vcGFjaXR5XCIpLGM9ZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1wYXJhbGxheC1yb3RhdGVcIik7aWYobnx8bD8obj1ufHxcIjBcIixsPWx8fFwiMFwiKTp0LmlzSG9yaXpvbnRhbCgpPyhuPXIsbD1cIjBcIik6KGw9cixuPVwiMFwiKSxuPW4uaW5kZXhPZihcIiVcIik+PTA/cGFyc2VJbnQobiwxMCkqcyppK1wiJVwiOm4qcyppK1wicHhcIixsPWwuaW5kZXhPZihcIiVcIik+PTA/cGFyc2VJbnQobCwxMCkqcytcIiVcIjpsKnMrXCJweFwiLG51bGwhPWQpe2NvbnN0IHQ9ZC0oZC0xKSooMS1NYXRoLmFicyhzKSk7ZS5zdHlsZS5vcGFjaXR5PXR9bGV0IHA9YHRyYW5zbGF0ZTNkKCR7bn0sICR7bH0sIDBweClgO2lmKG51bGwhPW8pe3ArPWAgc2NhbGUoJHtvLShvLTEpKigxLU1hdGguYWJzKHMpKX0pYH1pZihjJiZudWxsIT1jKXtwKz1gIHJvdGF0ZSgke2MqcyotMX1kZWcpYH1lLnN0eWxlLnRyYW5zZm9ybT1wfSxuPSgpPT57Y29uc3R7ZWw6ZSxzbGlkZXM6cyxwcm9ncmVzczphLHNuYXBHcmlkOm4saXNFbGVtZW50Omx9PXQsbz1mKGUsaSk7dC5pc0VsZW1lbnQmJm8ucHVzaCguLi5mKHQuaG9zdEVsLGkpKSxvLmZvckVhY2goKGU9PntyKGUsYSl9KSkscy5mb3JFYWNoKCgoZSxzKT0+e2xldCBsPWUucHJvZ3Jlc3M7dC5wYXJhbXMuc2xpZGVzUGVyR3JvdXA+MSYmXCJhdXRvXCIhPT10LnBhcmFtcy5zbGlkZXNQZXJWaWV3JiYobCs9TWF0aC5jZWlsKHMvMiktYSoobi5sZW5ndGgtMSkpLGw9TWF0aC5taW4oTWF0aC5tYXgobCwtMSksMSksZS5xdWVyeVNlbGVjdG9yQWxsKGAke2l9LCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtcm90YXRlXWApLmZvckVhY2goKGU9PntyKGUsbCl9KSl9KSl9O2EoXCJiZWZvcmVJbml0XCIsKCgpPT57dC5wYXJhbXMucGFyYWxsYXguZW5hYmxlZCYmKHQucGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3M9ITAsdC5vcmlnaW5hbFBhcmFtcy53YXRjaFNsaWRlc1Byb2dyZXNzPSEwKX0pKSxhKFwiaW5pdFwiLCgoKT0+e3QucGFyYW1zLnBhcmFsbGF4LmVuYWJsZWQmJm4oKX0pKSxhKFwic2V0VHJhbnNsYXRlXCIsKCgpPT57dC5wYXJhbXMucGFyYWxsYXguZW5hYmxlZCYmbigpfSkpLGEoXCJzZXRUcmFuc2l0aW9uXCIsKChlLHMpPT57dC5wYXJhbXMucGFyYWxsYXguZW5hYmxlZCYmZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9dC5wYXJhbXMuc3BlZWQpO2NvbnN0e2VsOnMsaG9zdEVsOmF9PXQscj1bLi4ucy5xdWVyeVNlbGVjdG9yQWxsKGkpXTt0LmlzRWxlbWVudCYmci5wdXNoKC4uLmEucXVlcnlTZWxlY3RvckFsbChpKSksci5mb3JFYWNoKCh0PT57bGV0IHM9cGFyc2VJbnQodC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1wYXJhbGxheC1kdXJhdGlvblwiKSwxMCl8fGU7MD09PWUmJihzPTApLHQuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke3N9bXNgfSkpfShzKX0pKX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmEsZW1pdDppfT1lO2NvbnN0IG49cigpO3Moe3pvb206e2VuYWJsZWQ6ITEsbGltaXRUb09yaWdpbmFsU2l6ZTohMSxtYXhSYXRpbzozLG1pblJhdGlvOjEscGFuT25Nb3VzZU1vdmU6ITEsdG9nZ2xlOiEwLGNvbnRhaW5lckNsYXNzOlwic3dpcGVyLXpvb20tY29udGFpbmVyXCIsem9vbWVkU2xpZGVDbGFzczpcInN3aXBlci1zbGlkZS16b29tZWRcIn19KSx0Lnpvb209e2VuYWJsZWQ6ITF9O2xldCBsPTEsbz0hMSxjPSExLHA9e3g6MCx5OjB9O2NvbnN0IHU9LTM7bGV0IG0saDtjb25zdCBnPVtdLHY9e29yaWdpblg6MCxvcmlnaW5ZOjAsc2xpZGVFbDp2b2lkIDAsc2xpZGVXaWR0aDp2b2lkIDAsc2xpZGVIZWlnaHQ6dm9pZCAwLGltYWdlRWw6dm9pZCAwLGltYWdlV3JhcEVsOnZvaWQgMCxtYXhSYXRpbzozfSxiPXtpc1RvdWNoZWQ6dm9pZCAwLGlzTW92ZWQ6dm9pZCAwLGN1cnJlbnRYOnZvaWQgMCxjdXJyZW50WTp2b2lkIDAsbWluWDp2b2lkIDAsbWluWTp2b2lkIDAsbWF4WDp2b2lkIDAsbWF4WTp2b2lkIDAsd2lkdGg6dm9pZCAwLGhlaWdodDp2b2lkIDAsc3RhcnRYOnZvaWQgMCxzdGFydFk6dm9pZCAwLHRvdWNoZXNTdGFydDp7fSx0b3VjaGVzQ3VycmVudDp7f
5043X0seT17eDp2b2lkIDAseTp2b2lkIDAscHJldlBvc2l0aW9uWDp2b2lkIDAscHJldlBvc2l0aW9uWTp2b2lkIDAscHJldlRpbWU6dm9pZCAwfTtsZXQgeCxTPTE7ZnVuY3Rpb24gVCgpe2lmKGcubGVuZ3RoPDIpcmV0dXJuIDE7Y29uc3QgZT1nWzBdLnBhZ2VYLHQ9Z1swXS5wYWdlWSxzPWdbMV0ucGFnZVgsYT1nWzFdLnBhZ2VZO3JldHVybiBNYXRoLnNxcnQoKHMtZSkqKjIrKGEtdCkqKjIpfWZ1bmN0aW9uIE0oKXtjb25zdCBlPXQucGFyYW1zLnpvb20scz12LmltYWdlV3JhcEVsLmdldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXpvb21cIil8fGUubWF4UmF0aW87aWYoZS5saW1pdFRvT3JpZ2luYWxTaXplJiZ2LmltYWdlRWwmJnYuaW1hZ2VFbC5uYXR1cmFsV2lkdGgpe2NvbnN0IGU9di5pbWFnZUVsLm5hdHVyYWxXaWR0aC92LmltYWdlRWwub2Zmc2V0V2lkdGg7cmV0dXJuIE1hdGgubWluKGUscyl9cmV0dXJuIHN9ZnVuY3Rpb24gQyhlKXtjb25zdCBzPXQuaXNFbGVtZW50P1wic3dpcGVyLXNsaWRlXCI6YC4ke3QucGFyYW1zLnNsaWRlQ2xhc3N9YDtyZXR1cm4hIWUudGFyZ2V0Lm1hdGNoZXMocyl8fHQuc2xpZGVzLmZpbHRlcigodD0+dC5jb250YWlucyhlLnRhcmdldCkpKS5sZW5ndGg+MH1mdW5jdGlvbiBQKGUpe2NvbnN0IHM9YC4ke3QucGFyYW1zLnpvb20uY29udGFpbmVyQ2xhc3N9YDtyZXR1cm4hIWUudGFyZ2V0Lm1hdGNoZXMocyl8fFsuLi50Lmhvc3RFbC5xdWVyeVNlbGVjdG9yQWxsKHMpXS5maWx0ZXIoKHQ9PnQuY29udGFpbnMoZS50YXJnZXQpKSkubGVuZ3RoPjB9ZnVuY3Rpb24gTChlKXtpZihcIm1vdXNlXCI9PT1lLnBvaW50ZXJUeXBlJiZnLnNwbGljZSgwLGcubGVuZ3RoKSwhQyhlKSlyZXR1cm47Y29uc3Qgcz10LnBhcmFtcy56b29tO2lmKG09ITEsaD0hMSxnLnB1c2goZSksIShnLmxlbmd0aDwyKSl7aWYobT0hMCx2LnNjYWxlU3RhcnQ9VCgpLCF2LnNsaWRlRWwpe3Yuc2xpZGVFbD1lLnRhcmdldC5jbG9zZXN0KGAuJHt0LnBhcmFtcy5zbGlkZUNsYXNzfSwgc3dpcGVyLXNsaWRlYCksdi5zbGlkZUVsfHwodi5zbGlkZUVsPXQuc2xpZGVzW3QuYWN0aXZlSW5kZXhdKTtsZXQgYT12LnNsaWRlRWwucXVlcnlTZWxlY3RvcihgLiR7cy5jb250YWluZXJDbGFzc31gKTtpZihhJiYoYT1hLnF1ZXJ5U2VsZWN0b3JBbGwoXCJwaWN0dXJlLCBpbWcsIHN2ZywgY2FudmFzLCAuc3dpcGVyLXpvb20tdGFyZ2V0XCIpWzBdKSx2LmltYWdlRWw9YSx2LmltYWdlV3JhcEVsPWE/RSh2LmltYWdlRWwsYC4ke3MuY29udGFpbmVyQ2xhc3N9YClbMF06dm9pZCAwLCF2LmltYWdlV3JhcEVsKXJldHVybiB2b2lkKHYuaW1hZ2VFbD12b2lkIDApO3YubWF4UmF0aW89TSgpfWlmKHYuaW1hZ2VFbCl7Y29uc3RbZSx0XT1mdW5jdGlvbigpe2lmKGcubGVuZ3RoPDIpcmV0dXJue3g6bnVsbCx5Om51bGx9O2NvbnN0IGU9di5pbWFnZUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVyblsoZ1swXS5wYWdlWCsoZ1sxXS5wYWdlWC1nWzBdLnBhZ2VYKS8yLWUueC1uLnNjcm9sbFgpL2wsKGdbMF0ucGFnZVkrKGdbMV0ucGFnZVktZ1swXS5wYWdlWSkvMi1lLnktbi5zY3JvbGxZKS9sXX0oKTt2Lm9yaWdpblg9ZSx2Lm9yaWdpblk9dCx2LmltYWdlRWwuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPVwiMG1zXCJ9bz0hMH19ZnVuY3Rpb24gSShlKXtpZighQyhlKSlyZXR1cm47Y29uc3Qgcz10LnBhcmFtcy56b29tLGE9dC56b29tLGk9Zy5maW5kSW5kZXgoKHQ9PnQucG9pbnRlcklkPT09ZS5wb2ludGVySWQpKTtpPj0wJiYoZ1tpXT1lKSxnLmxlbmd0aDwyfHwoaD0hMCx2LnNjYWxlTW92ZT1UKCksdi5pbWFnZUVsJiYoYS5zY2FsZT12LnNjYWxlTW92ZS92LnNjYWxlU3RhcnQqbCxhLnNjYWxlPnYubWF4UmF0aW8mJihhLnNjYWxlPXYubWF4UmF0aW8tMSsoYS5zY2FsZS12Lm1heFJhdGlvKzEpKiouNSksYS5zY2FsZTxzLm1pblJhdGlvJiYoYS5zY2FsZT1zLm1pblJhdGlvKzEtKHMubWluUmF0aW8tYS5zY2FsZSsxKSoqLjUpLHYuaW1hZ2VFbC5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgke2Euc2NhbGV9KWApKX1mdW5jdGlvbiB6KGUpe2lmKCFDKGUpKXJldHVybjtpZihcIm1vdXNlXCI9PT1lLnBvaW50ZXJUeXBlJiZcInBvaW50ZXJvdXRcIj09PWUudHlwZSlyZXR1cm47Y29uc3Qgcz10LnBhcmFtcy56b29tLGE9dC56b29tLGk9Zy5maW5kSW5kZXgoKHQ9PnQucG9pbnRlcklkPT09ZS5wb2ludGVySWQpKTtpPj0wJiZnLnNwbGljZShpLDEpLG0mJmgmJihtPSExLGg9ITEsdi5pbWFnZUVsJiYoYS5zY2FsZT1NYXRoLm1heChNYXRoLm1pbihhLnNjYWxlLHYubWF4UmF0aW8pLHMubWluUmF0aW8pLHYuaW1hZ2VFbC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249YCR7dC5wYXJhbXMuc3BlZWR9bXNgLHYuaW1hZ2VFbC5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgke2Euc2NhbGV9KWAsbD1hLnNjYWxlLG89ITEsYS5zY2FsZT4xJiZ2LnNsaWRlRWw/di5zbGlkZUVsLmNsYXNzTGlzdC5hZGQoYCR7cy56b29tZWRTbGlkZUNsYXNzfWApOmEuc2NhbGU8PTEmJnYuc2xpZGVFbCYmdi5zbGlkZUVsLmNsYXNzTGlzdC5yZW1vdmUoYCR7cy56b29tZWRTbGlkZUNsYXNzfWApLDE9PT1hLnNjYWxlJiYodi5vcmlnaW5YPTAsdi5vcmlnaW5ZPTAsdi5zbGlkZUVsPXZvaWQgMCkpKX1mdW5jdGlvbiBBKCl7dC50b3VjaEV2ZW50c0RhdGEucHJldmVudFRvdWNoTW92ZUZyb21Qb2ludGVyTW92ZT0hMX1mdW5jdGlvbiAkKGUpe2NvbnN0IHM9XCJtb3VzZVwiPT09ZS5wb2ludGVyVHlwZSYmdC5wYXJhbXMuem9vbS5wYW5Pbk1vdXNlTW92ZTtpZighQyhlKXx8IVAoZSkpcmV0dXJuO2NvbnN0IGE9dC56b29tO2lmKCF2LmltYWdlRWwpcmV0dXJuO2lmKCFiLmlzVG91Y2hlZHx8IXYuc2xpZGVFbClyZXR1cm4gdm9pZChzJiZPKGUpKTtpZihzKXJldHVybiB2b2lkIE8oZSk7Yi5pc01vdmVkfHwoYi53aWR0aD12LmltYWdlRWwub2Zmc2V0V2lkdGh8fHYuaW1hZ2VFbC5jbGllbnRXaWR0aCxiLmhlaWdodD12LmltYWdlRWwub2Zmc2V0SGVpZ2h0fHx2LmltYWdlRWwuY2xpZW50SGVpZ2h0LGIuc3RhcnRYPWQodi5pbWFnZVdyYXBFbCxcInhcIil8fDAsYi5zdGFydFk9ZCh2LmltYWdlV3JhcEVsLFwieVwiKXx8MCx2LnNsaWRlV2lkdGg9di5zbGlkZUVsLm9mZnNldFdpZHRoLHYuc2xpZGVIZWlnaHQ9di5zbGlkZUVsLm9mZnNldEhlaWdodCx2LmltYWdlV3JhcEVsLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1cIjBtc1wiKTtjb25zdCBpPWIud2lkdGgqYS5zY2FsZSxyPWIuaGVpZ2h0KmEuc2NhbGU7Yi5taW5YPU1hdGgubWluKHYuc2xpZGVXaWR0aC8yLWkvMiwwKSxiLm1heFg9LWIubWluWCxiLm1pblk9TWF0aC5taW4odi5zbGlkZUhlaWdodC8yLXIvMiwwKSxiLm1heFk9LWIubWluWSxiLnRvdWNoZXNDdXJyZW50Lng9Zy5sZW5ndGg+MD9nWzBdLnBhZ2VYOmUucGFnZVgsYi50b3VjaGVzQ3VycmVudC55PWcubGVuZ3RoPjA/Z1swXS5wYWdlWTplLnBhZ2VZO2lmKE1hdGgubWF4KE1hdGguYWJzKGIudG91Y2hlc0N1cnJlbnQueC1iLnRvdWNoZXNTdGFydC54KSxNYXRoLmFicyhiLnRvdWNoZXNDdXJyZW50LnktYi50b3VjaGVzU3RhcnQueSkpPjUmJih0LmFsbG93Q2xpY2s9ITEpLCFiLmlzTW92ZWQmJiFvKXtpZih0LmlzSG9yaXpvbn
5043RhbCgpJiYoTWF0aC5mbG9vcihiLm1pblgpPT09TWF0aC5mbG9vcihiLnN0YXJ0WCkmJmIudG91Y2hlc0N1cnJlbnQueDxiLnRvdWNoZXNTdGFydC54fHxNYXRoLmZsb29yKGIubWF4WCk9PT1NYXRoLmZsb29yKGIuc3RhcnRYKSYmYi50b3VjaGVzQ3VycmVudC54PmIudG91Y2hlc1N0YXJ0LngpKXJldHVybiBiLmlzVG91Y2hlZD0hMSx2b2lkIEEoKTtpZighdC5pc0hvcml6b250YWwoKSYmKE1hdGguZmxvb3IoYi5taW5ZKT09PU1hdGguZmxvb3IoYi5zdGFydFkpJiZiLnRvdWNoZXNDdXJyZW50Lnk8Yi50b3VjaGVzU3RhcnQueXx8TWF0aC5mbG9vcihiLm1heFkpPT09TWF0aC5mbG9vcihiLnN0YXJ0WSkmJmIudG91Y2hlc0N1cnJlbnQueT5iLnRvdWNoZXNTdGFydC55KSlyZXR1cm4gYi5pc1RvdWNoZWQ9ITEsdm9pZCBBKCl9ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxjbGVhclRpbWVvdXQoeCksdC50b3VjaEV2ZW50c0RhdGEucHJldmVudFRvdWNoTW92ZUZyb21Qb2ludGVyTW92ZT0hMCx4PXNldFRpbWVvdXQoKCgpPT57dC5kZXN0cm95ZWR8fEEoKX0pKSxiLmlzTW92ZWQ9ITA7Y29uc3Qgbj0oYS5zY2FsZS1sKS8odi5tYXhSYXRpby10LnBhcmFtcy56b29tLm1pblJhdGlvKSx7b3JpZ2luWDpjLG9yaWdpblk6cH09djtiLmN1cnJlbnRYPWIudG91Y2hlc0N1cnJlbnQueC1iLnRvdWNoZXNTdGFydC54K2Iuc3RhcnRYK24qKGIud2lkdGgtMipjKSxiLmN1cnJlbnRZPWIudG91Y2hlc0N1cnJlbnQueS1iLnRvdWNoZXNTdGFydC55K2Iuc3RhcnRZK24qKGIuaGVpZ2h0LTIqcCksYi5jdXJyZW50WDxiLm1pblgmJihiLmN1cnJlbnRYPWIubWluWCsxLShiLm1pblgtYi5jdXJyZW50WCsxKSoqLjgpLGIuY3VycmVudFg+Yi5tYXhYJiYoYi5jdXJyZW50WD1iLm1heFgtMSsoYi5jdXJyZW50WC1iLm1heFgrMSkqKi44KSxiLmN1cnJlbnRZPGIubWluWSYmKGIuY3VycmVudFk9Yi5taW5ZKzEtKGIubWluWS1iLmN1cnJlbnRZKzEpKiouOCksYi5jdXJyZW50WT5iLm1heFkmJihiLmN1cnJlbnRZPWIubWF4WS0xKyhiLmN1cnJlbnRZLWIubWF4WSsxKSoqLjgpLHkucHJldlBvc2l0aW9uWHx8KHkucHJldlBvc2l0aW9uWD1iLnRvdWNoZXNDdXJyZW50LngpLHkucHJldlBvc2l0aW9uWXx8KHkucHJldlBvc2l0aW9uWT1iLnRvdWNoZXNDdXJyZW50LnkpLHkucHJldlRpbWV8fCh5LnByZXZUaW1lPURhdGUubm93KCkpLHkueD0oYi50b3VjaGVzQ3VycmVudC54LXkucHJldlBvc2l0aW9uWCkvKERhdGUubm93KCkteS5wcmV2VGltZSkvMix5Lnk9KGIudG91Y2hlc0N1cnJlbnQueS15LnByZXZQb3NpdGlvblkpLyhEYXRlLm5vdygpLXkucHJldlRpbWUpLzIsTWF0aC5hYnMoYi50b3VjaGVzQ3VycmVudC54LXkucHJldlBvc2l0aW9uWCk8MiYmKHkueD0wKSxNYXRoLmFicyhiLnRvdWNoZXNDdXJyZW50LnkteS5wcmV2UG9zaXRpb25ZKTwyJiYoeS55PTApLHkucHJldlBvc2l0aW9uWD1iLnRvdWNoZXNDdXJyZW50LngseS5wcmV2UG9zaXRpb25ZPWIudG91Y2hlc0N1cnJlbnQueSx5LnByZXZUaW1lPURhdGUubm93KCksdi5pbWFnZVdyYXBFbC5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKCR7Yi5jdXJyZW50WH1weCwgJHtiLmN1cnJlbnRZfXB4LDApYH1mdW5jdGlvbiBrKCl7Y29uc3QgZT10Lnpvb207di5zbGlkZUVsJiZ0LmFjdGl2ZUluZGV4IT09dC5zbGlkZXMuaW5kZXhPZih2LnNsaWRlRWwpJiYodi5pbWFnZUVsJiYodi5pbWFnZUVsLnN0eWxlLnRyYW5zZm9ybT1cInRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKVwiKSx2LmltYWdlV3JhcEVsJiYodi5pbWFnZVdyYXBFbC5zdHlsZS50cmFuc2Zvcm09XCJ0cmFuc2xhdGUzZCgwLDAsMClcIiksdi5zbGlkZUVsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dC5wYXJhbXMuem9vbS56b29tZWRTbGlkZUNsYXNzfWApLGUuc2NhbGU9MSxsPTEsdi5zbGlkZUVsPXZvaWQgMCx2LmltYWdlRWw9dm9pZCAwLHYuaW1hZ2VXcmFwRWw9dm9pZCAwLHYub3JpZ2luWD0wLHYub3JpZ2luWT0wKX1mdW5jdGlvbiBPKGUpe2lmKGw8PTF8fCF2LmltYWdlV3JhcEVsKXJldHVybjtpZighQyhlKXx8IVAoZSkpcmV0dXJuO2NvbnN0IHQ9bi5nZXRDb21wdXRlZFN0eWxlKHYuaW1hZ2VXcmFwRWwpLnRyYW5zZm9ybSxzPW5ldyBuLkRPTU1hdHJpeCh0KTtpZighYylyZXR1cm4gYz0hMCxwLng9ZS5jbGllbnRYLHAueT1lLmNsaWVudFksYi5zdGFydFg9cy5lLGIuc3RhcnRZPXMuZixiLndpZHR
5043oPXYuaW1hZ2VFbC5vZmZzZXRXaWR0aHx8di5pbWFnZUVsLmNsaWVudFdpZHRoLGIuaGVpZ2h0PXYuaW1hZ2VFbC5vZmZzZXRIZWlnaHR8fHYuaW1hZ2VFbC5jbGllbnRIZWlnaHQsdi5zbGlkZVdpZHRoPXYuc2xpZGVFbC5vZmZzZXRXaWR0aCx2b2lkKHYuc2xpZGVIZWlnaHQ9di5zbGlkZUVsLm9mZnNldEhlaWdodCk7Y29uc3QgYT0oZS5jbGllbnRYLXAueCkqdSxpPShlLmNsaWVudFktcC55KSp1LHI9Yi53aWR0aCpsLG89Yi5oZWlnaHQqbCxkPXYuc2xpZGVXaWR0aCxtPXYuc2xpZGVIZWlnaHQsaD1NYXRoLm1pbihkLzItci8yLDApLGY9LWgsZz1NYXRoLm1pbihtLzItby8yLDApLHc9LWcseT1NYXRoLm1heChNYXRoLm1pbihiLnN0YXJ0WCthLGYpLGgpLEU9TWF0aC5tYXgoTWF0aC5taW4oYi5zdGFydFkraSx3KSxnKTt2LmltYWdlV3JhcEVsLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1cIjBtc1wiLHYuaW1hZ2VXcmFwRWwuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUzZCgke3l9cHgsICR7RX1weCwgMClgLHAueD1lLmNsaWVudFgscC55PWUuY2xpZW50WSxiLnN0YXJ0WD15LGIuc3RhcnRZPUUsYi5jdXJyZW50WD15LGIuY3VycmVudFk9RX1mdW5jdGlvbiBEKGUpe2NvbnN0IHM9dC56b29tLGE9dC5wYXJhbXMuem9vbTtpZighdi5zbGlkZUVsKXtlJiZlLnRhcmdldCYmKHYuc2xpZGVFbD1lLnRhcmdldC5jbG9zZXN0KGAuJHt0LnBhcmFtcy5zbGlkZUNsYXNzfSwgc3dpcGVyLXNsaWRlYCkpLHYuc2xpZGVFbHx8KHQucGFyYW1zLnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCYmdC52aXJ0dWFsP3Yuc2xpZGVFbD1mKHQuc2xpZGVzRWwsYC4ke3QucGFyYW1zLnNsaWRlQWN0aXZlQ2xhc3N9YClbMF06di5zbGlkZUVsPXQuc2xpZGVzW3QuYWN0aXZlSW5kZXhdKTtsZXQgcz12LnNsaWRlRWwucXVlcnlTZWxlY3RvcihgLiR7YS5jb250YWluZXJDbGFzc31gKTtzJiYocz1zLnF1ZXJ5U2VsZWN0b3JBbGwoXCJwaWN0dXJlLCBpbWcsIHN2ZywgY2FudmFzLCAuc3dpcGVyLXpvb20tdGFyZ2V0XCIpWzBdKSx2LmltYWdlRWw9cyx2LmltYWdlV3JhcEVsPXM/RSh2LmltYWdlRWwsYC4ke2EuY29udGFpbmVyQ2xhc3N9YClbMF06dm9pZCAwfWlmKCF2LmltYWdlRWx8fCF2LmltYWdlV3JhcEVsKXJldHVybjtsZXQgaSxyLG8sZCxjLHAsdSxtLGgsZyx5LHgsUyxULEMsUCxMLEk7dC5wYXJhbXMuY3NzTW9kZSYmKHQud3JhcHBlckVsLnN0eWxlLm92ZXJmbG93PVwiaGlkZGVuXCIsdC53cmFwcGVyRWwuc3R5bGUudG91Y2hBY3Rpb249XCJub25lXCIpLHYuc2xpZGVFbC5jbGFzc0xpc3QuYWRkKGAke2Euem9vbWVkU2xpZGVDbGFzc31gKSx2b2lkIDA9PT1iLnRvdWNoZXNTdGFydC54JiZlPyhpPWUucGFnZVgscj1lLnBhZ2VZKTooaT1iLnRvdWNoZXNTdGFydC54LHI9Yi50b3VjaGVzU3RhcnQueSk7Y29uc3Qgej1sLEE9XCJudW1iZXJcIj09dHlwZW9mIGU/ZTpudWxsOzE9PT1sJiZBJiYoaT12b2lkIDAscj12b2lkIDAsYi50b3VjaGVzU3RhcnQueD12b2lkIDAsYi50b3VjaGVzU3RhcnQueT12b2lkIDApO2NvbnN0ICQ9TSgpO3Muc2NhbGU9QXx8JCxsPUF8fCQsIWV8fDE9PT1sJiZBPyh1PTAsbT0wKTooTD12LnNsaWRlRWwub2Zmc2V0V2lkdGgsST12LnNsaWRlRWwub2Zmc2V0SGVpZ2h0LG89dyh2LnNsaWRlRWwpLmxlZnQrbi5zY3JvbGxYLGQ9dyh2LnNsaWRlRWwpLnRvcCtuLnNjcm9sbFksYz1vK0wvMi1pLHA9ZCtJLzItcixoPXYuaW1hZ2VFbC5vZmZzZXRXaWR0aHx8di5pbWFnZUVsLmNsaWVudFdpZHRoLGc9di5pbWFnZUVsLm9mZnNldEhlaWdodHx8di5pbWFnZUVsLmNsaWVudEhlaWdodCx5PWgqcy5zY2FsZSx4PWcqcy5zY2FsZSxTPU1hdGgubWluKEwvMi15LzIsMCksVD1NYXRoLm1pbihJLzIteC8yLDApLEM9LVMsUD0tVCx6PjAmJkEmJlwibnVtYmVyXCI9PXR5cGVvZiBiLmN1cnJlbnRYJiZcIm51bWJlclwiPT10eXBlb2YgYi5jdXJyZW50WT8odT1iLmN1cnJlbnRYKnMuc2NhbGUveixtPWIuY3VycmVudFkqcy5zY2FsZS96KToodT1jKnMuc2NhbGUsbT1wKnMuc2NhbGUpLHU8UyYmKHU9UyksdT5DJiYodT1DKSxtPFQmJihtPVQpLG0+UCYmKG09UCkpLEEmJjE9PT1zLnNjYWxlJiYodi5vcmlnaW5YPTAsdi5vcmlnaW5ZPTApLGIuY3VycmVudFg9dSxiLmN1cnJlbnRZPW0sdi5pbWFnZVdyYXBFbC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249XCIzMDBtc1wiLHYuaW1hZ2VXcmFwRWwuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUzZCgke3V9cHgsICR7bX1weCwwKWAsdi5pbWFnZUVsLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1cIjMwMG1zXCIsdi5pbWFnZUVsLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKCR7cy5zY2FsZX0pYH1mdW5jdGlvbiBHKCl7Y29uc3QgZT10Lnpvb20scz10LnBhcmFtcy56b29tO2lmKCF2LnNsaWRlRWwpe3QucGFyYW1zLnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCYmdC52aXJ0dWFsP3Yuc2xpZGVFbD1mKHQuc2xpZGVzRWwsYC4ke3QucGFyYW1zLnNsaWRlQWN0aXZlQ2xhc3N9YClbMF06di5zbGlkZUVsPXQuc2xpZGVzW3QuYWN0aXZlSW5kZXhdO2xldCBlPXYuc2xpZGVFbC5xdWVyeVNlbGVjdG9yKGAuJHtzLmNvbnRhaW5lckNsYXNzfWApO2UmJihlPWUucXVlcnlTZWxlY3RvckFsbChcInBpY3R1cmUsIGltZywgc3ZnLCBjYW52YXMsIC5zd2lwZXItem9vbS10YXJnZXRcIilbMF0pLHYuaW1hZ2VFbD1lLHYuaW1hZ2VXcmFwRWw9ZT9FKHYuaW1hZ2VFbCxgLiR7cy5jb250YWluZXJDbGFzc31gKVswXTp2b2lkIDB9di5pbWFnZUVsJiZ2LmltYWdlV3JhcEVsJiYodC5wYXJhbXMuY3NzTW9kZSYmKHQud3JhcHBlckVsLnN0eWxlLm92ZXJmbG93PVwiXCIsdC53cmFwcGVyRWwuc3R5bGUudG91Y2hBY3Rpb249XCJcIiksZS5zY2FsZT0xLGw9MSxiLmN1cnJlbnRYPXZvaWQgMCxiLmN1cnJlbnRZPXZvaWQgMCxiLnRvdWNoZXNTdGFydC54PXZvaWQgMCxiLnRvdWNoZXNTdGFydC55PXZvaWQgMCx2LmltYWdlV3JhcEVsLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1cIjMwMG1zXCIsdi5pbWFnZVdyYXBFbC5zdHlsZS50cmFuc2Zvcm09XCJ0cmFuc2xhdGUzZCgwLDAsMClcIix2LmltYWdlRWwuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPVwiMzAwbXNcIix2LmltYWdlRWwuc3R5bGUudHJhbnNmb3JtPVwidHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKDEpXCIsdi5zbGlkZUVsLmNsYXNzTGlzdC5yZW1vdmUoYCR7cy56b29tZWRTbGlkZUNsYXNzfWApLHYuc2xpZGVFbD12b2lkIDAsdi5vcmlnaW5YPTAsdi5vcmlnaW5ZPTAsdC5wYXJhbXMuem9vbS5wYW5Pbk1vdXNlTW92ZSYmKHA9e3g6MCx5OjB9LGMmJihjPSExLGIuc3RhcnRYPTAsYi5zdGFydFk9MCkpKX1mdW5jdGlvbiBYKGUpe2NvbnN0IHM9dC56b29tO3Muc2NhbGUmJjEhPT1zLnNjYWxlP0coKTpEKGUpfWZ1bmN0aW9uIFkoKXtyZXR1cm57cGFzc2l2ZUxpc3RlbmVyOiEhdC5wYXJhbXMucGFzc2l2ZUxpc3RlbmVycyYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX0sYWN0aXZlTGlzdGVuZXJXaXRoQ2FwdHVyZTohdC5wYXJhbXMucGFzc2l2ZUxpc3RlbmVyc3x8e3Bhc3NpdmU6ITEsY2FwdHVyZTohMH19fWZ1bmN0aW9uIEIoKXtjb25zdCBlPXQuem9vbTtpZihlLmVuYWJsZWQpcmV0dXJuO2UuZW5hYmxlZD0hMDtjb25zdHtwYXNzaXZlTGlzdGVuZXI6cyxhY3RpdmVMaXN0ZW5lcldpdGhDYXB0dXJlOmF9PVkoKTt0LndyYXBwZXJFbC5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcmRvd25cIixMLHMpLHQud3JhcHBlckVsLmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVybW92ZVwiLEksYSksW1wicG9pbnRlcnVwXCIsXCJwb2ludGVyY2FuY2VsXCIsXCJwb2ludGVyb3V0XCJdLmZvckVhY2goKGU9Pnt0LndyYXBwZXJFbC5hZGRFdmVudExpc3RlbmVyKGUseixzKX0pKSx0LndyYXBwZXJFbC5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcm1vdmVcIiwkLGEpfWZ1bmN0aW9uIEgoKXtjb25zdCBlPXQuem9vbTtpZighZS5lbmFibGVkKXJldHVybjtlLmVuYWJsZWQ9ITE7Y29uc3R7cGFzc2l2ZUxpc3RlbmVyOnMsYWN0aXZlTGlzdGVuZXJXaXRoQ2FwdHVyZTphfT1ZKCk7dC53cmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJkb3duXCIsTCxzKSx0LndyYXBwZXJFbC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcm1vdmVcIixJLGEpLFtcInBvaW50ZXJ1cFwiLFwicG9pbnRlcmNhbmNlbFwiLFwicG9pbnRlcm91dFwiXS5mb3JFYWNoKChlPT57dC53cmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHoscyl9KSksdC53cmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJtb3ZlXCIsJCxhKX1PYmplY3QuZGVmaW5lUHJvcGVydHkodC56b29tLFwic2NhbGVcIix7Z2V0OigpPT5TLHNldChlKXtpZihTIT09ZSl7Y29uc3QgdD12LmltYWdlRWwscz12LnNsaWRlRWw7aShcInpvb21DaGFuZ2VcIixlLHQscyl9Uz1lfX0pLGEoXCJpbml0XCIsKCgpPT57dC5wYXJhbXMuem9vbS5lbmFibGVkJiZCKCl9KSksYShcImRlc3Ryb3lcIiwoKCk9PntIKCl9KSksYShcInRvdWNoU3RhcnRcIiwoKGUscyk9Pnt0Lnpvb20uZW5hYmxlZCYmZnVuY3Rpb24oZSl7Y29uc3Qgcz10LmRldmljZTtpZighdi5pbWFnZUVsKXJldHVybjtpZihiLmlzVG91Y2hlZClyZXR1cm47cy5hbmRyb2lkJiZlLmNhbmNlbGFibG
5043UmJmUucHJldmVudERlZmF1bHQoKSxiLmlzVG91Y2hlZD0hMDtjb25zdCBhPWcubGVuZ3RoPjA/Z1swXTplO2IudG91Y2hlc1N0YXJ0Lng9YS5wYWdlWCxiLnRvdWNoZXNTdGFydC55PWEucGFnZVl9KHMpfSkpLGEoXCJ0b3VjaEVuZFwiLCgoZSxzKT0+e3Quem9vbS5lbmFibGVkJiZmdW5jdGlvbigpe2NvbnN0IGU9dC56b29tO2lmKGcubGVuZ3RoPTAsIXYuaW1hZ2VFbClyZXR1cm47aWYoIWIuaXNUb3VjaGVkfHwhYi5pc01vdmVkKXJldHVybiBiLmlzVG91Y2hlZD0hMSx2b2lkKGIuaXNNb3ZlZD0hMSk7Yi5pc1RvdWNoZWQ9ITEsYi5pc01vdmVkPSExO2xldCBzPTMwMCxhPTMwMDtjb25zdCBpPXkueCpzLHI9Yi5jdXJyZW50WCtpLG49eS55KmEsbD1iLmN1cnJlbnRZK247MCE9PXkueCYmKHM9TWF0aC5hYnMoKHItYi5jdXJyZW50WCkveS54KSksMCE9PXkueSYmKGE9TWF0aC5hYnMoKGwtYi5jdXJyZW50WSkveS55KSk7Y29uc3Qgbz1NYXRoLm1heChzLGEpO2IuY3VycmVudFg9cixiLmN1cnJlbnRZPWw7Y29uc3QgZD1iLndpZHRoKmUuc2NhbGUsYz1iLmhlaWdodCplLnNjYWxlO2IubWluWD1NYXRoLm1pbih2LnNsaWRlV2lkdGgvMi1kLzIsMCksYi5tYXhYPS1iLm1pblgsYi5taW5ZPU1hdGgubWluKHYuc2xpZGVIZWlnaHQvMi1jLzIsMCksYi5tYXhZPS1iLm1pblksYi5jdXJyZW50WD1NYXRoLm1heChNYXRoLm1pbihiLmN1cnJlbnRYLGIubWF4WCksYi5taW5YKSxiLmN1cnJlbnRZPU1hdGgubWF4KE1hdGgubWluKGIuY3VycmVudFksYi5tYXhZKSxiLm1pblkpLHYuaW1hZ2VXcmFwRWwuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke299bXNgLHYuaW1hZ2VXcmFwRWwuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUzZCgke2IuY3VycmVudFh9cHgsICR7Yi5jdXJyZW50WX1weCwwKWB9KCl9KSksYShcImRvdWJsZVRhcFwiLCgoZSxzKT0+eyF0LmFuaW1hdGluZyYmdC5wYXJhbXMuem9vbS5lbmFibGVkJiZ0Lnpvb20uZW5hYmxlZCYmdC5wYXJhbXMuem9vbS50b2dnbGUmJlgocyl9KSksYShcInRyYW5zaXRpb25FbmRcIiwoKCk9Pnt0Lnpvb20uZW5hYmxlZCYmdC5wYXJhbXMuem9vbS5lbmFibGVkJiZrKCl9KSksYShcInNsaWRlQ2hhbmdlXCIsKCgpPT57dC56b29tLmVuYWJsZWQmJnQucGFyYW1zLnpvb20uZW5hYmxlZCYmdC5wYXJhbXMuY3NzTW9kZSYmaygpfSkpLE9iamVjdC5hc3NpZ24odC56b29tLHtlbmFibGU6QixkaXNhYmxlOkgsaW46RCxvdXQ6Ryx0b2dnbGU6WH0pfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YX09ZTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgcz1mdW5jdGlvbigpe2xldCBlLHQscztyZXR1cm4oYSxpKT0+e2Zvcih0PS0xLGU9YS5sZW5ndGg7ZS10PjE7KXM9ZSt0Pj4xLGFbc108PWk/dD1zOmU9cztyZXR1cm4gZX19KCk7bGV0IGEsaTtyZXR1cm4gdGhpcy54PWUsdGhpcy55PXQsdGhpcy5sYXN0SW5kZXg9ZS5sZW5ndGgtMSx0aGlzLmludGVycG9sYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBlPyhpPXModGhpcy54LGUpLGE9aS0xLChlLXRoaXMueFthXSkqKHRoaXMueVtpXS10aGlzLnlbYV0pLyh0aGlzLnhbaV0tdGhpcy54W2FdKSt0aGlzLnlbYV0pOjB9LHRoaXN9ZnVuY3Rpb24gcigpe3QuY29udHJvbGxlci5jb250cm9sJiZ0LmNvbnRyb2xsZXIuc3BsaW5lJiYodC5jb250cm9sbGVyLnNwbGluZT12b2lkIDAsZGVsZXRlIHQuY29udHJvbGxlci5zcGxpbmUpfXMoe2NvbnRyb2xsZXI6e2NvbnRyb2w6dm9pZCAwLGludmVyc2U6ITEsYnk6XCJzbGlkZVwifX0pLHQuY29udHJvbGxlcj17Y29udHJvbDp2b2lkIDB9LGEoXCJiZWZvcmVJbml0XCIsKCgpPT57aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmKFwic3RyaW5nXCI9PXR5cGVvZiB0LnBhcmFtcy5jb250cm9sbGVyLmNvbnRyb2x8fHQucGFyYW1zLmNvbnRyb2xsZXIuY29udHJvbCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSl7KFwic3RyaW5nXCI9PXR5cGVvZiB0LnBhcmFtcy5jb250cm9sbGVyLmNvbnRyb2w/Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodC5wYXJhbXMuY29udHJvbGxlci5jb250cm9sKV06W3QucGFyYW1zLmNvbnRyb2xsZXIuY29udHJvbF0pLmZvckVhY2goKGU9PntpZih0LmNvbnRyb2xsZXIuY29udHJvbHx8KHQuY29udHJvbGxlci5jb250cm9sPVtdKSxlJiZlLnN3aXBlcil0LmNvbnRyb2xsZXIuY29udHJvbC5wdXNoKGUuc3dpcGVyKTtlbHNlIGlmKGUpe2NvbnN0IHM9YCR7dC5wYXJhbXMuZXZlbnRzUHJlZml4fWluaXRgLGE9aT0+e3QuY29udHJvbGxlci5jb250cm9sLnB1c2goaS5kZXRhaWxbMF0pLHQudXBkYXRlKCksZS5yZW1vdmVFdmVudExpc3RlbmVyKHMsYSl9O2UuYWRkRXZlbnRMaXN0ZW5lcihzLGEpfX0pKX1lbHNlIHQuY29udHJvbGxlci5jb250cm9sPXQucGFyYW1zLmNvbnRyb2xsZXIuY29udHJvbH0pKSxhKFwidXBkYXRlXCIsKCgpPT57cigpfSkpLGEoXCJyZXNpemVcIiwoKCk9PntyKCl9KSksYShcIm9ic2VydmVyVXBkYXRlXCIsKCgpPT57cigpfSkpLGEoXCJzZXRUcmFuc2xhdGVcIiwoKGUscyxhKT0+e3QuY29udHJvbGxlci5jb250cm9sJiYhdC5jb250cm9sbGVyLmNvbnRyb2wuZGVzdHJveWVkJiZ0LmNvbnRyb2xsZXIuc2V0VHJhbnNsYXRlKHMsYSl9KSksYShcInNldFRyYW5zaXRpb25cIiwoKGUscyxhKT0+e3QuY29udHJvbGxlci5jb250cm9sJiYhdC5jb250cm9sbGVyLmNvbnRyb2wuZGVzdHJveWVkJiZ0LmNvbnRyb2xsZXIuc2V0VHJhbnNpdGlvbihzLGEpfSkpLE9iamVjdC5hc3NpZ24odC5jb250cm9sbGVyLHtzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oZSxzKXtjb25zdCBhPXQuY29udHJvbGxlci5jb250cm9sO2xldCByLG47Y29uc3QgbD10LmNvbnN0cnVjdG9yO2Z1bmN0aW9uIG8oZSl7aWYoZS5kZXN0cm95ZWQpcmV0dXJuO2NvbnN0IHM9dC5ydGxUcmFuc2xhdGU/LXQudHJhbnNsYXRlOnQudHJhbnNsYXRlO1wic2xpZGVcIj09PXQucGFyYW1zLmNvbnRyb2xsZXIuYnkmJighZnVuY3Rpb24oZSl7dC5jb250cm9sbGVyLnNwbGluZT10LnBhcmFtcy5sb29wP25ldyBpKHQuc2xpZGVzR3JpZCxlLnNsaWRlc0dyaWQpOm5ldyBpKHQuc25hcEdyaWQsZS5zbmFwR3JpZCl9KGUpLG49LXQuY29udHJvbGxlci5zcGxpbmUuaW50ZXJwb2xhdGUoLXMpKSxuJiZcImNvbnRhaW5lclwiIT09dC5wYXJhbXMuY29udHJvbGxlci5ieXx8KHI9KGUubWF4VHJhbnNsYXRlKCktZS5taW5UcmFuc2xhdGUoKSkvKHQubWF4VHJhbnNsYXRlKCktdC5taW5UcmFuc2xhdGUoKSksIU51bWJlci5pc05hTihyKSYmTnVtYmVyLmlzRmluaXRlKHIpfHwocj0xKSxuPShzLXQubWluVHJhbnNsYXRlKCkpKnIrZS5taW5UcmFuc2xhdGUoKSksdC5wYXJhbXMuY29udHJvbGxlci5pbnZlcnNlJiYobj1lLm1heFRyYW5zbGF0ZSgpLW4pLGUudXBkYXRlUHJvZ3Jlc3MobiksZS5zZXRUcmFuc2xhdGUobix0KSxlLnVwZGF0ZUFjdGl2ZUluZGV4KCksZS51cGRhdGVTbGlkZXNDbGFzc2VzKCl9aWYo
5043QXJyYXkuaXNBcnJheShhKSlmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrPTEpYVtlXSE9PXMmJmFbZV1pbnN0YW5jZW9mIGwmJm8oYVtlXSk7ZWxzZSBhIGluc3RhbmNlb2YgbCYmcyE9PWEmJm8oYSl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSxzKXtjb25zdCBhPXQuY29uc3RydWN0b3IsaT10LmNvbnRyb2xsZXIuY29udHJvbDtsZXQgcjtmdW5jdGlvbiBuKHMpe3MuZGVzdHJveWVkfHwocy5zZXRUcmFuc2l0aW9uKGUsdCksMCE9PWUmJihzLnRyYW5zaXRpb25TdGFydCgpLHMucGFyYW1zLmF1dG9IZWlnaHQmJmwoKCgpPT57cy51cGRhdGVBdXRvSGVpZ2h0KCl9KSkseChzLndyYXBwZXJFbCwoKCk9PntpJiZzLnRyYW5zaXRpb25FbmQoKX0pKSkpfWlmKEFycmF5LmlzQXJyYXkoaSkpZm9yKHI9MDtyPGkubGVuZ3RoO3IrPTEpaVtyXSE9PXMmJmlbcl1pbnN0YW5jZW9mIGEmJm4oaVtyXSk7ZWxzZSBpIGluc3RhbmNlb2YgYSYmcyE9PWkmJm4oaSl9fSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjppfT1lO3Moe2ExMXk6e2VuYWJsZWQ6ITAsbm90aWZpY2F0aW9uQ2xhc3M6XCJzd2lwZXItbm90aWZpY2F0aW9uXCIscHJldlNsaWRlTWVzc2FnZTpcIlByZXZpb3VzIHNsaWRlXCIsbmV4dFNsaWRlTWVzc2FnZTpcIk5leHQgc2xpZGVcIixmaXJzdFNsaWRlTWVzc2FnZTpcIlRoaXMgaXMgdGhlIGZpcnN0IHNsaWRlXCIsbGFzdFNsaWRlTWVzc2FnZTpcIlRoaXMgaXMgdGhlIGxhc3Qgc2xpZGVcIixwYWdpbmF0aW9uQnVsbGV0TWVzc2FnZTpcIkdvIHRvIHNsaWRlIHt7aW5kZXh9fVwiLHNsaWRlTGFiZWxNZXNzYWdlOlwie3tpbmRleH19IC8ge3tzbGlkZXNMZW5ndGh9fVwiLGNvbnRhaW5lck1lc3NhZ2U6bnVsbCxjb250YWluZXJSb2xlRGVzY3JpcHRpb25NZXNzYWdlOm51bGwsY29udGFpbmVyUm9sZTpudWxsLGl0ZW1Sb2xlRGVzY3JpcHRpb25NZXNzYWdlOm51bGwsc2xpZGVSb2xlOlwiZ3JvdXBcIixpZDpudWxsLHNjcm9sbE9uRm9jdXM6ITB9fSksdC5hMTF5PXtjbGlja2VkOiExfTtsZXQgcixuLGw9bnVsbCxvPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2Z1bmN0aW9uIGQoZSl7Y29uc3QgdD1sOzAhPT10Lmxlbmd0aCYmQyh0LGUpfWZ1bmN0aW9uIGMoZSl7KGU9VChlKSkuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKFwidGFiSW5kZXhcIixcIjBcIil9KSl9ZnVuY3Rpb24gcChlKXsoZT1UKGUpKS5mb3JFYWNoKChlPT57ZS5zZXRBdHRyaWJ1dGUoXCJ0YWJJbmRleFwiLFwiLTFcIil9KSl9ZnVuY3Rpb24gdShlLHQpeyhlPVQoZSkpLmZvckVhY2goKGU9PntlLnNldEF0dHJpYnV0ZShcInJvbGVcIix0KX0pKX1mdW5jdGlvbiBtKGUsdCl7KGU9VChlKSkuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKFwiYXJpYS1yb2xlZGVzY3JpcHRpb25cIix0KX0pKX1mdW5jdGlvbiBoKGUsdCl7KGU9VChlKSkuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLHQpfSkpfWZ1bmN0aW9uIGYoZSl7KGU9VChlKSkuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiLCEwKX0pKX1mdW5jdGlvbiBnKGUpeyhlPVQoZSkpLmZvckVhY2goKGU9PntlLnNldEF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIiwhMSl9KSl9ZnVuY3Rpb24gdyhlKXtpZigxMyE9PWUua2V5Q29kZSYmMzIhPT1lLmtleUNvZGUpcmV0dXJuO2NvbnN0IHM9dC5wYXJhbXMuYTExeSxhPWUudGFyZ2V0O2lmKCF0LnBhZ2luYXRpb258fCF0LnBhZ2luYXRpb24uZWx8fGEhPT10LnBhZ2luYXRpb24uZWwmJiF0LnBhZ2luYXRpb24uZWwuY29udGFpbnMoZS50YXJnZXQpfHxlLnRhcmdldC5tYXRjaGVzKGxlKHQucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpKSl7aWYodC5uYXZpZ2F0aW9uJiZ0Lm5hdmlnYXRpb24ucHJldkVsJiZ0Lm5hdmlnYXRpb24ubmV4dEVsKXtjb25zdCBlPVQodC5uYXZpZ2F0aW9uLnByZXZFbCk7VCh0Lm5hdmlnYXRpb24ubmV4dEVsKS5pbmNsdWRlcyhhKSYmKHQuaXNFbmQmJiF0LnBhcmFtcy5sb29wfHx0LnNsaWRlTmV4dCgpLHQuaXNFbmQ/ZChzLmxhc3RTbGlkZU1lc3NhZ2UpOmQocy5uZXh0U2xpZGVNZXNzYWdlKSksZS5pbmNsdWRlcyhhKSYmKHQuaXNCZWdpbm5pbmcmJiF0LnBhcmFtcy5sb29wfHx0LnNsaWRlUHJldigpLHQuaXNCZWdpbm5pbmc/ZChzLmZpcnN0U2xpZGVNZXNzYWdlKTpkKHMucHJldlNsaWRlTWVzc2FnZSkpfXQucGFnaW5hdGlvbiYmYS5tYXRjaGVzKGxlKHQucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpKSYmYS5jbGljaygpfX1mdW5jdGlvbiBiKCl7cmV0dXJuIHQucGFnaW5hdGlvbiYmdC5wYWdpbmF0aW9uLmJ1bGxldHMmJnQucGFnaW5hdGlvbi5idWxsZXRzLmxlbmd0aH1mdW5jdGlvbiBFKCl7cmV0dXJuIGIoKSYmdC5wYXJhbXMucGFnaW5hdGlvbi5jbGlja2FibGV9Y29uc3QgeD0oZSx0LHMpPT57YyhlKSxcIkJVVFRPTlwiIT09ZS50YWdOYW1lJiYodShlLFwiYnV0dG9uXCIpLGUuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIix3KSksaChlLHMpLGZ1bmN0aW9uKGUsdCl7KGU9VChlKSkuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiLHQpfSkpfShlLHQpfSxTPWU9PntuJiZuIT09ZS50YXJnZXQmJiFuLmNvbnRhaW5zKGUudGFyZ2V0KSYmKHI9ITApLHQuYTExeS5jbGlja2VkPSEwfSxNPSgpPT57cj0hMSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3QuZGVzdHJveWVkfHwodC5hMTF5LmNsaWNrZWQ9ITEpfSkpfSkpfSxQPWU9PntvPShuZXcgRGF0ZSkuZ2V0VGltZSgpfSxMPWU9PntpZih0LmExMXkuY2xpY2tlZHx8IXQucGFyYW1zLmExMXkuc2Nyb2xsT25Gb2N1cylyZXR1cm47aWYoKG5ldyBEYXRlKS5nZXRUaW1lKCktbzwxMDApcmV0dXJuO2NvbnN0IHM9ZS50YXJnZXQuY2xvc2VzdChgLiR7dC5wYXJhbXMuc2xpZGVDbGFzc30sIHN3aXBlci1zbGlkZWApO2lmKCFzfHwhdC5zbGlkZXMuaW5jbHVkZXMocykpcmV0dXJuO249cztjb25zdCBhPXQuc2xpZGVzLmluZGV4T2Yocyk9PT10LmFjdGl2ZUluZGV4LGk9dC5wYXJhbXMud2F0Y2hTbGlkZXNQcm9ncmVzcyYmdC52aXNpYmxlU2xpZGVzJiZ0Ln
5043Zpc2libGVTbGlkZXMuaW5jbHVkZXMocyk7YXx8aXx8ZS5zb3VyY2VDYXBhYmlsaXRpZXMmJmUuc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHN8fCh0LmlzSG9yaXpvbnRhbCgpP3QuZWwuc2Nyb2xsTGVmdD0wOnQuZWwuc2Nyb2xsVG9wPTAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3J8fCh0LnBhcmFtcy5sb29wP3Quc2xpZGVUb0xvb3AodC5nZXRTbGlkZUluZGV4V2hlbkdyaWQocGFyc2VJbnQocy5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleFwiKSkpLDApOnQuc2xpZGVUbyh0LmdldFNsaWRlSW5kZXhXaGVuR3JpZCh0LnNsaWRlcy5pbmRleE9mKHMpKSwwKSxyPSExKX0pKSl9LEk9KCk9Pntjb25zdCBlPXQucGFyYW1zLmExMXk7ZS5pdGVtUm9sZURlc2NyaXB0aW9uTWVzc2FnZSYmbSh0LnNsaWRlcyxlLml0ZW1Sb2xlRGVzY3JpcHRpb25NZXNzYWdlKSxlLnNsaWRlUm9sZSYmdSh0LnNsaWRlcyxlLnNsaWRlUm9sZSk7Y29uc3Qgcz10LnNsaWRlcy5sZW5ndGg7ZS5zbGlkZUxhYmVsTWVzc2FnZSYmdC5zbGlkZXMuZm9yRWFjaCgoKGEsaSk9Pntjb25zdCByPXQucGFyYW1zLmxvb3A/cGFyc2VJbnQoYS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleFwiKSwxMCk6aTtoKGEsZS5zbGlkZUxhYmVsTWVzc2FnZS5yZXBsYWNlKC9cXHtcXHtpbmRleFxcfVxcfS8scisxKS5yZXBsYWNlKC9cXHtcXHtzbGlkZXNMZW5ndGhcXH1cXH0vLHMpKX0pKX0sej0oKT0+e2NvbnN0IGU9dC5wYXJhbXMuYTExeTt0LmVsLmFwcGVuZChsKTtjb25zdCBzPXQuZWw7ZS5jb250YWluZXJSb2xlRGVzY3JpcHRpb25NZXNzYWdlJiZtKHMsZS5jb250YWluZXJSb2xlRGVzY3JpcHRpb25NZXNzYWdlKSxlLmNvbnRhaW5lck1lc3NhZ2UmJmgocyxlLmNvbnRhaW5lck1lc3NhZ2UpLGUuY29udGFpbmVyUm9sZSYmdShzLGUuY29udGFpbmVyUm9sZSk7Y29uc3QgaT10LndyYXBwZXJFbCxyPWUuaWR8fGkuZ2V0QXR0cmlidXRlKFwiaWRcIil8fGBzd2lwZXItd3JhcHBlci0ke249MTYsdm9pZCAwPT09biYmKG49MTYpLFwieFwiLnJlcGVhdChuKS5yZXBsYWNlKC94L2csKCgpPT5NYXRoLnJvdW5kKDE2Kk1hdGgucmFuZG9tKCkpLnRvU3RyaW5nKDE2KSkpfWA7dmFyIG47Y29uc3Qgbz10LnBhcmFtcy5hdXRvcGxheSYmdC5wYXJhbXMuYXV0b3BsYXkuZW5hYmxlZD9cIm9mZlwiOlwicG9saXRlXCI7dmFyIGQ7ZD1yLFQoaSkuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKFwiaWRcIixkKX0pKSxmdW5jdGlvbihlLHQpeyhlPVQoZSkpLmZvckVhY2goKGU9PntlLnNldEF0dHJpYnV0ZShcImFyaWEtbGl2ZVwiLHQpfSkpfShpLG8pLEkoKTtsZXR7bmV4dEVsOmMscHJldkVsOnB9PXQubmF2aWdhdGlvbj90Lm5hdmlnYXRpb246e307aWYoYz1UKGMpLHA9VChwKSxjJiZjLmZvckVhY2goKHQ9PngodCxyLGUubmV4dFNsaWRlTWVzc2FnZSkpKSxwJiZwLmZvckVhY2goKHQ9PngodCxyLGUucHJldlNsaWRlTWVzc2FnZSkpKSxFKCkpe1QodC5wYWdpbmF0aW9uLmVsKS5mb3JFYWNoKChlPT57ZS5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLHcpfSkpfWEoKS5hZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLFApLHQuZWwuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsTCwhMCksdC5lbC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNcIixMLCEwKSx0LmVsLmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVyZG93blwiLFMsITApLHQuZWwuYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJ1cFwiLE0sITApfTtpKFwiYmVmb3JlSW5pdFwiLCgoKT0+e2w9dihcInNwYW5cIix0LnBhcmFtcy5hMTF5Lm5vdGlmaWNhdGlvbkNsYXNzKSxsLnNldEF0dHJpYnV0ZShcImFyaWEtbGl2ZVwiLFwiYXNzZXJ0aXZlXCIpLGwuc2V0QXR0cmlidXRlKFwiYXJpYS1hdG9taWNcIixcInRydWVcIil9KSksaShcImFmdGVySW5pdFwiLCgoKT0+e3QucGFyYW1zLmExMXkuZW5hYmxlZCYmeigpfSkpLGkoXCJzbGlkZXNMZW5ndGhDaGFuZ2Ugc25hcEdyaWRMZW5ndGhDaGFuZ2Ugc2xpZGVzR3JpZExlbmd0aENoYW5nZVwiLCgoKT0+e3QucGFyYW1zLmExMXkuZW5hYmxlZCYmSSgpfSkpLGkoXCJmcm9tRWRnZSB0b0VkZ2UgYWZ0ZXJJbml0IGxvY2sgdW5sb2NrXCIsKCgpPT57dC5wYXJhbXMuYTExeS5lbmFibGVkJiZmdW5jdGlvbigpe2lmKHQucGFyYW1zLmxvb3B8fHQucGFyYW1zLnJld2luZHx8IXQubmF2aWdhdGlvbilyZXR1cm47Y29uc3R7bmV4dEVsOmUscHJldkVsOnN9PXQubmF2aWdhdGlvbjtzJiYodC5pc0JlZ2lubmluZz8oZihzKSxwKHMpKTooZyhzKSxjKHMpKSksZSYmKHQuaXNFbmQ/KGYoZSkscChlKSk6KGcoZSksYyhlKSkpfSgpfSkpLGkoXCJwYWdpbmF0aW9uVXBkYXRlXCIsKCgpPT57dC5wYXJhbXMuYTExeS5lbmFibGVkJiZmdW5jdGlvbigpe2NvbnN0IGU9dC5wYXJhbXMuYTExeTtiKCkmJnQucGFnaW5hdGlvbi5idWxsZXRzLmZvckVhY2goKHM9Pnt0LnBhcmFtcy5wYWdpbmF0aW9uLmNsaWNrYWJsZSYmKGMocyksdC5wYXJhbXMucGFnaW5hdGlvbi5yZW5kZXJCdWxsZXR8fCh1KHMsXCJidXR0b25cIiksaChzLGUucGFnaW5hdGlvbkJ1bGxldE1lc3NhZ2UucmVwbGFjZSgvXFx7XFx7aW5kZXhcXH1cXH0vLHkocykrMSkpKSkscy5tYXRjaGVzKGxlKHQucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0QWN0aXZlQ2xhc3MpKT9zLnNldEF0dHJpYnV0ZShcImFyaWEtY3VycmVudFwiLFwidHJ1ZVwiKTpzLnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtY3VycmVudFwiKX0pKX0oKX0pKSxpKFwiZGVzdHJveVwiLCgoKT0+e3QucGFyYW1zLmExMXkuZW5hYmxlZCYmZnVuY3Rpb24oKXtsJiZsLnJlbW92ZSgpO2xldHtuZXh0RWw6ZSxwcmV2RWw6c309dC5uYXZpZ2F0aW9uP3QubmF2aWdhdGlvbjp7fTtlPVQoZSkscz1UKHMpLGUmJmUuZm9yRWFjaCgoZT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLHcpKSkscyYmcy5mb3JFYWNoKChlPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsdykpKSxFKCkmJlQodC5wYWdpbmF0aW9uLmVsKS5mb3JFYWNoKChlPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLHcpfSkpO2EoKS5yZW1vdmVFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLFApLHQuZWwmJlwic3RyaW5nXCIhPXR5cGVvZiB0LmVsJiYodC5lbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNcIixMLCEwKSx0LmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVyZG93blwiLFMsITApLHQuZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJ1cFwiLE0sITApKX0oKX0pKX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmF9PWU7cyh7aGlzdG9yeTp7ZW5hYmxlZDohMSxyb290OlwiXCIscmVwbGFjZVN0YXRlOiExLGtleTpcInNsaWRlc1wiLGtlZXBRdWVyeTohMX19KTtsZXQgaT0hMSxuPXt9O2NvbnN0IGw9ZT0+ZS50b1N0cmluZygpLnJlcGxhY2UoL1xccysvZyxcIi1cIikucmVwbGFjZSgvW15cXHctXSsvZyxcIlwiKS5yZXBsYWNlKC8tLSsvZyxcIi1cIikucmVwbGFjZSgvXi0rLyxcIlwiKS5yZXBsYWNlKC8tKyQvLFwiXCIpLG89ZT0+e2NvbnN0IHQ9cigpO2xldCBzO3M9ZT9uZXcgVVJMKGUpOnQubG9jYXRpb247Y29uc3QgYT1zLnBhdGhuYW1lLnNsaWNlKDEpLnNwbGl0KFwiL1wiKS5maWx0ZXIoKGU9PlwiXCIhPT1lKSksaT1hLmxlbmd0aDtyZXR1cm57a2V5OmFbaS0yXSx2YWx1ZTphW2ktMV19fSxkPShlLHMpPT57Y29uc3QgYT1yKCk7aWYoIWl8fCF0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQpcmV0dXJuO2xldCBuO249dC5wYXJhbXMudXJsP25ldyBVUkwodC5wYXJhbXMudXJsKTphLmxvY2F0aW9uO2NvbnN0IG89dC52aXJ0dWFsJiZ0LnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ/dC5zbGlkZXNFbC5
5043xdWVyeVNlbGVjdG9yKGBbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIke3N9XCJdYCk6dC5zbGlkZXNbc107bGV0IGQ9bChvLmdldEF0dHJpYnV0ZShcImRhdGEtaGlzdG9yeVwiKSk7aWYodC5wYXJhbXMuaGlzdG9yeS5yb290Lmxlbmd0aD4wKXtsZXQgcz10LnBhcmFtcy5oaXN0b3J5LnJvb3Q7XCIvXCI9PT1zW3MubGVuZ3RoLTFdJiYocz1zLnNsaWNlKDAscy5sZW5ndGgtMSkpLGQ9YCR7c30vJHtlP2Ake2V9L2A6XCJcIn0ke2R9YH1lbHNlIG4ucGF0aG5hbWUuaW5jbHVkZXMoZSl8fChkPWAke2U/YCR7ZX0vYDpcIlwifSR7ZH1gKTt0LnBhcmFtcy5oaXN0b3J5LmtlZXBRdWVyeSYmKGQrPW4uc2VhcmNoKTtjb25zdCBjPWEuaGlzdG9yeS5zdGF0ZTtjJiZjLnZhbHVlPT09ZHx8KHQucGFyYW1zLmhpc3RvcnkucmVwbGFjZVN0YXRlP2EuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe3ZhbHVlOmR9LG51bGwsZCk6YS5oaXN0b3J5LnB1c2hTdGF0ZSh7dmFsdWU6ZH0sbnVsbCxkKSl9LGM9KGUscyxhKT0+e2lmKHMpZm9yKGxldCBpPTAscj10LnNsaWRlcy5sZW5ndGg7aTxyO2krPTEpe2NvbnN0IHI9dC5zbGlkZXNbaV07aWYobChyLmdldEF0dHJpYnV0ZShcImRhdGEtaGlzdG9yeVwiKSk9PT1zKXtjb25zdCBzPXQuZ2V0U2xpZGVJbmRleChyKTt0LnNsaWRlVG8ocyxlLGEpfX1lbHNlIHQuc2xpZGVUbygwLGUsYSl9LHA9KCk9PntuPW8odC5wYXJhbXMudXJsKSxjKHQucGFyYW1zLnNwZWVkLG4udmFsdWUsITEpfTthKFwiaW5pdFwiLCgoKT0+e3QucGFyYW1zLmhpc3RvcnkuZW5hYmxlZCYmKCgpPT57Y29uc3QgZT1yKCk7aWYodC5wYXJhbXMuaGlzdG9yeSl7aWYoIWUuaGlzdG9yeXx8IWUuaGlzdG9yeS5wdXNoU3RhdGUpcmV0dXJuIHQucGFyYW1zLmhpc3RvcnkuZW5hYmxlZD0hMSx2b2lkKHQucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQ9ITApO2k9ITAsbj1vKHQucGFyYW1zLnVybCksbi5rZXl8fG4udmFsdWU/KGMoMCxuLnZhbHVlLHQucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCksdC5wYXJhbXMuaGlzdG9yeS5yZXBsYWNlU3RhdGV8fGUuYWRkRXZlbnRMaXN0ZW5lcihcInBvcHN0YXRlXCIscCkpOnQucGFyYW1zLmhpc3RvcnkucmVwbGFjZVN0YXRlfHxlLmFkZEV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLHApfX0pKCl9KSksYShcImRlc3Ryb3lcIiwoKCk9Pnt0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQmJigoKT0+e2NvbnN0IGU9cigpO3QucGFyYW1zLmhpc3RvcnkucmVwbGFjZVN0YXRlfHxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLHApfSkoKX0pKSxhKFwidHJhbnNpdGlvbkVuZCBfZnJlZU1vZGVOb01vbWVudHVtUmVsZWFzZVwiLCgoKT0+e2kmJmQodC5wYXJhbXMuaGlzdG9yeS5rZXksdC5hY3RpdmVJbmRleCl9KSksYShcInNsaWRlQ2hhbmdlXCIsKCgpPT57aSYmdC5wYXJhbXMuY3NzTW9kZSYmZCh0LnBhcmFtcy5oaXN0b3J5LmtleSx0LmFjdGl2ZUluZGV4KX0pKX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLGVtaXQ6aSxvbjpufT1lLGw9ITE7Y29uc3Qgbz1hKCksZD1yKCk7cyh7aGFzaE5hdmlnYXRpb246e2VuYWJsZWQ6ITEscmVwbGFjZVN0YXRlOiExLHdhdGNoU3RhdGU6ITEsZ2V0U2xpZGVJbmRleChlLHMpe2lmKHQudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkKXtjb25zdCBlPXQuc2xpZGVzLmZpbmQoKGU9PmUuZ2V0QXR0cmlidXRlKFwiZGF0YS1oYXNoXCIpPT09cykpO2lmKCFlKXJldHVybiAwO3JldHVybiBwYXJzZUludChlLmdldEF0dHJpYnV0ZShcImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4XCIpLDEwKX1yZXR1cm4gdC5nZXRTbGlkZUluZGV4KGYodC5zbGlkZXNFbCxgLiR7dC5wYXJhbXMuc2xpZGVDbGFzc31bZGF0YS1oYXNoPVwiJHtzfVwiXSwgc3dpcGVyLXNsaWRlW2RhdGEtaGFzaD1cIiR7c31cIl1gKVswXSl9fX0pO2NvbnN0IGM9KCk9PntpKFwiaGFzaENoYW5nZVwiKTtjb25zdCBlPW8ubG9jYXRpb24uaGFzaC5yZXBsYWNlKFwiI1wiLFwiXCIpLHM9dC52aXJ0dWFsJiZ0LnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ/dC5zbGlkZXNFbC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIke3QuYWN0aXZlSW5kZXh9XCJdYCk6dC5zbGlkZXNbdC5hY3RpdmVJbmRleF07aWYoZSE9PShzP3MuZ2V0QXR0cmlidXRlKFwiZGF0YS1oYXNoXCIpOlwiXCIpKXtjb25zdCBzPXQucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmdldFNsaWRlSW5kZXgodCxlKTtpZih2b2lkIDA9PT1zfHxOdW1iZXIuaXNOYU4ocykpcmV0dXJuO3Quc2xpZGVUbyhzKX19LHA9KCk9PntpZighbHx8IXQucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQpcmV0dXJuO2NvbnN0IGU9dC52aXJ0dWFsJiZ0LnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ/dC5zbGlkZXNFbC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIke3QuYWN0aXZlSW5kZXh9XCJdYCk6dC5zbGlkZXNbdC5hY3RpdmVJbmRleF0scz1lP2UuZ2V0QXR0cmlidXRlKFwiZGF0YS1oYXNoXCIpfHxlLmdldEF0dHJpYnV0ZShcImRhdGEtaGlzdG9yeVwiKTpcIlwiO3QucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLnJlcGxhY2VTdGF0ZSYmZC5oaXN0b3J5JiZkLmhpc3RvcnkucmVwbGFjZVN0YXRlPyhkLmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsbnVsbCxgIyR7c31gfHxcIlwiKSxpKFwiaGFzaFNldFwiKSk6KG8ubG9jYXRpb24uaGFzaD1zfHxcIlwiLGkoXCJoYXNoU2V0XCIpKX07bihcImluaXRcIiwoKCk9Pnt0LnBhcmFtcy5oYXNoTmF2aWdhdGlvbi5lbmFibGVkJiYoKCk9PntpZighdC5wYXJhbXMuaGFzaE5hdmlnYXRpb24uZW5hYmxlZHx8dC5wYXJhbXMuaGlzdG9yeSYmdC5wYXJhbXMuaGlzdG9yeS5lbmFibGVkKXJldHVybjtsPSEwO2NvbnN0IGU9by5sb2NhdGlvbi5oYXNoLnJlcGxhY2UoXCIjXCIsXCJcIik7aWYoZSl7Y29uc3Qgcz0wLGE9dC5wYXJhbXMuaGFzaE5hdmlnYXRpb24uZ2V0U2xpZGVJbmRleCh0LGUpO3Quc2xpZGVUbyhhfHwwLHMsdC5wYXJhbXMucnVuQ2FsbGJhY2tzT25Jbml0LCEwKX10LnBhcmFtcy5oYXNoTmF2aWdhdGlvbi53YXRjaFN0YXRlJiZkLmFkZEV2ZW50TGlzdGVuZXIoXCJoYXNoY2hhbmdlXCIsYyl9KSgpfSkpLG4oXCJkZXN0cm95XCIsKCgpPT57dC5wYXJhbXMuaGFzaE5hdmlnYXRpb24uZW5hYmxlZCYmdC5wYXJhbXMuaGFzaE5hdmlnYXRpb24ud2F0Y2hTdGF0ZSYmZC5yZW1vdmVFdmVudExpc3RlbmVyKFwiaGFzaGNoYW5nZVwiLGMpfSkpLG4oXCJ0cmFuc2l0aW9uRW5kIF9mcmVlTW9kZU5vTW9tZW50dW1SZWxlYXNlXCIsKCgpPT57bCYmcCgpfSkpLG4oXCJzbGlkZUNoYW5nZVwiLCgoKT0+e2wmJnQucGFyYW1zLmNzc01vZGUmJnAoKX0pKX0sZnVuY3Rpb24oZSl7bGV0IHQscyx7c3dpcGVyOmksZXh0ZW5kUGFyYW1zOnIsb246bixlbWl0OmwscGFyYW1zOm99PWU7aS5hdXRvcGxheT17cnVubmluZzohMSxwYXVzZWQ6ITEsdGltZUxlZnQ6MH0scih7YXV0b3BsYXk6e2VuYWJsZWQ6ITEsZGVsYXk6M2UzLHdhaXRGb3JUcmFuc2l0aW9uOiEwLGRpc2FibGVPbkludGVyYWN0aW9uOiExLHN0b3BPbkxhc3RTbGlkZTohMSxyZX
5043ZlcnNlRGlyZWN0aW9uOiExLHBhdXNlT25Nb3VzZUVudGVyOiExfX0pO2xldCBkLGMscCx1LG0saCxmLGcsdj1vJiZvLmF1dG9wbGF5P28uYXV0b3BsYXkuZGVsYXk6M2UzLHc9byYmby5hdXRvcGxheT9vLmF1dG9wbGF5LmRlbGF5OjNlMyxiPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2Z1bmN0aW9uIHkoZSl7aSYmIWkuZGVzdHJveWVkJiZpLndyYXBwZXJFbCYmZS50YXJnZXQ9PT1pLndyYXBwZXJFbCYmKGkud3JhcHBlckVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIseSksZ3x8ZS5kZXRhaWwmJmUuZGV0YWlsLmJ5U3dpcGVyVG91Y2hNb3ZlfHxDKCkpfWNvbnN0IEU9KCk9PntpZihpLmRlc3Ryb3llZHx8IWkuYXV0b3BsYXkucnVubmluZylyZXR1cm47aS5hdXRvcGxheS5wYXVzZWQ/Yz0hMDpjJiYodz1kLGM9ITEpO2NvbnN0IGU9aS5hdXRvcGxheS5wYXVzZWQ/ZDpiK3ctKG5ldyBEYXRlKS5nZXRUaW1lKCk7aS5hdXRvcGxheS50aW1lTGVmdD1lLGwoXCJhdXRvcGxheVRpbWVMZWZ0XCIsZSxlL3YpLHM9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e0UoKX0pKX0seD1lPT57aWYoaS5kZXN0cm95ZWR8fCFpLmF1dG9wbGF5LnJ1bm5pbmcpcmV0dXJuO2NhbmNlbEFuaW1hdGlvbkZyYW1lKHMpLEUoKTtsZXQgYT12b2lkIDA9PT1lP2kucGFyYW1zLmF1dG9wbGF5LmRlbGF5OmU7dj1pLnBhcmFtcy5hdXRvcGxheS5kZWxheSx3PWkucGFyYW1zLmF1dG9wbGF5LmRlbGF5O2NvbnN0IHI9KCgpPT57bGV0IGU7aWYoZT1pLnZpcnR1YWwmJmkucGFyYW1zLnZpcnR1YWwuZW5hYmxlZD9pLnNsaWRlcy5maW5kKChlPT5lLmNsYXNzTGlzdC5jb250YWlucyhcInN3aXBlci1zbGlkZS1hY3RpdmVcIikpKTppLnNsaWRlc1tpLmFjdGl2ZUluZGV4XSwhZSlyZXR1cm47cmV0dXJuIHBhcnNlSW50KGUuZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItYXV0b3BsYXlcIiksMTApfSkoKTshTnVtYmVyLmlzTmFOKHIpJiZyPjAmJnZvaWQgMD09PWUmJihhPXIsdj1yLHc9ciksZD1hO2NvbnN0IG49aS5wYXJhbXMuc3BlZWQsbz0oKT0+e2kmJiFpLmRlc3Ryb3llZCYmKGkucGFyYW1zLmF1dG9wbGF5LnJldmVyc2VEaXJlY3Rpb24/IWkuaXNCZWdpbm5pbmd8fGkucGFyYW1zLmxvb3B8fGkucGFyYW1zLnJld2luZD8oaS5zbGlkZVByZXYobiwhMCwhMCksbChcImF1dG9wbGF5XCIpKTppLnBhcmFtcy5hdXRvcGxheS5zdG9wT25MYXN0U2xpZGV8fChpLnNsaWRlVG8oaS5zbGlkZXMubGVuZ3RoLTEsbiwhMCwhMCksbChcImF1dG9wbGF5XCIpKTohaS5pc0VuZHx8aS5wYXJhbXMubG9vcHx8aS5wYXJhbXMucmV3aW5kPyhpLnNsaWRlTmV4dChuLCEwLCEwKSxsKFwiYXV0b3BsYXlcIikpOmkucGFyYW1zLmF1dG9wbGF5LnN0b3BPbkxhc3RTbGlkZXx8KGkuc2xpZGVUbygwLG4sITAsITApLGwoXCJhdXRvcGxheVwiKSksaS5wYXJhbXMuY3NzTW9kZSYmKGI9KG5ldyBEYXRlKS5nZXRUaW1lKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3goKX0pKSkpfTtyZXR1cm4gYT4wPyhjbGVhclRpbWVvdXQodCksdD1zZXRUaW1lb3V0KCgoKT0+e28oKX0pLGEpKTpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57bygpfSkpLGF9LFM9KCk9PntiPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGkuYXV0b3BsYXkucnVubmluZz0hMCx4KCksbChcImF1dG9wbGF5U3RhcnRcIil9LFQ9KCk9PntpLmF1dG9wbGF5LnJ1bm5pbmc9ITEsY2xlYXJUaW1lb3V0KHQpLGNhbmNlbEFuaW1hdGlvbkZyYW1lKHMpLGwoXCJhdXRvcGxheVN0b3BcIil9LE09KGUscyk9PntpZihpLmRlc3Ryb3llZHx8IWkuYXV0b3BsYXkucnVubmluZylyZXR1cm47Y2xlYXJUaW1lb3V0KHQpLGV8fChmPSEwKTtjb25zdCBhPSgpPT57bChcImF1dG9wbGF5UGF1c2VcIiksaS5wYXJhbXMuYXV0b3BsYXkud2FpdEZvclRyYW5zaXRpb24/aS53cmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIix5KTpDKCl9O2lmKGkuYXV0b3BsYXkucGF1c2VkPSEwLHMpcmV0dXJuIGgmJihkPWkucGFyYW1zLmF1dG9wbGF5LmRlbGF5KSxoPSExLHZvaWQgYSgpO2NvbnN0IHI9ZHx8aS5wYXJhbXMuYXV0b3BsYXkuZGVsYXk7ZD1yLSgobmV3IERhdGUpLmdldFRpbWUoKS1iKSxpLmlzRW5kJiZkPDAmJiFpLnBhcmFtcy5sb29wfHwoZDwwJiYoZD0wKSxhKCkpfSxDPSgpPT57aS5pc0VuZCYmZDwwJiYhaS5wYXJhbXMubG9vcHx8aS5kZXN0cm95ZWR8fCFpLmF1dG9wbGF5LnJ1bm5pbmd8fChiPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGY/KGY9ITEseChkKSk6eCgpLGkuYXV0b3BsYXkucGF1c2VkPSExLGwoXCJhdXRvcGxheVJlc3VtZVwiKSl9LFA9KCk9PntpZihpLmRlc3Ryb3llZHx8IWkuYXV0b3BsYXkucnVubmluZylyZXR1cm47Y29uc3QgZT1hKCk7XCJoaWRkZW5cIj09PWUudmlzaWJpbGl0eVN0YXRlJiYoZj0hMCxNKCEwKSksXCJ2aXNpYmxlXCI9PT1lLnZpc2liaWxpdHlTdGF0ZSYmQygpfSxMPWU9PntcIm1vdXNlXCI9PT1lLnBvaW50ZXJUeXBlJiYoZj0hMCxnPSEwLGkuYW5pbWF0aW5nfHxpLmF1dG9wbGF5LnBhdXNlZHx8TSghMCkpfSxJPWU9PntcIm1vdXNlXCI9PT1lLnBvaW50ZXJUeXBlJiYoZz0hMSxpLmF1dG9wbGF5LnBhdXNlZCYmQygpKX07bihcImluaXRcIiwoKCk9PntpLnBhcmFtcy5hdXRvcGxheS5lbmFibGVkJiYoaS5wYXJhbXMuYXV0b3BsYXkucGF1c2VPbk1vdXNlRW50ZXImJihpLmVsLmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVyZW50ZXJcIixMKSxpLmVsLmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVybGVhdmVcIixJKSksYSgpLmFkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsUCksUygpKX0pKSxuKFwiZGVzdHJveVwiLCgoKT0+e2kuZWwmJlwic3RyaW5nXCIhPXR5cGVvZiBpLmVsJiYoaS5lbC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmVudGVyXCIsTCksaS5lbC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmxlYXZlXCIsSSkpLGEoKS5yZW1vdmVFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLFApLGkuYXV0b3BsYXkucnVubmluZyYmVCgpfSkpLG4oXCJfZnJlZU1vZGVTdGF0aWNSZWxlYXNlXCIsKCgpPT57KHV8fGYpJiZDKCl9KSksbihcIl9mcmVlTW9kZU5vTW9tZW50dW1SZWxlYXNlXCIsKCgpPT57aS5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24/VCgpOk0oITAsITApfSkpLG4oXCJiZWZvcmVUcmFuc2l0aW9uU3RhcnRcIiwoKGUsdCxzKT0+eyFpLmRlc3Ryb3llZCYmaS5hdXRvcGxheS5ydW5uaW5nJ
5043iYoc3x8IWkucGFyYW1zLmF1dG9wbGF5LmRpc2FibGVPbkludGVyYWN0aW9uP00oITAsITApOlQoKSl9KSksbihcInNsaWRlckZpcnN0TW92ZVwiLCgoKT0+eyFpLmRlc3Ryb3llZCYmaS5hdXRvcGxheS5ydW5uaW5nJiYoaS5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24/VCgpOihwPSEwLHU9ITEsZj0hMSxtPXNldFRpbWVvdXQoKCgpPT57Zj0hMCx1PSEwLE0oITApfSksMjAwKSkpfSkpLG4oXCJ0b3VjaEVuZFwiLCgoKT0+e2lmKCFpLmRlc3Ryb3llZCYmaS5hdXRvcGxheS5ydW5uaW5nJiZwKXtpZihjbGVhclRpbWVvdXQobSksY2xlYXJUaW1lb3V0KHQpLGkucGFyYW1zLmF1dG9wbGF5LmRpc2FibGVPbkludGVyYWN0aW9uKXJldHVybiB1PSExLHZvaWQocD0hMSk7dSYmaS5wYXJhbXMuY3NzTW9kZSYmQygpLHU9ITEscD0hMX19KSksbihcInNsaWRlQ2hhbmdlXCIsKCgpPT57IWkuZGVzdHJveWVkJiZpLmF1dG9wbGF5LnJ1bm5pbmcmJihoPSEwKX0pKSxPYmplY3QuYXNzaWduKGkuYXV0b3BsYXkse3N0YXJ0OlMsc3RvcDpULHBhdXNlOk0scmVzdW1lOkN9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOml9PWU7cyh7dGh1bWJzOntzd2lwZXI6bnVsbCxtdWx0aXBsZUFjdGl2ZVRodW1iczohMCxhdXRvU2Nyb2xsT2Zmc2V0OjAsc2xpZGVUaHVtYkFjdGl2ZUNsYXNzOlwic3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZVwiLHRodW1ic0NvbnRhaW5lckNsYXNzOlwic3dpcGVyLXRodW1ic1wifX0pO2xldCByPSExLG49ITE7ZnVuY3Rpb24gbCgpe2NvbnN0IGU9dC50aHVtYnMuc3dpcGVyO2lmKCFlfHxlLmRlc3Ryb3llZClyZXR1cm47Y29uc3Qgcz1lLmNsaWNrZWRJbmRleCxhPWUuY2xpY2tlZFNsaWRlO2lmKGEmJmEuY2xhc3NMaXN0LmNvbnRhaW5zKHQucGFyYW1zLnRodW1icy5zbGlkZVRodW1iQWN0aXZlQ2xhc3MpKXJldHVybjtpZihudWxsPT1zKXJldHVybjtsZXQgaTtpPWUucGFyYW1zLmxvb3A/cGFyc2VJbnQoZS5jbGlja2VkU2xpZGUuZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIiksMTApOnMsdC5wYXJhbXMubG9vcD90LnNsaWRlVG9Mb29wKGkpOnQuc2xpZGVUbyhpKX1mdW5jdGlvbiBvKCl7Y29uc3R7dGh1bWJzOmV9PXQucGFyYW1zO2lmKHIpcmV0dXJuITE7cj0hMDtjb25zdCBzPXQuY29uc3RydWN0b3I7aWYoZS5zd2lwZXIgaW5zdGFuY2VvZiBzKXtpZihlLnN3aXBlci5kZXN0cm95ZWQpcmV0dXJuIHI9ITEsITE7dC50aHVtYnMuc3dpcGVyPWUuc3dpcGVyLE9iamVjdC5hc3NpZ24odC50aHVtYnMuc3dpcGVyLm9yaWdpbmFsUGFyYW1zLHt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHNsaWRlVG9DbGlja2VkU2xpZGU6ITF9KSxPYmplY3QuYXNzaWduKHQudGh1bWJzLnN3aXBlci5wYXJhbXMse3dhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAsc2xpZGVUb0NsaWNrZWRTbGlkZTohMX0pLHQudGh1bWJzLnN3aXBlci51cGRhdGUoKX1lbHNlIGlmKGMoZS5zd2lwZXIpKXtjb25zdCBhPU9iamVjdC5hc3NpZ24oe30sZS5zd2lwZXIpO09iamVjdC5hc3NpZ24oYSx7d2F0Y2hTbGlkZXNQcm9ncmVzczohMCxzbGlkZVRvQ2xpY2tlZFNsaWRlOiExfSksdC50aHVtYnMuc3dpcGVyPW5ldyBzKGEpLG49ITB9cmV0dXJuIHQudGh1bWJzLnN3aXBlci5lbC5jbGFzc0xpc3QuYWRkKHQucGFyYW1zLnRodW1icy50aHVtYnNDb250YWluZXJDbGFzcyksdC50aHVtYnMuc3dpcGVyLm9uKFwidGFwXCIsbCksITB9ZnVuY3Rpb24gZChlKXtjb25zdCBzPXQudGh1bWJzLnN3aXBlcjtpZighc3x8cy5kZXN0cm95ZWQpcmV0dXJuO2NvbnN0IGE9XCJhdXRvXCI9PT1zLnBhcmFtcy5zbGlkZXNQZXJWaWV3P3Muc2xpZGVzUGVyVmlld0R5bmFtaWMoKTpzLnBhcmFtcy5zbGlkZXNQZXJWaWV3O2xldCBpPTE7Y29uc3Qgcj10LnBhcmFtcy50aHVtYnMuc2xpZGVUaHVtYkFjdGl2ZUNsYXNzO2lmKHQucGFyYW1zLnNsaWRlc1BlclZpZXc+MSYmIXQucGFyYW1zLmNlbnRlcmVkU2xpZGVzJiYoaT10LnBhcmFtcy5zbGlkZXNQZXJWaWV3KSx0LnBhcmFtcy50aHVtYnMubXVsdGlwbGVBY3RpdmVUaHVtYnN8fChpPTEpLGk9TWF0aC5mbG9vcihpKSxzLnNsaWRlcy5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC5yZW1vdmUocikpKSxzLnBhcmFtcy5sb29wfHxzLnBhcmFtcy52aXJ0dWFsJiZzLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQpZm9yKGxldCBlPTA7ZTxpO2UrPTEpZihzLnNsaWRlc0VsLGBbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIke3QucmVhbEluZGV4K2V9XCJdYCkuZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LmFkZChyKX0pKTtlbHNlIGZvcihsZXQgZT0wO2U8aTtlKz0xKXMuc2xpZGVzW3QucmVhbEluZGV4K2VdJiZzLnNsaWRlc1t0LnJlYWxJbmRleCtlXS5jbGFzc0xpc3QuYWRkKHIpO2NvbnN0IG49dC5wYXJhbXMudGh1bWJzLmF1dG9TY3JvbGxPZmZzZXQsbD1uJiYhcy5wYXJhbXMubG9vcDtpZih0LnJlYWxJbmRleCE9PXMucmVhbEluZGV4fHxsKXtjb25zdCBpPXMuYWN0aXZlSW5kZXg7bGV0IHIsbztpZihzLnBhcmFtcy5sb29wKXtjb25zdCBlPXMuc2xpZGVzLmZpbmQoKGU9PmUuZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIik9PT1gJHt0LnJlYWxJbmRleH1gKSk7cj1zLnNsaWRlcy5pbmRleE9mKGUpLG89dC5hY3RpdmVJbmRleD50LnByZXZpb3VzSW5kZXg/XCJuZXh0XCI6XCJwcmV2XCJ9ZWxzZSByPXQucmVhbEluZGV4LG89cj50LnByZXZpb3VzSW5kZXg/XCJuZXh0XCI6XCJwcmV2XCI7bCYmKHIrPVwibmV4dFwiPT09bz9uOi0xKm4pLHMudmlzaWJsZVNsaWRlc0luZGV4ZXMmJnMudmlzaWJsZVNsaWRlc0luZGV4ZXMuaW5kZXhPZihyKTwwJiYocy5wYXJhbXMuY2VudGVyZWRTbGlkZXM/cj1yPmk/ci1NYXRoLmZsb29yKGEvMikrMTpyK01hdGguZmxvb3IoYS8yKS0xOnI+aSYmcy5wYXJhbXMuc2xpZGVzUGVyR3JvdXAscy5zbGlkZVRvKHIsZT8wOnZvaWQgMCkpfX10LnRodW1icz17c3dpcGVyOm51bGx9LGkoXCJiZWZvcmVJbml0XCIsKCgpPT57Y29uc3R7dGh1bWJzOmV9PXQucGFyYW1zO2lmKGUmJmUuc3dpcGVyKWlmKFwic3RyaW5nXCI9PXR5cGVvZiBlLnN3aXBlcnx8ZS5zd2lwZXIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7Y29uc3Qgcz1hKCksaT0oKT0+e2NvbnN0IGE9XCJzdHJpbmdcIj09dHlwZW9mIGUuc3dpcGVyP3MucXVlcnlTZWxlY3RvcihlLnN3aXBlcik6ZS5zd2lwZXI7aWYoYSYmYS5zd2lwZXIpZS5zd2lwZXI9YS5zd2lwZXIsbygpLGQoITApO2Vsc2UgaWYoYSl7Y29uc3Qgcz1gJHt0LnBhcmFtcy5ldmVudHNQcmVmaXh9aW5pdGAsaT1yPT57ZS5zd2lwZXI9ci5kZXRhaWxbMF0sYS5yZW1vdmVFdmVudExpc3RlbmVyKHMsaSksbygpLGQoITApLGUuc3dpcGVyLnVwZGF0ZSgpLHQudXBkYXRlKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcihzLGkpfXJldHVybi
5043BhfSxyPSgpPT57aWYodC5kZXN0cm95ZWQpcmV0dXJuO2koKXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHIpfTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUocil9ZWxzZSBvKCksZCghMCl9KSksaShcInNsaWRlQ2hhbmdlIHVwZGF0ZSByZXNpemUgb2JzZXJ2ZXJVcGRhdGVcIiwoKCk9PntkKCl9KSksaShcInNldFRyYW5zaXRpb25cIiwoKGUscyk9Pntjb25zdCBhPXQudGh1bWJzLnN3aXBlcjthJiYhYS5kZXN0cm95ZWQmJmEuc2V0VHJhbnNpdGlvbihzKX0pKSxpKFwiYmVmb3JlRGVzdHJveVwiLCgoKT0+e2NvbnN0IGU9dC50aHVtYnMuc3dpcGVyO2UmJiFlLmRlc3Ryb3llZCYmbiYmZS5kZXN0cm95KCl9KSksT2JqZWN0LmFzc2lnbih0LnRodW1icyx7aW5pdDpvLHVwZGF0ZTpkfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxlbWl0OmEsb25jZTppfT1lO3Moe2ZyZWVNb2RlOntlbmFibGVkOiExLG1vbWVudHVtOiEwLG1vbWVudHVtUmF0aW86MSxtb21lbnR1bUJvdW5jZTohMCxtb21lbnR1bUJvdW5jZVJhdGlvOjEsbW9tZW50dW1WZWxvY2l0eVJhdGlvOjEsc3RpY2t5OiExLG1pbmltdW1WZWxvY2l0eTouMDJ9fSksT2JqZWN0LmFzc2lnbih0LHtmcmVlTW9kZTp7b25Ub3VjaFN0YXJ0OmZ1bmN0aW9uKCl7aWYodC5wYXJhbXMuY3NzTW9kZSlyZXR1cm47Y29uc3QgZT10LmdldFRyYW5zbGF0ZSgpO3Quc2V0VHJhbnNsYXRlKGUpLHQuc2V0VHJhbnNpdGlvbigwKSx0LnRvdWNoRXZlbnRzRGF0YS52ZWxvY2l0aWVzLmxlbmd0aD0wLHQuZnJlZU1vZGUub25Ub3VjaEVuZCh7Y3VycmVudFBvczp0LnJ0bD90LnRyYW5zbGF0ZTotdC50cmFuc2xhdGV9KX0sb25Ub3VjaE1vdmU6ZnVuY3Rpb24oKXtpZih0LnBhcmFtcy5jc3NNb2RlKXJldHVybjtjb25zdHt0b3VjaEV2ZW50c0RhdGE6ZSx0b3VjaGVzOnN9PXQ7MD09PWUudmVsb2NpdGllcy5sZW5ndGgmJmUudmVsb2NpdGllcy5wdXNoKHtwb3NpdGlvbjpzW3QuaXNIb3Jpem9udGFsKCk/XCJzdGFydFhcIjpcInN0YXJ0WVwiXSx0aW1lOmUudG91Y2hTdGFydFRpbWV9KSxlLnZlbG9jaXRpZXMucHVzaCh7cG9zaXRpb246c1t0LmlzSG9yaXpvbnRhbCgpP1wiY3VycmVudFhcIjpcImN1cnJlbnRZXCJdLHRpbWU6bygpfSl9LG9uVG91Y2hFbmQ6ZnVuY3Rpb24oZSl7bGV0e2N1cnJlbnRQb3M6c309ZTtpZih0LnBhcmFtcy5jc3NNb2RlKXJldHVybjtjb25zdHtwYXJhbXM6cix3cmFwcGVyRWw6bixydGxUcmFuc2xhdGU6bCxzbmFwR3JpZDpkLHRvdWNoRXZlbnRzRGF0YTpjfT10LHA9bygpLWMudG91Y2hTdGFydFRpbWU7aWYoczwtdC5taW5UcmFuc2xhdGUoKSl0LnNsaWRlVG8odC5hY3RpdmVJbmRleCk7ZWxzZSBpZihzPi10Lm1heFRyYW5zbGF0ZSgpKXQuc2xpZGVzLmxlbmd0aDxkLmxlbmd0aD90LnNsaWRlVG8oZC5sZW5ndGgtMSk6dC5zbGlkZVRvKHQuc2xpZGVzLmxlbmd0aC0xKTtlbHNle2lmKHIuZnJlZU1vZGUubW9tZW50dW0pe2lmKGMudmVsb2NpdGllcy5sZW5ndGg+MSl7Y29uc3QgZT1jLnZlbG9jaXRpZXMucG9wKCkscz1jLnZlbG9jaXRpZXMucG9wKCksYT1lLnBvc2l0aW9uLXMucG9zaXRpb24saT1lLnRpbWUtcy50aW1lO3QudmVsb2NpdHk9YS9pLHQudmVsb2NpdHkvPTIsTWF0aC5hYnModC52ZWxvY2l0eSk8ci5mcmVlTW9kZS5taW5pbXVtVmVsb2NpdHkmJih0LnZlbG9jaXR5PTApLChpPjE1MHx8bygpLWUudGltZT4zMDApJiYodC52ZWxvY2l0eT0wKX1lbHNlIHQudmVsb2NpdHk9MDt0LnZlbG9jaXR5Kj1yLmZyZWVNb2RlLm1vbWVudHVtVmVsb2NpdHlSYXRpbyxjLnZlbG9jaXRpZXMubGVuZ3RoPTA7bGV0IGU9MWUzKnIuZnJlZU1vZGUubW9tZW50dW1SYXRpbztjb25zdCBzPXQudmVsb2NpdHkqZTtsZXQgcD10LnRyYW5zbGF0ZStzO2wmJihwPS1wKTtsZXQgdSxtPSExO2NvbnN0IGg9MjAqTWF0aC5hYnModC52ZWxvY2l0eSkqci5mcmVlTW9kZS5tb21lbnR1bUJvdW5jZVJhdGlvO2xldCBmO2lmKHA8dC5tYXhUcmFuc2xhdGUoKSlyLmZyZWVNb2RlLm1vbWVudHVtQm91bmNlPyhwK3QubWF4VHJhbnNsYXRlKCk8LWgmJihwPXQubWF4VHJhbnNsYXRlKCktaCksdT10Lm1heFRyYW5zbGF0ZSgpLG09ITAsYy5hbGxvd01vbWVudHVtQm91bmNlPSEwKTpwPXQubWF4VHJhbnNsYXRlKCksci5sb29wJiZyLmNlbnRlcmVkU2xpZGVzJiYoZj0hMCk7ZWxzZSBpZihwPnQubWluVHJhbnNsYXRlKCkpci5mcmVlTW9kZS5tb21lbnR1bUJvdW5jZT8ocC10Lm1pblRyYW5zbGF0ZSgpPmgmJihwPXQubWluVHJhbnNsYXRlKCkraCksdT10Lm1pblRyYW5zbGF0ZSgpLG09ITAsYy5hbGxvd01vbWVudHVtQm91bmNlPSEwKTpwPXQubWluVHJhbnNsYXRlKCksci5sb29wJiZyLmNlbnRlcmVkU2xpZGVzJiYoZj0hMCk7ZWxzZSBpZihyLmZyZWVNb2RlLnN0aWNreSl7bGV0IGU7Zm9yKGxldCB0PTA7dDxkLmxlbmd0aDt0Kz0xKWlmKGRbdF0+LXApe2U9dDticmVha31wPU1hdGguYWJzKGRbZV0tcCk8TWF0aC5hYnMoZFtlLTFdLXApfHxcIm5leHRcIj09PXQuc3dpcGVEaXJlY3Rpb24/ZFtlXTpkW2UtMV0scD0tcH1pZihmJiZpKFwidHJhbnNpdGlvbkVuZFwiLCgoKT0+e3QubG9vcEZpeCgpfSkpLDAhPT10LnZlbG9jaXR5KXtpZihlPWw/TWF0aC5hYnMoKC1wLXQudHJhbnNsYXRlKS90LnZlbG9jaXR5KTpNYXRoLmFicygocC10LnRyYW5zbGF0ZSkvdC52ZWxvY2l0eSksci5mcmVlTW9kZS5zdGlja3kpe2NvbnN0IHM9TWF0aC5hYnMoKGw/LXA6cCktdC50cmFuc2xhdGUpLGE9dC5zbGlkZXNTaXplc0dyaWRbdC5hY3RpdmVJbmRleF07ZT1zPGE/ci5zcGVlZDpzPDIqYT8xLjUqci5zcGVlZDoyLjUqci5zcGVlZH19ZWxzZSBpZihyLmZyZWVNb2RlLnN0aWNreSlyZXR1cm4gdm9pZCB0LnNsaWRlVG9DbG9zZXN0KCk7ci5mcmVlTW9kZS5tb21lbnR1bUJvdW5jZSYmbT8odC51cGRhdGVQcm9ncmVzcyh1KSx0LnNldFRyYW5zaXRpb24oZSksdC5zZXRUcmFuc2xhdGUocCksdC50cmFuc2l0aW9uU3RhcnQoITAsdC5zd2lwZURpcmVjdGlvbiksdC5hbmltYXRpbmc9ITAseChuLCgoKT0+e3QmJiF0LmRlc3Ryb3llZCYmYy5hbGxvd01vbWVudHVtQm91bmNlJiYoYShcIm1vbWVudHVtQm91bmNlXCIpLHQuc2V0VHJhbnNpdGlvbihyLnNwZWVkKSxzZXRUaW
50431lb3V0KCgoKT0+e3Quc2V0VHJhbnNsYXRlKHUpLHgobiwoKCk9Pnt0JiYhdC5kZXN0cm95ZWQmJnQudHJhbnNpdGlvbkVuZCgpfSkpfSksMCkpfSkpKTp0LnZlbG9jaXR5PyhhKFwiX2ZyZWVNb2RlTm9Nb21lbnR1bVJlbGVhc2VcIiksdC51cGRhdGVQcm9ncmVzcyhwKSx0LnNldFRyYW5zaXRpb24oZSksdC5zZXRUcmFuc2xhdGUocCksdC50cmFuc2l0aW9uU3RhcnQoITAsdC5zd2lwZURpcmVjdGlvbiksdC5hbmltYXRpbmd8fCh0LmFuaW1hdGluZz0hMCx4KG4sKCgpPT57dCYmIXQuZGVzdHJveWVkJiZ0LnRyYW5zaXRpb25FbmQoKX0pKSkpOnQudXBkYXRlUHJvZ3Jlc3MocCksdC51cGRhdGVBY3RpdmVJbmRleCgpLHQudXBkYXRlU2xpZGVzQ2xhc3NlcygpfWVsc2V7aWYoci5mcmVlTW9kZS5zdGlja3kpcmV0dXJuIHZvaWQgdC5zbGlkZVRvQ2xvc2VzdCgpO3IuZnJlZU1vZGUmJmEoXCJfZnJlZU1vZGVOb01vbWVudHVtUmVsZWFzZVwiKX0oIXIuZnJlZU1vZGUubW9tZW50dW18fHA+PXIubG9uZ1N3aXBlc01zKSYmKGEoXCJfZnJlZU1vZGVTdGF0aWNSZWxlYXNlXCIpLHQudXBkYXRlUHJvZ3Jlc3MoKSx0LnVwZGF0ZUFjdGl2ZUluZGV4KCksdC51cGRhdGVTbGlkZXNDbGFzc2VzKCkpfX19fSl9LGZ1bmN0aW9uKGUpe2xldCB0LHMsYSxpLHtzd2lwZXI6cixleHRlbmRQYXJhbXM6bixvbjpsfT1lO24oe2dyaWQ6e3Jvd3M6MSxmaWxsOlwiY29sdW1uXCJ9fSk7Y29uc3Qgbz0oKT0+e2xldCBlPXIucGFyYW1zLnNwYWNlQmV0d2VlbjtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgZSYmZS5pbmRleE9mKFwiJVwiKT49MD9lPXBhcnNlRmxvYXQoZS5yZXBsYWNlKFwiJVwiLFwiXCIpKS8xMDAqci5zaXplOlwic3RyaW5nXCI9PXR5cGVvZiBlJiYoZT1wYXJzZUZsb2F0KGUpKSxlfTtsKFwiaW5pdFwiLCgoKT0+e2k9ci5wYXJhbXMuZ3JpZCYmci5wYXJhbXMuZ3JpZC5yb3dzPjF9KSksbChcInVwZGF0ZVwiLCgoKT0+e2NvbnN0e3BhcmFtczplLGVsOnR9PXIscz1lLmdyaWQmJmUuZ3JpZC5yb3dzPjE7aSYmIXM/KHQuY2xhc3NMaXN0LnJlbW92ZShgJHtlLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3N9Z3JpZGAsYCR7ZS5jb250YWluZXJNb2RpZmllckNsYXNzfWdyaWQtY29sdW1uYCksYT0xLHIuZW1pdENvbnRhaW5lckNsYXNzZXMoKSk6IWkmJnMmJih0LmNsYXNzTGlzdC5hZGQoYCR7ZS5jb250YWluZXJNb2RpZmllckNsYXNzfWdyaWRgKSxcImNvbHVtblwiPT09ZS5ncmlkLmZpbGwmJnQuY2xhc3NMaXN0LmFkZChgJHtlLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3N9Z3JpZC1jb2x1bW5gKSxyLmVtaXRDb250YWluZXJDbGFzc2VzKCkpLGk9c30pKSxyLmdyaWQ9e2luaXRTbGlkZXM6ZT0+e2NvbnN0e3NsaWRlc1BlclZpZXc6aX09ci5wYXJhbXMse3Jvd3M6bixmaWxsOmx9PXIucGFyYW1zLmdyaWQsbz1yLnZpcnR1YWwmJnIucGFyYW1zLnZpcnR1YWwuZW5hYmxlZD9yLnZpcnR1YWwuc2xpZGVzLmxlbmd0aDplLmxlbmd0aDthPU1hdGguZmxvb3Ioby9uKSx0PU1hdGguZmxvb3Ioby9uKT09PW8vbj9vOk1hdGguY2VpbChvL24pKm4sXCJhdXRvXCIhPT1pJiZcInJvd1wiPT09bCYmKHQ9TWF0aC5tYXgodCxpKm4pKSxzPXQvbn0sdW5zZXRTbGlkZXM6KCk9PntyLnNsaWRlcyYmci5zbGlkZXMuZm9yRWFjaCgoZT0+e2Uuc3dpcGVyU2xpZGVHcmlkU2V0JiYoZS5zdHlsZS5oZWlnaHQ9XCJcIixlLnN0eWxlW3IuZ2V0RGlyZWN0aW9uTGFiZWwoXCJtYXJnaW4tdG9wXCIpXT1cIlwiKX0pKX0sdXBkYXRlU2xpZGU6KGUsaSxuKT0+e2NvbnN0e3NsaWRlc1Blckdyb3VwOmx9PXIucGFyYW1zLGQ9bygpLHtyb3dzOmMsZmlsbDpwfT1yLnBhcmFtcy5ncmlkLHU9ci52aXJ0dWFsJiZyLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ/ci52aXJ0dWFsLnNsaWRlcy5sZW5ndGg6bi5sZW5ndGg7bGV0IG0saCxmO2lmKFwicm93XCI9PT1wJiZsPjEpe2NvbnN0IHM9TWF0aC5mbG9vcihlLyhsKmMpKSxhPWUtYypsKnMscj0wPT09cz9sOk1hdGgubWluKE1hdGguY2VpbCgodS1zKmMqbCkvYyksbCk7Zj1NYXRoLmZsb29yKGEvciksaD1hLWYqcitzKmwsbT1oK2YqdC9jLGkuc3R5bGUub3JkZXI9bX1lbHNlXCJjb2x1bW5cIj09PXA/KGg9TWF0aC5mbG9vcihlL2MpLGY9ZS1oKmMsKGg+YXx8aD09PWEmJmY9PT1jLTEpJiYoZis9MSxmPj1jJiYoZj0wLGgrPTEpKSk6KGY9TWF0aC5mbG9vcihlL3MpLGg9ZS1mKnMpO2kucm93PWYsaS5jb2x1bW49aCxpLnN0eWxlLmhlaWdodD1gY2FsYygoMTAwJSAtICR7KGMtMSkqZH1weCkgLyAke2N9KWAsaS5zdHlsZVtyLmdldERpcmVjdGlvbkxhYmVsKFwibWFyZ2luLXRvcFwiKV09MCE9PWY/ZCYmYCR7ZH1weGA6XCJcIixpLnN3aXBlclNsaWRlR3JpZFNldD0hMH0sdXBkYXRlV3JhcHBlclNpemU6KGUscyk9Pntjb25zdHtjZW50ZXJlZFNsaWRlczphLHJvdW5kTGVuZ3RoczppfT1yLnBhcmFtcyxuPW8oKSx7cm93czpsfT1yLnBhcmFtcy5ncmlkO2lmKHIudmlydHVhbFNpemU9KGUrbikqdCxyLnZpcnR1YWxTaXplPU1hdGguY2VpbChyLnZpcnR1YWxTaXplL2wpLW4sci5wYXJhbXMuY3NzTW9kZXx8KHIud3JhcHBlckVsLnN0eWxlW3IuZ2V0RGlyZWN0aW9uTGFiZWwoXCJ3aWR0aFwiKV09YCR7ci52aXJ0dWFsU2l6ZStufXB4YCksYSl7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MDt0PHMubGVuZ3RoO3QrPTEpe2xldCBhPXNbdF07aSYmKGE9TWF0aC5mbG9vcihhKSksc1t0XTxyLnZpcnR1YWxTaXplK3NbMF0mJmUucHVzaChhKX1zLnNwbGljZSgwLHMubGVuZ3RoKSxzLnB1c2goLi4uZSl9fX19LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dH09ZTtPYmplY3QuYXNzaWduKHQse2FwcGVuZFNsaWRlOm9lLmJpbmQodCkscHJlcGVuZFNsaWRlOmRlLmJpbmQodCksYWRkU2xpZGU6Y2UuYmluZCh0KSxyZW1vdmVTbGlkZTpwZS5iaW5kKHQpLHJlbW92ZUFsbFNsaWRlczp1ZS5iaW5kKHQpfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphfT1lO3Moe2ZhZGVFZmZlY3Q6e2Nyb3NzRmFkZTohMX19KSxtZSh7ZWZmZWN0OlwiZmFkZVwiLHN3aXBlcjp0LG9uOmEsc2V0VHJhbnNsYXRlOigpPT57Y29uc3R7c2xpZGVzOmV9PXQ7dC5wYXJhbXMuZmFkZUVmZmVjdDtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrPTEpe2NvbnN0IGU9dC5zbGlkZXNbc107bGV0IGE9LWUuc3dpcGVyU2xpZGVPZmZzZXQ7dC5wYXJhbXMudmlydHVhbFRyYW5zbGF0ZXx8KGEtPXQudHJhbnNsYXRlKTtsZXQgaT0wO3QuaXNIb3Jpem9udGFsKCl8fChpPWEsYT0wKTtjb25zdCByPXQucGFyYW1zLmZhZGVFZmZlY3QuY3Jvc3NGYWRlP01hdGgubWF4KDEtTWF0aC5hYnMoZS5wcm9ncmVzcyksMCk6MStNYXRoLm1pbihNYXRoLm1heChlLnByb2dyZXNzLC0xKSwwKSxuPWhlKDAsZSk7bi5zdHlsZS5vcGFjaXR5PXIsbi5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKCR7YX1weCwgJHtpfXB4LCAwcHgpYH19LHNldFRyYW5zaXRpb246ZT0+e2NvbnN0IHM9dC5zbGlkZXMubWFwKChlPT5oKGUpKSk7cy5mb3JFYWNoKCh0PT57dC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249YCR7ZX1tc2B9KSksZmUoe3N3aXBlcjp0LGR1cmF0aW9uOmUsdHJhbnNmb3JtRWxlbWVudHM6cyxhbGxTbGlkZXM6ITB9KX0sb3ZlcndyaXRlUGFyYW1zOigpPT4oe3NsaWRlc1BlclZpZXc6MSxzbGlkZXNQZXJHcm91cDoxLHdhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAsc3BhY2VCZXR3ZWVuOjAsdmlydHVhbFRyYW5zbGF0ZTohdC5wYXJhbXMuY3NzTW9kZX0pfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphfT1lO3Moe2N1YmVFZmZlY3Q6e3NsaWRlU2hhZG93czohMCxzaGFkb3c6ITAsc2hhZG93T2Zmc2V0OjIwL
5043HNoYWRvd1NjYWxlOi45NH19KTtjb25zdCBpPShlLHQscyk9PntsZXQgYT1zP2UucXVlcnlTZWxlY3RvcihcIi5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnRcIik6ZS5xdWVyeVNlbGVjdG9yKFwiLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wXCIpLGk9cz9lLnF1ZXJ5U2VsZWN0b3IoXCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodFwiKTplLnF1ZXJ5U2VsZWN0b3IoXCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b21cIik7YXx8KGE9dihcImRpdlwiLChcInN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZSBzd2lwZXItc2xpZGUtc2hhZG93LVwiKyhzP1wibGVmdFwiOlwidG9wXCIpKS5zcGxpdChcIiBcIikpLGUuYXBwZW5kKGEpKSxpfHwoaT12KFwiZGl2XCIsKFwic3dpcGVyLXNsaWRlLXNoYWRvdy1jdWJlIHN3aXBlci1zbGlkZS1zaGFkb3ctXCIrKHM/XCJyaWdodFwiOlwiYm90dG9tXCIpKS5zcGxpdChcIiBcIikpLGUuYXBwZW5kKGkpKSxhJiYoYS5zdHlsZS5vcGFjaXR5PU1hdGgubWF4KC10LDApKSxpJiYoaS5zdHlsZS5vcGFjaXR5PU1hdGgubWF4KHQsMCkpfTttZSh7ZWZmZWN0OlwiY3ViZVwiLHN3aXBlcjp0LG9uOmEsc2V0VHJhbnNsYXRlOigpPT57Y29uc3R7ZWw6ZSx3cmFwcGVyRWw6cyxzbGlkZXM6YSx3aWR0aDpyLGhlaWdodDpuLHJ0bFRyYW5zbGF0ZTpsLHNpemU6byxicm93c2VyOmR9PXQsYz1NKHQpLHA9dC5wYXJhbXMuY3ViZUVmZmVjdCx1PXQuaXNIb3Jpem9udGFsKCksbT10LnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZDtsZXQgaCxmPTA7cC5zaGFkb3cmJih1PyhoPXQud3JhcHBlckVsLnF1ZXJ5U2VsZWN0b3IoXCIuc3dpcGVyLWN1YmUtc2hhZG93XCIpLGh8fChoPXYoXCJkaXZcIixcInN3aXBlci1jdWJlLXNoYWRvd1wiKSx0LndyYXBwZXJFbC5hcHBlbmQoaCkpLGguc3R5bGUuaGVpZ2h0PWAke3J9cHhgKTooaD1lLnF1ZXJ5U2VsZWN0b3IoXCIuc3dpcGVyLWN1YmUtc2hhZG93XCIpLGh8fChoPXYoXCJkaXZcIixcInN3aXBlci1jdWJlLXNoYWRvd1wiKSxlLmFwcGVuZChoKSkpKTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrPTEpe2NvbnN0IHQ9YVtlXTtsZXQgcz1lO20mJihzPXBhcnNlSW50KHQuZ2V0QXR0cmlidXRlKFwiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXhcIiksMTApKTtsZXQgcj05MCpzLG49TWF0aC5mbG9vcihyLzM2MCk7bCYmKHI9LXIsbj1NYXRoLmZsb29yKC1yLzM2MCkpO2NvbnN0IGQ9TWF0aC5tYXgoTWF0aC5taW4odC5wcm9ncmVzcywxKSwtMSk7bGV0IGg9MCxnPTAsdj0wO3MlND09MD8oaD00Ki1uKm8sdj0wKToocy0xKSU0PT0wPyhoPTAsdj00Ki1uKm8pOihzLTIpJTQ9PTA/KGg9bys0Km4qbyx2PW8pOihzLTMpJTQ9PTAmJihoPS1vLHY9MypvKzQqbypuKSxsJiYoaD0taCksdXx8KGc9aCxoPTApO2NvbnN0IHc9YHJvdGF0ZVgoJHtjKHU/MDotcil9ZGVnKSByb3RhdGVZKCR7Yyh1P3I6MCl9ZGVnKSB0cmFuc2xhdGUzZCgke2h9cHgsICR7Z31weCwgJHt2fXB4KWA7ZDw9MSYmZD4tMSYmKGY9OTAqcys5MCpkLGwmJihmPTkwKi1zLTkwKmQpKSx0LnN0eWxlLnRyYW5zZm9ybT13LHAuc2xpZGVTaGFkb3dzJiZpKHQsZCx1KX1pZihzLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj1gNTAlIDUwJSAtJHtvLzJ9cHhgLHMuc3R5bGVbXCItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW5cIl09YDUwJSA1MCUgLSR7by8yfXB4YCxwLnNoYWRvdylpZih1KWguc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUzZCgwcHgsICR7ci8yK3Auc2hhZG93T2Zmc2V0fXB4LCAkey1yLzJ9cHgpIHJvdGF0ZVgoODkuOTlkZWcpIHJvdGF0ZVooMGRlZykgc2NhbGUoJHtwLnNoYWRvd1NjYWxlfSlgO2Vsc2V7Y29uc3QgZT1NYXRoLmFicyhmKS05MCpNYXRoLmZsb29yKE1hdGguYWJzKGYpLzkwKSx0PTEuNS0oTWF0aC5zaW4oMiplKk1hdGguUEkvMzYwKS8yK01hdGguY29zKDIqZSpNYXRoLlBJLzM2MCkvMikscz1wLnNoYWRvd1NjYWxlLGE9cC5zaGFkb3dTY2FsZS90LGk9cC5zaGFkb3dPZmZzZXQ7aC5zdHlsZS50cmFuc2Zvcm09YHNjYWxlM2QoJHtzfSwgMSwgJHthfSkgdHJhbnNsYXRlM2QoMHB4LCAke24vMitpfXB4LCAkey1uLzIvYX1weCkgcm90YXRlWCgtODkuOTlkZWcpYH1jb25zdCBnPShkLmlzU2FmYXJpfHxkLmlzV2ViVmlldykmJmQubmVlZFBlcnNwZWN0aXZlRml4Py1vLzI6MDtzLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlM2QoMHB4LDAsJHtnfXB4KSByb3RhdGVYKCR7Yyh0LmlzSG9yaXpvbnRhbCgpPzA6Zil9ZGVnKSByb3RhdGVZKCR7Yyh0LmlzSG9yaXpvbnRhbCgpPy1mOjApfWRlZylgLHMuc3R5bGUuc2V0UHJvcGVydHkoXCItLXN3aXBlci1jdWJlLXRyYW5zbGF0ZS16XCIsYCR7Z31weGApfSxzZXRUcmFuc2l0aW9uOmU9Pntjb25zdHtlbDpzLHNsaWRlczphfT10O2lmKGEuZm9yRWFjaCgodD0+e3Quc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke2V9bXNgLHQucXVlcnlTZWxlY3RvckFsbChcIi5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdFwiKS5mb3JFYWNoKCh0PT57dC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249YCR7ZX1tc2B9KSl9KSksdC5wYXJhbXMuY3ViZUVmZmVjdC5zaGFkb3cmJiF0LmlzSG9yaXpvbnRhbCgpKXtjb25zdCB0PXMucXVlcnlTZWxlY3RvcihcIi5zd2lwZXItY3ViZS1zaGFkb3dcIik7dCYmKHQuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke2V9bXNgKX19LHJlY3JlYXRlU2hhZG93czooKT0+e2NvbnN0IGU9dC5pc0hvcml6b250YWwoKTt0LnNsaWRlcy5mb3JFYWNoKCh0PT57Y29uc3Qgcz1NYXRoLm1heChNYXRoLm1pbih0LnByb2dyZXNzLDEpLC0xKTtpKHQscyxlKX0pKX0sZ2V0RWZmZWN0UGFyYW1zOigpPT50LnBhcmFtcy5jdWJlRWZmZWN0LHBlcnNwZWN0aXZlOigpPT4hMCxvdmVyd3JpdGVQYXJhbXM6KCk9Pih7c2xpZGVzUGVyVmlldzoxLHNsaWRlc1Blckdyb3VwOjEsd2F0Y2hTbGlkZXNQcm9ncmVzczohMCxyZXNpc3RhbmNlUmF0aW86MCxzcGFjZUJldHdlZW46MCxjZW50ZXJlZFNsaWRlczohMSx2aXJ0dWFsVHJhbnNsYXRlOiEwfSl9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmF9PWU7cyh7ZmxpcEVmZmVjdDp7c2xpZGVTaGFkb3dzOiEwLGxpbWl0Um90YXRpb246ITB9fSk7Y29uc3QgaT0oZSxzKT0+e2xldCBhPXQuaXNIb3Jpem9udGFsKCk/ZS5xdWVyeVNlbGVjdG9yKFwiLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdFwiKTplLnF1ZXJ5U2VsZWN0b3IoXCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3BcIiksaT10LmlzSG9yaXpvbn
5043RhbCgpP2UucXVlcnlTZWxlY3RvcihcIi5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0XCIpOmUucXVlcnlTZWxlY3RvcihcIi5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbVwiKTthfHwoYT1nZShcImZsaXBcIixlLHQuaXNIb3Jpem9udGFsKCk/XCJsZWZ0XCI6XCJ0b3BcIikpLGl8fChpPWdlKFwiZmxpcFwiLGUsdC5pc0hvcml6b250YWwoKT9cInJpZ2h0XCI6XCJib3R0b21cIikpLGEmJihhLnN0eWxlLm9wYWNpdHk9TWF0aC5tYXgoLXMsMCkpLGkmJihpLnN0eWxlLm9wYWNpdHk9TWF0aC5tYXgocywwKSl9O21lKHtlZmZlY3Q6XCJmbGlwXCIsc3dpcGVyOnQsb246YSxzZXRUcmFuc2xhdGU6KCk9Pntjb25zdHtzbGlkZXM6ZSxydGxUcmFuc2xhdGU6c309dCxhPXQucGFyYW1zLmZsaXBFZmZlY3Qscj1NKHQpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9MSl7Y29uc3QgbD1lW25dO2xldCBvPWwucHJvZ3Jlc3M7dC5wYXJhbXMuZmxpcEVmZmVjdC5saW1pdFJvdGF0aW9uJiYobz1NYXRoLm1heChNYXRoLm1pbihsLnByb2dyZXNzLDEpLC0xKSk7Y29uc3QgZD1sLnN3aXBlclNsaWRlT2Zmc2V0O2xldCBjPS0xODAqbyxwPTAsdT10LnBhcmFtcy5jc3NNb2RlPy1kLXQudHJhbnNsYXRlOi1kLG09MDt0LmlzSG9yaXpvbnRhbCgpP3MmJihjPS1jKToobT11LHU9MCxwPS1jLGM9MCksbC5zdHlsZS56SW5kZXg9LU1hdGguYWJzKE1hdGgucm91bmQobykpK2UubGVuZ3RoLGEuc2xpZGVTaGFkb3dzJiZpKGwsbyk7Y29uc3QgaD1gdHJhbnNsYXRlM2QoJHt1fXB4LCAke219cHgsIDBweCkgcm90YXRlWCgke3IocCl9ZGVnKSByb3RhdGVZKCR7cihjKX1kZWcpYDtoZSgwLGwpLnN0eWxlLnRyYW5zZm9ybT1ofX0sc2V0VHJhbnNpdGlvbjplPT57Y29uc3Qgcz10LnNsaWRlcy5tYXAoKGU9PmgoZSkpKTtzLmZvckVhY2goKHQ9Pnt0LnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1gJHtlfW1zYCx0LnF1ZXJ5U2VsZWN0b3JBbGwoXCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnRcIikuZm9yRWFjaCgodD0+e3Quc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke2V9bXNgfSkpfSkpLGZlKHtzd2lwZXI6dCxkdXJhdGlvbjplLHRyYW5zZm9ybUVsZW1lbnRzOnN9KX0scmVjcmVhdGVTaGFkb3dzOigpPT57dC5wYXJhbXMuZmxpcEVmZmVjdCx0LnNsaWRlcy5mb3JFYWNoKChlPT57bGV0IHM9ZS5wcm9ncmVzczt0LnBhcmFtcy5mbGlwRWZmZWN0LmxpbWl0Um90YXRpb24mJihzPU1hdGgubWF4KE1hdGgubWluKGUucHJvZ3Jlc3MsMSksLTEpKSxpKGUscyl9KSl9LGdldEVmZmVjdFBhcmFtczooKT0+dC5wYXJhbXMuZmxpcEVmZmVjdCxwZXJzcGVjdGl2ZTooKT0+ITAsb3ZlcndyaXRlUGFyYW1zOigpPT4oe3NsaWRlc1BlclZpZXc6MSxzbGlkZXNQZXJHcm91cDoxLHdhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAsc3BhY2VCZXR3ZWVuOjAsdmlydHVhbFRyYW5zbGF0ZTohdC5wYXJhbXMuY3NzTW9kZX0pfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphfT1lO3Moe2NvdmVyZmxvd0VmZmVjdDp7cm90YXRlOjUwLHN0cmV0Y2g6MCxkZXB0aDoxMDAsc2NhbGU6MSxtb2RpZmllcjoxLHNsaWRlU2hhZG93czohMH19KSxtZSh7ZWZmZWN0OlwiY292ZXJmbG93XCIsc3dpcGVyOnQsb246YSxzZXRUcmFuc2xhdGU6KCk9Pntjb25zdHt3aWR0aDplLGhlaWdodDpzLHNsaWRlczphLHNsaWRlc1NpemVzR3JpZDppfT10LHI9dC5wYXJhbXMuY292ZXJmbG93RWZmZWN0LG49dC5pc0hvcml6b250YWwoKSxsPXQudHJhbnNsYXRlLG89bj9lLzItbDpzLzItbCxkPW4/ci5yb3RhdGU6LXIucm90YXRlLGM9ci5kZXB0aCxwPU0odCk7Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7ZSs9MSl7Y29uc3QgdD1hW2VdLHM9aVtlXSxsPShvLXQuc3dpcGVyU2xpZGVPZmZzZXQtcy8yKS9zLHU9XCJmdW5jdGlvblwiPT10eXBlb2Ygci5tb2RpZmllcj9yLm1vZGlmaWVyKGwpOmwqci5tb2RpZmllcjtsZXQgbT1uP2QqdTowLGg9bj8wOmQqdSxmPS1jKk1hdGguYWJzKHUpLGc9ci5zdHJldGNoO1wic3RyaW5nXCI9PXR5cGVvZiBnJiYtMSE9PWcuaW5kZXhPZihcIiVcIikmJihnPXBhcnNlRmxvYXQoci5zdHJldGNoKS8xMDAqcyk7bGV0IHY9bj8wOmcqdSx3PW4/Zyp1OjAsYj0xLSgxLXIuc2NhbGUpKk1hdGguYWJzKHUpO01hdGguYWJzKHcpPC4wMDEmJih3PTApLE1hdGguYWJzKHYpPC4wMDEmJih2PTApLE1hdGguYWJzKGYpPC4wMDEmJihmPTApLE1hdGguYWJzKG0pPC4wMDEmJihtPTApLE1hdGguYWJzKGgpPC4wMDEmJihoPTApLE1hdGguYWJzKGIpPC4wMDEmJihiPTApO2NvbnN0IHk9YHRyYW5zbGF0ZTNkKCR7d31weCwke3Z9cHgsJHtmfXB4KSAgcm90YXRlWCgke3AoaCl9ZGVnKSByb3RhdGVZKCR7cChtKX1kZWcpIHNjYWxlKCR7Yn0pYDtpZihoZSgwLHQpLnN0eWxlLnRyYW5zZm9ybT15LHQuc3R5bGUuekluZGV4PTEtTWF0aC5hYnMoTWF0aC5yb3VuZCh1KSksci5zbGlkZVNoYWRvd3Mpe2xldCBlPW4/dC5xdWVyeVNlbGVjdG9yKFwiLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdFwiKTp0LnF1ZXJ5U2VsZWN0b3IoXCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3BcIikscz1uP3QucXVlcnlTZWxlY3RvcihcIi5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0XCIpOnQucXVlcnlTZWxlY3RvcihcIi5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbVwiKTtlfHwoZT1nZShcImNvdmVyZmxvd1wiLHQsbj9cImxlZnRcIjpcInRvcFwiKSksc3x8KHM9Z2UoXCJjb3ZlcmZsb3dcIix0LG4/XCJyaWdodFwiOlwiYm90dG9tXCIpKSxlJiYoZS5zdHlsZS5vcGFjaXR5PXU+MD91OjApLHMmJihzLnN0eWxlLm9wYWNpdHk9LXU+MD8tdTowKX19fSxzZXRUcmFuc2l0aW9uOmU9Pnt0LnNsaWRlcy5tYXAoKGU9PmgoZSkpKS5mb3JFYWNoKCh0PT57dC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249YCR7ZX1tc2AsdC5xdWVyeVNlbGVjdG9yQWxsKFwiLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0XCIpLmZvckVhY2goKHQ9Pnt0LnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1gJHtlfW1zYH0pKX0pKX0scGVyc3BlY3RpdmU6KCk9PiEwLG92ZXJ3cml0ZVBhcmFtczooKT0+KHt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwfSl9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmF9PWU7cyh7Y3JlYXRpdmVFZmZlY3Q6e2xpbWl0UHJvZ3Jlc3M6MSxzaGFkb3dQZXJQcm9ncmVzczohMSxwcm9ncmVzc011bHRpcGxpZXI6MSxwZXJzcGVjdGl2ZTohMCxwcmV2Ont0cmFuc2xhdGU6WzAsMCwwXSxyb3RhdGU6WzAsMCwwXSxvcGFjaXR5OjEsc2NhbGU6MX0sbmV4dDp7dHJhbnNsYXRlOlswLDAsMF0scm90YXRlOlswLDAsMF0sb3BhY2l0eToxLHNjYWxlOjF9fX0pO2NvbnN0IGk9ZT0+XCJzdHJpbmdcIj09dHlwZW9mIGU/ZTpgJHtlfXB4YDttZSh7ZWZmZWN0OlwiY3JlYXRpdmVcIixzd2lwZXI6dCxvbjphLHNldFRyYW5zbGF0ZTooKT0+e2NvbnN0e3NsaWRlczplLHdyYXBwZXJFbDpzLHNsaWRlc1NpemVzR3JpZDphfT10LHI9dC5wYXJhbXMuY3JlYXRpdmVFZmZlY3Qse3Byb2dyZXNzTXVsdGlwbGllcjpufT1yLGw9dC5wYXJhbXMuY2VudGVyZWRTbGlkZXMsbz1NKHQpO2lmKGwpe2NvbnN0IGU9YVswXS8yLXQucGFyYW1zLnNsaWRlc09mZnNldEJlZm9yZXx8MDtzLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlWChjYWxjKDUwJSAtICR7ZX1weCkpYH1mb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrPTEpe2NvbnN0IGE9ZVtzXSxkPWEucHJvZ3Jlc3MsYz1NYXRoLm1pbihNYXRoLm1heChhLnByb2dyZXNzLC1yLmxpbWl0UHJvZ3Jlc3MpLHIubGltaXRQcm9ncmVzcyk7bGV0IHA9YztsfHwocD1NYXRoLm1pbihNYXRoLm1heChhLm9yaWdpbmFsUHJvZ3Jlc3MsLXIubGltaXRQcm9ncmVzcyksci5saW1pdFByb2dyZXNzKSk7Y29uc3QgdT1hLnN3aXBlclNsaWRlT2Zmc2V0LG09W3QucGFyYW1zLmNzc01vZGU/LXUtdC50cmFuc2xhdGU6LXUsMCwwXSxoPVswLDAsMF07bGV0IGY9ITE7dC5pc0hvcml6b250YWwoKXx8KG1bMV09bVswXSxtWzBdPTApO2xldCBnPXt
50430cmFuc2xhdGU6WzAsMCwwXSxyb3RhdGU6WzAsMCwwXSxzY2FsZToxLG9wYWNpdHk6MX07YzwwPyhnPXIubmV4dCxmPSEwKTpjPjAmJihnPXIucHJldixmPSEwKSxtLmZvckVhY2goKChlLHQpPT57bVt0XT1gY2FsYygke2V9cHggKyAoJHtpKGcudHJhbnNsYXRlW3RdKX0gKiAke01hdGguYWJzKGMqbil9KSlgfSkpLGguZm9yRWFjaCgoKGUsdCk9PntsZXQgcz1nLnJvdGF0ZVt0XSpNYXRoLmFicyhjKm4pO2hbdF09c30pKSxhLnN0eWxlLnpJbmRleD0tTWF0aC5hYnMoTWF0aC5yb3VuZChkKSkrZS5sZW5ndGg7Y29uc3Qgdj1tLmpvaW4oXCIsIFwiKSx3PWByb3RhdGVYKCR7byhoWzBdKX1kZWcpIHJvdGF0ZVkoJHtvKGhbMV0pfWRlZykgcm90YXRlWigke28oaFsyXSl9ZGVnKWAsYj1wPDA/YHNjYWxlKCR7MSsoMS1nLnNjYWxlKSpwKm59KWA6YHNjYWxlKCR7MS0oMS1nLnNjYWxlKSpwKm59KWAseT1wPDA/MSsoMS1nLm9wYWNpdHkpKnAqbjoxLSgxLWcub3BhY2l0eSkqcCpuLEU9YHRyYW5zbGF0ZTNkKCR7dn0pICR7d30gJHtifWA7aWYoZiYmZy5zaGFkb3d8fCFmKXtsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoXCIuc3dpcGVyLXNsaWRlLXNoYWRvd1wiKTtpZighZSYmZy5zaGFkb3cmJihlPWdlKFwiY3JlYXRpdmVcIixhKSksZSl7Y29uc3QgdD1yLnNoYWRvd1BlclByb2dyZXNzP2MqKDEvci5saW1pdFByb2dyZXNzKTpjO2Uuc3R5bGUub3BhY2l0eT1NYXRoLm1pbihNYXRoLm1heChNYXRoLmFicyh0KSwwKSwxKX19Y29uc3QgeD1oZSgwLGEpO3guc3R5bGUudHJhbnNmb3JtPUUseC5zdHlsZS5vcGFjaXR5PXksZy5vcmlnaW4mJih4LnN0eWxlLnRyYW5zZm9ybU9yaWdpbj1nLm9yaWdpbil9fSxzZXRUcmFuc2l0aW9uOmU9Pntjb25zdCBzPXQuc2xpZGVzLm1hcCgoZT0+aChlKSkpO3MuZm9yRWFjaCgodD0+e3Quc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke2V9bXNgLHQucXVlcnlTZWxlY3RvckFsbChcIi5zd2lwZXItc2xpZGUtc2hhZG93XCIpLmZvckVhY2goKHQ9Pnt0LnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1gJHtlfW1zYH0pKX0pKSxmZSh7c3dpcGVyOnQsZHVyYXRpb246ZSx0cmFuc2Zvcm1FbGVtZW50czpzLGFsbFNsaWRlczohMH0pfSxwZXJzcGVjdGl2ZTooKT0+dC5wYXJhbXMuY3JlYXRpdmVFZmZlY3QucGVyc3BlY3RpdmUsb3ZlcndyaXRlUGFyYW1zOigpPT4oe3dhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAsdmlydHVhbFRyYW5zbGF0ZTohdC5wYXJhbXMuY3NzTW9kZX0pfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphfT1lO3Moe2NhcmRzRWZmZWN0OntzbGlkZVNoYWRvd3M6ITAscm90YXRlOiEwLHBlclNsaWRlUm90YXRlOjIscGVyU2xpZGVPZmZzZXQ6OH19KSxtZSh7ZWZmZWN0OlwiY2FyZHNcIixzd2lwZXI6dCxvbjphLHNldFRyYW5zbGF0ZTooKT0+e2NvbnN0e3NsaWRlczplLGFjdGl2ZUluZGV4OnMscnRsVHJhbnNsYXRlOmF9PXQsaT10LnBhcmFtcy5jYXJkc0VmZmVjdCx7c3RhcnRUcmFuc2xhdGU6cixpc1RvdWNoZWQ6bn09dC50b3VjaEV2ZW50c0RhdGEsbD1hPy10LnRyYW5zbGF0ZTp0LnRyYW5zbGF0ZTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rPTEpe2NvbnN0IGQ9ZVtvXSxjPWQucHJvZ3Jlc3MscD1NYXRoLm1pbihNYXRoLm1heChjLC00KSw0KTtsZXQgdT1kLnN3aXBlclNsaWRlT2Zmc2V0O3QucGFyYW1zLmNlbnRlcmVkU2xpZGVzJiYhdC5wYXJhbXMuY3NzTW9kZSYmKHQud3JhcHBlckVsLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlWCgke3QubWluVHJhbnNsYXRlKCl9cHgpYCksdC5wYXJhbXMuY2VudGVyZWRTbGlkZXMmJnQucGFyYW1zLmNzc01vZGUmJih1LT1lWzBdLnN3aXBlclNsaWRlT2Zmc2V0KTtsZXQgbT10LnBhcmFtcy5jc3NNb2RlPy11LXQudHJhbnNsYXRlOi11LGg9MDtjb25zdCBmPS0xMDAqTWF0aC5hYnMocCk7bGV0IGc9MSx2PS1pLnBlclNsaWRlUm90YXRlKnAsdz1pLnBlclNsaWRlT2Zmc2V0LS43NSpNYXRoLmFicyhwKTtjb25zdCBiPXQudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkP3QudmlydHVhbC5mcm9tK286byx5PShiPT09c3x8Yj09PXMtMSkmJnA+MCYmcDwxJiYobnx8dC5wYXJhbXMuY3NzTW9kZSkmJmw8cixFPShiPT09c3x8Yj09PXMrMSkmJnA8MCYmcD4tMSYmKG58fHQucGFyYW1zLmNzc01vZGUpJiZsPnI7aWYoeXx8RSl7Y29uc3QgZT0oMS1NYXRoLmFicygoTWF0aC5hYnMocCktLjUpLy41KSkqKi41O3YrPS0yOCpwKmUsZys9LS41KmUsdys9OTYqZSxoPS0yNSplKk1hdGguYWJzKHApK1wiJVwifWlmKG09cDwwP2BjYWxjKCR7bX1weCAke2E/XCItXCI6XCIrXCJ9ICgke3cqTWF0aC5hYnMocCl9JSkpYDpwPjA/YGNhbGMoJHttfXB4ICR7YT9cIi1cIjpcIitcIn0gKC0ke3cqTWF0aC5hYnMocCl9JSkpYDpgJHttfXB4YCwhdC5pc0hvcml6b250YWwoKSl7Y29uc3QgZT1oO2g9bSxtPWV9Y29uc3QgeD1wPDA/XCJcIisoMSsoMS1nKSpwKTpcIlwiKygxLSgxLWcpKnApLFM9YFxcbiAgICAgICAgdHJhbnNsYXRlM2QoJHttfSwgJHtofSwgJHtmfXB4KVxcbiAgICAgICAgcm90YXRlWigke2kucm90YXRlP2E/LXY6djowfWRlZylcXG4gICAgICAgIHNjYWxlKCR7eH0pXFxuICAgICAgYDtpZihpLnNsaWRlU2hhZG93cyl7bGV0IGU9ZC5xdWVyeVNlbGVjdG9yKFwiLnN3aXBlci1zbGlkZS1zaGFkb3dcIik7ZXx8KGU9Z2UoXCJjYXJkc1wiLGQpKSxlJiYoZS5zdHlsZS5vcGFjaXR5PU1hdGgubWluKE1hdGgubWF4KChNYXRoLmFicyhwKS0uNSkvLjUsMCksMSkpfWQuc3R5bGUuekluZGV4PS1NYXRoLmFicyhNYXRoLnJvdW5kKGMpKStlLmxlbmd0aDtoZSgwLGQpLnN0eWxlLnRyYW5zZm9ybT1TfX0sc2V0VHJhbnNpdGlvbjplPT57Y29uc3Qgcz10LnNsaWRlcy5tYXAoKGU9PmgoZSkpKTtzLmZvckVhY2goKHQ9Pnt0LnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1gJHtlfW1zYCx0LnF1ZXJ5U2VsZWN0b3JBbGwoXCIuc3dpcGVyLXNsaWRlLXNoYWRvd1wiKS5mb3JFYWNoKCh0PT57dC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249YCR7ZX1tc2B9KSl9KSksZmUoe3N3aXBlcjp0LGR1cmF0aW9uOmUsdHJhbnNmb3JtRWxlbWVudHM6c30pfSxwZXJzcGVjdGl2ZTooKT0+ITAsb3ZlcndyaXRlUGFyYW1zOigpPT4oe19sb29wU3dhcFJlc2V0OiExLHdhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAsbG9vcEFkZGl0aW9uYWxTbGlkZXM6dC5wYXJhbXMuY2FyZHNFZmZlY3Qucm90YXRlPzM6MixjZW50ZXJlZFNsaWRlczohMCx2aXJ0dWFsVHJhbnNsYXRlOiF0LnBhcmFtcy5jc3NNb2RlfSl9KX1dO3JldHVybiByZS51c2UodmUpLHJlfSgpO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zd2lwZXItYnVuZGxlLm1pbi5qcy5tYXBcclxuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUlBLE1BQU0sR0FBQyxZQUFVO0VBQUMsWUFBWTs7RUFBQyxTQUFTQyxDQUFDQSxDQUFDQSxDQUFDLEVBQUM7SUFBQyxPQUFPLElBQUksS0FBR0EsQ0FBQyxJQUFFLFFBQVEsSUFBRSxPQUFPQSxDQUFDLElBQUUsYUFBYSxJQUFHQSxDQUFDLElBQUVBLENBQUMsQ0FBQ0MsV0FBVyxLQUFHQyxNQUFNO0VBQUE7RUFBQyxTQUFTQyxDQUFDQSxDQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQztJQUFDLEtBQUssQ0FBQyxLQUFHRCxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxLQUFHQyxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztJQUFDLE1BQU1DLENBQUMsR0FBQyxDQUFDLFdBQVcsRUFBQyxhQUFhLEVBQUMsV0FBVyxDQUFDO0lBQUNKLE1BQU0sQ0FBQ0ssSUFBSSxDQUFDRixDQUFDLENBQUMsQ0FBQ0csTUFBTSxDQUFFUixDQUFDLElBQUVNLENBQUMsQ0FBQ0csT0FBTyxDQUFDVCxDQUFDLENBQUMsR0FBQyxDQUFFLENBQUMsQ0FBQ1UsT0FBTyxDQUFFSixDQUFDLElBQUU7TUFBQyxLQUFLLENBQUMsS0FBR0YsQ0FBQyxDQUFDRSxDQUFDLENBQUMsR0FBQ0YsQ0FBQyxDQUFDRSxDQUFDLENBQUMsR0FBQ0QsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBQ04sQ0FBQyxDQUFDSyxDQUFDLENBQUNDLENBQUMsQ0FBQyxDQUFDLElBQUVOLENBQUMsQ0FBQ0ksQ0FBQyxDQUFDRSxDQUFDLENBQUMsQ0FBQyxJQUFFSixNQUFNLENBQUNLLElBQUksQ0FBQ0YsQ0FBQyxDQUFDQyxDQUFDLENBQUMsQ0FBQyxDQUFDSyxNQUFNLEdBQUMsQ0FBQyxJQUFFUixDQUFDLENBQUNDLENBQUMsQ0FBQ0UsQ0FBQyxDQUFDLEVBQUNELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFFLENBQUM7RUFBQTtFQUFDLE1BQU1GLENBQUMsR0FBQztJQUFDUSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQUNDLGdCQUFnQkEsQ0FBQSxFQUFFLENBQUMsQ0FBQztJQUFDQyxtQk
5043FBbUJBLENBQUEsRUFBRSxDQUFDLENBQUM7SUFBQ0MsYUFBYSxFQUFDO01BQUNDLElBQUlBLENBQUEsRUFBRSxDQUFDLENBQUM7TUFBQ0MsUUFBUSxFQUFDO0lBQUUsQ0FBQztJQUFDQyxhQUFhLEVBQUNBLENBQUEsS0FBSSxJQUFJO0lBQUNDLGdCQUFnQixFQUFDQSxDQUFBLEtBQUksRUFBRTtJQUFDQyxjQUFjLEVBQUNBLENBQUEsS0FBSSxJQUFJO0lBQUNDLFdBQVcsRUFBQ0EsQ0FBQSxNQUFLO01BQUNDLFNBQVNBLENBQUEsRUFBRSxDQUFDO0lBQUMsQ0FBQyxDQUFDO0lBQUNDLGFBQWEsRUFBQ0EsQ0FBQSxNQUFLO01BQUNDLFFBQVEsRUFBQyxFQUFFO01BQUNDLFVBQVUsRUFBQyxFQUFFO01BQUNDLEtBQUssRUFBQyxDQUFDLENBQUM7TUFBQ0MsWUFBWUEsQ0FBQSxFQUFFLENBQUMsQ0FBQztNQUFDQyxvQkFBb0IsRUFBQ0EsQ0FBQSxLQUFJO0lBQUUsQ0FBQyxDQUFDO0lBQUNDLGVBQWUsRUFBQ0EsQ0FBQSxNQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUNDLFVBQVUsRUFBQ0EsQ0FBQSxLQUFJLElBQUk7SUFBQ0MsUUFBUSxFQUFDO01BQUNDLElBQUksRUFBQyxFQUFFO01BQUNDLElBQUksRUFBQyxFQUFFO01BQUNDLFFBQVEsRUFBQyxFQUFFO01BQUNDLElBQUksRUFBQyxFQUFFO01BQUNDLE1BQU0sRUFBQyxFQUFFO01BQUNDLFFBQVEsRUFBQyxFQUFFO01BQUNDLFFBQVEsRUFBQyxFQUFFO01BQUNDLE1BQU0sRUFBQztJQUFFO0VBQUMsQ0FBQztFQUFDLFNBQVNsQyxDQUFDQSxDQUFBLEVBQUU7SUFBQyxNQUFNTCxDQUFDLEdBQUMsV0FBVyxJQUFFLE9BQU93QyxRQUFRLEdBQUNBLFFBQVEsR0FBQyxDQUFDLENBQUM7SUFBQyxPQUFPckMsQ0FBQyxDQUFDSCxDQUFDLEVBQUNJLENBQUMsQ0FBQyxFQUFDSixDQUFDO0VBQUE7RUFBQyxNQUFNTSxDQUFDLEdBQUM7SUFBQ2tDLFFBQVEsRUFBQ3BDLENBQUM7SUFBQ3FDLFNBQVMsRUFBQztNQUFDQyxTQUFTLEVBQUM7SUFBRSxDQUFDO0lBQUNYLFFBQVEsRUFBQztNQUFDQyxJQUFJLEVBQUMsRUFBRTtNQUFDQyxJQUFJLEVBQUMsRUFBRTtNQUFDQyxRQUFRLEVBQUMsRUFBRTtNQUFDQyxJQUFJLEVBQUMsRUFBRTtNQUFDQyxNQUFNLEVBQUMsRUFBRTtNQUFDQyxRQUFRLEVBQUMsRUFBRTtNQUFDQyxRQUFRLEVBQUMsRUFBRTtNQUFDQyxNQUFNLEVBQUM7SUFBRSxDQUFDO0lBQUNJLE9BQU8sRUFBQztNQUFDQyxZQUFZQSxDQUFBLEVBQUUsQ0FBQyxDQUFDO01BQUNDLFNBQVNBLENBQUEsRUFBRSxDQUFDLENBQUM7TUFBQ0MsRUFBRUEsQ0FBQSxFQUFFLENBQUMsQ0FBQztNQUFDQyxJQUFJQSxDQUFBLEVBQUUsQ0FBQztJQUFDLENBQUM7SUFBQ0MsV0FBVyxFQUFDLFNBQUFBLENBQUEsRUFBVTtNQUFDLE9BQU8sSUFBSTtJQUFBLENBQUM7SUFBQ25DLGdCQUFnQkEsQ0FBQSxFQUFFLENBQUMsQ0FBQztJQUFDQyxtQkFBbUJBLENBQUEsRUFBRSxDQUFDLENBQUM7SUFBQ21DLGdCQUFnQixFQUFDQSxDQUFBLE1BQUs7TUFBQ0MsZ0JBQWdCLEVBQUNBLENBQUEsS0FBSTtJQUFFLENBQUMsQ0FBQztJQUFDQyxLQUFLQSxDQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQUNDLElBQUlBLENBQUEsRUFBRSxDQUFDLENBQUM7SUFBQ0MsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUFDQyxVQUFVQSxDQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQUNDLFlBQVlBLENBQUEsRUFBRSxDQUFDLENBQUM7SUFBQ0MsVUFBVSxFQUFDQSxDQUFBLE1BQUssQ0FBQyxDQUFDLENBQUM7SUFBQ0MscUJBQXFCLEVBQUN6RCxDQUFDLElBQUUsV0FBVyxJQUFFLE9BQU9zRCxVQUFVLElBQUV0RCxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksSUFBRXNELFVBQVUsQ0FBQ3RELENBQUMsRUFBQyxDQUFDLENBQUM7SUFBQzBELG9CQUFvQkEsQ0FBQzFELENBQUMsRUFBQztNQUFDLFdBQVcsSUFBRSxPQUFPc0QsVUFBVSxJQUFFQyxZQUFZLENBQUN2RCxDQUFDLENBQUM7SUFBQTtFQUFDLENBQUM7RUFBQyxTQUFTMkQsQ0FBQ0EsQ0FBQSxFQUFFO0lBQUMsTUFBTTNELENBQUMsR0FBQyxXQUFXLElBQUUsT0FBTzRELE1BQU0sR0FBQ0EsTUFBTSxHQUFDLENBQUMsQ0FBQztJQUFDLE9BQU96RCxDQUFDLENBQUNILENBQUMsRUFBQ00sQ0FBQyxDQUFDLEVBQUNOLENBQUM7RUFBQTtFQUFDLFNBQVM2RCxDQUFDQSxDQUFDN0QsQ0FBQyxFQUFDO0lBQUMsT0FBTyxLQUFLLENBQUMsS0FBR0EsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUNBLENBQUMsQ0FBQzhELElBQUksQ0FBQyxDQUFDLENBQUNDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQ3ZELE1BQU0sQ0FBRVIsQ0FBQyxJQUFFLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDOEQsSUFBSSxDQUFDLENBQUUsQ0FBQztFQUFBO0VBQUMsU0FBU0UsQ0FBQ0EsQ0FBQ2hFLENBQUMsRUFBQ0csQ0FBQyxFQUFDO0lBQUMsT0FBTyxLQUFLLENBQUMsS0FBR0EsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUNtRCxVQUFVLENBQUN0RCxDQUFDLEVBQUNHLENBQUMsQ0FBQztFQUFBO0VBQUMsU0FBUzhELENBQUNBLENBQUEsRUFBRTtJQUFDLE9BQU9iLElBQUksQ0FBQ2MsR0FBRyxDQUFDLENBQUM7RUFBQTtFQUFDLFNBQVNDLENBQUNBLENBQUNuRSxDQUFDLEVBQUNHLENBQUMsRUFBQztJQUFDLEtBQUssQ0FBQyxLQUFHQSxDQUFDLEtBQUdBLENBQUMsR0FBQyxHQUFHLENBQUM7SUFBQyxNQUFNQyxDQUFDLEdBQUN1RCxDQUFDLENBQUMsQ0FBQztJQUFDLElBQUl0RCxDQUFDLEVBQUNDLENBQUMsRUFBQ3VELENBQUM7SUFBQyxNQUFNRyxDQUFDLEdBQUMsVUFBU2hFLENBQUMsRUFBQztNQUFDLE1BQU1HLENBQUMsR0FBQ3dELENBQUMsQ0FBQyxDQUFDO01BQUMsSUFBSXZELENBQUM7TUFBQyxPQUFPRCxDQUFDLENBQUM4QyxnQkFBZ0IsS0FBRzdDLENBQUMsR0FBQ0QsQ0FBQyxDQUFDOEMsZ0JBQWdCLENBQUNqRCxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDSSxDQUFDLElBQUVKLENBQUMsQ0FBQ29FLFlBQVksS0FBR2hFLENBQUMsR0FBQ0osQ0FBQyxDQUFDb0UsWUFBWSxDQUFDLEVBQUNoRSxDQUFDLEtBQUdBLENBQUMsR0FBQ0osQ0FBQyxDQUFDMEIsS0FBSyxDQUFDLEVBQUN0QixDQUFDO0lBQUEsQ0FBQyxDQUFDSixDQUFDLENBQUM7SUFBQyxPQUFPSSxDQUFDLENBQUNpRSxlQUFlLElBQUUvRCxDQUFDLEdBQUMwRCxDQUFDLENBQUNNLFNBQVMsSUFBRU4sQ0FBQyxDQUFDTyxlQUFlLEVBQUNqRSxDQUFDLENBQUN5RCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUNwRCxNQUFNLEdBQUMsQ0FBQyxLQUFHTC
5043xDQUFDLEdBQUNBLENBQUMsQ0FBQ3lELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQ1MsR0FBRyxDQUFFeEUsQ0FBQyxJQUFFQSxDQUFDLENBQUN5RSxPQUFPLENBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBRSxDQUFDLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDYixDQUFDLEdBQUMsSUFBSXpELENBQUMsQ0FBQ2lFLGVBQWUsQ0FBQyxNQUFNLEtBQUcvRCxDQUFDLEdBQUMsRUFBRSxHQUFDQSxDQUFDLENBQUMsS0FBR3VELENBQUMsR0FBQ0csQ0FBQyxDQUFDVyxZQUFZLElBQUVYLENBQUMsQ0FBQ1ksVUFBVSxJQUFFWixDQUFDLENBQUNhLFdBQVcsSUFBRWIsQ0FBQyxDQUFDYyxXQUFXLElBQUVkLENBQUMsQ0FBQ00sU0FBUyxJQUFFTixDQUFDLENBQUNkLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDdUIsT0FBTyxDQUFDLFlBQVksRUFBQyxvQkFBb0IsQ0FBQyxFQUFDcEUsQ0FBQyxHQUFDd0QsQ0FBQyxDQUFDa0IsUUFBUSxDQUFDLENBQUMsQ0FBQ2hCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBRzVELENBQUMsS0FBR0csQ0FBQyxHQUFDRixDQUFDLENBQUNpRSxlQUFlLEdBQUNSLENBQUMsQ0FBQ21CLEdBQUcsR0FBQyxFQUFFLEtBQUczRSxDQUFDLENBQUNNLE1BQU0sR0FBQ3NFLFVBQVUsQ0FBQzVFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFDNEUsVUFBVSxDQUFDNUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUdGLENBQUMsS0FBR0csQ0FBQyxHQUFDRixDQUFDLENBQUNpRSxlQUFlLEdBQUNSLENBQUMsQ0FBQ3FCLEdBQUcsR0FBQyxFQUFFLEtBQUc3RSxDQUFDLENBQUNNLE1BQU0sR0FBQ3NFLFVBQVUsQ0FBQzVFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFDNEUsVUFBVSxDQUFDNUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQ0MsQ0FBQyxJQUFFLENBQUM7RUFBQTtFQUFDLFNBQVM2RSxDQUFDQSxDQUFDbkYsQ0FBQyxFQUFDO0lBQUMsT0FBTSxRQUFRLElBQUUsT0FBT0EsQ0FBQyxJQUFFLElBQUksS0FBR0EsQ0FBQyxJQUFFQSxDQUFDLENBQUNDLFdBQVcsSUFBRSxRQUFRLEtBQUdDLE1BQU0sQ0FBQ2tGLFNBQVMsQ0FBQ0wsUUFBUSxDQUFDTSxJQUFJLENBQUNyRixDQUFDLENBQUMsQ0FBQ3NGLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7RUFBQTtFQUFDLFNBQVNDLENBQUNBLENBQUEsRUFBRTtJQUFDLE1BQU12RixDQUFDLEdBQUNFLE1BQU0sQ0FBQ3NGLFNBQVMsQ0FBQzdFLE1BQU0sSUFBRSxDQUFDLEdBQUMsS0FBSyxDQUFDLEdBQUM2RSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFBQ3JGLENBQUMsR0FBQyxDQUFDLFdBQVcsRUFBQyxhQUFhLEVBQUMsV0FBVyxDQUFDO0lBQUMsS0FBSSxJQUFJRSxDQUFDLEdBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNtRixTQUFTLENBQUM3RSxNQUFNLEVBQUNOLENBQUMsSUFBRSxDQUFDLEVBQUM7TUFBQyxNQUFNQyxDQUFDLEdBQUNELENBQUMsR0FBQyxDQUFDLElBQUVtRixTQUFTLENBQUM3RSxNQUFNLElBQUVOLENBQUMsR0FBQyxLQUFLLENBQUMsR0FBQ21GLFNBQVMsQ0FBQ25GLENBQUMsQ0FBQztNQUFDLElBQUcsSUFBSSxJQUFFQyxDQUFDLEtBQUdGLENBQUMsR0FBQ0UsQ0FBQyxFQUFDLEVBQUUsV0FBVyxJQUFFLE9BQU9zRCxNQUFNLElBQUUsS0FBSyxDQUFDLEtBQUdBLE1BQU0sQ0FBQzZCLFdBQVcsR0FBQ3JGLENBQUMsWUFBWXFGLFdBQVcsR0FBQ3JGLENBQUMsS0FBRyxDQUFDLEtBQUdBLENBQUMsQ0FBQ3NGLFFBQVEsSUFBRSxFQUFFLEtBQUd0RixDQUFDLENBQUNzRixRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUM7UUFBQyxNQUFNdEYsQ0FBQyxHQUFDRixNQUFNLENBQUNLLElBQUksQ0FBQ0wsTUFBTSxDQUFDSSxDQUFDLENBQUMsQ0FBQyxDQUFDRSxNQUFNLENBQUVSLENBQUMsSUFBRUcsQ0FBQyxDQUFDTSxPQUFPLENBQUNULENBQUMsQ0FBQyxHQUFDLENBQUUsQ0FBQztRQUFDLEtBQUksSUFBSUcsQ0FBQyxHQUFDLENBQUMsRUFBQ0UsQ0FBQyxHQUFDRCxDQUFDLENBQUNPLE1BQU0sRUFBQ1IsQ0FBQyxHQUFDRSxDQUFDLEVBQUNGLENBQUMsSUFBRSxDQUFDLEVBQUM7VUFBQyxNQUFNRSxDQUFDLEdBQUNELENBQUMsQ0FBQ0QsQ0FBQyxDQUFDO1lBQUN3RCxDQUFDLEdBQUN6RCxNQUFNLENBQUN5Rix3QkFBd0IsQ0FBQ3JGLENBQUMsRUFBQ0QsQ0FBQyxDQUFDO1VBQUMsS0FBSyxDQUFDLEtBQUdzRCxDQUFDLElBQUVBLENBQUMsQ0FBQ2lDLFVBQVUsS0FBR1QsQ0FBQyxDQUFDbkYsQ0FBQyxDQUFDSyxDQUFDLENBQUMsQ0FBQyxJQUFFOEUsQ0FBQyxDQUFDN0UsQ0FBQyxDQUFDRCxDQUFDLENBQUMsQ0FBQyxHQUFDQyxDQUFDLENBQUNELENBQUMsQ0FBQyxDQUFDd0YsVUFBVSxHQUFDN0YsQ0FBQyxDQUFDSyxDQUFDLENBQUMsR0FBQ0MsQ0FBQyxDQUFDRCxDQUFDLENBQUMsR0FBQ2tGLENBQUMsQ0FBQ3ZGLENBQUMsQ0FBQ0ssQ0FBQyxDQUFDLEVBQUNDLENBQUMsQ0FBQ0QsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDOEUsQ0FBQyxDQUFDbkYsQ0FBQyxDQUFDSyxDQUFDLENBQUMsQ0FBQyxJQUFFOEUsQ0FBQyxDQUFDN0UsQ0FBQyxDQUFDRCxDQUFDLENBQUMsQ0FBQyxJQUFFTCxDQUFDLENBQUNLLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDQyxDQUFDLENBQUNELENBQUMsQ0FBQyxDQUFDd0YsVUFBVSxHQUFDN0YsQ0FBQyxDQUFDSyxDQUFDLENBQUMsR0FBQ0MsQ0FBQyxDQUFDRCxDQUFDLENBQUMsR0FBQ2tGLENBQUMsQ0FBQ3ZGLENBQUMsQ0FBQ0ssQ0FBQyxDQUFDLEVBQUNDLENBQUMsQ0FBQ0QsQ0FBQyxDQUFDLENBQUMsSUFBRUwsQ0FBQyxDQUFDSyxDQUFDLENBQUMsR0FBQ0MsQ0FBQyxDQUFDRCxDQUFDLENBQUMsQ0FBQztRQUFBO01BQUM7SUFBQztJQUFDLElBQUlELENBQUM7SUFBQyxPQUFPSixDQUFDO0VBQUE7RUFBQyxTQUFTOEYsQ0FBQ0EsQ0FBQzlGLENBQUMsRUFBQ0csQ0FBQyxFQUFDQyxDQUFDLEVBQUM7SUFBQ0osQ0FBQyxDQUFDMEIsS0FBSyxDQUFDcUUsV0FBVyxDQUFDNUYsQ0FBQyxFQUFDQyxDQUFDLENBQUM7RUFBQTtFQUFDLFNBQVM0RixDQUFDQSxDQUFDaEcsQ0FBQyxFQUFDO0lBQUMsSUFBRztNQUFDaUcsTUFBTSxFQUFDOUYsQ0FBQztNQUFDK0YsY0FBYyxFQUFDOUYsQ0FBQztNQUFDK0YsSUFBSSxFQUFDOUY7SUFBQyxDQUFDLEdBQUNMLENBQUM7SUFBQyxNQUFNTSxDQUFDLEdBQUNxRCxDQUFDLENBQUMsQ0FBQztNQUFDRSxDQUFDLEdBQUMsQ0FBQzFELENBQUMsQ0FBQ2lHLFNBQVM7SUFBQyxJQUFJcEMsQ0FBQztNQUFDQyxDQUFDLEdBQUMsSUFBSTtJQUFDLE1BQU1FLENBQUMsR0FBQ2hFLENBQUMsQ0FBQ2tHLE1BQU0sQ0FBQ0MsS0FBSztJQUFDbkcsQ0FBQyxDQUFDb0csU0FBUyxDQUFDN0UsS0FBSyxDQUFDOEUsY0FBYyxHQUFDLE1BQU0sRUFBQ2xHLENBQUMsQ0FBQ29ELG9CQUFvQixDQUFDdkQsQ0FBQyxDQUFDc0csY0FBYyxDQUFDO0lBQUMsTUFBTXRCLENBQUMsR0FBQy9FLENBQUMsR0FBQ3lELENBQUMsR0FBQyxNQUFNLEdBQUMsTUFBTTtNQUFDMEIsQ0FBQyxHQUFDQSxDQUFDdkYsQ0FBQyxFQUFDRyxDQUFDLEtBQUcsTUFBTSxLQUFHZ0YsQ0FBQyxJQUFFbkYsQ0FBQyxJQUFFRyxDQUFDLElBQUUsTUFBTSxLQUFHZ0YsQ0FBQyxJQUFFbkYsQ0FBQyxJQUFFRyxDQUFDO01BQUMyRixDQUFDLEdBQUNBLENBQUEsS0FBSTtRQUFDOUIsQ0FBQyxHQUFFLElBQUlaLElBQUksQ0FBRCxDQUFDLENBQUVzRCxPQUFPLENBQUMsQ0FBQyxFQUFDLElBQUksS0FBR3pDLENBQUMsS0FBR0EsQ0FBQyxHQUFDRCxDQUFDLENBQUM7UUFBQyxNQUFNaEUsQ0FBQyxHQUFDMkcsSUFBSSxDQUFDQyxHQUFHLENBQUNELElBQUksQ0FBQ0UsR0FBRyxDQUFDLENBQUM3QyxDQUFDLEdBQUNDLENBQUMsSUFBRUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztVQUFDUix
5043DQUFDLEdBQUMsRUFBRSxHQUFDZ0QsSUFBSSxDQUFDRyxHQUFHLENBQUM5RyxDQUFDLEdBQUMyRyxJQUFJLENBQUNJLEVBQUUsQ0FBQyxHQUFDLENBQUM7UUFBQyxJQUFJNUIsQ0FBQyxHQUFDdEIsQ0FBQyxHQUFDRixDQUFDLElBQUV2RCxDQUFDLEdBQUN5RCxDQUFDLENBQUM7UUFBQyxJQUFHMEIsQ0FBQyxDQUFDSixDQUFDLEVBQUMvRSxDQUFDLENBQUMsS0FBRytFLENBQUMsR0FBQy9FLENBQUMsQ0FBQyxFQUFDRCxDQUFDLENBQUNvRyxTQUFTLENBQUNTLFFBQVEsQ0FBQztVQUFDLENBQUMzRyxDQUFDLEdBQUU4RTtRQUFDLENBQUMsQ0FBQyxFQUFDSSxDQUFDLENBQUNKLENBQUMsRUFBQy9FLENBQUMsQ0FBQyxFQUFDLE9BQU9ELENBQUMsQ0FBQ29HLFNBQVMsQ0FBQzdFLEtBQUssQ0FBQ3VGLFFBQVEsR0FBQyxRQUFRLEVBQUM5RyxDQUFDLENBQUNvRyxTQUFTLENBQUM3RSxLQUFLLENBQUM4RSxjQUFjLEdBQUMsRUFBRSxFQUFDbEQsVUFBVSxDQUFFLE1BQUk7VUFBQ25ELENBQUMsQ0FBQ29HLFNBQVMsQ0FBQzdFLEtBQUssQ0FBQ3VGLFFBQVEsR0FBQyxFQUFFLEVBQUM5RyxDQUFDLENBQUNvRyxTQUFTLENBQUNTLFFBQVEsQ0FBQztZQUFDLENBQUMzRyxDQUFDLEdBQUU4RTtVQUFDLENBQUMsQ0FBQztRQUFBLENBQUUsQ0FBQyxFQUFDLEtBQUs3RSxDQUFDLENBQUNvRCxvQkFBb0IsQ0FBQ3ZELENBQUMsQ0FBQ3NHLGNBQWMsQ0FBQztRQUFDdEcsQ0FBQyxDQUFDc0csY0FBYyxHQUFDbkcsQ0FBQyxDQUFDbUQscUJBQXFCLENBQUNxQyxDQUFDLENBQUM7TUFBQSxDQUFDO0lBQUNBLENBQUMsQ0FBQyxDQUFDO0VBQUE7RUFBQyxTQUFTb0IsQ0FBQ0EsQ0FBQ2xILENBQUMsRUFBQztJQUFDLE9BQU9BLENBQUMsQ0FBQ2tCLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFFbEIsQ0FBQyxDQUFDbUgsVUFBVSxJQUFFbkgsQ0FBQyxDQUFDbUgsVUFBVSxDQUFDakcsYUFBYSxDQUFDLHlCQUF5QixDQUFDLElBQUVsQixDQUFDO0VBQUE7RUFBQyxTQUFTb0gsQ0FBQ0EsQ0FBQ3BILENBQUMsRUFBQ0csQ0FBQyxFQUFDO0lBQUMsS0FBSyxDQUFDLEtBQUdBLENBQUMsS0FBR0EsQ0FBQyxHQUFDLEVBQUUsQ0FBQztJQUFDLE1BQU1DLENBQUMsR0FBQ3VELENBQUMsQ0FBQyxDQUFDO01BQUN0RCxDQUFDLEdBQUMsQ0FBQyxHQUFHTCxDQUFDLENBQUN3QixRQUFRLENBQUM7SUFBQyxPQUFPcEIsQ0FBQyxDQUFDaUgsZUFBZSxJQUFFckgsQ0FBQyxZQUFZcUgsZUFBZSxJQUFFaEgsQ0FBQyxDQUFDaUgsSUFBSSxDQUFDLEdBQUd0SCxDQUFDLENBQUN1SCxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBQ3BILENBQUMsR0FBQ0UsQ0FBQyxDQUFDRyxNQUFNLENBQUVSLENBQUMsSUFBRUEsQ0FBQyxDQUFDd0gsT0FBTyxDQUFDckgsQ0FBQyxDQUFFLENBQUMsR0FBQ0UsQ0FBQztFQUFBO0VBQUMsU0FBU29ILENBQUNBLENBQUN6SCxDQUFDLEVBQUM7SUFBQyxJQUFHO01BQUMsT0FBTyxLQUFLMEgsT0FBTyxDQUFDQyxJQUFJLENBQUMzSCxDQUFDLENBQUM7SUFBQSxDQUFDLFFBQU1BLENBQUMsRUFBQyxDQUFDO0VBQUM7RUFBQyxTQUFTNEgsQ0FBQ0EsQ0FBQzVILENBQUMsRUFBQ0csQ0FBQyxFQUFDO0lBQUMsS0FBSyxDQUFDLEtBQUdBLENBQUMsS0FBR0EsQ0FBQyxHQUFDLEVBQUUsQ0FBQztJQUFDLE1BQU1DLENBQUMsR0FBQ29DLFFBQVEsQ0FBQ2pCLGFBQWEsQ0FBQ3ZCLENBQUMsQ0FBQztJQUFDLE9BQU9JLENBQUMsQ0FBQ3lILFNBQVMsQ0FBQ0MsR0FBRyxDQUFDLElBQUdDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDN0gsQ0FBQyxDQUFDLEdBQUNBLENBQUMsR0FBQzBELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxFQUFDLEVBQUNDLENBQUM7RUFBQTtFQUFDLFNBQVM2SCxDQUFDQSxDQUFDakksQ0FBQyxFQUFDO0lBQUMsTUFBTUcsQ0FBQyxHQUFDd0QsQ0FBQyxDQUFDLENBQUM7TUFBQ3ZELENBQUMsR0FBQ0MsQ0FBQyxDQUFDLENBQUM7TUFBQ0MsQ0FBQyxHQUFDTixDQUFDLENBQUNrSSxxQkFBcUIsQ0FBQyxDQUFDO01BQUNyRSxDQUFDLEdBQUN6RCxDQUFDLENBQUNRLElBQUk7TUFBQ29ELENBQUMsR0FBQ2hFLENBQUMsQ0FBQ21JLFNBQVMsSUFBRXRFLENBQUMsQ0FBQ3NFLFNBQVMsSUFBRSxDQUFDO01BQUNsRSxDQUFDLEdBQUNqRSxDQUFDLENBQUNvSSxVQUFVLElBQUV2RSxDQUFDLENBQUN1RSxVQUFVLElBQUUsQ0FBQztNQUFDakUsQ0FBQyxHQUFDbkUsQ0FBQyxLQUFHRyxDQUFDLEdBQUNBLENBQUMsQ0FBQ2tJLE9BQU8sR0FBQ3JJLENBQUMsQ0FBQ3NJLFNBQVM7TUFBQ25ELENBQUMsR0FBQ25GLENBQUMsS0FBR0csQ0FBQyxHQUFDQSxDQUFDLENBQUNvSSxPQUFPLEdBQUN2SSxDQUFDLENBQUN3SSxVQUFVO0lBQUMsT0FBTTtNQUFDQyxHQUFHLEVBQUNuSSxDQUFDLENBQUNtSSxHQUFHLEdBQUN0RSxDQUFDLEdBQUNILENBQUM7TUFBQzBFLElBQUksRUFBQ3BJLENBQUMsQ0FBQ29JLElBQUksR0FBQ3ZELENBQUMsR0FBQ2xCO0lBQUMsQ0FBQztFQUFBO0VBQUMsU0FBUzBFLENBQUNBLENBQUMzSSxDQUFDLEVBQUNHLENBQUMsRUFBQztJQUFDLE9BQU93RCxDQUFDLENBQUMsQ0FBQyxDQUFDVixnQkFBZ0IsQ0FBQ2pELENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQ2tELGdCQUFnQixDQUFDL0MsQ0FBQyxDQUFDO0VBQUE7RUFBQyxTQUFTeUksQ0FBQ0EsQ0FBQzVJLENBQUMsRUFBQztJQUFDLElBQUlHLENBQUM7TUFBQ0MsQ0FBQyxHQUFDSixDQUFDO0lBQUMsSUFBR0ksQ0FBQyxFQUFDO01BQUMsS0FBSUQsQ0FBQyxHQUFDLENBQUMsRUFBQyxJQUFJLE1BQUlDLENBQUMsR0FBQ0EsQ0FBQyxDQUFDeUksZUFBZSxDQUFDLEdBQUUsQ0FBQyxLQUFHekksQ0FBQyxDQUFDc0YsUUFBUSxLQUFHdkYsQ0FBQyxJQUFFLENBQUMsQ0FBQztNQUFDLE9BQU9BLENBQUM7SUFBQTtFQUFDO0VBQUMsU0FBUzJJLENBQUNBLENBQUM5SSxDQUFDLEVBQUNHLENBQUMsRUFBQztJQUFDLE1BQU1DLENBQUMsR0FBQyxFQUFFO0lBQUMsSUFBSUMsQ0FBQyxHQUFDTCxDQUFDLENBQUMrSSxhQUFhO0lBQUMsT0FBSzFJLENBQUMsR0FBRUYsQ0FBQyxHQUFDRSxDQUFDLENBQUNtSCxPQUFPLENBQUNySCxDQUFDLENBQUMsSUFBRUMsQ0FBQyxDQUFDa0gsSUFBSSxDQUFDakgsQ0FBQyxDQUFDLEdBQUNELENBQUMsQ0FBQ2tILElBQUksQ0FBQ2pILENBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNBLENBQUMsQ0FBQzBJLGFBQWE7SUFBQyxPQUFPM0ksQ0FBQztFQUFBO0VBQUMsU0FBUzRJLENBQUNBLENBQUNoSixDQUFDLEVBQUNHLENBQUMsRUFBQztJQUFDQSxDQUFDLElBQUVILENBQUMsQ0FBQ2EsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFNBQVNULENBQUNBLENBQUNDLENBQUMsRUFBQztNQUFDQSxDQUFDLENBQUM0SSxNQUFNLEtBQUdqSixDQUFDLEtBQUdHLENBQUMsQ0FBQ2tGLElBQUksQ0FBQ3JGLENBQUMsRUFBQ0ssQ0FBQyxDQUFDLEVBQUNMLENBQUMsQ0FBQ2MsbUJBQW1CLENBQUMsZUFBZSxFQUFDVixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUUsQ0FBQztFQUFBO0VBQUMsU0FBUzhJLENBQUNBLENBQUNsSixDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO0lBQUMsTUFBTUMsQ0FBQyxHQUFDc0QsQ0FBQyxDQUFDLENBQUM7SUFBQyxPQUFPdkQsQ0FBQyxHQUFDSixDQUFDLENBQUMsT0FBTyxLQUFHRyxDQUFDLEdBQUMsYUFBYSxHQUFDLGNBQWMsQ0FBQyxHQUFDOEUsVUFBVSxDQUFDNUUsQ0FBQyxDQUFDNEMsZ0JBQWdCLENBQUNqRCxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUNrRCxnQkFBZ0IsQ0FBQyxPQUFPLEtBQUcvQyxDQUFDLEdBQUMsY0FBYyxHQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUM4RSxVQUFVLENBQUM1RSxDQUFDLENBQUM0QyxnQkFBZ0IsQ0FBQ2pELENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQ2tELGdCQUFnQixDQUFDLE9BQU8sS0FBRy9DLENBQUMsR0FBQyxhQUFhLEd
5043BQUMsZUFBZSxDQUFDLENBQUMsR0FBQ0gsQ0FBQyxDQUFDbUosV0FBVztFQUFBO0VBQUMsU0FBU0MsQ0FBQ0EsQ0FBQ3BKLENBQUMsRUFBQztJQUFDLE9BQU0sQ0FBQytILEtBQUssQ0FBQ0MsT0FBTyxDQUFDaEksQ0FBQyxDQUFDLEdBQUNBLENBQUMsR0FBQyxDQUFDQSxDQUFDLENBQUMsRUFBRVEsTUFBTSxDQUFFUixDQUFDLElBQUUsQ0FBQyxDQUFDQSxDQUFFLENBQUM7RUFBQTtFQUFDLFNBQVNxSixDQUFDQSxDQUFDckosQ0FBQyxFQUFDO0lBQUMsT0FBT0csQ0FBQyxJQUFFd0csSUFBSSxDQUFDMkMsR0FBRyxDQUFDbkosQ0FBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFSCxDQUFDLENBQUN1SixPQUFPLElBQUV2SixDQUFDLENBQUN1SixPQUFPLENBQUNDLFNBQVMsSUFBRTdDLElBQUksQ0FBQzJDLEdBQUcsQ0FBQ25KLENBQUMsQ0FBQyxHQUFDLEVBQUUsSUFBRSxDQUFDLEdBQUNBLENBQUMsR0FBQyxJQUFJLEdBQUNBLENBQUM7RUFBQTtFQUFDLFNBQVNzSixDQUFDQSxDQUFDekosQ0FBQyxFQUFDRyxDQUFDLEVBQUM7SUFBQyxLQUFLLENBQUMsS0FBR0EsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUMsV0FBVyxJQUFFLE9BQU91SixZQUFZLEdBQUMxSixDQUFDLENBQUMySixTQUFTLEdBQUNELFlBQVksQ0FBQ0UsWUFBWSxDQUFDLE1BQU0sRUFBQztNQUFDQyxVQUFVLEVBQUM3SixDQUFDLElBQUVBO0lBQUMsQ0FBQyxDQUFDLENBQUM2SixVQUFVLENBQUMxSixDQUFDLENBQUMsR0FBQ0gsQ0FBQyxDQUFDMkosU0FBUyxHQUFDeEosQ0FBQztFQUFBO0VBQUMsSUFBSTJKLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO0VBQUMsU0FBU0MsQ0FBQ0EsQ0FBQSxFQUFFO0lBQUMsT0FBT0gsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsWUFBVTtNQUFDLE1BQU05SixDQUFDLEdBQUMyRCxDQUFDLENBQUMsQ0FBQztRQUFDeEQsQ0FBQyxHQUFDRSxDQUFDLENBQUMsQ0FBQztNQUFDLE9BQU07UUFBQzZKLFlBQVksRUFBQy9KLENBQUMsQ0FBQ2dLLGVBQWUsSUFBRWhLLENBQUMsQ0FBQ2dLLGVBQWUsQ0FBQ3pJLEtBQUssSUFBRSxnQkFBZ0IsSUFBR3ZCLENBQUMsQ0FBQ2dLLGVBQWUsQ0FBQ3pJLEtBQUs7UUFBQzBJLEtBQUssRUFBQyxDQUFDLEVBQUUsY0FBYyxJQUFHcEssQ0FBQyxJQUFFQSxDQUFDLENBQUNxSyxhQUFhLElBQUVsSyxDQUFDLFlBQVlILENBQUMsQ0FBQ3FLLGFBQWE7TUFBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDUCxDQUFDO0VBQUE7RUFBQyxTQUFTUSxDQUFDQSxDQUFDdEssQ0FBQyxFQUFDO0lBQUMsT0FBTyxLQUFLLENBQUMsS0FBR0EsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQytKLENBQUMsS0FBR0EsQ0FBQyxHQUFDLFVBQVMvSixDQUFDLEVBQUM7TUFBQyxJQUFHO1FBQUMwQyxTQUFTLEVBQUN2QztNQUFDLENBQUMsR0FBQyxLQUFLLENBQUMsS0FBR0gsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDQSxDQUFDO01BQUMsTUFBTUksQ0FBQyxHQUFDNkosQ0FBQyxDQUFDLENBQUM7UUFBQzVKLENBQUMsR0FBQ3NELENBQUMsQ0FBQyxDQUFDO1FBQUNyRCxDQUFDLEdBQUNELENBQUMsQ0FBQ29DLFNBQVMsQ0FBQzhILFFBQVE7UUFBQzFHLENBQUMsR0FBQzFELENBQUMsSUFBRUUsQ0FBQyxDQUFDb0MsU0FBUyxDQUFDQyxTQUFTO1FBQUNzQixDQUFDLEdBQUM7VUFBQ3dHLEdBQUcsRUFBQyxDQUFDLENBQUM7VUFBQ0MsT0FBTyxFQUFDLENBQUM7UUFBQyxDQUFDO1FBQUN4RyxDQUFDLEdBQUM1RCxDQUFDLENBQUNnRCxNQUFNLENBQUNxSCxLQUFLO1FBQUN2RyxDQUFDLEdBQUM5RCxDQUFDLENBQUNnRCxNQUFNLENBQUNzSCxNQUFNO1FBQUN4RixDQUFDLEdBQUN0QixDQUFDLENBQUMrRyxLQUFLLENBQUMsNkJBQTZCLENBQUM7TUFBQyxJQUFJckYsQ0FBQyxHQUFDMUIsQ0FBQyxDQUFDK0csS0FBSyxDQUFDLHNCQUFzQixDQUFDO01BQUMsTUFBTTlFLENBQUMsR0FBQ2pDLENBQUMsQ0FBQytHLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQztRQUFDNUUsQ0FBQyxHQUFDLENBQUNULENBQUMsSUFBRTFCLENBQUMsQ0FBQytHLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQztRQUFDMUQsQ0FBQyxHQUFDLE9BQU8sS0FBRzVHLENBQUM7TUFBQyxJQUFJOEcsQ0FBQyxHQUFDLFVBQVUsS0FBRzlHLENBQUM7TUFBQyxPQUFNLENBQUNpRixDQUFDLElBQUU2QixDQUFDLElBQUVoSCxDQUFDLENBQUNnSyxLQUFLLElBQUUsQ0FBQyxXQUFXLEVBQUMsV0FBVyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFVBQVUsQ0FBQyxDQUFDM0osT0FBTyxDQUFFLEdBQUV3RCxDQUFFLElBQUdFLENBQUUsRUFBQyxDQUFDLElBQUUsQ0FBQyxLQUFHb0IsQ0FBQyxHQUFDMUIsQ0FBQyxDQUFDK0csS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUNyRixDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLENBQUMsRUFBQzZCLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDakMsQ0FBQyxJQUFFLENBQUMrQixDQUFDLEtBQUdsRCxDQUFDLENBQUM2RyxFQUFFLEdBQUMsU0FBUyxFQUFDN0csQ0FBQyxDQUFDeUcsT0FBTyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQ2xGLENBQUMsSUFBRVMsQ0FBQyxJQUFFRixDQUFDLE1BQUk5QixDQUFDLENBQUM2RyxFQUFFLEdBQUMsS0FBSyxFQUFDN0csQ0FBQyxDQUFDd0csR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUN4RyxDQUFDO0lBQUEsQ0FBQyxDQUFDaEUsQ0FBQyxDQUFDLENBQUMsRUFBQytKLENBQUM7RUFBQTtFQUFDLFNBQVNlLENBQUNBLENBQUEsRUFBRTtJQUFDLE9BQU9kLENBQUMsS0FBR0EsQ0FBQyxHQUFDLFlBQVU7TUFBQyxNQUFNaEssQ0FBQyxHQUFDMkQsQ0FBQyxDQUFDLENBQUM7UUFBQ3hELENBQUMsR0FBQ21LLENBQUMsQ0FBQyxDQUFDO01BQUMsSUFBSWxLLENBQUMsR0FBQyxDQUFDLENBQUM7TUFBQyxTQUFTQyxDQUFDQSxDQUFBLEVBQUU7UUFBQyxNQUFNRixDQUFDLEdBQUNILENBQUMsQ0FBQ3lDLFNBQVMsQ0FBQ0MsU0FBUyxDQUFDcUksV0FBVyxDQUFDLENBQUM7UUFBQyxPQUFPNUssQ0FBQyxDQUFDT
5043SxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUUsQ0FBQyxJQUFFTixDQUFDLENBQUNNLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBQyxDQUFDLElBQUVOLENBQUMsQ0FBQ00sT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFDLENBQUM7TUFBQTtNQUFDLElBQUdKLENBQUMsQ0FBQyxDQUFDLEVBQUM7UUFBQyxNQUFNRixDQUFDLEdBQUM2SyxNQUFNLENBQUNoTCxDQUFDLENBQUN5QyxTQUFTLENBQUNDLFNBQVMsQ0FBQztRQUFDLElBQUd2QyxDQUFDLENBQUM4SyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUM7VUFBQyxNQUFLLENBQUNqTCxDQUFDLEVBQUNLLENBQUMsQ0FBQyxHQUFDRixDQUFDLENBQUM0RCxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNBLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0EsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDUyxHQUFHLENBQUV4RSxDQUFDLElBQUVrTCxNQUFNLENBQUNsTCxDQUFDLENBQUUsQ0FBQztVQUFDSSxDQUFDLEdBQUNKLENBQUMsR0FBQyxFQUFFLElBQUUsRUFBRSxLQUFHQSxDQUFDLElBQUVLLENBQUMsR0FBQyxDQUFDO1FBQUE7TUFBQztNQUFDLE1BQU1DLENBQUMsR0FBQyw4Q0FBOEMsQ0FBQzZLLElBQUksQ0FBQ25MLENBQUMsQ0FBQ3lDLFNBQVMsQ0FBQ0MsU0FBUyxDQUFDO1FBQUNtQixDQUFDLEdBQUN4RCxDQUFDLENBQUMsQ0FBQztNQUFDLE9BQU07UUFBQytLLFFBQVEsRUFBQ2hMLENBQUMsSUFBRXlELENBQUM7UUFBQ3dILGtCQUFrQixFQUFDakwsQ0FBQztRQUFDb0osU0FBUyxFQUFDM0YsQ0FBQyxJQUFFdkQsQ0FBQyxJQUFFSCxDQUFDLENBQUNxSyxHQUFHO1FBQUNjLFNBQVMsRUFBQ2hMO01BQUMsQ0FBQztJQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQzBKLENBQUM7RUFBQTtFQUFDLElBQUl1QixDQUFDLEdBQUM7SUFBQ0MsRUFBRUEsQ0FBQ3hMLENBQUMsRUFBQ0csQ0FBQyxFQUFDQyxDQUFDLEVBQUM7TUFBQyxNQUFNQyxDQUFDLEdBQUMsSUFBSTtNQUFDLElBQUcsQ0FBQ0EsQ0FBQyxDQUFDb0wsZUFBZSxJQUFFcEwsQ0FBQyxDQUFDcUwsU0FBUyxFQUFDLE9BQU9yTCxDQUFDO01BQUMsSUFBRyxVQUFVLElBQUUsT0FBT0YsQ0FBQyxFQUFDLE9BQU9FLENBQUM7TUFBQyxNQUFNQyxDQUFDLEdBQUNGLENBQUMsR0FBQyxTQUFTLEdBQUMsTUFBTTtNQUFDLE9BQU9KLENBQUMsQ0FBQytELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQ3JELE9BQU8sQ0FBRVYsQ0FBQyxJQUFFO1FBQUNLLENBQUMsQ0FBQ29MLGVBQWUsQ0FBQ3pMLENBQUMsQ0FBQyxLQUFHSyxDQUFDLENBQUNvTCxlQUFlLENBQUN6TCxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBQ0ssQ0FBQyxDQUFDb0wsZUFBZSxDQUFDekwsQ0FBQyxDQUFDLENBQUNNLENBQUMsQ0FBQyxDQUFDSCxDQUFDLENBQUM7TUFBQSxDQUFFLENBQUMsRUFBQ0UsQ0FBQztJQUFBLENBQUM7SUFBQ3NMLElBQUlBLENBQUMzTCxDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO01BQUMsTUFBTUMsQ0FBQyxHQUFDLElBQUk7TUFBQyxJQUFHLENBQUNBLENBQUMsQ0FBQ29MLGVBQWUsSUFBRXBMLENBQUMsQ0FBQ3FMLFNBQVMsRUFBQyxPQUFPckwsQ0FBQztNQUFDLElBQUcsVUFBVSxJQUFFLE9BQU9GLENBQUMsRUFBQyxPQUFPRSxDQUFDO01BQUMsU0FBU0MsQ0FBQ0EsQ0FBQSxFQUFFO1FBQUNELENBQUMsQ0FBQ3VMLEdBQUcsQ0FBQzVMLENBQUMsRUFBQ00sQ0FBQyxDQUFDLEVBQUNBLENBQUMsQ0FBQ3VMLGNBQWMsSUFBRSxPQUFPdkwsQ0FBQyxDQUFDdUwsY0FBYztRQUFDLEtBQUksSUFBSXpMLENBQUMsR0FBQ29GLFNBQVMsQ0FBQzdFLE1BQU0sRUFBQ2dELENBQUMsR0FBQyxJQUFJb0UsS0FBSyxDQUFDM0gsQ0FBQyxDQUFDLEVBQUN5RCxDQUFDLEdBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUN6RCxDQUFDLEVBQUN5RCxDQUFDLEVBQUUsRUFBQ0YsQ0FBQyxDQUFDRSxDQUFDLENBQUMsR0FBQzJCLFNBQVMsQ0FBQzNCLENBQUMsQ0FBQztRQUFDMUQsQ0FBQyxDQUFDMkwsS0FBSyxDQUFDekwsQ0FBQyxFQUFDc0QsQ0FBQyxDQUFDO01BQUE7TUFBQyxPQUFPckQsQ0FBQyxDQUFDdUwsY0FBYyxHQUFDMUwsQ0FBQyxFQUFDRSxDQUFDLENBQUNtTCxFQUFFLENBQUN4TCxDQUFDLEVBQUNNLENBQUMsRUFBQ0YsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUFDMkwsS0FBS0EsQ0FBQy9MLENBQUMsRUFBQ0csQ0FBQyxFQUFDO01BQUMsTUFBTUMsQ0FBQyxHQUFDLElBQUk7TUFBQyxJQUFHLENBQUNBLENBQUMsQ0FBQ3FMLGVBQWUsSUFBRXJMLENBQUMsQ0FBQ3NMLFNBQVMsRUFBQyxPQUFPdEwsQ0FBQztNQUFDLElBQUcsVUFBVSxJQUFFLE9BQU9KLENBQUMsRUFBQyxPQUFPSSxDQUFDO01BQUMsTUFBTUMsQ0FBQyxHQUFDRixDQUFDLEdBQUMsU0FBUyxHQUFDLE1BQU07TUFBQyxPQUFPQyxDQUFDLENBQUM0TCxrQkFBa0IsQ0FBQ3ZMLE9BQU8sQ0FBQ1QsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFSSxDQUFDLENBQUM0TCxrQkFBa0IsQ0FBQzNMLENBQUMsQ0FBQyxDQUFDTCxDQUFDLENBQUMsRUFBQ0ksQ0FBQztJQUFBLENBQUM7SUFBQzZMLE1BQU1BLENBQUNqTSxDQUFDLEVBQUM7TUFBQyxNQUFNRyxDQUFDLEdBQUMsSUFBSTtNQUFDLElBQUcsQ0FBQ0EsQ0FBQyxDQUFDc0wsZUFBZSxJQUFFdEwsQ0FBQyxDQUFDdUwsU0FBUyxFQUFDLE9BQU92TCxDQUFDO01BQUMsSUFBRyxDQUFDQSxDQUFDLENBQUM2TCxrQkFBa0IsRUFBQyxPQUFPN0wsQ0FBQztNQUFDLE1BQU1DLENBQUMsR0FBQ0QsQ0FBQyxDQUFDNkwsa0JBQWtCLENBQUN2TCxPQUFPLENBQUNULENBQUMsQ0FBQztNQUFDLE9BQU9JLENBQUMsSUFBRSxDQUFDLElBQUVELENBQUMsQ0FBQzZMLGtCQUFrQixDQUFDRSxNQUFNLENBQUM5TCxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUNELENBQUM7SUFBQSxDQUFDO0lBQUN5TCxHQUFHQSxDQUFDNUwsQ0FBQyxFQUFDRyxDQUFDLEVBQUM7TUFBQyxNQUFNQyxDQUFDLEdBQUMsSUFBSTtNQUFDLE9BQU0sQ0FBQ0EsQ0FBQyxDQUFDcUwsZUFBZSxJQUFFckwsQ0FBQyxDQUFDc0wsU0FBUyxHQUFDdEwsQ0FBQyxHQUFDQSxDQUFDLENBQUNxTCxlQUFlLElBQUV6TCxDQUFDLENBQUMrRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUNyRCxPQUFPLENBQUVWLENBQUMsSUFBRTtRQUFDLEtBQUssQ0FBQyxLQUFHRyxDQUFDLEdBQUNDLENBQUMsQ0FBQ3FMLGVBQWUsQ0FBQ3pMLENBQUMsQ0FBQyxHQUFDLEVBQUUsR0FBQ0ksQ0FBQyxDQUFDcUwsZUFBZSxDQUFDekwsQ0FBQyxDQUFDLElBQUVJLENBQUMsQ0FBQ3FMLGVBQWUsQ0FBQ3pMLENBQUMsQ0FBQyxDQUFDVSxPQUFPLENBQUUsQ0FBQ0wsQ0FBQyxFQUFDQyxDQUFDLEtBQUc7VUFBQyxDQUFDRCxDQUFDLEtBQUdGLENBQUMsSUFBRUUsQ0FBQyxDQUFDd0wsY0FBYyxJQUFFeEwsQ0FBQyxDQUFDd0wsY0FBYyxLQUFHMUwsQ0FBQyxLQUFHQyxDQUFDLENBQUNxTCxlQUFlLENBQUN6TCxDQUFDLENBQUMsQ0FBQ2tNLE1BQU0sQ0FBQzVMLENBQUMsRUFBQyxDQUFDLENBQUM7UUFBQSxDQUFFLENBQUM7T
5043UFBQSxDQUFFLENBQUMsRUFBQ0YsQ0FBQyxJQUFFQSxDQUFDO0lBQUEsQ0FBQztJQUFDK0wsSUFBSUEsQ0FBQSxFQUFFO01BQUMsTUFBTW5NLENBQUMsR0FBQyxJQUFJO01BQUMsSUFBRyxDQUFDQSxDQUFDLENBQUN5TCxlQUFlLElBQUV6TCxDQUFDLENBQUMwTCxTQUFTLEVBQUMsT0FBTzFMLENBQUM7TUFBQyxJQUFHLENBQUNBLENBQUMsQ0FBQ3lMLGVBQWUsRUFBQyxPQUFPekwsQ0FBQztNQUFDLElBQUlHLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO01BQUMsS0FBSSxJQUFJQyxDQUFDLEdBQUNrRixTQUFTLENBQUM3RSxNQUFNLEVBQUNnRCxDQUFDLEdBQUMsSUFBSW9FLEtBQUssQ0FBQ3pILENBQUMsQ0FBQyxFQUFDdUQsQ0FBQyxHQUFDLENBQUMsRUFBQ0EsQ0FBQyxHQUFDdkQsQ0FBQyxFQUFDdUQsQ0FBQyxFQUFFLEVBQUNGLENBQUMsQ0FBQ0UsQ0FBQyxDQUFDLEdBQUMyQixTQUFTLENBQUMzQixDQUFDLENBQUM7TUFBQyxRQUFRLElBQUUsT0FBT0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFFb0UsS0FBSyxDQUFDQyxPQUFPLENBQUNyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRXhELENBQUMsR0FBQ3dELENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQ3ZELENBQUMsR0FBQ3VELENBQUMsQ0FBQzJCLEtBQUssQ0FBQyxDQUFDLEVBQUMzQixDQUFDLENBQUNoRCxNQUFNLENBQUMsRUFBQ04sQ0FBQyxHQUFDTCxDQUFDLEtBQUdHLENBQUMsR0FBQ3dELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3lJLE1BQU0sRUFBQ2hNLENBQUMsR0FBQ3VELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzBJLElBQUksRUFBQ2hNLENBQUMsR0FBQ3NELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzJJLE9BQU8sSUFBRXRNLENBQUMsQ0FBQyxFQUFDSSxDQUFDLENBQUNtTSxPQUFPLENBQUNsTSxDQUFDLENBQUM7TUFBQyxPQUFNLENBQUMwSCxLQUFLLENBQUNDLE9BQU8sQ0FBQzdILENBQUMsQ0FBQyxHQUFDQSxDQUFDLEdBQUNBLENBQUMsQ0FBQzRELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRXJELE9BQU8sQ0FBRVAsQ0FBQyxJQUFFO1FBQUNILENBQUMsQ0FBQ2dNLGtCQUFrQixJQUFFaE0sQ0FBQyxDQUFDZ00sa0JBQWtCLENBQUNyTCxNQUFNLElBQUVYLENBQUMsQ0FBQ2dNLGtCQUFrQixDQUFDdEwsT0FBTyxDQUFFVixDQUFDLElBQUU7VUFBQ0EsQ0FBQyxDQUFDOEwsS0FBSyxDQUFDekwsQ0FBQyxFQUFDLENBQUNGLENBQUMsRUFBQyxHQUFHQyxDQUFDLENBQUMsQ0FBQztRQUFBLENBQUUsQ0FBQyxFQUFDSixDQUFDLENBQUN5TCxlQUFlLElBQUV6TCxDQUFDLENBQUN5TCxlQUFlLENBQUN0TCxDQUFDLENBQUMsSUFBRUgsQ0FBQyxDQUFDeUwsZUFBZSxDQUFDdEwsQ0FBQyxDQUFDLENBQUNPLE9BQU8sQ0FBRVYsQ0FBQyxJQUFFO1VBQUNBLENBQUMsQ0FBQzhMLEtBQUssQ0FBQ3pMLENBQUMsRUFBQ0QsQ0FBQyxDQUFDO1FBQUEsQ0FBRSxDQUFDO01BQUEsQ0FBRSxDQUFDLEVBQUNKLENBQUM7SUFBQTtFQUFDLENBQUM7RUFBQyxNQUFNd00sQ0FBQyxHQUFDQSxDQUFDeE0sQ0FBQyxFQUFDRyxDQUFDLEVBQUNDLENBQUMsS0FBRztJQUFDRCxDQUFDLElBQUUsQ0FBQ0gsQ0FBQyxDQUFDNkgsU0FBUyxDQUFDNEUsUUFBUSxDQUFDck0sQ0FBQyxDQUFDLEdBQUNKLENBQUMsQ0FBQzZILFNBQVMsQ0FBQ0MsR0FBRyxDQUFDMUgsQ0FBQyxDQUFDLEdBQUMsQ0FBQ0QsQ0FBQyxJQUFFSCxDQUFDLENBQUM2SCxTQUFTLENBQUM0RSxRQUFRLENBQUNyTSxDQUFDLENBQUMsSUFBRUosQ0FBQyxDQUFDNkgsU0FBUyxDQUFDNkUsTUFBTSxDQUFDdE0sQ0FBQyxDQUFDO0VBQUEsQ0FBQztFQUFDLE1BQU11TSxDQUFDLEdBQUNBLENBQUMzTSxDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxLQUFHO0lBQUNELENBQUMsSUFBRSxDQUFDSCxDQUFDLENBQUM2SCxTQUFTLENBQUM0RSxRQUFRLENBQUNyTSxDQUFDLENBQUMsR0FBQ0osQ0FBQyxDQUFDNkgsU0FBUyxDQUFDQyxHQUFHLENBQUMxSCxDQUFDLENBQUMsR0FBQyxDQUFDRCxDQUFDLElBQUVILENBQUMsQ0FBQzZILFNBQVMsQ0FBQzRFLFFBQVEsQ0FBQ3JNLENBQUMsQ0FBQyxJQUFFSixDQUFDLENBQUM2SCxTQUFTLENBQUM2RSxNQUFNLENBQUN0TSxDQUFDLENBQUM7RUFBQSxDQUFDO0VBQUMsTUFBTXdNLENBQUMsR0FBQ0EsQ0FBQzVNLENBQUMsRUFBQ0csQ0FBQyxLQUFHO01BQUMsSUFBRyxDQUFDSCxDQUFDLElBQUVBLENBQUMsQ0FBQzBMLFNBQVMsSUFBRSxDQUFDMUwsQ0FBQyxDQUFDcUcsTUFBTSxFQUFDO01BQU8sTUFBTWpHLENBQUMsR0FBQ0QsQ0FBQyxDQUFDME0sT0FBTyxDQUFDN00sQ0FBQyxDQUFDOE0sU0FBUyxHQUFDLGNBQWMsR0FBRSxJQUFHOU0sQ0FBQyxDQUFDcUcsTUFBTSxDQUFDMEcsVUFBVyxFQUFDLENBQUM7TUFBQyxJQUFHM00sQ0FBQyxFQUFDO1FBQUMsSUFBSUQsQ0FBQyxHQUFDQyxDQUFDLENBQUNjLGFBQWEsQ0FBRSxJQUFHbEIsQ0FBQyxDQUFDcUcsTUFBTSxDQUFDMkcsa0JBQW1CLEVBQUMsQ0FBQztRQUFDLENBQUM3TSxDQUFDLElBQUVILENBQUMsQ0FBQzhNLFNBQVMsS0FBRzFNLENBQUMsQ0FBQytHLFVBQVUsR0FBQ2hILENBQUMsR0FBQ0MsQ0FBQyxDQUFDK0csVUFBVSxDQUFDakcsYUFBYSxDQUFFLElBQUdsQixDQUFDLENBQUNxRyxNQUFNLENBQUMyRyxrQkFBbUIsRUFBQyxDQUFDLEdBQUN2SixxQkFBcUIsQ0FBRSxNQUFJO1VBQUNyRCxDQUFDLENBQUMrRyxVQUFVLEtBQUdoSCxDQUFDLEdBQUNDLENBQUMsQ0FBQytHLFVBQVUsQ0FBQ2pHLGFBQWEsQ0FBRSxJQUFHbEIsQ0FBQyxDQUFDcUcsTUFBTSxDQUFDMkcsa0JBQW1CLEVBQUMsQ0FBQyxFQUFDN00sQ0FBQyxJQUFFQSxDQUFDLENBQUN1TSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQUEsQ0FBRSxDQUFDLENBQUMsRUFBQ3ZNLENBQUMsSUFBRUEsQ0FBQyxDQUFDdU0sTUFBTSxDQUFDLENBQUM7TUFBQTtJQUFDLENBQUM7SUFBQ08sQ0FBQyxHQUFDQSxDQUFDak4sQ0FBQyxFQUFDRyxDQUFDLEtBQUc7TUFBQyxJQUFHLENBQUNILENBQUMsQ0FBQ2tOLE1BQU0sQ0FBQy9NLENBQUMsQ0FBQyxFQUFDO01BQU8sTUFBTUMsQ0FBQyxHQUFDSixDQUFDLENBQUNrTixNQUFNLENBQUMvTSxDQUFDLENBQUMsQ0FBQ2UsYUFBYSxDQUFDLGtCQUFrQixDQUFDO01BQUNkLENBQUMsSUFBRUEsQ0FBQyxDQUFDK00sZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUFBLENBQUM7SUFBQ0MsQ0FBQyxHQUFDcE4sQ0FBQyxJQUFFO01BQUMsSUFBRyxDQUFDQSxDQUFDLElBQUVBLENBQUMsQ0FBQzBMLFNBQVMsSUFBRSxDQUFDMUwsQ0FBQyxDQUFDcUcsTUFBTSxFQUFDO01BQU8
5043sSUFBSWxHLENBQUMsR0FBQ0gsQ0FBQyxDQUFDcUcsTUFBTSxDQUFDZ0gsbUJBQW1CO01BQUMsTUFBTWpOLENBQUMsR0FBQ0osQ0FBQyxDQUFDa04sTUFBTSxDQUFDdk0sTUFBTTtNQUFDLElBQUcsQ0FBQ1AsQ0FBQyxJQUFFLENBQUNELENBQUMsSUFBRUEsQ0FBQyxHQUFDLENBQUMsRUFBQztNQUFPQSxDQUFDLEdBQUN3RyxJQUFJLENBQUNFLEdBQUcsQ0FBQzFHLENBQUMsRUFBQ0MsQ0FBQyxDQUFDO01BQUMsTUFBTUMsQ0FBQyxHQUFDLE1BQU0sS0FBR0wsQ0FBQyxDQUFDcUcsTUFBTSxDQUFDaUgsYUFBYSxHQUFDdE4sQ0FBQyxDQUFDdU4sb0JBQW9CLENBQUMsQ0FBQyxHQUFDNUcsSUFBSSxDQUFDNkcsSUFBSSxDQUFDeE4sQ0FBQyxDQUFDcUcsTUFBTSxDQUFDaUgsYUFBYSxDQUFDO1FBQUNoTixDQUFDLEdBQUNOLENBQUMsQ0FBQ3lOLFdBQVc7TUFBQyxJQUFHek4sQ0FBQyxDQUFDcUcsTUFBTSxDQUFDcUgsSUFBSSxJQUFFMU4sQ0FBQyxDQUFDcUcsTUFBTSxDQUFDcUgsSUFBSSxDQUFDQyxJQUFJLEdBQUMsQ0FBQyxFQUFDO1FBQUMsTUFBTXZOLENBQUMsR0FBQ0UsQ0FBQztVQUFDcUQsQ0FBQyxHQUFDLENBQUN2RCxDQUFDLEdBQUNELENBQUMsQ0FBQztRQUFDLE9BQU93RCxDQUFDLENBQUMyRCxJQUFJLENBQUMsR0FBR1MsS0FBSyxDQUFDNkYsSUFBSSxDQUFDO1VBQUNqTixNQUFNLEVBQUNSO1FBQUMsQ0FBQyxDQUFDLENBQUNxRSxHQUFHLENBQUUsQ0FBQ3hFLENBQUMsRUFBQ0csQ0FBQyxLQUFHQyxDQUFDLEdBQUNDLENBQUMsR0FBQ0YsQ0FBRSxDQUFDLENBQUMsRUFBQyxLQUFLSCxDQUFDLENBQUNrTixNQUFNLENBQUN4TSxPQUFPLENBQUUsQ0FBQ1AsQ0FBQyxFQUFDQyxDQUFDLEtBQUc7VUFBQ3VELENBQUMsQ0FBQ3NILFFBQVEsQ0FBQzlLLENBQUMsQ0FBQzBOLE1BQU0sQ0FBQyxJQUFFWixDQUFDLENBQUNqTixDQUFDLEVBQUNJLENBQUMsQ0FBQztRQUFBLENBQUUsQ0FBQztNQUFBO01BQUMsTUFBTXVELENBQUMsR0FBQ3JELENBQUMsR0FBQ0QsQ0FBQyxHQUFDLENBQUM7TUFBQyxJQUFHTCxDQUFDLENBQUNxRyxNQUFNLENBQUN5SCxNQUFNLElBQUU5TixDQUFDLENBQUNxRyxNQUFNLENBQUMwSCxJQUFJLEVBQUMsS0FBSSxJQUFJMU4sQ0FBQyxHQUFDQyxDQUFDLEdBQUNILENBQUMsRUFBQ0UsQ0FBQyxJQUFFc0QsQ0FBQyxHQUFDeEQsQ0FBQyxFQUFDRSxDQUFDLElBQUUsQ0FBQyxFQUFDO1FBQUMsTUFBTUYsQ0FBQyxHQUFDLENBQUNFLENBQUMsR0FBQ0QsQ0FBQyxHQUFDQSxDQUFDLElBQUVBLENBQUM7UUFBQyxDQUFDRCxDQUFDLEdBQUNHLENBQUMsSUFBRUgsQ0FBQyxHQUFDd0QsQ0FBQyxLQUFHc0osQ0FBQyxDQUFDak4sQ0FBQyxFQUFDRyxDQUFDLENBQUM7TUFBQSxDQUFDLE1BQUssS0FBSSxJQUFJRSxDQUFDLEdBQUNzRyxJQUFJLENBQUNDLEdBQUcsQ0FBQ3RHLENBQUMsR0FBQ0gsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDRSxDQUFDLElBQUVzRyxJQUFJLENBQUNFLEdBQUcsQ0FBQ2xELENBQUMsR0FBQ3hELENBQUMsRUFBQ0MsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDQyxDQUFDLElBQUUsQ0FBQyxFQUFDQSxDQUFDLEtBQUdDLENBQUMsS0FBR0QsQ0FBQyxHQUFDc0QsQ0FBQyxJQUFFdEQsQ0FBQyxHQUFDQyxDQUFDLENBQUMsSUFBRTJNLENBQUMsQ0FBQ2pOLENBQUMsRUFBQ0ssQ0FBQyxDQUFDO0lBQUEsQ0FBQztFQUFDLElBQUkyTixDQUFDLEdBQUM7SUFBQ0MsVUFBVSxFQUFDLFNBQUFBLENBQUEsRUFBVTtNQUFDLE1BQU1qTyxDQUFDLEdBQUMsSUFBSTtNQUFDLElBQUlHLENBQUMsRUFBQ0MsQ0FBQztNQUFDLE1BQU1DLENBQUMsR0FBQ0wsQ0FBQyxDQUFDa08sRUFBRTtNQUFDL04sQ0FBQyxHQUFDLEtBQUssQ0FBQyxLQUFHSCxDQUFDLENBQUNxRyxNQUFNLENBQUNxRSxLQUFLLElBQUUsSUFBSSxLQUFHMUssQ0FBQyxDQUFDcUcsTUFBTSxDQUFDcUUsS0FBSyxHQUFDMUssQ0FBQyxDQUFDcUcsTUFBTSxDQUFDcUUsS0FBSyxHQUFDckssQ0FBQyxDQUFDOE4sV0FBVyxFQUFDL04sQ0FBQyxHQUFDLEtBQUssQ0FBQyxLQUFHSixDQUFDLENBQUNxRyxNQUFNLENBQUNzRSxNQUFNLElBQUUsSUFBSSxLQUFHM0ssQ0FBQyxDQUFDcUcsTUFBTSxDQUFDc0UsTUFBTSxHQUFDM0ssQ0FBQyxDQUFDcUcsTUFBTSxDQUFDc0UsTUFBTSxHQUFDdEssQ0FBQyxDQUFDK04sWUFBWSxFQUFDLENBQUMsS0FBR2pPLENBQUMsSUFBRUgsQ0FBQyxDQUFDcU8sWUFBWSxDQUFDLENBQUMsSUFBRSxDQUFDLEtBQUdqTyxDQUFDLElBQUVKLENBQUMsQ0FBQ3NPLFVBQVUsQ0FBQyxDQUFDLEtBQUduTyxDQUFDLEdBQUNBLENBQUMsR0FBQ29PLFFBQVEsQ0FBQzVGLENBQUMsQ0FBQ3RJLENBQUMsRUFBQyxjQUFjLENBQUMsSUFBRSxDQUFDLEVBQUMsRUFBRSxDQUFDLEdBQUNrTyxRQUFRLENBQUM1RixDQUFDLENBQUN0SSxDQUFDLEVBQUMsZUFBZSxDQUFDLElBQUUsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDRCxDQUFDLEdBQUNBLENBQUMsR0FBQ21PLFFBQVEsQ0FBQzVGLENBQUMsQ0FBQ3RJLENBQUMsRUFBQyxhQUFhLENBQUMsSUFBRSxDQUFDLEVBQUMsRUFBRSxDQUFDLEdBQUNrTyxRQUFRLENBQUM1RixDQUFDLENBQUN0SSxDQUFDLEVBQUMsZ0JBQWdCLENBQUMsSUFBRSxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUM2SyxNQUFNLENBQUNzRCxLQUFLLENBQUNyTyxDQUFDLENBQUMsS0FBR0EsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDK0ssTUFBTSxDQUFDc0QsS0FBSyxDQUFDcE8sQ0FBQyxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQ0YsTUFBTSxDQUFDdU8sTUFBTSxDQUFDek8sQ0FBQyxFQUFDO1FBQUMwSyxLQUFLLEVBQUN2SyxDQUFDO1FBQUN3SyxNQUFNLEVBQUN2SyxDQUFDO1FBQUNzTyxJQUFJLEVBQUMxTyxDQUFDLENBQUNxTyxZQUFZLENBQUMsQ0FBQyxHQUFDbE8sQ0FBQyxHQUFDQztNQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUFDdU8sWUFBWSxFQUFDLFNBQUFBLENBQUEsRUFBVTtNQUFDLE1BQU0zTyxDQUFDLEdBQUMsSUFBSTtNQUFDLFNBQVNHLENBQUNBLENBQUNBLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO1FBQUMsT0FBTzZFLFVBQVUsQ0FBQzlFLENBQUMsQ0FBQytDLGdCQUFnQixDQUFDbEQsQ0FBQyxDQUFDNE8saUJBQWlCLENBQUN4TyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQztNQUFBO01BQUMsTUFBTUEsQ0FBQyxHQUFDSixDQUFDLENBQUNxRyxN
5043QUFNO1FBQUM7VUFBQ0UsU0FBUyxFQUFDbEcsQ0FBQztVQUFDd08sUUFBUSxFQUFDdk8sQ0FBQztVQUFDb08sSUFBSSxFQUFDL0ssQ0FBQztVQUFDbUwsWUFBWSxFQUFDakwsQ0FBQztVQUFDa0wsUUFBUSxFQUFDL0s7UUFBQyxDQUFDLEdBQUNoRSxDQUFDO1FBQUNpRSxDQUFDLEdBQUNqRSxDQUFDLENBQUNnUCxPQUFPLElBQUU1TyxDQUFDLENBQUM0TyxPQUFPLENBQUNDLE9BQU87UUFBQzlLLENBQUMsR0FBQ0YsQ0FBQyxHQUFDakUsQ0FBQyxDQUFDZ1AsT0FBTyxDQUFDOUIsTUFBTSxDQUFDdk0sTUFBTSxHQUFDWCxDQUFDLENBQUNrTixNQUFNLENBQUN2TSxNQUFNO1FBQUN3RSxDQUFDLEdBQUNpQyxDQUFDLENBQUM5RyxDQUFDLEVBQUUsSUFBR04sQ0FBQyxDQUFDcUcsTUFBTSxDQUFDMEcsVUFBVyxnQkFBZSxDQUFDO1FBQUN4SCxDQUFDLEdBQUN0QixDQUFDLEdBQUNqRSxDQUFDLENBQUNnUCxPQUFPLENBQUM5QixNQUFNLENBQUN2TSxNQUFNLEdBQUN3RSxDQUFDLENBQUN4RSxNQUFNO01BQUMsSUFBSXFGLENBQUMsR0FBQyxFQUFFO01BQUMsTUFBTWtCLENBQUMsR0FBQyxFQUFFO1FBQUNPLENBQUMsR0FBQyxFQUFFO01BQUMsSUFBSUcsQ0FBQyxHQUFDeEgsQ0FBQyxDQUFDOE8sa0JBQWtCO01BQUMsVUFBVSxJQUFFLE9BQU90SCxDQUFDLEtBQUdBLENBQUMsR0FBQ3hILENBQUMsQ0FBQzhPLGtCQUFrQixDQUFDN0osSUFBSSxDQUFDckYsQ0FBQyxDQUFDLENBQUM7TUFBQyxJQUFJaUksQ0FBQyxHQUFDN0gsQ0FBQyxDQUFDK08saUJBQWlCO01BQUMsVUFBVSxJQUFFLE9BQU9sSCxDQUFDLEtBQUdBLENBQUMsR0FBQzdILENBQUMsQ0FBQytPLGlCQUFpQixDQUFDOUosSUFBSSxDQUFDckYsQ0FBQyxDQUFDLENBQUM7TUFBQyxNQUFNNEksQ0FBQyxHQUFDNUksQ0FBQyxDQUFDb1AsUUFBUSxDQUFDek8sTUFBTTtRQUFDbUksQ0FBQyxHQUFDOUksQ0FBQyxDQUFDcVAsVUFBVSxDQUFDMU8sTUFBTTtNQUFDLElBQUlxSSxDQUFDLEdBQUM1SSxDQUFDLENBQUNrUCxZQUFZO1FBQUNsRyxDQUFDLEdBQUMsQ0FBQ3hCLENBQUM7UUFBQ3lCLENBQUMsR0FBQyxDQUFDO1FBQUNJLENBQUMsR0FBQyxDQUFDO01BQUMsSUFBRyxLQUFLLENBQUMsS0FBRzlGLENBQUMsRUFBQztNQUFPLFFBQVEsSUFBRSxPQUFPcUYsQ0FBQyxJQUFFQSxDQUFDLENBQUN2SSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUUsQ0FBQyxHQUFDdUksQ0FBQyxHQUFDL0QsVUFBVSxDQUFDK0QsQ0FBQyxDQUFDdkUsT0FBTyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQ2QsQ0FBQyxHQUFDLFFBQVEsSUFBRSxPQUFPcUYsQ0FBQyxLQUFHQSxDQUFDLEdBQUMvRCxVQUFVLENBQUMrRCxDQUFDLENBQUMsQ0FBQyxFQUFDaEosQ0FBQyxDQUFDdVAsV0FBVyxHQUFDLENBQUN2RyxDQUFDLEVBQUM3RCxDQUFDLENBQUN6RSxPQUFPLENBQUVWLENBQUMsSUFBRTtRQUFDNkQsQ0FBQyxHQUFDN0QsQ0FBQyxDQUFDMEIsS0FBSyxDQUFDOE4sVUFBVSxHQUFDLEVBQUUsR0FBQ3hQLENBQUMsQ0FBQzBCLEtBQUssQ0FBQytOLFdBQVcsR0FBQyxFQUFFLEVBQUN6UCxDQUFDLENBQUMwQixLQUFLLENBQUNnTyxZQUFZLEdBQUMsRUFBRSxFQUFDMVAsQ0FBQyxDQUFDMEIsS0FBSyxDQUFDaU8sU0FBUyxHQUFDLEVBQUU7TUFBQSxDQUFFLENBQUMsRUFBQ3ZQLENBQUMsQ0FBQ3dQLGNBQWMsSUFBRXhQLENBQUMsQ0FBQ3lQLE9BQU8sS0FBRy9KLENBQUMsQ0FBQ3pGLENBQUMsRUFBQyxpQ0FBaUMsRUFBQyxFQUFFLENBQUMsRUFBQ3lGLENBQUMsQ0FBQ3pGLENBQUMsRUFBQyxnQ0FBZ0MsRUFBQyxFQUFFLENBQUMsQ0FBQztNQUFDLE1BQU15SixDQUFDLEdBQUMxSixDQUFDLENBQUNzTixJQUFJLElBQUV0TixDQUFDLENBQUNzTixJQUFJLENBQUNDLElBQUksR0FBQyxDQUFDLElBQUUzTixDQUFDLENBQUMwTixJQUFJO01BQUMsSUFBSTNELENBQUM7TUFBQ0QsQ0FBQyxHQUFDOUosQ0FBQyxDQUFDME4sSUFBSSxDQUFDb0MsVUFBVSxDQUFDM0ssQ0FBQyxDQUFDLEdBQUNuRixDQUFDLENBQUMwTixJQUFJLElBQUUxTixDQUFDLENBQUMwTixJQUFJLENBQUNxQyxXQUFXLENBQUMsQ0FBQztNQUFDLE1BQU0vRixDQUFDLEdBQUMsTUFBTSxLQUFHNUosQ0FBQyxDQUFDa04sYUFBYSxJQUFFbE4sQ0FBQyxDQUFDNFAsV0FBVyxJQUFFOVAsTUFBTSxDQUFDSyxJQUFJLENBQUNILENBQUMsQ0FBQzRQLFdBQVcsQ0FBQyxDQUFDeFAsTUFBTSxDQUFFUixDQUFDLElBQUUsS0FBSyxDQUFDLEtBQUdJLENBQUMsQ0FBQzRQLFdBQVcsQ0FBQ2hRLENBQUMsQ0FBQyxDQUFDc04sYUFBYyxDQUFDLENBQUMzTSxNQUFNLEdBQUMsQ0FBQztNQUFDLEtBQUksSUFBSU4sQ0FBQyxHQUFDLENBQUMsRUFBQ0EsQ0FBQyxHQUFDa0YsQ0FBQyxFQUFDbEYsQ0FBQyxJQUFFLENBQUMsRUFBQztRQUFDLElBQUlDLENBQUM7UUFBQyxJQUFHeUosQ0FBQyxHQUFDLENBQUMsRUFBQzVFLENBQUMsQ0FBQzlFLENBQUMsQ0FBQyxLQUFHQyxDQUFDLEdBQUM2RSxDQUFDLENBQUM5RSxDQUFDLENBQUMsQ0FBQyxFQUFDeUosQ0FBQyxJQUFFOUosQ0FBQyxDQUFDME4sSUFBSSxDQUFDdUMsV0FBVyxDQUFDNVAsQ0FBQyxFQUFDQyxDQUFDLEVBQUM2RSxDQUFDLENBQUMsRUFBQyxDQUFDQSxDQUFDLENBQUM5RSxDQUFDLENBQUMsSUFBRSxNQUFNLEtBQUdzSSxDQUFDLENBQUNySSxDQUFDLEVBQUMsU0FBUyxDQUFDLEVBQUM7VUFBQyxJQUFHLE1BQU0sS0FBR0YsQ0FBQyxDQUFDa04sYUFBYSxFQUFDO1lBQUN0RCxDQUFDLEtBQUc3RSxDQUFDLENBQUM5RSxDQUFDLENBQUMsQ0FBQ3FCLEtBQUssQ0FBQzFCLENBQUMsQ0FBQzRPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDO1lBQUMsTUFBTWpMLENBQUMsR0FBQ1YsZ0JBQWdCLENBQUMzQyxDQUFDLENBQUM7Y0FBQ3VELENBQUMsR0FBQ3ZELENBQUMsQ0FBQ29CLEtBQUssQ0FBQzRDLFNBQVM7Y0FBQ04sQ0FBQyxHQUFDMUQsQ0FBQyxDQUFDb0IsS0FBSyxDQUFDNkMsZUFBZTtZQUFDLElBQUdWLENBQUMsS0FBR3ZELENBQUMsQ0FBQ29CLEtBQUssQ0FBQzRDLFNBQVMsR0FBQyxNQUFNLENBQUMsRUFBQ04sQ0FBQyxLQUFHMUQsQ0FBQyxDQUFDb0IsS0FBSyxDQUFDNkMsZUFBZSxHQUFDLE1BQU0sQ0FBQyxFQUFDbkUsQ0FBQyxDQUFDOFAsWUFBWSxFQUFDbkcsQ0FBQyxHQUFDL0osQ0FBQyxDQUFDcU8sWUFBWSxDQUFDLENBQUMsR0FBQ25GLENBQUMsQ0FBQzVJLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQzRJLENBQUMsQ0FBQzVJLENBQUMsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJO2NBQUMsTUFBTU4sQ0FBQyxHQUFDRyxDQUFDLENBQUN3RCxDQUFDLEVBQUMsT0FBTyxDQUFDO2dCQUFDdkQsQ0FBQyxHQUFDRCxDQUFDLENBQUN3RCxDQUFDLEVBQUMsY0FBYyxDQUFDO2dCQUFDdEQsQ0FBQyxHQUFDRixDQUFDLENBQUN3RCxDQUFDLEVBQUMsZUFBZSxDQUFDO2dCQUFDRSxDQUFDLEdBQUMxRCxDQUFDLENBQUN3RCxDQUFDLEVBQUMsYUFBYSxDQUFDO2dCQUFDSyxDQUFDLEdBQUM3RCxDQUFDLENBQUN3RCxDQUFDLEVBQUMsY0FBYyxDQUFDO2dCQUFDTSxDQUFDLEdBQUNOLENBQUMsQ0FBQ1QsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO2NBQUMsSUFBR2UsQ0FBQyxJQUFFLFlBQVksS0FBR0EsQ0FBQyxFQUFDOEYsQ0FBQyxHQUFDL0osQ0FBQyxHQUFDNkQsQ0FBQyxHQUFDRyxDQUFDLENBQUMsS0FBSTtnQkFBQyxNQUFLO2tCQUFDbUssV0
5043FBVyxFQUFDaE8sQ0FBQztrQkFBQ2dKLFdBQVcsRUFBQ3hGO2dCQUFDLENBQUMsR0FBQ3JELENBQUM7Z0JBQUN5SixDQUFDLEdBQUMvSixDQUFDLEdBQUNJLENBQUMsR0FBQ0MsQ0FBQyxHQUFDd0QsQ0FBQyxHQUFDRyxDQUFDLElBQUVMLENBQUMsR0FBQ3hELENBQUMsQ0FBQztjQUFBO1lBQUM7WUFBQzBELENBQUMsS0FBR3ZELENBQUMsQ0FBQ29CLEtBQUssQ0FBQzRDLFNBQVMsR0FBQ1QsQ0FBQyxDQUFDLEVBQUNHLENBQUMsS0FBRzFELENBQUMsQ0FBQ29CLEtBQUssQ0FBQzZDLGVBQWUsR0FBQ1AsQ0FBQyxDQUFDLEVBQUM1RCxDQUFDLENBQUM4UCxZQUFZLEtBQUduRyxDQUFDLEdBQUNwRCxJQUFJLENBQUN3SixLQUFLLENBQUNwRyxDQUFDLENBQUMsQ0FBQztVQUFBLENBQUMsTUFBS0EsQ0FBQyxHQUFDLENBQUNwRyxDQUFDLEdBQUMsQ0FBQ3ZELENBQUMsQ0FBQ2tOLGFBQWEsR0FBQyxDQUFDLElBQUV0RSxDQUFDLElBQUU1SSxDQUFDLENBQUNrTixhQUFhLEVBQUNsTixDQUFDLENBQUM4UCxZQUFZLEtBQUduRyxDQUFDLEdBQUNwRCxJQUFJLENBQUN3SixLQUFLLENBQUNwRyxDQUFDLENBQUMsQ0FBQyxFQUFDNUUsQ0FBQyxDQUFDOUUsQ0FBQyxDQUFDLEtBQUc4RSxDQUFDLENBQUM5RSxDQUFDLENBQUMsQ0FBQ3FCLEtBQUssQ0FBQzFCLENBQUMsQ0FBQzRPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUUsR0FBRTdFLENBQUUsSUFBRyxDQUFDO1VBQUM1RSxDQUFDLENBQUM5RSxDQUFDLENBQUMsS0FBRzhFLENBQUMsQ0FBQzlFLENBQUMsQ0FBQyxDQUFDK1AsZUFBZSxHQUFDckcsQ0FBQyxDQUFDLEVBQUN0QyxDQUFDLENBQUNILElBQUksQ0FBQ3lDLENBQUMsQ0FBQyxFQUFDM0osQ0FBQyxDQUFDd1AsY0FBYyxJQUFFeEcsQ0FBQyxHQUFDQSxDQUFDLEdBQUNXLENBQUMsR0FBQyxDQUFDLEdBQUNWLENBQUMsR0FBQyxDQUFDLEdBQUNMLENBQUMsRUFBQyxDQUFDLEtBQUdLLENBQUMsSUFBRSxDQUFDLEtBQUdoSixDQUFDLEtBQUcrSSxDQUFDLEdBQUNBLENBQUMsR0FBQ3pGLENBQUMsR0FBQyxDQUFDLEdBQUNxRixDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUczSSxDQUFDLEtBQUcrSSxDQUFDLEdBQUNBLENBQUMsR0FBQ3pGLENBQUMsR0FBQyxDQUFDLEdBQUNxRixDQUFDLENBQUMsRUFBQ3JDLElBQUksQ0FBQzJDLEdBQUcsQ0FBQ0YsQ0FBQyxDQUFDLEdBQUMsSUFBSSxLQUFHQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUNoSixDQUFDLENBQUM4UCxZQUFZLEtBQUc5RyxDQUFDLEdBQUN6QyxJQUFJLENBQUN3SixLQUFLLENBQUMvRyxDQUFDLENBQUMsQ0FBQyxFQUFDSyxDQUFDLEdBQUNySixDQUFDLENBQUNpUSxjQUFjLElBQUUsQ0FBQyxJQUFFckssQ0FBQyxDQUFDc0IsSUFBSSxDQUFDOEIsQ0FBQyxDQUFDLEVBQUNsQyxDQUFDLENBQUNJLElBQUksQ0FBQzhCLENBQUMsQ0FBQyxLQUFHaEosQ0FBQyxDQUFDOFAsWUFBWSxLQUFHOUcsQ0FBQyxHQUFDekMsSUFBSSxDQUFDd0osS0FBSyxDQUFDL0csQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDSyxDQUFDLEdBQUM5QyxJQUFJLENBQUNFLEdBQUcsQ0FBQzdHLENBQUMsQ0FBQ3FHLE1BQU0sQ0FBQ2lLLGtCQUFrQixFQUFDN0csQ0FBQyxDQUFDLElBQUV6SixDQUFDLENBQUNxRyxNQUFNLENBQUNnSyxjQUFjLElBQUUsQ0FBQyxJQUFFckssQ0FBQyxDQUFDc0IsSUFBSSxDQUFDOEIsQ0FBQyxDQUFDLEVBQUNsQyxDQUFDLENBQUNJLElBQUksQ0FBQzhCLENBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNBLENBQUMsR0FBQ1csQ0FBQyxHQUFDZixDQUFDLENBQUMsRUFBQ2hKLENBQUMsQ0FBQ3VQLFdBQVcsSUFBRXhGLENBQUMsR0FBQ2YsQ0FBQyxFQUFDSyxDQUFDLEdBQUNVLENBQUMsRUFBQ04sQ0FBQyxJQUFFLENBQUM7UUFBQTtNQUFDO01BQUMsSUFBR3pKLENBQUMsQ0FBQ3VQLFdBQVcsR0FBQzVJLElBQUksQ0FBQ0MsR0FBRyxDQUFDNUcsQ0FBQyxDQUFDdVAsV0FBVyxFQUFDNUwsQ0FBQyxDQUFDLEdBQUNzRSxDQUFDLEVBQUNwRSxDQUFDLElBQUVHLENBQUMsS0FBRyxPQUFPLEtBQUc1RCxDQUFDLENBQUNtUSxNQUFNLElBQUUsV0FBVyxLQUFHblEsQ0FBQyxDQUFDbVEsTUFBTSxDQUFDLEtBQUdsUSxDQUFDLENBQUNxQixLQUFLLENBQUNnSixLQUFLLEdBQUUsR0FBRTFLLENBQUMsQ0FBQ3VQLFdBQVcsR0FBQ3ZHLENBQUUsSUFBRyxDQUFDLEVBQUM1SSxDQUFDLENBQUNvUSxjQUFjLEtBQUduUSxDQUFDLENBQUNxQixLQUFLLENBQUMxQixDQUFDLENBQUM0TyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFFLEdBQUU1TyxDQUFDLENBQUN1UCxXQUFXLEdBQUN2RyxDQUFFLElBQUcsQ0FBQyxFQUFDYyxDQUFDLElBQUU5SixDQUFDLENBQUMwTixJQUFJLENBQUMrQyxpQkFBaUIsQ0FBQzFHLENBQUMsRUFBQy9ELENBQUMsQ0FBQyxFQUFDLENBQUM1RixDQUFDLENBQUN3UCxjQUFjLEVBQUM7UUFBQyxNQUFNelAsQ0FBQyxHQUFDLEVBQUU7UUFBQyxLQUFJLElBQUlFLENBQUMsR0FBQyxDQUFDLEVBQUNBLENBQUMsR0FBQzJGLENBQUMsQ0FBQ3JGLE1BQU0sRUFBQ04sQ0FBQyxJQUFFLENBQUMsRUFBQztVQUFDLElBQUlDLENBQUMsR0FBQzBGLENBQUMsQ0FBQzNGLENBQUMsQ0FBQztVQUFDRCxDQUFDLENBQUM4UCxZQUFZLEtBQUc1UCxDQUFDLEdBQUNxRyxJQUFJLENBQUN3SixLQUFLLENBQUM3UCxDQUFDLENBQUMsQ0FBQyxFQUFDMEYsQ0FBQyxDQUFDM0YsQ0FBQyxDQUFDLElBQUVMLENBQUMsQ0FBQ3VQLFdBQVcsR0FBQzVMLENBQUMsSUFBRXhELENBQUMsQ0FBQ21ILElBQUksQ0FBQ2hILENBQUMsQ0FBQztRQUFBO1FBQUMwRixDQUFDLEdBQUM3RixDQUFDLEVBQUN3RyxJQUFJLENBQUN3SixLQUFLLENBQUNuUSxDQUFDLENBQUN1UCxXQUFXLEdBQUM1TCxDQUFDLENBQUMsR0FBQ2dELElBQUksQ0FBQ3dKLEtBQUssQ0FBQ25LLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDckYsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFcUYsQ0FBQyxDQUFDc0IsSUFBSSxDQUFDdEgsQ0FBQyxDQUFDdVAsV0FBVyxHQUFDNUwsQ0FBQyxDQUFDO01BQUE7TUFBQyxJQUFHTSxDQUFDLElBQUU3RCxDQUFDLENBQUMyTixJQUFJLEVBQUM7UUFBQyxNQUFNNU4sQ0FBQyxHQUFDc0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDdUIsQ0FBQztRQUFDLElBQUc1SSxDQUFDLENBQUNpUSxjQUFjLEdBQUMsQ0FBQyxFQUFDO1VBQUMsTUFBTWhRLENBQUMsR0FBQ3NHLElBQUksQ0FBQzZHLElBQUksQ0FBQyxDQUFDeE4sQ0FBQyxDQUFDZ1AsT0FBTyxDQUFDMEIsWUFBWSxHQUFDMVEsQ0FBQyxDQUFDZ1AsT0FBTyxDQUFDMkIsV0FBVyxJQUFFdlEsQ0FBQyxDQUFDaVEsY0FBYyxDQUFDO1lBQUMvUCxDQUFDLEdBQUNILENBQUMsR0FBQ0MsQ0FBQyxDQUFDaVEsY0FBYztVQUFDLEtBQUksSUFBSXJRLENBQUMsR0FBQyxDQUFDLEVBQUNBLENBQUMsR0FBQ0ssQ0FBQyxFQUFDTCxDQUFDLElBQUUsQ0FBQyxFQUFDZ0csQ0FBQyxDQUFDc0IsSUFBSSxDQUFDdEIsQ0FBQyxDQUFDQSxDQUFDLENBQUNyRixNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUNMLENBQUMsQ0FBQztRQUFBO1FBQUMsS0FBSSxJQUFJRCxDQUFDLEdBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNMLENBQUMsQ0FBQ2dQLE9BQU8sQ0FBQzBCLFlBQVksR0FBQzFRLENBQUMsQ0FBQ2dQLE9BQU8sQ0FBQzJCLFdBQVcsRUFBQ3RRLENBQUMsSUFBRSxDQUFDLEVBQUMsQ0FBQyxLQUFHRCxDQUFDLENBQUNpUSxjQUFjLElBQUVySyxDQUFDLENBQUNzQixJQUFJLENBQUN0QixDQUFDLENBQUNBLENBQUMsQ0FBQ3JGLE1BQU0sR0FBQyxDQUFDLENBQUMsR0FBQ1IsQ0FBQyxDQUFDLEVBQUMrRyxDQUFDLENBQUNJLElBQUksQ0FBQ0osQ0FBQyxDQUFDQSxDQUFDLENBQUN2RyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUNSLENBQUMsQ0FBQyxFQUFDSCxDQUFDLENBQUN1UCxXQUFXLElBQUVwUCxDQUFDO01BQUE7TUFBQyxJQUFHLENBQUMsS0FBRzZGLENBQUMsQ0FBQ3JGLE1BQU0sS0FBR3FGLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFHZ0Qs
5043Q0FBQyxFQUFDO1FBQUMsTUFBTTdJLENBQUMsR0FBQ0gsQ0FBQyxDQUFDcU8sWUFBWSxDQUFDLENBQUMsSUFBRXhLLENBQUMsR0FBQyxZQUFZLEdBQUM3RCxDQUFDLENBQUM0TyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7UUFBQ3pKLENBQUMsQ0FBQzNFLE1BQU0sQ0FBRSxDQUFDUixDQUFDLEVBQUNHLENBQUMsS0FBRyxFQUFFQyxDQUFDLENBQUN5UCxPQUFPLElBQUUsQ0FBQ3pQLENBQUMsQ0FBQzJOLElBQUksQ0FBQyxJQUFFNU4sQ0FBQyxLQUFHZ0YsQ0FBQyxDQUFDeEUsTUFBTSxHQUFDLENBQUUsQ0FBQyxDQUFDRCxPQUFPLENBQUVWLENBQUMsSUFBRTtVQUFDQSxDQUFDLENBQUMwQixLQUFLLENBQUN2QixDQUFDLENBQUMsR0FBRSxHQUFFNkksQ0FBRSxJQUFHO1FBQUEsQ0FBRSxDQUFDO01BQUE7TUFBQyxJQUFHNUksQ0FBQyxDQUFDd1AsY0FBYyxJQUFFeFAsQ0FBQyxDQUFDd1Esb0JBQW9CLEVBQUM7UUFBQyxJQUFJNVEsQ0FBQyxHQUFDLENBQUM7UUFBQ3lILENBQUMsQ0FBQy9HLE9BQU8sQ0FBRVAsQ0FBQyxJQUFFO1VBQUNILENBQUMsSUFBRUcsQ0FBQyxJQUFFNkksQ0FBQyxJQUFFLENBQUMsQ0FBQztRQUFBLENBQUUsQ0FBQyxFQUFDaEosQ0FBQyxJQUFFZ0osQ0FBQztRQUFDLE1BQU03SSxDQUFDLEdBQUNILENBQUMsR0FBQzJELENBQUMsR0FBQzNELENBQUMsR0FBQzJELENBQUMsR0FBQyxDQUFDO1FBQUNxQyxDQUFDLEdBQUNBLENBQUMsQ0FBQ3hCLEdBQUcsQ0FBRXhFLENBQUMsSUFBRUEsQ0FBQyxJQUFFLENBQUMsR0FBQyxDQUFDNEgsQ0FBQyxHQUFDNUgsQ0FBQyxHQUFDRyxDQUFDLEdBQUNBLENBQUMsR0FBQzhILENBQUMsR0FBQ2pJLENBQUUsQ0FBQztNQUFBO01BQUMsSUFBR0ksQ0FBQyxDQUFDeVEsd0JBQXdCLEVBQUM7UUFBQyxJQUFJN1EsQ0FBQyxHQUFDLENBQUM7UUFBQ3lILENBQUMsQ0FBQy9HLE9BQU8sQ0FBRVAsQ0FBQyxJQUFFO1VBQUNILENBQUMsSUFBRUcsQ0FBQyxJQUFFNkksQ0FBQyxJQUFFLENBQUMsQ0FBQztRQUFBLENBQUUsQ0FBQyxFQUFDaEosQ0FBQyxJQUFFZ0osQ0FBQztRQUFDLE1BQU03SSxDQUFDLEdBQUMsQ0FBQ0MsQ0FBQyxDQUFDOE8sa0JBQWtCLElBQUUsQ0FBQyxLQUFHOU8sQ0FBQyxDQUFDK08saUJBQWlCLElBQUUsQ0FBQyxDQUFDO1FBQUMsSUFBR25QLENBQUMsR0FBQ0csQ0FBQyxHQUFDd0QsQ0FBQyxFQUFDO1VBQUMsTUFBTXZELENBQUMsR0FBQyxDQUFDdUQsQ0FBQyxHQUFDM0QsQ0FBQyxHQUFDRyxDQUFDLElBQUUsQ0FBQztVQUFDNkYsQ0FBQyxDQUFDdEYsT0FBTyxDQUFFLENBQUNWLENBQUMsRUFBQ0csQ0FBQyxLQUFHO1lBQUM2RixDQUFDLENBQUM3RixDQUFDLENBQUMsR0FBQ0gsQ0FBQyxHQUFDSSxDQUFDO1VBQUEsQ0FBRSxDQUFDLEVBQUM4RyxDQUFDLENBQUN4RyxPQUFPLENBQUUsQ0FBQ1YsQ0FBQyxFQUFDRyxDQUFDLEtBQUc7WUFBQytHLENBQUMsQ0FBQy9HLENBQUMsQ0FBQyxHQUFDSCxDQUFDLEdBQUNJLENBQUM7VUFBQSxDQUFFLENBQUM7UUFBQTtNQUFDO01BQUMsSUFBR0YsTUFBTSxDQUFDdU8sTUFBTSxDQUFDek8sQ0FBQyxFQUFDO1FBQUNrTixNQUFNLEVBQUMvSCxDQUFDO1FBQUNpSyxRQUFRLEVBQUNwSixDQUFDO1FBQUNxSixVQUFVLEVBQUNuSSxDQUFDO1FBQUM0SixlQUFlLEVBQUNySjtNQUFDLENBQUMsQ0FBQyxFQUFDckgsQ0FBQyxDQUFDd1AsY0FBYyxJQUFFeFAsQ0FBQyxDQUFDeVAsT0FBTyxJQUFFLENBQUN6UCxDQUFDLENBQUN3USxvQkFBb0IsRUFBQztRQUFDOUssQ0FBQyxDQUFDekYsQ0FBQyxFQUFDLGlDQUFpQyxFQUFDLENBQUMyRixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUNGLENBQUMsQ0FBQ3pGLENBQUMsRUFBQyxnQ0FBZ0MsRUFBQ0wsQ0FBQyxDQUFDME8sSUFBSSxHQUFDLENBQUMsR0FBQ2pILENBQUMsQ0FBQ0EsQ0FBQyxDQUFDOUcsTUFBTSxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUM7UUFBQyxNQUFNUixDQUFDLEdBQUMsQ0FBQ0gsQ0FBQyxDQUFDb1AsUUFBUSxDQUFDLENBQUMsQ0FBQztVQUFDaFAsQ0FBQyxHQUFDLENBQUNKLENBQUMsQ0FBQ3FQLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFBQ3JQLENBQUMsQ0FBQ29QLFFBQVEsR0FBQ3BQLENBQUMsQ0FBQ29QLFFBQVEsQ0FBQzVLLEdBQUcsQ0FBRXhFLENBQUMsSUFBRUEsQ0FBQyxHQUFDRyxDQUFFLENBQUMsRUFBQ0gsQ0FBQyxDQUFDcVAsVUFBVSxHQUFDclAsQ0FBQyxDQUFDcVAsVUFBVSxDQUFDN0ssR0FBRyxDQUFFeEUsQ0FBQyxJQUFFQSxDQUFDLEdBQUNJLENBQUUsQ0FBQztNQUFBO01BQUMsSUFBR21GLENBQUMsS0FBR3BCLENBQUMsSUFBRW5FLENBQUMsQ0FBQ21NLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFDbkcsQ0FBQyxDQUFDckYsTUFBTSxLQUFHaUksQ0FBQyxLQUFHNUksQ0FBQyxDQUFDcUcsTUFBTSxDQUFDMEssYUFBYSxJQUFFL1EsQ0FBQyxDQUFDZ1IsYUFBYSxDQUFDLENBQUMsRUFBQ2hSLENBQUMsQ0FBQ21NLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUNqRixDQUFDLENBQUN2RyxNQUFNLEtBQUdtSSxDQUFDLElBQUU5SSxDQUFDLENBQUNtTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBQy9MLENBQUMsQ0FBQzZRLG1CQUFtQixJQUFFalIsQ0FBQyxDQUFDa1Isa0JBQWtCLENBQUMsQ0FBQyxFQUFDbFIsQ0FBQyxDQUFDbU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFDLEVBQUVsSSxDQUFDLElBQUU3RCxDQUFDLENBQUN5UCxPQUFPLElBQUUsT0FBTyxLQUFHelAsQ0FBQyxDQUFDbVEsTUFBTSxJQUFFLE1BQU0sS0FBR25RLENBQUMsQ0FBQ21RLE1BQU0sQ0FBQyxFQUFDO1FBQUMsTUFBTXBRLENBQUMsR0FBRSxHQUFFQyxDQUFDLENBQUMrUSxzQkFBdUIsaUJBQWdCO1VBQUM5USxDQUFDLEdBQUNMLENBQUMsQ0FBQ2tPLEVBQUUsQ0FBQ3JHLFNBQVMsQ0FBQzRFLFFBQVEsQ0FBQ3RNLENBQUMsQ0FBQztRQUFDb0YsQ0FBQyxJQUFFbkYsQ0FBQyxDQUFDZ1IsdUJBQXVCLEdBQUMvUSxDQUFDLElBQUVMLENBQUMsQ0FBQ2tPLEVBQUUsQ0FBQ3JHLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDM0gsQ0FBQyxDQUFDLEdBQUNFLENBQUMsSUFBRUwsQ0FBQyxDQUFDa08sRUFBRSxDQUFDckcsU0FBUyxDQUFDNkUsTUFBTSxDQUFDdk0sQ0FBQyxDQUFDO01BQUE7SUFBQyxDQUFDO0lBQUNrUixnQkFBZ0IsRU
5043FBQyxTQUFBQSxDQUFTclIsQ0FBQyxFQUFDO01BQUMsTUFBTUcsQ0FBQyxHQUFDLElBQUk7UUFBQ0MsQ0FBQyxHQUFDLEVBQUU7UUFBQ0MsQ0FBQyxHQUFDRixDQUFDLENBQUM2TyxPQUFPLElBQUU3TyxDQUFDLENBQUNrRyxNQUFNLENBQUMySSxPQUFPLENBQUNDLE9BQU87TUFBQyxJQUFJM08sQ0FBQztRQUFDcUQsQ0FBQyxHQUFDLENBQUM7TUFBQyxRQUFRLElBQUUsT0FBTzNELENBQUMsR0FBQ0csQ0FBQyxDQUFDbVIsYUFBYSxDQUFDdFIsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUdBLENBQUMsSUFBRUcsQ0FBQyxDQUFDbVIsYUFBYSxDQUFDblIsQ0FBQyxDQUFDa0csTUFBTSxDQUFDQyxLQUFLLENBQUM7TUFBQyxNQUFNekMsQ0FBQyxHQUFDN0QsQ0FBQyxJQUFFSyxDQUFDLEdBQUNGLENBQUMsQ0FBQytNLE1BQU0sQ0FBQy9NLENBQUMsQ0FBQ29SLG1CQUFtQixDQUFDdlIsQ0FBQyxDQUFDLENBQUMsR0FBQ0csQ0FBQyxDQUFDK00sTUFBTSxDQUFDbE4sQ0FBQyxDQUFDO01BQUMsSUFBRyxNQUFNLEtBQUdHLENBQUMsQ0FBQ2tHLE1BQU0sQ0FBQ2lILGFBQWEsSUFBRW5OLENBQUMsQ0FBQ2tHLE1BQU0sQ0FBQ2lILGFBQWEsR0FBQyxDQUFDO1FBQUMsSUFBR25OLENBQUMsQ0FBQ2tHLE1BQU0sQ0FBQ3VKLGNBQWMsRUFBQyxDQUFDelAsQ0FBQyxDQUFDcVIsYUFBYSxJQUFFLEVBQUUsRUFBRTlRLE9BQU8sQ0FBRVYsQ0FBQyxJQUFFO1VBQUNJLENBQUMsQ0FBQ2tILElBQUksQ0FBQ3RILENBQUMsQ0FBQztRQUFBLENBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSU0sQ0FBQyxHQUFDLENBQUMsRUFBQ0EsQ0FBQyxHQUFDcUcsSUFBSSxDQUFDNkcsSUFBSSxDQUFDck4sQ0FBQyxDQUFDa0csTUFBTSxDQUFDaUgsYUFBYSxDQUFDLEVBQUNoTixDQUFDLElBQUUsQ0FBQyxFQUFDO1VBQUMsTUFBTU4sQ0FBQyxHQUFDRyxDQUFDLENBQUNzTixXQUFXLEdBQUNuTixDQUFDO1VBQUMsSUFBR04sQ0FBQyxHQUFDRyxDQUFDLENBQUMrTSxNQUFNLENBQUN2TSxNQUFNLElBQUUsQ0FBQ04sQ0FBQyxFQUFDO1VBQU1ELENBQUMsQ0FBQ2tILElBQUksQ0FBQ3pELENBQUMsQ0FBQzdELENBQUMsQ0FBQyxDQUFDO1FBQUE7TUFBQyxPQUFLSSxDQUFDLENBQUNrSCxJQUFJLENBQUN6RCxDQUFDLENBQUMxRCxDQUFDLENBQUNzTixXQUFXLENBQUMsQ0FBQztNQUFDLEtBQUluTixDQUFDLEdBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNGLENBQUMsQ0FBQ08sTUFBTSxFQUFDTCxDQUFDLElBQUUsQ0FBQyxFQUFDLElBQUcsS0FBSyxDQUFDLEtBQUdGLENBQUMsQ0FBQ0UsQ0FBQyxDQUFDLEVBQUM7UUFBQyxNQUFNTixDQUFDLEdBQUNJLENBQUMsQ0FBQ0UsQ0FBQyxDQUFDLENBQUNtUixZQUFZO1FBQUM5TixDQUFDLEdBQUMzRCxDQUFDLEdBQUMyRCxDQUFDLEdBQUMzRCxDQUFDLEdBQUMyRCxDQUFDO01BQUE7TUFBQyxDQUFDQSxDQUFDLElBQUUsQ0FBQyxLQUFHQSxDQUFDLE1BQUl4RCxDQUFDLENBQUNvRyxTQUFTLENBQUM3RSxLQUFLLENBQUNpSixNQUFNLEdBQUUsR0FBRWhILENBQUUsSUFBRyxDQUFDO0lBQUEsQ0FBQztJQUFDdU4sa0JBQWtCLEVBQUMsU0FBQUEsQ0FBQSxFQUFVO01BQUMsTUFBTWxSLENBQUMsR0FBQyxJQUFJO1FBQUNHLENBQUMsR0FBQ0gsQ0FBQyxDQUFDa04sTUFBTTtRQUFDOU0sQ0FBQyxHQUFDSixDQUFDLENBQUM4TSxTQUFTLEdBQUM5TSxDQUFDLENBQUNxTyxZQUFZLENBQUMsQ0FBQyxHQUFDck8sQ0FBQyxDQUFDdUcsU0FBUyxDQUFDbUwsVUFBVSxHQUFDMVIsQ0FBQyxDQUFDdUcsU0FBUyxDQUFDb0wsU0FBUyxHQUFDLENBQUM7TUFBQyxLQUFJLElBQUl0UixDQUFDLEdBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNGLENBQUMsQ0FBQ1EsTUFBTSxFQUFDTixDQUFDLElBQUUsQ0FBQyxFQUFDRixDQUFDLENBQUNFLENBQUMsQ0FBQyxDQUFDdVIsaUJBQWlCLEdBQUMsQ0FBQzVSLENBQUMsQ0FBQ3FPLFlBQVksQ0FBQyxDQUFDLEdBQUNsTyxDQUFDLENBQUNFLENBQUMsQ0FBQyxDQUFDcVIsVUFBVSxHQUFDdlIsQ0FBQyxDQUFDRSxDQUFDLENBQUMsQ0FBQ3NSLFNBQVMsSUFBRXZSLENBQUMsR0FBQ0osQ0FBQyxDQUFDNlIscUJBQXFCLENBQUMsQ0FBQztJQUFBLENBQUM7SUFBQ0Msb0JBQW9CLEVBQUMsU0FBQUEsQ0FBUzlSLENBQUMsRUFBQztNQUFDLEtBQUssQ0FBQyxLQUFHQSxDQUFDLEtBQUdBLENBQUMsR0FBQyxJQUFJLElBQUUsSUFBSSxDQUFDb0csU0FBUyxJQUFFLENBQUMsQ0FBQztNQUFDLE1BQU1qRyxDQUFDLEdBQUMsSUFBSTtRQUFDQyxDQUFDLEdBQUNELENBQUMsQ0FBQ2tHLE1BQU07UUFBQztVQUFDNkcsTUFBTSxFQUFDN00sQ0FBQztVQUFDeU8sWUFBWSxFQUFDeE8sQ0FBQztVQUFDOE8sUUFBUSxFQUFDekw7UUFBQyxDQUFDLEdBQUN4RCxDQUFDO01BQUMsSUFBRyxDQUFDLEtBQUdFLENBQUMsQ0FBQ00sTUFBTSxFQUFDO01BQU8sS0FBSyxDQUFDLEtBQUdOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3VSLGlCQUFpQixJQUFFelIsQ0FBQyxDQUFDK1Esa0JBQWtCLENBQUMsQ0FBQztNQUFDLElBQUlyTixDQUFDLEdBQUMsQ0FBQzdELENBQUM7TUFBQ00sQ0FBQyxLQUFHdUQsQ0FBQyxHQUFDN0QsQ0FBQyxDQUFDLEVBQUNHLENBQUMsQ0FBQzRSLG9CQUFvQixHQUFDLEVBQUUsRUFBQzVSLENBQUMsQ0FBQ3FSLGFBQWEsR0FBQyxFQUFFO01BQUMsSUFBSXhOLENBQUMsR0FBQzVELENBQUMsQ0FBQ2tQLFlBQVk7TUFBQyxRQUFRLElBQUUsT0FBT3RMLENBQUMsSUFBRUEsQ0FBQyxDQUFDdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFFLENBQUMsR0FBQ3VELENBQUMsR0FBQ2lCLFVBQVUsQ0FBQ2pCLENBQUMsQ0FBQ1MsT0FBTyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQ3RFLENBQUMsQ0FBQ3VPLElBQUksR0FBQyxRQUFRLElBQUUsT0FBTzFLLENBQUMsS0FBR0EsQ0FBQyxHQUFDaUIsVUFBVSxDQUFDakIsQ0FBQyxDQUFDLENBQUM7TUFBQyxLQUFJLElBQUloRSxDQUFDLEdBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNLLENBQUMsQ0FBQ00sTUFBTSxFQUFDWCxDQUFDLElBQUUsQ0FBQyxFQUFDO1FBQUMsTUFBTWlFLENBQUMsR0FBQzVELENBQUMsQ0FBQ0wsQ0FBQyxDQUFDO1FBQUMsSUFBSW1FLENBQUMsR0FBQ0YsQ0FBQyxDQUFDMk4saUJBQWlCO1FBQUN4UixDQUFDLENBQUN5UCxPQUFPLElBQUV6UCxDQUFDLENBQUN3UCxjQUFjLEtBQUd6TCxDQUFDLElBQUU5RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUN1UixpQkFBaUIsQ0FBQztRQUFDLE1BQU16TSxDQUFDLEdBQUMsQ0FBQ3RCLENBQUMsSUFBRXpELENBQUMsQ0FBQ3dQLGNBQWMsR0FBQ3pQLENBQUMsQ0FBQzZSLFlBQVksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUM3TixDQUFDLEtBQUdGLENBQUMsQ0FBQ21NLGVBQWUsR0FBQ3BNLENBQUMsQ0FBQztVQUFDdUIsQ0FBQyxHQUFDLENBQUMxQixDQUFDLEdBQUNGLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRXZELENBQUMsQ0FBQ3dQLGNBQWMsR0FBQ3pQLENBQUMsQ0FBQzZSLFlBQVksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUM3TixDQUFDLEtBQUdGLENBQUMsQ0FBQ21NLGVBQWUsR0FBQ3BNLENBQUMsQ0FBQztVQUFDOEIsQ0FBQyxHQUFDLEVBQUVqQyxDQUFDLEdBQUNNLENBQUMsQ0FBQztVQUFDNkIsQ0FBQyxHQUFDRixDQUFDLEdBQUMzRixDQUFDLENBQUMyUSxlQUFlLENBQUM5USxDQUFDLENBQUM7VUFBQ2tILENBQUMsR0FBQ3BCLENBQUMsSUFBRSxDQUFDLElBQUVBLENBQUMsSUFBRTNGLENBQUMsQ0FBQ3VPLElBQUksR0FBQ3ZPLENBQUMsQ0FBQzJRLGVBQWUsQ0FBQzlRLENBQUMsQ0FBQztVQUFDb0gsQ0FBQyxHQUFDdEIsQ0FBQyxJQUFFLENBQUMsSUFBRUEsQ0FBQyxHQUFDM0YsQ0FBQyxDQUFDdU8sSUFBSSxHQUFDLENBQUMsSUFBRTFJLENBQUMsR0FBQyxDQUFDLElBQUVBLENBQUMsSUFBRTdGLENBQUMsQ0FBQ3VPLElBQUksSUFBRTVJLENBQUMsSUFBRSxDQUFDLElBQUVFLENBQUMsSUFBRTdGLENBQUMsQ0FBQ3VPLElBQUk7UUFBQ3RILENBQUMsS0FBR2pILENBQUMsQ0FBQ3FSLGFBQWEsQ0FBQ2xLLElBQUksQ0FBQ3JELENBQUMsQ0FBQyxFQUFDOUQsQ0FBQyxDQUFDNFIsb0JBQW9CLENBQUN6SyxJQUFJLENBQUN0SCxDQUFDLENBQUMsQ0FBQyxFQUFDd00sQ0FBQyxDQUFDdkksQ0FBQyxFQUFDbUQsQ0FBQyxFQUFDaEgsQ0FBQyxDQUFDNlIsaUJBQWlCLENBQUMsRUFBQ3pGLENBQUMsQ0FBQ3ZJLENBQUMsRUFBQ2lELENBQUMsRUFBQzlHLENBQUMsQ0FBQzhSLHNCQUFzQixDQUFDLEVBQUNqTyxDQUFDLENBQUNrTyxRQUFRLEdBQUM3UixDQUFDLEdBQUMsQ0FBQzZFLENBQUMsR0FBQ0EsQ0FBQyxFQUFDbEIsQ0FBQyxDQUFDbU8sZ0JBQWdCLEdBQUM5UixDQUFDLEdBQUMsQ0FBQ2lGLENBQUMsR0FBQ0EsQ0FBQztNQUFBO0lBQUMsQ0FBQztJQUFDOE0sY0FBYyxFQUFDLFNBQUFBLENBQVNyUyxDQUFDLEVBQUM7TUFBQyxNQUFNRyxDQUFDLEdBQUMsSUFBSTtNQUFDLElBQUcsS0FBSyxDQUFDLEtBQUdILENBQUMsRUFBQztRQUFDLE1BQU1JLENBQUMsR0FBQ0QsQ0FBQyxDQUFDMk8sWUFBWSxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUM7UUFBQzlPLENBQUMsR0FBQ0csQ0FBQyxJQUFFQSxDQUFDLENBQUNpRyxTQUFTLElBQUVqRyxDQUFDLENBQUNpRyxTQUFTLEdBQUNoRyxDQUFDLElBQUUsQ0FBQztNQUFBO01BQUMsTUFBTUEsQ0FBQyxHQUFDRCxDQUFDLENBQUNrRyxNQUFNO1FBQUNoRyxDQUFDLEdBQUNGLENBQUMsQ0FBQ21TLFlBQVksQ0FBQyxDQUFDLEdBQUNuUyxDQUFDLENBQUM2UixZQUFZLENBQUMsQ0FBQztNQUFDLElBQUc7UUFBQ0csUUFBUSxFQUFDN1IsQ0FBQztRQUFDaVMsV0FBVyxFQUFDNU8sQ0FBQztRQUFDNk8sS0FBSyxFQUFDM08sQ0FBQztRQUFDNE8sWUFBWSxFQUFDek87TUFBQyxDQUFDLEdBQUM3RCxDQUFDO01BQUMsTUFBTThELENBQUMsR0FBQ04sQ0FBQztRQUFDUSxDQUFDLEdBQUNOLENBQUM7T
5043UFBQyxJQUFHLENBQUMsS0FBR3hELENBQUMsRUFBQ0MsQ0FBQyxHQUFDLENBQUMsRUFBQ3FELENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQ0UsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUk7UUFBQ3ZELENBQUMsR0FBQyxDQUFDTixDQUFDLEdBQUNHLENBQUMsQ0FBQzZSLFlBQVksQ0FBQyxDQUFDLElBQUUzUixDQUFDO1FBQUMsTUFBTUQsQ0FBQyxHQUFDdUcsSUFBSSxDQUFDMkMsR0FBRyxDQUFDdEosQ0FBQyxHQUFDRyxDQUFDLENBQUM2UixZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQztVQUFDaE8sQ0FBQyxHQUFDMkMsSUFBSSxDQUFDMkMsR0FBRyxDQUFDdEosQ0FBQyxHQUFDRyxDQUFDLENBQUNtUyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQztRQUFDM08sQ0FBQyxHQUFDdkQsQ0FBQyxJQUFFRSxDQUFDLElBQUUsQ0FBQyxFQUFDdUQsQ0FBQyxHQUFDRyxDQUFDLElBQUUxRCxDQUFDLElBQUUsQ0FBQyxFQUFDRixDQUFDLEtBQUdFLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQzBELENBQUMsS0FBRzFELENBQUMsR0FBQyxDQUFDLENBQUM7TUFBQTtNQUFDLElBQUdGLENBQUMsQ0FBQzJOLElBQUksRUFBQztRQUFDLE1BQU0zTixDQUFDLEdBQUNELENBQUMsQ0FBQ29SLG1CQUFtQixDQUFDLENBQUMsQ0FBQztVQUFDbFIsQ0FBQyxHQUFDRixDQUFDLENBQUNvUixtQkFBbUIsQ0FBQ3BSLENBQUMsQ0FBQytNLE1BQU0sQ0FBQ3ZNLE1BQU0sR0FBQyxDQUFDLENBQUM7VUFBQ0wsQ0FBQyxHQUFDSCxDQUFDLENBQUNrUCxVQUFVLENBQUNqUCxDQUFDLENBQUM7VUFBQ3VELENBQUMsR0FBQ3hELENBQUMsQ0FBQ2tQLFVBQVUsQ0FBQ2hQLENBQUMsQ0FBQztVQUFDd0QsQ0FBQyxHQUFDMUQsQ0FBQyxDQUFDa1AsVUFBVSxDQUFDbFAsQ0FBQyxDQUFDa1AsVUFBVSxDQUFDMU8sTUFBTSxHQUFDLENBQUMsQ0FBQztVQUFDc0QsQ0FBQyxHQUFDMEMsSUFBSSxDQUFDMkMsR0FBRyxDQUFDdEosQ0FBQyxDQUFDO1FBQUNnRSxDQUFDLEdBQUNDLENBQUMsSUFBRTNELENBQUMsR0FBQyxDQUFDMkQsQ0FBQyxHQUFDM0QsQ0FBQyxJQUFFdUQsQ0FBQyxHQUFDLENBQUNJLENBQUMsR0FBQ0osQ0FBQyxHQUFDRixDQUFDLElBQUVFLENBQUMsRUFBQ0csQ0FBQyxHQUFDLENBQUMsS0FBR0EsQ0FBQyxJQUFFLENBQUMsQ0FBQztNQUFBO01BQUM5RCxNQUFNLENBQUN1TyxNQUFNLENBQUN0TyxDQUFDLEVBQUM7UUFBQ2dTLFFBQVEsRUFBQzdSLENBQUM7UUFBQ21TLFlBQVksRUFBQ3pPLENBQUM7UUFBQ3VPLFdBQVcsRUFBQzVPLENBQUM7UUFBQzZPLEtBQUssRUFBQzNPO01BQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQ3pELENBQUMsQ0FBQzZRLG1CQUFtQixJQUFFN1EsQ0FBQyxDQUFDd1AsY0FBYyxJQUFFeFAsQ0FBQyxDQUFDc1MsVUFBVSxLQUFHdlMsQ0FBQyxDQUFDMlIsb0JBQW9CLENBQUM5UixDQUFDLENBQUMsRUFBQzJELENBQUMsSUFBRSxDQUFDT
5043SxDQUFDLElBQUU5RCxDQUFDLENBQUNnTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBQ3RJLENBQUMsSUFBRSxDQUFDTSxDQUFDLElBQUVoRSxDQUFDLENBQUNnTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBQyxDQUFDbEksQ0FBQyxJQUFFLENBQUNOLENBQUMsSUFBRVEsQ0FBQyxJQUFFLENBQUNOLENBQUMsS0FBRzFELENBQUMsQ0FBQ2dNLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBQ2hNLENBQUMsQ0FBQ2dNLElBQUksQ0FBQyxVQUFVLEVBQUM3TCxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQUNxUyxtQkFBbUIsRUFBQyxTQUFBQSxDQUFBLEVBQVU7TUFBQyxNQUFNM1MsQ0FBQyxHQUFDLElBQUk7UUFBQztVQUFDa04sTUFBTSxFQUFDL00sQ0FBQztVQUFDa0csTUFBTSxFQUFDakcsQ0FBQztVQUFDeU8sUUFBUSxFQUFDeE8sQ0FBQztVQUFDb04sV0FBVyxFQUFDbk47UUFBQyxDQUFDLEdBQUNOLENBQUM7UUFBQzJELENBQUMsR0FBQzNELENBQUMsQ0FBQ2dQLE9BQU8sSUFBRTVPLENBQUMsQ0FBQzRPLE9BQU8sQ0FBQ0MsT0FBTztRQUFDcEwsQ0FBQyxHQUFDN0QsQ0FBQyxDQUFDME4sSUFBSSxJQUFFdE4sQ0FBQyxDQUFDc04sSUFBSSxJQUFFdE4sQ0FBQyxDQUFDc04sSUFBSSxDQUFDQyxJQUFJLEdBQUMsQ0FBQztRQUFDM0osQ0FBQyxHQUFDaEUsQ0FBQyxJQUFFb0gsQ0FBQyxDQUFDL0csQ0FBQyxFQUFFLElBQUdELENBQUMsQ0FBQzJNLFVBQVcsR0FBRS9NLENBQUUsaUJBQWdCQSxDQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUFDLElBQUlpRSxDQUFDLEVBQUNFLENBQUMsRUFBQ2dCLENBQUM7TUFBQyxJQUFHeEIsQ0FBQztRQUFDLElBQUd2RCxDQUFDLENBQUMyTixJQUFJLEVBQUM7VUFBQyxJQUFJNU4sQ0FBQyxHQUFDRyxDQUFDLEdBQUNOLENBQUMsQ0FBQ2dQLE9BQU8sQ0FBQzBCLFlBQVk7VUFBQ3ZRLENBQUMsR0FBQyxDQUFDLEtBQUdBLENBQUMsR0FBQ0gsQ0FBQyxDQUFDZ1AsT0FBTyxDQUFDOUIsTUFBTSxDQUFDdk0sTUFBTSxHQUFDUixDQUFDLENBQUMsRUFBQ0EsQ0FBQyxJQUFFSCxDQUFDLENBQUNnUCxPQUFPLENBQUM5QixNQUFNLENBQUN2TSxNQUFNLEtBQUdSLENBQUMsSUFBRUgsQ0FBQyxDQUFDZ1AsT0FBTyxDQUFDOUIsTUFBTSxDQUFDdk0sTUFBTSxDQUFDLEVBQUNzRCxDQUFDLEdBQUNELENBQUMsQ0FBRSw2QkFBNEI3RCxDQUFFLElBQUcsQ0FBQztRQUFBLENBQUMsTUFBSzhELENBQUMsR0FBQ0QsQ0FBQyxDQUFFLDZCQUE0QjFELENBQUUsSUFBRyxDQUFDO01BQUMsT0FBS3VELENBQUMsSUFBRUksQ0FBQyxHQUFDOUQsQ0FBQyxDQUFDeVMsSUFBSSxDQUFFNVMsQ0FBQyxJQUFFQSxDQUFDLENBQUM2TixNQUFNLEtBQUd2TixDQUFFLENBQUMsRUFBQzZFLENBQUMsR0FBQ2hGLENBQUMsQ0FBQ3lTLElBQUksQ0FBRTVTLENBQUMsSUFBRUEsQ0FBQyxDQUFDNk4sTUFBTSxLQUFHdk4sQ0FBQyxHQUFDLENBQUUsQ0FBQyxFQUFDNkQsQ0FBQyxHQUFDaEUsQ0FBQyxDQUFDeVMsSUFBSSxDQUFFNVMsQ0FBQyxJQUFFQSxDQUFDLENBQUM2TixNQUFNLEtBQUd2TixDQUFDLEdBQUMsQ0FBRSxDQUFDLElBQUUyRCxDQUFDLEdBQUM5RCxDQUFDLENBQUNHLENBQUMsQ0FBQztNQUFDMkQsQ0FBQyxLQUFHSixDQUFDLEtBQUdzQixDQUFDLEdBQUMsVUFBU25GLENBQUMsRUFBQ0csQ0FBQyxFQUFDO1FBQUMsTUFBTUMsQ0FBQyxHQUFDLEVBQUU7UUFBQyxPQUFLSixDQUFDLENBQUM2UyxrQkFBa0IsR0FBRTtVQUFDLE1BQU14UyxDQUFDLEdBQUNMLENBQUMsQ0FBQzZTLGtCQUFrQjtVQUFDMVMsQ0FBQyxHQUFDRSxDQUFDLENBQUNtSCxPQUFPLENBQUNySCxDQUFDLENBQUMsSUFBRUMsQ0FBQyxDQUFDa0gsSUFBSSxDQUFDakgsQ0FBQyxDQUFDLEdBQUNELENBQUMsQ0FBQ2tILElBQUksQ0FBQ2pILENBQUMsQ0FBQyxFQUFDTCxDQUFDLEdBQUNLLENBQUM7UUFBQTtRQUFDLE9BQU9ELENBQUM7TUFBQSxDQUFDLENBQUM2RCxDQUFDLEVBQUUsSUFBRzdELENBQUMsQ0FBQzJNLFVBQVcsZ0JBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDM00sQ0FBQyxDQUFDMk4sSUFBSSxJQUFFLENBQUM1SSxDQUFDLEtBQUdBLENBQUMsR0FBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDZ0UsQ0FBQyxHQUFDLFVBQVNuRSxDQUFDLEVBQUNHLENBQUMsRUFBQztRQUFDLE1BQU1DLENBQUMsR0FBQyxFQUFFO1FBQUMsT0FBS0osQ0FBQyxDQUFDOFMsc0JBQXNCLEdBQUU7VUFBQyxNQUFNelMsQ0FBQyxHQUFDTCxDQUFDLENBQUM4UyxzQkFBc0I7VUFBQzNTLENBQUMsR0FBQ0UsQ0FBQyxDQUFDbUgsT0FBTyxDQUFDckgsQ0FBQyxDQUFDLElBQUVDLENBQUMsQ0FBQ2tILElBQUksQ0FBQ2pILENBQUMsQ0FBQyxHQUFDRCxDQUFDLENBQUNrSCxJQUFJLENBQUNqSCxDQUFDLENBQUMsRUFBQ0wsQ0FBQyxHQUFDSyxDQUFDO1FBQUE7UUFBQyxPQUFPRCxDQUFDO01BQUEsQ0FBQyxDQUFDNkQsQ0FBQyxFQUFFLElBQUc3RCxDQUFDLENBQUMyTSxVQUFXLGdCQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQzNNLENBQUMsQ0FBQzJOLElBQUksSUFBRSxDQUFDLEtBQUcsQ0FBQzVKLENBQUMsS0FBR0EsQ0FBQyxHQUFDaEUsQ0FBQyxDQUFDQSxDQUFDLENBQUNRLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQ1IsQ0FBQyxDQUFDTyxPQUFPLENBQUVWLENBQUMsSUFBRTtRQUFDMk0sQ0FBQyxDQUFDM00sQ0FBQyxFQUFDQSxDQUFDLEtBQUdpRSxDQUFDLEVBQUM3RCxDQUFDLENBQUMyUyxnQkFBZ0IsQ0FBQyxFQUFDcEcsQ0FBQyxDQUFDM00sQ0FBQyxFQUFDQSxDQUFDLEtBQUdtRixDQUFDLEVBQUMvRSxDQUFDLENBQUM0UyxjQUFjLENBQUMsRUFBQ3JHLENBQUMsQ0FBQzNNLENBQUMsRUFBQ0EsQ0FBQyxLQUFHbUUsQ0FBQyxFQUFDL0QsQ0FBQyxDQUFDNlMsY0FBYyxDQUFDO01BQUEsQ0FBRSxDQUFDLEVBQUNqVCxDQUFDLENBQUNrVCxpQkFBaUIsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUFDQyxpQkFBaUIsRUFBQyxTQUFBQSxDQUFTblQsQ0FBQyxFQUFDO01BQUMsTUFBTUcsQ0FBQyxHQUFDLElBQUk7UUFBQ0MsQ0FBQyxHQUFDRCxDQUFDLENBQUMyTyxZQUFZLEdBQUMzTyxDQUFDLENBQUNpRyxTQUFTLEdBQUMsQ0FBQ2pHLENBQUMsQ0FBQ2lHLFNBQVM7UUFBQztVQUFDZ0osUUFBUSxFQUFDL08sQ0FBQztVQUFDZ0csTUFBTSxFQUFDL0YsQ0FBQztVQUFDbU4sV0FBVyxFQUFDOUosQ0FBQztVQUFDeVAsU0FBUyxFQUFDdlAsQ0FBQztVQUFDd1AsU0FBUyxFQUFDclA7UUFBQyxDQUFDLEdBQUM3RCxDQUFDO01BQUMsSUFBSThELENBQUM7UUFBQ0UsQ0FBQyxHQUFDbkUsQ0FBQztNQUFDLE1BQU1tRixDQUFDLEdBQUNuRixDQUFDLElBQUU7UUFBQyxJQUFJSSxDQUFDLEdBQUNKLENBQUMsR0FBQ0csQ0FBQyxDQUFDNk8sT0FBTyxDQUFDMEIsWUFBWTtRQUFDLE9BQU90USxDQUFDLEdBQUMsQ0FBQyxLQUFHQSxDQUFDLEdBQUNELENBQUMsQ0FBQzZPLE9BQU8sQ0FBQzlCLE1BQU0sQ0FBQ3ZNLE1BQU0sR0FBQ1AsQ0FBQyxDQUFDLEVBQUNBLENBQUMsSUFBRUQsQ0FBQyxDQUFDNk8sT0FBTyxDQUFDOUIsTUFBTSxDQUFDdk0sTUFBTSxLQUFHUCxDQUFDLElBQUVELENBQUMsQ0FBQzZPLE9BQU8sQ0FBQzlCLE1BQU0sQ0FBQ3ZNLE1BQU0sQ0FBQyxFQUFDUCxDQUFDO01BQUEsQ0FBQztNQUFDLElBQUcsS0FBSyxDQUFDLEtBQUcrRCxDQUFDLEtBQUdBLENBQUMsR0FBQyxVQUFTbkUsQ0FBQyxFQUFDO1F
5043BQUMsTUFBSztZQUFDcVAsVUFBVSxFQUFDbFAsQ0FBQztZQUFDa0csTUFBTSxFQUFDakc7VUFBQyxDQUFDLEdBQUNKLENBQUM7VUFBQ0ssQ0FBQyxHQUFDTCxDQUFDLENBQUM4TyxZQUFZLEdBQUM5TyxDQUFDLENBQUNvRyxTQUFTLEdBQUMsQ0FBQ3BHLENBQUMsQ0FBQ29HLFNBQVM7UUFBQyxJQUFJOUYsQ0FBQztRQUFDLEtBQUksSUFBSU4sQ0FBQyxHQUFDLENBQUMsRUFBQ0EsQ0FBQyxHQUFDRyxDQUFDLENBQUNRLE1BQU0sRUFBQ1gsQ0FBQyxJQUFFLENBQUMsRUFBQyxLQUFLLENBQUMsS0FBR0csQ0FBQyxDQUFDSCxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUNLLENBQUMsSUFBRUYsQ0FBQyxDQUFDSCxDQUFDLENBQUMsSUFBRUssQ0FBQyxHQUFDRixDQUFDLENBQUNILENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDRyxDQUFDLENBQUNILENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQ0csQ0FBQyxDQUFDSCxDQUFDLENBQUMsSUFBRSxDQUFDLEdBQUNNLENBQUMsR0FBQ04sQ0FBQyxHQUFDSyxDQUFDLElBQUVGLENBQUMsQ0FBQ0gsQ0FBQyxDQUFDLElBQUVLLENBQUMsR0FBQ0YsQ0FBQyxDQUFDSCxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUdNLENBQUMsR0FBQ04sQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDSyxDQUFDLElBQUVGLENBQUMsQ0FBQ0gsQ0FBQyxDQUFDLEtBQUdNLENBQUMsR0FBQ04sQ0FBQyxDQUFDO1FBQUMsT0FBT0ksQ0FBQyxDQUFDa1QsbUJBQW1CLEtBQUdoVCxDQUFDLEdBQUMsQ0FBQyxJQUFFLEtBQUssQ0FBQyxLQUFHQSxDQUFDLENBQUMsS0FBR0EsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDQSxDQUFDO01BQUEsQ0FBQyxDQUFDSCxDQUFDLENBQUMsQ0FBQyxFQUFDRSxDQUFDLENBQUNJLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLElBQUUsQ0FBQyxFQUFDNkQsQ0FBQyxHQUFDNUQsQ0FBQyxDQUFDSSxPQUFPLENBQUNMLENBQUMsQ0FBQyxDQUFDLEtBQUk7UUFBQyxNQUFNSixDQUFDLEdBQUMyRyxJQUFJLENBQUNFLEdBQUcsQ0FBQ3ZHLENBQUMsQ0FBQ2dRLGtCQUFrQixFQUFDbk0sQ0FBQyxDQUFDO1FBQUNGLENBQUMsR0FBQ2pFLENBQUMsR0FBQzJHLElBQUksQ0FBQ3dKLEtBQUssQ0FBQyxDQUFDaE0sQ0FBQyxHQUFDbkUsQ0FBQyxJQUFFTSxDQUFDLENBQUMrUCxjQUFjLENBQUM7TUFBQTtNQUFDLElBQUdwTSxDQUFDLElBQUU1RCxDQUFDLENBQUNNLE1BQU0sS0FBR3NELENBQUMsR0FBQzVELENBQUMsQ0FBQ00sTUFBTSxHQUFDLENBQUMsQ0FBQyxFQUFDd0QsQ0FBQyxLQUFHUixDQUFDLElBQUUsQ0FBQ3hELENBQUMsQ0FBQ2tHLE1BQU0sQ0FBQzBILElBQUksRUFBQyxPQUFPLE1BQUs5SixDQUFDLEtBQUdELENBQUMsS0FBRzdELENBQUMsQ0FBQ2tULFNBQVMsR0FBQ3BQLENBQUMsRUFBQzlELENBQUMsQ0FBQ2dNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7TUFBQyxJQUFHaEksQ0FBQyxLQUFHUixDQUFDLElBQUV4RCxDQUFDLENBQUNrRyxNQUFNLENBQUMwSCxJQUFJLElBQUU1TixDQUFDLENBQUM2TyxPQUFPLElBQUU3TyxDQUFDLENBQUNrRyxNQUFNLENBQUMySSxPQUFPLENBQUNDLE9BQU8sRUFBQyxPQUFPLE1BQUs5TyxDQUFDLENBQUNpVCxTQUFTLEdBQUNqTyxDQUFDLENBQUNoQixDQUFDLENBQUMsQ0FBQztNQUFDLE1BQU1vQixDQUFDLEdBQUNwRixDQUFDLENBQUN1TixJQUFJLElBQUVwTixDQUFDLENBQUNvTixJQUFJLElBQUVwTixDQUFDLENBQUNvTixJQUFJLENBQUNDLElBQUksR0FBQyxDQUFDO01BQUMsSUFBSTdILENBQUM7TUFBQyxJQUFHM0YsQ0FBQyxDQUFDNk8sT0FBTyxJQUFFMU8sQ0FBQyxDQUFDME8sT0FBTyxDQUFDQyxPQUFPLElBQUUzTyxDQUFDLENBQUN5TixJQUFJLEVBQUNqSSxDQUFDLEdBQUNYLENBQUMsQ0FBQ2hCLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBR29CLENBQUMsRUFBQztRQUFDLE1BQU12RixDQUFDLEdBQUNHLENBQUMsQ0FBQytNLE1BQU0sQ0FBQzBGLElBQUksQ0FBRTVTLENBQUMsSUFBRUEsQ0FBQyxDQUFDNk4sTUFBTSxLQUFHMUosQ0FBRSxDQUFDO1FBQUMsSUFBSS9ELENBQUMsR0FBQ21PLFFBQVEsQ0FBQ3ZPLENBQUMsQ0FBQ3VULFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDLEVBQUUsQ0FBQztRQUFDckksTUFBTSxDQUFDc0QsS0FBSyxDQUFDcE8sQ0FBQyxDQUFDLEtBQUdBLENBQUMsR0FBQ3VHLElBQUksQ0FBQ0MsR0FBRyxDQUFDekcsQ0FBQyxDQUFDK00sTUFBTSxDQUFDek0sT0FBTyxDQUFDVCxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDOEYsQ0FBQyxHQUFDYSxJQUFJLENBQUN3SixLQUFLLENBQUMvUCxDQUFDLEdBQUNFLENBQUMsQ0FBQ29OLElBQUksQ0FBQ0MsSUFBSSxDQUFDO01BQUEsQ0FBQyxNQUFLLElBQUd4TixDQUFDLENBQUMrTSxNQUFNLENBQUMvSSxDQUFDLENBQUMsRUFBQztRQUFDLE1BQU1uRSxDQUFDLEdBQUNHLENBQUMsQ0FBQytNLE1BQU0sQ0FBQy9JLENBQUMsQ0FBQyxDQUFDb1AsWUFBWSxDQUFDLHlCQUF5QixDQUFDO1FBQUN6TixDQUFDLEdBQUM5RixDQUFDLEdBQUN1TyxRQUFRLENBQUN2TyxDQUFDLEVBQUMsRUFBRSxDQUFDLEdBQUNtRSxDQUFDO01BQUEsQ0FBQyxNQUFLMkIsQ0FBQyxHQUFDM0IsQ0FBQztNQUFDakUsTUFBTSxDQUFDdU8sTUFBTSxDQUFDdE8sQ0FBQyxFQUFDO1FBQUNxVCxpQkFBaUIsRUFBQ3hQLENBQUM7UUFBQ3FQLFNBQVMsRUFBQ3BQLENBQUM7UUFBQ3dQLGlCQUFpQixFQUFDNVAsQ0FBQztRQUFDdVAsU0FBUyxFQUFDdE4sQ0FBQztRQUFDNE4sYUFBYSxFQUFDL1AsQ0FBQztRQUFDOEosV0FBVyxFQUFDdEo7TUFBQyxDQUFDLENBQUMsRUFBQ2hFLENBQUMsQ0FBQ3dULFdBQVcsSUFBRXZHLENBQUMsQ0FBQ2pOLENBQUMsQ0FBQyxFQUFDQSxDQUFDLENBQUNnTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBQ2hNLENBQUMsQ0FBQ2dNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLENBQUNoTSxDQUFDLENBQUN3VCxXQUFXLElBQUV4VCxDQUFDLENBQUNrRyxNQUFNLENBQUN1TixrQkFBa0IsTUFBSS9QLENBQUMsS0FBR2lDLENBQUMsSUFBRTNGLENBQUMsQ0FBQ2dNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDaE0sQ0FBQyxDQUFDZ00sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUFDMEgsa0JBQWtCLEVBQUMsU0FBQUEsQ0FBUzdULENBQUMsRUFBQ0csQ0FBQyxFQUFDO01BQUMsTUFBTUMsQ0FBQyxHQUFDLElBQUk7UUFBQ0MsQ0FBQyxHQUFDRCxDQUFDLENBQUNpRyxNQUFNO01BQUMsSUFBSS9GLENBQUMsR0FBQ04sQ0FBQyxDQUFDNk0sT0FBTyxDQUFFLElBQUd4TSxDQUFDLENBQUMwTSxVQUFXLGdCQUFlLENBQUM7T
5043UFBQyxDQUFDek0sQ0FBQyxJQUFFRixDQUFDLENBQUMwTSxTQUFTLElBQUUzTSxDQUFDLElBQUVBLENBQUMsQ0FBQ1EsTUFBTSxHQUFDLENBQUMsSUFBRVIsQ0FBQyxDQUFDOEssUUFBUSxDQUFDakwsQ0FBQyxDQUFDLElBQUUsQ0FBQyxHQUFHRyxDQUFDLENBQUNtRixLQUFLLENBQUNuRixDQUFDLENBQUNNLE9BQU8sQ0FBQ1QsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDRyxDQUFDLENBQUNRLE1BQU0sQ0FBQyxDQUFDLENBQUNELE9BQU8sQ0FBRVYsQ0FBQyxJQUFFO1FBQUMsQ0FBQ00sQ0FBQyxJQUFFTixDQUFDLENBQUN3SCxPQUFPLElBQUV4SCxDQUFDLENBQUN3SCxPQUFPLENBQUUsSUFBR25ILENBQUMsQ0FBQzBNLFVBQVcsZ0JBQWUsQ0FBQyxLQUFHek0sQ0FBQyxHQUFDTixDQUFDLENBQUM7TUFBQSxDQUFFLENBQUM7TUFBQyxJQUFJMkQsQ0FBQztRQUFDRSxDQUFDLEdBQUMsQ0FBQyxDQUFDO01BQUMsSUFBR3ZELENBQUMsRUFBQyxLQUFJLElBQUlOLENBQUMsR0FBQyxDQUFDLEVBQUNBLENBQUMsR0FBQ0ksQ0FBQyxDQUFDOE0sTUFBTSxDQUFDdk0sTUFBTSxFQUFDWCxDQUFDLElBQUUsQ0FBQyxFQUFDLElBQUdJLENBQUMsQ0FBQzhNLE1BQU0sQ0FBQ2xOLENBQUMsQ0FBQyxLQUFHTSxDQUFDLEVBQUM7UUFBQ3VELENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQ0YsQ0FBQyxHQUFDM0QsQ0FBQztRQUFDO01BQUs7TUFBQyxJQUFHLENBQUNNLENBQUMsSUFBRSxDQUFDdUQsQ0FBQyxFQUFDLE9BQU96RCxDQUFDLENBQUMwVCxZQUFZLEdBQUMsS0FBSyxDQUFDLEVBQUMsTUFBSzFULENBQUMsQ0FBQzJULFlBQVksR0FBQyxLQUFLLENBQUMsQ0FBQztNQUFDM1QsQ0FBQyxDQUFDMFQsWUFBWSxHQUFDeFQsQ0FBQyxFQUFDRixDQUFDLENBQUM0TyxPQUFPLElBQUU1TyxDQUFDLENBQUNpRyxNQUFNLENBQUMySSxPQUFPLENBQUNDLE9BQU8sR0FBQzdPLENBQUMsQ0FBQzJULFlBQVksR0FBQ3hGLFFBQVEsQ0FBQ2pPLENBQUMsQ0FBQ2lULFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxHQUFDblQsQ0FBQyxDQUFDMlQsWUFBWSxHQUFDcFEsQ0FBQyxFQUFDdEQsQ0FBQyxDQUFDMlQsbUJBQW1CLElBQUUsS0FBSyxDQUFDLEtBQUc1VCxDQUFDLENBQUMyVCxZQUFZLElBQUUzVCxDQUFDLENBQUMyVCxZQUFZLEtBQUczVCxDQUFDLENBQUNxTixXQUFXLElBQUVyTixDQUFDLENBQUM0VCxtQkFBbUIsQ0FBQyxDQUFDO0lBQUE7RUFBQyxDQUFDO0VBQUMsSUFBSUMsQ0FBQyxHQUFDO0lBQUNDLFlBQVksRUFBQyxTQUFBQSxDQUFTbFUsQ0FBQyxFQUFDO01BQUMsS0FBSyxDQUFDLEtBQUdBLENBQUMsS0FBR0EsQ0FBQyxHQUFDLElBQUksQ0FBQ3FPLFlBQVksQ0FBQyxDQUFDLEdBQUMsR0FBRyxHQUFDLEdBQUcsQ0FBQztNQUFDLE1BQUs7UUFBQ2hJLE1BQU0sRUFBQ2xHLENBQUM7UUFBQzJPLFlBQVksRUFBQzFPLENBQUM7UUFBQ2dHLFNBQVMsRUFBQy9GLENBQUM7UUFBQ2tHLFNBQVMsRUFBQ2pHO01BQUMsQ0FBQyxHQUFDLElBQUk7TUFBQyxJQUFHSCxDQUFDLENBQUNnVSxnQkFBZ0IsRUFBQyxPQUFPL1QsQ0FBQyxHQUFDLENBQUNDLENBQUMsR0FBQ0EsQ0FBQztNQUFDLElBQUdGLENBQUMsQ0FBQzBQLE9BQU8sRUFBQyxPQUFPeFAsQ0FBQztNQUFDLElBQUlzRCxDQUFDLEdBQUNRLENBQUMsQ0FBQzdELENBQUMsRUFBQ04sQ0FBQyxDQUFDO01BQUMsT0FBTzJELENBQUMsSUFBRSxJQUFJLENBQUNrTyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUN6UixDQUFDLEtBQUd1RCxDQUFDLEdBQUMsQ0FBQ0EsQ0FBQyxDQUFDLEVBQUNBLENBQUMsSUFBRSxDQUFDO0lBQUEsQ0FBQztJQUFDeVEsWUFBWSxFQUFDLFNBQUFBLENBQVNwVSxDQUFDLEVBQUNHLENBQUMsRUFBQztNQUFDLE1BQU1DLENBQUMsR0FBQyxJQUFJO1FBQUM7VUFBQzBPLFlBQVksRUFBQ3pPLENBQUM7VUFBQ2dHLE1BQU0sRUFBQy9GLENBQUM7VUFBQ2lHLFNBQVMsRUFBQzVDLENBQUM7VUFBQ3dPLFFBQVEsRUFBQ3RPO1FBQUMsQ0FBQyxHQUFDekQsQ0FBQztNQUFDLElBQUk0RCxDQUFDO1FBQUNDLENBQUMsR0FBQyxDQUFDO1FBQUNFLENBQUMsR0FBQyxDQUFDO01BQUMvRCxDQUFDLENBQUNpTyxZQUFZLENBQUMsQ0FBQyxHQUFDcEssQ0FBQyxHQUFDNUQsQ0FBQyxHQUFDLENBQUNMLENBQUMsR0FBQ0EsQ0FBQyxHQUFDbUUsQ0FBQyxHQUFDbkUsQ0FBQyxFQUFDTSxDQUFDLENBQUM0UCxZQUFZLEtBQUdqTSxDQUFDLEdBQUMwQyxJQUFJLENBQUN3SixLQUFLLENBQUNsTSxDQUFDLENBQUMsRUFBQ0UsQ0FBQyxHQUFDd0MsSUFBSSxDQUFDd0osS0FBSyxDQUFDaE0sQ0FBQyxDQUFDLENBQUMsRUFBQy9ELENBQUMsQ0FBQ2lVLGlCQUFpQixHQUFDalUsQ0FBQyxDQUFDZ0csU0FBUyxFQUFDaEcsQ0FBQyxDQUFDZ0csU0FBUyxHQUFDaEcsQ0FBQyxDQUFDaU8sWUFBWSxDQUFDLENBQUMsR0FBQ3BLLENBQUMsR0FBQ0UsQ0FBQyxFQUFDN0QsQ0FBQyxDQUFDdVAsT0FBTyxHQUFDbE0sQ0FBQyxDQUFDdkQsQ0FBQyxDQUFDaU8sWUFBWSxDQUFDLENBQUMsR0FBQyxZQUFZLEdBQUMsV0FBVyxDQUFDLEdBQUNqTyxDQUFDLENBQUNpTyxZQUFZLENBQUMsQ0FBQyxHQUFDLENBQUNwSyxDQUFDLEdBQUMsQ0FBQ0UsQ0FBQyxHQUFDN0QsQ0FBQyxDQUFDNlQsZ0JBQWdCLEtBQUcvVCxDQUFDLENBQUNpTyxZQUFZLENBQUMsQ0FBQyxHQUFDcEssQ0FBQyxJQUFFN0QsQ0FBQyxDQUFDeVIscUJBQXFCLENBQUMsQ0FBQyxHQUFDMU4sQ0FBQyxJQUFFL0QsQ0FBQyxDQUFDeVIscUJBQXFCLENBQUMsQ0FBQyxFQUFDbE8sQ0FBQyxDQUFDakMsS0FBSyxDQUFDNEMsU0FBUyxHQUFFLGVBQWNMLENBQUUsT0FBTUUsQ0FBRSxVQUFTLENBQUM7T
5043UFBQyxNQUFNZ0IsQ0FBQyxHQUFDL0UsQ0FBQyxDQUFDa1MsWUFBWSxDQUFDLENBQUMsR0FBQ2xTLENBQUMsQ0FBQzRSLFlBQVksQ0FBQyxDQUFDO01BQUNoTyxDQUFDLEdBQUMsQ0FBQyxLQUFHbUIsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDbkYsQ0FBQyxHQUFDSSxDQUFDLENBQUM0UixZQUFZLENBQUMsQ0FBQyxJQUFFN00sQ0FBQyxFQUFDbkIsQ0FBQyxLQUFHSCxDQUFDLElBQUV6RCxDQUFDLENBQUNpUyxjQUFjLENBQUNyUyxDQUFDLENBQUMsRUFBQ0ksQ0FBQyxDQUFDK0wsSUFBSSxDQUFDLGNBQWMsRUFBQy9MLENBQUMsQ0FBQ2dHLFNBQVMsRUFBQ2pHLENBQUMsQ0FBQztJQUFBLENBQUM7SUFBQzZSLFlBQVksRUFBQyxTQUFBQSxDQUFBLEVBQVU7TUFBQyxPQUFNLENBQUMsSUFBSSxDQUFDNUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFBQ2tELFlBQVksRUFBQyxTQUFBQSxDQUFBLEVBQVU7TUFBQyxPQUFNLENBQUMsSUFBSSxDQUFDbEQsUUFBUSxDQUFDLElBQUksQ0FBQ0EsUUFBUSxDQUFDek8sTUFBTSxHQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFBQzJULFdBQVcsRUFBQyxTQUFBQSxDQUFTdFUsQ0FBQyxFQUFDRyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7TUFBQyxLQUFLLENBQUMsS0FBR04sQ0FBQyxLQUFHQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxDQUFDLEtBQUdHLENBQUMsS0FBR0EsQ0FBQyxHQUFDLElBQUksQ0FBQ2tHLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDLEVBQUMsS0FBSyxDQUFDLEtBQUdsRyxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxLQUFHQyxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztNQUFDLE1BQU1zRCxDQUFDLEdBQUMsSUFBSTtRQUFDO1VBQUMwQyxNQUFNLEVBQUN4QyxDQUFDO1VBQUMwQyxTQUFTLEVBQUN2QztRQUFDLENBQUMsR0FBQ0wsQ0FBQztNQUFDLElBQUdBLENBQUMsQ0FBQzRRLFNBQVMsSUFBRTFRLENBQUMsQ0FBQzJRLDhCQUE4QixFQUFDLE9BQU0sQ0FBQyxDQUFDO01BQUMsTUFBTXZRLENBQUMsR0FBQ04sQ0FBQyxDQUFDcU8sWUFBWSxDQUFDLENBQUM7UUFBQzdOLENBQUMsR0FBQ1IsQ0FBQyxDQUFDMk8sWUFBWSxDQUFDLENBQUM7TUFBQyxJQUFJbk4sQ0FBQztNQUFDLElBQUdBLENBQUMsR0FBQzlFLENBQUMsSUFBRUwsQ0FBQyxHQUFDaUUsQ0FBQyxHQUFDQSxDQUFDLEdBQUM1RCxDQUFDLElBQUVMLENBQUMsR0FBQ21FLENBQUMsR0FBQ0EsQ0FBQyxHQUFDbkUsQ0FBQyxFQUFDMkQsQ0FBQyxDQUFDME8sY0FBYyxDQUFDbE4sQ0FBQyxDQUFDLEVBQUN0QixDQUFDLENBQUNnTSxPQUFPLEVBQUM7UUFBQyxNQUFNN1AsQ0FBQyxHQUFDMkQsQ0FBQyxDQUFDMEssWUFBWSxDQUFDLENBQUM7UUFBQyxJQUFHLENBQUMsS0FBR2xPLENBQUMsRUFBQzZELENBQUMsQ0FBQ2hFLENBQUMsR0FBQyxZQUFZLEdBQUMsV0FBVyxDQUFDLEdBQUMsQ0FBQ21GLENBQUMsQ0FBQyxLQUFJO1VBQUMsSUFBRyxDQUFDeEIsQ0FBQyxDQUFDOFEsT0FBTyxDQUFDdkssWUFBWSxFQUFDLE9BQU9sRSxDQUFDLENBQUM7WUFBQ0MsTUFBTSxFQUFDdEMsQ0FBQztZQUFDdUMsY0FBYyxFQUFDLENBQUNmLENBQUM7WUFBQ2dCLElBQUksRUFBQ25HLENBQUMsR0FBQyxNQUFNLEdBQUM7VUFBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7VUFBQ2dFLENBQUMsQ0FBQ2dELFFBQVEsQ0FBQztZQUFDLENBQUNoSCxDQUFDLEdBQUMsTUFBTSxHQUFDLEtBQUssR0FBRSxDQUFDbUYsQ0FBQztZQUFDdVAsUUFBUSxFQUFDO1VBQVEsQ0FBQyxDQUFDO1FBQUE7UUFBQyxPQUFNLENBQUMsQ0FBQztNQUFBO01BQUMsT0FBTyxDQUFDLEtBQUd2VSxDQUFDLElBQUV3RCxDQUFDLENBQUMyTixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMzTixDQUFDLENBQUN5USxZQUFZLENBQUNqUCxDQUFDLENBQUMsRUFBQy9FLENBQUMsS0FBR3VELENBQUMsQ0FBQ3dJLElBQUksQ0FBQyx1QkFBdUIsRUFBQ2hNLENBQUMsRUFBQ0csQ0FBQyxDQUFDLEVBQUNxRCxDQUFDLENBQUN3SSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBR3hJLENBQUMsQ0FBQzJOLGFBQWEsQ0FBQ25SLENBQUMsQ0FBQyxFQUFDd0QsQ0FBQyxDQUFDeVEsWUFBWSxDQUFDalAsQ0FBQyxDQUFDLEVBQUMvRSxDQUFDLEtBQUd1RCxDQUFDLENBQUN3SSxJQUFJLENBQUMsdUJBQXVCLEVBQUNoTSxDQUFDLEVBQUNHLENBQUMsQ0FBQyxFQUFDcUQsQ0FBQyxDQUFDd0ksSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBQ3hJLENBQUMsQ0FBQzRRLFNBQVMsS0FBRzVRLENBQUMsQ0FBQzRRLFNBQVMsR0FBQyxDQUFDLENBQUMsRUFBQzVRLENBQUMsQ0FBQ2dSLGlDQUFpQyxLQUFHaFIsQ0FBQyxDQUFDZ1IsaUNBQWlDLEdBQUMsVUFBUzNVLENBQUMsRUFBQztRQUFDMkQsQ0FBQyxJQUFFLENBQUNBLENBQUMsQ0FBQytILFNBQVMsSUFBRTFMLENBQUMsQ0FBQ2lKLE1BQU0sS0FBRyxJQUFJLEtBQUd0RixDQUFDLENBQUM0QyxTQUFTLENBQUN6RixtQkFBbUIsQ0FBQyxlQUFlLEVBQUM2QyxDQUFDLENBQUNnUixpQ0FBaUMsQ0FBQyxFQUFDaFIsQ0FBQyxDQUFDZ1IsaUNBQWlDLEdBQUMsSUFBSSxFQUFDLE9BQU9oUixDQUFDLENBQUNnUixpQ0FBaUMsRUFBQ2hSLENBQUMsQ0FBQzRRLFNBQVMsR0FBQyxDQUFDLENBQUMsRUFBQ25VLENBQUMsSUFBRXVELENBQUMsQ0FBQ3dJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztNQUFBLENBQUMsQ0FBQyxFQUFDeEksQ0FBQyxDQUFDNEMsU0FBUyxDQUFDMUYsZ0JBQWdCLENBQUMsZUFBZSxFQUFDOEMsQ0FBQyxDQUFDZ1IsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQUE7RUFBQyxDQUFDO0VBQUMsU0FBU0MsQ0FBQ0EsQ0FBQzVVLENBQUMsRUFBQztJQUFDLElBQUc7TUFBQ2lHLE1BQU0sRUFBQzlGLENBQUM7TUFBQzBVLFlBQVksRUFBQ3pVLENBQUM7TUFBQzBVLFNBQVMsRUFBQ3pVLENBQUM7TUFBQzBVLElBQUksRUFBQ3pVO0lBQUMsQ0FBQyxHQUFDTixDQUFDO0lBQUMsTUFBSztNQUFDeU4sV0FBVyxFQUFDOUosQ0FBQztNQUFDK1AsYUFBYSxFQUFDN1A7SUFBQyxDQUFDLEdBQUMxRCxDQUFDO0lBQUMsSUFBSTZELENBQUMsR0FBQzNELENBQUM7SUFBQzJELENBQUMsS0FBR0EsQ0FBQyxHQUFDTCxDQUFDLEdBQUNFLENBQUMsR0FBQyxNQUFNLEdBQUNGLENBQUMsR0FBQ0UsQ0FBQyxHQUFDLE1BQU0sR0FBQyxPQUFPLENBQUMsRUFBQzFELENBQUMsQ0FBQ2dNLElBQUksQ0FBRSxhQUFZN0wsQ0FBRSxFQUFDLENBQUMsRUFBQ0YsQ0FBQyxJQUFFLE9BQU8sS0FBRzRELENBQUMsR0FBQzdELENBQUMsQ0FBQ2dNLElBQUksQ0FBRSx1QkFBc0I3TCxDQUFFLEVBQUMsQ0FBQyxHQUFDRixDQUFDLElBQUV1RCxDQUFDLEtBQUdFLENBQUMsS0FBRzFELENBQUMsQ0FBQ2dNLElBQUksQ0FBRSx3QkFBdUI3TCxDQUFFLEVBQUMsQ0FBQyxFQUFDLE1BQU0sS0FBRzBELENBQUMsR0FBQzdELENBQUMsQ0FBQ2dNLElBQUksQ0FBRSxzQkFBcUI3TCxDQUFFLEVBQUMsQ0FBQyxHQUFDSCxDQUFDLENBQUNnTSxJQUFJLENBQUUsc0JBQXFCN0wsQ0FBRSxFQUFDLENBQUMsQ0FBQztFQUFBO0VBQUMsSUFBSTBVLENBQUMsR0FBQztJQUFDQyxPQUFPLEVBQUMsU0FBQUEsQ0FBU2pWLENBQUMsRUFBQ0csQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO01BQUMsS0FBSyxDQUFDLEtBQUdOLENBQUMsS0FBR0EsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxLQUFHSSxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsSUFBRSxPQUFPSixDQUFDLEtBQUdBLENBQUMsR0FBQ3VPLFFBQVEsQ0FBQ3ZPLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQztNQUFDLE1BQU0yRCxDQUFDLEdBQUMsSUFBSTtNQUFDLElBQUlFLENBQUMsR0FBQzdELENBQUM7T
5043UFBQzZELENBQUMsR0FBQyxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUM7TUFBQyxNQUFLO1FBQUN3QyxNQUFNLEVBQUNyQyxDQUFDO1FBQUNvTCxRQUFRLEVBQUNuTCxDQUFDO1FBQUNvTCxVQUFVLEVBQUNsTCxDQUFDO1FBQUN1UCxhQUFhLEVBQUN2TyxDQUFDO1FBQUNzSSxXQUFXLEVBQUNsSSxDQUFDO1FBQUN1SixZQUFZLEVBQUNoSixDQUFDO1FBQUNTLFNBQVMsRUFBQ1csQ0FBQztRQUFDK0gsT0FBTyxFQUFDN0g7TUFBQyxDQUFDLEdBQUN6RCxDQUFDO01BQUMsSUFBRyxDQUFDeUQsQ0FBQyxJQUFFLENBQUMvRyxDQUFDLElBQUUsQ0FBQ0MsQ0FBQyxJQUFFcUQsQ0FBQyxDQUFDK0gsU0FBUyxJQUFFL0gsQ0FBQyxDQUFDNFEsU0FBUyxJQUFFdlEsQ0FBQyxDQUFDd1EsOEJBQThCLEVBQUMsT0FBTSxDQUFDLENBQUM7TUFBQyxLQUFLLENBQUMsS0FBR3JVLENBQUMsS0FBR0EsQ0FBQyxHQUFDd0QsQ0FBQyxDQUFDMEMsTUFBTSxDQUFDQyxLQUFLLENBQUM7TUFBQyxNQUFNbUIsQ0FBQyxHQUFDZCxJQUFJLENBQUNFLEdBQUcsQ0FBQ2xELENBQUMsQ0FBQzBDLE1BQU0sQ0FBQ2lLLGtCQUFrQixFQUFDek0sQ0FBQyxDQUFDO01BQUMsSUFBSStELENBQUMsR0FBQ0gsQ0FBQyxHQUFDZCxJQUFJLENBQUN3SixLQUFLLENBQUMsQ0FBQ3RNLENBQUMsR0FBQzRELENBQUMsSUFBRTlELENBQUMsQ0FBQzBDLE1BQU0sQ0FBQ2dLLGNBQWMsQ0FBQztNQUFDekksQ0FBQyxJQUFFM0QsQ0FBQyxDQUFDdEQsTUFBTSxLQUFHaUgsQ0FBQyxHQUFDM0QsQ0FBQyxDQUFDdEQsTUFBTSxHQUFDLENBQUMsQ0FBQztNQUFDLE1BQU1zSCxDQUFDLEdBQUMsQ0FBQ2hFLENBQUMsQ0FBQzJELENBQUMsQ0FBQztNQUFDLElBQUc1RCxDQUFDLENBQUNzUCxtQkFBbUIsRUFBQyxLQUFJLElBQUl0VCxDQUFDLEdBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNtRSxDQUFDLENBQUN4RCxNQUFNLEVBQUNYLENBQUMsSUFBRSxDQUFDLEVBQUM7UUFBQyxNQUFNRyxDQUFDLEdBQUMsQ0FBQ3dHLElBQUksQ0FBQ3dKLEtBQUssQ0FBQyxHQUFHLEdBQUNsSSxDQUFDLENBQUM7VUFBQzdILENBQUMsR0FBQ3VHLElBQUksQ0FBQ3dKLEtBQUssQ0FBQyxHQUFHLEdBQUNoTSxDQUFDLENBQUNuRSxDQUFDLENBQUMsQ0FBQztVQUFDSyxDQUFDLEdBQUNzRyxJQUFJLENBQUN3SixLQUFLLENBQUMsR0FBRyxHQUFDaE0sQ0FBQyxDQUFDbkUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsS0FBSyxDQUFDLEtBQUdtRSxDQUFDLENBQUNuRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUNHLENBQUMsSUFBRUMsQ0FBQyxJQUFFRCxDQUFDLEdBQUNFLENBQUMsR0FBQyxDQUFDQSxDQUFDLEdBQUNELENBQUMsSUFBRSxDQUFDLEdBQUN5RCxDQUFDLEdBQUM3RCxDQUFDLEdBQUNHLENBQUMsSUFBRUMsQ0FBQyxJQUFFRCxDQUFDLEdBQUNFLENBQUMsS0FBR3dELENBQUMsR0FBQzdELENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQ0csQ0FBQyxJQUFFQyxDQUFDLEtBQUd5RCxDQUFDLEdBQUM3RCxDQUFDLENBQUM7TUFBQTtNQUFDLElBQUcyRCxDQUFDLENBQUNnUSxXQUFXLElBQUU5UCxDQUFDLEtBQUcwQixDQUFDLEVBQUM7UUFBQyxJQUFHLENBQUM1QixDQUFDLENBQUN1UixjQUFjLEtBQUdwUCxDQUFDLEdBQUNtQyxDQUFDLEdBQUN0RSxDQUFDLENBQUN5QyxTQUFTLElBQUU2QixDQUFDLEdBQUN0RSxDQUFDLENBQUNxTyxZQUFZLENBQUMsQ0FBQyxHQUFDL0osQ0FBQyxHQUFDdEUsQ0FBQyxDQUFDeUMsU0FBUyxJQUFFNkIsQ0FBQyxHQUFDdEUsQ0FBQyxDQUFDcU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQU0sQ0FBQyxDQUFDO1FBQUMsSUFBRyxDQUFDck8sQ0FBQyxDQUFDd1IsY0FBYyxJQUFFbE4sQ0FBQyxHQUFDdEUsQ0FBQyxDQUFDeUMsU0FBUyxJQUFFNkIsQ0FBQyxHQUFDdEUsQ0FBQyxDQUFDMk8sWUFBWSxDQUFDLENBQUMsSUFBRSxDQUFDL00sQ0FBQyxJQUFFLENBQUMsTUFBSTFCLENBQUMsRUFBQyxPQUFNLENBQUMsQ0FBQztNQUFBO01BQUMsSUFBSThFLENBQUM7TUFBQzlFLENBQUMsTUFBSXNCLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBRS9FLENBQUMsSUFBRXVELENBQUMsQ0FBQ3dJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxFQUFDeEksQ0FBQyxDQUFDME8sY0FBYyxDQUFDcEssQ0FBQyxDQUFDLEVBQUNVLENBQUMsR0FBQzlFLENBQUMsR0FBQzBCLENBQUMsR0FBQyxNQUFNLEdBQUMxQixDQUFDLEdBQUMwQixDQUFDLEdBQUMsTUFBTSxHQUFDLE9BQU87TUFBQyxNQUFNcUQsQ0FBQyxHQUFDakYsQ0FBQyxDQUFDcUwsT0FBTyxJQUFFckwsQ0FBQyxDQUFDMEMsTUFBTSxDQUFDMkksT0FBTyxDQUFDQyxPQUFPO01BQUMsSUFBRyxFQUFFckcsQ0FBQyxJQUFFdEksQ0FBQyxDQUFDLEtBQUd3RixDQUFDLElBQUUsQ0FBQ21DLENBQUMsS0FBR3RFLENBQUMsQ0FBQ3lDLFNBQVMsSUFBRSxDQUFDTixDQUFDLElBQUVtQyxDQUFDLEtBQUd0RSxDQUFDLENBQUN5QyxTQUFTLENBQUMsRUFBQyxPQUFPekMsQ0FBQyxDQUFDd1AsaUJBQWlCLENBQUN0UCxDQUFDLENBQUMsRUFBQ0csQ0FBQyxDQUFDME8sVUFBVSxJQUFFL08sQ0FBQyxDQUFDME4sZ0JBQWdCLENBQUMsQ0FBQyxFQUFDMU4sQ0FBQyxDQUFDZ1AsbUJBQW1CLENBQUMsQ0FBQyxFQUFDLE9BQU8sS0FBRzNPLENBQUMsQ0FBQ3VNLE1BQU0sSUFBRTVNLENBQUMsQ0FBQ3lRLFlBQVksQ0FBQ25NLENBQUMsQ0FBQyxFQUFDLE9BQU8sS0FBR1UsQ0FBQyxLQUFHaEYsQ0FBQyxDQUFDeVIsZUFBZSxDQUFDaFYsQ0FBQyxFQUFDdUksQ0FBQyxDQUFDLEVBQUNoRixDQUFDLENBQUMwUixhQUFhLENBQUNqVixDQUFDLEVBQUN1SSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztNQUFDLElBQUczRSxDQUFDLENBQUM2TCxPQUFPLEVBQUM7UUFBQyxNQUFNN1AsQ0FBQyxHQUFDMkQsQ0FBQyxDQUFDMEssWUFBWSxDQUFDLENBQUM7VUFBQ2pPLENBQUMsR0FBQzBGLENBQUMsR0FBQ21DLENBQUMsR0FBQyxDQUFDQSxDQUFDO1FBQUMsSUFBRyxDQUFDLEtBQUc5SCxDQUFDLEVBQUN5SSxDQUFDLEtBQUdqRixDQUFDLENBQUM0QyxTQUFTLENBQUM3RSxLQUFLLENBQUM4RSxjQUFjLEdBQUMsTUFBTSxFQUFDN0MsQ0FBQyxDQUFDMlIsaUJBQWlCLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQzFNLENBQUMsSUFBRSxDQUFDakYsQ0FBQyxDQUFDNFIseUJBQXlCLElBQUU1UixDQUFDLENBQUMwQyxNQUFNLENBQUNtUCxZQUFZLEd
5043BQUMsQ0FBQyxJQUFFN1IsQ0FBQyxDQUFDNFIseUJBQXlCLEdBQUMsQ0FBQyxDQUFDLEVBQUM5UixxQkFBcUIsQ0FBRSxNQUFJO1VBQUN5RCxDQUFDLENBQUNsSCxDQUFDLEdBQUMsWUFBWSxHQUFDLFdBQVcsQ0FBQyxHQUFDSSxDQUFDO1FBQUEsQ0FBRSxDQUFDLElBQUU4RyxDQUFDLENBQUNsSCxDQUFDLEdBQUMsWUFBWSxHQUFDLFdBQVcsQ0FBQyxHQUFDSSxDQUFDLEVBQUN3SSxDQUFDLElBQUVuRixxQkFBcUIsQ0FBRSxNQUFJO1VBQUNFLENBQUMsQ0FBQzRDLFNBQVMsQ0FBQzdFLEtBQUssQ0FBQzhFLGNBQWMsR0FBQyxFQUFFLEVBQUM3QyxDQUFDLENBQUMyUixpQkFBaUIsR0FBQyxDQUFDLENBQUM7UUFBQSxDQUFFLENBQUMsQ0FBQyxLQUFJO1VBQUMsSUFBRyxDQUFDM1IsQ0FBQyxDQUFDOFEsT0FBTyxDQUFDdkssWUFBWSxFQUFDLE9BQU9sRSxDQUFDLENBQUM7WUFBQ0MsTUFBTSxFQUFDdEMsQ0FBQztZQUFDdUMsY0FBYyxFQUFDOUYsQ0FBQztZQUFDK0YsSUFBSSxFQUFDbkcsQ0FBQyxHQUFDLE1BQU0sR0FBQztVQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztVQUFDa0gsQ0FBQyxDQUFDRixRQUFRLENBQUM7WUFBQyxDQUFDaEgsQ0FBQyxHQUFDLE1BQU0sR0FBQyxLQUFLLEdBQUVJLENBQUM7WUFBQ3NVLFFBQVEsRUFBQztVQUFRLENBQUMsQ0FBQztRQUFBO1FBQUMsT0FBTSxDQUFDLENBQUM7TUFBQTtNQUFDLE1BQU01TCxDQUFDLEdBQUNnQyxDQUFDLENBQUMsQ0FBQyxDQUFDTSxRQUFRO01BQUMsT0FBT3hDLENBQUMsSUFBRSxDQUFDdEksQ0FBQyxJQUFFd0ksQ0FBQyxJQUFFbkYsQ0FBQyxDQUFDbUosU0FBUyxJQUFFbkosQ0FBQyxDQUFDcUwsT0FBTyxDQUFDeUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDNVIsQ0FBQyxDQUFDLEVBQUNGLENBQUMsQ0FBQzJOLGFBQWEsQ0FBQ25SLENBQUMsQ0FBQyxFQUFDd0QsQ0FBQyxDQUFDeVEsWUFBWSxDQUFDbk0sQ0FBQyxDQUFDLEVBQUN0RSxDQUFDLENBQUN3UCxpQkFBaUIsQ0FBQ3RQLENBQUMsQ0FBQyxFQUFDRixDQUFDLENBQUNnUCxtQkFBbUIsQ0FBQyxDQUFDLEVBQUNoUCxDQUFDLENBQUN3SSxJQUFJLENBQUMsdUJBQXVCLEVBQUNoTSxDQUFDLEVBQUNFLENBQUMsQ0FBQyxFQUFDc0QsQ0FBQyxDQUFDeVIsZUFBZSxDQUFDaFYsQ0FBQyxFQUFDdUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFHeEksQ0FBQyxHQUFDd0QsQ0FBQyxDQUFDMFIsYUFBYSxDQUFDalYsQ0FBQyxFQUFDdUksQ0FBQyxDQUFDLEdBQUNoRixDQUFDLENBQUM0USxTQUFTLEtBQUc1USxDQUFDLENBQUM0USxTQUFTLEdBQUMsQ0FBQyxDQUFDLEVBQUM1USxDQUFDLENBQUMrUiw2QkFBNkIsS0FBRy9SLENBQUMsQ0FBQytSLDZCQUE2QixHQUFDLFVBQVMxVixDQUFDLEVBQUM7UUFBQzJELENBQUMsSUFBRSxDQUFDQSxDQUFDLENBQUMrSCxTQUFTLElBQUUxTCxDQUFDLENBQUNpSixNQUFNLEtBQUcsSUFBSSxLQUFHdEYsQ0FBQyxDQUFDNEMsU0FBUyxDQUFDekYsbUJBQW1CLENBQUMsZUFBZSxFQUFDNkMsQ0FBQyxDQUFDK1IsNkJBQTZCLENBQUMsRUFBQy9SLENBQUMsQ0FBQytSLDZCQUE2QixHQUFDLElBQUksRUFBQyxPQUFPL1IsQ0FBQyxDQUFDK1IsNkJBQTZCLEVBQUMvUixDQUFDLENBQUMwUixhQUFhLENBQUNqVixDQUFDLEVBQUN1SSxDQUFDLENBQUMsQ0FBQztNQUFBLENBQUMsQ0FBQyxFQUFDaEYsQ0FBQyxDQUFDNEMsU0FBUyxDQUFDMUYsZ0JBQWdCLENBQUMsZUFBZSxFQUFDOEMsQ0FBQyxDQUFDK1IsNkJBQTZCLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFBQ0MsV0FBVyxFQUFDLFNBQUFBLENBQVMzVixDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7TUFBQyxJQUFHLEtBQUssQ0FBQyxLQUFHTCxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxLQUFLLENBQUMsS0FBR0ksQ0FBQyxLQUFHQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxRQUFRLElBQUUsT0FBT0osQ0FBQyxFQUFDO1FBQUNBLENBQUMsR0FBQ3VPLFFBQVEsQ0FBQ3ZPLENBQUMsRUFBQyxFQUFFLENBQUM7TUFBQTtNQUFDLE1BQU1NLENBQUMsR0FBQyxJQUFJO01BQUMsSUFBR0EsQ0FBQyxDQUFDb0wsU0FBUyxFQUFDO01BQU8sS0FBSyxDQUFDLEtBQUd2TCxDQUFDLEtBQUdBLENBQUMsR0FBQ0csQ0FBQyxDQUFDK0YsTUFBTSxDQUFDQyxLQUFLLENBQUM7TUFBQyxNQUFNM0MsQ0FBQyxHQUFDckQsQ0FBQyxDQUFDb04sSUFBSSxJQUFFcE4sQ0FBQyxDQUFDK0YsTUFBTSxDQUFDcUgsSUFBSSxJQUFFcE4sQ0FBQyxDQUFDK0YsTUFBTSxDQUFDcUgsSUFBSSxDQUFDQyxJQUFJLEdBQUMsQ0FBQztNQUFDLElBQUk5SixDQUFDLEdBQUM3RCxDQUFDO01BQUMsSUFBR00sQ0FBQyxDQUFDK0YsTUFBTSxDQUFDMEgsSUFBSSxFQUFDLElBQUd6TixDQUFDLENBQUMwTyxPQUFPLElBQUUxTyxDQUFDLENBQUMrRixNQUFNLENBQUMySSxPQUFPLENBQUNDLE9BQU8sRUFBQ3BMLENBQUMsSUFBRXZELENBQUMsQ0FBQzBPLE9BQU8sQ0FBQzBCLFlBQVksQ0FBQyxLQUFJO1FBQUMsSUFBSTFRLENBQUM7UUFBQyxJQUFHMkQsQ0FBQyxFQUFDO1VBQUMsTUFBTXhELENBQUMsR0FBQzBELENBQUMsR0FBQ3ZELENBQUMsQ0FBQytGLE1BQU0sQ0FBQ3FILElBQUksQ0FBQ0MsSUFBSTtVQUFDM04sQ0FBQyxHQUFDTSxDQUFDLENBQUM0TSxNQUFNLENBQUMwRixJQUFJLENBQUU1UyxDQUFDLElBQUUsQ0FBQyxHQUFDQSxDQUFDLENBQUN1VCxZQUFZLENBQUMseUJBQXlCLENBQUMsS0FBR3BULENBQUUsQ0FBQyxDQUFDME4sTUFBTTtRQUFBLENBQUMsTUFBSzdOLENBQUMsR0FBQ00sQ0FBQyxDQUFDaVIsbUJBQW1CLENBQUMxTixDQUFDLENBQUM7UUFBQyxNQUFNMUQsQ0FBQyxHQUFDd0QsQ0FBQyxHQUFDZ0QsSUFBSSxDQUFDNkcsSUFBSSxDQUFDbE4sQ0FBQyxDQUFDNE0sTUFBTSxDQUFDdk0sTUFBTSxHQUFDTCxDQUFDLENBQUMrRixNQUFNLENBQUNxSCxJQUFJLENBQUNDLElBQUksQ0FBQyxHQUFDck4sQ0FBQyxDQUFDNE0sTUFBTSxDQUFDdk0sTUFBTTtVQUFDO1lBQUNpUCxjQUFjLEVBQUN4UDtVQUFDLENBQUMsR0FBQ0UsQ0FBQyxDQUFDK0YsTUFBTTtRQUFDLElBQUlyQyxDQUFDLEdBQUMxRCxDQUFDLENBQUMrRixNQUFNLENBQUNpSCxhQUFhO1FBQUMsTUFBTSxLQUFHdEosQ0FBQyxHQUFDQSxDQUFDLEdBQUMxRCxDQUFDLENBQUNpTixvQkFBb0IsQ0FBQyxDQUFDLElBQUV2SixDQUFDLEdBQUMyQyxJQUFJLENBQUM2RyxJQUFJLENBQUN2SSxVQUFVLENBQUMzRSxDQUFDLENBQUMrRixNQUFNLENBQUNpSCxhQUFhLEVBQUMsRUFBRSxDQUFDLENBQUMsRUFBQ2xOLENBQUMsSUFBRTRELENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxLQUFHQSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUM7UUFBQyxJQUFJQyxDQUFDLEdBQUM5RCxDQUFDLEdBQUNILENBQUMsR0FBQ2dFLENBQUM7UUFBQyxJQUFHNUQsQ0FBQyxLQUFHNkQsQ0FBQyxHQUFDQSxDQUFDLElBQUVqRSxDQUFDLEdBQUMyRyxJQUFJLENBQUM2RyxJQUFJLENBQUN4SixDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQzNELENBQUMsSUFBRUQsQ0FBQyxJQUFFLE1BQU0sS0FBR0UsQ0FBQyxDQUFDK0YsTUFBTSxDQUFDaUgsYUFBYSxJQUFFLENBQUMzSixDQUFDLEtBQUdNLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDQSxDQUFDLEVBQUM7VUFBQyxNQUFNNUQsQ0FBQyxHQUFDRCxDQUFDLEdBQUNKLENBQUMsR0FBQ00sQ0FBQyxDQUFDbU4sV0FBVyxHQUFDLE1BQU0sR0FBQyxNQUFNLEdBQUN6TixDQUFDLEdBQUNNLENBQUMsQ0FBQ21OLFdBQVcsR0FBQyxDQUFDLEdBQUNuTixDQUFDLENBQUMrRixNQUFNLENBQUNpSCxhQUFhLEd
5043BQUMsTUFBTSxHQUFDLE1BQU07VUFBQ2hOLENBQUMsQ0FBQ3NWLE9BQU8sQ0FBQztZQUFDZCxTQUFTLEVBQUN6VSxDQUFDO1lBQUM0VSxPQUFPLEVBQUMsQ0FBQyxDQUFDO1lBQUNZLGdCQUFnQixFQUFDLE1BQU0sS0FBR3hWLENBQUMsR0FBQ0wsQ0FBQyxHQUFDLENBQUMsR0FBQ0EsQ0FBQyxHQUFDRyxDQUFDLEdBQUMsQ0FBQztZQUFDMlYsY0FBYyxFQUFDLE1BQU0sS0FBR3pWLENBQUMsR0FBQ0MsQ0FBQyxDQUFDOFMsU0FBUyxHQUFDLEtBQUs7VUFBQyxDQUFDLENBQUM7UUFBQTtRQUFDLElBQUd6UCxDQUFDLEVBQUM7VUFBQyxNQUFNM0QsQ0FBQyxHQUFDNkQsQ0FBQyxHQUFDdkQsQ0FBQyxDQUFDK0YsTUFBTSxDQUFDcUgsSUFBSSxDQUFDQyxJQUFJO1VBQUM5SixDQUFDLEdBQUN2RCxDQUFDLENBQUM0TSxNQUFNLENBQUMwRixJQUFJLENBQUV6UyxDQUFDLElBQUUsQ0FBQyxHQUFDQSxDQUFDLENBQUNvVCxZQUFZLENBQUMseUJBQXlCLENBQUMsS0FBR3ZULENBQUUsQ0FBQyxDQUFDNk4sTUFBTTtRQUFBLENBQUMsTUFBS2hLLENBQUMsR0FBQ3ZELENBQUMsQ0FBQ2lSLG1CQUFtQixDQUFDMU4sQ0FBQyxDQUFDO01BQUE7TUFBQyxPQUFPSixxQkFBcUIsQ0FBRSxNQUFJO1FBQUNuRCxDQUFDLENBQUMyVSxPQUFPLENBQUNwUixDQUFDLEVBQUMxRCxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxDQUFDO01BQUEsQ0FBRSxDQUFDLEVBQUNDLENBQUM7SUFBQSxDQUFDO0lBQUN5VixTQUFTLEVBQUMsU0FBQUEsQ0FBUy9WLENBQUMsRUFBQ0csQ0FBQyxFQUFDQyxDQUFDLEVBQUM7TUFBQyxLQUFLLENBQUMsS0FBR0QsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUM7TUFBQyxNQUFNRSxDQUFDLEdBQUMsSUFBSTtRQUFDO1VBQUM0TyxPQUFPLEVBQUMzTyxDQUFDO1VBQUMrRixNQUFNLEVBQUMxQyxDQUFDO1VBQUM0USxTQUFTLEVBQUMxUTtRQUFDLENBQUMsR0FBQ3hELENBQUM7TUFBQyxJQUFHLENBQUNDLENBQUMsSUFBRUQsQ0FBQyxDQUFDcUwsU0FBUyxFQUFDLE9BQU9yTCxDQUFDO01BQUMsS0FBSyxDQUFDLEtBQUdMLENBQUMsS0FBR0EsQ0FBQyxHQUFDSyxDQUFDLENBQUNnRyxNQUFNLENBQUNDLEtBQUssQ0FBQztNQUFDLElBQUl0QyxDQUFDLEdBQUNMLENBQUMsQ0FBQzBNLGNBQWM7TUFBQyxNQUFNLEtBQUcxTSxDQUFDLENBQUMySixhQUFhLElBQUUsQ0FBQyxLQUFHM0osQ0FBQyxDQUFDME0sY0FBYyxJQUFFMU0sQ0FBQyxDQUFDcVMsa0JBQWtCLEtBQUdoUyxDQUFDLEdBQUMyQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ3ZHLENBQUMsQ0FBQ2tOLG9CQUFvQixDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO01BQUMsTUFBTXRKLENBQUMsR0FBQzVELENBQUMsQ0FBQ29OLFdBQVcsR0FBQzlKLENBQUMsQ0FBQzJNLGtCQUFrQixHQUFDLENBQUMsR0FBQ3RNLENBQUM7UUFBQ0csQ0FBQyxHQUFDOUQsQ0FBQyxDQUFDMk8sT0FBTyxJQUFFckwsQ0FBQyxDQUFDcUwsT0FBTyxDQUFDQyxPQUFPO01BQUMsSUFBR3RMLENBQUMsQ0FBQ29LLElBQUksRUFBQztRQUFDLElBQUdsSyxDQUFDLElBQUUsQ0FBQ00sQ0FBQyxJQUFFUixDQUFDLENBQUNzUyxtQkFBbUIsRUFBQyxPQUFNLENBQUMsQ0FBQztRQUFDLElBQUc1VixDQUFDLENBQUN1VixPQUFPLENBQUM7VUFBQ2QsU0FBUyxFQUFDO1FBQU0sQ0FBQyxDQUFDLEVBQUN6VSxDQUFDLENBQUM2VixXQUFXLEdBQUM3VixDQUFDLENBQUNrRyxTQUFTLENBQUM2QixVQUFVLEVBQUMvSCxDQUFDLENBQUNvTixXQUFXLEtBQUdwTixDQUFDLENBQUM2TSxNQUFNLENBQUN2TSxNQUFNLEdBQUMsQ0FBQyxJQUFFZ0QsQ0FBQyxDQUFDa00sT0FBTyxFQUFDLE9BQU9wTSxxQkFBcUIsQ0FBRSxNQUFJO1VBQUNwRCxDQUFDLENBQUM0VSxPQUFPLENBQUM1VSxDQUFDLENBQUNvTixXQUFXLEdBQUN4SixDQUFDLEVBQUNqRSxDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxDQUFDO1FBQUEsQ0FBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO01BQUE7TUFBQyxPQUFPdUQsQ0FBQyxDQUFDbUssTUFBTSxJQUFFek4sQ0FBQyxDQUFDbVMsS0FBSyxHQUFDblMsQ0FBQyxDQUFDNFUsT0FBTyxDQUFDLENBQUMsRUFBQ2pWLENBQUMsRUFBQ0csQ0FBQyxFQUFDQyxDQUFDLENBQUMsR0FBQ0MsQ0FBQyxDQUFDNFUsT0FBTyxDQUFDNVUsQ0FBQyxDQUFDb04sV0FBVyxHQUFDeEosQ0FBQyxFQUFDakUsQ0FBQyxFQUFDRyxDQUFDLEVBQUNDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFBQytWLFNBQVMsRUFBQyxTQUFBQSxDQUFTblcsQ0FBQyxFQUFDRyxDQUFDLEVBQUNDLENBQUMsRUFBQztNQUFDLEtBQUssQ0FBQyxLQUFHRCxDQUFDLEtBQUdBLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztNQUFDLE1BQU1FLENBQUMsR0FBQyxJQUFJO1FBQUM7VUFBQ2dHLE1BQU0sRUFBQy9GLENBQUM7VUFBQzhPLFFBQVEsRUFBQ3pMLENBQUM7VUFBQzBMLFVBQVUsRUFBQ3hMLENBQUM7VUFBQ2lMLFlBQVksRUFBQzlLLENBQUM7VUFBQ2lMLE9BQU8sRUFBQ2hMLENBQUM7VUFBQ3NRLFNBQVMsRUFBQ3BRO1FBQUMsQ0FBQyxHQUFDOUQsQ0FBQztNQUFDLElBQUcsQ0FBQzRELENBQUMsSUFBRTVELENBQUMsQ0FBQ3FMLFNBQVMsRUFBQyxPQUFPckwsQ0FBQztNQUFDLEtBQUssQ0FBQyxLQUFHTCxDQUFDLEtBQUdBLENBQUMsR0FBQ0ssQ0FBQyxDQUFDZ0csTUFBTSxDQUFDQyxLQUFLLENBQUM7TUFBQyxNQUFNbkIsQ0FBQyxHQUFDOUUsQ0FBQyxDQUFDMk8sT0FBTyxJQUFFMU8sQ0FBQyxDQUFDME8sT0FBTyxDQUFDQyxPQUFPO01BQUMsSUFBRzNPLENBQUMsQ0FBQ3lOLElBQUksRUFBQztRQUFDLElBQUc1SixDQUFDLElBQUUsQ0FBQ2dCLENBQUMsSUFBRTdFLENBQUMsQ0FBQzJWLG1CQUFtQixFQUFDLE9BQU0sQ0FBQyxDQUFDO1FBQUM1VixDQUFDLENBQUN1VixPQUFPLENBQUM7VUFBQ2QsU0FBUyxFQUFDO1FBQU0sQ0FBQyxDQUFDLEVBQUN6VSxDQUFDLENBQUM2VixXQUFXLEdBQUM3VixDQUFDLENBQUNrRyxTQUFTLENBQUM2QixVQUFVO01BQUE7TUFBQyxTQUFTN0MsQ0FBQ0EsQ0FBQ3ZGLENBQUMsRUFBQztRQUFDLE9BQU9BLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQzJHLElBQUksQ0FBQ3dKLEtBQUssQ0FBQ3hKLElBQUksQ0FBQzJDLEdBQUcsQ0FBQ3RKLENBQUMsQ0FBQyxDQUFDLEdBQUMyRyxJQUFJLENBQUN3SixLQUFLLENBQUNuUSxDQUFDLENBQUM7T
5043UFBQTtNQUFDLE1BQU04RixDQUFDLEdBQUNQLENBQUMsQ0FBQ3ZCLENBQUMsR0FBQzNELENBQUMsQ0FBQytGLFNBQVMsR0FBQyxDQUFDL0YsQ0FBQyxDQUFDK0YsU0FBUyxDQUFDO1FBQUNKLENBQUMsR0FBQ3JDLENBQUMsQ0FBQ2EsR0FBRyxDQUFFeEUsQ0FBQyxJQUFFdUYsQ0FBQyxDQUFDdkYsQ0FBQyxDQUFFLENBQUM7UUFBQ2tILENBQUMsR0FBQzVHLENBQUMsQ0FBQzhWLFFBQVEsSUFBRTlWLENBQUMsQ0FBQzhWLFFBQVEsQ0FBQ25ILE9BQU87TUFBQyxJQUFJN0gsQ0FBQyxHQUFDekQsQ0FBQyxDQUFDcUMsQ0FBQyxDQUFDdkYsT0FBTyxDQUFDcUYsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDO01BQUMsSUFBRyxLQUFLLENBQUMsS0FBR3NCLENBQUMsS0FBRzlHLENBQUMsQ0FBQ3VQLE9BQU8sSUFBRTNJLENBQUMsQ0FBQyxFQUFDO1FBQUMsSUFBSWxILENBQUM7UUFBQzJELENBQUMsQ0FBQ2pELE9BQU8sQ0FBRSxDQUFDUCxDQUFDLEVBQUNDLENBQUMsS0FBRztVQUFDMEYsQ0FBQyxJQUFFM0YsQ0FBQyxLQUFHSCxDQUFDLEdBQUNJLENBQUMsQ0FBQztRQUFBLENBQUUsQ0FBQyxFQUFDLEtBQUssQ0FBQyxLQUFHSixDQUFDLEtBQUdvSCxDQUFDLEdBQUNGLENBQUMsR0FBQ3ZELENBQUMsQ0FBQzNELENBQUMsQ0FBQyxHQUFDMkQsQ0FBQyxDQUFDM0QsQ0FBQyxHQUFDLENBQUMsR0FBQ0EsQ0FBQyxHQUFDLENBQUMsR0FBQ0EsQ0FBQyxDQUFDLENBQUM7TUFBQTtNQUFDLElBQUl5SCxDQUFDLEdBQUMsQ0FBQztNQUFDLElBQUcsS0FBSyxDQUFDLEtBQUdMLENBQUMsS0FBR0ssQ0FBQyxHQUFDNUQsQ0FBQyxDQUFDcEQsT0FBTyxDQUFDMkcsQ0FBQyxDQUFDLEVBQUNLLENBQUMsR0FBQyxDQUFDLEtBQUdBLENBQUMsR0FBQ3BILENBQUMsQ0FBQ29OLFdBQVcsR0FBQyxDQUFDLENBQUMsRUFBQyxNQUFNLEtBQUduTixDQUFDLENBQUNnTixhQUFhLElBQUUsQ0FBQyxLQUFHaE4sQ0FBQyxDQUFDK1AsY0FBYyxJQUFFL1AsQ0FBQyxDQUFDMFYsa0JBQWtCLEtBQUd2TyxDQUFDLEdBQUNBLENBQUMsR0FBQ3BILENBQUMsQ0FBQ2tOLG9CQUFvQixDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQzlGLENBQUMsR0FBQ2QsSUFBSSxDQUFDQyxHQUFHLENBQUNhLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUNuSCxDQUFDLENBQUN3TixNQUFNLElBQUV6TixDQUFDLENBQUNrUyxXQUFXLEVBQUM7UUFBQyxNQUFNalMsQ0FBQyxHQUFDRCxDQUFDLENBQUNnRyxNQUFNLENBQUMySSxPQUFPLElBQUUzTyxDQUFDLENBQUNnRyxNQUFNLENBQUMySSxPQUFPLENBQUNDLE9BQU8sSUFBRTVPLENBQUMsQ0FBQzJPLE9BQU8sR0FBQzNPLENBQUMsQ0FBQzJPLE9BQU8sQ0FBQzlCLE1BQU0sQ0FBQ3ZNLE1BQU0sR0FBQyxDQUFDLEdBQUNOLENBQUMsQ0FBQzZNLE1BQU0sQ0FBQ3ZNLE1BQU0sR0FBQyxDQUFDO1FBQUMsT0FBT04sQ0FBQyxDQUFDNFUsT0FBTyxDQUFDM1UsQ0FBQyxFQUFDTixDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxDQUFDO01BQUE7TUFBQyxPQUFPRSxDQUFDLENBQUN5TixJQUFJLElBQUUsQ0FBQyxLQUFHMU4sQ0FBQyxDQUFDb04sV0FBVyxJQUFFbk4sQ0FBQyxDQUFDdVAsT0FBTyxJQUFFcE0scUJBQXFCLENBQUUsTUFBSTtRQUFDcEQsQ0FBQyxDQUFDNFUsT0FBTyxDQUFDeE4sQ0FBQyxFQUFDekgsQ0FBQyxFQUFDRyxDQUFDLEVBQUNDLENBQUMsQ0FBQztNQUFBLENBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFFQyxDQUFDLENBQUM0VSxPQUFPLENBQUN4TixDQUFDLEVBQUN6SCxDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUFDaVcsVUFBVSxFQUFDLFNBQUFBLENBQVNyVyxDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO01BQUMsS0FBSyxDQUFDLEtBQUdELENBQUMsS0FBR0EsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO01BQUMsTUFBTUUsQ0FBQyxHQUFDLElBQUk7TUFBQyxJQUFHLENBQUNBLENBQUMsQ0FBQ3FMLFNBQVMsRUFBQyxPQUFPLEtBQUssQ0FBQyxLQUFHMUwsQ0FBQyxLQUFHQSxDQUFDLEdBQUNLLENBQUMsQ0FBQ2dHLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDLEVBQUNqRyxDQUFDLENBQUM0VSxPQUFPLENBQUM1VSxDQUFDLENBQUNvTixXQUFXLEVBQUN6TixDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUFDa1csY0FBYyxFQUFDLFNBQUFBLENBQVN0VyxDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7TUFBQyxLQUFLLENBQUMsS0FBR0YsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxLQUFLLENBQUMsS0FBR0UsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsRUFBRSxDQUFDO01BQUMsTUFBTUMsQ0FBQyxHQUFDLElBQUk7TUFBQyxJQUFHQSxDQUFDLENBQUNvTCxTQUFTLEVBQUM7TUFBTyxLQUFLLENBQUMsS0FBRzFMLENBQUMsS0FBR0EsQ0FBQyxHQUFDTSxDQUFDLENBQUMrRixNQUFNLENBQUNDLEtBQUssQ0FBQztNQUFDLElBQUkzQyxDQUFDLEdBQUNyRCxDQUFDLENBQUNtTixXQUFXO01BQUMsTUFBTTVKLENBQUMsR0FBQzhDLElBQUksQ0FBQ0UsR0FBRyxDQUFDdkcsQ0FBQyxDQUFDK0YsTUFBTSxDQUFDaUssa0JBQWtCLEVBQUMzTSxDQUFDLENBQUM7UUFBQ0ssQ0FBQyxHQUFDSCxDQUFDLEdBQUM4QyxJQUFJLENBQUN3SixLQUFLLENBQUMsQ0FBQ3hNLENBQUMsR0FBQ0UsQ0FBQyxJQUFFdkQsQ0FBQyxDQUFDK0YsTUFBTSxDQUFDZ0ssY0FBYyxDQUFDO1FBQUNwTSxDQUFDLEdBQUMzRCxDQUFDLENBQUN3TyxZQUFZLEdBQUN4TyxDQUFDLENBQUM4RixTQUFTLEdBQUMsQ0FBQzlGLENBQUMsQ0FBQzhGLFNBQVM7TUFBQyxJQUFHbkMsQ0FBQyxJQUFFM0QsQ0FBQyxDQUFDOE8sUUFBUSxDQUFDcEwsQ0FBQyxDQUFDLEVBQUM7UUFBQyxNQUFNaEUsQ0FBQyxHQUFDTSxDQUFDLENBQUM4TyxRQUFRLENBQUNwTCxDQUFDLENBQUM7UUFBQ0MsQ0FBQyxHQUFDakUsQ0FBQyxHQUFDLENBQUNNLENBQUMsQ0FBQzhPLFFBQVEsQ0FBQ3BMLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQ2hFLENBQUMsSUFBRUssQ0FBQyxLQUFHc0QsQ0FBQyxJQUFFckQsQ0FBQyxDQUFDK0YsTUFBTSxDQUFDZ0ssY0FBYyxDQUFDO01BQUEsQ0FBQyxNQUFJO1FBQUMsTUFBTXJRLENBQUMsR0FBQ00sQ0FBQyxDQUFDOE8sUUFBUSxDQUFDcEwsQ0FBQyxHQUFDLENBQUMsQ0FBQztRQUFDQyxDQUFDLEdBQUNqRSxDQUFDLElBQUUsQ0FBQ00sQ0FBQyxDQUFDOE8sUUFBUSxDQUFDcEwsQ0FBQyxDQUFDLEdBQUNoRSxDQUFDLElBQUVLLENBQUMsS0FBR3NELENBQUMsSUFBRXJELENBQUMsQ0FBQytGLE1BQU0sQ0FBQ2dLLGNBQWMsQ0FBQztNQUFBO01BQUMsT0FBTzFNLENBQUMsR0FBQ2dELElBQUksQ0FBQ0MsR0FBRyxDQUFDakQs
5043Q0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDQSxDQUFDLEdBQUNnRCxJQUFJLENBQUNFLEdBQUcsQ0FBQ2xELENBQUMsRUFBQ3JELENBQUMsQ0FBQytPLFVBQVUsQ0FBQzFPLE1BQU0sR0FBQyxDQUFDLENBQUMsRUFBQ0wsQ0FBQyxDQUFDMlUsT0FBTyxDQUFDdFIsQ0FBQyxFQUFDM0QsQ0FBQyxFQUFDRyxDQUFDLEVBQUNDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFBQzRULG1CQUFtQixFQUFDLFNBQUFBLENBQUEsRUFBVTtNQUFDLE1BQU1oVSxDQUFDLEdBQUMsSUFBSTtNQUFDLElBQUdBLENBQUMsQ0FBQzBMLFNBQVMsRUFBQztNQUFPLE1BQUs7VUFBQ3JGLE1BQU0sRUFBQ2xHLENBQUM7VUFBQzBPLFFBQVEsRUFBQ3pPO1FBQUMsQ0FBQyxHQUFDSixDQUFDO1FBQUNLLENBQUMsR0FBQyxNQUFNLEtBQUdGLENBQUMsQ0FBQ21OLGFBQWEsR0FBQ3ROLENBQUMsQ0FBQ3VOLG9CQUFvQixDQUFDLENBQUMsR0FBQ3BOLENBQUMsQ0FBQ21OLGFBQWE7TUFBQyxJQUFJaE4sQ0FBQztRQUFDcUQsQ0FBQyxHQUFDM0QsQ0FBQyxDQUFDdVcscUJBQXFCLENBQUN2VyxDQUFDLENBQUMrVCxZQUFZLENBQUM7TUFBQyxNQUFNbFEsQ0FBQyxHQUFDN0QsQ0FBQyxDQUFDOE0sU0FBUyxHQUFDLGNBQWMsR0FBRSxJQUFHM00sQ0FBQyxDQUFDNE0sVUFBVyxFQUFDO1FBQUM5SSxDQUFDLEdBQUNqRSxDQUFDLENBQUMwTixJQUFJLElBQUUxTixDQUFDLENBQUNxRyxNQUFNLENBQUNxSCxJQUFJLElBQUUxTixDQUFDLENBQUNxRyxNQUFNLENBQUNxSCxJQUFJLENBQUNDLElBQUksR0FBQyxDQUFDO01BQUMsSUFBR3hOLENBQUMsQ0FBQzROLElBQUksRUFBQztRQUFDLElBQUcvTixDQUFDLENBQUN1VSxTQUFTLEVBQUM7UUFBT2pVLENBQUMsR0FBQ2lPLFFBQVEsQ0FBQ3ZPLENBQUMsQ0FBQzhULFlBQVksQ0FBQ1AsWUFBWSxDQUFDLHlCQUF5QixDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUNwVCxDQUFDLENBQUN5UCxjQUFjLEdBQUM1UCxDQUFDLENBQUMyVixXQUFXLENBQUNyVixDQUFDLENBQUMsR0FBQ3FELENBQUMsSUFBRU0sQ0FBQyxHQUFDLENBQUNqRSxDQUFDLENBQUNrTixNQUFNLENBQUN2TSxNQUFNLEdBQUNOLENBQUMsSUFBRSxDQUFDLElBQUVMLENBQUMsQ0FBQ3FHLE1BQU0sQ0FBQ3FILElBQUksQ0FBQ0MsSUFBSSxHQUFDLENBQUMsQ0FBQyxHQUFDM04sQ0FBQyxDQUFDa04sTUFBTSxDQUFDdk0sTUFBTSxHQUFDTixDQUFDLENBQUMsSUFBRUwsQ0FBQyxDQUFDNFYsT0FBTyxDQUFDLENBQUMsRUFBQ2pTLENBQUMsR0FBQzNELENBQUMsQ0FBQ3dXLGFBQWEsQ0FBQ3BQLENBQUMsQ0FBQ2hILENBQUMsRUFBRSxHQU
5043FFeUQsQ0FBRSw2QkFBNEJ2RCxDQUFFLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMwRCxDQUFDLENBQUUsTUFBSTtVQUFDaEUsQ0FBQyxDQUFDaVYsT0FBTyxDQUFDdFIsQ0FBQyxDQUFDO1FBQUEsQ0FBRSxDQUFDLElBQUUzRCxDQUFDLENBQUNpVixPQUFPLENBQUN0UixDQUFDLENBQUM7TUFBQSxDQUFDLE1BQUszRCxDQUFDLENBQUNpVixPQUFPLENBQUN0UixDQUFDLENBQUM7SUFBQTtFQUFDLENBQUM7RUFBQyxJQUFJOFMsQ0FBQyxHQUFDO0lBQUNDLFVBQVUsRUFBQyxTQUFBQSxDQUFTMVcsQ0FBQyxFQUFDRyxDQUFDLEVBQUM7TUFBQyxNQUFNQyxDQUFDLEdBQUMsSUFBSTtRQUFDO1VBQUNpRyxNQUFNLEVBQUNoRyxDQUFDO1VBQUN3TyxRQUFRLEVBQUN2TztRQUFDLENBQUMsR0FBQ0YsQ0FBQztNQUFDLElBQUcsQ0FBQ0MsQ0FBQyxDQUFDME4sSUFBSSxJQUFFM04sQ0FBQyxDQUFDNE8sT0FBTyxJQUFFNU8sQ0FBQyxDQUFDaUcsTUFBTSxDQUFDMkksT0FBTyxDQUFDQyxPQUFPLEVBQUM7TUFBTyxNQUFNdEwsQ0FBQyxHQUFDQSxDQUFBLEtBQUk7VUFBQ3lELENBQUMsQ0FBQzlHLENBQUMsRUFBRSxJQUFHRCxDQUFDLENBQUMwTSxVQUFXLGdCQUFlLENBQUMsQ0FBQ3JNLE9BQU8sQ0FBRSxDQUFDVixDQUFDLEVBQUNHLENBQUMsS0FBRztZQUFDSCxDQUFDLENBQUMyQixZQUFZLENBQUMseUJBQXlCLEVBQUN4QixDQUFDLENBQUM7VUFBQSxDQUFFLENBQUM7UUFBQSxDQUFDO1FBQUMwRCxDQUFDLEdBQUN6RCxDQUFDLENBQUNzTixJQUFJLElBQUVyTixDQUFDLENBQUNxTixJQUFJLElBQUVyTixDQUFDLENBQUNxTixJQUFJLENBQUNDLElBQUksR0FBQyxDQUFDO01BQUN0TixDQUFDLENBQUNzVyxrQkFBa0IsS0FBR3RXLENBQUMsQ0FBQ2dRLGNBQWMsR0FBQyxDQUFDLElBQUV4TSxDQUFDLENBQUMsSUFBRSxDQUFDLE1BQUk7UUFBQyxNQUFNN0QsQ0FBQyxHQUFDb0gsQ0FBQyxDQUFDOUcsQ0FBQyxFQUFFLElBQUdELENBQUMsQ0FBQ3VXLGVBQWdCLEVBQUMsQ0FBQztRQUFDNVcsQ0FBQyxDQUFDVSxPQUFPLENBQUVWLENBQUMsSUFBRTtVQUFDQSxDQUFDLENBQUMwTSxNQUFNLENBQUMsQ0FBQztRQUFBLENBQUUsQ0FBQyxFQUFDMU0sQ0FBQyxDQUFDVyxNQUFNLEdBQUMsQ0FBQyxLQUFHUCxDQUFDLENBQUN5VyxZQU
5043FZLENBQUMsQ0FBQyxFQUFDelcsQ0FBQyxDQUFDdU8sWUFBWSxDQUFDLENBQUMsQ0FBQztNQUFBLENBQUMsRUFBRSxDQUFDO01BQUMsTUFBTTNLLENBQUMsR0FBQzNELENBQUMsQ0FBQ2dRLGNBQWMsSUFBRXhNLENBQUMsR0FBQ3hELENBQUMsQ0FBQ3FOLElBQUksQ0FBQ0MsSUFBSSxHQUFDLENBQUMsQ0FBQztRQUFDMUosQ0FBQyxHQUFDN0QsQ0FBQyxDQUFDOE0sTUFBTSxDQUFDdk0sTUFBTSxHQUFDcUQsQ0FBQyxJQUFFLENBQUM7UUFBQ0csQ0FBQyxHQUFDTixDQUFDLElBQUV6RCxDQUFDLENBQUM4TSxNQUFNLENBQUN2TSxNQUFNLEdBQUNOLENBQUMsQ0FBQ3FOLElBQUksQ0FBQ0MsSUFBSSxJQUFFLENBQUM7UUFBQ3hJLENBQUMsR0FBQ25GLENBQUMsSUFBRTtVQUFDLEtBQUksSUFBSUcsQ0FBQyxHQUFDLENBQUMsRUFBQ0EsQ0FBQyxHQUFDSCxDQUFDLEVBQUNHLENBQUMsSUFBRSxDQUFDLEVBQUM7WUFBQyxNQUFNSCxDQUFDLEdBQUNJLENBQUMsQ0FBQzBNLFNBQVMsR0FBQ2xGLENBQUMsQ0FBQyxjQUFjLEVBQUMsQ0FBQ3ZILENBQUMsQ0FBQ3VXLGVBQWUsQ0FBQyxDQUFDLEdBQUNoUCxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUN2SCxDQUFDLENBQUMwTSxVQUFVLEVBQUMxTSxDQUFDLENBQUN1VyxlQUFlLENBQUMsQ0FBQztZQUFDeFcsQ0FBQyxDQUFDeU8sUUFBUSxDQUFDaUksTUFBTSxDQUFDOVcsQ0FBQyxDQUFDO1VBQUE7UUFBQyxDQUFDO01BQUMsSUFBR2lFLENBQUMsRUFBQztRQUFDLElBQUc1RCxDQUFDLENBQUNzVyxrQkFBa0IsRUFBQztVQUFDeFIsQ0FBQyxDQUFDbkIsQ0FBQyxHQUFDNUQsQ0FBQyxDQUFDOE0sTUFBTSxDQUFDdk0sTUFBTSxHQUFDcUQsQ0FBQyxDQUFDLEVBQUM1RCxDQUFDLENBQUN5VyxZQU
5043FZLENBQUMsQ0FBQyxFQUFDelcsQ0FBQyxDQUFDdU8sWUFBWSxDQUFDLENBQUM7UUFBQSxDQUFDLE1BQUtsSCxDQUFDLENBQUMsaUxBQWlMLENBQUM7UUFBQzlELENBQUMsQ0FBQyxDQUFDO01BQUEsQ0FBQyxNQUFLLElBQUdRLENBQUMsRUFBQztRQUFDLElBQUc5RCxDQUFDLENBQUNzVyxrQkFBa0IsRUFBQztVQUFDeFIsQ0FBQyxDQUFDOUUsQ0FBQyxDQUFDcU4sSUFBSSxDQUFDQyxJQUFJLEdBQUN2TixDQUFDLENBQUM4TSxNQUFNLENBQUN2TSxNQUFNLEdBQUNOLENBQUMsQ0FBQ3FOLElBQUksQ0FBQ0MsSUFBSSxDQUFDLEVBQUN2TixDQUFDLENBQUN5VyxZQUFZLENBQUMsQ0FBQyxFQUFDelcsQ0FBQyxDQUFDdU8sWUFBWSxDQUFDLENBQUM7UUFBQSxDQUFDLE1BQUtsSCxDQUFDLENBQUMsNEtBQTRLLENBQUM7UUFBQzlELENBQUMsQ0FBQyxDQUFDO01BQUEsQ0FBQyxNQUFLQSxDQUFDLENBQUMsQ0FBQztNQUFDdkQsQ0FBQyxDQUFDd1YsT0FBTyxDQUFDO1FBQUNFLGNBQWMsRUFBQzlWLENBQUM7UUFBQzhVLFNBQVMsRUFBQ3pVLENBQUMsQ0FBQ3VQLGNBQWMsR0FBQyxLQUFLLENBQUMsR0FBQyxNQUFNO1FBQUNtSCxPQUFPLEVBQUM1VztNQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFBQ3lWLE9BQU8sRUFBQyxTQUFBQSxDQUFTNVYsQ0FBQyxFQUFDO01BQUMsSUFBRztRQUFDOFYsY0FBYyxFQUFDM1YsQ0FBQztRQUFDOFUsT0FBTyxFQUFDN1UsQ0FBQyxHQUFDLENBQUMsQ0FBQztRQUFDMFUsU0FBUyxFQUFDelUsQ0FBQztRQUFDK1QsWUFBWSxFQUFDOVQsQ0FBQztRQUFDdVYsZ0JBQWdCLEVBQUNsUyxDQUFDO1FBQUNvVCxPQUFPLEVBQUNsVCxDQUFDO1FBQUNtVCxZQUFZLEVBQUNoVCxDQUFDO1FBQUNpVCxZQUFZLEVBQUNoVDtNQUFDLENBQUMsR0FBQyxLQUFLLENBQUMsS0FBR2pFLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQ0EsQ0FBQztNQUFDLE1BQU1tRSxDQUFDLEdBQUMsSUFBSTtNQUFDLElBQUcsQ0FBQ0EsQ0FBQyxDQUFDa0MsTUFBTSxDQUFDMEgsSUFBSSxFQUFDO01BQU81SixDQUFDLENBQUNnSSxJQUFJLENBQUMsZUFBZSxDQUFDO01BQUMsTUFBSztVQUFDZSxNQUFNLEVBQUMvSCxDQUFDO1VBQUNnUSxjQUFjLEVBQUM1UCxDQUFDO1VBQUMyUCxjQUFjLEVBQUNwUCxDQUFDO1VBQUMrSSxRQUFRLEVBQUM3SSxDQUFDO1VBQUNLLE1BQU0sRUFBQ2E7UUFBQyxDQUFDLEdBQUMvQyxDQUFDO1FBQUM7VUFBQ3lMLGNBQWMsRUFBQ3hJLENBQUM7VUFBQ29PLFlBQVksRUFBQzVOO1FBQUMsQ0FBQyxHQUFDVixDQUFDO01BQUMsSUFBRy9DLENBQUMsQ0FBQ2dSLGNBQWMsR0FBQyxDQUFDLENBQUMsRUFBQ2hSLENBQUMsQ0FBQytRLGNBQWMsR0FBQyxDQUFDLENBQUMsRUFBQy9RLENBQUMsQ0FBQzZLLE9BQU8sSUFBRTlILENBQUMsQ0FBQzhILE9BQU8sQ0FBQ0MsT0FBTyxFQUFDLE9BQU83TyxDQUFDLEtBQUc4RyxDQUFDLENBQUMwSSxjQUFjLElBQUUsQ0FBQyxLQUFHekwsQ0FBQyxDQUFDa1AsU0FBUyxHQUFDbk0sQ0FBQyxDQUFDMEksY0FBYyxJQUFFekwsQ0FBQyxDQUFDa1AsU0FBUyxHQUFDbk0sQ0FBQyxDQUFDb0csYUFBYSxHQUFDbkosQ0FBQyxDQUFDOFEsT0FBTyxDQUFDOVEsQ0FBQyxDQUFDNkssT0FBTyxDQUFDOUIsTUFBTSxDQUFDdk0sTUFBTSxHQUFDd0QsQ0FBQyxDQUFDa1AsU0FBUyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDbFAsQ0FBQyxDQUFDa1AsU0FBUyxLQUFHbFAsQ0FBQyxDQUFDaUwsUUFBUSxDQUFDek8sTUFBTSxHQUFDLENBQUMsSUFBRXdELENBQUMsQ0FBQzhRLE9BQU8sQ0FBQzlRLENBQUMsQ0FBQzZLLE9BQU8sQ0FBQzBCLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQ3ZNLENBQUMsQ0FBQzhRLE9BQU8sQ0FBQzlRLENBQUMsQ0FBQzZLLE9BQU8sQ0FBQzlCLE1BQU0sQ0FBQ3ZNLE1BQU0sRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDd0QsQ0FBQyxDQUFDZ1IsY0FBYyxHQUFDNVAsQ0FBQyxFQUFDcEIsQ0FBQyxDQUFDK1EsY0FBYyxHQUFDcFAsQ0FBQyxFQUFDLEtBQUszQixDQUFDLENBQUNnSSxJQUFJLENBQUMsU0FBUyxDQUFDO01BQUMsSUFBSWxFLENBQUMsR0FBQ2YsQ0FBQyxDQUFDb0csYUFBYTtNQUFDLE1BQU0sS0FBR3JGLENBQUMsR0FBQ0EsQ0FBQyxHQUFDOUQsQ0FBQyxDQUFDb0osb0JBQW9CLENBQUMsQ0FBQyxJQUFFdEYsQ0FBQyxHQUFDdEIsSUFBSSxDQUFDNkcsSUFBSSxDQUFDdkksVUFBVSxDQUFDaUMsQ0FBQyxDQUFDb0csYUFBYSxFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUNsRyxDQUFDLElBQUVhLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxLQUFHQSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUM7TUFBQyxNQUFNVSxDQUFDLEdBQUN6QixDQUFDLENBQUM4TyxrQkFBa0IsR0FBQy9OLENBQUMsR0FBQ2YsQ0FBQyxDQUFDbUosY0FBYztNQUFDLElBQUl6SCxDQUFDLEdBQUN4QixDQUFDLEdBQUNULElBQUksQ0FBQ0MsR0FBRyxDQUFDK0IsQ0FBQyxFQUFDaEMsSUFBSSxDQUFDNkcsSUFBSSxDQUFDdkYsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUNVLENBQUM7TUFBQ0MsQ0FBQyxHQUFDRCxDQUFDLElBQUUsQ0FBQyxLQUFHQyxDQUFDLElBQUVELENBQUMsR0FBQ0MsQ0FBQyxHQUFDRCxDQUFDLENBQUMsRUFBQ0MsQ0FBQyxJQUFFMUIsQ0FBQyxDQUFDZ1Esb0JBQW9CLEVBQUMvUyxDQUFDLENBQUNnVCxZQUFZLEdBQUN2TyxDQUFDO01BQUMsTUFBTUUsQ0FBQyxHQUFDM0UsQ0FBQyxDQUFDdUosSUFBSSxJQUFFeEcsQ0FBQyxDQUFDd0csSUFBSSxJQUFFeEcsQ0FBQyxDQUFDd0csSUFBSSxDQUFDQyxJQUFJLEdBQUMsQ0FBQztNQUFDeEksQ0FBQyxDQUFDeEUsTUFBTSxHQUFDc0gsQ0FBQyxHQUFDVyxDQUFDLElBQUUsT0FBTyxLQUFHekUsQ0FBQyxDQUFDa0MsTUFBTSxDQUFDa0ssTUFBTSxJQUFFcEwsQ0FBQyxDQUFDeEUsTUFBTSxHQUFDc0gsQ0FBQyxHQUFDLENBQUMsR0FBQ1csQ0FBQyxHQUFDbkIsQ0FBQyxDQUFDLDBPQUEwTyxDQUFDLEdBQUNxQixDQUFDLElBQUUsS0FBSyxLQUFHNUIsQ0FBQyxDQUFDd0csSUFBSSxDQUFDMEosSUFBSSxJQUFFM1AsQ0FBQyxDQUFDLHlFQUF5RSxDQUFDO01BQUMsTUFBTXVCLENBQUMsR0FBQyxFQUFFO1FBQUNFLENBQUMsR0FBQyxFQUFFO1FBQUNFLENBQUMsR0FBQ04sQ0FBQyxHQUFDbkMsSUFBSSxDQUFDNkcsSUFBSSxDQUFDckksQ0FBQyxDQUFDeEUsTUFBTSxHQUFDdUcsQ0FBQyxDQUFDd0csSUFBSSxDQUFDQyxJQUFJLENBQUMsR0FBQ3hJLENBQUMsQ0FBQ3hFLE1BQU07UUFBQzBJLENBQUMsR0FBQ3hGLENBQUMsSUFBRXVGLENBQUMsR0FBQ3hCLENBQUMsR0FBQ0ssQ0FBQyxJQUFFLENBQUNiLENBQUM7T
5043UFBQyxJQUFJcUMsQ0FBQyxHQUFDSixDQUFDLEdBQUN6QixDQUFDLEdBQUN6RCxDQUFDLENBQUNzSixXQUFXO01BQUMsS0FBSyxDQUFDLEtBQUc5SixDQUFDLEdBQUNBLENBQUMsR0FBQ1EsQ0FBQyxDQUFDcVMsYUFBYSxDQUFDclIsQ0FBQyxDQUFDeU4sSUFBSSxDQUFFNVMsQ0FBQyxJQUFFQSxDQUFDLENBQUM2SCxTQUFTLENBQUM0RSxRQUFRLENBQUN2RixDQUFDLENBQUM2TCxnQkFBZ0IsQ0FBRSxDQUFDLENBQUMsR0FBQ3RKLENBQUMsR0FBQzlGLENBQUM7TUFBQyxNQUFNbUcsQ0FBQyxHQUFDLE1BQU0sS0FBR3pKLENBQUMsSUFBRSxDQUFDQSxDQUFDO1FBQUMwSixDQUFDLEdBQUMsTUFBTSxLQUFHMUosQ0FBQyxJQUFFLENBQUNBLENBQUM7TUFBQyxJQUFJMkosQ0FBQyxHQUFDLENBQUM7UUFBQ0MsQ0FBQyxHQUFDLENBQUM7TUFBQyxNQUFNSyxDQUFDLEdBQUMsQ0FBQ3hCLENBQUMsR0FBQzNELENBQUMsQ0FBQ3hCLENBQUMsQ0FBQyxDQUFDa0ssTUFBTSxHQUFDbEssQ0FBQyxLQUFHeUQsQ0FBQyxJQUFFLEtBQUssQ0FBQyxLQUFHOUcsQ0FBQyxHQUFDLENBQUMySCxDQUFDLEdBQUMsQ0FBQyxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7TUFBQyxJQUFHcUMsQ0FBQyxHQUFDMUIsQ0FBQyxFQUFDO1FBQUNvQixDQUFDLEdBQUNyRCxJQUFJLENBQUNDLEdBQUcsQ0FBQ2dDLENBQUMsR0FBQzBCLENBQUMsRUFBQzNCLENBQUMsQ0FBQztRQUFDLEtBQUksSUFBSTNJLENBQUMsR0FBQyxDQUFDLEVBQUNBLENBQUMsR0FBQzRJLENBQUMsR0FBQzBCLENBQUMsRUFBQ3RLLENBQUMsSUFBRSxDQUFDLEVBQUM7VUFBQyxNQUFNRyxDQUFDLEdBQUNILENBQUMsR0FBQzJHLElBQUksQ0FBQ3dKLEtBQUssQ0FBQ25RLENBQUMsR0FBQ29KLENBQUMsQ0FBQyxHQUFDQSxDQUFDO1VBQUMsSUFBR04sQ0FBQyxFQUFDO1lBQUMsTUFBTTlJLENBQUMsR0FBQ29KLENBQUMsR0FBQ2pKLENBQUMsR0FBQyxDQUFDO1lBQUMsS0FBSSxJQUFJQSxDQUFDLEdBQUNnRixDQUFDLENBQUN4RSxNQUFNLEdBQUMsQ0FBQyxFQUFDUixDQUFDLElBQUUsQ0FBQyxFQUFDQSxDQUFDLElBQUUsQ0FBQyxFQUFDZ0YsQ0FBQyxDQUFDaEYsQ0FBQyxDQUFDLENBQUMwTixNQUFNLEtBQUc3TixDQUFDLElBQUVnSixDQUFDLENBQUMxQixJQUFJLENBQUNuSCxDQUFDLENBQUM7VUFBQSxDQUFDLE1BQUs2SSxDQUFDLENBQUMxQixJQUFJLENBQUM4QixDQUFDLEdBQUNqSixDQUFDLEdBQUMsQ0FBQyxDQUFDO1FBQUE7TUFBQyxDQUFDLE1BQUssSUFBR21LLENBQUMsR0FBQ3JDLENBQUMsR0FBQ21CLENBQUMsR0FBQ1IsQ0FBQyxFQUFDO1FBQUNxQixDQUFDLEdBQUN0RCxJQUFJLENBQUNDLEdBQUcsQ0FBQzBELENBQUMsSUFBRWxCLENBQUMsR0FBQyxDQUFDLEdBQUNSLENBQUMsQ0FBQyxFQUFDRCxDQUFDLENBQUMsRUFBQ1UsQ0FBQyxLQUFHWSxDQUFDLEdBQUN0RCxJQUFJLENBQUNDLEdBQUcsQ0FBQ3FELENBQUMsRUFBQ2hDLENBQUMsR0FBQ21CLENBQUMsR0FBQ3hCLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztRQUFDLEtBQUksSUFBSTVILENBQUMsR0FBQyxDQUFDLEVBQUNBLENBQUMsR0FBQ2lLLENBQUMsRUFBQ2pLLENBQUMsSUFBRSxDQUFDLEVBQUM7VUFBQyxNQUFNRyxDQUFDLEdBQUNILENBQUMsR0FBQzJHLElBQUksQ0FBQ3dKLEtBQUssQ0FBQ25RLENBQUMsR0FBQ29KLENBQUMsQ0FBQyxHQUFDQSxDQUFDO1VBQUNOLENBQUMsR0FBQzNELENBQUMsQ0FBQ3pFLE9BQU8sQ0FBRSxDQUFDVixDQUFDLEVBQUNJLENBQUMsS0FBRztZQUFDSixDQUFDLENBQUM2TixNQUFNLEtBQUcxTixDQUFDLElBQUUrSSxDQUFDLENBQUM1QixJQUFJLENBQUNsSCxDQUFDLENBQUM7VUFBQSxDQUFFLENBQUMsR0FBQzhJLENBQUMsQ0FBQzVCLElBQUksQ0FBQ25ILENBQUMsQ0FBQztRQUFBO01BQUM7TUFBQyxJQUFHZ0UsQ0FBQyxDQUFDa1QsbUJBQW1CLEdBQUMsQ0FBQyxDQUFDLEVBQUM1VCxxQkFBcUIsQ0FBRSxNQUFJO1FBQUNVLENBQUMsQ0FBQ2tULG1CQUFtQixHQUFDLENBQUMsQ0FBQztNQUFBLENBQUUsQ0FBQyxFQUFDLE9BQU8sS0FBR2xULENBQUMsQ0FBQ2tDLE1BQU0sQ0FBQ2tLLE1BQU0sSUFBRXBMLENBQUMsQ0FBQ3hFLE1BQU0sR0FBQ3NILENBQUMsR0FBQyxDQUFDLEdBQUNXLENBQUMsS0FBR00sQ0FBQyxDQUFDK0IsUUFBUSxDQUFDdEgsQ0FBQyxDQUFDLElBQUV1RixDQUFDLENBQUNnRCxNQUFNLENBQUNoRCxDQUFDLENBQUN6SSxPQUFPLENBQUNrRCxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQ3FGLENBQUMsQ0FBQ2lDLFFBQVEsQ0FBQ3RILENBQUMsQ0FBQyxJQUFFcUYsQ0FBQyxDQUFDa0QsTUFBTSxDQUFDbEQsQ0FBQyxDQUFDdkksT0FBTyxDQUFDa0QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQ29HLENBQUMsSUFBRWYsQ0FBQyxDQUFDdEksT0FBTyxDQUFFVixDQUFDLElBQUU7UUFBQ21GLENBQUMsQ0FBQ25GLENBQUMsQ0FBQyxDQUFDc1gsaUJBQWlCLEdBQUMsQ0FBQyxDQUFDLEVBQUN0UixDQUFDLENBQUN1UixPQUFPLENBQUNwUyxDQUFDLENBQUNuRixDQUFDLENBQUMsQ0FBQyxFQUFDbUYsQ0FBQyxDQUFDbkYsQ0FBQyxDQUFDLENBQUNzWCxpQkFBaUIsR0FBQyxDQUFDLENBQUM7TUFBQSxDQUFFLENBQUMsRUFBQ3hOLENBQUMsSUFBRVosQ0FBQyxDQUFDeEksT0FBTyxDQUFFVixDQUFDLElBQUU7UUFBQ21GLENBQUMsQ0FBQ25GLENBQUMsQ0FBQyxDQUFDc1gsaUJBQWlCLEdBQUMsQ0FBQyxDQUFDLEVBQUN0UixDQUFDLENBQUM4USxNQUFNLENBQUMzUixDQUFDLENBQUNuRixDQUFDLENBQUMsQ0FBQyxFQUFDbUYsQ0FBQyxDQUFDbkYsQ0FBQyxDQUFDLENBQUNzWCxpQkFBaUIsR0FBQyxDQUFDLENBQUM7TUFBQSxDQUFFLENBQUMsRUFBQ25ULENBQUMsQ0FBQzBTLFlBQVksQ0FBQyxDQUFDLEVBQUMsTUFBTSxLQUFHM1AsQ0FBQyxDQUFDb0csYUFBYSxHQUFDbkosQ0FBQyxDQUFDd0ssWUFBWSxDQUFDLENBQUMsR0FBQzdGLENBQUMsS0FBR0UsQ0FBQyxDQUFDckksTUFBTSxHQUFDLENBQUMsSUFBRW9KLENBQUMsSUFBRWIsQ0FBQyxDQUFDdkksTUFBTSxHQUFDLENBQUMsSUFBRW1KLENBQUMsQ0FBQyxJQUFFM0YsQ0FBQyxDQUFDK0ksTUFBTSxDQUFDeE0sT0FBTyxDQUFFLENBQUNWLENBQUMsRUFBQ0csQ0FBQyxLQUFHO1FBQUNnRSxDQUFDLENBQUN1SixJQUFJLENBQUN1QyxXQUFXLENBQUM5UCxDQUFDLEVBQUNILENBQUMsRUFBQ21FLENBQUMsQ0FBQytJLE1BQU0sQ0FBQztNQUFBLENBQUUsQ0FBQyxFQUFDaEcsQ0FBQyxDQUFDK0osbUJBQW1CLElBQUU5TSxDQUFDLENBQUMrTSxrQkFBa0IsQ0FBQyxDQUFDLEVBQUM5USxDQUFDLEVBQUMsSUFBRzRJLENBQUMsQ0FBQ3JJLE1BQU0sR0FBQyxDQUFDLElBQUVvSixDQUFDLEVBQUM7UUFBQyxJQUFHLEtB
5043QUssQ0FBQyxLQUFHNUosQ0FBQyxFQUFDO1VBQUMsTUFBTUgsQ0FBQyxHQUFDbUUsQ0FBQyxDQUFDa0wsVUFBVSxDQUFDNUYsQ0FBQyxDQUFDO1lBQUN0SixDQUFDLEdBQUNnRSxDQUFDLENBQUNrTCxVQUFVLENBQUM1RixDQUFDLEdBQUNPLENBQUMsQ0FBQyxHQUFDaEssQ0FBQztVQUFDaUUsQ0FBQyxHQUFDRSxDQUFDLENBQUNpUSxZQUFZLENBQUNqUSxDQUFDLENBQUNpQyxTQUFTLEdBQUNqRyxDQUFDLENBQUMsSUFBRWdFLENBQUMsQ0FBQzhRLE9BQU8sQ0FBQ3hMLENBQUMsR0FBQzlDLElBQUksQ0FBQzZHLElBQUksQ0FBQ3hELENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDMUosQ0FBQyxLQUFHNkQsQ0FBQyxDQUFDcVQsZUFBZSxDQUFDQyxjQUFjLEdBQUN0VCxDQUFDLENBQUNxVCxlQUFlLENBQUNDLGNBQWMsR0FBQ3RYLENBQUMsRUFBQ2dFLENBQUMsQ0FBQ3FULGVBQWUsQ0FBQ0UsZ0JBQWdCLEdBQUN2VCxDQUFDLENBQUNxVCxlQUFlLENBQUNFLGdCQUFnQixHQUFDdlgsQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDLE1BQUssSUFBR0csQ0FBQyxFQUFDO1VBQUMsTUFBTU4sQ0FBQyxHQUFDOEksQ0FBQyxHQUFDRSxDQUFDLENBQUNySSxNQUFNLEdBQUN1RyxDQUFDLENBQUN3RyxJQUFJLENBQUNDLElBQUksR0FBQzNFLENBQUMsQ0FBQ3JJLE1BQU07VUFBQ3dELENBQUMsQ0FBQzhRLE9BQU8sQ0FBQzlRLENBQUMsQ0FBQ3NKLFdBQVcsR0FBQ3pOLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQ21FLENBQUMsQ0FBQ3FULGVBQWUsQ0FBQ0UsZ0JBQWdCLEdBQUN2VCxDQUFDLENBQUNpQyxTQUFTO1FBQUE7TUFBQyxDQUFDLE1BQUssSUFBRzhDLENBQUMsQ0FBQ3ZJLE1BQU0sR0FBQyxDQUFDLElBQUVtSixDQUFDLEVBQUMsSUFBRyxLQUFLLENBQUMsS0FBRzNKLENBQUMsRUFBQztRQUFDLE1BQU1ILENBQUMsR0FBQ21FLENBQUMsQ0FBQ2tMLFVBQVUsQ0FBQzVGLENBQUMsQ0FBQztVQUFDdEosQ0FBQyxHQUFDZ0UsQ0FBQyxDQUFDa0wsVUFBVSxDQUFDNUYsQ0FBQyxHQUFDUSxDQUFDLENBQUMsR0FBQ2pLLENBQUM7UUFBQ2lFLENBQUMsR0FBQ0UsQ0FBQyxDQUFDaVEsWUFBWSxDQUFDalEsQ0FBQyxDQUFDaUMsU0FBUyxHQUFDakcsQ0FBQyxDQUFDLElBQUVnRSxDQUFDLENBQUM4USxPQUFPLENBQUN4TCxDQUFDLEdBQUNRLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQzNKLENBQUMsS0FBRzZELENBQUMsQ0FBQ3FULGVBQWUsQ0FBQ0MsY0FBYyxHQUFDdFQsQ0FBQyxDQUFDcVQsZUFBZSxDQUFDQyxjQUFjLEdBQUN0WCxDQUFDLEVBQUNnRSxDQUFDLENBQUNxVCxlQUFlLENBQUNFLGdCQUFnQixHQUFDdlQsQ0FBQyxDQUFDcVQsZUFBZSxDQUFDRSxnQkFBZ0IsR0FBQ3ZYLENBQUMsQ0FBQyxDQUFDO01BQUEsQ0FBQyxNQUFJO1FBQUMsTUFBTUgsQ0FBQyxHQUFDOEksQ0FBQyxHQUFDSSxDQUFDLENBQUN2SSxNQUFNLEdBQUN1RyxDQUFDLENBQUN3RyxJQUFJLENBQUNDLElBQUksR0FBQ3pFLENBQUMsQ0FBQ3ZJLE1BQU07UUFBQ3dELENBQUMsQ0FBQzhRLE9BQU8sQ0FBQzlRLENBQUMsQ0FBQ3NKLFdBQVcsR0FBQ3pOLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7TUFBQTtNQUFDLElBQUdtRSxDQUFDLENBQUNnUixjQUFjLEdBQUM1UCxDQUFDLEVBQUNwQixDQUFDLENBQUMrUSxjQUFjLEdBQUNwUCxDQUFDLEVBQUMzQixDQUFDLENBQUN3VCxVQUFVLElBQUV4VCxDQUFDLENBQUN3VCxVQUFVLENBQUNDLE9BQU8sSUFBRSxDQUFDNVQsQ0FBQyxFQUFDO1FBQUMsTUFBTWhFLENBQUMsR0FBQztVQUFDOFYsY0FBYyxFQUFDM1YsQ0FBQztVQUFDMlUsU0FBUyxFQUFDelUsQ0FBQztVQUFDK1QsWUFBWSxFQUFDOVQsQ0FBQztVQUFDdVYsZ0JBQWdCLEVBQUNsUyxDQUFDO1VBQUNxVCxZQUFZLEVBQUMsQ0FBQztRQUFDLENBQUM7UUFBQ2pQLEtBQUssQ0FBQ0MsT0FBTyxDQUFDN0QsQ0FBQyxDQUFDd1QsVUFBVSxDQUFDQyxPQUFPLENBQUMsR0FBQ3pULENBQUMsQ0FBQ3dULFVBQVUsQ0FBQ0MsT0FBTyxDQUFDbFgsT0FBTyxDQUFFUCxDQUFDLElBQUU7VUFBQyxDQUFDQSxDQUFDLENBQUN1TCxTQUFTLElBQUV2TCxDQUFDLENBQUNrRyxNQUFNLENBQUMwSCxJQUFJLElBQUU1TixDQUFDLENBQUN5VixPQUFPLENBQUM7WUFBQyxHQUFHNVYsQ0FBQztZQUFDaVYsT0FBTyxFQUFDOVUsQ0FBQyxDQUFDa0csTUFBTSxDQUFDaUgsYUFBYSxLQUFHcEcsQ0FBQyxDQUFDb0csYUFBYSxJQUFFbE47VUFBQyxDQUFDLENBQUM7UUFBQSxDQUFFLENBQUMsR0FBQytELENBQUMsQ0FBQ3dULFVBQVUsQ0FBQ0MsT0FBTyxZQUFZelQsQ0FBQyxDQUFDbEUsV0FBVyxJQUFFa0UsQ0FBQyxDQUFDd1QsVUFBVSxDQUFDQyxPQUFPLENBQUN2UixNQUFNLENBQUMwSCxJQUFJLElBQUU1SixDQUFDLENBQUN3VCxVQUFVLENBQUNDLE9BQU8sQ0FBQ2hDLE9BQU8sQ0FBQztVQUFDLEdBQUc1VixDQUFDO1VBQUNpVixPQUFPLEVBQUM5USxDQUFDLENBQUN3VCxVQUFVLENBQUNDLE9BQU8sQ0FBQ3ZSLE1BQU0sQ0FBQ2lILGFBQWEsS0FBR3BHLENBQUMsQ0FBQ29HLGFBQWEsSUFBRWxOO1FBQUMsQ0FBQyxDQUFDO01BQUE7TUFBQytELENBQUMsQ0FBQ2dJLElBQUksQ0FBQyxTQUFTLENBQUM7SUFBQSxDQUFDO0lBQUMwTCxXQUFXLEVBQUMsU0FBQUEsQ0FBQSxFQUFVO01BQUMsTUFBTTdYLENBQUMsR0FBQyxJQUFJO1FBQUM7VUFBQ3FHLE1BQU0sRUFBQ2xHLENBQUM7VUFBQzBPLFFBQVEsRUFBQ3pPO1FBQUMsQ0FBQyxHQUFDSixDQUFDO01BQUMsSUFBRyxDQUFDRyxDQUFDLENBQUM0TixJQUFJLElBQUUsQ0FBQzNOLENBQUMsSUFBRUosQ0FBQyxDQUFDZ1AsT0FBTyxJQUFFaFAsQ0FBQyxDQUFDcUcsTUFBTSxDQUFDMkksT0FBTyxDQUFDQyxPQUFPLEVBQUM7TUFBT2pQLENBQUMsQ0FBQzZXLFlBQVksQ0FBQyxDQUFDO01BQUMsTUFBTXhXLENBQUMsR0FBQyxFQUFFO01BQUNMLENBQUMsQ0FBQ2tOLE1BQU0sQ0FBQ3hNLE9BQU8sQ0FBRVYsQ0FBQyxJQUFFO1FBQUMsTUFBTUcsQ0FBQyxHQUFDLEtBQUssQ0FBQyxLQUFHSCxDQUFDLENBQUM4WCxnQkFBZ0IsR0FBQyxDQUFDLEdBQUM5WCxDQUFDLENBQUN1VCxZQUFZLENBQUMseUJBQXlCLENBQUMsR0FBQ3ZULENBQUMsQ0FBQzhYLGdCQUFnQjtRQUFDelgsQ0FBQyxDQUFDRixDQUFDLENBQUMsR0FBQ0gsQ0FBQztNQUFBLENBQUUsQ0FBQyxFQUFDQSxDQUFDLENBQUNrTixNQUFNLENBQUN4TSxPQUFPLENBQUVWLENBQUMsSUFBRTtRQUFDQSxDQUFDLENBQUNtTixlQUFlLENBQUMseUJBQXlCLENBQUM7T
5043UFBQSxDQUFFLENBQUMsRUFBQzlNLENBQUMsQ0FBQ0ssT0FBTyxDQUFFVixDQUFDLElBQUU7UUFBQ0ksQ0FBQyxDQUFDMFcsTUFBTSxDQUFDOVcsQ0FBQyxDQUFDO01BQUEsQ0FBRSxDQUFDLEVBQUNBLENBQUMsQ0FBQzZXLFlBQVksQ0FBQyxDQUFDLEVBQUM3VyxDQUFDLENBQUNpVixPQUFPLENBQUNqVixDQUFDLENBQUNvVCxTQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQUE7RUFBQyxDQUFDO0VBQUMsU0FBUzJFLENBQUNBLENBQUMvWCxDQUFDLEVBQUNHLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO0lBQUMsTUFBTUMsQ0FBQyxHQUFDc0QsQ0FBQyxDQUFDLENBQUM7TUFBQztRQUFDMEMsTUFBTSxFQUFDL0Y7TUFBQyxDQUFDLEdBQUNOLENBQUM7TUFBQzZELENBQUMsR0FBQ3ZELENBQUMsQ0FBQzBYLGtCQUFrQjtNQUFDaFUsQ0FBQyxHQUFDMUQsQ0FBQyxDQUFDMlgsa0JBQWtCO0lBQUMsT0FBTSxDQUFDcFUsQ0FBQyxJQUFFLEVBQUV6RCxDQUFDLElBQUU0RCxDQUFDLElBQUU1RCxDQUFDLElBQUVDLENBQUMsQ0FBQzZYLFVBQVUsR0FBQ2xVLENBQUMsQ0FBQyxJQUFFLFNBQVMsS0FBR0gsQ0FBQyxLQUFHMUQsQ0FBQyxDQUFDZ1ksY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztFQUFBO0VBQUMsU0FBU0MsQ0FBQ0EsQ0FBQ3BZLENBQUMsRUFBQztJQUFDLE1BQU1HLENBQUMsR0FBQyxJQUFJO01BQUNDLENBQUMsR0FBQ0MsQ0FBQyxDQUFDLENBQUM7SUFBQyxJQUFJQyxDQUFDLEdBQUNOLENBQUM7SUFBQ00sQ0FBQyxDQUFDK1gsYUFBYSxLQUFHL1gsQ0FBQyxHQUFDQSxDQUFDLENBQUMrWCxhQUFhLENBQUM7SUFBQyxNQUFNeFUsQ0FBQyxHQUFDMUQsQ0FBQyxDQUFDcVgsZUFBZTtJQUFDLElBQUcsYUFBYSxLQUFHbFgsQ0FBQyxDQUFDZ1ksSUFBSSxFQUFDO01BQUMsSUFBRyxJQUFJLEtBQUd6VSxDQUFDLENBQUMwVSxTQUFTLElBQUUxVSxDQUFDLENBQUMwVSxTQUFTLEtBQUdqWSxDQUFDLENBQUNpWSxTQUFTLEVBQUM7TUFBTzFVLENBQUMsQ0FBQzBVLFNBQVMsR0FBQ2pZLENBQUMsQ0FBQ2lZLFNBQVM7SUFBQSxDQUFDLE1BQUksWUFBWSxLQUFHalksQ0FBQyxDQUFDZ1ksSUFBSSxJQUFFLENBQUMsS0FBR2hZLENBQUMsQ0FBQ2tZLGFBQWEsQ0FBQzdYLE1BQU0sS0FBR2tELENBQUMsQ0FBQzRVLE9BQU8sR0FBQ25ZLENBQUMsQ0FBQ2tZLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQ0UsVUFBVSxDQUFDO0lBQUMsSUFBRyxZQUFZLEtBQUdwWSxDQUFDLENBQUNnWSxJQUFJLEVBQUMsT0FBTyxLQUFLUCxDQUFDLENBQUM1WCxDQUFDLEVBQUNHLENBQUMsRUFBQ0EsQ0FBQyxDQUFDa1ksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDRyxLQUFLLENBQUM7SUFBQyxNQUFLO01BQUN0UyxNQUFNLEVBQUNyQyxDQUFDO01BQUM0VSxPQUFPLEVBQUN6VSxDQUFDO01BQUM4SyxPQUFPLEVBQUM5SjtJQUFDLENBQUMsR0FBQ2hGLENBQUM7SUFBQyxJQUFHLENBQUNnRixDQUFDLEVBQUM7SUFBTyxJQUFHLENBQUNuQixDQUFDLENBQUM2VSxhQUFhLElBQUUsT0FBTyxLQUFHdlksQ0FBQyxDQUFDd1ksV0FBVyxFQUFDO0lBQU8sSUFBRzNZLENBQUMsQ0FBQ29VLFNBQVMsSUFBRXZRLENBQUMsQ0FBQ3dRLDhCQUE4QixFQUFDO0lBQU8sQ0FBQ3JVLENBQUMsQ0FBQ29VLFNBQVMsSUFBRXZRLENBQUMsQ0FBQzZMLE9BQU8sSUFBRTdMLENBQUMsQ0FBQytKLElBQUksSUFBRTVOLENBQUMsQ0FBQ3lWLE9BQU8sQ0FBQyxDQUFDO0lBQUMsSUFBSXJRLENBQUMsR0FBQ2pGLENBQUMsQ0FBQzJJLE1BQU07SUFBQyxJQUFHLFNBQVMsS0FBR2pGLENBQUMsQ0FBQytVLGlCQUFpQixJQUFFLENBQUMsVUFBUy9ZLENBQUMsRUFBQ0csQ0FBQyxFQUFDO01BQUMsTUFBTUMsQ0FBQyxHQUFDdUQsQ0FBQyxDQUFDLENBQUM7TUFBQyxJQUFJdEQsQ0FBQyxHQUFDRixDQUFDLENBQUNzTSxRQUFRLENBQUN6TSxDQUFDLENBQUM7TUFBQyxDQUFDSyxDQUFDLElBQUVELENBQUMsQ0FBQ2lILGVBQWUsSUFBRWxILENBQUMsWUFBWWtILGVBQWUsS0FBR2hILENBQUMsR0FBQyxDQUFDLEdBQUdGLENBQUMsQ0FBQ29ILGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDMEQsUUFBUSxDQUFDakwsQ0FBQyxDQUFDLEVBQUNLLENBQUMsS0FBR0EsQ0FBQyxHQUFDLFVBQVNMLENBQUMsRUFBQ0csQ0FBQyxFQUFDO1FBQUMsTUFBTUMsQ0FBQyxHQUFDLENBQUNELENBQUMsQ0FBQztRQUFDLE9BQUtDLENBQUMsQ0FBQ08sTUFBTSxHQUFDLENBQUMsR0FBRTtVQUFDLE1BQU1SLENBQUMsR0FBQ0MsQ0FBQyxDQUFDNFksS0FBSyxDQUFDLENBQUM7VUFBQyxJQUFHaFosQ0FBQyxLQUFHRyxDQUFDLEVBQUMsT0FBTSxDQUFDLENBQUM7VUFBQ0MsQ0FBQyxDQUFDa0gsSUFBSSxDQUFDLEdBQUduSCxDQUFDLENBQUNxQixRQUFRLEVBQUMsSUFBR3JCLENBQUMsQ0FBQ2dILFVBQVUsR0FBQ2hILENBQUMsQ0FBQ2dILFVBQVUsQ0FBQzNGLFFBQVEsR0FBQyxFQUFFLEdBQUMsSUFBR3JCLENBQUMsQ0FBQ29ILGdCQUFnQixHQUFDcEgsQ0FBQyxDQUFDb0gsZ0JBQWdCLENBQUMsQ0FBQyxHQUFDLEVBQUUsRUFBQztRQUFBO01BQUMsQ0FBQyxDQUFDdkgsQ0FBQyxFQUFDRyxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQUMsT0FBT0UsQ0FBQztJQUFBLENBQUMsQ0FBQ2tGLENBQUMsRUFBQ3BGLENBQUMsQ0FBQ29HLFNBQVMsQ0FBQyxFQUFDO0lBQU8sSUFBRyxPQUFPLElBQUdqRyxDQUFDLElBQUUsQ0FBQyxLQUFHQSxDQUFDLENBQUMyWSxLQUFLLEVBQUM7SUFBTyxJQUFHLFFBQVEsSUFBRzNZLENBQUMsSUFBRUEsQ0FBQyxDQUFDNFksTUFBTSxHQUFDLENBQUMsRUFBQztJQUFPLElBQUdyVixDQUFDLENBQUNzVixTQUFTLElBQUV0VixDQUFDLENBQUN1VixPQUFPLEVBQUM7SUFBTyxNQUFNdFQsQ0FBQyxHQUFDLENBQUMsQ0FBQzlCLENBQUMsQ0FBQ3FWLGNBQWMsSUFBRSxFQUFFLEtBQUdyVixDQUFDLENBQUNxVixjQUFjO01BQUNyVCxDQUFDLEdBQUMxRixDQUFDLENBQUNnWixZQUFZLEdBQUNoWixDQUFDLENBQUNnWixZQUFZLENBQUMsQ0FBQyxHQUFDaFosQ0FBQyxDQUFDaVosSUFBSTtJQUFDelQsQ0FBQyxJQUFFeEYsQ0FBQyxDQUFDMkksTUFBTSxJQUFFM0ksQ0FBQyxDQUFDMkksTUFBTSxDQUFDOUIsVUFBVSxJQUFFbkIsQ0FBQyxLQUFHVCxDQUFDLEdBQUNTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFDLE1BQU1rQixDQUFDLEdBQUNsRCxDQUFDLENBQUN3VixpQkFBaUIsR0FBQ3hWLENBQUMsQ0FBQ3dWLGlCQUFpQixHQUFFLElBQUd4VixDQUFDLENBQUNxVixjQUFlLEVBQUM7TUFBQ2pTLENBQUMsR0FBQyxFQUFFLENBQUM5RyxDQUFDLENBQUMySSxNQUFNLElBQUUsQ0FBQzNJLENBQUMsQ0FBQzJJLE1BQU0sQ0FBQzlCLFVBQVUsQ0FBQztJQUFDLElBQUduRCxDQUFDLENBQUN5VixTQUFTLEtBQUdyUyxDQUFDLEdBQUMsVUFBU3BILENBQUMsRUFBQ0csQ0FBQyxFQUFDO01BQUMsT0FBTyxLQUFLLENBQUMsS0FBR0EsQ0FBQyxLQUFHQSxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUMsU0FBU0EsQ0FBQ0EsQ0FBQ0MsQ0FBQyxFQUFDO1F
5043BQUMsSUFBRyxDQUFDQSxDQUFDLElBQUVBLENBQUMsS0FBR0MsQ0FBQyxDQUFDLENBQUMsSUFBRUQsQ0FBQyxLQUFHdUQsQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFPLElBQUk7UUFBQ3ZELENBQUMsQ0FBQ3NaLFlBQVksS0FBR3RaLENBQUMsR0FBQ0EsQ0FBQyxDQUFDc1osWUFBWSxDQUFDO1FBQUMsTUFBTXBaLENBQUMsR0FBQ0YsQ0FBQyxDQUFDeU0sT0FBTyxDQUFDN00sQ0FBQyxDQUFDO1FBQUMsT0FBT00sQ0FBQyxJQUFFRixDQUFDLENBQUN1WixXQUFXLEdBQUNyWixDQUFDLElBQUVILENBQUMsQ0FBQ0MsQ0FBQyxDQUFDdVosV0FBVyxDQUFDLENBQUMsQ0FBQzFYLElBQUksQ0FBQyxHQUFDLElBQUk7TUFBQSxDQUFDLENBQUM5QixDQUFDLENBQUM7SUFBQSxDQUFDLENBQUMrRyxDQUFDLEVBQUMzQixDQUFDLENBQUMsR0FBQ0EsQ0FBQyxDQUFDc0gsT0FBTyxDQUFDM0YsQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFPLE1BQUsvRyxDQUFDLENBQUN5WixVQUFVLEdBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQyxJQUFHNVYsQ0FBQyxDQUFDNlYsWUFBWSxJQUFFLENBQUN0VSxDQUFDLENBQUNzSCxPQUFPLENBQUM3SSxDQUFDLENBQUM2VixZQUFZLENBQUMsRUFBQztJQUFPMVYsQ0FBQyxDQUFDMlYsUUFBUSxHQUFDeFosQ0FBQyxDQUFDcVksS0FBSyxFQUFDeFUsQ0FBQyxDQUFDNFYsUUFBUSxHQUFDelosQ0FBQyxDQUFDMFosS0FBSztJQUFDLE1BQU12UyxDQUFDLEdBQUN0RCxDQUFDLENBQUMyVixRQUFRO01BQUNsUyxDQUFDLEdBQUN6RCxDQUFDLENBQUM0VixRQUFRO0lBQUMsSUFBRyxDQUFDaEMsQ0FBQyxDQUFDNVgsQ0FBQyxFQUFDRyxDQUFDLEVBQUNtSCxDQUFDLENBQUMsRUFBQztJQUFPdkgsTUFBTSxDQUFDdU8sTUFBTSxDQUFDNUssQ0FBQyxFQUFDO01BQUNzVixTQUFTLEVBQUMsQ0FBQyxDQUFDO01BQUNDLE9BQU8sRUFBQyxDQUFDLENBQUM7TUFBQ2EsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDO01BQUNDLFdBQVcsRUFBQyxLQUFLLENBQUM7TUFBQ0MsV0FBVyxFQUFDLEtBQUs7SUFBQyxDQUFDLENBQUMsRUFBQ2hXLENBQUMsQ0FBQ2lXLE1BQU0sR0FBQzNTLENBQUMsRUFBQ3RELENBQUMsQ0FBQ2tXLE1BQU0sR0FBQ3pTLENBQUMsRUFBQy9ELENBQUMsQ0FBQ3lXLGNBQWMsR0FBQ3JXLENBQUMsQ0FBQyxDQUFDLEVBQUM5RCxDQUFDLENBQUN5WixVQUFVLEdBQUMsQ0FBQyxDQUFDLEVBQUN6WixDQUFDLENBQUM4TixVQUFVLENBQUMsQ0FBQyxFQUFDOU4sQ0FBQyxDQUFDb2EsY0FBYyxHQUFDLEtBQUssQ0FBQyxFQUFDdlcsQ0FBQyxDQUFDd1csU0FBUyxHQUFDLENBQUMsS0FBRzNXLENBQUMsQ0FBQzRXLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUMsSUFBSXhTLENBQUMsR0FBQyxDQUFDLENBQUM7SUFBQzFDLENBQUMsQ0FBQ2lDLE9BQU8sQ0FBQzNELENBQUMsQ0FBQzZXLGlCQUFpQixDQUFDLEtBQUd6UyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxLQUFHMUMsQ0FBQyxDQUFDdEUsUUFBUSxLQUFHNEMsQ0FBQyxDQUFDc1YsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQy9ZLENBQUMsQ0FBQ1csYUFBYSxJQUFFWCxDQUFDLENBQUNXLGFBQWEsQ0FBQ3lHLE9BQU8sQ0FBQzNELENBQUMsQ0FBQzZXLGlCQUFpQixDQUFDLElBQUV0YSxDQUFDLENBQUNXLGFBQWEsS0FBR3dFLENBQUMsS0FBRyxPQUFPLEtBQUdqRixDQUFDLENBQUN3WSxXQUFXLElBQUUsT0FBTyxLQUFHeFksQ0FBQyxDQUFDd1ksV0FBVyxJQUFFLENBQUN2VCxDQUFDLENBQUNpQyxPQUFPLENBQUMzRCxDQUFDLENBQUM2VyxpQkFBaUIsQ0FBQyxDQUFDLElBQUV0YSxDQUFDLENBQUNXLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDLENBQUM7SUFBQyxNQUFNMkgsQ0FBQyxHQUFDVixDQUFDLElBQUU5SCxDQUFDLENBQUN3YSxjQUFjLElBQUUzVyxDQUFDLENBQUM0Vyx3QkFBd0I7SUFBQyxDQUFDNVcsQ0FBQyxDQUFDNlcsNkJBQTZCLElBQUUsQ0FBQ2xTLENBQUMsSUFBRXBELENBQUMsQ0FBQ3VWLGlCQUFpQixJQUFFeGEsQ0FBQyxDQUFDNlgsY0FBYyxDQUFDLENBQUMsRUFBQ25VLENBQUMsQ0FBQ29TLFFBQVEsSUFBRXBTLENBQUMsQ0FBQ29TLFFBQVEsQ0FBQ25ILE9BQU8sSUFBRTlPLENBQUMsQ0FBQ2lXLFFBQVEsSUFBRWpXLENBQUMsQ0FBQ29VLFNBQVMsSUFBRSxDQUFDdlEsQ0FBQyxDQUFDNkwsT0FBTyxJQUFFMVAsQ0FBQyxDQUFDaVcsUUFBUSxDQUFDMkUsWUFBWSxDQUFDLENBQUMsRUFBQzVhLENBQUMsQ0FBQ2dNLElBQUksQ0FBQyxZQUFZLEVBQUM3TCxDQUFDLENBQUM7RUFBQTtFQUFDLFNBQVMwYSxDQUFDQSxDQUFDaGIsQ0FBQyxFQUFDO0lBQUMsTUFBTUcsQ0FBQyxHQUFDRSxDQUFDLENBQUMsQ0FBQztNQUFDRCxDQUFDLEdBQUMsSUFBSTtNQUFDRSxDQUFDLEdBQUNGLENBQUMsQ0FBQ29YLGVBQWU7TUFBQztRQUFDblIsTUFBTSxFQUFDMUMsQ0FBQztRQUFDaVYsT0FBTyxFQUFDL1UsQ0FBQztRQUFDaUwsWUFBWSxFQUFDOUssQ0FBQztRQUFDaUwsT0FBTyxFQUFDOUs7TUFBQyxDQUFDLEdBQUMvRCxDQUFDO0lBQUMsSUFBRyxDQUFDK0QsQ0FBQyxFQUFDO0lBQU8sSUFBRyxDQUFDUix
5043DQUFDLENBQUNrVixhQUFhLElBQUUsT0FBTyxLQUFHN1ksQ0FBQyxDQUFDOFksV0FBVyxFQUFDO0lBQU8sSUFBSTNULENBQUM7TUFBQ0ksQ0FBQyxHQUFDdkYsQ0FBQztJQUFDLElBQUd1RixDQUFDLENBQUM4UyxhQUFhLEtBQUc5UyxDQUFDLEdBQUNBLENBQUMsQ0FBQzhTLGFBQWEsQ0FBQyxFQUFDLGFBQWEsS0FBRzlTLENBQUMsQ0FBQytTLElBQUksRUFBQztNQUFDLElBQUcsSUFBSSxLQUFHaFksQ0FBQyxDQUFDbVksT0FBTyxFQUFDO01BQU8sSUFBR2xULENBQUMsQ0FBQ2dULFNBQVMsS0FBR2pZLENBQUMsQ0FBQ2lZLFNBQVMsRUFBQztJQUFNO0lBQUMsSUFBRyxXQUFXLEtBQUdoVCxDQUFDLENBQUMrUyxJQUFJLEVBQUM7TUFBQyxJQUFHblQsQ0FBQyxHQUFDLENBQUMsR0FBR0ksQ0FBQyxDQUFDMFYsY0FBYyxDQUFDLENBQUNySSxJQUFJLENBQUU1UyxDQUFDLElBQUVBLENBQUMsQ0FBQzBZLFVBQVUsS0FBR3BZLENBQUMsQ0FBQ21ZLE9BQVEsQ0FBQyxFQUFDLENBQUN0VCxDQUFDLElBQUVBLENBQUMsQ0FBQ3VULFVBQVUsS0FBR3BZLENBQUMsQ0FBQ21ZLE9BQU8sRUFBQztJQUFNLENBQUMsTUFBS3RULENBQUMsR0FBQ0ksQ0FBQztJQUFDLElBQUcsQ0FBQ2pGLENBQUMsQ0FBQzZZLFNBQVMsRUFBQyxPQUFPLE1BQUs3WSxDQUFDLENBQUM2WixXQUFXLElBQUU3WixDQUFDLENBQUM0WixXQUFXLElBQUU5WixDQUFDLENBQUMrTCxJQUFJLENBQUMsbUJBQW1CLEVBQUM1RyxDQUFDLENBQUMsQ0FBQztJQUFDLE1BQU1PLENBQUMsR0FBQ1gsQ0FBQyxDQUFDd1QsS0FBSztNQUFDM1MsQ0FBQyxHQUFDYixDQUFDLENBQUM2VSxLQUFLO0lBQUMsSUFBR3pVLENBQUMsQ0FBQzJWLHVCQUF1QixFQUFDLE9BQU9yWCxDQUFDLENBQUN1VyxNQUFNLEdBQUN0VSxDQUFDLEVBQUMsTUFBS2pDLENBQUMsQ0FBQ3dXLE1BQU0sR0FBQ3JVLENBQUMsQ0FBQztJQUFDLElBQUcsQ0FBQzVGLENBQUMsQ0FBQ3VhLGNBQWMsRUFBQyxPQUFPcFYsQ0FBQyxDQUFDMEQsTUFBTSxDQUFDekIsT0FBTyxDQUFDbEgsQ0FBQyxDQUFDb2EsaUJBQWlCLENBQUMsS0FBR3RhLENBQUMsQ0FBQ3daLFVBQVUsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLE1BQUt0WixDQUFDLENBQUM2WSxTQUFTLEtBQUdqWixNQUFNLENBQUN1TyxNQUFNLENBQUM1SyxDQUFDLEVBQUM7TUFBQ3VXLE1BQU0sRUFBQ3RVLENBQUM7TUFBQ3VVLE1BQU0sRUFBQ3JVLENBQUM7TUFBQzhULFFBQVEsRUFBQ2hVLENBQUM7TUFBQ2lVLFFBQVEsRUFBQy9UO0lBQUMsQ0FBQyxDQUFDLEVBQUMxRixDQUFDLENBQUNnYSxjQUFjLEdBQUNyVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQyxJQUFHTixDQUFDLENBQUN3WCxtQkFBbUIsSUFBRSxDQUFDeFgsQ0FBQyxDQUFDb0ssSUFBSSxFQUFDLElBQUczTixDQUFDLENBQUNrTyxVQUFVLENBQUMsQ0FBQyxFQUFDO01BQUMsSUFBR3RJLENBQUMsR0FBQ25DLENBQUMsQ0FBQ3dXLE1BQU0sSUFBRWphLENBQUMsQ0FBQ2dHLFNBQVMsSUFBRWhHLENBQUMsQ0FBQ2tTLFlBQVksQ0FBQyxDQUFDLElBQUV0TSxDQUFDLEdBQUNuQyxDQUFDLENBQUN3VyxNQUFNLElBQUVqYSxDQUFDLENBQUNnRyxTQUFTLElBQUVoRyxDQUFDLENBQUM0UixZQUFZLENBQUMsQ0FBQyxFQUFDLE9BQU8xUixDQUFDLENBQUM2WSxTQUFTLEdBQUMsQ0FBQyxDQUFDLEVBQUMsTUFBSzdZLENBQUMsQ0FBQzhZLE9BQU8sR0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUMsTUFBSTtNQUFDLElBQUdwVixDQUFDLEtBQUc4QixDQUFDLEdBQUNqQyxDQUFDLENBQUN1VyxNQUFNLElBQUUsQ0FBQ2hhLENBQUMsQ0FBQ2dHLFNBQVMsSUFBRWhHLENBQUMsQ0FBQ2tTLFlBQVksQ0FBQyxDQUFDLElBQUV4TSxDQUFDLEdBQUNqQyxDQUFDLENBQUN1VyxNQUFNLElBQUUsQ0FBQ2hhLENBQUMsQ0FBQ2dHLFNBQVMsSUFBRWhHLENBQUMsQ0FBQzRSLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBQztNQUFPLElBQUcsQ0FBQ2hPLENBQUMsS0FBRzhCLENBQUMsR0FBQ2pDLENBQUMsQ0FBQ3VXLE1BQU0sSUFBRWhhLENBQUMsQ0FBQ2dHLFNBQVMsSUFBRWhHLENBQUMsQ0FBQ2tTLFlBQVksQ0FBQyxDQUFDLElBQUV4TSxDQUFDLEdBQUNqQyxDQUFDLENBQUN1VyxNQUFNLElBQUVoYSxDQUFDLENBQUNnRyxTQUFTLElBQUVoRyxDQUFDLENBQUM0UixZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUM7SUFBTTtJQUFDLElBQUc3UixDQUFDLENBQUNZLGFBQWEsSUFBRVosQ0FBQyxDQUFDWSxhQUFhLENBQUN5RyxPQUFPLENBQUNsSCxDQUFDLENBQUNvYSxpQkFBaUIsQ0FBQyxJQUFFdmEsQ0FBQyxDQUFDWSxhQUFhLEtBQUd3RSxDQUFDLENBQUMwRCxNQUFNLElBQUUsT0FBTyxLQUFHMUQsQ0FBQyxDQUFDdVQsV0FBVyxJQUFFM1ksQ0FBQyxDQUFDWSxhQUFhLENBQUNDLElBQUksQ0FBQyxDQUFDLEVBQUNiLENBQUMsQ0FBQ1ksYUFBYSxJQUFFd0UsQ0FBQyxDQUFDMEQsTUFBTSxLQUFHOUksQ0FBQyxDQUFDWSxhQUFhLElBQUV3RSxDQUFDLENBQUMwRCxNQUFNLENBQUN6QixPQUFPLENBQUNsSCxDQUFDLENBQUNvYSxpQkFBaUIsQ0FBQyxFQUFDLE9BQU9wYSxDQUFDLENBQUM4WSxPQUFPLEdBQUMsQ0FBQyxDQUFDLEVBQUMsTUFBS2haLENBQUMsQ0FBQ3daLFVBQVUsR0FBQyxDQUFDLENBQUMsQ0FBQztJQUFDdFosQ0FBQyxDQUFDMlosbUJBQW1CLElBQUU3WixDQUFDLENBQUMrTCxJQUFJLENBQUMsV0FBVyxFQUFDNUcsQ0FBQyxDQUFDLEVBQUMxQixDQUFDLENBQUN1WCxTQUFTLEdBQUN2WCxDQUFDLENBQUNpVyxRQUFRLEVBQUNqVyxDQUFDLENBQUN3WCxTQUFTLEdBQUN4WCxDQUFDLENBQUNrVyxRQUFRLEVBQUNsVyxDQUFDLENBQUNpVyxRQUFRLEdBQUNoVSxDQUFDLEVBQUNqQyxDQUFDLENBQUNrVyxRQUFRLEdBQUMvVCxDQUFDO0lBQUMsTUFBTWtCLENBQUMsR0FBQ3JELENBQUMsQ0FBQ2lXLFFBQVEsR0FBQ2pXLENBQUMsQ0FBQ3VXLE1BQU07TUFBQ2hULENBQUMsR0FBQ3ZELENBQUMsQ0FBQ2tXLFFBQVEsR0FBQ2xXLENBQUMsQ0FBQ3dXLE1BQU07SUFBQyxJQUFHamEsQ0FBQyxDQUFDaUcsTUFBTSxDQUFDbVUsU0FBUyxJQUFFN1QsSUFBSSxDQUFDMlUsSUFBSSxDQUFDcFUsQ0FBQyxJQUFFLENBQUMsR0FBQ0UsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDaEgsQ0FBQyxDQUFDaUcsTUFBTSxDQUFDbVUsU0FBUyxFQUFDO0lBQU8sSUFBRyxLQUFLLENBQUMsS0FBR2xhLENBQUMsQ0FBQzRaLFdBQVcsRUFBQztNQUFDLElBQUlsYSxDQUFDO01BQUNJLENBQUMsQ0FBQ2lPLFlBQVksQ0FBQyxDQUFDLElBQUV4SyxDQUFDLENBQUNrVyxRQUFRLEtBQUdsVyxDQUFDLENBQUN3VyxNQUFNLElBQUVqYSxDQUFDLENBQUNrTyxVQUFVLENBQUMsQ0FBQyxJQUFFekssQ0FBQyxDQUFDaVcsUUFBUSxLQUFHalcsQ0FBQyxDQUFDdVcsTUFBTSxHQUFDOVosQ0FBQyxDQUFDNFosV0FBVyxHQUFDLENBQUMsQ0FBQyxHQUFDaFQsQ0FBQyxHQUFDQSxDQUFDLEdBQUNFLENBQUMsR0FBQ0EsQ0FBQyxJQUFFLEVBQUUsS0FBR3BILENBQUMsR0FBQyxHQUFHLEdBQUMyRyxJQUFJLENBQUM0VSxLQUFLLENBQUM1VSxJQUFJLENBQUMyQyxHQU
5043FHLENBQUNsQyxDQUFDLENBQUMsRUFBQ1QsSUFBSSxDQUFDMkMsR0FBRyxDQUFDcEMsQ0FBQyxDQUFDLENBQUMsR0FBQ1AsSUFBSSxDQUFDSSxFQUFFLEVBQUN6RyxDQUFDLENBQUM0WixXQUFXLEdBQUM5WixDQUFDLENBQUNpTyxZQUFZLENBQUMsQ0FBQyxHQUFDck8sQ0FBQyxHQUFDMkQsQ0FBQyxDQUFDNlgsVUFBVSxHQUFDLEVBQUUsR0FBQ3hiLENBQUMsR0FBQzJELENBQUMsQ0FBQzZYLFVBQVUsQ0FBQztJQUFBO0lBQUMsSUFBR2xiLENBQUMsQ0FBQzRaLFdBQVcsSUFBRTlaLENBQUMsQ0FBQytMLElBQUksQ0FBQyxtQkFBbUIsRUFBQzVHLENBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxLQUFHakYsQ0FBQyxDQUFDNlosV0FBVyxLQUFHdFcsQ0FBQyxDQUFDaVcsUUFBUSxLQUFHalcsQ0FBQyxDQUFDdVcsTUFBTSxJQUFFdlcsQ0FBQyxDQUFDa1csUUFBUSxLQUFHbFcsQ0FBQyxDQUFDd1csTUFBTSxLQUFHL1osQ0FBQyxDQUFDNlosV0FBVyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQzdaLENBQUMsQ0FBQzRaLFdBQVcsSUFBRSxXQUFXLEtBQUczVSxDQUFDLENBQUMrUyxJQUFJLElBQUVoWSxDQUFDLENBQUNtYiwrQkFBK0IsRUFBQyxPQUFPLE1BQUtuYixDQUFDLENBQUM2WSxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQyxJQUFHLENBQUM3WSxDQUFDLENBQUM2WixXQUFXLEVBQUM7SUFBTy9aLENBQUMsQ0FBQ3daLFVBQVUsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDalcsQ0FBQyxDQUFDa00sT0FBTyxJQUFFdEssQ0FBQyxDQUFDbVcsVUFBVSxJQUFFblcsQ0FBQyxDQUFDNFMsY0FBYyxDQUFDLENBQUMsRUFBQ3hVLENBQUMsQ0FBQ2dZLHdCQUF3QixJQUFFLENBQUNoWSxDQUFDLENBQUNpWSxNQUFNLElBQUVyVyxDQUFDLENBQUNzVyxlQUFlLENBQUMsQ0FBQztJQUFDLElBQUlwVSxDQUFDLEdBQUNySCxDQUFDLENBQUNpTyxZQUFZLENBQUMsQ0FBQyxHQUFDbkgsQ0FBQyxHQUFDRSxDQUFDO01BQUNRLENBQUMsR0FBQ3hILENBQUMsQ0FBQ2lPLFlBQVksQ0FBQyxDQUFDLEdBQUN4SyxDQUFDLENBQUNpVyxRQUFRLEdBQUNqVyxDQUFDLENBQUN1WCxTQUFTLEdBQUN2WCxDQUFDLENBQUNrVyxRQUFRLEdBQUNsVyxDQUFDLENBQUN3WCxTQUFTO0lBQUMxWCxDQUFDLENBQUNtWSxjQUFjLEtBQUdyVSxDQUFDLEdBQUNkLElBQUksQ0FBQzJDLEdBQUcsQ0FBQzdCLENBQUMsQ0FBQyxJQUFFekQsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDNEQsQ0FBQyxHQUFDakIsSUFBSSxDQUFDMkMsR0FBRyxDQUFDMUIsQ0FBQyxDQUFDLElBQUU1RCxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQ0gsQ0FBQyxDQUFDa1ksSUFBSSxHQUFDdFUsQ0FBQyxFQUFDQSxDQUFDLElBQUU5RCxDQUFDLENBQUNxWSxVQUFVLEVBQUNoWSxDQUFDLEtBQUd5RCxDQUFDLEdBQUMsQ0FBQ0EsQ0FBQyxFQUFDRyxDQUFDLEdBQUMsQ0FBQ0EsQ0FBQyxDQUFDO0lBQUMsTUFBTUssQ0FBQyxHQUFDN0gsQ0FBQyxDQUFDNmIsZ0JBQWdCO0lBQUM3YixDQUFDLENBQUNtYSxjQUFjLEdBQUM5UyxDQUFDLEdBQUMsQ0FBQyxHQUFDLE1BQU0sR0FBQyxNQUFNLEVBQUNySCxDQUFDLENBQUM2YixnQkFBZ0IsR0FBQ3JVLENBQUMsR0FBQyxDQUFDLEdBQUMsTUFBTSxHQUFDLE1BQU07SUFBQyxNQUFNZSxDQUFDLEdBQUN2SSxDQUFDLENBQUNpRyxNQUFNLENBQUMwSCxJQUFJLElBQUUsQ0FBQ3BLLENBQUMsQ0FBQ2tNLE9BQU87TUFBQ2pILENBQUMsR0FBQyxNQUFNLEtBQUd4SSxDQUFDLENBQUM2YixnQkFBZ0IsSUFBRTdiLENBQUMsQ0FBQzhVLGNBQWMsSUFBRSxNQUFNLEtBQUc5VSxDQUFDLENBQUM2YixnQkFBZ0IsSUFBRTdiLENBQUMsQ0FBQytVLGNBQWM7SUFBQyxJQUFHLENBQUM3VSxDQUFDLENBQUM4WSxPQUFPLEVBQUM7TUFBQyxJQUFHelEsQ0FBQyxJQUFFQyxDQUFDLElBQUV4SSxDQUFDLENBQUN3VixPQUFPLENBQUM7UUFBQ2QsU0FBUyxFQUFDMVUsQ0FBQyxDQUFDbWE7TUFBYyxDQUFDLENBQUMsRUFBQ2phLENBQUMsQ0FBQ21YLGNBQWMsR0FBQ3JYLENBQUMsQ0FBQzhULFlBQVksQ0FBQyxDQUFDLEVBQUM5VCxDQUFDLENBQUNrUixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUNsUixDQUFDLENBQUNtVSxTQUFTLEVBQUM7UUFBQyxNQUFNdlUsQ0FBQyxHQUFDLElBQUk0RCxNQUFNLENBQUNaLFdBQVcsQ0FBQyxlQUFlLEVBQUM7VUFBQ2taLE9BQU8sRUFBQyxDQUFDLENBQUM7VUFBQ1IsVUFBVSxFQUFDLENBQUMsQ0FBQztVQUFDUyxNQUFNLEVBQUM7WUFBQ0MsaUJBQWlCLEVBQUMsQ0FBQztVQUFDO1FBQUMsQ0FBQyxDQUFDO1FBQUNoYyxDQUFDLENBQUNtRyxTQUFTLENBQUM4VixhQUFhLENBQUNyYyxDQUFDLENBQUM7TUFBQTtNQUFDTSxDQUFDLENBQUNnYyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDM1ksQ0FBQyxDQUFDNFksVUFBVSxJQUFFLENBQUMsQ0FBQyxLQUFHbmMsQ0FBQyxDQUFDOFUsY0FBYyxJQUFFLENBQUMsQ0FBQyxLQUFHOVUsQ0FBQyxDQUFDK1UsY0FBYyxJQUFFL1UsQ0FBQyxDQUFDb2MsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUNwYyxDQUFDLENBQUMrTCxJQUFJLENBQUMsaUJBQWlCLEVBQUM1RyxDQUFDLENBQUM7SUFBQTtJQUFDLElBQUksSUFBSW5DLElBQUksQ0FBRCxDQUFDLENBQUVzRCxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFHL0MsQ0FBQyxDQUFDOFksY0FBYyxJQUFFbmMsQ0FBQyxDQUFDOFksT0FBTyxJQUFFOVksQ0FBQyxDQUFDbWEsa0JBQWtCLElBQUV4UyxDQUFDLEtBQUc3SCxDQUFDLENBQUM2YixnQkFBZ0IsSUFBRXRULENBQUMsSUFBRUMsQ0FBQyxJQUFFakMsSUFBSSxDQUFDMkMsR0FBRyxDQUFDN0IsQ0FBQyxDQUFDLElBQUUsQ0FBQyxFQUFDLE9BQU92SCxNQUFNLENBQUN1TyxNQUFNLENBQUM1SyxDQUFDLEVBQUM7TUFBQ3VXLE1BQU0sRUFBQ3RVLENBQUM7TUFBQ3VVLE1BQU0sRUFBQ3JVLENBQUM7TUFBQzhULFFBQVEsRUFBQ2hVLENBQUM7TUFBQ2lVLFFBQVEsRUFBQy9ULENBQUM7TUFBQ3lSLGNBQWMsRUFBQ25YLENBQUMsQ0FBQ29YO0lBQWdCLENBQUMsQ0FBQyxFQUFDcFgsQ0FBQyxDQUFDb2MsYUFBYSxHQUFDLENBQUMsQ0FBQyxFQUFDLE1BQUtwYyxDQUFDLENBQUNtWCxjQUFjLEdBQUNuWCxDQUFDLENBQUNvWCxnQkFBZ0IsQ0FBQztJQUFDdFgsQ0FBQyxDQUFDK0wsSUFBSSxDQUFDLFlBQVksRUFBQzVHLENBQUMsQ0FBQyxFQUFDakYsQ0FBQyxDQUFDOFksT0FBTyxHQUFDLENBQUMsQ0FBQyxFQUFDOVksQ0FBQyxDQUFDb1gsZ0JBQWdCLEdBQUNqUSxDQUFDLEdBQUNuSCxDQUFDLENBQUNtWCxjQUFjO0lBQUMsSUFBSTNPLENBQUMsR0FBQyxDQUFDLENBQUM7T
5043UFBQ0UsQ0FBQyxHQUFDckYsQ0FBQyxDQUFDZ1osZUFBZTtJQUFDLElBQUdoWixDQUFDLENBQUN3WCxtQkFBbUIsS0FBR25TLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQ3ZCLENBQUMsR0FBQyxDQUFDLElBQUVrQixDQUFDLElBQUVDLENBQUMsSUFBRXRJLENBQUMsQ0FBQ21hLGtCQUFrQixJQUFFbmEsQ0FBQyxDQUFDb1gsZ0JBQWdCLElBQUUvVCxDQUFDLENBQUNpTSxjQUFjLEdBQUN4UCxDQUFDLENBQUM0UixZQUFZLENBQUMsQ0FBQyxHQUFDNVIsQ0FBQyxDQUFDMFEsZUFBZSxDQUFDMVEsQ0FBQyxDQUFDcU4sV0FBVyxHQUFDLENBQUMsQ0FBQyxJQUFFLE1BQU0sS0FBRzlKLENBQUMsQ0FBQzJKLGFBQWEsSUFBRWxOLENBQUMsQ0FBQzhNLE1BQU0sQ0FBQ3ZNLE1BQU0sR0FBQ2dELENBQUMsQ0FBQzJKLGFBQWEsSUFBRSxDQUFDLEdBQUNsTixDQUFDLENBQUMwUSxlQUFlLENBQUMxUSxDQUFDLENBQUNxTixXQUFXLEdBQUMsQ0FBQyxDQUFDLEdBQUNyTixDQUFDLENBQUNpRyxNQUFNLENBQUNpSixZQUFZLEdBQUMsQ0FBQyxDQUFDLEdBQUNsUCxDQUFDLENBQUNpRyxNQUFNLENBQUNpSixZQUFZLEdBQUNsUCxDQUFDLENBQUM0UixZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUU1UixDQUFDLENBQUN3VixPQUFPLENBQUM7TUFBQ2QsU0FBUyxFQUFDLE1BQU07TUFBQ1YsWUFBWSxFQUFDLENBQUMsQ0FBQztNQUFDeUIsZ0JBQWdCLEVBQUM7SUFBQyxDQUFDLENBQUMsRUFBQ3ZWLENBQUMsQ0FBQ29YLGdCQUFnQixHQUFDdFgsQ0FBQyxDQUFDNFIsWUFBWSxDQUFDLENBQUMsS0FBR2xKLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQ25GLENBQUMsQ0FBQ2laLFVBQVUsS0FBR3RjLENBQUMsQ0FBQ29YLGdCQUFnQixHQUFDdFgsQ0FBQyxDQUFDNFIsWUFBWSxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDNVIsQ0FBQyxDQUFDNFIsWUFBWSxDQUFDLENBQUMsR0FBQzFSLENBQUMsQ0FBQ21YLGNBQWMsR0FBQ2hRLENBQUMsS0FBR3VCLENBQUMsQ0FBQyxDQUFDLElBQUV2QixDQUFDLEdBQUMsQ0FBQyxLQUFHa0IsQ0FBQyxJQUFFQyxDQUFDLElBQUV0SSxDQUFDLENBQUNtYSxrQkFBa0IsSUFBRW5hLENBQUMsQ0FBQ29YLGdCQUFnQixJQUFFL1QsQ0FBQyxDQUFDaU0sY0FBYyxHQUFDeFAsQ0FBQyxDQUFDa1MsWUFBWSxDQUFDLENBQUMsR0FBQ2xTLENBQUMsQ0FBQzBRLGVBQWUsQ0FBQzFRLENBQUMsQ0FBQzBRLGVBQWUsQ0FBQ25RLE1BQU0sR0FBQyxDQUFDLENBQUMsR0FBQ1AsQ0FBQyxDQUFDaUcsTUFBTSxDQUFDaUosWUFBWSxJQUFFLE1BQU0sS0FBRzNMLENBQUMsQ0FBQzJKLGFBQWEsSUFBRWxOLENBQUMsQ0FBQzhNLE1BQU0sQ0FBQ3ZNLE1BQU0sR0FBQ2dELENBQUMsQ0FBQzJKLGFBQWEsSUFBRSxDQUFDLEdBQUNsTixDQUFDLENBQUMwUSxlQUFlLENBQUMxUSxDQUFDLENBQUMwUSxlQUFlLENBQUNuUSxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUNQLENBQUMsQ0FBQ2lHLE1BQU0sQ0FBQ2lKLFlBQVksR0FBQyxDQUFDLENBQUMsR0FBQ2xQLENBQUMsQ0FBQ2tTLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBRWxTLENBQUMsQ0FBQ3dWLE9BQU8sQ0FBQztNQUFDZCxTQUFTLEVBQUMsTUFBTTtNQUFDVixZQUFZLEVBQUMsQ0FBQyxDQUFDO01BQUN5QixnQkFBZ0IsRUFBQ3pWLENBQUMsQ0FBQzhNLE1BQU0sQ0FBQ3ZNLE1BQU0sSUFBRSxNQUFNLEtBQUdnRCxDQUFDLENBQUMySixhQUFhLEdBQUNsTixDQUFDLENBQUNtTixvQkFBb0IsQ0FBQyxDQUFDLEdBQUM1RyxJQUFJLENBQUM2RyxJQUFJLENBQUN2SSxVQUFVLENBQUN0QixDQUFDLENBQUMySixhQUFhLEVBQUMsRUFBRSxDQUFDLENBQUM7SUFBQyxDQUFDLENBQUMsRUFBQ2hOLENBQUMsQ0FBQ29YLGdCQUFnQixHQUFDdFgsQ0FBQyxDQUFDa1MsWUFBWSxDQUFDLENBQUMsS0FBR3hKLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQ25GLENBQUMsQ0FBQ2laLFVBQVUsS0FBR3RjLENBQUMsQ0FBQ29YLGdCQUFnQixHQUFDdFgsQ0FBQyxDQUFDa1MsWUFBWSxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQ2xTLENBQUMsQ0FBQ2tTLFlBQVksQ0FBQyxDQUFDLEdBQUNoUyxDQUFDLENBQUNtWCxjQUFjLEdBQUNoUSxDQUFDLEtBQUd1QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUNGLENBQUMsS0FBR3ZELENBQUMsQ0FBQzJWLHVCQUF1QixHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzlhLENBQUMsQ0FBQzhVLGNBQWMsSUFBRSxNQUFNLEtBQUc5VSxDQUFDLENBQUNtYSxjQUFjLElBQUVqYSxDQUFDLENBQUNvWCxnQkFBZ0IsR0FBQ3BYLENBQUMsQ0FBQ21YLGNBQWMsS0FBR25YLENBQUMsQ0FBQ29YLGdCQUFnQixHQUFDcFgsQ0FBQyxDQUFDbVgsY0FBYyxDQUFDLEVBQUMsQ0FBQ3JYLENBQUMsQ0FBQytVLGNBQWMsSUFBRSxNQUFNLEtBQUcvVSxDQUFDLENBQUNtYSxjQUFjLElBQUVqYSxDQUFDLENBQUNvWCxnQkFBZ0IsR0FBQ3BYLENBQUMsQ0FBQ21YLGNBQWMsS0FBR25YLENBQUMsQ0FBQ29YLGdCQUFnQixHQUFDcFgsQ0FBQyxDQUFDbVgsY0FBYyxDQUFDLEVBQUNyWCxDQUFDLENBQUMrVSxjQUFjLElBQUUvVSxDQUFDLENBQUM4VSxjQUFjLEtBQUc1VSxDQUFDLENBQUNvWCxnQkFBZ0IsR0FBQ3BYLENBQUMsQ0FBQ21YLGNBQWMsQ0FBQyxFQUFDOVQsQ0FBQyxDQUFDNlcsU0FBUyxHQUFDLENBQUMsRUFBQztNQUFDLElBQUcsRUFBRTdULElBQUksQ0FBQzJDLEdBQUcsQ0FBQzdCLENBQUMsQ0FBQyxHQUFDOUQsQ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xHQUFDcFIsQ0FBQyxDQUFDOGtCLElBQUksR0FBQyxDQUFDLEtBQUcsRUFBRSxDQUFDLEVBQUM3a0IsQ0FBQyxDQUFDZ2xCLGFBQWEsS0FBR2hsQixDQUFDLENBQUNnbEIsYUFBYSxHQUFDamxCLENBQUMsQ0FBQ2dsQixjQUFjLENBQUMza0IsQ0FBQyxDQUFDLEVBQUNKLENBQUMsQ0FBQ2lsQixhQUFhLEtBQUdqbEIsQ0FBQyxDQUFDaWxCLGFBQWEsR0FBQ2xsQixDQUFDLENBQUNnbEIsY0FBYyxDQUFDL2tCLENBQUMsQ0FBQyxFQUFDQSxDQUFDLENBQUNrbEIsUUFBUSxLQUFHbGxCLENBQUMsQ0FBQ2tsQixRQUFRLEdBQUMxcUIsSUFBSSxDQUFDYyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMwRSxDQUFDLENBQUNJLENBQUMsR0FBQyxDQUFDTCxDQUFDLENBQUNnbEIsY0FBYyxDQUFDM2tCLENBQUMsR0FBQ0osQ0FBQyxDQUFDZ2xCLGFBQWEsS0FBR3hxQixJQUFJLENBQUNjLEdBQUcsQ0FBQyxDQUFDLEdBQUMwRSxDQUFDLENBQUNrbEIsUUFBUSxDQUFDLEdBQUMsQ0FBQyxFQUFDbGxCLENBQUMsQ0FBQ0EsQ0FBQyxHQUFDLENBQUNELENBQUMsQ0FBQ2dsQixjQUFjLENBQUMva0IsQ0FBQyxHQUFDQSxDQUFDLENBQUNpbEIsYUFBYSxLQUFHenFCLElBQUksQ0FBQ2MsR0FBRyxDQUFDLENBQUMsR0FBQzBFLENBQUMsQ0FBQ2tsQixRQUFRLENBQUMsR0FBQyxDQUFDLEVBQUNubkIsSUFBSSxDQUFDMkMsR0FBRyxDQUFDWCxDQUFDLENBQUNnbEIsY0FBYyxDQUFDM2tCLENBQUMsR0FBQ0osQ0FBQyxDQUFDZ2xCLGFBQWEsQ0FBQyxHQUFDLENBQUMsS0FBR2hsQixDQUFDLENBQUNJLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQ3JDLElBQUksQ0FBQzJDLEdBQUcsQ0FBQ1gsQ0FBQyxDQUFDZ2xCLGNBQWMsQ0FBQy9rQixDQUFDLEdBQUNBLENBQUMsQ0FBQ2lsQixhQUFhLENBQUMsR0FBQyxDQUFDLEtBQU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
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.