:root{--bg0:#070a0f;--bg1:#060a12;--bg2:#0a0f1a;--glassPanel:rgba(12,18,30,.58);--glassCard:rgba(8,14,24,.55);--border:hsla(0,0%,100%,.12);--text:#f3f7ff;--muted:rgba(243,247,255,.72);--muted2:rgba(243,247,255,.55);--accent:#8ccbf5;--accentDark:#2e6fb8;--accentGlow:rgba(140,203,245,.25);--btnA:#2c86d6;--btnB:#1e5ea8;--shadow:0 20px 60px rgba(0,0,0,.55);--shadowSoft:0 12px 28px rgba(0,0,0,.42);--r12:12px;--r16:16px;--r20:20px;--max:1120px;--pad:24px;--ease:cubic-bezier(.4,0,.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--bg0);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;overflow-x:hidden}body:before{background:radial-gradient(ellipse 900px 500px at 50% -5%,rgba(140,203,245,.18),transparent 60%),radial-gradient(ellipse 600px 400px at 15% 30%,rgba(46,111,184,.1),transparent 55%),radial-gradient(ellipse 800px 500px at 85% 40%,rgba(140,203,245,.08),transparent 60%),radial-gradient(ellipse 500px 500px at 50% 80%,rgba(46,111,184,.06),transparent 55%)}body:after,body:before{content:"";inset:0;pointer-events:none;position:fixed;z-index:0}body:after{background-image:repeating-conic-gradient(hsla(0,0%,100%,.08) 0 25%,transparent 0 50%);background-size:4px 4px;mix-blend-mode:overlay;opacity:.035}.container{margin:0 auto;position:relative;width:min(var(--max),calc(100% - var(--pad)*2));z-index:1}a{color:inherit;text-decoration:none}a:focus{border-radius:4px;outline:2px solid var(--accent);outline-offset:2px}img{display:block;max-width:100%}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}.topbar{backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);background:linear-gradient(180deg,rgba(6,10,18,.82),rgba(6,10,18,.55));border-bottom:1px solid hsla(0,0%,100%,.06);position:sticky;top:0;z-index:100}.topbar-inner{align-items:center;display:flex;gap:16px;height:72px;justify-content:space-between}.topbar-glow{background:linear-gradient(90deg,transparent,rgba(140,203,245,.5),transparent);box-shadow:0 0 12px var(--accentGlow);height:1px}.brand{align-items:center;display:flex;gap:10px}.brand-icon{border-radius:8px;filter:drop-shadow(0 4px 14px rgba(140,203,245,.22));height:36px;width:36px}.brand-name{font-size:21px;font-weight:800;letter-spacing:.2px}.brand-llc{font-size:19px;font-weight:600;opacity:.88}.nav{align-items:center;display:flex;font-size:15px;font-weight:600;gap:6px}.nav a{border-radius:8px;color:var(--muted);padding:8px 12px;position:relative;transition:color .2s,background .2s}.nav a.active,.nav a:hover{color:var(--text)}.nav a.active{background:rgba(140,203,245,.08)}.nav a.active:after{background:var(--accent);border-radius:99px;bottom:0;box-shadow:0 0 10px var(--accentGlow);content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:24px}.nav-sep{color:hsla(0,0%,100%,.18);font-weight:300;user-select:none}.nav-toggle{background:none;border:none;cursor:pointer;display:none;padding:8px}.nav-toggle svg{fill:none;height:24px;stroke:var(--text);stroke-width:2;width:24px}.hero{align-items:center;display:flex;min-height:540px;overflow:hidden;padding:80px 0 60px;position:relative}.hero-bg{inset:0;position:absolute;z-index:0}.hero-bg canvas{height:100%;width:100%}.hero-content{position:relative;text-align:center;width:100%;z-index:1}.hero-logo{animation:float 6s ease-in-out infinite;filter:drop-shadow(0 8px 32px rgba(140,203,245,.3));height:120px;margin:0 auto 28px;width:120px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero h1{font-size:clamp(32px,5vw,60px);font-weight:900;letter-spacing:-.8px;line-height:1.08;text-shadow:0 8px 40px rgba(0,0,0,.5)}.accent{color:var(--accent);text-shadow:0 6px 24px var(--accentGlow)}.hero-sub{color:var(--muted);font-size:clamp(16px,1.8vw,19px);font-weight:500;margin:18px auto 0;max-width:540px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn,.hero-actions{justify-content:center}.btn{align-items:center;border:1px solid hsla(0,0%,100%,.15);border-radius:var(--r12);box-shadow:var(--shadowSoft);cursor:pointer;display:inline-flex;font-size:15px;font-weight:700;height:52px;letter-spacing:.3px;padding:0 28px;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}.btn:hover{border-color:hsla(0,0%,100%,.25);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(180deg,var(--btnA),var(--btnB));border-color:rgba(140,203,245,.3);box-shadow:0 16px 48px rgba(30,94,168,.35),var(--shadowSoft)}.btn-primary:hover{box-shadow:0 20px 56px rgba(30,94,168,.45),var(--shadowSoft)}.btn-secondary{background:linear-gradient(180deg,rgba(14,26,44,.8),rgba(10,16,28,.8));border-color:hsla(0,0%,100%,.18)}.btn-lg{border-radius:14px;font-size:16px;height:56px;padding:0 36px}.section-title{font-size:clamp(28px,3.6vw,44px);font-weight:900;letter-spacing:-.5px;text-align:center}.glow-line{background:linear-gradient(90deg,transparent,var(--accentDark),var(--accent),var(--accentDark),transparent);border-radius:99px;box-shadow:0 0 18px rgba(140,203,245,.2);height:2px;margin:14px auto 0;width:min(280px,55vw)}.apps{padding:60px 0 40px}.apps-panel{background:var(--glassPanel);border:1px solid hsla(0,0%,100%,.08);border-radius:24px;box-shadow:var(--shadow);overflow:hidden;position:relative}.apps-panel:after,.apps-panel:before{background:linear-gradient(90deg,transparent,rgba(140,203,245,.35),transparent);content:"";height:1px;left:0;position:absolute;right:0}.apps-panel:before{top:0}.apps-panel:after{bottom:0}.apps-grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr);padding:24px}.app-card{background:var(--glassCard);border:1px solid var(--border);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}.app-card:hover{border-color:rgba(140,203,245,.18);box-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(140,203,245,.12);transform:translateY(-6px)}.app-card h3{font-size:18px;font-weight:800;letter-spacing:-.2px;margin:16px 16px 12px;text-align:center}.app-card .media{align-items:center;aspect-ratio:16/10;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-radius:14px;display:flex;justify-content:center;margin:0 14px;overflow:hidden}.app-card .media img{height:100%;object-fit:cover;transition:transform .4s var(--ease);width:100%}.app-card:hover .media img{transform:scale(1.04)}.app-card .card-desc{color:var(--muted);flex:1;font-size:14px;font-weight:600;margin:12px 14px 18px;text-align:center}.app-card .card-badge{align-items:center;align-self:center;background:rgba(140,203,245,.08);border:1px solid rgba(140,203,245,.15);border-radius:20px;color:var(--accent);display:inline-flex;font-size:12px;font-weight:700;gap:4px;margin:0 14px 14px;padding:5px 12px}.card-badge svg{fill:none;height:14px;stroke:var(--accent);stroke-width:2;width:14px}.cta{padding:60px 0;text-align:center}.cta .hero-sub{margin:16px auto 0}.cta-actions{margin-top:28px}.footer{border-top:1px solid hsla(0,0%,100%,.08);margin-top:10px;padding:20px 0}.footer-inner{align-items:center;color:var(--muted2);display:flex;flex-wrap:wrap;font-size:13px;font-weight:600;gap:16px;justify-content:space-between}.footer-links{display:flex;gap:20px}.footer-links a{color:var(--muted2);transition:color .2s}.footer-links a:hover{color:var(--accent)}.social{align-items:center;display:flex;gap:8px}.social a{border:1px solid hsla(0,0%,100%,.1);border-radius:8px;display:grid;height:34px;place-items:center;transition:transform .2s,border-color .2s;width:34px}.social a:hover{border-color:hsla(0,0%,100%,.2);transform:translateY(-2px)}.social svg{fill:#fff;height:16px;opacity:.9;width:16px}.soc-x{background:hsla(0,0%,100%,.08)}.soc-ig{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af)}.soc-in{background:#0a66c2}.soc-gh{background:hsla(0,0%,100%,.08)}@media(max-width:980px){.apps-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){:root{--pad:16px}.apps-grid{grid-template-columns:1fr;padding:16px}.nav{backdrop-filter:blur(16px);background:rgba(6,10,18,.95);border-bottom:1px solid hsla(0,0%,100%,.08);flex-direction:column;gap:4px;left:0;padding:20px;position:fixed;right:0;top:64px;transform:translateY(-120%);transition:transform .3s var(--ease);z-index:99}.nav.open{transform:translateY(0)}.nav a{border-radius:10px;padding:12px 16px;width:100%}.nav-sep{display:none}.nav-toggle{display:block}.topbar-inner{height:64px}.hero{min-height:420px;padding:60px 0 40px}.hero-logo{height:90px;width:90px}.footer-inner{flex-direction:column;gap:12px;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/*# sourceMappingURL=data:application/json;base64,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QUFXLENBQXRCLFVBQXVCLENBQ2xDLGNBQWMscUJBQXFCLENBQW1CLFFBQVEsQ0FBMUIsaUJBQTJCLENBQ2pFLENBQ0Esc0NBQ0UsS0FBSyxvQkFBcUIsQ0FDMUIsRUFBRSx3QkFBd0IsQ0FBQyx5QkFBMEIsQ0FDdkQiLCJmaWxlIjoibWFpbi5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiICAgIC8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgICAgIERFU0lHTiBUT0tFTlNcbiAgICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbiAgICA6cm9vdHtcbiAgICAgIC0tYmcwOiMwNzBBMEY7XG4gICAgICAtLWJnMTojMDYwQTEyO1xuICAgICAgLS1iZzI6IzBBMEYxQTtcbiAgICAgIC0tZ2xhc3NQYW5lbDpyZ2JhKDEyLDE4LDMwLC41OCk7XG4gICAgICAtLWdsYXNzQ2FyZDpyZ2JhKDgsMTQsMjQsLjU1KTtcbiAgICAgIC0tYm9yZGVyOnJnYmEoMjU1LDI1NSwyNTUsLjEyKTtcbiAgICAgIC0tdGV4dDojRjNGN0ZGO1xuICAgICAgLS1tdXRlZDpyZ2JhKDI0MywyNDcsMjU1LC43Mik7XG4gICAgICAtLW11dGVkMjpyZ2JhKDI0MywyNDcsMjU1LC41NSk7XG4gICAgICAtLWFjY2VudDojOENDQkY1O1xuICAgICAgLS1hY2NlbnREYXJrOiMyRTZGQjg7XG4gICAgICAtLWFjY2VudEdsb3c6cmdiYSgxNDAsMjAzLDI0NSwuMjUpO1xuICAgICAgLS1idG5BOiMyQzg2RDY7XG4gICAgICAtLWJ0bkI6IzFFNUVBODtcbiAgICAgIC0tc2hhZG93OjAgMjBweCA2MHB4IHJnYmEoMCwwLDAsLjU1KTtcbiAgICAgIC0tc2hhZG93U29mdDowIDEycHggMjhweCByZ2JhKDAsMCwwLC40Mik7XG4gICAgICAtLXIxMjoxMnB4OyAtLXIxNjoxNnB4OyAtLXIyMDoyMHB4O1xuICAgICAgLS1tYXg6MTEyMHB4O1xuICAgICAgLS1wYWQ6MjRweDtcbiAgICAgIC0tZWFzZTpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICB9XG5cbiAgICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgICBSRVNFVFMgJiBCQVNFXG4gICAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gICAgKiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjowO3BhZGRpbmc6MDt9XG4gICAgaHRtbHtzY3JvbGwtYmVoYXZpb3I6c21vb3RoOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7fVxuICAgIGJvZHl7XG4gICAgICBjb2xvcjp2YXIoLS10ZXh0KTtcbiAgICAgIGZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFwiU0YgUHJvIERpc3BsYXlcIixcIlNGIFBybyBUZXh0XCIsXCJJbnRlclwiLFwiU2Vnb2UgVUlcIixSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtcbiAgICAgIGJhY2tncm91bmQ6dmFyKC0tYmcwKTtcbiAgICAgIG92ZXJmbG93LXg6aGlkZGVuO1xuICAgICAgbGluZS1oZWlnaHQ6MS41O1xuICAgIH1cblxuICAgIC8qIOKUgOKUgCBBbmltYXRlZCBncmFkaWVudCBiYWNrZ3JvdW5kIOKUgOKUgCAqL1xuICAgIGJvZHk6OmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgIHBvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDowO3BvaW50ZXItZXZlbnRzOm5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA5MDBweCA1MDBweCBhdCA1MCUgLTUlLHJnYmEoMTQwLDIwMywyNDUsLjE4KSx0cmFuc3BhcmVudCA2MCUpLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA2MDBweCA0MDBweCBhdCAxNSUgMzAlLHJnYmEoNDYsMTExLDE4NCwuMTApLHRyYW5zcGFyZW50IDU1JSksXG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDgwMHB4IDUwMHB4IGF0IDg1JSA0MCUscmdiYSgxNDAsMjAzLDI0NSwuMDgpLHRyYW5zcGFyZW50IDYwJSksXG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDUwMHB4IDUwMHB4IGF0IDUwJSA4MCUscmdiYSg0NiwxMTEsMTg0LC4wNiksdHJhbnNwYXJlbnQgNTUlKTtcbiAgICB9XG5cbiAgICAvKiDilIDilIAgQ1NTIG5vaXNlIHRleHR1cmUg4pSA4pSAICovXG4gICAgYm9keTo6YWZ0ZXJ7XG4gICAgICBjb250ZW50OlwiXCI7XG4gICAgICBwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6MDtwb2ludGVyLWV2ZW50czpub25lO1xuICAgICAgb3BhY2l0eTouMDM1O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgICAgcmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsLjA4KSAwJSAyNSUsdHJhbnNwYXJlbnQgMCUgNTAlKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTo0cHggNHB4O1xuICAgICAgbWl4LWJsZW5kLW1vZGU6b3ZlcmxheTtcbiAgICB9XG5cbiAgICAuY29udGFpbmVye1xuICAgICAgd2lkdGg6bWluKHZhcigtLW1heCksY2FsYygxMDAlIC0gdmFyKC0tcGFkKSoyKSk7XG4gICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICB6LWluZGV4OjE7XG4gICAgfVxuXG4gICAgYXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lO31cbiAgICBhOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4O2JvcmRlci1yYWRpdXM6NHB4O31cbiAgICBpbWd7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTt9XG5cbiAgICAvKiDilIDilIAgU2Nyb2xsIHJldmVhbCDilIDilIAgKi9cbiAgICAucmV2ZWFse1xuICAgICAgb3BhY2l0eTowO1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMzJweCk7XG4gICAgICB0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIHZhcigtLWVhc2UpLHRyYW5zZm9ybSAuN3MgdmFyKC0tZWFzZSk7XG4gICAgfVxuICAgIC5yZXZlYWwudmlzaWJsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7fVxuXG4gICAgLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICAgICAgVE9QIEJBUlxuICAgICAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuICAgIC50b3BiYXJ7XG4gICAgICBwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDoxMDA7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxLjYpO1xuICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxLjYpO1xuICAgICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoNiwxMCwxOCwuODIpLHJnYmEoNiwxMCwxOCwuNTUpKTtcbiAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTtcbiAgICB9XG4gICAgLnRvcGJhci1pbm5lcntcbiAgICAgIGhlaWdodDo3MnB4O1xuICAgICAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTZweDtcbiAgICB9XG4gICAgLnRvcGJhci1nbG93e1xuICAgICAgaGVpZ2h0OjFweDtcbiAgICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50LHJnYmEoMTQwLDIwMywyNDUsLjUpLHRyYW5zcGFyZW50KTtcbiAgICAgIGJveC1zaGFkb3c6MCAwIDEycHggdmFyKC0tYWNjZW50R2xvdyk7XG4gICAgfVxuXG4gICAgLyogQnJhbmQgKi9cbiAgICAuYnJhbmR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDt9XG4gICAgLmJyYW5kLWljb257XG4gICAgICB3aWR0aDozNnB4O2hlaWdodDozNnB4O1xuICAgICAgZmlsdGVyOmRyb3Atc2hhZG93KDAgNHB4IDE0cHggcmdiYSgxNDAsMjAzLDI0NSwuMjIpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6OHB4O1xuICAgIH1cbiAgICAuYnJhbmQtbmFtZXtmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjIxcHg7bGV0dGVyLXNwYWNpbmc6LjJweDt9XG4gICAgLmJyYW5kLWxsY3tmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE5cHg7b3BhY2l0eTouODg7fVxuXG4gICAgLyogTmF2ICovXG4gICAgLm5hdntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NjAwO31cbiAgICAubmF2IGF7XG4gICAgICBjb2xvcjp2YXIoLS1tdXRlZCk7cGFkZGluZzo4cHggMTJweDtib3JkZXItcmFkaXVzOjhweDtcbiAgICAgIHRyYW5zaXRpb246Y29sb3IgLjJzLGJhY2tncm91bmQgLjJzO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgfVxuICAgIC5uYXYgYTpob3ZlciwubmF2IGEuYWN0aXZle2NvbG9yOnZhcigtLXRleHQpO31cbiAgICAubmF2IGEuYWN0aXZle2JhY2tncm91bmQ6cmdiYSgxNDAsMjAzLDI0NSwuMDgpO31cbiAgICAubmF2IGEuYWN0aXZlOjphZnRlcntcbiAgICAgIGNvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDtcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgd2lkdGg6MjRweDtoZWlnaHQ6MnB4O2JvcmRlci1yYWRpdXM6OTlweDtcbiAgICAgIGJhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtcbiAgICAgIGJveC1zaGFkb3c6MCAwIDEwcHggdmFyKC0tYWNjZW50R2xvdyk7XG4gICAgfVxuICAgIC5uYXYtc2Vwe2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjE4KTtmb250LXdlaWdodDozMDA7dXNlci1zZWxlY3Q6bm9uZTt9XG5cbiAgICAvKiBNb2JpbGUgbmF2ICovXG4gICAgLm5hdi10b2dnbGV7ZGlzcGxheTpub25lO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjhweDt9XG4gICAgLm5hdi10b2dnbGUgc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7c3Ryb2tlOnZhcigtLXRleHQpO3N0cm9rZS13aWR0aDoyO2ZpbGw6bm9uZTt9XG5cbiAgICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgICBIRVJPXG4gICAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gICAgLmhlcm97XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6NTQwcHg7XG4gICAgICBwYWRkaW5nOjgwcHggMCA2MHB4O1xuICAgICAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICB9XG4gICAgLmhlcm8tYmd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjA7fVxuICAgIC5oZXJvLWJnIGNhbnZhc3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO31cbiAgICAuaGVyby1jb250ZW50e1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLmhlcm8tbG9nb3tcbiAgICAgIHdpZHRoOjEyMHB4O2hlaWdodDoxMjBweDtcbiAgICAgIG1hcmdpbjowIGF1dG8gMjhweDtcbiAgICAgIGZpbHRlcjpkcm9wLXNoYWRvdygwIDhweCAzMnB4IHJnYmEoMTQwLDIwMywyNDUsLjMpKTtcbiAgICAgIGFuaW1hdGlvbjpmbG9hdCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBmbG9hdHtcbiAgICAgIDAlLDEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9XG4gICAgICA1MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpfVxuICAgIH1cbiAgICAuaGVybyBoMXtcbiAgICAgIGZvbnQtc2l6ZTpjbGFtcCgzMnB4LDV2dyw2MHB4KTtmb250LXdlaWdodDo5MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzotLjhweDtsaW5lLWhlaWdodDoxLjA4O1xuICAgICAgdGV4dC1zaGFkb3c6MCA4cHggNDBweCByZ2JhKDAsMCwwLC41KTtcbiAgICB9XG4gICAgLmFjY2VudHtjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtc2hhZG93OjAgNnB4IDI0cHggdmFyKC0tYWNjZW50R2xvdyk7fVxuICAgIC5oZXJvLXN1YntcbiAgICAgIG1hcmdpbjoxOHB4IGF1dG8gMDttYXgtd2lkdGg6NTQwcHg7XG4gICAgICBmb250LXNpemU6Y2xhbXAoMTZweCwxLjh2dywxOXB4KTtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwO1xuICAgIH1cbiAgICAuaGVyby1hY3Rpb25ze1xuICAgICAgbWFyZ2luLXRvcDozMnB4O2Rpc3BsYXk6ZmxleDtnYXA6MTRweDtcbiAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC13cmFwOndyYXA7XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIEJ1dHRvbnMg4pSA4pSAICovXG4gICAgLmJ0bntcbiAgICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgICBoZWlnaHQ6NTJweDtwYWRkaW5nOjAgMjhweDtib3JkZXItcmFkaXVzOnZhcigtLXIxMik7XG4gICAgICBmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE1cHg7bGV0dGVyLXNwYWNpbmc6LjNweDtcbiAgICAgIGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTUpO1xuICAgICAgYm94LXNoYWRvdzp2YXIoLS1zaGFkb3dTb2Z0KTtcbiAgICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlKSxib3gtc2hhZG93IC4ycyxib3JkZXItY29sb3IgLjJzO1xuICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgfVxuICAgIC5idG46aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTt9XG4gICAgLmJ0bjphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7fVxuICAgIC5idG4tcHJpbWFyeXtcbiAgICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1idG5BKSx2YXIoLS1idG5CKSk7XG4gICAgICBib3JkZXItY29sb3I6cmdiYSgxNDAsMjAzLDI0NSwuMyk7XG4gICAgICBib3gtc2hhZG93OjAgMTZweCA0OHB4IHJnYmEoMzAsOTQsMTY4LC4zNSksdmFyKC0tc2hhZG93U29mdCk7XG4gICAgfVxuICAgIC5idG4tcHJpbWFyeTpob3Zlcntib3gtc2hhZG93OjAgMjBweCA1NnB4IHJnYmEoMzAsOTQsMTY4LC40NSksdmFyKC0tc2hhZG93U29mdCk7fVxuICAgIC5idG4tc2Vjb25kYXJ5e1xuICAgICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTQsMjYsNDQsLjgpLHJnYmEoMTAsMTYsMjgsLjgpKTtcbiAgICAgIGJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xOCk7XG4gICAgfVxuICAgIC5idG4tbGd7aGVpZ2h0OjU2cHg7cGFkZGluZzowIDM2cHg7Zm9udC1zaXplOjE2cHg7Ym9yZGVyLXJhZGl1czoxNHB4O31cblxuICAgIC8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgICAgIFNFQ1RJT04gSEVBREVSU1xuICAgICAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuICAgIC5zZWN0aW9uLXRpdGxle1xuICAgICAgZm9udC1zaXplOmNsYW1wKDI4cHgsMy42dncsNDRweCk7Zm9udC13ZWlnaHQ6OTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6LS41cHg7dGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgfVxuICAgIC5nbG93LWxpbmV7XG4gICAgICB3aWR0aDptaW4oMjgwcHgsNTV2dyk7aGVpZ2h0OjJweDttYXJnaW46MTRweCBhdXRvIDA7XG4gICAgICBib3JkZXItcmFkaXVzOjk5cHg7XG4gICAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCx2YXIoLS1hY2NlbnREYXJrKSx2YXIoLS1hY2NlbnQpLHZhcigtLWFjY2VudERhcmspLHRyYW5zcGFyZW50KTtcbiAgICAgIGJveC1zaGFkb3c6MCAwIDE4cHggcmdiYSgxNDAsMjAzLDI0NSwuMik7XG4gICAgfVxuXG4gICAgLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICAgICAgQVBQIENBUkRTIEdSSURcbiAgICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbiAgICAuYXBwc3twYWRkaW5nOjYwcHggMCA0MHB4O31cbiAgICAuYXBwcy1wYW5lbHtcbiAgICAgIGJhY2tncm91bmQ6dmFyKC0tZ2xhc3NQYW5lbCk7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6MjRweDtcbiAgICAgIGJveC1zaGFkb3c6dmFyKC0tc2hhZG93KTtcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIH1cbiAgICAuYXBwcy1wYW5lbDo6YmVmb3JlLC5hcHBzLXBhbmVsOjphZnRlcntcbiAgICAgIGNvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6MXB4O1xuICAgICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdHJhbnNwYXJlbnQscmdiYSgxNDAsMjAzLDI0NSwuMzUpLHRyYW5zcGFyZW50KTtcbiAgICB9XG4gICAgLmFwcHMtcGFuZWw6OmJlZm9yZXt0b3A6MDt9LmFwcHMtcGFuZWw6OmFmdGVye2JvdHRvbTowO31cblxuICAgIC5hcHBzLWdyaWR7XG4gICAgICBkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjIwcHg7cGFkZGluZzoyNHB4O1xuICAgIH1cbiAgICAuYXBwLWNhcmR7XG4gICAgICBiYWNrZ3JvdW5kOnZhcigtLWdsYXNzQ2FyZCk7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICBib3JkZXItcmFkaXVzOjE4cHg7XG4gICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICBkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuICAgICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2UpLGJveC1zaGFkb3cgLjNzIHZhcigtLWVhc2UpLGJvcmRlci1jb2xvciAuM3M7XG4gICAgfVxuICAgIC5hcHAtY2FyZDpob3ZlcntcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO1xuICAgICAgYm94LXNoYWRvdzowIDI0cHggNjRweCByZ2JhKDAsMCwwLC41NSksMCAwIDAgMXB4IHJnYmEoMTQwLDIwMywyNDUsLjEyKTtcbiAgICAgIGJvcmRlci1jb2xvcjpyZ2JhKDE0MCwyMDMsMjQ1LC4xOCk7XG4gICAgfVxuICAgIC5hcHAtY2FyZCBoM3tcbiAgICAgIG1hcmdpbjoxNnB4IDE2cHggMTJweDtmb250LXNpemU6MThweDtmb250LXdlaWdodDo4MDA7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtsZXR0ZXItc3BhY2luZzotLjJweDtcbiAgICB9XG4gICAgLmFwcC1jYXJkIC5tZWRpYXtcbiAgICAgIG1hcmdpbjowIDE0cHg7Ym9yZGVyLXJhZGl1czoxNHB4O292ZXJmbG93OmhpZGRlbjtcbiAgICAgIGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDYpO1xuICAgICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wMyk7XG4gICAgICBhc3BlY3QtcmF0aW86MTYvMTA7XG4gICAgICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgfVxuICAgIC5hcHAtY2FyZCAubWVkaWEgaW1ne1xuICAgICAgd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO1xuICAgICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIHZhcigtLWVhc2UpO1xuICAgIH1cbiAgICAuYXBwLWNhcmQ6aG92ZXIgLm1lZGlhIGltZ3t0cmFuc2Zvcm06c2NhbGUoMS4wNCk7fVxuICAgIC5hcHAtY2FyZCAuY2FyZC1kZXNje1xuICAgICAgbWFyZ2luOjEycHggMTRweCAxOHB4O3RleHQtYWxpZ246Y2VudGVyO1xuICAgICAgY29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIGZsZXg6MTtcbiAgICB9XG4gICAgLmFwcC1jYXJkIC5jYXJkLWJhZGdle1xuICAgICAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtcbiAgICAgIG1hcmdpbjowIDE0cHggMTRweDthbGlnbi1zZWxmOmNlbnRlcjtcbiAgICAgIHBhZGRpbmc6NXB4IDEycHg7Ym9yZGVyLXJhZGl1czoyMHB4O1xuICAgICAgYmFja2dyb3VuZDpyZ2JhKDE0MCwyMDMsMjQ1LC4wOCk7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTQwLDIwMywyNDUsLjE1KTtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1hY2NlbnQpO1xuICAgIH1cbiAgICAuY2FyZC1iYWRnZSBzdmd7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtmaWxsOm5vbmU7c3Ryb2tlOnZhcigtLWFjY2VudCk7c3Ryb2tlLXdpZHRoOjI7fVxuXG4gICAgLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICAgICAgRkVBVFVSRVNcbiAgICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cblxuICAgIC8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgICAgIENUQVxuICAgICAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuICAgIC5jdGF7cGFkZGluZzo2MHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7fVxuICAgIC5jdGEgLmhlcm8tc3Vie21hcmdpbjoxNnB4IGF1dG8gMDt9XG4gICAgLmN0YS1hY3Rpb25ze21hcmdpbi10b3A6MjhweDt9XG5cbiAgICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgICBGT09URVJcbiAgICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbiAgICAuZm9vdGVye1xuICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpO1xuICAgICAgcGFkZGluZzoyMHB4IDA7bWFyZ2luLXRvcDoxMHB4O1xuICAgIH1cbiAgICAuZm9vdGVyLWlubmVye1xuICAgICAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtcbiAgICAgIGdhcDoxNnB4O2ZsZXgtd3JhcDp3cmFwO1xuICAgICAgZm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbXV0ZWQyKTtmb250LXdlaWdodDo2MDA7XG4gICAgfVxuICAgIC5mb290ZXItbGlua3N7ZGlzcGxheTpmbGV4O2dhcDoyMHB4O31cbiAgICAuZm9vdGVyLWxpbmtzIGF7Y29sb3I6dmFyKC0tbXV0ZWQyKTt0cmFuc2l0aW9uOmNvbG9yIC4yczt9XG4gICAgLmZvb3Rlci1saW5rcyBhOmhvdmVye2NvbG9yOnZhcigtLWFjY2VudCk7fVxuICAgIC5zb2NpYWx7ZGlzcGxheTpmbGV4O2dhcDo4cHg7YWxpZ24taXRlbXM6Y2VudGVyO31cbiAgICAuc29jaWFsIGF7XG4gICAgICB3aWR0aDozNHB4O2hlaWdodDozNHB4O2JvcmRlci1yYWRpdXM6OHB4O1xuICAgICAgZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjtcbiAgICAgIGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gICAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMsYm9yZGVyLWNvbG9yIC4ycztcbiAgICB9XG4gICAgLnNvY2lhbCBhOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKTt9XG4gICAgLnNvY2lhbCBzdmd7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtmaWxsOndoaXRlO29wYWNpdHk6Ljk7fVxuICAgIC5zb2MteHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA4KTt9XG4gICAgLnNvYy1pZ3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI0Y1ODUyOSwjREQyQTdCLCM4MTM0QUYpO31cbiAgICAuc29jLWlue2JhY2tncm91bmQ6IzBBNjZDMjt9XG4gICAgLnNvYy1naHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA4KTt9XG5cbiAgICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgICBSRVNQT05TSVZFXG4gICAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gICAgQG1lZGlhKG1heC13aWR0aDo5ODBweCl7XG4gICAgICAuYXBwcy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpO31cbiAgICB9XG4gICAgQG1lZGlhKG1heC13aWR0aDo2NDBweCl7XG4gICAgICA6cm9vdHstLXBhZDoxNnB4O31cbiAgICAgIC5hcHBzLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtwYWRkaW5nOjE2cHg7fVxuICAgICAgLm5hdntcbiAgICAgICAgcG9zaXRpb246Zml4ZWQ7dG9wOjY0cHg7bGVmdDowO3JpZ2h0OjA7XG4gICAgICAgIGJhY2tncm91bmQ6cmdiYSg2LDEwLDE4LC45NSk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyMHB4O2dhcDo0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA4KTtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEyMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgdmFyKC0tZWFzZSk7XG4gICAgICAgIHotaW5kZXg6OTk7XG4gICAgICB9XG4gICAgICAubmF2Lm9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7fVxuICAgICAgLm5hdiBhe3BhZGRpbmc6MTJweCAxNnB4O3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czoxMHB4O31cbiAgICAgIC5uYXYtc2Vwe2Rpc3BsYXk6bm9uZTt9XG4gICAgICAubmF2LXRvZ2dsZXtkaXNwbGF5OmJsb2NrO31cbiAgICAgIC50b3BiYXItaW5uZXJ7aGVpZ2h0OjY0cHg7fVxuICAgICAgLmhlcm97bWluLWhlaWdodDo0MjBweDtwYWRkaW5nOjYwcHggMCA0MHB4O31cbiAgICAgIC5oZXJvLWxvZ297d2lkdGg6OTBweDtoZWlnaHQ6OTBweDt9XG4gICAgICAuZm9vdGVyLWlubmVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt0ZXh0LWFsaWduOmNlbnRlcjtnYXA6MTJweDt9XG4gICAgfVxuICAgIEBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7XG4gICAgICBodG1se3Njcm9sbC1iZWhhdmlvcjphdXRvO31cbiAgICAgICp7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50O3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7fVxuICAgIH1cbiJdfQ== */