Files
litterbox/app/templates/report.html
T
2026-04-29 03:40:59 -07:00

1315 lines
118 KiB
HTML

{% set subject_name = (dynamic_results.moneta.findings.process_info.name if (is_process_analysis and dynamic_results and dynamic_results.moneta and dynamic_results.moneta.findings and dynamic_results.moneta.findings.process_info) else None) or ('PID ' ~ pid) if is_process_analysis else (file_info.original_name if file_info else 'Unknown') %}
{% set risk_class = (risk_level or 'low') | lower %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LitterBox Report — {{ subject_name }}</title>
<style>
/* ---------------------------------------------------------------
* LitterBox Analysis Report — fully self-contained.
* No external CSS/JS. Opens correctly from disk, email, or zip.
* --------------------------------------------------------------- */
/* Reset */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img, svg { display: block; max-width: 100%; }
/* Design tokens — aligned with the in-app hybrid terminal palette */
:root {
--bg: #0e1014;
--bg-deep: #08090b;
--surface: #14171c;
--surface-soft: #11141a;
--surface-row: rgba(255, 255, 255, 0.02);
--border: rgba(255, 255, 255, 0.07);
--border-soft: rgba(255, 255, 255, 0.05);
--text: #f4f4f5;
--text-muted: #a1a1aa;
--text-faint: #71717a;
--accent: #ef4444;
--sev-critical: #f87171; /* red-400, softened from red-500 */
--sev-high: #fb923c; /* orange-400 */
--sev-medium: #facc15; /* yellow-400 */
--sev-low: #4ade80; /* green-400 */
--sev-clean: #4ade80;
--radius-sm: 0;
--radius: 0;
--radius-lg: 0;
--shadow: 0 1px 0 rgba(255,255,255,0.04) inset, 0 12px 32px -16px rgba(0,0,0,0.6);
--mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;
--sans: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;
}
body {
font-family: var(--sans);
font-size: 13px;
line-height: 1.55;
color: var(--text);
background: var(--bg-deep);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
min-height: 100vh;
}
.page {
max-width: 960px;
margin: 0 auto;
padding: 48px 32px 80px;
}
/* Brand strip */
.brand {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
margin-bottom: 32px;
}
.brand-name {
display: inline-flex;
align-items: center;
gap: 12px;
}
.brand-meta {
font-family: var(--mono);
font-size: 12px;
color: var(--text-faint);
}
.brand-logo {
width: 64px;
height: 64px;
flex-shrink: 0;
border-radius: 12px;
object-fit: contain;
background: rgba(248, 113, 113, 0.05);
padding: 6px;
box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.14);
}
.brand-text {
display: inline-flex;
flex-direction: column;
line-height: 1.2;
}
.brand-title {
font-weight: 700;
font-size: 16px;
letter-spacing: 0.02em;
color: var(--text);
}
.brand-tag {
font-size: 11px;
color: var(--text-faint);
letter-spacing: 0.04em;
}
/* Hero */
.hero {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 28px 32px;
box-shadow: var(--shadow);
margin-bottom: 24px;
}
.hero-top {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap;
}
.hero-eyebrow {
font-size: 11px;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--text-faint);
margin: 0 0 8px;
font-weight: 600;
}
.hero-title {
font-size: 24px;
font-weight: 700;
letter-spacing: -0.01em;
color: var(--text);
margin: 0 0 6px;
word-break: break-all;
}
.hero-subtitle {
font-size: 13px;
color: var(--text-muted);
margin: 0;
}
/* Risk visualisation */
.risk-card {
flex: 0 0 280px;
max-width: 320px;
min-width: 240px;
}
.risk-row {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 12px;
margin-bottom: 10px;
}
.risk-score {
font-size: 32px;
font-weight: 700;
letter-spacing: -0.02em;
font-variant-numeric: tabular-nums;
line-height: 1;
}
.risk-score-suffix {
color: var(--text-faint);
font-size: 14px;
font-weight: 500;
margin-left: 4px;
}
.risk-bar {
width: 100%;
height: 6px;
background: rgba(255,255,255,0.06);
border-radius: 999px;
overflow: hidden;
}
.risk-bar-fill {
height: 100%;
border-radius: 999px;
transition: width 0.3s ease;
}
.risk-bar-fill.critical { background: var(--sev-critical); }
.risk-bar-fill.high { background: var(--sev-high); }
.risk-bar-fill.medium { background: var(--sev-medium); }
.risk-bar-fill.low { background: var(--sev-low); }
/* Severity pill */
.pill {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 4px 10px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
letter-spacing: 0.02em;
border: 1px solid transparent;
white-space: nowrap;
}
.pill.critical { color: var(--sev-critical); background: rgba(248,113,113,0.08); border-color: rgba(248,113,113,0.22); }
.pill.high { color: var(--sev-high); background: rgba(251,146,60,0.08); border-color: rgba(251,146,60,0.22); }
.pill.medium { color: var(--sev-medium); background: rgba(250,204,21,0.08); border-color: rgba(250,204,21,0.22); }
.pill.low,
.pill.clean { color: var(--sev-low); background: rgba(74,222,128,0.08); border-color: rgba(74,222,128,0.22); }
.pill.muted { color: var(--text-muted); background: rgba(255,255,255,0.04); border-color: var(--border); }
/* Detection chips */
.chip-row {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 18px;
}
.chip {
display: inline-flex;
align-items: baseline;
gap: 6px;
padding: 6px 12px;
border-radius: 999px;
background: rgba(255,255,255,0.03);
border: 1px solid var(--border);
font-size: 13px;
color: var(--text-muted);
}
.chip strong {
color: var(--text);
font-weight: 600;
font-variant-numeric: tabular-nums;
}
.chip.has-detections {
color: var(--sev-critical);
background: rgba(248,113,113,0.06);
border-color: rgba(248,113,113,0.18);
}
.chip.has-detections strong { color: var(--sev-critical); }
/* Cards */
.card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 24px 28px;
margin-bottom: 24px;
box-shadow: var(--shadow);
}
.card-soft {
background: var(--surface-soft);
border: 1px solid var(--border-soft);
border-radius: var(--radius);
padding: 16px 20px;
}
/* Section headers */
h2.section-title {
font-size: 18px;
font-weight: 600;
letter-spacing: -0.005em;
color: var(--text);
margin: 0 0 4px;
display: flex;
align-items: center;
gap: 10px;
}
h2.section-title .pill { margin-left: auto; }
.section-sub {
font-size: 13px;
color: var(--text-muted);
margin: 0 0 18px;
}
.subsection-title {
font-size: 13px;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--text-muted);
font-weight: 600;
margin: 24px 0 12px;
}
/* Per-scanner block */
.scanner {
display: flex;
align-items: flex-start;
gap: 16px;
padding: 16px 0;
border-top: 1px solid var(--border-soft);
}
.scanner:first-of-type { border-top: 0; padding-top: 4px; }
.scanner-name {
flex: 0 0 120px;
font-weight: 600;
color: var(--text);
font-size: 14px;
padding-top: 2px;
}
.scanner-body { flex: 1 1 auto; min-width: 0; }
.scanner-headline {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 6px;
}
.scanner-meta {
font-size: 13px;
color: var(--text-muted);
}
/* Inline status (icon sizing locked so the green V never goes huge) */
.clean-state, .threat-state {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 13px;
}
.clean-state { color: var(--sev-low); }
.threat-state { color: var(--sev-critical); }
.clean-state svg,
.threat-state svg {
width: 14px;
height: 14px;
flex-shrink: 0;
}
/* Key/value list */
dl.kv {
display: grid;
grid-template-columns: 160px 1fr;
gap: 8px 24px;
margin: 0;
font-size: 14px;
}
dl.kv dt {
color: var(--text-muted);
font-size: 13px;
font-weight: 500;
}
dl.kv dd {
color: var(--text);
margin: 0;
word-break: break-word;
}
dl.kv dd.mono { font-family: var(--mono); font-size: 12.5px; word-break: break-all; }
/* Risk factor list */
ul.factor-list {
list-style: none;
padding: 0;
margin: 16px 0 0;
display: grid;
gap: 8px;
}
ul.factor-list li {
padding: 10px 14px;
background: var(--surface-soft);
border: 1px solid var(--border-soft);
border-radius: var(--radius-sm);
font-size: 14px;
color: var(--text);
display: flex;
align-items: flex-start;
gap: 10px;
}
ul.factor-list li::before {
content: '';
width: 4px;
height: 4px;
margin-top: 9px;
border-radius: 50%;
background: var(--accent);
flex-shrink: 0;
}
/* Tables */
table.report-table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
font-size: 13.5px;
}
table.report-table thead th {
text-align: left;
font-weight: 600;
color: var(--text-muted);
font-size: 12px;
letter-spacing: 0.04em;
text-transform: uppercase;
padding: 10px 14px;
border-bottom: 1px solid var(--border);
background: rgba(255,255,255,0.02);
}
table.report-table tbody td {
padding: 10px 14px;
border-bottom: 1px solid var(--border-soft);
vertical-align: top;
}
table.report-table tbody tr:last-child td { border-bottom: 0; }
table.report-table tbody td.mono { font-family: var(--mono); font-size: 12.5px; word-break: break-all; }
table.report-table tbody td.center { text-align: center; font-style: italic; color: var(--text-muted); }
/* Code block / hex dump */
pre.code {
margin: 12px 0 0;
padding: 14px 16px;
background: var(--bg);
border: 1px solid var(--border);
border-radius: var(--radius-sm);
color: var(--text);
font-family: var(--mono);
font-size: 12.5px;
line-height: 1.5;
overflow-x: auto;
white-space: pre-wrap;
word-break: break-all;
}
/* Hash row */
.hash-row { display: grid; grid-template-columns: 80px 1fr; gap: 12px; margin-bottom: 8px; }
.hash-row:last-child { margin-bottom: 0; }
.hash-label { color: var(--text-muted); font-size: 12px; padding-top: 2px; letter-spacing: 0.04em; text-transform: uppercase; }
.hash-value { font-family: var(--mono); font-size: 12.5px; color: var(--text); word-break: break-all; }
/* Findings list */
ul.finding-list {
margin: 8px 0 0;
padding: 0;
list-style: none;
}
ul.finding-list li {
padding: 8px 0;
border-top: 1px dashed var(--border-soft);
font-size: 13.5px;
}
ul.finding-list li:first-child { border-top: 0; padding-top: 4px; }
.finding-rule {
font-weight: 600;
color: var(--accent);
font-family: var(--mono);
font-size: 13px;
}
.finding-meta {
color: var(--text-muted);
font-size: 12.5px;
margin-left: 8px;
}
/* Process output streams */
.stream-block { margin-top: 16px; }
.stream-label {
display: flex;
align-items: center;
gap: 8px;
font-size: 12px;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--text-muted);
margin-bottom: 6px;
}
.stream-label .dot {
width: 6px; height: 6px; border-radius: 50%;
background: var(--text-faint);
}
.stream-block.stderr .stream-label .dot { background: var(--sev-high); }
/* Footer */
footer.report-footer {
margin-top: 48px;
padding-top: 24px;
border-top: 1px solid var(--border);
font-size: 12px;
color: var(--text-faint);
display: flex;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
}
footer.report-footer .branding { color: var(--text-muted); }
/* Utilities */
.grow { flex: 1 1 auto; min-width: 0; }
.nowrap { white-space: nowrap; }
.muted { color: var(--text-muted); }
.faint { color: var(--text-faint); }
.mono { font-family: var(--mono); }
.right { margin-left: auto; }
.mt-12 { margin-top: 12px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.stack { display: flex; flex-direction: column; gap: 4px; }
/* Print */
@media print {
body { background: white; color: #111; }
.page { padding: 24px; }
.hero, .card, .card-soft, pre.code, .chip, table.report-table thead th {
background: white;
color: #111;
border-color: #ddd;
box-shadow: none;
}
.pill, .chip, .scanner, ul.factor-list li { box-shadow: none; }
table.report-table tbody td { border-color: #eee; }
pre.code { background: #f6f7fb; border-color: #ddd; color: #111; }
.pill.critical, .threat-state, .finding-rule { color: #b91c1c; }
.pill.high { color: #c2410c; }
.pill.medium { color: #a16207; }
.pill.low, .pill.clean, .clean-state { color: #166534; }
.muted, .faint, dl.kv dt, .scanner-meta, .section-sub, .hash-label,
footer.report-footer, .hero-eyebrow, .subsection-title { color: #555; }
}
</style>
</head>
<body>
<main class="page">
<!-- Brand strip -->
<div class="brand">
<span class="brand-name">
<img class="brand-logo" src="data:image/png;base64,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+JiaqAc/vFO8bxhgBEhrayvNP/61uJhr1twQ9HqsZuHaF0ihLpBSnk0IZiilahmltFhzny/cOGY2EckvBCHFn8Ax/fwKQAaEJKDUAAjpppQepMBewugeXdN3G2F+4EcPP5kceaFn6knnbwfvRwYoog2g61paaDQaVWOFSj9/221lduJQg+2RRlDVIIWsh0KNkF45pTRIGdOIAlFQQgphEULSIBimjA1RSYYU1BDlGOYwh3mAx42pocQPfxjLneSSaMvR63nPEn0k3tcMMAqkra2NFKaSTaQ/3dYGum6dP6krGo2qvE5XE3W+icR/JwYYC6StrY2M9RRx4NiyqpO939zcrO5pby88RfJ9R+QSSiihhBJKKKGEEkoooYQSSiihhBJKKKGEEkoooYQSSiihhBJKKOH/L/w/UZfggN7w8OMAAAAASUVORK5CYIKJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYAAG4jSURBVHic7b13fGRXebj/nHPLVI3qant3Xa8bxjbGRYsBF0wLIAgEYwyJ6RACBBIS5CUkISFACL8AgS8lAQKxCJ2Yanvde/e6rddbtbuqM6Opt5zz++PeOxppteuttiTf5+OxtNLozp07933P+77nLRATExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExNzKIienh4TkAC9vb1Gb2+v8RyfU0xMzNFmqqALKRvf9wUKQTzb5zRTiS9EzFxC9Pb2yv7+fr+vry+5456brvA8541a0W5a5iOJROY/v/rjX/0eoK+vT65fv1491yf8XBMrgJg5QbNAv/M1L3uFV6v9k0Cv9ZVCa42UwcIvTfO/lq9e8oH1X/5+MVYCsQKImQP09PSYGzZs8L7d15e88e4N/+y7zgeUUnhKeUILoQVCoBUakbAtQwtxb0f3wld/8b/6dz7flUCsAGJmNZHwv/tPXn18bST/X1r7Z9UdVyEEIgwANqM1rm0aljCMRzPzF1z4lf/s3/18VgKxAoiZrYienh5jw4YN3lV/dPFltUrpP7VSna7vewJhNj9RR3/Q+Lf2bMMwhWHeccqJL3xJ8YtfrK8PnqZ5nrGXhoyJmQWIPhAbNmzw3vnKl36wWhr/ped5nZ7n+1OFXwiBIYOHEIEKEAjT8ZWLVmc/8Ng931gPqqen53m5RRgrgJhZRV9fcM+uR6grL1v3z75b+5LneUppFEI0hFgIkFLgOB75QoWxQgXH9ZAyUgJYddf1pFJ/cuUrL3zfhg0bvOdjnkCsAGJmDYGvjrrmmmvk2y89/7+0536s7roeQohmf19Kge9rBofH2bknz/BYmeGxMjt35xkZKxMaAgiE4biu7zq1f3nvH7/qpHD78HklE8+rNxsze4kCdZ//8IdTv/rWl3+K8i+vua5HYPI3YllSCkrlOjt2j1Eo1QAwpMAMV/7RfJnBkVLkDgitNULr5PjY6DevueYaY+PGjYLnUWzsefNGY2YvkfD3feADuaefvP9nQvnr6p7vCrCi5wQCrRkeK1MoVgMXQIi9onpCCDxf0dGaprM9g1IajfaSlmVKy/rIt355wxd6e3uN/v5+/9l9l88NsQKImdFEwviJ97ylffeW7b/Svn/OVOGXUuB5ij0jRSpVB0PubdgKIVBKobTGkBKtNQvmtZJJ2/hKawHaMM3y4vmL1v7Td/u39/X1iefD1mDsAsTMWBrC/77LOwc2b/ut8vxz6p7nTRX+Wt1j55481aq7l/BHgu+6LrZtkWvJoLVGa81ovozvawQI0EqiW3YN7flnQIeuwJznefEmY2Yfkdn/ife8pX3X09t/q33/hY7vTdrjN6SgVHUYHCqitN7L5BdC4LoumUyalcuXMG9eOwnbYmh4jIc3PonjeHS1Z2lvS+MrjdDaNy3TyLS0XPC1//3NTc8HV8B85qfExDy7RML/pb6+3L13XHftdMIvpaBYqjE4UgI0Yh/Cv2hhNycev5pkwsbzfXxfsXDBPADue+BRCqUq2UwC05RoDWhNabz8z1rrF18txJxPDIotgJgZRR/I9aD6+vrST99x3a9R/vmOt7fwF4pVhsca0fxJCCFwXJdVy5dw4gmr8H2FUqrxXKU0iYTFxseeYtPm7czvaqWjyQqwbcuwk5k3fONnv/3fuW4FxDGAmJmEWA/09fXZW26//idiH8I/VqgwNLpv4XddlxXLFnHiCavxPH+S8EfH8DyfVSuWkM2kKIxX8DwVCoPA931dqZavvv766801/f1z2gqIFUDMTEH0ghRSqi13Xv998C+qTyf8+QojY+VGRt+kA4TCP7+7izXHr8bzvMbPp6KUIplIsGLZImp1l3KljpACLTB8XylTsPYHX/7HN4ZpwnPWVY4VQMyMoKenx+gH/4qLz/8Pofw31F3PnSr8o/kKI/l9C7/v+2QzadauORaldeDT74MgH8Bn4YJuMukUhfEqSunAJw6Opaul8l9df/315oYNG2IXICbmaBGV9F552bq/Q3lX1V13r62+sXyF0X0IP4DWGhCctOYYEgkrNPv3/7pKKVLJBIsWdlOp1qnVG7UChu8rJQVr//tf//E1gJ6rVsBsUACir69PhjnacdByjnHGGWdYgfC/5D3Kc/+mPpHeCwTCny/se+WHyPT3WLliMV2d7YTlAQfw6gJfKRYt6MI0TcZL1Um/U77StVr5Y1prsWHDhjmZFDTTBSrI75zys95e5OBgj+ju7tZr1qzR69evf17Wcs92opX/na95+aucauXnvuv6WoiGopdSUBivMjRS2q/w+75PNpvm7Bee+oyr/lS01pimwd33PsLIaJ4VS7owDIHWoLVWtmXKTDZ74Vd//Nvr5+KOwEw2awSgv/SlLyUGH7lniavsesq285/+6ldL/f3ahw2TntzbixEphf7+fkWsEGY0oTB57+19xWnjhfx/+76vVFDVJzRBks94uc7w6L6FPyDw9Y87ZgWWaeB6B7r6TyCEZMH8LvYMjlCtObRkk2itEaDRUKpU/xy4nv7+w3jHM5OZagEIgI9f1ZvbtWXX9Qq9VivtCHRRGMaANIxNEuMhwzYfyKazG7/4/f/dKoSYpJl7wRjsiRXCTCRK9PngH//x/LHR7Xdo5S/3feVH9fxSCsoVh91Dxf2u6FHUf+HCbk4/+YRDEv7oOHXH4Zbb7ydhGSya34pSGsJ7RhqG19W9+OQvfb//8bnWPmxGWgBRa+fx4fFzpeR0p+5qIYQlhcjg+wu1Vmco4b3Jr9QYKo07l1903ua3XXz+/VbCvi2Vabn9hONO3fj+9etLbJiwEiKFsG7dOhW7DM8pYuPG9eL66683v/PZv71GaL3cU8pDBH5/kNvvsme4+IwH0lpjWharVy5Fac1B2/8hQTAwSWd7jj2Do7iewjQkOqgR8kwprPzY4FXAR2644QYJzBkFMCMtgMg3vOKS89+JUl93PM8nVFYatEAHH4BGIIRhSIGUMvAHlUYgdggp7zNM4+ZkMn3zSWvPfPD969eXml8j6v6yZk2/Xr9+7nygM53os337pT3/oRsR/0D4hQgSdHbuKeD7/n5X8yjbb+XyxZx0wjE4rntIqz8EisS2LLbu2MWDDz3O4gUdtGQTkRWghBBSCLn7lNNPOO7jn/vWONPHpmYlM9ICiBAYnhZKglaReg8qt0SUtAWgPaW1UJ4C0BrDkHKJgV6iPPWqUjHPHbf+fsfbLrngbtuyrsu0ZG/61+//9GEhhNf8Uj09PUbsLhxdGsJ/2YUfwqtf5UwS/mAl3j1UxPP8Z/D7o0Qem+XLFj2jsngmgoVD0dGWw7YtytU6LdlE9GuplfIt21jw5OM7Xg18P2pGesgvOIOYkQqgu7tbA6TS2dFKaSxc6ff5dNGsFIQApbVSnqcR6GaF4Gr/tcODFS6/+Lwn3n5pz02WZf8+1dp26799t39b8wcaWQfX9PcrESuDI0Ik/Fe99uUXVcvlL/qe1/D5AwSDI0XqjveMwi+EwPU8li9bRDadPqzVP0IpRTqdpKUlQ7FYwvfVpOpCpbSu18pXgvj+ug0b1Ib9Hm32MCMVwJo1a4LrrpwBX6kgTBsSdX5pzvIKUkAmISN/cKpCAEyp9XEKfZzje++sVMrlKy4+7x5pWr9PJlN/OGvtmfdeuX59jYljyp6eHhnGDmJX4RCYiPi/6pjx/OgPfOUTRfwh8PuHR0uUK84zCj9MrP5LFy8giB0eviertcaQJh3trYyM5Kk7PumUhVYahDA839fSMC5435tec9z6//npE3MlGDgjYwBhOEf/1QeunLf10cc2oVQOgfZ9LXwVaGYZtnluvmHCvdvoGPt8cxpUNCkGIQzTkEghw0ASmw3T3GAnEtem53Xf/K9f//6u5r/t6ekx40DigaODSl3xuY98JPXgQ3feivJO8QKbvRHxL4zXGBoZPyDhP5K+/+Tz1FimyeDwKHfd8zBdHS10tmfCmBKA9mzLMoVl/u13frnhM5FFc9gv/BwzIxVAiNBac/lF590vUKfU6q7aPVSUnq8agm8YEsuQWJaJbRlYpoFpyjAgGBykWSnsA41GIXTkLgjDkAgEvtZ5aRi3m5b5fy1trb//0vd+9miz6dHT02PGcYP9EgzvuPFG720Xn/8jobzXNxf4SCmo1lx27Skc1J0oBJx95qlkM2l8pY7YTSyEwHFcbr39PqQhWLKgvXlBUaaUUhjGA//165teIIJeAbP+M5+RLgBAby9SCOFffvEFDxpwiuv5ynF9KWXg2HuexvN8ahqgDgQ3lGlILMvAtkwStoltm5iGbKwu01gJAoEBotldUEGPCdEm0Jf4Wl0yvGu397aLXnyPYdq/zuRa/+/L//2Te5oDiVHcIFYGE0TBsrdf9pL1eM7ra03CLwR4vmJwZBz9DEGeiIkmH/PJtWQOIuX3wNBak0jYZLMZxvIFPM/HNI0oKUj6yteG4OT3vfGyU4D754IbMGMVwOBgj4ANmJa8HU+9VUo5yUSM9gQiRzKSONfzcVyfMg4AhiExTUnCMkkkTBK2hWVKDCMIK0yjECQIGaSBoT3PVwhfgzAF6myBc3Z+eLDvbRef/8iVl73kN8l04uevOu/S21/xoQ/Vo3OLLYMJv/9PX/3yN7j1yqeaI/4BgqGRcVz3mSP+EdGU3yWL5x+Vq6rDhqGtuSxDw6PUXR/LMpqNPt+Q0qyWK68G7p8LOQEzVgGsW7dObdiwgXQ6e1thbFRbpjQMKQlcgMnPndoKqlkpaK1xHI963YMSCCmwDIltmyRDhWBbxr4UghATkWrt+Ur7yldB+rg8SbnqpFK+/hc/+OU1m668bN21VjL5s3Ne+aZbrrzyylp0Pk0xg1l9oxwMUc78e17/qlPK46Pf8TxPwUTEP2rqUa7UD1j4gxwBj/a2VtrbcniHufW3LzSaXC4DCOp1l2zanognaYTyFUp7lwohPj0XyoRndAwA0N/u60v+/tbfPS7Qywb2FFS5UpcHetPsC91UKy4EmKZBwjZJJiySCRPLMjGmuAxTg4pRIDGKG5iGRAFCiE1Smv+XyqZ+/JX3fvwW8ZKXNNyEQBlsUHM58Sg0i+m74orc07s33aF8/7jmNF8hgky/gT2Fg0rci8z/tWuOZdnSRbhHKPjXjNaBxTheKnP7nQ+QTFgsmt/WHEPSgJBS1hd0Lzz+8//9462z3Q2YyeXAurcX48r162vSMG4xDUk6aSk4fK3VCCKGOwmepyiFhSc79xTYuXuMPcPjFMdrOG4gv0G2oWi+aSUIUwghfK2V43me63rK9/xjtO9+sJQv3vC2f/ybB95x2bp/fN/rX/1CIQQbNmzw1q9H9YEMYwYzWQEfCuKGG26QQgi1Zc/T30Hr48I038bqr7RmeDRo5HkwKKVIpZJ0z+s47MSffSFEoOxTyQTJRIK64+FPtjgFWvumIRPj5dK5AKEbMGuZsS4ATMQBLMv6rXLqb06nbGGaMkrRPGwaY6NF6DqEP3NdH8fxGS/VkFJgW0ZgHSQtEraJaRhIMcldkCCkEOCHQUStMQxDrvFd1hTqQ5+4/KLzbrftxP9kOjp/uv4//2dLVFk2l6yCKOh35WUv+VvtOa+ZrqXX0GjpgJJ9mokSfxZ3zSeZTB6V1T8iKA82SaeTlCpVXM/HNKygLBBABN/Wndp5wH8flZN4FpnR2mvdunUKoH3egusdX9UsyzBSSVsfKQUwlQmFEKz20U1adzzyxSq7B4vs3J1n92CBsUKFuuMCk60DAVJHloHSyvFcz/d9lO+9yHWqXxwZ2P7Q21/R86N3vfbi13z7299ORlZBb2+vMZsHU/b29hpBpt8lF/lu/dNhjv8kv79ccSiOVw9K+GEiOLdgftczbekeNlGgMZ1OopTCcX1oTgfVQvhKoXx1emjVzeo4wIw3QXWwtOo/efm5N0nUecVyzd89WDD21RG28XdH+EZp3mmIFJCQAtsMrINUyiJpW5iGDG6YKbEDrVFCaAXCtAwj3MYQj9tJ63ud7d3f+6f//J8tEPQ1WLOG57JA6WDvCR36wfqD7/zj7rHt2+9Xvj/fD0rpGgpNa83O3Xlc7+DMdyHA9xUt2Qxnn3nKQZ7awRMVBm3esoOHH93EvI4WujqyzVanlkIIIeWuU08559iPff7zZWZxcdCMdgEA1vX0GHrDBs+0zF9qzz0vlbR0MmFRrbvIRp931agk02ikCLb5ohvtSCiD5iNIOeEuOK5H3fEojFeD7UbbIp2ySCVsLGvCVQAtdVCvoF3PUxqEIeXxbl3/3c6BbX/5jst6rkmmM//fV/r/736YiKQfxCmK6Dyv7usTANF4q8HBwb0krrt7g6Yf1oBeP/EWDym5ZeP69QIhVH7nzv8n0AuUUn7T7kmY6lvGOYgtv+a35SvFvK52LNM8Ypl/+0OjSaUSSCFwXH+v5qJKa6SmteQU2oFyOEcwVgBHg2g7sKUt94uxPUN/LxFGLpukWnMREnylWXPCalpzLYyXyhSLJfLFccrlKq7rAkHGoJTRNt+Rjh+IQMgJzqVcqVOu1DGkwLZN0imbVNLCDncWtEZoMAier3zXVQLR4rvuO4v5sSuuvPSCH9htLX/3Hz/ofzJUAgqgr69PTCfQ3Rs26P5gL1pDqAUO6WYUCClQvi8A89/+7d/kQs+TjxSfMjbdsVnCKIsWLdDHnH2Zbw8MqLdffbUP+IAWQvjvfNVLr/Tq1Vc6nteo7YdgQm+16lI4BNMfQp/cMJjX1YHSz45RFCUEGYYx7VyBwC4lmc+PtzwrJ3QUmfEuQEiQFnzx+XcK7b/Q83x/52DBqNVcspkUL37R6Y1+AAC+71OuVBnLFxkZyZMvjFOr1QGNYRhHXBnsdbIE0qi0jnwYEpZBKmmTTtkkbJMgo7GxJakR2hcI0zINQBTNZPLD3/r5H77FAZqXWmvx0Y9enrbzXtYzRW5sx+6cmc62CuW35QtjralEKmdZZmu1Vs35nt9i2lZWCplWnp/2lZ8CnUSIhCGlpcFSvjKFECZaG67vGUGdtaGlYXhaaU8a0hXg+kq5WumaUmqtEDoVXtJJ99XAngJ15+BX7mfb/I+QUlCt1rntzgdQSrFkYTtWmBEYoqWUIpVIvvD//er6e2bzVuCMtwAgiC4LIby3X7buR9rVL5SG0rlsikqljmkFbyEaAgHBqpzNpMm1ZFm2ZCG1Wp2xfJGh4VFGx4pUazUI93yPhjKIjiTDpCRNEEis1YNgom0bpFM2mZRNwraQEqG1MLXWhJNwctKpf/Mdr35p2zd/9vsvXv32t7fVpduRz492CyEW1Oq1hYZhLKxVqwtMy5rvOk7XFZec366U36q0bpFCprTWpnTrSCGwpcT36vheHQGYUqA9F69ZWjVorfB8v+l9BDEMI9gmAa3xPTeok1B+eK0Jy2b37sMfJfzU6u4hrf6R+d/WlnvWzH8IXDbTNDBNg1rN32vXKWo+pCxpw4SrNRuZFQogcgNyuY4fjwzt/julMLOZhE7YpnBdbxoTDXyl8MOb2bYtFi2cx6KF86jVHMbyBQaHRhkdLVCtBRm8R1sZNLsKUWZivlglYZtkUgkyaRvbMgBhKqVVre4K6Xqff9vF573TV7pLQhsCO0pQUh4YQqPcOlKAHylArfHxAbTvBz2tgjLo8Po0f9HNK3X4pEmXMci3blyOKf8MTiTYHEcIKZpWfiHA8xTFUq2RZTnd1XmmSy0QtLW2TGzDPQtEOwFBHYCKagGazkBrgRCmlNa+jzI7mBUKIDSv5L/98CdPXv7yc28RQvdorVVbLmOMFMrUHYd0KoVSE1ZYcK9OBAHdMKHHskwWLpjHwgXzqNXqjIwWGBwaYXSsSL1eRwiBYRhHNIAYMZ0yqNddajWXsYIgnbTJZhOkk7Y0DIFSWivfXwPgh66Cj1YNgRYgQiHWwQmLaKUOXkYIHbohuuE/6+i/A0JM/l/TN/s/jhCwe7BIpVJrKNbm+o1GHUejb4OYdnU3TYN0OtUY/PFsIaXEkEEdgFJ6WkdM+XJWBv6amRUKAKCnp0du2LBBmQn7e6peX+d4LrmWJKOFEoVCiWwms98MMTGtMrBYvKibxQu7qVRrDI+MMTg0wlh+HMdxg5sg3E040vGC6ZRBqVKnVK2TsE1y2SQtmaQQUiittEAIBFqAMIK4gQK997oYCVKQyxCWRodfJz+MaX4vEEI2/rZZOKd9D1HNhNYTDxWsmK7nYyZb8X0/fAQWmef5TT+b/Dvf99FahyZ36J6I4LyOVu7HvhAicGF0wxGa9EuhtcZ3686zelJHgVmjAG7YsMEXwPxli3+64/FNn0OIdsOQurUlJQaHR1m8aP4BH2s6ZZBM2CxfuoilSxZQKlUYHBplcGiE4ngZ1/MwpMQwjMbfHQmaBUtAOJBCU6s5lMs1hkyD9lxK5lpSQTxBSqRhYBgGpmFgmBamaQYPK/rewrRMrPDr5N9NPAzTwDCDrEbDMMLjRopBNBSDoGl1jtb+oMoqEA2lG0KrtEIrFY7j9gN3pCH0Hp7n47kenufhui6uG311cRwHx3Fx6g71ukPdCb/WHZLJJKZp4ofKhSaFs6/reQQ+neB402yMRoaXnbBr0NTBahYyaxSAAN3b22t89t+/O/K2S877mVTi7a7v+225tDk0WqZSqZJM2EHk/WCOG+USaI0fbhtmMmmOacmyYvliCsVx9gyOMDQ8RrlcaRSMHGy8YOrNqUPhUNFNHW5XmqZJKpUkmUySTCZIpZLM62ojk05h2TZ2IkEi+ppIkEgmwu9tEokEtm1jJ2wsy8KyJpSAYQaCboQCHq36kWALmkxwsVcw4BnRTf5A9H2zZRC9TxVk0TVWfM/z8JqUgeM4uJHw1+rUazUq1SquEygKz/PwPR+lwmunFLpJ+Wgd/Hty2OJQFMPeCqbxi+DjdNoXdI0fwoFnFLNGATSTbWn75nhh9O1KaWmZBglLsmdwlFUrF+MfwnZTREMZhAFEIQTtbTk629uor3QZHSuwZ88ww6P5veIF+1uNImH3fYUmSGu1LItMJk0mkyabzdDSkiGbzZDJZMhm0qTD36XS6UAZpJOkUimSySSJZALLDgXcNBvnIKSYJLjBOenJJc5TzPbmuMnRILoO07kUItxdiIQ0cLMnlIdSCt/z8XwPxwkUQq1ao1KpUClXqFQqVCtVqtUqTs3BdR08zwuVjD/5a3N86ADuD6V0WAi0d2xCCIHSehwYA5itSUAwe/IAmhFaa3H5xefdjVKnK6V8XymjXPM5Ze2Jh6bs90MkMFIIDDNwASqVGkPDY+wZHGasMI7nehjGZBchWt1BYNsW6UyKXEsLbW05WnMt5HIttOSyZLNZsi3BI5PNTBJ6O2FPEvDo2FMf08UCpr1wz8IW2oFyIJZTQ1FIgQxjEw1XRAeK2vM86rU61WqV0niJ8eJ48Bgfp1KuUK/X8VwP5XvBZ+IHCkX5gUKYzkIQIhgdfvudD1Cp1Fi8oI10MrAuNShTCIlhPPrd39x8sggmUsWpwM8WUU7AO1/1km94jvMVzw/aNklchkfGWLig64i2imoIHjTiBYmwH/3SJQsYHy+ze3CYPYMjlEpllNLYtkV7exvt7a10drbT3tZKa2uOXGsLLbkcufD7bEtLKOwJTNNsuBUqMmNDAQ8yGvd9bo1VdBZxMJ+PVhpPT99/UwhBOpMm25Kle343CFC+wnVdKuUKxUKRsdExxkbHKBaLVCtBhqjyfHzPw/UcPNcDrRGN3QrRcDmieEjDpdBaC0MqLcTTQgi/D+T6WdwVaNYpgKj6at6ShT/csWnLp6WUXUppnU5ZYmRkhHld7UdtpZsaPBRANpvm+NwKjlm9nHyhhOv5dHV1BELflqO1rY32jjZa29toaWkhlU5hmmbDbYjM0+ZEpqmvN5NW7ueK/V0D1ZTzEWEYBq1trbR3tLN81XJ8z6dSrjA2Nsbw4DDDQ8MUC8HWr/J9PNelXq/jOg6GISlXqrhhS7BJnadBmYZhIc0HAG7o6ZHM4tHhs04BEAUDv/rfY2+/9ILvauV/uO66vmEYZt1xGBnNM39e5yEPijygEwjNbmEYWLaNGQbc5i9cSGtbjo7OTrrmddHa3ko6k8E0jKD1sB8Ie/OKHgv5kWG6IOvU7NB0Jk1LroVlK5bh1B3yY3l2D+xm18AuCmMFEslkGGR0Gdg1iOO4pJJ2WMOh0ToQfqXFEy2Zlm8AYrYPCZmNCqCx7ZLubP1KcffIewXCVkrrhG2K0ZEROtrbjopARYJv2TaJZBLDsrBMi1xrjvmL5rNw0ULaO9pJJpMAjUi340dps7GwP5tMvc7NloIQgnnd85i/YD4nnHQCQ3sG2fL0VnYP7MZ1XdacdELQXLY0jmEY+L5ShhRCSuPxFWuOe/H6L35zFBCz2fyH2RkEBIJpv/3gv+2SC36I8t7kep4nhDQdx6Wjq5sF8+fhHSkrQGuU1tiJBOl0Gmma2HaC7gXzWL5yOfMXzCeZSga+quc1AlyxoM9smj+nqKZkdHiUJx57gt07d6G05tFHNjIytAfDNDVaa9My89lc20Vf7f/VvdEU6+fyPRwus7YDDb29AGRS6c8rjUILqbXGskzyY6PUHacRVDsctFJIw6Cto4NcaxvJdJqVq1fS89ILOG/deSxfsRzTNHHqTsO031daa8zMovlzch0X13Fp72jn3AvO5eTTT8H3fdaespb2jg58z4v2iDvGC4X/vKavz1rT3//s5icfBWb1yUcR2MsvPv9alH+J53m+kNLwPI+WXDuLFy88LCtAK0UqkyHb0oLSMH9hNyedfBLd87tRWgXRY+KVfi4R7byk02nuu/s+Nj78KMr3uO/uu8IOT9pLWpZp2IkPfPMX1/1/h9C4ZUYxey0AYGNvrwBIpTJ/D0HpfdDU0WC8mKdcrmAYkwY7HDBaa1rb28m2tmKYJi8483R6LuxhXvc8HCfYOno+r/Ra68b7ny4td7YS1UHUajXWnLyG9o42Eskki5YsCRcTKV3P17Va/RN9fe/Nhg1bZu1NMKsVQH9/v9/X1ye//tNf3yyE/I1tmhKt/aBYE4aGhsK8zYM/dntnJ3YySTqVouelPRy/5vhGDvtsEPxJiUJM3sI8XGENhigajSBnlHo8lxRB1B14zclr8DyPhYuXkEgk0UpJpZQyJYu33/PYWwHd09NjPOMBZyizWgHARDOGbEuuT4e9GqLOP9VqmfxYPrQCDuzG1FrT3tmJaVm05FpY9/J1dM7rpFatzWjBbxZ4IQSWZTVqA4J+iYG7crjCGglGfizP7679HX/49R+4+/a7GRwcwjRNLHtuKAIhBI7jsGjJIrrmdWGaFvMXLAhSxKXE933tOvX3XX99nzmbOwPPzLv5IIn8sMsvvuBHQnuvdz3PA2EG+XsGy1esaAx53B9aKVo7O0kkEqQzada9bB2pVCow9w9zGtHRIhJ4I6zqU0pRrVYpForkx/IUxgqMj49Tq9WwLIvOrk6WrVjGvO55KB3k2h+UUtMgDcmGP2xg18AubMvG81wM02T+gvkce8KxLFi0AIGYFBSdjWitsW2bLZu3cMetd+C6LvfffVf0O2Vblky35l76tf5rr5utsYBZmQcwlTAvQHR0tX1yZHD4lSAsQAshhee5DA0NsWjxItR+AoJKKbK5HMlkEsMwOLfnXNLpNK7jzkjhj7rWWLaF7/nkx/IM7hlkcPcg+XyeWqXW2PMOSnsDX310eJTNmzazeOli1p6ylmxL9oAn7QS7LBa7d+1maHCIZDKJRmMbCbTW7Nq5i90Du1mwaAEnrj2R7vndgZvg+Yd8DadT2vvKp5ha8DTdcw4GIQIltnDxQlpaWqhUKrR3dDA8NIRpGgq0qJTK7wCug/5Dfp3nkpl3Zx8ikQZ++6UX/LNW/scc1/VAmFFrqkWLl5ALb/apQQEd7vF3dHXheR7nXnAuS5YvoV6rH5GtxCNJQ/Ati3K5zM7tO9m+dTujI6M4joMUEmkEj0mVgU0juLXWOI5DJpPhwosvJJ1OH5ASiFbEO269g81PbsZO2NMKm+u4SEOyfOVyTjzpRFrbWnEcp2Gt7O/4zceSTSXLzcHGKKFnopR64vmRJRQ9P4pTNJ/fwRB0CE7wwL0P8NjGx8iPjfLoww9jmKYWaCGEzM9fteLYL3z9B8Nhq8BZ5fvMCQsAoL+/X/WB5JhTP7P5sXv/WAq5RGmtAnkRDA0Nkk6npr0JhBC0trfjOA4nnnQiS5cvnbHCbydsquUqjz7yKFs2baFUKiGkwDRNEolE43lBVe2UZpZN/04mk5RLZbY+vZW1p67dK5d+utc2LZPh4RGe2rSZxBThb7wuNOIAm5/czMCOAY478TiOPeFYbNvGcYImOlNLqIMefEFBVJTGW61WqZQrlEtlyqUylUol6BFQrwcpu76PbhrSYhgGtm2TSqXI5rK0tbfR3tFOJptpuCTPpISmw/d9lixbwpOPP0lraxvJZBLHcQTgW7ZsG98zdCnwvXU9PQYbNkxftTRDmTMKANAbe3tl/5e/XPzTP3r5h9xK5ceO6/ogpJQS16kzPDzMggULJuUGKKVobQtShzs6OzjplJNwHGdGmf0TTSpNNm/azCMPPML4+DimaWIn7MZzDibwprXGMA12bNvBCWtOOLDV37J5evNW8qN5Fi9ZiLOP3gvRedgJG8/zeODeB9i+dTsnn3oyi5cubqzelmUhpcRXPrVqjfHiOGOjY+TH8hQLRSqVCk7dabQKazQtEdMnW00tk5ZSkkwlmdc9j2XLlzF/4XwSiURQDThNI9npEELgez6t7UFh0ejIKO0dnQzs3IFlmiildd2p9wLf7d6wYVat/jCHXICIyBV42yXnf18o9RbHc8OAYNDkYfGSJWQymYb5aFkWnd3deJ7HBRdewIKFC47q8MmDpXnL7d477+Xpp57GMA1M0zzsZh5CCJy6w8mnn8LJp62lXq3vU/EpX5FrbeHb/+97DO8ZZMXKpdTrzgELUZQivWLVCk4+dS12IsHY6BjDQ8MMDw5TyOepVmv4XjCLb6r5vy+eKe06qrQUQtDW3sbylctZvmI5mWymYUUciPJLJBI8+vCjPHj/gxQLBR558AEMw9RCaIEwigsXrDr289/73uBscwPmkgUAQH+QnikXrVz6/p1PbT1XCrnMV1oJEUwSGxocJLlsGUJKtFJkW3O4rsvylctZuGhhsPrPMOF3HIdbNtzC4O5BEsnAzD8SnXy01li2xU0bbmHZymVk0ul9HlfIwIR+8omn6OxoPajkqmjrEGDzps0M7RnCTtgU8gU8z5uIW0iJkTAm/V3z12d6jWnPWwhsO7CSCvkC9999P08+9iQrVq9g9bGryWazB2QR+L7P/IXzMR82yba0TLgBWvi2LXJjxYELgR/ONjdgZjm5RwbV29srPvvV/x5LZTNXSkOKYChnsKo4To3RkRGkECSSSWw7gWVZnHjSiUe9PdbBEJmwnudx8w03M7hnMCg4OoJ77NHKlh/Lc+dtd5NKpxqdcqY+zzAMCoVxtm/bgWmaB30O0XknEglq1Rr5sTxSShKJoL1Zc4/FI51HEB0vcpnqtToPP/Awv7/29zz8wMN4nodt2/t8XSEEvu+Ta83R2pbDMExybW0o30dItNZau3X3MghnLs4i5qICoL+/3+/p6TG//uPfXm8Y9ucSlmUGGYIaKQ3y+THGx8dpyeXwXI/lK5fT1tF2xKoHp2vbNW0rr/38fdTj7/Zbbmd4cJhkMnlUFJRSPm1trdx4wy049eljH1oHLdT37N7DyMgopnnoiW9a60bQMvr3s5U01EiUkoJEIoHjODxw3wP84Td/YPNTmxsdk6c7n0iBdM+fj9aK9vaOoGGwFtL3lfB9f93nP//hVH8/UYuwWcGcVAAQdA7q7e013v/aN3/SR9xjGoahNUoIgVKKSqWMnUhgWibHHHfMtCvfgTIp5VYGpaVRd95E1L03kcBO2Nh2kIm3rz5/QNjK2+Se2+9hYPsAdtI+KsIf+OY+nZ3tbHl6K088volkKrl3D/6wvmL79p1Uw4zIw+W5zhSMlGwimaBcKnPHzXdw0/U3UcgXJu+mNKGUontBN1JKWnI5LMsCtPSV1oZgyaZbHz8doLe3d9bI1ZyLATSh16xZo1/4rne57+u99MrCWP5uIbAArbUW3WFa5+Kli2lrbzto3z+6OaSUmJaJFIG5XqvVqJQrQafaeh3X9Sbt3du2TTKVbCiE5qaf0R73eHGchx94mG1btwV77UdxKIZSimQyiRSCW2++g1NOPYmKrhAOMA7eK4GwbNuyPWxhNqus3P2ilW7kDuzauYvhoWHWnLyG4088vpFHEAUifd+nrb2NVDipKJPNUsznkYbhSynMSq38UuDW6caxz1TmsgKI6gSEp1SnCObVa6WUTKXSdHbNQ2vNqtWrDqpOAGgIM0ClUmFs1xhDg0OMjowyPj4+sXWlJk+VEeEI7gllYGEnEg2LQGmFU3coFoq4jtvwS482Ugo6uzq4+657KZf/uNHduHHeYRR/+/adSDExGHSuMDV/4b6772Nw9yBnnHUG2ZZswzVSSpFIJOjo6KBSrpBrbSM/NoYBQikFnv8S4O82zKIegXNaAYTpmbpWrrxHCozgPvZl57x5GIZBS66Fru6u/fr+zdtMlm0hEFQqFXZs38HAjgGGh4aplCsopRqZaFExzr6IEl1c16VUKjcSd2AioSW6GZ8NlNJ0dXVw6613sW3rdlYfs5Ja05agYRhUKlX27NqDYRph/cCzcmrPKtH1TiaTDOwcIP/bPGe96CwWLVlEvR4MkUVAV3cX27dtJ9faGlhuCOkrhdC8oO+qN3etn0VZgXNWAWgQoh//I+9+a/euTZsvQfloMKSUzAv3/ZcuW4plWY0hH5P+vskfNwyDer3OwPYBdmzbwZ7de6iUK8GQD8OYJOwHunU13SCP5mM8mz6y1ppcroVqtcbDD23khBOPo1KpYmA0gl8jw6OMhpWVnjer4lwHjVIK2w52C266/iZOP/N0jj3hWJyag/IVnV2dGKZJOpPBtm08zxNao2xLtO4aHH4B8Ns39vZKZkFx0JxVANF+bH5g92WWIXKOwldKGdlslkw2i5SShUsW4vkTW7ZTTXylFfnRPNu3bWdg+wCFQgGtdKPsNfqbQxbWadJ1nwu0VqRSSSzL4pGHHuWPXv+qSQHKQAGMUC6XG1uTc9ECaCba+tRac/ftd1Ov1Vl76km4rke2JUs6nUL5PulMJnADTEMJIaTnuOcBv50tcYC5qwDCds2OU3s9SmlBoNnbO7sAaO9sJ5fLNerkg9RYE8OQ1Ko1dmzbwdYtWxnaM4TjOJiG2Vjpn+0V+ugiwmEmNul0is1PbaFYGCeRtPF9BeEsxMHBIVzHxbLs8JrNivv7sGhOaX7wvgdRSnHyaScD0NbeRmm8REsux9joKEIHcQCl/RfDxP0305mTCiD0v9RH3v3W7j2bNp+vlBIapJQyaPDo+yxcuLCRfBKt5oWxAtu2bGP7tu0UC0UEwZbevraF5gJCRGW+Jul0iqGhYXbv3sMxx67C9+qNHYDBPcPBboRgn5OK5ipaaxLJBA8/+DCmZXLaGafR3tHO9q3baWnJhXEApK80Qnin9H3gT3Lrv/z9IrNgZNis2a88GN7Y2yv7+pCF7QMXGFLkNPhKKZFKpUlnMhiGwfyF8zFMAyEFu3bu4rYbb+MPv/kDDz/4MOVSOdivPxJm/iwgMneTySSVcmVKtp9AaxgeHmnczo7z/FIAMFEK/cC9D7D16a3MXzAfIQSpTCZKahJaKy2FmLdnx8gamB35ADP+BA+FwcFBsX49yvW9l4FGCLRSilxrDiklbe1tpDNpHt/4ODf87gZuuu4mtm7Z2khVjXy/uSz0UzEMiW1b+EqxfdvOcFXTCBHkwY+FqbsA9brDDF/YjgpR56W7brsrmDSUTmNZFslkKhoE60sp8FznDAjuw+f4lJ+RuagA5IYNG/z3v/mVJ2jlX+b6vtYIAyDX2hbUA9TrXPfb67jztjsZHR5tZO7B3F/tpyPKijPNYAtzYGD3pAQYz3MpFopIMaEAnm/XCCZKqEvjpaA3QFuwDZjOZtBKNdwp13XPAuju7p7xF2nOxQD6gPWgi2OFLwv0Eq20j8AwTZNMSwtCCErjZYA57dsfLI2+glIyPDTcyIwMCqhcKuUqQkqEIBioOYeyAQ8GrYIKyp3bd9La1oppmmQy2aAuACGV0gihT9VaCyHEjE8ImlMWQF9fn1wP6i/e/qalvued63i+RgiplCKRTJJKpfB9H2lIDPP5Z+Y/E0IIpGFQKBSpVmoNk991XGr1GjK0CGq1+pEbuzYLiTIj8/nALUpnMkGtudZCKYWv/WP++kN/2k1oXD3X57s/5pQCuOGGGyRAYWS0xzRkCq2VEEJopYIpvU2VXrHg740OtkqCNlyVSqMhh+d5QeCvSQE4jjvjWqY92/he0NkolU5jWlagALRWppSZsR1bTwN44xtndiBwRp/coeK59R60BhFEqjSQyWSftyvWgaJ1kM5crztUKtWGgPtKofzAxw1cAodqtYaU4nmvSKOsQTuRQAWxFCUEVGruhTDzA4FzSgFs2LDB11oLX/ln+EqjCaJWwWz4zPMwbn3gaA2e5yPDzj+1UMCD3wUeLkyUEI+PlxBiTt0+h0SUKZlKpSJ7Xyil0J5/DkIw0wuD5swnqMNd6r/+4Du6lNKrlVKIcFagYRjBBxT8LGYKUY+EqBeiUkFVYlSibBhGo1svBJbC6Gg+tqhChBCk0ukgpiSE9JVGabWm74NvawNm9OzAOaMA3hgmXYzvHlwpBTkVdK0TUeNPOxEMr5jzSeyHiO/71OvBSHWlNK7nNhSAaZqTSpOlDFKDn8+BwKmk0hmAaNHRAjp3b911HMzshKAZe2IHS+RrlcuV1YYUiLD7j1YK204cUh+75wvRVl+tFlZFah3UARDVwNukM1HD0EAhDA+PMjqaP6CRa3MdrTWpVAqjYSVp35ACz3NPgpkdB5gzCiBCGnIFMBEADPO4m03YmAmibkXlcoV6PRyGIgi2tQj2vZPJJB0d7eHwENEYmbVp09NIOWsH4x4RIpcpkUhgWpN7OPhKnfQcntoBMecUgOPUljb/WwN2IhGbqvtBSsnYWB6v0egjatqpUWGh0JKli/F91XALbNvmqaeeDpuEPr+tK601pmVhNdykYOtZKX0CwEweGDJnFEB0kU3Tmq+VhqYEDNtOPHcnNgvQWrNnz1CYyhq0CAs6Ek1UC65avTxKdgGi8dke99zzQKxcw1LyRCIZKUKhtEYrf6XWWvYzczsFzxkF0B/uU7mu2zm1yUZU1RezN1JKKpUKe/YMNaYNmaZJMplA62DFdz2PFSuWB0NEw+7EgRVgsW3bAA899OhRa1s+G9AELlMymYzqKoRS4Cu16K/e/7b25/r89secUQCACvelW8PtmMCYFQLLfPb6680mlAp2SLZt28n4eLlRBWnbFqlUiiCvXeA6LgsWzad7/rxJY9Oi595774Ns3ryFVOr5qwQAEslk9K0IpjHTmh8YXQjQ19cXWwBHEQGglG9IaaR1lBQQVrkZ5pyreTpsgv19Sb1eZ+PGJxrCH7UJD6L+/sRUnFwLq49dOe1AUCklN910B9u27TzqSkDriYpNpXSjTXnjZ1N+rlTws70Gsxzp8yJQAE3KURlSCoS3GBodqmccc0UBAPCdq6+2fOUlm38mwy67sQUwgVJB5N+2be655wHGxgqNaT++r8i2ZENB1mHQD4SUnLT2RGDvQZxR7sD119/C009vI9UYYXbw5zatIIc/EyLsW2CZJBM26VSCTDpFOpXAtixsyyIV/TyVIpNKkkklSScTJBM2CdvCtoLpP0ZY59D8moeF1iQSdiNIKgRKCHDqzjKYuVuBc2pp3DI0ZEqE5Qf6PXQBZCOn/UgHq8J9xgN8tmiEgZ6LO6E5iSeZtHAcl1tvvZPHHttEImE3tgN936e9vY1kMtnoliylwHUc1px0Atlwqm7ztYysCaUU119/K6VShbVrj8d1vb2GbjayCRv/CwKNUe8Bw5DBsFApGj9TSuMrH8fxqDlVypUqpUqV4niZQqlMcbxMsVQGAalEgoRtk0zYpJI2yUSChG2FCiBSApEiMDCNYNKyADz/0Jr4RkJvWfZei41GLDukgz5LzCkFMFooSN/3DUHQzQatgxr2I1y1psI+/qYpMQ2LRm/f8HMPXnu678P/T/wo/MXeJun+VqTm14oQgqZO9E3DSMKa/mBeAVQqNTZv3srGjY8zMpJvCH90DOX7dM+fh2WZ1Ko1hCHCiL/L4qWLWbFyGY89+kQYI5gw9SMFIoTm9tvvYXQ0z1lnnYZt2ziu2yglDnoOCKSYWIGVVnieT911qdUcytUq4+UKhVCwg68VSpUK1VqdWt3B9Tx8XzXcPBlokYnrFm5nCoJZC9HrGYbEkAJDSGzbJBluEa9auoiLzj/rkLMbo61A0zQnpkxpjfLdxQd9sGeROaUA6s4eETZiACbE4Eh2ZpRSkDBthIB8scTw2GBwY4UmpZThQ8jGjRf8WyCkRDatdtFDTvm3EOGtO+krQTlu+I5EkzWhCSr2okQdKWU4cyAo8KlUqoyMjDEwsJuBgd0UCuMYhpwk/NHRNLBo8YJGS7AI3/fJZjOcetrJPPTgRtLp6ecZACQSNpuefIr86Bhnv+gMFiyYh+MGJcWVWp1SJRDwYAUvBSt4uUK5UqVSq1N3XLyw1LYh4OFEpeh62paFsJuugCb0+xU6fAR/HySFKwI3xpcSw7KwEgnq1Tr5QolKvU4qmWgkPx0KUc2EGc6ZkEIIpTUCvQhmbpfgOaUAoB1E6agcOaojqNYcHtu5jcee2spT2wcYL1fC7LmpghyOAou+j34ODaEPbujg5hZN3zff6FIGXw0pw++DFSx6jmkazOtoY2F3Jx2tLWilqZQrFItFRkcLjI7lyeeLVKs1tA62+BKJifZnzQSlrRarj1nVaAkWEfUFeMELT+NH1/x02kCfECAReFrjCsmTA3vY9NNf0zmvqyH4tVqduhsKeDC1Pbxuze9LkLCtRlISNMUTQmtpIsYw8R4SmQzJdJpEJkOqpYVMLkc6lyPd2kqmtZVMrpV0Lkcik6atez6/+PKXefjGDSQSNh2tLSQTNo7nTcQEIsviAJFSNnacNAitQfmqW0jJ+hnaQmlOKYBT1qzxb79twFdNwz4Ol4lxUQnyhXG+/sOfM5IvNrbAtOdRd5zguRN/NFF0JMTEKi4kVsJustInXIe93YMJv6HZo5zqGQTbTQLbMmnJpDGEAN/DAixDkjBNLNMglbTRQXvkad2LKL134cIFHHvs6r2mJUkpqdXqHHvcalasXM7mTU+TSCaa3AeB4/kU6w5l18MNwzBauww9vR2BDpSaITGkxEwYE3VZTe+xuWHLVAGfDikl1VKJteefz+s/+rGg9iOVwrQspGlOaloS7XJo30dISXF0tPH5jFeq7NgzRCqRIJNKNmocanVnv6/ffGwhBKZtNT7/0C3q+NUXv5h4xYc+VGcGtgmfUwqgXiz6aO2FMQBNaDlH3xzslY/65fu+Yngkz5NbtzNerpBM2EHjjGqVc1/3OhYdexzlfB7XcXBrNdx6DadWx63XcOv14OE4OJUqg9u30nRqB8Rez5zmT7WGwngZ3/ca5buGlJiGS8I0SJoGSdMkZRpBDGMKgYDXePF5Z9Pe0UahUNxrSKjv+7S25jjn3LOCOEA6aLEmANdXbC+W8ZVG+R5utRpYPGH8wbCscLdAIRpdlw/4Euzn4gQFX8ef/SJau7spjY2htcap19G12uQgbeiXm5ZFcXSUkZ07kOFg1ic2b2PTlh3ksmk629vobMuxqLuLk49fdRCnEuacEFYFBtes9feP3N4C1A/uU392mFMK4C++8AXv7ZdcUPdC8zSKzupD2JfWWpOwbR56YjPX3XYPxfESlZqDbZmNfWS3XieRTnP+G3opFfKTBEZD4IuGr698H2kYfPMvP8ame+8lkU4f8HntJSfTCI7WmlQmTaa1FadWw/c8/HAAaa1SZ9TzME2DzmyajlSicW2i6+S6Lu3t7Vx86cuoRUVBU4i6AZ1z7ln86H9+hud7DTdnpFLF1xp8j3mLF7P2/AtIZNJkWttI51rItLYhDcl/f/rTFIaH9yqcOSSEwPc8sh0drDr1VGqlUmP1jVyuqSilsJJJBp54guLoKMlM0NHXMCRaw1ihxOBIHoTgdRddgGkYuAcRGDSnzImUhpGxfaMNGL66r0+wfn1sARxFPCWoRSnrUTJQw19tNs0PkDsf2MiOXYO0ZNKkkjbKVw3hNhMJHrn5Zs57Q+/0fxwF7YRA+z7p1lZeeMmlPHHXXWGQ7cggDYNKoUDPm/6YCy+/nPGREZRS+K6D57i4tRqGZXHDD3/AfX+4jmpbK93pBInQGpCGpFgc5w1vfC3LVyxtBAn3fjtBP8CVK5dz8qlruP3Wu8i1ZClU6xTrDqZh4CiFYVpc9I53IE2zoQR91yWZzfKSt76Vaz77WaxEAn2I226N9y0l1XKZ4888k66lS6mXy8+84xOa6htvuyVs5S1QYXJREHswMYTm0p5z6DnrNPLjpYOKA5hWQ6Si4IU1PDLYeqjv8WgzVxKBghIsIbXv+xUhRJCLSaDx/TCj7UAFLmqCMTSaZ9vAHgwpKVdrlCs1/KYglJ1IsGfLFnY8/hjJbNBzUBrGxCPcgox+XiuXWXvBBaw8+WRq4aDNI4HyfVK5HCf39ARdanM5cp2dtC9cRPeKFSw+4QSWnXQS1VIpmH3oeWwrlCjUHExDUilXOfa41byu9zWUKxWM/ZyX1sG48JdceEHwb8CQAjPMIbCTSXY++QQP3nA9nuNQyueplkq49TrF4WHOvPQyXvCyl1PO5w87QzPyu19w0cUH9PlqrbESCYa2b+fxO+4kkUrhez6tSZulbVmWtGZZ2pplaS5LZ0uGat05aJPdNCbek9ZaSyGwbDMHMzMbcK4oAPpAgMYQohj9LDJzfe/ggoJRjXcyYfPmV76MN1z6Ei7teRFnnXIiLQkbUwY3m5ASz3W593e/e+Z+A6GvaloWF//pnyGjhJHDTE6ShkG1VOKkc89j4apV1MpltFJ4rovnODjVKloptj7yMFsfegg7mUSEZb4yyvITgne99x1ksxl8z9+voyqloFKpcsaZp7Fs2RJqtRoZ22JpawbbNILtNiG4+9pfAzTiEVE+huc6vPbP/5xla9ZQKRYOWQlIKalXKqw4+WSOP+ss6gegUJVSJFIp7vzVLymOjIRxCehIJ0ibJgnTwABs26Ktve2gU5p1+H4jd0GAllJgCTtzSG/yWWDOKICN4W1rmNaYCBszQaD1mwtYDhStNamEzYnHLOfMU07g0p4XcdqxK+hO2SzKZRAEK28inWbjzTczsGkTdth3cF8IKamVyxx7xhlc/I53UC4UGq23DwUhBL7rkm1rY91b3oLnuoEJ3OwDa42dSnHPr39DtVxGGgae0nSmk7RnkozlC7zxzX/EC888nVKpFAhRkHA/7UMAnuvR3t7GuRecg1N3gp4LhsGSXBZLgJ1O88Tdd/H4nXeQzGZRoakfnW8ik+HyT/8dC1cd07AEDvUavORP3opp29MGNpvRofDvfPJJ7vjFL0hlgozG1oSNJSVe+PeO67FgQTednW0HnxQU+Px7/bjqlLMwM9OB54wCGOzpEQCe5w4KOfk6u86BbeVMRWlNte5QqQZ72Fu27cD1FWnTJJcMbjrTNKmMj3Pzj/ox7amJNXsjDYNKsUjPm9/ChX/y1kbU+mDdgUjAa+Uyl171LhasXIlTq026YZVSJDNZtm18hLt/fS2pbBbP88jZFgtyGfL5Ii9+8Vm89fI3USqVA0GUEmEaCMsMHxbCDh+WhbBMpGXiK8Upp5wU9g0ILApTCjpSiYZV8fvvfId6pRoIRRRwlBKnViPX1cU7P/c5jj/7bMZHR1FKIZtWz/1hWBbjY2Oc85rXcOKLXhQotv1dv6bA4K++9tUgWGgY2IZBRyoZtPOOPh8pOOmk4znUeH2k0APrLtjnrZYqsQXwbJFIJHdM/Vm9Xj/k4zUn5xjhaCylNV2pBLZh4Pk+qWyW+373O568+25STSvevhBC4FQqXPae9/Dq978f3/OohQGsZxKCKJ6gfJ9yocDF7/xTzn7Vq6iOj09afaLMNM9z+fmXv4xbq6GFIG2ZLMilGS0UWbR8CX/x138OhgyCm46LV67g5sdxhsao7x6mtnMPte27qG3bRW3Hbuq7hnHHCijPJ5VJhTsfgXArrWmxLVKmxEwm2bZxI9d9779I53JhlmJ4TUMlkM7lePs//COXvfs9mLZNuVBoWDFT4ygyujZSUhweZu355/OKd72beqXyjEE6pRSZ1lZ+951v89htt5HMZtFKMT+bwojcOSGo1+usWrWcRYsWHJLVGL23yR8YWJY1YxXAXNsFQKC2AIT5McEHW6sf9paTEILOzg42bXo6DHxJFmRT7CiWIYwZ/OqrX+Hd//oljLCxxj5voNA0r1UqrHvLW1l20lp+9+1vsfn++/F9H8u2MSyrEUAM3k+wynqui1Otku3o4A3vez8vevWrG8ojQiuFkBI7laL/nz7L0w8+SLKlhYSAhS1pLMPk1JUreMNlF2M8vZPdw2Pg+WjXRfsTqbToqUULNGIZauVSVGpihPhEZQ90Z1NsL5RJtrRw4w9/yOJjj+P0l72M8bGxhs8vw/iJEIKXXXEFJ/f0cMcvf8HGW25hdNeuxu9EkEYZvH+lsGyLc1/3Ol75nvcGqb2R2zMN0RZsS0cHN/Vfw3Xf/S6pXAue57EgmyZtmfhhLMT3Fdlshhe84OS9siAP7kbZu+jMspPpQzvY0WfOKIBoEqudSW2u1+oAMooS1+u1w/tQCdJgly1bzEMPbcR1A98wZZnMz6bYNV4hkU6z47HH+OVXv0LvX36ccrHY2AKc/pDBFmGlWGDF2rW8858/x5P33MNDN9zA1o0PUxgaol6pBNZEWNRkJWza58/n+LPP5pzXvJbu5cupjo9PEgDl+5i2jWlZ/OSLX+DOX/2KRDZLypAsasng+h5dLS187I9ei+/5jDz2VGA5NO+bhwk80567AO0ovEoVs6Vtr+Cn0pAwDBZkU+waryIti//9l8+RaW3l2DPPpNSkBKLXKxcKtC9cyKvf/wHWvfkt7HzicXY+8QQjAwNUikV8z8O0LNoXLuSkc89l1amn4dTr+J63T+FXvo9hmiRzOa7//vf51de+ihU2OZmfTdGatPGbTH/f93jhC8+ipSVLPZyJcKRQyosVwNHmmmv6lRDQmsltKQyPjQshWjRoIYRw6nVc153U2/5gEGIiC+7EE4/j7rsfIJVK4itFLhHcSIOlKulcjtt//nM6Fi7kZVe8nVJ+DMH+g3zSMKhXKiAEJ5x9Nieecw7lfJ7R3bvI7xmkMl4Mgo2pNG3z59O9bBnZjg7cep1Ksdgw+7UK8hPSuRzjI6P88Iuf54EbbiDZ0kLONunOpIJcfSHIV6sMl0q0JpMYyWTon0+z2k+9ViKoNtS+IrF8Ee3ZFOlUikq1hmGIRu6F0pqsbTE/o9lTqeE6Dt/t+xR//MlPctJ551PO54PDhcIrDQMvzKK0UymOP+tsTjznxUFswfcb232GaTbcpUkKq/mUw+uQammhXi7zv//yOW776U+x0kGadHcmRUvCavj9Uga5DccffwyrV6844sIP4GuVfOZnPTfMGQUQbgOLf/h/Pxi8/OLztgg42VNKCyFEMOqqSjKZPORyz6Ak1mHt2hMYGNjN7t2D2AkbX2nakwkEgsFylWQmy6+/8Q2kYfKSP3kr1fFiEODaT5AqEoRauYwGTDvBomOOZcnxJwRuAIE56/s+nuNQKRRCv9ggnIBEIpVGGJKHb7qR//va19izdRuZ1lY6ExZtqUQjSu46LotOWMyy889k9Pb7A+vCNGkkr+5HP2rPR3se2WOXYy6axzzLYvWxq7j7znvJtmTCWQIBSmtySRshYbAsqNdqfPdTn+KSP/0zznvDG9BaU69UGunCQoggRdj3g+sQBe7CDxetG4pg6qofmfpCShLpNEJKHr/jDn79ja+z/fHHSba0kDYN5qWTjeSnic/Uo7OzgzPPPO3IDDrRE/kJEZVSacZ2pZ0zCgCgtxcphPDfdul5D4I4WSithJBSKUWlXKa9o+Owjh81vjj//Bfx62uvo1yuYIZ+ZFvSxpKCPeUaZirFr776FYrDQ1zyZ1dhJ1PUyqVpb95mGsKufJyaFy7ME751VAyMCFY6aVmkUxmU77PtkUe46Uf9PHTjjSAlnZ3tdCZtkk03vJQSz/M4ZtUKOlYvx9eayqObcfPF4HWkREyTAYjWCMPAzKRJLVtIevWywPe2bV7X+2ruu+cBpit287WmxbaxpcFQxaBUd/jZl/+NTffew0VXvoOlJ56I5wV1A0qpSduXe12nUBlEwq6j85IS07axEgk8x+HpBx/g1p/8hIduugmtobW9jVbbojVhQxjAnfp5vvjFZ2Lb9iEH/pqZLnfAEHLGytmMPbFDYXCwR8AGTNO6w1fOnzT/rjQ+ftjHD0pig7r4Cy88j9/+7gbqdQfTDJRAxrZYahgMVWqURIYbfvhDdjz2GJe+692sPOUUfN9vJOY0m7DNqxxEi3BY0tSIrwVCYVoWph2U846PjvLYbbdy3+9+z+N33Um9Xqc1l6M9lSBnB3vrzX4uBG21Fi9ZhHJd7HkdJLvaqQ+OUN89jJsfxy+VJ/v+YRpz7rQTSS1bGBzF88NuwlXOPOsM3viW1/Pd7/yAtrbWSdH+yB2wTYPFLSkKtknetnjk1tt46v4HOO3Cl/DCSy9lyXHHk0qlUb6H53koz5sk5NH5RDsBhmmGuQMSt15jdGCATffdx4MbbmDzgw/iuy6trTlakwlaLCPIUpwS0AxiQw7nnHMG8xfMC4ehHv6mmAqDp821FtFHPBOZUwogCgSadvI2p1rXIIxoj71UGj8iJl5UONPZ1cHLX97DH/5wE5VKFdu28ZXCNASLWtKMOy55y2Tzww/zH3/xYU6/8ELOeuUrWXL8CdjJFEr5+K7baGARHnzCJI62wkLzWClFvVJhZOdOdj75BE/dex+bH7ifwR07AU1LroUFbTlaLBNTBoKvJwn/RBfgJcsWB+29PQ8Mg+Si+SQXdYPWVLbspPjA4wgz2LvXvo+RSZNcOA/tKwiVFwQCWS6VufyKP2bzU09z2y13ksu1TFICMFHi2560ydompZRNoVLj9l/8grt/+1uWHH88x77gDJavWUPn4sVk2tqwk8nGlqgOz8N1HGrFIuOjIwzv2MnOTU+y/bHH2LV5M+V8nqRt0ZVroSWRIGkIjFABelOuQyT8q1YtY82a46jXpi9+OpR7w/e9mVXv+wzMKQXQ39+vAI5fdsIj9z58x4AUYrHSWkkpZbVSoVqtkMlkD7trbRQP6Orq5KKL1nH99TeTzxdJJBKBQBPsh2csk/Zkgny1xl3XXsu9f/gDS48/gWNe8AKWnnACnQsXks7lghVdCLRW+K6HW69Tq5SpFIoUh4cZ3TXA0PbtDG7bxuiuXZQKRbRWpFIp5nW00ZKwg733fdzw0Tl7rkd39zxWrloeTP8Nb3rtutGTSCxdiLF5O26xhLQsfNcj092BsEz8Wh0tgrZfkcCoMDbx4Y++n107/4adOwZI7qMzsKc1hhC02RattkU9l6VcqzP85BNsf+hBMCySLVkybW2kW1qwU6lgS9XzcWo1auUS1WKRWrkcFDihSSZs2tNplixZiG3IRmKLaroOU4U/6HKc5eyzXzApbnEk8Fxvr0CzRh+5BhVHmDmlAADdC8ZHvvjF6tsuOe9+0IuVp7SQEtd1KRYKtLTkDnNLMCBaRdraclxyyYVs2HA7O3fuCgdq6IbpnbUMslaG7myaUt1h+MnH2fbQg0EmWjpNMpPBTqYQMthfd+tO2EMg6CXguYE5LKXEsi2SyQQL5nWQtkyShsRqEsTpbvgIwzAoFsd5xTkvpKurc1LFX1ANpzANg5ZcC/KkYync8wjSshCJBNai+ZiGQTqXQ0iB63rU63V838cwDFzXpa0tx8f++s/5xEc/hed603ZijryZKAKflIJUJklnJoUC3LAvoFMYpTIyRGlSSzCJaRi0WibzWrNYnW2YhgwbPkx0Em4ewbOvT1gpxdlnv4B0Oj3Rv+8I4UyTdWqnUoeeiXaUmWsKIEgJ3rABaVi3aK0vQ/iBBy0gPzrKosVLjthryVAYEokEL3/5Bdx55308+uiTWJaFlKJxUwJYEjrTCTrTSXzAiW72ehWvUsJXYfmiEFhCkLRMjGQCIxRyU0pMKTBF0+DO8PhRKs6+buOom097eyuXveqScAy4CAN3mlQqiWVZFIvj3H7T7fzmN9fR7SpOXLyYRwb3cHd/P+2tOZYuW8LKVcs59rhjWLlqOa2tOcrlCgDlcoUTTzyOD/z5u/nsZ75AOp3a53WLzjNo9x1kzArANiQJM4FIJacVyqjBaqN1eOhqNDfa2J8oR0r7hBOOYfnyJUdly8+ZJus0admHH4A6Ssw5BdBICErbN1TzdTTCQGukNCgWCtSqVexEYq/V6VCJTEohBOeeeyYdHe3cddd9uK6HbZuN6LjWhCt0uPoZkpSZgNTkLeJGGHC6ph9hn6NmoYf93/SGYTTae3304x9i2fIllEqV4BzC1ldPPP4Uf/jd9dy04Ta2bt2GZVnk2tu46alN+ErjOy4D23Zy2y13orWmo7Od1cesomfdubz8kgtpaclSLlUoFIq87KKXsG3rdr777R/QOiUoOO31a37foULY39iO6d7rgYqwUopsNs1pp50UDkI9csIfxWlqtepex6057tgRe6EjzJxTAI04wJI19987dvt2Q4ilURygXq8zNjrKoiVLjsiWT0R0nHrd4cQTj6Wzs41bbrmLkZFREokEEK10AVE/Aabc7FPPplkM9vLpD+C8DMOgXC6Ty+X4+Cc/zJlnnUGhUMA0TbLZDE8+8RTf/+41XP+HG7FtizPOPJ03vvl1rD5mJV1dHSRTSQxp4LgO+XyBrU9v59677+euO+/lvnsf4KEHH+G3v/4DV733HZzxwtMZHx9nvDjO5W9/M1uf3sZNN942bVDwGa/nQT37AI8Zxm1OO20tLS1ZqtU6Uh5ZBeC6LvVabSI7UkcVqubQEXuhI8ycUwCA7u3tDeIAl17wB3zvCuV5CoQUQjA0OMiCRYuOuOkHEx1zuro6ufTSC7nrrvt54omnMMPmlNM249zf8Q7jXAzDoFgoctwJx/KxT3yIlatXkM/nSaUC0/y73/kh3/nm9zAti7e+7U1cfOnLWLxkEYYR5ApEbbkBEskEbW1tHHvsal560Tp2bh/gN9f+nmt/9Tsef3wTV3/yH/jzj76Pl120jkKhiOd6fOgj72XHjgF2bNu5z6Dgs4lSikwmw6pVy3Fd74gKf9j6i1q1OqmZqgaplCZl2TthwjqdScy5asBmLDvx4zBHUETVccVCnmKxcNTGhQVxARfDMDj//LM5//wXYZrmEbU49keUSFMoFHnZxS/hnz7/aZYtX0phrEAmk6FUKtH3N3/Pl774Vc49/xy+8Z3/j6vecyXzF3RTLpcpFIpUKlVc18X3/SD70AuCfuPFEqXxEvO6u/izd7+dz35+PS8+92zK5TJf+NyXufuu+2hpaaFWq5FrzfGRv/wgiWTiiARdD/eaeJ5Hd3cnmUz6oC2SA0EKwXix2PxetRBCKK3rmdbENoA1a9bECuDZIHIDTjjmlOt8rQaklAagIn99z8DAYXfi2R/R3nW97nDccat5xSteyvz58/ZqtX2kiUZ71Wo1/vSqK/j4J/8Cy7IolcpkshlGRkb5+Ec+xS033sZf/tWf0/eZv2L+/Hnk8wUcx2lMEIpyD6Y+pBGU5bquSz5fYPnyZaz/+0/ytne8hUqlypc+/xXyY3mSyQSl8RJr1p7AVe+5kkplb7/42UZrTTqdbgRnjzRKKUZHRprfp5ZSgJA7jjv74gGA9TOsISjMUQVA6AZ87POfLxum/aNg8KVWjV5/g4OUxsf3ant9UC+go0mzzd9PfgDBaphr4aKL1nHSSSdQrztHyfIIOvYahsEnPvkXvPWKN1EpV3Bdj2Qywfh4ib/9q79j86an+ft/6uNNb3k95VKFer0+qY3VgSBEMOKrVqvhOC7v/LO38clPfYytW7bzvf/6Iel0GiEExUKRy151MZe+4mUUi4d3vQ8XKQ2Gh0fxfYVtTwxG2dfndqBElmVpfJxi2Bk6OIZWhpQYhrj/Xe96l9sLE40TZhBzVQE0yLTmvun7ygdhwIQ5uHPbNsQz9fGbQnSDCCFIJGxs2w4GTJomtm2TSCRIJBLYto0VzokzTTMcsw3nnXcW55131hF/j1JK6nWHTCbN+s/8NRe+fB35fAEIpukahuRz//ivPPHYk3zms59i3YXnkx/LNxqdHM7rCiCfL3DxK17GP37uan7/2xvY+MjjZDJptNZUqzX+9N1vZ9WqFVSPULrtwRLNdxgaGuHGG28jny8gRND7b7rPbF9t2qJ8hKlIKdmxbVtQntz0d4GitP4AEx2rZhpzMQgIQH9/v98Hcv0Pf/Hg5Ref/ztT+Jd4nudrMEzTZHDPbuYvXEhbe/sBpwhb4XCLcrnMtm07GBjYw/h4CcMwSCYTpFJJ0ukUqVSSZDJJImGHSiBY+SqVKul0CsuyjlhMQAiB67hkMmmu/sxfc9LaEymMFTBMIyxhbuW/vv3fXP+HG/nMZ/+W8y54MWNjY5iH2ZF34gSCgOPYaJ6eC8+jXq9z7S9/w7F/8Z6Gu9DamuOq917Jp/7674+K9XMgBErAYPPmbezYsYvW1hay2QyZTIZMJh1+boEisG0LwzBD5Wk0hL5er1Ov10mlUo3Pzk4k2L5lC0ODezDMqEEKGoTh+qrW1tn+fwDr1q1TGzZseE7e+/6YkVrpSNHb22v09/f7V73uopfUSqXrHNdTQgS7Ab7vk21p4dTTX/CMdlk00WZoaISnn97Gzp27GgkwQkiCbb6JSTdCMDHHzzDCjDuBUj612sGb3M+E8hWf+rtPcPaLziSfL2CaQZlwKpXiqU2bedc7PsQ7r7qcK975VvJj+aNmigcpti3cfed9zF/YTXf3PFzXRSlNLpfln/7+C/z2N9fT0nL46dj7o9FJiIkt2uYhKCocpBoNH4Wmz8s0MGTwmUXPVUphGAYLFnTzwjNPJ9eSpVKpIqVgy+bN7Ni2dYploD3LNE0tjJ989zc3va4XjH448pHHI8CcVgAAfX3I9Z8W6m0vP+93Wnsv8zzfRwgj2rddtnwFq449Dtd19rppILgxisVxHnnkcXbsGKBarTfih9HNETAxBDS6mfYl5EdqFTQMSbEwzlsufyNXvfdKRkcmVnalNJlsmg+992O0trXymc/+LePF0lE3wbXWWLaF60xYOIEySvLEY5v4+Ec/dUTzLyaEPVDAEzsXPsr3J9X+N4a3hq5P83loFWVtBnUOtm2TzWbonj+PVatX8oIzTmXpsiVseWozuwZ2U6vVePKxRxkdGZlqTWnQvmmYZi7Xeua//++1d0cL0RF500eYOesCRGzc2CvQ/WRac58Yz4/dGeaja621sCyL7du20tKaY173/IZZ7nkeWulGko6UgjVrjmPt2hOCkl7HxXVdHMel7jjUa3XqdYdavY5Td6hUa5RLZWq1Op7rBj34pcAwTCzTxDCNhlVxqMogUGAeXfM6ecUrL6ZcqjRWdt9XtLbm+O2v/0CxMM4/fm491UrtiFod+z0vx91LidbqDquOWcnqY1by6MbHSaVSh2QFRAIfzP9zcL3AwhCAYZqk0yk6Otrp6GxnXncX7R3ttLRkyaTTpFJJ7ESziW80JjP7vo/vBbUNyVSSbDZDrjVHLtdCLtfCju07ueXGWxgvjjNeLPLkY49Sr9WwmkacaVBo/HQiYSkhvjzThR+eBwqgv7/f7+3tNb7a33/P2y7t+ZohxXvrrusJhBmVCj/52GMkkymyLUHDyPaO9iAoFAWJkhOBItu2sKKAkWViht1ro5tS+Yp6vU6xOM7YWJ6hwWF2797DroE97B7YzeDgULjt5mLbFslkkAp8sMIQJR298KwX0L1gHpVoTDmBZVCtVvn9b6/no5/4IOlMmnLpyE0iOpBz24uw+UYikUAfwqTsSPBd16VWq5NI2CxdvoQlSxfT1dnBgoXzWbBoAfPnz6OtvY1sNo1t2433PJF92TyReWoWZmRJaLxwQIrv+9y84RYee+QxELBrxw62bnkaIcTk+YZa+1IKw7JMqaT8r1ecue6j5WtvNKIt6ZnKnFcAEOQF9IHkmCV/tfnxrZcYUq7yfa0Caz3IfHv04Yc45fQXYJgmrW2tnHPeOQ2hFELsVYgy9d8QdPQxpcRO2LS1t7Ji1fKwlXiUJ14nP1Zg584BNj78GHfcdhdPPvEUGshkgr6RB6oIomMuXboEsympSSlFJpvhlhtvo+cl53HqaaeQzx89v/9AaCRhFcfZtWs3pmUesOXTLPj1Wp3u+fO4+NIzOe/8czjmuNVks5lAAROMPvfDLEbX9XAct+l1xAGnfmitSSQSlMfL3H3n3QzuHsTzPTY9/hij4WBTmhp+aLRnW6aptdhuJdIf+n8//91PvvN/G4IXnYFbf808LxQAoDf29sr+L3+/+K7XXfq2Sqlwg/I9AUJrrYVhGFSrVR5+8AFOPu10nn5qC2g485wz8fzAHdif+dz4Xbi6BKm0k/P9o9hAe0cb3QvmcebZZ/CGN72Ge+9+gF/87Fruu/dBgLCKTk/bYms67IQ16d9SSmrVGl1dnZxxZpCf/1wKP0QCZfPwQxsZ3DMUWAEHoAAi5Vyr1li4aAEXXXIhF76sh0WLFwUNUup1yuUKUeB9avDvYF2eyCK0LIttW7Zy3933U6/XKeTH2PT44ziOgxU1lg0+a4XWJG3LxDCvnbdg4Z9+7ls/HOjtxejvRzHDhR+eB0HAZnp6eswNGzZ4V75i3Se1736m7ngOAhsm8gOy2SxrTzsNECxZtoQXnXs2II5YOmtzwolhGKTTKTzP4+477+NH/T/jgfsewjSNho+8L0ExDEmhMM5rX3cZH/yL91Jsqu+PEp6ORsrroRB1VP7yv36NH//oF7S25vZ7blF8pFKp0NHZwaWXvoxLXnkRCxfOp153GjX3R9Kl0SoIXnqux4P3PcjmpzajtGb7lqfZuX0bUhqT6zm09qWUhjQklp28+tu/un691rpxjx2xEzvKPK8UACB6e3tlb28vv/jmv91soF9UczxXCCyYUALpdJqTTjkV07LomtfFOeefQzKZbKTLHkmiASLpTBrP9bj5xlu55oc/4YnHNwVBK9ueVlikFFSrdY47fjX//IXP4Ptqkok7tTPtc0Wk6MrlCh9+/8cZGRnD2ocLEK3aQYs1i5dceB6v630NK1atoF6r4zhuELQ7gu8ruk62bTO4Z5B777qXYr5IpVJm0xOPM14sTgr0ETZKs03TRIjt6Uz2z77249/8BpB9fbB+PTPa55/KnM8EnIJes2aNfuMb36i6F3f/sWHb19qWYRG2bIpWzmqlygP33kOlXGZ0ZJTrfnMdoyOjJJPJhll/pIi2o8qlMo7jcOHLeviXf/173vfBq2hra6VQKIbVZpM/KqU0yWSCTU9u5rFHnyA1peJuJgg/hFuA6RS33nw7Azt3kUhYewl/lFrsui7lcplTTz2J9Z/5K/78o+9n8ZLFlMZLeJ7X2Js/kudmWiZCCh66/yFuvO4mCvkCuwZ28uB991IulSZH+XUg3AnLMqVh/byja8XZX/vxb37T09NjAmq2CT88/ywAIEjTEsFWoLzi0gv+V2j12rrruYIJSyASpmOOO57uBQtAwGkvOI3Vx63Gc739j/46DHxfYRiSbDbDnj1D/ORHP+faX/2OUqlENpsFJgKFUVPOs198Juv//pOTdgJmEkIIPvbnn+SpTU+TSE74/1FcxPM8KuUKS5Yu4g1vfC0vvWgdiUSSSjQ34Ahf5+ZVf3homPvvvp+RkVHq9Rqbn3yCsZERTMtq7OxAEOgzpTSR0rXtxF9/65c3/AtoZvo23zMx8+6WZwERFgsJIfTKsy/slabVn7RMC3BhIhgkhODxRzfy1JNPoDyfe+68hztuvh3f8w55ytAzEfnxhUKRXK6Fd7/vnXz+S/9Az7rzqFQq1Gq1RlVeFPG//da7+PWvfkdrWyueN3PcT9/3yWTS3HrzHTz++CZSYZuwKENS+YpCoYhpmrzxza/jn7/4GV752legNVQqlcManb4vgpRgCwQ8dP+DbLjuRkaGhxncvYsH772H/NgYVnOxUBDo8xOmZRqm+XC6taXnW7+8/l9Ay74+5GwWfnieWgARfX19cv369VpIqa+45Lyv4/t/VndcP8zvFTDR6aUll+PY408glU6TyWQ49YxTWbx08VG1BrTWjZRew5DcfONt/PD7P+KJxzdhhIHCKK1ZSsnf/cPfcPJpaynkC0cu1/8wMQyDj334kzz5xFPB8A3HxfWCa9be3sZ5F7yIV7/2MlYfs5Ja6Ocb0w0nOUwmIvwmuwZ289D9DzE2mqdWrbBl81ON7b3mVR+0J4U0DcPAsKyvLVu+5mPrv/KV0mwL9O2P57UCCIn6aap3vPLCPs+pX+15HlprHzFRQRjtAixfuZIFixYjpWTZimWsPXUtmUwGx3GOWuAtat6ZzWYolcrcdssdXPur3/PIw4/i+4E1onxFW3srn/6Hv+GktSeGFW/P3cfr+4qWliw/7v8ZX/z8v9PR0U4iYdPW3sbSZUtYe/KJvPDM01m2fCmO61Kv1hFHOMAHk839crnMxoc2svXprbiuy55dA2zfuhXf9zHNSYFJjdbKskxDCzmQTKY/+I2f/fZ/gVlv8k8lVgABorcX2d+P/6evetmb6/Xq17VSWU/5nkCYMNHkw/M8WtvaWLn6GNKZLOlMihPWnMDK1SuRhsR1gh77R0cRqMbWYa1e59677+fmG29j29YdFPIFhodHMAyDD/3FeznvgnOe0048WoNpSjY+/BjVWo22tlZyrTlaW1vJZtONZqVRZ96jIfgAtm3jeR5PP/U0jz/6OJVyhWKhwNanNzNeDNyPSau+1r4QwrAsE0Oa16QWLvzwv3/rhwOh4M+Kvf2DIVYATUSm3Xt7X3Faebz0HZR/quO6vhZCiDBeIoRojKVeuGgxi5YswbJtOjo7OPGkE1m4OBif5bpHTxH4vsKQklQ6mCdQq9YYL45TKBQZ2LmLPbsHedG5Z9HdPe/IDLw8RLQOWo4HnYpUo1DHDyf+Hi0fH4LSbYCBnQM89shjjI6MUqtW2bF9G0O7d0O489Ccxy+01pZlGiAGzVT649/62e++A3Nv1W8mVgBTiJRAX997s1vvfuTzyvWu8n0PX+tprYFkMsmSZcvpnDcP27aZv2A+x51wHPMWzAN9dBVB825AUHZsYFnBihZkyD33i1VzUdXRWOkbr9Ms+AKG9gzxxKNPsGf3Hmq1GkN7drNz+3Zc120oh+YIvxH6+tIw++1sy0e/3v/Lbb1gXANKzLFVv5lYAUxDGBxUAFe9+uW99Xr1i2i1uO56Kswpb1gDUW15tqWFxUuX0tbeQSKRYP7C+aw+djXd87sbjTGOZnLOxF71RH3784HompqWCRqGBofY9MQmdg/soVatMjoyzMCO7VQqlWnMfXyNlgnLFFrIrYl06hPf+MnvfgjMuoy+QyVWAPtG9Pb2yv7+fv+jV1yxYGRoy2d9z71CKYWnlCeCFmONnYKowUSutZWFixbT2t5OMpmkq7uLlatWsmDRgoY/GmX2zZRkndlGs5IzLRPP9dizew9bntrC4J5BKpUK+dFRdu3cQalUanT1mWrum4ZhaISyk/ZX2hYtXP+Fr/9guC909dYz+5J6DoX4DnwGmv2/d73uklfUyuV/BHWKG+wUeEyjCLRSZFpawpZjHaRSKdra2liyfAmLly6mpaUFjZ40SDJWBvun+TpFK3m5VGZg5wA7tu1gdGSUSrnC2OgIg7t3USqVGq7R1DReQ0jTNA2EMG5MpDN//R8/vvYWmNu+/r6I77oDQIN4Y7hL0NfXl9xx700fdOq1j0khuhzXg2DLMMgdECIoTQ0tglQqRde8bjq6ukinM2SyGbrnd7N46WK6uruCzDgVxBNiZTBBc/wiatUlhKBeqzMyNMLAzgEGdw9SHB+nUioxOjLM8NAQtWoVIxytPmlbD+0LhBnUIYjNyUzyM9/42XXf1koxVyP8B0J8px0EzSvEX/7JHy0ZKeQ/Wq87f2YInXY8n6CmYLJFEMUITNOkta2dzq4uWnI5Uuk0udYc3Qvms3DhAto72oKZhWj8pqk80XHmMlODlVFLNWlItNJUq1XGRscY3DPI0J5hioUClXKZYrHA6MgIxXw+rBWYUrEXCj4I0zYNlBajdiLxpa6TjvnSP/3T1wuA6OvrE1G85/nI3L6zjg6ip6fHiAJE73/zK08oF4ofcV33rYYQSdfzw3nwQtK0dai1bmx/pVJp2trbaetoJ5NtIZ1O05LL0TWvk+7582jvaCeZTjXSfZWv9moUMuuUwj6Gfjb6J4ZJQFFHpdJ4ibHRPKMjI4yN5imNj1MplymVShTGxigW89SrtcZ23uQMPhRoJRCmZZoorYtWIvGNtq7uL33hO/+zHZ6f5v50zLK7aOYQuAW9jVzw97zptSfWSoX3e279TySi1QtcgKCvlKCRUQg0rAIpJalUilxbG7nWNjKZTJBqnM3S3t5GR1cHHR0dZHNZEslEY3WLFMK+SmqfVZ5pmm9T404hBVLIsE+OxvcVjuNQq9YolUoUC+MUCwWKhSLlUplKpUK1UqFcCvrwlUsl6vU66GAWX6PdV9QRRKPCpp5G0BmZUdu2v2O3pv/9q//9q83QiO77PA/N/emIFcBh0teH3LgR0d8ftH3+yFtet3ysMPYO13WvkEIvV0oRzCbd2yqACWUghCCRTJLNttCSy5HJZkmlUqFCyJDL5Whtbw0y6VqyJFPJxpwCCOsGtAr23Q9hws3BMF3nnen2+KP35nkeruNQrzlUq1UqlQqVcqVJyKtUq1Vq1Rq1WpVqpUKlXKZaKVOv1/E9D5q6LUfvF8KIPlqBMM2wSEojNpuW9e3Wjq5vf/G/+ndCsOJf098/p/f0D4VYARwhAkXQKyKLoO8DH8jt2LLxjzzHudLzvR5TSjzfx1cquAmnFBxBU5txrTFMk2QySTqTIZ3JkkqnSaZSJJNJUqkU6UygGLLZLJlshnQ6TTLsemtZVlA7LyViykcc9TLcL4K9/g5oKJhGX/2w/bbrRl2SHZy6E6T41uoTX6Pv6w6OE3RODr7Wqddq1Go16rUajlMP5wioRqlws2KJVnoNWqBV0GdUCtMw8JTSpmlcb5jJ7yw947ifrF//lRIEgr9mTb+ejbX6zwaxAjjC9PUhb7ihR04kkQiuev0lL3RrtTd7rvNHAlYKNG5gxishUBohxRTLIKoE1EqhCarqLNsmmUyGiiBQBnYiETzC0WR2IkEiYU/pZGxjWlZjjFlUTixEJOZB09PoNZWv8HwPPxLusA2663q4roPrenjRz73ge8/18LzgOZ7nBr9venhu0MrLc92wZ6LXcGMiId+rV3+zT6+1RqBBmIYUGFKiNAghHzVt+6fJVPKar/T/3/3RH/T09Jg3bNjgxyv+/okVwNEjSiRqbC/9R19f+p4Hb3+JU6++3vP8iyUsEmg8X+ErhRB4aMR01kGjl2CT7y+kDEaPWRa2ZWHZCSzbwrIm5twZphn0wA8n3khDBgMypubhh8dXkRJQCt/z8X1vIoc/TGIKkpm8RgfexnPC30d/Hyiv0OIIlU3z6+5D2BsrfPgPw5BSGGGg0POVllI+bCcSv7Hs1M+/+qNf3iaEiDL29rrmMfsnVgDPAn19ffKGG26Qzamln/34Va1bN289r1auv9Lz3ZdqpY81ZLhtqBRKaSUEKlQIUcmymOpnTzQZVUF3XK0bJnwkbBORdokUExF3ETwxOlAgeVqhQkWjlNorrhBOvp0Qr8iKmBIX2Fcb7onZecFRRGNlD4RdCiFk0+QeP+jIvENK4x7DMK9PZ1I3fPl/fvmgEKIh4D09Pea6devU83k771CJFcCzi+jt7ZUQDCyJfnjNNdfYN/b/52nlauVC5fnrfN97gRDMk0KglQ4UQiCdfmiti7BCMVIM+4z+T60RgIkZhvs8yaZjNb4X00UF9n4dJlSD1gSN1yMBD38ohRBSCJAi2BWI3okKxnONS8PYbBjGA6Zp3JlMpO4666x1j7ztYx8rN79eT0+P2d3drePV/vCIFcBzx7TKAOAT77u8c3hg96le3Xmx8tVZWqu1vlLLrXAedzDHTkUCgwC/IWQ6WNZ1OKqw+fWmvPzen/7emkFP/a1o+B9ThC5QSlIE/RabdgYCQY/MAa01vtKAGBVS7jKkeFpI83HTMh81EuZjLV3dT33+a9/drafkPfSCMdjTI8KVXhML/REhVgAzA9HX1ydCN0ExpRDl/770pcRv7r5+Va1UPqlec05T2l+rlT7WV3qJFOSMJlGPym+jwSKNKUaBxCoChbFP4dET6cwy0CZTt/wavgjNNr4mmFIM+EpTloaRR+sR0zT2KKUGTDuxQ6O3Je30dmGJnbnOtt3//NXvj+xrElJvb68xODgo4lX+6BIrgBlIlGQ0ODgoujds0NONltZai6s/+p55w9t3LHGd2grf85e7nlohJYs9z10ghOxUvt8GZIUQSa2VKRCNffTpXIbm8WLBNCPpaa1rWuuKYVrjWqsiiIJl26Oe44wZtjViG8ZgpVIZaevsGqqVKyPt89rHlJ0YW3v26uKV7/h07Zn8jWhlB+ju7tbxXv2zS6wAZgeir69PbNy4UexPKTSjtZZ/+c7XZNLJ9ozvi5btm5/ICMtIZ9va075LwjKwZdPMME8pz/e0a9miVhwbrWrXryxddVzZMPT4aGFP5d++d21VSsPV+uDibH0gb+jpaTQn6O7u1mvWrNFXr1+vI6PloA4Yc0SJFcDsRWgNV189oRgAQuVwNE1m2QsiWrUjuru7NUAs3LOLWAHMXQQEkburr+4TABs3bpz0eUdKAyYEOGLNmjUa4Oqr1+sprn5MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMHOf/B0ZcMK0e9bGgAAAAAElFTkSuQmCC" alt="LitterBox" />
<span class="brand-text">
<span class="brand-title">LitterBox</span>
<span class="brand-tag">SandBox for Red Team</span>
</span>
</span>
<span class="brand-meta">{{ generated_on }}</span>
</div>
<!-- Hero -->
<section class="hero">
<div class="hero-top">
<div class="grow">
<p class="hero-eyebrow">
{% if is_process_analysis %}Process Analysis{% else %}File Analysis{% endif %} Report
</p>
<h1 class="hero-title">{{ subject_name }}</h1>
<p class="hero-subtitle">
{% if is_process_analysis %}
PID {{ pid }}
{% if dynamic_results and dynamic_results.moneta and dynamic_results.moneta.findings and dynamic_results.moneta.findings.process_info %}
· {{ dynamic_results.moneta.findings.process_info.arch or 'unknown arch' }}
{% endif %}
{% else %}
{{ file_info.detected_type.family|upper if file_info and file_info.detected_type else 'FILE' }}
{% if file_info and file_info.detected_type and file_info.detected_type.arch %} · {{ file_info.detected_type.arch }}{% endif %}
{% if file_info %} · {{ format_size(file_info.size) }}{% endif %}
{% endif %}
</p>
</div>
<div class="risk-card stack">
{% if is_driver_report %}
{% set bf = byovd_results.findings %}
{% set bd = bf.detailed_analysis or {} %}
{% set bs = bf.summary or {} %}
<span class="hero-eyebrow">BYOVD Potential</span>
<div class="risk-row">
<div>
<span class="risk-score">{{ byovd_score if byovd_score is not none else 0 }}</span><span class="risk-score-suffix">/100</span>
</div>
<span class="pill {{ byovd_class }}">{{ byovd_label or 'Unknown' }}</span>
</div>
<div class="risk-bar">
<div class="risk-bar-fill {{ byovd_class }}" style="width: {{ byovd_score if byovd_score is not none else 0 }}%;"></div>
</div>
{% else %}
<span class="hero-eyebrow">Detection Assessment</span>
<div class="risk-row">
<div>
<span class="risk-score">{{ risk_score|round|int if risk_score is not none else 0 }}</span><span class="risk-score-suffix">/100</span>
</div>
<span class="pill {{ risk_class }}">{{ risk_level or 'Unknown' }}</span>
</div>
<div class="risk-bar">
<div class="risk-bar-fill {{ risk_class }}" style="width: {{ (risk_score|round|int if risk_score is not none else 0) }}%;"></div>
</div>
{% endif %}
</div>
</div>
<!-- Status chip row -->
<div class="chip-row">
{% if is_driver_report %}
{% set bd = byovd_results.findings.detailed_analysis or {} %}
{% set bs = byovd_results.findings.summary or {} %}
{% set is_lol = bd.is_loldriver or bs.is_loldriver %}
{% set is_w10 = bd.is_win10_blocked or bs.is_win10_blocked %}
{% set is_w11 = bd.is_win11_blocked or bs.is_win11_blocked %}
{% set crit_count = (bd.critical_imports or '').split(',') | reject('equalto', '') | list | length %}
<span class="chip {% if is_lol %}has-detections{% endif %}">LOLDrivers <strong>{{ 'Listed' if is_lol else 'Not listed' }}</strong></span>
<span class="chip {% if is_w10 %}has-detections{% endif %}">Win10 <strong>{{ 'Blocked' if is_w10 else 'Allowed' }}</strong></span>
<span class="chip {% if is_w11 %}has-detections{% endif %}">Win11 <strong>{{ 'Blocked' if is_w11 else 'Allowed' }}</strong></span>
<span class="chip {% if crit_count > 0 %}has-detections{% endif %}">Critical Imports <strong>{{ crit_count }}</strong></span>
{% else %}
{% set detection_pairs = [
('YARA', detections.yara if detections else 0),
('PE-Sieve', detections.pesieve if detections else 0),
('Moneta', detections.moneta if detections else 0),
('Patriot', detections.patriot if detections else 0),
('HSB', detections.hsb if detections else 0)
] %}
{% for label, count in detection_pairs %}
<span class="chip {% if count and count > 0 %}has-detections{% endif %}">
{{ label }} <strong>{{ count or 0 }}</strong>
</span>
{% endfor %}
{% endif %}
</div>
</section>
<!-- HolyGrail (BYOVD) — driver samples only; promoted above File Info / Triggering Indicators. -->
{% if is_driver_report %}
{% set bf = byovd_results.findings %}
{% set bs = bf.summary or {} %}
{% set bd = bf.detailed_analysis or {} %}
{% set is_lol = bd.is_loldriver or bs.is_loldriver %}
{% set is_w10 = bd.is_win10_blocked or bs.is_win10_blocked %}
{% set is_w11 = bd.is_win11_blocked or bs.is_win11_blocked %}
{% set has_term = bd.has_terminate_process %}
{% set has_comms = bd.has_communication %}
{% set crit_imports = bd.critical_imports or '' %}
{% set crit_list = crit_imports.split(',') if crit_imports else [] %}
{% set has_danger = crit_list|length > 0 %}
{# Verdict: HolyGrail = exploitable + not on lol-list + not blocked #}
{% set is_holygrail = has_danger and not is_lol and not (is_w10 or is_w11) %}
<section class="card">
<h2 class="section-title">
HolyGrail BYOVD Analysis
{% if is_holygrail %}
<span class="pill critical">Holy Grail</span>
{% elif is_lol or is_w10 or is_w11 %}
<span class="pill medium">Known / Blocked</span>
{% elif has_danger %}
<span class="pill medium">Potentially Interesting</span>
{% else %}
<span class="pill clean">Low BYOVD Potential</span>
{% endif %}
</h2>
<p class="section-sub">Driver Imports · LoLDrivers list · Microsoft Driver Block Policy.</p>
<dl class="kv">
<dt>Driver</dt> <dd class="mono">{{ bd.original_filename or bd.name or '—' }}</dd>
<dt>Architecture</dt> <dd>{{ bd.architecture or '—' }}</dd>
<dt>File Version</dt> <dd class="mono">{{ bd.file_version or '—' }}</dd>
<dt>Compile Time</dt> <dd class="mono">{{ bd.compile_time or byovd_results.compile_time or '—' }}</dd>
<dt>SHA-256</dt> <dd class="mono">{{ bd.sha256 or '—' }}</dd>
<dt>LOLDrivers</dt>
<dd>
{% if is_lol %}
<span class="pill medium">Listed</span>
{% else %}
<span class="pill clean">Not listed</span>
{% endif %}
</dd>
<dt>Windows 10 Block Policy</dt>
<dd>
{% if is_w10 %}
<span class="pill medium">Blocked</span>
{% if bd.win10_block_reason %}<span class="muted"> · {{ bd.win10_block_reason }}</span>{% endif %}
{% else %}
<span class="pill clean">Not blocked</span>
{% endif %}
</dd>
<dt>Windows 11 Block Policy</dt>
<dd>
{% if is_w11 %}
<span class="pill medium">Blocked</span>
{% if bd.win11_block_reason %}<span class="muted"> · {{ bd.win11_block_reason }}</span>{% endif %}
{% else %}
<span class="pill clean">Not blocked</span>
{% endif %}
</dd>
<dt>Terminate-Process Primitive</dt>
<dd>
{% if has_term %}<span class="pill critical">Present</span>{% else %}<span class="pill clean">Absent</span>{% endif %}
</dd>
<dt>User-mode IOCTL Comms</dt>
<dd>
{% if has_comms %}<span class="pill medium">Present</span>{% else %}<span class="pill clean">Absent</span>{% endif %}
</dd>
</dl>
{% if crit_list %}
<h3 class="subsection-title">Critical Imports ({{ crit_list|length }})</h3>
<p class="section-sub">Privileged kernel primitives commonly exploited in BYOVD attacks.</p>
<div class="finding-list" style="display: flex; flex-wrap: wrap; gap: 6px;">
{% for imp in crit_list %}
{% set name = imp.strip() %}
<span class="pill {% if name in av_killer_imports %}medium{% else %}clean{% endif %}">{{ name }}</span>
{% endfor %}
</div>
{% endif %}
</section>
{% endif %}
<!-- Triggering Indicators -->
{% if risk_factors %}
<section class="card">
<h2 class="section-title">
Triggering Indicators
<span class="pill {{ risk_class }}">{{ risk_factors|length }} indicator{{ 's' if risk_factors|length != 1 else '' }}</span>
</h2>
<p class="section-sub">Indicators that contributed to the overall detection score.</p>
<ul class="factor-list">
{% for factor in risk_factors %}
<li>{{ factor }}</li>
{% endfor %}
</ul>
</section>
{% endif %}
<!-- File metadata -->
{% if file_info and not is_process_analysis %}
<section class="card">
<h2 class="section-title">File Information</h2>
<p class="section-sub">Identifiers, size, and entropy of the analysed sample.</p>
<dl class="kv">
<dt>Original name</dt>
<dd class="mono">{{ file_info.original_name or 'Unknown' }}</dd>
<dt>Type</dt>
<dd>
{{ file_info.detected_type.family|upper if file_info.detected_type else 'Unknown' }}
{% if file_info.detected_type and file_info.detected_type.type %} / {{ file_info.detected_type.type }}{% endif %}
{% if file_info.detected_type and file_info.detected_type.arch %} ({{ file_info.detected_type.arch }}){% endif %}
</dd>
<dt>Size</dt>
<dd>{{ format_size(file_info.size) }} ({{ file_info.size }} bytes)</dd>
<dt>MIME</dt>
<dd class="mono">{{ file_info.mime_type or 'application/octet-stream' }}</dd>
<dt>Uploaded</dt>
<dd>{{ file_info.upload_time or '—' }}</dd>
<dt>Entropy</dt>
<dd>
{{ file_info.entropy }}
{% if file_info.entropy_analysis and file_info.entropy_analysis.detection_risk %}
<span class="pill {% if file_info.entropy_analysis.detection_risk == 'High' %}high{% elif file_info.entropy_analysis.detection_risk == 'Medium' %}medium{% else %}low{% endif %}">{{ file_info.entropy_analysis.detection_risk }} entropy</span>
{% endif %}
</dd>
</dl>
<div class="card-soft mt-24">
<div class="hash-row"><span class="hash-label">MD5</span> <span class="hash-value">{{ file_info.md5 or '—' }}</span></div>
<div class="hash-row"><span class="hash-label">SHA256</span> <span class="hash-value">{{ file_info.sha256 or '—' }}</span></div>
</div>
{% if file_info.pe_info %}
{% set pe = file_info.pe_info %}
<h3 class="subsection-title">PE Header</h3>
<dl class="kv">
<dt>File type</dt> <dd>{{ pe.file_type or '—' }}</dd>
<dt>Machine</dt> <dd>{{ pe.machine_type or '—' }}</dd>
<dt>Subsystem</dt> <dd>{{ pe.subsystem or '—' }}</dd>
<dt>Compile time</dt> <dd class="mono">{{ pe.compile_time or '—' }}</dd>
<dt>Entry point</dt> <dd class="mono">{{ pe.entry_point or '—' }}</dd>
{% if pe.build_with %}<dt>Built with</dt><dd>{{ pe.build_with }}</dd>{% endif %}
{% if pe.checksum_info %}
<dt>Checksum</dt>
<dd class="mono">
{{ pe.checksum_info.stored_checksum or '—' }}
{% if not pe.checksum_info.is_valid %}
<span class="pill medium" style="margin-left:8px;">mismatch</span>
{% else %}
<span class="pill clean" style="margin-left:8px;">valid</span>
{% endif %}
</dd>
{% endif %}
</dl>
{% if pe.suspicious_imports %}
<h3 class="subsection-title">Sensitive Imports ({{ pe.suspicious_imports|length }})</h3>
<table class="report-table">
<thead><tr><th>DLL</th><th>Function</th><th>Category</th><th>Note</th></tr></thead>
<tbody>
{% for imp in pe.suspicious_imports[:30] %}
<tr>
<td class="mono">{{ imp.dll }}</td>
<td class="mono">{{ imp.function }}</td>
<td>{{ imp.category }}</td>
<td class="muted">{{ imp.note|truncate(120, true) }}</td>
</tr>
{% endfor %}
{% if pe.suspicious_imports|length > 30 %}
<tr><td colspan="4" class="center">… and {{ pe.suspicious_imports|length - 30 }} more</td></tr>
{% endif %}
</tbody>
</table>
{% endif %}
{% endif %}
</section>
{% endif %}
<!-- Process metadata -->
{% if is_process_analysis and dynamic_results and dynamic_results.moneta and dynamic_results.moneta.findings.process_info %}
{% set p = dynamic_results.moneta.findings.process_info %}
<section class="card">
<h2 class="section-title">Process Information</h2>
<p class="section-sub">Live process attributes captured at scan time.</p>
<dl class="kv">
<dt>Process</dt> <dd class="mono">{{ p.name }}</dd>
<dt>PID</dt> <dd class="mono">{{ p.pid }}</dd>
<dt>Architecture</dt> <dd>{{ p.arch }}</dd>
<dt>Path</dt> <dd class="mono">{{ p.path }}</dd>
</dl>
</section>
{% endif %}
<!-- Static analysis -->
{% if static_results %}
<section class="card">
<h2 class="section-title">Static Analysis</h2>
<p class="section-sub">Pre-execution scan results.</p>
{# YARA #}
{% set yara = static_results.yara %}
<div class="scanner">
<div class="scanner-name">YARA</div>
<div class="scanner-body">
<div class="scanner-headline">
{% if yara and yara.matches %}
<span class="threat-state">
<svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 1l7 14H1L8 1zm0 5v4m0 2v.5"/></svg>
{{ yara.matches|length }} rule match{{ 'es' if yara.matches|length != 1 else '' }}
</span>
{% else %}
<span class="clean-state">
<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 8.5l3 3 7-7"/></svg>
No rules matched
</span>
{% endif %}
{% if yara and yara.scan_info and yara.scan_info.rules_file %}
<span class="scanner-meta nowrap right">{{ yara.scan_info.rules_file }}</span>
{% endif %}
</div>
{% if yara and yara.matches %}
<ul class="finding-list">
{% for m in yara.matches[:10] %}
<li>
<span class="finding-rule">{{ m.rule }}</span>
{% if m.metadata and m.metadata.severity is defined %}
<span class="finding-meta">severity {{ m.metadata.severity }}</span>
{% endif %}
{% if m.strings %}
<span class="finding-meta">{{ m.strings|length }} string match{{ 'es' if m.strings|length != 1 else '' }}</span>
{% endif %}
</li>
{% endfor %}
{% if yara.matches|length > 10 %}
<li class="muted">… and {{ yara.matches|length - 10 }} more</li>
{% endif %}
</ul>
{% endif %}
</div>
</div>
{# CheckPLZ #}
{% set cp = static_results.checkplz %}
<div class="scanner">
<div class="scanner-name">CheckPLZ</div>
<div class="scanner-body">
<div class="scanner-headline">
{% if cp and cp.findings and cp.findings.initial_threat %}
<span class="threat-state">
<svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 1l7 14H1L8 1zm0 5v4m0 2v.5"/></svg>
Signature triggered
</span>
<span class="pill critical">{{ cp.findings.initial_threat }}</span>
{% else %}
<span class="clean-state">
<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 8.5l3 3 7-7"/></svg>
No signatures triggered
</span>
{% endif %}
</div>
{% if cp and cp.findings and cp.findings.scan_results and cp.findings.scan_results.hex_dump %}
<pre class="code">{{ cp.findings.scan_results.hex_dump }}</pre>
{% endif %}
</div>
</div>
{# Stringnalyzer #}
{% set st = static_results.stringnalyzer %}
<div class="scanner">
<div class="scanner-name">Strings</div>
<div class="scanner-body">
<div class="scanner-headline">
<span class="scanner-meta">
{{ st.findings.total_strings if st and st.findings else 0 }} strings analysed
</span>
{% if st and st.findings %}
{% set sus_count = (st.findings.found_suspicious_strings or [])|length + (st.findings.found_suspicious_functions or [])|length %}
{% if sus_count > 0 %}
<span class="pill medium">{{ sus_count }} notable</span>
{% endif %}
{% endif %}
</div>
{% if st and st.findings %}
{% set f = st.findings %}
{% set buckets = [
('Notable strings', f.found_suspicious_strings),
('Notable functions', f.found_suspicious_functions),
('URLs', f.found_url),
('IP addresses', f.found_ip),
('Domains', f.found_domains),
('Email addresses', f.found_emails),
('Network indicators', f.found_network_indicators),
('Registry keys', f.found_registry_keys),
('File operations', f.found_file_operations),
('File paths', f.found_path),
('Files referenced', f.found_file),
('DLLs', f.found_dll),
('Functions', f.found_functions),
('Commands', f.found_commands),
('Error messages', f.found_error_messages),
('Interesting strings', f.found_interesting_strings)
] %}
{% set ns = namespace(any=false) %}
{% for label, items in buckets %}{% if items %}{% set ns.any = true %}{% endif %}{% endfor %}
{% if ns.any %}
<table class="report-table mt-12">
<thead><tr><th>Category</th><th>Count</th></tr></thead>
<tbody>
{% for label, items in buckets %}
{% if items %}
<tr>
<td>{{ label }}</td>
<td class="mono">{{ items|length }}</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{# Expand each non-empty bucket into a code block so URLs / IPs /
paths are fully visible in the downloaded report (capped at
100 items per category to keep the file size bounded). #}
{% for label, items in buckets %}
{% if items %}
<h4 class="subsection-title mt-12">{{ label }} ({{ items|length }})</h4>
<pre class="code">{% for item in items[:100] %}{{ item }}
{% endfor %}{% if items|length > 100 %}… and {{ items|length - 100 }} more{% endif %}</pre>
{% endif %}
{% endfor %}
{% else %}
<div class="clean-state mt-12">
<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 8.5l3 3 7-7"/></svg>
No notable strings observed
</div>
{% endif %}
{% endif %}
</div>
</div>
</section>
{% endif %}
<!-- Dynamic analysis -->
{% if dynamic_results %}
<section class="card">
<h2 class="section-title">Dynamic Analysis</h2>
<p class="section-sub">Runtime behaviour observed during execution.</p>
{# YARA dynamic #}
{% set yara = dynamic_results.yara %}
<div class="scanner">
<div class="scanner-name">YARA</div>
<div class="scanner-body">
<div class="scanner-headline">
{% if yara and yara.matches %}
<span class="threat-state">
<svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 1l7 14H1L8 1zm0 5v4m0 2v.5"/></svg>
{{ yara.matches|length }} rule match{{ 'es' if yara.matches|length != 1 else '' }}
</span>
{% else %}
<span class="clean-state">
<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 8.5l3 3 7-7"/></svg>
No rules matched
</span>
{% endif %}
</div>
{% if yara and yara.matches %}
<ul class="finding-list">
{% for m in yara.matches[:10] %}
<li><span class="finding-rule">{{ m.rule }}</span>
{% if m.metadata and m.metadata.severity is defined %}<span class="finding-meta">severity {{ m.metadata.severity }}</span>{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
</div>
{# PE-Sieve #}
{% set ps = dynamic_results.pe_sieve %}
<div class="scanner">
<div class="scanner-name">PE-Sieve</div>
<div class="scanner-body">
{% set sus = (ps.findings.total_suspicious if ps and ps.findings else 0)|int %}
<div class="scanner-headline">
{% if sus > 0 %}
<span class="threat-state">
<svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 1l7 14H1L8 1zm0 5v4m0 2v.5"/></svg>
{{ sus }} memory modification{{ 's' if sus != 1 else '' }}
</span>
{% else %}
<span class="clean-state">
<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 8.5l3 3 7-7"/></svg>
No memory anomalies
</span>
{% endif %}
<span class="scanner-meta nowrap right">{{ ps.findings.total_scanned if ps and ps.findings else 0 }} modules scanned</span>
</div>
{% if ps and ps.findings and sus > 0 %}
{% set pe_keys = [('Hooked','hooked'),('Replaced','replaced'),('Hdrs Modified','hdrs_modified'),('IAT Hooks','iat_hooks'),('Implanted','implanted'),('Implanted PE','implanted_pe'),('Implanted shc','implanted_shc')] %}
<table class="report-table mt-12">
<thead><tr><th>Indicator</th><th>Count</th></tr></thead>
<tbody>
{% for label, key in pe_keys %}
{% if ps.findings[key] and ps.findings[key]|int > 0 %}
<tr><td>{{ label }}</td><td class="mono">{{ ps.findings[key] }}</td></tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% endif %}
</div>
</div>
{# Moneta #}
{% set mo = dynamic_results.moneta %}
{% set mo_keys = [('Private RWX','total_private_rwx'),('Private RX','total_private_rx'),('Modified code','total_modified_code'),('Modified PE header','total_modified_pe_header'),('Heap exec','total_heap_executable'),('Inconsistent +X','total_inconsistent_x'),('Threads in non-image','total_threads_non_image'),('Unsigned modules','total_unsigned_modules'),('Missing PEB','total_missing_peb'),('Mismatching PEB','total_mismatching_peb')] %}
{% set mo_ns = namespace(total=0) %}
{% if mo and mo.findings %}
{% for label, key in mo_keys %}
{% if mo.findings[key] is defined and mo.findings[key]|int > 0 %}
{% set mo_ns.total = mo_ns.total + mo.findings[key]|int %}
{% endif %}
{% endfor %}
{% endif %}
<div class="scanner">
<div class="scanner-name">Moneta</div>
<div class="scanner-body">
<div class="scanner-headline">
{% if mo_ns.total > 0 %}
<span class="threat-state">
<svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 1l7 14H1L8 1zm0 5v4m0 2v.5"/></svg>
{{ mo_ns.total }} memory anomal{{ 'ies' if mo_ns.total != 1 else 'y' }}
</span>
{% else %}
<span class="clean-state">
<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 8.5l3 3 7-7"/></svg>
No memory anomalies
</span>
{% endif %}
{% if mo and mo.findings and mo.findings.total_regions %}
<span class="scanner-meta nowrap right">{{ mo.findings.total_regions }} regions</span>
{% endif %}
</div>
{% if mo and mo.findings and mo_ns.total > 0 %}
<table class="report-table mt-12">
<thead><tr><th>Indicator</th><th>Count</th></tr></thead>
<tbody>
{% for label, key in mo_keys %}
{% if mo.findings[key] is defined and mo.findings[key]|int > 0 %}
<tr><td>{{ label }}</td><td class="mono">{{ mo.findings[key] }}</td></tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% endif %}
</div>
</div>
{# Patriot #}
{% set pa = dynamic_results.patriot %}
<div class="scanner">
<div class="scanner-name">Patriot</div>
<div class="scanner-body">
{% set pa_findings = (pa.findings.findings if pa and pa.findings else []) or [] %}
<div class="scanner-headline">
{% if pa_findings %}
<span class="threat-state">
<svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 1l7 14H1L8 1zm0 5v4m0 2v.5"/></svg>
{{ pa_findings|length }} indicator{{ 's' if pa_findings|length != 1 else '' }}
</span>
{% else %}
<span class="clean-state">
<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 8.5l3 3 7-7"/></svg>
No indicators observed
</span>
{% endif %}
</div>
{% if pa_findings %}
<table class="report-table mt-12">
<thead><tr><th>Type</th><th>Level</th><th>Details</th></tr></thead>
<tbody>
{% for f in pa_findings[:15] %}
<tr>
<td>{{ f.type or '—' }}</td>
<td>
{% set lvl = (f.level or '')|lower %}
<span class="pill {% if lvl in ['critical','high','suspect'] %}critical{% elif lvl == 'medium' %}medium{% else %}muted{% endif %}">{{ f.level or '—' }}</span>
</td>
<td class="muted">{{ (f.details or '')|truncate(120, true) }}</td>
</tr>
{% endfor %}
{% if pa_findings|length > 15 %}
<tr><td colspan="3" class="center">… and {{ pa_findings|length - 15 }} more</td></tr>
{% endif %}
</tbody>
</table>
{% endif %}
</div>
</div>
{# HSB #}
{% set hb = dynamic_results.hsb %}
<div class="scanner">
<div class="scanner-name">HSB</div>
<div class="scanner-body">
{% set hb_total = (hb.findings.summary.total_findings if hb and hb.findings and hb.findings.summary else 0)|int %}
<div class="scanner-headline">
{% if hb_total > 0 %}
<span class="threat-state">
<svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 1l7 14H1L8 1zm0 5v4m0 2v.5"/></svg>
{{ hb_total }} sleeping-beacon finding{{ 's' if hb_total != 1 else '' }}
</span>
{% else %}
<span class="clean-state">
<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 8.5l3 3 7-7"/></svg>
No sleeping-beacon behaviour
</span>
{% endif %}
{% if hb and hb.findings and hb.findings.summary and hb.findings.summary.scanned_threads %}
<span class="scanner-meta nowrap right">
{{ hb.findings.summary.scanned_processes or 0 }} procs · {{ hb.findings.summary.scanned_threads }} threads
</span>
{% endif %}
</div>
</div>
</div>
{# RedEdr #}
{% set re_ = dynamic_results.rededr %}
{% set re_findings = re_.findings if re_ and re_.findings else None %}
{% set re_summary = re_findings.summary if re_findings else None %}
{% set re_proc = re_findings.process_info if re_findings else None %}
{% set re_children = re_findings.child_processes if re_findings else [] %}
{% set re_defender = re_findings.defender_events if re_findings else [] %}
{% set re_net = re_findings.network_activity if re_findings else [] %}
{% set re_files = re_findings.file_operations if re_findings else [] %}
{% set re_audit = re_findings.audit_api_calls if re_findings else [] %}
{% set threat_signals = ['threatfound','threatdetect','detectionadded','malwarefound','protectionalert','detected'] %}
{% set ns = namespace(threat_hit=false) %}
{% for d in re_defender %}{% if d.verdict or d.event %}{% set evt = (d.event or '')|lower %}{% for s in threat_signals %}{% if s in evt %}{% set ns.threat_hit = true %}{% endif %}{% endfor %}{% if d.verdict %}{% set ns.threat_hit = true %}{% endif %}{% endif %}{% endfor %}
<div class="scanner">
<div class="scanner-name">RedEdr</div>
<div class="scanner-body">
<div class="scanner-headline">
{% if ns.threat_hit %}
<span class="threat-state">
<svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 1l7 14H1L8 1zm0 5v4m0 2v.5"/></svg>
Defender flagged the binary at runtime
</span>
{% endif %}
<span class="scanner-meta">
{% if re_summary %}
{{ re_summary.total_events or 0 }} events ·
{{ re_summary.total_dlls or 0 }} DLL loads ·
{{ re_summary.total_image_loads or 0 }} image loads ·
{{ re_summary.total_network_activity or 0 }} net ·
{{ re_summary.total_file_operations or 0 }} files ·
{{ re_summary.total_audit_api_calls or 0 }} audit-API
{% else %}
No telemetry recorded
{% endif %}
</span>
</div>
{% if re_defender %}
<h4 class="subsection-title mt-12">Defender Events ({{ re_defender|length }})</h4>
<table class="report-table">
<thead><tr><th>Provider</th><th>Event</th><th>Scan Target</th><th>Verdict</th></tr></thead>
<tbody>
{% for d in re_defender[:15] %}
{% set evt = (d.event or '')|lower %}
{% set is_threat = (d.verdict and (d.verdict|string)|trim) %}
{% if not is_threat %}{% for s in threat_signals %}{% if s in evt %}{% set is_threat = true %}{% endif %}{% endfor %}{% endif %}
<tr>
<td class="mono">{{ d.provider or '—' }}</td>
<td class="mono">{{ d.event or '—' }}</td>
<td class="mono muted">{{ (d.scan_target or '—')|truncate(80, true) }}</td>
<td>{% if d.verdict %}<span class="pill {% if is_threat %}critical{% else %}medium{% endif %}">{{ d.verdict }}</span>{% else %}<span class="muted"></span>{% endif %}</td>
</tr>
{% endfor %}
{% if re_defender|length > 15 %}
<tr><td colspan="4" class="center">… and {{ re_defender|length - 15 }} more</td></tr>
{% endif %}
</tbody>
</table>
{% endif %}
{% if re_proc and (re_proc.pid or re_children) %}
<h4 class="subsection-title mt-12">Process Tree</h4>
<pre class="code">{{ (re_proc.image_path or re_proc.commandline or 'Target')|trim }} (PID {{ re_proc.pid or '?' }})
{% for c in re_children %} └─ {{ c.image_name or 'Unknown' }} (PID {{ c.pid or '?' }}{% if c.parent_pid %}, parent {{ c.parent_pid }}{% endif %})
{% endfor %}</pre>
{% endif %}
{% if re_net %}
<h4 class="subsection-title mt-12">Network Activity ({{ re_net|length }})</h4>
<table class="report-table">
<thead><tr><th>Proto</th><th>Local</th><th>Remote</th><th>Op</th><th>Size</th></tr></thead>
<tbody>
{% for n in re_net[:25] %}
<tr>
<td class="mono">{{ n.proto or '?' }}</td>
<td class="mono muted">{{ n.local_addr or '—' }}{% if n.local_port %}:{{ n.local_port }}{% endif %}</td>
<td class="mono">{{ n.remote_addr or '—' }}{% if n.remote_port %}:{{ n.remote_port }}{% endif %}</td>
<td class="mono muted">{{ n.operation or '—' }}</td>
<td class="mono muted">{{ n.size if n.size is not none else '—' }}</td>
</tr>
{% endfor %}
{% if re_net|length > 25 %}
<tr><td colspan="5" class="center">… and {{ re_net|length - 25 }} more</td></tr>
{% endif %}
</tbody>
</table>
{% endif %}
{% if re_files %}
<h4 class="subsection-title mt-12">File Operations ({{ re_files|length }})</h4>
<table class="report-table">
<thead><tr><th>Path</th><th>Operation</th><th>Thread</th></tr></thead>
<tbody>
{% for f in re_files[:25] %}
<tr>
<td class="mono" style="word-break: break-all;">{{ (f.path or '—')|truncate(120, true) }}</td>
<td class="mono muted">{{ f.operation or '—' }}</td>
<td class="mono muted">{{ f.thread_id if f.thread_id is not none else '—' }}</td>
</tr>
{% endfor %}
{% if re_files|length > 25 %}
<tr><td colspan="3" class="center">… and {{ re_files|length - 25 }} more</td></tr>
{% endif %}
</tbody>
</table>
{% endif %}
{% if re_audit %}
<h4 class="subsection-title mt-12">Audit-API Calls ({{ re_audit|length }})</h4>
<table class="report-table">
<thead><tr><th>API</th><th>Target PID</th><th>Target TID</th><th>Caller PID/TID</th></tr></thead>
<tbody>
{% for a in re_audit[:25] %}
<tr>
<td class="mono">{{ a.api or '—' }}</td>
<td class="mono">{{ a.target_pid if a.target_pid is not none else '—' }}</td>
<td class="mono muted">{{ a.target_tid if a.target_tid is not none else '—' }}</td>
<td class="mono muted">{{ a.caller_pid if a.caller_pid is not none else '—' }} / {{ a.caller_tid if a.caller_tid is not none else '—' }}</td>
</tr>
{% endfor %}
{% if re_audit|length > 25 %}
<tr><td colspan="4" class="center">… and {{ re_audit|length - 25 }} more</td></tr>
{% endif %}
</tbody>
</table>
{% endif %}
</div>
</div>
{# Process output #}
{% set po = dynamic_results.process_output %}
{% if po and (po.stdout or po.stderr) %}
<div class="scanner">
<div class="scanner-name">Process I/O</div>
<div class="scanner-body">
<div class="scanner-headline">
<span class="scanner-meta">Captured stdout/stderr from the executed payload.</span>
{% if po.output_truncated %}<span class="pill medium right">truncated</span>{% endif %}
</div>
{% if po.stdout %}
<div class="stream-block">
<div class="stream-label"><span class="dot"></span> stdout</div>
<pre class="code">{{ po.stdout|truncate(4000, true) }}</pre>
</div>
{% endif %}
{% if po.stderr %}
<div class="stream-block stderr">
<div class="stream-label"><span class="dot"></span> stderr</div>
<pre class="code">{{ po.stderr|truncate(4000, true) }}</pre>
</div>
{% endif %}
</div>
</div>
{% endif %}
</section>
{% endif %}
<footer class="report-footer">
<span>Report generated {{ generated_on }}</span>
<span class="branding">LitterBox · automated payload-analysis workbench</span>
</footer>
</main>
</body>
</html>